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

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 (1054) hide show
  1. package/LICENSE +21 -0
  2. package/dist/README.md +88 -0
  3. package/dist/es/attributors/line-height.es.js.map +1 -0
  4. package/dist/es/config/base64-image.es.js.map +1 -0
  5. package/dist/es/config/editor.config.es.js.map +1 -0
  6. package/dist/es/config/editor.utils.es.js.map +1 -0
  7. package/dist/es/config/i18n/en-us.es.js.map +1 -0
  8. package/dist/es/config/i18n/zh-cn.es.js.map +1 -0
  9. package/dist/es/config/index.es.js.map +1 -0
  10. package/dist/es/core/fluent-editor.es.js.map +1 -0
  11. package/dist/es/fluent-editor.es.js.map +1 -0
  12. package/dist/es/formats/emoji.es.js.map +1 -0
  13. package/dist/es/formats/soft-break.es.js.map +1 -0
  14. package/dist/es/formats/strike.es.js.map +1 -0
  15. package/dist/es/formats/video.es.js.map +1 -0
  16. package/dist/es/modules/ai/constants.es.js.map +1 -0
  17. package/dist/es/modules/ai/icons.es.js.map +1 -0
  18. package/dist/es/modules/ai/index.es.js.map +1 -0
  19. package/dist/es/modules/collaborative-editing/awareness/awareness.es.js +93 -0
  20. package/dist/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
  21. package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +12 -0
  22. package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
  23. package/dist/es/modules/collaborative-editing/collaborative-editing.es.js +105 -0
  24. package/dist/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
  25. package/dist/es/modules/collaborative-editing/module.es.js.map +1 -0
  26. package/dist/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
  27. package/dist/es/modules/collaborative-editing/provider/webrtc.es.js +99 -0
  28. package/dist/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
  29. package/dist/es/modules/collaborative-editing/provider/websocket.es.js +111 -0
  30. package/dist/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
  31. package/dist/es/modules/counter.es.js.map +1 -0
  32. package/dist/es/modules/custom-clipboard.es.js.map +1 -0
  33. package/dist/es/modules/custom-image/actions/action.es.js.map +1 -0
  34. package/dist/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
  35. package/dist/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
  36. package/dist/es/modules/custom-image/blot-formatter.es.js.map +1 -0
  37. package/dist/es/modules/custom-image/image.es.js.map +1 -0
  38. package/dist/es/modules/custom-image/options.es.js.map +1 -0
  39. package/dist/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
  40. package/dist/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
  41. package/dist/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
  42. package/dist/es/modules/divider.es.js.map +1 -0
  43. package/dist/es/modules/emoji.es.js +167 -0
  44. package/dist/es/modules/emoji.es.js.map +1 -0
  45. package/dist/es/modules/file/formats/file.es.js.map +1 -0
  46. package/dist/es/modules/file/modules/file-bar.es.js.map +1 -0
  47. package/dist/es/modules/file/modules/file-module.es.js.map +1 -0
  48. package/dist/es/modules/link/formats/link.es.js.map +1 -0
  49. package/dist/es/modules/link/modules/tooltip.es.js.map +1 -0
  50. package/dist/es/modules/mathlive/formats.es.js.map +1 -0
  51. package/dist/es/modules/mathlive/tooltip.es.js.map +1 -0
  52. package/dist/es/modules/mention/constants.es.js.map +1 -0
  53. package/dist/es/modules/mention/mention-link.es.js.map +1 -0
  54. package/dist/es/modules/mention/mention.es.js.map +1 -0
  55. package/dist/es/modules/syntax.es.js.map +1 -0
  56. package/dist/es/modules/toolbar/better-picker.es.js.map +1 -0
  57. package/dist/es/themes/snow.es.js.map +1 -0
  58. package/dist/es/tools/screenshot.es.js.map +1 -0
  59. package/dist/es/ui/icons.config.es.js.map +1 -0
  60. package/dist/es/ui/icons.es.js.map +1 -0
  61. package/dist/es/utils/debounce.es.js.map +1 -0
  62. package/dist/es/utils/method.es.js.map +1 -0
  63. package/dist/lib/attributors/line-height.cjs.js.map +1 -0
  64. package/dist/lib/config/base64-image.cjs.js.map +1 -0
  65. package/dist/lib/config/editor.config.cjs.js.map +1 -0
  66. package/dist/lib/config/editor.utils.cjs.js.map +1 -0
  67. package/dist/lib/config/i18n/en-us.cjs.js.map +1 -0
  68. package/dist/lib/config/i18n/zh-cn.cjs.js.map +1 -0
  69. package/dist/lib/config/index.cjs.js.map +1 -0
  70. package/dist/lib/core/fluent-editor.cjs.js.map +1 -0
  71. package/dist/lib/fluent-editor.cjs.js.map +1 -0
  72. package/dist/lib/formats/emoji.cjs.js.map +1 -0
  73. package/dist/lib/formats/soft-break.cjs.js.map +1 -0
  74. package/dist/lib/formats/strike.cjs.js.map +1 -0
  75. package/dist/lib/formats/video.cjs.js.map +1 -0
  76. package/dist/lib/modules/ai/constants.cjs.js.map +1 -0
  77. package/dist/lib/modules/ai/icons.cjs.js.map +1 -0
  78. package/dist/lib/modules/ai/index.cjs.js.map +1 -0
  79. package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js +110 -0
  80. package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
  81. package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +12 -0
  82. package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
  83. package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js +122 -0
  84. package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
  85. package/dist/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
  86. package/dist/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
  87. package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js +116 -0
  88. package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
  89. package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js +128 -0
  90. package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
  91. package/dist/lib/modules/counter.cjs.js.map +1 -0
  92. package/dist/lib/modules/custom-clipboard.cjs.js.map +1 -0
  93. package/dist/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
  94. package/dist/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
  95. package/dist/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
  96. package/dist/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
  97. package/dist/lib/modules/custom-image/image.cjs.js.map +1 -0
  98. package/dist/lib/modules/custom-image/options.cjs.js.map +1 -0
  99. package/dist/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
  100. package/dist/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
  101. package/dist/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
  102. package/dist/lib/modules/divider.cjs.js.map +1 -0
  103. package/dist/lib/modules/emoji.cjs.js +167 -0
  104. package/dist/lib/modules/emoji.cjs.js.map +1 -0
  105. package/dist/lib/modules/file/formats/file.cjs.js.map +1 -0
  106. package/dist/lib/modules/file/modules/file-bar.cjs.js.map +1 -0
  107. package/dist/lib/modules/file/modules/file-module.cjs.js.map +1 -0
  108. package/dist/lib/modules/link/formats/link.cjs.js.map +1 -0
  109. package/dist/lib/modules/link/modules/tooltip.cjs.js.map +1 -0
  110. package/dist/lib/modules/mathlive/formats.cjs.js.map +1 -0
  111. package/dist/lib/modules/mathlive/tooltip.cjs.js.map +1 -0
  112. package/dist/lib/modules/mention/constants.cjs.js.map +1 -0
  113. package/dist/lib/modules/mention/mention-link.cjs.js.map +1 -0
  114. package/dist/lib/modules/mention/mention.cjs.js.map +1 -0
  115. package/dist/lib/modules/syntax.cjs.js.map +1 -0
  116. package/dist/lib/modules/toolbar/better-picker.cjs.js.map +1 -0
  117. package/dist/lib/themes/snow.cjs.js.map +1 -0
  118. package/dist/lib/tools/screenshot.cjs.js.map +1 -0
  119. package/dist/lib/ui/icons.cjs.js.map +1 -0
  120. package/dist/lib/ui/icons.config.cjs.js.map +1 -0
  121. package/dist/lib/utils/debounce.cjs.js.map +1 -0
  122. package/dist/lib/utils/method.cjs.js.map +1 -0
  123. package/dist/package.json +67 -0
  124. package/dist/types/attributors/font-size.d.ts +1 -0
  125. package/dist/types/attributors/font-style.d.ts +1 -0
  126. package/dist/types/attributors/index.d.ts +4 -0
  127. package/dist/types/attributors/line-height.d.ts +1 -0
  128. package/dist/types/attributors/text-indent.d.ts +1 -0
  129. package/dist/types/config/base64-image.d.ts +2 -0
  130. package/dist/types/config/editor.config.d.ts +11 -0
  131. package/dist/types/config/editor.utils.d.ts +40 -0
  132. package/dist/types/config/i18n/en-us.d.ts +123 -0
  133. package/dist/types/config/i18n/zh-cn.d.ts +123 -0
  134. package/dist/types/config/index.d.ts +7 -0
  135. package/dist/types/config/types/editor-config.interface.d.ts +14 -0
  136. package/dist/types/config/types/editor-modules.interface.d.ts +41 -0
  137. package/dist/types/config/types/index.d.ts +3 -0
  138. package/dist/types/config/types/type.d.ts +2 -0
  139. package/dist/types/core/fluent-editor.d.ts +13 -0
  140. package/dist/types/fluent-editor.d.ts +2 -0
  141. package/dist/types/formats/emoji.d.ts +8 -0
  142. package/dist/types/formats/index.d.ts +4 -0
  143. package/dist/types/formats/soft-break.d.ts +12 -0
  144. package/dist/types/formats/strike.d.ts +8 -0
  145. package/dist/types/formats/video.d.ts +13 -0
  146. package/dist/types/index.d.ts +8 -0
  147. package/dist/types/modules/ai/constants.d.ts +30 -0
  148. package/dist/types/modules/ai/icons.d.ts +21 -0
  149. package/dist/types/modules/ai/index.d.ts +96 -0
  150. package/dist/types/modules/ai/types.d.ts +16 -0
  151. package/dist/types/modules/collaborative-editing/awareness/awareness.d.ts +28 -0
  152. package/dist/types/modules/collaborative-editing/awareness/index.d.ts +2 -0
  153. package/dist/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +2 -0
  154. package/dist/types/modules/collaborative-editing/collaborative-editing.d.ts +24 -0
  155. package/dist/types/modules/collaborative-editing/index.d.ts +2 -0
  156. package/dist/types/modules/collaborative-editing/module.d.ts +11 -0
  157. package/dist/types/modules/collaborative-editing/provider/index.d.ts +3 -0
  158. package/dist/types/modules/collaborative-editing/provider/providerRegistry.d.ts +25 -0
  159. package/dist/types/modules/collaborative-editing/provider/webrtc.d.ts +36 -0
  160. package/dist/types/modules/collaborative-editing/provider/websocket.d.ts +40 -0
  161. package/dist/types/modules/collaborative-editing/types.d.ts +37 -0
  162. package/dist/types/modules/counter.d.ts +23 -0
  163. package/dist/types/modules/custom-clipboard.d.ts +25 -0
  164. package/dist/types/modules/custom-image/actions/action.d.ts +8 -0
  165. package/dist/types/modules/custom-image/actions/custom-resize-action.d.ts +23 -0
  166. package/dist/types/modules/custom-image/actions/delete-action.d.ts +6 -0
  167. package/dist/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +16 -0
  168. package/dist/types/modules/custom-image/actions/index.d.ts +6 -0
  169. package/dist/types/modules/custom-image/actions/toolbar-action.d.ts +11 -0
  170. package/dist/types/modules/custom-image/actions/toolbar.d.ts +19 -0
  171. package/dist/types/modules/custom-image/blot-formatter.d.ts +23 -0
  172. package/dist/types/modules/custom-image/image.d.ts +28 -0
  173. package/dist/types/modules/custom-image/index.d.ts +4 -0
  174. package/dist/types/modules/custom-image/options.d.ts +47 -0
  175. package/dist/types/modules/custom-image/specs/blot-spec.d.ts +12 -0
  176. package/dist/types/modules/custom-image/specs/custom-image-spec.d.ts +17 -0
  177. package/dist/types/modules/custom-image/specs/image-spec.d.ts +8 -0
  178. package/dist/types/modules/custom-image/specs/index.d.ts +3 -0
  179. package/dist/types/modules/custom-uploader.d.ts +40 -0
  180. package/dist/types/modules/divider.d.ts +8 -0
  181. package/dist/types/modules/emoji.d.ts +39 -0
  182. package/dist/types/modules/file/formats/file.d.ts +18 -0
  183. package/dist/types/modules/file/index.d.ts +3 -0
  184. package/dist/types/modules/file/modules/file-bar.d.ts +14 -0
  185. package/dist/types/modules/file/modules/file-module.d.ts +9 -0
  186. package/dist/types/modules/i18n.d.ts +14 -0
  187. package/dist/types/modules/index.d.ts +16 -0
  188. package/dist/types/modules/link/formats/link.d.ts +15 -0
  189. package/dist/types/modules/link/index.d.ts +2 -0
  190. package/dist/types/modules/link/modules/tooltip.d.ts +27 -0
  191. package/dist/types/modules/mathlive/formats.d.ts +22 -0
  192. package/dist/types/modules/mathlive/index.d.ts +3 -0
  193. package/dist/types/modules/mathlive/module.d.ts +9 -0
  194. package/dist/types/modules/mathlive/tooltip.d.ts +18 -0
  195. package/dist/types/modules/mention/constants.d.ts +3 -0
  196. package/dist/types/modules/mention/index.d.ts +2 -0
  197. package/dist/types/modules/mention/mention-link.d.ts +16 -0
  198. package/dist/types/modules/mention/mention.d.ts +53 -0
  199. package/dist/types/modules/shortcut-key/index.d.ts +71 -0
  200. package/dist/types/modules/syntax.d.ts +13 -0
  201. package/dist/types/modules/table-up/index.d.ts +34 -0
  202. package/dist/types/modules/toolbar/better-picker.d.ts +15 -0
  203. package/dist/types/modules/toolbar/better-toolbar.d.ts +7 -0
  204. package/dist/types/modules/toolbar/index.d.ts +3 -0
  205. package/dist/types/modules/toolbar/toolbar-tip.d.ts +9 -0
  206. package/dist/types/themes/snow.d.ts +11 -0
  207. package/dist/types/tools/format-painter.d.ts +13 -0
  208. package/dist/types/tools/fullscreen.d.ts +6 -0
  209. package/dist/types/tools/screenshot.d.ts +19 -0
  210. package/dist/types/ui/icons.config.d.ts +38 -0
  211. package/dist/types/ui/icons.d.ts +6 -0
  212. package/dist/types/utils/debounce.d.ts +6 -0
  213. package/dist/types/utils/image.d.ts +1 -0
  214. package/dist/types/utils/is.d.ts +6 -0
  215. package/dist/types/utils/method.d.ts +6 -0
  216. package/dist/types/utils/scroll-lock.d.ts +6 -0
  217. package/package.json +67 -67
  218. package/scripts/pre-release.cjs +35 -0
  219. package/src/assets/ai.scss +451 -0
  220. package/src/assets/common/config.scss +4 -0
  221. package/src/assets/common.scss +132 -0
  222. package/src/assets/counter.scss +16 -0
  223. package/src/assets/custom-image.scss +19 -0
  224. package/src/assets/editor.scss +351 -0
  225. package/src/assets/fileBar.scss +107 -0
  226. package/src/assets/font.scss +18 -0
  227. package/src/assets/fullscreen.scss +50 -0
  228. package/src/assets/iconfont/iconfont.ttf +0 -0
  229. package/src/assets/iconfont/iconfont.woff +0 -0
  230. package/src/assets/iconfont/iconfont.woff2 +0 -0
  231. package/src/assets/imageBar.scss +98 -0
  232. package/src/assets/lineHeight.scss +15 -0
  233. package/src/assets/link.scss +120 -0
  234. package/src/assets/mathlive.scss +40 -0
  235. package/src/assets/mention.scss +48 -0
  236. package/src/assets/screenshot.scss +78 -0
  237. package/src/assets/size.scss +11 -0
  238. package/src/assets/style.scss +46 -0
  239. package/src/assets/svgs/align-center.svg +41 -0
  240. package/src/assets/svgs/align-justify.svg +8 -0
  241. package/src/assets/svgs/arrow-down.svg +6 -0
  242. package/src/assets/svgs/background-color.svg +7 -0
  243. package/src/assets/svgs/clean.svg +8 -0
  244. package/src/assets/svgs/code-block.svg +5 -0
  245. package/src/assets/svgs/code.svg +25 -0
  246. package/src/assets/svgs/color.svg +7 -0
  247. package/src/assets/svgs/direction-ltr.svg +8 -0
  248. package/src/assets/svgs/direction-rtl.svg +8 -0
  249. package/src/assets/svgs/divider.svg +4 -0
  250. package/src/assets/svgs/emoji.svg +53 -0
  251. package/src/assets/svgs/file.svg +12 -0
  252. package/src/assets/svgs/format-painter.svg +10 -0
  253. package/src/assets/svgs/formula.svg +6 -0
  254. package/src/assets/svgs/fullscreen.svg +43 -0
  255. package/src/assets/svgs/image.svg +17 -0
  256. package/src/assets/svgs/italic.svg +6 -0
  257. package/src/assets/svgs/link.svg +9 -0
  258. package/src/assets/svgs/list-bullet.svg +16 -0
  259. package/src/assets/svgs/list-ordered.svg +18 -0
  260. package/src/assets/svgs/list-task.svg +5 -0
  261. package/src/assets/svgs/redo.svg +8 -0
  262. package/src/assets/svgs/screenshot.svg +17 -0
  263. package/src/assets/svgs/script-sub.svg +15 -0
  264. package/src/assets/svgs/script-super.svg +15 -0
  265. package/src/assets/svgs/strike.svg +6 -0
  266. package/src/assets/svgs/underline.svg +13 -0
  267. package/src/assets/svgs/undo.svg +8 -0
  268. package/src/assets/svgs/video.svg +10 -0
  269. package/src/assets/tasklist.scss +76 -0
  270. package/src/assets/toolbar.scss +385 -0
  271. package/src/assets/variable.scss +9 -0
  272. package/src/assets/video.scss +5 -0
  273. package/src/attributors/font-size.ts +6 -0
  274. package/src/attributors/font-style.ts +6 -0
  275. package/src/attributors/index.ts +4 -0
  276. package/src/attributors/line-height.ts +6 -0
  277. package/src/attributors/text-indent.ts +6 -0
  278. package/src/config/base64-image.ts +5 -0
  279. package/src/config/editor.config.ts +86 -0
  280. package/src/config/editor.utils.ts +193 -0
  281. package/src/config/i18n/en-us.ts +138 -0
  282. package/src/config/i18n/zh-cn.ts +137 -0
  283. package/src/config/index.ts +44 -0
  284. package/src/config/types/editor-config.interface.ts +16 -0
  285. package/src/config/types/editor-modules.interface.ts +47 -0
  286. package/src/config/types/index.ts +3 -0
  287. package/src/config/types/type.ts +2 -0
  288. package/src/core/fluent-editor.ts +31 -0
  289. package/src/fluent-editor.ts +72 -0
  290. package/src/formats/emoji.ts +10 -0
  291. package/src/formats/index.ts +4 -0
  292. package/src/formats/soft-break.ts +27 -0
  293. package/src/formats/strike.ts +11 -0
  294. package/src/formats/video.ts +53 -0
  295. package/src/index.ts +9 -0
  296. package/src/modules/ai/constants.ts +43 -0
  297. package/src/modules/ai/icons.ts +333 -0
  298. package/src/modules/ai/index.ts +850 -0
  299. package/src/modules/ai/types.ts +18 -0
  300. package/src/modules/collaborative-editing/awareness/awareness.ts +141 -0
  301. package/src/modules/collaborative-editing/awareness/index.ts +2 -0
  302. package/src/modules/collaborative-editing/awareness/y-indexeddb.ts +12 -0
  303. package/src/modules/collaborative-editing/collaborative-editing.ts +115 -0
  304. package/src/modules/collaborative-editing/index.ts +2 -0
  305. package/src/modules/collaborative-editing/module.ts +32 -0
  306. package/src/modules/collaborative-editing/provider/index.ts +3 -0
  307. package/src/modules/collaborative-editing/provider/providerRegistry.ts +57 -0
  308. package/src/modules/collaborative-editing/provider/webrtc.ts +125 -0
  309. package/src/modules/collaborative-editing/provider/websocket.ts +142 -0
  310. package/src/modules/collaborative-editing/types.ts +44 -0
  311. package/src/modules/counter.ts +84 -0
  312. package/src/modules/custom-clipboard.ts +537 -0
  313. package/src/modules/custom-image/actions/action.ts +15 -0
  314. package/src/modules/custom-image/actions/custom-resize-action.ts +207 -0
  315. package/src/modules/custom-image/actions/delete-action.ts +32 -0
  316. package/src/modules/custom-image/actions/image-toolbar-buttons.ts +135 -0
  317. package/src/modules/custom-image/actions/index.ts +6 -0
  318. package/src/modules/custom-image/actions/toolbar-action.ts +32 -0
  319. package/src/modules/custom-image/actions/toolbar.ts +145 -0
  320. package/src/modules/custom-image/blot-formatter.ts +158 -0
  321. package/src/modules/custom-image/image.ts +132 -0
  322. package/src/modules/custom-image/index.ts +4 -0
  323. package/src/modules/custom-image/options.ts +139 -0
  324. package/src/modules/custom-image/specs/blot-spec.ts +30 -0
  325. package/src/modules/custom-image/specs/custom-image-spec.ts +131 -0
  326. package/src/modules/custom-image/specs/image-spec.ts +28 -0
  327. package/src/modules/custom-image/specs/index.ts +3 -0
  328. package/src/modules/custom-uploader.ts +101 -0
  329. package/src/modules/divider.ts +15 -0
  330. package/src/modules/emoji.ts +230 -0
  331. package/src/modules/file/formats/file.ts +61 -0
  332. package/src/modules/file/index.ts +3 -0
  333. package/src/modules/file/modules/file-bar.ts +146 -0
  334. package/src/modules/file/modules/file-module.ts +33 -0
  335. package/src/modules/i18n.ts +66 -0
  336. package/src/modules/index.ts +16 -0
  337. package/src/modules/link/formats/link.ts +43 -0
  338. package/src/modules/link/index.ts +2 -0
  339. package/src/modules/link/modules/tooltip.ts +341 -0
  340. package/src/modules/mathlive/formats.ts +39 -0
  341. package/src/modules/mathlive/index.ts +3 -0
  342. package/src/modules/mathlive/module.ts +37 -0
  343. package/src/modules/mathlive/tooltip.ts +87 -0
  344. package/src/modules/mention/constants.ts +3 -0
  345. package/src/modules/mention/index.ts +2 -0
  346. package/src/modules/mention/mention-link.ts +64 -0
  347. package/src/modules/mention/mention.ts +404 -0
  348. package/src/modules/shortcut-key/index.ts +237 -0
  349. package/src/modules/syntax.ts +35 -0
  350. package/src/modules/table-up/index.ts +83 -0
  351. package/src/modules/toolbar/better-picker.ts +67 -0
  352. package/src/modules/toolbar/better-toolbar.ts +176 -0
  353. package/src/modules/toolbar/index.ts +3 -0
  354. package/src/modules/toolbar/toolbar-tip.ts +142 -0
  355. package/src/themes/snow.ts +309 -0
  356. package/src/tools/format-painter.ts +85 -0
  357. package/src/tools/fullscreen.ts +66 -0
  358. package/src/tools/screenshot.ts +231 -0
  359. package/src/ui/icons.config.ts +361 -0
  360. package/src/ui/icons.ts +89 -0
  361. package/src/utils/debounce.ts +150 -0
  362. package/src/utils/image.ts +22 -0
  363. package/src/utils/is.ts +9 -0
  364. package/src/utils/method.ts +77 -0
  365. package/src/utils/scroll-lock.ts +52 -0
  366. package/tsconfig.json +25 -0
  367. package/vite.config.ts +83 -0
  368. package/README.md +0 -88
  369. package/es/_virtual/_commonjs-dynamic-modules.es.js +0 -7
  370. package/es/_virtual/_commonjs-dynamic-modules.es.js.map +0 -1
  371. package/es/_virtual/_commonjsHelpers.es.js +0 -42
  372. package/es/_virtual/_commonjsHelpers.es.js.map +0 -1
  373. package/es/_virtual/quill-cursors.es.js +0 -5
  374. package/es/_virtual/quill-cursors.es.js.map +0 -1
  375. package/es/_virtual/simplepeer.min.es.js +0 -5
  376. package/es/_virtual/simplepeer.min.es.js.map +0 -1
  377. package/es/attributors/line-height.es.js.map +0 -1
  378. package/es/config/base64-image.es.js.map +0 -1
  379. package/es/config/editor.config.es.js.map +0 -1
  380. package/es/config/editor.utils.es.js.map +0 -1
  381. package/es/config/i18n/en-us.es.js.map +0 -1
  382. package/es/config/i18n/zh-cn.es.js.map +0 -1
  383. package/es/config/index.es.js.map +0 -1
  384. package/es/core/fluent-editor.es.js.map +0 -1
  385. package/es/fluent-editor.es.js.map +0 -1
  386. package/es/formats/emoji.es.js.map +0 -1
  387. package/es/formats/soft-break.es.js.map +0 -1
  388. package/es/formats/strike.es.js.map +0 -1
  389. package/es/formats/video.es.js.map +0 -1
  390. package/es/modules/ai/constants.es.js.map +0 -1
  391. package/es/modules/ai/icons.es.js.map +0 -1
  392. package/es/modules/ai/index.es.js.map +0 -1
  393. package/es/modules/collaborative-editing/awareness/awareness.es.js +0 -93
  394. package/es/modules/collaborative-editing/awareness/awareness.es.js.map +0 -1
  395. package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +0 -12
  396. package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +0 -1
  397. package/es/modules/collaborative-editing/collaborative-editing.es.js +0 -105
  398. package/es/modules/collaborative-editing/collaborative-editing.es.js.map +0 -1
  399. package/es/modules/collaborative-editing/module.es.js.map +0 -1
  400. package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +0 -1
  401. package/es/modules/collaborative-editing/provider/webrtc.es.js +0 -99
  402. package/es/modules/collaborative-editing/provider/webrtc.es.js.map +0 -1
  403. package/es/modules/collaborative-editing/provider/websocket.es.js +0 -111
  404. package/es/modules/collaborative-editing/provider/websocket.es.js.map +0 -1
  405. package/es/modules/counter.es.js.map +0 -1
  406. package/es/modules/custom-clipboard.es.js.map +0 -1
  407. package/es/modules/custom-image/actions/action.es.js.map +0 -1
  408. package/es/modules/custom-image/actions/custom-resize-action.es.js.map +0 -1
  409. package/es/modules/custom-image/actions/delete-action.es.js.map +0 -1
  410. package/es/modules/custom-image/blot-formatter.es.js.map +0 -1
  411. package/es/modules/custom-image/image.es.js.map +0 -1
  412. package/es/modules/custom-image/options.es.js.map +0 -1
  413. package/es/modules/custom-image/specs/blot-spec.es.js.map +0 -1
  414. package/es/modules/custom-image/specs/custom-image-spec.es.js.map +0 -1
  415. package/es/modules/custom-image/specs/image-spec.es.js.map +0 -1
  416. package/es/modules/divider.es.js.map +0 -1
  417. package/es/modules/emoji.es.js +0 -163
  418. package/es/modules/emoji.es.js.map +0 -1
  419. package/es/modules/file/formats/file.es.js.map +0 -1
  420. package/es/modules/file/modules/file-bar.es.js.map +0 -1
  421. package/es/modules/file/modules/file-module.es.js.map +0 -1
  422. package/es/modules/link/formats/link.es.js.map +0 -1
  423. package/es/modules/link/modules/tooltip.es.js.map +0 -1
  424. package/es/modules/mathlive/formats.es.js.map +0 -1
  425. package/es/modules/mathlive/tooltip.es.js.map +0 -1
  426. package/es/modules/mention/constants.es.js.map +0 -1
  427. package/es/modules/mention/mention-link.es.js.map +0 -1
  428. package/es/modules/mention/mention.es.js.map +0 -1
  429. package/es/modules/syntax.es.js.map +0 -1
  430. package/es/modules/toolbar/better-picker.es.js.map +0 -1
  431. package/es/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.es.js +0 -40145
  432. package/es/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.es.js.map +0 -1
  433. package/es/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js +0 -938
  434. package/es/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js.map +0 -1
  435. package/es/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js +0 -624
  436. package/es/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js.map +0 -1
  437. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +0 -174
  438. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js.map +0 -1
  439. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js +0 -159
  440. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js.map +0 -1
  441. package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js +0 -2849
  442. package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js.map +0 -1
  443. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.es.js +0 -112
  444. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.es.js.map +0 -1
  445. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.es.js +0 -133
  446. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.es.js.map +0 -1
  447. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.es.js +0 -59
  448. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.es.js.map +0 -1
  449. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.es.js +0 -75
  450. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.es.js.map +0 -1
  451. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.es.js +0 -5
  452. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.es.js.map +0 -1
  453. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.es.js +0 -422
  454. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.es.js.map +0 -1
  455. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.es.js +0 -142
  456. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.es.js.map +0 -1
  457. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.es.js +0 -484
  458. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.es.js.map +0 -1
  459. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.es.js +0 -79
  460. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.es.js.map +0 -1
  461. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.es.js +0 -13
  462. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.es.js.map +0 -1
  463. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.es.js +0 -69
  464. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.es.js.map +0 -1
  465. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.es.js +0 -124
  466. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.es.js.map +0 -1
  467. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.es.js +0 -92
  468. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.es.js.map +0 -1
  469. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.es.js +0 -38
  470. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.es.js.map +0 -1
  471. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.es.js +0 -7
  472. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.es.js.map +0 -1
  473. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.es.js +0 -99
  474. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.es.js.map +0 -1
  475. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.es.js +0 -288
  476. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.es.js.map +0 -1
  477. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.es.js +0 -47
  478. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.es.js.map +0 -1
  479. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.es.js +0 -37
  480. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.es.js.map +0 -1
  481. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.es.js +0 -64
  482. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.es.js.map +0 -1
  483. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.es.js +0 -19
  484. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.es.js.map +0 -1
  485. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.es.js +0 -31
  486. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.es.js.map +0 -1
  487. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.es.js +0 -72
  488. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.es.js.map +0 -1
  489. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.es.js +0 -128
  490. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.es.js.map +0 -1
  491. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.es.js +0 -22
  492. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.es.js.map +0 -1
  493. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.es.js +0 -50
  494. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.es.js.map +0 -1
  495. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.es.js +0 -24
  496. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.es.js.map +0 -1
  497. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.es.js +0 -11
  498. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.es.js.map +0 -1
  499. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.es.js +0 -44
  500. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.es.js.map +0 -1
  501. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.es.js +0 -95
  502. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.es.js.map +0 -1
  503. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.es.js +0 -7
  504. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.es.js.map +0 -1
  505. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.es.js +0 -28
  506. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.es.js.map +0 -1
  507. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.es.js +0 -5
  508. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.es.js.map +0 -1
  509. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.es.js +0 -20
  510. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.es.js.map +0 -1
  511. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.es.js +0 -7
  512. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.es.js.map +0 -1
  513. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.es.js +0 -113
  514. package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.es.js.map +0 -1
  515. package/es/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.es.js +0 -1796
  516. package/es/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.es.js.map +0 -1
  517. package/es/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.es.js +0 -2620
  518. package/es/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.es.js.map +0 -1
  519. package/es/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.es.js +0 -155
  520. package/es/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.es.js.map +0 -1
  521. package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.es.js +0 -20
  522. package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.es.js.map +0 -1
  523. package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.es.js +0 -232
  524. package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.es.js.map +0 -1
  525. package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.es.js +0 -58
  526. package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.es.js.map +0 -1
  527. package/es/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.es.js +0 -157
  528. package/es/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.es.js.map +0 -1
  529. package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.es.js +0 -94
  530. package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.es.js.map +0 -1
  531. package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.es.js +0 -537
  532. package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.es.js.map +0 -1
  533. package/es/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.es.js +0 -380
  534. package/es/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.es.js.map +0 -1
  535. package/es/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.es.js +0 -7653
  536. package/es/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.es.js.map +0 -1
  537. package/es/themes/snow.es.js.map +0 -1
  538. package/es/tools/screenshot.es.js.map +0 -1
  539. package/es/ui/icons.config.es.js.map +0 -1
  540. package/es/ui/icons.es.js.map +0 -1
  541. package/es/utils/debounce.es.js.map +0 -1
  542. package/es/utils/method.es.js.map +0 -1
  543. package/lib/_virtual/_commonjs-dynamic-modules.cjs.js +0 -7
  544. package/lib/_virtual/_commonjs-dynamic-modules.cjs.js.map +0 -1
  545. package/lib/_virtual/_commonjsHelpers.cjs.js +0 -42
  546. package/lib/_virtual/_commonjsHelpers.cjs.js.map +0 -1
  547. package/lib/_virtual/quill-cursors.cjs.js +0 -5
  548. package/lib/_virtual/quill-cursors.cjs.js.map +0 -1
  549. package/lib/_virtual/simplepeer.min.cjs.js +0 -5
  550. package/lib/_virtual/simplepeer.min.cjs.js.map +0 -1
  551. package/lib/attributors/line-height.cjs.js.map +0 -1
  552. package/lib/config/base64-image.cjs.js.map +0 -1
  553. package/lib/config/editor.config.cjs.js.map +0 -1
  554. package/lib/config/editor.utils.cjs.js.map +0 -1
  555. package/lib/config/i18n/en-us.cjs.js.map +0 -1
  556. package/lib/config/i18n/zh-cn.cjs.js.map +0 -1
  557. package/lib/config/index.cjs.js.map +0 -1
  558. package/lib/core/fluent-editor.cjs.js.map +0 -1
  559. package/lib/fluent-editor.cjs.js.map +0 -1
  560. package/lib/formats/emoji.cjs.js.map +0 -1
  561. package/lib/formats/soft-break.cjs.js.map +0 -1
  562. package/lib/formats/strike.cjs.js.map +0 -1
  563. package/lib/formats/video.cjs.js.map +0 -1
  564. package/lib/modules/ai/constants.cjs.js.map +0 -1
  565. package/lib/modules/ai/icons.cjs.js.map +0 -1
  566. package/lib/modules/ai/index.cjs.js.map +0 -1
  567. package/lib/modules/collaborative-editing/awareness/awareness.cjs.js +0 -93
  568. package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +0 -1
  569. package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +0 -12
  570. package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +0 -1
  571. package/lib/modules/collaborative-editing/collaborative-editing.cjs.js +0 -105
  572. package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +0 -1
  573. package/lib/modules/collaborative-editing/module.cjs.js.map +0 -1
  574. package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +0 -1
  575. package/lib/modules/collaborative-editing/provider/webrtc.cjs.js +0 -99
  576. package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +0 -1
  577. package/lib/modules/collaborative-editing/provider/websocket.cjs.js +0 -111
  578. package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +0 -1
  579. package/lib/modules/counter.cjs.js.map +0 -1
  580. package/lib/modules/custom-clipboard.cjs.js.map +0 -1
  581. package/lib/modules/custom-image/actions/action.cjs.js.map +0 -1
  582. package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +0 -1
  583. package/lib/modules/custom-image/actions/delete-action.cjs.js.map +0 -1
  584. package/lib/modules/custom-image/blot-formatter.cjs.js.map +0 -1
  585. package/lib/modules/custom-image/image.cjs.js.map +0 -1
  586. package/lib/modules/custom-image/options.cjs.js.map +0 -1
  587. package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +0 -1
  588. package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +0 -1
  589. package/lib/modules/custom-image/specs/image-spec.cjs.js.map +0 -1
  590. package/lib/modules/divider.cjs.js.map +0 -1
  591. package/lib/modules/emoji.cjs.js +0 -163
  592. package/lib/modules/emoji.cjs.js.map +0 -1
  593. package/lib/modules/file/formats/file.cjs.js.map +0 -1
  594. package/lib/modules/file/modules/file-bar.cjs.js.map +0 -1
  595. package/lib/modules/file/modules/file-module.cjs.js.map +0 -1
  596. package/lib/modules/link/formats/link.cjs.js.map +0 -1
  597. package/lib/modules/link/modules/tooltip.cjs.js.map +0 -1
  598. package/lib/modules/mathlive/formats.cjs.js.map +0 -1
  599. package/lib/modules/mathlive/tooltip.cjs.js.map +0 -1
  600. package/lib/modules/mention/constants.cjs.js.map +0 -1
  601. package/lib/modules/mention/mention-link.cjs.js.map +0 -1
  602. package/lib/modules/mention/mention.cjs.js.map +0 -1
  603. package/lib/modules/syntax.cjs.js.map +0 -1
  604. package/lib/modules/toolbar/better-picker.cjs.js.map +0 -1
  605. package/lib/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.cjs.js +0 -40145
  606. package/lib/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.cjs.js.map +0 -1
  607. package/lib/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js +0 -938
  608. package/lib/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js.map +0 -1
  609. package/lib/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js +0 -624
  610. package/lib/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js.map +0 -1
  611. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js +0 -159
  612. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js.map +0 -1
  613. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +0 -174
  614. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js.map +0 -1
  615. package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js +0 -2847
  616. package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js.map +0 -1
  617. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.cjs.js +0 -112
  618. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.cjs.js.map +0 -1
  619. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.cjs.js +0 -133
  620. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.cjs.js.map +0 -1
  621. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.cjs.js +0 -59
  622. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.cjs.js.map +0 -1
  623. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.cjs.js +0 -75
  624. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.cjs.js.map +0 -1
  625. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.cjs.js +0 -5
  626. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.cjs.js.map +0 -1
  627. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.cjs.js +0 -422
  628. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.cjs.js.map +0 -1
  629. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.cjs.js +0 -142
  630. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.cjs.js.map +0 -1
  631. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.cjs.js +0 -484
  632. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.cjs.js.map +0 -1
  633. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.cjs.js +0 -79
  634. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.cjs.js.map +0 -1
  635. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.cjs.js +0 -13
  636. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.cjs.js.map +0 -1
  637. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.cjs.js +0 -69
  638. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.cjs.js.map +0 -1
  639. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.cjs.js +0 -124
  640. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.cjs.js.map +0 -1
  641. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.cjs.js +0 -92
  642. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.cjs.js.map +0 -1
  643. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.cjs.js +0 -38
  644. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.cjs.js.map +0 -1
  645. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.cjs.js +0 -7
  646. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.cjs.js.map +0 -1
  647. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.cjs.js +0 -288
  648. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.cjs.js.map +0 -1
  649. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.cjs.js +0 -99
  650. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.cjs.js.map +0 -1
  651. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.cjs.js +0 -47
  652. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.cjs.js.map +0 -1
  653. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.cjs.js +0 -37
  654. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.cjs.js.map +0 -1
  655. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.cjs.js +0 -64
  656. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.cjs.js.map +0 -1
  657. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.cjs.js +0 -19
  658. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.cjs.js.map +0 -1
  659. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.cjs.js +0 -31
  660. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.cjs.js.map +0 -1
  661. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.cjs.js +0 -72
  662. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.cjs.js.map +0 -1
  663. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.cjs.js +0 -128
  664. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.cjs.js.map +0 -1
  665. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.cjs.js +0 -22
  666. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.cjs.js.map +0 -1
  667. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.cjs.js +0 -50
  668. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.cjs.js.map +0 -1
  669. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.cjs.js +0 -24
  670. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.cjs.js.map +0 -1
  671. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.cjs.js +0 -11
  672. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.cjs.js.map +0 -1
  673. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.cjs.js +0 -44
  674. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.cjs.js.map +0 -1
  675. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.cjs.js +0 -94
  676. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.cjs.js.map +0 -1
  677. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.cjs.js +0 -7
  678. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.cjs.js.map +0 -1
  679. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.cjs.js +0 -28
  680. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.cjs.js.map +0 -1
  681. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.cjs.js +0 -5
  682. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.cjs.js.map +0 -1
  683. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.cjs.js +0 -20
  684. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.cjs.js.map +0 -1
  685. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.cjs.js +0 -7
  686. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.cjs.js.map +0 -1
  687. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.cjs.js +0 -113
  688. package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.cjs.js.map +0 -1
  689. package/lib/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.cjs.js +0 -1796
  690. package/lib/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.cjs.js.map +0 -1
  691. package/lib/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.cjs.js +0 -2620
  692. package/lib/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.cjs.js.map +0 -1
  693. package/lib/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.cjs.js +0 -155
  694. package/lib/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.cjs.js.map +0 -1
  695. package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.cjs.js +0 -20
  696. package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.cjs.js.map +0 -1
  697. package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.cjs.js +0 -232
  698. package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.cjs.js.map +0 -1
  699. package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.cjs.js +0 -58
  700. package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.cjs.js.map +0 -1
  701. package/lib/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.cjs.js +0 -157
  702. package/lib/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.cjs.js.map +0 -1
  703. package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.cjs.js +0 -94
  704. package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.cjs.js.map +0 -1
  705. package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.cjs.js +0 -537
  706. package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.cjs.js.map +0 -1
  707. package/lib/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.cjs.js +0 -380
  708. package/lib/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.cjs.js.map +0 -1
  709. package/lib/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.cjs.js +0 -7653
  710. package/lib/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.cjs.js.map +0 -1
  711. package/lib/themes/snow.cjs.js.map +0 -1
  712. package/lib/tools/screenshot.cjs.js.map +0 -1
  713. package/lib/ui/icons.cjs.js.map +0 -1
  714. package/lib/ui/icons.config.cjs.js.map +0 -1
  715. package/lib/utils/debounce.cjs.js.map +0 -1
  716. package/lib/utils/method.cjs.js.map +0 -1
  717. package/types/attributors/font-size.d.ts +0 -1
  718. package/types/attributors/font-style.d.ts +0 -1
  719. package/types/attributors/index.d.ts +0 -4
  720. package/types/attributors/line-height.d.ts +0 -1
  721. package/types/attributors/text-indent.d.ts +0 -1
  722. package/types/config/base64-image.d.ts +0 -2
  723. package/types/config/editor.config.d.ts +0 -11
  724. package/types/config/editor.utils.d.ts +0 -40
  725. package/types/config/i18n/en-us.d.ts +0 -123
  726. package/types/config/i18n/zh-cn.d.ts +0 -123
  727. package/types/config/index.d.ts +0 -7
  728. package/types/config/types/editor-config.interface.d.ts +0 -15
  729. package/types/config/types/editor-modules.interface.d.ts +0 -42
  730. package/types/config/types/index.d.ts +0 -3
  731. package/types/config/types/type.d.ts +0 -2
  732. package/types/core/fluent-editor.d.ts +0 -14
  733. package/types/fluent-editor.d.ts +0 -3
  734. package/types/formats/emoji.d.ts +0 -9
  735. package/types/formats/index.d.ts +0 -4
  736. package/types/formats/soft-break.d.ts +0 -13
  737. package/types/formats/strike.d.ts +0 -9
  738. package/types/formats/video.d.ts +0 -14
  739. package/types/index.d.ts +0 -9
  740. package/types/modules/ai/constants.d.ts +0 -30
  741. package/types/modules/ai/icons.d.ts +0 -21
  742. package/types/modules/ai/index.d.ts +0 -97
  743. package/types/modules/ai/types.d.ts +0 -16
  744. package/types/modules/collaborative-editing/awareness/awareness.d.ts +0 -29
  745. package/types/modules/collaborative-editing/awareness/index.d.ts +0 -2
  746. package/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +0 -3
  747. package/types/modules/collaborative-editing/collaborative-editing.d.ts +0 -25
  748. package/types/modules/collaborative-editing/index.d.ts +0 -2
  749. package/types/modules/collaborative-editing/module.d.ts +0 -12
  750. package/types/modules/collaborative-editing/provider/index.d.ts +0 -3
  751. package/types/modules/collaborative-editing/provider/providerRegistry.d.ts +0 -26
  752. package/types/modules/collaborative-editing/provider/webrtc.d.ts +0 -37
  753. package/types/modules/collaborative-editing/provider/websocket.d.ts +0 -41
  754. package/types/modules/collaborative-editing/types.d.ts +0 -37
  755. package/types/modules/counter.d.ts +0 -24
  756. package/types/modules/custom-clipboard.d.ts +0 -26
  757. package/types/modules/custom-image/actions/action.d.ts +0 -9
  758. package/types/modules/custom-image/actions/custom-resize-action.d.ts +0 -24
  759. package/types/modules/custom-image/actions/delete-action.d.ts +0 -7
  760. package/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +0 -17
  761. package/types/modules/custom-image/actions/index.d.ts +0 -6
  762. package/types/modules/custom-image/actions/toolbar-action.d.ts +0 -12
  763. package/types/modules/custom-image/actions/toolbar.d.ts +0 -20
  764. package/types/modules/custom-image/blot-formatter.d.ts +0 -24
  765. package/types/modules/custom-image/image.d.ts +0 -29
  766. package/types/modules/custom-image/index.d.ts +0 -4
  767. package/types/modules/custom-image/options.d.ts +0 -48
  768. package/types/modules/custom-image/specs/blot-spec.d.ts +0 -13
  769. package/types/modules/custom-image/specs/custom-image-spec.d.ts +0 -18
  770. package/types/modules/custom-image/specs/image-spec.d.ts +0 -9
  771. package/types/modules/custom-image/specs/index.d.ts +0 -3
  772. package/types/modules/custom-uploader.d.ts +0 -41
  773. package/types/modules/divider.d.ts +0 -9
  774. package/types/modules/emoji.d.ts +0 -34
  775. package/types/modules/file/formats/file.d.ts +0 -19
  776. package/types/modules/file/index.d.ts +0 -3
  777. package/types/modules/file/modules/file-bar.d.ts +0 -14
  778. package/types/modules/file/modules/file-module.d.ts +0 -10
  779. package/types/modules/i18n.d.ts +0 -15
  780. package/types/modules/index.d.ts +0 -16
  781. package/types/modules/link/formats/link.d.ts +0 -16
  782. package/types/modules/link/index.d.ts +0 -2
  783. package/types/modules/link/modules/tooltip.d.ts +0 -28
  784. package/types/modules/mathlive/formats.d.ts +0 -23
  785. package/types/modules/mathlive/index.d.ts +0 -3
  786. package/types/modules/mathlive/module.d.ts +0 -10
  787. package/types/modules/mathlive/tooltip.d.ts +0 -19
  788. package/types/modules/mention/constants.d.ts +0 -3
  789. package/types/modules/mention/index.d.ts +0 -2
  790. package/types/modules/mention/mention-link.d.ts +0 -17
  791. package/types/modules/mention/mention.d.ts +0 -54
  792. package/types/modules/shortcut-key/index.d.ts +0 -72
  793. package/types/modules/syntax.d.ts +0 -14
  794. package/types/modules/table-up/index.d.ts +0 -35
  795. package/types/modules/toolbar/better-picker.d.ts +0 -16
  796. package/types/modules/toolbar/better-toolbar.d.ts +0 -8
  797. package/types/modules/toolbar/index.d.ts +0 -3
  798. package/types/modules/toolbar/toolbar-tip.d.ts +0 -10
  799. package/types/themes/snow.d.ts +0 -12
  800. package/types/tools/format-painter.d.ts +0 -14
  801. package/types/tools/fullscreen.d.ts +0 -7
  802. package/types/tools/screenshot.d.ts +0 -20
  803. package/types/ui/icons.config.d.ts +0 -38
  804. package/types/ui/icons.d.ts +0 -6
  805. package/types/utils/debounce.d.ts +0 -6
  806. package/types/utils/image.d.ts +0 -1
  807. package/types/utils/is.d.ts +0 -6
  808. package/types/utils/method.d.ts +0 -6
  809. package/types/utils/scroll-lock.d.ts +0 -6
  810. /package/{es → dist/es}/attributors/font-size.es.js +0 -0
  811. /package/{es → dist/es}/attributors/font-size.es.js.map +0 -0
  812. /package/{es → dist/es}/attributors/font-style.es.js +0 -0
  813. /package/{es → dist/es}/attributors/font-style.es.js.map +0 -0
  814. /package/{es → dist/es}/attributors/index.es.js +0 -0
  815. /package/{es → dist/es}/attributors/index.es.js.map +0 -0
  816. /package/{es → dist/es}/attributors/line-height.es.js +0 -0
  817. /package/{es → dist/es}/attributors/text-indent.es.js +0 -0
  818. /package/{es → dist/es}/attributors/text-indent.es.js.map +0 -0
  819. /package/{es → dist/es}/config/base64-image.es.js +0 -0
  820. /package/{es → dist/es}/config/editor.config.es.js +0 -0
  821. /package/{es → dist/es}/config/editor.utils.es.js +0 -0
  822. /package/{es → dist/es}/config/i18n/en-us.es.js +0 -0
  823. /package/{es → dist/es}/config/i18n/zh-cn.es.js +0 -0
  824. /package/{es → dist/es}/config/index.es.js +0 -0
  825. /package/{es → dist/es}/config/types/editor-config.interface.es.js +0 -0
  826. /package/{es → dist/es}/config/types/editor-config.interface.es.js.map +0 -0
  827. /package/{es → dist/es}/config/types/editor-modules.interface.es.js +0 -0
  828. /package/{es → dist/es}/config/types/editor-modules.interface.es.js.map +0 -0
  829. /package/{es → dist/es}/config/types/index.es.js +0 -0
  830. /package/{es → dist/es}/config/types/index.es.js.map +0 -0
  831. /package/{es → dist/es}/config/types/type.es.js +0 -0
  832. /package/{es → dist/es}/config/types/type.es.js.map +0 -0
  833. /package/{es → dist/es}/core/fluent-editor.es.js +0 -0
  834. /package/{es → dist/es}/fluent-editor.es.js +0 -0
  835. /package/{es → dist/es}/formats/emoji.es.js +0 -0
  836. /package/{es → dist/es}/formats/index.es.js +0 -0
  837. /package/{es → dist/es}/formats/index.es.js.map +0 -0
  838. /package/{es → dist/es}/formats/soft-break.es.js +0 -0
  839. /package/{es → dist/es}/formats/strike.es.js +0 -0
  840. /package/{es → dist/es}/formats/video.es.js +0 -0
  841. /package/{es → dist/es}/index.es.js +0 -0
  842. /package/{es → dist/es}/index.es.js.map +0 -0
  843. /package/{es → dist/es}/modules/ai/constants.es.js +0 -0
  844. /package/{es → dist/es}/modules/ai/icons.es.js +0 -0
  845. /package/{es → dist/es}/modules/ai/index.es.js +0 -0
  846. /package/{es → dist/es}/modules/collaborative-editing/awareness/index.es.js +0 -0
  847. /package/{es → dist/es}/modules/collaborative-editing/awareness/index.es.js.map +0 -0
  848. /package/{es → dist/es}/modules/collaborative-editing/index.es.js +0 -0
  849. /package/{es → dist/es}/modules/collaborative-editing/index.es.js.map +0 -0
  850. /package/{es → dist/es}/modules/collaborative-editing/module.es.js +0 -0
  851. /package/{es → dist/es}/modules/collaborative-editing/provider/providerRegistry.es.js +0 -0
  852. /package/{es → dist/es}/modules/collaborative-editing/types.es.js +0 -0
  853. /package/{es → dist/es}/modules/collaborative-editing/types.es.js.map +0 -0
  854. /package/{es → dist/es}/modules/counter.es.js +0 -0
  855. /package/{es → dist/es}/modules/custom-clipboard.es.js +0 -0
  856. /package/{es → dist/es}/modules/custom-image/actions/action.es.js +0 -0
  857. /package/{es → dist/es}/modules/custom-image/actions/custom-resize-action.es.js +0 -0
  858. /package/{es → dist/es}/modules/custom-image/actions/delete-action.es.js +0 -0
  859. /package/{es → dist/es}/modules/custom-image/actions/image-toolbar-buttons.es.js +0 -0
  860. /package/{es → dist/es}/modules/custom-image/actions/image-toolbar-buttons.es.js.map +0 -0
  861. /package/{es → dist/es}/modules/custom-image/actions/index.es.js +0 -0
  862. /package/{es → dist/es}/modules/custom-image/actions/index.es.js.map +0 -0
  863. /package/{es → dist/es}/modules/custom-image/actions/toolbar-action.es.js +0 -0
  864. /package/{es → dist/es}/modules/custom-image/actions/toolbar-action.es.js.map +0 -0
  865. /package/{es → dist/es}/modules/custom-image/actions/toolbar.es.js +0 -0
  866. /package/{es → dist/es}/modules/custom-image/actions/toolbar.es.js.map +0 -0
  867. /package/{es → dist/es}/modules/custom-image/blot-formatter.es.js +0 -0
  868. /package/{es → dist/es}/modules/custom-image/image.es.js +0 -0
  869. /package/{es → dist/es}/modules/custom-image/index.es.js +0 -0
  870. /package/{es → dist/es}/modules/custom-image/index.es.js.map +0 -0
  871. /package/{es → dist/es}/modules/custom-image/options.es.js +0 -0
  872. /package/{es → dist/es}/modules/custom-image/specs/blot-spec.es.js +0 -0
  873. /package/{es → dist/es}/modules/custom-image/specs/custom-image-spec.es.js +0 -0
  874. /package/{es → dist/es}/modules/custom-image/specs/image-spec.es.js +0 -0
  875. /package/{es → dist/es}/modules/custom-image/specs/index.es.js +0 -0
  876. /package/{es → dist/es}/modules/custom-image/specs/index.es.js.map +0 -0
  877. /package/{es → dist/es}/modules/custom-uploader.es.js +0 -0
  878. /package/{es → dist/es}/modules/custom-uploader.es.js.map +0 -0
  879. /package/{es → dist/es}/modules/divider.es.js +0 -0
  880. /package/{es → dist/es}/modules/file/formats/file.es.js +0 -0
  881. /package/{es → dist/es}/modules/file/index.es.js +0 -0
  882. /package/{es → dist/es}/modules/file/index.es.js.map +0 -0
  883. /package/{es → dist/es}/modules/file/modules/file-bar.es.js +0 -0
  884. /package/{es → dist/es}/modules/file/modules/file-module.es.js +0 -0
  885. /package/{es → dist/es}/modules/i18n.es.js +0 -0
  886. /package/{es → dist/es}/modules/i18n.es.js.map +0 -0
  887. /package/{es → dist/es}/modules/index.es.js +0 -0
  888. /package/{es → dist/es}/modules/index.es.js.map +0 -0
  889. /package/{es → dist/es}/modules/link/formats/link.es.js +0 -0
  890. /package/{es → dist/es}/modules/link/index.es.js +0 -0
  891. /package/{es → dist/es}/modules/link/index.es.js.map +0 -0
  892. /package/{es → dist/es}/modules/link/modules/tooltip.es.js +0 -0
  893. /package/{es → dist/es}/modules/mathlive/formats.es.js +0 -0
  894. /package/{es → dist/es}/modules/mathlive/index.es.js +0 -0
  895. /package/{es → dist/es}/modules/mathlive/index.es.js.map +0 -0
  896. /package/{es → dist/es}/modules/mathlive/module.es.js +0 -0
  897. /package/{es → dist/es}/modules/mathlive/module.es.js.map +0 -0
  898. /package/{es → dist/es}/modules/mathlive/tooltip.es.js +0 -0
  899. /package/{es → dist/es}/modules/mention/constants.es.js +0 -0
  900. /package/{es → dist/es}/modules/mention/index.es.js +0 -0
  901. /package/{es → dist/es}/modules/mention/index.es.js.map +0 -0
  902. /package/{es → dist/es}/modules/mention/mention-link.es.js +0 -0
  903. /package/{es → dist/es}/modules/mention/mention.es.js +0 -0
  904. /package/{es → dist/es}/modules/shortcut-key/index.es.js +0 -0
  905. /package/{es → dist/es}/modules/shortcut-key/index.es.js.map +0 -0
  906. /package/{es → dist/es}/modules/syntax.es.js +0 -0
  907. /package/{es → dist/es}/modules/table-up/index.es.js +0 -0
  908. /package/{es → dist/es}/modules/table-up/index.es.js.map +0 -0
  909. /package/{es → dist/es}/modules/toolbar/better-picker.es.js +0 -0
  910. /package/{es → dist/es}/modules/toolbar/better-toolbar.es.js +0 -0
  911. /package/{es → dist/es}/modules/toolbar/better-toolbar.es.js.map +0 -0
  912. /package/{es → dist/es}/modules/toolbar/index.es.js +0 -0
  913. /package/{es → dist/es}/modules/toolbar/index.es.js.map +0 -0
  914. /package/{es → dist/es}/modules/toolbar/toolbar-tip.es.js +0 -0
  915. /package/{es → dist/es}/modules/toolbar/toolbar-tip.es.js.map +0 -0
  916. /package/{es → dist/es}/themes/snow.es.js +0 -0
  917. /package/{es → dist/es}/tools/format-painter.es.js +0 -0
  918. /package/{es → dist/es}/tools/format-painter.es.js.map +0 -0
  919. /package/{es → dist/es}/tools/fullscreen.es.js +0 -0
  920. /package/{es → dist/es}/tools/fullscreen.es.js.map +0 -0
  921. /package/{es → dist/es}/tools/screenshot.es.js +0 -0
  922. /package/{es → dist/es}/ui/icons.config.es.js +0 -0
  923. /package/{es → dist/es}/ui/icons.es.js +0 -0
  924. /package/{es → dist/es}/utils/debounce.es.js +0 -0
  925. /package/{es → dist/es}/utils/image.es.js +0 -0
  926. /package/{es → dist/es}/utils/image.es.js.map +0 -0
  927. /package/{es → dist/es}/utils/is.es.js +0 -0
  928. /package/{es → dist/es}/utils/is.es.js.map +0 -0
  929. /package/{es → dist/es}/utils/method.es.js +0 -0
  930. /package/{es → dist/es}/utils/scroll-lock.es.js +0 -0
  931. /package/{es → dist/es}/utils/scroll-lock.es.js.map +0 -0
  932. /package/{lib → dist/lib}/attributors/font-size.cjs.js +0 -0
  933. /package/{lib → dist/lib}/attributors/font-size.cjs.js.map +0 -0
  934. /package/{lib → dist/lib}/attributors/font-style.cjs.js +0 -0
  935. /package/{lib → dist/lib}/attributors/font-style.cjs.js.map +0 -0
  936. /package/{lib → dist/lib}/attributors/index.cjs.js +0 -0
  937. /package/{lib → dist/lib}/attributors/index.cjs.js.map +0 -0
  938. /package/{lib → dist/lib}/attributors/line-height.cjs.js +0 -0
  939. /package/{lib → dist/lib}/attributors/text-indent.cjs.js +0 -0
  940. /package/{lib → dist/lib}/attributors/text-indent.cjs.js.map +0 -0
  941. /package/{lib → dist/lib}/config/base64-image.cjs.js +0 -0
  942. /package/{lib → dist/lib}/config/editor.config.cjs.js +0 -0
  943. /package/{lib → dist/lib}/config/editor.utils.cjs.js +0 -0
  944. /package/{lib → dist/lib}/config/i18n/en-us.cjs.js +0 -0
  945. /package/{lib → dist/lib}/config/i18n/zh-cn.cjs.js +0 -0
  946. /package/{lib → dist/lib}/config/index.cjs.js +0 -0
  947. /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js +0 -0
  948. /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js.map +0 -0
  949. /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js +0 -0
  950. /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
  951. /package/{lib → dist/lib}/config/types/index.cjs.js +0 -0
  952. /package/{lib → dist/lib}/config/types/index.cjs.js.map +0 -0
  953. /package/{lib → dist/lib}/config/types/type.cjs.js +0 -0
  954. /package/{lib → dist/lib}/config/types/type.cjs.js.map +0 -0
  955. /package/{lib → dist/lib}/core/fluent-editor.cjs.js +0 -0
  956. /package/{lib → dist/lib}/fluent-editor.cjs.js +0 -0
  957. /package/{lib → dist/lib}/formats/emoji.cjs.js +0 -0
  958. /package/{lib → dist/lib}/formats/index.cjs.js +0 -0
  959. /package/{lib → dist/lib}/formats/index.cjs.js.map +0 -0
  960. /package/{lib → dist/lib}/formats/soft-break.cjs.js +0 -0
  961. /package/{lib → dist/lib}/formats/strike.cjs.js +0 -0
  962. /package/{lib → dist/lib}/formats/video.cjs.js +0 -0
  963. /package/{lib → dist/lib}/index.cjs.js +0 -0
  964. /package/{lib → dist/lib}/index.cjs.js.map +0 -0
  965. /package/{lib → dist/lib}/modules/ai/constants.cjs.js +0 -0
  966. /package/{lib → dist/lib}/modules/ai/icons.cjs.js +0 -0
  967. /package/{lib → dist/lib}/modules/ai/index.cjs.js +0 -0
  968. /package/{lib → dist/lib}/modules/collaborative-editing/awareness/index.cjs.js +0 -0
  969. /package/{lib → dist/lib}/modules/collaborative-editing/awareness/index.cjs.js.map +0 -0
  970. /package/{lib → dist/lib}/modules/collaborative-editing/index.cjs.js +0 -0
  971. /package/{lib → dist/lib}/modules/collaborative-editing/index.cjs.js.map +0 -0
  972. /package/{lib → dist/lib}/modules/collaborative-editing/module.cjs.js +0 -0
  973. /package/{lib → dist/lib}/modules/collaborative-editing/provider/providerRegistry.cjs.js +0 -0
  974. /package/{lib → dist/lib}/modules/collaborative-editing/types.cjs.js +0 -0
  975. /package/{lib → dist/lib}/modules/collaborative-editing/types.cjs.js.map +0 -0
  976. /package/{lib → dist/lib}/modules/counter.cjs.js +0 -0
  977. /package/{lib → dist/lib}/modules/custom-clipboard.cjs.js +0 -0
  978. /package/{lib → dist/lib}/modules/custom-image/actions/action.cjs.js +0 -0
  979. /package/{lib → dist/lib}/modules/custom-image/actions/custom-resize-action.cjs.js +0 -0
  980. /package/{lib → dist/lib}/modules/custom-image/actions/delete-action.cjs.js +0 -0
  981. /package/{lib → dist/lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js +0 -0
  982. /package/{lib → dist/lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +0 -0
  983. /package/{lib → dist/lib}/modules/custom-image/actions/index.cjs.js +0 -0
  984. /package/{lib → dist/lib}/modules/custom-image/actions/index.cjs.js.map +0 -0
  985. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar-action.cjs.js +0 -0
  986. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar-action.cjs.js.map +0 -0
  987. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar.cjs.js +0 -0
  988. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar.cjs.js.map +0 -0
  989. /package/{lib → dist/lib}/modules/custom-image/blot-formatter.cjs.js +0 -0
  990. /package/{lib → dist/lib}/modules/custom-image/image.cjs.js +0 -0
  991. /package/{lib → dist/lib}/modules/custom-image/index.cjs.js +0 -0
  992. /package/{lib → dist/lib}/modules/custom-image/index.cjs.js.map +0 -0
  993. /package/{lib → dist/lib}/modules/custom-image/options.cjs.js +0 -0
  994. /package/{lib → dist/lib}/modules/custom-image/specs/blot-spec.cjs.js +0 -0
  995. /package/{lib → dist/lib}/modules/custom-image/specs/custom-image-spec.cjs.js +0 -0
  996. /package/{lib → dist/lib}/modules/custom-image/specs/image-spec.cjs.js +0 -0
  997. /package/{lib → dist/lib}/modules/custom-image/specs/index.cjs.js +0 -0
  998. /package/{lib → dist/lib}/modules/custom-image/specs/index.cjs.js.map +0 -0
  999. /package/{lib → dist/lib}/modules/custom-uploader.cjs.js +0 -0
  1000. /package/{lib → dist/lib}/modules/custom-uploader.cjs.js.map +0 -0
  1001. /package/{lib → dist/lib}/modules/divider.cjs.js +0 -0
  1002. /package/{lib → dist/lib}/modules/file/formats/file.cjs.js +0 -0
  1003. /package/{lib → dist/lib}/modules/file/index.cjs.js +0 -0
  1004. /package/{lib → dist/lib}/modules/file/index.cjs.js.map +0 -0
  1005. /package/{lib → dist/lib}/modules/file/modules/file-bar.cjs.js +0 -0
  1006. /package/{lib → dist/lib}/modules/file/modules/file-module.cjs.js +0 -0
  1007. /package/{lib → dist/lib}/modules/i18n.cjs.js +0 -0
  1008. /package/{lib → dist/lib}/modules/i18n.cjs.js.map +0 -0
  1009. /package/{lib → dist/lib}/modules/index.cjs.js +0 -0
  1010. /package/{lib → dist/lib}/modules/index.cjs.js.map +0 -0
  1011. /package/{lib → dist/lib}/modules/link/formats/link.cjs.js +0 -0
  1012. /package/{lib → dist/lib}/modules/link/index.cjs.js +0 -0
  1013. /package/{lib → dist/lib}/modules/link/index.cjs.js.map +0 -0
  1014. /package/{lib → dist/lib}/modules/link/modules/tooltip.cjs.js +0 -0
  1015. /package/{lib → dist/lib}/modules/mathlive/formats.cjs.js +0 -0
  1016. /package/{lib → dist/lib}/modules/mathlive/index.cjs.js +0 -0
  1017. /package/{lib → dist/lib}/modules/mathlive/index.cjs.js.map +0 -0
  1018. /package/{lib → dist/lib}/modules/mathlive/module.cjs.js +0 -0
  1019. /package/{lib → dist/lib}/modules/mathlive/module.cjs.js.map +0 -0
  1020. /package/{lib → dist/lib}/modules/mathlive/tooltip.cjs.js +0 -0
  1021. /package/{lib → dist/lib}/modules/mention/constants.cjs.js +0 -0
  1022. /package/{lib → dist/lib}/modules/mention/index.cjs.js +0 -0
  1023. /package/{lib → dist/lib}/modules/mention/index.cjs.js.map +0 -0
  1024. /package/{lib → dist/lib}/modules/mention/mention-link.cjs.js +0 -0
  1025. /package/{lib → dist/lib}/modules/mention/mention.cjs.js +0 -0
  1026. /package/{lib → dist/lib}/modules/shortcut-key/index.cjs.js +0 -0
  1027. /package/{lib → dist/lib}/modules/shortcut-key/index.cjs.js.map +0 -0
  1028. /package/{lib → dist/lib}/modules/syntax.cjs.js +0 -0
  1029. /package/{lib → dist/lib}/modules/table-up/index.cjs.js +0 -0
  1030. /package/{lib → dist/lib}/modules/table-up/index.cjs.js.map +0 -0
  1031. /package/{lib → dist/lib}/modules/toolbar/better-picker.cjs.js +0 -0
  1032. /package/{lib → dist/lib}/modules/toolbar/better-toolbar.cjs.js +0 -0
  1033. /package/{lib → dist/lib}/modules/toolbar/better-toolbar.cjs.js.map +0 -0
  1034. /package/{lib → dist/lib}/modules/toolbar/index.cjs.js +0 -0
  1035. /package/{lib → dist/lib}/modules/toolbar/index.cjs.js.map +0 -0
  1036. /package/{lib → dist/lib}/modules/toolbar/toolbar-tip.cjs.js +0 -0
  1037. /package/{lib → dist/lib}/modules/toolbar/toolbar-tip.cjs.js.map +0 -0
  1038. /package/{lib → dist/lib}/themes/snow.cjs.js +0 -0
  1039. /package/{lib → dist/lib}/tools/format-painter.cjs.js +0 -0
  1040. /package/{lib → dist/lib}/tools/format-painter.cjs.js.map +0 -0
  1041. /package/{lib → dist/lib}/tools/fullscreen.cjs.js +0 -0
  1042. /package/{lib → dist/lib}/tools/fullscreen.cjs.js.map +0 -0
  1043. /package/{lib → dist/lib}/tools/screenshot.cjs.js +0 -0
  1044. /package/{lib → dist/lib}/ui/icons.cjs.js +0 -0
  1045. /package/{lib → dist/lib}/ui/icons.config.cjs.js +0 -0
  1046. /package/{lib → dist/lib}/utils/debounce.cjs.js +0 -0
  1047. /package/{lib → dist/lib}/utils/image.cjs.js +0 -0
  1048. /package/{lib → dist/lib}/utils/image.cjs.js.map +0 -0
  1049. /package/{lib → dist/lib}/utils/is.cjs.js +0 -0
  1050. /package/{lib → dist/lib}/utils/is.cjs.js.map +0 -0
  1051. /package/{lib → dist/lib}/utils/method.cjs.js +0 -0
  1052. /package/{lib → dist/lib}/utils/scroll-lock.cjs.js +0 -0
  1053. /package/{lib → dist/lib}/utils/scroll-lock.cjs.js.map +0 -0
  1054. /package/{style.css → dist/style.css} +0 -0
@@ -0,0 +1,158 @@
1
+ import type FluentEditor from '../../core/fluent-editor'
2
+ import type { Action } from './actions'
3
+ import type { BlotFormatterOptions } from './options'
4
+ import type { BlotSpec } from './specs'
5
+ import { merge as deepmerge } from 'lodash-es'
6
+ import Quill from 'quill'
7
+ import { CustomImage } from './image'
8
+ import DefaultOptions from './options'
9
+ import { CustomImageSpec } from './specs'
10
+
11
+ const dontMerge = (_destination: Array<any>, source: Array<any>) => source
12
+
13
+ export class BlotFormatter {
14
+ options: BlotFormatterOptions
15
+ currentSpec: BlotSpec
16
+ specs: BlotSpec[]
17
+ overlay: HTMLElement
18
+ actions: Action[]
19
+ observer: MutationObserver
20
+
21
+ static register() {
22
+ Quill.register({
23
+ 'formats/image': CustomImage,
24
+ 'modules/image-spec': CustomImageSpec,
25
+ }, true)
26
+ }
27
+
28
+ constructor(public quill: FluentEditor, options: Partial<BlotFormatterOptions> = {}) {
29
+ this.options = deepmerge({}, DefaultOptions, options, { arrayMerge: dontMerge })
30
+ if (options.allowInvalidUrl !== undefined) {
31
+ this.options.allowInvalidUrl = options.allowInvalidUrl
32
+ }
33
+ CustomImage.setOptions(this.options.allowInvalidUrl)
34
+ this.currentSpec = null
35
+ this.actions = []
36
+ this.overlay = document.createElement('div')
37
+ this.overlay.classList.add(this.options.overlay.className)
38
+ if (this.options.overlay.style) {
39
+ Object.assign(this.overlay.style, this.options.overlay.style)
40
+ }
41
+
42
+ // disable native image resizing on firefox
43
+ document.execCommand('enableObjectResizing', false, 'false') // eslint-disable-next-line-line no-undef
44
+ this.quill.root.addEventListener('click', this.onClick)
45
+ this.specs = this.options.specs.map((SpecClass: any) => new SpecClass(this))
46
+ this.specs.forEach(spec => spec.init())
47
+ }
48
+
49
+ show(spec: BlotSpec) {
50
+ this.currentSpec = spec
51
+ this.currentSpec.setSelection()
52
+ this.setUserSelect('none')
53
+ this.quill.root.parentNode.appendChild(this.overlay)
54
+ this.repositionOverlay()
55
+ this.createActions(spec)
56
+
57
+ // fix: 图片对齐之后,虚线外框应该跟随移动
58
+ const imageDom = spec.getTargetElement()
59
+ const win: any = window
60
+ const MutationObserver: typeof window.MutationObserver = win.MutationObserver || win.WebKitMutationObserver || win.MozMutationObserver
61
+ const element = imageDom.parentNode
62
+ this.observer = new MutationObserver((mutationList) => {
63
+ for (const mutation of mutationList) {
64
+ const target = mutation.target as HTMLElement
65
+ const image = target.querySelector('img')
66
+ if (image) {
67
+ this.repositionOverlay()
68
+ }
69
+ }
70
+ })
71
+ this.observer.observe(element, {
72
+ attributes: true,
73
+ attributeFilter: ['class'],
74
+ attributeOldValue: true,
75
+ subtree: true,
76
+ })
77
+ }
78
+
79
+ hide() {
80
+ if (!this.currentSpec) {
81
+ return
82
+ }
83
+
84
+ const imgDom = this.currentSpec.getTargetElement()
85
+ if (imgDom) {
86
+ imgDom.classList.remove('current-select-img')
87
+ }
88
+
89
+ this.currentSpec.onHide()
90
+ this.currentSpec = null
91
+ this.quill.root.parentNode.removeChild(this.overlay)
92
+ this.overlay.style.setProperty('display', 'none')
93
+ this.setUserSelect('')
94
+ this.destroyActions()
95
+ }
96
+
97
+ update() {
98
+ this.repositionOverlay()
99
+ this.actions.forEach(action => action.onUpdate())
100
+ }
101
+
102
+ createActions(spec: BlotSpec) {
103
+ this.actions = spec.getActions().map((ActionClass: any) => {
104
+ const action: Action = new ActionClass(this)
105
+ action.onCreate()
106
+ return action
107
+ })
108
+ }
109
+
110
+ destroyActions() {
111
+ this.actions.forEach((action: Action) => action.onDestroy())
112
+ this.actions = []
113
+ }
114
+
115
+ repositionOverlay() {
116
+ if (!this.currentSpec) {
117
+ return
118
+ }
119
+
120
+ const overlayTarget = this.currentSpec.getOverlayElement()
121
+ if (!overlayTarget) {
122
+ return
123
+ }
124
+
125
+ const parent = this.quill.root.parentElement
126
+ const specRect = overlayTarget.getBoundingClientRect()
127
+ const parentRect = parent.getBoundingClientRect()
128
+
129
+ Object.assign(this.overlay.style, {
130
+ display: 'block',
131
+ left: `${specRect.left - parentRect.left - 1 + parent.scrollLeft}px`,
132
+ top: `${specRect.top - parentRect.top + parent.scrollTop}px`,
133
+ width: `${specRect.width}px`,
134
+ height: `${specRect.height}px`,
135
+ })
136
+ }
137
+
138
+ setUserSelect(value: string) {
139
+ const props: string[] = [
140
+ 'userSelect',
141
+ 'mozUserSelect',
142
+ 'webkitUserSelect',
143
+ 'msUserSelect',
144
+ ]
145
+
146
+ props.forEach((prop: string) => {
147
+ // set on contenteditable element and <html>
148
+ this.quill.root.style.setProperty(prop, value)
149
+ if (document.documentElement) {
150
+ document.documentElement.style.setProperty(prop, value)
151
+ }
152
+ })
153
+ }
154
+
155
+ onClick = () => {
156
+ this.hide()
157
+ }
158
+ }
@@ -0,0 +1,132 @@
1
+ import type { Parchment as TypeParchment } from 'quill'
2
+ import type TypeEmbed from 'quill/blots/embed'
3
+ import Quill from 'quill'
4
+ import { isNullOrUndefined, sanitize } from '../../config/editor.utils'
5
+ import { isObject } from '../../utils/is'
6
+ import { ALIGN_ATTR, alignmentHandler } from './actions'
7
+
8
+ const Embed = Quill.import('blots/embed') as typeof TypeEmbed
9
+ const ATTRIBUTES = ['alt', 'height', 'width', 'image-id']
10
+
11
+ export type ImageValue = string | {
12
+ src: string
13
+ align?: string
14
+ height?: number
15
+ width?: number
16
+ }
17
+ export class CustomImage extends Embed {
18
+ static blotName = 'image'
19
+ static tagName = 'IMG'
20
+ static ID_SEED = 0
21
+ static allowInvalidUrl: boolean = false
22
+ declare domNode: HTMLElement
23
+
24
+ static setOptions(allowInvalidUrl: boolean) {
25
+ this.allowInvalidUrl = allowInvalidUrl
26
+ }
27
+
28
+ static create(value: ImageValue) {
29
+ const node = super.create(value) as HTMLElement
30
+ const url = typeof value === 'string' ? value : value.src
31
+ if (url) {
32
+ const imgURL = this.sanitize(url)
33
+ if (!imgURL?.startsWith('data:image')) {
34
+ node.dataset.src = imgURL
35
+ }
36
+ node.setAttribute('src', imgURL)
37
+ }
38
+ node.setAttribute('data-image-id', `img${CustomImage.ID_SEED++}`)
39
+ node.style.verticalAlign = 'baseline'
40
+ if (isObject(value)) {
41
+ if (value.align && alignmentHandler[value.align]) {
42
+ node.setAttribute(ALIGN_ATTR, value.align)
43
+ alignmentHandler[value.align](node)
44
+ }
45
+ if (value.width) {
46
+ node.setAttribute('width', String(value.width))
47
+ }
48
+ if (value.height) {
49
+ node.setAttribute('height', String(value.height))
50
+ }
51
+ }
52
+ return node
53
+ }
54
+
55
+ static formats(domNode: HTMLElement) {
56
+ return ATTRIBUTES.reduce((formats, attribute) => {
57
+ if (domNode.hasAttribute(attribute)) {
58
+ formats[attribute] = domNode.getAttribute(attribute)
59
+ }
60
+ return formats
61
+ }, {})
62
+ }
63
+
64
+ static match(url: string) {
65
+ return /\.(jpe?g|gif|png)$/.test(url) || /^data:image\/.+;base64/.test(url)
66
+ }
67
+
68
+ static register() {
69
+ if (/Firefox/i.test(navigator.userAgent)) {
70
+ setTimeout(() => {
71
+ // Disable image resizing in Firefox
72
+ document.execCommand('enableObjectResizing', false, 'false')
73
+ }, 1)
74
+ }
75
+ }
76
+
77
+ static sanitize(url: string) {
78
+ if (sanitize(url, ['http', 'https', 'blob', 'data']) || this.allowInvalidUrl) {
79
+ return url
80
+ }
81
+ return '//:0'
82
+ }
83
+
84
+ static value(domNode: HTMLElement) {
85
+ const formats: any = {}
86
+ const imageSrc = domNode.getAttribute('src')
87
+ formats.src = this.sanitize(imageSrc)
88
+ formats.imageId = domNode.dataset.imageId
89
+ if (domNode.dataset.align) {
90
+ formats.align = domNode.dataset.align
91
+ }
92
+ if (domNode.hasAttribute('width')) {
93
+ formats.width = domNode.getAttribute('width')
94
+ }
95
+ if (domNode.hasAttribute('height')) {
96
+ formats.height = domNode.getAttribute('height')
97
+ }
98
+ return formats
99
+ }
100
+
101
+ format(name: string, value: any) {
102
+ if (ATTRIBUTES.includes(name)) {
103
+ if (value) {
104
+ this.domNode.setAttribute(name, value)
105
+ }
106
+ else {
107
+ this.domNode.removeAttribute(name)
108
+ }
109
+ }
110
+ else {
111
+ super.format(name, value)
112
+ }
113
+ }
114
+
115
+ unWrap() {
116
+ this.parent.replaceWith(this as TypeEmbed)
117
+ }
118
+
119
+ wrap(name: string, value?: any): TypeParchment.Parent
120
+ wrap(wrapper: TypeParchment.Parent): TypeParchment.Parent
121
+ wrap(name: string | TypeParchment.Parent, value?: any) {
122
+ const wrapper = (typeof name === 'string' ? this.scroll.create(name, value) : name) as TypeParchment.Parent
123
+ if (!isNullOrUndefined(this.parent)) {
124
+ this.parent.insertBefore(wrapper, this.next || undefined)
125
+ }
126
+ if (typeof wrapper.appendChild !== 'function') {
127
+ throw new TypeError(`Cannot wrap ${name}`)
128
+ }
129
+ wrapper.appendChild(this)
130
+ return wrapper
131
+ }
132
+ }
@@ -0,0 +1,4 @@
1
+ export * from './actions'
2
+ export * from './blot-formatter'
3
+ export * from './image'
4
+ export * from './specs'
@@ -0,0 +1,139 @@
1
+ import type { ImageToolbar, ImageToolbarButtons } from './actions'
2
+ import type { BlotSpec } from './specs'
3
+ import { ImageSpec } from './specs'
4
+
5
+ export interface OverlayOptions {
6
+ // classname applied to the overlay element
7
+ className: string
8
+ // style applied to overlay element, or null to prevent styles
9
+ style: Record<string, string>
10
+ }
11
+
12
+ export interface ResizeOptions {
13
+ // class name applied to the resize handles
14
+ handleClassName: string
15
+ // style applied to resize handles, or null to prevent styles
16
+ handleStyle: Record<string, string>
17
+ }
18
+
19
+ export interface ToolButtonOption {
20
+ name: string
21
+ icon: string
22
+ isActive?: (el: HTMLElement) => boolean
23
+ apply: (this: ImageToolbar, el: HTMLImageElement, toolbarButtons: ImageToolbarButtons) => void
24
+ }
25
+
26
+ export interface ToolbarButtonOptions {
27
+ buttons: Record<string, ToolButtonOption | boolean>
28
+ }
29
+
30
+ export interface ToolbarOptions extends ToolbarButtonOptions {
31
+ // class name applied to the root toolbar element
32
+ mainClassName: string
33
+ // style applied to root toolbar element, or null to prevent styles
34
+ mainStyle: Record<string, unknown>
35
+ // class name applied to each button in the toolbar
36
+ buttonClassName: string
37
+ /* whether or not to add the selected style to the buttons.
38
+ they'll always get the is-selected class */
39
+ addButtonSelectStyle: boolean
40
+ // style applied to buttons, or null to prevent styles
41
+ buttonStyle: Record<string, unknown>
42
+ // style applied to the svgs in the buttons
43
+ svgStyle: Record<string, unknown>
44
+ }
45
+
46
+ export interface BlotFormatterOptionsInput {
47
+ specs: typeof BlotSpec[]
48
+ overlay: Partial<OverlayOptions>
49
+ resize: Partial<ResizeOptions>
50
+ toolbar: Partial<ToolbarOptions>
51
+ }
52
+ export interface BlotFormatterOptions {
53
+ specs: typeof BlotSpec[]
54
+ overlay: OverlayOptions
55
+ resize: ResizeOptions
56
+ toolbar: ToolbarOptions
57
+ allowInvalidUrl: boolean
58
+ }
59
+
60
+ export const LEFT_ALIGN = 'align-left'
61
+ export const CENTER_ALIGN = 'align-center'
62
+ export const RIGHT_ALIGN = 'align-right'
63
+ export const COPY = 'copy'
64
+ export const DOWNLOAD = 'download'
65
+ const DefaultOptions: BlotFormatterOptions = {
66
+ // 默认情况下,`file://` 格式的本地文件路径在浏览器环境无法读取,因此会被转换成 `//:0`,但是在一些特殊的场景下(比如:Electron),需要获取到图片的原始路径,进行后续的上传处理
67
+ // 注意:该选项一旦设置为 true,本地磁盘路径会暴露出去,这可能会带来安全风险,请确保你了解相关的安全隐患
68
+ allowInvalidUrl: false,
69
+
70
+ specs: [
71
+ ImageSpec,
72
+ ],
73
+ overlay: {
74
+ className: 'blot-formatter__overlay',
75
+ style: {
76
+ position: 'absolute',
77
+ boxSizing: 'border-box',
78
+ border: '1px dashed #444',
79
+ },
80
+ },
81
+ toolbar: {
82
+ mainClassName: 'blot-formatter__toolbar',
83
+ mainStyle: {
84
+ position: 'absolute',
85
+ top: '-12px',
86
+ right: '0',
87
+ left: '0',
88
+ height: '0',
89
+ minWidth: '120px',
90
+ font: '12px/1.0 Arial, Helvetica, sans-serif',
91
+ textAlign: 'center',
92
+ color: '#333',
93
+ boxSizing: 'border-box',
94
+ cursor: 'default',
95
+ zIndex: '1',
96
+ },
97
+ buttonClassName: 'blot-formatter__toolbar-button',
98
+ addButtonSelectStyle: true,
99
+ buttonStyle: {
100
+ display: 'inline-flex',
101
+ alignItems: 'center',
102
+ justifyContent: 'center',
103
+ width: '24px',
104
+ height: '24px',
105
+ background: 'white',
106
+ border: '1px solid #999',
107
+ verticalAlign: 'middle',
108
+ cursor: 'pointer',
109
+ },
110
+ svgStyle: {
111
+ display: 'inline-block',
112
+ width: '16px',
113
+ height: '16px',
114
+ background: 'white',
115
+ verticalAlign: 'middle',
116
+ },
117
+ buttons: {
118
+ [LEFT_ALIGN]: true,
119
+ [CENTER_ALIGN]: true,
120
+ [RIGHT_ALIGN]: true,
121
+ [COPY]: true,
122
+ [DOWNLOAD]: true,
123
+ },
124
+ },
125
+ resize: {
126
+ handleClassName: 'blot-formatter__resize-handle',
127
+ handleStyle: {
128
+ position: 'absolute',
129
+ height: '12px',
130
+ width: '12px',
131
+ backgroundColor: 'white',
132
+ border: '1px solid #777',
133
+ boxSizing: 'border-box',
134
+ opacity: '0.80',
135
+ },
136
+ },
137
+ }
138
+
139
+ export default DefaultOptions
@@ -0,0 +1,30 @@
1
+ import type { BlotFormatter } from '../blot-formatter'
2
+ import { CustomResizeAction, DeleteAction, ImageToolbarAction } from '../actions'
3
+
4
+ export class BlotSpec {
5
+ formatter: BlotFormatter
6
+
7
+ constructor(formatter: BlotFormatter) {
8
+ this.formatter = formatter
9
+ }
10
+
11
+ init(): void {}
12
+
13
+ getActions() {
14
+ return [ImageToolbarAction, CustomResizeAction, DeleteAction]
15
+ }
16
+
17
+ getTargetElement(): HTMLElement | null {
18
+ return null
19
+ }
20
+
21
+ getOverlayElement() {
22
+ return this.getTargetElement()
23
+ }
24
+
25
+ setSelection(): void {
26
+ this.formatter.quill.setSelection(null)
27
+ }
28
+
29
+ onHide() {}
30
+ }
@@ -0,0 +1,131 @@
1
+ import type { BlotFormatter } from '../blot-formatter'
2
+ import { isInside } from '../../../config/editor.utils'
3
+ import { ImageSpec } from './image-spec'
4
+
5
+ export class CustomImageSpec extends ImageSpec {
6
+ editorElem: HTMLElement | undefined
7
+ observer: any
8
+ oldRootScrollTop: number
9
+
10
+ constructor(formatter: BlotFormatter) {
11
+ super(formatter)
12
+ this.formatter = formatter
13
+ this.oldRootScrollTop = this.formatter.quill.root.scrollTop
14
+ this.editorElem = this.formatter.quill.container
15
+ this.formatter.quill.root.addEventListener('scroll', this.handleQuillRootScroll.bind(this))
16
+ }
17
+
18
+ handleQuillRootScroll() {
19
+ if (this.formatter.overlay) {
20
+ this.formatter.overlay.style.marginTop = `${this.oldRootScrollTop - this.formatter.quill.root.scrollTop}px`
21
+ }
22
+ }
23
+
24
+ init(): void {
25
+ this.editorElem.addEventListener('mouseover', this.imageMouseOver.bind(this))
26
+ this.editorElem.addEventListener('mouseout', this.imageMouseout)
27
+
28
+ super.init()
29
+ }
30
+
31
+ imageMouseOver(event) {
32
+ const target = event.target
33
+ const isBlotFormatter = target?.classList?.contains('blot-formatter__overlay')
34
+ if (target.nodeName === 'IMG' || isBlotFormatter) {
35
+ // this.addImagePreviewOverlay(event);
36
+ }
37
+ }
38
+
39
+ imageMouseout = (event) => {
40
+ if (event.target.nodeName === 'IMG'
41
+ || event.target.classList.contains('blot-formatter__overlay')) {
42
+ const imgDom = event.target
43
+ if (!isInside(event, imgDom)) {
44
+ this.removeImagePreviewOverlay()
45
+ }
46
+ }
47
+ }
48
+
49
+ addImagePreviewOverlay(event) {
50
+ const target = event.target
51
+ const {
52
+ left: imgLeft,
53
+ width: imgWidth,
54
+ } = target.getBoundingClientRect()
55
+ // fix: 解决 ql-container 容器设置 calc(100vh - 180px) 这样的视窗相对单位时,滚动视窗导致图片相对视窗的 top 相应改变,从而导致图片预览按钮的位置显示错误
56
+ const imgTop = target.getBoundingClientRect().top + this.formatter.quill.container.scrollTop
57
+
58
+ const {
59
+ left: editorLeft,
60
+ top: editorTop,
61
+ } = event.currentTarget.getBoundingClientRect()
62
+
63
+ const imgRelativeLeft = imgLeft - editorLeft
64
+ const imgRelativeTop = imgTop - editorTop
65
+
66
+ const maxmizeWidth = 24
67
+ const maxmizePadding = 15
68
+ const previewLeft = imgRelativeLeft + imgWidth - maxmizeWidth - maxmizePadding
69
+ const previewTop = imgRelativeTop + maxmizePadding
70
+
71
+ const previewStyle = `
72
+ left: ${previewLeft}px;
73
+ top: ${previewTop}px;
74
+ width: ${maxmizeWidth}px;
75
+ `
76
+ const imageSrc = target.src || target.getAttribute('data-image')
77
+ const imageId = target.getAttribute('data-image-id')
78
+
79
+ const previewDom = event.currentTarget.querySelector('.image-preview__overlay')
80
+ if (!previewDom) {
81
+ event.currentTarget.insertAdjacentHTML('beforeend', `
82
+ <div class="image-preview__overlay" style="${previewStyle}">
83
+ <i class="icon-maxmize" id="btn-image-preview" data-image-id="${imageId}"
84
+ data-image="${imageSrc}"></i>
85
+ </div>
86
+ `)
87
+ }
88
+ }
89
+
90
+ removeImagePreviewOverlay() {
91
+ const previewDom = this.editorElem.querySelector('.image-preview__overlay')
92
+ if (previewDom) {
93
+ previewDom.parentNode.removeChild(previewDom)
94
+ }
95
+ }
96
+
97
+ onHide() {
98
+ this.removeImagePreviewOverlay()
99
+ super.onHide()
100
+ }
101
+
102
+ resetOverlayMarginTop() {
103
+ if (this.formatter.overlay) {
104
+ this.formatter.overlay.style.marginTop = '0px'
105
+ }
106
+ }
107
+
108
+ onClick = (event: MouseEvent) => {
109
+ const el = event.target
110
+ const isReadonly = this.formatter.quill.options.readOnly
111
+ if (!(el instanceof HTMLElement) || el.tagName !== 'IMG' || isReadonly) {
112
+ return
113
+ }
114
+
115
+ this.img = el as HTMLImageElement
116
+ this.oldRootScrollTop = this.formatter.quill.root.scrollTop
117
+ this.resetOverlayMarginTop()
118
+ this.formatter.show(this)
119
+
120
+ // 通过图片dom获取图片选区用以复制,设置 current-select-img::selection 取消选区背景
121
+ const imageDom = this.formatter.currentSpec?.getTargetElement()
122
+ if (imageDom) {
123
+ imageDom.classList.add('current-select-img')
124
+ const quill = this.formatter.quill
125
+ const imgBlot = quill.scroll.find(this.img)
126
+ const index = quill.getIndex(imgBlot)
127
+ const len = imgBlot.length()
128
+ quill.setSelection(index, len)
129
+ }
130
+ }
131
+ }
@@ -0,0 +1,28 @@
1
+ import { BlotSpec } from './blot-spec'
2
+
3
+ export class ImageSpec extends BlotSpec {
4
+ img: HTMLImageElement | null = null
5
+
6
+ init() {
7
+ this.formatter.quill.root.addEventListener('click', this.onClick)
8
+ }
9
+
10
+ getTargetElement() {
11
+ return this.img
12
+ }
13
+
14
+ onHide() {
15
+ this.img = null
16
+ }
17
+
18
+ onClick = (event: MouseEvent) => {
19
+ const el = event.target
20
+ if (!(el instanceof HTMLElement) || el.tagName !== 'IMG') {
21
+ return
22
+ }
23
+ event.stopPropagation()
24
+
25
+ this.img = el as HTMLImageElement
26
+ this.formatter.show(this)
27
+ }
28
+ }
@@ -0,0 +1,3 @@
1
+ export * from './blot-spec'
2
+ export * from './custom-image-spec'
3
+ export * from './image-spec'