blob: ff37fb197e37d2ad18dcf2fd941d5ea677d487b4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import { Box, ToggleGroup, ToggleGroupItem } from '@umami/react-zen';
import { useState } from 'react';
export interface FilterButtonsProps {
items: { id: string; label: string }[];
value: string;
onChange?: (value: string) => void;
}
export function FilterButtons({ items, value, onChange }: FilterButtonsProps) {
const [selected, setSelected] = useState(value);
const handleChange = (value: string) => {
setSelected(value);
onChange?.(value);
};
return (
<Box>
<ToggleGroup
value={[selected]}
onChange={e => handleChange(e[0])}
disallowEmptySelection={true}
>
{items.map(({ id, label }) => (
<ToggleGroupItem key={id} id={id}>
{label}
</ToggleGroupItem>
))}
</ToggleGroup>
</Box>
);
}
|