@saas-ui/forms 2.5.4 → 2.6.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/CHANGELOG.md +17 -5
- package/dist/index.d.mts +13 -8
- package/dist/index.d.ts +13 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- 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,17 @@
|
|
1
1
|
# @saas-ui/forms
|
2
2
|
|
3
|
+
## 2.6.0
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- 9fe1899: Improved Select types, value type is now string or string[] depending on the multiple prop
|
8
|
+
|
9
|
+
### Patch Changes
|
10
|
+
|
11
|
+
- Updated dependencies [e75e99b]
|
12
|
+
- Updated dependencies [e75e99b]
|
13
|
+
- @saas-ui/core@2.5.0
|
14
|
+
|
3
15
|
## 2.5.4
|
4
16
|
|
5
17
|
### Patch Changes
|
@@ -1164,12 +1176,12 @@
|
|
1164
1176
|
Add this somewhere in the root of your project.
|
1165
1177
|
|
1166
1178
|
```ts
|
1167
|
-
import { Form } from
|
1168
|
-
import { yupResolver, yupFieldResolver } from
|
1169
|
-
import { AnyObjectSchema } from
|
1179
|
+
import { Form } from '@saas-ui/react'
|
1180
|
+
import { yupResolver, yupFieldResolver } from '@saas-ui/forms/yup' // yupResolver is exported from here as well for convenience.
|
1181
|
+
import { AnyObjectSchema } from 'yup'
|
1170
1182
|
|
1171
|
-
Form.getResolver = (schema: AnyObjectSchema) => yupResolver(schema)
|
1172
|
-
Form.getFieldResolver = (schema: AnyObjectSchema) => yupFieldResolver(schema)
|
1183
|
+
Form.getResolver = (schema: AnyObjectSchema) => yupResolver(schema) // @hookform/resolvers
|
1184
|
+
Form.getFieldResolver = (schema: AnyObjectSchema) => yupFieldResolver(schema) // AutoForm field resolver
|
1173
1185
|
```
|
1174
1186
|
|
1175
1187
|
- 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
|
/**
|
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
|
/**
|