suneditor 3.0.0-beta.9 → 3.0.0-rc.1

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 (374) hide show
  1. package/README.md +65 -57
  2. package/dist/suneditor.min.css +1 -1
  3. package/dist/suneditor.min.js +1 -1
  4. package/package.json +106 -57
  5. package/src/assets/design/color.css +36 -17
  6. package/src/assets/design/size.css +2 -0
  7. package/src/assets/icons/defaultIcons.js +17 -2
  8. package/src/assets/suneditor-contents.css +51 -16
  9. package/src/assets/suneditor.css +116 -43
  10. package/src/core/config/contextProvider.js +285 -0
  11. package/src/core/config/eventManager.js +192 -0
  12. package/src/core/config/instanceCheck.js +59 -0
  13. package/src/core/config/optionProvider.js +448 -0
  14. package/src/core/editor.js +154 -1638
  15. package/src/core/event/actions/index.js +229 -0
  16. package/src/core/event/effects/common.registry.js +74 -0
  17. package/src/core/event/effects/keydown.registry.js +573 -0
  18. package/src/core/event/effects/ruleHelpers.js +148 -0
  19. package/src/core/event/eventOrchestrator.js +948 -0
  20. package/src/core/event/executor.js +25 -0
  21. package/src/core/{base/eventHandlers → event/handlers}/handler_toolbar.js +27 -28
  22. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_clipboard.js +10 -8
  23. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_dragDrop.js +22 -23
  24. package/src/core/event/handlers/handler_ww_input.js +75 -0
  25. package/src/core/event/handlers/handler_ww_key.js +228 -0
  26. package/src/core/event/handlers/handler_ww_mouse.js +166 -0
  27. package/src/core/event/ports.js +211 -0
  28. package/src/core/event/reducers/keydown.reducer.js +97 -0
  29. package/src/core/event/rules/keydown.rule.arrow.js +63 -0
  30. package/src/core/event/rules/keydown.rule.backspace.js +208 -0
  31. package/src/core/event/rules/keydown.rule.delete.js +132 -0
  32. package/src/core/event/rules/keydown.rule.enter.js +150 -0
  33. package/src/core/event/rules/keydown.rule.tab.js +35 -0
  34. package/src/core/event/support/defaultLineManager.js +136 -0
  35. package/src/core/event/support/selectionState.js +204 -0
  36. package/src/core/kernel/coreKernel.js +320 -0
  37. package/src/core/kernel/kernelInjector.js +19 -0
  38. package/src/core/kernel/store.js +173 -0
  39. package/src/core/{class → logic/dom}/char.js +42 -45
  40. package/src/core/logic/dom/format.js +1071 -0
  41. package/src/core/{class → logic/dom}/html.js +707 -584
  42. package/src/core/logic/dom/inline.js +1851 -0
  43. package/src/core/logic/dom/listFormat.js +605 -0
  44. package/src/core/{class → logic/dom}/nodeTransform.js +86 -62
  45. package/src/core/{class → logic/dom}/offset.js +254 -313
  46. package/src/core/{class → logic/dom}/selection.js +377 -229
  47. package/src/core/logic/panel/menu.js +393 -0
  48. package/src/core/logic/panel/toolbar.js +453 -0
  49. package/src/core/logic/panel/viewer.js +765 -0
  50. package/src/core/logic/shell/_commandExecutor.js +379 -0
  51. package/src/core/logic/shell/commandDispatcher.js +241 -0
  52. package/src/core/logic/shell/component.js +974 -0
  53. package/src/core/logic/shell/focusManager.js +107 -0
  54. package/src/core/{base → logic/shell}/history.js +105 -51
  55. package/src/core/logic/shell/pluginManager.js +363 -0
  56. package/src/core/{class → logic/shell}/shortcuts.js +68 -32
  57. package/src/core/logic/shell/ui.js +908 -0
  58. package/src/core/schema/context.js +66 -0
  59. package/src/core/schema/frameContext.js +160 -0
  60. package/src/core/schema/options.js +628 -0
  61. package/src/core/section/constructor.js +170 -476
  62. package/src/core/section/documentType.js +295 -216
  63. package/src/events.js +806 -541
  64. package/src/helper/clipboard.js +25 -11
  65. package/src/helper/converter.js +62 -56
  66. package/src/helper/dom/domCheck.js +47 -17
  67. package/src/helper/dom/domQuery.js +122 -57
  68. package/src/helper/dom/domUtils.js +96 -41
  69. package/src/helper/dom/index.js +5 -1
  70. package/src/helper/env.js +20 -16
  71. package/src/helper/index.js +1 -1
  72. package/src/helper/keyCodeMap.js +5 -4
  73. package/src/helper/numbers.js +1 -1
  74. package/src/helper/unicode.js +1 -1
  75. package/src/hooks/base.js +307 -0
  76. package/src/hooks/params.js +130 -0
  77. package/src/interfaces/contracts.js +227 -0
  78. package/src/interfaces/index.js +7 -0
  79. package/src/interfaces/plugins.js +239 -0
  80. package/src/langs/ckb.js +4 -4
  81. package/src/langs/cs.js +4 -4
  82. package/src/langs/da.js +4 -4
  83. package/src/langs/de.js +4 -4
  84. package/src/langs/en.js +4 -4
  85. package/src/langs/es.js +4 -4
  86. package/src/langs/fa.js +4 -4
  87. package/src/langs/fr.js +4 -4
  88. package/src/langs/he.js +4 -4
  89. package/src/langs/hu.js +4 -4
  90. package/src/langs/it.js +4 -4
  91. package/src/langs/ja.js +4 -4
  92. package/src/langs/km.js +4 -4
  93. package/src/langs/ko.js +4 -4
  94. package/src/langs/lv.js +4 -4
  95. package/src/langs/nl.js +4 -4
  96. package/src/langs/pl.js +4 -4
  97. package/src/langs/pt_br.js +13 -13
  98. package/src/langs/ro.js +4 -4
  99. package/src/langs/ru.js +4 -4
  100. package/src/langs/se.js +4 -4
  101. package/src/langs/tr.js +4 -4
  102. package/src/langs/uk.js +4 -4
  103. package/src/langs/ur.js +4 -4
  104. package/src/langs/zh_cn.js +4 -4
  105. package/src/modules/{Browser.js → contract/Browser.js} +115 -124
  106. package/src/modules/{ColorPicker.js → contract/ColorPicker.js} +70 -86
  107. package/src/modules/contract/Controller.js +589 -0
  108. package/src/modules/{Figure.js → contract/Figure.js} +581 -401
  109. package/src/modules/{HueSlider.js → contract/HueSlider.js} +124 -81
  110. package/src/modules/{Modal.js → contract/Modal.js} +122 -111
  111. package/src/modules/contract/index.js +9 -0
  112. package/src/modules/manager/ApiManager.js +197 -0
  113. package/src/modules/{FileManager.js → manager/FileManager.js} +126 -158
  114. package/src/modules/manager/index.js +5 -0
  115. package/src/modules/{ModalAnchorEditor.js → ui/ModalAnchorEditor.js} +106 -136
  116. package/src/modules/{SelectMenu.js → ui/SelectMenu.js} +114 -115
  117. package/src/modules/{_DragHandle.js → ui/_DragHandle.js} +1 -1
  118. package/src/modules/ui/index.js +6 -0
  119. package/src/plugins/browser/audioGallery.js +23 -26
  120. package/src/plugins/browser/fileBrowser.js +25 -28
  121. package/src/plugins/browser/fileGallery.js +20 -23
  122. package/src/plugins/browser/imageGallery.js +24 -23
  123. package/src/plugins/browser/videoGallery.js +27 -29
  124. package/src/plugins/command/blockquote.js +11 -17
  125. package/src/plugins/command/exportPDF.js +26 -26
  126. package/src/plugins/command/fileUpload.js +135 -130
  127. package/src/plugins/command/list_bulleted.js +48 -44
  128. package/src/plugins/command/list_numbered.js +48 -44
  129. package/src/plugins/dropdown/align.js +64 -50
  130. package/src/plugins/dropdown/backgroundColor.js +34 -35
  131. package/src/plugins/dropdown/{formatBlock.js → blockStyle.js} +42 -36
  132. package/src/plugins/dropdown/font.js +50 -36
  133. package/src/plugins/dropdown/fontColor.js +34 -35
  134. package/src/plugins/dropdown/hr.js +54 -49
  135. package/src/plugins/dropdown/layout.js +20 -15
  136. package/src/plugins/dropdown/lineHeight.js +46 -30
  137. package/src/plugins/dropdown/list.js +31 -32
  138. package/src/plugins/dropdown/paragraphStyle.js +40 -34
  139. package/src/plugins/dropdown/table/index.js +915 -0
  140. package/src/plugins/dropdown/table/render/table.html.js +308 -0
  141. package/src/plugins/dropdown/table/render/table.menu.js +121 -0
  142. package/src/plugins/dropdown/table/services/table.cell.js +461 -0
  143. package/src/plugins/dropdown/table/services/table.clipboard.js +414 -0
  144. package/src/plugins/dropdown/table/services/table.grid.js +501 -0
  145. package/src/plugins/dropdown/table/services/table.resize.js +460 -0
  146. package/src/plugins/dropdown/table/services/table.selection.js +463 -0
  147. package/src/plugins/dropdown/table/services/table.style.js +841 -0
  148. package/src/plugins/dropdown/table/shared/table.constants.js +109 -0
  149. package/src/plugins/dropdown/table/shared/table.utils.js +219 -0
  150. package/src/plugins/dropdown/template.js +20 -15
  151. package/src/plugins/dropdown/textStyle.js +28 -22
  152. package/src/plugins/field/mention.js +53 -48
  153. package/src/plugins/index.js +5 -5
  154. package/src/plugins/input/fontSize.js +100 -97
  155. package/src/plugins/input/pageNavigator.js +13 -10
  156. package/src/plugins/modal/audio.js +193 -204
  157. package/src/plugins/modal/drawing.js +95 -100
  158. package/src/plugins/modal/embed.js +311 -300
  159. package/src/plugins/modal/image/index.js +942 -0
  160. package/src/plugins/modal/image/render/image.html.js +150 -0
  161. package/src/plugins/modal/image/services/image.size.js +198 -0
  162. package/src/plugins/modal/image/services/image.upload.js +216 -0
  163. package/src/plugins/modal/image/shared/image.constants.js +20 -0
  164. package/src/plugins/modal/link.js +74 -54
  165. package/src/plugins/modal/math.js +122 -115
  166. package/src/plugins/modal/video/index.js +858 -0
  167. package/src/plugins/modal/video/render/video.html.js +131 -0
  168. package/src/plugins/modal/video/services/video.size.js +281 -0
  169. package/src/plugins/modal/video/services/video.upload.js +92 -0
  170. package/src/plugins/popup/anchor.js +57 -49
  171. package/src/suneditor.js +50 -60
  172. package/src/themes/cobalt.css +155 -0
  173. package/src/themes/dark.css +143 -120
  174. package/src/typedef.js +214 -63
  175. package/types/assets/icons/defaultIcons.d.ts +8 -0
  176. package/types/assets/suneditor-contents.css.d.ts +1 -0
  177. package/types/assets/suneditor.css.d.ts +1 -0
  178. package/types/core/config/contextProvider.d.ts +145 -0
  179. package/types/core/config/eventManager.d.ts +68 -0
  180. package/types/core/config/instanceCheck.d.ts +33 -0
  181. package/types/core/config/optionProvider.d.ts +144 -0
  182. package/types/core/editor.d.ts +15 -586
  183. package/types/core/event/actions/index.d.ts +50 -0
  184. package/types/core/event/effects/common.registry.d.ts +56 -0
  185. package/types/core/event/effects/keydown.registry.d.ts +80 -0
  186. package/types/core/event/effects/ruleHelpers.d.ts +36 -0
  187. package/types/core/event/eventOrchestrator.d.ts +191 -0
  188. package/types/core/event/executor.d.ts +11 -0
  189. package/types/core/event/handlers/handler_toolbar.d.ts +38 -0
  190. package/types/core/event/handlers/handler_ww_clipboard.d.ts +36 -0
  191. package/types/core/event/handlers/handler_ww_dragDrop.d.ts +26 -0
  192. package/types/core/event/handlers/handler_ww_input.d.ts +38 -0
  193. package/types/core/event/handlers/handler_ww_key.d.ts +40 -0
  194. package/types/core/event/handlers/handler_ww_mouse.d.ts +47 -0
  195. package/types/core/event/ports.d.ts +256 -0
  196. package/types/core/event/reducers/keydown.reducer.d.ts +84 -0
  197. package/types/core/event/rules/keydown.rule.arrow.d.ts +19 -0
  198. package/types/core/event/rules/keydown.rule.backspace.d.ts +18 -0
  199. package/types/core/event/rules/keydown.rule.delete.d.ts +18 -0
  200. package/types/core/event/rules/keydown.rule.enter.d.ts +18 -0
  201. package/types/core/event/rules/keydown.rule.tab.d.ts +18 -0
  202. package/types/core/event/support/defaultLineManager.d.ts +22 -0
  203. package/types/core/event/support/selectionState.d.ts +29 -0
  204. package/types/core/kernel/coreKernel.d.ts +219 -0
  205. package/types/core/kernel/kernelInjector.d.ts +16 -0
  206. package/types/core/kernel/store.d.ts +170 -0
  207. package/types/core/logic/dom/char.d.ts +46 -0
  208. package/types/core/logic/dom/format.d.ts +226 -0
  209. package/types/core/logic/dom/html.d.ts +290 -0
  210. package/types/core/logic/dom/inline.d.ts +93 -0
  211. package/types/core/logic/dom/listFormat.d.ts +101 -0
  212. package/types/core/logic/dom/nodeTransform.d.ts +110 -0
  213. package/types/core/logic/dom/offset.d.ts +335 -0
  214. package/types/core/logic/dom/selection.d.ts +165 -0
  215. package/types/core/logic/panel/menu.d.ts +93 -0
  216. package/types/core/logic/panel/toolbar.d.ts +128 -0
  217. package/types/core/logic/panel/viewer.d.ts +89 -0
  218. package/types/core/logic/shell/_commandExecutor.d.ts +17 -0
  219. package/types/core/logic/shell/commandDispatcher.d.ts +65 -0
  220. package/types/core/logic/shell/component.d.ts +182 -0
  221. package/types/core/logic/shell/focusManager.d.ts +28 -0
  222. package/types/core/{base → logic/shell}/history.d.ts +8 -7
  223. package/types/core/logic/shell/pluginManager.d.ts +115 -0
  224. package/types/core/{class → logic/shell}/shortcuts.d.ts +32 -43
  225. package/types/core/logic/shell/ui.d.ts +261 -0
  226. package/types/core/schema/context.d.ts +104 -0
  227. package/types/core/schema/frameContext.d.ts +320 -0
  228. package/types/core/schema/options.d.ts +1241 -0
  229. package/types/core/section/constructor.d.ts +112 -647
  230. package/types/core/section/documentType.d.ts +41 -59
  231. package/types/events.d.ts +794 -63
  232. package/types/helper/clipboard.d.ts +3 -2
  233. package/types/helper/converter.d.ts +17 -21
  234. package/types/helper/dom/domCheck.d.ts +18 -10
  235. package/types/helper/dom/domQuery.d.ts +39 -29
  236. package/types/helper/dom/domUtils.d.ts +44 -31
  237. package/types/helper/dom/index.d.ts +87 -1
  238. package/types/helper/env.d.ts +10 -4
  239. package/types/helper/index.d.ts +8 -2
  240. package/types/helper/keyCodeMap.d.ts +4 -3
  241. package/types/helper/numbers.d.ts +1 -0
  242. package/types/helper/unicode.d.ts +1 -0
  243. package/types/hooks/base.d.ts +239 -0
  244. package/types/hooks/params.d.ts +65 -0
  245. package/types/index.d.ts +20 -117
  246. package/types/interfaces/contracts.d.ts +183 -0
  247. package/types/interfaces/index.d.ts +3 -0
  248. package/types/interfaces/plugins.d.ts +168 -0
  249. package/types/langs/_Lang.d.ts +2 -2
  250. package/types/langs/index.d.ts +2 -2
  251. package/types/modules/contract/Browser.d.ts +262 -0
  252. package/types/modules/contract/ColorPicker.d.ts +99 -0
  253. package/types/modules/contract/Controller.d.ts +204 -0
  254. package/types/modules/{Figure.d.ts → contract/Figure.d.ts} +218 -206
  255. package/types/modules/{HueSlider.d.ts → contract/HueSlider.d.ts} +37 -26
  256. package/types/modules/contract/Modal.d.ts +62 -0
  257. package/types/modules/contract/index.d.ts +7 -0
  258. package/types/modules/manager/ApiManager.d.ts +106 -0
  259. package/types/modules/manager/FileManager.d.ts +124 -0
  260. package/types/modules/manager/index.d.ts +3 -0
  261. package/types/modules/ui/ModalAnchorEditor.d.ts +152 -0
  262. package/types/modules/ui/SelectMenu.d.ts +107 -0
  263. package/types/modules/{_DragHandle.d.ts → ui/_DragHandle.d.ts} +1 -0
  264. package/types/modules/ui/index.d.ts +4 -0
  265. package/types/plugins/browser/audioGallery.d.ts +33 -41
  266. package/types/plugins/browser/fileBrowser.d.ts +42 -50
  267. package/types/plugins/browser/fileGallery.d.ts +33 -41
  268. package/types/plugins/browser/imageGallery.d.ts +30 -37
  269. package/types/plugins/browser/videoGallery.d.ts +33 -41
  270. package/types/plugins/command/blockquote.d.ts +4 -21
  271. package/types/plugins/command/exportPDF.d.ts +23 -33
  272. package/types/plugins/command/fileUpload.d.ts +77 -97
  273. package/types/plugins/command/list_bulleted.d.ts +9 -35
  274. package/types/plugins/command/list_numbered.d.ts +9 -35
  275. package/types/plugins/dropdown/align.d.ts +23 -46
  276. package/types/plugins/dropdown/backgroundColor.d.ts +35 -53
  277. package/types/plugins/dropdown/blockStyle.d.ts +45 -0
  278. package/types/plugins/dropdown/font.d.ts +18 -41
  279. package/types/plugins/dropdown/fontColor.d.ts +35 -53
  280. package/types/plugins/dropdown/hr.d.ts +25 -51
  281. package/types/plugins/dropdown/layout.d.ts +19 -25
  282. package/types/plugins/dropdown/lineHeight.d.ts +21 -39
  283. package/types/plugins/dropdown/list.d.ts +5 -33
  284. package/types/plugins/dropdown/paragraphStyle.d.ts +34 -45
  285. package/types/plugins/dropdown/table/index.d.ts +158 -0
  286. package/types/plugins/dropdown/table/render/table.html.d.ts +71 -0
  287. package/types/plugins/dropdown/table/render/table.menu.d.ts +59 -0
  288. package/types/plugins/dropdown/table/services/table.cell.d.ts +72 -0
  289. package/types/plugins/dropdown/table/services/table.clipboard.d.ts +26 -0
  290. package/types/plugins/dropdown/table/services/table.grid.d.ts +74 -0
  291. package/types/plugins/dropdown/table/services/table.resize.d.ts +69 -0
  292. package/types/plugins/dropdown/table/services/table.selection.d.ts +56 -0
  293. package/types/plugins/dropdown/table/services/table.style.d.ts +159 -0
  294. package/types/plugins/dropdown/table/shared/table.constants.d.ts +134 -0
  295. package/types/plugins/dropdown/table/shared/table.utils.d.ts +91 -0
  296. package/types/plugins/dropdown/template.d.ts +19 -25
  297. package/types/plugins/dropdown/textStyle.d.ts +23 -30
  298. package/types/plugins/field/mention.d.ts +66 -72
  299. package/types/plugins/index.d.ts +41 -40
  300. package/types/plugins/input/fontSize.d.ts +57 -96
  301. package/types/plugins/input/pageNavigator.d.ts +5 -8
  302. package/types/plugins/modal/audio.d.ts +44 -137
  303. package/types/plugins/modal/drawing.d.ts +8 -110
  304. package/types/plugins/modal/embed.d.ts +40 -160
  305. package/types/plugins/modal/image/index.d.ts +281 -0
  306. package/types/plugins/modal/image/render/image.html.d.ts +45 -0
  307. package/types/plugins/modal/image/services/image.size.d.ts +55 -0
  308. package/types/plugins/modal/image/services/image.upload.d.ts +24 -0
  309. package/types/plugins/modal/image/shared/image.constants.d.ts +17 -0
  310. package/types/plugins/modal/link.d.ts +46 -66
  311. package/types/plugins/modal/math.d.ts +16 -85
  312. package/types/plugins/modal/{video.d.ts → video/index.d.ts} +65 -197
  313. package/types/plugins/modal/video/render/video.html.d.ts +37 -0
  314. package/types/plugins/modal/video/services/video.size.d.ts +74 -0
  315. package/types/plugins/modal/video/services/video.upload.d.ts +19 -0
  316. package/types/plugins/popup/anchor.d.ts +8 -38
  317. package/types/suneditor.d.ts +32 -23
  318. package/types/typedef.d.ts +344 -228
  319. package/CONTRIBUTING.md +0 -186
  320. package/src/core/base/eventHandlers/handler_ww_key_input.js +0 -1200
  321. package/src/core/base/eventHandlers/handler_ww_mouse.js +0 -194
  322. package/src/core/base/eventManager.js +0 -1523
  323. package/src/core/class/component.js +0 -856
  324. package/src/core/class/format.js +0 -3433
  325. package/src/core/class/menu.js +0 -346
  326. package/src/core/class/toolbar.js +0 -431
  327. package/src/core/class/ui.js +0 -424
  328. package/src/core/class/viewer.js +0 -750
  329. package/src/core/section/actives.js +0 -266
  330. package/src/core/section/context.js +0 -102
  331. package/src/editorInjector/_classes.js +0 -36
  332. package/src/editorInjector/_core.js +0 -87
  333. package/src/editorInjector/index.js +0 -73
  334. package/src/modules/ApiManager.js +0 -191
  335. package/src/modules/Controller.js +0 -474
  336. package/src/modules/index.js +0 -14
  337. package/src/plugins/dropdown/table.js +0 -4034
  338. package/src/plugins/modal/image.js +0 -1376
  339. package/src/plugins/modal/video.js +0 -1226
  340. package/types/core/base/eventHandlers/handler_toolbar.d.ts +0 -41
  341. package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +0 -40
  342. package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +0 -35
  343. package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +0 -45
  344. package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +0 -39
  345. package/types/core/base/eventManager.d.ts +0 -401
  346. package/types/core/class/char.d.ts +0 -61
  347. package/types/core/class/component.d.ts +0 -213
  348. package/types/core/class/format.d.ts +0 -623
  349. package/types/core/class/html.d.ts +0 -430
  350. package/types/core/class/menu.d.ts +0 -126
  351. package/types/core/class/nodeTransform.d.ts +0 -93
  352. package/types/core/class/offset.d.ts +0 -522
  353. package/types/core/class/selection.d.ts +0 -188
  354. package/types/core/class/toolbar.d.ts +0 -189
  355. package/types/core/class/ui.d.ts +0 -164
  356. package/types/core/class/viewer.d.ts +0 -140
  357. package/types/core/section/actives.d.ts +0 -46
  358. package/types/core/section/context.d.ts +0 -45
  359. package/types/editorInjector/_classes.d.ts +0 -41
  360. package/types/editorInjector/_core.d.ts +0 -87
  361. package/types/editorInjector/index.d.ts +0 -69
  362. package/types/modules/ApiManager.d.ts +0 -125
  363. package/types/modules/Browser.d.ts +0 -326
  364. package/types/modules/ColorPicker.d.ts +0 -135
  365. package/types/modules/Controller.d.ts +0 -251
  366. package/types/modules/FileManager.d.ts +0 -202
  367. package/types/modules/Modal.d.ts +0 -111
  368. package/types/modules/ModalAnchorEditor.d.ts +0 -236
  369. package/types/modules/SelectMenu.d.ts +0 -194
  370. package/types/modules/index.d.ts +0 -26
  371. package/types/plugins/dropdown/formatBlock.d.ts +0 -55
  372. package/types/plugins/dropdown/table.d.ts +0 -627
  373. package/types/plugins/modal/image.d.ts +0 -451
  374. /package/{LICENSE → LICENSE.txt} +0 -0
package/README.md CHANGED
@@ -1,16 +1,17 @@
1
1
  <p align="center">
2
2
  <a href="https://suneditor.com" target="_blank">
3
- <img src="https://suneditor-files.s3.ap-northeast-2.amazonaws.com/docs/se3_logo_title_flat.svg" alt="SunEditor" width="280" />
3
+ <img src="https://suneditor-files.s3.ap-northeast-2.amazonaws.com/docs/se3_logo_title_flat.svg?v=1" alt="SunEditor" width="280" />
4
4
  </a>
5
5
  </p>
6
6
 
7
7
  <p align="center"><em>A lightweight and powerful WYSIWYG editor built with vanilla JavaScript</em></p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/JiHong88/SunEditor/blob/master/LICENSE" title="MIT License"><img src="https://img.shields.io/github/license/jihong88/suneditor.svg?style=flat-square" alt="GitHub License"></a>
10
+ <a href="https://github.com/JiHong88/SunEditor/blob/master/LICENSE.txt" title="MIT License"><img src="https://img.shields.io/github/license/jihong88/suneditor.svg?style=flat-square" alt="GitHub License"></a>
11
11
  <a href="https://www.npmjs.com/package/suneditor" title="npm release"><img src="https://img.shields.io/npm/v/suneditor.svg?style=flat-square" alt="npm"></a>
12
12
  <a href="https://www.npmjs.com/package/suneditor" title="npm month downloads"><img src="https://img.shields.io/npm/dm/suneditor.svg?logo=npm&style=flat-square" alt="npm weekly downloads"></a>
13
13
  <a href="https://www.jsdelivr.com/package/npm/suneditor" title="jsDelivr CDN month downloads"><img src="https://img.shields.io/jsdelivr/npm/hm/suneditor?label=CDN&style=flat-square" alt="jsDelivr CDN" /></a>
14
+ <a href="https://codecov.io/gh/jihong88/suneditor" title="Test coverage"><img src="https://codecov.io/gh/jihong88/suneditor/branch/develop/graph/badge.svg" alt="Test coverage" /></a>
14
15
  </p>
15
16
 
16
17
  #
@@ -24,18 +25,24 @@ It's easy to integrate, highly customizable, and built for modern web applicatio
24
25
 
25
26
  ### Key Features
26
27
 
27
- - ⚡ **No dependencies** — Optimized for speed and simplicity
28
- - 🧩 **Modular architecture** — Enable only the plugins you need
29
- - 📱 **Responsive UI** — Works smoothly on all modern devices
30
- - 🔌 **Framework-friendly** — Easy to use with React, Vue, Svelte, etc.
31
- - 💼 **Feature-rich plugin ecosystem**, including:
32
- - 🏷 @Mentions with autocomplete
33
- - 🎨 Advanced table editing & custom layouts
34
- - 🧮 Math (LaTeX), drawing, and code block support
35
- - 📂 Built-in media galleries (image, video, audio, file)
36
- - 📄 PDF export, templates, and embedded content (audio/video/iframe)
28
+ - ⚡ **No dependencies** — Optimized for speed and simplicity
29
+ - 🧩 **Modular architecture** — Enable only the plugins you need
30
+ - 📱 **Responsive UI** — Works smoothly on all modern devices
31
+ - 🔌 **Framework-friendly** — Easy to use with React, Vue, Svelte, etc.
32
+ - 💼 **Feature-rich plugin ecosystem**, including:
33
+ - 🏷 @Mentions with autocomplete
34
+ - 🎨 Advanced table editing & custom layouts
35
+ - 🧮 Math (LaTeX), drawing, and code block support
36
+ - 📂 Built-in media galleries (image, video, audio, file)
37
+ - 📄 PDF export, templates, and embedded content (audio/video/iframe)
37
38
 
38
- 🌤 **[Explore all plugins](https://suneditor.com/plugins)**
39
+ ### 📝 Content Editing Approach
40
+
41
+ SunEditor is optimized for **structured content** (articles, documentation, emails) rather than arbitrary HTML editing. Content is validated and auto-corrected to maintain consistency.
42
+
43
+ > For raw HTML editing needs, see [`strictMode` configuration](./ARCHITECTURE.md#content-filtering-strictmode) in the Architecture Guide.
44
+
45
+ 🌤 **[Try all plugins in Playground](https://suneditor.com/playground)**
39
46
 
40
47
  ⭐ **Contributions welcome!** Please refer to [Contribution Guidelines](/CONTRIBUTING.md) and check out our [open tasks](https://github.com/jihong88/suneditor/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22). ⭐
41
48
 
@@ -43,23 +50,37 @@ It's easy to integrate, highly customizable, and built for modern web applicatio
43
50
 
44
51
  ## 🌍 Browser Support
45
52
 
46
- | Browser | Since | Version |
47
- | ----------------------------------------------------------------------------------------------------------------------------------- | -------- | --------- |
48
- | ![Chrome](https://img.shields.io/badge/-Chrome-4285F4?logo=GoogleChrome&logoColor=white&style=flat-square) | Feb 2020 | 80 |
49
- | ![Firefox](https://img.shields.io/badge/-Firefox-FF7139?logo=FirefoxBrowser&logoColor=white&style=flat-square) | Mar 2020 | 74 |
50
- | ![Safari](https://img.shields.io/badge/-Safari-0D96F6?logo=Safari&logoColor=white&style=flat-square) | Mar 2020 | 13.1 |
51
- | ![Edge](https://img.shields.io/badge/-Edge-0078D7?logo=MicrosoftEdge&logoColor=white&style=flat-square) | Jan 2020 | 80 |
52
- | ![Opera](https://img.shields.io/badge/-Opera-FF1B2D?logo=Opera&logoColor=white&style=flat-square) | Feb 2020 | 67 |
53
- | ![iOS Safari](https://img.shields.io/badge/-iOS%20Safari-000000?logo=apple&logoColor=white&style=flat-square) | Mar 2020 | 13.4 |
54
- | ![Android WebView](https://img.shields.io/badge/-Android%20WebView-3DDC84?logo=android&logoColor=white&style=flat-square) | Feb 2020 | 80 |
55
- | ![Samsung Internet](https://img.shields.io/badge/-Samsung%20Internet-1428A0?logo=samsunginternet&logoColor=white&style=flat-square) | Apr 2020 | 11.1 |
53
+ SunEditor is built to take advantage of modern browser capabilities.
54
+ It does not ship with polyfills by default, but you can add them if your project requires broader compatibility.
55
+
56
+ > Works correctly on the following versions or newer.
57
+
58
+ | Browser | Version |
59
+ | ----------------------------------------------------------------------------------------------------------------------------------- | --------------- |
60
+ | ![Chrome](https://img.shields.io/badge/-Chrome-4285F4?logo=GoogleChrome&logoColor=white&style=flat-square) | 119 (Oct 2023) |
61
+ | ![Edge](https://img.shields.io/badge/-Edge-0078D7?logo=MicrosoftEdge&logoColor=white&style=flat-square) | 119 (Nov 2023) |
62
+ | ![Firefox](https://img.shields.io/badge/-Firefox-FF7139?logo=FirefoxBrowser&logoColor=white&style=flat-square) | 121 (Dec 2023) |
63
+ | ![Safari (macOS, iOS)](https://img.shields.io/badge/-Safari-0D96F6?logo=Safari&logoColor=white&style=flat-square) | 17.0 (Sep 2023) |
64
+ | ![Opera](https://img.shields.io/badge/-Opera-FF1B2D?logo=Opera&logoColor=white&style=flat-square) | 105 (Nov 2023) |
65
+ | ![Android WebView](https://img.shields.io/badge/-Android%20WebView-3DDC84?logo=android&logoColor=white&style=flat-square) | 119 (Oct 2023) |
66
+ | ![Samsung Internet](https://img.shields.io/badge/-Samsung%20Internet-1428A0?logo=samsunginternet&logoColor=white&style=flat-square) | 23.0 (Oct 2023) |
67
+ | ![Firefox ESR](https://img.shields.io/badge/-FirefoxESR-FF7139?logo=FirefoxBrowser&logoColor=white&style=flat-square) | 128 (Jul 2024) |
56
68
 
57
69
  ❌ Not Supported : IE, Legacy Edge
58
70
 
71
+ ### 📌 Why This Baseline? (Late 2023)
72
+
73
+ - This is based on features commonly supported by modern browsers.
74
+ - Most modern web APIs and CSS features are supported reliably in versions after this point.
75
+ - Unless specific compatibility issues arise, you can use it out of the box without additional polyfills.
76
+ - If you need support for older browsers, you can extend it by adding your own polyfills.
77
+
59
78
  ---
60
79
 
61
80
  ## 📦 Legacy Version (v2-legacy)
62
81
 
82
+ \* Supported IE11
83
+
63
84
  > **SunEditor v3 is the latest version.**
64
85
  > This section refers to the **previous stable version, SunEditor v2**.
65
86
 
@@ -82,25 +103,13 @@ npm install suneditor --save
82
103
  ```
83
104
 
84
105
  ```js
85
- import 'suneditor/dist/suneditor.min.css';
106
+ import 'suneditor/css'; // Editor UI
107
+ import 'suneditor/css/contents'; // For displaying HTML
86
108
  import suneditor from 'suneditor';
87
109
 
88
110
  // HTML: <div id="editor"></div> or <textarea id="editor"></textarea>
89
111
  suneditor.create(document.querySelector('#editor'), {
90
- buttonList: [
91
- ['undo', 'redo'],
92
- '|',
93
- ['bold', 'underline', 'italic', 'strike', '|', 'subscript', 'superscript'],
94
- '|',
95
- ['removeFormat'],
96
- '|',
97
- ['outdent', 'indent'],
98
- '|',
99
- ['fullScreen', 'showBlocks', 'codeView'],
100
- '|',
101
- ['preview', 'print', 'copy']
102
- ],
103
- height: 'auto'
112
+ // options
104
113
  });
105
114
  ```
106
115
 
@@ -117,20 +126,7 @@ suneditor.create(document.querySelector('#editor'), {
117
126
 
118
127
  <script>
119
128
  SUNEDITOR.create(document.querySelector('#editor'), {
120
- buttonList: [
121
- ['undo', 'redo'],
122
- '|',
123
- ['bold', 'underline', 'italic', 'strike', '|', 'subscript', 'superscript'],
124
- '|',
125
- ['removeFormat'],
126
- '|',
127
- ['outdent', 'indent'],
128
- '|',
129
- ['fullScreen', 'showBlocks', 'codeView'],
130
- '|',
131
- ['preview', 'print', 'copy']
132
- ],
133
- height: 'auto'
129
+ // options
134
130
  });
135
131
  </script>
136
132
  ```
@@ -155,15 +151,15 @@ You can enable only the plugins you need or even create your own custom ones.
155
151
  suneditor.create('#editor', {
156
152
  plugins: ['font', 'image', 'video'],
157
153
  image: {
158
- uploadUrl: 'https://upload.image'
159
- }
154
+ uploadUrl: 'https://upload.image',
155
+ },
160
156
  });
161
157
  ```
162
158
 
163
- 📘 [Learn how to build your own plugin →](https://suneditor.com/plugins)
159
+ 📘 [Learn how to build your own plugin →](https://suneditor.com/plugin-guide)
164
160
 
165
161
  🤖 Want to build plugins? Get real-time help from [SunEditor Devs AI](https://chatgpt.com/g/g-JViNPCrkD-suneditor-devs).\
166
- See [Contribution Guide](./CONTRIBUTING.md#ai-plugin-helper) for tips and examples.
162
+ See [Contribution Guide](./CONTRIBUTING.md#-ai-plugin-helper) for tips and examples.
167
163
 
168
164
  ---
169
165
 
@@ -175,6 +171,18 @@ See [Contribution Guide](./CONTRIBUTING.md#ai-plugin-helper) for tips and exampl
175
171
 
176
172
  ---
177
173
 
174
+ ## 💎 Sponsors
175
+
176
+ ### Backers
177
+
178
+ [![Backers on Open Collective](https://opencollective.com/suneditor/backers.svg?width=890&avatarHeight=64&button=false)](https://opencollective.com/suneditor)
179
+
180
+ ### Sponsors
181
+
182
+ [![Sponsors on Open Collective](https://opencollective.com/suneditor/sponsors.svg?width=890&avatarHeight=64&button=false)](https://opencollective.com/suneditor)
183
+
184
+ ---
185
+
178
186
  ## 📄 License
179
187
 
180
- SunEditor is an open-source project available under the [MIT License](./LICENSE).
188
+ SunEditor is an open-source project available under the [MIT License](./LICENSE.txt).