@atlaskit/renderer
Version:
Renderer component
66 lines (63 loc) • 3.11 kB
JavaScript
;
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 = require("react");
var _react2 = require("@emotion/react");
var _reactIntl = require("react-intl");
var _styles = require("@atlaskit/editor-common/styles");
var _code = require("@atlaskit/code");
var _messages = require("@atlaskit/editor-common/messages");
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
var _codeBlockContainer = _interopRequireDefault(require("./components/codeBlockContainer"));
/**
* @jsxRuntime classic
* @jsx jsx
*/
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
function CodeBlock(props) {
var text = props.text,
language = props.language,
_props$allowCopyToCli = props.allowCopyToClipboard,
allowCopyToClipboard = _props$allowCopyToCli === void 0 ? false : _props$allowCopyToCli,
_props$allowWrapCodeB = props.allowWrapCodeBlock,
allowWrapCodeBlock = _props$allowWrapCodeB === void 0 ? false : _props$allowWrapCodeB,
codeBidiWarningTooltipEnabled = props.codeBidiWarningTooltipEnabled,
_props$hideLineNumber = props.hideLineNumbers,
hideLineNumbers = _props$hideLineNumber === void 0 ? false : _props$hideLineNumber,
localId = props.localId,
wrap = props.wrap;
var codeBidiWarningLabel = props.intl.formatMessage(_messages.codeBidiWarningMessages.label);
var className = [_styles.CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER, props.className].join(' ');
var _useState = (0, _react.useState)(function () {
return (0, _expValEquals.expValEquals)('platform_editor_code_block_q4_lovability', 'isEnabled', true) && Boolean(wrap);
}),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
wrapLongLines = _useState2[0],
setWrapLongLines = _useState2[1];
return (0, _react2.jsx)(_codeBlockContainer.default, {
allowCopyToClipboard: allowCopyToClipboard,
allowWrapCodeBlock: allowWrapCodeBlock
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
,
className: className,
localId: localId,
setWrapLongLines: setWrapLongLines,
text: text,
wrapLongLines: wrapLongLines
}, (0, _react2.jsx)(_code.CodeBlock, {
testId: "renderer-code-block",
language: language,
text: text,
codeBidiWarningLabel: codeBidiWarningLabel,
codeBidiWarningTooltipEnabled: codeBidiWarningTooltipEnabled,
shouldWrapLongLines: allowWrapCodeBlock && wrapLongLines,
shouldShowLineNumbers: !((0, _expValEquals.expValEquals)('platform_editor_code_block_q4_lovability', 'isEnabled', true) && hideLineNumbers),
hasBidiWarnings: (0, _expValEquals.expValEquals)('platform_editor_remove_bidi_char_warning', 'isEnabled', true) ? false : undefined
}));
}
var _default_1 = (0, _reactIntl.injectIntl)(CodeBlock);
var _default = exports.default = _default_1;