UNPKG

@lyra/components

Version:
47 lines (34 loc) 1.13 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _Escapable = require('./Escapable'); var _Escapable2 = _interopRequireDefault(_Escapable); var _Stacked = require('./Stacked'); var _Stacked2 = _interopRequireDefault(_Stacked); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class StackedEscapable extends _react2.default.Component { render() { const _onEscape = this.props.onEscape; return _react2.default.createElement( _Stacked2.default, null, isActive => _react2.default.createElement( _Escapable2.default, { onEscape: event => (isActive || event.shiftKey) && _onEscape(event) }, this.props.children ) ); } } exports.default = StackedEscapable; StackedEscapable.propTypes = { onEscape: _propTypes2.default.func.isRequired, children: _propTypes2.default.node.isRequired };