vue-tags-input icon indicating copy to clipboard operation
vue-tags-input copied to clipboard

Typescript support?

Open avxkim opened this issue 5 years ago • 3 comments

It doesn't have types.

avxkim avatar Sep 05 '19 06:09 avxkim

waiting for it :smile:

danielbonifacio avatar Apr 04 '20 14:04 danielbonifacio

+1 🙏

voxivoid avatar Jul 28 '20 20:07 voxivoid

import Vue from 'vue';

declare namespace VueTagsInput {
    export interface ITag {
        text: string;
        tiClasses: string[];
    }

    export interface IAddArgs {
        tag: ITag;
        addTag(): void;
    }

    export interface IDeleteArgs {
        index: number;
        tag: ITag;
        deleteTag(): void;
    }

    export interface IValidation {
        classes: string;
        rule: (text: string) => boolean | RegExp;
        disableAdd?: boolean;
    }
}

declare class VueTagsInput extends Vue {
    public get disabled(): boolean;
    public get maxlength(): number;
    public get placeholder(): string;
    public get separators(): string[];
    public get tags(): VueTagsInput.ITag[];
    public get validation(): VueTagsInput.IValidation[];

    public isSelected(index: number): boolean;
    public isMarked(index: number): boolean;
    public focus(index: number): void;
    public quote(regex: string): void;
    public cancelEdit(index: number): void;
    public createTagTexts(string: string): VueTagsInput.ITag[];
    public deleteTag(index: number): void;
    public addTag(tag: VueTagsInput.ITag, source?: string): void;
    public saveTag(index: number, tag: VueTagsInput.ITag): void;
    public initTags(): void;
}

export default VueTagsInput;
export as namespace VueTagsInput;

It works for me. I've tried adding and deleting, but I haven't tested validations, edits.

ume05rw avatar Aug 18 '20 08:08 ume05rw