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

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 (316) 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 +140 -18
  4. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es5.js +162 -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.d.ts +4 -0
  11. package/src/rich-text-editor/actions/paste-clean-up.js +79 -2
  12. package/src/rich-text-editor/base/rich-text-editor.js +4 -3
  13. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +7 -0
  14. package/src/rich-text-editor/models/toolbar-settings.d.ts +6 -0
  15. package/src/rich-text-editor/models/toolbar-settings.js +3 -0
  16. package/styles/_all.bds.scss +1 -0
  17. package/styles/_all.bootstrap-dark.scss +1 -0
  18. package/styles/_all.bootstrap.scss +1 -0
  19. package/styles/_all.bootstrap4.scss +1 -0
  20. package/styles/_all.bootstrap5-dark.scss +1 -0
  21. package/styles/_all.bootstrap5.3.scss +1 -0
  22. package/styles/_all.bootstrap5.scss +1 -0
  23. package/styles/_all.fabric-dark.scss +1 -0
  24. package/styles/_all.fabric.scss +1 -0
  25. package/styles/_all.fluent-dark.scss +1 -0
  26. package/styles/_all.fluent.scss +1 -0
  27. package/styles/_all.fluent2.scss +1 -0
  28. package/styles/_all.highcontrast-light.scss +1 -0
  29. package/styles/_all.highcontrast.scss +1 -0
  30. package/styles/_all.material-dark.scss +1 -0
  31. package/styles/_all.material.scss +1 -0
  32. package/styles/_all.material3-dark.scss +1 -0
  33. package/styles/_all.material3.scss +1 -0
  34. package/styles/_all.scss +1 -1
  35. package/styles/_all.tailwind-dark.scss +1 -0
  36. package/styles/_all.tailwind.scss +1 -0
  37. package/styles/_all.tailwind3.scss +1 -0
  38. package/styles/bds-lite.css +239 -89
  39. package/styles/bds-lite.scss +3 -4
  40. package/styles/bds.css +347 -98
  41. package/styles/bds.scss +4 -5
  42. package/styles/bootstrap-dark-lite.css +206 -86
  43. package/styles/bootstrap-dark-lite.scss +3 -4
  44. package/styles/bootstrap-dark.css +299 -95
  45. package/styles/bootstrap-dark.scss +4 -5
  46. package/styles/bootstrap-lite.css +384 -86
  47. package/styles/bootstrap-lite.scss +3 -4
  48. package/styles/bootstrap.css +566 -95
  49. package/styles/bootstrap.scss +4 -5
  50. package/styles/bootstrap4-lite.css +565 -93
  51. package/styles/bootstrap4-lite.scss +3 -4
  52. package/styles/bootstrap4.css +850 -115
  53. package/styles/bootstrap4.scss +4 -5
  54. package/styles/bootstrap5-dark-lite.css +193 -87
  55. package/styles/bootstrap5-dark-lite.scss +3 -4
  56. package/styles/bootstrap5-dark.css +279 -96
  57. package/styles/bootstrap5-dark.scss +4 -5
  58. package/styles/bootstrap5-lite.css +187 -87
  59. package/styles/bootstrap5-lite.scss +4 -4
  60. package/styles/bootstrap5.3-lite.css +456 -108
  61. package/styles/bootstrap5.3-lite.scss +4 -4
  62. package/styles/bootstrap5.3.css +627 -118
  63. package/styles/bootstrap5.3.scss +5 -5
  64. package/styles/bootstrap5.css +273 -96
  65. package/styles/bootstrap5.scss +5 -5
  66. package/styles/fabric-dark-lite.css +193 -87
  67. package/styles/fabric-dark-lite.scss +4 -4
  68. package/styles/fabric-dark.css +279 -96
  69. package/styles/fabric-dark.scss +5 -5
  70. package/styles/fabric-lite.css +193 -87
  71. package/styles/fabric-lite.scss +4 -4
  72. package/styles/fabric.css +279 -96
  73. package/styles/fabric.scss +5 -5
  74. package/styles/fluent-dark-lite.css +195 -98
  75. package/styles/fluent-dark-lite.scss +4 -4
  76. package/styles/fluent-dark.css +281 -107
  77. package/styles/fluent-dark.scss +5 -5
  78. package/styles/fluent-lite.css +195 -89
  79. package/styles/fluent-lite.scss +4 -4
  80. package/styles/fluent.css +281 -98
  81. package/styles/fluent.scss +5 -5
  82. package/styles/fluent2-lite.css +519 -114
  83. package/styles/fluent2-lite.scss +4 -4
  84. package/styles/fluent2.css +703 -126
  85. package/styles/fluent2.scss +5 -5
  86. package/styles/highcontrast-light-lite.css +193 -87
  87. package/styles/highcontrast-light-lite.scss +4 -4
  88. package/styles/highcontrast-light.css +279 -96
  89. package/styles/highcontrast-light.scss +5 -5
  90. package/styles/highcontrast-lite.css +193 -87
  91. package/styles/highcontrast-lite.scss +4 -4
  92. package/styles/highcontrast.css +279 -96
  93. package/styles/highcontrast.scss +5 -5
  94. package/styles/material-dark-lite.css +192 -86
  95. package/styles/material-dark-lite.scss +4 -4
  96. package/styles/material-dark.css +278 -95
  97. package/styles/material-dark.scss +5 -5
  98. package/styles/material-lite.css +192 -86
  99. package/styles/material-lite.scss +3 -4
  100. package/styles/material.css +278 -95
  101. package/styles/material.scss +4 -5
  102. package/styles/material3-dark-lite.css +539 -105
  103. package/styles/material3-dark-lite.scss +4 -4
  104. package/styles/material3-dark.css +723 -130
  105. package/styles/material3-dark.scss +5 -7
  106. package/styles/material3-lite.css +459 -105
  107. package/styles/material3-lite.scss +4 -4
  108. package/styles/material3.css +645 -130
  109. package/styles/material3.scss +5 -7
  110. package/styles/rich-text-editor/_all.bds.scss +2 -0
  111. package/styles/rich-text-editor/_all.bootstrap-dark.scss +2 -0
  112. package/styles/rich-text-editor/_all.bootstrap.scss +2 -0
  113. package/styles/rich-text-editor/_all.bootstrap4.scss +2 -0
  114. package/styles/rich-text-editor/_all.bootstrap5-dark.scss +2 -0
  115. package/styles/rich-text-editor/_all.bootstrap5.3.scss +2 -0
  116. package/styles/rich-text-editor/_all.bootstrap5.scss +2 -0
  117. package/styles/rich-text-editor/_all.fabric-dark.scss +2 -0
  118. package/styles/rich-text-editor/_all.fabric.scss +2 -0
  119. package/styles/rich-text-editor/_all.fluent-dark.scss +2 -0
  120. package/styles/rich-text-editor/_all.fluent.scss +2 -0
  121. package/styles/rich-text-editor/_all.fluent2.scss +2 -0
  122. package/styles/rich-text-editor/_all.highcontrast-light.scss +2 -0
  123. package/styles/rich-text-editor/_all.highcontrast.scss +2 -0
  124. package/styles/rich-text-editor/_all.material-dark.scss +2 -0
  125. package/styles/rich-text-editor/_all.material.scss +2 -0
  126. package/styles/rich-text-editor/_all.material3-dark.scss +2 -0
  127. package/styles/rich-text-editor/_all.material3.scss +2 -0
  128. package/styles/rich-text-editor/_all.scss +2 -2
  129. package/styles/rich-text-editor/_all.tailwind-dark.scss +2 -0
  130. package/styles/rich-text-editor/_all.tailwind.scss +2 -0
  131. package/styles/rich-text-editor/_all.tailwind3.scss +2 -0
  132. package/styles/rich-text-editor/_bds-definition.scss +468 -27
  133. package/styles/rich-text-editor/_bigger.bds.scss +3 -0
  134. package/styles/rich-text-editor/_bigger.bootstrap-dark.scss +3 -0
  135. package/styles/rich-text-editor/_bigger.bootstrap.scss +3 -0
  136. package/styles/rich-text-editor/_bigger.bootstrap4.scss +3 -0
  137. package/styles/rich-text-editor/_bigger.bootstrap5-dark.scss +3 -0
  138. package/styles/rich-text-editor/_bigger.bootstrap5.3.scss +3 -0
  139. package/styles/rich-text-editor/_bigger.bootstrap5.scss +3 -0
  140. package/styles/rich-text-editor/_bigger.fabric-dark.scss +3 -0
  141. package/styles/rich-text-editor/_bigger.fabric.scss +3 -0
  142. package/styles/rich-text-editor/_bigger.fluent-dark.scss +3 -0
  143. package/styles/rich-text-editor/_bigger.fluent.scss +3 -0
  144. package/styles/rich-text-editor/_bigger.fluent2.scss +3 -0
  145. package/styles/rich-text-editor/_bigger.highcontrast-light.scss +3 -0
  146. package/styles/rich-text-editor/_bigger.highcontrast.scss +3 -0
  147. package/styles/rich-text-editor/_bigger.material-dark.scss +3 -0
  148. package/styles/rich-text-editor/_bigger.material.scss +3 -0
  149. package/styles/rich-text-editor/_bigger.material3-dark.scss +3 -0
  150. package/styles/rich-text-editor/_bigger.material3.scss +3 -0
  151. package/styles/rich-text-editor/_bigger.scss +152 -57
  152. package/styles/rich-text-editor/_bigger.tailwind-dark.scss +3 -0
  153. package/styles/rich-text-editor/_bigger.tailwind.scss +3 -0
  154. package/styles/rich-text-editor/_bigger.tailwind3.scss +3 -0
  155. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +467 -26
  156. package/styles/rich-text-editor/_bootstrap-definition.scss +467 -26
  157. package/styles/rich-text-editor/_bootstrap4-definition.scss +473 -33
  158. package/styles/rich-text-editor/_bootstrap5-dark-definition.scss +709 -1
  159. package/styles/rich-text-editor/_bootstrap5-definition.scss +467 -27
  160. package/styles/rich-text-editor/_bootstrap5.3-definition.scss +469 -29
  161. package/styles/rich-text-editor/_fabric-dark-definition.scss +467 -27
  162. package/styles/rich-text-editor/_fabric-definition.scss +466 -27
  163. package/styles/rich-text-editor/_fluent-dark-definition.scss +710 -1
  164. package/styles/rich-text-editor/_fluent-definition.scss +470 -27
  165. package/styles/rich-text-editor/_fluent2-definition.scss +478 -33
  166. package/styles/rich-text-editor/_fusionnew-definition.scss +464 -26
  167. package/styles/rich-text-editor/_highcontrast-definition.scss +466 -26
  168. package/styles/rich-text-editor/_highcontrast-light-definition.scss +466 -26
  169. package/styles/rich-text-editor/_layout.bds.scss +3 -0
  170. package/styles/rich-text-editor/_layout.bootstrap-dark.scss +3 -0
  171. package/styles/rich-text-editor/_layout.bootstrap.scss +3 -0
  172. package/styles/rich-text-editor/_layout.bootstrap4.scss +3 -0
  173. package/styles/rich-text-editor/_layout.bootstrap5-dark.scss +3 -0
  174. package/styles/rich-text-editor/_layout.bootstrap5.3.scss +3 -0
  175. package/styles/rich-text-editor/_layout.bootstrap5.scss +3 -0
  176. package/styles/rich-text-editor/_layout.fabric-dark.scss +3 -0
  177. package/styles/rich-text-editor/_layout.fabric.scss +3 -0
  178. package/styles/rich-text-editor/_layout.fluent-dark.scss +3 -0
  179. package/styles/rich-text-editor/_layout.fluent.scss +3 -0
  180. package/styles/rich-text-editor/_layout.fluent2.scss +3 -0
  181. package/styles/rich-text-editor/_layout.highcontrast-light.scss +3 -0
  182. package/styles/rich-text-editor/_layout.highcontrast.scss +3 -0
  183. package/styles/rich-text-editor/_layout.material-dark.scss +3 -0
  184. package/styles/rich-text-editor/_layout.material.scss +3 -0
  185. package/styles/rich-text-editor/_layout.material3-dark.scss +3 -0
  186. package/styles/rich-text-editor/_layout.material3.scss +3 -0
  187. package/styles/rich-text-editor/_layout.scss +448 -353
  188. package/styles/rich-text-editor/_layout.tailwind-dark.scss +3 -0
  189. package/styles/rich-text-editor/_layout.tailwind.scss +3 -0
  190. package/styles/rich-text-editor/_layout.tailwind3.scss +3 -0
  191. package/styles/rich-text-editor/_material-dark-definition.scss +466 -28
  192. package/styles/rich-text-editor/_material-definition.scss +466 -26
  193. package/styles/rich-text-editor/_material3-dark-definition.scss +714 -1
  194. package/styles/rich-text-editor/_material3-definition.scss +473 -30
  195. package/styles/rich-text-editor/_tailwind-dark-definition.scss +706 -1
  196. package/styles/rich-text-editor/_tailwind-definition.scss +468 -28
  197. package/styles/rich-text-editor/_tailwind3-definition.scss +474 -34
  198. package/styles/rich-text-editor/_theme-variables.bds.scss +1 -0
  199. package/styles/rich-text-editor/_theme-variables.bootstrap-dark.scss +1 -0
  200. package/styles/rich-text-editor/_theme-variables.bootstrap.scss +1 -0
  201. package/styles/rich-text-editor/_theme-variables.bootstrap4.scss +1 -0
  202. package/styles/rich-text-editor/_theme-variables.bootstrap5-dark.scss +1 -0
  203. package/styles/rich-text-editor/_theme-variables.bootstrap5.3.scss +1 -0
  204. package/styles/rich-text-editor/_theme-variables.bootstrap5.scss +1 -0
  205. package/styles/rich-text-editor/_theme-variables.fabric-dark.scss +1 -0
  206. package/styles/rich-text-editor/_theme-variables.fabric.scss +1 -0
  207. package/styles/rich-text-editor/_theme-variables.fluent-dark.scss +1 -0
  208. package/styles/rich-text-editor/_theme-variables.fluent.scss +1 -0
  209. package/styles/rich-text-editor/_theme-variables.fluent2.scss +1 -0
  210. package/styles/rich-text-editor/_theme-variables.highcontrast-light.scss +1 -0
  211. package/styles/rich-text-editor/_theme-variables.highcontrast.scss +1 -0
  212. package/styles/rich-text-editor/_theme-variables.material-dark.scss +1 -0
  213. package/styles/rich-text-editor/_theme-variables.material.scss +1 -0
  214. package/styles/rich-text-editor/_theme-variables.material3-dark.scss +1 -0
  215. package/styles/rich-text-editor/_theme-variables.material3.scss +1 -0
  216. package/styles/rich-text-editor/_theme-variables.tailwind-dark.scss +1 -0
  217. package/styles/rich-text-editor/_theme-variables.tailwind.scss +1 -0
  218. package/styles/rich-text-editor/_theme-variables.tailwind3.scss +1 -0
  219. package/styles/rich-text-editor/_theme.bds.scss +4 -0
  220. package/styles/rich-text-editor/_theme.bootstrap-dark.scss +4 -0
  221. package/styles/rich-text-editor/_theme.bootstrap.scss +4 -0
  222. package/styles/rich-text-editor/_theme.bootstrap4.scss +4 -0
  223. package/styles/rich-text-editor/_theme.bootstrap5-dark.scss +4 -0
  224. package/styles/rich-text-editor/_theme.bootstrap5.3.scss +4 -0
  225. package/styles/rich-text-editor/_theme.bootstrap5.scss +4 -0
  226. package/styles/rich-text-editor/_theme.fabric-dark.scss +4 -0
  227. package/styles/rich-text-editor/_theme.fabric.scss +4 -0
  228. package/styles/rich-text-editor/_theme.fluent-dark.scss +4 -0
  229. package/styles/rich-text-editor/_theme.fluent.scss +4 -0
  230. package/styles/rich-text-editor/_theme.fluent2.scss +4 -0
  231. package/styles/rich-text-editor/_theme.highcontrast-light.scss +4 -0
  232. package/styles/rich-text-editor/_theme.highcontrast.scss +4 -0
  233. package/styles/rich-text-editor/_theme.material-dark.scss +4 -0
  234. package/styles/rich-text-editor/_theme.material.scss +4 -0
  235. package/styles/rich-text-editor/_theme.material3-dark.scss +4 -0
  236. package/styles/rich-text-editor/_theme.material3.scss +4 -0
  237. package/styles/rich-text-editor/_theme.scss +65 -36
  238. package/styles/rich-text-editor/_theme.tailwind-dark.scss +4 -0
  239. package/styles/rich-text-editor/_theme.tailwind.scss +4 -0
  240. package/styles/rich-text-editor/_theme.tailwind3.scss +4 -0
  241. package/styles/rich-text-editor/bds.css +347 -98
  242. package/styles/rich-text-editor/bds.scss +5 -5
  243. package/styles/rich-text-editor/bootstrap-dark.css +299 -95
  244. package/styles/rich-text-editor/bootstrap-dark.scss +5 -5
  245. package/styles/rich-text-editor/bootstrap.css +566 -95
  246. package/styles/rich-text-editor/bootstrap.scss +5 -5
  247. package/styles/rich-text-editor/bootstrap4.css +850 -115
  248. package/styles/rich-text-editor/bootstrap4.scss +5 -5
  249. package/styles/rich-text-editor/bootstrap5-dark.css +279 -96
  250. package/styles/rich-text-editor/bootstrap5-dark.scss +5 -5
  251. package/styles/rich-text-editor/bootstrap5.3.css +627 -118
  252. package/styles/rich-text-editor/bootstrap5.3.scss +5 -5
  253. package/styles/rich-text-editor/bootstrap5.css +273 -96
  254. package/styles/rich-text-editor/bootstrap5.scss +5 -5
  255. package/styles/rich-text-editor/fabric-dark.css +279 -96
  256. package/styles/rich-text-editor/fabric-dark.scss +5 -5
  257. package/styles/rich-text-editor/fabric.css +279 -96
  258. package/styles/rich-text-editor/fabric.scss +5 -5
  259. package/styles/rich-text-editor/fluent-dark.css +281 -107
  260. package/styles/rich-text-editor/fluent-dark.scss +5 -5
  261. package/styles/rich-text-editor/fluent.css +281 -98
  262. package/styles/rich-text-editor/fluent.scss +5 -5
  263. package/styles/rich-text-editor/fluent2.css +703 -126
  264. package/styles/rich-text-editor/fluent2.scss +5 -5
  265. package/styles/rich-text-editor/highcontrast-light.css +279 -96
  266. package/styles/rich-text-editor/highcontrast-light.scss +5 -5
  267. package/styles/rich-text-editor/highcontrast.css +279 -96
  268. package/styles/rich-text-editor/highcontrast.scss +5 -5
  269. package/styles/rich-text-editor/icons/_bds.scss +7 -0
  270. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +7 -0
  271. package/styles/rich-text-editor/icons/_bootstrap.scss +7 -0
  272. package/styles/rich-text-editor/icons/_bootstrap4.scss +7 -0
  273. package/styles/rich-text-editor/icons/_bootstrap5-dark.scss +1 -1
  274. package/styles/rich-text-editor/icons/_bootstrap5.3.scss +7 -0
  275. package/styles/rich-text-editor/icons/_bootstrap5.scss +7 -0
  276. package/styles/rich-text-editor/icons/_fabric-dark.scss +7 -0
  277. package/styles/rich-text-editor/icons/_fabric.scss +7 -0
  278. package/styles/rich-text-editor/icons/_fluent-dark.scss +1 -1
  279. package/styles/rich-text-editor/icons/_fluent.scss +6 -0
  280. package/styles/rich-text-editor/icons/_fluent2.scss +7 -0
  281. package/styles/rich-text-editor/icons/_fusionnew.scss +7 -0
  282. package/styles/rich-text-editor/icons/_highcontrast-light.scss +7 -0
  283. package/styles/rich-text-editor/icons/_highcontrast.scss +7 -0
  284. package/styles/rich-text-editor/icons/_material-dark.scss +7 -0
  285. package/styles/rich-text-editor/icons/_material.scss +7 -0
  286. package/styles/rich-text-editor/icons/_material3-dark.scss +1 -1
  287. package/styles/rich-text-editor/icons/_material3.scss +7 -0
  288. package/styles/rich-text-editor/icons/_tailwind-dark.scss +1 -1
  289. package/styles/rich-text-editor/icons/_tailwind.scss +7 -0
  290. package/styles/rich-text-editor/icons/_tailwind3.scss +7 -0
  291. package/styles/rich-text-editor/material-dark.css +278 -95
  292. package/styles/rich-text-editor/material-dark.scss +5 -5
  293. package/styles/rich-text-editor/material.css +278 -95
  294. package/styles/rich-text-editor/material.scss +5 -5
  295. package/styles/rich-text-editor/material3-dark.css +723 -130
  296. package/styles/rich-text-editor/material3-dark.scss +5 -6
  297. package/styles/rich-text-editor/material3.css +645 -130
  298. package/styles/rich-text-editor/material3.scss +5 -6
  299. package/styles/rich-text-editor/tailwind-dark.css +282 -99
  300. package/styles/rich-text-editor/tailwind-dark.scss +5 -5
  301. package/styles/rich-text-editor/tailwind.css +282 -99
  302. package/styles/rich-text-editor/tailwind.scss +5 -5
  303. package/styles/rich-text-editor/tailwind3.css +593 -115
  304. package/styles/rich-text-editor/tailwind3.scss +5 -5
  305. package/styles/tailwind-dark-lite.css +196 -90
  306. package/styles/tailwind-dark-lite.scss +4 -4
  307. package/styles/tailwind-dark.css +282 -99
  308. package/styles/tailwind-dark.scss +5 -5
  309. package/styles/tailwind-lite.css +196 -90
  310. package/styles/tailwind-lite.scss +4 -4
  311. package/styles/tailwind.css +282 -99
  312. package/styles/tailwind.scss +5 -5
  313. package/styles/tailwind3-lite.css +430 -104
  314. package/styles/tailwind3-lite.scss +4 -4
  315. package/styles/tailwind3.css +593 -115
  316. package/styles/tailwind3.scss +5 -5
@@ -14270,54 +14270,81 @@ var ClearFormat = /** @class */ (function () {
14270
14270
  return parentNodes;
14271
14271
  };
14272
14272
  ClearFormat.unWrap = function (docElement, parentNodes, nodeCutter, nodeSelection) {
14273
- for (var index1 = 0; index1 < parentNodes.length; index1++) {
14273
+ var _loop_1 = function (index1) {
14274
14274
  parentNodes[index1] = (closest(parentNodes[index1], 'li') && parentNodes[index1].nodeName !== 'UL' && parentNodes[index1].nodeName !== 'OL')
14275
14275
  ? closest(parentNodes[index1], 'li')
14276
14276
  : parentNodes[index1];
14277
- if (this.NONVALID_TAGS.indexOf(parentNodes[index1].nodeName.toLowerCase()) > -1
14277
+ if (this_1.NONVALID_TAGS.indexOf(parentNodes[index1].nodeName.toLowerCase()) > -1
14278
14278
  && parentNodes[index1].parentNode
14279
- && this.NONVALID_PARENT_TAGS.indexOf(parentNodes[index1].parentNode.nodeName.toLowerCase()) > -1) {
14279
+ && this_1.NONVALID_PARENT_TAGS.indexOf(parentNodes[index1].parentNode.nodeName.toLowerCase()) > -1) {
14280
14280
  nodeSelection.setSelectionText(docElement, parentNodes[index1], parentNodes[index1], 0, parentNodes[index1].childNodes.length);
14281
14281
  InsertMethods.unwrap(nodeCutter.GetSpliceNode(nodeSelection.getRange(docElement), parentNodes[index1].parentNode));
14282
14282
  }
14283
14283
  var blockquoteNode = closest(parentNodes[index1], 'blockquote');
14284
14284
  if (parentNodes[index1].nodeName.toLocaleLowerCase() !== 'blockquote' && !isNullOrUndefined(blockquoteNode) && blockquoteNode.textContent === parentNodes[index1].textContent) {
14285
- var blockNodes = this.removeParent([blockquoteNode]);
14286
- this.unWrap(docElement, blockNodes, nodeCutter, nodeSelection);
14285
+ var blockNodes = this_1.removeParent([blockquoteNode]);
14286
+ this_1.unWrap(docElement, blockNodes, nodeCutter, nodeSelection);
14287
14287
  }
14288
14288
  if (parentNodes[index1].nodeName.toLocaleLowerCase() !== 'p') {
14289
- if (this.NONVALID_PARENT_TAGS.indexOf(parentNodes[index1].nodeName.toLowerCase()) < 0
14289
+ if (this_1.NONVALID_PARENT_TAGS.indexOf(parentNodes[index1].nodeName.toLowerCase()) < 0
14290
14290
  && !((parentNodes[index1].nodeName.toLocaleLowerCase() === 'blockquote'
14291
14291
  || parentNodes[index1].nodeName.toLocaleLowerCase() === 'li')
14292
- && this.IGNORE_PARENT_TAGS.indexOf(parentNodes[index1].childNodes[0].nodeName.toLocaleLowerCase()) > -1)
14292
+ && this_1.IGNORE_PARENT_TAGS.indexOf(parentNodes[index1].childNodes[0].nodeName.toLocaleLowerCase()) > -1)
14293
14293
  && !(parentNodes[index1].childNodes.length === 1
14294
14294
  && parentNodes[index1].childNodes[0].nodeName.toLocaleLowerCase() === 'p')) {
14295
- InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this.defaultTag));
14295
+ var target = parentNodes[index1];
14296
+ if (['TABLE', 'TD', 'TH', 'TBODY', 'TR'].indexOf(target.nodeName) !== -1) {
14297
+ if (target.hasAttribute('style')) {
14298
+ target.removeAttribute('style'); // Remove style if present
14299
+ }
14300
+ if (target.hasAttribute('class')) {
14301
+ var allowedClasses_1 = new Set(['e-rte-table', 'e-rte-paste-table', 'e-rte-custom-table']);
14302
+ var filteredClasses = target.className
14303
+ .split(/\s+/)
14304
+ .filter(function (cls) { return allowedClasses_1.has(cls); });
14305
+ if (filteredClasses.length > 0) {
14306
+ target.className = filteredClasses.join(' ');
14307
+ }
14308
+ else {
14309
+ target.removeAttribute('class');
14310
+ }
14311
+ }
14312
+ }
14313
+ else {
14314
+ InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this_1.defaultTag));
14315
+ }
14316
+ }
14317
+ var childNodes = [];
14318
+ if (parentNodes[index1].nodeName === 'TABLE' || parentNodes[index1].nodeName === 'TD' || parentNodes[index1].nodeName === 'TH' ||
14319
+ parentNodes[index1].nodeName === 'TBODY' || parentNodes[index1].nodeName === 'TR') {
14320
+ childNodes = Array.from(parentNodes[index1].childNodes);
14321
+ }
14322
+ else {
14323
+ childNodes = InsertMethods.unwrap(parentNodes[index1]);
14296
14324
  }
14297
- var childNodes = InsertMethods.unwrap(parentNodes[index1]);
14298
14325
  if (childNodes.length === 1
14299
14326
  && childNodes[0].parentNode.nodeName.toLocaleLowerCase() === 'p') {
14300
- InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this.defaultTag));
14327
+ InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this_1.defaultTag));
14301
14328
  InsertMethods.unwrap(parentNodes[index1]);
14302
14329
  }
14303
14330
  for (var index2 = 0; index2 < childNodes.length; index2++) {
14304
- if (this.NONVALID_TAGS.indexOf(childNodes[index2].nodeName.toLowerCase()) > -1) {
14305
- this.unWrap(docElement, [childNodes[index2]], nodeCutter, nodeSelection);
14331
+ if (this_1.NONVALID_TAGS.indexOf(childNodes[index2].nodeName.toLowerCase()) > -1) {
14332
+ this_1.unWrap(docElement, [childNodes[index2]], nodeCutter, nodeSelection);
14306
14333
  }
14307
- else if (this.BLOCK_TAGS.indexOf(childNodes[index2].nodeName.toLocaleLowerCase()) > -1 &&
14334
+ else if (this_1.BLOCK_TAGS.indexOf(childNodes[index2].nodeName.toLocaleLowerCase()) > -1 &&
14308
14335
  childNodes[index2].nodeName.toLocaleLowerCase() !== 'p') {
14309
- var blockNodes = this.removeParent([childNodes[index2]]);
14310
- this.unWrap(docElement, blockNodes, nodeCutter, nodeSelection);
14336
+ var blockNodes = this_1.removeParent([childNodes[index2]]);
14337
+ this_1.unWrap(docElement, blockNodes, nodeCutter, nodeSelection);
14311
14338
  }
14312
- else if (this.BLOCK_TAGS.indexOf(childNodes[index2].nodeName.toLocaleLowerCase()) > -1 &&
14339
+ else if (this_1.BLOCK_TAGS.indexOf(childNodes[index2].nodeName.toLocaleLowerCase()) > -1 &&
14313
14340
  childNodes[index2].nodeName.toLocaleLowerCase() === 'p') {
14314
14341
  if (childNodes[index2].parentNode.nodeName.toLocaleLowerCase() === 'p') {
14315
14342
  InsertMethods.unwrap(childNodes[index2].parentNode);
14316
14343
  }
14317
- InsertMethods.Wrap(childNodes[index2], docElement.createElement(this.defaultTag));
14344
+ InsertMethods.Wrap(childNodes[index2], docElement.createElement(this_1.defaultTag));
14318
14345
  InsertMethods.unwrap(childNodes[index2]);
14319
14346
  }
14320
- else if (this.BLOCK_TAGS.indexOf(childNodes[index2].nodeName.toLocaleLowerCase()) > -1 &&
14347
+ else if (this_1.BLOCK_TAGS.indexOf(childNodes[index2].nodeName.toLocaleLowerCase()) > -1 &&
14321
14348
  childNodes[index2].parentNode.nodeName.toLocaleLowerCase() ===
14322
14349
  childNodes[index2].nodeName.toLocaleLowerCase()) {
14323
14350
  InsertMethods.unwrap(childNodes[index2]);
@@ -14325,9 +14352,13 @@ var ClearFormat = /** @class */ (function () {
14325
14352
  }
14326
14353
  }
14327
14354
  else {
14328
- InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this.defaultTag));
14355
+ InsertMethods.Wrap(parentNodes[index1], docElement.createElement(this_1.defaultTag));
14329
14356
  InsertMethods.unwrap(parentNodes[index1]);
14330
14357
  }
14358
+ };
14359
+ var this_1 = this;
14360
+ for (var index1 = 0; index1 < parentNodes.length; index1++) {
14361
+ _loop_1(index1);
14331
14362
  }
14332
14363
  };
14333
14364
  ClearFormat.clearInlines = function (textNodes, nodes, range, nodeCutter,
@@ -14363,10 +14394,10 @@ var ClearFormat = /** @class */ (function () {
14363
14394
  ClearFormat.BLOCK_TAGS = ['address', 'article', 'aside', 'blockquote',
14364
14395
  'details', 'dd', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer',
14365
14396
  'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'li', 'main', 'nav',
14366
- 'noscript', 'ol', 'p', 'pre', 'section', 'ul'];
14367
- ClearFormat.NONVALID_PARENT_TAGS = ['thead', 'tbody', 'ul', 'ol', 'table', 'tfoot', 'tr'];
14397
+ 'noscript', 'ol', 'p', 'pre', 'section', 'ul', 'table', 'td', 'th', 'tbody', 'tr'];
14398
+ ClearFormat.NONVALID_PARENT_TAGS = ['thead', 'ul', 'ol', 'tfoot'];
14368
14399
  ClearFormat.IGNORE_PARENT_TAGS = ['ul', 'ol', 'table'];
14369
- ClearFormat.NONVALID_TAGS = ['thead', 'tbody', 'figcaption', 'td', 'tr', 'th', 'tfoot', 'figcaption', 'li'];
14400
+ ClearFormat.NONVALID_TAGS = ['thead', 'figcaption', 'tr', 'tfoot', 'figcaption', 'li'];
14370
14401
  ClearFormat.defaultTag = 'p';
14371
14402
  return ClearFormat;
14372
14403
  }());
@@ -27957,6 +27988,9 @@ var ImageSettings = /** @class */ (function (_super) {
27957
27988
  __decorate$1([
27958
27989
  Property(false)
27959
27990
  ], ImageSettings.prototype, "resizeByPercent", void 0);
27991
+ __decorate$1([
27992
+ Property(false)
27993
+ ], ImageSettings.prototype, "uploadRemoteURLs", void 0);
27960
27994
  return ImageSettings;
27961
27995
  }(ChildProperty));
27962
27996
  /**
@@ -28982,7 +29016,7 @@ var EnterKeyAction = /** @class */ (function () {
28982
29016
  }
28983
29017
  }
28984
29018
  else if (nearBlockNode !== _this.parent.inputElement && nearBlockNode.textContent.length === 0 && !(!isNullOrUndefined(nearBlockNode.childNodes[0]) && nearBlockNode.childNodes[0].nodeName === 'IMG' ||
28985
- (nearBlockNode.querySelectorAll('video').length > 0) || (nearBlockNode.querySelectorAll('audio').length > 0) || (nearBlockNode.querySelectorAll('img').length > 0))) {
29019
+ (nearBlockNode.querySelectorAll('video').length > 0) || (nearBlockNode.querySelectorAll('.e-video-wrap').length > 0) || (nearBlockNode.querySelectorAll('audio').length > 0) || (nearBlockNode.querySelectorAll('img').length > 0))) {
28986
29020
  if (!isNullOrUndefined(nearBlockNode.children[0]) && nearBlockNode.children[0].tagName !== 'BR') {
28987
29021
  var newElem = _this.parent.formatter.editorManager.nodeCutter.SplitNode(_this.range, nearBlockNode, false).cloneNode(true);
28988
29022
  _this.parent.formatter.editorManager.domNode.insertAfter(newElem, nearBlockNode);
@@ -28998,7 +29032,7 @@ var EnterKeyAction = /** @class */ (function () {
28998
29032
  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')) ||
28999
29033
  (_this.range.startContainer.nodeName === 'SPAN' && (_this.range.startContainer.classList.contains('e-video-wrap') ||
29000
29034
  _this.range.startContainer.classList.contains('e-audio-wrap'))))) {
29001
- if (nearBlockNode.textContent.trim().length > 0) {
29035
+ if (nearBlockNode.textContent.trim().length > 0 && !(nearBlockNode.querySelector('iframe') && nearBlockNode.textContent === '&ZeroWidthSpace;')) {
29002
29036
  var newElem = _this.parent.formatter.editorManager.nodeCutter.SplitNode(_this.range, nearBlockNode, true);
29003
29037
  var audioVideoElem = !isNullOrUndefined(newElem.previousSibling.querySelector('.e-video-wrap')) ?
29004
29038
  newElem.previousSibling.querySelector('.e-video-wrap') : newElem.previousSibling.querySelector('.e-audio-wrap');
@@ -29021,20 +29055,32 @@ var EnterKeyAction = /** @class */ (function () {
29021
29055
  }
29022
29056
  detach(audioVideoElem);
29023
29057
  }
29058
+ else if (!isNullOrUndefined(newElem) && !newElem.hasChildNodes()) {
29059
+ var brElm = _this.parent.createElement('br');
29060
+ newElem.appendChild(brElm);
29061
+ _this.parent.formatter.editorManager.nodeSelection.setCursorPoint(_this.parent.contentModule.getDocument(), newElem, 0);
29062
+ }
29024
29063
  }
29025
29064
  else {
29026
29065
  var newElem = _this.parent.formatter.editorManager.nodeCutter.SplitNode(_this.range, nearBlockNode, true);
29027
29066
  var focusElem = newElem.hasChildNodes() ? newElem.previousSibling : newElem;
29028
29067
  var imageElem = !isNullOrUndefined(newElem.querySelector('img')) ?
29029
29068
  newElem.querySelector('img') : null;
29069
+ var videoElem = !isNullOrUndefined(newElem.querySelector('.e-video-wrap')) ?
29070
+ newElem.querySelector('.e-video-wrap') : null;
29030
29071
  var insertElem = _this.createInsertElement(shiftKey_1);
29031
- if (!isNullOrUndefined(imageElem)) {
29072
+ if (!isNullOrUndefined(imageElem) || !isNullOrUndefined(videoElem)) {
29032
29073
  if (isFocusedFirst) {
29033
29074
  newElem.parentElement.insertBefore(insertElem, newElem);
29034
29075
  focusElem = newElem.previousSibling;
29035
29076
  }
29036
29077
  else {
29037
29078
  _this.parent.formatter.editorManager.domNode.insertAfter(insertElem, newElem);
29079
+ var isVideoInfocusElem = videoElem && focusElem.nodeType === Node.ELEMENT_NODE && focusElem.children.length === 1 && focusElem.lastChild.classList.contains('e-video-wrap');
29080
+ if (!isNullOrUndefined(focusElem) && focusElem !== newElem && newElem.previousSibling === focusElem &&
29081
+ isVideoInfocusElem) {
29082
+ detach(focusElem);
29083
+ }
29038
29084
  focusElem = newElem.nextSibling;
29039
29085
  }
29040
29086
  }
@@ -29168,11 +29214,12 @@ var EnterKeyAction = /** @class */ (function () {
29168
29214
  var isImageElement = (_this.range.startContainer.nodeName === 'IMG' || (_this.range.startContainer.childNodes.length > 0
29169
29215
  && !isNullOrUndefined(_this.range.startContainer.childNodes[_this.range.startOffset]) && _this.range.startContainer.childNodes[_this.range.startOffset].nodeName === 'IMG') || (_this.range.startContainer.nodeType === 1 &&
29170
29216
  _this.range.startContainer.querySelector('img') !== null));
29217
+ var 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';
29171
29218
  if (currentParent !== _this.parent.inputElement &&
29172
29219
  _this.parent.formatter.editorManager.domNode.isBlockNode(currentParent) &&
29173
29220
  _this.range.startOffset === _this.range.endOffset &&
29174
29221
  (_this.range.startOffset === isLastNodeLength ||
29175
- (currentParent.textContent.trim().length === 0 && isImageElement))) {
29222
+ (currentParent.textContent.trim().length === 0 && (isImageElement || isImageWithWhiteSpace)))) {
29176
29223
  var focusBRElem = _this.parent.createElement('br');
29177
29224
  if (_this.range.startOffset === 0 && _this.range.startContainer.nodeName === 'TABLE') {
29178
29225
  _this.range.startContainer.parentElement.insertBefore(focusBRElem, _this.range.startContainer);
@@ -29189,11 +29236,17 @@ var EnterKeyAction = /** @class */ (function () {
29189
29236
  else {
29190
29237
  var lineBreakBRElem = _this.parent.createElement('br');
29191
29238
  var parentElement = _this.range.startContainer.parentElement;
29239
+ var startContainer = _this.range.startContainer;
29240
+ var isImageInBlock = isImageElement && startContainer.nodeName !== 'IMG' && startContainer.childNodes[_this.range.startOffset - 1] &&
29241
+ startContainer.childNodes[_this.range.startOffset - 1].nodeName === 'IMG';
29192
29242
  var anchorElement = void 0;
29193
29243
  if (parentElement && parentElement.nodeName === 'A' &&
29194
29244
  parentElement.textContent.length === _this.range.startOffset) {
29195
29245
  anchorElement = parentElement;
29196
29246
  }
29247
+ else if (isImageInBlock) {
29248
+ anchorElement = startContainer.childNodes[_this.range.startOffset - 1];
29249
+ }
29197
29250
  else if (parentElement) {
29198
29251
  var closestAnchor = parentElement.closest('a');
29199
29252
  anchorElement = closestAnchor ? closestAnchor : _this.range.startContainer;
@@ -29214,7 +29267,7 @@ var EnterKeyAction = /** @class */ (function () {
29214
29267
  if (currentParent.textContent.trim().length === 0 || (currentParent.textContent.trim().length === 1 &&
29215
29268
  currentParent.textContent.charCodeAt(0) === 8203)) {
29216
29269
  if ((currentParent.childElementCount > 0 && currentParent.lastElementChild.nodeName === 'IMG') || (currentParent.lastElementChild && currentParent.lastElementChild.nodeName === 'BR') || !isNullOrUndefined(currentParent.firstElementChild) &&
29217
- (currentParent.querySelector('.e-video-wrap') || currentParent.querySelector('.e-audio-wrap'))) {
29270
+ (currentParent.querySelector('.e-video-wrap') || currentParent.classList.contains('e-video-wrap') || currentParent.querySelector('.e-audio-wrap') || currentParent.classList.contains('e-audio-wrap'))) {
29218
29271
  _this.insertBRElement();
29219
29272
  }
29220
29273
  else {
@@ -29315,9 +29368,6 @@ var EnterKeyAction = /** @class */ (function () {
29315
29368
  }
29316
29369
  else if (this.startNode.tagName === 'SPAN' && (this.startNode.classList.contains('e-video-wrap') || this.startNode.classList.contains('e-audio-wrap'))) {
29317
29370
  this.startNode.parentElement.insertBefore(brElm, this.startNode);
29318
- var nearBlockNode = this.parent.formatter.editorManager.domNode.blockParentNode(this.startNode);
29319
- var newElem = this.parent.formatter.editorManager.nodeCutter.SplitNode(this.range, nearBlockNode, true);
29320
- detach(newElem.previousSibling.childNodes[1]);
29321
29371
  isEmptyBrInserted = true;
29322
29372
  }
29323
29373
  else if (this.startNode.nodeType === Node.ELEMENT_NODE && this.startNode.childElementCount > 0 && this.startNode.lastElementChild.nodeName === 'IMG') {
@@ -29330,7 +29380,7 @@ var EnterKeyAction = /** @class */ (function () {
29330
29380
  isEmptyBrInserted = true;
29331
29381
  }
29332
29382
  }
29333
- var 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');
29383
+ var 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');
29334
29384
  var isMediaElement = !isNullOrUndefined(brElm.nextSibling) && (!isNullOrUndefined(brElm.nextSibling.classList) && (brElm.nextSibling.classList.contains('e-video-wrap') || brElm.nextSibling.classList.contains('e-audio-wrap')));
29335
29385
  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))) {
29336
29386
  this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), !isNullOrUndefined(brElm.nextSibling) && isFocusTextNode &&
@@ -30482,12 +30532,13 @@ var RichTextEditor = /** @class */ (function (_super) {
30482
30532
  if (!isNullOrUndefined(this.placeholder)) {
30483
30533
  this.setPlaceHolder();
30484
30534
  }
30485
- if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete')) {
30535
+ if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete' || e.code === 'KeyX')) {
30486
30536
  var range = this.contentModule.getDocument().getSelection().getRangeAt(0);
30487
30537
  var div = document.createElement('div');
30488
30538
  div.appendChild(range.cloneContents());
30489
30539
  var selectedHTML = div.innerHTML;
30490
- if (selectedHTML === this.inputElement.innerHTML) {
30540
+ if (selectedHTML === this.inputElement.innerHTML || (range.commonAncestorContainer === this.inputElement &&
30541
+ selectedHTML === this.inputElement.textContent.trim())) {
30491
30542
  this.isCopyAll = true;
30492
30543
  }
30493
30544
  }
@@ -30499,7 +30550,7 @@ var RichTextEditor = /** @class */ (function (_super) {
30499
30550
  RichTextEditor.prototype.keyUp = function (e) {
30500
30551
  if (this.editorMode === 'HTML') {
30501
30552
  var range = this.getRange();
30502
- if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete')) {
30553
+ if (!isNullOrUndefined(e) && !isNullOrUndefined(e.code) && (e.code === 'Backspace' || e.code === 'Delete' || e.code === 'KeyX')) {
30503
30554
  // To prevent the reformatting the content removed browser behavior.
30504
30555
  var currentRange = this.getRange();
30505
30556
  var selection = this.iframeSettings.enable ? this.contentModule.getPanel().ownerDocument.getSelection() :
@@ -40454,7 +40505,12 @@ var PasteCleanup = /** @class */ (function () {
40454
40505
  }
40455
40506
  if (e.args && value !== null && this.parent.editorMode === 'HTML') {
40456
40507
  var file = void 0;
40457
- if (value.length === 0) {
40508
+ var files = e.args.clipboardData.files;
40509
+ var elm = createElement('p');
40510
+ elm.innerHTML = value;
40511
+ var source = this.findSource(elm);
40512
+ var extractedSRC = this.parent.insertImageSettings.uploadRemoteURLs ? this.extractImageSrcDOM(value) : null;
40513
+ if (value.length === 0 || (!isNullOrUndefined(files) && files.length > 0 && source === 'html')) {
40458
40514
  var htmlRegex = new RegExp(/<\/[a-z][\s\S]*>/i);
40459
40515
  value = e.args.clipboardData.getData('text/plain');
40460
40516
  this.parent.trigger(beforePasteCleanup, { value: value });
@@ -40497,6 +40553,14 @@ var PasteCleanup = /** @class */ (function () {
40497
40553
  value = divElement.innerHTML;
40498
40554
  }
40499
40555
  }
40556
+ else if (Array.isArray(extractedSRC) && extractedSRC.length &&
40557
+ this.parent.insertImageSettings.saveUrl && this.parent.insertImageSettings.path) {
40558
+ this.parent.trigger(beforePasteCleanup, { value: value });
40559
+ for (var i = 0; i < extractedSRC.length; i++) {
40560
+ var src = extractedSRC[i];
40561
+ this.fetchImageWithMetadata(src);
40562
+ }
40563
+ }
40500
40564
  else if (value.length > 0) {
40501
40565
  this.parent.trigger(beforePasteCleanup, { value: value });
40502
40566
  this.parent.formatter.editorManager.observer.notify(MS_WORD_CLEANUP, {
@@ -40553,6 +40617,69 @@ var PasteCleanup = /** @class */ (function () {
40553
40617
  }
40554
40618
  }
40555
40619
  };
40620
+ PasteCleanup.prototype.findSource = function (element) {
40621
+ var metaNodes = element.querySelectorAll('meta');
40622
+ for (var i = 0; i < metaNodes.length; i++) {
40623
+ var metaNode = metaNodes[i];
40624
+ var content = metaNode.getAttribute('content');
40625
+ var name_1 = metaNode.getAttribute('name');
40626
+ if (name_1 && name_1.toLowerCase().indexOf('generator') >= 0 && content && content.toLowerCase().indexOf('microsoft') >= 0) {
40627
+ for (var j = 0; j < PASTE_SOURCE.length; j++) {
40628
+ if (content.toLowerCase().indexOf(PASTE_SOURCE[j]) >= 0) {
40629
+ return PASTE_SOURCE[j];
40630
+ }
40631
+ }
40632
+ }
40633
+ }
40634
+ return 'html';
40635
+ };
40636
+ PasteCleanup.prototype.extractImageSrcDOM = function (value) {
40637
+ if (!value || typeof value !== 'string') {
40638
+ return null;
40639
+ }
40640
+ var parser = new DOMParser();
40641
+ var doc = parser.parseFromString(value, 'text/html');
40642
+ var images = doc.querySelectorAll('img');
40643
+ if (images.length === 0) {
40644
+ return null;
40645
+ }
40646
+ var srcs = Array.from(images)
40647
+ .map(function (img) { return img.getAttribute('src') || img.src || ''; })
40648
+ .map(function (src) { return src.trim(); })
40649
+ .filter(function (src) { return !!src; })
40650
+ // Exclude base64/data URLs, blob URLs, and anything containing "id="
40651
+ .filter(function (src) {
40652
+ var s = src.toLowerCase();
40653
+ return !s.startsWith('data:') && !s.includes('base64') && !s.startsWith('blob:') && !s.includes('id=');
40654
+ });
40655
+ return srcs.length ? srcs : null;
40656
+ };
40657
+ PasteCleanup.prototype.fetchImageWithMetadata = function (url) {
40658
+ var _this = this;
40659
+ fetch(url)
40660
+ .then(function (response) {
40661
+ if (!response.ok) {
40662
+ console.warn("Fetch status " + response.status + " for: " + url);
40663
+ return null;
40664
+ }
40665
+ return response.blob();
40666
+ })
40667
+ .then(function (blob) {
40668
+ if (blob) {
40669
+ var filename = _this.getFilenameFromUrl(url) || 'downloaded-image.jpg';
40670
+ var mimeType = blob.type || 'image/jpeg';
40671
+ var file = new File([blob], filename, { type: mimeType });
40672
+ var imageElement = _this.parent.inputElement.querySelector("img[src=\"" + url + "\"]");
40673
+ _this.uploadMethod(file, imageElement);
40674
+ }
40675
+ });
40676
+ };
40677
+ // Helper method to extract filename from URL
40678
+ PasteCleanup.prototype.getFilenameFromUrl = function (url) {
40679
+ var pathname = new URL(url).pathname;
40680
+ var filename = pathname.substring(pathname.lastIndexOf('/') + 1);
40681
+ return filename || 'image.jpg';
40682
+ };
40556
40683
  PasteCleanup.prototype.splitBreakLine = function (value) {
40557
40684
  var enterSplitText = value.split('\r\n\r\n');
40558
40685
  var finalText = '';