@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
58 lines (57 loc) • 1.61 kB
JavaScript
import { jsx as a } from "react/jsx-runtime";
import { forwardRef as x } from "react";
import y from "./Icon.module.scss.mjs";
import '../../../assets/node_modules/.pnpm/bootstrap-icons@1.13.1/node_modules/bootstrap-icons/font/bootstrap-icons.css';/* empty css */
const h = x(({
iconName: l = "bi-alarm",
version: r = "borderless",
size: s = "medium",
backgroundColor: d,
borderColor: f,
iconColor: m,
className: o,
style: u,
onClick: c,
onKeyDown: i,
...n
}, b) => {
let t = { ...u };
d && (t = { ...t, backgroundColor: d }), f && (t = { ...t, borderColor: f, borderWidth: "1px", borderStyle: "solid" }), m && (t = { ...t, "--icon-color": m });
const p = c ? {
role: "button",
tabIndex: 0,
onClick: c,
onKeyDown: (e) => {
i == null || i(e), (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.currentTarget.click());
}
} : { onKeyDown: i };
return r === "borderless" ? /* @__PURE__ */ a(
"i",
{
...n,
...p,
ref: b,
className: `bi ${[l, o].filter(Boolean).join(" ")}`,
"data-size": s,
"data-version": r,
style: t
}
) : /* @__PURE__ */ a(
"div",
{
...n,
...p,
ref: b,
className: `${[y.icon, o].filter(Boolean).join(" ")}`,
"data-size": s,
"data-version": r,
style: t,
children: /* @__PURE__ */ a("i", { className: `bi ${l}`, "aria-hidden": "true" })
}
);
});
h.displayName = "Icon";
export {
h as Icon,
h as default
};