@ultraviolet/form 2.14.7 → 3.0.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/components/CheckboxField/index.cjs +5 -3
- package/dist/components/CheckboxField/index.d.ts +2 -2
- package/dist/components/CheckboxField/index.js +5 -3
- package/dist/components/CheckboxGroupField/index.cjs +12 -8
- package/dist/components/CheckboxGroupField/index.d.ts +2 -2
- package/dist/components/CheckboxGroupField/index.js +8 -4
- package/dist/components/DateField/index.cjs +7 -6
- package/dist/components/DateField/index.d.ts +2 -2
- package/dist/components/DateField/index.js +7 -6
- package/dist/components/Form/index.cjs +7 -47
- package/dist/components/Form/index.d.ts +8 -64
- package/dist/components/Form/index.js +9 -47
- package/dist/components/NumberInputField/index.cjs +5 -3
- package/dist/components/NumberInputField/index.d.ts +2 -2
- package/dist/components/NumberInputField/index.js +5 -3
- package/dist/components/NumberInputFieldV2/index.cjs +5 -3
- package/dist/components/NumberInputFieldV2/index.d.ts +2 -4
- package/dist/components/NumberInputFieldV2/index.js +5 -3
- package/dist/components/RadioField/index.cjs +5 -3
- package/dist/components/RadioField/index.d.ts +2 -2
- package/dist/components/RadioField/index.js +5 -3
- package/dist/components/RadioGroupField/index.cjs +5 -3
- package/dist/components/RadioGroupField/index.d.ts +2 -2
- package/dist/components/RadioGroupField/index.js +5 -3
- package/dist/components/SelectInputField/index.cjs +7 -7
- package/dist/components/SelectInputField/index.d.ts +2 -2
- package/dist/components/SelectInputField/index.js +3 -3
- package/dist/components/SelectInputFieldV2/index.cjs +7 -5
- package/dist/components/SelectInputFieldV2/index.d.ts +2 -2
- package/dist/components/SelectInputFieldV2/index.js +5 -3
- package/dist/components/SelectableCardField/index.cjs +4 -2
- package/dist/components/SelectableCardField/index.d.ts +2 -2
- package/dist/components/SelectableCardField/index.js +4 -2
- package/dist/components/SelectableCardGroupField/index.cjs +5 -3
- package/dist/components/SelectableCardGroupField/index.d.ts +2 -2
- package/dist/components/SelectableCardGroupField/index.js +5 -3
- package/dist/components/TagInputField/index.cjs +5 -3
- package/dist/components/TagInputField/index.d.ts +2 -2
- package/dist/components/TagInputField/index.js +5 -3
- package/dist/components/TextAreaField/index.cjs +6 -3
- package/dist/components/TextAreaField/index.d.ts +2 -2
- package/dist/components/TextAreaField/index.js +6 -3
- package/dist/components/TextInputField/index.cjs +15 -14
- package/dist/components/TextInputField/index.d.ts +2 -2
- package/dist/components/TextInputField/index.js +15 -14
- package/dist/components/TextInputFieldV2/index.cjs +6 -3
- package/dist/components/TextInputFieldV2/index.d.ts +2 -2
- package/dist/components/TextInputFieldV2/index.js +6 -3
- package/dist/components/TimeField/index.cjs +5 -3
- package/dist/components/TimeField/index.d.ts +2 -4
- package/dist/components/TimeField/index.js +5 -3
- package/dist/components/ToggleField/index.cjs +5 -3
- package/dist/components/ToggleField/index.d.ts +2 -2
- package/dist/components/ToggleField/index.js +5 -3
- package/dist/components/ToggleGroupField/index.d.ts +2 -2
- package/dist/components/UnitInputField/index.cjs +4 -4
- package/dist/components/UnitInputField/index.d.ts +2 -2
- package/dist/components/UnitInputField/index.js +4 -4
- package/dist/components/index.d.ts +0 -1
- package/dist/hooks/index.d.ts +0 -4
- package/dist/hooks/useOnFieldChange.cjs +3 -3
- package/dist/hooks/useOnFieldChange.d.ts +3 -0
- package/dist/index.cjs +8 -18
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -11
- package/dist/providers/ErrorContext/index.cjs +5 -5
- package/dist/types.d.ts +7 -10
- package/dist/utils/validateRegex.cjs +4 -0
- package/dist/utils/validateRegex.d.ts +2 -0
- package/dist/utils/validateRegex.js +4 -0
- package/package.json +2 -2
- package/dist/constants.cjs +0 -4
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -4
- package/dist/hooks/useField.cjs +0 -30
- package/dist/hooks/useField.d.ts +0 -34
- package/dist/hooks/useField.js +0 -30
- package/dist/hooks/useFieldArray.cjs +0 -32
- package/dist/hooks/useFieldArray.d.ts +0 -21
- package/dist/hooks/useFieldArray.js +0 -32
- package/dist/hooks/useForm.cjs +0 -24
- package/dist/hooks/useForm.d.ts +0 -22
- package/dist/hooks/useForm.js +0 -24
- package/dist/hooks/useFormState.cjs +0 -22
- package/dist/hooks/useFormState.d.ts +0 -39
- package/dist/hooks/useFormState.js +0 -22
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
4
|
const ui = require("@ultraviolet/ui");
|
|
5
5
|
const reactHookForm = require("react-hook-form");
|
|
6
|
+
const validateRegex = require("../../utils/validateRegex.cjs");
|
|
6
7
|
const index = require("../../providers/ErrorContext/index.cjs");
|
|
7
8
|
const TextAreaField = ({
|
|
8
9
|
autoFocus,
|
|
9
10
|
clearable,
|
|
10
11
|
className,
|
|
11
12
|
tabIndex,
|
|
13
|
+
control,
|
|
12
14
|
"data-testid": dataTestId,
|
|
13
15
|
disabled,
|
|
14
16
|
helper,
|
|
@@ -26,8 +28,8 @@ const TextAreaField = ({
|
|
|
26
28
|
rows,
|
|
27
29
|
success,
|
|
28
30
|
tooltip,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
regex: regexes,
|
|
32
|
+
validate
|
|
31
33
|
}) => {
|
|
32
34
|
const {
|
|
33
35
|
getError
|
|
@@ -39,11 +41,12 @@ const TextAreaField = ({
|
|
|
39
41
|
}
|
|
40
42
|
} = reactHookForm.useController({
|
|
41
43
|
name,
|
|
44
|
+
control,
|
|
42
45
|
rules: {
|
|
43
46
|
required,
|
|
44
47
|
validate: {
|
|
45
48
|
...regexes ? {
|
|
46
|
-
pattern: (value) =>
|
|
49
|
+
pattern: (value) => validateRegex.validateRegex(value, regexes)
|
|
47
50
|
} : {},
|
|
48
51
|
...validate
|
|
49
52
|
},
|
|
@@ -2,10 +2,10 @@ import { TextArea } from '@ultraviolet/ui';
|
|
|
2
2
|
import type { ComponentProps } from 'react';
|
|
3
3
|
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
4
|
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
export type TextAreaFieldProps<TFieldValues extends FieldValues,
|
|
5
|
+
export type TextAreaFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = BaseFieldProps<TFieldValues, TFieldName> & Omit<ComponentProps<typeof TextArea>, 'value' | 'error' | 'name' | 'onChange'> & {
|
|
6
6
|
regex?: (RegExp | RegExp[])[];
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* This component offers a form field based on Ultraviolet UI TextArea component
|
|
10
10
|
*/
|
|
11
|
-
export declare const TextAreaField: <TFieldValues extends FieldValues,
|
|
11
|
+
export declare const TextAreaField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ autoFocus, clearable, className, tabIndex, control, "data-testid": dataTestId, disabled, helper, label, labelDescription, onChange, minLength, maxLength, name, onFocus, onBlur, placeholder, readOnly, required, rows, success, tooltip, regex: regexes, validate, }: TextAreaFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { TextArea } from "@ultraviolet/ui";
|
|
3
3
|
import { useController } from "react-hook-form";
|
|
4
|
+
import { validateRegex } from "../../utils/validateRegex.js";
|
|
4
5
|
import { useErrors } from "../../providers/ErrorContext/index.js";
|
|
5
6
|
const TextAreaField = ({
|
|
6
7
|
autoFocus,
|
|
7
8
|
clearable,
|
|
8
9
|
className,
|
|
9
10
|
tabIndex,
|
|
11
|
+
control,
|
|
10
12
|
"data-testid": dataTestId,
|
|
11
13
|
disabled,
|
|
12
14
|
helper,
|
|
@@ -24,8 +26,8 @@ const TextAreaField = ({
|
|
|
24
26
|
rows,
|
|
25
27
|
success,
|
|
26
28
|
tooltip,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
regex: regexes,
|
|
30
|
+
validate
|
|
29
31
|
}) => {
|
|
30
32
|
const {
|
|
31
33
|
getError
|
|
@@ -37,11 +39,12 @@ const TextAreaField = ({
|
|
|
37
39
|
}
|
|
38
40
|
} = useController({
|
|
39
41
|
name,
|
|
42
|
+
control,
|
|
40
43
|
rules: {
|
|
41
44
|
required,
|
|
42
45
|
validate: {
|
|
43
46
|
...regexes ? {
|
|
44
|
-
pattern: (value) =>
|
|
47
|
+
pattern: (value) => validateRegex(value, regexes)
|
|
45
48
|
} : {},
|
|
46
49
|
...validate
|
|
47
50
|
},
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
4
|
const ui = require("@ultraviolet/ui");
|
|
5
5
|
const reactHookForm = require("react-hook-form");
|
|
6
|
+
const validateRegex = require("../../utils/validateRegex.cjs");
|
|
6
7
|
const index = require("../../providers/ErrorContext/index.cjs");
|
|
7
8
|
const TextInputField = ({
|
|
8
9
|
autoCapitalize,
|
|
@@ -35,22 +36,22 @@ const TextInputField = ({
|
|
|
35
36
|
type,
|
|
36
37
|
unit,
|
|
37
38
|
size,
|
|
38
|
-
rules,
|
|
39
39
|
valid,
|
|
40
40
|
parse,
|
|
41
41
|
format,
|
|
42
42
|
formatOnBlur = false,
|
|
43
43
|
regex: regexes,
|
|
44
|
-
min,
|
|
45
|
-
max,
|
|
46
|
-
minLength,
|
|
47
|
-
maxLength,
|
|
48
|
-
validate,
|
|
49
44
|
defaultValue,
|
|
50
45
|
customError,
|
|
51
46
|
innerRef,
|
|
52
47
|
shouldUnregister = false,
|
|
53
|
-
"data-testid": dataTestId
|
|
48
|
+
"data-testid": dataTestId,
|
|
49
|
+
validate,
|
|
50
|
+
min,
|
|
51
|
+
max,
|
|
52
|
+
minLength,
|
|
53
|
+
maxLength,
|
|
54
|
+
control
|
|
54
55
|
}) => {
|
|
55
56
|
const {
|
|
56
57
|
getError
|
|
@@ -64,19 +65,19 @@ const TextInputField = ({
|
|
|
64
65
|
name,
|
|
65
66
|
defaultValue,
|
|
66
67
|
shouldUnregister,
|
|
68
|
+
control,
|
|
67
69
|
rules: {
|
|
68
70
|
required,
|
|
71
|
+
minLength,
|
|
72
|
+
maxLength,
|
|
73
|
+
min,
|
|
74
|
+
max,
|
|
69
75
|
validate: {
|
|
70
76
|
...regexes ? {
|
|
71
|
-
pattern: (value) =>
|
|
77
|
+
pattern: (value) => validateRegex.validateRegex(value, regexes)
|
|
72
78
|
} : {},
|
|
73
79
|
...validate
|
|
74
|
-
}
|
|
75
|
-
minLength,
|
|
76
|
-
maxLength,
|
|
77
|
-
max,
|
|
78
|
-
min,
|
|
79
|
-
...rules
|
|
80
|
+
}
|
|
80
81
|
}
|
|
81
82
|
});
|
|
82
83
|
const transformedValue = () => {
|
|
@@ -2,7 +2,7 @@ import { TextInput } from '@ultraviolet/ui';
|
|
|
2
2
|
import type { ComponentProps, Ref } from 'react';
|
|
3
3
|
import type { FieldPath, FieldValues, Path, PathValue } from 'react-hook-form';
|
|
4
4
|
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
type TextInputFieldProps<TFieldValues extends FieldValues,
|
|
5
|
+
type TextInputFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = BaseFieldProps<TFieldValues, TFieldName> & Partial<Pick<ComponentProps<typeof TextInput>, 'autoCapitalize' | 'autoComplete' | 'autoCorrect' | 'autoFocus' | 'autoSave' | 'cols' | 'disabled' | 'fillAvailable' | 'generated' | 'id' | 'multiline' | 'notice' | 'onBlur' | 'onFocus' | 'onKeyDown' | 'onKeyUp' | 'placeholder' | 'random' | 'readOnly' | 'resizable' | 'rows' | 'type' | 'noTopLabel' | 'unit' | 'valid' | 'size' | 'maxLength' | 'minLength' | 'min' | 'max' | 'data-testid'>> & {
|
|
6
6
|
className?: string;
|
|
7
7
|
regex?: (RegExp | RegExp[])[];
|
|
8
8
|
format?: (value: unknown) => PathValue<TFieldValues, Path<TFieldValues>>;
|
|
@@ -14,5 +14,5 @@ type TextInputFieldProps<TFieldValues extends FieldValues, TName extends FieldPa
|
|
|
14
14
|
/**
|
|
15
15
|
* @deprecated This component is deprecated, please use `TextInputFieldV2` instead
|
|
16
16
|
*/
|
|
17
|
-
export declare const TextInputField: <TFieldValues extends FieldValues,
|
|
17
|
+
export declare const TextInputField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ autoCapitalize, autoComplete, autoCorrect, autoFocus, autoSave, className, cols, disabled, fillAvailable, generated, id, label, multiline, name, noTopLabel, notice, onChange, onFocus, onKeyDown, onKeyUp, onBlur, placeholder, random, readOnly, required, resizable, rows, type, unit, size, valid, parse, format, formatOnBlur, regex: regexes, defaultValue, customError, innerRef, shouldUnregister, "data-testid": dataTestId, validate, min, max, minLength, maxLength, control, }: TextInputFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
18
18
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { TextInput } from "@ultraviolet/ui";
|
|
3
3
|
import { useController } from "react-hook-form";
|
|
4
|
+
import { validateRegex } from "../../utils/validateRegex.js";
|
|
4
5
|
import { useErrors } from "../../providers/ErrorContext/index.js";
|
|
5
6
|
const TextInputField = ({
|
|
6
7
|
autoCapitalize,
|
|
@@ -33,22 +34,22 @@ const TextInputField = ({
|
|
|
33
34
|
type,
|
|
34
35
|
unit,
|
|
35
36
|
size,
|
|
36
|
-
rules,
|
|
37
37
|
valid,
|
|
38
38
|
parse,
|
|
39
39
|
format,
|
|
40
40
|
formatOnBlur = false,
|
|
41
41
|
regex: regexes,
|
|
42
|
-
min,
|
|
43
|
-
max,
|
|
44
|
-
minLength,
|
|
45
|
-
maxLength,
|
|
46
|
-
validate,
|
|
47
42
|
defaultValue,
|
|
48
43
|
customError,
|
|
49
44
|
innerRef,
|
|
50
45
|
shouldUnregister = false,
|
|
51
|
-
"data-testid": dataTestId
|
|
46
|
+
"data-testid": dataTestId,
|
|
47
|
+
validate,
|
|
48
|
+
min,
|
|
49
|
+
max,
|
|
50
|
+
minLength,
|
|
51
|
+
maxLength,
|
|
52
|
+
control
|
|
52
53
|
}) => {
|
|
53
54
|
const {
|
|
54
55
|
getError
|
|
@@ -62,19 +63,19 @@ const TextInputField = ({
|
|
|
62
63
|
name,
|
|
63
64
|
defaultValue,
|
|
64
65
|
shouldUnregister,
|
|
66
|
+
control,
|
|
65
67
|
rules: {
|
|
66
68
|
required,
|
|
69
|
+
minLength,
|
|
70
|
+
maxLength,
|
|
71
|
+
min,
|
|
72
|
+
max,
|
|
67
73
|
validate: {
|
|
68
74
|
...regexes ? {
|
|
69
|
-
pattern: (value) =>
|
|
75
|
+
pattern: (value) => validateRegex(value, regexes)
|
|
70
76
|
} : {},
|
|
71
77
|
...validate
|
|
72
|
-
}
|
|
73
|
-
minLength,
|
|
74
|
-
maxLength,
|
|
75
|
-
max,
|
|
76
|
-
min,
|
|
77
|
-
...rules
|
|
78
|
+
}
|
|
78
79
|
}
|
|
79
80
|
});
|
|
80
81
|
const transformedValue = () => {
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
4
|
const ui = require("@ultraviolet/ui");
|
|
5
5
|
const reactHookForm = require("react-hook-form");
|
|
6
|
+
const validateRegex = require("../../utils/validateRegex.cjs");
|
|
6
7
|
const index = require("../../providers/ErrorContext/index.cjs");
|
|
7
8
|
const TextInputField = ({
|
|
8
|
-
validate,
|
|
9
9
|
regex: regexes,
|
|
10
10
|
id,
|
|
11
11
|
className,
|
|
@@ -37,7 +37,9 @@ const TextInputField = ({
|
|
|
37
37
|
"aria-labelledby": ariaLabelledBy,
|
|
38
38
|
"aria-label": ariaLabel,
|
|
39
39
|
autoComplete,
|
|
40
|
-
shouldUnregister
|
|
40
|
+
shouldUnregister,
|
|
41
|
+
validate,
|
|
42
|
+
control
|
|
41
43
|
}) => {
|
|
42
44
|
const {
|
|
43
45
|
getError
|
|
@@ -50,11 +52,12 @@ const TextInputField = ({
|
|
|
50
52
|
} = reactHookForm.useController({
|
|
51
53
|
name,
|
|
52
54
|
shouldUnregister,
|
|
55
|
+
control,
|
|
53
56
|
rules: {
|
|
54
57
|
required,
|
|
55
58
|
validate: {
|
|
56
59
|
...regexes ? {
|
|
57
|
-
pattern: (value) =>
|
|
60
|
+
pattern: (value) => validateRegex.validateRegex(value, regexes)
|
|
58
61
|
} : {},
|
|
59
62
|
...validate
|
|
60
63
|
},
|
|
@@ -2,11 +2,11 @@ import { TextInputV2 } from '@ultraviolet/ui';
|
|
|
2
2
|
import type { ComponentProps } from 'react';
|
|
3
3
|
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
4
|
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
type TextInputFieldProps<TFieldValues extends FieldValues,
|
|
5
|
+
type TextInputFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = BaseFieldProps<TFieldValues, TFieldName> & Omit<ComponentProps<typeof TextInputV2>, 'value' | 'error' | 'name' | 'onChange'> & {
|
|
6
6
|
regex?: (RegExp | RegExp[])[];
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* This component offers a form field based on Ultraviolet UI TextInputV2 component
|
|
10
10
|
*/
|
|
11
|
-
export declare const TextInputField: <TFieldValues extends FieldValues,
|
|
11
|
+
export declare const TextInputField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ regex: regexes, id, className, tabIndex, onChange, placeholder, disabled, readOnly, success, helper, tooltip, label, autoFocus, required, "data-testid": dataTestId, name, onFocus, onBlur, clearable, labelDescription, type, prefix, suffix, size, loading, onRandomize, minLength, maxLength, "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel, autoComplete, shouldUnregister, validate, control, }: TextInputFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
12
|
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { TextInputV2 } from "@ultraviolet/ui";
|
|
3
3
|
import { useController } from "react-hook-form";
|
|
4
|
+
import { validateRegex } from "../../utils/validateRegex.js";
|
|
4
5
|
import { useErrors } from "../../providers/ErrorContext/index.js";
|
|
5
6
|
const TextInputField = ({
|
|
6
|
-
validate,
|
|
7
7
|
regex: regexes,
|
|
8
8
|
id,
|
|
9
9
|
className,
|
|
@@ -35,7 +35,9 @@ const TextInputField = ({
|
|
|
35
35
|
"aria-labelledby": ariaLabelledBy,
|
|
36
36
|
"aria-label": ariaLabel,
|
|
37
37
|
autoComplete,
|
|
38
|
-
shouldUnregister
|
|
38
|
+
shouldUnregister,
|
|
39
|
+
validate,
|
|
40
|
+
control
|
|
39
41
|
}) => {
|
|
40
42
|
const {
|
|
41
43
|
getError
|
|
@@ -48,11 +50,12 @@ const TextInputField = ({
|
|
|
48
50
|
} = useController({
|
|
49
51
|
name,
|
|
50
52
|
shouldUnregister,
|
|
53
|
+
control,
|
|
51
54
|
rules: {
|
|
52
55
|
required,
|
|
53
56
|
validate: {
|
|
54
57
|
...regexes ? {
|
|
55
|
-
pattern: (value) =>
|
|
58
|
+
pattern: (value) => validateRegex(value, regexes)
|
|
56
59
|
} : {},
|
|
57
60
|
...validate
|
|
58
61
|
},
|
|
@@ -13,6 +13,7 @@ const parseTime = (date) => {
|
|
|
13
13
|
const TimeField = ({
|
|
14
14
|
required,
|
|
15
15
|
name,
|
|
16
|
+
control,
|
|
16
17
|
schedule,
|
|
17
18
|
placeholder,
|
|
18
19
|
disabled,
|
|
@@ -29,11 +30,11 @@ const TimeField = ({
|
|
|
29
30
|
animationOnChange,
|
|
30
31
|
className,
|
|
31
32
|
isSearchable,
|
|
32
|
-
rules,
|
|
33
33
|
options,
|
|
34
34
|
"data-testid": dataTestId,
|
|
35
35
|
shouldUnregister = false,
|
|
36
|
-
noTopLabel
|
|
36
|
+
noTopLabel,
|
|
37
|
+
validate
|
|
37
38
|
}) => {
|
|
38
39
|
const {
|
|
39
40
|
field,
|
|
@@ -42,10 +43,11 @@ const TimeField = ({
|
|
|
42
43
|
}
|
|
43
44
|
} = reactHookForm.useController({
|
|
44
45
|
name,
|
|
46
|
+
control,
|
|
45
47
|
shouldUnregister,
|
|
46
48
|
rules: {
|
|
47
49
|
required,
|
|
48
|
-
|
|
50
|
+
validate
|
|
49
51
|
}
|
|
50
52
|
});
|
|
51
53
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.TimeInput, { name: field.name, placeholder, schedule, required, value: parseTime(field.value), onChange: (val) => {
|
|
@@ -2,8 +2,6 @@ import { TimeInput } from '@ultraviolet/ui';
|
|
|
2
2
|
import type { ComponentProps } from 'react';
|
|
3
3
|
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
4
|
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
type TimeFieldProps<TFieldValues extends FieldValues,
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
export declare const TimeField: <TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ required, name, schedule, placeholder, disabled, readOnly, onBlur, onFocus, onChange, isLoading, isClearable, inputId, id, animation, animationDuration, animationOnChange, className, isSearchable, rules, options, "data-testid": dataTestId, shouldUnregister, noTopLabel, }: TimeFieldProps<TFieldValues, TName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
|
+
type TimeFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = BaseFieldProps<TFieldValues, TFieldName> & Omit<ComponentProps<typeof TimeInput>, 'onChange'>;
|
|
6
|
+
export declare const TimeField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ required, name, control, schedule, placeholder, disabled, readOnly, onBlur, onFocus, onChange, isLoading, isClearable, inputId, id, animation, animationDuration, animationOnChange, className, isSearchable, options, "data-testid": dataTestId, shouldUnregister, noTopLabel, validate, }: TimeFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
7
|
export {};
|
|
@@ -11,6 +11,7 @@ const parseTime = (date) => {
|
|
|
11
11
|
const TimeField = ({
|
|
12
12
|
required,
|
|
13
13
|
name,
|
|
14
|
+
control,
|
|
14
15
|
schedule,
|
|
15
16
|
placeholder,
|
|
16
17
|
disabled,
|
|
@@ -27,11 +28,11 @@ const TimeField = ({
|
|
|
27
28
|
animationOnChange,
|
|
28
29
|
className,
|
|
29
30
|
isSearchable,
|
|
30
|
-
rules,
|
|
31
31
|
options,
|
|
32
32
|
"data-testid": dataTestId,
|
|
33
33
|
shouldUnregister = false,
|
|
34
|
-
noTopLabel
|
|
34
|
+
noTopLabel,
|
|
35
|
+
validate
|
|
35
36
|
}) => {
|
|
36
37
|
const {
|
|
37
38
|
field,
|
|
@@ -40,10 +41,11 @@ const TimeField = ({
|
|
|
40
41
|
}
|
|
41
42
|
} = useController({
|
|
42
43
|
name,
|
|
44
|
+
control,
|
|
43
45
|
shouldUnregister,
|
|
44
46
|
rules: {
|
|
45
47
|
required,
|
|
46
|
-
|
|
48
|
+
validate
|
|
47
49
|
}
|
|
48
50
|
});
|
|
49
51
|
return /* @__PURE__ */ jsx(TimeInput, { name: field.name, placeholder, schedule, required, value: parseTime(field.value), onChange: (val) => {
|
|
@@ -9,16 +9,17 @@ const ToggleField = ({
|
|
|
9
9
|
disabled,
|
|
10
10
|
label,
|
|
11
11
|
name,
|
|
12
|
+
control,
|
|
12
13
|
onChange,
|
|
13
14
|
required,
|
|
14
15
|
size,
|
|
15
16
|
tooltip,
|
|
16
|
-
rules,
|
|
17
17
|
labelPosition,
|
|
18
18
|
parse,
|
|
19
19
|
format,
|
|
20
20
|
"data-testid": dataTestId,
|
|
21
|
-
shouldUnregister = false
|
|
21
|
+
shouldUnregister = false,
|
|
22
|
+
validate
|
|
22
23
|
}) => {
|
|
23
24
|
const {
|
|
24
25
|
field,
|
|
@@ -27,10 +28,11 @@ const ToggleField = ({
|
|
|
27
28
|
}
|
|
28
29
|
} = reactHookForm.useController({
|
|
29
30
|
name,
|
|
31
|
+
control,
|
|
30
32
|
shouldUnregister,
|
|
31
33
|
rules: {
|
|
32
34
|
required,
|
|
33
|
-
|
|
35
|
+
validate
|
|
34
36
|
}
|
|
35
37
|
});
|
|
36
38
|
const {
|
|
@@ -2,9 +2,9 @@ import { Toggle } from '@ultraviolet/ui';
|
|
|
2
2
|
import type { ComponentProps } from 'react';
|
|
3
3
|
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
4
|
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
type ToggleFieldProps<TFieldValues extends FieldValues,
|
|
5
|
+
type ToggleFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = Omit<BaseFieldProps<TFieldValues, TFieldName>, 'label'> & Pick<ComponentProps<typeof Toggle>, 'disabled' | 'label' | 'onChange' | 'size' | 'tooltip' | 'labelPosition' | 'className' | 'data-testid'> & {
|
|
6
6
|
parse?: (value: boolean) => any;
|
|
7
7
|
format?: (value: any) => boolean;
|
|
8
8
|
};
|
|
9
|
-
export declare const ToggleField: <TFieldValues extends FieldValues,
|
|
9
|
+
export declare const ToggleField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ className, disabled, label, name, control, onChange, required, size, tooltip, labelPosition, parse, format, "data-testid": dataTestId, shouldUnregister, validate, }: ToggleFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
10
10
|
export {};
|
|
@@ -7,16 +7,17 @@ const ToggleField = ({
|
|
|
7
7
|
disabled,
|
|
8
8
|
label,
|
|
9
9
|
name,
|
|
10
|
+
control,
|
|
10
11
|
onChange,
|
|
11
12
|
required,
|
|
12
13
|
size,
|
|
13
14
|
tooltip,
|
|
14
|
-
rules,
|
|
15
15
|
labelPosition,
|
|
16
16
|
parse,
|
|
17
17
|
format,
|
|
18
18
|
"data-testid": dataTestId,
|
|
19
|
-
shouldUnregister = false
|
|
19
|
+
shouldUnregister = false,
|
|
20
|
+
validate
|
|
20
21
|
}) => {
|
|
21
22
|
const {
|
|
22
23
|
field,
|
|
@@ -25,10 +26,11 @@ const ToggleField = ({
|
|
|
25
26
|
}
|
|
26
27
|
} = useController({
|
|
27
28
|
name,
|
|
29
|
+
control,
|
|
28
30
|
shouldUnregister,
|
|
29
31
|
rules: {
|
|
30
32
|
required,
|
|
31
|
-
|
|
33
|
+
validate
|
|
32
34
|
}
|
|
33
35
|
});
|
|
34
36
|
const {
|
|
@@ -2,9 +2,9 @@ import { ToggleGroup } from '@ultraviolet/ui';
|
|
|
2
2
|
import type { ComponentProps } from 'react';
|
|
3
3
|
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
4
|
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
type ToggleGroupFieldProps<TFieldValues extends FieldValues,
|
|
5
|
+
type ToggleGroupFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = BaseFieldProps<TFieldValues, TFieldName> & Partial<Pick<ComponentProps<typeof ToggleGroup>, 'className' | 'helper' | 'direction' | 'children' | 'error' | 'legend'>> & Required<Pick<ComponentProps<typeof ToggleGroup>, 'legend'>>;
|
|
6
6
|
export declare const ToggleGroupField: {
|
|
7
|
-
<TFieldValues extends FieldValues,
|
|
7
|
+
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ legend, control, className, helper, direction, children, onChange, label, error: customError, name, required, shouldUnregister, validate, }: ToggleGroupFieldProps<TFieldValues, TFieldName>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
8
|
Toggle: ({ disabled, name, value, label, helper, error, className, "data-testid": dataTestId, }: Omit<{
|
|
9
9
|
id?: string;
|
|
10
10
|
checked?: boolean;
|
|
@@ -22,9 +22,9 @@ const UnitInputField = ({
|
|
|
22
22
|
width,
|
|
23
23
|
selectInputWidth,
|
|
24
24
|
helper,
|
|
25
|
-
rules,
|
|
26
25
|
shouldUnregister = false,
|
|
27
|
-
validate
|
|
26
|
+
validate,
|
|
27
|
+
control
|
|
28
28
|
}) => {
|
|
29
29
|
const {
|
|
30
30
|
getError
|
|
@@ -44,12 +44,12 @@ const UnitInputField = ({
|
|
|
44
44
|
} = reactHookForm.useController({
|
|
45
45
|
name,
|
|
46
46
|
shouldUnregister,
|
|
47
|
+
control,
|
|
47
48
|
rules: {
|
|
48
49
|
required,
|
|
49
50
|
min,
|
|
50
51
|
max,
|
|
51
|
-
|
|
52
|
-
...validate
|
|
52
|
+
validate
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
55
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.UnitInput, { id, name, required, max, min, error: getError({
|
|
@@ -2,10 +2,10 @@ import { UnitInput } from '@ultraviolet/ui';
|
|
|
2
2
|
import type { ComponentProps } from 'react';
|
|
3
3
|
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
4
|
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
type UnitInputFieldProps<TFieldValues extends FieldValues,
|
|
5
|
+
type UnitInputFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = BaseFieldProps<TFieldValues, TFieldName> & Pick<ComponentProps<typeof UnitInput>, 'id' | 'name' | 'className' | 'data-testid' | 'disabled' | 'value' | 'max' | 'min' | 'options' | 'placeholder' | 'placeholderUnit' | 'size' | 'unitValue' | 'required' | 'width' | 'helper' | 'selectInputWidth'> & {
|
|
6
6
|
onChange?: ComponentProps<typeof UnitInput>['onChange'];
|
|
7
7
|
onChangeUnitValue?: ComponentProps<typeof UnitInput>['onChangeUnitValue'];
|
|
8
8
|
label: string;
|
|
9
9
|
};
|
|
10
|
-
export declare const UnitInputField: <TFieldValues extends FieldValues,
|
|
10
|
+
export declare const UnitInputField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ id, name, max, min, size, placeholder, placeholderUnit, onChange, onChangeUnitValue, disabled, options, className, label, required, width, selectInputWidth, helper, shouldUnregister, validate, control, }: UnitInputFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -20,9 +20,9 @@ const UnitInputField = ({
|
|
|
20
20
|
width,
|
|
21
21
|
selectInputWidth,
|
|
22
22
|
helper,
|
|
23
|
-
rules,
|
|
24
23
|
shouldUnregister = false,
|
|
25
|
-
validate
|
|
24
|
+
validate,
|
|
25
|
+
control
|
|
26
26
|
}) => {
|
|
27
27
|
const {
|
|
28
28
|
getError
|
|
@@ -42,12 +42,12 @@ const UnitInputField = ({
|
|
|
42
42
|
} = useController({
|
|
43
43
|
name,
|
|
44
44
|
shouldUnregister,
|
|
45
|
+
control,
|
|
45
46
|
rules: {
|
|
46
47
|
required,
|
|
47
48
|
min,
|
|
48
49
|
max,
|
|
49
|
-
|
|
50
|
-
...validate
|
|
50
|
+
validate
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
53
|
return /* @__PURE__ */ jsx(UnitInput, { id, name, required, max, min, error: getError({
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { CheckboxField } from './CheckboxField';
|
|
2
2
|
export { CheckboxGroupField } from './CheckboxGroupField';
|
|
3
3
|
export { DateField } from './DateField';
|
|
4
|
-
export type { FormProps } from './Form';
|
|
5
4
|
export { Form } from './Form';
|
|
6
5
|
export { RadioField } from './RadioField';
|
|
7
6
|
export { SelectInputField } from './SelectInputField';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
1
|
export { useOnFieldChange } from './useOnFieldChange';
|
|
2
|
-
export { useFormStateDeprecated } from './useFormState';
|
|
3
|
-
export { useFieldDeprecated } from './useField';
|
|
4
|
-
export { useFormDeprecated } from './useForm';
|
|
5
|
-
export { useFieldArrayDeprecated } from './useFieldArray';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const react = require("react");
|
|
4
4
|
const reactHookForm = require("react-hook-form");
|
|
5
5
|
const useOnFieldChange = (fieldName, callback, enabled = true) => {
|
|
6
6
|
const {
|
|
7
7
|
watch,
|
|
8
8
|
getValues
|
|
9
9
|
} = reactHookForm.useFormContext();
|
|
10
|
-
const previousValues =
|
|
11
|
-
|
|
10
|
+
const previousValues = react.useRef(getValues(fieldName));
|
|
11
|
+
react.useEffect(() => {
|
|
12
12
|
const subscription = watch((value) => {
|
|
13
13
|
if (previousValues.current !== value[fieldName] && enabled) {
|
|
14
14
|
previousValues.current = value[fieldName];
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import type { DeepPartial, FieldPath, FieldPathValue, FieldValues } from 'react-hook-form';
|
|
2
2
|
export type CallbackFn<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = (value: FieldPathValue<TFieldValues, TFieldName>, values: DeepPartial<TFieldValues>) => void | Promise<void>;
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated
|
|
5
|
+
*/
|
|
3
6
|
export declare const useOnFieldChange: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(fieldName: TFieldName, callback: CallbackFn<TFieldValues, TFieldName>, enabled?: boolean) => void;
|