@uiw/react-md-editor 3.11.1 → 3.11.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.
- package/README.md +1 -0
- package/dist/mdeditor.js +8 -9
- package/dist/mdeditor.min.js +1 -1
- package/esm/commands/code.js +4 -0
- package/esm/commands/code.js.map +2 -2
- package/lib/commands/code.js +4 -0
- package/lib/commands/code.js.map +2 -2
- package/package.json +1 -1
- package/src/commands/code.tsx +2 -0
package/esm/commands/code.js
CHANGED
|
@@ -57,6 +57,10 @@ export var codeBlock = {
|
|
|
57
57
|
name: 'codeBlock',
|
|
58
58
|
keyCommand: 'codeBlock',
|
|
59
59
|
shortcuts: 'ctrlcmd+shift+j',
|
|
60
|
+
icon: code['icon'],
|
|
61
|
+
buttonProps: {
|
|
62
|
+
'aria-label': 'Insert Code Block'
|
|
63
|
+
},
|
|
60
64
|
execute: (tate, api) => {
|
|
61
65
|
// Adjust the selection to encompass the whole word if the caret is inside one
|
|
62
66
|
var newSelectionRange = selectWord({
|
package/esm/commands/code.js.map
CHANGED
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"breaksAfter",
|
|
39
39
|
"codeBlock"
|
|
40
40
|
],
|
|
41
|
-
"mappings": "AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SACEC,UADF,EAEEC,iCAFF,EAGEC,gCAHF,QAIO,wBAJP;;AAMA,OAAO,IAAMC,IAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,MADsB;AAE5BC,EAAAA,UAAU,EAAE,MAFgB;AAG5BC,EAAAA,SAAS,EAAE,WAHiB;AAI5BC,EAAAA,WAAW,EAAE;AAAE,kBAAc;AAAhB,GAJe;AAK5BC,EAAAA,IAAI,eACF;AAAK,IAAA,KAAK,EAAC,IAAX;AAAgB,IAAA,MAAM,EAAC,IAAvB;AAA4B,IAAA,IAAI,EAAC,KAAjC;AAAuC,IAAA,OAAO,EAAC,aAA/C;AAAA,2BACE;AACE,MAAA,IAAI,EAAC,cADP;AAEE,MAAA,CAAC,EAAC;AAFJ;AADF,IAN0B;AAa5BC,EAAAA,OAAO,EAAE,CAACC,IAAD,EAAkBC,GAAlB,KAA2C;AAClD;AACA,QAAMC,iBAAiB,GAAGZ,UAAU,CAAC;AAAEa,MAAAA,IAAI,EAAEH,IAAI,CAACG,IAAb;AAAmBC,MAAAA,SAAS,EAAEJ,IAAI,CAACI;AAAnC,KAAD,CAApC;AACA,QAAMC,MAAM,GAAGJ,GAAG,CAACK,iBAAJ,CAAsBJ,iBAAtB,CAAf,CAHkD,CAIlD;;AACA,QAAIG,MAAM,CAACE,YAAP,CAAoBC,OAApB,CAA4B,IAA5B,MAAsC,CAAC,CAA3C,EAA8C;AAC5CP,MAAAA,GAAG,CAACQ,gBAAJ,OAA0BJ,MAAM,CAACE,YAAjC,QAD4C,CAE5C;;AAEA,UAAMG,eAAc,GAAGL,MAAM,CAACD,SAAP,CAAiBO,KAAjB,GAAyB,CAAhD;;AACA,UAAMC,aAAY,GAAGF,eAAc,GAAGL,MAAM,CAACE,YAAP,CAAoBM,MAA1D;;AAEAZ,MAAAA,GAAG,CAACK,iBAAJ,CAAsB;AACpBK,QAAAA,KAAK,EAAED,eADa;AAEpBI,QAAAA,GAAG,EAAEF;AAFe,OAAtB;AAIA;AACD;;AAED,QAAMG,iBAAiB,GAAGxB,iCAAiC,CAACc,MAAM,CAACF,IAAR,EAAcE,MAAM,CAACD,SAAP,CAAiBO,KAA/B,CAA3D;AACA,QAAMK,YAAY,GAAGC,KAAK,CAACF,iBAAiB,GAAG,CAArB,CAAL,CAA6BG,IAA7B,CAAkC,IAAlC,CAArB;AAEA,QAAMC,gBAAgB,GAAG3B,gCAAgC,CAACa,MAAM,CAACF,IAAR,EAAcE,MAAM,CAACD,SAAP,CAAiBU,GAA/B,CAAzD;AACA,QAAMM,WAAW,GAAGH,KAAK,CAACE,gBAAgB,GAAG,CAApB,CAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAApB;AAEAjB,IAAAA,GAAG,CAACQ,gBAAJ,CAAwBO,YAAxB,aAA+CX,MAAM,CAACE,YAAtD,aAA6Ea,WAA7E;AAEA,QAAMV,cAAc,GAAGL,MAAM,CAACD,SAAP,CAAiBO,KAAjB,GAAyBI,iBAAzB,GAA6C,CAApE;AACA,QAAMH,YAAY,GAAGF,cAAc,GAAGL,MAAM,CAACE,YAAP,CAAoBM,MAA1D;AAEAZ,IAAAA,GAAG,CAACK,iBAAJ,CAAsB;AACpBK,MAAAA,KAAK,EAAED,cADa;AAEpBI,MAAAA,GAAG,EAAEF;AAFe,KAAtB;AAID;AA/C2B,CAAvB;AAkDP,OAAO,IAAMS,SAAmB,GAAG;AACjC3B,EAAAA,IAAI,EAAE,WAD2B;AAEjCC,EAAAA,UAAU,EAAE,WAFqB;AAGjCC,EAAAA,SAAS,EAAE,iBAHsB;
|
|
41
|
+
"mappings": "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",
|
|
42
42
|
"sourcesContent": [
|
|
43
|
-
"import * as React from 'react';\nimport { ICommand, TextState, TextAreaTextApi } from './';\nimport {\n selectWord,\n getBreaksNeededForEmptyLineBefore,\n getBreaksNeededForEmptyLineAfter,\n} from '../utils/markdownUtils';\n\nexport const code: ICommand = {\n name: 'code',\n keyCommand: 'code',\n shortcuts: 'ctrlcmd+j',\n buttonProps: { 'aria-label': 'Insert code' },\n icon: (\n <svg width=\"12\" height=\"12\" role=\"img\" viewBox=\"0 0 640 512\">\n <path\n fill=\"currentColor\"\n d=\"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"\n />\n </svg>\n ),\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n // when there's no breaking line\n if (state1.selectedText.indexOf('\\n') === -1) {\n api.replaceSelection(`\\`${state1.selectedText}\\``);\n // Adjust the selection to not contain the **\n\n const selectionStart = state1.selection.start + 1;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n return;\n }\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n\nexport const codeBlock: ICommand = {\n name: 'codeBlock',\n keyCommand: 'codeBlock',\n shortcuts: 'ctrlcmd+shift+j',\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n"
|
|
43
|
+
"import * as React from 'react';\nimport { ICommand, TextState, TextAreaTextApi } from './';\nimport {\n selectWord,\n getBreaksNeededForEmptyLineBefore,\n getBreaksNeededForEmptyLineAfter,\n} from '../utils/markdownUtils';\n\nexport const code: ICommand = {\n name: 'code',\n keyCommand: 'code',\n shortcuts: 'ctrlcmd+j',\n buttonProps: { 'aria-label': 'Insert code' },\n icon: (\n <svg width=\"12\" height=\"12\" role=\"img\" viewBox=\"0 0 640 512\">\n <path\n fill=\"currentColor\"\n d=\"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"\n />\n </svg>\n ),\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n // when there's no breaking line\n if (state1.selectedText.indexOf('\\n') === -1) {\n api.replaceSelection(`\\`${state1.selectedText}\\``);\n // Adjust the selection to not contain the **\n\n const selectionStart = state1.selection.start + 1;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n return;\n }\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n\nexport const codeBlock: ICommand = {\n name: 'codeBlock',\n keyCommand: 'codeBlock',\n shortcuts: 'ctrlcmd+shift+j',\n icon: code['icon'],\n buttonProps: { 'aria-label': 'Insert Code Block' },\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n"
|
|
44
44
|
]
|
|
45
45
|
}
|
package/lib/commands/code.js
CHANGED
|
@@ -70,6 +70,10 @@ var codeBlock = {
|
|
|
70
70
|
name: 'codeBlock',
|
|
71
71
|
keyCommand: 'codeBlock',
|
|
72
72
|
shortcuts: 'ctrlcmd+shift+j',
|
|
73
|
+
icon: code['icon'],
|
|
74
|
+
buttonProps: {
|
|
75
|
+
'aria-label': 'Insert Code Block'
|
|
76
|
+
},
|
|
73
77
|
execute: function execute(tate, api) {
|
|
74
78
|
// Adjust the selection to encompass the whole word if the caret is inside one
|
|
75
79
|
var newSelectionRange = (0, _markdownUtils.selectWord)({
|
package/lib/commands/code.js.map
CHANGED
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"breaksAfter",
|
|
35
35
|
"codeBlock"
|
|
36
36
|
],
|
|
37
|
-
"mappings": ";;;;;;;;;AAAA;;AAEA;;;;AAMO,IAAMA,IAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,MADsB;AAE5BC,EAAAA,UAAU,EAAE,MAFgB;AAG5BC,EAAAA,SAAS,EAAE,WAHiB;AAI5BC,EAAAA,WAAW,EAAE;AAAE,kBAAc;AAAhB,GAJe;AAK5BC,EAAAA,IAAI,eACF;AAAK,IAAA,KAAK,EAAC,IAAX;AAAgB,IAAA,MAAM,EAAC,IAAvB;AAA4B,IAAA,IAAI,EAAC,KAAjC;AAAuC,IAAA,OAAO,EAAC,aAA/C;AAAA,2BACE;AACE,MAAA,IAAI,EAAC,cADP;AAEE,MAAA,CAAC,EAAC;AAFJ;AADF,IAN0B;AAa5BC,EAAAA,OAAO,EAAE,iBAACC,IAAD,EAAkBC,GAAlB,EAA2C;AAClD;AACA,QAAMC,iBAAiB,GAAG,+BAAW;AAAEC,MAAAA,IAAI,EAAEH,IAAI,CAACG,IAAb;AAAmBC,MAAAA,SAAS,EAAEJ,IAAI,CAACI;AAAnC,KAAX,CAA1B;AACA,QAAMC,MAAM,GAAGJ,GAAG,CAACK,iBAAJ,CAAsBJ,iBAAtB,CAAf,CAHkD,CAIlD;;AACA,QAAIG,MAAM,CAACE,YAAP,CAAoBC,OAApB,CAA4B,IAA5B,MAAsC,CAAC,CAA3C,EAA8C;AAC5CP,MAAAA,GAAG,CAACQ,gBAAJ,YAA0BJ,MAAM,CAACE,YAAjC,QAD4C,CAE5C;;AAEA,UAAMG,eAAc,GAAGL,MAAM,CAACD,SAAP,CAAiBO,KAAjB,GAAyB,CAAhD;;AACA,UAAMC,aAAY,GAAGF,eAAc,GAAGL,MAAM,CAACE,YAAP,CAAoBM,MAA1D;;AAEAZ,MAAAA,GAAG,CAACK,iBAAJ,CAAsB;AACpBK,QAAAA,KAAK,EAAED,eADa;AAEpBI,QAAAA,GAAG,EAAEF;AAFe,OAAtB;AAIA;AACD;;AAED,QAAMG,iBAAiB,GAAG,sDAAkCV,MAAM,CAACF,IAAzC,EAA+CE,MAAM,CAACD,SAAP,CAAiBO,KAAhE,CAA1B;AACA,QAAMK,YAAY,GAAGC,KAAK,CAACF,iBAAiB,GAAG,CAArB,CAAL,CAA6BG,IAA7B,CAAkC,IAAlC,CAArB;AAEA,QAAMC,gBAAgB,GAAG,qDAAiCd,MAAM,CAACF,IAAxC,EAA8CE,MAAM,CAACD,SAAP,CAAiBU,GAA/D,CAAzB;AACA,QAAMM,WAAW,GAAGH,KAAK,CAACE,gBAAgB,GAAG,CAApB,CAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAApB;AAEAjB,IAAAA,GAAG,CAACQ,gBAAJ,WAAwBO,YAAxB,kBAA+CX,MAAM,CAACE,YAAtD,kBAA6Ea,WAA7E;AAEA,QAAMV,cAAc,GAAGL,MAAM,CAACD,SAAP,CAAiBO,KAAjB,GAAyBI,iBAAzB,GAA6C,CAApE;AACA,QAAMH,YAAY,GAAGF,cAAc,GAAGL,MAAM,CAACE,YAAP,CAAoBM,MAA1D;AAEAZ,IAAAA,GAAG,CAACK,iBAAJ,CAAsB;AACpBK,MAAAA,KAAK,EAAED,cADa;AAEpBI,MAAAA,GAAG,EAAEF;AAFe,KAAtB;AAID;AA/C2B,CAAvB;;AAkDA,IAAMS,SAAmB,GAAG;AACjC3B,EAAAA,IAAI,EAAE,WAD2B;AAEjCC,EAAAA,UAAU,EAAE,WAFqB;AAGjCC,EAAAA,SAAS,EAAE,iBAHsB;
|
|
37
|
+
"mappings": "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",
|
|
38
38
|
"sourcesContent": [
|
|
39
|
-
"import * as React from 'react';\nimport { ICommand, TextState, TextAreaTextApi } from './';\nimport {\n selectWord,\n getBreaksNeededForEmptyLineBefore,\n getBreaksNeededForEmptyLineAfter,\n} from '../utils/markdownUtils';\n\nexport const code: ICommand = {\n name: 'code',\n keyCommand: 'code',\n shortcuts: 'ctrlcmd+j',\n buttonProps: { 'aria-label': 'Insert code' },\n icon: (\n <svg width=\"12\" height=\"12\" role=\"img\" viewBox=\"0 0 640 512\">\n <path\n fill=\"currentColor\"\n d=\"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"\n />\n </svg>\n ),\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n // when there's no breaking line\n if (state1.selectedText.indexOf('\\n') === -1) {\n api.replaceSelection(`\\`${state1.selectedText}\\``);\n // Adjust the selection to not contain the **\n\n const selectionStart = state1.selection.start + 1;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n return;\n }\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n\nexport const codeBlock: ICommand = {\n name: 'codeBlock',\n keyCommand: 'codeBlock',\n shortcuts: 'ctrlcmd+shift+j',\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n"
|
|
39
|
+
"import * as React from 'react';\nimport { ICommand, TextState, TextAreaTextApi } from './';\nimport {\n selectWord,\n getBreaksNeededForEmptyLineBefore,\n getBreaksNeededForEmptyLineAfter,\n} from '../utils/markdownUtils';\n\nexport const code: ICommand = {\n name: 'code',\n keyCommand: 'code',\n shortcuts: 'ctrlcmd+j',\n buttonProps: { 'aria-label': 'Insert code' },\n icon: (\n <svg width=\"12\" height=\"12\" role=\"img\" viewBox=\"0 0 640 512\">\n <path\n fill=\"currentColor\"\n d=\"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"\n />\n </svg>\n ),\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n // when there's no breaking line\n if (state1.selectedText.indexOf('\\n') === -1) {\n api.replaceSelection(`\\`${state1.selectedText}\\``);\n // Adjust the selection to not contain the **\n\n const selectionStart = state1.selection.start + 1;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n return;\n }\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n\nexport const codeBlock: ICommand = {\n name: 'codeBlock',\n keyCommand: 'codeBlock',\n shortcuts: 'ctrlcmd+shift+j',\n icon: code['icon'],\n buttonProps: { 'aria-label': 'Insert Code Block' },\n execute: (tate: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n\n const breaksBeforeCount = getBreaksNeededForEmptyLineBefore(state1.text, state1.selection.start);\n const breaksBefore = Array(breaksBeforeCount + 1).join('\\n');\n\n const breaksAfterCount = getBreaksNeededForEmptyLineAfter(state1.text, state1.selection.end);\n const breaksAfter = Array(breaksAfterCount + 1).join('\\n');\n\n api.replaceSelection(`${breaksBefore}\\`\\`\\`\\n${state1.selectedText}\\n\\`\\`\\`${breaksAfter}`);\n\n const selectionStart = state1.selection.start + breaksBeforeCount + 4;\n const selectionEnd = selectionStart + state1.selectedText.length;\n\n api.setSelectionRange({\n start: selectionStart,\n end: selectionEnd,\n });\n },\n};\n"
|
|
40
40
|
]
|
|
41
41
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uiw/react-md-editor",
|
|
3
|
-
"version": "3.11.
|
|
3
|
+
"version": "3.11.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>",
|
package/src/commands/code.tsx
CHANGED
|
@@ -60,6 +60,8 @@ export const codeBlock: ICommand = {
|
|
|
60
60
|
name: 'codeBlock',
|
|
61
61
|
keyCommand: 'codeBlock',
|
|
62
62
|
shortcuts: 'ctrlcmd+shift+j',
|
|
63
|
+
icon: code['icon'],
|
|
64
|
+
buttonProps: { 'aria-label': 'Insert Code Block' },
|
|
63
65
|
execute: (tate: TextState, api: TextAreaTextApi) => {
|
|
64
66
|
// Adjust the selection to encompass the whole word if the caret is inside one
|
|
65
67
|
const newSelectionRange = selectWord({ text: tate.text, selection: tate.selection });
|