@uiw/react-md-editor 3.18.3 → 3.19.1

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 (140) hide show
  1. package/dist/mdeditor.js +1564 -1583
  2. package/dist/mdeditor.min.js +1 -1
  3. package/esm/Context.js.map +1 -1
  4. package/esm/Editor.js +43 -67
  5. package/esm/Editor.js.map +1 -1
  6. package/esm/commands/bold.js +4 -4
  7. package/esm/commands/bold.js.map +1 -1
  8. package/esm/commands/code.js +8 -10
  9. package/esm/commands/code.js.map +2 -2
  10. package/esm/commands/comment.js +27 -16
  11. package/esm/commands/comment.js.map +2 -2
  12. package/esm/commands/divider.js.map +1 -1
  13. package/esm/commands/fullscreen.js +3 -4
  14. package/esm/commands/fullscreen.js.map +2 -2
  15. package/esm/commands/group.js +2 -4
  16. package/esm/commands/group.js.map +1 -1
  17. package/esm/commands/hr.js.map +1 -1
  18. package/esm/commands/image.js +6 -6
  19. package/esm/commands/image.js.map +2 -2
  20. package/esm/commands/index.d.ts +2 -2
  21. package/esm/commands/index.js +12 -23
  22. package/esm/commands/index.js.map +3 -2
  23. package/esm/commands/italic.js +4 -4
  24. package/esm/commands/italic.js.map +1 -1
  25. package/esm/commands/link.js +4 -4
  26. package/esm/commands/link.js.map +1 -1
  27. package/esm/commands/list.js +4 -4
  28. package/esm/commands/list.js.map +1 -1
  29. package/esm/commands/preview.js +21 -3
  30. package/esm/commands/preview.js.map +7 -2
  31. package/esm/commands/quote.js +2 -1
  32. package/esm/commands/quote.js.map +1 -1
  33. package/esm/commands/strikeThrough.js +4 -4
  34. package/esm/commands/strikeThrough.js.map +1 -1
  35. package/esm/commands/title.js.map +1 -1
  36. package/esm/commands/title1.js.map +1 -1
  37. package/esm/commands/title2.js.map +1 -1
  38. package/esm/commands/title3.js.map +1 -1
  39. package/esm/commands/title4.js.map +1 -1
  40. package/esm/commands/title5.js.map +1 -1
  41. package/esm/commands/title6.js.map +1 -1
  42. package/esm/components/DragBar/index.js +2 -9
  43. package/esm/components/DragBar/index.js.map +1 -1
  44. package/esm/components/TextArea/Markdown.js +2 -7
  45. package/esm/components/TextArea/Markdown.js.map +1 -1
  46. package/esm/components/TextArea/Textarea.js +8 -11
  47. package/esm/components/TextArea/Textarea.js.map +1 -1
  48. package/esm/components/TextArea/handleKeyDown.js +2 -16
  49. package/esm/components/TextArea/handleKeyDown.js.map +1 -1
  50. package/esm/components/TextArea/index.js +11 -15
  51. package/esm/components/TextArea/index.js.map +1 -1
  52. package/esm/components/TextArea/shortcuts.js +1 -17
  53. package/esm/components/TextArea/shortcuts.js.map +2 -2
  54. package/esm/components/Toolbar/Child.js +2 -1
  55. package/esm/components/Toolbar/Child.js.map +1 -1
  56. package/esm/components/Toolbar/index.js +2 -12
  57. package/esm/components/Toolbar/index.js.map +1 -1
  58. package/esm/index.js.map +1 -1
  59. package/esm/utils/InsertTextAtPosition.js +28 -34
  60. package/esm/utils/InsertTextAtPosition.js.map +1 -1
  61. package/esm/utils/markdownUtils.js +14 -23
  62. package/esm/utils/markdownUtils.js.map +1 -1
  63. package/lib/Context.js +0 -6
  64. package/lib/Context.js.map +1 -1
  65. package/lib/Editor.js +74 -114
  66. package/lib/Editor.js.map +1 -1
  67. package/lib/commands/bold.js +4 -9
  68. package/lib/commands/bold.js.map +1 -1
  69. package/lib/commands/code.js +8 -15
  70. package/lib/commands/code.js.map +2 -2
  71. package/lib/commands/comment.js +27 -19
  72. package/lib/commands/comment.js.map +2 -2
  73. package/lib/commands/divider.js.map +1 -1
  74. package/lib/commands/fullscreen.js +3 -8
  75. package/lib/commands/fullscreen.js.map +2 -2
  76. package/lib/commands/group.js +2 -10
  77. package/lib/commands/group.js.map +1 -1
  78. package/lib/commands/hr.js +0 -4
  79. package/lib/commands/hr.js.map +1 -1
  80. package/lib/commands/image.js +6 -11
  81. package/lib/commands/image.js.map +2 -2
  82. package/lib/commands/index.d.ts +2 -2
  83. package/lib/commands/index.js +10 -47
  84. package/lib/commands/index.js.map +4 -3
  85. package/lib/commands/italic.js +4 -9
  86. package/lib/commands/italic.js.map +1 -1
  87. package/lib/commands/link.js +4 -9
  88. package/lib/commands/link.js.map +1 -1
  89. package/lib/commands/list.js +4 -10
  90. package/lib/commands/list.js.map +1 -1
  91. package/lib/commands/preview.js +21 -7
  92. package/lib/commands/preview.js.map +7 -2
  93. package/lib/commands/quote.js +2 -6
  94. package/lib/commands/quote.js.map +1 -1
  95. package/lib/commands/strikeThrough.js +4 -9
  96. package/lib/commands/strikeThrough.js.map +1 -1
  97. package/lib/commands/title.js +0 -6
  98. package/lib/commands/title.js.map +1 -1
  99. package/lib/commands/title1.js +0 -5
  100. package/lib/commands/title1.js.map +1 -1
  101. package/lib/commands/title2.js +0 -5
  102. package/lib/commands/title2.js.map +1 -1
  103. package/lib/commands/title3.js +0 -5
  104. package/lib/commands/title3.js.map +1 -1
  105. package/lib/commands/title4.js +0 -5
  106. package/lib/commands/title4.js.map +1 -1
  107. package/lib/commands/title5.js +0 -5
  108. package/lib/commands/title5.js.map +1 -1
  109. package/lib/commands/title6.js +0 -5
  110. package/lib/commands/title6.js.map +1 -1
  111. package/lib/components/DragBar/index.js +4 -15
  112. package/lib/components/DragBar/index.js.map +1 -1
  113. package/lib/components/TextArea/Markdown.js +6 -22
  114. package/lib/components/TextArea/Markdown.js.map +1 -1
  115. package/lib/components/TextArea/Textarea.js +15 -36
  116. package/lib/components/TextArea/Textarea.js.map +1 -1
  117. package/lib/components/TextArea/handleKeyDown.js +1 -18
  118. package/lib/components/TextArea/handleKeyDown.js.map +1 -1
  119. package/lib/components/TextArea/index.js +15 -37
  120. package/lib/components/TextArea/index.js.map +1 -1
  121. package/lib/components/TextArea/shortcuts.js +1 -17
  122. package/lib/components/TextArea/shortcuts.js.map +2 -2
  123. package/lib/components/Toolbar/Child.js +8 -18
  124. package/lib/components/Toolbar/Child.js.map +1 -1
  125. package/lib/components/Toolbar/index.js +14 -36
  126. package/lib/components/Toolbar/index.js.map +1 -1
  127. package/lib/index.js +0 -9
  128. package/lib/index.js.map +1 -1
  129. package/lib/utils/InsertTextAtPosition.js +28 -37
  130. package/lib/utils/InsertTextAtPosition.js.map +1 -1
  131. package/lib/utils/markdownUtils.js +17 -28
  132. package/lib/utils/markdownUtils.js.map +1 -1
  133. package/package.json +1 -1
  134. package/src/commands/code.tsx +2 -2
  135. package/src/commands/comment.tsx +19 -4
  136. package/src/commands/fullscreen.tsx +3 -2
  137. package/src/commands/image.tsx +1 -1
  138. package/src/commands/index.ts +8 -7
  139. package/src/commands/preview.tsx +35 -4
  140. package/src/components/TextArea/shortcuts.ts +2 -2
package/lib/Context.js CHANGED
@@ -1,24 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.EditorContext = void 0;
9
8
  exports.reducer = reducer;
10
-
11
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
-
13
10
  var _react = _interopRequireDefault(require("react"));
14
-
15
11
  function reducer(state, action) {
16
12
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
17
13
  }
18
-
19
14
  var EditorContext = /*#__PURE__*/_react["default"].createContext({
20
15
  markdown: ''
21
16
  });
22
-
23
17
  exports.EditorContext = EditorContext;
24
18
  //# sourceMappingURL=Context.js.map
@@ -15,5 +15,5 @@
15
15
  "sourcesContent": [
16
16
  "import React from 'react';\nimport { ICommand, TextAreaCommandOrchestrator } from './commands';\nimport { MDEditorProps } from './Editor';\n\nexport type PreviewType = 'live' | 'edit' | 'preview';\n\nexport type ContextStore = {\n components?: MDEditorProps['components'];\n commands?: ICommand<string>[];\n extraCommands?: ICommand<string>[];\n markdown?: string;\n preview?: PreviewType;\n height?: React.CSSProperties['height'];\n fullscreen?: boolean;\n highlightEnable?: boolean;\n autoFocus?: boolean;\n textarea?: HTMLTextAreaElement;\n commandOrchestrator?: TextAreaCommandOrchestrator;\n textareaWarp?: HTMLDivElement;\n textareaPre?: HTMLPreElement;\n container?: HTMLDivElement | null;\n dispatch?: React.Dispatch<ContextStore>;\n barPopup?: Record<string, boolean>;\n scrollTop?: number;\n scrollTopPreview?: number;\n tabSize?: number;\n defaultTabEnable?: boolean;\n};\n\nexport type ExecuteCommandState = Pick<ContextStore, 'fullscreen' | 'preview' | 'highlightEnable'>;\n\nexport function reducer(state: ContextStore, action: ContextStore) {\n return { ...state, ...action };\n}\n\nexport const EditorContext = React.createContext<ContextStore>({ markdown: '' });\n"
17
17
  ],
18
- "mappings": ";;;;;;;;;;;;AAAA;;AA+BO,SAASA,OAAT,CAAiBC,KAAjB,EAAsCC,MAAtC,EAA4D;EACjE,yEAAYD,KAAZ,GAAsBC,MAAtB;AACD;;AAEM,IAAMC,aAAa,gBAAGC,iBAAA,CAAMC,aAAN,CAAkC;EAAEC,QAAQ,EAAE;AAAZ,CAAlC,CAAtB"
18
+ "mappings": ";;;;;;;;;AAAA;AA+BO,SAASA,OAAO,CAACC,KAAmB,EAAEC,MAAoB,EAAE;EACjE,yEAAYD,KAAK,GAAKC,MAAM;AAC9B;AAEO,IAAMC,aAAa,gBAAGC,iBAAK,CAACC,aAAa,CAAe;EAAEC,QAAQ,EAAE;AAAG,CAAC,CAAC;AAAC"
19
19
  }
package/lib/Editor.js CHANGED
@@ -1,38 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _reactMarkdownPreview = _interopRequireDefault(require("@uiw/react-markdown-preview"));
21
-
22
14
  var _TextArea = _interopRequireDefault(require("./components/TextArea"));
23
-
24
15
  var _Toolbar = _interopRequireDefault(require("./components/Toolbar"));
25
-
26
16
  var _DragBar = _interopRequireDefault(require("./components/DragBar"));
27
-
28
17
  var _commands = require("./commands");
29
-
30
18
  var _Context = require("./Context");
31
-
32
19
  var _jsxRuntime = require("react/jsx-runtime");
33
-
34
20
  var _excluded = ["prefixCls", "className", "value", "commands", "commandsFilter", "extraCommands", "height", "enableScroll", "visibleDragbar", "highlightEnable", "preview", "fullscreen", "overflow", "previewOptions", "textareaProps", "maxHeight", "minHeight", "autoFocus", "tabSize", "defaultTabEnable", "onChange", "onHeightChange", "hideToolbar", "toolbarBottom", "components", "renderTextarea"];
35
-
36
21
  function setGroupPopFalse() {
37
22
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
38
23
  Object.keys(data).forEach(function (keyname) {
@@ -40,79 +25,75 @@ function setGroupPopFalse() {
40
25
  });
41
26
  return data;
42
27
  }
43
-
44
28
  var InternalMDEditor = function InternalMDEditor(props, ref) {
45
29
  var _ref = props || {},
46
- _ref$prefixCls = _ref.prefixCls,
47
- prefixCls = _ref$prefixCls === void 0 ? 'w-md-editor' : _ref$prefixCls,
48
- className = _ref.className,
49
- propsValue = _ref.value,
50
- _ref$commands = _ref.commands,
51
- commands = _ref$commands === void 0 ? (0, _commands.getCommands)() : _ref$commands,
52
- commandsFilter = _ref.commandsFilter,
53
- _ref$extraCommands = _ref.extraCommands,
54
- extraCommands = _ref$extraCommands === void 0 ? (0, _commands.getExtraCommands)() : _ref$extraCommands,
55
- _ref$height = _ref.height,
56
- height = _ref$height === void 0 ? 200 : _ref$height,
57
- _ref$enableScroll = _ref.enableScroll,
58
- enableScroll = _ref$enableScroll === void 0 ? true : _ref$enableScroll,
59
- _ref$visibleDragbar = _ref.visibleDragbar,
60
- visibleDragbar = _ref$visibleDragbar === void 0 ? typeof props.visiableDragbar === 'boolean' ? props.visiableDragbar : true : _ref$visibleDragbar,
61
- _ref$highlightEnable = _ref.highlightEnable,
62
- highlightEnable = _ref$highlightEnable === void 0 ? true : _ref$highlightEnable,
63
- _ref$preview = _ref.preview,
64
- previewType = _ref$preview === void 0 ? 'live' : _ref$preview,
65
- _ref$fullscreen = _ref.fullscreen,
66
- fullscreen = _ref$fullscreen === void 0 ? false : _ref$fullscreen,
67
- _ref$overflow = _ref.overflow,
68
- overflow = _ref$overflow === void 0 ? true : _ref$overflow,
69
- _ref$previewOptions = _ref.previewOptions,
70
- previewOptions = _ref$previewOptions === void 0 ? {} : _ref$previewOptions,
71
- textareaProps = _ref.textareaProps,
72
- _ref$maxHeight = _ref.maxHeight,
73
- maxHeight = _ref$maxHeight === void 0 ? 1200 : _ref$maxHeight,
74
- _ref$minHeight = _ref.minHeight,
75
- minHeight = _ref$minHeight === void 0 ? 100 : _ref$minHeight,
76
- autoFocus = _ref.autoFocus,
77
- _ref$tabSize = _ref.tabSize,
78
- tabSize = _ref$tabSize === void 0 ? 2 : _ref$tabSize,
79
- _ref$defaultTabEnable = _ref.defaultTabEnable,
80
- defaultTabEnable = _ref$defaultTabEnable === void 0 ? false : _ref$defaultTabEnable,
81
- _onChange = _ref.onChange,
82
- onHeightChange = _ref.onHeightChange,
83
- hideToolbar = _ref.hideToolbar,
84
- _ref$toolbarBottom = _ref.toolbarBottom,
85
- toolbarBottom = _ref$toolbarBottom === void 0 ? false : _ref$toolbarBottom,
86
- components = _ref.components,
87
- renderTextarea = _ref.renderTextarea,
88
- other = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
89
-
30
+ _ref$prefixCls = _ref.prefixCls,
31
+ prefixCls = _ref$prefixCls === void 0 ? 'w-md-editor' : _ref$prefixCls,
32
+ className = _ref.className,
33
+ propsValue = _ref.value,
34
+ _ref$commands = _ref.commands,
35
+ commands = _ref$commands === void 0 ? (0, _commands.getCommands)() : _ref$commands,
36
+ commandsFilter = _ref.commandsFilter,
37
+ _ref$extraCommands = _ref.extraCommands,
38
+ extraCommands = _ref$extraCommands === void 0 ? (0, _commands.getExtraCommands)() : _ref$extraCommands,
39
+ _ref$height = _ref.height,
40
+ height = _ref$height === void 0 ? 200 : _ref$height,
41
+ _ref$enableScroll = _ref.enableScroll,
42
+ enableScroll = _ref$enableScroll === void 0 ? true : _ref$enableScroll,
43
+ _ref$visibleDragbar = _ref.visibleDragbar,
44
+ visibleDragbar = _ref$visibleDragbar === void 0 ? typeof props.visiableDragbar === 'boolean' ? props.visiableDragbar : true : _ref$visibleDragbar,
45
+ _ref$highlightEnable = _ref.highlightEnable,
46
+ highlightEnable = _ref$highlightEnable === void 0 ? true : _ref$highlightEnable,
47
+ _ref$preview = _ref.preview,
48
+ previewType = _ref$preview === void 0 ? 'live' : _ref$preview,
49
+ _ref$fullscreen = _ref.fullscreen,
50
+ fullscreen = _ref$fullscreen === void 0 ? false : _ref$fullscreen,
51
+ _ref$overflow = _ref.overflow,
52
+ overflow = _ref$overflow === void 0 ? true : _ref$overflow,
53
+ _ref$previewOptions = _ref.previewOptions,
54
+ previewOptions = _ref$previewOptions === void 0 ? {} : _ref$previewOptions,
55
+ textareaProps = _ref.textareaProps,
56
+ _ref$maxHeight = _ref.maxHeight,
57
+ maxHeight = _ref$maxHeight === void 0 ? 1200 : _ref$maxHeight,
58
+ _ref$minHeight = _ref.minHeight,
59
+ minHeight = _ref$minHeight === void 0 ? 100 : _ref$minHeight,
60
+ autoFocus = _ref.autoFocus,
61
+ _ref$tabSize = _ref.tabSize,
62
+ tabSize = _ref$tabSize === void 0 ? 2 : _ref$tabSize,
63
+ _ref$defaultTabEnable = _ref.defaultTabEnable,
64
+ defaultTabEnable = _ref$defaultTabEnable === void 0 ? false : _ref$defaultTabEnable,
65
+ _onChange = _ref.onChange,
66
+ onHeightChange = _ref.onHeightChange,
67
+ hideToolbar = _ref.hideToolbar,
68
+ _ref$toolbarBottom = _ref.toolbarBottom,
69
+ toolbarBottom = _ref$toolbarBottom === void 0 ? false : _ref$toolbarBottom,
70
+ components = _ref.components,
71
+ renderTextarea = _ref.renderTextarea,
72
+ other = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
90
73
  var cmds = commands.map(function (item) {
91
74
  return commandsFilter ? commandsFilter(item, false) : item;
92
75
  }).filter(Boolean);
93
76
  var extraCmds = extraCommands.map(function (item) {
94
77
  return commandsFilter ? commandsFilter(item, true) : item;
95
78
  }).filter(Boolean);
96
-
97
79
  var _useReducer = (0, _react.useReducer)(_Context.reducer, {
98
- markdown: propsValue,
99
- preview: previewType,
100
- components: components,
101
- height: height,
102
- highlightEnable: highlightEnable,
103
- tabSize: tabSize,
104
- defaultTabEnable: defaultTabEnable,
105
- scrollTop: 0,
106
- scrollTopPreview: 0,
107
- commands: cmds,
108
- extraCommands: extraCmds,
109
- fullscreen: fullscreen,
110
- barPopup: {}
111
- }),
112
- _useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
113
- state = _useReducer2[0],
114
- dispatch = _useReducer2[1];
115
-
80
+ markdown: propsValue,
81
+ preview: previewType,
82
+ components: components,
83
+ height: height,
84
+ highlightEnable: highlightEnable,
85
+ tabSize: tabSize,
86
+ defaultTabEnable: defaultTabEnable,
87
+ scrollTop: 0,
88
+ scrollTopPreview: 0,
89
+ commands: cmds,
90
+ extraCommands: extraCmds,
91
+ fullscreen: fullscreen,
92
+ barPopup: {}
93
+ }),
94
+ _useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
95
+ state = _useReducer2[0],
96
+ dispatch = _useReducer2[1];
116
97
  var container = (0, _react.useRef)(null);
117
98
  var previewRef = (0, _react.useRef)(null);
118
99
  var enableScrollRef = (0, _react.useRef)(enableScroll);
@@ -124,32 +105,29 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
124
105
  }, [enableScroll]);
125
106
  (0, _react.useEffect)(function () {
126
107
  var stateInit = {};
127
-
128
108
  if (container.current) {
129
109
  stateInit.container = container.current || undefined;
130
110
  }
131
-
132
111
  stateInit.markdown = propsValue || '';
133
112
  stateInit.barPopup = {};
134
-
135
113
  if (dispatch) {
136
114
  dispatch((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), stateInit));
137
- } // eslint-disable-next-line react-hooks/exhaustive-deps
138
-
115
+ }
116
+ // eslint-disable-next-line react-hooks/exhaustive-deps
139
117
  }, []);
140
118
  var cls = [className, 'wmde-markdown-var', prefixCls, state.preview ? "".concat(prefixCls, "-show-").concat(state.preview) : null, state.fullscreen ? "".concat(prefixCls, "-fullscreen") : null].filter(Boolean).join(' ').trim();
141
119
  (0, _react.useMemo)(function () {
142
120
  return propsValue !== state.markdown && dispatch({
143
121
  markdown: propsValue || ''
144
122
  });
145
- }, [propsValue, state.markdown]); // eslint-disable-next-line react-hooks/exhaustive-deps
146
-
123
+ }, [propsValue, state.markdown]);
124
+ // eslint-disable-next-line react-hooks/exhaustive-deps
147
125
  (0, _react.useMemo)(function () {
148
126
  return previewType !== state.preview && dispatch({
149
127
  preview: previewType
150
128
  });
151
- }, [previewType]); // eslint-disable-next-line react-hooks/exhaustive-deps
152
-
129
+ }, [previewType]);
130
+ // eslint-disable-next-line react-hooks/exhaustive-deps
153
131
  (0, _react.useMemo)(function () {
154
132
  return tabSize !== state.tabSize && dispatch({
155
133
  tabSize: tabSize
@@ -159,9 +137,10 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
159
137
  return highlightEnable !== state.highlightEnable && dispatch({
160
138
  highlightEnable: highlightEnable
161
139
  });
162
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
163
- [highlightEnable]); // eslint-disable-next-line react-hooks/exhaustive-deps
164
-
140
+ },
141
+ // eslint-disable-next-line react-hooks/exhaustive-deps
142
+ [highlightEnable]);
143
+ // eslint-disable-next-line react-hooks/exhaustive-deps
165
144
  (0, _react.useMemo)(function () {
166
145
  return autoFocus !== state.autoFocus && dispatch({
167
146
  autoFocus: autoFocus
@@ -171,9 +150,10 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
171
150
  return fullscreen !== state.fullscreen && dispatch({
172
151
  fullscreen: fullscreen
173
152
  });
174
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
175
- [fullscreen]); // eslint-disable-next-line react-hooks/exhaustive-deps
176
-
153
+ },
154
+ // eslint-disable-next-line react-hooks/exhaustive-deps
155
+ [fullscreen]);
156
+ // eslint-disable-next-line react-hooks/exhaustive-deps
177
157
  (0, _react.useMemo)(function () {
178
158
  return height !== state.height && dispatch({
179
159
  height: height
@@ -187,7 +167,6 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
187
167
  var initScroll = (0, _react.useRef)(false);
188
168
  (0, _react.useMemo)(function () {
189
169
  textareaDomRef.current = state.textareaWarp;
190
-
191
170
  if (state.textareaWarp) {
192
171
  state.textareaWarp.addEventListener('mouseover', function () {
193
172
  active.current = 'text';
@@ -197,48 +176,37 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
197
176
  });
198
177
  }
199
178
  }, [state.textareaWarp]);
200
-
201
179
  var handleScroll = function handleScroll(e, type) {
202
180
  if (!enableScrollRef.current) return;
203
181
  var textareaDom = textareaDomRef.current;
204
182
  var previewDom = previewRef.current ? previewRef.current : undefined;
205
-
206
183
  if (!initScroll.current) {
207
184
  active.current = type;
208
185
  initScroll.current = true;
209
186
  }
210
-
211
187
  if (textareaDom && previewDom) {
212
188
  var scale = (textareaDom.scrollHeight - textareaDom.offsetHeight) / (previewDom.scrollHeight - previewDom.offsetHeight);
213
-
214
189
  if (e.target === textareaDom && active.current === 'text') {
215
190
  previewDom.scrollTop = textareaDom.scrollTop / scale;
216
191
  }
217
-
218
192
  if (e.target === previewDom && active.current === 'preview') {
219
193
  textareaDom.scrollTop = previewDom.scrollTop * scale;
220
194
  }
221
-
222
195
  var scrollTop = 0;
223
-
224
196
  if (active.current === 'text') {
225
197
  scrollTop = textareaDom.scrollTop || 0;
226
198
  } else if (active.current === 'preview') {
227
199
  scrollTop = previewDom.scrollTop || 0;
228
200
  }
229
-
230
201
  dispatch({
231
202
  scrollTop: scrollTop
232
203
  });
233
204
  }
234
205
  };
235
-
236
206
  var previewClassName = "".concat(prefixCls, "-preview ").concat(previewOptions.className || '');
237
-
238
207
  var handlePreviewScroll = function handlePreviewScroll(e) {
239
208
  return handleScroll(e, 'preview');
240
209
  };
241
-
242
210
  var mdPreview = (0, _react.useMemo)(function () {
243
211
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
244
212
  ref: previewRef,
@@ -250,7 +218,6 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
250
218
  });
251
219
  }, [previewClassName, previewOptions, state.markdown]);
252
220
  var preview = (components === null || components === void 0 ? void 0 : components.preview) && (components === null || components === void 0 ? void 0 : components.preview(state.markdown || '', state, dispatch));
253
-
254
221
  if (preview && /*#__PURE__*/_react["default"].isValidElement(preview)) {
255
222
  mdPreview = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
256
223
  className: previewClassName,
@@ -259,23 +226,19 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
259
226
  children: preview
260
227
  });
261
228
  }
262
-
263
229
  var containerStyle = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other.style), {}, {
264
230
  height: state.height || '100%'
265
231
  });
266
-
267
232
  var containerClick = function containerClick() {
268
233
  return dispatch({
269
234
  barPopup: (0, _objectSpread2["default"])({}, setGroupPopFalse(state.barPopup))
270
235
  });
271
236
  };
272
-
273
237
  var dragBarChange = function dragBarChange(newHeight) {
274
238
  return dispatch({
275
239
  height: newHeight
276
240
  });
277
241
  };
278
-
279
242
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Context.EditorContext.Provider, {
280
243
  value: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), {}, {
281
244
  dispatch: dispatch
@@ -299,7 +262,6 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
299
262
  }, textareaProps), {}, {
300
263
  onChange: function onChange(evn) {
301
264
  _onChange && _onChange(evn.target.value, evn, state);
302
-
303
265
  if (textareaProps && textareaProps.onChange) {
304
266
  textareaProps.onChange(evn);
305
267
  }
@@ -323,9 +285,7 @@ var InternalMDEditor = function InternalMDEditor(props, ref) {
323
285
  }))
324
286
  });
325
287
  };
326
-
327
288
  var mdEditor = /*#__PURE__*/_react["default"].forwardRef(InternalMDEditor);
328
-
329
289
  mdEditor.Markdown = _reactMarkdownPreview["default"];
330
290
  var _default = mdEditor;
331
291
  exports["default"] = _default;
package/lib/Editor.js.map CHANGED
@@ -107,5 +107,5 @@
107
107
  "sourcesContent": [
108
108
  "import React, { useEffect, useReducer, useMemo, useRef, useImperativeHandle, CSSProperties, PropsWithRef } from 'react';\nimport MarkdownPreview, { MarkdownPreviewProps } from '@uiw/react-markdown-preview';\nimport TextArea, { ITextAreaProps } from './components/TextArea';\nimport Toolbar from './components/Toolbar';\nimport DragBar from './components/DragBar';\nimport { getCommands, getExtraCommands, ICommand } from './commands';\nimport { reducer, EditorContext, ContextStore, PreviewType } from './Context';\nimport './index.less';\n\nexport interface IProps {\n prefixCls?: string;\n className?: string;\n}\n\nexport interface MDEditorProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>, IProps {\n /**\n * The Markdown value.\n */\n value?: string;\n /**\n * Event handler for the `onChange` event.\n */\n onChange?: (value?: string, event?: React.ChangeEvent<HTMLTextAreaElement>, state?: ContextStore) => void;\n /**\n * editor height change listener\n */\n onHeightChange?: (value?: CSSProperties['height'], oldValue?: CSSProperties['height'], state?: ContextStore) => void;\n /**\n * Can be used to make `Markdown Editor` focus itself on initialization. Defaults to on.\n * it will be set to true when either the source `textarea` is focused,\n * or it has an `autofocus` attribute and no other element is focused.\n */\n autoFocus?: ITextAreaProps['autoFocus'];\n /**\n * The height of the editor.\n * ⚠️ `Dragbar` is invalid when **`height`** parameter percentage.\n */\n height?: CSSProperties['height'];\n /**\n * Custom toolbar heigth\n * @default 29px\n *\n * @deprecated toolbar height adaptive: https://github.com/uiwjs/react-md-editor/issues/427\n *\n */\n toolbarHeight?: number;\n /**\n * Show drag and drop tool. Set the height of the editor.\n */\n visibleDragbar?: boolean;\n /**\n * @deprecated use `visibleDragbar`\n */\n visiableDragbar?: boolean;\n /**\n * Show markdown preview.\n */\n preview?: PreviewType;\n /**\n * Full screen display editor.\n */\n fullscreen?: boolean;\n /**\n * Disable `fullscreen` setting body styles\n */\n overflow?: boolean;\n /**\n * Maximum drag height. `visibleDragbar=true`\n */\n maxHeight?: number;\n /**\n * Minimum drag height. `visibleDragbar=true`\n */\n minHeight?: number;\n /**\n * This is reset [react-markdown](https://github.com/rexxars/react-markdown) settings.\n */\n previewOptions?: Omit<MarkdownPreviewProps, 'source'>;\n /**\n * Set the `textarea` related props.\n */\n textareaProps?: ITextAreaProps;\n /**\n * Use div to replace TextArea or re-render TextArea\n * @deprecated Please use ~~`renderTextarea`~~ -> `components`\n */\n renderTextarea?: ITextAreaProps['renderTextarea'];\n /**\n * re-render element\n */\n components?: {\n /** Use div to replace TextArea or re-render TextArea */\n textarea?: ITextAreaProps['renderTextarea'];\n /**\n * Override the default command element\n * _`toolbar`_ < _`command[].render`_\n */\n toolbar?: ICommand['render'];\n /** Custom markdown preview */\n preview?: (source: string, state: ContextStore, dispath: React.Dispatch<ContextStore>) => JSX.Element;\n };\n /**\n * Disable editing area code highlighting. The value is `false`, which increases the editing speed.\n * @default true\n */\n highlightEnable?: boolean;\n /**\n * The number of characters to insert when pressing tab key.\n * Default `2` spaces.\n */\n tabSize?: number;\n /**\n * If `false`, the `tab` key inserts a tab character into the textarea. If `true`, the `tab` key executes default behavior e.g. focus shifts to next element.\n */\n defaultTabEnable?: boolean;\n /**\n * You can create your own commands or reuse existing commands.\n */\n commands?: ICommand[];\n /**\n * Filter or modify your commands.\n * https://github.com/uiwjs/react-md-editor/issues/296\n */\n commandsFilter?: (command: ICommand, isExtra: boolean) => false | ICommand;\n /**\n * You can create your own commands or reuse existing commands.\n */\n extraCommands?: ICommand[];\n /**\n * Hide the tool bar\n */\n hideToolbar?: boolean;\n /** Whether to enable scrolling */\n enableScroll?: boolean;\n /** Toolbar on bottom */\n toolbarBottom?: boolean;\n}\n\nfunction setGroupPopFalse(data: Record<string, boolean> = {}) {\n Object.keys(data).forEach((keyname) => {\n data[keyname] = false;\n });\n return data;\n}\n\nconst InternalMDEditor = (\n props: MDEditorProps,\n ref?: ((instance: ContextStore) => void) | React.RefObject<ContextStore> | null,\n) => {\n const {\n prefixCls = 'w-md-editor',\n className,\n value: propsValue,\n commands = getCommands(),\n commandsFilter,\n extraCommands = getExtraCommands(),\n height = 200,\n enableScroll = true,\n visibleDragbar = typeof props.visiableDragbar === 'boolean' ? props.visiableDragbar : true,\n highlightEnable = true,\n preview: previewType = 'live',\n fullscreen = false,\n overflow = true,\n previewOptions = {},\n textareaProps,\n maxHeight = 1200,\n minHeight = 100,\n autoFocus,\n tabSize = 2,\n defaultTabEnable = false,\n onChange,\n onHeightChange,\n hideToolbar,\n toolbarBottom = false,\n components,\n renderTextarea,\n ...other\n } = props || {};\n const cmds = commands\n .map((item) => (commandsFilter ? commandsFilter(item, false) : item))\n .filter(Boolean) as ICommand[];\n const extraCmds = extraCommands\n .map((item) => (commandsFilter ? commandsFilter(item, true) : item))\n .filter(Boolean) as ICommand[];\n let [state, dispatch] = useReducer(reducer, {\n markdown: propsValue,\n preview: previewType,\n components,\n height,\n highlightEnable,\n tabSize,\n defaultTabEnable,\n scrollTop: 0,\n scrollTopPreview: 0,\n commands: cmds,\n extraCommands: extraCmds,\n fullscreen,\n barPopup: {},\n });\n const container = useRef<HTMLDivElement>(null);\n const previewRef = useRef<HTMLDivElement>(null);\n const enableScrollRef = useRef(enableScroll);\n\n useImperativeHandle(ref, () => ({ ...state }));\n useMemo(() => (enableScrollRef.current = enableScroll), [enableScroll]);\n useEffect(() => {\n const stateInit: ContextStore = {};\n if (container.current) {\n stateInit.container = container.current || undefined;\n }\n stateInit.markdown = propsValue || '';\n stateInit.barPopup = {};\n if (dispatch) {\n dispatch({ ...state, ...stateInit });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const cls = [\n className,\n 'wmde-markdown-var',\n prefixCls,\n state.preview ? `${prefixCls}-show-${state.preview}` : null,\n state.fullscreen ? `${prefixCls}-fullscreen` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useMemo(\n () => propsValue !== state.markdown && dispatch({ markdown: propsValue || '' }),\n [propsValue, state.markdown],\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useMemo(() => previewType !== state.preview && dispatch({ preview: previewType }), [previewType]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useMemo(() => tabSize !== state.tabSize && dispatch({ tabSize }), [tabSize]);\n useMemo(\n () => highlightEnable !== state.highlightEnable && dispatch({ highlightEnable }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [highlightEnable],\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useMemo(() => autoFocus !== state.autoFocus && dispatch({ autoFocus: autoFocus }), [autoFocus]);\n useMemo(\n () => fullscreen !== state.fullscreen && dispatch({ fullscreen: fullscreen }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [fullscreen],\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useMemo(() => height !== state.height && dispatch({ height: height }), [height]);\n useMemo(\n () => height !== state.height && onHeightChange && onHeightChange(state.height, height, state),\n [height, onHeightChange, state],\n );\n\n const textareaDomRef = useRef<HTMLDivElement>();\n const active = useRef<'text' | 'preview'>('preview');\n const initScroll = useRef(false);\n\n useMemo(() => {\n textareaDomRef.current = state.textareaWarp;\n if (state.textareaWarp) {\n state.textareaWarp.addEventListener('mouseover', () => {\n active.current = 'text';\n });\n state.textareaWarp.addEventListener('mouseleave', () => {\n active.current = 'preview';\n });\n }\n }, [state.textareaWarp]);\n\n const handleScroll = (e: React.UIEvent<HTMLDivElement>, type: 'text' | 'preview') => {\n if (!enableScrollRef.current) return;\n const textareaDom = textareaDomRef.current;\n const previewDom = previewRef.current ? previewRef.current : undefined;\n if (!initScroll.current) {\n active.current = type;\n initScroll.current = true;\n }\n if (textareaDom && previewDom) {\n const scale =\n (textareaDom.scrollHeight - textareaDom.offsetHeight) / (previewDom.scrollHeight - previewDom.offsetHeight);\n if (e.target === textareaDom && active.current === 'text') {\n previewDom.scrollTop = textareaDom.scrollTop / scale;\n }\n if (e.target === previewDom && active.current === 'preview') {\n textareaDom.scrollTop = previewDom.scrollTop * scale;\n }\n let scrollTop = 0;\n if (active.current === 'text') {\n scrollTop = textareaDom.scrollTop || 0;\n } else if (active.current === 'preview') {\n scrollTop = previewDom.scrollTop || 0;\n }\n dispatch({ scrollTop });\n }\n };\n\n const previewClassName = `${prefixCls}-preview ${previewOptions.className || ''}`;\n const handlePreviewScroll = (e: React.UIEvent<HTMLDivElement, UIEvent>) => handleScroll(e, 'preview');\n let mdPreview = useMemo(\n () => (\n <div ref={previewRef} className={previewClassName}>\n <MarkdownPreview {...previewOptions} onScroll={handlePreviewScroll} source={state.markdown || ''} />\n </div>\n ),\n [previewClassName, previewOptions, state.markdown],\n );\n const preview = components?.preview && components?.preview(state.markdown || '', state, dispatch);\n if (preview && React.isValidElement(preview)) {\n mdPreview = (\n <div className={previewClassName} ref={previewRef} onScroll={handlePreviewScroll}>\n {preview}\n </div>\n );\n }\n\n const containerStyle = { ...other.style, height: state.height || '100%' };\n const containerClick = () => dispatch({ barPopup: { ...setGroupPopFalse(state.barPopup) } });\n const dragBarChange = (newHeight: number) => dispatch({ height: newHeight });\n\n return (\n <EditorContext.Provider value={{ ...state, dispatch }}>\n <div ref={container} className={cls} {...other} onClick={containerClick} style={containerStyle}>\n {!hideToolbar && !toolbarBottom && (\n <Toolbar prefixCls={prefixCls} overflow={overflow} toolbarBottom={toolbarBottom} />\n )}\n <div className={`${prefixCls}-content`}>\n {/(edit|live)/.test(state.preview || '') && (\n <TextArea\n className={`${prefixCls}-input`}\n prefixCls={prefixCls}\n autoFocus={autoFocus}\n {...textareaProps}\n onChange={(evn) => {\n onChange && onChange(evn.target.value, evn, state);\n if (textareaProps && textareaProps.onChange) {\n textareaProps.onChange(evn);\n }\n }}\n renderTextarea={components?.textarea || renderTextarea}\n onScroll={(e) => handleScroll(e, 'text')}\n />\n )}\n {/(live|preview)/.test(state.preview || '') && mdPreview}\n </div>\n {visibleDragbar && !state.fullscreen && (\n <DragBar\n prefixCls={prefixCls}\n height={state.height as number}\n maxHeight={maxHeight!}\n minHeight={minHeight!}\n onChange={dragBarChange}\n />\n )}\n {!hideToolbar && toolbarBottom && (\n <Toolbar prefixCls={prefixCls} overflow={overflow} toolbarBottom={toolbarBottom} />\n )}\n </div>\n </EditorContext.Provider>\n );\n};\n\ntype Editor = React.FC<PropsWithRef<MDEditorProps>> & { Markdown: typeof MarkdownPreview };\n\nconst mdEditor: Editor = React.forwardRef(InternalMDEditor) as unknown as Editor;\n\nmdEditor.Markdown = MarkdownPreview;\n\nexport default mdEditor;\n"
109
109
  ],
110
- "mappings": "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"
110
+ "mappings": "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"
111
111
  }
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.bold = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _markdownUtils = require("../utils/markdownUtils");
13
-
14
10
  var _jsxRuntime = require("react/jsx-runtime");
15
-
16
11
  var bold = {
17
12
  name: 'bold',
18
13
  keyCommand: 'bold',
@@ -38,10 +33,10 @@ var bold = {
38
33
  text: state.text,
39
34
  selection: state.selection
40
35
  });
41
- var state1 = api.setSelectionRange(newSelectionRange); // Replaces the current selection with the bold mark up
42
-
43
- var state2 = api.replaceSelection("**".concat(state1.selectedText, "**")); // Adjust the selection to not contain the **
44
-
36
+ var state1 = api.setSelectionRange(newSelectionRange);
37
+ // Replaces the current selection with the bold mark up
38
+ var state2 = api.replaceSelection("**".concat(state1.selectedText, "**"));
39
+ // Adjust the selection to not contain the **
45
40
  api.setSelectionRange({
46
41
  start: state2.selection.end - 2 - state1.selectedText.length,
47
42
  end: state2.selection.end - 2
@@ -31,5 +31,5 @@
31
31
  "sourcesContent": [
32
32
  "import React from 'react';\nimport { ICommand, TextState, TextAreaTextApi } from './';\nimport { selectWord } from '../utils/markdownUtils';\n\nexport const bold: ICommand = {\n name: 'bold',\n keyCommand: 'bold',\n shortcuts: 'ctrlcmd+b',\n value: '**',\n buttonProps: { 'aria-label': 'Add bold text (ctrl + b)', title: 'Add bold text (ctrl + b)' },\n icon: (\n <svg role=\"img\" width=\"12\" height=\"12\" viewBox=\"0 0 384 512\">\n <path\n fill=\"currentColor\"\n d=\"M304.793 243.891c33.639-18.537 53.657-54.16 53.657-95.693 0-48.236-26.25-87.626-68.626-104.179C265.138 34.01 240.849 32 209.661 32H24c-8.837 0-16 7.163-16 16v33.049c0 8.837 7.163 16 16 16h33.113v318.53H24c-8.837 0-16 7.163-16 16V464c0 8.837 7.163 16 16 16h195.69c24.203 0 44.834-1.289 66.866-7.584C337.52 457.193 376 410.647 376 350.014c0-52.168-26.573-91.684-71.207-106.123zM142.217 100.809h67.444c16.294 0 27.536 2.019 37.525 6.717 15.828 8.479 24.906 26.502 24.906 49.446 0 35.029-20.32 56.79-53.029 56.79h-76.846V100.809zm112.642 305.475c-10.14 4.056-22.677 4.907-31.409 4.907h-81.233V281.943h84.367c39.645 0 63.057 25.38 63.057 63.057.001 28.425-13.66 52.483-34.782 61.284z\"\n />\n </svg>\n ),\n execute: (state: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: state.text, selection: state.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n // Replaces the current selection with the bold mark up\n const state2 = api.replaceSelection(`**${state1.selectedText}**`);\n // Adjust the selection to not contain the **\n api.setSelectionRange({\n start: state2.selection.end - 2 - state1.selectedText.length,\n end: state2.selection.end - 2,\n });\n },\n};\n"
33
33
  ],
34
- "mappings": ";;;;;;;;;AAAA;;AAEA;;;;AAEO,IAAMA,IAAc,GAAG;EAC5BC,IAAI,EAAE,MADsB;EAE5BC,UAAU,EAAE,MAFgB;EAG5BC,SAAS,EAAE,WAHiB;EAI5BC,KAAK,EAAE,IAJqB;EAK5BC,WAAW,EAAE;IAAE,cAAc,0BAAhB;IAA4CC,KAAK,EAAE;EAAnD,CALe;EAM5BC,IAAI,eACF;IAAK,IAAI,EAAC,KAAV;IAAgB,KAAK,EAAC,IAAtB;IAA2B,MAAM,EAAC,IAAlC;IAAuC,OAAO,EAAC,aAA/C;IAAA,uBACE;MACE,IAAI,EAAC,cADP;MAEE,CAAC,EAAC;IAFJ;EADF,EAP0B;EAc5BC,OAAO,EAAE,iBAACC,KAAD,EAAmBC,GAAnB,EAA4C;IACnD;IACA,IAAMC,iBAAiB,GAAG,IAAAC,yBAAA,EAAW;MAAEC,IAAI,EAAEJ,KAAK,CAACI,IAAd;MAAoBC,SAAS,EAAEL,KAAK,CAACK;IAArC,CAAX,CAA1B;IACA,IAAMC,MAAM,GAAGL,GAAG,CAACM,iBAAJ,CAAsBL,iBAAtB,CAAf,CAHmD,CAInD;;IACA,IAAMM,MAAM,GAAGP,GAAG,CAACQ,gBAAJ,aAA0BH,MAAM,CAACI,YAAjC,QAAf,CALmD,CAMnD;;IACAT,GAAG,CAACM,iBAAJ,CAAsB;MACpBI,KAAK,EAAEH,MAAM,CAACH,SAAP,CAAiBO,GAAjB,GAAuB,CAAvB,GAA2BN,MAAM,CAACI,YAAP,CAAoBG,MADlC;MAEpBD,GAAG,EAAEJ,MAAM,CAACH,SAAP,CAAiBO,GAAjB,GAAuB;IAFR,CAAtB;EAID;AAzB2B,CAAvB"
34
+ "mappings": ";;;;;;;AAAA;AAEA;AAAoD;AAE7C,IAAMA,IAAc,GAAG;EAC5BC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,IAAI;EACXC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eACF;IAAK,IAAI,EAAC,KAAK;IAAC,KAAK,EAAC,IAAI;IAAC,MAAM,EAAC,IAAI;IAAC,OAAO,EAAC,aAAa;IAAA,uBAC1D;MACE,IAAI,EAAC,cAAc;MACnB,CAAC,EAAC;IAAwqB;EAC1qB,EAEL;EACDC,OAAO,EAAE,iBAACC,KAAgB,EAAEC,GAAoB,EAAK;IACnD;IACA,IAAMC,iBAAiB,GAAG,IAAAC,yBAAU,EAAC;MAAEC,IAAI,EAAEJ,KAAK,CAACI,IAAI;MAAEC,SAAS,EAAEL,KAAK,CAACK;IAAU,CAAC,CAAC;IACtF,IAAMC,MAAM,GAAGL,GAAG,CAACM,iBAAiB,CAACL,iBAAiB,CAAC;IACvD;IACA,IAAMM,MAAM,GAAGP,GAAG,CAACQ,gBAAgB,aAAMH,MAAM,CAACI,YAAY,QAAK;IACjE;IACAT,GAAG,CAACM,iBAAiB,CAAC;MACpBI,KAAK,EAAEH,MAAM,CAACH,SAAS,CAACO,GAAG,GAAG,CAAC,GAAGN,MAAM,CAACI,YAAY,CAACG,MAAM;MAC5DD,GAAG,EAAEJ,MAAM,CAACH,SAAS,CAACO,GAAG,GAAG;IAC9B,CAAC,CAAC;EACJ;AACF,CAAC;AAAC"
35
35
  }
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.codeBlock = exports.code = void 0;
9
-
10
8
  var React = _interopRequireWildcard(require("react"));
11
-
12
9
  var _markdownUtils = require("../utils/markdownUtils");
13
-
14
10
  var _jsxRuntime = require("react/jsx-runtime");
15
-
16
11
  var code = {
17
12
  name: 'code',
18
13
  keyCommand: 'code',
@@ -23,8 +18,8 @@ var code = {
23
18
  title: 'Insert code (ctrl + j)'
24
19
  },
25
20
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
26
- width: "12",
27
- height: "12",
21
+ width: "14",
22
+ height: "14",
28
23
  role: "img",
29
24
  viewBox: "0 0 640 512",
30
25
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
@@ -38,22 +33,20 @@ var code = {
38
33
  text: tate.text,
39
34
  selection: tate.selection
40
35
  });
41
- var state1 = api.setSelectionRange(newSelectionRange); // when there's no breaking line
42
-
36
+ var state1 = api.setSelectionRange(newSelectionRange);
37
+ // when there's no breaking line
43
38
  if (state1.selectedText.indexOf('\n') === -1) {
44
- api.replaceSelection("`".concat(state1.selectedText, "`")); // Adjust the selection to not contain the **
39
+ api.replaceSelection("`".concat(state1.selectedText, "`"));
40
+ // Adjust the selection to not contain the **
45
41
 
46
42
  var _selectionStart = state1.selection.start + 1;
47
-
48
43
  var _selectionEnd = _selectionStart + state1.selectedText.length;
49
-
50
44
  api.setSelectionRange({
51
45
  start: _selectionStart,
52
46
  end: _selectionEnd
53
47
  });
54
48
  return;
55
49
  }
56
-
57
50
  var breaksBeforeCount = (0, _markdownUtils.getBreaksNeededForEmptyLineBefore)(state1.text, state1.selection.start);
58
51
  var breaksBefore = Array(breaksBeforeCount + 1).join('\n');
59
52
  var breaksAfterCount = (0, _markdownUtils.getBreaksNeededForEmptyLineAfter)(state1.text, state1.selection.end);
@@ -74,8 +67,8 @@ var codeBlock = {
74
67
  shortcuts: 'ctrlcmd+shift+j',
75
68
  value: '```\n```',
76
69
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
77
- width: "12",
78
- height: "12",
70
+ width: "13",
71
+ height: "13",
79
72
  role: "img",
80
73
  viewBox: "0 0 156 156",
81
74
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {