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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (706) hide show
  1. package/README.md +88 -105
  2. package/es/attributors/line-height.es.js.map +1 -1
  3. package/es/config/base64-image.es.js.map +1 -1
  4. package/es/config/editor.config.es.js.map +1 -1
  5. package/es/config/editor.utils.es.js +0 -2
  6. package/es/config/editor.utils.es.js.map +1 -1
  7. package/es/config/i18n/en-us.es.js +2 -0
  8. package/es/config/i18n/en-us.es.js.map +1 -1
  9. package/es/config/i18n/zh-cn.es.js +2 -0
  10. package/es/config/i18n/zh-cn.es.js.map +1 -1
  11. package/es/config/index.es.js +2 -2
  12. package/es/config/index.es.js.map +1 -1
  13. package/es/config/types/index.es.js +0 -20
  14. package/es/config/types/index.es.js.map +1 -1
  15. package/es/core/fluent-editor.es.js +4 -1
  16. package/es/core/fluent-editor.es.js.map +1 -1
  17. package/es/fluent-editor.es.js +33 -22
  18. package/es/fluent-editor.es.js.map +1 -1
  19. package/es/formats/emoji.es.js +14 -0
  20. package/es/formats/emoji.es.js.map +1 -0
  21. package/es/formats/index.es.js +11 -0
  22. package/es/formats/index.es.js.map +1 -0
  23. package/es/formats/soft-break.es.js +12 -5
  24. package/es/formats/soft-break.es.js.map +1 -1
  25. package/es/formats/strike.es.js +8 -5
  26. package/es/formats/strike.es.js.map +1 -1
  27. package/es/formats/video.es.js +14 -10
  28. package/es/formats/video.es.js.map +1 -1
  29. package/es/index.es.js +96 -31
  30. package/es/index.es.js.map +1 -1
  31. package/es/modules/ai/constants.es.js +50 -0
  32. package/es/modules/ai/constants.es.js.map +1 -0
  33. package/es/modules/ai/icons.es.js +319 -0
  34. package/es/modules/ai/icons.es.js.map +1 -0
  35. package/es/modules/ai/index.es.js +670 -0
  36. package/es/modules/ai/index.es.js.map +1 -0
  37. package/es/modules/collaborative-editing/awareness/awareness.es.js +93 -0
  38. package/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
  39. package/es/modules/collaborative-editing/awareness/index.es.js +8 -0
  40. package/es/modules/{emoji/emoji-list → collaborative-editing/awareness}/index.es.js.map +1 -1
  41. package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +12 -0
  42. package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
  43. package/es/modules/collaborative-editing/collaborative-editing.es.js +105 -0
  44. package/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
  45. package/es/modules/collaborative-editing/index.es.js +6 -0
  46. package/es/modules/collaborative-editing/index.es.js.map +1 -0
  47. package/es/modules/collaborative-editing/module.es.js +35 -0
  48. package/es/modules/collaborative-editing/module.es.js.map +1 -0
  49. package/es/modules/collaborative-editing/provider/providerRegistry.es.js +28 -0
  50. package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
  51. package/es/modules/collaborative-editing/provider/webrtc.es.js +99 -0
  52. package/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
  53. package/es/modules/collaborative-editing/provider/websocket.es.js +111 -0
  54. package/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
  55. package/es/modules/collaborative-editing/types.es.js +2 -0
  56. package/es/modules/collaborative-editing/types.es.js.map +1 -0
  57. package/es/modules/counter.es.js +8 -3
  58. package/es/modules/counter.es.js.map +1 -1
  59. package/es/modules/custom-clipboard.es.js +20 -22
  60. package/es/modules/custom-clipboard.es.js.map +1 -1
  61. package/es/modules/custom-image/actions/action.es.js +19 -0
  62. package/es/modules/custom-image/actions/action.es.js.map +1 -0
  63. package/es/modules/custom-image/actions/{CustomResizeAction.es.js → custom-resize-action.es.js} +24 -11
  64. package/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
  65. package/es/modules/custom-image/actions/{DeleteAction.es.js → delete-action.es.js} +8 -5
  66. package/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
  67. package/es/modules/custom-image/actions/image-toolbar-buttons.es.js +137 -0
  68. package/es/modules/custom-image/actions/image-toolbar-buttons.es.js.map +1 -0
  69. package/es/modules/custom-image/actions/index.es.js +18 -0
  70. package/es/modules/custom-image/actions/index.es.js.map +1 -0
  71. package/es/modules/custom-image/actions/toolbar-action.es.js +33 -0
  72. package/es/modules/custom-image/actions/toolbar-action.es.js.map +1 -0
  73. package/es/modules/custom-image/actions/toolbar.es.js +110 -0
  74. package/es/modules/custom-image/actions/toolbar.es.js.map +1 -0
  75. package/es/modules/custom-image/{BlotFormatter.es.js → blot-formatter.es.js} +27 -49
  76. package/es/modules/custom-image/blot-formatter.es.js.map +1 -0
  77. package/es/modules/custom-image/image.es.js +39 -7
  78. package/es/modules/custom-image/image.es.js.map +1 -1
  79. package/es/modules/custom-image/index.es.js +9 -0
  80. package/es/modules/custom-image/index.es.js.map +1 -0
  81. package/es/modules/custom-image/options.es.js +88 -0
  82. package/es/modules/custom-image/options.es.js.map +1 -0
  83. package/es/modules/custom-image/specs/blot-spec.es.js +33 -0
  84. package/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
  85. package/es/modules/custom-image/specs/{CustomImageSpec.es.js → custom-image-spec.es.js} +13 -14
  86. package/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
  87. package/es/modules/custom-image/specs/image-spec.es.js +32 -0
  88. package/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
  89. package/es/modules/custom-image/specs/index.es.js +9 -0
  90. package/es/modules/custom-image/specs/index.es.js.map +1 -0
  91. package/es/modules/custom-uploader.es.js +7 -5
  92. package/es/modules/custom-uploader.es.js.map +1 -1
  93. package/es/modules/divider.es.js +8 -7
  94. package/es/modules/divider.es.js.map +1 -1
  95. package/es/modules/emoji.es.js +167 -0
  96. package/es/modules/emoji.es.js.map +1 -0
  97. package/es/modules/file/formats/file.es.js +10 -8
  98. package/es/modules/file/formats/file.es.js.map +1 -1
  99. package/es/modules/file/index.es.js +6 -28
  100. package/es/modules/file/index.es.js.map +1 -1
  101. package/es/modules/file/modules/file-bar.es.js +11 -3
  102. package/es/modules/file/modules/file-bar.es.js.map +1 -1
  103. package/es/modules/file/modules/file-module.es.js +35 -0
  104. package/es/modules/file/modules/file-module.es.js.map +1 -0
  105. package/es/modules/flow-chart/config-utils.es.js +102 -0
  106. package/es/modules/flow-chart/config-utils.es.js.map +1 -0
  107. package/es/modules/flow-chart/formats/flow-chart-blot.es.js +369 -0
  108. package/es/modules/flow-chart/formats/flow-chart-blot.es.js.map +1 -0
  109. package/es/modules/flow-chart/i18n/en-us.es.js +30 -0
  110. package/es/modules/flow-chart/i18n/en-us.es.js.map +1 -0
  111. package/es/modules/flow-chart/i18n/index.es.js +12 -0
  112. package/es/modules/flow-chart/i18n/index.es.js.map +1 -0
  113. package/es/modules/flow-chart/i18n/zh-cn.es.js +30 -0
  114. package/es/modules/flow-chart/i18n/zh-cn.es.js.map +1 -0
  115. package/es/modules/flow-chart/icons.es.js +27 -0
  116. package/es/modules/flow-chart/icons.es.js.map +1 -0
  117. package/es/modules/flow-chart/index.es.js +45 -0
  118. package/es/modules/flow-chart/index.es.js.map +1 -0
  119. package/es/modules/flow-chart/modules/context-menu.es.js +184 -0
  120. package/es/modules/flow-chart/modules/context-menu.es.js.map +1 -0
  121. package/es/modules/flow-chart/modules/control-panel.es.js +286 -0
  122. package/es/modules/flow-chart/modules/control-panel.es.js.map +1 -0
  123. package/es/modules/flow-chart/modules/custom-resize-action.es.js +150 -0
  124. package/es/modules/flow-chart/modules/custom-resize-action.es.js.map +1 -0
  125. package/es/modules/flow-chart/style/flow-chart.css +185 -0
  126. package/es/modules/i18n.es.js +6 -3
  127. package/es/modules/i18n.es.js.map +1 -1
  128. package/es/modules/index.es.js +31 -0
  129. package/es/modules/index.es.js.map +1 -0
  130. package/es/modules/link/formats/link.es.js +14 -10
  131. package/es/modules/link/formats/link.es.js.map +1 -1
  132. package/es/modules/link/index.es.js +4 -12
  133. package/es/modules/link/index.es.js.map +1 -1
  134. package/es/modules/link/modules/tooltip.es.js +28 -19
  135. package/es/modules/link/modules/tooltip.es.js.map +1 -1
  136. package/es/modules/mathlive/formats.es.js +10 -7
  137. package/es/modules/mathlive/formats.es.js.map +1 -1
  138. package/es/modules/mathlive/index.es.js +6 -30
  139. package/es/modules/mathlive/index.es.js.map +1 -1
  140. package/es/modules/mathlive/module.es.js +40 -0
  141. package/es/modules/mathlive/module.es.js.map +1 -0
  142. package/es/modules/mathlive/tooltip.es.js +9 -5
  143. package/es/modules/mathlive/tooltip.es.js.map +1 -1
  144. package/es/modules/mention/constants.es.js.map +1 -1
  145. package/es/modules/mention/index.es.js +7 -0
  146. package/es/modules/mention/index.es.js.map +1 -0
  147. package/es/modules/mention/{MentionLink.es.js → mention-link.es.js} +14 -6
  148. package/es/modules/mention/mention-link.es.js.map +1 -0
  149. package/es/modules/mention/{Mention.es.js → mention.es.js} +28 -20
  150. package/es/modules/mention/mention.es.js.map +1 -0
  151. package/es/modules/mind-map/config-utils.es.js +108 -0
  152. package/es/modules/mind-map/config-utils.es.js.map +1 -0
  153. package/es/modules/mind-map/formats/mind-map-blot.es.js +356 -0
  154. package/es/modules/mind-map/formats/mind-map-blot.es.js.map +1 -0
  155. package/es/modules/mind-map/i18n/en-us.es.js +29 -0
  156. package/es/modules/mind-map/i18n/en-us.es.js.map +1 -0
  157. package/es/modules/mind-map/i18n/index.es.js +12 -0
  158. package/es/modules/mind-map/i18n/index.es.js.map +1 -0
  159. package/es/modules/mind-map/i18n/zh-cn.es.js +29 -0
  160. package/es/modules/mind-map/i18n/zh-cn.es.js.map +1 -0
  161. package/es/modules/mind-map/icons.es.js +45 -0
  162. package/es/modules/mind-map/icons.es.js.map +1 -0
  163. package/es/modules/mind-map/index.es.js +56 -0
  164. package/es/modules/mind-map/index.es.js.map +1 -0
  165. package/es/modules/mind-map/modules/context-menu.es.js +128 -0
  166. package/es/modules/mind-map/modules/context-menu.es.js.map +1 -0
  167. package/es/modules/mind-map/modules/control-panel.es.js +424 -0
  168. package/es/modules/mind-map/modules/control-panel.es.js.map +1 -0
  169. package/es/modules/mind-map/modules/custom-resize-action.es.js +161 -0
  170. package/es/modules/mind-map/modules/custom-resize-action.es.js.map +1 -0
  171. package/es/modules/mind-map/style/mind-map.css +224 -0
  172. package/es/modules/shortcut-key/index.es.js +16 -0
  173. package/es/modules/shortcut-key/index.es.js.map +1 -1
  174. package/es/modules/syntax.es.js +4 -0
  175. package/es/modules/syntax.es.js.map +1 -1
  176. package/es/modules/table-up/index.es.js +16 -6
  177. package/es/modules/table-up/index.es.js.map +1 -1
  178. package/es/modules/toolbar/better-picker.es.js +5 -0
  179. package/es/modules/toolbar/better-picker.es.js.map +1 -1
  180. package/es/modules/toolbar/better-toolbar.es.js +138 -0
  181. package/es/modules/toolbar/better-toolbar.es.js.map +1 -0
  182. package/es/modules/toolbar/index.es.js +5 -135
  183. package/es/modules/toolbar/index.es.js.map +1 -1
  184. package/es/modules/toolbar/toolbar-tip.es.js.map +1 -1
  185. package/es/themes/snow.es.js +18 -10
  186. package/es/themes/snow.es.js.map +1 -1
  187. package/es/tools/format-painter.es.js +8 -2
  188. package/es/tools/format-painter.es.js.map +1 -1
  189. package/es/tools/fullscreen.es.js.map +1 -1
  190. package/es/tools/screenshot.es.js.map +1 -1
  191. package/es/ui/icons.config.es.js +57 -0
  192. package/es/ui/icons.config.es.js.map +1 -1
  193. package/es/ui/icons.es.js +5 -2
  194. package/es/ui/icons.es.js.map +1 -1
  195. package/es/utils/debounce.es.js.map +1 -1
  196. package/es/utils/image.es.js.map +1 -1
  197. package/es/utils/is.es.js.map +1 -1
  198. package/es/utils/method.es.js.map +1 -1
  199. package/es/utils/scroll-lock.es.js.map +1 -1
  200. package/lib/attributors/line-height.cjs.js.map +1 -1
  201. package/lib/config/base64-image.cjs.js.map +1 -1
  202. package/lib/config/editor.config.cjs.js.map +1 -1
  203. package/lib/config/editor.utils.cjs.js +0 -2
  204. package/lib/config/editor.utils.cjs.js.map +1 -1
  205. package/lib/config/i18n/en-us.cjs.js +2 -0
  206. package/lib/config/i18n/en-us.cjs.js.map +1 -1
  207. package/lib/config/i18n/zh-cn.cjs.js +2 -0
  208. package/lib/config/i18n/zh-cn.cjs.js.map +1 -1
  209. package/lib/config/index.cjs.js +1 -1
  210. package/lib/config/index.cjs.js.map +1 -1
  211. package/lib/config/types/index.cjs.js +0 -20
  212. package/lib/config/types/index.cjs.js.map +1 -1
  213. package/lib/core/fluent-editor.cjs.js +4 -1
  214. package/lib/core/fluent-editor.cjs.js.map +1 -1
  215. package/lib/fluent-editor.cjs.js +41 -30
  216. package/lib/fluent-editor.cjs.js.map +1 -1
  217. package/lib/formats/emoji.cjs.js +14 -0
  218. package/lib/formats/emoji.cjs.js.map +1 -0
  219. package/lib/formats/index.cjs.js +11 -0
  220. package/lib/formats/index.cjs.js.map +1 -0
  221. package/lib/formats/soft-break.cjs.js +13 -6
  222. package/lib/formats/soft-break.cjs.js.map +1 -1
  223. package/lib/formats/strike.cjs.js +9 -6
  224. package/lib/formats/strike.cjs.js.map +1 -1
  225. package/lib/formats/video.cjs.js +15 -11
  226. package/lib/formats/video.cjs.js.map +1 -1
  227. package/lib/index.cjs.js +118 -35
  228. package/lib/index.cjs.js.map +1 -1
  229. package/lib/modules/ai/constants.cjs.js +50 -0
  230. package/lib/modules/ai/constants.cjs.js.map +1 -0
  231. package/lib/modules/ai/icons.cjs.js +319 -0
  232. package/lib/modules/ai/icons.cjs.js.map +1 -0
  233. package/lib/modules/ai/index.cjs.js +670 -0
  234. package/lib/modules/ai/index.cjs.js.map +1 -0
  235. package/lib/modules/collaborative-editing/awareness/awareness.cjs.js +110 -0
  236. package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
  237. package/lib/modules/collaborative-editing/awareness/index.cjs.js +8 -0
  238. package/lib/modules/collaborative-editing/awareness/index.cjs.js.map +1 -0
  239. package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +12 -0
  240. package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
  241. package/lib/modules/collaborative-editing/collaborative-editing.cjs.js +122 -0
  242. package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
  243. package/lib/modules/collaborative-editing/index.cjs.js +6 -0
  244. package/lib/modules/{emoji/emoji-list → collaborative-editing}/index.cjs.js.map +1 -1
  245. package/lib/modules/collaborative-editing/module.cjs.js +35 -0
  246. package/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
  247. package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js +28 -0
  248. package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
  249. package/lib/modules/collaborative-editing/provider/webrtc.cjs.js +116 -0
  250. package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
  251. package/lib/modules/collaborative-editing/provider/websocket.cjs.js +128 -0
  252. package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
  253. package/lib/modules/collaborative-editing/types.cjs.js +2 -0
  254. package/lib/modules/collaborative-editing/types.cjs.js.map +1 -0
  255. package/lib/modules/counter.cjs.js +8 -3
  256. package/lib/modules/counter.cjs.js.map +1 -1
  257. package/lib/modules/custom-clipboard.cjs.js +21 -23
  258. package/lib/modules/custom-clipboard.cjs.js.map +1 -1
  259. package/lib/modules/custom-image/actions/action.cjs.js +19 -0
  260. package/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
  261. package/lib/modules/custom-image/actions/{CustomResizeAction.cjs.js → custom-resize-action.cjs.js} +26 -13
  262. package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
  263. package/lib/modules/custom-image/actions/{DeleteAction.cjs.js → delete-action.cjs.js} +10 -7
  264. package/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
  265. package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js +137 -0
  266. package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +1 -0
  267. package/lib/modules/custom-image/actions/index.cjs.js +18 -0
  268. package/lib/modules/custom-image/actions/index.cjs.js.map +1 -0
  269. package/lib/modules/custom-image/actions/toolbar-action.cjs.js +33 -0
  270. package/lib/modules/custom-image/actions/toolbar-action.cjs.js.map +1 -0
  271. package/lib/modules/custom-image/actions/toolbar.cjs.js +110 -0
  272. package/lib/modules/custom-image/actions/toolbar.cjs.js.map +1 -0
  273. package/lib/modules/custom-image/{BlotFormatter.cjs.js → blot-formatter.cjs.js} +28 -50
  274. package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
  275. package/lib/modules/custom-image/image.cjs.js +40 -8
  276. package/lib/modules/custom-image/image.cjs.js.map +1 -1
  277. package/lib/modules/custom-image/index.cjs.js +9 -0
  278. package/lib/modules/custom-image/index.cjs.js.map +1 -0
  279. package/lib/modules/custom-image/options.cjs.js +88 -0
  280. package/lib/modules/custom-image/options.cjs.js.map +1 -0
  281. package/lib/modules/custom-image/specs/blot-spec.cjs.js +33 -0
  282. package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
  283. package/lib/modules/custom-image/specs/{CustomImageSpec.cjs.js → custom-image-spec.cjs.js} +14 -15
  284. package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
  285. package/lib/modules/custom-image/specs/image-spec.cjs.js +32 -0
  286. package/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
  287. package/lib/modules/custom-image/specs/index.cjs.js +9 -0
  288. package/lib/modules/custom-image/specs/index.cjs.js.map +1 -0
  289. package/lib/modules/custom-uploader.cjs.js +7 -5
  290. package/lib/modules/custom-uploader.cjs.js.map +1 -1
  291. package/lib/modules/divider.cjs.js +9 -8
  292. package/lib/modules/divider.cjs.js.map +1 -1
  293. package/lib/modules/emoji.cjs.js +167 -0
  294. package/lib/modules/emoji.cjs.js.map +1 -0
  295. package/lib/modules/file/formats/file.cjs.js +11 -9
  296. package/lib/modules/file/formats/file.cjs.js.map +1 -1
  297. package/lib/modules/file/index.cjs.js +5 -27
  298. package/lib/modules/file/index.cjs.js.map +1 -1
  299. package/lib/modules/file/modules/file-bar.cjs.js +12 -4
  300. package/lib/modules/file/modules/file-bar.cjs.js.map +1 -1
  301. package/lib/modules/file/modules/file-module.cjs.js +35 -0
  302. package/lib/modules/file/modules/file-module.cjs.js.map +1 -0
  303. package/lib/modules/flow-chart/config-utils.cjs.js +102 -0
  304. package/lib/modules/flow-chart/config-utils.cjs.js.map +1 -0
  305. package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js +369 -0
  306. package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js.map +1 -0
  307. package/lib/modules/flow-chart/i18n/en-us.cjs.js +30 -0
  308. package/lib/modules/flow-chart/i18n/en-us.cjs.js.map +1 -0
  309. package/lib/modules/flow-chart/i18n/index.cjs.js +12 -0
  310. package/lib/modules/flow-chart/i18n/index.cjs.js.map +1 -0
  311. package/lib/modules/flow-chart/i18n/zh-cn.cjs.js +30 -0
  312. package/lib/modules/flow-chart/i18n/zh-cn.cjs.js.map +1 -0
  313. package/lib/modules/flow-chart/icons.cjs.js +27 -0
  314. package/lib/modules/flow-chart/icons.cjs.js.map +1 -0
  315. package/lib/modules/flow-chart/index.cjs.js +45 -0
  316. package/lib/modules/flow-chart/index.cjs.js.map +1 -0
  317. package/lib/modules/flow-chart/modules/context-menu.cjs.js +184 -0
  318. package/lib/modules/flow-chart/modules/context-menu.cjs.js.map +1 -0
  319. package/lib/modules/flow-chart/modules/control-panel.cjs.js +286 -0
  320. package/lib/modules/flow-chart/modules/control-panel.cjs.js.map +1 -0
  321. package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js +150 -0
  322. package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js.map +1 -0
  323. package/lib/modules/flow-chart/style/flow-chart.css +185 -0
  324. package/lib/modules/i18n.cjs.js +6 -3
  325. package/lib/modules/i18n.cjs.js.map +1 -1
  326. package/lib/modules/index.cjs.js +31 -0
  327. package/lib/modules/index.cjs.js.map +1 -0
  328. package/lib/modules/link/formats/link.cjs.js +15 -11
  329. package/lib/modules/link/formats/link.cjs.js.map +1 -1
  330. package/lib/modules/link/index.cjs.js +4 -12
  331. package/lib/modules/link/index.cjs.js.map +1 -1
  332. package/lib/modules/link/modules/tooltip.cjs.js +28 -19
  333. package/lib/modules/link/modules/tooltip.cjs.js.map +1 -1
  334. package/lib/modules/mathlive/formats.cjs.js +11 -8
  335. package/lib/modules/mathlive/formats.cjs.js.map +1 -1
  336. package/lib/modules/mathlive/index.cjs.js +5 -29
  337. package/lib/modules/mathlive/index.cjs.js.map +1 -1
  338. package/lib/modules/mathlive/module.cjs.js +40 -0
  339. package/lib/modules/mathlive/module.cjs.js.map +1 -0
  340. package/lib/modules/mathlive/tooltip.cjs.js +10 -6
  341. package/lib/modules/mathlive/tooltip.cjs.js.map +1 -1
  342. package/lib/modules/mention/constants.cjs.js.map +1 -1
  343. package/lib/modules/mention/index.cjs.js +7 -0
  344. package/lib/modules/mention/index.cjs.js.map +1 -0
  345. package/lib/modules/mention/{MentionLink.cjs.js → mention-link.cjs.js} +15 -7
  346. package/lib/modules/mention/mention-link.cjs.js.map +1 -0
  347. package/lib/modules/mention/{Mention.cjs.js → mention.cjs.js} +30 -22
  348. package/lib/modules/mention/mention.cjs.js.map +1 -0
  349. package/lib/modules/mind-map/config-utils.cjs.js +108 -0
  350. package/lib/modules/mind-map/config-utils.cjs.js.map +1 -0
  351. package/lib/modules/mind-map/formats/mind-map-blot.cjs.js +356 -0
  352. package/lib/modules/mind-map/formats/mind-map-blot.cjs.js.map +1 -0
  353. package/lib/modules/mind-map/i18n/en-us.cjs.js +29 -0
  354. package/lib/modules/mind-map/i18n/en-us.cjs.js.map +1 -0
  355. package/lib/modules/mind-map/i18n/index.cjs.js +12 -0
  356. package/lib/modules/mind-map/i18n/index.cjs.js.map +1 -0
  357. package/lib/modules/mind-map/i18n/zh-cn.cjs.js +29 -0
  358. package/lib/modules/mind-map/i18n/zh-cn.cjs.js.map +1 -0
  359. package/lib/modules/mind-map/icons.cjs.js +45 -0
  360. package/lib/modules/mind-map/icons.cjs.js.map +1 -0
  361. package/lib/modules/mind-map/index.cjs.js +56 -0
  362. package/lib/modules/mind-map/index.cjs.js.map +1 -0
  363. package/lib/modules/mind-map/modules/context-menu.cjs.js +128 -0
  364. package/lib/modules/mind-map/modules/context-menu.cjs.js.map +1 -0
  365. package/lib/modules/mind-map/modules/control-panel.cjs.js +424 -0
  366. package/lib/modules/mind-map/modules/control-panel.cjs.js.map +1 -0
  367. package/lib/modules/mind-map/modules/custom-resize-action.cjs.js +161 -0
  368. package/lib/modules/mind-map/modules/custom-resize-action.cjs.js.map +1 -0
  369. package/lib/modules/mind-map/style/mind-map.css +224 -0
  370. package/lib/modules/shortcut-key/index.cjs.js +16 -0
  371. package/lib/modules/shortcut-key/index.cjs.js.map +1 -1
  372. package/lib/modules/syntax.cjs.js +4 -0
  373. package/lib/modules/syntax.cjs.js.map +1 -1
  374. package/lib/modules/table-up/index.cjs.js +16 -6
  375. package/lib/modules/table-up/index.cjs.js.map +1 -1
  376. package/lib/modules/toolbar/better-picker.cjs.js +5 -0
  377. package/lib/modules/toolbar/better-picker.cjs.js.map +1 -1
  378. package/lib/modules/toolbar/better-toolbar.cjs.js +138 -0
  379. package/lib/modules/toolbar/better-toolbar.cjs.js.map +1 -0
  380. package/lib/modules/toolbar/index.cjs.js +6 -136
  381. package/lib/modules/toolbar/index.cjs.js.map +1 -1
  382. package/lib/modules/toolbar/toolbar-tip.cjs.js.map +1 -1
  383. package/lib/themes/snow.cjs.js +19 -11
  384. package/lib/themes/snow.cjs.js.map +1 -1
  385. package/lib/tools/format-painter.cjs.js +8 -2
  386. package/lib/tools/format-painter.cjs.js.map +1 -1
  387. package/lib/tools/fullscreen.cjs.js.map +1 -1
  388. package/lib/tools/screenshot.cjs.js.map +1 -1
  389. package/lib/ui/icons.cjs.js +4 -1
  390. package/lib/ui/icons.cjs.js.map +1 -1
  391. package/lib/ui/icons.config.cjs.js +57 -0
  392. package/lib/ui/icons.config.cjs.js.map +1 -1
  393. package/lib/utils/debounce.cjs.js.map +1 -1
  394. package/lib/utils/image.cjs.js.map +1 -1
  395. package/lib/utils/is.cjs.js.map +1 -1
  396. package/lib/utils/method.cjs.js.map +1 -1
  397. package/lib/utils/scroll-lock.cjs.js.map +1 -1
  398. package/package.json +72 -59
  399. package/style.css +2357 -2234
  400. package/types/attributors/font-size.d.ts +1 -1
  401. package/types/attributors/font-style.d.ts +1 -1
  402. package/types/attributors/index.d.ts +4 -4
  403. package/types/attributors/line-height.d.ts +1 -1
  404. package/types/attributors/text-indent.d.ts +1 -1
  405. package/types/config/base64-image.d.ts +2 -2
  406. package/types/config/editor.config.d.ts +11 -11
  407. package/types/config/editor.utils.d.ts +40 -41
  408. package/types/config/i18n/en-us.d.ts +125 -123
  409. package/types/config/i18n/zh-cn.d.ts +125 -123
  410. package/types/config/index.d.ts +7 -6
  411. package/types/config/types/editor-config.interface.d.ts +11 -16
  412. package/types/config/types/editor-modules.interface.d.ts +44 -32
  413. package/types/config/types/index.d.ts +3 -23
  414. package/types/config/types/type.d.ts +2 -6
  415. package/types/core/fluent-editor.d.ts +10 -12
  416. package/types/fluent-editor.d.ts +1 -2
  417. package/types/formats/emoji.d.ts +8 -0
  418. package/types/formats/index.d.ts +4 -0
  419. package/types/formats/soft-break.d.ts +12 -14
  420. package/types/formats/strike.d.ts +8 -7
  421. package/types/formats/video.d.ts +13 -16
  422. package/types/index.d.ts +7 -7
  423. package/types/modules/ai/constants.d.ts +30 -0
  424. package/types/modules/ai/icons.d.ts +21 -0
  425. package/types/modules/ai/index.d.ts +96 -0
  426. package/types/modules/ai/types.d.ts +16 -0
  427. package/types/modules/collaborative-editing/awareness/awareness.d.ts +28 -0
  428. package/types/modules/collaborative-editing/awareness/index.d.ts +2 -0
  429. package/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +2 -0
  430. package/types/modules/collaborative-editing/collaborative-editing.d.ts +24 -0
  431. package/types/modules/collaborative-editing/index.d.ts +2 -0
  432. package/types/modules/collaborative-editing/module.d.ts +11 -0
  433. package/types/modules/collaborative-editing/provider/index.d.ts +3 -0
  434. package/types/modules/collaborative-editing/provider/providerRegistry.d.ts +25 -0
  435. package/types/modules/collaborative-editing/provider/webrtc.d.ts +36 -0
  436. package/types/modules/collaborative-editing/provider/websocket.d.ts +40 -0
  437. package/types/modules/collaborative-editing/types.d.ts +37 -0
  438. package/types/modules/counter.d.ts +22 -16
  439. package/types/modules/custom-clipboard.d.ts +23 -27
  440. package/types/modules/custom-image/actions/action.d.ts +8 -0
  441. package/types/modules/custom-image/actions/{CustomResizeAction.d.ts → custom-resize-action.d.ts} +23 -24
  442. package/types/modules/custom-image/actions/delete-action.d.ts +6 -0
  443. package/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +16 -0
  444. package/types/modules/custom-image/actions/index.d.ts +6 -0
  445. package/types/modules/custom-image/actions/toolbar-action.d.ts +11 -0
  446. package/types/modules/custom-image/actions/toolbar.d.ts +19 -0
  447. package/types/modules/custom-image/blot-formatter.d.ts +23 -0
  448. package/types/modules/custom-image/image.d.ts +27 -24
  449. package/types/modules/custom-image/index.d.ts +4 -0
  450. package/types/modules/custom-image/options.d.ts +47 -0
  451. package/types/modules/custom-image/specs/blot-spec.d.ts +12 -0
  452. package/types/modules/custom-image/specs/{CustomImageSpec.d.ts → custom-image-spec.d.ts} +17 -21
  453. package/types/modules/custom-image/specs/image-spec.d.ts +8 -0
  454. package/types/modules/custom-image/specs/index.d.ts +3 -0
  455. package/types/modules/custom-uploader.d.ts +40 -0
  456. package/types/modules/divider.d.ts +8 -7
  457. package/types/modules/emoji.d.ts +39 -0
  458. package/types/modules/file/formats/file.d.ts +17 -18
  459. package/types/modules/file/index.d.ts +3 -11
  460. package/types/modules/file/modules/file-bar.d.ts +14 -14
  461. package/types/modules/file/modules/file-module.d.ts +9 -0
  462. package/types/modules/flow-chart/config-utils.d.ts +10 -0
  463. package/types/modules/flow-chart/formats/flow-chart-blot.d.ts +43 -0
  464. package/types/modules/flow-chart/i18n/en-us.d.ts +26 -0
  465. package/types/modules/flow-chart/i18n/index.d.ts +1 -0
  466. package/types/modules/flow-chart/i18n/zh-cn.d.ts +26 -0
  467. package/types/modules/flow-chart/icons.d.ts +12 -0
  468. package/types/modules/flow-chart/index.d.ts +10 -0
  469. package/types/modules/flow-chart/modules/context-menu.d.ts +3 -0
  470. package/types/modules/flow-chart/modules/control-panel.d.ts +3 -0
  471. package/types/modules/flow-chart/modules/custom-resize-action.d.ts +22 -0
  472. package/types/modules/flow-chart/options.d.ts +29 -0
  473. package/types/modules/i18n.d.ts +13 -15
  474. package/types/modules/index.d.ts +18 -0
  475. package/types/modules/link/formats/link.d.ts +14 -15
  476. package/types/modules/link/index.d.ts +2 -6
  477. package/types/modules/link/modules/tooltip.d.ts +26 -32
  478. package/types/modules/mathlive/formats.d.ts +20 -21
  479. package/types/modules/mathlive/index.d.ts +3 -9
  480. package/types/modules/mathlive/module.d.ts +9 -0
  481. package/types/modules/mathlive/tooltip.d.ts +14 -15
  482. package/types/modules/mention/constants.d.ts +3 -3
  483. package/types/modules/mention/index.d.ts +2 -0
  484. package/types/modules/mention/{MentionLink.d.ts → mention-link.d.ts} +15 -15
  485. package/types/modules/mention/{Mention.d.ts → mention.d.ts} +52 -54
  486. package/types/modules/mind-map/config-utils.d.ts +12 -0
  487. package/types/modules/mind-map/formats/mind-map-blot.d.ts +44 -0
  488. package/types/modules/mind-map/i18n/en-us.d.ts +25 -0
  489. package/types/modules/mind-map/i18n/index.d.ts +1 -0
  490. package/types/modules/mind-map/i18n/zh-cn.d.ts +25 -0
  491. package/types/modules/mind-map/icons.d.ts +21 -0
  492. package/types/modules/mind-map/index.d.ts +10 -0
  493. package/types/modules/mind-map/modules/context-menu.d.ts +3 -0
  494. package/types/modules/mind-map/modules/control-panel.d.ts +3 -0
  495. package/types/modules/mind-map/modules/custom-resize-action.d.ts +23 -0
  496. package/types/modules/mind-map/options.d.ts +26 -0
  497. package/types/modules/shortcut-key/index.d.ts +67 -64
  498. package/types/modules/syntax.d.ts +12 -13
  499. package/types/modules/table-up/index.d.ts +32 -64
  500. package/types/modules/toolbar/better-picker.d.ts +13 -14
  501. package/types/modules/toolbar/better-toolbar.d.ts +7 -0
  502. package/types/modules/toolbar/index.d.ts +3 -9
  503. package/types/modules/toolbar/toolbar-tip.d.ts +7 -8
  504. package/types/themes/snow.d.ts +9 -10
  505. package/types/tools/format-painter.d.ts +12 -14
  506. package/types/tools/fullscreen.d.ts +6 -3
  507. package/types/tools/screenshot.d.ts +17 -18
  508. package/types/ui/icons.config.d.ts +40 -36
  509. package/types/ui/icons.d.ts +6 -6
  510. package/types/utils/debounce.d.ts +6 -6
  511. package/types/utils/image.d.ts +1 -1
  512. package/types/utils/is.d.ts +6 -6
  513. package/types/utils/method.d.ts +6 -6
  514. package/types/utils/scroll-lock.d.ts +6 -6
  515. package/es/config/types/additional-toolbar-item.interface.es.js +0 -2
  516. package/es/config/types/additional-toolbar-item.interface.es.js.map +0 -1
  517. package/es/config/types/content-change.interface.es.js +0 -2
  518. package/es/config/types/content-change.interface.es.js.map +0 -1
  519. package/es/config/types/content-save.interface.es.js +0 -2
  520. package/es/config/types/content-save.interface.es.js.map +0 -1
  521. package/es/config/types/counter-option.interface.es.js +0 -2
  522. package/es/config/types/counter-option.interface.es.js.map +0 -1
  523. package/es/config/types/editor-toolbar.interface.es.js +0 -2
  524. package/es/config/types/editor-toolbar.interface.es.js.map +0 -1
  525. package/es/config/types/file-operation.interface.es.js +0 -2
  526. package/es/config/types/file-operation.interface.es.js.map +0 -1
  527. package/es/config/types/focus-change.interface.es.js +0 -2
  528. package/es/config/types/focus-change.interface.es.js.map +0 -1
  529. package/es/config/types/fullscreen-module.interface.es.js +0 -2
  530. package/es/config/types/fullscreen-module.interface.es.js.map +0 -1
  531. package/es/config/types/help-panel-item.interface.es.js +0 -2
  532. package/es/config/types/help-panel-item.interface.es.js.map +0 -1
  533. package/es/config/types/help-panel-option.interface.es.js +0 -2
  534. package/es/config/types/help-panel-option.interface.es.js.map +0 -1
  535. package/es/config/types/image-module.interface.es.js +0 -2
  536. package/es/config/types/image-module.interface.es.js.map +0 -1
  537. package/es/config/types/image-upload.interface.es.js +0 -2
  538. package/es/config/types/image-upload.interface.es.js.map +0 -1
  539. package/es/config/types/load-on-demand-module.interface.es.js +0 -2
  540. package/es/config/types/load-on-demand-module.interface.es.js.map +0 -1
  541. package/es/config/types/mention-module.interface.es.js +0 -2
  542. package/es/config/types/mention-module.interface.es.js.map +0 -1
  543. package/es/config/types/paste-change.interface.es.js +0 -2
  544. package/es/config/types/paste-change.interface.es.js.map +0 -1
  545. package/es/config/types/quick-menu-module.interface.es.js +0 -2
  546. package/es/config/types/quick-menu-module.interface.es.js.map +0 -1
  547. package/es/config/types/range.interface.es.js +0 -2
  548. package/es/config/types/range.interface.es.js.map +0 -1
  549. package/es/config/types/registry-options.interface.es.js +0 -2
  550. package/es/config/types/registry-options.interface.es.js.map +0 -1
  551. package/es/config/types/selection-change.interface.es.js +0 -2
  552. package/es/config/types/selection-change.interface.es.js.map +0 -1
  553. package/es/config/types/toolbar-item.interface.es.js +0 -2
  554. package/es/config/types/toolbar-item.interface.es.js.map +0 -1
  555. package/es/config/types/validate-error.interface.es.js +0 -2
  556. package/es/config/types/validate-error.interface.es.js.map +0 -1
  557. package/es/modules/custom-image/BlotFormatter.es.js.map +0 -1
  558. package/es/modules/custom-image/Options.es.js +0 -95
  559. package/es/modules/custom-image/Options.es.js.map +0 -1
  560. package/es/modules/custom-image/actions/Action.es.js +0 -15
  561. package/es/modules/custom-image/actions/Action.es.js.map +0 -1
  562. package/es/modules/custom-image/actions/CustomResizeAction.es.js.map +0 -1
  563. package/es/modules/custom-image/actions/DeleteAction.es.js.map +0 -1
  564. package/es/modules/custom-image/image-bar.es.js +0 -127
  565. package/es/modules/custom-image/image-bar.es.js.map +0 -1
  566. package/es/modules/custom-image/specs/BlotSpec.es.js +0 -27
  567. package/es/modules/custom-image/specs/BlotSpec.es.js.map +0 -1
  568. package/es/modules/custom-image/specs/CustomImageSpec.es.js.map +0 -1
  569. package/es/modules/custom-image/specs/ImageSpec.es.js +0 -29
  570. package/es/modules/custom-image/specs/ImageSpec.es.js.map +0 -1
  571. package/es/modules/emoji/emoji-list/index.es.js +0 -5
  572. package/es/modules/emoji/emoji-list/people.es.js +0 -114
  573. package/es/modules/emoji/emoji-list/people.es.js.map +0 -1
  574. package/es/modules/emoji/emoji-list.es.js +0 -9
  575. package/es/modules/emoji/emoji-list.es.js.map +0 -1
  576. package/es/modules/emoji/emoji-map.es.js +0 -9
  577. package/es/modules/emoji/emoji-map.es.js.map +0 -1
  578. package/es/modules/emoji/emoji-sprite.es.js +0 -5
  579. package/es/modules/emoji/emoji-sprite.es.js.map +0 -1
  580. package/es/modules/emoji/formats/emoji-blot.es.js +0 -41
  581. package/es/modules/emoji/formats/emoji-blot.es.js.map +0 -1
  582. package/es/modules/emoji/index.es.js +0 -8
  583. package/es/modules/emoji/index.es.js.map +0 -1
  584. package/es/modules/emoji/modules/emoji.es.js +0 -248
  585. package/es/modules/emoji/modules/emoji.es.js.map +0 -1
  586. package/es/modules/emoji/modules/toolbar-emoji.es.js +0 -153
  587. package/es/modules/emoji/modules/toolbar-emoji.es.js.map +0 -1
  588. package/es/modules/emoji/utils.es.js +0 -19
  589. package/es/modules/emoji/utils.es.js.map +0 -1
  590. package/es/modules/mention/Mention.es.js.map +0 -1
  591. package/es/modules/mention/MentionLink.es.js.map +0 -1
  592. package/lib/config/types/additional-toolbar-item.interface.cjs.js +0 -2
  593. package/lib/config/types/additional-toolbar-item.interface.cjs.js.map +0 -1
  594. package/lib/config/types/content-change.interface.cjs.js +0 -2
  595. package/lib/config/types/content-change.interface.cjs.js.map +0 -1
  596. package/lib/config/types/content-save.interface.cjs.js +0 -2
  597. package/lib/config/types/content-save.interface.cjs.js.map +0 -1
  598. package/lib/config/types/counter-option.interface.cjs.js +0 -2
  599. package/lib/config/types/counter-option.interface.cjs.js.map +0 -1
  600. package/lib/config/types/editor-toolbar.interface.cjs.js +0 -2
  601. package/lib/config/types/editor-toolbar.interface.cjs.js.map +0 -1
  602. package/lib/config/types/file-operation.interface.cjs.js +0 -2
  603. package/lib/config/types/file-operation.interface.cjs.js.map +0 -1
  604. package/lib/config/types/focus-change.interface.cjs.js +0 -2
  605. package/lib/config/types/focus-change.interface.cjs.js.map +0 -1
  606. package/lib/config/types/fullscreen-module.interface.cjs.js +0 -2
  607. package/lib/config/types/fullscreen-module.interface.cjs.js.map +0 -1
  608. package/lib/config/types/help-panel-item.interface.cjs.js +0 -2
  609. package/lib/config/types/help-panel-item.interface.cjs.js.map +0 -1
  610. package/lib/config/types/help-panel-option.interface.cjs.js +0 -2
  611. package/lib/config/types/help-panel-option.interface.cjs.js.map +0 -1
  612. package/lib/config/types/image-module.interface.cjs.js +0 -2
  613. package/lib/config/types/image-module.interface.cjs.js.map +0 -1
  614. package/lib/config/types/image-upload.interface.cjs.js +0 -2
  615. package/lib/config/types/image-upload.interface.cjs.js.map +0 -1
  616. package/lib/config/types/load-on-demand-module.interface.cjs.js +0 -2
  617. package/lib/config/types/load-on-demand-module.interface.cjs.js.map +0 -1
  618. package/lib/config/types/mention-module.interface.cjs.js +0 -2
  619. package/lib/config/types/mention-module.interface.cjs.js.map +0 -1
  620. package/lib/config/types/paste-change.interface.cjs.js +0 -2
  621. package/lib/config/types/paste-change.interface.cjs.js.map +0 -1
  622. package/lib/config/types/quick-menu-module.interface.cjs.js +0 -2
  623. package/lib/config/types/quick-menu-module.interface.cjs.js.map +0 -1
  624. package/lib/config/types/range.interface.cjs.js +0 -2
  625. package/lib/config/types/range.interface.cjs.js.map +0 -1
  626. package/lib/config/types/registry-options.interface.cjs.js +0 -2
  627. package/lib/config/types/registry-options.interface.cjs.js.map +0 -1
  628. package/lib/config/types/selection-change.interface.cjs.js +0 -2
  629. package/lib/config/types/selection-change.interface.cjs.js.map +0 -1
  630. package/lib/config/types/toolbar-item.interface.cjs.js +0 -2
  631. package/lib/config/types/toolbar-item.interface.cjs.js.map +0 -1
  632. package/lib/config/types/validate-error.interface.cjs.js +0 -2
  633. package/lib/config/types/validate-error.interface.cjs.js.map +0 -1
  634. package/lib/modules/custom-image/BlotFormatter.cjs.js.map +0 -1
  635. package/lib/modules/custom-image/Options.cjs.js +0 -95
  636. package/lib/modules/custom-image/Options.cjs.js.map +0 -1
  637. package/lib/modules/custom-image/actions/Action.cjs.js +0 -15
  638. package/lib/modules/custom-image/actions/Action.cjs.js.map +0 -1
  639. package/lib/modules/custom-image/actions/CustomResizeAction.cjs.js.map +0 -1
  640. package/lib/modules/custom-image/actions/DeleteAction.cjs.js.map +0 -1
  641. package/lib/modules/custom-image/image-bar.cjs.js +0 -127
  642. package/lib/modules/custom-image/image-bar.cjs.js.map +0 -1
  643. package/lib/modules/custom-image/specs/BlotSpec.cjs.js +0 -27
  644. package/lib/modules/custom-image/specs/BlotSpec.cjs.js.map +0 -1
  645. package/lib/modules/custom-image/specs/CustomImageSpec.cjs.js.map +0 -1
  646. package/lib/modules/custom-image/specs/ImageSpec.cjs.js +0 -29
  647. package/lib/modules/custom-image/specs/ImageSpec.cjs.js.map +0 -1
  648. package/lib/modules/emoji/emoji-list/index.cjs.js +0 -5
  649. package/lib/modules/emoji/emoji-list/people.cjs.js +0 -114
  650. package/lib/modules/emoji/emoji-list/people.cjs.js.map +0 -1
  651. package/lib/modules/emoji/emoji-list.cjs.js +0 -9
  652. package/lib/modules/emoji/emoji-list.cjs.js.map +0 -1
  653. package/lib/modules/emoji/emoji-map.cjs.js +0 -9
  654. package/lib/modules/emoji/emoji-map.cjs.js.map +0 -1
  655. package/lib/modules/emoji/emoji-sprite.cjs.js +0 -5
  656. package/lib/modules/emoji/emoji-sprite.cjs.js.map +0 -1
  657. package/lib/modules/emoji/formats/emoji-blot.cjs.js +0 -41
  658. package/lib/modules/emoji/formats/emoji-blot.cjs.js.map +0 -1
  659. package/lib/modules/emoji/index.cjs.js +0 -8
  660. package/lib/modules/emoji/index.cjs.js.map +0 -1
  661. package/lib/modules/emoji/modules/emoji.cjs.js +0 -248
  662. package/lib/modules/emoji/modules/emoji.cjs.js.map +0 -1
  663. package/lib/modules/emoji/modules/toolbar-emoji.cjs.js +0 -153
  664. package/lib/modules/emoji/modules/toolbar-emoji.cjs.js.map +0 -1
  665. package/lib/modules/emoji/utils.cjs.js +0 -19
  666. package/lib/modules/emoji/utils.cjs.js.map +0 -1
  667. package/lib/modules/mention/Mention.cjs.js.map +0 -1
  668. package/lib/modules/mention/MentionLink.cjs.js.map +0 -1
  669. package/types/config/types/additional-toolbar-item.interface.d.ts +0 -8
  670. package/types/config/types/content-change.interface.d.ts +0 -13
  671. package/types/config/types/content-save.interface.d.ts +0 -6
  672. package/types/config/types/counter-option.interface.d.ts +0 -9
  673. package/types/config/types/editor-toolbar.interface.d.ts +0 -6
  674. package/types/config/types/file-operation.interface.d.ts +0 -12
  675. package/types/config/types/focus-change.interface.d.ts +0 -4
  676. package/types/config/types/fullscreen-module.interface.d.ts +0 -4
  677. package/types/config/types/help-panel-item.interface.d.ts +0 -5
  678. package/types/config/types/help-panel-option.interface.d.ts +0 -7
  679. package/types/config/types/image-module.interface.d.ts +0 -3
  680. package/types/config/types/image-upload.interface.d.ts +0 -7
  681. package/types/config/types/load-on-demand-module.interface.d.ts +0 -5
  682. package/types/config/types/mention-module.interface.d.ts +0 -8
  683. package/types/config/types/paste-change.interface.d.ts +0 -6
  684. package/types/config/types/quick-menu-module.interface.d.ts +0 -3
  685. package/types/config/types/range.interface.d.ts +0 -4
  686. package/types/config/types/registry-options.interface.d.ts +0 -5
  687. package/types/config/types/selection-change.interface.d.ts +0 -8
  688. package/types/config/types/toolbar-item.interface.d.ts +0 -13
  689. package/types/config/types/validate-error.interface.d.ts +0 -13
  690. package/types/modules/custom-image/BlotFormatter.d.ts +0 -29
  691. package/types/modules/custom-image/Options.d.ts +0 -36
  692. package/types/modules/custom-image/actions/Action.d.ts +0 -7
  693. package/types/modules/custom-image/actions/DeleteAction.d.ts +0 -7
  694. package/types/modules/custom-image/image-bar.d.ts +0 -15
  695. package/types/modules/custom-image/specs/BlotSpec.d.ts +0 -13
  696. package/types/modules/custom-image/specs/ImageSpec.d.ts +0 -10
  697. package/types/modules/emoji/emoji-list/index.d.ts +0 -1
  698. package/types/modules/emoji/emoji-list/people.d.ts +0 -1
  699. package/types/modules/emoji/emoji-list.d.ts +0 -2
  700. package/types/modules/emoji/emoji-map.d.ts +0 -2
  701. package/types/modules/emoji/emoji-sprite.d.ts +0 -1
  702. package/types/modules/emoji/formats/emoji-blot.d.ts +0 -13
  703. package/types/modules/emoji/index.d.ts +0 -10
  704. package/types/modules/emoji/modules/emoji.d.ts +0 -38
  705. package/types/modules/emoji/modules/toolbar-emoji.d.ts +0 -8
  706. package/types/modules/emoji/utils.d.ts +0 -1
@@ -0,0 +1,185 @@
1
+ .ql-flow-chart-item {
2
+ position: relative;
3
+ width: 100%;
4
+ height: 100%;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .ql-flow-chart-control {
9
+ position: absolute;
10
+ top: 8px;
11
+ right: 50px;
12
+ display: none;
13
+ gap: 6px;
14
+ white-space: nowrap;
15
+ pointer-events: auto;
16
+ padding: 5px 5px;
17
+ background-color: rgba(255, 255, 255, 0.85);
18
+ border-radius: 8px;
19
+ box-shadow: 0 3px 15px rgba(0, 0, 0, 0.15);
20
+ }
21
+ .ql-flow-chart-control .ql-flow-chart-control-item {
22
+ align-items: center;
23
+ cursor: pointer;
24
+ display: flex;
25
+ flex-direction: column;
26
+ justify-content: center;
27
+ padding: 5px 5px;
28
+ border-radius: inherit;
29
+ transition: all 0.2s ease;
30
+ }
31
+
32
+ .ql-flow-chart-item .lf-dndpanel {
33
+ display: none;
34
+ top: 15%;
35
+ }
36
+ .ql-flow-chart-item .lf-dndpanel .ql-flow-chart-control-item {
37
+ height: 35.99px;
38
+ align-items: center;
39
+ cursor: pointer;
40
+ display: flex;
41
+ flex-direction: column;
42
+ justify-content: center;
43
+ padding: 5px 5px;
44
+ border-radius: inherit;
45
+ transition: all 0.2s ease;
46
+ }
47
+
48
+ .ql-flow-chart-control-icon {
49
+ width: 16px;
50
+ height: 16px;
51
+ margin-right: 6px;
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ }
56
+
57
+ .ql-flow-chart-control-item i {
58
+ background-size: cover;
59
+ display: inline-block;
60
+ height: 20px;
61
+ vertical-align: middle;
62
+ width: 20px;
63
+ }
64
+
65
+ .ql-flow-chart-control-item.disabled {
66
+ opacity: 0.5;
67
+ cursor: not-allowed;
68
+ pointer-events: none;
69
+ }
70
+
71
+ .ql-flow-chart-control-item:hover {
72
+ background-color: #efefef;
73
+ }
74
+
75
+ .ql-flow-chart .lf-dndpanel .lf-dnd-text {
76
+ font-size: 12px;
77
+ }
78
+
79
+ .ql-flow-chart-edge-panel {
80
+ width: 130px;
81
+ position: absolute;
82
+ left: 50px;
83
+ top: 220px;
84
+ padding: 3px;
85
+ z-index: 1000;
86
+ max-height: 400px;
87
+ background-color: rgba(255, 255, 255, 0.85);
88
+ border-radius: 8px;
89
+ box-shadow: 0 3px 15px rgba(0, 0, 0, 0.15);
90
+ }
91
+ .ql-flow-chart-edge-panel .ql-flow-chart-edge-item {
92
+ width: 30px;
93
+ height: 30px;
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ cursor: pointer;
98
+ border: 1px solid #eee;
99
+ border-radius: inherit;
100
+ padding: 2px;
101
+ transition: box-shadow 0.3s ease;
102
+ }
103
+ .ql-flow-chart-edge-panel .ql-flow-chart-edge-item .ql-flow-chart-edge-type-icon {
104
+ width: 20px;
105
+ height: 20px;
106
+ background-size: contain;
107
+ background-repeat: no-repeat;
108
+ background-position: center;
109
+ }
110
+ .ql-flow-chart-edge-panel .ql-flow-chart-edge-item:hover {
111
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
112
+ }
113
+
114
+ .ql-flow-chart-item .lf-text-input {
115
+ display: none !important;
116
+ }
117
+
118
+ .ql-flow-chart-right-up-control {
119
+ position: absolute;
120
+ top: 8px;
121
+ right: 6px;
122
+ display: inline-flex;
123
+ gap: 6px;
124
+ white-space: nowrap;
125
+ pointer-events: auto;
126
+ padding: 5px 5px;
127
+ background-color: rgba(255, 255, 255, 0.85);
128
+ border-radius: 8px;
129
+ box-shadow: 0 3px 15px rgba(0, 0, 0, 0.15);
130
+ }
131
+ .ql-flow-chart-right-up-control .ql-flow-chart-control-item {
132
+ align-items: center;
133
+ cursor: pointer;
134
+ display: flex;
135
+ flex-direction: column;
136
+ justify-content: center;
137
+ padding: 5px 5px;
138
+ border-radius: inherit;
139
+ transition: all 0.2s ease;
140
+ }
141
+
142
+ .lf-shape-dashed {
143
+ margin: 10px auto 0px auto;
144
+ width: 20px;
145
+ height: 20px;
146
+ background-color: transparent;
147
+ border: 1.5px dashed #000;
148
+ border-radius: 2px;
149
+ }
150
+
151
+ .lf-shape-rect {
152
+ margin: 10px auto 0px auto;
153
+ width: 20px;
154
+ height: 20px;
155
+ background-color: transparent;
156
+ border: 1.5px solid #000;
157
+ border-radius: 2px;
158
+ }
159
+
160
+ .lf-shape-circle {
161
+ margin: 10px auto 0px auto;
162
+ width: 20px;
163
+ height: 20px;
164
+ background-color: transparent;
165
+ border: 1.5px solid #000;
166
+ border-radius: 50%;
167
+ }
168
+
169
+ .lf-shape-ellipse {
170
+ margin: 10px auto 0px 3px;
171
+ width: 26px;
172
+ height: 20px;
173
+ background-color: transparent;
174
+ border: 1.5px solid #000;
175
+ border-radius: 50%;
176
+ }
177
+
178
+ .lf-shape-diamond {
179
+ margin: 10px auto 10px auto;
180
+ width: 20px;
181
+ height: 20px;
182
+ background-color: transparent;
183
+ border: 1.5px solid #000;
184
+ transform: rotate(45deg);
185
+ }
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
2
5
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
6
  require("../config/index.cjs.js");
4
7
  const is = require("../utils/is.cjs.js");
@@ -6,10 +9,10 @@ const editor_config = require("../config/editor.config.cjs.js");
6
9
  const langs = {};
7
10
  class I18N {
8
11
  constructor(quill, options) {
9
- this.quill = quill;
10
- this.options = {
12
+ __publicField(this, "options", {
11
13
  lang: ""
12
- };
14
+ });
15
+ this.quill = quill;
13
16
  this.options = Object.assign({}, options, this.resolveLanguageOption(options || {}));
14
17
  Promise.resolve().then(() => this.changeLanguage(this.options, true));
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.cjs.js","sources":["../../../src/modules/i18n.ts"],"sourcesContent":["import type FluentEditor from '../fluent-editor'\r\nimport { CHANGE_LANGUAGE_EVENT, defaultLanguage } from '../config'\r\nimport { isUndefined } from '../utils/is'\r\n\r\nconst langs: Record<string, Record<string, string>> = {}\r\n\r\ninterface I18NOptions {\r\n lang: string\r\n}\r\nexport class I18N {\r\n static register(inputLangs: Record<string, Record<string, string>>, isCover: boolean = true) {\r\n for (const lang in inputLangs) {\r\n const texts = inputLangs[lang]\r\n if (isCover) {\r\n langs[lang] = texts\r\n }\r\n else {\r\n if (!langs[lang]) langs[lang] = {}\r\n Object.assign(langs[lang], texts)\r\n }\r\n }\r\n }\r\n\r\n static parserText(text: string, lang: string): string {\r\n const i18nPattern = /^_i18n\"([^\"]*)\"/\r\n const match = text.match(i18nPattern)\r\n let key = text\r\n if (match) {\r\n key = match[1]\r\n }\r\n return langs[lang]?.[key] || key\r\n }\r\n\r\n options: I18NOptions = {\r\n lang: '',\r\n }\r\n\r\n constructor(public quill: FluentEditor, options: Partial<I18NOptions>) {\r\n this.options = Object.assign({}, options, this.resolveLanguageOption(options || {}))\r\n // wait until all module registed\r\n Promise.resolve().then(() => this.changeLanguage(this.options, true))\r\n }\r\n\r\n resolveLanguageOption(options: Partial<I18NOptions>): I18NOptions {\r\n if (isUndefined(options.lang)) {\r\n options.lang = defaultLanguage\r\n }\r\n if (!(options.lang in langs)) {\r\n console.warn(`The language ${options.lang} is not supported. Use the default language: ${defaultLanguage}`)\r\n options.lang = defaultLanguage\r\n }\r\n return {\r\n lang: options.lang,\r\n }\r\n }\r\n\r\n changeLanguage(options: Partial<I18NOptions>, force: boolean = false) {\r\n const currentLang = this.options.lang\r\n const langOps = this.resolveLanguageOption(options)\r\n if (langOps.lang === currentLang && !force) return\r\n this.options.lang = langOps.lang\r\n this.quill.emitter.emit(CHANGE_LANGUAGE_EVENT, this.options.lang, langs[langOps.lang])\r\n }\r\n}\r\n\r\nexport { I18NOptions }\r\n\r\nexport default I18N\r\n"],"names":["isUndefined","defaultLanguage","CHANGE_LANGUAGE_EVENT"],"mappings":";;;;;AAIA,MAAM,QAAgD,CAAC;AAKhD,MAAM,KAAK;AAAA,EA4BhB,YAAmB,OAAqB,SAA+B;AAApD,SAAA,QAAA;AAJI,SAAA,UAAA;AAAA,MACrB,MAAM;AAAA,IACR;AAGO,SAAA,UAAU,OAAO,OAAO,CAAC,GAAG,SAAS,KAAK,sBAAsB,WAAW,CAAA,CAAE,CAAC;AAE3E,YAAA,UAAU,KAAK,MAAM,KAAK,eAAe,KAAK,SAAS,IAAI,CAAC;AAAA,EAAA;AAAA,EA9BtE,OAAO,SAAS,YAAoD,UAAmB,MAAM;AAC3F,eAAW,QAAQ,YAAY;AACvB,YAAA,QAAQ,WAAW,IAAI;AAC7B,UAAI,SAAS;AACX,cAAM,IAAI,IAAI;AAAA,MAAA,OAEX;AACH,YAAI,CAAC,MAAM,IAAI,EAAS,OAAA,IAAI,IAAI,CAAC;AACjC,eAAO,OAAO,MAAM,IAAI,GAAG,KAAK;AAAA,MAAA;AAAA,IAClC;AAAA,EACF;AAAA,EAGF,OAAO,WAAW,MAAc,MAAsB;;AACpD,UAAM,cAAc;AACd,UAAA,QAAQ,KAAK,MAAM,WAAW;AACpC,QAAI,MAAM;AACV,QAAI,OAAO;AACT,YAAM,MAAM,CAAC;AAAA,IAAA;AAEf,aAAO,WAAM,IAAI,MAAV,mBAAc,SAAQ;AAAA,EAAA;AAAA,EAa/B,sBAAsB,SAA4C;AAC5D,QAAAA,GAAA,YAAY,QAAQ,IAAI,GAAG;AAC7B,cAAQ,OAAOC,cAAA;AAAA,IAAA;AAEb,QAAA,EAAE,QAAQ,QAAQ,QAAQ;AAC5B,cAAQ,KAAK,gBAAgB,QAAQ,IAAI,gDAAgDA,cAAe,eAAA,EAAE;AAC1G,cAAQ,OAAOA,cAAA;AAAA,IAAA;AAEV,WAAA;AAAA,MACL,MAAM,QAAQ;AAAA,IAChB;AAAA,EAAA;AAAA,EAGF,eAAe,SAA+B,QAAiB,OAAO;AAC9D,UAAA,cAAc,KAAK,QAAQ;AAC3B,UAAA,UAAU,KAAK,sBAAsB,OAAO;AAClD,QAAI,QAAQ,SAAS,eAAe,CAAC,MAAO;AACvC,SAAA,QAAQ,OAAO,QAAQ;AACvB,SAAA,MAAM,QAAQ,KAAKC,cAAAA,uBAAuB,KAAK,QAAQ,MAAM,MAAM,QAAQ,IAAI,CAAC;AAAA,EAAA;AAEzF;;;"}
1
+ {"version":3,"file":"i18n.cjs.js","sources":["../../../src/modules/i18n.ts"],"sourcesContent":["import type FluentEditor from '../fluent-editor'\r\nimport { CHANGE_LANGUAGE_EVENT, defaultLanguage } from '../config'\r\nimport { isUndefined } from '../utils/is'\r\n\r\nconst langs: Record<string, Record<string, string>> = {}\r\n\r\nexport interface I18NOptions {\r\n lang: string\r\n}\r\nexport class I18N {\r\n static register(inputLangs: Record<string, Record<string, string>>, isCover: boolean = true) {\r\n for (const lang in inputLangs) {\r\n const texts = inputLangs[lang]\r\n if (isCover) {\r\n langs[lang] = texts\r\n }\r\n else {\r\n if (!langs[lang]) langs[lang] = {}\r\n Object.assign(langs[lang], texts)\r\n }\r\n }\r\n }\r\n\r\n static parserText(text: string, lang: string): string {\r\n const i18nPattern = /^_i18n\"([^\"]*)\"/\r\n const match = text.match(i18nPattern)\r\n let key = text\r\n if (match) {\r\n key = match[1]\r\n }\r\n return langs[lang]?.[key] || key\r\n }\r\n\r\n options: I18NOptions = {\r\n lang: '',\r\n }\r\n\r\n constructor(public quill: FluentEditor, options: Partial<I18NOptions>) {\r\n this.options = Object.assign({}, options, this.resolveLanguageOption(options || {}))\r\n // wait until all module registed\r\n Promise.resolve().then(() => this.changeLanguage(this.options, true))\r\n }\r\n\r\n resolveLanguageOption(options: Partial<I18NOptions>): I18NOptions {\r\n if (isUndefined(options.lang)) {\r\n options.lang = defaultLanguage\r\n }\r\n if (!(options.lang in langs)) {\r\n console.warn(`The language ${options.lang} is not supported. Use the default language: ${defaultLanguage}`)\r\n options.lang = defaultLanguage\r\n }\r\n return {\r\n lang: options.lang,\r\n }\r\n }\r\n\r\n changeLanguage(options: Partial<I18NOptions>, force: boolean = false) {\r\n const currentLang = this.options.lang\r\n const langOps = this.resolveLanguageOption(options)\r\n if (langOps.lang === currentLang && !force) return\r\n this.options.lang = langOps.lang\r\n this.quill.emitter.emit(CHANGE_LANGUAGE_EVENT, this.options.lang, langs[langOps.lang])\r\n }\r\n}\r\n\r\nexport default I18N\r\n"],"names":["isUndefined","defaultLanguage","CHANGE_LANGUAGE_EVENT"],"mappings":";;;;;;;;AAIA,MAAM,QAAgD,CAAA;AAK/C,MAAM,KAAK;AAAA,EA4BhB,YAAmB,OAAqB,SAA+B;AAJvE,mCAAuB;AAAA,MACrB,MAAM;AAAA,IAAA;AAGW,SAAA,QAAA;AACjB,SAAK,UAAU,OAAO,OAAO,CAAA,GAAI,SAAS,KAAK,sBAAsB,WAAW,CAAA,CAAE,CAAC;AAEnF,YAAQ,UAAU,KAAK,MAAM,KAAK,eAAe,KAAK,SAAS,IAAI,CAAC;AAAA,EACtE;AAAA,EA/BA,OAAO,SAAS,YAAoD,UAAmB,MAAM;AAC3F,eAAW,QAAQ,YAAY;AAC7B,YAAM,QAAQ,WAAW,IAAI;AAC7B,UAAI,SAAS;AACX,cAAM,IAAI,IAAI;AAAA,MAChB,OACK;AACH,YAAI,CAAC,MAAM,IAAI,EAAG,OAAM,IAAI,IAAI,CAAA;AAChC,eAAO,OAAO,MAAM,IAAI,GAAG,KAAK;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,WAAW,MAAc,MAAsB;;AACpD,UAAM,cAAc;AACpB,UAAM,QAAQ,KAAK,MAAM,WAAW;AACpC,QAAI,MAAM;AACV,QAAI,OAAO;AACT,YAAM,MAAM,CAAC;AAAA,IACf;AACA,aAAO,WAAM,IAAI,MAAV,mBAAc,SAAQ;AAAA,EAC/B;AAAA,EAYA,sBAAsB,SAA4C;AAChE,QAAIA,GAAAA,YAAY,QAAQ,IAAI,GAAG;AAC7B,cAAQ,OAAOC,cAAAA;AAAAA,IACjB;AACA,QAAI,EAAE,QAAQ,QAAQ,QAAQ;AAC5B,cAAQ,KAAK,gBAAgB,QAAQ,IAAI,gDAAgDA,cAAAA,eAAe,EAAE;AAC1G,cAAQ,OAAOA,cAAAA;AAAAA,IACjB;AACA,WAAO;AAAA,MACL,MAAM,QAAQ;AAAA,IAAA;AAAA,EAElB;AAAA,EAEA,eAAe,SAA+B,QAAiB,OAAO;AACpE,UAAM,cAAc,KAAK,QAAQ;AACjC,UAAM,UAAU,KAAK,sBAAsB,OAAO;AAClD,QAAI,QAAQ,SAAS,eAAe,CAAC,MAAO;AAC5C,SAAK,QAAQ,OAAO,QAAQ;AAC5B,SAAK,MAAM,QAAQ,KAAKC,cAAAA,uBAAuB,KAAK,QAAQ,MAAM,MAAM,QAAQ,IAAI,CAAC;AAAA,EACvF;AACF;;;"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("./collaborative-editing/index.cjs.js");
4
+ require("./counter.cjs.js");
5
+ const customClipboard = require("./custom-clipboard.cjs.js");
6
+ require("./custom-image/index.cjs.js");
7
+ const customUploader = require("./custom-uploader.cjs.js");
8
+ const divider = require("./divider.cjs.js");
9
+ const emoji = require("./emoji.cjs.js");
10
+ require("./file/index.cjs.js");
11
+ const index = require("./flow-chart/index.cjs.js");
12
+ const i18n = require("./i18n.cjs.js");
13
+ require("./link/index.cjs.js");
14
+ require("./mathlive/index.cjs.js");
15
+ require("./mention/index.cjs.js");
16
+ const index$1 = require("./mind-map/index.cjs.js");
17
+ const index$2 = require("./shortcut-key/index.cjs.js");
18
+ require("./syntax.cjs.js");
19
+ const index$3 = require("./table-up/index.cjs.js");
20
+ require("./toolbar/index.cjs.js");
21
+ exports.CustomClipboard = customClipboard.CustomClipboard;
22
+ exports.FileUploader = customUploader.FileUploader;
23
+ exports.DividerBlot = divider.DividerBlot;
24
+ exports.EmojiModule = emoji.EmojiModule;
25
+ exports.FlowChartModule = index.FlowChartModule;
26
+ exports.I18N = i18n.I18N;
27
+ exports.MindMapModule = index$1.MindMapModule;
28
+ exports.ShortCutKey = index$2.ShortCutKey;
29
+ exports.shortKey = index$2.shortKey;
30
+ exports.generateTableUp = index$3.generateTableUp;
31
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
- var _a;
3
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
6
  const Quill = require("quill");
5
7
  const editor_utils = require("../../../config/editor.utils.cjs.js");
6
8
  const Inline = Quill.import("blots/inline");
7
- let Link$1 = (_a = class extends Inline {
9
+ const _LinkBlot = class _LinkBlot extends Inline {
8
10
  static create(value) {
9
11
  const node = super.create(value);
10
12
  let href = value;
@@ -26,14 +28,16 @@ let Link$1 = (_a = class extends Inline {
26
28
  if (name !== this.statics.blotName || [false, null].includes(value)) {
27
29
  super.format(name, value);
28
30
  } else {
29
- this.domNode.setAttribute("href", _a.sanitize(value));
31
+ this.domNode.setAttribute("href", _LinkBlot.sanitize(value));
30
32
  }
31
33
  }
32
- }, _a.autoProtocol = "", _a);
33
- Link$1.blotName = "link";
34
- Link$1.tagName = "A";
35
- Link$1.SANITIZED_URL = "about:blank";
36
- Link$1.PROTOCOL_WHITELIST = ["http", "https", "mailto", "tel"];
37
- Link$1.className = "ql-normal-link";
38
- exports.default = Link$1;
34
+ };
35
+ __publicField(_LinkBlot, "blotName", "link");
36
+ __publicField(_LinkBlot, "tagName", "A");
37
+ __publicField(_LinkBlot, "SANITIZED_URL", "about:blank");
38
+ __publicField(_LinkBlot, "PROTOCOL_WHITELIST", ["http", "https", "mailto", "tel"]);
39
+ __publicField(_LinkBlot, "className", "ql-normal-link");
40
+ __publicField(_LinkBlot, "autoProtocol", "");
41
+ let LinkBlot = _LinkBlot;
42
+ exports.LinkBlot = LinkBlot;
39
43
  //# sourceMappingURL=link.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.cjs.js","sources":["../../../../../src/modules/link/formats/link.ts"],"sourcesContent":["import type TypeInline from 'quill/blots/inline'\r\nimport Quill from 'quill'\r\nimport { hadProtocol, sanitize } from '../../../config/editor.utils'\r\n\r\nconst Inline = Quill.import('blots/inline') as typeof TypeInline\r\n\r\n// @dynamic\r\nexport default class Link extends Inline {\r\n static blotName: string\r\n static tagName: string\r\n static SANITIZED_URL: string\r\n static PROTOCOL_WHITELIST: string[]\r\n static className: string\r\n static autoProtocol: string = ''\r\n static create(value) {\r\n const node = super.create(value)\r\n let href = value\r\n if (!hadProtocol(href) && this.autoProtocol) {\r\n href = `${this.autoProtocol}://${value}`\r\n }\r\n href = this.sanitize(href)\r\n node.setAttribute('href', href)\r\n node.setAttribute('target', '_blank')\r\n return node\r\n }\r\n\r\n static formats(domNode) {\r\n return domNode.getAttribute('href')\r\n }\r\n\r\n static sanitize(url) {\r\n return sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL\r\n }\r\n\r\n format(name, value) {\r\n if (name !== this.statics.blotName || [false, null].includes(value)) {\r\n super.format(name, value)\r\n }\r\n else {\r\n this.domNode.setAttribute('href', Link.sanitize(value))\r\n }\r\n }\r\n}\r\nLink.blotName = 'link'\r\nLink.tagName = 'A'\r\nLink.SANITIZED_URL = 'about:blank'\r\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel']\r\nLink.className = 'ql-normal-link'\r\n"],"names":["hadProtocol","sanitize","Link"],"mappings":";;;;;AAIA,MAAM,SAAS,MAAM,OAAO,cAAc;cAG1C,mBAAkC,OAAO;AAAA,EAOvC,OAAO,OAAO,OAAO;AACb,UAAA,OAAO,MAAM,OAAO,KAAK;AAC/B,QAAI,OAAO;AACX,QAAI,CAACA,aAAAA,YAAY,IAAI,KAAK,KAAK,cAAc;AAC3C,aAAO,GAAG,KAAK,YAAY,MAAM,KAAK;AAAA,IAAA;AAEjC,WAAA,KAAK,SAAS,IAAI;AACpB,SAAA,aAAa,QAAQ,IAAI;AACzB,SAAA,aAAa,UAAU,QAAQ;AAC7B,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,QAAQ,SAAS;AACf,WAAA,QAAQ,aAAa,MAAM;AAAA,EAAA;AAAA,EAGpC,OAAO,SAAS,KAAK;AACnB,WAAOC,aAAAA,SAAS,KAAK,KAAK,kBAAkB,IAAI,MAAM,KAAK;AAAA,EAAA;AAAA,EAG7D,OAAO,MAAM,OAAO;AACd,QAAA,SAAS,KAAK,QAAQ,YAAY,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,GAAG;AAC7D,YAAA,OAAO,MAAM,KAAK;AAAA,IAAA,OAErB;AACH,WAAK,QAAQ,aAAa,QAAQ,GAAK,SAAS,KAAK,CAAC;AAAA,IAAA;AAAA,EACxD;AAEJ,GA7BE,GAAO,eAAuB,IANhC;AAoCAC,OAAK,WAAW;AAChBA,OAAK,UAAU;AACfA,OAAK,gBAAgB;AACrBA,OAAK,qBAAqB,CAAC,QAAQ,SAAS,UAAU,KAAK;AAC3DA,OAAK,YAAY;;"}
1
+ {"version":3,"file":"link.cjs.js","sources":["../../../../../src/modules/link/formats/link.ts"],"sourcesContent":["import type TypeInline from 'quill/blots/inline'\nimport Quill from 'quill'\nimport { hadProtocol, sanitize } from '../../../config/editor.utils'\n\nconst Inline = Quill.import('blots/inline') as typeof TypeInline\n\nexport class LinkBlot extends Inline {\n static blotName = 'link'\n static tagName = 'A'\n static SANITIZED_URL = 'about:blank'\n static PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel']\n static className = 'ql-normal-link'\n\n static autoProtocol: string = ''\n static create(value: string) {\n const node = super.create(value)\n let href = value\n if (!hadProtocol(href) && this.autoProtocol) {\n href = `${this.autoProtocol}://${value}`\n }\n href = this.sanitize(href)\n node.setAttribute('href', href)\n node.setAttribute('target', '_blank')\n return node\n }\n\n static formats(domNode: HTMLElement): string | null {\n return domNode.getAttribute('href')\n }\n\n static sanitize(url: string) {\n return sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL\n }\n\n format(name: string, value: any) {\n if (name !== this.statics.blotName || [false, null].includes(value)) {\n super.format(name, value)\n }\n else {\n this.domNode.setAttribute('href', LinkBlot.sanitize(value))\n }\n }\n}\n"],"names":["hadProtocol","sanitize"],"mappings":";;;;;;;AAIA,MAAM,SAAS,MAAM,OAAO,cAAc;AAEnC,MAAM,YAAN,MAAM,kBAAiB,OAAO;AAAA,EAQnC,OAAO,OAAO,OAAe;AAC3B,UAAM,OAAO,MAAM,OAAO,KAAK;AAC/B,QAAI,OAAO;AACX,QAAI,CAACA,aAAAA,YAAY,IAAI,KAAK,KAAK,cAAc;AAC3C,aAAO,GAAG,KAAK,YAAY,MAAM,KAAK;AAAA,IACxC;AACA,WAAO,KAAK,SAAS,IAAI;AACzB,SAAK,aAAa,QAAQ,IAAI;AAC9B,SAAK,aAAa,UAAU,QAAQ;AACpC,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,QAAQ,SAAqC;AAClD,WAAO,QAAQ,aAAa,MAAM;AAAA,EACpC;AAAA,EAEA,OAAO,SAAS,KAAa;AAC3B,WAAOC,aAAAA,SAAS,KAAK,KAAK,kBAAkB,IAAI,MAAM,KAAK;AAAA,EAC7D;AAAA,EAEA,OAAO,MAAc,OAAY;AAC/B,QAAI,SAAS,KAAK,QAAQ,YAAY,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,GAAG;AACnE,YAAM,OAAO,MAAM,KAAK;AAAA,IAC1B,OACK;AACH,WAAK,QAAQ,aAAa,QAAQ,UAAS,SAAS,KAAK,CAAC;AAAA,IAC5D;AAAA,EACF;AACF;AAnCE,cADW,WACJ,YAAW;AAClB,cAFW,WAEJ,WAAU;AACjB,cAHW,WAGJ,iBAAgB;AACvB,cAJW,WAIJ,sBAAqB,CAAC,QAAQ,SAAS,UAAU,KAAK;AAC7D,cALW,WAKJ,aAAY;AAEnB,cAPW,WAOJ,gBAAuB;AAPzB,IAAM,WAAN;;"}
@@ -1,15 +1,7 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const Quill = require("quill");
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
3
  const link = require("./formats/link.cjs.js");
5
- const Module = Quill.import("core/module");
6
- class Link extends Module {
7
- static register() {
8
- Quill.register("blots/link", link.default, true);
9
- }
10
- constructor(quill, options) {
11
- super(quill, options);
12
- }
13
- }
14
- exports.default = Link;
4
+ const tooltip = require("./modules/tooltip.cjs.js");
5
+ exports.LinkBlot = link.LinkBlot;
6
+ exports.LinkTooltip = tooltip.LinkTooltip;
15
7
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../../src/modules/link/index.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport LinkBlot from './formats/link'\r\n\r\nconst Module = Quill.import('core/module')\r\n\r\n// @dynamic\r\nclass Link extends Module {\r\n static register() {\r\n Quill.register('blots/link', LinkBlot, true)\r\n }\r\n\r\n constructor(quill, options) {\r\n super(quill, options)\r\n }\r\n}\r\n\r\nexport default Link\r\n"],"names":["LinkBlot"],"mappings":";;;;AAGA,MAAM,SAAS,MAAM,OAAO,aAAa;AAGzC,MAAM,aAAa,OAAO;AAAA,EACxB,OAAO,WAAW;AACV,UAAA,SAAS,cAAcA,KAAAA,SAAU,IAAI;AAAA,EAAA;AAAA,EAG7C,YAAY,OAAO,SAAS;AAC1B,UAAM,OAAO,OAAO;AAAA,EAAA;AAExB;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
6
  const Quill = require("quill");
4
7
  const Emitter = require("quill/core/emitter");
5
8
  const base = require("quill/themes/base");
@@ -9,17 +12,22 @@ const enUs = require("../../../config/i18n/en-us.cjs.js");
9
12
  const debounce = require("../../../utils/debounce.cjs.js");
10
13
  const link = require("../formats/link.cjs.js");
11
14
  const editor_config = require("../../../config/editor.config.cjs.js");
12
- const _Tooltip = class _Tooltip extends base.BaseTooltip {
15
+ class LinkTooltip extends base.BaseTooltip {
13
16
  constructor(quill, bounds) {
14
17
  super(quill, bounds);
15
- this.options = {
18
+ __publicField(this, "isInputFocus");
19
+ __publicField(this, "isHover");
20
+ __publicField(this, "debouncedHideToolTip");
21
+ __publicField(this, "debouncedShowToolTip");
22
+ __publicField(this, "options", {
16
23
  autoProtocol: "https"
17
- };
24
+ });
25
+ this.quill = quill;
18
26
  this.setTemplate();
19
27
  this.isInputFocus = false;
20
28
  this.isHover = false;
21
29
  this.resolveOptions();
22
- link.default.autoProtocol = this.options.autoProtocol;
30
+ link.LinkBlot.autoProtocol = this.options.autoProtocol;
23
31
  this.debouncedHideToolTip = debounce.debounce(this.hideToolTip, 300);
24
32
  this.debouncedShowToolTip = debounce.debounce(this.showToolTip, 300);
25
33
  this.quill.emitter.on(editor_config.CHANGE_LANGUAGE_EVENT, () => {
@@ -74,14 +82,14 @@ const _Tooltip = class _Tooltip extends base.BaseTooltip {
74
82
  }
75
83
  this.isHover = true;
76
84
  const linkNode = event.target;
77
- const preview = link.default.formats(linkNode);
78
- if (preview.startsWith("#")) {
85
+ const preview = link.LinkBlot.formats(linkNode);
86
+ if (!preview || preview.startsWith("#")) {
79
87
  return;
80
88
  }
81
89
  const linkBlot = Quill.find(linkNode);
82
90
  const index = this.quill.getIndex(linkBlot);
83
91
  const [link$1, offset] = this.quill.scroll.descendant(
84
- link.default,
92
+ link.LinkBlot,
85
93
  index
86
94
  );
87
95
  const length = link$1 && link$1.length();
@@ -103,7 +111,8 @@ const _Tooltip = class _Tooltip extends base.BaseTooltip {
103
111
  this.quill.root.addEventListener(
104
112
  "mouseover",
105
113
  (event) => {
106
- if ((event.target.tagName.toUpperCase() !== "A" || !event.target.classList.contains(link.default.className)) && !event.target.closest(`a.${link.default.className}`)) {
114
+ const target = event.target;
115
+ if ((target.tagName.toUpperCase() !== "A" || !target.classList.contains(link.LinkBlot.className)) && !target.closest(`a.${link.LinkBlot.className}`)) {
107
116
  return;
108
117
  }
109
118
  this.handleMouseEnter(event);
@@ -113,7 +122,8 @@ const _Tooltip = class _Tooltip extends base.BaseTooltip {
113
122
  this.quill.root.addEventListener(
114
123
  "mouseout",
115
124
  (event) => {
116
- if (event.target.tagName.toUpperCase() !== "A" && !event.target.closest(`a.${link.default.className}`)) {
125
+ const target = event.target;
126
+ if (target.tagName.toUpperCase() !== "A" && !target.closest(`a.${link.LinkBlot.className}`)) {
117
127
  return;
118
128
  }
119
129
  this.handleMouseLeave();
@@ -129,7 +139,7 @@ const _Tooltip = class _Tooltip extends base.BaseTooltip {
129
139
  );
130
140
  this.root.addEventListener("mouseleave", this.handleMouseLeave.bind(this), false);
131
141
  this.root.querySelector("a.ql-preview").addEventListener("click", (event) => {
132
- const link$1 = link.default.sanitize(this.textbox.value);
142
+ const link$1 = link.LinkBlot.sanitize(this.textbox.value);
133
143
  window.open(link$1, "_blank");
134
144
  event.preventDefault();
135
145
  });
@@ -146,12 +156,12 @@ const _Tooltip = class _Tooltip extends base.BaseTooltip {
146
156
  if (editor_utils.isNullOrUndefined(range)) return;
147
157
  if (source === Emitter.sources.USER) {
148
158
  const [link$1, offset] = this.quill.scroll.descendant(
149
- link.default,
159
+ link.LinkBlot,
150
160
  range.index
151
161
  );
152
162
  if (!editor_utils.isNullOrUndefined(link$1)) {
153
163
  this.linkRange = new Quill.Range(range.index - offset, link$1.length());
154
- const preview = link.default.formats(link$1.domNode);
164
+ const preview = link.LinkBlot.formats(link$1.domNode);
155
165
  if (!preview.startsWith("#")) {
156
166
  this.edit("link", preview, this.linkRange);
157
167
  }
@@ -170,7 +180,7 @@ const _Tooltip = class _Tooltip extends base.BaseTooltip {
170
180
  const index = selection && selection.index;
171
181
  setTimeout(() => {
172
182
  const link$1 = this.quill.scroll.descendant(
173
- link.default,
183
+ link.LinkBlot,
174
184
  index
175
185
  )[0];
176
186
  if (!link$1) {
@@ -295,13 +305,12 @@ const _Tooltip = class _Tooltip extends base.BaseTooltip {
295
305
  }
296
306
  return result;
297
307
  }
298
- };
299
- _Tooltip.TEMPLATE = [
308
+ }
309
+ __publicField(LinkTooltip, "TEMPLATE", [
300
310
  `<input type="text" data-formula="e=mc^2" data-link="${enUs.EN_US.linkplaceholder}" data-video="Embed URL" style="width: 225px;">`,
301
311
  '<span class="ql-split"></span>',
302
312
  '<a class="ql-preview"><i class="icon-share"></i></a>',
303
313
  '<a class="ql-remove"><i class="icon-delete"></i></a>'
304
- ].join("");
305
- let Tooltip = _Tooltip;
306
- exports.default = Tooltip;
314
+ ].join(""));
315
+ exports.LinkTooltip = LinkTooltip;
307
316
  //# sourceMappingURL=tooltip.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.cjs.js","sources":["../../../../../src/modules/link/modules/tooltip.ts"],"sourcesContent":["import Quill, { Range } from 'quill'\r\nimport Emitter from 'quill/core/emitter'\r\nimport { BaseTooltip } from 'quill/themes/base'\r\nimport { CHANGE_LANGUAGE_EVENT } from '../../../config'\r\nimport { hadProtocol, isNullOrUndefined } from '../../../config/editor.utils'\r\nimport { EN_US } from '../../../config/i18n/en-us'\r\nimport { debounce } from '../../../utils/debounce'\r\nimport LinkBlot from '../formats/link'\r\n\r\n// @dynamic\r\nexport default class Tooltip extends BaseTooltip {\r\n static TEMPLATE: string = [\r\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${EN_US.linkplaceholder}\" data-video=\"Embed URL\" style=\"width: 225px;\">`,\r\n '<span class=\"ql-split\"></span>',\r\n '<a class=\"ql-preview\"><i class=\"icon-share\"></i></a>',\r\n '<a class=\"ql-remove\"><i class=\"icon-delete\"></i></a>',\r\n ].join('')\r\n\r\n isInputFocus: boolean\r\n isHover: boolean\r\n debouncedHideToolTip: any\r\n debouncedShowToolTip: any\r\n hide: any\r\n linkRange: any\r\n quill: any\r\n root: any\r\n restoreFocus: any\r\n textbox: any\r\n boundsContainer: any\r\n options: { autoProtocol: string } = {\r\n autoProtocol: 'https',\r\n }\r\n\r\n constructor(quill, bounds) {\r\n super(quill, bounds)\r\n this.setTemplate()\r\n this.isInputFocus = false\r\n this.isHover = false\r\n\r\n this.resolveOptions()\r\n LinkBlot.autoProtocol = this.options.autoProtocol\r\n this.debouncedHideToolTip = debounce(this.hideToolTip, 300)\r\n this.debouncedShowToolTip = debounce(this.showToolTip, 300)\r\n this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, () => {\r\n this.setTemplate()\r\n })\r\n }\r\n\r\n setTemplate() {\r\n this.root.innerHTML = [\r\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${this.quill.getLangText('linkplaceholder')}\" data-video=\"Embed URL\" style=\"width: 225px;\">`,\r\n '<span class=\"ql-split\"></span>',\r\n '<a class=\"ql-preview\"><i class=\"icon-share\"></i></a>',\r\n '<a class=\"ql-remove\"><i class=\"icon-delete\"></i></a>',\r\n ].join('')\r\n this.textbox = this.root.querySelector('input[type=\"text\"]')\r\n this.listen()\r\n }\r\n\r\n resolveOptions() {\r\n this.options = {\r\n autoProtocol: 'https',\r\n }\r\n const value = this.quill.options.autoProtocol\r\n if (value && typeof value === 'string') {\r\n this.options.autoProtocol = value\r\n }\r\n else if (typeof value === 'boolean' && !value) {\r\n this.options.autoProtocol = ''\r\n }\r\n }\r\n\r\n shouldHide() {\r\n return !this.isHover && !this.isInputFocus\r\n }\r\n\r\n hideToolTip() {\r\n if (this.shouldHide()) {\r\n this.hide()\r\n }\r\n }\r\n\r\n showToolTip(name, value, range) {\r\n if (!this.shouldHide()) {\r\n this.edit(name, value, range)\r\n }\r\n }\r\n\r\n handleMouseLeave() {\r\n this.isHover = false\r\n this.debouncedHideToolTip()\r\n }\r\n\r\n handleMouseEnter(event) {\r\n const isTooltipShow = !this.root.classList.contains('ql-hidden')\r\n if (isTooltipShow) {\r\n return\r\n }\r\n\r\n if (this.isInputFocus) {\r\n this.save()\r\n }\r\n this.isHover = true\r\n const linkNode = event.target\r\n const preview = LinkBlot.formats(linkNode)\r\n if (preview.startsWith('#')) {\r\n return\r\n }\r\n const linkBlot = Quill.find(linkNode)\r\n const index = this.quill.getIndex(linkBlot)\r\n const [link, offset] = this.quill.scroll.descendant(\r\n LinkBlot,\r\n index,\r\n )\r\n const length = link && link.length()\r\n this.linkRange = new Range(index - offset, length)\r\n this.debouncedShowToolTip('link', preview, this.linkRange)\r\n }\r\n\r\n listen() {\r\n super.listen()\r\n this.root.querySelector('a.ql-remove').addEventListener('click', (event) => {\r\n if (!isNullOrUndefined(this.linkRange)) {\r\n const range = this.linkRange\r\n this.restoreFocus()\r\n this.quill.formatText(range, 'link', false, Emitter.sources.API)\r\n delete this.linkRange\r\n }\r\n event.preventDefault()\r\n this.hide()\r\n })\r\n\r\n this.quill.root.addEventListener(\r\n 'mouseover',\r\n (event) => {\r\n if (\r\n (event.target.tagName.toUpperCase() !== 'A'\r\n || !event.target.classList.contains(LinkBlot.className))\r\n && !event.target.closest(`a.${LinkBlot.className}`)\r\n ) {\r\n return\r\n }\r\n this.handleMouseEnter(event)\r\n },\r\n false,\r\n )\r\n\r\n this.quill.root.addEventListener(\r\n 'mouseout',\r\n (event) => {\r\n if (event.target.tagName.toUpperCase() !== 'A' && !event.target.closest(`a.${LinkBlot.className}`)) {\r\n return\r\n }\r\n this.handleMouseLeave()\r\n },\r\n false,\r\n )\r\n\r\n this.root.addEventListener(\r\n 'mouseenter',\r\n () => {\r\n this.isHover = true\r\n },\r\n false,\r\n )\r\n\r\n this.root.addEventListener('mouseleave', this.handleMouseLeave.bind(this), false)\r\n\r\n this.root.querySelector('a.ql-preview').addEventListener('click', (event) => {\r\n const link = LinkBlot.sanitize(this.textbox.value)\r\n window.open(link, '_blank')\r\n event.preventDefault()\r\n })\r\n this.root.querySelector('input[type=\"text\"]').addEventListener('focus', () => {\r\n this.isInputFocus = true\r\n })\r\n this.root.querySelector('input[type=\"text\"]').addEventListener('blur', () => {\r\n this.isInputFocus = false\r\n this.save()\r\n })\r\n this.quill.on(\r\n Emitter.events.SELECTION_CHANGE,\r\n (range, _oldRange, source) => {\r\n if (isNullOrUndefined(range)) return\r\n if (source === Emitter.sources.USER) {\r\n const [link, offset] = this.quill.scroll.descendant(\r\n LinkBlot,\r\n range.index,\r\n )\r\n\r\n if (!isNullOrUndefined(link)) {\r\n this.linkRange = new Range(range.index - offset, link.length())\r\n const preview = LinkBlot.formats(link.domNode)\r\n if (!preview.startsWith('#')) {\r\n this.edit('link', preview, this.linkRange)\r\n }\r\n return\r\n }\r\n }\r\n if (this.shouldHide()) {\r\n this.hide()\r\n }\r\n },\r\n )\r\n this.quill.on(\r\n Emitter.events.TEXT_CHANGE,\r\n () => {\r\n const selection = this.quill.getSelection()\r\n const index = selection && selection.index\r\n setTimeout(() => {\r\n const link = this.quill.scroll.descendant(\r\n LinkBlot,\r\n index,\r\n )[0]\r\n if (!link) {\r\n this.handleMouseLeave()\r\n }\r\n })\r\n },\r\n )\r\n }\r\n\r\n save() {\r\n let value = this.textbox.value\r\n if (!value) return\r\n this.textbox.value = ''\r\n switch (this.root.getAttribute('data-mode')) {\r\n case 'link': {\r\n const { scrollTop } = this.quill.root\r\n if (this.options.autoProtocol) {\r\n value = this.addHttpProtocol(value)\r\n }\r\n\r\n if (this.linkRange) {\r\n this.quill.formatText(\r\n this.linkRange,\r\n 'link',\r\n value,\r\n Emitter.sources.USER,\r\n )\r\n this.restoreFocus()\r\n }\r\n else {\r\n this.restoreFocus()\r\n this.quill.format('link', value, Emitter.sources.USER)\r\n }\r\n this.quill.root.scrollTop = scrollTop\r\n break\r\n }\r\n case 'formula': {\r\n const range = this.quill.getSelection(true)\r\n if (!isNullOrUndefined(range)) {\r\n const index = range.index + range.length\r\n this.quill.insertEmbed(\r\n index,\r\n this.root.getAttribute('data-mode'),\r\n value,\r\n Emitter.sources.USER,\r\n )\r\n if (this.root.getAttribute('data-mode') === 'formula') {\r\n this.quill.insertText(index + 1, ' ', Emitter.sources.USER)\r\n }\r\n this.quill.setSelection(index + 2, Emitter.sources.USER)\r\n }\r\n break\r\n }\r\n case 'video': {\r\n const range = this.quill.getSelection(true)\r\n this.quill.insertText(range.index, '\\n', Emitter.sources.USER)\r\n this.quill.insertEmbed(range.index + 1, 'video', { src: value }, Emitter.sources.USER)\r\n this.quill.insertText(range.index + 2, '\\n', Emitter.sources.USER)\r\n this.quill.setSelection(range.index + 3, Emitter.sources.SILENT)\r\n this.textbox.value = ''\r\n this.hide()\r\n break\r\n }\r\n default:\r\n }\r\n }\r\n\r\n position(reference) {\r\n const left = reference.left\r\n const top = reference.bottom + this.quill.root.scrollTop\r\n this.root.style.left = `${left}px`\r\n this.root.style.top = `${top}px`\r\n this.root.classList.remove('ql-flip')\r\n const containerBounds = this.boundsContainer.getBoundingClientRect()\r\n const rootBounds = this.root.getBoundingClientRect()\r\n let shift = 0\r\n if (rootBounds.right > containerBounds.right) {\r\n shift = containerBounds.right - rootBounds.right\r\n this.root.style.left = `${left + shift}px`\r\n }\r\n if (rootBounds.left < containerBounds.left) {\r\n shift = containerBounds.left - rootBounds.left\r\n this.root.style.left = `${left + shift}px`\r\n }\r\n if (rootBounds.bottom > containerBounds.bottom) {\r\n const height = rootBounds.bottom - rootBounds.top\r\n const verticalShift = reference.bottom - reference.top + height\r\n const fixedTop = top - verticalShift\r\n this.root.style.top = `${fixedTop < 0 ? this.quill.root.scrollTop + reference.top : fixedTop}px`\r\n this.root.classList.add('ql-flip')\r\n }\r\n return shift\r\n }\r\n\r\n // @ts-expect-error\r\n edit(mode: string = 'link', preview = null, range) {\r\n this.linkRange = range || this.quill.selection.savedRange\r\n this.root.classList.remove('ql-hidden')\r\n this.root.classList.add('ql-editing')\r\n if (!isNullOrUndefined(preview)) {\r\n this.textbox.value = preview\r\n }\r\n else if (mode !== this.root.getAttribute('data-mode')) {\r\n this.textbox.value = ''\r\n }\r\n this.position(this.quill.getBounds(range || this.quill.selection.savedRange))\r\n if (this.textbox.value === '') {\r\n this.textbox.focus()\r\n }\r\n this.textbox.setAttribute(\r\n 'placeholder',\r\n this.textbox.getAttribute(`data-${mode}`) || '',\r\n )\r\n this.root.setAttribute('data-mode', mode)\r\n }\r\n\r\n show() {\r\n super.show()\r\n this.root.removeAttribute('data-mode')\r\n }\r\n\r\n addHttpProtocol(url: string) {\r\n let result = url\r\n if (!url) {\r\n return ''\r\n }\r\n if (!hadProtocol(url)) {\r\n result = `${this.options.autoProtocol}://${url}`\r\n }\r\n return result\r\n }\r\n}\r\n"],"names":["BaseTooltip","LinkBlot","debounce","CHANGE_LANGUAGE_EVENT","link","Range","isNullOrUndefined","hadProtocol","EN_US"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.cjs.js","sources":["../../../../../src/modules/link/modules/tooltip.ts"],"sourcesContent":["import type { Parchment as TypeParchment } from 'quill'\nimport type FluentEditor from '../../../core/fluent-editor'\nimport Quill, { Range } from 'quill'\nimport Emitter from 'quill/core/emitter'\nimport { BaseTooltip } from 'quill/themes/base'\nimport { CHANGE_LANGUAGE_EVENT } from '../../../config'\nimport { hadProtocol, isNullOrUndefined } from '../../../config/editor.utils'\nimport { EN_US } from '../../../config/i18n/en-us'\nimport { debounce } from '../../../utils/debounce'\nimport { LinkBlot } from '../formats/link'\n\nexport class LinkTooltip extends BaseTooltip {\n static TEMPLATE: string = [\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${EN_US.linkplaceholder}\" data-video=\"Embed URL\" style=\"width: 225px;\">`,\n '<span class=\"ql-split\"></span>',\n '<a class=\"ql-preview\"><i class=\"icon-share\"></i></a>',\n '<a class=\"ql-remove\"><i class=\"icon-delete\"></i></a>',\n ].join('')\n\n isInputFocus: boolean\n isHover: boolean\n debouncedHideToolTip: any\n debouncedShowToolTip: any\n options: { autoProtocol: string } = {\n autoProtocol: 'https',\n }\n\n constructor(public quill: FluentEditor, bounds) {\n super(quill, bounds)\n this.setTemplate()\n this.isInputFocus = false\n this.isHover = false\n\n this.resolveOptions()\n LinkBlot.autoProtocol = this.options.autoProtocol\n this.debouncedHideToolTip = debounce(this.hideToolTip, 300)\n this.debouncedShowToolTip = debounce(this.showToolTip, 300)\n this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, () => {\n this.setTemplate()\n })\n }\n\n setTemplate() {\n this.root.innerHTML = [\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${this.quill.getLangText('linkplaceholder')}\" data-video=\"Embed URL\" style=\"width: 225px;\">`,\n '<span class=\"ql-split\"></span>',\n '<a class=\"ql-preview\"><i class=\"icon-share\"></i></a>',\n '<a class=\"ql-remove\"><i class=\"icon-delete\"></i></a>',\n ].join('')\n this.textbox = this.root.querySelector('input[type=\"text\"]')\n this.listen()\n }\n\n resolveOptions() {\n this.options = {\n autoProtocol: 'https',\n }\n const value = this.quill.options.autoProtocol\n if (value && typeof value === 'string') {\n this.options.autoProtocol = value\n }\n else if (typeof value === 'boolean' && !value) {\n this.options.autoProtocol = ''\n }\n }\n\n shouldHide() {\n return !this.isHover && !this.isInputFocus\n }\n\n hideToolTip() {\n if (this.shouldHide()) {\n this.hide()\n }\n }\n\n showToolTip(name, value, range) {\n if (!this.shouldHide()) {\n this.edit(name, value, range)\n }\n }\n\n handleMouseLeave() {\n this.isHover = false\n this.debouncedHideToolTip()\n }\n\n handleMouseEnter(event: MouseEvent) {\n const isTooltipShow = !this.root.classList.contains('ql-hidden')\n if (isTooltipShow) {\n return\n }\n\n if (this.isInputFocus) {\n this.save()\n }\n this.isHover = true\n const linkNode = event.target as HTMLElement\n const preview = LinkBlot.formats(linkNode)\n if (!preview || preview.startsWith('#')) {\n return\n }\n const linkBlot = Quill.find(linkNode) as TypeParchment.Blot\n const index = this.quill.getIndex(linkBlot)\n const [link, offset] = this.quill.scroll.descendant(\n LinkBlot,\n index,\n )\n const length = link && link.length()\n this.linkRange = new Range(index - offset, length)\n this.debouncedShowToolTip('link', preview, this.linkRange)\n }\n\n listen() {\n super.listen()\n this.root.querySelector('a.ql-remove').addEventListener('click', (event) => {\n if (!isNullOrUndefined(this.linkRange)) {\n const range = this.linkRange\n this.restoreFocus()\n this.quill.formatText(range, 'link', false, Emitter.sources.API)\n delete this.linkRange\n }\n event.preventDefault()\n this.hide()\n })\n\n this.quill.root.addEventListener(\n 'mouseover',\n (event) => {\n const target = event.target as HTMLElement\n if (\n (target.tagName.toUpperCase() !== 'A'\n || !target.classList.contains(LinkBlot.className))\n && !target.closest(`a.${LinkBlot.className}`)\n ) {\n return\n }\n this.handleMouseEnter(event)\n },\n false,\n )\n\n this.quill.root.addEventListener(\n 'mouseout',\n (event) => {\n const target = event.target as HTMLElement\n if (target.tagName.toUpperCase() !== 'A' && !target.closest(`a.${LinkBlot.className}`)) {\n return\n }\n this.handleMouseLeave()\n },\n false,\n )\n\n this.root.addEventListener(\n 'mouseenter',\n () => {\n this.isHover = true\n },\n false,\n )\n\n this.root.addEventListener('mouseleave', this.handleMouseLeave.bind(this), false)\n\n this.root.querySelector('a.ql-preview').addEventListener('click', (event) => {\n const link = LinkBlot.sanitize(this.textbox.value)\n window.open(link, '_blank')\n event.preventDefault()\n })\n this.root.querySelector('input[type=\"text\"]').addEventListener('focus', () => {\n this.isInputFocus = true\n })\n this.root.querySelector('input[type=\"text\"]').addEventListener('blur', () => {\n this.isInputFocus = false\n this.save()\n })\n this.quill.on(\n Emitter.events.SELECTION_CHANGE,\n (range, _oldRange, source) => {\n if (isNullOrUndefined(range)) return\n if (source === Emitter.sources.USER) {\n const [link, offset] = this.quill.scroll.descendant(\n LinkBlot,\n range.index,\n )\n\n if (!isNullOrUndefined(link)) {\n this.linkRange = new Range(range.index - offset, link.length())\n const preview = LinkBlot.formats(link.domNode)\n if (!preview.startsWith('#')) {\n this.edit('link', preview, this.linkRange)\n }\n return\n }\n }\n if (this.shouldHide()) {\n this.hide()\n }\n },\n )\n this.quill.on(\n Emitter.events.TEXT_CHANGE,\n () => {\n const selection = this.quill.getSelection()\n const index = selection && selection.index\n setTimeout(() => {\n const link = this.quill.scroll.descendant(\n LinkBlot,\n index,\n )[0]\n if (!link) {\n this.handleMouseLeave()\n }\n })\n },\n )\n }\n\n save() {\n let value = this.textbox.value\n if (!value) return\n this.textbox.value = ''\n switch (this.root.getAttribute('data-mode')) {\n case 'link': {\n const { scrollTop } = this.quill.root\n if (this.options.autoProtocol) {\n value = this.addHttpProtocol(value)\n }\n\n if (this.linkRange) {\n this.quill.formatText(\n this.linkRange,\n 'link',\n value,\n Emitter.sources.USER,\n )\n this.restoreFocus()\n }\n else {\n this.restoreFocus()\n this.quill.format('link', value, Emitter.sources.USER)\n }\n this.quill.root.scrollTop = scrollTop\n break\n }\n case 'formula': {\n const range = this.quill.getSelection(true)\n if (!isNullOrUndefined(range)) {\n const index = range.index + range.length\n this.quill.insertEmbed(\n index,\n this.root.getAttribute('data-mode'),\n value,\n Emitter.sources.USER,\n )\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', Emitter.sources.USER)\n }\n this.quill.setSelection(index + 2, Emitter.sources.USER)\n }\n break\n }\n case 'video': {\n const range = this.quill.getSelection(true)\n this.quill.insertText(range.index, '\\n', Emitter.sources.USER)\n this.quill.insertEmbed(range.index + 1, 'video', { src: value }, Emitter.sources.USER)\n this.quill.insertText(range.index + 2, '\\n', Emitter.sources.USER)\n this.quill.setSelection(range.index + 3, Emitter.sources.SILENT)\n this.textbox.value = ''\n this.hide()\n break\n }\n default:\n }\n }\n\n position(reference) {\n const left = reference.left\n const top = reference.bottom + this.quill.root.scrollTop\n this.root.style.left = `${left}px`\n this.root.style.top = `${top}px`\n this.root.classList.remove('ql-flip')\n const containerBounds = this.boundsContainer.getBoundingClientRect()\n const rootBounds = this.root.getBoundingClientRect()\n let shift = 0\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right\n this.root.style.left = `${left + shift}px`\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left\n this.root.style.left = `${left + shift}px`\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n const height = rootBounds.bottom - rootBounds.top\n const verticalShift = reference.bottom - reference.top + height\n const fixedTop = top - verticalShift\n this.root.style.top = `${fixedTop < 0 ? this.quill.root.scrollTop + reference.top : fixedTop}px`\n this.root.classList.add('ql-flip')\n }\n return shift\n }\n\n // @ts-expect-error\n edit(mode: string = 'link', preview = null, range) {\n this.linkRange = range || this.quill.selection.savedRange\n this.root.classList.remove('ql-hidden')\n this.root.classList.add('ql-editing')\n if (!isNullOrUndefined(preview)) {\n this.textbox.value = preview\n }\n else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = ''\n }\n this.position(this.quill.getBounds(range || this.quill.selection.savedRange))\n if (this.textbox.value === '') {\n this.textbox.focus()\n }\n this.textbox.setAttribute(\n 'placeholder',\n this.textbox.getAttribute(`data-${mode}`) || '',\n )\n this.root.setAttribute('data-mode', mode)\n }\n\n show() {\n super.show()\n this.root.removeAttribute('data-mode')\n }\n\n addHttpProtocol(url: string) {\n let result = url\n if (!url) {\n return ''\n }\n if (!hadProtocol(url)) {\n result = `${this.options.autoProtocol}://${url}`\n }\n return result\n }\n}\n"],"names":["BaseTooltip","LinkBlot","debounce","CHANGE_LANGUAGE_EVENT","link","Range","isNullOrUndefined","hadProtocol","EN_US"],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
6
  const Quill = require("quill");
4
7
  const Parchment = Quill.import("parchment");
5
- const _MathliveBlot = class _MathliveBlot extends Parchment.EmbedBlot {
8
+ class MathliveBlot extends Parchment.EmbedBlot {
6
9
  constructor(scroll, domNode) {
7
10
  super(scroll, domNode);
11
+ __publicField(this, "mode");
8
12
  this.domNode = domNode;
9
13
  domNode.setAttribute("contenteditable", "false");
10
14
  this.mode = domNode.getAttribute("mode") || "only-read";
@@ -27,10 +31,9 @@ const _MathliveBlot = class _MathliveBlot extends Parchment.EmbedBlot {
27
31
  const formula = this.domNode.value;
28
32
  return `<math-field class="ql-math-field view" contenteditable="false" mode="${this.mode}">${formula}</math-field>`;
29
33
  }
30
- };
31
- _MathliveBlot.blotName = "mathlive";
32
- _MathliveBlot.tagName = "math-field";
33
- _MathliveBlot.className = "ql-math-field";
34
- let MathliveBlot = _MathliveBlot;
35
- exports.default = MathliveBlot;
34
+ }
35
+ __publicField(MathliveBlot, "blotName", "mathlive");
36
+ __publicField(MathliveBlot, "tagName", "math-field");
37
+ __publicField(MathliveBlot, "className", "ql-math-field");
38
+ exports.MathliveBlot = MathliveBlot;
36
39
  //# sourceMappingURL=formats.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formats.cjs.js","sources":["../../../../src/modules/mathlive/formats.ts"],"sourcesContent":["import type { MathfieldElement } from 'mathlive'\r\nimport type { Root } from 'parchment'\r\nimport Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\ntype MathliveBlotMode = 'dialog' | 'only-read'\r\nexport default class MathliveBlot extends Parchment.EmbedBlot {\r\n static blotName = 'mathlive'\r\n static tagName = 'math-field'\r\n static className = 'ql-math-field'\r\n mode: MathliveBlotMode\r\n\r\n static create(obj: { value: string, mode: MathliveBlotMode }) {\r\n const el = super.create() as MathfieldElement\r\n el.setAttribute('mode', obj.mode)\r\n el.classList.add('view')\r\n el.innerHTML = obj.value\r\n el.setValue(obj.value)\r\n return el\r\n }\r\n\r\n static value(domNode: MathfieldElement) {\r\n return {\r\n value: domNode.value,\r\n mode: domNode.getAttribute('mode'),\r\n }\r\n }\r\n\r\n constructor(scroll: Root, public domNode: MathfieldElement) {\r\n super(scroll, domNode)\r\n domNode.setAttribute('contenteditable', 'false')\r\n this.mode = (domNode.getAttribute('mode') || 'only-read') as MathliveBlotMode\r\n }\r\n\r\n html() {\r\n const formula = this.domNode.value\r\n return `<math-field class=\"ql-math-field view\" contenteditable=\"false\" mode=\"${this.mode}\">${formula}</math-field>`\r\n }\r\n}\r\n"],"names":[],"mappings":";;;AAIA,MAAM,YAAY,MAAM,OAAO,WAAW;AAErB,MAAA,gBAAA,MAAA,sBAAqB,UAAU,UAAU;AAAA,EAsB5D,YAAY,QAAqB,SAA2B;AAC1D,UAAM,QAAQ,OAAO;AADU,SAAA,UAAA;AAEvB,YAAA,aAAa,mBAAmB,OAAO;AAC/C,SAAK,OAAQ,QAAQ,aAAa,MAAM,KAAK;AAAA,EAAA;AAAA,EAnB/C,OAAO,OAAO,KAAgD;AACtD,UAAA,KAAK,MAAM,OAAO;AACrB,OAAA,aAAa,QAAQ,IAAI,IAAI;AAC7B,OAAA,UAAU,IAAI,MAAM;AACvB,OAAG,YAAY,IAAI;AAChB,OAAA,SAAS,IAAI,KAAK;AACd,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,MAAM,SAA2B;AAC/B,WAAA;AAAA,MACL,OAAO,QAAQ;AAAA,MACf,MAAM,QAAQ,aAAa,MAAM;AAAA,IACnC;AAAA,EAAA;AAAA,EASF,OAAO;AACC,UAAA,UAAU,KAAK,QAAQ;AAC7B,WAAO,wEAAwE,KAAK,IAAI,KAAK,OAAO;AAAA,EAAA;AAExG;AA/BE,cAAO,WAAW;AAClB,cAAO,UAAU;AACjB,cAAO,YAAY;AAHA,IAAA,eAAA;;"}
1
+ {"version":3,"file":"formats.cjs.js","sources":["../../../../src/modules/mathlive/formats.ts"],"sourcesContent":["import type { MathfieldElement } from 'mathlive'\nimport type { Root } from 'parchment'\nimport Quill from 'quill'\n\nconst Parchment = Quill.import('parchment')\nexport type MathliveBlotMode = 'dialog' | 'only-read'\nexport class MathliveBlot extends Parchment.EmbedBlot {\n static blotName = 'mathlive'\n static tagName = 'math-field'\n static className = 'ql-math-field'\n mode: MathliveBlotMode\n\n static create(obj: { value: string, mode: MathliveBlotMode }) {\n const el = super.create() as MathfieldElement\n el.setAttribute('mode', obj.mode)\n el.classList.add('view')\n el.innerHTML = obj.value\n el.setValue(obj.value)\n return el\n }\n\n static value(domNode: MathfieldElement) {\n return {\n value: domNode.value,\n mode: domNode.getAttribute('mode'),\n }\n }\n\n constructor(scroll: Root, public domNode: MathfieldElement) {\n super(scroll, domNode)\n domNode.setAttribute('contenteditable', 'false')\n this.mode = (domNode.getAttribute('mode') || 'only-read') as MathliveBlotMode\n }\n\n html() {\n const formula = this.domNode.value\n return `<math-field class=\"ql-math-field view\" contenteditable=\"false\" mode=\"${this.mode}\">${formula}</math-field>`\n }\n}\n"],"names":[],"mappings":";;;;;;AAIA,MAAM,YAAY,MAAM,OAAO,WAAW;AAEnC,MAAM,qBAAqB,UAAU,UAAU;AAAA,EAsBpD,YAAY,QAAqB,SAA2B;AAC1D,UAAM,QAAQ,OAAO;AAnBvB;AAkBiC,SAAA,UAAA;AAE/B,YAAQ,aAAa,mBAAmB,OAAO;AAC/C,SAAK,OAAQ,QAAQ,aAAa,MAAM,KAAK;AAAA,EAC/C;AAAA,EApBA,OAAO,OAAO,KAAgD;AAC5D,UAAM,KAAK,MAAM,OAAA;AACjB,OAAG,aAAa,QAAQ,IAAI,IAAI;AAChC,OAAG,UAAU,IAAI,MAAM;AACvB,OAAG,YAAY,IAAI;AACnB,OAAG,SAAS,IAAI,KAAK;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,SAA2B;AACtC,WAAO;AAAA,MACL,OAAO,QAAQ;AAAA,MACf,MAAM,QAAQ,aAAa,MAAM;AAAA,IAAA;AAAA,EAErC;AAAA,EAQA,OAAO;AACL,UAAM,UAAU,KAAK,QAAQ;AAC7B,WAAO,wEAAwE,KAAK,IAAI,KAAK,OAAO;AAAA,EACtG;AACF;AA/BE,cADW,cACJ,YAAW;AAClB,cAFW,cAEJ,WAAU;AACjB,cAHW,cAGJ,aAAY;;"}