import type { ForwardedRef } from "react"; import React, { forwardRef } from "react"; import Loader from "../components/loader"; import Ping from "../components/Ping"; export interface ButtonProps extends React.ButtonHTMLAttributes { className?: string; icon?: React.ReactNode; children?: React.ReactNode; loader?: boolean; disabled?: boolean; ping?: boolean; onClick?: (e: React.MouseEvent) => Promise | void; } const Button = forwardRef((props: ButtonProps, ref: ForwardedRef) => { const onClick = (e: React.MouseEvent) => { void Promise.resolve(props.onClick?.(e)).then(); e.preventDefault(); }; return ( ); }); Button.displayName = "Button"; export default Button;