@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,550 @@
1
+ define(["require", "exports", "./../base/constant", "../../selection/selection", "./nodecutter", "./inserthtml", "@syncfusion/ej2-base", "./../../common/constant", "./dom-tree", "./insert-methods", "./isformatted"], function (require, exports, CONSTANT, selection_1, nodecutter_1, inserthtml_1, ej2_base_1, EVENTS, dom_tree_1, insert_methods_1, isformatted_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var LinkCommand = (function () {
5
+ function LinkCommand(parent) {
6
+ this.parent = parent;
7
+ this.drop = this.dragDrop.bind(this);
8
+ this.enter = this.dragEnter.bind(this);
9
+ this.start = this.dragStart.bind(this);
10
+ this.addEventListener();
11
+ }
12
+ LinkCommand.prototype.addEventListener = function () {
13
+ this.parent.observer.on(CONSTANT.LINK, this.linkCommand, this);
14
+ this.parent.observer.on(EVENTS.INTERNAL_DESTROY, this.destroy, this);
15
+ var dropElement = this.parent.editableElement;
16
+ if (dropElement) {
17
+ ej2_base_1.EventHandler.add(dropElement, 'drop', this.drop);
18
+ ej2_base_1.EventHandler.add(dropElement, 'dragenter', this.enter);
19
+ ej2_base_1.EventHandler.add(dropElement, 'dragover', this.start);
20
+ }
21
+ };
22
+ LinkCommand.prototype.removeEventListener = function () {
23
+ this.parent.observer.off(CONSTANT.LINK, this.linkCommand);
24
+ this.parent.observer.off(EVENTS.INTERNAL_DESTROY, this.destroy);
25
+ var dropElement = this.parent.editableElement;
26
+ if (dropElement) {
27
+ ej2_base_1.EventHandler.remove(dropElement, 'drop', this.drop);
28
+ ej2_base_1.EventHandler.remove(dropElement, 'dragenter', this.enter);
29
+ ej2_base_1.EventHandler.remove(dropElement, 'dragover', this.start);
30
+ }
31
+ this.drop = null;
32
+ this.enter = null;
33
+ this.start = null;
34
+ };
35
+ LinkCommand.prototype.linkCommand = function (e) {
36
+ switch (e.value.toString().toLocaleLowerCase()) {
37
+ case 'createlink':
38
+ case 'editlink':
39
+ this.createLink(e);
40
+ break;
41
+ case 'openlink':
42
+ this.openLink(e);
43
+ break;
44
+ case 'removelink':
45
+ this.removeLink(e);
46
+ break;
47
+ }
48
+ };
49
+ LinkCommand.prototype.dragStart = function (event) {
50
+ var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
51
+ if (range) {
52
+ var startContainer = range.startContainer;
53
+ var endContainer = range.endContainer;
54
+ var startAnchor = null;
55
+ var endAnchor = null;
56
+ if (startContainer.nodeType === Node.ELEMENT_NODE) {
57
+ startAnchor = startContainer.closest('a');
58
+ }
59
+ else {
60
+ var parentElement = startContainer.parentElement;
61
+ if (parentElement) {
62
+ startAnchor = parentElement.closest('a');
63
+ }
64
+ }
65
+ if (endContainer.nodeType === Node.ELEMENT_NODE) {
66
+ endAnchor = endContainer.closest('a');
67
+ }
68
+ else {
69
+ var parentElement = endContainer.parentElement;
70
+ if (parentElement) {
71
+ endAnchor = parentElement.closest('a');
72
+ }
73
+ }
74
+ if (event.target.nodeName === 'A' || startAnchor || endAnchor) {
75
+ this.dragSelectionRange = range.cloneRange();
76
+ }
77
+ }
78
+ };
79
+ LinkCommand.prototype.dragEnter = function (event) {
80
+ event.dataTransfer.dropEffect = 'copy';
81
+ event.preventDefault();
82
+ };
83
+ LinkCommand.prototype.dragDrop = function (event) {
84
+ if (this.dragSelectionRange) {
85
+ event.preventDefault();
86
+ var range = void 0;
87
+ if (this.parent.currentDocument.caretRangeFromPoint) {
88
+ range = this.parent.currentDocument.caretRangeFromPoint(event.clientX, event.clientY);
89
+ }
90
+ else if ((event.rangeParent)) {
91
+ range = this.parent.currentDocument.createRange();
92
+ range.setStart(event.rangeParent, event.rangeOffset);
93
+ }
94
+ var html = event.dataTransfer.getData('text/html');
95
+ if (html) {
96
+ var anchorElement = null;
97
+ if (range.startContainer && range.startContainer.nodeType === Node.TEXT_NODE) {
98
+ anchorElement = range.startContainer.parentNode;
99
+ }
100
+ else if (range.startContainer instanceof HTMLAnchorElement) {
101
+ anchorElement = range.startContainer;
102
+ }
103
+ if (!anchorElement) {
104
+ if (range.collapsed) {
105
+ var node = range.startContainer;
106
+ if (node) {
107
+ var parentAnchor = node.closest('a');
108
+ if (parentAnchor) {
109
+ anchorElement = parentAnchor;
110
+ }
111
+ }
112
+ }
113
+ }
114
+ else if (anchorElement && anchorElement.nodeName !== 'A') {
115
+ anchorElement = anchorElement.closest('a');
116
+ }
117
+ if (anchorElement) {
118
+ var tempDiv = ej2_base_1.createElement('div', { innerHTML: html });
119
+ var anchors = tempDiv.querySelectorAll('a');
120
+ anchors.forEach(function (anchor) {
121
+ while (anchor.firstChild) {
122
+ anchor.parentNode.insertBefore(anchor.firstChild, anchor);
123
+ }
124
+ anchor.remove();
125
+ });
126
+ html = tempDiv.innerHTML;
127
+ }
128
+ range.deleteContents();
129
+ var fragment = range.createContextualFragment(html);
130
+ var anchorEle = fragment.querySelectorAll('a');
131
+ anchorEle.forEach(function (anchor) {
132
+ anchor.style.textDecoration = '';
133
+ });
134
+ if (this.dragSelectionRange) {
135
+ this.dragSelectionRange.deleteContents();
136
+ this.normalizeEmptyLinks();
137
+ this.dragSelectionRange = null;
138
+ }
139
+ this.parent.nodeSelection.setRange(this.parent.currentDocument, range);
140
+ inserthtml_1.InsertHtml.Insert(this.parent.currentDocument, fragment, this.parent.editableElement, true);
141
+ if (anchorElement) {
142
+ anchorElement.normalize();
143
+ }
144
+ }
145
+ }
146
+ };
147
+ LinkCommand.prototype.normalizeEmptyLinks = function () {
148
+ if (!this.dragSelectionRange) {
149
+ return;
150
+ }
151
+ var commonAncestor = this.dragSelectionRange.commonAncestorContainer;
152
+ var parentElement = commonAncestor.nodeType === Node.TEXT_NODE
153
+ ? commonAncestor.parentElement
154
+ : commonAncestor;
155
+ if (parentElement && CONSTANT.BLOCK_TAGS.indexOf(parentElement.nodeName.toLocaleLowerCase()) === -1) {
156
+ parentElement = this.parent.domNode.getImmediateBlockNode(parentElement);
157
+ }
158
+ if (parentElement) {
159
+ var emptyLinks = parentElement.querySelectorAll('a:empty');
160
+ emptyLinks.forEach(function (link) {
161
+ if (link.textContent.trim() === '' && !link.querySelector('img') && !link.querySelector('video')) {
162
+ if (link.parentNode) {
163
+ link.parentNode.removeChild(link);
164
+ }
165
+ }
166
+ });
167
+ }
168
+ };
169
+ LinkCommand.prototype.createLink = function (e) {
170
+ var closestAnchor = (!ej2_base_1.isNullOrUndefined(e.item.selectParent) && e.item.selectParent.length === 1) &&
171
+ ej2_base_1.closest(e.item.selectParent[0], 'a');
172
+ closestAnchor = !ej2_base_1.isNullOrUndefined(closestAnchor) ? closestAnchor :
173
+ (!ej2_base_1.isNullOrUndefined(e.item.selectParent) && e.item.selectParent.length === 1) ?
174
+ (e.item.selectParent[0]) : null;
175
+ if (!ej2_base_1.isNullOrUndefined(closestAnchor) && closestAnchor.tagName === 'A') {
176
+ var anchorEle = closestAnchor;
177
+ var linkText = '';
178
+ if (!ej2_base_1.isNullOrUndefined(e.item.url)) {
179
+ anchorEle.setAttribute('href', e.item.url);
180
+ }
181
+ if (!ej2_base_1.isNullOrUndefined(e.item.title)) {
182
+ anchorEle.setAttribute('title', e.item.title);
183
+ }
184
+ if (!ej2_base_1.isNullOrUndefined(e.item.text) && e.item.text !== '') {
185
+ linkText = anchorEle.innerText;
186
+ anchorEle.innerText = e.item.text;
187
+ }
188
+ if (!ej2_base_1.isNullOrUndefined(e.item.target)) {
189
+ anchorEle.setAttribute('target', e.item.target);
190
+ anchorEle.setAttribute('aria-label', e.item.ariaLabel);
191
+ }
192
+ else {
193
+ anchorEle.removeAttribute('target');
194
+ anchorEle.removeAttribute('aria-label');
195
+ }
196
+ if (linkText === e.item.text) {
197
+ e.item.selection.setSelectionText(this.parent.currentDocument, anchorEle, anchorEle, 1, 1);
198
+ e.item.selection.restore();
199
+ }
200
+ else {
201
+ var startIndex = e.item.action === 'Paste' ? anchorEle.childNodes[0].textContent.length : 0;
202
+ var endIndex = anchorEle.firstChild.nodeName === '#text' ? anchorEle.childNodes[0].textContent.length : anchorEle.childNodes.length;
203
+ e.item.selection.setSelectionText(this.parent.currentDocument, anchorEle.childNodes[0], anchorEle.childNodes[0], startIndex, endIndex);
204
+ }
205
+ }
206
+ else {
207
+ var domSelection = new selection_1.NodeSelection(this.parent.editableElement);
208
+ var range = domSelection.getRange(this.parent.currentDocument);
209
+ if (range.endContainer.nodeName === '#text' && range.startContainer.textContent.length === (range.endOffset + 1) &&
210
+ range.endContainer.textContent.charAt(range.endOffset) === ' ' && (!ej2_base_1.isNullOrUndefined(range.endContainer.nextSibling) && range.endContainer.nextSibling.nodeName === 'A')) {
211
+ domSelection.setSelectionText(this.parent.currentDocument, range.startContainer, range.endContainer, range.startOffset, range.endOffset + 1);
212
+ range = domSelection.getRange(this.parent.currentDocument);
213
+ }
214
+ var text = ej2_base_1.isNullOrUndefined(e.item.text) ? true : e.item.text.replace(/ /g, '').localeCompare(range.toString()
215
+ .replace(/\n/g, ' ').replace(/ /g, '')) < 0;
216
+ if (e.event && e.event.type === 'keydown' && (e.event.keyCode === 32
217
+ || e.event.keyCode === 13) || e.item.action === 'Paste' || range.collapsed || text) {
218
+ var anchor = this.createAchorNode(e);
219
+ anchor.innerText = e.item.text === '' ? e.item.url : e.item.text;
220
+ var text_1 = anchor.innerText;
221
+ var modifiedText = text_1.replace(/ +/g, function (match) {
222
+ return '\u00A0'.repeat(match.length);
223
+ });
224
+ anchor.innerText = modifiedText;
225
+ e.item.selection.restore();
226
+ inserthtml_1.InsertHtml.Insert(this.parent.currentDocument, anchor, this.parent.editableElement);
227
+ if (!ej2_base_1.isNullOrUndefined(anchor.parentElement) && anchor.parentElement.nodeName === 'LI') {
228
+ if (!ej2_base_1.isNullOrUndefined(anchor.parentNode.childNodes) && anchor.parentNode.childNodes[0].textContent === '') {
229
+ anchor.parentNode.removeChild(anchor.parentNode.childNodes[0]);
230
+ }
231
+ }
232
+ var regex = /[^\w\s\\/\\.\\:]/g;
233
+ if (e.event && e.event.type === 'keydown' && (e.event.keyCode === 32
234
+ || e.event.keyCode === 13 || regex.test(e.event.key))) {
235
+ var startContainer = e.item.selection.range.startContainer;
236
+ startContainer.textContent = this.removeText(startContainer.textContent, e.item.text);
237
+ }
238
+ else {
239
+ var startIndex = e.item.action === 'Paste' ? anchor.childNodes[0].textContent.length : 0;
240
+ e.item.selection.setSelectionText(this.parent.currentDocument, anchor.childNodes[0], anchor.childNodes[0], startIndex, anchor.childNodes[0].textContent.length);
241
+ }
242
+ }
243
+ else {
244
+ this.handleLinkFormat(e);
245
+ }
246
+ }
247
+ if (e.callBack) {
248
+ e.callBack({
249
+ requestType: 'Links',
250
+ editorMode: 'HTML',
251
+ event: e.event,
252
+ range: this.parent.nodeSelection.getRange(this.parent.currentDocument),
253
+ elements: this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)
254
+ });
255
+ }
256
+ };
257
+ LinkCommand.prototype.createAchorNode = function (e) {
258
+ var anchorEle = ej2_base_1.createElement('a', {
259
+ className: 'e-rte-anchor',
260
+ attrs: {
261
+ href: e.item.url,
262
+ title: ej2_base_1.isNullOrUndefined(e.item.title) || e.item.title === '' ? e.item.url : e.item.title
263
+ }
264
+ });
265
+ if (!ej2_base_1.isNullOrUndefined(e.item.target)) {
266
+ anchorEle.setAttribute('target', e.item.target);
267
+ }
268
+ if (!ej2_base_1.isNullOrUndefined(e.item.ariaLabel)) {
269
+ anchorEle.setAttribute('aria-label', e.item.ariaLabel);
270
+ }
271
+ return anchorEle;
272
+ };
273
+ LinkCommand.prototype.removeText = function (text, val) {
274
+ var arr = text.split(' ');
275
+ for (var i = 0; i < arr.length; i++) {
276
+ if (arr[i] === val) {
277
+ arr.splice(i, 1);
278
+ i--;
279
+ }
280
+ }
281
+ return arr.join(' ') + ' ';
282
+ };
283
+ LinkCommand.prototype.openLink = function (e) {
284
+ document.defaultView.open(e.item.url, e.item.target);
285
+ this.callBack(e);
286
+ };
287
+ LinkCommand.prototype.removeLink = function (e) {
288
+ var blockNodes = this.parent.domNode.blockNodes();
289
+ if (blockNodes.length < 2) {
290
+ this.parent.domNode.setMarker(e.item.selection);
291
+ var closestAnchor = ej2_base_1.closest(e.item.selectParent[0], 'a');
292
+ var selectParent = closestAnchor ? closestAnchor : e.item.selectParent[0];
293
+ var parent_1 = selectParent.parentNode;
294
+ var child = [];
295
+ for (; selectParent.firstChild; null) {
296
+ if (parent_1) {
297
+ child.push(parent_1.insertBefore(selectParent.firstChild, selectParent));
298
+ }
299
+ else {
300
+ break;
301
+ }
302
+ }
303
+ parent_1.removeChild(selectParent);
304
+ if (child && child.length === 1) {
305
+ e.item.selection.startContainer = e.item.selection.getNodeArray(child[child.length - 1], true);
306
+ e.item.selection.endContainer = e.item.selection.startContainer;
307
+ e.item.selection.startOffset = 0;
308
+ e.item.selection.endOffset = child[child.length - 1].textContent.length;
309
+ }
310
+ e.item.selection = this.parent.domNode.saveMarker(e.item.selection);
311
+ }
312
+ else {
313
+ for (var i = 0; i < blockNodes.length; i++) {
314
+ var linkNode = blockNodes[i].querySelectorAll('a');
315
+ for (var j = 0; j < linkNode.length; j++) {
316
+ if (this.parent.currentDocument.getSelection().containsNode(linkNode[j], true)) {
317
+ linkNode[j].outerHTML = linkNode[j].innerHTML;
318
+ }
319
+ }
320
+ }
321
+ }
322
+ e.item.selection.restore();
323
+ this.callBack(e);
324
+ };
325
+ LinkCommand.prototype.callBack = function (e) {
326
+ if (e.callBack) {
327
+ e.callBack({
328
+ requestType: e.item.subCommand,
329
+ editorMode: 'HTML',
330
+ event: e.event,
331
+ range: this.parent.nodeSelection.getRange(this.parent.currentDocument),
332
+ elements: this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)
333
+ });
334
+ }
335
+ };
336
+ LinkCommand.prototype.destroy = function () {
337
+ this.removeEventListener();
338
+ };
339
+ LinkCommand.prototype.handleLinkFormat = function (e) {
340
+ var editableElement = this.parent.editableElement;
341
+ var range = this.parent.nodeSelection.getRange(editableElement.ownerDocument);
342
+ var selection = this.parent.currentDocument.getSelection();
343
+ if (!selection || selection.rangeCount === 0) {
344
+ return;
345
+ }
346
+ var domMethods = new dom_tree_1.DOMMethods(editableElement);
347
+ var blockNodes = e.enterAction === 'BR' ? [this.parent.editableElement] : domMethods.getBlockNode();
348
+ var appliedNodes = [];
349
+ var inlineMediaTags = ['IMG', 'AUDIO', 'VIDEO'];
350
+ var mediaStart;
351
+ var mediaEnd;
352
+ if (range.startContainer.nodeType === 1) {
353
+ var mediaNode = range.startContainer.childNodes[range.startOffset];
354
+ mediaStart = mediaNode && inlineMediaTags.indexOf(mediaNode.nodeName) > -1 ? mediaNode : null;
355
+ }
356
+ if (range.endContainer.nodeType === 1) {
357
+ var mediaNode = range.endContainer.childNodes[range.endContainer.childNodes.length > 1 ?
358
+ range.endOffset - 1 : range.endOffset];
359
+ mediaEnd = mediaNode && inlineMediaTags.indexOf(mediaNode.nodeName) > -1 ? mediaNode : null;
360
+ }
361
+ var staticRange = {
362
+ startContainer: range.startContainer,
363
+ endContainer: range.endContainer,
364
+ endOffset: range.endOffset,
365
+ startOffset: range.startOffset,
366
+ collapsed: range.collapsed
367
+ };
368
+ for (var i = 0; i < blockNodes.length; i++) {
369
+ var currentNode = blockNodes[i];
370
+ this.unwrapLink(currentNode);
371
+ currentNode.normalize();
372
+ this.applyLinkToBlockNode(currentNode, e, appliedNodes);
373
+ }
374
+ if (appliedNodes.length === 0) {
375
+ return;
376
+ }
377
+ if (mediaStart || mediaEnd) {
378
+ var start = mediaStart ? mediaStart.parentElement : staticRange.startContainer;
379
+ var end = mediaEnd ? mediaEnd.parentElement : staticRange.endContainer;
380
+ var startOffset = mediaStart ? 0 : staticRange.startOffset;
381
+ var endOffset = staticRange.endOffset;
382
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, start, end, startOffset, endOffset);
383
+ }
384
+ else {
385
+ if (appliedNodes.length === 1) {
386
+ this.parent.nodeSelection.setSelectionContents(this.parent.currentDocument, appliedNodes[0]);
387
+ }
388
+ else {
389
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, appliedNodes[0], appliedNodes[appliedNodes.length - 1], 0, appliedNodes[appliedNodes.length - 1].textContent.length);
390
+ }
391
+ }
392
+ };
393
+ LinkCommand.prototype.applyLinkToBlockNode = function (blockNode, e, appliedNode) {
394
+ var domMethods = new dom_tree_1.DOMMethods(this.parent.editableElement);
395
+ var textNodes = domMethods.getTextNodes(blockNode);
396
+ var inlineNodes = blockNode.querySelectorAll('*');
397
+ var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
398
+ var complexFormatNodes = [];
399
+ var hasOnlyTextNode = inlineNodes.length === 0;
400
+ for (var i = 0; i < textNodes.length; i++) {
401
+ var splitNode = void 0;
402
+ var currentTextNode = textNodes[i];
403
+ var fontColorNode = new isformatted_1.IsFormatted().getFormattedNode(currentTextNode, 'fontcolor', blockNode);
404
+ if (hasOnlyTextNode) {
405
+ splitNode = this.getSplitNode(currentTextNode, range);
406
+ appliedNode.push(insert_methods_1.InsertMethods.Wrap(splitNode, this.createAchorNode(e)));
407
+ }
408
+ else {
409
+ if (fontColorNode) {
410
+ if (complexFormatNodes.length > 0) {
411
+ this.replaceElementsWithAnchor(complexFormatNodes, this.createAchorNode(e), e.enterAction);
412
+ }
413
+ splitNode = this.getSplitNode(fontColorNode, range);
414
+ if (range.intersectsNode(fontColorNode)) {
415
+ insert_methods_1.InsertMethods.Wrap(fontColorNode.firstChild, this.createAchorNode(e));
416
+ appliedNode.push(currentTextNode);
417
+ }
418
+ }
419
+ else {
420
+ var partialStart = range.startContainer.nodeName === '#text' &&
421
+ range.startContainer === currentTextNode && range.startOffset !== 0;
422
+ var partialEnd = range.endContainer.nodeName === '#text' &&
423
+ range.endContainer === currentTextNode && range.endOffset !== range.startContainer.textContent.length;
424
+ if (i > 0) {
425
+ var currentParent = e.enterAction === 'BR' ? this.parent.editableElement : domMethods.getParentBlockNode(currentTextNode);
426
+ if (currentParent !== blockNode) {
427
+ this.replaceElementsWithAnchor(complexFormatNodes, this.createAchorNode(e), e.enterAction);
428
+ }
429
+ }
430
+ if (partialStart || partialEnd) {
431
+ var topMostFormatNode = domMethods.getTopMostNode(currentTextNode);
432
+ splitNode = this.getSplitNode(topMostFormatNode, range);
433
+ appliedNode.push(currentTextNode);
434
+ complexFormatNodes.push(currentTextNode);
435
+ }
436
+ else {
437
+ appliedNode.push(currentTextNode);
438
+ complexFormatNodes.push(currentTextNode);
439
+ }
440
+ if (i === textNodes.length - 1) {
441
+ this.replaceElementsWithAnchor(complexFormatNodes, this.createAchorNode(e), e.enterAction);
442
+ }
443
+ }
444
+ }
445
+ }
446
+ };
447
+ LinkCommand.prototype.unwrapLink = function (elem) {
448
+ var links = elem.querySelectorAll('a');
449
+ if (links.length === 0) {
450
+ return;
451
+ }
452
+ var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
453
+ var startContainer = range.startContainer;
454
+ var endContainer = range.endContainer;
455
+ var startOffset = range.startOffset;
456
+ var endOffset = range.endOffset;
457
+ this.parent.nodeSelection.save(range, this.parent.currentDocument);
458
+ var selection = this.parent.nodeSelection.get(this.parent.currentDocument);
459
+ for (var i = 0; i < links.length; i++) {
460
+ if (range.intersectsNode(links[i])) {
461
+ if (selection.containsNode(links[i], false)) {
462
+ insert_methods_1.InsertMethods.unwrap(links[i]);
463
+ }
464
+ else {
465
+ var linkText = links[i] && links[i].textContent;
466
+ if (linkText && range.startContainer.textContent &&
467
+ linkText.indexOf(range.startContainer.textContent) !== -1) {
468
+ startOffset = 0;
469
+ }
470
+ var splitNode = this.getSplitNode(links[i], range);
471
+ insert_methods_1.InsertMethods.unwrap(splitNode);
472
+ }
473
+ }
474
+ }
475
+ range.setStart(startContainer, startOffset);
476
+ range.setEnd(endContainer, endOffset);
477
+ };
478
+ LinkCommand.prototype.replaceElementsWithAnchor = function (complexFormatNodes, anchor, enterAction) {
479
+ var domMethods = new dom_tree_1.DOMMethods(this.parent.editableElement);
480
+ var processedNodes = [];
481
+ for (var j = 0; j < complexFormatNodes.length; j++) {
482
+ var currentText = complexFormatNodes[j];
483
+ processedNodes.push(domMethods.getTopMostNode(currentText));
484
+ }
485
+ complexFormatNodes.length = 0;
486
+ var firstNode = processedNodes[0];
487
+ var cloneNode = anchor.cloneNode(true);
488
+ firstNode.parentElement.insertBefore(anchor, firstNode);
489
+ var previousBRAnchor;
490
+ for (var i = 0; i < processedNodes.length; i++) {
491
+ var node = processedNodes[i];
492
+ if (enterAction === 'BR') {
493
+ if (i === 0) {
494
+ anchor.appendChild(node);
495
+ }
496
+ else {
497
+ if (ej2_base_1.isNullOrUndefined(previousBRAnchor)) {
498
+ var anchorElem = cloneNode.cloneNode(true);
499
+ node.parentElement.insertBefore(anchorElem, node);
500
+ anchorElem.appendChild(node);
501
+ previousBRAnchor = anchorElem;
502
+ }
503
+ else {
504
+ var isNextSiblingBlockOrBR = (node.nextSibling && node.nextSibling.nodeName === 'BR') || domMethods.isBlockNode(node.nextSibling);
505
+ var isPrevSiblingBlockOrBR = (node.previousSibling && node.previousSibling.nodeName === 'BR') || domMethods.isBlockNode(node.previousSibling);
506
+ var isLastElement = this.parent.editableElement.lastChild === node;
507
+ var isBlockParent = domMethods.isBlockNode(node.parentElement);
508
+ if (isNextSiblingBlockOrBR && isPrevSiblingBlockOrBR) {
509
+ var anchorElem = cloneNode.cloneNode(true);
510
+ node.parentElement.insertBefore(anchorElem, node);
511
+ anchorElem.appendChild(node);
512
+ previousBRAnchor = anchorElem;
513
+ }
514
+ else if (isLastElement) {
515
+ var anchorElem = cloneNode.cloneNode(true);
516
+ node.parentElement.insertBefore(anchorElem, node);
517
+ anchorElem.appendChild(node);
518
+ }
519
+ else if (isBlockParent) {
520
+ var anchorElem = cloneNode.cloneNode(true);
521
+ node.parentElement.insertBefore(anchorElem, node);
522
+ anchorElem.appendChild(node);
523
+ previousBRAnchor = anchorElem;
524
+ }
525
+ else {
526
+ previousBRAnchor.appendChild(node);
527
+ }
528
+ }
529
+ }
530
+ }
531
+ else {
532
+ anchor.appendChild(node);
533
+ }
534
+ }
535
+ };
536
+ LinkCommand.prototype.getSplitNode = function (node, range) {
537
+ var nodeCutter = new nodecutter_1.NodeCutter();
538
+ var splitNode;
539
+ if (range.collapsed) {
540
+ splitNode = nodeCutter.SplitNode(range, node, true);
541
+ }
542
+ else {
543
+ splitNode = nodeCutter.GetSpliceNode(range, node);
544
+ }
545
+ return splitNode;
546
+ };
547
+ return LinkCommand;
548
+ }());
549
+ exports.LinkCommand = LinkCommand;
550
+ });
@@ -0,0 +1,74 @@
1
+ import { EditorManager } from './../base/editor-manager';
2
+ /**
3
+ * Lists internal component
4
+ *
5
+ * @hidden
6
+ * @deprecated
7
+ */
8
+ export declare class Lists {
9
+ private parent;
10
+ private startContainer;
11
+ private endContainer;
12
+ private saveSelection;
13
+ private domNode;
14
+ private currentAction;
15
+ private commonLIParent;
16
+ private listTabIndentation;
17
+ /**
18
+ * Constructor for creating the Lists plugin
19
+ *
20
+ * @param {EditorManager} parent - specifies the parent element
21
+ * @hidden
22
+ * @deprecated
23
+ */
24
+ constructor(parent: EditorManager);
25
+ private addEventListener;
26
+ private removeEventListener;
27
+ private testList;
28
+ private testCurrentList;
29
+ private createAutoList;
30
+ private isInsideSameListType;
31
+ private spaceList;
32
+ private enterList;
33
+ private applyFormattingFromRange;
34
+ private handleNestedEnterKeyForLists;
35
+ private backspaceList;
36
+ private handleNestedListRearrangement;
37
+ private findPreviousElementForCursor;
38
+ private handleCursorPositioningAfterListRemoval;
39
+ private removeList;
40
+ private onKeyUp;
41
+ private firstListBackSpace;
42
+ private isAtListStart;
43
+ private getFirstTextNode;
44
+ private keyDownHandler;
45
+ private handleListIndentation;
46
+ private isCursorAtStartOfLI;
47
+ private spaceKeyAction;
48
+ private getAction;
49
+ private revertClean;
50
+ private noPreviousElement;
51
+ private nestedList;
52
+ private isCursorBeforeTable;
53
+ private isCursorAtEndOfTable;
54
+ private isListItemWithTableChild;
55
+ private applyListsHandler;
56
+ private setSelectionBRConfig;
57
+ private applyLists;
58
+ private setStyle;
59
+ private removeEmptyListElements;
60
+ private isRevert;
61
+ private checkLists;
62
+ private cleanNode;
63
+ private findUnSelected;
64
+ private revertList;
65
+ private getClosestListParentMargin;
66
+ private openTag;
67
+ private closeTag;
68
+ destroy(): void;
69
+ private areAllListItemsSelected;
70
+ private getListCursorInfo;
71
+ private checkIsNestedList;
72
+ private getListSelectionType;
73
+ private isAllListNodesSelected;
74
+ }