UNPKG

@navinc/base-react-components

Version:
49 lines (48 loc) 2.5 kB
import React from 'react'; import { VariantProps } from 'class-variance-authority'; /** Responsible for wrapping all button text to properly underline on hover for the plain variants */ export declare const ButtonTextContainer: React.ComponentType<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>; declare const buttonVariants: (props?: ({ variant?: "primary" | "prime" | "default" | "plain" | "primaryPlain" | "primaryCritical" | null | undefined; density?: "loose" | "standard" | "tight" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export type Variant = NonNullable<VariantProps<typeof buttonVariants>['variant']>; export type Density = NonNullable<VariantProps<typeof buttonVariants>['density']>; /** * Wayfinder Button * * @example `asChild` prop renders the button as the immediate child of the button element. * * ```tsx * <Button asChild> * <a href="https://nav.com" target="_blank" rel="noreferrer"> * Link Rendered as a Button * </a> * </Button> * ``` * This results in the following HTML: * ```html * <a class="button-classes" href="https://nav.com" target="_blank" rel="noreferrer"> * Link Rendered as a Button * </a> * ``` * * @caveat text children of the button will be wrapped in a `ButtonTextContainer` component to properly underline on hover * for the plain variants. If any children are not text, they will not be wrapped automatically and no underline will * be present. */ export declare const Button: React.ForwardRefExoticComponent<VariantProps<(props?: ({ variant?: "primary" | "prime" | "default" | "plain" | "primaryPlain" | "primaryCritical" | null | undefined; density?: "loose" | "standard" | "tight" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.ButtonHTMLAttributes<HTMLButtonElement> & { loading?: boolean; asChild?: boolean; } & React.RefAttributes<HTMLButtonElement>>; export declare const ButtonInheritColor: React.ComponentType<VariantProps<(props?: ({ variant?: "primary" | "prime" | "default" | "plain" | "primaryPlain" | "primaryCritical" | null | undefined; density?: "loose" | "standard" | "tight" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.ButtonHTMLAttributes<HTMLButtonElement> & { loading?: boolean; asChild?: boolean; } & React.RefAttributes<HTMLButtonElement>>; export {};