componente · @solu30/ui-kit/navigation
DetailSheetTabs
El componente, montado
Cargando el componente del paquete instalado…
Cargando el chunk del paquete instalado…
De dónde se importa
import { DetailSheetTabs } from '@solu30/ui-kit/navigation'Props
| Prop | Requerida | Tipo | Qué hace |
|---|---|---|---|
| tabs | sí | Array<TabItem$1 & { | — |
| key | sí | T | — |
| activeTab | sí | T | — |
| onTabChange | sí | (tab: T) => void | — |
| children | sí | ReactNode | — |
| barBackgroundClassName | opcional | string | Background of the sticky tab bar. MUST be opaque and match the real background of the panel wrapping this component — a mismatch shows the bar as a floating band detached from the content while scrolling. Default `'bg-container'` (the background of `@cmp/ui-kit`'s `<Sheet>`). |
| scrollContainerRef | opcional | RefObject<HTMLElement | null> | Explicit scroll container to reset on tab change. When omitted, walks up from the root looking for the nearest ancestor with `overflow-y: auto` or `scroll` (covers `<Sheet>` without any internal-className coupling). Pass this when the host has no such ancestor (e.g. a custom overlay). |
| divider | opcional | boolean | Pass-through to `Tabs`: `false` removes the full-width baseline under the tab list (the animated per-tab indicator stays). Default `true`. |
Ejemplo del paquete
<Sheet open={open} onOpenChange={setOpen}>
<DetailSheetTabs tabs={tabs} activeTab={tab} onTabChange={setTab}>
{tab === "info" ? <InfoPanel /> : <HistoryPanel />}
</DetailSheetTabs>
</Sheet>Del @example del JSDoc de @solu30/ui-kit, sin editar. Cuatro de los 69 ejemplos del paquete traen pegada la firma cruda del .d.ts —el mismo defecto del extractor que se come las descripciones—, y por eso la caja tiene tope de alto: el ejemplo de verdad suele estar al final.