@itwin/itwinui-react
Version:
A react component library for iTwinUI
22 lines (21 loc) • 659 B
JavaScript
import * as React from 'react';
import { VisuallyHidden } from '../../core/VisuallyHidden/VisuallyHidden.js';
import { getWindow } from '../functions/index.js';
export const AutoclearingHiddenLiveRegion = ({ text, ...props }) => {
let [maybeText, setMaybeText] = React.useState(text);
React.useEffect(() => {
setMaybeText(text);
let timeout = getWindow()?.setTimeout(() => setMaybeText(''), 5000);
return () => void getWindow()?.clearTimeout(timeout);
}, [text]);
return React.createElement(
VisuallyHidden,
{
as: 'div',
'aria-live': 'polite',
'aria-atomic': 'true',
...props,
},
maybeText,
);
};