@uiw/react-md-editor 3.18.3 → 3.19.1

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.
Files changed (140) hide show
  1. package/dist/mdeditor.js +1564 -1583
  2. package/dist/mdeditor.min.js +1 -1
  3. package/esm/Context.js.map +1 -1
  4. package/esm/Editor.js +43 -67
  5. package/esm/Editor.js.map +1 -1
  6. package/esm/commands/bold.js +4 -4
  7. package/esm/commands/bold.js.map +1 -1
  8. package/esm/commands/code.js +8 -10
  9. package/esm/commands/code.js.map +2 -2
  10. package/esm/commands/comment.js +27 -16
  11. package/esm/commands/comment.js.map +2 -2
  12. package/esm/commands/divider.js.map +1 -1
  13. package/esm/commands/fullscreen.js +3 -4
  14. package/esm/commands/fullscreen.js.map +2 -2
  15. package/esm/commands/group.js +2 -4
  16. package/esm/commands/group.js.map +1 -1
  17. package/esm/commands/hr.js.map +1 -1
  18. package/esm/commands/image.js +6 -6
  19. package/esm/commands/image.js.map +2 -2
  20. package/esm/commands/index.d.ts +2 -2
  21. package/esm/commands/index.js +12 -23
  22. package/esm/commands/index.js.map +3 -2
  23. package/esm/commands/italic.js +4 -4
  24. package/esm/commands/italic.js.map +1 -1
  25. package/esm/commands/link.js +4 -4
  26. package/esm/commands/link.js.map +1 -1
  27. package/esm/commands/list.js +4 -4
  28. package/esm/commands/list.js.map +1 -1
  29. package/esm/commands/preview.js +21 -3
  30. package/esm/commands/preview.js.map +7 -2
  31. package/esm/commands/quote.js +2 -1
  32. package/esm/commands/quote.js.map +1 -1
  33. package/esm/commands/strikeThrough.js +4 -4
  34. package/esm/commands/strikeThrough.js.map +1 -1
  35. package/esm/commands/title.js.map +1 -1
  36. package/esm/commands/title1.js.map +1 -1
  37. package/esm/commands/title2.js.map +1 -1
  38. package/esm/commands/title3.js.map +1 -1
  39. package/esm/commands/title4.js.map +1 -1
  40. package/esm/commands/title5.js.map +1 -1
  41. package/esm/commands/title6.js.map +1 -1
  42. package/esm/components/DragBar/index.js +2 -9
  43. package/esm/components/DragBar/index.js.map +1 -1
  44. package/esm/components/TextArea/Markdown.js +2 -7
  45. package/esm/components/TextArea/Markdown.js.map +1 -1
  46. package/esm/components/TextArea/Textarea.js +8 -11
  47. package/esm/components/TextArea/Textarea.js.map +1 -1
  48. package/esm/components/TextArea/handleKeyDown.js +2 -16
  49. package/esm/components/TextArea/handleKeyDown.js.map +1 -1
  50. package/esm/components/TextArea/index.js +11 -15
  51. package/esm/components/TextArea/index.js.map +1 -1
  52. package/esm/components/TextArea/shortcuts.js +1 -17
  53. package/esm/components/TextArea/shortcuts.js.map +2 -2
  54. package/esm/components/Toolbar/Child.js +2 -1
  55. package/esm/components/Toolbar/Child.js.map +1 -1
  56. package/esm/components/Toolbar/index.js +2 -12
  57. package/esm/components/Toolbar/index.js.map +1 -1
  58. package/esm/index.js.map +1 -1
  59. package/esm/utils/InsertTextAtPosition.js +28 -34
  60. package/esm/utils/InsertTextAtPosition.js.map +1 -1
  61. package/esm/utils/markdownUtils.js +14 -23
  62. package/esm/utils/markdownUtils.js.map +1 -1
  63. package/lib/Context.js +0 -6
  64. package/lib/Context.js.map +1 -1
  65. package/lib/Editor.js +74 -114
  66. package/lib/Editor.js.map +1 -1
  67. package/lib/commands/bold.js +4 -9
  68. package/lib/commands/bold.js.map +1 -1
  69. package/lib/commands/code.js +8 -15
  70. package/lib/commands/code.js.map +2 -2
  71. package/lib/commands/comment.js +27 -19
  72. package/lib/commands/comment.js.map +2 -2
  73. package/lib/commands/divider.js.map +1 -1
  74. package/lib/commands/fullscreen.js +3 -8
  75. package/lib/commands/fullscreen.js.map +2 -2
  76. package/lib/commands/group.js +2 -10
  77. package/lib/commands/group.js.map +1 -1
  78. package/lib/commands/hr.js +0 -4
  79. package/lib/commands/hr.js.map +1 -1
  80. package/lib/commands/image.js +6 -11
  81. package/lib/commands/image.js.map +2 -2
  82. package/lib/commands/index.d.ts +2 -2
  83. package/lib/commands/index.js +10 -47
  84. package/lib/commands/index.js.map +4 -3
  85. package/lib/commands/italic.js +4 -9
  86. package/lib/commands/italic.js.map +1 -1
  87. package/lib/commands/link.js +4 -9
  88. package/lib/commands/link.js.map +1 -1
  89. package/lib/commands/list.js +4 -10
  90. package/lib/commands/list.js.map +1 -1
  91. package/lib/commands/preview.js +21 -7
  92. package/lib/commands/preview.js.map +7 -2
  93. package/lib/commands/quote.js +2 -6
  94. package/lib/commands/quote.js.map +1 -1
  95. package/lib/commands/strikeThrough.js +4 -9
  96. package/lib/commands/strikeThrough.js.map +1 -1
  97. package/lib/commands/title.js +0 -6
  98. package/lib/commands/title.js.map +1 -1
  99. package/lib/commands/title1.js +0 -5
  100. package/lib/commands/title1.js.map +1 -1
  101. package/lib/commands/title2.js +0 -5
  102. package/lib/commands/title2.js.map +1 -1
  103. package/lib/commands/title3.js +0 -5
  104. package/lib/commands/title3.js.map +1 -1
  105. package/lib/commands/title4.js +0 -5
  106. package/lib/commands/title4.js.map +1 -1
  107. package/lib/commands/title5.js +0 -5
  108. package/lib/commands/title5.js.map +1 -1
  109. package/lib/commands/title6.js +0 -5
  110. package/lib/commands/title6.js.map +1 -1
  111. package/lib/components/DragBar/index.js +4 -15
  112. package/lib/components/DragBar/index.js.map +1 -1
  113. package/lib/components/TextArea/Markdown.js +6 -22
  114. package/lib/components/TextArea/Markdown.js.map +1 -1
  115. package/lib/components/TextArea/Textarea.js +15 -36
  116. package/lib/components/TextArea/Textarea.js.map +1 -1
  117. package/lib/components/TextArea/handleKeyDown.js +1 -18
  118. package/lib/components/TextArea/handleKeyDown.js.map +1 -1
  119. package/lib/components/TextArea/index.js +15 -37
  120. package/lib/components/TextArea/index.js.map +1 -1
  121. package/lib/components/TextArea/shortcuts.js +1 -17
  122. package/lib/components/TextArea/shortcuts.js.map +2 -2
  123. package/lib/components/Toolbar/Child.js +8 -18
  124. package/lib/components/Toolbar/Child.js.map +1 -1
  125. package/lib/components/Toolbar/index.js +14 -36
  126. package/lib/components/Toolbar/index.js.map +1 -1
  127. package/lib/index.js +0 -9
  128. package/lib/index.js.map +1 -1
  129. package/lib/utils/InsertTextAtPosition.js +28 -37
  130. package/lib/utils/InsertTextAtPosition.js.map +1 -1
  131. package/lib/utils/markdownUtils.js +17 -28
  132. package/lib/utils/markdownUtils.js.map +1 -1
  133. package/package.json +1 -1
  134. package/src/commands/code.tsx +2 -2
  135. package/src/commands/comment.tsx +19 -4
  136. package/src/commands/fullscreen.tsx +3 -2
  137. package/src/commands/image.tsx +1 -1
  138. package/src/commands/index.ts +8 -7
  139. package/src/commands/preview.tsx +35 -4
  140. package/src/components/TextArea/shortcuts.ts +2 -2
@@ -27,10 +27,10 @@ export var strikethrough = {
27
27
  text: state.text,
28
28
  selection: state.selection
29
29
  });
30
- var state1 = api.setSelectionRange(newSelectionRange); // Replaces the current selection with the strikethrough mark up
31
-
32
- var state2 = api.replaceSelection("~~" + state1.selectedText + "~~"); // Adjust the selection to not contain the ~~
33
-
30
+ var state1 = api.setSelectionRange(newSelectionRange);
31
+ // Replaces the current selection with the strikethrough mark up
32
+ var state2 = api.replaceSelection("~~" + state1.selectedText + "~~");
33
+ // Adjust the selection to not contain the ~~
34
34
  api.setSelectionRange({
35
35
  start: state2.selection.end - 2 - state1.selectedText.length,
36
36
  end: state2.selection.end - 2
@@ -32,5 +32,5 @@
32
32
  "sourcesContent": [
33
33
  "import * as React from 'react';\nimport { ICommand, TextState, TextAreaTextApi } from './';\nimport { selectWord } from '../utils/markdownUtils';\n\nexport const strikethrough: ICommand = {\n name: 'strikethrough',\n keyCommand: 'strikethrough',\n shortcuts: 'ctrl+shift+x',\n buttonProps: {\n 'aria-label': 'Add strikethrough text (ctrl + shift + x)',\n title: 'Add strikethrough text (ctrl + shift + x)',\n },\n value: '~~',\n icon: (\n <svg data-name=\"strikethrough\" width=\"12\" height=\"12\" role=\"img\" viewBox=\"0 0 512 512\">\n <path\n fill=\"currentColor\"\n d=\"M496 288H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h480c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16zm-214.666 16c27.258 12.937 46.524 28.683 46.524 56.243 0 33.108-28.977 53.676-75.621 53.676-32.325 0-76.874-12.08-76.874-44.271V368c0-8.837-7.164-16-16-16H113.75c-8.836 0-16 7.163-16 16v19.204c0 66.845 77.717 101.82 154.487 101.82 88.578 0 162.013-45.438 162.013-134.424 0-19.815-3.618-36.417-10.143-50.6H281.334zm-30.952-96c-32.422-13.505-56.836-28.946-56.836-59.683 0-33.92 30.901-47.406 64.962-47.406 42.647 0 64.962 16.593 64.962 32.985V136c0 8.837 7.164 16 16 16h45.613c8.836 0 16-7.163 16-16v-30.318c0-52.438-71.725-79.875-142.575-79.875-85.203 0-150.726 40.972-150.726 125.646 0 22.71 4.665 41.176 12.777 56.547h129.823z\"\n />\n </svg>\n ),\n execute: (state: TextState, api: TextAreaTextApi) => {\n // Adjust the selection to encompass the whole word if the caret is inside one\n const newSelectionRange = selectWord({ text: state.text, selection: state.selection });\n const state1 = api.setSelectionRange(newSelectionRange);\n // Replaces the current selection with the strikethrough mark up\n const state2 = api.replaceSelection(`~~${state1.selectedText}~~`);\n // Adjust the selection to not contain the ~~\n api.setSelectionRange({\n start: state2.selection.end - 2 - state1.selectedText.length,\n end: state2.selection.end - 2,\n });\n },\n};\n"
34
34
  ],
35
- "mappings": "AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT,QAA2B,wBAA3B;;AAEA,OAAO,IAAMC,aAAuB,GAAG;EACrCC,IAAI,EAAE,eAD+B;EAErCC,UAAU,EAAE,eAFyB;EAGrCC,SAAS,EAAE,cAH0B;EAIrCC,WAAW,EAAE;IACX,cAAc,2CADH;IAEXC,KAAK,EAAE;EAFI,CAJwB;EAQrCC,KAAK,EAAE,IAR8B;EASrCC,IAAI,eACF;IAAK,aAAU,eAAf;IAA+B,KAAK,EAAC,IAArC;IAA0C,MAAM,EAAC,IAAjD;IAAsD,IAAI,EAAC,KAA3D;IAAiE,OAAO,EAAC,aAAzE;IAAA,uBACE;MACE,IAAI,EAAC,cADP;MAEE,CAAC,EAAC;IAFJ;EADF,EAVmC;EAiBrCC,OAAO,EAAE,CAACC,KAAD,EAAmBC,GAAnB,KAA4C;IACnD;IACA,IAAMC,iBAAiB,GAAGZ,UAAU,CAAC;MAAEa,IAAI,EAAEH,KAAK,CAACG,IAAd;MAAoBC,SAAS,EAAEJ,KAAK,CAACI;IAArC,CAAD,CAApC;IACA,IAAMC,MAAM,GAAGJ,GAAG,CAACK,iBAAJ,CAAsBJ,iBAAtB,CAAf,CAHmD,CAInD;;IACA,IAAMK,MAAM,GAAGN,GAAG,CAACO,gBAAJ,QAA0BH,MAAM,CAACI,YAAjC,QAAf,CALmD,CAMnD;;IACAR,GAAG,CAACK,iBAAJ,CAAsB;MACpBI,KAAK,EAAEH,MAAM,CAACH,SAAP,CAAiBO,GAAjB,GAAuB,CAAvB,GAA2BN,MAAM,CAACI,YAAP,CAAoBG,MADlC;MAEpBD,GAAG,EAAEJ,MAAM,CAACH,SAAP,CAAiBO,GAAjB,GAAuB;IAFR,CAAtB;EAID;AA5BoC,CAAhC"
35
+ "mappings": "AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,UAAU,QAAQ,wBAAwB;AAAC;AAEpD,OAAO,IAAMC,aAAuB,GAAG;EACrCC,IAAI,EAAE,eAAe;EACrBC,UAAU,EAAE,eAAe;EAC3BC,SAAS,EAAE,cAAc;EACzBC,WAAW,EAAE;IACX,YAAY,EAAE,2CAA2C;IACzDC,KAAK,EAAE;EACT,CAAC;EACDC,KAAK,EAAE,IAAI;EACXC,IAAI,eACF;IAAK,aAAU,eAAe;IAAC,KAAK,EAAC,IAAI;IAAC,MAAM,EAAC,IAAI;IAAC,IAAI,EAAC,KAAK;IAAC,OAAO,EAAC,aAAa;IAAA,uBACpF;MACE,IAAI,EAAC,cAAc;MACnB,CAAC,EAAC;IAAyuB;EAC3uB,EAEL;EACDC,OAAO,EAAE,CAACC,KAAgB,EAAEC,GAAoB,KAAK;IACnD;IACA,IAAMC,iBAAiB,GAAGZ,UAAU,CAAC;MAAEa,IAAI,EAAEH,KAAK,CAACG,IAAI;MAAEC,SAAS,EAAEJ,KAAK,CAACI;IAAU,CAAC,CAAC;IACtF,IAAMC,MAAM,GAAGJ,GAAG,CAACK,iBAAiB,CAACJ,iBAAiB,CAAC;IACvD;IACA,IAAMK,MAAM,GAAGN,GAAG,CAACO,gBAAgB,QAAMH,MAAM,CAACI,YAAY,QAAK;IACjE;IACAR,GAAG,CAACK,iBAAiB,CAAC;MACpBI,KAAK,EAAEH,MAAM,CAACH,SAAS,CAACO,GAAG,GAAG,CAAC,GAAGN,MAAM,CAACI,YAAY,CAACG,MAAM;MAC5DD,GAAG,EAAEJ,MAAM,CAACH,SAAS,CAACO,GAAG,GAAG;IAC9B,CAAC,CAAC;EACJ;AACF,CAAC"
36
36
  }
@@ -12,5 +12,5 @@
12
12
  "sourcesContent": [
13
13
  "import React from 'react';\nimport { ICommand } from './';\nimport { title1 } from './title1';\n\nexport const title: ICommand = {\n ...title1,\n icon: (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 520 520\">\n <path\n fill=\"currentColor\"\n d=\"M15.7083333,468 C7.03242448,468 0,462.030833 0,454.666667 L0,421.333333 C0,413.969167 7.03242448,408 15.7083333,408 L361.291667,408 C369.967576,408 377,413.969167 377,421.333333 L377,454.666667 C377,462.030833 369.967576,468 361.291667,468 L15.7083333,468 Z M21.6666667,366 C9.69989583,366 0,359.831861 0,352.222222 L0,317.777778 C0,310.168139 9.69989583,304 21.6666667,304 L498.333333,304 C510.300104,304 520,310.168139 520,317.777778 L520,352.222222 C520,359.831861 510.300104,366 498.333333,366 L21.6666667,366 Z M136.835938,64 L136.835937,126 L107.25,126 L107.25,251 L40.75,251 L40.75,126 L-5.68434189e-14,126 L-5.68434189e-14,64 L136.835938,64 Z M212,64 L212,251 L161.648438,251 L161.648438,64 L212,64 Z M378,64 L378,126 L343.25,126 L343.25,251 L281.75,251 L281.75,126 L238,126 L238,64 L378,64 Z M449.047619,189.550781 L520,189.550781 L520,251 L405,251 L405,64 L449.047619,64 L449.047619,189.550781 Z\"\n />\n </svg>\n ),\n};\n"
14
14
  ],
15
- "mappings": ";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,MAAT,QAAuB,UAAvB;;AAEA,OAAO,IAAMC,KAAe,gBACvBD,MADuB;EAE1BE,IAAI,eACF;IAAK,KAAK,EAAC,IAAX;IAAgB,MAAM,EAAC,IAAvB;IAA4B,OAAO,EAAC,aAApC;IAAA,uBACE;MACE,IAAI,EAAC,cADP;MAEE,CAAC,EAAC;IAFJ;EADF;AAHwB,EAArB"
15
+ "mappings": ";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,QAAQ,UAAU;AAAC;AAElC,OAAO,IAAMC,KAAe,gBACvBD,MAAM;EACTE,IAAI,eACF;IAAK,KAAK,EAAC,IAAI;IAAC,MAAM,EAAC,IAAI;IAAC,OAAO,EAAC,aAAa;IAAA,uBAC/C;MACE,IAAI,EAAC,cAAc;MACnB,CAAC,EAAC;IAA24B;EAC74B;AAEL,EACF"
16
16
  }
@@ -29,5 +29,5 @@
29
29
  "sourcesContent": [
30
30
  "import React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title1: ICommand = {\n name: 'title1',\n keyCommand: 'title1',\n shortcuts: 'ctrlcmd+1',\n value: 'title1',\n buttonProps: { 'aria-label': 'Insert title1 (ctrl + 1)', title: 'Insert title1 (ctrl + 1)' },\n icon: <div style={{ fontSize: 18, textAlign: 'left' }}>Title 1</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('# ');\n } else {\n insertAtLineStart('# ', state.selection.start, api.textArea);\n }\n },\n};\n"
31
31
  ],
32
- "mappings": "AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,iBAAT,QAAkC,+BAAlC;;AAGA,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QADwB;EAE9BC,UAAU,EAAE,QAFkB;EAG9BC,SAAS,EAAE,WAHmB;EAI9BC,KAAK,EAAE,QAJuB;EAK9BC,WAAW,EAAE;IAAE,cAAc,0BAAhB;IAA4CC,KAAK,EAAE;EAAnD,CALiB;EAM9BC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAZ;MAAgBC,SAAS,EAAE;IAA3B,CAAZ;IAAA;EAAA,EANwB;EAO9BC,OAAO,EAAE,CAACC,KAAD,EAAmBC,GAAnB,KAA4C;IACnD,IAAID,KAAK,CAACE,SAAN,CAAgBC,KAAhB,KAA0B,CAA1B,IAA+B,MAAMC,IAAN,CAAWJ,KAAK,CAACK,IAAjB,CAAnC,EAA2D;MACzDJ,GAAG,CAACK,gBAAJ,CAAqB,IAArB;IACD,CAFD,MAEO;MACLlB,iBAAiB,CAAC,IAAD,EAAOY,KAAK,CAACE,SAAN,CAAgBC,KAAvB,EAA8BF,GAAG,CAACM,QAAlC,CAAjB;IACD;EACF;AAb6B,CAAzB"
32
+ "mappings": "AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,QAAQ,+BAA+B;AAAC;AAGlE,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,CAACC,KAAgB,EAAEC,GAAoB,KAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,IAAI,CAAC;IAC5B,CAAC,MAAM;MACLlB,iBAAiB,CAAC,IAAI,EAAEY,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACM,QAAQ,CAAC;IAC9D;EACF;AACF,CAAC"
33
33
  }
@@ -29,5 +29,5 @@
29
29
  "sourcesContent": [
30
30
  "import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title2: ICommand = {\n name: 'title2',\n keyCommand: 'title2',\n shortcuts: 'ctrlcmd+2',\n value: 'title2',\n buttonProps: { 'aria-label': 'Insert title2 (ctrl + 2)', title: 'Insert title2 (ctrl + 2)' },\n icon: <div style={{ fontSize: 16, textAlign: 'left' }}>Title 2</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('## ');\n } else {\n insertAtLineStart('## ', state.selection.start, api.textArea);\n }\n },\n};\n"
31
31
  ],
32
- "mappings": "AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,iBAAT,QAAkC,+BAAlC;;AAGA,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QADwB;EAE9BC,UAAU,EAAE,QAFkB;EAG9BC,SAAS,EAAE,WAHmB;EAI9BC,KAAK,EAAE,QAJuB;EAK9BC,WAAW,EAAE;IAAE,cAAc,0BAAhB;IAA4CC,KAAK,EAAE;EAAnD,CALiB;EAM9BC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAZ;MAAgBC,SAAS,EAAE;IAA3B,CAAZ;IAAA;EAAA,EANwB;EAO9BC,OAAO,EAAE,CAACC,KAAD,EAAmBC,GAAnB,KAA4C;IACnD,IAAID,KAAK,CAACE,SAAN,CAAgBC,KAAhB,KAA0B,CAA1B,IAA+B,MAAMC,IAAN,CAAWJ,KAAK,CAACK,IAAjB,CAAnC,EAA2D;MACzDJ,GAAG,CAACK,gBAAJ,CAAqB,KAArB;IACD,CAFD,MAEO;MACLlB,iBAAiB,CAAC,KAAD,EAAQY,KAAK,CAACE,SAAN,CAAgBC,KAAxB,EAA+BF,GAAG,CAACM,QAAnC,CAAjB;IACD;EACF;AAb6B,CAAzB"
32
+ "mappings": "AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,iBAAiB,QAAQ,+BAA+B;AAAC;AAGlE,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,CAACC,KAAgB,EAAEC,GAAoB,KAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,KAAK,CAAC;IAC7B,CAAC,MAAM;MACLlB,iBAAiB,CAAC,KAAK,EAAEY,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACM,QAAQ,CAAC;IAC/D;EACF;AACF,CAAC"
33
33
  }
@@ -29,5 +29,5 @@
29
29
  "sourcesContent": [
30
30
  "import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title3: ICommand = {\n name: 'title3',\n keyCommand: 'title3',\n shortcuts: 'ctrlcmd+3',\n value: 'title3',\n buttonProps: { 'aria-label': 'Insert title3 (ctrl + 3)', title: 'Insert title3 (ctrl + 3)' },\n icon: <div style={{ fontSize: 15, textAlign: 'left' }}>Title 3</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('### ');\n } else {\n insertAtLineStart('### ', state.selection.start, api.textArea);\n }\n },\n};\n"
31
31
  ],
32
- "mappings": "AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,iBAAT,QAAkC,+BAAlC;;AAGA,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QADwB;EAE9BC,UAAU,EAAE,QAFkB;EAG9BC,SAAS,EAAE,WAHmB;EAI9BC,KAAK,EAAE,QAJuB;EAK9BC,WAAW,EAAE;IAAE,cAAc,0BAAhB;IAA4CC,KAAK,EAAE;EAAnD,CALiB;EAM9BC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAZ;MAAgBC,SAAS,EAAE;IAA3B,CAAZ;IAAA;EAAA,EANwB;EAO9BC,OAAO,EAAE,CAACC,KAAD,EAAmBC,GAAnB,KAA4C;IACnD,IAAID,KAAK,CAACE,SAAN,CAAgBC,KAAhB,KAA0B,CAA1B,IAA+B,MAAMC,IAAN,CAAWJ,KAAK,CAACK,IAAjB,CAAnC,EAA2D;MACzDJ,GAAG,CAACK,gBAAJ,CAAqB,MAArB;IACD,CAFD,MAEO;MACLlB,iBAAiB,CAAC,MAAD,EAASY,KAAK,CAACE,SAAN,CAAgBC,KAAzB,EAAgCF,GAAG,CAACM,QAApC,CAAjB;IACD;EACF;AAb6B,CAAzB"
32
+ "mappings": "AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,iBAAiB,QAAQ,+BAA+B;AAAC;AAGlE,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,CAACC,KAAgB,EAAEC,GAAoB,KAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,MAAM,CAAC;IAC9B,CAAC,MAAM;MACLlB,iBAAiB,CAAC,MAAM,EAAEY,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACM,QAAQ,CAAC;IAChE;EACF;AACF,CAAC"
33
33
  }
@@ -29,5 +29,5 @@
29
29
  "sourcesContent": [
30
30
  "import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title4: ICommand = {\n name: 'title4',\n keyCommand: 'title4',\n shortcuts: 'ctrlcmd+4',\n value: 'title4',\n buttonProps: { 'aria-label': 'Insert title4 (ctrl + 4)', title: 'Insert title4 (ctrl + 4)' },\n icon: <div style={{ fontSize: 14, textAlign: 'left' }}>Title 4</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('#### ');\n } else {\n insertAtLineStart('#### ', state.selection.start, api.textArea);\n }\n },\n};\n"
31
31
  ],
32
- "mappings": "AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,iBAAT,QAAkC,+BAAlC;;AAGA,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QADwB;EAE9BC,UAAU,EAAE,QAFkB;EAG9BC,SAAS,EAAE,WAHmB;EAI9BC,KAAK,EAAE,QAJuB;EAK9BC,WAAW,EAAE;IAAE,cAAc,0BAAhB;IAA4CC,KAAK,EAAE;EAAnD,CALiB;EAM9BC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAZ;MAAgBC,SAAS,EAAE;IAA3B,CAAZ;IAAA;EAAA,EANwB;EAO9BC,OAAO,EAAE,CAACC,KAAD,EAAmBC,GAAnB,KAA4C;IACnD,IAAID,KAAK,CAACE,SAAN,CAAgBC,KAAhB,KAA0B,CAA1B,IAA+B,MAAMC,IAAN,CAAWJ,KAAK,CAACK,IAAjB,CAAnC,EAA2D;MACzDJ,GAAG,CAACK,gBAAJ,CAAqB,OAArB;IACD,CAFD,MAEO;MACLlB,iBAAiB,CAAC,OAAD,EAAUY,KAAK,CAACE,SAAN,CAAgBC,KAA1B,EAAiCF,GAAG,CAACM,QAArC,CAAjB;IACD;EACF;AAb6B,CAAzB"
32
+ "mappings": "AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,iBAAiB,QAAQ,+BAA+B;AAAC;AAGlE,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,CAACC,KAAgB,EAAEC,GAAoB,KAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,OAAO,CAAC;IAC/B,CAAC,MAAM;MACLlB,iBAAiB,CAAC,OAAO,EAAEY,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACM,QAAQ,CAAC;IACjE;EACF;AACF,CAAC"
33
33
  }
@@ -29,5 +29,5 @@
29
29
  "sourcesContent": [
30
30
  "import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title5: ICommand = {\n name: 'title5',\n keyCommand: 'title5',\n shortcuts: 'ctrlcmd+5',\n value: 'title5',\n buttonProps: { 'aria-label': 'Insert title5 (ctrl + 5)', title: 'Insert title5 (ctrl + 5)' },\n icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Title 5</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('##### ');\n } else {\n insertAtLineStart('##### ', state.selection.start, api.textArea);\n }\n },\n};\n"
31
31
  ],
32
- "mappings": "AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,iBAAT,QAAkC,+BAAlC;;AAGA,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QADwB;EAE9BC,UAAU,EAAE,QAFkB;EAG9BC,SAAS,EAAE,WAHmB;EAI9BC,KAAK,EAAE,QAJuB;EAK9BC,WAAW,EAAE;IAAE,cAAc,0BAAhB;IAA4CC,KAAK,EAAE;EAAnD,CALiB;EAM9BC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAZ;MAAgBC,SAAS,EAAE;IAA3B,CAAZ;IAAA;EAAA,EANwB;EAO9BC,OAAO,EAAE,CAACC,KAAD,EAAmBC,GAAnB,KAA4C;IACnD,IAAID,KAAK,CAACE,SAAN,CAAgBC,KAAhB,KAA0B,CAA1B,IAA+B,MAAMC,IAAN,CAAWJ,KAAK,CAACK,IAAjB,CAAnC,EAA2D;MACzDJ,GAAG,CAACK,gBAAJ,CAAqB,QAArB;IACD,CAFD,MAEO;MACLlB,iBAAiB,CAAC,QAAD,EAAWY,KAAK,CAACE,SAAN,CAAgBC,KAA3B,EAAkCF,GAAG,CAACM,QAAtC,CAAjB;IACD;EACF;AAb6B,CAAzB"
32
+ "mappings": "AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,iBAAiB,QAAQ,+BAA+B;AAAC;AAGlE,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,CAACC,KAAgB,EAAEC,GAAoB,KAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,QAAQ,CAAC;IAChC,CAAC,MAAM;MACLlB,iBAAiB,CAAC,QAAQ,EAAEY,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACM,QAAQ,CAAC;IAClE;EACF;AACF,CAAC"
33
33
  }
@@ -29,5 +29,5 @@
29
29
  "sourcesContent": [
30
30
  "import * as React from 'react';\nimport { insertAtLineStart } from '../utils/InsertTextAtPosition';\nimport { ICommand, TextState, TextAreaTextApi } from './';\n\nexport const title6: ICommand = {\n name: 'title6',\n keyCommand: 'title6',\n shortcuts: 'ctrlcmd+6',\n value: 'title6',\n buttonProps: { 'aria-label': 'Insert title6 (ctrl + 6)', title: 'Insert title6 (ctrl + 6)' },\n icon: <div style={{ fontSize: 12, textAlign: 'left' }}>Title 6</div>,\n execute: (state: TextState, api: TextAreaTextApi) => {\n if (state.selection.start === 0 || /\\n$/.test(state.text)) {\n api.replaceSelection('###### ');\n } else {\n insertAtLineStart('###### ', state.selection.start, api.textArea);\n }\n },\n};\n"
31
31
  ],
32
- "mappings": "AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,iBAAT,QAAkC,+BAAlC;;AAGA,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QADwB;EAE9BC,UAAU,EAAE,QAFkB;EAG9BC,SAAS,EAAE,WAHmB;EAI9BC,KAAK,EAAE,QAJuB;EAK9BC,WAAW,EAAE;IAAE,cAAc,0BAAhB;IAA4CC,KAAK,EAAE;EAAnD,CALiB;EAM9BC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAZ;MAAgBC,SAAS,EAAE;IAA3B,CAAZ;IAAA;EAAA,EANwB;EAO9BC,OAAO,EAAE,CAACC,KAAD,EAAmBC,GAAnB,KAA4C;IACnD,IAAID,KAAK,CAACE,SAAN,CAAgBC,KAAhB,KAA0B,CAA1B,IAA+B,MAAMC,IAAN,CAAWJ,KAAK,CAACK,IAAjB,CAAnC,EAA2D;MACzDJ,GAAG,CAACK,gBAAJ,CAAqB,SAArB;IACD,CAFD,MAEO;MACLlB,iBAAiB,CAAC,SAAD,EAAYY,KAAK,CAACE,SAAN,CAAgBC,KAA5B,EAAmCF,GAAG,CAACM,QAAvC,CAAjB;IACD;EACF;AAb6B,CAAzB"
32
+ "mappings": "AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,iBAAiB,QAAQ,+BAA+B;AAAC;AAGlE,OAAO,IAAMC,MAAgB,GAAG;EAC9BC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE;IAAE,YAAY,EAAE,0BAA0B;IAAEC,KAAK,EAAE;EAA2B,CAAC;EAC5FC,IAAI,eAAE;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAO,CAAE;IAAA;EAAA,EAAc;EACpEC,OAAO,EAAE,CAACC,KAAgB,EAAEC,GAAoB,KAAK;IACnD,IAAID,KAAK,CAACE,SAAS,CAACC,KAAK,KAAK,CAAC,IAAI,KAAK,CAACC,IAAI,CAACJ,KAAK,CAACK,IAAI,CAAC,EAAE;MACzDJ,GAAG,CAACK,gBAAgB,CAAC,SAAS,CAAC;IACjC,CAAC,MAAM;MACLlB,iBAAiB,CAAC,SAAS,EAAEY,KAAK,CAACE,SAAS,CAACC,KAAK,EAAEF,GAAG,CAACM,QAAQ,CAAC;IACnE;EACF;AACF,CAAC"
33
33
  }
@@ -1,47 +1,41 @@
1
1
  import React, { useEffect, useMemo, useRef } from 'react';
2
2
  import "./index.css";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
-
5
4
  var DragBar = props => {
6
5
  var {
7
6
  prefixCls,
8
7
  onChange
9
8
  } = props || {};
10
9
  var dragRef = useRef();
11
-
12
10
  function handleMouseMove(event) {
13
11
  if (dragRef.current) {
14
12
  var newHeight = dragRef.current.height + event.clientY - dragRef.current.dragY;
15
-
16
13
  if (newHeight >= props.minHeight && newHeight <= props.maxHeight) {
17
14
  onChange && onChange(dragRef.current.height + (event.clientY - dragRef.current.dragY));
18
15
  }
19
16
  }
20
17
  }
21
-
22
18
  function handleMouseUp() {
23
19
  dragRef.current = undefined;
24
20
  }
25
-
26
21
  function handleMouseDown(event) {
27
22
  dragRef.current = {
28
23
  height: props.height,
29
24
  dragY: event.clientY
30
25
  };
31
26
  }
32
-
33
27
  useEffect(() => {
34
28
  if (document) {
35
29
  document.addEventListener('mousemove', handleMouseMove);
36
30
  document.addEventListener('mouseup', handleMouseUp);
37
31
  }
38
-
39
32
  return () => {
40
33
  if (document) {
41
34
  document.removeEventListener('mousemove', handleMouseMove);
42
35
  document.removeEventListener('mouseup', handleMouseUp);
43
36
  }
44
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
37
+ };
38
+ // eslint-disable-next-line react-hooks/exhaustive-deps
45
39
  }, []);
46
40
  var svg = useMemo(() => /*#__PURE__*/_jsx("svg", {
47
41
  viewBox: "0 0 512 512",
@@ -57,6 +51,5 @@ var DragBar = props => {
57
51
  children: svg
58
52
  });
59
53
  };
60
-
61
54
  export default DragBar;
62
55
  //# sourceMappingURL=index.js.map
@@ -33,5 +33,5 @@
33
33
  "sourcesContent": [
34
34
  "import React, { useEffect, useMemo, useRef } from 'react';\nimport { IProps } from '../../Editor';\nimport './index.less';\n\nexport interface IDragBarProps extends IProps {\n height: number;\n maxHeight: number;\n minHeight: number;\n onChange: (value: number) => void;\n}\n\nconst DragBar: React.FC<IDragBarProps> = (props) => {\n const { prefixCls, onChange } = props || {};\n const dragRef = useRef<{ height: number; dragY: number }>();\n function handleMouseMove(event: MouseEvent) {\n if (dragRef.current) {\n const newHeight = dragRef.current.height + event.clientY - dragRef.current.dragY;\n if (newHeight >= props.minHeight && newHeight <= props.maxHeight) {\n onChange && onChange(dragRef.current.height + (event.clientY - dragRef.current.dragY));\n }\n }\n }\n function handleMouseUp() {\n dragRef.current = undefined;\n }\n function handleMouseDown(event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n dragRef.current = {\n height: props.height,\n dragY: event.clientY,\n };\n }\n\n useEffect(() => {\n if (document) {\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n return () => {\n if (document) {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const svg = useMemo(\n () => (\n <svg viewBox=\"0 0 512 512\" height=\"100%\">\n <path\n fill=\"currentColor\"\n d=\"M304 256c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm120-48c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-336 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"\n />\n </svg>\n ),\n [],\n );\n return (\n <div className={`${prefixCls}-bar`} onMouseDown={handleMouseDown}>\n {svg}\n </div>\n );\n};\n\nexport default DragBar;\n"
35
35
  ],
36
- "mappings": "AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,OAA3B,EAAoCC,MAApC,QAAkD,OAAlD;AAEA;;;AASA,IAAMC,OAAgC,GAAIC,KAAD,IAAW;EAClD,IAAM;IAAEC,SAAF;IAAaC;EAAb,IAA0BF,KAAK,IAAI,EAAzC;EACA,IAAMG,OAAO,GAAGL,MAAM,EAAtB;;EACA,SAASM,eAAT,CAAyBC,KAAzB,EAA4C;IAC1C,IAAIF,OAAO,CAACG,OAAZ,EAAqB;MACnB,IAAMC,SAAS,GAAGJ,OAAO,CAACG,OAAR,CAAgBE,MAAhB,GAAyBH,KAAK,CAACI,OAA/B,GAAyCN,OAAO,CAACG,OAAR,CAAgBI,KAA3E;;MACA,IAAIH,SAAS,IAAIP,KAAK,CAACW,SAAnB,IAAgCJ,SAAS,IAAIP,KAAK,CAACY,SAAvD,EAAkE;QAChEV,QAAQ,IAAIA,QAAQ,CAACC,OAAO,CAACG,OAAR,CAAgBE,MAAhB,IAA0BH,KAAK,CAACI,OAAN,GAAgBN,OAAO,CAACG,OAAR,CAAgBI,KAA1D,CAAD,CAApB;MACD;IACF;EACF;;EACD,SAASG,aAAT,GAAyB;IACvBV,OAAO,CAACG,OAAR,GAAkBQ,SAAlB;EACD;;EACD,SAASC,eAAT,CAAyBV,KAAzB,EAA8E;IAC5EF,OAAO,CAACG,OAAR,GAAkB;MAChBE,MAAM,EAAER,KAAK,CAACQ,MADE;MAEhBE,KAAK,EAAEL,KAAK,CAACI;IAFG,CAAlB;EAID;;EAEDb,SAAS,CAAC,MAAM;IACd,IAAIoB,QAAJ,EAAc;MACZA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCb,eAAvC;MACAY,QAAQ,CAACC,gBAAT,CAA0B,SAA1B,EAAqCJ,aAArC;IACD;;IACD,OAAO,MAAM;MACX,IAAIG,QAAJ,EAAc;QACZA,QAAQ,CAACE,mBAAT,CAA6B,WAA7B,EAA0Cd,eAA1C;QACAY,QAAQ,CAACE,mBAAT,CAA6B,SAA7B,EAAwCL,aAAxC;MACD;IACF,CALD,CALc,CAWd;EACD,CAZQ,EAYN,EAZM,CAAT;EAaA,IAAMM,GAAG,GAAGtB,OAAO,CACjB,mBACE;IAAK,OAAO,EAAC,aAAb;IAA2B,MAAM,EAAC,MAAlC;IAAA,uBACE;MACE,IAAI,EAAC,cADP;MAEE,CAAC,EAAC;IAFJ;EADF,EAFe,EASjB,EATiB,CAAnB;EAWA,oBACE;IAAK,SAAS,EAAKI,SAAL,SAAd;IAAoC,WAAW,EAAEc,eAAjD;IAAA,UACGI;EADH,EADF;AAKD,CAlDD;;AAoDA,eAAepB,OAAf"
36
+ "mappings": "AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAEzD;AAAsB;AAStB,IAAMC,OAAgC,GAAIC,KAAK,IAAK;EAClD,IAAM;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAGF,KAAK,IAAI,CAAC,CAAC;EAC3C,IAAMG,OAAO,GAAGL,MAAM,EAAqC;EAC3D,SAASM,eAAe,CAACC,KAAiB,EAAE;IAC1C,IAAIF,OAAO,CAACG,OAAO,EAAE;MACnB,IAAMC,SAAS,GAAGJ,OAAO,CAACG,OAAO,CAACE,MAAM,GAAGH,KAAK,CAACI,OAAO,GAAGN,OAAO,CAACG,OAAO,CAACI,KAAK;MAChF,IAAIH,SAAS,IAAIP,KAAK,CAACW,SAAS,IAAIJ,SAAS,IAAIP,KAAK,CAACY,SAAS,EAAE;QAChEV,QAAQ,IAAIA,QAAQ,CAACC,OAAO,CAACG,OAAO,CAACE,MAAM,IAAIH,KAAK,CAACI,OAAO,GAAGN,OAAO,CAACG,OAAO,CAACI,KAAK,CAAC,CAAC;MACxF;IACF;EACF;EACA,SAASG,aAAa,GAAG;IACvBV,OAAO,CAACG,OAAO,GAAGQ,SAAS;EAC7B;EACA,SAASC,eAAe,CAACV,KAAmD,EAAE;IAC5EF,OAAO,CAACG,OAAO,GAAG;MAChBE,MAAM,EAAER,KAAK,CAACQ,MAAM;MACpBE,KAAK,EAAEL,KAAK,CAACI;IACf,CAAC;EACH;EAEAb,SAAS,CAAC,MAAM;IACd,IAAIoB,QAAQ,EAAE;MACZA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEb,eAAe,CAAC;MACvDY,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,aAAa,CAAC;IACrD;IACA,OAAO,MAAM;MACX,IAAIG,QAAQ,EAAE;QACZA,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEd,eAAe,CAAC;QAC1DY,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEL,aAAa,CAAC;MACxD;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EACN,IAAMM,GAAG,GAAGtB,OAAO,CACjB,mBACE;IAAK,OAAO,EAAC,aAAa;IAAC,MAAM,EAAC,MAAM;IAAA,uBACtC;MACE,IAAI,EAAC,cAAc;MACnB,CAAC,EAAC;IAA2N;EAC7N,EAEL,EACD,EAAE,CACH;EACD,oBACE;IAAK,SAAS,EAAKI,SAAS,SAAO;IAAC,WAAW,EAAEc,eAAgB;IAAA,UAC9DI;EAAG,EACA;AAEV,CAAC;AAED,eAAepB,OAAO"
37
37
  }
@@ -3,7 +3,6 @@ import { rehype } from 'rehype';
3
3
  import rehypePrism from 'rehype-prism-plus';
4
4
  import { EditorContext } from '../../Context';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
-
7
6
  function html2Escape(sHtml) {
8
7
  return sHtml.replace(/```(tsx?|jsx?|html|xml)(.*)\s+([\s\S]*?)(\s.+)?```/g, str => {
9
8
  return str.replace(/[<&"]/g, c => ({
@@ -19,7 +18,6 @@ function html2Escape(sHtml) {
19
18
  '"': '&quot;'
20
19
  })[c]);
21
20
  }
22
-
23
21
  export default function Markdown(props) {
24
22
  var {
25
23
  prefixCls
@@ -35,8 +33,8 @@ export default function Markdown(props) {
35
33
  dispatch({
36
34
  textareaPre: preRef.current
37
35
  });
38
- } // eslint-disable-next-line react-hooks/exhaustive-deps
39
-
36
+ }
37
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
38
  }, []);
41
39
  return useMemo(() => {
42
40
  if (!markdown) {
@@ -45,9 +43,7 @@ export default function Markdown(props) {
45
43
  className: prefixCls + "-text-pre wmde-markdown-color"
46
44
  });
47
45
  }
48
-
49
46
  var mdStr = "<pre class=\"language-markdown " + prefixCls + "-text-pre wmde-markdown-color\"><code class=\"language-markdown\">" + html2Escape(markdown) + "\n</code></pre>";
50
-
51
47
  if (highlightEnable) {
52
48
  try {
53
49
  mdStr = rehype().data('settings', {
@@ -57,7 +53,6 @@ export default function Markdown(props) {
57
53
  }).processSync(mdStr).toString();
58
54
  } catch (error) {}
59
55
  }
60
-
61
56
  return /*#__PURE__*/React.createElement('div', {
62
57
  className: 'wmde-markdown-color',
63
58
  dangerouslySetInnerHTML: {
@@ -42,5 +42,5 @@
42
42
  "sourcesContent": [
43
43
  "import React, { useContext, useEffect, useMemo } from 'react';\nimport { rehype } from 'rehype';\nimport rehypePrism from 'rehype-prism-plus';\nimport { IProps } from '../../Editor';\nimport { EditorContext } from '../../Context';\n\nfunction html2Escape(sHtml: string) {\n return sHtml\n .replace(/```(tsx?|jsx?|html|xml)(.*)\\s+([\\s\\S]*?)(\\s.+)?```/g, (str: string) => {\n return str.replace(\n /[<&\"]/g,\n (c: string) => (({ '<': '&lt;', '>': '&gt;', '&': '&amp;', '\"': '&quot;' } as Record<string, string>)[c]),\n );\n })\n .replace(\n /[<&\"]/g,\n (c: string) => (({ '<': '&lt;', '>': '&gt;', '&': '&amp;', '\"': '&quot;' } as Record<string, string>)[c]),\n );\n}\n\nexport interface MarkdownProps extends IProps, React.HTMLAttributes<HTMLPreElement> {}\n\nexport default function Markdown(props: MarkdownProps) {\n const { prefixCls } = props;\n const { markdown = '', highlightEnable, dispatch } = useContext(EditorContext);\n const preRef = React.createRef<HTMLPreElement>();\n useEffect(() => {\n if (preRef.current && dispatch) {\n dispatch({ textareaPre: preRef.current });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return useMemo(() => {\n if (!markdown) {\n return <pre ref={preRef} className={`${prefixCls}-text-pre wmde-markdown-color`} />;\n }\n let mdStr = `<pre class=\"language-markdown ${prefixCls}-text-pre wmde-markdown-color\"><code class=\"language-markdown\">${html2Escape(\n markdown,\n )}\\n</code></pre>`;\n\n if (highlightEnable) {\n try {\n mdStr = rehype()\n .data('settings', { fragment: true })\n .use(rehypePrism, { ignoreMissing: true })\n .processSync(mdStr)\n .toString();\n } catch (error) {}\n }\n\n return React.createElement('div', {\n className: 'wmde-markdown-color',\n dangerouslySetInnerHTML: { __html: mdStr || '' },\n });\n }, [markdown, preRef, prefixCls]);\n}\n"
44
44
  ],
45
- "mappings": "AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,SAA5B,EAAuCC,OAAvC,QAAsD,OAAtD;AACA,SAASC,MAAT,QAAuB,QAAvB;AACA,OAAOC,WAAP,MAAwB,mBAAxB;AAEA,SAASC,aAAT,QAA8B,eAA9B;;;AAEA,SAASC,WAAT,CAAqBC,KAArB,EAAoC;EAClC,OAAOA,KAAK,CACTC,OADI,CACI,qDADJ,EAC4DC,GAAD,IAAiB;IAC/E,OAAOA,GAAG,CAACD,OAAJ,CACL,QADK,EAEJE,CAAD,IAAgB,CAAC;MAAE,KAAK,MAAP;MAAe,KAAK,MAApB;MAA4B,KAAK,OAAjC;MAA0C,KAAK;IAA/C,CAAD,EAAsFA,CAAtF,CAFX,CAAP;EAID,CANI,EAOJF,OAPI,CAQH,QARG,EASFE,CAAD,IAAgB,CAAC;IAAE,KAAK,MAAP;IAAe,KAAK,MAApB;IAA4B,KAAK,OAAjC;IAA0C,KAAK;EAA/C,CAAD,EAAsFA,CAAtF,CATb,CAAP;AAWD;;AAID,eAAe,SAASC,QAAT,CAAkBC,KAAlB,EAAwC;EACrD,IAAM;IAAEC;EAAF,IAAgBD,KAAtB;EACA,IAAM;IAAEE,QAAQ,GAAG,EAAb;IAAiBC,eAAjB;IAAkCC;EAAlC,IAA+ChB,UAAU,CAACK,aAAD,CAA/D;EACA,IAAMY,MAAM,gBAAGlB,KAAK,CAACmB,SAAN,EAAf;EACAjB,SAAS,CAAC,MAAM;IACd,IAAIgB,MAAM,CAACE,OAAP,IAAkBH,QAAtB,EAAgC;MAC9BA,QAAQ,CAAC;QAAEI,WAAW,EAAEH,MAAM,CAACE;MAAtB,CAAD,CAAR;IACD,CAHa,CAId;;EACD,CALQ,EAKN,EALM,CAAT;EAOA,OAAOjB,OAAO,CAAC,MAAM;IACnB,IAAI,CAACY,QAAL,EAAe;MACb,oBAAO;QAAK,GAAG,EAAEG,MAAV;QAAkB,SAAS,EAAKJ,SAAL;MAA3B,EAAP;IACD;;IACD,IAAIQ,KAAK,uCAAoCR,SAApC,0EAA+GP,WAAW,CACjIQ,QADiI,CAA1H,oBAAT;;IAIA,IAAIC,eAAJ,EAAqB;MACnB,IAAI;QACFM,KAAK,GAAGlB,MAAM,GACXmB,IADK,CACA,UADA,EACY;UAAEC,QAAQ,EAAE;QAAZ,CADZ,EAELC,GAFK,CAEDpB,WAFC,EAEY;UAAEqB,aAAa,EAAE;QAAjB,CAFZ,EAGLC,WAHK,CAGOL,KAHP,EAILM,QAJK,EAAR;MAKD,CAND,CAME,OAAOC,KAAP,EAAc,CAAE;IACnB;;IAED,oBAAO7B,KAAK,CAAC8B,aAAN,CAAoB,KAApB,EAA2B;MAChCC,SAAS,EAAE,qBADqB;MAEhCC,uBAAuB,EAAE;QAAEC,MAAM,EAAEX,KAAK,IAAI;MAAnB;IAFO,CAA3B,CAAP;EAID,CAtBa,EAsBX,CAACP,QAAD,EAAWG,MAAX,EAAmBJ,SAAnB,CAtBW,CAAd;AAuBD"
45
+ "mappings": "AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC7D,SAASC,MAAM,QAAQ,QAAQ;AAC/B,OAAOC,WAAW,MAAM,mBAAmB;AAE3C,SAASC,aAAa,QAAQ,eAAe;AAAC;AAE9C,SAASC,WAAW,CAACC,KAAa,EAAE;EAClC,OAAOA,KAAK,CACTC,OAAO,CAAC,qDAAqD,EAAGC,GAAW,IAAK;IAC/E,OAAOA,GAAG,CAACD,OAAO,CAChB,QAAQ,EACPE,CAAS,IAAM,CAAC;MAAE,GAAG,EAAE,MAAM;MAAE,GAAG,EAAE,MAAM;MAAE,GAAG,EAAE,OAAO;MAAE,GAAG,EAAE;IAAS,CAAC,EAA4BA,CAAC,CAAE,CAC1G;EACH,CAAC,CAAC,CACDF,OAAO,CACN,QAAQ,EACPE,CAAS,IAAM,CAAC;IAAE,GAAG,EAAE,MAAM;IAAE,GAAG,EAAE,MAAM;IAAE,GAAG,EAAE,OAAO;IAAE,GAAG,EAAE;EAAS,CAAC,EAA4BA,CAAC,CAAE,CAC1G;AACL;AAIA,eAAe,SAASC,QAAQ,CAACC,KAAoB,EAAE;EACrD,IAAM;IAAEC;EAAU,CAAC,GAAGD,KAAK;EAC3B,IAAM;IAAEE,QAAQ,GAAG,EAAE;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAGhB,UAAU,CAACK,aAAa,CAAC;EAC9E,IAAMY,MAAM,gBAAGlB,KAAK,CAACmB,SAAS,EAAkB;EAChDjB,SAAS,CAAC,MAAM;IACd,IAAIgB,MAAM,CAACE,OAAO,IAAIH,QAAQ,EAAE;MAC9BA,QAAQ,CAAC;QAAEI,WAAW,EAAEH,MAAM,CAACE;MAAQ,CAAC,CAAC;IAC3C;IACA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOjB,OAAO,CAAC,MAAM;IACnB,IAAI,CAACY,QAAQ,EAAE;MACb,oBAAO;QAAK,GAAG,EAAEG,MAAO;QAAC,SAAS,EAAKJ,SAAS;MAAgC,EAAG;IACrF;IACA,IAAIQ,KAAK,uCAAoCR,SAAS,0EAAkEP,WAAW,CACjIQ,QAAQ,CACT,oBAAiB;IAElB,IAAIC,eAAe,EAAE;MACnB,IAAI;QACFM,KAAK,GAAGlB,MAAM,EAAE,CACbmB,IAAI,CAAC,UAAU,EAAE;UAAEC,QAAQ,EAAE;QAAK,CAAC,CAAC,CACpCC,GAAG,CAACpB,WAAW,EAAE;UAAEqB,aAAa,EAAE;QAAK,CAAC,CAAC,CACzCC,WAAW,CAACL,KAAK,CAAC,CAClBM,QAAQ,EAAE;MACf,CAAC,CAAC,OAAOC,KAAK,EAAE,CAAC;IACnB;IAEA,oBAAO7B,KAAK,CAAC8B,aAAa,CAAC,KAAK,EAAE;MAChCC,SAAS,EAAE,qBAAqB;MAChCC,uBAAuB,EAAE;QAAEC,MAAM,EAAEX,KAAK,IAAI;MAAG;IACjD,CAAC,CAAC;EACJ,CAAC,EAAE,CAACP,QAAQ,EAAEG,MAAM,EAAEJ,SAAS,CAAC,CAAC;AACnC"
46
46
  }
@@ -10,11 +10,10 @@ import "./index.css";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  export default function Textarea(props) {
12
12
  var {
13
- prefixCls,
14
- onChange: _onChange
15
- } = props,
16
- other = _objectWithoutPropertiesLoose(props, _excluded);
17
-
13
+ prefixCls,
14
+ onChange: _onChange
15
+ } = props,
16
+ other = _objectWithoutPropertiesLoose(props, _excluded);
18
17
  var {
19
18
  markdown,
20
19
  commands,
@@ -47,26 +46,24 @@ export default function Textarea(props) {
47
46
  textarea: textRef.current,
48
47
  commandOrchestrator
49
48
  });
50
- } // eslint-disable-next-line react-hooks/exhaustive-deps
51
-
49
+ }
50
+ // eslint-disable-next-line react-hooks/exhaustive-deps
52
51
  }, []);
53
-
54
52
  var onKeyDown = e => {
55
53
  handleKeyDown(e, tabSize, defaultTabEnable);
56
54
  shortcuts(e, [...(commands || []), ...(extraCommands || [])], executeRef.current, dispatch, statesRef.current);
57
55
  };
58
-
59
56
  useEffect(() => {
60
57
  if (textRef.current) {
61
58
  textRef.current.addEventListener('keydown', onKeyDown);
62
59
  }
63
-
64
60
  return () => {
65
61
  if (textRef.current) {
66
62
  // eslint-disable-next-line react-hooks/exhaustive-deps
67
63
  textRef.current.removeEventListener('keydown', onKeyDown);
68
64
  }
69
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
65
+ };
66
+ // eslint-disable-next-line react-hooks/exhaustive-deps
70
67
  }, []);
71
68
  return /*#__PURE__*/_jsx("textarea", _extends({
72
69
  autoComplete: "off",
@@ -43,5 +43,5 @@
43
43
  "sourcesContent": [
44
44
  "import React, { useContext, useEffect } from 'react';\nimport { IProps } from '../../Editor';\nimport { EditorContext, ExecuteCommandState } from '../../Context';\nimport { TextAreaCommandOrchestrator } from '../../commands';\nimport handleKeyDown from './handleKeyDown';\nimport shortcuts from './shortcuts';\nimport './index.less';\n\nexport interface TextAreaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value'>, IProps {}\n\nexport default function Textarea(props: TextAreaProps) {\n const { prefixCls, onChange, ...other } = props;\n const {\n markdown,\n commands,\n fullscreen,\n preview,\n highlightEnable,\n extraCommands,\n tabSize,\n defaultTabEnable,\n dispatch,\n } = useContext(EditorContext);\n const textRef = React.useRef<HTMLTextAreaElement>(null);\n const executeRef = React.useRef<TextAreaCommandOrchestrator>();\n const statesRef = React.useRef<ExecuteCommandState>({ fullscreen, preview });\n\n useEffect(() => {\n statesRef.current = { fullscreen, preview, highlightEnable };\n }, [fullscreen, preview, highlightEnable]);\n\n useEffect(() => {\n if (textRef.current && dispatch) {\n const commandOrchestrator = new TextAreaCommandOrchestrator(textRef.current);\n executeRef.current = commandOrchestrator;\n dispatch({ textarea: textRef.current, commandOrchestrator });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const onKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLTextAreaElement>) => {\n handleKeyDown(e, tabSize, defaultTabEnable);\n shortcuts(e, [...(commands || []), ...(extraCommands || [])], executeRef.current, dispatch, statesRef.current);\n };\n useEffect(() => {\n if (textRef.current) {\n textRef.current.addEventListener('keydown', onKeyDown);\n }\n return () => {\n if (textRef.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n textRef.current.removeEventListener('keydown', onKeyDown);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <textarea\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n {...other}\n ref={textRef}\n className={`${prefixCls}-text-input ${other.className ? other.className : ''}`}\n value={markdown}\n onChange={(e) => {\n dispatch && dispatch({ markdown: e.target.value });\n onChange && onChange(e);\n }}\n />\n );\n}\n"
45
45
  ],
46
- "mappings": "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"
46
+ "mappings": ";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAEpD,SAASC,aAAa,QAA6B,eAAe;AAClE,SAASC,2BAA2B,QAAQ,gBAAgB;AAC5D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,SAAS,MAAM,aAAa;AACnC;AAAsB;AAItB,eAAe,SAASC,QAAQ,CAACC,KAAoB,EAAE;EACrD,IAAM;MAAEC,SAAS;MAAEC,QAAQ,EAARA;IAAmB,CAAC,GAAGF,KAAK;IAAfG,KAAK,iCAAKH,KAAK;EAC/C,IAAM;IACJI,QAAQ;IACRC,QAAQ;IACRC,UAAU;IACVC,OAAO;IACPC,eAAe;IACfC,aAAa;IACbC,OAAO;IACPC,gBAAgB;IAChBC;EACF,CAAC,GAAGnB,UAAU,CAACE,aAAa,CAAC;EAC7B,IAAMkB,OAAO,GAAGrB,KAAK,CAACsB,MAAM,CAAsB,IAAI,CAAC;EACvD,IAAMC,UAAU,GAAGvB,KAAK,CAACsB,MAAM,EAA+B;EAC9D,IAAME,SAAS,GAAGxB,KAAK,CAACsB,MAAM,CAAsB;IAAER,UAAU;IAAEC;EAAQ,CAAC,CAAC;EAE5Eb,SAAS,CAAC,MAAM;IACdsB,SAAS,CAACC,OAAO,GAAG;MAAEX,UAAU;MAAEC,OAAO;MAAEC;IAAgB,CAAC;EAC9D,CAAC,EAAE,CAACF,UAAU,EAAEC,OAAO,EAAEC,eAAe,CAAC,CAAC;EAE1Cd,SAAS,CAAC,MAAM;IACd,IAAImB,OAAO,CAACI,OAAO,IAAIL,QAAQ,EAAE;MAC/B,IAAMM,mBAAmB,GAAG,IAAItB,2BAA2B,CAACiB,OAAO,CAACI,OAAO,CAAC;MAC5EF,UAAU,CAACE,OAAO,GAAGC,mBAAmB;MACxCN,QAAQ,CAAC;QAAEO,QAAQ,EAAEN,OAAO,CAACI,OAAO;QAAEC;MAAoB,CAAC,CAAC;IAC9D;IACA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAME,SAAS,GAAIC,CAA2D,IAAK;IACjFxB,aAAa,CAACwB,CAAC,EAAEX,OAAO,EAAEC,gBAAgB,CAAC;IAC3Cb,SAAS,CAACuB,CAAC,EAAE,CAAC,IAAIhB,QAAQ,IAAI,EAAE,CAAC,EAAE,IAAII,aAAa,IAAI,EAAE,CAAC,CAAC,EAAEM,UAAU,CAACE,OAAO,EAAEL,QAAQ,EAAEI,SAAS,CAACC,OAAO,CAAC;EAChH,CAAC;EACDvB,SAAS,CAAC,MAAM;IACd,IAAImB,OAAO,CAACI,OAAO,EAAE;MACnBJ,OAAO,CAACI,OAAO,CAACK,gBAAgB,CAAC,SAAS,EAAEF,SAAS,CAAC;IACxD;IACA,OAAO,MAAM;MACX,IAAIP,OAAO,CAACI,OAAO,EAAE;QACnB;QACAJ,OAAO,CAACI,OAAO,CAACM,mBAAmB,CAAC,SAAS,EAAEH,SAAS,CAAC;MAC3D;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IACE,YAAY,EAAC,KAAK;IAClB,WAAW,EAAC,KAAK;IACjB,cAAc,EAAC,KAAK;IACpB,UAAU,EAAE;EAAM,GACdjB,KAAK;IACT,GAAG,EAAEU,OAAQ;IACb,SAAS,EAAKZ,SAAS,qBAAeE,KAAK,CAACqB,SAAS,GAAGrB,KAAK,CAACqB,SAAS,GAAG,EAAE,CAAG;IAC/E,KAAK,EAAEpB,QAAS;IAChB,QAAQ,EAAGiB,CAAC,IAAK;MACfT,QAAQ,IAAIA,QAAQ,CAAC;QAAER,QAAQ,EAAEiB,CAAC,CAACI,MAAM,CAACC;MAAM,CAAC,CAAC;MAClDxB,SAAQ,IAAIA,SAAQ,CAACmB,CAAC,CAAC;IACzB;EAAE,GACF;AAEN"
47
47
  }
@@ -1,51 +1,43 @@
1
1
  import { insertTextAtPosition } from '../../utils/InsertTextAtPosition';
2
2
  import { TextAreaTextApi } from '../../commands';
3
3
  import { insertBeforeEachLine } from '../../commands/list';
4
+
4
5
  /**
5
6
  * - `13` - `Enter`
6
7
  * - `9` - `Tab`
7
8
  */
8
-
9
9
  function stopPropagation(e) {
10
10
  e.stopPropagation();
11
11
  e.preventDefault();
12
12
  }
13
-
14
13
  export default function handleKeyDown(e, tabSize, defaultTabEnable) {
15
14
  if (tabSize === void 0) {
16
15
  tabSize = 2;
17
16
  }
18
-
19
17
  if (defaultTabEnable === void 0) {
20
18
  defaultTabEnable = false;
21
19
  }
22
-
23
20
  var target = e.target;
24
21
  var starVal = target.value.substr(0, target.selectionStart);
25
22
  var valArr = starVal.split('\n');
26
23
  var currentLineStr = valArr[valArr.length - 1];
27
24
  var textArea = new TextAreaTextApi(target);
25
+
28
26
  /**
29
27
  * `9` - `Tab`
30
28
  */
31
-
32
29
  if (!defaultTabEnable && e.code && e.code.toLowerCase() === 'tab') {
33
30
  stopPropagation(e);
34
31
  var space = new Array(tabSize + 1).join(' ');
35
-
36
32
  if (target.selectionStart !== target.selectionEnd) {
37
33
  var _star = target.value.substring(0, target.selectionStart).split('\n');
38
-
39
34
  var _end = target.value.substring(0, target.selectionEnd).split('\n');
40
-
41
35
  var modifiedTextLine = [];
42
-
43
36
  _end.forEach((item, idx) => {
44
37
  if (item !== _star[idx]) {
45
38
  modifiedTextLine.push(item);
46
39
  }
47
40
  });
48
-
49
41
  var modifiedText = modifiedTextLine.join('\n');
50
42
  var oldSelectText = target.value.substring(target.selectionStart, target.selectionEnd);
51
43
  var newStarNum = target.value.substring(0, target.selectionStart).length;
@@ -55,11 +47,9 @@ export default function handleKeyDown(e, tabSize, defaultTabEnable) {
55
47
  });
56
48
  var modifiedTextObj = insertBeforeEachLine(modifiedText, e.shiftKey ? '' : space);
57
49
  var text = modifiedTextObj.modifiedText;
58
-
59
50
  if (e.shiftKey) {
60
51
  text = text.split('\n').map(item => item.replace(new RegExp("^" + space), '')).join('\n');
61
52
  }
62
-
63
53
  textArea.replaceSelection(text);
64
54
  var startTabSize = e.shiftKey ? -tabSize : tabSize;
65
55
  var endTabSize = e.shiftKey ? -modifiedTextLine.length * tabSize : modifiedTextLine.length * tabSize;
@@ -76,21 +66,17 @@ export default function handleKeyDown(e, tabSize, defaultTabEnable) {
76
66
  */
77
67
  stopPropagation(e);
78
68
  var startStr = '\n- ';
79
-
80
69
  if (currentLineStr.startsWith('*')) {
81
70
  startStr = '\n* ';
82
71
  }
83
-
84
72
  if (currentLineStr.startsWith('- [ ]')) {
85
73
  startStr = '\n- [ ] ';
86
74
  } else if (currentLineStr.startsWith('- [X]')) {
87
75
  startStr = '\n- [X] ';
88
76
  }
89
-
90
77
  if (/^\d+.\s/.test(currentLineStr)) {
91
78
  startStr = "\n" + (parseInt(currentLineStr) + 1) + ". ";
92
79
  }
93
-
94
80
  return insertTextAtPosition(target, startStr);
95
81
  }
96
82
  }
@@ -61,5 +61,5 @@
61
61
  "sourcesContent": [
62
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
63
  ],
64
- "mappings": "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"
64
+ "mappings": "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"
65
65
  }
@@ -12,14 +12,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
13
  export default function TextArea(props) {
14
14
  var _ref = props || {},
15
- {
16
- prefixCls,
17
- className,
18
- onScroll,
19
- renderTextarea
20
- } = _ref,
21
- otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
22
-
15
+ {
16
+ prefixCls,
17
+ className,
18
+ onScroll,
19
+ renderTextarea
20
+ } = _ref,
21
+ otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
23
22
  var {
24
23
  markdown,
25
24
  scrollTop,
@@ -33,28 +32,25 @@ export default function TextArea(props) {
33
32
  var warp = /*#__PURE__*/React.createRef();
34
33
  useEffect(() => {
35
34
  var state = {};
36
-
37
35
  if (warp.current) {
38
36
  state.textareaWarp = warp.current || undefined;
39
37
  warp.current.scrollTop = scrollTop || 0;
40
38
  }
41
-
42
39
  if (dispatch) {
43
40
  dispatch(_extends({}, state));
44
- } // eslint-disable-next-line react-hooks/exhaustive-deps
45
-
41
+ }
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
46
43
  }, []);
47
44
  useEffect(() => {
48
45
  if (textRef.current && dispatch) {
49
46
  var _commandOrchestrator = new TextAreaCommandOrchestrator(textRef.current);
50
-
51
47
  executeRef.current = _commandOrchestrator;
52
48
  dispatch({
53
49
  textarea: textRef.current,
54
50
  commandOrchestrator: _commandOrchestrator
55
51
  });
56
- } // eslint-disable-next-line react-hooks/exhaustive-deps
57
-
52
+ }
53
+ // eslint-disable-next-line react-hooks/exhaustive-deps
58
54
  }, []);
59
55
  var textStyle = highlightEnable ? {} : {
60
56
  WebkitTextFillColor: 'initial',
@@ -53,5 +53,5 @@
53
53
  "sourcesContent": [
54
54
  "import React, { useEffect, Fragment, useContext } from 'react';\nimport { EditorContext, ContextStore, ExecuteCommandState } from '../../Context';\nimport shortcuts from './shortcuts';\nimport Markdown from './Markdown';\nimport Textarea, { TextAreaProps } from './Textarea';\nimport { IProps } from '../../Editor';\nimport { TextAreaCommandOrchestrator, ICommand } from '../../commands';\nimport './index.less';\n\ntype RenderTextareaHandle = {\n dispatch: ContextStore['dispatch'];\n onChange?: TextAreaProps['onChange'];\n useContext?: {\n commands: ContextStore['commands'];\n extraCommands: ContextStore['extraCommands'];\n commandOrchestrator?: TextAreaCommandOrchestrator;\n };\n shortcuts?: (\n e: KeyboardEvent | React.KeyboardEvent<HTMLTextAreaElement>,\n commands: ICommand[],\n commandOrchestrator?: TextAreaCommandOrchestrator,\n dispatch?: React.Dispatch<ContextStore>,\n state?: ExecuteCommandState,\n ) => void;\n};\n\nexport interface ITextAreaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'onScroll'>,\n IProps {\n value?: string;\n onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;\n renderTextarea?: (\n props: React.TextareaHTMLAttributes<HTMLTextAreaElement> | React.HTMLAttributes<HTMLDivElement>,\n opts: RenderTextareaHandle,\n ) => JSX.Element;\n}\n\nexport type TextAreaRef = {\n text?: HTMLTextAreaElement;\n warp?: HTMLDivElement;\n};\n\nexport default function TextArea(props: ITextAreaProps) {\n const { prefixCls, className, onScroll, renderTextarea, ...otherProps } = props || {};\n const { markdown, scrollTop, commands, highlightEnable, extraCommands, dispatch } = useContext(EditorContext);\n const textRef = React.useRef<HTMLTextAreaElement>(null);\n const executeRef = React.useRef<TextAreaCommandOrchestrator>();\n const warp = React.createRef<HTMLDivElement>();\n useEffect(() => {\n const state: ContextStore = {};\n if (warp.current) {\n state.textareaWarp = warp.current || undefined;\n warp.current.scrollTop = scrollTop || 0;\n }\n if (dispatch) {\n dispatch({ ...state });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (textRef.current && dispatch) {\n const commandOrchestrator = new TextAreaCommandOrchestrator(textRef.current);\n executeRef.current = commandOrchestrator;\n dispatch({ textarea: textRef.current, commandOrchestrator });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const textStyle: React.CSSProperties = highlightEnable ? {} : { WebkitTextFillColor: 'initial', overflow: 'auto' };\n\n return (\n <div ref={warp} className={`${prefixCls}-aree ${className || ''}`} onScroll={onScroll}>\n <div className={`${prefixCls}-text`}>\n {renderTextarea ? (\n React.cloneElement(\n renderTextarea(\n {\n ...otherProps,\n value: markdown,\n autoComplete: 'off',\n autoCorrect: 'off',\n spellCheck: 'false',\n autoCapitalize: 'off',\n className: `${prefixCls}-text-input`,\n style: {\n WebkitTextFillColor: 'inherit',\n overflow: 'auto',\n },\n },\n {\n dispatch,\n onChange: otherProps.onChange,\n shortcuts,\n useContext: { commands, extraCommands, commandOrchestrator: executeRef.current },\n },\n ),\n {\n ref: textRef,\n },\n )\n ) : (\n <Fragment>\n {highlightEnable && <Markdown prefixCls={prefixCls} />}\n <Textarea prefixCls={prefixCls} {...otherProps} style={textStyle} />\n </Fragment>\n )}\n </div>\n </div>\n );\n}\n"
55
55
  ],
56
- "mappings": "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"
56
+ "mappings": "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"
57
57
  }