@uiw/react-codemirror 4.7.0 → 4.9.0
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 +67 -8
- package/cjs/basicSetup.d.ts +65 -0
- package/cjs/basicSetup.js +119 -0
- package/cjs/basicSetup.js.map +49 -0
- package/cjs/index.d.ts +7 -4
- package/cjs/index.js +9 -37
- package/cjs/index.js.map +10 -6
- package/cjs/theme/light.js.map +5 -5
- package/cjs/useCodeMirror.d.ts +1 -2
- package/cjs/useCodeMirror.js +19 -9
- package/cjs/useCodeMirror.js.map +12 -8
- package/dist/{codemirror.js → mdeditor.js} +4019 -359
- package/dist/mdeditor.min.js +2 -0
- package/dist/{codemirror.min.js.LICENSE.txt → mdeditor.min.js.LICENSE.txt} +0 -0
- package/esm/basicSetup.d.ts +65 -0
- package/esm/basicSetup.js +103 -0
- package/esm/basicSetup.js.map +49 -0
- package/esm/index.d.ts +7 -4
- package/esm/index.js +1 -3
- package/esm/index.js.map +6 -6
- package/esm/theme/light.js.map +5 -5
- package/esm/useCodeMirror.d.ts +1 -2
- package/esm/useCodeMirror.js +13 -3
- package/esm/useCodeMirror.js.map +10 -8
- package/package.json +25 -90
- package/src/basicSetup.ts +136 -0
- package/src/index.tsx +7 -4
- package/src/useCodeMirror.ts +18 -4
- package/LICENSE +0 -21
- package/cjs/theme/light.d.ts +0 -1
- package/dist/codemirror.min.js +0 -2
- package/esm/theme/light.d.ts +0 -1
- package/src/tsconfig.json +0 -7
package/cjs/useCodeMirror.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
@@ -11,8 +11,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
|
|
12
12
|
var _react = require("react");
|
|
13
13
|
|
|
14
|
-
var _basicSetup = require("@codemirror/basic-setup");
|
|
15
|
-
|
|
16
14
|
var _state = require("@codemirror/state");
|
|
17
15
|
|
|
18
16
|
var _commands = require("@codemirror/commands");
|
|
@@ -21,7 +19,7 @@ var _view = require("@codemirror/view");
|
|
|
21
19
|
|
|
22
20
|
var _themeOneDark = require("@codemirror/theme-one-dark");
|
|
23
21
|
|
|
24
|
-
var
|
|
22
|
+
var _basicSetup = require("./basicSetup");
|
|
25
23
|
|
|
26
24
|
function useCodeMirror(props) {
|
|
27
25
|
var value = props.value,
|
|
@@ -58,20 +56,28 @@ function useCodeMirror(props) {
|
|
|
58
56
|
root = props.root;
|
|
59
57
|
|
|
60
58
|
var _useState = (0, _react.useState)(props.container),
|
|
61
|
-
_useState2 = (0, _slicedToArray2
|
|
59
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
62
60
|
container = _useState2[0],
|
|
63
61
|
setContainer = _useState2[1];
|
|
64
62
|
|
|
65
63
|
var _useState3 = (0, _react.useState)(),
|
|
66
|
-
_useState4 = (0, _slicedToArray2
|
|
64
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
67
65
|
view = _useState4[0],
|
|
68
66
|
setView = _useState4[1];
|
|
69
67
|
|
|
70
68
|
var _useState5 = (0, _react.useState)(),
|
|
71
|
-
_useState6 = (0, _slicedToArray2
|
|
69
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
72
70
|
state = _useState6[0],
|
|
73
71
|
setState = _useState6[1];
|
|
74
72
|
|
|
73
|
+
var defaultLightThemeOption = _view.EditorView.theme({
|
|
74
|
+
'&': {
|
|
75
|
+
backgroundColor: '#fff'
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
dark: false
|
|
79
|
+
});
|
|
80
|
+
|
|
75
81
|
var defaultThemeOption = _view.EditorView.theme({
|
|
76
82
|
'&': {
|
|
77
83
|
height: height,
|
|
@@ -100,7 +106,11 @@ function useCodeMirror(props) {
|
|
|
100
106
|
}
|
|
101
107
|
|
|
102
108
|
if (defaultBasicSetup) {
|
|
103
|
-
|
|
109
|
+
if (typeof defaultBasicSetup === 'boolean') {
|
|
110
|
+
getExtensions.unshift((0, _basicSetup.basicSetup)());
|
|
111
|
+
} else {
|
|
112
|
+
getExtensions.unshift((0, _basicSetup.basicSetup)(defaultBasicSetup));
|
|
113
|
+
}
|
|
104
114
|
}
|
|
105
115
|
|
|
106
116
|
if (placeholderStr) {
|
|
@@ -109,7 +119,7 @@ function useCodeMirror(props) {
|
|
|
109
119
|
|
|
110
120
|
switch (theme) {
|
|
111
121
|
case 'light':
|
|
112
|
-
getExtensions.push(
|
|
122
|
+
getExtensions.push(defaultLightThemeOption);
|
|
113
123
|
break;
|
|
114
124
|
|
|
115
125
|
case 'dark':
|
package/cjs/useCodeMirror.js.map
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [
|
|
4
|
-
"../src/useCodeMirror.ts"
|
|
5
|
-
],
|
|
6
3
|
"names": [
|
|
7
4
|
"useCodeMirror",
|
|
8
5
|
"props",
|
|
@@ -28,14 +25,18 @@
|
|
|
28
25
|
"basicSetup",
|
|
29
26
|
"defaultBasicSetup",
|
|
30
27
|
"root",
|
|
28
|
+
"useState",
|
|
31
29
|
"container",
|
|
32
30
|
"setContainer",
|
|
33
31
|
"view",
|
|
34
32
|
"setView",
|
|
35
33
|
"state",
|
|
36
34
|
"setState",
|
|
37
|
-
"
|
|
35
|
+
"defaultLightThemeOption",
|
|
38
36
|
"EditorView",
|
|
37
|
+
"backgroundColor",
|
|
38
|
+
"dark",
|
|
39
|
+
"defaultThemeOption",
|
|
39
40
|
"updateListener",
|
|
40
41
|
"of",
|
|
41
42
|
"vu",
|
|
@@ -46,10 +47,10 @@
|
|
|
46
47
|
"unshift",
|
|
47
48
|
"keymap",
|
|
48
49
|
"push",
|
|
49
|
-
"defaultLightThemeOption",
|
|
50
50
|
"oneDark",
|
|
51
51
|
"EditorState",
|
|
52
52
|
"concat",
|
|
53
|
+
"useEffect",
|
|
53
54
|
"stateCurrent",
|
|
54
55
|
"create",
|
|
55
56
|
"viewCurrent",
|
|
@@ -68,8 +69,11 @@
|
|
|
68
69
|
"StateEffect",
|
|
69
70
|
"reconfigure"
|
|
70
71
|
],
|
|
71
|
-
"
|
|
72
|
+
"sources": [
|
|
73
|
+
"../src/useCodeMirror.ts"
|
|
74
|
+
],
|
|
72
75
|
"sourcesContent": [
|
|
73
|
-
"import { useEffect, useState } from 'react';\nimport {
|
|
74
|
-
]
|
|
76
|
+
"import { useEffect, useState } from 'react';\nimport { EditorState, StateEffect } from '@codemirror/state';\nimport { indentWithTab } from '@codemirror/commands';\nimport { EditorView, keymap, ViewUpdate, placeholder } from '@codemirror/view';\nimport { oneDark } from '@codemirror/theme-one-dark';\nimport { basicSetup } from './basicSetup';\nimport { ReactCodeMirrorProps } from '.';\n\nexport interface UseCodeMirror extends ReactCodeMirrorProps {\n container?: HTMLDivElement | null;\n}\n\nexport function useCodeMirror(props: UseCodeMirror) {\n const {\n value,\n selection,\n onChange,\n onUpdate,\n extensions = [],\n autoFocus,\n theme = 'light',\n height = '',\n minHeight = '',\n maxHeight = '',\n placeholder: placeholderStr = '',\n width = '',\n minWidth = '',\n maxWidth = '',\n editable = true,\n readOnly = false,\n indentWithTab: defaultIndentWithTab = true,\n basicSetup: defaultBasicSetup = true,\n root,\n } = props;\n const [container, setContainer] = useState(props.container);\n const [view, setView] = useState<EditorView>();\n const [state, setState] = useState<EditorState>();\n const defaultLightThemeOption = EditorView.theme(\n {\n '&': {\n backgroundColor: '#fff',\n },\n },\n {\n dark: false,\n },\n );\n const defaultThemeOption = EditorView.theme({\n '&': {\n height,\n minHeight,\n maxHeight,\n width,\n minWidth,\n maxWidth,\n },\n });\n const updateListener = EditorView.updateListener.of((vu: ViewUpdate) => {\n if (vu.docChanged && typeof onChange === 'function') {\n const doc = vu.state.doc;\n const value = doc.toString();\n onChange(value, vu);\n }\n });\n\n let getExtensions = [updateListener, defaultThemeOption];\n if (defaultIndentWithTab) {\n getExtensions.unshift(keymap.of([indentWithTab]));\n }\n if (defaultBasicSetup) {\n if (typeof defaultBasicSetup === 'boolean') {\n getExtensions.unshift(basicSetup());\n } else {\n getExtensions.unshift(basicSetup(defaultBasicSetup));\n }\n }\n\n if (placeholderStr) {\n getExtensions.unshift(placeholder(placeholderStr));\n }\n\n switch (theme) {\n case 'light':\n getExtensions.push(defaultLightThemeOption);\n break;\n case 'dark':\n getExtensions.push(oneDark);\n break;\n default:\n getExtensions.push(theme);\n break;\n }\n\n if (editable === false) {\n getExtensions.push(EditorView.editable.of(false));\n }\n if (readOnly) {\n getExtensions.push(EditorState.readOnly.of(true));\n }\n\n if (onUpdate && typeof onUpdate === 'function') {\n getExtensions.push(EditorView.updateListener.of(onUpdate));\n }\n getExtensions = getExtensions.concat(extensions);\n\n useEffect(() => {\n if (container && !state) {\n const stateCurrent = EditorState.create({\n doc: value,\n selection,\n extensions: getExtensions,\n });\n setState(stateCurrent);\n if (!view) {\n const viewCurrent = new EditorView({\n state: stateCurrent,\n parent: container,\n root,\n });\n setView(viewCurrent);\n }\n }\n return () => {\n if (view) {\n setView(undefined);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [container, state]);\n\n useEffect(\n () => () => {\n if (view) {\n view.destroy();\n setView(undefined);\n }\n },\n [view],\n );\n\n useEffect(() => {\n if (autoFocus && view) {\n view.focus();\n }\n }, [autoFocus, view]);\n\n useEffect(() => {\n const currentValue = view ? view.state.doc.toString() : '';\n if (view && value !== currentValue) {\n view.dispatch({\n changes: { from: 0, to: currentValue.length, insert: value || '' },\n });\n }\n }, [value, view]);\n\n useEffect(() => {\n if (view) {\n view.dispatch({ effects: StateEffect.reconfigure.of(getExtensions) });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n theme,\n extensions,\n height,\n minHeight,\n maxHeight,\n width,\n placeholderStr,\n minWidth,\n maxWidth,\n editable,\n defaultIndentWithTab,\n defaultBasicSetup,\n ]);\n\n return { state, setState, view, setView, container, setContainer };\n}\n"
|
|
77
|
+
],
|
|
78
|
+
"mappings": "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"
|
|
75
79
|
}
|