@ultraviolet/form 4.0.0-beta.2 → 4.0.0-beta.20
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/README.md +191 -3
- package/dist/components/CheckboxGroupField/index.cjs +3 -3
- package/dist/components/CheckboxGroupField/index.d.ts +3 -5
- package/dist/components/CheckboxGroupField/index.js +3 -3
- package/dist/components/{DateField → DateInputField}/index.cjs +9 -19
- package/dist/components/DateInputField/index.d.ts +7 -0
- package/dist/components/{DateField → DateInputField}/index.js +9 -19
- package/dist/components/Form/index.cjs +20 -1
- package/dist/components/Form/index.js +18 -1
- package/dist/components/KeyValueField/index.cjs +1 -1
- package/dist/components/KeyValueField/index.d.ts +6 -6
- package/dist/components/KeyValueField/index.js +1 -1
- package/dist/components/NumberInputField/index.cjs +24 -24
- package/dist/components/NumberInputField/index.d.ts +3 -9
- package/dist/components/NumberInputField/index.js +24 -24
- package/dist/components/RadioField/index.d.ts +1 -4
- package/dist/components/RadioGroupField/index.cjs +3 -4
- package/dist/components/RadioGroupField/index.d.ts +19 -9
- package/dist/components/RadioGroupField/index.js +3 -4
- package/dist/components/SelectInputField/index.cjs +19 -71
- package/dist/components/SelectInputField/index.d.ts +3 -81
- package/dist/components/SelectInputField/index.js +20 -72
- package/dist/components/SelectableCardField/index.cjs +5 -11
- package/dist/components/SelectableCardField/index.d.ts +3 -11
- package/dist/components/SelectableCardField/index.js +5 -11
- package/dist/components/SelectableCardGroupField/index.cjs +6 -10
- package/dist/components/SelectableCardGroupField/index.d.ts +2 -2
- package/dist/components/SelectableCardGroupField/index.js +6 -10
- package/dist/components/SelectableCardOptionGroupField/index.cjs +2 -3
- package/dist/components/SelectableCardOptionGroupField/index.d.ts +5 -5
- package/dist/components/SelectableCardOptionGroupField/index.js +2 -3
- package/dist/components/SliderField/index.d.ts +1 -1
- package/dist/components/SwitchButtonField/index.cjs +2 -3
- package/dist/components/SwitchButtonField/index.d.ts +11 -2
- package/dist/components/SwitchButtonField/index.js +2 -3
- package/dist/components/TagInputField/index.cjs +5 -16
- package/dist/components/TagInputField/index.d.ts +2 -2
- package/dist/components/TagInputField/index.js +5 -16
- package/dist/components/TextAreaField/index.cjs +5 -19
- package/dist/components/TextAreaField/index.d.ts +1 -1
- package/dist/components/TextAreaField/index.js +5 -19
- package/dist/components/TextInputField/index.cjs +19 -73
- package/dist/components/TextInputField/index.d.ts +5 -11
- package/dist/components/TextInputField/index.js +19 -73
- package/dist/components/{TimeInputFieldV2 → TimeInputField}/index.cjs +6 -20
- package/dist/components/TimeInputField/index.d.ts +11 -0
- package/dist/components/{TimeInputFieldV2 → TimeInputField}/index.js +7 -21
- package/dist/components/ToggleField/index.cjs +4 -9
- package/dist/components/ToggleField/index.d.ts +5 -5
- package/dist/components/ToggleField/index.js +4 -9
- package/dist/components/ToggleGroupField/index.d.ts +2 -2
- package/dist/components/UnitInputField/index.cjs +5 -15
- package/dist/components/UnitInputField/index.d.ts +2 -4
- package/dist/components/UnitInputField/index.js +5 -15
- package/dist/components/VerificationCodeField/index.cjs +5 -14
- package/dist/components/VerificationCodeField/index.d.ts +2 -7
- package/dist/components/VerificationCodeField/index.js +5 -14
- package/dist/components/index.d.ts +3 -7
- package/dist/index.cjs +38 -46
- package/dist/index.js +5 -13
- package/package.json +12 -12
- package/dist/components/DateField/index.d.ts +0 -17
- package/dist/components/NumberInputFieldV2/index.cjs +0 -72
- package/dist/components/NumberInputFieldV2/index.d.ts +0 -9
- package/dist/components/NumberInputFieldV2/index.js +0 -72
- package/dist/components/SelectInputFieldV2/index.cjs +0 -50
- package/dist/components/SelectInputFieldV2/index.d.ts +0 -7
- package/dist/components/SelectInputFieldV2/index.js +0 -50
- package/dist/components/TextInputFieldV2/index.cjs +0 -90
- package/dist/components/TextInputFieldV2/index.d.ts +0 -12
- package/dist/components/TextInputFieldV2/index.js +0 -90
- package/dist/components/TimeField/index.cjs +0 -68
- package/dist/components/TimeField/index.d.ts +0 -7
- package/dist/components/TimeField/index.js +0 -68
- package/dist/components/TimeInputFieldV2/index.d.ts +0 -11
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "@emotion/react/jsx-runtime";
|
|
3
|
-
import { TextInputV2 } from "@ultraviolet/ui";
|
|
4
|
-
import { useController } from "react-hook-form";
|
|
5
|
-
import { validateRegex } from "../../utils/validateRegex.js";
|
|
6
|
-
import { useErrors } from "../../providers/ErrorContext/index.js";
|
|
7
|
-
const TextInputField = ({
|
|
8
|
-
regex: regexes,
|
|
9
|
-
id,
|
|
10
|
-
className,
|
|
11
|
-
tabIndex,
|
|
12
|
-
onChange,
|
|
13
|
-
placeholder,
|
|
14
|
-
disabled = false,
|
|
15
|
-
readOnly = false,
|
|
16
|
-
success,
|
|
17
|
-
helper,
|
|
18
|
-
tooltip,
|
|
19
|
-
label,
|
|
20
|
-
autoFocus,
|
|
21
|
-
required = false,
|
|
22
|
-
"data-testid": dataTestId,
|
|
23
|
-
name,
|
|
24
|
-
onFocus,
|
|
25
|
-
onBlur,
|
|
26
|
-
clearable = false,
|
|
27
|
-
labelDescription,
|
|
28
|
-
type = "text",
|
|
29
|
-
prefix,
|
|
30
|
-
suffix,
|
|
31
|
-
size = "large",
|
|
32
|
-
loading,
|
|
33
|
-
onRandomize,
|
|
34
|
-
minLength,
|
|
35
|
-
maxLength,
|
|
36
|
-
"aria-labelledby": ariaLabelledBy,
|
|
37
|
-
"aria-label": ariaLabel,
|
|
38
|
-
autoComplete,
|
|
39
|
-
shouldUnregister,
|
|
40
|
-
validate,
|
|
41
|
-
control,
|
|
42
|
-
role,
|
|
43
|
-
"aria-live": ariaLive,
|
|
44
|
-
"aria-atomic": ariaAtomic,
|
|
45
|
-
onKeyDown,
|
|
46
|
-
onKeyUp
|
|
47
|
-
}) => {
|
|
48
|
-
const {
|
|
49
|
-
getError
|
|
50
|
-
} = useErrors();
|
|
51
|
-
const {
|
|
52
|
-
field,
|
|
53
|
-
fieldState: {
|
|
54
|
-
error
|
|
55
|
-
}
|
|
56
|
-
} = useController({
|
|
57
|
-
name,
|
|
58
|
-
shouldUnregister,
|
|
59
|
-
control,
|
|
60
|
-
rules: {
|
|
61
|
-
required,
|
|
62
|
-
validate: {
|
|
63
|
-
...regexes ? {
|
|
64
|
-
pattern: (value) => validateRegex(value, regexes)
|
|
65
|
-
} : {},
|
|
66
|
-
...validate
|
|
67
|
-
},
|
|
68
|
-
minLength,
|
|
69
|
-
maxLength
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
return /* @__PURE__ */ jsx(TextInputV2, { autoFocus, className, clearable, "data-testid": dataTestId, disabled, error: getError({
|
|
73
|
-
regex: regexes,
|
|
74
|
-
minLength,
|
|
75
|
-
maxLength,
|
|
76
|
-
label: label ?? ariaLabel ?? name,
|
|
77
|
-
value: field.value
|
|
78
|
-
}, error), helper, label, loading, labelDescription, minLength, maxLength, name, onBlur: (event) => {
|
|
79
|
-
onBlur?.(event);
|
|
80
|
-
field.onBlur();
|
|
81
|
-
}, onChange: (event) => {
|
|
82
|
-
field.onChange(event);
|
|
83
|
-
onChange?.(event.target.value);
|
|
84
|
-
}, onFocus: (event) => {
|
|
85
|
-
onFocus?.(event);
|
|
86
|
-
}, placeholder, readOnly, required, success, tabIndex, tooltip, type, value: field.value === void 0 ? "" : field.value, id, prefix, suffix, size, onRandomize, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, autoComplete, role, "aria-live": ariaLive, "aria-atomic": ariaAtomic, onKeyDown, onKeyUp });
|
|
87
|
-
};
|
|
88
|
-
export {
|
|
89
|
-
TextInputField
|
|
90
|
-
};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
-
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
5
|
-
const ui = require("@ultraviolet/ui");
|
|
6
|
-
const reactHookForm = require("react-hook-form");
|
|
7
|
-
const parseTime = (date) => {
|
|
8
|
-
const timeStr = date && typeof date !== "string" ? date.toLocaleTimeString().slice(0, -3) : "";
|
|
9
|
-
return {
|
|
10
|
-
label: timeStr,
|
|
11
|
-
value: timeStr
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
const TimeField = ({
|
|
15
|
-
required,
|
|
16
|
-
name,
|
|
17
|
-
control,
|
|
18
|
-
schedule,
|
|
19
|
-
placeholder,
|
|
20
|
-
disabled,
|
|
21
|
-
readOnly,
|
|
22
|
-
onBlur,
|
|
23
|
-
onFocus,
|
|
24
|
-
onChange,
|
|
25
|
-
isLoading,
|
|
26
|
-
isClearable,
|
|
27
|
-
inputId,
|
|
28
|
-
id,
|
|
29
|
-
animation,
|
|
30
|
-
animationDuration,
|
|
31
|
-
animationOnChange,
|
|
32
|
-
className,
|
|
33
|
-
isSearchable,
|
|
34
|
-
options,
|
|
35
|
-
"data-testid": dataTestId,
|
|
36
|
-
shouldUnregister = false,
|
|
37
|
-
noTopLabel,
|
|
38
|
-
validate
|
|
39
|
-
}) => {
|
|
40
|
-
const {
|
|
41
|
-
field,
|
|
42
|
-
fieldState: {
|
|
43
|
-
error
|
|
44
|
-
}
|
|
45
|
-
} = reactHookForm.useController({
|
|
46
|
-
name,
|
|
47
|
-
control,
|
|
48
|
-
shouldUnregister,
|
|
49
|
-
rules: {
|
|
50
|
-
required,
|
|
51
|
-
validate
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ui.TimeInput, { name: field.name, placeholder, schedule, required, value: parseTime(field.value), onChange: (val) => {
|
|
55
|
-
if (!val) return;
|
|
56
|
-
onChange?.(val);
|
|
57
|
-
const [hours, minutes] = val.value.split(":");
|
|
58
|
-
const date = field.value ? new Date(field.value) : /* @__PURE__ */ new Date();
|
|
59
|
-
date.setHours(Number(hours), Number(minutes), 0);
|
|
60
|
-
field.onChange(date);
|
|
61
|
-
}, onBlur: (event) => {
|
|
62
|
-
field.onBlur();
|
|
63
|
-
onBlur?.(event);
|
|
64
|
-
}, onFocus: (event) => {
|
|
65
|
-
onFocus?.(event);
|
|
66
|
-
}, error: error?.message, disabled, readOnly, animation, animationDuration, animationOnChange, className, isLoading, isClearable, isSearchable, inputId, id, options, "data-testid": dataTestId, noTopLabel });
|
|
67
|
-
};
|
|
68
|
-
exports.TimeField = TimeField;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TimeInput } from '@ultraviolet/ui';
|
|
2
|
-
import type { ComponentProps } from 'react';
|
|
3
|
-
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
|
-
import type { BaseFieldProps } from '../../types';
|
|
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;
|
|
7
|
-
export {};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "@emotion/react/jsx-runtime";
|
|
3
|
-
import { TimeInput } from "@ultraviolet/ui";
|
|
4
|
-
import { useController } from "react-hook-form";
|
|
5
|
-
const parseTime = (date) => {
|
|
6
|
-
const timeStr = date && typeof date !== "string" ? date.toLocaleTimeString().slice(0, -3) : "";
|
|
7
|
-
return {
|
|
8
|
-
label: timeStr,
|
|
9
|
-
value: timeStr
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
const TimeField = ({
|
|
13
|
-
required,
|
|
14
|
-
name,
|
|
15
|
-
control,
|
|
16
|
-
schedule,
|
|
17
|
-
placeholder,
|
|
18
|
-
disabled,
|
|
19
|
-
readOnly,
|
|
20
|
-
onBlur,
|
|
21
|
-
onFocus,
|
|
22
|
-
onChange,
|
|
23
|
-
isLoading,
|
|
24
|
-
isClearable,
|
|
25
|
-
inputId,
|
|
26
|
-
id,
|
|
27
|
-
animation,
|
|
28
|
-
animationDuration,
|
|
29
|
-
animationOnChange,
|
|
30
|
-
className,
|
|
31
|
-
isSearchable,
|
|
32
|
-
options,
|
|
33
|
-
"data-testid": dataTestId,
|
|
34
|
-
shouldUnregister = false,
|
|
35
|
-
noTopLabel,
|
|
36
|
-
validate
|
|
37
|
-
}) => {
|
|
38
|
-
const {
|
|
39
|
-
field,
|
|
40
|
-
fieldState: {
|
|
41
|
-
error
|
|
42
|
-
}
|
|
43
|
-
} = useController({
|
|
44
|
-
name,
|
|
45
|
-
control,
|
|
46
|
-
shouldUnregister,
|
|
47
|
-
rules: {
|
|
48
|
-
required,
|
|
49
|
-
validate
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
return /* @__PURE__ */ jsx(TimeInput, { name: field.name, placeholder, schedule, required, value: parseTime(field.value), onChange: (val) => {
|
|
53
|
-
if (!val) return;
|
|
54
|
-
onChange?.(val);
|
|
55
|
-
const [hours, minutes] = val.value.split(":");
|
|
56
|
-
const date = field.value ? new Date(field.value) : /* @__PURE__ */ new Date();
|
|
57
|
-
date.setHours(Number(hours), Number(minutes), 0);
|
|
58
|
-
field.onChange(date);
|
|
59
|
-
}, onBlur: (event) => {
|
|
60
|
-
field.onBlur();
|
|
61
|
-
onBlur?.(event);
|
|
62
|
-
}, onFocus: (event) => {
|
|
63
|
-
onFocus?.(event);
|
|
64
|
-
}, error: error?.message, disabled, readOnly, animation, animationDuration, animationOnChange, className, isLoading, isClearable, isSearchable, inputId, id, options, "data-testid": dataTestId, noTopLabel });
|
|
65
|
-
};
|
|
66
|
-
export {
|
|
67
|
-
TimeField
|
|
68
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TimeInputV2 } from '@ultraviolet/ui';
|
|
2
|
-
import type { ComponentProps } from 'react';
|
|
3
|
-
import type { FieldPath, FieldValues } from 'react-hook-form';
|
|
4
|
-
import type { BaseFieldProps } from '../../types';
|
|
5
|
-
type TimeInputFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = BaseFieldProps<TFieldValues, TFieldName> & Omit<ComponentProps<typeof TimeInputV2>, 'value' | 'error' | 'name' | 'onChange'>;
|
|
6
|
-
/**
|
|
7
|
-
* This component offers a form field based on Ultraviolet UI TimeInputV2 component
|
|
8
|
-
* @experimental This component is experimental and may be subject to breaking changes in the future.
|
|
9
|
-
*/
|
|
10
|
-
export declare const TimeInputFieldV2: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ id, className, onChange, placeholder, disabled, readOnly, helper, label, autoFocus, required, "data-testid": dataTestId, name, onFocus, onBlur, clearable, labelDescription, size, "aria-label": ariaLabel, shouldUnregister, control, timeFormat, }: TimeInputFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|