import React, { CSSProperties, MouseEventHandler, KeyboardEventHandler } from 'react'; import { IconProps } from '../Icon2'; import './Button.css'; export type ButtonProps = { /** * Class names to be appended to the className prop of the Button Component */ className?: string; children?: React.ReactNode; /** * Pass the icon that want to add in button */ icon?: any; /** * If you want to show only icon, set the param to ‘true’ */ onlyIcon?: boolean; /** * Determines the alignment of the icon */ iconAlignment?: 'left' | 'right' | 'both'; /** * Pass additional props for icon */ iconProps?: Partial; /** * Pass an id to the button */ id?: string; /** * Determine the type of button you want to use */ buttonType?: 'primary' | 'secondary' | 'tertiary' | 'tertiary-outline' | 'outline' | 'success' | 'danger' | 'warning' | 'light' | 'control' | 'delete' | 'bulk-delete' | 'outline-delete' | 'outline-success' | 'white' | 'link' | 'destructive'; /** * Determine the size of the button: small or large */ size?: 'small' | 'regular'; /** * If button covers full width */ isFullWidth?: boolean; /** * If button is rounded */ isRounded?: boolean; /** * An ID used for testing purposes applied as a data attribute (data-test-id) */ testId?: string; /** * Used to set the button in the loading state */ isLoading?: boolean; /** * Determines the color of the loading animation you want to display */ loadingColor?: string; /** * Action that you want to perform when a button is clicked */ onClick?: MouseEventHandler; /** * Determines whether button is disabled or not */ disabled?: boolean; /** * If you want a button as a link, provide the details in href. */ href?: string; /** * Type of button action (button, submit,reset) */ type?: 'button' | 'submit' | 'reset'; /** * Pass any CSS properties for the button */ style?: CSSProperties; /** * Action that you want to perform when a key is pressed down */ onKeyDown?: KeyboardEventHandler; /** * Action that you want to perform when a key is pressed up */ onKeyUp?: KeyboardEventHandler; version?: 'v1' | 'v2'; isContextualDropdown?: boolean; contextualDropdownList?: []; isOpen?: boolean; canCloseOnClickOutside?: boolean; defaultSelected?: object; onlyIconHoverColor?: 'primary' | 'secondary'; onlyIconActive: boolean; openDropdownOnClick?: boolean; disableContextualDropdown: boolean; buttonRef?: React.RefObject; isMandatory?: boolean; }; export declare const DropDownList: ({ contextualDropdownList, menuRef, setIsComponentVisible, isComponentVisible, handleChange, defaultSelected }: { contextualDropdownList: any; menuRef: any; setIsComponentVisible: any; isComponentVisible: any; handleChange: any; defaultSelected: any; }) => React.JSX.Element; export declare const ContextualDropdown: ({ isComponentVisible, validSize, buttonType, setIsComponentVisible, disableContextualDropdown }: { isComponentVisible: any; validSize: any; buttonType: any; setIsComponentVisible: any; disableContextualDropdown: any; }) => React.JSX.Element; export declare const RenderButtonDom: ({ testId, Element, classNames, disabled, href, id, type, style, onClick, isContextualDropdown, onKeyDown, onKeyUp, isLoading, loadingColor, buttonType, addButtonIconClassNames, nestedChildren, version, setIsComponentVisible, isComponentVisible, validSize, defaultSelected, contextualDropdownList, menuRef, handleChange, disableContextualDropdown, openDropdownOnClick, buttonRef, otherProps, isMandatory }: { testId: any; Element: any; classNames: any; disabled: any; href: any; id: any; type: any; style: any; onClick: any; isContextualDropdown: any; onKeyDown: any; onKeyUp: any; isLoading: any; loadingColor: any; buttonType: any; addButtonIconClassNames: any; nestedChildren: any; version: any; setIsComponentVisible: any; isComponentVisible: any; validSize: any; defaultSelected: any; contextualDropdownList: any; menuRef: any; handleChange: any; disableContextualDropdown: any; openDropdownOnClick: any; buttonRef: any; otherProps: any; isMandatory: any; }) => React.JSX.Element; declare const _default: any; export default _default;