@@ -2,10 +2,12 @@ import React, { useRef, forwardRef, useImperativeHandle } from 'react';
22import { EditorState , EditorStateConfig , Extension } from '@codemirror/state' ;
33import { EditorView , ViewUpdate } from '@codemirror/view' ;
44import { useCodeMirror } from './useCodeMirror' ;
5+ import { Statistics } from './utils' ;
56import { BasicSetupOptions } from './basicSetup' ;
67
78export * from './basicSetup' ;
89export * from './useCodeMirror' ;
10+ export * from './utils' ;
911
1012export interface ReactCodeMirrorProps
1113 extends Omit < EditorStateConfig , 'doc' | 'extensions' > ,
@@ -49,6 +51,8 @@ export interface ReactCodeMirrorProps
4951 indentWithTab ?: boolean ;
5052 /** Fired whenever a change occurs to the document. */
5153 onChange ?( value : string , viewUpdate : ViewUpdate ) : void ;
54+ /** Some data on the statistics editor. */
55+ onStatistics ?( data : Statistics ) : void ;
5256 /** Fired whenever any state change occurs within the editor, including non-document changes like lint results. */
5357 onUpdate ?( viewUpdate : ViewUpdate ) : void ;
5458 /**
@@ -78,6 +82,7 @@ const ReactCodeMirror = forwardRef<ReactCodeMirrorRef, ReactCodeMirrorProps>((pr
7882 selection,
7983 extensions = [ ] ,
8084 onChange,
85+ onStatistics,
8186 onUpdate,
8287 autoFocus,
8388 theme = 'light' ,
@@ -115,6 +120,7 @@ const ReactCodeMirror = forwardRef<ReactCodeMirrorRef, ReactCodeMirrorProps>((pr
115120 readOnly,
116121 selection,
117122 onChange,
123+ onStatistics,
118124 onUpdate,
119125 extensions,
120126 } ) ;
0 commit comments