Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/feedback

ConfirmDialog

Diálogo de confirmación ya armado, con título, descripción y dos botones, en variante neutra o de peligro.

214 sitios de import en 7 de 15 verticales — un archivo que la importa cuenta una vez, monte una instancia o veinte.

  • TheCharterPanel
  • carlosmartinpavon
  • cmp-packages
  • dietaly
  • gestorsalon
  • luigi
  • raquetea

El componente, montado

Cargando el espécimen…

Cómo se usa

import { ConfirmDialog } from '@solu30/ui-kit/feedback'

Props

11 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
isOpensíboolean—
onConfirmsí() => void—
onCancelsí() => void—
titlesístring—
descriptionopcionalReactNode—
variantopcional"default" | "danger" | "warning"—
confirmLabelopcionalstring—
cancelLabelopcionalstring—
loadingopcionalboolean—
iconopcionalReactNode—
manageHistoryopcionalbooleanSi este diálogo maneja su propia entrada de `window.history` (pushState al abrir, "atrás" lo cierra). Default `true` — sin cambios de comportamiento para consumidores existentes. Poné `false` cuando `isOpen`/`onCancel` YA están sincronizados con la URL de la app (Next.js App Router: `?param=` + `router.push`/`searchParams`), o cuando el diálogo se abre ANIDADO dentro de un overlay URL-driven — en ambos casos el pushState propio del kit mete una entrada espuria en el historial y "atrás" necesita un press de más para cerrar lo de afuera (ADR-262). @default true

Ejemplo del paquete

// Ya trae los dos botones: no se le pasan children.
<ConfirmDialog
  isOpen={porBorrar !== null}
  variant="danger"
  title="¿Borrar la reserva?"
  description="No se puede deshacer."
  confirmLabel="Borrar"
  loading={borrando}
  onConfirm={borrar}
  onCancel={() => setPorBorrar(null)}
/>

Del @example del JSDoc de @solu30/ui-kit, sin editar: son 65 de los 541 símbolos. La sangría y los renglones en blanco son los del paquete.