solid-hook-form 1.7.2 → 1.8.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/main.d.ts +20 -20
- package/dist/main.js +12 -6
- package/dist/main.jsx +13 -9
- package/package.json +1 -1
package/dist/main.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Path, LiteralUnion, FieldPath, FieldPathValue, Resolver } from 'react-hook-form';
|
|
2
2
|
import * as solid_js from 'solid-js';
|
|
3
|
-
import { Accessor,
|
|
3
|
+
import { Accessor, JSXElement, ParentProps } from 'solid-js';
|
|
4
4
|
|
|
5
5
|
type Message = string;
|
|
6
6
|
type FieldError = {
|
|
@@ -34,6 +34,24 @@ type Control<F extends FormValues> = {
|
|
|
34
34
|
errors: Accessor<FieldErrors<F>>;
|
|
35
35
|
register: Register<F>;
|
|
36
36
|
};
|
|
37
|
+
type UseControllerReturn = {
|
|
38
|
+
field: {
|
|
39
|
+
name: string;
|
|
40
|
+
value: Accessor<any>;
|
|
41
|
+
onInput(event: Event): void;
|
|
42
|
+
onChange(event: Event): void;
|
|
43
|
+
ref(element: HTMLElement): void;
|
|
44
|
+
};
|
|
45
|
+
fieldState: {
|
|
46
|
+
error: Accessor<FieldError | undefined>;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
type ControllerProps<F extends FormValues> = {
|
|
50
|
+
control: Control<F>;
|
|
51
|
+
name: Path<F>;
|
|
52
|
+
rules?: Rules<F>;
|
|
53
|
+
render(arg: UseControllerReturn): JSXElement;
|
|
54
|
+
};
|
|
37
55
|
|
|
38
56
|
type FormValues = Record<string, any>;
|
|
39
57
|
type Ref = HTMLElement | null;
|
|
@@ -78,25 +96,7 @@ declare const FormProvider: <T extends FormValues>(props: FormProviderProps<T>)
|
|
|
78
96
|
|
|
79
97
|
declare const useFormContext: <T extends FormValues>() => UseFormReturn<T>;
|
|
80
98
|
|
|
81
|
-
|
|
82
|
-
field: {
|
|
83
|
-
name: string;
|
|
84
|
-
value: Accessor<any>;
|
|
85
|
-
onInput(event: Event): void;
|
|
86
|
-
onChange(event: Event): void;
|
|
87
|
-
ref(element: HTMLElement): void;
|
|
88
|
-
};
|
|
89
|
-
fieldState: {
|
|
90
|
-
error: Accessor<FieldError | undefined>;
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
type ControllerProps<F extends FormValues> = {
|
|
94
|
-
control: Control<F>;
|
|
95
|
-
name: Path<F>;
|
|
96
|
-
rules?: Rules<F>;
|
|
97
|
-
render(arg: ControllerRenderArg): JSX.Element;
|
|
98
|
-
};
|
|
99
|
-
declare const Controller: <F extends FormValues>(props: ControllerProps<F>) => JSX.Element;
|
|
99
|
+
declare const Controller: <F extends FormValues>(props: ControllerProps<F>) => solid_js.JSX.Element;
|
|
100
100
|
|
|
101
101
|
declare const get: (object: any, path: string, defaultValue?: unknown) => any;
|
|
102
102
|
|
package/dist/main.js
CHANGED
|
@@ -391,15 +391,15 @@ var useFormContext = () => {
|
|
|
391
391
|
}
|
|
392
392
|
return form;
|
|
393
393
|
};
|
|
394
|
-
var
|
|
395
|
-
const fieldProps =
|
|
394
|
+
var useController = (arg) => {
|
|
395
|
+
const fieldProps = arg.control.register(arg.name, arg.rules);
|
|
396
396
|
const value = createMemo(() => {
|
|
397
|
-
return get(
|
|
397
|
+
return get(arg.control.values(), arg.name);
|
|
398
398
|
});
|
|
399
399
|
const error = createMemo(() => {
|
|
400
|
-
return
|
|
400
|
+
return arg.control.errors()[arg.name];
|
|
401
401
|
});
|
|
402
|
-
return
|
|
402
|
+
return {
|
|
403
403
|
field: {
|
|
404
404
|
value,
|
|
405
405
|
...fieldProps
|
|
@@ -407,7 +407,13 @@ var Controller = (props) => {
|
|
|
407
407
|
fieldState: {
|
|
408
408
|
error
|
|
409
409
|
}
|
|
410
|
-
}
|
|
410
|
+
};
|
|
411
|
+
};
|
|
412
|
+
|
|
413
|
+
// src/controller.tsx
|
|
414
|
+
var Controller = (props) => {
|
|
415
|
+
const controller = useController(props);
|
|
416
|
+
return memo(() => props.render(controller));
|
|
411
417
|
};
|
|
412
418
|
|
|
413
419
|
export { Controller, FormProvider, get, set, useForm, useFormContext };
|
package/dist/main.jsx
CHANGED
|
@@ -392,18 +392,17 @@ var useFormContext = () => {
|
|
|
392
392
|
return form;
|
|
393
393
|
};
|
|
394
394
|
|
|
395
|
-
// src/
|
|
395
|
+
// src/use_controller.ts
|
|
396
396
|
import { createMemo as createMemo2 } from "solid-js";
|
|
397
|
-
var
|
|
398
|
-
const fieldProps =
|
|
397
|
+
var useController = (arg) => {
|
|
398
|
+
const fieldProps = arg.control.register(arg.name, arg.rules);
|
|
399
399
|
const value = createMemo2(() => {
|
|
400
|
-
return get(
|
|
400
|
+
return get(arg.control.values(), arg.name);
|
|
401
401
|
});
|
|
402
402
|
const error = createMemo2(() => {
|
|
403
|
-
return
|
|
403
|
+
return arg.control.errors()[arg.name];
|
|
404
404
|
});
|
|
405
|
-
return
|
|
406
|
-
{props.render({
|
|
405
|
+
return {
|
|
407
406
|
field: {
|
|
408
407
|
value,
|
|
409
408
|
...fieldProps
|
|
@@ -411,8 +410,13 @@ var Controller = (props) => {
|
|
|
411
410
|
fieldState: {
|
|
412
411
|
error
|
|
413
412
|
}
|
|
414
|
-
}
|
|
415
|
-
|
|
413
|
+
};
|
|
414
|
+
};
|
|
415
|
+
|
|
416
|
+
// src/controller.tsx
|
|
417
|
+
var Controller = (props) => {
|
|
418
|
+
const controller = useController(props);
|
|
419
|
+
return <>{props.render(controller)}</>;
|
|
416
420
|
};
|
|
417
421
|
export {
|
|
418
422
|
Controller,
|