@@ -37,7 +37,7 @@ type SpinnerProps = Readonly<
37
37
* be used with care and only if it prevents render performance
38
38
* issues.
39
39
*/
40
- unmountedWhileLoading ?: boolean ;
40
+ unmountChildrenWhileLoading ?: boolean ;
41
41
42
42
/**
43
43
* Specifies whether there should be a delay before the spinner
@@ -54,7 +54,7 @@ type SpinnerProps = Readonly<
54
54
* it in case the modal can close quickly enough. It's lying to the
55
55
* user in a way that makes the UI feel more polished.)
56
56
*/
57
- spinnerStartDelayMs ?: number ;
57
+ spinnerDelayMs ?: number ;
58
58
}
59
59
> ;
60
60
@@ -72,14 +72,14 @@ export const Spinner: FC<SpinnerProps> = ({
72
72
size,
73
73
loading,
74
74
children,
75
- spinnerStartDelayMs = 0 ,
76
- unmountedWhileLoading = false ,
75
+ spinnerDelayMs = 0 ,
76
+ unmountChildrenWhileLoading = false ,
77
77
...delegatedProps
78
78
} ) => {
79
79
// Disallow negative timeout values and fractional values, but also round
80
80
// the delay down if it's small enough that it might as well be immediate
81
81
// from a user perspective
82
- let safeDelay = Math . trunc ( spinnerStartDelayMs ) ;
82
+ let safeDelay = Math . trunc ( spinnerDelayMs ) ;
83
83
if ( safeDelay < 100 ) {
84
84
safeDelay = 0 ;
85
85
}
@@ -95,7 +95,9 @@ export const Spinner: FC<SpinnerProps> = ({
95
95
if ( delayLapsed && ! loading ) {
96
96
setDelayLapsed ( false ) ;
97
97
}
98
- if ( ! delayLapsed && safeDelay === 0 && cachedDelay !== safeDelay ) {
98
+ const delayWasRemovedOnRerender =
99
+ ! delayLapsed && safeDelay === 0 && cachedDelay !== safeDelay ;
100
+ if ( delayWasRemovedOnRerender ) {
99
101
setDelayLapsed ( true ) ;
100
102
setCachedDelay ( safeDelay ) ;
101
103
}
@@ -148,7 +150,7 @@ export const Spinner: FC<SpinnerProps> = ({
148
150
) ) }
149
151
</ svg >
150
152
151
- { ! unmountedWhileLoading && (
153
+ { ! unmountChildrenWhileLoading && (
152
154
< div className = "sr-only" >
153
155
This content is loading:
154
156
{ children }
0 commit comments