UNPKG

@wordpress/components

Version:
64 lines (54 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _lodash = require("lodash"); var _compose = require("@wordpress/compose"); /** * External dependencies */ /** * WordPress dependencies */ function KeyboardShortcut({ target, callback, shortcut, bindGlobal, eventName }) { (0, _compose.useKeyboardShortcut)(shortcut, callback, { bindGlobal, target, eventName }); return null; } function KeyboardShortcuts({ children, shortcuts, bindGlobal, eventName }) { const target = (0, _element.useRef)(); const element = (0, _lodash.map)(shortcuts, (callback, shortcut) => (0, _element.createElement)(KeyboardShortcut, { key: shortcut, shortcut: shortcut, callback: callback, bindGlobal: bindGlobal, eventName: eventName, target: target })); // Render as non-visual if there are no children pressed. Keyboard // events will be bound to the document instead. if (!_element.Children.count(children)) { return element; } return (0, _element.createElement)("div", { ref: target }, element, children); } var _default = KeyboardShortcuts; exports.default = _default; //# sourceMappingURL=index.js.map