@zod-to-form/core 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +28 -1
  2. package/dist/config.d.ts +28 -18
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +42 -52
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.d.ts +3 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/metadata.d.ts +1 -0
  11. package/dist/metadata.d.ts.map +1 -1
  12. package/dist/metadata.js +5 -2
  13. package/dist/metadata.js.map +1 -1
  14. package/dist/processors/_utils.d.ts +1 -1
  15. package/dist/processors/_utils.d.ts.map +1 -1
  16. package/dist/processors/array.d.ts +1 -1
  17. package/dist/processors/array.d.ts.map +1 -1
  18. package/dist/processors/boolean.d.ts +1 -1
  19. package/dist/processors/boolean.d.ts.map +1 -1
  20. package/dist/processors/boolean.js +1 -2
  21. package/dist/processors/boolean.js.map +1 -1
  22. package/dist/processors/cross-ref.d.ts +1 -1
  23. package/dist/processors/cross-ref.d.ts.map +1 -1
  24. package/dist/processors/date.d.ts +1 -1
  25. package/dist/processors/date.d.ts.map +1 -1
  26. package/dist/processors/enum.d.ts +1 -1
  27. package/dist/processors/enum.d.ts.map +1 -1
  28. package/dist/processors/fallback.d.ts +1 -1
  29. package/dist/processors/fallback.d.ts.map +1 -1
  30. package/dist/processors/file.d.ts +1 -1
  31. package/dist/processors/file.d.ts.map +1 -1
  32. package/dist/processors/number.d.ts +1 -1
  33. package/dist/processors/number.d.ts.map +1 -1
  34. package/dist/processors/object.d.ts +1 -1
  35. package/dist/processors/object.d.ts.map +1 -1
  36. package/dist/processors/string.d.ts +1 -1
  37. package/dist/processors/string.d.ts.map +1 -1
  38. package/dist/processors/string.js +1 -2
  39. package/dist/processors/string.js.map +1 -1
  40. package/dist/processors/union.d.ts +1 -1
  41. package/dist/processors/union.d.ts.map +1 -1
  42. package/dist/processors/wrappers.d.ts +1 -1
  43. package/dist/processors/wrappers.d.ts.map +1 -1
  44. package/dist/register.d.ts +70 -0
  45. package/dist/register.d.ts.map +1 -0
  46. package/dist/register.js +188 -0
  47. package/dist/register.js.map +1 -0
  48. package/dist/types.d.ts +26 -19
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/walker.d.ts +1 -1
  51. package/dist/walker.d.ts.map +1 -1
  52. package/package.json +2 -1
package/README.md CHANGED
@@ -70,11 +70,28 @@ Built-in processor registry for core Zod types.
70
70
 
71
71
  Namespace export of individual processor implementations.
72
72
 
73
+ ### `defineConfig(config)`
74
+
75
+ Type-safe config builder for `ZodFormsConfig`. Merges preset overrides into the returned config object.
76
+
77
+ ### `validateConfig(value, source?)`
78
+
79
+ Validates a raw config object against the config schema. Throws with a descriptive message on failure.
80
+
81
+ ### `resolveFieldConfig(globalFields, schemaFields)`
82
+
83
+ Merges global and per-schema field configs with schema-level overrides taking priority.
84
+
73
85
  ### Utility Exports
74
86
 
75
87
  - `inferLabel(key: string)`
76
88
  - `joinPath(...parts: string[])`
77
89
  - `createBaseField(key: string, zodType: string)`
90
+ - `getEmptyDefault(schema)` — schema-inferred type-safe empty value
91
+ - `normalizeFieldKey(key)` — normalize dot-path field keys
92
+ - `collectFieldSections(fields)` — group fields by section name
93
+ - `registerDeep(registry, schema, meta)` — register metadata on a schema and its children
94
+ - `registerFlat(registry, schema, fieldConfigs)` — register flat field configs onto schema shapes
78
95
 
79
96
  ## Types
80
97
 
@@ -84,11 +101,21 @@ Core public types:
84
101
  - `FormFieldOption`
85
102
  - `FormFieldConstraints`
86
103
  - `FormMeta`
104
+ - `FieldConfig`
87
105
  - `FormProcessor`
88
106
  - `FormProcessorContext`
89
107
  - `ProcessParams`
90
108
  - `WalkOptions`
91
109
  - `ZodFormRegistry`
110
+ - `ComponentOverride`
111
+ - `ComponentPreset`
112
+ - `ComponentsConfig`
113
+ - `FormPrimitivesConfig`
114
+ - `TypedFieldConfig`
115
+ - `ZodFormsConfig`
116
+ - `ZodTypeConfig`
117
+ - `ConfigDefaults`
118
+ - `StripIndexSignature`
92
119
 
93
120
  ## Form Metadata via Zod Registry
94
121
 
@@ -107,7 +134,7 @@ const schema = z.object({
107
134
  });
108
135
 
109
136
  formRegistry.add(schema.shape.bio, {
110
- fieldType: 'textarea',
137
+ component: 'Textarea',
111
138
  order: 1,
112
139
  gridColumn: 'span 2'
113
140
  });
package/dist/config.d.ts CHANGED
@@ -1,13 +1,24 @@
1
1
  import { z } from 'zod';
2
+ import type { $ZodType } from 'zod/v4/core';
2
3
  import type { FieldConfig } from './types.js';
3
- export type ComponentEntry<T extends Record<string, unknown> = Record<string, unknown>> = {
4
- component: keyof T & string;
5
- render?: () => Promise<unknown>;
4
+ /** Per-component metadata override. Only components that differ from defaults need an entry. */
5
+ export type ComponentOverride = {
6
6
  /** When true, use Controller/useController instead of register() spread */
7
7
  controlled?: boolean;
8
8
  /** Map RHF field props to component-specific prop names (e.g. { onSelect: 'field.onChange' }) */
9
9
  propMap?: Record<string, string>;
10
10
  };
11
+ export type ComponentPreset = 'shadcn' | 'unstyled';
12
+ export type ComponentsConfig<T extends Record<string, unknown> = Record<string, unknown>> = {
13
+ /** Import path for the components module */
14
+ source: string;
15
+ /** Preset that provides base overrides */
16
+ preset?: ComponentPreset;
17
+ /** Per-component overrides, strongly typed to module export keys */
18
+ overrides?: {
19
+ [K in keyof T & string]?: ComponentOverride;
20
+ };
21
+ };
11
22
  export type FormPrimitivesConfig<T extends Record<string, unknown> = Record<string, unknown>> = {
12
23
  field?: keyof T & string;
13
24
  label?: keyof T & string;
@@ -15,32 +26,32 @@ export type FormPrimitivesConfig<T extends Record<string, unknown> = Record<stri
15
26
  };
16
27
  /** Field config with props constrained to a specific component's prop type */
17
28
  type TypedFieldConfigForComponent<TComponents extends Record<string, unknown>, K extends keyof TComponents & string> = {
18
- fieldType: K;
29
+ component: K;
19
30
  order?: number;
20
31
  hidden?: boolean;
21
32
  gridColumn?: string;
22
33
  props?: TComponents[K] extends Record<string, unknown> ? Partial<TComponents[K]> : Record<string, unknown>;
23
- /** Per-field prop mapping override (merges over ComponentEntry.propMap) */
34
+ /** Per-field prop mapping override (merges over ComponentOverride.propMap) */
24
35
  propMap?: Record<string, string>;
25
36
  /** Group into a named section component */
26
37
  section?: string;
27
38
  };
28
- /** Field config with no fieldType specified (untyped props) */
39
+ /** Field config with no component specified (untyped props) */
29
40
  type UntypedFieldConfig = {
30
- fieldType?: undefined;
41
+ component?: undefined;
31
42
  order?: number;
32
43
  hidden?: boolean;
33
44
  gridColumn?: string;
34
45
  props?: Record<string, unknown>;
35
- /** Per-field prop mapping override (merges over ComponentEntry.propMap) */
46
+ /** Per-field prop mapping override (merges over ComponentOverride.propMap) */
36
47
  propMap?: Record<string, string>;
37
48
  /** Group into a named section component */
38
49
  section?: string;
39
50
  };
40
51
  /**
41
52
  * Discriminated union over component keys.
42
- * When `fieldType` is set to a known component key, `props` is constrained
43
- * to that component's prop type. When `fieldType` is omitted, `props` is
53
+ * When `component` is set to a known component key, `props` is constrained
54
+ * to that component's prop type. When `component` is omitted, `props` is
44
55
  * an open `Record<string, unknown>`.
45
56
  */
46
57
  export type TypedFieldConfig<TComponents extends Record<string, unknown> = Record<string, unknown>> = {
@@ -62,11 +73,8 @@ export type ZodTypeConfig<TFieldKeys extends string = string, TComponents extend
62
73
  serverAction?: boolean;
63
74
  fields?: Partial<Record<TFieldKeys, TypedFieldConfig<TComponents>>>;
64
75
  };
65
- export type FieldTypePreset = 'shadcn' | 'unstyled';
66
76
  export type ZodFormsConfig<TComponents extends Record<string, unknown> = Record<string, unknown>, TSchemas extends Record<string, unknown> = Record<string, unknown>> = {
67
- components: string;
68
- preset?: FieldTypePreset;
69
- fieldTypes: Record<string, ComponentEntry<TComponents>>;
77
+ components: ComponentsConfig<TComponents>;
70
78
  formPrimitives?: FormPrimitivesConfig<TComponents>;
71
79
  defaults?: ConfigDefaults;
72
80
  types?: string[];
@@ -74,7 +82,7 @@ export type ZodFormsConfig<TComponents extends Record<string, unknown> = Record<
74
82
  exclude?: string[];
75
83
  fields?: Record<string, TypedFieldConfig<TComponents>>;
76
84
  schemas?: {
77
- [K in keyof TSchemas & string]?: ZodTypeConfig<TSchemas[K] extends z.ZodType ? SchemaFieldPath<TSchemas[K]> : string, TComponents>;
85
+ [K in keyof TSchemas & string]?: ZodTypeConfig<TSchemas[K] extends $ZodType ? SchemaFieldPath<TSchemas[K]> : string, TComponents>;
78
86
  };
79
87
  };
80
88
  /**
@@ -91,9 +99,11 @@ type DotPath<T> = T extends Primitive ? never : T extends readonly (infer TItem)
91
99
  type NormalizeArrayPath<TPath extends string> = TPath extends `${infer Prefix}.${number}.${infer Suffix}` ? NormalizeArrayPath<`${Prefix}[].${Suffix}`> : TPath extends `${infer Prefix}.${number}` ? NormalizeArrayPath<`${Prefix}[]`> : TPath;
92
100
  type FieldPath<TValues extends Record<string, unknown>> = DotPath<TValues> extends infer TPath ? TPath extends string ? TPath | NormalizeArrayPath<TPath> : never : never;
93
101
  /** Extracts dot-notation field paths from a Zod schema's inferred type */
94
- type SchemaFieldPath<T extends z.ZodType> = z.infer<T> extends infer O ? (O extends Record<string, unknown> ? FieldPath<O> : string) : string;
95
- export declare const SHADCN_FIELD_TYPES: Record<string, ComponentEntry>;
96
- export declare const DEFAULT_FIELD_TYPES: Record<string, ComponentEntry>;
102
+ type SchemaFieldPath<T extends $ZodType> = z.infer<T> extends infer O ? (O extends Record<string, unknown> ? FieldPath<O> : string) : string;
103
+ /** shadcn preset no controlled components by default */
104
+ export declare const SHADCN_OVERRIDES: Record<string, ComponentOverride>;
105
+ /** Default/unstyled preset — no controlled components by default */
106
+ export declare const DEFAULT_OVERRIDES: Record<string, ComponentOverride>;
97
107
  export declare function defineConfig<TComponents extends Record<string, unknown> = Record<string, unknown>, TSchemas extends Record<string, unknown> = Record<string, unknown>>(config: ZodFormsConfig<TComponents, TSchemas>): ZodFormsConfig<TComponents, TSchemas>;
98
108
  export declare function validateConfig(value: unknown, source?: string): ZodFormsConfig<Record<string, unknown>>;
99
109
  export declare function resolveFieldConfig(globalFields: Record<string, FieldConfig> | undefined, schemaFields: Partial<Record<string, FieldConfig>> | undefined): Record<string, FieldConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -1,20 +1,22 @@
1
1
  import { z } from 'zod';
2
2
  // ─── Validation Schemas ───────────────────────────────────────────────
3
3
  const nonEmptyStringSchema = z.string().trim().min(1);
4
- const componentEntrySchema = z
4
+ const componentOverrideSchema = z
5
5
  .object({
6
- component: nonEmptyStringSchema,
7
- render: z
8
- .unknown()
9
- .optional()
10
- .refine((value) => value === undefined || typeof value === 'function'),
11
6
  controlled: z.boolean().optional(),
12
7
  propMap: z.record(z.string(), z.string()).optional()
13
8
  })
14
- .passthrough();
9
+ .loose();
10
+ const componentsConfigSchema = z
11
+ .object({
12
+ source: nonEmptyStringSchema,
13
+ preset: z.enum(['shadcn', 'unstyled']).optional(),
14
+ overrides: z.record(z.string(), componentOverrideSchema).optional()
15
+ })
16
+ .loose();
15
17
  const fieldConfigSchema = z
16
18
  .object({
17
- fieldType: nonEmptyStringSchema.optional(),
19
+ component: nonEmptyStringSchema.optional(),
18
20
  order: z.number().optional(),
19
21
  hidden: z.boolean().optional(),
20
22
  gridColumn: z.string().optional(),
@@ -22,13 +24,13 @@ const fieldConfigSchema = z
22
24
  propMap: z.record(z.string(), z.string()).optional(),
23
25
  section: z.string().optional()
24
26
  })
25
- .passthrough();
27
+ .loose();
26
28
  const fieldOverrideSchema = z
27
29
  .object({
28
- fieldType: nonEmptyStringSchema,
30
+ component: nonEmptyStringSchema,
29
31
  props: z.record(z.string(), z.unknown()).optional()
30
32
  })
31
- .passthrough();
33
+ .loose();
32
34
  const defaultsSchema = z
33
35
  .object({
34
36
  mode: z.string().optional(),
@@ -38,7 +40,7 @@ const defaultsSchema = z
38
40
  serverAction: z.boolean().optional(),
39
41
  formProvider: z.boolean().optional()
40
42
  })
41
- .passthrough()
43
+ .loose()
42
44
  .optional();
43
45
  const zodTypeConfigSchema = z
44
46
  .object({
@@ -48,22 +50,20 @@ const zodTypeConfigSchema = z
48
50
  serverAction: z.boolean().optional(),
49
51
  fields: z.record(z.string(), fieldConfigSchema).optional()
50
52
  })
51
- .passthrough();
53
+ .loose();
52
54
  const configSchema = z
53
55
  .object({
54
- components: nonEmptyStringSchema,
55
- preset: z.enum(['shadcn', 'unstyled']).optional(),
56
+ components: componentsConfigSchema,
56
57
  overwrite: z.boolean().optional(),
57
58
  include: z.array(z.string()).optional(),
58
59
  exclude: z.array(z.string()).optional(),
59
60
  types: z.array(z.string()).optional(),
60
- fieldTypes: z.record(z.string(), componentEntrySchema),
61
61
  formPrimitives: z.record(z.string(), nonEmptyStringSchema).optional(),
62
62
  fields: z.record(z.string(), fieldOverrideSchema.or(fieldConfigSchema)).optional(),
63
63
  defaults: defaultsSchema,
64
64
  schemas: z.record(z.string(), zodTypeConfigSchema).optional()
65
65
  })
66
- .passthrough();
66
+ .loose();
67
67
  // ─── Error Formatting ─────────────────────────────────────────────────
68
68
  function formatValidationError(error, source) {
69
69
  const [issue] = error.issues;
@@ -76,22 +76,19 @@ function formatValidationError(error, source) {
76
76
  return new Error(`${source} must be an object.`);
77
77
  }
78
78
  if (root === 'components') {
79
- return new Error(`${source}.components must be a non-empty string.`);
80
- }
81
- if (root === 'fieldTypes') {
82
79
  if (!entry) {
83
- return new Error(`${source}.fieldTypes must be an object.`);
80
+ return new Error(`${source}.components must be an object.`);
84
81
  }
85
- if (!property) {
86
- return new Error(`${source}.fieldTypes.${entry} must be an object.`);
82
+ if (entry === 'source') {
83
+ return new Error(`${source}.components.source must be a non-empty string.`);
87
84
  }
88
- if (property === 'component') {
89
- return new Error(`${source}.fieldTypes.${entry}.component must be a non-empty string.`);
90
- }
91
- if (property === 'render') {
92
- return new Error(`${source}.fieldTypes.${entry}.render must be a function when provided.`);
85
+ if (entry === 'overrides') {
86
+ if (!property) {
87
+ return new Error(`${source}.components.overrides must be an object when provided.`);
88
+ }
89
+ return new Error(`${source}.components.overrides.${property} must be an object.`);
93
90
  }
94
- return new Error(`${source}.fieldTypes.${entry} must be an object.`);
91
+ return new Error(`${source}.components.${entry} is invalid.`);
95
92
  }
96
93
  if (root === 'formPrimitives') {
97
94
  if (!entry) {
@@ -106,8 +103,8 @@ function formatValidationError(error, source) {
106
103
  if (!property) {
107
104
  return new Error(`${source}.fields.${entry} must be an object.`);
108
105
  }
109
- if (property === 'fieldType') {
110
- return new Error(`${source}.fields.${entry}.fieldType must be a non-empty string.`);
106
+ if (property === 'component') {
107
+ return new Error(`${source}.fields.${entry}.component must be a non-empty string.`);
111
108
  }
112
109
  if (property === 'props') {
113
110
  return new Error(`${source}.fields.${entry}.props must be an object when provided.`);
@@ -154,35 +151,28 @@ function formatValidationError(error, source) {
154
151
  }
155
152
  return new Error(`${source} is invalid: ${issue.message}`);
156
153
  }
157
- // ─── Preset Component Maps ───────────────────────────────────────────
158
- export const SHADCN_FIELD_TYPES = {
159
- Input: { component: 'Input' },
160
- Textarea: { component: 'Textarea' },
161
- Select: { component: 'Select' },
162
- Checkbox: { component: 'Checkbox' },
163
- Switch: { component: 'Switch' },
164
- DatePicker: { component: 'DatePicker' },
165
- FileInput: { component: 'FileInput' }
166
- };
167
- export const DEFAULT_FIELD_TYPES = {
168
- Input: { component: 'Input' },
169
- Textarea: { component: 'Textarea' },
170
- Select: { component: 'Select' },
171
- Checkbox: { component: 'Checkbox' }
172
- };
154
+ // ─── Preset Override Maps ─────────────────────────────────────────────
155
+ /** shadcn preset no controlled components by default */
156
+ export const SHADCN_OVERRIDES = {};
157
+ /** Default/unstyled preset no controlled components by default */
158
+ export const DEFAULT_OVERRIDES = {};
173
159
  // ─── Public Functions ─────────────────────────────────────────────────
174
160
  const PRESET_MAP = {
175
- shadcn: SHADCN_FIELD_TYPES,
176
- unstyled: DEFAULT_FIELD_TYPES
161
+ shadcn: SHADCN_OVERRIDES,
162
+ unstyled: DEFAULT_OVERRIDES
177
163
  };
178
164
  export function defineConfig(config) {
179
- if (!config.preset) {
165
+ const preset = config.components.preset;
166
+ if (!preset) {
180
167
  return config;
181
168
  }
182
- const base = PRESET_MAP[config.preset];
169
+ const base = PRESET_MAP[preset];
183
170
  return {
184
171
  ...config,
185
- fieldTypes: { ...base, ...config.fieldTypes }
172
+ components: {
173
+ ...config.components,
174
+ overrides: { ...base, ...config.components.overrides }
175
+ }
186
176
  };
187
177
  }
188
178
  export function validateConfig(value, source = 'config') {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export type { FormField, FormFieldOption, FormFieldConstraints, FormProcessor, FormProcessorContext, FormMeta, FieldConfig, ProcessParams, WalkOptions, ZodFormRegistry } from './types.js';
2
- export type { ComponentEntry, FieldTypePreset, FormPrimitivesConfig, TypedFieldConfig, ZodFormsConfig, ZodTypeConfig, ConfigDefaults, StripIndexSignature } from './config.js';
3
- export { defineConfig, validateConfig, resolveFieldConfig, normalizeConfig, SHADCN_FIELD_TYPES, DEFAULT_FIELD_TYPES } from './config.js';
2
+ export type { ComponentOverride, ComponentPreset, ComponentsConfig, FormPrimitivesConfig, TypedFieldConfig, ZodFormsConfig, ZodTypeConfig, ConfigDefaults, StripIndexSignature } from './config.js';
3
+ export { defineConfig, validateConfig, resolveFieldConfig, normalizeConfig, SHADCN_OVERRIDES, DEFAULT_OVERRIDES } from './config.js';
4
4
  export { inferLabel, joinPath, createBaseField, getEmptyDefault, normalizeFieldKey, collectFieldSections } from './utils.js';
5
5
  export { walkSchema } from './walker.js';
6
6
  export { builtinProcessors, createProcessors } from './registry.js';
7
+ export { registerDeep, registerFlat } from './register.js';
7
8
  export * as processors from './processors/index.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  // @zod-to-form/core — Public API
2
2
  // All exports are named exports only (no default, no `export *`) for full tree-shakeability.
3
- export { defineConfig, validateConfig, resolveFieldConfig, normalizeConfig, SHADCN_FIELD_TYPES, DEFAULT_FIELD_TYPES } from './config.js';
3
+ export { defineConfig, validateConfig, resolveFieldConfig, normalizeConfig, SHADCN_OVERRIDES, DEFAULT_OVERRIDES } from './config.js';
4
4
  export { inferLabel, joinPath, createBaseField, getEmptyDefault, normalizeFieldKey, collectFieldSections } from './utils.js';
5
5
  export { walkSchema } from './walker.js';
6
6
  export { builtinProcessors, createProcessors } from './registry.js';
7
+ export { registerDeep, registerFlat } from './register.js';
7
8
  export * as processors from './processors/index.js';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,6FAA6F;AA0B7F,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,6FAA6F;AA2B7F,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC"}
@@ -5,5 +5,6 @@ export type ResolvedMetadata = FormMeta & {
5
5
  examples?: unknown[];
6
6
  deprecated?: boolean;
7
7
  };
8
+ /** Merge global + form registry metadata for a schema. Form registry keys take precedence. */
8
9
  export declare function resolveMetadata(schema: unknown, formRegistry?: ZodFormRegistry): ResolvedMetadata;
9
10
  //# sourceMappingURL=metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAkBjG"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAoBjG"}
package/dist/metadata.js CHANGED
@@ -1,6 +1,9 @@
1
- import { z } from 'zod';
1
+ import { globalRegistry } from 'zod/v4/core';
2
+ /** Merge global + form registry metadata for a schema. Form registry keys take precedence. */
2
3
  export function resolveMetadata(schema, formRegistry) {
3
- const globalMeta = z.globalRegistry.get(schema);
4
+ // SAFETY: `as never` bridges untyped `schema` to the registry's generic constraint — callers always pass $ZodType-compatible values
5
+ const globalMeta = globalRegistry.get(schema);
6
+ // SAFETY: same as above — schema is $ZodType at runtime
4
7
  const formMeta = formRegistry?.get(schema);
5
8
  return {
6
9
  title: globalMeta?.title,
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,YAA8B;IAC7E,MAAM,UAAU,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAe,CAO1C,CAAC;IACd,MAAM,QAAQ,GAAG,YAAY,EAAE,GAAG,CAAC,MAAe,CAAyB,CAAC;IAE5E,OAAO;QACL,KAAK,EAAE,UAAU,EAAE,KAAK;QACxB,WAAW,EAAE,UAAU,EAAE,WAAW;QACpC,QAAQ,EAAE,UAAU,EAAE,QAAQ;QAC9B,UAAU,EAAE,UAAU,EAAE,UAAU;QAClC,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAU7C,8FAA8F;AAC9F,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,YAA8B;IAC7E,oIAAoI;IACpI,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,MAAe,CAOxC,CAAC;IACd,wDAAwD;IACxD,MAAM,QAAQ,GAAG,YAAY,EAAE,GAAG,CAAC,MAAe,CAAyB,CAAC;IAE5E,OAAO;QACL,KAAK,EAAE,UAAU,EAAE,KAAK;QACxB,WAAW,EAAE,UAAU,EAAE,WAAW;QACpC,QAAQ,EAAE,UAAU,EAAE,QAAQ;QAC9B,UAAU,EAAE,UAAU,EAAE,UAAU;QAClC,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  export declare function getDef(schema: ZodType): Record<string, unknown>;
3
3
  export declare function getShape(def: Record<string, unknown>): Record<string, ZodType>;
4
4
  export declare function getBag(schema: ZodType): Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../src/processors/_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS9E;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D"}
1
+ {"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../src/processors/_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS9E;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processArray(schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams): void;
4
4
  export declare function processTuple(schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams): void;
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/processors/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGlF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAsBN;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAeN"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/processors/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGlF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAsBN;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAeN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processBoolean(schema: ZodType, ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  //# sourceMappingURL=boolean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/processors/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAMN"}
1
+ {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/processors/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAKN"}
@@ -1,7 +1,6 @@
1
1
  export function processBoolean(schema, ctx, field, _params) {
2
2
  const meta = ctx.formRegistry?.get(schema);
3
- const fieldType = meta?.fieldType?.toLowerCase();
4
- field.component = fieldType === 'switch' ? 'Switch' : 'Checkbox';
3
+ field.component = meta?.component ?? 'Checkbox';
5
4
  field.required = true;
6
5
  }
7
6
  //# sourceMappingURL=boolean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/processors/boolean.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,cAAc,CAC5B,MAAe,EACf,GAAyB,EACzB,KAAgB,EAChB,OAAsB;IAEtB,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IAEjD,KAAK,CAAC,SAAS,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACjE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/processors/boolean.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,cAAc,CAC5B,MAAe,EACf,GAAyB,EACzB,KAAgB,EAChB,OAAsB;IAEtB,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE3C,KAAK,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,UAAU,CAAC;IAChD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processCrossRef(schema: ZodType, ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  //# sourceMappingURL=cross-ref.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross-ref.d.ts","sourceRoot":"","sources":["../../src/processors/cross-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CASN"}
1
+ {"version":3,"file":"cross-ref.d.ts","sourceRoot":"","sources":["../../src/processors/cross-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CASN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processDate(_schema: ZodType, _ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  //# sourceMappingURL=date.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/processors/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAEN"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/processors/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAEN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processEnum(schema: ZodType, _ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  export declare function processLiteral(schema: ZodType, _ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/processors/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC,OAAO,KAAK,EAAE,SAAS,EAAmB,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsBnG,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CASN;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAQN"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/processors/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAmB,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsBnG,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CASN;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAQN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processFallback(schema: ZodType, _ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  //# sourceMappingURL=fallback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/processors/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQlF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAgBN"}
1
+ {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/processors/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQlF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAgBN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processFile(_schema: ZodType, _ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  //# sourceMappingURL=file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/processors/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAEN"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/processors/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAEN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processNumber(schema: ZodType, _ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  //# sourceMappingURL=number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/processors/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGlF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAwCN"}
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/processors/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGlF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAwCN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processObject(schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams): void;
4
4
  export declare function processIntersection(schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams): void;
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/processors/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBlF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAON;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAsBN"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/processors/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBlF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAON;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAsBN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processString(schema: ZodType, ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
4
4
  export declare function processTemplateLiteral(schema: ZodType, _ctx: FormProcessorContext, field: FormField, _params: ProcessParams): void;
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/processors/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIlF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAuCN;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAQN"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/processors/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIlF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAsCN;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI,CAQN"}
@@ -3,7 +3,6 @@ import { getDef, getBag } from './_utils.js';
3
3
  export function processString(schema, ctx, field, _params) {
4
4
  const bag = getBag(schema);
5
5
  const meta = ctx.formRegistry?.get(schema);
6
- const fieldType = meta?.fieldType?.toLowerCase();
7
6
  const format = typeof bag['format'] === 'string' ? bag['format'] : undefined;
8
7
  const minimum = typeof bag['minimum'] === 'number' ? bag['minimum'] : undefined;
9
8
  const maximum = typeof bag['maximum'] === 'number' ? bag['maximum'] : undefined;
@@ -12,7 +11,7 @@ export function processString(schema, ctx, field, _params) {
12
11
  const pattern = patternsSet instanceof Set && patternsSet.size > 0
13
12
  ? [...patternsSet][0].source
14
13
  : undefined;
15
- field.component = fieldType === 'textarea' ? 'Textarea' : 'Input';
14
+ field.component = meta?.component ?? 'Input';
16
15
  field.props = {
17
16
  ...field.props,
18
17
  type: format === 'email' || format === 'url' ? format : 'text'
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/processors/string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/processors/string.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processUnion(schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams): void;
4
4
  //# sourceMappingURL=union.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/processors/union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAmB,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4BnG,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CA2BN"}
1
+ {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/processors/union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAmB,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4BnG,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CA2BN"}
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, FormProcessorContext, ProcessParams } from '../types.js';
3
3
  export declare function processOptional(schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams): void;
4
4
  export declare function processNullable(schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams): void;
@@ -1 +1 @@
1
- {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/processors/wrappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqBlF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAQN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAQN;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAcN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAQN;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAON;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAyBN"}
1
+ {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/processors/wrappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqBlF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAQN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAQN;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAcN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAQN;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAON;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,IAAI,CAyBN"}
@@ -0,0 +1,70 @@
1
+ import type { $ZodRegistry, $ZodType } from 'zod/v4/core';
2
+ import type { FieldConfig } from './types.js';
3
+ /**
4
+ * Register a schema and all its nested fields in a registry using a
5
+ * path-structured {@link FieldConfig} tree.
6
+ *
7
+ * Only the flat metadata fields (`fieldType`, `order`, `hidden`, `section`,
8
+ * `props`, etc.) are passed to `registry.add()` for each schema. The
9
+ * structural keys `fields` and `arrayItems` are used purely to drive the
10
+ * recursive walk and are never stored in the registry.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const formRegistry = z.registry<FormMeta>();
15
+ *
16
+ * const schema = z.object({
17
+ * name: z.string(),
18
+ * address: z.object({ street: z.string(), city: z.string() }),
19
+ * tags: z.array(z.string()),
20
+ * });
21
+ *
22
+ * registerDeep(formRegistry, schema, {
23
+ * component: 'form',
24
+ * fields: {
25
+ * name: { component: 'Input', order: 0 },
26
+ * address: {
27
+ * component: 'Fieldset',
28
+ * fields: {
29
+ * street: { component: 'Input' },
30
+ * city: { component: 'Input', hidden: true },
31
+ * },
32
+ * },
33
+ * tags: {
34
+ * component: 'ArrayField',
35
+ * arrayItems: { component: 'Input' },
36
+ * },
37
+ * },
38
+ * });
39
+ * ```
40
+ */
41
+ export declare function registerDeep<S extends $ZodType, Meta extends object>(registry: $ZodRegistry<Meta>, schema: S, config: FieldConfig<S>): void;
42
+ /**
43
+ * Register flat dot-path field configs against a schema's registry.
44
+ *
45
+ * Typically called with the merged output of `resolveFieldConfig()`,
46
+ * a flat `Record<string, FieldConfig>` keyed by dot-paths like
47
+ * `"name"`, `"address.street"`, `"tags[]"` — and resolves each path against
48
+ * the schema structure, calling `registry.add()` for the target schema node.
49
+ *
50
+ * This bridges the existing flat config format (used by CLI and
51
+ * `ZodFormsConfig.fields`) into the registry so that `walkSchema` can
52
+ * consume it uniformly.
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * const formRegistry = z.registry<FormMeta>();
57
+ * const schema = z.object({
58
+ * name: z.string(),
59
+ * address: z.object({ street: z.string(), city: z.string() }),
60
+ * });
61
+ *
62
+ * registerFlat(formRegistry, schema, {
63
+ * name: { component: 'Input', order: 0 },
64
+ * 'address.street': { component: 'Input' },
65
+ * 'address.city': { component: 'Input', hidden: true },
66
+ * });
67
+ * ```
68
+ */
69
+ export declare function registerFlat<Meta extends object>(registry: $ZodRegistry<Meta>, schema: $ZodType, fields: Record<string, FieldConfig>): void;
70
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAY,MAAM,aAAa,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,SAAS,MAAM,EAClE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,EAC5B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GACrB,IAAI,CA+CN;AAiDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,IAAI,SAAS,MAAM,EAC9C,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,EAC5B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAClC,IAAI,CAqBN"}
@@ -0,0 +1,188 @@
1
+ import { getDef, getShape } from './processors/_utils.js';
2
+ // Structural keys used to drive recursive traversal in registerDeep.
3
+ // These are not field metadata, so they are stripped before calling registry.add().
4
+ const TRAVERSAL_KEYS = new Set(['fields', 'arrayItems']);
5
+ /**
6
+ * Extract only the flat metadata keys from a config object, stripping
7
+ * traversal directives (`fields`, `arrayItems`). Returns `undefined`
8
+ * when no metadata keys remain.
9
+ */
10
+ function stripTraversalKeys(config) {
11
+ const flatMeta = {};
12
+ for (const [key, value] of Object.entries(config)) {
13
+ if (!TRAVERSAL_KEYS.has(key)) {
14
+ flatMeta[key] = value;
15
+ }
16
+ }
17
+ return Object.keys(flatMeta).length > 0 ? flatMeta : undefined;
18
+ }
19
+ /**
20
+ * Register a schema and all its nested fields in a registry using a
21
+ * path-structured {@link FieldConfig} tree.
22
+ *
23
+ * Only the flat metadata fields (`fieldType`, `order`, `hidden`, `section`,
24
+ * `props`, etc.) are passed to `registry.add()` for each schema. The
25
+ * structural keys `fields` and `arrayItems` are used purely to drive the
26
+ * recursive walk and are never stored in the registry.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const formRegistry = z.registry<FormMeta>();
31
+ *
32
+ * const schema = z.object({
33
+ * name: z.string(),
34
+ * address: z.object({ street: z.string(), city: z.string() }),
35
+ * tags: z.array(z.string()),
36
+ * });
37
+ *
38
+ * registerDeep(formRegistry, schema, {
39
+ * component: 'form',
40
+ * fields: {
41
+ * name: { component: 'Input', order: 0 },
42
+ * address: {
43
+ * component: 'Fieldset',
44
+ * fields: {
45
+ * street: { component: 'Input' },
46
+ * city: { component: 'Input', hidden: true },
47
+ * },
48
+ * },
49
+ * tags: {
50
+ * component: 'ArrayField',
51
+ * arrayItems: { component: 'Input' },
52
+ * },
53
+ * },
54
+ * });
55
+ * ```
56
+ */
57
+ export function registerDeep(registry, schema, config) {
58
+ // SAFETY: FieldConfig<S> is a branded intersection — cast to plain record for dynamic key iteration
59
+ const raw = config;
60
+ const flatMeta = stripTraversalKeys(raw);
61
+ if (flatMeta) {
62
+ // SAFETY: flatMeta is built from the user's FieldConfig which matches Meta at runtime
63
+ registry.add(schema, flatMeta);
64
+ }
65
+ // ── Object shape ───────────────────────────────────────────────────
66
+ const fields = raw['fields'];
67
+ if (fields && typeof fields === 'object') {
68
+ const shape = getShape(getDef(schema));
69
+ const shapeKeys = new Set(Object.keys(shape));
70
+ for (const [key, childSchema] of Object.entries(shape)) {
71
+ // SAFETY: fields is Record<string, FieldConfig> at runtime
72
+ const childConfig = fields[key];
73
+ if (childConfig) {
74
+ // SAFETY: childSchema is $ZodType from the shape — cast needed for recursive generic
75
+ registerDeep(registry, childSchema, childConfig);
76
+ }
77
+ }
78
+ // Warn about config keys that don't match any schema field
79
+ for (const configKey of Object.keys(fields)) {
80
+ if (!shapeKeys.has(configKey)) {
81
+ console.warn(`[zod-to-form] registerDeep: config references field "${configKey}" ` +
82
+ `which does not exist in the schema shape. Available fields: ${[...shapeKeys].join(', ')}. ` +
83
+ `This entry will be ignored.`);
84
+ }
85
+ }
86
+ }
87
+ // ── Array element ──────────────────────────────────────────────────
88
+ const arrayItems = raw['arrayItems'];
89
+ if (arrayItems) {
90
+ // SAFETY: element is $ZodType when schema is a ZodArray — undefined otherwise (safely guarded)
91
+ const element = getDef(schema)['element'];
92
+ if (element) {
93
+ // SAFETY: recursive generic requires cast — element is $ZodType at runtime
94
+ registerDeep(registry, element, arrayItems);
95
+ }
96
+ }
97
+ }
98
+ /**
99
+ * Resolve a dot-path (e.g. `"address.street"` or `"tags[]"`) against a
100
+ * schema, returning the leaf `$ZodType` that the path points to.
101
+ *
102
+ * Supported path segments:
103
+ * - `key` — object shape lookup
104
+ * - `key[]` — array element lookup (strips the `[]` suffix, descends into element)
105
+ * - `N` — numeric segment, descends into the array element of the current schema
106
+ */
107
+ function resolveSchemaPath(schema, path) {
108
+ const segments = path.split('.');
109
+ let current = schema;
110
+ for (const segment of segments) {
111
+ // Handle trailing `[]` — means "descend into the array element"
112
+ const arrayBracket = segment.endsWith('[]');
113
+ const key = arrayBracket ? segment.slice(0, -2) : segment;
114
+ // Numeric segment → descend into the array element of the current schema
115
+ if (/^\d+$/.test(key)) {
116
+ // SAFETY: element is $ZodType when current is a ZodArray — undefined otherwise
117
+ const element = getDef(current)['element'];
118
+ if (!element)
119
+ return undefined;
120
+ current = element;
121
+ continue;
122
+ }
123
+ // Named key → object shape lookup
124
+ if (key) {
125
+ const shape = getShape(getDef(current));
126
+ const child = shape[key];
127
+ if (!child)
128
+ return undefined;
129
+ current = child;
130
+ }
131
+ // If the segment had `[]`, descend into the array element
132
+ if (arrayBracket) {
133
+ // SAFETY: element is $ZodType when current is a ZodArray — undefined otherwise
134
+ const element = getDef(current)['element'];
135
+ if (!element)
136
+ return undefined;
137
+ current = element;
138
+ }
139
+ }
140
+ return current;
141
+ }
142
+ /**
143
+ * Register flat dot-path field configs against a schema's registry.
144
+ *
145
+ * Typically called with the merged output of `resolveFieldConfig()`,
146
+ * a flat `Record<string, FieldConfig>` keyed by dot-paths like
147
+ * `"name"`, `"address.street"`, `"tags[]"` — and resolves each path against
148
+ * the schema structure, calling `registry.add()` for the target schema node.
149
+ *
150
+ * This bridges the existing flat config format (used by CLI and
151
+ * `ZodFormsConfig.fields`) into the registry so that `walkSchema` can
152
+ * consume it uniformly.
153
+ *
154
+ * @example
155
+ * ```ts
156
+ * const formRegistry = z.registry<FormMeta>();
157
+ * const schema = z.object({
158
+ * name: z.string(),
159
+ * address: z.object({ street: z.string(), city: z.string() }),
160
+ * });
161
+ *
162
+ * registerFlat(formRegistry, schema, {
163
+ * name: { component: 'Input', order: 0 },
164
+ * 'address.street': { component: 'Input' },
165
+ * 'address.city': { component: 'Input', hidden: true },
166
+ * });
167
+ * ```
168
+ */
169
+ export function registerFlat(registry, schema, fields) {
170
+ for (const [path, config] of Object.entries(fields)) {
171
+ if (!config)
172
+ continue;
173
+ const target = resolveSchemaPath(schema, path);
174
+ if (!target) {
175
+ console.warn(`[zod-to-form] registerFlat: path "${path}" does not resolve to any ` +
176
+ `schema node and will be ignored. Check for typos or ensure the schema ` +
177
+ `structure matches the configured paths.`);
178
+ continue;
179
+ }
180
+ // Strip traversal keys before storing in registry
181
+ const flatMeta = stripTraversalKeys(config);
182
+ if (flatMeta) {
183
+ // SAFETY: flatMeta is built from the user's FieldConfig which matches Meta at runtime
184
+ registry.add(target, flatMeta);
185
+ }
186
+ }
187
+ }
188
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodArray, $ZodObject, $ZodRegistry, $ZodType } from 'zod/v4/core';
2
2
  export interface FormFieldOption {
3
3
  value: string | number;
4
4
  label: string;
@@ -53,9 +53,9 @@ export interface FormField {
53
53
  /** Custom render function from FormMeta (runtime only, not serialisable) */
54
54
  render?: (field: FormField, props: Record<string, unknown>) => unknown;
55
55
  }
56
- export interface FieldConfig {
57
- /** Override component, e.g. "textarea", "switch", "combobox" */
58
- fieldType?: string;
56
+ type FieldConfigBase = {
57
+ /** Component name override, e.g. "Textarea", "Switch", "Combobox" */
58
+ component?: string;
59
59
  /** Display order override */
60
60
  order?: number;
61
61
  /** Hide field from UI (remains in form state) */
@@ -64,7 +64,7 @@ export interface FieldConfig {
64
64
  gridColumn?: string;
65
65
  /** Arbitrary field metadata props forwarded by processors */
66
66
  props?: Record<string, unknown>;
67
- /** Per-field prop mapping override (merges over ComponentEntry.propMap) */
67
+ /** Per-field prop mapping override (merges over ComponentOverride.propMap) */
68
68
  propMap?: Record<string, string>;
69
69
  /**
70
70
  * Group this field into a named section component.
@@ -73,7 +73,20 @@ export interface FieldConfig {
73
73
  * The section component reads its fields from FormProvider context.
74
74
  */
75
75
  section?: string;
76
- }
76
+ };
77
+ type FieldConfigExtras<T extends $ZodType> = $ZodType extends T ? {
78
+ fields?: Record<string, FieldConfig>;
79
+ arrayItems?: FieldConfig;
80
+ } : T extends $ZodObject<infer Shape> ? {
81
+ fields?: {
82
+ [K in keyof Shape]?: FieldConfig<Shape[K]>;
83
+ };
84
+ arrayItems?: never;
85
+ } : T extends $ZodArray<infer Item> ? {
86
+ arrayItems?: FieldConfig<Item & $ZodType>;
87
+ fields?: never;
88
+ } : Record<never, never>;
89
+ export type FieldConfig<T extends $ZodType = $ZodType> = FieldConfigBase & FieldConfigExtras<T>;
77
90
  export interface FormMeta extends FieldConfig {
78
91
  /** Custom render function (runtime only, ignored in codegen) */
79
92
  render?: (field: FormField, props: unknown) => unknown;
@@ -93,8 +106,8 @@ export interface FormProcessorContext {
93
106
  formRegistry?: ZodFormRegistry;
94
107
  /** Current field path stack */
95
108
  path: string[];
96
- /** Cycle detection for recursive schemas */
97
- seen: WeakSet<ZodType>;
109
+ /** Tracks visited schema objects — prevents infinite loops from recursive schemas and avoids re-processing the same reference */
110
+ seen: WeakSet<$ZodType>;
98
111
  /** Maximum recursion depth (default: 5) */
99
112
  maxDepth: number;
100
113
  /** Current recursion depth */
@@ -104,18 +117,11 @@ export interface FormProcessorContext {
104
117
  * Provided by the walker for use in nesting processors (object, array, union).
105
118
  * Undefined only in unit-test contexts where nesting is not being tested.
106
119
  */
107
- processChild?: (schema: ZodType, key: string) => FormField;
120
+ processChild?: (schema: $ZodType, key: string) => FormField;
108
121
  }
109
- export type FormProcessor = (schema: ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams) => void;
110
- /**
111
- * Type alias for the form registry. Uses the Zod registry system
112
- * with FormMeta as the metadata shape.
113
- * Consumers create this via: `const formRegistry = z.registry<FormMeta>()`
114
- */
115
- export type ZodFormRegistry = {
116
- get(schema: ZodType): FormMeta | undefined;
117
- has(schema: ZodType): boolean;
118
- };
122
+ export type FormProcessor = (schema: $ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams) => void;
123
+ /** Zod v4 registry parameterized with FormMeta. Create via `z.registry<FormMeta>()`. */
124
+ export type ZodFormRegistry = $ZodRegistry<FormMeta>;
119
125
  export interface WalkOptions {
120
126
  /** Custom form registry for metadata annotations */
121
127
  formRegistry?: ZodFormRegistry;
@@ -124,4 +130,5 @@ export interface WalkOptions {
124
130
  /** Maximum recursion depth for lazy/recursive schemas (default: 5) */
125
131
  maxDepth?: number;
126
132
  }
133
+ export {};
127
134
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/walker.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ZodType } from 'zod';
1
+ import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, WalkOptions } from './types.js';
3
3
  /**
4
4
  * Walk a Zod schema and produce a FormField[] tree.
@@ -1 +1 @@
1
- {"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAMnC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwEzD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CA6B9E"}
1
+ {"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAMvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwEzD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CA6B9E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zod-to-form/core",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "Schema walker and processor registry for Zod v4 form generation",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/pradeepmouli/zod-to-form#readme",
@@ -36,6 +36,7 @@
36
36
  "zod": "^4.0.0"
37
37
  },
38
38
  "devDependencies": {
39
+ "type-fest": "^5.4.4",
39
40
  "zod": "^4.3.6"
40
41
  },
41
42
  "scripts": {