86 lines
3.1 KiB
TypeScript
86 lines
3.1 KiB
TypeScript
import * as React from 'react';
|
|
import type { SemanticClassNamesType, SemanticStylesType } from '../_util/hooks';
|
|
import type { SizeType } from '../config-provider/SizeContext';
|
|
export type ProgressSemanticName = keyof ProgressSemanticClassNames & keyof ProgressSemanticStyles;
|
|
export type ProgressSemanticClassNames = {
|
|
root?: string;
|
|
body?: string;
|
|
rail?: string;
|
|
track?: string;
|
|
indicator?: string;
|
|
};
|
|
export type ProgressSemanticStyles = {
|
|
root?: React.CSSProperties;
|
|
body?: React.CSSProperties;
|
|
rail?: React.CSSProperties;
|
|
track?: React.CSSProperties;
|
|
indicator?: React.CSSProperties;
|
|
};
|
|
export type ProgressClassNamesType = SemanticClassNamesType<ProgressProps, ProgressSemanticClassNames>;
|
|
export type ProgressStylesType = SemanticStylesType<ProgressProps, ProgressSemanticStyles>;
|
|
export declare const ProgressTypes: readonly ["line", "circle", "dashboard"];
|
|
export type ProgressType = (typeof ProgressTypes)[number];
|
|
declare const ProgressStatuses: readonly ["normal", "exception", "active", "success"];
|
|
/**
|
|
* Note: `default` is deprecated and will be removed in v7, please use `medium` instead.
|
|
*/
|
|
export type ProgressSize = Exclude<SizeType, 'large'> | 'default';
|
|
export type StringGradients = Record<string, string>;
|
|
type FromToGradients = {
|
|
from: string;
|
|
to: string;
|
|
};
|
|
export type ProgressGradient = {
|
|
direction?: string;
|
|
} & (StringGradients | FromToGradients);
|
|
export interface PercentPositionType {
|
|
align?: 'start' | 'center' | 'end';
|
|
type?: 'inner' | 'outer';
|
|
}
|
|
export interface SuccessProps {
|
|
percent?: number;
|
|
strokeColor?: string;
|
|
}
|
|
export type ProgressAriaProps = Pick<React.AriaAttributes, 'aria-label' | 'aria-labelledby'>;
|
|
export type GapPlacement = 'top' | 'bottom' | 'start' | 'end';
|
|
export type GapPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
export interface ProgressProps extends ProgressAriaProps {
|
|
prefixCls?: string;
|
|
className?: string;
|
|
rootClassName?: string;
|
|
classNames?: ProgressClassNamesType;
|
|
styles?: ProgressStylesType;
|
|
type?: ProgressType;
|
|
percent?: number;
|
|
format?: (percent?: number, successPercent?: number) => React.ReactNode;
|
|
status?: (typeof ProgressStatuses)[number];
|
|
showInfo?: boolean;
|
|
strokeWidth?: number;
|
|
strokeLinecap?: 'butt' | 'square' | 'round';
|
|
strokeColor?: string | string[] | ProgressGradient;
|
|
/** @deprecated Please use `railColor` instead */
|
|
trailColor?: string;
|
|
railColor?: string;
|
|
/** @deprecated Use `size` instead */
|
|
width?: number;
|
|
success?: SuccessProps;
|
|
style?: React.CSSProperties;
|
|
gapDegree?: number;
|
|
gapPlacement?: GapPlacement;
|
|
/** @deprecated please use `gapPlacement` instead */
|
|
gapPosition?: GapPosition;
|
|
size?: number | [number | string, number] | ProgressSize | {
|
|
width?: number;
|
|
height?: number;
|
|
};
|
|
steps?: number | {
|
|
count: number;
|
|
gap: number;
|
|
};
|
|
percentPosition?: PercentPositionType;
|
|
children?: React.ReactNode;
|
|
rounding?: (step: number) => number;
|
|
}
|
|
declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
|
|
export default Progress;
|