@opentiny/fluent-editor 4.0.0-alpha.1 → 4.0.0-alpha.11

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 (706) hide show
  1. package/README.md +88 -105
  2. package/es/attributors/line-height.es.js.map +1 -1
  3. package/es/config/base64-image.es.js.map +1 -1
  4. package/es/config/editor.config.es.js.map +1 -1
  5. package/es/config/editor.utils.es.js +0 -2
  6. package/es/config/editor.utils.es.js.map +1 -1
  7. package/es/config/i18n/en-us.es.js +2 -0
  8. package/es/config/i18n/en-us.es.js.map +1 -1
  9. package/es/config/i18n/zh-cn.es.js +2 -0
  10. package/es/config/i18n/zh-cn.es.js.map +1 -1
  11. package/es/config/index.es.js +2 -2
  12. package/es/config/index.es.js.map +1 -1
  13. package/es/config/types/index.es.js +0 -20
  14. package/es/config/types/index.es.js.map +1 -1
  15. package/es/core/fluent-editor.es.js +4 -1
  16. package/es/core/fluent-editor.es.js.map +1 -1
  17. package/es/fluent-editor.es.js +33 -22
  18. package/es/fluent-editor.es.js.map +1 -1
  19. package/es/formats/emoji.es.js +14 -0
  20. package/es/formats/emoji.es.js.map +1 -0
  21. package/es/formats/index.es.js +11 -0
  22. package/es/formats/index.es.js.map +1 -0
  23. package/es/formats/soft-break.es.js +12 -5
  24. package/es/formats/soft-break.es.js.map +1 -1
  25. package/es/formats/strike.es.js +8 -5
  26. package/es/formats/strike.es.js.map +1 -1
  27. package/es/formats/video.es.js +14 -10
  28. package/es/formats/video.es.js.map +1 -1
  29. package/es/index.es.js +96 -31
  30. package/es/index.es.js.map +1 -1
  31. package/es/modules/ai/constants.es.js +50 -0
  32. package/es/modules/ai/constants.es.js.map +1 -0
  33. package/es/modules/ai/icons.es.js +319 -0
  34. package/es/modules/ai/icons.es.js.map +1 -0
  35. package/es/modules/ai/index.es.js +670 -0
  36. package/es/modules/ai/index.es.js.map +1 -0
  37. package/es/modules/collaborative-editing/awareness/awareness.es.js +93 -0
  38. package/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
  39. package/es/modules/collaborative-editing/awareness/index.es.js +8 -0
  40. package/es/modules/{emoji/emoji-list → collaborative-editing/awareness}/index.es.js.map +1 -1
  41. package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +12 -0
  42. package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
  43. package/es/modules/collaborative-editing/collaborative-editing.es.js +105 -0
  44. package/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
  45. package/es/modules/collaborative-editing/index.es.js +6 -0
  46. package/es/modules/collaborative-editing/index.es.js.map +1 -0
  47. package/es/modules/collaborative-editing/module.es.js +35 -0
  48. package/es/modules/collaborative-editing/module.es.js.map +1 -0
  49. package/es/modules/collaborative-editing/provider/providerRegistry.es.js +28 -0
  50. package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
  51. package/es/modules/collaborative-editing/provider/webrtc.es.js +99 -0
  52. package/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
  53. package/es/modules/collaborative-editing/provider/websocket.es.js +111 -0
  54. package/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
  55. package/es/modules/collaborative-editing/types.es.js +2 -0
  56. package/es/modules/collaborative-editing/types.es.js.map +1 -0
  57. package/es/modules/counter.es.js +8 -3
  58. package/es/modules/counter.es.js.map +1 -1
  59. package/es/modules/custom-clipboard.es.js +20 -22
  60. package/es/modules/custom-clipboard.es.js.map +1 -1
  61. package/es/modules/custom-image/actions/action.es.js +19 -0
  62. package/es/modules/custom-image/actions/action.es.js.map +1 -0
  63. package/es/modules/custom-image/actions/{CustomResizeAction.es.js → custom-resize-action.es.js} +24 -11
  64. package/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
  65. package/es/modules/custom-image/actions/{DeleteAction.es.js → delete-action.es.js} +8 -5
  66. package/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
  67. package/es/modules/custom-image/actions/image-toolbar-buttons.es.js +137 -0
  68. package/es/modules/custom-image/actions/image-toolbar-buttons.es.js.map +1 -0
  69. package/es/modules/custom-image/actions/index.es.js +18 -0
  70. package/es/modules/custom-image/actions/index.es.js.map +1 -0
  71. package/es/modules/custom-image/actions/toolbar-action.es.js +33 -0
  72. package/es/modules/custom-image/actions/toolbar-action.es.js.map +1 -0
  73. package/es/modules/custom-image/actions/toolbar.es.js +110 -0
  74. package/es/modules/custom-image/actions/toolbar.es.js.map +1 -0
  75. package/es/modules/custom-image/{BlotFormatter.es.js → blot-formatter.es.js} +27 -49
  76. package/es/modules/custom-image/blot-formatter.es.js.map +1 -0
  77. package/es/modules/custom-image/image.es.js +39 -7
  78. package/es/modules/custom-image/image.es.js.map +1 -1
  79. package/es/modules/custom-image/index.es.js +9 -0
  80. package/es/modules/custom-image/index.es.js.map +1 -0
  81. package/es/modules/custom-image/options.es.js +88 -0
  82. package/es/modules/custom-image/options.es.js.map +1 -0
  83. package/es/modules/custom-image/specs/blot-spec.es.js +33 -0
  84. package/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
  85. package/es/modules/custom-image/specs/{CustomImageSpec.es.js → custom-image-spec.es.js} +13 -14
  86. package/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
  87. package/es/modules/custom-image/specs/image-spec.es.js +32 -0
  88. package/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
  89. package/es/modules/custom-image/specs/index.es.js +9 -0
  90. package/es/modules/custom-image/specs/index.es.js.map +1 -0
  91. package/es/modules/custom-uploader.es.js +7 -5
  92. package/es/modules/custom-uploader.es.js.map +1 -1
  93. package/es/modules/divider.es.js +8 -7
  94. package/es/modules/divider.es.js.map +1 -1
  95. package/es/modules/emoji.es.js +167 -0
  96. package/es/modules/emoji.es.js.map +1 -0
  97. package/es/modules/file/formats/file.es.js +10 -8
  98. package/es/modules/file/formats/file.es.js.map +1 -1
  99. package/es/modules/file/index.es.js +6 -28
  100. package/es/modules/file/index.es.js.map +1 -1
  101. package/es/modules/file/modules/file-bar.es.js +11 -3
  102. package/es/modules/file/modules/file-bar.es.js.map +1 -1
  103. package/es/modules/file/modules/file-module.es.js +35 -0
  104. package/es/modules/file/modules/file-module.es.js.map +1 -0
  105. package/es/modules/flow-chart/config-utils.es.js +102 -0
  106. package/es/modules/flow-chart/config-utils.es.js.map +1 -0
  107. package/es/modules/flow-chart/formats/flow-chart-blot.es.js +369 -0
  108. package/es/modules/flow-chart/formats/flow-chart-blot.es.js.map +1 -0
  109. package/es/modules/flow-chart/i18n/en-us.es.js +30 -0
  110. package/es/modules/flow-chart/i18n/en-us.es.js.map +1 -0
  111. package/es/modules/flow-chart/i18n/index.es.js +12 -0
  112. package/es/modules/flow-chart/i18n/index.es.js.map +1 -0
  113. package/es/modules/flow-chart/i18n/zh-cn.es.js +30 -0
  114. package/es/modules/flow-chart/i18n/zh-cn.es.js.map +1 -0
  115. package/es/modules/flow-chart/icons.es.js +27 -0
  116. package/es/modules/flow-chart/icons.es.js.map +1 -0
  117. package/es/modules/flow-chart/index.es.js +45 -0
  118. package/es/modules/flow-chart/index.es.js.map +1 -0
  119. package/es/modules/flow-chart/modules/context-menu.es.js +184 -0
  120. package/es/modules/flow-chart/modules/context-menu.es.js.map +1 -0
  121. package/es/modules/flow-chart/modules/control-panel.es.js +286 -0
  122. package/es/modules/flow-chart/modules/control-panel.es.js.map +1 -0
  123. package/es/modules/flow-chart/modules/custom-resize-action.es.js +150 -0
  124. package/es/modules/flow-chart/modules/custom-resize-action.es.js.map +1 -0
  125. package/es/modules/flow-chart/style/flow-chart.css +185 -0
  126. package/es/modules/i18n.es.js +6 -3
  127. package/es/modules/i18n.es.js.map +1 -1
  128. package/es/modules/index.es.js +31 -0
  129. package/es/modules/index.es.js.map +1 -0
  130. package/es/modules/link/formats/link.es.js +14 -10
  131. package/es/modules/link/formats/link.es.js.map +1 -1
  132. package/es/modules/link/index.es.js +4 -12
  133. package/es/modules/link/index.es.js.map +1 -1
  134. package/es/modules/link/modules/tooltip.es.js +28 -19
  135. package/es/modules/link/modules/tooltip.es.js.map +1 -1
  136. package/es/modules/mathlive/formats.es.js +10 -7
  137. package/es/modules/mathlive/formats.es.js.map +1 -1
  138. package/es/modules/mathlive/index.es.js +6 -30
  139. package/es/modules/mathlive/index.es.js.map +1 -1
  140. package/es/modules/mathlive/module.es.js +40 -0
  141. package/es/modules/mathlive/module.es.js.map +1 -0
  142. package/es/modules/mathlive/tooltip.es.js +9 -5
  143. package/es/modules/mathlive/tooltip.es.js.map +1 -1
  144. package/es/modules/mention/constants.es.js.map +1 -1
  145. package/es/modules/mention/index.es.js +7 -0
  146. package/es/modules/mention/index.es.js.map +1 -0
  147. package/es/modules/mention/{MentionLink.es.js → mention-link.es.js} +14 -6
  148. package/es/modules/mention/mention-link.es.js.map +1 -0
  149. package/es/modules/mention/{Mention.es.js → mention.es.js} +28 -20
  150. package/es/modules/mention/mention.es.js.map +1 -0
  151. package/es/modules/mind-map/config-utils.es.js +108 -0
  152. package/es/modules/mind-map/config-utils.es.js.map +1 -0
  153. package/es/modules/mind-map/formats/mind-map-blot.es.js +356 -0
  154. package/es/modules/mind-map/formats/mind-map-blot.es.js.map +1 -0
  155. package/es/modules/mind-map/i18n/en-us.es.js +29 -0
  156. package/es/modules/mind-map/i18n/en-us.es.js.map +1 -0
  157. package/es/modules/mind-map/i18n/index.es.js +12 -0
  158. package/es/modules/mind-map/i18n/index.es.js.map +1 -0
  159. package/es/modules/mind-map/i18n/zh-cn.es.js +29 -0
  160. package/es/modules/mind-map/i18n/zh-cn.es.js.map +1 -0
  161. package/es/modules/mind-map/icons.es.js +45 -0
  162. package/es/modules/mind-map/icons.es.js.map +1 -0
  163. package/es/modules/mind-map/index.es.js +56 -0
  164. package/es/modules/mind-map/index.es.js.map +1 -0
  165. package/es/modules/mind-map/modules/context-menu.es.js +128 -0
  166. package/es/modules/mind-map/modules/context-menu.es.js.map +1 -0
  167. package/es/modules/mind-map/modules/control-panel.es.js +424 -0
  168. package/es/modules/mind-map/modules/control-panel.es.js.map +1 -0
  169. package/es/modules/mind-map/modules/custom-resize-action.es.js +161 -0
  170. package/es/modules/mind-map/modules/custom-resize-action.es.js.map +1 -0
  171. package/es/modules/mind-map/style/mind-map.css +224 -0
  172. package/es/modules/shortcut-key/index.es.js +16 -0
  173. package/es/modules/shortcut-key/index.es.js.map +1 -1
  174. package/es/modules/syntax.es.js +4 -0
  175. package/es/modules/syntax.es.js.map +1 -1
  176. package/es/modules/table-up/index.es.js +16 -6
  177. package/es/modules/table-up/index.es.js.map +1 -1
  178. package/es/modules/toolbar/better-picker.es.js +5 -0
  179. package/es/modules/toolbar/better-picker.es.js.map +1 -1
  180. package/es/modules/toolbar/better-toolbar.es.js +138 -0
  181. package/es/modules/toolbar/better-toolbar.es.js.map +1 -0
  182. package/es/modules/toolbar/index.es.js +5 -135
  183. package/es/modules/toolbar/index.es.js.map +1 -1
  184. package/es/modules/toolbar/toolbar-tip.es.js.map +1 -1
  185. package/es/themes/snow.es.js +18 -10
  186. package/es/themes/snow.es.js.map +1 -1
  187. package/es/tools/format-painter.es.js +8 -2
  188. package/es/tools/format-painter.es.js.map +1 -1
  189. package/es/tools/fullscreen.es.js.map +1 -1
  190. package/es/tools/screenshot.es.js.map +1 -1
  191. package/es/ui/icons.config.es.js +57 -0
  192. package/es/ui/icons.config.es.js.map +1 -1
  193. package/es/ui/icons.es.js +5 -2
  194. package/es/ui/icons.es.js.map +1 -1
  195. package/es/utils/debounce.es.js.map +1 -1
  196. package/es/utils/image.es.js.map +1 -1
  197. package/es/utils/is.es.js.map +1 -1
  198. package/es/utils/method.es.js.map +1 -1
  199. package/es/utils/scroll-lock.es.js.map +1 -1
  200. package/lib/attributors/line-height.cjs.js.map +1 -1
  201. package/lib/config/base64-image.cjs.js.map +1 -1
  202. package/lib/config/editor.config.cjs.js.map +1 -1
  203. package/lib/config/editor.utils.cjs.js +0 -2
  204. package/lib/config/editor.utils.cjs.js.map +1 -1
  205. package/lib/config/i18n/en-us.cjs.js +2 -0
  206. package/lib/config/i18n/en-us.cjs.js.map +1 -1
  207. package/lib/config/i18n/zh-cn.cjs.js +2 -0
  208. package/lib/config/i18n/zh-cn.cjs.js.map +1 -1
  209. package/lib/config/index.cjs.js +1 -1
  210. package/lib/config/index.cjs.js.map +1 -1
  211. package/lib/config/types/index.cjs.js +0 -20
  212. package/lib/config/types/index.cjs.js.map +1 -1
  213. package/lib/core/fluent-editor.cjs.js +4 -1
  214. package/lib/core/fluent-editor.cjs.js.map +1 -1
  215. package/lib/fluent-editor.cjs.js +41 -30
  216. package/lib/fluent-editor.cjs.js.map +1 -1
  217. package/lib/formats/emoji.cjs.js +14 -0
  218. package/lib/formats/emoji.cjs.js.map +1 -0
  219. package/lib/formats/index.cjs.js +11 -0
  220. package/lib/formats/index.cjs.js.map +1 -0
  221. package/lib/formats/soft-break.cjs.js +13 -6
  222. package/lib/formats/soft-break.cjs.js.map +1 -1
  223. package/lib/formats/strike.cjs.js +9 -6
  224. package/lib/formats/strike.cjs.js.map +1 -1
  225. package/lib/formats/video.cjs.js +15 -11
  226. package/lib/formats/video.cjs.js.map +1 -1
  227. package/lib/index.cjs.js +118 -35
  228. package/lib/index.cjs.js.map +1 -1
  229. package/lib/modules/ai/constants.cjs.js +50 -0
  230. package/lib/modules/ai/constants.cjs.js.map +1 -0
  231. package/lib/modules/ai/icons.cjs.js +319 -0
  232. package/lib/modules/ai/icons.cjs.js.map +1 -0
  233. package/lib/modules/ai/index.cjs.js +670 -0
  234. package/lib/modules/ai/index.cjs.js.map +1 -0
  235. package/lib/modules/collaborative-editing/awareness/awareness.cjs.js +110 -0
  236. package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
  237. package/lib/modules/collaborative-editing/awareness/index.cjs.js +8 -0
  238. package/lib/modules/collaborative-editing/awareness/index.cjs.js.map +1 -0
  239. package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +12 -0
  240. package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
  241. package/lib/modules/collaborative-editing/collaborative-editing.cjs.js +122 -0
  242. package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
  243. package/lib/modules/collaborative-editing/index.cjs.js +6 -0
  244. package/lib/modules/{emoji/emoji-list → collaborative-editing}/index.cjs.js.map +1 -1
  245. package/lib/modules/collaborative-editing/module.cjs.js +35 -0
  246. package/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
  247. package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js +28 -0
  248. package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
  249. package/lib/modules/collaborative-editing/provider/webrtc.cjs.js +116 -0
  250. package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
  251. package/lib/modules/collaborative-editing/provider/websocket.cjs.js +128 -0
  252. package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
  253. package/lib/modules/collaborative-editing/types.cjs.js +2 -0
  254. package/lib/modules/collaborative-editing/types.cjs.js.map +1 -0
  255. package/lib/modules/counter.cjs.js +8 -3
  256. package/lib/modules/counter.cjs.js.map +1 -1
  257. package/lib/modules/custom-clipboard.cjs.js +21 -23
  258. package/lib/modules/custom-clipboard.cjs.js.map +1 -1
  259. package/lib/modules/custom-image/actions/action.cjs.js +19 -0
  260. package/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
  261. package/lib/modules/custom-image/actions/{CustomResizeAction.cjs.js → custom-resize-action.cjs.js} +26 -13
  262. package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
  263. package/lib/modules/custom-image/actions/{DeleteAction.cjs.js → delete-action.cjs.js} +10 -7
  264. package/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
  265. package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js +137 -0
  266. package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +1 -0
  267. package/lib/modules/custom-image/actions/index.cjs.js +18 -0
  268. package/lib/modules/custom-image/actions/index.cjs.js.map +1 -0
  269. package/lib/modules/custom-image/actions/toolbar-action.cjs.js +33 -0
  270. package/lib/modules/custom-image/actions/toolbar-action.cjs.js.map +1 -0
  271. package/lib/modules/custom-image/actions/toolbar.cjs.js +110 -0
  272. package/lib/modules/custom-image/actions/toolbar.cjs.js.map +1 -0
  273. package/lib/modules/custom-image/{BlotFormatter.cjs.js → blot-formatter.cjs.js} +28 -50
  274. package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
  275. package/lib/modules/custom-image/image.cjs.js +40 -8
  276. package/lib/modules/custom-image/image.cjs.js.map +1 -1
  277. package/lib/modules/custom-image/index.cjs.js +9 -0
  278. package/lib/modules/custom-image/index.cjs.js.map +1 -0
  279. package/lib/modules/custom-image/options.cjs.js +88 -0
  280. package/lib/modules/custom-image/options.cjs.js.map +1 -0
  281. package/lib/modules/custom-image/specs/blot-spec.cjs.js +33 -0
  282. package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
  283. package/lib/modules/custom-image/specs/{CustomImageSpec.cjs.js → custom-image-spec.cjs.js} +14 -15
  284. package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
  285. package/lib/modules/custom-image/specs/image-spec.cjs.js +32 -0
  286. package/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
  287. package/lib/modules/custom-image/specs/index.cjs.js +9 -0
  288. package/lib/modules/custom-image/specs/index.cjs.js.map +1 -0
  289. package/lib/modules/custom-uploader.cjs.js +7 -5
  290. package/lib/modules/custom-uploader.cjs.js.map +1 -1
  291. package/lib/modules/divider.cjs.js +9 -8
  292. package/lib/modules/divider.cjs.js.map +1 -1
  293. package/lib/modules/emoji.cjs.js +167 -0
  294. package/lib/modules/emoji.cjs.js.map +1 -0
  295. package/lib/modules/file/formats/file.cjs.js +11 -9
  296. package/lib/modules/file/formats/file.cjs.js.map +1 -1
  297. package/lib/modules/file/index.cjs.js +5 -27
  298. package/lib/modules/file/index.cjs.js.map +1 -1
  299. package/lib/modules/file/modules/file-bar.cjs.js +12 -4
  300. package/lib/modules/file/modules/file-bar.cjs.js.map +1 -1
  301. package/lib/modules/file/modules/file-module.cjs.js +35 -0
  302. package/lib/modules/file/modules/file-module.cjs.js.map +1 -0
  303. package/lib/modules/flow-chart/config-utils.cjs.js +102 -0
  304. package/lib/modules/flow-chart/config-utils.cjs.js.map +1 -0
  305. package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js +369 -0
  306. package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js.map +1 -0
  307. package/lib/modules/flow-chart/i18n/en-us.cjs.js +30 -0
  308. package/lib/modules/flow-chart/i18n/en-us.cjs.js.map +1 -0
  309. package/lib/modules/flow-chart/i18n/index.cjs.js +12 -0
  310. package/lib/modules/flow-chart/i18n/index.cjs.js.map +1 -0
  311. package/lib/modules/flow-chart/i18n/zh-cn.cjs.js +30 -0
  312. package/lib/modules/flow-chart/i18n/zh-cn.cjs.js.map +1 -0
  313. package/lib/modules/flow-chart/icons.cjs.js +27 -0
  314. package/lib/modules/flow-chart/icons.cjs.js.map +1 -0
  315. package/lib/modules/flow-chart/index.cjs.js +45 -0
  316. package/lib/modules/flow-chart/index.cjs.js.map +1 -0
  317. package/lib/modules/flow-chart/modules/context-menu.cjs.js +184 -0
  318. package/lib/modules/flow-chart/modules/context-menu.cjs.js.map +1 -0
  319. package/lib/modules/flow-chart/modules/control-panel.cjs.js +286 -0
  320. package/lib/modules/flow-chart/modules/control-panel.cjs.js.map +1 -0
  321. package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js +150 -0
  322. package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js.map +1 -0
  323. package/lib/modules/flow-chart/style/flow-chart.css +185 -0
  324. package/lib/modules/i18n.cjs.js +6 -3
  325. package/lib/modules/i18n.cjs.js.map +1 -1
  326. package/lib/modules/index.cjs.js +31 -0
  327. package/lib/modules/index.cjs.js.map +1 -0
  328. package/lib/modules/link/formats/link.cjs.js +15 -11
  329. package/lib/modules/link/formats/link.cjs.js.map +1 -1
  330. package/lib/modules/link/index.cjs.js +4 -12
  331. package/lib/modules/link/index.cjs.js.map +1 -1
  332. package/lib/modules/link/modules/tooltip.cjs.js +28 -19
  333. package/lib/modules/link/modules/tooltip.cjs.js.map +1 -1
  334. package/lib/modules/mathlive/formats.cjs.js +11 -8
  335. package/lib/modules/mathlive/formats.cjs.js.map +1 -1
  336. package/lib/modules/mathlive/index.cjs.js +5 -29
  337. package/lib/modules/mathlive/index.cjs.js.map +1 -1
  338. package/lib/modules/mathlive/module.cjs.js +40 -0
  339. package/lib/modules/mathlive/module.cjs.js.map +1 -0
  340. package/lib/modules/mathlive/tooltip.cjs.js +10 -6
  341. package/lib/modules/mathlive/tooltip.cjs.js.map +1 -1
  342. package/lib/modules/mention/constants.cjs.js.map +1 -1
  343. package/lib/modules/mention/index.cjs.js +7 -0
  344. package/lib/modules/mention/index.cjs.js.map +1 -0
  345. package/lib/modules/mention/{MentionLink.cjs.js → mention-link.cjs.js} +15 -7
  346. package/lib/modules/mention/mention-link.cjs.js.map +1 -0
  347. package/lib/modules/mention/{Mention.cjs.js → mention.cjs.js} +30 -22
  348. package/lib/modules/mention/mention.cjs.js.map +1 -0
  349. package/lib/modules/mind-map/config-utils.cjs.js +108 -0
  350. package/lib/modules/mind-map/config-utils.cjs.js.map +1 -0
  351. package/lib/modules/mind-map/formats/mind-map-blot.cjs.js +356 -0
  352. package/lib/modules/mind-map/formats/mind-map-blot.cjs.js.map +1 -0
  353. package/lib/modules/mind-map/i18n/en-us.cjs.js +29 -0
  354. package/lib/modules/mind-map/i18n/en-us.cjs.js.map +1 -0
  355. package/lib/modules/mind-map/i18n/index.cjs.js +12 -0
  356. package/lib/modules/mind-map/i18n/index.cjs.js.map +1 -0
  357. package/lib/modules/mind-map/i18n/zh-cn.cjs.js +29 -0
  358. package/lib/modules/mind-map/i18n/zh-cn.cjs.js.map +1 -0
  359. package/lib/modules/mind-map/icons.cjs.js +45 -0
  360. package/lib/modules/mind-map/icons.cjs.js.map +1 -0
  361. package/lib/modules/mind-map/index.cjs.js +56 -0
  362. package/lib/modules/mind-map/index.cjs.js.map +1 -0
  363. package/lib/modules/mind-map/modules/context-menu.cjs.js +128 -0
  364. package/lib/modules/mind-map/modules/context-menu.cjs.js.map +1 -0
  365. package/lib/modules/mind-map/modules/control-panel.cjs.js +424 -0
  366. package/lib/modules/mind-map/modules/control-panel.cjs.js.map +1 -0
  367. package/lib/modules/mind-map/modules/custom-resize-action.cjs.js +161 -0
  368. package/lib/modules/mind-map/modules/custom-resize-action.cjs.js.map +1 -0
  369. package/lib/modules/mind-map/style/mind-map.css +224 -0
  370. package/lib/modules/shortcut-key/index.cjs.js +16 -0
  371. package/lib/modules/shortcut-key/index.cjs.js.map +1 -1
  372. package/lib/modules/syntax.cjs.js +4 -0
  373. package/lib/modules/syntax.cjs.js.map +1 -1
  374. package/lib/modules/table-up/index.cjs.js +16 -6
  375. package/lib/modules/table-up/index.cjs.js.map +1 -1
  376. package/lib/modules/toolbar/better-picker.cjs.js +5 -0
  377. package/lib/modules/toolbar/better-picker.cjs.js.map +1 -1
  378. package/lib/modules/toolbar/better-toolbar.cjs.js +138 -0
  379. package/lib/modules/toolbar/better-toolbar.cjs.js.map +1 -0
  380. package/lib/modules/toolbar/index.cjs.js +6 -136
  381. package/lib/modules/toolbar/index.cjs.js.map +1 -1
  382. package/lib/modules/toolbar/toolbar-tip.cjs.js.map +1 -1
  383. package/lib/themes/snow.cjs.js +19 -11
  384. package/lib/themes/snow.cjs.js.map +1 -1
  385. package/lib/tools/format-painter.cjs.js +8 -2
  386. package/lib/tools/format-painter.cjs.js.map +1 -1
  387. package/lib/tools/fullscreen.cjs.js.map +1 -1
  388. package/lib/tools/screenshot.cjs.js.map +1 -1
  389. package/lib/ui/icons.cjs.js +4 -1
  390. package/lib/ui/icons.cjs.js.map +1 -1
  391. package/lib/ui/icons.config.cjs.js +57 -0
  392. package/lib/ui/icons.config.cjs.js.map +1 -1
  393. package/lib/utils/debounce.cjs.js.map +1 -1
  394. package/lib/utils/image.cjs.js.map +1 -1
  395. package/lib/utils/is.cjs.js.map +1 -1
  396. package/lib/utils/method.cjs.js.map +1 -1
  397. package/lib/utils/scroll-lock.cjs.js.map +1 -1
  398. package/package.json +72 -59
  399. package/style.css +2357 -2234
  400. package/types/attributors/font-size.d.ts +1 -1
  401. package/types/attributors/font-style.d.ts +1 -1
  402. package/types/attributors/index.d.ts +4 -4
  403. package/types/attributors/line-height.d.ts +1 -1
  404. package/types/attributors/text-indent.d.ts +1 -1
  405. package/types/config/base64-image.d.ts +2 -2
  406. package/types/config/editor.config.d.ts +11 -11
  407. package/types/config/editor.utils.d.ts +40 -41
  408. package/types/config/i18n/en-us.d.ts +125 -123
  409. package/types/config/i18n/zh-cn.d.ts +125 -123
  410. package/types/config/index.d.ts +7 -6
  411. package/types/config/types/editor-config.interface.d.ts +11 -16
  412. package/types/config/types/editor-modules.interface.d.ts +44 -32
  413. package/types/config/types/index.d.ts +3 -23
  414. package/types/config/types/type.d.ts +2 -6
  415. package/types/core/fluent-editor.d.ts +10 -12
  416. package/types/fluent-editor.d.ts +1 -2
  417. package/types/formats/emoji.d.ts +8 -0
  418. package/types/formats/index.d.ts +4 -0
  419. package/types/formats/soft-break.d.ts +12 -14
  420. package/types/formats/strike.d.ts +8 -7
  421. package/types/formats/video.d.ts +13 -16
  422. package/types/index.d.ts +7 -7
  423. package/types/modules/ai/constants.d.ts +30 -0
  424. package/types/modules/ai/icons.d.ts +21 -0
  425. package/types/modules/ai/index.d.ts +96 -0
  426. package/types/modules/ai/types.d.ts +16 -0
  427. package/types/modules/collaborative-editing/awareness/awareness.d.ts +28 -0
  428. package/types/modules/collaborative-editing/awareness/index.d.ts +2 -0
  429. package/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +2 -0
  430. package/types/modules/collaborative-editing/collaborative-editing.d.ts +24 -0
  431. package/types/modules/collaborative-editing/index.d.ts +2 -0
  432. package/types/modules/collaborative-editing/module.d.ts +11 -0
  433. package/types/modules/collaborative-editing/provider/index.d.ts +3 -0
  434. package/types/modules/collaborative-editing/provider/providerRegistry.d.ts +25 -0
  435. package/types/modules/collaborative-editing/provider/webrtc.d.ts +36 -0
  436. package/types/modules/collaborative-editing/provider/websocket.d.ts +40 -0
  437. package/types/modules/collaborative-editing/types.d.ts +37 -0
  438. package/types/modules/counter.d.ts +22 -16
  439. package/types/modules/custom-clipboard.d.ts +23 -27
  440. package/types/modules/custom-image/actions/action.d.ts +8 -0
  441. package/types/modules/custom-image/actions/{CustomResizeAction.d.ts → custom-resize-action.d.ts} +23 -24
  442. package/types/modules/custom-image/actions/delete-action.d.ts +6 -0
  443. package/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +16 -0
  444. package/types/modules/custom-image/actions/index.d.ts +6 -0
  445. package/types/modules/custom-image/actions/toolbar-action.d.ts +11 -0
  446. package/types/modules/custom-image/actions/toolbar.d.ts +19 -0
  447. package/types/modules/custom-image/blot-formatter.d.ts +23 -0
  448. package/types/modules/custom-image/image.d.ts +27 -24
  449. package/types/modules/custom-image/index.d.ts +4 -0
  450. package/types/modules/custom-image/options.d.ts +47 -0
  451. package/types/modules/custom-image/specs/blot-spec.d.ts +12 -0
  452. package/types/modules/custom-image/specs/{CustomImageSpec.d.ts → custom-image-spec.d.ts} +17 -21
  453. package/types/modules/custom-image/specs/image-spec.d.ts +8 -0
  454. package/types/modules/custom-image/specs/index.d.ts +3 -0
  455. package/types/modules/custom-uploader.d.ts +40 -0
  456. package/types/modules/divider.d.ts +8 -7
  457. package/types/modules/emoji.d.ts +39 -0
  458. package/types/modules/file/formats/file.d.ts +17 -18
  459. package/types/modules/file/index.d.ts +3 -11
  460. package/types/modules/file/modules/file-bar.d.ts +14 -14
  461. package/types/modules/file/modules/file-module.d.ts +9 -0
  462. package/types/modules/flow-chart/config-utils.d.ts +10 -0
  463. package/types/modules/flow-chart/formats/flow-chart-blot.d.ts +43 -0
  464. package/types/modules/flow-chart/i18n/en-us.d.ts +26 -0
  465. package/types/modules/flow-chart/i18n/index.d.ts +1 -0
  466. package/types/modules/flow-chart/i18n/zh-cn.d.ts +26 -0
  467. package/types/modules/flow-chart/icons.d.ts +12 -0
  468. package/types/modules/flow-chart/index.d.ts +10 -0
  469. package/types/modules/flow-chart/modules/context-menu.d.ts +3 -0
  470. package/types/modules/flow-chart/modules/control-panel.d.ts +3 -0
  471. package/types/modules/flow-chart/modules/custom-resize-action.d.ts +22 -0
  472. package/types/modules/flow-chart/options.d.ts +29 -0
  473. package/types/modules/i18n.d.ts +13 -15
  474. package/types/modules/index.d.ts +18 -0
  475. package/types/modules/link/formats/link.d.ts +14 -15
  476. package/types/modules/link/index.d.ts +2 -6
  477. package/types/modules/link/modules/tooltip.d.ts +26 -32
  478. package/types/modules/mathlive/formats.d.ts +20 -21
  479. package/types/modules/mathlive/index.d.ts +3 -9
  480. package/types/modules/mathlive/module.d.ts +9 -0
  481. package/types/modules/mathlive/tooltip.d.ts +14 -15
  482. package/types/modules/mention/constants.d.ts +3 -3
  483. package/types/modules/mention/index.d.ts +2 -0
  484. package/types/modules/mention/{MentionLink.d.ts → mention-link.d.ts} +15 -15
  485. package/types/modules/mention/{Mention.d.ts → mention.d.ts} +52 -54
  486. package/types/modules/mind-map/config-utils.d.ts +12 -0
  487. package/types/modules/mind-map/formats/mind-map-blot.d.ts +44 -0
  488. package/types/modules/mind-map/i18n/en-us.d.ts +25 -0
  489. package/types/modules/mind-map/i18n/index.d.ts +1 -0
  490. package/types/modules/mind-map/i18n/zh-cn.d.ts +25 -0
  491. package/types/modules/mind-map/icons.d.ts +21 -0
  492. package/types/modules/mind-map/index.d.ts +10 -0
  493. package/types/modules/mind-map/modules/context-menu.d.ts +3 -0
  494. package/types/modules/mind-map/modules/control-panel.d.ts +3 -0
  495. package/types/modules/mind-map/modules/custom-resize-action.d.ts +23 -0
  496. package/types/modules/mind-map/options.d.ts +26 -0
  497. package/types/modules/shortcut-key/index.d.ts +67 -64
  498. package/types/modules/syntax.d.ts +12 -13
  499. package/types/modules/table-up/index.d.ts +32 -64
  500. package/types/modules/toolbar/better-picker.d.ts +13 -14
  501. package/types/modules/toolbar/better-toolbar.d.ts +7 -0
  502. package/types/modules/toolbar/index.d.ts +3 -9
  503. package/types/modules/toolbar/toolbar-tip.d.ts +7 -8
  504. package/types/themes/snow.d.ts +9 -10
  505. package/types/tools/format-painter.d.ts +12 -14
  506. package/types/tools/fullscreen.d.ts +6 -3
  507. package/types/tools/screenshot.d.ts +17 -18
  508. package/types/ui/icons.config.d.ts +40 -36
  509. package/types/ui/icons.d.ts +6 -6
  510. package/types/utils/debounce.d.ts +6 -6
  511. package/types/utils/image.d.ts +1 -1
  512. package/types/utils/is.d.ts +6 -6
  513. package/types/utils/method.d.ts +6 -6
  514. package/types/utils/scroll-lock.d.ts +6 -6
  515. package/es/config/types/additional-toolbar-item.interface.es.js +0 -2
  516. package/es/config/types/additional-toolbar-item.interface.es.js.map +0 -1
  517. package/es/config/types/content-change.interface.es.js +0 -2
  518. package/es/config/types/content-change.interface.es.js.map +0 -1
  519. package/es/config/types/content-save.interface.es.js +0 -2
  520. package/es/config/types/content-save.interface.es.js.map +0 -1
  521. package/es/config/types/counter-option.interface.es.js +0 -2
  522. package/es/config/types/counter-option.interface.es.js.map +0 -1
  523. package/es/config/types/editor-toolbar.interface.es.js +0 -2
  524. package/es/config/types/editor-toolbar.interface.es.js.map +0 -1
  525. package/es/config/types/file-operation.interface.es.js +0 -2
  526. package/es/config/types/file-operation.interface.es.js.map +0 -1
  527. package/es/config/types/focus-change.interface.es.js +0 -2
  528. package/es/config/types/focus-change.interface.es.js.map +0 -1
  529. package/es/config/types/fullscreen-module.interface.es.js +0 -2
  530. package/es/config/types/fullscreen-module.interface.es.js.map +0 -1
  531. package/es/config/types/help-panel-item.interface.es.js +0 -2
  532. package/es/config/types/help-panel-item.interface.es.js.map +0 -1
  533. package/es/config/types/help-panel-option.interface.es.js +0 -2
  534. package/es/config/types/help-panel-option.interface.es.js.map +0 -1
  535. package/es/config/types/image-module.interface.es.js +0 -2
  536. package/es/config/types/image-module.interface.es.js.map +0 -1
  537. package/es/config/types/image-upload.interface.es.js +0 -2
  538. package/es/config/types/image-upload.interface.es.js.map +0 -1
  539. package/es/config/types/load-on-demand-module.interface.es.js +0 -2
  540. package/es/config/types/load-on-demand-module.interface.es.js.map +0 -1
  541. package/es/config/types/mention-module.interface.es.js +0 -2
  542. package/es/config/types/mention-module.interface.es.js.map +0 -1
  543. package/es/config/types/paste-change.interface.es.js +0 -2
  544. package/es/config/types/paste-change.interface.es.js.map +0 -1
  545. package/es/config/types/quick-menu-module.interface.es.js +0 -2
  546. package/es/config/types/quick-menu-module.interface.es.js.map +0 -1
  547. package/es/config/types/range.interface.es.js +0 -2
  548. package/es/config/types/range.interface.es.js.map +0 -1
  549. package/es/config/types/registry-options.interface.es.js +0 -2
  550. package/es/config/types/registry-options.interface.es.js.map +0 -1
  551. package/es/config/types/selection-change.interface.es.js +0 -2
  552. package/es/config/types/selection-change.interface.es.js.map +0 -1
  553. package/es/config/types/toolbar-item.interface.es.js +0 -2
  554. package/es/config/types/toolbar-item.interface.es.js.map +0 -1
  555. package/es/config/types/validate-error.interface.es.js +0 -2
  556. package/es/config/types/validate-error.interface.es.js.map +0 -1
  557. package/es/modules/custom-image/BlotFormatter.es.js.map +0 -1
  558. package/es/modules/custom-image/Options.es.js +0 -95
  559. package/es/modules/custom-image/Options.es.js.map +0 -1
  560. package/es/modules/custom-image/actions/Action.es.js +0 -15
  561. package/es/modules/custom-image/actions/Action.es.js.map +0 -1
  562. package/es/modules/custom-image/actions/CustomResizeAction.es.js.map +0 -1
  563. package/es/modules/custom-image/actions/DeleteAction.es.js.map +0 -1
  564. package/es/modules/custom-image/image-bar.es.js +0 -127
  565. package/es/modules/custom-image/image-bar.es.js.map +0 -1
  566. package/es/modules/custom-image/specs/BlotSpec.es.js +0 -27
  567. package/es/modules/custom-image/specs/BlotSpec.es.js.map +0 -1
  568. package/es/modules/custom-image/specs/CustomImageSpec.es.js.map +0 -1
  569. package/es/modules/custom-image/specs/ImageSpec.es.js +0 -29
  570. package/es/modules/custom-image/specs/ImageSpec.es.js.map +0 -1
  571. package/es/modules/emoji/emoji-list/index.es.js +0 -5
  572. package/es/modules/emoji/emoji-list/people.es.js +0 -114
  573. package/es/modules/emoji/emoji-list/people.es.js.map +0 -1
  574. package/es/modules/emoji/emoji-list.es.js +0 -9
  575. package/es/modules/emoji/emoji-list.es.js.map +0 -1
  576. package/es/modules/emoji/emoji-map.es.js +0 -9
  577. package/es/modules/emoji/emoji-map.es.js.map +0 -1
  578. package/es/modules/emoji/emoji-sprite.es.js +0 -5
  579. package/es/modules/emoji/emoji-sprite.es.js.map +0 -1
  580. package/es/modules/emoji/formats/emoji-blot.es.js +0 -41
  581. package/es/modules/emoji/formats/emoji-blot.es.js.map +0 -1
  582. package/es/modules/emoji/index.es.js +0 -8
  583. package/es/modules/emoji/index.es.js.map +0 -1
  584. package/es/modules/emoji/modules/emoji.es.js +0 -248
  585. package/es/modules/emoji/modules/emoji.es.js.map +0 -1
  586. package/es/modules/emoji/modules/toolbar-emoji.es.js +0 -153
  587. package/es/modules/emoji/modules/toolbar-emoji.es.js.map +0 -1
  588. package/es/modules/emoji/utils.es.js +0 -19
  589. package/es/modules/emoji/utils.es.js.map +0 -1
  590. package/es/modules/mention/Mention.es.js.map +0 -1
  591. package/es/modules/mention/MentionLink.es.js.map +0 -1
  592. package/lib/config/types/additional-toolbar-item.interface.cjs.js +0 -2
  593. package/lib/config/types/additional-toolbar-item.interface.cjs.js.map +0 -1
  594. package/lib/config/types/content-change.interface.cjs.js +0 -2
  595. package/lib/config/types/content-change.interface.cjs.js.map +0 -1
  596. package/lib/config/types/content-save.interface.cjs.js +0 -2
  597. package/lib/config/types/content-save.interface.cjs.js.map +0 -1
  598. package/lib/config/types/counter-option.interface.cjs.js +0 -2
  599. package/lib/config/types/counter-option.interface.cjs.js.map +0 -1
  600. package/lib/config/types/editor-toolbar.interface.cjs.js +0 -2
  601. package/lib/config/types/editor-toolbar.interface.cjs.js.map +0 -1
  602. package/lib/config/types/file-operation.interface.cjs.js +0 -2
  603. package/lib/config/types/file-operation.interface.cjs.js.map +0 -1
  604. package/lib/config/types/focus-change.interface.cjs.js +0 -2
  605. package/lib/config/types/focus-change.interface.cjs.js.map +0 -1
  606. package/lib/config/types/fullscreen-module.interface.cjs.js +0 -2
  607. package/lib/config/types/fullscreen-module.interface.cjs.js.map +0 -1
  608. package/lib/config/types/help-panel-item.interface.cjs.js +0 -2
  609. package/lib/config/types/help-panel-item.interface.cjs.js.map +0 -1
  610. package/lib/config/types/help-panel-option.interface.cjs.js +0 -2
  611. package/lib/config/types/help-panel-option.interface.cjs.js.map +0 -1
  612. package/lib/config/types/image-module.interface.cjs.js +0 -2
  613. package/lib/config/types/image-module.interface.cjs.js.map +0 -1
  614. package/lib/config/types/image-upload.interface.cjs.js +0 -2
  615. package/lib/config/types/image-upload.interface.cjs.js.map +0 -1
  616. package/lib/config/types/load-on-demand-module.interface.cjs.js +0 -2
  617. package/lib/config/types/load-on-demand-module.interface.cjs.js.map +0 -1
  618. package/lib/config/types/mention-module.interface.cjs.js +0 -2
  619. package/lib/config/types/mention-module.interface.cjs.js.map +0 -1
  620. package/lib/config/types/paste-change.interface.cjs.js +0 -2
  621. package/lib/config/types/paste-change.interface.cjs.js.map +0 -1
  622. package/lib/config/types/quick-menu-module.interface.cjs.js +0 -2
  623. package/lib/config/types/quick-menu-module.interface.cjs.js.map +0 -1
  624. package/lib/config/types/range.interface.cjs.js +0 -2
  625. package/lib/config/types/range.interface.cjs.js.map +0 -1
  626. package/lib/config/types/registry-options.interface.cjs.js +0 -2
  627. package/lib/config/types/registry-options.interface.cjs.js.map +0 -1
  628. package/lib/config/types/selection-change.interface.cjs.js +0 -2
  629. package/lib/config/types/selection-change.interface.cjs.js.map +0 -1
  630. package/lib/config/types/toolbar-item.interface.cjs.js +0 -2
  631. package/lib/config/types/toolbar-item.interface.cjs.js.map +0 -1
  632. package/lib/config/types/validate-error.interface.cjs.js +0 -2
  633. package/lib/config/types/validate-error.interface.cjs.js.map +0 -1
  634. package/lib/modules/custom-image/BlotFormatter.cjs.js.map +0 -1
  635. package/lib/modules/custom-image/Options.cjs.js +0 -95
  636. package/lib/modules/custom-image/Options.cjs.js.map +0 -1
  637. package/lib/modules/custom-image/actions/Action.cjs.js +0 -15
  638. package/lib/modules/custom-image/actions/Action.cjs.js.map +0 -1
  639. package/lib/modules/custom-image/actions/CustomResizeAction.cjs.js.map +0 -1
  640. package/lib/modules/custom-image/actions/DeleteAction.cjs.js.map +0 -1
  641. package/lib/modules/custom-image/image-bar.cjs.js +0 -127
  642. package/lib/modules/custom-image/image-bar.cjs.js.map +0 -1
  643. package/lib/modules/custom-image/specs/BlotSpec.cjs.js +0 -27
  644. package/lib/modules/custom-image/specs/BlotSpec.cjs.js.map +0 -1
  645. package/lib/modules/custom-image/specs/CustomImageSpec.cjs.js.map +0 -1
  646. package/lib/modules/custom-image/specs/ImageSpec.cjs.js +0 -29
  647. package/lib/modules/custom-image/specs/ImageSpec.cjs.js.map +0 -1
  648. package/lib/modules/emoji/emoji-list/index.cjs.js +0 -5
  649. package/lib/modules/emoji/emoji-list/people.cjs.js +0 -114
  650. package/lib/modules/emoji/emoji-list/people.cjs.js.map +0 -1
  651. package/lib/modules/emoji/emoji-list.cjs.js +0 -9
  652. package/lib/modules/emoji/emoji-list.cjs.js.map +0 -1
  653. package/lib/modules/emoji/emoji-map.cjs.js +0 -9
  654. package/lib/modules/emoji/emoji-map.cjs.js.map +0 -1
  655. package/lib/modules/emoji/emoji-sprite.cjs.js +0 -5
  656. package/lib/modules/emoji/emoji-sprite.cjs.js.map +0 -1
  657. package/lib/modules/emoji/formats/emoji-blot.cjs.js +0 -41
  658. package/lib/modules/emoji/formats/emoji-blot.cjs.js.map +0 -1
  659. package/lib/modules/emoji/index.cjs.js +0 -8
  660. package/lib/modules/emoji/index.cjs.js.map +0 -1
  661. package/lib/modules/emoji/modules/emoji.cjs.js +0 -248
  662. package/lib/modules/emoji/modules/emoji.cjs.js.map +0 -1
  663. package/lib/modules/emoji/modules/toolbar-emoji.cjs.js +0 -153
  664. package/lib/modules/emoji/modules/toolbar-emoji.cjs.js.map +0 -1
  665. package/lib/modules/emoji/utils.cjs.js +0 -19
  666. package/lib/modules/emoji/utils.cjs.js.map +0 -1
  667. package/lib/modules/mention/Mention.cjs.js.map +0 -1
  668. package/lib/modules/mention/MentionLink.cjs.js.map +0 -1
  669. package/types/config/types/additional-toolbar-item.interface.d.ts +0 -8
  670. package/types/config/types/content-change.interface.d.ts +0 -13
  671. package/types/config/types/content-save.interface.d.ts +0 -6
  672. package/types/config/types/counter-option.interface.d.ts +0 -9
  673. package/types/config/types/editor-toolbar.interface.d.ts +0 -6
  674. package/types/config/types/file-operation.interface.d.ts +0 -12
  675. package/types/config/types/focus-change.interface.d.ts +0 -4
  676. package/types/config/types/fullscreen-module.interface.d.ts +0 -4
  677. package/types/config/types/help-panel-item.interface.d.ts +0 -5
  678. package/types/config/types/help-panel-option.interface.d.ts +0 -7
  679. package/types/config/types/image-module.interface.d.ts +0 -3
  680. package/types/config/types/image-upload.interface.d.ts +0 -7
  681. package/types/config/types/load-on-demand-module.interface.d.ts +0 -5
  682. package/types/config/types/mention-module.interface.d.ts +0 -8
  683. package/types/config/types/paste-change.interface.d.ts +0 -6
  684. package/types/config/types/quick-menu-module.interface.d.ts +0 -3
  685. package/types/config/types/range.interface.d.ts +0 -4
  686. package/types/config/types/registry-options.interface.d.ts +0 -5
  687. package/types/config/types/selection-change.interface.d.ts +0 -8
  688. package/types/config/types/toolbar-item.interface.d.ts +0 -13
  689. package/types/config/types/validate-error.interface.d.ts +0 -13
  690. package/types/modules/custom-image/BlotFormatter.d.ts +0 -29
  691. package/types/modules/custom-image/Options.d.ts +0 -36
  692. package/types/modules/custom-image/actions/Action.d.ts +0 -7
  693. package/types/modules/custom-image/actions/DeleteAction.d.ts +0 -7
  694. package/types/modules/custom-image/image-bar.d.ts +0 -15
  695. package/types/modules/custom-image/specs/BlotSpec.d.ts +0 -13
  696. package/types/modules/custom-image/specs/ImageSpec.d.ts +0 -10
  697. package/types/modules/emoji/emoji-list/index.d.ts +0 -1
  698. package/types/modules/emoji/emoji-list/people.d.ts +0 -1
  699. package/types/modules/emoji/emoji-list.d.ts +0 -2
  700. package/types/modules/emoji/emoji-map.d.ts +0 -2
  701. package/types/modules/emoji/emoji-sprite.d.ts +0 -1
  702. package/types/modules/emoji/formats/emoji-blot.d.ts +0 -13
  703. package/types/modules/emoji/index.d.ts +0 -10
  704. package/types/modules/emoji/modules/emoji.d.ts +0 -38
  705. package/types/modules/emoji/modules/toolbar-emoji.d.ts +0 -8
  706. package/types/modules/emoji/utils.d.ts +0 -1
@@ -1,31 +1,9 @@
1
- import Quill from "quill";
2
- import File from "./formats/file.es.js";
3
- import FileBar from "./modules/file-bar.es.js";
4
- class FileModule {
5
- constructor(quill) {
6
- this.quill = quill;
7
- this.quill = quill;
8
- quill.root.addEventListener("click", (event) => this.clickEvent(event), false);
9
- }
10
- static register() {
11
- Quill.register("formats/file", File, true);
12
- }
13
- clickEvent(event) {
14
- event.preventDefault();
15
- const target = event.target;
16
- const fileDom = target.closest("a.ql-file-item");
17
- if (fileDom) {
18
- if (this.fileBar) {
19
- this.fileBar.destroy();
20
- }
21
- this.fileBar = new FileBar(this.quill, fileDom);
22
- } else if (this.fileBar && !target.closest(".ql-file-bar")) {
23
- this.fileBar.destroy();
24
- this.fileBar = null;
25
- }
26
- }
27
- }
1
+ import { File } from "./formats/file.es.js";
2
+ import { FileBar } from "./modules/file-bar.es.js";
3
+ import { FileModule } from "./modules/file-module.es.js";
28
4
  export {
29
- FileModule as default
5
+ File,
6
+ FileBar,
7
+ FileModule
30
8
  };
31
9
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../../src/modules/file/index.ts"],"sourcesContent":["import type FluentEditor from '../../core/fluent-editor'\r\nimport Quill from 'quill'\r\nimport File from './formats/file'\r\nimport FileBar from './modules/file-bar'\r\n\r\nclass FileModule {\r\n fileBar: FileBar\r\n\r\n static register() {\r\n Quill.register('formats/file', File, true)\r\n }\r\n\r\n constructor(public quill: FluentEditor) {\r\n this.quill = quill\r\n quill.root.addEventListener('click', event => this.clickEvent(event), false)\r\n }\r\n\r\n clickEvent(event: MouseEvent) {\r\n event.preventDefault()\r\n const target = event.target as HTMLElement\r\n const fileDom = target.closest('a.ql-file-item')\r\n if (fileDom) {\r\n if (this.fileBar) {\r\n this.fileBar.destroy()\r\n }\r\n this.fileBar = new FileBar(this.quill, fileDom)\r\n }\r\n else if (this.fileBar && !target.closest('.ql-file-bar')) {\r\n this.fileBar.destroy()\r\n this.fileBar = null\r\n }\r\n }\r\n}\r\n\r\nexport default FileModule\r\n"],"names":[],"mappings":";;;AAKA,MAAM,WAAW;AAAA,EAOf,YAAmB,OAAqB;AAArB,SAAA,QAAA;AACjB,SAAK,QAAQ;AACP,UAAA,KAAK,iBAAiB,SAAS,CAAA,UAAS,KAAK,WAAW,KAAK,GAAG,KAAK;AAAA,EAAA;AAAA,EAN7E,OAAO,WAAW;AACV,UAAA,SAAS,gBAAgB,MAAM,IAAI;AAAA,EAAA;AAAA,EAQ3C,WAAW,OAAmB;AAC5B,UAAM,eAAe;AACrB,UAAM,SAAS,MAAM;AACf,UAAA,UAAU,OAAO,QAAQ,gBAAgB;AAC/C,QAAI,SAAS;AACX,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,QAAQ;AAAA,MAAA;AAEvB,WAAK,UAAU,IAAI,QAAQ,KAAK,OAAO,OAAO;AAAA,IAAA,WAEvC,KAAK,WAAW,CAAC,OAAO,QAAQ,cAAc,GAAG;AACxD,WAAK,QAAQ,QAAQ;AACrB,WAAK,UAAU;AAAA,IAAA;AAAA,EACjB;AAEJ;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,10 +1,18 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
1
4
  import Quill from "quill";
2
5
  import { Range } from "quill/core/selection";
3
6
  import { unshiftString } from "../../../utils/method.es.js";
4
- import File from "../formats/file.es.js";
5
- const Delta = Quill.imports.delta;
7
+ import { File } from "../formats/file.es.js";
8
+ const Delta = Quill.import("delta");
6
9
  class FileBar {
7
10
  constructor(quill, target) {
11
+ __publicField(this, "quill");
12
+ __publicField(this, "file");
13
+ __publicField(this, "domNode");
14
+ __publicField(this, "fileRange");
15
+ __publicField(this, "template");
8
16
  this.quill = quill;
9
17
  this.file = target;
10
18
  const fileBlot = Quill.find(target);
@@ -120,6 +128,6 @@ class FileBar {
120
128
  }
121
129
  }
122
130
  export {
123
- FileBar as default
131
+ FileBar
124
132
  };
125
133
  //# sourceMappingURL=file-bar.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-bar.es.js","sources":["../../../../../src/modules/file/modules/file-bar.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport { Range } from 'quill/core/selection'\r\nimport { unshiftString } from '../../../utils/method'\r\nimport File from '../formats/file'\r\n\r\nconst Delta = Quill.imports.delta\r\n\r\nexport default class FileBar {\r\n quill: any\r\n file: any\r\n domNode: HTMLElement\r\n fileRange: any\r\n template: string\r\n\r\n constructor(quill, target) {\r\n this.quill = quill\r\n this.file = target\r\n const fileBlot = Quill.find(target)\r\n const index = this.quill.getIndex(fileBlot)\r\n const [fileItem, offset] = this.quill.scroll.descendant(File, index)\r\n const length = fileItem && fileItem.length()\r\n this.fileRange = new Range(index - offset, length)\r\n\r\n const timestamp = Number(this.file.dataset.lastModified)\r\n const _lastModifiedDate = this.formatDate(timestamp)\r\n this.template = [\r\n // `<a class=\"ql-last-modified-date\" href=\"${this.file.href}\" target=\"_blank\">${this.file.href}</a>`,\r\n // '<span class=\"ql-split\"></span>',\r\n // `<a class=\"ql-file-preview\"><i class=\"icon-preview\"></i></a>`,\r\n `<a class=\"ql-file-download\"><i class=\"icon-download\"></i></a>`,\r\n '<a class=\"ql-file-delete\"><i class=\"icon-delete\"></i></a>',\r\n ].join('')\r\n\r\n this.createFileBar()\r\n }\r\n\r\n createFileBar() {\r\n this.domNode = document.createElement('div')\r\n this.domNode.className = 'ql-file-bar'\r\n this.domNode.innerHTML = this.template\r\n // 查看文件\r\n const filePreview = this.domNode.querySelector('a.ql-file-preview')\r\n if (filePreview) {\r\n filePreview.addEventListener('click', (event) => {\r\n this.operateFile(event, 'view')\r\n })\r\n }\r\n // 下载文件\r\n const fileDownload = this.domNode.querySelector('a.ql-file-download')\r\n if (fileDownload) {\r\n fileDownload.addEventListener('click', (event) => {\r\n this.operateFile(event, 'download')\r\n })\r\n }\r\n // 删除文件\r\n const fileDelete = this.domNode.querySelector('a.ql-file-delete')\r\n if (fileDelete) {\r\n fileDelete.addEventListener('click', (event) => {\r\n this.operateFile(event, 'delete')\r\n const delta = new Delta()\r\n .retain(this.fileRange.index)\r\n .delete(this.fileRange.length)\r\n this.quill.updateContents(delta, Quill.sources.USER)\r\n this.quill.setSelection(this.fileRange.index)\r\n })\r\n }\r\n\r\n this.setPosition()\r\n this.quill.root.parentNode.appendChild(this.domNode)\r\n }\r\n\r\n destroy() {\r\n if (this.domNode) {\r\n this.domNode.remove()\r\n this.domNode = null\r\n this.file = null\r\n }\r\n }\r\n\r\n operateFile(event, operate) {\r\n event.preventDefault()\r\n const fileId = this.file.dataset.id || ''\r\n const fileName = this.file.dataset.title || ''\r\n const fileDownloadUrl = this.file.href || ''\r\n if (fileId) {\r\n this.quill.emitter.emit('file-change', {\r\n operation: operate,\r\n data: { fileId, fileDownloadUrl },\r\n })\r\n }\r\n if (operate === 'download') {\r\n const a = document.createElement('a')\r\n a.href = fileDownloadUrl\r\n a.target = '_blank'\r\n a.id = 'exppub'\r\n a.download = fileName\r\n document.body.appendChild(a)\r\n const alink = document.getElementById('exppub')\r\n alink.click()\r\n alink.parentNode.removeChild(a)\r\n }\r\n this.destroy()\r\n }\r\n\r\n setPosition() {\r\n if (this.domNode && this.file) {\r\n const parent = this.quill.root.parentNode\r\n const child = this.file.querySelector('span')\r\n const containerRect = parent.getBoundingClientRect()\r\n const fileRect = child.getBoundingClientRect()\r\n this.css(this.domNode, {\r\n left: `${fileRect.left - containerRect.left}px`,\r\n top: `${fileRect.top - containerRect.top + 10}px`,\r\n })\r\n }\r\n }\r\n\r\n css(domNode, rules) {\r\n if (typeof rules === 'object') {\r\n for (const prop in rules) {\r\n if (prop) {\r\n if (Array.isArray(rules[prop])) {\r\n // 兼容IE11浏览器\r\n rules[prop].forEach((val) => {\r\n domNode.style[prop] = val\r\n })\r\n }\r\n else {\r\n domNode.style[prop] = rules[prop]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n formatDate(timestamp) {\r\n const date = new Date(timestamp)\r\n const year = date.getFullYear()\r\n // TODO\r\n const month = unshiftString(`${date.getMonth() + 1}`, 2, '0')\r\n const day = unshiftString(`${date.getDate()}`, 2, '0')\r\n const hour = unshiftString(`${date.getHours()}`, 2, '0')\r\n const minute = unshiftString(`${date.getMinutes()}`, 2, '0')\r\n return Number.isNaN(year) ? '--' : `${year}/${month}/${day} ${hour}:${minute}`\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-bar.es.js","sources":["../../../../../src/modules/file/modules/file-bar.ts"],"sourcesContent":["import Quill from 'quill'\nimport { Range } from 'quill/core/selection'\nimport { unshiftString } from '../../../utils/method'\nimport { File } from '../formats/file'\n\nconst Delta = Quill.import('delta')\n\nexport class FileBar {\n quill: any\n file: any\n domNode: HTMLElement\n fileRange: any\n template: string\n\n constructor(quill, target) {\n this.quill = quill\n this.file = target\n const fileBlot = Quill.find(target)\n const index = this.quill.getIndex(fileBlot)\n const [fileItem, offset] = this.quill.scroll.descendant(File, index)\n const length = fileItem && fileItem.length()\n this.fileRange = new Range(index - offset, length)\n\n const timestamp = Number(this.file.dataset.lastModified)\n const _lastModifiedDate = this.formatDate(timestamp)\n this.template = [\n // `<a class=\"ql-last-modified-date\" href=\"${this.file.href}\" target=\"_blank\">${this.file.href}</a>`,\n // '<span class=\"ql-split\"></span>',\n // `<a class=\"ql-file-preview\"><i class=\"icon-preview\"></i></a>`,\n `<a class=\"ql-file-download\"><i class=\"icon-download\"></i></a>`,\n '<a class=\"ql-file-delete\"><i class=\"icon-delete\"></i></a>',\n ].join('')\n\n this.createFileBar()\n }\n\n createFileBar() {\n this.domNode = document.createElement('div')\n this.domNode.className = 'ql-file-bar'\n this.domNode.innerHTML = this.template\n // 查看文件\n const filePreview = this.domNode.querySelector('a.ql-file-preview')\n if (filePreview) {\n filePreview.addEventListener('click', (event) => {\n this.operateFile(event, 'view')\n })\n }\n // 下载文件\n const fileDownload = this.domNode.querySelector('a.ql-file-download')\n if (fileDownload) {\n fileDownload.addEventListener('click', (event) => {\n this.operateFile(event, 'download')\n })\n }\n // 删除文件\n const fileDelete = this.domNode.querySelector('a.ql-file-delete')\n if (fileDelete) {\n fileDelete.addEventListener('click', (event) => {\n this.operateFile(event, 'delete')\n const delta = new Delta()\n .retain(this.fileRange.index)\n .delete(this.fileRange.length)\n this.quill.updateContents(delta, Quill.sources.USER)\n this.quill.setSelection(this.fileRange.index)\n })\n }\n\n this.setPosition()\n this.quill.root.parentNode.appendChild(this.domNode)\n }\n\n destroy() {\n if (this.domNode) {\n this.domNode.remove()\n this.domNode = null\n this.file = null\n }\n }\n\n operateFile(event, operate) {\n event.preventDefault()\n const fileId = this.file.dataset.id || ''\n const fileName = this.file.dataset.title || ''\n const fileDownloadUrl = this.file.href || ''\n if (fileId) {\n this.quill.emitter.emit('file-change', {\n operation: operate,\n data: { fileId, fileDownloadUrl },\n })\n }\n if (operate === 'download') {\n const a = document.createElement('a')\n a.href = fileDownloadUrl\n a.target = '_blank'\n a.id = 'exppub'\n a.download = fileName\n document.body.appendChild(a)\n const alink = document.getElementById('exppub')\n alink.click()\n alink.parentNode.removeChild(a)\n }\n this.destroy()\n }\n\n setPosition() {\n if (this.domNode && this.file) {\n const parent = this.quill.root.parentNode\n const child = this.file.querySelector('span')\n const containerRect = parent.getBoundingClientRect()\n const fileRect = child.getBoundingClientRect()\n this.css(this.domNode, {\n left: `${fileRect.left - containerRect.left}px`,\n top: `${fileRect.top - containerRect.top + 10}px`,\n })\n }\n }\n\n css(domNode, rules) {\n if (typeof rules === 'object') {\n for (const prop in rules) {\n if (prop) {\n if (Array.isArray(rules[prop])) {\n // 兼容IE11浏览器\n rules[prop].forEach((val) => {\n domNode.style[prop] = val\n })\n }\n else {\n domNode.style[prop] = rules[prop]\n }\n }\n }\n }\n }\n\n formatDate(timestamp) {\n const date = new Date(timestamp)\n const year = date.getFullYear()\n // TODO\n const month = unshiftString(`${date.getMonth() + 1}`, 2, '0')\n const day = unshiftString(`${date.getDate()}`, 2, '0')\n const hour = unshiftString(`${date.getHours()}`, 2, '0')\n const minute = unshiftString(`${date.getMinutes()}`, 2, '0')\n return Number.isNaN(year) ? '--' : `${year}/${month}/${day} ${hour}:${minute}`\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import Quill from "quill";
5
+ import { File } from "../formats/file.es.js";
6
+ import { FileBar } from "./file-bar.es.js";
7
+ class FileModule {
8
+ constructor(quill) {
9
+ __publicField(this, "fileBar");
10
+ this.quill = quill;
11
+ this.quill = quill;
12
+ quill.root.addEventListener("click", (event) => this.clickEvent(event), false);
13
+ }
14
+ static register() {
15
+ Quill.register("formats/file", File, true);
16
+ }
17
+ clickEvent(event) {
18
+ event.preventDefault();
19
+ const target = event.target;
20
+ const fileDom = target.closest("a.ql-file-item");
21
+ if (fileDom) {
22
+ if (this.fileBar) {
23
+ this.fileBar.destroy();
24
+ }
25
+ this.fileBar = new FileBar(this.quill, fileDom);
26
+ } else if (this.fileBar && !target.closest(".ql-file-bar")) {
27
+ this.fileBar.destroy();
28
+ this.fileBar = null;
29
+ }
30
+ }
31
+ }
32
+ export {
33
+ FileModule
34
+ };
35
+ //# sourceMappingURL=file-module.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-module.es.js","sources":["../../../../../src/modules/file/modules/file-module.ts"],"sourcesContent":["import type FluentEditor from '../../../core/fluent-editor'\nimport Quill from 'quill'\nimport { File } from '../formats/file'\nimport { FileBar } from './file-bar'\n\nexport class FileModule {\n fileBar: FileBar\n\n static register() {\n Quill.register('formats/file', File, true)\n }\n\n constructor(public quill: FluentEditor) {\n this.quill = quill\n quill.root.addEventListener('click', event => this.clickEvent(event), false)\n }\n\n clickEvent(event: MouseEvent) {\n event.preventDefault()\n const target = event.target as HTMLElement\n const fileDom = target.closest('a.ql-file-item')\n if (fileDom) {\n if (this.fileBar) {\n this.fileBar.destroy()\n }\n this.fileBar = new FileBar(this.quill, fileDom)\n }\n else if (this.fileBar && !target.closest('.ql-file-bar')) {\n this.fileBar.destroy()\n this.fileBar = null\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,WAAW;AAAA,EAOtB,YAAmB,OAAqB;AANxC;AAMmB,SAAA,QAAA;AACjB,SAAK,QAAQ;AACb,UAAM,KAAK,iBAAiB,SAAS,CAAA,UAAS,KAAK,WAAW,KAAK,GAAG,KAAK;AAAA,EAC7E;AAAA,EAPA,OAAO,WAAW;AAChB,UAAM,SAAS,gBAAgB,MAAM,IAAI;AAAA,EAC3C;AAAA,EAOA,WAAW,OAAmB;AAC5B,UAAM,eAAA;AACN,UAAM,SAAS,MAAM;AACrB,UAAM,UAAU,OAAO,QAAQ,gBAAgB;AAC/C,QAAI,SAAS;AACX,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,QAAA;AAAA,MACf;AACA,WAAK,UAAU,IAAI,QAAQ,KAAK,OAAO,OAAO;AAAA,IAChD,WACS,KAAK,WAAW,CAAC,OAAO,QAAQ,cAAc,GAAG;AACxD,WAAK,QAAQ,QAAA;AACb,WAAK,UAAU;AAAA,IACjB;AAAA,EACF;AACF;"}
@@ -0,0 +1,102 @@
1
+ function getGridConfig(quill) {
2
+ var _a, _b, _c;
3
+ const defaultGrid = {
4
+ size: 20,
5
+ visible: true,
6
+ type: "dot",
7
+ config: {
8
+ color: "#ababab",
9
+ thickness: 1
10
+ }
11
+ };
12
+ const flowChartModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"];
13
+ if (!flowChartModule || typeof flowChartModule !== "object") {
14
+ return defaultGrid;
15
+ }
16
+ if ("grid" in flowChartModule) {
17
+ const grid = flowChartModule.grid;
18
+ if (grid === false || grid === void 0) {
19
+ return null;
20
+ }
21
+ if (typeof grid === "object" && grid !== null) {
22
+ const typedGrid = grid;
23
+ const gridConfig = {
24
+ size: typedGrid.size || defaultGrid.size,
25
+ visible: typedGrid.visible !== void 0 ? typedGrid.visible : defaultGrid.visible,
26
+ type: typedGrid.type || defaultGrid.type,
27
+ config: {
28
+ color: ((_b = typedGrid.config) == null ? void 0 : _b.color) || defaultGrid.config.color,
29
+ thickness: ((_c = typedGrid.config) == null ? void 0 : _c.thickness) || defaultGrid.config.thickness
30
+ }
31
+ };
32
+ return gridConfig;
33
+ }
34
+ }
35
+ return defaultGrid;
36
+ }
37
+ function getBackgroundConfig(quill) {
38
+ var _a;
39
+ const flowChartModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"];
40
+ if (!flowChartModule || typeof flowChartModule !== "object") {
41
+ return false;
42
+ }
43
+ if ("background" in flowChartModule) {
44
+ const background = flowChartModule.background;
45
+ if (background === false || background === void 0) {
46
+ return false;
47
+ }
48
+ if (typeof background === "object" && background !== null) {
49
+ const typedBackground = background;
50
+ const backgroundConfig = {};
51
+ if (typedBackground.color) {
52
+ backgroundConfig.backgroundColor = typedBackground.color;
53
+ }
54
+ if (typedBackground.image) {
55
+ backgroundConfig.backgroundImage = typedBackground.image;
56
+ }
57
+ if (typedBackground.repeat) {
58
+ backgroundConfig.backgroundRepeat = typedBackground.repeat;
59
+ }
60
+ if (typedBackground.position) {
61
+ backgroundConfig.backgroundPosition = typedBackground.position;
62
+ }
63
+ if (typedBackground.size) {
64
+ backgroundConfig.backgroundSize = typedBackground.size;
65
+ }
66
+ if (typedBackground.opacity) {
67
+ backgroundConfig.opacity = typedBackground.opacity;
68
+ }
69
+ return backgroundConfig;
70
+ }
71
+ }
72
+ return false;
73
+ }
74
+ function getResizeConfig(quill) {
75
+ var _a;
76
+ const flowChartModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"];
77
+ if (!flowChartModule || typeof flowChartModule !== "object") {
78
+ return false;
79
+ }
80
+ if ("resize" in flowChartModule) {
81
+ const resize = flowChartModule.resize;
82
+ return resize === true;
83
+ }
84
+ return false;
85
+ }
86
+ function getAllConfigs(quill) {
87
+ var _a, _b;
88
+ const deps = (_b = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"]) == null ? void 0 : _b.deps;
89
+ return {
90
+ gridConfig: getGridConfig(quill),
91
+ backgroundConfig: getBackgroundConfig(quill),
92
+ resizeConfig: getResizeConfig(quill),
93
+ deps
94
+ };
95
+ }
96
+ export {
97
+ getAllConfigs,
98
+ getBackgroundConfig,
99
+ getGridConfig,
100
+ getResizeConfig
101
+ };
102
+ //# sourceMappingURL=config-utils.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-utils.es.js","sources":["../../../../src/modules/flow-chart/config-utils.ts"],"sourcesContent":["import type Quill from 'quill'\nimport type { BackgroundConfig, GridOptions } from './options'\n\nexport function getGridConfig(quill: Quill | null): any {\n const defaultGrid = {\n size: 20,\n visible: true,\n type: 'dot',\n config: {\n color: '#ababab',\n thickness: 1,\n },\n }\n\n const flowChartModule = quill?.options.modules?.['flow-chart']\n if (!flowChartModule || typeof flowChartModule !== 'object') {\n return defaultGrid\n }\n\n if ('grid' in flowChartModule) {\n const grid = flowChartModule.grid as GridOptions | boolean | undefined\n if (grid === false || grid === undefined) {\n return null\n }\n\n if (typeof grid === 'object' && grid !== null) {\n const typedGrid = grid as GridOptions\n const gridConfig = {\n size: typedGrid.size || defaultGrid.size,\n visible: typedGrid.visible !== undefined ? typedGrid.visible : defaultGrid.visible,\n type: typedGrid.type || defaultGrid.type,\n config: {\n color: typedGrid.config?.color || defaultGrid.config.color,\n thickness: typedGrid.config?.thickness || defaultGrid.config.thickness,\n },\n }\n\n return gridConfig\n }\n }\n\n return defaultGrid\n}\n\nexport function getBackgroundConfig(quill: Quill | null): false | object {\n const flowChartModule = quill?.options.modules?.['flow-chart']\n if (!flowChartModule || typeof flowChartModule !== 'object') {\n return false\n }\n if ('background' in flowChartModule) {\n const background = flowChartModule.background as BackgroundConfig | boolean | undefined\n\n if (background === false || background === undefined) {\n return false\n }\n if (typeof background === 'object' && background !== null) {\n const typedBackground = background as BackgroundConfig\n const backgroundConfig: any = {}\n\n if (typedBackground.color) {\n backgroundConfig.backgroundColor = typedBackground.color\n }\n if (typedBackground.image) {\n backgroundConfig.backgroundImage = typedBackground.image\n }\n if (typedBackground.repeat) {\n backgroundConfig.backgroundRepeat = typedBackground.repeat\n }\n if (typedBackground.position) {\n backgroundConfig.backgroundPosition = typedBackground.position\n }\n if (typedBackground.size) {\n backgroundConfig.backgroundSize = typedBackground.size\n }\n if (typedBackground.opacity) {\n backgroundConfig.opacity = typedBackground.opacity\n }\n return backgroundConfig\n }\n }\n return false\n}\n\nexport function getResizeConfig(quill: Quill | null): boolean {\n const flowChartModule = quill?.options.modules?.['flow-chart']\n if (!flowChartModule || typeof flowChartModule !== 'object') {\n return false\n }\n if ('resize' in flowChartModule) {\n const resize = (flowChartModule as any).resize as boolean | undefined\n return resize === true\n }\n return false\n}\n\nexport function getAllConfigs(quill: Quill | null): {\n gridConfig: any\n backgroundConfig: false | object\n resizeConfig: boolean\n deps?: any\n} {\n const deps = (quill?.options.modules?.['flow-chart'] as any)?.deps\n return {\n gridConfig: getGridConfig(quill),\n backgroundConfig: getBackgroundConfig(quill),\n resizeConfig: getResizeConfig(quill),\n deps,\n }\n}\n"],"names":[],"mappings":"AAGO,SAAS,cAAc,OAA0B;AAAjD;AACL,QAAM,cAAc;AAAA,IAClB,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,IAAA;AAAA,EACb;AAGF,QAAM,mBAAkB,oCAAO,QAAQ,YAAf,mBAAyB;AACjD,MAAI,CAAC,mBAAmB,OAAO,oBAAoB,UAAU;AAC3D,WAAO;AAAA,EACT;AAEA,MAAI,UAAU,iBAAiB;AAC7B,UAAM,OAAO,gBAAgB;AAC7B,QAAI,SAAS,SAAS,SAAS,QAAW;AACxC,aAAO;AAAA,IACT;AAEA,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,YAAM,YAAY;AAClB,YAAM,aAAa;AAAA,QACjB,MAAM,UAAU,QAAQ,YAAY;AAAA,QACpC,SAAS,UAAU,YAAY,SAAY,UAAU,UAAU,YAAY;AAAA,QAC3E,MAAM,UAAU,QAAQ,YAAY;AAAA,QACpC,QAAQ;AAAA,UACN,SAAO,eAAU,WAAV,mBAAkB,UAAS,YAAY,OAAO;AAAA,UACrD,aAAW,eAAU,WAAV,mBAAkB,cAAa,YAAY,OAAO;AAAA,QAAA;AAAA,MAC/D;AAGF,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,oBAAoB,OAAqC;AAzClE;AA0CL,QAAM,mBAAkB,oCAAO,QAAQ,YAAf,mBAAyB;AACjD,MAAI,CAAC,mBAAmB,OAAO,oBAAoB,UAAU;AAC3D,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,iBAAiB;AACnC,UAAM,aAAa,gBAAgB;AAEnC,QAAI,eAAe,SAAS,eAAe,QAAW;AACpD,aAAO;AAAA,IACT;AACA,QAAI,OAAO,eAAe,YAAY,eAAe,MAAM;AACzD,YAAM,kBAAkB;AACxB,YAAM,mBAAwB,CAAA;AAE9B,UAAI,gBAAgB,OAAO;AACzB,yBAAiB,kBAAkB,gBAAgB;AAAA,MACrD;AACA,UAAI,gBAAgB,OAAO;AACzB,yBAAiB,kBAAkB,gBAAgB;AAAA,MACrD;AACA,UAAI,gBAAgB,QAAQ;AAC1B,yBAAiB,mBAAmB,gBAAgB;AAAA,MACtD;AACA,UAAI,gBAAgB,UAAU;AAC5B,yBAAiB,qBAAqB,gBAAgB;AAAA,MACxD;AACA,UAAI,gBAAgB,MAAM;AACxB,yBAAiB,iBAAiB,gBAAgB;AAAA,MACpD;AACA,UAAI,gBAAgB,SAAS;AAC3B,yBAAiB,UAAU,gBAAgB;AAAA,MAC7C;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,gBAAgB,OAA8B;AAhFvD;AAiFL,QAAM,mBAAkB,oCAAO,QAAQ,YAAf,mBAAyB;AACjD,MAAI,CAAC,mBAAmB,OAAO,oBAAoB,UAAU;AAC3D,WAAO;AAAA,EACT;AACA,MAAI,YAAY,iBAAiB;AAC/B,UAAM,SAAU,gBAAwB;AACxC,WAAO,WAAW;AAAA,EACpB;AACA,SAAO;AACT;AAEO,SAAS,cAAc,OAK5B;AAjGK;AAkGL,QAAM,QAAQ,0CAAO,QAAQ,YAAf,mBAAyB,kBAAzB,mBAAgD;AAC9D,SAAO;AAAA,IACL,YAAY,cAAc,KAAK;AAAA,IAC/B,kBAAkB,oBAAoB,KAAK;AAAA,IAC3C,cAAc,gBAAgB,KAAK;AAAA,IACnC;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,369 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import Quill from "quill";
5
+ import { getAllConfigs } from "../config-utils.es.js";
6
+ import { expandIcon, contractIcon } from "../icons.es.js";
7
+ import { initContextMenu } from "../modules/context-menu.es.js";
8
+ import { createControlPanel } from "../modules/control-panel.es.js";
9
+ import { FlowChartResizeAction } from "../modules/custom-resize-action.es.js";
10
+ /* empty css */
11
+ const BlockEmbed = Quill.import("blots/embed");
12
+ const _FlowChartPlaceholderBlot = class _FlowChartPlaceholderBlot extends BlockEmbed {
13
+ constructor(scroll, domNode) {
14
+ super(scroll, domNode);
15
+ __publicField(this, "quill", null);
16
+ __publicField(this, "flowChart", null);
17
+ __publicField(this, "data");
18
+ __publicField(this, "contextMenu", null);
19
+ __publicField(this, "currentElement", null);
20
+ __publicField(this, "width", 100);
21
+ __publicField(this, "height", 500);
22
+ __publicField(this, "parentObserver", null);
23
+ __publicField(this, "nextPObserver", null);
24
+ const data = _FlowChartPlaceholderBlot.value(domNode);
25
+ this.width = data.width || 100;
26
+ this.height = data.height || 500;
27
+ this.domNode.style.width = `${this.width}${data.width ? "px" : "%"}`;
28
+ this.domNode.style.height = `${this.height}px`;
29
+ this.domNode.style.maxWidth = "100%";
30
+ this.domNode.style.border = "1px solid #e8e8e8";
31
+ this.domNode.setAttribute("contenteditable", "false");
32
+ this.data = _FlowChartPlaceholderBlot.value(this.domNode);
33
+ this.initFlowChart();
34
+ }
35
+ static value(domNode) {
36
+ const dataStr = JSON.parse(domNode.getAttribute("data-flow-chart"));
37
+ const value = dataStr.root ? dataStr.root : dataStr;
38
+ if (domNode.hasAttribute("width")) {
39
+ value.width = Number.parseInt(domNode.getAttribute("width"), 10);
40
+ }
41
+ if (domNode.hasAttribute("height")) {
42
+ value.height = Number.parseInt(domNode.getAttribute("height"), 10);
43
+ }
44
+ return dataStr.root ? dataStr.root : dataStr;
45
+ }
46
+ static create(value) {
47
+ const node = super.create();
48
+ if (value) {
49
+ node.setAttribute("data-flow-chart", JSON.stringify(value));
50
+ }
51
+ if (value.width) {
52
+ node.setAttribute("width", String(value.width));
53
+ node.style.width = `${value.width}%`;
54
+ }
55
+ if (value.height) {
56
+ node.setAttribute("height", String(value.height));
57
+ node.style.height = `${value.height}px`;
58
+ }
59
+ node.setAttribute("contenteditable", "false");
60
+ return node;
61
+ }
62
+ static findQuill(el) {
63
+ let cur = el;
64
+ while (cur) {
65
+ const q = cur.__quillInstance;
66
+ if (q) return q;
67
+ cur = cur.parentElement;
68
+ }
69
+ return null;
70
+ }
71
+ attach() {
72
+ super.attach();
73
+ this.quill = _FlowChartPlaceholderBlot.findQuill(this.domNode);
74
+ }
75
+ initFlowChart() {
76
+ if (this.domNode.isConnected) {
77
+ this.insertFlowChartEditor();
78
+ } else {
79
+ const observer = new MutationObserver(() => {
80
+ if (this.domNode.isConnected) {
81
+ this.insertFlowChartEditor();
82
+ observer.disconnect();
83
+ }
84
+ });
85
+ observer.observe(document.body, { childList: true, subtree: true });
86
+ }
87
+ }
88
+ insertFlowChartEditor() {
89
+ this.domNode.style.width = `${this.width}${this.data.width ? "px" : "%"}`;
90
+ this.domNode.style.height = `${this.height}px`;
91
+ this.updateAlignmentStyle();
92
+ this.observeParentAlignment();
93
+ const { gridConfig, backgroundConfig, resizeConfig, deps } = getAllConfigs(this.quill);
94
+ const { LogicFlow, DndPanel, SelectionSelect, Snapshot } = deps || window;
95
+ this.flowChart = new LogicFlow({
96
+ container: this.domNode,
97
+ stopScrollGraph: true,
98
+ stopZoomGraph: true,
99
+ allowResize: true,
100
+ allowRotate: true,
101
+ editable: true,
102
+ preventDefaultDoubleClick: true,
103
+ preventDefault: true,
104
+ grid: gridConfig,
105
+ background: backgroundConfig,
106
+ plugins: [DndPanel, SelectionSelect, Snapshot]
107
+ });
108
+ this.flowChart.setPatternItems([
109
+ {
110
+ className: "lf-shape-dashed",
111
+ callback: () => {
112
+ this.flowChart.openSelectionSelect();
113
+ this.flowChart.once("selection:selected", () => {
114
+ this.flowChart.closeSelectionSelect();
115
+ });
116
+ }
117
+ },
118
+ {
119
+ type: "rect",
120
+ text: "矩形",
121
+ className: "lf-shape-rect"
122
+ },
123
+ {
124
+ type: "circle",
125
+ text: "圆形",
126
+ className: "lf-shape-circle"
127
+ },
128
+ {
129
+ type: "ellipse",
130
+ text: "椭圆",
131
+ className: "lf-shape-ellipse"
132
+ },
133
+ {
134
+ type: "diamond",
135
+ text: "菱形",
136
+ className: "lf-shape-diamond"
137
+ }
138
+ ]);
139
+ if (resizeConfig) {
140
+ new FlowChartResizeAction(this);
141
+ }
142
+ createControlPanel(this, this.quill);
143
+ initContextMenu(this, this.quill);
144
+ this.observeOwnParentChange();
145
+ this.observeNextPElement();
146
+ this.addMouseHoverEvents();
147
+ this.flowChart.render(this.data);
148
+ this.flowChart.on("graph:updated", () => {
149
+ this.data = this.flowChart.getGraphData();
150
+ this.domNode.setAttribute("data-flow-chart", JSON.stringify(this.data));
151
+ });
152
+ this.flowChart.on("history:change", () => {
153
+ this.data = this.flowChart.getGraphData();
154
+ this.domNode.setAttribute("data-flow-chart", JSON.stringify(this.data));
155
+ });
156
+ this.flowChart.on("node:dbclick", this.handleNodeDblClick.bind(this));
157
+ this.flowChart.on("edge:dbclick", this.handleNodeDblClick.bind(this));
158
+ this.domNode.addEventListener("click", (e) => {
159
+ if (this.quill) {
160
+ const flowChartBlot = Quill.find(this.domNode);
161
+ const index = this.quill.getIndex(flowChartBlot);
162
+ if (index && typeof index === "number") {
163
+ this.quill.setSelection(index + 1, 0);
164
+ }
165
+ }
166
+ });
167
+ }
168
+ addMouseHoverEvents() {
169
+ this.domNode.addEventListener("mouseenter", () => {
170
+ this.showControlPanel();
171
+ });
172
+ this.domNode.addEventListener("mouseleave", () => {
173
+ var _a;
174
+ (_a = this.flowChart) == null ? void 0 : _a.clearSelectElements();
175
+ this.hideControlPanel();
176
+ });
177
+ }
178
+ getControlElements() {
179
+ const leftUpControl = this.domNode.querySelector(".lf-dndpanel");
180
+ const control = this.domNode.querySelector(".ql-flow-chart-control");
181
+ const panelStatusIcon = this.domNode.querySelector('[data-control-type="panel-status"]');
182
+ return { leftUpControl, control, panelStatusIcon };
183
+ }
184
+ showControlPanel() {
185
+ const { leftUpControl, control, panelStatusIcon } = this.getControlElements();
186
+ if (!leftUpControl || !control) return;
187
+ leftUpControl.style.display = "block";
188
+ control.style.display = "flex";
189
+ if (panelStatusIcon) {
190
+ const iconElement = panelStatusIcon.querySelector("i") || panelStatusIcon;
191
+ iconElement.innerHTML = expandIcon;
192
+ }
193
+ }
194
+ hideControlPanel() {
195
+ const { leftUpControl, control, panelStatusIcon } = this.getControlElements();
196
+ if (!leftUpControl || !control) return;
197
+ leftUpControl.style.display = "none";
198
+ control.style.display = "none";
199
+ if (panelStatusIcon) {
200
+ const iconElement = panelStatusIcon.querySelector("i") || panelStatusIcon;
201
+ iconElement.innerHTML = contractIcon;
202
+ }
203
+ }
204
+ observeOwnParentChange() {
205
+ let currentParent = this.domNode.parentElement;
206
+ const observer = new MutationObserver(() => {
207
+ if (this.domNode.parentElement !== currentParent) {
208
+ currentParent = this.domNode.parentElement;
209
+ this.observeParentAlignment();
210
+ }
211
+ });
212
+ observer.observe(document.body, {
213
+ attributes: false,
214
+ childList: true,
215
+ subtree: true
216
+ });
217
+ }
218
+ observeParentAlignment() {
219
+ if (this.parentObserver) {
220
+ this.parentObserver.disconnect();
221
+ }
222
+ const observer = new MutationObserver((mutations) => {
223
+ mutations.forEach((mutation) => {
224
+ if (mutation.attributeName === "class") {
225
+ this.updateAlignmentStyle();
226
+ }
227
+ });
228
+ });
229
+ this.parentObserver = observer;
230
+ const parent = this.domNode.parentElement;
231
+ if (parent) {
232
+ observer.observe(parent, {
233
+ attributes: true,
234
+ attributeFilter: ["class"]
235
+ });
236
+ this.updateAlignmentStyle();
237
+ }
238
+ }
239
+ updateAlignmentStyle() {
240
+ const parent = this.domNode.parentElement;
241
+ if (!parent) return;
242
+ this.domNode.style.margin = "";
243
+ this.domNode.style.display = "block";
244
+ if (parent.classList.contains("ql-align-center")) {
245
+ this.domNode.style.margin = "0 auto";
246
+ } else if (parent.classList.contains("ql-align-right")) {
247
+ this.domNode.style.marginLeft = "auto";
248
+ this.domNode.style.marginRight = "0";
249
+ } else {
250
+ this.domNode.style.marginLeft = "0";
251
+ this.domNode.style.marginRight = "auto";
252
+ }
253
+ }
254
+ observeNextPElement() {
255
+ if (this.nextPObserver) {
256
+ this.nextPObserver.disconnect();
257
+ }
258
+ const parentElement = this.domNode.parentElement;
259
+ if (!parentElement) {
260
+ return;
261
+ }
262
+ const trackedParentElement = parentElement;
263
+ const parentElementId = parentElement.getAttribute("id") || `flow-chart-parent-${Date.now()}`;
264
+ parentElement.setAttribute("id", parentElementId);
265
+ const observer = new MutationObserver(() => {
266
+ if (!document.contains(trackedParentElement)) {
267
+ const elementById = document.getElementById(parentElementId);
268
+ if (!elementById) {
269
+ this.remove();
270
+ observer.disconnect();
271
+ }
272
+ }
273
+ });
274
+ observer.observe(document.body, {
275
+ childList: true,
276
+ subtree: true
277
+ });
278
+ this.nextPObserver = observer;
279
+ }
280
+ // 处理节点双击事件
281
+ handleNodeDblClick(event) {
282
+ const { data, position, e } = event;
283
+ if (data && data.id) {
284
+ this.createEditInput(data, position, e);
285
+ }
286
+ }
287
+ // 创建编辑输入框
288
+ createEditInput(nodeData, position, e) {
289
+ var _a;
290
+ const input = document.createElement("textarea");
291
+ input.className = "ql-flow-chart-edit-input";
292
+ input.value = ((_a = nodeData.text) == null ? void 0 : _a.value) || "";
293
+ const autoResize = () => {
294
+ input.style.height = "auto";
295
+ input.style.height = `${input.scrollHeight}px`;
296
+ };
297
+ Object.assign(input.style, {
298
+ position: "absolute",
299
+ boxSizing: "border-box",
300
+ width: "100px",
301
+ height: "35px",
302
+ padding: "5px",
303
+ lineHeight: "1.2",
304
+ whiteSpace: "pre",
305
+ textAlign: "center",
306
+ background: "#fff",
307
+ border: "1px solid #edefed",
308
+ borderRadius: "3px",
309
+ outline: "none",
310
+ transform: "translate(-50%, -50%)",
311
+ resize: "none",
312
+ zIndex: "1000",
313
+ left: `${e.pageX}px`,
314
+ top: `${e.pageY}px`,
315
+ overflow: "hidden"
316
+ });
317
+ document.body.appendChild(input);
318
+ autoResize();
319
+ input.addEventListener("input", autoResize);
320
+ input.addEventListener("keydown", (e2) => {
321
+ if (e2.key === "Enter" && !e2.shiftKey) {
322
+ this.flowChart.updateText(nodeData.id, input.value);
323
+ autoResize();
324
+ }
325
+ });
326
+ input.focus();
327
+ this.flowChart.on("blank:mousedown", () => {
328
+ this.flowChart.updateText(nodeData.id, input.value);
329
+ input.remove();
330
+ });
331
+ this.flowChart.on("node:click", () => {
332
+ this.flowChart.updateText(nodeData.id, input.value);
333
+ input.remove();
334
+ });
335
+ this.flowChart.on("edge:click", () => {
336
+ this.flowChart.updateText(nodeData.id, input.value);
337
+ input.remove();
338
+ });
339
+ }
340
+ updateText(nodeId, text) {
341
+ this.flowChart.updateNode(nodeId, {
342
+ text: { value: text }
343
+ });
344
+ }
345
+ destroyFlowChart() {
346
+ if (this.flowChart) {
347
+ this.flowChart.destroy();
348
+ this.flowChart = null;
349
+ }
350
+ const editInputs = document.querySelectorAll(".ql-flow-chart-edit-input");
351
+ editInputs.forEach((input) => input.remove());
352
+ if (this.nextPObserver) {
353
+ this.nextPObserver.disconnect();
354
+ this.nextPObserver = null;
355
+ }
356
+ }
357
+ remove() {
358
+ this.destroyFlowChart();
359
+ super.remove();
360
+ }
361
+ };
362
+ __publicField(_FlowChartPlaceholderBlot, "blotName", "flow-chart");
363
+ __publicField(_FlowChartPlaceholderBlot, "tagName", "div");
364
+ __publicField(_FlowChartPlaceholderBlot, "className", "ql-flow-chart-item");
365
+ let FlowChartPlaceholderBlot = _FlowChartPlaceholderBlot;
366
+ export {
367
+ FlowChartPlaceholderBlot as default
368
+ };
369
+ //# sourceMappingURL=flow-chart-blot.es.js.map