1 | import * as React from 'react';
|
2 | import { ProgressIndicatorBase } from './ProgressIndicator.base';
|
3 | import type { IStyle, ITheme } from '../../Styling';
|
4 | import type { IStyleFunctionOrObject, IRenderFunction } from '../../Utilities';
|
5 | /**
|
6 | * {@docCategory ProgressIndicator}
|
7 | */
|
8 | export 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 | */
|
65 | export 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 | */
|
80 | export 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 | }
|