import { RtButton } from '@dpa/react-buttons'; import { RtFrame } from '@dpa/react-frame-intro'; import { RtText } from '@dpa/react-text'; import { useState } from 'react'; type TogglerParams = { label?: string; value: T; values: T[]; change: (value: T) => void; }; export const useToggler = (params: { initialValue: T; label?: string; values: TogglerParams['values']; onChange?: () => void; }): TogglerParams => { const [value, setValue] = useState(params.initialValue); return { value, values: params.values, label: params.label, change: (value: T) => { setValue(value); params.onChange?.(); }, }; }; export const Toggler = (props: { options: TogglerParams; }) => { return (
{props.options.label}
{props.options.values.map((item) => ( props.options.change(item)} use={item === props.options.value ? 'primary' : 'neutral'} /> ))}
); };