Skip to content

Commit 87362e2

Browse files
committed
fix: prop for multiple needs to change to be valid
1 parent dff70e7 commit 87362e2

File tree

2 files changed

+33
-9
lines changed

2 files changed

+33
-9
lines changed

src/Chip/Chip.stories.tsx

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ export const Primary: Story = {
2525
},
2626
};
2727

28-
export const ChipGroup: StoryGroup = {
28+
export const ChipGroupSingle: StoryGroup = {
2929
render: (args) => (
30-
<Chip.Group multiple {...args}>
30+
<Chip.Group {...args}>
3131
<Chip.Item value="react">React</Chip.Item>
3232
<Chip.Item value="ng">Angular</Chip.Item>
3333
<Chip.Item value="svelte">Svelte</Chip.Item>
@@ -37,6 +37,28 @@ export const ChipGroup: StoryGroup = {
3737
args: {
3838
name: "test",
3939
},
40+
parameters: {
41+
form: {
42+
defaultValues: {
43+
test: "react",
44+
},
45+
},
46+
},
47+
};
48+
49+
export const ChipGroupMultiple: StoryGroup = {
50+
render: (args) => (
51+
<Chip.Group {...args}>
52+
<Chip.Item value="react">React</Chip.Item>
53+
<Chip.Item value="ng">Angular</Chip.Item>
54+
<Chip.Item value="svelte">Svelte</Chip.Item>
55+
<Chip.Item value="vue">Vue</Chip.Item>
56+
</Chip.Group>
57+
),
58+
args: {
59+
name: "test",
60+
multiple: true,
61+
},
4062
parameters: {
4163
form: {
4264
defaultValues: {

src/Chip/Chip.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ import {
1111

1212
export type ChipProps<T extends FieldValues> = UseControllerProps<T> &
1313
Omit<$ChipProps, "value" | "defaultValue">;
14-
export type ChipGroupProps<T extends FieldValues> = UseControllerProps<T> &
15-
Omit<$ChipGroupProps, "value" | "defaultValue">;
14+
export type ChipGroupProps<
15+
T extends FieldValues,
16+
V extends boolean
17+
> = UseControllerProps<T> & Omit<$ChipGroupProps<V>, "value" | "defaultValue">;
1618

1719
export function Chip<T extends FieldValues>({
1820
name,
@@ -47,18 +49,18 @@ export function Chip<T extends FieldValues>({
4749
);
4850
}
4951

50-
Chip.Group = <T extends FieldValues>({
52+
Chip.Group = <T extends FieldValues, V extends boolean>({
5153
name,
5254
control,
5355
defaultValue,
5456
rules,
5557
shouldUnregister,
5658
onChange,
5759
...props
58-
}: ChipGroupProps<T>) => {
60+
}: ChipGroupProps<T, V>) => {
5961
const {
60-
field: { value, onChange: fieldOnChange, ...field },
61-
} = useController({
62+
field: { value, onChange: fieldOnChange, ref, ...field },
63+
} = useController<T>({
6264
name,
6365
control,
6466
defaultValue,
@@ -67,7 +69,7 @@ Chip.Group = <T extends FieldValues>({
6769
});
6870

6971
return (
70-
<$Chip.Group
72+
<$Chip.Group<V>
7173
value={value}
7274
onChange={(e) => {
7375
fieldOnChange(e);

0 commit comments

Comments
 (0)