/// import { type IconProps } from '../icon/index.js'; import { LinkRouter, mpcTheme as mpcThemeType } from '@tmpc/types'; type themeType = 'primary' | 'white' | 'filter' | 'white-1' | 'secondary' | 'secondary-primary' | 'secondary-accent' | 'secondary-third' | 'accent' | 'third' | 'icon' | 'entity' | 'nav-link' | 'nav-link-active' | 'dropdown-item' | 'drawer-link' | 'drawer-link-active' | 'drawer-link-child' | 'drawer-link-child-active'; type ButtonType = 'default' | 'toggle'; type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'none'; export interface ButtonProps { children?: React.ReactElement | string | null; theme?: themeType; /** The button's size. Not applicable nav-link & filter themes */ size?: Size; /** MP co theme for all states */ mpcTheme?: mpcThemeType; /** When toggle is activ the active/inactive states will be automatically set based on the current `mpcTheme` */ buttonType?: ButtonType; activeTheme?: themeType; /** JSX element icon */ icon?: React.ElementType; iconType?: IconProps['type']; iconName?: IconProps['name']; iconLibrary?: IconProps['library']; /** JSX suffix element icon */ iconSuffix?: React.ElementType; activeIcon?: React.ElementType; /** Disables the shadow */ noShadow?: boolean; /** Disables the button */ disabled?: boolean; /** When present, clicking the button will route to this string */ href?: string; /** When present with an href, clicking the button will route to this string in a new tab */ external?: boolean; /** When theme = filter, apply the open styles */ filterOpen?: boolean; /** When theme = filter, apply the active styles */ filterActive?: boolean; active?: boolean; activeChildren?: React.ReactElement | string; router?: LinkRouter; type?: React.ButtonHTMLAttributes['type']; onClick?: React.MouseEventHandler; buttonClassName?: string; className?: string; /** Overwrite for rounded className which is autoset */ roundedClassName?: string; dropdown?: true | 'up' | 'right' | undefined; order?: 'first' | 'last' | undefined; fullWidth?: boolean; style?: React.CSSProperties; as?: 'button' | 'span'; } export type Ref = HTMLSpanElement; declare const Button: import("react").ForwardRefExoticComponent>; export default Button;