Diálogos, hojas, tooltips, menús y la paleta de comandos. Todo lo que interrumpe al usuario está acá, y todo lo que interrumpe devuelve el foco al cerrarse.
Información
El preset se importa una sola vez, en el globals.css del host.
Confirmado
La reserva quedó registrada y el salón se marcó como ocupado.
Revisar
Hay dos eventos superpuestos en la misma franja horaria.
No se pudo guardar
El período de facturación ya está cerrado.
Pronóstico
Sábado con 60% de probabilidad de lluvia — avisale al cliente de la carpa.
Reserva #482
Seña recibida, cupo confirmado para 180 invitados.
Disponibilidad
Quedan 2 lanchas para el charter del domingo — no reservar una tercera salida.
Cobro rechazado
La tarjeta terminada en 4021 rechazó la seña de $45.000.
Beta
El heladero ya puede subir fotos del local desde WhatsApp.
Sin ícono default, tamaño lg, con botón de cerrar.
Margen por combo (heladería)
No monta su propio ToastProvider — usa el que ya vive en el layout raíz de la app.
20 piezas de Respuesta que GestorSalon usa y esta galería no mostraba
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.
SheetRoot
@solu30/ui-kit/feedback125 usos · 106 archivos
El panel lateral en piezas: raíz controlada, disparador, contenido en portal, encabezado, título, descripción y pie. Se elige sobre `Sheet` cuando el pie no puede viajar con el scroll del cuerpo, o cuando el encabezado lleva acciones propias.
open ×125
onOpenChange ×125
Las otras seis partes del panel compuesto
Todas salen del mismo import y todas están en el espécimen de arriba. Van acá y no en seis fichas separadas porque ninguna se usa sola: SheetTitle fuera de SheetContent no tiene dónde renderizarse.
Símbolo
De dónde
Usos
Props que le pasa GestorSalon
SheetContent
@solu30/ui-kit/feedback
125
className ×123 · side ×106 · showCloseButton ×22
SheetHeader
@solu30/ui-kit/feedback
121
className ×91
SheetTitle
@solu30/ui-kit/feedback
125
className ×69
SheetDescription
@solu30/ui-kit/feedback
82
className ×25
SheetFooter
@solu30/ui-kit/feedback
32
className ×29
SheetTrigger
@solu30/ui-kit/feedback
3
asChild ×3 · className ×2
TooltipRoot
@solu30/ui-kit/feedback70 usos · 41 archivos
El tooltip en piezas. `Tooltip` —el todo-en-uno que esta galería ya mostraba— no deja poner markup adentro ni cambiar la demora por instancia; la versión compuesta sí, y es la que GestorSalon usa en sus 41 archivos.
Las otras tres partes del tooltip compuesto
`TooltipProvider` va una sola vez por árbol: es el que sostiene la demora compartida para que pasar de un tooltip al de al lado no vuelva a esperar.
Símbolo
De dónde
Usos
Props que le pasa GestorSalon
TooltipTrigger
@solu30/ui-kit/feedback
70
asChild ×70
TooltipContent
@solu30/ui-kit/feedback
70
side ×49 · className ×37
TooltipProvider
@solu30/ui-kit/feedback
34
delayDuration ×1
Command
@solu30/ui-kit/feedback8 usos · 7 archivos
Las primitivas de la paleta de comandos, sin el diálogo. La galería mostraba `CommandPalette`, que trae su propio modal y su propio atajo de teclado; estas siete piezas son las que se usan para armar un buscador embebido dentro de un panel — un selector de salón, un cambiador de sucursal — donde un modal encima de otro modal no va.
className ×3
Salones
Los Álamos
Del Bosque
La Terraza
Acciones
Nueva reserva
Cargar seña
Imprimir contrato
Escribí para filtrar; el filtrado lo hace Command, no el consumidor.
Las otras seis primitivas de Command
El filtrado por texto lo hace `Command` internamente: `CommandItem` se esconde solo cuando su `value` no coincide. Un consumidor que además filtra su propio arreglo filtra dos veces.
El singleton imperativo. Es el símbolo del kit que más archivos importan en todo GestorSalon —295— y la galería no lo mostraba porque el espécimen viejo usa `useToast`, que es la misma cosa por otro camino y sólo sirve adentro de un componente.
Sin hook y sin contexto: se importa y se llama. Por eso aparece en 295 archivos de GestorSalon — sirve dentro de un handler de mutación, de un helper de red o de cualquier módulo que no sea un componente, donde `useToast` no se puede llamar.
Lo que queda de la familia
Una pieza sola, y con una demostración que sería un duplicado: `DialogClose` sólo existe adentro de un `Dialog`, que esta galería ya monta en su propia matriz.