'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); const hiddenStyles = { display: 'none' }; function HiddenText(_ref) { let { id, value } = _ref; return React__default.createElement("div", { id: id, style: hiddenStyles }, value); } function LiveRegion(_ref) { let { id, announcement, ariaLiveType = "assertive" } = _ref; // Hide element visually but keep it readable by screen readers const visuallyHidden = { position: 'fixed', top: 0, left: 0, width: 1, height: 1, margin: -1, border: 0, padding: 0, overflow: 'hidden', clip: 'rect(0 0 0 0)', clipPath: 'inset(100%)', whiteSpace: 'nowrap' }; return React__default.createElement("div", { id: id, style: visuallyHidden, role: "status", "aria-live": ariaLiveType, "aria-atomic": true }, announcement); } function useAnnouncement() { const [announcement, setAnnouncement] = React.useState(''); const announce = React.useCallback(value => { if (value != null) { setAnnouncement(value); } }, []); return { announce, announcement }; } exports.HiddenText = HiddenText; exports.LiveRegion = LiveRegion; exports.useAnnouncement = useAnnouncement; //# sourceMappingURL=accessibility.cjs.development.js.map