vue-devui
Version:
DevUI components based on Vite and Vue3
58 lines (57 loc) • 1.86 kB
TypeScript
import type { ComputedRef, ExtractPropTypes, PropType, InjectionKey, Ref } from 'vue';
export declare type IButtonVariant = 'solid' | 'outline' | 'text';
export declare type IButtonColor = 'secondary' | 'primary' | 'danger';
export declare type IButtonSize = 'lg' | 'md' | 'sm';
export declare type IButtonShape = 'round' | 'circle';
export declare type IButtonType = 'button' | 'submit' | 'reset';
export declare const buttonProps: {
readonly variant: {
readonly type: PropType<IButtonVariant>;
readonly default: "outline";
};
readonly size: {
readonly type: PropType<IButtonSize>;
readonly default: "md";
};
readonly color: {
readonly type: PropType<IButtonColor>;
};
readonly icon: {
readonly type: StringConstructor;
readonly default: "";
};
readonly loading: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly shape: {
readonly type: PropType<IButtonShape>;
};
readonly nativeType: {
readonly type: PropType<IButtonType>;
readonly default: "button";
};
};
export declare const buttonGroupProps: {
readonly size: {
readonly type: PropType<IButtonSize>;
readonly default: "md";
};
};
export declare type ButtonProps = ExtractPropTypes<typeof buttonProps>;
export declare type ButtonGroupProps = ExtractPropTypes<typeof buttonGroupProps>;
export interface UseButtonReturnType {
classes: ComputedRef<{
[key: string]: string | boolean;
}>;
iconClass: ComputedRef<string>;
}
interface ButtonGroupInjection {
size: Ref<IButtonSize>;
}
export declare const buttonGroupInjectionKey: InjectionKey<ButtonGroupInjection>;
export {};