UNPKG

@atlaskit/renderer

Version:
50 lines 2.15 kB
/** * @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;