import { Fragment, type ReactNode } from "react"; type Option = { value: T; label: string; href?: string }; // ссылка по умолчанию — ; в приложении с роутером передай link={(p) => } export type LinkRender = (p: { href: string; className: string; "aria-current"?: "page"; children: ReactNode }) => ReactNode; const plainLink: LinkRender = ({ href, ...rest }) => ; // переключатель на сером треке: кнопки (role=radio) или ссылки разделов (aria-current) export function Segmented({ label, value, options, onChange, link = plainLink }: { label: string; value: T | null; options: Option[]; onChange?(v: T): void; link?: LinkRender; }) { if (options.some((o) => o.href)) { return ( ); } return (
{options.map((o) => ( ))}
); }