"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useKeyboardNavAttribute", { enumerable: true, get: function() { return useKeyboardNavAttribute; } }); const _keyborg = require("keyborg"); const _react = require("react"); const _constants = require("../focus/constants"); const _reactsharedcontexts = require("@fluentui/react-shared-contexts"); function useKeyboardNavAttribute() { const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)(); const keyborg = (0, _react.useMemo)(()=>targetDocument && (0, _keyborg.createKeyborg)(targetDocument.defaultView), [ targetDocument ]); const ref = (0, _react.useRef)(null); (0, _react.useEffect)(()=>{ if (keyborg) { setBooleanAttribute(ref, _constants.KEYBOARD_NAV_ATTRIBUTE, keyborg.isNavigatingWithKeyboard()); const cb = (next)=>{ setBooleanAttribute(ref, _constants.KEYBOARD_NAV_ATTRIBUTE, next); }; keyborg.subscribe(cb); return ()=>keyborg.unsubscribe(cb); } }, [ keyborg ]); return ref; } function setBooleanAttribute(elementRef, attribute, value) { if (!elementRef.current) { return; } if (value) { elementRef.current.setAttribute(attribute, ''); } else { elementRef.current.removeAttribute(attribute); } }