@lyra/components
Version:
Basic UX components
47 lines (34 loc) • 1.13 kB
JavaScript
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
};
;