@alifd/next
Version:
A configurable component library for web built on React.
78 lines (77 loc) • 3.74 kB
TypeScript
import React from 'react';
import PropTypes from 'prop-types';
import type { SplitButtonProps } from './types';
import { type MenuProps } from '../menu';
declare class SplitButton extends React.Component<SplitButtonProps> {
static propTypes: {
prefix: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
type: PropTypes.Requireable<string>;
size: PropTypes.Requireable<string>;
label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
component: PropTypes.Requireable<string>;
ghost: PropTypes.Requireable<string | boolean>;
defaultSelectedKeys: PropTypes.Requireable<any[]>;
selectedKeys: PropTypes.Requireable<any[]>;
selectMode: PropTypes.Requireable<string>;
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
onItemClick: PropTypes.Requireable<(...args: any[]) => any>;
triggerProps: PropTypes.Requireable<object>;
autoWidth: PropTypes.Requireable<boolean>;
visible: PropTypes.Requireable<boolean>;
defaultVisible: PropTypes.Requireable<boolean>;
onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
popupTriggerType: PropTypes.Requireable<string>;
popupAlign: PropTypes.Requireable<string>;
popupStyle: PropTypes.Requireable<object>;
popupClassName: PropTypes.Requireable<string>;
popupProps: PropTypes.Requireable<object>;
popupContainer: PropTypes.Requireable<any>;
followTrigger: PropTypes.Requireable<boolean>;
menuProps: PropTypes.Requireable<object>;
leftButtonProps: PropTypes.Requireable<object>;
className: PropTypes.Requireable<string>;
children: PropTypes.Requireable<any>;
};
static defaultProps: {
prefix: string;
type: string;
size: string;
autoWidth: boolean;
popupTriggerType: string;
onVisibleChange: () => void;
onItemClick: () => void;
onSelect: () => void;
defaultSelectedKeys: never[];
menuProps: {};
leftButtonProps: {};
};
static Item: typeof import("../menu/view/selectable-item").default;
static Divider: typeof import("../menu/view/divider").default;
static Group: typeof import("../menu/view/group").default;
static getDerivedStateFromProps(nextProps: SplitButtonProps): {
visible?: boolean | undefined;
selectedKeys?: string[] | undefined;
};
state: {
selectedKeys: string[];
visible: boolean | undefined;
};
wrapper: HTMLDivElement | null;
menu: HTMLUListElement | null;
componentDidMount(): void;
selectMenuItem: MenuProps['onSelect'];
clickMenuItem: MenuProps['onItemClick'];
onPopupOpen: () => void;
onVisibleChange: NonNullable<SplitButtonProps['onVisibleChange']>;
_menuRefHandler: (ref: import("../config-provider/types").ConfiguredComponent<MenuProps & import("../config-provider/types").ComponentCommonProps, import("../menu/view/menu").Menu>) => void;
_wrapperRefHandler: (ref: import("../config-provider/types").ConfiguredComponent<import("../button").GroupProps & import("../config-provider/types").ComponentCommonProps, import("../button/view/group").ButtonGroup>) => void;
render(): React.JSX.Element;
}
export type { SplitButtonProps };
declare const _default: import("../config-provider/types").ConfiguredComponentClass<SplitButtonProps & import("../config-provider/types").ComponentCommonProps, SplitButton, {}> & {
Group: typeof import("../menu/view/group").default;
Item: typeof import("../menu/view/selectable-item").default;
Divider: typeof import("../menu/view/divider").default;
};
export default _default;