@atlaskit/spotlight
Version:
A spotlight introduces users to points of interest, from focused messages to multi-step tours.
34 lines • 802 B
JavaScript
import { useEffect } from 'react';
import { bind } from 'bind-event-listener';
import { getDocument } from '@atlaskit/browser-apis';
var onKeyDown = function onKeyDown(event, _ref) {
var onEscape = _ref.onEscape;
switch (event.key) {
case 'Escape':
onEscape();
break;
default:
break;
}
};
export var useOnEscape = function useOnEscape(_onEscape) {
useEffect(function () {
var doc = getDocument();
if (!doc) {
return;
}
var unbindFocusIn = bind(doc, {
type: 'keydown',
listener: function listener(event) {
return onKeyDown(event, {
onEscape: function onEscape() {
return _onEscape(event);
}
});
}
});
return function () {
unbindFocusIn();
};
}, [_onEscape]);
};