Saltar al contenido
Logic2BUI

Buscar en la documentación

Busca componentes y documentación

Nuevo
Menú

Panel lateral

Extiende Dialog para mostrar contenido complementario al contenido principal de la pantalla.

Instalación

npx logic2b@next add sheet

Uso

import {
  Sheet,
  SheetContent,
  SheetDescription,
  SheetHeader,
  SheetTitle,
  SheetTrigger,
} from "@/components/ui/sheet"

<Sheet>
  <SheetTrigger>Abrir</SheetTrigger>
  <SheetContent side="right">
    <SheetHeader>
      <SheetTitle>Editar perfil</SheetTitle>
      <SheetDescription>Modifica aquí los datos de tu perfil.</SheetDescription>
    </SheetHeader>
  </SheetContent>
</Sheet>

Ejemplos

Desde cualquier lado

Panel de navegación

Accesibilidad

Sheet está construido sobre Dialog de Radix, por lo que hereda el comportamiento de diálogo modal WAI-ARIA.

  • El foco queda contenido dentro del panel mientras está abierto y vuelve al disparador al cerrarse.
  • Escape o un clic en la capa exterior cierran el panel.
  • El contenido situado detrás queda inerte y oculto para los lectores de pantalla.
  • Incluye un SheetTitle y, preferiblemente, un SheetDescription para etiquetar correctamente el diálogo.

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
<Sheet>
  <SheetTrigger
    className="rounded-md border px-4 py-2 text-sm font-medium"
  >Open settings</SheetTrigger>
  <SheetContent
    side="right"
  >
    <SheetHeader>
      <SheetTitle>Project settings</SheetTitle>
      <SheetDescription>Configure the generated registry output.</SheetDescription>
    </SheetHeader>
    <div
      className="p-4 text-sm"
    >Package name · output path · aliases</div>
    <SheetFooter>
      <SheetClose
        className="rounded-md border px-4 py-2 text-sm font-medium"
      >Save</SheetClose>
    </SheetFooter>
  </SheetContent>
</Sheet>

Referencia de API

Generada a partir de las exportaciones públicas de TypeScript en src/ui/sheet.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.

Ver JSON

Sheet

Componente
Props: React.ComponentProps<typeof SheetPrimitive.Root>

SheetTrigger

Componente
Props: React.ComponentProps<typeof SheetPrimitive.Trigger>

SheetClose

Componente
Props: React.ComponentProps<typeof SheetPrimitive.Close>

SheetContent

Componente
Props: React.ComponentProps<typeof SheetPrimitive.Content> & VariantProps<typeof sheetVariants>
PropiedadTipoObligatoriaValor predeterminadoDescripción
sidenull | "top" | "bottom" | "left" | "right"No"right"—

SheetHeader

Componente
Props: React.ComponentProps<"div">

SheetFooter

Componente
Props: React.ComponentProps<"div">

SheetTitle

Componente
Props: React.ComponentProps<typeof SheetPrimitive.Title>

SheetDescription

Componente
Props: React.ComponentProps<typeof SheetPrimitive.Description>

Contrato de accesibilidad

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

Ver JSON
Soporte
Gestionado por la primitiva
Patrón
modal dialog
Radix Dialog
Interacciones de teclado para sheet
TeclasComportamiento
EscapeClose the open surface and restore focus.
Tab Shift+TabCycle focus inside the sheet.

Semántica incorporada

  • Uses dialog semantics with focus trapping/restoration and title/description linkage.

Responsabilidades de integración

  • Render SheetTitle and provide a labelled close control.