@lucas-barake/effect-form-react 0.2.0 → 0.3.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.
@@ -297,7 +297,9 @@ const build = (self, options) => {
297
297
  fieldRefs,
298
298
  getOrCreateFieldAtoms,
299
299
  getOrCreateValidationAtom,
300
+ hasChangedSinceSubmitAtom,
300
301
  isDirtyAtom,
302
+ lastSubmittedValuesAtom,
301
303
  onSubmitAtom,
302
304
  operations,
303
305
  resetValidationAtoms,
@@ -359,6 +361,8 @@ const build = (self, options) => {
359
361
  const setCrossFieldErrors = (0, _atomReact.useAtomSet)(crossFieldErrorsAtom);
360
362
  const [decodeAndSubmitResult, callDecodeAndSubmit] = (0, _atomReact.useAtom)(decodeAndSubmit);
361
363
  const isDirty = (0, _atomReact.useAtomValue)(isDirtyAtom);
364
+ const hasChangedSinceSubmit = (0, _atomReact.useAtomValue)(hasChangedSinceSubmitAtom);
365
+ const lastSubmittedValues = (0, _atomReact.useAtomValue)(lastSubmittedValuesAtom);
362
366
  React.useEffect(() => {
363
367
  if (decodeAndSubmitResult._tag === "Failure") {
364
368
  const parseError = Cause.failureOption(decodeAndSubmitResult.cause);
@@ -398,6 +402,13 @@ const build = (self, options) => {
398
402
  resetValidationAtoms(registry);
399
403
  callDecodeAndSubmit(Atom.Reset);
400
404
  }, [setFormState, setCrossFieldErrors, callDecodeAndSubmit, registry]);
405
+ const revertToLastSubmit = React.useCallback(() => {
406
+ setFormState(prev => {
407
+ if (Option.isNone(prev)) return prev;
408
+ return Option.some(operations.revertToLastSubmit(prev.value));
409
+ });
410
+ setCrossFieldErrors(new Map());
411
+ }, [setFormState, setCrossFieldErrors]);
401
412
  const setValue = React.useCallback((field, update) => {
402
413
  const path = field.key;
403
414
  setFormState(prev => {
@@ -429,7 +440,10 @@ const build = (self, options) => {
429
440
  return {
430
441
  submit,
431
442
  reset,
443
+ revertToLastSubmit,
432
444
  isDirty,
445
+ hasChangedSinceSubmit,
446
+ lastSubmittedValues,
433
447
  submitResult: decodeAndSubmitResult,
434
448
  values: formValues,
435
449
  setValue,
@@ -440,8 +454,11 @@ const build = (self, options) => {
440
454
  children
441
455
  }) => {
442
456
  const {
457
+ hasChangedSinceSubmit,
443
458
  isDirty,
459
+ lastSubmittedValues,
444
460
  reset,
461
+ revertToLastSubmit,
445
462
  setValue,
446
463
  setValues,
447
464
  submit,
@@ -450,13 +467,16 @@ const build = (self, options) => {
450
467
  } = useFormHook();
451
468
  return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
452
469
  children: children({
453
- values,
470
+ hasChangedSinceSubmit,
454
471
  isDirty,
455
- submitResult,
456
- submit,
472
+ lastSubmittedValues,
457
473
  reset,
474
+ revertToLastSubmit,
458
475
  setValue,
459
- setValues
476
+ setValues,
477
+ submit,
478
+ submitResult,
479
+ values
460
480
  })
461
481
  });
462
482
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FormReact.js","names":["_atomReact","require","Atom","_interopRequireWildcard","_effectForm","_path","Cause","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","crossFieldErrorsAtom","submitCountAtom","dirtyFieldsAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","memo","arrayCtx","useContext","autoSubmitOnBlur","fieldPath","parentPath","crossFieldErrorAtom","touchedAtom","valueAtom","useMemo","value","setValue","useAtom","isTouched","setTouched","crossFieldError","useAtomValue","setCrossFieldErrors","useAtomSet","submitCount","validationAtom","schema","validationResult","validateImmediate","shouldDebounceValidation","validation","debounce","autoSubmit","validate","useDebounced","prevValueRef","useRef","useEffect","current","shouldValidate","perFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","Validation","extractFirstError","none","validationError","onChange","useCallback","newValue","prev","next","Map","delete","onBlur","dirtyFields","isDirty","isPathOrParentDirty","isValidating","waiting","shouldShowError","_jsxRuntime","jsx","error","makeArrayFieldComponent","def","stateAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","getNestedValue","values","append","isNone","some","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","build","self","options","mode","runtime","Mode","parse","formAtoms","FormAtoms","make","formBuilder","combinedSchema","decodeAndSubmit","fieldRefs","isDirtyAtom","onSubmitAtom","resetValidationAtoms","FormComponent","defaultValues","onSubmit","registry","RegistryContext","state","setOnSubmit","callDecodeAndSubmit","createInitialState","debouncedAutoSubmit","stateOption","useAtomSubscribe","immediate","onBlurAutoSubmit","preventDefault","stopPropagation","useFormHook","formValues","decodeAndSubmitResult","issues","ArrayFormatter","formatErrorSync","fieldErrors","issue","path","length","schemaPathToFieldPath","message","size","submit","createSubmitState","reset","createResetState","Reset","field","update","currentValue","setFieldValue","changed","errorPath","keys","startsWith","setValues","setFormValues","submitResult","SubscribeComponent","submitHelper","fn","fieldComponents","atom","Form","Subscribe","useForm","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","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","crossFieldErrorsAtom","submitCountAtom","dirtyFieldsAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","memo","arrayCtx","useContext","autoSubmitOnBlur","fieldPath","parentPath","crossFieldErrorAtom","touchedAtom","valueAtom","useMemo","value","setValue","useAtom","isTouched","setTouched","crossFieldError","useAtomValue","setCrossFieldErrors","useAtomSet","submitCount","validationAtom","schema","validationResult","validateImmediate","shouldDebounceValidation","validation","debounce","autoSubmit","validate","useDebounced","prevValueRef","useRef","useEffect","current","shouldValidate","perFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","Validation","extractFirstError","none","validationError","onChange","useCallback","newValue","prev","next","Map","delete","onBlur","dirtyFields","isDirty","isPathOrParentDirty","isValidating","waiting","shouldShowError","_jsxRuntime","jsx","error","makeArrayFieldComponent","def","stateAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","getNestedValue","values","append","isNone","some","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","build","self","options","mode","runtime","Mode","parse","formAtoms","FormAtoms","make","formBuilder","combinedSchema","decodeAndSubmit","fieldRefs","hasChangedSinceSubmitAtom","isDirtyAtom","lastSubmittedValuesAtom","onSubmitAtom","resetValidationAtoms","FormComponent","defaultValues","onSubmit","registry","RegistryContext","state","setOnSubmit","callDecodeAndSubmit","createInitialState","debouncedAutoSubmit","stateOption","useAtomSubscribe","immediate","onBlurAutoSubmit","preventDefault","stopPropagation","useFormHook","formValues","decodeAndSubmitResult","hasChangedSinceSubmit","lastSubmittedValues","issues","ArrayFormatter","formatErrorSync","fieldErrors","issue","path","length","schemaPathToFieldPath","message","size","submit","createSubmitState","reset","createResetState","Reset","revertToLastSubmit","field","update","currentValue","setFieldValue","changed","errorPath","keys","startsWith","setValues","setFormValues","submitResult","SubscribeComponent","submitHelper","fn","fieldComponents","atom","Form","Subscribe","useForm","exports"],"sources":["../../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -70,9 +70,12 @@ export interface ArrayFieldOperations<TItem> {
70
70
  export interface SubscribeState<TFields extends Field.FieldsRecord> {
71
71
  readonly values: Field.EncodedFromFields<TFields>;
72
72
  readonly isDirty: boolean;
73
+ readonly hasChangedSinceSubmit: boolean;
74
+ readonly lastSubmittedValues: Option.Option<Field.EncodedFromFields<TFields>>;
73
75
  readonly submitResult: Result.Result<unknown, unknown>;
74
76
  readonly submit: () => void;
75
77
  readonly reset: () => void;
78
+ readonly revertToLastSubmit: () => void;
76
79
  readonly setValue: <S>(field: Form.Field<S>, update: S | ((prev: S) => S)) => void;
77
80
  readonly setValues: (values: Field.EncodedFromFields<TFields>) => void;
78
81
  }
@@ -98,7 +101,10 @@ export type BuiltForm<TFields extends Field.FieldsRecord, R> = {
98
101
  readonly useForm: () => {
99
102
  readonly submit: () => void;
100
103
  readonly reset: () => void;
104
+ readonly revertToLastSubmit: () => void;
101
105
  readonly isDirty: boolean;
106
+ readonly hasChangedSinceSubmit: boolean;
107
+ readonly lastSubmittedValues: Option.Option<Field.EncodedFromFields<TFields>>;
102
108
  readonly submitResult: Result.Result<unknown, unknown>;
103
109
  readonly values: Field.EncodedFromFields<TFields>;
104
110
  readonly setValue: <S>(field: Form.Field<S>, update: S | ((prev: S) => S)) => void;
@@ -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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"}
@@ -270,7 +270,9 @@ export const build = (self, options) => {
270
270
  fieldRefs,
271
271
  getOrCreateFieldAtoms,
272
272
  getOrCreateValidationAtom,
273
+ hasChangedSinceSubmitAtom,
273
274
  isDirtyAtom,
275
+ lastSubmittedValuesAtom,
274
276
  onSubmitAtom,
275
277
  operations,
276
278
  resetValidationAtoms,
@@ -332,6 +334,8 @@ export const build = (self, options) => {
332
334
  const setCrossFieldErrors = useAtomSet(crossFieldErrorsAtom);
333
335
  const [decodeAndSubmitResult, callDecodeAndSubmit] = useAtom(decodeAndSubmit);
334
336
  const isDirty = useAtomValue(isDirtyAtom);
337
+ const hasChangedSinceSubmit = useAtomValue(hasChangedSinceSubmitAtom);
338
+ const lastSubmittedValues = useAtomValue(lastSubmittedValuesAtom);
335
339
  React.useEffect(() => {
336
340
  if (decodeAndSubmitResult._tag === "Failure") {
337
341
  const parseError = Cause.failureOption(decodeAndSubmitResult.cause);
@@ -371,6 +375,13 @@ export const build = (self, options) => {
371
375
  resetValidationAtoms(registry);
372
376
  callDecodeAndSubmit(Atom.Reset);
373
377
  }, [setFormState, setCrossFieldErrors, callDecodeAndSubmit, registry]);
378
+ const revertToLastSubmit = React.useCallback(() => {
379
+ setFormState(prev => {
380
+ if (Option.isNone(prev)) return prev;
381
+ return Option.some(operations.revertToLastSubmit(prev.value));
382
+ });
383
+ setCrossFieldErrors(new Map());
384
+ }, [setFormState, setCrossFieldErrors]);
374
385
  const setValue = React.useCallback((field, update) => {
375
386
  const path = field.key;
376
387
  setFormState(prev => {
@@ -402,7 +413,10 @@ export const build = (self, options) => {
402
413
  return {
403
414
  submit,
404
415
  reset,
416
+ revertToLastSubmit,
405
417
  isDirty,
418
+ hasChangedSinceSubmit,
419
+ lastSubmittedValues,
406
420
  submitResult: decodeAndSubmitResult,
407
421
  values: formValues,
408
422
  setValue,
@@ -413,8 +427,11 @@ export const build = (self, options) => {
413
427
  children
414
428
  }) => {
415
429
  const {
430
+ hasChangedSinceSubmit,
416
431
  isDirty,
432
+ lastSubmittedValues,
417
433
  reset,
434
+ revertToLastSubmit,
418
435
  setValue,
419
436
  setValues,
420
437
  submit,
@@ -423,13 +440,16 @@ export const build = (self, options) => {
423
440
  } = useFormHook();
424
441
  return _jsx(_Fragment, {
425
442
  children: children({
426
- values,
443
+ hasChangedSinceSubmit,
427
444
  isDirty,
428
- submitResult,
429
- submit,
445
+ lastSubmittedValues,
430
446
  reset,
447
+ revertToLastSubmit,
431
448
  setValue,
432
- setValues
449
+ setValues,
450
+ submit,
451
+ submitResult,
452
+ values
433
453
  })
434
454
  });
435
455
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FormReact.js","names":["RegistryContext","useAtom","useAtomSet","useAtomSubscribe","useAtomValue","Atom","Field","FormAtoms","Mode","Validation","getNestedValue","isPathOrParentDirty","schemaPathToFieldPath","Cause","Option","ParseResult","AST","React","createContext","useContext","useDebounced","ArrayItemContext","AutoSubmitContext","makeFieldComponent","fieldKey","fieldDef","crossFieldErrorsAtom","submitCountAtom","dirtyFieldsAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","memo","arrayCtx","autoSubmitOnBlur","fieldPath","parentPath","crossFieldErrorAtom","touchedAtom","valueAtom","useMemo","value","setValue","isTouched","setTouched","crossFieldError","setCrossFieldErrors","submitCount","validationAtom","schema","validationResult","validateImmediate","shouldDebounceValidation","validation","debounce","autoSubmit","validate","prevValueRef","useRef","useEffect","current","shouldValidate","perFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","extractFirstError","none","validationError","onChange","useCallback","newValue","prev","has","next","Map","delete","onBlur","dirtyFields","isDirty","isValidating","waiting","shouldShowError","_jsx","error","makeArrayFieldComponent","def","stateAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","values","append","isNone","some","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","build","self","options","mode","runtime","parse","formAtoms","make","formBuilder","combinedSchema","decodeAndSubmit","fieldRefs","isDirtyAtom","onSubmitAtom","resetValidationAtoms","FormComponent","defaultValues","onSubmit","registry","state","setOnSubmit","callDecodeAndSubmit","createInitialState","debouncedAutoSubmit","stateOption","immediate","onBlurAutoSubmit","e","preventDefault","stopPropagation","useFormHook","formValues","decodeAndSubmitResult","issues","ArrayFormatter","formatErrorSync","fieldErrors","issue","path","length","set","message","size","submit","createSubmitState","reset","createResetState","Reset","field","update","currentValue","setFieldValue","changed","errorPath","keys","startsWith","setValues","setFormValues","submitResult","SubscribeComponent","submitHelper","fn","fieldComponents","atom","Form","Subscribe","useForm"],"sources":["../../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormReact.js","names":["RegistryContext","useAtom","useAtomSet","useAtomSubscribe","useAtomValue","Atom","Field","FormAtoms","Mode","Validation","getNestedValue","isPathOrParentDirty","schemaPathToFieldPath","Cause","Option","ParseResult","AST","React","createContext","useContext","useDebounced","ArrayItemContext","AutoSubmitContext","makeFieldComponent","fieldKey","fieldDef","crossFieldErrorsAtom","submitCountAtom","dirtyFieldsAtom","parsedMode","getOrCreateValidationAtom","getOrCreateFieldAtoms","Component","FieldComponent","memo","arrayCtx","autoSubmitOnBlur","fieldPath","parentPath","crossFieldErrorAtom","touchedAtom","valueAtom","useMemo","value","setValue","isTouched","setTouched","crossFieldError","setCrossFieldErrors","submitCount","validationAtom","schema","validationResult","validateImmediate","shouldDebounceValidation","validation","debounce","autoSubmit","validate","prevValueRef","useRef","useEffect","current","shouldValidate","perFieldError","_tag","parseError","failureOption","cause","isSome","isParseError","extractFirstError","none","validationError","onChange","useCallback","newValue","prev","has","next","Map","delete","onBlur","dirtyFields","isDirty","isValidating","waiting","shouldShowError","_jsx","error","makeArrayFieldComponent","def","stateAtom","operations","componentMap","isStructSchema","isTypeLiteral","itemSchema","ast","ArrayWrapper","children","formStateOption","setFormState","formState","getOrThrow","items","values","append","isNone","some","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","build","self","options","mode","runtime","parse","formAtoms","make","formBuilder","combinedSchema","decodeAndSubmit","fieldRefs","hasChangedSinceSubmitAtom","isDirtyAtom","lastSubmittedValuesAtom","onSubmitAtom","resetValidationAtoms","FormComponent","defaultValues","onSubmit","registry","state","setOnSubmit","callDecodeAndSubmit","createInitialState","debouncedAutoSubmit","stateOption","immediate","onBlurAutoSubmit","e","preventDefault","stopPropagation","useFormHook","formValues","decodeAndSubmitResult","hasChangedSinceSubmit","lastSubmittedValues","issues","ArrayFormatter","formatErrorSync","fieldErrors","issue","path","length","set","message","size","submit","createSubmitState","reset","createResetState","Reset","revertToLastSubmit","field","update","currentValue","setFieldValue","changed","errorPath","keys","startsWith","setValues","setFormValues","submitResult","SubscribeComponent","submitHelper","fn","fieldComponents","atom","Form","Subscribe","useForm"],"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.2.0",
3
+ "version": "0.3.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.2.0"
14
+ "@lucas-barake/effect-form": "^0.3.0"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "@effect-atom/atom": "^0.4.8",
package/src/FormReact.tsx CHANGED
@@ -89,9 +89,12 @@ export interface ArrayFieldOperations<TItem> {
89
89
  export interface SubscribeState<TFields extends Field.FieldsRecord> {
90
90
  readonly values: Field.EncodedFromFields<TFields>
91
91
  readonly isDirty: boolean
92
+ readonly hasChangedSinceSubmit: boolean
93
+ readonly lastSubmittedValues: Option.Option<Field.EncodedFromFields<TFields>>
92
94
  readonly submitResult: Result.Result<unknown, unknown>
93
95
  readonly submit: () => void
94
96
  readonly reset: () => void
97
+ readonly revertToLastSubmit: () => void
95
98
  readonly setValue: <S>(field: Form.Field<S>, update: S | ((prev: S) => S)) => void
96
99
  readonly setValues: (values: Field.EncodedFromFields<TFields>) => void
97
100
  }
@@ -121,7 +124,10 @@ export type BuiltForm<TFields extends Field.FieldsRecord, R> = {
121
124
  readonly useForm: () => {
122
125
  readonly submit: () => void
123
126
  readonly reset: () => void
127
+ readonly revertToLastSubmit: () => void
124
128
  readonly isDirty: boolean
129
+ readonly hasChangedSinceSubmit: boolean
130
+ readonly lastSubmittedValues: Option.Option<Field.EncodedFromFields<TFields>>
125
131
  readonly submitResult: Result.Result<unknown, unknown>
126
132
  readonly values: Field.EncodedFromFields<TFields>
127
133
  readonly setValue: <S>(field: Form.Field<S>, update: S | ((prev: S) => S)) => void
@@ -540,7 +546,9 @@ export const build = <TFields extends Field.FieldsRecord, R, ER = never>(
540
546
  fieldRefs,
541
547
  getOrCreateFieldAtoms,
542
548
  getOrCreateValidationAtom,
549
+ hasChangedSinceSubmitAtom,
543
550
  isDirtyAtom,
551
+ lastSubmittedValuesAtom,
544
552
  onSubmitAtom,
545
553
  operations,
546
554
  resetValidationAtoms,
@@ -615,6 +623,8 @@ export const build = <TFields extends Field.FieldsRecord, R, ER = never>(
615
623
  const setCrossFieldErrors = useAtomSet(crossFieldErrorsAtom)
616
624
  const [decodeAndSubmitResult, callDecodeAndSubmit] = useAtom(decodeAndSubmit)
617
625
  const isDirty = useAtomValue(isDirtyAtom)
626
+ const hasChangedSinceSubmit = useAtomValue(hasChangedSinceSubmitAtom)
627
+ const lastSubmittedValues = useAtomValue(lastSubmittedValuesAtom)
618
628
 
619
629
  React.useEffect(() => {
620
630
  if (decodeAndSubmitResult._tag === "Failure") {
@@ -663,6 +673,14 @@ export const build = <TFields extends Field.FieldsRecord, R, ER = never>(
663
673
  callDecodeAndSubmit(Atom.Reset)
664
674
  }, [setFormState, setCrossFieldErrors, callDecodeAndSubmit, registry])
665
675
 
676
+ const revertToLastSubmit = React.useCallback(() => {
677
+ setFormState((prev) => {
678
+ if (Option.isNone(prev)) return prev
679
+ return Option.some(operations.revertToLastSubmit(prev.value))
680
+ })
681
+ setCrossFieldErrors(new Map())
682
+ }, [setFormState, setCrossFieldErrors])
683
+
666
684
  const setValue = React.useCallback(<S,>(
667
685
  field: Form.Field<S>,
668
686
  update: S | ((prev: S) => S),
@@ -703,15 +721,52 @@ export const build = <TFields extends Field.FieldsRecord, R, ER = never>(
703
721
  setCrossFieldErrors(new Map())
704
722
  }, [setFormState, setCrossFieldErrors])
705
723
 
706
- return { submit, reset, isDirty, submitResult: decodeAndSubmitResult, values: formValues, setValue, setValues }
724
+ return {
725
+ submit,
726
+ reset,
727
+ revertToLastSubmit,
728
+ isDirty,
729
+ hasChangedSinceSubmit,
730
+ lastSubmittedValues,
731
+ submitResult: decodeAndSubmitResult,
732
+ values: formValues,
733
+ setValue,
734
+ setValues,
735
+ }
707
736
  }
708
737
 
709
738
  const SubscribeComponent: React.FC<{
710
739
  readonly children: (state: SubscribeState<TFields>) => React.ReactNode
711
740
  }> = ({ children }) => {
712
- const { isDirty, reset, setValue, setValues, submit, submitResult, values } = useFormHook()
741
+ const {
742
+ hasChangedSinceSubmit,
743
+ isDirty,
744
+ lastSubmittedValues,
745
+ reset,
746
+ revertToLastSubmit,
747
+ setValue,
748
+ setValues,
749
+ submit,
750
+ submitResult,
751
+ values,
752
+ } = useFormHook()
713
753
 
714
- return <>{children({ values, isDirty, submitResult, submit, reset, setValue, setValues })}</>
754
+ return (
755
+ <>
756
+ {children({
757
+ hasChangedSinceSubmit,
758
+ isDirty,
759
+ lastSubmittedValues,
760
+ reset,
761
+ revertToLastSubmit,
762
+ setValue,
763
+ setValues,
764
+ submit,
765
+ submitResult,
766
+ values,
767
+ })}
768
+ </>
769
+ )
715
770
  }
716
771
 
717
772
  const submitHelper = <A, E>(