Instalación
npx logic2b@next add resizableUso
import {
ResizableHandle,
ResizablePanel,
ResizablePanelGroup,
} from "@/components/ui/resizable"
<ResizablePanelGroup direction="horizontal" className="h-64">
<ResizablePanel defaultSize="40%">Uno</ResizablePanel>
<ResizableHandle withHandle />
<ResizablePanel defaultSize="60%">Dos</ResizablePanel>
</ResizablePanelGroup>
Notas de uso
Construido sobre react-resizable-panels
v4. Este registry envuelve sus exportaciones Group, Panel y Separator como
ResizablePanelGroup, ResizablePanel y ResizableHandle, y mantiene la
propiedad conocida direction —asignada internamente a orientation— para
preservar la estabilidad de la API entre versiones de la dependencia.
Los paneles ocultan el desbordamiento implícito por defecto para que un
envoltorio interno de la biblioteca no se convierta en una región desplazable
sin nombre ni acceso por teclado. Si el contenido debe desplazarse, añade tu
propio contenedor overflow-auto dentro del panel, asígnale un nombre accesible
y usa tabIndex={0}.
Ejemplos
Vertical
Tamaños limitados
Playground interactivo
Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.
<ResizablePanelGroup
direction="horizontal"
>
<ResizablePanel
defaultSize={40}
>
<div
className="flex h-full items-center justify-center bg-muted/40 text-sm"
>Navigation</div>
</ResizablePanel>
<ResizableHandle
withHandle
/>
<ResizablePanel
defaultSize={60}
>
<div
className="flex h-full items-center justify-center text-sm"
>Content</div>
</ResizablePanel>
</ResizablePanelGroup>Referencia de API
Generada a partir de las exportaciones públicas de TypeScript en src/ui/resizable.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.
ResizablePanelGroup
ComponenteProps: React.ComponentProps<typeof ResizablePanelGroupPrimitive> & { direction?: "horizontal" | "vertical" }| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
direction | "horizontal" | "vertical" | No | "horizontal" | — |
ResizablePanel
ComponenteProps: React.ComponentProps<typeof ResizablePanelPrimitive>ResizableHandle
ComponenteProps: React.ComponentProps<typeof ResizableSeparatorPrimitive> & { withHandle?: boolean }| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
withHandle | boolean | No | — | — |
Contrato de accesibilidad
Comportamiento legible por máquinas y responsabilidades de quien integra resizable. Los detalles normativos conservan el texto canónico del registro.
- Soporte
- Gestionado por la primitiva
- Patrón
- separator
- React Resizable Panels
| Teclas | Comportamiento |
|---|---|
| ArrowUp ArrowDown ArrowLeft ArrowRight | Move within the composite control. |
| Home End | Move the separator to its supported extent. |
Semántica incorporada
- Handles expose separator semantics, orientation and value information.
Responsabilidades de integración
- Give handles an accessible label when adjacent panel context is ambiguous.