UNPKG

@atlaskit/spotlight

Version:

A spotlight introduces users to points of interest, from focused messages to multi-step tours.

40 lines (39 loc) 990 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useOnEscape = void 0; var _react = require("react"); var _bindEventListener = require("bind-event-listener"); var _browserApis = require("@atlaskit/browser-apis"); var onKeyDown = function onKeyDown(event, _ref) { var onEscape = _ref.onEscape; switch (event.key) { case 'Escape': onEscape(); break; default: break; } }; var useOnEscape = exports.useOnEscape = function useOnEscape(_onEscape) { (0, _react.useEffect)(function () { var doc = (0, _browserApis.getDocument)(); if (!doc) { return; } var unbindFocusIn = (0, _bindEventListener.bind)(doc, { type: 'keydown', listener: function listener(event) { return onKeyDown(event, { onEscape: function onEscape() { return _onEscape(event); } }); } }); return function () { unbindFocusIn(); }; }, [_onEscape]); };