tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
107 lines (92 loc) • 10.7 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = DropdownMenu;
exports.MenuItem = MenuItem;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function DropdownMenu(_ref) {
var open = _ref.open,
style = _ref.style,
onClose = _ref.onClose,
anchorEl = _ref.anchorEl,
children = _ref.children,
anchorOrigin = _ref.anchorOrigin,
anchorPosition = _ref.anchorPosition,
transformOrigin = _ref.transformOrigin;
return /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
open: open,
onClose: onClose,
style: _objectSpread({}, style),
anchorEl: anchorEl,
anchorReference: anchorPosition ? 'anchorPosition' : null,
anchorPosition: anchorPosition || null,
anchorOrigin: anchorOrigin,
transformOrigin: transformOrigin
}, children);
}
DropdownMenu.defaultProps = {
transformOrigin: {
vertical: 'top',
horizontal: 'left'
},
anchorOrigin: {
vertical: 'bottom',
horizontal: 'right'
},
anchorPosition: null
};
DropdownMenu.propTypes = {
style: _propTypes["default"].object,
anchorOrigin: _propTypes["default"].object,
open: _propTypes["default"].bool.isRequired,
transformOrigin: _propTypes["default"].object,
onClose: _propTypes["default"].func.isRequired,
children: _propTypes["default"].node.isRequired,
anchorEl: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].bool, _propTypes["default"].func, _propTypes["default"].object, _propTypes["default"].element]),
anchorPosition: _propTypes["default"].object
};
function MenuItem(_ref2) {
var style = _ref2.style,
title = _ref2.title,
divider = _ref2.divider,
onClick = _ref2.onClick,
children = _ref2.children,
disableOnClick = _ref2.disableOnClick;
var menuItemStyle = _objectSpread({
display: 'flex',
padding: '4px',
margin: '6px',
cursor: disableOnClick ? '' : 'pointer'
}, style);
function handleOnClick() {
if (!disableOnClick && onClick) {
onClick();
}
}
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
style: menuItemStyle,
onClick: handleOnClick,
title: title
}, children), divider && /*#__PURE__*/_react["default"].createElement("hr", {
style: {
margin: '4px 4px 0'
}
}));
}
MenuItem.propTypes = {
style: _propTypes["default"].object,
title: _propTypes["default"].string,
divider: _propTypes["default"].bool,
onClick: _propTypes["default"].func,
disableOnClick: _propTypes["default"].bool,
children: _propTypes["default"].node.isRequired,
anchorEl: _propTypes["default"].oneOfType([_propTypes["default"].node.isRequired, _propTypes["default"].bool.isRequired])
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ecm9wZG93bk1lbnUvRHJvcGRvd25NZW51LmpzIl0sIm5hbWVzIjpbIkRyb3Bkb3duTWVudSIsIm9wZW4iLCJzdHlsZSIsIm9uQ2xvc2UiLCJhbmNob3JFbCIsImNoaWxkcmVuIiwiYW5jaG9yT3JpZ2luIiwiYW5jaG9yUG9zaXRpb24iLCJ0cmFuc2Zvcm1PcmlnaW4iLCJkZWZhdWx0UHJvcHMiLCJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJib29sIiwiaXNSZXF1aXJlZCIsImZ1bmMiLCJub2RlIiwib25lT2ZUeXBlIiwiZWxlbWVudCIsIk1lbnVJdGVtIiwidGl0bGUiLCJkaXZpZGVyIiwib25DbGljayIsImRpc2FibGVPbkNsaWNrIiwibWVudUl0ZW1TdHlsZSIsImRpc3BsYXkiLCJwYWRkaW5nIiwibWFyZ2luIiwiY3Vyc29yIiwiaGFuZGxlT25DbGljayIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVlLFNBQVNBLFlBQVQsT0FTWjtBQUFBLE1BUkRDLElBUUMsUUFSREEsSUFRQztBQUFBLE1BUERDLEtBT0MsUUFQREEsS0FPQztBQUFBLE1BTkRDLE9BTUMsUUFOREEsT0FNQztBQUFBLE1BTERDLFFBS0MsUUFMREEsUUFLQztBQUFBLE1BSkRDLFFBSUMsUUFKREEsUUFJQztBQUFBLE1BSERDLFlBR0MsUUFIREEsWUFHQztBQUFBLE1BRkRDLGNBRUMsUUFGREEsY0FFQztBQUFBLE1BRERDLGVBQ0MsUUFEREEsZUFDQztBQUNELHNCQUNFLGdDQUFDLG1CQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVQLElBRFI7QUFFRSxJQUFBLE9BQU8sRUFBRUUsT0FGWDtBQUdFLElBQUEsS0FBSyxvQkFBT0QsS0FBUCxDQUhQO0FBSUUsSUFBQSxRQUFRLEVBQUVFLFFBSlo7QUFLRSxJQUFBLGVBQWUsRUFBRUcsY0FBYyxHQUFHLGdCQUFILEdBQXNCLElBTHZEO0FBTUUsSUFBQSxjQUFjLEVBQUVBLGNBQWMsSUFBSSxJQU5wQztBQU9FLElBQUEsWUFBWSxFQUFFRCxZQVBoQjtBQVFFLElBQUEsZUFBZSxFQUFFRTtBQVJuQixLQVVHSCxRQVZILENBREY7QUFjRDs7QUFFREwsWUFBWSxDQUFDUyxZQUFiLEdBQTRCO0FBQzFCRCxFQUFBQSxlQUFlLEVBQUU7QUFBRUUsSUFBQUEsUUFBUSxFQUFFLEtBQVo7QUFBbUJDLElBQUFBLFVBQVUsRUFBRTtBQUEvQixHQURTO0FBRTFCTCxFQUFBQSxZQUFZLEVBQUU7QUFBRUksSUFBQUEsUUFBUSxFQUFFLFFBQVo7QUFBc0JDLElBQUFBLFVBQVUsRUFBRTtBQUFsQyxHQUZZO0FBRzFCSixFQUFBQSxjQUFjLEVBQUU7QUFIVSxDQUE1QjtBQU1BUCxZQUFZLENBQUNZLFNBQWIsR0FBeUI7QUFDdkJWLEVBQUFBLEtBQUssRUFBRVcsc0JBQVVDLE1BRE07QUFFdkJSLEVBQUFBLFlBQVksRUFBRU8sc0JBQVVDLE1BRkQ7QUFHdkJiLEVBQUFBLElBQUksRUFBRVksc0JBQVVFLElBQVYsQ0FBZUMsVUFIRTtBQUl2QlIsRUFBQUEsZUFBZSxFQUFFSyxzQkFBVUMsTUFKSjtBQUt2QlgsRUFBQUEsT0FBTyxFQUFFVSxzQkFBVUksSUFBVixDQUFlRCxVQUxEO0FBTXZCWCxFQUFBQSxRQUFRLEVBQUVRLHNCQUFVSyxJQUFWLENBQWVGLFVBTkY7QUFPdkJaLEVBQUFBLFFBQVEsRUFBRVMsc0JBQVVNLFNBQVYsQ0FBb0IsQ0FDNUJOLHNCQUFVSyxJQURrQixFQUU1Qkwsc0JBQVVFLElBRmtCLEVBRzVCRixzQkFBVUksSUFIa0IsRUFJNUJKLHNCQUFVQyxNQUprQixFQUs1QkQsc0JBQVVPLE9BTGtCLENBQXBCLENBUGE7QUFjdkJiLEVBQUFBLGNBQWMsRUFBRU0sc0JBQVVDO0FBZEgsQ0FBekI7O0FBaUJPLFNBQVNPLFFBQVQsUUFPSjtBQUFBLE1BTkRuQixLQU1DLFNBTkRBLEtBTUM7QUFBQSxNQUxEb0IsS0FLQyxTQUxEQSxLQUtDO0FBQUEsTUFKREMsT0FJQyxTQUpEQSxPQUlDO0FBQUEsTUFIREMsT0FHQyxTQUhEQSxPQUdDO0FBQUEsTUFGRG5CLFFBRUMsU0FGREEsUUFFQztBQUFBLE1BRERvQixjQUNDLFNBRERBLGNBQ0M7O0FBQ0QsTUFBTUMsYUFBYTtBQUNqQkMsSUFBQUEsT0FBTyxFQUFFLE1BRFE7QUFFakJDLElBQUFBLE9BQU8sRUFBRSxLQUZRO0FBR2pCQyxJQUFBQSxNQUFNLEVBQUUsS0FIUztBQUlqQkMsSUFBQUEsTUFBTSxFQUFFTCxjQUFjLEdBQUcsRUFBSCxHQUFRO0FBSmIsS0FLZHZCLEtBTGMsQ0FBbkI7O0FBUUEsV0FBUzZCLGFBQVQsR0FBeUI7QUFDdkIsUUFBSSxDQUFDTixjQUFELElBQW1CRCxPQUF2QixFQUFnQztBQUM5QkEsTUFBQUEsT0FBTztBQUNSO0FBQ0Y7O0FBRUQsc0JBQ0UsK0VBQ0U7QUFBSyxJQUFBLEtBQUssRUFBRUUsYUFBWjtBQUEyQixJQUFBLE9BQU8sRUFBRUssYUFBcEM7QUFBbUQsSUFBQSxLQUFLLEVBQUVUO0FBQTFELEtBQ0dqQixRQURILENBREYsRUFJR2tCLE9BQU8saUJBQUk7QUFBSSxJQUFBLEtBQUssRUFBRTtBQUFFTSxNQUFBQSxNQUFNLEVBQUU7QUFBVjtBQUFYLElBSmQsQ0FERjtBQVFEOztBQUVEUixRQUFRLENBQUNULFNBQVQsR0FBcUI7QUFDbkJWLEVBQUFBLEtBQUssRUFBRVcsc0JBQVVDLE1BREU7QUFFbkJRLEVBQUFBLEtBQUssRUFBRVQsc0JBQVVtQixNQUZFO0FBR25CVCxFQUFBQSxPQUFPLEVBQUVWLHNCQUFVRSxJQUhBO0FBSW5CUyxFQUFBQSxPQUFPLEVBQUVYLHNCQUFVSSxJQUpBO0FBS25CUSxFQUFBQSxjQUFjLEVBQUVaLHNCQUFVRSxJQUxQO0FBTW5CVixFQUFBQSxRQUFRLEVBQUVRLHNCQUFVSyxJQUFWLENBQWVGLFVBTk47QUFPbkJaLEVBQUFBLFFBQVEsRUFBRVMsc0JBQVVNLFNBQVYsQ0FBb0IsQ0FDNUJOLHNCQUFVSyxJQUFWLENBQWVGLFVBRGEsRUFFNUJILHNCQUFVRSxJQUFWLENBQWVDLFVBRmEsQ0FBcEI7QUFQUyxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvUG9wb3Zlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERyb3Bkb3duTWVudSh7XG4gIG9wZW4sXG4gIHN0eWxlLFxuICBvbkNsb3NlLFxuICBhbmNob3JFbCxcbiAgY2hpbGRyZW4sXG4gIGFuY2hvck9yaWdpbixcbiAgYW5jaG9yUG9zaXRpb24sXG4gIHRyYW5zZm9ybU9yaWdpbixcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8UG9wb3ZlclxuICAgICAgb3Blbj17b3Blbn1cbiAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICBzdHlsZT17eyAuLi5zdHlsZSB9fVxuICAgICAgYW5jaG9yRWw9e2FuY2hvckVsfVxuICAgICAgYW5jaG9yUmVmZXJlbmNlPXthbmNob3JQb3NpdGlvbiA/ICdhbmNob3JQb3NpdGlvbicgOiBudWxsfVxuICAgICAgYW5jaG9yUG9zaXRpb249e2FuY2hvclBvc2l0aW9uIHx8IG51bGx9XG4gICAgICBhbmNob3JPcmlnaW49e2FuY2hvck9yaWdpbn1cbiAgICAgIHRyYW5zZm9ybU9yaWdpbj17dHJhbnNmb3JtT3JpZ2lufVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1BvcG92ZXI+XG4gICk7XG59XG5cbkRyb3Bkb3duTWVudS5kZWZhdWx0UHJvcHMgPSB7XG4gIHRyYW5zZm9ybU9yaWdpbjogeyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdsZWZ0JyB9LFxuICBhbmNob3JPcmlnaW46IHsgdmVydGljYWw6ICdib3R0b20nLCBob3Jpem9udGFsOiAncmlnaHQnIH0sXG4gIGFuY2hvclBvc2l0aW9uOiBudWxsLFxufTtcblxuRHJvcGRvd25NZW51LnByb3BUeXBlcyA9IHtcbiAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIGFuY2hvck9yaWdpbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgb3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgdHJhbnNmb3JtT3JpZ2luOiBQcm9wVHlwZXMub2JqZWN0LFxuICBvbkNsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgYW5jaG9yRWw6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgIFByb3BUeXBlcy5ub2RlLFxuICAgIFByb3BUeXBlcy5ib29sLFxuICAgIFByb3BUeXBlcy5mdW5jLFxuICAgIFByb3BUeXBlcy5vYmplY3QsXG4gICAgUHJvcFR5cGVzLmVsZW1lbnQsXG4gIF0pLFxuICBhbmNob3JQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBNZW51SXRlbSh7XG4gIHN0eWxlLFxuICB0aXRsZSxcbiAgZGl2aWRlcixcbiAgb25DbGljayxcbiAgY2hpbGRyZW4sXG4gIGRpc2FibGVPbkNsaWNrLFxufSkge1xuICBjb25zdCBtZW51SXRlbVN0eWxlID0ge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICBtYXJnaW46ICc2cHgnLFxuICAgIGN1cnNvcjogZGlzYWJsZU9uQ2xpY2sgPyAnJyA6ICdwb2ludGVyJyxcbiAgICAuLi5zdHlsZSxcbiAgfTtcblxuICBmdW5jdGlvbiBoYW5kbGVPbkNsaWNrKCkge1xuICAgIGlmICghZGlzYWJsZU9uQ2xpY2sgJiYgb25DbGljaykge1xuICAgICAgb25DbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgc3R5bGU9e21lbnVJdGVtU3R5bGV9IG9uQ2xpY2s9e2hhbmRsZU9uQ2xpY2t9IHRpdGxlPXt0aXRsZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICAge2RpdmlkZXIgJiYgPGhyIHN0eWxlPXt7IG1hcmdpbjogJzRweCA0cHggMCcgfX0gLz59XG4gICAgPC8+XG4gICk7XG59XG5cbk1lbnVJdGVtLnByb3BUeXBlcyA9IHtcbiAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXZpZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIGRpc2FibGVPbkNsaWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGFuY2hvckVsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIF0pLFxufTtcbiJdfQ==