@uiw/react-md-editor 3.18.0 → 3.18.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.
Files changed (109) hide show
  1. package/README.md +75 -8
  2. package/dist/mdeditor.css +0 -1
  3. package/dist/mdeditor.js +125 -225
  4. package/dist/mdeditor.min.css +1 -1
  5. package/dist/mdeditor.min.js +1 -1
  6. package/esm/Editor.d.ts +4 -5
  7. package/esm/Editor.js +20 -15
  8. package/esm/Editor.js.map +7 -3
  9. package/esm/commands/bold.js +3 -2
  10. package/esm/commands/bold.js.map +3 -2
  11. package/esm/commands/code.js +6 -4
  12. package/esm/commands/code.js.map +3 -2
  13. package/esm/commands/comment.js +5 -0
  14. package/esm/commands/comment.js.map +5 -2
  15. package/esm/commands/fullscreen.js +4 -3
  16. package/esm/commands/fullscreen.js.map +3 -2
  17. package/esm/commands/hr.js +3 -2
  18. package/esm/commands/hr.js.map +3 -2
  19. package/esm/commands/image.js +4 -3
  20. package/esm/commands/image.js.map +3 -2
  21. package/esm/commands/italic.js +3 -2
  22. package/esm/commands/italic.js.map +3 -2
  23. package/esm/commands/link.js +4 -3
  24. package/esm/commands/link.js.map +3 -2
  25. package/esm/commands/list.js +10 -7
  26. package/esm/commands/list.js.map +3 -2
  27. package/esm/commands/preview.js +9 -6
  28. package/esm/commands/preview.js.map +3 -2
  29. package/esm/commands/quote.js +2 -2
  30. package/esm/commands/quote.js.map +2 -2
  31. package/esm/commands/strikeThrough.js +3 -2
  32. package/esm/commands/strikeThrough.js.map +3 -2
  33. package/esm/commands/title.js +2 -2
  34. package/esm/commands/title.js.map +2 -2
  35. package/esm/commands/title1.js +3 -2
  36. package/esm/commands/title1.js.map +3 -2
  37. package/esm/commands/title2.js +3 -2
  38. package/esm/commands/title2.js.map +3 -2
  39. package/esm/commands/title3.js +3 -2
  40. package/esm/commands/title3.js.map +3 -2
  41. package/esm/commands/title4.js +3 -2
  42. package/esm/commands/title4.js.map +3 -2
  43. package/esm/commands/title5.js +3 -2
  44. package/esm/commands/title5.js.map +3 -2
  45. package/esm/commands/title6.js +3 -2
  46. package/esm/commands/title6.js.map +3 -2
  47. package/lib/Editor.d.ts +4 -5
  48. package/lib/Editor.js +26 -19
  49. package/lib/Editor.js.map +7 -3
  50. package/lib/commands/bold.js +3 -2
  51. package/lib/commands/bold.js.map +3 -2
  52. package/lib/commands/code.js +6 -4
  53. package/lib/commands/code.js.map +3 -2
  54. package/lib/commands/comment.js +5 -0
  55. package/lib/commands/comment.js.map +5 -2
  56. package/lib/commands/fullscreen.js +4 -3
  57. package/lib/commands/fullscreen.js.map +3 -2
  58. package/lib/commands/hr.js +3 -2
  59. package/lib/commands/hr.js.map +3 -2
  60. package/lib/commands/image.js +4 -3
  61. package/lib/commands/image.js.map +3 -2
  62. package/lib/commands/italic.js +3 -2
  63. package/lib/commands/italic.js.map +3 -2
  64. package/lib/commands/link.js +4 -3
  65. package/lib/commands/link.js.map +3 -2
  66. package/lib/commands/list.js +10 -7
  67. package/lib/commands/list.js.map +3 -2
  68. package/lib/commands/preview.js +9 -6
  69. package/lib/commands/preview.js.map +3 -2
  70. package/lib/commands/quote.js +2 -2
  71. package/lib/commands/quote.js.map +2 -2
  72. package/lib/commands/strikeThrough.js +3 -2
  73. package/lib/commands/strikeThrough.js.map +3 -2
  74. package/lib/commands/title.js +2 -2
  75. package/lib/commands/title.js.map +2 -2
  76. package/lib/commands/title1.js +3 -2
  77. package/lib/commands/title1.js.map +3 -2
  78. package/lib/commands/title2.js +3 -2
  79. package/lib/commands/title2.js.map +3 -2
  80. package/lib/commands/title3.js +3 -2
  81. package/lib/commands/title3.js.map +3 -2
  82. package/lib/commands/title4.js +3 -2
  83. package/lib/commands/title4.js.map +3 -2
  84. package/lib/commands/title5.js +3 -2
  85. package/lib/commands/title5.js.map +3 -2
  86. package/lib/commands/title6.js +3 -2
  87. package/lib/commands/title6.js.map +3 -2
  88. package/package.json +1 -1
  89. package/src/Editor.tsx +14 -28
  90. package/src/__test__/commands.test.tsx +26 -26
  91. package/src/commands/bold.tsx +2 -1
  92. package/src/commands/code.tsx +4 -2
  93. package/src/commands/comment.tsx +2 -0
  94. package/src/commands/fullscreen.tsx +3 -2
  95. package/src/commands/hr.tsx +2 -1
  96. package/src/commands/image.tsx +3 -2
  97. package/src/commands/italic.tsx +2 -1
  98. package/src/commands/link.tsx +3 -2
  99. package/src/commands/list.tsx +10 -4
  100. package/src/commands/preview.tsx +6 -3
  101. package/src/commands/quote.tsx +1 -1
  102. package/src/commands/strikeThrough.tsx +5 -1
  103. package/src/commands/title.tsx +2 -2
  104. package/src/commands/title1.tsx +2 -1
  105. package/src/commands/title2.tsx +2 -1
  106. package/src/commands/title3.tsx +2 -1
  107. package/src/commands/title4.tsx +2 -1
  108. package/src/commands/title5.tsx +2 -1
  109. package/src/commands/title6.tsx +2 -1
package/README.md CHANGED
@@ -163,15 +163,15 @@ const title3 = {
163
163
  };
164
164
 
165
165
  const title2 = {
166
- name: 'title3',
167
- keyCommand: 'title3',
166
+ name: 'title2',
167
+ keyCommand: 'title2',
168
168
  render: (command, disabled, executeCommand) => {
169
169
  return (
170
170
  <button
171
- aria-label="Insert title3"
171
+ aria-label="Insert title2"
172
172
  disabled={disabled}
173
173
  onClick={(evn) => {
174
- evn.stopPropagation();
174
+ // evn.stopPropagation();
175
175
  executeCommand(command, command.groupName)
176
176
  }}
177
177
  >
@@ -329,6 +329,72 @@ export default function App() {
329
329
  }
330
330
  ```
331
331
 
332
+ Custom Preview Command Tool
333
+
334
+ [![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-md-editor-custom-toolbars-https-github-com-uiwjs-react-md-editor-issues-433-9mwuob?fontsize=14&hidenavigation=1&theme=dark)
335
+
336
+ ```jsx mdx:preview
337
+ import React, { useContext } from "react";
338
+ import MDEditor, { commands, EditorContext } from "@uiw/react-md-editor";
339
+
340
+ const Button = () => {
341
+ const { preview, dispatch } = useContext(EditorContext);
342
+ const click = () => {
343
+ dispatch({
344
+ preview: preview === "edit" ? "preview" : "edit"
345
+ });
346
+ };
347
+ if (preview === "edit") {
348
+ return (
349
+ <svg width="12" height="12" viewBox="0 0 520 520" onClick={click}>
350
+ <polygon
351
+ fill="currentColor"
352
+ points="0 71.293 0 122 319 122 319 397 0 397 0 449.707 372 449.413 372 71.293"
353
+ />
354
+ <polygon
355
+ fill="currentColor"
356
+ points="429 71.293 520 71.293 520 122 481 123 481 396 520 396 520 449.707 429 449.413"
357
+ />
358
+ </svg>
359
+ );
360
+ }
361
+ return (
362
+ <svg width="12" height="12" viewBox="0 0 520 520" onClick={click}>
363
+ <polygon
364
+ fill="currentColor"
365
+ points="0 71.293 0 122 38.023 123 38.023 398 0 397 0 449.707 91.023 450.413 91.023 72.293"
366
+ />
367
+ <polygon
368
+ fill="currentColor"
369
+ points="148.023 72.293 520 71.293 520 122 200.023 124 200.023 397 520 396 520 449.707 148.023 450.413"
370
+ />
371
+ </svg>
372
+ );
373
+ };
374
+
375
+ const codePreview = {
376
+ name: "preview",
377
+ keyCommand: "preview",
378
+ value: "preview",
379
+ icon: <Button />
380
+ };
381
+
382
+ export default function App() {
383
+ const [value, setValue] = React.useState("**Hello world!!!**");
384
+ return (
385
+ <div className="container">
386
+ <div>The system automatically sets the theme</div>
387
+ <MDEditor
388
+ value={value}
389
+ preview="edit"
390
+ extraCommands={[codePreview, commands.fullscreen]}
391
+ onChange={(val) => setValue(val)}
392
+ />
393
+ </div>
394
+ );
395
+ }
396
+ ```
397
+
332
398
  ### Editor Font Size
333
399
 
334
400
  [![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/markdown-editor-for-react-uiwjs-react-md-editor-issues-425-2epmgh?fontsize=14&hidenavigation=1&theme=dark)
@@ -433,7 +499,7 @@ export default function App() {
433
499
  [![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-md-editor-text-to-images-ijqmx?fontsize=14&hidenavigation=1&theme=dark)
434
500
 
435
501
  ```tsx mdx:preview
436
- import React from "react";
502
+ import React, { useState } from "react";
437
503
  import MDEditor, { commands, ICommand, TextState, TextAreaTextApi } from "@uiw/react-md-editor";
438
504
  import domToImage from "dom-to-image";
439
505
 
@@ -460,11 +526,14 @@ const textToImage: ICommand = {
460
526
  };
461
527
 
462
528
  export default function App() {
529
+ const [value, setValue] = useState('**Hello world!!!**');
530
+ console.log('value::', value)
463
531
  return (
464
532
  <div className="container">
465
533
  <MDEditor
466
534
  className="gooooooooo"
467
- value="**Hello world!!!**"
535
+ onChange={(newValue = "") => setValue(newValue)}
536
+ value={value}
468
537
  commands={[
469
538
  textToImage,
470
539
  commands.divider
@@ -573,8 +642,6 @@ export default function App() {
573
642
  />
574
643
  );
575
644
  }
576
-
577
- ReactDOM.render(<App />, document.getElementById("container"));
578
645
  ```
579
646
 
580
647
  ### Support Nextjs
package/dist/mdeditor.css CHANGED
@@ -1276,7 +1276,6 @@ body[data-color-mode*='light'] {
1276
1276
  flex-direction: column;
1277
1277
  }
1278
1278
  .w-md-editor-toolbar {
1279
- height: -webkit-fit-content;
1280
1279
  height: -moz-fit-content;
1281
1280
  height: fit-content;
1282
1281
  }