@opensig/opendesign
Version:
278 lines (277 loc) • 8.53 kB
TypeScript
import { SelectOptionT, SelectValueT } from './types';
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: Readonly<{
/** 默认插槽,自定义下拉选项内容 */
default?(): any;
/** 前缀插槽 */
prefix?(): any;
/** 标签折叠插槽,用于自定义折叠标签的显示 */
'tag-fold'?(): any;
/** 箭头插槽,可获取下拉展开状态 */
arrow?(props: {
active: boolean;
}): any;
/** 后缀插槽,可获取下拉展开状态 */
suffix?(props: {
active: boolean;
}): any;
/** 空状态插槽 */
empty?(): any;
/** 选项操作插槽(透传至 SelectOption) */
action?(): any;
}> & {
/** 默认插槽,自定义下拉选项内容 */
default?(): any;
/** 前缀插槽 */
prefix?(): any;
/** 标签折叠插槽,用于自定义折叠标签的显示 */
'tag-fold'?(): any;
/** 箭头插槽,可获取下拉展开状态 */
arrow?(props: {
active: boolean;
}): any;
/** 后缀插槽,可获取下拉展开状态 */
suffix?(props: {
active: boolean;
}): any;
/** 空状态插槽 */
empty?(): any;
/** 选项操作插槽(透传至 SelectOption) */
action?(): any;
};
refs: {
selectRef: HTMLDivElement;
optionsRef: HTMLDivElement;
};
rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
modelValue: {
type: import('vue').PropType<SelectValueT>;
};
defaultValue: {
type: import('vue').PropType<SelectValueT>;
};
size: {
type: import('vue').PropType<import('..').SizeT>;
};
round: {
type: import('vue').PropType<import('..').RoundT>;
};
color: {
type: import('vue').PropType<import('..').Color2T>;
default: string;
};
variant: {
type: import('vue').PropType<import('..').VariantT>;
default: string;
};
placeholder: {
type: StringConstructor;
};
multiple: {
type: BooleanConstructor;
};
maxTagCount: {
type: NumberConstructor;
};
clearable: {
type: BooleanConstructor;
};
disabled: {
type: BooleanConstructor;
};
trigger: {
type: import('vue').PropType<import('..').PopupTriggerT>;
default: string;
};
optionPosition: {
type: import('vue').PropType<import('..').PopupPositionT>;
default: string;
};
optionWidthMode: {
type: import('vue').PropType<import('./types').OptionWidthModeT>;
default: string;
};
optionWrapClass: {
type: import('vue').PropType<string | {
[k: string]: boolean;
} | Array<{
[k: string]: boolean;
} | string>>;
};
unmountOnHide: {
type: BooleanConstructor;
default: boolean;
};
transition: {
type: StringConstructor;
};
loading: {
type: BooleanConstructor;
};
beforeSelect: {
type: import('vue').PropType<(value: string | number, currentValue: SelectValueT) => Promise<boolean | string | number> | boolean | string | number>;
};
beforeOptionsShow: {
type: import('vue').PropType<() => Promise<boolean> | boolean>;
};
beforeOptionsHide: {
type: import('vue').PropType<() => Promise<boolean> | boolean>;
};
optionsWrapper: {
type: import('vue').PropType<string | HTMLElement | null>;
default: string;
};
foldLabel: {
type: import('vue').PropType<(tags: Array<SelectOptionT>) => string>;
};
showFoldTags: {
type: import('vue').PropType<boolean | "hover" | "click">;
default: string;
};
optionTitle: {
type: StringConstructor;
};
noResponsive: {
type: BooleanConstructor;
};
}>, {
/**
* @zh-CN 选择器根元素引用
* @en-US Reference to the select root element
*/
selectRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
/**
* @zh-CN 是否正在选择中
* @en-US Whether the select is in selecting state
*/
isSelecting: import('vue').Ref<boolean, boolean>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
clear: (evt: Event) => any;
change: (value: SelectValueT) => any;
"update:modelValue": (value: SelectValueT) => any;
"options-visible-change": (value: boolean) => any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
modelValue: {
type: import('vue').PropType<SelectValueT>;
};
defaultValue: {
type: import('vue').PropType<SelectValueT>;
};
size: {
type: import('vue').PropType<import('..').SizeT>;
};
round: {
type: import('vue').PropType<import('..').RoundT>;
};
color: {
type: import('vue').PropType<import('..').Color2T>;
default: string;
};
variant: {
type: import('vue').PropType<import('..').VariantT>;
default: string;
};
placeholder: {
type: StringConstructor;
};
multiple: {
type: BooleanConstructor;
};
maxTagCount: {
type: NumberConstructor;
};
clearable: {
type: BooleanConstructor;
};
disabled: {
type: BooleanConstructor;
};
trigger: {
type: import('vue').PropType<import('..').PopupTriggerT>;
default: string;
};
optionPosition: {
type: import('vue').PropType<import('..').PopupPositionT>;
default: string;
};
optionWidthMode: {
type: import('vue').PropType<import('./types').OptionWidthModeT>;
default: string;
};
optionWrapClass: {
type: import('vue').PropType<string | {
[k: string]: boolean;
} | Array<{
[k: string]: boolean;
} | string>>;
};
unmountOnHide: {
type: BooleanConstructor;
default: boolean;
};
transition: {
type: StringConstructor;
};
loading: {
type: BooleanConstructor;
};
beforeSelect: {
type: import('vue').PropType<(value: string | number, currentValue: SelectValueT) => Promise<boolean | string | number> | boolean | string | number>;
};
beforeOptionsShow: {
type: import('vue').PropType<() => Promise<boolean> | boolean>;
};
beforeOptionsHide: {
type: import('vue').PropType<() => Promise<boolean> | boolean>;
};
optionsWrapper: {
type: import('vue').PropType<string | HTMLElement | null>;
default: string;
};
foldLabel: {
type: import('vue').PropType<(tags: Array<SelectOptionT>) => string>;
};
showFoldTags: {
type: import('vue').PropType<boolean | "hover" | "click">;
default: string;
};
optionTitle: {
type: StringConstructor;
};
noResponsive: {
type: BooleanConstructor;
};
}>> & Readonly<{
onClear?: ((evt: Event) => any) | undefined;
onChange?: ((value: SelectValueT) => any) | undefined;
"onUpdate:modelValue"?: ((value: SelectValueT) => any) | undefined;
"onOptions-visible-change"?: ((value: boolean) => any) | undefined;
}>, {
color: "normal" | "primary" | "success" | "warning" | "danger";
disabled: boolean;
multiple: boolean;
trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
unmountOnHide: boolean;
variant: "solid" | "outline" | "text";
loading: boolean;
noResponsive: boolean;
clearable: boolean;
optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
optionWidthMode: "width" | "auto" | "min-width";
optionsWrapper: string | HTMLElement | null;
showFoldTags: boolean | "click" | "hover";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
selectRef: HTMLDivElement;
optionsRef: HTMLDivElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};