@syncfusion/ej2-richtexteditor 23.2.7 → 24.1.41-569421

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 (272) hide show
  1. package/.eslintrc.json +259 -259
  2. package/CHANGELOG.md +1953 -1749
  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 +9971 -8025
  7. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  8. package/dist/es6/ej2-richtexteditor.es5.js +8445 -6498
  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 +12 -1
  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 +16 -6
  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 -62
  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 +41 -18
  47. package/src/editor-manager/plugin/indents.d.ts +2 -2
  48. package/src/editor-manager/plugin/indents.js +3 -3
  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 +85 -22
  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 +10 -5
  61. package/src/editor-manager/plugin/lists.d.ts +2 -2
  62. package/src/editor-manager/plugin/lists.js +161 -72
  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 +216 -86
  65. package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
  66. package/src/editor-manager/plugin/nodecutter.js +11 -8
  67. package/src/editor-manager/plugin/selection-commands.d.ts +3 -1
  68. package/src/editor-manager/plugin/selection-commands.js +249 -5
  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 +6 -3
  72. package/src/editor-manager/plugin/table.js +97 -51
  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/global.d.ts +1 -0
  80. package/src/markdown-parser/base/interface.d.ts +10 -10
  81. package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
  82. package/src/markdown-parser/base/markdown-parser.js +3 -3
  83. package/src/markdown-parser/base/types.d.ts +1 -1
  84. package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
  85. package/src/markdown-parser/plugin/clearformat.js +2 -2
  86. package/src/markdown-parser/plugin/formats.d.ts +2 -2
  87. package/src/markdown-parser/plugin/formats.js +2 -2
  88. package/src/markdown-parser/plugin/insert-text.d.ts +2 -2
  89. package/src/markdown-parser/plugin/insert-text.js +2 -2
  90. package/src/markdown-parser/plugin/link.d.ts +2 -2
  91. package/src/markdown-parser/plugin/link.js +2 -2
  92. package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
  93. package/src/markdown-parser/plugin/markdown-selection.js +14 -14
  94. package/src/markdown-parser/plugin/md-selection-formats.d.ts +1 -1
  95. package/src/markdown-parser/plugin/md-selection-formats.js +1 -1
  96. package/src/markdown-parser/plugin/table.d.ts +3 -3
  97. package/src/markdown-parser/plugin/table.js +3 -3
  98. package/src/markdown-parser/plugin/undo.d.ts +6 -6
  99. package/src/markdown-parser/plugin/undo.js +6 -6
  100. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +13 -12
  101. package/src/rich-text-editor/actions/base-quick-toolbar.js +70 -23
  102. package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
  103. package/src/rich-text-editor/actions/base-toolbar.js +36 -37
  104. package/src/rich-text-editor/actions/color-picker.d.ts +3 -2
  105. package/src/rich-text-editor/actions/color-picker.js +15 -5
  106. package/src/rich-text-editor/actions/count.d.ts +3 -3
  107. package/src/rich-text-editor/actions/count.js +4 -4
  108. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +3 -2
  109. package/src/rich-text-editor/actions/dropdown-buttons.js +13 -7
  110. package/src/rich-text-editor/actions/emoji-picker.d.ts +1 -1
  111. package/src/rich-text-editor/actions/emoji-picker.js +17 -8
  112. package/src/rich-text-editor/actions/enter-key.js +10 -5
  113. package/src/rich-text-editor/actions/file-manager.js +1 -1
  114. package/src/rich-text-editor/actions/format-painter.js +5 -2
  115. package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
  116. package/src/rich-text-editor/actions/full-screen.js +8 -7
  117. package/src/rich-text-editor/actions/html-editor.d.ts +5 -3
  118. package/src/rich-text-editor/actions/html-editor.js +134 -22
  119. package/src/rich-text-editor/actions/keyboard-model.d.ts +16 -16
  120. package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
  121. package/src/rich-text-editor/actions/keyboard.js +23 -21
  122. package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
  123. package/src/rich-text-editor/actions/markdown-editor.js +5 -3
  124. package/src/rich-text-editor/actions/paste-clean-up.d.ts +6 -1
  125. package/src/rich-text-editor/actions/paste-clean-up.js +157 -29
  126. package/src/rich-text-editor/actions/quick-toolbar.d.ts +17 -9
  127. package/src/rich-text-editor/actions/quick-toolbar.js +68 -21
  128. package/src/rich-text-editor/actions/resize.js +2 -1
  129. package/src/rich-text-editor/actions/toolbar-action.js +1 -1
  130. package/src/rich-text-editor/actions/toolbar.d.ts +16 -16
  131. package/src/rich-text-editor/actions/toolbar.js +48 -109
  132. package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -1
  133. package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
  134. package/src/rich-text-editor/base/classes.d.ts +125 -125
  135. package/src/rich-text-editor/base/classes.js +125 -125
  136. package/src/rich-text-editor/base/constant.d.ts +195 -150
  137. package/src/rich-text-editor/base/constant.js +364 -150
  138. package/src/rich-text-editor/base/enum.d.ts +1 -1
  139. package/src/rich-text-editor/base/enum.js +1 -1
  140. package/src/rich-text-editor/base/interface.d.ts +96 -52
  141. package/src/rich-text-editor/base/interface.js +1 -1
  142. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +891 -891
  143. package/src/rich-text-editor/base/rich-text-editor.d.ts +76 -64
  144. package/src/rich-text-editor/base/rich-text-editor.js +247 -160
  145. package/src/rich-text-editor/base/util.d.ts +1 -1
  146. package/src/rich-text-editor/base/util.js +23 -5
  147. package/src/rich-text-editor/formatter/formatter.d.ts +8 -8
  148. package/src/rich-text-editor/formatter/formatter.js +24 -12
  149. package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
  150. package/src/rich-text-editor/formatter/html-formatter.js +15 -15
  151. package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
  152. package/src/rich-text-editor/formatter/markdown-formatter.js +15 -15
  153. package/src/rich-text-editor/models/default-locale.js +31 -25
  154. package/src/rich-text-editor/models/iframe-settings-model.d.ts +26 -26
  155. package/src/rich-text-editor/models/iframe-settings.js +19 -19
  156. package/src/rich-text-editor/models/inline-mode-model.d.ts +11 -11
  157. package/src/rich-text-editor/models/inline-mode.js +19 -19
  158. package/src/rich-text-editor/models/items.js +3 -3
  159. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +760 -760
  160. package/src/rich-text-editor/models/toolbar-settings.d.ts +1 -1
  161. package/src/rich-text-editor/models/toolbar-settings.js +20 -20
  162. package/src/rich-text-editor/renderer/audio-module.d.ts +2 -1
  163. package/src/rich-text-editor/renderer/audio-module.js +23 -5
  164. package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
  165. package/src/rich-text-editor/renderer/content-renderer.js +6 -6
  166. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +4 -2
  167. package/src/rich-text-editor/renderer/dialog-renderer.js +24 -4
  168. package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
  169. package/src/rich-text-editor/renderer/iframe-content-renderer.js +19 -18
  170. package/src/rich-text-editor/renderer/image-module.d.ts +10 -2
  171. package/src/rich-text-editor/renderer/image-module.js +265 -221
  172. package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
  173. package/src/rich-text-editor/renderer/link-module.js +54 -25
  174. package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
  175. package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
  176. package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
  177. package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
  178. package/src/rich-text-editor/renderer/render.d.ts +2 -2
  179. package/src/rich-text-editor/renderer/render.js +2 -2
  180. package/src/rich-text-editor/renderer/table-module.d.ts +11 -2
  181. package/src/rich-text-editor/renderer/table-module.js +344 -169
  182. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +12 -15
  183. package/src/rich-text-editor/renderer/toolbar-renderer.js +115 -110
  184. package/src/rich-text-editor/renderer/video-module.d.ts +4 -1
  185. package/src/rich-text-editor/renderer/video-module.js +83 -42
  186. package/src/rich-text-editor/renderer/view-source.d.ts +7 -6
  187. package/src/rich-text-editor/renderer/view-source.js +21 -11
  188. package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
  189. package/src/rich-text-editor/services/renderer-factory.js +3 -3
  190. package/src/rich-text-editor/services/service-locator.d.ts +3 -3
  191. package/src/rich-text-editor/services/service-locator.js +3 -3
  192. package/src/selection/selection.d.ts +22 -22
  193. package/src/selection/selection.js +25 -22
  194. package/styles/_all.scss +1 -1
  195. package/styles/bootstrap-dark.css +353 -103
  196. package/styles/bootstrap.css +357 -112
  197. package/styles/bootstrap4.css +338 -96
  198. package/styles/bootstrap5-dark.css +344 -97
  199. package/styles/bootstrap5.css +344 -97
  200. package/styles/fabric-dark.css +332 -90
  201. package/styles/fabric.css +333 -91
  202. package/styles/fluent-dark.css +360 -98
  203. package/styles/fluent.css +360 -98
  204. package/styles/highcontrast-light.css +332 -90
  205. package/styles/highcontrast.css +336 -91
  206. package/styles/material-dark.css +339 -92
  207. package/styles/material.css +339 -92
  208. package/styles/material3-dark.css +348 -100
  209. package/styles/material3-dark.scss +1 -1
  210. package/styles/material3.css +348 -100
  211. package/styles/material3.scss +1 -1
  212. package/styles/rich-text-editor/_all.scss +2 -2
  213. package/styles/rich-text-editor/_bds-definition.scss +279 -0
  214. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +281 -277
  215. package/styles/rich-text-editor/_bootstrap-definition.scss +337 -334
  216. package/styles/rich-text-editor/_bootstrap4-definition.scss +464 -460
  217. package/styles/rich-text-editor/_bootstrap5-definition.scss +266 -262
  218. package/styles/rich-text-editor/_fabric-dark-definition.scss +263 -259
  219. package/styles/rich-text-editor/_fabric-definition.scss +261 -257
  220. package/styles/rich-text-editor/_fluent-definition.scss +267 -263
  221. package/styles/rich-text-editor/_fusionnew-definition.scss +265 -261
  222. package/styles/rich-text-editor/_highcontrast-definition.scss +261 -257
  223. package/styles/rich-text-editor/_highcontrast-light-definition.scss +261 -257
  224. package/styles/rich-text-editor/_layout.scss +2249 -2072
  225. package/styles/rich-text-editor/_material-dark-definition.scss +266 -262
  226. package/styles/rich-text-editor/_material-definition.scss +264 -260
  227. package/styles/rich-text-editor/_material3-definition.scss +266 -262
  228. package/styles/rich-text-editor/_tailwind-definition.scss +261 -257
  229. package/styles/rich-text-editor/_theme.scss +926 -837
  230. package/styles/rich-text-editor/bootstrap-dark.css +353 -103
  231. package/styles/rich-text-editor/bootstrap.css +357 -112
  232. package/styles/rich-text-editor/bootstrap4.css +338 -96
  233. package/styles/rich-text-editor/bootstrap5-dark.css +344 -97
  234. package/styles/rich-text-editor/bootstrap5.css +344 -97
  235. package/styles/rich-text-editor/fabric-dark.css +332 -90
  236. package/styles/rich-text-editor/fabric.css +333 -91
  237. package/styles/rich-text-editor/fluent-dark.css +360 -98
  238. package/styles/rich-text-editor/fluent.css +360 -98
  239. package/styles/rich-text-editor/highcontrast-light.css +332 -90
  240. package/styles/rich-text-editor/highcontrast.css +336 -91
  241. package/styles/rich-text-editor/icons/_bds.scss +348 -0
  242. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +349 -349
  243. package/styles/rich-text-editor/icons/_bootstrap.scss +349 -349
  244. package/styles/rich-text-editor/icons/_bootstrap4.scss +349 -349
  245. package/styles/rich-text-editor/icons/_bootstrap5.scss +348 -348
  246. package/styles/rich-text-editor/icons/_fabric-dark.scss +349 -349
  247. package/styles/rich-text-editor/icons/_fabric.scss +349 -349
  248. package/styles/rich-text-editor/icons/_fluent.scss +348 -348
  249. package/styles/rich-text-editor/icons/_fusionnew.scss +348 -348
  250. package/styles/rich-text-editor/icons/_highcontrast-light.scss +349 -349
  251. package/styles/rich-text-editor/icons/_highcontrast.scss +349 -349
  252. package/styles/rich-text-editor/icons/_material-dark.scss +349 -349
  253. package/styles/rich-text-editor/icons/_material.scss +349 -349
  254. package/styles/rich-text-editor/icons/_material3.scss +348 -348
  255. package/styles/rich-text-editor/icons/_tailwind.scss +348 -348
  256. package/styles/rich-text-editor/material-dark.css +339 -92
  257. package/styles/rich-text-editor/material.css +339 -92
  258. package/styles/rich-text-editor/material3-dark.css +348 -100
  259. package/styles/rich-text-editor/material3-dark.scss +1 -1
  260. package/styles/rich-text-editor/material3.css +348 -100
  261. package/styles/rich-text-editor/material3.scss +1 -1
  262. package/styles/rich-text-editor/tailwind-dark.css +383 -113
  263. package/styles/rich-text-editor/tailwind.css +383 -113
  264. package/styles/tailwind-dark.css +383 -113
  265. package/styles/tailwind.css +383 -113
  266. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  267. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
  268. package/dist/ej2-richtexteditor.min.js +0 -10
  269. package/dist/global/ej2-richtexteditor.min.js +0 -11
  270. package/dist/global/ej2-richtexteditor.min.js.map +0 -1
  271. package/dist/global/index.d.ts +0 -14
  272. package/tslint.json +0 -111
@@ -3,7 +3,7 @@ import { IToolbarStatus } from './../../common/interface';
3
3
  * Update Toolbar Status
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare const statusCollection: IToolbarStatus;
9
9
  export declare class ToolbarStatus {
@@ -11,16 +11,16 @@ export declare class ToolbarStatus {
11
11
  * get method
12
12
  *
13
13
  * @param {Document} docElement - specifies the document element
14
- * @param {Node} targetNode - specifies the target node
14
+ * @param {Node} rootNode - specifies the content editable element
15
15
  * @param {string[]} formatNode - specifies the format node
16
16
  * @param {string[]} fontSize - specifies the font size
17
17
  * @param {string[]} fontName - specifies the font name.
18
18
  * @param {Node} documentNode - specifies the document node.
19
19
  * @returns {IToolbarStatus} - returns the toolbar status
20
20
  * @hidden
21
-
21
+ * @deprecated
22
22
  */
23
- static get(docElement: Document, targetNode: Node, formatNode?: string[], fontSize?: string[], fontName?: string[], documentNode?: Node): IToolbarStatus;
23
+ static get(docElement: Document, rootNode: Node, formatNode?: string[], fontSize?: string[], fontName?: string[], documentNode?: Node): IToolbarStatus;
24
24
  private static getImmediateBlockNode;
25
25
  private static getFormatParent;
26
26
  private static isFormattedNode;
@@ -2,11 +2,12 @@ import { IsFormatted } from './isformatted';
2
2
  import * as CONSTANT from './../base/constant';
3
3
  import { NodeSelection } from './../../selection/index';
4
4
  import { getDefaultHtmlTbStatus } from './../../common/util';
5
+ import { isNullOrUndefined } from '@syncfusion/ej2-base';
5
6
  /**
6
7
  * Update Toolbar Status
7
8
  *
8
9
  * @hidden
9
-
10
+ * @deprecated
10
11
  */
11
12
  export var statusCollection = getDefaultHtmlTbStatus();
12
13
  var ToolbarStatus = /** @class */ (function () {
@@ -16,16 +17,16 @@ var ToolbarStatus = /** @class */ (function () {
16
17
  * get method
17
18
  *
18
19
  * @param {Document} docElement - specifies the document element
19
- * @param {Node} targetNode - specifies the target node
20
+ * @param {Node} rootNode - specifies the content editable element
20
21
  * @param {string[]} formatNode - specifies the format node
21
22
  * @param {string[]} fontSize - specifies the font size
22
23
  * @param {string[]} fontName - specifies the font name.
23
24
  * @param {Node} documentNode - specifies the document node.
24
25
  * @returns {IToolbarStatus} - returns the toolbar status
25
26
  * @hidden
26
-
27
+ * @deprecated
27
28
  */
28
- ToolbarStatus.get = function (docElement, targetNode, formatNode, fontSize, fontName, documentNode) {
29
+ ToolbarStatus.get = function (docElement, rootNode, formatNode, fontSize, fontName, documentNode) {
29
30
  var formatCollection = JSON.parse(JSON.stringify(statusCollection));
30
31
  var nodeCollection = JSON.parse(JSON.stringify(statusCollection));
31
32
  var nodeSelection = new NodeSelection();
@@ -55,7 +56,7 @@ var ToolbarStatus = /** @class */ (function () {
55
56
  }
56
57
  for (var index = 0; index < nodes.length; index++) {
57
58
  // eslint-disable-next-line max-len
58
- formatCollection = this.getFormatParent(docElement, formatCollection, nodes[index], targetNode, formatNode, fontSize, fontName);
59
+ formatCollection = this.getFormatParent(docElement, formatCollection, nodes[index], rootNode, formatNode, fontSize, fontName);
59
60
  if ((index === 0 && formatCollection.bold) || !formatCollection.bold) {
60
61
  nodeCollection.bold = formatCollection.bold;
61
62
  }
@@ -130,16 +131,24 @@ var ToolbarStatus = /** @class */ (function () {
130
131
  return node;
131
132
  };
132
133
  ToolbarStatus.getFormatParent = function (docElement, formatCollection, node, targetNode, formatNode, fontSize, fontName) {
134
+ var isListUpdated = false;
135
+ var isComplexListUpdated = false;
133
136
  if (targetNode.contains(node) ||
134
137
  (node.nodeType === 3 && targetNode.nodeType !== 3 && targetNode.contains(node.parentNode))) {
135
138
  do {
136
- formatCollection = this.isFormattedNode(docElement, formatCollection, node, formatNode, fontSize, fontName);
139
+ formatCollection = this.isFormattedNode(docElement, formatCollection, node, isListUpdated, isComplexListUpdated, formatNode, fontSize, fontName);
140
+ if (formatCollection.orderedlist || formatCollection.unorderedlist) {
141
+ isListUpdated = true;
142
+ }
143
+ if (formatCollection.bulletFormatList || formatCollection.numberFormatList) {
144
+ isComplexListUpdated = true;
145
+ }
137
146
  node = node.parentNode;
138
147
  } while (node && (node !== targetNode));
139
148
  }
140
149
  return formatCollection;
141
150
  };
142
- ToolbarStatus.isFormattedNode = function (docElement, formatCollection, node, formatNode, fontSize, fontName) {
151
+ ToolbarStatus.isFormattedNode = function (docElement, formatCollection, node, isListUpdated, isComplexListUpdated, formatNode, fontSize, fontName) {
143
152
  if (!formatCollection.bold) {
144
153
  formatCollection.bold = IsFormatted.isBold(node);
145
154
  }
@@ -170,10 +179,10 @@ var ToolbarStatus = /** @class */ (function () {
170
179
  if (!formatCollection.backgroundcolor) {
171
180
  formatCollection.backgroundcolor = this.isBackgroundColor(node);
172
181
  }
173
- if (!formatCollection.orderedlist) {
182
+ if (!formatCollection.orderedlist && !isListUpdated) {
174
183
  formatCollection.orderedlist = this.isOrderedList(node);
175
184
  }
176
- if (!formatCollection.unorderedlist) {
185
+ if (!formatCollection.unorderedlist && !isListUpdated) {
177
186
  formatCollection.unorderedlist = this.isUnorderedList(node);
178
187
  }
179
188
  if (!formatCollection.alignments) {
@@ -188,10 +197,10 @@ var ToolbarStatus = /** @class */ (function () {
188
197
  if (!formatCollection.createlink) {
189
198
  formatCollection.createlink = this.isLink(node);
190
199
  }
191
- if (!formatCollection.numberFormatList) {
200
+ if (!formatCollection.numberFormatList && !isComplexListUpdated) {
192
201
  formatCollection.numberFormatList = this.isNumberFormatList(node);
193
202
  }
194
- if (!formatCollection.bulletFormatList) {
203
+ if (!formatCollection.bulletFormatList && !isComplexListUpdated) {
195
204
  formatCollection.bulletFormatList = this.isBulletFormatList(node);
196
205
  }
197
206
  return formatCollection;
@@ -250,7 +259,8 @@ var ToolbarStatus = /** @class */ (function () {
250
259
  // eslint-disable-next-line
251
260
  var pattern = new RegExp(name, 'i');
252
261
  if ((value.replace(/"/g, '').replace(/ /g, '').toLowerCase() === name.replace(/"/g, '').replace(/ /g, '').toLowerCase()) ||
253
- (value.split(',')[0] && value.split(',')[0].search(pattern) > -1)) {
262
+ (value.split(',')[0] && !isNullOrUndefined(value.split(',')[0].trim().match(pattern)) &&
263
+ value.split(',')[0].trim() === value.split(',')[0].trim().match(pattern)[0])) {
254
264
  index = pos;
255
265
  }
256
266
  }) && (index !== null)))) {
@@ -24,7 +24,7 @@ export declare class UndoRedoManager {
24
24
  * @param {IHtmlSubCommands} e - specifies the sub command
25
25
  * @returns {void}
26
26
  * @hidden
27
-
27
+ * @deprecated
28
28
  */
29
29
  onAction(e: IHtmlSubCommands): void;
30
30
  /**
@@ -33,12 +33,13 @@ export declare class UndoRedoManager {
33
33
  * @function destroy
34
34
  * @returns {void}
35
35
  * @hidden
36
-
36
+ * @deprecated
37
37
  */
38
38
  destroy(): void;
39
39
  private keyDown;
40
40
  private keyUp;
41
41
  private getTextContentFromFragment;
42
+ private isElementStructureEqual;
42
43
  /**
43
44
  * RTE collection stored html format.
44
45
  *
@@ -46,7 +47,7 @@ export declare class UndoRedoManager {
46
47
  * @param {KeyboardEvent} e - specifies the keyboard event
47
48
  * @returns {void}
48
49
  * @hidden
49
-
50
+ * @deprecated
50
51
  */
51
52
  saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
52
53
  /**
@@ -56,7 +57,7 @@ export declare class UndoRedoManager {
56
57
  * @param {IHtmlSubCommands} e - specifies the sub commands
57
58
  * @returns {void}
58
59
  * @hidden
59
-
60
+ * @deprecated
60
61
  */
61
62
  undo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
62
63
  /**
@@ -66,7 +67,7 @@ export declare class UndoRedoManager {
66
67
  * @function redo
67
68
  * @returns {void}
68
69
  * @hidden
69
-
70
+ * @deprecated
70
71
  */
71
72
  redo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
72
73
  /**
@@ -74,7 +75,7 @@ export declare class UndoRedoManager {
74
75
  *
75
76
  * @returns {boolean} - returns the boolean value
76
77
  * @hidden
77
-
78
+ * @deprecated
78
79
  */
79
80
  getUndoStatus(): {
80
81
  [key: string]: boolean;
@@ -44,7 +44,7 @@ var UndoRedoManager = /** @class */ (function () {
44
44
  * @param {IHtmlSubCommands} e - specifies the sub command
45
45
  * @returns {void}
46
46
  * @hidden
47
-
47
+ * @deprecated
48
48
  */
49
49
  UndoRedoManager.prototype.onAction = function (e) {
50
50
  if (e.subCommand === 'Undo') {
@@ -60,7 +60,7 @@ var UndoRedoManager = /** @class */ (function () {
60
60
  * @function destroy
61
61
  * @returns {void}
62
62
  * @hidden
63
-
63
+ * @deprecated
64
64
  */
65
65
  UndoRedoManager.prototype.destroy = function () {
66
66
  this.removeEventListener();
@@ -98,6 +98,25 @@ var UndoRedoManager = /** @class */ (function () {
98
98
  }
99
99
  return textContent;
100
100
  };
101
+ UndoRedoManager.prototype.isElementStructureEqual = function (previousFragment, currentFragment) {
102
+ if (previousFragment.childNodes.length !== currentFragment.childNodes.length) {
103
+ return false;
104
+ }
105
+ for (var i = 0; i < previousFragment.childNodes.length; i++) {
106
+ var previousFragmentNode = previousFragment.childNodes[i];
107
+ var currentFragmentNode = currentFragment.childNodes[i];
108
+ if (!previousFragmentNode || !currentFragmentNode) {
109
+ return false;
110
+ }
111
+ if (previousFragmentNode.nodeType !== currentFragmentNode.nodeType) {
112
+ return false;
113
+ }
114
+ if (previousFragmentNode.outerHTML !== currentFragmentNode.outerHTML) {
115
+ return false;
116
+ }
117
+ }
118
+ return true;
119
+ };
101
120
  /**
102
121
  * RTE collection stored html format.
103
122
  *
@@ -105,7 +124,7 @@ var UndoRedoManager = /** @class */ (function () {
105
124
  * @param {KeyboardEvent} e - specifies the keyboard event
106
125
  * @returns {void}
107
126
  * @hidden
108
-
127
+ * @deprecated
109
128
  */
110
129
  UndoRedoManager.prototype.saveData = function (e) {
111
130
  var range = new NodeSelection().getRange(this.parent.currentDocument);
@@ -134,7 +153,8 @@ var UndoRedoManager = /** @class */ (function () {
134
153
  (this.undoRedoStack[this.undoRedoStack.length - 1].range.endOffset === save.range.endOffset) &&
135
154
  (this.undoRedoStack[this.undoRedoStack.length - 1].range.range.startContainer === save.range.startContainer) &&
136
155
  (this.getTextContentFromFragment(this.undoRedoStack[this.undoRedoStack.length - 1].text).trim() ===
137
- this.getTextContentFromFragment(changEle.text).trim())) {
156
+ this.getTextContentFromFragment(changEle.text).trim()) &&
157
+ this.isElementStructureEqual(this.undoRedoStack[this.undoRedoStack.length - 1].text, changEle.text)) {
138
158
  return;
139
159
  }
140
160
  this.undoRedoStack.push(changEle);
@@ -154,7 +174,7 @@ var UndoRedoManager = /** @class */ (function () {
154
174
  * @param {IHtmlSubCommands} e - specifies the sub commands
155
175
  * @returns {void}
156
176
  * @hidden
157
-
177
+ * @deprecated
158
178
  */
159
179
  UndoRedoManager.prototype.undo = function (e) {
160
180
  if (this.steps > 0) {
@@ -186,7 +206,7 @@ var UndoRedoManager = /** @class */ (function () {
186
206
  * @function redo
187
207
  * @returns {void}
188
208
  * @hidden
189
-
209
+ * @deprecated
190
210
  */
191
211
  UndoRedoManager.prototype.redo = function (e) {
192
212
  if (this.undoRedoStack[this.steps + 1] != null) {
@@ -216,7 +236,7 @@ var UndoRedoManager = /** @class */ (function () {
216
236
  *
217
237
  * @returns {boolean} - returns the boolean value
218
238
  * @hidden
219
-
239
+ * @deprecated
220
240
  */
221
241
  UndoRedoManager.prototype.getUndoStatus = function () {
222
242
  var status = { undo: false, redo: false };
@@ -4,7 +4,7 @@ import { IHtmlItem } from './../base/interface';
4
4
  * Video internal component
5
5
  *
6
6
  * @hidden
7
-
7
+ * @deprecated
8
8
  */
9
9
  export declare class VideoCommand {
10
10
  private parent;
@@ -13,7 +13,7 @@ export declare class VideoCommand {
13
13
  *
14
14
  * @param {EditorManager} parent - specifies the parent element
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  constructor(parent: EditorManager);
19
19
  private addEventListener;
@@ -23,7 +23,7 @@ export declare class VideoCommand {
23
23
  * @param {IHtmlItem} e - specifies the element
24
24
  * @returns {void}
25
25
  * @hidden
26
-
26
+ * @deprecated
27
27
  */
28
28
  videoCommand(e: IHtmlItem): void;
29
29
  private createVideo;
@@ -6,7 +6,7 @@ import { InsertHtml } from './inserthtml';
6
6
  * Video internal component
7
7
  *
8
8
  * @hidden
9
-
9
+ * @deprecated
10
10
  */
11
11
  var VideoCommand = /** @class */ (function () {
12
12
  /**
@@ -14,7 +14,7 @@ var VideoCommand = /** @class */ (function () {
14
14
  *
15
15
  * @param {EditorManager} parent - specifies the parent element
16
16
  * @hidden
17
-
17
+ * @deprecated
18
18
  */
19
19
  function VideoCommand(parent) {
20
20
  this.parent = parent;
@@ -29,7 +29,7 @@ var VideoCommand = /** @class */ (function () {
29
29
  * @param {IHtmlItem} e - specifies the element
30
30
  * @returns {void}
31
31
  * @hidden
32
-
32
+ * @deprecated
33
33
  */
34
34
  VideoCommand.prototype.videoCommand = function (e) {
35
35
  var selectNode;
@@ -0,0 +1 @@
1
+ export * from './index';
@@ -5,7 +5,7 @@ import { KeyboardEventArgs } from '@syncfusion/ej2-base';
5
5
  * Specifies IMDFormats interfaces.
6
6
  *
7
7
  * @hidden
8
-
8
+ * @deprecated
9
9
  */
10
10
  export interface IMDFormats {
11
11
  /**
@@ -23,7 +23,7 @@ export interface IMDFormats {
23
23
  * Specifies IMTable interfaces.
24
24
  *
25
25
  * @hidden
26
-
26
+ * @deprecated
27
27
  */
28
28
  export interface IMDTable {
29
29
  syntaxTag?: {
@@ -39,14 +39,14 @@ export interface IMDTable {
39
39
  /**
40
40
  * Defines types to be used to customize the markdown syntax.
41
41
  *
42
-
42
+ * @deprecated
43
43
  */
44
44
  export declare type MarkdownTableFormat = 'Formats' | 'List';
45
45
  /**
46
46
  * Specifies ISelectedLines interfaces.
47
47
  *
48
48
  * @hidden
49
-
49
+ * @deprecated
50
50
  */
51
51
  export interface ISelectedLines {
52
52
  /**
@@ -68,7 +68,7 @@ export interface ISelectedLines {
68
68
  * Specifies MarkdownParserModel interfaces.
69
69
  *
70
70
  * @hidden
71
-
71
+ * @deprecated
72
72
  */
73
73
  export interface IMarkdownParserModel {
74
74
  /**
@@ -104,7 +104,7 @@ export interface IMarkdownParserModel {
104
104
  * Specifies ISubCommands interfaces.
105
105
  *
106
106
  * @hidden
107
-
107
+ * @deprecated
108
108
  */
109
109
  export interface IMarkdownSubCommands {
110
110
  /**
@@ -121,7 +121,7 @@ export interface IMarkdownSubCommands {
121
121
  event?: MouseEvent;
122
122
  }
123
123
  /**
124
-
124
+ * @deprecated
125
125
  */
126
126
  export interface MarkdownUndoRedoData {
127
127
  text?: string;
@@ -129,7 +129,7 @@ export interface MarkdownUndoRedoData {
129
129
  end?: number;
130
130
  }
131
131
  /**
132
-
132
+ * @deprecated
133
133
  */
134
134
  export interface IMarkdownItem {
135
135
  module?: string;
@@ -140,7 +140,7 @@ export interface IMarkdownItem {
140
140
  callBack(args: IMarkdownFormatterCallBack): () => void;
141
141
  }
142
142
  /**
143
-
143
+ * @deprecated
144
144
  */
145
145
  export interface IMarkdownItemArgs {
146
146
  url?: string;
@@ -155,7 +155,7 @@ export interface IMarkdownItemArgs {
155
155
  * Specifies IMDKeyboardEvent interfaces.
156
156
  *
157
157
  * @hidden
158
-
158
+ * @deprecated
159
159
  */
160
160
  export interface IMDKeyboardEvent {
161
161
  /**
@@ -14,7 +14,7 @@ import { MDInsertText } from './../plugin/insert-text';
14
14
  * MarkdownParser internal component
15
15
  *
16
16
  * @hidden
17
-
17
+ * @deprecated
18
18
  */
19
19
  export declare class MarkdownParser {
20
20
  observer: Observer;
@@ -42,7 +42,7 @@ export declare class MarkdownParser {
42
42
  *
43
43
  * @param {IMarkdownParserModel} options - specifies the options
44
44
  * @hidden
45
-
45
+ * @deprecated
46
46
  */
47
47
  constructor(options: IMarkdownParserModel);
48
48
  private initialize;
@@ -61,7 +61,7 @@ export declare class MarkdownParser {
61
61
  * @param {T} exeValue - specifies the value
62
62
  * @returns {void}
63
63
  * @hidden
64
-
64
+ * @deprecated
65
65
  */
66
66
  execCommand<T>(command: MarkdownExecCommand, value: T, event?: Event, callBack?: Function, text?: string, exeValue?: T): void;
67
67
  }
@@ -16,7 +16,7 @@ import { MDInsertText } from './../plugin/insert-text';
16
16
  * MarkdownParser internal component
17
17
  *
18
18
  * @hidden
19
-
19
+ * @deprecated
20
20
  */
21
21
  var MarkdownParser = /** @class */ (function () {
22
22
  /**
@@ -24,7 +24,7 @@ var MarkdownParser = /** @class */ (function () {
24
24
  *
25
25
  * @param {IMarkdownParserModel} options - specifies the options
26
26
  * @hidden
27
-
27
+ * @deprecated
28
28
  */
29
29
  function MarkdownParser(options) {
30
30
  this.initialize();
@@ -72,7 +72,7 @@ var MarkdownParser = /** @class */ (function () {
72
72
  * @param {T} exeValue - specifies the value
73
73
  * @returns {void}
74
74
  * @hidden
75
-
75
+ * @deprecated
76
76
  */
77
77
  /* eslint-enable */
78
78
  MarkdownParser.prototype.execCommand = function (command, value, event, callBack, text, exeValue) {
@@ -2,6 +2,6 @@
2
2
  * Types type for Markdown parser
3
3
  *
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  export declare type MarkdownExecCommand = 'Indents' | 'Lists' | 'Formats' | 'Alignments' | 'Style' | 'Effects' | 'Casing' | 'Actions' | 'table' | 'Links' | 'Images' | 'Clear' | 'Inserttext';
@@ -3,7 +3,7 @@ import { MarkdownParser } from './../base/markdown-parser';
3
3
  * Link internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class ClearFormat {
9
9
  private parent;
@@ -13,7 +13,7 @@ export declare class ClearFormat {
13
13
  *
14
14
  * @param {MarkdownParser} parent - specifies the parent element
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  constructor(parent: MarkdownParser);
19
19
  private addEventListener;
@@ -3,7 +3,7 @@ import * as CONSTANT from './../base/constant';
3
3
  * Link internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  var ClearFormat = /** @class */ (function () {
9
9
  /**
@@ -11,7 +11,7 @@ var ClearFormat = /** @class */ (function () {
11
11
  *
12
12
  * @param {MarkdownParser} parent - specifies the parent element
13
13
  * @hidden
14
-
14
+ * @deprecated
15
15
  */
16
16
  function ClearFormat(parent) {
17
17
  this.parent = parent;
@@ -3,7 +3,7 @@ import { IMDFormats } from './../base/interface';
3
3
  * MDFormats internal plugin
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class MDFormats {
9
9
  private parent;
@@ -16,7 +16,7 @@ export declare class MDFormats {
16
16
  *
17
17
  * @param {IMDFormats} options - specifies the formats
18
18
  * @hidden
19
-
19
+ * @deprecated
20
20
  */
21
21
  constructor(options: IMDFormats);
22
22
  private addEventListener;
@@ -5,7 +5,7 @@ import * as CONSTANT from './../../markdown-parser/base/constant';
5
5
  * MDFormats internal plugin
6
6
  *
7
7
  * @hidden
8
-
8
+ * @deprecated
9
9
  */
10
10
  var MDFormats = /** @class */ (function () {
11
11
  /**
@@ -13,7 +13,7 @@ var MDFormats = /** @class */ (function () {
13
13
  *
14
14
  * @param {IMDFormats} options - specifies the formats
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  function MDFormats(options) {
19
19
  extend(this, this, options, true);
@@ -3,7 +3,7 @@ import { MarkdownParser } from './../base/markdown-parser';
3
3
  * Link internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class MDInsertText {
9
9
  private parent;
@@ -13,7 +13,7 @@ export declare class MDInsertText {
13
13
  *
14
14
  * @param {MarkdownParser} parent - specifies the parent element
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  constructor(parent: MarkdownParser);
19
19
  private addEventListener;
@@ -3,7 +3,7 @@ import * as CONSTANT from './../base/constant';
3
3
  * Link internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  var MDInsertText = /** @class */ (function () {
9
9
  /**
@@ -11,7 +11,7 @@ var MDInsertText = /** @class */ (function () {
11
11
  *
12
12
  * @param {MarkdownParser} parent - specifies the parent element
13
13
  * @hidden
14
-
14
+ * @deprecated
15
15
  */
16
16
  function MDInsertText(parent) {
17
17
  this.parent = parent;
@@ -3,7 +3,7 @@ import { MarkdownParser } from './../base/markdown-parser';
3
3
  * Link internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class MDLink {
9
9
  private parent;
@@ -13,7 +13,7 @@ export declare class MDLink {
13
13
  *
14
14
  * @param {MarkdownParser} parent - specifies the parent element
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  constructor(parent: MarkdownParser);
19
19
  private addEventListener;
@@ -3,7 +3,7 @@ import * as CONSTANT from './../base/constant';
3
3
  * Link internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  var MDLink = /** @class */ (function () {
9
9
  /**
@@ -11,7 +11,7 @@ var MDLink = /** @class */ (function () {
11
11
  *
12
12
  * @param {MarkdownParser} parent - specifies the parent element
13
13
  * @hidden
14
-
14
+ * @deprecated
15
15
  */
16
16
  function MDLink(parent) {
17
17
  this.parent = parent;