@sikka/hawa
Version:
Modern UI Kit made with Tailwind
35 lines (30 loc) • 1.42 kB
text/typescript
import * as class_variance_authority_types from 'class-variance-authority/types';
import * as React from 'react';
import { VariantProps } from 'class-variance-authority';
type PositionType = "top" | "bottom" | "right" | "left";
type LabelProps = {
hint?: React.ReactNode;
hintSide?: PositionType;
htmlFor?: string;
required?: boolean;
};
declare const buttonVariants: (props?: ({
variant?: "link" | "default" | "combobox" | "light" | "destructive" | "outline" | "secondary" | "ghost" | "neoBrutalism" | null | undefined;
size?: "default" | "icon" | "xs" | "sm" | "lg" | "xl" | "heightless" | "smallIcon" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
asChild?: boolean;
centered?: boolean;
isLoading?: boolean;
label?: string;
labelProps?: LabelProps;
/** The small red text under the input field to show validation. */
helperText?: any;
showHelperText?: boolean;
/**
* If true, the button will include a label and helper text. This is useful for forms where the button is part of the form.
*/
asInput?: boolean;
}
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
export { Button, type ButtonProps, buttonVariants };