acud
Version:
acg react 组件库
41 lines (40 loc) • 1.46 kB
TypeScript
/**
* @file
* @author dailin01
*/
import React from 'react';
import DropdownButton from './dropdown-button';
import Select from '../select';
import Cascader from '../cascader';
import type { MenuProps } from '../menu/menu';
declare const PlacementTypes: ["bottomLeft", "bottomCenter", "bottomRight", "topLeft", "topCenter", "topRight", "rightTop", "rightCenter", "rightBottom", "leftTop", "leftCenter", "leftBottom"];
export type PlacementType = typeof PlacementTypes[number];
type OverlayFunc = () => React.ReactElement;
export type RenderDOMFunc = (props: any) => HTMLElement;
export interface BaseDropdownProps {
menu?: MenuProps;
label?: string | React.ReactNode;
image?: string | React.ReactNode;
labelIcon?: boolean;
prefixCls?: string;
placement?: PlacementType;
overlay: React.ReactElement | OverlayFunc;
disabled?: boolean;
trigger?: ('click' | 'hover' | 'contextMenu')[];
alignPoint?: boolean;
direction?: string;
onVisibleChange?: (visible: boolean) => void;
visible?: boolean;
getPopupContainer?: RenderDOMFunc;
onClick?: (e: React.MouseEvent) => void;
overlayClassName?: string;
overlayStyle?: React.CSSProperties;
children?: React.ReactNode;
}
interface DropdownInterface extends React.FC<BaseDropdownProps> {
Button: typeof DropdownButton;
Select: typeof Select;
Cascader: typeof Cascader;
}
declare const Dropdown: DropdownInterface;
export default Dropdown;