analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
33 lines (28 loc) • 1.18 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _chunkALPGURNKjs = require('./chunk-ALPGURNK.js');
// src/hooks/useA11yKeyboardShortcut.ts
var _react = require('react');
var useA11yKeyboardShortcut = () => {
const enabled = _chunkALPGURNKjs.useAccessibilityStore.call(void 0, (s) => s.keyboardShortcut);
const togglePanel = _chunkALPGURNKjs.useAccessibilityStore.call(void 0, (s) => s.togglePanel);
_react.useEffect.call(void 0, () => {
if (!enabled) return;
const handler = (event) => {
if (!event.altKey || event.key.toLowerCase() !== "a") return;
if (event.repeat) return;
const target = event.target;
if (target) {
const tag = target.tagName;
if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT" || target.isContentEditable) {
return;
}
}
event.preventDefault();
togglePanel();
};
globalThis.addEventListener("keydown", handler);
return () => globalThis.removeEventListener("keydown", handler);
}, [enabled, togglePanel]);
};
exports.useA11yKeyboardShortcut = useA11yKeyboardShortcut;
//# sourceMappingURL=chunk-Z2LTOXF3.js.map