Saltar al contenido
Logic2BUI

Buscar en la documentación

Busca componentes y documentación

Nuevo
Menú

Elemento

Contenedor flexible para título, descripción y acciones; agrúpalo con ItemGroup para crear una lista de entradas compuestas.

Basic Item

A simple item with title and description.

Your profile has been verified.

Instalación

npx logic2b@next add item

Uso

import {
  Item,
  ItemActions,
  ItemContent,
  ItemDescription,
  ItemMedia,
  ItemTitle,
} from "@/components/ui/item"
import { Button } from "@/components/ui/button"

<Item variant="outline">
  <ItemContent>
    <ItemTitle>Elemento básico</ItemTitle>
    <ItemDescription>Un elemento sencillo con título y descripción.</ItemDescription>
  </ItemContent>
  <ItemActions>
    <Button variant="outline" size="sm">Acción</Button>
  </ItemActions>
</Item>

Usa asChild para generar el elemento como su nodo hijo, por ejemplo un <a>, en vez de un div. Así toda la fila se convierte en enlace sin alterar su distribución.

Ejemplos

Agrupado, con separadores e iconos

Envuelve los elementos en ItemGroup e intercala un ItemSeparator para crear una lista similar a la de ajustes. ItemMedia variant="icon" añade al icono inicial un fondo cuadrado atenuado; variant="image" dimensiona y recorta un <img> del mismo modo para contenido similar a un avatar.

Notifications

Get notified about account activity.

Two-factor authentication

Require a code at every sign-in.

Billing alerts

Email me before a renewal charge.

Partes

Componente Uso
Item Raíz de la fila o tarjeta: contenedor flexible de las demás partes.
ItemGroup Agrupa visualmente elementos con semántica neutra; combínalo con ItemSeparator.
ItemSeparator Línea horizontal entre elementos agrupados.
ItemMedia Icono, imagen o avatar inicial.
ItemContent Envuelve ItemTitle y ItemDescription; varios bloques no crecen dentro de un mismo Item.
ItemTitle Línea de título del elemento.
ItemDescription Texto complementario limitado a dos líneas.
ItemActions Botones, interruptores o iconos finales.
ItemHeader / ItemFooter Filas opcionales de ancho completo antes o después del contenido principal.

Accesibilidad

ItemGroup es semánticamente neutro por defecto porque no todos los grupos compuestos son listas. Para contenido que sí lo sea, pasa role="list" a ItemGroup y role="listitem" a cada Item. Si un Item es interactivo, usa asChild y genera un <a> o <button> real como nodo hijo; no añadas onClick a un <div> sin semántica, que los lectores de pantalla y métodos de entrada nativos no reconocerán como accionable. Asigna un nombre accesible a cada botón de icono o interruptor final.

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
<Item
  variant="outline"
  size="default"
>
  <ItemContent>
    <ItemTitle>Registry release</ItemTitle>
    <ItemDescription>Versioned source and accessibility metadata are ready.</ItemDescription>
  </ItemContent>
  <ItemActions>
    <span
      className="rounded-full bg-muted px-2 py-1 text-xs"
    >Ready</span>
  </ItemActions>
</Item>

Referencia de API

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

Ver JSON

Item

Componente
Props: React.ComponentProps<"div"> & VariantProps<typeof itemVariants> & { asChild?: boolean }
PropiedadTipoObligatoriaValor predeterminadoDescripción
variantnull | "default" | "outline" | "muted"No"default"—
sizenull | "default" | "sm"No"default"—
asChildbooleanNofalse—

ItemMedia

Componente
Props: React.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>
PropiedadTipoObligatoriaValor predeterminadoDescripción
variantnull | "image" | "default" | "icon"No"default"—

ItemContent

Componente
Props: React.ComponentProps<"div">

ItemActions

Componente
Props: React.ComponentProps<"div">

ItemGroup

Componente
Props: React.ComponentProps<"div">

ItemSeparator

Componente
Props: React.ComponentProps<typeof Separator>

ItemTitle

Componente
Props: React.ComponentProps<"div">

ItemDescription

Componente
Props: React.ComponentProps<"p">

ItemHeader

Componente
Props: React.ComponentProps<"div">

ItemFooter

Componente
Props: React.ComponentProps<"div">

Contrato de accesibilidad

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

Ver JSON
Soporte
Contrato de composición
Patrón
content item
HTML div

Semántica incorporada

  • Preserves the semantics of nested headings, links and buttons without imposing a role.

Responsabilidades de integración

  • Choose list/listitem, article or link semantics at the composition boundary when the surrounding collection requires them.