mltc-design-system
Version:
長照設計系統
203 lines (202 loc) • 5.67 kB
TypeScript
import { DefineComponent, ExtractPropTypes, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
interface SelectOption {
label: string;
value: string | number;
disabled?: boolean;
}
declare const _default: DefineComponent<ExtractPropTypes<{
modelValue: {
type: (StringConstructor | NumberConstructor | ArrayConstructor)[];
default: string;
};
options: {
type: () => SelectOption[];
default: () => never[];
};
placeholder: {
type: StringConstructor;
default: string;
};
size: {
type: StringConstructor;
default: string;
validator: (value: string) => boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
readonly: {
type: BooleanConstructor;
default: boolean;
};
clearable: {
type: BooleanConstructor;
default: boolean;
};
multiple: {
type: BooleanConstructor;
default: boolean;
};
filterable: {
type: BooleanConstructor;
default: boolean;
};
searchPlaceholder: {
type: StringConstructor;
default: string;
};
emptyText: {
type: StringConstructor;
default: string;
};
label: {
type: StringConstructor;
default: string;
};
required: {
type: BooleanConstructor;
default: boolean;
};
error: {
type: BooleanConstructor;
default: boolean;
};
errorMessage: {
type: StringConstructor;
default: string;
};
helpText: {
type: StringConstructor;
default: string;
};
dropdownWidth: {
type: (StringConstructor | NumberConstructor)[];
default: string;
};
maxHeight: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
}>, {
selectId: ComputedRef<string | undefined>;
selectContainerRef: Ref<HTMLElement | null, HTMLElement | null>;
dropdownRef: Ref<HTMLElement | null, HTMLElement | null>;
optionsListRef: Ref<HTMLElement | null, HTMLElement | null>;
searchInputRef: Ref<HTMLInputElement | null, HTMLInputElement | null>;
isOpen: Ref<boolean, boolean>;
searchQuery: Ref<string, string>;
dropdownStyle: ComputedRef<Record<string, string>>;
filteredOptions: ComputedRef<SelectOption[]>;
hasSelected: ComputedRef<boolean>;
selectedOptions: ComputedRef<SelectOption[]>;
selectedLabel: ComputedRef<string>;
isOptionSelected: (option: SelectOption) => boolean;
selectOption: (option: SelectOption) => void;
removeOption: (option: SelectOption) => void;
handleClear: () => void;
handleSearch: () => void;
toggleDropdown: () => void;
closeDropdown: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("update:modelValue" | "change" | "focus" | "blur" | "clear" | "visible-change")[], "update:modelValue" | "change" | "focus" | "blur" | "clear" | "visible-change", PublicProps, Readonly< ExtractPropTypes<{
modelValue: {
type: (StringConstructor | NumberConstructor | ArrayConstructor)[];
default: string;
};
options: {
type: () => SelectOption[];
default: () => never[];
};
placeholder: {
type: StringConstructor;
default: string;
};
size: {
type: StringConstructor;
default: string;
validator: (value: string) => boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
readonly: {
type: BooleanConstructor;
default: boolean;
};
clearable: {
type: BooleanConstructor;
default: boolean;
};
multiple: {
type: BooleanConstructor;
default: boolean;
};
filterable: {
type: BooleanConstructor;
default: boolean;
};
searchPlaceholder: {
type: StringConstructor;
default: string;
};
emptyText: {
type: StringConstructor;
default: string;
};
label: {
type: StringConstructor;
default: string;
};
required: {
type: BooleanConstructor;
default: boolean;
};
error: {
type: BooleanConstructor;
default: boolean;
};
errorMessage: {
type: StringConstructor;
default: string;
};
helpText: {
type: StringConstructor;
default: string;
};
dropdownWidth: {
type: (StringConstructor | NumberConstructor)[];
default: string;
};
maxHeight: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
}>> & Readonly<{
onFocus?: ((...args: any[]) => any) | undefined;
onBlur?: ((...args: any[]) => any) | undefined;
onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
onClear?: ((...args: any[]) => any) | undefined;
"onVisible-change"?: ((...args: any[]) => any) | undefined;
}>, {
size: string;
disabled: boolean;
label: string;
required: boolean;
modelValue: string | number | unknown[];
placeholder: string;
readonly: boolean;
clearable: boolean;
error: boolean;
errorMessage: string;
helpText: string;
options: SelectOption[];
multiple: boolean;
filterable: boolean;
searchPlaceholder: string;
emptyText: string;
dropdownWidth: string | number;
maxHeight: string | number;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;