boreui
Version:
A modern, reusable React component library built with TypeScript.
100 lines (97 loc) • 2.31 kB
JavaScript
// node_modules/clsx/dist/clsx.mjs
function r(e) {
var t, f, n = "";
if ("string" == typeof e || "number" == typeof e) n += e;
else if ("object" == typeof e) if (Array.isArray(e)) {
var o = e.length;
for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
} else for (f in e) e[f] && (n && (n += " "), n += f);
return n;
}
function clsx() {
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
return n;
}
var clsx_default = clsx;
// src/components/Button.tsx
import { jsx } from "react/jsx-runtime";
var buttonVariants = {
variant: {
default: "bg-blue-600 text-white hover:bg-blue-700",
outline: "border border-blue-600 text-blue-600 hover:bg-blue-50",
ghost: "text-blue-600 hover:bg-blue-100"
},
size: {
sm: "text-sm px-3 py-1.5",
md: "text-base px-4 py-2",
lg: "text-lg px-5 py-3"
}
};
var Button = ({
variant = "default",
size = "md",
className,
children,
...props
}) => {
return /* @__PURE__ */ jsx(
"button",
{
className: clsx_default(
"rounded font-medium transition duration-200",
buttonVariants.variant[variant],
buttonVariants.size[size],
className
),
...props,
children
}
);
};
// src/components/Card.tsx
import { jsx as jsx2 } from "react/jsx-runtime";
var Card = ({
children,
className,
...props
}) => {
return /* @__PURE__ */ jsx2(
"div",
{
className: clsx_default(
"rounded-xl border bg-white text-black shadow-sm p-4",
className
),
...props,
children
}
);
};
var CardHeader = ({
children,
className,
...props
}) => {
return /* @__PURE__ */ jsx2("div", { className: clsx_default("mb-2 text-lg font-semibold", className), ...props, children });
};
var CardBody = ({
children,
className,
...props
}) => {
return /* @__PURE__ */ jsx2("div", { className: clsx_default("text-sm text-gray-700", className), ...props, children });
};
var CardFooter = ({
children,
className,
...props
}) => {
return /* @__PURE__ */ jsx2("div", { className: clsx_default("mt-4 pt-2 border-t", className), ...props, children });
};
export {
Button,
Card,
CardBody,
CardFooter,
CardHeader
};