@syncfusion/ej2-richtexteditor 29.2.4-738301 → 29.2.4-760237

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 (365) hide show
  1. package/.eslintrc.json +262 -260
  2. package/aceconfig.js +17 -0
  3. package/blazorGlobalSrc/common/config.d.ts +63 -0
  4. package/blazorGlobalSrc/common/config.js +123 -0
  5. package/blazorGlobalSrc/common/constant.d.ts +117 -0
  6. package/blazorGlobalSrc/common/constant.js +23 -0
  7. package/blazorGlobalSrc/common/editor-styles.d.ts +1 -0
  8. package/blazorGlobalSrc/common/editor-styles.js +5 -0
  9. package/blazorGlobalSrc/common/index.d.ts +7 -0
  10. package/blazorGlobalSrc/common/index.js +9 -0
  11. package/blazorGlobalSrc/common/interface.d.ts +119 -0
  12. package/blazorGlobalSrc/common/interface.js +4 -0
  13. package/blazorGlobalSrc/common/types.d.ts +25 -0
  14. package/blazorGlobalSrc/common/types.js +4 -0
  15. package/blazorGlobalSrc/common/user-agent.d.ts +41 -0
  16. package/blazorGlobalSrc/common/user-agent.js +71 -0
  17. package/blazorGlobalSrc/common/util.d.ts +70 -0
  18. package/blazorGlobalSrc/common/util.js +222 -0
  19. package/blazorGlobalSrc/components.d.ts +8 -0
  20. package/blazorGlobalSrc/components.js +12 -0
  21. package/blazorGlobalSrc/editor-manager/base/classes.d.ts +31 -0
  22. package/blazorGlobalSrc/editor-manager/base/classes.js +28 -0
  23. package/blazorGlobalSrc/editor-manager/base/constant.d.ts +97 -0
  24. package/blazorGlobalSrc/editor-manager/base/constant.js +41 -0
  25. package/blazorGlobalSrc/editor-manager/base/editor-manager.d.ts +95 -0
  26. package/blazorGlobalSrc/editor-manager/base/editor-manager.js +339 -0
  27. package/blazorGlobalSrc/editor-manager/base/enum.d.ts +17 -0
  28. package/blazorGlobalSrc/editor-manager/base/enum.js +4 -0
  29. package/blazorGlobalSrc/editor-manager/base/interface.d.ts +263 -0
  30. package/blazorGlobalSrc/editor-manager/base/interface.js +4 -0
  31. package/blazorGlobalSrc/editor-manager/base/types.d.ts +7 -0
  32. package/blazorGlobalSrc/editor-manager/base/types.js +4 -0
  33. package/blazorGlobalSrc/editor-manager/base.d.ts +8 -0
  34. package/blazorGlobalSrc/editor-manager/base.js +10 -0
  35. package/blazorGlobalSrc/editor-manager/index.d.ts +5 -0
  36. package/blazorGlobalSrc/editor-manager/index.js +9 -0
  37. package/blazorGlobalSrc/editor-manager/plugin/alignments.d.ts +26 -0
  38. package/blazorGlobalSrc/editor-manager/plugin/alignments.js +105 -0
  39. package/blazorGlobalSrc/editor-manager/plugin/audio.d.ts +34 -0
  40. package/blazorGlobalSrc/editor-manager/plugin/audio.js +145 -0
  41. package/blazorGlobalSrc/editor-manager/plugin/clearformat-exec.d.ts +24 -0
  42. package/blazorGlobalSrc/editor-manager/plugin/clearformat-exec.js +47 -0
  43. package/blazorGlobalSrc/editor-manager/plugin/clearformat.d.ts +29 -0
  44. package/blazorGlobalSrc/editor-manager/plugin/clearformat.js +249 -0
  45. package/blazorGlobalSrc/editor-manager/plugin/dom-node.d.ts +351 -0
  46. package/blazorGlobalSrc/editor-manager/plugin/dom-node.js +737 -0
  47. package/blazorGlobalSrc/editor-manager/plugin/dom-tree.d.ts +84 -0
  48. package/blazorGlobalSrc/editor-manager/plugin/dom-tree.js +164 -0
  49. package/blazorGlobalSrc/editor-manager/plugin/emoji-picker-action.d.ts +10 -0
  50. package/blazorGlobalSrc/editor-manager/plugin/emoji-picker-action.js +86 -0
  51. package/blazorGlobalSrc/editor-manager/plugin/format-painter-actions.d.ts +47 -0
  52. package/blazorGlobalSrc/editor-manager/plugin/format-painter-actions.js +622 -0
  53. package/blazorGlobalSrc/editor-manager/plugin/formats.d.ts +43 -0
  54. package/blazorGlobalSrc/editor-manager/plugin/formats.js +597 -0
  55. package/blazorGlobalSrc/editor-manager/plugin/image.d.ts +48 -0
  56. package/blazorGlobalSrc/editor-manager/plugin/image.js +399 -0
  57. package/blazorGlobalSrc/editor-manager/plugin/indents.d.ts +24 -0
  58. package/blazorGlobalSrc/editor-manager/plugin/indents.js +106 -0
  59. package/blazorGlobalSrc/editor-manager/plugin/insert-methods.d.ts +48 -0
  60. package/blazorGlobalSrc/editor-manager/plugin/insert-methods.js +37 -0
  61. package/blazorGlobalSrc/editor-manager/plugin/insert-text.d.ts +22 -0
  62. package/blazorGlobalSrc/editor-manager/plugin/insert-text.js +36 -0
  63. package/blazorGlobalSrc/editor-manager/plugin/inserthtml-exec.d.ts +22 -0
  64. package/blazorGlobalSrc/editor-manager/plugin/inserthtml-exec.js +49 -0
  65. package/blazorGlobalSrc/editor-manager/plugin/inserthtml.d.ts +51 -0
  66. package/blazorGlobalSrc/editor-manager/plugin/inserthtml.js +985 -0
  67. package/blazorGlobalSrc/editor-manager/plugin/isformatted.d.ts +89 -0
  68. package/blazorGlobalSrc/editor-manager/plugin/isformatted.js +199 -0
  69. package/blazorGlobalSrc/editor-manager/plugin/link.d.ts +41 -0
  70. package/blazorGlobalSrc/editor-manager/plugin/link.js +550 -0
  71. package/blazorGlobalSrc/editor-manager/plugin/lists.d.ts +74 -0
  72. package/blazorGlobalSrc/editor-manager/plugin/lists.js +1503 -0
  73. package/blazorGlobalSrc/editor-manager/plugin/ms-word-clean-up.d.ts +61 -0
  74. package/blazorGlobalSrc/editor-manager/plugin/ms-word-clean-up.js +1136 -0
  75. package/blazorGlobalSrc/editor-manager/plugin/nodecutter.d.ts +64 -0
  76. package/blazorGlobalSrc/editor-manager/plugin/nodecutter.js +167 -0
  77. package/blazorGlobalSrc/editor-manager/plugin/selection-commands.d.ts +41 -0
  78. package/blazorGlobalSrc/editor-manager/plugin/selection-commands.js +1069 -0
  79. package/blazorGlobalSrc/editor-manager/plugin/selection-exec.d.ts +24 -0
  80. package/blazorGlobalSrc/editor-manager/plugin/selection-exec.js +49 -0
  81. package/blazorGlobalSrc/editor-manager/plugin/table-selection.d.ts +26 -0
  82. package/blazorGlobalSrc/editor-manager/plugin/table-selection.js +210 -0
  83. package/blazorGlobalSrc/editor-manager/plugin/table.d.ts +56 -0
  84. package/blazorGlobalSrc/editor-manager/plugin/table.js +1100 -0
  85. package/blazorGlobalSrc/editor-manager/plugin/toolbar-status.d.ts +39 -0
  86. package/blazorGlobalSrc/editor-manager/plugin/toolbar-status.js +384 -0
  87. package/blazorGlobalSrc/editor-manager/plugin/undo.d.ts +85 -0
  88. package/blazorGlobalSrc/editor-manager/plugin/undo.js +216 -0
  89. package/blazorGlobalSrc/editor-manager/plugin/video.d.ts +38 -0
  90. package/blazorGlobalSrc/editor-manager/plugin/video.js +311 -0
  91. package/blazorGlobalSrc/editor-manager/plugin.d.ts +27 -0
  92. package/blazorGlobalSrc/editor-manager/plugin.js +31 -0
  93. package/blazorGlobalSrc/global.d.ts +1 -0
  94. package/blazorGlobalSrc/global.js +3 -0
  95. package/blazorGlobalSrc/index.d.ts +8 -0
  96. package/blazorGlobalSrc/index.js +12 -0
  97. package/blazorGlobalSrc/markdown-parser/base/constant.d.ts +39 -0
  98. package/blazorGlobalSrc/markdown-parser/base/constant.js +10 -0
  99. package/blazorGlobalSrc/markdown-parser/base/interface.d.ts +169 -0
  100. package/blazorGlobalSrc/markdown-parser/base/interface.js +4 -0
  101. package/blazorGlobalSrc/markdown-parser/base/markdown-parser.d.ts +69 -0
  102. package/blazorGlobalSrc/markdown-parser/base/markdown-parser.js +87 -0
  103. package/blazorGlobalSrc/markdown-parser/base/types.d.ts +7 -0
  104. package/blazorGlobalSrc/markdown-parser/base/types.js +4 -0
  105. package/blazorGlobalSrc/markdown-parser/base.d.ts +7 -0
  106. package/blazorGlobalSrc/markdown-parser/base.js +9 -0
  107. package/blazorGlobalSrc/markdown-parser/index.d.ts +5 -0
  108. package/blazorGlobalSrc/markdown-parser/index.js +9 -0
  109. package/blazorGlobalSrc/markdown-parser/plugin/clearformat.d.ts +28 -0
  110. package/blazorGlobalSrc/markdown-parser/plugin/clearformat.js +110 -0
  111. package/blazorGlobalSrc/markdown-parser/plugin/formats.d.ts +32 -0
  112. package/blazorGlobalSrc/markdown-parser/plugin/formats.js +225 -0
  113. package/blazorGlobalSrc/markdown-parser/plugin/insert-text.d.ts +24 -0
  114. package/blazorGlobalSrc/markdown-parser/plugin/insert-text.js +49 -0
  115. package/blazorGlobalSrc/markdown-parser/plugin/link.d.ts +24 -0
  116. package/blazorGlobalSrc/markdown-parser/plugin/link.js +50 -0
  117. package/blazorGlobalSrc/markdown-parser/plugin/lists.d.ts +39 -0
  118. package/blazorGlobalSrc/markdown-parser/plugin/lists.js +462 -0
  119. package/blazorGlobalSrc/markdown-parser/plugin/markdown-selection.d.ts +140 -0
  120. package/blazorGlobalSrc/markdown-parser/plugin/markdown-selection.js +104 -0
  121. package/blazorGlobalSrc/markdown-parser/plugin/md-selection-formats.d.ts +31 -0
  122. package/blazorGlobalSrc/markdown-parser/plugin/md-selection-formats.js +335 -0
  123. package/blazorGlobalSrc/markdown-parser/plugin/table.d.ts +52 -0
  124. package/blazorGlobalSrc/markdown-parser/plugin/table.js +216 -0
  125. package/blazorGlobalSrc/markdown-parser/plugin/undo.d.ts +83 -0
  126. package/blazorGlobalSrc/markdown-parser/plugin/undo.js +147 -0
  127. package/blazorGlobalSrc/markdown-parser/plugin.d.ts +11 -0
  128. package/blazorGlobalSrc/markdown-parser/plugin.js +15 -0
  129. package/blazorGlobalSrc/rich-text-editor/actions/base-quick-toolbar.d.ts +114 -0
  130. package/blazorGlobalSrc/rich-text-editor/actions/base-quick-toolbar.js +465 -0
  131. package/blazorGlobalSrc/rich-text-editor/actions/base-toolbar.d.ts +58 -0
  132. package/blazorGlobalSrc/rich-text-editor/actions/base-toolbar.js +216 -0
  133. package/blazorGlobalSrc/rich-text-editor/actions/color-picker.d.ts +52 -0
  134. package/blazorGlobalSrc/rich-text-editor/actions/color-picker.js +241 -0
  135. package/blazorGlobalSrc/rich-text-editor/actions/count.d.ts +55 -0
  136. package/blazorGlobalSrc/rich-text-editor/actions/count.js +117 -0
  137. package/blazorGlobalSrc/rich-text-editor/actions/dropdown-buttons.d.ts +72 -0
  138. package/blazorGlobalSrc/rich-text-editor/actions/dropdown-buttons.js +552 -0
  139. package/blazorGlobalSrc/rich-text-editor/actions/emoji-picker.d.ts +51 -0
  140. package/blazorGlobalSrc/rich-text-editor/actions/emoji-picker.js +853 -0
  141. package/blazorGlobalSrc/rich-text-editor/actions/enter-key.d.ts +28 -0
  142. package/blazorGlobalSrc/rich-text-editor/actions/enter-key.js +821 -0
  143. package/blazorGlobalSrc/rich-text-editor/actions/execute-command-callback.d.ts +11 -0
  144. package/blazorGlobalSrc/rich-text-editor/actions/execute-command-callback.js +28 -0
  145. package/blazorGlobalSrc/rich-text-editor/actions/file-manager.d.ts +45 -0
  146. package/blazorGlobalSrc/rich-text-editor/actions/file-manager.js +249 -0
  147. package/blazorGlobalSrc/rich-text-editor/actions/format-painter.d.ts +25 -0
  148. package/blazorGlobalSrc/rich-text-editor/actions/format-painter.js +156 -0
  149. package/blazorGlobalSrc/rich-text-editor/actions/full-screen.d.ts +40 -0
  150. package/blazorGlobalSrc/rich-text-editor/actions/full-screen.js +148 -0
  151. package/blazorGlobalSrc/rich-text-editor/actions/html-attributes.d.ts +15 -0
  152. package/blazorGlobalSrc/rich-text-editor/actions/html-attributes.js +50 -0
  153. package/blazorGlobalSrc/rich-text-editor/actions/html-editor.d.ts +120 -0
  154. package/blazorGlobalSrc/rich-text-editor/actions/html-editor.js +1244 -0
  155. package/blazorGlobalSrc/rich-text-editor/actions/html-toolbar-status.d.ts +14 -0
  156. package/blazorGlobalSrc/rich-text-editor/actions/html-toolbar-status.js +47 -0
  157. package/blazorGlobalSrc/rich-text-editor/actions/import-export.d.ts +21 -0
  158. package/blazorGlobalSrc/rich-text-editor/actions/import-export.js +117 -0
  159. package/blazorGlobalSrc/rich-text-editor/actions/keyboard-model.d.ts +30 -0
  160. package/blazorGlobalSrc/rich-text-editor/actions/keyboard.d.ts +110 -0
  161. package/blazorGlobalSrc/rich-text-editor/actions/keyboard.js +163 -0
  162. package/blazorGlobalSrc/rich-text-editor/actions/markdown-editor.d.ts +66 -0
  163. package/blazorGlobalSrc/rich-text-editor/actions/markdown-editor.js +142 -0
  164. package/blazorGlobalSrc/rich-text-editor/actions/markdown-toolbar-status.d.ts +23 -0
  165. package/blazorGlobalSrc/rich-text-editor/actions/markdown-toolbar-status.js +124 -0
  166. package/blazorGlobalSrc/rich-text-editor/actions/paste-clean-up.d.ts +86 -0
  167. package/blazorGlobalSrc/rich-text-editor/actions/paste-clean-up.js +1071 -0
  168. package/blazorGlobalSrc/rich-text-editor/actions/quick-toolbar.d.ts +151 -0
  169. package/blazorGlobalSrc/rich-text-editor/actions/quick-toolbar.js +548 -0
  170. package/blazorGlobalSrc/rich-text-editor/actions/resize.d.ts +37 -0
  171. package/blazorGlobalSrc/rich-text-editor/actions/resize.js +188 -0
  172. package/blazorGlobalSrc/rich-text-editor/actions/sanitize-helper.d.ts +11 -0
  173. package/blazorGlobalSrc/rich-text-editor/actions/sanitize-helper.js +168 -0
  174. package/blazorGlobalSrc/rich-text-editor/actions/toolbar-action.d.ts +18 -0
  175. package/blazorGlobalSrc/rich-text-editor/actions/toolbar-action.js +76 -0
  176. package/blazorGlobalSrc/rich-text-editor/actions/toolbar.d.ts +185 -0
  177. package/blazorGlobalSrc/rich-text-editor/actions/toolbar.js +512 -0
  178. package/blazorGlobalSrc/rich-text-editor/actions/xhtml-validation.d.ts +25 -0
  179. package/blazorGlobalSrc/rich-text-editor/actions/xhtml-validation.js +166 -0
  180. package/blazorGlobalSrc/rich-text-editor/actions.d.ts +26 -0
  181. package/blazorGlobalSrc/rich-text-editor/actions.js +30 -0
  182. package/blazorGlobalSrc/rich-text-editor/audio.d.ts +4 -0
  183. package/blazorGlobalSrc/rich-text-editor/audio.js +8 -0
  184. package/blazorGlobalSrc/rich-text-editor/base/classes.d.ts +628 -0
  185. package/blazorGlobalSrc/rich-text-editor/base/classes.js +129 -0
  186. package/blazorGlobalSrc/rich-text-editor/base/constant.d.ts +808 -0
  187. package/blazorGlobalSrc/rich-text-editor/base/constant.js +334 -0
  188. package/blazorGlobalSrc/rich-text-editor/base/enum.d.ts +81 -0
  189. package/blazorGlobalSrc/rich-text-editor/base/enum.js +37 -0
  190. package/blazorGlobalSrc/rich-text-editor/base/interface.d.ts +1577 -0
  191. package/blazorGlobalSrc/rich-text-editor/base/interface.js +194 -0
  192. package/blazorGlobalSrc/rich-text-editor/base/rich-text-editor-model.d.ts +1032 -0
  193. package/blazorGlobalSrc/rich-text-editor/base/rich-text-editor.d.ts +1699 -0
  194. package/blazorGlobalSrc/rich-text-editor/base/rich-text-editor.js +2645 -0
  195. package/blazorGlobalSrc/rich-text-editor/base/util.d.ts +212 -0
  196. package/blazorGlobalSrc/rich-text-editor/base/util.js +610 -0
  197. package/blazorGlobalSrc/rich-text-editor/base.d.ts +10 -0
  198. package/blazorGlobalSrc/rich-text-editor/base.js +13 -0
  199. package/blazorGlobalSrc/rich-text-editor/formatter/formatter.d.ts +87 -0
  200. package/blazorGlobalSrc/rich-text-editor/formatter/formatter.js +223 -0
  201. package/blazorGlobalSrc/rich-text-editor/formatter/html-formatter.d.ts +34 -0
  202. package/blazorGlobalSrc/rich-text-editor/formatter/html-formatter.js +44 -0
  203. package/blazorGlobalSrc/rich-text-editor/formatter/markdown-formatter.d.ts +39 -0
  204. package/blazorGlobalSrc/rich-text-editor/formatter/markdown-formatter.js +48 -0
  205. package/blazorGlobalSrc/rich-text-editor/formatter.d.ts +6 -0
  206. package/blazorGlobalSrc/rich-text-editor/formatter.js +10 -0
  207. package/blazorGlobalSrc/rich-text-editor/html-editor.d.ts +4 -0
  208. package/blazorGlobalSrc/rich-text-editor/html-editor.js +8 -0
  209. package/blazorGlobalSrc/rich-text-editor/image.d.ts +4 -0
  210. package/blazorGlobalSrc/rich-text-editor/image.js +8 -0
  211. package/blazorGlobalSrc/rich-text-editor/index.d.ts +9 -0
  212. package/blazorGlobalSrc/rich-text-editor/index.js +12 -0
  213. package/blazorGlobalSrc/rich-text-editor/link.d.ts +4 -0
  214. package/blazorGlobalSrc/rich-text-editor/link.js +8 -0
  215. package/blazorGlobalSrc/rich-text-editor/markdown-editor.d.ts +4 -0
  216. package/blazorGlobalSrc/rich-text-editor/markdown-editor.js +8 -0
  217. package/blazorGlobalSrc/rich-text-editor/models/default-locale.d.ts +25 -0
  218. package/blazorGlobalSrc/rich-text-editor/models/default-locale.js +391 -0
  219. package/blazorGlobalSrc/rich-text-editor/models/iframe-settings-model.d.ts +68 -0
  220. package/blazorGlobalSrc/rich-text-editor/models/iframe-settings.d.ts +61 -0
  221. package/blazorGlobalSrc/rich-text-editor/models/iframe-settings.js +60 -0
  222. package/blazorGlobalSrc/rich-text-editor/models/inline-mode-model.d.ts +24 -0
  223. package/blazorGlobalSrc/rich-text-editor/models/inline-mode.d.ts +20 -0
  224. package/blazorGlobalSrc/rich-text-editor/models/inline-mode.js +37 -0
  225. package/blazorGlobalSrc/rich-text-editor/models/items.d.ts +36 -0
  226. package/blazorGlobalSrc/rich-text-editor/models/items.js +1011 -0
  227. package/blazorGlobalSrc/rich-text-editor/models/models.d.ts +7 -0
  228. package/blazorGlobalSrc/rich-text-editor/models/models.js +4 -0
  229. package/blazorGlobalSrc/rich-text-editor/models/slash-menu-settings-model.d.ts +40 -0
  230. package/blazorGlobalSrc/rich-text-editor/models/slash-menu-settings.d.ts +50 -0
  231. package/blazorGlobalSrc/rich-text-editor/models/slash-menu-settings.js +143 -0
  232. package/blazorGlobalSrc/rich-text-editor/models/toolbar-settings-model.d.ts +1130 -0
  233. package/blazorGlobalSrc/rich-text-editor/models/toolbar-settings.d.ts +992 -0
  234. package/blazorGlobalSrc/rich-text-editor/models/toolbar-settings.js +510 -0
  235. package/blazorGlobalSrc/rich-text-editor/models.d.ts +4 -0
  236. package/blazorGlobalSrc/rich-text-editor/models.js +4 -0
  237. package/blazorGlobalSrc/rich-text-editor/quick-toolbar.d.ts +4 -0
  238. package/blazorGlobalSrc/rich-text-editor/quick-toolbar.js +8 -0
  239. package/blazorGlobalSrc/rich-text-editor/renderer/audio-module.d.ts +82 -0
  240. package/blazorGlobalSrc/rich-text-editor/renderer/audio-module.js +886 -0
  241. package/blazorGlobalSrc/rich-text-editor/renderer/content-renderer.d.ts +65 -0
  242. package/blazorGlobalSrc/rich-text-editor/renderer/content-renderer.js +49 -0
  243. package/blazorGlobalSrc/rich-text-editor/renderer/dialog-renderer.d.ts +39 -0
  244. package/blazorGlobalSrc/rich-text-editor/renderer/dialog-renderer.js +111 -0
  245. package/blazorGlobalSrc/rich-text-editor/renderer/iframe-content-renderer.d.ts +33 -0
  246. package/blazorGlobalSrc/rich-text-editor/renderer/iframe-content-renderer.js +101 -0
  247. package/blazorGlobalSrc/rich-text-editor/renderer/image-module.d.ts +199 -0
  248. package/blazorGlobalSrc/rich-text-editor/renderer/image-module.js +2494 -0
  249. package/blazorGlobalSrc/rich-text-editor/renderer/link-module.d.ts +63 -0
  250. package/blazorGlobalSrc/rich-text-editor/renderer/link-module.js +596 -0
  251. package/blazorGlobalSrc/rich-text-editor/renderer/markdown-renderer.d.ts +65 -0
  252. package/blazorGlobalSrc/rich-text-editor/renderer/markdown-renderer.js +38 -0
  253. package/blazorGlobalSrc/rich-text-editor/renderer/popup-renderer.d.ts +54 -0
  254. package/blazorGlobalSrc/rich-text-editor/renderer/popup-renderer.js +35 -0
  255. package/blazorGlobalSrc/rich-text-editor/renderer/render.d.ts +46 -0
  256. package/blazorGlobalSrc/rich-text-editor/renderer/render.js +70 -0
  257. package/blazorGlobalSrc/rich-text-editor/renderer/slash-menu.d.ts +20 -0
  258. package/blazorGlobalSrc/rich-text-editor/renderer/slash-menu.js +224 -0
  259. package/blazorGlobalSrc/rich-text-editor/renderer/table-module.d.ts +155 -0
  260. package/blazorGlobalSrc/rich-text-editor/renderer/table-module.js +2206 -0
  261. package/blazorGlobalSrc/rich-text-editor/renderer/toolbar-renderer.d.ts +131 -0
  262. package/blazorGlobalSrc/rich-text-editor/renderer/toolbar-renderer.js +747 -0
  263. package/blazorGlobalSrc/rich-text-editor/renderer/video-module.d.ts +120 -0
  264. package/blazorGlobalSrc/rich-text-editor/renderer/video-module.js +1507 -0
  265. package/blazorGlobalSrc/rich-text-editor/renderer/view-source.d.ts +74 -0
  266. package/blazorGlobalSrc/rich-text-editor/renderer/view-source.js +225 -0
  267. package/blazorGlobalSrc/rich-text-editor/renderer.d.ts +17 -0
  268. package/blazorGlobalSrc/rich-text-editor/renderer.js +21 -0
  269. package/blazorGlobalSrc/rich-text-editor/services/renderer-factory.d.ts +33 -0
  270. package/blazorGlobalSrc/rich-text-editor/services/renderer-factory.js +29 -0
  271. package/blazorGlobalSrc/rich-text-editor/services/service-locator.d.ts +29 -0
  272. package/blazorGlobalSrc/rich-text-editor/services/service-locator.js +25 -0
  273. package/blazorGlobalSrc/rich-text-editor/services.d.ts +5 -0
  274. package/blazorGlobalSrc/rich-text-editor/services.js +9 -0
  275. package/blazorGlobalSrc/rich-text-editor/toolbar.d.ts +4 -0
  276. package/blazorGlobalSrc/rich-text-editor/toolbar.js +8 -0
  277. package/blazorGlobalSrc/rich-text-editor/video.d.ts +4 -0
  278. package/blazorGlobalSrc/rich-text-editor/video.js +8 -0
  279. package/blazorGlobalSrc/rich-text-editor.d.ts +4 -0
  280. package/blazorGlobalSrc/rich-text-editor.js +8 -0
  281. package/blazorGlobalSrc/selection/index.d.ts +4 -0
  282. package/blazorGlobalSrc/selection/index.js +8 -0
  283. package/blazorGlobalSrc/selection/selection.d.ts +244 -0
  284. package/blazorGlobalSrc/selection/selection.js +309 -0
  285. package/dist/ej2-richtexteditor.umd.min.js +1 -1
  286. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  287. package/dist/es6/ej2-richtexteditor.es2015.js +6 -4
  288. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  289. package/dist/es6/ej2-richtexteditor.es5.js +6 -4
  290. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  291. package/helpers/e2e/index.d.ts +1 -0
  292. package/helpers/e2e/index.js +8 -0
  293. package/helpers/e2e/rte-helper.d.ts +79 -0
  294. package/helpers/e2e/rte-helper.js +81 -0
  295. package/package.json +1 -1
  296. package/src/editor-manager/plugin/dom-tree.js +6 -4
  297. package/src/global.d.ts +1 -0
  298. package/styles/bds-lite.css +7 -17
  299. package/styles/bds.css +11 -22
  300. package/styles/bootstrap-dark-lite.css +3 -13
  301. package/styles/bootstrap-dark.css +3 -14
  302. package/styles/bootstrap-lite.css +3 -13
  303. package/styles/bootstrap.css +3 -14
  304. package/styles/bootstrap4-lite.css +3 -13
  305. package/styles/bootstrap4.css +3 -14
  306. package/styles/bootstrap5-dark-lite.css +3 -13
  307. package/styles/bootstrap5-dark.css +3 -14
  308. package/styles/bootstrap5-lite.css +3 -13
  309. package/styles/bootstrap5.3-lite.css +3 -13
  310. package/styles/bootstrap5.3.css +3 -14
  311. package/styles/bootstrap5.css +3 -14
  312. package/styles/fabric-dark-lite.css +3 -13
  313. package/styles/fabric-dark.css +3 -14
  314. package/styles/fabric-lite.css +3 -13
  315. package/styles/fabric.css +3 -14
  316. package/styles/fluent-dark-lite.css +3 -13
  317. package/styles/fluent-dark.css +3 -14
  318. package/styles/fluent-lite.css +3 -13
  319. package/styles/fluent.css +3 -14
  320. package/styles/fluent2-lite.css +3 -13
  321. package/styles/fluent2.css +3 -14
  322. package/styles/highcontrast-light-lite.css +3 -13
  323. package/styles/highcontrast-light.css +3 -14
  324. package/styles/highcontrast-lite.css +3 -13
  325. package/styles/highcontrast.css +3 -14
  326. package/styles/material-dark-lite.css +3 -13
  327. package/styles/material-dark.css +3 -14
  328. package/styles/material-lite.css +3 -13
  329. package/styles/material.css +3 -14
  330. package/styles/material3-dark-lite.css +3 -13
  331. package/styles/material3-dark.css +3 -14
  332. package/styles/material3-lite.css +3 -13
  333. package/styles/material3.css +3 -14
  334. package/styles/rich-text-editor/_bds-definition.scss +2 -2
  335. package/styles/rich-text-editor/_bigger.scss +0 -1
  336. package/styles/rich-text-editor/_layout.scss +0 -9
  337. package/styles/rich-text-editor/_theme.scss +3 -0
  338. package/styles/rich-text-editor/bds.css +11 -22
  339. package/styles/rich-text-editor/bootstrap-dark.css +3 -14
  340. package/styles/rich-text-editor/bootstrap.css +3 -14
  341. package/styles/rich-text-editor/bootstrap4.css +3 -14
  342. package/styles/rich-text-editor/bootstrap5-dark.css +3 -14
  343. package/styles/rich-text-editor/bootstrap5.3.css +3 -14
  344. package/styles/rich-text-editor/bootstrap5.css +3 -14
  345. package/styles/rich-text-editor/fabric-dark.css +3 -14
  346. package/styles/rich-text-editor/fabric.css +3 -14
  347. package/styles/rich-text-editor/fluent-dark.css +3 -14
  348. package/styles/rich-text-editor/fluent.css +3 -14
  349. package/styles/rich-text-editor/fluent2.css +3 -14
  350. package/styles/rich-text-editor/highcontrast-light.css +3 -14
  351. package/styles/rich-text-editor/highcontrast.css +3 -14
  352. package/styles/rich-text-editor/material-dark.css +3 -14
  353. package/styles/rich-text-editor/material.css +3 -14
  354. package/styles/rich-text-editor/material3-dark.css +3 -14
  355. package/styles/rich-text-editor/material3.css +3 -14
  356. package/styles/rich-text-editor/tailwind-dark.css +3 -14
  357. package/styles/rich-text-editor/tailwind.css +3 -14
  358. package/styles/rich-text-editor/tailwind3.css +3 -14
  359. package/styles/tailwind-dark-lite.css +3 -13
  360. package/styles/tailwind-dark.css +3 -14
  361. package/styles/tailwind-lite.css +3 -13
  362. package/styles/tailwind.css +3 -14
  363. package/styles/tailwind3-lite.css +3 -13
  364. package/styles/tailwind3.css +3 -14
  365. package/tslint.json +111 -0
@@ -0,0 +1,597 @@
1
+ define(["require", "exports", "./../../common/constant", "@syncfusion/ej2-base", "../../common/util", "./dom-node", "./nodecutter"], function (require, exports, EVENTS, ej2_base_1, util_1, dom_node_1, nodecutter_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var Formats = (function () {
5
+ function Formats(parent) {
6
+ this.blockquotePrevent = false;
7
+ this.parent = parent;
8
+ this.addEventListener();
9
+ }
10
+ Formats.prototype.addEventListener = function () {
11
+ this.parent.observer.on(EVENTS.FORMAT_TYPE, this.applyFormats, this);
12
+ this.parent.observer.on(EVENTS.KEY_UP_HANDLER, this.onKeyUp, this);
13
+ this.parent.observer.on(EVENTS.KEY_DOWN_HANDLER, this.onKeyDown, this);
14
+ this.parent.observer.on(EVENTS.BLOCKQUOTE_LIST_HANDLE, this.blockQuotesHandled, this);
15
+ this.parent.observer.on(EVENTS.INTERNAL_DESTROY, this.destroy, this);
16
+ };
17
+ Formats.prototype.removeEventListener = function () {
18
+ this.parent.observer.off(EVENTS.FORMAT_TYPE, this.applyFormats);
19
+ this.parent.observer.off(EVENTS.KEY_UP_HANDLER, this.onKeyUp);
20
+ this.parent.observer.off(EVENTS.KEY_DOWN_HANDLER, this.onKeyDown);
21
+ this.parent.observer.off(EVENTS.INTERNAL_DESTROY, this.destroy);
22
+ };
23
+ Formats.prototype.getParentNode = function (node) {
24
+ var formatNode = node;
25
+ var blockTags = ['DIV', 'SECTION', 'ARTICLE', 'ASIDE', 'FOOTER', 'HEADER', 'NAV', 'MAIN'];
26
+ for (; node.parentNode && node.parentNode !== this.parent.editableElement; null) {
27
+ node = node.parentNode;
28
+ }
29
+ if (blockTags.indexOf(node.nodeName.toUpperCase()) !== -1) {
30
+ node = formatNode;
31
+ while (blockTags.indexOf(node.nodeName.toUpperCase()) === -1) {
32
+ if (blockTags.indexOf(node.parentNode.nodeName.toUpperCase()) !== -1) {
33
+ break;
34
+ }
35
+ node = node.parentNode;
36
+ }
37
+ }
38
+ return node;
39
+ };
40
+ Formats.prototype.blockQuotesHandled = function () {
41
+ this.blockquotePrevent = true;
42
+ };
43
+ Formats.prototype.onKeyUp = function (e) {
44
+ var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
45
+ var endCon = range.endContainer;
46
+ var lastChild = endCon.lastChild;
47
+ if (e.event.which === 13 && range.startContainer === endCon && endCon.nodeType !== 3) {
48
+ var pTag = ej2_base_1.createElement('p');
49
+ pTag.innerHTML = '<br>';
50
+ if (!ej2_base_1.isNullOrUndefined(lastChild) && lastChild && lastChild.nodeName === 'BR' && (lastChild.previousSibling && lastChild.previousSibling.nodeName === 'TABLE')) {
51
+ endCon.replaceChild(pTag, lastChild);
52
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, pTag, 0);
53
+ }
54
+ else {
55
+ var brNode = this.parent.nodeSelection.getSelectionNodeCollectionBr(range)[0];
56
+ if (!ej2_base_1.isNullOrUndefined(brNode) && brNode.nodeName === 'BR' && (brNode.previousSibling && brNode.previousSibling.nodeName === 'TABLE')) {
57
+ endCon.replaceChild(pTag, brNode);
58
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, pTag, 0);
59
+ }
60
+ }
61
+ }
62
+ if (e.enterAction !== 'BR' && !ej2_base_1.isNullOrUndefined(range.startContainer) && !ej2_base_1.isNullOrUndefined(range.startContainer.parentElement) && range.startContainer === range.endContainer && range.startContainer.nodeName === '#text' && range.startContainer.parentElement.classList.contains('e-content') && range.startContainer.parentElement.isContentEditable) {
63
+ var pTag = ej2_base_1.createElement(e.enterAction);
64
+ range.startContainer.parentElement.insertBefore(pTag, range.startContainer);
65
+ pTag.appendChild(range.startContainer);
66
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, pTag, 1);
67
+ }
68
+ };
69
+ Formats.prototype.getBlockParent = function (node, endNode) {
70
+ var currentParent = node;
71
+ while (node !== endNode) {
72
+ currentParent = node;
73
+ node = node.parentElement;
74
+ }
75
+ return currentParent;
76
+ };
77
+ Formats.prototype.onKeyDown = function (e) {
78
+ if (e.event.which === 13 && !this.blockquotePrevent) {
79
+ var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
80
+ var startCon = (range.startContainer.textContent.length === 0 || range.startContainer.nodeName === 'PRE')
81
+ ? range.startContainer : range.startContainer.parentElement;
82
+ var endCon = (range.endContainer.textContent.length === 0 || range.endContainer.nodeName === 'PRE')
83
+ ? range.endContainer : range.endContainer.parentElement;
84
+ var preElem = ej2_base_1.closest(startCon, 'pre');
85
+ var endPreElem = ej2_base_1.closest(endCon, 'pre');
86
+ var blockquoteEle = ej2_base_1.closest(startCon, 'blockquote');
87
+ var endBlockquoteEle = ej2_base_1.closest(endCon, 'blockquote');
88
+ var liParent = !ej2_base_1.isNullOrUndefined(preElem) && !ej2_base_1.isNullOrUndefined(preElem.parentElement) && preElem.parentElement.tagName === 'LI';
89
+ if (liParent) {
90
+ return;
91
+ }
92
+ if (((ej2_base_1.isNullOrUndefined(preElem) && !ej2_base_1.isNullOrUndefined(endPreElem)) || (!ej2_base_1.isNullOrUndefined(preElem) && ej2_base_1.isNullOrUndefined(endPreElem)))) {
93
+ e.event.preventDefault();
94
+ this.deleteContent(range);
95
+ this.removeCodeContent(range);
96
+ range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
97
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, endCon, 0);
98
+ }
99
+ if (e.event.which === 13 && ((!ej2_base_1.isNullOrUndefined(blockquoteEle) && !ej2_base_1.isNullOrUndefined(endBlockquoteEle)) ||
100
+ (!ej2_base_1.isNullOrUndefined(blockquoteEle) && ej2_base_1.isNullOrUndefined(endBlockquoteEle)))) {
101
+ var startParent = this.getBlockParent(range.startContainer, blockquoteEle);
102
+ if ((startParent.textContent.charCodeAt(0) === 8203 &&
103
+ startParent.textContent.length === 1) || (startParent.textContent.length === 0 &&
104
+ startParent.querySelectorAll('img').length === 0 &&
105
+ startParent.querySelectorAll('table').length === 0)) {
106
+ e.event.preventDefault();
107
+ if (ej2_base_1.isNullOrUndefined(startParent.nextElementSibling)) {
108
+ this.paraFocus(startParent.parentElement === this.parent.editableElement ?
109
+ startParent : startParent.parentElement);
110
+ }
111
+ else {
112
+ var nodeCutter = new nodecutter_1.NodeCutter();
113
+ var newElem = nodeCutter.SplitNode(range, startParent.parentElement, false).cloneNode(true);
114
+ this.paraFocus(startParent.parentElement === this.parent.editableElement ?
115
+ startParent : startParent.parentElement);
116
+ }
117
+ }
118
+ }
119
+ if (e.event.which === 13 && !ej2_base_1.isNullOrUndefined(preElem) && !ej2_base_1.isNullOrUndefined(endPreElem)) {
120
+ e.event.preventDefault();
121
+ this.deleteContent(range);
122
+ this.removeCodeContent(range);
123
+ range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
124
+ var lastEmpty = range.startContainer.childNodes[range.endOffset];
125
+ var lastBeforeBr = range.startContainer.childNodes[range.endOffset - 1];
126
+ var startParent = range.startContainer;
127
+ if (!ej2_base_1.isNullOrUndefined(lastEmpty) && !ej2_base_1.isNullOrUndefined(lastBeforeBr) && ej2_base_1.isNullOrUndefined(lastEmpty.nextSibling) &&
128
+ lastEmpty.nodeName === 'BR' && lastBeforeBr.nodeName === 'BR') {
129
+ this.paraFocus(range.startContainer, e.enterAction);
130
+ }
131
+ else if ((startParent.textContent.charCodeAt(0) === 8203 &&
132
+ startParent.textContent.length === 1) || startParent.textContent.length === 0) {
133
+ while (startParent.parentElement.nodeName !== 'PRE' &&
134
+ (startParent.textContent.length === 1 || startParent.textContent.length === 0)) {
135
+ startParent = startParent.parentElement;
136
+ }
137
+ if (!ej2_base_1.isNullOrUndefined(startParent.previousSibling) && startParent.previousSibling.nodeName === 'BR' &&
138
+ ej2_base_1.isNullOrUndefined(startParent.nextSibling)) {
139
+ this.paraFocus(startParent.parentElement);
140
+ }
141
+ else {
142
+ this.isNotEndCursor(preElem, range);
143
+ }
144
+ }
145
+ else {
146
+ this.isNotEndCursor(preElem, range);
147
+ }
148
+ }
149
+ }
150
+ this.blockquotePrevent = false;
151
+ };
152
+ Formats.prototype.removeCodeContent = function (range) {
153
+ var regEx = new RegExp('\uFEFF', 'g');
154
+ if (!ej2_base_1.isNullOrUndefined(range.endContainer.textContent.match(regEx))) {
155
+ var pointer = range.endContainer.textContent.charCodeAt(range.endOffset - 1) === 65279 ?
156
+ range.endOffset - 2 : range.endOffset;
157
+ range.endContainer.textContent = range.endContainer.textContent.replace(regEx, '');
158
+ if (range.endContainer.textContent === '') {
159
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, range.endContainer.parentElement, 0);
160
+ }
161
+ else {
162
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, range.endContainer, pointer);
163
+ }
164
+ }
165
+ };
166
+ Formats.prototype.deleteContent = function (range) {
167
+ if (range.startContainer !== range.endContainer || range.startOffset !== range.endOffset) {
168
+ range.deleteContents();
169
+ }
170
+ };
171
+ Formats.prototype.paraFocus = function (referNode, enterAction) {
172
+ var insertTag;
173
+ if (enterAction === 'DIV') {
174
+ insertTag = ej2_base_1.createElement('div');
175
+ insertTag.innerHTML = '<br>';
176
+ }
177
+ else if (enterAction === 'BR') {
178
+ insertTag = ej2_base_1.createElement('br');
179
+ }
180
+ else {
181
+ insertTag = ej2_base_1.createElement('p');
182
+ insertTag.innerHTML = '<br>';
183
+ }
184
+ this.parent.domNode.insertAfter(insertTag, referNode);
185
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, insertTag, 0);
186
+ ej2_base_1.detach(referNode.lastChild);
187
+ };
188
+ Formats.prototype.isNotEndCursor = function (preElem, range) {
189
+ var nodeCutter = new nodecutter_1.NodeCutter();
190
+ var isEnd = range.startOffset === preElem.lastChild.textContent.length &&
191
+ preElem.lastChild.textContent === range.startContainer.textContent;
192
+ if (preElem.textContent.indexOf(range.startContainer.textContent) === 0 &&
193
+ ((range.startOffset === 0 && range.endOffset === 0) || range.startContainer.nodeName === 'PRE')) {
194
+ this.insertMarker(preElem, range);
195
+ var brTag = ej2_base_1.createElement('br');
196
+ preElem.childNodes[range.endOffset].parentElement.insertBefore(brTag, preElem.childNodes[range.endOffset]);
197
+ }
198
+ else {
199
+ var cloneNode = nodeCutter.SplitNode(range, preElem, true);
200
+ this.insertMarker(preElem, range);
201
+ var previousSib = preElem.previousElementSibling;
202
+ if (previousSib.tagName === 'PRE') {
203
+ previousSib.insertAdjacentHTML('beforeend', '<br>' + cloneNode.innerHTML);
204
+ ej2_base_1.detach(preElem);
205
+ }
206
+ }
207
+ this.setCursorPosition(isEnd, preElem);
208
+ };
209
+ Formats.prototype.setCursorPosition = function (isEnd, preElem) {
210
+ var isEmpty = false;
211
+ var markerElem = this.parent.editableElement.querySelector('.tempSpan');
212
+ var mrkParentElem = markerElem.parentElement;
213
+ markerElem.parentNode.textContent === '' ? isEmpty = true :
214
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, markerElem, 0);
215
+ if (isEnd) {
216
+ if (isEmpty) {
217
+ if (mrkParentElem === preElem) {
218
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, markerElem, 0);
219
+ ej2_base_1.detach(markerElem);
220
+ }
221
+ else {
222
+ this.focusSelectionParent(markerElem, mrkParentElem);
223
+ }
224
+ }
225
+ else {
226
+ var brElm = ej2_base_1.createElement('br');
227
+ this.parent.domNode.insertAfter(brElm, markerElem);
228
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, markerElem, 0);
229
+ ej2_base_1.detach(markerElem);
230
+ }
231
+ }
232
+ else {
233
+ isEmpty ? this.focusSelectionParent(markerElem, mrkParentElem) : ej2_base_1.detach(markerElem);
234
+ }
235
+ };
236
+ Formats.prototype.focusSelectionParent = function (markerElem, tempSpanPElem) {
237
+ ej2_base_1.detach(markerElem);
238
+ tempSpanPElem.innerHTML = '\u200B';
239
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, tempSpanPElem, 0);
240
+ };
241
+ Formats.prototype.insertMarker = function (preElem, range) {
242
+ var tempSpan = ej2_base_1.createElement('span', { className: 'tempSpan' });
243
+ if (range.startContainer.nodeName === 'PRE') {
244
+ preElem.childNodes[range.endOffset].parentElement.insertBefore(tempSpan, preElem.childNodes[range.endOffset]);
245
+ }
246
+ else {
247
+ range.startContainer.parentElement.insertBefore(tempSpan, range.startContainer);
248
+ }
249
+ };
250
+ Formats.prototype.applyFormats = function (e) {
251
+ var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
252
+ var tableCursor = this.parent.nodeSelection.processedTableImageCursor(range);
253
+ if ((tableCursor.start || tableCursor.end) && e.subCommand.toLowerCase() !== 'blockquote') {
254
+ if (tableCursor.startName === 'TABLE' || tableCursor.endName === 'TABLE') {
255
+ var tableNode = tableCursor.start ? tableCursor.startNode : tableCursor.endNode;
256
+ this.applyTableSidesFormat(e, tableCursor.start, tableNode);
257
+ return;
258
+ }
259
+ }
260
+ var isSelectAll = false;
261
+ if (this.parent.editableElement === range.endContainer &&
262
+ !ej2_base_1.isNullOrUndefined(this.parent.editableElement.children[range.endOffset - 1]) &&
263
+ this.parent.editableElement.children[range.endOffset - 1].tagName === 'TABLE' && !range.collapsed) {
264
+ isSelectAll = true;
265
+ }
266
+ var save = this.parent.nodeSelection.save(range, this.parent.currentDocument);
267
+ this.parent.domNode.setMarker(save);
268
+ var formatsNodes = this.parent.domNode.blockNodes(true);
269
+ if (e.enterAction === 'BR') {
270
+ this.setSelectionBRConfig();
271
+ var allSelectedNode = this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument);
272
+ var selectedNodes = this.parent.nodeSelection.getSelectionNodes(allSelectedNode);
273
+ var currentFormatNodes = [];
274
+ if (selectedNodes.length === 0) {
275
+ selectedNodes.push(formatsNodes[0]);
276
+ }
277
+ for (var i = 0; i < selectedNodes.length; i++) {
278
+ var currentNode = selectedNodes[i];
279
+ var previousCurrentNode = void 0;
280
+ while (!this.parent.domNode.isBlockNode(currentNode) && currentNode !== this.parent.editableElement) {
281
+ previousCurrentNode = currentNode;
282
+ currentNode = currentNode.parentElement;
283
+ }
284
+ if (this.parent.domNode.isBlockNode(currentNode) && currentNode === this.parent.editableElement) {
285
+ currentFormatNodes.push(previousCurrentNode);
286
+ }
287
+ }
288
+ for (var i = 0; i < currentFormatNodes.length; i++) {
289
+ if (!this.parent.domNode.isBlockNode(currentFormatNodes[i])) {
290
+ var currentNode = currentFormatNodes[i];
291
+ var previousNode = currentNode;
292
+ while (currentNode === this.parent.editableElement) {
293
+ previousNode = currentNode;
294
+ currentNode = currentNode.parentElement;
295
+ }
296
+ var tempElem = void 0;
297
+ if (this.parent.domNode.isBlockNode(previousNode.parentElement) &&
298
+ previousNode.parentElement === this.parent.editableElement) {
299
+ tempElem = ej2_base_1.createElement('div');
300
+ previousNode.parentElement.insertBefore(tempElem, previousNode);
301
+ tempElem.appendChild(previousNode);
302
+ if (previousNode.textContent.length === 0) {
303
+ previousNode.appendChild(ej2_base_1.createElement('br'));
304
+ }
305
+ }
306
+ else {
307
+ tempElem = previousNode;
308
+ }
309
+ var preNode = tempElem.previousSibling;
310
+ while (!ej2_base_1.isNullOrUndefined(preNode) && preNode.nodeName !== 'BR' &&
311
+ !this.parent.domNode.isBlockNode(preNode)) {
312
+ tempElem.firstChild.parentElement.insertBefore(preNode, tempElem.firstChild);
313
+ preNode = tempElem.previousSibling;
314
+ }
315
+ if (!ej2_base_1.isNullOrUndefined(preNode) && preNode.nodeName === 'BR') {
316
+ ej2_base_1.detach(preNode);
317
+ }
318
+ var postNode = tempElem.nextSibling;
319
+ while (!ej2_base_1.isNullOrUndefined(postNode) && postNode.nodeName !== 'BR' &&
320
+ !this.parent.domNode.isBlockNode(postNode)) {
321
+ tempElem.appendChild(postNode);
322
+ postNode = tempElem.nextSibling;
323
+ }
324
+ if (!ej2_base_1.isNullOrUndefined(postNode) && postNode.nodeName === 'BR') {
325
+ ej2_base_1.detach(postNode);
326
+ }
327
+ }
328
+ }
329
+ this.setSelectionBRConfig();
330
+ formatsNodes = this.parent.domNode.blockNodes();
331
+ }
332
+ var isWholeBlockquoteNotSelected = false;
333
+ var isPartiallySelected = false;
334
+ for (var i = 0; i < formatsNodes.length; i++) {
335
+ if (ej2_base_1.isNullOrUndefined(ej2_base_1.closest(formatsNodes[0], 'blockquote')) ||
336
+ ej2_base_1.isNullOrUndefined(ej2_base_1.closest(formatsNodes[formatsNodes.length - 1], 'blockquote'))) {
337
+ isPartiallySelected = true;
338
+ }
339
+ }
340
+ var isToggleBlockquote = false;
341
+ for (var i = 0; i < formatsNodes.length; i++) {
342
+ var parentNode = void 0;
343
+ var replaceHTML = void 0;
344
+ if (e.subCommand.toLowerCase() === 'blockquote') {
345
+ parentNode = this.getParentNode(formatsNodes[i]);
346
+ if (e.enterAction === 'BR') {
347
+ replaceHTML = parentNode.innerHTML;
348
+ }
349
+ else {
350
+ if (!ej2_base_1.isNullOrUndefined(ej2_base_1.closest(formatsNodes[i], 'table')) && this.parent.editableElement.contains(ej2_base_1.closest(formatsNodes[i], 'table'))) {
351
+ replaceHTML = !ej2_base_1.isNullOrUndefined(ej2_base_1.closest((formatsNodes[i]), 'blockquote')) ?
352
+ ej2_base_1.closest((formatsNodes[i]), 'blockquote').outerHTML :
353
+ (formatsNodes[i]).outerHTML;
354
+ }
355
+ else {
356
+ replaceHTML = parentNode.outerHTML;
357
+ }
358
+ }
359
+ }
360
+ else {
361
+ parentNode = formatsNodes[i];
362
+ replaceHTML = parentNode.innerHTML;
363
+ }
364
+ if ((e.subCommand.toLowerCase() === 'blockquote' && e.subCommand.toLowerCase() === parentNode.tagName.toLowerCase() && isPartiallySelected) ||
365
+ ((e.subCommand.toLowerCase() === parentNode.tagName.toLowerCase() &&
366
+ (e.subCommand.toLowerCase() !== 'pre' && e.subCommand.toLowerCase() !== 'blockquote' ||
367
+ (!ej2_base_1.isNullOrUndefined(e.exeValue) && e.exeValue.name === 'dropDownSelect'))) ||
368
+ ej2_base_1.isNullOrUndefined(parentNode.parentNode) || (parentNode.tagName === 'TABLE' && e.subCommand.toLowerCase() === 'pre'))) {
369
+ continue;
370
+ }
371
+ this.cleanFormats(parentNode, e.subCommand);
372
+ var replaceNode = (e.subCommand.toLowerCase() === 'pre' && parentNode.tagName.toLowerCase() === 'pre') ?
373
+ 'p' : e.subCommand;
374
+ var isToggleBlockquoteList = e.subCommand.toLowerCase() === parentNode.tagName.toLowerCase() &&
375
+ e.subCommand.toLowerCase() === 'blockquote' && !ej2_base_1.isNullOrUndefined(ej2_base_1.closest(formatsNodes[i], 'li'));
376
+ var ensureNode = parentNode.tagName === 'TABLE' ?
377
+ (!ej2_base_1.isNullOrUndefined(ej2_base_1.closest((formatsNodes[i]), 'blockquote')) ? ej2_base_1.closest((formatsNodes[i]), 'blockquote') : parentNode) : parentNode;
378
+ isToggleBlockquote = (e.subCommand.toLowerCase() === ensureNode.tagName.toLowerCase())
379
+ && e.subCommand.toLowerCase() === 'blockquote';
380
+ var replaceTag = void 0;
381
+ var startNode_1 = this.getNode(formatsNodes[i]);
382
+ var endNode_1 = this.getNode(formatsNodes[formatsNodes.length - 1]);
383
+ var wholeBlockquoteSelected = void 0;
384
+ if (!ej2_base_1.isNullOrUndefined(ej2_base_1.closest((formatsNodes[i]), 'table')) &&
385
+ (!ej2_base_1.isNullOrUndefined(ej2_base_1.closest((formatsNodes[i]), 'td')) || !ej2_base_1.isNullOrUndefined(ej2_base_1.closest((formatsNodes[i]), 'th')))) {
386
+ wholeBlockquoteSelected = this.hasOnlyBlockquotes((ej2_base_1.closest((formatsNodes[i]), 'td') ||
387
+ ej2_base_1.closest((formatsNodes[i]), 'th')));
388
+ }
389
+ else {
390
+ wholeBlockquoteSelected = isToggleBlockquote && parentNode.firstChild === startNode_1 && parentNode.lastChild === endNode_1;
391
+ }
392
+ if (wholeBlockquoteSelected) {
393
+ replaceTag = replaceHTML.replace(/<blockquote[^>]*>|<\/blockquote>/g, '');
394
+ }
395
+ else if (isToggleBlockquoteList) {
396
+ isWholeBlockquoteNotSelected = true;
397
+ if (i === 0) {
398
+ this.createBlockquoteSpan('e-rte-blockquote-close', startNode_1, 'before');
399
+ }
400
+ if (i === formatsNodes.length - 1) {
401
+ this.createBlockquoteSpan('e-rte-blockquote-open', endNode_1, 'after');
402
+ }
403
+ }
404
+ else if (isToggleBlockquote && ej2_base_1.closest(formatsNodes[0], 'blockquote') && ej2_base_1.closest(formatsNodes[formatsNodes.length - 1], 'blockquote')) {
405
+ isWholeBlockquoteNotSelected = true;
406
+ if (i === 0) {
407
+ this.createBlockquoteSpan('e-rte-blockquote-close', formatsNodes[i], 'before');
408
+ }
409
+ if (i === formatsNodes.length - 1) {
410
+ this.createBlockquoteSpan('e-rte-blockquote-open', formatsNodes[i], 'after');
411
+ }
412
+ }
413
+ else {
414
+ replaceTag = this.parent.domNode.createTagString(replaceNode, (e.subCommand.toLowerCase() === 'blockquote' ? null : parentNode), replaceHTML.replace(/>\s+</g, '><'));
415
+ }
416
+ if (parentNode.tagName === 'LI') {
417
+ parentNode.innerHTML = '';
418
+ parentNode.insertAdjacentHTML('beforeend', replaceTag);
419
+ }
420
+ else if (!isWholeBlockquoteNotSelected) {
421
+ var currentTag = ((!ej2_base_1.isNullOrUndefined(ej2_base_1.closest(formatsNodes[i], 'table')) && this.parent.editableElement.contains(ej2_base_1.closest(formatsNodes[i], 'table'))) ?
422
+ (!ej2_base_1.isNullOrUndefined(ej2_base_1.closest((formatsNodes[i]), 'blockquote')) ? ej2_base_1.closest((formatsNodes[i]), 'blockquote') : formatsNodes[i]) : parentNode);
423
+ this.parent.domNode.replaceWith(currentTag, replaceTag);
424
+ }
425
+ }
426
+ if (isWholeBlockquoteNotSelected) {
427
+ var blockquoteElem = this.parent.editableElement.querySelectorAll('.e-rte-blockquote-open, .e-rte-blockquote-close');
428
+ for (var i = 0; i < blockquoteElem.length; i++) {
429
+ var blockquoteNode = blockquoteElem[i].parentElement;
430
+ var blockquoteContent = blockquoteNode.innerHTML;
431
+ blockquoteContent = blockquoteContent.replace(/<span class="e-rte-blockquote-open"><\/span>/g, '<blockquote>');
432
+ blockquoteContent = blockquoteContent.replace(/<span class="e-rte-blockquote-close"><\/span>/g, '</blockquote>');
433
+ if (blockquoteElem[0].parentElement === blockquoteElem[1].parentElement) {
434
+ this.parent.domNode.replaceWith(blockquoteNode, this.parent.domNode.openTagString(blockquoteNode) +
435
+ blockquoteContent.trim() + this.parent.domNode.closeTagString(blockquoteNode));
436
+ break;
437
+ }
438
+ else if (i === blockquoteElem.length - 1 && !ej2_base_1.isNullOrUndefined(blockquoteElem[i]) && !ej2_base_1.isNullOrUndefined(blockquoteElem[i - 1]) &&
439
+ blockquoteElem[i].parentElement !== blockquoteElem[i - 1].parentElement) {
440
+ this.parent.domNode.replaceWith(blockquoteNode, blockquoteContent.trim());
441
+ }
442
+ else {
443
+ this.parent.domNode.replaceWith(blockquoteNode, this.parent.domNode.openTagString(blockquoteNode) +
444
+ blockquoteContent.trim() + this.parent.domNode.closeTagString(blockquoteNode));
445
+ }
446
+ }
447
+ }
448
+ this.preFormatMerge();
449
+ this.blockquotesFormatMerge(e.enterAction);
450
+ var startNode = this.parent.editableElement.querySelector('.' + dom_node_1.markerClassName.startSelection);
451
+ var endNode = this.parent.editableElement.querySelector('.' + dom_node_1.markerClassName.endSelection);
452
+ if (!ej2_base_1.isNullOrUndefined(startNode) && !ej2_base_1.isNullOrUndefined(endNode)) {
453
+ startNode = startNode.lastChild;
454
+ endNode = endNode.lastChild;
455
+ }
456
+ save = this.parent.domNode.saveMarker(save);
457
+ if (util_1.isIDevice()) {
458
+ util_1.setEditFrameFocus(this.parent.editableElement, e.selector);
459
+ }
460
+ if (isSelectAll) {
461
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, startNode, endNode, 0, endNode.textContent.length);
462
+ }
463
+ else if (tableCursor.start && e.subCommand.toLowerCase() === 'blockquote') {
464
+ var focusNode = save.range.startContainer.childNodes[isToggleBlockquote ?
465
+ (save.range.startOffset - 1) : save.range.startOffset];
466
+ if (isToggleBlockquote) {
467
+ var focusNodeParent = focusNode.parentElement;
468
+ var focusIndex = Array.prototype.indexOf.call(focusNodeParent.childNodes, focusNode);
469
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, focusNodeParent, focusNodeParent, focusIndex, focusIndex);
470
+ }
471
+ else {
472
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, focusNode, focusNode, 0, 0);
473
+ }
474
+ }
475
+ else {
476
+ save.restore();
477
+ }
478
+ if (e.callBack) {
479
+ e.callBack({
480
+ requestType: e.subCommand,
481
+ editorMode: 'HTML',
482
+ event: e.event,
483
+ range: this.parent.nodeSelection.getRange(this.parent.currentDocument),
484
+ elements: this.parent.domNode.blockNodes()
485
+ });
486
+ }
487
+ };
488
+ Formats.prototype.hasOnlyBlockquotes = function (currentNode) {
489
+ var blockquoteFound = false;
490
+ for (var i = 0; i < currentNode.childNodes.length; i++) {
491
+ var child = currentNode.childNodes[i];
492
+ if (child.nodeType === Node.TEXT_NODE) {
493
+ var text = child.textContent.replace(/[\u200B\u200C\u200D]/g, '').trim();
494
+ if (text !== '') {
495
+ return false;
496
+ }
497
+ }
498
+ else if (child.nodeType === Node.ELEMENT_NODE) {
499
+ if (child.tagName === 'BLOCKQUOTE') {
500
+ blockquoteFound = true;
501
+ }
502
+ else {
503
+ return false;
504
+ }
505
+ }
506
+ }
507
+ return blockquoteFound;
508
+ };
509
+ Formats.prototype.getNode = function (node) {
510
+ if (node.nodeName === 'BLOCKQUOTE') {
511
+ node = node.firstChild;
512
+ return node;
513
+ }
514
+ for (; node.parentNode && node.parentNode.nodeName !== 'BLOCKQUOTE'; null) {
515
+ node = node.parentNode;
516
+ }
517
+ return node;
518
+ };
519
+ Formats.prototype.createBlockquoteSpan = function (className, node, position) {
520
+ var tempSpanElem = ej2_base_1.createElement('span');
521
+ tempSpanElem.classList.add(className);
522
+ if (position === 'before') {
523
+ node.parentNode.insertBefore(tempSpanElem, node);
524
+ }
525
+ else {
526
+ this.parent.domNode.insertAfter(tempSpanElem, node);
527
+ }
528
+ return tempSpanElem;
529
+ };
530
+ Formats.prototype.setSelectionBRConfig = function () {
531
+ var startElem = this.parent.editableElement.querySelector('.' + dom_node_1.markerClassName.startSelection);
532
+ var endElem = this.parent.editableElement.querySelector('.' + dom_node_1.markerClassName.endSelection);
533
+ if (ej2_base_1.isNullOrUndefined(endElem)) {
534
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, startElem, 0);
535
+ }
536
+ else {
537
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, startElem, endElem, 0, 0);
538
+ }
539
+ };
540
+ Formats.prototype.preFormatMerge = function () {
541
+ var preNodes = this.parent.editableElement.querySelectorAll('PRE');
542
+ if (!ej2_base_1.isNullOrUndefined(preNodes)) {
543
+ for (var i = 0; i < preNodes.length; i++) {
544
+ var previousSib = preNodes[i].previousElementSibling;
545
+ if (!ej2_base_1.isNullOrUndefined(previousSib) && previousSib.tagName === 'PRE') {
546
+ previousSib.insertAdjacentHTML('beforeend', '<br>' + preNodes[i].innerHTML);
547
+ ej2_base_1.detach(preNodes[i]);
548
+ }
549
+ }
550
+ }
551
+ };
552
+ Formats.prototype.blockquotesFormatMerge = function (enterAction) {
553
+ var blockquoteNodes = this.parent.editableElement.querySelectorAll('BLOCKQUOTE');
554
+ if (!ej2_base_1.isNullOrUndefined(blockquoteNodes)) {
555
+ for (var i = 0; i < blockquoteNodes.length; i++) {
556
+ if (blockquoteNodes[i].innerHTML.trim() === '') {
557
+ ej2_base_1.detach(blockquoteNodes[i]);
558
+ }
559
+ var previousSib = blockquoteNodes[i].previousElementSibling;
560
+ if (!ej2_base_1.isNullOrUndefined(previousSib) && previousSib.tagName === 'BLOCKQUOTE') {
561
+ previousSib.insertAdjacentHTML('beforeend', (enterAction === 'BR' ? '<br>' : '') + blockquoteNodes[i].innerHTML);
562
+ ej2_base_1.detach(blockquoteNodes[i]);
563
+ }
564
+ }
565
+ }
566
+ };
567
+ Formats.prototype.cleanFormats = function (element, tagName) {
568
+ var ignoreAttr = ['display', 'font-size', 'margin-top', 'margin-bottom', 'margin-left', 'margin-right', 'font-weight'];
569
+ tagName = tagName.toLowerCase();
570
+ for (var i = 0; i < ignoreAttr.length && (tagName !== 'p' && tagName !== 'blockquote' && tagName !== 'pre'); i++) {
571
+ element.style.removeProperty(ignoreAttr[i]);
572
+ }
573
+ };
574
+ Formats.prototype.applyTableSidesFormat = function (e, start, table) {
575
+ var formatNode = ej2_base_1.createElement(e.subCommand);
576
+ if (!(e.enterAction === 'BR')) {
577
+ formatNode.appendChild(ej2_base_1.createElement('br'));
578
+ }
579
+ table.insertAdjacentElement(start ? 'beforebegin' : 'afterend', formatNode);
580
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, formatNode, 0);
581
+ if (e.callBack) {
582
+ e.callBack({
583
+ requestType: e.subCommand,
584
+ editorMode: 'HTML',
585
+ event: e.event,
586
+ range: this.parent.nodeSelection.getRange(this.parent.currentDocument),
587
+ elements: this.parent.domNode.blockNodes()
588
+ });
589
+ }
590
+ };
591
+ Formats.prototype.destroy = function () {
592
+ this.removeEventListener();
593
+ };
594
+ return Formats;
595
+ }());
596
+ exports.Formats = Formats;
597
+ });
@@ -0,0 +1,48 @@
1
+ import { EditorManager } from './../base/editor-manager';
2
+ import { IHtmlItem } from './../base/interface';
3
+ /**
4
+ * Link internal component
5
+ *
6
+ * @hidden
7
+ * @deprecated
8
+ */
9
+ export declare class ImageCommand {
10
+ private parent;
11
+ /**
12
+ * Constructor for creating the Formats plugin
13
+ *
14
+ * @param {EditorManager} parent - specifies the parent element
15
+ * @hidden
16
+ * @deprecated
17
+ */
18
+ constructor(parent: EditorManager);
19
+ private addEventListener;
20
+ private removeEventListener;
21
+ /**
22
+ * imageCommand method
23
+ *
24
+ * @param {IHtmlItem} e - specifies the element
25
+ * @returns {void}
26
+ * @hidden
27
+ * @deprecated
28
+ */
29
+ imageCommand(e: IHtmlItem): void;
30
+ private createImage;
31
+ private setStyle;
32
+ private calculateStyleValue;
33
+ private insertImageLink;
34
+ private openImageLink;
35
+ private removeImageLink;
36
+ private editImageLink;
37
+ private removeImage;
38
+ private insertAltTextImage;
39
+ private imageDimension;
40
+ private imageCaption;
41
+ private imageJustifyLeft;
42
+ private imageJustifyCenter;
43
+ private imageJustifyRight;
44
+ private imageInline;
45
+ private imageBreak;
46
+ private callBack;
47
+ destroy(): void;
48
+ }