@opentiny/fluent-editor 4.0.0-alpha.6 → 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 (825) 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/index.es.js +104 -0
  17. package/dist/es/index.es.js.map +1 -0
  18. package/dist/es/modules/ai/constants.es.js.map +1 -0
  19. package/dist/es/modules/ai/icons.es.js.map +1 -0
  20. package/dist/es/modules/ai/index.es.js.map +1 -0
  21. package/dist/es/modules/collaborative-editing/awareness/awareness.es.js +93 -0
  22. package/dist/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
  23. package/dist/es/modules/collaborative-editing/awareness/index.es.js +8 -0
  24. package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +12 -0
  25. package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
  26. package/dist/es/modules/collaborative-editing/collaborative-editing.es.js +105 -0
  27. package/dist/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
  28. package/dist/es/modules/collaborative-editing/index.es.js +6 -0
  29. package/dist/es/modules/collaborative-editing/module.es.js +35 -0
  30. package/dist/es/modules/collaborative-editing/module.es.js.map +1 -0
  31. package/dist/es/modules/collaborative-editing/provider/providerRegistry.es.js +28 -0
  32. package/dist/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
  33. package/dist/es/modules/collaborative-editing/provider/webrtc.es.js +99 -0
  34. package/dist/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
  35. package/dist/es/modules/collaborative-editing/provider/websocket.es.js +111 -0
  36. package/dist/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
  37. package/dist/es/modules/collaborative-editing/types.es.js +2 -0
  38. package/dist/es/modules/collaborative-editing/types.es.js.map +1 -0
  39. package/dist/es/modules/counter.es.js.map +1 -0
  40. package/dist/es/modules/custom-clipboard.es.js.map +1 -0
  41. package/dist/es/modules/custom-image/actions/action.es.js.map +1 -0
  42. package/dist/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
  43. package/dist/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
  44. package/dist/es/modules/custom-image/blot-formatter.es.js.map +1 -0
  45. package/dist/es/modules/custom-image/image.es.js.map +1 -0
  46. package/dist/es/modules/custom-image/options.es.js +88 -0
  47. package/dist/es/modules/custom-image/options.es.js.map +1 -0
  48. package/dist/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
  49. package/dist/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
  50. package/dist/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
  51. package/dist/es/modules/divider.es.js.map +1 -0
  52. package/dist/es/modules/emoji.es.js +167 -0
  53. package/dist/es/modules/emoji.es.js.map +1 -0
  54. package/dist/es/modules/file/formats/file.es.js.map +1 -0
  55. package/dist/es/modules/file/modules/file-bar.es.js.map +1 -0
  56. package/dist/es/modules/file/modules/file-module.es.js.map +1 -0
  57. package/dist/es/modules/index.es.js +27 -0
  58. package/dist/es/modules/index.es.js.map +1 -0
  59. package/dist/es/modules/link/formats/link.es.js.map +1 -0
  60. package/dist/es/modules/link/index.es.js.map +1 -0
  61. package/dist/es/modules/link/modules/tooltip.es.js.map +1 -0
  62. package/dist/es/modules/mathlive/formats.es.js.map +1 -0
  63. package/dist/es/modules/mathlive/tooltip.es.js.map +1 -0
  64. package/dist/es/modules/mention/constants.es.js.map +1 -0
  65. package/dist/es/modules/mention/index.es.js.map +1 -0
  66. package/dist/es/modules/mention/mention-link.es.js.map +1 -0
  67. package/dist/es/modules/mention/mention.es.js.map +1 -0
  68. package/dist/es/modules/syntax.es.js.map +1 -0
  69. package/dist/es/modules/toolbar/better-picker.es.js.map +1 -0
  70. package/dist/es/themes/snow.es.js.map +1 -0
  71. package/dist/es/tools/screenshot.es.js.map +1 -0
  72. package/dist/es/ui/icons.config.es.js.map +1 -0
  73. package/dist/es/ui/icons.es.js.map +1 -0
  74. package/dist/es/utils/debounce.es.js.map +1 -0
  75. package/dist/es/utils/method.es.js.map +1 -0
  76. package/dist/lib/attributors/line-height.cjs.js.map +1 -0
  77. package/dist/lib/config/base64-image.cjs.js.map +1 -0
  78. package/dist/lib/config/editor.config.cjs.js.map +1 -0
  79. package/dist/lib/config/editor.utils.cjs.js.map +1 -0
  80. package/dist/lib/config/i18n/en-us.cjs.js.map +1 -0
  81. package/dist/lib/config/i18n/zh-cn.cjs.js.map +1 -0
  82. package/dist/lib/config/index.cjs.js.map +1 -0
  83. package/dist/lib/core/fluent-editor.cjs.js.map +1 -0
  84. package/dist/lib/fluent-editor.cjs.js.map +1 -0
  85. package/dist/lib/formats/emoji.cjs.js.map +1 -0
  86. package/dist/lib/formats/soft-break.cjs.js.map +1 -0
  87. package/dist/lib/formats/strike.cjs.js.map +1 -0
  88. package/dist/lib/formats/video.cjs.js.map +1 -0
  89. package/dist/lib/index.cjs.js +125 -0
  90. package/dist/lib/index.cjs.js.map +1 -0
  91. package/dist/lib/modules/ai/constants.cjs.js.map +1 -0
  92. package/dist/lib/modules/ai/icons.cjs.js.map +1 -0
  93. package/dist/lib/modules/ai/index.cjs.js.map +1 -0
  94. package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js +110 -0
  95. package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
  96. package/dist/lib/modules/collaborative-editing/awareness/index.cjs.js +8 -0
  97. package/dist/lib/modules/collaborative-editing/awareness/index.cjs.js.map +1 -0
  98. package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +12 -0
  99. package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
  100. package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js +122 -0
  101. package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
  102. package/dist/lib/modules/collaborative-editing/index.cjs.js +6 -0
  103. package/dist/lib/modules/collaborative-editing/index.cjs.js.map +1 -0
  104. package/dist/lib/modules/collaborative-editing/module.cjs.js +35 -0
  105. package/dist/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
  106. package/dist/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js +28 -0
  107. package/dist/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
  108. package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js +116 -0
  109. package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
  110. package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js +128 -0
  111. package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
  112. package/dist/lib/modules/collaborative-editing/types.cjs.js +2 -0
  113. package/dist/lib/modules/collaborative-editing/types.cjs.js.map +1 -0
  114. package/dist/lib/modules/counter.cjs.js.map +1 -0
  115. package/dist/lib/modules/custom-clipboard.cjs.js.map +1 -0
  116. package/dist/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
  117. package/dist/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
  118. package/dist/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
  119. package/dist/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
  120. package/dist/lib/modules/custom-image/image.cjs.js.map +1 -0
  121. package/dist/lib/modules/custom-image/options.cjs.js +88 -0
  122. package/dist/lib/modules/custom-image/options.cjs.js.map +1 -0
  123. package/dist/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
  124. package/dist/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
  125. package/dist/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
  126. package/dist/lib/modules/divider.cjs.js.map +1 -0
  127. package/dist/lib/modules/emoji.cjs.js +167 -0
  128. package/dist/lib/modules/emoji.cjs.js.map +1 -0
  129. package/dist/lib/modules/file/formats/file.cjs.js.map +1 -0
  130. package/dist/lib/modules/file/modules/file-bar.cjs.js.map +1 -0
  131. package/dist/lib/modules/file/modules/file-module.cjs.js.map +1 -0
  132. package/dist/lib/modules/index.cjs.js +27 -0
  133. package/dist/lib/modules/index.cjs.js.map +1 -0
  134. package/dist/lib/modules/link/formats/link.cjs.js.map +1 -0
  135. package/dist/lib/modules/link/modules/tooltip.cjs.js.map +1 -0
  136. package/dist/lib/modules/mathlive/formats.cjs.js.map +1 -0
  137. package/dist/lib/modules/mathlive/tooltip.cjs.js.map +1 -0
  138. package/dist/lib/modules/mention/constants.cjs.js.map +1 -0
  139. package/dist/lib/modules/mention/mention-link.cjs.js.map +1 -0
  140. package/dist/lib/modules/mention/mention.cjs.js.map +1 -0
  141. package/dist/lib/modules/syntax.cjs.js.map +1 -0
  142. package/dist/lib/modules/toolbar/better-picker.cjs.js.map +1 -0
  143. package/dist/lib/themes/snow.cjs.js.map +1 -0
  144. package/dist/lib/tools/screenshot.cjs.js.map +1 -0
  145. package/dist/lib/ui/icons.cjs.js.map +1 -0
  146. package/dist/lib/ui/icons.config.cjs.js.map +1 -0
  147. package/dist/lib/utils/debounce.cjs.js.map +1 -0
  148. package/dist/lib/utils/method.cjs.js.map +1 -0
  149. package/dist/package.json +67 -0
  150. package/dist/types/attributors/font-size.d.ts +1 -0
  151. package/dist/types/attributors/font-style.d.ts +1 -0
  152. package/dist/types/attributors/index.d.ts +4 -0
  153. package/dist/types/attributors/line-height.d.ts +1 -0
  154. package/dist/types/attributors/text-indent.d.ts +1 -0
  155. package/dist/types/config/base64-image.d.ts +2 -0
  156. package/dist/types/config/editor.config.d.ts +11 -0
  157. package/dist/types/config/editor.utils.d.ts +40 -0
  158. package/dist/types/config/i18n/en-us.d.ts +123 -0
  159. package/dist/types/config/i18n/zh-cn.d.ts +123 -0
  160. package/dist/types/config/index.d.ts +7 -0
  161. package/dist/types/config/types/editor-config.interface.d.ts +14 -0
  162. package/dist/types/config/types/editor-modules.interface.d.ts +41 -0
  163. package/dist/types/config/types/index.d.ts +3 -0
  164. package/dist/types/config/types/type.d.ts +2 -0
  165. package/dist/types/core/fluent-editor.d.ts +13 -0
  166. package/dist/types/fluent-editor.d.ts +2 -0
  167. package/dist/types/formats/emoji.d.ts +8 -0
  168. package/dist/types/formats/index.d.ts +4 -0
  169. package/dist/types/formats/soft-break.d.ts +12 -0
  170. package/dist/types/formats/strike.d.ts +8 -0
  171. package/dist/types/formats/video.d.ts +13 -0
  172. package/dist/types/index.d.ts +8 -0
  173. package/dist/types/modules/ai/constants.d.ts +30 -0
  174. package/dist/types/modules/ai/icons.d.ts +21 -0
  175. package/dist/types/modules/ai/index.d.ts +96 -0
  176. package/dist/types/modules/ai/types.d.ts +16 -0
  177. package/dist/types/modules/collaborative-editing/awareness/awareness.d.ts +28 -0
  178. package/dist/types/modules/collaborative-editing/awareness/index.d.ts +2 -0
  179. package/dist/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +2 -0
  180. package/dist/types/modules/collaborative-editing/collaborative-editing.d.ts +24 -0
  181. package/dist/types/modules/collaborative-editing/index.d.ts +2 -0
  182. package/dist/types/modules/collaborative-editing/module.d.ts +11 -0
  183. package/dist/types/modules/collaborative-editing/provider/index.d.ts +3 -0
  184. package/dist/types/modules/collaborative-editing/provider/providerRegistry.d.ts +25 -0
  185. package/dist/types/modules/collaborative-editing/provider/webrtc.d.ts +36 -0
  186. package/dist/types/modules/collaborative-editing/provider/websocket.d.ts +40 -0
  187. package/dist/types/modules/collaborative-editing/types.d.ts +37 -0
  188. package/dist/types/modules/counter.d.ts +23 -0
  189. package/dist/types/modules/custom-clipboard.d.ts +25 -0
  190. package/dist/types/modules/custom-image/actions/action.d.ts +8 -0
  191. package/dist/types/modules/custom-image/actions/custom-resize-action.d.ts +23 -0
  192. package/dist/types/modules/custom-image/actions/delete-action.d.ts +6 -0
  193. package/dist/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +16 -0
  194. package/dist/types/modules/custom-image/actions/index.d.ts +6 -0
  195. package/dist/types/modules/custom-image/actions/toolbar-action.d.ts +11 -0
  196. package/dist/types/modules/custom-image/actions/toolbar.d.ts +19 -0
  197. package/dist/types/modules/custom-image/blot-formatter.d.ts +23 -0
  198. package/dist/types/modules/custom-image/image.d.ts +28 -0
  199. package/dist/types/modules/custom-image/index.d.ts +4 -0
  200. package/dist/types/modules/custom-image/options.d.ts +47 -0
  201. package/dist/types/modules/custom-image/specs/blot-spec.d.ts +12 -0
  202. package/dist/types/modules/custom-image/specs/custom-image-spec.d.ts +17 -0
  203. package/dist/types/modules/custom-image/specs/image-spec.d.ts +8 -0
  204. package/dist/types/modules/custom-image/specs/index.d.ts +3 -0
  205. package/dist/types/modules/custom-uploader.d.ts +40 -0
  206. package/dist/types/modules/divider.d.ts +8 -0
  207. package/dist/types/modules/emoji.d.ts +39 -0
  208. package/dist/types/modules/file/formats/file.d.ts +18 -0
  209. package/dist/types/modules/file/index.d.ts +3 -0
  210. package/dist/types/modules/file/modules/file-bar.d.ts +14 -0
  211. package/dist/types/modules/file/modules/file-module.d.ts +9 -0
  212. package/dist/types/modules/i18n.d.ts +14 -0
  213. package/dist/types/modules/index.d.ts +16 -0
  214. package/dist/types/modules/link/formats/link.d.ts +15 -0
  215. package/dist/types/modules/link/index.d.ts +2 -0
  216. package/dist/types/modules/link/modules/tooltip.d.ts +27 -0
  217. package/dist/types/modules/mathlive/formats.d.ts +22 -0
  218. package/dist/types/modules/mathlive/index.d.ts +3 -0
  219. package/dist/types/modules/mathlive/module.d.ts +9 -0
  220. package/dist/types/modules/mathlive/tooltip.d.ts +18 -0
  221. package/dist/types/modules/mention/constants.d.ts +3 -0
  222. package/dist/types/modules/mention/index.d.ts +2 -0
  223. package/dist/types/modules/mention/mention-link.d.ts +16 -0
  224. package/dist/types/modules/mention/mention.d.ts +53 -0
  225. package/dist/types/modules/shortcut-key/index.d.ts +71 -0
  226. package/dist/types/modules/syntax.d.ts +13 -0
  227. package/dist/types/modules/table-up/index.d.ts +34 -0
  228. package/dist/types/modules/toolbar/better-picker.d.ts +15 -0
  229. package/dist/types/modules/toolbar/better-toolbar.d.ts +7 -0
  230. package/dist/types/modules/toolbar/index.d.ts +3 -0
  231. package/dist/types/modules/toolbar/toolbar-tip.d.ts +9 -0
  232. package/dist/types/themes/snow.d.ts +11 -0
  233. package/dist/types/tools/format-painter.d.ts +13 -0
  234. package/dist/types/tools/fullscreen.d.ts +6 -0
  235. package/dist/types/tools/screenshot.d.ts +19 -0
  236. package/dist/types/ui/icons.config.d.ts +38 -0
  237. package/dist/types/ui/icons.d.ts +6 -0
  238. package/dist/types/utils/debounce.d.ts +6 -0
  239. package/dist/types/utils/image.d.ts +1 -0
  240. package/dist/types/utils/is.d.ts +6 -0
  241. package/dist/types/utils/method.d.ts +6 -0
  242. package/dist/types/utils/scroll-lock.d.ts +6 -0
  243. package/package.json +67 -60
  244. package/scripts/pre-release.cjs +35 -0
  245. package/src/assets/ai.scss +451 -0
  246. package/src/assets/common/config.scss +4 -0
  247. package/src/assets/common.scss +132 -0
  248. package/src/assets/counter.scss +16 -0
  249. package/src/assets/custom-image.scss +19 -0
  250. package/src/assets/editor.scss +351 -0
  251. package/src/assets/fileBar.scss +107 -0
  252. package/src/assets/font.scss +18 -0
  253. package/src/assets/fullscreen.scss +50 -0
  254. package/src/assets/iconfont/iconfont.ttf +0 -0
  255. package/src/assets/iconfont/iconfont.woff +0 -0
  256. package/src/assets/iconfont/iconfont.woff2 +0 -0
  257. package/src/assets/imageBar.scss +98 -0
  258. package/src/assets/lineHeight.scss +15 -0
  259. package/src/assets/link.scss +120 -0
  260. package/src/assets/mathlive.scss +40 -0
  261. package/src/assets/mention.scss +48 -0
  262. package/src/assets/screenshot.scss +78 -0
  263. package/src/assets/size.scss +11 -0
  264. package/src/assets/style.scss +46 -0
  265. package/src/assets/svgs/align-center.svg +41 -0
  266. package/src/assets/svgs/align-justify.svg +8 -0
  267. package/src/assets/svgs/arrow-down.svg +6 -0
  268. package/src/assets/svgs/background-color.svg +7 -0
  269. package/src/assets/svgs/clean.svg +8 -0
  270. package/src/assets/svgs/code-block.svg +5 -0
  271. package/src/assets/svgs/code.svg +25 -0
  272. package/src/assets/svgs/color.svg +7 -0
  273. package/src/assets/svgs/direction-ltr.svg +8 -0
  274. package/src/assets/svgs/direction-rtl.svg +8 -0
  275. package/src/assets/svgs/divider.svg +4 -0
  276. package/src/assets/svgs/emoji.svg +53 -0
  277. package/src/assets/svgs/file.svg +12 -0
  278. package/src/assets/svgs/format-painter.svg +10 -0
  279. package/src/assets/svgs/formula.svg +6 -0
  280. package/src/assets/svgs/fullscreen.svg +43 -0
  281. package/src/assets/svgs/image.svg +17 -0
  282. package/src/assets/svgs/italic.svg +6 -0
  283. package/src/assets/svgs/link.svg +9 -0
  284. package/src/assets/svgs/list-bullet.svg +16 -0
  285. package/src/assets/svgs/list-ordered.svg +18 -0
  286. package/src/assets/svgs/list-task.svg +5 -0
  287. package/src/assets/svgs/redo.svg +8 -0
  288. package/src/assets/svgs/screenshot.svg +17 -0
  289. package/src/assets/svgs/script-sub.svg +15 -0
  290. package/src/assets/svgs/script-super.svg +15 -0
  291. package/src/assets/svgs/strike.svg +6 -0
  292. package/src/assets/svgs/underline.svg +13 -0
  293. package/src/assets/svgs/undo.svg +8 -0
  294. package/src/assets/svgs/video.svg +10 -0
  295. package/src/assets/tasklist.scss +76 -0
  296. package/src/assets/toolbar.scss +385 -0
  297. package/src/assets/variable.scss +9 -0
  298. package/src/assets/video.scss +5 -0
  299. package/src/attributors/font-size.ts +6 -0
  300. package/src/attributors/font-style.ts +6 -0
  301. package/src/attributors/index.ts +4 -0
  302. package/src/attributors/line-height.ts +6 -0
  303. package/src/attributors/text-indent.ts +6 -0
  304. package/src/config/base64-image.ts +5 -0
  305. package/src/config/editor.config.ts +86 -0
  306. package/src/config/editor.utils.ts +193 -0
  307. package/src/config/i18n/en-us.ts +138 -0
  308. package/src/config/i18n/zh-cn.ts +137 -0
  309. package/src/config/index.ts +44 -0
  310. package/src/config/types/editor-config.interface.ts +16 -0
  311. package/src/config/types/editor-modules.interface.ts +47 -0
  312. package/src/config/types/index.ts +3 -0
  313. package/src/config/types/type.ts +2 -0
  314. package/src/core/fluent-editor.ts +31 -0
  315. package/src/fluent-editor.ts +72 -0
  316. package/src/formats/emoji.ts +10 -0
  317. package/src/formats/index.ts +4 -0
  318. package/src/formats/soft-break.ts +27 -0
  319. package/src/formats/strike.ts +11 -0
  320. package/src/formats/video.ts +53 -0
  321. package/src/index.ts +9 -0
  322. package/src/modules/ai/constants.ts +43 -0
  323. package/src/modules/ai/icons.ts +333 -0
  324. package/src/modules/ai/index.ts +850 -0
  325. package/src/modules/ai/types.ts +18 -0
  326. package/src/modules/collaborative-editing/awareness/awareness.ts +141 -0
  327. package/src/modules/collaborative-editing/awareness/index.ts +2 -0
  328. package/src/modules/collaborative-editing/awareness/y-indexeddb.ts +12 -0
  329. package/src/modules/collaborative-editing/collaborative-editing.ts +115 -0
  330. package/src/modules/collaborative-editing/index.ts +2 -0
  331. package/src/modules/collaborative-editing/module.ts +32 -0
  332. package/src/modules/collaborative-editing/provider/index.ts +3 -0
  333. package/src/modules/collaborative-editing/provider/providerRegistry.ts +57 -0
  334. package/src/modules/collaborative-editing/provider/webrtc.ts +125 -0
  335. package/src/modules/collaborative-editing/provider/websocket.ts +142 -0
  336. package/src/modules/collaborative-editing/types.ts +44 -0
  337. package/src/modules/counter.ts +84 -0
  338. package/src/modules/custom-clipboard.ts +537 -0
  339. package/src/modules/custom-image/actions/action.ts +15 -0
  340. package/src/modules/custom-image/actions/custom-resize-action.ts +207 -0
  341. package/src/modules/custom-image/actions/delete-action.ts +32 -0
  342. package/src/modules/custom-image/actions/image-toolbar-buttons.ts +135 -0
  343. package/src/modules/custom-image/actions/index.ts +6 -0
  344. package/src/modules/custom-image/actions/toolbar-action.ts +32 -0
  345. package/src/modules/custom-image/actions/toolbar.ts +145 -0
  346. package/src/modules/custom-image/blot-formatter.ts +158 -0
  347. package/src/modules/custom-image/image.ts +132 -0
  348. package/src/modules/custom-image/index.ts +4 -0
  349. package/src/modules/custom-image/options.ts +139 -0
  350. package/src/modules/custom-image/specs/blot-spec.ts +30 -0
  351. package/src/modules/custom-image/specs/custom-image-spec.ts +131 -0
  352. package/src/modules/custom-image/specs/image-spec.ts +28 -0
  353. package/src/modules/custom-image/specs/index.ts +3 -0
  354. package/src/modules/custom-uploader.ts +101 -0
  355. package/src/modules/divider.ts +15 -0
  356. package/src/modules/emoji.ts +230 -0
  357. package/src/modules/file/formats/file.ts +61 -0
  358. package/src/modules/file/index.ts +3 -0
  359. package/src/modules/file/modules/file-bar.ts +146 -0
  360. package/src/modules/file/modules/file-module.ts +33 -0
  361. package/src/modules/i18n.ts +66 -0
  362. package/src/modules/index.ts +16 -0
  363. package/src/modules/link/formats/link.ts +43 -0
  364. package/src/modules/link/index.ts +2 -0
  365. package/src/modules/link/modules/tooltip.ts +341 -0
  366. package/src/modules/mathlive/formats.ts +39 -0
  367. package/src/modules/mathlive/index.ts +3 -0
  368. package/src/modules/mathlive/module.ts +37 -0
  369. package/src/modules/mathlive/tooltip.ts +87 -0
  370. package/src/modules/mention/constants.ts +3 -0
  371. package/src/modules/mention/index.ts +2 -0
  372. package/src/modules/mention/mention-link.ts +64 -0
  373. package/src/modules/mention/mention.ts +404 -0
  374. package/src/modules/shortcut-key/index.ts +237 -0
  375. package/src/modules/syntax.ts +35 -0
  376. package/src/modules/table-up/index.ts +83 -0
  377. package/src/modules/toolbar/better-picker.ts +67 -0
  378. package/src/modules/toolbar/better-toolbar.ts +176 -0
  379. package/src/modules/toolbar/index.ts +3 -0
  380. package/src/modules/toolbar/toolbar-tip.ts +142 -0
  381. package/src/themes/snow.ts +309 -0
  382. package/src/tools/format-painter.ts +85 -0
  383. package/src/tools/fullscreen.ts +66 -0
  384. package/src/tools/screenshot.ts +231 -0
  385. package/src/ui/icons.config.ts +361 -0
  386. package/src/ui/icons.ts +89 -0
  387. package/src/utils/debounce.ts +150 -0
  388. package/src/utils/image.ts +22 -0
  389. package/src/utils/is.ts +9 -0
  390. package/src/utils/method.ts +77 -0
  391. package/src/utils/scroll-lock.ts +52 -0
  392. package/tsconfig.json +25 -0
  393. package/vite.config.ts +83 -0
  394. package/README.md +0 -88
  395. package/es/attributors/line-height.es.js.map +0 -1
  396. package/es/config/base64-image.es.js.map +0 -1
  397. package/es/config/editor.config.es.js.map +0 -1
  398. package/es/config/editor.utils.es.js.map +0 -1
  399. package/es/config/i18n/en-us.es.js.map +0 -1
  400. package/es/config/i18n/zh-cn.es.js.map +0 -1
  401. package/es/config/index.es.js.map +0 -1
  402. package/es/core/fluent-editor.es.js.map +0 -1
  403. package/es/fluent-editor.es.js.map +0 -1
  404. package/es/formats/emoji.es.js.map +0 -1
  405. package/es/formats/soft-break.es.js.map +0 -1
  406. package/es/formats/strike.es.js.map +0 -1
  407. package/es/formats/video.es.js.map +0 -1
  408. package/es/index.es.js +0 -102
  409. package/es/index.es.js.map +0 -1
  410. package/es/modules/ai/constants.es.js.map +0 -1
  411. package/es/modules/ai/icons.es.js.map +0 -1
  412. package/es/modules/ai/index.es.js.map +0 -1
  413. package/es/modules/counter.es.js.map +0 -1
  414. package/es/modules/custom-clipboard.es.js.map +0 -1
  415. package/es/modules/custom-image/actions/action.es.js.map +0 -1
  416. package/es/modules/custom-image/actions/custom-resize-action.es.js.map +0 -1
  417. package/es/modules/custom-image/actions/delete-action.es.js.map +0 -1
  418. package/es/modules/custom-image/blot-formatter.es.js.map +0 -1
  419. package/es/modules/custom-image/image.es.js.map +0 -1
  420. package/es/modules/custom-image/options.es.js +0 -88
  421. package/es/modules/custom-image/options.es.js.map +0 -1
  422. package/es/modules/custom-image/specs/blot-spec.es.js.map +0 -1
  423. package/es/modules/custom-image/specs/custom-image-spec.es.js.map +0 -1
  424. package/es/modules/custom-image/specs/image-spec.es.js.map +0 -1
  425. package/es/modules/divider.es.js.map +0 -1
  426. package/es/modules/emoji.es.js +0 -163
  427. package/es/modules/emoji.es.js.map +0 -1
  428. package/es/modules/file/formats/file.es.js.map +0 -1
  429. package/es/modules/file/modules/file-bar.es.js.map +0 -1
  430. package/es/modules/file/modules/file-module.es.js.map +0 -1
  431. package/es/modules/index.es.js +0 -26
  432. package/es/modules/index.es.js.map +0 -1
  433. package/es/modules/link/formats/link.es.js.map +0 -1
  434. package/es/modules/link/modules/tooltip.es.js.map +0 -1
  435. package/es/modules/mathlive/formats.es.js.map +0 -1
  436. package/es/modules/mathlive/tooltip.es.js.map +0 -1
  437. package/es/modules/mention/constants.es.js.map +0 -1
  438. package/es/modules/mention/mention-link.es.js.map +0 -1
  439. package/es/modules/mention/mention.es.js.map +0 -1
  440. package/es/modules/syntax.es.js.map +0 -1
  441. package/es/modules/toolbar/better-picker.es.js.map +0 -1
  442. package/es/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.es.js +0 -40145
  443. 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
  444. package/es/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js +0 -938
  445. 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
  446. package/es/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js +0 -624
  447. 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
  448. 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
  449. 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
  450. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js +0 -159
  451. 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
  452. package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js +0 -2849
  453. package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js.map +0 -1
  454. package/es/themes/snow.es.js.map +0 -1
  455. package/es/tools/screenshot.es.js.map +0 -1
  456. package/es/ui/icons.config.es.js.map +0 -1
  457. package/es/ui/icons.es.js.map +0 -1
  458. package/es/utils/debounce.es.js.map +0 -1
  459. package/es/utils/method.es.js.map +0 -1
  460. package/lib/attributors/line-height.cjs.js.map +0 -1
  461. package/lib/config/base64-image.cjs.js.map +0 -1
  462. package/lib/config/editor.config.cjs.js.map +0 -1
  463. package/lib/config/editor.utils.cjs.js.map +0 -1
  464. package/lib/config/i18n/en-us.cjs.js.map +0 -1
  465. package/lib/config/i18n/zh-cn.cjs.js.map +0 -1
  466. package/lib/config/index.cjs.js.map +0 -1
  467. package/lib/core/fluent-editor.cjs.js.map +0 -1
  468. package/lib/fluent-editor.cjs.js.map +0 -1
  469. package/lib/formats/emoji.cjs.js.map +0 -1
  470. package/lib/formats/soft-break.cjs.js.map +0 -1
  471. package/lib/formats/strike.cjs.js.map +0 -1
  472. package/lib/formats/video.cjs.js.map +0 -1
  473. package/lib/index.cjs.js +0 -123
  474. package/lib/index.cjs.js.map +0 -1
  475. package/lib/modules/ai/constants.cjs.js.map +0 -1
  476. package/lib/modules/ai/icons.cjs.js.map +0 -1
  477. package/lib/modules/ai/index.cjs.js.map +0 -1
  478. package/lib/modules/counter.cjs.js.map +0 -1
  479. package/lib/modules/custom-clipboard.cjs.js.map +0 -1
  480. package/lib/modules/custom-image/actions/action.cjs.js.map +0 -1
  481. package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +0 -1
  482. package/lib/modules/custom-image/actions/delete-action.cjs.js.map +0 -1
  483. package/lib/modules/custom-image/blot-formatter.cjs.js.map +0 -1
  484. package/lib/modules/custom-image/image.cjs.js.map +0 -1
  485. package/lib/modules/custom-image/options.cjs.js +0 -88
  486. package/lib/modules/custom-image/options.cjs.js.map +0 -1
  487. package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +0 -1
  488. package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +0 -1
  489. package/lib/modules/custom-image/specs/image-spec.cjs.js.map +0 -1
  490. package/lib/modules/divider.cjs.js.map +0 -1
  491. package/lib/modules/emoji.cjs.js +0 -163
  492. package/lib/modules/emoji.cjs.js.map +0 -1
  493. package/lib/modules/file/formats/file.cjs.js.map +0 -1
  494. package/lib/modules/file/modules/file-bar.cjs.js.map +0 -1
  495. package/lib/modules/file/modules/file-module.cjs.js.map +0 -1
  496. package/lib/modules/index.cjs.js +0 -26
  497. package/lib/modules/index.cjs.js.map +0 -1
  498. package/lib/modules/link/formats/link.cjs.js.map +0 -1
  499. package/lib/modules/link/modules/tooltip.cjs.js.map +0 -1
  500. package/lib/modules/mathlive/formats.cjs.js.map +0 -1
  501. package/lib/modules/mathlive/tooltip.cjs.js.map +0 -1
  502. package/lib/modules/mention/constants.cjs.js.map +0 -1
  503. package/lib/modules/mention/mention-link.cjs.js.map +0 -1
  504. package/lib/modules/mention/mention.cjs.js.map +0 -1
  505. package/lib/modules/syntax.cjs.js.map +0 -1
  506. package/lib/modules/toolbar/better-picker.cjs.js.map +0 -1
  507. package/lib/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.cjs.js +0 -40145
  508. 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
  509. package/lib/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js +0 -938
  510. 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
  511. package/lib/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js +0 -624
  512. 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
  513. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js +0 -159
  514. 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
  515. 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
  516. 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
  517. package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js +0 -2847
  518. package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js.map +0 -1
  519. package/lib/themes/snow.cjs.js.map +0 -1
  520. package/lib/tools/screenshot.cjs.js.map +0 -1
  521. package/lib/ui/icons.cjs.js.map +0 -1
  522. package/lib/ui/icons.config.cjs.js.map +0 -1
  523. package/lib/utils/debounce.cjs.js.map +0 -1
  524. package/lib/utils/method.cjs.js.map +0 -1
  525. package/types/attributors/font-size.d.ts +0 -1
  526. package/types/attributors/font-style.d.ts +0 -1
  527. package/types/attributors/index.d.ts +0 -4
  528. package/types/attributors/line-height.d.ts +0 -1
  529. package/types/attributors/text-indent.d.ts +0 -1
  530. package/types/config/base64-image.d.ts +0 -2
  531. package/types/config/editor.config.d.ts +0 -11
  532. package/types/config/editor.utils.d.ts +0 -40
  533. package/types/config/i18n/en-us.d.ts +0 -123
  534. package/types/config/i18n/zh-cn.d.ts +0 -123
  535. package/types/config/index.d.ts +0 -7
  536. package/types/config/types/editor-config.interface.d.ts +0 -15
  537. package/types/config/types/editor-modules.interface.d.ts +0 -42
  538. package/types/config/types/index.d.ts +0 -3
  539. package/types/config/types/type.d.ts +0 -2
  540. package/types/core/fluent-editor.d.ts +0 -14
  541. package/types/fluent-editor.d.ts +0 -3
  542. package/types/formats/emoji.d.ts +0 -9
  543. package/types/formats/index.d.ts +0 -4
  544. package/types/formats/soft-break.d.ts +0 -13
  545. package/types/formats/strike.d.ts +0 -9
  546. package/types/formats/video.d.ts +0 -14
  547. package/types/index.d.ts +0 -9
  548. package/types/modules/ai/constants.d.ts +0 -30
  549. package/types/modules/ai/icons.d.ts +0 -21
  550. package/types/modules/ai/index.d.ts +0 -97
  551. package/types/modules/ai/types.d.ts +0 -16
  552. package/types/modules/counter.d.ts +0 -24
  553. package/types/modules/custom-clipboard.d.ts +0 -26
  554. package/types/modules/custom-image/actions/action.d.ts +0 -9
  555. package/types/modules/custom-image/actions/custom-resize-action.d.ts +0 -24
  556. package/types/modules/custom-image/actions/delete-action.d.ts +0 -7
  557. package/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +0 -17
  558. package/types/modules/custom-image/actions/index.d.ts +0 -6
  559. package/types/modules/custom-image/actions/toolbar-action.d.ts +0 -12
  560. package/types/modules/custom-image/actions/toolbar.d.ts +0 -20
  561. package/types/modules/custom-image/blot-formatter.d.ts +0 -24
  562. package/types/modules/custom-image/image.d.ts +0 -29
  563. package/types/modules/custom-image/index.d.ts +0 -4
  564. package/types/modules/custom-image/options.d.ts +0 -48
  565. package/types/modules/custom-image/specs/blot-spec.d.ts +0 -13
  566. package/types/modules/custom-image/specs/custom-image-spec.d.ts +0 -18
  567. package/types/modules/custom-image/specs/image-spec.d.ts +0 -9
  568. package/types/modules/custom-image/specs/index.d.ts +0 -3
  569. package/types/modules/custom-uploader.d.ts +0 -41
  570. package/types/modules/divider.d.ts +0 -9
  571. package/types/modules/emoji.d.ts +0 -34
  572. package/types/modules/file/formats/file.d.ts +0 -19
  573. package/types/modules/file/index.d.ts +0 -3
  574. package/types/modules/file/modules/file-bar.d.ts +0 -14
  575. package/types/modules/file/modules/file-module.d.ts +0 -10
  576. package/types/modules/i18n.d.ts +0 -15
  577. package/types/modules/index.d.ts +0 -15
  578. package/types/modules/link/formats/link.d.ts +0 -16
  579. package/types/modules/link/index.d.ts +0 -2
  580. package/types/modules/link/modules/tooltip.d.ts +0 -28
  581. package/types/modules/mathlive/formats.d.ts +0 -23
  582. package/types/modules/mathlive/index.d.ts +0 -3
  583. package/types/modules/mathlive/module.d.ts +0 -10
  584. package/types/modules/mathlive/tooltip.d.ts +0 -19
  585. package/types/modules/mention/constants.d.ts +0 -3
  586. package/types/modules/mention/index.d.ts +0 -2
  587. package/types/modules/mention/mention-link.d.ts +0 -17
  588. package/types/modules/mention/mention.d.ts +0 -54
  589. package/types/modules/shortcut-key/index.d.ts +0 -72
  590. package/types/modules/syntax.d.ts +0 -14
  591. package/types/modules/table-up/index.d.ts +0 -35
  592. package/types/modules/toolbar/better-picker.d.ts +0 -16
  593. package/types/modules/toolbar/better-toolbar.d.ts +0 -8
  594. package/types/modules/toolbar/index.d.ts +0 -3
  595. package/types/modules/toolbar/toolbar-tip.d.ts +0 -10
  596. package/types/themes/snow.d.ts +0 -12
  597. package/types/tools/format-painter.d.ts +0 -14
  598. package/types/tools/fullscreen.d.ts +0 -7
  599. package/types/tools/screenshot.d.ts +0 -20
  600. package/types/ui/icons.config.d.ts +0 -38
  601. package/types/ui/icons.d.ts +0 -6
  602. package/types/utils/debounce.d.ts +0 -6
  603. package/types/utils/image.d.ts +0 -1
  604. package/types/utils/is.d.ts +0 -6
  605. package/types/utils/method.d.ts +0 -6
  606. package/types/utils/scroll-lock.d.ts +0 -6
  607. /package/{es → dist/es}/attributors/font-size.es.js +0 -0
  608. /package/{es → dist/es}/attributors/font-size.es.js.map +0 -0
  609. /package/{es → dist/es}/attributors/font-style.es.js +0 -0
  610. /package/{es → dist/es}/attributors/font-style.es.js.map +0 -0
  611. /package/{es → dist/es}/attributors/index.es.js +0 -0
  612. /package/{es → dist/es}/attributors/index.es.js.map +0 -0
  613. /package/{es → dist/es}/attributors/line-height.es.js +0 -0
  614. /package/{es → dist/es}/attributors/text-indent.es.js +0 -0
  615. /package/{es → dist/es}/attributors/text-indent.es.js.map +0 -0
  616. /package/{es → dist/es}/config/base64-image.es.js +0 -0
  617. /package/{es → dist/es}/config/editor.config.es.js +0 -0
  618. /package/{es → dist/es}/config/editor.utils.es.js +0 -0
  619. /package/{es → dist/es}/config/i18n/en-us.es.js +0 -0
  620. /package/{es → dist/es}/config/i18n/zh-cn.es.js +0 -0
  621. /package/{es → dist/es}/config/index.es.js +0 -0
  622. /package/{es → dist/es}/config/types/editor-config.interface.es.js +0 -0
  623. /package/{es → dist/es}/config/types/editor-config.interface.es.js.map +0 -0
  624. /package/{es → dist/es}/config/types/editor-modules.interface.es.js +0 -0
  625. /package/{es → dist/es}/config/types/editor-modules.interface.es.js.map +0 -0
  626. /package/{es → dist/es}/config/types/index.es.js +0 -0
  627. /package/{es → dist/es}/config/types/index.es.js.map +0 -0
  628. /package/{es → dist/es}/config/types/type.es.js +0 -0
  629. /package/{es → dist/es}/config/types/type.es.js.map +0 -0
  630. /package/{es → dist/es}/core/fluent-editor.es.js +0 -0
  631. /package/{es → dist/es}/fluent-editor.es.js +0 -0
  632. /package/{es → dist/es}/formats/emoji.es.js +0 -0
  633. /package/{es → dist/es}/formats/index.es.js +0 -0
  634. /package/{es → dist/es}/formats/index.es.js.map +0 -0
  635. /package/{es → dist/es}/formats/soft-break.es.js +0 -0
  636. /package/{es → dist/es}/formats/strike.es.js +0 -0
  637. /package/{es → dist/es}/formats/video.es.js +0 -0
  638. /package/{es → dist/es}/modules/ai/constants.es.js +0 -0
  639. /package/{es → dist/es}/modules/ai/icons.es.js +0 -0
  640. /package/{es → dist/es}/modules/ai/index.es.js +0 -0
  641. /package/{es/modules/link → dist/es/modules/collaborative-editing/awareness}/index.es.js.map +0 -0
  642. /package/{es/modules/mention → dist/es/modules/collaborative-editing}/index.es.js.map +0 -0
  643. /package/{es → dist/es}/modules/counter.es.js +0 -0
  644. /package/{es → dist/es}/modules/custom-clipboard.es.js +0 -0
  645. /package/{es → dist/es}/modules/custom-image/actions/action.es.js +0 -0
  646. /package/{es → dist/es}/modules/custom-image/actions/custom-resize-action.es.js +0 -0
  647. /package/{es → dist/es}/modules/custom-image/actions/delete-action.es.js +0 -0
  648. /package/{es → dist/es}/modules/custom-image/actions/image-toolbar-buttons.es.js +0 -0
  649. /package/{es → dist/es}/modules/custom-image/actions/image-toolbar-buttons.es.js.map +0 -0
  650. /package/{es → dist/es}/modules/custom-image/actions/index.es.js +0 -0
  651. /package/{es → dist/es}/modules/custom-image/actions/index.es.js.map +0 -0
  652. /package/{es → dist/es}/modules/custom-image/actions/toolbar-action.es.js +0 -0
  653. /package/{es → dist/es}/modules/custom-image/actions/toolbar-action.es.js.map +0 -0
  654. /package/{es → dist/es}/modules/custom-image/actions/toolbar.es.js +0 -0
  655. /package/{es → dist/es}/modules/custom-image/actions/toolbar.es.js.map +0 -0
  656. /package/{es → dist/es}/modules/custom-image/blot-formatter.es.js +0 -0
  657. /package/{es → dist/es}/modules/custom-image/image.es.js +0 -0
  658. /package/{es → dist/es}/modules/custom-image/index.es.js +0 -0
  659. /package/{es → dist/es}/modules/custom-image/index.es.js.map +0 -0
  660. /package/{es → dist/es}/modules/custom-image/specs/blot-spec.es.js +0 -0
  661. /package/{es → dist/es}/modules/custom-image/specs/custom-image-spec.es.js +0 -0
  662. /package/{es → dist/es}/modules/custom-image/specs/image-spec.es.js +0 -0
  663. /package/{es → dist/es}/modules/custom-image/specs/index.es.js +0 -0
  664. /package/{es → dist/es}/modules/custom-image/specs/index.es.js.map +0 -0
  665. /package/{es → dist/es}/modules/custom-uploader.es.js +0 -0
  666. /package/{es → dist/es}/modules/custom-uploader.es.js.map +0 -0
  667. /package/{es → dist/es}/modules/divider.es.js +0 -0
  668. /package/{es → dist/es}/modules/file/formats/file.es.js +0 -0
  669. /package/{es → dist/es}/modules/file/index.es.js +0 -0
  670. /package/{es → dist/es}/modules/file/index.es.js.map +0 -0
  671. /package/{es → dist/es}/modules/file/modules/file-bar.es.js +0 -0
  672. /package/{es → dist/es}/modules/file/modules/file-module.es.js +0 -0
  673. /package/{es → dist/es}/modules/i18n.es.js +0 -0
  674. /package/{es → dist/es}/modules/i18n.es.js.map +0 -0
  675. /package/{es → dist/es}/modules/link/formats/link.es.js +0 -0
  676. /package/{es → dist/es}/modules/link/index.es.js +0 -0
  677. /package/{es → dist/es}/modules/link/modules/tooltip.es.js +0 -0
  678. /package/{es → dist/es}/modules/mathlive/formats.es.js +0 -0
  679. /package/{es → dist/es}/modules/mathlive/index.es.js +0 -0
  680. /package/{es → dist/es}/modules/mathlive/index.es.js.map +0 -0
  681. /package/{es → dist/es}/modules/mathlive/module.es.js +0 -0
  682. /package/{es → dist/es}/modules/mathlive/module.es.js.map +0 -0
  683. /package/{es → dist/es}/modules/mathlive/tooltip.es.js +0 -0
  684. /package/{es → dist/es}/modules/mention/constants.es.js +0 -0
  685. /package/{es → dist/es}/modules/mention/index.es.js +0 -0
  686. /package/{es → dist/es}/modules/mention/mention-link.es.js +0 -0
  687. /package/{es → dist/es}/modules/mention/mention.es.js +0 -0
  688. /package/{es → dist/es}/modules/shortcut-key/index.es.js +0 -0
  689. /package/{es → dist/es}/modules/shortcut-key/index.es.js.map +0 -0
  690. /package/{es → dist/es}/modules/syntax.es.js +0 -0
  691. /package/{es → dist/es}/modules/table-up/index.es.js +0 -0
  692. /package/{es → dist/es}/modules/table-up/index.es.js.map +0 -0
  693. /package/{es → dist/es}/modules/toolbar/better-picker.es.js +0 -0
  694. /package/{es → dist/es}/modules/toolbar/better-toolbar.es.js +0 -0
  695. /package/{es → dist/es}/modules/toolbar/better-toolbar.es.js.map +0 -0
  696. /package/{es → dist/es}/modules/toolbar/index.es.js +0 -0
  697. /package/{es → dist/es}/modules/toolbar/index.es.js.map +0 -0
  698. /package/{es → dist/es}/modules/toolbar/toolbar-tip.es.js +0 -0
  699. /package/{es → dist/es}/modules/toolbar/toolbar-tip.es.js.map +0 -0
  700. /package/{es → dist/es}/themes/snow.es.js +0 -0
  701. /package/{es → dist/es}/tools/format-painter.es.js +0 -0
  702. /package/{es → dist/es}/tools/format-painter.es.js.map +0 -0
  703. /package/{es → dist/es}/tools/fullscreen.es.js +0 -0
  704. /package/{es → dist/es}/tools/fullscreen.es.js.map +0 -0
  705. /package/{es → dist/es}/tools/screenshot.es.js +0 -0
  706. /package/{es → dist/es}/ui/icons.config.es.js +0 -0
  707. /package/{es → dist/es}/ui/icons.es.js +0 -0
  708. /package/{es → dist/es}/utils/debounce.es.js +0 -0
  709. /package/{es → dist/es}/utils/image.es.js +0 -0
  710. /package/{es → dist/es}/utils/image.es.js.map +0 -0
  711. /package/{es → dist/es}/utils/is.es.js +0 -0
  712. /package/{es → dist/es}/utils/is.es.js.map +0 -0
  713. /package/{es → dist/es}/utils/method.es.js +0 -0
  714. /package/{es → dist/es}/utils/scroll-lock.es.js +0 -0
  715. /package/{es → dist/es}/utils/scroll-lock.es.js.map +0 -0
  716. /package/{lib → dist/lib}/attributors/font-size.cjs.js +0 -0
  717. /package/{lib → dist/lib}/attributors/font-size.cjs.js.map +0 -0
  718. /package/{lib → dist/lib}/attributors/font-style.cjs.js +0 -0
  719. /package/{lib → dist/lib}/attributors/font-style.cjs.js.map +0 -0
  720. /package/{lib → dist/lib}/attributors/index.cjs.js +0 -0
  721. /package/{lib → dist/lib}/attributors/index.cjs.js.map +0 -0
  722. /package/{lib → dist/lib}/attributors/line-height.cjs.js +0 -0
  723. /package/{lib → dist/lib}/attributors/text-indent.cjs.js +0 -0
  724. /package/{lib → dist/lib}/attributors/text-indent.cjs.js.map +0 -0
  725. /package/{lib → dist/lib}/config/base64-image.cjs.js +0 -0
  726. /package/{lib → dist/lib}/config/editor.config.cjs.js +0 -0
  727. /package/{lib → dist/lib}/config/editor.utils.cjs.js +0 -0
  728. /package/{lib → dist/lib}/config/i18n/en-us.cjs.js +0 -0
  729. /package/{lib → dist/lib}/config/i18n/zh-cn.cjs.js +0 -0
  730. /package/{lib → dist/lib}/config/index.cjs.js +0 -0
  731. /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js +0 -0
  732. /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js.map +0 -0
  733. /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js +0 -0
  734. /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
  735. /package/{lib → dist/lib}/config/types/index.cjs.js +0 -0
  736. /package/{lib → dist/lib}/config/types/index.cjs.js.map +0 -0
  737. /package/{lib → dist/lib}/config/types/type.cjs.js +0 -0
  738. /package/{lib → dist/lib}/config/types/type.cjs.js.map +0 -0
  739. /package/{lib → dist/lib}/core/fluent-editor.cjs.js +0 -0
  740. /package/{lib → dist/lib}/fluent-editor.cjs.js +0 -0
  741. /package/{lib → dist/lib}/formats/emoji.cjs.js +0 -0
  742. /package/{lib → dist/lib}/formats/index.cjs.js +0 -0
  743. /package/{lib → dist/lib}/formats/index.cjs.js.map +0 -0
  744. /package/{lib → dist/lib}/formats/soft-break.cjs.js +0 -0
  745. /package/{lib → dist/lib}/formats/strike.cjs.js +0 -0
  746. /package/{lib → dist/lib}/formats/video.cjs.js +0 -0
  747. /package/{lib → dist/lib}/modules/ai/constants.cjs.js +0 -0
  748. /package/{lib → dist/lib}/modules/ai/icons.cjs.js +0 -0
  749. /package/{lib → dist/lib}/modules/ai/index.cjs.js +0 -0
  750. /package/{lib → dist/lib}/modules/counter.cjs.js +0 -0
  751. /package/{lib → dist/lib}/modules/custom-clipboard.cjs.js +0 -0
  752. /package/{lib → dist/lib}/modules/custom-image/actions/action.cjs.js +0 -0
  753. /package/{lib → dist/lib}/modules/custom-image/actions/custom-resize-action.cjs.js +0 -0
  754. /package/{lib → dist/lib}/modules/custom-image/actions/delete-action.cjs.js +0 -0
  755. /package/{lib → dist/lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js +0 -0
  756. /package/{lib → dist/lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +0 -0
  757. /package/{lib → dist/lib}/modules/custom-image/actions/index.cjs.js +0 -0
  758. /package/{lib → dist/lib}/modules/custom-image/actions/index.cjs.js.map +0 -0
  759. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar-action.cjs.js +0 -0
  760. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar-action.cjs.js.map +0 -0
  761. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar.cjs.js +0 -0
  762. /package/{lib → dist/lib}/modules/custom-image/actions/toolbar.cjs.js.map +0 -0
  763. /package/{lib → dist/lib}/modules/custom-image/blot-formatter.cjs.js +0 -0
  764. /package/{lib → dist/lib}/modules/custom-image/image.cjs.js +0 -0
  765. /package/{lib → dist/lib}/modules/custom-image/index.cjs.js +0 -0
  766. /package/{lib → dist/lib}/modules/custom-image/index.cjs.js.map +0 -0
  767. /package/{lib → dist/lib}/modules/custom-image/specs/blot-spec.cjs.js +0 -0
  768. /package/{lib → dist/lib}/modules/custom-image/specs/custom-image-spec.cjs.js +0 -0
  769. /package/{lib → dist/lib}/modules/custom-image/specs/image-spec.cjs.js +0 -0
  770. /package/{lib → dist/lib}/modules/custom-image/specs/index.cjs.js +0 -0
  771. /package/{lib → dist/lib}/modules/custom-image/specs/index.cjs.js.map +0 -0
  772. /package/{lib → dist/lib}/modules/custom-uploader.cjs.js +0 -0
  773. /package/{lib → dist/lib}/modules/custom-uploader.cjs.js.map +0 -0
  774. /package/{lib → dist/lib}/modules/divider.cjs.js +0 -0
  775. /package/{lib → dist/lib}/modules/file/formats/file.cjs.js +0 -0
  776. /package/{lib → dist/lib}/modules/file/index.cjs.js +0 -0
  777. /package/{lib → dist/lib}/modules/file/index.cjs.js.map +0 -0
  778. /package/{lib → dist/lib}/modules/file/modules/file-bar.cjs.js +0 -0
  779. /package/{lib → dist/lib}/modules/file/modules/file-module.cjs.js +0 -0
  780. /package/{lib → dist/lib}/modules/i18n.cjs.js +0 -0
  781. /package/{lib → dist/lib}/modules/i18n.cjs.js.map +0 -0
  782. /package/{lib → dist/lib}/modules/link/formats/link.cjs.js +0 -0
  783. /package/{lib → dist/lib}/modules/link/index.cjs.js +0 -0
  784. /package/{lib → dist/lib}/modules/link/index.cjs.js.map +0 -0
  785. /package/{lib → dist/lib}/modules/link/modules/tooltip.cjs.js +0 -0
  786. /package/{lib → dist/lib}/modules/mathlive/formats.cjs.js +0 -0
  787. /package/{lib → dist/lib}/modules/mathlive/index.cjs.js +0 -0
  788. /package/{lib → dist/lib}/modules/mathlive/index.cjs.js.map +0 -0
  789. /package/{lib → dist/lib}/modules/mathlive/module.cjs.js +0 -0
  790. /package/{lib → dist/lib}/modules/mathlive/module.cjs.js.map +0 -0
  791. /package/{lib → dist/lib}/modules/mathlive/tooltip.cjs.js +0 -0
  792. /package/{lib → dist/lib}/modules/mention/constants.cjs.js +0 -0
  793. /package/{lib → dist/lib}/modules/mention/index.cjs.js +0 -0
  794. /package/{lib → dist/lib}/modules/mention/index.cjs.js.map +0 -0
  795. /package/{lib → dist/lib}/modules/mention/mention-link.cjs.js +0 -0
  796. /package/{lib → dist/lib}/modules/mention/mention.cjs.js +0 -0
  797. /package/{lib → dist/lib}/modules/shortcut-key/index.cjs.js +0 -0
  798. /package/{lib → dist/lib}/modules/shortcut-key/index.cjs.js.map +0 -0
  799. /package/{lib → dist/lib}/modules/syntax.cjs.js +0 -0
  800. /package/{lib → dist/lib}/modules/table-up/index.cjs.js +0 -0
  801. /package/{lib → dist/lib}/modules/table-up/index.cjs.js.map +0 -0
  802. /package/{lib → dist/lib}/modules/toolbar/better-picker.cjs.js +0 -0
  803. /package/{lib → dist/lib}/modules/toolbar/better-toolbar.cjs.js +0 -0
  804. /package/{lib → dist/lib}/modules/toolbar/better-toolbar.cjs.js.map +0 -0
  805. /package/{lib → dist/lib}/modules/toolbar/index.cjs.js +0 -0
  806. /package/{lib → dist/lib}/modules/toolbar/index.cjs.js.map +0 -0
  807. /package/{lib → dist/lib}/modules/toolbar/toolbar-tip.cjs.js +0 -0
  808. /package/{lib → dist/lib}/modules/toolbar/toolbar-tip.cjs.js.map +0 -0
  809. /package/{lib → dist/lib}/themes/snow.cjs.js +0 -0
  810. /package/{lib → dist/lib}/tools/format-painter.cjs.js +0 -0
  811. /package/{lib → dist/lib}/tools/format-painter.cjs.js.map +0 -0
  812. /package/{lib → dist/lib}/tools/fullscreen.cjs.js +0 -0
  813. /package/{lib → dist/lib}/tools/fullscreen.cjs.js.map +0 -0
  814. /package/{lib → dist/lib}/tools/screenshot.cjs.js +0 -0
  815. /package/{lib → dist/lib}/ui/icons.cjs.js +0 -0
  816. /package/{lib → dist/lib}/ui/icons.config.cjs.js +0 -0
  817. /package/{lib → dist/lib}/utils/debounce.cjs.js +0 -0
  818. /package/{lib → dist/lib}/utils/image.cjs.js +0 -0
  819. /package/{lib → dist/lib}/utils/image.cjs.js.map +0 -0
  820. /package/{lib → dist/lib}/utils/is.cjs.js +0 -0
  821. /package/{lib → dist/lib}/utils/is.cjs.js.map +0 -0
  822. /package/{lib → dist/lib}/utils/method.cjs.js +0 -0
  823. /package/{lib → dist/lib}/utils/scroll-lock.cjs.js +0 -0
  824. /package/{lib → dist/lib}/utils/scroll-lock.cjs.js.map +0 -0
  825. /package/{style.css → dist/style.css} +0 -0
@@ -0,0 +1,193 @@
1
+ import Quill from 'quill'
2
+
3
+ const Delta = Quill.import('delta')
4
+
5
+ // color hex to rgba
6
+ export function hexToRgbA(hex: string) {
7
+ let color
8
+ if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {
9
+ color = hex.substring(1).split('')
10
+ if (color.length === 3) {
11
+ color = [color[0], color[0], color[1], color[1], color[2], color[2]]
12
+ }
13
+ color = `0x${color.join('')}`
14
+ return (
15
+ `rgba(${
16
+ [(color >> 16) & 255, (color >> 8) & 255, color & 255].join(',')
17
+ },1)`
18
+ )
19
+ }
20
+ }
21
+
22
+ /**
23
+ * 将File格式的图片转换成Url格式
24
+ * @param imageFile File格式的图片
25
+ */
26
+ export function imageFileToUrl(imageFile) {
27
+ return new Promise((resolve, reject) => {
28
+ const reader = new FileReader()
29
+ reader.readAsDataURL(imageFile)
30
+ reader.onload = function (e) {
31
+ resolve(e.target.result)
32
+ }
33
+ reader.onerror = reject
34
+ }).catch((error) => {
35
+ console.error('Error reading file:', error)
36
+ })
37
+ }
38
+
39
+ /**
40
+ * 将Url格式的图片转换成File格式
41
+ * @param imageUrl 图片的URL
42
+ */
43
+ export function imageUrlToFile(imageUrl, isErrorImage?: boolean) {
44
+ return new Promise((resolve, reject) => {
45
+ fetch(imageUrl, {
46
+ method: 'get',
47
+ mode: 'no-cors',
48
+ })
49
+ .then(res => res.blob())
50
+ .then((blob) => {
51
+ if (!blob.type.includes('image') || !blob.type) {
52
+ return reject()
53
+ }
54
+ const fileType = blob.type.replace(/^.*\//, '')
55
+ const fileName = isErrorImage
56
+ ? 'editorx-error-image.png'
57
+ : `image-${new Date().getTime()}.${fileType}`
58
+ const file = new File([blob], fileName, blob)
59
+ resolve(file)
60
+ })
61
+ .catch(reject)
62
+ })
63
+ }
64
+
65
+ export function isNullOrUndefined(param) {
66
+ return param === null || param === undefined
67
+ }
68
+
69
+ /**
70
+ * omit
71
+ * @param obj target Object
72
+ * @param uselessKeys keys of removed properties
73
+ * @return new Object without useless properties
74
+ */
75
+ export function omit(obj, uselessKeys) {
76
+ return (
77
+ obj
78
+ && Object.keys(obj).reduce((acc, key) => {
79
+ return uselessKeys.includes(key) ? acc : { ...acc, [key]: obj[key] }
80
+ }, {})
81
+ )
82
+ }
83
+
84
+ /**
85
+ * 将delta中的图片替换成制定的图片数组,用于图片上传到服务器的场景
86
+ * @param delta 原始delta
87
+ * @param imageUrls 图片数组
88
+ * @param imagePlaceholder 标识是否是占位图的数组,与图片数组一一对应
89
+ * @return 替换之后的delta
90
+ */
91
+ export function replaceDeltaImage(delta, imageUrls, imagePlaceholder) {
92
+ let imageIndex = 0
93
+ return delta.reduce((newDelta, op) => {
94
+ if (op.insert.image && !op.insert.image.hasExisted) {
95
+ const attributes = imagePlaceholder[imageIndex]
96
+ ? { ...op.attributes, width: 'auto', height: 225 } // 占位图片应该固定大小
97
+ : op.attributes
98
+ newDelta.insert({ image: imageUrls[imageIndex] }, attributes)
99
+ imageIndex++
100
+ }
101
+ else {
102
+ newDelta.insert(op.insert, op.attributes)
103
+ }
104
+ return newDelta
105
+ }, new Delta())
106
+ }
107
+
108
+ export function splitWithBreak(insertContent: string) {
109
+ const lines = []
110
+ const insertStr = insertContent
111
+ let start = 0
112
+ for (let i = 0; i < insertContent.length; i++) {
113
+ if (insertStr.charAt(i) === '\n') {
114
+ if (i === 0) {
115
+ lines.push('\n')
116
+ }
117
+ else {
118
+ lines.push(insertStr.substring(start, i))
119
+ lines.push('\n')
120
+ }
121
+ start = i + 1
122
+ }
123
+ }
124
+
125
+ const tailStr = insertStr.substring(start)
126
+ if (tailStr) {
127
+ lines.push(tailStr)
128
+ }
129
+
130
+ return lines
131
+ }
132
+
133
+ /**
134
+ * getEventComposedPath
135
+ * compatibility fixed for Event.path/Event.composedPath
136
+ * Event.path is only for chrome/opera
137
+ * Event.composedPath is for Safari, FF
138
+ * Neither for Micro Edge
139
+ * @return an array of event.path
140
+ */
141
+ export function getEventComposedPath(evt) {
142
+ let path
143
+ // chrome, opera, safari, firefox
144
+ path = evt.path || (evt.composedPath && evt.composedPath())
145
+
146
+ // other: edge
147
+ if (path === undefined && evt.target) {
148
+ path = []
149
+ let target = evt.target
150
+ path.push(target)
151
+
152
+ while (target && target.parentNode) {
153
+ target = target.parentNode
154
+ path.push(target)
155
+ }
156
+ }
157
+
158
+ return path
159
+ }
160
+
161
+ export function sanitize(url, protocols) {
162
+ const anchor = document.createElement('a')
163
+ anchor.href = url
164
+ const protocol = anchor.href.slice(0, anchor.href.indexOf(':'))
165
+ return protocols.includes(protocol)
166
+ }
167
+
168
+ export function hadProtocol(url: string) {
169
+ if (!url || !/^(?:f|ht)tps?\:\/\//.test(url)) {
170
+ return false
171
+ }
172
+ return true
173
+ }
174
+
175
+ export function isInside(position, dom) {
176
+ const areaPosition = dom.getBoundingClientRect()
177
+ const { pageX, pageY } = position
178
+ // getBoundingClientRect是不考虑窗口滚动的
179
+ const left = pageX - window.scrollX
180
+ const top = pageY - window.scrollY
181
+ const {
182
+ left: areaLeft,
183
+ top: areaTop,
184
+ width: areaWidth,
185
+ height: areaHeight,
186
+ } = areaPosition
187
+ const inside
188
+ = left > areaLeft
189
+ && left < areaLeft + areaWidth
190
+ && top > areaTop
191
+ && top < areaTop + areaHeight
192
+ return inside
193
+ }
@@ -0,0 +1,138 @@
1
+ export const EN_US = {
2
+
3
+ 'header': 'Paragraph Formatting',
4
+ 'normal': 'Normal',
5
+ 'h1': 'Heading 1',
6
+ 'h2': 'Heading 2',
7
+ 'h3': 'Heading 3',
8
+ 'h4': 'Heading 4',
9
+ 'h5': 'Heading 5',
10
+ 'h6': 'Heading 6',
11
+
12
+ 'line-height': 'Line Height',
13
+ 'songti': 'SimSun',
14
+ 'yahei': 'Microsoft Yahei',
15
+ 'kaiti': 'KaiTi',
16
+ 'heiti': 'SimHei',
17
+ 'lishu': 'LiSu',
18
+
19
+ 'left': 'Left',
20
+ 'center': 'Centered',
21
+ 'right': 'Right',
22
+
23
+ 'codeblock': 'Code Block',
24
+ 'globallink': 'Link',
25
+
26
+ 'exit-fullscreen': 'Exit Full Screen',
27
+ 'help': 'Help',
28
+ 'more': 'More',
29
+
30
+ 'help-format': 'Format',
31
+ 'help-insert': 'Insert',
32
+ 'help-operation': 'Edit',
33
+ 'mention': 'Mention People',
34
+ 'quick-menu': 'Shortcut',
35
+ 'toggle-help-panel': 'Open/Close Help Panel',
36
+ 'scroll-table': 'Horizontal Scroll',
37
+ 'mouse-wheel': 'Mouse Wheel',
38
+ 'save': 'Save',
39
+
40
+ 'default-link-text': 'Link',
41
+ 'basicblock': 'Card',
42
+ 'linkplaceholder': 'Enter an address and press Enter.',
43
+ 'counter-template': `{{count}}/{{totalCount}} {{countUnit}}`,
44
+ 'char': 'characters',
45
+ 'word': 'words',
46
+ 'counter-limit-tips':
47
+ 'The number of {{countUnit}} exceeds the maximum allowed limit.',
48
+ 'ie-msg':
49
+ 'In order to have a better experience, it is recommended to use the latest version of Chrome browser.',
50
+
51
+ 'loading': 'Loading...',
52
+ 'pasting': 'A large amount of content to paste. Loading...',
53
+ 'img-error': 'Image Copy Error',
54
+ 'img-error-info':
55
+ 'Failed to copy the image. Save it to your local computer and then upload it by clicking Image on the toolbar.',
56
+
57
+ 'last-modified': 'Last Modified Date:',
58
+ 'screenshot': 'Screenshot',
59
+ 'uploading': 'Uploading...',
60
+ 'sub-title-bg-color': 'Background Color',
61
+
62
+ // blot tip name
63
+ 'emoji': 'Emoji',
64
+ 'fullscreen': 'Full Screen',
65
+ 'blockquote': 'Quote',
66
+ 'undo': 'Undo',
67
+ 'redo': 'Redo',
68
+ 'clean': 'Clear Formatting',
69
+ 'bold': 'Bold',
70
+ 'italic': 'Italic',
71
+ 'underline': 'Underline',
72
+ 'strike': 'Strikethrough',
73
+ 'image': 'Image',
74
+ 'file': 'File',
75
+ 'link': 'Hyperlink',
76
+ 'code': 'Inline Code',
77
+ 'table': 'Table',
78
+ 'table-up': 'Table',
79
+ 'code-block': 'Code Block',
80
+ 'formula': 'Formula',
81
+ 'format-painter': 'Format Painter',
82
+ 'divider': 'Divider',
83
+ 'video': 'Video',
84
+ 'color': 'Font Color',
85
+ 'background': 'Background Color',
86
+ 'font': 'Font',
87
+ 'size': 'Size',
88
+ 'list': 'List',
89
+ 'list-ordered': 'Ordered List',
90
+ 'list-bullet': 'Unordered List',
91
+ 'list-check': 'Task List',
92
+ 'align-left': 'Left aligned',
93
+ 'align-center': 'Center aligned',
94
+ 'align-right': 'Right aligned',
95
+ 'align-justify': 'Justify aligned',
96
+ 'direction-ltr': 'Text Direction Left To Right',
97
+ 'direction-rtl': 'Text Direction Right To Left',
98
+ 'indent--1': 'Minus Indent',
99
+ 'indent-+1': 'Add Indent',
100
+ 'script-super': 'Superscript',
101
+ 'script-sub': 'Subscript',
102
+ 'header-normal': 'Text',
103
+ 'header-1': 'Heading 1',
104
+ 'header-2': 'Heading 2',
105
+ 'header-3': 'Heading 3',
106
+ 'header-4': 'Heading 4',
107
+ 'header-5': 'Heading 5',
108
+ 'header-6': 'Heading 6',
109
+ 'header-list': 'Heading List',
110
+ 'input-recall-menu-placeholder': 'Input / recall menu',
111
+ 'clear-color': 'Clear color',
112
+ 'custom-color': 'Color picker',
113
+ // table-up texts
114
+ 'fullCheckboxText': 'Insert full width table',
115
+ 'customBtnText': 'Custom',
116
+ 'confirmText': 'Confirm',
117
+ 'cancelText': 'Cancel',
118
+ 'rowText': 'Row',
119
+ 'colText': 'Column',
120
+ 'notPositiveNumberError': 'Please enter a positive integer',
121
+ 'custom': 'Custom',
122
+ 'clear': 'Clear',
123
+ 'transparent': 'Transparent',
124
+ 'perWidthInsufficient': 'The percentage width is insufficient. To complete the operation, the table needs to be converted to a fixed width. Do you want to continue?',
125
+ 'CopyCell': 'Copy cell',
126
+ 'CutCell': 'Cut cell',
127
+ 'InsertTop': 'Insert row above',
128
+ 'InsertRight': 'Insert column right',
129
+ 'InsertBottom': 'Insert row below',
130
+ 'InsertLeft': 'Insert column Left',
131
+ 'MergeCell': 'Merge Cell',
132
+ 'SplitCell': 'Split Cell',
133
+ 'DeleteRow': 'Delete Row',
134
+ 'DeleteColumn': 'Delete Column',
135
+ 'DeleteTable': 'Delete table',
136
+ 'BackgroundColor': 'Set background color',
137
+ 'BorderColor': 'Set border color',
138
+ }
@@ -0,0 +1,137 @@
1
+ export const ZH_CN = {
2
+
3
+ 'header': '段落格式',
4
+ 'normal': '正文',
5
+ 'h1': '标题1',
6
+ 'h2': '标题2',
7
+ 'h3': '标题3',
8
+ 'h4': '标题4',
9
+ 'h5': '标题5',
10
+ 'h6': '标题6',
11
+
12
+ 'line-height': '行距',
13
+ 'songti': '宋体',
14
+ 'yahei': '微软雅黑',
15
+ 'kaiti': '楷体',
16
+ 'heiti': '黑体',
17
+ 'lishu': '隶书',
18
+
19
+ 'left': '左对齐',
20
+ 'center': '居中对齐',
21
+ 'right': '右对齐',
22
+
23
+ 'codeblock': '代码块',
24
+ 'globallink': '全局链接',
25
+
26
+ 'exit-fullscreen': '退出全屏',
27
+ 'help': '帮助',
28
+ 'more': '更多',
29
+
30
+ 'help-format': '格式',
31
+ 'help-insert': '插入',
32
+ 'help-operation': '操作',
33
+ 'mention': '提及某人',
34
+ 'quick-menu': '快捷菜单',
35
+ 'toggle-help-panel': '打开/关闭帮助面板',
36
+ 'scroll-table': '水平滚动表格',
37
+ 'mouse-wheel': '鼠标滚轮',
38
+ 'save': '保存',
39
+
40
+ 'default-link-text': '链接',
41
+ 'basicblock': '卡片',
42
+ 'linkplaceholder': '请输入链接地址,按回车键确认',
43
+ 'counter-template': '{{count}}/{{totalCount}}',
44
+ 'char': '字符',
45
+ 'word': '单词',
46
+ 'counter-limit-tips': '{{countUnit}}数超出最大允许值',
47
+ 'ie-msg': '为了有更好的体验,推荐使用最新版Chrome浏览器。',
48
+
49
+ 'loading': '正在加载中...',
50
+ 'pasting': '您粘贴的内容较多,正在努力加载中,请耐心等待...',
51
+ 'img-error': '图片复制出错',
52
+ 'img-error-info':
53
+ '此图片不支持复制,请将原图下载至本地后点击工具栏【插入图片】,重新上传。',
54
+
55
+ 'last-modified': '最后修改时间:',
56
+ 'screenshot': '截图',
57
+ 'uploading': '上传中...',
58
+ 'sub-title-bg-color': '背景颜色',
59
+
60
+ // blot tip name
61
+ 'emoji': '表情',
62
+ 'fullscreen': '全屏',
63
+ 'blockquote': '引用',
64
+ 'undo': '撤销',
65
+ 'redo': '重做',
66
+ 'clean': '清除格式',
67
+ 'bold': '粗体',
68
+ 'italic': '斜体',
69
+ 'underline': '下划线',
70
+ 'strike': '删除线',
71
+ 'image': '图片',
72
+ 'file': '文件',
73
+ 'link': '超链接',
74
+ 'divider': '分割线',
75
+ 'code': '行内代码',
76
+ 'table': '表格',
77
+ 'table-up': '表格',
78
+ 'code-block': '代码块',
79
+ 'formula': '公式',
80
+ 'format-painter': '格式刷',
81
+ 'video': '视频',
82
+ 'color': '字体颜色',
83
+ 'background': '背景色',
84
+ 'font': '字体',
85
+ 'size': '字号',
86
+ 'list': '列表',
87
+ 'list-ordered': '有序列表',
88
+ 'list-bullet': '无序列表',
89
+ 'list-check': '任务列表',
90
+ 'align-left': '左对齐',
91
+ 'align-center': '居中对齐',
92
+ 'align-right': '右对齐',
93
+ 'align-justify': '两端对齐',
94
+ 'direction-ltr': '文本方向左到右',
95
+ 'direction-rtl': '文本方向右到左',
96
+ 'indent--1': '减少缩进',
97
+ 'indent-+1': '增加缩进',
98
+ 'script-super': '上标',
99
+ 'script-sub': '下标',
100
+ 'header-normal': '正文',
101
+ 'header-1': '标题1',
102
+ 'header-2': '标题2',
103
+ 'header-3': '标题3',
104
+ 'header-4': '标题4',
105
+ 'header-5': '标题5',
106
+ 'header-6': '标题6',
107
+ 'header-list': '标题列表',
108
+ 'input-recall-menu-placeholder': '输入 / 唤起菜单',
109
+ 'clear-color': '清除颜色',
110
+ 'custom-color': '选择颜色',
111
+ // table-up texts
112
+ 'fullCheckboxText': '插入满宽度表格',
113
+ 'customBtnText': '自定义行列数',
114
+ 'confirmText': '确认',
115
+ 'cancelText': '取消',
116
+ 'rowText': '行数',
117
+ 'colText': '列数',
118
+ 'notPositiveNumberError': '请输入正整数',
119
+ 'custom': '自定义',
120
+ 'clear': '清除',
121
+ 'transparent': '透明',
122
+ 'perWidthInsufficient': '百分比宽度不足, 如需完成操作需要转换表格为固定宽度,是否继续?',
123
+ 'CopyCell': '复制单元格',
124
+ 'CutCell': '剪切单元格',
125
+ 'InsertTop': '向上插入一行',
126
+ 'InsertRight': '向右插入一列',
127
+ 'InsertBottom': '向下插入一行',
128
+ 'InsertLeft': '向左插入一列',
129
+ 'MergeCell': '合并单元格',
130
+ 'SplitCell': '拆分单元格',
131
+ 'DeleteRow': '删除当前行',
132
+ 'DeleteColumn': '删除当前列',
133
+ 'DeleteTable': '删除当前表格',
134
+ 'BackgroundColor': '设置背景颜色',
135
+ 'BorderColor': '设置边框颜色',
136
+
137
+ }
@@ -0,0 +1,44 @@
1
+ import { isNullOrUndefined } from './editor.utils'
2
+
3
+ export * from './editor.config'
4
+ export * from './editor.utils'
5
+ export * from './types'
6
+
7
+ // 触发上传
8
+ export function inputFile(type: 'image' | 'video' | 'file', accept: string[]) {
9
+ if (accept.length <= 0) return
10
+ let fileInput = this.container.querySelector(`input.ql-${type}[type=file]`)
11
+ if (isNullOrUndefined(fileInput)) {
12
+ fileInput = document.createElement('input')
13
+ fileInput.style.display = 'none'
14
+ fileInput.classList.add(`ql-${type}`)
15
+ fileInput.setAttribute('type', 'file')
16
+ fileInput.setAttribute('accept', accept.map(mime => mime === '*' ? `${type}/*` : mime).join(','))
17
+ fileInput.setAttribute('multiple', '')
18
+ fileInput.addEventListener('change', () => {
19
+ const range = this.quill.getSelection(true)
20
+ this.quill.uploader.upload(range, fileInput.files)
21
+ fileInput.value = ''
22
+ })
23
+ this.container.appendChild(fileInput)
24
+ }
25
+ fileInput.click()
26
+ }
27
+
28
+ export function getListValue(value, preListValue) {
29
+ let curListValue = value
30
+ if (preListValue && preListValue === value) {
31
+ curListValue = false
32
+ }
33
+ else if (value === 'check') {
34
+ if (preListValue === 'checked' || preListValue === 'unchecked') {
35
+ curListValue = false
36
+ }
37
+ else {
38
+ curListValue = 'unchecked'
39
+ }
40
+ }
41
+ return curListValue
42
+ }
43
+ /** css namespace */
44
+ export const namespace = 'fe'
@@ -0,0 +1,16 @@
1
+ import type { QuillOptions } from 'quill'
2
+ import type { ScreenShotOptions } from '../../tools/screenshot'
3
+ import type { IEditorModules } from './editor-modules.interface'
4
+
5
+ export interface IEditorConfig extends QuillOptions {
6
+ 'modules'?: IEditorModules
7
+ 'screenshotOnStaticPage'?: boolean
8
+ 'scrollingContainer'?: HTMLElement | string | null
9
+ // Auto protocol for link
10
+ 'autoProtocol'?: boolean | string
11
+ 'editorPaste'?: any
12
+ 'screenshot'?: Partial<ScreenShotOptions>
13
+ 'format-painter'?: {
14
+ ignoreFormat?: string[]
15
+ }
16
+ }
@@ -0,0 +1,47 @@
1
+ import type { ToolbarProps } from 'quill/modules/toolbar'
2
+ import type { I18NOptions, ICounterOption, MentionOption, ShortCutKeyInputOptions } from '../../modules'
3
+ import type { BlotFormatterOptionsInput } from '../../modules/custom-image/options'
4
+ import type { FileUploaderOptions } from '../../modules/custom-uploader'
5
+ import type { EmojiModuleOptions } from '../../modules/emoji'
6
+
7
+ export type ToolbarOptions = {
8
+ container?: HTMLElement | (Record<string, any>[] | string[] | (string | Record<string, any>)[])[]
9
+ } & ToolbarProps
10
+ export interface IEditorModules {
11
+ [key: string]: any
12
+ 'clipboard'?:
13
+ | {
14
+ matchers?: any[]
15
+ matchVisual?: boolean
16
+ }
17
+ | boolean
18
+ 'history'?:
19
+ | {
20
+ delay?: number
21
+ maxStack?: number
22
+ userOnly?: boolean
23
+ }
24
+ | boolean
25
+ 'keyboard'?:
26
+ | {
27
+ bindings?: any
28
+ }
29
+ | boolean
30
+ 'syntax'?:
31
+ | {
32
+ interval?: number
33
+ languages?: { key: string, label: string }[]
34
+ hljs?: any
35
+ }
36
+ | boolean
37
+ 'toolbar'?: boolean | ToolbarOptions | ToolbarOptions['container'] | string[]
38
+ 'uploader'?: boolean | Partial<FileUploaderOptions>
39
+ 'shortcut-key'?: boolean | Partial<ShortCutKeyInputOptions>
40
+ 'mention'?: boolean | MentionOption
41
+ 'i18n'?: boolean | Partial<I18NOptions>
42
+ 'counter'?: boolean | ICounterOption
43
+ 'emoji'?: boolean | EmojiModuleOptions
44
+ 'file'?: boolean
45
+ 'mathlive'?: boolean
46
+ 'image'?: boolean | Partial<BlotFormatterOptionsInput>
47
+ }
@@ -0,0 +1,3 @@
1
+ export * from './editor-config.interface'
2
+ export * from './editor-modules.interface'
3
+ export * from './type'
@@ -0,0 +1,2 @@
1
+ export type AnyFunction = (...args: any[]) => any
2
+ export type Constructor<T = any, U extends Array<any> = any[]> = new (...args: U) => T
@@ -0,0 +1,31 @@
1
+ import type { ExpandedQuillOptions } from 'quill'
2
+ import type { IEditorConfig } from '../config/types'
3
+ import type { FileUploader } from '../modules/custom-uploader'
4
+ import Quill from 'quill'
5
+ import { defaultLanguage } from '../config'
6
+ import I18N from '../modules/i18n'
7
+
8
+ class FluentEditor extends Quill {
9
+ isFullscreen: boolean = false
10
+ declare options: IEditorConfig & ExpandedQuillOptions
11
+ declare uploader: FileUploader
12
+
13
+ static register(...args: any[]): void {
14
+ super.register(...args as Parameters<typeof Quill.register>)
15
+ }
16
+
17
+ get lang() {
18
+ const i18nModule = this.getModule('i18n') as I18N
19
+ return i18nModule ? i18nModule.options.lang : defaultLanguage
20
+ }
21
+
22
+ constructor(container: HTMLElement | string, options: IEditorConfig = {}) {
23
+ super(container, options)
24
+ }
25
+
26
+ getLangText(name: string) {
27
+ return I18N.parserText(name, this.lang)
28
+ }
29
+ }
30
+
31
+ export default FluentEditor
@@ -0,0 +1,72 @@
1
+ import { FontStyle, LineHeightStyle, SizeStyle, TextIndentStyle } from './attributors'
2
+ import { EN_US } from './config/i18n/en-us'
3
+ import { ZH_CN } from './config/i18n/zh-cn'
4
+ import FluentEditor from './core/fluent-editor'
5
+ import { EmojiBlot, SoftBreak, StrikeBlot, Video } from './formats'
6
+ import { AI } from './modules/ai' // AI
7
+ import Counter from './modules/counter' // 字符统计
8
+ import { CustomClipboard } from './modules/custom-clipboard' // 粘贴板
9
+ import { BlotFormatter } from './modules/custom-image' // 图片
10
+ import { FileUploader } from './modules/custom-uploader' // 上传
11
+ import { DividerBlot } from './modules/divider' // 分割线
12
+ import { EmojiModule } from './modules/emoji'
13
+ import { FileModule } from './modules/file' // 文件
14
+ import I18N from './modules/i18n'
15
+ import { LinkBlot } from './modules/link' // 超链接
16
+ import { MathliveModule } from './modules/mathlive' // latex公式
17
+ import { Mention } from './modules/mention' // @提醒
18
+ import { ShortCutKey } from './modules/shortcut-key'
19
+ import Syntax from './modules/syntax' // 代码块高亮
20
+ import { BetterToolbar } from './modules/toolbar' // 工具栏
21
+ import { ColorPicker, Picker } from './modules/toolbar/better-picker'
22
+ import SnowTheme from './themes/snow'
23
+ import Icons from './ui/icons'
24
+
25
+ I18N.register(
26
+ {
27
+ 'en-US': EN_US,
28
+ 'zh-CN': ZH_CN,
29
+ },
30
+ true,
31
+ )
32
+ FluentEditor.register(
33
+ {
34
+ 'attributors/style/font': FontStyle,
35
+ 'attributors/style/size': SizeStyle,
36
+ 'attributors/style/line-height': LineHeightStyle,
37
+
38
+ 'formats/font': FontStyle,
39
+ 'formats/line-height': LineHeightStyle,
40
+ 'formats/size': SizeStyle,
41
+ 'formats/emoji': EmojiBlot,
42
+ 'formats/softBreak': SoftBreak,
43
+ 'formats/strike': StrikeBlot,
44
+ 'formats/text-indent': TextIndentStyle,
45
+ 'formats/video': Video,
46
+ 'formats/divider': DividerBlot,
47
+ 'formats/link': LinkBlot,
48
+
49
+ 'modules/clipboard': CustomClipboard,
50
+ 'modules/counter': Counter,
51
+ 'modules/emoji': EmojiModule,
52
+ 'modules/file': FileModule,
53
+ 'modules/i18n': I18N,
54
+ 'modules/image': BlotFormatter,
55
+ 'modules/mathlive': MathliveModule,
56
+ 'modules/ai': AI,
57
+ 'modules/mention': Mention,
58
+ 'modules/syntax': Syntax,
59
+ 'modules/toolbar': BetterToolbar,
60
+ 'modules/uploader': FileUploader,
61
+ 'modules/shortcut-key': ShortCutKey,
62
+
63
+ 'themes/snow': SnowTheme,
64
+
65
+ 'ui/icons': Icons,
66
+ 'ui/picker': Picker,
67
+ 'ui/color-picker': ColorPicker,
68
+ },
69
+ true, // 覆盖内部模块
70
+ )
71
+
72
+ export default FluentEditor