@morehook/component
Version:
关于 vue 的小型业务组件库
145 lines (133 loc) • 4.1 kB
TypeScript
import * as vue from 'vue-demi';
import { App, ExtractPropTypes, PropType } from 'vue-demi';
declare type EventShim = {
new (...args: any[]): {
$props: {
onClick?: (...args: any[]) => void;
};
};
};
declare type WithInstall<T> = T & {
install(app: App): void;
} & EventShim;
declare type ButtonType = 'default' | 'primary' | 'success' | 'warning' | 'danger';
declare type ButtonSize = 'large' | 'normal' | 'small' | 'mini';
declare const useSmallBtn: () => {
smallBtnDefaultText: any;
};
declare type ButtonProps = ExtractPropTypes<typeof buttonProps>;
declare const buttonProps: {
text: StringConstructor;
type: {
type: vue.PropType<ButtonType>;
default: ButtonType;
};
loadingText: StringConstructor;
color: StringConstructor;
loading: BooleanConstructor;
disabled: BooleanConstructor;
};
declare const useBtn: () => {
btnDefaultText: any;
};
declare const Button: WithInstall<vue.DefineComponent<{
text: StringConstructor;
type: {
type: vue.PropType<ButtonType>;
default: ButtonType;
};
loadingText: StringConstructor;
color: StringConstructor;
loading: BooleanConstructor;
disabled: BooleanConstructor;
}, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, ("click" | "clickSmall")[], "click" | "clickSmall", vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
text: StringConstructor;
type: {
type: vue.PropType<ButtonType>;
default: ButtonType;
};
loadingText: StringConstructor;
color: StringConstructor;
loading: BooleanConstructor;
disabled: BooleanConstructor;
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
onClickSmall?: ((...args: any[]) => any) | undefined;
}, {
type: ButtonType;
loading: boolean;
disabled: boolean;
}>>;
declare module 'vue-demi' {
interface GlobalComponents {
FastUseButton: typeof Button;
}
}
declare type TagSize = 'large' | 'medium';
declare type TagType = 'default' | 'primary' | 'success' | 'warning' | 'danger';
declare type TagProps = ExtractPropTypes<typeof tagProps>;
declare const tagProps: {
size: PropType<TagSize>;
mark: BooleanConstructor;
show: {
type: BooleanConstructor;
default: true;
};
type: {
type: PropType<TagType>;
default: TagType;
};
color: StringConstructor;
plain: BooleanConstructor;
round: BooleanConstructor;
textColor: StringConstructor;
closeable: BooleanConstructor;
};
declare const Tag: WithInstall<vue.DefineComponent<{
size: vue.PropType<TagSize>;
mark: BooleanConstructor;
show: {
type: BooleanConstructor;
default: true;
};
type: {
type: vue.PropType<TagType>;
default: TagType;
};
color: StringConstructor;
plain: BooleanConstructor;
round: BooleanConstructor;
textColor: StringConstructor;
closeable: BooleanConstructor;
}, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, "close"[], "close", vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
size: vue.PropType<TagSize>;
mark: BooleanConstructor;
show: {
type: BooleanConstructor;
default: true;
};
type: {
type: vue.PropType<TagType>;
default: TagType;
};
color: StringConstructor;
plain: BooleanConstructor;
round: BooleanConstructor;
textColor: StringConstructor;
closeable: BooleanConstructor;
}>> & {
onClose?: ((...args: any[]) => any) | undefined;
}, {
type: TagType;
mark: boolean;
show: boolean;
plain: boolean;
round: boolean;
closeable: boolean;
}>>;
declare module 'vue-demi' {
interface GlobalComponents {
FastUseTag: typeof Tag;
}
}
export { Button, ButtonProps, ButtonSize, ButtonType, Tag, TagProps, TagSize, TagType, buttonProps, tagProps, useBtn, useSmallBtn };