baseui
Version:
A React Component library implementing the Base design language
69 lines (68 loc) • 2.38 kB
TypeScript
import type * as React from 'react';
import type { Override } from '../helpers/overrides';
import type { SIZE } from './constants';
export type Size = keyof typeof SIZE;
export type ProgressBarOverrides = {
Root?: Override;
BarContainer?: Override;
Bar?: Override;
BarProgress?: Override;
InfiniteBar?: Override;
Label?: Override;
};
export type ProgressBarProps = {
/** The accessible label for the progress bar (getProgressLabel will be used if not provided) */
ariaLabel?: string;
'aria-label'?: string;
children?: React.ReactNode;
/** Error message for screen-reader users**/
errorMessage?: string;
/** The function that returns a progress bar label to display. */
getProgressLabel: (value: number, maxValue: number, minValue: number) => React.ReactNode;
/** If set to true, there’s and infinite loading animation. */
infinite: boolean;
overrides?: ProgressBarOverrides;
/** If set to false, label is hidden and `getProgressLabel` is ignored. */
showLabel: boolean;
/** Defines the size (thickness) of the progress bar. */
size: Size;
/** Renders a sectional progress bar. Value should be set to a positive number larger than one. */
steps: number;
/** A custom completion value. Should be replaced by maxValue prop. */
successValue: number;
/** Maximum possible value. */
maxValue: number;
/** Minimum possible value. */
minValue: number;
/** The value between `0` and `100 | successValue` of the progress indicator. */
value: number;
};
export type StyleProps = {
$infinite: boolean;
$index: number;
$size: Size;
$steps: number;
$successValue: number;
$minValue: number;
$maxValue: number;
$value: number;
};
export type ProgressBarRoundedOverrides = {
Root?: Override;
Svg?: Override;
TrackBackground?: Override;
TrackForeground?: Override;
Text?: Override;
};
export type ProgressBarRoundedProps = {
/** A number between 0 and 1 inclusive. Example: 0.75. */
progress?: number;
/** The size of the progress bar. */
size?: Size;
/** Toggle animating progress. */
animate?: boolean;
/** Toggle container rendering as a block or inline. */
inline?: boolean;
/** Overrides for sub-nodes in the rendering tree. */
overrides?: ProgressBarRoundedOverrides;
};