UNPKG

@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
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