@opentiny/fluent-editor 4.0.0-alpha.8 → 4.0.0-alpha.9

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 (720) hide show
  1. package/{dist/README.md → README.md} +88 -88
  2. package/es/attributors/line-height.es.js.map +1 -0
  3. package/es/config/base64-image.es.js.map +1 -0
  4. package/es/config/editor.config.es.js.map +1 -0
  5. package/es/config/editor.utils.es.js.map +1 -0
  6. package/es/config/i18n/en-us.es.js.map +1 -0
  7. package/es/config/i18n/zh-cn.es.js.map +1 -0
  8. package/es/config/index.es.js.map +1 -0
  9. package/es/core/fluent-editor.es.js.map +1 -0
  10. package/es/fluent-editor.es.js.map +1 -0
  11. package/es/formats/emoji.es.js.map +1 -0
  12. package/es/formats/soft-break.es.js.map +1 -0
  13. package/es/formats/strike.es.js.map +1 -0
  14. package/es/formats/video.es.js.map +1 -0
  15. package/es/modules/ai/constants.es.js.map +1 -0
  16. package/es/modules/ai/icons.es.js.map +1 -0
  17. package/es/modules/ai/index.es.js.map +1 -0
  18. package/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
  19. package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
  20. package/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
  21. package/es/modules/collaborative-editing/module.es.js.map +1 -0
  22. package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
  23. package/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
  24. package/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
  25. package/es/modules/counter.es.js.map +1 -0
  26. package/es/modules/custom-clipboard.es.js.map +1 -0
  27. package/es/modules/custom-image/actions/action.es.js.map +1 -0
  28. package/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
  29. package/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
  30. package/es/modules/custom-image/blot-formatter.es.js.map +1 -0
  31. package/es/modules/custom-image/image.es.js.map +1 -0
  32. package/es/modules/custom-image/options.es.js.map +1 -0
  33. package/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
  34. package/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
  35. package/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
  36. package/es/modules/divider.es.js.map +1 -0
  37. package/es/modules/emoji.es.js.map +1 -0
  38. package/es/modules/file/formats/file.es.js.map +1 -0
  39. package/es/modules/file/modules/file-bar.es.js.map +1 -0
  40. package/es/modules/file/modules/file-module.es.js.map +1 -0
  41. package/es/modules/link/formats/link.es.js.map +1 -0
  42. package/es/modules/link/modules/tooltip.es.js.map +1 -0
  43. package/es/modules/mathlive/formats.es.js.map +1 -0
  44. package/es/modules/mathlive/tooltip.es.js.map +1 -0
  45. package/es/modules/mention/constants.es.js.map +1 -0
  46. package/es/modules/mention/mention-link.es.js.map +1 -0
  47. package/es/modules/mention/mention.es.js.map +1 -0
  48. package/es/modules/syntax.es.js.map +1 -0
  49. package/es/modules/toolbar/better-picker.es.js.map +1 -0
  50. package/es/themes/snow.es.js.map +1 -0
  51. package/es/tools/screenshot.es.js.map +1 -0
  52. package/es/ui/icons.config.es.js.map +1 -0
  53. package/es/ui/icons.es.js.map +1 -0
  54. package/es/utils/debounce.es.js.map +1 -0
  55. package/es/utils/method.es.js.map +1 -0
  56. package/lib/attributors/line-height.cjs.js.map +1 -0
  57. package/lib/config/base64-image.cjs.js.map +1 -0
  58. package/lib/config/editor.config.cjs.js.map +1 -0
  59. package/lib/config/editor.utils.cjs.js.map +1 -0
  60. package/lib/config/i18n/en-us.cjs.js.map +1 -0
  61. package/lib/config/i18n/zh-cn.cjs.js.map +1 -0
  62. package/lib/config/index.cjs.js.map +1 -0
  63. package/lib/core/fluent-editor.cjs.js.map +1 -0
  64. package/lib/fluent-editor.cjs.js.map +1 -0
  65. package/lib/formats/emoji.cjs.js.map +1 -0
  66. package/lib/formats/soft-break.cjs.js.map +1 -0
  67. package/lib/formats/strike.cjs.js.map +1 -0
  68. package/lib/formats/video.cjs.js.map +1 -0
  69. package/lib/modules/ai/constants.cjs.js.map +1 -0
  70. package/lib/modules/ai/icons.cjs.js.map +1 -0
  71. package/lib/modules/ai/index.cjs.js.map +1 -0
  72. package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
  73. package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
  74. package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
  75. package/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
  76. package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
  77. package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
  78. package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
  79. package/lib/modules/counter.cjs.js.map +1 -0
  80. package/lib/modules/custom-clipboard.cjs.js.map +1 -0
  81. package/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
  82. package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
  83. package/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
  84. package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
  85. package/lib/modules/custom-image/image.cjs.js.map +1 -0
  86. package/lib/modules/custom-image/options.cjs.js.map +1 -0
  87. package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
  88. package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
  89. package/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
  90. package/lib/modules/divider.cjs.js.map +1 -0
  91. package/lib/modules/emoji.cjs.js.map +1 -0
  92. package/lib/modules/file/formats/file.cjs.js.map +1 -0
  93. package/lib/modules/file/modules/file-bar.cjs.js.map +1 -0
  94. package/lib/modules/file/modules/file-module.cjs.js.map +1 -0
  95. package/lib/modules/link/formats/link.cjs.js.map +1 -0
  96. package/lib/modules/link/modules/tooltip.cjs.js.map +1 -0
  97. package/lib/modules/mathlive/formats.cjs.js.map +1 -0
  98. package/lib/modules/mathlive/tooltip.cjs.js.map +1 -0
  99. package/lib/modules/mention/constants.cjs.js.map +1 -0
  100. package/lib/modules/mention/mention-link.cjs.js.map +1 -0
  101. package/lib/modules/mention/mention.cjs.js.map +1 -0
  102. package/lib/modules/syntax.cjs.js.map +1 -0
  103. package/lib/modules/toolbar/better-picker.cjs.js.map +1 -0
  104. package/lib/themes/snow.cjs.js.map +1 -0
  105. package/lib/tools/screenshot.cjs.js.map +1 -0
  106. package/lib/ui/icons.cjs.js.map +1 -0
  107. package/lib/ui/icons.config.cjs.js.map +1 -0
  108. package/lib/utils/debounce.cjs.js.map +1 -0
  109. package/lib/utils/method.cjs.js.map +1 -0
  110. package/package.json +67 -67
  111. package/{dist/types → types}/attributors/font-size.d.ts +1 -1
  112. package/{dist/types → types}/attributors/font-style.d.ts +1 -1
  113. package/{dist/types → types}/attributors/index.d.ts +4 -4
  114. package/{dist/types → types}/attributors/line-height.d.ts +1 -1
  115. package/{dist/types → types}/attributors/text-indent.d.ts +1 -1
  116. package/{dist/types → types}/config/base64-image.d.ts +2 -2
  117. package/{dist/types → types}/config/editor.config.d.ts +11 -11
  118. package/{dist/types → types}/config/editor.utils.d.ts +40 -40
  119. package/{dist/types → types}/config/i18n/en-us.d.ts +123 -123
  120. package/{dist/types → types}/config/i18n/zh-cn.d.ts +123 -123
  121. package/{dist/types → types}/config/index.d.ts +7 -7
  122. package/{dist/types → types}/config/types/editor-config.interface.d.ts +12 -11
  123. package/{dist/types → types}/config/types/editor-modules.interface.d.ts +37 -36
  124. package/{dist/types → types}/config/types/index.d.ts +3 -3
  125. package/{dist/types → types}/config/types/type.d.ts +2 -2
  126. package/{dist/types → types}/core/fluent-editor.d.ts +11 -10
  127. package/{dist/types → types}/fluent-editor.d.ts +2 -1
  128. package/{dist/types → types}/formats/emoji.d.ts +8 -7
  129. package/{dist/types → types}/formats/index.d.ts +4 -4
  130. package/{dist/types → types}/formats/soft-break.d.ts +12 -11
  131. package/{dist/types → types}/formats/strike.d.ts +8 -7
  132. package/{dist/types → types}/formats/video.d.ts +13 -12
  133. package/{dist/types → types}/index.d.ts +8 -7
  134. package/{dist/types → types}/modules/ai/constants.d.ts +30 -30
  135. package/{dist/types → types}/modules/ai/icons.d.ts +21 -21
  136. package/{dist/types → types}/modules/ai/index.d.ts +94 -93
  137. package/{dist/types → types}/modules/ai/types.d.ts +16 -16
  138. package/{dist/types → types}/modules/collaborative-editing/awareness/awareness.d.ts +26 -25
  139. package/{dist/types → types}/modules/collaborative-editing/awareness/index.d.ts +2 -2
  140. package/{dist/types → types}/modules/collaborative-editing/awareness/y-indexeddb.d.ts +2 -1
  141. package/{dist/types → types}/modules/collaborative-editing/collaborative-editing.d.ts +20 -19
  142. package/{dist/types → types}/modules/collaborative-editing/index.d.ts +2 -2
  143. package/{dist/types → types}/modules/collaborative-editing/module.d.ts +11 -10
  144. package/{dist/types → types}/modules/collaborative-editing/provider/index.d.ts +3 -3
  145. package/{dist/types → types}/modules/collaborative-editing/provider/providerRegistry.d.ts +24 -23
  146. package/{dist/types → types}/modules/collaborative-editing/provider/webrtc.d.ts +33 -32
  147. package/{dist/types → types}/modules/collaborative-editing/provider/websocket.d.ts +37 -36
  148. package/{dist/types → types}/modules/collaborative-editing/types.d.ts +35 -35
  149. package/{dist/types → types}/modules/counter.d.ts +22 -21
  150. package/{dist/types → types}/modules/custom-clipboard.d.ts +24 -23
  151. package/{dist/types → types}/modules/custom-image/actions/action.d.ts +8 -7
  152. package/{dist/types → types}/modules/custom-image/actions/custom-resize-action.d.ts +23 -22
  153. package/{dist/types → types}/modules/custom-image/actions/delete-action.d.ts +6 -5
  154. package/{dist/types → types}/modules/custom-image/actions/image-toolbar-buttons.d.ts +16 -15
  155. package/{dist/types → types}/modules/custom-image/actions/index.d.ts +6 -6
  156. package/{dist/types → types}/modules/custom-image/actions/toolbar-action.d.ts +8 -7
  157. package/{dist/types → types}/modules/custom-image/actions/toolbar.d.ts +17 -16
  158. package/{dist/types → types}/modules/custom-image/blot-formatter.d.ts +20 -19
  159. package/{dist/types → types}/modules/custom-image/image.d.ts +27 -26
  160. package/{dist/types → types}/modules/custom-image/index.d.ts +4 -4
  161. package/{dist/types → types}/modules/custom-image/options.d.ts +46 -45
  162. package/{dist/types → types}/modules/custom-image/specs/blot-spec.d.ts +11 -10
  163. package/{dist/types → types}/modules/custom-image/specs/custom-image-spec.d.ts +16 -15
  164. package/{dist/types → types}/modules/custom-image/specs/image-spec.d.ts +8 -7
  165. package/{dist/types → types}/modules/custom-image/specs/index.d.ts +3 -3
  166. package/{dist/types → types}/modules/custom-uploader.d.ts +38 -37
  167. package/{dist/types → types}/modules/divider.d.ts +8 -7
  168. package/{dist/types → types}/modules/emoji.d.ts +36 -35
  169. package/{dist/types → types}/modules/file/formats/file.d.ts +18 -17
  170. package/{dist/types → types}/modules/file/index.d.ts +3 -3
  171. package/{dist/types → types}/modules/file/modules/file-bar.d.ts +14 -14
  172. package/{dist/types → types}/modules/file/modules/file-module.d.ts +8 -7
  173. package/{dist/types → types}/modules/i18n.d.ts +14 -13
  174. package/{dist/types → types}/modules/index.d.ts +16 -16
  175. package/{dist/types → types}/modules/link/formats/link.d.ts +15 -14
  176. package/{dist/types → types}/modules/link/index.d.ts +2 -2
  177. package/{dist/types → types}/modules/link/modules/tooltip.d.ts +26 -25
  178. package/{dist/types → types}/modules/mathlive/formats.d.ts +21 -20
  179. package/{dist/types → types}/modules/mathlive/index.d.ts +3 -3
  180. package/{dist/types → types}/modules/mathlive/module.d.ts +8 -7
  181. package/{dist/types → types}/modules/mathlive/tooltip.d.ts +15 -14
  182. package/{dist/types → types}/modules/mention/constants.d.ts +3 -3
  183. package/{dist/types → types}/modules/mention/index.d.ts +2 -2
  184. package/{dist/types → types}/modules/mention/mention-link.d.ts +15 -14
  185. package/{dist/types → types}/modules/mention/mention.d.ts +53 -52
  186. package/{dist/types → types}/modules/shortcut-key/index.d.ts +68 -67
  187. package/{dist/types → types}/modules/syntax.d.ts +13 -12
  188. package/{dist/types → types}/modules/table-up/index.d.ts +33 -32
  189. package/{dist/types → types}/modules/toolbar/better-picker.d.ts +14 -13
  190. package/{dist/types → types}/modules/toolbar/better-toolbar.d.ts +7 -6
  191. package/{dist/types → types}/modules/toolbar/index.d.ts +3 -3
  192. package/{dist/types → types}/modules/toolbar/toolbar-tip.d.ts +8 -7
  193. package/{dist/types → types}/themes/snow.d.ts +10 -9
  194. package/{dist/types → types}/tools/format-painter.d.ts +13 -12
  195. package/{dist/types → types}/tools/fullscreen.d.ts +5 -4
  196. package/{dist/types → types}/tools/screenshot.d.ts +18 -17
  197. package/{dist/types → types}/ui/icons.config.d.ts +38 -38
  198. package/{dist/types → types}/ui/icons.d.ts +6 -6
  199. package/{dist/types → types}/utils/debounce.d.ts +6 -6
  200. package/{dist/types → types}/utils/image.d.ts +1 -1
  201. package/{dist/types → types}/utils/is.d.ts +6 -6
  202. package/{dist/types → types}/utils/method.d.ts +6 -6
  203. package/{dist/types → types}/utils/scroll-lock.d.ts +6 -6
  204. package/LICENSE +0 -21
  205. package/dist/es/attributors/line-height.es.js.map +0 -1
  206. package/dist/es/config/base64-image.es.js.map +0 -1
  207. package/dist/es/config/editor.config.es.js.map +0 -1
  208. package/dist/es/config/editor.utils.es.js.map +0 -1
  209. package/dist/es/config/i18n/en-us.es.js.map +0 -1
  210. package/dist/es/config/i18n/zh-cn.es.js.map +0 -1
  211. package/dist/es/config/index.es.js.map +0 -1
  212. package/dist/es/core/fluent-editor.es.js.map +0 -1
  213. package/dist/es/fluent-editor.es.js.map +0 -1
  214. package/dist/es/formats/emoji.es.js.map +0 -1
  215. package/dist/es/formats/soft-break.es.js.map +0 -1
  216. package/dist/es/formats/strike.es.js.map +0 -1
  217. package/dist/es/formats/video.es.js.map +0 -1
  218. package/dist/es/modules/ai/constants.es.js.map +0 -1
  219. package/dist/es/modules/ai/icons.es.js.map +0 -1
  220. package/dist/es/modules/ai/index.es.js.map +0 -1
  221. package/dist/es/modules/collaborative-editing/awareness/awareness.es.js.map +0 -1
  222. package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +0 -1
  223. package/dist/es/modules/collaborative-editing/collaborative-editing.es.js.map +0 -1
  224. package/dist/es/modules/collaborative-editing/module.es.js.map +0 -1
  225. package/dist/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +0 -1
  226. package/dist/es/modules/collaborative-editing/provider/webrtc.es.js.map +0 -1
  227. package/dist/es/modules/collaborative-editing/provider/websocket.es.js.map +0 -1
  228. package/dist/es/modules/counter.es.js.map +0 -1
  229. package/dist/es/modules/custom-clipboard.es.js.map +0 -1
  230. package/dist/es/modules/custom-image/actions/action.es.js.map +0 -1
  231. package/dist/es/modules/custom-image/actions/custom-resize-action.es.js.map +0 -1
  232. package/dist/es/modules/custom-image/actions/delete-action.es.js.map +0 -1
  233. package/dist/es/modules/custom-image/blot-formatter.es.js.map +0 -1
  234. package/dist/es/modules/custom-image/image.es.js.map +0 -1
  235. package/dist/es/modules/custom-image/options.es.js.map +0 -1
  236. package/dist/es/modules/custom-image/specs/blot-spec.es.js.map +0 -1
  237. package/dist/es/modules/custom-image/specs/custom-image-spec.es.js.map +0 -1
  238. package/dist/es/modules/custom-image/specs/image-spec.es.js.map +0 -1
  239. package/dist/es/modules/divider.es.js.map +0 -1
  240. package/dist/es/modules/emoji.es.js.map +0 -1
  241. package/dist/es/modules/file/formats/file.es.js.map +0 -1
  242. package/dist/es/modules/file/modules/file-bar.es.js.map +0 -1
  243. package/dist/es/modules/file/modules/file-module.es.js.map +0 -1
  244. package/dist/es/modules/link/formats/link.es.js.map +0 -1
  245. package/dist/es/modules/link/modules/tooltip.es.js.map +0 -1
  246. package/dist/es/modules/mathlive/formats.es.js.map +0 -1
  247. package/dist/es/modules/mathlive/tooltip.es.js.map +0 -1
  248. package/dist/es/modules/mention/constants.es.js.map +0 -1
  249. package/dist/es/modules/mention/mention-link.es.js.map +0 -1
  250. package/dist/es/modules/mention/mention.es.js.map +0 -1
  251. package/dist/es/modules/syntax.es.js.map +0 -1
  252. package/dist/es/modules/toolbar/better-picker.es.js.map +0 -1
  253. package/dist/es/themes/snow.es.js.map +0 -1
  254. package/dist/es/tools/screenshot.es.js.map +0 -1
  255. package/dist/es/ui/icons.config.es.js.map +0 -1
  256. package/dist/es/ui/icons.es.js.map +0 -1
  257. package/dist/es/utils/debounce.es.js.map +0 -1
  258. package/dist/es/utils/method.es.js.map +0 -1
  259. package/dist/lib/attributors/line-height.cjs.js.map +0 -1
  260. package/dist/lib/config/base64-image.cjs.js.map +0 -1
  261. package/dist/lib/config/editor.config.cjs.js.map +0 -1
  262. package/dist/lib/config/editor.utils.cjs.js.map +0 -1
  263. package/dist/lib/config/i18n/en-us.cjs.js.map +0 -1
  264. package/dist/lib/config/i18n/zh-cn.cjs.js.map +0 -1
  265. package/dist/lib/config/index.cjs.js.map +0 -1
  266. package/dist/lib/core/fluent-editor.cjs.js.map +0 -1
  267. package/dist/lib/fluent-editor.cjs.js.map +0 -1
  268. package/dist/lib/formats/emoji.cjs.js.map +0 -1
  269. package/dist/lib/formats/soft-break.cjs.js.map +0 -1
  270. package/dist/lib/formats/strike.cjs.js.map +0 -1
  271. package/dist/lib/formats/video.cjs.js.map +0 -1
  272. package/dist/lib/modules/ai/constants.cjs.js.map +0 -1
  273. package/dist/lib/modules/ai/icons.cjs.js.map +0 -1
  274. package/dist/lib/modules/ai/index.cjs.js.map +0 -1
  275. package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +0 -1
  276. package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +0 -1
  277. package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +0 -1
  278. package/dist/lib/modules/collaborative-editing/module.cjs.js.map +0 -1
  279. package/dist/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +0 -1
  280. package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +0 -1
  281. package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +0 -1
  282. package/dist/lib/modules/counter.cjs.js.map +0 -1
  283. package/dist/lib/modules/custom-clipboard.cjs.js.map +0 -1
  284. package/dist/lib/modules/custom-image/actions/action.cjs.js.map +0 -1
  285. package/dist/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +0 -1
  286. package/dist/lib/modules/custom-image/actions/delete-action.cjs.js.map +0 -1
  287. package/dist/lib/modules/custom-image/blot-formatter.cjs.js.map +0 -1
  288. package/dist/lib/modules/custom-image/image.cjs.js.map +0 -1
  289. package/dist/lib/modules/custom-image/options.cjs.js.map +0 -1
  290. package/dist/lib/modules/custom-image/specs/blot-spec.cjs.js.map +0 -1
  291. package/dist/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +0 -1
  292. package/dist/lib/modules/custom-image/specs/image-spec.cjs.js.map +0 -1
  293. package/dist/lib/modules/divider.cjs.js.map +0 -1
  294. package/dist/lib/modules/emoji.cjs.js.map +0 -1
  295. package/dist/lib/modules/file/formats/file.cjs.js.map +0 -1
  296. package/dist/lib/modules/file/modules/file-bar.cjs.js.map +0 -1
  297. package/dist/lib/modules/file/modules/file-module.cjs.js.map +0 -1
  298. package/dist/lib/modules/link/formats/link.cjs.js.map +0 -1
  299. package/dist/lib/modules/link/modules/tooltip.cjs.js.map +0 -1
  300. package/dist/lib/modules/mathlive/formats.cjs.js.map +0 -1
  301. package/dist/lib/modules/mathlive/tooltip.cjs.js.map +0 -1
  302. package/dist/lib/modules/mention/constants.cjs.js.map +0 -1
  303. package/dist/lib/modules/mention/mention-link.cjs.js.map +0 -1
  304. package/dist/lib/modules/mention/mention.cjs.js.map +0 -1
  305. package/dist/lib/modules/syntax.cjs.js.map +0 -1
  306. package/dist/lib/modules/toolbar/better-picker.cjs.js.map +0 -1
  307. package/dist/lib/themes/snow.cjs.js.map +0 -1
  308. package/dist/lib/tools/screenshot.cjs.js.map +0 -1
  309. package/dist/lib/ui/icons.cjs.js.map +0 -1
  310. package/dist/lib/ui/icons.config.cjs.js.map +0 -1
  311. package/dist/lib/utils/debounce.cjs.js.map +0 -1
  312. package/dist/lib/utils/method.cjs.js.map +0 -1
  313. package/dist/package.json +0 -67
  314. package/scripts/pre-release.cjs +0 -35
  315. package/src/assets/ai.scss +0 -451
  316. package/src/assets/common/config.scss +0 -4
  317. package/src/assets/common.scss +0 -132
  318. package/src/assets/counter.scss +0 -16
  319. package/src/assets/custom-image.scss +0 -19
  320. package/src/assets/editor.scss +0 -351
  321. package/src/assets/fileBar.scss +0 -107
  322. package/src/assets/font.scss +0 -18
  323. package/src/assets/fullscreen.scss +0 -50
  324. package/src/assets/iconfont/iconfont.ttf +0 -0
  325. package/src/assets/iconfont/iconfont.woff +0 -0
  326. package/src/assets/iconfont/iconfont.woff2 +0 -0
  327. package/src/assets/imageBar.scss +0 -98
  328. package/src/assets/lineHeight.scss +0 -15
  329. package/src/assets/link.scss +0 -120
  330. package/src/assets/mathlive.scss +0 -40
  331. package/src/assets/mention.scss +0 -48
  332. package/src/assets/screenshot.scss +0 -78
  333. package/src/assets/size.scss +0 -11
  334. package/src/assets/style.scss +0 -46
  335. package/src/assets/svgs/align-center.svg +0 -41
  336. package/src/assets/svgs/align-justify.svg +0 -8
  337. package/src/assets/svgs/arrow-down.svg +0 -6
  338. package/src/assets/svgs/background-color.svg +0 -7
  339. package/src/assets/svgs/clean.svg +0 -8
  340. package/src/assets/svgs/code-block.svg +0 -5
  341. package/src/assets/svgs/code.svg +0 -25
  342. package/src/assets/svgs/color.svg +0 -7
  343. package/src/assets/svgs/direction-ltr.svg +0 -8
  344. package/src/assets/svgs/direction-rtl.svg +0 -8
  345. package/src/assets/svgs/divider.svg +0 -4
  346. package/src/assets/svgs/emoji.svg +0 -53
  347. package/src/assets/svgs/file.svg +0 -12
  348. package/src/assets/svgs/format-painter.svg +0 -10
  349. package/src/assets/svgs/formula.svg +0 -6
  350. package/src/assets/svgs/fullscreen.svg +0 -43
  351. package/src/assets/svgs/image.svg +0 -17
  352. package/src/assets/svgs/italic.svg +0 -6
  353. package/src/assets/svgs/link.svg +0 -9
  354. package/src/assets/svgs/list-bullet.svg +0 -16
  355. package/src/assets/svgs/list-ordered.svg +0 -18
  356. package/src/assets/svgs/list-task.svg +0 -5
  357. package/src/assets/svgs/redo.svg +0 -8
  358. package/src/assets/svgs/screenshot.svg +0 -17
  359. package/src/assets/svgs/script-sub.svg +0 -15
  360. package/src/assets/svgs/script-super.svg +0 -15
  361. package/src/assets/svgs/strike.svg +0 -6
  362. package/src/assets/svgs/underline.svg +0 -13
  363. package/src/assets/svgs/undo.svg +0 -8
  364. package/src/assets/svgs/video.svg +0 -10
  365. package/src/assets/tasklist.scss +0 -76
  366. package/src/assets/toolbar.scss +0 -385
  367. package/src/assets/variable.scss +0 -9
  368. package/src/assets/video.scss +0 -5
  369. package/src/attributors/font-size.ts +0 -6
  370. package/src/attributors/font-style.ts +0 -6
  371. package/src/attributors/index.ts +0 -4
  372. package/src/attributors/line-height.ts +0 -6
  373. package/src/attributors/text-indent.ts +0 -6
  374. package/src/config/base64-image.ts +0 -5
  375. package/src/config/editor.config.ts +0 -86
  376. package/src/config/editor.utils.ts +0 -193
  377. package/src/config/i18n/en-us.ts +0 -138
  378. package/src/config/i18n/zh-cn.ts +0 -137
  379. package/src/config/index.ts +0 -44
  380. package/src/config/types/editor-config.interface.ts +0 -16
  381. package/src/config/types/editor-modules.interface.ts +0 -47
  382. package/src/config/types/index.ts +0 -3
  383. package/src/config/types/type.ts +0 -2
  384. package/src/core/fluent-editor.ts +0 -31
  385. package/src/fluent-editor.ts +0 -72
  386. package/src/formats/emoji.ts +0 -10
  387. package/src/formats/index.ts +0 -4
  388. package/src/formats/soft-break.ts +0 -27
  389. package/src/formats/strike.ts +0 -11
  390. package/src/formats/video.ts +0 -53
  391. package/src/index.ts +0 -9
  392. package/src/modules/ai/constants.ts +0 -43
  393. package/src/modules/ai/icons.ts +0 -333
  394. package/src/modules/ai/index.ts +0 -850
  395. package/src/modules/ai/types.ts +0 -18
  396. package/src/modules/collaborative-editing/awareness/awareness.ts +0 -141
  397. package/src/modules/collaborative-editing/awareness/index.ts +0 -2
  398. package/src/modules/collaborative-editing/awareness/y-indexeddb.ts +0 -12
  399. package/src/modules/collaborative-editing/collaborative-editing.ts +0 -115
  400. package/src/modules/collaborative-editing/index.ts +0 -2
  401. package/src/modules/collaborative-editing/module.ts +0 -32
  402. package/src/modules/collaborative-editing/provider/index.ts +0 -3
  403. package/src/modules/collaborative-editing/provider/providerRegistry.ts +0 -57
  404. package/src/modules/collaborative-editing/provider/webrtc.ts +0 -125
  405. package/src/modules/collaborative-editing/provider/websocket.ts +0 -142
  406. package/src/modules/collaborative-editing/types.ts +0 -44
  407. package/src/modules/counter.ts +0 -84
  408. package/src/modules/custom-clipboard.ts +0 -537
  409. package/src/modules/custom-image/actions/action.ts +0 -15
  410. package/src/modules/custom-image/actions/custom-resize-action.ts +0 -207
  411. package/src/modules/custom-image/actions/delete-action.ts +0 -32
  412. package/src/modules/custom-image/actions/image-toolbar-buttons.ts +0 -135
  413. package/src/modules/custom-image/actions/index.ts +0 -6
  414. package/src/modules/custom-image/actions/toolbar-action.ts +0 -32
  415. package/src/modules/custom-image/actions/toolbar.ts +0 -145
  416. package/src/modules/custom-image/blot-formatter.ts +0 -158
  417. package/src/modules/custom-image/image.ts +0 -132
  418. package/src/modules/custom-image/index.ts +0 -4
  419. package/src/modules/custom-image/options.ts +0 -139
  420. package/src/modules/custom-image/specs/blot-spec.ts +0 -30
  421. package/src/modules/custom-image/specs/custom-image-spec.ts +0 -131
  422. package/src/modules/custom-image/specs/image-spec.ts +0 -28
  423. package/src/modules/custom-image/specs/index.ts +0 -3
  424. package/src/modules/custom-uploader.ts +0 -101
  425. package/src/modules/divider.ts +0 -15
  426. package/src/modules/emoji.ts +0 -230
  427. package/src/modules/file/formats/file.ts +0 -61
  428. package/src/modules/file/index.ts +0 -3
  429. package/src/modules/file/modules/file-bar.ts +0 -146
  430. package/src/modules/file/modules/file-module.ts +0 -33
  431. package/src/modules/i18n.ts +0 -66
  432. package/src/modules/index.ts +0 -16
  433. package/src/modules/link/formats/link.ts +0 -43
  434. package/src/modules/link/index.ts +0 -2
  435. package/src/modules/link/modules/tooltip.ts +0 -341
  436. package/src/modules/mathlive/formats.ts +0 -39
  437. package/src/modules/mathlive/index.ts +0 -3
  438. package/src/modules/mathlive/module.ts +0 -37
  439. package/src/modules/mathlive/tooltip.ts +0 -87
  440. package/src/modules/mention/constants.ts +0 -3
  441. package/src/modules/mention/index.ts +0 -2
  442. package/src/modules/mention/mention-link.ts +0 -64
  443. package/src/modules/mention/mention.ts +0 -404
  444. package/src/modules/shortcut-key/index.ts +0 -237
  445. package/src/modules/syntax.ts +0 -35
  446. package/src/modules/table-up/index.ts +0 -83
  447. package/src/modules/toolbar/better-picker.ts +0 -67
  448. package/src/modules/toolbar/better-toolbar.ts +0 -176
  449. package/src/modules/toolbar/index.ts +0 -3
  450. package/src/modules/toolbar/toolbar-tip.ts +0 -142
  451. package/src/themes/snow.ts +0 -309
  452. package/src/tools/format-painter.ts +0 -85
  453. package/src/tools/fullscreen.ts +0 -66
  454. package/src/tools/screenshot.ts +0 -231
  455. package/src/ui/icons.config.ts +0 -361
  456. package/src/ui/icons.ts +0 -89
  457. package/src/utils/debounce.ts +0 -150
  458. package/src/utils/image.ts +0 -22
  459. package/src/utils/is.ts +0 -9
  460. package/src/utils/method.ts +0 -77
  461. package/src/utils/scroll-lock.ts +0 -52
  462. package/tsconfig.json +0 -25
  463. package/vite.config.ts +0 -83
  464. /package/{dist/es → es}/attributors/font-size.es.js +0 -0
  465. /package/{dist/es → es}/attributors/font-size.es.js.map +0 -0
  466. /package/{dist/es → es}/attributors/font-style.es.js +0 -0
  467. /package/{dist/es → es}/attributors/font-style.es.js.map +0 -0
  468. /package/{dist/es → es}/attributors/index.es.js +0 -0
  469. /package/{dist/es → es}/attributors/index.es.js.map +0 -0
  470. /package/{dist/es → es}/attributors/line-height.es.js +0 -0
  471. /package/{dist/es → es}/attributors/text-indent.es.js +0 -0
  472. /package/{dist/es → es}/attributors/text-indent.es.js.map +0 -0
  473. /package/{dist/es → es}/config/base64-image.es.js +0 -0
  474. /package/{dist/es → es}/config/editor.config.es.js +0 -0
  475. /package/{dist/es → es}/config/editor.utils.es.js +0 -0
  476. /package/{dist/es → es}/config/i18n/en-us.es.js +0 -0
  477. /package/{dist/es → es}/config/i18n/zh-cn.es.js +0 -0
  478. /package/{dist/es → es}/config/index.es.js +0 -0
  479. /package/{dist/es → es}/config/types/editor-config.interface.es.js +0 -0
  480. /package/{dist/es → es}/config/types/editor-config.interface.es.js.map +0 -0
  481. /package/{dist/es → es}/config/types/editor-modules.interface.es.js +0 -0
  482. /package/{dist/es → es}/config/types/editor-modules.interface.es.js.map +0 -0
  483. /package/{dist/es → es}/config/types/index.es.js +0 -0
  484. /package/{dist/es → es}/config/types/index.es.js.map +0 -0
  485. /package/{dist/es → es}/config/types/type.es.js +0 -0
  486. /package/{dist/es → es}/config/types/type.es.js.map +0 -0
  487. /package/{dist/es → es}/core/fluent-editor.es.js +0 -0
  488. /package/{dist/es → es}/fluent-editor.es.js +0 -0
  489. /package/{dist/es → es}/formats/emoji.es.js +0 -0
  490. /package/{dist/es → es}/formats/index.es.js +0 -0
  491. /package/{dist/es → es}/formats/index.es.js.map +0 -0
  492. /package/{dist/es → es}/formats/soft-break.es.js +0 -0
  493. /package/{dist/es → es}/formats/strike.es.js +0 -0
  494. /package/{dist/es → es}/formats/video.es.js +0 -0
  495. /package/{dist/es → es}/index.es.js +0 -0
  496. /package/{dist/es → es}/index.es.js.map +0 -0
  497. /package/{dist/es → es}/modules/ai/constants.es.js +0 -0
  498. /package/{dist/es → es}/modules/ai/icons.es.js +0 -0
  499. /package/{dist/es → es}/modules/ai/index.es.js +0 -0
  500. /package/{dist/es → es}/modules/collaborative-editing/awareness/awareness.es.js +0 -0
  501. /package/{dist/es → es}/modules/collaborative-editing/awareness/index.es.js +0 -0
  502. /package/{dist/es → es}/modules/collaborative-editing/awareness/index.es.js.map +0 -0
  503. /package/{dist/es → es}/modules/collaborative-editing/awareness/y-indexeddb.es.js +0 -0
  504. /package/{dist/es → es}/modules/collaborative-editing/collaborative-editing.es.js +0 -0
  505. /package/{dist/es → es}/modules/collaborative-editing/index.es.js +0 -0
  506. /package/{dist/es → es}/modules/collaborative-editing/index.es.js.map +0 -0
  507. /package/{dist/es → es}/modules/collaborative-editing/module.es.js +0 -0
  508. /package/{dist/es → es}/modules/collaborative-editing/provider/providerRegistry.es.js +0 -0
  509. /package/{dist/es → es}/modules/collaborative-editing/provider/webrtc.es.js +0 -0
  510. /package/{dist/es → es}/modules/collaborative-editing/provider/websocket.es.js +0 -0
  511. /package/{dist/es → es}/modules/collaborative-editing/types.es.js +0 -0
  512. /package/{dist/es → es}/modules/collaborative-editing/types.es.js.map +0 -0
  513. /package/{dist/es → es}/modules/counter.es.js +0 -0
  514. /package/{dist/es → es}/modules/custom-clipboard.es.js +0 -0
  515. /package/{dist/es → es}/modules/custom-image/actions/action.es.js +0 -0
  516. /package/{dist/es → es}/modules/custom-image/actions/custom-resize-action.es.js +0 -0
  517. /package/{dist/es → es}/modules/custom-image/actions/delete-action.es.js +0 -0
  518. /package/{dist/es → es}/modules/custom-image/actions/image-toolbar-buttons.es.js +0 -0
  519. /package/{dist/es → es}/modules/custom-image/actions/image-toolbar-buttons.es.js.map +0 -0
  520. /package/{dist/es → es}/modules/custom-image/actions/index.es.js +0 -0
  521. /package/{dist/es → es}/modules/custom-image/actions/index.es.js.map +0 -0
  522. /package/{dist/es → es}/modules/custom-image/actions/toolbar-action.es.js +0 -0
  523. /package/{dist/es → es}/modules/custom-image/actions/toolbar-action.es.js.map +0 -0
  524. /package/{dist/es → es}/modules/custom-image/actions/toolbar.es.js +0 -0
  525. /package/{dist/es → es}/modules/custom-image/actions/toolbar.es.js.map +0 -0
  526. /package/{dist/es → es}/modules/custom-image/blot-formatter.es.js +0 -0
  527. /package/{dist/es → es}/modules/custom-image/image.es.js +0 -0
  528. /package/{dist/es → es}/modules/custom-image/index.es.js +0 -0
  529. /package/{dist/es → es}/modules/custom-image/index.es.js.map +0 -0
  530. /package/{dist/es → es}/modules/custom-image/options.es.js +0 -0
  531. /package/{dist/es → es}/modules/custom-image/specs/blot-spec.es.js +0 -0
  532. /package/{dist/es → es}/modules/custom-image/specs/custom-image-spec.es.js +0 -0
  533. /package/{dist/es → es}/modules/custom-image/specs/image-spec.es.js +0 -0
  534. /package/{dist/es → es}/modules/custom-image/specs/index.es.js +0 -0
  535. /package/{dist/es → es}/modules/custom-image/specs/index.es.js.map +0 -0
  536. /package/{dist/es → es}/modules/custom-uploader.es.js +0 -0
  537. /package/{dist/es → es}/modules/custom-uploader.es.js.map +0 -0
  538. /package/{dist/es → es}/modules/divider.es.js +0 -0
  539. /package/{dist/es → es}/modules/emoji.es.js +0 -0
  540. /package/{dist/es → es}/modules/file/formats/file.es.js +0 -0
  541. /package/{dist/es → es}/modules/file/index.es.js +0 -0
  542. /package/{dist/es → es}/modules/file/index.es.js.map +0 -0
  543. /package/{dist/es → es}/modules/file/modules/file-bar.es.js +0 -0
  544. /package/{dist/es → es}/modules/file/modules/file-module.es.js +0 -0
  545. /package/{dist/es → es}/modules/i18n.es.js +0 -0
  546. /package/{dist/es → es}/modules/i18n.es.js.map +0 -0
  547. /package/{dist/es → es}/modules/index.es.js +0 -0
  548. /package/{dist/es → es}/modules/index.es.js.map +0 -0
  549. /package/{dist/es → es}/modules/link/formats/link.es.js +0 -0
  550. /package/{dist/es → es}/modules/link/index.es.js +0 -0
  551. /package/{dist/es → es}/modules/link/index.es.js.map +0 -0
  552. /package/{dist/es → es}/modules/link/modules/tooltip.es.js +0 -0
  553. /package/{dist/es → es}/modules/mathlive/formats.es.js +0 -0
  554. /package/{dist/es → es}/modules/mathlive/index.es.js +0 -0
  555. /package/{dist/es → es}/modules/mathlive/index.es.js.map +0 -0
  556. /package/{dist/es → es}/modules/mathlive/module.es.js +0 -0
  557. /package/{dist/es → es}/modules/mathlive/module.es.js.map +0 -0
  558. /package/{dist/es → es}/modules/mathlive/tooltip.es.js +0 -0
  559. /package/{dist/es → es}/modules/mention/constants.es.js +0 -0
  560. /package/{dist/es → es}/modules/mention/index.es.js +0 -0
  561. /package/{dist/es → es}/modules/mention/index.es.js.map +0 -0
  562. /package/{dist/es → es}/modules/mention/mention-link.es.js +0 -0
  563. /package/{dist/es → es}/modules/mention/mention.es.js +0 -0
  564. /package/{dist/es → es}/modules/shortcut-key/index.es.js +0 -0
  565. /package/{dist/es → es}/modules/shortcut-key/index.es.js.map +0 -0
  566. /package/{dist/es → es}/modules/syntax.es.js +0 -0
  567. /package/{dist/es → es}/modules/table-up/index.es.js +0 -0
  568. /package/{dist/es → es}/modules/table-up/index.es.js.map +0 -0
  569. /package/{dist/es → es}/modules/toolbar/better-picker.es.js +0 -0
  570. /package/{dist/es → es}/modules/toolbar/better-toolbar.es.js +0 -0
  571. /package/{dist/es → es}/modules/toolbar/better-toolbar.es.js.map +0 -0
  572. /package/{dist/es → es}/modules/toolbar/index.es.js +0 -0
  573. /package/{dist/es → es}/modules/toolbar/index.es.js.map +0 -0
  574. /package/{dist/es → es}/modules/toolbar/toolbar-tip.es.js +0 -0
  575. /package/{dist/es → es}/modules/toolbar/toolbar-tip.es.js.map +0 -0
  576. /package/{dist/es → es}/themes/snow.es.js +0 -0
  577. /package/{dist/es → es}/tools/format-painter.es.js +0 -0
  578. /package/{dist/es → es}/tools/format-painter.es.js.map +0 -0
  579. /package/{dist/es → es}/tools/fullscreen.es.js +0 -0
  580. /package/{dist/es → es}/tools/fullscreen.es.js.map +0 -0
  581. /package/{dist/es → es}/tools/screenshot.es.js +0 -0
  582. /package/{dist/es → es}/ui/icons.config.es.js +0 -0
  583. /package/{dist/es → es}/ui/icons.es.js +0 -0
  584. /package/{dist/es → es}/utils/debounce.es.js +0 -0
  585. /package/{dist/es → es}/utils/image.es.js +0 -0
  586. /package/{dist/es → es}/utils/image.es.js.map +0 -0
  587. /package/{dist/es → es}/utils/is.es.js +0 -0
  588. /package/{dist/es → es}/utils/is.es.js.map +0 -0
  589. /package/{dist/es → es}/utils/method.es.js +0 -0
  590. /package/{dist/es → es}/utils/scroll-lock.es.js +0 -0
  591. /package/{dist/es → es}/utils/scroll-lock.es.js.map +0 -0
  592. /package/{dist/lib → lib}/attributors/font-size.cjs.js +0 -0
  593. /package/{dist/lib → lib}/attributors/font-size.cjs.js.map +0 -0
  594. /package/{dist/lib → lib}/attributors/font-style.cjs.js +0 -0
  595. /package/{dist/lib → lib}/attributors/font-style.cjs.js.map +0 -0
  596. /package/{dist/lib → lib}/attributors/index.cjs.js +0 -0
  597. /package/{dist/lib → lib}/attributors/index.cjs.js.map +0 -0
  598. /package/{dist/lib → lib}/attributors/line-height.cjs.js +0 -0
  599. /package/{dist/lib → lib}/attributors/text-indent.cjs.js +0 -0
  600. /package/{dist/lib → lib}/attributors/text-indent.cjs.js.map +0 -0
  601. /package/{dist/lib → lib}/config/base64-image.cjs.js +0 -0
  602. /package/{dist/lib → lib}/config/editor.config.cjs.js +0 -0
  603. /package/{dist/lib → lib}/config/editor.utils.cjs.js +0 -0
  604. /package/{dist/lib → lib}/config/i18n/en-us.cjs.js +0 -0
  605. /package/{dist/lib → lib}/config/i18n/zh-cn.cjs.js +0 -0
  606. /package/{dist/lib → lib}/config/index.cjs.js +0 -0
  607. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js +0 -0
  608. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js.map +0 -0
  609. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js +0 -0
  610. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
  611. /package/{dist/lib → lib}/config/types/index.cjs.js +0 -0
  612. /package/{dist/lib → lib}/config/types/index.cjs.js.map +0 -0
  613. /package/{dist/lib → lib}/config/types/type.cjs.js +0 -0
  614. /package/{dist/lib → lib}/config/types/type.cjs.js.map +0 -0
  615. /package/{dist/lib → lib}/core/fluent-editor.cjs.js +0 -0
  616. /package/{dist/lib → lib}/fluent-editor.cjs.js +0 -0
  617. /package/{dist/lib → lib}/formats/emoji.cjs.js +0 -0
  618. /package/{dist/lib → lib}/formats/index.cjs.js +0 -0
  619. /package/{dist/lib → lib}/formats/index.cjs.js.map +0 -0
  620. /package/{dist/lib → lib}/formats/soft-break.cjs.js +0 -0
  621. /package/{dist/lib → lib}/formats/strike.cjs.js +0 -0
  622. /package/{dist/lib → lib}/formats/video.cjs.js +0 -0
  623. /package/{dist/lib → lib}/index.cjs.js +0 -0
  624. /package/{dist/lib → lib}/index.cjs.js.map +0 -0
  625. /package/{dist/lib → lib}/modules/ai/constants.cjs.js +0 -0
  626. /package/{dist/lib → lib}/modules/ai/icons.cjs.js +0 -0
  627. /package/{dist/lib → lib}/modules/ai/index.cjs.js +0 -0
  628. /package/{dist/lib → lib}/modules/collaborative-editing/awareness/awareness.cjs.js +0 -0
  629. /package/{dist/lib → lib}/modules/collaborative-editing/awareness/index.cjs.js +0 -0
  630. /package/{dist/lib → lib}/modules/collaborative-editing/awareness/index.cjs.js.map +0 -0
  631. /package/{dist/lib → lib}/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +0 -0
  632. /package/{dist/lib → lib}/modules/collaborative-editing/collaborative-editing.cjs.js +0 -0
  633. /package/{dist/lib → lib}/modules/collaborative-editing/index.cjs.js +0 -0
  634. /package/{dist/lib → lib}/modules/collaborative-editing/index.cjs.js.map +0 -0
  635. /package/{dist/lib → lib}/modules/collaborative-editing/module.cjs.js +0 -0
  636. /package/{dist/lib → lib}/modules/collaborative-editing/provider/providerRegistry.cjs.js +0 -0
  637. /package/{dist/lib → lib}/modules/collaborative-editing/provider/webrtc.cjs.js +0 -0
  638. /package/{dist/lib → lib}/modules/collaborative-editing/provider/websocket.cjs.js +0 -0
  639. /package/{dist/lib → lib}/modules/collaborative-editing/types.cjs.js +0 -0
  640. /package/{dist/lib → lib}/modules/collaborative-editing/types.cjs.js.map +0 -0
  641. /package/{dist/lib → lib}/modules/counter.cjs.js +0 -0
  642. /package/{dist/lib → lib}/modules/custom-clipboard.cjs.js +0 -0
  643. /package/{dist/lib → lib}/modules/custom-image/actions/action.cjs.js +0 -0
  644. /package/{dist/lib → lib}/modules/custom-image/actions/custom-resize-action.cjs.js +0 -0
  645. /package/{dist/lib → lib}/modules/custom-image/actions/delete-action.cjs.js +0 -0
  646. /package/{dist/lib → lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js +0 -0
  647. /package/{dist/lib → lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +0 -0
  648. /package/{dist/lib → lib}/modules/custom-image/actions/index.cjs.js +0 -0
  649. /package/{dist/lib → lib}/modules/custom-image/actions/index.cjs.js.map +0 -0
  650. /package/{dist/lib → lib}/modules/custom-image/actions/toolbar-action.cjs.js +0 -0
  651. /package/{dist/lib → lib}/modules/custom-image/actions/toolbar-action.cjs.js.map +0 -0
  652. /package/{dist/lib → lib}/modules/custom-image/actions/toolbar.cjs.js +0 -0
  653. /package/{dist/lib → lib}/modules/custom-image/actions/toolbar.cjs.js.map +0 -0
  654. /package/{dist/lib → lib}/modules/custom-image/blot-formatter.cjs.js +0 -0
  655. /package/{dist/lib → lib}/modules/custom-image/image.cjs.js +0 -0
  656. /package/{dist/lib → lib}/modules/custom-image/index.cjs.js +0 -0
  657. /package/{dist/lib → lib}/modules/custom-image/index.cjs.js.map +0 -0
  658. /package/{dist/lib → lib}/modules/custom-image/options.cjs.js +0 -0
  659. /package/{dist/lib → lib}/modules/custom-image/specs/blot-spec.cjs.js +0 -0
  660. /package/{dist/lib → lib}/modules/custom-image/specs/custom-image-spec.cjs.js +0 -0
  661. /package/{dist/lib → lib}/modules/custom-image/specs/image-spec.cjs.js +0 -0
  662. /package/{dist/lib → lib}/modules/custom-image/specs/index.cjs.js +0 -0
  663. /package/{dist/lib → lib}/modules/custom-image/specs/index.cjs.js.map +0 -0
  664. /package/{dist/lib → lib}/modules/custom-uploader.cjs.js +0 -0
  665. /package/{dist/lib → lib}/modules/custom-uploader.cjs.js.map +0 -0
  666. /package/{dist/lib → lib}/modules/divider.cjs.js +0 -0
  667. /package/{dist/lib → lib}/modules/emoji.cjs.js +0 -0
  668. /package/{dist/lib → lib}/modules/file/formats/file.cjs.js +0 -0
  669. /package/{dist/lib → lib}/modules/file/index.cjs.js +0 -0
  670. /package/{dist/lib → lib}/modules/file/index.cjs.js.map +0 -0
  671. /package/{dist/lib → lib}/modules/file/modules/file-bar.cjs.js +0 -0
  672. /package/{dist/lib → lib}/modules/file/modules/file-module.cjs.js +0 -0
  673. /package/{dist/lib → lib}/modules/i18n.cjs.js +0 -0
  674. /package/{dist/lib → lib}/modules/i18n.cjs.js.map +0 -0
  675. /package/{dist/lib → lib}/modules/index.cjs.js +0 -0
  676. /package/{dist/lib → lib}/modules/index.cjs.js.map +0 -0
  677. /package/{dist/lib → lib}/modules/link/formats/link.cjs.js +0 -0
  678. /package/{dist/lib → lib}/modules/link/index.cjs.js +0 -0
  679. /package/{dist/lib → lib}/modules/link/index.cjs.js.map +0 -0
  680. /package/{dist/lib → lib}/modules/link/modules/tooltip.cjs.js +0 -0
  681. /package/{dist/lib → lib}/modules/mathlive/formats.cjs.js +0 -0
  682. /package/{dist/lib → lib}/modules/mathlive/index.cjs.js +0 -0
  683. /package/{dist/lib → lib}/modules/mathlive/index.cjs.js.map +0 -0
  684. /package/{dist/lib → lib}/modules/mathlive/module.cjs.js +0 -0
  685. /package/{dist/lib → lib}/modules/mathlive/module.cjs.js.map +0 -0
  686. /package/{dist/lib → lib}/modules/mathlive/tooltip.cjs.js +0 -0
  687. /package/{dist/lib → lib}/modules/mention/constants.cjs.js +0 -0
  688. /package/{dist/lib → lib}/modules/mention/index.cjs.js +0 -0
  689. /package/{dist/lib → lib}/modules/mention/index.cjs.js.map +0 -0
  690. /package/{dist/lib → lib}/modules/mention/mention-link.cjs.js +0 -0
  691. /package/{dist/lib → lib}/modules/mention/mention.cjs.js +0 -0
  692. /package/{dist/lib → lib}/modules/shortcut-key/index.cjs.js +0 -0
  693. /package/{dist/lib → lib}/modules/shortcut-key/index.cjs.js.map +0 -0
  694. /package/{dist/lib → lib}/modules/syntax.cjs.js +0 -0
  695. /package/{dist/lib → lib}/modules/table-up/index.cjs.js +0 -0
  696. /package/{dist/lib → lib}/modules/table-up/index.cjs.js.map +0 -0
  697. /package/{dist/lib → lib}/modules/toolbar/better-picker.cjs.js +0 -0
  698. /package/{dist/lib → lib}/modules/toolbar/better-toolbar.cjs.js +0 -0
  699. /package/{dist/lib → lib}/modules/toolbar/better-toolbar.cjs.js.map +0 -0
  700. /package/{dist/lib → lib}/modules/toolbar/index.cjs.js +0 -0
  701. /package/{dist/lib → lib}/modules/toolbar/index.cjs.js.map +0 -0
  702. /package/{dist/lib → lib}/modules/toolbar/toolbar-tip.cjs.js +0 -0
  703. /package/{dist/lib → lib}/modules/toolbar/toolbar-tip.cjs.js.map +0 -0
  704. /package/{dist/lib → lib}/themes/snow.cjs.js +0 -0
  705. /package/{dist/lib → lib}/tools/format-painter.cjs.js +0 -0
  706. /package/{dist/lib → lib}/tools/format-painter.cjs.js.map +0 -0
  707. /package/{dist/lib → lib}/tools/fullscreen.cjs.js +0 -0
  708. /package/{dist/lib → lib}/tools/fullscreen.cjs.js.map +0 -0
  709. /package/{dist/lib → lib}/tools/screenshot.cjs.js +0 -0
  710. /package/{dist/lib → lib}/ui/icons.cjs.js +0 -0
  711. /package/{dist/lib → lib}/ui/icons.config.cjs.js +0 -0
  712. /package/{dist/lib → lib}/utils/debounce.cjs.js +0 -0
  713. /package/{dist/lib → lib}/utils/image.cjs.js +0 -0
  714. /package/{dist/lib → lib}/utils/image.cjs.js.map +0 -0
  715. /package/{dist/lib → lib}/utils/is.cjs.js +0 -0
  716. /package/{dist/lib → lib}/utils/is.cjs.js.map +0 -0
  717. /package/{dist/lib → lib}/utils/method.cjs.js +0 -0
  718. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js +0 -0
  719. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js.map +0 -0
  720. /package/{dist/style.css → style.css} +0 -0
@@ -1,309 +0,0 @@
1
- import type { ThemeOptions } from 'quill/core/theme'
2
- import type TypeToolbar from 'quill/modules/toolbar'
3
- import type TypeIconPicker from 'quill/ui/icon-picker'
4
- import { CHANGE_LANGUAGE_EVENT, inputFile, isNullOrUndefined } from '../config'
5
- import FluentEditor from '../core/fluent-editor'
6
- import { CustomImageSpec } from '../modules/custom-image/specs/custom-image-spec'
7
- import { LinkTooltip } from '../modules/link'
8
- import { shortKey } from '../modules/shortcut-key'
9
- import { ColorPicker, Picker } from '../modules/toolbar/better-picker'
10
- import { FormatPainter } from '../tools/format-painter'
11
- import { fullscreenHandler } from '../tools/fullscreen'
12
- import { Screenshot } from '../tools/screenshot'
13
-
14
- const OriginSnowTheme = FluentEditor.import('themes/snow') as any
15
- const IconPicker = FluentEditor.import('ui/icon-picker') as typeof TypeIconPicker
16
-
17
- OriginSnowTheme.DEFAULTS = {
18
- modules: {
19
- 'i18n': true,
20
- 'keyboard': {
21
- bindings: {
22
- ...shortKey,
23
- },
24
- },
25
- 'toolbar': {
26
- handlers: {
27
- ...(OriginSnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,
28
- 'formula': function () {
29
- if (!this.quill.isEnabled()) return
30
- const mathlive = this.quill.getModule('mathlive')
31
- if (!mathlive) {
32
- this.quill.theme.tooltip.edit('formula')
33
- }
34
- else {
35
- mathlive.createDialog()
36
- }
37
- },
38
- 'undo': function () {
39
- this.quill.history.undo()
40
- },
41
- 'redo': function () {
42
- this.quill.history.redo()
43
- },
44
- 'file': function () {
45
- const accept = this.quill.uploader.options.mimetypes
46
- inputFile.call(this, 'file', accept)
47
- },
48
- 'image': function () {
49
- const accept = (this.quill as FluentEditor).uploader.options.mimetypes.filter((type) => {
50
- if (type === '*') return 'image/*'
51
- return type.startsWith('image/')
52
- })
53
- inputFile.call(this, 'image', accept)
54
- },
55
- 'video': function () {
56
- const accept = (this.quill as FluentEditor).uploader.options.mimetypes.filter((type) => {
57
- if (type === '*') return 'video/*'
58
- return type.startsWith('video/')
59
- })
60
- inputFile.call(this, 'video', accept)
61
- },
62
- 'ai': function () {},
63
- 'emoji': function () {},
64
- 'fullscreen': fullscreenHandler,
65
- [FormatPainter.toolName]: FormatPainter,
66
- [Screenshot.toolName]: Screenshot,
67
- 'line-height': function (value) {
68
- this.quill.format('line-height', value)
69
- },
70
- 'divider': function () {
71
- const range = this.quill.getSelection(true)
72
- this.quill.insertText(range.index, '\n', FluentEditor.sources.USER)
73
- this.quill.insertEmbed(range.index + 1, 'divider', true, FluentEditor.sources.USER)
74
- this.quill.setSelection(range.index + 2, FluentEditor.sources.SILENT)
75
- },
76
- },
77
- },
78
- 'image': {
79
- specs: [CustomImageSpec],
80
- overlay: {
81
- style: {
82
- border: '1px dashed rgb(68, 68, 68)',
83
- },
84
- },
85
- },
86
- 'shortcut-key': true,
87
- 'file': true,
88
- },
89
- }
90
-
91
- const ALIGNS = [false, 'center', 'right']
92
- const COLORS = [
93
- '',
94
- 'rgb(255, 255, 255)',
95
- 'rgb(0, 0, 0)',
96
- 'rgb(72, 83, 104)',
97
- 'rgb(41, 114, 244)',
98
- 'rgb(0, 163, 245)',
99
- 'rgb(49, 155, 98)',
100
- 'rgb(222, 60, 54)',
101
- 'rgb(248, 136, 37)',
102
- 'rgb(245, 196, 0)',
103
- 'rgb(153, 56, 215)',
104
-
105
- 'rgb(242, 242, 242)',
106
- 'rgb(127, 127, 127)',
107
- 'rgb(243, 245, 247)',
108
- 'rgb(229, 239, 255)',
109
- 'rgb(229, 246, 255)',
110
- 'rgb(234, 250, 241)',
111
- 'rgb(254, 233, 232)',
112
- 'rgb(254, 243, 235)',
113
- 'rgb(254, 249, 227)',
114
- 'rgb(253, 235, 255)',
115
-
116
- 'rgb(216, 216, 216)',
117
- 'rgb(89, 89, 89)',
118
- 'rgb(197, 202, 211)',
119
- 'rgb(199, 220, 255)',
120
- 'rgb(199, 236, 255)',
121
- 'rgb(195, 234, 213)',
122
- 'rgb(255, 201, 199)',
123
- 'rgb(255, 220, 196)',
124
- 'rgb(255, 238, 173)',
125
- 'rgb(242, 199, 255)',
126
-
127
- 'rgb(191, 191, 191)',
128
- 'rgb(63, 63, 63)',
129
- 'rgb(128, 139, 158)',
130
- 'rgb(153, 190, 255)',
131
- 'rgb(153, 221, 255)',
132
- 'rgb(152, 215, 182)',
133
- 'rgb(255, 156, 153)',
134
- 'rgb(255, 186, 132)',
135
- 'rgb(255, 226, 112)',
136
- 'rgb(213, 142, 255)',
137
-
138
- 'rgb(165, 165, 165)',
139
- 'rgb(38, 38, 38)',
140
- 'rgb(53, 59, 69)',
141
- 'rgb(20, 80, 184)',
142
- 'rgb(18, 116, 165)',
143
- 'rgb(39, 124, 79)',
144
- 'rgb(158, 30, 26)',
145
- 'rgb(184, 96, 20)',
146
- 'rgb(163, 130, 0)',
147
- 'rgb(94, 34, 129)',
148
-
149
- 'rgb(147, 147, 147)',
150
- 'rgb(13, 13, 13)',
151
- 'rgb(36, 39, 46)',
152
- 'rgb(12, 48, 110)',
153
- 'rgb(10, 65, 92)',
154
- 'rgb(24, 78, 50)',
155
- 'rgb(88, 17, 14)',
156
- 'rgb(92, 48, 10)',
157
- 'rgb(102, 82, 0)',
158
- 'rgb(59, 21, 81)',
159
-
160
- 'custom',
161
- ]
162
- const FONTS = [false, 'serif', 'monospace']
163
- const HEADERS = ['1', '2', '3', false]
164
- const SIZES = ['small', false, 'large', 'huge']
165
- const LINEHEIGHT = [false, '1.2', '1.5', '2']
166
-
167
- class SnowTheme extends OriginSnowTheme {
168
- constructor(public quill: FluentEditor, options: ThemeOptions) {
169
- super(quill, options)
170
-
171
- this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, () => {
172
- this.i18nTextToolbar()
173
- })
174
- }
175
-
176
- i18nTextToolbar() {
177
- const toolbar = this.quill.getModule('toolbar') as TypeToolbar
178
- ColorPicker.clearText = this.quill.getLangText('clear-color')
179
- ColorPicker.customText = this.quill.getLangText('custom-color')
180
-
181
- if (!toolbar || !this.pickers) return
182
-
183
- this.pickers.forEach((picker) => {
184
- if (picker instanceof ColorPicker) {
185
- // EasyColorPicker have not dts. abd origin quill ColorPicker dts not complete. use any to resovle ts type error
186
- const colorPicker = picker as any
187
- colorPicker.options.remove()
188
- Array.from(colorPicker.select.options).forEach((option: any) => {
189
- if (option.hasAttribute('custom')) {
190
- option.remove()
191
- }
192
- })
193
- colorPicker.buildOptions()
194
- colorPicker.createUsedColor()
195
- }
196
-
197
- if (picker.select && picker.select.classList.contains('ql-header')) {
198
- const getLabelKey = (v: string | null) => (v ? `header-${v}` : 'header-normal')
199
-
200
- // 更新 label 文本
201
- const labelValue = picker.label.getAttribute('data-value')
202
- picker.label.setAttribute('data-label', this.quill.getLangText(getLabelKey(labelValue)))
203
-
204
- const select = picker.select as HTMLSelectElement
205
- Array.from(select.options).forEach((option) => {
206
- const value = option.getAttribute('value')
207
- option.textContent = this.quill.getLangText(getLabelKey(value))
208
- })
209
-
210
- picker.options.remove()
211
- picker.buildOptions()
212
- }
213
- })
214
- }
215
-
216
- buildPickers(selects: NodeListOf<HTMLSelectElement>, icons: Record<string, string | Record<string, string>>) {
217
- this.pickers = Array.from(selects).map((select) => {
218
- if (select.classList.contains('ql-align')) {
219
- if (isNullOrUndefined(select.querySelector('option'))) {
220
- fillSelect(select, ALIGNS)
221
- }
222
- return new IconPicker(select, icons.align as Record<string, string>)
223
- }
224
-
225
- if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {
226
- const format = select.classList.contains('ql-background') ? 'background' : 'color'
227
- if (isNullOrUndefined(select.querySelector('option'))) {
228
- fillColorSelect(select, COLORS, format, format === 'background' ? '#ffffff' : '#000000')
229
- }
230
- return new ColorPicker(select, icons[format] as string, {
231
- expandIcon: '<i class="icon" />',
232
- closeAfterChange: false,
233
- })
234
- }
235
-
236
- if (isNullOrUndefined(select.querySelector('option'))) {
237
- if (select.classList.contains('ql-font')) {
238
- fillSelect(select, FONTS)
239
- }
240
- else if (select.classList.contains('ql-header')) {
241
- fillSelect(select, HEADERS)
242
- }
243
- else if (select.classList.contains('ql-size')) {
244
- fillSelect(select, SIZES)
245
- }
246
- else if (select.classList.contains('ql-line-height')) {
247
- fillSelect(select, LINEHEIGHT)
248
- }
249
- }
250
- return new Picker(select)
251
- })
252
-
253
- const update = () => {
254
- this.pickers.forEach((picker) => {
255
- if (picker instanceof ColorPicker) return
256
- picker.update()
257
- })
258
- }
259
- this.quill.on(FluentEditor.events.EDITOR_CHANGE, update)
260
- }
261
-
262
- extendToolbar(toolbar) {
263
- const icons = FluentEditor.import('ui/icons') as Record<string, any>
264
- toolbar.container.classList.add('ql-snow')
265
- this.buildButtons(toolbar.container.querySelectorAll('button'), icons)
266
- this.buildPickers(toolbar.container.querySelectorAll('select'), icons)
267
- this.tooltip = new LinkTooltip(this.quill, this.options.bounds)
268
- }
269
- }
270
-
271
- function fillSelect(select, values, defaultValue = false) {
272
- values.forEach((value) => {
273
- const option = document.createElement('option')
274
- if (value === defaultValue) {
275
- option.setAttribute('selected', 'selected')
276
- }
277
- else {
278
- option.setAttribute('value', value)
279
- }
280
- select.appendChild(option)
281
- })
282
- }
283
-
284
- function fillColorSelect(
285
- select: HTMLSelectElement,
286
- values: Array<string | boolean>,
287
- format: string,
288
- defaultValue: unknown = false,
289
- ) {
290
- const colorGetter = document.createElement('span') as HTMLElement
291
- for (const value of values) {
292
- const option = document.createElement('option')
293
- if (value === defaultValue) {
294
- option.setAttribute('selected', 'selected')
295
- }
296
- else {
297
- if (value !== 'custom') {
298
- colorGetter.style[format] = String(value)
299
- option.setAttribute('value', colorGetter.style[format])
300
- }
301
- else {
302
- option.setAttribute('value', value)
303
- }
304
- }
305
- select.appendChild(option)
306
- }
307
- }
308
-
309
- export default SnowTheme
@@ -1,85 +0,0 @@
1
- import type { Range } from 'quill'
2
- import type Toolbar from 'quill/modules/toolbar'
3
- import Quill from 'quill'
4
-
5
- export interface FormatData {
6
- formatPainter: {
7
- rangeFormat: Record<string, any>
8
- isFormatterLock: boolean
9
- isFormating: boolean
10
- prepareLock: boolean
11
- }
12
- }
13
- export function FormatPainter(this: Toolbar & FormatData) {
14
- if (!this.formatPainter) {
15
- this.formatPainter = {
16
- rangeFormat: {},
17
- isFormatterLock: false,
18
- isFormating: false,
19
- prepareLock: false,
20
- }
21
- }
22
- const [, formatterBtn] = this.controls.find(([name]) => name === FormatPainter.toolName)
23
- const formatRange = (range: Range | null) => {
24
- if (!range) return
25
- const currentFormats = this.quill.getFormat(range)
26
- for (const format in currentFormats) {
27
- if (this.quill.options['format-painter']?.ignoreFormat?.includes(format)) continue
28
- this.quill.format(format, null, Quill.sources.USER)
29
- }
30
-
31
- for (const format in this.formatPainter.rangeFormat) {
32
- if (this.quill.options['format-painter']?.ignoreFormat?.includes(format)) continue
33
- this.quill.format(format, this.formatPainter.rangeFormat[format], Quill.sources.USER)
34
- }
35
- if (!this.formatPainter.isFormatterLock) {
36
- unbindFormatSelect()
37
- }
38
- else {
39
- btnActive()
40
- }
41
- }
42
- // setTime for Toolbar.update
43
- const btnActive = () => {
44
- setTimeout(() => {
45
- formatterBtn.classList.add('ql-active')
46
- }, 0)
47
- }
48
- const btnRemoveActive = () => {
49
- setTimeout(() => {
50
- formatterBtn.classList.remove('ql-active')
51
- }, 0)
52
- }
53
- const bindFormatSelect = () => {
54
- const range = this.quill.getSelection()
55
- if (range.length === 0) return
56
- this.formatPainter.rangeFormat = this.quill.getFormat(range)
57
- this.formatPainter.isFormating = true
58
- this.quill.on(Quill.events.SELECTION_CHANGE, formatRange)
59
- btnActive()
60
- }
61
- const unbindFormatSelect = () => {
62
- this.quill.off(Quill.events.SELECTION_CHANGE, formatRange)
63
- this.formatPainter.rangeFormat = {}
64
- btnRemoveActive()
65
- this.formatPainter.isFormating = false
66
- this.formatPainter.isFormatterLock = false
67
- }
68
-
69
- if (this.formatPainter.isFormatterLock || (this.formatPainter.isFormating && !this.formatPainter.prepareLock)) {
70
- unbindFormatSelect()
71
- }
72
- else if (this.formatPainter.isFormating && this.formatPainter.prepareLock) {
73
- this.formatPainter.isFormatterLock = true
74
- btnActive()
75
- }
76
- else {
77
- // imitate double click
78
- this.formatPainter.prepareLock = true
79
- setTimeout(() => {
80
- this.formatPainter.prepareLock = false
81
- }, 200)
82
- bindFormatSelect()
83
- }
84
- }
85
- FormatPainter.toolName = 'format-painter'
@@ -1,66 +0,0 @@
1
- import type Toolbar from 'quill/modules/toolbar'
2
- import type FluentEditor from '../core/fluent-editor'
3
- import { namespace } from '../config'
4
- import { ICONS_CONFIG } from '../ui/icons'
5
- import { lockScroll } from '../utils/scroll-lock'
6
-
7
- export interface FluentEditorToolbar extends Toolbar {
8
- quill: FluentEditor
9
- }
10
-
11
- let exitEscHandlerBindToolbar: (e: KeyboardEvent) => void
12
- let resizeHandlerBindToolbar: () => void
13
- let cleanLock: ReturnType<typeof lockScroll>
14
- let originScrollTop = 0
15
- function exitEscHandler(toolbar: FluentEditorToolbar, e: KeyboardEvent) {
16
- if (e.code === 'Escape') {
17
- exitFullscreen(toolbar)
18
- }
19
- }
20
- function updateToolbarHeight(toolbar: FluentEditorToolbar) {
21
- const toolbarRect = toolbar.container.getBoundingClientRect()
22
- toolbar.quill.container.style.setProperty(`--${namespace}-top`, `${toolbarRect.height}px`)
23
- }
24
- function intoFullscreen(toolbar: FluentEditorToolbar) {
25
- toolbar.quill.isFullscreen = true
26
- originScrollTop = document.documentElement.scrollTop
27
- toolbar.container.classList.add('fullscreen')
28
- toolbar.quill.container.classList.add('fullscreen')
29
- cleanLock = lockScroll()
30
- resizeHandlerBindToolbar()
31
- const [, btn] = toolbar.controls.find(item => item[0] === 'fullscreen')
32
- btn.innerHTML = ICONS_CONFIG['fullscreen-exit']
33
- window.addEventListener('resize', resizeHandlerBindToolbar)
34
- document.addEventListener('keydown', exitEscHandlerBindToolbar)
35
- // TODO: clear hard code
36
- const toolbarTipModule = toolbar.quill.getModule('toolbar-tip') as any
37
- if (toolbarTipModule) {
38
- toolbarTipModule.hideAllTips()
39
- }
40
- }
41
- function exitFullscreen(toolbar: FluentEditorToolbar) {
42
- toolbar.quill.isFullscreen = false
43
- toolbar.container.classList.remove('fullscreen')
44
- toolbar.quill.container.classList.remove('fullscreen')
45
- cleanLock()
46
- document.documentElement.scrollTop = originScrollTop
47
- const [, btn] = toolbar.controls.find(item => item[0] === 'fullscreen')
48
- btn.innerHTML = ICONS_CONFIG.fullscreen
49
- window.removeEventListener('resize', resizeHandlerBindToolbar)
50
- document.removeEventListener('keydown', exitEscHandlerBindToolbar)
51
- // TODO: clear hard code
52
- const toolbarTipModule = toolbar.quill.getModule('toolbar-tip') as any
53
- if (toolbarTipModule) {
54
- toolbarTipModule.hideAllTips()
55
- }
56
- }
57
- export function fullscreenHandler(this: FluentEditorToolbar) {
58
- if (this.quill.isFullscreen) {
59
- exitFullscreen(this)
60
- }
61
- else {
62
- exitEscHandlerBindToolbar = exitEscHandler.bind(undefined, this)
63
- resizeHandlerBindToolbar = updateToolbarHeight.bind(undefined, this)
64
- intoFullscreen(this)
65
- }
66
- }
@@ -1,231 +0,0 @@
1
- import type html2canvas from 'html2canvas'
2
- import type { Options as Html2CanvasOptions } from 'html2canvas'
3
- import type Toolbar from 'quill/modules/toolbar'
4
- import Quill from 'quill'
5
- import { imgToBase64 } from '../utils/image'
6
- import { lockScroll } from '../utils/scroll-lock'
7
-
8
- const Delta = Quill.import('delta')
9
-
10
- export type ScreenShotOptions = Partial<Html2CanvasOptions> & {
11
- Html2Canvas: typeof html2canvas
12
- beforeCreateCanvas: () => void | Promise<void>
13
- beforeCreateImage: (canvas: HTMLCanvasElement) => HTMLCanvasElement | string | Promise<HTMLCanvasElement | string>
14
- }
15
- interface ScreenShotOptionsInQuill {
16
- quill: {
17
- options: {
18
- screenshot: Partial<ScreenShotOptions>
19
- }
20
- }
21
- }
22
-
23
- function resolveOptions(options: Partial<ScreenShotOptions>) {
24
- return Object.assign({
25
- // @ts-ignore
26
- Html2Canvas: window.Html2Canvas,
27
- useCORS: true,
28
- scale: 1,
29
- foreignObjectRendering: true,
30
- beforeCreateImage: undefined,
31
- beforeCreateCanvas: undefined,
32
- }, options)
33
- }
34
-
35
- function init() {
36
- const maskExits = document.querySelectorAll('.ql-screenshot-mask')
37
- if (maskExits) {
38
- maskExits.forEach(item => item && item.remove())
39
- }
40
- // 创建截图图层
41
- const wrapper = document.createElement('div')
42
- wrapper.classList.add('ql-screenshot-wrapper')
43
- const mask = document.createElement('div')
44
- mask.className = 'ql-screenshot-mask'
45
- const cutter = document.createElement('div')
46
- cutter.className = 'ql-screenshot-cutter'
47
- const coordinate = document.createElement('p')
48
- coordinate.className = 'ql-screenshot-coordinate'
49
- cutter.appendChild(coordinate)
50
- wrapper.appendChild(mask)
51
- wrapper.appendChild(cutter)
52
- document.body.appendChild(wrapper)
53
- return { wrapper, mask, cutter, coordinate }
54
- }
55
-
56
- function findParentFixed(dom: HTMLElement) {
57
- if (dom.tagName === 'BODY') return false
58
- if (['fixed', 'sticky'].includes(dom.parentElement.style.position)) return true
59
- return findParentFixed(dom.parentElement)
60
- }
61
- async function renderImage(
62
- Html2Canvas: typeof html2canvas,
63
- html2canvasOptions: Partial<Html2CanvasOptions>,
64
- rect: DOMRect,
65
- options?: Omit<ScreenShotOptions, 'Html2Canvas' | keyof Html2CanvasOptions>,
66
- ) {
67
- if (options && options.beforeCreateCanvas) {
68
- await options.beforeCreateCanvas()
69
- }
70
- const canvas: CanvasImageSource = await Html2Canvas(document.body, {
71
- ...html2canvasOptions,
72
- onclone: async (doc: Document, el: HTMLElement) => {
73
- // find all fixed or sticky dom
74
- const fixedDom = Array.from(doc.querySelectorAll('*[style*="position: fixed"]')) as HTMLElement[]
75
- const stickyDom = Array.from(doc.querySelectorAll('*[style*="position: sticky"]')) as HTMLElement[]
76
- const fixedDomList = new Set([...fixedDom, ...stickyDom])
77
- for (const dom of fixedDomList) {
78
- // if parent dom already has fixed or sticky style
79
- // means that transform will be settle. skip
80
- if (findParentFixed(dom)) continue
81
- // use transform move to correct position
82
- let x = 0
83
- let y = 0
84
- if (dom.style.top !== 'auto') {
85
- y = window.scrollY
86
- }
87
- if (dom.style.left !== 'auto') {
88
- x = window.scrollX
89
- }
90
- if (x !== 0 || y !== 0) {
91
- dom.style.transform = `translate(${x}px, ${y}px)`
92
- }
93
- }
94
-
95
- const imgs = doc.querySelectorAll('img')
96
- const promises = Array.from(imgs).map(async (img) => {
97
- img.src = await imgToBase64(img.src)
98
- })
99
- await Promise.all(promises)
100
- html2canvasOptions.onclone && await html2canvasOptions.onclone(doc, el)
101
- },
102
- })
103
- // 当前canvas为body全局截图,从当前截图中截取想要的部分重新绘制转成base64插入富文本
104
- let cropCanvas: HTMLCanvasElement | string = document.createElement('canvas')
105
- cropCanvas.width = rect.width
106
- cropCanvas.height = rect.height
107
- const cropCanvasCtx = cropCanvas.getContext('2d')
108
- cropCanvasCtx.drawImage(
109
- canvas,
110
- rect.x + window.scrollX,
111
- rect.y + window.scrollY,
112
- rect.width,
113
- rect.height,
114
- 0,
115
- 0,
116
- rect.width,
117
- rect.height,
118
- )
119
- if (options && options.beforeCreateImage) {
120
- cropCanvas = await options.beforeCreateImage(cropCanvas)
121
- }
122
- return typeof cropCanvas === 'string' ? cropCanvas : cropCanvas.toDataURL()
123
- }
124
-
125
- export function Screenshot(this: Toolbar & ScreenShotOptionsInQuill) {
126
- this.quill.options.screenshot = resolveOptions(this.quill.options.screenshot)
127
- const options = this.quill.options.screenshot
128
- // @ts-ignore
129
- const { Html2Canvas, beforeCreateImage, beforeCreateCanvas, ...html2CanvasOptions } = options
130
- if (!Html2Canvas) {
131
- throw new Error('ScreenShot module requires html2canvas. Please include the library on the page before FluentEditor.')
132
- }
133
- const range = this.quill.getSelection()
134
- const { wrapper, mask, cutter, coordinate } = init()
135
- const status: {
136
- leftClickLockFlag: boolean
137
- start?: {
138
- x: number
139
- y: number
140
- }
141
- } = {
142
- leftClickLockFlag: false,
143
- start: undefined,
144
- }
145
- const cleanLock = lockScroll()
146
-
147
- const removeContextmenu = (event: Event) => {
148
- event.preventDefault()
149
- wrapper.remove()
150
- cleanLock()
151
- document.removeEventListener('contextmenu', removeContextmenu)
152
- }
153
- const afterShotCtrl = async (event: MouseEvent) => {
154
- document.removeEventListener('mousedown', toggleRect)
155
- const cutterRect = cutter.getBoundingClientRect()
156
- const target = event.target as HTMLElement
157
- wrapper.remove()
158
- cleanLock()
159
- if (target && target.className === 'ql-screenshot-confirm') {
160
- const image = await renderImage(Html2Canvas, html2CanvasOptions, cutterRect, { beforeCreateCanvas, beforeCreateImage })
161
-
162
- const delta = new Delta()
163
- .retain(range.index)
164
- .delete(range.length)
165
- .insert({ image })
166
- this.quill.updateContents(delta, Quill.sources.USER)
167
- this.quill.setSelection(range.index + 1, Quill.sources.SILENT)
168
- }
169
- status.start = undefined
170
- }
171
- const drawRect = (event: MouseEvent) => {
172
- // 通过鼠标移动描绘截图图层
173
- const startX = status.start.x
174
- const startY = status.start.y
175
- const endX = event.clientX
176
- const endY = event.clientY
177
- const width = Math.abs(endX - startX)
178
- const height = Math.abs(endY - startY)
179
- const top = startY < endY ? startY : endY
180
- const left = startX < endX ? startX : endX
181
- const bottom = window.innerHeight - height - top
182
- const right = window.innerWidth - width - left
183
-
184
- const maskPath = `
185
- linear-gradient(to top, #fff, #fff) top / 100% ${top}px,
186
- linear-gradient(to bottom, #fff, #fff) bottom /100% ${bottom}px,
187
- linear-gradient(to left, #fff, #fff) left / ${left}px 100%,
188
- linear-gradient(to right, #fff, #fff) right / ${right}px 100%
189
- `
190
- Object.assign(cutter.style, {
191
- width: `${width}px`,
192
- height: `${height}px`,
193
- left: `${left}px`,
194
- top: `${top}px`,
195
- })
196
- Object.assign(mask.style, {
197
- 'mask': maskPath,
198
- '-webkit-mask-repeat': 'no-repeat',
199
- })
200
- coordinate.textContent = `${width}, ${height}`
201
- }
202
- const toggleRect = (event: MouseEvent) => {
203
- // 右键取消截图操作
204
- if (event.button === 2) {
205
- document.removeEventListener('mousemove', drawRect)
206
- document.removeEventListener('mousedown', toggleRect)
207
- document.addEventListener('contextmenu', removeContextmenu)
208
- return
209
- }
210
- if (!status.leftClickLockFlag) {
211
- if (status.start) {
212
- // 如果有起点,则当前触发坐标为终点,移除监听事件并添加确认和取消按钮
213
- document.removeEventListener('mousemove', drawRect)
214
- const doneBtn = document.createElement('div')
215
- doneBtn.innerHTML = `<div class="ql-screenshot-confirm"></div><div class="ql-screenshot-cancel"></div>`
216
- doneBtn.className = 'ql-screenshot-done'
217
- doneBtn.addEventListener('click', afterShotCtrl)
218
- coordinate.remove()
219
- cutter.appendChild(doneBtn)
220
- status.leftClickLockFlag = true
221
- }
222
- else {
223
- // 无起点则设置起点坐标,监听鼠标移动
224
- status.start = { x: event.clientX, y: event.clientY }
225
- document.addEventListener('mousemove', drawRect)
226
- }
227
- }
228
- }
229
- document.addEventListener('mousedown', toggleRect)
230
- }
231
- Screenshot.toolName = 'screenshot'