UNPKG

2.68 kBTypeScriptView Raw
1import * as React from 'react';
2import { ProgressIndicatorBase } from './ProgressIndicator.base';
3import type { IStyle, ITheme } from '../../Styling';
4import type { IStyleFunctionOrObject, IRenderFunction } from '../../Utilities';
5/**
6 * {@docCategory ProgressIndicator}
7 */
8export interface IProgressIndicatorProps extends React.ClassAttributes<ProgressIndicatorBase> {
9 /**
10 * Call to provide customized styling that will layer on top of the variant rules.
11 */
12 styles?: IStyleFunctionOrObject<IProgressIndicatorStyleProps, IProgressIndicatorStyles>;
13 /**
14 * Theme provided by High-Order Component.
15 */
16 theme?: ITheme;
17 /**
18 * Additional css class to apply to the ProgressIndicator
19 * @defaultvalue undefined
20 */
21 className?: string;
22 /**
23 * Label to display above the control. May be a string or React virtual elements.
24 */
25 label?: React.ReactNode;
26 /**
27 * Add screen-reader-only label text to the progressbar.
28 * Prefer `label`, and use this only when other text or visual context provides a visible label
29 */
30 ariaLabel?: string;
31 /**
32 * Text describing or supplementing the operation. May be a string or React virtual elements.
33 */
34 description?: React.ReactNode;
35 /**
36 * Percentage of the operation's completeness, numerically between 0 and 1. If this is not set,
37 * the indeterminate progress animation will be shown instead.
38 */
39 percentComplete?: number;
40 /**
41 * Whether or not to hide the progress state.
42 */
43 progressHidden?: boolean;
44 /**
45 * A render override for the progress track.
46 */
47 onRenderProgress?: IRenderFunction<IProgressIndicatorProps>;
48 /**
49 * Text alternative of the progress status, used by screen readers for reading the value of the progress.
50 */
51 ariaValueText?: string;
52 /**
53 * @deprecated Use `label` instead. Deprecated at v0.43.0, to be removed at \>= v0.53.0.
54 */
55 title?: string;
56 /**
57 * Height of the ProgressIndicator
58 * @defaultvalue 2
59 */
60 barHeight?: number;
61}
62/**
63 * {@docCategory ProgressIndicator}
64 */
65export interface IProgressIndicatorStyleProps {
66 /**
67 * Theme provided by High-Order Component.
68 */
69 theme: ITheme;
70 /**
71 * Accept custom classNames
72 */
73 className?: string;
74 indeterminate?: boolean;
75 barHeight?: number;
76}
77/**
78 * {@docCategory ProgressIndicator}
79 */
80export interface IProgressIndicatorStyles {
81 /**
82 * Style for the root element.
83 */
84 root: IStyle;
85 itemName: IStyle;
86 itemDescription: IStyle;
87 itemProgress: IStyle;
88 progressTrack: IStyle;
89 progressBar: IStyle;
90}