Přepínání pohledů na tentýž záznam: řízené value/onChange, role tablist a šipky mezi taby.
value je řízené zvenčí, takže ho volající drží v URL. Vzor:const [params, setParams] = useSearchParams();
const view = params.get("view") ?? "overview";
<IngotTabs
items={ITEMS}
value={view}
onChange={(key) => setParams({ view: key }, { replace: true })}
>items: IngotTabItem[] — Pohledy: klíč, přeložený popisek a nepovinný počet záznamů.value: string — Klíč aktivního pohledu. Řízené zvenčí — typicky z URL volajícího.onChange: (key: string) => void — Přepnutí pohledu. Nemění scroll pozici stránky.children: ReactNode — Obsah aktivního pohledu — vykreslí se jako tabpanel svázaný s aktivním tabem.label: string — Přeložený aria-label seznamu tabů.testId: string — data-testid tablistu; tab dostane `${testId}-tab-${key}`.