@uiw/react-md-editor 3.19.7 → 3.19.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.
@@ -60,7 +60,7 @@ export default function handleKeyDown(e, tabSize, defaultTabEnable) {
60
60
  } else {
61
61
  return insertTextAtPosition(target, space);
62
62
  }
63
- } else if (e.code && e.code.toLowerCase() === 'enter' && (/^(-|\*)\s/.test(currentLineStr) || /^\d+.\s/.test(currentLineStr))) {
63
+ } else if (e.keyCode === 13 && e.code.toLowerCase() === 'enter' && (/^(-|\*)\s/.test(currentLineStr) || /^\d+.\s/.test(currentLineStr))) {
64
64
  /**
65
65
  * `13` - `Enter`
66
66
  */
@@ -50,6 +50,7 @@
50
50
  "replaceSelection",
51
51
  "startTabSize",
52
52
  "endTabSize",
53
+ "keyCode",
53
54
  "test",
54
55
  "startStr",
55
56
  "startsWith",
@@ -59,7 +60,7 @@
59
60
  "../../../src/components/TextArea/handleKeyDown.tsx"
60
61
  ],
61
62
  "sourcesContent": [
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
+ "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.keyCode === 13 &&\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
64
  ],
64
- "mappings": "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"
65
+ "mappings": "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"
65
66
  }
@@ -63,7 +63,7 @@ function handleKeyDown(e) {
63
63
  } else {
64
64
  return (0, _InsertTextAtPosition.insertTextAtPosition)(target, space);
65
65
  }
66
- } else if (e.code && e.code.toLowerCase() === 'enter' && (/^(-|\*)\s/.test(currentLineStr) || /^\d+.\s/.test(currentLineStr))) {
66
+ } else if (e.keyCode === 13 && e.code.toLowerCase() === 'enter' && (/^(-|\*)\s/.test(currentLineStr) || /^\d+.\s/.test(currentLineStr))) {
67
67
  /**
68
68
  * `13` - `Enter`
69
69
  */
@@ -50,6 +50,7 @@
50
50
  "startTabSize",
51
51
  "endTabSize",
52
52
  "insertTextAtPosition",
53
+ "keyCode",
53
54
  "test",
54
55
  "startStr",
55
56
  "startsWith",
@@ -59,7 +60,7 @@
59
60
  "../../../src/components/TextArea/handleKeyDown.tsx"
60
61
  ],
61
62
  "sourcesContent": [
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
+ "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.keyCode === 13 &&\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
64
  ],
64
- "mappings": "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"
65
+ "mappings": "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"
65
66
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uiw/react-md-editor",
3
- "version": "3.19.7",
3
+ "version": "3.19.8",
4
4
  "description": "A markdown editor with preview, implemented with React.js and TypeScript.",
5
5
  "homepage": "https://uiwjs.github.io/react-md-editor/",
6
6
  "author": "kenny wang <wowohoo@qq.com>",
@@ -68,7 +68,7 @@ export default function handleKeyDown(
68
68
  return insertTextAtPosition(target, space);
69
69
  }
70
70
  } else if (
71
- e.code &&
71
+ e.keyCode === 13 &&
72
72
  e.code.toLowerCase() === 'enter' &&
73
73
  (/^(-|\*)\s/.test(currentLineStr) || /^\d+.\s/.test(currentLineStr))
74
74
  ) {