@lucas-barake/effect-form-react 0.26.0-beta.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,12 @@
1
+ import * as Atom from "@effect-atom/atom/Atom";
2
+ import type * as Registry from "@effect-atom/atom/Registry";
1
3
  import { Field, FormAtoms } from "@lucas-barake/effect-form";
2
4
  import type { FieldState as FieldStateModule, Mode } from "@lucas-barake/effect-form";
3
5
  import type * as FormBuilder from "@lucas-barake/effect-form/FormBuilder";
4
6
  import type * as Effect from "effect/Effect";
5
7
  import * as Option from "effect/Option";
8
+ import type * as ParseResult from "effect/ParseResult";
6
9
  import type * as Schema from "effect/Schema";
7
- import * as Atom from "effect/unstable/reactivity/Atom";
8
- import type * as AtomRegistry from "effect/unstable/reactivity/AtomRegistry";
9
10
  import * as React from "react";
10
11
  export type FieldValue<T> = FieldStateModule.FieldValue<T>;
11
12
  export type FieldState<E> = FieldStateModule.FieldState<E>;
@@ -19,11 +20,11 @@ export type ExtractExtraProps<C> = C extends React.FC<FieldComponentProps<any, i
19
20
  type StructFieldsFromSchema<S> = S extends Schema.Struct<infer Fields> ? Fields : S extends {
20
21
  readonly from: infer From;
21
22
  } ? StructFieldsFromSchema<From> : never;
22
- export type ArrayItemComponentMap<S extends Schema.Top> = StructFieldsFromSchema<S> extends Schema.Struct.Fields ? {
23
- readonly [K in keyof StructFieldsFromSchema<S>]: StructFieldsFromSchema<S>[K] extends Schema.Top ? React.FC<FieldComponentProps<Schema.Codec.Encoded<StructFieldsFromSchema<S>[K]>, any>> : never;
24
- } : React.FC<FieldComponentProps<Schema.Codec.Encoded<S>, any>>;
23
+ export type ArrayItemComponentMap<S extends Schema.Schema.Any> = StructFieldsFromSchema<S> extends Schema.Struct.Fields ? {
24
+ readonly [K in keyof StructFieldsFromSchema<S>]: StructFieldsFromSchema<S>[K] extends Schema.Schema.Any ? React.FC<FieldComponentProps<Schema.Schema.Encoded<StructFieldsFromSchema<S>[K]>, any>> : never;
25
+ } : React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>;
25
26
  export type FieldComponentMap<TFields extends Field.FieldsRecord> = {
26
- readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ? React.FC<FieldComponentProps<Schema.Codec.Encoded<S>, any>> : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? ArrayItemComponentMap<S> : never;
27
+ readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ? React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>> : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? ArrayItemComponentMap<S> : never;
27
28
  };
28
29
  export type FieldRefs<TFields extends Field.FieldsRecord> = FormAtoms.FieldRefs<TFields>;
29
30
  export type BuiltForm<TFields extends Field.FieldsRecord, R, A = void, E = never, SubmitArgs = void, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>> = {
@@ -33,14 +34,14 @@ export type BuiltForm<TFields extends Field.FieldsRecord, R, A = void, E = never
33
34
  readonly lastSubmittedValues: Atom.Atom<Option.Option<FormBuilder.SubmittedValues<TFields>>>;
34
35
  readonly submitCount: Atom.Atom<number>;
35
36
  readonly validationCount: Atom.Atom<number>;
36
- readonly schema: Schema.Codec<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>;
37
+ readonly schema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>;
37
38
  readonly fields: FieldRefs<TFields>;
38
39
  readonly Initialize: React.FC<{
39
40
  readonly defaultValues: Field.EncodedFromFields<TFields>;
40
41
  readonly validateOnInit?: boolean;
41
42
  readonly children: React.ReactNode;
42
43
  }>;
43
- readonly submit: Atom.AtomResultFn<SubmitArgs, A, E | Schema.SchemaError>;
44
+ readonly submit: Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>;
44
45
  readonly validate: Atom.AtomResultFn<void, void, never>;
45
46
  readonly reset: Atom.Writable<void, void>;
46
47
  readonly revertToLastSubmit: Atom.Writable<void, void>;
@@ -52,13 +53,13 @@ export type BuiltForm<TFields extends Field.FieldsRecord, R, A = void, E = never
52
53
  type FieldComponents<TFields extends Field.FieldsRecord, CM extends FieldComponentMap<TFields>> = {
53
54
  readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, any> ? React.FC<ExtractExtraProps<CM[K]>> : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? ArrayFieldComponent<S, ExtractArrayItemExtraProps<CM[K], S>> : never;
54
55
  };
55
- type ExtractArrayItemExtraProps<CM, S extends Schema.Top> = StructFieldsFromSchema<S> extends Schema.Struct.Fields ? {
56
+ type ExtractArrayItemExtraProps<CM, S extends Schema.Schema.Any> = StructFieldsFromSchema<S> extends Schema.Struct.Fields ? {
56
57
  readonly [K in keyof StructFieldsFromSchema<S>]: CM extends {
57
58
  readonly [P in K]: infer C;
58
59
  } ? ExtractExtraProps<C> : never;
59
60
  } : CM extends React.FC<FieldComponentProps<any, infer P>> ? P : never;
60
- type ArrayFieldComponent<S extends Schema.Top, ExtraPropsMap> = React.FC<{
61
- readonly children: (ops: ArrayFieldOperations<Schema.Codec.Encoded<S>>) => React.ReactNode;
61
+ type ArrayFieldComponent<S extends Schema.Schema.Any, ExtraPropsMap> = React.FC<{
62
+ readonly children: (ops: ArrayFieldOperations<Schema.Schema.Encoded<S>>) => React.ReactNode;
62
63
  }> & {
63
64
  readonly Item: React.FC<{
64
65
  readonly index: number;
@@ -72,7 +73,7 @@ type ArrayFieldComponent<S extends Schema.Top, ExtraPropsMap> = React.FC<{
72
73
  } ? EP : Record<string, never>>;
73
74
  } : unknown);
74
75
  export declare const make: {
75
- <TFields extends Field.FieldsRecord, R extends AtomRegistry.AtomRegistry, A, E, SubmitArgs = void, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>>(self: FormBuilder.FormBuilder<TFields, R>, options: {
76
+ <TFields extends Field.FieldsRecord, R extends Registry.AtomRegistry, A, E, SubmitArgs = void, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>>(self: FormBuilder.FormBuilder<TFields, R>, options: {
76
77
  readonly runtime?: Atom.AtomRuntime<any, any>;
77
78
  readonly fields: CM;
78
79
  readonly mode?: SubmitArgs extends void ? Mode.FormMode : Mode.FormModeWithoutAutoSubmit;
@@ -1 +1 @@
1
- {"version":3,"file":"FormReact.d.ts","sourceRoot":"","sources":["../src/FormReact.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormReact.d.ts","sourceRoot":"","sources":["../src/FormReact.tsx"],"names":[],"mappings":"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"}
package/dist/FormReact.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { RegistryContext, useAtom, useAtomMount, useAtomSet, useAtomValue } from "@effect/atom-react";
2
+ import { RegistryContext, useAtom, useAtomMount, useAtomSet, useAtomValue } from "@effect-atom/atom-react";
3
+ import * as Atom from "@effect-atom/atom/Atom";
3
4
  import { Field, FormAtoms } from "@lucas-barake/effect-form";
4
5
  import { getNestedValue } from "@lucas-barake/effect-form/Path";
5
6
  import * as Layer from "effect/Layer";
6
7
  import * as Option from "effect/Option";
7
- import * as Atom from "effect/unstable/reactivity/Atom";
8
8
  import * as React from "react";
9
9
  import { createContext, useContext } from "react";
10
10
  const ArrayItemContext = /*#__PURE__*/createContext(null);
@@ -26,6 +26,7 @@ const makeFieldComponent = (fieldKey, fieldDef, getOrCreateFieldAtoms, Component
26
26
  setOnBlurSubmit();
27
27
  }, [setTouched, setOnBlurSubmit]);
28
28
  const fieldState = React.useMemo(() => ({
29
+ path: fieldPath,
29
30
  value,
30
31
  onChange,
31
32
  onBlur,
@@ -33,7 +34,7 @@ const makeFieldComponent = (fieldKey, fieldDef, getOrCreateFieldAtoms, Component
33
34
  isTouched,
34
35
  isValidating,
35
36
  isDirty
36
- }), [value, onChange, onBlur, displayError, isTouched, isValidating, isDirty]);
37
+ }), [fieldPath, value, onChange, onBlur, displayError, isTouched, isValidating, isDirty]);
37
38
  return _jsx(Component, {
38
39
  field: fieldState,
39
40
  props: extraProps
@@ -1 +1 @@
1
- {"version":3,"file":"FormReact.js","names":["RegistryContext","useAtom","useAtomMount","useAtomSet","useAtomValue","Field","FormAtoms","getNestedValue","Layer","Option","Atom","React","createContext","useContext","ArrayItemContext","makeFieldComponent","fieldKey","fieldDef","getOrCreateFieldAtoms","Component","onBlurSubmitAtom","FieldComponent","extraProps","arrayCtx","fieldPath","parentPath","fieldAtoms","useMemo","schema","value","setValue","valueAtom","isTouched","setTouched","touchedAtom","displayError","displayErrorAtom","isDirty","isDirtyAtom","isValidating","validationAtom","waiting","setOnBlurSubmit","triggerValidationAtom","onChange","useCallback","newValue","onBlur","fieldState","error","_jsx","field","props","memo","makeArrayFieldComponent","def","stateAtom","operations","componentMap","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","values","append","prev","isNone","some","appendArrayItem","itemSchema","remove","index","removeArrayItem","swap","indexA","indexB","swapArrayItems","move","from","to","moveArrayItem","_Fragment","ItemWrapper","itemPath","Provider","itemFieldComponents","subFieldDefs","extractStructFieldDefs","subDef","itemComponent","key","properties","Item","Proxy","get","target","prop","Reflect","makeFieldComponents","fields","components","Object","entries","isArrayFieldDef","arrayComponentMap","isFieldDef","fieldComponent","make","self","options","mode","onSubmit","runtime","providedRuntime","reactivityKeys","empty","formAtoms","formBuilder","autoSubmitAtom","combinedSchema","fieldRefs","getFieldAtoms","hasChangedSinceSubmitAtom","keepAliveActiveAtom","lastSubmittedValuesAtom","mountAtom","resetAtom","revertToLastSubmitAtom","rootErrorAtom","setValuesAtom","submitAtom","submitCountAtom","validateAtom","validationCountAtom","valuesAtom","InitializeComponent","defaultValues","validateOnInit","registry","state","triggerValidate","isInitialized","setIsInitialized","useState","useEffect","shouldInit","createInitialState","fieldComponents","KeepAlive","setKeepAliveActive","useLayoutEffect","hasChangedSinceSubmit","lastSubmittedValues","submitCount","validationCount","rootError","Initialize","submit","validate","reset","revertToLastSubmit","setValues","mount"],"sources":["../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormReact.js","names":["RegistryContext","useAtom","useAtomMount","useAtomSet","useAtomValue","Atom","Field","FormAtoms","getNestedValue","Layer","Option","React","createContext","useContext","ArrayItemContext","makeFieldComponent","fieldKey","fieldDef","getOrCreateFieldAtoms","Component","onBlurSubmitAtom","FieldComponent","extraProps","arrayCtx","fieldPath","parentPath","fieldAtoms","useMemo","schema","value","setValue","valueAtom","isTouched","setTouched","touchedAtom","displayError","displayErrorAtom","isDirty","isDirtyAtom","isValidating","validationAtom","waiting","setOnBlurSubmit","triggerValidationAtom","onChange","useCallback","newValue","onBlur","fieldState","path","error","_jsx","field","props","memo","makeArrayFieldComponent","def","stateAtom","operations","componentMap","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","values","append","prev","isNone","some","appendArrayItem","itemSchema","remove","index","removeArrayItem","swap","indexA","indexB","swapArrayItems","move","from","to","moveArrayItem","_Fragment","ItemWrapper","itemPath","Provider","itemFieldComponents","subFieldDefs","extractStructFieldDefs","subDef","itemComponent","key","properties","Item","Proxy","get","target","prop","Reflect","makeFieldComponents","fields","components","Object","entries","isArrayFieldDef","arrayComponentMap","isFieldDef","fieldComponent","make","self","options","mode","onSubmit","runtime","providedRuntime","reactivityKeys","empty","formAtoms","formBuilder","autoSubmitAtom","combinedSchema","fieldRefs","getFieldAtoms","hasChangedSinceSubmitAtom","keepAliveActiveAtom","lastSubmittedValuesAtom","mountAtom","resetAtom","revertToLastSubmitAtom","rootErrorAtom","setValuesAtom","submitAtom","submitCountAtom","validateAtom","validationCountAtom","valuesAtom","InitializeComponent","defaultValues","validateOnInit","registry","state","triggerValidate","isInitialized","setIsInitialized","useState","useEffect","shouldInit","createInitialState","fieldComponents","KeepAlive","setKeepAliveActive","useLayoutEffect","hasChangedSinceSubmit","lastSubmittedValues","submitCount","validationCount","rootError","Initialize","submit","validate","reset","revertToLastSubmit","setValues","mount"],"sources":["../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucas-barake/effect-form-react",
3
- "version": "0.26.0-beta.0",
3
+ "version": "0.26.0",
4
4
  "description": "React bindings for @lucas-barake/effect-form",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -38,15 +38,16 @@
38
38
  "license": "MIT",
39
39
  "sideEffects": [],
40
40
  "dependencies": {
41
- "@lucas-barake/effect-form": "^0.25.0-beta.0"
41
+ "@lucas-barake/effect-form": "^0.25.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@vitejs/plugin-react": "^5.1.1"
45
45
  },
46
46
  "peerDependencies": {
47
- "@effect/atom-react": "^4.0.0-beta.0",
48
- "effect": "^4.0.0-beta.0",
49
- "react": "^19.0.0"
47
+ "@effect-atom/atom": "^0.5.0",
48
+ "@effect-atom/atom-react": "^0.5.0",
49
+ "effect": "^3.19.15",
50
+ "react": "^18.0.0 || ^19.0.0"
50
51
  },
51
52
  "scripts": {
52
53
  "build": "tsc -b tsconfig.json && pnpm babel",
package/src/FormReact.tsx CHANGED
@@ -1,4 +1,6 @@
1
- import { RegistryContext, useAtom, useAtomMount, useAtomSet, useAtomValue } from "@effect/atom-react"
1
+ import { RegistryContext, useAtom, useAtomMount, useAtomSet, useAtomValue } from "@effect-atom/atom-react"
2
+ import * as Atom from "@effect-atom/atom/Atom"
3
+ import type * as Registry from "@effect-atom/atom/Registry"
2
4
  import { Field, FormAtoms } from "@lucas-barake/effect-form"
3
5
  import type { FieldState as FieldStateModule, Mode } from "@lucas-barake/effect-form"
4
6
  import type * as FormBuilder from "@lucas-barake/effect-form/FormBuilder"
@@ -6,9 +8,8 @@ import { getNestedValue } from "@lucas-barake/effect-form/Path"
6
8
  import type * as Effect from "effect/Effect"
7
9
  import * as Layer from "effect/Layer"
8
10
  import * as Option from "effect/Option"
11
+ import type * as ParseResult from "effect/ParseResult"
9
12
  import type * as Schema from "effect/Schema"
10
- import * as Atom from "effect/unstable/reactivity/Atom"
11
- import type * as AtomRegistry from "effect/unstable/reactivity/AtomRegistry"
12
13
  import * as React from "react"
13
14
  import { createContext, useContext } from "react"
14
15
 
@@ -31,16 +32,17 @@ type StructFieldsFromSchema<S,> = S extends Schema.Struct<infer Fields> ? Fields
31
32
  : S extends { readonly from: infer From } ? StructFieldsFromSchema<From>
32
33
  : never
33
34
 
34
- export type ArrayItemComponentMap<S extends Schema.Top,> = StructFieldsFromSchema<S> extends Schema.Struct.Fields ? {
35
- readonly [K in keyof StructFieldsFromSchema<S>]: StructFieldsFromSchema<S>[K] extends Schema.Top
36
- ? React.FC<FieldComponentProps<Schema.Codec.Encoded<StructFieldsFromSchema<S>[K]>, any>>
35
+ export type ArrayItemComponentMap<S extends Schema.Schema.Any,> = StructFieldsFromSchema<S> extends
36
+ Schema.Struct.Fields ? {
37
+ readonly [K in keyof StructFieldsFromSchema<S>]: StructFieldsFromSchema<S>[K] extends Schema.Schema.Any
38
+ ? React.FC<FieldComponentProps<Schema.Schema.Encoded<StructFieldsFromSchema<S>[K]>, any>>
37
39
  : never
38
40
  }
39
- : React.FC<FieldComponentProps<Schema.Codec.Encoded<S>, any>>
41
+ : React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>
40
42
 
41
43
  export type FieldComponentMap<TFields extends Field.FieldsRecord,> = {
42
44
  readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S>
43
- ? React.FC<FieldComponentProps<Schema.Codec.Encoded<S>, any>>
45
+ ? React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>
44
46
  : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? ArrayItemComponentMap<S>
45
47
  : never
46
48
  }
@@ -62,7 +64,7 @@ export type BuiltForm<
62
64
  readonly submitCount: Atom.Atom<number>
63
65
  readonly validationCount: Atom.Atom<number>
64
66
 
65
- readonly schema: Schema.Codec<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>
67
+ readonly schema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>
66
68
  readonly fields: FieldRefs<TFields>
67
69
 
68
70
  readonly Initialize: React.FC<{
@@ -71,7 +73,7 @@ export type BuiltForm<
71
73
  readonly children: React.ReactNode
72
74
  }>
73
75
 
74
- readonly submit: Atom.AtomResultFn<SubmitArgs, A, E | Schema.SchemaError>
76
+ readonly submit: Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>
75
77
  readonly validate: Atom.AtomResultFn<void, void, never>
76
78
  readonly reset: Atom.Writable<void, void>
77
79
  readonly revertToLastSubmit: Atom.Writable<void, void>
@@ -89,16 +91,17 @@ type FieldComponents<TFields extends Field.FieldsRecord, CM extends FieldCompone
89
91
  : never
90
92
  }
91
93
 
92
- type ExtractArrayItemExtraProps<CM, S extends Schema.Top,> = StructFieldsFromSchema<S> extends Schema.Struct.Fields ? {
94
+ type ExtractArrayItemExtraProps<CM, S extends Schema.Schema.Any,> = StructFieldsFromSchema<S> extends
95
+ Schema.Struct.Fields ? {
93
96
  readonly [K in keyof StructFieldsFromSchema<S>]: CM extends { readonly [P in K]: infer C } ? ExtractExtraProps<C>
94
97
  : never
95
98
  }
96
99
  : CM extends React.FC<FieldComponentProps<any, infer P>> ? P
97
100
  : never
98
101
 
99
- type ArrayFieldComponent<S extends Schema.Top, ExtraPropsMap,> =
102
+ type ArrayFieldComponent<S extends Schema.Schema.Any, ExtraPropsMap,> =
100
103
  & React.FC<{
101
- readonly children: (ops: ArrayFieldOperations<Schema.Codec.Encoded<S>>) => React.ReactNode
104
+ readonly children: (ops: ArrayFieldOperations<Schema.Schema.Encoded<S>>) => React.ReactNode
102
105
  }>
103
106
  & {
104
107
  readonly Item: React.FC<{
@@ -120,11 +123,11 @@ interface ArrayItemContextValue {
120
123
 
121
124
  const ArrayItemContext = createContext<ArrayItemContextValue | null>(null)
122
125
 
123
- const makeFieldComponent = <S extends Schema.Top, P,>(
126
+ const makeFieldComponent = <S extends Schema.Schema.Any, P,>(
124
127
  fieldKey: string,
125
128
  fieldDef: Field.FieldDef<string, S>,
126
- getOrCreateFieldAtoms: (fieldPath: string, schema: Schema.Top) => FormAtoms.FieldAtoms,
127
- Component: React.FC<FieldComponentProps<Schema.Codec.Encoded<S>, P>>,
129
+ getOrCreateFieldAtoms: (fieldPath: string, schema: Schema.Schema.Any) => FormAtoms.FieldAtoms,
130
+ Component: React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, P>>,
128
131
  onBlurSubmitAtom: Atom.Writable<void, void>
129
132
  ): React.FC<P> => {
130
133
  const FieldComponent: React.FC<P> = (extraProps) => {
@@ -136,7 +139,7 @@ const makeFieldComponent = <S extends Schema.Top, P,>(
136
139
  [fieldPath]
137
140
  )
138
141
 
139
- const [value, setValue] = useAtom(fieldAtoms.valueAtom) as [Schema.Codec.Encoded<S>, (v: unknown) => void]
142
+ const [value, setValue] = useAtom(fieldAtoms.valueAtom) as [Schema.Schema.Encoded<S>, (v: unknown) => void]
140
143
  const [isTouched, setTouched] = useAtom(fieldAtoms.touchedAtom)
141
144
  const displayError = useAtomValue(fieldAtoms.displayErrorAtom)
142
145
  const isDirty = useAtomValue(fieldAtoms.isDirtyAtom)
@@ -146,7 +149,7 @@ const makeFieldComponent = <S extends Schema.Top, P,>(
146
149
  useAtomMount(fieldAtoms.triggerValidationAtom)
147
150
 
148
151
  const onChange = React.useCallback(
149
- (newValue: Schema.Codec.Encoded<S>) => setValue(newValue),
152
+ (newValue: Schema.Schema.Encoded<S>) => setValue(newValue),
150
153
  [setValue]
151
154
  )
152
155
 
@@ -157,6 +160,7 @@ const makeFieldComponent = <S extends Schema.Top, P,>(
157
160
 
158
161
  const fieldState = React.useMemo(
159
162
  () => ({
163
+ path: fieldPath,
160
164
  value,
161
165
  onChange,
162
166
  onBlur,
@@ -165,7 +169,7 @@ const makeFieldComponent = <S extends Schema.Top, P,>(
165
169
  isValidating,
166
170
  isDirty
167
171
  }),
168
- [value, onChange, onBlur, displayError, isTouched, isValidating, isDirty]
172
+ [fieldPath, value, onChange, onBlur, displayError, isTouched, isValidating, isDirty]
169
173
  )
170
174
 
171
175
  return <Component field={fieldState} props={extraProps} />
@@ -173,17 +177,17 @@ const makeFieldComponent = <S extends Schema.Top, P,>(
173
177
  return React.memo(FieldComponent) as React.FC<P>
174
178
  }
175
179
 
176
- const makeArrayFieldComponent = <S extends Schema.Top,>(
180
+ const makeArrayFieldComponent = <S extends Schema.Schema.Any,>(
177
181
  fieldKey: string,
178
182
  def: Field.ArrayFieldDef<string, S>,
179
183
  stateAtom: Atom.Writable<Option.Option<FormBuilder.FormState<any>>, Option.Option<FormBuilder.FormState<any>>>,
180
- getOrCreateFieldAtoms: (fieldPath: string, schema: Schema.Top) => FormAtoms.FieldAtoms,
184
+ getOrCreateFieldAtoms: (fieldPath: string, schema: Schema.Schema.Any) => FormAtoms.FieldAtoms,
181
185
  operations: FormAtoms.FormOperations<any>,
182
186
  componentMap: ArrayItemComponentMap<S>,
183
187
  onBlurSubmitAtom: Atom.Writable<void, void>
184
188
  ): ArrayFieldComponent<S, any> => {
185
189
  const ArrayWrapper: React.FC<{
186
- readonly children: (ops: ArrayFieldOperations<Schema.Codec.Encoded<S>>) => React.ReactNode
190
+ readonly children: (ops: ArrayFieldOperations<Schema.Schema.Encoded<S>>) => React.ReactNode
187
191
  }> = ({ children }) => {
188
192
  const arrayCtx = useContext(ArrayItemContext)
189
193
  const [formStateOption, setFormState] = useAtom(stateAtom)
@@ -191,12 +195,12 @@ const makeArrayFieldComponent = <S extends Schema.Top,>(
191
195
 
192
196
  const fieldPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey
193
197
  const items = React.useMemo(
194
- () => (getNestedValue(formState.values, fieldPath) ?? []) as ReadonlyArray<Schema.Codec.Encoded<S>>,
198
+ () => (getNestedValue(formState.values, fieldPath) ?? []) as ReadonlyArray<Schema.Schema.Encoded<S>>,
195
199
  [formState.values, fieldPath]
196
200
  )
197
201
 
198
202
  const append = React.useCallback(
199
- (value?: Schema.Codec.Encoded<S>) => {
203
+ (value?: Schema.Schema.Encoded<S>) => {
200
204
  setFormState((prev) => {
201
205
  if (Option.isNone(prev)) return prev
202
206
  return Option.some(operations.appendArrayItem(prev.value, fieldPath, def.itemSchema, value))
@@ -299,7 +303,7 @@ const makeFieldComponents = <TFields extends Field.FieldsRecord, CM extends Fiel
299
303
  Option.Option<FormBuilder.FormState<TFields>>,
300
304
  Option.Option<FormBuilder.FormState<TFields>>
301
305
  >,
302
- getOrCreateFieldAtoms: (fieldPath: string, schema: Schema.Top) => FormAtoms.FieldAtoms,
306
+ getOrCreateFieldAtoms: (fieldPath: string, schema: Schema.Schema.Any) => FormAtoms.FieldAtoms,
303
307
  operations: FormAtoms.FormOperations<TFields>,
304
308
  componentMap: CM,
305
309
  onBlurSubmitAtom: Atom.Writable<void, void>
@@ -311,7 +315,7 @@ const makeFieldComponents = <TFields extends Field.FieldsRecord, CM extends Fiel
311
315
  const arrayComponentMap = (componentMap as Record<string, any>)[key]
312
316
  components[key] = makeArrayFieldComponent(
313
317
  key,
314
- def as Field.ArrayFieldDef<string, Schema.Top>,
318
+ def as Field.ArrayFieldDef<string, Schema.Schema.Any>,
315
319
  stateAtom,
316
320
  getOrCreateFieldAtoms,
317
321
  operations,
@@ -336,7 +340,7 @@ const makeFieldComponents = <TFields extends Field.FieldsRecord, CM extends Fiel
336
340
  export const make: {
337
341
  <
338
342
  TFields extends Field.FieldsRecord,
339
- R extends AtomRegistry.AtomRegistry,
343
+ R extends Registry.AtomRegistry,
340
344
  A,
341
345
  E,
342
346
  SubmitArgs = void,