@saas-ui/forms 2.5.4 → 2.6.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +23 -5
- package/dist/index.d.mts +14 -9
- package/dist/index.d.ts +14 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/default-fields.tsx +1 -1
- package/src/select/select-context.tsx +10 -7
- package/src/select/select.stories.tsx +117 -38
- package/src/select/select.tsx +15 -5
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
# @saas-ui/forms
|
2
2
|
|
3
|
+
## 2.6.1
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- b110d4a: Fixed select field not accepting multiple prop
|
8
|
+
|
9
|
+
## 2.6.0
|
10
|
+
|
11
|
+
### Minor Changes
|
12
|
+
|
13
|
+
- 9fe1899: Improved Select types, value type is now string or string[] depending on the multiple prop
|
14
|
+
|
15
|
+
### Patch Changes
|
16
|
+
|
17
|
+
- Updated dependencies [e75e99b]
|
18
|
+
- Updated dependencies [e75e99b]
|
19
|
+
- @saas-ui/core@2.5.0
|
20
|
+
|
3
21
|
## 2.5.4
|
4
22
|
|
5
23
|
### Patch Changes
|
@@ -1164,12 +1182,12 @@
|
|
1164
1182
|
Add this somewhere in the root of your project.
|
1165
1183
|
|
1166
1184
|
```ts
|
1167
|
-
import { Form } from
|
1168
|
-
import { yupResolver, yupFieldResolver } from
|
1169
|
-
import { AnyObjectSchema } from
|
1185
|
+
import { Form } from '@saas-ui/react'
|
1186
|
+
import { yupResolver, yupFieldResolver } from '@saas-ui/forms/yup' // yupResolver is exported from here as well for convenience.
|
1187
|
+
import { AnyObjectSchema } from 'yup'
|
1170
1188
|
|
1171
|
-
Form.getResolver = (schema: AnyObjectSchema) => yupResolver(schema)
|
1172
|
-
Form.getFieldResolver = (schema: AnyObjectSchema) => yupFieldResolver(schema)
|
1189
|
+
Form.getResolver = (schema: AnyObjectSchema) => yupResolver(schema) // @hookform/resolvers
|
1190
|
+
Form.getFieldResolver = (schema: AnyObjectSchema) => yupFieldResolver(schema) // AutoForm field resolver
|
1173
1191
|
```
|
1174
1192
|
|
1175
1193
|
- 9391c44: Fixed peer dependency issues.
|
package/dist/index.d.mts
CHANGED
@@ -65,7 +65,7 @@ interface RadioInputProps extends Omit<RadioGroupProps, 'children'>, RadioInputO
|
|
65
65
|
}
|
66
66
|
declare const RadioInput: _chakra_ui_react.ComponentWithAs<"div", RadioInputProps>;
|
67
67
|
|
68
|
-
interface SelectOptions {
|
68
|
+
interface SelectOptions<Multiple extends boolean = false, Value = Multiple extends true ? string[] : string> {
|
69
69
|
/**
|
70
70
|
* The name of the input field in a native form.
|
71
71
|
*/
|
@@ -73,16 +73,16 @@ interface SelectOptions {
|
|
73
73
|
/**
|
74
74
|
* The value of the select field.
|
75
75
|
*/
|
76
|
-
value?:
|
76
|
+
value?: Value;
|
77
77
|
/**
|
78
78
|
* The initial value of the select field.
|
79
79
|
*/
|
80
|
-
defaultValue?:
|
80
|
+
defaultValue?: Value;
|
81
81
|
/**
|
82
82
|
* The callback invoked when the value of the select field changes.
|
83
83
|
* @param value The value of the select field.
|
84
84
|
*/
|
85
|
-
onChange?: (value:
|
85
|
+
onChange?: (value: Value) => void;
|
86
86
|
/**
|
87
87
|
* The placeholder text when there's no value.
|
88
88
|
*/
|
@@ -99,16 +99,17 @@ interface SelectOptions {
|
|
99
99
|
/**
|
100
100
|
* Enable multiple select.
|
101
101
|
*/
|
102
|
-
multiple?:
|
102
|
+
multiple?: Multiple;
|
103
103
|
/**
|
104
104
|
* The function used to render the value of the select field.
|
105
105
|
* @param value The value of the select field.
|
106
106
|
* @returns The rendered value.
|
107
107
|
*/
|
108
|
-
renderValue?: (value:
|
108
|
+
renderValue?: (value: Value) => React__default.ReactNode;
|
109
109
|
}
|
110
110
|
|
111
|
-
interface SelectProps extends Omit<MenuProps, 'children' | 'variant' | 'size'>, ThemingProps<'SuiSelect'>, SelectOptions {
|
111
|
+
interface SelectProps<Multiple extends boolean = false, Value = Multiple extends true ? string[] : string> extends Omit<MenuProps, 'children' | 'variant' | 'size'>, ThemingProps<'SuiSelect'>, SelectOptions<Multiple, Value> {
|
112
|
+
children: React$1.ReactNode;
|
112
113
|
}
|
113
114
|
interface SelectButtonProps extends Omit<ButtonProps, 'size' | 'variant'> {
|
114
115
|
}
|
@@ -123,7 +124,11 @@ declare const SelectButton: _chakra_ui_react.ComponentWithAs<"button", SelectBut
|
|
123
124
|
*
|
124
125
|
* @see https://saas-ui.dev/docs/components/forms/select
|
125
126
|
*/
|
126
|
-
declare const Select:
|
127
|
+
declare const Select: (<Multiple extends boolean = false>(props: SelectProps<Multiple> & {
|
128
|
+
ref?: React$1.ForwardedRef<HTMLFormElement>;
|
129
|
+
}) => React$1.ReactElement) & {
|
130
|
+
displayName?: string | undefined;
|
131
|
+
};
|
127
132
|
interface SelectListProps extends MenuListProps {
|
128
133
|
}
|
129
134
|
/**
|
@@ -169,7 +174,7 @@ declare const TextareaField: React$1.FC<Omit<src.BaseFieldProps<react_hook_form.
|
|
169
174
|
interface SwitchFieldProps extends SwitchProps {
|
170
175
|
}
|
171
176
|
declare const SwitchField: React$1.FC<Omit<src.BaseFieldProps<react_hook_form.FieldValues, string>, keyof SwitchFieldProps> & SwitchFieldProps>;
|
172
|
-
interface SelectFieldProps extends SelectProps {
|
177
|
+
interface SelectFieldProps extends SelectProps<boolean> {
|
173
178
|
buttonProps?: SelectButtonProps;
|
174
179
|
listProps?: SelectListProps;
|
175
180
|
}
|
package/dist/index.d.ts
CHANGED
@@ -65,7 +65,7 @@ interface RadioInputProps extends Omit<RadioGroupProps, 'children'>, RadioInputO
|
|
65
65
|
}
|
66
66
|
declare const RadioInput: _chakra_ui_react.ComponentWithAs<"div", RadioInputProps>;
|
67
67
|
|
68
|
-
interface SelectOptions {
|
68
|
+
interface SelectOptions<Multiple extends boolean = false, Value = Multiple extends true ? string[] : string> {
|
69
69
|
/**
|
70
70
|
* The name of the input field in a native form.
|
71
71
|
*/
|
@@ -73,16 +73,16 @@ interface SelectOptions {
|
|
73
73
|
/**
|
74
74
|
* The value of the select field.
|
75
75
|
*/
|
76
|
-
value?:
|
76
|
+
value?: Value;
|
77
77
|
/**
|
78
78
|
* The initial value of the select field.
|
79
79
|
*/
|
80
|
-
defaultValue?:
|
80
|
+
defaultValue?: Value;
|
81
81
|
/**
|
82
82
|
* The callback invoked when the value of the select field changes.
|
83
83
|
* @param value The value of the select field.
|
84
84
|
*/
|
85
|
-
onChange?: (value:
|
85
|
+
onChange?: (value: Value) => void;
|
86
86
|
/**
|
87
87
|
* The placeholder text when there's no value.
|
88
88
|
*/
|
@@ -99,16 +99,17 @@ interface SelectOptions {
|
|
99
99
|
/**
|
100
100
|
* Enable multiple select.
|
101
101
|
*/
|
102
|
-
multiple?:
|
102
|
+
multiple?: Multiple;
|
103
103
|
/**
|
104
104
|
* The function used to render the value of the select field.
|
105
105
|
* @param value The value of the select field.
|
106
106
|
* @returns The rendered value.
|
107
107
|
*/
|
108
|
-
renderValue?: (value:
|
108
|
+
renderValue?: (value: Value) => React__default.ReactNode;
|
109
109
|
}
|
110
110
|
|
111
|
-
interface SelectProps extends Omit<MenuProps, 'children' | 'variant' | 'size'>, ThemingProps<'SuiSelect'>, SelectOptions {
|
111
|
+
interface SelectProps<Multiple extends boolean = false, Value = Multiple extends true ? string[] : string> extends Omit<MenuProps, 'children' | 'variant' | 'size'>, ThemingProps<'SuiSelect'>, SelectOptions<Multiple, Value> {
|
112
|
+
children: React$1.ReactNode;
|
112
113
|
}
|
113
114
|
interface SelectButtonProps extends Omit<ButtonProps, 'size' | 'variant'> {
|
114
115
|
}
|
@@ -123,7 +124,11 @@ declare const SelectButton: _chakra_ui_react.ComponentWithAs<"button", SelectBut
|
|
123
124
|
*
|
124
125
|
* @see https://saas-ui.dev/docs/components/forms/select
|
125
126
|
*/
|
126
|
-
declare const Select:
|
127
|
+
declare const Select: (<Multiple extends boolean = false>(props: SelectProps<Multiple> & {
|
128
|
+
ref?: React$1.ForwardedRef<HTMLFormElement>;
|
129
|
+
}) => React$1.ReactElement) & {
|
130
|
+
displayName?: string | undefined;
|
131
|
+
};
|
127
132
|
interface SelectListProps extends MenuListProps {
|
128
133
|
}
|
129
134
|
/**
|
@@ -169,7 +174,7 @@ declare const TextareaField: React$1.FC<Omit<src.BaseFieldProps<react_hook_form.
|
|
169
174
|
interface SwitchFieldProps extends SwitchProps {
|
170
175
|
}
|
171
176
|
declare const SwitchField: React$1.FC<Omit<src.BaseFieldProps<react_hook_form.FieldValues, string>, keyof SwitchFieldProps> & SwitchFieldProps>;
|
172
|
-
interface SelectFieldProps extends SelectProps {
|
177
|
+
interface SelectFieldProps extends SelectProps<boolean> {
|
173
178
|
buttonProps?: SelectButtonProps;
|
174
179
|
listProps?: SelectListProps;
|
175
180
|
}
|