@dcodegroup-au/dsg-vue
Version:
Front-end Vue/Tailwind DSG for UntitledUI.
166 lines (165 loc) • 6.65 kB
TypeScript
import { Multiselect } from 'vue-multiselect';
/**
* ------------------------------------------------
* # Setup: Props/Variables/Models
* ------------------------------------------------
*/
export interface DsgInputSelectOption {
id: string | number;
label: string;
[key: string]: any;
}
export type DsgInputSelectSize = "sm" | "md" | "lg";
export interface DsgInputSelectProps {
options?: DsgInputSelectOption[];
multiple?: boolean;
fetchOnLoad?: boolean;
getUrl?: string;
extraParams?: {
[key: string]: any;
};
strategy?: "absolute" | "fixed";
placeholder?: string;
icon?: string | null;
label?: string;
showLabels?: boolean;
disabled?: boolean;
closeOnSelect?: boolean;
trackBy?: string;
contentMaxWidth?: string;
itemLabel?: string;
allowEmpty?: boolean;
validateOnLoad?: boolean;
useTeleport?: boolean;
wrapContent?: boolean;
contentWrapperClass?: string | string[];
selectLabel?: string;
selectedLabel?: string;
errors?: string[] | string;
scrollBind?: HTMLElement | Window;
size?: DsgInputSelectSize;
}
type __VLS_Props = DsgInputSelectProps;
type __VLS_PublicProps = {
"modelValue"?: any;
"single"?: any;
} & __VLS_Props;
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: Readonly<{
singleLabel: {
option?: DsgInputSelectOption | null;
};
option: {
option?: DsgInputSelectOption | null;
};
caret: {
toggle: () => void;
};
}> & {
singleLabel: {
option?: DsgInputSelectOption | null;
};
option: {
option?: DsgInputSelectOption | null;
};
caret: {
toggle: () => void;
};
};
refs: {
dsgInputSelectEl: HTMLDivElement;
multiselectEl: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue-multiselect').ComponentProps>, {}, {}, {}, {
activate(): void;
deactivate(): void;
}, import('vue').DefineComponent<import('vue-multiselect').MultiselectMixinProps> | import('vue').DefineComponent<import('vue-multiselect').PointerMixinProps>, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
P: Readonly<import('vue-multiselect').MultiselectMixinProps>;
B: {};
D: {};
C: import('vue').ComputedOptions;
M: import('vue').MethodOptions;
Defaults: {};
} & {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
} & {
P: Readonly<import('vue-multiselect').PointerMixinProps>;
B: {};
D: {};
C: import('vue').ComputedOptions;
M: import('vue').MethodOptions;
Defaults: {};
}, Readonly<import('vue-multiselect').MultiselectMixinProps> & Readonly<import('vue-multiselect').PointerMixinProps> & Readonly<import('vue-multiselect').ComponentProps>, {}, {}, import('vue').ComputedOptions, import('vue').MethodOptions & {
activate(): void;
deactivate(): void;
}, {} & {} & {}> | null;
};
rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
getInstance: () => typeof Multiselect | undefined | null;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
"update:modelValue": (value: any) => any;
"update:single": (value: any) => any;
} & {
select: (value: any, id: string | number) => any;
"update:modelValue": (value: any) => any;
"update:model-value": (value: any) => any;
"search-change": (queryTerm: string) => any;
tag: (label: any, id: string | number) => any;
open: (id: string | number) => any;
close: (value: any, id: string | number) => any;
remove: (value: any, id: string | number) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
onSelect?: ((value: any, id: string | number) => any) | undefined;
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
"onUpdate:model-value"?: ((value: any) => any) | undefined;
"onSearch-change"?: ((queryTerm: string) => any) | undefined;
onTag?: ((label: any, id: string | number) => any) | undefined;
onOpen?: ((id: string | number) => any) | undefined;
onClose?: ((value: any, id: string | number) => any) | undefined;
onRemove?: ((value: any, id: string | number) => any) | undefined;
"onUpdate:single"?: ((value: any) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
dsgInputSelectEl: HTMLDivElement;
multiselectEl: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue-multiselect').ComponentProps>, {}, {}, {}, {
activate(): void;
deactivate(): void;
}, import('vue').DefineComponent<import('vue-multiselect').MultiselectMixinProps> | import('vue').DefineComponent<import('vue-multiselect').PointerMixinProps>, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
P: Readonly<import('vue-multiselect').MultiselectMixinProps>;
B: {};
D: {};
C: import('vue').ComputedOptions;
M: import('vue').MethodOptions;
Defaults: {};
} & {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
} & {
P: Readonly<import('vue-multiselect').PointerMixinProps>;
B: {};
D: {};
C: import('vue').ComputedOptions;
M: import('vue').MethodOptions;
Defaults: {};
}, Readonly<import('vue-multiselect').MultiselectMixinProps> & Readonly<import('vue-multiselect').PointerMixinProps> & Readonly<import('vue-multiselect').ComponentProps>, {}, {}, import('vue').ComputedOptions, import('vue').MethodOptions & {
activate(): void;
deactivate(): void;
}, {} & {} & {}> | null;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};