@workday/canvas-kit-labs-react
Version:
Canvas Kit Labs is an incubator for new and experimental components. Since we have a rather rigorous process for getting components in at a production level, it can be valuable to make them available earlier while we continuously iterate on the API/functi
23 lines (22 loc) • 1.19 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { useState, useEffect } from 'react';
import styled from '@emotion/styled';
import { accessibleHide } from '@workday/canvas-kit-react/common';
const Container = styled('div')(accessibleHide);
/**
* @deprecated ⚠️ `Status` in Labs has been deprecated and will be removed in a future major version. Please use [`Combobox` in Main](https://workday.github.io/canvas-kit/?path=/docs/features-combobox--docs) instead.
*/
export const Status = ({ ariaLive = 'polite', role = 'status', ariaRelevant = 'additions', expireMilliseconds = 500, announcementText = '', ariaAtomic, }) => {
const [displayText, setDisplayText] = useState(announcementText);
useEffect(() => {
if (!announcementText) {
return;
}
setDisplayText(announcementText);
const clearText = setTimeout(() => setDisplayText(''), expireMilliseconds);
return () => {
clearTimeout(clearText);
};
}, [announcementText, expireMilliseconds]);
return (_jsx(Container, { "aria-live": ariaLive, role: role, "aria-relevant": ariaRelevant, "aria-atomic": ariaAtomic, children: displayText }));
};