UNPKG

tdesign-vue

Version:
844 lines (843 loc) 37.7 kB
import { TdDropdownProps, TdDropdownItemProps } from './type'; import './style'; export * from './type'; export declare type DropdownProps = TdDropdownProps; export declare type DropdownItemProps = TdDropdownItemProps; export declare const Dropdown: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; handleMenuClick: (data: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; isPopupVisible: import("@vue/composition-api").Ref<boolean>; handleVisibleChange: (visible: boolean, context: import("..").PopupVisibleChangeContext) => void; }> & import("@vue/composition-api").Data, {}, {}, { direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }, import("@vue/composition-api").ExtractPropTypes<{ direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{ direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; handleMenuClick: (data: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; isPopupVisible: import("@vue/composition-api").Ref<boolean>; handleVisibleChange: (visible: boolean, context: import("..").PopupVisibleChangeContext) => void; }>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; handleMenuClick: (data: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; isPopupVisible: import("@vue/composition-api").Ref<boolean>; handleVisibleChange: (visible: boolean, context: import("..").PopupVisibleChangeContext) => void; }> & import("@vue/composition-api").Data, {}, {}, { direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }, import("@vue/composition-api").ExtractPropTypes<{ direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{ direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; handleMenuClick: (data: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; isPopupVisible: import("@vue/composition-api").Ref<boolean>; handleVisibleChange: (visible: boolean, context: import("..").PopupVisibleChangeContext) => void; }>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, true>)>; export declare const DropdownItem: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{ itemRef: import("@vue/composition-api").Ref<HTMLElement>; dropdownItemClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (e: MouseEvent) => void; }> & import("@vue/composition-api").Data, {}, {}, { maxColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; minColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>; }; theme: { type: import("vue").PropType<import("./type").DropdownItemTheme>; default: import("./type").DropdownItemTheme; validator(val: import("./type").DropdownItemTheme): boolean; }; value: { type: import("vue").PropType<string | number | { [key: string]: any; }>; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }, import("@vue/composition-api").ExtractPropTypes<{ maxColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; minColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>; }; theme: { type: import("vue").PropType<import("./type").DropdownItemTheme>; default: import("./type").DropdownItemTheme; validator(val: import("./type").DropdownItemTheme): boolean; }; value: { type: import("vue").PropType<string | number | { [key: string]: any; }>; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{ active: boolean; content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue); disabled: boolean; theme: import("./type").DropdownItemTheme; divider: boolean; maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; } & { value?: unknown; onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; prefixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue; }, import("@vue/composition-api").ShallowUnwrapRef<{ itemRef: import("@vue/composition-api").Ref<HTMLElement>; dropdownItemClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (e: MouseEvent) => void; }>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, { active: boolean; content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue); disabled: boolean; theme: import("./type").DropdownItemTheme; divider: boolean; maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; } & { value?: unknown; onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; prefixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue; }, { active: boolean; content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue); disabled: boolean; theme: import("./type").DropdownItemTheme; divider: boolean; maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; }, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{ itemRef: import("@vue/composition-api").Ref<HTMLElement>; dropdownItemClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (e: MouseEvent) => void; }> & import("@vue/composition-api").Data, {}, {}, { maxColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; minColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>; }; theme: { type: import("vue").PropType<import("./type").DropdownItemTheme>; default: import("./type").DropdownItemTheme; validator(val: import("./type").DropdownItemTheme): boolean; }; value: { type: import("vue").PropType<string | number | { [key: string]: any; }>; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }, import("@vue/composition-api").ExtractPropTypes<{ maxColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; minColumnWidth: { type: import("@vue/composition-api").PropType<string | number>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>; }; theme: { type: import("vue").PropType<import("./type").DropdownItemTheme>; default: import("./type").DropdownItemTheme; validator(val: import("./type").DropdownItemTheme): boolean; }; value: { type: import("vue").PropType<string | number | { [key: string]: any; }>; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{ active: boolean; content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue); disabled: boolean; theme: import("./type").DropdownItemTheme; divider: boolean; maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; } & { value?: unknown; onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; prefixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue; }, import("@vue/composition-api").ShallowUnwrapRef<{ itemRef: import("@vue/composition-api").Ref<HTMLElement>; dropdownItemClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (e: MouseEvent) => void; }>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, { active: boolean; content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue); disabled: boolean; theme: import("./type").DropdownItemTheme; divider: boolean; maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; } & { value?: unknown; onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; prefixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue; }, { active: boolean; content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue); disabled: boolean; theme: import("./type").DropdownItemTheme; divider: boolean; maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; }, true>)>; export declare const DropdownMenu: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; dropdownMenuClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (optionItem: { disabled: boolean; children: unknown; }, options: { data: import("./type").DropdownOption; context: { e: MouseEvent; }; }) => void; menuRef: import("@vue/composition-api").Ref<HTMLElement>; isOverMaxHeight: import("@vue/composition-api").Ref<boolean>; handleScroll: (e: MouseEvent, deep: number) => void; scrollTopMap: {}; }> & import("@vue/composition-api").Data, { renderOptionContent(content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)): import("vue/types/vnode").ScopedSlotReturnValue; renderOptions(data: import("./type").DropdownOption[], deep: number): unknown[]; }, {}, { direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }, import("@vue/composition-api").ExtractPropTypes<{ direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{ direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; dropdownMenuClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (optionItem: { disabled: boolean; children: unknown; }, options: { data: import("./type").DropdownOption; context: { e: MouseEvent; }; }) => void; menuRef: import("@vue/composition-api").Ref<HTMLElement>; isOverMaxHeight: import("@vue/composition-api").Ref<boolean>; handleScroll: (e: MouseEvent, deep: number) => void; scrollTopMap: {}; }>, import("@vue/composition-api").Data, {}, { renderOptionContent(content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)): import("vue/types/vnode").ScopedSlotReturnValue; renderOptions(data: import("./type").DropdownOption[], deep: number): unknown[]; }, {}, {}, {}, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; dropdownMenuClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (optionItem: { disabled: boolean; children: unknown; }, options: { data: import("./type").DropdownOption; context: { e: MouseEvent; }; }) => void; menuRef: import("@vue/composition-api").Ref<HTMLElement>; isOverMaxHeight: import("@vue/composition-api").Ref<boolean>; handleScroll: (e: MouseEvent, deep: number) => void; scrollTopMap: {}; }> & import("@vue/composition-api").Data, { renderOptionContent(content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)): import("vue/types/vnode").ScopedSlotReturnValue; renderOptions(data: import("./type").DropdownOption[], deep: number): unknown[]; }, {}, { direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }, import("@vue/composition-api").ExtractPropTypes<{ direction: { type: import("vue").PropType<"left" | "right">; default: "left" | "right"; validator(val: "left" | "right"): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<string | number>; default: number; }; options: { type: import("vue").PropType<import("./type").DropdownOption[]>; default: () => import("./type").DropdownOption[]; }; placement: { type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">; default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean; }; popupProps: { type: import("vue").PropType<import("..").TdPopupProps>; }; trigger: { type: import("vue").PropType<"click" | "focus" | "hover" | "context-menu">; default: "click" | "focus" | "hover" | "context-menu"; validator(val: "click" | "focus" | "hover" | "context-menu"): boolean; }; onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void>; }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{ direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, import("@vue/composition-api").ShallowUnwrapRef<{ dropdownClass: import("@vue/composition-api").ComputedRef<string>; dropdownMenuClass: import("@vue/composition-api").ComputedRef<string>; handleItemClick: (optionItem: { disabled: boolean; children: unknown; }, options: { data: import("./type").DropdownOption; context: { e: MouseEvent; }; }) => void; menuRef: import("@vue/composition-api").Ref<HTMLElement>; isOverMaxHeight: import("@vue/composition-api").Ref<boolean>; handleScroll: (e: MouseEvent, deep: number) => void; scrollTopMap: {}; }>, import("@vue/composition-api").Data, {}, { renderOptionContent(content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)): import("vue/types/vnode").ScopedSlotReturnValue; renderOptions(data: import("./type").DropdownOption[], deep: number): unknown[]; }, {}, {}, {}, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; } & { onClick?: (dropdownItem: import("./type").DropdownOption, context: { e: MouseEvent; }) => void; popupProps?: unknown; }, { direction: "left" | "right"; maxHeight: number; disabled: boolean; options: import("./type").DropdownOption[]; trigger: "click" | "focus" | "hover" | "context-menu"; placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, true>)>; export default Dropdown;