@dcodegroup/vue-mention
Version:
Mention popper for input and textarea
525 lines (524 loc) • 16.4 kB
TypeScript
import { PropType } from 'vue';
export interface MentionItem {
searchText?: string;
label?: string;
value: any;
}
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
keys: {
type: PropType<string[]>;
required: true;
};
items: {
type: PropType<MentionItem[]>;
default: () => any[];
};
omitKey: {
type: BooleanConstructor;
default: boolean;
};
filteringDisabled: {
type: BooleanConstructor;
default: boolean;
};
insertSpace: {
type: BooleanConstructor;
default: boolean;
};
allowSpace: {
type: BooleanConstructor;
default: boolean;
};
mapInsert: {
type: PropType<(item: MentionItem, key: string) => string>;
default: any;
};
limit: {
type: NumberConstructor;
default: number;
};
theme: {
type: StringConstructor;
default: string;
};
caretHeight: {
type: NumberConstructor;
default: number;
};
}>, {
el: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
currentKey: import("vue").Ref<string, string>;
oldKey: import("vue").Ref<string, string>;
caretPosition: import("vue").Ref<any, any>;
displayedItems: import("vue").ComputedRef<MentionItem[]>;
selectedIndex: import("vue").Ref<number, number>;
applyMention: (itemIndex: number) => void;
isMentioning: import("vue").Ref<boolean, boolean>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("search" | "open" | "close" | "apply")[], "search" | "open" | "close" | "apply", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
keys: {
type: PropType<string[]>;
required: true;
};
items: {
type: PropType<MentionItem[]>;
default: () => any[];
};
omitKey: {
type: BooleanConstructor;
default: boolean;
};
filteringDisabled: {
type: BooleanConstructor;
default: boolean;
};
insertSpace: {
type: BooleanConstructor;
default: boolean;
};
allowSpace: {
type: BooleanConstructor;
default: boolean;
};
mapInsert: {
type: PropType<(item: MentionItem, key: string) => string>;
default: any;
};
limit: {
type: NumberConstructor;
default: number;
};
theme: {
type: StringConstructor;
default: string;
};
caretHeight: {
type: NumberConstructor;
default: number;
};
}>> & Readonly<{
onClose?: (...args: any[]) => any;
onSearch?: (...args: any[]) => any;
onOpen?: (...args: any[]) => any;
onApply?: (...args: any[]) => any;
}>, {
theme: string;
items: MentionItem[];
omitKey: boolean;
filteringDisabled: boolean;
insertSpace: boolean;
allowSpace: boolean;
mapInsert: (item: MentionItem, key: string) => string;
limit: number;
caretHeight: number;
}, {}, {
VDropdown: import("vue").DefineComponent<{
theme: {
type: StringConstructor;
default: any;
};
referenceNode: {
type: import("vue").PropType<() => Element>;
default: any;
};
shown: {
type: BooleanConstructor;
default: boolean;
};
showGroup: {
type: StringConstructor;
default: any;
};
ariaId: {
default: any;
};
disabled: {
type: BooleanConstructor;
default: any;
};
positioningDisabled: {
type: BooleanConstructor;
default: any;
};
placement: {
type: StringConstructor;
default: any;
};
delay: {
type: import("vue").PropType<string | number | {
show: number;
hide: number;
}>;
default: any;
};
distance: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
skidding: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
triggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[]>;
default: any;
};
showTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
hideTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
popperTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[]>;
default: any;
};
popperShowTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
popperHideTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
container: {
type: (ObjectConstructor | {
new (): Element;
prototype: Element;
} | StringConstructor | BooleanConstructor)[];
default: any;
};
boundary: {
type: ({
new (): Element;
prototype: Element;
} | StringConstructor)[];
default: any;
};
strategy: {
type: StringConstructor;
default: any;
};
autoHide: {
type: import("vue").PropType<boolean | ((event: Event) => boolean)>;
default: any;
};
handleResize: {
type: BooleanConstructor;
default: any;
};
instantMove: {
type: BooleanConstructor;
default: any;
};
eagerMount: {
type: BooleanConstructor;
default: any;
};
popperClass: {
type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
default: any;
};
computeTransformOrigin: {
type: BooleanConstructor;
default: any;
};
autoMinSize: {
type: BooleanConstructor;
default: any;
};
autoSize: {
type: (StringConstructor | BooleanConstructor)[];
default: any;
};
autoMaxSize: {
type: BooleanConstructor;
default: any;
};
autoBoundaryMaxSize: {
type: BooleanConstructor;
default: any;
};
preventOverflow: {
type: BooleanConstructor;
default: any;
};
overflowPadding: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
arrowPadding: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
arrowOverflow: {
type: BooleanConstructor;
default: any;
};
flip: {
type: BooleanConstructor;
default: any;
};
shift: {
type: BooleanConstructor;
default: any;
};
shiftCrossAxis: {
type: BooleanConstructor;
default: any;
};
noAutoFocus: {
type: BooleanConstructor;
default: any;
};
disposeTimeout: {
type: NumberConstructor;
default: any;
};
}, unknown, unknown, {
finalTheme(): string;
}, {
getTargetNodes(): unknown[];
}, {
computed: {
themeClass(): string[];
};
} | {
methods: {
show(...args: any[]): any;
hide(...args: any[]): any;
dispose(...args: any[]): any;
onResize(...args: any[]): any;
};
}, import("vue").ComponentOptionsMixin, {
show: () => true;
hide: () => true;
'update:shown': (shown: boolean) => true;
'apply-show': () => true;
'apply-hide': () => true;
'close-group': () => true;
'close-directive': () => true;
'auto-hide': () => true;
resize: () => true;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
theme: {
type: StringConstructor;
default: any;
};
referenceNode: {
type: import("vue").PropType<() => Element>;
default: any;
};
shown: {
type: BooleanConstructor;
default: boolean;
};
showGroup: {
type: StringConstructor;
default: any;
};
ariaId: {
default: any;
};
disabled: {
type: BooleanConstructor;
default: any;
};
positioningDisabled: {
type: BooleanConstructor;
default: any;
};
placement: {
type: StringConstructor;
default: any;
};
delay: {
type: import("vue").PropType<string | number | {
show: number;
hide: number;
}>;
default: any;
};
distance: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
skidding: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
triggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[]>;
default: any;
};
showTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
hideTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
popperTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[]>;
default: any;
};
popperShowTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
popperHideTriggers: {
type: import("vue").PropType<import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[])>;
default: any;
};
container: {
type: (ObjectConstructor | {
new (): Element;
prototype: Element;
} | StringConstructor | BooleanConstructor)[];
default: any;
};
boundary: {
type: ({
new (): Element;
prototype: Element;
} | StringConstructor)[];
default: any;
};
strategy: {
type: StringConstructor;
default: any;
};
autoHide: {
type: import("vue").PropType<boolean | ((event: Event) => boolean)>;
default: any;
};
handleResize: {
type: BooleanConstructor;
default: any;
};
instantMove: {
type: BooleanConstructor;
default: any;
};
eagerMount: {
type: BooleanConstructor;
default: any;
};
popperClass: {
type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
default: any;
};
computeTransformOrigin: {
type: BooleanConstructor;
default: any;
};
autoMinSize: {
type: BooleanConstructor;
default: any;
};
autoSize: {
type: (StringConstructor | BooleanConstructor)[];
default: any;
};
autoMaxSize: {
type: BooleanConstructor;
default: any;
};
autoBoundaryMaxSize: {
type: BooleanConstructor;
default: any;
};
preventOverflow: {
type: BooleanConstructor;
default: any;
};
overflowPadding: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
arrowPadding: {
type: (StringConstructor | NumberConstructor)[];
default: any;
};
arrowOverflow: {
type: BooleanConstructor;
default: any;
};
flip: {
type: BooleanConstructor;
default: any;
};
shift: {
type: BooleanConstructor;
default: any;
};
shiftCrossAxis: {
type: BooleanConstructor;
default: any;
};
noAutoFocus: {
type: BooleanConstructor;
default: any;
};
disposeTimeout: {
type: NumberConstructor;
default: any;
};
}>> & {
onResize?: () => any;
onShow?: () => any;
onHide?: () => any;
"onUpdate:shown"?: (shown: boolean) => any;
"onApply-show"?: () => any;
"onApply-hide"?: () => any;
"onClose-group"?: () => any;
"onClose-directive"?: () => any;
"onAuto-hide"?: () => any;
}, {
placement: string;
strategy: string;
disabled: boolean;
positioningDisabled: boolean;
delay: string | number | {
show: number;
hide: number;
};
distance: string | number;
skidding: string | number;
triggers: import("floating-vue").TriggerEvent[];
showTriggers: import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[]);
hideTriggers: import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[]);
popperTriggers: import("floating-vue").TriggerEvent[];
popperShowTriggers: import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[]);
popperHideTriggers: import("floating-vue").TriggerEvent[] | ((triggers: import("floating-vue").TriggerEvent[]) => import("floating-vue").TriggerEvent[]);
container: string | boolean | Element | Record<string, any>;
boundary: string | Element;
autoHide: boolean | ((event: Event) => boolean);
handleResize: boolean;
instantMove: boolean;
eagerMount: boolean;
popperClass: string | unknown[] | Record<string, any>;
computeTransformOrigin: boolean;
autoMinSize: boolean;
autoSize: string | boolean;
autoMaxSize: boolean;
autoBoundaryMaxSize: boolean;
preventOverflow: boolean;
overflowPadding: string | number;
arrowPadding: string | number;
arrowOverflow: boolean;
flip: boolean;
shift: boolean;
shiftCrossAxis: boolean;
noAutoFocus: boolean;
disposeTimeout: number;
shown: boolean;
theme: string;
referenceNode: () => Element;
showGroup: string;
ariaId: any;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;