UNPKG

@re-flex/ui

Version:
17 lines (16 loc) 890 B
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;