@lyra/default-layout
Version:
The default layout components for Lyra
93 lines (76 loc) • 2.5 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _router = require('part:@lyra/base/router');
var _default = require('part:@lyra/components/dialogs/default');
var _default2 = _interopRequireDefault(_default);
var _ActionModal = require('./styles/ActionModal.css');
var _ActionModal2 = _interopRequireDefault(_ActionModal);
var _fileIcon = require('part:@lyra/base/file-icon');
var _fileIcon2 = _interopRequireDefault(_fileIcon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ActionModal(props) {
return _react2.default.createElement(
_default2.default,
{
className: _ActionModal2.default.modal,
title: props.title,
onClose: props.onClose,
isOpen: true
},
_react2.default.createElement(
'div',
{ className: _ActionModal2.default.content },
_react2.default.createElement(
'h1',
null,
'Create new'
),
_react2.default.createElement(
'ul',
{ className: _ActionModal2.default.list },
props.actions.map(action => {
const Icon = action.params && action.params.icon;
return _react2.default.createElement(
'li',
{ className: _ActionModal2.default.listItem, key: action.title },
_react2.default.createElement(
_router.IntentLink,
{
onClick: props.onClose,
className: _ActionModal2.default.actionLink,
intent: 'create',
params: action.params
},
_react2.default.createElement(
'span',
{ className: _ActionModal2.default.icon },
Icon ? _react2.default.createElement(Icon, null) : _react2.default.createElement(_fileIcon2.default, null)
),
_react2.default.createElement(
'span',
null,
action.title
)
)
);
})
)
)
);
}
ActionModal.defaultProps = {
title: 'Create',
actions: []
};
ActionModal.propTypes = {
title: _propTypes2.default.string,
actions: _propTypes2.default.array,
onClose: _propTypes2.default.func.isRequired
};
exports.default = ActionModal;