UNPKG

tdesign-vue-next

Version:
626 lines (625 loc) 25.7 kB
import { TdDropdownProps, TdDropdownItemProps } from './type'; import './style'; export * from './type'; export type DropdownProps = TdDropdownProps; export type DropdownItemProps = TdDropdownItemProps; export type DropdownMenuProps = TdDropdownProps; export declare const Dropdown: { new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, { disabled: boolean; options: import("./type").DropdownOption[]; maxHeight: number; direction: "left" | "right"; placement: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; trigger: "focus" | "click" | "hover" | "context-menu"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, true, {}, {}, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, () => JSX.Element, {}, {}, {}, { disabled: boolean; options: import("./type").DropdownOption[]; maxHeight: number; direction: "left" | "right"; placement: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; trigger: "focus" | "click" | "hover" | "context-menu"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, { disabled: boolean; options: import("./type").DropdownOption[]; maxHeight: number; direction: "left" | "right"; placement: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; trigger: "focus" | "click" | "hover" | "context-menu"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin; export declare const DropdownItem: { new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{ maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<TdDropdownItemProps["content"]>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<TdDropdownItemProps["prefixIcon"]>; }; theme: { type: import("vue").PropType<TdDropdownItemProps["theme"]>; default: TdDropdownItemProps["theme"]; validator(val: TdDropdownItemProps["theme"]): boolean; }; value: { type: import("vue").PropType<TdDropdownItemProps["value"]>; }; onClick: import("vue").PropType<TdDropdownItemProps["onClick"]>; }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{ maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<TdDropdownItemProps["content"]>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<TdDropdownItemProps["prefixIcon"]>; }; theme: { type: import("vue").PropType<TdDropdownItemProps["theme"]>; default: TdDropdownItemProps["theme"]; validator(val: TdDropdownItemProps["theme"]): boolean; }; value: { type: import("vue").PropType<TdDropdownItemProps["value"]>; }; onClick: import("vue").PropType<TdDropdownItemProps["onClick"]>; }>>, { disabled: boolean; divider: boolean; active: boolean; theme: import("./type").DropdownItemTheme; content: string | ((h: typeof import("vue").h) => import("..").TNodeReturnValue); maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; }, true, {}, {}, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import("vue").ExtractPropTypes<{ maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<TdDropdownItemProps["content"]>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<TdDropdownItemProps["prefixIcon"]>; }; theme: { type: import("vue").PropType<TdDropdownItemProps["theme"]>; default: TdDropdownItemProps["theme"]; validator(val: TdDropdownItemProps["theme"]): boolean; }; value: { type: import("vue").PropType<TdDropdownItemProps["value"]>; }; onClick: import("vue").PropType<TdDropdownItemProps["onClick"]>; }>>, () => JSX.Element, {}, {}, {}, { disabled: boolean; divider: boolean; active: boolean; theme: import("./type").DropdownItemTheme; content: string | ((h: typeof import("vue").h) => import("..").TNodeReturnValue); maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{ maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: number; }; isSubmenu: BooleanConstructor; active: BooleanConstructor; content: { type: import("vue").PropType<TdDropdownItemProps["content"]>; default: string; }; disabled: BooleanConstructor; divider: BooleanConstructor; prefixIcon: { type: import("vue").PropType<TdDropdownItemProps["prefixIcon"]>; }; theme: { type: import("vue").PropType<TdDropdownItemProps["theme"]>; default: TdDropdownItemProps["theme"]; validator(val: TdDropdownItemProps["theme"]): boolean; }; value: { type: import("vue").PropType<TdDropdownItemProps["value"]>; }; onClick: import("vue").PropType<TdDropdownItemProps["onClick"]>; }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, { disabled: boolean; divider: boolean; active: boolean; theme: import("./type").DropdownItemTheme; content: string | ((h: typeof import("vue").h) => import("..").TNodeReturnValue); maxColumnWidth: string | number; minColumnWidth: string | number; isSubmenu: boolean; }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin; export declare const DropdownMenu: { new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, { disabled: boolean; options: import("./type").DropdownOption[]; maxHeight: number; direction: "left" | "right"; placement: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; trigger: "focus" | "click" | "hover" | "context-menu"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, true, {}, {}, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, () => JSX.Element, {}, {}, {}, { disabled: boolean; options: import("./type").DropdownOption[]; maxHeight: number; direction: "left" | "right"; placement: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; trigger: "focus" | "click" | "hover" | "context-menu"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{ direction: { type: import("vue").PropType<TdDropdownProps["direction"]>; default: TdDropdownProps["direction"]; validator(val: TdDropdownProps["direction"]): boolean; }; disabled: BooleanConstructor; hideAfterItemClick: { type: BooleanConstructor; default: boolean; }; maxColumnWidth: { type: import("vue").PropType<TdDropdownProps["maxColumnWidth"]>; default: TdDropdownProps["maxColumnWidth"]; }; maxHeight: { type: NumberConstructor; default: number; }; minColumnWidth: { type: import("vue").PropType<TdDropdownProps["minColumnWidth"]>; default: TdDropdownProps["minColumnWidth"]; }; options: { type: import("vue").PropType<TdDropdownProps["options"]>; default: () => TdDropdownProps["options"]; }; panelBottomContent: { type: import("vue").PropType<TdDropdownProps["panelBottomContent"]>; }; panelTopContent: { type: import("vue").PropType<TdDropdownProps["panelTopContent"]>; }; placement: { type: import("vue").PropType<TdDropdownProps["placement"]>; default: TdDropdownProps["placement"]; validator(val: TdDropdownProps["placement"]): boolean; }; popupProps: { type: import("vue").PropType<TdDropdownProps["popupProps"]>; }; trigger: { type: import("vue").PropType<TdDropdownProps["trigger"]>; default: TdDropdownProps["trigger"]; validator(val: TdDropdownProps["trigger"]): boolean; }; onClick: import("vue").PropType<TdDropdownProps["onClick"]>; }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, { disabled: boolean; options: import("./type").DropdownOption[]; maxHeight: number; direction: "left" | "right"; placement: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"; trigger: "focus" | "click" | "hover" | "context-menu"; maxColumnWidth: string | number; minColumnWidth: string | number; hideAfterItemClick: boolean; }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin; export default Dropdown;