@syncfusion/ej2-richtexteditor 29.2.4-771571 → 29.2.4-795127

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 (312) hide show
  1. package/dist/ej2-richtexteditor.umd.min.js +1 -1
  2. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  3. package/dist/es6/ej2-richtexteditor.es2015.js +63 -18
  4. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es5.js +84 -35
  6. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/editor-manager/plugin/clearformat.js +53 -22
  9. package/src/rich-text-editor/actions/enter-key.js +25 -9
  10. package/src/rich-text-editor/actions/paste-clean-up.js +2 -1
  11. package/src/rich-text-editor/base/rich-text-editor.js +4 -3
  12. package/styles/_all.bds.scss +1 -0
  13. package/styles/_all.bootstrap-dark.scss +1 -0
  14. package/styles/_all.bootstrap.scss +1 -0
  15. package/styles/_all.bootstrap4.scss +1 -0
  16. package/styles/_all.bootstrap5-dark.scss +1 -0
  17. package/styles/_all.bootstrap5.3.scss +1 -0
  18. package/styles/_all.bootstrap5.scss +1 -0
  19. package/styles/_all.fabric-dark.scss +1 -0
  20. package/styles/_all.fabric.scss +1 -0
  21. package/styles/_all.fluent-dark.scss +1 -0
  22. package/styles/_all.fluent.scss +1 -0
  23. package/styles/_all.fluent2.scss +1 -0
  24. package/styles/_all.highcontrast-light.scss +1 -0
  25. package/styles/_all.highcontrast.scss +1 -0
  26. package/styles/_all.material-dark.scss +1 -0
  27. package/styles/_all.material.scss +1 -0
  28. package/styles/_all.material3-dark.scss +1 -0
  29. package/styles/_all.material3.scss +1 -0
  30. package/styles/_all.scss +1 -1
  31. package/styles/_all.tailwind-dark.scss +1 -0
  32. package/styles/_all.tailwind.scss +1 -0
  33. package/styles/_all.tailwind3.scss +1 -0
  34. package/styles/bds-lite.css +239 -89
  35. package/styles/bds-lite.scss +3 -4
  36. package/styles/bds.css +347 -98
  37. package/styles/bds.scss +4 -5
  38. package/styles/bootstrap-dark-lite.css +206 -86
  39. package/styles/bootstrap-dark-lite.scss +3 -4
  40. package/styles/bootstrap-dark.css +299 -95
  41. package/styles/bootstrap-dark.scss +4 -5
  42. package/styles/bootstrap-lite.css +384 -86
  43. package/styles/bootstrap-lite.scss +3 -4
  44. package/styles/bootstrap.css +566 -95
  45. package/styles/bootstrap.scss +4 -5
  46. package/styles/bootstrap4-lite.css +565 -93
  47. package/styles/bootstrap4-lite.scss +3 -4
  48. package/styles/bootstrap4.css +850 -115
  49. package/styles/bootstrap4.scss +4 -5
  50. package/styles/bootstrap5-dark-lite.css +193 -87
  51. package/styles/bootstrap5-dark-lite.scss +3 -4
  52. package/styles/bootstrap5-dark.css +279 -96
  53. package/styles/bootstrap5-dark.scss +4 -5
  54. package/styles/bootstrap5-lite.css +187 -87
  55. package/styles/bootstrap5-lite.scss +4 -4
  56. package/styles/bootstrap5.3-lite.css +456 -108
  57. package/styles/bootstrap5.3-lite.scss +4 -4
  58. package/styles/bootstrap5.3.css +627 -118
  59. package/styles/bootstrap5.3.scss +5 -5
  60. package/styles/bootstrap5.css +273 -96
  61. package/styles/bootstrap5.scss +5 -5
  62. package/styles/fabric-dark-lite.css +193 -87
  63. package/styles/fabric-dark-lite.scss +4 -4
  64. package/styles/fabric-dark.css +279 -96
  65. package/styles/fabric-dark.scss +5 -5
  66. package/styles/fabric-lite.css +193 -87
  67. package/styles/fabric-lite.scss +4 -4
  68. package/styles/fabric.css +279 -96
  69. package/styles/fabric.scss +5 -5
  70. package/styles/fluent-dark-lite.css +195 -98
  71. package/styles/fluent-dark-lite.scss +4 -4
  72. package/styles/fluent-dark.css +281 -107
  73. package/styles/fluent-dark.scss +5 -5
  74. package/styles/fluent-lite.css +195 -89
  75. package/styles/fluent-lite.scss +4 -4
  76. package/styles/fluent.css +281 -98
  77. package/styles/fluent.scss +5 -5
  78. package/styles/fluent2-lite.css +519 -114
  79. package/styles/fluent2-lite.scss +4 -4
  80. package/styles/fluent2.css +703 -126
  81. package/styles/fluent2.scss +5 -5
  82. package/styles/highcontrast-light-lite.css +193 -87
  83. package/styles/highcontrast-light-lite.scss +4 -4
  84. package/styles/highcontrast-light.css +279 -96
  85. package/styles/highcontrast-light.scss +5 -5
  86. package/styles/highcontrast-lite.css +193 -87
  87. package/styles/highcontrast-lite.scss +4 -4
  88. package/styles/highcontrast.css +279 -96
  89. package/styles/highcontrast.scss +5 -5
  90. package/styles/material-dark-lite.css +192 -86
  91. package/styles/material-dark-lite.scss +4 -4
  92. package/styles/material-dark.css +278 -95
  93. package/styles/material-dark.scss +5 -5
  94. package/styles/material-lite.css +192 -86
  95. package/styles/material-lite.scss +3 -4
  96. package/styles/material.css +278 -95
  97. package/styles/material.scss +4 -5
  98. package/styles/material3-dark-lite.css +539 -105
  99. package/styles/material3-dark-lite.scss +4 -4
  100. package/styles/material3-dark.css +723 -130
  101. package/styles/material3-dark.scss +5 -7
  102. package/styles/material3-lite.css +459 -105
  103. package/styles/material3-lite.scss +4 -4
  104. package/styles/material3.css +645 -130
  105. package/styles/material3.scss +5 -7
  106. package/styles/rich-text-editor/_all.bds.scss +2 -0
  107. package/styles/rich-text-editor/_all.bootstrap-dark.scss +2 -0
  108. package/styles/rich-text-editor/_all.bootstrap.scss +2 -0
  109. package/styles/rich-text-editor/_all.bootstrap4.scss +2 -0
  110. package/styles/rich-text-editor/_all.bootstrap5-dark.scss +2 -0
  111. package/styles/rich-text-editor/_all.bootstrap5.3.scss +2 -0
  112. package/styles/rich-text-editor/_all.bootstrap5.scss +2 -0
  113. package/styles/rich-text-editor/_all.fabric-dark.scss +2 -0
  114. package/styles/rich-text-editor/_all.fabric.scss +2 -0
  115. package/styles/rich-text-editor/_all.fluent-dark.scss +2 -0
  116. package/styles/rich-text-editor/_all.fluent.scss +2 -0
  117. package/styles/rich-text-editor/_all.fluent2.scss +2 -0
  118. package/styles/rich-text-editor/_all.highcontrast-light.scss +2 -0
  119. package/styles/rich-text-editor/_all.highcontrast.scss +2 -0
  120. package/styles/rich-text-editor/_all.material-dark.scss +2 -0
  121. package/styles/rich-text-editor/_all.material.scss +2 -0
  122. package/styles/rich-text-editor/_all.material3-dark.scss +2 -0
  123. package/styles/rich-text-editor/_all.material3.scss +2 -0
  124. package/styles/rich-text-editor/_all.scss +2 -2
  125. package/styles/rich-text-editor/_all.tailwind-dark.scss +2 -0
  126. package/styles/rich-text-editor/_all.tailwind.scss +2 -0
  127. package/styles/rich-text-editor/_all.tailwind3.scss +2 -0
  128. package/styles/rich-text-editor/_bds-definition.scss +468 -27
  129. package/styles/rich-text-editor/_bigger.bds.scss +3 -0
  130. package/styles/rich-text-editor/_bigger.bootstrap-dark.scss +3 -0
  131. package/styles/rich-text-editor/_bigger.bootstrap.scss +3 -0
  132. package/styles/rich-text-editor/_bigger.bootstrap4.scss +3 -0
  133. package/styles/rich-text-editor/_bigger.bootstrap5-dark.scss +3 -0
  134. package/styles/rich-text-editor/_bigger.bootstrap5.3.scss +3 -0
  135. package/styles/rich-text-editor/_bigger.bootstrap5.scss +3 -0
  136. package/styles/rich-text-editor/_bigger.fabric-dark.scss +3 -0
  137. package/styles/rich-text-editor/_bigger.fabric.scss +3 -0
  138. package/styles/rich-text-editor/_bigger.fluent-dark.scss +3 -0
  139. package/styles/rich-text-editor/_bigger.fluent.scss +3 -0
  140. package/styles/rich-text-editor/_bigger.fluent2.scss +3 -0
  141. package/styles/rich-text-editor/_bigger.highcontrast-light.scss +3 -0
  142. package/styles/rich-text-editor/_bigger.highcontrast.scss +3 -0
  143. package/styles/rich-text-editor/_bigger.material-dark.scss +3 -0
  144. package/styles/rich-text-editor/_bigger.material.scss +3 -0
  145. package/styles/rich-text-editor/_bigger.material3-dark.scss +3 -0
  146. package/styles/rich-text-editor/_bigger.material3.scss +3 -0
  147. package/styles/rich-text-editor/_bigger.scss +152 -57
  148. package/styles/rich-text-editor/_bigger.tailwind-dark.scss +3 -0
  149. package/styles/rich-text-editor/_bigger.tailwind.scss +3 -0
  150. package/styles/rich-text-editor/_bigger.tailwind3.scss +3 -0
  151. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +467 -26
  152. package/styles/rich-text-editor/_bootstrap-definition.scss +467 -26
  153. package/styles/rich-text-editor/_bootstrap4-definition.scss +473 -33
  154. package/styles/rich-text-editor/_bootstrap5-dark-definition.scss +709 -1
  155. package/styles/rich-text-editor/_bootstrap5-definition.scss +467 -27
  156. package/styles/rich-text-editor/_bootstrap5.3-definition.scss +469 -29
  157. package/styles/rich-text-editor/_fabric-dark-definition.scss +467 -27
  158. package/styles/rich-text-editor/_fabric-definition.scss +466 -27
  159. package/styles/rich-text-editor/_fluent-dark-definition.scss +710 -1
  160. package/styles/rich-text-editor/_fluent-definition.scss +470 -27
  161. package/styles/rich-text-editor/_fluent2-definition.scss +478 -33
  162. package/styles/rich-text-editor/_fusionnew-definition.scss +464 -26
  163. package/styles/rich-text-editor/_highcontrast-definition.scss +466 -26
  164. package/styles/rich-text-editor/_highcontrast-light-definition.scss +466 -26
  165. package/styles/rich-text-editor/_layout.bds.scss +3 -0
  166. package/styles/rich-text-editor/_layout.bootstrap-dark.scss +3 -0
  167. package/styles/rich-text-editor/_layout.bootstrap.scss +3 -0
  168. package/styles/rich-text-editor/_layout.bootstrap4.scss +3 -0
  169. package/styles/rich-text-editor/_layout.bootstrap5-dark.scss +3 -0
  170. package/styles/rich-text-editor/_layout.bootstrap5.3.scss +3 -0
  171. package/styles/rich-text-editor/_layout.bootstrap5.scss +3 -0
  172. package/styles/rich-text-editor/_layout.fabric-dark.scss +3 -0
  173. package/styles/rich-text-editor/_layout.fabric.scss +3 -0
  174. package/styles/rich-text-editor/_layout.fluent-dark.scss +3 -0
  175. package/styles/rich-text-editor/_layout.fluent.scss +3 -0
  176. package/styles/rich-text-editor/_layout.fluent2.scss +3 -0
  177. package/styles/rich-text-editor/_layout.highcontrast-light.scss +3 -0
  178. package/styles/rich-text-editor/_layout.highcontrast.scss +3 -0
  179. package/styles/rich-text-editor/_layout.material-dark.scss +3 -0
  180. package/styles/rich-text-editor/_layout.material.scss +3 -0
  181. package/styles/rich-text-editor/_layout.material3-dark.scss +3 -0
  182. package/styles/rich-text-editor/_layout.material3.scss +3 -0
  183. package/styles/rich-text-editor/_layout.scss +448 -353
  184. package/styles/rich-text-editor/_layout.tailwind-dark.scss +3 -0
  185. package/styles/rich-text-editor/_layout.tailwind.scss +3 -0
  186. package/styles/rich-text-editor/_layout.tailwind3.scss +3 -0
  187. package/styles/rich-text-editor/_material-dark-definition.scss +466 -28
  188. package/styles/rich-text-editor/_material-definition.scss +466 -26
  189. package/styles/rich-text-editor/_material3-dark-definition.scss +714 -1
  190. package/styles/rich-text-editor/_material3-definition.scss +473 -30
  191. package/styles/rich-text-editor/_tailwind-dark-definition.scss +706 -1
  192. package/styles/rich-text-editor/_tailwind-definition.scss +468 -28
  193. package/styles/rich-text-editor/_tailwind3-definition.scss +474 -34
  194. package/styles/rich-text-editor/_theme-variables.bds.scss +1 -0
  195. package/styles/rich-text-editor/_theme-variables.bootstrap-dark.scss +1 -0
  196. package/styles/rich-text-editor/_theme-variables.bootstrap.scss +1 -0
  197. package/styles/rich-text-editor/_theme-variables.bootstrap4.scss +1 -0
  198. package/styles/rich-text-editor/_theme-variables.bootstrap5-dark.scss +1 -0
  199. package/styles/rich-text-editor/_theme-variables.bootstrap5.3.scss +1 -0
  200. package/styles/rich-text-editor/_theme-variables.bootstrap5.scss +1 -0
  201. package/styles/rich-text-editor/_theme-variables.fabric-dark.scss +1 -0
  202. package/styles/rich-text-editor/_theme-variables.fabric.scss +1 -0
  203. package/styles/rich-text-editor/_theme-variables.fluent-dark.scss +1 -0
  204. package/styles/rich-text-editor/_theme-variables.fluent.scss +1 -0
  205. package/styles/rich-text-editor/_theme-variables.fluent2.scss +1 -0
  206. package/styles/rich-text-editor/_theme-variables.highcontrast-light.scss +1 -0
  207. package/styles/rich-text-editor/_theme-variables.highcontrast.scss +1 -0
  208. package/styles/rich-text-editor/_theme-variables.material-dark.scss +1 -0
  209. package/styles/rich-text-editor/_theme-variables.material.scss +1 -0
  210. package/styles/rich-text-editor/_theme-variables.material3-dark.scss +1 -0
  211. package/styles/rich-text-editor/_theme-variables.material3.scss +1 -0
  212. package/styles/rich-text-editor/_theme-variables.tailwind-dark.scss +1 -0
  213. package/styles/rich-text-editor/_theme-variables.tailwind.scss +1 -0
  214. package/styles/rich-text-editor/_theme-variables.tailwind3.scss +1 -0
  215. package/styles/rich-text-editor/_theme.bds.scss +4 -0
  216. package/styles/rich-text-editor/_theme.bootstrap-dark.scss +4 -0
  217. package/styles/rich-text-editor/_theme.bootstrap.scss +4 -0
  218. package/styles/rich-text-editor/_theme.bootstrap4.scss +4 -0
  219. package/styles/rich-text-editor/_theme.bootstrap5-dark.scss +4 -0
  220. package/styles/rich-text-editor/_theme.bootstrap5.3.scss +4 -0
  221. package/styles/rich-text-editor/_theme.bootstrap5.scss +4 -0
  222. package/styles/rich-text-editor/_theme.fabric-dark.scss +4 -0
  223. package/styles/rich-text-editor/_theme.fabric.scss +4 -0
  224. package/styles/rich-text-editor/_theme.fluent-dark.scss +4 -0
  225. package/styles/rich-text-editor/_theme.fluent.scss +4 -0
  226. package/styles/rich-text-editor/_theme.fluent2.scss +4 -0
  227. package/styles/rich-text-editor/_theme.highcontrast-light.scss +4 -0
  228. package/styles/rich-text-editor/_theme.highcontrast.scss +4 -0
  229. package/styles/rich-text-editor/_theme.material-dark.scss +4 -0
  230. package/styles/rich-text-editor/_theme.material.scss +4 -0
  231. package/styles/rich-text-editor/_theme.material3-dark.scss +4 -0
  232. package/styles/rich-text-editor/_theme.material3.scss +4 -0
  233. package/styles/rich-text-editor/_theme.scss +65 -36
  234. package/styles/rich-text-editor/_theme.tailwind-dark.scss +4 -0
  235. package/styles/rich-text-editor/_theme.tailwind.scss +4 -0
  236. package/styles/rich-text-editor/_theme.tailwind3.scss +4 -0
  237. package/styles/rich-text-editor/bds.css +347 -98
  238. package/styles/rich-text-editor/bds.scss +5 -5
  239. package/styles/rich-text-editor/bootstrap-dark.css +299 -95
  240. package/styles/rich-text-editor/bootstrap-dark.scss +5 -5
  241. package/styles/rich-text-editor/bootstrap.css +566 -95
  242. package/styles/rich-text-editor/bootstrap.scss +5 -5
  243. package/styles/rich-text-editor/bootstrap4.css +850 -115
  244. package/styles/rich-text-editor/bootstrap4.scss +5 -5
  245. package/styles/rich-text-editor/bootstrap5-dark.css +279 -96
  246. package/styles/rich-text-editor/bootstrap5-dark.scss +5 -5
  247. package/styles/rich-text-editor/bootstrap5.3.css +627 -118
  248. package/styles/rich-text-editor/bootstrap5.3.scss +5 -5
  249. package/styles/rich-text-editor/bootstrap5.css +273 -96
  250. package/styles/rich-text-editor/bootstrap5.scss +5 -5
  251. package/styles/rich-text-editor/fabric-dark.css +279 -96
  252. package/styles/rich-text-editor/fabric-dark.scss +5 -5
  253. package/styles/rich-text-editor/fabric.css +279 -96
  254. package/styles/rich-text-editor/fabric.scss +5 -5
  255. package/styles/rich-text-editor/fluent-dark.css +281 -107
  256. package/styles/rich-text-editor/fluent-dark.scss +5 -5
  257. package/styles/rich-text-editor/fluent.css +281 -98
  258. package/styles/rich-text-editor/fluent.scss +5 -5
  259. package/styles/rich-text-editor/fluent2.css +703 -126
  260. package/styles/rich-text-editor/fluent2.scss +5 -5
  261. package/styles/rich-text-editor/highcontrast-light.css +279 -96
  262. package/styles/rich-text-editor/highcontrast-light.scss +5 -5
  263. package/styles/rich-text-editor/highcontrast.css +279 -96
  264. package/styles/rich-text-editor/highcontrast.scss +5 -5
  265. package/styles/rich-text-editor/icons/_bds.scss +7 -0
  266. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +7 -0
  267. package/styles/rich-text-editor/icons/_bootstrap.scss +7 -0
  268. package/styles/rich-text-editor/icons/_bootstrap4.scss +7 -0
  269. package/styles/rich-text-editor/icons/_bootstrap5-dark.scss +1 -1
  270. package/styles/rich-text-editor/icons/_bootstrap5.3.scss +7 -0
  271. package/styles/rich-text-editor/icons/_bootstrap5.scss +7 -0
  272. package/styles/rich-text-editor/icons/_fabric-dark.scss +7 -0
  273. package/styles/rich-text-editor/icons/_fabric.scss +7 -0
  274. package/styles/rich-text-editor/icons/_fluent-dark.scss +1 -1
  275. package/styles/rich-text-editor/icons/_fluent.scss +6 -0
  276. package/styles/rich-text-editor/icons/_fluent2.scss +7 -0
  277. package/styles/rich-text-editor/icons/_fusionnew.scss +7 -0
  278. package/styles/rich-text-editor/icons/_highcontrast-light.scss +7 -0
  279. package/styles/rich-text-editor/icons/_highcontrast.scss +7 -0
  280. package/styles/rich-text-editor/icons/_material-dark.scss +7 -0
  281. package/styles/rich-text-editor/icons/_material.scss +7 -0
  282. package/styles/rich-text-editor/icons/_material3-dark.scss +1 -1
  283. package/styles/rich-text-editor/icons/_material3.scss +7 -0
  284. package/styles/rich-text-editor/icons/_tailwind-dark.scss +1 -1
  285. package/styles/rich-text-editor/icons/_tailwind.scss +7 -0
  286. package/styles/rich-text-editor/icons/_tailwind3.scss +7 -0
  287. package/styles/rich-text-editor/material-dark.css +278 -95
  288. package/styles/rich-text-editor/material-dark.scss +5 -5
  289. package/styles/rich-text-editor/material.css +278 -95
  290. package/styles/rich-text-editor/material.scss +5 -5
  291. package/styles/rich-text-editor/material3-dark.css +723 -130
  292. package/styles/rich-text-editor/material3-dark.scss +5 -6
  293. package/styles/rich-text-editor/material3.css +645 -130
  294. package/styles/rich-text-editor/material3.scss +5 -6
  295. package/styles/rich-text-editor/tailwind-dark.css +282 -99
  296. package/styles/rich-text-editor/tailwind-dark.scss +5 -5
  297. package/styles/rich-text-editor/tailwind.css +282 -99
  298. package/styles/rich-text-editor/tailwind.scss +5 -5
  299. package/styles/rich-text-editor/tailwind3.css +593 -115
  300. package/styles/rich-text-editor/tailwind3.scss +5 -5
  301. package/styles/tailwind-dark-lite.css +196 -90
  302. package/styles/tailwind-dark-lite.scss +4 -4
  303. package/styles/tailwind-dark.css +282 -99
  304. package/styles/tailwind-dark.scss +5 -5
  305. package/styles/tailwind-lite.css +196 -90
  306. package/styles/tailwind-lite.scss +4 -4
  307. package/styles/tailwind.css +282 -99
  308. package/styles/tailwind.scss +5 -5
  309. package/styles/tailwind3-lite.css +430 -104
  310. package/styles/tailwind3-lite.scss +4 -4
  311. package/styles/tailwind3.css +593 -115
  312. package/styles/tailwind3.scss +5 -5
@@ -14232,9 +14232,36 @@ class ClearFormat {
14232
14232
  && this.IGNORE_PARENT_TAGS.indexOf(parentNodes[index1].childNodes[0].nodeName.toLocaleLowerCase()) > -1)
14233
14233
  && !(parentNodes[index1].childNodes.length === 1
14234
14234
  && parentNodes[index1].childNodes[0].nodeName.toLocaleLowerCase() === 'p')) {
14235
- InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this.defaultTag));
14235
+ const target = parentNodes[index1];
14236
+ if (['TABLE', 'TD', 'TH', 'TBODY', 'TR'].indexOf(target.nodeName) !== -1) {
14237
+ if (target.hasAttribute('style')) {
14238
+ target.removeAttribute('style'); // Remove style if present
14239
+ }
14240
+ if (target.hasAttribute('class')) {
14241
+ const allowedClasses = new Set(['e-rte-table', 'e-rte-paste-table', 'e-rte-custom-table']);
14242
+ const filteredClasses = target.className
14243
+ .split(/\s+/)
14244
+ .filter((cls) => allowedClasses.has(cls));
14245
+ if (filteredClasses.length > 0) {
14246
+ target.className = filteredClasses.join(' ');
14247
+ }
14248
+ else {
14249
+ target.removeAttribute('class');
14250
+ }
14251
+ }
14252
+ }
14253
+ else {
14254
+ InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this.defaultTag));
14255
+ }
14256
+ }
14257
+ let childNodes = [];
14258
+ if (parentNodes[index1].nodeName === 'TABLE' || parentNodes[index1].nodeName === 'TD' || parentNodes[index1].nodeName === 'TH' ||
14259
+ parentNodes[index1].nodeName === 'TBODY' || parentNodes[index1].nodeName === 'TR') {
14260
+ childNodes = Array.from(parentNodes[index1].childNodes);
14261
+ }
14262
+ else {
14263
+ childNodes = InsertMethods.unwrap(parentNodes[index1]);
14236
14264
  }
14237
- const childNodes = InsertMethods.unwrap(parentNodes[index1]);
14238
14265
  if (childNodes.length === 1
14239
14266
  && childNodes[0].parentNode.nodeName.toLocaleLowerCase() === 'p') {
14240
14267
  InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this.defaultTag));
@@ -14304,10 +14331,10 @@ class ClearFormat {
14304
14331
  ClearFormat.BLOCK_TAGS = ['address', 'article', 'aside', 'blockquote',
14305
14332
  'details', 'dd', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer',
14306
14333
  'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'li', 'main', 'nav',
14307
- 'noscript', 'ol', 'p', 'pre', 'section', 'ul'];
14308
- ClearFormat.NONVALID_PARENT_TAGS = ['thead', 'tbody', 'ul', 'ol', 'table', 'tfoot', 'tr'];
14334
+ 'noscript', 'ol', 'p', 'pre', 'section', 'ul', 'table', 'td', 'th', 'tbody', 'tr'];
14335
+ ClearFormat.NONVALID_PARENT_TAGS = ['thead', 'ul', 'ol', 'tfoot'];
14309
14336
  ClearFormat.IGNORE_PARENT_TAGS = ['ul', 'ol', 'table'];
14310
- ClearFormat.NONVALID_TAGS = ['thead', 'tbody', 'figcaption', 'td', 'tr', 'th', 'tfoot', 'figcaption', 'li'];
14337
+ ClearFormat.NONVALID_TAGS = ['thead', 'figcaption', 'tr', 'tfoot', 'figcaption', 'li'];
14311
14338
  ClearFormat.defaultTag = 'p';
14312
14339
 
14313
14340
  /**
@@ -29239,7 +29266,7 @@ class EnterKeyAction {
29239
29266
  }
29240
29267
  }
29241
29268
  else if (nearBlockNode !== this.parent.inputElement && nearBlockNode.textContent.length === 0 && !(!isNullOrUndefined(nearBlockNode.childNodes[0]) && nearBlockNode.childNodes[0].nodeName === 'IMG' ||
29242
- (nearBlockNode.querySelectorAll('video').length > 0) || (nearBlockNode.querySelectorAll('audio').length > 0) || (nearBlockNode.querySelectorAll('img').length > 0))) {
29269
+ (nearBlockNode.querySelectorAll('video').length > 0) || (nearBlockNode.querySelectorAll('.e-video-wrap').length > 0) || (nearBlockNode.querySelectorAll('audio').length > 0) || (nearBlockNode.querySelectorAll('img').length > 0))) {
29243
29270
  if (!isNullOrUndefined(nearBlockNode.children[0]) && nearBlockNode.children[0].tagName !== 'BR') {
29244
29271
  const newElem = this.parent.formatter.editorManager.nodeCutter.SplitNode(this.range, nearBlockNode, false).cloneNode(true);
29245
29272
  this.parent.formatter.editorManager.domNode.insertAfter(newElem, nearBlockNode);
@@ -29255,7 +29282,7 @@ class EnterKeyAction {
29255
29282
  else if (this.range.startContainer === this.range.endContainer && this.range.startContainer.nodeType !== Node.TEXT_NODE && ((this.range.startContainer.nodeName === 'IMG' || this.range.startContainer.querySelector('img')) ||
29256
29283
  (this.range.startContainer.nodeName === 'SPAN' && (this.range.startContainer.classList.contains('e-video-wrap') ||
29257
29284
  this.range.startContainer.classList.contains('e-audio-wrap'))))) {
29258
- if (nearBlockNode.textContent.trim().length > 0) {
29285
+ if (nearBlockNode.textContent.trim().length > 0 && !(nearBlockNode.querySelector('iframe') && nearBlockNode.textContent === '​')) {
29259
29286
  const newElem = this.parent.formatter.editorManager.nodeCutter.SplitNode(this.range, nearBlockNode, true);
29260
29287
  const audioVideoElem = !isNullOrUndefined(newElem.previousSibling.querySelector('.e-video-wrap')) ?
29261
29288
  newElem.previousSibling.querySelector('.e-video-wrap') : newElem.previousSibling.querySelector('.e-audio-wrap');
@@ -29278,20 +29305,32 @@ class EnterKeyAction {
29278
29305
  }
29279
29306
  detach(audioVideoElem);
29280
29307
  }
29308
+ else if (!isNullOrUndefined(newElem) && !newElem.hasChildNodes()) {
29309
+ const brElm = this.parent.createElement('br');
29310
+ newElem.appendChild(brElm);
29311
+ this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), newElem, 0);
29312
+ }
29281
29313
  }
29282
29314
  else {
29283
29315
  const newElem = this.parent.formatter.editorManager.nodeCutter.SplitNode(this.range, nearBlockNode, true);
29284
29316
  let focusElem = newElem.hasChildNodes() ? newElem.previousSibling : newElem;
29285
29317
  const imageElem = !isNullOrUndefined(newElem.querySelector('img')) ?
29286
29318
  newElem.querySelector('img') : null;
29319
+ const videoElem = !isNullOrUndefined(newElem.querySelector('.e-video-wrap')) ?
29320
+ newElem.querySelector('.e-video-wrap') : null;
29287
29321
  const insertElem = this.createInsertElement(shiftKey);
29288
- if (!isNullOrUndefined(imageElem)) {
29322
+ if (!isNullOrUndefined(imageElem) || !isNullOrUndefined(videoElem)) {
29289
29323
  if (isFocusedFirst) {
29290
29324
  newElem.parentElement.insertBefore(insertElem, newElem);
29291
29325
  focusElem = newElem.previousSibling;
29292
29326
  }
29293
29327
  else {
29294
29328
  this.parent.formatter.editorManager.domNode.insertAfter(insertElem, newElem);
29329
+ const isVideoInfocusElem = videoElem && focusElem.nodeType === Node.ELEMENT_NODE && focusElem.children.length === 1 && focusElem.lastChild.classList.contains('e-video-wrap');
29330
+ if (!isNullOrUndefined(focusElem) && focusElem !== newElem && newElem.previousSibling === focusElem &&
29331
+ isVideoInfocusElem) {
29332
+ detach(focusElem);
29333
+ }
29295
29334
  focusElem = newElem.nextSibling;
29296
29335
  }
29297
29336
  }
@@ -29425,11 +29464,12 @@ class EnterKeyAction {
29425
29464
  const isImageElement = (this.range.startContainer.nodeName === 'IMG' || (this.range.startContainer.childNodes.length > 0
29426
29465
  && !isNullOrUndefined(this.range.startContainer.childNodes[this.range.startOffset]) && this.range.startContainer.childNodes[this.range.startOffset].nodeName === 'IMG') || (this.range.startContainer.nodeType === 1 &&
29427
29466
  this.range.startContainer.querySelector('img') !== null));
29467
+ const isImageWithWhiteSpace = this.range.startContainer.nodeName === '#text' && this.range.startContainer.textContent.trim() === '' && this.range.startContainer.textContent.length === 1 && this.range.startContainer.previousSibling && this.range.startContainer.previousSibling.nodeName === 'IMG';
29428
29468
  if (currentParent !== this.parent.inputElement &&
29429
29469
  this.parent.formatter.editorManager.domNode.isBlockNode(currentParent) &&
29430
29470
  this.range.startOffset === this.range.endOffset &&
29431
29471
  (this.range.startOffset === isLastNodeLength ||
29432
- (currentParent.textContent.trim().length === 0 && isImageElement))) {
29472
+ (currentParent.textContent.trim().length === 0 && (isImageElement || isImageWithWhiteSpace)))) {
29433
29473
  const focusBRElem = this.parent.createElement('br');
29434
29474
  if (this.range.startOffset === 0 && this.range.startContainer.nodeName === 'TABLE') {
29435
29475
  this.range.startContainer.parentElement.insertBefore(focusBRElem, this.range.startContainer);
@@ -29446,11 +29486,17 @@ class EnterKeyAction {
29446
29486
  else {
29447
29487
  const lineBreakBRElem = this.parent.createElement('br');
29448
29488
  const parentElement = this.range.startContainer.parentElement;
29489
+ const startContainer = this.range.startContainer;
29490
+ const isImageInBlock = isImageElement && startContainer.nodeName !== 'IMG' && startContainer.childNodes[this.range.startOffset - 1] &&
29491
+ startContainer.childNodes[this.range.startOffset - 1].nodeName === 'IMG';
29449
29492
  let anchorElement;
29450
29493
  if (parentElement && parentElement.nodeName === 'A' &&
29451
29494
  parentElement.textContent.length === this.range.startOffset) {
29452
29495
  anchorElement = parentElement;
29453
29496
  }
29497
+ else if (isImageInBlock) {
29498
+ anchorElement = startContainer.childNodes[this.range.startOffset - 1];
29499
+ }
29454
29500
  else if (parentElement) {
29455
29501
  const closestAnchor = parentElement.closest('a');
29456
29502
  anchorElement = closestAnchor ? closestAnchor : this.range.startContainer;
@@ -29471,7 +29517,7 @@ class EnterKeyAction {
29471
29517
  if (currentParent.textContent.trim().length === 0 || (currentParent.textContent.trim().length === 1 &&
29472
29518
  currentParent.textContent.charCodeAt(0) === 8203)) {
29473
29519
  if ((currentParent.childElementCount > 0 && currentParent.lastElementChild.nodeName === 'IMG') || (currentParent.lastElementChild && currentParent.lastElementChild.nodeName === 'BR') || !isNullOrUndefined(currentParent.firstElementChild) &&
29474
- (currentParent.querySelector('.e-video-wrap') || currentParent.querySelector('.e-audio-wrap'))) {
29520
+ (currentParent.querySelector('.e-video-wrap') || currentParent.classList.contains('e-video-wrap') || currentParent.querySelector('.e-audio-wrap') || currentParent.classList.contains('e-audio-wrap'))) {
29475
29521
  this.insertBRElement();
29476
29522
  }
29477
29523
  else {
@@ -29572,9 +29618,6 @@ class EnterKeyAction {
29572
29618
  }
29573
29619
  else if (this.startNode.tagName === 'SPAN' && (this.startNode.classList.contains('e-video-wrap') || this.startNode.classList.contains('e-audio-wrap'))) {
29574
29620
  this.startNode.parentElement.insertBefore(brElm, this.startNode);
29575
- const nearBlockNode = this.parent.formatter.editorManager.domNode.blockParentNode(this.startNode);
29576
- const newElem = this.parent.formatter.editorManager.nodeCutter.SplitNode(this.range, nearBlockNode, true);
29577
- detach(newElem.previousSibling.childNodes[1]);
29578
29621
  isEmptyBrInserted = true;
29579
29622
  }
29580
29623
  else if (this.startNode.nodeType === Node.ELEMENT_NODE && this.startNode.childElementCount > 0 && this.startNode.lastElementChild.nodeName === 'IMG') {
@@ -29587,7 +29630,7 @@ class EnterKeyAction {
29587
29630
  isEmptyBrInserted = true;
29588
29631
  }
29589
29632
  }
29590
- const isBRNextElement = ((!isNullOrUndefined(brElm.nextSibling) && (brElm.nextSibling.textContent.length > 0 || brElm.nextSibling.nodeName !== '#text' && brElm.nextSibling.querySelectorAll('audio,video,table,img').length > 0)) || (!isNullOrUndefined(brElm.nextElementSibling) && brElm.nextElementSibling.tagName === 'BR') || this.range.startContainer.nodeName === 'BR');
29633
+ const isBRNextElement = ((!isNullOrUndefined(brElm.nextSibling) && (brElm.nextSibling.textContent.length > 0 || brElm.nextSibling.nodeName !== '#text' && (brElm.nextSibling.querySelectorAll('audio,video,table,img').length > 0 || brElm.nextSibling.querySelectorAll('.e-video-wrap').length > 0))) || (!isNullOrUndefined(brElm.nextElementSibling) && brElm.nextElementSibling.tagName === 'BR') || this.range.startContainer.nodeName === 'BR');
29591
29634
  const isMediaElement = !isNullOrUndefined(brElm.nextSibling) && (!isNullOrUndefined(brElm.nextSibling.classList) && (brElm.nextSibling.classList.contains('e-video-wrap') || brElm.nextSibling.classList.contains('e-audio-wrap')));
29592
29635
  if (isBRNextElement && (isEmptyBrInserted || (!isNullOrUndefined(brElm.nextSibling) && brElm.nextSibling.nodeName === '#text' && brElm.nextSibling.textContent.trim().length === 0 && !isNullOrUndefined(brElm.nextSibling.nextSibling) && brElm.nextSibling.nextSibling.textContent.trim().length > 0))) {
29593
29636
  this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), !isNullOrUndefined(brElm.nextSibling) && isFocusTextNode &&
@@ -30691,12 +30734,13 @@ let RichTextEditor = class RichTextEditor extends Component {
30691
30734
  if (!isNullOrUndefined(this.placeholder)) {
30692
30735
  this.setPlaceHolder();
30693
30736
  }
30694
- if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete')) {
30737
+ if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete' || e.code === 'KeyX')) {
30695
30738
  const range = this.contentModule.getDocument().getSelection().getRangeAt(0);
30696
30739
  const div = document.createElement('div');
30697
30740
  div.appendChild(range.cloneContents());
30698
30741
  const selectedHTML = div.innerHTML;
30699
- if (selectedHTML === this.inputElement.innerHTML) {
30742
+ if (selectedHTML === this.inputElement.innerHTML || (range.commonAncestorContainer === this.inputElement &&
30743
+ selectedHTML === this.inputElement.textContent.trim())) {
30700
30744
  this.isCopyAll = true;
30701
30745
  }
30702
30746
  }
@@ -30708,7 +30752,7 @@ let RichTextEditor = class RichTextEditor extends Component {
30708
30752
  keyUp(e) {
30709
30753
  if (this.editorMode === 'HTML') {
30710
30754
  const range = this.getRange();
30711
- if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete')) {
30755
+ if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete' || e.code === 'KeyX')) {
30712
30756
  // To prevent the reformatting the content removed browser behavior.
30713
30757
  const currentRange = this.getRange();
30714
30758
  const selection = this.iframeSettings.enable ? this.contentModule.getPanel().ownerDocument.getSelection() :
@@ -40546,7 +40590,8 @@ class PasteCleanup {
40546
40590
  }
40547
40591
  if (e.args && value !== null && this.parent.editorMode === 'HTML') {
40548
40592
  let file;
40549
- if (value.length === 0) {
40593
+ const files = e.args.clipboardData.files;
40594
+ if (value.length === 0 || (!isNullOrUndefined(files) && files.length > 0)) {
40550
40595
  const htmlRegex = new RegExp(/<\/[a-z][\s\S]*>/i);
40551
40596
  value = e.args.clipboardData.getData('text/plain');
40552
40597
  this.parent.trigger(beforePasteCleanup, { value: value });