@mankindui/core
Version:
- a react component library - you can see how @mankindui/core can be used via examples: [usage examples](https://github.com/clarklindev/mankindui-test)
77 lines (76 loc) • 2.25 kB
JavaScript
import { j as f } from "../../_virtual/jsx-runtime.js";
import { forwardRef as x } from "react";
import { cva as g } from "../../node_modules/class-variance-authority/dist/index.js";
import "../../utils/index.js";
import { cn as y } from "../../utils/cn.js";
const k = g(["box-border", "inline-flex", "items-center", "cursor-pointer"], {
variants: {
intent: {
default: "",
primary: "bg-black dark:bg-white text-white dark:text-black border-transparent",
secondary: "bg-transparent text-current border-gray-400",
contained: "bg-gray-300 text-gray-700 border-gray-300",
outlined: "text-gray-800 dark:text-gray-300 border border-gray-800 dark:border-white bg-transparent ",
plain: "border-transparent outline-none ring-transparent",
text: "border-transparent underline",
icon: "border-transparent"
},
padding: {
default: "",
none: "py-0 px-0",
S: "py-1 px-1",
M: "py-2 px-2",
L: "py-3 px-3",
XL: "py-4 px-4"
},
borderRadius: {
default: "rounded-md",
none: "rounded-none",
sm: "rounded-sm",
md: "rounded-md",
lg: "rounded-lg",
xl: "rounded-xl"
},
fontsize: {
default: "",
small: "text-sm",
medium: "text-base"
},
focus: {
default: "none",
border: "focus:outline-none focus:border-black"
}
},
compoundVariants: [],
//if no intent is passed in, use below..
defaultVariants: {
intent: "primary",
fontsize: "default",
focus: "default",
padding: "XL",
borderRadius: "default"
}
}), t = x((e, n) => {
const { intent: a = "primary", padding: o, fontsize: d, focus: s, className: i, borderRadius: u, onClick: l, onFocus: p, onBlur: b, children: m, ...r } = e, c = y(k({ intent: a, fontsize: d, padding: o, focus: s, borderRadius: u }), i);
return /* @__PURE__ */ f.jsx(
"button",
{
"data-component": t.displayName,
className: c,
role: "button",
tabIndex: 0,
onClick: l,
onFocus: p,
onBlur: b,
"aria-label": r["aria-label"] ?? "Button",
...r,
ref: n,
children: m
}
);
});
t.displayName = "Button";
export {
t as Button
};
//# sourceMappingURL=index.js.map