hongluan-ui
Version:
Hongluan Component Library for Vue 3
111 lines (110 loc) • 2.82 kB
TypeScript
import type { SVGAttributes, ExtractPropTypes, PropType } from 'vue';
export declare type ProgressFuncType = (percentage: number) => string;
export declare type StackType = {
percentage: number;
type: string;
striped: boolean;
indicating: boolean;
active: boolean;
format: ProgressFuncType;
};
export declare type ProgressColor = string | Array<string | {
color: string;
percentage: number;
}> | ProgressFuncType;
export interface IProgressProps {
percentage?: number;
type?: string;
format: ProgressFuncType;
striped: boolean;
active: boolean;
indicating: boolean;
showText: boolean;
showAs: string;
stack: StackType[];
text: string;
strokeWidth: string;
trackColor: string;
strokeLinecap: NonNullable<SVGAttributes['stroke-linecap']>;
width?: number;
color: ProgressColor;
align: string;
}
export declare const progressProps: {
/**
* @description percentage, required
*/
percentage: {
type: NumberConstructor;
default: number;
validator: (val: number) => boolean;
};
/**
* @description type of progress bar
*/
type: StringConstructor;
/**
* @description custom text format
*/
format: {
type: PropType<ProgressFuncType>;
default: (percentage: number) => string;
};
/**
* @description stripe over the progress bar's color
*/
striped: BooleanConstructor;
active: BooleanConstructor;
indicating: BooleanConstructor;
/**
* @description whether to show percentage
*/
showText: {
type: BooleanConstructor;
default: boolean;
};
round: BooleanConstructor;
showAs: {
type: StringConstructor;
default: string;
validator: (val: string) => boolean;
};
stack: {
type: PropType<StackType[]>;
default: () => any[];
validator: (val: Array<{
percentage: number;
}>) => boolean;
};
text: {
type: StringConstructor;
default: string;
};
/**
* @description the width of progress bar
*/
strokeWidth: {
type: StringConstructor;
};
trackColor: {
type: StringConstructor;
};
/**
* @description butt/circle/dashboard type shape at the end path
*/
strokeLinecap: {
type: PropType<"round" | "inherit" | "butt" | "square">;
default: "round" | "inherit" | "butt" | "square";
};
/**
* @description background color of progress bar. Overrides `status` prop
*/
color: {
type: PropType<ProgressColor>;
default: string;
};
align: {
type: StringConstructor;
};
};
export declare type ProgressProps = ExtractPropTypes<typeof progressProps>;