office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
68 lines (67 loc) • 2.56 kB
TypeScript
/// <reference types="react" />
import { BaseComponent } from '../../Utilities';
import { IContextualMenuProps } from '../../ContextualMenu';
import { IButtonProps, IButton } from './Button.types';
export interface IBaseButtonProps extends IButtonProps {
baseClassName?: string;
variantClassName?: string;
}
export interface IBaseButtonState {
menuProps?: IContextualMenuProps | null;
}
export declare class BaseButton extends BaseComponent<IBaseButtonProps, IBaseButtonState> implements IButton {
private readonly _isSplitButton;
private readonly _isExpanded;
static defaultProps: Partial<IBaseButtonProps>;
private _buttonElement;
private _splitButtonContainer;
private _labelId;
private _descriptionId;
private _ariaDescriptionId;
private _classNames;
private _processingTouch;
private _lastTouchTimeoutId;
constructor(props: IBaseButtonProps, rootClassName: string);
render(): JSX.Element;
componentDidMount(): void;
componentDidUpdate(prevProps: IBaseButtonProps, prevState: IBaseButtonState): void;
focus(): void;
dismissMenu(): void;
openMenu(shouldFocusOnContainer?: boolean, shouldFocusOnMount?: boolean): void;
private _onRenderContent(tag, buttonProps);
private _onRenderIcon;
private _onRenderTextContents;
private _onRenderText;
private _hasText();
private _onRenderChildren;
private _onRenderDescription;
private _onRenderAriaDescription;
private _onRenderMenuIcon;
private _onRenderMenu;
private _dismissMenu;
private _openMenu;
private _onToggleMenu;
private _onRenderSplitButtonContent(tag, buttonProps);
private _onSplitContainerFocusCapture;
private _onSplitButtonPrimaryClick;
private _onRenderSplitButtonDivider(classNames);
private _onRenderSplitButtonMenuButton(classNames, keytipAttributes);
private _onKeyDown;
private _onKeyUp;
private _onKeyPress;
private _onMouseUp;
private _onMouseDown;
private _onClick;
private _onSplitButtonContainerKeyDown;
private _onMenuKeyDown;
private _onTouchStart;
private _onPointerDown(ev);
private _handleTouchAndPointerEvent();
/**
* Returns if the user hits a valid keyboard key to open the menu
* @param ev - the keyboard event
* @returns True if user clicks on custom trigger key if enabled or alt + down arrow if not. False otherwise.
*/
private _isValidMenuOpenKey(ev);
private _onMenuClick;
}