UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

107 lines (92 loc) 10.7 kB
"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ecm9wZG93bk1lbnUvRHJvcGRvd25NZW51LmpzIl0sIm5hbWVzIjpbIkRyb3Bkb3duTWVudSIsIm9wZW4iLCJzdHlsZSIsIm9uQ2xvc2UiLCJhbmNob3JFbCIsImNoaWxkcmVuIiwiYW5jaG9yT3JpZ2luIiwiYW5jaG9yUG9zaXRpb24iLCJ0cmFuc2Zvcm1PcmlnaW4iLCJkZWZhdWx0UHJvcHMiLCJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJib29sIiwiaXNSZXF1aXJlZCIsImZ1bmMiLCJub2RlIiwib25lT2ZUeXBlIiwiZWxlbWVudCIsIk1lbnVJdGVtIiwidGl0bGUiLCJkaXZpZGVyIiwib25DbGljayIsImRpc2FibGVPbkNsaWNrIiwibWVudUl0ZW1TdHlsZSIsImRpc3BsYXkiLCJwYWRkaW5nIiwibWFyZ2luIiwiY3Vyc29yIiwiaGFuZGxlT25DbGljayIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVlLFNBQVNBLFlBQVQsT0FTWjtBQUFBLE1BUkRDLElBUUMsUUFSREEsSUFRQztBQUFBLE1BUERDLEtBT0MsUUFQREEsS0FPQztBQUFBLE1BTkRDLE9BTUMsUUFOREEsT0FNQztBQUFBLE1BTERDLFFBS0MsUUFMREEsUUFLQztBQUFBLE1BSkRDLFFBSUMsUUFKREEsUUFJQztBQUFBLE1BSERDLFlBR0MsUUFIREEsWUFHQztBQUFBLE1BRkRDLGNBRUMsUUFGREEsY0FFQztBQUFBLE1BRERDLGVBQ0MsUUFEREEsZUFDQztBQUNELHNCQUNFLGdDQUFDLG1CQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVQLElBRFI7QUFFRSxJQUFBLE9BQU8sRUFBRUUsT0FGWDtBQUdFLElBQUEsS0FBSyxvQkFBT0QsS0FBUCxDQUhQO0FBSUUsSUFBQSxRQUFRLEVBQUVFLFFBSlo7QUFLRSxJQUFBLGVBQWUsRUFBRUcsY0FBYyxHQUFHLGdC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LENBQWVGLFVBRGEsRUFFNUJILHNCQUFVRSxJQUFWLENBQWVDLFVBRmEsQ0FBcEI7QUFQUyxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvUG9wb3Zlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERyb3Bkb3duTWVudSh7XG4gIG9wZW4sXG4gIHN0eWxlLFxuICBvbkNsb3NlLFxuICBhbmNob3JFbCxcbiAgY2hpbGRyZW4sXG4gIGFuY2hvck9yaWdpbixcbiAgYW5jaG9yUG9zaXRpb24sXG4gIHRyYW5zZm9ybU9yaWdpbixcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8UG9wb3ZlclxuICAgICAgb3Blbj17b3Blbn1cbiAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICBzdHlsZT17eyAuLi5zdHlsZSB9fVxuICAgICAgYW5jaG9yRWw9e2FuY2hvckVsfVxuICAgICAgYW5jaG9yUmVmZXJlbmNlPXthbmNob3JQb3NpdGlvbiA/ICdhbmNob3JQb3NpdGlvbicgOiBudWxsfVxuICAgICAgYW5jaG9yUG9zaXRpb249e2FuY2hvclBvc2l0aW9uIHx8IG51bGx9XG4gICAgICBhbmNob3JPcmlnaW49e2FuY2hvck9yaWdpbn1cbiAgICAgIHRyYW5zZm9ybU9yaWdpbj17dHJhbnNmb3JtT3JpZ2lufVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1BvcG92ZXI+XG4gICk7XG59XG5cbkRyb3Bkb3duTWVudS5kZWZhdWx0UHJvcHMgPSB7XG4gIHRyYW5zZm9ybU9yaWdpbjogeyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdsZWZ0JyB9LFxuICBhbmNob3JPcmlnaW46IHsgdmVydGljYWw6ICdib3R0b20nLCBob3Jpem9udGFsOiAncmlnaHQnIH0sXG4gIGFuY2hvclBvc2l0aW9uOiBudWxsLFxufTtcblxuRHJvcGRvd25NZW51LnByb3BUeXBlcyA9IHtcbiAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIGFuY2hvck9yaWdpbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgb3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgdHJhbnNmb3JtT3JpZ2luOiBQcm9wVHlwZXMub2JqZWN0LFxuICBvbkNsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgYW5jaG9yRWw6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgIFByb3BUeXBlcy5ub2RlLFxuICAgIFByb3BUeXBlcy5ib29sLFxuICAgIFByb3BUeXBlcy5mdW5jLFxuICAgIFByb3BUeXBlcy5vYmplY3QsXG4gICAgUHJvcFR5cGVzLmVsZW1lbnQsXG4gIF0pLFxuICBhbmNob3JQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBNZW51SXRlbSh7XG4gIHN0eWxlLFxuICB0aXRsZSxcbiAgZGl2aWRlcixcbiAgb25DbGljayxcbiAgY2hpbGRyZW4sXG4gIGRpc2FibGVPbkNsaWNrLFxufSkge1xuICBjb25zdCBtZW51SXRlbVN0eWxlID0ge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICBtYXJnaW46ICc2cHgnLFxuICAgIGN1cnNvcjogZGlzYWJsZU9uQ2xpY2sgPyAnJyA6ICdwb2ludGVyJyxcbiAgICAuLi5zdHlsZSxcbiAgfTtcblxuICBmdW5jdGlvbiBoYW5kbGVPbkNsaWNrKCkge1xuICAgIGlmICghZGlzYWJsZU9uQ2xpY2sgJiYgb25DbGljaykge1xuICAgICAgb25DbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgc3R5bGU9e21lbnVJdGVtU3R5bGV9IG9uQ2xpY2s9e2hhbmRsZU9uQ2xpY2t9IHRpdGxlPXt0aXRsZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICAge2RpdmlkZXIgJiYgPGhyIHN0eWxlPXt7IG1hcmdpbjogJzRweCA0cHggMCcgfX0gLz59XG4gICAgPC8+XG4gICk7XG59XG5cbk1lbnVJdGVtLnByb3BUeXBlcyA9IHtcbiAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXZpZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIGRpc2FibGVPbkNsaWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGFuY2hvckVsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIF0pLFxufTtcbiJdfQ==