UNPKG

@azure/communication-react

Version:

React library for building modern communication user experiences utilizing Azure Communication Services

29 lines 1.15 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /// Adapted from: https://github.com/AlmeroSteyn/react-aria-live/blob/master/src/modules/AnnouncerMessage.js import { useCallback, useEffect } from 'react'; import { v1 as createGUID } from 'uuid'; /** @private */ const AnnouncerMessage = (props) => { const { message, ariaLive, clearOnUnmount, announceAssertive, announcePolite } = props; const announce = useCallback(() => { if (ariaLive === 'assertive') { announceAssertive(message || '', createGUID()); } else if (ariaLive === 'polite') { announcePolite(message || '', createGUID()); } }, [announceAssertive, announcePolite, ariaLive, message]); useEffect(() => { announce(); return () => { if (clearOnUnmount) { announceAssertive('', createGUID()); announcePolite('', createGUID()); } }; }, [message, clearOnUnmount, announce, announceAssertive, announcePolite]); return null; }; export default AnnouncerMessage; //# sourceMappingURL=AnnouncerMessage.js.map