@yltrcc/vditor 0.0.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 (651) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +693 -0
  3. package/dist/css/content-theme/ant-design.css +210 -0
  4. package/dist/css/content-theme/dark.css +123 -0
  5. package/dist/css/content-theme/light.css +101 -0
  6. package/dist/css/content-theme/wechat.css +94 -0
  7. package/dist/images/emoji/b3log.png +0 -0
  8. package/dist/images/emoji/chainbook.png +0 -0
  9. package/dist/images/emoji/doge.png +0 -0
  10. package/dist/images/emoji/hacpai.png +0 -0
  11. package/dist/images/emoji/huaji.gif +0 -0
  12. package/dist/images/emoji/latke.png +0 -0
  13. package/dist/images/emoji/liandi.png +0 -0
  14. package/dist/images/emoji/lute.png +0 -0
  15. package/dist/images/emoji/octocat.png +0 -0
  16. package/dist/images/emoji/pipe.png +0 -0
  17. package/dist/images/emoji/siyuan.png +0 -0
  18. package/dist/images/emoji/solo.png +0 -0
  19. package/dist/images/emoji/sym.png +0 -0
  20. package/dist/images/emoji/trollface.png +0 -0
  21. package/dist/images/emoji/vditor.png +0 -0
  22. package/dist/images/emoji/wide.png +0 -0
  23. package/dist/images/emoji/wulian.png +0 -0
  24. package/dist/images/img-loading.svg +1 -0
  25. package/dist/images/logo.png +0 -0
  26. package/dist/index.css +1834 -0
  27. package/dist/index.d.ts +82 -0
  28. package/dist/index.js +16005 -0
  29. package/dist/index.min.js +1 -0
  30. package/dist/js/abcjs/abcjs_basic.min.js +3 -0
  31. package/dist/js/echarts/echarts.min.js +45 -0
  32. package/dist/js/flowchart.js/flowchart.min.js +8 -0
  33. package/dist/js/graphviz/full.render.js +90 -0
  34. package/dist/js/graphviz/viz.js +333 -0
  35. package/dist/js/highlight.js/LICENSE +29 -0
  36. package/dist/js/highlight.js/highlight.min.js +3835 -0
  37. package/dist/js/highlight.js/styles/a11y-dark.min.css +7 -0
  38. package/dist/js/highlight.js/styles/a11y-light.min.css +7 -0
  39. package/dist/js/highlight.js/styles/agate.min.css +20 -0
  40. package/dist/js/highlight.js/styles/an-old-hope.min.css +9 -0
  41. package/dist/js/highlight.js/styles/androidstudio.min.css +1 -0
  42. package/dist/js/highlight.js/styles/ant-design.min.css +84 -0
  43. package/dist/js/highlight.js/styles/arduino-light.min.css +1 -0
  44. package/dist/js/highlight.js/styles/arta.min.css +1 -0
  45. package/dist/js/highlight.js/styles/ascetic.min.css +1 -0
  46. package/dist/js/highlight.js/styles/atom-one-dark-reasonable.min.css +1 -0
  47. package/dist/js/highlight.js/styles/atom-one-dark.min.css +1 -0
  48. package/dist/js/highlight.js/styles/atom-one-light.min.css +1 -0
  49. package/dist/js/highlight.js/styles/base16/3024.min.css +7 -0
  50. package/dist/js/highlight.js/styles/base16/apathy.min.css +7 -0
  51. package/dist/js/highlight.js/styles/base16/apprentice.min.css +7 -0
  52. package/dist/js/highlight.js/styles/base16/ashes.min.css +7 -0
  53. package/dist/js/highlight.js/styles/base16/atelier-cave-light.min.css +7 -0
  54. package/dist/js/highlight.js/styles/base16/atelier-cave.min.css +7 -0
  55. package/dist/js/highlight.js/styles/base16/atelier-dune-light.min.css +7 -0
  56. package/dist/js/highlight.js/styles/base16/atelier-dune.min.css +7 -0
  57. package/dist/js/highlight.js/styles/base16/atelier-estuary-light.min.css +7 -0
  58. package/dist/js/highlight.js/styles/base16/atelier-estuary.min.css +7 -0
  59. package/dist/js/highlight.js/styles/base16/atelier-forest-light.min.css +7 -0
  60. package/dist/js/highlight.js/styles/base16/atelier-forest.min.css +7 -0
  61. package/dist/js/highlight.js/styles/base16/atelier-heath-light.min.css +7 -0
  62. package/dist/js/highlight.js/styles/base16/atelier-heath.min.css +7 -0
  63. package/dist/js/highlight.js/styles/base16/atelier-lakeside-light.min.css +7 -0
  64. package/dist/js/highlight.js/styles/base16/atelier-lakeside.min.css +7 -0
  65. package/dist/js/highlight.js/styles/base16/atelier-plateau-light.min.css +7 -0
  66. package/dist/js/highlight.js/styles/base16/atelier-plateau.min.css +7 -0
  67. package/dist/js/highlight.js/styles/base16/atelier-savanna-light.min.css +7 -0
  68. package/dist/js/highlight.js/styles/base16/atelier-savanna.min.css +7 -0
  69. package/dist/js/highlight.js/styles/base16/atelier-seaside-light.min.css +7 -0
  70. package/dist/js/highlight.js/styles/base16/atelier-seaside.min.css +7 -0
  71. package/dist/js/highlight.js/styles/base16/atelier-sulphurpool-light.min.css +7 -0
  72. package/dist/js/highlight.js/styles/base16/atelier-sulphurpool.min.css +7 -0
  73. package/dist/js/highlight.js/styles/base16/atlas.min.css +7 -0
  74. package/dist/js/highlight.js/styles/base16/bespin.min.css +7 -0
  75. package/dist/js/highlight.js/styles/base16/black-metal-bathory.min.css +7 -0
  76. package/dist/js/highlight.js/styles/base16/black-metal-burzum.min.css +7 -0
  77. package/dist/js/highlight.js/styles/base16/black-metal-dark-funeral.min.css +7 -0
  78. package/dist/js/highlight.js/styles/base16/black-metal-gorgoroth.min.css +7 -0
  79. package/dist/js/highlight.js/styles/base16/black-metal-immortal.min.css +7 -0
  80. package/dist/js/highlight.js/styles/base16/black-metal-khold.min.css +7 -0
  81. package/dist/js/highlight.js/styles/base16/black-metal-marduk.min.css +7 -0
  82. package/dist/js/highlight.js/styles/base16/black-metal-mayhem.min.css +7 -0
  83. package/dist/js/highlight.js/styles/base16/black-metal-nile.min.css +7 -0
  84. package/dist/js/highlight.js/styles/base16/black-metal-venom.min.css +7 -0
  85. package/dist/js/highlight.js/styles/base16/black-metal.min.css +7 -0
  86. package/dist/js/highlight.js/styles/base16/brewer.min.css +7 -0
  87. package/dist/js/highlight.js/styles/base16/bright.min.css +7 -0
  88. package/dist/js/highlight.js/styles/base16/brogrammer.min.css +7 -0
  89. package/dist/js/highlight.js/styles/base16/brush-trees-dark.min.css +7 -0
  90. package/dist/js/highlight.js/styles/base16/brush-trees.min.css +7 -0
  91. package/dist/js/highlight.js/styles/base16/chalk.min.css +7 -0
  92. package/dist/js/highlight.js/styles/base16/circus.min.css +7 -0
  93. package/dist/js/highlight.js/styles/base16/classic-dark.min.css +7 -0
  94. package/dist/js/highlight.js/styles/base16/classic-light.min.css +7 -0
  95. package/dist/js/highlight.js/styles/base16/codeschool.min.css +7 -0
  96. package/dist/js/highlight.js/styles/base16/colors.min.css +7 -0
  97. package/dist/js/highlight.js/styles/base16/cupcake.min.css +7 -0
  98. package/dist/js/highlight.js/styles/base16/cupertino.min.css +7 -0
  99. package/dist/js/highlight.js/styles/base16/danqing.min.css +7 -0
  100. package/dist/js/highlight.js/styles/base16/darcula.min.css +7 -0
  101. package/dist/js/highlight.js/styles/base16/dark-violet.min.css +7 -0
  102. package/dist/js/highlight.js/styles/base16/darkmoss.min.css +7 -0
  103. package/dist/js/highlight.js/styles/base16/darktooth.min.css +7 -0
  104. package/dist/js/highlight.js/styles/base16/decaf.min.css +7 -0
  105. package/dist/js/highlight.js/styles/base16/default-dark.min.css +7 -0
  106. package/dist/js/highlight.js/styles/base16/default-light.min.css +7 -0
  107. package/dist/js/highlight.js/styles/base16/dirtysea.min.css +7 -0
  108. package/dist/js/highlight.js/styles/base16/dracula.min.css +7 -0
  109. package/dist/js/highlight.js/styles/base16/edge-dark.min.css +7 -0
  110. package/dist/js/highlight.js/styles/base16/edge-light.min.css +7 -0
  111. package/dist/js/highlight.js/styles/base16/eighties.min.css +7 -0
  112. package/dist/js/highlight.js/styles/base16/embers.min.css +7 -0
  113. package/dist/js/highlight.js/styles/base16/equilibrium-dark.min.css +7 -0
  114. package/dist/js/highlight.js/styles/base16/equilibrium-gray-dark.min.css +7 -0
  115. package/dist/js/highlight.js/styles/base16/equilibrium-gray-light.min.css +7 -0
  116. package/dist/js/highlight.js/styles/base16/equilibrium-light.min.css +7 -0
  117. package/dist/js/highlight.js/styles/base16/espresso.min.css +7 -0
  118. package/dist/js/highlight.js/styles/base16/eva-dim.min.css +7 -0
  119. package/dist/js/highlight.js/styles/base16/eva.min.css +7 -0
  120. package/dist/js/highlight.js/styles/base16/flat.min.css +7 -0
  121. package/dist/js/highlight.js/styles/base16/framer.min.css +7 -0
  122. package/dist/js/highlight.js/styles/base16/fruit-soda.min.css +7 -0
  123. package/dist/js/highlight.js/styles/base16/gigavolt.min.css +7 -0
  124. package/dist/js/highlight.js/styles/base16/github.min.css +7 -0
  125. package/dist/js/highlight.js/styles/base16/google-dark.min.css +7 -0
  126. package/dist/js/highlight.js/styles/base16/google-light.min.css +7 -0
  127. package/dist/js/highlight.js/styles/base16/grayscale-dark.min.css +7 -0
  128. package/dist/js/highlight.js/styles/base16/grayscale-light.min.css +7 -0
  129. package/dist/js/highlight.js/styles/base16/green-screen.min.css +7 -0
  130. package/dist/js/highlight.js/styles/base16/gruvbox-dark-hard.min.css +7 -0
  131. package/dist/js/highlight.js/styles/base16/gruvbox-dark-medium.min.css +7 -0
  132. package/dist/js/highlight.js/styles/base16/gruvbox-dark-pale.min.css +7 -0
  133. package/dist/js/highlight.js/styles/base16/gruvbox-dark-soft.min.css +7 -0
  134. package/dist/js/highlight.js/styles/base16/gruvbox-light-hard.min.css +7 -0
  135. package/dist/js/highlight.js/styles/base16/gruvbox-light-medium.min.css +7 -0
  136. package/dist/js/highlight.js/styles/base16/gruvbox-light-soft.min.css +7 -0
  137. package/dist/js/highlight.js/styles/base16/hardcore.min.css +7 -0
  138. package/dist/js/highlight.js/styles/base16/harmonic16-dark.min.css +7 -0
  139. package/dist/js/highlight.js/styles/base16/harmonic16-light.min.css +7 -0
  140. package/dist/js/highlight.js/styles/base16/heetch-dark.min.css +7 -0
  141. package/dist/js/highlight.js/styles/base16/heetch-light.min.css +7 -0
  142. package/dist/js/highlight.js/styles/base16/helios.min.css +7 -0
  143. package/dist/js/highlight.js/styles/base16/hopscotch.min.css +7 -0
  144. package/dist/js/highlight.js/styles/base16/horizon-dark.min.css +7 -0
  145. package/dist/js/highlight.js/styles/base16/horizon-light.min.css +7 -0
  146. package/dist/js/highlight.js/styles/base16/humanoid-dark.min.css +7 -0
  147. package/dist/js/highlight.js/styles/base16/humanoid-light.min.css +7 -0
  148. package/dist/js/highlight.js/styles/base16/ia-dark.min.css +7 -0
  149. package/dist/js/highlight.js/styles/base16/ia-light.min.css +7 -0
  150. package/dist/js/highlight.js/styles/base16/icy-dark.min.css +7 -0
  151. package/dist/js/highlight.js/styles/base16/ir-black.min.css +7 -0
  152. package/dist/js/highlight.js/styles/base16/isotope.min.css +7 -0
  153. package/dist/js/highlight.js/styles/base16/kimber.min.css +7 -0
  154. package/dist/js/highlight.js/styles/base16/london-tube.min.css +7 -0
  155. package/dist/js/highlight.js/styles/base16/macintosh.min.css +7 -0
  156. package/dist/js/highlight.js/styles/base16/marrakesh.min.css +7 -0
  157. package/dist/js/highlight.js/styles/base16/materia.min.css +7 -0
  158. package/dist/js/highlight.js/styles/base16/material-darker.min.css +7 -0
  159. package/dist/js/highlight.js/styles/base16/material-lighter.min.css +7 -0
  160. package/dist/js/highlight.js/styles/base16/material-palenight.min.css +7 -0
  161. package/dist/js/highlight.js/styles/base16/material-vivid.min.css +7 -0
  162. package/dist/js/highlight.js/styles/base16/material.min.css +7 -0
  163. package/dist/js/highlight.js/styles/base16/mellow-purple.min.css +7 -0
  164. package/dist/js/highlight.js/styles/base16/mexico-light.min.css +7 -0
  165. package/dist/js/highlight.js/styles/base16/mocha.min.css +7 -0
  166. package/dist/js/highlight.js/styles/base16/monokai.min.css +7 -0
  167. package/dist/js/highlight.js/styles/base16/nebula.min.css +7 -0
  168. package/dist/js/highlight.js/styles/base16/nord.min.css +7 -0
  169. package/dist/js/highlight.js/styles/base16/nova.min.css +7 -0
  170. package/dist/js/highlight.js/styles/base16/ocean.min.css +7 -0
  171. package/dist/js/highlight.js/styles/base16/oceanicnext.min.css +7 -0
  172. package/dist/js/highlight.js/styles/base16/one-light.min.css +7 -0
  173. package/dist/js/highlight.js/styles/base16/onedark.min.css +7 -0
  174. package/dist/js/highlight.js/styles/base16/outrun-dark.min.css +7 -0
  175. package/dist/js/highlight.js/styles/base16/papercolor-dark.min.css +7 -0
  176. package/dist/js/highlight.js/styles/base16/papercolor-light.min.css +7 -0
  177. package/dist/js/highlight.js/styles/base16/paraiso.min.css +7 -0
  178. package/dist/js/highlight.js/styles/base16/pasque.min.css +7 -0
  179. package/dist/js/highlight.js/styles/base16/phd.min.css +7 -0
  180. package/dist/js/highlight.js/styles/base16/pico.min.css +7 -0
  181. package/dist/js/highlight.js/styles/base16/pop.min.css +7 -0
  182. package/dist/js/highlight.js/styles/base16/porple.min.css +7 -0
  183. package/dist/js/highlight.js/styles/base16/qualia.min.css +7 -0
  184. package/dist/js/highlight.js/styles/base16/railscasts.min.css +7 -0
  185. package/dist/js/highlight.js/styles/base16/rebecca.min.css +7 -0
  186. package/dist/js/highlight.js/styles/base16/ros-pine-dawn.min.css +7 -0
  187. package/dist/js/highlight.js/styles/base16/ros-pine-moon.min.css +7 -0
  188. package/dist/js/highlight.js/styles/base16/ros-pine.min.css +7 -0
  189. package/dist/js/highlight.js/styles/base16/sagelight.min.css +7 -0
  190. package/dist/js/highlight.js/styles/base16/sandcastle.min.css +7 -0
  191. package/dist/js/highlight.js/styles/base16/seti-ui.min.css +7 -0
  192. package/dist/js/highlight.js/styles/base16/shapeshifter.min.css +7 -0
  193. package/dist/js/highlight.js/styles/base16/silk-dark.min.css +7 -0
  194. package/dist/js/highlight.js/styles/base16/silk-light.min.css +7 -0
  195. package/dist/js/highlight.js/styles/base16/snazzy.min.css +7 -0
  196. package/dist/js/highlight.js/styles/base16/solar-flare-light.min.css +7 -0
  197. package/dist/js/highlight.js/styles/base16/solar-flare.min.css +7 -0
  198. package/dist/js/highlight.js/styles/base16/solarized-dark.min.css +7 -0
  199. package/dist/js/highlight.js/styles/base16/solarized-light.min.css +7 -0
  200. package/dist/js/highlight.js/styles/base16/spacemacs.min.css +7 -0
  201. package/dist/js/highlight.js/styles/base16/summercamp.min.css +7 -0
  202. package/dist/js/highlight.js/styles/base16/summerfruit-dark.min.css +7 -0
  203. package/dist/js/highlight.js/styles/base16/summerfruit-light.min.css +7 -0
  204. package/dist/js/highlight.js/styles/base16/synth-midnight-terminal-dark.min.css +7 -0
  205. package/dist/js/highlight.js/styles/base16/synth-midnight-terminal-light.min.css +7 -0
  206. package/dist/js/highlight.js/styles/base16/tango.min.css +7 -0
  207. package/dist/js/highlight.js/styles/base16/tender.min.css +7 -0
  208. package/dist/js/highlight.js/styles/base16/tomorrow-night.min.css +7 -0
  209. package/dist/js/highlight.js/styles/base16/tomorrow.min.css +7 -0
  210. package/dist/js/highlight.js/styles/base16/twilight.min.css +7 -0
  211. package/dist/js/highlight.js/styles/base16/unikitty-dark.min.css +7 -0
  212. package/dist/js/highlight.js/styles/base16/unikitty-light.min.css +7 -0
  213. package/dist/js/highlight.js/styles/base16/vulcan.min.css +7 -0
  214. package/dist/js/highlight.js/styles/base16/windows-10-light.min.css +7 -0
  215. package/dist/js/highlight.js/styles/base16/windows-10.min.css +7 -0
  216. package/dist/js/highlight.js/styles/base16/windows-95-light.min.css +7 -0
  217. package/dist/js/highlight.js/styles/base16/windows-95.min.css +7 -0
  218. package/dist/js/highlight.js/styles/base16/windows-high-contrast-light.min.css +7 -0
  219. package/dist/js/highlight.js/styles/base16/windows-high-contrast.min.css +7 -0
  220. package/dist/js/highlight.js/styles/base16/windows-nt-light.min.css +7 -0
  221. package/dist/js/highlight.js/styles/base16/windows-nt.min.css +7 -0
  222. package/dist/js/highlight.js/styles/base16/woodland.min.css +7 -0
  223. package/dist/js/highlight.js/styles/base16/xcode-dusk.min.css +7 -0
  224. package/dist/js/highlight.js/styles/base16/zenburn.min.css +7 -0
  225. package/dist/js/highlight.js/styles/brown-paper.min.css +1 -0
  226. package/dist/js/highlight.js/styles/brown-papersq.png +0 -0
  227. package/dist/js/highlight.js/styles/codepen-embed.min.css +1 -0
  228. package/dist/js/highlight.js/styles/color-brewer.min.css +1 -0
  229. package/dist/js/highlight.js/styles/dark.min.css +1 -0
  230. package/dist/js/highlight.js/styles/default.min.css +9 -0
  231. package/dist/js/highlight.js/styles/devibeans.min.css +7 -0
  232. package/dist/js/highlight.js/styles/docco.min.css +1 -0
  233. package/dist/js/highlight.js/styles/far.min.css +1 -0
  234. package/dist/js/highlight.js/styles/felipec.min.css +7 -0
  235. package/dist/js/highlight.js/styles/foundation.min.css +1 -0
  236. package/dist/js/highlight.js/styles/github-dark-dimmed.min.css +9 -0
  237. package/dist/js/highlight.js/styles/github-dark.min.css +10 -0
  238. package/dist/js/highlight.js/styles/github.min.css +10 -0
  239. package/dist/js/highlight.js/styles/gml.min.css +1 -0
  240. package/dist/js/highlight.js/styles/googlecode.min.css +1 -0
  241. package/dist/js/highlight.js/styles/gradient-dark.min.css +1 -0
  242. package/dist/js/highlight.js/styles/gradient-light.min.css +1 -0
  243. package/dist/js/highlight.js/styles/grayscale.min.css +1 -0
  244. package/dist/js/highlight.js/styles/hybrid.min.css +1 -0
  245. package/dist/js/highlight.js/styles/idea.min.css +1 -0
  246. package/dist/js/highlight.js/styles/intellij-light.min.css +1 -0
  247. package/dist/js/highlight.js/styles/ir-black.min.css +1 -0
  248. package/dist/js/highlight.js/styles/isbl-editor-dark.min.css +1 -0
  249. package/dist/js/highlight.js/styles/isbl-editor-light.min.css +1 -0
  250. package/dist/js/highlight.js/styles/kimbie-dark.min.css +1 -0
  251. package/dist/js/highlight.js/styles/kimbie-light.min.css +1 -0
  252. package/dist/js/highlight.js/styles/lightfair.min.css +1 -0
  253. package/dist/js/highlight.js/styles/lioshi.min.css +1 -0
  254. package/dist/js/highlight.js/styles/magula.min.css +1 -0
  255. package/dist/js/highlight.js/styles/mono-blue.min.css +1 -0
  256. package/dist/js/highlight.js/styles/monokai-sublime.min.css +1 -0
  257. package/dist/js/highlight.js/styles/monokai.min.css +1 -0
  258. package/dist/js/highlight.js/styles/night-owl.min.css +1 -0
  259. package/dist/js/highlight.js/styles/nnfx-dark.min.css +10 -0
  260. package/dist/js/highlight.js/styles/nnfx-light.min.css +10 -0
  261. package/dist/js/highlight.js/styles/nord.min.css +1 -0
  262. package/dist/js/highlight.js/styles/obsidian.min.css +1 -0
  263. package/dist/js/highlight.js/styles/panda-syntax-dark.min.css +1 -0
  264. package/dist/js/highlight.js/styles/panda-syntax-light.min.css +1 -0
  265. package/dist/js/highlight.js/styles/paraiso-dark.min.css +1 -0
  266. package/dist/js/highlight.js/styles/paraiso-light.min.css +1 -0
  267. package/dist/js/highlight.js/styles/pojoaque.jpg +0 -0
  268. package/dist/js/highlight.js/styles/pojoaque.min.css +1 -0
  269. package/dist/js/highlight.js/styles/purebasic.min.css +1 -0
  270. package/dist/js/highlight.js/styles/qtcreator-dark.min.css +1 -0
  271. package/dist/js/highlight.js/styles/qtcreator-light.min.css +1 -0
  272. package/dist/js/highlight.js/styles/rainbow.min.css +1 -0
  273. package/dist/js/highlight.js/styles/routeros.min.css +1 -0
  274. package/dist/js/highlight.js/styles/school-book.min.css +1 -0
  275. package/dist/js/highlight.js/styles/shades-of-purple.min.css +1 -0
  276. package/dist/js/highlight.js/styles/srcery.min.css +1 -0
  277. package/dist/js/highlight.js/styles/stackoverflow-dark.min.css +13 -0
  278. package/dist/js/highlight.js/styles/stackoverflow-light.min.css +13 -0
  279. package/dist/js/highlight.js/styles/sunburst.min.css +1 -0
  280. package/dist/js/highlight.js/styles/tokyo-night-dark.min.css +8 -0
  281. package/dist/js/highlight.js/styles/tokyo-night-light.min.css +8 -0
  282. package/dist/js/highlight.js/styles/tomorrow-night-blue.min.css +1 -0
  283. package/dist/js/highlight.js/styles/tomorrow-night-bright.min.css +1 -0
  284. package/dist/js/highlight.js/styles/vs.min.css +1 -0
  285. package/dist/js/highlight.js/styles/vs2015.min.css +1 -0
  286. package/dist/js/highlight.js/styles/xcode.min.css +1 -0
  287. package/dist/js/highlight.js/styles/xt256.min.css +1 -0
  288. package/dist/js/highlight.js/third-languages.js +135 -0
  289. package/dist/js/i18n/de_DE.js +86 -0
  290. package/dist/js/i18n/en_US.js +86 -0
  291. package/dist/js/i18n/es_ES.js +86 -0
  292. package/dist/js/i18n/fr_FR.js +86 -0
  293. package/dist/js/i18n/ja_JP.js +86 -0
  294. package/dist/js/i18n/ko_KR.js +86 -0
  295. package/dist/js/i18n/pt_BR.js +86 -0
  296. package/dist/js/i18n/ru_RU.js +86 -0
  297. package/dist/js/i18n/sv_SE.js +86 -0
  298. package/dist/js/i18n/vi_VN.js +86 -0
  299. package/dist/js/i18n/zh_CN.js +86 -0
  300. package/dist/js/i18n/zh_TW.js +86 -0
  301. package/dist/js/icons/ant.js +174 -0
  302. package/dist/js/icons/material.js +195 -0
  303. package/dist/js/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  304. package/dist/js/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  305. package/dist/js/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  306. package/dist/js/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  307. package/dist/js/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  308. package/dist/js/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  309. package/dist/js/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  310. package/dist/js/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  311. package/dist/js/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  312. package/dist/js/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  313. package/dist/js/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  314. package/dist/js/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  315. package/dist/js/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  316. package/dist/js/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  317. package/dist/js/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  318. package/dist/js/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  319. package/dist/js/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  320. package/dist/js/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  321. package/dist/js/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  322. package/dist/js/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  323. package/dist/js/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  324. package/dist/js/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  325. package/dist/js/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  326. package/dist/js/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  327. package/dist/js/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  328. package/dist/js/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  329. package/dist/js/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  330. package/dist/js/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  331. package/dist/js/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  332. package/dist/js/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  333. package/dist/js/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  334. package/dist/js/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  335. package/dist/js/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  336. package/dist/js/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  337. package/dist/js/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  338. package/dist/js/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  339. package/dist/js/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  340. package/dist/js/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  341. package/dist/js/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  342. package/dist/js/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  343. package/dist/js/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  344. package/dist/js/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  345. package/dist/js/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  346. package/dist/js/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  347. package/dist/js/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  348. package/dist/js/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  349. package/dist/js/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  350. package/dist/js/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  351. package/dist/js/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  352. package/dist/js/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  353. package/dist/js/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  354. package/dist/js/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  355. package/dist/js/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  356. package/dist/js/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  357. package/dist/js/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  358. package/dist/js/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  359. package/dist/js/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  360. package/dist/js/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  361. package/dist/js/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  362. package/dist/js/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  363. package/dist/js/katex/katex.min.css +1 -0
  364. package/dist/js/katex/katex.min.js +1 -0
  365. package/dist/js/katex/mhchem.min.js +1 -0
  366. package/dist/js/lute/lute.min.js +72 -0
  367. package/dist/js/markmap/katex.min.css +1 -0
  368. package/dist/js/markmap/markmap.min.js +8251 -0
  369. package/dist/js/markmap/prism.css +140 -0
  370. package/dist/js/mathjax/LICENSE +202 -0
  371. package/dist/js/mathjax/a11y/assistive-mml.js +1 -0
  372. package/dist/js/mathjax/a11y/complexity.js +1 -0
  373. package/dist/js/mathjax/a11y/explorer.js +1 -0
  374. package/dist/js/mathjax/a11y/semantic-enrich.js +1 -0
  375. package/dist/js/mathjax/input/asciimath.js +1 -0
  376. package/dist/js/mathjax/input/mml/entities.js +1 -0
  377. package/dist/js/mathjax/input/mml.js +1 -0
  378. package/dist/js/mathjax/input/tex/extensions/action.js +1 -0
  379. package/dist/js/mathjax/input/tex/extensions/all-packages.js +1 -0
  380. package/dist/js/mathjax/input/tex/extensions/ams.js +1 -0
  381. package/dist/js/mathjax/input/tex/extensions/amscd.js +1 -0
  382. package/dist/js/mathjax/input/tex/extensions/autoload.js +1 -0
  383. package/dist/js/mathjax/input/tex/extensions/bbox.js +1 -0
  384. package/dist/js/mathjax/input/tex/extensions/boldsymbol.js +1 -0
  385. package/dist/js/mathjax/input/tex/extensions/braket.js +1 -0
  386. package/dist/js/mathjax/input/tex/extensions/bussproofs.js +1 -0
  387. package/dist/js/mathjax/input/tex/extensions/cancel.js +1 -0
  388. package/dist/js/mathjax/input/tex/extensions/color.js +1 -0
  389. package/dist/js/mathjax/input/tex/extensions/colorV2.js +1 -0
  390. package/dist/js/mathjax/input/tex/extensions/configMacros.js +1 -0
  391. package/dist/js/mathjax/input/tex/extensions/enclose.js +1 -0
  392. package/dist/js/mathjax/input/tex/extensions/extpfeil.js +1 -0
  393. package/dist/js/mathjax/input/tex/extensions/html.js +1 -0
  394. package/dist/js/mathjax/input/tex/extensions/mhchem.js +1 -0
  395. package/dist/js/mathjax/input/tex/extensions/newcommand.js +1 -0
  396. package/dist/js/mathjax/input/tex/extensions/noerrors.js +1 -0
  397. package/dist/js/mathjax/input/tex/extensions/noundefined.js +1 -0
  398. package/dist/js/mathjax/input/tex/extensions/physics.js +1 -0
  399. package/dist/js/mathjax/input/tex/extensions/require.js +1 -0
  400. package/dist/js/mathjax/input/tex/extensions/tagFormat.js +1 -0
  401. package/dist/js/mathjax/input/tex/extensions/textmacros.js +1 -0
  402. package/dist/js/mathjax/input/tex/extensions/unicode.js +1 -0
  403. package/dist/js/mathjax/input/tex/extensions/verb.js +1 -0
  404. package/dist/js/mathjax/input/tex-base.js +1 -0
  405. package/dist/js/mathjax/input/tex-full.js +1 -0
  406. package/dist/js/mathjax/input/tex.js +1 -0
  407. package/dist/js/mathjax/sre/mathmaps/de.js +104 -0
  408. package/dist/js/mathjax/sre/mathmaps/en.js +110 -0
  409. package/dist/js/mathjax/sre/mathmaps/es.js +104 -0
  410. package/dist/js/mathjax/sre/mathmaps/fr.js +104 -0
  411. package/dist/js/mathjax/sre/mathmaps/mathmaps_ie.js +518 -0
  412. package/dist/js/mathjax/sre/mathmaps/nemeth.js +104 -0
  413. package/dist/js/mathjax/sre/sre-node.js +11 -0
  414. package/dist/js/mathjax/sre/sre_browser.js +1633 -0
  415. package/dist/js/mathjax/tex-svg-full.js +1 -0
  416. package/dist/js/mermaid/mermaid.min.js +2694 -0
  417. package/dist/js/plantuml/plantuml-encoder.min.js +1 -0
  418. package/dist/js/smiles-drawer/smiles-drawer.min.js +71 -0
  419. package/dist/method.d.ts +51 -0
  420. package/dist/method.js +2675 -0
  421. package/dist/method.min.js +1 -0
  422. package/dist/ts/constants.d.ts +47 -0
  423. package/dist/ts/devtools/index.d.ts +7 -0
  424. package/dist/ts/export/index.d.ts +4 -0
  425. package/dist/ts/hint/index.d.ts +14 -0
  426. package/dist/ts/ir/expandMarker.d.ts +1 -0
  427. package/dist/ts/ir/highlightToolbarIR.d.ts +1 -0
  428. package/dist/ts/ir/index.d.ts +13 -0
  429. package/dist/ts/ir/input.d.ts +1 -0
  430. package/dist/ts/ir/process.d.ts +8 -0
  431. package/dist/ts/ir/processKeydown.d.ts +1 -0
  432. package/dist/ts/markdown/SMILESRender.d.ts +1 -0
  433. package/dist/ts/markdown/abcRender.d.ts +1 -0
  434. package/dist/ts/markdown/adapterRender.d.ts +41 -0
  435. package/dist/ts/markdown/anchorRender.d.ts +1 -0
  436. package/dist/ts/markdown/chartRender.d.ts +1 -0
  437. package/dist/ts/markdown/codeRender.d.ts +1 -0
  438. package/dist/ts/markdown/flowchartRender.d.ts +1 -0
  439. package/dist/ts/markdown/getHTML.d.ts +1 -0
  440. package/dist/ts/markdown/getMarkdown.d.ts +1 -0
  441. package/dist/ts/markdown/graphvizRender.d.ts +1 -0
  442. package/dist/ts/markdown/highlightRender.d.ts +1 -0
  443. package/dist/ts/markdown/lazyLoadImageRender.d.ts +6 -0
  444. package/dist/ts/markdown/markmapRender.d.ts +1 -0
  445. package/dist/ts/markdown/mathRender.d.ts +9 -0
  446. package/dist/ts/markdown/mediaRender.d.ts +1 -0
  447. package/dist/ts/markdown/mermaidRender.d.ts +1 -0
  448. package/dist/ts/markdown/mindmapRender.d.ts +1 -0
  449. package/dist/ts/markdown/outlineRender.d.ts +1 -0
  450. package/dist/ts/markdown/plantumlRender.d.ts +1 -0
  451. package/dist/ts/markdown/previewRender.d.ts +2 -0
  452. package/dist/ts/markdown/setLute.d.ts +1 -0
  453. package/dist/ts/markdown/speechRender.d.ts +6 -0
  454. package/dist/ts/outline/index.d.ts +7 -0
  455. package/dist/ts/preview/image.d.ts +1 -0
  456. package/dist/ts/preview/index.d.ts +10 -0
  457. package/dist/ts/resize/index.d.ts +6 -0
  458. package/dist/ts/sv/combineFootnote.d.ts +6 -0
  459. package/dist/ts/sv/index.d.ts +13 -0
  460. package/dist/ts/sv/inputEvent.d.ts +1 -0
  461. package/dist/ts/sv/process.d.ts +11 -0
  462. package/dist/ts/sv/processKeydown.d.ts +1 -0
  463. package/dist/ts/tip/index.d.ts +6 -0
  464. package/dist/ts/toolbar/Both.d.ts +5 -0
  465. package/dist/ts/toolbar/Br.d.ts +4 -0
  466. package/dist/ts/toolbar/CodeTheme.d.ts +6 -0
  467. package/dist/ts/toolbar/ContentTheme.d.ts +6 -0
  468. package/dist/ts/toolbar/Counter.d.ts +6 -0
  469. package/dist/ts/toolbar/Custom.d.ts +5 -0
  470. package/dist/ts/toolbar/Devtools.d.ts +5 -0
  471. package/dist/ts/toolbar/Divider.d.ts +4 -0
  472. package/dist/ts/toolbar/EditMode.d.ts +8 -0
  473. package/dist/ts/toolbar/Emoji.d.ts +7 -0
  474. package/dist/ts/toolbar/Export.d.ts +6 -0
  475. package/dist/ts/toolbar/Fullscreen.d.ts +6 -0
  476. package/dist/ts/toolbar/Headings.d.ts +7 -0
  477. package/dist/ts/toolbar/Help.d.ts +5 -0
  478. package/dist/ts/toolbar/Indent.d.ts +5 -0
  479. package/dist/ts/toolbar/Info.d.ts +5 -0
  480. package/dist/ts/toolbar/InsertAfter.d.ts +5 -0
  481. package/dist/ts/toolbar/InsertBefore.d.ts +5 -0
  482. package/dist/ts/toolbar/MenuItem.d.ts +5 -0
  483. package/dist/ts/toolbar/Outdent.d.ts +5 -0
  484. package/dist/ts/toolbar/Outline.d.ts +5 -0
  485. package/dist/ts/toolbar/Preview.d.ts +6 -0
  486. package/dist/ts/toolbar/Record.d.ts +6 -0
  487. package/dist/ts/toolbar/Redo.d.ts +5 -0
  488. package/dist/ts/toolbar/Undo.d.ts +5 -0
  489. package/dist/ts/toolbar/Upload.d.ts +6 -0
  490. package/dist/ts/toolbar/index.d.ts +10 -0
  491. package/dist/ts/toolbar/setToolbar.d.ts +20 -0
  492. package/dist/ts/ui/initUI.d.ts +4 -0
  493. package/dist/ts/ui/setCodeTheme.d.ts +1 -0
  494. package/dist/ts/ui/setContentTheme.d.ts +1 -0
  495. package/dist/ts/ui/setPreviewMode.d.ts +1 -0
  496. package/dist/ts/ui/setTheme.d.ts +1 -0
  497. package/dist/ts/undo/index.d.ts +19 -0
  498. package/dist/ts/upload/getElement.d.ts +1 -0
  499. package/dist/ts/upload/index.d.ts +8 -0
  500. package/dist/ts/upload/setHeaders.d.ts +1 -0
  501. package/dist/ts/util/Options.d.ts +8 -0
  502. package/dist/ts/util/RecordMedia.d.ts +18 -0
  503. package/dist/ts/util/addScript.d.ts +2 -0
  504. package/dist/ts/util/addStyle.d.ts +1 -0
  505. package/dist/ts/util/code160to32.d.ts +1 -0
  506. package/dist/ts/util/compatibility.d.ts +7 -0
  507. package/dist/ts/util/editorCommonEvent.d.ts +9 -0
  508. package/dist/ts/util/fixBrowserBehavior.d.ts +39 -0
  509. package/dist/ts/util/function.d.ts +3 -0
  510. package/dist/ts/util/getSelectText.d.ts +1 -0
  511. package/dist/ts/util/hasClosest.d.ts +9 -0
  512. package/dist/ts/util/hasClosestByHeadings.d.ts +2 -0
  513. package/dist/ts/util/highlightToolbar.d.ts +1 -0
  514. package/dist/ts/util/hotKey.d.ts +1 -0
  515. package/dist/ts/util/log.d.ts +1 -0
  516. package/dist/ts/util/merge.d.ts +1 -0
  517. package/dist/ts/util/processCode.d.ts +2 -0
  518. package/dist/ts/util/selection.d.ts +14 -0
  519. package/dist/ts/util/toc.d.ts +5 -0
  520. package/dist/ts/wysiwyg/afterRenderEvent.d.ts +5 -0
  521. package/dist/ts/wysiwyg/highlightToolbarWYSIWYG.d.ts +4 -0
  522. package/dist/ts/wysiwyg/index.d.ts +22 -0
  523. package/dist/ts/wysiwyg/inlineTag.d.ts +10 -0
  524. package/dist/ts/wysiwyg/input.d.ts +1 -0
  525. package/dist/ts/wysiwyg/processKeydown.d.ts +2 -0
  526. package/dist/ts/wysiwyg/renderDomByMd.d.ts +5 -0
  527. package/dist/ts/wysiwyg/setHeading.d.ts +2 -0
  528. package/dist/ts/wysiwyg/showCode.d.ts +1 -0
  529. package/dist/ts/wysiwyg/toolbarEvent.d.ts +1 -0
  530. package/dist/types/index.d.ts +925 -0
  531. package/package.json +79 -0
  532. package/src/assets/less/_content.less +279 -0
  533. package/src/assets/less/_hint.less +67 -0
  534. package/src/assets/less/_ir.less +275 -0
  535. package/src/assets/less/_panel.less +110 -0
  536. package/src/assets/less/_reset.less +632 -0
  537. package/src/assets/less/_sv.less +132 -0
  538. package/src/assets/less/_toolbar.less +180 -0
  539. package/src/assets/less/_tooltipped.less +171 -0
  540. package/src/assets/less/_wysiwyg.less +195 -0
  541. package/src/assets/less/index.less +88 -0
  542. package/src/index.ts +566 -0
  543. package/src/method.ts +71 -0
  544. package/src/ts/constants.ts +90 -0
  545. package/src/ts/devtools/index.ts +83 -0
  546. package/src/ts/export/index.ts +84 -0
  547. package/src/ts/hint/index.ts +276 -0
  548. package/src/ts/ir/expandMarker.ts +79 -0
  549. package/src/ts/ir/highlightToolbarIR.ts +97 -0
  550. package/src/ts/ir/index.ts +265 -0
  551. package/src/ts/ir/input.ts +246 -0
  552. package/src/ts/ir/process.ts +222 -0
  553. package/src/ts/ir/processKeydown.ts +238 -0
  554. package/src/ts/markdown/SMILESRender.ts +29 -0
  555. package/src/ts/markdown/abcRender.ts +27 -0
  556. package/src/ts/markdown/adapterRender.ts +41 -0
  557. package/src/ts/markdown/anchorRender.ts +19 -0
  558. package/src/ts/markdown/chartRender.ts +38 -0
  559. package/src/ts/markdown/codeRender.ts +60 -0
  560. package/src/ts/markdown/flowchartRender.ts +25 -0
  561. package/src/ts/markdown/getHTML.ts +11 -0
  562. package/src/ts/markdown/getMarkdown.ts +12 -0
  563. package/src/ts/markdown/graphvizRender.ts +49 -0
  564. package/src/ts/markdown/highlightRender.ts +94 -0
  565. package/src/ts/markdown/lazyLoadImageRender.ts +56 -0
  566. package/src/ts/markdown/markmapRender.ts +56 -0
  567. package/src/ts/markdown/mathRender.ts +148 -0
  568. package/src/ts/markdown/mediaRender.ts +105 -0
  569. package/src/ts/markdown/mermaidRender.ts +60 -0
  570. package/src/ts/markdown/mindmapRender.ts +74 -0
  571. package/src/ts/markdown/outlineRender.ts +110 -0
  572. package/src/ts/markdown/plantumlRender.ts +32 -0
  573. package/src/ts/markdown/previewRender.ts +171 -0
  574. package/src/ts/markdown/setLute.ts +26 -0
  575. package/src/ts/markdown/speechRender.ts +107 -0
  576. package/src/ts/outline/index.ts +45 -0
  577. package/src/ts/preview/image.ts +50 -0
  578. package/src/ts/preview/index.ts +287 -0
  579. package/src/ts/resize/index.ts +57 -0
  580. package/src/ts/sv/combineFootnote.ts +27 -0
  581. package/src/ts/sv/index.ts +125 -0
  582. package/src/ts/sv/inputEvent.ts +188 -0
  583. package/src/ts/sv/process.ts +215 -0
  584. package/src/ts/sv/processKeydown.ts +202 -0
  585. package/src/ts/tip/index.ts +39 -0
  586. package/src/ts/toolbar/Both.ts +28 -0
  587. package/src/ts/toolbar/Br.ts +8 -0
  588. package/src/ts/toolbar/CodeTheme.ts +36 -0
  589. package/src/ts/toolbar/ContentTheme.ts +35 -0
  590. package/src/ts/toolbar/Counter.ts +40 -0
  591. package/src/ts/toolbar/Custom.ts +17 -0
  592. package/src/ts/toolbar/Devtools.ts +28 -0
  593. package/src/ts/toolbar/Divider.ts +8 -0
  594. package/src/ts/toolbar/EditMode.ts +195 -0
  595. package/src/ts/toolbar/Emoji.ts +79 -0
  596. package/src/ts/toolbar/Export.ts +41 -0
  597. package/src/ts/toolbar/Fullscreen.ts +66 -0
  598. package/src/ts/toolbar/Headings.ts +73 -0
  599. package/src/ts/toolbar/Help.ts +30 -0
  600. package/src/ts/toolbar/Indent.ts +25 -0
  601. package/src/ts/toolbar/Info.ts +43 -0
  602. package/src/ts/toolbar/InsertAfter.ts +18 -0
  603. package/src/ts/toolbar/InsertBefore.ts +18 -0
  604. package/src/ts/toolbar/MenuItem.ts +54 -0
  605. package/src/ts/toolbar/Outdent.ts +24 -0
  606. package/src/ts/toolbar/Outline.ts +21 -0
  607. package/src/ts/toolbar/Preview.ts +55 -0
  608. package/src/ts/toolbar/Record.ts +60 -0
  609. package/src/ts/toolbar/Redo.ts +18 -0
  610. package/src/ts/toolbar/Undo.ts +18 -0
  611. package/src/ts/toolbar/Upload.ts +41 -0
  612. package/src/ts/toolbar/index.ts +192 -0
  613. package/src/ts/toolbar/setToolbar.ts +120 -0
  614. package/src/ts/ui/initUI.ts +180 -0
  615. package/src/ts/ui/setCodeTheme.ts +16 -0
  616. package/src/ts/ui/setContentTheme.ts +15 -0
  617. package/src/ts/ui/setPreviewMode.ts +31 -0
  618. package/src/ts/ui/setTheme.ts +7 -0
  619. package/src/ts/undo/index.ts +270 -0
  620. package/src/ts/upload/getElement.ts +10 -0
  621. package/src/ts/upload/index.ts +273 -0
  622. package/src/ts/upload/setHeaders.ts +10 -0
  623. package/src/ts/util/Options.ts +454 -0
  624. package/src/ts/util/RecordMedia.ts +170 -0
  625. package/src/ts/util/addScript.ts +43 -0
  626. package/src/ts/util/addStyle.ts +10 -0
  627. package/src/ts/util/code160to32.ts +4 -0
  628. package/src/ts/util/compatibility.ts +67 -0
  629. package/src/ts/util/editorCommonEvent.ts +264 -0
  630. package/src/ts/util/fixBrowserBehavior.ts +1569 -0
  631. package/src/ts/util/function.ts +15 -0
  632. package/src/ts/util/getSelectText.ts +8 -0
  633. package/src/ts/util/hasClosest.ts +154 -0
  634. package/src/ts/util/hasClosestByHeadings.ts +27 -0
  635. package/src/ts/util/highlightToolbar.ts +10 -0
  636. package/src/ts/util/hotKey.ts +54 -0
  637. package/src/ts/util/log.ts +6 -0
  638. package/src/ts/util/merge.ts +18 -0
  639. package/src/ts/util/processCode.ts +101 -0
  640. package/src/ts/util/selection.ts +280 -0
  641. package/src/ts/util/toc.ts +83 -0
  642. package/src/ts/wysiwyg/afterRenderEvent.ts +41 -0
  643. package/src/ts/wysiwyg/highlightToolbarWYSIWYG.ts +1156 -0
  644. package/src/ts/wysiwyg/index.ts +578 -0
  645. package/src/ts/wysiwyg/inlineTag.ts +129 -0
  646. package/src/ts/wysiwyg/input.ts +212 -0
  647. package/src/ts/wysiwyg/processKeydown.ts +363 -0
  648. package/src/ts/wysiwyg/renderDomByMd.ts +18 -0
  649. package/src/ts/wysiwyg/setHeading.ts +43 -0
  650. package/src/ts/wysiwyg/showCode.ts +32 -0
  651. package/src/ts/wysiwyg/toolbarEvent.ts +333 -0
package/dist/method.js ADDED
@@ -0,0 +1,2675 @@
1
+ /*!
2
+ * Vditor v0.0.1 - A markdown editor written in TypeScript.
3
+ *
4
+ * MIT License
5
+ *
6
+ * Copyright (c) 2018-present B3log 开源, b3log.org
7
+ *
8
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ * of this software and associated documentation files (the "Software"), to deal
10
+ * in the Software without restriction, including without limitation the rights
11
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ * copies of the Software, and to permit persons to whom the Software is
13
+ * furnished to do so, subject to the following conditions:
14
+ *
15
+ * The above copyright notice and this permission notice shall be included in all
16
+ * copies or substantial portions of the Software.
17
+ *
18
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ * SOFTWARE.
25
+ *
26
+ */
27
+ (function webpackUniversalModuleDefinition(root, factory) {
28
+ if(typeof exports === 'object' && typeof module === 'object')
29
+ module.exports = factory();
30
+ else if(typeof define === 'function' && define.amd)
31
+ define([], factory);
32
+ else if(typeof exports === 'object')
33
+ exports["Vditor"] = factory();
34
+ else
35
+ root["Vditor"] = factory();
36
+ })(this, () => {
37
+ return /******/ (() => { // webpackBootstrap
38
+ /******/ "use strict";
39
+ /******/ var __webpack_modules__ = ({
40
+
41
+ /***/ 29
42
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
43
+
44
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45
+ /* harmony export */ h: () => (/* binding */ merge)
46
+ /* harmony export */ });
47
+ var merge = function () {
48
+ var options = [];
49
+ for (var _i = 0; _i < arguments.length; _i++) {
50
+ options[_i] = arguments[_i];
51
+ }
52
+ var target = {};
53
+ var merger = function (obj) {
54
+ for (var prop in obj) {
55
+ if (obj.hasOwnProperty(prop)) {
56
+ if (Object.prototype.toString.call(obj[prop]) === "[object Object]") {
57
+ target[prop] = merge(target[prop], obj[prop]);
58
+ }
59
+ else {
60
+ target[prop] = obj[prop];
61
+ }
62
+ }
63
+ }
64
+ };
65
+ for (var i = 0; i < options.length; i++) {
66
+ merger(options[i]);
67
+ }
68
+ return target;
69
+ };
70
+
71
+
72
+ /***/ },
73
+
74
+ /***/ 47
75
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
76
+
77
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
78
+ /* harmony export */ Y: () => (/* binding */ SMILESRender)
79
+ /* harmony export */ });
80
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
81
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
82
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
83
+ /* harmony import */ var _util_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(249);
84
+
85
+
86
+
87
+
88
+ var SMILESRender = function (element, cdn, theme) {
89
+ if (element === void 0) { element = document; }
90
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
91
+ var SMILESElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.SMILESRenderAdapter.getElements(element);
92
+ if (SMILESElements.length > 0) {
93
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/smiles-drawer/smiles-drawer.min.js?v=2.1.7"), "vditorAbcjsScript").then(function () {
94
+ var sd = new SmiDrawer({}, {});
95
+ SMILESElements.forEach(function (item) {
96
+ var code = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.SMILESRenderAdapter.getCode(item).trim();
97
+ if (item.getAttribute("data-processed") === "true" || code.trim() === "") {
98
+ return;
99
+ }
100
+ var id = "smiles" + (0,_util_function__WEBPACK_IMPORTED_MODULE_3__/* .genUUID */ .Ee)();
101
+ item.innerHTML = "<svg id=\"".concat(id, "\"></svg>");
102
+ sd.draw(code, '#' + id, theme === "dark" ? "dark" : undefined);
103
+ item.setAttribute("data-processed", "true");
104
+ });
105
+ });
106
+ }
107
+ };
108
+
109
+
110
+ /***/ },
111
+
112
+ /***/ 108
113
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
114
+
115
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
116
+ /* harmony export */ $: () => (/* binding */ abcRender)
117
+ /* harmony export */ });
118
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
119
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
120
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
121
+
122
+
123
+
124
+ var abcRender = function (element, cdn) {
125
+ if (element === void 0) { element = document; }
126
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
127
+ var abcElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.abcRenderAdapter.getElements(element);
128
+ if (abcElements.length > 0) {
129
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/abcjs/abcjs_basic.min.js"), "vditorAbcjsScript").then(function () {
130
+ abcElements.forEach(function (item) {
131
+ if (item.parentElement.classList.contains("vditor-wysiwyg__pre") ||
132
+ item.parentElement.classList.contains("vditor-ir__marker--pre")) {
133
+ return;
134
+ }
135
+ if (item.getAttribute("data-processed") === "true") {
136
+ return;
137
+ }
138
+ ABCJS.renderAbc(item, _adapterRender__WEBPACK_IMPORTED_MODULE_2__.abcRenderAdapter.getCode(item).trim());
139
+ item.style.overflowX = "auto";
140
+ item.setAttribute("data-processed", "true");
141
+ });
142
+ });
143
+ }
144
+ };
145
+
146
+
147
+ /***/ },
148
+
149
+ /***/ 136
150
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
151
+
152
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
153
+ /* harmony export */ X: () => (/* binding */ setLute)
154
+ /* harmony export */ });
155
+ var setLute = function (options) {
156
+ var lute = Lute.New();
157
+ lute.PutEmojis(options.emojis);
158
+ lute.SetEmojiSite(options.emojiSite);
159
+ lute.SetHeadingAnchor(options.headingAnchor);
160
+ lute.SetInlineMathAllowDigitAfterOpenMarker(options.inlineMathDigit);
161
+ lute.SetAutoSpace(options.autoSpace);
162
+ lute.SetToC(options.toc);
163
+ lute.SetFootnotes(options.footnotes);
164
+ lute.SetFixTermTypo(options.fixTermTypo);
165
+ lute.SetVditorCodeBlockPreview(options.codeBlockPreview);
166
+ lute.SetVditorMathBlockPreview(options.mathBlockPreview);
167
+ lute.SetSanitize(options.sanitize);
168
+ lute.SetChineseParagraphBeginningSpace(options.paragraphBeginningSpace);
169
+ lute.SetRenderListStyle(options.listStyle);
170
+ lute.SetLinkBase(options.linkBase);
171
+ lute.SetLinkPrefix(options.linkPrefix);
172
+ lute.SetMark(options.mark);
173
+ lute.SetGFMAutoLink(options.gfmAutoLink);
174
+ if (options.lazyLoadImage) {
175
+ lute.SetImageLazyLoading(options.lazyLoadImage);
176
+ }
177
+ lute.SetSup(options.sup);
178
+ lute.SetSub(options.sub);
179
+ return lute;
180
+ };
181
+
182
+
183
+ /***/ },
184
+
185
+ /***/ 170
186
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
187
+
188
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
189
+ /* harmony export */ o: () => (/* binding */ previewImage)
190
+ /* harmony export */ });
191
+ var previewImage = function (oldImgElement, lang, theme) {
192
+ if (lang === void 0) { lang = "zh_CN"; }
193
+ if (theme === void 0) { theme = "classic"; }
194
+ var oldImgRect = oldImgElement.getBoundingClientRect();
195
+ var height = 36;
196
+ document.body.insertAdjacentHTML("beforeend", "<div class=\"vditor vditor-img".concat(theme === "dark" ? " vditor--dark" : "", "\">\n <div class=\"vditor-img__bar\">\n <span class=\"vditor-img__btn\" data-deg=\"0\">\n <svg><use xlink:href=\"#vditor-icon-redo\"></use></svg>\n ").concat(window.VditorI18n.spin, "\n </span>\n <span class=\"vditor-img__btn\" onclick=\"this.parentElement.parentElement.outerHTML = '';document.body.style.overflow = ''\">\n X &nbsp;").concat(window.VditorI18n.close, "\n </span>\n </div>\n <div class=\"vditor-img__img\" onclick=\"this.parentElement.outerHTML = '';document.body.style.overflow = ''\">\n <img style=\"width: ").concat(oldImgElement.width, "px;height:").concat(oldImgElement.height, "px;transform: translate3d(").concat(oldImgRect.left, "px, ").concat(oldImgRect.top - height, "px, 0)\" src=\"").concat(oldImgElement.getAttribute("src"), "\">\n </div>\n</div>"));
197
+ document.body.style.overflow = "hidden";
198
+ // 图片从原始位置移动到预览正中间的动画效果
199
+ var imgElement = document.querySelector(".vditor-img img");
200
+ var translate3d = "translate3d(".concat(Math.max(0, window.innerWidth - oldImgElement.naturalWidth) / 2, "px, ").concat(Math.max(0, window.innerHeight - height - oldImgElement.naturalHeight) / 2, "px, 0)");
201
+ setTimeout(function () {
202
+ imgElement.setAttribute("style", "transition: transform .3s ease-in-out;transform: ".concat(translate3d));
203
+ setTimeout(function () {
204
+ imgElement.parentElement.scrollTo((imgElement.parentElement.scrollWidth - imgElement.parentElement.clientWidth) / 2, (imgElement.parentElement.scrollHeight - imgElement.parentElement.clientHeight) / 2);
205
+ }, 400);
206
+ });
207
+ // 旋转
208
+ var btnElement = document.querySelector(".vditor-img__btn");
209
+ btnElement.addEventListener("click", function () {
210
+ var deg = parseInt(btnElement.getAttribute("data-deg"), 10) + 90;
211
+ if ((deg / 90) % 2 === 1 && oldImgElement.naturalWidth > imgElement.parentElement.clientHeight) {
212
+ imgElement.style.transform = "translate3d(".concat(Math.max(0, window.innerWidth - oldImgElement.naturalWidth) / 2, "px, ").concat(oldImgElement.naturalWidth / 2 - oldImgElement.naturalHeight / 2, "px, 0) rotateZ(").concat(deg, "deg)");
213
+ }
214
+ else {
215
+ imgElement.style.transform = "".concat(translate3d, " rotateZ(").concat(deg, "deg)");
216
+ }
217
+ btnElement.setAttribute("data-deg", deg.toString());
218
+ setTimeout(function () {
219
+ imgElement.parentElement.scrollTo((imgElement.parentElement.scrollWidth - imgElement.parentElement.clientWidth) / 2, (imgElement.parentElement.scrollHeight - imgElement.parentElement.clientHeight) / 2);
220
+ }, 400);
221
+ });
222
+ };
223
+
224
+
225
+ /***/ },
226
+
227
+ /***/ 183
228
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
229
+
230
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
231
+ /* harmony export */ jl: () => (/* binding */ setSelectionFocus)
232
+ /* harmony export */ });
233
+ /* unused harmony exports getEditorRange, getCursorPosition, selectIsEditor, getSelectPosition, setSelectionByPosition, setRangeByWbr, insertHTML */
234
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
235
+
236
+
237
+
238
+ var getEditorRange = function (vditor) {
239
+ var range;
240
+ var element = vditor[vditor.currentMode].element;
241
+ if (getSelection().rangeCount > 0) {
242
+ range = getSelection().getRangeAt(0);
243
+ if (element.isEqualNode(range.startContainer) || element.contains(range.startContainer)) {
244
+ return range;
245
+ }
246
+ }
247
+ if (vditor[vditor.currentMode].range) {
248
+ return vditor[vditor.currentMode].range;
249
+ }
250
+ element.focus();
251
+ range = element.ownerDocument.createRange();
252
+ range.setStart(element, 0);
253
+ range.collapse(true);
254
+ return range;
255
+ };
256
+ var getCursorPosition = function (editor) {
257
+ var range = window.getSelection().getRangeAt(0);
258
+ if (!editor.contains(range.startContainer) && !hasClosestByClassName(range.startContainer, "vditor-panel--none")) {
259
+ return {
260
+ left: 0,
261
+ top: 0,
262
+ };
263
+ }
264
+ var parentRect = editor.parentElement.getBoundingClientRect();
265
+ var cursorRect;
266
+ if (range.getClientRects().length === 0) {
267
+ if (range.startContainer.nodeType === 3) {
268
+ // 空行时,会出现没有 br 的情况,需要根据父元素 <p> 获取位置信息
269
+ var parent_1 = range.startContainer.parentElement;
270
+ if (parent_1 && parent_1.getClientRects().length > 0) {
271
+ cursorRect = parent_1.getClientRects()[0];
272
+ }
273
+ else {
274
+ return {
275
+ left: 0,
276
+ top: 0,
277
+ };
278
+ }
279
+ }
280
+ else {
281
+ var children = range.startContainer.children;
282
+ if (children[range.startOffset] &&
283
+ children[range.startOffset].getClientRects().length > 0) {
284
+ // markdown 模式回车
285
+ cursorRect = children[range.startOffset].getClientRects()[0];
286
+ }
287
+ else if (range.startContainer.childNodes.length > 0) {
288
+ // in table or code block
289
+ var cloneRange = range.cloneRange();
290
+ range.selectNode(range.startContainer.childNodes[Math.max(0, range.startOffset - 1)]);
291
+ cursorRect = range.getClientRects()[0];
292
+ range.setEnd(cloneRange.endContainer, cloneRange.endOffset);
293
+ range.setStart(cloneRange.startContainer, cloneRange.startOffset);
294
+ }
295
+ else {
296
+ cursorRect = range.startContainer.getClientRects()[0];
297
+ }
298
+ if (!cursorRect) {
299
+ var parentElement = range.startContainer.childNodes[range.startOffset];
300
+ while (!parentElement.getClientRects ||
301
+ (parentElement.getClientRects && parentElement.getClientRects().length === 0)) {
302
+ parentElement = parentElement.parentElement;
303
+ }
304
+ cursorRect = parentElement.getClientRects()[0];
305
+ }
306
+ }
307
+ }
308
+ else {
309
+ cursorRect = range.getClientRects()[0];
310
+ }
311
+ return {
312
+ left: cursorRect.left - parentRect.left,
313
+ top: cursorRect.top - parentRect.top,
314
+ };
315
+ };
316
+ var selectIsEditor = function (editor, range) {
317
+ if (!range) {
318
+ if (getSelection().rangeCount === 0) {
319
+ return false;
320
+ }
321
+ else {
322
+ range = getSelection().getRangeAt(0);
323
+ }
324
+ }
325
+ var container = range.commonAncestorContainer;
326
+ return editor.isEqualNode(container) || editor.contains(container);
327
+ };
328
+ var setSelectionFocus = function (range) {
329
+ var selection = window.getSelection();
330
+ selection.removeAllRanges();
331
+ selection.addRange(range);
332
+ };
333
+ var getSelectPosition = function (selectElement, editorElement, range) {
334
+ var position = {
335
+ end: 0,
336
+ start: 0,
337
+ };
338
+ if (!range) {
339
+ if (getSelection().rangeCount === 0) {
340
+ return position;
341
+ }
342
+ range = window.getSelection().getRangeAt(0);
343
+ }
344
+ if (selectIsEditor(editorElement, range)) {
345
+ var preSelectionRange = range.cloneRange();
346
+ if (selectElement.childNodes[0] && selectElement.childNodes[0].childNodes[0]) {
347
+ preSelectionRange.setStart(selectElement.childNodes[0].childNodes[0], 0);
348
+ }
349
+ else {
350
+ preSelectionRange.selectNodeContents(selectElement);
351
+ }
352
+ preSelectionRange.setEnd(range.startContainer, range.startOffset);
353
+ position.start = preSelectionRange.toString().length;
354
+ position.end = position.start + range.toString().length;
355
+ }
356
+ return position;
357
+ };
358
+ var setSelectionByPosition = function (start, end, editor) {
359
+ var charIndex = 0;
360
+ var line = 0;
361
+ var pNode = editor.childNodes[line];
362
+ var foundStart = false;
363
+ var stop = false;
364
+ start = Math.max(0, start);
365
+ end = Math.max(0, end);
366
+ var range = editor.ownerDocument.createRange();
367
+ range.setStart(pNode || editor, 0);
368
+ range.collapse(true);
369
+ while (!stop && pNode) {
370
+ var nextCharIndex = charIndex + pNode.textContent.length;
371
+ if (!foundStart && start >= charIndex && start <= nextCharIndex) {
372
+ if (start === 0) {
373
+ range.setStart(pNode, 0);
374
+ }
375
+ else {
376
+ if (pNode.childNodes[0].nodeType === 3) {
377
+ range.setStart(pNode.childNodes[0], start - charIndex);
378
+ }
379
+ else if (pNode.nextSibling) {
380
+ range.setStartBefore(pNode.nextSibling);
381
+ }
382
+ else {
383
+ range.setStartAfter(pNode);
384
+ }
385
+ }
386
+ foundStart = true;
387
+ if (start === end) {
388
+ stop = true;
389
+ break;
390
+ }
391
+ }
392
+ if (foundStart && end >= charIndex && end <= nextCharIndex) {
393
+ if (end === 0) {
394
+ range.setEnd(pNode, 0);
395
+ }
396
+ else {
397
+ if (pNode.childNodes[0].nodeType === 3) {
398
+ range.setEnd(pNode.childNodes[0], end - charIndex);
399
+ }
400
+ else if (pNode.nextSibling) {
401
+ range.setEndBefore(pNode.nextSibling);
402
+ }
403
+ else {
404
+ range.setEndAfter(pNode);
405
+ }
406
+ }
407
+ stop = true;
408
+ }
409
+ charIndex = nextCharIndex;
410
+ pNode = editor.childNodes[++line];
411
+ }
412
+ if (!stop && editor.childNodes[line - 1]) {
413
+ range.setStartBefore(editor.childNodes[line - 1]);
414
+ }
415
+ setSelectionFocus(range);
416
+ return range;
417
+ };
418
+ var setRangeByWbr = function (element, range) {
419
+ var wbrElement = element.querySelector("wbr");
420
+ if (!wbrElement) {
421
+ return;
422
+ }
423
+ if (!wbrElement.previousElementSibling) {
424
+ if (wbrElement.previousSibling) {
425
+ // text<wbr>
426
+ range.setStart(wbrElement.previousSibling, wbrElement.previousSibling.textContent.length);
427
+ }
428
+ else if (wbrElement.nextSibling) {
429
+ if (wbrElement.nextSibling.nodeType === 3) {
430
+ // <wbr>text
431
+ range.setStart(wbrElement.nextSibling, 0);
432
+ }
433
+ else {
434
+ // <wbr><br> https://github.com/Vanessa219/vditor/issues/400
435
+ range.setStartBefore(wbrElement.nextSibling);
436
+ }
437
+ }
438
+ else {
439
+ // 内容为空
440
+ range.setStart(wbrElement.parentElement, 0);
441
+ }
442
+ }
443
+ else {
444
+ if (wbrElement.previousElementSibling.isSameNode(wbrElement.previousSibling)) {
445
+ if (wbrElement.previousElementSibling.lastChild) {
446
+ // <em>text</em><wbr>
447
+ range.setStartBefore(wbrElement);
448
+ range.collapse(true);
449
+ setSelectionFocus(range);
450
+ // fix Chrome set range bug: **c**
451
+ if (isChrome() && (wbrElement.previousElementSibling.tagName === "EM" ||
452
+ wbrElement.previousElementSibling.tagName === "STRONG" ||
453
+ wbrElement.previousElementSibling.tagName === "S")) {
454
+ range.insertNode(document.createTextNode(Constants.ZWSP));
455
+ range.collapse(false);
456
+ }
457
+ wbrElement.remove();
458
+ return;
459
+ }
460
+ else {
461
+ // <br><wbr>
462
+ range.setStartAfter(wbrElement.previousElementSibling);
463
+ }
464
+ }
465
+ else {
466
+ // <em>text</em>text<wbr>
467
+ range.setStart(wbrElement.previousSibling, wbrElement.previousSibling.textContent.length);
468
+ }
469
+ }
470
+ range.collapse(true);
471
+ wbrElement.remove();
472
+ setSelectionFocus(range);
473
+ };
474
+ var insertHTML = function (html, vditor) {
475
+ // 使用 lute 方法会添加 p 元素,只有一个 p 元素的时候进行删除
476
+ var tempElement = document.createElement("div");
477
+ tempElement.innerHTML = html;
478
+ var tempBlockElement = tempElement.querySelectorAll("p");
479
+ if (tempBlockElement.length === 1 && !tempBlockElement[0].previousSibling && !tempBlockElement[0].nextSibling &&
480
+ vditor[vditor.currentMode].element.children.length > 0 && tempElement.firstElementChild.tagName === "P") {
481
+ html = tempBlockElement[0].innerHTML.trim();
482
+ }
483
+ var pasteElement = document.createElement("div");
484
+ pasteElement.innerHTML = html;
485
+ var range = getEditorRange(vditor);
486
+ if (range.toString() !== "") {
487
+ vditor[vditor.currentMode].preventInput = true;
488
+ document.execCommand("delete", false, "");
489
+ }
490
+ if (pasteElement.firstElementChild &&
491
+ pasteElement.firstElementChild.getAttribute("data-block") === "0") {
492
+ // 粘贴内容为块元素时,应在下一段落中插入
493
+ pasteElement.lastElementChild.insertAdjacentHTML("beforeend", "<wbr>");
494
+ var blockElement = hasClosestBlock(range.startContainer);
495
+ if (!blockElement) {
496
+ vditor[vditor.currentMode].element.insertAdjacentHTML("beforeend", pasteElement.innerHTML);
497
+ }
498
+ else {
499
+ var liElement = hasClosestByMatchTag(range.startContainer, "LI");
500
+ if (liElement && pasteElement.firstElementChild.tagName === "UL") {
501
+ liElement.insertAdjacentHTML("afterend", pasteElement.firstElementChild.innerHTML);
502
+ }
503
+ else {
504
+ blockElement.insertAdjacentHTML("afterend", pasteElement.innerHTML);
505
+ }
506
+ }
507
+ setRangeByWbr(vditor[vditor.currentMode].element, range);
508
+ }
509
+ else {
510
+ var pasteTemplate = document.createElement("template");
511
+ pasteTemplate.innerHTML = html;
512
+ range.insertNode(pasteTemplate.content.cloneNode(true));
513
+ range.collapse(false);
514
+ setSelectionFocus(range);
515
+ }
516
+ };
517
+
518
+
519
+ /***/ },
520
+
521
+ /***/ 249
522
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
523
+
524
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
525
+ /* harmony export */ Ee: () => (/* binding */ genUUID),
526
+ /* harmony export */ TK: () => (/* binding */ getSearch),
527
+ /* harmony export */ kY: () => (/* binding */ looseJsonParse)
528
+ /* harmony export */ });
529
+ var genUUID = function () { return ([1e7].toString() + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
530
+ return (parseInt(c, 10) ^ (window.crypto.getRandomValues(new Uint32Array(1))[0] & (15 >> (parseInt(c, 10) / 4)))).toString(16);
531
+ }); };
532
+ var getSearch = function (key, link) {
533
+ if (link === void 0) { link = window.location.search; }
534
+ var params = link.substring(link.indexOf("?"));
535
+ var hashIndex = params.indexOf("#");
536
+ // REF https://developer.mozilla.org/zh-CN/docs/Web/API/URLSearchParams
537
+ var urlSearchParams = new URLSearchParams(params.substring(0, hashIndex >= 0 ? hashIndex : undefined));
538
+ return urlSearchParams.get(key);
539
+ };
540
+ var looseJsonParse = function (text) {
541
+ return Function("\"use strict\";return (".concat(text, ")"))();
542
+ };
543
+
544
+
545
+ /***/ },
546
+
547
+ /***/ 357
548
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
549
+
550
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
551
+ /* harmony export */ Y: () => (/* binding */ Constants)
552
+ /* harmony export */ });
553
+ /* unused harmony export VDITOR_VERSION */
554
+ var _VDITOR_VERSION = (/* unused pure expression or super */ null && ("0.0.1"));
555
+
556
+ var Constants = /** @class */ (function () {
557
+ function Constants() {
558
+ }
559
+ Constants.ZWSP = "\u200b";
560
+ Constants.DROP_EDITOR = "application/editor";
561
+ Constants.MOBILE_WIDTH = 520;
562
+ Constants.CLASS_MENU_DISABLED = "vditor-menu--disabled";
563
+ Constants.EDIT_TOOLBARS = ["emoji", "headings", "bold", "italic", "strike", "link", "list",
564
+ "ordered-list", "outdent", "indent", "check", "line", "quote", "code", "inline-code", "insert-after",
565
+ "insert-before", "upload", "record", "table"];
566
+ Constants.CODE_THEME = ["a11y-dark", "agate", "an-old-hope", "androidstudio",
567
+ "arta", "atom-one-dark", "atom-one-dark-reasonable", "base16/3024", "base16/apathy", "base16/apprentice", "base16/ashes", "base16/atelier-cave", "base16/atelier-dune",
568
+ "base16/atelier-estuary", "base16/atelier-forest", "base16/atelier-heath", "base16/atelier-lakeside", "base16/atelier-plateau", "base16/atelier-savanna", "base16/atelier-seaside", "base16/atelier-sulphurpool",
569
+ "base16/atlas", "base16/bespin", "base16/black-metal", "base16/black-metal-bathory", "base16/black-metal-burzum", "base16/black-metal-dark-funeral", "base16/black-metal-gorgoroth", "base16/black-metal-immortal", "base16/black-metal-khold", "base16/black-metal-marduk", "base16/black-metal-mayhem", "base16/black-metal-nile", "base16/black-metal-venom", "base16/brewer", "base16/bright", "base16/brogrammer",
570
+ "base16/brush-trees-dark", "base16/chalk", "base16/circus", "base16/classic-dark", "base16/codeschool", "base16/colors", "base16/danqing", "base16/darcula", "base16/dark-violet",
571
+ "base16/darkmoss", "base16/darktooth", "base16/decaf", "base16/default-dark", "base16/dracula", "base16/edge-dark", "base16/eighties", "base16/embers", "base16/equilibrium-dark",
572
+ "base16/equilibrium-gray-dark", "base16/espresso", "base16/eva", "base16/eva-dim", "base16/flat", "base16/framer", "base16/gigavolt", "base16/google-dark", "base16/grayscale-dark", "base16/green-screen", "base16/gruvbox-dark-hard", "base16/gruvbox-dark-medium",
573
+ "base16/gruvbox-dark-pale", "base16/gruvbox-dark-soft", "base16/hardcore", "base16/harmonic16-dark", "base16/heetch-dark", "base16/helios", "base16/hopscotch", "base16/horizon-dark", "base16/humanoid-dark", "base16/ia-dark", "base16/icy-dark", "base16/ir-black", "base16/isotope",
574
+ "base16/kimber", "base16/london-tube", "base16/macintosh", "base16/marrakesh", "base16/materia", "base16/material", "base16/material-darker", "base16/material-palenight", "base16/material-vivid",
575
+ "base16/mellow-purple", "base16/mocha", "base16/monokai", "base16/nebula", "base16/nord", "base16/nova", "base16/ocean", "base16/oceanicnext", "base16/onedark", "base16/outrun-dark",
576
+ "base16/papercolor-dark", "base16/paraiso", "base16/pasque", "base16/phd", "base16/pico", "base16/pop", "base16/porple", "base16/qualia", "base16/railscasts", "base16/rebecca",
577
+ "base16/ros-pine", "base16/ros-pine-moon", "base16/sandcastle", "base16/seti-ui", "base16/silk-dark", "base16/snazzy", "base16/solar-flare", "base16/solarized-dark", "base16/spacemacs", "base16/summercamp", "base16/summerfruit-dark",
578
+ "base16/synth-midnight-terminal-dark", "base16/tango", "base16/tender", "base16/tomorrow-night", "base16/twilight", "base16/unikitty-dark", "base16/vulcan",
579
+ "base16/windows-10", "base16/windows-95", "base16/windows-high-contrast", "base16/windows-nt", "base16/woodland", "base16/xcode-dusk", "base16/zenburn", "codepen-embed", "dark",
580
+ "devibeans", "far", "felipec", "github-dark", "github-dark-dimmed", "gml", "gradient-dark", "hybrid", "ir-black", "isbl-editor-dark", "kimbie-dark", "lioshi",
581
+ "monokai", "monokai-sublime", "night-owl", "nnfx-dark", "nord", "obsidian", "panda-syntax-dark", "paraiso-dark", "pojoaque", "qtcreator-dark", "rainbow", "shades-of-purple", "srcery", "stackoverflow-dark",
582
+ "sunburst", "tomorrow-night-blue", "tomorrow-night-bright", "tokyo-night-dark", "vs2015", "xt256",
583
+ "ant-design",
584
+ "a11y-light", "arduino-light", "ascetic", "atom-one-light", "base16/atelier-cave-light",
585
+ "base16/atelier-dune-light", "base16/atelier-estuary-light", "base16/atelier-forest-light", "base16/atelier-heath-light",
586
+ "base16/atelier-lakeside-light", "base16/atelier-plateau-light", "base16/atelier-savanna-light", "base16/atelier-seaside-light", "base16/atelier-sulphurpool-light", "base16/brush-trees",
587
+ "base16/classic-light", "base16/cupcake", "base16/cupertino", "base16/default-light", "base16/dirtysea", "base16/edge-light", "base16/equilibrium-gray-light", "base16/equilibrium-light",
588
+ "base16/fruit-soda", "base16/github", "base16/google-light", "base16/grayscale-light", "base16/gruvbox-light-hard", "base16/gruvbox-light-medium", "base16/gruvbox-light-soft",
589
+ "base16/harmonic16-light", "base16/heetch-light", "base16/humanoid-light", "base16/horizon-light", "base16/ia-light", "base16/material-lighter", "base16/mexico-light",
590
+ "base16/one-light", "base16/papercolor-light", "base16/ros-pine-dawn", "base16/sagelight", "base16/shapeshifter",
591
+ "base16/silk-light", "base16/solar-flare-light", "base16/solarized-light", "base16/summerfruit-light", "base16/synth-midnight-terminal-light", "base16/tomorrow",
592
+ "base16/unikitty-light", "base16/windows-10-light", "base16/windows-95-light", "base16/windows-high-contrast-light", "brown-paper", "base16/windows-nt-light",
593
+ "color-brewer", "docco", "foundation", "github", "googlecode", "gradient-light", "grayscale", "idea", "intellij-light", "isbl-editor-light", "kimbie-light",
594
+ "lightfair", "magula", "mono-blue", "nnfx-light", "panda-syntax-light", "paraiso-light", "purebasic", "qtcreator-light", "routeros", "school-book",
595
+ "stackoverflow-light", "tokyo-night-light", "vs", "xcode", "default"];
596
+ Constants.ALIAS_CODE_LANGUAGES = [
597
+ // 自定义
598
+ "abc", "plantuml", "mermaid", "flowchart", "echarts", "mindmap", "graphviz", "math", "markmap", "smiles",
599
+ // 别名
600
+ "js", "ts", "html", "toml", "c#", "bat"
601
+ ];
602
+ Constants.CDN = "https://unpkg.com/vditor@".concat("0.0.1");
603
+ Constants.MARKDOWN_OPTIONS = {
604
+ autoSpace: false,
605
+ gfmAutoLink: true,
606
+ codeBlockPreview: true,
607
+ fixTermTypo: false,
608
+ footnotes: true,
609
+ linkBase: "",
610
+ linkPrefix: "",
611
+ listStyle: false,
612
+ mark: false,
613
+ mathBlockPreview: true,
614
+ paragraphBeginningSpace: false,
615
+ sanitize: true,
616
+ sub: false,
617
+ sup: false,
618
+ toc: false,
619
+ };
620
+ Constants.HLJS_OPTIONS = {
621
+ enable: true,
622
+ lineNumber: false,
623
+ defaultLang: "",
624
+ style: "github",
625
+ };
626
+ Constants.MATH_OPTIONS = {
627
+ engine: "KaTeX",
628
+ inlineDigit: false,
629
+ macros: {},
630
+ };
631
+ Constants.THEME_OPTIONS = {
632
+ current: "light",
633
+ list: {
634
+ "ant-design": "Ant Design",
635
+ "dark": "Dark",
636
+ "light": "Light",
637
+ "wechat": "WeChat",
638
+ },
639
+ path: "".concat(Constants.CDN, "/dist/css/content-theme"),
640
+ };
641
+ return Constants;
642
+ }());
643
+
644
+
645
+
646
+ /***/ },
647
+
648
+ /***/ 376
649
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
650
+
651
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
652
+ /* harmony export */ $: () => (/* binding */ highlightRender)
653
+ /* harmony export */ });
654
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
655
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
656
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(477);
657
+
658
+
659
+
660
+ var highlightRender = function (hljsOption, element, cdn) {
661
+ if (element === void 0) { element = document; }
662
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
663
+ var style = hljsOption.style;
664
+ if (!_constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CODE_THEME.includes(style)) {
665
+ style = "github";
666
+ }
667
+ var vditorHljsStyle = document.getElementById("vditorHljsStyle");
668
+ var href = "".concat(cdn, "/dist/js/highlight.js/styles/").concat(style, ".min.css");
669
+ if (vditorHljsStyle && vditorHljsStyle.getAttribute('href') !== href) {
670
+ vditorHljsStyle.remove();
671
+ }
672
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_2__/* .addStyle */ .T)("".concat(cdn, "/dist/js/highlight.js/styles/").concat(style, ".min.css"), "vditorHljsStyle");
673
+ if (hljsOption.enable === false) {
674
+ return;
675
+ }
676
+ var codes = element.querySelectorAll("pre > code");
677
+ if (codes.length === 0) {
678
+ return;
679
+ }
680
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/highlight.js/highlight.min.js?v=11.7.0"), "vditorHljsScript").then(function () {
681
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/highlight.js/third-languages.js?v=1.0.1"), "vditorHljsThirdScript").then(function () {
682
+ element.querySelectorAll("pre > code").forEach(function (block) {
683
+ // ir & wysiwyg 区域不渲染
684
+ if (block.parentElement.classList.contains("vditor-ir__marker--pre") ||
685
+ block.parentElement.classList.contains("vditor-wysiwyg__pre")) {
686
+ return;
687
+ }
688
+ if (block.classList.contains("language-mermaid") || block.classList.contains("language-flowchart") ||
689
+ block.classList.contains("language-echarts") || block.classList.contains("language-mindmap") ||
690
+ block.classList.contains("language-plantuml") || block.classList.contains("language-smiles") ||
691
+ block.classList.contains("language-abc") || block.classList.contains("language-graphviz") ||
692
+ block.classList.contains("language-math")) {
693
+ return;
694
+ }
695
+ if (hljsOption.defaultLang !== "" && block.className.indexOf("language-") === -1) {
696
+ block.classList.add("language-" + hljsOption.defaultLang);
697
+ }
698
+ var language = block.className.replace("language-", "");
699
+ if (!window.hljs.getLanguage(language)) {
700
+ language = "plaintext";
701
+ }
702
+ block.innerHTML = window.hljs.highlight(block.textContent, {
703
+ language: language,
704
+ ignoreIllegals: true
705
+ }).value;
706
+ block.classList.add("hljs");
707
+ if (!hljsOption.lineNumber) {
708
+ return;
709
+ }
710
+ block.classList.add("vditor-linenumber");
711
+ var linenNumberTemp = block.querySelector(".vditor-linenumber__temp");
712
+ if (!linenNumberTemp) {
713
+ linenNumberTemp = document.createElement("div");
714
+ linenNumberTemp.className = "vditor-linenumber__temp";
715
+ block.insertAdjacentElement("beforeend", linenNumberTemp);
716
+ }
717
+ var whiteSpace = getComputedStyle(block).whiteSpace;
718
+ var isSoftWrap = false;
719
+ if (whiteSpace === "pre-wrap" || whiteSpace === "pre-line") {
720
+ isSoftWrap = true;
721
+ }
722
+ var lineNumberHTML = "";
723
+ var lineList = block.textContent.split(/\r\n|\r|\n/g);
724
+ lineList.pop();
725
+ lineList.map(function (line) {
726
+ var lineHeight = "";
727
+ if (isSoftWrap) {
728
+ linenNumberTemp.textContent = line || "\n";
729
+ lineHeight = " style=\"height:".concat(linenNumberTemp.getBoundingClientRect().height, "px\"");
730
+ }
731
+ lineNumberHTML += "<span".concat(lineHeight, "></span>");
732
+ });
733
+ linenNumberTemp.style.display = "none";
734
+ lineNumberHTML = "<span class=\"vditor-linenumber__rows\">".concat(lineNumberHTML, "</span>");
735
+ block.insertAdjacentHTML("beforeend", lineNumberHTML);
736
+ });
737
+ });
738
+ });
739
+ };
740
+
741
+
742
+ /***/ },
743
+
744
+ /***/ 407
745
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
746
+
747
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
748
+ /* harmony export */ m: () => (/* binding */ graphvizRender)
749
+ /* harmony export */ });
750
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
751
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
752
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
753
+
754
+
755
+
756
+ var graphvizRender = function (element, cdn) {
757
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
758
+ var graphvizElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.graphvizRenderAdapter.getElements(element);
759
+ if (graphvizElements.length === 0) {
760
+ return;
761
+ }
762
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/graphviz/viz.js"), "vditorGraphVizScript").then(function () {
763
+ graphvizElements.forEach(function (e) {
764
+ var code = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.graphvizRenderAdapter.getCode(e);
765
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
766
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
767
+ return;
768
+ }
769
+ if (e.getAttribute("data-processed") === "true" || code.trim() === "") {
770
+ return;
771
+ }
772
+ try {
773
+ var blob = new Blob(["importScripts('".concat(document.getElementById("vditorGraphVizScript").src.replace("viz.js", "full.render.js"), "');")], { type: "application/javascript" });
774
+ var url = window.URL || window.webkitURL;
775
+ var blobUrl = url.createObjectURL(blob);
776
+ var worker = new Worker(blobUrl);
777
+ new Viz({ worker: worker })
778
+ .renderSVGElement(code).then(function (result) {
779
+ e.innerHTML = result.outerHTML;
780
+ }).catch(function (error) {
781
+ e.innerHTML = "graphviz render error: <br>".concat(error);
782
+ e.className = "vditor-reset--error";
783
+ });
784
+ }
785
+ catch (e) {
786
+ console.error("graphviz error", e);
787
+ }
788
+ e.setAttribute("data-processed", "true");
789
+ });
790
+ });
791
+ };
792
+
793
+
794
+ /***/ },
795
+
796
+ /***/ 417
797
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
798
+
799
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
800
+ /* harmony export */ h: () => (/* binding */ setCodeTheme)
801
+ /* harmony export */ });
802
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
803
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(477);
804
+
805
+
806
+ var setCodeTheme = function (codeTheme, cdn) {
807
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
808
+ if (!_constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CODE_THEME.includes(codeTheme)) {
809
+ codeTheme = "github";
810
+ }
811
+ var vditorHljsStyle = document.getElementById("vditorHljsStyle");
812
+ var href = "".concat(cdn, "/dist/js/highlight.js/styles/").concat(codeTheme, ".min.css");
813
+ if (!vditorHljsStyle) {
814
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_1__/* .addStyle */ .T)(href, "vditorHljsStyle");
815
+ }
816
+ else if (vditorHljsStyle.getAttribute('href') !== href) {
817
+ vditorHljsStyle.remove();
818
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_1__/* .addStyle */ .T)(href, "vditorHljsStyle");
819
+ }
820
+ };
821
+
822
+
823
+ /***/ },
824
+
825
+ /***/ 430
826
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
827
+
828
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
829
+ /* harmony export */ l: () => (/* binding */ mindmapRender)
830
+ /* harmony export */ });
831
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
832
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
833
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
834
+
835
+
836
+
837
+ var mindmapRender = function (element, cdn, theme) {
838
+ if (element === void 0) { element = document; }
839
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
840
+ var mindmapElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.mindmapRenderAdapter.getElements(element);
841
+ if (mindmapElements.length > 0) {
842
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/echarts/echarts.min.js?v=5.5.1"), "vditorEchartsScript").then(function () {
843
+ mindmapElements.forEach(function (e) {
844
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
845
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
846
+ return;
847
+ }
848
+ var text = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.mindmapRenderAdapter.getCode(e);
849
+ if (!text) {
850
+ return;
851
+ }
852
+ try {
853
+ if (e.getAttribute("data-processed") === "true") {
854
+ return;
855
+ }
856
+ echarts.init(e, theme === "dark" ? "dark" : undefined).setOption({
857
+ series: [
858
+ {
859
+ data: [JSON.parse(decodeURIComponent(text))],
860
+ initialTreeDepth: -1,
861
+ itemStyle: {
862
+ borderWidth: 0,
863
+ color: "#4285f4",
864
+ },
865
+ label: {
866
+ backgroundColor: "#f6f8fa",
867
+ borderColor: "#d1d5da",
868
+ borderRadius: 5,
869
+ borderWidth: 0.5,
870
+ color: "#586069",
871
+ lineHeight: 20,
872
+ offset: [-5, 0],
873
+ padding: [0, 5],
874
+ position: "insideRight",
875
+ },
876
+ lineStyle: {
877
+ color: "#d1d5da",
878
+ width: 1,
879
+ },
880
+ roam: true,
881
+ symbol: function (value, params) {
882
+ var _a;
883
+ if ((_a = params === null || params === void 0 ? void 0 : params.data) === null || _a === void 0 ? void 0 : _a.children) {
884
+ return "circle";
885
+ }
886
+ else {
887
+ return "path://";
888
+ }
889
+ },
890
+ type: "tree",
891
+ },
892
+ ],
893
+ tooltip: {
894
+ trigger: "item",
895
+ triggerOn: "mousemove",
896
+ },
897
+ });
898
+ e.setAttribute("data-processed", "true");
899
+ }
900
+ catch (error) {
901
+ e.className = "vditor-reset--error";
902
+ e.innerHTML = "mindmap render error: <br>".concat(error);
903
+ }
904
+ });
905
+ });
906
+ }
907
+ };
908
+
909
+
910
+ /***/ },
911
+
912
+ /***/ 435
913
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
914
+
915
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
916
+ /* harmony export */ p: () => (/* binding */ code160to32)
917
+ /* harmony export */ });
918
+ var code160to32 = function (text) {
919
+ // 非打断空格转换为空格
920
+ return text.replace(/\u00a0/g, " ");
921
+ };
922
+
923
+
924
+ /***/ },
925
+
926
+ /***/ 442
927
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
928
+
929
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
930
+ /* harmony export */ N: () => (/* binding */ outlineRender)
931
+ /* harmony export */ });
932
+ /* harmony import */ var _util_hasClosestByHeadings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(472);
933
+ /* harmony import */ var _mathRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(876);
934
+
935
+
936
+ var outlineRender = function (contentElement, targetElement, vditor) {
937
+ var tocHTML = "";
938
+ var ids = [];
939
+ Array.from(contentElement.children).forEach(function (item, index) {
940
+ if ((0,_util_hasClosestByHeadings__WEBPACK_IMPORTED_MODULE_0__/* .hasClosestByHeadings */ .c)(item)) {
941
+ if (vditor) {
942
+ var lastIndex = item.id.lastIndexOf("_");
943
+ item.id = item.id.substring(0, lastIndex === -1 ? undefined : lastIndex) + "_" + index;
944
+ }
945
+ ids.push(item.id);
946
+ tocHTML += item.outerHTML.replace("<wbr>", "");
947
+ }
948
+ });
949
+ if (tocHTML === "") {
950
+ targetElement.innerHTML = "";
951
+ return "";
952
+ }
953
+ var tempElement = document.createElement("div");
954
+ if (vditor) {
955
+ vditor.lute.SetToC(true);
956
+ if (vditor.currentMode === "wysiwyg" && !vditor.preview.element.contains(contentElement)) {
957
+ tempElement.innerHTML = vditor.lute.SpinVditorDOM("<p>[ToC]</p>" + tocHTML);
958
+ }
959
+ else if (vditor.currentMode === "ir" && !vditor.preview.element.contains(contentElement)) {
960
+ tempElement.innerHTML = vditor.lute.SpinVditorIRDOM("<p>[ToC]</p>" + tocHTML);
961
+ }
962
+ else {
963
+ tempElement.innerHTML = vditor.lute.HTML2VditorDOM("<p>[ToC]</p>" + tocHTML);
964
+ }
965
+ vditor.lute.SetToC(vditor.options.preview.markdown.toc);
966
+ }
967
+ else {
968
+ targetElement.classList.add("vditor-outline");
969
+ var lute = Lute.New();
970
+ lute.SetToC(true);
971
+ tempElement.innerHTML = lute.HTML2VditorDOM("<p>[ToC]</p>" + tocHTML);
972
+ }
973
+ var headingsElement = tempElement.firstElementChild.querySelectorAll("li > span[data-target-id]");
974
+ headingsElement.forEach(function (item, index) {
975
+ if (item.nextElementSibling && item.nextElementSibling.tagName === "UL") {
976
+ var iconHTML = "<svg class='vditor-outline__action'><use xlink:href='#vditor-icon-down'></use></svg>";
977
+ if (!document.getElementById("vditorIconScript")) {
978
+ iconHTML = '<svg class="vditor-outline__action" viewBox="0 0 32 32"><path d="M3.76 6.12l12.24 12.213 12.24-12.213 3.76 3.76-16 16-16-16 3.76-3.76z"></path></svg>';
979
+ }
980
+ item.innerHTML = "".concat(iconHTML, "<span>").concat(item.innerHTML, "</span>");
981
+ }
982
+ else {
983
+ item.innerHTML = "<svg></svg><span>".concat(item.innerHTML, "</span>");
984
+ }
985
+ item.setAttribute("data-target-id", ids[index]);
986
+ });
987
+ tocHTML = tempElement.firstElementChild.innerHTML;
988
+ if (headingsElement.length === 0) {
989
+ targetElement.innerHTML = "";
990
+ return tocHTML;
991
+ }
992
+ targetElement.innerHTML = tocHTML;
993
+ if (vditor) {
994
+ (0,_mathRender__WEBPACK_IMPORTED_MODULE_1__/* .mathRender */ .T)(targetElement, {
995
+ cdn: vditor.options.cdn,
996
+ math: vditor.options.preview.math,
997
+ });
998
+ }
999
+ targetElement.firstElementChild.addEventListener("click", function (event) {
1000
+ var target = event.target;
1001
+ while (target && !target.isEqualNode(targetElement)) {
1002
+ if (target.classList.contains("vditor-outline__action")) {
1003
+ if (target.classList.contains("vditor-outline__action--close")) {
1004
+ target.classList.remove("vditor-outline__action--close");
1005
+ target.parentElement.nextElementSibling.setAttribute("style", "display:block");
1006
+ }
1007
+ else {
1008
+ target.classList.add("vditor-outline__action--close");
1009
+ target.parentElement.nextElementSibling.setAttribute("style", "display:none");
1010
+ }
1011
+ event.preventDefault();
1012
+ event.stopPropagation();
1013
+ break;
1014
+ }
1015
+ else if (target.getAttribute("data-target-id")) {
1016
+ event.preventDefault();
1017
+ event.stopPropagation();
1018
+ var idElement = document.getElementById(target.getAttribute("data-target-id"));
1019
+ if (!idElement) {
1020
+ return;
1021
+ }
1022
+ if (vditor) {
1023
+ if (vditor.options.height === "auto") {
1024
+ var windowScrollY = idElement.offsetTop + vditor.element.offsetTop;
1025
+ if (!vditor.options.toolbarConfig.pin) {
1026
+ windowScrollY += vditor.toolbar.element.offsetHeight;
1027
+ }
1028
+ window.scrollTo(window.scrollX, windowScrollY);
1029
+ }
1030
+ else {
1031
+ if (vditor.element.offsetTop < window.scrollY) {
1032
+ window.scrollTo(window.scrollX, vditor.element.offsetTop);
1033
+ }
1034
+ if (vditor.preview.element.contains(contentElement)) {
1035
+ contentElement.parentElement.scrollTop = idElement.offsetTop;
1036
+ }
1037
+ else {
1038
+ contentElement.scrollTop = idElement.offsetTop;
1039
+ }
1040
+ }
1041
+ }
1042
+ else {
1043
+ window.scrollTo(window.scrollX, idElement.offsetTop);
1044
+ }
1045
+ break;
1046
+ }
1047
+ target = target.parentElement;
1048
+ }
1049
+ });
1050
+ return tocHTML;
1051
+ };
1052
+
1053
+
1054
+ /***/ },
1055
+
1056
+ /***/ 472
1057
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1058
+
1059
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1060
+ /* harmony export */ c: () => (/* binding */ hasClosestByHeadings)
1061
+ /* harmony export */ });
1062
+ /* unused harmony export hasClosestByTag */
1063
+ // NOTE: 减少 method.ts 打包,故从 hasClosest.ts 中拆分
1064
+ var hasClosestByTag = function (element, nodeName) {
1065
+ if (!element) {
1066
+ return false;
1067
+ }
1068
+ if (element.nodeType === 3) {
1069
+ element = element.parentElement;
1070
+ }
1071
+ var e = element;
1072
+ var isClosest = false;
1073
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1074
+ if (e.nodeName.indexOf(nodeName) === 0) {
1075
+ isClosest = true;
1076
+ }
1077
+ else {
1078
+ e = e.parentElement;
1079
+ }
1080
+ }
1081
+ return isClosest && e;
1082
+ };
1083
+ var hasClosestByHeadings = function (element) {
1084
+ var headingElement = hasClosestByTag(element, "H");
1085
+ if (headingElement && headingElement.tagName.length === 2 && headingElement.tagName !== "HR") {
1086
+ return headingElement;
1087
+ }
1088
+ return false;
1089
+ };
1090
+
1091
+
1092
+ /***/ },
1093
+
1094
+ /***/ 477
1095
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1096
+
1097
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1098
+ /* harmony export */ T: () => (/* binding */ addStyle)
1099
+ /* harmony export */ });
1100
+ var addStyle = function (url, id) {
1101
+ if (!document.getElementById(id)) {
1102
+ var styleElement = document.createElement("link");
1103
+ styleElement.id = id;
1104
+ styleElement.rel = "stylesheet";
1105
+ styleElement.type = "text/css";
1106
+ styleElement.href = url;
1107
+ document.getElementsByTagName("head")[0].appendChild(styleElement);
1108
+ }
1109
+ };
1110
+
1111
+
1112
+ /***/ },
1113
+
1114
+ /***/ 512
1115
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1116
+
1117
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1118
+ /* harmony export */ e: () => (/* binding */ mermaidRender)
1119
+ /* harmony export */ });
1120
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
1121
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
1122
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
1123
+ /* harmony import */ var _util_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(249);
1124
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
1125
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1126
+ return new (P || (P = Promise))(function (resolve, reject) {
1127
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1128
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1129
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1130
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
1131
+ });
1132
+ };
1133
+ var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
1134
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
1135
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1136
+ function verb(n) { return function (v) { return step([n, v]); }; }
1137
+ function step(op) {
1138
+ if (f) throw new TypeError("Generator is already executing.");
1139
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
1140
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
1141
+ if (y = 0, t) op = [op[0] & 2, t.value];
1142
+ switch (op[0]) {
1143
+ case 0: case 1: t = op; break;
1144
+ case 4: _.label++; return { value: op[1], done: false };
1145
+ case 5: _.label++; y = op[1]; op = [0]; continue;
1146
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
1147
+ default:
1148
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
1149
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
1150
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
1151
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
1152
+ if (t[2]) _.ops.pop();
1153
+ _.trys.pop(); continue;
1154
+ }
1155
+ op = body.call(thisArg, _);
1156
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
1157
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
1158
+ }
1159
+ };
1160
+
1161
+
1162
+
1163
+
1164
+ var mermaidRender = function (element, cdn, theme) {
1165
+ if (element === void 0) { element = document; }
1166
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
1167
+ var mermaidElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.mermaidRenderAdapter.getElements(element);
1168
+ if (mermaidElements.length === 0) {
1169
+ return;
1170
+ }
1171
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/mermaid/mermaid.min.js?v=11.11.0"), "vditorMermaidScript").then(function () {
1172
+ var config = {
1173
+ securityLevel: "loose",
1174
+ altFontFamily: "sans-serif",
1175
+ fontFamily: "sans-serif",
1176
+ startOnLoad: false,
1177
+ flowchart: {
1178
+ htmlLabels: true,
1179
+ useMaxWidth: !0
1180
+ },
1181
+ sequence: {
1182
+ useMaxWidth: true,
1183
+ diagramMarginX: 8,
1184
+ diagramMarginY: 8,
1185
+ boxMargin: 8,
1186
+ showSequenceNumbers: true // Mermaid 时序图增加序号 https://github.com/siyuan-note/siyuan/pull/6992 https://mermaid.js.org/syntax/sequenceDiagram.html#sequencenumbers
1187
+ },
1188
+ gantt: {
1189
+ leftPadding: 75,
1190
+ rightPadding: 20
1191
+ }
1192
+ };
1193
+ if (theme === "dark") {
1194
+ config.theme = "dark";
1195
+ }
1196
+ mermaid.initialize(config);
1197
+ mermaidElements.forEach(function (item) { return __awaiter(void 0, void 0, void 0, function () {
1198
+ var code, id, mermaidData, e_1, errorElement;
1199
+ return __generator(this, function (_a) {
1200
+ switch (_a.label) {
1201
+ case 0:
1202
+ code = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.mermaidRenderAdapter.getCode(item);
1203
+ if (item.getAttribute("data-processed") === "true" || code.trim() === "") {
1204
+ return [2 /*return*/];
1205
+ }
1206
+ id = "mermaid" + (0,_util_function__WEBPACK_IMPORTED_MODULE_3__/* .genUUID */ .Ee)();
1207
+ _a.label = 1;
1208
+ case 1:
1209
+ _a.trys.push([1, 3, , 4]);
1210
+ return [4 /*yield*/, mermaid.render(id, item.textContent)];
1211
+ case 2:
1212
+ mermaidData = _a.sent();
1213
+ item.innerHTML = mermaidData.svg;
1214
+ return [3 /*break*/, 4];
1215
+ case 3:
1216
+ e_1 = _a.sent();
1217
+ errorElement = document.querySelector("#" + id);
1218
+ item.innerHTML = "".concat(errorElement.outerHTML, "<br>\n<div style=\"text-align: left\"><small>").concat(e_1.message.replace(/\n/, "<br>"), "</small></div>");
1219
+ errorElement.parentElement.remove();
1220
+ return [3 /*break*/, 4];
1221
+ case 4:
1222
+ item.setAttribute("data-processed", "true");
1223
+ return [2 /*return*/];
1224
+ }
1225
+ });
1226
+ }); });
1227
+ });
1228
+ };
1229
+
1230
+
1231
+ /***/ },
1232
+
1233
+ /***/ 514
1234
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1235
+
1236
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1237
+ /* harmony export */ KJ: () => (/* binding */ hasClosestByClassName),
1238
+ /* harmony export */ _Y: () => (/* binding */ hasClosestByMatchTag)
1239
+ /* harmony export */ });
1240
+ /* unused harmony exports hasTopClosestByClassName, hasTopClosestByAttribute, hasTopClosestByTag, getTopList, hasClosestByAttribute, hasClosestBlock, getLastNode */
1241
+
1242
+ var hasTopClosestByClassName = function (element, className) {
1243
+ var closest = hasClosestByClassName(element, className);
1244
+ var parentClosest = false;
1245
+ var findTop = false;
1246
+ while (closest && !closest.classList.contains("vditor-reset") && !findTop) {
1247
+ parentClosest = hasClosestByClassName(closest.parentElement, className);
1248
+ if (parentClosest) {
1249
+ closest = parentClosest;
1250
+ }
1251
+ else {
1252
+ findTop = true;
1253
+ }
1254
+ }
1255
+ return closest || false;
1256
+ };
1257
+ var hasTopClosestByAttribute = function (element, attr, value) {
1258
+ var closest = hasClosestByAttribute(element, attr, value);
1259
+ var parentClosest = false;
1260
+ var findTop = false;
1261
+ while (closest && !closest.classList.contains("vditor-reset") && !findTop) {
1262
+ parentClosest = hasClosestByAttribute(closest.parentElement, attr, value);
1263
+ if (parentClosest) {
1264
+ closest = parentClosest;
1265
+ }
1266
+ else {
1267
+ findTop = true;
1268
+ }
1269
+ }
1270
+ return closest || false;
1271
+ };
1272
+ var hasTopClosestByTag = function (element, nodeName) {
1273
+ var closest = hasClosestByTag(element, nodeName);
1274
+ var parentClosest = false;
1275
+ var findTop = false;
1276
+ while (closest && !closest.classList.contains("vditor-reset") && !findTop) {
1277
+ parentClosest = hasClosestByTag(closest.parentElement, nodeName);
1278
+ if (parentClosest) {
1279
+ closest = parentClosest;
1280
+ }
1281
+ else {
1282
+ findTop = true;
1283
+ }
1284
+ }
1285
+ return closest || false;
1286
+ };
1287
+ var getTopList = function (element) {
1288
+ var topUlElement = hasTopClosestByTag(element, "UL");
1289
+ var topOlElement = hasTopClosestByTag(element, "OL");
1290
+ var topListElement = topUlElement;
1291
+ if (topOlElement && (!topUlElement || (topUlElement && topOlElement.contains(topUlElement)))) {
1292
+ topListElement = topOlElement;
1293
+ }
1294
+ return topListElement;
1295
+ };
1296
+ var hasClosestByAttribute = function (element, attr, value) {
1297
+ if (!element) {
1298
+ return false;
1299
+ }
1300
+ if (element.nodeType === 3) {
1301
+ element = element.parentElement;
1302
+ }
1303
+ var e = element;
1304
+ var isClosest = false;
1305
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1306
+ if (e.getAttribute(attr) === value) {
1307
+ isClosest = true;
1308
+ }
1309
+ else {
1310
+ e = e.parentElement;
1311
+ }
1312
+ }
1313
+ return isClosest && e;
1314
+ };
1315
+ var hasClosestBlock = function (element) {
1316
+ if (!element) {
1317
+ return false;
1318
+ }
1319
+ if (element.nodeType === 3) {
1320
+ element = element.parentElement;
1321
+ }
1322
+ var e = element;
1323
+ var isClosest = false;
1324
+ var blockElement = hasClosestByAttribute(element, "data-block", "0");
1325
+ if (blockElement) {
1326
+ return blockElement;
1327
+ }
1328
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1329
+ if (e.tagName === "H1" ||
1330
+ e.tagName === "H2" ||
1331
+ e.tagName === "H3" ||
1332
+ e.tagName === "H4" ||
1333
+ e.tagName === "H5" ||
1334
+ e.tagName === "H6" ||
1335
+ e.tagName === "P" ||
1336
+ e.tagName === "BLOCKQUOTE" ||
1337
+ e.tagName === "OL" ||
1338
+ e.tagName === "UL") {
1339
+ isClosest = true;
1340
+ }
1341
+ else {
1342
+ e = e.parentElement;
1343
+ }
1344
+ }
1345
+ return isClosest && e;
1346
+ };
1347
+ var hasClosestByMatchTag = function (element, nodeName) {
1348
+ if (!element) {
1349
+ return false;
1350
+ }
1351
+ if (element.nodeType === 3) {
1352
+ element = element.parentElement;
1353
+ }
1354
+ var e = element;
1355
+ var isClosest = false;
1356
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1357
+ if (e.nodeName === nodeName) {
1358
+ isClosest = true;
1359
+ }
1360
+ else {
1361
+ e = e.parentElement;
1362
+ }
1363
+ }
1364
+ return isClosest && e;
1365
+ };
1366
+ var hasClosestByClassName = function (element, className) {
1367
+ if (!element) {
1368
+ return false;
1369
+ }
1370
+ if (element.nodeType === 3) {
1371
+ element = element.parentElement;
1372
+ }
1373
+ var e = element;
1374
+ var isClosest = false;
1375
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1376
+ if (e.classList.contains(className)) {
1377
+ isClosest = true;
1378
+ }
1379
+ else {
1380
+ e = e.parentElement;
1381
+ }
1382
+ }
1383
+ return isClosest && e;
1384
+ };
1385
+ var getLastNode = function (node) {
1386
+ while (node && node.lastChild) {
1387
+ node = node.lastChild;
1388
+ }
1389
+ return node;
1390
+ };
1391
+
1392
+
1393
+ /***/ },
1394
+
1395
+ /***/ 557
1396
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1397
+
1398
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1399
+ /* harmony export */ H: () => (/* binding */ setContentTheme)
1400
+ /* harmony export */ });
1401
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(477);
1402
+
1403
+ var setContentTheme = function (contentTheme, path) {
1404
+ if (!contentTheme || !path) {
1405
+ return;
1406
+ }
1407
+ var vditorContentTheme = document.getElementById("vditorContentTheme");
1408
+ var cssPath = "".concat(path, "/").concat(contentTheme, ".css");
1409
+ if (!vditorContentTheme) {
1410
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_0__/* .addStyle */ .T)(cssPath, "vditorContentTheme");
1411
+ }
1412
+ else if (vditorContentTheme.getAttribute("href") !== cssPath) {
1413
+ vditorContentTheme.remove();
1414
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_0__/* .addStyle */ .T)(cssPath, "vditorContentTheme");
1415
+ }
1416
+ };
1417
+
1418
+
1419
+ /***/ },
1420
+
1421
+ /***/ 600
1422
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1423
+
1424
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1425
+ /* harmony export */ D: () => (/* binding */ flowchartRender)
1426
+ /* harmony export */ });
1427
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
1428
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
1429
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
1430
+
1431
+
1432
+
1433
+ var flowchartRender = function (element, cdn) {
1434
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
1435
+ var flowchartElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.flowchartRenderAdapter.getElements(element);
1436
+ if (flowchartElements.length === 0) {
1437
+ return;
1438
+ }
1439
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/flowchart.js/flowchart.min.js"), "vditorFlowchartScript").then(function () {
1440
+ flowchartElements.forEach(function (item) {
1441
+ if (item.getAttribute("data-processed") === "true") {
1442
+ return;
1443
+ }
1444
+ var flowchartObj = flowchart.parse(_adapterRender__WEBPACK_IMPORTED_MODULE_2__.flowchartRenderAdapter.getCode(item));
1445
+ item.innerHTML = "";
1446
+ flowchartObj.drawSVG(item);
1447
+ item.setAttribute("data-processed", "true");
1448
+ });
1449
+ });
1450
+ };
1451
+
1452
+
1453
+ /***/ },
1454
+
1455
+ /***/ 663
1456
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1457
+
1458
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1459
+ /* harmony export */ o: () => (/* binding */ codeRender)
1460
+ /* harmony export */ });
1461
+ /* harmony import */ var _util_code160to32__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(435);
1462
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(357);
1463
+
1464
+
1465
+ var codeRender = function (element, option) {
1466
+ Array.from(element.querySelectorAll("pre > code")).filter(function (e, index) {
1467
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
1468
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
1469
+ return false;
1470
+ }
1471
+ if (e.classList.contains("language-mermaid") || e.classList.contains("language-flowchart") ||
1472
+ e.classList.contains("language-echarts") || e.classList.contains("language-mindmap") ||
1473
+ e.classList.contains("language-plantuml") || e.classList.contains("language-markmap") ||
1474
+ e.classList.contains("language-abc") || e.classList.contains("language-graphviz") ||
1475
+ e.classList.contains("language-math") || e.classList.contains("language-smiles")) {
1476
+ return false;
1477
+ }
1478
+ if (e.style.maxHeight.indexOf("px") > -1) {
1479
+ return false;
1480
+ }
1481
+ // 避免预览区在渲染后由于代码块过多产生性能问题 https://github.com/b3log/vditor/issues/67
1482
+ if (element.classList.contains("vditor-preview") && index > 5) {
1483
+ return false;
1484
+ }
1485
+ return true;
1486
+ }).forEach(function (e) {
1487
+ var _a, _b, _c;
1488
+ var codeText = e.innerText;
1489
+ if (e.classList.contains("highlight-chroma")) {
1490
+ var codeElement = e.cloneNode(true);
1491
+ codeElement.querySelectorAll(".highlight-ln").forEach(function (item) {
1492
+ item.remove();
1493
+ });
1494
+ codeText = codeElement.innerText;
1495
+ }
1496
+ else if (codeText.endsWith("\n")) {
1497
+ codeText = codeText.substr(0, codeText.length - 1);
1498
+ }
1499
+ var iconHTML = '<svg><use xlink:href="#vditor-icon-copy"></use></svg>';
1500
+ if (!document.getElementById("vditorIconScript")) {
1501
+ iconHTML = '<svg viewBox="0 0 32 32"><path d="M22.545-0h-17.455c-1.6 0-2.909 1.309-2.909 2.909v20.364h2.909v-20.364h17.455v-2.909zM26.909 5.818h-16c-1.6 0-2.909 1.309-2.909 2.909v20.364c0 1.6 1.309 2.909 2.909 2.909h16c1.6 0 2.909-1.309 2.909-2.909v-20.364c0-1.6-1.309-2.909-2.909-2.909zM26.909 29.091h-16v-20.364h16v20.364z"></path></svg>';
1502
+ }
1503
+ var divElement = document.createElement("div");
1504
+ divElement.className = "vditor-copy";
1505
+ divElement.innerHTML = "<span aria-label=\"".concat(((_a = window.VditorI18n) === null || _a === void 0 ? void 0 : _a.copy) || "复制", "\"\nonmouseover=\"this.setAttribute('aria-label', '").concat(((_b = window.VditorI18n) === null || _b === void 0 ? void 0 : _b.copy) || "复制", "')\"\nclass=\"vditor-tooltipped vditor-tooltipped__w\"\nonclick=\"event.stopPropagation();this.previousElementSibling.select();document.execCommand('copy');this.setAttribute('aria-label', '").concat(((_c = window.VditorI18n) === null || _c === void 0 ? void 0 : _c.copied) || "已复制", "');this.previousElementSibling.blur()\">").concat(iconHTML, "</span>");
1506
+ var textarea = document.createElement("textarea");
1507
+ textarea.value = (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_0__/* .code160to32 */ .p)(codeText);
1508
+ divElement.insertAdjacentElement("afterbegin", textarea);
1509
+ if (option && option.renderMenu) {
1510
+ option.renderMenu(e, divElement);
1511
+ }
1512
+ e.before(divElement);
1513
+ e.style.maxHeight = (window.outerHeight - 40) + "px";
1514
+ // https://github.com/Vanessa219/vditor/issues/1356
1515
+ e.insertAdjacentHTML("afterend", "<span style=\"position: absolute\">".concat(_constants__WEBPACK_IMPORTED_MODULE_1__/* .Constants */ .Y.ZWSP, "</span>"));
1516
+ });
1517
+ };
1518
+
1519
+
1520
+ /***/ },
1521
+
1522
+ /***/ 667
1523
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1524
+
1525
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1526
+ /* harmony export */ M: () => (/* binding */ plantumlRender)
1527
+ /* harmony export */ });
1528
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
1529
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
1530
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
1531
+
1532
+
1533
+
1534
+ var plantumlRender = function (element, cdn) {
1535
+ if (element === void 0) { element = document; }
1536
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
1537
+ var plantumlElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.plantumlRenderAdapter.getElements(element);
1538
+ if (plantumlElements.length === 0) {
1539
+ return;
1540
+ }
1541
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/plantuml/plantuml-encoder.min.js"), "vditorPlantumlScript").then(function () {
1542
+ plantumlElements.forEach(function (e) {
1543
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
1544
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
1545
+ return;
1546
+ }
1547
+ var text = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.plantumlRenderAdapter.getCode(e).trim();
1548
+ if (!text) {
1549
+ return;
1550
+ }
1551
+ try {
1552
+ e.innerHTML = "<object type=\"image/svg+xml\" data=\"https://www.plantuml.com/plantuml/svg/~1".concat(plantumlEncoder.encode(text), "\"/>");
1553
+ }
1554
+ catch (error) {
1555
+ e.className = "vditor-reset--error";
1556
+ e.innerHTML = "plantuml render error: <br>".concat(error);
1557
+ }
1558
+ });
1559
+ });
1560
+ };
1561
+
1562
+
1563
+ /***/ },
1564
+
1565
+ /***/ 687
1566
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1567
+
1568
+ __webpack_require__.r(__webpack_exports__);
1569
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1570
+ /* harmony export */ SMILESRenderAdapter: () => (/* binding */ SMILESRenderAdapter),
1571
+ /* harmony export */ abcRenderAdapter: () => (/* binding */ abcRenderAdapter),
1572
+ /* harmony export */ chartRenderAdapter: () => (/* binding */ chartRenderAdapter),
1573
+ /* harmony export */ flowchartRenderAdapter: () => (/* binding */ flowchartRenderAdapter),
1574
+ /* harmony export */ graphvizRenderAdapter: () => (/* binding */ graphvizRenderAdapter),
1575
+ /* harmony export */ markmapRenderAdapter: () => (/* binding */ markmapRenderAdapter),
1576
+ /* harmony export */ mathRenderAdapter: () => (/* binding */ mathRenderAdapter),
1577
+ /* harmony export */ mermaidRenderAdapter: () => (/* binding */ mermaidRenderAdapter),
1578
+ /* harmony export */ mindmapRenderAdapter: () => (/* binding */ mindmapRenderAdapter),
1579
+ /* harmony export */ plantumlRenderAdapter: () => (/* binding */ plantumlRenderAdapter)
1580
+ /* harmony export */ });
1581
+ var mathRenderAdapter = {
1582
+ getCode: function (el) { return el.textContent; },
1583
+ getElements: function (element) { return element.querySelectorAll(".language-math"); },
1584
+ };
1585
+ var SMILESRenderAdapter = {
1586
+ getCode: function (el) { return el.textContent; },
1587
+ getElements: function (element) { return element.querySelectorAll(".language-smiles"); },
1588
+ };
1589
+ var mermaidRenderAdapter = {
1590
+ /** 不仅要返回code,并且需要将 code 设置为 el 的 innerHTML */
1591
+ getCode: function (el) { return el.textContent; },
1592
+ getElements: function (element) { return element.querySelectorAll(".language-mermaid"); },
1593
+ };
1594
+ var markmapRenderAdapter = {
1595
+ getCode: function (el) { return el.textContent; },
1596
+ getElements: function (element) { return element.querySelectorAll(".language-markmap"); },
1597
+ };
1598
+ var mindmapRenderAdapter = {
1599
+ getCode: function (el) { return el.getAttribute("data-code"); },
1600
+ getElements: function (el) { return el.querySelectorAll(".language-mindmap"); },
1601
+ };
1602
+ var chartRenderAdapter = {
1603
+ getCode: function (el) { return el.innerText; },
1604
+ getElements: function (el) { return el.querySelectorAll(".language-echarts"); },
1605
+ };
1606
+ var abcRenderAdapter = {
1607
+ getCode: function (el) { return el.textContent; },
1608
+ getElements: function (el) { return el.querySelectorAll(".language-abc"); },
1609
+ };
1610
+ var graphvizRenderAdapter = {
1611
+ getCode: function (el) { return el.textContent; },
1612
+ getElements: function (el) { return el.querySelectorAll(".language-graphviz"); },
1613
+ };
1614
+ var flowchartRenderAdapter = {
1615
+ getCode: function (el) { return el.textContent; },
1616
+ getElements: function (el) { return el.querySelectorAll(".language-flowchart"); },
1617
+ };
1618
+ var plantumlRenderAdapter = {
1619
+ getCode: function (el) { return el.textContent; },
1620
+ getElements: function (el) { return el.querySelectorAll(".language-plantuml"); },
1621
+ };
1622
+
1623
+
1624
+ /***/ },
1625
+
1626
+ /***/ 729
1627
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1628
+
1629
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1630
+ /* harmony export */ K: () => (/* binding */ markmapRender)
1631
+ /* harmony export */ });
1632
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
1633
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
1634
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
1635
+
1636
+
1637
+
1638
+ var enabled = {};
1639
+ var transform = function (transformer, content) {
1640
+ var result = transformer.transform(content);
1641
+ var keys = Object.keys(result.features).filter(function (key) { return !enabled[key]; });
1642
+ keys.forEach(function (key) {
1643
+ enabled[key] = true;
1644
+ });
1645
+ var _a = transformer.getAssets(keys), styles = _a.styles, scripts = _a.scripts;
1646
+ var markmap = window.markmap;
1647
+ if (styles)
1648
+ markmap.loadCSS(styles);
1649
+ if (scripts)
1650
+ markmap.loadJS(scripts);
1651
+ return result;
1652
+ };
1653
+ var init = function (el, code) {
1654
+ var _a = window.markmap, Transformer = _a.Transformer, Markmap = _a.Markmap, deriveOptions = _a.deriveOptions, globalCSS = _a.globalCSS;
1655
+ var transformer = new Transformer();
1656
+ el.innerHTML = '<svg style="width:100%"></svg>';
1657
+ var svg = el.firstChild;
1658
+ var mm = Markmap.create(svg, null);
1659
+ var _b = transform(transformer, code), root = _b.root, frontmatter = _b.frontmatter;
1660
+ var markmapOptions = frontmatter === null || frontmatter === void 0 ? void 0 : frontmatter.markmap;
1661
+ var frontmatterOptions = deriveOptions(markmapOptions);
1662
+ mm.setData(root, frontmatterOptions);
1663
+ mm.fit();
1664
+ };
1665
+ var markmapRender = function (element, cdn) {
1666
+ if (element === void 0) { element = document; }
1667
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
1668
+ var markmapElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.markmapRenderAdapter.getElements(element);
1669
+ if (markmapElements.length === 0) {
1670
+ return;
1671
+ }
1672
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/markmap/markmap.min.js"), "vditorMarkerScript").then(function () {
1673
+ markmapElements.forEach(function (item) {
1674
+ var code = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.markmapRenderAdapter.getCode(item);
1675
+ if (item.getAttribute("data-processed") === "true" || code.trim() === "") {
1676
+ return;
1677
+ }
1678
+ var render = document.createElement("div");
1679
+ render.className = "language-markmap";
1680
+ item.parentNode.appendChild(render);
1681
+ init(render, code);
1682
+ if (item.parentNode.childNodes[0].nodeName == "CODE") {
1683
+ item.parentNode.removeChild(item.parentNode.childNodes[0]);
1684
+ }
1685
+ });
1686
+ });
1687
+ };
1688
+
1689
+
1690
+ /***/ },
1691
+
1692
+ /***/ 876
1693
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1694
+
1695
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1696
+ /* harmony export */ T: () => (/* binding */ mathRender)
1697
+ /* harmony export */ });
1698
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
1699
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
1700
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(477);
1701
+ /* harmony import */ var _util_code160to32__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(435);
1702
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(687);
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+ var mathRender = function (element, options) {
1709
+ if (element === void 0) { element = document; }
1710
+ var mathElements = _adapterRender__WEBPACK_IMPORTED_MODULE_4__.mathRenderAdapter.getElements(element);
1711
+ if (mathElements.length === 0) {
1712
+ return;
1713
+ }
1714
+ var defaultOptions = {
1715
+ cdn: _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN,
1716
+ math: {
1717
+ engine: "KaTeX",
1718
+ inlineDigit: false,
1719
+ macros: {},
1720
+ },
1721
+ };
1722
+ if (options && options.math) {
1723
+ options.math =
1724
+ Object.assign({}, defaultOptions.math, options.math);
1725
+ }
1726
+ options = Object.assign({}, defaultOptions, options);
1727
+ if (options.math.engine === "KaTeX") {
1728
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_2__/* .addStyle */ .T)("".concat(options.cdn, "/dist/js/katex/katex.min.css?v=0.16.9"), "vditorKatexStyle");
1729
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(options.cdn, "/dist/js/katex/katex.min.js?v=0.16.9"), "vditorKatexScript").then(function () {
1730
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(options.cdn, "/dist/js/katex/mhchem.min.js?v=0.16.9"), "vditorKatexChemScript").then(function () {
1731
+ mathElements.forEach(function (mathElement) {
1732
+ if (mathElement.parentElement.classList.contains("vditor-wysiwyg__pre") ||
1733
+ mathElement.parentElement.classList.contains("vditor-ir__marker--pre")) {
1734
+ return;
1735
+ }
1736
+ if (mathElement.getAttribute("data-math")) {
1737
+ return;
1738
+ }
1739
+ var math = (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_3__/* .code160to32 */ .p)(_adapterRender__WEBPACK_IMPORTED_MODULE_4__.mathRenderAdapter.getCode(mathElement));
1740
+ mathElement.setAttribute("data-math", math);
1741
+ try {
1742
+ mathElement.innerHTML = katex.renderToString(math, {
1743
+ displayMode: mathElement.tagName === "DIV",
1744
+ output: "html",
1745
+ macros: options.math.macros,
1746
+ });
1747
+ }
1748
+ catch (e) {
1749
+ mathElement.innerHTML = e.message;
1750
+ mathElement.className = "language-math vditor-reset--error";
1751
+ }
1752
+ mathElement.addEventListener("copy", function (event) {
1753
+ event.stopPropagation();
1754
+ event.preventDefault();
1755
+ var vditorMathElement = event.currentTarget.closest(".language-math");
1756
+ event.clipboardData.setData("text/html", vditorMathElement.innerHTML);
1757
+ event.clipboardData.setData("text/plain", vditorMathElement.getAttribute("data-math"));
1758
+ });
1759
+ });
1760
+ });
1761
+ });
1762
+ }
1763
+ else if (options.math.engine === "MathJax") {
1764
+ var chainAsync_1 = function (fns) {
1765
+ if (fns.length === 0) {
1766
+ return;
1767
+ }
1768
+ var curr = 0;
1769
+ var last = fns[fns.length - 1];
1770
+ var next = function () {
1771
+ var fn = fns[curr++];
1772
+ fn === last ? fn() : fn(next);
1773
+ };
1774
+ next();
1775
+ };
1776
+ if (!window.MathJax) {
1777
+ window.MathJax = {
1778
+ loader: {
1779
+ paths: { mathjax: "".concat(options.cdn, "/dist/js/mathjax") },
1780
+ },
1781
+ startup: {
1782
+ typeset: false,
1783
+ },
1784
+ tex: {
1785
+ macros: options.math.macros,
1786
+ },
1787
+ };
1788
+ // https://github.com/Vanessa219/vditor/issues/1453
1789
+ Object.assign(window.MathJax, options.math.mathJaxOptions);
1790
+ }
1791
+ // 循环加载会抛异常
1792
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScriptSync */ .U)("".concat(options.cdn, "/dist/js/mathjax/tex-svg-full.js"), "protyleMathJaxScript");
1793
+ var renderMath_1 = function (mathElement, next) {
1794
+ var math = (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_3__/* .code160to32 */ .p)(mathElement.textContent).trim();
1795
+ var mathOptions = window.MathJax.getMetricsFor(mathElement);
1796
+ mathOptions.display = mathElement.tagName === "DIV";
1797
+ window.MathJax.tex2svgPromise(math, mathOptions).then(function (node) {
1798
+ mathElement.innerHTML = "";
1799
+ mathElement.setAttribute("data-math", math);
1800
+ mathElement.append(node);
1801
+ window.MathJax.startup.document.clear();
1802
+ window.MathJax.startup.document.updateDocument();
1803
+ var errorTextElement = node.querySelector('[data-mml-node="merror"]');
1804
+ if (errorTextElement && errorTextElement.textContent.trim() !== "") {
1805
+ mathElement.innerHTML = errorTextElement.textContent.trim();
1806
+ mathElement.className = "vditor-reset--error";
1807
+ }
1808
+ if (next) {
1809
+ next();
1810
+ }
1811
+ });
1812
+ };
1813
+ window.MathJax.startup.promise.then(function () {
1814
+ var chains = [];
1815
+ var _loop_1 = function (i) {
1816
+ var mathElement = mathElements[i];
1817
+ if (!mathElement.parentElement.classList.contains("vditor-wysiwyg__pre") &&
1818
+ !mathElement.parentElement.classList.contains("vditor-ir__marker--pre") &&
1819
+ !mathElement.getAttribute("data-math") && (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_3__/* .code160to32 */ .p)(mathElement.textContent).trim()) {
1820
+ chains.push(function (next) {
1821
+ if (i === mathElements.length - 1) {
1822
+ renderMath_1(mathElement);
1823
+ }
1824
+ else {
1825
+ renderMath_1(mathElement, next);
1826
+ }
1827
+ });
1828
+ }
1829
+ };
1830
+ for (var i = 0; i < mathElements.length; i++) {
1831
+ _loop_1(i);
1832
+ }
1833
+ chainAsync_1(chains);
1834
+ });
1835
+ }
1836
+ };
1837
+
1838
+
1839
+ /***/ },
1840
+
1841
+ /***/ 900
1842
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1843
+
1844
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1845
+ /* harmony export */ v: () => (/* binding */ chartRender)
1846
+ /* harmony export */ });
1847
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(357);
1848
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(901);
1849
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(687);
1850
+ /* harmony import */ var _util_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(249);
1851
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
1852
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1853
+ return new (P || (P = Promise))(function (resolve, reject) {
1854
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1855
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1856
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1857
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
1858
+ });
1859
+ };
1860
+ var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
1861
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
1862
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1863
+ function verb(n) { return function (v) { return step([n, v]); }; }
1864
+ function step(op) {
1865
+ if (f) throw new TypeError("Generator is already executing.");
1866
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
1867
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
1868
+ if (y = 0, t) op = [op[0] & 2, t.value];
1869
+ switch (op[0]) {
1870
+ case 0: case 1: t = op; break;
1871
+ case 4: _.label++; return { value: op[1], done: false };
1872
+ case 5: _.label++; y = op[1]; op = [0]; continue;
1873
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
1874
+ default:
1875
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
1876
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
1877
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
1878
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
1879
+ if (t[2]) _.ops.pop();
1880
+ _.trys.pop(); continue;
1881
+ }
1882
+ op = body.call(thisArg, _);
1883
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
1884
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
1885
+ }
1886
+ };
1887
+
1888
+
1889
+
1890
+
1891
+ var chartRender = function (element, cdn, theme) {
1892
+ if (element === void 0) { element = document; }
1893
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants */ .Y.CDN; }
1894
+ var echartsElements = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.chartRenderAdapter.getElements(element);
1895
+ if (echartsElements.length > 0) {
1896
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_1__/* .addScript */ .Z)("".concat(cdn, "/dist/js/echarts/echarts.min.js?v=5.5.1"), "vditorEchartsScript").then(function () {
1897
+ echartsElements.forEach(function (e) { return __awaiter(void 0, void 0, void 0, function () {
1898
+ var text, option, error_1;
1899
+ return __generator(this, function (_a) {
1900
+ switch (_a.label) {
1901
+ case 0:
1902
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
1903
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
1904
+ return [2 /*return*/];
1905
+ }
1906
+ text = _adapterRender__WEBPACK_IMPORTED_MODULE_2__.chartRenderAdapter.getCode(e).trim();
1907
+ if (!text) {
1908
+ return [2 /*return*/];
1909
+ }
1910
+ _a.label = 1;
1911
+ case 1:
1912
+ _a.trys.push([1, 3, , 4]);
1913
+ if (e.getAttribute("data-processed") === "true") {
1914
+ return [2 /*return*/];
1915
+ }
1916
+ return [4 /*yield*/, (0,_util_function__WEBPACK_IMPORTED_MODULE_3__/* .looseJsonParse */ .kY)(text)];
1917
+ case 2:
1918
+ option = _a.sent();
1919
+ echarts.init(e, theme === "dark" ? "dark" : undefined).setOption(option);
1920
+ e.setAttribute("data-processed", "true");
1921
+ return [3 /*break*/, 4];
1922
+ case 3:
1923
+ error_1 = _a.sent();
1924
+ e.className = "vditor-reset--error";
1925
+ e.innerHTML = "echarts render error: <br>".concat(error_1);
1926
+ return [3 /*break*/, 4];
1927
+ case 4: return [2 /*return*/];
1928
+ }
1929
+ });
1930
+ }); });
1931
+ });
1932
+ }
1933
+ };
1934
+
1935
+
1936
+ /***/ },
1937
+
1938
+ /***/ 901
1939
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1940
+
1941
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1942
+ /* harmony export */ U: () => (/* binding */ addScriptSync),
1943
+ /* harmony export */ Z: () => (/* binding */ addScript)
1944
+ /* harmony export */ });
1945
+ var addScriptSync = function (path, id) {
1946
+ if (document.getElementById(id)) {
1947
+ return false;
1948
+ }
1949
+ var xhrObj = new XMLHttpRequest();
1950
+ xhrObj.open("GET", path, false);
1951
+ xhrObj.setRequestHeader("Accept", "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01");
1952
+ xhrObj.send("");
1953
+ var scriptElement = document.createElement("script");
1954
+ scriptElement.type = "text/javascript";
1955
+ scriptElement.text = xhrObj.responseText;
1956
+ scriptElement.id = id;
1957
+ document.head.appendChild(scriptElement);
1958
+ };
1959
+ var addScript = function (path, id) {
1960
+ return new Promise(function (resolve, reject) {
1961
+ if (document.getElementById(id)) {
1962
+ // 脚本加载后再次调用直接返回
1963
+ resolve(true);
1964
+ return false;
1965
+ }
1966
+ var scriptElement = document.createElement("script");
1967
+ scriptElement.src = path;
1968
+ scriptElement.async = true;
1969
+ // 循环调用时 Chrome 不会重复请求 js
1970
+ document.head.appendChild(scriptElement);
1971
+ scriptElement.onerror = function (event) {
1972
+ reject(event);
1973
+ };
1974
+ scriptElement.onload = function () {
1975
+ if (document.getElementById(id)) {
1976
+ // 循环调用需清除 DOM 中的 script 标签
1977
+ scriptElement.remove();
1978
+ resolve(true);
1979
+ return false;
1980
+ }
1981
+ scriptElement.id = id;
1982
+ resolve(true);
1983
+ };
1984
+ });
1985
+ };
1986
+
1987
+
1988
+ /***/ },
1989
+
1990
+ /***/ 924
1991
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1992
+
1993
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1994
+ /* harmony export */ l: () => (/* binding */ mediaRender)
1995
+ /* harmony export */ });
1996
+ /* harmony import */ var _util_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(249);
1997
+
1998
+ var videoRender = function (element, url) {
1999
+ element.insertAdjacentHTML("afterend", "<video controls=\"controls\" src=\"".concat(url, "\"></video>"));
2000
+ element.remove();
2001
+ };
2002
+ var audioRender = function (element, url) {
2003
+ element.insertAdjacentHTML("afterend", "<audio controls=\"controls\" src=\"".concat(url, "\"></audio>"));
2004
+ element.remove();
2005
+ };
2006
+ var iframeRender = function (element, url) {
2007
+ var youtubeMatch = url.match(/\/\/(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([\w|-]{11})(?:(?:[\?&]t=)(\S+))?/);
2008
+ var youkuMatch = url.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/);
2009
+ var qqMatch = url.match(/\/\/v\.qq\.com\/x\/cover\/.*\/([^\/]+)\.html\??.*/);
2010
+ var coubMatch = url.match(/(?:www\.|\/\/)coub\.com\/view\/(\w+)/);
2011
+ var facebookMatch = url.match(/(?:www\.|\/\/)facebook\.com\/([^\/]+)\/videos\/([0-9]+)/);
2012
+ var dailymotionMatch = url.match(/.+dailymotion.com\/(video|hub)\/(\w+)\?/);
2013
+ var bilibiliMatch = url.match(/(?:www\.|\/\/)bilibili\.com\/video\/(\w+)/);
2014
+ var tedMatch = url.match(/(?:www\.|\/\/)ted\.com\/talks\/(\w+)/);
2015
+ if (youtubeMatch && youtubeMatch[1].length === 11) {
2016
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"//www.youtube.com/embed/".concat(youtubeMatch[1] +
2017
+ (youtubeMatch[2] ? "?start=" + youtubeMatch[2] : ""), "\"></iframe>"));
2018
+ element.remove();
2019
+ }
2020
+ else if (youkuMatch && youkuMatch[1]) {
2021
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"//player.youku.com/embed/".concat(youkuMatch[1], "\"></iframe>"));
2022
+ element.remove();
2023
+ }
2024
+ else if (qqMatch && qqMatch[1]) {
2025
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"https://v.qq.com/txp/iframe/player.html?vid=".concat(qqMatch[1], "\"></iframe>"));
2026
+ element.remove();
2027
+ }
2028
+ else if (coubMatch && coubMatch[1]) {
2029
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\"\n src=\"//coub.com/embed/".concat(coubMatch[1], "?muted=false&autostart=false&originalSize=true&startWithHD=true\"></iframe>"));
2030
+ element.remove();
2031
+ }
2032
+ else if (facebookMatch && facebookMatch[0]) {
2033
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\"\n src=\"https://www.facebook.com/plugins/video.php?href=".concat(encodeURIComponent(facebookMatch[0]), "\"></iframe>"));
2034
+ element.remove();
2035
+ }
2036
+ else if (dailymotionMatch && dailymotionMatch[2]) {
2037
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\"\n src=\"https://www.dailymotion.com/embed/video/".concat(dailymotionMatch[2], "\"></iframe>"));
2038
+ element.remove();
2039
+ }
2040
+ else if (url.indexOf("bilibili.com") > -1 && (url.indexOf("bvid=") > -1 || (bilibiliMatch && bilibiliMatch[1]))) {
2041
+ var params_1 = {
2042
+ bvid: (0,_util_function__WEBPACK_IMPORTED_MODULE_0__/* .getSearch */ .TK)("bvid", url) || (bilibiliMatch && bilibiliMatch[1]),
2043
+ page: "1",
2044
+ high_quality: "1",
2045
+ as_wide: "1",
2046
+ allowfullscreen: "true",
2047
+ autoplay: "0"
2048
+ };
2049
+ new URL(url.startsWith("http") ? url : "https:" + url).search.split("&").forEach(function (item, index) {
2050
+ if (!item) {
2051
+ return;
2052
+ }
2053
+ if (index === 0) {
2054
+ item = item.substr(1);
2055
+ }
2056
+ var keyValue = item.split("=");
2057
+ params_1[keyValue[0]] = keyValue[1];
2058
+ });
2059
+ var src_1 = "https://player.bilibili.com/player.html?";
2060
+ var keys_1 = Object.keys(params_1);
2061
+ keys_1.forEach(function (key, index) {
2062
+ src_1 += "".concat(key, "=").concat(params_1[key]);
2063
+ if (index < keys_1.length - 1) {
2064
+ src_1 += "&";
2065
+ }
2066
+ });
2067
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"".concat(src_1, "\"></iframe>"));
2068
+ element.remove();
2069
+ }
2070
+ else if (tedMatch && tedMatch[1]) {
2071
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"//embed.ted.com/talks/".concat(tedMatch[1], "\"></iframe>"));
2072
+ element.remove();
2073
+ }
2074
+ };
2075
+ var mediaRender = function (element) {
2076
+ if (!element) {
2077
+ return;
2078
+ }
2079
+ element.querySelectorAll("a").forEach(function (aElement) {
2080
+ var url = aElement.getAttribute("href");
2081
+ if (!url) {
2082
+ return;
2083
+ }
2084
+ if (url.match(/^.+.(mp4|m4v|ogg|ogv|webm)$/)) {
2085
+ videoRender(aElement, url);
2086
+ }
2087
+ else if (url.match(/^.+.(mp3|wav|flac)$/)) {
2088
+ audioRender(aElement, url);
2089
+ }
2090
+ else {
2091
+ iframeRender(aElement, url);
2092
+ }
2093
+ });
2094
+ };
2095
+
2096
+
2097
+ /***/ }
2098
+
2099
+ /******/ });
2100
+ /************************************************************************/
2101
+ /******/ // The module cache
2102
+ /******/ var __webpack_module_cache__ = {};
2103
+ /******/
2104
+ /******/ // The require function
2105
+ /******/ function __webpack_require__(moduleId) {
2106
+ /******/ // Check if module is in cache
2107
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
2108
+ /******/ if (cachedModule !== undefined) {
2109
+ /******/ return cachedModule.exports;
2110
+ /******/ }
2111
+ /******/ // Create a new module (and put it into the cache)
2112
+ /******/ var module = __webpack_module_cache__[moduleId] = {
2113
+ /******/ // no module.id needed
2114
+ /******/ // no module.loaded needed
2115
+ /******/ exports: {}
2116
+ /******/ };
2117
+ /******/
2118
+ /******/ // Execute the module function
2119
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
2120
+ /******/
2121
+ /******/ // Return the exports of the module
2122
+ /******/ return module.exports;
2123
+ /******/ }
2124
+ /******/
2125
+ /************************************************************************/
2126
+ /******/ /* webpack/runtime/define property getters */
2127
+ /******/ (() => {
2128
+ /******/ // define getter functions for harmony exports
2129
+ /******/ __webpack_require__.d = (exports, definition) => {
2130
+ /******/ for(var key in definition) {
2131
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2132
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2133
+ /******/ }
2134
+ /******/ }
2135
+ /******/ };
2136
+ /******/ })();
2137
+ /******/
2138
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
2139
+ /******/ (() => {
2140
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
2141
+ /******/ })();
2142
+ /******/
2143
+ /******/ /* webpack/runtime/make namespace object */
2144
+ /******/ (() => {
2145
+ /******/ // define __esModule on exports
2146
+ /******/ __webpack_require__.r = (exports) => {
2147
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2148
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2149
+ /******/ }
2150
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
2151
+ /******/ };
2152
+ /******/ })();
2153
+ /******/
2154
+ /************************************************************************/
2155
+ var __webpack_exports__ = {};
2156
+
2157
+ // EXPORTS
2158
+ __webpack_require__.d(__webpack_exports__, {
2159
+ "default": () => (/* binding */ method)
2160
+ });
2161
+
2162
+ // EXTERNAL MODULE: ./src/ts/markdown/abcRender.ts
2163
+ var abcRender = __webpack_require__(108);
2164
+ // EXTERNAL MODULE: ./src/ts/markdown/adapterRender.ts
2165
+ var adapterRender = __webpack_require__(687);
2166
+ // EXTERNAL MODULE: ./src/ts/markdown/chartRender.ts
2167
+ var chartRender = __webpack_require__(900);
2168
+ // EXTERNAL MODULE: ./src/ts/markdown/codeRender.ts
2169
+ var codeRender = __webpack_require__(663);
2170
+ // EXTERNAL MODULE: ./src/ts/markdown/flowchartRender.ts
2171
+ var flowchartRender = __webpack_require__(600);
2172
+ // EXTERNAL MODULE: ./src/ts/markdown/graphvizRender.ts
2173
+ var graphvizRender = __webpack_require__(407);
2174
+ // EXTERNAL MODULE: ./src/ts/markdown/highlightRender.ts
2175
+ var highlightRender = __webpack_require__(376);
2176
+ ;// ./src/ts/markdown/lazyLoadImageRender.ts
2177
+ var lazyLoadImageRender = function (element) {
2178
+ if (element === void 0) { element = document; }
2179
+ var loadImg = function (it) {
2180
+ var testImage = document.createElement("img");
2181
+ testImage.src = it.getAttribute("data-src");
2182
+ testImage.addEventListener("load", function () {
2183
+ if (!it.getAttribute("style") && !it.getAttribute("class") &&
2184
+ !it.getAttribute("width") && !it.getAttribute("height")) {
2185
+ if (testImage.naturalHeight > testImage.naturalWidth &&
2186
+ testImage.naturalWidth / testImage.naturalHeight <
2187
+ document.querySelector(".vditor-reset").clientWidth / (window.innerHeight - 40) &&
2188
+ testImage.naturalHeight > (window.innerHeight - 40)) {
2189
+ it.style.height = (window.innerHeight - 40) + "px";
2190
+ }
2191
+ }
2192
+ it.src = testImage.src;
2193
+ });
2194
+ it.removeAttribute("data-src");
2195
+ };
2196
+ if (!("IntersectionObserver" in window)) {
2197
+ element.querySelectorAll("img").forEach(function (imgElement) {
2198
+ if (imgElement.getAttribute("data-src")) {
2199
+ loadImg(imgElement);
2200
+ }
2201
+ });
2202
+ return false;
2203
+ }
2204
+ if (window.vditorImageIntersectionObserver) {
2205
+ window.vditorImageIntersectionObserver.disconnect();
2206
+ element.querySelectorAll("img").forEach(function (imgElement) {
2207
+ window.vditorImageIntersectionObserver.observe(imgElement);
2208
+ });
2209
+ }
2210
+ else {
2211
+ window.vditorImageIntersectionObserver = new IntersectionObserver(function (entries) {
2212
+ entries.forEach(function (entrie) {
2213
+ if ((typeof entrie.isIntersecting === "undefined"
2214
+ ? entrie.intersectionRatio !== 0
2215
+ : entrie.isIntersecting)
2216
+ && entrie.target.getAttribute("data-src")) {
2217
+ loadImg(entrie.target);
2218
+ }
2219
+ });
2220
+ });
2221
+ element.querySelectorAll("img").forEach(function (imgElement) {
2222
+ window.vditorImageIntersectionObserver.observe(imgElement);
2223
+ });
2224
+ }
2225
+ };
2226
+
2227
+ // EXTERNAL MODULE: ./src/ts/markdown/mathRender.ts
2228
+ var mathRender = __webpack_require__(876);
2229
+ // EXTERNAL MODULE: ./src/ts/markdown/mediaRender.ts
2230
+ var mediaRender = __webpack_require__(924);
2231
+ // EXTERNAL MODULE: ./src/ts/markdown/mermaidRender.ts
2232
+ var mermaidRender = __webpack_require__(512);
2233
+ // EXTERNAL MODULE: ./src/ts/markdown/SMILESRender.ts
2234
+ var SMILESRender = __webpack_require__(47);
2235
+ // EXTERNAL MODULE: ./src/ts/markdown/markmapRender.ts
2236
+ var markmapRender = __webpack_require__(729);
2237
+ // EXTERNAL MODULE: ./src/ts/markdown/mindmapRender.ts
2238
+ var mindmapRender = __webpack_require__(430);
2239
+ // EXTERNAL MODULE: ./src/ts/markdown/outlineRender.ts
2240
+ var outlineRender = __webpack_require__(442);
2241
+ // EXTERNAL MODULE: ./src/ts/markdown/plantumlRender.ts
2242
+ var plantumlRender = __webpack_require__(667);
2243
+ // EXTERNAL MODULE: ./src/ts/constants.ts
2244
+ var constants = __webpack_require__(357);
2245
+ // EXTERNAL MODULE: ./src/ts/ui/setContentTheme.ts
2246
+ var setContentTheme = __webpack_require__(557);
2247
+ // EXTERNAL MODULE: ./src/ts/util/addScript.ts
2248
+ var addScript = __webpack_require__(901);
2249
+ // EXTERNAL MODULE: ./src/ts/util/hasClosest.ts
2250
+ var hasClosest = __webpack_require__(514);
2251
+ // EXTERNAL MODULE: ./src/ts/util/merge.ts
2252
+ var merge = __webpack_require__(29);
2253
+ ;// ./src/ts/markdown/anchorRender.ts
2254
+ var anchorRender = function (type) {
2255
+ document.querySelectorAll(".vditor-anchor").forEach(function (anchor) {
2256
+ if (type === 1) {
2257
+ anchor.classList.add("vditor-anchor--left");
2258
+ }
2259
+ anchor.onclick = function () {
2260
+ var id = anchor.getAttribute("href").substr(1);
2261
+ var top = document.getElementById("vditorAnchor-" + id).offsetTop;
2262
+ document.querySelector("html").scrollTop = top;
2263
+ };
2264
+ });
2265
+ window.onhashchange = function () {
2266
+ var element = document.getElementById("vditorAnchor-" + decodeURIComponent(window.location.hash.substr(1)));
2267
+ if (element) {
2268
+ document.querySelector("html").scrollTop = element.offsetTop;
2269
+ }
2270
+ };
2271
+ };
2272
+
2273
+ // EXTERNAL MODULE: ./src/ts/markdown/setLute.ts
2274
+ var setLute = __webpack_require__(136);
2275
+ // EXTERNAL MODULE: ./src/ts/util/selection.ts
2276
+ var selection = __webpack_require__(183);
2277
+ ;// ./src/ts/markdown/speechRender.ts
2278
+
2279
+ var speechRender = function (element, lang) {
2280
+ if (lang === void 0) { lang = "zh_CN"; }
2281
+ if (typeof speechSynthesis === "undefined" || typeof SpeechSynthesisUtterance === "undefined") {
2282
+ return;
2283
+ }
2284
+ var getVoice = function () {
2285
+ var voices = speechSynthesis.getVoices();
2286
+ var currentVoice;
2287
+ var defaultVoice;
2288
+ voices.forEach(function (item) {
2289
+ if (item.lang === lang.replace("_", "-")) {
2290
+ currentVoice = item;
2291
+ }
2292
+ if (item.default) {
2293
+ defaultVoice = item;
2294
+ }
2295
+ });
2296
+ if (!currentVoice) {
2297
+ currentVoice = defaultVoice;
2298
+ }
2299
+ return currentVoice;
2300
+ };
2301
+ var playSVG = '<svg><use xlink:href="#vditor-icon-play"></use></svg>';
2302
+ var pauseSVG = '<svg><use xlink:href="#vditor-icon-pause"></use></svg>';
2303
+ if (!document.getElementById("vditorIconScript")) {
2304
+ playSVG = '<svg viewBox="0 0 32 32"><path d="M3.436 0l25.128 16-25.128 16v-32z"></path></svg>';
2305
+ pauseSVG = '<svg viewBox="0 0 32 32"><path d="M20.617 0h9.128v32h-9.128v-32zM2.255 32v-32h9.128v32h-9.128z"></path></svg>';
2306
+ }
2307
+ var speechDom = document.querySelector(".vditor-speech");
2308
+ if (!speechDom) {
2309
+ speechDom = document.createElement("button");
2310
+ speechDom.className = "vditor-speech";
2311
+ element.insertAdjacentElement("beforeend", speechDom);
2312
+ if (speechSynthesis.onvoiceschanged !== undefined) {
2313
+ speechSynthesis.onvoiceschanged = getVoice;
2314
+ }
2315
+ }
2316
+ var voice = getVoice();
2317
+ var utterThis = new SpeechSynthesisUtterance();
2318
+ utterThis.voice = voice;
2319
+ utterThis.onend = utterThis.onerror = function () {
2320
+ speechDom.style.display = "none";
2321
+ speechSynthesis.cancel();
2322
+ speechDom.classList.remove("vditor-speech--current");
2323
+ speechDom.innerHTML = playSVG;
2324
+ };
2325
+ element.addEventListener(window.ontouchstart !== undefined ? "touchend" : "click", function (event) {
2326
+ var target = event.target;
2327
+ if (target.classList.contains("vditor-speech") || target.parentElement.classList.contains("vditor-speech")) {
2328
+ if (!speechDom.classList.contains("vditor-speech--current")) {
2329
+ utterThis.text = speechDom.getAttribute("data-text");
2330
+ speechSynthesis.speak(utterThis);
2331
+ speechDom.classList.add("vditor-speech--current");
2332
+ speechDom.innerHTML = pauseSVG;
2333
+ }
2334
+ else {
2335
+ if (speechSynthesis.speaking) {
2336
+ if (speechSynthesis.paused) {
2337
+ speechSynthesis.resume();
2338
+ speechDom.innerHTML = pauseSVG;
2339
+ }
2340
+ else {
2341
+ speechSynthesis.pause();
2342
+ speechDom.innerHTML = playSVG;
2343
+ }
2344
+ }
2345
+ }
2346
+ (0,selection/* setSelectionFocus */.jl)(window.vditorSpeechRange);
2347
+ element.focus();
2348
+ return;
2349
+ }
2350
+ speechDom.style.display = "none";
2351
+ speechSynthesis.cancel();
2352
+ speechDom.classList.remove("vditor-speech--current");
2353
+ speechDom.innerHTML = playSVG;
2354
+ if (getSelection().rangeCount === 0) {
2355
+ return;
2356
+ }
2357
+ var range = getSelection().getRangeAt(0);
2358
+ var text = range.toString().trim();
2359
+ if (!text) {
2360
+ return;
2361
+ }
2362
+ window.vditorSpeechRange = range.cloneRange();
2363
+ var rect = range.getBoundingClientRect();
2364
+ speechDom.innerHTML = playSVG;
2365
+ speechDom.style.display = "block";
2366
+ speechDom.style.top = (rect.top + rect.height + document.querySelector("html").scrollTop - 20) + "px";
2367
+ if (window.ontouchstart !== undefined) {
2368
+ speechDom.style.left = (event.changedTouches[event.changedTouches.length - 1].pageX + 2) + "px";
2369
+ }
2370
+ else {
2371
+ speechDom.style.left = (event.clientX + 2) + "px";
2372
+ }
2373
+ speechDom.setAttribute("data-text", text);
2374
+ });
2375
+ };
2376
+
2377
+ ;// ./src/ts/markdown/previewRender.ts
2378
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
2379
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2380
+ return new (P || (P = Promise))(function (resolve, reject) {
2381
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2382
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2383
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2384
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2385
+ });
2386
+ };
2387
+ var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
2388
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
2389
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
2390
+ function verb(n) { return function (v) { return step([n, v]); }; }
2391
+ function step(op) {
2392
+ if (f) throw new TypeError("Generator is already executing.");
2393
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
2394
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
2395
+ if (y = 0, t) op = [op[0] & 2, t.value];
2396
+ switch (op[0]) {
2397
+ case 0: case 1: t = op; break;
2398
+ case 4: _.label++; return { value: op[1], done: false };
2399
+ case 5: _.label++; y = op[1]; op = [0]; continue;
2400
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
2401
+ default:
2402
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
2403
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
2404
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
2405
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
2406
+ if (t[2]) _.ops.pop();
2407
+ _.trys.pop(); continue;
2408
+ }
2409
+ op = body.call(thisArg, _);
2410
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
2411
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2412
+ }
2413
+ };
2414
+
2415
+
2416
+
2417
+
2418
+
2419
+
2420
+
2421
+
2422
+
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+
2436
+ var mergeOptions = function (options) {
2437
+ var _a;
2438
+ var defaultOption = {
2439
+ anchor: 0,
2440
+ cdn: constants/* Constants */.Y.CDN,
2441
+ customEmoji: {},
2442
+ emojiPath: "".concat(constants/* Constants */.Y.CDN, "/dist/images/emoji"),
2443
+ hljs: constants/* Constants */.Y.HLJS_OPTIONS,
2444
+ icon: "ant",
2445
+ lang: "zh_CN",
2446
+ markdown: constants/* Constants */.Y.MARKDOWN_OPTIONS,
2447
+ math: constants/* Constants */.Y.MATH_OPTIONS,
2448
+ mode: "light",
2449
+ speech: {
2450
+ enable: false,
2451
+ },
2452
+ render: {
2453
+ media: {
2454
+ enable: true,
2455
+ }
2456
+ },
2457
+ theme: constants/* Constants */.Y.THEME_OPTIONS,
2458
+ };
2459
+ if (options.cdn) {
2460
+ if (!((_a = options.theme) === null || _a === void 0 ? void 0 : _a.path)) {
2461
+ defaultOption.theme.path = "".concat(options.cdn, "/dist/css/content-theme");
2462
+ }
2463
+ if (!options.emojiPath) {
2464
+ defaultOption.emojiPath = "".concat(options.cdn, "/dist/images/emoji");
2465
+ }
2466
+ }
2467
+ return (0,merge/* merge */.h)(defaultOption, options);
2468
+ };
2469
+ var md2html = function (mdText, options) {
2470
+ var mergedOptions = mergeOptions(options);
2471
+ return (0,addScript/* addScript */.Z)("".concat(mergedOptions.cdn, "/dist/js/lute/lute.min.js"), "vditorLuteScript").then(function () {
2472
+ var lute = (0,setLute/* setLute */.X)({
2473
+ autoSpace: mergedOptions.markdown.autoSpace,
2474
+ gfmAutoLink: mergedOptions.markdown.gfmAutoLink,
2475
+ codeBlockPreview: mergedOptions.markdown.codeBlockPreview,
2476
+ emojiSite: mergedOptions.emojiPath,
2477
+ emojis: mergedOptions.customEmoji,
2478
+ fixTermTypo: mergedOptions.markdown.fixTermTypo,
2479
+ footnotes: mergedOptions.markdown.footnotes,
2480
+ headingAnchor: mergedOptions.anchor !== 0,
2481
+ inlineMathDigit: mergedOptions.math.inlineDigit,
2482
+ lazyLoadImage: mergedOptions.lazyLoadImage,
2483
+ linkBase: mergedOptions.markdown.linkBase,
2484
+ linkPrefix: mergedOptions.markdown.linkPrefix,
2485
+ listStyle: mergedOptions.markdown.listStyle,
2486
+ mark: mergedOptions.markdown.mark,
2487
+ mathBlockPreview: mergedOptions.markdown.mathBlockPreview,
2488
+ paragraphBeginningSpace: mergedOptions.markdown.paragraphBeginningSpace,
2489
+ sanitize: mergedOptions.markdown.sanitize,
2490
+ sub: mergedOptions.markdown.sub,
2491
+ sup: mergedOptions.markdown.sup,
2492
+ toc: mergedOptions.markdown.toc,
2493
+ });
2494
+ if (options === null || options === void 0 ? void 0 : options.renderers) {
2495
+ lute.SetJSRenderers({
2496
+ renderers: {
2497
+ Md2HTML: options.renderers,
2498
+ },
2499
+ });
2500
+ }
2501
+ lute.SetHeadingID(true);
2502
+ return lute.Md2HTML(mdText);
2503
+ });
2504
+ };
2505
+ var previewRender = function (previewElement, markdown, options) { return __awaiter(void 0, void 0, void 0, function () {
2506
+ var mergedOptions, html, i18nScriptPrefix, i18nScriptID_1;
2507
+ return __generator(this, function (_a) {
2508
+ switch (_a.label) {
2509
+ case 0:
2510
+ mergedOptions = mergeOptions(options);
2511
+ return [4 /*yield*/, md2html(markdown, mergedOptions)];
2512
+ case 1:
2513
+ html = _a.sent();
2514
+ if (mergedOptions.transform) {
2515
+ html = mergedOptions.transform(html);
2516
+ }
2517
+ previewElement.innerHTML = html;
2518
+ previewElement.classList.add("vditor-reset");
2519
+ if (!!mergedOptions.i18n) return [3 /*break*/, 5];
2520
+ if (!!["de_DE", "en_US", "es_ES", "fr_FR", "ja_JP", "ko_KR", "pt_BR", "ru_RU", "sv_SE", "vi_VN", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) return [3 /*break*/, 2];
2521
+ throw new Error("options.lang error, see https://ld246.com/article/1549638745630#options");
2522
+ case 2:
2523
+ i18nScriptPrefix = "vditorI18nScript";
2524
+ i18nScriptID_1 = i18nScriptPrefix + mergedOptions.lang;
2525
+ document.querySelectorAll("head script[id^=\"".concat(i18nScriptPrefix, "\"]")).forEach(function (el) {
2526
+ if (el.id !== i18nScriptID_1) {
2527
+ document.head.removeChild(el);
2528
+ }
2529
+ });
2530
+ return [4 /*yield*/, (0,addScript/* addScript */.Z)("".concat(mergedOptions.cdn, "/dist/js/i18n/").concat(mergedOptions.lang, ".js"), i18nScriptID_1)];
2531
+ case 3:
2532
+ _a.sent();
2533
+ _a.label = 4;
2534
+ case 4: return [3 /*break*/, 6];
2535
+ case 5:
2536
+ window.VditorI18n = mergedOptions.i18n;
2537
+ _a.label = 6;
2538
+ case 6:
2539
+ if (!mergedOptions.icon) return [3 /*break*/, 8];
2540
+ return [4 /*yield*/, (0,addScript/* addScript */.Z)("".concat(mergedOptions.cdn, "/dist/js/icons/").concat(mergedOptions.icon, ".js"), "vditorIconScript")];
2541
+ case 7:
2542
+ _a.sent();
2543
+ _a.label = 8;
2544
+ case 8:
2545
+ (0,setContentTheme/* setContentTheme */.H)(mergedOptions.theme.current, mergedOptions.theme.path);
2546
+ if (mergedOptions.anchor === 1) {
2547
+ previewElement.classList.add("vditor-reset--anchor");
2548
+ }
2549
+ (0,codeRender/* codeRender */.o)(previewElement, mergedOptions.hljs);
2550
+ (0,highlightRender/* highlightRender */.$)(mergedOptions.hljs, previewElement, mergedOptions.cdn);
2551
+ (0,mathRender/* mathRender */.T)(previewElement, {
2552
+ cdn: mergedOptions.cdn,
2553
+ math: mergedOptions.math,
2554
+ });
2555
+ (0,mermaidRender/* mermaidRender */.e)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2556
+ (0,SMILESRender/* SMILESRender */.Y)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2557
+ (0,markmapRender/* markmapRender */.K)(previewElement, mergedOptions.cdn);
2558
+ (0,flowchartRender/* flowchartRender */.D)(previewElement, mergedOptions.cdn);
2559
+ (0,graphvizRender/* graphvizRender */.m)(previewElement, mergedOptions.cdn);
2560
+ (0,chartRender/* chartRender */.v)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2561
+ (0,mindmapRender/* mindmapRender */.l)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2562
+ (0,plantumlRender/* plantumlRender */.M)(previewElement, mergedOptions.cdn);
2563
+ (0,abcRender/* abcRender */.$)(previewElement, mergedOptions.cdn);
2564
+ if (mergedOptions.render.media.enable) {
2565
+ (0,mediaRender/* mediaRender */.l)(previewElement);
2566
+ }
2567
+ if (mergedOptions.speech.enable) {
2568
+ speechRender(previewElement);
2569
+ }
2570
+ if (mergedOptions.anchor !== 0) {
2571
+ anchorRender(mergedOptions.anchor);
2572
+ }
2573
+ if (mergedOptions.after) {
2574
+ mergedOptions.after();
2575
+ }
2576
+ if (mergedOptions.lazyLoadImage) {
2577
+ lazyLoadImageRender(previewElement);
2578
+ }
2579
+ previewElement.addEventListener("click", function (event) {
2580
+ var spanElement = (0,hasClosest/* hasClosestByMatchTag */._Y)(event.target, "SPAN");
2581
+ if (spanElement && (0,hasClosest/* hasClosestByClassName */.KJ)(spanElement, "vditor-toc")) {
2582
+ var headingElement = previewElement.querySelector("#" + spanElement.getAttribute("data-target-id"));
2583
+ if (headingElement) {
2584
+ window.scrollTo(window.scrollX, headingElement.offsetTop);
2585
+ }
2586
+ return;
2587
+ }
2588
+ });
2589
+ return [2 /*return*/];
2590
+ }
2591
+ });
2592
+ }); };
2593
+
2594
+ // EXTERNAL MODULE: ./src/ts/preview/image.ts
2595
+ var preview_image = __webpack_require__(170);
2596
+ // EXTERNAL MODULE: ./src/ts/ui/setCodeTheme.ts
2597
+ var setCodeTheme = __webpack_require__(417);
2598
+ ;// ./src/method.ts
2599
+
2600
+
2601
+
2602
+
2603
+
2604
+
2605
+
2606
+
2607
+
2608
+
2609
+
2610
+
2611
+
2612
+
2613
+
2614
+
2615
+
2616
+
2617
+
2618
+
2619
+
2620
+ var Vditor = /** @class */ (function () {
2621
+ function Vditor() {
2622
+ }
2623
+ /** 点击图片放大 */
2624
+ Vditor.adapterRender = adapterRender;
2625
+ /** 点击图片放大 */
2626
+ Vditor.previewImage = preview_image/* previewImage */.o;
2627
+ /** 为 element 中的代码块添加复制按钮 */
2628
+ Vditor.codeRender = codeRender/* codeRender */.o;
2629
+ /** 对 graphviz 进行渲染 */
2630
+ Vditor.graphvizRender = graphvizRender/* graphvizRender */.m;
2631
+ /** 为 element 中的代码块进行高亮渲染 */
2632
+ Vditor.highlightRender = highlightRender/* highlightRender */.$;
2633
+ /** 对数学公式进行渲染 */
2634
+ Vditor.mathRender = mathRender/* mathRender */.T;
2635
+ /** 流程图/时序图/甘特图渲染 */
2636
+ Vditor.mermaidRender = mermaidRender/* mermaidRender */.e;
2637
+ /** 化学物质结构渲染 */
2638
+ Vditor.SMILESRender = SMILESRender/* SMILESRender */.Y;
2639
+ /** 支持 markdown 的思维导图 */
2640
+ Vditor.markmapRender = markmapRender/* markmapRender */.K;
2641
+ /** flowchart.js 渲染 */
2642
+ Vditor.flowchartRender = flowchartRender/* flowchartRender */.D;
2643
+ /** 图表渲染 */
2644
+ Vditor.chartRender = chartRender/* chartRender */.v;
2645
+ /** 五线谱渲染 */
2646
+ Vditor.abcRender = abcRender/* abcRender */.$;
2647
+ /** 脑图渲染 */
2648
+ Vditor.mindmapRender = mindmapRender/* mindmapRender */.l;
2649
+ /** plantuml渲染 */
2650
+ Vditor.plantumlRender = plantumlRender/* plantumlRender */.M;
2651
+ /** 大纲渲染 */
2652
+ Vditor.outlineRender = outlineRender/* outlineRender */.N;
2653
+ /** 为[特定链接](https://github.com/Vanessa219/vditor/issues/7)分别渲染为视频、音频、嵌入的 iframe */
2654
+ Vditor.mediaRender = mediaRender/* mediaRender */.l;
2655
+ /** 对选中的文字进行阅读 */
2656
+ Vditor.speechRender = speechRender;
2657
+ /** 对图片进行懒加载 */
2658
+ Vditor.lazyLoadImageRender = lazyLoadImageRender;
2659
+ /** Markdown 文本转换为 HTML,该方法需使用[异步编程](https://ld246.com/article/1546828434083?r=Vaness) */
2660
+ Vditor.md2html = md2html;
2661
+ /** 页面 Markdown 文章渲染 */
2662
+ Vditor.preview = previewRender;
2663
+ /** 设置代码主题 */
2664
+ Vditor.setCodeTheme = setCodeTheme/* setCodeTheme */.h;
2665
+ /** 设置内容主题 */
2666
+ Vditor.setContentTheme = setContentTheme/* setContentTheme */.H;
2667
+ return Vditor;
2668
+ }());
2669
+ /* harmony default export */ const method = (Vditor);
2670
+
2671
+ __webpack_exports__ = __webpack_exports__["default"];
2672
+ /******/ return __webpack_exports__;
2673
+ /******/ })()
2674
+ ;
2675
+ });