@uiw/react-codemirror 3.2.7 → 3.2.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 CHANGED
@@ -29,7 +29,7 @@ npm install @uiw/react-codemirror --save
29
29
 
30
30
  ## Usage
31
31
 
32
- [![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-vgr4n?fontsize=14&hidenavigation=1&theme=dark)
32
+ [![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-v3-vgr4n?fontsize=14&hidenavigation=1&theme=dark)
33
33
 
34
34
  ```jsx
35
35
  import CodeMirror from '@uiw/react-codemirror';
@@ -763,6 +763,15 @@ state: any;
763
763
  - [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.
764
764
  - [@uiw/react-markdown-preview](https://github.com/jaywcjlove/react-monacoeditor): React component preview markdown text in web browser.
765
765
 
766
+
767
+ ## Contributors
768
+
769
+ As always, thanks to our amazing contributors!
770
+
771
+ <a href="https://github.com/uiwjs/react-codemirror/graphs/contributors">
772
+ <img src="https://uiwjs.github.io/react-codemirror/CONTRIBUTORS.svg" />
773
+ </a>
774
+
766
775
  ## License
767
776
 
768
777
  Licensed under the MIT License.
package/esm/index.js.map CHANGED
@@ -1,8 +1,5 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [
4
- "../src/index.js"
5
- ],
6
3
  "names": [
7
4
  "React",
8
5
  "useRef",
@@ -68,8 +65,11 @@
68
65
  "getValue",
69
66
  "forwardRef"
70
67
  ],
71
- "mappings": "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",
68
+ "sources": [
69
+ "../src/index.js"
70
+ ],
72
71
  "sourcesContent": [
73
72
  "import React, { useRef, useEffect, useImperativeHandle, useState, useMemo } from 'react';\nimport CodeMirror from 'codemirror';\nimport 'codemirror/mode/meta';\nimport './codemirror.css';\n\nconst defaultOptions = {\n tabSize: 2,\n autoCloseBrackets: true,\n matchBrackets: true,\n showCursorWhenSelecting: true,\n // 显示行号\n lineNumbers: true,\n fullScreen: true,\n}\n\nfunction ReactCodeMirror(props = {}, ref) {\n const { options = {}, value = '', width = '100%', height = '100%', lazyLoadMode = true } = props;\n const [editor, setEditor] = useState();\n const textareaRef = useRef();\n const lastestProps = useRef(props);\n\n useImperativeHandle(ref, () => ({ editor, textarea: textareaRef.current }), [editor, textareaRef]);\n lastestProps.current = props;\n \n // 将props中所有的事件处理函数映射并保存\n function getEventHandleFromProps() {\n const propNames = Object.keys(props);\n const eventHandle = propNames.filter((keyName) => {\n return /^on+/.test(keyName);\n });\n\n const eventDict = {};\n eventHandle.forEach((ele) => {\n const name = ele.slice(2);\n if (name && name[0]) {\n eventDict[ele] = name.replace(name[0], name[0].toLowerCase());\n }\n });\n\n return eventDict;\n }\n\n // http://codemirror.net/doc/manual.html#config\n async function setOptions(instance, opt = {}) {\n if (typeof opt === 'object' && window) {\n const mode = CodeMirror.findModeByName(opt.mode || '');\n if (lazyLoadMode && mode && mode.mode) {\n await import(`codemirror/mode/${mode.mode}/${mode.mode}.js`);\n }\n if (mode) {\n opt.mode = mode.mime;\n }\n Object.keys(opt).forEach((name) => {\n if ((opt[name] || opt[name] === false) && JSON.stringify(opt[name])) {\n instance.setOption(name, opt[name]);\n }\n });\n }\n }\n\n useEffect(() => {\n if (!editor && window) {\n // 生成codemirror实例\n const instance = CodeMirror.fromTextArea(textareaRef.current, {...defaultOptions, ...options});\n const eventDict = getEventHandleFromProps();\n Object.keys(eventDict).forEach((event) => {\n instance.on(eventDict[event], (...params) => lastestProps.current[event](...params));\n });\n instance.setValue(value || '');\n\n if (width || height) {\n // 设置尺寸\n instance.setSize(width, height);\n }\n setEditor(instance);\n setOptions(instance, {...defaultOptions, ...options});\n }\n return () => {\n if (editor && window) {\n editor.toTextArea();\n setEditor(undefined);\n }\n }\n }, []);\n\n useMemo(() => {\n if (!editor || !window) return;\n const val = editor.getValue();\n if (value !== undefined && value !== val) {\n editor.setValue(value);\n }\n }, [value]);\n\n useMemo(() => {\n if (!editor || !window) return;\n editor.setSize(width, height);\n }, [width, height]);\n\n\n useMemo(() => {\n if (!editor || !window) return;\n setOptions(editor, {...defaultOptions, ...options});\n }, [editor, options]);\n \n return (\n <textarea ref={textareaRef} />\n );\n}\n\nexport default React.forwardRef(ReactCodeMirror);\n"
74
- ]
73
+ ],
74
+ "mappings": "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"
75
75
  }
package/lib/index.js CHANGED
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
13
 
14
14
  var _interopRequireWildcard2 = _interopRequireDefault(require("@babel/runtime/helpers/interopRequireWildcard"));
15
15
 
@@ -90,11 +90,11 @@ function ReactCodeMirror() {
90
90
  }
91
91
 
92
92
  function _setOptions() {
93
- _setOptions = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(instance) {
93
+ _setOptions = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(instance) {
94
94
  var opt,
95
95
  mode,
96
96
  _args = arguments;
97
- return _regenerator.default.wrap(function _callee$(_context) {
97
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
98
98
  while (1) {
99
99
  switch (_context.prev = _context.next) {
100
100
  case 0:
package/lib/index.js.map CHANGED
@@ -1,8 +1,5 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [
4
- "../src/index.js"
5
- ],
6
3
  "names": [
7
4
  "defaultOptions",
8
5
  "tabSize",
@@ -19,10 +16,13 @@
19
16
  "width",
20
17
  "height",
21
18
  "lazyLoadMode",
19
+ "useState",
22
20
  "editor",
23
21
  "setEditor",
24
22
  "textareaRef",
23
+ "useRef",
25
24
  "lastestProps",
25
+ "useImperativeHandle",
26
26
  "textarea",
27
27
  "current",
28
28
  "getEventHandleFromProps",
@@ -51,6 +51,7 @@
51
51
  "JSON",
52
52
  "stringify",
53
53
  "setOption",
54
+ "useEffect",
54
55
  "fromTextArea",
55
56
  "event",
56
57
  "on",
@@ -58,13 +59,17 @@
58
59
  "setSize",
59
60
  "toTextArea",
60
61
  "undefined",
62
+ "useMemo",
61
63
  "val",
62
64
  "getValue",
63
65
  "React",
64
66
  "forwardRef"
65
67
  ],
66
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;AAGA,IAAMA,cAAc,GAAG;AACrBC,EAAAA,OAAO,EAAE,CADY;AAErBC,EAAAA,iBAAiB,EAAE,IAFE;AAGrBC,EAAAA,aAAa,EAAE,IAHM;AAIrBC,EAAAA,uBAAuB,EAAE,IAJJ;AAKrB;AACAC,EAAAA,WAAW,EAAE,IANQ;AAOrBC,EAAAA,UAAU,EAAE;AAPS,CAAvB;;AAUA,SAASC,eAAT,GAA0C;AAAA,MAAjBC,KAAiB,uEAAT,EAAS;AAAA,MAALC,GAAK;AACxC,uBAA2FD,KAA3F,CAAQE,OAAR;AAAA,MAAQA,OAAR,+BAAkB,EAAlB;AAAA,qBAA2FF,KAA3F,CAAsBG,KAAtB;AAAA,MAAsBA,KAAtB,6BAA8B,EAA9B;AAAA,qBAA2FH,KAA3F,CAAkCI,KAAlC;AAAA,MAAkCA,KAAlC,6BAA0C,MAA1C;AAAA,sBAA2FJ,KAA3F,CAAkDK,MAAlD;AAAA,MAAkDA,MAAlD,8BAA2D,MAA3D;AAAA,4BAA2FL,KAA3F,CAAmEM,YAAnE;AAAA,MAAmEA,YAAnE,oCAAkF,IAAlF;;AACA,kBAA4B,sBAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,WAAW,GAAG,oBAApB;AACA,MAAMC,YAAY,GAAG,mBAAOV,KAAP,CAArB;AAEA,kCAAoBC,GAApB,EAAyB;AAAA,WAAO;AAAEM,MAAAA,MAAM,EAANA,MAAF;AAAUI,MAAAA,QAAQ,EAAEF,WAAW,CAACG;AAAhC,KAAP;AAAA,GAAzB,EAA4E,CAACL,MAAD,EAASE,WAAT,CAA5E;AACAC,EAAAA,YAAY,CAACE,OAAb,GAAuBZ,KAAvB,CAPwC,CASxC;;AACA,WAASa,uBAAT,GAAmC;AACjC,QAAMC,SAAS,GAAGC,MAAM,CAACC,IAAP,CAAYhB,KAAZ,CAAlB;AACA,QAAMiB,WAAW,GAAGH,SAAS,CAACI,MAAV,CAAiB,UAACC,OAAD,EAAa;AAChD,aAAO,OAAOC,IAAP,CAAYD,OAAZ,CAAP;AACD,KAFmB,CAApB;AAIA,QAAME,SAAS,GAAG,EAAlB;AACAJ,IAAAA,WAAW,CAACK,OAAZ,CAAoB,UAACC,GAAD,EAAS;AAC3B,UAAMC,IAAI,GAAGD,GAAG,CAACE,KAAJ,CAAU,CAAV,CAAb;;AACA,UAAID,IAAI,IAAIA,IAAI,CAAC,CAAD,CAAhB,EAAqB;AACnBH,QAAAA,SAAS,CAACE,GAAD,CAAT,GAAiBC,IAAI,CAACE,OAAL,CAAaF,IAAI,CAAC,CAAD,CAAjB,EAAsBA,IAAI,CAAC,CAAD,CAAJ,CAAQG,WAAR,EAAtB,CAAjB;AACD;AACF,KALD;AAOA,WAAON,SAAP;AACD,GAzBuC,CA2BxC;;;AA3BwC,WA4BzBO,UA5ByB;AAAA;AAAA;;AAAA;AAAA,0FA4BxC,iBAA0BC,QAA1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoCC,cAAAA,GAApC,2DAA0C,EAA1C;;AAAA,oBACM,sBAAOA,GAAP,MAAe,QAAf,IAA2BC,MADjC;AAAA;AAAA;AAAA;;AAEUC,cAAAA,IAFV,GAEiBC,oBAAWC,cAAX,CAA0BJ,GAAG,CAACE,IAAJ,IAAY,EAAtC,CAFjB;;AAAA,oBAGQ1B,YAAY,IAAI0B,IAAhB,IAAwBA,IAAI,CAACA,IAHrC;AAAA;AAAA;AAAA;;AAAA;AAAA,+DAIsCA,IAAI,CAACA,IAJ3C,cAImDA,IAAI,CAACA,IAJxD;AAAA;AAAA;;AAAA;AAMI,kBAAIA,IAAJ,EAAU;AACRF,gBAAAA,GAAG,CAACE,IAAJ,GAAWA,IAAI,CAACG,IAAhB;AACD;;AACDpB,cAAAA,MAAM,CAACC,IAAP,CAAYc,GAAZ,EAAiBR,OAAjB,CAAyB,UAACE,IAAD,EAAU;AACjC,oBAAI,CAACM,GAAG,CAACN,IAAD,CAAH,IAAaM,GAAG,CAACN,IAAD,CAAH,KAAc,KAA5B,KAAsCY,IAAI,CAACC,SAAL,CAAeP,GAAG,CAACN,IAAD,CAAlB,CAA1C,EAAqE;AACnEK,kBAAAA,QAAQ,CAACS,SAAT,CAAmBd,IAAnB,EAAyBM,GAAG,CAACN,IAAD,CAA5B;AACD;AACF,eAJD;;AATJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KA5BwC;AAAA;AAAA;;AA6CxC,wBAAU,YAAM;AACd,QAAI,CAACjB,MAAD,IAAWwB,MAAf,EAAuB;AACrB;AACA,UAAMF,QAAQ,GAAGI,oBAAWM,YAAX,CAAwB9B,WAAW,CAACG,OAApC,8DAAiDpB,cAAjD,GAAoEU,OAApE,EAAjB;;AACA,UAAMmB,SAAS,GAAGR,uBAAuB,EAAzC;AACAE,MAAAA,MAAM,CAACC,IAAP,CAAYK,SAAZ,EAAuBC,OAAvB,CAA+B,UAACkB,KAAD,EAAW;AACxCX,QAAAA,QAAQ,CAACY,EAAT,CAAYpB,SAAS,CAACmB,KAAD,CAArB,EAA8B;AAAA;;AAAA,iBAAe,yBAAA9B,YAAY,CAACE,OAAb,EAAqB4B,KAArB,yCAAf;AAAA,SAA9B;AACD,OAFD;AAGAX,MAAAA,QAAQ,CAACa,QAAT,CAAkBvC,KAAK,IAAI,EAA3B;;AAEA,UAAIC,KAAK,IAAIC,MAAb,EAAqB;AACnB;AACAwB,QAAAA,QAAQ,CAACc,OAAT,CAAiBvC,KAAjB,EAAwBC,MAAxB;AACD;;AACDG,MAAAA,SAAS,CAACqB,QAAD,CAAT;AACAD,MAAAA,UAAU,CAACC,QAAD,8DAAerC,cAAf,GAAkCU,OAAlC,EAAV;AACD;;AACD,WAAO,YAAM;AACX,UAAIK,MAAM,IAAIwB,MAAd,EAAsB;AACpBxB,QAAAA,MAAM,CAACqC,UAAP;AACApC,QAAAA,SAAS,CAACqC,SAAD,CAAT;AACD;AACF,KALD;AAMD,GAvBD,EAuBG,EAvBH;AAyBA,sBAAQ,YAAM;AACZ,QAAI,CAACtC,MAAD,IAAW,CAACwB,MAAhB,EAAwB;AACxB,QAAMe,GAAG,GAAGvC,MAAM,CAACwC,QAAP,EAAZ;;AACA,QAAI5C,KAAK,KAAK0C,SAAV,IAAuB1C,KAAK,KAAK2C,GAArC,EAA0C;AACxCvC,MAAAA,MAAM,CAACmC,QAAP,CAAgBvC,KAAhB;AACD;AACF,GAND,EAMG,CAACA,KAAD,CANH;AAQA,sBAAQ,YAAM;AACZ,QAAI,CAACI,MAAD,IAAW,CAACwB,MAAhB,EAAwB;AACxBxB,IAAAA,MAAM,CAACoC,OAAP,CAAevC,KAAf,EAAsBC,MAAtB;AACD,GAHD,EAGG,CAACD,KAAD,EAAQC,MAAR,CAHH;AAMA,sBAAQ,YAAM;AACZ,QAAI,CAACE,MAAD,IAAW,CAACwB,MAAhB,EAAwB;AACxBH,IAAAA,UAAU,CAACrB,MAAD,8DAAaf,cAAb,GAAgCU,OAAhC,EAAV;AACD,GAHD,EAGG,CAACK,MAAD,EAASL,OAAT,CAHH;AAKA,sBACE;AAAU,IAAA,GAAG,EAAEO;AAAf,IADF;AAGD;;4BAEcuC,eAAMC,UAAN,CAAiBlD,eAAjB,C",
68
+ "sources": [
69
+ "../src/index.js"
70
+ ],
67
71
  "sourcesContent": [
68
72
  "import React, { useRef, useEffect, useImperativeHandle, useState, useMemo } from 'react';\nimport CodeMirror from 'codemirror';\nimport 'codemirror/mode/meta';\nimport './codemirror.css';\n\nconst defaultOptions = {\n tabSize: 2,\n autoCloseBrackets: true,\n matchBrackets: true,\n showCursorWhenSelecting: true,\n // 显示行号\n lineNumbers: true,\n fullScreen: true,\n}\n\nfunction ReactCodeMirror(props = {}, ref) {\n const { options = {}, value = '', width = '100%', height = '100%', lazyLoadMode = true } = props;\n const [editor, setEditor] = useState();\n const textareaRef = useRef();\n const lastestProps = useRef(props);\n\n useImperativeHandle(ref, () => ({ editor, textarea: textareaRef.current }), [editor, textareaRef]);\n lastestProps.current = props;\n \n // 将props中所有的事件处理函数映射并保存\n function getEventHandleFromProps() {\n const propNames = Object.keys(props);\n const eventHandle = propNames.filter((keyName) => {\n return /^on+/.test(keyName);\n });\n\n const eventDict = {};\n eventHandle.forEach((ele) => {\n const name = ele.slice(2);\n if (name && name[0]) {\n eventDict[ele] = name.replace(name[0], name[0].toLowerCase());\n }\n });\n\n return eventDict;\n }\n\n // http://codemirror.net/doc/manual.html#config\n async function setOptions(instance, opt = {}) {\n if (typeof opt === 'object' && window) {\n const mode = CodeMirror.findModeByName(opt.mode || '');\n if (lazyLoadMode && mode && mode.mode) {\n await import(`codemirror/mode/${mode.mode}/${mode.mode}.js`);\n }\n if (mode) {\n opt.mode = mode.mime;\n }\n Object.keys(opt).forEach((name) => {\n if ((opt[name] || opt[name] === false) && JSON.stringify(opt[name])) {\n instance.setOption(name, opt[name]);\n }\n });\n }\n }\n\n useEffect(() => {\n if (!editor && window) {\n // 生成codemirror实例\n const instance = CodeMirror.fromTextArea(textareaRef.current, {...defaultOptions, ...options});\n const eventDict = getEventHandleFromProps();\n Object.keys(eventDict).forEach((event) => {\n instance.on(eventDict[event], (...params) => lastestProps.current[event](...params));\n });\n instance.setValue(value || '');\n\n if (width || height) {\n // 设置尺寸\n instance.setSize(width, height);\n }\n setEditor(instance);\n setOptions(instance, {...defaultOptions, ...options});\n }\n return () => {\n if (editor && window) {\n editor.toTextArea();\n setEditor(undefined);\n }\n }\n }, []);\n\n useMemo(() => {\n if (!editor || !window) return;\n const val = editor.getValue();\n if (value !== undefined && value !== val) {\n editor.setValue(value);\n }\n }, [value]);\n\n useMemo(() => {\n if (!editor || !window) return;\n editor.setSize(width, height);\n }, [width, height]);\n\n\n useMemo(() => {\n if (!editor || !window) return;\n setOptions(editor, {...defaultOptions, ...options});\n }, [editor, options]);\n \n return (\n <textarea ref={textareaRef} />\n );\n}\n\nexport default React.forwardRef(ReactCodeMirror);\n"
69
- ]
73
+ ],
74
+ "mappings": "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"
70
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uiw/react-codemirror",
3
- "version": "3.2.7",
3
+ "version": "3.2.8",
4
4
  "description": "CodeMirror component for React.",
5
5
  "homepage": "https://uiwjs.github.io/react-codemirror",
6
6
  "main": "lib/index.js",
@@ -41,8 +41,8 @@
41
41
  "codemirror": ">=5.49.2"
42
42
  },
43
43
  "dependencies": {
44
- "@babel/runtime": "7.15.4",
45
- "codemirror": "5.63.0"
44
+ "@babel/runtime": "^7.18.9",
45
+ "codemirror": "^5.65.7"
46
46
  },
47
47
  "eslintConfig": {
48
48
  "extends": [
@@ -51,16 +51,16 @@
51
51
  ]
52
52
  },
53
53
  "devDependencies": {
54
- "@kkt/less-modules": "6.11.0",
55
- "@kkt/raw-modules": "6.11.0",
56
- "@kkt/scope-plugin-options": "6.11.0",
57
- "@types/codemirror": "5.60.2",
58
- "@uiw/react-github-corners": "1.4.0",
59
- "@uiw/react-markdown-preview": "3.3.0",
60
- "@uiw/react-shields": "1.1.1",
54
+ "@kkt/less-modules": "^7.2.0",
55
+ "@kkt/raw-modules": "^7.2.0",
56
+ "@kkt/scope-plugin-options": "^7.2.0",
57
+ "@types/codemirror": "5.60.3",
58
+ "@uiw/react-github-corners": "1.5.3",
59
+ "@uiw/react-markdown-preview": "3.3.3",
60
+ "@uiw/react-shields": "1.1.2",
61
61
  "@uiw/reset.css": "1.0.5",
62
- "code-example": "3.0.6",
63
- "kkt": "6.11.0",
62
+ "code-example": "^3.3.6",
63
+ "kkt": "^7.2.0",
64
64
  "react": "17.0.2",
65
65
  "react-dom": "17.0.2",
66
66
  "tsbb": "3.3.7"