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

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 (471) hide show
  1. package/README.md +7 -24
  2. package/es/config/editor.utils.es.js +0 -2
  3. package/es/config/editor.utils.es.js.map +1 -1
  4. package/es/config/index.es.js +2 -2
  5. package/es/config/index.es.js.map +1 -1
  6. package/es/config/types/index.es.js +0 -20
  7. package/es/config/types/index.es.js.map +1 -1
  8. package/es/core/fluent-editor.es.js +4 -1
  9. package/es/core/fluent-editor.es.js.map +1 -1
  10. package/es/fluent-editor.es.js +26 -19
  11. package/es/fluent-editor.es.js.map +1 -1
  12. package/es/formats/emoji.es.js +14 -0
  13. package/es/formats/emoji.es.js.map +1 -0
  14. package/es/formats/index.es.js +11 -0
  15. package/es/formats/index.es.js.map +1 -0
  16. package/es/formats/soft-break.es.js +12 -5
  17. package/es/formats/soft-break.es.js.map +1 -1
  18. package/es/formats/strike.es.js +8 -5
  19. package/es/formats/strike.es.js.map +1 -1
  20. package/es/formats/video.es.js +14 -10
  21. package/es/formats/video.es.js.map +1 -1
  22. package/es/index.es.js +90 -31
  23. package/es/index.es.js.map +1 -1
  24. package/es/modules/ai/index.es.js +238 -0
  25. package/es/modules/ai/index.es.js.map +1 -0
  26. package/es/modules/counter.es.js +8 -3
  27. package/es/modules/counter.es.js.map +1 -1
  28. package/es/modules/custom-clipboard.es.js +20 -22
  29. package/es/modules/custom-clipboard.es.js.map +1 -1
  30. package/es/modules/custom-image/actions/action.es.js +19 -0
  31. package/es/modules/custom-image/actions/action.es.js.map +1 -0
  32. package/es/modules/custom-image/actions/{CustomResizeAction.es.js → custom-resize-action.es.js} +24 -11
  33. package/es/modules/custom-image/actions/{CustomResizeAction.es.js.map → custom-resize-action.es.js.map} +1 -1
  34. package/es/modules/custom-image/actions/{DeleteAction.es.js → delete-action.es.js} +8 -5
  35. package/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
  36. package/es/modules/custom-image/actions/image-toolbar-buttons.es.js +137 -0
  37. package/es/modules/custom-image/actions/image-toolbar-buttons.es.js.map +1 -0
  38. package/es/modules/custom-image/actions/index.es.js +18 -0
  39. package/es/modules/custom-image/actions/index.es.js.map +1 -0
  40. package/es/modules/custom-image/actions/toolbar-action.es.js +33 -0
  41. package/es/modules/custom-image/actions/toolbar-action.es.js.map +1 -0
  42. package/es/modules/custom-image/actions/toolbar.es.js +110 -0
  43. package/es/modules/custom-image/actions/toolbar.es.js.map +1 -0
  44. package/es/modules/custom-image/{BlotFormatter.es.js → blot-formatter.es.js} +23 -49
  45. package/es/modules/custom-image/blot-formatter.es.js.map +1 -0
  46. package/es/modules/custom-image/image.es.js +31 -6
  47. package/es/modules/custom-image/image.es.js.map +1 -1
  48. package/es/modules/custom-image/index.es.js +9 -0
  49. package/es/modules/custom-image/index.es.js.map +1 -0
  50. package/es/modules/custom-image/options.es.js +85 -0
  51. package/es/modules/custom-image/options.es.js.map +1 -0
  52. package/es/modules/custom-image/specs/blot-spec.es.js +33 -0
  53. package/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
  54. package/es/modules/custom-image/specs/{CustomImageSpec.es.js → custom-image-spec.es.js} +13 -14
  55. package/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
  56. package/es/modules/custom-image/specs/image-spec.es.js +32 -0
  57. package/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
  58. package/es/modules/custom-image/specs/index.es.js +9 -0
  59. package/es/modules/custom-image/specs/index.es.js.map +1 -0
  60. package/es/modules/custom-uploader.es.js +6 -4
  61. package/es/modules/custom-uploader.es.js.map +1 -1
  62. package/es/modules/divider.es.js +8 -7
  63. package/es/modules/divider.es.js.map +1 -1
  64. package/es/modules/emoji.es.js +175 -0
  65. package/es/modules/emoji.es.js.map +1 -0
  66. package/es/modules/file/formats/file.es.js +10 -8
  67. package/es/modules/file/formats/file.es.js.map +1 -1
  68. package/es/modules/file/index.es.js +6 -28
  69. package/es/modules/file/index.es.js.map +1 -1
  70. package/es/modules/file/modules/file-bar.es.js +11 -3
  71. package/es/modules/file/modules/file-bar.es.js.map +1 -1
  72. package/es/modules/file/modules/file-module.es.js +35 -0
  73. package/es/modules/file/modules/file-module.es.js.map +1 -0
  74. package/es/modules/i18n.es.js +6 -3
  75. package/es/modules/i18n.es.js.map +1 -1
  76. package/es/modules/index.es.js +26 -0
  77. package/es/modules/index.es.js.map +1 -0
  78. package/es/modules/link/formats/link.es.js +14 -10
  79. package/es/modules/link/formats/link.es.js.map +1 -1
  80. package/es/modules/link/index.es.js +4 -12
  81. package/es/modules/link/index.es.js.map +1 -1
  82. package/es/modules/link/modules/tooltip.es.js +28 -19
  83. package/es/modules/link/modules/tooltip.es.js.map +1 -1
  84. package/es/modules/mathlive/formats.es.js +10 -7
  85. package/es/modules/mathlive/formats.es.js.map +1 -1
  86. package/es/modules/mathlive/index.es.js +6 -30
  87. package/es/modules/mathlive/index.es.js.map +1 -1
  88. package/es/modules/mathlive/module.es.js +40 -0
  89. package/es/modules/mathlive/module.es.js.map +1 -0
  90. package/es/modules/mathlive/tooltip.es.js +9 -5
  91. package/es/modules/mathlive/tooltip.es.js.map +1 -1
  92. package/es/modules/mention/index.es.js +7 -0
  93. package/es/modules/{emoji/emoji-list → mention}/index.es.js.map +1 -1
  94. package/es/modules/mention/{MentionLink.es.js → mention-link.es.js} +14 -6
  95. package/es/modules/mention/mention-link.es.js.map +1 -0
  96. package/es/modules/mention/{Mention.es.js → mention.es.js} +28 -20
  97. package/es/modules/mention/mention.es.js.map +1 -0
  98. package/es/modules/shortcut-key/index.es.js.map +1 -1
  99. package/es/modules/syntax.es.js +4 -0
  100. package/es/modules/syntax.es.js.map +1 -1
  101. package/es/modules/table-up/index.es.js +4 -0
  102. package/es/modules/table-up/index.es.js.map +1 -1
  103. package/es/modules/toolbar/better-picker.es.js +5 -0
  104. package/es/modules/toolbar/better-picker.es.js.map +1 -1
  105. package/es/modules/toolbar/better-toolbar.es.js +138 -0
  106. package/es/modules/toolbar/better-toolbar.es.js.map +1 -0
  107. package/es/modules/toolbar/index.es.js +5 -135
  108. package/es/modules/toolbar/index.es.js.map +1 -1
  109. package/es/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.es.js +40145 -0
  110. package/es/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.es.js.map +1 -0
  111. package/es/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js +938 -0
  112. package/es/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js.map +1 -0
  113. package/es/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js +624 -0
  114. package/es/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js.map +1 -0
  115. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +174 -0
  116. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js.map +1 -0
  117. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js +159 -0
  118. package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js.map +1 -0
  119. package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js +2849 -0
  120. package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js.map +1 -0
  121. package/es/themes/snow.es.js +6 -10
  122. package/es/themes/snow.es.js.map +1 -1
  123. package/es/tools/fullscreen.es.js.map +1 -1
  124. package/es/ui/icons.config.es.js +23 -0
  125. package/es/ui/icons.config.es.js.map +1 -1
  126. package/es/ui/icons.es.js +2 -1
  127. package/es/ui/icons.es.js.map +1 -1
  128. package/es/utils/is.es.js.map +1 -1
  129. package/lib/config/editor.utils.cjs.js +0 -2
  130. package/lib/config/editor.utils.cjs.js.map +1 -1
  131. package/lib/config/index.cjs.js +1 -1
  132. package/lib/config/index.cjs.js.map +1 -1
  133. package/lib/config/types/index.cjs.js +0 -20
  134. package/lib/config/types/index.cjs.js.map +1 -1
  135. package/lib/core/fluent-editor.cjs.js +4 -1
  136. package/lib/core/fluent-editor.cjs.js.map +1 -1
  137. package/lib/fluent-editor.cjs.js +35 -28
  138. package/lib/fluent-editor.cjs.js.map +1 -1
  139. package/lib/formats/emoji.cjs.js +14 -0
  140. package/lib/formats/emoji.cjs.js.map +1 -0
  141. package/lib/formats/index.cjs.js +11 -0
  142. package/lib/formats/index.cjs.js.map +1 -0
  143. package/lib/formats/soft-break.cjs.js +13 -6
  144. package/lib/formats/soft-break.cjs.js.map +1 -1
  145. package/lib/formats/strike.cjs.js +9 -6
  146. package/lib/formats/strike.cjs.js.map +1 -1
  147. package/lib/formats/video.cjs.js +15 -11
  148. package/lib/formats/video.cjs.js.map +1 -1
  149. package/lib/index.cjs.js +111 -34
  150. package/lib/index.cjs.js.map +1 -1
  151. package/lib/modules/ai/index.cjs.js +238 -0
  152. package/lib/modules/ai/index.cjs.js.map +1 -0
  153. package/lib/modules/counter.cjs.js +8 -3
  154. package/lib/modules/counter.cjs.js.map +1 -1
  155. package/lib/modules/custom-clipboard.cjs.js +21 -23
  156. package/lib/modules/custom-clipboard.cjs.js.map +1 -1
  157. package/lib/modules/custom-image/actions/action.cjs.js +19 -0
  158. package/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
  159. package/lib/modules/custom-image/actions/{CustomResizeAction.cjs.js → custom-resize-action.cjs.js} +26 -13
  160. package/lib/modules/custom-image/actions/{CustomResizeAction.cjs.js.map → custom-resize-action.cjs.js.map} +1 -1
  161. package/lib/modules/custom-image/actions/{DeleteAction.cjs.js → delete-action.cjs.js} +10 -7
  162. package/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
  163. package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js +137 -0
  164. package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +1 -0
  165. package/lib/modules/custom-image/actions/index.cjs.js +18 -0
  166. package/lib/modules/custom-image/actions/index.cjs.js.map +1 -0
  167. package/lib/modules/custom-image/actions/toolbar-action.cjs.js +33 -0
  168. package/lib/modules/custom-image/actions/toolbar-action.cjs.js.map +1 -0
  169. package/lib/modules/custom-image/actions/toolbar.cjs.js +110 -0
  170. package/lib/modules/custom-image/actions/toolbar.cjs.js.map +1 -0
  171. package/lib/modules/custom-image/{BlotFormatter.cjs.js → blot-formatter.cjs.js} +24 -50
  172. package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
  173. package/lib/modules/custom-image/image.cjs.js +32 -7
  174. package/lib/modules/custom-image/image.cjs.js.map +1 -1
  175. package/lib/modules/custom-image/index.cjs.js +9 -0
  176. package/lib/modules/custom-image/index.cjs.js.map +1 -0
  177. package/lib/modules/custom-image/options.cjs.js +85 -0
  178. package/lib/modules/custom-image/options.cjs.js.map +1 -0
  179. package/lib/modules/custom-image/specs/blot-spec.cjs.js +33 -0
  180. package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
  181. package/lib/modules/custom-image/specs/{CustomImageSpec.cjs.js → custom-image-spec.cjs.js} +14 -15
  182. package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
  183. package/lib/modules/custom-image/specs/image-spec.cjs.js +32 -0
  184. package/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
  185. package/lib/modules/custom-image/specs/index.cjs.js +9 -0
  186. package/lib/modules/custom-image/specs/index.cjs.js.map +1 -0
  187. package/lib/modules/custom-uploader.cjs.js +6 -4
  188. package/lib/modules/custom-uploader.cjs.js.map +1 -1
  189. package/lib/modules/divider.cjs.js +9 -8
  190. package/lib/modules/divider.cjs.js.map +1 -1
  191. package/lib/modules/emoji.cjs.js +175 -0
  192. package/lib/modules/emoji.cjs.js.map +1 -0
  193. package/lib/modules/file/formats/file.cjs.js +11 -9
  194. package/lib/modules/file/formats/file.cjs.js.map +1 -1
  195. package/lib/modules/file/index.cjs.js +5 -27
  196. package/lib/modules/file/index.cjs.js.map +1 -1
  197. package/lib/modules/file/modules/file-bar.cjs.js +12 -4
  198. package/lib/modules/file/modules/file-bar.cjs.js.map +1 -1
  199. package/lib/modules/file/modules/file-module.cjs.js +35 -0
  200. package/lib/modules/file/modules/file-module.cjs.js.map +1 -0
  201. package/lib/modules/i18n.cjs.js +6 -3
  202. package/lib/modules/i18n.cjs.js.map +1 -1
  203. package/lib/modules/index.cjs.js +26 -0
  204. package/lib/modules/index.cjs.js.map +1 -0
  205. package/lib/modules/link/formats/link.cjs.js +15 -11
  206. package/lib/modules/link/formats/link.cjs.js.map +1 -1
  207. package/lib/modules/link/index.cjs.js +4 -12
  208. package/lib/modules/link/index.cjs.js.map +1 -1
  209. package/lib/modules/link/modules/tooltip.cjs.js +28 -19
  210. package/lib/modules/link/modules/tooltip.cjs.js.map +1 -1
  211. package/lib/modules/mathlive/formats.cjs.js +11 -8
  212. package/lib/modules/mathlive/formats.cjs.js.map +1 -1
  213. package/lib/modules/mathlive/index.cjs.js +5 -29
  214. package/lib/modules/mathlive/index.cjs.js.map +1 -1
  215. package/lib/modules/mathlive/module.cjs.js +40 -0
  216. package/lib/modules/mathlive/module.cjs.js.map +1 -0
  217. package/lib/modules/mathlive/tooltip.cjs.js +10 -6
  218. package/lib/modules/mathlive/tooltip.cjs.js.map +1 -1
  219. package/lib/modules/mention/index.cjs.js +7 -0
  220. package/lib/modules/{emoji/emoji-list → mention}/index.cjs.js.map +1 -1
  221. package/lib/modules/mention/{MentionLink.cjs.js → mention-link.cjs.js} +15 -7
  222. package/lib/modules/mention/mention-link.cjs.js.map +1 -0
  223. package/lib/modules/mention/{Mention.cjs.js → mention.cjs.js} +30 -22
  224. package/lib/modules/mention/mention.cjs.js.map +1 -0
  225. package/lib/modules/shortcut-key/index.cjs.js.map +1 -1
  226. package/lib/modules/syntax.cjs.js +4 -0
  227. package/lib/modules/syntax.cjs.js.map +1 -1
  228. package/lib/modules/table-up/index.cjs.js +4 -0
  229. package/lib/modules/table-up/index.cjs.js.map +1 -1
  230. package/lib/modules/toolbar/better-picker.cjs.js +5 -0
  231. package/lib/modules/toolbar/better-picker.cjs.js.map +1 -1
  232. package/lib/modules/toolbar/better-toolbar.cjs.js +138 -0
  233. package/lib/modules/toolbar/better-toolbar.cjs.js.map +1 -0
  234. package/lib/modules/toolbar/index.cjs.js +6 -136
  235. package/lib/modules/toolbar/index.cjs.js.map +1 -1
  236. package/lib/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.cjs.js +40145 -0
  237. package/lib/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.cjs.js.map +1 -0
  238. package/lib/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js +938 -0
  239. package/lib/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js.map +1 -0
  240. package/lib/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js +624 -0
  241. package/lib/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js.map +1 -0
  242. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js +159 -0
  243. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js.map +1 -0
  244. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +174 -0
  245. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js.map +1 -0
  246. package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js +2847 -0
  247. package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js.map +1 -0
  248. package/lib/themes/snow.cjs.js +7 -11
  249. package/lib/themes/snow.cjs.js.map +1 -1
  250. package/lib/tools/fullscreen.cjs.js.map +1 -1
  251. package/lib/ui/icons.cjs.js +1 -0
  252. package/lib/ui/icons.cjs.js.map +1 -1
  253. package/lib/ui/icons.config.cjs.js +23 -0
  254. package/lib/ui/icons.config.cjs.js.map +1 -1
  255. package/lib/utils/is.cjs.js.map +1 -1
  256. package/package.json +8 -7
  257. package/style.css +92 -933
  258. package/types/config/editor.utils.d.ts +0 -1
  259. package/types/config/index.d.ts +1 -0
  260. package/types/config/types/editor-config.interface.d.ts +0 -7
  261. package/types/config/types/editor-modules.interface.d.ts +21 -12
  262. package/types/config/types/index.d.ts +0 -20
  263. package/types/config/types/type.d.ts +0 -4
  264. package/types/core/fluent-editor.d.ts +0 -1
  265. package/types/formats/emoji.d.ts +9 -0
  266. package/types/formats/index.d.ts +4 -0
  267. package/types/formats/soft-break.d.ts +6 -7
  268. package/types/formats/strike.d.ts +6 -4
  269. package/types/formats/video.d.ts +4 -6
  270. package/types/index.d.ts +6 -5
  271. package/types/modules/ai/index.d.ts +39 -0
  272. package/types/modules/counter.d.ts +8 -1
  273. package/types/modules/custom-clipboard.d.ts +3 -6
  274. package/types/modules/custom-image/Options.d.ts +34 -23
  275. package/types/modules/custom-image/actions/Action.d.ts +5 -3
  276. package/types/modules/custom-image/actions/custom-resize-action.d.ts +24 -0
  277. package/types/modules/custom-image/actions/delete-action.d.ts +7 -0
  278. package/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +17 -0
  279. package/types/modules/custom-image/actions/index.d.ts +6 -0
  280. package/types/modules/custom-image/actions/toolbar-action.d.ts +12 -0
  281. package/types/modules/custom-image/actions/toolbar.d.ts +20 -0
  282. package/types/modules/custom-image/blot-formatter.d.ts +24 -0
  283. package/types/modules/custom-image/image-bar.d.ts +9 -7
  284. package/types/modules/custom-image/image.d.ts +15 -13
  285. package/types/modules/custom-image/index.d.ts +4 -0
  286. package/types/modules/custom-image/specs/blot-spec.d.ts +13 -0
  287. package/types/modules/custom-image/specs/custom-image-spec.d.ts +18 -0
  288. package/types/modules/custom-image/specs/image-spec.d.ts +9 -0
  289. package/types/modules/custom-image/specs/index.d.ts +3 -0
  290. package/types/modules/custom-uploader.d.ts +41 -0
  291. package/types/modules/divider.d.ts +6 -4
  292. package/types/modules/emoji/formats/emoji-blot.d.ts +9 -7
  293. package/types/modules/emoji/index.d.ts +3 -10
  294. package/types/modules/emoji/modules/emoji.d.ts +6 -6
  295. package/types/modules/emoji/modules/toolbar-emoji.d.ts +7 -6
  296. package/types/modules/emoji.d.ts +35 -0
  297. package/types/modules/file/formats/file.d.ts +2 -2
  298. package/types/modules/file/index.d.ts +3 -11
  299. package/types/modules/file/modules/file-bar.d.ts +1 -1
  300. package/types/modules/file/modules/file-module.d.ts +10 -0
  301. package/types/modules/i18n.d.ts +1 -2
  302. package/types/modules/index.d.ts +15 -0
  303. package/types/modules/link/formats/link.d.ts +5 -5
  304. package/types/modules/link/index.d.ts +2 -6
  305. package/types/modules/link/modules/tooltip.d.ts +5 -10
  306. package/types/modules/mathlive/formats.d.ts +2 -2
  307. package/types/modules/mathlive/index.d.ts +3 -9
  308. package/types/modules/mathlive/module.d.ts +10 -0
  309. package/types/modules/mathlive/tooltip.d.ts +1 -1
  310. package/types/modules/mention/Mention.d.ts +3 -4
  311. package/types/modules/mention/index.d.ts +2 -0
  312. package/types/modules/mention/mention-link.d.ts +17 -0
  313. package/types/modules/shortcut-key/index.d.ts +12 -8
  314. package/types/modules/table-up/index.d.ts +3 -3
  315. package/types/modules/toolbar/better-toolbar.d.ts +8 -0
  316. package/types/modules/toolbar/index.d.ts +2 -8
  317. package/types/tools/fullscreen.d.ts +5 -1
  318. package/types/ui/icons.config.d.ts +2 -0
  319. package/types/utils/is.d.ts +1 -1
  320. package/es/config/types/additional-toolbar-item.interface.es.js +0 -2
  321. package/es/config/types/additional-toolbar-item.interface.es.js.map +0 -1
  322. package/es/config/types/content-change.interface.es.js +0 -2
  323. package/es/config/types/content-change.interface.es.js.map +0 -1
  324. package/es/config/types/content-save.interface.es.js +0 -2
  325. package/es/config/types/content-save.interface.es.js.map +0 -1
  326. package/es/config/types/counter-option.interface.es.js +0 -2
  327. package/es/config/types/counter-option.interface.es.js.map +0 -1
  328. package/es/config/types/editor-toolbar.interface.es.js +0 -2
  329. package/es/config/types/editor-toolbar.interface.es.js.map +0 -1
  330. package/es/config/types/file-operation.interface.es.js +0 -2
  331. package/es/config/types/file-operation.interface.es.js.map +0 -1
  332. package/es/config/types/focus-change.interface.es.js +0 -2
  333. package/es/config/types/focus-change.interface.es.js.map +0 -1
  334. package/es/config/types/fullscreen-module.interface.es.js +0 -2
  335. package/es/config/types/fullscreen-module.interface.es.js.map +0 -1
  336. package/es/config/types/help-panel-item.interface.es.js +0 -2
  337. package/es/config/types/help-panel-item.interface.es.js.map +0 -1
  338. package/es/config/types/help-panel-option.interface.es.js +0 -2
  339. package/es/config/types/help-panel-option.interface.es.js.map +0 -1
  340. package/es/config/types/image-module.interface.es.js +0 -2
  341. package/es/config/types/image-module.interface.es.js.map +0 -1
  342. package/es/config/types/image-upload.interface.es.js +0 -2
  343. package/es/config/types/image-upload.interface.es.js.map +0 -1
  344. package/es/config/types/load-on-demand-module.interface.es.js +0 -2
  345. package/es/config/types/load-on-demand-module.interface.es.js.map +0 -1
  346. package/es/config/types/mention-module.interface.es.js +0 -2
  347. package/es/config/types/mention-module.interface.es.js.map +0 -1
  348. package/es/config/types/paste-change.interface.es.js +0 -2
  349. package/es/config/types/paste-change.interface.es.js.map +0 -1
  350. package/es/config/types/quick-menu-module.interface.es.js +0 -2
  351. package/es/config/types/quick-menu-module.interface.es.js.map +0 -1
  352. package/es/config/types/range.interface.es.js +0 -2
  353. package/es/config/types/range.interface.es.js.map +0 -1
  354. package/es/config/types/registry-options.interface.es.js +0 -2
  355. package/es/config/types/registry-options.interface.es.js.map +0 -1
  356. package/es/config/types/selection-change.interface.es.js +0 -2
  357. package/es/config/types/selection-change.interface.es.js.map +0 -1
  358. package/es/config/types/toolbar-item.interface.es.js +0 -2
  359. package/es/config/types/toolbar-item.interface.es.js.map +0 -1
  360. package/es/config/types/validate-error.interface.es.js +0 -2
  361. package/es/config/types/validate-error.interface.es.js.map +0 -1
  362. package/es/modules/custom-image/BlotFormatter.es.js.map +0 -1
  363. package/es/modules/custom-image/Options.es.js +0 -95
  364. package/es/modules/custom-image/Options.es.js.map +0 -1
  365. package/es/modules/custom-image/actions/Action.es.js +0 -15
  366. package/es/modules/custom-image/actions/Action.es.js.map +0 -1
  367. package/es/modules/custom-image/actions/DeleteAction.es.js.map +0 -1
  368. package/es/modules/custom-image/image-bar.es.js +0 -127
  369. package/es/modules/custom-image/image-bar.es.js.map +0 -1
  370. package/es/modules/custom-image/specs/BlotSpec.es.js +0 -27
  371. package/es/modules/custom-image/specs/BlotSpec.es.js.map +0 -1
  372. package/es/modules/custom-image/specs/CustomImageSpec.es.js.map +0 -1
  373. package/es/modules/custom-image/specs/ImageSpec.es.js +0 -29
  374. package/es/modules/custom-image/specs/ImageSpec.es.js.map +0 -1
  375. package/es/modules/emoji/emoji-list/index.es.js +0 -5
  376. package/es/modules/emoji/emoji-list/people.es.js +0 -114
  377. package/es/modules/emoji/emoji-list/people.es.js.map +0 -1
  378. package/es/modules/emoji/emoji-list.es.js +0 -9
  379. package/es/modules/emoji/emoji-list.es.js.map +0 -1
  380. package/es/modules/emoji/emoji-map.es.js +0 -9
  381. package/es/modules/emoji/emoji-map.es.js.map +0 -1
  382. package/es/modules/emoji/emoji-sprite.es.js +0 -5
  383. package/es/modules/emoji/emoji-sprite.es.js.map +0 -1
  384. package/es/modules/emoji/formats/emoji-blot.es.js +0 -41
  385. package/es/modules/emoji/formats/emoji-blot.es.js.map +0 -1
  386. package/es/modules/emoji/index.es.js +0 -8
  387. package/es/modules/emoji/index.es.js.map +0 -1
  388. package/es/modules/emoji/modules/emoji.es.js +0 -248
  389. package/es/modules/emoji/modules/emoji.es.js.map +0 -1
  390. package/es/modules/emoji/modules/toolbar-emoji.es.js +0 -153
  391. package/es/modules/emoji/modules/toolbar-emoji.es.js.map +0 -1
  392. package/es/modules/emoji/utils.es.js +0 -19
  393. package/es/modules/emoji/utils.es.js.map +0 -1
  394. package/es/modules/mention/Mention.es.js.map +0 -1
  395. package/es/modules/mention/MentionLink.es.js.map +0 -1
  396. package/lib/config/types/additional-toolbar-item.interface.cjs.js +0 -2
  397. package/lib/config/types/additional-toolbar-item.interface.cjs.js.map +0 -1
  398. package/lib/config/types/content-change.interface.cjs.js +0 -2
  399. package/lib/config/types/content-change.interface.cjs.js.map +0 -1
  400. package/lib/config/types/content-save.interface.cjs.js +0 -2
  401. package/lib/config/types/content-save.interface.cjs.js.map +0 -1
  402. package/lib/config/types/counter-option.interface.cjs.js +0 -2
  403. package/lib/config/types/counter-option.interface.cjs.js.map +0 -1
  404. package/lib/config/types/editor-toolbar.interface.cjs.js +0 -2
  405. package/lib/config/types/editor-toolbar.interface.cjs.js.map +0 -1
  406. package/lib/config/types/file-operation.interface.cjs.js +0 -2
  407. package/lib/config/types/file-operation.interface.cjs.js.map +0 -1
  408. package/lib/config/types/focus-change.interface.cjs.js +0 -2
  409. package/lib/config/types/focus-change.interface.cjs.js.map +0 -1
  410. package/lib/config/types/fullscreen-module.interface.cjs.js +0 -2
  411. package/lib/config/types/fullscreen-module.interface.cjs.js.map +0 -1
  412. package/lib/config/types/help-panel-item.interface.cjs.js +0 -2
  413. package/lib/config/types/help-panel-item.interface.cjs.js.map +0 -1
  414. package/lib/config/types/help-panel-option.interface.cjs.js +0 -2
  415. package/lib/config/types/help-panel-option.interface.cjs.js.map +0 -1
  416. package/lib/config/types/image-module.interface.cjs.js +0 -2
  417. package/lib/config/types/image-module.interface.cjs.js.map +0 -1
  418. package/lib/config/types/image-upload.interface.cjs.js +0 -2
  419. package/lib/config/types/image-upload.interface.cjs.js.map +0 -1
  420. package/lib/config/types/load-on-demand-module.interface.cjs.js +0 -2
  421. package/lib/config/types/load-on-demand-module.interface.cjs.js.map +0 -1
  422. package/lib/config/types/mention-module.interface.cjs.js +0 -2
  423. package/lib/config/types/mention-module.interface.cjs.js.map +0 -1
  424. package/lib/config/types/paste-change.interface.cjs.js +0 -2
  425. package/lib/config/types/paste-change.interface.cjs.js.map +0 -1
  426. package/lib/config/types/quick-menu-module.interface.cjs.js +0 -2
  427. package/lib/config/types/quick-menu-module.interface.cjs.js.map +0 -1
  428. package/lib/config/types/range.interface.cjs.js +0 -2
  429. package/lib/config/types/range.interface.cjs.js.map +0 -1
  430. package/lib/config/types/registry-options.interface.cjs.js +0 -2
  431. package/lib/config/types/registry-options.interface.cjs.js.map +0 -1
  432. package/lib/config/types/selection-change.interface.cjs.js +0 -2
  433. package/lib/config/types/selection-change.interface.cjs.js.map +0 -1
  434. package/lib/config/types/toolbar-item.interface.cjs.js +0 -2
  435. package/lib/config/types/toolbar-item.interface.cjs.js.map +0 -1
  436. package/lib/config/types/validate-error.interface.cjs.js +0 -2
  437. package/lib/config/types/validate-error.interface.cjs.js.map +0 -1
  438. package/lib/modules/custom-image/BlotFormatter.cjs.js.map +0 -1
  439. package/lib/modules/custom-image/Options.cjs.js +0 -95
  440. package/lib/modules/custom-image/Options.cjs.js.map +0 -1
  441. package/lib/modules/custom-image/actions/Action.cjs.js +0 -15
  442. package/lib/modules/custom-image/actions/Action.cjs.js.map +0 -1
  443. package/lib/modules/custom-image/actions/DeleteAction.cjs.js.map +0 -1
  444. package/lib/modules/custom-image/image-bar.cjs.js +0 -127
  445. package/lib/modules/custom-image/image-bar.cjs.js.map +0 -1
  446. package/lib/modules/custom-image/specs/BlotSpec.cjs.js +0 -27
  447. package/lib/modules/custom-image/specs/BlotSpec.cjs.js.map +0 -1
  448. package/lib/modules/custom-image/specs/CustomImageSpec.cjs.js.map +0 -1
  449. package/lib/modules/custom-image/specs/ImageSpec.cjs.js +0 -29
  450. package/lib/modules/custom-image/specs/ImageSpec.cjs.js.map +0 -1
  451. package/lib/modules/emoji/emoji-list/index.cjs.js +0 -5
  452. package/lib/modules/emoji/emoji-list/people.cjs.js +0 -114
  453. package/lib/modules/emoji/emoji-list/people.cjs.js.map +0 -1
  454. package/lib/modules/emoji/emoji-list.cjs.js +0 -9
  455. package/lib/modules/emoji/emoji-list.cjs.js.map +0 -1
  456. package/lib/modules/emoji/emoji-map.cjs.js +0 -9
  457. package/lib/modules/emoji/emoji-map.cjs.js.map +0 -1
  458. package/lib/modules/emoji/emoji-sprite.cjs.js +0 -5
  459. package/lib/modules/emoji/emoji-sprite.cjs.js.map +0 -1
  460. package/lib/modules/emoji/formats/emoji-blot.cjs.js +0 -41
  461. package/lib/modules/emoji/formats/emoji-blot.cjs.js.map +0 -1
  462. package/lib/modules/emoji/index.cjs.js +0 -8
  463. package/lib/modules/emoji/index.cjs.js.map +0 -1
  464. package/lib/modules/emoji/modules/emoji.cjs.js +0 -248
  465. package/lib/modules/emoji/modules/emoji.cjs.js.map +0 -1
  466. package/lib/modules/emoji/modules/toolbar-emoji.cjs.js +0 -153
  467. package/lib/modules/emoji/modules/toolbar-emoji.cjs.js.map +0 -1
  468. package/lib/modules/emoji/utils.cjs.js +0 -19
  469. package/lib/modules/emoji/utils.cjs.js.map +0 -1
  470. package/lib/modules/mention/Mention.cjs.js.map +0 -1
  471. package/lib/modules/mention/MentionLink.cjs.js.map +0 -1
@@ -38,4 +38,3 @@ export declare function getEventComposedPath(evt: any): any;
38
38
  export declare function sanitize(url: any, protocols: any): any;
39
39
  export declare function hadProtocol(url: string): boolean;
40
40
  export declare function isInside(position: any, dom: any): boolean;
41
- export declare const isPureIE: boolean;
@@ -1,5 +1,6 @@
1
1
  export * from './editor.config';
2
2
  export * from './editor.utils';
3
+ export * from './types';
3
4
  export declare function inputFile(type: 'image' | 'video' | 'file', accept: string[]): void;
4
5
  export declare function getListValue(value: any, preListValue: any): any;
5
6
  /** css namespace */
@@ -1,19 +1,12 @@
1
1
  import { QuillOptions } from 'quill';
2
2
  import { ScreenShotOptions } from '../../tools/screenshot';
3
3
  import { IEditorModules } from './editor-modules.interface';
4
- import { EditorFormat } from './type';
5
4
 
6
5
  export interface IEditorConfig extends QuillOptions {
7
- format?: EditorFormat;
8
6
  modules?: IEditorModules;
9
7
  screenshotOnStaticPage?: boolean;
10
8
  scrollingContainer?: HTMLElement | string | null;
11
- trackChanges?: 'user' | 'all';
12
9
  autoProtocol?: boolean | string;
13
10
  editorPaste?: any;
14
11
  screenshot?: Partial<ScreenShotOptions>;
15
- i18n?: {
16
- lang?: string;
17
- langText?: Record<string, string>;
18
- };
19
12
  }
@@ -1,21 +1,27 @@
1
+ import { ToolbarProps } from 'quill/modules/toolbar';
2
+ import { I18NOptions, ICounterOption, MentionOption, ShortCutKeyInputOptions } from '../../modules';
3
+ import { BlotFormatterOptionsInput } from '../../modules/custom-image/options';
1
4
  import { FileUploaderOptions } from '../../modules/custom-uploader';
2
- import { ToolbarOption } from './type';
5
+ import { EmojiModuleOptions } from '../../modules/emoji';
3
6
 
7
+ export type ToolbarOptions = {
8
+ container?: HTMLElement | (Record<string, any>[] | string[] | (string | Record<string, any>)[])[];
9
+ } & ToolbarProps;
4
10
  export interface IEditorModules {
5
11
  [key: string]: any;
6
- clipboard?: {
12
+ 'clipboard'?: {
7
13
  matchers?: any[];
8
14
  matchVisual?: boolean;
9
15
  } | boolean;
10
- history?: {
16
+ 'history'?: {
11
17
  delay?: number;
12
18
  maxStack?: number;
13
19
  userOnly?: boolean;
14
20
  } | boolean;
15
- keyboard?: {
21
+ 'keyboard'?: {
16
22
  bindings?: any;
17
23
  } | boolean;
18
- syntax?: {
24
+ 'syntax'?: {
19
25
  interval?: number;
20
26
  languages?: {
21
27
  key: string;
@@ -23,11 +29,14 @@ export interface IEditorModules {
23
29
  }[];
24
30
  hljs?: any;
25
31
  } | boolean;
26
- toolbar?: (string | string[])[][] | ToolbarOption | string | {
27
- container?: string | string[] | ToolbarOption;
28
- handlers?: {
29
- [key: string]: any;
30
- };
31
- } | boolean;
32
- uploader?: boolean | Partial<FileUploaderOptions>;
32
+ 'toolbar'?: boolean | ToolbarOptions | ToolbarOptions['container'] | string[];
33
+ 'uploader'?: boolean | Partial<FileUploaderOptions>;
34
+ 'shortcut-key'?: boolean | Partial<ShortCutKeyInputOptions>;
35
+ 'mention'?: boolean | MentionOption;
36
+ 'i18n'?: boolean | Partial<I18NOptions>;
37
+ 'counter'?: boolean | ICounterOption;
38
+ 'emoji'?: boolean | EmojiModuleOptions;
39
+ 'file'?: boolean;
40
+ 'mathlive'?: boolean;
41
+ 'image'?: boolean | Partial<BlotFormatterOptionsInput>;
33
42
  }
@@ -1,23 +1,3 @@
1
- export * from './additional-toolbar-item.interface';
2
- export * from './content-change.interface';
3
- export * from './content-save.interface';
4
- export * from './counter-option.interface';
5
1
  export * from './editor-config.interface';
6
2
  export * from './editor-modules.interface';
7
- export * from './editor-toolbar.interface';
8
- export * from './file-operation.interface';
9
- export * from './focus-change.interface';
10
- export * from './fullscreen-module.interface';
11
- export * from './help-panel-option.interface';
12
- export * from './image-module.interface';
13
- export * from './image-upload.interface';
14
- export * from './load-on-demand-module.interface';
15
- export * from './mention-module.interface';
16
- export * from './paste-change.interface';
17
- export * from './quick-menu-module.interface';
18
- export * from './range.interface';
19
- export * from './registry-options.interface';
20
- export * from './selection-change.interface';
21
- export * from './toolbar-item.interface';
22
3
  export * from './type';
23
- export * from './validate-error.interface';
@@ -1,6 +1,2 @@
1
- import { IToolbarItem } from './toolbar-item.interface';
2
-
3
- export type ToolbarOption = (string[] | IToolbarItem[] | string | IToolbarItem)[];
4
- export type EditorFormat = 'object' | 'json' | 'html' | 'text';
5
1
  export type AnyFunction = (...args: any[]) => any;
6
2
  export type Constructor<T = any, U extends Array<any> = any[]> = new (...args: U) => T;
@@ -11,5 +11,4 @@ declare class FluentEditor extends Quill {
11
11
  constructor(container: HTMLElement | string, options?: IEditorConfig);
12
12
  getLangText(name: string): string;
13
13
  }
14
- export type { Module, Parchment as TypeParchment, } from 'quill';
15
14
  export default FluentEditor;
@@ -0,0 +1,9 @@
1
+ import { default as TypeInline } from 'quill/blots/inline';
2
+
3
+ declare const Inline: typeof TypeInline;
4
+ export declare class EmojiBlot extends Inline {
5
+ static blotName: string;
6
+ static tagName: string;
7
+ static className: string;
8
+ }
9
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from './emoji';
2
+ export * from './soft-break';
3
+ export * from './strike';
4
+ export * from './video';
@@ -1,14 +1,13 @@
1
- declare const Embed: unknown;
2
- declare class SoftBreak extends Embed {
1
+ import { default as TypeEmbed } from 'quill/blots/embed';
2
+
3
+ declare const Embed: typeof TypeEmbed;
4
+ export declare class SoftBreak extends Embed {
3
5
  static blotName: string;
4
6
  static tagName: string;
5
7
  static className: string;
6
- domNode: any;
7
- prev: any;
8
- next: any;
9
8
  remove: () => void;
10
- static create(): any;
9
+ static create(): Node;
11
10
  optimize(): void;
12
11
  length(): number;
13
12
  }
14
- export default SoftBreak;
13
+ export {};
@@ -1,7 +1,9 @@
1
- declare const Inline: unknown;
2
- declare class StrikeBlot extends Inline {
1
+ import { default as TypeInline } from 'quill/blots/inline';
2
+
3
+ declare const Inline: typeof TypeInline;
4
+ export declare class StrikeBlot extends Inline {
3
5
  static blotName: string;
4
- static className: string;
5
6
  static tagName: string;
7
+ static className: string;
6
8
  }
7
- export default StrikeBlot;
9
+ export {};
@@ -1,16 +1,14 @@
1
- import { Parchment as TypeParchment } from 'quill';
1
+ import { BlockEmbed as TypeBlockEmbed } from 'quill/blots/block';
2
2
 
3
- declare const BlockEmbed: TypeParchment.BlotConstructor;
4
- declare class Video extends BlockEmbed {
3
+ declare const BlockEmbed: typeof TypeBlockEmbed;
4
+ export declare class Video extends BlockEmbed {
5
5
  static blotName: string;
6
6
  static tagName: string;
7
7
  static SANITIZED_URL: string;
8
8
  static PROTOCOL_WHITELIST: string[];
9
9
  static className: string;
10
- statics: any;
11
- domNode: any;
12
10
  static sanitize(url: any): any;
13
11
  static create(value: any): HTMLElement;
14
12
  static value(domNode: any): any;
15
13
  }
16
- export default Video;
14
+ export {};
package/types/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { default as FluentEditor } from './fluent-editor';
2
2
 
3
- export * from './config';
4
- export { I18N } from './modules/i18n';
5
- export * from './modules/table-up';
6
- export * from './modules/toolbar/toolbar-tip';
7
- export default FluentEditor;
3
+ export * from './attributors';
4
+ export * from './config/types';
5
+ export * from './formats';
6
+ export * from './modules';
8
7
  export { generateTableUpShortKeyMenu } from 'quill-shortcut-key';
8
+ export default FluentEditor;
9
+ export { AttributeMap, Delta, Op, OpIterator, Parchment, Range } from 'quill/core';
@@ -0,0 +1,39 @@
1
+ import { default as TypeToolbar } from 'quill/modules/toolbar';
2
+ import { default as FluentEditor } from '../../core/fluent-editor';
3
+
4
+ export declare class AI {
5
+ quill: FluentEditor;
6
+ options: any;
7
+ toolbar: TypeToolbar;
8
+ host: string;
9
+ apiKey: string;
10
+ model: string;
11
+ message: string;
12
+ isBreak: boolean;
13
+ inputValue: string;
14
+ SEND: string;
15
+ BREAK: string;
16
+ DONE: string;
17
+ REGENERATE: string;
18
+ CLOSE: string;
19
+ private dialogContainerEl;
20
+ private wrapContainerEl;
21
+ private aiPreTextEl;
22
+ private inputContainerEl;
23
+ private inputEl;
24
+ private sendButtonEl;
25
+ private resultPopupEl;
26
+ private actionMenuEl;
27
+ constructor(quill: FluentEditor, options: any);
28
+ positionElements(): void;
29
+ private createAiPreTextEl;
30
+ private createElements;
31
+ showAIInput(): void;
32
+ private queryAI;
33
+ private showAIResponse;
34
+ private createActionMenu;
35
+ private handleAction;
36
+ private insertAIResponse;
37
+ private regenerateResponse;
38
+ private closeAIPanel;
39
+ }
@@ -1,6 +1,13 @@
1
- import { ICounterOption } from '../config/types';
1
+ import { AnyFunction } from '../config';
2
2
  import { default as FluentEditor } from '../fluent-editor';
3
3
 
4
+ export interface ICounterOption {
5
+ format?: 'text' | 'html';
6
+ unit?: 'word' | 'char';
7
+ count?: number;
8
+ template?: string | AnyFunction;
9
+ errorTemplate?: string | AnyFunction;
10
+ }
4
11
  export default class Counter {
5
12
  quill: FluentEditor;
6
13
  container: HTMLDivElement;
@@ -2,12 +2,9 @@ import { default as TypeClipboard } from 'quill/modules/clipboard';
2
2
  import { default as FluentEditor } from '../fluent-editor';
3
3
 
4
4
  declare const Clipboard: typeof TypeClipboard;
5
- declare class CustomClipboard extends Clipboard {
5
+ export declare class CustomClipboard extends Clipboard {
6
6
  quill: FluentEditor;
7
- convert: any;
8
- onCopy: any;
9
- matchers: any;
10
- prepareMatching(container: any, nodeMatches: any): any[][];
7
+ prepareMatching(container: HTMLElement, nodeMatches: any): any[][];
11
8
  onCaptureCopy(e: any, isCut?: boolean): void;
12
9
  onCapturePaste(e: ClipboardEvent): void;
13
10
  onPaste(range: any, { html, text, files: clipboardFiles, rtf }: {
@@ -26,4 +23,4 @@ declare class CustomClipboard extends Clipboard {
26
23
  length: number;
27
24
  };
28
25
  }
29
- export default CustomClipboard;
26
+ export {};
@@ -1,3 +1,6 @@
1
+ import { ImageToolbar, ImageToolbarButtons } from './actions';
2
+ import { BlotSpec } from './specs';
3
+
1
4
  export interface OverlayOptions {
2
5
  className: string;
3
6
  style: Record<string, string>;
@@ -6,31 +9,39 @@ export interface ResizeOptions {
6
9
  handleClassName: string;
7
10
  handleStyle: Record<string, string>;
8
11
  }
9
- export interface AlignOptions {
10
- attribute: string;
11
- aligner: {
12
- applyStyle: boolean;
13
- };
14
- icons: {
15
- left: string;
16
- center: string;
17
- right: string;
18
- };
19
- toolbar: {
20
- allowDeselect: boolean;
21
- mainClassName: string;
22
- mainStyle: any;
23
- buttonClassName: string;
24
- addButtonSelectStyle: boolean;
25
- buttonStyle: any;
26
- svgStyle: any;
27
- };
12
+ export interface ToolButtonOption {
13
+ name: string;
14
+ icon: string;
15
+ isActive?: (el: HTMLElement) => boolean;
16
+ apply: (this: ImageToolbar, el: HTMLImageElement, toolbarButtons: ImageToolbarButtons) => void;
28
17
  }
29
- export interface Options {
30
- specs: any;
18
+ export interface ToolbarButtonOptions {
19
+ buttons: Record<string, ToolButtonOption | boolean>;
20
+ }
21
+ export interface ToolbarOptions extends ToolbarButtonOptions {
22
+ mainClassName: string;
23
+ mainStyle: Record<string, unknown>;
24
+ buttonClassName: string;
25
+ addButtonSelectStyle: boolean;
26
+ buttonStyle: Record<string, unknown>;
27
+ svgStyle: Record<string, unknown>;
28
+ }
29
+ export interface BlotFormatterOptionsInput {
30
+ specs: typeof BlotSpec[];
31
+ overlay: Partial<OverlayOptions>;
32
+ resize: Partial<ResizeOptions>;
33
+ toolbar: Partial<ToolbarOptions>;
34
+ }
35
+ export interface BlotFormatterOptions {
36
+ specs: typeof BlotSpec[];
31
37
  overlay: OverlayOptions;
32
- align: AlignOptions;
33
38
  resize: ResizeOptions;
39
+ toolbar: ToolbarOptions;
34
40
  }
35
- declare const DefaultOptions: Options;
41
+ export declare const LEFT_ALIGN = "align-left";
42
+ export declare const CENTER_ALIGN = "align-center";
43
+ export declare const RIGHT_ALIGN = "align-right";
44
+ export declare const COPY = "copy";
45
+ export declare const DOWNLOAD = "download";
46
+ declare const DefaultOptions: BlotFormatterOptions;
36
47
  export default DefaultOptions;
@@ -1,6 +1,8 @@
1
- export default class Action {
2
- formatter: any;
3
- constructor(formatter: any);
1
+ import { BlotFormatter } from '../blot-formatter';
2
+
3
+ export declare class Action {
4
+ formatter: BlotFormatter;
5
+ constructor(formatter: BlotFormatter);
4
6
  onCreate(): void;
5
7
  onDestroy(): void;
6
8
  onUpdate(): void;
@@ -0,0 +1,24 @@
1
+ import { Action } from './action';
2
+
3
+ export declare class CustomResizeAction extends Action {
4
+ topLeftHandle: HTMLElement;
5
+ topRightHandle: HTMLElement;
6
+ bottomRightHandle: HTMLElement;
7
+ bottomLeftHandle: HTMLElement;
8
+ dragHandle: HTMLElement;
9
+ dragStartX: number;
10
+ preDragWidth: number;
11
+ targetRatio: number;
12
+ maxWidth: number;
13
+ minWidth: number;
14
+ constructor(formatter: any);
15
+ onCreate(): void;
16
+ onDestroy(): void;
17
+ createHandle(position: string, cursor: string): HTMLElement;
18
+ repositionHandles(handleStyle: any): void;
19
+ setCursor(value: string): void;
20
+ onMouseDown: (event: MouseEvent) => void;
21
+ findTd: (node: HTMLElement, level: number) => any;
22
+ onDrag: (event: MouseEvent) => void;
23
+ onMouseUp: () => void;
24
+ }
@@ -0,0 +1,7 @@
1
+ import { Action } from './action';
2
+
3
+ export declare class DeleteAction extends Action {
4
+ onCreate(): void;
5
+ onDestroy(): void;
6
+ onKeyUp: (event: any) => void;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { ToolbarButtonOptions, ToolButtonOption } from '../options';
2
+
3
+ export declare const ALIGN_ATTR = "data-align";
4
+ export declare function setAlignStyle(el: HTMLElement, display: string | null, float: string | null, margin: string | null): void;
5
+ export declare const alignmentHandler: {
6
+ left: (el: HTMLElement, toolbarButtons: ImageToolbarButtons) => void;
7
+ center: (el: HTMLElement, toolbarButtons: ImageToolbarButtons) => void;
8
+ right: (el: HTMLElement, toolbarButtons: ImageToolbarButtons) => void;
9
+ download: (el: HTMLImageElement, toolbarButtons: ImageToolbarButtons) => void;
10
+ copy: (el: HTMLImageElement, toolbarButtons: ImageToolbarButtons) => Promise<void>;
11
+ };
12
+ export declare class ImageToolbarButtons {
13
+ buttons: Record<string, ToolButtonOption>;
14
+ constructor(options: ToolbarButtonOptions);
15
+ getItems(): ToolButtonOption[];
16
+ clear(el: HTMLElement): void;
17
+ }
@@ -0,0 +1,6 @@
1
+ export * from './action';
2
+ export * from './custom-resize-action';
3
+ export * from './delete-action';
4
+ export * from './image-toolbar-buttons';
5
+ export * from './toolbar';
6
+ export * from './toolbar-action';
@@ -0,0 +1,12 @@
1
+ import { BlotFormatter } from '../blot-formatter';
2
+ import { Action } from './action';
3
+ import { ImageToolbarButtons } from './image-toolbar-buttons';
4
+ import { ImageToolbar } from './toolbar';
5
+
6
+ export declare class ImageToolbarAction extends Action {
7
+ toolbar: ImageToolbar;
8
+ buttons: ImageToolbarButtons;
9
+ constructor(formatter: BlotFormatter);
10
+ onCreate(): void;
11
+ onDestroy(): void;
12
+ }
@@ -0,0 +1,20 @@
1
+ import { BlotFormatter } from '../blot-formatter';
2
+ import { ToolButtonOption } from '../options';
3
+ import { ImageToolbarButtons } from './image-toolbar-buttons';
4
+
5
+ export declare class ImageToolbar {
6
+ toolbar?: HTMLElement;
7
+ buttons: HTMLElement[];
8
+ constructor();
9
+ create(formatter: BlotFormatter, toolButton: ImageToolbarButtons): HTMLElement;
10
+ destroy(): void;
11
+ getElement(): HTMLElement;
12
+ addToolbarStyle(formatter: BlotFormatter, toolbar: HTMLElement): void;
13
+ addButtonStyle(button: HTMLElement, index: number, formatter: BlotFormatter): void;
14
+ addButtons(formatter: BlotFormatter, toolbar: HTMLElement, toolButton: ImageToolbarButtons): void;
15
+ preselectButton(button: HTMLElement, toolButtonOption: ToolButtonOption, formatter: BlotFormatter, toolButton: ImageToolbarButtons): void;
16
+ onButtonClick(button: HTMLElement, formatter: BlotFormatter, toolButtonOption: ToolButtonOption, toolButton: ImageToolbarButtons): void;
17
+ clickButton(button: HTMLElement, target: HTMLImageElement, formatter: BlotFormatter, toolButtonOption: ToolButtonOption, toolButton: ImageToolbarButtons): void;
18
+ selectButton(formatter: BlotFormatter, button: HTMLElement): void;
19
+ deselectButton(formatter: BlotFormatter, button: HTMLElement): void;
20
+ }
@@ -0,0 +1,24 @@
1
+ import { default as FluentEditor } from '../../core/fluent-editor';
2
+ import { Action } from './actions';
3
+ import { BlotFormatterOptions } from './options';
4
+ import { BlotSpec } from './specs';
5
+
6
+ export declare class BlotFormatter {
7
+ quill: FluentEditor;
8
+ options: BlotFormatterOptions;
9
+ currentSpec: BlotSpec;
10
+ specs: BlotSpec[];
11
+ overlay: HTMLElement;
12
+ actions: Action[];
13
+ observer: MutationObserver;
14
+ static register(): void;
15
+ constructor(quill: FluentEditor, options?: Partial<BlotFormatterOptions>);
16
+ show(spec: BlotSpec): void;
17
+ hide(): void;
18
+ update(): void;
19
+ createActions(spec: BlotSpec): void;
20
+ destroyActions(): void;
21
+ repositionOverlay(): void;
22
+ setUserSelect(value: string): void;
23
+ onClick: () => void;
24
+ }
@@ -1,15 +1,17 @@
1
- import { default as Quill } from 'quill';
1
+ import { default as FluentEditor } from '../../core/fluent-editor';
2
+ import { Range } from 'quill';
2
3
 
3
- export default class ImageBar {
4
- quill: Quill;
4
+ export type ImageOperateType = 'download' | 'copy' | 'delete';
5
+ export declare class ImageBar {
6
+ quill: FluentEditor;
5
7
  image: HTMLImageElement;
6
8
  domNode: HTMLElement;
7
- imageRange: any;
9
+ imageRange: Range;
8
10
  template: string;
9
- constructor(quill: any, target: any);
11
+ constructor(quill: FluentEditor, target: HTMLImageElement);
10
12
  createImageBar(): void;
11
13
  destroy(): void;
12
- operateImage(event: any, operate: any): Promise<void>;
14
+ operateImage(event: Event, operate: ImageOperateType): Promise<void>;
13
15
  setPosition(): void;
14
- css(domNode: any, rules: any): void;
16
+ css(domNode: HTMLElement, rules: Record<string, string | string[]>): void;
15
17
  }
@@ -1,25 +1,27 @@
1
+ import { Parchment as TypeParchment } from 'quill';
1
2
  import { default as TypeEmbed } from 'quill/blots/embed';
2
3
 
3
4
  declare const Embed: typeof TypeEmbed;
4
5
  export type ImageValue = string | {
5
6
  src: string;
7
+ align?: string;
8
+ height?: number;
9
+ width?: number;
6
10
  };
7
- declare class CustomImage extends Embed {
8
- static ID_SEED: number;
11
+ export declare class CustomImage extends Embed {
9
12
  static blotName: string;
10
13
  static tagName: string;
11
- domNode: any;
12
- parent: any;
13
- scroll: any;
14
- next: any;
14
+ static ID_SEED: number;
15
+ domNode: HTMLElement;
15
16
  static create(value: ImageValue): HTMLElement;
16
- static formats(domNode: any): {};
17
- static match(url: any): boolean;
17
+ static formats(domNode: HTMLElement): {};
18
+ static match(url: string): boolean;
18
19
  static register(): void;
19
- static sanitize(url: any): any;
20
- static value(domNode: any): any;
21
- format(name: any, value: any): void;
20
+ static sanitize(url: string): string;
21
+ static value(domNode: HTMLElement): any;
22
+ format(name: string, value: any): void;
22
23
  unWrap(): void;
23
- wrap(name: any, value: any): any;
24
+ wrap(name: string, value?: any): TypeParchment.Parent;
25
+ wrap(wrapper: TypeParchment.Parent): TypeParchment.Parent;
24
26
  }
25
- export { CustomImage as default };
27
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from './actions';
2
+ export * from './blot-formatter';
3
+ export * from './image';
4
+ export * from './specs';
@@ -0,0 +1,13 @@
1
+ import { BlotFormatter } from '../blot-formatter';
2
+ import { CustomResizeAction, DeleteAction, ImageToolbarAction } from '../actions';
3
+
4
+ export declare class BlotSpec {
5
+ formatter: BlotFormatter;
6
+ constructor(formatter: BlotFormatter);
7
+ init(): void;
8
+ getActions(): (typeof ImageToolbarAction | typeof CustomResizeAction | typeof DeleteAction)[];
9
+ getTargetElement(): HTMLElement | null;
10
+ getOverlayElement(): HTMLElement;
11
+ setSelection(): void;
12
+ onHide(): void;
13
+ }
@@ -0,0 +1,18 @@
1
+ import { BlotFormatter } from '../blot-formatter';
2
+ import { ImageSpec } from './image-spec';
3
+
4
+ export declare class CustomImageSpec extends ImageSpec {
5
+ editorElem: HTMLElement | undefined;
6
+ observer: any;
7
+ oldRootScrollTop: number;
8
+ constructor(formatter: BlotFormatter);
9
+ handleQuillRootScroll(): void;
10
+ init(): void;
11
+ imageMouseOver(event: any): void;
12
+ imageMouseout: (event: any) => void;
13
+ addImagePreviewOverlay(event: any): void;
14
+ removeImagePreviewOverlay(): void;
15
+ onHide(): void;
16
+ resetOverlayMarginTop(): void;
17
+ onClick: (event: MouseEvent) => void;
18
+ }
@@ -0,0 +1,9 @@
1
+ import { BlotSpec } from './blot-spec';
2
+
3
+ export declare class ImageSpec extends BlotSpec {
4
+ img: HTMLImageElement | null;
5
+ init(): void;
6
+ getTargetElement(): HTMLImageElement;
7
+ onHide(): void;
8
+ onClick: (event: MouseEvent) => void;
9
+ }
@@ -0,0 +1,3 @@
1
+ export * from './blot-spec';
2
+ export * from './custom-image-spec';
3
+ export * from './image-spec';