@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,63 @@
1
+ import { IRenderer } from './../base/interface';
2
+ import { ServiceLocator } from './../services/service-locator';
3
+ /**
4
+ * `Link` module is used to handle undo actions.
5
+ */
6
+ export declare class Link {
7
+ private rteID;
8
+ private i10n;
9
+ private parent;
10
+ contentModule: IRenderer;
11
+ private dialogObj;
12
+ private checkBoxObj;
13
+ serviceLocator: ServiceLocator;
14
+ private rendererFactory;
15
+ private quickToolObj;
16
+ private dialogRenderObj;
17
+ private isDestroyed;
18
+ private mouseDown;
19
+ private linkQTPopupTime;
20
+ private constructor();
21
+ protected addEventListener(): void;
22
+ private onToolbarAction;
23
+ protected removeEventListener(): void;
24
+ private onIframeMouseDown;
25
+ private updateCss;
26
+ private setCssClass;
27
+ private showLinkQuickToolbar;
28
+ private showLinkPopup;
29
+ private hideLinkQuickToolbar;
30
+ private editAreaClickHandler;
31
+ private onKeyDown;
32
+ private openDialog;
33
+ private showDialog;
34
+ private closeDialog;
35
+ private clearDialogObj;
36
+ private linkDialog;
37
+ private hasAnchorNodePresent;
38
+ private insertlink;
39
+ private isUrl;
40
+ private handleKeyDown;
41
+ private checkUrl;
42
+ private removeLink;
43
+ private openLink;
44
+ private getAnchorNode;
45
+ private editLink;
46
+ private cancelDialog;
47
+ private onDocumentClick;
48
+ /**
49
+ * Destroys the ToolBar.
50
+ *
51
+ * @function destroy
52
+ * @returns {void}
53
+ * @hidden
54
+ * @deprecated
55
+ */
56
+ destroy(): void;
57
+ /**
58
+ * For internal use only - Get the module name.
59
+ *
60
+ * @returns {void}
61
+ */
62
+ private getModuleName;
63
+ }
@@ -0,0 +1,596 @@
1
+ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "../base/constant", "../base/classes", "@syncfusion/ej2-buttons", "../base/enum", "../base/util", "../../common/util"], function (require, exports, ej2_base_1, ej2_base_2, events, classes_1, ej2_buttons_1, enum_1, util_1, util_2) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var Link = (function () {
5
+ function Link(parent, serviceLocator) {
6
+ this.parent = parent;
7
+ this.rteID = parent.element.id;
8
+ this.i10n = serviceLocator.getService('rteLocale');
9
+ this.addEventListener();
10
+ this.serviceLocator = serviceLocator;
11
+ this.rendererFactory = serviceLocator.getService('rendererFactory');
12
+ this.dialogRenderObj = serviceLocator.getService('dialogRenderObject');
13
+ this.isDestroyed = false;
14
+ this.mouseDown = this.onDocumentClick.bind(this);
15
+ }
16
+ Link.prototype.addEventListener = function () {
17
+ if (this.parent.isDestroyed) {
18
+ return;
19
+ }
20
+ this.parent.on(events.insertLink, this.linkDialog, this);
21
+ this.parent.on(events.showLinkDialog, this.showDialog, this);
22
+ this.parent.on(events.closeLinkDialog, this.closeDialog, this);
23
+ this.parent.on(events.keyDown, this.onKeyDown, this);
24
+ this.parent.on(events.insertCompleted, this.showLinkQuickToolbar, this);
25
+ this.parent.on(events.clearDialogObj, this.clearDialogObj, this);
26
+ this.parent.on(events.linkToolbarAction, this.onToolbarAction, this);
27
+ this.parent.on(events.iframeMouseDown, this.onIframeMouseDown, this);
28
+ this.parent.on(events.unLink, this.removeLink, this);
29
+ this.parent.on(events.editLink, this.editLink, this);
30
+ this.parent.on(events.openLink, this.openLink, this);
31
+ this.parent.on(events.editAreaClick, this.editAreaClickHandler, this);
32
+ this.parent.on(events.bindCssClass, this.setCssClass, this);
33
+ this.parent.on(events.destroy, this.destroy, this);
34
+ };
35
+ Link.prototype.onToolbarAction = function (args) {
36
+ var item = args.args.item;
37
+ switch (item.subCommand) {
38
+ case 'OpenLink':
39
+ this.parent.notify(events.openLink, args);
40
+ break;
41
+ case 'EditLink':
42
+ this.parent.notify(events.editLink, args);
43
+ break;
44
+ case 'RemoveLink':
45
+ this.parent.notify(events.unLink, args);
46
+ break;
47
+ }
48
+ };
49
+ Link.prototype.removeEventListener = function () {
50
+ this.parent.off(events.insertLink, this.linkDialog);
51
+ this.parent.off(events.showLinkDialog, this.showDialog);
52
+ this.parent.off(events.closeLinkDialog, this.closeDialog);
53
+ this.parent.off(events.keyDown, this.onKeyDown);
54
+ this.parent.off(events.insertCompleted, this.showLinkQuickToolbar);
55
+ this.parent.off(events.clearDialogObj, this.clearDialogObj);
56
+ this.parent.off(events.linkToolbarAction, this.onToolbarAction);
57
+ this.parent.off(events.unLink, this.removeLink);
58
+ this.parent.off(events.iframeMouseDown, this.onIframeMouseDown);
59
+ this.parent.off(events.editLink, this.editLink);
60
+ this.parent.off(events.openLink, this.openLink);
61
+ this.parent.off(events.editAreaClick, this.editAreaClickHandler);
62
+ this.parent.off(events.bindCssClass, this.setCssClass);
63
+ this.parent.off(events.destroy, this.destroy);
64
+ if (!ej2_base_1.isNullOrUndefined(this.contentModule)) {
65
+ this.parent.element.ownerDocument.removeEventListener('mousedown', this.mouseDown);
66
+ this.mouseDown = null;
67
+ }
68
+ };
69
+ Link.prototype.onIframeMouseDown = function () {
70
+ if (this.dialogObj) {
71
+ this.dialogObj.hide({ returnValue: true });
72
+ }
73
+ };
74
+ Link.prototype.updateCss = function (currentObj, e) {
75
+ if (currentObj && e.cssClass) {
76
+ if (ej2_base_1.isNullOrUndefined(e.oldCssClass)) {
77
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
78
+ }
79
+ else {
80
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
81
+ }
82
+ }
83
+ };
84
+ Link.prototype.setCssClass = function (e) {
85
+ this.updateCss(this.checkBoxObj, e);
86
+ this.updateCss(this.dialogObj, e);
87
+ };
88
+ Link.prototype.showLinkQuickToolbar = function (e) {
89
+ var _this = this;
90
+ if (!ej2_base_1.isNullOrUndefined(e.args) && e.args.action !== 'enter' &&
91
+ e.args.action !== 'space') {
92
+ var pageX_1;
93
+ var pageY_1;
94
+ if (e.type !== 'Links' || ej2_base_1.isNullOrUndefined(this.parent.quickToolbarModule) ||
95
+ ej2_base_1.isNullOrUndefined(this.parent.quickToolbarModule.linkQTBar)) {
96
+ return;
97
+ }
98
+ this.quickToolObj = this.parent.quickToolbarModule;
99
+ var parentTop = this.parent.element.getBoundingClientRect().top;
100
+ var parentLeft = this.parent.element.getBoundingClientRect().left;
101
+ var range_1 = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
102
+ var target_1;
103
+ [].forEach.call(e.elements, function (element, index) {
104
+ if (index === 0) {
105
+ target_1 = ((element.nodeName === '#text') ? (element.parentNode) : element);
106
+ }
107
+ });
108
+ if (e.isNotify) {
109
+ var tbElement = this.parent.toolbarModule.getToolbarElement();
110
+ var linkTop = target_1.getBoundingClientRect().top;
111
+ var linkLeft = target_1.getBoundingClientRect().left;
112
+ var linkPos = linkTop - parentTop;
113
+ var tbHeight = (tbElement) ? (tbElement.offsetHeight + this.parent.toolbarModule.getExpandTBarPopHeight()) : 0;
114
+ pageX_1 = (this.parent.iframeSettings.enable) ? parentLeft + linkLeft : target_1.getBoundingClientRect().left;
115
+ pageY_1 = window.pageYOffset + ((this.parent.iframeSettings.enable) ?
116
+ (parentTop + tbHeight + linkTop) : (parentTop + linkPos));
117
+ this.linkQTPopupTime = setTimeout(function () {
118
+ _this.showLinkPopup(pageX_1, pageY_1, range_1);
119
+ }, 400);
120
+ }
121
+ else {
122
+ var args = void 0;
123
+ args = e.args.touches ? e.args.changedTouches[0] : args = e.args;
124
+ pageX_1 = (this.parent.iframeSettings.enable) ? window.pageXOffset + parentLeft + args.clientX : args.pageX;
125
+ pageY_1 = (this.parent.iframeSettings.enable) ? window.pageYOffset + parentTop + args.clientY : args.pageY;
126
+ this.showLinkPopup(pageX_1, pageY_1, range_1);
127
+ }
128
+ if (this.quickToolObj.linkQTBar) {
129
+ this.quickToolObj.linkQTBar.showPopup(pageX_1, pageY_1, range_1.endContainer, 'link');
130
+ }
131
+ }
132
+ };
133
+ Link.prototype.showLinkPopup = function (pageX, pageY, range) {
134
+ if (this.quickToolObj.linkQTBar) {
135
+ this.quickToolObj.linkQTBar.showPopup(pageX, pageY, range.endContainer, 'link');
136
+ }
137
+ };
138
+ Link.prototype.hideLinkQuickToolbar = function () {
139
+ if (this.quickToolObj && this.quickToolObj.linkQTBar && document.body.contains(this.quickToolObj.linkQTBar.element)) {
140
+ this.quickToolObj.linkQTBar.hidePopup();
141
+ }
142
+ };
143
+ Link.prototype.editAreaClickHandler = function (e) {
144
+ if (this.parent.readonly) {
145
+ this.hideLinkQuickToolbar();
146
+ return;
147
+ }
148
+ var args = e.args;
149
+ var showOnRightClick = this.parent.quickToolbarSettings.showOnRightClick;
150
+ var ismacRightClick = this.parent.userAgentData.isSafari() && args.which === 3;
151
+ if (args.which === 2 || (showOnRightClick && args.which === 1) || (!showOnRightClick && args.which === 3)) {
152
+ return;
153
+ }
154
+ if (this.parent.editorMode === 'HTML' && this.parent.quickToolbarModule && this.parent.quickToolbarModule.linkQTBar) {
155
+ this.quickToolObj = this.parent.quickToolbarModule;
156
+ var target = args.target;
157
+ target = this.getAnchorNode([target]);
158
+ this.contentModule = this.rendererFactory.getRenderer(enum_1.RenderType.Content);
159
+ var isPopupOpen = this.quickToolObj.linkQTBar.element.classList.contains('e-rte-pop');
160
+ if (target.nodeName === 'A' && (target.childNodes.length > 0 && target.childNodes[0].nodeName !== 'IMG') &&
161
+ e.args.target.nodeName !== 'IMG' &&
162
+ !ej2_base_1.isNullOrUndefined(ej2_base_2.closest(this.parent.getRange().startContainer.parentElement, 'A')) && (!ej2_base_1.isNullOrUndefined(ej2_base_2.closest(this.parent.getRange().endContainer.parentElement, 'A')) || ismacRightClick)) {
163
+ if (isPopupOpen) {
164
+ return;
165
+ }
166
+ if (e.args.ctrlKey === false) {
167
+ this.showLinkQuickToolbar({
168
+ args: args,
169
+ isNotify: false,
170
+ type: 'Links',
171
+ elements: [args.target]
172
+ });
173
+ }
174
+ else {
175
+ var selection = this.parent.formatter.editorManager.nodeSelection;
176
+ var range = selection.getRange(this.parent.contentModule.getDocument());
177
+ var args_1 = {
178
+ args: {
179
+ item: {
180
+ subCommand: 'OpenLink',
181
+ command: 'Links',
182
+ name: ''
183
+ },
184
+ originalEvent: e.args
185
+ },
186
+ selectNode: selection.getNodeCollection(range),
187
+ selectParent: selection.getParentNodeCollection(range),
188
+ selection: selection.save(range, this.parent.contentModule.getDocument())
189
+ };
190
+ this.parent.notify(events.openLink, args_1);
191
+ }
192
+ }
193
+ else {
194
+ this.hideLinkQuickToolbar();
195
+ }
196
+ }
197
+ };
198
+ Link.prototype.onKeyDown = function (event) {
199
+ var originalEvent = event.args;
200
+ switch (originalEvent.action) {
201
+ case 'escape':
202
+ if (!ej2_base_1.isNullOrUndefined(this.dialogObj)) {
203
+ this.dialogObj.close();
204
+ }
205
+ break;
206
+ case 'insert-link':
207
+ this.openDialog(true, event);
208
+ originalEvent.preventDefault();
209
+ break;
210
+ }
211
+ };
212
+ Link.prototype.openDialog = function (isInternal, event) {
213
+ if (!isInternal) {
214
+ this.parent.contentModule.getEditPanel().focus();
215
+ }
216
+ if (this.parent.editorMode === 'HTML') {
217
+ var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
218
+ var save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
219
+ var selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
220
+ var selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
221
+ var eventArgs = {
222
+ args: event ? event.args : {
223
+ item: { command: 'Links', subCommand: 'CreateLink' },
224
+ originalEvent: undefined,
225
+ name: !isInternal ? 'showDialog' : null
226
+ },
227
+ selectNode: selectNodeEle, selection: save, selectParent: selectParentEle
228
+ };
229
+ this.linkDialog(eventArgs);
230
+ }
231
+ else {
232
+ var textArea = this.parent.contentModule.getEditPanel();
233
+ this.parent.formatter.editorManager.markdownSelection.save(textArea.selectionStart, textArea.selectionEnd);
234
+ this.linkDialog({
235
+ args: {
236
+ item: { command: 'Links', subCommand: 'Link' },
237
+ originalEvent: event && event.args
238
+ },
239
+ member: 'link',
240
+ text: this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()),
241
+ module: 'Markdown',
242
+ name: 'insertLink'
243
+ });
244
+ }
245
+ };
246
+ Link.prototype.showDialog = function () {
247
+ this.openDialog(false);
248
+ this.setCssClass({ cssClass: this.parent.getCssClass() });
249
+ };
250
+ Link.prototype.closeDialog = function () {
251
+ if (this.dialogObj) {
252
+ this.dialogObj.hide({ returnValue: true });
253
+ }
254
+ };
255
+ Link.prototype.clearDialogObj = function () {
256
+ if (this.dialogObj) {
257
+ this.dialogObj.destroy();
258
+ ej2_base_1.detach(this.dialogObj.element);
259
+ this.dialogObj = null;
260
+ }
261
+ };
262
+ Link.prototype.linkDialog = function (e, inputDetails) {
263
+ var _this = this;
264
+ if (this.dialogObj) {
265
+ this.dialogObj.hide({ returnValue: true });
266
+ return;
267
+ }
268
+ var selectText = (this.parent.editorMode === 'HTML') ?
269
+ e.selection.getRange(this.parent.contentModule.getDocument()).toString() : e.text;
270
+ if (!ej2_base_1.isNullOrUndefined(inputDetails) && ((!ej2_base_1.isNullOrUndefined(e.selectParent) && e.selectParent.length > 1) ||
271
+ (!ej2_base_1.isNullOrUndefined(e.selectNode) && e.selectNode.length > 1))) {
272
+ inputDetails.text = selectText;
273
+ }
274
+ if (this.parent.editorMode === 'HTML' && (this.hasAnchorNodePresent(e.selectParent) || this.hasAnchorNodePresent(e.selectNode)) &&
275
+ ej2_base_1.isNullOrUndefined(inputDetails)) {
276
+ this.editLink(e);
277
+ return;
278
+ }
279
+ var linkWebAddress = this.i10n.getConstant('linkWebUrl');
280
+ var linkDisplayText = this.i10n.getConstant('linkText');
281
+ var linkTooltip = this.i10n.getConstant('linkTooltipLabel');
282
+ var urlPlace = this.i10n.getConstant('linkurl');
283
+ var textPlace = this.i10n.getConstant('textPlaceholder');
284
+ var title = this.i10n.getConstant('linkTitle');
285
+ var linkDialogEle = this.parent.createElement('div', {
286
+ className: 'e-rte-link-dialog' + this.parent.getCssClass(true), id: this.rteID + '_rtelink'
287
+ });
288
+ this.parent.rootContainer.appendChild(linkDialogEle);
289
+ var linkContent = this.parent.createElement('div', {
290
+ className: 'e-rte-linkcontent' + this.parent.getCssClass(true), id: this.rteID + '_linkContent'
291
+ });
292
+ var htmlTextbox = (this.parent.editorMode === 'HTML') ? '<label>' + linkTooltip +
293
+ '</label></div><div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
294
+ '<input type="text" data-role ="none" spellcheck="false" placeholder = "' + title + '"aria-label="' + this.i10n.getConstant('linkTitle') + '" class="e-input e-rte-linkTitle' + this.parent.getCssClass(true) + '"></div>' +
295
+ '<div class="e-rte-label' + this.parent.getCssClass(true) + '"></div>' + '<div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
296
+ '<input type="checkbox" class="e-rte-linkTarget' + this.parent.getCssClass(true) + '" data-role ="none"></div>' : '';
297
+ var content = '<div class="e-rte-label' + this.parent.getCssClass(true) + '"><label>' + linkWebAddress + '</label></div>' + '<div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
298
+ '<input type="text" data-role ="none" spellcheck="false" placeholder="' + urlPlace + '"aria-label="' + this.i10n.getConstant('linkWebUrl') + '" class="e-input e-rte-linkurl' + this.parent.getCssClass(true) + '"/></div>' +
299
+ '<div class="e-rte-label' + this.parent.getCssClass(true) + '">' + '<label>' + linkDisplayText + '</label></div><div class="e-rte-field' + this.parent.getCssClass(true) + '"> ' +
300
+ '<input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText' + this.parent.getCssClass(true) + '"aria-label="' + this.i10n.getConstant('linkText') + '" placeholder="' + textPlace + '">' +
301
+ '</div><div class="e-rte-label' + this.parent.getCssClass(true) + '">' + htmlTextbox;
302
+ var contentElem = util_1.parseHtml(content);
303
+ linkContent.appendChild(contentElem);
304
+ var linkTarget = linkContent.querySelector('.e-rte-linkTarget');
305
+ var linkUrl = linkContent.querySelector('.e-rte-linkurl');
306
+ var linkText = linkContent.querySelector('.e-rte-linkText');
307
+ var linkTitle = linkContent.querySelector('.e-rte-linkTitle');
308
+ var linkOpenLabel = this.i10n.getConstant('linkOpenInNewWindow');
309
+ this.checkBoxObj = new ej2_buttons_1.CheckBox({ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl,
310
+ cssClass: this.parent.getCssClass() });
311
+ this.checkBoxObj.isStringTemplate = true;
312
+ this.checkBoxObj.createElement = this.parent.createElement;
313
+ this.checkBoxObj.appendTo(linkTarget);
314
+ var linkInsert = this.i10n.getConstant('dialogInsert');
315
+ var linkCancel = this.i10n.getConstant('dialogCancel');
316
+ var selection = e.selection;
317
+ var selectObj = { selfLink: this, selection: e.selection, selectParent: e.selectParent, args: e.args };
318
+ var dialogModel = {
319
+ header: this.i10n.getConstant('linkHeader'),
320
+ content: linkContent,
321
+ cssClass: classes_1.CLS_RTE_ELEMENTS + this.parent.getCssClass(true),
322
+ enableRtl: this.parent.enableRtl,
323
+ locale: this.parent.locale,
324
+ showCloseIcon: true, closeOnEscape: true, width: (ej2_base_2.Browser.isDevice) ? '290px' : '310px',
325
+ isModal: ej2_base_2.Browser.isDevice,
326
+ buttons: [{
327
+ click: this.insertlink.bind(selectObj),
328
+ buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink' + this.parent.getCssClass(true), isPrimary: true }
329
+ },
330
+ { click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat' + this.parent.getCssClass(true), content: linkCancel } }],
331
+ target: (ej2_base_2.Browser.isDevice) ? document.body : this.parent.element,
332
+ animationSettings: { effect: 'None' },
333
+ close: function (event) {
334
+ _this.parent.isBlur = false;
335
+ if (event && event.event.returnValue) {
336
+ if (_this.parent.editorMode === 'HTML') {
337
+ selection.restore();
338
+ }
339
+ else {
340
+ _this.parent.formatter.editorManager.markdownSelection.restore(_this.parent.contentModule.getEditPanel());
341
+ }
342
+ }
343
+ if ((_this.dialogObj.element && _this.dialogObj.element.querySelector('.e-rte-linkurl') && _this.dialogObj.element.querySelector('.e-rte-linkurl') !== null)) {
344
+ ej2_base_1.EventHandler.remove(_this.dialogObj.element.querySelector('.e-rte-linkurl'), 'input', _this.handleKeyDown);
345
+ }
346
+ _this.dialogObj.destroy();
347
+ ej2_base_1.detach(_this.dialogObj.element);
348
+ var args = _this.dialogObj;
349
+ _this.dialogRenderObj.close(args);
350
+ _this.dialogObj = null;
351
+ }
352
+ };
353
+ this.dialogObj = this.dialogRenderObj.render(dialogModel);
354
+ this.dialogObj.createElement = this.parent.createElement;
355
+ this.dialogObj.appendTo(linkDialogEle);
356
+ linkDialogEle.style.maxHeight = 'inherit';
357
+ if (ej2_base_1.isNullOrUndefined(this.dialogObj)) {
358
+ return;
359
+ }
360
+ if (!ej2_base_1.isNullOrUndefined(inputDetails)) {
361
+ linkUrl.value = inputDetails.url;
362
+ linkText.value = inputDetails.text;
363
+ linkTitle.value = inputDetails.title;
364
+ (inputDetails.target) ? this.checkBoxObj.checked = true : this.checkBoxObj.checked = false;
365
+ this.dialogObj.header = inputDetails.header;
366
+ this.dialogObj.element.querySelector('.e-insertLink').textContent = inputDetails.btnText;
367
+ }
368
+ this.checkUrl(false);
369
+ if ((this.parent.editorMode === 'HTML' && ej2_base_1.isNullOrUndefined(inputDetails) && ((!ej2_base_1.isNullOrUndefined(selectText)
370
+ && selectText !== '') && (e.selection.range.startOffset === 0) || e.selection.range.startOffset !==
371
+ e.selection.range.endOffset)) || e.module === 'Markdown') {
372
+ linkText.value = selectText;
373
+ }
374
+ this.parent.element.ownerDocument.addEventListener('mousedown', this.mouseDown);
375
+ if (this.quickToolObj) {
376
+ this.hideLinkQuickToolbar();
377
+ if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
378
+ this.quickToolObj.inlineQTBar.hidePopup();
379
+ }
380
+ if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
381
+ this.quickToolObj.textQTBar.hidePopup();
382
+ }
383
+ }
384
+ };
385
+ Link.prototype.hasAnchorNodePresent = function (elements) {
386
+ return !ej2_base_1.isNullOrUndefined(elements) && elements.length > 0 &&
387
+ elements.some(function (element) { return element && ej2_base_2.closest(element, 'a') !== null; });
388
+ };
389
+ Link.prototype.insertlink = function (e) {
390
+ var linkEle = this.selfLink.dialogObj.element;
391
+ var linkUrl = linkEle.querySelector('.e-rte-linkurl').value.trim();
392
+ var linkText = linkEle.querySelector('.e-rte-linkText').value;
393
+ var linkTitle;
394
+ if (this.selfLink.parent.editorMode === 'HTML') {
395
+ linkTitle = linkEle.querySelector('.e-rte-linkTitle').value;
396
+ }
397
+ var target = (this.selfLink.checkBoxObj.checked) ? '_blank' : null;
398
+ var linkLabel = (this.selfLink.checkBoxObj.checked) ? this.selfLink.i10n.getConstant('linkAriaLabel') : null;
399
+ if (this.selfLink.parent.editorMode === 'Markdown' && linkUrl === '') {
400
+ linkUrl = 'https://';
401
+ }
402
+ if (linkUrl === '') {
403
+ this.selfLink.checkUrl(true);
404
+ return;
405
+ }
406
+ if (this.selfLink.parent.editorMode === 'Markdown') {
407
+ linkText = (linkText.trim() !== '') ? linkText : '';
408
+ }
409
+ else {
410
+ linkText = (linkText.trim() === '') ? linkUrl : linkText;
411
+ }
412
+ if (!this.selfLink.isUrl(linkUrl)) {
413
+ if (!this.selfLink.parent.enableAutoUrl) {
414
+ linkUrl = linkUrl.indexOf('https') > -1 ? linkUrl : 'https://' + linkUrl;
415
+ }
416
+ else {
417
+ linkUrl = linkUrl;
418
+ }
419
+ }
420
+ else {
421
+ this.selfLink.checkUrl(false);
422
+ }
423
+ var proxy = this.selfLink;
424
+ if (proxy.parent.editorMode === 'HTML' && ej2_base_1.isNullOrUndefined(ej2_base_2.closest(this.selection.range.startContainer.parentNode, '[id='
425
+ + "'" + proxy.parent.contentModule.getPanel().id + "'" + ']'))) {
426
+ proxy.parent.contentModule.getEditPanel().focus();
427
+ if (ej2_base_2.Browser.isIE && proxy.parent.iframeSettings.enable) {
428
+ this.selection.restore();
429
+ }
430
+ var range = proxy.parent.formatter.editorManager.nodeSelection.getRange(proxy.parent.contentModule.getDocument());
431
+ this.selection = proxy.parent.formatter.editorManager.nodeSelection.save(range, proxy.parent.contentModule.getDocument());
432
+ this.selectParent = proxy.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
433
+ }
434
+ var value = {
435
+ url: linkUrl, text: linkText, title: linkTitle, target: target, ariaLabel: linkLabel,
436
+ selection: this.selection, selectParent: this.selectParent
437
+ };
438
+ if (document.body.contains(proxy.dialogObj.element)) {
439
+ this.selfLink.dialogObj.hide({ returnValue: false });
440
+ }
441
+ if (this.selfLink.dialogObj !== null) {
442
+ return;
443
+ }
444
+ if (util_2.isIDevice() && proxy.parent.iframeSettings.enable) {
445
+ ej2_base_1.select('iframe', proxy.parent.element).contentWindow.focus();
446
+ }
447
+ if (proxy.parent.editorMode === 'HTML') {
448
+ this.selection.restore();
449
+ }
450
+ if (proxy.parent.formatter.getUndoRedoStack().length === 0) {
451
+ proxy.parent.formatter.saveData();
452
+ }
453
+ var argsValue;
454
+ if (!ej2_base_1.isNullOrUndefined(this.args) &&
455
+ this.args.code === 'KeyK') {
456
+ var originalEvent = this.args;
457
+ ej2_base_1.extend(this.args, { item: { command: 'Links', subCommand: 'CreateLink' }, originalEvent: originalEvent }, true);
458
+ var argsVal = {
459
+ item: { command: 'Links', subCommand: 'CreateLink' }, originalEvent: originalEvent
460
+ };
461
+ argsValue = argsVal;
462
+ }
463
+ else {
464
+ argsValue = this.args;
465
+ }
466
+ this.selfLink.parent.formatter.process(this.selfLink.parent, argsValue, (!ej2_base_1.isNullOrUndefined(this.args) &&
467
+ this.args.originalEvent), value);
468
+ this.selfLink.parent.contentModule.getEditPanel().focus();
469
+ };
470
+ Link.prototype.isUrl = function (url) {
471
+ var regExp = RegExp;
472
+ var regexp = new regExp('(ftp|http|https)://(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(/|/([\\w#!:.?+=&%@\\-\\/]))?', 'gi');
473
+ return regexp.test(url);
474
+ };
475
+ Link.prototype.handleKeyDown = function () {
476
+ var linkelem = this.parent.element.querySelector('#' + this.rteID + '_rtelink_dialog-content');
477
+ var linkUrl = linkelem.querySelector('.e-rte-linkurl');
478
+ if (linkUrl.classList.contains('e-error') && (linkUrl.value.length >= 1 && linkUrl.value.trim() !== ' ')) {
479
+ ej2_base_2.removeClass([linkUrl], 'e-error');
480
+ }
481
+ };
482
+ Link.prototype.checkUrl = function (e) {
483
+ var linkEle = this.dialogObj.element;
484
+ var linkUrl = linkEle.querySelector('.e-rte-linkurl');
485
+ if (e) {
486
+ ej2_base_2.addClass([linkUrl], 'e-error');
487
+ linkUrl.setSelectionRange(0, linkUrl.value.length);
488
+ linkUrl.focus();
489
+ ej2_base_1.EventHandler.add(linkUrl, 'input', this.handleKeyDown, this);
490
+ }
491
+ else {
492
+ ej2_base_2.removeClass([linkUrl], 'e-error');
493
+ ej2_base_1.EventHandler.remove(linkUrl, 'input', this.handleKeyDown);
494
+ }
495
+ };
496
+ Link.prototype.removeLink = function (e) {
497
+ if (this.parent.formatter.getUndoRedoStack().length === 0) {
498
+ this.parent.formatter.saveData();
499
+ }
500
+ var selectParentEle = this.getAnchorNode(e.selectParent);
501
+ this.parent.formatter.process(this.parent, e.args, e.args, {
502
+ selectNode: e.selectNode, selectParent: e.selectParent, selection: e.selection,
503
+ text: selectParentEle.innerText,
504
+ subCommand: e.args.item.subCommand
505
+ });
506
+ if (util_2.isIDevice() && this.parent.iframeSettings.enable) {
507
+ ej2_base_1.select('iframe', this.parent.element).contentWindow.focus();
508
+ }
509
+ else {
510
+ this.parent.contentModule.getEditPanel().focus();
511
+ }
512
+ this.hideLinkQuickToolbar();
513
+ };
514
+ Link.prototype.openLink = function (e) {
515
+ var selectParentEle = this.getAnchorNode(e.selectParent);
516
+ if (selectParentEle.classList.contains('e-rte-anchor') || selectParentEle.tagName === 'A') {
517
+ var sanitizedHTML = this.parent.htmlEditorModule.sanitizeHelper(selectParentEle.outerHTML);
518
+ var tempEle = document.createElement('div');
519
+ tempEle.innerHTML = sanitizedHTML;
520
+ this.parent.formatter.process(this.parent, e.args, e.args, {
521
+ url: tempEle.firstChild.href, text: selectParentEle.innerText,
522
+ target: selectParentEle.target === '' ? '_self' : '_blank', selectNode: e.selectNode,
523
+ subCommand: e.args.item.subCommand
524
+ });
525
+ tempEle.remove();
526
+ }
527
+ };
528
+ Link.prototype.getAnchorNode = function (elements) {
529
+ for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
530
+ var element = elements_1[_i];
531
+ var anchorElement = ej2_base_2.closest(element, 'a');
532
+ if (anchorElement) {
533
+ return anchorElement;
534
+ }
535
+ }
536
+ return elements[0];
537
+ };
538
+ Link.prototype.editLink = function (e) {
539
+ var selectedNode = this.getAnchorNode(e.selectNode);
540
+ var selectParentEle = this.getAnchorNode(e.selectParent);
541
+ selectParentEle = selectedNode.nodeName === 'A' ? selectedNode : selectParentEle;
542
+ if (selectParentEle.classList.contains('e-rte-anchor') || selectParentEle.tagName === 'A') {
543
+ var linkUpdate = this.i10n.getConstant('dialogUpdate');
544
+ var inputDetails = {
545
+ url: selectParentEle.getAttribute('href'), text: selectParentEle.innerText,
546
+ title: selectParentEle.title, target: selectParentEle.target,
547
+ header: this.i10n.getConstant('editLink'), btnText: linkUpdate
548
+ };
549
+ this.linkDialog(e, inputDetails);
550
+ }
551
+ };
552
+ Link.prototype.cancelDialog = function (e) {
553
+ this.selfLink.parent.isBlur = false;
554
+ this.selfLink.dialogObj.hide({ returnValue: true });
555
+ if (util_2.isIDevice()) {
556
+ this.selection.restore();
557
+ }
558
+ else {
559
+ var x = window.scrollX;
560
+ var y = window.scrollY;
561
+ this.selfLink.parent.contentModule.getEditPanel().focus();
562
+ window.scrollTo(x, y);
563
+ }
564
+ };
565
+ Link.prototype.onDocumentClick = function (e) {
566
+ var target = e.target;
567
+ if (!ej2_base_1.isNullOrUndefined(this.dialogObj) && ((!ej2_base_2.closest(target, '[id=' + "'" + this.dialogObj.element.id + "'" + ']') && this.parent.toolbarSettings.enable &&
568
+ this.parent.getToolbarElement() && !this.parent.getToolbarElement().contains(e.target)) ||
569
+ (((this.parent.getToolbarElement() && this.parent.getToolbarElement().contains(e.target)) ||
570
+ this.parent.inlineMode.enable && !ej2_base_2.closest(target, '#' + this.dialogObj.element.id)) &&
571
+ !ej2_base_2.closest(target, '#' + this.parent.getID() + '_toolbar_CreateLink') &&
572
+ !target.querySelector('#' + this.parent.getID() + '_toolbar_CreateLink')))) {
573
+ this.parent.notify(events.documentClickClosedBy, { closedBy: 'outside click' });
574
+ this.dialogObj.hide({ returnValue: true });
575
+ this.parent.isBlur = true;
576
+ util_1.dispatchEvent(this.parent.element, 'focusout');
577
+ }
578
+ };
579
+ Link.prototype.destroy = function () {
580
+ if (this.isDestroyed) {
581
+ return;
582
+ }
583
+ if (!ej2_base_1.isNullOrUndefined(this.linkQTPopupTime)) {
584
+ clearTimeout(this.linkQTPopupTime);
585
+ this.linkQTPopupTime = null;
586
+ }
587
+ this.removeEventListener();
588
+ this.isDestroyed = true;
589
+ };
590
+ Link.prototype.getModuleName = function () {
591
+ return 'link';
592
+ };
593
+ return Link;
594
+ }());
595
+ exports.Link = Link;
596
+ });