Navegación@unozero-ai/ui

Accordion

Secciones plegables para contenido que no hace falta ver entero.

Usar

import {
  Accordion,
  AccordionItem,
} from "@unozero-ai/ui/react";

<Accordion></Accordion>

Básico

Para contenido que se consulta por partes y no hace falta leer entero, como las preguntas frecuentes del hotel. Por defecto se pueden abrir varias secciones a la vez. No escondas en un acordeón lo que el usuario necesita para decidir, como el precio o la política de cancelación. Para cambiar entre vistas, usa Tabs.

items sirve cuando título y contenido son texto. Desde React no admite nodos: para contenido rico, escribe las secciones como hijos AccordionItem, como en los ejemplos de abajo. Sigue el patrón accordion de la APG: Enter o Espacio abren y cierran, ↑/↓ pasan de cabecera en cabecera e Inicio/Fin van a los extremos.

Una a la vez

Con single, abrir una sección cierra la anterior. Úsalo cuando las secciones son alternativas y el usuario solo necesita una, como las indicaciones para llegar según el transporte. Si tiene que compararlas, ponlas una al lado de la otra. Cada AccordionItem lleva su value y su heading (antes, id y title).

40 minutos en taxi por la vía al mar. Con 24 horas de aviso, te recogemos por COP 90.000.Toma la salida 12 hacia El Laguito y sigue 2 km por la avenida costera. El parqueadero está a la izquierda.Bájate en la estación Bocagrande. El hotel está a dos cuadras, frente a la playa.

Abierta de inicio, con icono

default-open recibe, en JSON, los value que se abren de entrada; se lee solo al montarse. Con SSR (Next) pásalo como atributo, como aquí: la prop defaultOpen llega después del primer render del elemento y no abre nada (hueco del kit); en una app solo de cliente, la prop vale. Para abrir o cerrar una sección después, cambia su open, y escucha su onToggle, que recibe { value, open }. El icono va en el slot icon y un título con marcado en el slot heading: un estado puede ir como Badge en la cabecera y verse sin abrir la sección. La cabecera es un botón dentro de un encabezado de nivel 3 (level lo cambia).

Cambia frente al kit React: cerrada, una sección queda oculta de verdad, y ni el foco ni el lector de pantalla entran en ella. Aun así, deja fuera las acciones que el usuario tiene que encontrar sin buscar.

Nombre
Laura Gómez Restrepo
Documento
CC 1.020.384.511
Llegada
18 nov, hacia las 22:00
Pago Anticipo pendiente
Total
COP 1.260.000
Anticipo (30 %)
COP 378.000
Vence
14 nov a las 23:59
Pidió cuna para un bebé de 8 meses. Aniversario de bodas: dejar una nota en la habitación.

API

Generada del custom-elements.json que publica @unozero-ai/ui. Las partes se estilan desde tu CSS con el nombre del elemento: uz-button::part(base).

Accordion · <uz-accordion>

PropTipoDefectoDescripción
itemsAccordionItemData[][]Secciones como datos, alternativa a los hijos <uz-accordion-item>.
singlebooleanfalseAbrir una sección cierra la anterior.
defaultOpenstring[][]Valores de las secciones abiertas de entrada; se aplica una sola vez.
SlotDescripción
(por defecto)Elementos <uz-accordion-item>.
Parte CSSDescripción
uz-accordion::part(base)El contenedor con borde.

AccordionItem · <uz-accordion-item>

PropTipoDefectoDescripción
valuestring""Identificador de la sección (el que usan default-open y uz-toggle).
headingstring""Título de la cabecera (alternativa al slot heading).
openbooleanfalseAbierta o cerrada; se puede cambiar desde fuera.
disabledbooleanfalseLa cabecera no se puede pulsar.
levelnumber3Nivel del encabezado que envuelve la cabecera.
EventoDescripción
onToggle{ value, open } al abrir o cerrar con la cabecera.
SlotDescripción
(por defecto)El contenido.
headingTítulo rico (alternativa a heading), p. ej. con una insignia.
iconIcono delante del título.
Parte CSSDescripción
uz-accordion-item::part(header)El botón de la cabecera.
uz-accordion-item::part(panel)El panel.
MétodoDescripción
toggle()Abre o cierra como un clic en la cabecera, y emite uz-toggle.