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

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/dist/package.json +52 -0
  2. package/package.json +3 -3
  3. package/scripts/pre-release.js +34 -0
  4. package/src/assets/better-table.scss +367 -0
  5. package/src/assets/common.scss +279 -0
  6. package/src/assets/counter.scss +19 -0
  7. package/src/assets/custom-image.scss +20 -0
  8. package/src/assets/editor.scss +365 -0
  9. package/src/assets/emoji/emoji.scss +461 -0
  10. package/src/assets/emoji/style.scss +252 -0
  11. package/src/assets/fileBar.scss +116 -0
  12. package/src/assets/font.scss +36 -0
  13. package/src/assets/fullscreen.scss +21 -0
  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 +16 -0
  19. package/src/assets/link.scss +130 -0
  20. package/src/assets/mention.scss +48 -0
  21. package/src/assets/screenshot.scss +78 -0
  22. package/src/assets/size.scss +13 -0
  23. package/src/assets/style.scss +39 -0
  24. package/src/assets/tasklist.scss +76 -0
  25. package/src/assets/toolbar.scss +416 -0
  26. package/src/attributors/font-size.ts +6 -0
  27. package/src/attributors/font-style.ts +6 -0
  28. package/src/attributors/index.ts +4 -0
  29. package/src/attributors/line-height.ts +6 -0
  30. package/src/attributors/text-indent.ts +6 -0
  31. package/src/config/base64-image.ts +8 -0
  32. package/src/config/editor.config.ts +88 -0
  33. package/src/config/editor.utils.ts +199 -0
  34. package/src/config/i18n/en-us.ts +106 -0
  35. package/src/config/i18n/zh-cn.ts +104 -0
  36. package/src/config/icons.config.ts +297 -0
  37. package/src/config/index.ts +171 -0
  38. package/src/config/types/additional-toolbar-item.interface.ts +8 -0
  39. package/src/config/types/content-change.interface.ts +13 -0
  40. package/src/config/types/content-save.interface.ts +6 -0
  41. package/src/config/types/counter-option.interface.ts +9 -0
  42. package/src/config/types/editor-config.interface.ts +22 -0
  43. package/src/config/types/editor-modules.interface.ts +41 -0
  44. package/src/config/types/file-operation.interface.ts +12 -0
  45. package/src/config/types/focus-change.interface.ts +4 -0
  46. package/src/config/types/fullscreen-module.interface.ts +4 -0
  47. package/src/config/types/help-panel-item.interface.ts +5 -0
  48. package/src/config/types/help-panel-option.interface.ts +7 -0
  49. package/src/config/types/image-module.interface.ts +3 -0
  50. package/src/config/types/image-upload.interface.ts +7 -0
  51. package/src/config/types/index.ts +22 -0
  52. package/src/config/types/load-on-demand-module.interface.ts +5 -0
  53. package/src/config/types/mention-module.interface.ts +8 -0
  54. package/src/config/types/paste-change.interface.ts +6 -0
  55. package/src/config/types/quick-menu-module.interface.ts +3 -0
  56. package/src/config/types/range.interface.ts +4 -0
  57. package/src/config/types/registry-options.interface.ts +5 -0
  58. package/src/config/types/selection-change.interface.ts +8 -0
  59. package/src/config/types/toolbar-item.interface.ts +13 -0
  60. package/src/config/types/type.ts +5 -0
  61. package/src/config/types/validate-error.interface.ts +11 -0
  62. package/src/counter/index.ts +69 -0
  63. package/src/custom-clipboard.ts +633 -0
  64. package/src/custom-image/BlotFormatter.ts +167 -0
  65. package/src/custom-image/Options.ts +150 -0
  66. package/src/custom-image/actions/Action.ts +13 -0
  67. package/src/custom-image/actions/CustomResizeAction.ts +207 -0
  68. package/src/custom-image/actions/DeleteAction.ts +29 -0
  69. package/src/custom-image/image.ts +118 -0
  70. package/src/custom-image/specs/BlotSpec.ts +30 -0
  71. package/src/custom-image/specs/CustomImageSpec.ts +139 -0
  72. package/src/custom-image/specs/ImageSpec.ts +33 -0
  73. package/src/custom-uploader.ts +199 -0
  74. package/src/emoji/emoji-list/index.ts +1 -0
  75. package/src/emoji/emoji-list/people.ts +111 -0
  76. package/src/emoji/emoji-list.ts +9 -0
  77. package/src/emoji/emoji-map.ts +9 -0
  78. package/src/emoji/formats/emoji-blot.ts +54 -0
  79. package/src/emoji/index.ts +5 -0
  80. package/src/emoji/modules/emoji.ts +318 -0
  81. package/src/emoji/modules/toolbar-emoji.ts +182 -0
  82. package/src/emoji/utils.ts +15 -0
  83. package/src/file/formats/file.ts +67 -0
  84. package/src/file/index.ts +38 -0
  85. package/src/file/modules/file-bar.ts +146 -0
  86. package/src/fluent-editor.ts +164 -0
  87. package/src/format-painter/index.ts +79 -0
  88. package/src/global-link/constants.ts +3 -0
  89. package/src/global-link/formats/customer-widget-link.ts +36 -0
  90. package/src/global-link/formats/doc-link.ts +55 -0
  91. package/src/global-link/formats/wiki-link.ts +45 -0
  92. package/src/global-link/formats/work-item-link.ts +47 -0
  93. package/src/global-link/global-link-panel.ts +20 -0
  94. package/src/global-link/index.ts +165 -0
  95. package/src/global-link/utils/createTable.ts +54 -0
  96. package/src/index.ts +5 -0
  97. package/src/link/formats/link.ts +44 -0
  98. package/src/link/index.ts +35 -0
  99. package/src/link/modules/tooltip.ts +318 -0
  100. package/src/mention/Mention.ts +406 -0
  101. package/src/mention/MentionLink.ts +51 -0
  102. package/src/mention/constants.ts +3 -0
  103. package/src/quick-menu/index.ts +100 -0
  104. package/src/screenshot/index.ts +231 -0
  105. package/src/soft-break/index.ts +34 -0
  106. package/src/strike/index.ts +16 -0
  107. package/src/syntax/index.ts +35 -0
  108. package/src/table/better-table.ts +553 -0
  109. package/src/table/formats/header.ts +129 -0
  110. package/src/table/formats/list.ts +229 -0
  111. package/src/table/formats/table.ts +1272 -0
  112. package/src/table/modules/table-column-tool.ts +492 -0
  113. package/src/table/modules/table-operation-menu.ts +584 -0
  114. package/src/table/modules/table-scroll-bar.ts +248 -0
  115. package/src/table/modules/table-selection.ts +387 -0
  116. package/src/table/table-config.ts +42 -0
  117. package/src/table/utils/index.ts +62 -0
  118. package/src/table/utils/node-matchers.ts +359 -0
  119. package/src/toolbar/better-picker.ts +370 -0
  120. package/src/toolbar/index.ts +180 -0
  121. package/src/utils/debounce.ts +149 -0
  122. package/src/utils/image.ts +22 -0
  123. package/src/utils/method.ts +82 -0
  124. package/src/utils/scroll-lock.ts +52 -0
  125. package/src/video/index.ts +62 -0
  126. package/tsconfig.json +26 -0
  127. package/vite.config.theme.ts +20 -0
  128. package/vite.config.ts +56 -0
  129. /package/{README.md → dist/README.md} +0 -0
  130. /package/{es → dist/es}/attributors/font-size.es.js +0 -0
  131. /package/{es → dist/es}/attributors/font-size.es.js.map +0 -0
  132. /package/{es → dist/es}/attributors/font-style.es.js +0 -0
  133. /package/{es → dist/es}/attributors/font-style.es.js.map +0 -0
  134. /package/{es → dist/es}/attributors/index.es.js +0 -0
  135. /package/{es → dist/es}/attributors/index.es.js.map +0 -0
  136. /package/{es → dist/es}/attributors/line-height.es.js +0 -0
  137. /package/{es → dist/es}/attributors/line-height.es.js.map +0 -0
  138. /package/{es → dist/es}/attributors/text-indent.es.js +0 -0
  139. /package/{es → dist/es}/attributors/text-indent.es.js.map +0 -0
  140. /package/{es → dist/es}/config/base64-image.es.js +0 -0
  141. /package/{es → dist/es}/config/base64-image.es.js.map +0 -0
  142. /package/{es → dist/es}/config/editor.config.es.js +0 -0
  143. /package/{es → dist/es}/config/editor.config.es.js.map +0 -0
  144. /package/{es → dist/es}/config/editor.utils.es.js +0 -0
  145. /package/{es → dist/es}/config/editor.utils.es.js.map +0 -0
  146. /package/{es → dist/es}/config/i18n/en-us.es.js +0 -0
  147. /package/{es → dist/es}/config/i18n/en-us.es.js.map +0 -0
  148. /package/{es → dist/es}/config/i18n/zh-cn.es.js +0 -0
  149. /package/{es → dist/es}/config/i18n/zh-cn.es.js.map +0 -0
  150. /package/{es → dist/es}/config/icons.config.es.js +0 -0
  151. /package/{es → dist/es}/config/icons.config.es.js.map +0 -0
  152. /package/{es → dist/es}/config/index.es.js +0 -0
  153. /package/{es → dist/es}/config/index.es.js.map +0 -0
  154. /package/{es → dist/es}/config/types/additional-toolbar-item.interface.es.js +0 -0
  155. /package/{es → dist/es}/config/types/additional-toolbar-item.interface.es.js.map +0 -0
  156. /package/{es → dist/es}/config/types/content-change.interface.es.js +0 -0
  157. /package/{es → dist/es}/config/types/content-change.interface.es.js.map +0 -0
  158. /package/{es → dist/es}/config/types/content-save.interface.es.js +0 -0
  159. /package/{es → dist/es}/config/types/content-save.interface.es.js.map +0 -0
  160. /package/{es → dist/es}/config/types/counter-option.interface.es.js +0 -0
  161. /package/{es → dist/es}/config/types/counter-option.interface.es.js.map +0 -0
  162. /package/{es → dist/es}/config/types/editor-config.interface.es.js +0 -0
  163. /package/{es → dist/es}/config/types/editor-config.interface.es.js.map +0 -0
  164. /package/{es → dist/es}/config/types/editor-modules.interface.es.js +0 -0
  165. /package/{es → dist/es}/config/types/editor-modules.interface.es.js.map +0 -0
  166. /package/{es → dist/es}/config/types/file-operation.interface.es.js +0 -0
  167. /package/{es → dist/es}/config/types/file-operation.interface.es.js.map +0 -0
  168. /package/{es → dist/es}/config/types/focus-change.interface.es.js +0 -0
  169. /package/{es → dist/es}/config/types/focus-change.interface.es.js.map +0 -0
  170. /package/{es → dist/es}/config/types/fullscreen-module.interface.es.js +0 -0
  171. /package/{es → dist/es}/config/types/fullscreen-module.interface.es.js.map +0 -0
  172. /package/{es → dist/es}/config/types/help-panel-item.interface.es.js +0 -0
  173. /package/{es → dist/es}/config/types/help-panel-item.interface.es.js.map +0 -0
  174. /package/{es → dist/es}/config/types/help-panel-option.interface.es.js +0 -0
  175. /package/{es → dist/es}/config/types/help-panel-option.interface.es.js.map +0 -0
  176. /package/{es → dist/es}/config/types/image-module.interface.es.js +0 -0
  177. /package/{es → dist/es}/config/types/image-module.interface.es.js.map +0 -0
  178. /package/{es → dist/es}/config/types/image-upload.interface.es.js +0 -0
  179. /package/{es → dist/es}/config/types/image-upload.interface.es.js.map +0 -0
  180. /package/{es → dist/es}/config/types/index.es.js +0 -0
  181. /package/{es → dist/es}/config/types/index.es.js.map +0 -0
  182. /package/{es → dist/es}/config/types/load-on-demand-module.interface.es.js +0 -0
  183. /package/{es → dist/es}/config/types/load-on-demand-module.interface.es.js.map +0 -0
  184. /package/{es → dist/es}/config/types/mention-module.interface.es.js +0 -0
  185. /package/{es → dist/es}/config/types/mention-module.interface.es.js.map +0 -0
  186. /package/{es → dist/es}/config/types/paste-change.interface.es.js +0 -0
  187. /package/{es → dist/es}/config/types/paste-change.interface.es.js.map +0 -0
  188. /package/{es → dist/es}/config/types/quick-menu-module.interface.es.js +0 -0
  189. /package/{es → dist/es}/config/types/quick-menu-module.interface.es.js.map +0 -0
  190. /package/{es → dist/es}/config/types/range.interface.es.js +0 -0
  191. /package/{es → dist/es}/config/types/range.interface.es.js.map +0 -0
  192. /package/{es → dist/es}/config/types/registry-options.interface.es.js +0 -0
  193. /package/{es → dist/es}/config/types/registry-options.interface.es.js.map +0 -0
  194. /package/{es → dist/es}/config/types/selection-change.interface.es.js +0 -0
  195. /package/{es → dist/es}/config/types/selection-change.interface.es.js.map +0 -0
  196. /package/{es → dist/es}/config/types/toolbar-item.interface.es.js +0 -0
  197. /package/{es → dist/es}/config/types/toolbar-item.interface.es.js.map +0 -0
  198. /package/{es → dist/es}/config/types/type.es.js +0 -0
  199. /package/{es → dist/es}/config/types/type.es.js.map +0 -0
  200. /package/{es → dist/es}/config/types/validate-error.interface.es.js +0 -0
  201. /package/{es → dist/es}/config/types/validate-error.interface.es.js.map +0 -0
  202. /package/{es → dist/es}/counter/index.es.js +0 -0
  203. /package/{es → dist/es}/counter/index.es.js.map +0 -0
  204. /package/{es → dist/es}/custom-clipboard.es.js +0 -0
  205. /package/{es → dist/es}/custom-clipboard.es.js.map +0 -0
  206. /package/{es → dist/es}/custom-image/BlotFormatter.es.js +0 -0
  207. /package/{es → dist/es}/custom-image/BlotFormatter.es.js.map +0 -0
  208. /package/{es → dist/es}/custom-image/Options.es.js +0 -0
  209. /package/{es → dist/es}/custom-image/Options.es.js.map +0 -0
  210. /package/{es → dist/es}/custom-image/actions/Action.es.js +0 -0
  211. /package/{es → dist/es}/custom-image/actions/Action.es.js.map +0 -0
  212. /package/{es → dist/es}/custom-image/actions/CustomResizeAction.es.js +0 -0
  213. /package/{es → dist/es}/custom-image/actions/CustomResizeAction.es.js.map +0 -0
  214. /package/{es → dist/es}/custom-image/actions/DeleteAction.es.js +0 -0
  215. /package/{es → dist/es}/custom-image/actions/DeleteAction.es.js.map +0 -0
  216. /package/{es → dist/es}/custom-image/image.es.js +0 -0
  217. /package/{es → dist/es}/custom-image/image.es.js.map +0 -0
  218. /package/{es → dist/es}/custom-image/specs/BlotSpec.es.js +0 -0
  219. /package/{es → dist/es}/custom-image/specs/BlotSpec.es.js.map +0 -0
  220. /package/{es → dist/es}/custom-image/specs/CustomImageSpec.es.js +0 -0
  221. /package/{es → dist/es}/custom-image/specs/CustomImageSpec.es.js.map +0 -0
  222. /package/{es → dist/es}/custom-image/specs/ImageSpec.es.js +0 -0
  223. /package/{es → dist/es}/custom-image/specs/ImageSpec.es.js.map +0 -0
  224. /package/{es → dist/es}/custom-uploader.es.js +0 -0
  225. /package/{es → dist/es}/custom-uploader.es.js.map +0 -0
  226. /package/{es → dist/es}/emoji/emoji-list/index.es.js +0 -0
  227. /package/{es → dist/es}/emoji/emoji-list/index.es.js.map +0 -0
  228. /package/{es → dist/es}/emoji/emoji-list/people.es.js +0 -0
  229. /package/{es → dist/es}/emoji/emoji-list/people.es.js.map +0 -0
  230. /package/{es → dist/es}/emoji/emoji-list.es.js +0 -0
  231. /package/{es → dist/es}/emoji/emoji-list.es.js.map +0 -0
  232. /package/{es → dist/es}/emoji/emoji-map.es.js +0 -0
  233. /package/{es → dist/es}/emoji/emoji-map.es.js.map +0 -0
  234. /package/{es → dist/es}/emoji/formats/emoji-blot.es.js +0 -0
  235. /package/{es → dist/es}/emoji/formats/emoji-blot.es.js.map +0 -0
  236. /package/{es → dist/es}/emoji/index.es.js +0 -0
  237. /package/{es → dist/es}/emoji/index.es.js.map +0 -0
  238. /package/{es → dist/es}/emoji/modules/emoji.es.js +0 -0
  239. /package/{es → dist/es}/emoji/modules/emoji.es.js.map +0 -0
  240. /package/{es → dist/es}/emoji/modules/toolbar-emoji.es.js +0 -0
  241. /package/{es → dist/es}/emoji/modules/toolbar-emoji.es.js.map +0 -0
  242. /package/{es → dist/es}/emoji/utils.es.js +0 -0
  243. /package/{es → dist/es}/emoji/utils.es.js.map +0 -0
  244. /package/{es → dist/es}/file/formats/file.es.js +0 -0
  245. /package/{es → dist/es}/file/formats/file.es.js.map +0 -0
  246. /package/{es → dist/es}/file/index.es.js +0 -0
  247. /package/{es → dist/es}/file/index.es.js.map +0 -0
  248. /package/{es → dist/es}/file/modules/file-bar.es.js +0 -0
  249. /package/{es → dist/es}/file/modules/file-bar.es.js.map +0 -0
  250. /package/{es → dist/es}/fluent-editor.es.js +0 -0
  251. /package/{es → dist/es}/fluent-editor.es.js.map +0 -0
  252. /package/{es → dist/es}/format-painter/index.es.js +0 -0
  253. /package/{es → dist/es}/format-painter/index.es.js.map +0 -0
  254. /package/{es → dist/es}/global-link/constants.es.js +0 -0
  255. /package/{es → dist/es}/global-link/constants.es.js.map +0 -0
  256. /package/{es → dist/es}/global-link/formats/customer-widget-link.es.js +0 -0
  257. /package/{es → dist/es}/global-link/formats/customer-widget-link.es.js.map +0 -0
  258. /package/{es → dist/es}/global-link/formats/doc-link.es.js +0 -0
  259. /package/{es → dist/es}/global-link/formats/doc-link.es.js.map +0 -0
  260. /package/{es → dist/es}/global-link/formats/wiki-link.es.js +0 -0
  261. /package/{es → dist/es}/global-link/formats/wiki-link.es.js.map +0 -0
  262. /package/{es → dist/es}/global-link/formats/work-item-link.es.js +0 -0
  263. /package/{es → dist/es}/global-link/formats/work-item-link.es.js.map +0 -0
  264. /package/{es → dist/es}/global-link/global-link-panel.es.js +0 -0
  265. /package/{es → dist/es}/global-link/global-link-panel.es.js.map +0 -0
  266. /package/{es → dist/es}/global-link/index.es.js +0 -0
  267. /package/{es → dist/es}/global-link/index.es.js.map +0 -0
  268. /package/{es → dist/es}/global-link/utils/createTable.es.js +0 -0
  269. /package/{es → dist/es}/global-link/utils/createTable.es.js.map +0 -0
  270. /package/{es → dist/es}/index.es.js +0 -0
  271. /package/{es → dist/es}/index.es.js.map +0 -0
  272. /package/{es → dist/es}/link/formats/link.es.js +0 -0
  273. /package/{es → dist/es}/link/formats/link.es.js.map +0 -0
  274. /package/{es → dist/es}/link/index.es.js +0 -0
  275. /package/{es → dist/es}/link/index.es.js.map +0 -0
  276. /package/{es → dist/es}/link/modules/tooltip.es.js +0 -0
  277. /package/{es → dist/es}/link/modules/tooltip.es.js.map +0 -0
  278. /package/{es → dist/es}/mention/Mention.es.js +0 -0
  279. /package/{es → dist/es}/mention/Mention.es.js.map +0 -0
  280. /package/{es → dist/es}/mention/MentionLink.es.js +0 -0
  281. /package/{es → dist/es}/mention/MentionLink.es.js.map +0 -0
  282. /package/{es → dist/es}/mention/constants.es.js +0 -0
  283. /package/{es → dist/es}/mention/constants.es.js.map +0 -0
  284. /package/{es → dist/es}/quick-menu/index.es.js +0 -0
  285. /package/{es → dist/es}/quick-menu/index.es.js.map +0 -0
  286. /package/{es → dist/es}/screenshot/index.es.js +0 -0
  287. /package/{es → dist/es}/screenshot/index.es.js.map +0 -0
  288. /package/{es → dist/es}/soft-break/index.es.js +0 -0
  289. /package/{es → dist/es}/soft-break/index.es.js.map +0 -0
  290. /package/{es → dist/es}/strike/index.es.js +0 -0
  291. /package/{es → dist/es}/strike/index.es.js.map +0 -0
  292. /package/{es → dist/es}/syntax/index.es.js +0 -0
  293. /package/{es → dist/es}/syntax/index.es.js.map +0 -0
  294. /package/{es → dist/es}/table/better-table.es.js +0 -0
  295. /package/{es → dist/es}/table/better-table.es.js.map +0 -0
  296. /package/{es → dist/es}/table/formats/header.es.js +0 -0
  297. /package/{es → dist/es}/table/formats/header.es.js.map +0 -0
  298. /package/{es → dist/es}/table/formats/list.es.js +0 -0
  299. /package/{es → dist/es}/table/formats/list.es.js.map +0 -0
  300. /package/{es → dist/es}/table/formats/table.es.js +0 -0
  301. /package/{es → dist/es}/table/formats/table.es.js.map +0 -0
  302. /package/{es → dist/es}/table/modules/table-column-tool.es.js +0 -0
  303. /package/{es → dist/es}/table/modules/table-column-tool.es.js.map +0 -0
  304. /package/{es → dist/es}/table/modules/table-operation-menu.es.js +0 -0
  305. /package/{es → dist/es}/table/modules/table-operation-menu.es.js.map +0 -0
  306. /package/{es → dist/es}/table/modules/table-scroll-bar.es.js +0 -0
  307. /package/{es → dist/es}/table/modules/table-scroll-bar.es.js.map +0 -0
  308. /package/{es → dist/es}/table/modules/table-selection.es.js +0 -0
  309. /package/{es → dist/es}/table/modules/table-selection.es.js.map +0 -0
  310. /package/{es → dist/es}/table/table-config.es.js +0 -0
  311. /package/{es → dist/es}/table/table-config.es.js.map +0 -0
  312. /package/{es → dist/es}/table/utils/index.es.js +0 -0
  313. /package/{es → dist/es}/table/utils/index.es.js.map +0 -0
  314. /package/{es → dist/es}/table/utils/node-matchers.es.js +0 -0
  315. /package/{es → dist/es}/table/utils/node-matchers.es.js.map +0 -0
  316. /package/{es → dist/es}/toolbar/better-picker.es.js +0 -0
  317. /package/{es → dist/es}/toolbar/better-picker.es.js.map +0 -0
  318. /package/{es → dist/es}/toolbar/index.es.js +0 -0
  319. /package/{es → dist/es}/toolbar/index.es.js.map +0 -0
  320. /package/{es → dist/es}/utils/debounce.es.js +0 -0
  321. /package/{es → dist/es}/utils/debounce.es.js.map +0 -0
  322. /package/{es → dist/es}/utils/image.es.js +0 -0
  323. /package/{es → dist/es}/utils/image.es.js.map +0 -0
  324. /package/{es → dist/es}/utils/method.es.js +0 -0
  325. /package/{es → dist/es}/utils/method.es.js.map +0 -0
  326. /package/{es → dist/es}/utils/scroll-lock.es.js +0 -0
  327. /package/{es → dist/es}/utils/scroll-lock.es.js.map +0 -0
  328. /package/{es → dist/es}/video/index.es.js +0 -0
  329. /package/{es → dist/es}/video/index.es.js.map +0 -0
  330. /package/{lib → dist/lib}/attributors/font-size.cjs.js +0 -0
  331. /package/{lib → dist/lib}/attributors/font-size.cjs.js.map +0 -0
  332. /package/{lib → dist/lib}/attributors/font-style.cjs.js +0 -0
  333. /package/{lib → dist/lib}/attributors/font-style.cjs.js.map +0 -0
  334. /package/{lib → dist/lib}/attributors/index.cjs.js +0 -0
  335. /package/{lib → dist/lib}/attributors/index.cjs.js.map +0 -0
  336. /package/{lib → dist/lib}/attributors/line-height.cjs.js +0 -0
  337. /package/{lib → dist/lib}/attributors/line-height.cjs.js.map +0 -0
  338. /package/{lib → dist/lib}/attributors/text-indent.cjs.js +0 -0
  339. /package/{lib → dist/lib}/attributors/text-indent.cjs.js.map +0 -0
  340. /package/{lib → dist/lib}/config/base64-image.cjs.js +0 -0
  341. /package/{lib → dist/lib}/config/base64-image.cjs.js.map +0 -0
  342. /package/{lib → dist/lib}/config/editor.config.cjs.js +0 -0
  343. /package/{lib → dist/lib}/config/editor.config.cjs.js.map +0 -0
  344. /package/{lib → dist/lib}/config/editor.utils.cjs.js +0 -0
  345. /package/{lib → dist/lib}/config/editor.utils.cjs.js.map +0 -0
  346. /package/{lib → dist/lib}/config/i18n/en-us.cjs.js +0 -0
  347. /package/{lib → dist/lib}/config/i18n/en-us.cjs.js.map +0 -0
  348. /package/{lib → dist/lib}/config/i18n/zh-cn.cjs.js +0 -0
  349. /package/{lib → dist/lib}/config/i18n/zh-cn.cjs.js.map +0 -0
  350. /package/{lib → dist/lib}/config/icons.config.cjs.js +0 -0
  351. /package/{lib → dist/lib}/config/icons.config.cjs.js.map +0 -0
  352. /package/{lib → dist/lib}/config/index.cjs.js +0 -0
  353. /package/{lib → dist/lib}/config/index.cjs.js.map +0 -0
  354. /package/{lib → dist/lib}/config/types/additional-toolbar-item.interface.cjs.js +0 -0
  355. /package/{lib → dist/lib}/config/types/additional-toolbar-item.interface.cjs.js.map +0 -0
  356. /package/{lib → dist/lib}/config/types/content-change.interface.cjs.js +0 -0
  357. /package/{lib → dist/lib}/config/types/content-change.interface.cjs.js.map +0 -0
  358. /package/{lib → dist/lib}/config/types/content-save.interface.cjs.js +0 -0
  359. /package/{lib → dist/lib}/config/types/content-save.interface.cjs.js.map +0 -0
  360. /package/{lib → dist/lib}/config/types/counter-option.interface.cjs.js +0 -0
  361. /package/{lib → dist/lib}/config/types/counter-option.interface.cjs.js.map +0 -0
  362. /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js +0 -0
  363. /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js.map +0 -0
  364. /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js +0 -0
  365. /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
  366. /package/{lib → dist/lib}/config/types/file-operation.interface.cjs.js +0 -0
  367. /package/{lib → dist/lib}/config/types/file-operation.interface.cjs.js.map +0 -0
  368. /package/{lib → dist/lib}/config/types/focus-change.interface.cjs.js +0 -0
  369. /package/{lib → dist/lib}/config/types/focus-change.interface.cjs.js.map +0 -0
  370. /package/{lib → dist/lib}/config/types/fullscreen-module.interface.cjs.js +0 -0
  371. /package/{lib → dist/lib}/config/types/fullscreen-module.interface.cjs.js.map +0 -0
  372. /package/{lib → dist/lib}/config/types/help-panel-item.interface.cjs.js +0 -0
  373. /package/{lib → dist/lib}/config/types/help-panel-item.interface.cjs.js.map +0 -0
  374. /package/{lib → dist/lib}/config/types/help-panel-option.interface.cjs.js +0 -0
  375. /package/{lib → dist/lib}/config/types/help-panel-option.interface.cjs.js.map +0 -0
  376. /package/{lib → dist/lib}/config/types/image-module.interface.cjs.js +0 -0
  377. /package/{lib → dist/lib}/config/types/image-module.interface.cjs.js.map +0 -0
  378. /package/{lib → dist/lib}/config/types/image-upload.interface.cjs.js +0 -0
  379. /package/{lib → dist/lib}/config/types/image-upload.interface.cjs.js.map +0 -0
  380. /package/{lib → dist/lib}/config/types/index.cjs.js +0 -0
  381. /package/{lib → dist/lib}/config/types/index.cjs.js.map +0 -0
  382. /package/{lib → dist/lib}/config/types/load-on-demand-module.interface.cjs.js +0 -0
  383. /package/{lib → dist/lib}/config/types/load-on-demand-module.interface.cjs.js.map +0 -0
  384. /package/{lib → dist/lib}/config/types/mention-module.interface.cjs.js +0 -0
  385. /package/{lib → dist/lib}/config/types/mention-module.interface.cjs.js.map +0 -0
  386. /package/{lib → dist/lib}/config/types/paste-change.interface.cjs.js +0 -0
  387. /package/{lib → dist/lib}/config/types/paste-change.interface.cjs.js.map +0 -0
  388. /package/{lib → dist/lib}/config/types/quick-menu-module.interface.cjs.js +0 -0
  389. /package/{lib → dist/lib}/config/types/quick-menu-module.interface.cjs.js.map +0 -0
  390. /package/{lib → dist/lib}/config/types/range.interface.cjs.js +0 -0
  391. /package/{lib → dist/lib}/config/types/range.interface.cjs.js.map +0 -0
  392. /package/{lib → dist/lib}/config/types/registry-options.interface.cjs.js +0 -0
  393. /package/{lib → dist/lib}/config/types/registry-options.interface.cjs.js.map +0 -0
  394. /package/{lib → dist/lib}/config/types/selection-change.interface.cjs.js +0 -0
  395. /package/{lib → dist/lib}/config/types/selection-change.interface.cjs.js.map +0 -0
  396. /package/{lib → dist/lib}/config/types/toolbar-item.interface.cjs.js +0 -0
  397. /package/{lib → dist/lib}/config/types/toolbar-item.interface.cjs.js.map +0 -0
  398. /package/{lib → dist/lib}/config/types/type.cjs.js +0 -0
  399. /package/{lib → dist/lib}/config/types/type.cjs.js.map +0 -0
  400. /package/{lib → dist/lib}/config/types/validate-error.interface.cjs.js +0 -0
  401. /package/{lib → dist/lib}/config/types/validate-error.interface.cjs.js.map +0 -0
  402. /package/{lib → dist/lib}/counter/index.cjs.js +0 -0
  403. /package/{lib → dist/lib}/counter/index.cjs.js.map +0 -0
  404. /package/{lib → dist/lib}/custom-clipboard.cjs.js +0 -0
  405. /package/{lib → dist/lib}/custom-clipboard.cjs.js.map +0 -0
  406. /package/{lib → dist/lib}/custom-image/BlotFormatter.cjs.js +0 -0
  407. /package/{lib → dist/lib}/custom-image/BlotFormatter.cjs.js.map +0 -0
  408. /package/{lib → dist/lib}/custom-image/Options.cjs.js +0 -0
  409. /package/{lib → dist/lib}/custom-image/Options.cjs.js.map +0 -0
  410. /package/{lib → dist/lib}/custom-image/actions/Action.cjs.js +0 -0
  411. /package/{lib → dist/lib}/custom-image/actions/Action.cjs.js.map +0 -0
  412. /package/{lib → dist/lib}/custom-image/actions/CustomResizeAction.cjs.js +0 -0
  413. /package/{lib → dist/lib}/custom-image/actions/CustomResizeAction.cjs.js.map +0 -0
  414. /package/{lib → dist/lib}/custom-image/actions/DeleteAction.cjs.js +0 -0
  415. /package/{lib → dist/lib}/custom-image/actions/DeleteAction.cjs.js.map +0 -0
  416. /package/{lib → dist/lib}/custom-image/image.cjs.js +0 -0
  417. /package/{lib → dist/lib}/custom-image/image.cjs.js.map +0 -0
  418. /package/{lib → dist/lib}/custom-image/specs/BlotSpec.cjs.js +0 -0
  419. /package/{lib → dist/lib}/custom-image/specs/BlotSpec.cjs.js.map +0 -0
  420. /package/{lib → dist/lib}/custom-image/specs/CustomImageSpec.cjs.js +0 -0
  421. /package/{lib → dist/lib}/custom-image/specs/CustomImageSpec.cjs.js.map +0 -0
  422. /package/{lib → dist/lib}/custom-image/specs/ImageSpec.cjs.js +0 -0
  423. /package/{lib → dist/lib}/custom-image/specs/ImageSpec.cjs.js.map +0 -0
  424. /package/{lib → dist/lib}/custom-uploader.cjs.js +0 -0
  425. /package/{lib → dist/lib}/custom-uploader.cjs.js.map +0 -0
  426. /package/{lib → dist/lib}/emoji/emoji-list/index.cjs.js +0 -0
  427. /package/{lib → dist/lib}/emoji/emoji-list/index.cjs.js.map +0 -0
  428. /package/{lib → dist/lib}/emoji/emoji-list/people.cjs.js +0 -0
  429. /package/{lib → dist/lib}/emoji/emoji-list/people.cjs.js.map +0 -0
  430. /package/{lib → dist/lib}/emoji/emoji-list.cjs.js +0 -0
  431. /package/{lib → dist/lib}/emoji/emoji-list.cjs.js.map +0 -0
  432. /package/{lib → dist/lib}/emoji/emoji-map.cjs.js +0 -0
  433. /package/{lib → dist/lib}/emoji/emoji-map.cjs.js.map +0 -0
  434. /package/{lib → dist/lib}/emoji/formats/emoji-blot.cjs.js +0 -0
  435. /package/{lib → dist/lib}/emoji/formats/emoji-blot.cjs.js.map +0 -0
  436. /package/{lib → dist/lib}/emoji/index.cjs.js +0 -0
  437. /package/{lib → dist/lib}/emoji/index.cjs.js.map +0 -0
  438. /package/{lib → dist/lib}/emoji/modules/emoji.cjs.js +0 -0
  439. /package/{lib → dist/lib}/emoji/modules/emoji.cjs.js.map +0 -0
  440. /package/{lib → dist/lib}/emoji/modules/toolbar-emoji.cjs.js +0 -0
  441. /package/{lib → dist/lib}/emoji/modules/toolbar-emoji.cjs.js.map +0 -0
  442. /package/{lib → dist/lib}/emoji/utils.cjs.js +0 -0
  443. /package/{lib → dist/lib}/emoji/utils.cjs.js.map +0 -0
  444. /package/{lib → dist/lib}/file/formats/file.cjs.js +0 -0
  445. /package/{lib → dist/lib}/file/formats/file.cjs.js.map +0 -0
  446. /package/{lib → dist/lib}/file/index.cjs.js +0 -0
  447. /package/{lib → dist/lib}/file/index.cjs.js.map +0 -0
  448. /package/{lib → dist/lib}/file/modules/file-bar.cjs.js +0 -0
  449. /package/{lib → dist/lib}/file/modules/file-bar.cjs.js.map +0 -0
  450. /package/{lib → dist/lib}/fluent-editor.cjs.js +0 -0
  451. /package/{lib → dist/lib}/fluent-editor.cjs.js.map +0 -0
  452. /package/{lib → dist/lib}/format-painter/index.cjs.js +0 -0
  453. /package/{lib → dist/lib}/format-painter/index.cjs.js.map +0 -0
  454. /package/{lib → dist/lib}/global-link/constants.cjs.js +0 -0
  455. /package/{lib → dist/lib}/global-link/constants.cjs.js.map +0 -0
  456. /package/{lib → dist/lib}/global-link/formats/customer-widget-link.cjs.js +0 -0
  457. /package/{lib → dist/lib}/global-link/formats/customer-widget-link.cjs.js.map +0 -0
  458. /package/{lib → dist/lib}/global-link/formats/doc-link.cjs.js +0 -0
  459. /package/{lib → dist/lib}/global-link/formats/doc-link.cjs.js.map +0 -0
  460. /package/{lib → dist/lib}/global-link/formats/wiki-link.cjs.js +0 -0
  461. /package/{lib → dist/lib}/global-link/formats/wiki-link.cjs.js.map +0 -0
  462. /package/{lib → dist/lib}/global-link/formats/work-item-link.cjs.js +0 -0
  463. /package/{lib → dist/lib}/global-link/formats/work-item-link.cjs.js.map +0 -0
  464. /package/{lib → dist/lib}/global-link/global-link-panel.cjs.js +0 -0
  465. /package/{lib → dist/lib}/global-link/global-link-panel.cjs.js.map +0 -0
  466. /package/{lib → dist/lib}/global-link/index.cjs.js +0 -0
  467. /package/{lib → dist/lib}/global-link/index.cjs.js.map +0 -0
  468. /package/{lib → dist/lib}/global-link/utils/createTable.cjs.js +0 -0
  469. /package/{lib → dist/lib}/global-link/utils/createTable.cjs.js.map +0 -0
  470. /package/{lib → dist/lib}/index.cjs.js +0 -0
  471. /package/{lib → dist/lib}/index.cjs.js.map +0 -0
  472. /package/{lib → dist/lib}/link/formats/link.cjs.js +0 -0
  473. /package/{lib → dist/lib}/link/formats/link.cjs.js.map +0 -0
  474. /package/{lib → dist/lib}/link/index.cjs.js +0 -0
  475. /package/{lib → dist/lib}/link/index.cjs.js.map +0 -0
  476. /package/{lib → dist/lib}/link/modules/tooltip.cjs.js +0 -0
  477. /package/{lib → dist/lib}/link/modules/tooltip.cjs.js.map +0 -0
  478. /package/{lib → dist/lib}/mention/Mention.cjs.js +0 -0
  479. /package/{lib → dist/lib}/mention/Mention.cjs.js.map +0 -0
  480. /package/{lib → dist/lib}/mention/MentionLink.cjs.js +0 -0
  481. /package/{lib → dist/lib}/mention/MentionLink.cjs.js.map +0 -0
  482. /package/{lib → dist/lib}/mention/constants.cjs.js +0 -0
  483. /package/{lib → dist/lib}/mention/constants.cjs.js.map +0 -0
  484. /package/{lib → dist/lib}/quick-menu/index.cjs.js +0 -0
  485. /package/{lib → dist/lib}/quick-menu/index.cjs.js.map +0 -0
  486. /package/{lib → dist/lib}/screenshot/index.cjs.js +0 -0
  487. /package/{lib → dist/lib}/screenshot/index.cjs.js.map +0 -0
  488. /package/{lib → dist/lib}/soft-break/index.cjs.js +0 -0
  489. /package/{lib → dist/lib}/soft-break/index.cjs.js.map +0 -0
  490. /package/{lib → dist/lib}/strike/index.cjs.js +0 -0
  491. /package/{lib → dist/lib}/strike/index.cjs.js.map +0 -0
  492. /package/{lib → dist/lib}/syntax/index.cjs.js +0 -0
  493. /package/{lib → dist/lib}/syntax/index.cjs.js.map +0 -0
  494. /package/{lib → dist/lib}/table/better-table.cjs.js +0 -0
  495. /package/{lib → dist/lib}/table/better-table.cjs.js.map +0 -0
  496. /package/{lib → dist/lib}/table/formats/header.cjs.js +0 -0
  497. /package/{lib → dist/lib}/table/formats/header.cjs.js.map +0 -0
  498. /package/{lib → dist/lib}/table/formats/list.cjs.js +0 -0
  499. /package/{lib → dist/lib}/table/formats/list.cjs.js.map +0 -0
  500. /package/{lib → dist/lib}/table/formats/table.cjs.js +0 -0
  501. /package/{lib → dist/lib}/table/formats/table.cjs.js.map +0 -0
  502. /package/{lib → dist/lib}/table/modules/table-column-tool.cjs.js +0 -0
  503. /package/{lib → dist/lib}/table/modules/table-column-tool.cjs.js.map +0 -0
  504. /package/{lib → dist/lib}/table/modules/table-operation-menu.cjs.js +0 -0
  505. /package/{lib → dist/lib}/table/modules/table-operation-menu.cjs.js.map +0 -0
  506. /package/{lib → dist/lib}/table/modules/table-scroll-bar.cjs.js +0 -0
  507. /package/{lib → dist/lib}/table/modules/table-scroll-bar.cjs.js.map +0 -0
  508. /package/{lib → dist/lib}/table/modules/table-selection.cjs.js +0 -0
  509. /package/{lib → dist/lib}/table/modules/table-selection.cjs.js.map +0 -0
  510. /package/{lib → dist/lib}/table/table-config.cjs.js +0 -0
  511. /package/{lib → dist/lib}/table/table-config.cjs.js.map +0 -0
  512. /package/{lib → dist/lib}/table/utils/index.cjs.js +0 -0
  513. /package/{lib → dist/lib}/table/utils/index.cjs.js.map +0 -0
  514. /package/{lib → dist/lib}/table/utils/node-matchers.cjs.js +0 -0
  515. /package/{lib → dist/lib}/table/utils/node-matchers.cjs.js.map +0 -0
  516. /package/{lib → dist/lib}/toolbar/better-picker.cjs.js +0 -0
  517. /package/{lib → dist/lib}/toolbar/better-picker.cjs.js.map +0 -0
  518. /package/{lib → dist/lib}/toolbar/index.cjs.js +0 -0
  519. /package/{lib → dist/lib}/toolbar/index.cjs.js.map +0 -0
  520. /package/{lib → dist/lib}/utils/debounce.cjs.js +0 -0
  521. /package/{lib → dist/lib}/utils/debounce.cjs.js.map +0 -0
  522. /package/{lib → dist/lib}/utils/image.cjs.js +0 -0
  523. /package/{lib → dist/lib}/utils/image.cjs.js.map +0 -0
  524. /package/{lib → dist/lib}/utils/method.cjs.js +0 -0
  525. /package/{lib → dist/lib}/utils/method.cjs.js.map +0 -0
  526. /package/{lib → dist/lib}/utils/scroll-lock.cjs.js +0 -0
  527. /package/{lib → dist/lib}/utils/scroll-lock.cjs.js.map +0 -0
  528. /package/{lib → dist/lib}/video/index.cjs.js +0 -0
  529. /package/{lib → dist/lib}/video/index.cjs.js.map +0 -0
  530. /package/{style.css → dist/style.css} +0 -0
@@ -0,0 +1,229 @@
1
+ import Quill from 'quill'
2
+ import { CELL_ATTRIBUTES, CELL_IDENTITY_KEYS } from '../table-config'
3
+
4
+ const Block = Quill.imports['blots/block']
5
+ const Container = Quill.imports['blots/container']
6
+
7
+ // @dynamic
8
+ class ListContainer extends Container {
9
+ static allowedChildren: any
10
+ static blotName: string
11
+ static tagName: string
12
+ replaceWith: any
13
+ domNode: any
14
+ parent: any
15
+ statics: any
16
+ wrap: any
17
+
18
+ format(name, value) {
19
+ const { row, cell, rowspan, colspan } = this.domNode.dataset
20
+ if (name === ListContainer.blotName) {
21
+ if (value) {
22
+ super.format(name, { row, cell, rowspan, colspan })
23
+ }
24
+ else if (row) {
25
+ this.replaceWith('table-cell-line', { row, cell, rowspan, colspan })
26
+ }
27
+ }
28
+ }
29
+ }
30
+ /**
31
+ * bugfix: quill源码中(quill/core/editor.js 272行)在处理拷贝时
32
+ * hard code了这个blotName用于处理ol中的li。所以在quill
33
+ * 源码内写法不变的情况下这个名字不能改,否则拷贝有bug
34
+ */
35
+ ListContainer.blotName = 'list-container'
36
+ ListContainer.tagName = 'OL'
37
+
38
+ // @dynamic
39
+ class ListItem extends Block {
40
+ static blotName: string
41
+ static tagName: string
42
+ static requiredContainer: typeof ListContainer
43
+ statics: any
44
+ attachUI: any
45
+ domNode: any
46
+ replaceWith: any
47
+ parent: any
48
+ wrap: any
49
+ children: any
50
+ prev: any
51
+ remove: () => void
52
+
53
+ static create(value) {
54
+ const node = super.create()
55
+ if (typeof value === 'string') {
56
+ value = { value }
57
+ }
58
+ else {
59
+ [...CELL_IDENTITY_KEYS, ...CELL_ATTRIBUTES].forEach((key) => {
60
+ if (value[key]) {
61
+ node.dataset[key] = value[key]
62
+ }
63
+ })
64
+ }
65
+ node.classList.add(value.value)
66
+ return node
67
+ }
68
+
69
+ static formats(domNode) {
70
+ const formats: any = {}
71
+ formats.value = domNode.classList.item(0) || undefined
72
+
73
+ return [...CELL_ATTRIBUTES, ...CELL_IDENTITY_KEYS].reduce((tableFormats, key) => {
74
+ if (domNode.dataset[key]) {
75
+ tableFormats[key] = domNode.dataset[key]
76
+ }
77
+ return tableFormats
78
+ }, formats)
79
+ }
80
+
81
+ static register() {
82
+ Quill.register({ 'formats/list-container': ListContainer }, true)
83
+ }
84
+
85
+ constructor(scroll, domNode) {
86
+ super(scroll, domNode)
87
+ const quill = Quill.find(scroll.domNode.parentNode)
88
+ const range = quill.getSelection()
89
+ if (range) {
90
+ const [line] = quill.getLine(range.index)
91
+ const td = line.domNode.closest('td')
92
+ if (td) {
93
+ [...CELL_IDENTITY_KEYS, ...CELL_ATTRIBUTES].forEach(key =>
94
+ td.dataset[key] && domNode.setAttribute(`data-${key}`, td.dataset[key]))
95
+ }
96
+ }
97
+
98
+ const ui = domNode.ownerDocument.createElement('span')
99
+ const listEventHandler = (e) => {
100
+ if (!scroll.isEnabled()) return
101
+ const { value } = this.statics.formats(domNode, scroll)
102
+ if (value === 'checked') {
103
+ this.format('list', 'unchecked')
104
+ e.preventDefault()
105
+ }
106
+ else if (value === 'unchecked') {
107
+ this.format('list', 'checked')
108
+ e.preventDefault()
109
+ }
110
+ }
111
+ ui.addEventListener('mousedown', listEventHandler)
112
+ ui.addEventListener('touchstart', listEventHandler)
113
+ this.attachUI(ui)
114
+ }
115
+
116
+ format(name, value) {
117
+ if (name !== ListItem.blotName) {
118
+ super.format(name, value)
119
+ return
120
+ }
121
+ const type = (value && typeof value === 'object') ? value.value : value
122
+ const oldClass = this.domNode.classList[0]
123
+ const tdDom = this.domNode.closest('.editing-select-able')
124
+ const tableCellBlot = tdDom && Quill.find(tdDom)
125
+ const images = this.domNode.querySelectorAll('img[data-image-id]')
126
+ if (!type || type === oldClass) {
127
+ // 消除格式或相同list抵消格式时恢复图片对齐,li转化为table-cell-line
128
+ if (images && images.length) {
129
+ images.forEach((img) => {
130
+ img.style.verticalAlign = 'baseLine'
131
+ })
132
+ }
133
+ if (tableCellBlot && tableCellBlot.statics.blotName === 'table') {
134
+ const tableCellFormats = tableCellBlot.formats()
135
+ this.replaceWith('table-cell-line', tableCellFormats)
136
+ // fix: 移除list格式时移除父级的ol或ul,避免table-cell-line判断无td自动生成td容器
137
+ if (this.parent.statics.blotName === ListContainer.blotName) {
138
+ this.parent.unwrap()
139
+ }
140
+ }
141
+ else {
142
+ super.format(name, value)
143
+ }
144
+ }
145
+ else if (oldClass) {
146
+ this.domNode.className = this.domNode.className.replace(oldClass, type)
147
+ }
148
+ else {
149
+ this.domNode.classList.add(type)
150
+ }
151
+ }
152
+
153
+ optimize(context) {
154
+ // 判断前一个li是否包含软回车,如果包含则将当前li与之合并后移除
155
+ const tail = this.prev && this.prev.domNode.lastChild
156
+ if (tail && tail.className && tail.className.includes('ql-soft-break')) {
157
+ // 合并dom
158
+ this.domNode.childNodes.forEach((v, i) => {
159
+ if (i > 0) {
160
+ this.prev.domNode.appendChild(v)
161
+ }
162
+ })
163
+ this.remove()
164
+ return
165
+ }
166
+
167
+ super.optimize(context)
168
+
169
+ // list类型
170
+ const parentFormats = getFormats(this.parent.domNode)
171
+ const formats = ListItem.formats(this.domNode)
172
+ // 单元格属性
173
+ const data = this.domNode.dataset || []
174
+ const images = this.domNode.querySelectorAll('img[data-image-id]')
175
+
176
+ // li更新后判断父容器的对应属性是否与自身一致,如果不一致则向上覆盖
177
+ if (parentFormats.list !== formats.value) {
178
+ const oldClass = this.parent.domNode.classList[0]
179
+ if (oldClass) {
180
+ this.parent.domNode.className = this.parent.domNode.className.replace(oldClass, formats.value)
181
+ }
182
+ else {
183
+ this.parent.domNode.classList.add(formats.value)
184
+ }
185
+ }
186
+
187
+ if (data.cell && !parentFormats.cell) {
188
+ [...CELL_IDENTITY_KEYS, ...CELL_ATTRIBUTES].forEach(key =>
189
+ (formats[key] || data[key]) && this.parent.domNode.setAttribute(`data-${key}`, formats[key] || data[key]))
190
+ // 如果父容器不在表格内则用单元格包裹
191
+ if (this.parent.parent.statics.blotName !== 'table') {
192
+ delete formats.list
193
+ this.wrap('table', formats)
194
+ }
195
+ }
196
+
197
+ // 当list中包含图片时,设置图片顶对齐
198
+ if (images) {
199
+ images.forEach((img) => {
200
+ img.style.verticalAlign = 'top'
201
+ })
202
+ }
203
+ }
204
+ }
205
+
206
+ ListItem.blotName = 'list'
207
+ ListItem.tagName = 'LI'
208
+
209
+ ListContainer.allowedChildren = [ListItem]
210
+ ListItem.requiredContainer = ListContainer
211
+
212
+ // 属性读取方法:兼容table-cell-line、ol、li
213
+ // 因为构造时当前range对应的元素最开始是table-cell-line,然后是li,且ol的formats方法不允许覆写,会导致报错,所以整合一个兼容方法来读取需要的属性。
214
+ function getFormats(dom): any {
215
+ const formats = {}
216
+
217
+ if (dom.tagName === 'OL') {
218
+ formats.list = dom.classList.item(0)
219
+ }
220
+
221
+ return [...CELL_ATTRIBUTES, ...CELL_IDENTITY_KEYS].reduce((tableFormats, attribute) => {
222
+ if (dom.hasAttribute(`data-${attribute}`)) {
223
+ tableFormats[attribute] = dom.getAttribute(`data-${attribute}`) || undefined
224
+ }
225
+ return tableFormats
226
+ }, formats)
227
+ }
228
+
229
+ export { ListContainer, ListItem as default }