tdesign-vue
Version:
844 lines (843 loc) • 37.7 kB
TypeScript
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;