export interface ChipRailItem { id: string; label: string; } export interface ChipRailProps { items: ChipRailItem[]; /** * The id of the selected item. There is always exactly one — the rail has no * empty state, because "no filter" is itself one of the items. */ selected: string; onSelect: (id: string) => void; /** The group's accessible name — "Symptoms", "What it is for". */ label?: string; className?: string; } export function ChipRail({ items, selected, onSelect, label, className }: ChipRailProps) { return (