@lucas-barake/effect-form-react 0.14.0 → 0.15.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.
@@ -39,13 +39,14 @@ function _interopRequireWildcard(e, t) {
39
39
  }
40
40
  const ArrayItemContext = /*#__PURE__*/(0, _react.createContext)(null);
41
41
  const AutoSubmitContext = /*#__PURE__*/(0, _react.createContext)(null);
42
- const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, Component) => {
42
+ const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, Component) => {
43
43
  const FieldComponent = extraProps => {
44
44
  const arrayCtx = (0, _react.useContext)(ArrayItemContext);
45
45
  const autoSubmitOnBlur = (0, _react.useContext)(AutoSubmitContext);
46
46
  const fieldPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey;
47
47
  const {
48
48
  errorAtom,
49
+ isDirtyAtom,
49
50
  touchedAtom,
50
51
  valueAtom
51
52
  } = React.useMemo(() => getOrCreateFieldAtoms(fieldPath), [fieldPath]);
@@ -104,8 +105,7 @@ const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, dir
104
105
  }
105
106
  autoSubmitOnBlur?.();
106
107
  }, [setTouched, validate, value, autoSubmitOnBlur]);
107
- const dirtyFields = (0, _atomReact.useAtomValue)(dirtyFieldsAtom);
108
- const isDirty = React.useMemo(() => (0, _Path.isPathOrParentDirty)(dirtyFields, fieldPath), [dirtyFields, fieldPath]);
108
+ const isDirty = (0, _atomReact.useAtomValue)(isDirtyAtom);
109
109
  const shouldShowError = parsedMode.validation === "onChange" ? isDirty || submitCount > 0 : parsedMode.validation === "onBlur" ? isTouched || submitCount > 0 : submitCount > 0;
110
110
  const fieldState = React.useMemo(() => ({
111
111
  value,
@@ -201,7 +201,7 @@ const makeArrayFieldComponent = (fieldKey, def, stateAtom, errorsAtom, submitCou
201
201
  };
202
202
  const itemDef = _effectForm.Field.makeField(itemKey, itemSchema);
203
203
  const itemComponent = componentMap[itemKey];
204
- itemFieldComponents[itemKey] = makeFieldComponent(itemKey, itemDef, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, itemComponent);
204
+ itemFieldComponents[itemKey] = makeFieldComponent(itemKey, itemDef, errorsAtom, submitCountAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, itemComponent);
205
205
  }
206
206
  }
207
207
  const properties = {
@@ -225,7 +225,7 @@ const makeFieldComponents = (fields, stateAtom, errorsAtom, submitCountAtom, dir
225
225
  components[key] = makeArrayFieldComponent(key, def, stateAtom, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, operations, arrayComponentMap);
226
226
  } else if (_effectForm.Field.isFieldDef(def)) {
227
227
  const fieldComponent = componentMap[key];
228
- components[key] = makeFieldComponent(key, def, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, fieldComponent);
228
+ components[key] = makeFieldComponent(key, def, errorsAtom, submitCountAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, fieldComponent);
229
229
  }
230
230
  }
231
231
  return components;
@@ -1 +1 @@
1
- {"version":3,"file":"FormReact.js","names":["_atomReact","require","Atom","_interopRequireWildcard","_effectForm","_Path","Cause","Layer","Option","ParseResult","AST","_react","React","_useDebounced","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ArrayItemContext","createContext","AutoSubmitContext","makeFieldComponent","fieldKey","fieldDef","errorsAtom","submitCountAtom","dirtyFieldsAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","extraProps","arrayCtx","useContext","autoSubmitOnBlur","fieldPath","parentPath","errorAtom","touchedAtom","valueAtom","useMemo","value","setValue","useAtom","isTouched","setTouched","storedError","useAtomValue","submitCount","validationAtom","schema","validationResult","validateImmediate","useAtomSet","shouldDebounceValidation","validation","debounce","autoSubmit","validate","useDebounced","prevValueRef","useRef","useEffect","current","shouldValidate","livePerFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","Validation","extractFirstError","none","isValidating","waiting","validationError","shouldHideStoredError","source","some","message","onChange","useCallback","newValue","onBlur","dirtyFields","isDirty","isPathOrParentDirty","shouldShowError","fieldState","error","_jsxRuntime","jsx","field","props","memo","makeArrayFieldComponent","def","stateAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","getNestedValue","values","append","prev","isNone","appendArrayItem","remove","index","removeArrayItem","swap","indexA","indexB","swapArrayItems","move","from","to","moveArrayItem","Fragment","ItemWrapper","itemPath","Provider","itemFieldComponents","prop","propertySignatures","itemKey","name","type","itemDef","Field","makeField","itemComponent","properties","Item","Proxy","target","Reflect","makeFieldComponents","fields","components","key","entries","isArrayFieldDef","arrayComponentMap","isFieldDef","fieldComponent","make","self","options","mode","onSubmit","runtime","providedRuntime","empty","Mode","parse","formAtoms","FormAtoms","formBuilder","combinedSchema","fieldRefs","getFieldAtom","hasChangedSinceSubmitAtom","isDirtyAtom","keepAliveActiveAtom","lastSubmittedValuesAtom","mountAtom","resetAtom","revertToLastSubmitAtom","rootErrorAtom","setValuesAtom","submitAtom","valuesAtom","InitializeComponent","defaultValues","registry","RegistryContext","state","callSubmit","isInitializedRef","isKeptAlive","currentState","createInitialState","debouncedAutoSubmit","stateOption","undefined","lastValuesRef","pendingChangesRef","wasSubmittingRef","useAtomSubscribe","currentValues","submitResult","immediate","result","isSubmitting","wasSubmitting","onBlurAutoSubmit","lastSubmittedValues","encoded","fieldComponents","KeepAlive","setKeepAliveActive","useLayoutEffect","useAtomMount","hasChangedSinceSubmit","rootError","Initialize","submit","reset","revertToLastSubmit","setValues","mount","exports"],"sources":["../../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormReact.js","names":["_atomReact","require","Atom","_interopRequireWildcard","_effectForm","_Path","Cause","Layer","Option","ParseResult","AST","_react","React","_useDebounced","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ArrayItemContext","createContext","AutoSubmitContext","makeFieldComponent","fieldKey","fieldDef","errorsAtom","submitCountAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","extraProps","arrayCtx","useContext","autoSubmitOnBlur","fieldPath","parentPath","errorAtom","isDirtyAtom","touchedAtom","valueAtom","useMemo","value","setValue","useAtom","isTouched","setTouched","storedError","useAtomValue","submitCount","validationAtom","schema","validationResult","validateImmediate","useAtomSet","shouldDebounceValidation","validation","debounce","autoSubmit","validate","useDebounced","prevValueRef","useRef","useEffect","current","shouldValidate","livePerFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","Validation","extractFirstError","none","isValidating","waiting","validationError","shouldHideStoredError","source","some","message","onChange","useCallback","newValue","onBlur","isDirty","shouldShowError","fieldState","error","_jsxRuntime","jsx","field","props","memo","makeArrayFieldComponent","def","stateAtom","dirtyFieldsAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","getNestedValue","values","append","prev","isNone","appendArrayItem","remove","index","removeArrayItem","swap","indexA","indexB","swapArrayItems","move","from","to","moveArrayItem","Fragment","ItemWrapper","itemPath","Provider","itemFieldComponents","prop","propertySignatures","itemKey","name","type","itemDef","Field","makeField","itemComponent","properties","Item","Proxy","target","Reflect","makeFieldComponents","fields","components","key","entries","isArrayFieldDef","arrayComponentMap","isFieldDef","fieldComponent","make","self","options","mode","onSubmit","runtime","providedRuntime","empty","Mode","parse","formAtoms","FormAtoms","formBuilder","combinedSchema","fieldRefs","getFieldAtom","hasChangedSinceSubmitAtom","keepAliveActiveAtom","lastSubmittedValuesAtom","mountAtom","resetAtom","revertToLastSubmitAtom","rootErrorAtom","setValuesAtom","submitAtom","valuesAtom","InitializeComponent","defaultValues","registry","RegistryContext","state","callSubmit","isInitializedRef","isKeptAlive","currentState","createInitialState","debouncedAutoSubmit","stateOption","undefined","lastValuesRef","pendingChangesRef","wasSubmittingRef","useAtomSubscribe","currentValues","submitResult","immediate","result","isSubmitting","wasSubmitting","onBlurAutoSubmit","lastSubmittedValues","encoded","fieldComponents","KeepAlive","setKeepAliveActive","useLayoutEffect","useAtomMount","hasChangedSinceSubmit","rootError","Initialize","submit","reset","revertToLastSubmit","setValues","mount","exports"],"sources":["../../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -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":"AAQA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAc,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,KAAK,WAAW,MAAM,uCAAuC,CAAC;AAG1E,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEvF,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE3G,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAErH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG;IACrG,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,GAC7D,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACpE,KAAK;CACV,GACC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAEjE,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,KAAK,CAAC,YAAY,IAAI;IAClE,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAC1E,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAC5D,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAC/E,KAAK;CACV,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAEzF,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,SAAS,CACnB,OAAO,SAAS,KAAK,CAAC,YAAY,EAClC,CAAC,EACD,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,KAAK,EACT,UAAU,GAAG,IAAI,EACjB,EAAE,SAAS,iBAAiB,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAChE;IACF,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7F,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAExC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACtG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEpC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KACpC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1F,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;CAC9B,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAEjC,KAAK,eAAe,CAAC,OAAO,SAAS,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,iBAAiB,CAAC,OAAO,CAAC,IAAI;IAChG,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3G,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAClD,mBAAmB,CAAC,CAAC,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC9D,KAAK;CACV,CAAC;AAEF,KAAK,0BAA0B,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,GACpG;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,GAAG,EAAE,SAAS;QAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;KAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK;CAAG,GAC5G,EAAE,SAAS,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAC1D,KAAK,CAAC;AAEV,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,IAC/D,KAAK,CAAC,EAAE,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;CAC7F,CAAC,GACA;IACA,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;SAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;KACrG,CAAC,CAAC;CACJ,GACC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG;IACvC,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CACpC,aAAa,SAAS;QAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE;KAAG,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACpF;CACF,GACC,OAAO,CAAC,CAAC;AAoUf,eAAO,MAAM,IAAI,EAAE;IACjB,CACE,OAAO,SAAS,KAAK,CAAC,YAAY,EAClC,CAAC,EACD,CAAC,EACD,UAAU,GAAG,IAAI,EACjB,EAAE,SAAS,iBAAiB,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAElE,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7C,OAAO,EAAE;QACP,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,SAAS,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACzF,QAAQ,CAAC,QAAQ,EAAE,CACjB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE;YACH,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACnD,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACnD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;SAC9B,KACE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;KACrC,GACA,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAEnD,CACE,OAAO,SAAS,KAAK,CAAC,YAAY,EAClC,CAAC,EACD,CAAC,EACD,CAAC,EACD,UAAU,GAAG,IAAI,EACjB,EAAE,GAAG,KAAK,EACV,EAAE,SAAS,iBAAiB,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAElE,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EACzC,OAAO,EAAE;QACP,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,SAAS,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACzF,QAAQ,CAAC,QAAQ,EAAE,CACjB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE;YACH,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACnD,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACnD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;SAC9B,KACE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACjC,GACA,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;CAqMhD,CAAC"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { RegistryContext, useAtom, useAtomMount, useAtomSet, useAtomSubscribe, useAtomValue } from "@effect-atom/atom-react";
3
3
  import * as Atom from "@effect-atom/atom/Atom";
4
4
  import { Field, FormAtoms, Mode, Validation } from "@lucas-barake/effect-form";
5
- import { getNestedValue, isPathOrParentDirty } from "@lucas-barake/effect-form/Path";
5
+ import { getNestedValue } from "@lucas-barake/effect-form/Path";
6
6
  import * as Cause from "effect/Cause";
7
7
  import * as Layer from "effect/Layer";
8
8
  import * as Option from "effect/Option";
@@ -13,13 +13,14 @@ import { createContext, useContext } from "react";
13
13
  import { useDebounced } from "./internal/use-debounced.js";
14
14
  const ArrayItemContext = /*#__PURE__*/createContext(null);
15
15
  const AutoSubmitContext = /*#__PURE__*/createContext(null);
16
- const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, Component) => {
16
+ const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, Component) => {
17
17
  const FieldComponent = extraProps => {
18
18
  const arrayCtx = useContext(ArrayItemContext);
19
19
  const autoSubmitOnBlur = useContext(AutoSubmitContext);
20
20
  const fieldPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey;
21
21
  const {
22
22
  errorAtom,
23
+ isDirtyAtom,
23
24
  touchedAtom,
24
25
  valueAtom
25
26
  } = React.useMemo(() => getOrCreateFieldAtoms(fieldPath), [fieldPath]);
@@ -78,8 +79,7 @@ const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, dir
78
79
  }
79
80
  autoSubmitOnBlur?.();
80
81
  }, [setTouched, validate, value, autoSubmitOnBlur]);
81
- const dirtyFields = useAtomValue(dirtyFieldsAtom);
82
- const isDirty = React.useMemo(() => isPathOrParentDirty(dirtyFields, fieldPath), [dirtyFields, fieldPath]);
82
+ const isDirty = useAtomValue(isDirtyAtom);
83
83
  const shouldShowError = parsedMode.validation === "onChange" ? isDirty || submitCount > 0 : parsedMode.validation === "onBlur" ? isTouched || submitCount > 0 : submitCount > 0;
84
84
  const fieldState = React.useMemo(() => ({
85
85
  value,
@@ -175,7 +175,7 @@ const makeArrayFieldComponent = (fieldKey, def, stateAtom, errorsAtom, submitCou
175
175
  };
176
176
  const itemDef = Field.makeField(itemKey, itemSchema);
177
177
  const itemComponent = componentMap[itemKey];
178
- itemFieldComponents[itemKey] = makeFieldComponent(itemKey, itemDef, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, itemComponent);
178
+ itemFieldComponents[itemKey] = makeFieldComponent(itemKey, itemDef, errorsAtom, submitCountAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, itemComponent);
179
179
  }
180
180
  }
181
181
  const properties = {
@@ -199,7 +199,7 @@ const makeFieldComponents = (fields, stateAtom, errorsAtom, submitCountAtom, dir
199
199
  components[key] = makeArrayFieldComponent(key, def, stateAtom, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, operations, arrayComponentMap);
200
200
  } else if (Field.isFieldDef(def)) {
201
201
  const fieldComponent = componentMap[key];
202
- components[key] = makeFieldComponent(key, def, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, fieldComponent);
202
+ components[key] = makeFieldComponent(key, def, errorsAtom, submitCountAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, fieldComponent);
203
203
  }
204
204
  }
205
205
  return components;
@@ -1 +1 @@
1
- {"version":3,"file":"FormReact.js","names":["RegistryContext","useAtom","useAtomMount","useAtomSet","useAtomSubscribe","useAtomValue","Atom","Field","FormAtoms","Mode","Validation","getNestedValue","isPathOrParentDirty","Cause","Layer","Option","ParseResult","AST","React","createContext","useContext","useDebounced","ArrayItemContext","AutoSubmitContext","makeFieldComponent","fieldKey","fieldDef","errorsAtom","submitCountAtom","dirtyFieldsAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","extraProps","arrayCtx","autoSubmitOnBlur","fieldPath","parentPath","errorAtom","touchedAtom","valueAtom","useMemo","value","setValue","isTouched","setTouched","storedError","submitCount","validationAtom","schema","validationResult","validateImmediate","shouldDebounceValidation","validation","debounce","autoSubmit","validate","prevValueRef","useRef","useEffect","current","shouldValidate","livePerFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","extractFirstError","none","isValidating","waiting","validationError","shouldHideStoredError","source","some","message","onChange","useCallback","newValue","onBlur","dirtyFields","isDirty","shouldShowError","fieldState","error","_jsx","field","props","memo","makeArrayFieldComponent","def","stateAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","values","append","prev","isNone","appendArrayItem","remove","index","removeArrayItem","swap","indexA","indexB","swapArrayItems","move","from","to","moveArrayItem","_Fragment","ItemWrapper","itemPath","Provider","itemFieldComponents","prop","propertySignatures","itemKey","name","type","itemDef","makeField","itemComponent","properties","Item","Proxy","get","target","Reflect","makeFieldComponents","fields","components","key","Object","entries","isArrayFieldDef","arrayComponentMap","isFieldDef","fieldComponent","make","self","options","mode","onSubmit","runtime","providedRuntime","empty","parse","formAtoms","formBuilder","combinedSchema","fieldRefs","getFieldAtom","hasChangedSinceSubmitAtom","isDirtyAtom","keepAliveActiveAtom","lastSubmittedValuesAtom","mountAtom","resetAtom","revertToLastSubmitAtom","rootErrorAtom","setValuesAtom","submitAtom","valuesAtom","InitializeComponent","defaultValues","registry","state","callSubmit","isInitializedRef","isKeptAlive","currentState","createInitialState","debouncedAutoSubmit","stateOption","undefined","lastValuesRef","pendingChangesRef","wasSubmittingRef","currentValues","submitResult","immediate","result","isSubmitting","wasSubmitting","onBlurAutoSubmit","lastSubmittedValues","encoded","fieldComponents","KeepAlive","setKeepAliveActive","useLayoutEffect","hasChangedSinceSubmit","rootError","Initialize","submit","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","useAtomSubscribe","useAtomValue","Atom","Field","FormAtoms","Mode","Validation","getNestedValue","Cause","Layer","Option","ParseResult","AST","React","createContext","useContext","useDebounced","ArrayItemContext","AutoSubmitContext","makeFieldComponent","fieldKey","fieldDef","errorsAtom","submitCountAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","extraProps","arrayCtx","autoSubmitOnBlur","fieldPath","parentPath","errorAtom","isDirtyAtom","touchedAtom","valueAtom","useMemo","value","setValue","isTouched","setTouched","storedError","submitCount","validationAtom","schema","validationResult","validateImmediate","shouldDebounceValidation","validation","debounce","autoSubmit","validate","prevValueRef","useRef","useEffect","current","shouldValidate","livePerFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","extractFirstError","none","isValidating","waiting","validationError","shouldHideStoredError","source","some","message","onChange","useCallback","newValue","onBlur","isDirty","shouldShowError","fieldState","error","_jsx","field","props","memo","makeArrayFieldComponent","def","stateAtom","dirtyFieldsAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","values","append","prev","isNone","appendArrayItem","remove","index","removeArrayItem","swap","indexA","indexB","swapArrayItems","move","from","to","moveArrayItem","_Fragment","ItemWrapper","itemPath","Provider","itemFieldComponents","prop","propertySignatures","itemKey","name","type","itemDef","makeField","itemComponent","properties","Item","Proxy","get","target","Reflect","makeFieldComponents","fields","components","key","Object","entries","isArrayFieldDef","arrayComponentMap","isFieldDef","fieldComponent","make","self","options","mode","onSubmit","runtime","providedRuntime","empty","parse","formAtoms","formBuilder","combinedSchema","fieldRefs","getFieldAtom","hasChangedSinceSubmitAtom","keepAliveActiveAtom","lastSubmittedValuesAtom","mountAtom","resetAtom","revertToLastSubmitAtom","rootErrorAtom","setValuesAtom","submitAtom","valuesAtom","InitializeComponent","defaultValues","registry","state","callSubmit","isInitializedRef","isKeptAlive","currentState","createInitialState","debouncedAutoSubmit","stateOption","undefined","lastValuesRef","pendingChangesRef","wasSubmittingRef","currentValues","submitResult","immediate","result","isSubmitting","wasSubmitting","onBlurAutoSubmit","lastSubmittedValues","encoded","fieldComponents","KeepAlive","setKeepAliveActive","useLayoutEffect","hasChangedSinceSubmit","rootError","Initialize","submit","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.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "React bindings for @lucas-barake/effect-form",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,7 +11,7 @@
11
11
  "author": "Lucas Barake",
12
12
  "homepage": "https://github.com/lucas-barake/effect-form",
13
13
  "dependencies": {
14
- "@lucas-barake/effect-form": "^0.14.0"
14
+ "@lucas-barake/effect-form": "^0.15.0"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "@effect-atom/atom": "^0.4.8",
package/src/FormReact.tsx CHANGED
@@ -5,65 +5,65 @@ import {
5
5
  useAtomSet,
6
6
  useAtomSubscribe,
7
7
  useAtomValue,
8
- } from "@effect-atom/atom-react"
9
- import * as Atom from "@effect-atom/atom/Atom"
10
- import { Field, FormAtoms, Mode, Validation } from "@lucas-barake/effect-form"
11
- import type * as FormBuilder from "@lucas-barake/effect-form/FormBuilder"
12
- import { getNestedValue, isPathOrParentDirty } from "@lucas-barake/effect-form/Path"
13
- import * as Cause from "effect/Cause"
14
- import type * as Effect from "effect/Effect"
15
- import * as Layer from "effect/Layer"
16
- import * as Option from "effect/Option"
17
- import * as ParseResult from "effect/ParseResult"
18
- import type * as Schema from "effect/Schema"
19
- import * as AST from "effect/SchemaAST"
20
- import * as React from "react"
21
- import { createContext, useContext } from "react"
22
- import { useDebounced } from "./internal/use-debounced.js"
23
-
24
- export type FieldValue<T> = T extends Schema.Schema.Any ? Schema.Schema.Encoded<T> : T
8
+ } from "@effect-atom/atom-react";
9
+ import * as Atom from "@effect-atom/atom/Atom";
10
+ import { Field, FormAtoms, Mode, Validation } from "@lucas-barake/effect-form";
11
+ import type * as FormBuilder from "@lucas-barake/effect-form/FormBuilder";
12
+ import { getNestedValue } from "@lucas-barake/effect-form/Path";
13
+ import * as Cause from "effect/Cause";
14
+ import type * as Effect from "effect/Effect";
15
+ import * as Layer from "effect/Layer";
16
+ import * as Option from "effect/Option";
17
+ import * as ParseResult from "effect/ParseResult";
18
+ import type * as Schema from "effect/Schema";
19
+ import * as AST from "effect/SchemaAST";
20
+ import * as React from "react";
21
+ import { createContext, useContext } from "react";
22
+ import { useDebounced } from "./internal/use-debounced.js";
23
+
24
+ export type FieldValue<T> = T extends Schema.Schema.Any ? Schema.Schema.Encoded<T> : T;
25
25
 
26
26
  export interface FieldState<E> {
27
- readonly value: E
28
- readonly onChange: (value: E) => void
29
- readonly onBlur: () => void
30
- readonly error: Option.Option<string>
31
- readonly isTouched: boolean
32
- readonly isValidating: boolean
33
- readonly isDirty: boolean
27
+ readonly value: E;
28
+ readonly onChange: (value: E) => void;
29
+ readonly onBlur: () => void;
30
+ readonly error: Option.Option<string>;
31
+ readonly isTouched: boolean;
32
+ readonly isValidating: boolean;
33
+ readonly isDirty: boolean;
34
34
  }
35
35
 
36
36
  export interface FieldComponentProps<E, P = Record<string, never>> {
37
- readonly field: FieldState<E>
38
- readonly props: P
37
+ readonly field: FieldState<E>;
38
+ readonly props: P;
39
39
  }
40
40
 
41
- export type FieldComponent<T, P = Record<string, never>> = React.FC<FieldComponentProps<FieldValue<T>, P>>
41
+ export type FieldComponent<T, P = Record<string, never>> = React.FC<FieldComponentProps<FieldValue<T>, P>>;
42
42
 
43
- export type ExtractExtraProps<C> = C extends React.FC<FieldComponentProps<any, infer P>> ? P : Record<string, never>
43
+ export type ExtractExtraProps<C> = C extends React.FC<FieldComponentProps<any, infer P>> ? P : Record<string, never>;
44
44
 
45
45
  export type ArrayItemComponentMap<S extends Schema.Schema.Any> = S extends Schema.Struct<infer Fields> ? {
46
46
  readonly [K in keyof Fields]: Fields[K] extends Schema.Schema.Any
47
47
  ? React.FC<FieldComponentProps<Schema.Schema.Encoded<Fields[K]>, any>>
48
- : never
48
+ : never;
49
49
  }
50
- : React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>
50
+ : React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>;
51
51
 
52
52
  export type FieldComponentMap<TFields extends Field.FieldsRecord> = {
53
53
  readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S>
54
54
  ? React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>
55
55
  : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? ArrayItemComponentMap<S>
56
- : never
57
- }
56
+ : never;
57
+ };
58
58
 
59
- export type FieldRefs<TFields extends Field.FieldsRecord> = FormAtoms.FieldRefs<TFields>
59
+ export type FieldRefs<TFields extends Field.FieldsRecord> = FormAtoms.FieldRefs<TFields>;
60
60
 
61
61
  export interface ArrayFieldOperations<TItem> {
62
- readonly items: ReadonlyArray<TItem>
63
- readonly append: (value?: TItem) => void
64
- readonly remove: (index: number) => void
65
- readonly swap: (indexA: number, indexB: number) => void
66
- readonly move: (from: number, to: number) => void
62
+ readonly items: ReadonlyArray<TItem>;
63
+ readonly append: (value?: TItem) => void;
64
+ readonly remove: (index: number) => void;
65
+ readonly swap: (indexA: number, indexB: number) => void;
66
+ readonly move: (from: number, to: number) => void;
67
67
  }
68
68
 
69
69
  export type BuiltForm<
@@ -74,74 +74,73 @@ export type BuiltForm<
74
74
  SubmitArgs = void,
75
75
  CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>,
76
76
  > = {
77
- readonly values: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>
78
- readonly isDirty: Atom.Atom<boolean>
79
- readonly hasChangedSinceSubmit: Atom.Atom<boolean>
80
- readonly lastSubmittedValues: Atom.Atom<Option.Option<FormBuilder.SubmittedValues<TFields>>>
81
- readonly submitCount: Atom.Atom<number>
77
+ readonly values: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>;
78
+ readonly isDirty: Atom.Atom<boolean>;
79
+ readonly hasChangedSinceSubmit: Atom.Atom<boolean>;
80
+ readonly lastSubmittedValues: Atom.Atom<Option.Option<FormBuilder.SubmittedValues<TFields>>>;
81
+ readonly submitCount: Atom.Atom<number>;
82
82
 
83
- readonly schema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>
84
- readonly fields: FieldRefs<TFields>
83
+ readonly schema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>;
84
+ readonly fields: FieldRefs<TFields>;
85
85
 
86
86
  readonly Initialize: React.FC<{
87
- readonly defaultValues: Field.EncodedFromFields<TFields>
88
- readonly children: React.ReactNode
89
- }>
87
+ readonly defaultValues: Field.EncodedFromFields<TFields>;
88
+ readonly children: React.ReactNode;
89
+ }>;
90
90
 
91
- readonly submit: Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>
92
- readonly reset: Atom.Writable<void, void>
93
- readonly revertToLastSubmit: Atom.Writable<void, void>
94
- readonly setValues: Atom.Writable<void, Field.EncodedFromFields<TFields>>
95
- readonly setValue: <S>(field: FormBuilder.FieldRef<S>) => Atom.Writable<void, S | ((prev: S) => S)>
96
- readonly getFieldAtom: <S>(field: FormBuilder.FieldRef<S>) => Atom.Atom<Option.Option<S>>
91
+ readonly submit: Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>;
92
+ readonly reset: Atom.Writable<void, void>;
93
+ readonly revertToLastSubmit: Atom.Writable<void, void>;
94
+ readonly setValues: Atom.Writable<void, Field.EncodedFromFields<TFields>>;
95
+ readonly setValue: <S>(field: FormBuilder.FieldRef<S>) => Atom.Writable<void, S | ((prev: S) => S)>;
96
+ readonly getFieldAtom: <S>(field: FormBuilder.FieldRef<S>) => Atom.Atom<Option.Option<S>>;
97
97
 
98
- readonly mount: Atom.Atom<void>
99
- readonly KeepAlive: React.FC
100
- } & FieldComponents<TFields, CM>
98
+ readonly mount: Atom.Atom<void>;
99
+ readonly KeepAlive: React.FC;
100
+ } & FieldComponents<TFields, CM>;
101
101
 
102
102
  type FieldComponents<TFields extends Field.FieldsRecord, CM extends FieldComponentMap<TFields>> = {
103
103
  readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, any> ? React.FC<ExtractExtraProps<CM[K]>>
104
104
  : TFields[K] extends Field.ArrayFieldDef<any, infer S>
105
105
  ? ArrayFieldComponent<S, ExtractArrayItemExtraProps<CM[K], S>>
106
- : never
107
- }
106
+ : never;
107
+ };
108
108
 
109
109
  type ExtractArrayItemExtraProps<CM, S extends Schema.Schema.Any> = S extends Schema.Struct<infer Fields>
110
- ? { readonly [K in keyof Fields]: CM extends { readonly [P in K]: infer C } ? ExtractExtraProps<C> : never }
110
+ ? { readonly [K in keyof Fields]: CM extends { readonly [P in K]: infer C; } ? ExtractExtraProps<C> : never; }
111
111
  : CM extends React.FC<FieldComponentProps<any, infer P>> ? P
112
- : never
112
+ : never;
113
113
 
114
114
  type ArrayFieldComponent<S extends Schema.Schema.Any, ExtraPropsMap> =
115
115
  & React.FC<{
116
- readonly children: (ops: ArrayFieldOperations<Schema.Schema.Encoded<S>>) => React.ReactNode
116
+ readonly children: (ops: ArrayFieldOperations<Schema.Schema.Encoded<S>>) => React.ReactNode;
117
117
  }>
118
118
  & {
119
119
  readonly Item: React.FC<{
120
- readonly index: number
121
- readonly children: React.ReactNode | ((props: { readonly remove: () => void }) => React.ReactNode)
122
- }>
120
+ readonly index: number;
121
+ readonly children: React.ReactNode | ((props: { readonly remove: () => void; }) => React.ReactNode);
122
+ }>;
123
123
  }
124
124
  & (S extends Schema.Struct<infer Fields> ? {
125
125
  readonly [K in keyof Fields]: React.FC<
126
- ExtraPropsMap extends { readonly [P in K]: infer EP } ? EP : Record<string, never>
127
- >
126
+ ExtraPropsMap extends { readonly [P in K]: infer EP; } ? EP : Record<string, never>
127
+ >;
128
128
  }
129
- : unknown)
129
+ : unknown);
130
130
 
131
131
  interface ArrayItemContextValue {
132
- readonly index: number
133
- readonly parentPath: string
132
+ readonly index: number;
133
+ readonly parentPath: string;
134
134
  }
135
135
 
136
- const ArrayItemContext = createContext<ArrayItemContextValue | null>(null)
137
- const AutoSubmitContext = createContext<(() => void) | null>(null)
136
+ const ArrayItemContext = createContext<ArrayItemContextValue | null>(null);
137
+ const AutoSubmitContext = createContext<(() => void) | null>(null);
138
138
 
139
139
  const makeFieldComponent = <S extends Schema.Schema.Any, P>(
140
140
  fieldKey: string,
141
141
  fieldDef: Field.FieldDef<string, S>,
142
142
  errorsAtom: Atom.Writable<Map<string, Validation.ErrorEntry>, Map<string, Validation.ErrorEntry>>,
143
143
  submitCountAtom: Atom.Atom<number>,
144
- dirtyFieldsAtom: Atom.Atom<ReadonlySet<string>>,
145
144
  parsedMode: Mode.ParsedMode,
146
145
  getOrCreateValidationAtom: (
147
146
  fieldPath: string,
@@ -151,121 +150,116 @@ const makeFieldComponent = <S extends Schema.Schema.Any, P>(
151
150
  Component: React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, P>>,
152
151
  ): React.FC<P> => {
153
152
  const FieldComponent: React.FC<P> = (extraProps) => {
154
- const arrayCtx = useContext(ArrayItemContext)
155
- const autoSubmitOnBlur = useContext(AutoSubmitContext)
156
- const fieldPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey
153
+ const arrayCtx = useContext(ArrayItemContext);
154
+ const autoSubmitOnBlur = useContext(AutoSubmitContext);
155
+ const fieldPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey;
157
156
 
158
- const { errorAtom, touchedAtom, valueAtom } = React.useMemo(
157
+ const { errorAtom, isDirtyAtom, touchedAtom, valueAtom } = React.useMemo(
159
158
  () => getOrCreateFieldAtoms(fieldPath),
160
159
  [fieldPath],
161
- )
160
+ );
162
161
 
163
- const [value, setValue] = useAtom(valueAtom) as [Schema.Schema.Encoded<S>, (v: unknown) => void]
164
- const [isTouched, setTouched] = useAtom(touchedAtom)
165
- const storedError = useAtomValue(errorAtom)
166
- const submitCount = useAtomValue(submitCountAtom)
162
+ const [value, setValue] = useAtom(valueAtom) as [Schema.Schema.Encoded<S>, (v: unknown) => void];
163
+ const [isTouched, setTouched] = useAtom(touchedAtom);
164
+ const storedError = useAtomValue(errorAtom);
165
+ const submitCount = useAtomValue(submitCountAtom);
167
166
 
168
- const validationAtom = React.useMemo(
169
- () => getOrCreateValidationAtom(fieldPath, fieldDef.schema),
170
- [fieldPath],
171
- )
172
- const validationResult = useAtomValue(validationAtom)
173
- const validateImmediate = useAtomSet(validationAtom)
167
+ const validationAtom = React.useMemo(() => getOrCreateValidationAtom(fieldPath, fieldDef.schema), [fieldPath]);
168
+ const validationResult = useAtomValue(validationAtom);
169
+ const validateImmediate = useAtomSet(validationAtom);
174
170
 
175
- const shouldDebounceValidation = parsedMode.validation === "onChange"
176
- && parsedMode.debounce !== null
177
- && !parsedMode.autoSubmit
178
- const validate = useDebounced(validateImmediate, shouldDebounceValidation ? parsedMode.debounce : null)
171
+ const shouldDebounceValidation = parsedMode.validation === "onChange" && parsedMode.debounce !== null &&
172
+ !parsedMode.autoSubmit;
173
+ const validate = useDebounced(validateImmediate, shouldDebounceValidation ? parsedMode.debounce : null);
179
174
 
180
- const prevValueRef = React.useRef(value)
175
+ const prevValueRef = React.useRef(value);
181
176
  React.useEffect(() => {
182
177
  if (prevValueRef.current === value) {
183
- return
178
+ return;
184
179
  }
185
- prevValueRef.current = value
180
+ prevValueRef.current = value;
186
181
 
187
- const shouldValidate = parsedMode.validation === "onChange"
188
- || (parsedMode.validation === "onBlur" && isTouched)
189
- || (parsedMode.validation === "onSubmit" && submitCount > 0)
182
+ const shouldValidate = parsedMode.validation === "onChange" ||
183
+ (parsedMode.validation === "onBlur" && isTouched) ||
184
+ (parsedMode.validation === "onSubmit" && submitCount > 0);
190
185
 
191
186
  if (shouldValidate) {
192
- validate(value)
187
+ validate(value);
193
188
  }
194
- }, [value, isTouched, submitCount, validate])
189
+ }, [value, isTouched, submitCount, validate]);
195
190
 
196
191
  const livePerFieldError: Option.Option<string> = React.useMemo(() => {
197
192
  if (validationResult._tag === "Failure") {
198
- const parseError = Cause.failureOption(validationResult.cause)
193
+ const parseError = Cause.failureOption(validationResult.cause);
199
194
  if (Option.isSome(parseError) && ParseResult.isParseError(parseError.value)) {
200
- return Validation.extractFirstError(parseError.value)
195
+ return Validation.extractFirstError(parseError.value);
201
196
  }
202
197
  }
203
- return Option.none()
204
- }, [validationResult])
198
+ return Option.none();
199
+ }, [validationResult]);
205
200
 
206
- const isValidating = validationResult.waiting
201
+ const isValidating = validationResult.waiting;
207
202
 
208
203
  const validationError: Option.Option<string> = React.useMemo(() => {
209
204
  if (Option.isSome(livePerFieldError)) {
210
- return livePerFieldError
205
+ return livePerFieldError;
211
206
  }
212
207
 
213
208
  if (Option.isSome(storedError)) {
214
209
  // Hide field-sourced errors when validation passes or is pending (async gap).
215
210
  // Refinement errors persist until re-submit - they can't be cleared by typing.
216
211
  const shouldHideStoredError = storedError.value.source === "field" &&
217
- (validationResult._tag === "Success" || isValidating)
212
+ (validationResult._tag === "Success" || isValidating);
218
213
 
219
214
  if (shouldHideStoredError) {
220
- return Option.none()
215
+ return Option.none();
221
216
  }
222
- return Option.some(storedError.value.message)
217
+ return Option.some(storedError.value.message);
223
218
  }
224
219
 
225
- return Option.none()
226
- }, [livePerFieldError, storedError, validationResult, isValidating])
220
+ return Option.none();
221
+ }, [livePerFieldError, storedError, validationResult, isValidating]);
227
222
 
228
223
  const onChange = React.useCallback(
229
224
  (newValue: Schema.Schema.Encoded<S>) => {
230
- setValue(newValue)
225
+ setValue(newValue);
231
226
  },
232
227
  [setValue],
233
- )
228
+ );
234
229
 
235
230
  const onBlur = React.useCallback(() => {
236
- setTouched(true)
231
+ setTouched(true);
237
232
  if (parsedMode.validation === "onBlur") {
238
- validate(value)
233
+ validate(value);
239
234
  }
240
- autoSubmitOnBlur?.()
241
- }, [setTouched, validate, value, autoSubmitOnBlur])
242
-
243
- const dirtyFields = useAtomValue(dirtyFieldsAtom)
244
- const isDirty = React.useMemo(
245
- () => isPathOrParentDirty(dirtyFields, fieldPath),
246
- [dirtyFields, fieldPath],
247
- )
235
+ autoSubmitOnBlur?.();
236
+ }, [setTouched, validate, value, autoSubmitOnBlur]);
237
+
238
+ const isDirty = useAtomValue(isDirtyAtom);
248
239
  const shouldShowError = parsedMode.validation === "onChange"
249
- ? (isDirty || submitCount > 0)
240
+ ? isDirty || submitCount > 0
250
241
  : parsedMode.validation === "onBlur"
251
- ? (isTouched || submitCount > 0)
252
- : submitCount > 0
253
-
254
- const fieldState: FieldState<Schema.Schema.Encoded<S>> = React.useMemo(() => ({
255
- value,
256
- onChange,
257
- onBlur,
258
- error: shouldShowError ? validationError : Option.none<string>(),
259
- isTouched,
260
- isValidating,
261
- isDirty,
262
- }), [value, onChange, onBlur, shouldShowError, validationError, isTouched, isValidating, isDirty])
263
-
264
- return <Component field={fieldState} props={extraProps} />
265
- }
266
-
267
- return React.memo(FieldComponent) as React.FC<P>
268
- }
242
+ ? isTouched || submitCount > 0
243
+ : submitCount > 0;
244
+
245
+ const fieldState: FieldState<Schema.Schema.Encoded<S>> = React.useMemo(
246
+ () => ({
247
+ value,
248
+ onChange,
249
+ onBlur,
250
+ error: shouldShowError ? validationError : Option.none<string>(),
251
+ isTouched,
252
+ isValidating,
253
+ isDirty,
254
+ }),
255
+ [value, onChange, onBlur, shouldShowError, validationError, isTouched, isValidating, isDirty],
256
+ );
257
+
258
+ return <Component field={fieldState} props={extraProps} />;
259
+ };
260
+
261
+ return React.memo(FieldComponent) as React.FC<P>;
262
+ };
269
263
 
270
264
  const makeArrayFieldComponent = <S extends Schema.Schema.Any>(
271
265
  fieldKey: string,
@@ -283,130 +277,126 @@ const makeArrayFieldComponent = <S extends Schema.Schema.Any>(
283
277
  operations: FormAtoms.FormOperations<any>,
284
278
  componentMap: ArrayItemComponentMap<S>,
285
279
  ): ArrayFieldComponent<S, any> => {
286
- const isStructSchema = AST.isTypeLiteral(def.itemSchema.ast)
280
+ const isStructSchema = AST.isTypeLiteral(def.itemSchema.ast);
287
281
 
288
282
  const ArrayWrapper: React.FC<{
289
- readonly children: (ops: ArrayFieldOperations<Schema.Schema.Encoded<S>>) => React.ReactNode
283
+ readonly children: (ops: ArrayFieldOperations<Schema.Schema.Encoded<S>>) => React.ReactNode;
290
284
  }> = ({ children }) => {
291
- const arrayCtx = useContext(ArrayItemContext)
292
- const [formStateOption, setFormState] = useAtom(stateAtom)
293
- const formState = Option.getOrThrow(formStateOption)
285
+ const arrayCtx = useContext(ArrayItemContext);
286
+ const [formStateOption, setFormState] = useAtom(stateAtom);
287
+ const formState = Option.getOrThrow(formStateOption);
294
288
 
295
- const fieldPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey
289
+ const fieldPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey;
296
290
  const items = React.useMemo(
297
291
  () => (getNestedValue(formState.values, fieldPath) ?? []) as ReadonlyArray<Schema.Schema.Encoded<S>>,
298
292
  [formState.values, fieldPath],
299
- )
293
+ );
300
294
 
301
295
  const append = React.useCallback(
302
296
  (value?: Schema.Schema.Encoded<S>) => {
303
297
  setFormState((prev) => {
304
- if (Option.isNone(prev)) return prev
305
- return Option.some(operations.appendArrayItem(prev.value, fieldPath, def.itemSchema, value))
306
- })
298
+ if (Option.isNone(prev)) return prev;
299
+ return Option.some(operations.appendArrayItem(prev.value, fieldPath, def.itemSchema, value));
300
+ });
307
301
  },
308
302
  [fieldPath, setFormState],
309
- )
303
+ );
310
304
 
311
305
  const remove = React.useCallback(
312
306
  (index: number) => {
313
307
  setFormState((prev) => {
314
- if (Option.isNone(prev)) return prev
315
- return Option.some(operations.removeArrayItem(prev.value, fieldPath, index))
316
- })
308
+ if (Option.isNone(prev)) return prev;
309
+ return Option.some(operations.removeArrayItem(prev.value, fieldPath, index));
310
+ });
317
311
  },
318
312
  [fieldPath, setFormState],
319
- )
313
+ );
320
314
 
321
315
  const swap = React.useCallback(
322
316
  (indexA: number, indexB: number) => {
323
317
  setFormState((prev) => {
324
- if (Option.isNone(prev)) return prev
325
- return Option.some(operations.swapArrayItems(prev.value, fieldPath, indexA, indexB))
326
- })
318
+ if (Option.isNone(prev)) return prev;
319
+ return Option.some(operations.swapArrayItems(prev.value, fieldPath, indexA, indexB));
320
+ });
327
321
  },
328
322
  [fieldPath, setFormState],
329
- )
323
+ );
330
324
 
331
325
  const move = React.useCallback(
332
326
  (from: number, to: number) => {
333
327
  setFormState((prev) => {
334
- if (Option.isNone(prev)) return prev
335
- return Option.some(operations.moveArrayItem(prev.value, fieldPath, from, to))
336
- })
328
+ if (Option.isNone(prev)) return prev;
329
+ return Option.some(operations.moveArrayItem(prev.value, fieldPath, from, to));
330
+ });
337
331
  },
338
332
  [fieldPath, setFormState],
339
- )
333
+ );
340
334
 
341
- return <>{children({ items, append, remove, swap, move })}</>
342
- }
335
+ return <>{children({ items, append, remove, swap, move })}</>;
336
+ };
343
337
 
344
338
  const ItemWrapper: React.FC<{
345
- readonly index: number
346
- readonly children: React.ReactNode | ((props: { readonly remove: () => void }) => React.ReactNode)
339
+ readonly index: number;
340
+ readonly children: React.ReactNode | ((props: { readonly remove: () => void; }) => React.ReactNode);
347
341
  }> = ({ children, index }) => {
348
- const arrayCtx = useContext(ArrayItemContext)
349
- const setFormState = useAtomSet(stateAtom)
342
+ const arrayCtx = useContext(ArrayItemContext);
343
+ const setFormState = useAtomSet(stateAtom);
350
344
 
351
- const parentPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey
352
- const itemPath = `${parentPath}[${index}]`
345
+ const parentPath = arrayCtx ? `${arrayCtx.parentPath}.${fieldKey}` : fieldKey;
346
+ const itemPath = `${parentPath}[${index}]`;
353
347
 
354
348
  const remove = React.useCallback(() => {
355
349
  setFormState((prev) => {
356
- if (Option.isNone(prev)) return prev
357
- return Option.some(operations.removeArrayItem(prev.value, parentPath, index))
358
- })
359
- }, [parentPath, index, setFormState])
350
+ if (Option.isNone(prev)) return prev;
351
+ return Option.some(operations.removeArrayItem(prev.value, parentPath, index));
352
+ });
353
+ }, [parentPath, index, setFormState]);
360
354
 
361
355
  return (
362
356
  <ArrayItemContext.Provider value={{ index, parentPath: itemPath }}>
363
357
  {typeof children === "function" ? children({ remove }) : children}
364
358
  </ArrayItemContext.Provider>
365
- )
366
- }
359
+ );
360
+ };
367
361
 
368
- const itemFieldComponents: Record<string, React.FC> = {}
362
+ const itemFieldComponents: Record<string, React.FC> = {};
369
363
 
370
364
  if (isStructSchema) {
371
- const ast = def.itemSchema.ast as AST.TypeLiteral
365
+ const ast = def.itemSchema.ast as AST.TypeLiteral;
372
366
  for (const prop of ast.propertySignatures) {
373
- const itemKey = prop.name as string
374
- const itemSchema = { ast: prop.type } as Schema.Schema.Any
375
- const itemDef = Field.makeField(itemKey, itemSchema)
376
- const itemComponent = (componentMap as Record<string, React.FC<FieldComponentProps<any, any>>>)[itemKey]
367
+ const itemKey = prop.name as string;
368
+ const itemSchema = { ast: prop.type } as Schema.Schema.Any;
369
+ const itemDef = Field.makeField(itemKey, itemSchema);
370
+ const itemComponent = (componentMap as Record<string, React.FC<FieldComponentProps<any, any>>>)[itemKey];
377
371
  itemFieldComponents[itemKey] = makeFieldComponent(
378
372
  itemKey,
379
373
  itemDef,
380
374
  errorsAtom,
381
375
  submitCountAtom,
382
- dirtyFieldsAtom,
383
376
  parsedMode,
384
377
  getOrCreateValidationAtom,
385
378
  getOrCreateFieldAtoms,
386
379
  itemComponent,
387
- )
380
+ );
388
381
  }
389
382
  }
390
383
 
391
384
  const properties: Record<string, unknown> = {
392
385
  Item: ItemWrapper,
393
386
  ...itemFieldComponents,
394
- }
387
+ };
395
388
 
396
389
  return new Proxy(ArrayWrapper, {
397
390
  get(target, prop) {
398
391
  if (prop in properties) {
399
- return properties[prop as string]
392
+ return properties[prop as string];
400
393
  }
401
- return Reflect.get(target, prop)
394
+ return Reflect.get(target, prop);
402
395
  },
403
- }) as ArrayFieldComponent<S, any>
404
- }
396
+ }) as ArrayFieldComponent<S, any>;
397
+ };
405
398
 
406
- const makeFieldComponents = <
407
- TFields extends Field.FieldsRecord,
408
- CM extends FieldComponentMap<TFields>,
409
- >(
399
+ const makeFieldComponents = <TFields extends Field.FieldsRecord, CM extends FieldComponentMap<TFields>>(
410
400
  fields: TFields,
411
401
  stateAtom: Atom.Writable<
412
402
  Option.Option<FormBuilder.FormState<TFields>>,
@@ -424,11 +414,11 @@ const makeFieldComponents = <
424
414
  operations: FormAtoms.FormOperations<TFields>,
425
415
  componentMap: CM,
426
416
  ): FieldComponents<TFields, CM> => {
427
- const components: Record<string, any> = {}
417
+ const components: Record<string, any> = {};
428
418
 
429
419
  for (const [key, def] of Object.entries(fields)) {
430
420
  if (Field.isArrayFieldDef(def)) {
431
- const arrayComponentMap = (componentMap as Record<string, any>)[key]
421
+ const arrayComponentMap = (componentMap as Record<string, any>)[key];
432
422
  components[key] = makeArrayFieldComponent(
433
423
  key,
434
424
  def as Field.ArrayFieldDef<string, Schema.Schema.Any>,
@@ -441,25 +431,24 @@ const makeFieldComponents = <
441
431
  getOrCreateFieldAtoms,
442
432
  operations,
443
433
  arrayComponentMap,
444
- )
434
+ );
445
435
  } else if (Field.isFieldDef(def)) {
446
- const fieldComponent = (componentMap as Record<string, React.FC<FieldComponentProps<any, any>>>)[key]
436
+ const fieldComponent = (componentMap as Record<string, React.FC<FieldComponentProps<any, any>>>)[key];
447
437
  components[key] = makeFieldComponent(
448
438
  key,
449
439
  def,
450
440
  errorsAtom,
451
441
  submitCountAtom,
452
- dirtyFieldsAtom,
453
442
  parsedMode,
454
443
  getOrCreateValidationAtom,
455
444
  getOrCreateFieldAtoms,
456
445
  fieldComponent,
457
- )
446
+ );
458
447
  }
459
448
  }
460
449
 
461
- return components as FieldComponents<TFields, CM>
462
- }
450
+ return components as FieldComponents<TFields, CM>;
451
+ };
463
452
 
464
453
  export const make: {
465
454
  <
@@ -471,19 +460,19 @@ export const make: {
471
460
  >(
472
461
  self: FormBuilder.FormBuilder<TFields, never>,
473
462
  options: {
474
- readonly runtime?: Atom.AtomRuntime<never, never>
475
- readonly fields: CM
476
- readonly mode?: SubmitArgs extends void ? Mode.FormMode : Mode.FormModeWithoutAutoSubmit
463
+ readonly runtime?: Atom.AtomRuntime<never, never>;
464
+ readonly fields: CM;
465
+ readonly mode?: SubmitArgs extends void ? Mode.FormMode : Mode.FormModeWithoutAutoSubmit;
477
466
  readonly onSubmit: (
478
467
  args: SubmitArgs,
479
468
  ctx: {
480
- readonly decoded: Field.DecodedFromFields<TFields>
481
- readonly encoded: Field.EncodedFromFields<TFields>
482
- readonly get: Atom.FnContext
469
+ readonly decoded: Field.DecodedFromFields<TFields>;
470
+ readonly encoded: Field.EncodedFromFields<TFields>;
471
+ readonly get: Atom.FnContext;
483
472
  },
484
- ) => A | Effect.Effect<A, E, never>
473
+ ) => A | Effect.Effect<A, E, never>;
485
474
  },
486
- ): BuiltForm<TFields, never, A, E, SubmitArgs, CM>
475
+ ): BuiltForm<TFields, never, A, E, SubmitArgs, CM>;
487
476
 
488
477
  <
489
478
  TFields extends Field.FieldsRecord,
@@ -496,30 +485,30 @@ export const make: {
496
485
  >(
497
486
  self: FormBuilder.FormBuilder<TFields, R>,
498
487
  options: {
499
- readonly runtime: Atom.AtomRuntime<R, ER>
500
- readonly fields: CM
501
- readonly mode?: SubmitArgs extends void ? Mode.FormMode : Mode.FormModeWithoutAutoSubmit
488
+ readonly runtime: Atom.AtomRuntime<R, ER>;
489
+ readonly fields: CM;
490
+ readonly mode?: SubmitArgs extends void ? Mode.FormMode : Mode.FormModeWithoutAutoSubmit;
502
491
  readonly onSubmit: (
503
492
  args: SubmitArgs,
504
493
  ctx: {
505
- readonly decoded: Field.DecodedFromFields<TFields>
506
- readonly encoded: Field.EncodedFromFields<TFields>
507
- readonly get: Atom.FnContext
494
+ readonly decoded: Field.DecodedFromFields<TFields>;
495
+ readonly encoded: Field.EncodedFromFields<TFields>;
496
+ readonly get: Atom.FnContext;
508
497
  },
509
- ) => A | Effect.Effect<A, E, R>
498
+ ) => A | Effect.Effect<A, E, R>;
510
499
  },
511
- ): BuiltForm<TFields, R, A, E, SubmitArgs, CM>
500
+ ): BuiltForm<TFields, R, A, E, SubmitArgs, CM>;
512
501
  } = (self: any, options: any): any => {
513
- const { fields: components, mode, onSubmit, runtime: providedRuntime } = options
514
- const runtime = providedRuntime ?? Atom.runtime(Layer.empty)
515
- const parsedMode = Mode.parse(mode)
516
- const { fields } = self
502
+ const { fields: components, mode, onSubmit, runtime: providedRuntime } = options;
503
+ const runtime = providedRuntime ?? Atom.runtime(Layer.empty);
504
+ const parsedMode = Mode.parse(mode);
505
+ const { fields } = self;
517
506
 
518
507
  const formAtoms = FormAtoms.make({
519
508
  formBuilder: self,
520
509
  runtime,
521
510
  onSubmit,
522
- })
511
+ });
523
512
 
524
513
  const {
525
514
  combinedSchema,
@@ -544,37 +533,40 @@ export const make: {
544
533
  submitAtom,
545
534
  submitCountAtom,
546
535
  valuesAtom,
547
- } = formAtoms
536
+ } = formAtoms;
548
537
 
549
538
  const InitializeComponent: React.FC<{
550
- readonly defaultValues: any
551
- readonly children: React.ReactNode
539
+ readonly defaultValues: any;
540
+ readonly children: React.ReactNode;
552
541
  }> = ({ children, defaultValues }) => {
553
- const registry = React.useContext(RegistryContext)
554
- const state = useAtomValue(stateAtom)
555
- const setFormState = useAtomSet(stateAtom)
556
- const callSubmit = useAtomSet(submitAtom)
557
- const isInitializedRef = React.useRef(false)
542
+ const registry = React.useContext(RegistryContext);
543
+ const state = useAtomValue(stateAtom);
544
+ const setFormState = useAtomSet(stateAtom);
545
+ const callSubmit = useAtomSet(submitAtom);
546
+ const isInitializedRef = React.useRef(false);
558
547
 
559
548
  React.useEffect(() => {
560
- const isKeptAlive = registry.get(keepAliveActiveAtom)
561
- const currentState = registry.get(stateAtom)
549
+ const isKeptAlive = registry.get(keepAliveActiveAtom);
550
+ const currentState = registry.get(stateAtom);
562
551
 
563
552
  if (!isKeptAlive) {
564
- setFormState(Option.some(operations.createInitialState(defaultValues)))
553
+ setFormState(Option.some(operations.createInitialState(defaultValues)));
565
554
  } else if (Option.isNone(currentState)) {
566
- setFormState(Option.some(operations.createInitialState(defaultValues)))
555
+ setFormState(Option.some(operations.createInitialState(defaultValues)));
567
556
  }
568
557
 
569
- isInitializedRef.current = true
558
+ isInitializedRef.current = true;
570
559
  // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only
571
- }, [registry])
560
+ }, [registry]);
572
561
 
573
- const debouncedAutoSubmit = useDebounced(() => {
574
- const stateOption = registry.get(stateAtom)
575
- if (Option.isNone(stateOption)) return
576
- callSubmit(undefined)
577
- }, parsedMode.autoSubmit && parsedMode.validation === "onChange" ? parsedMode.debounce : null)
562
+ const debouncedAutoSubmit = useDebounced(
563
+ () => {
564
+ const stateOption = registry.get(stateAtom);
565
+ if (Option.isNone(stateOption)) return;
566
+ callSubmit(undefined);
567
+ },
568
+ parsedMode.autoSubmit && parsedMode.validation === "onChange" ? parsedMode.debounce : null,
569
+ );
578
570
 
579
571
  // ─────────────────────────────────────────────────────────────────────────────
580
572
  // Auto-Submit Coordination
@@ -587,75 +579,75 @@ export const make: {
587
579
  // metadata updates (submitCount, lastSubmittedValues).
588
580
  // ─────────────────────────────────────────────────────────────────────────────
589
581
 
590
- const lastValuesRef = React.useRef<unknown>(null)
591
- const pendingChangesRef = React.useRef(false)
592
- const wasSubmittingRef = React.useRef(false)
582
+ const lastValuesRef = React.useRef<unknown>(null);
583
+ const pendingChangesRef = React.useRef(false);
584
+ const wasSubmittingRef = React.useRef(false);
593
585
 
594
586
  useAtomSubscribe(
595
587
  stateAtom,
596
588
  React.useCallback(() => {
597
- if (!isInitializedRef.current) return
589
+ if (!isInitializedRef.current) return;
598
590
 
599
- const state = registry.get(stateAtom)
600
- if (Option.isNone(state)) return
601
- const currentValues = state.value.values
591
+ const state = registry.get(stateAtom);
592
+ if (Option.isNone(state)) return;
593
+ const currentValues = state.value.values;
602
594
 
603
595
  // Reference equality filters out submit metadata changes.
604
596
  // Works because setFieldValue creates new values object (immutable update).
605
- if (currentValues === lastValuesRef.current) return
606
- lastValuesRef.current = currentValues
597
+ if (currentValues === lastValuesRef.current) return;
598
+ lastValuesRef.current = currentValues;
607
599
 
608
- if (!parsedMode.autoSubmit || parsedMode.validation !== "onChange") return
600
+ if (!parsedMode.autoSubmit || parsedMode.validation !== "onChange") return;
609
601
 
610
- const submitResult = registry.get(submitAtom)
602
+ const submitResult = registry.get(submitAtom);
611
603
  if (submitResult.waiting) {
612
- pendingChangesRef.current = true
604
+ pendingChangesRef.current = true;
613
605
  } else {
614
- debouncedAutoSubmit()
606
+ debouncedAutoSubmit();
615
607
  }
616
608
  }, [debouncedAutoSubmit, registry]),
617
609
  { immediate: false },
618
- )
610
+ );
619
611
 
620
612
  useAtomSubscribe(
621
613
  submitAtom,
622
614
  React.useCallback(
623
615
  (result) => {
624
- if (!parsedMode.autoSubmit || parsedMode.validation !== "onChange") return
616
+ if (!parsedMode.autoSubmit || parsedMode.validation !== "onChange") return;
625
617
 
626
- const isSubmitting = result.waiting
627
- const wasSubmitting = wasSubmittingRef.current
628
- wasSubmittingRef.current = isSubmitting
618
+ const isSubmitting = result.waiting;
619
+ const wasSubmitting = wasSubmittingRef.current;
620
+ wasSubmittingRef.current = isSubmitting;
629
621
 
630
622
  // Flush queued changes when submit completes
631
623
  if (wasSubmitting && !isSubmitting) {
632
624
  if (pendingChangesRef.current) {
633
- pendingChangesRef.current = false
634
- debouncedAutoSubmit()
625
+ pendingChangesRef.current = false;
626
+ debouncedAutoSubmit();
635
627
  }
636
628
  }
637
629
  },
638
630
  [debouncedAutoSubmit],
639
631
  ),
640
632
  { immediate: false },
641
- )
633
+ );
642
634
 
643
635
  const onBlurAutoSubmit = React.useCallback(() => {
644
- if (!parsedMode.autoSubmit || parsedMode.validation !== "onBlur") return
636
+ if (!parsedMode.autoSubmit || parsedMode.validation !== "onBlur") return;
645
637
 
646
- const stateOption = registry.get(stateAtom)
647
- if (Option.isNone(stateOption)) return
638
+ const stateOption = registry.get(stateAtom);
639
+ if (Option.isNone(stateOption)) return;
648
640
 
649
- const { lastSubmittedValues, values } = stateOption.value
650
- if (Option.isSome(lastSubmittedValues) && values === lastSubmittedValues.value.encoded) return
641
+ const { lastSubmittedValues, values } = stateOption.value;
642
+ if (Option.isSome(lastSubmittedValues) && values === lastSubmittedValues.value.encoded) return;
651
643
 
652
- callSubmit(undefined)
653
- }, [registry, callSubmit])
644
+ callSubmit(undefined);
645
+ }, [registry, callSubmit]);
654
646
 
655
- if (Option.isNone(state)) return null
647
+ if (Option.isNone(state)) return null;
656
648
 
657
- return <AutoSubmitContext.Provider value={onBlurAutoSubmit}>{children}</AutoSubmitContext.Provider>
658
- }
649
+ return <AutoSubmitContext.Provider value={onBlurAutoSubmit}>{children}</AutoSubmitContext.Provider>;
650
+ };
659
651
 
660
652
  const fieldComponents = makeFieldComponents(
661
653
  fields,
@@ -668,19 +660,19 @@ export const make: {
668
660
  getOrCreateFieldAtoms,
669
661
  operations,
670
662
  components,
671
- )
663
+ );
672
664
 
673
665
  const KeepAlive: React.FC = () => {
674
- const setKeepAliveActive = useAtomSet(keepAliveActiveAtom)
666
+ const setKeepAliveActive = useAtomSet(keepAliveActiveAtom);
675
667
 
676
668
  React.useLayoutEffect(() => {
677
- setKeepAliveActive(true)
678
- return () => setKeepAliveActive(false)
679
- }, [setKeepAliveActive])
669
+ setKeepAliveActive(true);
670
+ return () => setKeepAliveActive(false);
671
+ }, [setKeepAliveActive]);
680
672
 
681
- useAtomMount(mountAtom)
682
- return null
683
- }
673
+ useAtomMount(mountAtom);
674
+ return null;
675
+ };
684
676
 
685
677
  return {
686
678
  values: valuesAtom,
@@ -701,5 +693,5 @@ export const make: {
701
693
  mount: mountAtom,
702
694
  KeepAlive,
703
695
  ...fieldComponents,
704
- }
705
- }
696
+ };
697
+ };