@atlaskit/renderer
Version:
Renderer component
50 lines • 2.15 kB
JavaScript
/**
* @jsxRuntime classic
* @jsx jsx
*/
import { useState } from 'react';
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
import { jsx } from '@emotion/react';
import { injectIntl } from 'react-intl';
import { CodeBlockSharedCssClassName } from '@atlaskit/editor-common/styles';
import { CodeBlock as AkCodeBlock } from '@atlaskit/code';
import { codeBidiWarningMessages } from '@atlaskit/editor-common/messages';
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
import CodeBlockContainer from './components/codeBlockContainer';
function CodeBlock(props) {
const {
text,
language,
allowCopyToClipboard = false,
allowWrapCodeBlock = false,
codeBidiWarningTooltipEnabled,
hideLineNumbers = false,
localId,
wrap
} = props;
const codeBidiWarningLabel = props.intl.formatMessage(codeBidiWarningMessages.label);
const className = [CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER, props.className].join(' ');
const [wrapLongLines, setWrapLongLines] = useState(() => expValEquals('platform_editor_code_block_q4_lovability', 'isEnabled', true) && Boolean(wrap));
return jsx(CodeBlockContainer, {
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
}, jsx(AkCodeBlock, {
testId: "renderer-code-block",
language: language,
text: text,
codeBidiWarningLabel: codeBidiWarningLabel,
codeBidiWarningTooltipEnabled: codeBidiWarningTooltipEnabled,
shouldWrapLongLines: allowWrapCodeBlock && wrapLongLines,
shouldShowLineNumbers: !(expValEquals('platform_editor_code_block_q4_lovability', 'isEnabled', true) && hideLineNumbers),
hasBidiWarnings: expValEquals('platform_editor_remove_bidi_char_warning', 'isEnabled', true) ? false : undefined
}));
}
const _default_1 = injectIntl(CodeBlock);
export default _default_1;