@syncfusion/ej2-richtexteditor 24.1.41 → 24.1.43-569781

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 (269) hide show
  1. package/.eslintrc.json +259 -259
  2. package/CHANGELOG.md +1927 -1775
  3. package/README.md +76 -76
  4. package/dist/ej2-richtexteditor.umd.min.js +1 -10
  5. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es2015.js +2601 -1077
  7. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  8. package/dist/es6/ej2-richtexteditor.es5.js +2706 -1181
  9. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  10. package/helpers/e2e/index.js +3 -3
  11. package/helpers/e2e/rte-helper.js +13 -13
  12. package/license +9 -9
  13. package/package.json +74 -74
  14. package/src/common/config.d.ts +7 -0
  15. package/src/common/config.js +11 -0
  16. package/src/common/constant.d.ts +6 -0
  17. package/src/common/constant.js +6 -0
  18. package/src/common/interface.d.ts +19 -7
  19. package/src/common/types.d.ts +6 -0
  20. package/src/common/util.d.ts +6 -0
  21. package/src/common/util.js +61 -20
  22. package/src/editor-manager/base/classes.d.ts +1 -1
  23. package/src/editor-manager/base/classes.js +1 -1
  24. package/src/editor-manager/base/constant.d.ts +6 -0
  25. package/src/editor-manager/base/constant.js +6 -0
  26. package/src/editor-manager/base/editor-manager.d.ts +8 -3
  27. package/src/editor-manager/base/editor-manager.js +62 -3
  28. package/src/editor-manager/base/enum.d.ts +2 -2
  29. package/src/editor-manager/base/interface.d.ts +17 -9
  30. package/src/editor-manager/base/types.d.ts +1 -1
  31. package/src/editor-manager/plugin/alignments.d.ts +2 -2
  32. package/src/editor-manager/plugin/alignments.js +2 -2
  33. package/src/editor-manager/plugin/audio.d.ts +3 -3
  34. package/src/editor-manager/plugin/audio.js +3 -3
  35. package/src/editor-manager/plugin/clearformat-exec.d.ts +2 -2
  36. package/src/editor-manager/plugin/clearformat-exec.js +2 -2
  37. package/src/editor-manager/plugin/clearformat.d.ts +1 -1
  38. package/src/editor-manager/plugin/clearformat.js +1 -1
  39. package/src/editor-manager/plugin/dom-node.d.ts +39 -35
  40. package/src/editor-manager/plugin/dom-node.js +203 -49
  41. package/src/editor-manager/plugin/format-painter-actions.d.ts +2 -1
  42. package/src/editor-manager/plugin/format-painter-actions.js +20 -2
  43. package/src/editor-manager/plugin/formats.d.ts +3 -2
  44. package/src/editor-manager/plugin/formats.js +40 -5
  45. package/src/editor-manager/plugin/image.d.ts +3 -3
  46. package/src/editor-manager/plugin/image.js +15 -19
  47. package/src/editor-manager/plugin/indents.d.ts +2 -2
  48. package/src/editor-manager/plugin/indents.js +2 -2
  49. package/src/editor-manager/plugin/insert-methods.d.ts +4 -4
  50. package/src/editor-manager/plugin/insert-methods.js +4 -4
  51. package/src/editor-manager/plugin/insert-text.d.ts +2 -2
  52. package/src/editor-manager/plugin/insert-text.js +2 -2
  53. package/src/editor-manager/plugin/inserthtml-exec.d.ts +2 -2
  54. package/src/editor-manager/plugin/inserthtml-exec.js +2 -2
  55. package/src/editor-manager/plugin/inserthtml.d.ts +3 -2
  56. package/src/editor-manager/plugin/inserthtml.js +64 -7
  57. package/src/editor-manager/plugin/isformatted.d.ts +8 -8
  58. package/src/editor-manager/plugin/isformatted.js +8 -8
  59. package/src/editor-manager/plugin/link.d.ts +2 -2
  60. package/src/editor-manager/plugin/link.js +6 -3
  61. package/src/editor-manager/plugin/lists.d.ts +2 -2
  62. package/src/editor-manager/plugin/lists.js +123 -67
  63. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +4 -1
  64. package/src/editor-manager/plugin/ms-word-clean-up.js +213 -86
  65. package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
  66. package/src/editor-manager/plugin/nodecutter.js +8 -8
  67. package/src/editor-manager/plugin/selection-commands.d.ts +2 -1
  68. package/src/editor-manager/plugin/selection-commands.js +127 -4
  69. package/src/editor-manager/plugin/selection-exec.d.ts +2 -2
  70. package/src/editor-manager/plugin/selection-exec.js +2 -2
  71. package/src/editor-manager/plugin/table.d.ts +2 -3
  72. package/src/editor-manager/plugin/table.js +35 -32
  73. package/src/editor-manager/plugin/toolbar-status.d.ts +4 -4
  74. package/src/editor-manager/plugin/toolbar-status.js +22 -12
  75. package/src/editor-manager/plugin/undo.d.ts +7 -6
  76. package/src/editor-manager/plugin/undo.js +27 -7
  77. package/src/editor-manager/plugin/video.d.ts +3 -3
  78. package/src/editor-manager/plugin/video.js +3 -3
  79. package/src/markdown-parser/base/interface.d.ts +10 -10
  80. package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
  81. package/src/markdown-parser/base/markdown-parser.js +3 -3
  82. package/src/markdown-parser/base/types.d.ts +1 -1
  83. package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
  84. package/src/markdown-parser/plugin/clearformat.js +2 -2
  85. package/src/markdown-parser/plugin/formats.d.ts +2 -2
  86. package/src/markdown-parser/plugin/formats.js +2 -2
  87. package/src/markdown-parser/plugin/insert-text.d.ts +2 -2
  88. package/src/markdown-parser/plugin/insert-text.js +2 -2
  89. package/src/markdown-parser/plugin/link.d.ts +2 -2
  90. package/src/markdown-parser/plugin/link.js +2 -2
  91. package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
  92. package/src/markdown-parser/plugin/markdown-selection.js +14 -14
  93. package/src/markdown-parser/plugin/md-selection-formats.d.ts +1 -1
  94. package/src/markdown-parser/plugin/md-selection-formats.js +1 -1
  95. package/src/markdown-parser/plugin/table.d.ts +3 -3
  96. package/src/markdown-parser/plugin/table.js +3 -3
  97. package/src/markdown-parser/plugin/undo.d.ts +6 -6
  98. package/src/markdown-parser/plugin/undo.js +6 -6
  99. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +12 -12
  100. package/src/rich-text-editor/actions/base-quick-toolbar.js +57 -20
  101. package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
  102. package/src/rich-text-editor/actions/base-toolbar.js +35 -37
  103. package/src/rich-text-editor/actions/color-picker.d.ts +3 -2
  104. package/src/rich-text-editor/actions/color-picker.js +12 -2
  105. package/src/rich-text-editor/actions/count.d.ts +3 -3
  106. package/src/rich-text-editor/actions/count.js +4 -4
  107. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -2
  108. package/src/rich-text-editor/actions/dropdown-buttons.js +23 -4
  109. package/src/rich-text-editor/actions/emoji-picker.d.ts +1 -1
  110. package/src/rich-text-editor/actions/emoji-picker.js +4 -4
  111. package/src/rich-text-editor/actions/enter-key.js +4 -3
  112. package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
  113. package/src/rich-text-editor/actions/full-screen.js +6 -5
  114. package/src/rich-text-editor/actions/html-editor.d.ts +5 -5
  115. package/src/rich-text-editor/actions/html-editor.js +129 -45
  116. package/src/rich-text-editor/actions/keyboard-model.d.ts +16 -16
  117. package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
  118. package/src/rich-text-editor/actions/keyboard.js +23 -21
  119. package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
  120. package/src/rich-text-editor/actions/markdown-editor.js +5 -3
  121. package/src/rich-text-editor/actions/paste-clean-up.d.ts +4 -1
  122. package/src/rich-text-editor/actions/paste-clean-up.js +87 -12
  123. package/src/rich-text-editor/actions/quick-toolbar.d.ts +16 -9
  124. package/src/rich-text-editor/actions/quick-toolbar.js +33 -18
  125. package/src/rich-text-editor/actions/resize.js +2 -1
  126. package/src/rich-text-editor/actions/toolbar-action.js +1 -1
  127. package/src/rich-text-editor/actions/toolbar.d.ts +15 -16
  128. package/src/rich-text-editor/actions/toolbar.js +31 -100
  129. package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -1
  130. package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
  131. package/src/rich-text-editor/base/classes.d.ts +121 -126
  132. package/src/rich-text-editor/base/classes.js +121 -126
  133. package/src/rich-text-editor/base/constant.d.ts +190 -150
  134. package/src/rich-text-editor/base/constant.js +359 -150
  135. package/src/rich-text-editor/base/enum.d.ts +1 -1
  136. package/src/rich-text-editor/base/enum.js +1 -1
  137. package/src/rich-text-editor/base/interface.d.ts +87 -53
  138. package/src/rich-text-editor/base/interface.js +1 -1
  139. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +891 -891
  140. package/src/rich-text-editor/base/rich-text-editor.d.ts +68 -65
  141. package/src/rich-text-editor/base/rich-text-editor.js +232 -199
  142. package/src/rich-text-editor/base/util.d.ts +5 -1
  143. package/src/rich-text-editor/base/util.js +47 -4
  144. package/src/rich-text-editor/formatter/formatter.d.ts +8 -8
  145. package/src/rich-text-editor/formatter/formatter.js +23 -12
  146. package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
  147. package/src/rich-text-editor/formatter/html-formatter.js +15 -15
  148. package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
  149. package/src/rich-text-editor/formatter/markdown-formatter.js +15 -15
  150. package/src/rich-text-editor/models/default-locale.js +30 -26
  151. package/src/rich-text-editor/models/iframe-settings-model.d.ts +26 -26
  152. package/src/rich-text-editor/models/iframe-settings.js +19 -19
  153. package/src/rich-text-editor/models/inline-mode-model.d.ts +11 -11
  154. package/src/rich-text-editor/models/inline-mode.js +19 -19
  155. package/src/rich-text-editor/models/items.js +2 -2
  156. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +760 -760
  157. package/src/rich-text-editor/models/toolbar-settings.d.ts +1 -1
  158. package/src/rich-text-editor/models/toolbar-settings.js +20 -20
  159. package/src/rich-text-editor/renderer/audio-module.d.ts +2 -1
  160. package/src/rich-text-editor/renderer/audio-module.js +14 -1
  161. package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
  162. package/src/rich-text-editor/renderer/content-renderer.js +6 -6
  163. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +4 -2
  164. package/src/rich-text-editor/renderer/dialog-renderer.js +14 -3
  165. package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
  166. package/src/rich-text-editor/renderer/iframe-content-renderer.js +19 -18
  167. package/src/rich-text-editor/renderer/image-module.d.ts +10 -2
  168. package/src/rich-text-editor/renderer/image-module.js +200 -168
  169. package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
  170. package/src/rich-text-editor/renderer/link-module.js +11 -2
  171. package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
  172. package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
  173. package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
  174. package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
  175. package/src/rich-text-editor/renderer/render.d.ts +2 -2
  176. package/src/rich-text-editor/renderer/render.js +2 -2
  177. package/src/rich-text-editor/renderer/table-module.d.ts +9 -2
  178. package/src/rich-text-editor/renderer/table-module.js +289 -137
  179. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +13 -9
  180. package/src/rich-text-editor/renderer/toolbar-renderer.js +103 -24
  181. package/src/rich-text-editor/renderer/video-module.d.ts +4 -1
  182. package/src/rich-text-editor/renderer/video-module.js +62 -35
  183. package/src/rich-text-editor/renderer/view-source.d.ts +7 -6
  184. package/src/rich-text-editor/renderer/view-source.js +18 -10
  185. package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
  186. package/src/rich-text-editor/services/renderer-factory.js +3 -3
  187. package/src/rich-text-editor/services/service-locator.d.ts +3 -3
  188. package/src/rich-text-editor/services/service-locator.js +3 -3
  189. package/src/selection/selection.d.ts +22 -22
  190. package/src/selection/selection.js +25 -22
  191. package/styles/_all.scss +1 -1
  192. package/styles/bootstrap-dark.css +153 -49
  193. package/styles/bootstrap.css +158 -57
  194. package/styles/bootstrap4.css +145 -45
  195. package/styles/bootstrap5-dark.css +150 -45
  196. package/styles/bootstrap5.css +150 -45
  197. package/styles/fabric-dark.css +139 -39
  198. package/styles/fabric.css +140 -40
  199. package/styles/fluent-dark.css +147 -41
  200. package/styles/fluent.css +147 -41
  201. package/styles/highcontrast-light.css +139 -39
  202. package/styles/highcontrast.css +143 -40
  203. package/styles/material-dark.css +143 -39
  204. package/styles/material.css +143 -39
  205. package/styles/material3-dark.css +155 -49
  206. package/styles/material3-dark.scss +1 -1
  207. package/styles/material3.css +155 -49
  208. package/styles/material3.scss +1 -1
  209. package/styles/rich-text-editor/_all.scss +2 -2
  210. package/styles/rich-text-editor/_bds-definition.scss +279 -0
  211. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +281 -277
  212. package/styles/rich-text-editor/_bootstrap-definition.scss +337 -334
  213. package/styles/rich-text-editor/_bootstrap4-definition.scss +464 -460
  214. package/styles/rich-text-editor/_bootstrap5-definition.scss +266 -262
  215. package/styles/rich-text-editor/_fabric-dark-definition.scss +263 -259
  216. package/styles/rich-text-editor/_fabric-definition.scss +261 -257
  217. package/styles/rich-text-editor/_fluent-definition.scss +267 -263
  218. package/styles/rich-text-editor/_fusionnew-definition.scss +265 -261
  219. package/styles/rich-text-editor/_highcontrast-definition.scss +261 -257
  220. package/styles/rich-text-editor/_highcontrast-light-definition.scss +261 -257
  221. package/styles/rich-text-editor/_layout.scss +2249 -2147
  222. package/styles/rich-text-editor/_material-dark-definition.scss +266 -262
  223. package/styles/rich-text-editor/_material-definition.scss +264 -260
  224. package/styles/rich-text-editor/_material3-definition.scss +266 -262
  225. package/styles/rich-text-editor/_tailwind-definition.scss +261 -257
  226. package/styles/rich-text-editor/_theme.scss +906 -837
  227. package/styles/rich-text-editor/bootstrap-dark.css +153 -49
  228. package/styles/rich-text-editor/bootstrap.css +158 -57
  229. package/styles/rich-text-editor/bootstrap4.css +145 -45
  230. package/styles/rich-text-editor/bootstrap5-dark.css +150 -45
  231. package/styles/rich-text-editor/bootstrap5.css +150 -45
  232. package/styles/rich-text-editor/fabric-dark.css +139 -39
  233. package/styles/rich-text-editor/fabric.css +140 -40
  234. package/styles/rich-text-editor/fluent-dark.css +147 -41
  235. package/styles/rich-text-editor/fluent.css +147 -41
  236. package/styles/rich-text-editor/highcontrast-light.css +139 -39
  237. package/styles/rich-text-editor/highcontrast.css +143 -40
  238. package/styles/rich-text-editor/icons/_bds.scss +348 -0
  239. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +349 -349
  240. package/styles/rich-text-editor/icons/_bootstrap.scss +349 -349
  241. package/styles/rich-text-editor/icons/_bootstrap4.scss +349 -349
  242. package/styles/rich-text-editor/icons/_bootstrap5.scss +348 -348
  243. package/styles/rich-text-editor/icons/_fabric-dark.scss +349 -349
  244. package/styles/rich-text-editor/icons/_fabric.scss +349 -349
  245. package/styles/rich-text-editor/icons/_fluent.scss +348 -348
  246. package/styles/rich-text-editor/icons/_fusionnew.scss +348 -348
  247. package/styles/rich-text-editor/icons/_highcontrast-light.scss +349 -349
  248. package/styles/rich-text-editor/icons/_highcontrast.scss +349 -349
  249. package/styles/rich-text-editor/icons/_material-dark.scss +349 -349
  250. package/styles/rich-text-editor/icons/_material.scss +349 -349
  251. package/styles/rich-text-editor/icons/_material3.scss +348 -348
  252. package/styles/rich-text-editor/icons/_tailwind.scss +348 -348
  253. package/styles/rich-text-editor/material-dark.css +143 -39
  254. package/styles/rich-text-editor/material.css +143 -39
  255. package/styles/rich-text-editor/material3-dark.css +155 -49
  256. package/styles/rich-text-editor/material3-dark.scss +1 -1
  257. package/styles/rich-text-editor/material3.css +155 -49
  258. package/styles/rich-text-editor/material3.scss +1 -1
  259. package/styles/rich-text-editor/tailwind-dark.css +194 -66
  260. package/styles/rich-text-editor/tailwind.css +194 -66
  261. package/styles/tailwind-dark.css +194 -66
  262. package/styles/tailwind.css +194 -66
  263. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  264. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
  265. package/dist/ej2-richtexteditor.min.js +0 -10
  266. package/dist/global/ej2-richtexteditor.min.js +0 -11
  267. package/dist/global/ej2-richtexteditor.min.js.map +0 -1
  268. package/dist/global/index.d.ts +0 -14
  269. package/tslint.json +0 -111
@@ -6,7 +6,7 @@ import { ServiceLocator } from '../services/service-locator';
6
6
  * `Toolbar renderer` module is used to render toolbar in RichTextEditor.
7
7
  *
8
8
  * @hidden
9
-
9
+ * @deprecated
10
10
  */
11
11
  export declare class ToolbarRenderer implements IRenderer {
12
12
  private mode;
@@ -21,6 +21,8 @@ export declare class ToolbarRenderer implements IRenderer {
21
21
  private currentDropdown;
22
22
  private tooltip;
23
23
  private l10n;
24
+ private dropdownTooltip;
25
+ private tooltipTargetEle;
24
26
  /**
25
27
  * Constructor for toolbar renderer module
26
28
  *
@@ -45,7 +47,7 @@ export declare class ToolbarRenderer implements IRenderer {
45
47
  * @param {IToolbarOptions} args - specifies the arguments.
46
48
  * @returns {void}
47
49
  * @hidden
48
-
50
+ * @deprecated
49
51
  */
50
52
  renderToolbar(args: IToolbarOptions): void;
51
53
  /**
@@ -54,16 +56,18 @@ export declare class ToolbarRenderer implements IRenderer {
54
56
  * @param {IDropDownModel} args - specifies the the arguments.
55
57
  * @returns {void}
56
58
  * @hidden
57
-
59
+ * @deprecated
58
60
  */
59
61
  renderDropDownButton(args: IDropDownModel): DropDownButton;
62
+ private mouseOutHandler;
63
+ private closeTooltip;
60
64
  /**
61
65
  * renderListDropDown method
62
66
  *
63
67
  * @param {IDropDownModel} args - specifies the the arguments.
64
68
  * @returns {void}
65
69
  * @hidden
66
-
70
+ * @deprecated
67
71
  */
68
72
  renderListDropDown(args: IDropDownModel): DropDownButton;
69
73
  private paletteSelection;
@@ -76,7 +80,7 @@ export declare class ToolbarRenderer implements IRenderer {
76
80
  * @param {string} defaultColor -specifies the defaultColor.
77
81
  * @returns {void}
78
82
  * @hidden
79
-
83
+ * @deprecated
80
84
  */
81
85
  renderColorPickerDropDown(args: IColorPickerModel, item: string, colorPicker: ColorPicker, defaultColor: string): DropDownButton;
82
86
  private pickerRefresh;
@@ -88,7 +92,7 @@ export declare class ToolbarRenderer implements IRenderer {
88
92
  * @param {string} item - specifies the string values
89
93
  * @returns {void}
90
94
  * @hidden
91
-
95
+ * @deprecated
92
96
  */
93
97
  renderColorPicker(args: IColorPickerModel, item: string): ColorPicker;
94
98
  /**
@@ -96,7 +100,7 @@ export declare class ToolbarRenderer implements IRenderer {
96
100
  *
97
101
  * @returns {void}
98
102
  * @hidden
99
-
103
+ * @deprecated
100
104
  */
101
105
  renderPanel(): void;
102
106
  /**
@@ -104,7 +108,7 @@ export declare class ToolbarRenderer implements IRenderer {
104
108
  *
105
109
  * @returns {Element} - specifies the element.
106
110
  * @hidden
107
-
111
+ * @deprecated
108
112
  */
109
113
  getPanel(): Element;
110
114
  /**
@@ -113,7 +117,7 @@ export declare class ToolbarRenderer implements IRenderer {
113
117
  * @returns {void}
114
118
  * @param {Element} panel - specifies the element.
115
119
  * @hidden
116
-
120
+ * @deprecated
117
121
  */
118
122
  setPanel(panel: Element): void;
119
123
  }
@@ -1,4 +1,4 @@
1
- import { addClass, Browser, removeClass, formatUnit, isNullOrUndefined, isNullOrUndefined as isNOU } from '@syncfusion/ej2-base';
1
+ import { addClass, Browser, removeClass, formatUnit, isNullOrUndefined, isNullOrUndefined as isNOU, EventHandler } from '@syncfusion/ej2-base';
2
2
  import { getInstance, closest, selectAll } from '@syncfusion/ej2-base';
3
3
  import { Toolbar } from '@syncfusion/ej2-navigations';
4
4
  import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
@@ -12,7 +12,7 @@ import { hasClass } from '../base/util';
12
12
  * `Toolbar renderer` module is used to render toolbar in RichTextEditor.
13
13
  *
14
14
  * @hidden
15
-
15
+ * @deprecated
16
16
  */
17
17
  var ToolbarRenderer = /** @class */ (function () {
18
18
  /**
@@ -31,6 +31,7 @@ var ToolbarRenderer = /** @class */ (function () {
31
31
  ToolbarRenderer.prototype.wireEvent = function () {
32
32
  this.parent.on(events.destroy, this.unWireEvent, this);
33
33
  this.parent.on(events.destroyTooltip, this.destroyTooltip, this);
34
+ this.parent.on(events.closeTooltip, this.closeTooltip, this);
34
35
  };
35
36
  ToolbarRenderer.prototype.destroyTooltip = function () {
36
37
  var currentDocument = this.parent.iframeSettings.enable ? this.parent.contentModule.getPanel().ownerDocument :
@@ -43,6 +44,8 @@ var ToolbarRenderer = /** @class */ (function () {
43
44
  };
44
45
  ToolbarRenderer.prototype.unWireEvent = function () {
45
46
  this.parent.off(events.destroy, this.unWireEvent);
47
+ this.parent.off(events.destroyTooltip, this.destroyTooltip);
48
+ this.parent.off(events.closeTooltip, this.closeTooltip);
46
49
  };
47
50
  ToolbarRenderer.prototype.toolbarBeforeCreate = function (e) {
48
51
  if (this.mode === 'Extended') {
@@ -63,6 +66,7 @@ var ToolbarRenderer = /** @class */ (function () {
63
66
  };
64
67
  ToolbarRenderer.prototype.dropDownSelected = function (args) {
65
68
  this.parent.notify(events.dropDownSelect, args);
69
+ this.destroyTooltip();
66
70
  };
67
71
  ToolbarRenderer.prototype.beforeDropDownItemRender = function (args) {
68
72
  if (this.parent.readonly || !this.parent.enabled) {
@@ -90,15 +94,36 @@ var ToolbarRenderer = /** @class */ (function () {
90
94
  if (args.element.parentElement.getAttribute('id').indexOf('TableCell') > -1 && !isNOU(args.element.parentElement.querySelector('.e-cell-merge')) &&
91
95
  (!isNOU(args.element.parentElement.querySelector('.e-cell-horizontal-split')) || !isNOU(args.element.parentElement.querySelector('.e-cell-vertical-split')))) {
92
96
  var listEle = args.element.querySelectorAll('li');
93
- if (this.parent.inputElement.querySelectorAll('.e-cell-select').length === 1) {
97
+ var selectedEles_1 = this.parent.inputElement.querySelectorAll('.e-cell-select');
98
+ if (selectedEles_1.length === 1) {
94
99
  addClass([listEle[0]], 'e-disabled');
95
100
  removeClass([listEle[1], listEle[2]], 'e-disabled');
96
101
  }
97
- else if (this.parent.inputElement.querySelectorAll('.e-cell-select').length > 1) {
98
- removeClass([listEle[0]], 'e-disabled');
102
+ else if (selectedEles_1.length > 1) {
103
+ if (!Array.from(selectedEles_1).every(function (element) {
104
+ return element.tagName.toLowerCase() === selectedEles_1[0].tagName.toLowerCase();
105
+ })) {
106
+ addClass([listEle[0]], 'e-disabled');
107
+ }
108
+ else {
109
+ removeClass([listEle[0]], 'e-disabled');
110
+ }
99
111
  addClass([listEle[1], listEle[2]], 'e-disabled');
100
112
  }
101
113
  }
114
+ if (this.parent.showTooltip) {
115
+ this.dropdownTooltip = new Tooltip({
116
+ target: '[aria-owns="' + this.parent.getID() + '"].e-rte-elements [title]',
117
+ showTipPointer: true,
118
+ openDelay: 400,
119
+ opensOn: 'Hover',
120
+ beforeRender: this.tooltipBeforeRender.bind(this),
121
+ cssClass: this.parent.getCssClass(),
122
+ windowCollision: true,
123
+ position: 'BottomCenter'
124
+ });
125
+ this.dropdownTooltip.appendTo(args.element);
126
+ }
102
127
  this.parent.notify(events.selectionSave, args);
103
128
  };
104
129
  ToolbarRenderer.prototype.dropDownClose = function (args) {
@@ -110,7 +135,7 @@ var ToolbarRenderer = /** @class */ (function () {
110
135
  * @param {IToolbarOptions} args - specifies the arguments.
111
136
  * @returns {void}
112
137
  * @hidden
113
-
138
+ * @deprecated
114
139
  */
115
140
  ToolbarRenderer.prototype.renderToolbar = function (args) {
116
141
  this.setPanel(args.target);
@@ -141,7 +166,7 @@ var ToolbarRenderer = /** @class */ (function () {
141
166
  windowCollision: true,
142
167
  position: 'BottomCenter'
143
168
  });
144
- this.tooltip.appendTo(args.target);
169
+ this.tooltip.appendTo(args.target.parentElement);
145
170
  }
146
171
  };
147
172
  /**
@@ -150,7 +175,7 @@ var ToolbarRenderer = /** @class */ (function () {
150
175
  * @param {IDropDownModel} args - specifies the the arguments.
151
176
  * @returns {void}
152
177
  * @hidden
153
-
178
+ * @deprecated
154
179
  */
155
180
  ToolbarRenderer.prototype.renderDropDownButton = function (args) {
156
181
  var _this = this;
@@ -243,7 +268,7 @@ var ToolbarRenderer = /** @class */ (function () {
243
268
  }
244
269
  }
245
270
  //Formats preselect
246
- if (args.items[0].command === 'Formats') {
271
+ if (args.items[0].command === 'Formats' || args.items[0].command === 'Font') {
247
272
  for (var index = 0; index < args.element.childNodes.length; index++) {
248
273
  var divNode = _this.parent.createElement('div');
249
274
  divNode.innerHTML = dropDown.content.trim();
@@ -273,15 +298,42 @@ var ToolbarRenderer = /** @class */ (function () {
273
298
  popupElement.setAttribute('aria-owns', this.parent.getID());
274
299
  return dropDown;
275
300
  };
301
+ ToolbarRenderer.prototype.mouseOutHandler = function () {
302
+ if (!isNOU(this.tooltipTargetEle)) {
303
+ this.tooltipTargetEle.setAttribute('title', this.tooltipTargetEle.getAttribute('data-title'));
304
+ }
305
+ else {
306
+ var currentDocument = this.parent.iframeSettings.enable ? this.parent.contentModule.getPanel().ownerDocument :
307
+ this.parent.contentModule.getDocument();
308
+ this.tooltipTargetEle = currentDocument.querySelector('[data-title]');
309
+ this.tooltipTargetEle.setAttribute('title', this.tooltipTargetEle.getAttribute('data-title'));
310
+ }
311
+ this.tooltipTargetEle.removeAttribute('data-title');
312
+ EventHandler.remove(this.tooltipTargetEle, 'mouseout', this.mouseOutHandler);
313
+ };
314
+ ToolbarRenderer.prototype.closeTooltip = function (args) {
315
+ var currentDocument = this.parent.iframeSettings.enable ? this.parent.contentModule.getPanel().ownerDocument :
316
+ this.parent.contentModule.getDocument();
317
+ this.tooltipTargetEle = closest(args.target, '[data-tooltip-id]');
318
+ if (!isNOU(this.tooltipTargetEle) && this.parent.showTooltip && !isNOU(currentDocument.querySelector('.e-tooltip-wrap'))) {
319
+ this.destroyTooltip();
320
+ if (!this.tooltipTargetEle.closest('.e-rte-quick-popup')) {
321
+ this.tooltipTargetEle.setAttribute('data-title', this.tooltipTargetEle.getAttribute('title'));
322
+ this.tooltipTargetEle.removeAttribute('title');
323
+ EventHandler.add(this.tooltipTargetEle, 'mouseout', this.mouseOutHandler, this);
324
+ }
325
+ }
326
+ };
276
327
  /**
277
328
  * renderListDropDown method
278
329
  *
279
330
  * @param {IDropDownModel} args - specifies the the arguments.
280
331
  * @returns {void}
281
332
  * @hidden
282
-
333
+ * @deprecated
283
334
  */
284
335
  ToolbarRenderer.prototype.renderListDropDown = function (args) {
336
+ var _this = this;
285
337
  // eslint-disable-next-line
286
338
  var proxy = this;
287
339
  var css = CLS_RTE_ELEMENTS + ' ' + CLS_TB_BTN + ((this.parent.inlineMode) ? (' ' + CLS_INLINE_DROPDOWN) : '');
@@ -297,6 +349,35 @@ var ToolbarRenderer = /** @class */ (function () {
297
349
  enableRtl: this.parent.enableRtl,
298
350
  select: this.dropDownSelected.bind(this),
299
351
  beforeOpen: function (args) {
352
+ if (proxy.parent.editorMode !== 'Markdown') {
353
+ var startNode = proxy.parent.getRange().startContainer.parentElement;
354
+ var listElem = startNode.closest('LI');
355
+ var currentLiElem = !isNOU(listElem) ? listElem.parentElement : null;
356
+ if (!isNOU(currentLiElem) && (currentLiElem.nodeName === 'OL' || currentLiElem.nodeName === 'UL')) {
357
+ if (currentLiElem.nodeName === 'UL' && args.items[0].subCommand === 'NumberFormatList') {
358
+ addClass([args.element.childNodes[0]], 'e-active');
359
+ }
360
+ else if (currentLiElem.nodeName === 'OL' && args.items[0].subCommand === 'BulletFormatList') {
361
+ addClass([args.element.childNodes[0]], 'e-active');
362
+ }
363
+ else {
364
+ var currentListStyle = currentLiElem.style.listStyleType.split('-').join('').toLocaleLowerCase();
365
+ currentListStyle = currentListStyle === 'decimal' ? 'number' : currentListStyle;
366
+ for (var index = 0; index < args.element.childNodes.length; index++) {
367
+ if (currentListStyle === args.element.childNodes[index].innerHTML.split(' ').join('').toLocaleLowerCase()) {
368
+ addClass([args.element.childNodes[index]], 'e-active');
369
+ }
370
+ else if (currentListStyle === '') {
371
+ addClass([args.element.childNodes[index]], 'e-active');
372
+ }
373
+ }
374
+ }
375
+ }
376
+ else {
377
+ addClass([args.element.childNodes[0]], 'e-active');
378
+ }
379
+ }
380
+ _this.closeTooltip({ target: args.event.target });
300
381
  if (proxy.parent.readonly || !proxy.parent.enabled) {
301
382
  args.cancel = true;
302
383
  return;
@@ -356,7 +437,7 @@ var ToolbarRenderer = /** @class */ (function () {
356
437
  * @param {string} defaultColor -specifies the defaultColor.
357
438
  * @returns {void}
358
439
  * @hidden
359
-
440
+ * @deprecated
360
441
  */
361
442
  ToolbarRenderer.prototype.renderColorPickerDropDown = function (args, item, colorPicker, defaultColor) {
362
443
  var _this = this;
@@ -376,8 +457,6 @@ var ToolbarRenderer = /** @class */ (function () {
376
457
  target: colorPicker.element.parentElement, cssClass: css,
377
458
  enablePersistence: this.parent.enablePersistence, enableRtl: this.parent.enableRtl,
378
459
  beforeOpen: function (dropDownArgs) {
379
- colorPicker.inline = true;
380
- colorPicker.dataBind();
381
460
  if (proxy.parent.readonly || !proxy.parent.enabled) {
382
461
  dropDownArgs.cancel = true;
383
462
  return;
@@ -506,7 +585,7 @@ var ToolbarRenderer = /** @class */ (function () {
506
585
  * @param {string} item - specifies the string values
507
586
  * @returns {void}
508
587
  * @hidden
509
-
588
+ * @deprecated
510
589
  */
511
590
  ToolbarRenderer.prototype.renderColorPicker = function (args, item) {
512
591
  var _this = this;
@@ -516,14 +595,18 @@ var ToolbarRenderer = /** @class */ (function () {
516
595
  var colorPicker = new ColorPicker({
517
596
  enablePersistence: this.parent.enablePersistence,
518
597
  enableRtl: this.parent.enableRtl,
519
- inline: false,
520
- value: '#fff',
598
+ inline: true,
599
+ value: null,
600
+ cssClass: ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass + ' ' + 'e-rte-picker-init',
521
601
  created: function () {
522
602
  var value = (item === 'backgroundcolor') ? proxy.parent.backgroundColor.default : proxy.parent.fontColor.default;
523
- colorPicker.setProperties({ value: value });
603
+ colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
604
+ colorPicker.value = value;
524
605
  },
525
606
  mode: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.mode : proxy.parent.fontColor.mode),
526
607
  modeSwitcher: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.modeSwitcher : proxy.parent.fontColor.modeSwitcher),
608
+ presetColors: (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode : this.parent.fontColor.colorCode,
609
+ columns: (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns,
527
610
  beforeTileRender: function (args) {
528
611
  args.element.classList.add(CLS_COLOR_PALETTE);
529
612
  args.element.classList.add(CLS_CUSTOM_TILE);
@@ -568,10 +651,6 @@ var ToolbarRenderer = /** @class */ (function () {
568
651
  }
569
652
  });
570
653
  colorPicker.isStringTemplate = true;
571
- colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
572
- colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
573
- this.parent.fontColor.colorCode;
574
- colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
575
654
  colorPicker.createElement = this.parent.createElement;
576
655
  colorPicker.appendTo(document.getElementById(args.target));
577
656
  return colorPicker;
@@ -581,7 +660,7 @@ var ToolbarRenderer = /** @class */ (function () {
581
660
  *
582
661
  * @returns {void}
583
662
  * @hidden
584
-
663
+ * @deprecated
585
664
  */
586
665
  ToolbarRenderer.prototype.renderPanel = function () {
587
666
  this.getPanel().classList.add(CLS_TOOLBAR);
@@ -591,7 +670,7 @@ var ToolbarRenderer = /** @class */ (function () {
591
670
  *
592
671
  * @returns {Element} - specifies the element.
593
672
  * @hidden
594
-
673
+ * @deprecated
595
674
  */
596
675
  ToolbarRenderer.prototype.getPanel = function () {
597
676
  return this.toolbarPanel;
@@ -602,7 +681,7 @@ var ToolbarRenderer = /** @class */ (function () {
602
681
  * @returns {void}
603
682
  * @param {Element} panel - specifies the element.
604
683
  * @hidden
605
-
684
+ * @deprecated
606
685
  */
607
686
  ToolbarRenderer.prototype.setPanel = function (panel) {
608
687
  this.toolbarPanel = panel;
@@ -23,6 +23,7 @@ export declare class Video {
23
23
  private isAllowedTypes;
24
24
  private pageX;
25
25
  private pageY;
26
+ private mouseX;
26
27
  private dialogRenderObj;
27
28
  private deletedVid;
28
29
  private changedWidthValue;
@@ -51,6 +52,7 @@ export declare class Video {
51
52
  private vidResizePos;
52
53
  private calcPos;
53
54
  private setAspectRatio;
55
+ private updateVidEleWidth;
54
56
  private pixToPerc;
55
57
  private vidDupMouseMove;
56
58
  private resizing;
@@ -59,6 +61,7 @@ export declare class Video {
59
61
  private resizeBtnInit;
60
62
  private onToolbarAction;
61
63
  private onKeyDown;
64
+ private handleSelectAll;
62
65
  private openDialog;
63
66
  private showDialog;
64
67
  private closeDialog;
@@ -92,7 +95,7 @@ export declare class Video {
92
95
  * @method destroy
93
96
  * @returns {void}
94
97
  * @hidden
95
-
98
+ * @deprecated
96
99
  */
97
100
  destroy(): void;
98
101
  /**
@@ -13,6 +13,7 @@ var Video = /** @class */ (function () {
13
13
  this.isAllowedTypes = true;
14
14
  this.pageX = null;
15
15
  this.pageY = null;
16
+ this.mouseX = null;
16
17
  this.deletedVid = [];
17
18
  this.parent = parent;
18
19
  this.rteID = parent.element.id;
@@ -143,7 +144,7 @@ var Video = /** @class */ (function () {
143
144
  var dialogContent = this.vidsizeInput(e);
144
145
  var selectObj_1 = { args: e.args, selfVideo: this, selection: e.selection, selectNode: e.selectNode };
145
146
  this.dialogObj.setProperties({
146
- height: 'inherit', width: '290px', header: vidSizeHeader, content: dialogContent,
147
+ width: '290px', header: vidSizeHeader, content: dialogContent,
147
148
  buttons: [{
148
149
  // eslint-disable-next-line
149
150
  click: function (e) {
@@ -412,62 +413,50 @@ var Video = /** @class */ (function () {
412
413
  if (isNullOrUndefined(vidEleStyle)) {
413
414
  return;
414
415
  }
415
- // eslint-disable-next-line
416
+ /* eslint-disable */
416
417
  var width = vidEleStyle.width !== '' ? vidEleStyle.width.match(/^\d+(\.\d*)?%$/g) ? parseFloat(vidEleStyle.width) :
417
418
  parseInt(vidEleStyle.width, 10) : vid.style.width !== '' ? vid.style.width : vid.width;
418
419
  var height = vidEleStyle.height !== '' ? parseInt(vidEleStyle.height, 10) : vid.style.height !== '' ? vid.style.height : vid.height;
420
+ width = width.toString().match(/\b\d+(\.\d*)?(%|$)\b/g) ? parseFloat(width.toString()) : parseInt(width.toString(), 10);
421
+ height = height.toString().match(/\b\d+(\.\d*)?(%|$)\b/g) ? parseFloat(height.toString()) : parseInt(height.toString(), 10);
422
+ /* eslint-enable */
419
423
  if (width > height) {
420
424
  vid.style.minWidth = this.parent.insertVideoSettings.minWidth === 0 ? '200px' : formatUnit(this.parent.insertVideoSettings.minWidth);
421
425
  vid.style.minHeight = this.parent.insertVideoSettings.minHeight === 0 ? '90px' : formatUnit(this.parent.insertVideoSettings.minHeight);
422
426
  if (this.parent.insertVideoSettings.resizeByPercent) {
423
- if (parseInt('' + vid.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
424
- var percentageValue = this.pixToPerc((parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY), (vid.previousElementSibling || vid.parentElement));
425
- vid.style.width = Math.min(Math.round((percentageValue / vid.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
426
- }
427
- else {
428
- vid.style.width = this.pixToPerc(parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY, (vid.previousElementSibling || vid.parentElement)) + '%';
429
- }
430
- vid.style.height = null;
431
- vid.removeAttribute('height');
427
+ this.updateVidEleWidth(vid, width, height, expectedX, expectedY);
432
428
  }
433
429
  else if ((vid.style.width === '' && vid.style.height !== '') || (vidEleStyle.width === '' && vidEleStyle.height !== '')) {
434
430
  vid.style.height = expectedY + 'px';
435
431
  }
436
432
  else if ((vid.style.width !== '' && vid.style.height === '') || (vidEleStyle.width !== '' && vidEleStyle.height === '')) {
437
- var currentWidth = ((parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY) +
438
- parseInt(width.toString(), 10) / parseInt(height.toString(), 10)) <
433
+ var currentWidth = ((width / height * expectedY) +
434
+ width / height) <
439
435
  (this.parent.inputElement.getBoundingClientRect().right - 32) ?
440
- ((parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY) +
441
- parseInt(width.toString(), 10) / parseInt(height.toString(), 10)) :
436
+ ((width / height * expectedY) +
437
+ width / height) :
442
438
  (this.parent.inputElement.getBoundingClientRect().right - 32);
443
439
  vid.style.width = currentWidth.toString() + 'px';
444
440
  }
445
441
  else if (vid.style.width !== '' || vidEleStyle.width !== '') {
446
- var currentWidth = (parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY) <
442
+ var currentWidth = (width / height * expectedY) <
447
443
  (this.parent.inputElement.getBoundingClientRect().right - 32) ?
448
- (parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY) :
444
+ (width / height * expectedY) :
449
445
  (this.parent.inputElement.getBoundingClientRect().right - 32);
450
446
  vid.style.width = currentWidth + 'px';
451
447
  vid.style.height = expectedY + 'px';
452
448
  }
453
449
  else {
454
- vid.setAttribute('width', (parseInt(((parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY) + parseInt(width.toString(), 10) / parseInt(height.toString(), 10)).toString(), 10)).toString());
450
+ vid.setAttribute('width', (parseInt(((width / height * expectedY) + width / height).toString(), 10)).toString());
455
451
  }
456
452
  }
457
453
  else if (height > width) {
458
454
  if (this.parent.insertVideoSettings.resizeByPercent) {
459
- if (parseInt('' + vid.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
460
- vid.style.width = Math.min(Math.round((parseInt(width.toString(), 10) / vid.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
461
- }
462
- else {
463
- vid.style.width = this.pixToPerc((expectedX / parseInt(height.toString(), 10) * expectedY), (vid.previousElementSibling || vid.parentElement)) + '%';
464
- }
465
- vid.style.height = null;
466
- vid.removeAttribute('height');
455
+ this.updateVidEleWidth(vid, width, height, expectedX, expectedY);
467
456
  }
468
457
  else if (vid.style.width !== '' || vidEleStyle.width !== '') {
469
458
  vid.style.width = expectedX + 'px';
470
- vid.style.height = (parseInt(height.toString(), 10) / parseInt(width.toString(), 10) * expectedX) + 'px';
459
+ vid.style.height = (height / width * expectedX) + 'px';
471
460
  }
472
461
  else {
473
462
  vid.setAttribute('width', this.resizeBtnStat.botRight ? (this.getPointX(e.event) - vid.getBoundingClientRect().left).toString() : expectedX.toString());
@@ -485,6 +474,23 @@ var Video = /** @class */ (function () {
485
474
  }
486
475
  }
487
476
  };
477
+ Video.prototype.updateVidEleWidth = function (vid, width, height, expectedX, expectedY) {
478
+ if (parseInt('' + vid.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
479
+ var original = vid.offsetWidth + this.mouseX;
480
+ var finalWidthByPerc = (original / vid.offsetWidth) * (parseFloat(vid.style.width).toString() === 'NaN' ? (vid.offsetWidth / (parseFloat(getComputedStyle(this.parent.element).width)) * 100) : parseFloat(vid.style.width));
481
+ vid.style.width = ((finalWidthByPerc > 3) ? finalWidthByPerc : 3) + '%';
482
+ }
483
+ else {
484
+ if (width > height) {
485
+ vid.style.width = this.pixToPerc(width / height * expectedY, (vid.previousElementSibling || vid.parentElement)) + '%';
486
+ }
487
+ else {
488
+ vid.style.width = this.pixToPerc((expectedX / height * expectedY), (vid.previousElementSibling || vid.parentElement)) + '%';
489
+ }
490
+ }
491
+ vid.style.height = null;
492
+ vid.removeAttribute('height');
493
+ };
488
494
  Video.prototype.pixToPerc = function (expected, parentEle) {
489
495
  return expected / parseFloat(getComputedStyle(parentEle).width) * 100;
490
496
  };
@@ -510,7 +516,6 @@ var Video = /** @class */ (function () {
510
516
  _this.setAspectRatio(_this.videoEle, parseInt(width, 10), parseInt(height, 10), args);
511
517
  _this.resizeVidDupPos(_this.videoEle);
512
518
  _this.vidResizePos(_this.videoEle, _this.vidResizeDiv);
513
- _this.parent.setContentHeight('', false);
514
519
  }
515
520
  });
516
521
  };
@@ -526,6 +531,7 @@ var Video = /** @class */ (function () {
526
531
  var height = parseInt(this.vidDupPos.height, 10) + mouseY;
527
532
  this.pageX = pageX;
528
533
  this.pageY = pageY;
534
+ this.mouseX = mouseX;
529
535
  if (this.resizeBtnStat.botRight) {
530
536
  this.vidDupMouseMove(width + 'px', height + 'px', e);
531
537
  }
@@ -692,6 +698,14 @@ var Video = /** @class */ (function () {
692
698
  originalEvent.preventDefault();
693
699
  break;
694
700
  }
701
+ if (originalEvent.ctrlKey && originalEvent.key === 'a') {
702
+ this.handleSelectAll();
703
+ }
704
+ };
705
+ Video.prototype.handleSelectAll = function () {
706
+ this.cancelResizeAction();
707
+ var videoFocusNodes = this.parent.inputElement.querySelectorAll('.' + classes.CLS_VID_FOCUS);
708
+ removeClass(videoFocusNodes, classes.CLS_VID_FOCUS);
695
709
  };
696
710
  Video.prototype.openDialog = function (isInternal, event, selection, ele, parentEle) {
697
711
  var range;
@@ -869,6 +883,7 @@ var Video = /** @class */ (function () {
869
883
  if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) {
870
884
  }
871
885
  else {
886
+ this.parent.notify(events.documentClickClosedBy, { closedBy: "outside click" });
872
887
  this.dialogObj.hide({ returnValue: true });
873
888
  this.parent.isBlur = true;
874
889
  dispatchEvent(this.parent.element, 'focusout');
@@ -1158,6 +1173,15 @@ var Video = /** @class */ (function () {
1158
1173
  }
1159
1174
  }
1160
1175
  });
1176
+ if (e.selectNode && ((e.selectNode[0] && e.selectNode[0].nodeType !== 3 &&
1177
+ e.selectNode[0].nodeName !== 'BR' &&
1178
+ (e.selectNode[0].classList &&
1179
+ e.selectNode[0].classList.contains(classes.CLS_VID_CLICK_ELEM))) ||
1180
+ e.selectNode[0].nodeName === 'IFRAME' || e.selectNode[0].nodeName === 'VIDEO')) {
1181
+ var regex = new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);
1182
+ var sourceElement = e.selectNode[0].querySelector('source');
1183
+ this.inputUrl.value = sourceElement.src.match(regex) ? sourceElement.src : '';
1184
+ }
1161
1185
  var embedUrlBtn = new RadioButton({
1162
1186
  label: this.i10n.getConstant('embeddedCode'),
1163
1187
  checked: true,
@@ -1167,7 +1191,6 @@ var Video = /** @class */ (function () {
1167
1191
  },
1168
1192
  change: function () {
1169
1193
  urlContent.innerHTML = '';
1170
- _this.inputUrl.value = '';
1171
1194
  urlContent.appendChild(_this.embedInputUrl);
1172
1195
  }
1173
1196
  });
@@ -1177,7 +1200,6 @@ var Video = /** @class */ (function () {
1177
1200
  name: 'URL',
1178
1201
  change: function () {
1179
1202
  urlContent.innerHTML = '';
1180
- _this.embedInputUrl.value = '';
1181
1203
  urlContent.appendChild(_this.inputUrl);
1182
1204
  }
1183
1205
  });
@@ -1307,8 +1329,12 @@ var Video = /** @class */ (function () {
1307
1329
  _this.parent.trigger(events.fileRemoving, e, function (e) {
1308
1330
  proxy.isVideoUploaded = false;
1309
1331
  _this.dialogObj.getButtons(0).element.disabled = true;
1310
- //proxy.inputUrl.removeAttribute('disabled');
1311
- proxy.embedInputUrl.removeAttribute('disabled');
1332
+ if (proxy.inputUrl.getAttribute('disabled')) {
1333
+ proxy.inputUrl.removeAttribute('disabled');
1334
+ }
1335
+ if (proxy.embedInputUrl.getAttribute('disabled')) {
1336
+ proxy.embedInputUrl.removeAttribute('disabled');
1337
+ }
1312
1338
  if (proxy.uploadUrl) {
1313
1339
  proxy.uploadUrl.url = '';
1314
1340
  }
@@ -1369,10 +1395,11 @@ var Video = /** @class */ (function () {
1369
1395
  this.selection = proxy.parent.formatter.editorManager.nodeSelection.save(range, proxy.contentModule.getDocument());
1370
1396
  this.selectParent = proxy.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
1371
1397
  }
1372
- var name_1 = url !== '' ? url.split('/')[url.split('/').length - 1] : embedUrl;
1398
+ var webUrlBtn = document.getElementById('webURL');
1399
+ var name_1 = webUrlBtn.checked ? url.split('/')[url.split('/').length - 1] : embedUrl;
1373
1400
  var value = {
1374
1401
  cssClass: (proxy.parent.insertVideoSettings.layoutOption === 'Inline' ? classes.CLS_VIDEOINLINE : classes.CLS_VIDEOBREAK),
1375
- url: url, selection: this.selection, fileName: name_1, isEmbedUrl: embedUrl !== '' ? true : false,
1402
+ url: url, selection: this.selection, fileName: name_1, isEmbedUrl: !webUrlBtn.checked,
1376
1403
  selectParent: this.selectParent, width: {
1377
1404
  width: proxy.parent.insertVideoSettings.width, minWidth: proxy.parent.insertVideoSettings.minWidth,
1378
1405
  maxWidth: proxy.parent.getInsertImgMaxWidth()
@@ -1393,7 +1420,7 @@ var Video = /** @class */ (function () {
1393
1420
  * @method destroy
1394
1421
  * @returns {void}
1395
1422
  * @hidden
1396
-
1423
+ * @deprecated
1397
1424
  */
1398
1425
  /* eslint-enable */
1399
1426
  Video.prototype.destroy = function () {