@@ -7,8 +7,6 @@ import { Colors, colorPropType } from '../Types'
7
7
export interface CSpinnerProps extends HTMLAttributes < HTMLDivElement | HTMLSpanElement > {
8
8
/**
9
9
* A string of all className you want applied to the component. [docs]
10
- *
11
- * @default 'undefined'
12
10
*/
13
11
className ?: string
14
12
/**
@@ -25,8 +23,6 @@ export interface CSpinnerProps extends HTMLAttributes<HTMLDivElement | HTMLSpanE
25
23
component ?: string | ElementType
26
24
/**
27
25
* Size the component small. [docs]
28
- *
29
- * @default 'undefined'
30
26
*/
31
27
size ?: 'sm'
32
28
/**
@@ -35,10 +31,27 @@ export interface CSpinnerProps extends HTMLAttributes<HTMLDivElement | HTMLSpanE
35
31
* @default 'border'
36
32
*/
37
33
variant ?: 'border' | 'grow'
34
+ /**
35
+ * Set visually hidden label for accessibility purposes. [docs]
36
+ *
37
+ * @default 'Loading...'
38
+ */
39
+ visuallyHiddenLabel ?: string
38
40
}
39
41
40
42
export const CSpinner = forwardRef < HTMLDivElement | HTMLSpanElement , CSpinnerProps > (
41
- ( { className, color, component : Component = 'div' , size, variant = 'border' , ...rest } , ref ) => {
43
+ (
44
+ {
45
+ className,
46
+ color,
47
+ component : Component = 'div' ,
48
+ size,
49
+ variant = 'border' ,
50
+ visuallyHiddenLabel = 'Loading...' ,
51
+ ...rest
52
+ } ,
53
+ ref ,
54
+ ) => {
42
55
const _className = classNames (
43
56
`spinner-${ variant } ` ,
44
57
`text-${ color } ` ,
@@ -48,7 +61,7 @@ export const CSpinner = forwardRef<HTMLDivElement | HTMLSpanElement, CSpinnerPro
48
61
49
62
return (
50
63
< Component className = { _className } role = "status" { ...rest } ref = { ref } >
51
- < span className = "visually-hidden" > Loading... </ span >
64
+ < span className = "visually-hidden" > { visuallyHiddenLabel } </ span >
52
65
</ Component >
53
66
)
54
67
} ,
@@ -60,6 +73,7 @@ CSpinner.propTypes = {
60
73
component : PropTypes . string ,
61
74
size : PropTypes . oneOf ( [ 'sm' ] ) ,
62
75
variant : PropTypes . oneOf ( [ 'border' , 'grow' ] ) ,
76
+ visuallyHiddenLabel : PropTypes . string ,
63
77
}
64
78
65
79
CSpinner . displayName = 'CSpinner'
0 commit comments