tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
100 lines (84 loc) • 9.79 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.SelectedText = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var windowSelectionHelpers = _interopRequireWildcard(require("../helpers/windowSelectionHelpers"));
var _fontUtils = require("../../common/fontUtils");
var BREAK_CHAR = '&';
var SelectedText = function SelectedText(_ref) {
var children = _ref.children;
return /*#__PURE__*/_react["default"].createElement("strong", {
style: {
color: 'var(--accent-color)'
}
}, children);
};
exports.SelectedText = SelectedText;
SelectedText.propTypes = {
children: _propTypes["default"].node.isRequired
};
var getSelectionSpans = function getSelectionSpans(selections, targetLanguageFont) {
var results = [];
var fontClass = (0, _fontUtils.getFontClassName)(targetLanguageFont);
for (var i = 0, len = selections.length; i < len; i++) {
var selection = selections[i];
var index = i;
results.push( /*#__PURE__*/_react["default"].createElement("span", {
key: index
}, /*#__PURE__*/_react["default"].createElement("strong", {
style: {
color: 'var(--accent-color)'
},
className: fontClass
}, "".concat(selection.text.trim())), selections[index + 1] ? /*#__PURE__*/_react["default"].createElement("span", null, ' ') : null));
}
return results;
};
var InstructionsAreaTextSelection = function InstructionsAreaTextSelection(_ref2) {
var verseText = _ref2.verseText,
selections = _ref2.selections,
targetLanguageFont = _ref2.targetLanguageFont,
languageDirection = _ref2.languageDirection;
var fontClass = (0, _fontUtils.getFontClassName)(targetLanguageFont);
if (windowSelectionHelpers.shouldRenderBreak(selections, verseText)) {
return /*#__PURE__*/_react["default"].createElement("div", {
style: {
color: 'var(--accent-color)',
direction: languageDirection
}
}, /*#__PURE__*/_react["default"].createElement("span", {
className: fontClass
}, selections[0].text.trim()), /*#__PURE__*/_react["default"].createElement("strong", {
className: fontClass,
style: {
color: 'var(--accent-color)'
}
}, " ".concat(BREAK_CHAR, " ")), /*#__PURE__*/_react["default"].createElement("span", {
className: fontClass
}, selections[selections.length - 1].text.trim()));
} else {
return /*#__PURE__*/_react["default"].createElement("div", {
style: {
color: 'var(--accent-color)',
direction: languageDirection
}
}, getSelectionSpans(selections, targetLanguageFont));
}
};
InstructionsAreaTextSelection.propTypes = {
selections: _propTypes["default"].array.isRequired,
verseText: _propTypes["default"].string.isRequired,
targetLanguageFont: _propTypes["default"].string,
languageDirection: _propTypes["default"].string
};
InstructionsAreaTextSelection.defaultProps = {
languageDirection: 'ltr'
};
var _default = InstructionsAreaTextSelection;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WZXJzZUNoZWNrL0luc3RydWN0aW9uc0FyZWFUZXh0U2VsZWN0aW9uL2luZGV4LmpzIl0sIm5hbWVzIjpbIkJSRUFLX0NIQVIiLCJTZWxlY3RlZFRleHQiLCJjaGlsZHJlbiIsImNvbG9yIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsImlzUmVxdWlyZWQiLCJnZXRTZWxlY3Rpb25TcGFucyIsInNlbGVjdGlvbnMiLCJ0YXJnZXRMYW5ndWFnZUZvbnQiLCJyZXN1bHRzIiwiZm9udENsYXNzIiwiaSIsImxlbiIsImxlbmd0aCIsInNlbGVjdGlvbiIsImluZGV4IiwicHVzaCIsInRleHQiLCJ0cmltIiwiSW5zdHJ1Y3Rpb25zQXJlYVRleHRTZWxlY3Rpb24iLCJ2ZXJzZVRleHQiLCJsYW5ndWFnZURpcmVjdGlvbiIsIndpbmRvd1NlbGVjdGlvbkhlbHBlcnMiLCJzaG91bGRSZW5kZXJCcmVhayIsImRpcmVjdGlvbiIsImFycmF5Iiwic3RyaW5nIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLFVBQVUsR0FBRyxHQUFuQjs7QUFFTyxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLE1BQUdDLFFBQUgsUUFBR0EsUUFBSDtBQUFBLHNCQUFrQjtBQUFRLElBQUEsS0FBSyxFQUFFO0FBQUVDLE1BQUFBLEtBQUssRUFBRTtBQUFUO0FBQWYsS0FBa0RELFFBQWxELENBQWxCO0FBQUEsQ0FBckI7OztBQUVQRCxZQUFZLENBQUNHLFNBQWIsR0FBeUI7QUFBRUYsRUFBQUEsUUFBUSxFQUFFRyxzQkFBVUMsSUFBVixDQUFlQztBQUEzQixDQUF6Qjs7QUFFQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNDLFVBQUQsRUFBYUMsa0JBQWIsRUFBb0M7QUFDNUQsTUFBTUMsT0FBTyxHQUFHLEVBQWhCO0FBQ0EsTUFBTUMsU0FBUyxHQUFHLGlDQUFpQkYsa0JBQWpCLENBQWxCOztBQUVBLE9BQUssSUFBSUcsQ0FBQyxHQUFHLENBQVIsRUFBV0MsR0FBRyxHQUFHTCxVQUFVLENBQUNNLE1BQWpDLEVBQXlDRixDQUFDLEdBQUdDLEdBQTdDLEVBQWtERCxDQUFDLEVBQW5ELEVBQXVEO0FBQ3JELFFBQU1HLFNBQVMsR0FBR1AsVUFBVSxDQUFDSSxDQUFELENBQTVCO0FBQ0EsUUFBTUksS0FBSyxHQUFHSixDQUFkO0FBRUFGLElBQUFBLE9BQU8sQ0FBQ08sSUFBUixlQUNFO0FBQU0sTUFBQSxHQUFHLEVBQUVEO0FBQVgsb0JBQ0U7QUFBUSxNQUFBLEtBQUssRUFBRTtBQUFFZCxRQUFBQSxLQUFLLEVBQUU7QUFBVCxPQUFmO0FBQWlELE1BQUEsU0FBUyxFQUFFUztBQUE1RCxpQkFDTUksU0FBUyxDQUFDRyxJQUFWLENBQWVDLElBQWYsRUFETixFQURGLEVBSUdYLFVBQVUsQ0FBQ1EsS0FBSyxHQUFHLENBQVQsQ0FBVixnQkFBd0IsOENBQU8sR0FBUCxDQUF4QixHQUE2QyxJQUpoRCxDQURGO0FBUUQ7O0FBRUQsU0FBT04sT0FBUDtBQUNELENBbkJEOztBQXFCQSxJQUFNVSw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLFFBS2hDO0FBQUEsTUFKSkMsU0FJSSxTQUpKQSxTQUlJO0FBQUEsTUFISmIsVUFHSSxTQUhKQSxVQUdJO0FBQUEsTUFGSkMsa0JBRUksU0FGSkEsa0JBRUk7QUFBQSxNQURKYSxpQkFDSSxTQURKQSxpQkFDSTtBQUNKLE1BQU1YLFNBQVMsR0FBRyxpQ0FBaUJGLGtCQUFqQixDQUFsQjs7QUFFQSxNQUFJYyxzQkFBc0IsQ0FBQ0MsaUJBQXZCLENBQXlDaEIsVUFBekMsRUFBcURhLFNBQXJELENBQUosRUFBcUU7QUFDbkUsd0JBQ0U7QUFBSyxNQUFBLEtBQUssRUFBRTtBQUFFbkIsUUFBQUEsS0FBSyxFQUFFLHFCQUFUO0FBQWdDdUIsUUFBQUEsU0FBUyxFQUFFSDtBQUEzQztBQUFaLG9CQUNFO0FBQU0sTUFBQSxTQUFTLEVBQUVYO0FBQWpCLE9BQTZCSCxVQUFVLENBQUMsQ0FBRCxDQUFWLENBQWNVLElBQWQsQ0FBbUJDLElBQW5CLEVBQTdCLENBREYsZUFFRTtBQUFRLE1BQUEsU0FBUyxFQUFFUixTQUFuQjtBQUE4QixNQUFBLEtBQUssRUFBRTtBQUFFVCxRQUFBQSxLQUFLLEVBQUU7QUFBVDtBQUFyQyxrQkFDT0gsVUFEUCxPQUZGLGVBS0U7QUFBTSxNQUFBLFNBQVMsRUFBRVk7QUFBakIsT0FBNkJILFVBQVUsQ0FBQ0EsVUFBVSxDQUFDTSxNQUFYLEdBQW9CLENBQXJCLENBQVYsQ0FBa0NJLElBQWxDLENBQXVDQyxJQUF2QyxFQUE3QixDQUxGLENBREY7QUFTRCxHQVZELE1BVU87QUFDTCx3QkFDRTtBQUFLLE1BQUEsS0FBSyxFQUFFO0FBQUVqQixRQUFBQSxLQUFLLEVBQUUscUJBQVQ7QUFBZ0N1QixRQUFBQSxTQUFTLEVBQUVIO0FBQTNDO0FBQVosT0FDR2YsaUJBQWlCLENBQUNDLFVBQUQsRUFBYUMsa0JBQWIsQ0FEcEIsQ0FERjtBQUtEO0FBQ0YsQ0F6QkQ7O0FBMkJBVyw2QkFBNkIsQ0FBQ2pCLFNBQTlCLEdBQTBDO0FBQ3hDSyxFQUFBQSxVQUFVLEVBQUVKLHNCQUFVc0IsS0FBVixDQUFnQnBCLFVBRFk7QUFFeENlLEVBQUFBLFNBQVMsRUFBRWpCLHNCQUFVdUIsTUFBVixDQUFpQnJCLFVBRlk7QUFHeENHLEVBQUFBLGtCQUFrQixFQUFFTCxzQkFBVXVCLE1BSFU7QUFJeENMLEVBQUFBLGlCQUFpQixFQUFFbEIsc0JBQVV1QjtBQUpXLENBQTFDO0FBT0FQLDZCQUE2QixDQUFDUSxZQUE5QixHQUE2QztBQUFFTixFQUFBQSxpQkFBaUIsRUFBRTtBQUFyQixDQUE3QztlQUVlRiw2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0ICogYXMgd2luZG93U2VsZWN0aW9uSGVscGVycyBmcm9tICcuLi9oZWxwZXJzL3dpbmRvd1NlbGVjdGlvbkhlbHBlcnMnO1xuaW1wb3J0IHsgZ2V0Rm9udENsYXNzTmFtZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9mb250VXRpbHMnO1xuXG5jb25zdCBCUkVBS19DSEFSID0gJyYnO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0ZWRUZXh0ID0gKHsgY2hpbGRyZW4gfSkgPT4gPHN0cm9uZyBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLWFjY2VudC1jb2xvciknIH19PntjaGlsZHJlbn08L3N0cm9uZz47XG5cblNlbGVjdGVkVGV4dC5wcm9wVHlwZXMgPSB7IGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkIH07XG5cbmNvbnN0IGdldFNlbGVjdGlvblNwYW5zID0gKHNlbGVjdGlvbnMsIHRhcmdldExhbmd1YWdlRm9udCkgPT4ge1xuICBjb25zdCByZXN1bHRzID0gW107XG4gIGNvbnN0IGZvbnRDbGFzcyA9IGdldEZvbnRDbGFzc05hbWUodGFyZ2V0TGFuZ3VhZ2VGb250KTtcblxuICBmb3IgKGxldCBpID0gMCwgbGVuID0gc2VsZWN0aW9ucy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHNlbGVjdGlvbnNbaV07XG4gICAgY29uc3QgaW5kZXggPSBpO1xuXG4gICAgcmVzdWx0cy5wdXNoKFxuICAgICAgPHNwYW4ga2V5PXtpbmRleH0gPlxuICAgICAgICA8c3Ryb25nIHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tYWNjZW50LWNvbG9yKScgfX0gY2xhc3NOYW1lPXtmb250Q2xhc3N9PlxuICAgICAgICAgIHtgJHtzZWxlY3Rpb24udGV4dC50cmltKCl9YH1cbiAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgIHtzZWxlY3Rpb25zW2luZGV4ICsgMV0gPyA8c3Bhbj57JyAnfTwvc3Bhbj4gOiBudWxsfVxuICAgICAgPC9zcGFuPixcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdHM7XG59O1xuXG5jb25zdCBJbnN0cnVjdGlvbnNBcmVhVGV4dFNlbGVjdGlvbiA9ICh7XG4gIHZlcnNlVGV4dCxcbiAgc2VsZWN0aW9ucyxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250LFxuICBsYW5ndWFnZURpcmVjdGlvbixcbn0pID0+IHtcbiAgY29uc3QgZm9udENsYXNzID0gZ2V0Rm9udENsYXNzTmFtZSh0YXJnZXRMYW5ndWFnZUZvbnQpO1xuXG4gIGlmICh3aW5kb3dTZWxlY3Rpb25IZWxwZXJzLnNob3VsZFJlbmRlckJyZWFrKHNlbGVjdGlvbnMsIHZlcnNlVGV4dCkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLWFjY2VudC1jb2xvciknLCBkaXJlY3Rpb246IGxhbmd1YWdlRGlyZWN0aW9uIH19PlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2ZvbnRDbGFzc30+e3NlbGVjdGlvbnNbMF0udGV4dC50cmltKCl9PC9zcGFuPlxuICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT17Zm9udENsYXNzfSBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLWFjY2VudC1jb2xvciknIH19PlxuICAgICAgICAgIHtgICR7QlJFQUtfQ0hBUn0gYH1cbiAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Zm9udENsYXNzfT57c2VsZWN0aW9uc1tzZWxlY3Rpb25zLmxlbmd0aCAtIDFdLnRleHQudHJpbSgpfTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1hY2NlbnQtY29sb3IpJywgZGlyZWN0aW9uOiBsYW5ndWFnZURpcmVjdGlvbiB9fT5cbiAgICAgICAge2dldFNlbGVjdGlvblNwYW5zKHNlbGVjdGlvbnMsIHRhcmdldExhbmd1YWdlRm9udCl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59O1xuXG5JbnN0cnVjdGlvbnNBcmVhVGV4dFNlbGVjdGlvbi5wcm9wVHlwZXMgPSB7XG4gIHNlbGVjdGlvbnM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICB2ZXJzZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsYW5ndWFnZURpcmVjdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkluc3RydWN0aW9uc0FyZWFUZXh0U2VsZWN0aW9uLmRlZmF1bHRQcm9wcyA9IHsgbGFuZ3VhZ2VEaXJlY3Rpb246ICdsdHInIH07XG5cbmV4cG9ydCBkZWZhdWx0IEluc3RydWN0aW9uc0FyZWFUZXh0U2VsZWN0aW9uO1xuIl19