jotis.meRegula

Notification

Aviso flotante y temporal (toast) tras una acción del usuario, de 320px de ancho.

Cuándo usarlo

Props. Las de Alert. Sombra shadow-lg y borde border-secondary_alt. Se coloca abajo a la derecha, apilado, y se cierra solo a los ~6 s salvo que tenga acciones.

Cierre automático. Si tiene onClose y no tiene actions, llama a onClose a los 6 s. El tiempo se para mientras el ratón está encima o el foco dentro, para que dé tiempo a leerla. autoClose cambia los milisegundos o, con false, lo quita (ampliación sobre la guía).

Colocación. El componente es el aviso; colocarlo abajo a la derecha y apilar varios lo hace la app, por ejemplo con un contenedor fixed bottom-4 right-4 flex flex-col gap-3.

Accesibilidad. Como Alert: status, o alert si es un error. Con acciones no se cierra sola, porque el usuario necesita tiempo para elegir.

Ejemplos

Pago registrado
Has añadido 42,50 € a Suscripciones.

Props

PropTipoPor defectoDescripción
autoClosenumber | false6000Milisegundos hasta cerrarse sola (llama a onClose), o false para que no se cierre. Solo cuenta si hay onClose y no hay actions; el tiempo se para mientras el ratón está encima o el foco dentro. Ampliación sobre la guía.
color"gray" · "brand" · "error" · "warning" · "success""gray"El color va solo en el icono: el texto sigue en text-secondary / text-tertiary.
titleobligatoriaReactNode—
descriptionReactNode—
actionsReactNode—Botones link-gray + link-color.
onClose(() => void)—Muestra la X para descartarlo.
closeLabelstring"Descartar"Nombre de la X.
iconIconName—Icono propio. Por defecto, uno según el color (alert-circle en error, check-circle en éxito…).
classNamestring—

Código

import { Notification } from "@jotis-me/react";

export default function Page() {
	return (
		<>
			<Notification
				color="success"
				title="Pago registrado"
				description="Has añadido 42,50 € a Suscripciones."
				onClose={quitarAviso}
			/>
		</>
	);
}

onClose es una función y el cierre automático necesita JavaScript: úsalo dentro de una isla .tsx con client:load.