@opentiny/fluent-editor 3.20.2 → 3.20.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/package.json +3 -3
  2. package/dist/package.json +0 -52
  3. package/scripts/pre-release.js +0 -34
  4. package/src/assets/better-table.scss +0 -367
  5. package/src/assets/common.scss +0 -279
  6. package/src/assets/counter.scss +0 -19
  7. package/src/assets/custom-image.scss +0 -20
  8. package/src/assets/editor.scss +0 -365
  9. package/src/assets/emoji/emoji.scss +0 -461
  10. package/src/assets/emoji/style.scss +0 -252
  11. package/src/assets/fileBar.scss +0 -116
  12. package/src/assets/font.scss +0 -36
  13. package/src/assets/fullscreen.scss +0 -21
  14. package/src/assets/iconfont/iconfont.ttf +0 -0
  15. package/src/assets/iconfont/iconfont.woff +0 -0
  16. package/src/assets/iconfont/iconfont.woff2 +0 -0
  17. package/src/assets/image1.png +0 -0
  18. package/src/assets/lineHeight.scss +0 -16
  19. package/src/assets/link.scss +0 -130
  20. package/src/assets/mention.scss +0 -48
  21. package/src/assets/screenshot.scss +0 -78
  22. package/src/assets/size.scss +0 -13
  23. package/src/assets/style.scss +0 -39
  24. package/src/assets/tasklist.scss +0 -76
  25. package/src/assets/toolbar.scss +0 -416
  26. package/src/attributors/font-size.ts +0 -6
  27. package/src/attributors/font-style.ts +0 -6
  28. package/src/attributors/index.ts +0 -4
  29. package/src/attributors/line-height.ts +0 -6
  30. package/src/attributors/text-indent.ts +0 -6
  31. package/src/config/base64-image.ts +0 -8
  32. package/src/config/editor.config.ts +0 -88
  33. package/src/config/editor.utils.ts +0 -199
  34. package/src/config/i18n/en-us.ts +0 -106
  35. package/src/config/i18n/zh-cn.ts +0 -104
  36. package/src/config/icons.config.ts +0 -297
  37. package/src/config/index.ts +0 -171
  38. package/src/config/types/additional-toolbar-item.interface.ts +0 -8
  39. package/src/config/types/content-change.interface.ts +0 -13
  40. package/src/config/types/content-save.interface.ts +0 -6
  41. package/src/config/types/counter-option.interface.ts +0 -9
  42. package/src/config/types/editor-config.interface.ts +0 -22
  43. package/src/config/types/editor-modules.interface.ts +0 -41
  44. package/src/config/types/file-operation.interface.ts +0 -12
  45. package/src/config/types/focus-change.interface.ts +0 -4
  46. package/src/config/types/fullscreen-module.interface.ts +0 -4
  47. package/src/config/types/help-panel-item.interface.ts +0 -5
  48. package/src/config/types/help-panel-option.interface.ts +0 -7
  49. package/src/config/types/image-module.interface.ts +0 -3
  50. package/src/config/types/image-upload.interface.ts +0 -7
  51. package/src/config/types/index.ts +0 -22
  52. package/src/config/types/load-on-demand-module.interface.ts +0 -5
  53. package/src/config/types/mention-module.interface.ts +0 -8
  54. package/src/config/types/paste-change.interface.ts +0 -6
  55. package/src/config/types/quick-menu-module.interface.ts +0 -3
  56. package/src/config/types/range.interface.ts +0 -4
  57. package/src/config/types/registry-options.interface.ts +0 -5
  58. package/src/config/types/selection-change.interface.ts +0 -8
  59. package/src/config/types/toolbar-item.interface.ts +0 -13
  60. package/src/config/types/type.ts +0 -5
  61. package/src/config/types/validate-error.interface.ts +0 -11
  62. package/src/counter/index.ts +0 -69
  63. package/src/custom-clipboard.ts +0 -633
  64. package/src/custom-image/BlotFormatter.ts +0 -167
  65. package/src/custom-image/Options.ts +0 -150
  66. package/src/custom-image/actions/Action.ts +0 -13
  67. package/src/custom-image/actions/CustomResizeAction.ts +0 -207
  68. package/src/custom-image/actions/DeleteAction.ts +0 -29
  69. package/src/custom-image/image.ts +0 -118
  70. package/src/custom-image/specs/BlotSpec.ts +0 -30
  71. package/src/custom-image/specs/CustomImageSpec.ts +0 -139
  72. package/src/custom-image/specs/ImageSpec.ts +0 -33
  73. package/src/custom-uploader.ts +0 -199
  74. package/src/emoji/emoji-list/index.ts +0 -1
  75. package/src/emoji/emoji-list/people.ts +0 -111
  76. package/src/emoji/emoji-list.ts +0 -9
  77. package/src/emoji/emoji-map.ts +0 -9
  78. package/src/emoji/formats/emoji-blot.ts +0 -54
  79. package/src/emoji/index.ts +0 -5
  80. package/src/emoji/modules/emoji.ts +0 -318
  81. package/src/emoji/modules/toolbar-emoji.ts +0 -182
  82. package/src/emoji/utils.ts +0 -15
  83. package/src/file/formats/file.ts +0 -67
  84. package/src/file/index.ts +0 -38
  85. package/src/file/modules/file-bar.ts +0 -146
  86. package/src/fluent-editor.ts +0 -164
  87. package/src/format-painter/index.ts +0 -79
  88. package/src/global-link/constants.ts +0 -3
  89. package/src/global-link/formats/customer-widget-link.ts +0 -36
  90. package/src/global-link/formats/doc-link.ts +0 -55
  91. package/src/global-link/formats/wiki-link.ts +0 -45
  92. package/src/global-link/formats/work-item-link.ts +0 -47
  93. package/src/global-link/global-link-panel.ts +0 -20
  94. package/src/global-link/index.ts +0 -165
  95. package/src/global-link/utils/createTable.ts +0 -54
  96. package/src/index.ts +0 -5
  97. package/src/link/formats/link.ts +0 -44
  98. package/src/link/index.ts +0 -35
  99. package/src/link/modules/tooltip.ts +0 -318
  100. package/src/mention/Mention.ts +0 -406
  101. package/src/mention/MentionLink.ts +0 -51
  102. package/src/mention/constants.ts +0 -3
  103. package/src/quick-menu/index.ts +0 -100
  104. package/src/screenshot/index.ts +0 -231
  105. package/src/soft-break/index.ts +0 -34
  106. package/src/strike/index.ts +0 -16
  107. package/src/syntax/index.ts +0 -35
  108. package/src/table/better-table.ts +0 -553
  109. package/src/table/formats/header.ts +0 -129
  110. package/src/table/formats/list.ts +0 -229
  111. package/src/table/formats/table.ts +0 -1272
  112. package/src/table/modules/table-column-tool.ts +0 -492
  113. package/src/table/modules/table-operation-menu.ts +0 -584
  114. package/src/table/modules/table-scroll-bar.ts +0 -248
  115. package/src/table/modules/table-selection.ts +0 -387
  116. package/src/table/table-config.ts +0 -42
  117. package/src/table/utils/index.ts +0 -62
  118. package/src/table/utils/node-matchers.ts +0 -359
  119. package/src/toolbar/better-picker.ts +0 -370
  120. package/src/toolbar/index.ts +0 -180
  121. package/src/utils/debounce.ts +0 -149
  122. package/src/utils/image.ts +0 -22
  123. package/src/utils/method.ts +0 -82
  124. package/src/utils/scroll-lock.ts +0 -52
  125. package/src/video/index.ts +0 -62
  126. package/tsconfig.json +0 -26
  127. package/vite.config.theme.ts +0 -20
  128. package/vite.config.ts +0 -56
  129. /package/{dist/README.md → README.md} +0 -0
  130. /package/{dist/es → es}/attributors/font-size.es.js +0 -0
  131. /package/{dist/es → es}/attributors/font-size.es.js.map +0 -0
  132. /package/{dist/es → es}/attributors/font-style.es.js +0 -0
  133. /package/{dist/es → es}/attributors/font-style.es.js.map +0 -0
  134. /package/{dist/es → es}/attributors/index.es.js +0 -0
  135. /package/{dist/es → es}/attributors/index.es.js.map +0 -0
  136. /package/{dist/es → es}/attributors/line-height.es.js +0 -0
  137. /package/{dist/es → es}/attributors/line-height.es.js.map +0 -0
  138. /package/{dist/es → es}/attributors/text-indent.es.js +0 -0
  139. /package/{dist/es → es}/attributors/text-indent.es.js.map +0 -0
  140. /package/{dist/es → es}/config/base64-image.es.js +0 -0
  141. /package/{dist/es → es}/config/base64-image.es.js.map +0 -0
  142. /package/{dist/es → es}/config/editor.config.es.js +0 -0
  143. /package/{dist/es → es}/config/editor.config.es.js.map +0 -0
  144. /package/{dist/es → es}/config/editor.utils.es.js +0 -0
  145. /package/{dist/es → es}/config/editor.utils.es.js.map +0 -0
  146. /package/{dist/es → es}/config/i18n/en-us.es.js +0 -0
  147. /package/{dist/es → es}/config/i18n/en-us.es.js.map +0 -0
  148. /package/{dist/es → es}/config/i18n/zh-cn.es.js +0 -0
  149. /package/{dist/es → es}/config/i18n/zh-cn.es.js.map +0 -0
  150. /package/{dist/es → es}/config/icons.config.es.js +0 -0
  151. /package/{dist/es → es}/config/icons.config.es.js.map +0 -0
  152. /package/{dist/es → es}/config/index.es.js +0 -0
  153. /package/{dist/es → es}/config/index.es.js.map +0 -0
  154. /package/{dist/es → es}/config/types/additional-toolbar-item.interface.es.js +0 -0
  155. /package/{dist/es → es}/config/types/additional-toolbar-item.interface.es.js.map +0 -0
  156. /package/{dist/es → es}/config/types/content-change.interface.es.js +0 -0
  157. /package/{dist/es → es}/config/types/content-change.interface.es.js.map +0 -0
  158. /package/{dist/es → es}/config/types/content-save.interface.es.js +0 -0
  159. /package/{dist/es → es}/config/types/content-save.interface.es.js.map +0 -0
  160. /package/{dist/es → es}/config/types/counter-option.interface.es.js +0 -0
  161. /package/{dist/es → es}/config/types/counter-option.interface.es.js.map +0 -0
  162. /package/{dist/es → es}/config/types/editor-config.interface.es.js +0 -0
  163. /package/{dist/es → es}/config/types/editor-config.interface.es.js.map +0 -0
  164. /package/{dist/es → es}/config/types/editor-modules.interface.es.js +0 -0
  165. /package/{dist/es → es}/config/types/editor-modules.interface.es.js.map +0 -0
  166. /package/{dist/es → es}/config/types/file-operation.interface.es.js +0 -0
  167. /package/{dist/es → es}/config/types/file-operation.interface.es.js.map +0 -0
  168. /package/{dist/es → es}/config/types/focus-change.interface.es.js +0 -0
  169. /package/{dist/es → es}/config/types/focus-change.interface.es.js.map +0 -0
  170. /package/{dist/es → es}/config/types/fullscreen-module.interface.es.js +0 -0
  171. /package/{dist/es → es}/config/types/fullscreen-module.interface.es.js.map +0 -0
  172. /package/{dist/es → es}/config/types/help-panel-item.interface.es.js +0 -0
  173. /package/{dist/es → es}/config/types/help-panel-item.interface.es.js.map +0 -0
  174. /package/{dist/es → es}/config/types/help-panel-option.interface.es.js +0 -0
  175. /package/{dist/es → es}/config/types/help-panel-option.interface.es.js.map +0 -0
  176. /package/{dist/es → es}/config/types/image-module.interface.es.js +0 -0
  177. /package/{dist/es → es}/config/types/image-module.interface.es.js.map +0 -0
  178. /package/{dist/es → es}/config/types/image-upload.interface.es.js +0 -0
  179. /package/{dist/es → es}/config/types/image-upload.interface.es.js.map +0 -0
  180. /package/{dist/es → es}/config/types/index.es.js +0 -0
  181. /package/{dist/es → es}/config/types/index.es.js.map +0 -0
  182. /package/{dist/es → es}/config/types/load-on-demand-module.interface.es.js +0 -0
  183. /package/{dist/es → es}/config/types/load-on-demand-module.interface.es.js.map +0 -0
  184. /package/{dist/es → es}/config/types/mention-module.interface.es.js +0 -0
  185. /package/{dist/es → es}/config/types/mention-module.interface.es.js.map +0 -0
  186. /package/{dist/es → es}/config/types/paste-change.interface.es.js +0 -0
  187. /package/{dist/es → es}/config/types/paste-change.interface.es.js.map +0 -0
  188. /package/{dist/es → es}/config/types/quick-menu-module.interface.es.js +0 -0
  189. /package/{dist/es → es}/config/types/quick-menu-module.interface.es.js.map +0 -0
  190. /package/{dist/es → es}/config/types/range.interface.es.js +0 -0
  191. /package/{dist/es → es}/config/types/range.interface.es.js.map +0 -0
  192. /package/{dist/es → es}/config/types/registry-options.interface.es.js +0 -0
  193. /package/{dist/es → es}/config/types/registry-options.interface.es.js.map +0 -0
  194. /package/{dist/es → es}/config/types/selection-change.interface.es.js +0 -0
  195. /package/{dist/es → es}/config/types/selection-change.interface.es.js.map +0 -0
  196. /package/{dist/es → es}/config/types/toolbar-item.interface.es.js +0 -0
  197. /package/{dist/es → es}/config/types/toolbar-item.interface.es.js.map +0 -0
  198. /package/{dist/es → es}/config/types/type.es.js +0 -0
  199. /package/{dist/es → es}/config/types/type.es.js.map +0 -0
  200. /package/{dist/es → es}/config/types/validate-error.interface.es.js +0 -0
  201. /package/{dist/es → es}/config/types/validate-error.interface.es.js.map +0 -0
  202. /package/{dist/es → es}/counter/index.es.js +0 -0
  203. /package/{dist/es → es}/counter/index.es.js.map +0 -0
  204. /package/{dist/es → es}/custom-clipboard.es.js +0 -0
  205. /package/{dist/es → es}/custom-clipboard.es.js.map +0 -0
  206. /package/{dist/es → es}/custom-image/BlotFormatter.es.js +0 -0
  207. /package/{dist/es → es}/custom-image/BlotFormatter.es.js.map +0 -0
  208. /package/{dist/es → es}/custom-image/Options.es.js +0 -0
  209. /package/{dist/es → es}/custom-image/Options.es.js.map +0 -0
  210. /package/{dist/es → es}/custom-image/actions/Action.es.js +0 -0
  211. /package/{dist/es → es}/custom-image/actions/Action.es.js.map +0 -0
  212. /package/{dist/es → es}/custom-image/actions/CustomResizeAction.es.js +0 -0
  213. /package/{dist/es → es}/custom-image/actions/CustomResizeAction.es.js.map +0 -0
  214. /package/{dist/es → es}/custom-image/actions/DeleteAction.es.js +0 -0
  215. /package/{dist/es → es}/custom-image/actions/DeleteAction.es.js.map +0 -0
  216. /package/{dist/es → es}/custom-image/image.es.js +0 -0
  217. /package/{dist/es → es}/custom-image/image.es.js.map +0 -0
  218. /package/{dist/es → es}/custom-image/specs/BlotSpec.es.js +0 -0
  219. /package/{dist/es → es}/custom-image/specs/BlotSpec.es.js.map +0 -0
  220. /package/{dist/es → es}/custom-image/specs/CustomImageSpec.es.js +0 -0
  221. /package/{dist/es → es}/custom-image/specs/CustomImageSpec.es.js.map +0 -0
  222. /package/{dist/es → es}/custom-image/specs/ImageSpec.es.js +0 -0
  223. /package/{dist/es → es}/custom-image/specs/ImageSpec.es.js.map +0 -0
  224. /package/{dist/es → es}/custom-uploader.es.js +0 -0
  225. /package/{dist/es → es}/custom-uploader.es.js.map +0 -0
  226. /package/{dist/es → es}/emoji/emoji-list/index.es.js +0 -0
  227. /package/{dist/es → es}/emoji/emoji-list/index.es.js.map +0 -0
  228. /package/{dist/es → es}/emoji/emoji-list/people.es.js +0 -0
  229. /package/{dist/es → es}/emoji/emoji-list/people.es.js.map +0 -0
  230. /package/{dist/es → es}/emoji/emoji-list.es.js +0 -0
  231. /package/{dist/es → es}/emoji/emoji-list.es.js.map +0 -0
  232. /package/{dist/es → es}/emoji/emoji-map.es.js +0 -0
  233. /package/{dist/es → es}/emoji/emoji-map.es.js.map +0 -0
  234. /package/{dist/es → es}/emoji/formats/emoji-blot.es.js +0 -0
  235. /package/{dist/es → es}/emoji/formats/emoji-blot.es.js.map +0 -0
  236. /package/{dist/es → es}/emoji/index.es.js +0 -0
  237. /package/{dist/es → es}/emoji/index.es.js.map +0 -0
  238. /package/{dist/es → es}/emoji/modules/emoji.es.js +0 -0
  239. /package/{dist/es → es}/emoji/modules/emoji.es.js.map +0 -0
  240. /package/{dist/es → es}/emoji/modules/toolbar-emoji.es.js +0 -0
  241. /package/{dist/es → es}/emoji/modules/toolbar-emoji.es.js.map +0 -0
  242. /package/{dist/es → es}/emoji/utils.es.js +0 -0
  243. /package/{dist/es → es}/emoji/utils.es.js.map +0 -0
  244. /package/{dist/es → es}/file/formats/file.es.js +0 -0
  245. /package/{dist/es → es}/file/formats/file.es.js.map +0 -0
  246. /package/{dist/es → es}/file/index.es.js +0 -0
  247. /package/{dist/es → es}/file/index.es.js.map +0 -0
  248. /package/{dist/es → es}/file/modules/file-bar.es.js +0 -0
  249. /package/{dist/es → es}/file/modules/file-bar.es.js.map +0 -0
  250. /package/{dist/es → es}/fluent-editor.es.js +0 -0
  251. /package/{dist/es → es}/fluent-editor.es.js.map +0 -0
  252. /package/{dist/es → es}/format-painter/index.es.js +0 -0
  253. /package/{dist/es → es}/format-painter/index.es.js.map +0 -0
  254. /package/{dist/es → es}/global-link/constants.es.js +0 -0
  255. /package/{dist/es → es}/global-link/constants.es.js.map +0 -0
  256. /package/{dist/es → es}/global-link/formats/customer-widget-link.es.js +0 -0
  257. /package/{dist/es → es}/global-link/formats/customer-widget-link.es.js.map +0 -0
  258. /package/{dist/es → es}/global-link/formats/doc-link.es.js +0 -0
  259. /package/{dist/es → es}/global-link/formats/doc-link.es.js.map +0 -0
  260. /package/{dist/es → es}/global-link/formats/wiki-link.es.js +0 -0
  261. /package/{dist/es → es}/global-link/formats/wiki-link.es.js.map +0 -0
  262. /package/{dist/es → es}/global-link/formats/work-item-link.es.js +0 -0
  263. /package/{dist/es → es}/global-link/formats/work-item-link.es.js.map +0 -0
  264. /package/{dist/es → es}/global-link/global-link-panel.es.js +0 -0
  265. /package/{dist/es → es}/global-link/global-link-panel.es.js.map +0 -0
  266. /package/{dist/es → es}/global-link/index.es.js +0 -0
  267. /package/{dist/es → es}/global-link/index.es.js.map +0 -0
  268. /package/{dist/es → es}/global-link/utils/createTable.es.js +0 -0
  269. /package/{dist/es → es}/global-link/utils/createTable.es.js.map +0 -0
  270. /package/{dist/es → es}/index.es.js +0 -0
  271. /package/{dist/es → es}/index.es.js.map +0 -0
  272. /package/{dist/es → es}/link/formats/link.es.js +0 -0
  273. /package/{dist/es → es}/link/formats/link.es.js.map +0 -0
  274. /package/{dist/es → es}/link/index.es.js +0 -0
  275. /package/{dist/es → es}/link/index.es.js.map +0 -0
  276. /package/{dist/es → es}/link/modules/tooltip.es.js +0 -0
  277. /package/{dist/es → es}/link/modules/tooltip.es.js.map +0 -0
  278. /package/{dist/es → es}/mention/Mention.es.js +0 -0
  279. /package/{dist/es → es}/mention/Mention.es.js.map +0 -0
  280. /package/{dist/es → es}/mention/MentionLink.es.js +0 -0
  281. /package/{dist/es → es}/mention/MentionLink.es.js.map +0 -0
  282. /package/{dist/es → es}/mention/constants.es.js +0 -0
  283. /package/{dist/es → es}/mention/constants.es.js.map +0 -0
  284. /package/{dist/es → es}/quick-menu/index.es.js +0 -0
  285. /package/{dist/es → es}/quick-menu/index.es.js.map +0 -0
  286. /package/{dist/es → es}/screenshot/index.es.js +0 -0
  287. /package/{dist/es → es}/screenshot/index.es.js.map +0 -0
  288. /package/{dist/es → es}/soft-break/index.es.js +0 -0
  289. /package/{dist/es → es}/soft-break/index.es.js.map +0 -0
  290. /package/{dist/es → es}/strike/index.es.js +0 -0
  291. /package/{dist/es → es}/strike/index.es.js.map +0 -0
  292. /package/{dist/es → es}/syntax/index.es.js +0 -0
  293. /package/{dist/es → es}/syntax/index.es.js.map +0 -0
  294. /package/{dist/es → es}/table/better-table.es.js +0 -0
  295. /package/{dist/es → es}/table/better-table.es.js.map +0 -0
  296. /package/{dist/es → es}/table/formats/header.es.js +0 -0
  297. /package/{dist/es → es}/table/formats/header.es.js.map +0 -0
  298. /package/{dist/es → es}/table/formats/list.es.js +0 -0
  299. /package/{dist/es → es}/table/formats/list.es.js.map +0 -0
  300. /package/{dist/es → es}/table/formats/table.es.js +0 -0
  301. /package/{dist/es → es}/table/formats/table.es.js.map +0 -0
  302. /package/{dist/es → es}/table/modules/table-column-tool.es.js +0 -0
  303. /package/{dist/es → es}/table/modules/table-column-tool.es.js.map +0 -0
  304. /package/{dist/es → es}/table/modules/table-operation-menu.es.js +0 -0
  305. /package/{dist/es → es}/table/modules/table-operation-menu.es.js.map +0 -0
  306. /package/{dist/es → es}/table/modules/table-scroll-bar.es.js +0 -0
  307. /package/{dist/es → es}/table/modules/table-scroll-bar.es.js.map +0 -0
  308. /package/{dist/es → es}/table/modules/table-selection.es.js +0 -0
  309. /package/{dist/es → es}/table/modules/table-selection.es.js.map +0 -0
  310. /package/{dist/es → es}/table/table-config.es.js +0 -0
  311. /package/{dist/es → es}/table/table-config.es.js.map +0 -0
  312. /package/{dist/es → es}/table/utils/index.es.js +0 -0
  313. /package/{dist/es → es}/table/utils/index.es.js.map +0 -0
  314. /package/{dist/es → es}/table/utils/node-matchers.es.js +0 -0
  315. /package/{dist/es → es}/table/utils/node-matchers.es.js.map +0 -0
  316. /package/{dist/es → es}/toolbar/better-picker.es.js +0 -0
  317. /package/{dist/es → es}/toolbar/better-picker.es.js.map +0 -0
  318. /package/{dist/es → es}/toolbar/index.es.js +0 -0
  319. /package/{dist/es → es}/toolbar/index.es.js.map +0 -0
  320. /package/{dist/es → es}/utils/debounce.es.js +0 -0
  321. /package/{dist/es → es}/utils/debounce.es.js.map +0 -0
  322. /package/{dist/es → es}/utils/image.es.js +0 -0
  323. /package/{dist/es → es}/utils/image.es.js.map +0 -0
  324. /package/{dist/es → es}/utils/method.es.js +0 -0
  325. /package/{dist/es → es}/utils/method.es.js.map +0 -0
  326. /package/{dist/es → es}/utils/scroll-lock.es.js +0 -0
  327. /package/{dist/es → es}/utils/scroll-lock.es.js.map +0 -0
  328. /package/{dist/es → es}/video/index.es.js +0 -0
  329. /package/{dist/es → es}/video/index.es.js.map +0 -0
  330. /package/{dist/lib → lib}/attributors/font-size.cjs.js +0 -0
  331. /package/{dist/lib → lib}/attributors/font-size.cjs.js.map +0 -0
  332. /package/{dist/lib → lib}/attributors/font-style.cjs.js +0 -0
  333. /package/{dist/lib → lib}/attributors/font-style.cjs.js.map +0 -0
  334. /package/{dist/lib → lib}/attributors/index.cjs.js +0 -0
  335. /package/{dist/lib → lib}/attributors/index.cjs.js.map +0 -0
  336. /package/{dist/lib → lib}/attributors/line-height.cjs.js +0 -0
  337. /package/{dist/lib → lib}/attributors/line-height.cjs.js.map +0 -0
  338. /package/{dist/lib → lib}/attributors/text-indent.cjs.js +0 -0
  339. /package/{dist/lib → lib}/attributors/text-indent.cjs.js.map +0 -0
  340. /package/{dist/lib → lib}/config/base64-image.cjs.js +0 -0
  341. /package/{dist/lib → lib}/config/base64-image.cjs.js.map +0 -0
  342. /package/{dist/lib → lib}/config/editor.config.cjs.js +0 -0
  343. /package/{dist/lib → lib}/config/editor.config.cjs.js.map +0 -0
  344. /package/{dist/lib → lib}/config/editor.utils.cjs.js +0 -0
  345. /package/{dist/lib → lib}/config/editor.utils.cjs.js.map +0 -0
  346. /package/{dist/lib → lib}/config/i18n/en-us.cjs.js +0 -0
  347. /package/{dist/lib → lib}/config/i18n/en-us.cjs.js.map +0 -0
  348. /package/{dist/lib → lib}/config/i18n/zh-cn.cjs.js +0 -0
  349. /package/{dist/lib → lib}/config/i18n/zh-cn.cjs.js.map +0 -0
  350. /package/{dist/lib → lib}/config/icons.config.cjs.js +0 -0
  351. /package/{dist/lib → lib}/config/icons.config.cjs.js.map +0 -0
  352. /package/{dist/lib → lib}/config/index.cjs.js +0 -0
  353. /package/{dist/lib → lib}/config/index.cjs.js.map +0 -0
  354. /package/{dist/lib → lib}/config/types/additional-toolbar-item.interface.cjs.js +0 -0
  355. /package/{dist/lib → lib}/config/types/additional-toolbar-item.interface.cjs.js.map +0 -0
  356. /package/{dist/lib → lib}/config/types/content-change.interface.cjs.js +0 -0
  357. /package/{dist/lib → lib}/config/types/content-change.interface.cjs.js.map +0 -0
  358. /package/{dist/lib → lib}/config/types/content-save.interface.cjs.js +0 -0
  359. /package/{dist/lib → lib}/config/types/content-save.interface.cjs.js.map +0 -0
  360. /package/{dist/lib → lib}/config/types/counter-option.interface.cjs.js +0 -0
  361. /package/{dist/lib → lib}/config/types/counter-option.interface.cjs.js.map +0 -0
  362. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js +0 -0
  363. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js.map +0 -0
  364. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js +0 -0
  365. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
  366. /package/{dist/lib → lib}/config/types/file-operation.interface.cjs.js +0 -0
  367. /package/{dist/lib → lib}/config/types/file-operation.interface.cjs.js.map +0 -0
  368. /package/{dist/lib → lib}/config/types/focus-change.interface.cjs.js +0 -0
  369. /package/{dist/lib → lib}/config/types/focus-change.interface.cjs.js.map +0 -0
  370. /package/{dist/lib → lib}/config/types/fullscreen-module.interface.cjs.js +0 -0
  371. /package/{dist/lib → lib}/config/types/fullscreen-module.interface.cjs.js.map +0 -0
  372. /package/{dist/lib → lib}/config/types/help-panel-item.interface.cjs.js +0 -0
  373. /package/{dist/lib → lib}/config/types/help-panel-item.interface.cjs.js.map +0 -0
  374. /package/{dist/lib → lib}/config/types/help-panel-option.interface.cjs.js +0 -0
  375. /package/{dist/lib → lib}/config/types/help-panel-option.interface.cjs.js.map +0 -0
  376. /package/{dist/lib → lib}/config/types/image-module.interface.cjs.js +0 -0
  377. /package/{dist/lib → lib}/config/types/image-module.interface.cjs.js.map +0 -0
  378. /package/{dist/lib → lib}/config/types/image-upload.interface.cjs.js +0 -0
  379. /package/{dist/lib → lib}/config/types/image-upload.interface.cjs.js.map +0 -0
  380. /package/{dist/lib → lib}/config/types/index.cjs.js +0 -0
  381. /package/{dist/lib → lib}/config/types/index.cjs.js.map +0 -0
  382. /package/{dist/lib → lib}/config/types/load-on-demand-module.interface.cjs.js +0 -0
  383. /package/{dist/lib → lib}/config/types/load-on-demand-module.interface.cjs.js.map +0 -0
  384. /package/{dist/lib → lib}/config/types/mention-module.interface.cjs.js +0 -0
  385. /package/{dist/lib → lib}/config/types/mention-module.interface.cjs.js.map +0 -0
  386. /package/{dist/lib → lib}/config/types/paste-change.interface.cjs.js +0 -0
  387. /package/{dist/lib → lib}/config/types/paste-change.interface.cjs.js.map +0 -0
  388. /package/{dist/lib → lib}/config/types/quick-menu-module.interface.cjs.js +0 -0
  389. /package/{dist/lib → lib}/config/types/quick-menu-module.interface.cjs.js.map +0 -0
  390. /package/{dist/lib → lib}/config/types/range.interface.cjs.js +0 -0
  391. /package/{dist/lib → lib}/config/types/range.interface.cjs.js.map +0 -0
  392. /package/{dist/lib → lib}/config/types/registry-options.interface.cjs.js +0 -0
  393. /package/{dist/lib → lib}/config/types/registry-options.interface.cjs.js.map +0 -0
  394. /package/{dist/lib → lib}/config/types/selection-change.interface.cjs.js +0 -0
  395. /package/{dist/lib → lib}/config/types/selection-change.interface.cjs.js.map +0 -0
  396. /package/{dist/lib → lib}/config/types/toolbar-item.interface.cjs.js +0 -0
  397. /package/{dist/lib → lib}/config/types/toolbar-item.interface.cjs.js.map +0 -0
  398. /package/{dist/lib → lib}/config/types/type.cjs.js +0 -0
  399. /package/{dist/lib → lib}/config/types/type.cjs.js.map +0 -0
  400. /package/{dist/lib → lib}/config/types/validate-error.interface.cjs.js +0 -0
  401. /package/{dist/lib → lib}/config/types/validate-error.interface.cjs.js.map +0 -0
  402. /package/{dist/lib → lib}/counter/index.cjs.js +0 -0
  403. /package/{dist/lib → lib}/counter/index.cjs.js.map +0 -0
  404. /package/{dist/lib → lib}/custom-clipboard.cjs.js +0 -0
  405. /package/{dist/lib → lib}/custom-clipboard.cjs.js.map +0 -0
  406. /package/{dist/lib → lib}/custom-image/BlotFormatter.cjs.js +0 -0
  407. /package/{dist/lib → lib}/custom-image/BlotFormatter.cjs.js.map +0 -0
  408. /package/{dist/lib → lib}/custom-image/Options.cjs.js +0 -0
  409. /package/{dist/lib → lib}/custom-image/Options.cjs.js.map +0 -0
  410. /package/{dist/lib → lib}/custom-image/actions/Action.cjs.js +0 -0
  411. /package/{dist/lib → lib}/custom-image/actions/Action.cjs.js.map +0 -0
  412. /package/{dist/lib → lib}/custom-image/actions/CustomResizeAction.cjs.js +0 -0
  413. /package/{dist/lib → lib}/custom-image/actions/CustomResizeAction.cjs.js.map +0 -0
  414. /package/{dist/lib → lib}/custom-image/actions/DeleteAction.cjs.js +0 -0
  415. /package/{dist/lib → lib}/custom-image/actions/DeleteAction.cjs.js.map +0 -0
  416. /package/{dist/lib → lib}/custom-image/image.cjs.js +0 -0
  417. /package/{dist/lib → lib}/custom-image/image.cjs.js.map +0 -0
  418. /package/{dist/lib → lib}/custom-image/specs/BlotSpec.cjs.js +0 -0
  419. /package/{dist/lib → lib}/custom-image/specs/BlotSpec.cjs.js.map +0 -0
  420. /package/{dist/lib → lib}/custom-image/specs/CustomImageSpec.cjs.js +0 -0
  421. /package/{dist/lib → lib}/custom-image/specs/CustomImageSpec.cjs.js.map +0 -0
  422. /package/{dist/lib → lib}/custom-image/specs/ImageSpec.cjs.js +0 -0
  423. /package/{dist/lib → lib}/custom-image/specs/ImageSpec.cjs.js.map +0 -0
  424. /package/{dist/lib → lib}/custom-uploader.cjs.js +0 -0
  425. /package/{dist/lib → lib}/custom-uploader.cjs.js.map +0 -0
  426. /package/{dist/lib → lib}/emoji/emoji-list/index.cjs.js +0 -0
  427. /package/{dist/lib → lib}/emoji/emoji-list/index.cjs.js.map +0 -0
  428. /package/{dist/lib → lib}/emoji/emoji-list/people.cjs.js +0 -0
  429. /package/{dist/lib → lib}/emoji/emoji-list/people.cjs.js.map +0 -0
  430. /package/{dist/lib → lib}/emoji/emoji-list.cjs.js +0 -0
  431. /package/{dist/lib → lib}/emoji/emoji-list.cjs.js.map +0 -0
  432. /package/{dist/lib → lib}/emoji/emoji-map.cjs.js +0 -0
  433. /package/{dist/lib → lib}/emoji/emoji-map.cjs.js.map +0 -0
  434. /package/{dist/lib → lib}/emoji/formats/emoji-blot.cjs.js +0 -0
  435. /package/{dist/lib → lib}/emoji/formats/emoji-blot.cjs.js.map +0 -0
  436. /package/{dist/lib → lib}/emoji/index.cjs.js +0 -0
  437. /package/{dist/lib → lib}/emoji/index.cjs.js.map +0 -0
  438. /package/{dist/lib → lib}/emoji/modules/emoji.cjs.js +0 -0
  439. /package/{dist/lib → lib}/emoji/modules/emoji.cjs.js.map +0 -0
  440. /package/{dist/lib → lib}/emoji/modules/toolbar-emoji.cjs.js +0 -0
  441. /package/{dist/lib → lib}/emoji/modules/toolbar-emoji.cjs.js.map +0 -0
  442. /package/{dist/lib → lib}/emoji/utils.cjs.js +0 -0
  443. /package/{dist/lib → lib}/emoji/utils.cjs.js.map +0 -0
  444. /package/{dist/lib → lib}/file/formats/file.cjs.js +0 -0
  445. /package/{dist/lib → lib}/file/formats/file.cjs.js.map +0 -0
  446. /package/{dist/lib → lib}/file/index.cjs.js +0 -0
  447. /package/{dist/lib → lib}/file/index.cjs.js.map +0 -0
  448. /package/{dist/lib → lib}/file/modules/file-bar.cjs.js +0 -0
  449. /package/{dist/lib → lib}/file/modules/file-bar.cjs.js.map +0 -0
  450. /package/{dist/lib → lib}/fluent-editor.cjs.js +0 -0
  451. /package/{dist/lib → lib}/fluent-editor.cjs.js.map +0 -0
  452. /package/{dist/lib → lib}/format-painter/index.cjs.js +0 -0
  453. /package/{dist/lib → lib}/format-painter/index.cjs.js.map +0 -0
  454. /package/{dist/lib → lib}/global-link/constants.cjs.js +0 -0
  455. /package/{dist/lib → lib}/global-link/constants.cjs.js.map +0 -0
  456. /package/{dist/lib → lib}/global-link/formats/customer-widget-link.cjs.js +0 -0
  457. /package/{dist/lib → lib}/global-link/formats/customer-widget-link.cjs.js.map +0 -0
  458. /package/{dist/lib → lib}/global-link/formats/doc-link.cjs.js +0 -0
  459. /package/{dist/lib → lib}/global-link/formats/doc-link.cjs.js.map +0 -0
  460. /package/{dist/lib → lib}/global-link/formats/wiki-link.cjs.js +0 -0
  461. /package/{dist/lib → lib}/global-link/formats/wiki-link.cjs.js.map +0 -0
  462. /package/{dist/lib → lib}/global-link/formats/work-item-link.cjs.js +0 -0
  463. /package/{dist/lib → lib}/global-link/formats/work-item-link.cjs.js.map +0 -0
  464. /package/{dist/lib → lib}/global-link/global-link-panel.cjs.js +0 -0
  465. /package/{dist/lib → lib}/global-link/global-link-panel.cjs.js.map +0 -0
  466. /package/{dist/lib → lib}/global-link/index.cjs.js +0 -0
  467. /package/{dist/lib → lib}/global-link/index.cjs.js.map +0 -0
  468. /package/{dist/lib → lib}/global-link/utils/createTable.cjs.js +0 -0
  469. /package/{dist/lib → lib}/global-link/utils/createTable.cjs.js.map +0 -0
  470. /package/{dist/lib → lib}/index.cjs.js +0 -0
  471. /package/{dist/lib → lib}/index.cjs.js.map +0 -0
  472. /package/{dist/lib → lib}/link/formats/link.cjs.js +0 -0
  473. /package/{dist/lib → lib}/link/formats/link.cjs.js.map +0 -0
  474. /package/{dist/lib → lib}/link/index.cjs.js +0 -0
  475. /package/{dist/lib → lib}/link/index.cjs.js.map +0 -0
  476. /package/{dist/lib → lib}/link/modules/tooltip.cjs.js +0 -0
  477. /package/{dist/lib → lib}/link/modules/tooltip.cjs.js.map +0 -0
  478. /package/{dist/lib → lib}/mention/Mention.cjs.js +0 -0
  479. /package/{dist/lib → lib}/mention/Mention.cjs.js.map +0 -0
  480. /package/{dist/lib → lib}/mention/MentionLink.cjs.js +0 -0
  481. /package/{dist/lib → lib}/mention/MentionLink.cjs.js.map +0 -0
  482. /package/{dist/lib → lib}/mention/constants.cjs.js +0 -0
  483. /package/{dist/lib → lib}/mention/constants.cjs.js.map +0 -0
  484. /package/{dist/lib → lib}/quick-menu/index.cjs.js +0 -0
  485. /package/{dist/lib → lib}/quick-menu/index.cjs.js.map +0 -0
  486. /package/{dist/lib → lib}/screenshot/index.cjs.js +0 -0
  487. /package/{dist/lib → lib}/screenshot/index.cjs.js.map +0 -0
  488. /package/{dist/lib → lib}/soft-break/index.cjs.js +0 -0
  489. /package/{dist/lib → lib}/soft-break/index.cjs.js.map +0 -0
  490. /package/{dist/lib → lib}/strike/index.cjs.js +0 -0
  491. /package/{dist/lib → lib}/strike/index.cjs.js.map +0 -0
  492. /package/{dist/lib → lib}/syntax/index.cjs.js +0 -0
  493. /package/{dist/lib → lib}/syntax/index.cjs.js.map +0 -0
  494. /package/{dist/lib → lib}/table/better-table.cjs.js +0 -0
  495. /package/{dist/lib → lib}/table/better-table.cjs.js.map +0 -0
  496. /package/{dist/lib → lib}/table/formats/header.cjs.js +0 -0
  497. /package/{dist/lib → lib}/table/formats/header.cjs.js.map +0 -0
  498. /package/{dist/lib → lib}/table/formats/list.cjs.js +0 -0
  499. /package/{dist/lib → lib}/table/formats/list.cjs.js.map +0 -0
  500. /package/{dist/lib → lib}/table/formats/table.cjs.js +0 -0
  501. /package/{dist/lib → lib}/table/formats/table.cjs.js.map +0 -0
  502. /package/{dist/lib → lib}/table/modules/table-column-tool.cjs.js +0 -0
  503. /package/{dist/lib → lib}/table/modules/table-column-tool.cjs.js.map +0 -0
  504. /package/{dist/lib → lib}/table/modules/table-operation-menu.cjs.js +0 -0
  505. /package/{dist/lib → lib}/table/modules/table-operation-menu.cjs.js.map +0 -0
  506. /package/{dist/lib → lib}/table/modules/table-scroll-bar.cjs.js +0 -0
  507. /package/{dist/lib → lib}/table/modules/table-scroll-bar.cjs.js.map +0 -0
  508. /package/{dist/lib → lib}/table/modules/table-selection.cjs.js +0 -0
  509. /package/{dist/lib → lib}/table/modules/table-selection.cjs.js.map +0 -0
  510. /package/{dist/lib → lib}/table/table-config.cjs.js +0 -0
  511. /package/{dist/lib → lib}/table/table-config.cjs.js.map +0 -0
  512. /package/{dist/lib → lib}/table/utils/index.cjs.js +0 -0
  513. /package/{dist/lib → lib}/table/utils/index.cjs.js.map +0 -0
  514. /package/{dist/lib → lib}/table/utils/node-matchers.cjs.js +0 -0
  515. /package/{dist/lib → lib}/table/utils/node-matchers.cjs.js.map +0 -0
  516. /package/{dist/lib → lib}/toolbar/better-picker.cjs.js +0 -0
  517. /package/{dist/lib → lib}/toolbar/better-picker.cjs.js.map +0 -0
  518. /package/{dist/lib → lib}/toolbar/index.cjs.js +0 -0
  519. /package/{dist/lib → lib}/toolbar/index.cjs.js.map +0 -0
  520. /package/{dist/lib → lib}/utils/debounce.cjs.js +0 -0
  521. /package/{dist/lib → lib}/utils/debounce.cjs.js.map +0 -0
  522. /package/{dist/lib → lib}/utils/image.cjs.js +0 -0
  523. /package/{dist/lib → lib}/utils/image.cjs.js.map +0 -0
  524. /package/{dist/lib → lib}/utils/method.cjs.js +0 -0
  525. /package/{dist/lib → lib}/utils/method.cjs.js.map +0 -0
  526. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js +0 -0
  527. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js.map +0 -0
  528. /package/{dist/lib → lib}/video/index.cjs.js +0 -0
  529. /package/{dist/lib → lib}/video/index.cjs.js.map +0 -0
  530. /package/{dist/style.css → style.css} +0 -0
@@ -1,146 +0,0 @@
1
- import Quill from 'quill'
2
- // devui-internal api: utils\public-api.ts
3
-
4
- import { Range } from 'quill/core/selection'
5
- import { unshiftString } from '../../utils/method'
6
- import File from '../formats/file'
7
-
8
- const Delta = Quill.imports.delta
9
-
10
- export default class FileBar {
11
- quill: any
12
- file: any
13
- domNode: HTMLElement
14
- fileRange: any
15
- template: string
16
-
17
- constructor(quill, target) {
18
- this.quill = quill
19
- this.file = target
20
- const fileBlot = Quill.find(target)
21
- const index = this.quill.getIndex(fileBlot)
22
- const [fileItem, offset] = this.quill.scroll.descendant(File, index)
23
- const length = fileItem && fileItem.length()
24
- this.fileRange = new Range(index - offset, length)
25
-
26
- const timestamp = Number(this.file.dataset.lastModified)
27
- const _lastModifiedDate = this.formatDate(timestamp)
28
- this.template = [
29
- // `<a class="ql-last-modified-date" href="${this.file.href}" target="_blank">${this.file.href}</a>`,
30
- // '<span class="ql-split"></span>',
31
- // `<a class="ql-file-preview"><i class="icon-preview"></i></a>`,
32
- `<a class="ql-file-download"><i class="icon-download"></i></a>`,
33
- '<a class="ql-file-delete"><i class="icon-delete"></i></a>',
34
- ].join('')
35
-
36
- this.createFileBar()
37
- }
38
-
39
- createFileBar() {
40
- this.domNode = document.createElement('div')
41
- this.domNode.className = 'ql-file-bar'
42
- this.domNode.innerHTML = this.template
43
- // 查看文件
44
- const filePreview = this.domNode.querySelector('a.ql-file-preview')
45
- if (filePreview) {
46
- filePreview.addEventListener('click', (event) => {
47
- this.operateFile(event, 'view')
48
- })
49
- }
50
- // 下载文件
51
- const fileDownload = this.domNode.querySelector('a.ql-file-download')
52
- if (fileDownload) {
53
- fileDownload.addEventListener('click', (event) => {
54
- this.operateFile(event, 'download')
55
- })
56
- }
57
- // 删除文件
58
- const fileDelete = this.domNode.querySelector('a.ql-file-delete')
59
- if (fileDelete) {
60
- fileDelete.addEventListener('click', (event) => {
61
- this.operateFile(event, 'delete')
62
- const delta = new Delta()
63
- .retain(this.fileRange.index)
64
- .delete(this.fileRange.length)
65
- this.quill.updateContents(delta, Quill.sources.USER)
66
- this.quill.setSelection(this.fileRange.index)
67
- })
68
- }
69
-
70
- this.setPosition()
71
- this.quill.root.parentNode.appendChild(this.domNode)
72
- }
73
-
74
- destroy() {
75
- if (this.domNode) {
76
- this.domNode.remove()
77
- this.domNode = null
78
- this.file = null
79
- }
80
- }
81
-
82
- operateFile(event, operate) {
83
- event.preventDefault()
84
- const fileId = this.file.dataset.id || ''
85
- const fileDownloadUrl = this.file.href
86
- if (fileId) {
87
- this.quill.emitter.emit('file-change', {
88
- operation: operate,
89
- data: { fileId, fileDownloadUrl },
90
- })
91
- }
92
- if (operate === 'download') {
93
- const a = document.createElement('a')
94
- a.href = fileDownloadUrl
95
- a.target = '_blank'
96
- a.id = 'exppub'
97
- document.body.appendChild(a)
98
- const alink = document.getElementById('exppub')
99
- alink.click()
100
- alink.parentNode.removeChild(a)
101
- }
102
- this.destroy()
103
- }
104
-
105
- setPosition() {
106
- if (this.domNode && this.file) {
107
- const parent = this.quill.root.parentNode
108
- const child = this.file.querySelector('span')
109
- const containerRect = parent.getBoundingClientRect()
110
- const fileRect = child.getBoundingClientRect()
111
- this.css(this.domNode, {
112
- left: `${fileRect.left - containerRect.left}px`,
113
- top: `${fileRect.top - containerRect.top + 10}px`,
114
- })
115
- }
116
- }
117
-
118
- css(domNode, rules) {
119
- if (typeof rules === 'object') {
120
- for (const prop in rules) {
121
- if (prop) {
122
- if (Array.isArray(rules[prop])) {
123
- // 兼容IE11浏览器
124
- rules[prop].forEach((val) => {
125
- domNode.style[prop] = val
126
- })
127
- }
128
- else {
129
- domNode.style[prop] = rules[prop]
130
- }
131
- }
132
- }
133
- }
134
- }
135
-
136
- formatDate(timestamp) {
137
- const date = new Date(timestamp)
138
- const year = date.getFullYear()
139
- // TODO
140
- const month = unshiftString(`${date.getMonth() + 1}`, 2, '0')
141
- const day = unshiftString(`${date.getDate()}`, 2, '0')
142
- const hour = unshiftString(`${date.getHours()}`, 2, '0')
143
- const minute = unshiftString(`${date.getMinutes()}`, 2, '0')
144
- return Number.isNaN(year) ? '--' : `${year}/${month}/${day} ${hour}:${minute}`
145
- }
146
- }
@@ -1,164 +0,0 @@
1
- import type { Module, Parchment as TypeParchment } from 'quill'
2
- import type { IEditorConfig } from './config/types'
3
- import Quill from 'quill'
4
- import { FontStyle, LineHeightStyle, SizeStyle, TextIndentStyle } from './attributors'
5
- import { getListValue, ICONS_CONFIG, inputFile, TABLE_RIGHT_MENU_CONFIG } from './config'
6
- import Counter from './counter' // 字符统计
7
- import CustomClipboard from './custom-clipboard' // 粘贴板
8
- import CustomImage from './custom-image/BlotFormatter' // 图片
9
- import { CustomImageSpec } from './custom-image/specs/CustomImageSpec' // 图片拉伸模块
10
- import CustomUploader from './custom-uploader' // 上传
11
- import Emoji from './emoji' // 表情
12
- import FileModule from './file' // 文件
13
- import { FormatPainter } from './format-painter'
14
- import Link from './link' // 超链接
15
- import Mention from './mention/Mention' // @提醒
16
- import { Screenshot } from './screenshot'// 截图
17
- import SoftBreak from './soft-break' // 软回车
18
- import Strike from './strike' // 删除线
19
- import CustomSyntax from './syntax' // 代码块高亮
20
- import BetterTable from './table/better-table' // 表格
21
- import Toolbar from './toolbar' // 工具栏
22
- import Video from './video' // 视频
23
- // import GlobalLink from './global-link' // 全局链接
24
- // import QuickMenu from './quick-menu' // 快捷菜单
25
-
26
- class FluentEditor extends Quill {
27
- constructor(container: HTMLElement | string, options: IEditorConfig = {}) {
28
- super(container, options)
29
- }
30
- }
31
-
32
- const registerModules = function () {
33
- const Icons = Quill.imports['ui/icons']
34
- const iconKeys = Object.keys(ICONS_CONFIG)
35
- iconKeys.forEach((iconKey) => {
36
- Icons[iconKey] = ICONS_CONFIG[iconKey]
37
- })
38
-
39
- const SnowTheme = Quill.imports['themes/snow'] as typeof Module
40
- SnowTheme.DEFAULTS = {
41
- modules: {
42
- 'keyboard': {
43
- bindings: {
44
- ...BetterTable.keyboardBindings,
45
- },
46
- },
47
- 'toolbar': {
48
- handlers: {
49
- ...(SnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,
50
- 'undo': function () {
51
- this.quill.history.undo()
52
- },
53
- 'redo': function () {
54
- this.quill.history.redo()
55
- },
56
- 'better-table': function () {
57
- this.quill.getModule('better-table').insertTable(3, 3)
58
- },
59
- 'file': function () {
60
- const accept = this.quill.options?.uploadOption?.fileAccept
61
- inputFile.call(this, 'file', accept)
62
- },
63
- 'image': function () {
64
- const accept = this.quill.options?.uploadOption?.imageAccept
65
- inputFile.call(this, 'image', accept)
66
- },
67
- 'emoji': function () {},
68
- 'fullscreen': function () {},
69
- 'list': function (value) {
70
- const range = this.quill.getSelection()
71
- const formats = this.quill.getFormat(range)
72
- const preListValue = Array.isArray(formats.list) ? formats.list[0]?.value : formats.list?.value
73
- const curListValue = getListValue(value, preListValue)
74
- // 如果设置list的选区中有表格,判断第一个table-col位置,将表格前的内容设置为list格式
75
- const lines = this.quill.getLines(range.index, range.length)
76
- const tableCols = lines.filter(line => line.statics.blotName === 'table-col' && !line.prev)
77
- if (tableCols.length) {
78
- let start = range.index
79
- // 遍历table-col群组,以之获取表格,将表格前选区设置为对应list格式
80
- tableCols.forEach((item, index) => {
81
- const table = item.domNode.closest('table.quill-better-table')
82
- const tableBlot = Quill.find(table) as TypeParchment.Blot
83
- const tableLength = tableBlot.length()
84
- const tableStart = this.quill.getIndex(item)
85
- const tableEnd = tableStart + tableLength
86
- const beforeTableRangeLength = tableStart - start
87
- // 在表格前设置列表
88
- this.quill.setSelection(start, beforeTableRangeLength, Quill.sources.SILENT)
89
- this.quill.format('list', curListValue, Quill.sources.USER)
90
- table.parentNode.classList.remove('quill-better-table-selected')
91
- // 当前表格末尾为下一个选取的开始
92
- start = tableEnd
93
- if (index === tableCols.length - 1) {
94
- // 将最后一个表格之后所有选区内容设置list格式
95
- this.quill.setSelection(tableEnd, range.index + range.length - tableEnd)
96
- this.quill.format('list', curListValue, Quill.sources.USER)
97
- }
98
- })
99
- }
100
- else {
101
- this.quill.format('list', curListValue, Quill.sources.USER)
102
- }
103
- },
104
- [FormatPainter.toolName]: FormatPainter,
105
- [Screenshot.toolName]: Screenshot,
106
- },
107
- },
108
- 'better-table': {
109
- operationMenu: {
110
- items: TABLE_RIGHT_MENU_CONFIG,
111
- color: true,
112
- },
113
- },
114
- 'image': {
115
- specs: [CustomImageSpec],
116
- overlay: {
117
- style: {
118
- border: '1px dashed rgb(68, 68, 68)',
119
- },
120
- },
121
- align: {
122
- icons: {
123
- left: '<i class="icon-text-align-left"></i>',
124
- center: '<i class="icon-text-align-center"></i>',
125
- right: '<i class="icon-text-align-right"></i>',
126
- },
127
- },
128
- },
129
- },
130
- }
131
-
132
- FluentEditor.register(
133
- {
134
- 'modules/toolbar': Toolbar,
135
- 'modules/mention': Mention,
136
- 'modules/better-table': BetterTable,
137
- 'modules/clipboard': CustomClipboard,
138
- 'modules/uploader': CustomUploader, // 三者关联性最强
139
- 'modules/image': CustomImage, // 三者关联性最强
140
- 'modules/file': FileModule, // 三者关联性最强
141
- 'modules/counter': Counter,
142
- 'modules/emoji-toolbar': Emoji.ToolbarEmoji,
143
- 'modules/emoji-shortname': Emoji.ShortNameEmoji,
144
- // 'modules/global-link': GlobalLink,//暂未开发
145
- 'modules/link': Link, // 报错
146
- // 'modules/quickmenu': QuickMenu,//暂未开发
147
- 'modules/syntax': CustomSyntax,
148
-
149
- 'formats/strike': Strike,
150
- 'formats/softBreak': SoftBreak,
151
- 'formats/video': Video,
152
- 'formats/emoji': Emoji.EmojiBlot,
153
- 'formats/font': FontStyle,
154
- 'formats/size': SizeStyle,
155
- 'formats/line-height': LineHeightStyle,
156
- 'formats/text-indent': TextIndentStyle,
157
- },
158
- true, // 覆盖内部模块
159
- )
160
-
161
- return FluentEditor
162
- }
163
-
164
- export default registerModules()
@@ -1,79 +0,0 @@
1
- import type { Range } from 'quill'
2
- import type Toolbar from 'quill/modules/toolbar'
3
- import Quill from 'quill'
4
-
5
- interface FormatData {
6
- formatPainter: {
7
- rangeFormat: Record<string, any>
8
- isFormatterLock: boolean
9
- isFormating: boolean
10
- prepareLock: boolean
11
- }
12
- }
13
- export function FormatPainter(this: Toolbar & FormatData) {
14
- if (!this.formatPainter) {
15
- this.formatPainter = {
16
- rangeFormat: {},
17
- isFormatterLock: false,
18
- isFormating: false,
19
- prepareLock: false,
20
- }
21
- }
22
- const [, formatterBtn] = this.controls.find(([name]) => name === FormatPainter.toolName)
23
- const formatRange = (range: Range | null) => {
24
- if (!range) return
25
- this.quill.removeFormat(range.index, range.length)
26
- for (const format in this.formatPainter.rangeFormat) {
27
- this.quill.format(format, this.formatPainter.rangeFormat[format], Quill.sources.USER)
28
- }
29
- if (!this.formatPainter.isFormatterLock) {
30
- unbindFormatSelect()
31
- }
32
- else {
33
- btnActive()
34
- }
35
- }
36
- // setTime for Toolbar.update
37
- const btnActive = () => {
38
- setTimeout(() => {
39
- formatterBtn.classList.add('ql-active')
40
- }, 0)
41
- }
42
- const btnRemoveActive = () => {
43
- setTimeout(() => {
44
- formatterBtn.classList.remove('ql-active')
45
- }, 0)
46
- }
47
- const bindFormatSelect = () => {
48
- const range = this.quill.getSelection()
49
- if (range.length === 0) return
50
- this.formatPainter.rangeFormat = this.quill.getFormat(range)
51
- this.formatPainter.isFormating = true
52
- this.quill.on(Quill.events.SELECTION_CHANGE, formatRange)
53
- btnActive()
54
- }
55
- const unbindFormatSelect = () => {
56
- this.quill.off(Quill.events.SELECTION_CHANGE, formatRange)
57
- this.formatPainter.rangeFormat = undefined
58
- btnRemoveActive()
59
- this.formatPainter.isFormating = false
60
- this.formatPainter.isFormatterLock = false
61
- }
62
-
63
- if (this.formatPainter.isFormatterLock || (this.formatPainter.isFormating && !this.formatPainter.prepareLock)) {
64
- unbindFormatSelect()
65
- }
66
- else if (this.formatPainter.isFormating && this.formatPainter.prepareLock) {
67
- this.formatPainter.isFormatterLock = true
68
- btnActive()
69
- }
70
- else {
71
- // imitate double click
72
- this.formatPainter.prepareLock = true
73
- setTimeout(() => {
74
- this.formatPainter.prepareLock = false
75
- }, 200)
76
- bindFormatSelect()
77
- }
78
- }
79
- FormatPainter.toolName = 'format-painter'
@@ -1,3 +0,0 @@
1
- export const ON_WIKI_LINK_REMOVE = 'wiki-link/remove'
2
- export const ON_DOC_LINK_REMOVE = 'doc-link/remove'
3
- export const ON_WORK_ITEM_LINK_REMOVE = 'work-item-link/remove'
@@ -1,36 +0,0 @@
1
- import Quill from 'quill'
2
-
3
- const BlockEmbed = Quill.imports['blots/block/embed']
4
-
5
- // @dynamic
6
- class CustomerWidgetLink extends BlockEmbed {
7
- static blotName: string
8
- static tagName: string
9
- static className: string
10
-
11
- static create(value) {
12
- const node = super.create(value)
13
- node.setAttribute('data-widget-type', value.type)
14
- node.setAttribute('data-widget-id', value.id)
15
- node.setAttribute('src', value.value)
16
- return node
17
- }
18
-
19
- static value(domNode) {
20
- return {
21
- type: domNode.getAttribute('data-widget-type'),
22
- id: domNode.getAttribute('data-widget-id'),
23
- value: domNode.getAttribute('src'),
24
- }
25
- }
26
-
27
- constructor(scroll, domNode, data) {
28
- super(scroll, domNode, data)
29
- }
30
- }
31
-
32
- CustomerWidgetLink.blotName = 'customer-widget-link'
33
- CustomerWidgetLink.tagName = 'img'
34
- CustomerWidgetLink.className = 'ql-customer-widget-link'
35
-
36
- export default CustomerWidgetLink
@@ -1,55 +0,0 @@
1
- import Quill from 'quill'
2
- import { ON_DOC_LINK_REMOVE } from '../constants'
3
-
4
- const Embed = Quill.imports['blots/embed']
5
-
6
- // @dynamic
7
- class DocumentLink extends Embed {
8
- static blotName: string
9
- static tagName: string
10
- static className: string
11
- docData: any
12
- scroll: any
13
-
14
- static create(value) {
15
- const node = super.create(value)
16
- node.setAttribute('href', value.link)
17
- node.setAttribute('title', value.text)
18
- node.setAttribute('target', '_blank')
19
- node.setAttribute('icon-link', value.icon)
20
-
21
- const icon = document.createElement('span')
22
- icon.classList.add('ql-doc-link-icon')
23
- icon.style.background = `url(${value.icon}) no-repeat center`
24
- icon.style.backgroundSize = 'contain'
25
-
26
- node.insertAdjacentElement('afterbegin', icon)
27
- const text = document.createTextNode(value.text)
28
- node.appendChild(text)
29
- return node
30
- }
31
-
32
- static value(domNode) {
33
- return {
34
- link: domNode.getAttribute('href'),
35
- icon: domNode.getAttribute('icon-link'),
36
- text: domNode.textContent,
37
- }
38
- }
39
-
40
- constructor(scroll, domNode, data) {
41
- super(scroll, domNode, data)
42
- this.docData = data
43
- }
44
-
45
- remove() {
46
- this.scroll.emitter.emit(ON_DOC_LINK_REMOVE, this.docData)
47
- return super.remove()
48
- }
49
- }
50
-
51
- DocumentLink.blotName = 'doc-link'
52
- DocumentLink.tagName = 'A'
53
- DocumentLink.className = 'ql-doc-link'
54
-
55
- export default DocumentLink
@@ -1,45 +0,0 @@
1
- import Quill from 'quill'
2
- import { ON_WIKI_LINK_REMOVE } from '../constants'
3
-
4
- const Embed = Quill.imports['blots/embed']
5
-
6
- // @dynamic
7
- class WikiLink extends Embed {
8
- static blotName: string
9
- static tagName: string
10
- static className: string
11
- wikiData: any
12
- scroll: any
13
-
14
- static create(value) {
15
- const node = super.create(value)
16
- node.setAttribute('href', value.link)
17
- node.setAttribute('target', '_blank')
18
- node.setAttribute('title', value.text)
19
- node.textContent = value.text
20
- return node
21
- }
22
-
23
- static value(domNode) {
24
- return {
25
- link: domNode.getAttribute('href'),
26
- text: domNode.textContent,
27
- }
28
- }
29
-
30
- constructor(scroll, domNode, data) {
31
- super(scroll, domNode, data)
32
- this.wikiData = data
33
- }
34
-
35
- remove() {
36
- this.scroll.emitter.emit(ON_WIKI_LINK_REMOVE, this.wikiData)
37
- return super.remove()
38
- }
39
- }
40
-
41
- WikiLink.blotName = 'wiki-link'
42
- WikiLink.tagName = 'A'
43
- WikiLink.className = 'ql-wiki-link'
44
-
45
- export default WikiLink
@@ -1,47 +0,0 @@
1
- import Quill from 'quill'
2
- import { ON_WORK_ITEM_LINK_REMOVE } from '../constants'
3
- import { createTable } from '../utils/createTable'
4
-
5
- const BlockEmbed = Quill.imports['blots/block/embed']
6
-
7
- // @dynamic
8
- class WorkItemLink extends BlockEmbed {
9
- static blotName: string
10
- static tagName: string
11
- static className: string
12
- workItemData: any
13
- scroll: any
14
-
15
- static create(value) {
16
- const node = super.create(value)
17
- node.setAttribute('contenteditable', 'false')
18
- node.setAttribute('href', value.link)
19
- node.setAttribute('__work_item_data__', JSON.stringify(value.data))
20
- const table = createTable(value.data)
21
- node.appendChild(table)
22
- return node
23
- }
24
-
25
- static value(domNode) {
26
- return {
27
- link: domNode.getAttribute('href'),
28
- data: JSON.parse(domNode.getAttribute('__work_item_data__')),
29
- }
30
- }
31
-
32
- constructor(scroll, domNode, data) {
33
- super(scroll, domNode, data)
34
- this.workItemData = data
35
- }
36
-
37
- remove() {
38
- this.scroll.emitter.emit(ON_WORK_ITEM_LINK_REMOVE, this.workItemData)
39
- return super.remove()
40
- }
41
- }
42
-
43
- WorkItemLink.blotName = 'work-item-link'
44
- WorkItemLink.tagName = 'div'
45
- WorkItemLink.className = 'ql-work-item-link'
46
-
47
- export default WorkItemLink
@@ -1,20 +0,0 @@
1
- import type { EventEmitter } from '@angular/core'
2
-
3
- interface WikiLink {
4
- link: string
5
- text: string
6
- }
7
-
8
- interface DocLink {
9
- link: string
10
- text: string
11
- icon: string
12
- }
13
-
14
- export interface GlobalLinkPanel {
15
- wikiLink: EventEmitter<WikiLink[]>
16
- docLink: EventEmitter<DocLink[]>
17
- workItemLink: EventEmitter<any>
18
- close?: EventEmitter<any>
19
- autoClose?: boolean
20
- }