@uiw/react-md-editor 3.9.1 → 3.9.2

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.
@@ -81,6 +81,12 @@ export default function handleKeyDown(e, tabSize, defaultTabEnable) {
81
81
  startStr = '\n* ';
82
82
  }
83
83
 
84
+ if (currentLineStr.startsWith('- [ ]')) {
85
+ startStr = '\n- [ ] ';
86
+ } else if (currentLineStr.startsWith('- [X]')) {
87
+ startStr = '\n- [X] ';
88
+ }
89
+
84
90
  if (/^\d+.\s/.test(currentLineStr)) {
85
91
  startStr = "\n" + (parseInt(currentLineStr) + 1) + ". ";
86
92
  }
@@ -58,8 +58,8 @@
58
58
  "startsWith",
59
59
  "parseInt"
60
60
  ],
61
- "mappings": "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",
61
+ "mappings": "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",
62
62
  "sourcesContent": [
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.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 if (currentLineStr.startsWith('*')) {\n startStr = '\\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.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"
64
64
  ]
65
65
  }
@@ -33,8 +33,7 @@
33
33
  font-weight: inherit;
34
34
  letter-spacing: inherit;
35
35
  line-height: inherit;
36
- -moz-tab-size: inherit;
37
- tab-size: inherit;
36
+ tab-size: inherit;
38
37
  text-indent: inherit;
39
38
  text-rendering: inherit;
40
39
  text-transform: inherit;
@@ -86,6 +86,12 @@ function handleKeyDown(e) {
86
86
  startStr = '\n* ';
87
87
  }
88
88
 
89
+ if (currentLineStr.startsWith('- [ ]')) {
90
+ startStr = '\n- [ ] ';
91
+ } else if (currentLineStr.startsWith('- [X]')) {
92
+ startStr = '\n- [X] ';
93
+ }
94
+
89
95
  if (/^\d+.\s/.test(currentLineStr)) {
90
96
  startStr = "\n".concat(parseInt(currentLineStr) + 1, ". ");
91
97
  }
@@ -56,8 +56,8 @@
56
56
  "startsWith",
57
57
  "parseInt"
58
58
  ],
59
- "mappings": "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",
59
+ "mappings": "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",
60
60
  "sourcesContent": [
61
- "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 if (currentLineStr.startsWith('*')) {\n startStr = '\\n* ';\n }\n if (/^\\d+.\\s/.test(currentLineStr)) {\n startStr = `\\n${parseInt(currentLineStr) + 1}. `;\n }\n return insertTextAtPosition(target, startStr);\n }\n}\n"
61
+ "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"
62
62
  ]
63
63
  }
@@ -50,8 +50,7 @@
50
50
  font-weight: inherit;
51
51
  letter-spacing: inherit;
52
52
  line-height: inherit;
53
- -moz-tab-size: inherit;
54
- tab-size: inherit;
53
+ tab-size: inherit;
55
54
  text-indent: inherit;
56
55
  text-rendering: inherit;
57
56
  text-transform: inherit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uiw/react-md-editor",
3
- "version": "3.9.1",
3
+ "version": "3.9.2",
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>",
@@ -39,33 +39,33 @@
39
39
  "react-dom": ">=16.8.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@kkt/less-modules": "6.11.0",
43
- "@kkt/raw-modules": "6.11.0",
44
- "@kkt/react-library": "6.11.0",
45
- "@kkt/scope-plugin-options": "6.11.0",
42
+ "@kkt/less-modules": "7.0.4",
43
+ "@kkt/raw-modules": "7.0.4",
44
+ "@kkt/react-library": "7.0.4",
45
+ "@kkt/scope-plugin-options": "7.0.4",
46
46
  "@types/katex": "0.11.1",
47
- "@types/react": "17.0.37",
47
+ "@types/react": "17.0.38",
48
48
  "@types/react-dom": "17.0.11",
49
49
  "@types/react-test-renderer": "17.0.1",
50
50
  "@uiw/react-github-corners": "1.5.3",
51
- "@uiw/react-codesandbox": "1.1.0",
51
+ "@uiw/react-codesandbox": "1.1.4",
52
52
  "@uiw/react-shields": "1.1.2",
53
- "compile-less-cli": "1.8.9",
53
+ "compile-less-cli": "1.8.11",
54
54
  "katex": "0.15.1",
55
55
  "husky": "7.0.4",
56
56
  "jest-environment-jsdom": "27.4.4",
57
- "kkt": "6.11.0",
58
- "lint-staged": "12.1.2",
57
+ "kkt": "7.0.4",
58
+ "lint-staged": "12.1.5",
59
59
  "prettier": "2.5.1",
60
60
  "react": "17.0.2",
61
61
  "react-dom": "17.0.2",
62
62
  "react-test-renderer": "17.0.2",
63
63
  "source-map-explorer": "2.5.2",
64
- "tsbb": "3.5.2"
64
+ "tsbb": "3.5.4"
65
65
  },
66
66
  "dependencies": {
67
67
  "@babel/runtime": "^7.14.6",
68
- "@uiw/react-markdown-preview": "3.4.5",
68
+ "@uiw/react-markdown-preview": "3.4.6",
69
69
  "rehype-sanitize": "5.0.1",
70
70
  "rehype": "12.0.0"
71
71
  },
@@ -77,9 +77,17 @@ export default function handleKeyDown(
77
77
  */
78
78
  stopPropagation(e);
79
79
  let startStr = '\n- ';
80
+
80
81
  if (currentLineStr.startsWith('*')) {
81
82
  startStr = '\n* ';
82
83
  }
84
+
85
+ if (currentLineStr.startsWith('- [ ]')) {
86
+ startStr = '\n- [ ] ';
87
+ } else if (currentLineStr.startsWith('- [X]')) {
88
+ startStr = '\n- [X] ';
89
+ }
90
+
83
91
  if (/^\d+.\s/.test(currentLineStr)) {
84
92
  startStr = `\n${parseInt(currentLineStr) + 1}. `;
85
93
  }