@react-leaf/core
Version:
React Leaf Core components
75 lines (74 loc) • 2 kB
JavaScript
import { jsxs as v } from "react/jsx-runtime";
import { forwardRef as d } from "react";
function s(o) {
var t, n, r = "";
if (typeof o == "string" || typeof o == "number")
r += o;
else if (typeof o == "object")
if (Array.isArray(o))
for (t = 0; t < o.length; t++)
o[t] && (n = s(o[t])) && (r && (r += " "), r += n);
else
for (t in o)
o[t] && (r && (r += " "), r += t);
return r;
}
function $() {
for (var o, t, n = 0, r = ""; n < arguments.length; )
(o = arguments[n++]) && (t = s(o)) && (r && (r += " "), r += t);
return r;
}
const m = "leaf-button-root", p = {
root: m
}, e = {
filled: { bg: 600, bgHover: 700, bgActive: 800, color: 0, border: "none" },
outlined: { bg: "none", bgHover: 50, bgActive: 100, color: 600, border: 600 },
ghost: { bg: "none", bgHover: 50, bgActive: 100, color: 600, border: "none" }
}, a = d(
({
variant: o = "filled",
color: t = "blue",
size: n = "md",
leftSection: r,
rightSection: b,
className: c,
children: u,
style: l,
...g
}, f) => {
const i = {
"--button-height": `var(--button-height-${n})`,
"--button-background": `var(--color-${t}-${e[o].bg})`,
"--button-hover": `var(--color-${t}-${e[o].bgHover})`,
"--button-active": `var(--color-${t}-${e[o].bgActive})`,
"--button-color": `var(--color-${t}-${e[o].color})`,
"--button-border": `var(--color-${t}-${e[o].border})`,
"--button-font": `var(--font-size-${n})`,
"--button-spacing": `var(--spacing-${n})`,
...l
};
return /* @__PURE__ */ v(
"button",
{
className: $(p.root, c),
ref: f,
style: i,
...r && { "data-left": !0 },
...b && { "data-right": !0 },
...!u && { "data-empty": !0 },
...g,
children: [
r,
u,
b
]
}
);
}
);
a.displayName = "Button";
const A = a;
export {
A as Button
};
//# sourceMappingURL=index.js.map