@atlaskit/editor-plugin-code-block-advanced
Version:
CodeBlockAdvanced plugin for @atlaskit/editor-core
26 lines (23 loc) • 855 B
text/typescript
import type { Extension } from '@codemirror/state';
import { EditorView as CodeMirror } from '@codemirror/view';
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
/**
* Keeps 'first-node-in-document' class if it was added to a codeBlock by
* platform/packages/editor/editor-plugin-block-controls/src/pm-plugins/first-node-dec-plugin.ts
*
* @param getPos
* @returns CodeMirror Extension
* @example
*/
export const firstCodeBlockInDocument = (getPos: () => number | undefined): Extension => {
if (
expValEqualsNoExposure('platform_editor_controls', 'cohort', 'variant1') &&
expValEqualsNoExposure('platform_editor_breakout_resizing', 'isEnabled', true)
) {
return CodeMirror.editorAttributes.of({
class: getPos?.() === 0 ? 'first-node-in-document' : '',
});
} else {
return [];
}
};