@zod-to-form/react 0.6.2 → 0.6.3

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,4 +1,4 @@
1
- import type { ComponentType } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import type { FormField, FieldConfig, ComponentOverride } from '@zod-to-form/core';
3
3
  import { defaultComponentMap } from './components/index.js';
4
4
  type ComponentMap = typeof defaultComponentMap;
@@ -6,7 +6,7 @@ export type RuntimeComponentConfig = {
6
6
  /**
7
7
  * Component source and optional per-component overrides.
8
8
  * `source` is used by CLI codegen to emit a static import statement (not used at runtime).
9
- * `overrides` maps component names to `ComponentOverride` metadata (controlled, propMap, etc.).
9
+ * `overrides` maps component names to `ComponentOverride` metadata (controlled, props, etc.).
10
10
  */
11
11
  components: {
12
12
  source: string;
@@ -15,17 +15,27 @@ export type RuntimeComponentConfig = {
15
15
  /**
16
16
  * The pre-imported components module object, e.g. `import * as myComponents from './components'`.
17
17
  * Used to resolve component functions by name at runtime.
18
+ * Section components are also resolved from this module.
18
19
  */
19
20
  componentModule?: Record<string, unknown>;
20
21
  fields?: Record<string, FieldConfig>;
21
- /**
22
- * Pre-imported section components, keyed by the section name used in `fields[key].section`.
23
- * Required when using section field grouping at runtime.
24
- */
25
- sectionComponents?: Record<string, ComponentType<{
26
- fields: string[];
27
- }>>;
28
22
  };
23
+ /**
24
+ * One-time validation of component config for removed keys.
25
+ * Called once per form render (from ZodForm), not per field.
26
+ */
27
+ export declare function warnRemovedConfigKeys(componentConfig: RuntimeComponentConfig | undefined): void;
28
+ export interface FieldTemplateProps {
29
+ children: ReactNode;
30
+ label: string;
31
+ description?: string;
32
+ helpText?: string;
33
+ error?: string;
34
+ name: string;
35
+ required?: boolean;
36
+ disabled?: boolean;
37
+ deprecated?: boolean;
38
+ }
29
39
  type FieldRendererProps = {
30
40
  field: FormField;
31
41
  components?: Partial<ComponentMap>;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldRenderer.d.ts","sourceRoot":"","sources":["../src/FieldRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,KAAK,YAAY,GAAG,OAAO,mBAAmB,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC/C,CAAC;IACF;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC,CAAC;CACzE,CAAC;AA+FF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C,CAAC;AAsOF,eAAO,MAAM,aAAa,qJAuHxB,CAAC"}
1
+ {"version":3,"file":"FieldRenderer.d.ts","sourceRoot":"","sources":["../src/FieldRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,KAAK,YAAY,GAAG,OAAO,mBAAmB,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC/C,CAAC;IACF;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC,CAAC;AAIF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,sBAAsB,GAAG,SAAS,GAAG,IAAI,CAqD/F;AAsJD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAmCD,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C,CAAC;AAqSF,eAAO,MAAM,aAAa,+EAIvB,kBAAkB,oDA6HnB,CAAC"}
@@ -1,8 +1,55 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo, memo } from 'react';
3
3
  import { getEmptyDefault } from '@zod-to-form/core';
4
4
  import { useController, useFieldArray, useFormContext } from 'react-hook-form';
5
5
  import { defaultComponentMap } from './components/index.js';
6
+ const _warned = new Set();
7
+ /**
8
+ * One-time validation of component config for removed keys.
9
+ * Called once per form render (from ZodForm), not per field.
10
+ */
11
+ export function warnRemovedConfigKeys(componentConfig) {
12
+ if (!componentConfig)
13
+ return;
14
+ // Check component overrides for removed keys and misconfiguration
15
+ if (componentConfig.components.overrides) {
16
+ for (const [name, entry] of Object.entries(componentConfig.components.overrides)) {
17
+ if (!entry)
18
+ continue;
19
+ if ('propMap' in entry && !_warned.has(`override:propMap:${name}`)) {
20
+ _warned.add(`override:propMap:${name}`);
21
+ console.warn(`[zod-to-form] Component override "${name}" uses "propMap" which has been removed. ` +
22
+ `Move field expression values into "props" instead.`);
23
+ }
24
+ if (entry.props && !entry.controlled) {
25
+ const hasFieldExpr = Object.values(entry.props).some((v) => typeof v === 'string' && FIELD_EXPRESSIONS.has(v));
26
+ if (hasFieldExpr && !_warned.has(`override:noControlled:${name}`)) {
27
+ _warned.add(`override:noControlled:${name}`);
28
+ console.warn(`[zod-to-form] Component override "${name}" has field expression values in "props" ` +
29
+ `but "controlled" is not set to true. Field expressions are only resolved for controlled components.`);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ // Check field configs for removed keys
35
+ if (componentConfig.fields) {
36
+ for (const [key, fieldConfig] of Object.entries(componentConfig.fields)) {
37
+ if (!fieldConfig)
38
+ continue;
39
+ if ('propMap' in fieldConfig && !_warned.has(`field:propMap:${key}`)) {
40
+ _warned.add(`field:propMap:${key}`);
41
+ console.warn(`[zod-to-form] Field "${key}" uses "propMap" which has been removed. ` +
42
+ `Move field expression values into "props" instead. ` +
43
+ `Example: props: { onValueChange: 'field.onChange' }`);
44
+ }
45
+ if ('gridColumn' in fieldConfig && !_warned.has(`field:gridColumn:${key}`)) {
46
+ _warned.add(`field:gridColumn:${key}`);
47
+ console.warn(`[zod-to-form] Field "${key}" uses "gridColumn" which has been removed. ` +
48
+ `Use "props.style" or "props.className" for layout instead.`);
49
+ }
50
+ }
51
+ }
52
+ }
6
53
  function resolveFieldOverride(field, componentConfig) {
7
54
  if (!componentConfig) {
8
55
  return {};
@@ -18,8 +65,17 @@ function resolveFieldOverride(field, componentConfig) {
18
65
  componentOverride: componentConfig.components.overrides?.[field.component]
19
66
  };
20
67
  }
68
+ /** Check if a value is a valid React component (function, memo, forwardRef, lazy) */
69
+ function isReactComponent(value) {
70
+ if (typeof value === 'function')
71
+ return true;
72
+ // React.memo, forwardRef, lazy produce objects with $$typeof
73
+ if (value !== null && typeof value === 'object' && '$$typeof' in value)
74
+ return true;
75
+ return false;
76
+ }
21
77
  function asComponentType(value, errorMessage) {
22
- if (typeof value !== 'function') {
78
+ if (!isReactComponent(value)) {
23
79
  throw new Error(errorMessage);
24
80
  }
25
81
  return value;
@@ -48,37 +104,96 @@ function getErrorAtPath(errors, path) {
48
104
  }
49
105
  return undefined;
50
106
  }
107
+ function zodSchemaValidate(field) {
108
+ if (field.validation?.mode !== 'zodSchema' || !field.zodSchema)
109
+ return undefined;
110
+ const schema = field.zodSchema;
111
+ return (value) => {
112
+ // Normalize empty strings to undefined to match zodResolver behavior
113
+ const normalized = value === '' ? undefined : value;
114
+ const result = schema.safeParse(normalized);
115
+ if (result.success)
116
+ return true;
117
+ return result.error?.issues[0]?.message ?? 'Validation failed';
118
+ };
119
+ }
51
120
  function getRegisterOptions(field) {
121
+ const opts = {};
52
122
  if (field.zodType === 'number' || field.zodType === 'bigint') {
53
- return { valueAsNumber: true };
123
+ opts['valueAsNumber'] = true;
54
124
  }
55
125
  if (field.zodType === 'date') {
56
- return { valueAsDate: true };
126
+ opts['valueAsDate'] = true;
57
127
  }
58
128
  if (field.zodType === 'file') {
59
- return {
60
- setValueAs: (value) => {
61
- if (value instanceof FileList) {
62
- return value.length > 0 ? value.item(0) : undefined;
63
- }
64
- return value;
129
+ opts['setValueAs'] = (value) => {
130
+ if (value instanceof FileList) {
131
+ return value.length > 0 ? value.item(0) : undefined;
65
132
  }
133
+ return value;
66
134
  };
67
135
  }
68
- return {};
136
+ // Optimized validation: per-field validation
137
+ if (field.validation?.mode === 'native' && field.validation.rules) {
138
+ // L2: native RHF rules — spread directly into register options
139
+ const rules = field.validation.rules;
140
+ if (rules.required)
141
+ opts['required'] = rules.required;
142
+ if (rules.min)
143
+ opts['min'] = rules.min;
144
+ if (rules.max)
145
+ opts['max'] = rules.max;
146
+ if (rules.minLength)
147
+ opts['minLength'] = rules.minLength;
148
+ if (rules.maxLength)
149
+ opts['maxLength'] = rules.maxLength;
150
+ if (rules.pattern)
151
+ opts['pattern'] = rules.pattern;
152
+ }
153
+ else if (field.validation?.mode === 'zodSchema') {
154
+ // L1: per-field zodSchema validation via register({ validate })
155
+ const validate = zodSchemaValidate(field);
156
+ if (validate) {
157
+ opts['validate'] = validate;
158
+ }
159
+ }
160
+ // component-enforced: no validation emitted
161
+ return opts;
162
+ }
163
+ function DefaultFieldTemplate({ children, label, description, helpText, error, name, deprecated, components }) {
164
+ const { FieldLabel, FieldDescription, FieldMessage } = { ...defaultComponentMap, ...components };
165
+ return (_jsxs(_Fragment, { children: [_jsxs(FieldLabel, { htmlFor: name, children: [deprecated ? _jsx("s", { children: label }) : label, deprecated ? (_jsxs("span", { "aria-hidden": "true", title: "Deprecated", children: [' ', "\u26A0"] })) : null, deprecated ? _jsx("span", { className: "sr-only", children: " (Deprecated)" }) : null] }), children, description ? _jsx(FieldDescription, { children: description }) : null, helpText ? (_jsx("p", { style: { fontSize: '0.875rem', color: '#6b7280', marginTop: '0.25rem' }, children: helpText })) : null, error ? _jsx(FieldMessage, { children: error }) : null] }));
69
166
  }
70
- // ─── T088: Fieldset block for nested object fields ────────────────────
167
+ function buildBaseComponentProps(field, errorMessage) {
168
+ return {
169
+ id: field.key,
170
+ 'aria-invalid': errorMessage ? 'true' : 'false',
171
+ required: field.required,
172
+ readOnly: field.readOnly,
173
+ disabled: field.disabled
174
+ };
175
+ }
176
+ // ─── Fieldset block for nested object fields ──────────────────────────
71
177
  const FieldsetBlock = memo(function FieldsetBlock({ field, components, componentConfig }) {
72
178
  const componentMap = { ...defaultComponentMap, ...components };
73
179
  const FieldComponent = componentMap.Field;
74
- const wrapperProps = {};
75
- if (field.gridColumn) {
76
- wrapperProps['style'] = { gridColumn: field.gridColumn };
180
+ const overrideComponentName = componentConfig?.fields?.[field.key]?.component;
181
+ if (overrideComponentName && componentConfig?.componentModule) {
182
+ const candidate = componentConfig.componentModule[overrideComponentName];
183
+ if (isReactComponent(candidate)) {
184
+ const OverrideComponent = candidate;
185
+ return (_jsx(FieldComponent, { children: _jsx(OverrideComponent, { children: field.children?.map((child) => (_jsx(FieldRenderer, { field: child, components: componentMap, componentConfig: componentConfig }, child.key))) }) }));
186
+ }
187
+ // Warn if component not found, fall back to fieldset
188
+ if (!_warned.has(`fieldset:${field.key}`)) {
189
+ _warned.add(`fieldset:${field.key}`);
190
+ console.warn(`[zod-to-form] Field "${field.key}" specifies component "${overrideComponentName}" ` +
191
+ `but it was not found in componentModule. Falling back to <fieldset>.`);
192
+ }
77
193
  }
78
- return (_jsx(FieldComponent, { ...wrapperProps, children: _jsxs("fieldset", { children: [
79
- _jsx("legend", { children: field.label }), field.children?.map((child) => (_jsx(FieldRenderer, { field: child, components: componentMap, componentConfig: componentConfig }, child.key)))] }) }));
194
+ return (_jsx(FieldComponent, { children: _jsxs("fieldset", { children: [_jsx("legend", { children: field.label }), field.children?.map((child) => (_jsx(FieldRenderer, { field: child, components: componentMap, componentConfig: componentConfig }, child.key)))] }) }));
80
195
  });
81
- // ─── T089: Array block with useFieldArray ─────────────────────────────
196
+ // ─── Array block with useFieldArray ───────────────────────────────────
82
197
  function getDefaultAppendValue(arrayItem) {
83
198
  if (!arrayItem)
84
199
  return '';
@@ -89,22 +204,14 @@ const ArrayBlock = memo(function ArrayBlock({ field, components, componentConfig
89
204
  const { control } = useFormContext();
90
205
  const { fields: items, append, remove } = useFieldArray({ control, name: field.key });
91
206
  const minLength = field.constraints.minLength ?? 0;
92
- const wrapperProps = {};
93
- if (field.gridColumn) {
94
- wrapperProps['style'] = { gridColumn: field.gridColumn };
95
- }
96
- return (_jsxs("fieldset", { ...wrapperProps, children: [
97
- _jsx("legend", { children: field.label }), items.map((item, index) => {
207
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: field.label }), items.map((item, index) => {
98
208
  if (!field.arrayItem)
99
209
  return null;
100
210
  const itemField = { ...field.arrayItem, key: `${field.key}.${index}` };
101
- return (_jsxs("div", { children: [
102
- _jsx(FieldRenderer, { field: itemField, components: componentMap, componentConfig: componentConfig }), _jsx("button", { type: "button", onClick: () => remove(index), disabled: items.length <= minLength, children: "Remove" })
103
- ] }, item.id));
104
- }), _jsx("button", { type: "button", onClick: () => append(getDefaultAppendValue(field.arrayItem)), children: "Add" })
105
- ] }));
211
+ return (_jsxs("div", { children: [_jsx(FieldRenderer, { field: itemField, components: componentMap, componentConfig: componentConfig }), _jsx("button", { type: "button", onClick: () => remove(index), disabled: items.length <= minLength, children: "Remove" })] }, item.id));
212
+ }), _jsx("button", { type: "button", onClick: () => append(getDefaultAppendValue(field.arrayItem)), children: "Add" })] }));
106
213
  });
107
- // ─── T090: Discriminated union block with watch ───────────────────────
214
+ // ─── Discriminated union block with watch ─────────────────────────────
108
215
  const DiscriminatedUnionBlock = memo(function DiscriminatedUnionBlock({ field, components, componentConfig }) {
109
216
  const componentMap = { ...defaultComponentMap, ...components };
110
217
  const { register, watch } = useFormContext();
@@ -115,82 +222,105 @@ const DiscriminatedUnionBlock = memo(function DiscriminatedUnionBlock({ field, c
115
222
  const variantFields = currentValue ? (variants?.[currentValue] ?? []) : [];
116
223
  const FieldComponent = componentMap.Field;
117
224
  const FieldLabelComponent = componentMap.FieldLabel;
118
- const wrapperProps = {};
119
- if (field.gridColumn) {
120
- wrapperProps['style'] = { gridColumn: field.gridColumn };
121
- }
122
- return (_jsxs(FieldComponent, { ...wrapperProps, children: [
123
- _jsx(FieldLabelComponent, { htmlFor: discKey, children: field.label }), _jsxs("select", { id: discKey, ...register(discKey), children: [
124
- _jsx("option", { value: "", children: "Select\u2026" }), field.options?.map((opt) => (_jsx("option", { value: String(opt.value), children: opt.label }, String(opt.value))))] }), variantFields.map((child) => (_jsx(FieldRenderer, { field: child, components: componentMap, componentConfig: componentConfig }, child.key)))] }));
225
+ return (_jsxs(FieldComponent, { children: [_jsx(FieldLabelComponent, { htmlFor: discKey, children: field.label }), _jsxs("select", { id: discKey, ...register(discKey), children: [_jsx("option", { value: "", children: "Select\u2026" }), field.options?.map((opt) => (_jsx("option", { value: String(opt.value), children: opt.label }, String(opt.value))))] }), variantFields.map((child) => (_jsx(FieldRenderer, { field: child, components: componentMap, componentConfig: componentConfig }, child.key)))] }));
125
226
  });
227
+ /** Maps field expression strings to their corresponding RHF controller field property names */
228
+ const EXPRESSION_TO_FIELD_PROP = {
229
+ 'field.value': 'value',
230
+ 'field.onChange': 'onChange',
231
+ 'field.onBlur': 'onBlur',
232
+ 'field.ref': 'ref',
233
+ 'field.name': 'name'
234
+ };
235
+ /** Derived from EXPRESSION_TO_FIELD_PROP — guaranteed to stay in sync */
236
+ const FIELD_EXPRESSIONS = new Set(Object.keys(EXPRESSION_TO_FIELD_PROP));
126
237
  /**
127
- * Apply propMap to remap RHF controller field props to component-specific prop names.
128
- * Default RHF field props: value, onChange, onBlur, ref, name.
129
- * propMap entries like { onSelect: 'field.onChange' } replace the default mapping.
238
+ * Resolve props for a controlled component by merging preset override props,
239
+ * per-field config props, and the RHF controller field.
240
+ *
241
+ * - Props whose values match a known field expression string (e.g., `'field.onChange'`)
242
+ * are resolved from the RHF controller field.
243
+ * - All other props pass through as literal values.
244
+ * - Merge order: preset override props → field config props (field wins on conflict).
245
+ * - RHF default props (value, onChange, onBlur, ref, name) are included unless
246
+ * a field expression explicitly remaps that controller property to a different prop name.
130
247
  */
131
- function applyPropMap(controllerField, propMap) {
132
- if (!propMap)
133
- return controllerField;
134
- const result = {};
135
- const rhfFieldProps = {
136
- 'field.value': 'value',
137
- 'field.onChange': 'onChange',
138
- 'field.onBlur': 'onBlur',
139
- 'field.ref': 'ref',
140
- 'field.name': 'name'
141
- };
142
- // Track which RHF expressions are remapped
143
- const remappedExprs = new Set(Object.values(propMap));
144
- // Copy defaults that aren't being remapped away
145
- for (const [expr, defaultProp] of Object.entries(rhfFieldProps)) {
146
- if (!remappedExprs.has(expr)) {
147
- result[defaultProp] = controllerField[defaultProp];
248
+ function resolveProps(controllerField, presetProps, fieldProps) {
249
+ // Shallow merge: preset first, field config wins on conflict (FR-019)
250
+ const merged = { ...presetProps, ...fieldProps };
251
+ // Separate field expressions from literal props
252
+ const fieldExpressionEntries = [];
253
+ const literalEntries = [];
254
+ for (const [key, value] of Object.entries(merged)) {
255
+ if (typeof value === 'string' && FIELD_EXPRESSIONS.has(value)) {
256
+ fieldExpressionEntries.push([key, value]);
257
+ }
258
+ else {
259
+ literalEntries.push([key, value]);
260
+ }
261
+ }
262
+ // Start with default RHF controller field props
263
+ const result = { ...controllerField };
264
+ // Track which RHF expressions are remapped to custom prop names
265
+ const remappedExprs = new Set(fieldExpressionEntries.map(([, expr]) => expr));
266
+ // Remove default props whose RHF expression is being remapped to a different name
267
+ for (const [expr, defaultProp] of Object.entries(EXPRESSION_TO_FIELD_PROP)) {
268
+ if (remappedExprs.has(expr)) {
269
+ // Only remove if the remapped prop name differs from the default
270
+ const remappedPropName = fieldExpressionEntries.find(([, e]) => e === expr)?.[0];
271
+ if (remappedPropName !== defaultProp) {
272
+ delete result[defaultProp];
273
+ }
148
274
  }
149
275
  }
150
- // Apply remapped props
151
- for (const [componentProp, rhfExpr] of Object.entries(propMap)) {
152
- const defaultProp = rhfFieldProps[rhfExpr];
153
- if (defaultProp) {
154
- result[componentProp] = controllerField[defaultProp];
276
+ // Apply field expression mappings — resolve from controller field
277
+ for (const [propName, expr] of fieldExpressionEntries) {
278
+ const controllerProp = EXPRESSION_TO_FIELD_PROP[expr];
279
+ if (controllerProp) {
280
+ result[propName] = controllerField[controllerProp];
155
281
  }
156
282
  }
283
+ // Apply literal props (override any controller defaults)
284
+ for (const [key, value] of literalEntries) {
285
+ result[key] = value;
286
+ }
157
287
  return result;
158
288
  }
159
- /**
160
- * Merge component-level propMap with per-field propMap override.
161
- * Per-field entries win when keys overlap.
162
- */
163
- function resolvePropMap(componentOverride, fieldOverride) {
164
- const entryMap = componentOverride?.propMap;
165
- const fieldMap = fieldOverride?.propMap;
166
- if (!entryMap && !fieldMap)
167
- return undefined;
168
- return { ...entryMap, ...fieldMap };
169
- }
170
- const ControlledFieldInner = memo(function ControlledFieldInner({ field, Component, propMap, overrideProps, errorMessage }) {
289
+ const ControlledFieldInner = memo(function ControlledFieldInner({ field, Component, presetProps, fieldConfigProps, errorMessage }) {
171
290
  const { control } = useFormContext();
172
- // Note: useController does not use register() options like valueAsNumber/valueAsDate.
173
- // Controlled components manage their own value types via onChange — the component
174
- // is responsible for passing the correct value type back to RHF.
175
- const { field: controllerField } = useController({ name: field.key, control });
176
- const mappedProps = applyPropMap(controllerField, propMap);
291
+ // TODO(L3): Re-enable watch mode for controlled components
292
+ // const watchValidateFn = useWatchValidate(field);
293
+ // When optimized validation is enabled, pass per-field rules to controller
294
+ const controllerRules = (() => {
295
+ // TODO(L3): if (watchValidateFn) return { validate: watchValidateFn };
296
+ if (field.validation?.mode === 'native' && field.validation.rules) {
297
+ return field.validation.rules;
298
+ }
299
+ const validate = zodSchemaValidate(field);
300
+ return validate ? { validate } : undefined;
301
+ })();
302
+ const { field: controllerField } = useController({
303
+ name: field.key,
304
+ control,
305
+ rules: controllerRules
306
+ });
307
+ // controllerField is ControllerRenderProps which extends Record<string, unknown>
308
+ const resolved = resolveProps(controllerField, presetProps, fieldConfigProps);
177
309
  const componentProps = {
178
- id: field.key,
179
- 'aria-invalid': errorMessage ? 'true' : 'false',
180
- required: field.required,
181
- readOnly: field.readOnly,
310
+ ...buildBaseComponentProps(field, errorMessage),
182
311
  ...field.props,
183
- ...overrideProps,
184
- ...mappedProps
312
+ ...resolved
185
313
  };
186
- if ('options' in field && field['options']) {
187
- componentProps['options'] = field['options'];
314
+ if (field.options) {
315
+ componentProps['options'] = field.options;
188
316
  }
189
317
  return _jsx(Component, { ...componentProps });
190
318
  });
191
319
  export const FieldRenderer = memo(function FieldRenderer({ field, components, componentConfig }) {
192
320
  // Always call hooks first (React hooks rule — no conditional hook calls)
193
321
  const { register, formState } = useFormContext();
322
+ // TODO(L3): Re-enable useWatchValidate when L3 cross-field optimization is implemented
323
+ // const watchValidate = useWatchValidate(field);
194
324
  const componentMap = { ...defaultComponentMap, ...components };
195
325
  const mapping = useMemo(() => resolveFieldOverride(field, componentConfig), [field, componentConfig]);
196
326
  // Synchronous component resolution from componentModule
@@ -215,10 +345,10 @@ export const FieldRenderer = memo(function FieldRenderer({ field, components, co
215
345
  componentMap[field.component] ??
216
346
  componentMap.Input);
217
347
  const FieldComponent = componentMap.Field;
218
- const FieldLabelComponent = componentMap.FieldLabel;
219
- const FieldDescriptionComponent = componentMap.FieldDescription;
220
- const FieldMessageComponent = componentMap.FieldMessage;
221
348
  const errorMessage = getErrorAtPath(formState.errors, field.key);
349
+ // Resolve field template: componentModule['FieldTemplate'] → DefaultFieldTemplate fallback
350
+ const customTemplate = componentConfig?.componentModule?.['FieldTemplate'];
351
+ const FieldTemplate = (isReactComponent(customTemplate) ? customTemplate : DefaultFieldTemplate);
222
352
  if (field.hidden) {
223
353
  return null;
224
354
  }
@@ -227,18 +357,14 @@ export const FieldRenderer = memo(function FieldRenderer({ field, components, co
227
357
  return null;
228
358
  }
229
359
  const isControlled = mapping.componentOverride?.controlled === true;
230
- const wrapperProps = {};
231
- if (field.gridColumn) {
232
- wrapperProps['style'] = { gridColumn: field.gridColumn };
233
- }
234
360
  let fieldContent;
361
+ const registerOpts = getRegisterOptions(field);
362
+ // TODO(L3): Merge watch-mode validate when L3 cross-field optimization is implemented
363
+ // if (watchValidate) { registerOpts['validate'] = watchValidate; }
235
364
  if (field.render) {
236
- const registration = register(field.key, getRegisterOptions(field));
365
+ const registration = register(field.key, registerOpts);
237
366
  const componentProps = {
238
- id: field.key,
239
- 'aria-invalid': errorMessage ? 'true' : 'false',
240
- required: field.required,
241
- readOnly: field.readOnly,
367
+ ...buildBaseComponentProps(field, errorMessage),
242
368
  ...field.props,
243
369
  ...mapping.override?.props,
244
370
  ...registration
@@ -246,26 +372,26 @@ export const FieldRenderer = memo(function FieldRenderer({ field, components, co
246
372
  fieldContent = field.render(field, componentProps);
247
373
  }
248
374
  else if (isControlled) {
249
- const propMap = resolvePropMap(mapping.componentOverride, mapping.override);
250
- fieldContent = (_jsx(ControlledFieldInner, { field: field, Component: Component, propMap: propMap, overrideProps: mapping.override?.props, errorMessage: errorMessage }));
375
+ fieldContent = (_jsx(ControlledFieldInner, { field: field, Component: Component, presetProps: mapping.componentOverride?.props, fieldConfigProps: mapping.override?.props, errorMessage: errorMessage }));
251
376
  }
252
377
  else {
253
- const registration = register(field.key, getRegisterOptions(field));
378
+ const registration = register(field.key, registerOpts);
254
379
  const componentProps = {
255
- id: field.key,
256
- 'aria-invalid': errorMessage ? 'true' : 'false',
257
- required: field.required,
258
- readOnly: field.readOnly,
380
+ ...buildBaseComponentProps(field, errorMessage),
259
381
  ...field.props,
260
382
  ...mapping.override?.props,
261
383
  ...registration
262
384
  };
263
- if ('options' in field && field['options']) {
264
- componentProps['options'] = field['options'];
385
+ if (field.options) {
386
+ componentProps['options'] = field.options;
265
387
  }
266
388
  fieldContent = _jsx(Component, { ...componentProps });
267
389
  }
268
- return (_jsxs(FieldComponent, { ...wrapperProps, children: [
269
- _jsx(FieldLabelComponent, { htmlFor: field.key, children: field.label }), fieldContent, field.description ? (_jsx(FieldDescriptionComponent, { children: field.description })) : null, errorMessage ? _jsx(FieldMessageComponent, { children: errorMessage }) : null] }));
390
+ const mergedFieldProps = { ...field.props, ...mapping.override?.props };
391
+ const wrapperProps = {
392
+ ...(mergedFieldProps['style'] ? { style: mergedFieldProps['style'] } : undefined),
393
+ ...(mergedFieldProps['className'] ? { className: mergedFieldProps['className'] } : undefined)
394
+ };
395
+ return (_jsx(FieldComponent, { ...wrapperProps, children: _jsx(FieldTemplate, { name: field.key, label: field.label, description: field.description, helpText: field.helpText, error: errorMessage, required: field.required, disabled: field.disabled, deprecated: field.deprecated, components: components, children: fieldContent }) }));
270
396
  });
271
397
  //# sourceMappingURL=FieldRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldRenderer.js","sourceRoot":"","sources":["../src/FieldRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldRenderer.js","sourceRoot":"","sources":["../src/FieldRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { $ZodType } from 'zod/v4/core';
2
+ import type { UseFormSetError } from 'react-hook-form';
3
+ /**
4
+ * Wraps a form onSubmit handler with schemaLite validation.
5
+ * Runs schemaLite.safeParse on the form data before calling the original handler.
6
+ * Maps validation errors to form fields via setError.
7
+ */
8
+ export declare function wrapWithSchemaLite<TData extends Record<string, unknown>>(schemaLite: $ZodType, setError: UseFormSetError<TData>, onSubmit: (data: TData) => void | Promise<void>): (data: TData) => void | Promise<void>;
9
+ //# sourceMappingURL=SchemaLiteSubmit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaLiteSubmit.d.ts","sourceRoot":"","sources":["../src/SchemaLiteSubmit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,iBAAiB,CAAC;AAU/E;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtE,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,EAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC9C,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvC"}
@@ -0,0 +1,26 @@
1
+ import { normalizeFormValues } from '@zod-to-form/core';
2
+ /**
3
+ * Wraps a form onSubmit handler with schemaLite validation.
4
+ * Runs schemaLite.safeParse on the form data before calling the original handler.
5
+ * Maps validation errors to form fields via setError.
6
+ */
7
+ export function wrapWithSchemaLite(schemaLite, setError, onSubmit) {
8
+ const schema = schemaLite;
9
+ return (data) => {
10
+ const result = schema.safeParse(normalizeFormValues(data));
11
+ if (!result.success && result.error) {
12
+ for (const issue of result.error.issues) {
13
+ const path = issue.path.map(String).join('.');
14
+ if (path) {
15
+ setError(path, { type: 'validate', message: issue.message });
16
+ }
17
+ else {
18
+ setError('root', { type: 'validate', message: issue.message });
19
+ }
20
+ }
21
+ return;
22
+ }
23
+ return onSubmit(data);
24
+ };
25
+ }
26
+ //# sourceMappingURL=SchemaLiteSubmit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaLiteSubmit.js","sourceRoot":"","sources":["../src/SchemaLiteSubmit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AASxD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAoB,EACpB,QAAgC,EAChC,QAA+C;IAE/C,MAAM,MAAM,GAAG,UAAsC,CAAC;IACtD,OAAO,CAAC,IAAW,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,QAAQ,CAAC,IAAwB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ZodForm.d.ts","sourceRoot":"","sources":["../src/ZodForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAC7C,OAAO,KAAK,EAAa,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,KAAK,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,OAAO,CAAC,OAAO,SAAS,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,CAmE1F"}
1
+ {"version":3,"file":"ZodForm.d.ts","sourceRoot":"","sources":["../src/ZodForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAC7C,OAAO,KAAK,EAAa,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,KAAK,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAIF,wBAAgB,OAAO,CAAC,OAAO,SAAS,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,CAmF1F"}