@re-flex/ui
Version:
Re-Flex ui library
17 lines (16 loc) • 890 B
JavaScript
import StyledButton from "@re-flex/styled/Button";
import StyledButtonContentItem from "@re-flex/styled/ButtonContent";
import { useTheme } from "@re-flex/styles";
import clsx from "clsx";
import React from "react";
import Ripple from "../Ripple";
const Button = React.forwardRef(({ children, className, ripple = {}, variant = "text", endIcon, startIcon, size = "md", disabled, ...rest }, ref) => {
const { prefix } = useTheme();
return (React.createElement(StyledButton, { role: "button", className: clsx(prefix + "-btn", className), variant: variant, size: size, disabled: disabled, ref: ref, component: "button", ...rest },
startIcon,
children && (React.createElement(StyledButtonContentItem, null, children)),
endIcon,
!disabled && ripple && React.createElement(Ripple, { ...ripple })));
});
Button.displayName = "Button";
export default Button;