UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

44 lines (41 loc) 1.31 kB
'use client'; import Icon_default from "../Icon/Icon.mjs"; import { variants } from "./style.mjs"; import { isValidElement } from "react"; import { jsx } from "react/jsx-runtime"; import { Button } from "antd"; import { cx, useThemeMode } from "antd-style"; import { Loader2Icon } from "lucide-react"; //#region src/Button/Button.tsx const Button$1 = ({ icon, variant, glass, shadow, loading, className, type, color, danger, children, iconProps, ref, ...rest }) => { const { isDarkMode } = useThemeMode(); const defaultVariant = type ? void 0 : variant || (isDarkMode ? "filled" : "outlined"); return /* @__PURE__ */ jsx(Button, { className: cx(variants({ glass, shadow }), className), color: color || (defaultVariant === "filled" ? "default" : void 0), danger, icon: icon && (isValidElement(icon) ? icon : /* @__PURE__ */ jsx(Icon_default, { icon, ...iconProps, size: iconProps?.size || { size: "1.2em" } })), loading: loading ? { icon: /* @__PURE__ */ jsx(Icon_default, { icon: Loader2Icon, ...iconProps, size: iconProps?.size || { size: "1.2em" }, spin: true }) } : false, ref, type, variant: defaultVariant, ...rest, children }); }; var Button_default = Button$1; //#endregion export { Button_default as default }; //# sourceMappingURL=Button.mjs.map