@uiw/react-md-editor 3.3.6 → 3.3.8
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/README.md +2 -8
- package/dist/markdown-editor.css +3 -7
- package/lib/cjs/Context.js +2 -8
- package/lib/cjs/Editor.js +54 -86
- package/lib/cjs/commands/bold.js +5 -9
- package/lib/cjs/commands/code.js +5 -11
- package/lib/cjs/commands/comment.js +5 -7
- package/lib/cjs/commands/divider.js +1 -1
- package/lib/cjs/commands/fullscreen.js +1 -5
- package/lib/cjs/commands/group.js +3 -10
- package/lib/cjs/commands/hr.js +1 -4
- package/lib/cjs/commands/image.js +5 -9
- package/lib/cjs/commands/index.d.ts +11 -12
- package/lib/cjs/commands/index.js +52 -87
- package/lib/cjs/commands/italic.js +5 -9
- package/lib/cjs/commands/link.js +5 -9
- package/lib/cjs/commands/list.js +7 -11
- package/lib/cjs/commands/preview.js +2 -5
- package/lib/cjs/commands/quote.js +3 -6
- package/lib/cjs/commands/strikeThrough.js +5 -9
- package/lib/cjs/commands/title.js +1 -6
- package/lib/cjs/commands/title1.js +1 -6
- package/lib/cjs/commands/title2.js +1 -6
- package/lib/cjs/commands/title3.js +1 -6
- package/lib/cjs/commands/title4.js +1 -6
- package/lib/cjs/commands/title5.js +1 -6
- package/lib/cjs/commands/title6.js +1 -6
- package/lib/cjs/components/DragBar/index.js +3 -14
- package/lib/cjs/components/TextArea/Markdown.js +8 -20
- package/lib/cjs/components/TextArea/Textarea.js +17 -36
- package/lib/cjs/components/TextArea/handleKeyDown.js +1 -19
- package/lib/cjs/components/TextArea/index.js +11 -27
- package/lib/cjs/components/TextArea/shortcuts.js +1 -17
- package/lib/cjs/components/Toolbar/Child.js +9 -18
- package/lib/cjs/components/Toolbar/index.js +14 -34
- package/lib/cjs/index.js +2 -11
- package/lib/cjs/utils/InsertTextAtPosition.js +28 -33
- package/lib/cjs/utils/getSurroundingWord.js +9 -12
- package/lib/cjs/utils/index.js +1 -1
- package/lib/cjs/utils/markdownUtils.js +12 -23
- package/lib/esm/Context.js +1 -1
- package/lib/esm/Editor.js +54 -71
- package/lib/esm/commands/bold.js +5 -5
- package/lib/esm/commands/code.js +5 -7
- package/lib/esm/commands/comment.js +5 -5
- package/lib/esm/commands/divider.js +1 -1
- package/lib/esm/commands/fullscreen.js +1 -2
- package/lib/esm/commands/group.js +3 -5
- package/lib/esm/commands/hr.js +1 -1
- package/lib/esm/commands/image.js +5 -5
- package/lib/esm/commands/index.d.ts +11 -12
- package/lib/esm/commands/index.js +8 -18
- package/lib/esm/commands/italic.js +5 -5
- package/lib/esm/commands/link.js +5 -5
- package/lib/esm/commands/list.js +5 -5
- package/lib/esm/commands/preview.js +1 -1
- package/lib/esm/commands/quote.js +3 -2
- package/lib/esm/commands/strikeThrough.js +5 -5
- package/lib/esm/commands/title.js +1 -1
- package/lib/esm/commands/title1.js +1 -3
- package/lib/esm/commands/title2.js +1 -3
- package/lib/esm/commands/title3.js +1 -3
- package/lib/esm/commands/title4.js +1 -3
- package/lib/esm/commands/title5.js +1 -3
- package/lib/esm/commands/title6.js +1 -3
- package/lib/esm/components/DragBar/index.js +3 -12
- package/lib/esm/components/TextArea/Markdown.js +9 -13
- package/lib/esm/components/TextArea/Textarea.js +17 -20
- package/lib/esm/components/TextArea/handleKeyDown.js +2 -14
- package/lib/esm/components/TextArea/index.css +1 -2
- package/lib/esm/components/TextArea/index.js +11 -14
- package/lib/esm/components/TextArea/shortcuts.js +1 -14
- package/lib/esm/components/Toolbar/Child.js +9 -10
- package/lib/esm/components/Toolbar/index.css +2 -5
- package/lib/esm/components/Toolbar/index.js +14 -25
- package/lib/esm/index.js +1 -1
- package/lib/esm/utils/InsertTextAtPosition.js +28 -31
- package/lib/esm/utils/getSurroundingWord.js +9 -10
- package/lib/esm/utils/index.js +1 -1
- package/lib/esm/utils/markdownUtils.js +10 -16
- package/package.json +14 -66
- package/src/commands/index.ts +17 -13
- package/src/components/Toolbar/index.tsx +2 -4
|
@@ -1,48 +1,38 @@
|
|
|
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 DragBar = function DragBar(props) {
|
|
13
10
|
var _ref = props || {},
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
prefixCls = _ref.prefixCls,
|
|
12
|
+
onChange = _ref.onChange;
|
|
17
13
|
var dragRef = (0, _react.useRef)();
|
|
18
|
-
|
|
19
14
|
function handleMouseMove(event) {
|
|
20
15
|
if (dragRef.current) {
|
|
21
16
|
var newHeight = dragRef.current.height + event.clientY - dragRef.current.dragY;
|
|
22
|
-
|
|
23
17
|
if (newHeight >= props.minHeight && newHeight <= props.maxHeight) {
|
|
24
18
|
onChange && onChange(dragRef.current.height + (event.clientY - dragRef.current.dragY));
|
|
25
19
|
}
|
|
26
20
|
}
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
function handleMouseUp() {
|
|
30
23
|
dragRef.current = undefined;
|
|
31
24
|
}
|
|
32
|
-
|
|
33
25
|
function handleMouseDown(event) {
|
|
34
26
|
dragRef.current = {
|
|
35
27
|
height: props.height,
|
|
36
28
|
dragY: event.clientY
|
|
37
29
|
};
|
|
38
30
|
}
|
|
39
|
-
|
|
40
31
|
(0, _react.useEffect)(function () {
|
|
41
32
|
if (document) {
|
|
42
33
|
document.addEventListener('mousemove', handleMouseMove);
|
|
43
34
|
document.addEventListener('mouseup', handleMouseUp);
|
|
44
35
|
}
|
|
45
|
-
|
|
46
36
|
return function () {
|
|
47
37
|
if (document) {
|
|
48
38
|
document.removeEventListener('mousemove', handleMouseMove);
|
|
@@ -64,8 +54,7 @@ var DragBar = function DragBar(props) {
|
|
|
64
54
|
onMouseDown: handleMouseDown
|
|
65
55
|
}, svg);
|
|
66
56
|
};
|
|
67
|
-
|
|
68
57
|
var _default = DragBar;
|
|
69
58
|
exports.default = _default;
|
|
70
59
|
module.exports = exports.default;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFnQmFyIiwicHJvcHMiLCJwcmVmaXhDbHMiLCJvbkNoYW5nZSIsImRyYWdSZWYiLCJ1c2VSZWYiLCJoYW5kbGVNb3VzZU1vdmUiLCJldmVudCIsImN1cnJlbnQiLCJuZXdIZWlnaHQiLCJoZWlnaHQiLCJjbGllbnRZIiwiZHJhZ1kiLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJoYW5kbGVNb3VzZVVwIiwidW5kZWZpbmVkIiwiaGFuZGxlTW91c2VEb3duIiwidXNlRWZmZWN0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInN2ZyIsInVzZU1lbW8iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EcmFnQmFyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJUHJvcHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgJy4vaW5kZXgubGVzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdCYXJQcm9wcyBleHRlbmRzIElQcm9wcyB7XG4gIGhlaWdodDogbnVtYmVyO1xuICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgbWluSGVpZ2h0OiBudW1iZXI7XG4gIG9uQ2hhbmdlOiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuY29uc3QgRHJhZ0JhcjogUmVhY3QuRkM8SURyYWdCYXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwcmVmaXhDbHMsIG9uQ2hhbmdlIH0gPSBwcm9wcyB8fCB7fTtcbiAgY29uc3QgZHJhZ1JlZiA9IHVzZVJlZjx7IGhlaWdodDogbnVtYmVyOyBkcmFnWTogbnVtYmVyIH0+KCk7XG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmIChkcmFnUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IG5ld0hlaWdodCA9IGRyYWdSZWYuY3VycmVudC5oZWlnaHQgKyBldmVudC5jbGllbnRZIC0gZHJhZ1JlZi5jdXJyZW50LmRyYWdZO1xuICAgICAgaWYgKG5ld0hlaWdodCA+PSBwcm9wcy5taW5IZWlnaHQgJiYgbmV3SGVpZ2h0IDw9IHByb3BzLm1heEhlaWdodCkge1xuICAgICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShkcmFnUmVmLmN1cnJlbnQuaGVpZ2h0ICsgKGV2ZW50LmNsaWVudFkgLSBkcmFnUmVmLmN1cnJlbnQuZHJhZ1kpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VVcCgpIHtcbiAgICBkcmFnUmVmLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VEb3duKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50LCBNb3VzZUV2ZW50Pikge1xuICAgIGRyYWdSZWYuY3VycmVudCA9IHtcbiAgICAgIGhlaWdodDogcHJvcHMuaGVpZ2h0LFxuICAgICAgZHJhZ1k6IGV2ZW50LmNsaWVudFksXG4gICAgfTtcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRvY3VtZW50KSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBoYW5kbGVNb3VzZU1vdmUpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGhhbmRsZU1vdXNlVXApO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGRvY3VtZW50KSB7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGhhbmRsZU1vdXNlTW92ZSk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBoYW5kbGVNb3VzZVVwKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbXSk7XG4gIGNvbnN0IHN2ZyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKFxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgZD1cIk0zMDQgMjU2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4IDIxLjUtNDggNDgtNDggNDggMjEuNSA0OCA0OHptMTIwLTQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4IDQ4LTIxLjUgNDgtNDgtMjEuNS00OC00OC00OHptLTMzNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4IDQ4LTIxLjUgNDgtNDgtMjEuNS00OC00OC00OHpcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgKSxcbiAgICBbXSxcbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4Q2xzfS1iYXJgfSBvbk1vdXNlRG93bj17aGFuZGxlTW91c2VEb3dufT5cbiAgICAgIHtzdmd9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEcmFnQmFyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFXQSxJQUFNQSxPQUFnQyxHQUFHLFNBQW5DQSxPQUFnQyxDQUFJQyxLQUFLLEVBQUs7RUFDbEQsV0FBZ0NBLEtBQUssSUFBSSxDQUFDLENBQUM7SUFBbkNDLFNBQVMsUUFBVEEsU0FBUztJQUFFQyxRQUFRLFFBQVJBLFFBQVE7RUFDM0IsSUFBTUMsT0FBTyxHQUFHLElBQUFDLGFBQU0sR0FBcUM7RUFDM0QsU0FBU0MsZUFBZSxDQUFDQyxLQUFpQixFQUFFO0lBQzFDLElBQUlILE9BQU8sQ0FBQ0ksT0FBTyxFQUFFO01BQ25CLElBQU1DLFNBQVMsR0FBR0wsT0FBTyxDQUFDSSxPQUFPLENBQUNFLE1BQU0sR0FBR0gsS0FBSyxDQUFDSSxPQUFPLEdBQUdQLE9BQU8sQ0FBQ0ksT0FBTyxDQUFDSSxLQUFLO01BQ2hGLElBQUlILFNBQVMsSUFBSVIsS0FBSyxDQUFDWSxTQUFTLElBQUlKLFNBQVMsSUFBSVIsS0FBSyxDQUFDYSxTQUFTLEVBQUU7UUFDaEVYLFFBQVEsSUFBSUEsUUFBUSxDQUFDQyxPQUFPLENBQUNJLE9BQU8sQ0FBQ0UsTUFBTSxJQUFJSCxLQUFLLENBQUNJLE9BQU8sR0FBR1AsT0FBTyxDQUFDSSxPQUFPLENBQUNJLEtBQUssQ0FBQyxDQUFDO01BQ3hGO0lBQ0Y7RUFDRjtFQUNBLFNBQVNHLGFBQWEsR0FBRztJQUN2QlgsT0FBTyxDQUFDSSxPQUFPLEdBQUdRLFNBQVM7RUFDN0I7RUFDQSxTQUFTQyxlQUFlLENBQUNWLEtBQW1ELEVBQUU7SUFDNUVILE9BQU8sQ0FBQ0ksT0FBTyxHQUFHO01BQ2hCRSxNQUFNLEVBQUVULEtBQUssQ0FBQ1MsTUFBTTtNQUNwQkUsS0FBSyxFQUFFTCxLQUFLLENBQUNJO0lBQ2YsQ0FBQztFQUNIO0VBRUEsSUFBQU8sZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSUMsUUFBUSxFQUFFO01BQ1pBLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsV0FBVyxFQUFFZCxlQUFlLENBQUM7TUFDdkRhLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsU0FBUyxFQUFFTCxhQUFhLENBQUM7SUFDckQ7SUFDQSxPQUFPLFlBQU07TUFDWCxJQUFJSSxRQUFRLEVBQUU7UUFDWkEsUUFBUSxDQUFDRSxtQkFBbUIsQ0FBQyxXQUFXLEVBQUVmLGVBQWUsQ0FBQztRQUMxRGEsUUFBUSxDQUFDRSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUVOLGFBQWEsQ0FBQztNQUN4RDtJQUNGLENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sSUFBTU8sR0FBRyxHQUFHLElBQUFDLGNBQU8sRUFDakI7SUFBQSxvQkFDRTtNQUFLLE9BQU8sRUFBQyxhQUFhO01BQUMsTUFBTSxFQUFDO0lBQU0sZ0JBQ3RDO01BQ0UsSUFBSSxFQUFDLGNBQWM7TUFDbkIsQ0FBQyxFQUFDO0lBQTJOLEVBQzdOLENBQ0U7RUFBQSxDQUNQLEVBQ0QsRUFBRSxDQUNIO0VBQ0Qsb0JBQ0U7SUFBSyxTQUFTLFlBQUtyQixTQUFTLFNBQU87SUFBQyxXQUFXLEVBQUVlO0VBQWdCLEdBQzlESyxHQUFHLENBQ0E7QUFFVixDQUFDO0FBQUMsZUFFYXRCLE9BQU87QUFBQTtBQUFBIn0=
|
|
@@ -1,43 +1,33 @@
|
|
|
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 = _interopRequireDefault(require("rehype"));
|
|
15
|
-
|
|
16
11
|
var _rehypePrism = _interopRequireDefault(require("@mapbox/rehype-prism"));
|
|
17
|
-
|
|
18
12
|
var _Context = require("../../Context");
|
|
19
|
-
|
|
20
13
|
// @ts-ignore
|
|
14
|
+
|
|
21
15
|
function Markdown(props) {
|
|
22
16
|
var prefixCls = props.prefixCls;
|
|
23
|
-
|
|
24
17
|
var _useContext = (0, _react.useContext)(_Context.EditorContext),
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
_useContext$markdown = _useContext.markdown,
|
|
19
|
+
markdown = _useContext$markdown === void 0 ? '' : _useContext$markdown,
|
|
20
|
+
highlightEnable = _useContext.highlightEnable,
|
|
21
|
+
dispatch = _useContext.dispatch;
|
|
30
22
|
var preRef = /*#__PURE__*/_react.default.createRef();
|
|
31
|
-
|
|
32
23
|
(0, _react.useEffect)(function () {
|
|
33
24
|
if (preRef.current && dispatch) {
|
|
34
25
|
dispatch({
|
|
35
26
|
textareaPre: preRef.current
|
|
36
27
|
});
|
|
37
|
-
}
|
|
38
|
-
|
|
28
|
+
}
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
39
30
|
}, []);
|
|
40
|
-
|
|
41
31
|
function html2Escape(sHtml) {
|
|
42
32
|
return sHtml.replace(/[<>&"]/g, function (c) {
|
|
43
33
|
return {
|
|
@@ -48,7 +38,6 @@ function Markdown(props) {
|
|
|
48
38
|
}[c];
|
|
49
39
|
});
|
|
50
40
|
}
|
|
51
|
-
|
|
52
41
|
return (0, _react.useMemo)(function () {
|
|
53
42
|
if (!highlightEnable || !markdown) return /*#__PURE__*/_react.default.createElement("pre", {
|
|
54
43
|
children: markdown || '',
|
|
@@ -68,6 +57,5 @@ function Markdown(props) {
|
|
|
68
57
|
});
|
|
69
58
|
}, [highlightEnable, markdown, preRef, prefixCls]);
|
|
70
59
|
}
|
|
71
|
-
|
|
72
60
|
module.exports = exports.default;
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYXJrZG93biIsInByb3BzIiwicHJlZml4Q2xzIiwidXNlQ29udGV4dCIsIkVkaXRvckNvbnRleHQiLCJtYXJrZG93biIsImhpZ2hsaWdodEVuYWJsZSIsImRpc3BhdGNoIiwicHJlUmVmIiwiUmVhY3QiLCJjcmVhdGVSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwidGV4dGFyZWFQcmUiLCJodG1sMkVzY2FwZSIsInNIdG1sIiwicmVwbGFjZSIsImMiLCJ1c2VNZW1vIiwic3RyIiwicmVoeXBlIiwiZGF0YSIsImZyYWdtZW50IiwidXNlIiwicmVoeXBlUHJpc20iLCJpZ25vcmVNaXNzaW5nIiwicHJvY2Vzc1N5bmMiLCJfX2h0bWwiLCJjb250ZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RleHRBcmVhL01hcmtkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHJlaHlwZSBmcm9tICdyZWh5cGUnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHJlaHlwZVByaXNtIGZyb20gJ0BtYXBib3gvcmVoeXBlLXByaXNtJztcbmltcG9ydCB7IElQcm9wcyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVkaXRvckNvbnRleHQgfSBmcm9tICcuLi8uLi9Db250ZXh0JztcblxuZXhwb3J0IGludGVyZmFjZSBNYXJrZG93blByb3BzIGV4dGVuZHMgSVByb3BzLCBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUHJlRWxlbWVudD4ge31cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFya2Rvd24ocHJvcHM6IE1hcmtkb3duUHJvcHMpIHtcbiAgY29uc3QgeyBwcmVmaXhDbHMgfSA9IHByb3BzO1xuICBjb25zdCB7IG1hcmtkb3duID0gJycsIGhpZ2hsaWdodEVuYWJsZSwgZGlzcGF0Y2ggfSA9IHVzZUNvbnRleHQoRWRpdG9yQ29udGV4dCk7XG4gIGNvbnN0IHByZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MUHJlRWxlbWVudD4oKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJlUmVmLmN1cnJlbnQgJiYgZGlzcGF0Y2gpIHtcbiAgICAgIGRpc3BhdGNoKHsgdGV4dGFyZWFQcmU6IHByZVJlZi5jdXJyZW50IH0pO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtdKTtcbiAgZnVuY3Rpb24gaHRtbDJFc2NhcGUoc0h0bWw6IHN0cmluZykge1xuICAgIHJldHVybiBzSHRtbC5yZXBsYWNlKFxuICAgICAgL1s8PiZcIl0vZyxcbiAgICAgIChjOiBzdHJpbmcpID0+ICgoeyAnPCc6ICcmbHQ7JywgJz4nOiAnJmd0OycsICcmJzogJyZhbXA7JywgJ1wiJzogJyZxdW90OycgfSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KVtjXSksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWhpZ2hsaWdodEVuYWJsZSB8fCAhbWFya2Rvd24pXG4gICAgICByZXR1cm4gPHByZSBjaGlsZHJlbj17bWFya2Rvd24gfHwgJyd9IHJlZj17cHJlUmVmfSBjbGFzc05hbWU9e2Ake3ByZWZpeENsc30tdGV4dC1wcmUgd21kZS1tYXJrZG93bi1jb2xvcmB9IC8+O1xuICAgIGNvbnN0IHN0ciA9IHJlaHlwZSgpXG4gICAgICAuZGF0YSgnc2V0dGluZ3MnLCB7IGZyYWdtZW50OiBmYWxzZSB9KVxuICAgICAgLnVzZShyZWh5cGVQcmlzbSwgeyBpZ25vcmVNaXNzaW5nOiB0cnVlIH0pXG4gICAgICAucHJvY2Vzc1N5bmMoXG4gICAgICAgIGA8cHJlIGNsYXNzPVwibGFuZ3VhZ2UtbWFya2Rvd24gJHtwcmVmaXhDbHN9LXRleHQtcHJlIHdtZGUtbWFya2Rvd24tY29sb3JcIj48Y29kZSBjbGFzcz1cImxhbmd1YWdlLW1hcmtkb3duXCI+JHtodG1sMkVzY2FwZShcbiAgICAgICAgICBtYXJrZG93biB8fCAnJyxcbiAgICAgICAgKX08L2NvZGU+PC9wcmU+YCxcbiAgICAgICk7XG4gICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwid21kZS1tYXJrZG93bi1jb2xvclwiIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogc3RyLmNvbnRlbnRzIGFzIGFueSB9fSAvPjtcbiAgfSwgW2hpZ2hsaWdodEVuYWJsZSwgbWFya2Rvd24sIHByZVJlZiwgcHJlZml4Q2xzXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFIQTs7QUFPZSxTQUFTQSxRQUFRLENBQUNDLEtBQW9CLEVBQUU7RUFDckQsSUFBUUMsU0FBUyxHQUFLRCxLQUFLLENBQW5CQyxTQUFTO0VBQ2pCLGtCQUFxRCxJQUFBQyxpQkFBVSxFQUFDQyxzQkFBYSxDQUFDO0lBQUEsbUNBQXRFQyxRQUFRO0lBQVJBLFFBQVEscUNBQUcsRUFBRTtJQUFFQyxlQUFlLGVBQWZBLGVBQWU7SUFBRUMsUUFBUSxlQUFSQSxRQUFRO0VBQ2hELElBQU1DLE1BQU0sZ0JBQUdDLGNBQUssQ0FBQ0MsU0FBUyxFQUFrQjtFQUNoRCxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJSCxNQUFNLENBQUNJLE9BQU8sSUFBSUwsUUFBUSxFQUFFO01BQzlCQSxRQUFRLENBQUM7UUFBRU0sV0FBVyxFQUFFTCxNQUFNLENBQUNJO01BQVEsQ0FBQyxDQUFDO0lBQzNDO0lBQ0E7RUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sU0FBU0UsV0FBVyxDQUFDQyxLQUFhLEVBQUU7SUFDbEMsT0FBT0EsS0FBSyxDQUFDQyxPQUFPLENBQ2xCLFNBQVMsRUFDVCxVQUFDQyxDQUFTO01BQUEsT0FBTztRQUFFLEdBQUcsRUFBRSxNQUFNO1FBQUUsR0FBRyxFQUFFLE1BQU07UUFBRSxHQUFHLEVBQUUsT0FBTztRQUFFLEdBQUcsRUFBRTtNQUFTLENBQUMsQ0FBNEJBLENBQUMsQ0FBQztJQUFBLENBQUMsQ0FDMUc7RUFDSDtFQUVBLE9BQU8sSUFBQUMsY0FBTyxFQUFDLFlBQU07SUFDbkIsSUFBSSxDQUFDWixlQUFlLElBQUksQ0FBQ0QsUUFBUSxFQUMvQixvQkFBTztNQUFLLFFBQVEsRUFBRUEsUUFBUSxJQUFJLEVBQUc7TUFBQyxHQUFHLEVBQUVHLE1BQU87TUFBQyxTQUFTLFlBQUtOLFNBQVM7SUFBZ0MsRUFBRztJQUMvRyxJQUFNaUIsR0FBRyxHQUFHLElBQUFDLGVBQU0sR0FBRSxDQUNqQkMsSUFBSSxDQUFDLFVBQVUsRUFBRTtNQUFFQyxRQUFRLEVBQUU7SUFBTSxDQUFDLENBQUMsQ0FDckNDLEdBQUcsQ0FBQ0Msb0JBQVcsRUFBRTtNQUFFQyxhQUFhLEVBQUU7SUFBSyxDQUFDLENBQUMsQ0FDekNDLFdBQVcsMENBQ3VCeEIsU0FBUywrRUFBa0VZLFdBQVcsQ0FDckhULFFBQVEsSUFBSSxFQUFFLENBQ2YsbUJBQ0Y7SUFDSCxvQkFBTztNQUFLLFNBQVMsRUFBQyxxQkFBcUI7TUFBQyx1QkFBdUIsRUFBRTtRQUFFc0IsTUFBTSxFQUFFUixHQUFHLENBQUNTO01BQWdCO0lBQUUsRUFBRztFQUMxRyxDQUFDLEVBQUUsQ0FBQ3RCLGVBQWUsRUFBRUQsUUFBUSxFQUFFRyxNQUFNLEVBQUVOLFNBQVMsQ0FBQyxDQUFDO0FBQ3BEO0FBQUMifQ==
|
|
@@ -1,56 +1,39 @@
|
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
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 _excluded = ["prefixCls"];
|
|
29
|
-
|
|
30
18
|
function Textarea(props) {
|
|
31
19
|
var prefixCls = props.prefixCls,
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
other = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
34
21
|
var _useContext = (0, _react.useContext)(_Context.EditorContext),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
22
|
+
markdown = _useContext.markdown,
|
|
23
|
+
commands = _useContext.commands,
|
|
24
|
+
fullscreen = _useContext.fullscreen,
|
|
25
|
+
preview = _useContext.preview,
|
|
26
|
+
highlightEnable = _useContext.highlightEnable,
|
|
27
|
+
extraCommands = _useContext.extraCommands,
|
|
28
|
+
tabSize = _useContext.tabSize,
|
|
29
|
+
_onChange = _useContext.onChange,
|
|
30
|
+
dispatch = _useContext.dispatch;
|
|
45
31
|
var textRef = /*#__PURE__*/_react.default.createRef();
|
|
46
|
-
|
|
47
32
|
var executeRef = _react.default.useRef();
|
|
48
|
-
|
|
49
33
|
var statesRef = _react.default.useRef({
|
|
50
34
|
fullscreen: fullscreen,
|
|
51
35
|
preview: preview
|
|
52
36
|
});
|
|
53
|
-
|
|
54
37
|
(0, _react.useEffect)(function () {
|
|
55
38
|
statesRef.current = {
|
|
56
39
|
fullscreen: fullscreen,
|
|
@@ -66,26 +49,24 @@ function Textarea(props) {
|
|
|
66
49
|
textarea: textRef.current,
|
|
67
50
|
commandOrchestrator: commandOrchestrator
|
|
68
51
|
});
|
|
69
|
-
}
|
|
70
|
-
|
|
52
|
+
}
|
|
53
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
71
54
|
}, []);
|
|
72
|
-
|
|
73
55
|
var onKeyDown = function onKeyDown(e) {
|
|
74
56
|
(0, _handleKeyDown.default)(e, tabSize);
|
|
75
57
|
(0, _shortcuts.default)(e, [].concat((0, _toConsumableArray2.default)(commands || []), (0, _toConsumableArray2.default)(extraCommands || [])), executeRef.current, dispatch, statesRef.current);
|
|
76
58
|
};
|
|
77
|
-
|
|
78
59
|
(0, _react.useEffect)(function () {
|
|
79
60
|
if (textRef.current) {
|
|
80
61
|
textRef.current.addEventListener('keydown', onKeyDown);
|
|
81
62
|
}
|
|
82
|
-
|
|
83
63
|
return function () {
|
|
84
64
|
if (textRef.current) {
|
|
85
65
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
86
66
|
textRef.current.removeEventListener('keydown', onKeyDown);
|
|
87
67
|
}
|
|
88
|
-
};
|
|
68
|
+
};
|
|
69
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
89
70
|
}, []);
|
|
90
71
|
return (0, _react.useMemo)(function () {
|
|
91
72
|
return /*#__PURE__*/_react.default.createElement("textarea", (0, _extends2.default)({
|
|
@@ -101,9 +82,9 @@ function Textarea(props) {
|
|
|
101
82
|
_onChange && _onChange(e.target.value);
|
|
102
83
|
}
|
|
103
84
|
}));
|
|
104
|
-
},
|
|
85
|
+
},
|
|
86
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
105
87
|
[markdown]);
|
|
106
88
|
}
|
|
107
|
-
|
|
108
89
|
module.exports = exports.default;
|
|
109
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZXh0YXJlYSIsInByb3BzIiwicHJlZml4Q2xzIiwib3RoZXIiLCJ1c2VDb250ZXh0IiwiRWRpdG9yQ29udGV4dCIsIm1hcmtkb3duIiwiY29tbWFuZHMiLCJmdWxsc2NyZWVuIiwicHJldmlldyIsImhpZ2hsaWdodEVuYWJsZSIsImV4dHJhQ29tbWFuZHMiLCJ0YWJTaXplIiwib25DaGFuZ2UiLCJkaXNwYXRjaCIsInRleHRSZWYiLCJSZWFjdCIsImNyZWF0ZVJlZiIsImV4ZWN1dGVSZWYiLCJ1c2VSZWYiLCJzdGF0ZXNSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiY29tbWFuZE9yY2hlc3RyYXRvciIsIlRleHRBcmVhQ29tbWFuZE9yY2hlc3RyYXRvciIsInRleHRhcmVhIiwib25LZXlEb3duIiwiZSIsImhhbmRsZUtleURvd24iLCJzaG9ydGN1dHMiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVzZU1lbW8iLCJjbGFzc05hbWUiLCJ0YXJnZXQiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RleHRBcmVhL1RleHRhcmVhLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSVByb3BzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRWRpdG9yQ29udGV4dCwgRXhlY3V0ZUNvbW1hbmRTdGF0ZSB9IGZyb20gJy4uLy4uL0NvbnRleHQnO1xuaW1wb3J0IHsgVGV4dEFyZWFDb21tYW5kT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi4vLi4vY29tbWFuZHMnO1xuaW1wb3J0IGhhbmRsZUtleURvd24gZnJvbSAnLi9oYW5kbGVLZXlEb3duJztcbmltcG9ydCBzaG9ydGN1dHMgZnJvbSAnLi9zaG9ydGN1dHMnO1xuaW1wb3J0ICcuL2luZGV4Lmxlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBcmVhUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PFJlYWN0LlRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICd2YWx1ZScgfCAnb25DaGFuZ2UnPixcbiAgICBJUHJvcHMge1xuICBvbkNoYW5nZT86IChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFRleHRhcmVhKHByb3BzOiBUZXh0QXJlYVByb3BzKSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzLCAuLi5vdGhlciB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgbWFya2Rvd24sIGNvbW1hbmRzLCBmdWxsc2NyZWVuLCBwcmV2aWV3LCBoaWdobGlnaHRFbmFibGUsIGV4dHJhQ29tbWFuZHMsIHRhYlNpemUsIG9uQ2hhbmdlLCBkaXNwYXRjaCB9ID1cbiAgICB1c2VDb250ZXh0KEVkaXRvckNvbnRleHQpO1xuICBjb25zdCB0ZXh0UmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG4gIGNvbnN0IGV4ZWN1dGVSZWYgPSBSZWFjdC51c2VSZWY8VGV4dEFyZWFDb21tYW5kT3JjaGVzdHJhdG9yPigpO1xuICBjb25zdCBzdGF0ZXNSZWYgPSBSZWFjdC51c2VSZWY8RXhlY3V0ZUNvbW1hbmRTdGF0ZT4oeyBmdWxsc2NyZWVuLCBwcmV2aWV3IH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc3RhdGVzUmVmLmN1cnJlbnQgPSB7IGZ1bGxzY3JlZW4sIHByZXZpZXcsIGhpZ2hsaWdodEVuYWJsZSB9O1xuICB9LCBbZnVsbHNjcmVlbiwgcHJldmlldywgaGlnaGxpZ2h0RW5hYmxlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGV4dFJlZi5jdXJyZW50ICYmIGRpc3BhdGNoKSB7XG4gICAgICBjb25zdCBjb21tYW5kT3JjaGVzdHJhdG9yID0gbmV3IFRleHRBcmVhQ29tbWFuZE9yY2hlc3RyYXRvcih0ZXh0UmVmLmN1cnJlbnQpO1xuICAgICAgZXhlY3V0ZVJlZi5jdXJyZW50ID0gY29tbWFuZE9yY2hlc3RyYXRvcjtcbiAgICAgIGRpc3BhdGNoKHsgdGV4dGFyZWE6IHRleHRSZWYuY3VycmVudCwgY29tbWFuZE9yY2hlc3RyYXRvciB9KTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgb25LZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQgfCBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgaGFuZGxlS2V5RG93bihlLCB0YWJTaXplKTtcbiAgICBzaG9ydGN1dHMoZSwgWy4uLihjb21tYW5kcyB8fCBbXSksIC4uLihleHRyYUNvbW1hbmRzIHx8IFtdKV0sIGV4ZWN1dGVSZWYuY3VycmVudCwgZGlzcGF0Y2gsIHN0YXRlc1JlZi5jdXJyZW50KTtcbiAgfTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGV4dFJlZi5jdXJyZW50KSB7XG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodGV4dFJlZi5jdXJyZW50KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgICAgdGV4dFJlZi5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgfVxuICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHVzZU1lbW8oXG4gICAgKCkgPT4gKFxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIHNwZWxsQ2hlY2s9e2ZhbHNlfVxuICAgICAgICB7Li4ub3RoZXJ9XG4gICAgICAgIHJlZj17dGV4dFJlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXhDbHN9LXRleHQtaW5wdXQgJHtvdGhlci5jbGFzc05hbWUgPyBvdGhlci5jbGFzc05hbWUgOiAnJ31gfVxuICAgICAgICB2YWx1ZT17bWFya2Rvd259XG4gICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgIGRpc3BhdGNoICYmIGRpc3BhdGNoKHsgbWFya2Rvd246IGUudGFyZ2V0LnZhbHVlIH0pO1xuICAgICAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgW21hcmtkb3duXSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQW9DO0FBU3JCLFNBQVNBLFFBQVEsQ0FBQ0MsS0FBb0IsRUFBRTtFQUNyRCxJQUFRQyxTQUFTLEdBQWVELEtBQUssQ0FBN0JDLFNBQVM7SUFBS0MsS0FBSywwQ0FBS0YsS0FBSztFQUNyQyxrQkFDRSxJQUFBRyxpQkFBVSxFQUFDQyxzQkFBYSxDQUFDO0lBRG5CQyxRQUFRLGVBQVJBLFFBQVE7SUFBRUMsUUFBUSxlQUFSQSxRQUFRO0lBQUVDLFVBQVUsZUFBVkEsVUFBVTtJQUFFQyxPQUFPLGVBQVBBLE9BQU87SUFBRUMsZUFBZSxlQUFmQSxlQUFlO0lBQUVDLGFBQWEsZUFBYkEsYUFBYTtJQUFFQyxPQUFPLGVBQVBBLE9BQU87SUFBRUMsU0FBUSxlQUFSQSxRQUFRO0lBQUVDLFFBQVEsZUFBUkEsUUFBUTtFQUU1RyxJQUFNQyxPQUFPLGdCQUFHQyxj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
|
|
@@ -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.default = handleKeyDown;
|
|
9
|
-
|
|
10
8
|
var _InsertTextAtPosition = _interopRequireDefault(require("../../utils/InsertTextAtPosition"));
|
|
11
|
-
|
|
12
9
|
var _commands = require("../../commands");
|
|
13
|
-
|
|
14
10
|
var _list = require("../../commands/list");
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* - `13` - `Enter`
|
|
18
13
|
* - `9` - `Tab`
|
|
@@ -21,7 +16,6 @@ function stopPropagation(e) {
|
|
|
21
16
|
e.stopPropagation();
|
|
22
17
|
e.preventDefault();
|
|
23
18
|
}
|
|
24
|
-
|
|
25
19
|
function handleKeyDown(e) {
|
|
26
20
|
var tabSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
27
21
|
var target = e.target;
|
|
@@ -32,24 +26,18 @@ function handleKeyDown(e) {
|
|
|
32
26
|
/**
|
|
33
27
|
* `9` - `Tab`
|
|
34
28
|
*/
|
|
35
|
-
|
|
36
29
|
if (e.code && e.code.toLowerCase() === 'tab') {
|
|
37
30
|
stopPropagation(e);
|
|
38
31
|
var space = new Array(tabSize + 1).join(' ');
|
|
39
|
-
|
|
40
32
|
if (target.selectionStart !== target.selectionEnd) {
|
|
41
33
|
var _star = target.value.substring(0, target.selectionStart).split('\n');
|
|
42
|
-
|
|
43
34
|
var _end = target.value.substring(0, target.selectionEnd).split('\n');
|
|
44
|
-
|
|
45
35
|
var modifiedTextLine = [];
|
|
46
|
-
|
|
47
36
|
_end.forEach(function (item, idx) {
|
|
48
37
|
if (item !== _star[idx]) {
|
|
49
38
|
modifiedTextLine.push(item);
|
|
50
39
|
}
|
|
51
40
|
});
|
|
52
|
-
|
|
53
41
|
var modifiedText = modifiedTextLine.join('\n');
|
|
54
42
|
var oldSelectText = target.value.substring(target.selectionStart, target.selectionEnd);
|
|
55
43
|
var newStarNum = target.value.substring(0, target.selectionStart).length;
|
|
@@ -59,13 +47,11 @@ function handleKeyDown(e) {
|
|
|
59
47
|
});
|
|
60
48
|
var modifiedTextObj = (0, _list.insertBeforeEachLine)(modifiedText, e.shiftKey ? '' : space);
|
|
61
49
|
var text = modifiedTextObj.modifiedText;
|
|
62
|
-
|
|
63
50
|
if (e.shiftKey) {
|
|
64
51
|
text = text.split('\n').map(function (item) {
|
|
65
52
|
return item.replace(new RegExp("^".concat(space)), '');
|
|
66
53
|
}).join('\n');
|
|
67
54
|
}
|
|
68
|
-
|
|
69
55
|
textArea.replaceSelection(text);
|
|
70
56
|
var startTabSize = e.shiftKey ? -tabSize : tabSize;
|
|
71
57
|
var endTabSize = e.shiftKey ? -modifiedTextLine.length * tabSize : modifiedTextLine.length * tabSize;
|
|
@@ -82,18 +68,14 @@ function handleKeyDown(e) {
|
|
|
82
68
|
*/
|
|
83
69
|
stopPropagation(e);
|
|
84
70
|
var startStr = '\n- ';
|
|
85
|
-
|
|
86
71
|
if (currentLineStr.startsWith('*')) {
|
|
87
72
|
startStr = '\n* ';
|
|
88
73
|
}
|
|
89
|
-
|
|
90
74
|
if (/^\d+.\s/.test(currentLineStr)) {
|
|
91
75
|
startStr = "\n".concat(parseInt(currentLineStr) + 1, ". ");
|
|
92
76
|
}
|
|
93
|
-
|
|
94
77
|
return (0, _InsertTextAtPosition.default)(target, startStr);
|
|
95
78
|
}
|
|
96
79
|
}
|
|
97
|
-
|
|
98
80
|
module.exports = exports.default;
|
|
99
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9wUHJvcGFnYXRpb24iLCJlIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVLZXlEb3duIiwidGFiU2l6ZSIsInRhcmdldCIsInN0YXJWYWwiLCJ2YWx1ZSIsInN1YnN0ciIsInNlbGVjdGlvblN0YXJ0IiwidmFsQXJyIiwic3BsaXQiLCJjdXJyZW50TGluZVN0ciIsImxlbmd0aCIsInRleHRBcmVhIiwiVGV4dEFyZWFUZXh0QXBpIiwiY29kZSIsInRvTG93ZXJDYXNlIiwic3BhY2UiLCJBcnJheSIsImpvaW4iLCJzZWxlY3Rpb25FbmQiLCJfc3RhciIsInN1YnN0cmluZyIsIl9lbmQiLCJtb2RpZmllZFRleHRMaW5lIiwiZm9yRWFjaCIsIml0ZW0iLCJpZHgiLCJwdXNoIiwibW9kaWZpZWRUZXh0Iiwib2xkU2VsZWN0VGV4dCIsIm5ld1N0YXJOdW0iLCJzZXRTZWxlY3Rpb25SYW5nZSIsInN0YXJ0IiwiaW5kZXhPZiIsImVuZCIsIm1vZGlmaWVkVGV4dE9iaiIsImluc2VydEJlZm9yZUVhY2hMaW5lIiwic2hpZnRLZXkiLCJ0ZXh0IiwibWFwIiwicmVwbGFjZSIsIlJlZ0V4cCIsInJlcGxhY2VTZWxlY3Rpb24iLCJzdGFydFRhYlNpemUiLCJlbmRUYWJTaXplIiwiaW5zZXJ0VGV4dCIsInRlc3QiLCJzdGFydFN0ciIsInN0YXJ0c1dpdGgiLCJwYXJzZUludCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RleHRBcmVhL2hhbmRsZUtleURvd24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbnNlcnRUZXh0IGZyb20gJy4uLy4uL3V0aWxzL0luc2VydFRleHRBdFBvc2l0aW9uJztcbmltcG9ydCB7IFRleHRBcmVhVGV4dEFwaSB9IGZyb20gJy4uLy4uL2NvbW1hbmRzJztcbmltcG9ydCB7IGluc2VydEJlZm9yZUVhY2hMaW5lIH0gZnJvbSAnLi4vLi4vY29tbWFuZHMvbGlzdCc7XG5cbi8qKlxuICogLSBgMTNgIC0gYEVudGVyYFxuICogLSBgOWAgLSBgVGFiYFxuICovXG5mdW5jdGlvbiBzdG9wUHJvcGFnYXRpb24oZTogS2V5Ym9hcmRFdmVudCB8IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pIHtcbiAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgZS5wcmV2ZW50RGVmYXVsdCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKFxuICBlOiBLZXlib2FyZEV2ZW50IHwgUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgdGFiU2l6ZTogbnVtYmVyID0gMixcbikge1xuICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICBjb25zdCBzdGFyVmFsID0gdGFyZ2V0LnZhbHVlLnN1YnN0cigwLCB0YXJnZXQuc2VsZWN0aW9uU3RhcnQpO1xuICBjb25zdCB2YWxBcnIgPSBzdGFyVmFsLnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgY3VycmVudExpbmVTdHIgPSB2YWxBcnJbdmFsQXJyLmxlbmd0aCAtIDFdO1xuICBjb25zdCB0ZXh0QXJlYSA9IG5ldyBUZXh0QXJlYVRleHRBcGkodGFyZ2V0KTtcbiAgLyoqXG4gICAqIGA5YCAtIGBUYWJgXG4gICAqL1xuICBpZiAoZS5jb2RlICYmIGUuY29kZS50b0xvd2VyQ2FzZSgpID09PSAndGFiJykge1xuICAgIHN0b3BQcm9wYWdhdGlvbihlKTtcbiAgICBjb25zdCBzcGFjZSA9IG5ldyBBcnJheSh0YWJTaXplICsgMSkuam9pbignICAnKTtcbiAgICBpZiAodGFyZ2V0LnNlbGVjdGlvblN0YXJ0ICE9PSB0YXJnZXQuc2VsZWN0aW9uRW5kKSB7XG4gICAgICBjb25zdCBfc3RhciA9IHRhcmdldC52YWx1ZS5zdWJzdHJpbmcoMCwgdGFyZ2V0LnNlbGVjdGlvblN0YXJ0KS5zcGxpdCgnXFxuJyk7XG4gICAgICBjb25zdCBfZW5kID0gdGFyZ2V0LnZhbHVlLnN1YnN0cmluZygwLCB0YXJnZXQuc2VsZWN0aW9uRW5kKS5zcGxpdCgnXFxuJyk7XG4gICAgICBjb25zdCBtb2RpZmllZFRleHRMaW5lOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgX2VuZC5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0gIT09IF9zdGFyW2lkeF0pIHtcbiAgICAgICAgICBtb2RpZmllZFRleHRMaW5lLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgY29uc3QgbW9kaWZpZWRUZXh0ID0gbW9kaWZpZWRUZXh0TGluZS5qb2luKCdcXG4nKTtcbiAgICAgIGNvbnN0IG9sZFNlbGVjdFRleHQgPSB0YXJnZXQudmFsdWUuc3Vic3RyaW5nKHRhcmdldC5zZWxlY3Rpb25TdGFydCwgdGFyZ2V0LnNlbGVjdGlvbkVuZCk7XG4gICAgICBjb25zdCBuZXdTdGFyTnVtID0gdGFyZ2V0LnZhbHVlLnN1YnN0cmluZygwLCB0YXJnZXQuc2VsZWN0aW9uU3RhcnQpLmxlbmd0aDtcblxuICAgICAgdGV4dEFyZWEuc2V0U2VsZWN0aW9uUmFuZ2Uoe1xuICAgICAgICBzdGFydDogdGFyZ2V0LnZhbHVlLmluZGV4T2YobW9kaWZpZWRUZXh0KSxcbiAgICAgICAgZW5kOiB0YXJnZXQuc2VsZWN0aW9uRW5kLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1vZGlmaWVkVGV4dE9iaiA9IGluc2VydEJlZm9yZUVhY2hMaW5lKG1vZGlmaWVkVGV4dCwgZS5zaGlmdEtleSA/ICcnIDogc3BhY2UpO1xuXG4gICAgICBsZXQgdGV4dCA9IG1vZGlmaWVkVGV4dE9iai5tb2RpZmllZFRleHQ7XG4gICAgICBpZiAoZS5zaGlmdEtleSkge1xuICAgICAgICB0ZXh0ID0gdGV4dFxuICAgICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7c3BhY2V9YCksICcnKSlcbiAgICAgICAgICAuam9pbignXFxuJyk7XG4gICAgICB9XG4gICAgICB0ZXh0QXJlYS5yZXBsYWNlU2VsZWN0aW9uKHRleHQpO1xuXG4gICAgICBsZXQgc3RhcnRUYWJTaXplID0gZS5zaGlmdEtleSA/IC10YWJTaXplIDogdGFiU2l6ZTtcbiAgICAgIGxldCBlbmRUYWJTaXplID0gZS5zaGlmdEtleSA/IC1tb2RpZmllZFRleHRMaW5lLmxlbmd0aCAqIHRhYlNpemUgOiBtb2RpZmllZFRleHRMaW5lLmxlbmd0aCAqIHRhYlNpemU7XG5cbiAgICAgIHRleHRBcmVhLnNldFNlbGVjdGlvblJhbmdlKHtcbiAgICAgICAgc3RhcnQ6IG5ld1N0YXJOdW0gKyBzdGFydFRhYlNpemUsXG4gICAgICAgIGVuZDogbmV3U3Rhck51bSArIG9sZFNlbGVjdFRleHQubGVuZ3RoICsgZW5kVGFiU2l6ZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaW5zZXJ0VGV4dCh0YXJnZXQsIHNwYWNlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoXG4gICAgZS5jb2RlICYmXG4gICAgZS5jb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdlbnRlcicgJiZcbiAgICAoL14oLXxcXCopXFxzLy50ZXN0KGN1cnJlbnRMaW5lU3RyKSB8fCAvXlxcZCsuXFxzLy50ZXN0KGN1cnJlbnRMaW5lU3RyKSlcbiAgKSB7XG4gICAgLyoqXG4gICAgICogYDEzYCAtIGBFbnRlcmBcbiAgICAgKi9cbiAgICBzdG9wUHJvcGFnYXRpb24oZSk7XG4gICAgbGV0IHN0YXJ0U3RyID0gJ1xcbi0gJztcbiAgICBpZiAoY3VycmVudExpbmVTdHIuc3RhcnRzV2l0aCgnKicpKSB7XG4gICAgICBzdGFydFN0ciA9ICdcXG4qICc7XG4gICAgfVxuICAgIGlmICgvXlxcZCsuXFxzLy50ZXN0KGN1cnJlbnRMaW5lU3RyKSkge1xuICAgICAgc3RhcnRTdHIgPSBgXFxuJHtwYXJzZUludChjdXJyZW50TGluZVN0cikgKyAxfS4gYDtcbiAgICB9XG4gICAgcmV0dXJuIGlu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
|
|
@@ -1,55 +1,39 @@
|
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
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 _Markdown = _interopRequireDefault(require("./Markdown"));
|
|
23
|
-
|
|
24
15
|
var _Textarea = _interopRequireDefault(require("./Textarea"));
|
|
25
|
-
|
|
26
16
|
var _excluded = ["prefixCls", "className", "onScroll"];
|
|
27
|
-
|
|
28
17
|
function TextArea(props) {
|
|
29
18
|
var _ref = props || {},
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
prefixCls = _ref.prefixCls,
|
|
20
|
+
className = _ref.className,
|
|
21
|
+
onScroll = _ref.onScroll,
|
|
22
|
+
otherProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
35
23
|
var _useContext = (0, _react.useContext)(_Context.EditorContext),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
24
|
+
scrollTop = _useContext.scrollTop,
|
|
25
|
+
dispatch = _useContext.dispatch;
|
|
39
26
|
var warp = /*#__PURE__*/_react.default.createRef();
|
|
40
|
-
|
|
41
27
|
(0, _react.useEffect)(function () {
|
|
42
28
|
var state = {};
|
|
43
|
-
|
|
44
29
|
if (warp.current) {
|
|
45
30
|
state.textareaWarp = warp.current || undefined;
|
|
46
31
|
warp.current.scrollTop = scrollTop || 0;
|
|
47
32
|
}
|
|
48
|
-
|
|
49
33
|
if (dispatch) {
|
|
50
34
|
dispatch((0, _objectSpread2.default)({}, state));
|
|
51
|
-
}
|
|
52
|
-
|
|
35
|
+
}
|
|
36
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53
37
|
}, []);
|
|
54
38
|
return (0, _react.useMemo)(function () {
|
|
55
39
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -63,9 +47,9 @@ function TextArea(props) {
|
|
|
63
47
|
}), /*#__PURE__*/_react.default.createElement(_Textarea.default, (0, _extends2.default)({
|
|
64
48
|
prefixCls: prefixCls
|
|
65
49
|
}, otherProps))));
|
|
66
|
-
},
|
|
50
|
+
},
|
|
51
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
52
|
[]);
|
|
68
53
|
}
|
|
69
|
-
|
|
70
54
|
module.exports = exports.default;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZXh0QXJlYSIsInByb3BzIiwicHJlZml4Q2xzIiwiY2xhc3NOYW1lIiwib25TY3JvbGwiLCJvdGhlclByb3BzIiwidXNlQ29udGV4dCIsIkVkaXRvckNvbnRleHQiLCJzY3JvbGxUb3AiLCJkaXNwYXRjaCIsIndhcnAiLCJSZWFjdCIsImNyZWF0ZVJlZiIsInVzZUVmZmVjdCIsInN0YXRlIiwiY3VycmVudCIsInRleHRhcmVhV2FycCIsInVuZGVmaW5lZCIsInVzZU1lbW8iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9UZXh0QXJlYS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEVkaXRvckNvbnRleHQsIENvbnRleHRTdG9yZSB9IGZyb20gJy4uLy4uL0NvbnRleHQnO1xuaW1wb3J0IHsgSVByb3BzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0ICcuL2luZGV4Lmxlc3MnO1xuXG5pbXBvcnQgTWFya2Rvd24gZnJvbSAnLi9NYXJrZG93bic7XG5pbXBvcnQgVGV4dGFyZWEgZnJvbSAnLi9UZXh0YXJlYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRleHRBcmVhUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PFJlYWN0LlRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICd2YWx1ZScgfCAnb25DaGFuZ2UnIHwgJ29uU2Nyb2xsJz4sXG4gICAgSVByb3BzIHtcbiAgb25TY3JvbGw/OiAoZTogUmVhY3QuVUlFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWQ7XG4gIHZhbHVlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUZXh0QXJlYVJlZiA9IHtcbiAgdGV4dD86IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gIHdhcnA/OiBIVE1MRGl2RWxlbWVudDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFRleHRBcmVhKHByb3BzOiBJVGV4dEFyZWFQcm9wcykge1xuICBjb25zdCB7IHByZWZpeENscywgY2xhc3NOYW1lLCBvblNjcm9sbCwgLi4ub3RoZXJQcm9wcyB9ID0gcHJvcHMgfHwge307XG4gIGNvbnN0IHsgc2Nyb2xsVG9wLCBkaXNwYXRjaCB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgY29uc3Qgd2FycCA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZTogQ29udGV4dFN0b3JlID0ge307XG4gICAgaWYgKHdhcnAuY3VycmVudCkge1xuICAgICAgc3RhdGUudGV4dGFyZWFXYXJwID0gd2FycC5jdXJyZW50IHx8IHVuZGVmaW5lZDtcbiAgICAgIHdhcnAuY3VycmVudC5zY3JvbGxUb3AgPSBzY3JvbGxUb3AgfHwgMDtcbiAgICB9XG4gICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICBkaXNwYXRjaCh7IC4uLnN0YXRlIH0pO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtdKTtcbiAgcmV0dXJuIHVzZU1lbW8oXG4gICAgKCkgPT4gKFxuICAgICAgPGRpdiByZWY9e3dhcnB9IGNsYXNzTmFtZT17YCR7cHJlZml4Q2xzfS1hcmVlICR7Y2xhc3NOYW1lIHx8ICcnfWB9IG9uU2Nyb2xsPXtvblNjcm9sbH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXhDbHN9LXRleHRgfT5cbiAgICAgICAgICA8TWFya2Rvd24gcHJlZml4Q2xzPXtwcmVmaXhDbHN9IC8+XG4gICAgICAgICAgPFRleHRhcmVhIHByZWZpeENscz17cHJlZml4Q2xzfSB7Li4ub3RoZXJQcm9wc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbXSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUFrQztBQWNuQixTQUFTQSxRQUFRLENBQUNDLEtBQXFCLEVBQUU7RUFDdEQsV0FBMERBLEtBQUssSUFBSSxDQUFDLENBQUM7SUFBN0RDLFNBQVMsUUFBVEEsU0FBUztJQUFFQyxTQUFTLFFBQVRBLFNBQVM7SUFBRUMsUUFBUSxRQUFSQSxRQUFRO0lBQUtDLFVBQVU7RUFDckQsa0JBQWdDLElBQUFDLGlCQUFVLEVBQUNDLHNCQUFhLENBQUM7SUFBakRDLFNBQVMsZUFBVEEsU0FBUztJQUFFQyxRQUFRLGVBQVJBLFFBQVE7RUFDM0IsSUFBTUMsSUFBSSxnQkFBR0MsY0FBSyxDQUFDQyxTQUFTLEVBQWtCO0VBQzlDLElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQU1DLEtBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLElBQUlKLElBQUksQ0FBQ0ssT0FBTyxFQUFFO01BQ2hCRCxLQUFLLENBQUNFLFlBQVksR0FBR04sSUFBSSxDQUFDSyxPQUFPLElBQUlFLFNBQVM7TUFDOUNQLElBQUksQ0FBQ0ssT0FBTyxDQUFDUCxTQUFTLEdBQUdBLFNBQVMsSUFBSSxDQUFDO0lBQ3pDO0lBQ0EsSUFBSUMsUUFBUSxFQUFFO01BQ1pBLFFBQVEsaUNBQU1LLEtBQUssRUFBRztJQUN4QjtJQUNBO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUNOLE9BQU8sSUFBQUksY0FBTyxFQUNaO0lBQUEsb0JBQ0U7TUFBSyxHQUFHLEVBQUVSLElBQUs7TUFBQyxTQUFTLFlBQUtSLFNBQVMsbUJBQVNDLFNBQVMsSUFBSSxFQUFFLENBQUc7TUFBQyxRQUFRLEVBQUVDO0lBQVMsZ0JBQ3BGO01BQUssU0FBUyxZQUFLRixTQUFTO0lBQVEsZ0JBQ2xDLDZCQUFDLGlCQUFRO01BQUMsU0FBUyxFQUFFQTtJQUFVLEVBQUcsZUFDbEMsNkJBQUMsaUJBQVE7TUFBQyxTQUFTLEVBQUVBO0lBQVUsR0FBS0csVUFBVSxFQUFJLENBQzlDLENBQ0Y7RUFBQSxDQUNQO0VBQ0Q7RUFDQSxFQUFFLENBQ0g7QUFDSDtBQUFDIn0=
|
|
@@ -1,14 +1,11 @@
|
|
|
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.default = shortcutsHandle;
|
|
9
|
-
|
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
-
|
|
12
9
|
function getCommands() {
|
|
13
10
|
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
14
11
|
var resulte = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -21,7 +18,6 @@ function getCommands() {
|
|
|
21
18
|
});
|
|
22
19
|
return resulte;
|
|
23
20
|
}
|
|
24
|
-
|
|
25
21
|
function shortcutsHandle(e) {
|
|
26
22
|
var commands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
27
23
|
var commandOrchestrator = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -29,35 +25,27 @@ function shortcutsHandle(e) {
|
|
|
29
25
|
var state = arguments.length > 4 ? arguments[4] : undefined;
|
|
30
26
|
var data = getCommands(commands || []);
|
|
31
27
|
var shortcuts = [];
|
|
32
|
-
|
|
33
28
|
if (e.altKey) {
|
|
34
29
|
shortcuts.push('alt');
|
|
35
30
|
}
|
|
36
|
-
|
|
37
31
|
if (e.shiftKey) {
|
|
38
32
|
shortcuts.push('shift');
|
|
39
33
|
}
|
|
40
|
-
|
|
41
34
|
if (e.metaKey) {
|
|
42
35
|
shortcuts.push('cmd');
|
|
43
36
|
}
|
|
44
|
-
|
|
45
37
|
if (e.ctrlKey) {
|
|
46
38
|
shortcuts.push('ctrl');
|
|
47
39
|
}
|
|
48
|
-
|
|
49
40
|
if (shortcuts.length > 0 && !/(control|alt|meta|shift)/.test(e.key.toLocaleLowerCase())) {
|
|
50
41
|
shortcuts.push(e.key.toLocaleLowerCase());
|
|
51
42
|
}
|
|
52
|
-
|
|
53
43
|
if (/escape/.test(e.key.toLocaleLowerCase())) {
|
|
54
44
|
shortcuts.push('escape');
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
if (shortcuts.length < 1) {
|
|
58
47
|
return;
|
|
59
48
|
}
|
|
60
|
-
|
|
61
49
|
var equal = !!data[shortcuts.join('+')];
|
|
62
50
|
var command = equal ? data[shortcuts.join('+')] : undefined;
|
|
63
51
|
Object.keys(data).forEach(function (item) {
|
|
@@ -65,15 +53,12 @@ function shortcutsHandle(e) {
|
|
|
65
53
|
if (/ctrlcmd/.test(v)) {
|
|
66
54
|
return shortcuts.includes('ctrl') || shortcuts.includes('cmd');
|
|
67
55
|
}
|
|
68
|
-
|
|
69
56
|
return shortcuts.includes(v);
|
|
70
57
|
});
|
|
71
|
-
|
|
72
58
|
if (isequal) {
|
|
73
59
|
command = data[item];
|
|
74
60
|
}
|
|
75
61
|
});
|
|
76
|
-
|
|
77
62
|
if (command && commandOrchestrator) {
|
|
78
63
|
e.stopPropagation();
|
|
79
64
|
e.preventDefault();
|
|
@@ -81,6 +66,5 @@ function shortcutsHandle(e) {
|
|
|
81
66
|
return;
|
|
82
67
|
}
|
|
83
68
|
}
|
|
84
|
-
|
|
85
69
|
module.exports = exports.default;
|
|
86
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDb21tYW5kcyIsImRhdGEiLCJyZXN1bHRlIiwiZm9yRWFjaCIsIml0ZW0iLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsImtleUNvbW1hbmQiLCJzaG9ydGN1dHMiLCJleGVjdXRlIiwidG9Mb2NhbGVMb3dlckNhc2UiLCJzaG9ydGN1dHNIYW5kbGUiLCJlIiwiY29tbWFuZHMiLCJjb21tYW5kT3JjaGVzdHJhdG9yIiwiZGlzcGF0Y2giLCJzdGF0ZSIsImFsdEtleSIsInB1c2giLCJzaGlmdEtleSIsIm1ldGFLZXkiLCJjdHJsS2V5IiwibGVuZ3RoIiwidGVzdCIsImtleSIsImVxdWFsIiwiam9pbiIsImNvbW1hbmQiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwiaXNlcXVhbCIsInNwbGl0IiwiZXZlcnkiLCJ2IiwiaW5jbHVkZXMiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsImV4ZWN1dGVDb21tYW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGV4dEFyZWEvc2hvcnRjdXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb21tYW5kLCBUZXh0QXJlYUNvbW1hbmRPcmNoZXN0cmF0b3IgfSBmcm9tICcuLi8uLi9jb21tYW5kcyc7XG5pbXBvcnQgeyBDb250ZXh0U3RvcmUsIEV4ZWN1dGVDb21tYW5kU3RhdGUgfSBmcm9tICcuLi8uLi9Db250ZXh0JztcblxuZnVuY3Rpb24gZ2V0Q29tbWFuZHMoZGF0YTogSUNvbW1hbmRbXSA9IFtdLCByZXN1bHRlOiBSZWNvcmQ8c3RyaW5nLCBJQ29tbWFuZD4gPSB7fSk6IFJlY29yZDxzdHJpbmcsIElDb21tYW5kPiB7XG4gIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIGlmIChpdGVtLmNoaWxkcmVuICYmIEFycmF5LmlzQXJyYXkoaXRlbS5jaGlsZHJlbikpIHtcbiAgICAgIHJlc3VsdGUgPSB7IC4uLnJlc3VsdGUsIC4uLmdldENvbW1hbmRzKGl0ZW0uY2hpbGRyZW4gfHwgW10pIH07XG4gICAgfSBlbHNlIGlmIChpdGVtLmtleUNvbW1hbmQgJiYgaXRlbS5zaG9ydGN1dHMgJiYgaXRlbS5leGVjdXRlKSB7XG4gICAgICByZXN1bHRlW2l0ZW0uc2hvcnRjdXRzLnRvTG9jYWxlTG93ZXJDYXNlKCldID0gaXRlbTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0ZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2hvcnRjdXRzSGFuZGxlKFxuICBlOiBLZXlib2FyZEV2ZW50IHwgUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgY29tbWFuZHM6IElDb21tYW5kW10gPSBbXSxcbiAgY29tbWFuZE9yY2hlc3RyYXRvcj86IFRleHRBcmVhQ29tbWFuZE9yY2hlc3RyYXRvcixcbiAgZGlzcGF0Y2g/OiBSZWFjdC5EaXNwYXRjaDxDb250ZXh0U3RvcmU+LFxuICBzdGF0ZT86IEV4ZWN1dGVDb21tYW5kU3RhdGUsXG4pIHtcbiAgY29uc3QgZGF0YSA9IGdldENvbW1hbmRzKGNvbW1hbmRzIHx8IFtdKTtcbiAgY29uc3Qgc2hvcnRjdXRzOiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gW107XG4gIGlmIChlLmFsdEtleSkge1xuICAgIHNob3J0Y3V0cy5wdXNoKCdhbHQnKTtcbiAgfVxuICBpZiAoZS5zaGlmdEtleSkge1xuICAgIHNob3J0Y3V0cy5wdXNoKCdzaGlmdCcpO1xuICB9XG4gIGlmIChlLm1ldGFLZXkpIHtcbiAgICBzaG9ydGN1dHMucHVzaCgnY21kJyk7XG4gIH1cbiAgaWYgKGUuY3RybEtleSkge1xuICAgIHNob3J0Y3V0cy5wdXNoKCdjdHJsJyk7XG4gIH1cbiAgaWYgKHNob3J0Y3V0cy5sZW5ndGggPiAwICYmICEvKGNvbnRyb2x8YWx0fG1ldGF8c2hpZnQpLy50ZXN0KGUua2V5LnRvTG9jYWxlTG93ZXJDYXNlKCkpKSB7XG4gICAgc2hvcnRjdXRzLnB1c2goZS5rZXkudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gIH1cbiAgaWYgKC9lc2NhcGUvLnRlc3QoZS5rZXkudG9Mb2NhbGVMb3dlckNhc2UoKSkpIHtcbiAgICBzaG9ydGN1dHMucHVzaCgnZXNjYXBlJyk7XG4gIH1cbiAgaWYgKHNob3J0Y3V0cy5sZW5ndGggPCAxKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IGVxdWFsID0gISFkYXRhW3Nob3J0Y3V0cy5qb2luKCcrJyldO1xuICBsZXQgY29tbWFuZCA9IGVxdWFsID8gZGF0YVtzaG9ydGN1dHMuam9pbignKycpXSA6IHVuZGVmaW5lZDtcblxuICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgY29uc3QgaXNlcXVhbCA9IGl0ZW0uc3BsaXQoJysnKS5ldmVyeSgodikgPT4ge1xuICAgICAgaWYgKC9jdHJsY21kLy50ZXN0KHYpKSB7XG4gICAgICAgIHJldHVybiBzaG9ydGN1dHMuaW5jbHVkZXMoJ2N0cmwnKSB8fCBzaG9ydGN1dHMuaW5jbHVkZXMoJ2NtZCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNob3J0Y3V0cy5pbmNsdWRlcyh2KTtcbiAgICB9KTtcbiAgICBpZiAoaXNlcXVhbCkge1xuICAgICAgY29tbWFuZCA9IGRhdGFbaXRlbV07XG4gICAgfVxuICB9KTtcbiAgaWYgKGNvbW1hbmQgJiYgY29tbWFuZE9yY2hlc3RyYXRvcikge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbW1hbmRPcmNoZXN0cmF0b3IuZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCwgZGlzcGF0Y2gsIHN0YXRlKTtcbiAgICByZXR1cm47XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxTQUFTQSxXQUFXLEdBQTBGO0VBQUEsSUFBekZDLElBQWdCLHVFQUFHLEVBQUU7RUFBQSxJQUFFQyxPQUFpQyx1RUFBRyxDQUFDLENBQUM7RUFDaEZELElBQUksQ0FBQ0UsT0FBTyxDQUFDLFVBQUNDLElBQUksRUFBSztJQUNyQixJQUFJQSxJQUFJLENBQUNDLFFBQVEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNILElBQUksQ0FBQ0MsUUFBUSxDQUFDLEVBQUU7TUFDakRILE9BQU8sK0RBQVFBLE9BQU8sR0FBS0YsV0FBVyxDQUFDSSxJQUFJLENBQUNDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBRTtJQUMvRCxDQUFDLE1BQU0sSUFBSUQsSUFBSSxDQUFDSSxVQUFVLElBQUlKLElBQUksQ0FBQ0ssU0FBUyxJQUFJTCxJQUFJLENBQUNNLE9BQU8sRUFBRTtNQUM1RFIsT0FBTyxDQUFDRSxJQUFJLENBQUNLLFNBQVMsQ0FBQ0UsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHUCxJQUFJO0lBQ3BEO0VBQ0YsQ0FBQyxDQUFDO0VBQ0YsT0FBT0YsT0FBTztBQUNoQjtBQUVlLFNBQVNVLGVBQWUsQ0FDckNDLENBQTJELEVBSzNEO0VBQUEsSUFKQUMsUUFBb0IsdUVBQUcsRUFBRTtFQUFBLElBQ3pCQyxtQkFBaUQ7RUFBQSxJQUNqREMsUUFBdUM7RUFBQSxJQUN2Q0MsS0FBMkI7RUFFM0IsSUFBTWhCLElBQUksR0FBR0QsV0FBVyxDQUFDYyxRQUFRLElBQUksRUFBRSxDQUFDO0VBQ3hDLElBQU1MLFNBQThCLEdBQUcsRUFBRTtFQUN6QyxJQUFJSSxDQUFDLENBQUNLLE1BQU0sRUFBRTtJQUNaVCxTQUFTLENBQUNVLElBQUksQ0FBQyxLQUFLLENBQUM7RUFDdkI7RUFDQSxJQUFJTixDQUFDLENBQUNPLFFBQVEsRUFBRTtJQUNkWCxTQUFTLENBQUNVLElBQUksQ0FBQyxPQUFPLENBQUM7RUFDekI7RUFDQSxJQUFJTixDQUFDLENBQUNRLE9BQU8sRUFBRTtJQUNiWixTQUFTLENBQUNVLElBQUksQ0FBQyxLQUFLLENBQUM7RUFDdkI7RUFDQSxJQUFJTixDQUFDLENBQUNTLE9BQU8sRUFBRTtJQUNiYixTQUFTLENBQUNVLElBQUksQ0FBQyxNQUFNLENBQUM7RUFDeEI7RUFDQSxJQUFJVixTQUFTLENBQUNjLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQ0MsSUFBSSxDQUFDWCxDQUFDLENBQUNZLEdBQUcsQ0FBQ2QsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFO0lBQ3ZGRixTQUFTLENBQUNVLElBQUksQ0FBQ04sQ0FBQyxDQUFDWSxHQUFHLENBQUNkLGlCQUFpQixFQUFFLENBQUM7RUFDM0M7RUFDQSxJQUFJLFFBQVEsQ0FBQ2EsSUFBSSxDQUFDWCxDQUFDLENBQUNZLEdBQUcsQ0FBQ2QsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFO0lBQzVDRixTQUFTLENBQUNVLElBQUksQ0FBQyxRQUFRLENBQUM7RUFDMUI7RUFDQSxJQUFJVixTQUFTLENBQUNjLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDeEI7RUFDRjtFQUVBLElBQUlHLEtBQUssR0FBRyxDQUFDLENBQUN6QixJQUFJLENBQUNRLFNBQVMsQ0FBQ2tCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUN2QyxJQUFJQyxPQUFPLEdBQUdGLEtBQUssR0FBR3pCLElBQUksQ0FBQ1EsU0FBUyxDQUFDa0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUdFLFNBQVM7RUFFM0RDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDOUIsSUFBSSxDQUFDLENBQUNFLE9BQU8sQ0FBQyxVQUFDQyxJQUFJLEVBQUs7SUFDbEMsSUFBTTRCLE9BQU8sR0FBRzVCLElBQUksQ0FBQzZCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsS0FBSyxDQUFDLFVBQUNDLENBQUMsRUFBSztNQUMzQyxJQUFJLFNBQVMsQ0FBQ1gsSUFBSSxDQUFDVyxDQUFDLENBQUMsRUFBRTtRQUNyQixPQUFPMUIsU0FBUyxDQUFDMkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJM0IsU0FBUyxDQUFDMkIsUUFBUSxDQUFDLEtBQUssQ0FBQztNQUNoRTtNQUNBLE9BQU8zQixTQUFTLENBQUMyQixRQUFRLENBQUNELENBQUMsQ0FBQztJQUM5QixDQUFDLENBQUM7SUFDRixJQUFJSCxPQUFPLEVBQUU7TUFDWEosT0FBTyxHQUFHM0IsSUFBSSxDQUFDRyxJQUFJLENBQUM7SUFDdEI7RUFDRixDQUFDLENBQUM7RUFDRixJQUFJd0IsT0FBTyxJQUFJYixtQkFBbUIsRUFBRTtJQUNsQ0YsQ0FBQyxDQUFDd0IsZUFBZSxFQUFFO0lBQ25CeEIsQ0FBQyxDQUFDeUIsY0FBYyxFQUFFO0lBQ2xCdkIsbUJBQW1CLENBQUN3QixjQUFjLENBQUNYLE9BQU8sRUFBRVosUUFBUSxFQUFFQyxLQUFLLENBQUM7SUFDNUQ7RUFDRjtBQUNGO0FBQUMifQ==
|