vditor 3.8.11 → 3.8.14

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 (71) hide show
  1. package/dist/index.css +1807 -2
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.min.js +1 -1
  4. package/dist/js/highlight.js/solidity.min.js +73 -0
  5. package/dist/js/highlight.js/styles/abap.css +89 -0
  6. package/dist/js/highlight.js/styles/algol.css +98 -0
  7. package/dist/js/highlight.js/styles/algol_nu.css +45 -0
  8. package/dist/js/highlight.js/styles/arduino.css +90 -0
  9. package/dist/js/highlight.js/styles/autumn.css +71 -0
  10. package/dist/js/highlight.js/styles/borland.css +88 -0
  11. package/dist/js/highlight.js/styles/bw.css +102 -0
  12. package/dist/js/highlight.js/styles/colorful.css +85 -0
  13. package/dist/js/highlight.js/styles/dracula.css +78 -0
  14. package/dist/js/highlight.js/styles/emacs.css +97 -0
  15. package/dist/js/highlight.js/styles/friendly.css +113 -0
  16. package/dist/js/highlight.js/styles/fruity.css +71 -0
  17. package/dist/js/highlight.js/styles/github.css +100 -0
  18. package/dist/js/highlight.js/styles/igor.css +85 -0
  19. package/dist/js/highlight.js/styles/lovelace.css +71 -0
  20. package/dist/js/highlight.js/styles/manni.css +69 -0
  21. package/dist/js/highlight.js/styles/monokai.css +71 -0
  22. package/dist/js/highlight.js/styles/monokailight.css +108 -0
  23. package/dist/js/highlight.js/styles/murphy.css +71 -0
  24. package/dist/js/highlight.js/styles/native.css +97 -0
  25. package/dist/js/highlight.js/styles/paraiso-dark.css +73 -0
  26. package/dist/js/highlight.js/styles/paraiso-light.css +72 -0
  27. package/dist/js/highlight.js/styles/pastie.css +108 -0
  28. package/dist/js/highlight.js/styles/perldoc.css +74 -0
  29. package/dist/js/highlight.js/styles/pygments.css +89 -0
  30. package/dist/js/highlight.js/styles/rainbow_dash.css +97 -0
  31. package/dist/js/highlight.js/styles/rrt.css +113 -0
  32. package/dist/js/highlight.js/styles/solarized-dark.css +85 -0
  33. package/dist/js/highlight.js/styles/solarized-dark256.css +84 -0
  34. package/dist/js/highlight.js/styles/solarized-light.css +84 -0
  35. package/dist/js/highlight.js/styles/swapoff.css +92 -0
  36. package/dist/js/highlight.js/styles/tango.css +99 -0
  37. package/dist/js/highlight.js/styles/trac.css +99 -0
  38. package/dist/js/highlight.js/styles/vim.css +83 -0
  39. package/dist/js/highlight.js/styles/vs.css +69 -0
  40. package/dist/js/highlight.js/styles/xcode.css +105 -0
  41. package/dist/js/highlight.js/yul.min.js +30 -0
  42. package/dist/js/lute/lute.min.js +47 -47
  43. package/dist/method.min.js +1 -1
  44. package/dist/ts/toolbar/Emoji.d.ts +1 -1
  45. package/dist/types/index.d.ts +2 -0
  46. package/package.json +14 -7
  47. package/src/assets/{scss/_content.scss → less/_content.less} +8 -9
  48. package/src/assets/{scss/_hint.scss → less/_hint.less} +0 -0
  49. package/src/assets/{scss/_ir.scss → less/_ir.less} +4 -4
  50. package/src/assets/{scss/_panel.scss → less/_panel.less} +4 -4
  51. package/src/assets/{scss/_reset.scss → less/_reset.less} +13 -13
  52. package/src/assets/{scss/_sv.scss → less/_sv.less} +1 -2
  53. package/src/assets/{scss/_toolbar.scss → less/_toolbar.less} +3 -3
  54. package/src/assets/{scss/_tooltipped.scss → less/_tooltipped.less} +15 -15
  55. package/src/assets/{scss/_wysiwyg.scss → less/_wysiwyg.less} +3 -3
  56. package/src/assets/{scss/index.scss → less/index.less} +27 -22
  57. package/src/index.ts +6 -3
  58. package/src/ts/constants.ts +59 -56
  59. package/src/ts/ir/index.ts +5 -0
  60. package/src/ts/markdown/highlightRender.ts +65 -61
  61. package/src/ts/sv/index.ts +6 -0
  62. package/src/ts/tip/index.ts +13 -5
  63. package/src/ts/toolbar/Emoji.ts +19 -20
  64. package/src/ts/ui/initUI.ts +159 -151
  65. package/src/ts/undo/index.ts +3 -0
  66. package/src/ts/upload/index.ts +1 -1
  67. package/src/ts/util/Options.ts +5 -0
  68. package/src/ts/util/editorCommonEvent.ts +2 -2
  69. package/src/ts/util/fixBrowserBehavior.ts +1248 -1245
  70. package/src/ts/wysiwyg/highlightToolbarWYSIWYG.ts +11 -16
  71. package/src/ts/wysiwyg/index.ts +2 -0
@@ -588,14 +588,18 @@ export const highlightToolbarWYSIWYG = (vditor: IVditor) => {
588
588
  setPopoverPosition(vditor, footnotesRefElement);
589
589
  }
590
590
 
591
- let blockRenderElement = hasClosestByClassName(typeElement, "vditor-wysiwyg__block") as HTMLElement;
592
591
  // block popover: math-inline, math-block, html-block, html-inline, code-block, html-entity
593
- if (
594
- blockRenderElement &&
595
- blockRenderElement.getAttribute("data-type").indexOf("block") > -1
596
- ) {
597
- const lang: keyof II18n | "" = vditor.options.lang;
598
- const options: IOptions = vditor.options;
592
+ let blockRenderElement = hasClosestByClassName(typeElement, "vditor-wysiwyg__block") as HTMLElement;
593
+ const isBlock = blockRenderElement ? blockRenderElement.getAttribute("data-type").indexOf("block") > -1 : false;
594
+ vditor.wysiwyg.element
595
+ .querySelectorAll(".vditor-wysiwyg__preview")
596
+ .forEach((itemElement) => {
597
+ if (!blockRenderElement || (blockRenderElement && isBlock && !blockRenderElement.contains(itemElement))) {
598
+ const previousElement = itemElement.previousElementSibling as HTMLElement;
599
+ previousElement.style.display = "none";
600
+ }
601
+ });
602
+ if (blockRenderElement && isBlock) {
599
603
  vditor.wysiwyg.popover.innerHTML = "";
600
604
  genUp(range, blockRenderElement, vditor);
601
605
  genDown(range, blockRenderElement, vditor);
@@ -694,17 +698,8 @@ export const highlightToolbarWYSIWYG = (vditor: IVditor) => {
694
698
  }
695
699
  setPopoverPosition(vditor, blockRenderElement);
696
700
  } else {
697
- if (!blockRenderElement) {
698
- vditor.wysiwyg.element
699
- .querySelectorAll(".vditor-wysiwyg__preview")
700
- .forEach((itemElement) => {
701
- const previousElement = itemElement.previousElementSibling as HTMLElement;
702
- previousElement.style.display = "none";
703
- });
704
- }
705
701
  blockRenderElement = undefined;
706
702
  }
707
-
708
703
  if (headingElement) {
709
704
  vditor.wysiwyg.popover.innerHTML = "";
710
705
 
@@ -335,9 +335,11 @@ class WYSIWYG {
335
335
  }
336
336
  if (this.preventInput) {
337
337
  this.preventInput = false;
338
+ afterRenderEvent(vditor);
338
339
  return;
339
340
  }
340
341
  if (this.composingLock || event.data === "‘" || event.data === "“" || event.data === "《") {
342
+ afterRenderEvent(vditor);
341
343
  return;
342
344
  }
343
345
  const range = getSelection().getRangeAt(0);