UNPKG

@awsui/components-react

Version:

AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A

34 lines (33 loc) 1.26 kB
import React, { useMemo, useRef } from 'react'; import { LiveRegion } from '../internal/components/live-region'; import defaultOptionDescription from '../internal/components/option/option-announcer'; import { getParentGroup } from './controller'; var Announcer = function (_a) { var item = _a.item, usingMouse = _a.usingMouse; var prevAnnouncedGroup = useRef(undefined); var prevAnnouncement = useRef(''); var message = useMemo(function () { if (usingMouse.current) { return prevAnnouncement.current; } if (!item) { prevAnnouncement.current = ''; prevAnnouncedGroup.current = undefined; return ''; } else { var parentGroup = getParentGroup(item); if (parentGroup !== prevAnnouncedGroup.current) { prevAnnouncedGroup.current = parentGroup; } else { parentGroup = undefined; } var message_1 = defaultOptionDescription(item, parentGroup); prevAnnouncement.current = message_1; return message_1; } }, [item, usingMouse]); return React.createElement(LiveRegion, { message: message }); }; export default Announcer;