UNPKG

@trail-ui/react

Version:
42 lines (39 loc) 1.8 kB
import * as react_jsx_runtime from 'react/jsx-runtime'; import react__default from 'react'; import { ButtonProps as ButtonProps$1, ToggleButtonProps as ToggleButtonProps$1 } from 'react-aria-components'; import { AsChildProps } from './tw-slot.js'; type NeverExcept<T, K extends keyof T> = { [N in keyof Omit<T, K>]?: never; } & { [Key in K]?: T[Key]; }; type Variants = { outline: true; plain: true; unstyle: true; }; type Variant = NeverExcept<Variants, 'outline'> | NeverExcept<Variants, 'plain'> | NeverExcept<Variants, 'unstyle'>; type Color = 'accent' | 'success' | 'destructive'; type Size = 'sm' | 'lg'; type BasicButtonProps = { color?: Color; size?: Size; isLoading?: boolean; loadingLabel?: string; iconOnly?: boolean; } & Variant; type ButtonProps = AsChildProps<ButtonProps$1> & BasicButtonProps; type ButtonWithoutAsChildProps = ButtonProps$1 & BasicButtonProps; declare const Button: react__default.ForwardRefExoticComponent<ButtonProps & react__default.RefAttributes<HTMLButtonElement>>; type ToggleButtonProps = ToggleButtonProps$1 & Exclude<BasicButtonProps, 'isLoading' | 'loadingLabel'>; declare function ToggleButton(props: ToggleButtonProps): react_jsx_runtime.JSX.Element; type CloseButtonProps = ButtonWithoutAsChildProps & { iconOnly?: never; asChild?: never; children?: never; }; declare function CloseButton({ 'aria-label': ariaLabel, className, ...props }: CloseButtonProps): react_jsx_runtime.JSX.Element; declare function ButtonGroup({ className, contrast, ...props }: JSX.IntrinsicElements['div'] & { contrast?: boolean; }): react_jsx_runtime.JSX.Element; export { BasicButtonProps, Button, ButtonGroup, ButtonProps, ButtonWithoutAsChildProps, CloseButton, CloseButtonProps, ToggleButton, ToggleButtonProps };