Saltar al contenido
Logic2BUI

Buscar en la documentación

Busca componentes y documentación

Nuevo
Menú

Paneles redimensionables

Paneles divididos que pueden redimensionarse arrastrando en horizontal o vertical.

One
Two
Three

Instalación

npx logic2b@next add resizable

Uso

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

Header
Content

Tamaños limitados

Main

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.

JSX generado
<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.

Ver JSON

ResizablePanelGroup

Componente
Props: React.ComponentProps<typeof ResizablePanelGroupPrimitive> & { direction?: "horizontal" | "vertical" }
PropiedadTipoObligatoriaValor predeterminadoDescripción
direction"horizontal" | "vertical"No"horizontal"—

ResizablePanel

Componente
Props: React.ComponentProps<typeof ResizablePanelPrimitive>

ResizableHandle

Componente
Props: React.ComponentProps<typeof ResizableSeparatorPrimitive> & { withHandle?: boolean }
PropiedadTipoObligatoriaValor predeterminadoDescripción
withHandlebooleanNo——

Contrato de accesibilidad

Comportamiento legible por máquinas y responsabilidades de quien integra resizable. Los detalles normativos conservan el texto canónico del registro.

Ver JSON
Soporte
Gestionado por la primitiva
Patrón
separator
React Resizable Panels
Interacciones de teclado para resizable
TeclasComportamiento
ArrowUp ArrowDown ArrowLeft ArrowRightMove within the composite control.
Home EndMove 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.