@@ -202,6 +202,17 @@ export class RelativeTimeElement extends HTMLElement implements Intl.DateTimeFor
202
202
return `${ this . prefix } ${ formatter . format ( date ) } ` . trim ( )
203
203
}
204
204
205
+ #updateRenderRootContent( content : string | null ) : void {
206
+ if ( this . hasAttribute ( 'aria-hidden' ) && this . getAttribute ( 'aria-hidden' ) === 'true' ) {
207
+ const span = document . createElement ( 'span' )
208
+ span . setAttribute ( 'aria-hidden' , 'true' )
209
+ span . textContent = content
210
+ ; ( this . #renderRoot as Element ) . replaceChildren ( span )
211
+ } else {
212
+ this . #renderRoot. textContent = content
213
+ }
214
+ }
215
+
205
216
#onRelativeTimeUpdated: ( ( event : RelativeTimeUpdatedEvent ) => void ) | null = null
206
217
get onRelativeTimeUpdated ( ) {
207
218
return this . #onRelativeTimeUpdated
@@ -460,17 +471,10 @@ export class RelativeTimeElement extends HTMLElement implements Intl.DateTimeFor
460
471
}
461
472
462
473
if ( newText ) {
463
- if ( this . hasAttribute ( 'aria-hidden' ) && this . getAttribute ( 'aria-hidden' ) === 'true' ) {
464
- const span = document . createElement ( 'span' )
465
- span . setAttribute ( 'aria-hidden' , 'true' )
466
- span . textContent = newText
467
- ; ( this . #renderRoot as Element ) . replaceChildren ( span )
468
- } else {
469
- this . #renderRoot. textContent = newText
470
- }
474
+ this . #updateRenderRootContent( newText )
471
475
} else if ( this . shadowRoot === this . #renderRoot && this . textContent ) {
472
476
// Ensure invalid dates fall back to lightDOM text content
473
- this . #renderRoot . textContent = this . textContent
477
+ this . #updateRenderRootContent ( this . textContent )
474
478
}
475
479
476
480
if ( newText !== oldText || newTitle !== oldTitle ) {
0 commit comments