@lucas-barake/effect-form-react 0.5.0 → 0.6.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.
- package/dist/cjs/FormReact.js +56 -172
- package/dist/cjs/FormReact.js.map +1 -1
- package/dist/dts/FormReact.d.ts +34 -58
- package/dist/dts/FormReact.d.ts.map +1 -1
- package/dist/esm/FormReact.js +57 -173
- package/dist/esm/FormReact.js.map +1 -1
- package/package.json +2 -2
- package/src/FormReact.tsx +78 -266
package/dist/cjs/FormReact.js
CHANGED
|
@@ -6,11 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.forField = exports.build = void 0;
|
|
7
7
|
var _jsxRuntime = /*#__PURE__*/require("react/jsx-runtime");
|
|
8
8
|
var _atomReact = /*#__PURE__*/require("@effect-atom/atom-react");
|
|
9
|
-
var Atom = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect-atom/atom/Atom"));
|
|
10
9
|
var _effectForm = /*#__PURE__*/require("@lucas-barake/effect-form");
|
|
11
10
|
var _path = /*#__PURE__*/require("@lucas-barake/effect-form/internal/path");
|
|
12
11
|
var Cause = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Cause"));
|
|
13
|
-
var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
|
|
14
12
|
var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
|
|
15
13
|
var ParseResult = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/ParseResult"));
|
|
16
14
|
var AST = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/SchemaAST"));
|
|
@@ -87,12 +85,13 @@ const makeFieldComponent = (fieldKey, fieldDef, crossFieldErrorsAtom, submitCoun
|
|
|
87
85
|
const onChange = React.useCallback(newValue => {
|
|
88
86
|
setValue(newValue);
|
|
89
87
|
setCrossFieldErrors(prev => {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
88
|
+
const next = new Map();
|
|
89
|
+
for (const [errorPath, message] of prev) {
|
|
90
|
+
if (!(0, _path.isPathUnderRoot)(errorPath, fieldPath)) {
|
|
91
|
+
next.set(errorPath, message);
|
|
92
|
+
}
|
|
94
93
|
}
|
|
95
|
-
return prev;
|
|
94
|
+
return next.size !== prev.size ? next : prev;
|
|
96
95
|
});
|
|
97
96
|
if (parsedMode.validation === "onChange") {
|
|
98
97
|
validate(newValue);
|
|
@@ -210,6 +209,7 @@ const makeArrayFieldComponent = (fieldKey, def, stateAtom, crossFieldErrorsAtom,
|
|
|
210
209
|
Item: ItemWrapper,
|
|
211
210
|
...itemFieldComponents
|
|
212
211
|
};
|
|
212
|
+
// Proxy enables <Form.items.Item> and <Form.items.name> syntax
|
|
213
213
|
return new Proxy(ArrayWrapper, {
|
|
214
214
|
get(target, prop) {
|
|
215
215
|
if (prop in properties) {
|
|
@@ -237,11 +237,11 @@ const makeFieldComponents = (fields, stateAtom, crossFieldErrorsAtom, submitCoun
|
|
|
237
237
|
*
|
|
238
238
|
* @example
|
|
239
239
|
* ```tsx
|
|
240
|
-
* import {
|
|
240
|
+
* import { FormBuilder } from "@lucas-barake/effect-form"
|
|
241
241
|
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
242
|
+
* import { useAtomValue, useAtomSet } from "@effect-atom/atom-react"
|
|
242
243
|
* import * as Atom from "@effect-atom/atom/Atom"
|
|
243
244
|
* import * as Schema from "effect/Schema"
|
|
244
|
-
* import * as Effect from "effect/Effect"
|
|
245
245
|
* import * as Layer from "effect/Layer"
|
|
246
246
|
*
|
|
247
247
|
* const runtime = Atom.runtime(Layer.empty)
|
|
@@ -253,26 +253,28 @@ const makeFieldComponents = (fields, stateAtom, crossFieldErrorsAtom, submitCoun
|
|
|
253
253
|
* const form = FormReact.build(loginForm, {
|
|
254
254
|
* runtime,
|
|
255
255
|
* fields: { email: TextInput, password: PasswordInput },
|
|
256
|
+
* onSubmit: (values) => Effect.log(`Login: ${values.email}`),
|
|
256
257
|
* })
|
|
257
258
|
*
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
*
|
|
259
|
+
* // Subscribe to atoms anywhere in the tree
|
|
260
|
+
* function SubmitButton() {
|
|
261
|
+
* const isDirty = useAtomValue(form.isDirty)
|
|
262
|
+
* const submit = useAtomValue(form.submit)
|
|
263
|
+
* const callSubmit = useAtomSet(form.submit)
|
|
264
|
+
* return (
|
|
265
|
+
* <button onClick={() => callSubmit()} disabled={!isDirty || submit.waiting}>
|
|
266
|
+
* {submit.waiting ? "Validating..." : "Login"}
|
|
267
|
+
* </button>
|
|
264
268
|
* )
|
|
269
|
+
* }
|
|
265
270
|
*
|
|
271
|
+
* function LoginDialog({ onClose }) {
|
|
266
272
|
* return (
|
|
267
|
-
* <form.
|
|
273
|
+
* <form.Initialize defaultValues={{ email: "", password: "" }}>
|
|
268
274
|
* <form.email />
|
|
269
275
|
* <form.password />
|
|
270
|
-
* <
|
|
271
|
-
*
|
|
272
|
-
* <button onClick={submit} disabled={!isDirty}>Login</button>
|
|
273
|
-
* )}
|
|
274
|
-
* </form.Subscribe>
|
|
275
|
-
* </form.Form>
|
|
276
|
+
* <SubmitButton />
|
|
277
|
+
* </form.Initialize>
|
|
276
278
|
* )
|
|
277
279
|
* }
|
|
278
280
|
* ```
|
|
@@ -284,6 +286,7 @@ const build = (self, options) => {
|
|
|
284
286
|
const {
|
|
285
287
|
fields: components,
|
|
286
288
|
mode,
|
|
289
|
+
onSubmit,
|
|
287
290
|
runtime
|
|
288
291
|
} = options;
|
|
289
292
|
const parsedMode = _effectForm.Mode.parse(mode);
|
|
@@ -292,12 +295,12 @@ const build = (self, options) => {
|
|
|
292
295
|
} = self;
|
|
293
296
|
const formAtoms = _effectForm.FormAtoms.make({
|
|
294
297
|
formBuilder: self,
|
|
295
|
-
runtime
|
|
298
|
+
runtime,
|
|
299
|
+
onSubmit
|
|
296
300
|
});
|
|
297
301
|
const {
|
|
298
302
|
combinedSchema,
|
|
299
303
|
crossFieldErrorsAtom,
|
|
300
|
-
decodeAndSubmit,
|
|
301
304
|
dirtyFieldsAtom,
|
|
302
305
|
fieldRefs,
|
|
303
306
|
getOrCreateFieldAtoms,
|
|
@@ -305,35 +308,41 @@ const build = (self, options) => {
|
|
|
305
308
|
hasChangedSinceSubmitAtom,
|
|
306
309
|
isDirtyAtom,
|
|
307
310
|
lastSubmittedValuesAtom,
|
|
308
|
-
onSubmitAtom,
|
|
309
311
|
operations,
|
|
310
|
-
|
|
312
|
+
resetAtom,
|
|
313
|
+
revertToLastSubmitAtom,
|
|
314
|
+
setValue,
|
|
315
|
+
setValuesAtom,
|
|
311
316
|
stateAtom,
|
|
317
|
+
submitAtom,
|
|
312
318
|
submitCountAtom
|
|
313
319
|
} = formAtoms;
|
|
314
|
-
const
|
|
320
|
+
const InitializeComponent = ({
|
|
315
321
|
children,
|
|
316
|
-
defaultValues
|
|
317
|
-
onSubmit
|
|
322
|
+
defaultValues
|
|
318
323
|
}) => {
|
|
319
324
|
const registry = React.useContext(_atomReact.RegistryContext);
|
|
320
325
|
const state = (0, _atomReact.useAtomValue)(stateAtom);
|
|
321
326
|
const setFormState = (0, _atomReact.useAtomSet)(stateAtom);
|
|
322
|
-
const
|
|
323
|
-
|
|
324
|
-
React.
|
|
325
|
-
setOnSubmit(onSubmit);
|
|
326
|
-
}, [onSubmit, setOnSubmit]);
|
|
327
|
+
const callSubmit = (0, _atomReact.useAtomSet)(submitAtom);
|
|
328
|
+
// Prevents auto-submit from firing on mount when initial state is set
|
|
329
|
+
const isInitializedRef = React.useRef(false);
|
|
327
330
|
React.useEffect(() => {
|
|
328
331
|
setFormState(Option.some(operations.createInitialState(defaultValues)));
|
|
332
|
+
// Microtask ensures state update completes before enabling auto-submit
|
|
333
|
+
queueMicrotask(() => {
|
|
334
|
+
isInitializedRef.current = true;
|
|
335
|
+
});
|
|
329
336
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only
|
|
330
337
|
}, []);
|
|
331
338
|
const debouncedAutoSubmit = (0, _useDebounced.useDebounced)(() => {
|
|
332
339
|
const stateOption = registry.get(stateAtom);
|
|
333
340
|
if (Option.isNone(stateOption)) return;
|
|
334
|
-
|
|
341
|
+
callSubmit();
|
|
335
342
|
}, parsedMode.autoSubmit && parsedMode.validation === "onChange" ? parsedMode.debounce : null);
|
|
336
343
|
(0, _atomReact.useAtomSubscribe)(stateAtom, React.useCallback(() => {
|
|
344
|
+
// Skip auto-submit for initial state set
|
|
345
|
+
if (!isInitializedRef.current) return;
|
|
337
346
|
if (parsedMode.autoSubmit && parsedMode.validation === "onChange") {
|
|
338
347
|
debouncedAutoSubmit();
|
|
339
348
|
}
|
|
@@ -344,9 +353,9 @@ const build = (self, options) => {
|
|
|
344
353
|
if (parsedMode.autoSubmit && parsedMode.validation === "onBlur") {
|
|
345
354
|
const stateOption = registry.get(stateAtom);
|
|
346
355
|
if (Option.isNone(stateOption)) return;
|
|
347
|
-
|
|
356
|
+
callSubmit();
|
|
348
357
|
}
|
|
349
|
-
}, [registry,
|
|
358
|
+
}, [registry, callSubmit]);
|
|
350
359
|
if (Option.isNone(state)) return null;
|
|
351
360
|
return (0, _jsxRuntime.jsx)(AutoSubmitContext.Provider, {
|
|
352
361
|
value: onBlurAutoSubmit,
|
|
@@ -359,145 +368,20 @@ const build = (self, options) => {
|
|
|
359
368
|
})
|
|
360
369
|
});
|
|
361
370
|
};
|
|
362
|
-
const useFormHook = () => {
|
|
363
|
-
const registry = React.useContext(_atomReact.RegistryContext);
|
|
364
|
-
const formValues = Option.getOrThrow((0, _atomReact.useAtomValue)(stateAtom)).values;
|
|
365
|
-
const setFormState = (0, _atomReact.useAtomSet)(stateAtom);
|
|
366
|
-
const setCrossFieldErrors = (0, _atomReact.useAtomSet)(crossFieldErrorsAtom);
|
|
367
|
-
const [decodeAndSubmitResult, callDecodeAndSubmit] = (0, _atomReact.useAtom)(decodeAndSubmit);
|
|
368
|
-
const isDirty = (0, _atomReact.useAtomValue)(isDirtyAtom);
|
|
369
|
-
const hasChangedSinceSubmit = (0, _atomReact.useAtomValue)(hasChangedSinceSubmitAtom);
|
|
370
|
-
const lastSubmittedValues = (0, _atomReact.useAtomValue)(lastSubmittedValuesAtom);
|
|
371
|
-
React.useEffect(() => {
|
|
372
|
-
if (decodeAndSubmitResult._tag === "Failure") {
|
|
373
|
-
const parseError = Cause.failureOption(decodeAndSubmitResult.cause);
|
|
374
|
-
if (Option.isSome(parseError) && ParseResult.isParseError(parseError.value)) {
|
|
375
|
-
const issues = ParseResult.ArrayFormatter.formatErrorSync(parseError.value);
|
|
376
|
-
const fieldErrors = new Map();
|
|
377
|
-
for (const issue of issues) {
|
|
378
|
-
if (issue.path.length > 0) {
|
|
379
|
-
const fieldPath = (0, _path.schemaPathToFieldPath)(issue.path);
|
|
380
|
-
if (!fieldErrors.has(fieldPath)) {
|
|
381
|
-
fieldErrors.set(fieldPath, issue.message);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
if (fieldErrors.size > 0) {
|
|
386
|
-
setCrossFieldErrors(fieldErrors);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
}, [decodeAndSubmitResult, setCrossFieldErrors]);
|
|
391
|
-
const submit = React.useCallback(() => {
|
|
392
|
-
const stateOption = registry.get(stateAtom);
|
|
393
|
-
if (Option.isNone(stateOption)) return;
|
|
394
|
-
setCrossFieldErrors(new Map());
|
|
395
|
-
setFormState(prev => {
|
|
396
|
-
if (Option.isNone(prev)) return prev;
|
|
397
|
-
return Option.some(operations.createSubmitState(prev.value));
|
|
398
|
-
});
|
|
399
|
-
callDecodeAndSubmit(stateOption.value.values);
|
|
400
|
-
}, [setFormState, callDecodeAndSubmit, setCrossFieldErrors, registry]);
|
|
401
|
-
const reset = React.useCallback(() => {
|
|
402
|
-
setFormState(prev => {
|
|
403
|
-
if (Option.isNone(prev)) return prev;
|
|
404
|
-
return Option.some(operations.createResetState(prev.value));
|
|
405
|
-
});
|
|
406
|
-
setCrossFieldErrors(new Map());
|
|
407
|
-
resetValidationAtoms(registry);
|
|
408
|
-
callDecodeAndSubmit(Atom.Reset);
|
|
409
|
-
}, [setFormState, setCrossFieldErrors, callDecodeAndSubmit, registry]);
|
|
410
|
-
const revertToLastSubmit = React.useCallback(() => {
|
|
411
|
-
setFormState(prev => {
|
|
412
|
-
if (Option.isNone(prev)) return prev;
|
|
413
|
-
return Option.some(operations.revertToLastSubmit(prev.value));
|
|
414
|
-
});
|
|
415
|
-
setCrossFieldErrors(new Map());
|
|
416
|
-
}, [setFormState, setCrossFieldErrors]);
|
|
417
|
-
const setValue = React.useCallback((field, update) => {
|
|
418
|
-
const path = field.key;
|
|
419
|
-
setFormState(prev => {
|
|
420
|
-
if (Option.isNone(prev)) return prev;
|
|
421
|
-
const state = prev.value;
|
|
422
|
-
const currentValue = (0, _path.getNestedValue)(state.values, path);
|
|
423
|
-
const newValue = typeof update === "function" ? update(currentValue) : update;
|
|
424
|
-
return Option.some(operations.setFieldValue(state, path, newValue));
|
|
425
|
-
});
|
|
426
|
-
setCrossFieldErrors(prev => {
|
|
427
|
-
let changed = false;
|
|
428
|
-
const next = new Map(prev);
|
|
429
|
-
for (const errorPath of prev.keys()) {
|
|
430
|
-
if (errorPath === path || errorPath.startsWith(path + ".") || errorPath.startsWith(path + "[")) {
|
|
431
|
-
next.delete(errorPath);
|
|
432
|
-
changed = true;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
return changed ? next : prev;
|
|
436
|
-
});
|
|
437
|
-
}, [setFormState, setCrossFieldErrors]);
|
|
438
|
-
const setValues = React.useCallback(values => {
|
|
439
|
-
setFormState(prev => {
|
|
440
|
-
if (Option.isNone(prev)) return prev;
|
|
441
|
-
return Option.some(operations.setFormValues(prev.value, values));
|
|
442
|
-
});
|
|
443
|
-
setCrossFieldErrors(new Map());
|
|
444
|
-
}, [setFormState, setCrossFieldErrors]);
|
|
445
|
-
return {
|
|
446
|
-
submit,
|
|
447
|
-
reset,
|
|
448
|
-
revertToLastSubmit,
|
|
449
|
-
isDirty,
|
|
450
|
-
hasChangedSinceSubmit,
|
|
451
|
-
lastSubmittedValues,
|
|
452
|
-
submitResult: decodeAndSubmitResult,
|
|
453
|
-
values: formValues,
|
|
454
|
-
setValue,
|
|
455
|
-
setValues
|
|
456
|
-
};
|
|
457
|
-
};
|
|
458
|
-
const SubscribeComponent = ({
|
|
459
|
-
children
|
|
460
|
-
}) => {
|
|
461
|
-
const {
|
|
462
|
-
hasChangedSinceSubmit,
|
|
463
|
-
isDirty,
|
|
464
|
-
lastSubmittedValues,
|
|
465
|
-
reset,
|
|
466
|
-
revertToLastSubmit,
|
|
467
|
-
setValue,
|
|
468
|
-
setValues,
|
|
469
|
-
submit,
|
|
470
|
-
submitResult,
|
|
471
|
-
values
|
|
472
|
-
} = useFormHook();
|
|
473
|
-
return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
474
|
-
children: children({
|
|
475
|
-
hasChangedSinceSubmit,
|
|
476
|
-
isDirty,
|
|
477
|
-
lastSubmittedValues,
|
|
478
|
-
reset,
|
|
479
|
-
revertToLastSubmit,
|
|
480
|
-
setValue,
|
|
481
|
-
setValues,
|
|
482
|
-
submit,
|
|
483
|
-
submitResult,
|
|
484
|
-
values
|
|
485
|
-
})
|
|
486
|
-
});
|
|
487
|
-
};
|
|
488
|
-
const submitHelper = fn => runtime.fn()((values, get) => {
|
|
489
|
-
const result = fn(values, get);
|
|
490
|
-
return Effect.isEffect(result) ? result : Effect.succeed(result);
|
|
491
|
-
});
|
|
492
371
|
const fieldComponents = makeFieldComponents(fields, stateAtom, crossFieldErrorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, operations, components);
|
|
493
372
|
return {
|
|
494
|
-
|
|
373
|
+
isDirty: isDirtyAtom,
|
|
374
|
+
hasChangedSinceSubmit: hasChangedSinceSubmitAtom,
|
|
375
|
+
lastSubmittedValues: lastSubmittedValuesAtom,
|
|
376
|
+
submitCount: submitCountAtom,
|
|
495
377
|
schema: combinedSchema,
|
|
496
378
|
fields: fieldRefs,
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
379
|
+
Initialize: InitializeComponent,
|
|
380
|
+
submit: submitAtom,
|
|
381
|
+
reset: resetAtom,
|
|
382
|
+
revertToLastSubmit: revertToLastSubmitAtom,
|
|
383
|
+
setValues: setValuesAtom,
|
|
384
|
+
setValue,
|
|
501
385
|
...fieldComponents
|
|
502
386
|
};
|
|
503
387
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormReact.js","names":["_atomReact","require","Atom","_interopRequireWildcard","_effectForm","_path","Cause","Effect","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","extraProps","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","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","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","update","currentValue","setFieldValue","changed","errorPath","keys","startsWith","setValues","setFormValues","submitResult","SubscribeComponent","submitHelper","fn","result","isEffect","succeed","fieldComponents","atom","Form","Subscribe","useForm","exports","forField","_field","component"],"sources":["../../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormReact.js","names":["_atomReact","require","_effectForm","_path","Cause","_interopRequireWildcard","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","extraProps","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","errorPath","message","isPathUnderRoot","size","onBlur","dirtyFields","isDirty","isPathOrParentDirty","isValidating","waiting","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","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","onSubmit","runtime","Mode","parse","formAtoms","FormAtoms","make","formBuilder","combinedSchema","fieldRefs","hasChangedSinceSubmitAtom","isDirtyAtom","lastSubmittedValuesAtom","resetAtom","revertToLastSubmitAtom","setValuesAtom","submitAtom","InitializeComponent","defaultValues","registry","RegistryContext","state","callSubmit","isInitializedRef","createInitialState","queueMicrotask","debouncedAutoSubmit","stateOption","useAtomSubscribe","immediate","onBlurAutoSubmit","preventDefault","stopPropagation","fieldComponents","hasChangedSinceSubmit","lastSubmittedValues","Initialize","submit","reset","revertToLastSubmit","setValues","exports","forField","_field","component"],"sources":["../../src/FormReact.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/FormReact.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as Atom from "@effect-atom/atom/Atom";
|
|
2
|
-
import type * as Result from "@effect-atom/atom/Result";
|
|
1
|
+
import type * as Atom from "@effect-atom/atom/Atom";
|
|
3
2
|
import { Field, FormAtoms, Mode } from "@lucas-barake/effect-form";
|
|
4
3
|
import type * as FormBuilder from "@lucas-barake/effect-form/FormBuilder";
|
|
5
|
-
import * as Effect from "effect/Effect";
|
|
4
|
+
import type * as Effect from "effect/Effect";
|
|
6
5
|
import * as Option from "effect/Option";
|
|
6
|
+
import * as ParseResult from "effect/ParseResult";
|
|
7
7
|
import type * as Schema from "effect/Schema";
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
/**
|
|
@@ -79,24 +79,6 @@ export interface ArrayFieldOperations<TItem> {
|
|
|
79
79
|
readonly swap: (indexA: number, indexB: number) => void;
|
|
80
80
|
readonly move: (from: number, to: number) => void;
|
|
81
81
|
}
|
|
82
|
-
/**
|
|
83
|
-
* State exposed to form.Subscribe render prop.
|
|
84
|
-
*
|
|
85
|
-
* @since 1.0.0
|
|
86
|
-
* @category Models
|
|
87
|
-
*/
|
|
88
|
-
export interface SubscribeState<TFields extends Field.FieldsRecord> {
|
|
89
|
-
readonly values: Field.EncodedFromFields<TFields>;
|
|
90
|
-
readonly isDirty: boolean;
|
|
91
|
-
readonly hasChangedSinceSubmit: boolean;
|
|
92
|
-
readonly lastSubmittedValues: Option.Option<Field.EncodedFromFields<TFields>>;
|
|
93
|
-
readonly submitResult: Result.Result<unknown, unknown>;
|
|
94
|
-
readonly submit: () => void;
|
|
95
|
-
readonly reset: () => void;
|
|
96
|
-
readonly revertToLastSubmit: () => void;
|
|
97
|
-
readonly setValue: <S>(field: FormBuilder.FieldRef<S>, update: S | ((prev: S) => S)) => void;
|
|
98
|
-
readonly setValues: (values: Field.EncodedFromFields<TFields>) => void;
|
|
99
|
-
}
|
|
100
82
|
/**
|
|
101
83
|
* The result of building a form, containing all components and utilities needed
|
|
102
84
|
* for form rendering and submission.
|
|
@@ -104,31 +86,22 @@ export interface SubscribeState<TFields extends Field.FieldsRecord> {
|
|
|
104
86
|
* @since 1.0.0
|
|
105
87
|
* @category Models
|
|
106
88
|
*/
|
|
107
|
-
export type BuiltForm<TFields extends Field.FieldsRecord, R, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>> = {
|
|
108
|
-
readonly
|
|
89
|
+
export type BuiltForm<TFields extends Field.FieldsRecord, R, A = void, E = never, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>> = {
|
|
90
|
+
readonly isDirty: Atom.Atom<boolean>;
|
|
91
|
+
readonly hasChangedSinceSubmit: Atom.Atom<boolean>;
|
|
92
|
+
readonly lastSubmittedValues: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>;
|
|
93
|
+
readonly submitCount: Atom.Atom<number>;
|
|
109
94
|
readonly schema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>;
|
|
110
95
|
readonly fields: FieldRefs<TFields>;
|
|
111
|
-
readonly
|
|
96
|
+
readonly Initialize: React.FC<{
|
|
112
97
|
readonly defaultValues: Field.EncodedFromFields<TFields>;
|
|
113
|
-
readonly onSubmit: Atom.AtomResultFn<Field.DecodedFromFields<TFields>, unknown, unknown>;
|
|
114
98
|
readonly children: React.ReactNode;
|
|
115
99
|
}>;
|
|
116
|
-
readonly
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
readonly
|
|
120
|
-
|
|
121
|
-
readonly reset: () => void;
|
|
122
|
-
readonly revertToLastSubmit: () => void;
|
|
123
|
-
readonly isDirty: boolean;
|
|
124
|
-
readonly hasChangedSinceSubmit: boolean;
|
|
125
|
-
readonly lastSubmittedValues: Option.Option<Field.EncodedFromFields<TFields>>;
|
|
126
|
-
readonly submitResult: Result.Result<unknown, unknown>;
|
|
127
|
-
readonly values: Field.EncodedFromFields<TFields>;
|
|
128
|
-
readonly setValue: <S>(field: FormBuilder.FieldRef<S>, update: S | ((prev: S) => S)) => void;
|
|
129
|
-
readonly setValues: (values: Field.EncodedFromFields<TFields>) => void;
|
|
130
|
-
};
|
|
131
|
-
readonly submit: <A>(fn: (values: Field.DecodedFromFields<TFields>, get: Atom.FnContext) => A) => Atom.AtomResultFn<Field.DecodedFromFields<TFields>, A extends Effect.Effect<infer T, any, any> ? T : A, A extends Effect.Effect<any, infer E, any> ? E : never>;
|
|
100
|
+
readonly submit: Atom.AtomResultFn<void, A, E | ParseResult.ParseError>;
|
|
101
|
+
readonly reset: Atom.Writable<void, void>;
|
|
102
|
+
readonly revertToLastSubmit: Atom.Writable<void, void>;
|
|
103
|
+
readonly setValues: Atom.Writable<void, Field.EncodedFromFields<TFields>>;
|
|
104
|
+
readonly setValue: <S>(field: FormBuilder.FieldRef<S>) => Atom.Writable<void, S | ((prev: S) => S)>;
|
|
132
105
|
} & FieldComponents<TFields, CM>;
|
|
133
106
|
type FieldComponents<TFields extends Field.FieldsRecord, CM extends FieldComponentMap<TFields>> = {
|
|
134
107
|
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;
|
|
@@ -157,11 +130,11 @@ type ArrayFieldComponent<S extends Schema.Schema.Any, ExtraPropsMap> = React.FC<
|
|
|
157
130
|
*
|
|
158
131
|
* @example
|
|
159
132
|
* ```tsx
|
|
160
|
-
* import {
|
|
133
|
+
* import { FormBuilder } from "@lucas-barake/effect-form"
|
|
161
134
|
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
135
|
+
* import { useAtomValue, useAtomSet } from "@effect-atom/atom-react"
|
|
162
136
|
* import * as Atom from "@effect-atom/atom/Atom"
|
|
163
137
|
* import * as Schema from "effect/Schema"
|
|
164
|
-
* import * as Effect from "effect/Effect"
|
|
165
138
|
* import * as Layer from "effect/Layer"
|
|
166
139
|
*
|
|
167
140
|
* const runtime = Atom.runtime(Layer.empty)
|
|
@@ -173,26 +146,28 @@ type ArrayFieldComponent<S extends Schema.Schema.Any, ExtraPropsMap> = React.FC<
|
|
|
173
146
|
* const form = FormReact.build(loginForm, {
|
|
174
147
|
* runtime,
|
|
175
148
|
* fields: { email: TextInput, password: PasswordInput },
|
|
149
|
+
* onSubmit: (values) => Effect.log(`Login: ${values.email}`),
|
|
176
150
|
* })
|
|
177
151
|
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
152
|
+
* // Subscribe to atoms anywhere in the tree
|
|
153
|
+
* function SubmitButton() {
|
|
154
|
+
* const isDirty = useAtomValue(form.isDirty)
|
|
155
|
+
* const submit = useAtomValue(form.submit)
|
|
156
|
+
* const callSubmit = useAtomSet(form.submit)
|
|
157
|
+
* return (
|
|
158
|
+
* <button onClick={() => callSubmit()} disabled={!isDirty || submit.waiting}>
|
|
159
|
+
* {submit.waiting ? "Validating..." : "Login"}
|
|
160
|
+
* </button>
|
|
184
161
|
* )
|
|
162
|
+
* }
|
|
185
163
|
*
|
|
164
|
+
* function LoginDialog({ onClose }) {
|
|
186
165
|
* return (
|
|
187
|
-
* <form.
|
|
166
|
+
* <form.Initialize defaultValues={{ email: "", password: "" }}>
|
|
188
167
|
* <form.email />
|
|
189
168
|
* <form.password />
|
|
190
|
-
* <
|
|
191
|
-
*
|
|
192
|
-
* <button onClick={submit} disabled={!isDirty}>Login</button>
|
|
193
|
-
* )}
|
|
194
|
-
* </form.Subscribe>
|
|
195
|
-
* </form.Form>
|
|
169
|
+
* <SubmitButton />
|
|
170
|
+
* </form.Initialize>
|
|
196
171
|
* )
|
|
197
172
|
* }
|
|
198
173
|
* ```
|
|
@@ -200,11 +175,12 @@ type ArrayFieldComponent<S extends Schema.Schema.Any, ExtraPropsMap> = React.FC<
|
|
|
200
175
|
* @since 1.0.0
|
|
201
176
|
* @category Constructors
|
|
202
177
|
*/
|
|
203
|
-
export declare const build: <TFields extends Field.FieldsRecord, R, ER = never, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>>(self: FormBuilder.FormBuilder<TFields, R>, options: {
|
|
178
|
+
export declare const build: <TFields extends Field.FieldsRecord, R, A, E, ER = never, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>>(self: FormBuilder.FormBuilder<TFields, R>, options: {
|
|
204
179
|
readonly runtime: Atom.AtomRuntime<R, ER>;
|
|
205
180
|
readonly fields: CM;
|
|
206
181
|
readonly mode?: Mode.FormMode;
|
|
207
|
-
|
|
182
|
+
readonly onSubmit: (decoded: Field.DecodedFromFields<TFields>, get: Atom.FnContext) => A | Effect.Effect<A, E, R>;
|
|
183
|
+
}) => BuiltForm<TFields, R, A, E, CM>;
|
|
208
184
|
/**
|
|
209
185
|
* A curried helper that infers the schema type from the field definition.
|
|
210
186
|
* Provides ergonomic type inference when defining field components.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormReact.d.ts","sourceRoot":"","sources":["../../src/FormReact.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"FormReact.d.ts","sourceRoot":"","sources":["../../src/FormReact.tsx"],"names":[],"mappings":"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"}
|