UNPKG

2.42 kBTypeScriptView Raw
1import * as React from 'react';
2import { SxProps } from '@mui/system';
3import { OverridableStringUnion } from '@mui/types';
4import { InternalStandardProps as StandardProps, Theme } from '..';
5import { CircularProgressClasses } from './circularProgressClasses';
6
7export interface CircularProgressPropsColorOverrides {}
8
9export interface CircularProgressProps
10 extends StandardProps<React.HTMLAttributes<HTMLSpanElement>, 'children'> {
11 /**
12 * Override or extend the styles applied to the component.
13 */
14 classes?: Partial<CircularProgressClasses>;
15 /**
16 * The color of the component.
17 * It supports both default and custom theme colors, which can be added as shown in the
18 * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
19 * @default 'primary'
20 */
21 color?: OverridableStringUnion<
22 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | 'inherit',
23 CircularProgressPropsColorOverrides
24 >;
25 /**
26 * If `true`, the shrink animation is disabled.
27 * This only works if variant is `indeterminate`.
28 * @default false
29 */
30 disableShrink?: boolean;
31 /**
32 * The size of the component.
33 * If using a number, the pixel unit is assumed.
34 * If using a string, you need to provide the CSS unit, for example '3rem'.
35 * @default 40
36 */
37 size?: number | string;
38 /**
39 * The system prop that allows defining system overrides as well as additional CSS styles.
40 */
41 sx?: SxProps<Theme>;
42 /**
43 * The thickness of the circle.
44 * @default 3.6
45 */
46 thickness?: number;
47 /**
48 * The value of the progress indicator for the determinate variant.
49 * Value between 0 and 100.
50 * @default 0
51 */
52 value?: number;
53 /**
54 * The variant to use.
55 * Use indeterminate when there is no progress value.
56 * @default 'indeterminate'
57 */
58 variant?: 'determinate' | 'indeterminate';
59}
60
61/**
62 * ## ARIA
63 *
64 * If the progress bar is describing the loading progress of a particular region of a page,
65 * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`
66 * attribute to `true` on that region until it has finished loading.
67 *
68 * Demos:
69 *
70 * - [Progress](https://mui.com/material-ui/react-progress/)
71 *
72 * API:
73 *
74 * - [CircularProgress API](https://mui.com/material-ui/api/circular-progress/)
75 */
76export default function CircularProgress(props: CircularProgressProps): React.JSX.Element;