@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.
- package/dist/mdeditor.js +1564 -1583
- package/dist/mdeditor.min.js +1 -1
- package/esm/Context.js.map +1 -1
- package/esm/Editor.js +43 -67
- package/esm/Editor.js.map +1 -1
- package/esm/commands/bold.js +4 -4
- package/esm/commands/bold.js.map +1 -1
- package/esm/commands/code.js +8 -10
- package/esm/commands/code.js.map +2 -2
- package/esm/commands/comment.js +27 -16
- package/esm/commands/comment.js.map +2 -2
- package/esm/commands/divider.js.map +1 -1
- package/esm/commands/fullscreen.js +3 -4
- package/esm/commands/fullscreen.js.map +2 -2
- package/esm/commands/group.js +2 -4
- package/esm/commands/group.js.map +1 -1
- package/esm/commands/hr.js.map +1 -1
- package/esm/commands/image.js +6 -6
- package/esm/commands/image.js.map +2 -2
- package/esm/commands/index.d.ts +2 -2
- package/esm/commands/index.js +12 -23
- package/esm/commands/index.js.map +3 -2
- package/esm/commands/italic.js +4 -4
- package/esm/commands/italic.js.map +1 -1
- package/esm/commands/link.js +4 -4
- package/esm/commands/link.js.map +1 -1
- package/esm/commands/list.js +4 -4
- package/esm/commands/list.js.map +1 -1
- package/esm/commands/preview.js +21 -3
- package/esm/commands/preview.js.map +7 -2
- package/esm/commands/quote.js +2 -1
- package/esm/commands/quote.js.map +1 -1
- package/esm/commands/strikeThrough.js +4 -4
- package/esm/commands/strikeThrough.js.map +1 -1
- package/esm/commands/title.js.map +1 -1
- package/esm/commands/title1.js.map +1 -1
- package/esm/commands/title2.js.map +1 -1
- package/esm/commands/title3.js.map +1 -1
- package/esm/commands/title4.js.map +1 -1
- package/esm/commands/title5.js.map +1 -1
- package/esm/commands/title6.js.map +1 -1
- package/esm/components/DragBar/index.js +2 -9
- package/esm/components/DragBar/index.js.map +1 -1
- package/esm/components/TextArea/Markdown.js +2 -7
- package/esm/components/TextArea/Markdown.js.map +1 -1
- package/esm/components/TextArea/Textarea.js +8 -11
- package/esm/components/TextArea/Textarea.js.map +1 -1
- package/esm/components/TextArea/handleKeyDown.js +2 -16
- package/esm/components/TextArea/handleKeyDown.js.map +1 -1
- package/esm/components/TextArea/index.js +11 -15
- package/esm/components/TextArea/index.js.map +1 -1
- package/esm/components/TextArea/shortcuts.js +1 -17
- package/esm/components/TextArea/shortcuts.js.map +2 -2
- package/esm/components/Toolbar/Child.js +2 -1
- package/esm/components/Toolbar/Child.js.map +1 -1
- package/esm/components/Toolbar/index.js +2 -12
- package/esm/components/Toolbar/index.js.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/utils/InsertTextAtPosition.js +28 -34
- package/esm/utils/InsertTextAtPosition.js.map +1 -1
- package/esm/utils/markdownUtils.js +14 -23
- package/esm/utils/markdownUtils.js.map +1 -1
- package/lib/Context.js +0 -6
- package/lib/Context.js.map +1 -1
- package/lib/Editor.js +74 -114
- package/lib/Editor.js.map +1 -1
- package/lib/commands/bold.js +4 -9
- package/lib/commands/bold.js.map +1 -1
- package/lib/commands/code.js +8 -15
- package/lib/commands/code.js.map +2 -2
- package/lib/commands/comment.js +27 -19
- package/lib/commands/comment.js.map +2 -2
- package/lib/commands/divider.js.map +1 -1
- package/lib/commands/fullscreen.js +3 -8
- package/lib/commands/fullscreen.js.map +2 -2
- package/lib/commands/group.js +2 -10
- package/lib/commands/group.js.map +1 -1
- package/lib/commands/hr.js +0 -4
- package/lib/commands/hr.js.map +1 -1
- package/lib/commands/image.js +6 -11
- package/lib/commands/image.js.map +2 -2
- package/lib/commands/index.d.ts +2 -2
- package/lib/commands/index.js +10 -47
- package/lib/commands/index.js.map +4 -3
- package/lib/commands/italic.js +4 -9
- package/lib/commands/italic.js.map +1 -1
- package/lib/commands/link.js +4 -9
- package/lib/commands/link.js.map +1 -1
- package/lib/commands/list.js +4 -10
- package/lib/commands/list.js.map +1 -1
- package/lib/commands/preview.js +21 -7
- package/lib/commands/preview.js.map +7 -2
- package/lib/commands/quote.js +2 -6
- package/lib/commands/quote.js.map +1 -1
- package/lib/commands/strikeThrough.js +4 -9
- package/lib/commands/strikeThrough.js.map +1 -1
- package/lib/commands/title.js +0 -6
- package/lib/commands/title.js.map +1 -1
- package/lib/commands/title1.js +0 -5
- package/lib/commands/title1.js.map +1 -1
- package/lib/commands/title2.js +0 -5
- package/lib/commands/title2.js.map +1 -1
- package/lib/commands/title3.js +0 -5
- package/lib/commands/title3.js.map +1 -1
- package/lib/commands/title4.js +0 -5
- package/lib/commands/title4.js.map +1 -1
- package/lib/commands/title5.js +0 -5
- package/lib/commands/title5.js.map +1 -1
- package/lib/commands/title6.js +0 -5
- package/lib/commands/title6.js.map +1 -1
- package/lib/components/DragBar/index.js +4 -15
- package/lib/components/DragBar/index.js.map +1 -1
- package/lib/components/TextArea/Markdown.js +6 -22
- package/lib/components/TextArea/Markdown.js.map +1 -1
- package/lib/components/TextArea/Textarea.js +15 -36
- package/lib/components/TextArea/Textarea.js.map +1 -1
- package/lib/components/TextArea/handleKeyDown.js +1 -18
- package/lib/components/TextArea/handleKeyDown.js.map +1 -1
- package/lib/components/TextArea/index.js +15 -37
- package/lib/components/TextArea/index.js.map +1 -1
- package/lib/components/TextArea/shortcuts.js +1 -17
- package/lib/components/TextArea/shortcuts.js.map +2 -2
- package/lib/components/Toolbar/Child.js +8 -18
- package/lib/components/Toolbar/Child.js.map +1 -1
- package/lib/components/Toolbar/index.js +14 -36
- package/lib/components/Toolbar/index.js.map +1 -1
- package/lib/index.js +0 -9
- package/lib/index.js.map +1 -1
- package/lib/utils/InsertTextAtPosition.js +28 -37
- package/lib/utils/InsertTextAtPosition.js.map +1 -1
- package/lib/utils/markdownUtils.js +17 -28
- package/lib/utils/markdownUtils.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/code.tsx +2 -2
- package/src/commands/comment.tsx +19 -4
- package/src/commands/fullscreen.tsx +3 -2
- package/src/commands/image.tsx +1 -1
- package/src/commands/index.ts +8 -7
- package/src/commands/preview.tsx +35 -4
- package/src/components/TextArea/shortcuts.ts +2 -2
package/lib/commands/title3.js
CHANGED
|
@@ -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.title3 = void 0;
|
|
9
|
-
|
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _InsertTextAtPosition = require("../utils/InsertTextAtPosition");
|
|
13
|
-
|
|
14
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
16
11
|
var title3 = {
|
|
17
12
|
name: 'title3',
|
|
18
13
|
keyCommand: 'title3',
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"sourcesContent": [
|
|
29
29
|
"import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title3: ICommand = {\n name: 'title3',\n keyCommand: 'title3',\n shortcuts: 'ctrlcmd+3',\n value: 'title3',\n buttonProps: { 'aria-label': 'Insert title3 (ctrl + 3)', title: 'Insert title3 (ctrl + 3)' },\n icon: <div style={{ fontSize: 15, textAlign: 'left' }}>Title 3</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('### ');\n } else {\n insertAtLineStart('### ', state.selection.start, api.textArea);\n }\n },\n};\n"
|
|
30
30
|
],
|
|
31
|
-
"mappings": "
|
|
31
|
+
"mappings": ";;;;;;;AAAA;AACA;AAAkE;AAG3D,IAAMA,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,iBAACC,KAAgB,EAAEC,GAAoB,EAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,MAAM,CAAC;IAC9B,CAAC,MAAM;MACL,IAAAC,uCAAiB,EAAC,MAAM,EAAEP,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACO,QAAQ,CAAC;IAChE;EACF;AACF,CAAC;AAAC"
|
|
32
32
|
}
|
package/lib/commands/title4.js
CHANGED
|
@@ -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.title4 = void 0;
|
|
9
|
-
|
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _InsertTextAtPosition = require("../utils/InsertTextAtPosition");
|
|
13
|
-
|
|
14
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
16
11
|
var title4 = {
|
|
17
12
|
name: 'title4',
|
|
18
13
|
keyCommand: 'title4',
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"sourcesContent": [
|
|
29
29
|
"import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title4: ICommand = {\n name: 'title4',\n keyCommand: 'title4',\n shortcuts: 'ctrlcmd+4',\n value: 'title4',\n buttonProps: { 'aria-label': 'Insert title4 (ctrl + 4)', title: 'Insert title4 (ctrl + 4)' },\n icon: <div style={{ fontSize: 14, textAlign: 'left' }}>Title 4</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('#### ');\n } else {\n insertAtLineStart('#### ', state.selection.start, api.textArea);\n }\n },\n};\n"
|
|
30
30
|
],
|
|
31
|
-
"mappings": "
|
|
31
|
+
"mappings": ";;;;;;;AAAA;AACA;AAAkE;AAG3D,IAAMA,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,iBAACC,KAAgB,EAAEC,GAAoB,EAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,OAAO,CAAC;IAC/B,CAAC,MAAM;MACL,IAAAC,uCAAiB,EAAC,OAAO,EAAEP,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACO,QAAQ,CAAC;IACjE;EACF;AACF,CAAC;AAAC"
|
|
32
32
|
}
|
package/lib/commands/title5.js
CHANGED
|
@@ -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.title5 = void 0;
|
|
9
|
-
|
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _InsertTextAtPosition = require("../utils/InsertTextAtPosition");
|
|
13
|
-
|
|
14
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
16
11
|
var title5 = {
|
|
17
12
|
name: 'title5',
|
|
18
13
|
keyCommand: 'title5',
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"sourcesContent": [
|
|
29
29
|
"import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title5: ICommand = {\n name: 'title5',\n keyCommand: 'title5',\n shortcuts: 'ctrlcmd+5',\n value: 'title5',\n buttonProps: { 'aria-label': 'Insert title5 (ctrl + 5)', title: 'Insert title5 (ctrl + 5)' },\n icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Title 5</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('##### ');\n } else {\n insertAtLineStart('##### ', state.selection.start, api.textArea);\n }\n },\n};\n"
|
|
30
30
|
],
|
|
31
|
-
"mappings": "
|
|
31
|
+
"mappings": ";;;;;;;AAAA;AACA;AAAkE;AAG3D,IAAMA,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,iBAACC,KAAgB,EAAEC,GAAoB,EAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,QAAQ,CAAC;IAChC,CAAC,MAAM;MACL,IAAAC,uCAAiB,EAAC,QAAQ,EAAEP,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACO,QAAQ,CAAC;IAClE;EACF;AACF,CAAC;AAAC"
|
|
32
32
|
}
|
package/lib/commands/title6.js
CHANGED
|
@@ -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.title6 = void 0;
|
|
9
|
-
|
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _InsertTextAtPosition = require("../utils/InsertTextAtPosition");
|
|
13
|
-
|
|
14
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
16
11
|
var title6 = {
|
|
17
12
|
name: 'title6',
|
|
18
13
|
keyCommand: 'title6',
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"sourcesContent": [
|
|
29
29
|
"import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title6: ICommand = {\n name: 'title6',\n keyCommand: 'title6',\n shortcuts: 'ctrlcmd+6',\n value: 'title6',\n buttonProps: { 'aria-label': 'Insert title6 (ctrl + 6)', title: 'Insert title6 (ctrl + 6)' },\n icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Title 6</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('###### ');\n } else {\n insertAtLineStart('###### ', state.selection.start, api.textArea);\n }\n },\n};\n"
|
|
30
30
|
],
|
|
31
|
-
"mappings": "
|
|
31
|
+
"mappings": ";;;;;;;AAAA;AACA;AAAkE;AAG3D,IAAMA,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,iBAACC,KAAgB,EAAEC,GAAoB,EAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,SAAS,CAAC;IACjC,CAAC,MAAM;MACL,IAAAC,uCAAiB,EAAC,SAAS,EAAEP,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACO,QAAQ,CAAC;IACnE;EACF;AACF,CAAC;AAAC"
|
|
32
32
|
}
|
|
@@ -1,56 +1,46 @@
|
|
|
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["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
|
|
14
10
|
var DragBar = function DragBar(props) {
|
|
15
11
|
var _ref = props || {},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
prefixCls = _ref.prefixCls,
|
|
13
|
+
onChange = _ref.onChange;
|
|
19
14
|
var dragRef = (0, _react.useRef)();
|
|
20
|
-
|
|
21
15
|
function handleMouseMove(event) {
|
|
22
16
|
if (dragRef.current) {
|
|
23
17
|
var newHeight = dragRef.current.height + event.clientY - dragRef.current.dragY;
|
|
24
|
-
|
|
25
18
|
if (newHeight >= props.minHeight && newHeight <= props.maxHeight) {
|
|
26
19
|
onChange && onChange(dragRef.current.height + (event.clientY - dragRef.current.dragY));
|
|
27
20
|
}
|
|
28
21
|
}
|
|
29
22
|
}
|
|
30
|
-
|
|
31
23
|
function handleMouseUp() {
|
|
32
24
|
dragRef.current = undefined;
|
|
33
25
|
}
|
|
34
|
-
|
|
35
26
|
function handleMouseDown(event) {
|
|
36
27
|
dragRef.current = {
|
|
37
28
|
height: props.height,
|
|
38
29
|
dragY: event.clientY
|
|
39
30
|
};
|
|
40
31
|
}
|
|
41
|
-
|
|
42
32
|
(0, _react.useEffect)(function () {
|
|
43
33
|
if (document) {
|
|
44
34
|
document.addEventListener('mousemove', handleMouseMove);
|
|
45
35
|
document.addEventListener('mouseup', handleMouseUp);
|
|
46
36
|
}
|
|
47
|
-
|
|
48
37
|
return function () {
|
|
49
38
|
if (document) {
|
|
50
39
|
document.removeEventListener('mousemove', handleMouseMove);
|
|
51
40
|
document.removeEventListener('mouseup', handleMouseUp);
|
|
52
41
|
}
|
|
53
|
-
};
|
|
42
|
+
};
|
|
43
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
54
44
|
}, []);
|
|
55
45
|
var svg = (0, _react.useMemo)(function () {
|
|
56
46
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
|
|
@@ -68,7 +58,6 @@ var DragBar = function DragBar(props) {
|
|
|
68
58
|
children: svg
|
|
69
59
|
});
|
|
70
60
|
};
|
|
71
|
-
|
|
72
61
|
var _default = DragBar;
|
|
73
62
|
exports["default"] = _default;
|
|
74
63
|
module.exports = exports.default;
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"sourcesContent": [
|
|
33
33
|
"import React, { useEffect, useMemo, useRef } from 'react';\nimport { IProps } from '../../Editor';\nimport './index.less';\n\nexport interface IDragBarProps extends IProps {\n height: number;\n maxHeight: number;\n minHeight: number;\n onChange: (value: number) => void;\n}\n\nconst DragBar: React.FC<IDragBarProps> = (props) => {\n const { prefixCls, onChange } = props || {};\n const dragRef = useRef<{ height: number; dragY: number }>();\n function handleMouseMove(event: MouseEvent) {\n if (dragRef.current) {\n const newHeight = dragRef.current.height + event.clientY - dragRef.current.dragY;\n if (newHeight >= props.minHeight && newHeight <= props.maxHeight) {\n onChange && onChange(dragRef.current.height + (event.clientY - dragRef.current.dragY));\n }\n }\n }\n function handleMouseUp() {\n dragRef.current = undefined;\n }\n function handleMouseDown(event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n dragRef.current = {\n height: props.height,\n dragY: event.clientY,\n };\n }\n\n useEffect(() => {\n if (document) {\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n return () => {\n if (document) {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const svg = useMemo(\n () => (\n <svg viewBox=\"0 0 512 512\" height=\"100%\">\n <path\n fill=\"currentColor\"\n d=\"M304 256c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm120-48c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-336 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"\n />\n </svg>\n ),\n [],\n );\n return (\n <div className={`${prefixCls}-bar`} onMouseDown={handleMouseDown}>\n {svg}\n </div>\n );\n};\n\nexport default DragBar;\n"
|
|
34
34
|
],
|
|
35
|
-
"mappings": "
|
|
35
|
+
"mappings": ";;;;;;;AAAA;AAA0D;AAW1D,IAAMA,OAAgC,GAAG,SAAnCA,OAAgC,CAAIC,KAAK,EAAK;EAClD,WAAgCA,KAAK,IAAI,CAAC,CAAC;IAAnCC,SAAS,QAATA,SAAS;IAAEC,QAAQ,QAARA,QAAQ;EAC3B,IAAMC,OAAO,GAAG,IAAAC,aAAM,GAAqC;EAC3D,SAASC,eAAe,CAACC,KAAiB,EAAE;IAC1C,IAAIH,OAAO,CAACI,OAAO,EAAE;MACnB,IAAMC,SAAS,GAAGL,OAAO,CAACI,OAAO,CAACE,MAAM,GAAGH,KAAK,CAACI,OAAO,GAAGP,OAAO,CAACI,OAAO,CAACI,KAAK;MAChF,IAAIH,SAAS,IAAIR,KAAK,CAACY,SAAS,IAAIJ,SAAS,IAAIR,KAAK,CAACa,SAAS,EAAE;QAChEX,QAAQ,IAAIA,QAAQ,CAACC,OAAO,CAACI,OAAO,CAACE,MAAM,IAAIH,KAAK,CAACI,OAAO,GAAGP,OAAO,CAACI,OAAO,CAACI,KAAK,CAAC,CAAC;MACxF;IACF;EACF;EACA,SAASG,aAAa,GAAG;IACvBX,OAAO,CAACI,OAAO,GAAGQ,SAAS;EAC7B;EACA,SAASC,eAAe,CAACV,KAAmD,EAAE;IAC5EH,OAAO,CAACI,OAAO,GAAG;MAChBE,MAAM,EAAET,KAAK,CAACS,MAAM;MACpBE,KAAK,EAAEL,KAAK,CAACI;IACf,CAAC;EACH;EAEA,IAAAO,gBAAS,EAAC,YAAM;IACd,IAAIC,QAAQ,EAAE;MACZA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEd,eAAe,CAAC;MACvDa,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEL,aAAa,CAAC;IACrD;IACA,OAAO,YAAM;MACX,IAAII,QAAQ,EAAE;QACZA,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEf,eAAe,CAAC;QAC1Da,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEN,aAAa,CAAC;MACxD;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EACN,IAAMO,GAAG,GAAG,IAAAC,cAAO,EACjB;IAAA,oBACE;MAAK,OAAO,EAAC,aAAa;MAAC,MAAM,EAAC,MAAM;MAAA,uBACtC;QACE,IAAI,EAAC,cAAc;QACnB,CAAC,EAAC;MAA2N;IAC7N,EACE;EAAA,CACP,EACD,EAAE,CACH;EACD,oBACE;IAAK,SAAS,YAAKrB,SAAS,SAAO;IAAC,WAAW,EAAEe,eAAgB;IAAA,UAC9DK;EAAG,EACA;AAEV,CAAC;AAAC,eAEatB,OAAO;AAAA;AAAA"
|
|
36
36
|
}
|
|
@@ -1,24 +1,16 @@
|
|
|
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"] = Markdown;
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _rehype = require("rehype");
|
|
15
|
-
|
|
16
11
|
var _rehypePrismPlus = _interopRequireDefault(require("rehype-prism-plus"));
|
|
17
|
-
|
|
18
12
|
var _Context = require("../../Context");
|
|
19
|
-
|
|
20
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
|
|
22
14
|
function html2Escape(sHtml) {
|
|
23
15
|
return sHtml.replace(/```(tsx?|jsx?|html|xml)(.*)\s+([\s\S]*?)(\s.+)?```/g, function (str) {
|
|
24
16
|
return str.replace(/[<&"]/g, function (c) {
|
|
@@ -38,25 +30,21 @@ function html2Escape(sHtml) {
|
|
|
38
30
|
}[c];
|
|
39
31
|
});
|
|
40
32
|
}
|
|
41
|
-
|
|
42
33
|
function Markdown(props) {
|
|
43
34
|
var prefixCls = props.prefixCls;
|
|
44
|
-
|
|
45
35
|
var _useContext = (0, _react.useContext)(_Context.EditorContext),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
36
|
+
_useContext$markdown = _useContext.markdown,
|
|
37
|
+
markdown = _useContext$markdown === void 0 ? '' : _useContext$markdown,
|
|
38
|
+
highlightEnable = _useContext.highlightEnable,
|
|
39
|
+
dispatch = _useContext.dispatch;
|
|
51
40
|
var preRef = /*#__PURE__*/_react["default"].createRef();
|
|
52
|
-
|
|
53
41
|
(0, _react.useEffect)(function () {
|
|
54
42
|
if (preRef.current && dispatch) {
|
|
55
43
|
dispatch({
|
|
56
44
|
textareaPre: preRef.current
|
|
57
45
|
});
|
|
58
|
-
}
|
|
59
|
-
|
|
46
|
+
}
|
|
47
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
48
|
}, []);
|
|
61
49
|
return (0, _react.useMemo)(function () {
|
|
62
50
|
if (!markdown) {
|
|
@@ -65,9 +53,7 @@ function Markdown(props) {
|
|
|
65
53
|
className: "".concat(prefixCls, "-text-pre wmde-markdown-color")
|
|
66
54
|
});
|
|
67
55
|
}
|
|
68
|
-
|
|
69
56
|
var mdStr = "<pre class=\"language-markdown ".concat(prefixCls, "-text-pre wmde-markdown-color\"><code class=\"language-markdown\">").concat(html2Escape(markdown), "\n</code></pre>");
|
|
70
|
-
|
|
71
57
|
if (highlightEnable) {
|
|
72
58
|
try {
|
|
73
59
|
mdStr = (0, _rehype.rehype)().data('settings', {
|
|
@@ -77,7 +63,6 @@ function Markdown(props) {
|
|
|
77
63
|
}).processSync(mdStr).toString();
|
|
78
64
|
} catch (error) {}
|
|
79
65
|
}
|
|
80
|
-
|
|
81
66
|
return /*#__PURE__*/_react["default"].createElement('div', {
|
|
82
67
|
className: 'wmde-markdown-color',
|
|
83
68
|
dangerouslySetInnerHTML: {
|
|
@@ -86,6 +71,5 @@ function Markdown(props) {
|
|
|
86
71
|
});
|
|
87
72
|
}, [markdown, preRef, prefixCls]);
|
|
88
73
|
}
|
|
89
|
-
|
|
90
74
|
module.exports = exports.default;
|
|
91
75
|
//# sourceMappingURL=Markdown.js.map
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"sourcesContent": [
|
|
43
43
|
"import React, { useContext, useEffect, useMemo } from 'react';\nimport { rehype } from 'rehype';\nimport rehypePrism from 'rehype-prism-plus';\nimport { IProps } from '../../Editor';\nimport { EditorContext } from '../../Context';\n\nfunction html2Escape(sHtml: string) {\n return sHtml\n .replace(/```(tsx?|jsx?|html|xml)(.*)\\s+([\\s\\S]*?)(\\s.+)?```/g, (str: string) => {\n return str.replace(\n /[<&\"]/g,\n (c: string) => (({ '<': '<', '>': '>', '&': '&', '\"': '"' } as Record<string, string>)[c]),\n );\n })\n .replace(\n /[<&\"]/g,\n (c: string) => (({ '<': '<', '>': '>', '&': '&', '\"': '"' } as Record<string, string>)[c]),\n );\n}\n\nexport interface MarkdownProps extends IProps, React.HTMLAttributes<HTMLPreElement> {}\n\nexport default function Markdown(props: MarkdownProps) {\n const { prefixCls } = props;\n const { markdown = '', highlightEnable, dispatch } = useContext(EditorContext);\n const preRef = React.createRef<HTMLPreElement>();\n useEffect(() => {\n if (preRef.current && dispatch) {\n dispatch({ textareaPre: preRef.current });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return useMemo(() => {\n if (!markdown) {\n return <pre ref={preRef} className={`${prefixCls}-text-pre wmde-markdown-color`} />;\n }\n let mdStr = `<pre class=\"language-markdown ${prefixCls}-text-pre wmde-markdown-color\"><code class=\"language-markdown\">${html2Escape(\n markdown,\n )}\\n</code></pre>`;\n\n if (highlightEnable) {\n try {\n mdStr = rehype()\n .data('settings', { fragment: true })\n .use(rehypePrism, { ignoreMissing: true })\n .processSync(mdStr)\n .toString();\n } catch (error) {}\n }\n\n return React.createElement('div', {\n className: 'wmde-markdown-color',\n dangerouslySetInnerHTML: { __html: mdStr || '' },\n });\n }, [markdown, preRef, prefixCls]);\n}\n"
|
|
44
44
|
],
|
|
45
|
-
"mappings": "
|
|
45
|
+
"mappings": ";;;;;;;;AAAA;AACA;AACA;AAEA;AAA8C;AAE9C,SAASA,WAAW,CAACC,KAAa,EAAE;EAClC,OAAOA,KAAK,CACTC,OAAO,CAAC,qDAAqD,EAAE,UAACC,GAAW,EAAK;IAC/E,OAAOA,GAAG,CAACD,OAAO,CAChB,QAAQ,EACR,UAACE,CAAS;MAAA,OAAO;QAAE,GAAG,EAAE,MAAM;QAAE,GAAG,EAAE,MAAM;QAAE,GAAG,EAAE,OAAO;QAAE,GAAG,EAAE;MAAS,CAAC,CAA4BA,CAAC,CAAC;IAAA,CAAC,CAC1G;EACH,CAAC,CAAC,CACDF,OAAO,CACN,QAAQ,EACR,UAACE,CAAS;IAAA,OAAO;MAAE,GAAG,EAAE,MAAM;MAAE,GAAG,EAAE,MAAM;MAAE,GAAG,EAAE,OAAO;MAAE,GAAG,EAAE;IAAS,CAAC,CAA4BA,CAAC,CAAC;EAAA,CAAC,CAC1G;AACL;AAIe,SAASC,QAAQ,CAACC,KAAoB,EAAE;EACrD,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;EACjB,kBAAqD,IAAAC,iBAAU,EAACC,sBAAa,CAAC;IAAA,mCAAtEC,QAAQ;IAARA,QAAQ,qCAAG,EAAE;IAAEC,eAAe,eAAfA,eAAe;IAAEC,QAAQ,eAARA,QAAQ;EAChD,IAAMC,MAAM,gBAAGC,iBAAK,CAACC,SAAS,EAAkB;EAChD,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAIH,MAAM,CAACI,OAAO,IAAIL,QAAQ,EAAE;MAC9BA,QAAQ,CAAC;QAAEM,WAAW,EAAEL,MAAM,CAACI;MAAQ,CAAC,CAAC;IAC3C;IACA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAAE,cAAO,EAAC,YAAM;IACnB,IAAI,CAACT,QAAQ,EAAE;MACb,oBAAO;QAAK,GAAG,EAAEG,MAAO;QAAC,SAAS,YAAKN,SAAS;MAAgC,EAAG;IACrF;IACA,IAAIa,KAAK,4CAAoCb,SAAS,+EAAkEP,WAAW,CACjIU,QAAQ,CACT,oBAAiB;IAElB,IAAIC,eAAe,EAAE;MACnB,IAAI;QACFS,KAAK,GAAG,IAAAC,cAAM,GAAE,CACbC,IAAI,CAAC,UAAU,EAAE;UAAEC,QAAQ,EAAE;QAAK,CAAC,CAAC,CACpCC,GAAG,CAACC,2BAAW,EAAE;UAAEC,aAAa,EAAE;QAAK,CAAC,CAAC,CACzCC,WAAW,CAACP,KAAK,CAAC,CAClBQ,QAAQ,EAAE;MACf,CAAC,CAAC,OAAOC,KAAK,EAAE,CAAC;IACnB;IAEA,oBAAOf,iBAAK,CAACgB,aAAa,CAAC,KAAK,EAAE;MAChCC,SAAS,EAAE,qBAAqB;MAChCC,uBAAuB,EAAE;QAAEC,MAAM,EAAEb,KAAK,IAAI;MAAG;IACjD,CAAC,CAAC;EACJ,CAAC,EAAE,CAACV,QAAQ,EAAEG,MAAM,EAAEN,SAAS,CAAC,CAAC;AACnC;AAAC"
|
|
46
46
|
}
|
|
@@ -1,59 +1,41 @@
|
|
|
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"] = Textarea;
|
|
11
|
-
|
|
12
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
-
|
|
14
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _Context = require("../../Context");
|
|
21
|
-
|
|
22
14
|
var _commands = require("../../commands");
|
|
23
|
-
|
|
24
15
|
var _handleKeyDown = _interopRequireDefault(require("./handleKeyDown"));
|
|
25
|
-
|
|
26
16
|
var _shortcuts = _interopRequireDefault(require("./shortcuts"));
|
|
27
|
-
|
|
28
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
|
|
30
18
|
var _excluded = ["prefixCls", "onChange"];
|
|
31
|
-
|
|
32
19
|
function Textarea(props) {
|
|
33
20
|
var prefixCls = props.prefixCls,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
21
|
+
_onChange = props.onChange,
|
|
22
|
+
other = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
37
23
|
var _useContext = (0, _react.useContext)(_Context.EditorContext),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
24
|
+
markdown = _useContext.markdown,
|
|
25
|
+
commands = _useContext.commands,
|
|
26
|
+
fullscreen = _useContext.fullscreen,
|
|
27
|
+
preview = _useContext.preview,
|
|
28
|
+
highlightEnable = _useContext.highlightEnable,
|
|
29
|
+
extraCommands = _useContext.extraCommands,
|
|
30
|
+
tabSize = _useContext.tabSize,
|
|
31
|
+
defaultTabEnable = _useContext.defaultTabEnable,
|
|
32
|
+
dispatch = _useContext.dispatch;
|
|
48
33
|
var textRef = _react["default"].useRef(null);
|
|
49
|
-
|
|
50
34
|
var executeRef = _react["default"].useRef();
|
|
51
|
-
|
|
52
35
|
var statesRef = _react["default"].useRef({
|
|
53
36
|
fullscreen: fullscreen,
|
|
54
37
|
preview: preview
|
|
55
38
|
});
|
|
56
|
-
|
|
57
39
|
(0, _react.useEffect)(function () {
|
|
58
40
|
statesRef.current = {
|
|
59
41
|
fullscreen: fullscreen,
|
|
@@ -69,26 +51,24 @@ function Textarea(props) {
|
|
|
69
51
|
textarea: textRef.current,
|
|
70
52
|
commandOrchestrator: commandOrchestrator
|
|
71
53
|
});
|
|
72
|
-
}
|
|
73
|
-
|
|
54
|
+
}
|
|
55
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
56
|
}, []);
|
|
75
|
-
|
|
76
57
|
var onKeyDown = function onKeyDown(e) {
|
|
77
58
|
(0, _handleKeyDown["default"])(e, tabSize, defaultTabEnable);
|
|
78
59
|
(0, _shortcuts["default"])(e, [].concat((0, _toConsumableArray2["default"])(commands || []), (0, _toConsumableArray2["default"])(extraCommands || [])), executeRef.current, dispatch, statesRef.current);
|
|
79
60
|
};
|
|
80
|
-
|
|
81
61
|
(0, _react.useEffect)(function () {
|
|
82
62
|
if (textRef.current) {
|
|
83
63
|
textRef.current.addEventListener('keydown', onKeyDown);
|
|
84
64
|
}
|
|
85
|
-
|
|
86
65
|
return function () {
|
|
87
66
|
if (textRef.current) {
|
|
88
67
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
89
68
|
textRef.current.removeEventListener('keydown', onKeyDown);
|
|
90
69
|
}
|
|
91
|
-
};
|
|
70
|
+
};
|
|
71
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
92
72
|
}, []);
|
|
93
73
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("textarea", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
|
|
94
74
|
autoComplete: "off",
|
|
@@ -107,6 +87,5 @@ function Textarea(props) {
|
|
|
107
87
|
}
|
|
108
88
|
}));
|
|
109
89
|
}
|
|
110
|
-
|
|
111
90
|
module.exports = exports.default;
|
|
112
91
|
//# sourceMappingURL=Textarea.js.map
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"sourcesContent": [
|
|
44
44
|
"import React, { useContext, useEffect } from 'react';\nimport { IProps } from '../../Editor';\nimport { EditorContext, ExecuteCommandState } from '../../Context';\nimport { TextAreaCommandOrchestrator } from '../../commands';\nimport handleKeyDown from './handleKeyDown';\nimport shortcuts from './shortcuts';\nimport './index.less';\n\nexport interface TextAreaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value'>, IProps {}\n\nexport default function Textarea(props: TextAreaProps) {\n const { prefixCls, onChange, ...other } = props;\n const {\n markdown,\n commands,\n fullscreen,\n preview,\n highlightEnable,\n extraCommands,\n tabSize,\n defaultTabEnable,\n dispatch,\n } = useContext(EditorContext);\n const textRef = React.useRef<HTMLTextAreaElement>(null);\n const executeRef = React.useRef<TextAreaCommandOrchestrator>();\n const statesRef = React.useRef<ExecuteCommandState>({ fullscreen, preview });\n\n useEffect(() => {\n statesRef.current = { fullscreen, preview, highlightEnable };\n }, [fullscreen, preview, highlightEnable]);\n\n useEffect(() => {\n if (textRef.current && dispatch) {\n const commandOrchestrator = new TextAreaCommandOrchestrator(textRef.current);\n executeRef.current = commandOrchestrator;\n dispatch({ textarea: textRef.current, commandOrchestrator });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const onKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLTextAreaElement>) => {\n handleKeyDown(e, tabSize, defaultTabEnable);\n shortcuts(e, [...(commands || []), ...(extraCommands || [])], executeRef.current, dispatch, statesRef.current);\n };\n useEffect(() => {\n if (textRef.current) {\n textRef.current.addEventListener('keydown', onKeyDown);\n }\n return () => {\n if (textRef.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n textRef.current.removeEventListener('keydown', onKeyDown);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <textarea\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n {...other}\n ref={textRef}\n className={`${prefixCls}-text-input ${other.className ? other.className : ''}`}\n value={markdown}\n onChange={(e) => {\n dispatch && dispatch({ markdown: e.target.value });\n onChange && onChange(e);\n }}\n />\n );\n}\n"
|
|
45
45
|
],
|
|
46
|
-
"mappings": "
|
|
46
|
+
"mappings": "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"
|
|
47
47
|
}
|
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = handleKeyDown;
|
|
7
|
-
|
|
8
7
|
var _InsertTextAtPosition = require("../../utils/InsertTextAtPosition");
|
|
9
|
-
|
|
10
8
|
var _commands = require("../../commands");
|
|
11
|
-
|
|
12
9
|
var _list = require("../../commands/list");
|
|
13
|
-
|
|
14
10
|
/**
|
|
15
11
|
* - `13` - `Enter`
|
|
16
12
|
* - `9` - `Tab`
|
|
@@ -19,7 +15,6 @@ function stopPropagation(e) {
|
|
|
19
15
|
e.stopPropagation();
|
|
20
16
|
e.preventDefault();
|
|
21
17
|
}
|
|
22
|
-
|
|
23
18
|
function handleKeyDown(e) {
|
|
24
19
|
var tabSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
25
20
|
var defaultTabEnable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
@@ -28,27 +23,22 @@ function handleKeyDown(e) {
|
|
|
28
23
|
var valArr = starVal.split('\n');
|
|
29
24
|
var currentLineStr = valArr[valArr.length - 1];
|
|
30
25
|
var textArea = new _commands.TextAreaTextApi(target);
|
|
26
|
+
|
|
31
27
|
/**
|
|
32
28
|
* `9` - `Tab`
|
|
33
29
|
*/
|
|
34
|
-
|
|
35
30
|
if (!defaultTabEnable && e.code && e.code.toLowerCase() === 'tab') {
|
|
36
31
|
stopPropagation(e);
|
|
37
32
|
var space = new Array(tabSize + 1).join(' ');
|
|
38
|
-
|
|
39
33
|
if (target.selectionStart !== target.selectionEnd) {
|
|
40
34
|
var _star = target.value.substring(0, target.selectionStart).split('\n');
|
|
41
|
-
|
|
42
35
|
var _end = target.value.substring(0, target.selectionEnd).split('\n');
|
|
43
|
-
|
|
44
36
|
var modifiedTextLine = [];
|
|
45
|
-
|
|
46
37
|
_end.forEach(function (item, idx) {
|
|
47
38
|
if (item !== _star[idx]) {
|
|
48
39
|
modifiedTextLine.push(item);
|
|
49
40
|
}
|
|
50
41
|
});
|
|
51
|
-
|
|
52
42
|
var modifiedText = modifiedTextLine.join('\n');
|
|
53
43
|
var oldSelectText = target.value.substring(target.selectionStart, target.selectionEnd);
|
|
54
44
|
var newStarNum = target.value.substring(0, target.selectionStart).length;
|
|
@@ -58,13 +48,11 @@ function handleKeyDown(e) {
|
|
|
58
48
|
});
|
|
59
49
|
var modifiedTextObj = (0, _list.insertBeforeEachLine)(modifiedText, e.shiftKey ? '' : space);
|
|
60
50
|
var text = modifiedTextObj.modifiedText;
|
|
61
|
-
|
|
62
51
|
if (e.shiftKey) {
|
|
63
52
|
text = text.split('\n').map(function (item) {
|
|
64
53
|
return item.replace(new RegExp("^".concat(space)), '');
|
|
65
54
|
}).join('\n');
|
|
66
55
|
}
|
|
67
|
-
|
|
68
56
|
textArea.replaceSelection(text);
|
|
69
57
|
var startTabSize = e.shiftKey ? -tabSize : tabSize;
|
|
70
58
|
var endTabSize = e.shiftKey ? -modifiedTextLine.length * tabSize : modifiedTextLine.length * tabSize;
|
|
@@ -81,24 +69,19 @@ function handleKeyDown(e) {
|
|
|
81
69
|
*/
|
|
82
70
|
stopPropagation(e);
|
|
83
71
|
var startStr = '\n- ';
|
|
84
|
-
|
|
85
72
|
if (currentLineStr.startsWith('*')) {
|
|
86
73
|
startStr = '\n* ';
|
|
87
74
|
}
|
|
88
|
-
|
|
89
75
|
if (currentLineStr.startsWith('- [ ]')) {
|
|
90
76
|
startStr = '\n- [ ] ';
|
|
91
77
|
} else if (currentLineStr.startsWith('- [X]')) {
|
|
92
78
|
startStr = '\n- [X] ';
|
|
93
79
|
}
|
|
94
|
-
|
|
95
80
|
if (/^\d+.\s/.test(currentLineStr)) {
|
|
96
81
|
startStr = "\n".concat(parseInt(currentLineStr) + 1, ". ");
|
|
97
82
|
}
|
|
98
|
-
|
|
99
83
|
return (0, _InsertTextAtPosition.insertTextAtPosition)(target, startStr);
|
|
100
84
|
}
|
|
101
85
|
}
|
|
102
|
-
|
|
103
86
|
module.exports = exports.default;
|
|
104
87
|
//# sourceMappingURL=handleKeyDown.js.map
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"sourcesContent": [
|
|
62
62
|
"import { insertTextAtPosition } from '../../utils/InsertTextAtPosition';\nimport { TextAreaTextApi } from '../../commands';\nimport { insertBeforeEachLine } from '../../commands/list';\n\n/**\n * - `13` - `Enter`\n * - `9` - `Tab`\n */\nfunction stopPropagation(e: KeyboardEvent | React.KeyboardEvent<HTMLTextAreaElement>) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport default function handleKeyDown(\n e: KeyboardEvent | React.KeyboardEvent<HTMLTextAreaElement>,\n tabSize: number = 2,\n defaultTabEnable: boolean = false,\n) {\n const target = e.target as HTMLTextAreaElement;\n const starVal = target.value.substr(0, target.selectionStart);\n const valArr = starVal.split('\\n');\n const currentLineStr = valArr[valArr.length - 1];\n const textArea = new TextAreaTextApi(target);\n\n /**\n * `9` - `Tab`\n */\n if (!defaultTabEnable && e.code && e.code.toLowerCase() === 'tab') {\n stopPropagation(e);\n const space = new Array(tabSize + 1).join(' ');\n if (target.selectionStart !== target.selectionEnd) {\n const _star = target.value.substring(0, target.selectionStart).split('\\n');\n const _end = target.value.substring(0, target.selectionEnd).split('\\n');\n const modifiedTextLine: string[] = [];\n _end.forEach((item, idx) => {\n if (item !== _star[idx]) {\n modifiedTextLine.push(item);\n }\n });\n const modifiedText = modifiedTextLine.join('\\n');\n const oldSelectText = target.value.substring(target.selectionStart, target.selectionEnd);\n const newStarNum = target.value.substring(0, target.selectionStart).length;\n\n textArea.setSelectionRange({\n start: target.value.indexOf(modifiedText),\n end: target.selectionEnd,\n });\n\n const modifiedTextObj = insertBeforeEachLine(modifiedText, e.shiftKey ? '' : space);\n\n let text = modifiedTextObj.modifiedText;\n if (e.shiftKey) {\n text = text\n .split('\\n')\n .map((item) => item.replace(new RegExp(`^${space}`), ''))\n .join('\\n');\n }\n textArea.replaceSelection(text);\n\n let startTabSize = e.shiftKey ? -tabSize : tabSize;\n let endTabSize = e.shiftKey ? -modifiedTextLine.length * tabSize : modifiedTextLine.length * tabSize;\n\n textArea.setSelectionRange({\n start: newStarNum + startTabSize,\n end: newStarNum + oldSelectText.length + endTabSize,\n });\n } else {\n return insertTextAtPosition(target, space);\n }\n } else if (\n e.code &&\n e.code.toLowerCase() === 'enter' &&\n (/^(-|\\*)\\s/.test(currentLineStr) || /^\\d+.\\s/.test(currentLineStr))\n ) {\n /**\n * `13` - `Enter`\n */\n stopPropagation(e);\n let startStr = '\\n- ';\n\n if (currentLineStr.startsWith('*')) {\n startStr = '\\n* ';\n }\n\n if (currentLineStr.startsWith('- [ ]')) {\n startStr = '\\n- [ ] ';\n } else if (currentLineStr.startsWith('- [X]')) {\n startStr = '\\n- [X] ';\n }\n\n if (/^\\d+.\\s/.test(currentLineStr)) {\n startStr = `\\n${parseInt(currentLineStr) + 1}. `;\n }\n return insertTextAtPosition(target, startStr);\n }\n}\n"
|
|
63
63
|
],
|
|
64
|
-
"mappings": "
|
|
64
|
+
"mappings": "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"
|
|
65
65
|
}
|