UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

167 lines (144 loc) 16.2 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Menu = _interopRequireDefault(require("@material-ui/core/Menu")); var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem")); var _TextFields = _interopRequireDefault(require("@material-ui/icons/TextFields")); var _KeyboardArrowDown = _interopRequireDefault(require("@material-ui/icons/KeyboardArrowDown")); var _styles = require("@material-ui/core/styles"); var useStyles = (0, _styles.makeStyles)({ menu: { margin: '47px 0px 0px 38px' }, menuItem: { fontSize: '14px', width: '150px' }, menuItemSelected: { color: '#FF4081' } }); var FontSelectionMenu = function FontSelectionMenu(_ref) { var isHebrew = _ref.isHebrew, paneIndex = _ref.paneIndex, currentFont = _ref.currentFont, isTargetBible = _ref.isTargetBible, selectFontLabel = _ref.selectFontLabel, handleCloseParent = _ref.handleCloseParent, changePaneFontType = _ref.changePaneFontType, complexScriptFonts = _ref.complexScriptFonts, addObjectPropertyToManifest = _ref.addObjectPropertyToManifest; var classes = useStyles(); var _useState = (0, _react.useState)(null), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), anchorEl = _useState2[0], setAnchorEl = _useState2[1]; var handleClick = function handleClick(event) { setAnchorEl(event.currentTarget); }; var handleMenuItemClick = function handleMenuItemClick(font) { handleClose(); if (isTargetBible) { addObjectPropertyToManifest('projectFont', font); } else { changePaneFontType(paneIndex, font); } }; var handleClose = function handleClose() { setAnchorEl(null); handleCloseParent(); }; var getFontList = function getFontList() { // add all complex script fonts to font list var fontList = Object.keys(complexScriptFonts).map(function (fontName) { return { key: "".concat(fontName, "-font-menu-item"), value: complexScriptFonts[fontName].font, primaryText: fontName, selected: currentFont === complexScriptFonts[fontName].font }; }); // add default font fontList.push({ key: 'NotoSans-font-menu-item', value: 'default', primaryText: isHebrew ? 'Ezra (Default)' : 'Noto Sans (Default)', selected: currentFont === '' || currentFont === 'default' }); // return sorted font list return fontList.sort(function (a, b) { return a.primaryText < b.primaryText ? -1 : 1; }); }; return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", { onClick: handleClick, style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', width: '100%', height: '100%', padding: '4px', margin: '6px', cursor: 'pointer' } }, /*#__PURE__*/_react["default"].createElement(_TextFields["default"], { style: { fontSize: '24px' } }), /*#__PURE__*/_react["default"].createElement("div", { style: { margin: '0px 5px', color: '#000000' } }, selectFontLabel), /*#__PURE__*/_react["default"].createElement(_KeyboardArrowDown["default"], { style: { color: '#b5b3b3', fontSize: '24px' } })), /*#__PURE__*/_react["default"].createElement(_Menu["default"], { variant: "menu", id: "simple-menu", anchorEl: anchorEl, onClose: handleClose, open: Boolean(anchorEl), classes: { paper: classes.menu } }, getFontList().map(function (_ref2) { var key = _ref2.key, value = _ref2.value, selected = _ref2.selected, primaryText = _ref2.primaryText; return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], { key: key, selected: selected, classes: { root: classes.menuItem, selected: classes.menuItemSelected }, onClick: function onClick() { return handleMenuItemClick(value); } }, primaryText); }))); }; FontSelectionMenu.propTypes = { isHebrew: _propTypes["default"].bool.isRequired, paneIndex: _propTypes["default"].number.isRequired, currentFont: _propTypes["default"].string.isRequired, isTargetBible: _propTypes["default"].bool.isRequired, selectFontLabel: _propTypes["default"].string.isRequired, handleCloseParent: _propTypes["default"].func.isRequired, changePaneFontType: _propTypes["default"].func.isRequired, complexScriptFonts: _propTypes["default"].object.isRequired, addObjectPropertyToManifest: _propTypes["default"].func.isRequired }; var _default = FontSelectionMenu; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb250U2VsZWN0aW9uTWVudS9Gb250U2VsZWN0aW9uTWVudS5qcyJdLCJuYW1lcyI6WyJ1c2VTdHlsZXMiLCJtZW51IiwibWFyZ2luIiwibWVudUl0ZW0iLCJmb250U2l6ZSIsIndpZHRoIiwibWVudUl0ZW1TZWxlY3RlZCIsImNvbG9yIiwiRm9udFNlbGVjdGlvbk1lbnUiLCJpc0hlYnJldyIsInBhbmVJbmRleCIsImN1cnJlbnRGb250IiwiaXNUYXJnZXRCaWJsZSIsInNlbGVjdEZvbnRMYWJlbCIsImhhbmRsZUNsb3NlUGFyZW50IiwiY2hhbmdlUGFuZUZvbnRUeXBlIiwiY29tcGxleFNjcmlwdEZvbnRzIiwiYWRkT2JqZWN0UHJvcGVydHlUb01hbmlmZXN0IiwiY2xhc3NlcyIsImFuY2hvckVsIiwic2V0QW5jaG9yRWwiLCJoYW5kbGVDbGljayIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsImhhbmRsZU1lbnVJdGVtQ2xpY2siLCJmb250IiwiaGFuZGxlQ2xvc2UiLCJnZXRGb250TGlzdCIsImZvbnRMaXN0IiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImZvbnROYW1lIiwia2V5IiwidmFsdWUiLCJwcmltYXJ5VGV4dCIsInNlbGVjdGVkIiwicHVzaCIsInNvcnQiLCJhIiwiYiIsImRpc3BsYXkiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJoZWlnaHQiLCJwYWRkaW5nIiwiY3Vyc29yIiwiQm9vbGVhbiIsInBhcGVyIiwicm9vdCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImJvb2wiLCJpc1JlcXVpcmVkIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsIm9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLFNBQVMsR0FBRyx3QkFBVztBQUMzQkMsRUFBQUEsSUFBSSxFQUFFO0FBQUVDLElBQUFBLE1BQU0sRUFBRTtB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QSx3QkFHaEIsZ0NBQUMsb0JBQUQ7QUFDRSxNQUFBLEdBQUcsRUFBRUYsR0FEUDtBQUVFLE1BQUEsUUFBUSxFQUFFRyxRQUZaO0FBR0UsTUFBQSxPQUFPLEVBQUU7QUFDUGEsUUFBQUEsSUFBSSxFQUFFL0IsT0FBTyxDQUFDZixRQURQO0FBRVBpQyxRQUFBQSxRQUFRLEVBQUVsQixPQUFPLENBQUNaO0FBRlgsT0FIWDtBQU9FLE1BQUEsT0FBTyxFQUFFO0FBQUEsZUFBTWtCLG1CQUFtQixDQUFDVSxLQUFELENBQXpCO0FBQUE7QUFQWCxPQVNHQyxXQVRILENBSGdCO0FBQUEsR0FBbEIsQ0FUSixDQXBCRixDQURGO0FBaURELENBdkdEOztBQXlHQTNCLGlCQUFpQixDQUFDMEMsU0FBbEIsR0FBOEI7QUFDNUJ6QyxFQUFBQSxRQUFRLEVBQUUwQyxzQkFBVUMsSUFBVixDQUFlQyxVQURHO0FBRTVCM0MsRUFBQUEsU0FBUyxFQUFFeUMsc0JBQVVHLE1BQVYsQ0FBaUJELFVBRkE7QUFHNUIxQyxFQUFBQSxXQUFXLEVBQUV3QyxzQkFBVUksTUFBVixDQUFpQkYsVUFIRjtBQUk1QnpDLEVBQUFBLGFBQWEsRUFBRXVDLHNCQUFVQyxJQUFWLENBQWVDLFVBSkY7QUFLNUJ4QyxFQUFBQSxlQUFlLEVBQUVzQyxzQkFBVUksTUFBVixDQUFpQkYsVUFMTjtBQU01QnZDLEVBQUFBLGlCQUFpQixFQUFFcUMsc0JBQVVLLElBQVYsQ0FBZUgsVUFOTjtBQU81QnRDLEVBQUFBLGtCQUFrQixFQUFFb0Msc0JBQVVLLElBQVYsQ0FBZUgsVUFQUDtBQVE1QnJDLEVBQUFBLGtCQUFrQixFQUFFbUMsc0JBQVVNLE1BQVYsQ0FBaUJKLFVBUlQ7QUFTNUJwQyxFQUFBQSwyQkFBMkIsRUFBRWtDLHNCQUFVSyxJQUFWLENBQWVIO0FBVGhCLENBQTlCO2VBWWU3QyxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgTWVudSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9NZW51JztcbmltcG9ydCBNZW51SXRlbSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9NZW51SXRlbSc7XG5pbXBvcnQgVGV4dEZpZWxkc0ljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1RleHRGaWVsZHMnO1xuaW1wb3J0IEFycm93RG93bkljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0tleWJvYXJkQXJyb3dEb3duJztcbmltcG9ydCB7IG1ha2VTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5jb25zdCB1c2VTdHlsZXMgPSBtYWtlU3R5bGVzKHtcbiAgbWVudTogeyBtYXJnaW46ICc0N3B4IDBweCAwcHggMzhweCcgfSxcbiAgbWVudUl0ZW06IHsgZm9udFNpemU6ICcxNHB4Jywgd2lkdGg6ICcxNTBweCcgfSxcbiAgbWVudUl0ZW1TZWxlY3RlZDogeyBjb2xvcjogJyNGRjQwODEnIH0sXG59KTtcblxuY29uc3QgRm9udFNlbGVjdGlvbk1lbnUgPSAoe1xuICBpc0hlYnJldyxcbiAgcGFuZUluZGV4LFxuICBjdXJyZW50Rm9udCxcbiAgaXNUYXJnZXRCaWJsZSxcbiAgc2VsZWN0Rm9udExhYmVsLFxuICBoYW5kbGVDbG9zZVBhcmVudCxcbiAgY2hhbmdlUGFuZUZvbnRUeXBlLFxuICBjb21wbGV4U2NyaXB0Rm9udHMsXG4gIGFkZE9iamVjdFByb3BlcnR5VG9NYW5pZmVzdCxcbn0pID0+IHtcbiAgY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlcygpO1xuICBjb25zdCBbYW5jaG9yRWwsIHNldEFuY2hvckVsXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB7XG4gICAgc2V0QW5jaG9yRWwoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlTWVudUl0ZW1DbGljayA9IChmb250KSA9PiB7XG4gICAgaGFuZGxlQ2xvc2UoKTtcblxuICAgIGlmIChpc1RhcmdldEJpYmxlKSB7XG4gICAgICBhZGRPYmplY3RQcm9wZXJ0eVRvTWFuaWZlc3QoJ3Byb2plY3RGb250JywgZm9udCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoYW5nZVBhbmVGb250VHlwZShwYW5lSW5kZXgsIGZvbnQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBzZXRBbmNob3JFbChudWxsKTtcbiAgICBoYW5kbGVDbG9zZVBhcmVudCgpO1xuICB9O1xuXG4gIGNvbnN0IGdldEZvbnRMaXN0ID0gKCkgPT4ge1xuICAgIC8vIGFkZCBhbGwgY29tcGxleCBzY3JpcHQgZm9udHMgdG8gZm9udCBsaXN0XG4gICAgY29uc3QgZm9udExpc3QgPSBPYmplY3Qua2V5cyhjb21wbGV4U2NyaXB0Rm9udHMpLm1hcCgoZm9udE5hbWUpID0+ICh7XG4gICAgICBrZXk6IGAke2ZvbnROYW1lfS1mb250LW1lbnUtaXRlbWAsXG4gICAgICB2YWx1ZTogY29tcGxleFNjcmlwdEZvbnRzW2ZvbnROYW1lXS5mb250LFxuICAgICAgcHJpbWFyeVRleHQ6IGZvbnROYW1lLFxuICAgICAgc2VsZWN0ZWQ6IGN1cnJlbnRGb250ID09PSBjb21wbGV4U2NyaXB0Rm9udHNbZm9udE5hbWVdLmZvbnQsXG4gICAgfSkpO1xuXG4gICAgLy8gYWRkIGRlZmF1bHQgZm9udFxuICAgIGZvbnRMaXN0LnB1c2goe1xuICAgICAga2V5OiAnTm90b1NhbnMtZm9udC1tZW51LWl0ZW0nLFxuICAgICAgdmFsdWU6ICdkZWZhdWx0JyxcbiAgICAgIHByaW1hcnlUZXh0OiBpc0hlYnJldyA/ICdFenJhIChEZWZhdWx0KScgOiAnTm90byBTYW5zIChEZWZhdWx0KScsXG4gICAgICBzZWxlY3RlZDogY3VycmVudEZvbnQgPT09ICcnIHx8IGN1cnJlbnRGb250ID09PSAnZGVmYXVsdCcsXG4gICAgfSk7XG5cbiAgICAvLyByZXR1cm4gc29ydGVkIGZvbnQgbGlzdFxuICAgIHJldHVybiBmb250TGlzdC5zb3J0KChhLCBiKSA9PiBhLnByaW1hcnlUZXh0IDwgYi5wcmltYXJ5VGV4dCA/IC0xIDogMSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIHBhZGRpbmc6ICc0cHgnLFxuICAgICAgICAgIG1hcmdpbjogJzZweCcsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxUZXh0RmllbGRzSWNvbiBzdHlsZT17eyBmb250U2l6ZTogJzI0cHgnIH19Lz5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW46ICcwcHggNXB4JywgY29sb3I6ICcjMDAwMDAwJyB9fT5cbiAgICAgICAgICB7c2VsZWN0Rm9udExhYmVsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEFycm93RG93bkljb24gc3R5bGU9e3sgY29sb3I6ICcjYjViM2IzJywgZm9udFNpemU6ICcyNHB4JyB9fS8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxNZW51XG4gICAgICAgIHZhcmlhbnQ9J21lbnUnXG4gICAgICAgIGlkPSdzaW1wbGUtbWVudSdcbiAgICAgICAgYW5jaG9yRWw9e2FuY2hvckVsfVxuICAgICAgICBvbkNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgb3Blbj17Qm9vbGVhbihhbmNob3JFbCl9XG4gICAgICAgIGNsYXNzZXM9e3sgcGFwZXI6IGNsYXNzZXMubWVudSB9fVxuICAgICAgPlxuICAgICAgICB7XG4gICAgICAgICAgZ2V0Rm9udExpc3QoKS5tYXAoKHtcbiAgICAgICAgICAgIGtleSwgdmFsdWUsIHNlbGVjdGVkLCBwcmltYXJ5VGV4dCxcbiAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICAgICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgICAgIHJvb3Q6IGNsYXNzZXMubWVudUl0ZW0sXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNsYXNzZXMubWVudUl0ZW1TZWxlY3RlZCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlTWVudUl0ZW1DbGljayh2YWx1ZSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtwcmltYXJ5VGV4dH1cbiAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgKSlcbiAgICAgICAgfVxuICAgICAgPC9NZW51PlxuICAgIDwvPlxuICApO1xufTtcblxuRm9udFNlbGVjdGlvbk1lbnUucHJvcFR5cGVzID0ge1xuICBpc0hlYnJldzogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgcGFuZUluZGV4OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIGN1cnJlbnRGb250OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGlzVGFyZ2V0QmlibGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHNlbGVjdEZvbnRMYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBoYW5kbGVDbG9zZVBhcmVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hhbmdlUGFuZUZvbnRUeXBlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjb21wbGV4U2NyaXB0Rm9udHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgYWRkT2JqZWN0UHJvcGVydHlUb01hbmlmZXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRm9udFNlbGVjdGlvbk1lbnU7XG4iXX0=