@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
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const Quill = require("quill");
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
3
  const file = require("./formats/file.cjs.js");
5
4
  const fileBar = require("./modules/file-bar.cjs.js");
6
- class FileModule {
7
- constructor(quill) {
8
- this.quill = quill;
9
- this.quill = quill;
10
- quill.root.addEventListener("click", (event) => this.clickEvent(event), false);
11
- }
12
- static register() {
13
- Quill.register("formats/file", file.default, true);
14
- }
15
- clickEvent(event) {
16
- event.preventDefault();
17
- const target = event.target;
18
- const fileDom = target.closest("a.ql-file-item");
19
- if (fileDom) {
20
- if (this.fileBar) {
21
- this.fileBar.destroy();
22
- }
23
- this.fileBar = new fileBar.default(this.quill, fileDom);
24
- } else if (this.fileBar && !target.closest(".ql-file-bar")) {
25
- this.fileBar.destroy();
26
- this.fileBar = null;
27
- }
28
- }
29
- }
30
- exports.default = FileModule;
5
+ const fileModule = require("./modules/file-module.cjs.js");
6
+ exports.File = file.File;
7
+ exports.FileBar = fileBar.FileBar;
8
+ exports.FileModule = fileModule.FileModule;
31
9
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.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":["File","FileBar"],"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,gBAAgBA,KAAAA,SAAM,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,IAAIC,QAAAA,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.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,17 +1,25 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
6
  const Quill = require("quill");
4
7
  const selection = require("quill/core/selection");
5
8
  const method = require("../../../utils/method.cjs.js");
6
9
  const file = require("../formats/file.cjs.js");
7
- const Delta = Quill.imports.delta;
10
+ const Delta = Quill.import("delta");
8
11
  class FileBar {
9
12
  constructor(quill, target) {
13
+ __publicField(this, "quill");
14
+ __publicField(this, "file");
15
+ __publicField(this, "domNode");
16
+ __publicField(this, "fileRange");
17
+ __publicField(this, "template");
10
18
  this.quill = quill;
11
19
  this.file = target;
12
20
  const fileBlot = Quill.find(target);
13
21
  const index = this.quill.getIndex(fileBlot);
14
- const [fileItem, offset] = this.quill.scroll.descendant(file.default, index);
22
+ const [fileItem, offset] = this.quill.scroll.descendant(file.File, index);
15
23
  const length = fileItem && fileItem.length();
16
24
  this.fileRange = new selection.Range(index - offset, length);
17
25
  const timestamp = Number(this.file.dataset.lastModified);
@@ -121,5 +129,5 @@ class FileBar {
121
129
  return Number.isNaN(year) ? "--" : `${year}/${month}/${day} ${hour}:${minute}`;
122
130
  }
123
131
  }
124
- exports.default = FileBar;
132
+ exports.FileBar = FileBar;
125
133
  //# sourceMappingURL=file-bar.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-bar.cjs.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":["File","Range","unshiftString"],"mappings":"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"}
1
+ {"version":3,"file":"file-bar.cjs.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":["File","Range","unshiftString"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
+ const Quill = require("quill");
7
+ const file = require("../formats/file.cjs.js");
8
+ const fileBar = require("./file-bar.cjs.js");
9
+ class FileModule {
10
+ constructor(quill) {
11
+ __publicField(this, "fileBar");
12
+ this.quill = quill;
13
+ this.quill = quill;
14
+ quill.root.addEventListener("click", (event) => this.clickEvent(event), false);
15
+ }
16
+ static register() {
17
+ Quill.register("formats/file", file.File, true);
18
+ }
19
+ clickEvent(event) {
20
+ event.preventDefault();
21
+ const target = event.target;
22
+ const fileDom = target.closest("a.ql-file-item");
23
+ if (fileDom) {
24
+ if (this.fileBar) {
25
+ this.fileBar.destroy();
26
+ }
27
+ this.fileBar = new fileBar.FileBar(this.quill, fileDom);
28
+ } else if (this.fileBar && !target.closest(".ql-file-bar")) {
29
+ this.fileBar.destroy();
30
+ this.fileBar = null;
31
+ }
32
+ }
33
+ }
34
+ exports.FileModule = FileModule;
35
+ //# sourceMappingURL=file-module.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-module.cjs.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":["File","FileBar"],"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,gBAAgBA,KAAAA,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,IAAIC,QAAAA,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
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function getGridConfig(quill) {
4
+ var _a, _b, _c;
5
+ const defaultGrid = {
6
+ size: 20,
7
+ visible: true,
8
+ type: "dot",
9
+ config: {
10
+ color: "#ababab",
11
+ thickness: 1
12
+ }
13
+ };
14
+ const flowChartModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"];
15
+ if (!flowChartModule || typeof flowChartModule !== "object") {
16
+ return defaultGrid;
17
+ }
18
+ if ("grid" in flowChartModule) {
19
+ const grid = flowChartModule.grid;
20
+ if (grid === false || grid === void 0) {
21
+ return null;
22
+ }
23
+ if (typeof grid === "object" && grid !== null) {
24
+ const typedGrid = grid;
25
+ const gridConfig = {
26
+ size: typedGrid.size || defaultGrid.size,
27
+ visible: typedGrid.visible !== void 0 ? typedGrid.visible : defaultGrid.visible,
28
+ type: typedGrid.type || defaultGrid.type,
29
+ config: {
30
+ color: ((_b = typedGrid.config) == null ? void 0 : _b.color) || defaultGrid.config.color,
31
+ thickness: ((_c = typedGrid.config) == null ? void 0 : _c.thickness) || defaultGrid.config.thickness
32
+ }
33
+ };
34
+ return gridConfig;
35
+ }
36
+ }
37
+ return defaultGrid;
38
+ }
39
+ function getBackgroundConfig(quill) {
40
+ var _a;
41
+ const flowChartModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"];
42
+ if (!flowChartModule || typeof flowChartModule !== "object") {
43
+ return false;
44
+ }
45
+ if ("background" in flowChartModule) {
46
+ const background = flowChartModule.background;
47
+ if (background === false || background === void 0) {
48
+ return false;
49
+ }
50
+ if (typeof background === "object" && background !== null) {
51
+ const typedBackground = background;
52
+ const backgroundConfig = {};
53
+ if (typedBackground.color) {
54
+ backgroundConfig.backgroundColor = typedBackground.color;
55
+ }
56
+ if (typedBackground.image) {
57
+ backgroundConfig.backgroundImage = typedBackground.image;
58
+ }
59
+ if (typedBackground.repeat) {
60
+ backgroundConfig.backgroundRepeat = typedBackground.repeat;
61
+ }
62
+ if (typedBackground.position) {
63
+ backgroundConfig.backgroundPosition = typedBackground.position;
64
+ }
65
+ if (typedBackground.size) {
66
+ backgroundConfig.backgroundSize = typedBackground.size;
67
+ }
68
+ if (typedBackground.opacity) {
69
+ backgroundConfig.opacity = typedBackground.opacity;
70
+ }
71
+ return backgroundConfig;
72
+ }
73
+ }
74
+ return false;
75
+ }
76
+ function getResizeConfig(quill) {
77
+ var _a;
78
+ const flowChartModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"];
79
+ if (!flowChartModule || typeof flowChartModule !== "object") {
80
+ return false;
81
+ }
82
+ if ("resize" in flowChartModule) {
83
+ const resize = flowChartModule.resize;
84
+ return resize === true;
85
+ }
86
+ return false;
87
+ }
88
+ function getAllConfigs(quill) {
89
+ var _a, _b;
90
+ const deps = (_b = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["flow-chart"]) == null ? void 0 : _b.deps;
91
+ return {
92
+ gridConfig: getGridConfig(quill),
93
+ backgroundConfig: getBackgroundConfig(quill),
94
+ resizeConfig: getResizeConfig(quill),
95
+ deps
96
+ };
97
+ }
98
+ exports.getAllConfigs = getAllConfigs;
99
+ exports.getBackgroundConfig = getBackgroundConfig;
100
+ exports.getGridConfig = getGridConfig;
101
+ exports.getResizeConfig = getResizeConfig;
102
+ //# sourceMappingURL=config-utils.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-utils.cjs.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;;AACtD,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;;AACvE,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;;AAC5D,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;;AACA,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
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
6
+ const Quill = require("quill");
7
+ const configUtils = require("../config-utils.cjs.js");
8
+ const icons = require("../icons.cjs.js");
9
+ const contextMenu = require("../modules/context-menu.cjs.js");
10
+ const controlPanel = require("../modules/control-panel.cjs.js");
11
+ const customResizeAction = require("../modules/custom-resize-action.cjs.js");
12
+ ;/* empty css */
13
+ const BlockEmbed = Quill.import("blots/embed");
14
+ const _FlowChartPlaceholderBlot = class _FlowChartPlaceholderBlot extends BlockEmbed {
15
+ constructor(scroll, domNode) {
16
+ super(scroll, domNode);
17
+ __publicField(this, "quill", null);
18
+ __publicField(this, "flowChart", null);
19
+ __publicField(this, "data");
20
+ __publicField(this, "contextMenu", null);
21
+ __publicField(this, "currentElement", null);
22
+ __publicField(this, "width", 100);
23
+ __publicField(this, "height", 500);
24
+ __publicField(this, "parentObserver", null);
25
+ __publicField(this, "nextPObserver", null);
26
+ const data = _FlowChartPlaceholderBlot.value(domNode);
27
+ this.width = data.width || 100;
28
+ this.height = data.height || 500;
29
+ this.domNode.style.width = `${this.width}${data.width ? "px" : "%"}`;
30
+ this.domNode.style.height = `${this.height}px`;
31
+ this.domNode.style.maxWidth = "100%";
32
+ this.domNode.style.border = "1px solid #e8e8e8";
33
+ this.domNode.setAttribute("contenteditable", "false");
34
+ this.data = _FlowChartPlaceholderBlot.value(this.domNode);
35
+ this.initFlowChart();
36
+ }
37
+ static value(domNode) {
38
+ const dataStr = JSON.parse(domNode.getAttribute("data-flow-chart"));
39
+ const value = dataStr.root ? dataStr.root : dataStr;
40
+ if (domNode.hasAttribute("width")) {
41
+ value.width = Number.parseInt(domNode.getAttribute("width"), 10);
42
+ }
43
+ if (domNode.hasAttribute("height")) {
44
+ value.height = Number.parseInt(domNode.getAttribute("height"), 10);
45
+ }
46
+ return dataStr.root ? dataStr.root : dataStr;
47
+ }
48
+ static create(value) {
49
+ const node = super.create();
50
+ if (value) {
51
+ node.setAttribute("data-flow-chart", JSON.stringify(value));
52
+ }
53
+ if (value.width) {
54
+ node.setAttribute("width", String(value.width));
55
+ node.style.width = `${value.width}%`;
56
+ }
57
+ if (value.height) {
58
+ node.setAttribute("height", String(value.height));
59
+ node.style.height = `${value.height}px`;
60
+ }
61
+ node.setAttribute("contenteditable", "false");
62
+ return node;
63
+ }
64
+ static findQuill(el) {
65
+ let cur = el;
66
+ while (cur) {
67
+ const q = cur.__quillInstance;
68
+ if (q) return q;
69
+ cur = cur.parentElement;
70
+ }
71
+ return null;
72
+ }
73
+ attach() {
74
+ super.attach();
75
+ this.quill = _FlowChartPlaceholderBlot.findQuill(this.domNode);
76
+ }
77
+ initFlowChart() {
78
+ if (this.domNode.isConnected) {
79
+ this.insertFlowChartEditor();
80
+ } else {
81
+ const observer = new MutationObserver(() => {
82
+ if (this.domNode.isConnected) {
83
+ this.insertFlowChartEditor();
84
+ observer.disconnect();
85
+ }
86
+ });
87
+ observer.observe(document.body, { childList: true, subtree: true });
88
+ }
89
+ }
90
+ insertFlowChartEditor() {
91
+ this.domNode.style.width = `${this.width}${this.data.width ? "px" : "%"}`;
92
+ this.domNode.style.height = `${this.height}px`;
93
+ this.updateAlignmentStyle();
94
+ this.observeParentAlignment();
95
+ const { gridConfig, backgroundConfig, resizeConfig, deps } = configUtils.getAllConfigs(this.quill);
96
+ const { LogicFlow, DndPanel, SelectionSelect, Snapshot } = deps || window;
97
+ this.flowChart = new LogicFlow({
98
+ container: this.domNode,
99
+ stopScrollGraph: true,
100
+ stopZoomGraph: true,
101
+ allowResize: true,
102
+ allowRotate: true,
103
+ editable: true,
104
+ preventDefaultDoubleClick: true,
105
+ preventDefault: true,
106
+ grid: gridConfig,
107
+ background: backgroundConfig,
108
+ plugins: [DndPanel, SelectionSelect, Snapshot]
109
+ });
110
+ this.flowChart.setPatternItems([
111
+ {
112
+ className: "lf-shape-dashed",
113
+ callback: () => {
114
+ this.flowChart.openSelectionSelect();
115
+ this.flowChart.once("selection:selected", () => {
116
+ this.flowChart.closeSelectionSelect();
117
+ });
118
+ }
119
+ },
120
+ {
121
+ type: "rect",
122
+ text: "矩形",
123
+ className: "lf-shape-rect"
124
+ },
125
+ {
126
+ type: "circle",
127
+ text: "圆形",
128
+ className: "lf-shape-circle"
129
+ },
130
+ {
131
+ type: "ellipse",
132
+ text: "椭圆",
133
+ className: "lf-shape-ellipse"
134
+ },
135
+ {
136
+ type: "diamond",
137
+ text: "菱形",
138
+ className: "lf-shape-diamond"
139
+ }
140
+ ]);
141
+ if (resizeConfig) {
142
+ new customResizeAction.FlowChartResizeAction(this);
143
+ }
144
+ controlPanel.createControlPanel(this, this.quill);
145
+ contextMenu.initContextMenu(this, this.quill);
146
+ this.observeOwnParentChange();
147
+ this.observeNextPElement();
148
+ this.addMouseHoverEvents();
149
+ this.flowChart.render(this.data);
150
+ this.flowChart.on("graph:updated", () => {
151
+ this.data = this.flowChart.getGraphData();
152
+ this.domNode.setAttribute("data-flow-chart", JSON.stringify(this.data));
153
+ });
154
+ this.flowChart.on("history:change", () => {
155
+ this.data = this.flowChart.getGraphData();
156
+ this.domNode.setAttribute("data-flow-chart", JSON.stringify(this.data));
157
+ });
158
+ this.flowChart.on("node:dbclick", this.handleNodeDblClick.bind(this));
159
+ this.flowChart.on("edge:dbclick", this.handleNodeDblClick.bind(this));
160
+ this.domNode.addEventListener("click", (e) => {
161
+ if (this.quill) {
162
+ const flowChartBlot = Quill.find(this.domNode);
163
+ const index = this.quill.getIndex(flowChartBlot);
164
+ if (index && typeof index === "number") {
165
+ this.quill.setSelection(index + 1, 0);
166
+ }
167
+ }
168
+ });
169
+ }
170
+ addMouseHoverEvents() {
171
+ this.domNode.addEventListener("mouseenter", () => {
172
+ this.showControlPanel();
173
+ });
174
+ this.domNode.addEventListener("mouseleave", () => {
175
+ var _a;
176
+ (_a = this.flowChart) == null ? void 0 : _a.clearSelectElements();
177
+ this.hideControlPanel();
178
+ });
179
+ }
180
+ getControlElements() {
181
+ const leftUpControl = this.domNode.querySelector(".lf-dndpanel");
182
+ const control = this.domNode.querySelector(".ql-flow-chart-control");
183
+ const panelStatusIcon = this.domNode.querySelector('[data-control-type="panel-status"]');
184
+ return { leftUpControl, control, panelStatusIcon };
185
+ }
186
+ showControlPanel() {
187
+ const { leftUpControl, control, panelStatusIcon } = this.getControlElements();
188
+ if (!leftUpControl || !control) return;
189
+ leftUpControl.style.display = "block";
190
+ control.style.display = "flex";
191
+ if (panelStatusIcon) {
192
+ const iconElement = panelStatusIcon.querySelector("i") || panelStatusIcon;
193
+ iconElement.innerHTML = icons.expandIcon;
194
+ }
195
+ }
196
+ hideControlPanel() {
197
+ const { leftUpControl, control, panelStatusIcon } = this.getControlElements();
198
+ if (!leftUpControl || !control) return;
199
+ leftUpControl.style.display = "none";
200
+ control.style.display = "none";
201
+ if (panelStatusIcon) {
202
+ const iconElement = panelStatusIcon.querySelector("i") || panelStatusIcon;
203
+ iconElement.innerHTML = icons.contractIcon;
204
+ }
205
+ }
206
+ observeOwnParentChange() {
207
+ let currentParent = this.domNode.parentElement;
208
+ const observer = new MutationObserver(() => {
209
+ if (this.domNode.parentElement !== currentParent) {
210
+ currentParent = this.domNode.parentElement;
211
+ this.observeParentAlignment();
212
+ }
213
+ });
214
+ observer.observe(document.body, {
215
+ attributes: false,
216
+ childList: true,
217
+ subtree: true
218
+ });
219
+ }
220
+ observeParentAlignment() {
221
+ if (this.parentObserver) {
222
+ this.parentObserver.disconnect();
223
+ }
224
+ const observer = new MutationObserver((mutations) => {
225
+ mutations.forEach((mutation) => {
226
+ if (mutation.attributeName === "class") {
227
+ this.updateAlignmentStyle();
228
+ }
229
+ });
230
+ });
231
+ this.parentObserver = observer;
232
+ const parent = this.domNode.parentElement;
233
+ if (parent) {
234
+ observer.observe(parent, {
235
+ attributes: true,
236
+ attributeFilter: ["class"]
237
+ });
238
+ this.updateAlignmentStyle();
239
+ }
240
+ }
241
+ updateAlignmentStyle() {
242
+ const parent = this.domNode.parentElement;
243
+ if (!parent) return;
244
+ this.domNode.style.margin = "";
245
+ this.domNode.style.display = "block";
246
+ if (parent.classList.contains("ql-align-center")) {
247
+ this.domNode.style.margin = "0 auto";
248
+ } else if (parent.classList.contains("ql-align-right")) {
249
+ this.domNode.style.marginLeft = "auto";
250
+ this.domNode.style.marginRight = "0";
251
+ } else {
252
+ this.domNode.style.marginLeft = "0";
253
+ this.domNode.style.marginRight = "auto";
254
+ }
255
+ }
256
+ observeNextPElement() {
257
+ if (this.nextPObserver) {
258
+ this.nextPObserver.disconnect();
259
+ }
260
+ const parentElement = this.domNode.parentElement;
261
+ if (!parentElement) {
262
+ return;
263
+ }
264
+ const trackedParentElement = parentElement;
265
+ const parentElementId = parentElement.getAttribute("id") || `flow-chart-parent-${Date.now()}`;
266
+ parentElement.setAttribute("id", parentElementId);
267
+ const observer = new MutationObserver(() => {
268
+ if (!document.contains(trackedParentElement)) {
269
+ const elementById = document.getElementById(parentElementId);
270
+ if (!elementById) {
271
+ this.remove();
272
+ observer.disconnect();
273
+ }
274
+ }
275
+ });
276
+ observer.observe(document.body, {
277
+ childList: true,
278
+ subtree: true
279
+ });
280
+ this.nextPObserver = observer;
281
+ }
282
+ // 处理节点双击事件
283
+ handleNodeDblClick(event) {
284
+ const { data, position, e } = event;
285
+ if (data && data.id) {
286
+ this.createEditInput(data, position, e);
287
+ }
288
+ }
289
+ // 创建编辑输入框
290
+ createEditInput(nodeData, position, e) {
291
+ var _a;
292
+ const input = document.createElement("textarea");
293
+ input.className = "ql-flow-chart-edit-input";
294
+ input.value = ((_a = nodeData.text) == null ? void 0 : _a.value) || "";
295
+ const autoResize = () => {
296
+ input.style.height = "auto";
297
+ input.style.height = `${input.scrollHeight}px`;
298
+ };
299
+ Object.assign(input.style, {
300
+ position: "absolute",
301
+ boxSizing: "border-box",
302
+ width: "100px",
303
+ height: "35px",
304
+ padding: "5px",
305
+ lineHeight: "1.2",
306
+ whiteSpace: "pre",
307
+ textAlign: "center",
308
+ background: "#fff",
309
+ border: "1px solid #edefed",
310
+ borderRadius: "3px",
311
+ outline: "none",
312
+ transform: "translate(-50%, -50%)",
313
+ resize: "none",
314
+ zIndex: "1000",
315
+ left: `${e.pageX}px`,
316
+ top: `${e.pageY}px`,
317
+ overflow: "hidden"
318
+ });
319
+ document.body.appendChild(input);
320
+ autoResize();
321
+ input.addEventListener("input", autoResize);
322
+ input.addEventListener("keydown", (e2) => {
323
+ if (e2.key === "Enter" && !e2.shiftKey) {
324
+ this.flowChart.updateText(nodeData.id, input.value);
325
+ autoResize();
326
+ }
327
+ });
328
+ input.focus();
329
+ this.flowChart.on("blank:mousedown", () => {
330
+ this.flowChart.updateText(nodeData.id, input.value);
331
+ input.remove();
332
+ });
333
+ this.flowChart.on("node:click", () => {
334
+ this.flowChart.updateText(nodeData.id, input.value);
335
+ input.remove();
336
+ });
337
+ this.flowChart.on("edge:click", () => {
338
+ this.flowChart.updateText(nodeData.id, input.value);
339
+ input.remove();
340
+ });
341
+ }
342
+ updateText(nodeId, text) {
343
+ this.flowChart.updateNode(nodeId, {
344
+ text: { value: text }
345
+ });
346
+ }
347
+ destroyFlowChart() {
348
+ if (this.flowChart) {
349
+ this.flowChart.destroy();
350
+ this.flowChart = null;
351
+ }
352
+ const editInputs = document.querySelectorAll(".ql-flow-chart-edit-input");
353
+ editInputs.forEach((input) => input.remove());
354
+ if (this.nextPObserver) {
355
+ this.nextPObserver.disconnect();
356
+ this.nextPObserver = null;
357
+ }
358
+ }
359
+ remove() {
360
+ this.destroyFlowChart();
361
+ super.remove();
362
+ }
363
+ };
364
+ __publicField(_FlowChartPlaceholderBlot, "blotName", "flow-chart");
365
+ __publicField(_FlowChartPlaceholderBlot, "tagName", "div");
366
+ __publicField(_FlowChartPlaceholderBlot, "className", "ql-flow-chart-item");
367
+ let FlowChartPlaceholderBlot = _FlowChartPlaceholderBlot;
368
+ exports.default = FlowChartPlaceholderBlot;
369
+ //# sourceMappingURL=flow-chart-blot.cjs.js.map