@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,370 +0,0 @@
1
- import Quill from 'quill'
2
- import { isNullOrUndefined } from '../config/editor.utils'
3
-
4
- const SnowTheme = Quill.imports['themes/snow']
5
-
6
- let optionsCounter = 0
7
-
8
- function toggleAriaAttribute(element, attribute) {
9
- element.setAttribute(
10
- attribute,
11
- element.getAttribute(attribute) !== 'true',
12
- )
13
- }
14
-
15
- class Picker {
16
- container: any
17
- label: any
18
- options: any
19
- select: any
20
- constructor(select) {
21
- this.select = select
22
- this.container = document.createElement('span')
23
- this.buildPicker()
24
- this.select.style.display = 'none'
25
- this.select.parentNode.insertBefore(this.container, this.select)
26
-
27
- this.label.addEventListener('mousedown', (e) => {
28
- this.togglePicker()
29
- e.preventDefault()
30
- })
31
- this.label.addEventListener('keydown', (event) => {
32
- switch (event.key) {
33
- case 'Enter':
34
- this.togglePicker()
35
- break
36
- case 'Escape':
37
- this.escape()
38
- event.preventDefault()
39
- break
40
- default:
41
- }
42
- })
43
- this.select.addEventListener('change', this.update.bind(this))
44
- }
45
-
46
- togglePicker() {
47
- this.container.classList.toggle('ql-expanded')
48
- // Toggle aria-expanded and aria-hidden to make the picker accessible
49
- toggleAriaAttribute(this.label, 'aria-expanded')
50
- toggleAriaAttribute(this.options, 'aria-hidden')
51
- }
52
-
53
- buildItem(option) {
54
- const item = document.createElement('span')
55
- item.tabIndex = 0
56
- item.setAttribute('role', 'button')
57
- item.classList.add('ql-picker-item')
58
- if (option.hasAttribute('value')) {
59
- item.setAttribute('data-value', option.getAttribute('value'))
60
- }
61
- if (option.textContent) {
62
- item.setAttribute('data-label', option.textContent)
63
- }
64
- item.addEventListener('click', () => {
65
- this.selectItem(item, true)
66
- })
67
- item.addEventListener('keydown', (event) => {
68
- switch (event.key) {
69
- case 'Enter':
70
- this.selectItem(item, true)
71
- event.preventDefault()
72
- break
73
- case 'Escape':
74
- this.escape()
75
- event.preventDefault()
76
- break
77
- default:
78
- }
79
- })
80
-
81
- return item
82
- }
83
-
84
- buildLabel() {
85
- const label = document.createElement('span')
86
- label.classList.add('ql-picker-label')
87
- label.innerHTML = `
88
- <svg viewbox="0 0 18 18">
89
- <polygon class="ql-stroke" points="7 11 9 13 11 11 7 11"></polygon>
90
- <polygon class="ql-stroke" points="7 7 9 5 11 7 7 7"></polygon>
91
- </svg>
92
- `
93
- label.tabIndex = 0
94
- label.setAttribute('role', 'button')
95
- label.setAttribute('aria-expanded', 'false')
96
- this.container.appendChild(label)
97
- return label
98
- }
99
-
100
- buildOptions() {
101
- const options = document.createElement('span')
102
- options.classList.add('ql-picker-options')
103
-
104
- // Don't want screen readers to read this until options are visible
105
- options.setAttribute('aria-hidden', 'true')
106
- options.tabIndex = -1
107
-
108
- // Need a unique id for aria-controls
109
- options.id = `ql-picker-options-${optionsCounter}`
110
- optionsCounter += 1
111
- this.label.setAttribute('aria-controls', options.id)
112
-
113
- this.options = options
114
-
115
- Array.from(this.select.options).forEach((option: any) => {
116
- const item = this.buildItem(option)
117
- options.appendChild(item)
118
- if (option.selected === true) {
119
- this.selectItem(item)
120
- }
121
- })
122
- this.container.appendChild(options)
123
- }
124
-
125
- buildPicker() {
126
- Array.from(this.select.attributes).forEach((item: any) => {
127
- this.container.setAttribute(item.name, item.value)
128
- })
129
- this.container.classList.add('ql-picker')
130
- this.label = this.buildLabel()
131
- this.buildOptions()
132
- }
133
-
134
- escape() {
135
- // Close menu and return focus to trigger label
136
- this.close()
137
- // Need setTimeout for accessibility to ensure that the browser executes
138
- // focus on the next process thread and after any DOM content changes
139
- setTimeout(() => this.label.focus(), 1)
140
- }
141
-
142
- close() {
143
- this.container.classList.remove('ql-expanded')
144
- this.label.setAttribute('aria-expanded', 'false')
145
- this.options.setAttribute('aria-hidden', 'true')
146
- }
147
-
148
- selectItem(item, trigger = false) {
149
- const selected = this.container.querySelector('.ql-selected')
150
- if (item === selected) return
151
- if (!isNullOrUndefined(selected)) {
152
- selected.classList.remove('ql-selected')
153
- }
154
- if (isNullOrUndefined(item)) return
155
- item.classList.add('ql-selected')
156
- this.select.selectedIndex = Array.from(item.parentNode.children).indexOf(
157
- item,
158
- )
159
- if (item.hasAttribute('data-value')) {
160
- this.label.setAttribute('data-value', item.getAttribute('data-value'))
161
- }
162
- else {
163
- this.label.removeAttribute('data-value')
164
- }
165
- if (item.hasAttribute('data-label')) {
166
- this.label.setAttribute('data-label', item.getAttribute('data-label'))
167
- }
168
- else {
169
- this.label.removeAttribute('data-label')
170
- }
171
- if (trigger) {
172
- let ev
173
- if (typeof Event === 'function') {
174
- ev = new Event('change')
175
- }
176
- else {
177
- ev = document.createEvent('Event')
178
- ev.initEvent('change', true, true)
179
- }
180
- this.select.dispatchEvent(ev)
181
- this.close()
182
- }
183
- }
184
-
185
- update() {
186
- let option
187
- if (this.select.selectedIndex > -1) {
188
- const item = this.container.querySelector('.ql-picker-options').children[
189
- this.select.selectedIndex
190
- ]
191
- option = this.select.options[this.select.selectedIndex]
192
- this.selectItem(item)
193
- }
194
- else {
195
- this.selectItem(null)
196
- }
197
- const isActive
198
- = !isNullOrUndefined(option)
199
- && option !== this.select.querySelector('option[selected]')
200
-
201
- if (isActive) {
202
- this.label.classList.add('ql-active')
203
- }
204
- else {
205
- this.label.classList.remove('ql-active')
206
- }
207
- }
208
- }
209
-
210
- class IconPicker extends Picker {
211
- defaultItem: any
212
- constructor(select, icons) {
213
- super(select)
214
- this.container.classList.add('ql-icon-picker')
215
- Array.from(this.container.querySelectorAll('.ql-picker-item')).forEach(
216
- (item: any) => {
217
- item.innerHTML = icons[item.getAttribute('data-value') || '']
218
- },
219
- )
220
- this.defaultItem = this.container.querySelector('.ql-selected')
221
- this.selectItem(this.defaultItem, null)
222
- }
223
-
224
- selectItem(target, trigger) {
225
- super.selectItem(target, trigger)
226
- const item = target || this.defaultItem
227
- if (this.label.innerHTML === item.innerHTML) return
228
- this.label.innerHTML = item.innerHTML
229
- }
230
- }
231
-
232
- class ColorPicker extends Picker {
233
- constructor(select, label) {
234
- super(select)
235
- this.label.innerHTML = label
236
- this.container.classList.add('ql-color-picker')
237
- Array.from(this.container.querySelectorAll('.ql-picker-item'))
238
- .slice(0, 7)
239
- .forEach((item: any) => {
240
- item.classList.add('ql-primary')
241
- })
242
- }
243
-
244
- buildItem(option) {
245
- const item = super.buildItem(option)
246
- item.style.backgroundColor = option.getAttribute('value') || ''
247
- return item
248
- }
249
-
250
- selectItem(item, trigger) {
251
- super.selectItem(item, trigger)
252
- const colorLabel = this.label.querySelector('.ql-color-label')
253
- const value = item ? item.getAttribute('data-value') || '' : ''
254
- if (colorLabel) {
255
- if (colorLabel.tagName === 'line') {
256
- colorLabel.style.stroke = value
257
- }
258
- else {
259
- colorLabel.style.fill = value
260
- }
261
- }
262
- }
263
- }
264
-
265
- Quill.register('ui/picker', Picker, true)
266
- Quill.register('ui/icon-picker', IconPicker, true)
267
- Quill.register('ui/color-picker', ColorPicker, true)
268
-
269
- const ALIGNS = [false, 'center', 'right']
270
-
271
- const COLORS = [
272
- '#000000',
273
- '#e60000',
274
- '#ff9900',
275
- '#ffff00',
276
- '#008a00',
277
- '#0066cc',
278
- '#9933ff',
279
- '#ffffff',
280
- '#facccc',
281
- '#ffebcc',
282
- '#ffffcc',
283
- '#cce8cc',
284
- '#cce0f5',
285
- '#ebd6ff',
286
- '#bbbbbb',
287
- '#f06666',
288
- '#ffc266',
289
- '#ffff66',
290
- '#66b966',
291
- '#66a3e0',
292
- '#c285ff',
293
- '#888888',
294
- '#a10000',
295
- '#b26b00',
296
- '#b2b200',
297
- '#006100',
298
- '#0047b2',
299
- '#6b24b2',
300
- '#444444',
301
- '#5c0000',
302
- '#663d00',
303
- '#666600',
304
- '#003700',
305
- '#002966',
306
- '#3d1466',
307
- ]
308
-
309
- const FONTS = [false, 'serif', 'monospace']
310
-
311
- const HEADERS = ['1', '2', '3', false]
312
-
313
- const SIZES = ['small', false, 'large', 'huge']
314
-
315
- SnowTheme.prototype.buildPickers = function (selects, icons) {
316
- this.pickers = Array.from(selects).map((select: any) => {
317
- if (select.classList.contains('ql-align')) {
318
- if (isNullOrUndefined(select.querySelector('option'))) {
319
- fillSelect(select, ALIGNS)
320
- }
321
- return new IconPicker(select, icons.align)
322
- }
323
- if (
324
- select.classList.contains('ql-background')
325
- || select.classList.contains('ql-color')
326
- ) {
327
- const format = select.classList.contains('ql-background')
328
- ? 'background'
329
- : 'color'
330
- if (isNullOrUndefined(select.querySelector('option'))) {
331
- fillSelect(
332
- select,
333
- COLORS,
334
- )
335
- }
336
- return new ColorPicker(select, icons[format])
337
- }
338
- if (isNullOrUndefined(select.querySelector('option'))) {
339
- if (select.classList.contains('ql-font')) {
340
- fillSelect(select, FONTS)
341
- }
342
- else if (select.classList.contains('ql-header')) {
343
- fillSelect(select, HEADERS)
344
- }
345
- else if (select.classList.contains('ql-size')) {
346
- fillSelect(select, SIZES)
347
- }
348
- }
349
- return new Picker(select)
350
- })
351
- const update = () => {
352
- this.pickers.forEach((picker) => {
353
- picker.update()
354
- })
355
- }
356
- this.quill.on(Quill.events.EDITOR_CHANGE, update)
357
- }
358
-
359
- function fillSelect(select, values, defaultValue = false) {
360
- values.forEach((value) => {
361
- const option = document.createElement('option')
362
- if (value === defaultValue) {
363
- option.setAttribute('selected', 'selected')
364
- }
365
- else {
366
- option.setAttribute('value', value)
367
- }
368
- select.appendChild(option)
369
- })
370
- }
@@ -1,180 +0,0 @@
1
- import type TypeToolbar from 'quill/modules/toolbar'
2
- import Quill from 'quill'
3
- import { isNullOrUndefined } from '../config/editor.utils'
4
- import './better-picker'
5
-
6
- const Delta = Quill.import('delta')
7
- const Parchment = Quill.import('parchment')
8
- const levels = ['error', 'warn', 'log', 'info'] as const
9
- let level = 'warn' as const
10
-
11
- function debuglogger(method: typeof levels[number], ...args) {
12
- if (levels.indexOf(method) <= levels.indexOf(level)) {
13
- console[method](...args) // eslint-disable-line no-console
14
- }
15
- }
16
-
17
- function namespace(ns) {
18
- return levels.reduce((logger, method) => {
19
- logger[method] = debuglogger.bind(console, method, ns)
20
- return logger
21
- }, {} as Record<typeof levels[number], (...args: any) => void>)
22
- }
23
-
24
- namespace.level = (newLevel) => {
25
- level = newLevel
26
- }
27
- debuglogger.level = namespace.level
28
- const debug = namespace('quill:toolbar')
29
-
30
- const Toolbar = Quill.import('modules/toolbar') as typeof TypeToolbar
31
- // let oldClean = Toolbar.DEFAULTS.handlers.clean
32
-
33
- class BetterToolbar extends Toolbar {
34
- update(range) {
35
- const formats = isNullOrUndefined(range) ? {} : this.quill.getFormat(range) as Record<string, any>
36
- this.controls.forEach((pair) => {
37
- const [format, input] = pair
38
- if (input.tagName === 'SELECT') {
39
- const select = input as HTMLSelectElement
40
- let option
41
- if (isNullOrUndefined(range)) {
42
- option = null
43
- }
44
- else if (isNullOrUndefined(formats[format])) {
45
- option = select.querySelector('option[selected]')
46
- }
47
- else if (!Array.isArray(formats[format])) {
48
- let value = format === 'header' ? formats[format].value : formats[format]
49
- if (typeof value === 'string') {
50
- value = value.replace(/"/g, '\\"')
51
- }
52
- option = select.querySelector(`option[value="${value}"]`)
53
- }
54
- if (isNullOrUndefined(option)) {
55
- select.value = '' // TODO make configurable?
56
- select.selectedIndex = -1
57
- }
58
- else {
59
- option.selected = true
60
- }
61
- }
62
- else if (isNullOrUndefined(range)) {
63
- input.classList.remove('ql-active')
64
- }
65
- else if (input.hasAttribute('value')) {
66
- // both being null should match (default values)
67
- // '1' should match with 1 (headers)
68
- let isActive
69
- = formats[format] === input.getAttribute('value')
70
- || (!isNullOrUndefined(formats[format])
71
- && (formats[format].value === input.getAttribute('value')
72
- || formats[format].toString() === input.getAttribute('value')))
73
- || (isNullOrUndefined(formats[format]) && !input.getAttribute('value'))
74
-
75
- if (!isActive) {
76
- const checkFormat = formats[format]
77
- if (checkFormat === 'checked' || checkFormat === 'unchecked') {
78
- isActive = input.getAttribute('value') === 'check'
79
- }
80
- }
81
-
82
- if (isActive) {
83
- input.classList.add('ql-active')
84
- }
85
- else {
86
- input.classList.remove('ql-active')
87
- }
88
- }
89
- else {
90
- if (!isNullOrUndefined(formats[format])) {
91
- input.classList.add('ql-active')
92
- }
93
- else {
94
- input.classList.remove('ql-active')
95
- }
96
- }
97
- })
98
- }
99
-
100
- attach(input: HTMLElement) {
101
- let format = Array.from(input.classList).find((className) => {
102
- return className.indexOf('ql-') === 0
103
- })
104
- if (!format) return
105
- format = format.slice('ql-'.length)
106
-
107
- if (input.tagName === 'BUTTON') {
108
- input.setAttribute('type', 'button')
109
- }
110
-
111
- if (this.handlers[format] == null && this.quill.scroll.query(format) == null) {
112
- debug.warn('ignoring attaching to nonexistent format', format, input)
113
- return
114
- }
115
-
116
- const eventName = input.tagName === 'SELECT' ? 'change' : 'click'
117
- input.addEventListener(eventName, (e) => {
118
- let value: boolean | string
119
-
120
- if (input.tagName === 'SELECT') {
121
- const select = input as HTMLSelectElement
122
- if (select.selectedIndex < 0) return
123
- const selected = select.options[select.selectedIndex]
124
-
125
- if (selected.hasAttribute('selected')) {
126
- value = false
127
- }
128
- else {
129
- value = selected.value || false
130
- }
131
- }
132
- else {
133
- const button = input as HTMLButtonElement
134
- if (button.classList.contains('ql-active')) {
135
- value = false
136
- }
137
- else {
138
- value = button.value || !button.hasAttribute('value')
139
- }
140
- e.preventDefault()
141
- }
142
-
143
- this.quill.focus({ preventScroll: format === 'screenshot' })
144
- const [range] = this.quill.selection.getRange()
145
- if (this.handlers[format] != null) {
146
- // @ts-ignore
147
- if (!isNullOrUndefined(window.quillIsIntable) && window.quillIsIntable === true && (format === 'blockquote' || format === 'code-block' || format === 'list' || format === 'indent' || format === 'clean')) {
148
- return
149
- }
150
- this.handlers[format].call(this, value)
151
- }
152
- else if (
153
- // @ts-ignore
154
- this.quill.scroll.query(format).prototype instanceof Parchment.EmbedBlot
155
- ) {
156
- value = prompt(`Enter ${format}`)
157
- if (!value) return
158
- this.quill.updateContents(
159
- new Delta()
160
- .retain(range.index)
161
- .delete(range.length)
162
- .insert({ [format]: value }),
163
- Quill.sources.USER,
164
- )
165
- }
166
- else {
167
- // @ts-ignore
168
- if (!isNullOrUndefined(window.quillIsIntable) && window.quillIsIntable === true && (format === 'blockquote' || format === 'code-block' || format === 'list' || format === 'indent' || format === 'clean')) {
169
- return
170
- }
171
- this.quill.format(format, value, Quill.sources.USER)
172
- }
173
-
174
- this.update(range)
175
- })
176
- this.controls.push([format, input])
177
- }
178
- }
179
-
180
- export default BetterToolbar
@@ -1,149 +0,0 @@
1
- import { isObject, root } from './method'
2
-
3
- export function debounce(func, wait, options = undefined) {
4
- let lastArgs,
5
- lastThis,
6
- maxWait,
7
- result,
8
- timerId,
9
- lastCallTime
10
-
11
- let lastInvokeTime = 0
12
- let leading = false
13
- let maxing = false
14
- let trailing = true
15
-
16
- // Bypass `requestAnimationFrame` by explicitly setting `wait=0`.
17
- const useRAF = (!wait && wait !== 0 && typeof root.requestAnimationFrame === 'function')
18
-
19
- if (typeof func !== 'function') {
20
- throw new TypeError('Expected a function')
21
- }
22
- wait = +wait || 0
23
- if (isObject(options)) {
24
- leading = !!options.leading
25
- maxing = 'maxWait' in options
26
- maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait
27
- trailing = 'trailing' in options ? !!options.trailing : trailing
28
- }
29
-
30
- function invokeFunc(time) {
31
- const args = lastArgs
32
- const thisArg = lastThis
33
-
34
- lastArgs = lastThis = undefined
35
- lastInvokeTime = time
36
- result = func.apply(thisArg, args)
37
- return result
38
- }
39
-
40
- function startTimer(pendingFunc, wait) {
41
- if (useRAF) {
42
- root.cancelAnimationFrame(timerId)
43
- return root.requestAnimationFrame(pendingFunc)
44
- }
45
- return setTimeout(pendingFunc, wait)
46
- }
47
-
48
- function cancelTimer(id) {
49
- if (useRAF) {
50
- return root.cancelAnimationFrame(id)
51
- }
52
- clearTimeout(id)
53
- }
54
-
55
- function leadingEdge(time) {
56
- // Reset any `maxWait` timer.
57
- lastInvokeTime = time
58
- // Start the timer for the trailing edge.
59
- timerId = startTimer(timerExpired, wait)
60
- // Invoke the leading edge.
61
- return leading ? invokeFunc(time) : result
62
- }
63
-
64
- function remainingWait(time) {
65
- const timeSinceLastCall = time - lastCallTime
66
- const timeSinceLastInvoke = time - lastInvokeTime
67
- const timeWaiting = wait - timeSinceLastCall
68
-
69
- return maxing
70
- ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke)
71
- : timeWaiting
72
- }
73
-
74
- function shouldInvoke(time) {
75
- const timeSinceLastCall = time - lastCallTime
76
- const timeSinceLastInvoke = time - lastInvokeTime
77
-
78
- // Either this is the first call, activity has stopped and we're at the
79
- // trailing edge, the system time has gone backwards and we're treating
80
- // it as the trailing edge, or we've hit the `maxWait` limit.
81
- return (lastCallTime === undefined || (timeSinceLastCall >= wait)
82
- || (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait))
83
- }
84
-
85
- function timerExpired() {
86
- const time = Date.now()
87
- if (shouldInvoke(time)) {
88
- return trailingEdge(time)
89
- }
90
- // Restart the timer.
91
- timerId = startTimer(timerExpired, remainingWait(time))
92
- }
93
-
94
- function trailingEdge(time) {
95
- timerId = undefined
96
-
97
- // Only invoke if we have `lastArgs` which means `func` has been
98
- // debounced at least once.
99
- if (trailing && lastArgs) {
100
- return invokeFunc(time)
101
- }
102
- lastArgs = lastThis = undefined
103
- return result
104
- }
105
-
106
- function cancel() {
107
- if (timerId !== undefined) {
108
- cancelTimer(timerId)
109
- }
110
- lastInvokeTime = 0
111
- lastArgs = lastCallTime = lastThis = timerId = undefined
112
- }
113
-
114
- function flush() {
115
- return timerId === undefined ? result : trailingEdge(Date.now())
116
- }
117
-
118
- function pending() {
119
- return timerId !== undefined
120
- }
121
-
122
- function debounced(...args) {
123
- const time = Date.now()
124
- const isInvoking = shouldInvoke(time)
125
-
126
- lastArgs = args
127
- lastThis = this
128
- lastCallTime = time
129
-
130
- if (isInvoking) {
131
- if (timerId === undefined) {
132
- return leadingEdge(lastCallTime)
133
- }
134
- if (maxing) {
135
- // Handle invocations in a tight loop.
136
- timerId = startTimer(timerExpired, wait)
137
- return invokeFunc(lastCallTime)
138
- }
139
- }
140
- if (timerId === undefined) {
141
- timerId = startTimer(timerExpired, wait)
142
- }
143
- return result
144
- }
145
- debounced.cancel = cancel
146
- debounced.flush = flush
147
- debounced.pending = pending
148
- return debounced
149
- }