@lucas-barake/effect-form-react 0.13.1 → 0.14.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 +2 -142
- package/dist/cjs/FormReact.js.map +1 -1
- package/dist/cjs/internal/use-debounced.js +0 -11
- package/dist/cjs/internal/use-debounced.js.map +1 -1
- package/dist/dts/FormReact.d.ts +11 -184
- package/dist/dts/FormReact.d.ts.map +1 -1
- package/dist/dts/internal/use-debounced.d.ts +1 -1
- package/dist/dts/internal/use-debounced.d.ts.map +1 -1
- package/dist/esm/FormReact.js +1 -139
- package/dist/esm/FormReact.js.map +1 -1
- package/dist/esm/internal/use-debounced.js +0 -10
- package/dist/esm/internal/use-debounced.js.map +1 -1
- package/package.json +2 -2
- package/src/FormReact.tsx +18 -231
- package/src/internal/use-debounced.ts +0 -10
package/dist/cjs/FormReact.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.make = void 0;
|
|
7
7
|
var _jsxRuntime = /*#__PURE__*/require("react/jsx-runtime");
|
|
8
8
|
var _atomReact = /*#__PURE__*/require("@effect-atom/atom-react");
|
|
9
9
|
var Atom = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect-atom/atom/Atom"));
|
|
@@ -13,7 +13,6 @@ var Cause = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Ca
|
|
|
13
13
|
var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
|
|
14
14
|
var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
|
|
15
15
|
var ParseResult = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/ParseResult"));
|
|
16
|
-
var Predicate = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Predicate"));
|
|
17
16
|
var AST = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/SchemaAST"));
|
|
18
17
|
var _react = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("react"));
|
|
19
18
|
var React = _react;
|
|
@@ -38,7 +37,6 @@ function _interopRequireWildcard(e, t) {
|
|
|
38
37
|
return f;
|
|
39
38
|
})(e, t);
|
|
40
39
|
}
|
|
41
|
-
const isFieldBundle = x => Predicate.isTagged(x, "FieldBundle");
|
|
42
40
|
const ArrayItemContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
43
41
|
const AutoSubmitContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
44
42
|
const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, Component) => {
|
|
@@ -226,58 +224,12 @@ const makeFieldComponents = (fields, stateAtom, errorsAtom, submitCountAtom, dir
|
|
|
226
224
|
const arrayComponentMap = componentMap[key];
|
|
227
225
|
components[key] = makeArrayFieldComponent(key, def, stateAtom, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, operations, arrayComponentMap);
|
|
228
226
|
} else if (_effectForm.Field.isFieldDef(def)) {
|
|
229
|
-
const
|
|
230
|
-
const fieldComponent = isFieldBundle(componentOrBundle) ? componentOrBundle.component : componentOrBundle;
|
|
227
|
+
const fieldComponent = componentMap[key];
|
|
231
228
|
components[key] = makeFieldComponent(key, def, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, fieldComponent);
|
|
232
229
|
}
|
|
233
230
|
}
|
|
234
231
|
return components;
|
|
235
232
|
};
|
|
236
|
-
/**
|
|
237
|
-
* Creates a React form from a FormBuilder.
|
|
238
|
-
*
|
|
239
|
-
* @example
|
|
240
|
-
* ```tsx
|
|
241
|
-
* import { FormBuilder } from "@lucas-barake/effect-form"
|
|
242
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
243
|
-
* import { useAtomValue, useAtomSet } from "@effect-atom/atom-react"
|
|
244
|
-
* import * as Schema from "effect/Schema"
|
|
245
|
-
*
|
|
246
|
-
* const loginFormBuilder = FormBuilder.empty
|
|
247
|
-
* .addField("email", Schema.String)
|
|
248
|
-
* .addField("password", Schema.String)
|
|
249
|
-
*
|
|
250
|
-
* // Runtime is optional for forms without service requirements
|
|
251
|
-
* const loginForm = FormReact.make(loginFormBuilder, {
|
|
252
|
-
* fields: { email: TextInput, password: PasswordInput },
|
|
253
|
-
* onSubmit: (_, { decoded }) => Effect.log(`Login: ${decoded.email}`),
|
|
254
|
-
* })
|
|
255
|
-
*
|
|
256
|
-
* // Subscribe to atoms anywhere in the tree
|
|
257
|
-
* function SubmitButton() {
|
|
258
|
-
* const isDirty = useAtomValue(loginForm.isDirty)
|
|
259
|
-
* const submit = useAtomValue(loginForm.submit)
|
|
260
|
-
* const callSubmit = useAtomSet(loginForm.submit)
|
|
261
|
-
* return (
|
|
262
|
-
* <button onClick={() => callSubmit()} disabled={!isDirty || submit.waiting}>
|
|
263
|
-
* {submit.waiting ? "Validating..." : "Login"}
|
|
264
|
-
* </button>
|
|
265
|
-
* )
|
|
266
|
-
* }
|
|
267
|
-
*
|
|
268
|
-
* function LoginPage() {
|
|
269
|
-
* return (
|
|
270
|
-
* <loginForm.Initialize defaultValues={{ email: "", password: "" }}>
|
|
271
|
-
* <loginForm.email />
|
|
272
|
-
* <loginForm.password />
|
|
273
|
-
* <SubmitButton />
|
|
274
|
-
* </loginForm.Initialize>
|
|
275
|
-
* )
|
|
276
|
-
* }
|
|
277
|
-
* ```
|
|
278
|
-
*
|
|
279
|
-
* @category Constructors
|
|
280
|
-
*/
|
|
281
233
|
const make = (self, options) => {
|
|
282
234
|
const {
|
|
283
235
|
fields: components,
|
|
@@ -439,97 +391,5 @@ const make = (self, options) => {
|
|
|
439
391
|
...fieldComponents
|
|
440
392
|
};
|
|
441
393
|
};
|
|
442
|
-
/**
|
|
443
|
-
* A curried helper that infers the schema type from a field definition.
|
|
444
|
-
* Provides ergonomic type inference when defining field components.
|
|
445
|
-
*
|
|
446
|
-
* @example
|
|
447
|
-
* ```tsx
|
|
448
|
-
* import { Field, FormReact } from "@lucas-barake/effect-form-react"
|
|
449
|
-
*
|
|
450
|
-
* const EmailField = Field.makeField("email", Schema.String)
|
|
451
|
-
* const TextInput = FormReact.forField(EmailField)(({ field }) => (
|
|
452
|
-
* <input value={field.value} onChange={e => field.onChange(e.target.value)} />
|
|
453
|
-
* ))
|
|
454
|
-
*
|
|
455
|
-
* // With extra props - just specify the props type
|
|
456
|
-
* const TextInput = FormReact.forField(EmailField)<{ placeholder?: string }>(({ field, props }) => (
|
|
457
|
-
* <input value={field.value} placeholder={props.placeholder} ... />
|
|
458
|
-
* ))
|
|
459
|
-
* ```
|
|
460
|
-
*
|
|
461
|
-
* @category Constructors
|
|
462
|
-
*/
|
|
463
394
|
exports.make = make;
|
|
464
|
-
const forField = _field => component => component;
|
|
465
|
-
/**
|
|
466
|
-
* Creates a bundled field definition + component for reusable form fields.
|
|
467
|
-
* Reduces boilerplate when you need both a field and its component together.
|
|
468
|
-
*
|
|
469
|
-
* Uses a curried API for better type inference - the schema type is captured
|
|
470
|
-
* first, so you only need to specify the extra props type (if any).
|
|
471
|
-
*
|
|
472
|
-
* @example
|
|
473
|
-
* ```tsx
|
|
474
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
475
|
-
* import * as Schema from "effect/Schema"
|
|
476
|
-
*
|
|
477
|
-
* // Define field + component in one place (no extra props)
|
|
478
|
-
* const NameInput = FormReact.makeField({
|
|
479
|
-
* key: "name",
|
|
480
|
-
* schema: Schema.String.pipe(Schema.nonEmptyString()),
|
|
481
|
-
* })(({ field }) => (
|
|
482
|
-
* <input
|
|
483
|
-
* value={field.value}
|
|
484
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
485
|
-
* onBlur={field.onBlur}
|
|
486
|
-
* />
|
|
487
|
-
* ))
|
|
488
|
-
*
|
|
489
|
-
* // With extra props - specify only the props type
|
|
490
|
-
* const EmailInput = FormReact.makeField({
|
|
491
|
-
* key: "email",
|
|
492
|
-
* schema: Schema.String,
|
|
493
|
-
* })<{ placeholder: string }>(({ field, props }) => (
|
|
494
|
-
* <input
|
|
495
|
-
* value={field.value}
|
|
496
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
497
|
-
* placeholder={props.placeholder}
|
|
498
|
-
* />
|
|
499
|
-
* ))
|
|
500
|
-
*
|
|
501
|
-
* // Use in form builder
|
|
502
|
-
* const formBuilder = FormBuilder.empty.addField(NameInput.field)
|
|
503
|
-
*
|
|
504
|
-
* // Use in make()
|
|
505
|
-
* const form = FormReact.make(formBuilder, {
|
|
506
|
-
* runtime,
|
|
507
|
-
* fields: { name: NameInput },
|
|
508
|
-
* onSubmit: (_, { decoded }) => Effect.log(decoded.name),
|
|
509
|
-
* })
|
|
510
|
-
* ```
|
|
511
|
-
*
|
|
512
|
-
* @category Constructors
|
|
513
|
-
*/
|
|
514
|
-
exports.forField = forField;
|
|
515
|
-
const makeField = options => {
|
|
516
|
-
const field = _effectForm.Field.makeField(options.key, options.schema);
|
|
517
|
-
return component => {
|
|
518
|
-
if (!component.displayName) {
|
|
519
|
-
const displayName = `${options.key.charAt(0).toUpperCase()}${options.key.slice(1)}Field`;
|
|
520
|
-
try {
|
|
521
|
-
;
|
|
522
|
-
component.displayName = displayName;
|
|
523
|
-
} catch {
|
|
524
|
-
// Ignore - some environments freeze function properties
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
return {
|
|
528
|
-
_tag: "FieldBundle",
|
|
529
|
-
field,
|
|
530
|
-
component
|
|
531
|
-
};
|
|
532
|
-
};
|
|
533
|
-
};
|
|
534
|
-
exports.makeField = makeField;
|
|
535
395
|
//# sourceMappingURL=FormReact.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormReact.js","names":["_atomReact","require","Atom","_interopRequireWildcard","_effectForm","_Path","Cause","Layer","Option","ParseResult","Predicate","AST","_react","React","_useDebounced","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFieldBundle","x","isTagged","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","componentOrBundle","fieldComponent","component","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","forField","_field","displayName","charAt","toUpperCase","slice"],"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","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":[]}
|
|
@@ -25,17 +25,6 @@ function _interopRequireWildcard(e, t) {
|
|
|
25
25
|
return f;
|
|
26
26
|
})(e, t);
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Internal debounce hook for form validation.
|
|
30
|
-
*
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Hook that debounces a callback function.
|
|
36
|
-
*
|
|
37
|
-
* @internal
|
|
38
|
-
*/
|
|
39
28
|
const useDebounced = (fn, delayMs) => {
|
|
40
29
|
const timeoutRef = React.useRef(null);
|
|
41
30
|
const fnRef = React.useRef(fn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-debounced.js","names":["React","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useDebounced","fn","delayMs","timeoutRef","useRef","fnRef","useEffect","current","clearTimeout","useMemo","args","setTimeout","exports"],"sources":["../../../src/internal/use-debounced.ts"],"sourcesContent":[null],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"use-debounced.js","names":["React","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useDebounced","fn","delayMs","timeoutRef","useRef","fnRef","useEffect","current","clearTimeout","useMemo","args","setTimeout","exports"],"sources":["../../../src/internal/use-debounced.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,cAAAC,OAAA;AAA8B,SAAAD,wBAAAE,CAAA,EAAAC,CAAA;EAAA,yBAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA;IAAA,KAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA;IAAA,IAAAM,CAAA;MAAAC,CAAA;MAAAC,CAAA;QAAAC,SAAA;QAAAC,OAAA,EAAAV;MAAA;IAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA;IAAA,IAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA;MAAA,IAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA;MAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA;IAAA;IAAA,WAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA;IAAA,OAAAO,CAAA;EAAA,GAAAR,CAAA,EAAAC,CAAA;AAAA;AAEvB,MAAMkB,YAAY,GAAGA,CAC1BC,EAAK,EACLC,OAAsB,KACjB;EACL,MAAMC,UAAU,GAAGzB,KAAK,CAAC0B,MAAM,CAAuC,IAAI,CAAC;EAC3E,MAAMC,KAAK,GAAG3B,KAAK,CAAC0B,MAAM,CAACH,EAAE,CAAC;EAE9BvB,KAAK,CAAC4B,SAAS,CAAC,MAAK;IACnBD,KAAK,CAACE,OAAO,GAAGN,EAAE;EACpB,CAAC,CAAC;EAEFvB,KAAK,CAAC4B,SAAS,CAAC,MAAK;IACnB,OAAO,MAAK;MACV,IAAIH,UAAU,CAACI,OAAO,KAAK,IAAI,EAAE;QAC/BC,YAAY,CAACL,UAAU,CAACI,OAAO,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO7B,KAAK,CAAC+B,OAAO,CAClB,MACG,CAAC,GAAGC,IAAmB,KAAI;IAC1B,IAAIR,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,CAAC,EAAE;MACrCG,KAAK,CAACE,OAAO,CAAC,GAAGG,IAAI,CAAC;MACtB;IACF;IACA,IAAIP,UAAU,CAACI,OAAO,KAAK,IAAI,EAAE;MAC/BC,YAAY,CAACL,UAAU,CAACI,OAAO,CAAC;IAClC;IACAJ,UAAU,CAACI,OAAO,GAAGI,UAAU,CAAC,MAAK;MACnCN,KAAK,CAACE,OAAO,CAAC,GAAGG,IAAI,CAAC;MACtBP,UAAU,CAACI,OAAO,GAAG,IAAI;IAC3B,CAAC,EAAEL,OAAO,CAAC;EACb,CAAO,EACT,CAACA,OAAO,CAAC,CACV;AACH,CAAC;AAAAU,OAAA,CAAAZ,YAAA,GAAAA,YAAA","ignoreList":[]}
|
package/dist/dts/FormReact.d.ts
CHANGED
|
@@ -6,76 +6,29 @@ import * as Option from "effect/Option";
|
|
|
6
6
|
import * as ParseResult from "effect/ParseResult";
|
|
7
7
|
import type * as Schema from "effect/Schema";
|
|
8
8
|
import * as React from "react";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*/
|
|
14
|
-
export interface FieldState<S extends Schema.Schema.Any> {
|
|
15
|
-
readonly value: Schema.Schema.Encoded<S>;
|
|
16
|
-
readonly onChange: (value: Schema.Schema.Encoded<S>) => void;
|
|
9
|
+
export type FieldValue<T> = T extends Schema.Schema.Any ? Schema.Schema.Encoded<T> : T;
|
|
10
|
+
export interface FieldState<E> {
|
|
11
|
+
readonly value: E;
|
|
12
|
+
readonly onChange: (value: E) => void;
|
|
17
13
|
readonly onBlur: () => void;
|
|
18
14
|
readonly error: Option.Option<string>;
|
|
19
15
|
readonly isTouched: boolean;
|
|
20
16
|
readonly isValidating: boolean;
|
|
21
17
|
readonly isDirty: boolean;
|
|
22
18
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
* Contains form-controlled state in `field` and user-defined props in `props`.
|
|
26
|
-
*
|
|
27
|
-
* @category Models
|
|
28
|
-
*/
|
|
29
|
-
export interface FieldComponentProps<S extends Schema.Schema.Any, P extends Record<string, unknown> = Record<string, never>> {
|
|
30
|
-
readonly field: FieldState<S>;
|
|
19
|
+
export interface FieldComponentProps<E, P = Record<string, never>> {
|
|
20
|
+
readonly field: FieldState<E>;
|
|
31
21
|
readonly props: P;
|
|
32
22
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* Created with `FormReact.makeField`.
|
|
36
|
-
*
|
|
37
|
-
* @category Models
|
|
38
|
-
*/
|
|
39
|
-
export interface FieldBundle<K extends string, S extends Schema.Schema.Any, P extends Record<string, unknown> = Record<string, never>> {
|
|
40
|
-
readonly _tag: "FieldBundle";
|
|
41
|
-
readonly field: Field.FieldDef<K, S>;
|
|
42
|
-
readonly component: React.FC<FieldComponentProps<S, P>>;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Extracts the extra props type from a field component.
|
|
46
|
-
*
|
|
47
|
-
* @category Type-level utilities
|
|
48
|
-
*/
|
|
49
|
-
export type ExtractExtraProps<C> = C extends React.FC<FieldComponentProps<any, infer P>> ? P : C extends FieldBundle<any, any, infer P> ? P : Record<string, never>;
|
|
50
|
-
/**
|
|
51
|
-
* Extracts field component map for array item schemas.
|
|
52
|
-
* - For Struct schemas: returns a map of field names to components
|
|
53
|
-
* - For primitive schemas: returns a single component
|
|
54
|
-
*
|
|
55
|
-
* @category Models
|
|
56
|
-
*/
|
|
23
|
+
export type FieldComponent<T, P = Record<string, never>> = React.FC<FieldComponentProps<FieldValue<T>, P>>;
|
|
24
|
+
export type ExtractExtraProps<C> = C extends React.FC<FieldComponentProps<any, infer P>> ? P : Record<string, never>;
|
|
57
25
|
export type ArrayItemComponentMap<S extends Schema.Schema.Any> = S extends Schema.Struct<infer Fields> ? {
|
|
58
|
-
readonly [K in keyof Fields]: Fields[K] extends Schema.Schema.Any ? React.FC<FieldComponentProps<Fields[K]
|
|
59
|
-
} : React.FC<FieldComponentProps<S
|
|
60
|
-
/**
|
|
61
|
-
* Maps field names to their React components.
|
|
62
|
-
*
|
|
63
|
-
* @category Models
|
|
64
|
-
*/
|
|
26
|
+
readonly [K in keyof Fields]: Fields[K] extends Schema.Schema.Any ? React.FC<FieldComponentProps<Schema.Schema.Encoded<Fields[K]>, any>> : never;
|
|
27
|
+
} : React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>;
|
|
65
28
|
export type FieldComponentMap<TFields extends Field.FieldsRecord> = {
|
|
66
|
-
readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ? React.FC<FieldComponentProps<S
|
|
29
|
+
readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ? React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>> : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? ArrayItemComponentMap<S> : never;
|
|
67
30
|
};
|
|
68
|
-
/**
|
|
69
|
-
* Maps field names to their type-safe Field references for setValue operations.
|
|
70
|
-
*
|
|
71
|
-
* @category Models
|
|
72
|
-
*/
|
|
73
31
|
export type FieldRefs<TFields extends Field.FieldsRecord> = FormAtoms.FieldRefs<TFields>;
|
|
74
|
-
/**
|
|
75
|
-
* Operations available for array fields.
|
|
76
|
-
*
|
|
77
|
-
* @category Models
|
|
78
|
-
*/
|
|
79
32
|
export interface ArrayFieldOperations<TItem> {
|
|
80
33
|
readonly items: ReadonlyArray<TItem>;
|
|
81
34
|
readonly append: (value?: TItem) => void;
|
|
@@ -83,12 +36,6 @@ export interface ArrayFieldOperations<TItem> {
|
|
|
83
36
|
readonly swap: (indexA: number, indexB: number) => void;
|
|
84
37
|
readonly move: (from: number, to: number) => void;
|
|
85
38
|
}
|
|
86
|
-
/**
|
|
87
|
-
* The result of building a form, containing all components and utilities needed
|
|
88
|
-
* for form rendering and submission.
|
|
89
|
-
*
|
|
90
|
-
* @category Models
|
|
91
|
-
*/
|
|
92
39
|
export type BuiltForm<TFields extends Field.FieldsRecord, R, A = void, E = never, SubmitArgs = void, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>> = {
|
|
93
40
|
readonly values: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>;
|
|
94
41
|
readonly isDirty: Atom.Atom<boolean>;
|
|
@@ -132,51 +79,6 @@ type ArrayFieldComponent<S extends Schema.Schema.Any, ExtraPropsMap> = React.FC<
|
|
|
132
79
|
readonly [P in K]: infer EP;
|
|
133
80
|
} ? EP : Record<string, never>>;
|
|
134
81
|
} : unknown);
|
|
135
|
-
/**
|
|
136
|
-
* Creates a React form from a FormBuilder.
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* ```tsx
|
|
140
|
-
* import { FormBuilder } from "@lucas-barake/effect-form"
|
|
141
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
142
|
-
* import { useAtomValue, useAtomSet } from "@effect-atom/atom-react"
|
|
143
|
-
* import * as Schema from "effect/Schema"
|
|
144
|
-
*
|
|
145
|
-
* const loginFormBuilder = FormBuilder.empty
|
|
146
|
-
* .addField("email", Schema.String)
|
|
147
|
-
* .addField("password", Schema.String)
|
|
148
|
-
*
|
|
149
|
-
* // Runtime is optional for forms without service requirements
|
|
150
|
-
* const loginForm = FormReact.make(loginFormBuilder, {
|
|
151
|
-
* fields: { email: TextInput, password: PasswordInput },
|
|
152
|
-
* onSubmit: (_, { decoded }) => Effect.log(`Login: ${decoded.email}`),
|
|
153
|
-
* })
|
|
154
|
-
*
|
|
155
|
-
* // Subscribe to atoms anywhere in the tree
|
|
156
|
-
* function SubmitButton() {
|
|
157
|
-
* const isDirty = useAtomValue(loginForm.isDirty)
|
|
158
|
-
* const submit = useAtomValue(loginForm.submit)
|
|
159
|
-
* const callSubmit = useAtomSet(loginForm.submit)
|
|
160
|
-
* return (
|
|
161
|
-
* <button onClick={() => callSubmit()} disabled={!isDirty || submit.waiting}>
|
|
162
|
-
* {submit.waiting ? "Validating..." : "Login"}
|
|
163
|
-
* </button>
|
|
164
|
-
* )
|
|
165
|
-
* }
|
|
166
|
-
*
|
|
167
|
-
* function LoginPage() {
|
|
168
|
-
* return (
|
|
169
|
-
* <loginForm.Initialize defaultValues={{ email: "", password: "" }}>
|
|
170
|
-
* <loginForm.email />
|
|
171
|
-
* <loginForm.password />
|
|
172
|
-
* <SubmitButton />
|
|
173
|
-
* </loginForm.Initialize>
|
|
174
|
-
* )
|
|
175
|
-
* }
|
|
176
|
-
* ```
|
|
177
|
-
*
|
|
178
|
-
* @category Constructors
|
|
179
|
-
*/
|
|
180
82
|
export declare const make: {
|
|
181
83
|
<TFields extends Field.FieldsRecord, A, E, SubmitArgs = void, CM extends FieldComponentMap<TFields> = FieldComponentMap<TFields>>(self: FormBuilder.FormBuilder<TFields, never>, options: {
|
|
182
84
|
readonly runtime?: Atom.AtomRuntime<never, never>;
|
|
@@ -199,80 +101,5 @@ export declare const make: {
|
|
|
199
101
|
}) => A | Effect.Effect<A, E, R>;
|
|
200
102
|
}): BuiltForm<TFields, R, A, E, SubmitArgs, CM>;
|
|
201
103
|
};
|
|
202
|
-
/**
|
|
203
|
-
* A curried helper that infers the schema type from a field definition.
|
|
204
|
-
* Provides ergonomic type inference when defining field components.
|
|
205
|
-
*
|
|
206
|
-
* @example
|
|
207
|
-
* ```tsx
|
|
208
|
-
* import { Field, FormReact } from "@lucas-barake/effect-form-react"
|
|
209
|
-
*
|
|
210
|
-
* const EmailField = Field.makeField("email", Schema.String)
|
|
211
|
-
* const TextInput = FormReact.forField(EmailField)(({ field }) => (
|
|
212
|
-
* <input value={field.value} onChange={e => field.onChange(e.target.value)} />
|
|
213
|
-
* ))
|
|
214
|
-
*
|
|
215
|
-
* // With extra props - just specify the props type
|
|
216
|
-
* const TextInput = FormReact.forField(EmailField)<{ placeholder?: string }>(({ field, props }) => (
|
|
217
|
-
* <input value={field.value} placeholder={props.placeholder} ... />
|
|
218
|
-
* ))
|
|
219
|
-
* ```
|
|
220
|
-
*
|
|
221
|
-
* @category Constructors
|
|
222
|
-
*/
|
|
223
|
-
export declare const forField: <K extends string, S extends Schema.Schema.Any>(_field: Field.FieldDef<K, S>) => <P extends Record<string, unknown> = Record<string, never>>(component: React.FC<FieldComponentProps<S, P>>) => React.FC<FieldComponentProps<S, P>>;
|
|
224
|
-
/**
|
|
225
|
-
* Creates a bundled field definition + component for reusable form fields.
|
|
226
|
-
* Reduces boilerplate when you need both a field and its component together.
|
|
227
|
-
*
|
|
228
|
-
* Uses a curried API for better type inference - the schema type is captured
|
|
229
|
-
* first, so you only need to specify the extra props type (if any).
|
|
230
|
-
*
|
|
231
|
-
* @example
|
|
232
|
-
* ```tsx
|
|
233
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
234
|
-
* import * as Schema from "effect/Schema"
|
|
235
|
-
*
|
|
236
|
-
* // Define field + component in one place (no extra props)
|
|
237
|
-
* const NameInput = FormReact.makeField({
|
|
238
|
-
* key: "name",
|
|
239
|
-
* schema: Schema.String.pipe(Schema.nonEmptyString()),
|
|
240
|
-
* })(({ field }) => (
|
|
241
|
-
* <input
|
|
242
|
-
* value={field.value}
|
|
243
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
244
|
-
* onBlur={field.onBlur}
|
|
245
|
-
* />
|
|
246
|
-
* ))
|
|
247
|
-
*
|
|
248
|
-
* // With extra props - specify only the props type
|
|
249
|
-
* const EmailInput = FormReact.makeField({
|
|
250
|
-
* key: "email",
|
|
251
|
-
* schema: Schema.String,
|
|
252
|
-
* })<{ placeholder: string }>(({ field, props }) => (
|
|
253
|
-
* <input
|
|
254
|
-
* value={field.value}
|
|
255
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
256
|
-
* placeholder={props.placeholder}
|
|
257
|
-
* />
|
|
258
|
-
* ))
|
|
259
|
-
*
|
|
260
|
-
* // Use in form builder
|
|
261
|
-
* const formBuilder = FormBuilder.empty.addField(NameInput.field)
|
|
262
|
-
*
|
|
263
|
-
* // Use in make()
|
|
264
|
-
* const form = FormReact.make(formBuilder, {
|
|
265
|
-
* runtime,
|
|
266
|
-
* fields: { name: NameInput },
|
|
267
|
-
* onSubmit: (_, { decoded }) => Effect.log(decoded.name),
|
|
268
|
-
* })
|
|
269
|
-
* ```
|
|
270
|
-
*
|
|
271
|
-
* @category Constructors
|
|
272
|
-
*/
|
|
273
|
-
export declare const makeField: <K extends string, S extends Schema.Schema.Any>(options: {
|
|
274
|
-
readonly key: K;
|
|
275
|
-
readonly schema: S;
|
|
276
|
-
}) => <P extends Record<string, unknown> = Record<string, never>>(component: React.FC<FieldComponentProps<S, P>>) => FieldBundle<K, S, P>;
|
|
277
104
|
export {};
|
|
278
105
|
//# sourceMappingURL=FormReact.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormReact.d.ts","sourceRoot":"","sources":["../../src/FormReact.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAc,MAAM,2BAA2B,CAAA;AAC9E,OAAO,KAAK,KAAK,WAAW,MAAM,uCAAuC,CAAA;AAGzE,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"FormReact.d.ts","sourceRoot":"","sources":["../../src/FormReact.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const useDebounced: <T extends (...args: ReadonlyArray<any>) => void>(fn: T, delayMs: number | null) => T;
|
|
2
2
|
//# sourceMappingURL=use-debounced.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-debounced.d.ts","sourceRoot":"","sources":["../../../src/internal/use-debounced.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"use-debounced.d.ts","sourceRoot":"","sources":["../../../src/internal/use-debounced.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,EAC1E,IAAI,CAAC,EACL,SAAS,MAAM,GAAG,IAAI,KACrB,CAiCF,CAAA"}
|
package/dist/esm/FormReact.js
CHANGED
|
@@ -7,12 +7,10 @@ import * as Cause from "effect/Cause";
|
|
|
7
7
|
import * as Layer from "effect/Layer";
|
|
8
8
|
import * as Option from "effect/Option";
|
|
9
9
|
import * as ParseResult from "effect/ParseResult";
|
|
10
|
-
import * as Predicate from "effect/Predicate";
|
|
11
10
|
import * as AST from "effect/SchemaAST";
|
|
12
11
|
import * as React from "react";
|
|
13
12
|
import { createContext, useContext } from "react";
|
|
14
13
|
import { useDebounced } from "./internal/use-debounced.js";
|
|
15
|
-
const isFieldBundle = x => Predicate.isTagged(x, "FieldBundle");
|
|
16
14
|
const ArrayItemContext = /*#__PURE__*/createContext(null);
|
|
17
15
|
const AutoSubmitContext = /*#__PURE__*/createContext(null);
|
|
18
16
|
const makeFieldComponent = (fieldKey, fieldDef, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, Component) => {
|
|
@@ -200,58 +198,12 @@ const makeFieldComponents = (fields, stateAtom, errorsAtom, submitCountAtom, dir
|
|
|
200
198
|
const arrayComponentMap = componentMap[key];
|
|
201
199
|
components[key] = makeArrayFieldComponent(key, def, stateAtom, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, operations, arrayComponentMap);
|
|
202
200
|
} else if (Field.isFieldDef(def)) {
|
|
203
|
-
const
|
|
204
|
-
const fieldComponent = isFieldBundle(componentOrBundle) ? componentOrBundle.component : componentOrBundle;
|
|
201
|
+
const fieldComponent = componentMap[key];
|
|
205
202
|
components[key] = makeFieldComponent(key, def, errorsAtom, submitCountAtom, dirtyFieldsAtom, parsedMode, getOrCreateValidationAtom, getOrCreateFieldAtoms, fieldComponent);
|
|
206
203
|
}
|
|
207
204
|
}
|
|
208
205
|
return components;
|
|
209
206
|
};
|
|
210
|
-
/**
|
|
211
|
-
* Creates a React form from a FormBuilder.
|
|
212
|
-
*
|
|
213
|
-
* @example
|
|
214
|
-
* ```tsx
|
|
215
|
-
* import { FormBuilder } from "@lucas-barake/effect-form"
|
|
216
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
217
|
-
* import { useAtomValue, useAtomSet } from "@effect-atom/atom-react"
|
|
218
|
-
* import * as Schema from "effect/Schema"
|
|
219
|
-
*
|
|
220
|
-
* const loginFormBuilder = FormBuilder.empty
|
|
221
|
-
* .addField("email", Schema.String)
|
|
222
|
-
* .addField("password", Schema.String)
|
|
223
|
-
*
|
|
224
|
-
* // Runtime is optional for forms without service requirements
|
|
225
|
-
* const loginForm = FormReact.make(loginFormBuilder, {
|
|
226
|
-
* fields: { email: TextInput, password: PasswordInput },
|
|
227
|
-
* onSubmit: (_, { decoded }) => Effect.log(`Login: ${decoded.email}`),
|
|
228
|
-
* })
|
|
229
|
-
*
|
|
230
|
-
* // Subscribe to atoms anywhere in the tree
|
|
231
|
-
* function SubmitButton() {
|
|
232
|
-
* const isDirty = useAtomValue(loginForm.isDirty)
|
|
233
|
-
* const submit = useAtomValue(loginForm.submit)
|
|
234
|
-
* const callSubmit = useAtomSet(loginForm.submit)
|
|
235
|
-
* return (
|
|
236
|
-
* <button onClick={() => callSubmit()} disabled={!isDirty || submit.waiting}>
|
|
237
|
-
* {submit.waiting ? "Validating..." : "Login"}
|
|
238
|
-
* </button>
|
|
239
|
-
* )
|
|
240
|
-
* }
|
|
241
|
-
*
|
|
242
|
-
* function LoginPage() {
|
|
243
|
-
* return (
|
|
244
|
-
* <loginForm.Initialize defaultValues={{ email: "", password: "" }}>
|
|
245
|
-
* <loginForm.email />
|
|
246
|
-
* <loginForm.password />
|
|
247
|
-
* <SubmitButton />
|
|
248
|
-
* </loginForm.Initialize>
|
|
249
|
-
* )
|
|
250
|
-
* }
|
|
251
|
-
* ```
|
|
252
|
-
*
|
|
253
|
-
* @category Constructors
|
|
254
|
-
*/
|
|
255
207
|
export const make = (self, options) => {
|
|
256
208
|
const {
|
|
257
209
|
fields: components,
|
|
@@ -413,94 +365,4 @@ export const make = (self, options) => {
|
|
|
413
365
|
...fieldComponents
|
|
414
366
|
};
|
|
415
367
|
};
|
|
416
|
-
/**
|
|
417
|
-
* A curried helper that infers the schema type from a field definition.
|
|
418
|
-
* Provides ergonomic type inference when defining field components.
|
|
419
|
-
*
|
|
420
|
-
* @example
|
|
421
|
-
* ```tsx
|
|
422
|
-
* import { Field, FormReact } from "@lucas-barake/effect-form-react"
|
|
423
|
-
*
|
|
424
|
-
* const EmailField = Field.makeField("email", Schema.String)
|
|
425
|
-
* const TextInput = FormReact.forField(EmailField)(({ field }) => (
|
|
426
|
-
* <input value={field.value} onChange={e => field.onChange(e.target.value)} />
|
|
427
|
-
* ))
|
|
428
|
-
*
|
|
429
|
-
* // With extra props - just specify the props type
|
|
430
|
-
* const TextInput = FormReact.forField(EmailField)<{ placeholder?: string }>(({ field, props }) => (
|
|
431
|
-
* <input value={field.value} placeholder={props.placeholder} ... />
|
|
432
|
-
* ))
|
|
433
|
-
* ```
|
|
434
|
-
*
|
|
435
|
-
* @category Constructors
|
|
436
|
-
*/
|
|
437
|
-
export const forField = _field => component => component;
|
|
438
|
-
/**
|
|
439
|
-
* Creates a bundled field definition + component for reusable form fields.
|
|
440
|
-
* Reduces boilerplate when you need both a field and its component together.
|
|
441
|
-
*
|
|
442
|
-
* Uses a curried API for better type inference - the schema type is captured
|
|
443
|
-
* first, so you only need to specify the extra props type (if any).
|
|
444
|
-
*
|
|
445
|
-
* @example
|
|
446
|
-
* ```tsx
|
|
447
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
448
|
-
* import * as Schema from "effect/Schema"
|
|
449
|
-
*
|
|
450
|
-
* // Define field + component in one place (no extra props)
|
|
451
|
-
* const NameInput = FormReact.makeField({
|
|
452
|
-
* key: "name",
|
|
453
|
-
* schema: Schema.String.pipe(Schema.nonEmptyString()),
|
|
454
|
-
* })(({ field }) => (
|
|
455
|
-
* <input
|
|
456
|
-
* value={field.value}
|
|
457
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
458
|
-
* onBlur={field.onBlur}
|
|
459
|
-
* />
|
|
460
|
-
* ))
|
|
461
|
-
*
|
|
462
|
-
* // With extra props - specify only the props type
|
|
463
|
-
* const EmailInput = FormReact.makeField({
|
|
464
|
-
* key: "email",
|
|
465
|
-
* schema: Schema.String,
|
|
466
|
-
* })<{ placeholder: string }>(({ field, props }) => (
|
|
467
|
-
* <input
|
|
468
|
-
* value={field.value}
|
|
469
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
470
|
-
* placeholder={props.placeholder}
|
|
471
|
-
* />
|
|
472
|
-
* ))
|
|
473
|
-
*
|
|
474
|
-
* // Use in form builder
|
|
475
|
-
* const formBuilder = FormBuilder.empty.addField(NameInput.field)
|
|
476
|
-
*
|
|
477
|
-
* // Use in make()
|
|
478
|
-
* const form = FormReact.make(formBuilder, {
|
|
479
|
-
* runtime,
|
|
480
|
-
* fields: { name: NameInput },
|
|
481
|
-
* onSubmit: (_, { decoded }) => Effect.log(decoded.name),
|
|
482
|
-
* })
|
|
483
|
-
* ```
|
|
484
|
-
*
|
|
485
|
-
* @category Constructors
|
|
486
|
-
*/
|
|
487
|
-
export const makeField = options => {
|
|
488
|
-
const field = Field.makeField(options.key, options.schema);
|
|
489
|
-
return component => {
|
|
490
|
-
if (!component.displayName) {
|
|
491
|
-
const displayName = `${options.key.charAt(0).toUpperCase()}${options.key.slice(1)}Field`;
|
|
492
|
-
try {
|
|
493
|
-
;
|
|
494
|
-
component.displayName = displayName;
|
|
495
|
-
} catch {
|
|
496
|
-
// Ignore - some environments freeze function properties
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
return {
|
|
500
|
-
_tag: "FieldBundle",
|
|
501
|
-
field,
|
|
502
|
-
component
|
|
503
|
-
};
|
|
504
|
-
};
|
|
505
|
-
};
|
|
506
368
|
//# sourceMappingURL=FormReact.js.map
|
|
@@ -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","Predicate","AST","React","createContext","useContext","useDebounced","isFieldBundle","x","isTagged","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","componentOrBundle","fieldComponent","component","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","forField","_field","displayName","charAt","toUpperCase","slice"],"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","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,14 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal debounce hook for form validation.
|
|
3
|
-
*
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
1
|
import * as React from "react";
|
|
7
|
-
/**
|
|
8
|
-
* Hook that debounces a callback function.
|
|
9
|
-
*
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
2
|
export const useDebounced = (fn, delayMs) => {
|
|
13
3
|
const timeoutRef = React.useRef(null);
|
|
14
4
|
const fnRef = React.useRef(fn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-debounced.js","names":["React","useDebounced","fn","delayMs","timeoutRef","useRef","fnRef","useEffect","current","clearTimeout","useMemo","args","setTimeout"],"sources":["../../../src/internal/use-debounced.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"use-debounced.js","names":["React","useDebounced","fn","delayMs","timeoutRef","useRef","fnRef","useEffect","current","clearTimeout","useMemo","args","setTimeout"],"sources":["../../../src/internal/use-debounced.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,YAAY,GAAGA,CAC1BC,EAAK,EACLC,OAAsB,KACjB;EACL,MAAMC,UAAU,GAAGJ,KAAK,CAACK,MAAM,CAAuC,IAAI,CAAC;EAC3E,MAAMC,KAAK,GAAGN,KAAK,CAACK,MAAM,CAACH,EAAE,CAAC;EAE9BF,KAAK,CAACO,SAAS,CAAC,MAAK;IACnBD,KAAK,CAACE,OAAO,GAAGN,EAAE;EACpB,CAAC,CAAC;EAEFF,KAAK,CAACO,SAAS,CAAC,MAAK;IACnB,OAAO,MAAK;MACV,IAAIH,UAAU,CAACI,OAAO,KAAK,IAAI,EAAE;QAC/BC,YAAY,CAACL,UAAU,CAACI,OAAO,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOR,KAAK,CAACU,OAAO,CAClB,MACG,CAAC,GAAGC,IAAmB,KAAI;IAC1B,IAAIR,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,CAAC,EAAE;MACrCG,KAAK,CAACE,OAAO,CAAC,GAAGG,IAAI,CAAC;MACtB;IACF;IACA,IAAIP,UAAU,CAACI,OAAO,KAAK,IAAI,EAAE;MAC/BC,YAAY,CAACL,UAAU,CAACI,OAAO,CAAC;IAClC;IACAJ,UAAU,CAACI,OAAO,GAAGI,UAAU,CAAC,MAAK;MACnCN,KAAK,CAACE,OAAO,CAAC,GAAGG,IAAI,CAAC;MACtBP,UAAU,CAACI,OAAO,GAAG,IAAI;IAC3B,CAAC,EAAEL,OAAO,CAAC;EACb,CAAO,EACT,CAACA,OAAO,CAAC,CACV;AACH,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucas-barake/effect-form-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.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
|
+
"@lucas-barake/effect-form": "^0.14.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@effect-atom/atom": "^0.4.8",
|
package/src/FormReact.tsx
CHANGED
|
@@ -15,21 +15,17 @@ import type * as Effect from "effect/Effect"
|
|
|
15
15
|
import * as Layer from "effect/Layer"
|
|
16
16
|
import * as Option from "effect/Option"
|
|
17
17
|
import * as ParseResult from "effect/ParseResult"
|
|
18
|
-
import * as Predicate from "effect/Predicate"
|
|
19
18
|
import type * as Schema from "effect/Schema"
|
|
20
19
|
import * as AST from "effect/SchemaAST"
|
|
21
20
|
import * as React from "react"
|
|
22
21
|
import { createContext, useContext } from "react"
|
|
23
22
|
import { useDebounced } from "./internal/use-debounced.js"
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export interface FieldState<S extends Schema.Schema.Any> {
|
|
31
|
-
readonly value: Schema.Schema.Encoded<S>
|
|
32
|
-
readonly onChange: (value: Schema.Schema.Encoded<S>) => void
|
|
24
|
+
export type FieldValue<T> = T extends Schema.Schema.Any ? Schema.Schema.Encoded<T> : T
|
|
25
|
+
|
|
26
|
+
export interface FieldState<E> {
|
|
27
|
+
readonly value: E
|
|
28
|
+
readonly onChange: (value: E) => void
|
|
33
29
|
readonly onBlur: () => void
|
|
34
30
|
readonly error: Option.Option<string>
|
|
35
31
|
readonly isTouched: boolean
|
|
@@ -37,85 +33,31 @@ export interface FieldState<S extends Schema.Schema.Any> {
|
|
|
37
33
|
readonly isDirty: boolean
|
|
38
34
|
}
|
|
39
35
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
* Contains form-controlled state in `field` and user-defined props in `props`.
|
|
43
|
-
*
|
|
44
|
-
* @category Models
|
|
45
|
-
*/
|
|
46
|
-
export interface FieldComponentProps<
|
|
47
|
-
S extends Schema.Schema.Any,
|
|
48
|
-
P extends Record<string, unknown> = Record<string, never>,
|
|
49
|
-
> {
|
|
50
|
-
readonly field: FieldState<S>
|
|
36
|
+
export interface FieldComponentProps<E, P = Record<string, never>> {
|
|
37
|
+
readonly field: FieldState<E>
|
|
51
38
|
readonly props: P
|
|
52
39
|
}
|
|
53
40
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
*
|
|
58
|
-
* @category Models
|
|
59
|
-
*/
|
|
60
|
-
export interface FieldBundle<
|
|
61
|
-
K extends string,
|
|
62
|
-
S extends Schema.Schema.Any,
|
|
63
|
-
P extends Record<string, unknown> = Record<string, never>,
|
|
64
|
-
> {
|
|
65
|
-
readonly _tag: "FieldBundle"
|
|
66
|
-
readonly field: Field.FieldDef<K, S>
|
|
67
|
-
readonly component: React.FC<FieldComponentProps<S, P>>
|
|
68
|
-
}
|
|
41
|
+
export type FieldComponent<T, P = Record<string, never>> = React.FC<FieldComponentProps<FieldValue<T>, P>>
|
|
42
|
+
|
|
43
|
+
export type ExtractExtraProps<C> = C extends React.FC<FieldComponentProps<any, infer P>> ? P : Record<string, never>
|
|
69
44
|
|
|
70
|
-
const isFieldBundle = (x: unknown): x is FieldBundle<string, Schema.Schema.Any, Record<string, unknown>> =>
|
|
71
|
-
Predicate.isTagged(x, "FieldBundle")
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Extracts the extra props type from a field component.
|
|
75
|
-
*
|
|
76
|
-
* @category Type-level utilities
|
|
77
|
-
*/
|
|
78
|
-
export type ExtractExtraProps<C> = C extends React.FC<FieldComponentProps<any, infer P>> ? P
|
|
79
|
-
: C extends FieldBundle<any, any, infer P> ? P
|
|
80
|
-
: Record<string, never>
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Extracts field component map for array item schemas.
|
|
84
|
-
* - For Struct schemas: returns a map of field names to components
|
|
85
|
-
* - For primitive schemas: returns a single component
|
|
86
|
-
*
|
|
87
|
-
* @category Models
|
|
88
|
-
*/
|
|
89
45
|
export type ArrayItemComponentMap<S extends Schema.Schema.Any> = S extends Schema.Struct<infer Fields> ? {
|
|
90
|
-
readonly [K in keyof Fields]: Fields[K] extends Schema.Schema.Any
|
|
46
|
+
readonly [K in keyof Fields]: Fields[K] extends Schema.Schema.Any
|
|
47
|
+
? React.FC<FieldComponentProps<Schema.Schema.Encoded<Fields[K]>, any>>
|
|
91
48
|
: never
|
|
92
49
|
}
|
|
93
|
-
: React.FC<FieldComponentProps<S
|
|
50
|
+
: React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>
|
|
94
51
|
|
|
95
|
-
/**
|
|
96
|
-
* Maps field names to their React components.
|
|
97
|
-
*
|
|
98
|
-
* @category Models
|
|
99
|
-
*/
|
|
100
52
|
export type FieldComponentMap<TFields extends Field.FieldsRecord> = {
|
|
101
53
|
readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S>
|
|
102
|
-
? React.FC<FieldComponentProps<S
|
|
54
|
+
? React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, any>>
|
|
103
55
|
: TFields[K] extends Field.ArrayFieldDef<any, infer S> ? ArrayItemComponentMap<S>
|
|
104
56
|
: never
|
|
105
57
|
}
|
|
106
58
|
|
|
107
|
-
/**
|
|
108
|
-
* Maps field names to their type-safe Field references for setValue operations.
|
|
109
|
-
*
|
|
110
|
-
* @category Models
|
|
111
|
-
*/
|
|
112
59
|
export type FieldRefs<TFields extends Field.FieldsRecord> = FormAtoms.FieldRefs<TFields>
|
|
113
60
|
|
|
114
|
-
/**
|
|
115
|
-
* Operations available for array fields.
|
|
116
|
-
*
|
|
117
|
-
* @category Models
|
|
118
|
-
*/
|
|
119
61
|
export interface ArrayFieldOperations<TItem> {
|
|
120
62
|
readonly items: ReadonlyArray<TItem>
|
|
121
63
|
readonly append: (value?: TItem) => void
|
|
@@ -124,12 +66,6 @@ export interface ArrayFieldOperations<TItem> {
|
|
|
124
66
|
readonly move: (from: number, to: number) => void
|
|
125
67
|
}
|
|
126
68
|
|
|
127
|
-
/**
|
|
128
|
-
* The result of building a form, containing all components and utilities needed
|
|
129
|
-
* for form rendering and submission.
|
|
130
|
-
*
|
|
131
|
-
* @category Models
|
|
132
|
-
*/
|
|
133
69
|
export type BuiltForm<
|
|
134
70
|
TFields extends Field.FieldsRecord,
|
|
135
71
|
R,
|
|
@@ -200,7 +136,7 @@ interface ArrayItemContextValue {
|
|
|
200
136
|
const ArrayItemContext = createContext<ArrayItemContextValue | null>(null)
|
|
201
137
|
const AutoSubmitContext = createContext<(() => void) | null>(null)
|
|
202
138
|
|
|
203
|
-
const makeFieldComponent = <S extends Schema.Schema.Any, P
|
|
139
|
+
const makeFieldComponent = <S extends Schema.Schema.Any, P>(
|
|
204
140
|
fieldKey: string,
|
|
205
141
|
fieldDef: Field.FieldDef<string, S>,
|
|
206
142
|
errorsAtom: Atom.Writable<Map<string, Validation.ErrorEntry>, Map<string, Validation.ErrorEntry>>,
|
|
@@ -212,7 +148,7 @@ const makeFieldComponent = <S extends Schema.Schema.Any, P extends Record<string
|
|
|
212
148
|
schema: Schema.Schema.Any,
|
|
213
149
|
) => Atom.AtomResultFn<unknown, void, ParseResult.ParseError>,
|
|
214
150
|
getOrCreateFieldAtoms: (fieldPath: string) => FormAtoms.FieldAtoms,
|
|
215
|
-
Component: React.FC<FieldComponentProps<S
|
|
151
|
+
Component: React.FC<FieldComponentProps<Schema.Schema.Encoded<S>, P>>,
|
|
216
152
|
): React.FC<P> => {
|
|
217
153
|
const FieldComponent: React.FC<P> = (extraProps) => {
|
|
218
154
|
const arrayCtx = useContext(ArrayItemContext)
|
|
@@ -315,7 +251,7 @@ const makeFieldComponent = <S extends Schema.Schema.Any, P extends Record<string
|
|
|
315
251
|
? (isTouched || submitCount > 0)
|
|
316
252
|
: submitCount > 0
|
|
317
253
|
|
|
318
|
-
const fieldState: FieldState<S
|
|
254
|
+
const fieldState: FieldState<Schema.Schema.Encoded<S>> = React.useMemo(() => ({
|
|
319
255
|
value,
|
|
320
256
|
onChange,
|
|
321
257
|
onBlur,
|
|
@@ -507,10 +443,7 @@ const makeFieldComponents = <
|
|
|
507
443
|
arrayComponentMap,
|
|
508
444
|
)
|
|
509
445
|
} else if (Field.isFieldDef(def)) {
|
|
510
|
-
const
|
|
511
|
-
const fieldComponent = isFieldBundle(componentOrBundle)
|
|
512
|
-
? componentOrBundle.component
|
|
513
|
-
: componentOrBundle as React.FC<FieldComponentProps<any, any>>
|
|
446
|
+
const fieldComponent = (componentMap as Record<string, React.FC<FieldComponentProps<any, any>>>)[key]
|
|
514
447
|
components[key] = makeFieldComponent(
|
|
515
448
|
key,
|
|
516
449
|
def,
|
|
@@ -528,51 +461,6 @@ const makeFieldComponents = <
|
|
|
528
461
|
return components as FieldComponents<TFields, CM>
|
|
529
462
|
}
|
|
530
463
|
|
|
531
|
-
/**
|
|
532
|
-
* Creates a React form from a FormBuilder.
|
|
533
|
-
*
|
|
534
|
-
* @example
|
|
535
|
-
* ```tsx
|
|
536
|
-
* import { FormBuilder } from "@lucas-barake/effect-form"
|
|
537
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
538
|
-
* import { useAtomValue, useAtomSet } from "@effect-atom/atom-react"
|
|
539
|
-
* import * as Schema from "effect/Schema"
|
|
540
|
-
*
|
|
541
|
-
* const loginFormBuilder = FormBuilder.empty
|
|
542
|
-
* .addField("email", Schema.String)
|
|
543
|
-
* .addField("password", Schema.String)
|
|
544
|
-
*
|
|
545
|
-
* // Runtime is optional for forms without service requirements
|
|
546
|
-
* const loginForm = FormReact.make(loginFormBuilder, {
|
|
547
|
-
* fields: { email: TextInput, password: PasswordInput },
|
|
548
|
-
* onSubmit: (_, { decoded }) => Effect.log(`Login: ${decoded.email}`),
|
|
549
|
-
* })
|
|
550
|
-
*
|
|
551
|
-
* // Subscribe to atoms anywhere in the tree
|
|
552
|
-
* function SubmitButton() {
|
|
553
|
-
* const isDirty = useAtomValue(loginForm.isDirty)
|
|
554
|
-
* const submit = useAtomValue(loginForm.submit)
|
|
555
|
-
* const callSubmit = useAtomSet(loginForm.submit)
|
|
556
|
-
* return (
|
|
557
|
-
* <button onClick={() => callSubmit()} disabled={!isDirty || submit.waiting}>
|
|
558
|
-
* {submit.waiting ? "Validating..." : "Login"}
|
|
559
|
-
* </button>
|
|
560
|
-
* )
|
|
561
|
-
* }
|
|
562
|
-
*
|
|
563
|
-
* function LoginPage() {
|
|
564
|
-
* return (
|
|
565
|
-
* <loginForm.Initialize defaultValues={{ email: "", password: "" }}>
|
|
566
|
-
* <loginForm.email />
|
|
567
|
-
* <loginForm.password />
|
|
568
|
-
* <SubmitButton />
|
|
569
|
-
* </loginForm.Initialize>
|
|
570
|
-
* )
|
|
571
|
-
* }
|
|
572
|
-
* ```
|
|
573
|
-
*
|
|
574
|
-
* @category Constructors
|
|
575
|
-
*/
|
|
576
464
|
export const make: {
|
|
577
465
|
<
|
|
578
466
|
TFields extends Field.FieldsRecord,
|
|
@@ -815,104 +703,3 @@ export const make: {
|
|
|
815
703
|
...fieldComponents,
|
|
816
704
|
}
|
|
817
705
|
}
|
|
818
|
-
|
|
819
|
-
/**
|
|
820
|
-
* A curried helper that infers the schema type from a field definition.
|
|
821
|
-
* Provides ergonomic type inference when defining field components.
|
|
822
|
-
*
|
|
823
|
-
* @example
|
|
824
|
-
* ```tsx
|
|
825
|
-
* import { Field, FormReact } from "@lucas-barake/effect-form-react"
|
|
826
|
-
*
|
|
827
|
-
* const EmailField = Field.makeField("email", Schema.String)
|
|
828
|
-
* const TextInput = FormReact.forField(EmailField)(({ field }) => (
|
|
829
|
-
* <input value={field.value} onChange={e => field.onChange(e.target.value)} />
|
|
830
|
-
* ))
|
|
831
|
-
*
|
|
832
|
-
* // With extra props - just specify the props type
|
|
833
|
-
* const TextInput = FormReact.forField(EmailField)<{ placeholder?: string }>(({ field, props }) => (
|
|
834
|
-
* <input value={field.value} placeholder={props.placeholder} ... />
|
|
835
|
-
* ))
|
|
836
|
-
* ```
|
|
837
|
-
*
|
|
838
|
-
* @category Constructors
|
|
839
|
-
*/
|
|
840
|
-
export const forField = <K extends string, S extends Schema.Schema.Any>(
|
|
841
|
-
_field: Field.FieldDef<K, S>,
|
|
842
|
-
): <P extends Record<string, unknown> = Record<string, never>>(
|
|
843
|
-
component: React.FC<FieldComponentProps<S, P>>,
|
|
844
|
-
) => React.FC<FieldComponentProps<S, P>> =>
|
|
845
|
-
(component) => component
|
|
846
|
-
|
|
847
|
-
/**
|
|
848
|
-
* Creates a bundled field definition + component for reusable form fields.
|
|
849
|
-
* Reduces boilerplate when you need both a field and its component together.
|
|
850
|
-
*
|
|
851
|
-
* Uses a curried API for better type inference - the schema type is captured
|
|
852
|
-
* first, so you only need to specify the extra props type (if any).
|
|
853
|
-
*
|
|
854
|
-
* @example
|
|
855
|
-
* ```tsx
|
|
856
|
-
* import { FormReact } from "@lucas-barake/effect-form-react"
|
|
857
|
-
* import * as Schema from "effect/Schema"
|
|
858
|
-
*
|
|
859
|
-
* // Define field + component in one place (no extra props)
|
|
860
|
-
* const NameInput = FormReact.makeField({
|
|
861
|
-
* key: "name",
|
|
862
|
-
* schema: Schema.String.pipe(Schema.nonEmptyString()),
|
|
863
|
-
* })(({ field }) => (
|
|
864
|
-
* <input
|
|
865
|
-
* value={field.value}
|
|
866
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
867
|
-
* onBlur={field.onBlur}
|
|
868
|
-
* />
|
|
869
|
-
* ))
|
|
870
|
-
*
|
|
871
|
-
* // With extra props - specify only the props type
|
|
872
|
-
* const EmailInput = FormReact.makeField({
|
|
873
|
-
* key: "email",
|
|
874
|
-
* schema: Schema.String,
|
|
875
|
-
* })<{ placeholder: string }>(({ field, props }) => (
|
|
876
|
-
* <input
|
|
877
|
-
* value={field.value}
|
|
878
|
-
* onChange={(e) => field.onChange(e.target.value)}
|
|
879
|
-
* placeholder={props.placeholder}
|
|
880
|
-
* />
|
|
881
|
-
* ))
|
|
882
|
-
*
|
|
883
|
-
* // Use in form builder
|
|
884
|
-
* const formBuilder = FormBuilder.empty.addField(NameInput.field)
|
|
885
|
-
*
|
|
886
|
-
* // Use in make()
|
|
887
|
-
* const form = FormReact.make(formBuilder, {
|
|
888
|
-
* runtime,
|
|
889
|
-
* fields: { name: NameInput },
|
|
890
|
-
* onSubmit: (_, { decoded }) => Effect.log(decoded.name),
|
|
891
|
-
* })
|
|
892
|
-
* ```
|
|
893
|
-
*
|
|
894
|
-
* @category Constructors
|
|
895
|
-
*/
|
|
896
|
-
export const makeField = <K extends string, S extends Schema.Schema.Any>(options: {
|
|
897
|
-
readonly key: K
|
|
898
|
-
readonly schema: S
|
|
899
|
-
}): <P extends Record<string, unknown> = Record<string, never>>(
|
|
900
|
-
component: React.FC<FieldComponentProps<S, P>>,
|
|
901
|
-
) => FieldBundle<K, S, P> => {
|
|
902
|
-
const field = Field.makeField(options.key, options.schema)
|
|
903
|
-
return (component) => {
|
|
904
|
-
if (!component.displayName) {
|
|
905
|
-
const displayName = `${options.key.charAt(0).toUpperCase()}${options.key.slice(1)}Field`
|
|
906
|
-
try {
|
|
907
|
-
;(component as any).displayName = displayName
|
|
908
|
-
} catch {
|
|
909
|
-
// Ignore - some environments freeze function properties
|
|
910
|
-
}
|
|
911
|
-
}
|
|
912
|
-
return {
|
|
913
|
-
_tag: "FieldBundle",
|
|
914
|
-
field,
|
|
915
|
-
component,
|
|
916
|
-
}
|
|
917
|
-
}
|
|
918
|
-
}
|
|
@@ -1,15 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal debounce hook for form validation.
|
|
3
|
-
*
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
1
|
import * as React from "react"
|
|
7
2
|
|
|
8
|
-
/**
|
|
9
|
-
* Hook that debounces a callback function.
|
|
10
|
-
*
|
|
11
|
-
* @internal
|
|
12
|
-
*/
|
|
13
3
|
export const useDebounced = <T extends (...args: ReadonlyArray<any>) => void>(
|
|
14
4
|
fn: T,
|
|
15
5
|
delayMs: number | null,
|