suneditor 3.0.0-beta.2 → 3.0.0-beta.21

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 (128) hide show
  1. package/CONTRIBUTING.md +4 -2
  2. package/README.md +10 -33
  3. package/dist/suneditor.min.css +1 -1
  4. package/dist/suneditor.min.js +1 -1
  5. package/package.json +13 -9
  6. package/src/assets/design/color.css +11 -1
  7. package/src/assets/design/size.css +2 -0
  8. package/src/assets/icons/defaultIcons.js +16 -1
  9. package/src/assets/suneditor-contents.css +9 -8
  10. package/src/assets/suneditor.css +43 -35
  11. package/src/core/base/eventHandlers/handler_toolbar.js +3 -3
  12. package/src/core/base/eventHandlers/handler_ww_dragDrop.js +6 -4
  13. package/src/core/base/eventHandlers/handler_ww_key_input.js +5 -5
  14. package/src/core/base/eventManager.js +155 -89
  15. package/src/core/base/history.js +4 -4
  16. package/src/core/class/char.js +12 -11
  17. package/src/core/class/component.js +36 -19
  18. package/src/core/class/format.js +20 -9
  19. package/src/core/class/html.js +92 -55
  20. package/src/core/class/menu.js +12 -1
  21. package/src/core/class/offset.js +160 -195
  22. package/src/core/class/selection.js +133 -41
  23. package/src/core/class/toolbar.js +73 -51
  24. package/src/core/class/ui.js +11 -9
  25. package/src/core/class/viewer.js +39 -40
  26. package/src/core/config/context.js +122 -0
  27. package/src/core/config/frameContext.js +204 -0
  28. package/src/core/config/options.js +608 -0
  29. package/src/core/editor.js +239 -121
  30. package/src/core/section/actives.js +51 -26
  31. package/src/core/section/constructor.js +55 -367
  32. package/src/core/section/documentType.js +47 -26
  33. package/src/core/util/instanceCheck.js +59 -0
  34. package/src/editorInjector/_core.js +17 -7
  35. package/src/editorInjector/index.js +6 -2
  36. package/src/events.js +12 -0
  37. package/src/helper/converter.js +39 -11
  38. package/src/helper/dom/domCheck.js +2 -2
  39. package/src/helper/dom/domQuery.js +22 -14
  40. package/src/helper/dom/domUtils.js +89 -8
  41. package/src/helper/env.js +11 -2
  42. package/src/modules/Browser.js +3 -1
  43. package/src/modules/ColorPicker.js +14 -12
  44. package/src/modules/Controller.js +46 -26
  45. package/src/modules/Figure.js +145 -84
  46. package/src/modules/FileManager.js +2 -2
  47. package/src/modules/HueSlider.js +35 -23
  48. package/src/modules/ModalAnchorEditor.js +2 -2
  49. package/src/modules/SelectMenu.js +1 -1
  50. package/src/plugins/command/blockquote.js +1 -0
  51. package/src/plugins/command/exportPDF.js +1 -1
  52. package/src/plugins/command/list_bulleted.js +1 -0
  53. package/src/plugins/command/list_numbered.js +1 -0
  54. package/src/plugins/dropdown/align.js +2 -0
  55. package/src/plugins/dropdown/backgroundColor.js +9 -5
  56. package/src/plugins/dropdown/font.js +7 -3
  57. package/src/plugins/dropdown/fontColor.js +9 -5
  58. package/src/plugins/dropdown/formatBlock.js +5 -13
  59. package/src/plugins/dropdown/lineHeight.js +2 -1
  60. package/src/plugins/dropdown/list.js +1 -0
  61. package/src/plugins/dropdown/table.js +142 -32
  62. package/src/plugins/input/fontSize.js +7 -3
  63. package/src/plugins/input/pageNavigator.js +3 -2
  64. package/src/plugins/modal/audio.js +1 -1
  65. package/src/plugins/modal/drawing.js +17 -11
  66. package/src/plugins/modal/embed.js +22 -25
  67. package/src/plugins/modal/image.js +35 -48
  68. package/src/plugins/modal/link.js +11 -3
  69. package/src/plugins/modal/math.js +6 -5
  70. package/src/plugins/modal/video.js +25 -21
  71. package/src/plugins/popup/anchor.js +2 -0
  72. package/src/suneditor.js +22 -15
  73. package/src/themes/dark.css +11 -1
  74. package/src/typedef.js +5 -3
  75. package/types/assets/icons/defaultIcons.d.ts +8 -0
  76. package/types/core/base/eventManager.d.ts +29 -4
  77. package/types/core/class/char.d.ts +3 -2
  78. package/types/core/class/component.d.ts +1 -2
  79. package/types/core/class/format.d.ts +8 -1
  80. package/types/core/class/html.d.ts +9 -1
  81. package/types/core/class/menu.d.ts +8 -0
  82. package/types/core/class/offset.d.ts +24 -26
  83. package/types/core/class/selection.d.ts +2 -0
  84. package/types/core/class/toolbar.d.ts +24 -11
  85. package/types/core/class/ui.d.ts +1 -1
  86. package/types/core/class/viewer.d.ts +1 -1
  87. package/types/core/config/context.d.ts +157 -0
  88. package/types/core/config/frameContext.d.ts +367 -0
  89. package/types/core/config/options.d.ts +1128 -0
  90. package/types/core/editor.d.ts +78 -35
  91. package/types/core/section/constructor.d.ts +7 -640
  92. package/types/core/section/context.d.ts +22 -0
  93. package/types/core/section/documentType.d.ts +14 -4
  94. package/types/core/section/options.d.ts +1022 -0
  95. package/types/core/util/instanceCheck.d.ts +50 -0
  96. package/types/editorInjector/_core.d.ts +17 -7
  97. package/types/editorInjector/index.d.ts +6 -2
  98. package/types/events.d.ts +2 -0
  99. package/types/helper/converter.d.ts +31 -9
  100. package/types/helper/dom/domQuery.d.ts +6 -6
  101. package/types/helper/dom/domUtils.d.ts +24 -2
  102. package/types/helper/env.d.ts +6 -1
  103. package/types/helper/index.d.ts +6 -1
  104. package/types/index.d.ts +5 -0
  105. package/types/modules/ColorPicker.d.ts +5 -1
  106. package/types/modules/Controller.d.ts +8 -4
  107. package/types/modules/Figure.d.ts +31 -9
  108. package/types/modules/HueSlider.d.ts +4 -1
  109. package/types/modules/SelectMenu.d.ts +1 -1
  110. package/types/plugins/command/blockquote.d.ts +1 -0
  111. package/types/plugins/command/list_bulleted.d.ts +1 -0
  112. package/types/plugins/command/list_numbered.d.ts +1 -0
  113. package/types/plugins/dropdown/align.d.ts +1 -0
  114. package/types/plugins/dropdown/backgroundColor.d.ts +1 -0
  115. package/types/plugins/dropdown/font.d.ts +1 -0
  116. package/types/plugins/dropdown/fontColor.d.ts +1 -0
  117. package/types/plugins/dropdown/formatBlock.d.ts +3 -2
  118. package/types/plugins/dropdown/lineHeight.d.ts +1 -0
  119. package/types/plugins/dropdown/list.d.ts +1 -0
  120. package/types/plugins/dropdown/table.d.ts +6 -0
  121. package/types/plugins/input/fontSize.d.ts +1 -0
  122. package/types/plugins/modal/drawing.d.ts +4 -0
  123. package/types/plugins/modal/embed.d.ts +4 -3
  124. package/types/plugins/modal/link.d.ts +32 -15
  125. package/types/plugins/modal/video.d.ts +1 -0
  126. package/types/suneditor.d.ts +13 -9
  127. package/types/typedef.d.ts +11 -3
  128. package/src/core/section/context.js +0 -102
package/CONTRIBUTING.md CHANGED
@@ -27,6 +27,8 @@ Node.js **v14 or higher** is required to build and test.
27
27
 
28
28
  ## ✅ Before Submitting a PR
29
29
 
30
+ > [commit-guide](./guide/commit-types.md)
31
+
30
32
  - Check that no one is working on the same thing in [open issues](https://github.com/jihong88/suneditor/issues).
31
33
  - For new features or major changes, please open an issue first to gather feedback.
32
34
  - Use a **feature branch** (not `master`) for your pull request.
@@ -139,6 +141,8 @@ A quick overview of the `src/` directory:
139
141
 
140
142
  ## 🚀 Useful Commands
141
143
 
144
+ > [scripts-guide](./guide/scripts-guide.md)
145
+
142
146
  ```bash
143
147
  # Start local dev server
144
148
  npm run dev
@@ -172,8 +176,6 @@ npm run i18n-build
172
176
  npm run test
173
177
  ```
174
178
 
175
- > [scripts/README](https://github.com/JiHong88/suneditor/blob/develop/scripts/README.md)
176
-
177
179
  ---
178
180
 
179
181
  Thanks for contributing 💛
package/README.md CHANGED
@@ -1,6 +1,6 @@
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
 
@@ -46,16 +46,19 @@ It's easy to integrate, highly customizable, and built for modern web applicatio
46
46
  | Browser | Since | Version ≥ |
47
47
  | ----------------------------------------------------------------------------------------------------------------------------------- | -------- | --------- |
48
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 |
49
+ | ![Firefox](https://img.shields.io/badge/-Firefox-FF7139?logo=FirefoxBrowser&logoColor=white&style=flat-square) | Jul 2021 | 90 |
50
+ | ![Safari](https://img.shields.io/badge/-Safari-0D96F6?logo=Safari&logoColor=white&style=flat-square) | Apr 2021 | 14.1 |
51
51
  | ![Edge](https://img.shields.io/badge/-Edge-0078D7?logo=MicrosoftEdge&logoColor=white&style=flat-square) | Jan 2020 | 80 |
52
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 |
53
+ | ![iOS Safari](https://img.shields.io/badge/-iOS%20Safari-000000?logo=apple&logoColor=white&style=flat-square) | Apr 2021 | 14.5 |
54
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 |
55
+ | ![Samsung Internet](https://img.shields.io/badge/-Samsung%20Internet-1428A0?logo=samsunginternet&logoColor=white&style=flat-square) | Apr 2020 | 13.0 |
56
56
 
57
57
  ❌ Not Supported : IE, Legacy Edge
58
58
 
59
+ > SunEditor is designed for modern browsers released since 2020.\
60
+ > This includes support for ES2020+ features like optional chaining (?.), nullish coalescing (??), and private class fields (#field).
61
+
59
62
  ---
60
63
 
61
64
  ## 📦 Legacy Version (v2-legacy)
@@ -87,20 +90,7 @@ import suneditor from 'suneditor';
87
90
 
88
91
  // HTML: <div id="editor"></div> or <textarea id="editor"></textarea>
89
92
  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'
93
+ // options
104
94
  });
105
95
  ```
106
96
 
@@ -117,20 +107,7 @@ suneditor.create(document.querySelector('#editor'), {
117
107
 
118
108
  <script>
119
109
  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'
110
+ // options
134
111
  });
135
112
  </script>
136
113
  ```