UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

163 lines (137 loc) 13.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styles = require("@material-ui/core/styles"); var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem")); var _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon")); var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText")); var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore")); var _ChevronRight = _interopRequireDefault(require("@material-ui/icons/ChevronRight")); var _ProgressIcon = _interopRequireDefault(require("./ProgressIcon")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } var styles = { textRoot: { padding: '0 0 0 5px', margin: '0px' }, text: { color: '#FFFFFF', fontSize: 12, fontWeight: 'normal' }, selectedText: { color: '#FFFFFF', fontSize: 12, fontWeight: 700 }, root: { 'borderBottom': 'solid #ffffff4d 1px', 'cursor': 'pointer', '&$selected': { 'backgroundColor': '#2196F3', '&:hover': { backgroundColor: '#2196F3' } } }, selected: {}, listItemIconRoot: { minWidth: '0px' } }; /** * Renders a group within the menu * @param {string} label - the group text * @param {function} onClick - a callback to receive group click events * @param {boolean} [selected=false] - indicates if the group is selected * @param {boolean} [open=false] - indicates if the group is open/expanded * @param {number} [progress=0] - a value between 0 and 100 inclusive */ var MenuGroup = /*#__PURE__*/function (_React$Component) { (0, _inherits2["default"])(MenuGroup, _React$Component); var _super = _createSuper(MenuGroup); function MenuGroup() { (0, _classCallCheck2["default"])(this, MenuGroup); return _super.apply(this, arguments); } (0, _createClass2["default"])(MenuGroup, [{ key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps) { var _this$props = this.props, selected = _this$props.selected, open = _this$props.open, label = _this$props.label, progress = _this$props.progress; return selected !== nextProps.selected || open !== nextProps.open || label !== nextProps.label || progress !== nextProps.progress; } }, { key: "render", value: function render() { var _this$props2 = this.props, classes = _this$props2.classes, selected = _this$props2.selected, open = _this$props2.open, onClick = _this$props2.onClick, label = _this$props2.label, progress = _this$props2.progress; return /*#__PURE__*/_react["default"].createElement(_ListItem["default"], { disableGutters: false, selected: selected, classes: { root: classes.root, selected: classes.selected }, onClick: onClick }, /*#__PURE__*/_react["default"].createElement(_ListItemIcon["default"], { classes: { root: classes.listItemIconRoot } }, /*#__PURE__*/_react["default"].createElement(_ProgressIcon["default"], { progress: progress })), /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], { inset: false, classes: { root: classes.textRoot, primary: selected ? classes.selectedText : classes.text }, primary: label }), open ? /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], { style: { fontSize: '22px' } }) : /*#__PURE__*/_react["default"].createElement(_ChevronRight["default"], { style: { fontSize: '22px' } })); } }]); return MenuGroup; }(_react["default"].Component); MenuGroup.propTypes = { classes: _propTypes["default"].object.isRequired, label: _propTypes["default"].string.isRequired, onClick: _propTypes["default"].func.isRequired, selected: _propTypes["default"].bool, open: _propTypes["default"].bool, progress: _propTypes["default"].number }; MenuGroup.defaultProps = { selected: false, open: false, progress: 0 }; var _default = (0, _styles.withStyles)(styles)(MenuGroup); exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Hcm91cGVkTWVudS9NZW51L01lbnVHcm91cC5qcyJdLCJuYW1lcyI6WyJzdHlsZXMiLCJ0ZXh0Um9vdCIsInBhZGRpbmciLCJtYXJnaW4iLCJ0ZXh0IiwiY29sb3IiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJzZWxlY3RlZFRleHQiLCJyb290IiwiYmFja2dyb3VuZENvbG9yIiwic2VsZWN0ZWQiLCJsaXN0SXRlbUljb25Sb290IiwibWluV2lkdGgiLCJNZW51R3JvdXAiLCJuZXh0UHJvcHMiLCJwcm9wcyIsIm9wZW4iLCJsYWJlbCIsInByb2dyZXNzIiwiY2xhc3NlcyIsIm9uQ2xpY2siLCJwcmltYXJ5IiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwiZnVuYyIsImJvb2wiLCJudW1iZXIiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsTUFBTSxHQUFHO0FBQ2JDLEVBQUFBLFFBQVEsRUFBRTtBQUNSQyxJQUFBQSxPQUFPLEVBQUUsV0FERDtBQUVSQyxJQUFBQSxNQUFNLEVBQUU7QUFGQSxHQURHO0FBS2JDLEVBQUFBLElBQUksRUFBRTtBQUNKQyxJQUFBQSxLQUFLLEVBQUUsU0FESDtBQUVKQyxJQUFBQSxRQUFRLEVBQUUsRUFGTjtBQUdKQyxJQUFBQSxVQUFVLEVBQUU7QUFIUixHQUxPO0FBVWJDLEVBQUFBLFlBQVksRUFBRTtBQUNaSCxJQUFBQSxLQUFLLEVBQUUsU0FESztBQUVaQyxJQUFBQSxRQUFRLEVBQUUsRUFGRTtBQUdaQyxJQUFBQSxVQUFVLEVBQUU7QUFIQSxHQVZEO0FBZWJFLEVBQUFBLElBQUksRUFBRTtBQUNKLG9CQUFnQixxQkFEWjtBQUVKLGNBQVUsU0FG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QnRCLEVBQUFBLFFBQVEsRUFBRSxLQURhO0FBRXZCTSxFQUFBQSxJQUFJLEVBQUUsS0FGaUI7QUFHdkJFLEVBQUFBLFFBQVEsRUFBRTtBQUhhLENBQXpCOztlQU1lLHdCQUFXbkIsTUFBWCxFQUFtQmMsU0FBbkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgTGlzdEl0ZW0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTGlzdEl0ZW0nO1xuaW1wb3J0IExpc3RJdGVtSWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9MaXN0SXRlbUljb24nO1xuaW1wb3J0IExpc3RJdGVtVGV4dCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9MaXN0SXRlbVRleHQnO1xuaW1wb3J0IEV4cGFuZE1vcmUgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0V4cGFuZE1vcmUnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ2hldnJvblJpZ2h0JztcbmltcG9ydCBQcm9ncmVzc0ljb24gZnJvbSAnLi9Qcm9ncmVzc0ljb24nO1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIHRleHRSb290OiB7XG4gICAgcGFkZGluZzogJzAgMCAwIDVweCcsXG4gICAgbWFyZ2luOiAnMHB4JyxcbiAgfSxcbiAgdGV4dDoge1xuICAgIGNvbG9yOiAnI0ZGRkZGRicsXG4gICAgZm9udFNpemU6IDEyLFxuICAgIGZvbnRXZWlnaHQ6ICdub3JtYWwnLFxuICB9LFxuICBzZWxlY3RlZFRleHQ6IHtcbiAgICBjb2xvcjogJyNGRkZGRkYnLFxuICAgIGZvbnRTaXplOiAxMixcbiAgICBmb250V2VpZ2h0OiA3MDAsXG4gIH0sXG4gIHJvb3Q6IHtcbiAgICAnYm9yZGVyQm90dG9tJzogJ3NvbGlkICNmZmZmZmY0ZCAxcHgnLFxuICAgICdjdXJzb3InOiAncG9pbnRlcicsXG4gICAgJyYkc2VsZWN0ZWQnOiB7XG4gICAgICAnYmFja2dyb3VuZENvbG9yJzogJyMyMTk2RjMnLFxuICAgICAgJyY6aG92ZXInOiB7IGJhY2tncm91bmRDb2xvcjogJyMyMTk2RjMnIH0sXG4gICAgfSxcbiAgfSxcbiAgc2VsZWN0ZWQ6IHt9LFxuICBsaXN0SXRlbUljb25Sb290OiB7IG1pbldpZHRoOiAnMHB4JyB9LFxufTtcblxuLyoqXG4gKiBSZW5kZXJzIGEgZ3JvdXAgd2l0aGluIHRoZSBtZW51XG4gKiBAcGFyYW0ge3N0cmluZ30gbGFiZWwgLSB0aGUgZ3JvdXAgdGV4dFxuICogQHBhcmFtIHtmdW5jdGlvbn0gb25DbGljayAtIGEgY2FsbGJhY2sgdG8gcmVjZWl2ZSBncm91cCBjbGljayBldmVudHNcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NlbGVjdGVkPWZhbHNlXSAtIGluZGljYXRlcyBpZiB0aGUgZ3JvdXAgaXMgc2VsZWN0ZWRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wZW49ZmFsc2VdIC0gaW5kaWNhdGVzIGlmIHRoZSBncm91cCBpcyBvcGVuL2V4cGFuZGVkXG4gKiBAcGFyYW0ge251bWJlcn0gW3Byb2dyZXNzPTBdIC0gYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEwMCBpbmNsdXNpdmVcbiAqL1xuY2xhc3MgTWVudUdyb3VwIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIHNlbGVjdGVkLCBvcGVuLCBsYWJlbCwgcHJvZ3Jlc3MsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIHNlbGVjdGVkICE9PSBuZXh0UHJvcHMuc2VsZWN0ZWQgfHwgb3BlbiAhPT0gbmV4dFByb3BzLm9wZW4gfHxcbiAgICAgIGxhYmVsICE9PSBuZXh0UHJvcHMubGFiZWwgfHwgcHJvZ3Jlc3MgIT09IG5leHRQcm9wcy5wcm9ncmVzcztcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc2VzLCBzZWxlY3RlZCwgb3Blbiwgb25DbGljaywgbGFiZWwsIHByb2dyZXNzLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMaXN0SXRlbVxuICAgICAgICBkaXNhYmxlR3V0dGVycz17ZmFsc2V9XG4gICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgIHJvb3Q6IGNsYXNzZXMucm9vdCxcbiAgICAgICAgICBzZWxlY3RlZDogY2xhc3Nlcy5zZWxlY3RlZCxcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgID5cbiAgICAgICAgPExpc3RJdGVtSWNvbiBjbGFzc2VzPXt7IHJvb3Q6IGNsYXNzZXMubGlzdEl0ZW1JY29uUm9vdCB9fT5cbiAgICAgICAgICA8UHJvZ3Jlc3NJY29uIHByb2dyZXNzPXtwcm9ncmVzc30vPlxuICAgICAgICA8L0xpc3RJdGVtSWNvbj5cbiAgICAgICAgPExpc3RJdGVtVGV4dFxuICAgICAgICAgIGluc2V0PXtmYWxzZX1cbiAgICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgICByb290OiBjbGFzc2VzLnRleHRSb290LFxuICAgICAgICAgICAgcHJpbWFyeTogc2VsZWN0ZWQgPyBjbGFzc2VzLnNlbGVjdGVkVGV4dCA6IGNsYXNzZXMudGV4dCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIHByaW1hcnk9e2xhYmVsfVxuICAgICAgICAvPlxuICAgICAgICB7b3BlbiA/IDxFeHBhbmRNb3JlIHN0eWxlPXt7IGZvbnRTaXplOiAnMjJweCcgfX0gLz4gOiA8Q2hldnJvblJpZ2h0IHN0eWxlPXt7IGZvbnRTaXplOiAnMjJweCcgfX0gLz59XG4gICAgICA8L0xpc3RJdGVtPlxuICAgICk7XG4gIH1cbn1cblxuTWVudUdyb3VwLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gIG9wZW46IFByb3BUeXBlcy5ib29sLFxuICBwcm9ncmVzczogUHJvcFR5cGVzLm51bWJlcixcbn07XG5cbk1lbnVHcm91cC5kZWZhdWx0UHJvcHMgPSB7XG4gIHNlbGVjdGVkOiBmYWxzZSxcbiAgb3BlbjogZmFsc2UsXG4gIHByb2dyZXNzOiAwLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKE1lbnVHcm91cCk7XG4iXX0=