@opentiny/fluent-editor 3.20.2 → 3.20.4-alpha.0

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 (646) hide show
  1. package/{dist/es → es}/config/editor.utils.es.js +7 -0
  2. package/{dist/es → es}/config/editor.utils.es.js.map +1 -1
  3. package/{dist/es → es}/config/icons.config.es.js +6 -0
  4. package/{dist/es → es}/config/icons.config.es.js.map +1 -1
  5. package/{dist/es → es}/config/index.es.js +6 -3
  6. package/es/config/index.es.js.map +1 -0
  7. package/es/config/types/editor-toolbar.interface.es.js +2 -0
  8. package/es/config/types/editor-toolbar.interface.es.js.map +1 -0
  9. package/{dist/es → es}/config/types/index.es.js +1 -0
  10. package/{dist/es → es}/config/types/index.es.js.map +1 -1
  11. package/{dist/es → es}/custom-image/BlotFormatter.es.js +0 -1
  12. package/es/custom-image/BlotFormatter.es.js.map +1 -0
  13. package/{dist/es → es}/fluent-editor.es.js +7 -6
  14. package/es/fluent-editor.es.js.map +1 -0
  15. package/es/fullscreen/handler.es.js +51 -0
  16. package/es/fullscreen/handler.es.js.map +1 -0
  17. package/{dist/es → es}/index.es.js +3 -2
  18. package/{dist/es → es}/link/formats/link.es.js +11 -6
  19. package/es/link/formats/link.es.js.map +1 -0
  20. package/{dist/es → es}/link/index.es.js +3 -3
  21. package/es/link/index.es.js.map +1 -0
  22. package/{dist/es → es}/link/modules/tooltip.es.js +22 -7
  23. package/es/link/modules/tooltip.es.js.map +1 -0
  24. package/{dist/lib → lib}/config/editor.utils.cjs.js +7 -0
  25. package/{dist/lib → lib}/config/editor.utils.cjs.js.map +1 -1
  26. package/{dist/lib → lib}/config/icons.config.cjs.js +6 -0
  27. package/{dist/lib → lib}/config/icons.config.cjs.js.map +1 -1
  28. package/{dist/lib → lib}/config/index.cjs.js +4 -1
  29. package/lib/config/index.cjs.js.map +1 -0
  30. package/lib/config/types/editor-toolbar.interface.cjs.js +2 -0
  31. package/lib/config/types/editor-toolbar.interface.cjs.js.map +1 -0
  32. package/{dist/lib → lib}/config/types/index.cjs.js +1 -0
  33. package/{dist/lib → lib}/config/types/index.cjs.js.map +1 -1
  34. package/{dist/lib → lib}/custom-image/BlotFormatter.cjs.js +0 -1
  35. package/lib/custom-image/BlotFormatter.cjs.js.map +1 -0
  36. package/{dist/lib → lib}/fluent-editor.cjs.js +7 -6
  37. package/lib/fluent-editor.cjs.js.map +1 -0
  38. package/lib/fullscreen/handler.cjs.js +51 -0
  39. package/lib/fullscreen/handler.cjs.js.map +1 -0
  40. package/{dist/lib → lib}/index.cjs.js +1 -0
  41. package/{dist/lib → lib}/index.cjs.js.map +1 -1
  42. package/{dist/lib → lib}/link/formats/link.cjs.js +10 -5
  43. package/lib/link/formats/link.cjs.js.map +1 -0
  44. package/{dist/lib → lib}/link/index.cjs.js +3 -3
  45. package/lib/link/index.cjs.js.map +1 -0
  46. package/{dist/lib → lib}/link/modules/tooltip.cjs.js +24 -9
  47. package/lib/link/modules/tooltip.cjs.js.map +1 -0
  48. package/package.json +6 -4
  49. package/{dist/style.css → style.css} +28 -0
  50. package/types/attributors/index.d.ts +4 -0
  51. package/types/config/base64-image.d.ts +3 -0
  52. package/types/config/editor.config.d.ts +95 -0
  53. package/types/config/editor.utils.d.ts +42 -0
  54. package/types/config/i18n/en-us.d.ts +86 -0
  55. package/types/config/i18n/zh-cn.d.ts +86 -0
  56. package/types/config/icons.config.d.ts +34 -0
  57. package/types/config/index.d.ts +49 -0
  58. package/types/config/types/additional-toolbar-item.interface.d.ts +8 -0
  59. package/types/config/types/content-change.interface.d.ts +13 -0
  60. package/types/config/types/content-save.interface.d.ts +6 -0
  61. package/types/config/types/counter-option.interface.d.ts +9 -0
  62. package/types/config/types/editor-config.interface.d.ts +21 -0
  63. package/types/config/types/editor-modules.interface.d.ts +31 -0
  64. package/types/config/types/editor-toolbar.interface.d.ts +6 -0
  65. package/types/config/types/file-operation.interface.d.ts +12 -0
  66. package/types/config/types/focus-change.interface.d.ts +4 -0
  67. package/types/config/types/fullscreen-module.interface.d.ts +4 -0
  68. package/types/config/types/help-panel-item.interface.d.ts +5 -0
  69. package/types/config/types/help-panel-option.interface.d.ts +7 -0
  70. package/{src/config/types/image-module.interface.ts → types/config/types/image-module.interface.d.ts} +1 -1
  71. package/types/config/types/image-upload.interface.d.ts +7 -0
  72. package/types/config/types/index.d.ts +23 -0
  73. package/types/config/types/load-on-demand-module.interface.d.ts +5 -0
  74. package/types/config/types/mention-module.interface.d.ts +8 -0
  75. package/types/config/types/paste-change.interface.d.ts +6 -0
  76. package/{src/config/types/quick-menu-module.interface.ts → types/config/types/quick-menu-module.interface.d.ts} +1 -1
  77. package/types/config/types/range.interface.d.ts +4 -0
  78. package/types/config/types/registry-options.interface.d.ts +5 -0
  79. package/types/config/types/selection-change.interface.d.ts +8 -0
  80. package/types/config/types/toolbar-item.interface.d.ts +13 -0
  81. package/types/config/types/type.d.ts +5 -0
  82. package/types/config/types/validate-error.interface.d.ts +13 -0
  83. package/types/counter/index.d.ts +12 -0
  84. package/types/custom-clipboard.d.ts +26 -0
  85. package/types/custom-image/BlotFormatter.d.ts +24 -0
  86. package/types/custom-image/Options.d.ts +36 -0
  87. package/types/custom-image/actions/Action.d.ts +7 -0
  88. package/types/custom-image/actions/CustomResizeAction.d.ts +24 -0
  89. package/types/custom-image/actions/DeleteAction.d.ts +7 -0
  90. package/types/custom-image/image.d.ts +28 -0
  91. package/types/custom-image/specs/BlotSpec.d.ts +13 -0
  92. package/types/custom-image/specs/CustomImageSpec.d.ts +21 -0
  93. package/types/custom-image/specs/ImageSpec.d.ts +10 -0
  94. package/types/custom-uploader.d.ts +30 -0
  95. package/types/emoji/emoji-list/index.d.ts +1 -0
  96. package/types/emoji/emoji-list/people.d.ts +1 -0
  97. package/types/emoji/emoji-list.d.ts +2 -0
  98. package/types/emoji/emoji-map.d.ts +2 -0
  99. package/types/emoji/formats/emoji-blot.d.ts +13 -0
  100. package/types/emoji/index.d.ts +10 -0
  101. package/types/emoji/modules/emoji.d.ts +38 -0
  102. package/types/emoji/modules/toolbar-emoji.d.ts +8 -0
  103. package/types/emoji/utils.d.ts +1 -0
  104. package/types/file/formats/file.d.ts +15 -0
  105. package/types/file/index.d.ts +11 -0
  106. package/types/file/modules/file-bar.d.ts +14 -0
  107. package/types/fluent-editor.d.ts +9 -0
  108. package/types/format-painter/index.d.ts +15 -0
  109. package/types/fullscreen/handler.d.ts +3 -0
  110. package/types/global-link/constants.d.ts +3 -0
  111. package/types/global-link/formats/customer-widget-link.d.ts +14 -0
  112. package/types/global-link/formats/doc-link.d.ts +17 -0
  113. package/types/global-link/formats/wiki-link.d.ts +16 -0
  114. package/types/global-link/formats/work-item-link.d.ts +16 -0
  115. package/types/global-link/global-link-panel.d.ts +19 -0
  116. package/types/global-link/index.d.ts +18 -0
  117. package/types/global-link/utils/createTable.d.ts +1 -0
  118. package/types/index.d.ts +4 -0
  119. package/types/link/formats/link.d.ts +16 -0
  120. package/types/link/index.d.ts +6 -0
  121. package/types/link/modules/tooltip.d.ts +32 -0
  122. package/types/mention/Mention.d.ts +56 -0
  123. package/types/mention/MentionLink.d.ts +18 -0
  124. package/types/mention/constants.d.ts +3 -0
  125. package/types/quick-menu/index.d.ts +22 -0
  126. package/types/screenshot/index.d.ts +20 -0
  127. package/types/soft-break/index.d.ts +14 -0
  128. package/types/strike/index.d.ts +7 -0
  129. package/types/syntax/index.d.ts +14 -0
  130. package/types/table/better-table.d.ts +27 -0
  131. package/types/table/formats/header.d.ts +22 -0
  132. package/types/table/formats/list.d.ts +34 -0
  133. package/types/table/formats/table.d.ts +147 -0
  134. package/types/table/modules/table-column-tool.d.ts +23 -0
  135. package/types/table/modules/table-operation-menu.d.ts +32 -0
  136. package/types/table/modules/table-scroll-bar.d.ts +33 -0
  137. package/types/table/modules/table-selection.d.ts +37 -0
  138. package/types/table/table-config.d.ts +38 -0
  139. package/types/table/utils/index.d.ts +17 -0
  140. package/types/table/utils/node-matchers.d.ts +9 -0
  141. package/types/toolbar/better-picker.d.ts +1 -0
  142. package/types/toolbar/index.d.ts +8 -0
  143. package/types/utils/debounce.d.ts +6 -0
  144. package/types/utils/image.d.ts +1 -0
  145. package/types/utils/method.d.ts +7 -0
  146. package/types/utils/scroll-lock.d.ts +6 -0
  147. package/types/video/index.d.ts +16 -0
  148. package/dist/es/config/index.es.js.map +0 -1
  149. package/dist/es/custom-image/BlotFormatter.es.js.map +0 -1
  150. package/dist/es/fluent-editor.es.js.map +0 -1
  151. package/dist/es/link/formats/link.es.js.map +0 -1
  152. package/dist/es/link/index.es.js.map +0 -1
  153. package/dist/es/link/modules/tooltip.es.js.map +0 -1
  154. package/dist/lib/config/index.cjs.js.map +0 -1
  155. package/dist/lib/custom-image/BlotFormatter.cjs.js.map +0 -1
  156. package/dist/lib/fluent-editor.cjs.js.map +0 -1
  157. package/dist/lib/link/formats/link.cjs.js.map +0 -1
  158. package/dist/lib/link/index.cjs.js.map +0 -1
  159. package/dist/lib/link/modules/tooltip.cjs.js.map +0 -1
  160. package/dist/package.json +0 -52
  161. package/scripts/pre-release.js +0 -34
  162. package/src/assets/better-table.scss +0 -367
  163. package/src/assets/common.scss +0 -279
  164. package/src/assets/counter.scss +0 -19
  165. package/src/assets/custom-image.scss +0 -20
  166. package/src/assets/editor.scss +0 -365
  167. package/src/assets/emoji/emoji.scss +0 -461
  168. package/src/assets/emoji/style.scss +0 -252
  169. package/src/assets/fileBar.scss +0 -116
  170. package/src/assets/font.scss +0 -36
  171. package/src/assets/fullscreen.scss +0 -21
  172. package/src/assets/iconfont/iconfont.ttf +0 -0
  173. package/src/assets/iconfont/iconfont.woff +0 -0
  174. package/src/assets/iconfont/iconfont.woff2 +0 -0
  175. package/src/assets/image1.png +0 -0
  176. package/src/assets/lineHeight.scss +0 -16
  177. package/src/assets/link.scss +0 -130
  178. package/src/assets/mention.scss +0 -48
  179. package/src/assets/screenshot.scss +0 -78
  180. package/src/assets/size.scss +0 -13
  181. package/src/assets/style.scss +0 -39
  182. package/src/assets/tasklist.scss +0 -76
  183. package/src/assets/toolbar.scss +0 -416
  184. package/src/attributors/font-size.ts +0 -6
  185. package/src/attributors/font-style.ts +0 -6
  186. package/src/attributors/index.ts +0 -4
  187. package/src/attributors/line-height.ts +0 -6
  188. package/src/attributors/text-indent.ts +0 -6
  189. package/src/config/base64-image.ts +0 -8
  190. package/src/config/editor.config.ts +0 -88
  191. package/src/config/editor.utils.ts +0 -199
  192. package/src/config/i18n/en-us.ts +0 -106
  193. package/src/config/i18n/zh-cn.ts +0 -104
  194. package/src/config/icons.config.ts +0 -297
  195. package/src/config/index.ts +0 -171
  196. package/src/config/types/additional-toolbar-item.interface.ts +0 -8
  197. package/src/config/types/content-change.interface.ts +0 -13
  198. package/src/config/types/content-save.interface.ts +0 -6
  199. package/src/config/types/counter-option.interface.ts +0 -9
  200. package/src/config/types/editor-config.interface.ts +0 -22
  201. package/src/config/types/editor-modules.interface.ts +0 -41
  202. package/src/config/types/file-operation.interface.ts +0 -12
  203. package/src/config/types/focus-change.interface.ts +0 -4
  204. package/src/config/types/fullscreen-module.interface.ts +0 -4
  205. package/src/config/types/help-panel-item.interface.ts +0 -5
  206. package/src/config/types/help-panel-option.interface.ts +0 -7
  207. package/src/config/types/image-upload.interface.ts +0 -7
  208. package/src/config/types/index.ts +0 -22
  209. package/src/config/types/load-on-demand-module.interface.ts +0 -5
  210. package/src/config/types/mention-module.interface.ts +0 -8
  211. package/src/config/types/paste-change.interface.ts +0 -6
  212. package/src/config/types/range.interface.ts +0 -4
  213. package/src/config/types/registry-options.interface.ts +0 -5
  214. package/src/config/types/selection-change.interface.ts +0 -8
  215. package/src/config/types/toolbar-item.interface.ts +0 -13
  216. package/src/config/types/type.ts +0 -5
  217. package/src/config/types/validate-error.interface.ts +0 -11
  218. package/src/counter/index.ts +0 -69
  219. package/src/custom-clipboard.ts +0 -633
  220. package/src/custom-image/BlotFormatter.ts +0 -167
  221. package/src/custom-image/Options.ts +0 -150
  222. package/src/custom-image/actions/Action.ts +0 -13
  223. package/src/custom-image/actions/CustomResizeAction.ts +0 -207
  224. package/src/custom-image/actions/DeleteAction.ts +0 -29
  225. package/src/custom-image/image.ts +0 -118
  226. package/src/custom-image/specs/BlotSpec.ts +0 -30
  227. package/src/custom-image/specs/CustomImageSpec.ts +0 -139
  228. package/src/custom-image/specs/ImageSpec.ts +0 -33
  229. package/src/custom-uploader.ts +0 -199
  230. package/src/emoji/emoji-list/index.ts +0 -1
  231. package/src/emoji/emoji-list/people.ts +0 -111
  232. package/src/emoji/emoji-list.ts +0 -9
  233. package/src/emoji/emoji-map.ts +0 -9
  234. package/src/emoji/formats/emoji-blot.ts +0 -54
  235. package/src/emoji/index.ts +0 -5
  236. package/src/emoji/modules/emoji.ts +0 -318
  237. package/src/emoji/modules/toolbar-emoji.ts +0 -182
  238. package/src/emoji/utils.ts +0 -15
  239. package/src/file/formats/file.ts +0 -67
  240. package/src/file/index.ts +0 -38
  241. package/src/file/modules/file-bar.ts +0 -146
  242. package/src/fluent-editor.ts +0 -164
  243. package/src/format-painter/index.ts +0 -79
  244. package/src/global-link/constants.ts +0 -3
  245. package/src/global-link/formats/customer-widget-link.ts +0 -36
  246. package/src/global-link/formats/doc-link.ts +0 -55
  247. package/src/global-link/formats/wiki-link.ts +0 -45
  248. package/src/global-link/formats/work-item-link.ts +0 -47
  249. package/src/global-link/global-link-panel.ts +0 -20
  250. package/src/global-link/index.ts +0 -165
  251. package/src/global-link/utils/createTable.ts +0 -54
  252. package/src/index.ts +0 -5
  253. package/src/link/formats/link.ts +0 -44
  254. package/src/link/index.ts +0 -35
  255. package/src/link/modules/tooltip.ts +0 -318
  256. package/src/mention/Mention.ts +0 -406
  257. package/src/mention/MentionLink.ts +0 -51
  258. package/src/mention/constants.ts +0 -3
  259. package/src/quick-menu/index.ts +0 -100
  260. package/src/screenshot/index.ts +0 -231
  261. package/src/soft-break/index.ts +0 -34
  262. package/src/strike/index.ts +0 -16
  263. package/src/syntax/index.ts +0 -35
  264. package/src/table/better-table.ts +0 -553
  265. package/src/table/formats/header.ts +0 -129
  266. package/src/table/formats/list.ts +0 -229
  267. package/src/table/formats/table.ts +0 -1272
  268. package/src/table/modules/table-column-tool.ts +0 -492
  269. package/src/table/modules/table-operation-menu.ts +0 -584
  270. package/src/table/modules/table-scroll-bar.ts +0 -248
  271. package/src/table/modules/table-selection.ts +0 -387
  272. package/src/table/table-config.ts +0 -42
  273. package/src/table/utils/index.ts +0 -62
  274. package/src/table/utils/node-matchers.ts +0 -359
  275. package/src/toolbar/better-picker.ts +0 -370
  276. package/src/toolbar/index.ts +0 -180
  277. package/src/utils/debounce.ts +0 -149
  278. package/src/utils/image.ts +0 -22
  279. package/src/utils/method.ts +0 -82
  280. package/src/utils/scroll-lock.ts +0 -52
  281. package/src/video/index.ts +0 -62
  282. package/tsconfig.json +0 -26
  283. package/vite.config.theme.ts +0 -20
  284. package/vite.config.ts +0 -56
  285. /package/{dist/README.md → README.md} +0 -0
  286. /package/{dist/es → es}/attributors/font-size.es.js +0 -0
  287. /package/{dist/es → es}/attributors/font-size.es.js.map +0 -0
  288. /package/{dist/es → es}/attributors/font-style.es.js +0 -0
  289. /package/{dist/es → es}/attributors/font-style.es.js.map +0 -0
  290. /package/{dist/es → es}/attributors/index.es.js +0 -0
  291. /package/{dist/es → es}/attributors/index.es.js.map +0 -0
  292. /package/{dist/es → es}/attributors/line-height.es.js +0 -0
  293. /package/{dist/es → es}/attributors/line-height.es.js.map +0 -0
  294. /package/{dist/es → es}/attributors/text-indent.es.js +0 -0
  295. /package/{dist/es → es}/attributors/text-indent.es.js.map +0 -0
  296. /package/{dist/es → es}/config/base64-image.es.js +0 -0
  297. /package/{dist/es → es}/config/base64-image.es.js.map +0 -0
  298. /package/{dist/es → es}/config/editor.config.es.js +0 -0
  299. /package/{dist/es → es}/config/editor.config.es.js.map +0 -0
  300. /package/{dist/es → es}/config/i18n/en-us.es.js +0 -0
  301. /package/{dist/es → es}/config/i18n/en-us.es.js.map +0 -0
  302. /package/{dist/es → es}/config/i18n/zh-cn.es.js +0 -0
  303. /package/{dist/es → es}/config/i18n/zh-cn.es.js.map +0 -0
  304. /package/{dist/es → es}/config/types/additional-toolbar-item.interface.es.js +0 -0
  305. /package/{dist/es → es}/config/types/additional-toolbar-item.interface.es.js.map +0 -0
  306. /package/{dist/es → es}/config/types/content-change.interface.es.js +0 -0
  307. /package/{dist/es → es}/config/types/content-change.interface.es.js.map +0 -0
  308. /package/{dist/es → es}/config/types/content-save.interface.es.js +0 -0
  309. /package/{dist/es → es}/config/types/content-save.interface.es.js.map +0 -0
  310. /package/{dist/es → es}/config/types/counter-option.interface.es.js +0 -0
  311. /package/{dist/es → es}/config/types/counter-option.interface.es.js.map +0 -0
  312. /package/{dist/es → es}/config/types/editor-config.interface.es.js +0 -0
  313. /package/{dist/es → es}/config/types/editor-config.interface.es.js.map +0 -0
  314. /package/{dist/es → es}/config/types/editor-modules.interface.es.js +0 -0
  315. /package/{dist/es → es}/config/types/editor-modules.interface.es.js.map +0 -0
  316. /package/{dist/es → es}/config/types/file-operation.interface.es.js +0 -0
  317. /package/{dist/es → es}/config/types/file-operation.interface.es.js.map +0 -0
  318. /package/{dist/es → es}/config/types/focus-change.interface.es.js +0 -0
  319. /package/{dist/es → es}/config/types/focus-change.interface.es.js.map +0 -0
  320. /package/{dist/es → es}/config/types/fullscreen-module.interface.es.js +0 -0
  321. /package/{dist/es → es}/config/types/fullscreen-module.interface.es.js.map +0 -0
  322. /package/{dist/es → es}/config/types/help-panel-item.interface.es.js +0 -0
  323. /package/{dist/es → es}/config/types/help-panel-item.interface.es.js.map +0 -0
  324. /package/{dist/es → es}/config/types/help-panel-option.interface.es.js +0 -0
  325. /package/{dist/es → es}/config/types/help-panel-option.interface.es.js.map +0 -0
  326. /package/{dist/es → es}/config/types/image-module.interface.es.js +0 -0
  327. /package/{dist/es → es}/config/types/image-module.interface.es.js.map +0 -0
  328. /package/{dist/es → es}/config/types/image-upload.interface.es.js +0 -0
  329. /package/{dist/es → es}/config/types/image-upload.interface.es.js.map +0 -0
  330. /package/{dist/es → es}/config/types/load-on-demand-module.interface.es.js +0 -0
  331. /package/{dist/es → es}/config/types/load-on-demand-module.interface.es.js.map +0 -0
  332. /package/{dist/es → es}/config/types/mention-module.interface.es.js +0 -0
  333. /package/{dist/es → es}/config/types/mention-module.interface.es.js.map +0 -0
  334. /package/{dist/es → es}/config/types/paste-change.interface.es.js +0 -0
  335. /package/{dist/es → es}/config/types/paste-change.interface.es.js.map +0 -0
  336. /package/{dist/es → es}/config/types/quick-menu-module.interface.es.js +0 -0
  337. /package/{dist/es → es}/config/types/quick-menu-module.interface.es.js.map +0 -0
  338. /package/{dist/es → es}/config/types/range.interface.es.js +0 -0
  339. /package/{dist/es → es}/config/types/range.interface.es.js.map +0 -0
  340. /package/{dist/es → es}/config/types/registry-options.interface.es.js +0 -0
  341. /package/{dist/es → es}/config/types/registry-options.interface.es.js.map +0 -0
  342. /package/{dist/es → es}/config/types/selection-change.interface.es.js +0 -0
  343. /package/{dist/es → es}/config/types/selection-change.interface.es.js.map +0 -0
  344. /package/{dist/es → es}/config/types/toolbar-item.interface.es.js +0 -0
  345. /package/{dist/es → es}/config/types/toolbar-item.interface.es.js.map +0 -0
  346. /package/{dist/es → es}/config/types/type.es.js +0 -0
  347. /package/{dist/es → es}/config/types/type.es.js.map +0 -0
  348. /package/{dist/es → es}/config/types/validate-error.interface.es.js +0 -0
  349. /package/{dist/es → es}/config/types/validate-error.interface.es.js.map +0 -0
  350. /package/{dist/es → es}/counter/index.es.js +0 -0
  351. /package/{dist/es → es}/counter/index.es.js.map +0 -0
  352. /package/{dist/es → es}/custom-clipboard.es.js +0 -0
  353. /package/{dist/es → es}/custom-clipboard.es.js.map +0 -0
  354. /package/{dist/es → es}/custom-image/Options.es.js +0 -0
  355. /package/{dist/es → es}/custom-image/Options.es.js.map +0 -0
  356. /package/{dist/es → es}/custom-image/actions/Action.es.js +0 -0
  357. /package/{dist/es → es}/custom-image/actions/Action.es.js.map +0 -0
  358. /package/{dist/es → es}/custom-image/actions/CustomResizeAction.es.js +0 -0
  359. /package/{dist/es → es}/custom-image/actions/CustomResizeAction.es.js.map +0 -0
  360. /package/{dist/es → es}/custom-image/actions/DeleteAction.es.js +0 -0
  361. /package/{dist/es → es}/custom-image/actions/DeleteAction.es.js.map +0 -0
  362. /package/{dist/es → es}/custom-image/image.es.js +0 -0
  363. /package/{dist/es → es}/custom-image/image.es.js.map +0 -0
  364. /package/{dist/es → es}/custom-image/specs/BlotSpec.es.js +0 -0
  365. /package/{dist/es → es}/custom-image/specs/BlotSpec.es.js.map +0 -0
  366. /package/{dist/es → es}/custom-image/specs/CustomImageSpec.es.js +0 -0
  367. /package/{dist/es → es}/custom-image/specs/CustomImageSpec.es.js.map +0 -0
  368. /package/{dist/es → es}/custom-image/specs/ImageSpec.es.js +0 -0
  369. /package/{dist/es → es}/custom-image/specs/ImageSpec.es.js.map +0 -0
  370. /package/{dist/es → es}/custom-uploader.es.js +0 -0
  371. /package/{dist/es → es}/custom-uploader.es.js.map +0 -0
  372. /package/{dist/es → es}/emoji/emoji-list/index.es.js +0 -0
  373. /package/{dist/es → es}/emoji/emoji-list/index.es.js.map +0 -0
  374. /package/{dist/es → es}/emoji/emoji-list/people.es.js +0 -0
  375. /package/{dist/es → es}/emoji/emoji-list/people.es.js.map +0 -0
  376. /package/{dist/es → es}/emoji/emoji-list.es.js +0 -0
  377. /package/{dist/es → es}/emoji/emoji-list.es.js.map +0 -0
  378. /package/{dist/es → es}/emoji/emoji-map.es.js +0 -0
  379. /package/{dist/es → es}/emoji/emoji-map.es.js.map +0 -0
  380. /package/{dist/es → es}/emoji/formats/emoji-blot.es.js +0 -0
  381. /package/{dist/es → es}/emoji/formats/emoji-blot.es.js.map +0 -0
  382. /package/{dist/es → es}/emoji/index.es.js +0 -0
  383. /package/{dist/es → es}/emoji/index.es.js.map +0 -0
  384. /package/{dist/es → es}/emoji/modules/emoji.es.js +0 -0
  385. /package/{dist/es → es}/emoji/modules/emoji.es.js.map +0 -0
  386. /package/{dist/es → es}/emoji/modules/toolbar-emoji.es.js +0 -0
  387. /package/{dist/es → es}/emoji/modules/toolbar-emoji.es.js.map +0 -0
  388. /package/{dist/es → es}/emoji/utils.es.js +0 -0
  389. /package/{dist/es → es}/emoji/utils.es.js.map +0 -0
  390. /package/{dist/es → es}/file/formats/file.es.js +0 -0
  391. /package/{dist/es → es}/file/formats/file.es.js.map +0 -0
  392. /package/{dist/es → es}/file/index.es.js +0 -0
  393. /package/{dist/es → es}/file/index.es.js.map +0 -0
  394. /package/{dist/es → es}/file/modules/file-bar.es.js +0 -0
  395. /package/{dist/es → es}/file/modules/file-bar.es.js.map +0 -0
  396. /package/{dist/es → es}/format-painter/index.es.js +0 -0
  397. /package/{dist/es → es}/format-painter/index.es.js.map +0 -0
  398. /package/{dist/es → es}/global-link/constants.es.js +0 -0
  399. /package/{dist/es → es}/global-link/constants.es.js.map +0 -0
  400. /package/{dist/es → es}/global-link/formats/customer-widget-link.es.js +0 -0
  401. /package/{dist/es → es}/global-link/formats/customer-widget-link.es.js.map +0 -0
  402. /package/{dist/es → es}/global-link/formats/doc-link.es.js +0 -0
  403. /package/{dist/es → es}/global-link/formats/doc-link.es.js.map +0 -0
  404. /package/{dist/es → es}/global-link/formats/wiki-link.es.js +0 -0
  405. /package/{dist/es → es}/global-link/formats/wiki-link.es.js.map +0 -0
  406. /package/{dist/es → es}/global-link/formats/work-item-link.es.js +0 -0
  407. /package/{dist/es → es}/global-link/formats/work-item-link.es.js.map +0 -0
  408. /package/{dist/es → es}/global-link/global-link-panel.es.js +0 -0
  409. /package/{dist/es → es}/global-link/global-link-panel.es.js.map +0 -0
  410. /package/{dist/es → es}/global-link/index.es.js +0 -0
  411. /package/{dist/es → es}/global-link/index.es.js.map +0 -0
  412. /package/{dist/es → es}/global-link/utils/createTable.es.js +0 -0
  413. /package/{dist/es → es}/global-link/utils/createTable.es.js.map +0 -0
  414. /package/{dist/es → es}/index.es.js.map +0 -0
  415. /package/{dist/es → es}/mention/Mention.es.js +0 -0
  416. /package/{dist/es → es}/mention/Mention.es.js.map +0 -0
  417. /package/{dist/es → es}/mention/MentionLink.es.js +0 -0
  418. /package/{dist/es → es}/mention/MentionLink.es.js.map +0 -0
  419. /package/{dist/es → es}/mention/constants.es.js +0 -0
  420. /package/{dist/es → es}/mention/constants.es.js.map +0 -0
  421. /package/{dist/es → es}/quick-menu/index.es.js +0 -0
  422. /package/{dist/es → es}/quick-menu/index.es.js.map +0 -0
  423. /package/{dist/es → es}/screenshot/index.es.js +0 -0
  424. /package/{dist/es → es}/screenshot/index.es.js.map +0 -0
  425. /package/{dist/es → es}/soft-break/index.es.js +0 -0
  426. /package/{dist/es → es}/soft-break/index.es.js.map +0 -0
  427. /package/{dist/es → es}/strike/index.es.js +0 -0
  428. /package/{dist/es → es}/strike/index.es.js.map +0 -0
  429. /package/{dist/es → es}/syntax/index.es.js +0 -0
  430. /package/{dist/es → es}/syntax/index.es.js.map +0 -0
  431. /package/{dist/es → es}/table/better-table.es.js +0 -0
  432. /package/{dist/es → es}/table/better-table.es.js.map +0 -0
  433. /package/{dist/es → es}/table/formats/header.es.js +0 -0
  434. /package/{dist/es → es}/table/formats/header.es.js.map +0 -0
  435. /package/{dist/es → es}/table/formats/list.es.js +0 -0
  436. /package/{dist/es → es}/table/formats/list.es.js.map +0 -0
  437. /package/{dist/es → es}/table/formats/table.es.js +0 -0
  438. /package/{dist/es → es}/table/formats/table.es.js.map +0 -0
  439. /package/{dist/es → es}/table/modules/table-column-tool.es.js +0 -0
  440. /package/{dist/es → es}/table/modules/table-column-tool.es.js.map +0 -0
  441. /package/{dist/es → es}/table/modules/table-operation-menu.es.js +0 -0
  442. /package/{dist/es → es}/table/modules/table-operation-menu.es.js.map +0 -0
  443. /package/{dist/es → es}/table/modules/table-scroll-bar.es.js +0 -0
  444. /package/{dist/es → es}/table/modules/table-scroll-bar.es.js.map +0 -0
  445. /package/{dist/es → es}/table/modules/table-selection.es.js +0 -0
  446. /package/{dist/es → es}/table/modules/table-selection.es.js.map +0 -0
  447. /package/{dist/es → es}/table/table-config.es.js +0 -0
  448. /package/{dist/es → es}/table/table-config.es.js.map +0 -0
  449. /package/{dist/es → es}/table/utils/index.es.js +0 -0
  450. /package/{dist/es → es}/table/utils/index.es.js.map +0 -0
  451. /package/{dist/es → es}/table/utils/node-matchers.es.js +0 -0
  452. /package/{dist/es → es}/table/utils/node-matchers.es.js.map +0 -0
  453. /package/{dist/es → es}/toolbar/better-picker.es.js +0 -0
  454. /package/{dist/es → es}/toolbar/better-picker.es.js.map +0 -0
  455. /package/{dist/es → es}/toolbar/index.es.js +0 -0
  456. /package/{dist/es → es}/toolbar/index.es.js.map +0 -0
  457. /package/{dist/es → es}/utils/debounce.es.js +0 -0
  458. /package/{dist/es → es}/utils/debounce.es.js.map +0 -0
  459. /package/{dist/es → es}/utils/image.es.js +0 -0
  460. /package/{dist/es → es}/utils/image.es.js.map +0 -0
  461. /package/{dist/es → es}/utils/method.es.js +0 -0
  462. /package/{dist/es → es}/utils/method.es.js.map +0 -0
  463. /package/{dist/es → es}/utils/scroll-lock.es.js +0 -0
  464. /package/{dist/es → es}/utils/scroll-lock.es.js.map +0 -0
  465. /package/{dist/es → es}/video/index.es.js +0 -0
  466. /package/{dist/es → es}/video/index.es.js.map +0 -0
  467. /package/{dist/lib → lib}/attributors/font-size.cjs.js +0 -0
  468. /package/{dist/lib → lib}/attributors/font-size.cjs.js.map +0 -0
  469. /package/{dist/lib → lib}/attributors/font-style.cjs.js +0 -0
  470. /package/{dist/lib → lib}/attributors/font-style.cjs.js.map +0 -0
  471. /package/{dist/lib → lib}/attributors/index.cjs.js +0 -0
  472. /package/{dist/lib → lib}/attributors/index.cjs.js.map +0 -0
  473. /package/{dist/lib → lib}/attributors/line-height.cjs.js +0 -0
  474. /package/{dist/lib → lib}/attributors/line-height.cjs.js.map +0 -0
  475. /package/{dist/lib → lib}/attributors/text-indent.cjs.js +0 -0
  476. /package/{dist/lib → lib}/attributors/text-indent.cjs.js.map +0 -0
  477. /package/{dist/lib → lib}/config/base64-image.cjs.js +0 -0
  478. /package/{dist/lib → lib}/config/base64-image.cjs.js.map +0 -0
  479. /package/{dist/lib → lib}/config/editor.config.cjs.js +0 -0
  480. /package/{dist/lib → lib}/config/editor.config.cjs.js.map +0 -0
  481. /package/{dist/lib → lib}/config/i18n/en-us.cjs.js +0 -0
  482. /package/{dist/lib → lib}/config/i18n/en-us.cjs.js.map +0 -0
  483. /package/{dist/lib → lib}/config/i18n/zh-cn.cjs.js +0 -0
  484. /package/{dist/lib → lib}/config/i18n/zh-cn.cjs.js.map +0 -0
  485. /package/{dist/lib → lib}/config/types/additional-toolbar-item.interface.cjs.js +0 -0
  486. /package/{dist/lib → lib}/config/types/additional-toolbar-item.interface.cjs.js.map +0 -0
  487. /package/{dist/lib → lib}/config/types/content-change.interface.cjs.js +0 -0
  488. /package/{dist/lib → lib}/config/types/content-change.interface.cjs.js.map +0 -0
  489. /package/{dist/lib → lib}/config/types/content-save.interface.cjs.js +0 -0
  490. /package/{dist/lib → lib}/config/types/content-save.interface.cjs.js.map +0 -0
  491. /package/{dist/lib → lib}/config/types/counter-option.interface.cjs.js +0 -0
  492. /package/{dist/lib → lib}/config/types/counter-option.interface.cjs.js.map +0 -0
  493. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js +0 -0
  494. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js.map +0 -0
  495. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js +0 -0
  496. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
  497. /package/{dist/lib → lib}/config/types/file-operation.interface.cjs.js +0 -0
  498. /package/{dist/lib → lib}/config/types/file-operation.interface.cjs.js.map +0 -0
  499. /package/{dist/lib → lib}/config/types/focus-change.interface.cjs.js +0 -0
  500. /package/{dist/lib → lib}/config/types/focus-change.interface.cjs.js.map +0 -0
  501. /package/{dist/lib → lib}/config/types/fullscreen-module.interface.cjs.js +0 -0
  502. /package/{dist/lib → lib}/config/types/fullscreen-module.interface.cjs.js.map +0 -0
  503. /package/{dist/lib → lib}/config/types/help-panel-item.interface.cjs.js +0 -0
  504. /package/{dist/lib → lib}/config/types/help-panel-item.interface.cjs.js.map +0 -0
  505. /package/{dist/lib → lib}/config/types/help-panel-option.interface.cjs.js +0 -0
  506. /package/{dist/lib → lib}/config/types/help-panel-option.interface.cjs.js.map +0 -0
  507. /package/{dist/lib → lib}/config/types/image-module.interface.cjs.js +0 -0
  508. /package/{dist/lib → lib}/config/types/image-module.interface.cjs.js.map +0 -0
  509. /package/{dist/lib → lib}/config/types/image-upload.interface.cjs.js +0 -0
  510. /package/{dist/lib → lib}/config/types/image-upload.interface.cjs.js.map +0 -0
  511. /package/{dist/lib → lib}/config/types/load-on-demand-module.interface.cjs.js +0 -0
  512. /package/{dist/lib → lib}/config/types/load-on-demand-module.interface.cjs.js.map +0 -0
  513. /package/{dist/lib → lib}/config/types/mention-module.interface.cjs.js +0 -0
  514. /package/{dist/lib → lib}/config/types/mention-module.interface.cjs.js.map +0 -0
  515. /package/{dist/lib → lib}/config/types/paste-change.interface.cjs.js +0 -0
  516. /package/{dist/lib → lib}/config/types/paste-change.interface.cjs.js.map +0 -0
  517. /package/{dist/lib → lib}/config/types/quick-menu-module.interface.cjs.js +0 -0
  518. /package/{dist/lib → lib}/config/types/quick-menu-module.interface.cjs.js.map +0 -0
  519. /package/{dist/lib → lib}/config/types/range.interface.cjs.js +0 -0
  520. /package/{dist/lib → lib}/config/types/range.interface.cjs.js.map +0 -0
  521. /package/{dist/lib → lib}/config/types/registry-options.interface.cjs.js +0 -0
  522. /package/{dist/lib → lib}/config/types/registry-options.interface.cjs.js.map +0 -0
  523. /package/{dist/lib → lib}/config/types/selection-change.interface.cjs.js +0 -0
  524. /package/{dist/lib → lib}/config/types/selection-change.interface.cjs.js.map +0 -0
  525. /package/{dist/lib → lib}/config/types/toolbar-item.interface.cjs.js +0 -0
  526. /package/{dist/lib → lib}/config/types/toolbar-item.interface.cjs.js.map +0 -0
  527. /package/{dist/lib → lib}/config/types/type.cjs.js +0 -0
  528. /package/{dist/lib → lib}/config/types/type.cjs.js.map +0 -0
  529. /package/{dist/lib → lib}/config/types/validate-error.interface.cjs.js +0 -0
  530. /package/{dist/lib → lib}/config/types/validate-error.interface.cjs.js.map +0 -0
  531. /package/{dist/lib → lib}/counter/index.cjs.js +0 -0
  532. /package/{dist/lib → lib}/counter/index.cjs.js.map +0 -0
  533. /package/{dist/lib → lib}/custom-clipboard.cjs.js +0 -0
  534. /package/{dist/lib → lib}/custom-clipboard.cjs.js.map +0 -0
  535. /package/{dist/lib → lib}/custom-image/Options.cjs.js +0 -0
  536. /package/{dist/lib → lib}/custom-image/Options.cjs.js.map +0 -0
  537. /package/{dist/lib → lib}/custom-image/actions/Action.cjs.js +0 -0
  538. /package/{dist/lib → lib}/custom-image/actions/Action.cjs.js.map +0 -0
  539. /package/{dist/lib → lib}/custom-image/actions/CustomResizeAction.cjs.js +0 -0
  540. /package/{dist/lib → lib}/custom-image/actions/CustomResizeAction.cjs.js.map +0 -0
  541. /package/{dist/lib → lib}/custom-image/actions/DeleteAction.cjs.js +0 -0
  542. /package/{dist/lib → lib}/custom-image/actions/DeleteAction.cjs.js.map +0 -0
  543. /package/{dist/lib → lib}/custom-image/image.cjs.js +0 -0
  544. /package/{dist/lib → lib}/custom-image/image.cjs.js.map +0 -0
  545. /package/{dist/lib → lib}/custom-image/specs/BlotSpec.cjs.js +0 -0
  546. /package/{dist/lib → lib}/custom-image/specs/BlotSpec.cjs.js.map +0 -0
  547. /package/{dist/lib → lib}/custom-image/specs/CustomImageSpec.cjs.js +0 -0
  548. /package/{dist/lib → lib}/custom-image/specs/CustomImageSpec.cjs.js.map +0 -0
  549. /package/{dist/lib → lib}/custom-image/specs/ImageSpec.cjs.js +0 -0
  550. /package/{dist/lib → lib}/custom-image/specs/ImageSpec.cjs.js.map +0 -0
  551. /package/{dist/lib → lib}/custom-uploader.cjs.js +0 -0
  552. /package/{dist/lib → lib}/custom-uploader.cjs.js.map +0 -0
  553. /package/{dist/lib → lib}/emoji/emoji-list/index.cjs.js +0 -0
  554. /package/{dist/lib → lib}/emoji/emoji-list/index.cjs.js.map +0 -0
  555. /package/{dist/lib → lib}/emoji/emoji-list/people.cjs.js +0 -0
  556. /package/{dist/lib → lib}/emoji/emoji-list/people.cjs.js.map +0 -0
  557. /package/{dist/lib → lib}/emoji/emoji-list.cjs.js +0 -0
  558. /package/{dist/lib → lib}/emoji/emoji-list.cjs.js.map +0 -0
  559. /package/{dist/lib → lib}/emoji/emoji-map.cjs.js +0 -0
  560. /package/{dist/lib → lib}/emoji/emoji-map.cjs.js.map +0 -0
  561. /package/{dist/lib → lib}/emoji/formats/emoji-blot.cjs.js +0 -0
  562. /package/{dist/lib → lib}/emoji/formats/emoji-blot.cjs.js.map +0 -0
  563. /package/{dist/lib → lib}/emoji/index.cjs.js +0 -0
  564. /package/{dist/lib → lib}/emoji/index.cjs.js.map +0 -0
  565. /package/{dist/lib → lib}/emoji/modules/emoji.cjs.js +0 -0
  566. /package/{dist/lib → lib}/emoji/modules/emoji.cjs.js.map +0 -0
  567. /package/{dist/lib → lib}/emoji/modules/toolbar-emoji.cjs.js +0 -0
  568. /package/{dist/lib → lib}/emoji/modules/toolbar-emoji.cjs.js.map +0 -0
  569. /package/{dist/lib → lib}/emoji/utils.cjs.js +0 -0
  570. /package/{dist/lib → lib}/emoji/utils.cjs.js.map +0 -0
  571. /package/{dist/lib → lib}/file/formats/file.cjs.js +0 -0
  572. /package/{dist/lib → lib}/file/formats/file.cjs.js.map +0 -0
  573. /package/{dist/lib → lib}/file/index.cjs.js +0 -0
  574. /package/{dist/lib → lib}/file/index.cjs.js.map +0 -0
  575. /package/{dist/lib → lib}/file/modules/file-bar.cjs.js +0 -0
  576. /package/{dist/lib → lib}/file/modules/file-bar.cjs.js.map +0 -0
  577. /package/{dist/lib → lib}/format-painter/index.cjs.js +0 -0
  578. /package/{dist/lib → lib}/format-painter/index.cjs.js.map +0 -0
  579. /package/{dist/lib → lib}/global-link/constants.cjs.js +0 -0
  580. /package/{dist/lib → lib}/global-link/constants.cjs.js.map +0 -0
  581. /package/{dist/lib → lib}/global-link/formats/customer-widget-link.cjs.js +0 -0
  582. /package/{dist/lib → lib}/global-link/formats/customer-widget-link.cjs.js.map +0 -0
  583. /package/{dist/lib → lib}/global-link/formats/doc-link.cjs.js +0 -0
  584. /package/{dist/lib → lib}/global-link/formats/doc-link.cjs.js.map +0 -0
  585. /package/{dist/lib → lib}/global-link/formats/wiki-link.cjs.js +0 -0
  586. /package/{dist/lib → lib}/global-link/formats/wiki-link.cjs.js.map +0 -0
  587. /package/{dist/lib → lib}/global-link/formats/work-item-link.cjs.js +0 -0
  588. /package/{dist/lib → lib}/global-link/formats/work-item-link.cjs.js.map +0 -0
  589. /package/{dist/lib → lib}/global-link/global-link-panel.cjs.js +0 -0
  590. /package/{dist/lib → lib}/global-link/global-link-panel.cjs.js.map +0 -0
  591. /package/{dist/lib → lib}/global-link/index.cjs.js +0 -0
  592. /package/{dist/lib → lib}/global-link/index.cjs.js.map +0 -0
  593. /package/{dist/lib → lib}/global-link/utils/createTable.cjs.js +0 -0
  594. /package/{dist/lib → lib}/global-link/utils/createTable.cjs.js.map +0 -0
  595. /package/{dist/lib → lib}/mention/Mention.cjs.js +0 -0
  596. /package/{dist/lib → lib}/mention/Mention.cjs.js.map +0 -0
  597. /package/{dist/lib → lib}/mention/MentionLink.cjs.js +0 -0
  598. /package/{dist/lib → lib}/mention/MentionLink.cjs.js.map +0 -0
  599. /package/{dist/lib → lib}/mention/constants.cjs.js +0 -0
  600. /package/{dist/lib → lib}/mention/constants.cjs.js.map +0 -0
  601. /package/{dist/lib → lib}/quick-menu/index.cjs.js +0 -0
  602. /package/{dist/lib → lib}/quick-menu/index.cjs.js.map +0 -0
  603. /package/{dist/lib → lib}/screenshot/index.cjs.js +0 -0
  604. /package/{dist/lib → lib}/screenshot/index.cjs.js.map +0 -0
  605. /package/{dist/lib → lib}/soft-break/index.cjs.js +0 -0
  606. /package/{dist/lib → lib}/soft-break/index.cjs.js.map +0 -0
  607. /package/{dist/lib → lib}/strike/index.cjs.js +0 -0
  608. /package/{dist/lib → lib}/strike/index.cjs.js.map +0 -0
  609. /package/{dist/lib → lib}/syntax/index.cjs.js +0 -0
  610. /package/{dist/lib → lib}/syntax/index.cjs.js.map +0 -0
  611. /package/{dist/lib → lib}/table/better-table.cjs.js +0 -0
  612. /package/{dist/lib → lib}/table/better-table.cjs.js.map +0 -0
  613. /package/{dist/lib → lib}/table/formats/header.cjs.js +0 -0
  614. /package/{dist/lib → lib}/table/formats/header.cjs.js.map +0 -0
  615. /package/{dist/lib → lib}/table/formats/list.cjs.js +0 -0
  616. /package/{dist/lib → lib}/table/formats/list.cjs.js.map +0 -0
  617. /package/{dist/lib → lib}/table/formats/table.cjs.js +0 -0
  618. /package/{dist/lib → lib}/table/formats/table.cjs.js.map +0 -0
  619. /package/{dist/lib → lib}/table/modules/table-column-tool.cjs.js +0 -0
  620. /package/{dist/lib → lib}/table/modules/table-column-tool.cjs.js.map +0 -0
  621. /package/{dist/lib → lib}/table/modules/table-operation-menu.cjs.js +0 -0
  622. /package/{dist/lib → lib}/table/modules/table-operation-menu.cjs.js.map +0 -0
  623. /package/{dist/lib → lib}/table/modules/table-scroll-bar.cjs.js +0 -0
  624. /package/{dist/lib → lib}/table/modules/table-scroll-bar.cjs.js.map +0 -0
  625. /package/{dist/lib → lib}/table/modules/table-selection.cjs.js +0 -0
  626. /package/{dist/lib → lib}/table/modules/table-selection.cjs.js.map +0 -0
  627. /package/{dist/lib → lib}/table/table-config.cjs.js +0 -0
  628. /package/{dist/lib → lib}/table/table-config.cjs.js.map +0 -0
  629. /package/{dist/lib → lib}/table/utils/index.cjs.js +0 -0
  630. /package/{dist/lib → lib}/table/utils/index.cjs.js.map +0 -0
  631. /package/{dist/lib → lib}/table/utils/node-matchers.cjs.js +0 -0
  632. /package/{dist/lib → lib}/table/utils/node-matchers.cjs.js.map +0 -0
  633. /package/{dist/lib → lib}/toolbar/better-picker.cjs.js +0 -0
  634. /package/{dist/lib → lib}/toolbar/better-picker.cjs.js.map +0 -0
  635. /package/{dist/lib → lib}/toolbar/index.cjs.js +0 -0
  636. /package/{dist/lib → lib}/toolbar/index.cjs.js.map +0 -0
  637. /package/{dist/lib → lib}/utils/debounce.cjs.js +0 -0
  638. /package/{dist/lib → lib}/utils/debounce.cjs.js.map +0 -0
  639. /package/{dist/lib → lib}/utils/image.cjs.js +0 -0
  640. /package/{dist/lib → lib}/utils/image.cjs.js.map +0 -0
  641. /package/{dist/lib → lib}/utils/method.cjs.js +0 -0
  642. /package/{dist/lib → lib}/utils/method.cjs.js.map +0 -0
  643. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js +0 -0
  644. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js.map +0 -0
  645. /package/{dist/lib → lib}/video/index.cjs.js +0 -0
  646. /package/{dist/lib → lib}/video/index.cjs.js.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip.es.js","sources":["../../../../src/link/modules/tooltip.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport Emitter from 'quill/core/emitter'\r\nimport { Range } from 'quill/core/selection'\r\nimport { BaseTooltip } from 'quill/themes/base'\r\nimport { debounce } from '../../../src/utils/debounce'\r\nimport { LANG_CONF } from '../../config/editor.config'\r\nimport { isNullOrUndefined } from '../../config/editor.utils'\r\nimport LinkBlot from '../formats/link'\r\n\r\n// const Emitter = Quill.imports['core/emitter'];\r\n// const BaseTooltip = Quill.imports['themes/BaseTooltip'];\r\n// const Range = Quill.imports['core/selection/range'];\r\n\r\n// @dynamic\r\nexport default class Tooltip extends BaseTooltip {\r\n static TEMPLATE: string\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\r\n constructor(quill, bounds) {\r\n super(quill, bounds)\r\n this.isInputFocus = false\r\n this.isHover = false\r\n\r\n this.debouncedHideToolTip = debounce(this.hideToolTip, 300)\r\n this.debouncedShowToolTip = debounce(this.showToolTip, 300)\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\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 const { autoProtocol } = this.quill.options\r\n if (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 edit(mode = '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) {\r\n let result = url\r\n if (!url) {\r\n return ''\r\n }\r\n if (!/^(?:f|ht)tps?\\:\\/\\//.test(url)) {\r\n result = `http://${url}`\r\n }\r\n return result\r\n }\r\n}\r\n\r\nTooltip.TEMPLATE = [\r\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${LANG_CONF.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"],"names":["LinkBlot"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/config/index.ts"],"sourcesContent":["import { isNullOrUndefined } from './editor.utils'\r\nimport { LANG_CONF } from './editor.config'\r\nimport {\r\n ALIGN_CENTER_ICON,\r\n ALIGN_LEFT_ICON,\r\n ALIGN_RIGHT_ICON,\r\n BACKGROUND_COLOR_ICON,\r\n BLOCKQUOTE_ICON,\r\n BOLD_ICON,\r\n CLEAN_ICON,\r\n CODE_BLOCK_ICON,\r\n CODE_ICON,\r\n COLOR_ICON,\r\n EMOJI_ICON,\r\n FILE_ICON,\r\n FORMAT_PAINTER_ICON,\r\n FULLSCREEN_ICON,\r\n GLOBAL_LINK_ICON,\r\n HELP_ICON,\r\n IMAGE_ICON,\r\n ITALIC_ICON,\r\n LINK_ICON,\r\n LIST_CHECK_ICON,\r\n LIST_ORDERED_ICON,\r\n LIST_UNORDERED_ICON,\r\n REDO_ICON,\r\n SCREENSHOT_ICON,\r\n STRIKE_ICON,\r\n TABLE_ICON,\r\n TRIANGLE_DOWN_ICON,\r\n UNDERLINE_ICON,\r\n UNDO_ICON,\r\n} from './icons.config'\r\n\r\nexport * from './editor.config'\r\n\r\nexport const ICONS_CONFIG: { [key: string]: any } = {\r\n 'undo': UNDO_ICON,\r\n 'redo': REDO_ICON,\r\n 'clean': CLEAN_ICON,\r\n\r\n 'bold': BOLD_ICON,\r\n 'italic': ITALIC_ICON,\r\n 'underline': UNDERLINE_ICON,\r\n 'strike': STRIKE_ICON,\r\n\r\n 'font': '',\r\n 'size': '',\r\n\r\n 'color': `<span class=\"ql-color-inner\">\r\n ${COLOR_ICON}\r\n ${TRIANGLE_DOWN_ICON}\r\n <span class=\"current-color-line\"></span>\r\n </span>`,\r\n 'background': `<span class=\"ql-color-inner\">\r\n ${BACKGROUND_COLOR_ICON}\r\n ${TRIANGLE_DOWN_ICON}\r\n <span class=\"current-color-line color-line-background\"></span>\r\n </span>`,\r\n\r\n 'align': {\r\n '': ALIGN_LEFT_ICON,\r\n 'center': ALIGN_CENTER_ICON,\r\n 'right': ALIGN_RIGHT_ICON,\r\n },\r\n 'list': {\r\n bullet: LIST_UNORDERED_ICON,\r\n ordered: LIST_ORDERED_ICON,\r\n check: LIST_CHECK_ICON,\r\n },\r\n\r\n 'code': CODE_ICON,\r\n 'code-block': CODE_BLOCK_ICON,\r\n 'blockquote': BLOCKQUOTE_ICON,\r\n\r\n 'image': IMAGE_ICON,\r\n 'file': FILE_ICON,\r\n 'better-table': TABLE_ICON,\r\n 'link': LINK_ICON,\r\n 'global-link': GLOBAL_LINK_ICON,\r\n 'fullscreen': FULLSCREEN_ICON,\r\n 'emoji': EMOJI_ICON,\r\n 'help': HELP_ICON,\r\n 'screenshot': SCREENSHOT_ICON,\r\n 'format-painter': FORMAT_PAINTER_ICON,\r\n}\r\n\r\nexport const TABLE_RIGHT_MENU_CONFIG = {\r\n copyCells: {\r\n text: LANG_CONF['copy-cells'],\r\n },\r\n copyTable: {\r\n text: LANG_CONF['copy-table'],\r\n },\r\n cutCells: {\r\n text: LANG_CONF['cut-cells'],\r\n },\r\n emptyCells: {\r\n text: LANG_CONF['empty-cells'],\r\n },\r\n insertRowUp: {\r\n text: LANG_CONF['insert-row-up'],\r\n },\r\n insertRowDown: {\r\n text: LANG_CONF['insert-row-down'],\r\n },\r\n insertColumnLeft: {\r\n text: LANG_CONF['insert-column-left'],\r\n },\r\n insertColumnRight: {\r\n text: LANG_CONF['insert-column-right'],\r\n },\r\n mergeCells: {\r\n text: LANG_CONF['merge-cells'],\r\n },\r\n unmergeCells: {\r\n text: LANG_CONF['unmerge-cells'],\r\n },\r\n deleteRow: {\r\n text: LANG_CONF['delete-row'],\r\n },\r\n deleteColumn: {\r\n text: LANG_CONF['delete-column'],\r\n },\r\n deleteTable: {\r\n text: LANG_CONF['delete-table'],\r\n },\r\n}\r\n\r\n// 触发上传\r\nexport function inputFile(type, accept) {\r\n const defaultMIMETypes = this.quill.uploader.options[type].join(', ')\r\n const mimeTypes = accept || defaultMIMETypes\r\n let fileInput = this.container.querySelector(`input.ql-${type}[type=file]`)\r\n if (isNullOrUndefined(fileInput)) {\r\n fileInput = document.createElement('input')\r\n fileInput.classList.add(`ql-${type}`)\r\n fileInput.setAttribute('type', 'file')\r\n fileInput.setAttribute('accept', mimeTypes)\r\n if (\r\n this.quill.uploader.options.enableMultiUpload === true\r\n || (this.quill.uploader.options.enableMultiUpload.file && type === 'file')\r\n || (this.quill.uploader.options.enableMultiUpload.image && type === 'image')\r\n ) {\r\n fileInput.setAttribute('multiple', '')\r\n }\r\n fileInput.addEventListener('change', () => {\r\n const range = this.quill.getSelection(true)\r\n this.quill.uploader.upload(range, fileInput.files, type === 'file')\r\n fileInput.value = ''\r\n })\r\n this.container.appendChild(fileInput)\r\n }\r\n fileInput.click()\r\n}\r\n\r\nexport function getListValue(value, preListValue) {\r\n let curListValue = value\r\n if (preListValue && preListValue === value) {\r\n curListValue = false\r\n }\r\n else if (value === 'check') {\r\n if (preListValue === 'checked' || preListValue === 'unchecked') {\r\n curListValue = false\r\n }\r\n else {\r\n curListValue = 'unchecked'\r\n }\r\n }\r\n return curListValue\r\n}\r\n"],"names":["UNDO_ICON","REDO_ICON","CLEAN_ICON","BOLD_ICON","ITALIC_ICON","UNDERLINE_ICON","STRIKE_ICON","COLOR_ICON","TRIANGLE_DOWN_ICON","BACKGROUND_COLOR_ICON","ALIGN_LEFT_ICON","ALIGN_CENTER_ICON","ALIGN_RIGHT_ICON","LIST_UNORDERED_ICON","LIST_ORDERED_ICON","LIST_CHECK_ICON","CODE_ICON","CODE_BLOCK_ICON","BLOCKQUOTE_ICON","IMAGE_ICON","FILE_ICON","TABLE_ICON","LINK_ICON","GLOBAL_LINK_ICON","FULLSCREEN_ICON","EMOJI_ICON","HELP_ICON","SCREENSHOT_ICON","FORMAT_PAINTER_ICON","LANG_CONF","isNullOrUndefined"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlotFormatter.cjs.js","sources":["../../../src/custom-image/BlotFormatter.ts"],"sourcesContent":["import type Action from './actions/Action'\r\nimport type { Options } from './Options'\r\nimport type BlotSpec from './specs/BlotSpec'\r\nimport { merge as deepmerge } from 'lodash-es'\r\nimport Quill from 'quill'\r\nimport ImageBlot, { ImageContainerBlot } from './image'\r\nimport DefaultOptions from './Options'\r\nimport { CustomImageSpec } from './specs/CustomImageSpec'\r\n\r\nconst dontMerge = (_destination: Array<any>, source: Array<any>) => source\r\n\r\n// @dynamic\r\nexport default class BlotFormatter {\r\n quill: any\r\n options: Options\r\n currentSpec: BlotSpec\r\n specs: BlotSpec[]\r\n overlay: HTMLElement\r\n actions: Action[]\r\n observer: any\r\n\r\n static register() {\r\n Quill.register('formats/image', ImageBlot, true)\r\n Quill.register('formats/image-container', ImageContainerBlot, true)\r\n Quill.register('modules/image-spec', CustomImageSpec, true)\r\n }\r\n\r\n constructor(quill: any, options: any = {}) {\r\n this.quill = quill\r\n this.options = deepmerge(DefaultOptions, options, { arrayMerge: dontMerge })\r\n this.currentSpec = null\r\n this.actions = []\r\n this.overlay = document.createElement('div')\r\n this.overlay.classList.add(this.options.overlay.className)\r\n if (this.options.overlay.style) {\r\n Object.assign(this.overlay.style, this.options.overlay.style)\r\n }\r\n\r\n // disable native image resizing on firefox\r\n document.execCommand('enableObjectResizing', false, 'false') // eslint-disable-next-line-line no-undef\r\n this.quill.root.parentNode.style.position = this.quill.root.parentNode.style.position || 'relative'\r\n this.quill.root.addEventListener('click', this.onClick)\r\n this.specs = this.options.specs.map((SpecClass: any) => new SpecClass(this))\r\n this.specs.forEach(spec => spec.init())\r\n }\r\n\r\n show(spec: BlotSpec) {\r\n this.currentSpec = spec\r\n this.currentSpec.setSelection()\r\n this.setUserSelect('none')\r\n this.quill.root.parentNode.appendChild(this.overlay)\r\n this.repositionOverlay()\r\n this.createActions(spec)\r\n\r\n // fix: 图片对齐之后,虚线外框应该跟随移动\r\n const imageDom = spec.getTargetElement()\r\n const win: any = window\r\n const MutationObserver = win.MutationObserver || win.WebKitMutationObserver || win.MozMutationObserver\r\n const element = imageDom.parentNode\r\n this.observer = new MutationObserver((mutationList) => {\r\n for (const mutation of mutationList) {\r\n const target = mutation.target\r\n const image = target.querySelector('img')\r\n if (image) {\r\n this.repositionOverlay()\r\n }\r\n }\r\n })\r\n this.observer.observe(element, {\r\n attributes: true,\r\n attributeFilter: ['class'],\r\n attributeOldValue: true,\r\n subtree: true,\r\n })\r\n document.body.addEventListener('click', this.hideImageOverlay, true)\r\n }\r\n\r\n hide() {\r\n if (!this.currentSpec) {\r\n return\r\n }\r\n\r\n const imgDom = this.currentSpec.getTargetElement()\r\n if (imgDom) {\r\n imgDom.classList.remove('current-select-img')\r\n }\r\n\r\n this.currentSpec.onHide()\r\n this.currentSpec = null\r\n this.quill.root.parentNode.removeChild(this.overlay)\r\n this.overlay.style.setProperty('display', 'none')\r\n this.setUserSelect('')\r\n this.destroyActions()\r\n }\r\n\r\n update() {\r\n this.repositionOverlay()\r\n this.actions.forEach(action => action.onUpdate())\r\n }\r\n\r\n createActions(spec: BlotSpec) {\r\n this.actions = spec.getActions().map((ActionClass: any) => {\r\n const action: Action = new ActionClass(this)\r\n action.onCreate()\r\n return action\r\n })\r\n }\r\n\r\n destroyActions() {\r\n this.actions.forEach((action: Action) => action.onDestroy())\r\n this.actions = []\r\n }\r\n\r\n repositionOverlay() {\r\n if (!this.currentSpec) {\r\n return\r\n }\r\n\r\n const overlayTarget = this.currentSpec.getOverlayElement()\r\n if (!overlayTarget) {\r\n return\r\n }\r\n\r\n const parent: HTMLElement = this.quill.root.parentNode\r\n const specRect = overlayTarget.getBoundingClientRect()\r\n const parentRect = parent.getBoundingClientRect()\r\n\r\n Object.assign(this.overlay.style, {\r\n display: 'block',\r\n left: `${specRect.left - parentRect.left - 1 + parent.scrollLeft}px`,\r\n top: `${specRect.top - parentRect.top + parent.scrollTop}px`,\r\n width: `${specRect.width}px`,\r\n height: `${specRect.height}px`,\r\n })\r\n }\r\n\r\n setUserSelect(value: string) {\r\n const props: string[] = [\r\n 'userSelect',\r\n 'mozUserSelect',\r\n 'webkitUserSelect',\r\n 'msUserSelect',\r\n ]\r\n\r\n props.forEach((prop: string) => {\r\n // set on contenteditable element and <html>\r\n this.quill.root.style.setProperty(prop, value)\r\n if (document.documentElement) {\r\n document.documentElement.style.setProperty(prop, value)\r\n }\r\n })\r\n }\r\n\r\n onClick = () => {\r\n this.hide()\r\n }\r\n\r\n hideImageOverlay = (event) => {\r\n const target = event.target\r\n const isBlotFormatter = target?.classList?.contains('blot-formatter__overlay')\r\n // 点击图片操作框之外应该将其销毁\r\n if (!isBlotFormatter) {\r\n this.hide()\r\n }\r\n document.body.removeEventListener('click', this.hideImageOverlay)\r\n }\r\n}\r\n"],"names":["deepmerge","DefaultOptions","ImageBlot","ImageContainerBlot","CustomImageSpec","image"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fluent-editor.cjs.js","sources":["../../src/fluent-editor.ts"],"sourcesContent":["import type { Module, Parchment as TypeParchment } from 'quill'\r\nimport type { IEditorConfig } from './config/types'\r\nimport Quill from 'quill'\r\nimport { FontStyle, LineHeightStyle, SizeStyle, TextIndentStyle } from './attributors'\r\nimport { getListValue, ICONS_CONFIG, inputFile, TABLE_RIGHT_MENU_CONFIG } from './config'\r\nimport Counter from './counter' // 字符统计\r\nimport CustomClipboard from './custom-clipboard' // 粘贴板\r\nimport CustomImage from './custom-image/BlotFormatter' // 图片\r\nimport { CustomImageSpec } from './custom-image/specs/CustomImageSpec' // 图片拉伸模块\r\nimport CustomUploader from './custom-uploader' // 上传\r\nimport Emoji from './emoji' // 表情\r\nimport FileModule from './file' // 文件\r\nimport { FormatPainter } from './format-painter'\r\nimport Link from './link' // 超链接\r\nimport Mention from './mention/Mention' // @提醒\r\nimport { Screenshot } from './screenshot'// 截图\r\nimport SoftBreak from './soft-break' // 软回车\r\nimport Strike from './strike' // 删除线\r\nimport CustomSyntax from './syntax' // 代码块高亮\r\nimport BetterTable from './table/better-table' // 表格\r\nimport Toolbar from './toolbar' // 工具栏\r\nimport Video from './video' // 视频\r\n// import GlobalLink from './global-link' // 全局链接\r\n// import QuickMenu from './quick-menu' // 快捷菜单\r\n\r\nclass FluentEditor extends Quill {\r\n constructor(container: HTMLElement | string, options: IEditorConfig = {}) {\r\n super(container, options)\r\n }\r\n}\r\n\r\nconst registerModules = function () {\r\n const Icons = Quill.imports['ui/icons']\r\n const iconKeys = Object.keys(ICONS_CONFIG)\r\n iconKeys.forEach((iconKey) => {\r\n Icons[iconKey] = ICONS_CONFIG[iconKey]\r\n })\r\n\r\n const SnowTheme = Quill.imports['themes/snow'] as typeof Module\r\n SnowTheme.DEFAULTS = {\r\n modules: {\r\n 'keyboard': {\r\n bindings: {\r\n ...BetterTable.keyboardBindings,\r\n },\r\n },\r\n 'toolbar': {\r\n handlers: {\r\n ...(SnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,\r\n 'undo': function () {\r\n this.quill.history.undo()\r\n },\r\n 'redo': function () {\r\n this.quill.history.redo()\r\n },\r\n 'better-table': function () {\r\n this.quill.getModule('better-table').insertTable(3, 3)\r\n },\r\n 'file': function () {\r\n const accept = this.quill.options?.uploadOption?.fileAccept\r\n inputFile.call(this, 'file', accept)\r\n },\r\n 'image': function () {\r\n const accept = this.quill.options?.uploadOption?.imageAccept\r\n inputFile.call(this, 'image', accept)\r\n },\r\n 'emoji': function () {},\r\n 'fullscreen': function () {},\r\n 'list': function (value) {\r\n const range = this.quill.getSelection()\r\n const formats = this.quill.getFormat(range)\r\n const preListValue = Array.isArray(formats.list) ? formats.list[0]?.value : formats.list?.value\r\n const curListValue = getListValue(value, preListValue)\r\n // 如果设置list的选区中有表格,判断第一个table-col位置,将表格前的内容设置为list格式\r\n const lines = this.quill.getLines(range.index, range.length)\r\n const tableCols = lines.filter(line => line.statics.blotName === 'table-col' && !line.prev)\r\n if (tableCols.length) {\r\n let start = range.index\r\n // 遍历table-col群组,以之获取表格,将表格前选区设置为对应list格式\r\n tableCols.forEach((item, index) => {\r\n const table = item.domNode.closest('table.quill-better-table')\r\n const tableBlot = Quill.find(table) as TypeParchment.Blot\r\n const tableLength = tableBlot.length()\r\n const tableStart = this.quill.getIndex(item)\r\n const tableEnd = tableStart + tableLength\r\n const beforeTableRangeLength = tableStart - start\r\n // 在表格前设置列表\r\n this.quill.setSelection(start, beforeTableRangeLength, Quill.sources.SILENT)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n table.parentNode.classList.remove('quill-better-table-selected')\r\n // 当前表格末尾为下一个选取的开始\r\n start = tableEnd\r\n if (index === tableCols.length - 1) {\r\n // 将最后一个表格之后所有选区内容设置list格式\r\n this.quill.setSelection(tableEnd, range.index + range.length - tableEnd)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n })\r\n }\r\n else {\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n },\r\n [FormatPainter.toolName]: FormatPainter,\r\n [Screenshot.toolName]: Screenshot,\r\n },\r\n },\r\n 'better-table': {\r\n operationMenu: {\r\n items: TABLE_RIGHT_MENU_CONFIG,\r\n color: true,\r\n },\r\n },\r\n 'image': {\r\n specs: [CustomImageSpec],\r\n overlay: {\r\n style: {\r\n border: '1px dashed rgb(68, 68, 68)',\r\n },\r\n },\r\n align: {\r\n icons: {\r\n left: '<i class=\"icon-text-align-left\"></i>',\r\n center: '<i class=\"icon-text-align-center\"></i>',\r\n right: '<i class=\"icon-text-align-right\"></i>',\r\n },\r\n },\r\n },\r\n },\r\n }\r\n\r\n FluentEditor.register(\r\n {\r\n 'modules/toolbar': Toolbar,\r\n 'modules/mention': Mention,\r\n 'modules/better-table': BetterTable,\r\n 'modules/clipboard': CustomClipboard,\r\n 'modules/uploader': CustomUploader, // 三者关联性最强\r\n 'modules/image': CustomImage, // 三者关联性最强\r\n 'modules/file': FileModule, // 三者关联性最强\r\n 'modules/counter': Counter,\r\n 'modules/emoji-toolbar': Emoji.ToolbarEmoji,\r\n 'modules/emoji-shortname': Emoji.ShortNameEmoji,\r\n // 'modules/global-link': GlobalLink,//暂未开发\r\n 'modules/link': Link, // 报错\r\n // 'modules/quickmenu': QuickMenu,//暂未开发\r\n 'modules/syntax': CustomSyntax,\r\n\r\n 'formats/strike': Strike,\r\n 'formats/softBreak': SoftBreak,\r\n 'formats/video': Video,\r\n 'formats/emoji': Emoji.EmojiBlot,\r\n 'formats/font': FontStyle,\r\n 'formats/size': SizeStyle,\r\n 'formats/line-height': LineHeightStyle,\r\n 'formats/text-indent': TextIndentStyle,\r\n },\r\n true, // 覆盖内部模块\r\n )\r\n\r\n return FluentEditor\r\n}\r\n\r\nexport default registerModules()\r\n"],"names":["ICONS_CONFIG","BetterTable","inputFile","getListValue","index","FormatPainter","Screenshot","TABLE_RIGHT_MENU_CONFIG","CustomImageSpec","Toolbar","Mention","CustomClipboard","CustomUploader","CustomImage","FileModule","Counter","Emoji","Link","CustomSyntax","Strike","SoftBreak","Video","FontStyle","SizeStyle","LineHeightStyle","TextIndentStyle"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.cjs.js","sources":["../../../../src/link/formats/link.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport { sanitize } from '../../config/editor.utils'\r\n\r\nconst Inline = Quill.imports['blots/inline']\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 statics: any\r\n domNode: any\r\n static create(value) {\r\n const node = super.create(value)\r\n const href = this.sanitize(value)\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":["sanitize","Link"],"mappings":";;;;AAGA,MAAM,SAAS,MAAM,QAAQ,cAAc;aAG3C,MAAqB,aAAa,OAAO;AAAA,EAQvC,OAAO,OAAO,OAAO;AACb,UAAA,OAAO,MAAM,OAAO,KAAK;AACzB,UAAA,OAAO,KAAK,SAAS,KAAK;AAC3B,SAAA,aAAa,QAAQ,IAAI;AACzB,SAAA,aAAa,UAAU,QAAQ;AAC7B,WAAA;AAAA,EACT;AAAA,EAEA,OAAO,QAAQ,SAAS;AACf,WAAA,QAAQ,aAAa,MAAM;AAAA,EACpC;AAAA,EAEA,OAAO,SAAS,KAAK;AACnB,WAAOA,aAAAA,SAAS,KAAK,KAAK,kBAAkB,IAAI,MAAM,KAAK;AAAA,EAC7D;AAAA,EAEA,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,KAAK,SAAS,KAAK,CAAC;AAAA,IACxD;AAAA,EACF;AACF;AACAC,OAAK,WAAW;AAChBA,OAAK,UAAU;AACfA,OAAK,gBAAgB;AACrBA,OAAK,qBAAqB,CAAC,QAAQ,SAAS,UAAU,KAAK;AAC3DA,OAAK,YAAY;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/link/index.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport LinkBlot from './formats/link'\r\nimport Tooltip from './modules/tooltip'\r\n\r\nconst icons = Quill.imports['ui/icons']\r\nconst SnowTheme = Quill.imports['themes/snow']\r\nconst Module = Quill.imports['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\nSnowTheme.prototype.extendToolbar = function (toolbar) {\r\n toolbar.container.classList.add('ql-snow')\r\n this.buildButtons(toolbar.container.querySelectorAll('button'), icons)\r\n this.buildPickers(toolbar.container.querySelectorAll('select'), icons)\r\n this.tooltip = new Tooltip(this.quill, this.options.bounds)\r\n if (toolbar.container.querySelector('.ql-link')) {\r\n this.quill.keyboard.addBinding(\r\n { key: 'k', shortKey: true },\r\n (_range, context) => {\r\n toolbar.handlers.link.call(toolbar, !context.format.link)\r\n },\r\n )\r\n }\r\n}\r\n\r\nexport default Link\r\n"],"names":["LinkBlot","Tooltip"],"mappings":";;;;;AAIA,MAAM,QAAQ,MAAM,QAAQ,UAAU;AACtC,MAAM,YAAY,MAAM,QAAQ,aAAa;AAC7C,MAAM,SAAS,MAAM,QAAQ,aAAa;AAG1C,MAAM,aAAa,OAAO;AAAA,EACxB,OAAO,WAAW;AACV,UAAA,SAAS,cAAcA,KAAA,SAAU,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,OAAO,SAAS;AAC1B,UAAM,OAAO,OAAO;AAAA,EACtB;AACF;AAEA,UAAU,UAAU,gBAAgB,SAAU,SAAS;AAC7C,UAAA,UAAU,UAAU,IAAI,SAAS;AACzC,OAAK,aAAa,QAAQ,UAAU,iBAAiB,QAAQ,GAAG,KAAK;AACrE,OAAK,aAAa,QAAQ,UAAU,iBAAiB,QAAQ,GAAG,KAAK;AACrE,OAAK,UAAU,IAAIC,gBAAQ,KAAK,OAAO,KAAK,QAAQ,MAAM;AAC1D,MAAI,QAAQ,UAAU,cAAc,UAAU,GAAG;AAC/C,SAAK,MAAM,SAAS;AAAA,MAClB,EAAE,KAAK,KAAK,UAAU,KAAK;AAAA,MAC3B,CAAC,QAAQ,YAAY;AACnB,gBAAQ,SAAS,KAAK,KAAK,SAAS,CAAC,QAAQ,OAAO,IAAI;AAAA,MAC1D;AAAA,IAAA;AAAA,EAEJ;AACF;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip.cjs.js","sources":["../../../../src/link/modules/tooltip.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport Emitter from 'quill/core/emitter'\r\nimport { Range } from 'quill/core/selection'\r\nimport { BaseTooltip } from 'quill/themes/base'\r\nimport { debounce } from '../../../src/utils/debounce'\r\nimport { LANG_CONF } from '../../config/editor.config'\r\nimport { isNullOrUndefined } from '../../config/editor.utils'\r\nimport LinkBlot from '../formats/link'\r\n\r\n// const Emitter = Quill.imports['core/emitter'];\r\n// const BaseTooltip = Quill.imports['themes/BaseTooltip'];\r\n// const Range = Quill.imports['core/selection/range'];\r\n\r\n// @dynamic\r\nexport default class Tooltip extends BaseTooltip {\r\n static TEMPLATE: string\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\r\n constructor(quill, bounds) {\r\n super(quill, bounds)\r\n this.isInputFocus = false\r\n this.isHover = false\r\n\r\n this.debouncedHideToolTip = debounce(this.hideToolTip, 300)\r\n this.debouncedShowToolTip = debounce(this.showToolTip, 300)\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\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 const { autoProtocol } = this.quill.options\r\n if (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 edit(mode = '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) {\r\n let result = url\r\n if (!url) {\r\n return ''\r\n }\r\n if (!/^(?:f|ht)tps?\\:\\/\\//.test(url)) {\r\n result = `http://${url}`\r\n }\r\n return result\r\n }\r\n}\r\n\r\nTooltip.TEMPLATE = [\r\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${LANG_CONF.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"],"names":["BaseTooltip","debounce","LinkBlot","link","Range","isNullOrUndefined","selection","LANG_CONF"],"mappings":"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"}
package/dist/package.json DELETED
@@ -1,52 +0,0 @@
1
- {
2
- "name": "@opentiny/fluent-editor",
3
- "version": "3.20.2-alpha.0",
4
- "description": "A rich text editor based on Quill 2.0, which extends rich modules and formats on the basis of Quill. It's powerful and out-of-the-box.",
5
- "author": "OpenTiny Team",
6
- "license": "MIT",
7
- "homepage": "https://opentiny.github.io/fluent-editor/",
8
- "repository": {
9
- "type": "git",
10
- "url": "git@github.com:opentiny/fluent-editor.git"
11
- },
12
- "bugs": {
13
- "url": "https://github.com/opentiny/fluent-editor/issues"
14
- },
15
- "keywords": [
16
- "editor",
17
- "rich-text-editor",
18
- "rich-text",
19
- "wysiwyg",
20
- "wysiwyg-editor",
21
- "quill",
22
- "opentiny",
23
- "fluent-editor"
24
- ],
25
- "main": "lib/index.cjs.js",
26
- "module": "es/index.es.js",
27
- "scripts": {
28
- "start": "vite build && vite",
29
- "dev": "vite",
30
- "build": "pnpm build:theme && vite build && node scripts/pre-release.js",
31
- "build:theme": "vite build --config vite.config.theme.ts",
32
- "test": "jest"
33
- },
34
- "dependencies": {
35
- "lodash-es": "^4.17.15",
36
- "quill": "^2.0.0"
37
- },
38
- "devDependencies": {
39
- "@types/jest": "^26.0.23",
40
- "commander": "^6.2.0",
41
- "glob": "^11.0.0",
42
- "highlight.js": "^10.2.0",
43
- "html2canvas": "^1.4.1",
44
- "jest": "^26.6.3",
45
- "sass": "^1.47.0",
46
- "shelljs": "^0.8.4",
47
- "ts-jest": "^26.5.6",
48
- "ts-node": "^9.1.1",
49
- "typescript": "^4.9.5",
50
- "vite": "^5.0.0"
51
- }
52
- }
@@ -1,34 +0,0 @@
1
- const path = require('node:path')
2
- const program = require('commander')
3
- const shelljs = require('shelljs')
4
-
5
- shelljs.cp('-rf', 'package.json', 'dist')
6
- const targetFile = path.resolve(__dirname, '../dist/package.json')
7
- const packagejson = require(targetFile)
8
- const currentVersion = packagejson.version
9
- const versionArr = currentVersion.split('.')
10
- const [mainVersion, subVersion, phaseVersion] = versionArr
11
-
12
- // 默认版本号
13
- const defaultVersion = `${mainVersion}.${subVersion}.${+phaseVersion + 1}`
14
-
15
- let newVersion = defaultVersion
16
-
17
- // 从命令行参数中取版本号
18
- program
19
- .option('-v, --versions <type>', 'Add release version number', defaultVersion)
20
-
21
- program.parse(process.argv)
22
-
23
- if (program.versions) {
24
- newVersion = program.versions
25
- }
26
-
27
- function preRelease() {
28
- shelljs.sed('-i', `"version": "${currentVersion}"`, `"version": "${newVersion}"`, targetFile)
29
- shelljs.sed('-i', `"main": "src/index.ts"`, `"main": "lib/index.cjs.js"`, targetFile)
30
- shelljs.sed('-i', `"module": "src/index.ts"`, `"module": "es/index.es.js"`, targetFile)
31
- shelljs.cp('-rf', '../../README.md', 'dist')
32
- }
33
-
34
- preRelease()
@@ -1,367 +0,0 @@
1
- @import './common';
2
-
3
- // 模块:表格 table
4
-
5
- @mixin table {
6
- .quill-better-table-wrapper {
7
- padding: 0;
8
- margin: 25px 25px 40px 25px;
9
- max-width: calc(100% - 26px);
10
- display: inline-block;
11
- overflow: hidden;
12
-
13
- & ol,
14
- & ul {
15
- padding: 0;
16
- }
17
- .quill-better-table {
18
- border-collapse: collapse;
19
- border-spacing: 0;
20
- td {
21
- border: 1px solid #adb0b8;
22
- padding: 5px 10px;
23
- }
24
- }
25
- }
26
- .qlbt-operation-menu {
27
- background-color: #fff;
28
- -webkit-box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
29
- box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
30
- font-size: 14px;
31
- z-index: 100;
32
- overflow: hidden;
33
- .qlbt-operation-menu-item {
34
- display: flex;
35
- align-items: center;
36
- padding: 10px 16px;
37
- // background-color: #f8f8f8;
38
- cursor: pointer;
39
- color: #252b3a;
40
- overflow: hidden;
41
- text-overflow: ellipsis;
42
-
43
- &:hover {
44
- background-color: #f8f8f8;
45
- }
46
- }
47
- .qlrte__op-menu-dividing {
48
- height: 1px;
49
- background-color: #efefef;
50
- }
51
- .qlrte__op-menu-subtitle {
52
- color: #999;
53
- font-size: 14px;
54
- padding: 5px 16px;
55
- }
56
- .qlrte__op-menu-color-picker {
57
- display: -webkit-box;
58
- display: -ms-flexbox;
59
- display: flex;
60
- -webkit-box-align: center;
61
- -ms-flex-align: center;
62
- align-items: center;
63
- -ms-flex-wrap: wrap;
64
- flex-wrap: wrap;
65
- padding: 0 16px 10px;
66
- background-color: #fff;
67
- overflow: hidden;
68
- .qlrte__op-menu-color-picker-item {
69
- width: 20px;
70
- height: 20px;
71
- border: 1px solid #595959;
72
- margin-right: 5px;
73
- margin-bottom: 5px;
74
- cursor: pointer;
75
- }
76
- }
77
- }
78
- .qlbt-modules-container {
79
- position: absolute;
80
- left: 0;
81
- top: 0;
82
- width: calc(100% - 15px);
83
- height: 100%;
84
- overflow: hidden;
85
- pointer-events: none;
86
-
87
- .qlbt-table-control-panel {
88
- position: absolute;
89
- pointer-events: auto;
90
-
91
- .qlbt-left-mask,
92
- .qlbt-right-mask {
93
- position: absolute;
94
- top: 0;
95
- width: 40px;
96
- background: #f8f8f8;
97
- display: none;
98
- }
99
-
100
- .qlbt-left-mask {
101
- left: 0;
102
- }
103
-
104
- .qlbt-right-mask {
105
- right: 0;
106
- }
107
-
108
- .qlbt-row-control-panel {
109
- position: absolute;
110
- left: 15px;
111
- top: 24px;
112
- width: 16px;
113
- border-bottom: 1px solid #adb0b8;
114
-
115
- .qlbt-row-tool-cell {
116
- position: relative;
117
- display: table;
118
- padding: 2px;
119
- border: 1px solid #adb0b8;
120
- border-bottom: 0;
121
-
122
- &.qlbt-tool-cell-on {
123
- background: #dfe1e6;
124
- }
125
- }
126
-
127
- .qlbt-row-tool-cell-selector {
128
- display: table-cell;
129
- width: 100%;
130
- height: 100%;
131
- cursor: pointer;
132
- }
133
-
134
- .qlbt-row-tool-cell-holder {
135
- position: absolute;
136
- left: 0;
137
- bottom: -1px;
138
- z-index: 3;
139
- width: 100%;
140
- height: 1px;
141
- background-color: transparent;
142
- cursor: ns-resize;
143
-
144
- &:hover {
145
- background-color: #5e7ce0;
146
- }
147
-
148
- &::before {
149
- content: '';
150
- position: absolute;
151
- left: 0;
152
- top: -8px;
153
- display: block;
154
- width: 100%;
155
- height: 8px;
156
- }
157
-
158
- &::after {
159
- content: '';
160
- position: absolute;
161
- left: 0;
162
- bottom: -8px;
163
- display: block;
164
- width: 100%;
165
- height: 8px;
166
- }
167
- }
168
- }
169
-
170
- .qlbt-column-control-panel {
171
- position: absolute;
172
- display: flex;
173
- align-items: flex-end;
174
- left: 40px;
175
- top: 0;
176
- height: 16px;
177
- border-left: 1px solid #adb0b8;
178
-
179
- .qlbt-col-tool-cell {
180
- position: relative;
181
- display: table;
182
- padding: 2px;
183
- border: 1px solid #adb0b8;
184
- border-left: 0;
185
-
186
- &.qlbt-tool-cell-on {
187
- background: #dfe1e6;
188
- }
189
- }
190
-
191
- .qlbt-col-tool-cell-selector {
192
- display: table-cell;
193
- width: 100%;
194
- height: 100%;
195
- cursor: pointer;
196
- }
197
-
198
- .qlbt-col-tool-cell-holder {
199
- position: absolute;
200
- right: -1px;
201
- top: 0;
202
- bottom: 0;
203
- z-index: 3;
204
- width: 1px;
205
- background-color: transparent;
206
- cursor: ew-resize;
207
-
208
- &:hover {
209
- background-color: #5e7ce0;
210
- }
211
-
212
- &::before {
213
- content: '';
214
- position: absolute;
215
- top: 0;
216
- left: -8px;
217
- display: block;
218
- width: 8px;
219
- height: 100%;
220
- }
221
-
222
- &::after {
223
- content: '';
224
- position: absolute;
225
- top: 0;
226
- right: -8px;
227
- display: block;
228
- width: 8px;
229
- height: 100%;
230
- }
231
- }
232
- }
233
- }
234
-
235
- .qlbt-table-scroll-bar-panel {
236
- position: absolute;
237
- padding: 12px 0;
238
- width: 100%;
239
- height: 32px;
240
- left: 40px;
241
-
242
- .qlbt-table-scroll-bar {
243
- position: relative;
244
- left: 0;
245
- height: 8px;
246
- background: #adb0b8;
247
- border-radius: 10px;
248
- pointer-events: auto;
249
- cursor: pointer;
250
-
251
- &:hover {
252
- background: #5e7ce0;
253
- }
254
- }
255
- }
256
- }
257
-
258
- .qlbt-operation-menu {
259
- background-color: #ffffff;
260
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
261
- font-size: 14px;
262
- z-index: 100;
263
- overflow: hidden;
264
- position: fixed;
265
-
266
- .qlbt-operation-menu-item {
267
- display: flex;
268
- align-items: center;
269
- padding: 10px 16px;
270
- // background-color: #f8f8f8;
271
- cursor: pointer;
272
- color: #252b3a;
273
- overflow: hidden;
274
- text-overflow: ellipsis;
275
-
276
- &:hover {
277
- background-color: #f8f8f8;
278
- }
279
- }
280
- .qlbt-rte__op-menu-dividing {
281
- height: 1px;
282
- background-color: #efefef;
283
- }
284
- .qlbt-rte__op-menu-subtitle {
285
- color: #999;
286
- font-size: 14px;
287
- padding: 5px 16px;
288
- }
289
- .qlbt-rte__op-menu-color-picker {
290
- display: -webkit-box;
291
- display: -ms-flexbox;
292
- display: flex;
293
- -webkit-box-align: center;
294
- -ms-flex-align: center;
295
- align-items: center;
296
- -ms-flex-wrap: wrap;
297
- flex-wrap: wrap;
298
- padding: 0 16px 10px;
299
- background-color: #fff;
300
- overflow: hidden;
301
- .qlbt-rte__op-menu-color-picker-item {
302
- width: 20px;
303
- height: 20px;
304
- border: 1px solid #595959;
305
- margin-right: 5px;
306
- margin-bottom: 5px;
307
- cursor: pointer;
308
- }
309
- }
310
-
311
- .qlbt-operation-menu-disabled {
312
- color: #adb0b8;
313
-
314
- &:hover {
315
- background-color: #f5f5f6;
316
- }
317
- }
318
- }
319
-
320
- .qlbt-selection-line-first > div,
321
- .qlbt-selection-line-last > div {
322
- content: '';
323
- position: absolute;
324
- width: 6px;
325
- height: 6px;
326
- background: #5e7ce0;
327
- border-radius: 6px;
328
- pointer-events: auto;
329
- cursor: se-resize;
330
- }
331
-
332
- .qlbt-selection-line-first > div {
333
- left: -3px;
334
- top: -3px;
335
- }
336
-
337
- .qlbt-selection-line-last > div {
338
- right: -3px;
339
- top: -3px;
340
- }
341
-
342
- .qlbt-selection-edit-mask {
343
- display: block;
344
- position: absolute;
345
- background: transparent;
346
- cursor: text;
347
- }
348
-
349
- .editing-select-able {
350
- -webkit-touch-callout: text;
351
- -moz-user-select: text;
352
- -webkit-user-select: text;
353
- -ms-user-select: text;
354
- -khtml-user-select: text;
355
- user-select: text;
356
- }
357
-
358
- .ql-editor td {
359
- vertical-align: top;
360
- }
361
-
362
- .ql-editor table.quill-better-table {
363
- width: auto;
364
- }
365
- }
366
-
367
- @include table;