88 useState ,
99} from 'react' ;
1010
11- import { useToaster } from '@gravity-ui/uikit' ;
11+ import { type QAProps , useToaster } from '@gravity-ui/uikit' ;
1212import { ErrorBoundary } from 'react-error-boundary' ;
1313import { useEnsuredForwardedRef , useKey , useUpdate } from 'react-use' ;
1414
@@ -37,32 +37,33 @@ import './MarkdownEditorView.scss'; // eslint-disable-line import/order
3737export const cnEditorComponent = cn ( 'editor-component' ) ;
3838const b = cnEditorComponent ;
3939
40- export type MarkdownEditorViewProps = ClassNameProps & {
41- editor ?: Editor ;
42- autofocus ?: boolean ;
43- toolbarsPreset ?: ToolbarsPreset ;
44- /**
45- * @deprecated use `toolbarsPreset` instead
46- */
47- markupToolbarConfig ?: MToolbarData ;
48- /**
49- * @deprecated use `toolbarsPreset` instead
50- */
51- wysiwygToolbarConfig ?: WToolbarData ;
52- /**
53- * @deprecated use `toolbarsPreset` instead
54- */
55- markupHiddenActionsConfig ?: MToolbarItemData [ ] ;
56- /**
57- * @deprecated use `toolbarsPreset` instead
58- */
59- wysiwygHiddenActionsConfig ?: WToolbarItemData [ ] ;
60- /** @default true */
61- settingsVisible ?: boolean ;
62- stickyToolbar : boolean ;
63- enableSubmitInPreview ?: boolean ;
64- hidePreviewAfterSubmit ?: boolean ;
65- } ;
40+ export type MarkdownEditorViewProps = ClassNameProps &
41+ QAProps & {
42+ editor ?: Editor ;
43+ autofocus ?: boolean ;
44+ toolbarsPreset ?: ToolbarsPreset ;
45+ /**
46+ * @deprecated use `toolbarsPreset` instead
47+ */
48+ markupToolbarConfig ?: MToolbarData ;
49+ /**
50+ * @deprecated use `toolbarsPreset` instead
51+ */
52+ wysiwygToolbarConfig ?: WToolbarData ;
53+ /**
54+ * @deprecated use `toolbarsPreset` instead
55+ */
56+ markupHiddenActionsConfig ?: MToolbarItemData [ ] ;
57+ /**
58+ * @deprecated use `toolbarsPreset` instead
59+ */
60+ wysiwygHiddenActionsConfig ?: WToolbarItemData [ ] ;
61+ /** @default true */
62+ settingsVisible ?: boolean ;
63+ stickyToolbar : boolean ;
64+ enableSubmitInPreview ?: boolean ;
65+ hidePreviewAfterSubmit ?: boolean ;
66+ } ;
6667
6768export const MarkdownEditorView = forwardRef < HTMLDivElement , MarkdownEditorViewProps > (
6869 ( props , ref ) => {
@@ -83,6 +84,7 @@ export const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewP
8384 ) ;
8485
8586 const {
87+ qa,
8688 autofocus,
8789 className,
8890 settingsVisible = true ,
@@ -264,6 +266,7 @@ export const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewP
264266 >
265267 < div
266268 ref = { divRef }
269+ data-qa = { qa }
267270 className = { b (
268271 {
269272 settings : settingsVisible ,
@@ -297,6 +300,7 @@ export const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewP
297300 toolbarConfig = { wysiwygToolbarConfig }
298301 toolbarVisible = { editor . toolbarVisible }
299302 hiddenActionsConfig = { wysiwygHiddenActionsConfig }
303+ qa = "g-md-editor-mode"
300304 className = { b ( 'editor' , { mode : editorMode } ) }
301305 toolbarClassName = { b ( 'toolbar' ) }
302306 stickyToolbar = { stickyToolbar }
@@ -314,6 +318,7 @@ export const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewP
314318 splitMode = { editor . splitMode }
315319 splitModeEnabled = { editor . splitModeEnabled }
316320 hiddenActionsConfig = { markupHiddenActionsConfig }
321+ qa = "g-md-editor-mode"
317322 className = { b ( 'editor' , { mode : editorMode } ) }
318323 toolbarClassName = { b ( 'toolbar' ) }
319324 stickyToolbar = { stickyToolbar }
0 commit comments