UNPKG

@szum-tech/design-system

Version:

Szum-Tech design system with tailwindcss support

53 lines (48 loc) 1.67 kB
import * as React from 'react'; import { VariantProps } from 'class-variance-authority'; import * as class_variance_authority_types from 'class-variance-authority/types'; declare const buttonVariants: (props?: { variant?: "link" | "default" | "outline" | "secondary" | "ghost" | "error"; size?: "default" | "sm" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon" | "icon-lg"; fullWidth?: boolean; } & class_variance_authority_types.ClassProp) => string; type ButtonCvaProps = VariantProps<typeof buttonVariants>; type ButtonSizeType = NonNullable<ButtonCvaProps["size"]>; type ButtonVariantType = NonNullable<ButtonCvaProps["variant"]>; type ButtonProps = React.ComponentProps<"button"> & { /** * Defines button full width */ fullWidth?: boolean; /** * Defines button variant */ variant?: ButtonVariantType; /** * Defines button size */ size?: ButtonSizeType; /** * Defines button content */ children?: React.ReactNode; /** * Defines left icon */ startIcon?: React.ReactElement; /** * Defines right icon */ endIcon?: React.ReactElement; /** * Defines is button is in loading state */ loading?: boolean; /** * Defines is position of loading icon */ loadingPosition?: "start" | "end" | "center"; asChild?: boolean; }; declare function Button({ asChild, variant, disabled, fullWidth, loadingPosition: loadingPositionProp, children, type, loading, size, endIcon, startIcon, className, ...props }: ButtonProps): React.JSX.Element; export { Button, type ButtonProps, type ButtonSizeType, type ButtonVariantType };