// components/ui/ButtonGroup.tsx 'use client'; import * as React from 'react'; import clsx from 'clsx'; export type ButtonGroupOption = { value: string; label: React.ReactNode; icon?: React.ReactNode; }; type ButtonGroupProps = { options: ButtonGroupOption[]; value: string; onChange?: (next: string) => void; className?: string; /** Wenn true: nur Anzeige, keine Klicks */ readOnly?: boolean; }; export default function ButtonGroup({ options, value, onChange, className, readOnly = false, }: ButtonGroupProps) { return ( {options.map((opt, idx) => { const isFirst = idx === 0; const isLast = idx === options.length - 1; const isActive = opt.value === value; // aktuell nur für aria, nicht für Style return ( ); })} ); }