@uiw/react-md-editor 4.0.7 → 4.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +104 -2
  2. package/commands.d.ts +14 -7
  3. package/dist/mdeditor.css +1 -1
  4. package/dist/mdeditor.js +231 -233
  5. package/dist/mdeditor.min.js +1 -1
  6. package/esm/Editor.d.ts +1 -1
  7. package/esm/Editor.nohighlight.d.ts +1 -1
  8. package/esm/commands/index.cn.js +4 -4
  9. package/esm/commands/index.d.ts +8 -8
  10. package/esm/commands/index.js +8 -8
  11. package/esm/commands/title.d.ts +7 -1
  12. package/esm/commands/title.js +11 -4
  13. package/esm/commands/title1.d.ts +6 -0
  14. package/esm/commands/title1.js +16 -9
  15. package/esm/commands/title2.d.ts +6 -0
  16. package/esm/commands/title2.js +16 -9
  17. package/esm/commands/title3.d.ts +6 -0
  18. package/esm/commands/title3.js +16 -9
  19. package/esm/commands/title4.d.ts +6 -0
  20. package/esm/commands/title4.js +16 -9
  21. package/esm/commands/title5.d.ts +6 -0
  22. package/esm/commands/title5.js +16 -9
  23. package/esm/commands/title6.d.ts +6 -0
  24. package/esm/commands/title6.js +16 -9
  25. package/esm/components/DragBar/index.d.ts +1 -1
  26. package/esm/components/TextArea/Markdown.d.ts +1 -1
  27. package/esm/components/TextArea/Textarea.d.ts +1 -1
  28. package/esm/components/TextArea/index.d.ts +4 -4
  29. package/esm/components/TextArea/index.nohighlight.d.ts +3 -3
  30. package/esm/components/Toolbar/Child.d.ts +1 -1
  31. package/esm/components/Toolbar/index.d.ts +1 -1
  32. package/esm/index.d.ts +3 -0
  33. package/esm/index.js +3 -0
  34. package/lib/Editor.d.ts +1 -1
  35. package/lib/Editor.nohighlight.d.ts +1 -1
  36. package/lib/commands/index.cn.js +4 -4
  37. package/lib/commands/index.d.ts +8 -8
  38. package/lib/commands/index.js +42 -0
  39. package/lib/commands/title.d.ts +7 -1
  40. package/lib/commands/title.js +12 -4
  41. package/lib/commands/title1.d.ts +6 -0
  42. package/lib/commands/title1.js +16 -9
  43. package/lib/commands/title2.d.ts +6 -0
  44. package/lib/commands/title2.js +16 -9
  45. package/lib/commands/title3.d.ts +6 -0
  46. package/lib/commands/title3.js +16 -9
  47. package/lib/commands/title4.d.ts +6 -0
  48. package/lib/commands/title4.js +16 -9
  49. package/lib/commands/title5.d.ts +6 -0
  50. package/lib/commands/title5.js +16 -9
  51. package/lib/commands/title6.d.ts +6 -0
  52. package/lib/commands/title6.js +16 -9
  53. package/lib/components/DragBar/index.d.ts +1 -1
  54. package/lib/components/TextArea/Markdown.d.ts +1 -1
  55. package/lib/components/TextArea/Textarea.d.ts +1 -1
  56. package/lib/components/TextArea/index.d.ts +4 -4
  57. package/lib/components/TextArea/index.nohighlight.d.ts +3 -3
  58. package/lib/components/Toolbar/Child.d.ts +1 -1
  59. package/lib/components/Toolbar/index.d.ts +1 -1
  60. package/lib/index.d.ts +3 -0
  61. package/lib/index.js +26 -1
  62. package/nohighlight.d.ts +2 -0
  63. package/package.json +1 -1
  64. package/src/Editor.nohighlight.tsx +2 -2
  65. package/src/Editor.tsx +3 -3
  66. package/src/commands/index.cn.ts +3 -3
  67. package/src/commands/index.ts +14 -7
  68. package/src/commands/title.tsx +11 -4
  69. package/src/commands/title1.tsx +14 -7
  70. package/src/commands/title2.tsx +14 -7
  71. package/src/commands/title3.tsx +14 -7
  72. package/src/commands/title4.tsx +14 -7
  73. package/src/commands/title5.tsx +14 -7
  74. package/src/commands/title6.tsx +14 -7
  75. package/src/components/DragBar/index.tsx +1 -1
  76. package/src/components/TextArea/Markdown.tsx +1 -1
  77. package/src/components/TextArea/Textarea.tsx +2 -2
  78. package/src/components/TextArea/index.nohighlight.tsx +5 -4
  79. package/src/components/TextArea/index.tsx +6 -5
  80. package/src/components/Toolbar/Child.tsx +1 -1
  81. package/src/components/Toolbar/index.tsx +2 -2
  82. package/src/index.tsx +3 -0
@@ -3,8 +3,8 @@ import MarkdownPreview from '@uiw/react-markdown-preview/nohighlight';
3
3
  import TextArea from './components/TextArea/index.nohighlight';
4
4
  import { ToolbarVisibility } from './components/Toolbar/';
5
5
  import DragBar from './components/DragBar/';
6
- import { getCommands, getExtraCommands, ICommand, TextState, TextAreaCommandOrchestrator } from './commands/';
7
- import { reducer, EditorContext, ContextStore } from './Context';
6
+ import { getCommands, getExtraCommands, type ICommand, type TextState, TextAreaCommandOrchestrator } from './commands/';
7
+ import { reducer, EditorContext, type ContextStore } from './Context';
8
8
  import type { MDEditorProps } from './Types';
9
9
 
10
10
  function setGroupPopFalse(data: Record<string, boolean> = {}) {
package/src/Editor.tsx CHANGED
@@ -1,10 +1,10 @@
1
- import React, { useEffect, useReducer, useMemo, useRef, useImperativeHandle, Fragment } from 'react';
1
+ import React, { useEffect, useReducer, useMemo, useRef, useImperativeHandle } from 'react';
2
2
  import MarkdownPreview from '@uiw/react-markdown-preview';
3
3
  import { ToolbarVisibility } from './components/Toolbar/';
4
4
  import TextArea from './components/TextArea/';
5
5
  import DragBar from './components/DragBar/';
6
- import { getCommands, getExtraCommands, ICommand, TextState, TextAreaCommandOrchestrator } from './commands/';
7
- import { reducer, EditorContext, ContextStore } from './Context';
6
+ import { getCommands, getExtraCommands, type ICommand, type TextState, TextAreaCommandOrchestrator } from './commands/';
7
+ import { reducer, EditorContext, type ContextStore } from './Context';
8
8
  import type { MDEditorProps } from './Types';
9
9
 
10
10
  function setGroupPopFalse(data: Record<string, boolean> = {}) {
@@ -46,7 +46,7 @@ let fullscreen: ICommand = {
46
46
  ...fullscreenInit,
47
47
  buttonProps: { 'aria-label': '切换全屏(ctrl + 0)', title: '切换全屏(ctrl + 0)' },
48
48
  };
49
- let hr: ICommand = { ...hrInit, buttonProps: { 'aria-label': '插入HR (ctrl + h)', title: '插入HR (ctrl + h)' } };
49
+ let hr: ICommand = { ...hrInit, buttonProps: { 'aria-label': '插入分割线 (ctrl + h)', title: '插入分割线 (ctrl + h)' } };
50
50
  let image: ICommand = {
51
51
  ...imageInit,
52
52
  buttonProps: { 'aria-label': '添加图像(ctrl + k)', title: '添加图像(ctrl + k)' },
@@ -91,8 +91,8 @@ let quote: ICommand = {
91
91
  let strikethrough: ICommand = {
92
92
  ...strikethroughInit,
93
93
  buttonProps: {
94
- 'aria-label': 'Add strikethrough text (ctrl + shift + x)',
95
- title: 'Add strikethrough text (ctrl + shift + x)',
94
+ 'aria-label': '添加删除线文本 (ctrl + shift + x)',
95
+ title: '添加删除线文本 (ctrl + shift + x)',
96
96
  },
97
97
  };
98
98
  let issue: ICommand = { ...issueInit, buttonProps: { 'aria-label': '添加 issue', title: '添加 issue' } };
@@ -15,13 +15,13 @@ import { checkedListCommand, orderedListCommand, unorderedListCommand } from './
15
15
  import { codeEdit, codeLive, codePreview } from './preview';
16
16
  import { quote } from './quote';
17
17
  import { strikethrough } from './strikeThrough';
18
- import { title } from './title';
19
- import { title1 } from './title1';
20
- import { title2 } from './title2';
21
- import { title3 } from './title3';
22
- import { title4 } from './title4';
23
- import { title5 } from './title5';
24
- import { title6 } from './title6';
18
+ import { title, heading } from './title';
19
+ import { title1, heading1 } from './title1';
20
+ import { title2, heading2 } from './title2';
21
+ import { title3, heading3 } from './title3';
22
+ import { title4, heading4 } from './title4';
23
+ import { title5, heading5 } from './title5';
24
+ import { title6, heading6 } from './title6';
25
25
  import { table } from './table';
26
26
  import { issue } from './issue';
27
27
  import { help } from './help';
@@ -188,6 +188,13 @@ export {
188
188
  title4,
189
189
  title5,
190
190
  title6,
191
+ heading,
192
+ heading1,
193
+ heading2,
194
+ heading3,
195
+ heading4,
196
+ heading5,
197
+ heading6,
191
198
  bold,
192
199
  codeBlock,
193
200
  comment,
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { ICommand, ExecuteState, TextAreaTextApi } from './';
3
- import { title1 } from './title1';
3
+ import { heading1 } from './title1';
4
4
  import { selectLine, executeCommand } from '../utils/markdownUtils';
5
5
 
6
- export function titleExecute({
6
+ export function headingExecute({
7
7
  state,
8
8
  api,
9
9
  prefix,
@@ -19,8 +19,8 @@ export function titleExecute({
19
19
  executeCommand({ api, selectedText: state1.selectedText, selection: state.selection, prefix, suffix });
20
20
  }
21
21
 
22
- export const title: ICommand = {
23
- ...title1,
22
+ export const heading: ICommand = {
23
+ ...heading1,
24
24
  icon: (
25
25
  <svg width="12" height="12" viewBox="0 0 520 520">
26
26
  <path
@@ -30,3 +30,10 @@ export const title: ICommand = {
30
30
  </svg>
31
31
  ),
32
32
  };
33
+
34
+ /**
35
+ * @deprecated Use `heading` instead.
36
+ * This command is now deprecated and will be removed in future versions.
37
+ * Use `title` for inserting headings.
38
+ */
39
+ export const title: ICommand = heading;
@@ -1,16 +1,23 @@
1
1
  import React from 'react';
2
- import { titleExecute } from '../commands/title';
2
+ import { headingExecute } from '../commands/title';
3
3
  import { ICommand, ExecuteState, TextAreaTextApi } from './';
4
4
 
5
- export const title1: ICommand = {
6
- name: 'title1',
7
- keyCommand: 'title1',
5
+ export const heading1: ICommand = {
6
+ name: 'heading1',
7
+ keyCommand: 'heading1',
8
8
  shortcuts: 'ctrlcmd+1',
9
9
  prefix: '# ',
10
10
  suffix: '',
11
- buttonProps: { 'aria-label': 'Insert title1 (ctrl + 1)', title: 'Insert title1 (ctrl + 1)' },
12
- icon: <div style={{ fontSize: 18, textAlign: 'left' }}>Title 1</div>,
11
+ buttonProps: { 'aria-label': 'Insert Heading 1 (ctrl + 1)', title: 'Insert Heading 1 (ctrl + 1)' },
12
+ icon: <div style={{ fontSize: 18, textAlign: 'left' }}>Heading 1</div>,
13
13
  execute: (state: ExecuteState, api: TextAreaTextApi) => {
14
- titleExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
14
+ headingExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
15
15
  },
16
16
  };
17
+
18
+ /**
19
+ * @deprecated Use `heading1` instead.
20
+ * This command is now deprecated and will be removed in future versions.
21
+ * Use `title1` for inserting Heading 1.
22
+ */
23
+ export const title1: ICommand = heading1;
@@ -1,16 +1,23 @@
1
1
  import React from 'react';
2
- import { titleExecute } from '../commands/title';
2
+ import { headingExecute } from '../commands/title';
3
3
  import { ICommand, ExecuteState, TextAreaTextApi } from './';
4
4
 
5
- export const title2: ICommand = {
6
- name: 'title2',
7
- keyCommand: 'title2',
5
+ export const heading2: ICommand = {
6
+ name: 'heading2',
7
+ keyCommand: 'heading2',
8
8
  shortcuts: 'ctrlcmd+2',
9
9
  prefix: '## ',
10
10
  suffix: '',
11
- buttonProps: { 'aria-label': 'Insert title2 (ctrl + 2)', title: 'Insert title2 (ctrl + 2)' },
12
- icon: <div style={{ fontSize: 16, textAlign: 'left' }}>Title 2</div>,
11
+ buttonProps: { 'aria-label': 'Insert Heading 2 (ctrl + 2)', title: 'Insert Heading 2 (ctrl + 2)' },
12
+ icon: <div style={{ fontSize: 16, textAlign: 'left' }}>Heading 2</div>,
13
13
  execute: (state: ExecuteState, api: TextAreaTextApi) => {
14
- titleExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
14
+ headingExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
15
15
  },
16
16
  };
17
+
18
+ /**
19
+ * @deprecated Use `heading2` instead.
20
+ * This command is now deprecated and will be removed in future versions.
21
+ * Use `title2` for inserting Heading 2.
22
+ */
23
+ export const title2: ICommand = heading2;
@@ -1,16 +1,23 @@
1
1
  import React from 'react';
2
- import { titleExecute } from '../commands/title';
2
+ import { headingExecute } from '../commands/title';
3
3
  import { ICommand, ExecuteState, TextAreaTextApi } from './';
4
4
 
5
- export const title3: ICommand = {
6
- name: 'title3',
7
- keyCommand: 'title3',
5
+ export const heading3: ICommand = {
6
+ name: 'heading3',
7
+ keyCommand: 'heading3',
8
8
  shortcuts: 'ctrlcmd+3',
9
9
  prefix: '### ',
10
10
  suffix: '',
11
- buttonProps: { 'aria-label': 'Insert title3 (ctrl + 3)', title: 'Insert title3 (ctrl + 3)' },
12
- icon: <div style={{ fontSize: 15, textAlign: 'left' }}>Title 3</div>,
11
+ buttonProps: { 'aria-label': 'Insert Heading 3 (ctrl + 3)', title: 'Insert Heading 3 (ctrl + 3)' },
12
+ icon: <div style={{ fontSize: 15, textAlign: 'left' }}>Heading 3</div>,
13
13
  execute: (state: ExecuteState, api: TextAreaTextApi) => {
14
- titleExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
14
+ headingExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
15
15
  },
16
16
  };
17
+
18
+ /**
19
+ * @deprecated Use `heading3` instead.
20
+ * This command is now deprecated and will be removed in future versions.
21
+ * Use `title3` for inserting Heading 3.
22
+ */
23
+ export const title3: ICommand = heading3;
@@ -1,16 +1,23 @@
1
1
  import React from 'react';
2
- import { titleExecute } from '../commands/title';
2
+ import { headingExecute } from '../commands/title';
3
3
  import { ICommand, ExecuteState, TextAreaTextApi } from './';
4
4
 
5
- export const title4: ICommand = {
6
- name: 'title4',
7
- keyCommand: 'title4',
5
+ export const heading4: ICommand = {
6
+ name: 'heading4',
7
+ keyCommand: 'heading4',
8
8
  shortcuts: 'ctrlcmd+4',
9
9
  prefix: '#### ',
10
10
  suffix: '',
11
- buttonProps: { 'aria-label': 'Insert title4 (ctrl + 4)', title: 'Insert title4 (ctrl + 4)' },
12
- icon: <div style={{ fontSize: 14, textAlign: 'left' }}>Title 4</div>,
11
+ buttonProps: { 'aria-label': 'Insert Heading 4 (ctrl + 4)', title: 'Insert Heading 4 (ctrl + 4)' },
12
+ icon: <div style={{ fontSize: 14, textAlign: 'left' }}>Heading 4</div>,
13
13
  execute: (state: ExecuteState, api: TextAreaTextApi) => {
14
- titleExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
14
+ headingExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
15
15
  },
16
16
  };
17
+
18
+ /**
19
+ * @deprecated Use `heading4` instead.
20
+ * This command is now deprecated and will be removed in future versions.
21
+ * Use `title4` for inserting Heading 4.
22
+ */
23
+ export const title4: ICommand = heading4;
@@ -1,16 +1,23 @@
1
1
  import React from 'react';
2
- import { titleExecute } from '../commands/title';
2
+ import { headingExecute } from '../commands/title';
3
3
  import { ICommand, ExecuteState, TextAreaTextApi } from './';
4
4
 
5
- export const title5: ICommand = {
6
- name: 'title5',
7
- keyCommand: 'title5',
5
+ export const heading5: ICommand = {
6
+ name: 'heading5',
7
+ keyCommand: 'heading5',
8
8
  shortcuts: 'ctrlcmd+5',
9
9
  prefix: '##### ',
10
10
  suffix: '',
11
- buttonProps: { 'aria-label': 'Insert title5 (ctrl + 5)', title: 'Insert title5 (ctrl + 5)' },
12
- icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Title 5</div>,
11
+ buttonProps: { 'aria-label': 'Insert Heading 5 (ctrl + 5)', title: 'Insert Heading 5 (ctrl + 5)' },
12
+ icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Heading 5</div>,
13
13
  execute: (state: ExecuteState, api: TextAreaTextApi) => {
14
- titleExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
14
+ headingExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
15
15
  },
16
16
  };
17
+
18
+ /**
19
+ * @deprecated Use `heading5` instead.
20
+ * This command is now deprecated and will be removed in future versions.
21
+ * Use `title5` for inserting Heading 5.
22
+ */
23
+ export const title5: ICommand = heading5;
@@ -1,16 +1,23 @@
1
1
  import React from 'react';
2
- import { titleExecute } from '../commands/title';
2
+ import { headingExecute } from '../commands/title';
3
3
  import { ICommand, ExecuteState, TextAreaTextApi } from './';
4
4
 
5
- export const title6: ICommand = {
6
- name: 'title6',
7
- keyCommand: 'title6',
5
+ export const heading6: ICommand = {
6
+ name: 'heading6',
7
+ keyCommand: 'heading6',
8
8
  shortcuts: 'ctrlcmd+6',
9
9
  prefix: '###### ',
10
10
  suffix: '',
11
- buttonProps: { 'aria-label': 'Insert title6 (ctrl + 6)', title: 'Insert title6 (ctrl + 6)' },
12
- icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Title 6</div>,
11
+ buttonProps: { 'aria-label': 'Insert Heading 6 (ctrl + 6)', title: 'Insert Heading 6 (ctrl + 6)' },
12
+ icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Heading 6</div>,
13
13
  execute: (state: ExecuteState, api: TextAreaTextApi) => {
14
- titleExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
14
+ headingExecute({ state, api, prefix: state.command.prefix!, suffix: state.command.suffix });
15
15
  },
16
16
  };
17
+
18
+ /**
19
+ * @deprecated Use `heading6` instead.
20
+ * This command is now deprecated and will be removed in future versions.
21
+ * Use `title6` for inserting Heading 6.
22
+ */
23
+ export const title6: ICommand = heading6;
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useMemo, useRef } from 'react';
2
- import { IProps } from '../../Types';
2
+ import { type IProps } from '../../Types';
3
3
  import './index.less';
4
4
 
5
5
  export interface IDragBarProps extends IProps {
@@ -1,7 +1,7 @@
1
1
  import React, { useContext, useEffect } from 'react';
2
2
  import { rehype } from 'rehype';
3
3
  import rehypePrism from 'rehype-prism-plus';
4
- import { IProps } from '../../Types';
4
+ import { type IProps } from '../../Types';
5
5
  import { EditorContext } from '../../Context';
6
6
 
7
7
  function html2Escape(sHtml: string) {
@@ -1,6 +1,6 @@
1
1
  import React, { useContext, useEffect } from 'react';
2
- import { IProps } from '../../Types';
3
- import { EditorContext, ExecuteCommandState } from '../../Context';
2
+ import { type IProps } from '../../Types';
3
+ import { EditorContext, type ExecuteCommandState } from '../../Context';
4
4
  import { TextAreaCommandOrchestrator } from '../../commands/';
5
5
  import handleKeyDown from './handleKeyDown';
6
6
  import shortcuts from './shortcuts';
@@ -1,9 +1,10 @@
1
1
  import React, { useEffect, Fragment, useContext, JSX } from 'react';
2
- import { EditorContext, ContextStore, ExecuteCommandState } from '../../Context';
2
+ import type * as CSS from 'csstype';
3
+ import { EditorContext, type ContextStore, ExecuteCommandState } from '../../Context';
3
4
  import shortcuts from './shortcuts';
4
5
  import Textarea, { TextAreaProps } from './Textarea';
5
- import { IProps } from '../../Types';
6
- import { TextAreaCommandOrchestrator, ICommand } from '../../commands/';
6
+ import { type IProps } from '../../Types';
7
+ import { TextAreaCommandOrchestrator, type ICommand } from '../../commands/';
7
8
  import './index.less';
8
9
 
9
10
  type RenderTextareaHandle = {
@@ -66,7 +67,7 @@ export default function TextArea(props: ITextAreaProps) {
66
67
  // eslint-disable-next-line react-hooks/exhaustive-deps
67
68
  }, []);
68
69
 
69
- const textStyle: React.CSSProperties = { WebkitTextFillColor: 'initial', overflow: 'auto' };
70
+ const textStyle: CSS.Properties = { WebkitTextFillColor: 'initial', overflow: 'auto' };
70
71
 
71
72
  return (
72
73
  <div ref={warp} className={`${prefixCls}-area ${className || ''}`} onScroll={onScroll}>
@@ -1,10 +1,11 @@
1
1
  import React, { useEffect, Fragment, useContext, JSX } from 'react';
2
- import { EditorContext, ContextStore, ExecuteCommandState } from '../../Context';
2
+ import type * as CSS from 'csstype';
3
+ import { EditorContext, type ContextStore, type ExecuteCommandState } from '../../Context';
3
4
  import shortcuts from './shortcuts';
4
5
  import Markdown from './Markdown';
5
- import Textarea, { TextAreaProps } from './Textarea';
6
- import { IProps } from '../../Types';
7
- import { TextAreaCommandOrchestrator, ICommand } from '../../commands/';
6
+ import Textarea, { type TextAreaProps } from './Textarea';
7
+ import { type IProps } from '../../Types';
8
+ import { TextAreaCommandOrchestrator, type ICommand } from '../../commands/';
8
9
  import './index.less';
9
10
 
10
11
  type RenderTextareaHandle = {
@@ -68,7 +69,7 @@ export default function TextArea(props: ITextAreaProps) {
68
69
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
70
  }, []);
70
71
 
71
- const textStyle: React.CSSProperties = highlightEnable ? {} : { WebkitTextFillColor: 'initial', overflow: 'auto' };
72
+ const textStyle: CSS.Properties = highlightEnable ? {} : { WebkitTextFillColor: 'initial', overflow: 'auto' };
72
73
 
73
74
  return (
74
75
  <div ref={warp} className={`${prefixCls}-area ${className || ''}`} onScroll={onScroll}>
@@ -1,4 +1,4 @@
1
- import React, { useContext, useMemo, JSX } from 'react';
1
+ import React, { useContext, useMemo, type JSX } from 'react';
2
2
  import './Child.less';
3
3
  import Toolbar, { type IToolbarProps } from './';
4
4
  import { EditorContext } from '../../Context';
@@ -1,6 +1,6 @@
1
1
  import React, { Fragment, useContext, useEffect, useRef } from 'react';
2
- import { IProps } from '../../Types';
3
- import { EditorContext, PreviewType, ContextStore } from '../../Context';
2
+ import { type IProps } from '../../Types';
3
+ import { EditorContext, type PreviewType, type ContextStore } from '../../Context';
4
4
  import { ICommand } from '../../commands/';
5
5
  import Child from './Child';
6
6
  import './index.less';
package/src/index.tsx CHANGED
@@ -3,6 +3,7 @@ import * as commands from './commands/';
3
3
  import * as MarkdownUtil from './utils/markdownUtils';
4
4
  import './index.less';
5
5
 
6
+ export { headingExecute } from './commands/title';
6
7
  export * from './commands/';
7
8
  export * from './commands/group';
8
9
  export * from './utils/markdownUtils';
@@ -10,6 +11,8 @@ export * from './utils/InsertTextAtPosition';
10
11
  export * from './Editor';
11
12
  export * from './Context';
12
13
  export * from './Types';
14
+ export { default as handleKeyDown } from './components/TextArea/handleKeyDown';
15
+ export { default as shortcuts } from './components/TextArea/shortcuts';
13
16
 
14
17
  export { MarkdownUtil, commands };
15
18