@achs/webkit
Version:
Conjunto de componentes de UI con el estilo del Sistema de Diseño ACHS (Asociación Chilena de Seguridad), para reutilizar de forma transversal en las aplicaciones web de ACHS. Construido con **React 19**, **TypeScript** y **Vite**, con soporte para las
56 lines (55 loc) • 1.75 kB
JavaScript
import { jsxs as x, jsx as i } from "react/jsx-runtime";
import { useState as N, useEffect as g } from "react";
import e from "./Toast.module.scss.mjs";
import '../../../assets/node_modules/.pnpm/bootstrap-icons@1.13.1/node_modules/bootstrap-icons/font/bootstrap-icons.css';/* empty css */
const I = ({
message: o,
type: c = "info",
iconName: m,
show: a,
onClose: n,
position: r = "top-right",
standalone: f = !0,
...d
}) => {
const [t, s] = N(!1);
g(() => {
a ? s(!1) : t || s(!0);
}, [a, t, n]);
const u = () => {
s(!0), n();
};
if (!a && !t) return null;
const b = m || {
success: "bi-check-circle",
error: "bi-x-circle",
warning: "bi-exclamation-circle",
info: "bi-info-circle"
}[c], l = /* @__PURE__ */ x(
"div",
{
className: `${e.toast} ${t ? e.exiting : ""}`,
"data-alert-type": c,
"data-alert-position": r,
role: "alert",
...d,
children: [
/* @__PURE__ */ i("div", { className: e["main-icon-container"], children: /* @__PURE__ */ i("i", { className: `bi ${b}` }) }),
/* @__PURE__ */ i("div", { className: e["message-container"], children: /* @__PURE__ */ i("p", { className: e.message, children: o }) }),
/* @__PURE__ */ i(
"button",
{
onClick: u,
className: e["close-button"],
"aria-label": "Close",
children: /* @__PURE__ */ i("i", { className: "bi bi-x" })
}
)
]
}
);
return f ? /* @__PURE__ */ i("div", { className: `${e["notification-container"]} ${e[r]}`, children: l }) : l;
};
export {
I as Toast
};