ScrollArea
@solu30/ui-kit44 usos · 29 archivosÁrea con barra de scroll propia, coherente entre navegadores y con el tema. Sólo existe en la raíz del paquete: el subpath `display` no la expone.
- className ×44
Tarjetas, métricas, estados vacíos, avatares, líneas de tiempo y los 72 íconos propios. Es la familia más grande porque es la que más se repite entre verticales: una métrica se ve igual en un salón de eventos que en una heladería.
Ocupación
87%
▲+12%vs. mes anterior
Reservas
148
▲+9agosto
Cancelaciones
6
▼-2agosto
Cuando entre la primera, aparece acá con su ficha completa.
default
elevated
outline
bordered
solid
padding none
padding sm
padding md
padding lg
Sábado 21:00 · 180 invitados
Salón principal + terraza. Catering incluido, DJ a cargo del cliente.
Creada
14 ago, 10:05 a. m. • Diego Reynoso
Reserva creada para el charter Náutica del Sur, 8 pasajeros.
Cambio de estado
15 ago, 09:12 a. m. • Lucía FaríasCliente avisado
Editada
16 ago, 06:40 p. m. • Diego Reynoso
Cancelada
17 ago, 08:00 a. m. • Sistema
Cancelada automáticamente — no se acreditó la seña en 48h.
Ocupación del salón
87%
▲12%vs. julioagosto, fines de semana
Salidas canceladas
3
▼2%por clima, agosto
Medido, no elegido: sale de cruzar los 254 símbolos del kit que aparecen en el código de GestorSalon contra los que estos especímenes montaban. Cada ficha trae el especificador de import y las props que el producto realmente le pasa.
@solu30/ui-kit44 usos · 29 archivosÁrea con barra de scroll propia, coherente entre navegadores y con el tema. Sólo existe en la raíz del paquete: el subpath `display` no la expone.
@solu30/ui-kit/display2 usos · 2 archivosEl punto de estado con cinco valores semánticos y pulso opcional. Ojo con `label`: es el `aria-label` del punto, no un texto visible — la pieza no renderiza ni un carácter. `disableAnimation` apaga el pulso sin sacar el punto, para las tablas largas donde veinte puntos latiendo son ruido.
El punto late sólo en `active`, y deja de latir solo con «movimiento reducido» activado — medido en la página con las dos preferencias, no supuesto.
@solu30/ui-kit/display1 usos · 1 archivosEl encabezado de sección con ícono, insignia, descripción y acción a la derecha. `SectionEyebrow` es la línea de contexto que va arriba; `SectionCard` es la sección entera, plegable, con su propio encabezado.
Ordenadas por fecha de evento, no por fecha de carga.
Ofelia Vera · ofelia@ejemplo.com · +54 351 555 0142
@solu30/ui-kit4 usos · 3 archivosInsignia de porcentaje que elige su propio color según dos umbrales. Sólo en la raíz del paquete.
El verde y el rojo los decide la propia pieza a partir de `thresholds` (20 y 50 por defecto). Es la diferencia con un `Badge` al que hay que pasarle el color: acá el criterio de «qué es poco» vive en un solo lugar y no en cada pantalla.
@solu30/ui-kit10 usos · 10 archivosTexto con degradado, pedido por clases de Tailwind. Sólo en la raíz del paquete.
`from` y `to` son clases de Tailwind, no colores escritos a mano. Por eso el degradado sigue al tema del vertical: en GestorSalon arranca en su verde, acá en el acento de este sitio, y nadie tuvo que duplicar la definición para el modo oscuro.
@solu30/ui-kit/display5 usos · 1 archivosBloque de código monoespaciado con su propio fondo. Lo usa la pantalla de importación de GestorSalon para mostrar el formato de archivo esperado.
import { SheetRoot } from '@solu30/ui-kit/feedback'@solu30/ui-kit/display11 usos · 11 archivosEl esqueleto del encabezado de página mientras cargan los datos. Once archivos de GestorSalon lo usan: es el que evita que el título salte cuando llega la respuesta.
El esqueleto del encabezado de página, con la misma altura que el encabezado real. Es la pieza que evita el salto de layout cuando llegan los datos.
@solu30/ui-kit5 usos · 5 archivosEl ancho máximo de una pantalla de tablero, como componente. Sólo en la raíz del paquete.
Toda la API son tres valores: 5xl (el de acá, y el que viene por defecto), 6xl y 7xl. Que sean tres y no cualquier clase de Tailwind es el punto: el ancho de una pantalla de tablero deja de ser una decisión que se toma otra vez en cada página.
`SectionEyebrow` y `SectionCard` están montadas en el espécimen de encabezados de arriba. `Lightbox` toma la pantalla completa: montarlo en una galería significa que quien pasa el mouse se come un visor a pantalla completa sin haberlo pedido. `DynamicIcon` resuelve el ícono por nombre en tiempo de ejecución contra el paquete de íconos, y una demo suya es una lista de nombres, no una pieza. Los dos últimos no se renderizan porque no son valores: son los tipos con los que se declaran las props de `Badge` y la acción de un `EmptyState`.
| Símbolo | De dónde | Usos | Props que le pasa GestorSalon |
|---|---|---|---|
| SectionEyebrow | @solu30/ui-kit/display | 2 | variant ×2 |
| SectionCard | @solu30/ui-kit/display | 1 | icon ×1 · title ×1 · subtitle ×1 · collapsible ×1 · defaultCollapsed ×1 · className ×1 |
| Lightbox | @solu30/ui-kit/display | 1 | photos ×1 · selectedIndex ×1 · onClose ×1 · onNavigate ×1 · alt ×1 |
| DynamicIcon | @solu30/ui-kit/dynamic-icon | 1 | name ×1 · icons ×1 · className ×1 |
| BadgeProps | sólo tipo | 0 | — |
| EmptyStateAction | sólo tipo | 0 | — |