@saas-ui/forms 3.0.0-next.42 → 3.0.0-next.44

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,38 +0,0 @@
1
- import React from 'react';
2
- import { FieldProps, GetFieldResolver, WithFields, FormProps, GetBaseField, CreateFormProps } from '@saas-ui/forms';
3
- import { ObjectSchema, AnyObjectSchema as AnyObjectSchema$1, InferType } from 'yup';
4
- import { yupResolver } from '@hookform/resolvers/yup';
5
- export { yupResolver } from '@hookform/resolvers/yup';
6
-
7
- type AnyObjectSchema = ObjectSchema<any, any, any, ''> | ObjectSchema<any, any, any, 'd'> | ObjectSchema<any, any, any, 's'>;
8
-
9
- type Options = {
10
- min?: number;
11
- max?: number;
12
- };
13
- /**
14
- * A helper function to render forms automatically based on a Yup schema
15
- *
16
- * @param schema The Yup schema
17
- * @returns {FieldProps[]}
18
- */
19
- declare const getFieldsFromSchema: (schema: AnyObjectSchema) => FieldProps[];
20
- declare const getNestedSchema: (schema: AnyObjectSchema, path: string) => AnyObjectSchema;
21
- declare const yupFieldResolver: GetFieldResolver;
22
-
23
- type ResolverArgs = Parameters<typeof yupResolver>;
24
- interface CreateYupFormProps<FieldDefs, TGetBaseField extends GetBaseField = GetBaseField> extends CreateFormProps<FieldDefs, TGetBaseField> {
25
- schemaOptions?: ResolverArgs[1];
26
- resolverOptions?: ResolverArgs[2];
27
- }
28
- type YupFormType<FieldDefs, ExtraProps = object, ExtraFieldProps extends object = object, ExtraOverrides = object, Type extends 'yup' = 'yup'> = (<TSchema extends AnyObjectSchema$1 = AnyObjectSchema$1, TFieldValues extends Required<InferType<TSchema>> = Required<InferType<TSchema>>, TContext extends object = object>(props: WithFields<FormProps<TSchema, TFieldValues, TContext, ExtraFieldProps>, FieldDefs, ExtraOverrides> & {
29
- ref?: React.ForwardedRef<HTMLFormElement>;
30
- } & ExtraProps) => React.ReactElement) & {
31
- displayName?: string;
32
- id?: 'YupForm';
33
- };
34
- declare const createYupForm: <FieldDefs, TGetBaseField extends GetBaseField = GetBaseField>(options?: CreateYupFormProps<FieldDefs, TGetBaseField>) => YupFormType<FieldDefs, object, TGetBaseField extends GetBaseField<infer ExtraFieldProps extends object> ? ExtraFieldProps : object>;
35
-
36
- declare const Form: YupFormType<unknown, object, object, object, "yup">;
37
-
38
- export { type AnyObjectSchema, Form, type Options, type YupFormType, createYupForm, getFieldsFromSchema, getNestedSchema, yupFieldResolver };
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import { FieldProps, GetFieldResolver, WithFields, FormProps, GetBaseField, CreateFormProps } from '@saas-ui/forms';
3
- import { ObjectSchema, AnyObjectSchema as AnyObjectSchema$1, InferType } from 'yup';
4
- import { yupResolver } from '@hookform/resolvers/yup';
5
- export { yupResolver } from '@hookform/resolvers/yup';
6
-
7
- type AnyObjectSchema = ObjectSchema<any, any, any, ''> | ObjectSchema<any, any, any, 'd'> | ObjectSchema<any, any, any, 's'>;
8
-
9
- type Options = {
10
- min?: number;
11
- max?: number;
12
- };
13
- /**
14
- * A helper function to render forms automatically based on a Yup schema
15
- *
16
- * @param schema The Yup schema
17
- * @returns {FieldProps[]}
18
- */
19
- declare const getFieldsFromSchema: (schema: AnyObjectSchema) => FieldProps[];
20
- declare const getNestedSchema: (schema: AnyObjectSchema, path: string) => AnyObjectSchema;
21
- declare const yupFieldResolver: GetFieldResolver;
22
-
23
- type ResolverArgs = Parameters<typeof yupResolver>;
24
- interface CreateYupFormProps<FieldDefs, TGetBaseField extends GetBaseField = GetBaseField> extends CreateFormProps<FieldDefs, TGetBaseField> {
25
- schemaOptions?: ResolverArgs[1];
26
- resolverOptions?: ResolverArgs[2];
27
- }
28
- type YupFormType<FieldDefs, ExtraProps = object, ExtraFieldProps extends object = object, ExtraOverrides = object, Type extends 'yup' = 'yup'> = (<TSchema extends AnyObjectSchema$1 = AnyObjectSchema$1, TFieldValues extends Required<InferType<TSchema>> = Required<InferType<TSchema>>, TContext extends object = object>(props: WithFields<FormProps<TSchema, TFieldValues, TContext, ExtraFieldProps>, FieldDefs, ExtraOverrides> & {
29
- ref?: React.ForwardedRef<HTMLFormElement>;
30
- } & ExtraProps) => React.ReactElement) & {
31
- displayName?: string;
32
- id?: 'YupForm';
33
- };
34
- declare const createYupForm: <FieldDefs, TGetBaseField extends GetBaseField = GetBaseField>(options?: CreateYupFormProps<FieldDefs, TGetBaseField>) => YupFormType<FieldDefs, object, TGetBaseField extends GetBaseField<infer ExtraFieldProps extends object> ? ExtraFieldProps : object>;
35
-
36
- declare const Form: YupFormType<unknown, object, object, object, "yup">;
37
-
38
- export { type AnyObjectSchema, Form, type Options, type YupFormType, createYupForm, getFieldsFromSchema, getNestedSchema, yupFieldResolver };
package/dist/yup/index.js DELETED
@@ -1,127 +0,0 @@
1
- 'use client'
2
- "use strict";
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
-
21
- // yup/src/index.ts
22
- var index_exports = {};
23
- __export(index_exports, {
24
- Form: () => Form,
25
- createYupForm: () => createYupForm,
26
- getFieldsFromSchema: () => getFieldsFromSchema,
27
- getNestedSchema: () => getNestedSchema,
28
- yupFieldResolver: () => yupFieldResolver,
29
- yupResolver: () => import_yup2.yupResolver
30
- });
31
- module.exports = __toCommonJS(index_exports);
32
-
33
- // yup/src/create-yup-form.ts
34
- var import_forms = require("@saas-ui/forms");
35
-
36
- // yup/src/yup-resolver.ts
37
- var import_yup = require("yup");
38
- var import_yup2 = require("@hookform/resolvers/yup");
39
- var getType = (field) => {
40
- if (field.spec.meta?.type) {
41
- return field.spec.meta.type;
42
- }
43
- switch (field.type) {
44
- case "array":
45
- return "array";
46
- case "object":
47
- return "object";
48
- case "number":
49
- return "number";
50
- case "date":
51
- return "date";
52
- case "string":
53
- default:
54
- return "text";
55
- }
56
- };
57
- var getArrayOption = (field, name) => {
58
- for (const test of field.tests) {
59
- if (test.OPTIONS?.params[name]) return test.OPTIONS.params[name];
60
- }
61
- };
62
- var getFieldsFromSchema = (schema) => {
63
- const fields = [];
64
- let schemaFields = {};
65
- if (schema.type === "array") {
66
- schemaFields = schema.innerType.fields;
67
- } else {
68
- schemaFields = schema.fields;
69
- }
70
- for (const name in schemaFields) {
71
- const field = schemaFields[name];
72
- const options = {};
73
- if (field.type === "array") {
74
- options.min = getArrayOption(field, "min");
75
- options.max = getArrayOption(field, "max");
76
- }
77
- fields.push({
78
- name,
79
- label: field.spec.label || name,
80
- type: getType(field),
81
- ...options
82
- });
83
- }
84
- return fields;
85
- };
86
- var getNestedSchema = (schema, path) => {
87
- return (0, import_yup.reach)(schema, path);
88
- };
89
- var yupFieldResolver = (schema) => {
90
- return {
91
- getFields() {
92
- return getFieldsFromSchema(schema);
93
- },
94
- getNestedFields(name) {
95
- return getFieldsFromSchema(getNestedSchema(schema, name));
96
- }
97
- };
98
- };
99
-
100
- // yup/src/create-yup-form.ts
101
- var createYupForm = (options) => {
102
- const YupForm = (0, import_forms.createForm)({
103
- resolver: (schema) => (0, import_yup2.yupResolver)(
104
- schema,
105
- options?.schemaOptions,
106
- options?.resolverOptions
107
- ),
108
- fieldResolver: yupFieldResolver,
109
- ...options
110
- });
111
- YupForm.displayName = "YupForm";
112
- YupForm.id = "YupForm";
113
- return YupForm;
114
- };
115
-
116
- // yup/src/index.ts
117
- var Form = createYupForm();
118
- // Annotate the CommonJS export names for ESM import in node:
119
- 0 && (module.exports = {
120
- Form,
121
- createYupForm,
122
- getFieldsFromSchema,
123
- getNestedSchema,
124
- yupFieldResolver,
125
- yupResolver
126
- });
127
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../yup/src/index.ts","../../yup/src/create-yup-form.ts","../../yup/src/yup-resolver.ts"],"sourcesContent":["import { createYupForm } from './create-yup-form'\n\nexport {\n type Options,\n getFieldsFromSchema,\n getNestedSchema,\n yupFieldResolver,\n yupResolver,\n} from './yup-resolver'\nexport { createYupForm, type YupFormType } from './create-yup-form'\n// export { createYupStepForm } from './create-yup-step-form'\nexport type { AnyObjectSchema } from './types'\n\n// import { createYupStepForm } from './create-yup-step-form'\n\nexport const Form = createYupForm()\n\n// export const StepForm = createYupStepForm()\n","import React from 'react'\n\nimport {\n CreateFormProps,\n FormProps,\n GetBaseField,\n WithFields,\n createForm,\n} from '@saas-ui/forms'\nimport { AnyObjectSchema, InferType } from 'yup'\n\nimport { yupFieldResolver, yupResolver } from './yup-resolver'\n\ntype ResolverArgs = Parameters<typeof yupResolver>\n\nexport interface CreateYupFormProps<\n FieldDefs,\n TGetBaseField extends GetBaseField = GetBaseField,\n> extends CreateFormProps<FieldDefs, TGetBaseField> {\n schemaOptions?: ResolverArgs[1]\n resolverOptions?: ResolverArgs[2]\n}\n\nexport type YupFormType<\n FieldDefs,\n ExtraProps = object,\n ExtraFieldProps extends object = object,\n ExtraOverrides = object,\n Type extends 'yup' = 'yup',\n> = (<\n TSchema extends AnyObjectSchema = AnyObjectSchema,\n TFieldValues extends Required<InferType<TSchema>> = Required<\n InferType<TSchema>\n >,\n TContext extends object = object,\n>(\n props: WithFields<\n FormProps<TSchema, TFieldValues, TContext, ExtraFieldProps>,\n FieldDefs,\n ExtraOverrides\n > & {\n ref?: React.ForwardedRef<HTMLFormElement>\n } & ExtraProps,\n) => React.ReactElement) & {\n displayName?: string\n id?: 'YupForm'\n}\n\nexport const createYupForm = <\n FieldDefs,\n TGetBaseField extends GetBaseField = GetBaseField,\n>(\n options?: CreateYupFormProps<FieldDefs, TGetBaseField>,\n) => {\n type ExtraFieldProps =\n TGetBaseField extends GetBaseField<infer ExtraFieldProps>\n ? ExtraFieldProps\n : object\n\n const YupForm = createForm({\n resolver: (schema: any) =>\n yupResolver(\n schema,\n options?.schemaOptions,\n options?.resolverOptions,\n ) as any,\n fieldResolver: yupFieldResolver,\n ...options,\n })\n\n YupForm.displayName = 'YupForm'\n YupForm.id = 'YupForm'\n\n return YupForm as YupFormType<FieldDefs, object, ExtraFieldProps>\n}\n","import { reach } from 'yup'\nimport { yupResolver } from '@hookform/resolvers/yup'\n\nimport { FieldProps, GetFieldResolver } from '@saas-ui/forms'\nimport { AnyObjectSchema } from './types'\n\nexport { yupResolver }\n\nexport type Options = {\n min?: number\n max?: number\n}\n\n// @TODO get proper typings for the schema fields\nconst getType = (field: any) => {\n if (field.spec.meta?.type) {\n return field.spec.meta.type\n }\n\n switch (field.type) {\n case 'array':\n return 'array'\n case 'object':\n return 'object'\n case 'number':\n return 'number'\n case 'date':\n return 'date'\n case 'string':\n default:\n return 'text'\n }\n}\n\nconst getArrayOption = (field: any, name: string) => {\n for (const test of field.tests) {\n if (test.OPTIONS?.params[name]) return test.OPTIONS.params[name]\n }\n}\n\n/**\n * A helper function to render forms automatically based on a Yup schema\n *\n * @param schema The Yup schema\n * @returns {FieldProps[]}\n */\nexport const getFieldsFromSchema = (schema: AnyObjectSchema): FieldProps[] => {\n const fields = []\n\n let schemaFields: Record<string, any> = {}\n if (schema.type === 'array') {\n /* @ts-ignore this is actually valid */\n schemaFields = schema.innerType.fields\n } else {\n schemaFields = schema.fields\n }\n\n for (const name in schemaFields) {\n const field = schemaFields[name]\n\n const options: Options = {}\n if (field.type === 'array') {\n options.min = getArrayOption(field, 'min')\n options.max = getArrayOption(field, 'max')\n }\n\n fields.push({\n name,\n label: field.spec.label || name,\n type: getType(field),\n ...options,\n })\n }\n return fields\n}\n\nexport const getNestedSchema = (schema: AnyObjectSchema, path: string) => {\n return reach(schema, path) as AnyObjectSchema\n}\n\nexport const yupFieldResolver: GetFieldResolver = (schema: AnyObjectSchema) => {\n return {\n getFields() {\n return getFieldsFromSchema(schema)\n },\n getNestedFields(name: string) {\n return getFieldsFromSchema(getNestedSchema(schema, name))\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,mBAMO;;;ACRP,iBAAsB;AACtB,IAAAA,cAA4B;AAa5B,IAAM,UAAU,CAAC,UAAe;AAC9B,MAAI,MAAM,KAAK,MAAM,MAAM;AACzB,WAAO,MAAM,KAAK,KAAK;AAAA,EACzB;AAEA,UAAQ,MAAM,MAAM;AAAA,IAClB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,iBAAiB,CAAC,OAAY,SAAiB;AACnD,aAAW,QAAQ,MAAM,OAAO;AAC9B,QAAI,KAAK,SAAS,OAAO,IAAI,EAAG,QAAO,KAAK,QAAQ,OAAO,IAAI;AAAA,EACjE;AACF;AAQO,IAAM,sBAAsB,CAAC,WAA0C;AAC5E,QAAM,SAAS,CAAC;AAEhB,MAAI,eAAoC,CAAC;AACzC,MAAI,OAAO,SAAS,SAAS;AAE3B,mBAAe,OAAO,UAAU;AAAA,EAClC,OAAO;AACL,mBAAe,OAAO;AAAA,EACxB;AAEA,aAAW,QAAQ,cAAc;AAC/B,UAAM,QAAQ,aAAa,IAAI;AAE/B,UAAM,UAAmB,CAAC;AAC1B,QAAI,MAAM,SAAS,SAAS;AAC1B,cAAQ,MAAM,eAAe,OAAO,KAAK;AACzC,cAAQ,MAAM,eAAe,OAAO,KAAK;AAAA,IAC3C;AAEA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,OAAO,MAAM,KAAK,SAAS;AAAA,MAC3B,MAAM,QAAQ,KAAK;AAAA,MACnB,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEO,IAAM,kBAAkB,CAAC,QAAyB,SAAiB;AACxE,aAAO,kBAAM,QAAQ,IAAI;AAC3B;AAEO,IAAM,mBAAqC,CAAC,WAA4B;AAC7E,SAAO;AAAA,IACL,YAAY;AACV,aAAO,oBAAoB,MAAM;AAAA,IACnC;AAAA,IACA,gBAAgB,MAAc;AAC5B,aAAO,oBAAoB,gBAAgB,QAAQ,IAAI,CAAC;AAAA,IAC1D;AAAA,EACF;AACF;;;ADzCO,IAAM,gBAAgB,CAI3B,YACG;AAMH,QAAM,cAAU,yBAAW;AAAA,IACzB,UAAU,CAAC,eACT;AAAA,MACE;AAAA,MACA,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACF,eAAe;AAAA,IACf,GAAG;AAAA,EACL,CAAC;AAED,UAAQ,cAAc;AACtB,UAAQ,KAAK;AAEb,SAAO;AACT;;;AD3DO,IAAM,OAAO,cAAc;","names":["import_yup"]}
@@ -1,98 +0,0 @@
1
- 'use client'
2
-
3
- // yup/src/create-yup-form.ts
4
- import {
5
- createForm
6
- } from "@saas-ui/forms";
7
-
8
- // yup/src/yup-resolver.ts
9
- import { reach } from "yup";
10
- import { yupResolver } from "@hookform/resolvers/yup";
11
- var getType = (field) => {
12
- if (field.spec.meta?.type) {
13
- return field.spec.meta.type;
14
- }
15
- switch (field.type) {
16
- case "array":
17
- return "array";
18
- case "object":
19
- return "object";
20
- case "number":
21
- return "number";
22
- case "date":
23
- return "date";
24
- case "string":
25
- default:
26
- return "text";
27
- }
28
- };
29
- var getArrayOption = (field, name) => {
30
- for (const test of field.tests) {
31
- if (test.OPTIONS?.params[name]) return test.OPTIONS.params[name];
32
- }
33
- };
34
- var getFieldsFromSchema = (schema) => {
35
- const fields = [];
36
- let schemaFields = {};
37
- if (schema.type === "array") {
38
- schemaFields = schema.innerType.fields;
39
- } else {
40
- schemaFields = schema.fields;
41
- }
42
- for (const name in schemaFields) {
43
- const field = schemaFields[name];
44
- const options = {};
45
- if (field.type === "array") {
46
- options.min = getArrayOption(field, "min");
47
- options.max = getArrayOption(field, "max");
48
- }
49
- fields.push({
50
- name,
51
- label: field.spec.label || name,
52
- type: getType(field),
53
- ...options
54
- });
55
- }
56
- return fields;
57
- };
58
- var getNestedSchema = (schema, path) => {
59
- return reach(schema, path);
60
- };
61
- var yupFieldResolver = (schema) => {
62
- return {
63
- getFields() {
64
- return getFieldsFromSchema(schema);
65
- },
66
- getNestedFields(name) {
67
- return getFieldsFromSchema(getNestedSchema(schema, name));
68
- }
69
- };
70
- };
71
-
72
- // yup/src/create-yup-form.ts
73
- var createYupForm = (options) => {
74
- const YupForm = createForm({
75
- resolver: (schema) => yupResolver(
76
- schema,
77
- options?.schemaOptions,
78
- options?.resolverOptions
79
- ),
80
- fieldResolver: yupFieldResolver,
81
- ...options
82
- });
83
- YupForm.displayName = "YupForm";
84
- YupForm.id = "YupForm";
85
- return YupForm;
86
- };
87
-
88
- // yup/src/index.ts
89
- var Form = createYupForm();
90
- export {
91
- Form,
92
- createYupForm,
93
- getFieldsFromSchema,
94
- getNestedSchema,
95
- yupFieldResolver,
96
- yupResolver
97
- };
98
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../yup/src/create-yup-form.ts","../../yup/src/yup-resolver.ts","../../yup/src/index.ts"],"sourcesContent":["import React from 'react'\n\nimport {\n CreateFormProps,\n FormProps,\n GetBaseField,\n WithFields,\n createForm,\n} from '@saas-ui/forms'\nimport { AnyObjectSchema, InferType } from 'yup'\n\nimport { yupFieldResolver, yupResolver } from './yup-resolver'\n\ntype ResolverArgs = Parameters<typeof yupResolver>\n\nexport interface CreateYupFormProps<\n FieldDefs,\n TGetBaseField extends GetBaseField = GetBaseField,\n> extends CreateFormProps<FieldDefs, TGetBaseField> {\n schemaOptions?: ResolverArgs[1]\n resolverOptions?: ResolverArgs[2]\n}\n\nexport type YupFormType<\n FieldDefs,\n ExtraProps = object,\n ExtraFieldProps extends object = object,\n ExtraOverrides = object,\n Type extends 'yup' = 'yup',\n> = (<\n TSchema extends AnyObjectSchema = AnyObjectSchema,\n TFieldValues extends Required<InferType<TSchema>> = Required<\n InferType<TSchema>\n >,\n TContext extends object = object,\n>(\n props: WithFields<\n FormProps<TSchema, TFieldValues, TContext, ExtraFieldProps>,\n FieldDefs,\n ExtraOverrides\n > & {\n ref?: React.ForwardedRef<HTMLFormElement>\n } & ExtraProps,\n) => React.ReactElement) & {\n displayName?: string\n id?: 'YupForm'\n}\n\nexport const createYupForm = <\n FieldDefs,\n TGetBaseField extends GetBaseField = GetBaseField,\n>(\n options?: CreateYupFormProps<FieldDefs, TGetBaseField>,\n) => {\n type ExtraFieldProps =\n TGetBaseField extends GetBaseField<infer ExtraFieldProps>\n ? ExtraFieldProps\n : object\n\n const YupForm = createForm({\n resolver: (schema: any) =>\n yupResolver(\n schema,\n options?.schemaOptions,\n options?.resolverOptions,\n ) as any,\n fieldResolver: yupFieldResolver,\n ...options,\n })\n\n YupForm.displayName = 'YupForm'\n YupForm.id = 'YupForm'\n\n return YupForm as YupFormType<FieldDefs, object, ExtraFieldProps>\n}\n","import { reach } from 'yup'\nimport { yupResolver } from '@hookform/resolvers/yup'\n\nimport { FieldProps, GetFieldResolver } from '@saas-ui/forms'\nimport { AnyObjectSchema } from './types'\n\nexport { yupResolver }\n\nexport type Options = {\n min?: number\n max?: number\n}\n\n// @TODO get proper typings for the schema fields\nconst getType = (field: any) => {\n if (field.spec.meta?.type) {\n return field.spec.meta.type\n }\n\n switch (field.type) {\n case 'array':\n return 'array'\n case 'object':\n return 'object'\n case 'number':\n return 'number'\n case 'date':\n return 'date'\n case 'string':\n default:\n return 'text'\n }\n}\n\nconst getArrayOption = (field: any, name: string) => {\n for (const test of field.tests) {\n if (test.OPTIONS?.params[name]) return test.OPTIONS.params[name]\n }\n}\n\n/**\n * A helper function to render forms automatically based on a Yup schema\n *\n * @param schema The Yup schema\n * @returns {FieldProps[]}\n */\nexport const getFieldsFromSchema = (schema: AnyObjectSchema): FieldProps[] => {\n const fields = []\n\n let schemaFields: Record<string, any> = {}\n if (schema.type === 'array') {\n /* @ts-ignore this is actually valid */\n schemaFields = schema.innerType.fields\n } else {\n schemaFields = schema.fields\n }\n\n for (const name in schemaFields) {\n const field = schemaFields[name]\n\n const options: Options = {}\n if (field.type === 'array') {\n options.min = getArrayOption(field, 'min')\n options.max = getArrayOption(field, 'max')\n }\n\n fields.push({\n name,\n label: field.spec.label || name,\n type: getType(field),\n ...options,\n })\n }\n return fields\n}\n\nexport const getNestedSchema = (schema: AnyObjectSchema, path: string) => {\n return reach(schema, path) as AnyObjectSchema\n}\n\nexport const yupFieldResolver: GetFieldResolver = (schema: AnyObjectSchema) => {\n return {\n getFields() {\n return getFieldsFromSchema(schema)\n },\n getNestedFields(name: string) {\n return getFieldsFromSchema(getNestedSchema(schema, name))\n },\n }\n}\n","import { createYupForm } from './create-yup-form'\n\nexport {\n type Options,\n getFieldsFromSchema,\n getNestedSchema,\n yupFieldResolver,\n yupResolver,\n} from './yup-resolver'\nexport { createYupForm, type YupFormType } from './create-yup-form'\n// export { createYupStepForm } from './create-yup-step-form'\nexport type { AnyObjectSchema } from './types'\n\n// import { createYupStepForm } from './create-yup-step-form'\n\nexport const Form = createYupForm()\n\n// export const StepForm = createYupStepForm()\n"],"mappings":";;;AAEA;AAAA,EAKE;AAAA,OACK;;;ACRP,SAAS,aAAa;AACtB,SAAS,mBAAmB;AAa5B,IAAM,UAAU,CAAC,UAAe;AAC9B,MAAI,MAAM,KAAK,MAAM,MAAM;AACzB,WAAO,MAAM,KAAK,KAAK;AAAA,EACzB;AAEA,UAAQ,MAAM,MAAM;AAAA,IAClB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,iBAAiB,CAAC,OAAY,SAAiB;AACnD,aAAW,QAAQ,MAAM,OAAO;AAC9B,QAAI,KAAK,SAAS,OAAO,IAAI,EAAG,QAAO,KAAK,QAAQ,OAAO,IAAI;AAAA,EACjE;AACF;AAQO,IAAM,sBAAsB,CAAC,WAA0C;AAC5E,QAAM,SAAS,CAAC;AAEhB,MAAI,eAAoC,CAAC;AACzC,MAAI,OAAO,SAAS,SAAS;AAE3B,mBAAe,OAAO,UAAU;AAAA,EAClC,OAAO;AACL,mBAAe,OAAO;AAAA,EACxB;AAEA,aAAW,QAAQ,cAAc;AAC/B,UAAM,QAAQ,aAAa,IAAI;AAE/B,UAAM,UAAmB,CAAC;AAC1B,QAAI,MAAM,SAAS,SAAS;AAC1B,cAAQ,MAAM,eAAe,OAAO,KAAK;AACzC,cAAQ,MAAM,eAAe,OAAO,KAAK;AAAA,IAC3C;AAEA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,OAAO,MAAM,KAAK,SAAS;AAAA,MAC3B,MAAM,QAAQ,KAAK;AAAA,MACnB,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEO,IAAM,kBAAkB,CAAC,QAAyB,SAAiB;AACxE,SAAO,MAAM,QAAQ,IAAI;AAC3B;AAEO,IAAM,mBAAqC,CAAC,WAA4B;AAC7E,SAAO;AAAA,IACL,YAAY;AACV,aAAO,oBAAoB,MAAM;AAAA,IACnC;AAAA,IACA,gBAAgB,MAAc;AAC5B,aAAO,oBAAoB,gBAAgB,QAAQ,IAAI,CAAC;AAAA,IAC1D;AAAA,EACF;AACF;;;ADzCO,IAAM,gBAAgB,CAI3B,YACG;AAMH,QAAM,UAAU,WAAW;AAAA,IACzB,UAAU,CAAC,WACT;AAAA,MACE;AAAA,MACA,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACF,eAAe;AAAA,IACf,GAAG;AAAA,EACL,CAAC;AAED,UAAQ,cAAc;AACtB,UAAQ,KAAK;AAEb,SAAO;AACT;;;AE3DO,IAAM,OAAO,cAAc;","names":[]}