roosterjs-content-model-plugins 9.43.0 → 9.45.0

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 (1501) hide show
  1. package/lib/announce/AnnouncePlugin.d.ts +32 -32
  2. package/lib/announce/AnnouncePlugin.js +65 -65
  3. package/lib/announce/AnnouncePlugin.js.map +1 -1
  4. package/lib/announce/tableSelectionUtils.d.ts +17 -17
  5. package/lib/announce/tableSelectionUtils.js +68 -71
  6. package/lib/announce/tableSelectionUtils.js.map +1 -1
  7. package/lib/autoFormat/AutoFormatPlugin.d.ts +59 -59
  8. package/lib/autoFormat/AutoFormatPlugin.js +298 -298
  9. package/lib/autoFormat/AutoFormatPlugin.js.map +1 -1
  10. package/lib/autoFormat/horizontalLine/checkAndInsertHorizontalLine.d.ts +24 -24
  11. package/lib/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js +91 -91
  12. package/lib/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js.map +1 -1
  13. package/lib/autoFormat/hyphen/transformHyphen.d.ts +5 -5
  14. package/lib/autoFormat/hyphen/transformHyphen.js +34 -34
  15. package/lib/autoFormat/hyphen/transformHyphen.js.map +1 -1
  16. package/lib/autoFormat/interface/AutoFormatOptions.d.ts +34 -34
  17. package/lib/autoFormat/interface/AutoFormatOptions.js +2 -2
  18. package/lib/autoFormat/interface/AutoFormatOptions.js.map +1 -1
  19. package/lib/autoFormat/link/createLink.d.ts +5 -5
  20. package/lib/autoFormat/link/createLink.js +35 -35
  21. package/lib/autoFormat/link/createLink.js.map +1 -1
  22. package/lib/autoFormat/link/unlink.d.ts +5 -5
  23. package/lib/autoFormat/link/unlink.js +18 -18
  24. package/lib/autoFormat/link/unlink.js.map +1 -1
  25. package/lib/autoFormat/list/convertAlphaToDecimals.d.ts +7 -7
  26. package/lib/autoFormat/list/convertAlphaToDecimals.js +22 -22
  27. package/lib/autoFormat/list/convertAlphaToDecimals.js.map +1 -1
  28. package/lib/autoFormat/list/getIndex.d.ts +4 -4
  29. package/lib/autoFormat/list/getIndex.js +13 -13
  30. package/lib/autoFormat/list/getIndex.js.map +1 -1
  31. package/lib/autoFormat/list/getListTypeStyle.d.ts +14 -14
  32. package/lib/autoFormat/list/getListTypeStyle.js +99 -99
  33. package/lib/autoFormat/list/getListTypeStyle.js.map +1 -1
  34. package/lib/autoFormat/list/getNumberingListStyle.d.ts +4 -4
  35. package/lib/autoFormat/list/getNumberingListStyle.js +153 -153
  36. package/lib/autoFormat/list/getNumberingListStyle.js.map +1 -1
  37. package/lib/autoFormat/list/keyboardListTrigger.d.ts +5 -5
  38. package/lib/autoFormat/list/keyboardListTrigger.js +49 -49
  39. package/lib/autoFormat/list/keyboardListTrigger.js.map +1 -1
  40. package/lib/autoFormat/numbers/transformFraction.d.ts +5 -5
  41. package/lib/autoFormat/numbers/transformFraction.js +27 -27
  42. package/lib/autoFormat/numbers/transformFraction.js.map +1 -1
  43. package/lib/autoFormat/numbers/transformOrdinals.d.ts +4 -4
  44. package/lib/autoFormat/numbers/transformOrdinals.js +65 -64
  45. package/lib/autoFormat/numbers/transformOrdinals.js.map +1 -1
  46. package/lib/contextMenuBase/ContextMenuPluginBase.d.ts +58 -58
  47. package/lib/contextMenuBase/ContextMenuPluginBase.js +83 -83
  48. package/lib/contextMenuBase/ContextMenuPluginBase.js.map +1 -1
  49. package/lib/customReplace/CustomReplacePlugin.d.ts +61 -61
  50. package/lib/customReplace/CustomReplacePlugin.js +86 -86
  51. package/lib/customReplace/CustomReplacePlugin.js.map +1 -1
  52. package/lib/edit/EditOptions.d.ts +78 -45
  53. package/lib/edit/EditOptions.js +2 -2
  54. package/lib/edit/EditOptions.js.map +1 -1
  55. package/lib/edit/EditPlugin.d.ts +60 -60
  56. package/lib/edit/EditPlugin.js +256 -238
  57. package/lib/edit/EditPlugin.js.map +1 -1
  58. package/lib/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
  59. package/lib/edit/deleteSteps/deleteAllSegmentBefore.js +23 -23
  60. package/lib/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  61. package/lib/edit/deleteSteps/deleteCollapsedSelection.d.ts +10 -10
  62. package/lib/edit/deleteSteps/deleteCollapsedSelection.js +114 -114
  63. package/lib/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  64. package/lib/edit/deleteSteps/deleteEmptyQuote.d.ts +5 -5
  65. package/lib/edit/deleteSteps/deleteEmptyQuote.js +62 -62
  66. package/lib/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
  67. package/lib/edit/deleteSteps/deleteList.d.ts +5 -5
  68. package/lib/edit/deleteSteps/deleteList.js +58 -28
  69. package/lib/edit/deleteSteps/deleteList.js.map +1 -1
  70. package/lib/edit/deleteSteps/deleteParagraphStyle.d.ts +5 -5
  71. package/lib/edit/deleteSteps/deleteParagraphStyle.js +36 -36
  72. package/lib/edit/deleteSteps/deleteParagraphStyle.js.map +1 -1
  73. package/lib/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
  74. package/lib/edit/deleteSteps/deleteWordSelection.js +172 -172
  75. package/lib/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  76. package/lib/edit/handleKeyboardEventCommon.d.ts +14 -14
  77. package/lib/edit/handleKeyboardEventCommon.js +71 -71
  78. package/lib/edit/handleKeyboardEventCommon.js.map +1 -1
  79. package/lib/edit/inputSteps/handleAutoLink.d.ts +5 -5
  80. package/lib/edit/inputSteps/handleAutoLink.js +24 -24
  81. package/lib/edit/inputSteps/handleAutoLink.js.map +1 -1
  82. package/lib/edit/inputSteps/handleEnterOnList.d.ts +5 -5
  83. package/lib/edit/inputSteps/handleEnterOnList.js +71 -71
  84. package/lib/edit/inputSteps/handleEnterOnList.js.map +1 -1
  85. package/lib/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -5
  86. package/lib/edit/inputSteps/handleEnterOnParagraph.js +21 -21
  87. package/lib/edit/inputSteps/handleEnterOnParagraph.js.map +1 -1
  88. package/lib/edit/keyboardDelete.d.ts +11 -11
  89. package/lib/edit/keyboardDelete.js +114 -114
  90. package/lib/edit/keyboardDelete.js.map +1 -1
  91. package/lib/edit/keyboardEnter.d.ts +5 -5
  92. package/lib/edit/keyboardEnter.js +54 -54
  93. package/lib/edit/keyboardEnter.js.map +1 -1
  94. package/lib/edit/keyboardInput.d.ts +5 -5
  95. package/lib/edit/keyboardInput.js +64 -64
  96. package/lib/edit/keyboardInput.js.map +1 -1
  97. package/lib/edit/keyboardTab.d.ts +6 -5
  98. package/lib/edit/keyboardTab.js +74 -64
  99. package/lib/edit/keyboardTab.js.map +1 -1
  100. package/lib/edit/tabUtils/handleTabOnList.d.ts +7 -7
  101. package/lib/edit/tabUtils/handleTabOnList.js +33 -33
  102. package/lib/edit/tabUtils/handleTabOnList.js.map +1 -1
  103. package/lib/edit/tabUtils/handleTabOnParagraph.d.ts +17 -17
  104. package/lib/edit/tabUtils/handleTabOnParagraph.js +94 -94
  105. package/lib/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
  106. package/lib/edit/tabUtils/handleTabOnTable.d.ts +6 -6
  107. package/lib/edit/tabUtils/handleTabOnTable.js +25 -25
  108. package/lib/edit/tabUtils/handleTabOnTable.js.map +1 -1
  109. package/lib/edit/tabUtils/handleTabOnTableCell.d.ts +6 -6
  110. package/lib/edit/tabUtils/handleTabOnTableCell.js +43 -43
  111. package/lib/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
  112. package/lib/edit/utils/getLeafSiblingBlock.d.ts +45 -45
  113. package/lib/edit/utils/getLeafSiblingBlock.js +72 -72
  114. package/lib/edit/utils/getLeafSiblingBlock.js.map +1 -1
  115. package/lib/edit/utils/preserveParagraphFormat.d.ts +9 -9
  116. package/lib/edit/utils/preserveParagraphFormat.js +23 -23
  117. package/lib/edit/utils/preserveParagraphFormat.js.map +1 -1
  118. package/lib/edit/utils/splitParagraph.d.ts +12 -12
  119. package/lib/edit/utils/splitParagraph.js +40 -40
  120. package/lib/edit/utils/splitParagraph.js.map +1 -1
  121. package/lib/findReplace/FindReplacePlugin.d.ts +42 -42
  122. package/lib/findReplace/FindReplacePlugin.js +97 -96
  123. package/lib/findReplace/FindReplacePlugin.js.map +1 -1
  124. package/lib/findReplace/createFindReplaceContext.d.ts +8 -8
  125. package/lib/findReplace/createFindReplaceContext.js +25 -25
  126. package/lib/findReplace/createFindReplaceContext.js.map +1 -1
  127. package/lib/findReplace/find.d.ts +11 -11
  128. package/lib/findReplace/find.js +19 -19
  129. package/lib/findReplace/find.js.map +1 -1
  130. package/lib/findReplace/moveHighlight.d.ts +9 -9
  131. package/lib/findReplace/moveHighlight.js +20 -20
  132. package/lib/findReplace/moveHighlight.js.map +1 -1
  133. package/lib/findReplace/replace.d.ts +10 -10
  134. package/lib/findReplace/replace.js +47 -47
  135. package/lib/findReplace/replace.js.map +1 -1
  136. package/lib/findReplace/types/FindReplaceContext.d.ts +38 -38
  137. package/lib/findReplace/types/FindReplaceContext.js +2 -2
  138. package/lib/findReplace/types/FindReplaceContext.js.map +1 -1
  139. package/lib/findReplace/types/FindReplaceHighlightOptions.d.ts +13 -13
  140. package/lib/findReplace/types/FindReplaceHighlightOptions.js +2 -2
  141. package/lib/findReplace/types/FindReplaceHighlightOptions.js.map +1 -1
  142. package/lib/findReplace/types/HighlightHelper.d.ts +23 -23
  143. package/lib/findReplace/types/HighlightHelper.js +2 -2
  144. package/lib/findReplace/types/HighlightHelper.js.map +1 -1
  145. package/lib/findReplace/utils/HighlightHelperImpl.d.ts +9 -9
  146. package/lib/findReplace/utils/HighlightHelperImpl.js +64 -64
  147. package/lib/findReplace/utils/HighlightHelperImpl.js.map +1 -1
  148. package/lib/findReplace/utils/constants.d.ts +28 -28
  149. package/lib/findReplace/utils/constants.js +31 -31
  150. package/lib/findReplace/utils/constants.js.map +1 -1
  151. package/lib/findReplace/utils/replaceTextInRange.d.ts +4 -4
  152. package/lib/findReplace/utils/replaceTextInRange.js +70 -70
  153. package/lib/findReplace/utils/replaceTextInRange.js.map +1 -1
  154. package/lib/findReplace/utils/setMarkedIndex.d.ts +6 -6
  155. package/lib/findReplace/utils/setMarkedIndex.js +28 -28
  156. package/lib/findReplace/utils/setMarkedIndex.js.map +1 -1
  157. package/lib/findReplace/utils/sortRanges.d.ts +5 -5
  158. package/lib/findReplace/utils/sortRanges.js +22 -22
  159. package/lib/findReplace/utils/sortRanges.js.map +1 -1
  160. package/lib/findReplace/utils/updateHighlight.d.ts +6 -6
  161. package/lib/findReplace/utils/updateHighlight.js +47 -47
  162. package/lib/findReplace/utils/updateHighlight.js.map +1 -1
  163. package/lib/hiddenProperty/HiddenPropertyOptions.d.ts +11 -11
  164. package/lib/hiddenProperty/HiddenPropertyOptions.js +2 -2
  165. package/lib/hiddenProperty/HiddenPropertyOptions.js.map +1 -1
  166. package/lib/hiddenProperty/HiddenPropertyPlugin.d.ts +38 -38
  167. package/lib/hiddenProperty/HiddenPropertyPlugin.js +57 -57
  168. package/lib/hiddenProperty/HiddenPropertyPlugin.js.map +1 -1
  169. package/lib/hiddenProperty/fixupHiddenProperties.d.ts +9 -9
  170. package/lib/hiddenProperty/fixupHiddenProperties.js +37 -37
  171. package/lib/hiddenProperty/fixupHiddenProperties.js.map +1 -1
  172. package/lib/hyperlink/HyperlinkPlugin.d.ts +48 -48
  173. package/lib/hyperlink/HyperlinkPlugin.js +143 -143
  174. package/lib/hyperlink/HyperlinkPlugin.js.map +1 -1
  175. package/lib/hyperlink/HyperlinkToolTip.d.ts +7 -7
  176. package/lib/hyperlink/HyperlinkToolTip.js +2 -2
  177. package/lib/hyperlink/HyperlinkToolTip.js.map +1 -1
  178. package/lib/imageEdit/Cropper/createImageCropper.d.ts +10 -10
  179. package/lib/imageEdit/Cropper/createImageCropper.js +79 -79
  180. package/lib/imageEdit/Cropper/createImageCropper.js.map +1 -1
  181. package/lib/imageEdit/Cropper/cropperContext.d.ts +8 -8
  182. package/lib/imageEdit/Cropper/cropperContext.js +72 -72
  183. package/lib/imageEdit/Cropper/cropperContext.js.map +1 -1
  184. package/lib/imageEdit/ImageEditPlugin.d.ts +86 -86
  185. package/lib/imageEdit/ImageEditPlugin.js +584 -585
  186. package/lib/imageEdit/ImageEditPlugin.js.map +1 -1
  187. package/lib/imageEdit/Resizer/createImageResizer.d.ts +12 -12
  188. package/lib/imageEdit/Resizer/createImageResizer.js +88 -88
  189. package/lib/imageEdit/Resizer/createImageResizer.js.map +1 -1
  190. package/lib/imageEdit/Resizer/resizerContext.d.ts +8 -8
  191. package/lib/imageEdit/Resizer/resizerContext.js +60 -60
  192. package/lib/imageEdit/Resizer/resizerContext.js.map +1 -1
  193. package/lib/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -4
  194. package/lib/imageEdit/Resizer/updateSideHandlesVisibility.js +16 -16
  195. package/lib/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -1
  196. package/lib/imageEdit/Rotator/createImageRotator.d.ts +6 -6
  197. package/lib/imageEdit/Rotator/createImageRotator.js +75 -75
  198. package/lib/imageEdit/Rotator/createImageRotator.js.map +1 -1
  199. package/lib/imageEdit/Rotator/rotatorContext.d.ts +8 -8
  200. package/lib/imageEdit/Rotator/rotatorContext.js +35 -35
  201. package/lib/imageEdit/Rotator/rotatorContext.js.map +1 -1
  202. package/lib/imageEdit/Rotator/updateRotateHandle.d.ts +7 -7
  203. package/lib/imageEdit/Rotator/updateRotateHandle.js +55 -55
  204. package/lib/imageEdit/Rotator/updateRotateHandle.js.map +1 -1
  205. package/lib/imageEdit/constants/constants.d.ts +77 -77
  206. package/lib/imageEdit/constants/constants.js +84 -84
  207. package/lib/imageEdit/constants/constants.js.map +1 -1
  208. package/lib/imageEdit/types/DragAndDropContext.d.ts +39 -39
  209. package/lib/imageEdit/types/DragAndDropContext.js +2 -2
  210. package/lib/imageEdit/types/DragAndDropContext.js.map +1 -1
  211. package/lib/imageEdit/types/GeneratedImageSize.d.ts +33 -33
  212. package/lib/imageEdit/types/GeneratedImageSize.js +2 -2
  213. package/lib/imageEdit/types/GeneratedImageSize.js.map +1 -1
  214. package/lib/imageEdit/types/ImageAndParagraph.d.ts +8 -8
  215. package/lib/imageEdit/types/ImageAndParagraph.js +2 -2
  216. package/lib/imageEdit/types/ImageAndParagraph.js.map +1 -1
  217. package/lib/imageEdit/types/ImageEditElementClass.d.ts +30 -30
  218. package/lib/imageEdit/types/ImageEditElementClass.js +34 -34
  219. package/lib/imageEdit/types/ImageEditElementClass.js.map +1 -1
  220. package/lib/imageEdit/types/ImageEditOptions.d.ts +55 -55
  221. package/lib/imageEdit/types/ImageEditOptions.js +2 -2
  222. package/lib/imageEdit/types/ImageEditOptions.js.map +1 -1
  223. package/lib/imageEdit/types/ImageHtmlOptions.d.ts +22 -22
  224. package/lib/imageEdit/types/ImageHtmlOptions.js +2 -2
  225. package/lib/imageEdit/types/ImageHtmlOptions.js.map +1 -1
  226. package/lib/imageEdit/utils/applyChange.d.ts +13 -13
  227. package/lib/imageEdit/utils/applyChange.js +72 -72
  228. package/lib/imageEdit/utils/applyChange.js.map +1 -1
  229. package/lib/imageEdit/utils/canRegenerateImage.d.ts +8 -8
  230. package/lib/imageEdit/utils/canRegenerateImage.js +31 -31
  231. package/lib/imageEdit/utils/canRegenerateImage.js.map +1 -1
  232. package/lib/imageEdit/utils/checkEditInfoState.d.ts +41 -41
  233. package/lib/imageEdit/utils/checkEditInfoState.js +52 -52
  234. package/lib/imageEdit/utils/checkEditInfoState.js.map +1 -1
  235. package/lib/imageEdit/utils/createImageWrapper.d.ts +18 -18
  236. package/lib/imageEdit/utils/createImageWrapper.js +91 -91
  237. package/lib/imageEdit/utils/createImageWrapper.js.map +1 -1
  238. package/lib/imageEdit/utils/doubleCheckResize.d.ts +12 -12
  239. package/lib/imageEdit/utils/doubleCheckResize.js +35 -35
  240. package/lib/imageEdit/utils/doubleCheckResize.js.map +1 -1
  241. package/lib/imageEdit/utils/filterInnerResizerHandles.d.ts +4 -4
  242. package/lib/imageEdit/utils/filterInnerResizerHandles.js +19 -19
  243. package/lib/imageEdit/utils/filterInnerResizerHandles.js.map +1 -1
  244. package/lib/imageEdit/utils/findEditingImage.d.ts +10 -10
  245. package/lib/imageEdit/utils/findEditingImage.js +39 -39
  246. package/lib/imageEdit/utils/findEditingImage.js.map +1 -1
  247. package/lib/imageEdit/utils/generateDataURL.d.ts +13 -13
  248. package/lib/imageEdit/utils/generateDataURL.js +56 -49
  249. package/lib/imageEdit/utils/generateDataURL.js.map +1 -1
  250. package/lib/imageEdit/utils/generateImageSize.d.ts +15 -15
  251. package/lib/imageEdit/utils/generateImageSize.js +45 -45
  252. package/lib/imageEdit/utils/generateImageSize.js.map +1 -1
  253. package/lib/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -10
  254. package/lib/imageEdit/utils/getDropAndDragHelpers.js +23 -23
  255. package/lib/imageEdit/utils/getDropAndDragHelpers.js.map +1 -1
  256. package/lib/imageEdit/utils/getHTMLImageOptions.d.ts +7 -7
  257. package/lib/imageEdit/utils/getHTMLImageOptions.js +22 -22
  258. package/lib/imageEdit/utils/getHTMLImageOptions.js.map +1 -1
  259. package/lib/imageEdit/utils/getSelectedImage.d.ts +6 -6
  260. package/lib/imageEdit/utils/getSelectedImage.js +20 -20
  261. package/lib/imageEdit/utils/getSelectedImage.js.map +1 -1
  262. package/lib/imageEdit/utils/imageEditUtils.d.ts +47 -47
  263. package/lib/imageEdit/utils/imageEditUtils.js +115 -115
  264. package/lib/imageEdit/utils/imageEditUtils.js.map +1 -1
  265. package/lib/imageEdit/utils/normalizeImageSelection.d.ts +9 -9
  266. package/lib/imageEdit/utils/normalizeImageSelection.js +31 -31
  267. package/lib/imageEdit/utils/normalizeImageSelection.js.map +1 -1
  268. package/lib/imageEdit/utils/updateHandleCursor.d.ts +7 -7
  269. package/lib/imageEdit/utils/updateHandleCursor.js +33 -33
  270. package/lib/imageEdit/utils/updateHandleCursor.js.map +1 -1
  271. package/lib/imageEdit/utils/updateImageEditInfo.d.ts +10 -10
  272. package/lib/imageEdit/utils/updateImageEditInfo.js +52 -52
  273. package/lib/imageEdit/utils/updateImageEditInfo.js.map +1 -1
  274. package/lib/imageEdit/utils/updateWrapper.d.ts +6 -6
  275. package/lib/imageEdit/utils/updateWrapper.js +86 -86
  276. package/lib/imageEdit/utils/updateWrapper.js.map +1 -1
  277. package/lib/index.d.ts +38 -38
  278. package/lib/index.js +63 -63
  279. package/lib/index.js.map +1 -1
  280. package/lib/markdown/MarkdownPlugin.d.ts +64 -64
  281. package/lib/markdown/MarkdownPlugin.js +195 -195
  282. package/lib/markdown/MarkdownPlugin.js.map +1 -1
  283. package/lib/markdown/utils/setFormat.d.ts +5 -5
  284. package/lib/markdown/utils/setFormat.js +46 -46
  285. package/lib/markdown/utils/setFormat.js.map +1 -1
  286. package/lib/paste/DefaultSanitizers.d.ts +10 -10
  287. package/lib/paste/DefaultSanitizers.js +24 -24
  288. package/lib/paste/DefaultSanitizers.js.map +1 -1
  289. package/lib/paste/Excel/processPastedContentFromExcel.d.ts +30 -30
  290. package/lib/paste/Excel/processPastedContentFromExcel.js +140 -140
  291. package/lib/paste/Excel/processPastedContentFromExcel.js.map +1 -1
  292. package/lib/paste/PastePlugin.d.ts +44 -44
  293. package/lib/paste/PastePlugin.js +146 -138
  294. package/lib/paste/PastePlugin.js.map +1 -1
  295. package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
  296. package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js +146 -146
  297. package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
  298. package/lib/paste/WacComponents/constants.d.ts +52 -52
  299. package/lib/paste/WacComponents/constants.js +66 -66
  300. package/lib/paste/WacComponents/constants.js.map +1 -1
  301. package/lib/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
  302. package/lib/paste/WacComponents/processPastedContentWacComponents.js +190 -190
  303. package/lib/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
  304. package/lib/paste/WordDesktop/WordMetadata.d.ts +9 -9
  305. package/lib/paste/WordDesktop/WordMetadata.js +2 -2
  306. package/lib/paste/WordDesktop/WordMetadata.js.map +1 -1
  307. package/lib/paste/WordDesktop/getStyleMetadata.d.ts +22 -23
  308. package/lib/paste/WordDesktop/getStyleMetadata.js +110 -107
  309. package/lib/paste/WordDesktop/getStyleMetadata.js.map +1 -1
  310. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +8 -7
  311. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js +41 -38
  312. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  313. package/lib/paste/WordDesktop/processWordComments.d.ts +7 -7
  314. package/lib/paste/WordDesktop/processWordComments.js +21 -21
  315. package/lib/paste/WordDesktop/processWordComments.js.map +1 -1
  316. package/lib/paste/WordDesktop/processWordLists.d.ts +11 -11
  317. package/lib/paste/WordDesktop/processWordLists.js +204 -204
  318. package/lib/paste/WordDesktop/processWordLists.js.map +1 -1
  319. package/lib/paste/oneNote/processPastedContentFromOneNote.d.ts +50 -50
  320. package/lib/paste/oneNote/processPastedContentFromOneNote.js +113 -113
  321. package/lib/paste/oneNote/processPastedContentFromOneNote.js.map +1 -1
  322. package/lib/paste/parsers/adjustPercentileLineHeightParser.d.ts +8 -8
  323. package/lib/paste/parsers/adjustPercentileLineHeightParser.js +25 -25
  324. package/lib/paste/parsers/adjustPercentileLineHeightParser.js.map +1 -1
  325. package/lib/paste/parsers/blockElementParser.d.ts +7 -7
  326. package/lib/paste/parsers/blockElementParser.js +14 -14
  327. package/lib/paste/parsers/blockElementParser.js.map +1 -1
  328. package/lib/paste/parsers/deprecatedColorParser.d.ts +5 -5
  329. package/lib/paste/parsers/deprecatedColorParser.js +19 -19
  330. package/lib/paste/parsers/deprecatedColorParser.js.map +1 -1
  331. package/lib/paste/parsers/imageSizeParser.d.ts +6 -6
  332. package/lib/paste/parsers/imageSizeParser.js +23 -23
  333. package/lib/paste/parsers/imageSizeParser.js.map +1 -1
  334. package/lib/paste/parsers/linkParser.d.ts +5 -5
  335. package/lib/paste/parsers/linkParser.js +27 -27
  336. package/lib/paste/parsers/linkParser.js.map +1 -1
  337. package/lib/paste/parsers/listLevelParser.d.ts +10 -10
  338. package/lib/paste/parsers/listLevelParser.js +18 -18
  339. package/lib/paste/parsers/listLevelParser.js.map +1 -1
  340. package/lib/paste/parsers/removeNegativeTextIndentParser.d.ts +5 -5
  341. package/lib/paste/parsers/removeNegativeTextIndentParser.js +13 -13
  342. package/lib/paste/parsers/removeNegativeTextIndentParser.js.map +1 -1
  343. package/lib/paste/parsers/tableBorderParser.d.ts +5 -5
  344. package/lib/paste/parsers/tableBorderParser.js +27 -27
  345. package/lib/paste/parsers/tableBorderParser.js.map +1 -1
  346. package/lib/paste/parsers/wordContainerParser.d.ts +8 -0
  347. package/lib/paste/parsers/wordContainerParser.js +17 -0
  348. package/lib/paste/parsers/wordContainerParser.js.map +1 -0
  349. package/lib/paste/parsers/wordTableParser.d.ts +8 -8
  350. package/lib/paste/parsers/wordTableParser.js +19 -19
  351. package/lib/paste/parsers/wordTableParser.js.map +1 -1
  352. package/lib/paste/pasteSourceValidations/constants.d.ts +17 -17
  353. package/lib/paste/pasteSourceValidations/constants.js +20 -20
  354. package/lib/paste/pasteSourceValidations/constants.js.map +1 -1
  355. package/lib/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
  356. package/lib/paste/pasteSourceValidations/documentContainWacElements.js +15 -15
  357. package/lib/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
  358. package/lib/paste/pasteSourceValidations/getDocumentSource.d.ts +52 -0
  359. package/lib/paste/pasteSourceValidations/{getPasteSource.js → getDocumentSource.js} +41 -49
  360. package/lib/paste/pasteSourceValidations/getDocumentSource.js.map +1 -0
  361. package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
  362. package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.js +17 -17
  363. package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
  364. package/lib/paste/pasteSourceValidations/isExcelNonNativeEvent.d.ts +7 -7
  365. package/lib/paste/pasteSourceValidations/isExcelNonNativeEvent.js +17 -17
  366. package/lib/paste/pasteSourceValidations/isExcelNonNativeEvent.js.map +1 -1
  367. package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
  368. package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.js +19 -19
  369. package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
  370. package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
  371. package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.js +15 -15
  372. package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
  373. package/lib/paste/pasteSourceValidations/isOneNoteDocument.d.ts +8 -8
  374. package/lib/paste/pasteSourceValidations/isOneNoteDocument.js +17 -17
  375. package/lib/paste/pasteSourceValidations/isOneNoteDocument.js.map +1 -1
  376. package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
  377. package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +15 -15
  378. package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
  379. package/lib/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
  380. package/lib/paste/pasteSourceValidations/isWordDesktopDocument.js +24 -24
  381. package/lib/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
  382. package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
  383. package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js +17 -18
  384. package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
  385. package/lib/paste/processors/pasteButtonProcessor.d.ts +7 -7
  386. package/lib/paste/processors/pasteButtonProcessor.js +35 -35
  387. package/lib/paste/processors/pasteButtonProcessor.js.map +1 -1
  388. package/lib/paste/utils/addParser.d.ts +5 -5
  389. package/lib/paste/utils/addParser.js +17 -17
  390. package/lib/paste/utils/addParser.js.map +1 -1
  391. package/lib/paste/utils/chainSanitizerCallback.d.ts +9 -9
  392. package/lib/paste/utils/chainSanitizerCallback.js +35 -35
  393. package/lib/paste/utils/chainSanitizerCallback.js.map +1 -1
  394. package/lib/paste/utils/customListUtils.d.ts +9 -9
  395. package/lib/paste/utils/customListUtils.js +67 -67
  396. package/lib/paste/utils/customListUtils.js.map +1 -1
  397. package/lib/paste/utils/getStyles.d.ts +6 -6
  398. package/lib/paste/utils/getStyles.js +22 -22
  399. package/lib/paste/utils/getStyles.js.map +1 -1
  400. package/lib/paste/utils/setProcessor.d.ts +5 -5
  401. package/lib/paste/utils/setProcessor.js +13 -13
  402. package/lib/paste/utils/setProcessor.js.map +1 -1
  403. package/lib/picker/PickerHandler.d.ts +112 -112
  404. package/lib/picker/PickerHandler.js +2 -2
  405. package/lib/picker/PickerHandler.js.map +1 -1
  406. package/lib/picker/PickerHelper.d.ts +22 -22
  407. package/lib/picker/PickerHelper.js +2 -2
  408. package/lib/picker/PickerHelper.js.map +1 -1
  409. package/lib/picker/PickerHelperImpl.d.ts +25 -25
  410. package/lib/picker/PickerHelperImpl.js +53 -53
  411. package/lib/picker/PickerHelperImpl.js.map +1 -1
  412. package/lib/picker/PickerPlugin.d.ts +54 -54
  413. package/lib/picker/PickerPlugin.js +216 -216
  414. package/lib/picker/PickerPlugin.js.map +1 -1
  415. package/lib/picker/getQueryString.d.ts +5 -5
  416. package/lib/picker/getQueryString.js +35 -35
  417. package/lib/picker/getQueryString.js.map +1 -1
  418. package/lib/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
  419. package/lib/pluginUtils/CreateElement/CreateElementData.js +2 -2
  420. package/lib/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
  421. package/lib/pluginUtils/CreateElement/createElement.d.ts +9 -9
  422. package/lib/pluginUtils/CreateElement/createElement.js +51 -51
  423. package/lib/pluginUtils/CreateElement/createElement.js.map +1 -1
  424. package/lib/pluginUtils/Disposable.d.ts +10 -10
  425. package/lib/pluginUtils/Disposable.js +2 -2
  426. package/lib/pluginUtils/Disposable.js.map +1 -1
  427. package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
  428. package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.js +2 -2
  429. package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
  430. package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
  431. package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.js +120 -120
  432. package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
  433. package/lib/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
  434. package/lib/pluginUtils/Rect/getIntersectedRect.js +45 -45
  435. package/lib/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
  436. package/lib/shortcut/ShortcutCommand.d.ts +44 -44
  437. package/lib/shortcut/ShortcutCommand.js +2 -2
  438. package/lib/shortcut/ShortcutCommand.js.map +1 -1
  439. package/lib/shortcut/ShortcutPlugin.d.ts +51 -51
  440. package/lib/shortcut/ShortcutPlugin.js +125 -125
  441. package/lib/shortcut/ShortcutPlugin.js.map +1 -1
  442. package/lib/shortcut/shortcuts.d.ts +92 -92
  443. package/lib/shortcut/shortcuts.js +238 -238
  444. package/lib/shortcut/shortcuts.js.map +1 -1
  445. package/lib/shortcut/utils/setShortcutIndentationCommand.d.ts +5 -5
  446. package/lib/shortcut/utils/setShortcutIndentationCommand.js +21 -21
  447. package/lib/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
  448. package/lib/tableEdit/OnTableEditorCreatedCallback.d.ts +5 -5
  449. package/lib/tableEdit/OnTableEditorCreatedCallback.js +2 -2
  450. package/lib/tableEdit/OnTableEditorCreatedCallback.js.map +1 -1
  451. package/lib/tableEdit/TableEditPlugin.d.ts +56 -56
  452. package/lib/tableEdit/TableEditPlugin.js +171 -171
  453. package/lib/tableEdit/TableEditPlugin.js.map +1 -1
  454. package/lib/tableEdit/TableWithRoot.d.ts +15 -15
  455. package/lib/tableEdit/TableWithRoot.js +2 -2
  456. package/lib/tableEdit/TableWithRoot.js.map +1 -1
  457. package/lib/tableEdit/editors/TableEditor.d.ts +90 -86
  458. package/lib/tableEdit/editors/TableEditor.js +378 -341
  459. package/lib/tableEdit/editors/TableEditor.js.map +1 -1
  460. package/lib/tableEdit/editors/features/CellResizer.d.ts +55 -54
  461. package/lib/tableEdit/editors/features/CellResizer.js +246 -210
  462. package/lib/tableEdit/editors/features/CellResizer.js.map +1 -1
  463. package/lib/tableEdit/editors/features/TableEditFeature.d.ts +13 -13
  464. package/lib/tableEdit/editors/features/TableEditFeature.js +16 -16
  465. package/lib/tableEdit/editors/features/TableEditFeature.js.map +1 -1
  466. package/lib/tableEdit/editors/features/TableEditFeatureName.d.ts +4 -4
  467. package/lib/tableEdit/editors/features/TableEditFeatureName.js +2 -2
  468. package/lib/tableEdit/editors/features/TableEditFeatureName.js.map +1 -1
  469. package/lib/tableEdit/editors/features/TableInserter.d.ts +33 -33
  470. package/lib/tableEdit/editors/features/TableInserter.js +125 -125
  471. package/lib/tableEdit/editors/features/TableInserter.js.map +1 -1
  472. package/lib/tableEdit/editors/features/TableMover.d.ts +53 -53
  473. package/lib/tableEdit/editors/features/TableMover.js +234 -234
  474. package/lib/tableEdit/editors/features/TableMover.js.map +1 -1
  475. package/lib/tableEdit/editors/features/TableResizer.d.ts +50 -50
  476. package/lib/tableEdit/editors/features/TableResizer.js +190 -190
  477. package/lib/tableEdit/editors/features/TableResizer.js.map +1 -1
  478. package/lib/tableEdit/editors/features/TableRowColumnSelector.d.ts +42 -0
  479. package/lib/tableEdit/editors/features/TableRowColumnSelector.js +223 -0
  480. package/lib/tableEdit/editors/features/TableRowColumnSelector.js.map +1 -0
  481. package/lib/tableEdit/editors/utils/getTableFromContentModel.d.ts +6 -6
  482. package/lib/tableEdit/editors/utils/getTableFromContentModel.js +20 -19
  483. package/lib/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
  484. package/lib/touch/TouchPlugin.d.ts +32 -32
  485. package/lib/touch/TouchPlugin.js +211 -209
  486. package/lib/touch/TouchPlugin.js.map +1 -1
  487. package/lib/utils/getNodePositionFromEvent.d.ts +5 -5
  488. package/lib/utils/getNodePositionFromEvent.js +33 -33
  489. package/lib/utils/getNodePositionFromEvent.js.map +1 -1
  490. package/lib/watermark/WatermarkFormat.d.ts +5 -5
  491. package/lib/watermark/WatermarkFormat.js +2 -2
  492. package/lib/watermark/WatermarkFormat.js.map +1 -1
  493. package/lib/watermark/WatermarkPlugin.d.ts +42 -42
  494. package/lib/watermark/WatermarkPlugin.js +137 -137
  495. package/lib/watermark/WatermarkPlugin.js.map +1 -1
  496. package/lib/watermark/isModelEmptyFast.d.ts +5 -5
  497. package/lib/watermark/isModelEmptyFast.js +37 -37
  498. package/lib/watermark/isModelEmptyFast.js.map +1 -1
  499. package/lib-amd/announce/AnnouncePlugin.d.ts +32 -32
  500. package/lib-amd/announce/AnnouncePlugin.js +66 -66
  501. package/lib-amd/announce/AnnouncePlugin.js.map +1 -1
  502. package/lib-amd/announce/tableSelectionUtils.d.ts +17 -17
  503. package/lib-amd/announce/tableSelectionUtils.js +70 -73
  504. package/lib-amd/announce/tableSelectionUtils.js.map +1 -1
  505. package/lib-amd/autoFormat/AutoFormatPlugin.d.ts +59 -59
  506. package/lib-amd/autoFormat/AutoFormatPlugin.js +289 -289
  507. package/lib-amd/autoFormat/AutoFormatPlugin.js.map +1 -1
  508. package/lib-amd/autoFormat/horizontalLine/checkAndInsertHorizontalLine.d.ts +24 -24
  509. package/lib-amd/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js +91 -91
  510. package/lib-amd/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js.map +1 -1
  511. package/lib-amd/autoFormat/hyphen/transformHyphen.d.ts +5 -5
  512. package/lib-amd/autoFormat/hyphen/transformHyphen.js +35 -35
  513. package/lib-amd/autoFormat/hyphen/transformHyphen.js.map +1 -1
  514. package/lib-amd/autoFormat/interface/AutoFormatOptions.d.ts +34 -34
  515. package/lib-amd/autoFormat/interface/AutoFormatOptions.js +4 -4
  516. package/lib-amd/autoFormat/interface/AutoFormatOptions.js.map +1 -1
  517. package/lib-amd/autoFormat/link/createLink.d.ts +5 -5
  518. package/lib-amd/autoFormat/link/createLink.js +35 -35
  519. package/lib-amd/autoFormat/link/createLink.js.map +1 -1
  520. package/lib-amd/autoFormat/link/unlink.d.ts +5 -5
  521. package/lib-amd/autoFormat/link/unlink.js +19 -19
  522. package/lib-amd/autoFormat/link/unlink.js.map +1 -1
  523. package/lib-amd/autoFormat/list/convertAlphaToDecimals.d.ts +7 -7
  524. package/lib-amd/autoFormat/list/convertAlphaToDecimals.js +24 -24
  525. package/lib-amd/autoFormat/list/convertAlphaToDecimals.js.map +1 -1
  526. package/lib-amd/autoFormat/list/getIndex.d.ts +4 -4
  527. package/lib-amd/autoFormat/list/getIndex.js +14 -14
  528. package/lib-amd/autoFormat/list/getIndex.js.map +1 -1
  529. package/lib-amd/autoFormat/list/getListTypeStyle.d.ts +14 -14
  530. package/lib-amd/autoFormat/list/getListTypeStyle.js +98 -98
  531. package/lib-amd/autoFormat/list/getListTypeStyle.js.map +1 -1
  532. package/lib-amd/autoFormat/list/getNumberingListStyle.d.ts +4 -4
  533. package/lib-amd/autoFormat/list/getNumberingListStyle.js +153 -153
  534. package/lib-amd/autoFormat/list/getNumberingListStyle.js.map +1 -1
  535. package/lib-amd/autoFormat/list/keyboardListTrigger.d.ts +5 -5
  536. package/lib-amd/autoFormat/list/keyboardListTrigger.js +47 -47
  537. package/lib-amd/autoFormat/list/keyboardListTrigger.js.map +1 -1
  538. package/lib-amd/autoFormat/numbers/transformFraction.d.ts +5 -5
  539. package/lib-amd/autoFormat/numbers/transformFraction.js +28 -28
  540. package/lib-amd/autoFormat/numbers/transformFraction.js.map +1 -1
  541. package/lib-amd/autoFormat/numbers/transformOrdinals.d.ts +4 -4
  542. package/lib-amd/autoFormat/numbers/transformOrdinals.js +66 -65
  543. package/lib-amd/autoFormat/numbers/transformOrdinals.js.map +1 -1
  544. package/lib-amd/contextMenuBase/ContextMenuPluginBase.d.ts +58 -58
  545. package/lib-amd/contextMenuBase/ContextMenuPluginBase.js +85 -85
  546. package/lib-amd/contextMenuBase/ContextMenuPluginBase.js.map +1 -1
  547. package/lib-amd/customReplace/CustomReplacePlugin.d.ts +61 -61
  548. package/lib-amd/customReplace/CustomReplacePlugin.js +87 -87
  549. package/lib-amd/customReplace/CustomReplacePlugin.js.map +1 -1
  550. package/lib-amd/edit/EditOptions.d.ts +78 -45
  551. package/lib-amd/edit/EditOptions.js +4 -4
  552. package/lib-amd/edit/EditOptions.js.map +1 -1
  553. package/lib-amd/edit/EditPlugin.d.ts +60 -60
  554. package/lib-amd/edit/EditPlugin.js +252 -234
  555. package/lib-amd/edit/EditPlugin.js.map +1 -1
  556. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
  557. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js +24 -24
  558. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  559. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.d.ts +10 -10
  560. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js +112 -112
  561. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  562. package/lib-amd/edit/deleteSteps/deleteEmptyQuote.d.ts +5 -5
  563. package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js +62 -62
  564. package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
  565. package/lib-amd/edit/deleteSteps/deleteList.d.ts +5 -5
  566. package/lib-amd/edit/deleteSteps/deleteList.js +58 -29
  567. package/lib-amd/edit/deleteSteps/deleteList.js.map +1 -1
  568. package/lib-amd/edit/deleteSteps/deleteParagraphStyle.d.ts +5 -5
  569. package/lib-amd/edit/deleteSteps/deleteParagraphStyle.js +37 -37
  570. package/lib-amd/edit/deleteSteps/deleteParagraphStyle.js.map +1 -1
  571. package/lib-amd/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
  572. package/lib-amd/edit/deleteSteps/deleteWordSelection.js +172 -172
  573. package/lib-amd/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  574. package/lib-amd/edit/handleKeyboardEventCommon.d.ts +14 -14
  575. package/lib-amd/edit/handleKeyboardEventCommon.js +72 -72
  576. package/lib-amd/edit/handleKeyboardEventCommon.js.map +1 -1
  577. package/lib-amd/edit/inputSteps/handleAutoLink.d.ts +5 -5
  578. package/lib-amd/edit/inputSteps/handleAutoLink.js +25 -25
  579. package/lib-amd/edit/inputSteps/handleAutoLink.js.map +1 -1
  580. package/lib-amd/edit/inputSteps/handleEnterOnList.d.ts +5 -5
  581. package/lib-amd/edit/inputSteps/handleEnterOnList.js +69 -69
  582. package/lib-amd/edit/inputSteps/handleEnterOnList.js.map +1 -1
  583. package/lib-amd/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -5
  584. package/lib-amd/edit/inputSteps/handleEnterOnParagraph.js +21 -21
  585. package/lib-amd/edit/inputSteps/handleEnterOnParagraph.js.map +1 -1
  586. package/lib-amd/edit/keyboardDelete.d.ts +11 -11
  587. package/lib-amd/edit/keyboardDelete.js +108 -108
  588. package/lib-amd/edit/keyboardDelete.js.map +1 -1
  589. package/lib-amd/edit/keyboardEnter.d.ts +5 -5
  590. package/lib-amd/edit/keyboardEnter.js +51 -51
  591. package/lib-amd/edit/keyboardEnter.js.map +1 -1
  592. package/lib-amd/edit/keyboardInput.d.ts +5 -5
  593. package/lib-amd/edit/keyboardInput.js +65 -65
  594. package/lib-amd/edit/keyboardInput.js.map +1 -1
  595. package/lib-amd/edit/keyboardTab.d.ts +6 -5
  596. package/lib-amd/edit/keyboardTab.js +70 -60
  597. package/lib-amd/edit/keyboardTab.js.map +1 -1
  598. package/lib-amd/edit/tabUtils/handleTabOnList.d.ts +7 -7
  599. package/lib-amd/edit/tabUtils/handleTabOnList.js +33 -33
  600. package/lib-amd/edit/tabUtils/handleTabOnList.js.map +1 -1
  601. package/lib-amd/edit/tabUtils/handleTabOnParagraph.d.ts +17 -17
  602. package/lib-amd/edit/tabUtils/handleTabOnParagraph.js +94 -94
  603. package/lib-amd/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
  604. package/lib-amd/edit/tabUtils/handleTabOnTable.d.ts +6 -6
  605. package/lib-amd/edit/tabUtils/handleTabOnTable.js +25 -25
  606. package/lib-amd/edit/tabUtils/handleTabOnTable.js.map +1 -1
  607. package/lib-amd/edit/tabUtils/handleTabOnTableCell.d.ts +6 -6
  608. package/lib-amd/edit/tabUtils/handleTabOnTableCell.js +43 -43
  609. package/lib-amd/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
  610. package/lib-amd/edit/utils/getLeafSiblingBlock.d.ts +45 -45
  611. package/lib-amd/edit/utils/getLeafSiblingBlock.js +72 -72
  612. package/lib-amd/edit/utils/getLeafSiblingBlock.js.map +1 -1
  613. package/lib-amd/edit/utils/preserveParagraphFormat.d.ts +9 -9
  614. package/lib-amd/edit/utils/preserveParagraphFormat.js +25 -25
  615. package/lib-amd/edit/utils/preserveParagraphFormat.js.map +1 -1
  616. package/lib-amd/edit/utils/splitParagraph.d.ts +12 -12
  617. package/lib-amd/edit/utils/splitParagraph.js +39 -39
  618. package/lib-amd/edit/utils/splitParagraph.js.map +1 -1
  619. package/lib-amd/findReplace/FindReplacePlugin.d.ts +42 -42
  620. package/lib-amd/findReplace/FindReplacePlugin.js +96 -95
  621. package/lib-amd/findReplace/FindReplacePlugin.js.map +1 -1
  622. package/lib-amd/findReplace/createFindReplaceContext.d.ts +8 -8
  623. package/lib-amd/findReplace/createFindReplaceContext.js +25 -25
  624. package/lib-amd/findReplace/createFindReplaceContext.js.map +1 -1
  625. package/lib-amd/findReplace/find.d.ts +11 -11
  626. package/lib-amd/findReplace/find.js +20 -20
  627. package/lib-amd/findReplace/find.js.map +1 -1
  628. package/lib-amd/findReplace/moveHighlight.d.ts +9 -9
  629. package/lib-amd/findReplace/moveHighlight.js +21 -21
  630. package/lib-amd/findReplace/moveHighlight.js.map +1 -1
  631. package/lib-amd/findReplace/replace.d.ts +10 -10
  632. package/lib-amd/findReplace/replace.js +46 -46
  633. package/lib-amd/findReplace/replace.js.map +1 -1
  634. package/lib-amd/findReplace/types/FindReplaceContext.d.ts +38 -38
  635. package/lib-amd/findReplace/types/FindReplaceContext.js +4 -4
  636. package/lib-amd/findReplace/types/FindReplaceContext.js.map +1 -1
  637. package/lib-amd/findReplace/types/FindReplaceHighlightOptions.d.ts +13 -13
  638. package/lib-amd/findReplace/types/FindReplaceHighlightOptions.js +4 -4
  639. package/lib-amd/findReplace/types/FindReplaceHighlightOptions.js.map +1 -1
  640. package/lib-amd/findReplace/types/HighlightHelper.d.ts +23 -23
  641. package/lib-amd/findReplace/types/HighlightHelper.js +4 -4
  642. package/lib-amd/findReplace/types/HighlightHelper.js.map +1 -1
  643. package/lib-amd/findReplace/utils/HighlightHelperImpl.d.ts +9 -9
  644. package/lib-amd/findReplace/utils/HighlightHelperImpl.js +65 -65
  645. package/lib-amd/findReplace/utils/HighlightHelperImpl.js.map +1 -1
  646. package/lib-amd/findReplace/utils/constants.d.ts +28 -28
  647. package/lib-amd/findReplace/utils/constants.js +33 -33
  648. package/lib-amd/findReplace/utils/constants.js.map +1 -1
  649. package/lib-amd/findReplace/utils/replaceTextInRange.d.ts +4 -4
  650. package/lib-amd/findReplace/utils/replaceTextInRange.js +71 -71
  651. package/lib-amd/findReplace/utils/replaceTextInRange.js.map +1 -1
  652. package/lib-amd/findReplace/utils/setMarkedIndex.d.ts +6 -6
  653. package/lib-amd/findReplace/utils/setMarkedIndex.js +29 -29
  654. package/lib-amd/findReplace/utils/setMarkedIndex.js.map +1 -1
  655. package/lib-amd/findReplace/utils/sortRanges.d.ts +5 -5
  656. package/lib-amd/findReplace/utils/sortRanges.js +24 -24
  657. package/lib-amd/findReplace/utils/sortRanges.js.map +1 -1
  658. package/lib-amd/findReplace/utils/updateHighlight.d.ts +6 -6
  659. package/lib-amd/findReplace/utils/updateHighlight.js +45 -45
  660. package/lib-amd/findReplace/utils/updateHighlight.js.map +1 -1
  661. package/lib-amd/hiddenProperty/HiddenPropertyOptions.d.ts +11 -11
  662. package/lib-amd/hiddenProperty/HiddenPropertyOptions.js +4 -4
  663. package/lib-amd/hiddenProperty/HiddenPropertyOptions.js.map +1 -1
  664. package/lib-amd/hiddenProperty/HiddenPropertyPlugin.d.ts +38 -38
  665. package/lib-amd/hiddenProperty/HiddenPropertyPlugin.js +57 -57
  666. package/lib-amd/hiddenProperty/HiddenPropertyPlugin.js.map +1 -1
  667. package/lib-amd/hiddenProperty/fixupHiddenProperties.d.ts +9 -9
  668. package/lib-amd/hiddenProperty/fixupHiddenProperties.js +37 -37
  669. package/lib-amd/hiddenProperty/fixupHiddenProperties.js.map +1 -1
  670. package/lib-amd/hyperlink/HyperlinkPlugin.d.ts +48 -48
  671. package/lib-amd/hyperlink/HyperlinkPlugin.js +144 -144
  672. package/lib-amd/hyperlink/HyperlinkPlugin.js.map +1 -1
  673. package/lib-amd/hyperlink/HyperlinkToolTip.d.ts +7 -7
  674. package/lib-amd/hyperlink/HyperlinkToolTip.js +4 -4
  675. package/lib-amd/hyperlink/HyperlinkToolTip.js.map +1 -1
  676. package/lib-amd/imageEdit/Cropper/createImageCropper.d.ts +10 -10
  677. package/lib-amd/imageEdit/Cropper/createImageCropper.js +77 -77
  678. package/lib-amd/imageEdit/Cropper/createImageCropper.js.map +1 -1
  679. package/lib-amd/imageEdit/Cropper/cropperContext.d.ts +8 -8
  680. package/lib-amd/imageEdit/Cropper/cropperContext.js +72 -72
  681. package/lib-amd/imageEdit/Cropper/cropperContext.js.map +1 -1
  682. package/lib-amd/imageEdit/ImageEditPlugin.d.ts +86 -86
  683. package/lib-amd/imageEdit/ImageEditPlugin.js +566 -567
  684. package/lib-amd/imageEdit/ImageEditPlugin.js.map +1 -1
  685. package/lib-amd/imageEdit/Resizer/createImageResizer.d.ts +12 -12
  686. package/lib-amd/imageEdit/Resizer/createImageResizer.js +86 -86
  687. package/lib-amd/imageEdit/Resizer/createImageResizer.js.map +1 -1
  688. package/lib-amd/imageEdit/Resizer/resizerContext.d.ts +8 -8
  689. package/lib-amd/imageEdit/Resizer/resizerContext.js +60 -60
  690. package/lib-amd/imageEdit/Resizer/resizerContext.js.map +1 -1
  691. package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -4
  692. package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.js +18 -18
  693. package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -1
  694. package/lib-amd/imageEdit/Rotator/createImageRotator.d.ts +6 -6
  695. package/lib-amd/imageEdit/Rotator/createImageRotator.js +73 -73
  696. package/lib-amd/imageEdit/Rotator/createImageRotator.js.map +1 -1
  697. package/lib-amd/imageEdit/Rotator/rotatorContext.d.ts +8 -8
  698. package/lib-amd/imageEdit/Rotator/rotatorContext.js +35 -35
  699. package/lib-amd/imageEdit/Rotator/rotatorContext.js.map +1 -1
  700. package/lib-amd/imageEdit/Rotator/updateRotateHandle.d.ts +7 -7
  701. package/lib-amd/imageEdit/Rotator/updateRotateHandle.js +56 -56
  702. package/lib-amd/imageEdit/Rotator/updateRotateHandle.js.map +1 -1
  703. package/lib-amd/imageEdit/constants/constants.d.ts +77 -77
  704. package/lib-amd/imageEdit/constants/constants.js +86 -86
  705. package/lib-amd/imageEdit/constants/constants.js.map +1 -1
  706. package/lib-amd/imageEdit/types/DragAndDropContext.d.ts +39 -39
  707. package/lib-amd/imageEdit/types/DragAndDropContext.js +4 -4
  708. package/lib-amd/imageEdit/types/DragAndDropContext.js.map +1 -1
  709. package/lib-amd/imageEdit/types/GeneratedImageSize.d.ts +33 -33
  710. package/lib-amd/imageEdit/types/GeneratedImageSize.js +4 -4
  711. package/lib-amd/imageEdit/types/GeneratedImageSize.js.map +1 -1
  712. package/lib-amd/imageEdit/types/ImageAndParagraph.d.ts +8 -8
  713. package/lib-amd/imageEdit/types/ImageAndParagraph.js +4 -4
  714. package/lib-amd/imageEdit/types/ImageAndParagraph.js.map +1 -1
  715. package/lib-amd/imageEdit/types/ImageEditElementClass.d.ts +30 -30
  716. package/lib-amd/imageEdit/types/ImageEditElementClass.js +36 -36
  717. package/lib-amd/imageEdit/types/ImageEditElementClass.js.map +1 -1
  718. package/lib-amd/imageEdit/types/ImageEditOptions.d.ts +55 -55
  719. package/lib-amd/imageEdit/types/ImageEditOptions.js +4 -4
  720. package/lib-amd/imageEdit/types/ImageEditOptions.js.map +1 -1
  721. package/lib-amd/imageEdit/types/ImageHtmlOptions.d.ts +22 -22
  722. package/lib-amd/imageEdit/types/ImageHtmlOptions.js +4 -4
  723. package/lib-amd/imageEdit/types/ImageHtmlOptions.js.map +1 -1
  724. package/lib-amd/imageEdit/utils/applyChange.d.ts +13 -13
  725. package/lib-amd/imageEdit/utils/applyChange.js +70 -70
  726. package/lib-amd/imageEdit/utils/applyChange.js.map +1 -1
  727. package/lib-amd/imageEdit/utils/canRegenerateImage.d.ts +8 -8
  728. package/lib-amd/imageEdit/utils/canRegenerateImage.js +33 -33
  729. package/lib-amd/imageEdit/utils/canRegenerateImage.js.map +1 -1
  730. package/lib-amd/imageEdit/utils/checkEditInfoState.d.ts +41 -41
  731. package/lib-amd/imageEdit/utils/checkEditInfoState.js +53 -53
  732. package/lib-amd/imageEdit/utils/checkEditInfoState.js.map +1 -1
  733. package/lib-amd/imageEdit/utils/createImageWrapper.d.ts +18 -18
  734. package/lib-amd/imageEdit/utils/createImageWrapper.js +89 -89
  735. package/lib-amd/imageEdit/utils/createImageWrapper.js.map +1 -1
  736. package/lib-amd/imageEdit/utils/doubleCheckResize.d.ts +12 -12
  737. package/lib-amd/imageEdit/utils/doubleCheckResize.js +37 -37
  738. package/lib-amd/imageEdit/utils/doubleCheckResize.js.map +1 -1
  739. package/lib-amd/imageEdit/utils/filterInnerResizerHandles.d.ts +4 -4
  740. package/lib-amd/imageEdit/utils/filterInnerResizerHandles.js +20 -20
  741. package/lib-amd/imageEdit/utils/filterInnerResizerHandles.js.map +1 -1
  742. package/lib-amd/imageEdit/utils/findEditingImage.d.ts +10 -10
  743. package/lib-amd/imageEdit/utils/findEditingImage.js +39 -39
  744. package/lib-amd/imageEdit/utils/findEditingImage.js.map +1 -1
  745. package/lib-amd/imageEdit/utils/generateDataURL.d.ts +13 -13
  746. package/lib-amd/imageEdit/utils/generateDataURL.js +57 -50
  747. package/lib-amd/imageEdit/utils/generateDataURL.js.map +1 -1
  748. package/lib-amd/imageEdit/utils/generateImageSize.d.ts +15 -15
  749. package/lib-amd/imageEdit/utils/generateImageSize.js +47 -47
  750. package/lib-amd/imageEdit/utils/generateImageSize.js.map +1 -1
  751. package/lib-amd/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -10
  752. package/lib-amd/imageEdit/utils/getDropAndDragHelpers.js +23 -23
  753. package/lib-amd/imageEdit/utils/getDropAndDragHelpers.js.map +1 -1
  754. package/lib-amd/imageEdit/utils/getHTMLImageOptions.d.ts +7 -7
  755. package/lib-amd/imageEdit/utils/getHTMLImageOptions.js +23 -23
  756. package/lib-amd/imageEdit/utils/getHTMLImageOptions.js.map +1 -1
  757. package/lib-amd/imageEdit/utils/getSelectedImage.d.ts +6 -6
  758. package/lib-amd/imageEdit/utils/getSelectedImage.js +21 -21
  759. package/lib-amd/imageEdit/utils/getSelectedImage.js.map +1 -1
  760. package/lib-amd/imageEdit/utils/imageEditUtils.d.ts +47 -47
  761. package/lib-amd/imageEdit/utils/imageEditUtils.js +116 -116
  762. package/lib-amd/imageEdit/utils/imageEditUtils.js.map +1 -1
  763. package/lib-amd/imageEdit/utils/normalizeImageSelection.d.ts +9 -9
  764. package/lib-amd/imageEdit/utils/normalizeImageSelection.js +32 -32
  765. package/lib-amd/imageEdit/utils/normalizeImageSelection.js.map +1 -1
  766. package/lib-amd/imageEdit/utils/updateHandleCursor.d.ts +7 -7
  767. package/lib-amd/imageEdit/utils/updateHandleCursor.js +35 -35
  768. package/lib-amd/imageEdit/utils/updateHandleCursor.js.map +1 -1
  769. package/lib-amd/imageEdit/utils/updateImageEditInfo.d.ts +10 -10
  770. package/lib-amd/imageEdit/utils/updateImageEditInfo.js +51 -51
  771. package/lib-amd/imageEdit/utils/updateImageEditInfo.js.map +1 -1
  772. package/lib-amd/imageEdit/utils/updateWrapper.d.ts +6 -6
  773. package/lib-amd/imageEdit/utils/updateWrapper.js +80 -80
  774. package/lib-amd/imageEdit/utils/updateWrapper.js.map +1 -1
  775. package/lib-amd/index.d.ts +38 -38
  776. package/lib-amd/index.js +42 -42
  777. package/lib-amd/index.js.map +1 -1
  778. package/lib-amd/markdown/MarkdownPlugin.d.ts +64 -64
  779. package/lib-amd/markdown/MarkdownPlugin.js +196 -196
  780. package/lib-amd/markdown/MarkdownPlugin.js.map +1 -1
  781. package/lib-amd/markdown/utils/setFormat.d.ts +5 -5
  782. package/lib-amd/markdown/utils/setFormat.js +46 -46
  783. package/lib-amd/markdown/utils/setFormat.js.map +1 -1
  784. package/lib-amd/paste/DefaultSanitizers.d.ts +10 -10
  785. package/lib-amd/paste/DefaultSanitizers.js +26 -26
  786. package/lib-amd/paste/DefaultSanitizers.js.map +1 -1
  787. package/lib-amd/paste/Excel/processPastedContentFromExcel.d.ts +30 -30
  788. package/lib-amd/paste/Excel/processPastedContentFromExcel.js +138 -138
  789. package/lib-amd/paste/Excel/processPastedContentFromExcel.js.map +1 -1
  790. package/lib-amd/paste/PastePlugin.d.ts +44 -44
  791. package/lib-amd/paste/PastePlugin.js +129 -121
  792. package/lib-amd/paste/PastePlugin.js.map +1 -1
  793. package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
  794. package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.js +142 -142
  795. package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
  796. package/lib-amd/paste/WacComponents/constants.d.ts +52 -52
  797. package/lib-amd/paste/WacComponents/constants.js +67 -67
  798. package/lib-amd/paste/WacComponents/constants.js.map +1 -1
  799. package/lib-amd/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
  800. package/lib-amd/paste/WacComponents/processPastedContentWacComponents.js +187 -187
  801. package/lib-amd/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
  802. package/lib-amd/paste/WordDesktop/WordMetadata.d.ts +9 -9
  803. package/lib-amd/paste/WordDesktop/WordMetadata.js +4 -4
  804. package/lib-amd/paste/WordDesktop/WordMetadata.js.map +1 -1
  805. package/lib-amd/paste/WordDesktop/getStyleMetadata.d.ts +22 -23
  806. package/lib-amd/paste/WordDesktop/getStyleMetadata.js +110 -107
  807. package/lib-amd/paste/WordDesktop/getStyleMetadata.js.map +1 -1
  808. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +8 -7
  809. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js +32 -30
  810. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  811. package/lib-amd/paste/WordDesktop/processWordComments.d.ts +7 -7
  812. package/lib-amd/paste/WordDesktop/processWordComments.js +22 -22
  813. package/lib-amd/paste/WordDesktop/processWordComments.js.map +1 -1
  814. package/lib-amd/paste/WordDesktop/processWordLists.d.ts +11 -11
  815. package/lib-amd/paste/WordDesktop/processWordLists.js +202 -202
  816. package/lib-amd/paste/WordDesktop/processWordLists.js.map +1 -1
  817. package/lib-amd/paste/oneNote/processPastedContentFromOneNote.d.ts +50 -50
  818. package/lib-amd/paste/oneNote/processPastedContentFromOneNote.js +114 -114
  819. package/lib-amd/paste/oneNote/processPastedContentFromOneNote.js.map +1 -1
  820. package/lib-amd/paste/parsers/adjustPercentileLineHeightParser.d.ts +8 -8
  821. package/lib-amd/paste/parsers/adjustPercentileLineHeightParser.js +27 -27
  822. package/lib-amd/paste/parsers/adjustPercentileLineHeightParser.js.map +1 -1
  823. package/lib-amd/paste/parsers/blockElementParser.d.ts +7 -7
  824. package/lib-amd/paste/parsers/blockElementParser.js +16 -16
  825. package/lib-amd/paste/parsers/blockElementParser.js.map +1 -1
  826. package/lib-amd/paste/parsers/deprecatedColorParser.d.ts +5 -5
  827. package/lib-amd/paste/parsers/deprecatedColorParser.js +20 -20
  828. package/lib-amd/paste/parsers/deprecatedColorParser.js.map +1 -1
  829. package/lib-amd/paste/parsers/imageSizeParser.d.ts +6 -6
  830. package/lib-amd/paste/parsers/imageSizeParser.js +24 -24
  831. package/lib-amd/paste/parsers/imageSizeParser.js.map +1 -1
  832. package/lib-amd/paste/parsers/linkParser.d.ts +5 -5
  833. package/lib-amd/paste/parsers/linkParser.js +28 -28
  834. package/lib-amd/paste/parsers/linkParser.js.map +1 -1
  835. package/lib-amd/paste/parsers/listLevelParser.d.ts +10 -10
  836. package/lib-amd/paste/parsers/listLevelParser.js +20 -20
  837. package/lib-amd/paste/parsers/listLevelParser.js.map +1 -1
  838. package/lib-amd/paste/parsers/removeNegativeTextIndentParser.d.ts +5 -5
  839. package/lib-amd/paste/parsers/removeNegativeTextIndentParser.js +15 -15
  840. package/lib-amd/paste/parsers/removeNegativeTextIndentParser.js.map +1 -1
  841. package/lib-amd/paste/parsers/tableBorderParser.d.ts +5 -5
  842. package/lib-amd/paste/parsers/tableBorderParser.js +28 -28
  843. package/lib-amd/paste/parsers/tableBorderParser.js.map +1 -1
  844. package/lib-amd/paste/parsers/wordContainerParser.d.ts +8 -0
  845. package/lib-amd/paste/parsers/wordContainerParser.js +19 -0
  846. package/lib-amd/paste/parsers/wordContainerParser.js.map +1 -0
  847. package/lib-amd/paste/parsers/wordTableParser.d.ts +8 -8
  848. package/lib-amd/paste/parsers/wordTableParser.js +21 -21
  849. package/lib-amd/paste/parsers/wordTableParser.js.map +1 -1
  850. package/lib-amd/paste/pasteSourceValidations/constants.d.ts +17 -17
  851. package/lib-amd/paste/pasteSourceValidations/constants.js +22 -22
  852. package/lib-amd/paste/pasteSourceValidations/constants.js.map +1 -1
  853. package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
  854. package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.js +16 -16
  855. package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
  856. package/lib-amd/paste/pasteSourceValidations/getDocumentSource.d.ts +52 -0
  857. package/lib-amd/paste/pasteSourceValidations/{getPasteSource.js → getDocumentSource.js} +34 -42
  858. package/lib-amd/paste/pasteSourceValidations/getDocumentSource.js.map +1 -0
  859. package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
  860. package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.js +18 -18
  861. package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
  862. package/lib-amd/paste/pasteSourceValidations/isExcelNonNativeEvent.d.ts +7 -7
  863. package/lib-amd/paste/pasteSourceValidations/isExcelNonNativeEvent.js +19 -19
  864. package/lib-amd/paste/pasteSourceValidations/isExcelNonNativeEvent.js.map +1 -1
  865. package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
  866. package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.js +20 -20
  867. package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
  868. package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
  869. package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.js +16 -16
  870. package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
  871. package/lib-amd/paste/pasteSourceValidations/isOneNoteDocument.d.ts +8 -8
  872. package/lib-amd/paste/pasteSourceValidations/isOneNoteDocument.js +18 -18
  873. package/lib-amd/paste/pasteSourceValidations/isOneNoteDocument.js.map +1 -1
  874. package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
  875. package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +16 -16
  876. package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
  877. package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
  878. package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.js +25 -25
  879. package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
  880. package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
  881. package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.js +19 -20
  882. package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
  883. package/lib-amd/paste/processors/pasteButtonProcessor.d.ts +7 -7
  884. package/lib-amd/paste/processors/pasteButtonProcessor.js +35 -35
  885. package/lib-amd/paste/processors/pasteButtonProcessor.js.map +1 -1
  886. package/lib-amd/paste/utils/addParser.d.ts +5 -5
  887. package/lib-amd/paste/utils/addParser.js +19 -19
  888. package/lib-amd/paste/utils/addParser.js.map +1 -1
  889. package/lib-amd/paste/utils/chainSanitizerCallback.d.ts +9 -9
  890. package/lib-amd/paste/utils/chainSanitizerCallback.js +37 -37
  891. package/lib-amd/paste/utils/chainSanitizerCallback.js.map +1 -1
  892. package/lib-amd/paste/utils/customListUtils.d.ts +9 -9
  893. package/lib-amd/paste/utils/customListUtils.js +66 -66
  894. package/lib-amd/paste/utils/customListUtils.js.map +1 -1
  895. package/lib-amd/paste/utils/getStyles.d.ts +6 -6
  896. package/lib-amd/paste/utils/getStyles.js +24 -24
  897. package/lib-amd/paste/utils/getStyles.js.map +1 -1
  898. package/lib-amd/paste/utils/setProcessor.d.ts +5 -5
  899. package/lib-amd/paste/utils/setProcessor.js +15 -15
  900. package/lib-amd/paste/utils/setProcessor.js.map +1 -1
  901. package/lib-amd/picker/PickerHandler.d.ts +112 -112
  902. package/lib-amd/picker/PickerHandler.js +4 -4
  903. package/lib-amd/picker/PickerHandler.js.map +1 -1
  904. package/lib-amd/picker/PickerHelper.d.ts +22 -22
  905. package/lib-amd/picker/PickerHelper.js +4 -4
  906. package/lib-amd/picker/PickerHelper.js.map +1 -1
  907. package/lib-amd/picker/PickerHelperImpl.d.ts +25 -25
  908. package/lib-amd/picker/PickerHelperImpl.js +52 -52
  909. package/lib-amd/picker/PickerHelperImpl.js.map +1 -1
  910. package/lib-amd/picker/PickerPlugin.d.ts +54 -54
  911. package/lib-amd/picker/PickerPlugin.js +214 -214
  912. package/lib-amd/picker/PickerPlugin.js.map +1 -1
  913. package/lib-amd/picker/getQueryString.d.ts +5 -5
  914. package/lib-amd/picker/getQueryString.js +36 -36
  915. package/lib-amd/picker/getQueryString.js.map +1 -1
  916. package/lib-amd/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
  917. package/lib-amd/pluginUtils/CreateElement/CreateElementData.js +4 -4
  918. package/lib-amd/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
  919. package/lib-amd/pluginUtils/CreateElement/createElement.d.ts +9 -9
  920. package/lib-amd/pluginUtils/CreateElement/createElement.js +52 -52
  921. package/lib-amd/pluginUtils/CreateElement/createElement.js.map +1 -1
  922. package/lib-amd/pluginUtils/Disposable.d.ts +10 -10
  923. package/lib-amd/pluginUtils/Disposable.js +4 -4
  924. package/lib-amd/pluginUtils/Disposable.js.map +1 -1
  925. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
  926. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.js +4 -4
  927. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
  928. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
  929. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.js +121 -121
  930. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
  931. package/lib-amd/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
  932. package/lib-amd/pluginUtils/Rect/getIntersectedRect.js +45 -45
  933. package/lib-amd/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
  934. package/lib-amd/shortcut/ShortcutCommand.d.ts +44 -44
  935. package/lib-amd/shortcut/ShortcutCommand.js +4 -4
  936. package/lib-amd/shortcut/ShortcutCommand.js.map +1 -1
  937. package/lib-amd/shortcut/ShortcutPlugin.d.ts +51 -51
  938. package/lib-amd/shortcut/ShortcutPlugin.js +125 -125
  939. package/lib-amd/shortcut/ShortcutPlugin.js.map +1 -1
  940. package/lib-amd/shortcut/shortcuts.d.ts +92 -92
  941. package/lib-amd/shortcut/shortcuts.js +237 -237
  942. package/lib-amd/shortcut/shortcuts.js.map +1 -1
  943. package/lib-amd/shortcut/utils/setShortcutIndentationCommand.d.ts +5 -5
  944. package/lib-amd/shortcut/utils/setShortcutIndentationCommand.js +21 -21
  945. package/lib-amd/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
  946. package/lib-amd/tableEdit/OnTableEditorCreatedCallback.d.ts +5 -5
  947. package/lib-amd/tableEdit/OnTableEditorCreatedCallback.js +4 -4
  948. package/lib-amd/tableEdit/OnTableEditorCreatedCallback.js.map +1 -1
  949. package/lib-amd/tableEdit/TableEditPlugin.d.ts +56 -56
  950. package/lib-amd/tableEdit/TableEditPlugin.js +170 -170
  951. package/lib-amd/tableEdit/TableEditPlugin.js.map +1 -1
  952. package/lib-amd/tableEdit/TableWithRoot.d.ts +15 -15
  953. package/lib-amd/tableEdit/TableWithRoot.js +4 -4
  954. package/lib-amd/tableEdit/TableWithRoot.js.map +1 -1
  955. package/lib-amd/tableEdit/editors/TableEditor.d.ts +90 -86
  956. package/lib-amd/tableEdit/editors/TableEditor.js +373 -337
  957. package/lib-amd/tableEdit/editors/TableEditor.js.map +1 -1
  958. package/lib-amd/tableEdit/editors/features/CellResizer.d.ts +55 -54
  959. package/lib-amd/tableEdit/editors/features/CellResizer.js +243 -207
  960. package/lib-amd/tableEdit/editors/features/CellResizer.js.map +1 -1
  961. package/lib-amd/tableEdit/editors/features/TableEditFeature.d.ts +13 -13
  962. package/lib-amd/tableEdit/editors/features/TableEditFeature.js +18 -18
  963. package/lib-amd/tableEdit/editors/features/TableEditFeature.js.map +1 -1
  964. package/lib-amd/tableEdit/editors/features/TableEditFeatureName.d.ts +4 -4
  965. package/lib-amd/tableEdit/editors/features/TableEditFeatureName.js +4 -4
  966. package/lib-amd/tableEdit/editors/features/TableEditFeatureName.js.map +1 -1
  967. package/lib-amd/tableEdit/editors/features/TableInserter.d.ts +33 -33
  968. package/lib-amd/tableEdit/editors/features/TableInserter.js +123 -123
  969. package/lib-amd/tableEdit/editors/features/TableInserter.js.map +1 -1
  970. package/lib-amd/tableEdit/editors/features/TableMover.d.ts +53 -53
  971. package/lib-amd/tableEdit/editors/features/TableMover.js +229 -229
  972. package/lib-amd/tableEdit/editors/features/TableMover.js.map +1 -1
  973. package/lib-amd/tableEdit/editors/features/TableResizer.d.ts +50 -50
  974. package/lib-amd/tableEdit/editors/features/TableResizer.js +187 -187
  975. package/lib-amd/tableEdit/editors/features/TableResizer.js.map +1 -1
  976. package/lib-amd/tableEdit/editors/features/TableRowColumnSelector.d.ts +42 -0
  977. package/lib-amd/tableEdit/editors/features/TableRowColumnSelector.js +221 -0
  978. package/lib-amd/tableEdit/editors/features/TableRowColumnSelector.js.map +1 -0
  979. package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.d.ts +6 -6
  980. package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.js +21 -20
  981. package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
  982. package/lib-amd/touch/TouchPlugin.d.ts +32 -32
  983. package/lib-amd/touch/TouchPlugin.js +212 -210
  984. package/lib-amd/touch/TouchPlugin.js.map +1 -1
  985. package/lib-amd/utils/getNodePositionFromEvent.d.ts +5 -5
  986. package/lib-amd/utils/getNodePositionFromEvent.js +35 -35
  987. package/lib-amd/utils/getNodePositionFromEvent.js.map +1 -1
  988. package/lib-amd/watermark/WatermarkFormat.d.ts +5 -5
  989. package/lib-amd/watermark/WatermarkFormat.js +4 -4
  990. package/lib-amd/watermark/WatermarkFormat.js.map +1 -1
  991. package/lib-amd/watermark/WatermarkPlugin.d.ts +42 -42
  992. package/lib-amd/watermark/WatermarkPlugin.js +136 -136
  993. package/lib-amd/watermark/WatermarkPlugin.js.map +1 -1
  994. package/lib-amd/watermark/isModelEmptyFast.d.ts +5 -5
  995. package/lib-amd/watermark/isModelEmptyFast.js +39 -39
  996. package/lib-amd/watermark/isModelEmptyFast.js.map +1 -1
  997. package/lib-mjs/announce/AnnouncePlugin.d.ts +32 -32
  998. package/lib-mjs/announce/AnnouncePlugin.js +62 -62
  999. package/lib-mjs/announce/AnnouncePlugin.js.map +1 -1
  1000. package/lib-mjs/announce/tableSelectionUtils.d.ts +17 -17
  1001. package/lib-mjs/announce/tableSelectionUtils.js +63 -66
  1002. package/lib-mjs/announce/tableSelectionUtils.js.map +1 -1
  1003. package/lib-mjs/autoFormat/AutoFormatPlugin.d.ts +59 -59
  1004. package/lib-mjs/autoFormat/AutoFormatPlugin.js +295 -295
  1005. package/lib-mjs/autoFormat/AutoFormatPlugin.js.map +1 -1
  1006. package/lib-mjs/autoFormat/horizontalLine/checkAndInsertHorizontalLine.d.ts +24 -24
  1007. package/lib-mjs/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js +86 -86
  1008. package/lib-mjs/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js.map +1 -1
  1009. package/lib-mjs/autoFormat/hyphen/transformHyphen.d.ts +5 -5
  1010. package/lib-mjs/autoFormat/hyphen/transformHyphen.js +30 -30
  1011. package/lib-mjs/autoFormat/hyphen/transformHyphen.js.map +1 -1
  1012. package/lib-mjs/autoFormat/interface/AutoFormatOptions.d.ts +34 -34
  1013. package/lib-mjs/autoFormat/interface/AutoFormatOptions.js +1 -1
  1014. package/lib-mjs/autoFormat/interface/AutoFormatOptions.js.map +1 -1
  1015. package/lib-mjs/autoFormat/link/createLink.d.ts +5 -5
  1016. package/lib-mjs/autoFormat/link/createLink.js +31 -31
  1017. package/lib-mjs/autoFormat/link/createLink.js.map +1 -1
  1018. package/lib-mjs/autoFormat/link/unlink.d.ts +5 -5
  1019. package/lib-mjs/autoFormat/link/unlink.js +14 -14
  1020. package/lib-mjs/autoFormat/link/unlink.js.map +1 -1
  1021. package/lib-mjs/autoFormat/list/convertAlphaToDecimals.d.ts +7 -7
  1022. package/lib-mjs/autoFormat/list/convertAlphaToDecimals.js +18 -18
  1023. package/lib-mjs/autoFormat/list/convertAlphaToDecimals.js.map +1 -1
  1024. package/lib-mjs/autoFormat/list/getIndex.d.ts +4 -4
  1025. package/lib-mjs/autoFormat/list/getIndex.js +9 -9
  1026. package/lib-mjs/autoFormat/list/getIndex.js.map +1 -1
  1027. package/lib-mjs/autoFormat/list/getListTypeStyle.d.ts +14 -14
  1028. package/lib-mjs/autoFormat/list/getListTypeStyle.js +95 -95
  1029. package/lib-mjs/autoFormat/list/getListTypeStyle.js.map +1 -1
  1030. package/lib-mjs/autoFormat/list/getNumberingListStyle.d.ts +4 -4
  1031. package/lib-mjs/autoFormat/list/getNumberingListStyle.js +149 -149
  1032. package/lib-mjs/autoFormat/list/getNumberingListStyle.js.map +1 -1
  1033. package/lib-mjs/autoFormat/list/keyboardListTrigger.d.ts +5 -5
  1034. package/lib-mjs/autoFormat/list/keyboardListTrigger.js +45 -45
  1035. package/lib-mjs/autoFormat/list/keyboardListTrigger.js.map +1 -1
  1036. package/lib-mjs/autoFormat/numbers/transformFraction.d.ts +5 -5
  1037. package/lib-mjs/autoFormat/numbers/transformFraction.js +23 -23
  1038. package/lib-mjs/autoFormat/numbers/transformFraction.js.map +1 -1
  1039. package/lib-mjs/autoFormat/numbers/transformOrdinals.d.ts +4 -4
  1040. package/lib-mjs/autoFormat/numbers/transformOrdinals.js +61 -60
  1041. package/lib-mjs/autoFormat/numbers/transformOrdinals.js.map +1 -1
  1042. package/lib-mjs/contextMenuBase/ContextMenuPluginBase.d.ts +58 -58
  1043. package/lib-mjs/contextMenuBase/ContextMenuPluginBase.js +80 -80
  1044. package/lib-mjs/contextMenuBase/ContextMenuPluginBase.js.map +1 -1
  1045. package/lib-mjs/customReplace/CustomReplacePlugin.d.ts +61 -61
  1046. package/lib-mjs/customReplace/CustomReplacePlugin.js +83 -83
  1047. package/lib-mjs/customReplace/CustomReplacePlugin.js.map +1 -1
  1048. package/lib-mjs/edit/EditOptions.d.ts +78 -45
  1049. package/lib-mjs/edit/EditOptions.js +1 -1
  1050. package/lib-mjs/edit/EditOptions.js.map +1 -1
  1051. package/lib-mjs/edit/EditPlugin.d.ts +60 -60
  1052. package/lib-mjs/edit/EditPlugin.js +253 -235
  1053. package/lib-mjs/edit/EditPlugin.js.map +1 -1
  1054. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
  1055. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js +19 -19
  1056. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  1057. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.d.ts +10 -10
  1058. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js +110 -110
  1059. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  1060. package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.d.ts +5 -5
  1061. package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js +58 -58
  1062. package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
  1063. package/lib-mjs/edit/deleteSteps/deleteList.d.ts +5 -5
  1064. package/lib-mjs/edit/deleteSteps/deleteList.js +54 -24
  1065. package/lib-mjs/edit/deleteSteps/deleteList.js.map +1 -1
  1066. package/lib-mjs/edit/deleteSteps/deleteParagraphStyle.d.ts +5 -5
  1067. package/lib-mjs/edit/deleteSteps/deleteParagraphStyle.js +32 -32
  1068. package/lib-mjs/edit/deleteSteps/deleteParagraphStyle.js.map +1 -1
  1069. package/lib-mjs/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
  1070. package/lib-mjs/edit/deleteSteps/deleteWordSelection.js +169 -169
  1071. package/lib-mjs/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  1072. package/lib-mjs/edit/handleKeyboardEventCommon.d.ts +14 -14
  1073. package/lib-mjs/edit/handleKeyboardEventCommon.js +65 -65
  1074. package/lib-mjs/edit/handleKeyboardEventCommon.js.map +1 -1
  1075. package/lib-mjs/edit/inputSteps/handleAutoLink.d.ts +5 -5
  1076. package/lib-mjs/edit/inputSteps/handleAutoLink.js +20 -20
  1077. package/lib-mjs/edit/inputSteps/handleAutoLink.js.map +1 -1
  1078. package/lib-mjs/edit/inputSteps/handleEnterOnList.d.ts +5 -5
  1079. package/lib-mjs/edit/inputSteps/handleEnterOnList.js +67 -67
  1080. package/lib-mjs/edit/inputSteps/handleEnterOnList.js.map +1 -1
  1081. package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -5
  1082. package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.js +17 -17
  1083. package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.js.map +1 -1
  1084. package/lib-mjs/edit/keyboardDelete.d.ts +11 -11
  1085. package/lib-mjs/edit/keyboardDelete.js +110 -110
  1086. package/lib-mjs/edit/keyboardDelete.js.map +1 -1
  1087. package/lib-mjs/edit/keyboardEnter.d.ts +5 -5
  1088. package/lib-mjs/edit/keyboardEnter.js +50 -50
  1089. package/lib-mjs/edit/keyboardEnter.js.map +1 -1
  1090. package/lib-mjs/edit/keyboardInput.d.ts +5 -5
  1091. package/lib-mjs/edit/keyboardInput.js +60 -60
  1092. package/lib-mjs/edit/keyboardInput.js.map +1 -1
  1093. package/lib-mjs/edit/keyboardTab.d.ts +6 -5
  1094. package/lib-mjs/edit/keyboardTab.js +70 -60
  1095. package/lib-mjs/edit/keyboardTab.js.map +1 -1
  1096. package/lib-mjs/edit/tabUtils/handleTabOnList.d.ts +7 -7
  1097. package/lib-mjs/edit/tabUtils/handleTabOnList.js +29 -29
  1098. package/lib-mjs/edit/tabUtils/handleTabOnList.js.map +1 -1
  1099. package/lib-mjs/edit/tabUtils/handleTabOnParagraph.d.ts +17 -17
  1100. package/lib-mjs/edit/tabUtils/handleTabOnParagraph.js +90 -90
  1101. package/lib-mjs/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
  1102. package/lib-mjs/edit/tabUtils/handleTabOnTable.d.ts +6 -6
  1103. package/lib-mjs/edit/tabUtils/handleTabOnTable.js +21 -21
  1104. package/lib-mjs/edit/tabUtils/handleTabOnTable.js.map +1 -1
  1105. package/lib-mjs/edit/tabUtils/handleTabOnTableCell.d.ts +6 -6
  1106. package/lib-mjs/edit/tabUtils/handleTabOnTableCell.js +39 -39
  1107. package/lib-mjs/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
  1108. package/lib-mjs/edit/utils/getLeafSiblingBlock.d.ts +45 -45
  1109. package/lib-mjs/edit/utils/getLeafSiblingBlock.js +68 -68
  1110. package/lib-mjs/edit/utils/getLeafSiblingBlock.js.map +1 -1
  1111. package/lib-mjs/edit/utils/preserveParagraphFormat.d.ts +9 -9
  1112. package/lib-mjs/edit/utils/preserveParagraphFormat.js +19 -19
  1113. package/lib-mjs/edit/utils/preserveParagraphFormat.js.map +1 -1
  1114. package/lib-mjs/edit/utils/splitParagraph.d.ts +12 -12
  1115. package/lib-mjs/edit/utils/splitParagraph.js +36 -36
  1116. package/lib-mjs/edit/utils/splitParagraph.js.map +1 -1
  1117. package/lib-mjs/findReplace/FindReplacePlugin.d.ts +42 -42
  1118. package/lib-mjs/findReplace/FindReplacePlugin.js +94 -93
  1119. package/lib-mjs/findReplace/FindReplacePlugin.js.map +1 -1
  1120. package/lib-mjs/findReplace/createFindReplaceContext.d.ts +8 -8
  1121. package/lib-mjs/findReplace/createFindReplaceContext.js +21 -21
  1122. package/lib-mjs/findReplace/createFindReplaceContext.js.map +1 -1
  1123. package/lib-mjs/findReplace/find.d.ts +11 -11
  1124. package/lib-mjs/findReplace/find.js +15 -15
  1125. package/lib-mjs/findReplace/find.js.map +1 -1
  1126. package/lib-mjs/findReplace/moveHighlight.d.ts +9 -9
  1127. package/lib-mjs/findReplace/moveHighlight.js +16 -16
  1128. package/lib-mjs/findReplace/moveHighlight.js.map +1 -1
  1129. package/lib-mjs/findReplace/replace.d.ts +10 -10
  1130. package/lib-mjs/findReplace/replace.js +43 -43
  1131. package/lib-mjs/findReplace/replace.js.map +1 -1
  1132. package/lib-mjs/findReplace/types/FindReplaceContext.d.ts +38 -38
  1133. package/lib-mjs/findReplace/types/FindReplaceContext.js +1 -1
  1134. package/lib-mjs/findReplace/types/FindReplaceContext.js.map +1 -1
  1135. package/lib-mjs/findReplace/types/FindReplaceHighlightOptions.d.ts +13 -13
  1136. package/lib-mjs/findReplace/types/FindReplaceHighlightOptions.js +1 -1
  1137. package/lib-mjs/findReplace/types/FindReplaceHighlightOptions.js.map +1 -1
  1138. package/lib-mjs/findReplace/types/HighlightHelper.d.ts +23 -23
  1139. package/lib-mjs/findReplace/types/HighlightHelper.js +1 -1
  1140. package/lib-mjs/findReplace/types/HighlightHelper.js.map +1 -1
  1141. package/lib-mjs/findReplace/utils/HighlightHelperImpl.d.ts +9 -9
  1142. package/lib-mjs/findReplace/utils/HighlightHelperImpl.js +60 -60
  1143. package/lib-mjs/findReplace/utils/HighlightHelperImpl.js.map +1 -1
  1144. package/lib-mjs/findReplace/utils/constants.d.ts +28 -28
  1145. package/lib-mjs/findReplace/utils/constants.js +28 -28
  1146. package/lib-mjs/findReplace/utils/constants.js.map +1 -1
  1147. package/lib-mjs/findReplace/utils/replaceTextInRange.d.ts +4 -4
  1148. package/lib-mjs/findReplace/utils/replaceTextInRange.js +66 -66
  1149. package/lib-mjs/findReplace/utils/replaceTextInRange.js.map +1 -1
  1150. package/lib-mjs/findReplace/utils/setMarkedIndex.d.ts +6 -6
  1151. package/lib-mjs/findReplace/utils/setMarkedIndex.js +24 -24
  1152. package/lib-mjs/findReplace/utils/setMarkedIndex.js.map +1 -1
  1153. package/lib-mjs/findReplace/utils/sortRanges.d.ts +5 -5
  1154. package/lib-mjs/findReplace/utils/sortRanges.js +18 -18
  1155. package/lib-mjs/findReplace/utils/sortRanges.js.map +1 -1
  1156. package/lib-mjs/findReplace/utils/updateHighlight.d.ts +6 -6
  1157. package/lib-mjs/findReplace/utils/updateHighlight.js +43 -43
  1158. package/lib-mjs/findReplace/utils/updateHighlight.js.map +1 -1
  1159. package/lib-mjs/hiddenProperty/HiddenPropertyOptions.d.ts +11 -11
  1160. package/lib-mjs/hiddenProperty/HiddenPropertyOptions.js +1 -1
  1161. package/lib-mjs/hiddenProperty/HiddenPropertyOptions.js.map +1 -1
  1162. package/lib-mjs/hiddenProperty/HiddenPropertyPlugin.d.ts +38 -38
  1163. package/lib-mjs/hiddenProperty/HiddenPropertyPlugin.js +54 -54
  1164. package/lib-mjs/hiddenProperty/HiddenPropertyPlugin.js.map +1 -1
  1165. package/lib-mjs/hiddenProperty/fixupHiddenProperties.d.ts +9 -9
  1166. package/lib-mjs/hiddenProperty/fixupHiddenProperties.js +33 -33
  1167. package/lib-mjs/hiddenProperty/fixupHiddenProperties.js.map +1 -1
  1168. package/lib-mjs/hyperlink/HyperlinkPlugin.d.ts +48 -48
  1169. package/lib-mjs/hyperlink/HyperlinkPlugin.js +140 -140
  1170. package/lib-mjs/hyperlink/HyperlinkPlugin.js.map +1 -1
  1171. package/lib-mjs/hyperlink/HyperlinkToolTip.d.ts +7 -7
  1172. package/lib-mjs/hyperlink/HyperlinkToolTip.js +1 -1
  1173. package/lib-mjs/hyperlink/HyperlinkToolTip.js.map +1 -1
  1174. package/lib-mjs/imageEdit/Cropper/createImageCropper.d.ts +10 -10
  1175. package/lib-mjs/imageEdit/Cropper/createImageCropper.js +74 -74
  1176. package/lib-mjs/imageEdit/Cropper/createImageCropper.js.map +1 -1
  1177. package/lib-mjs/imageEdit/Cropper/cropperContext.d.ts +8 -8
  1178. package/lib-mjs/imageEdit/Cropper/cropperContext.js +69 -69
  1179. package/lib-mjs/imageEdit/Cropper/cropperContext.js.map +1 -1
  1180. package/lib-mjs/imageEdit/ImageEditPlugin.d.ts +86 -86
  1181. package/lib-mjs/imageEdit/ImageEditPlugin.js +581 -582
  1182. package/lib-mjs/imageEdit/ImageEditPlugin.js.map +1 -1
  1183. package/lib-mjs/imageEdit/Resizer/createImageResizer.d.ts +12 -12
  1184. package/lib-mjs/imageEdit/Resizer/createImageResizer.js +84 -84
  1185. package/lib-mjs/imageEdit/Resizer/createImageResizer.js.map +1 -1
  1186. package/lib-mjs/imageEdit/Resizer/resizerContext.d.ts +8 -8
  1187. package/lib-mjs/imageEdit/Resizer/resizerContext.js +57 -57
  1188. package/lib-mjs/imageEdit/Resizer/resizerContext.js.map +1 -1
  1189. package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -4
  1190. package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.js +12 -12
  1191. package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -1
  1192. package/lib-mjs/imageEdit/Rotator/createImageRotator.d.ts +6 -6
  1193. package/lib-mjs/imageEdit/Rotator/createImageRotator.js +71 -71
  1194. package/lib-mjs/imageEdit/Rotator/createImageRotator.js.map +1 -1
  1195. package/lib-mjs/imageEdit/Rotator/rotatorContext.d.ts +8 -8
  1196. package/lib-mjs/imageEdit/Rotator/rotatorContext.js +32 -32
  1197. package/lib-mjs/imageEdit/Rotator/rotatorContext.js.map +1 -1
  1198. package/lib-mjs/imageEdit/Rotator/updateRotateHandle.d.ts +7 -7
  1199. package/lib-mjs/imageEdit/Rotator/updateRotateHandle.js +51 -51
  1200. package/lib-mjs/imageEdit/Rotator/updateRotateHandle.js.map +1 -1
  1201. package/lib-mjs/imageEdit/constants/constants.d.ts +77 -77
  1202. package/lib-mjs/imageEdit/constants/constants.js +81 -81
  1203. package/lib-mjs/imageEdit/constants/constants.js.map +1 -1
  1204. package/lib-mjs/imageEdit/types/DragAndDropContext.d.ts +39 -39
  1205. package/lib-mjs/imageEdit/types/DragAndDropContext.js +1 -1
  1206. package/lib-mjs/imageEdit/types/DragAndDropContext.js.map +1 -1
  1207. package/lib-mjs/imageEdit/types/GeneratedImageSize.d.ts +33 -33
  1208. package/lib-mjs/imageEdit/types/GeneratedImageSize.js +1 -1
  1209. package/lib-mjs/imageEdit/types/GeneratedImageSize.js.map +1 -1
  1210. package/lib-mjs/imageEdit/types/ImageAndParagraph.d.ts +8 -8
  1211. package/lib-mjs/imageEdit/types/ImageAndParagraph.js +1 -1
  1212. package/lib-mjs/imageEdit/types/ImageAndParagraph.js.map +1 -1
  1213. package/lib-mjs/imageEdit/types/ImageEditElementClass.d.ts +30 -30
  1214. package/lib-mjs/imageEdit/types/ImageEditElementClass.js +31 -31
  1215. package/lib-mjs/imageEdit/types/ImageEditElementClass.js.map +1 -1
  1216. package/lib-mjs/imageEdit/types/ImageEditOptions.d.ts +55 -55
  1217. package/lib-mjs/imageEdit/types/ImageEditOptions.js +1 -1
  1218. package/lib-mjs/imageEdit/types/ImageEditOptions.js.map +1 -1
  1219. package/lib-mjs/imageEdit/types/ImageHtmlOptions.d.ts +22 -22
  1220. package/lib-mjs/imageEdit/types/ImageHtmlOptions.js +1 -1
  1221. package/lib-mjs/imageEdit/types/ImageHtmlOptions.js.map +1 -1
  1222. package/lib-mjs/imageEdit/utils/applyChange.d.ts +13 -13
  1223. package/lib-mjs/imageEdit/utils/applyChange.js +68 -68
  1224. package/lib-mjs/imageEdit/utils/applyChange.js.map +1 -1
  1225. package/lib-mjs/imageEdit/utils/canRegenerateImage.d.ts +8 -8
  1226. package/lib-mjs/imageEdit/utils/canRegenerateImage.js +27 -27
  1227. package/lib-mjs/imageEdit/utils/canRegenerateImage.js.map +1 -1
  1228. package/lib-mjs/imageEdit/utils/checkEditInfoState.d.ts +41 -41
  1229. package/lib-mjs/imageEdit/utils/checkEditInfoState.js +48 -48
  1230. package/lib-mjs/imageEdit/utils/checkEditInfoState.js.map +1 -1
  1231. package/lib-mjs/imageEdit/utils/createImageWrapper.d.ts +18 -18
  1232. package/lib-mjs/imageEdit/utils/createImageWrapper.js +87 -87
  1233. package/lib-mjs/imageEdit/utils/createImageWrapper.js.map +1 -1
  1234. package/lib-mjs/imageEdit/utils/doubleCheckResize.d.ts +12 -12
  1235. package/lib-mjs/imageEdit/utils/doubleCheckResize.js +31 -31
  1236. package/lib-mjs/imageEdit/utils/doubleCheckResize.js.map +1 -1
  1237. package/lib-mjs/imageEdit/utils/filterInnerResizerHandles.d.ts +4 -4
  1238. package/lib-mjs/imageEdit/utils/filterInnerResizerHandles.js +15 -15
  1239. package/lib-mjs/imageEdit/utils/filterInnerResizerHandles.js.map +1 -1
  1240. package/lib-mjs/imageEdit/utils/findEditingImage.d.ts +10 -10
  1241. package/lib-mjs/imageEdit/utils/findEditingImage.js +35 -35
  1242. package/lib-mjs/imageEdit/utils/findEditingImage.js.map +1 -1
  1243. package/lib-mjs/imageEdit/utils/generateDataURL.d.ts +13 -13
  1244. package/lib-mjs/imageEdit/utils/generateDataURL.js +52 -45
  1245. package/lib-mjs/imageEdit/utils/generateDataURL.js.map +1 -1
  1246. package/lib-mjs/imageEdit/utils/generateImageSize.d.ts +15 -15
  1247. package/lib-mjs/imageEdit/utils/generateImageSize.js +41 -41
  1248. package/lib-mjs/imageEdit/utils/generateImageSize.js.map +1 -1
  1249. package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -10
  1250. package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.js +19 -19
  1251. package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.js.map +1 -1
  1252. package/lib-mjs/imageEdit/utils/getHTMLImageOptions.d.ts +7 -7
  1253. package/lib-mjs/imageEdit/utils/getHTMLImageOptions.js +18 -18
  1254. package/lib-mjs/imageEdit/utils/getHTMLImageOptions.js.map +1 -1
  1255. package/lib-mjs/imageEdit/utils/getSelectedImage.d.ts +6 -6
  1256. package/lib-mjs/imageEdit/utils/getSelectedImage.js +16 -16
  1257. package/lib-mjs/imageEdit/utils/getSelectedImage.js.map +1 -1
  1258. package/lib-mjs/imageEdit/utils/imageEditUtils.d.ts +47 -47
  1259. package/lib-mjs/imageEdit/utils/imageEditUtils.js +104 -104
  1260. package/lib-mjs/imageEdit/utils/imageEditUtils.js.map +1 -1
  1261. package/lib-mjs/imageEdit/utils/normalizeImageSelection.d.ts +9 -9
  1262. package/lib-mjs/imageEdit/utils/normalizeImageSelection.js +27 -27
  1263. package/lib-mjs/imageEdit/utils/normalizeImageSelection.js.map +1 -1
  1264. package/lib-mjs/imageEdit/utils/updateHandleCursor.d.ts +7 -7
  1265. package/lib-mjs/imageEdit/utils/updateHandleCursor.js +29 -29
  1266. package/lib-mjs/imageEdit/utils/updateHandleCursor.js.map +1 -1
  1267. package/lib-mjs/imageEdit/utils/updateImageEditInfo.d.ts +10 -10
  1268. package/lib-mjs/imageEdit/utils/updateImageEditInfo.js +47 -47
  1269. package/lib-mjs/imageEdit/utils/updateImageEditInfo.js.map +1 -1
  1270. package/lib-mjs/imageEdit/utils/updateWrapper.d.ts +6 -6
  1271. package/lib-mjs/imageEdit/utils/updateWrapper.js +82 -82
  1272. package/lib-mjs/imageEdit/utils/updateWrapper.js.map +1 -1
  1273. package/lib-mjs/index.d.ts +38 -38
  1274. package/lib-mjs/index.js +23 -23
  1275. package/lib-mjs/index.js.map +1 -1
  1276. package/lib-mjs/markdown/MarkdownPlugin.d.ts +64 -64
  1277. package/lib-mjs/markdown/MarkdownPlugin.js +192 -192
  1278. package/lib-mjs/markdown/MarkdownPlugin.js.map +1 -1
  1279. package/lib-mjs/markdown/utils/setFormat.d.ts +5 -5
  1280. package/lib-mjs/markdown/utils/setFormat.js +42 -42
  1281. package/lib-mjs/markdown/utils/setFormat.js.map +1 -1
  1282. package/lib-mjs/paste/DefaultSanitizers.d.ts +10 -10
  1283. package/lib-mjs/paste/DefaultSanitizers.js +20 -20
  1284. package/lib-mjs/paste/DefaultSanitizers.js.map +1 -1
  1285. package/lib-mjs/paste/Excel/processPastedContentFromExcel.d.ts +30 -30
  1286. package/lib-mjs/paste/Excel/processPastedContentFromExcel.js +132 -132
  1287. package/lib-mjs/paste/Excel/processPastedContentFromExcel.js.map +1 -1
  1288. package/lib-mjs/paste/PastePlugin.d.ts +44 -44
  1289. package/lib-mjs/paste/PastePlugin.js +143 -135
  1290. package/lib-mjs/paste/PastePlugin.js.map +1 -1
  1291. package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
  1292. package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.js +142 -142
  1293. package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
  1294. package/lib-mjs/paste/WacComponents/constants.d.ts +52 -52
  1295. package/lib-mjs/paste/WacComponents/constants.js +63 -63
  1296. package/lib-mjs/paste/WacComponents/constants.js.map +1 -1
  1297. package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
  1298. package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.js +186 -186
  1299. package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
  1300. package/lib-mjs/paste/WordDesktop/WordMetadata.d.ts +9 -9
  1301. package/lib-mjs/paste/WordDesktop/WordMetadata.js +1 -1
  1302. package/lib-mjs/paste/WordDesktop/WordMetadata.js.map +1 -1
  1303. package/lib-mjs/paste/WordDesktop/getStyleMetadata.d.ts +22 -23
  1304. package/lib-mjs/paste/WordDesktop/getStyleMetadata.js +106 -103
  1305. package/lib-mjs/paste/WordDesktop/getStyleMetadata.js.map +1 -1
  1306. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +8 -7
  1307. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js +37 -34
  1308. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  1309. package/lib-mjs/paste/WordDesktop/processWordComments.d.ts +7 -7
  1310. package/lib-mjs/paste/WordDesktop/processWordComments.js +17 -17
  1311. package/lib-mjs/paste/WordDesktop/processWordComments.js.map +1 -1
  1312. package/lib-mjs/paste/WordDesktop/processWordLists.d.ts +11 -11
  1313. package/lib-mjs/paste/WordDesktop/processWordLists.js +200 -200
  1314. package/lib-mjs/paste/WordDesktop/processWordLists.js.map +1 -1
  1315. package/lib-mjs/paste/oneNote/processPastedContentFromOneNote.d.ts +50 -50
  1316. package/lib-mjs/paste/oneNote/processPastedContentFromOneNote.js +106 -106
  1317. package/lib-mjs/paste/oneNote/processPastedContentFromOneNote.js.map +1 -1
  1318. package/lib-mjs/paste/parsers/adjustPercentileLineHeightParser.d.ts +8 -8
  1319. package/lib-mjs/paste/parsers/adjustPercentileLineHeightParser.js +21 -21
  1320. package/lib-mjs/paste/parsers/adjustPercentileLineHeightParser.js.map +1 -1
  1321. package/lib-mjs/paste/parsers/blockElementParser.d.ts +7 -7
  1322. package/lib-mjs/paste/parsers/blockElementParser.js +10 -10
  1323. package/lib-mjs/paste/parsers/blockElementParser.js.map +1 -1
  1324. package/lib-mjs/paste/parsers/deprecatedColorParser.d.ts +5 -5
  1325. package/lib-mjs/paste/parsers/deprecatedColorParser.js +15 -15
  1326. package/lib-mjs/paste/parsers/deprecatedColorParser.js.map +1 -1
  1327. package/lib-mjs/paste/parsers/imageSizeParser.d.ts +6 -6
  1328. package/lib-mjs/paste/parsers/imageSizeParser.js +19 -19
  1329. package/lib-mjs/paste/parsers/imageSizeParser.js.map +1 -1
  1330. package/lib-mjs/paste/parsers/linkParser.d.ts +5 -5
  1331. package/lib-mjs/paste/parsers/linkParser.js +23 -23
  1332. package/lib-mjs/paste/parsers/linkParser.js.map +1 -1
  1333. package/lib-mjs/paste/parsers/listLevelParser.d.ts +10 -10
  1334. package/lib-mjs/paste/parsers/listLevelParser.js +14 -14
  1335. package/lib-mjs/paste/parsers/listLevelParser.js.map +1 -1
  1336. package/lib-mjs/paste/parsers/removeNegativeTextIndentParser.d.ts +5 -5
  1337. package/lib-mjs/paste/parsers/removeNegativeTextIndentParser.js +9 -9
  1338. package/lib-mjs/paste/parsers/removeNegativeTextIndentParser.js.map +1 -1
  1339. package/lib-mjs/paste/parsers/tableBorderParser.d.ts +5 -5
  1340. package/lib-mjs/paste/parsers/tableBorderParser.js +23 -23
  1341. package/lib-mjs/paste/parsers/tableBorderParser.js.map +1 -1
  1342. package/lib-mjs/paste/parsers/wordContainerParser.d.ts +8 -0
  1343. package/lib-mjs/paste/parsers/wordContainerParser.js +13 -0
  1344. package/lib-mjs/paste/parsers/wordContainerParser.js.map +1 -0
  1345. package/lib-mjs/paste/parsers/wordTableParser.d.ts +8 -8
  1346. package/lib-mjs/paste/parsers/wordTableParser.js +15 -15
  1347. package/lib-mjs/paste/parsers/wordTableParser.js.map +1 -1
  1348. package/lib-mjs/paste/pasteSourceValidations/constants.d.ts +17 -17
  1349. package/lib-mjs/paste/pasteSourceValidations/constants.js +17 -17
  1350. package/lib-mjs/paste/pasteSourceValidations/constants.js.map +1 -1
  1351. package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
  1352. package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.js +11 -11
  1353. package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
  1354. package/lib-mjs/paste/pasteSourceValidations/getDocumentSource.d.ts +52 -0
  1355. package/lib-mjs/paste/pasteSourceValidations/{getPasteSource.js → getDocumentSource.js} +37 -45
  1356. package/lib-mjs/paste/pasteSourceValidations/getDocumentSource.js.map +1 -0
  1357. package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
  1358. package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.js +13 -13
  1359. package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
  1360. package/lib-mjs/paste/pasteSourceValidations/isExcelNonNativeEvent.d.ts +7 -7
  1361. package/lib-mjs/paste/pasteSourceValidations/isExcelNonNativeEvent.js +13 -13
  1362. package/lib-mjs/paste/pasteSourceValidations/isExcelNonNativeEvent.js.map +1 -1
  1363. package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
  1364. package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.js +15 -15
  1365. package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
  1366. package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
  1367. package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.js +11 -11
  1368. package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
  1369. package/lib-mjs/paste/pasteSourceValidations/isOneNoteDocument.d.ts +8 -8
  1370. package/lib-mjs/paste/pasteSourceValidations/isOneNoteDocument.js +13 -13
  1371. package/lib-mjs/paste/pasteSourceValidations/isOneNoteDocument.js.map +1 -1
  1372. package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
  1373. package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +11 -11
  1374. package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
  1375. package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
  1376. package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.js +20 -20
  1377. package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
  1378. package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
  1379. package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.js +13 -14
  1380. package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
  1381. package/lib-mjs/paste/processors/pasteButtonProcessor.d.ts +7 -7
  1382. package/lib-mjs/paste/processors/pasteButtonProcessor.js +31 -31
  1383. package/lib-mjs/paste/processors/pasteButtonProcessor.js.map +1 -1
  1384. package/lib-mjs/paste/utils/addParser.d.ts +5 -5
  1385. package/lib-mjs/paste/utils/addParser.js +13 -13
  1386. package/lib-mjs/paste/utils/addParser.js.map +1 -1
  1387. package/lib-mjs/paste/utils/chainSanitizerCallback.d.ts +9 -9
  1388. package/lib-mjs/paste/utils/chainSanitizerCallback.js +31 -31
  1389. package/lib-mjs/paste/utils/chainSanitizerCallback.js.map +1 -1
  1390. package/lib-mjs/paste/utils/customListUtils.d.ts +9 -9
  1391. package/lib-mjs/paste/utils/customListUtils.js +62 -62
  1392. package/lib-mjs/paste/utils/customListUtils.js.map +1 -1
  1393. package/lib-mjs/paste/utils/getStyles.d.ts +6 -6
  1394. package/lib-mjs/paste/utils/getStyles.js +18 -18
  1395. package/lib-mjs/paste/utils/getStyles.js.map +1 -1
  1396. package/lib-mjs/paste/utils/setProcessor.d.ts +5 -5
  1397. package/lib-mjs/paste/utils/setProcessor.js +9 -9
  1398. package/lib-mjs/paste/utils/setProcessor.js.map +1 -1
  1399. package/lib-mjs/picker/PickerHandler.d.ts +112 -112
  1400. package/lib-mjs/picker/PickerHandler.js +1 -1
  1401. package/lib-mjs/picker/PickerHandler.js.map +1 -1
  1402. package/lib-mjs/picker/PickerHelper.d.ts +22 -22
  1403. package/lib-mjs/picker/PickerHelper.js +1 -1
  1404. package/lib-mjs/picker/PickerHelper.js.map +1 -1
  1405. package/lib-mjs/picker/PickerHelperImpl.d.ts +25 -25
  1406. package/lib-mjs/picker/PickerHelperImpl.js +50 -50
  1407. package/lib-mjs/picker/PickerHelperImpl.js.map +1 -1
  1408. package/lib-mjs/picker/PickerPlugin.d.ts +54 -54
  1409. package/lib-mjs/picker/PickerPlugin.js +213 -213
  1410. package/lib-mjs/picker/PickerPlugin.js.map +1 -1
  1411. package/lib-mjs/picker/getQueryString.d.ts +5 -5
  1412. package/lib-mjs/picker/getQueryString.js +31 -31
  1413. package/lib-mjs/picker/getQueryString.js.map +1 -1
  1414. package/lib-mjs/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
  1415. package/lib-mjs/pluginUtils/CreateElement/CreateElementData.js +1 -1
  1416. package/lib-mjs/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
  1417. package/lib-mjs/pluginUtils/CreateElement/createElement.d.ts +9 -9
  1418. package/lib-mjs/pluginUtils/CreateElement/createElement.js +47 -47
  1419. package/lib-mjs/pluginUtils/CreateElement/createElement.js.map +1 -1
  1420. package/lib-mjs/pluginUtils/Disposable.d.ts +10 -10
  1421. package/lib-mjs/pluginUtils/Disposable.js +1 -1
  1422. package/lib-mjs/pluginUtils/Disposable.js.map +1 -1
  1423. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
  1424. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.js +1 -1
  1425. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
  1426. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
  1427. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.js +117 -117
  1428. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
  1429. package/lib-mjs/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
  1430. package/lib-mjs/pluginUtils/Rect/getIntersectedRect.js +41 -41
  1431. package/lib-mjs/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
  1432. package/lib-mjs/shortcut/ShortcutCommand.d.ts +44 -44
  1433. package/lib-mjs/shortcut/ShortcutCommand.js +1 -1
  1434. package/lib-mjs/shortcut/ShortcutCommand.js.map +1 -1
  1435. package/lib-mjs/shortcut/ShortcutPlugin.d.ts +51 -51
  1436. package/lib-mjs/shortcut/ShortcutPlugin.js +122 -122
  1437. package/lib-mjs/shortcut/ShortcutPlugin.js.map +1 -1
  1438. package/lib-mjs/shortcut/shortcuts.d.ts +92 -92
  1439. package/lib-mjs/shortcut/shortcuts.js +235 -235
  1440. package/lib-mjs/shortcut/shortcuts.js.map +1 -1
  1441. package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.d.ts +5 -5
  1442. package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.js +17 -17
  1443. package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
  1444. package/lib-mjs/tableEdit/OnTableEditorCreatedCallback.d.ts +5 -5
  1445. package/lib-mjs/tableEdit/OnTableEditorCreatedCallback.js +1 -1
  1446. package/lib-mjs/tableEdit/OnTableEditorCreatedCallback.js.map +1 -1
  1447. package/lib-mjs/tableEdit/TableEditPlugin.d.ts +56 -56
  1448. package/lib-mjs/tableEdit/TableEditPlugin.js +168 -168
  1449. package/lib-mjs/tableEdit/TableEditPlugin.js.map +1 -1
  1450. package/lib-mjs/tableEdit/TableWithRoot.d.ts +15 -15
  1451. package/lib-mjs/tableEdit/TableWithRoot.js +1 -1
  1452. package/lib-mjs/tableEdit/TableWithRoot.js.map +1 -1
  1453. package/lib-mjs/tableEdit/editors/TableEditor.d.ts +90 -86
  1454. package/lib-mjs/tableEdit/editors/TableEditor.js +375 -338
  1455. package/lib-mjs/tableEdit/editors/TableEditor.js.map +1 -1
  1456. package/lib-mjs/tableEdit/editors/features/CellResizer.d.ts +55 -54
  1457. package/lib-mjs/tableEdit/editors/features/CellResizer.js +239 -203
  1458. package/lib-mjs/tableEdit/editors/features/CellResizer.js.map +1 -1
  1459. package/lib-mjs/tableEdit/editors/features/TableEditFeature.d.ts +13 -13
  1460. package/lib-mjs/tableEdit/editors/features/TableEditFeature.js +12 -12
  1461. package/lib-mjs/tableEdit/editors/features/TableEditFeature.js.map +1 -1
  1462. package/lib-mjs/tableEdit/editors/features/TableEditFeatureName.d.ts +4 -4
  1463. package/lib-mjs/tableEdit/editors/features/TableEditFeatureName.js +1 -1
  1464. package/lib-mjs/tableEdit/editors/features/TableEditFeatureName.js.map +1 -1
  1465. package/lib-mjs/tableEdit/editors/features/TableInserter.d.ts +33 -33
  1466. package/lib-mjs/tableEdit/editors/features/TableInserter.js +121 -121
  1467. package/lib-mjs/tableEdit/editors/features/TableInserter.js.map +1 -1
  1468. package/lib-mjs/tableEdit/editors/features/TableMover.d.ts +53 -53
  1469. package/lib-mjs/tableEdit/editors/features/TableMover.js +227 -227
  1470. package/lib-mjs/tableEdit/editors/features/TableMover.js.map +1 -1
  1471. package/lib-mjs/tableEdit/editors/features/TableResizer.d.ts +50 -50
  1472. package/lib-mjs/tableEdit/editors/features/TableResizer.js +183 -183
  1473. package/lib-mjs/tableEdit/editors/features/TableResizer.js.map +1 -1
  1474. package/lib-mjs/tableEdit/editors/features/TableRowColumnSelector.d.ts +42 -0
  1475. package/lib-mjs/tableEdit/editors/features/TableRowColumnSelector.js +216 -0
  1476. package/lib-mjs/tableEdit/editors/features/TableRowColumnSelector.js.map +1 -0
  1477. package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.d.ts +6 -6
  1478. package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.js +16 -15
  1479. package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
  1480. package/lib-mjs/touch/TouchPlugin.d.ts +32 -32
  1481. package/lib-mjs/touch/TouchPlugin.js +208 -206
  1482. package/lib-mjs/touch/TouchPlugin.js.map +1 -1
  1483. package/lib-mjs/utils/getNodePositionFromEvent.d.ts +5 -5
  1484. package/lib-mjs/utils/getNodePositionFromEvent.js +29 -29
  1485. package/lib-mjs/utils/getNodePositionFromEvent.js.map +1 -1
  1486. package/lib-mjs/watermark/WatermarkFormat.d.ts +5 -5
  1487. package/lib-mjs/watermark/WatermarkFormat.js +1 -1
  1488. package/lib-mjs/watermark/WatermarkFormat.js.map +1 -1
  1489. package/lib-mjs/watermark/WatermarkPlugin.d.ts +42 -42
  1490. package/lib-mjs/watermark/WatermarkPlugin.js +134 -134
  1491. package/lib-mjs/watermark/WatermarkPlugin.js.map +1 -1
  1492. package/lib-mjs/watermark/isModelEmptyFast.d.ts +5 -5
  1493. package/lib-mjs/watermark/isModelEmptyFast.js +33 -33
  1494. package/lib-mjs/watermark/isModelEmptyFast.js.map +1 -1
  1495. package/package.json +5 -5
  1496. package/lib/paste/pasteSourceValidations/getPasteSource.d.ts +0 -28
  1497. package/lib/paste/pasteSourceValidations/getPasteSource.js.map +0 -1
  1498. package/lib-amd/paste/pasteSourceValidations/getPasteSource.d.ts +0 -28
  1499. package/lib-amd/paste/pasteSourceValidations/getPasteSource.js.map +0 -1
  1500. package/lib-mjs/paste/pasteSourceValidations/getPasteSource.d.ts +0 -28
  1501. package/lib-mjs/paste/pasteSourceValidations/getPasteSource.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ImageEditPlugin.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/ImageEditPlugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { applyChange } from './utils/applyChange';\nimport { canRegenerateImage } from './utils/canRegenerateImage';\nimport { checkIfImageWasResized, isASmallImage } from './utils/imageEditUtils';\nimport { createImageWrapper } from './utils/createImageWrapper';\nimport { Cropper } from './Cropper/cropperContext';\nimport { EDITING_MARKER, findEditingImage } from './utils/findEditingImage';\nimport { filterInnerResizerHandles } from './utils/filterInnerResizerHandles';\nimport { getDropAndDragHelpers } from './utils/getDropAndDragHelpers';\nimport { getHTMLImageOptions } from './utils/getHTMLImageOptions';\nimport { getSelectedImage } from './utils/getSelectedImage';\nimport { getSelectedImageMetadata, updateImageEditInfo } from './utils/updateImageEditInfo';\nimport { ImageEditElementClass } from './types/ImageEditElementClass';\nimport { normalizeImageSelection } from './utils/normalizeImageSelection';\nimport { Resizer } from './Resizer/resizerContext';\nimport { Rotator } from './Rotator/rotatorContext';\nimport { updateHandleCursor } from './utils/updateHandleCursor';\nimport { updateRotateHandle } from './Rotator/updateRotateHandle';\nimport { updateWrapper } from './utils/updateWrapper';\nimport {\n ChangeSource,\n getSafeIdSelector,\n getSelectedParagraphs,\n isElementOfType,\n isNodeOfType,\n mutateBlock,\n mutateSegment,\n setImageState,\n unwrap,\n} from 'roosterjs-content-model-dom';\nimport type { DragAndDropHelper } from '../pluginUtils/DragAndDrop/DragAndDropHelper';\nimport type { DragAndDropContext } from './types/DragAndDropContext';\nimport type { ImageHtmlOptions } from './types/ImageHtmlOptions';\nimport type { ImageEditOptions } from './types/ImageEditOptions';\nimport type {\n ContentChangedEvent,\n ContentModelImage,\n EditorPlugin,\n IEditor,\n ImageEditOperation,\n ImageEditor,\n ImageMetadataFormat,\n KeyDownEvent,\n MouseDownEvent,\n MouseUpEvent,\n PluginEvent,\n} from 'roosterjs-content-model-types';\n\nconst DefaultOptions: Partial<ImageEditOptions> = {\n borderColor: '#DB626C',\n minWidth: 10,\n minHeight: 10,\n preserveRatio: true,\n disableRotate: false,\n disableSideResize: false,\n onSelectState: ['resize', 'rotate'],\n};\n\nconst MouseRightButton = 2;\nconst DRAG_ID = '_dragging';\nconst IMAGE_EDIT_CLASS = 'imageEdit';\nconst IMAGE_EDIT_CLASS_CARET = 'imageEditCaretColor';\nconst IMAGE_EDIT_FORMAT_EVENT = 'ImageEditEvent';\n\n/**\n * ImageEdit plugin handles the following image editing features:\n * - Resize image\n * - Crop image\n * - Rotate image\n * - Flip image\n */\nexport class ImageEditPlugin implements ImageEditor, EditorPlugin {\n protected editor: IEditor | null = null;\n private shadowSpan: HTMLSpanElement | null = null;\n private selectedImage: HTMLImageElement | null = null;\n protected wrapper: HTMLSpanElement | null = null;\n protected imageEditInfo: ImageMetadataFormat | null = null;\n private imageHTMLOptions: ImageHtmlOptions | null = null;\n private dndHelpers: DragAndDropHelper<DragAndDropContext, any>[] = [];\n private clonedImage: HTMLImageElement | null = null;\n private lastSrc: string | null = null;\n private wasImageResized: boolean = false;\n private isCropMode: boolean = false;\n private resizers: HTMLDivElement[] = [];\n private rotators: HTMLDivElement[] = [];\n private croppers: HTMLDivElement[] = [];\n private zoomScale: number = 1;\n private disposer: (() => void) | null = null;\n protected isEditing = false;\n protected options: ImageEditOptions;\n\n constructor(options?: ImageEditOptions) {\n this.options = { ...DefaultOptions, ...options };\n }\n\n /**\n * Get name of this plugin\n */\n getName() {\n return 'ImageEdit';\n }\n\n /**\n * The first method that editor will call to a plugin when editor is initializing.\n * It will pass in the editor instance, plugin should take this chance to save the\n * editor reference so that it can call to any editor method or format API later.\n * @param editor The editor object\n */\n initialize(editor: IEditor) {\n this.editor = editor;\n this.disposer = editor.attachDomEvent({\n blur: {\n beforeDispatch: () => {\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\n this.applyFormatWithContentModel(\n this.editor,\n this.isCropMode,\n true /* shouldSelectImage */\n );\n }\n },\n },\n dragstart: {\n beforeDispatch: ev => {\n if (this.editor) {\n const target = ev.target as Node;\n if (this.isImageSelection(target)) {\n target.id = target.id + DRAG_ID;\n }\n }\n },\n },\n dragend: {\n beforeDispatch: ev => {\n if (this.editor) {\n const target = ev.target as Node;\n if (this.isImageSelection(target) && target.id.includes(DRAG_ID)) {\n target.id = target.id.replace(DRAG_ID, '').trim();\n }\n }\n },\n },\n });\n }\n\n /**\n * The last method that editor will call to a plugin before it is disposed.\n * Plugin can take this chance to clear the reference to editor. After this method is\n * called, plugin should not call to any editor method since it will result in error.\n */\n dispose() {\n if (this.disposer) {\n this.disposer();\n this.disposer = null;\n }\n this.isEditing = false;\n this.cleanInfo();\n this.editor = null;\n }\n\n /**\n * Core method for a plugin. Once an event happens in editor, editor will call this\n * method of each plugin to handle the event as long as the event is not handled\n * exclusively by another plugin.\n * @param event The event to handle:\n */\n onPluginEvent(event: PluginEvent) {\n if (!this.editor) {\n return;\n }\n switch (event.eventType) {\n case 'mouseDown':\n this.mouseDownHandler(this.editor, event);\n break;\n case 'mouseUp':\n this.mouseUpHandler(this.editor, event);\n break;\n case 'keyDown':\n this.keyDownHandler(this.editor, event);\n break;\n case 'contentChanged':\n this.contentChangedHandler(this.editor, event);\n break;\n case 'extractContentWithDom':\n this.removeImageEditing(event.clonedRoot);\n break;\n case 'beforeLogicalRootChange':\n this.handleBeforeLogicalRootChange();\n break;\n }\n }\n\n private handleBeforeLogicalRootChange() {\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\n this.applyFormatWithContentModel(\n this.editor,\n this.isCropMode,\n false /* shouldSelectImage */\n );\n this.removeImageWrapper();\n this.cleanInfo();\n }\n }\n\n private removeImageEditing(clonedRoot: HTMLElement) {\n const images = clonedRoot.querySelectorAll('img');\n images.forEach(image => {\n if (image.dataset.editingInfo) {\n delete image.dataset.editingInfo;\n }\n });\n }\n\n private isImageSelection(target: Node): target is HTMLElement {\n return (\n isNodeOfType(target, 'ELEMENT_NODE') &&\n (isElementOfType(target, 'img') ||\n !!(\n isElementOfType(target, 'span') &&\n target.firstElementChild &&\n isNodeOfType(target.firstElementChild, 'ELEMENT_NODE') &&\n isElementOfType(target.firstElementChild, 'img')\n ))\n );\n }\n\n private mouseUpHandler(editor: IEditor, event: MouseUpEvent) {\n const selection = editor.getDOMSelection();\n if ((selection && selection.type == 'image') || this.isEditing) {\n const shouldSelectImage =\n this.isImageSelection(event.rawEvent.target as Node) &&\n event.rawEvent.button === MouseRightButton;\n this.applyFormatWithContentModel(editor, this.isCropMode, shouldSelectImage);\n }\n }\n\n private mouseDownHandler(editor: IEditor, event: MouseDownEvent) {\n if (\n this.isEditing &&\n this.isImageSelection(event.rawEvent.target as Node) &&\n event.rawEvent.button !== MouseRightButton &&\n !this.isCropMode\n ) {\n this.applyFormatWithContentModel(editor, this.isCropMode);\n }\n }\n\n private onDropHandler(editor: IEditor) {\n const selection = editor.getDOMSelection();\n if (selection?.type == 'image') {\n editor.formatContentModel(model => {\n const imageDragged = findEditingImage(model, selection.image.id);\n const imageDropped = findEditingImage(\n model,\n selection.image.id.replace(DRAG_ID, '').trim()\n );\n if (imageDragged && imageDropped) {\n const draggedIndex = imageDragged.paragraph.segments.indexOf(\n imageDragged.image\n );\n mutateBlock(imageDragged.paragraph).segments.splice(draggedIndex, 1);\n const segment = imageDropped.image;\n const paragraph = imageDropped.paragraph;\n mutateSegment(paragraph, segment, image => {\n image.isSelected = true;\n image.isSelectedAsImageSelection = true;\n });\n\n return true;\n }\n return false;\n });\n }\n }\n\n private keyDownHandler(editor: IEditor, event: KeyDownEvent) {\n if (this.isEditing) {\n if (\n event.rawEvent.key === 'Escape' ||\n event.rawEvent.key === 'Delete' ||\n event.rawEvent.key === 'Backspace'\n ) {\n if (event.rawEvent.key === 'Escape') {\n this.removeImageWrapper();\n }\n this.cleanInfo();\n } else {\n if (event.rawEvent.key == 'Enter' && this.isCropMode) {\n event.rawEvent.preventDefault();\n }\n this.applyFormatWithContentModel(\n editor,\n this.isCropMode,\n true /** should selectImage */,\n false /* isApiOperation */\n );\n }\n }\n }\n\n private setContentHandler(editor: IEditor) {\n const selection = editor.getDOMSelection();\n if (selection?.type == 'image') {\n this.cleanInfo();\n setImageState(selection.image, '');\n this.isEditing = false;\n this.isCropMode = false;\n }\n }\n\n private formatEventHandler(event: ContentChangedEvent) {\n if (this.isEditing && event.formatApiName !== IMAGE_EDIT_FORMAT_EVENT) {\n this.cleanInfo();\n this.isEditing = false;\n this.isCropMode = false;\n }\n }\n\n private contentChangedHandler(editor: IEditor, event: ContentChangedEvent) {\n switch (event.source) {\n case ChangeSource.SetContent:\n this.setContentHandler(editor);\n break;\n case ChangeSource.Format:\n this.formatEventHandler(event);\n break;\n case ChangeSource.Drop:\n this.onDropHandler(editor);\n break;\n }\n }\n\n /**\n * EXPOSED FOR TESTING PURPOSE ONLY\n */\n protected applyFormatWithContentModel(\n editor: IEditor,\n isCropMode: boolean,\n shouldSelectImage?: boolean,\n isApiOperation?: boolean\n ) {\n let editingImageModel: ContentModelImage | undefined;\n const selection = editor.getDOMSelection();\n let isRTL: boolean = false;\n\n editor.formatContentModel(\n (model, context) => {\n const editingImage = getSelectedImage(model);\n const previousSelectedImage = isApiOperation\n ? editingImage\n : findEditingImage(model);\n let result = false;\n\n // Skip adding undo snapshot for now. If we detect any changes later, we will reset it\n context.skipUndoSnapshot = 'SkipAll';\n\n if (\n shouldSelectImage ||\n previousSelectedImage?.image != editingImage?.image ||\n previousSelectedImage?.image.format.imageState == EDITING_MARKER ||\n isApiOperation\n ) {\n const { lastSrc, selectedImage, imageEditInfo, clonedImage } = this;\n if (\n (this.isEditing || isApiOperation) &&\n previousSelectedImage &&\n lastSrc &&\n selectedImage &&\n imageEditInfo &&\n clonedImage\n ) {\n mutateSegment(\n previousSelectedImage.paragraph,\n previousSelectedImage.image,\n image => {\n const changeState = applyChange(\n editor,\n selectedImage,\n image,\n imageEditInfo,\n lastSrc,\n this.wasImageResized || this.isCropMode,\n clonedImage\n );\n\n if (this.wasImageResized || changeState == 'FullyChanged') {\n context.skipUndoSnapshot = false;\n }\n const isSameImage =\n previousSelectedImage?.image === editingImage?.image;\n image.isSelected = isSameImage || shouldSelectImage;\n image.isSelectedAsImageSelection = isSameImage || shouldSelectImage;\n image.format.imageState = undefined;\n\n if (selection?.type == 'range' && !selection.range.collapsed) {\n const selectedParagraphs = getSelectedParagraphs(model, true);\n const isImageInRange = selectedParagraphs.some(paragraph =>\n paragraph.segments.includes(image)\n );\n if (isImageInRange) {\n image.isSelected = true;\n }\n }\n }\n );\n\n if (shouldSelectImage) {\n normalizeImageSelection(previousSelectedImage);\n }\n\n this.cleanInfo();\n result = true;\n }\n\n this.isEditing = false;\n this.isCropMode = false;\n\n if (\n editingImage &&\n selection?.type == 'image' &&\n !shouldSelectImage &&\n !isApiOperation\n ) {\n this.isEditing = true;\n this.isCropMode = isCropMode;\n mutateSegment(editingImage.paragraph, editingImage.image, image => {\n editingImageModel = image;\n isRTL = editingImage.paragraph.format.direction == 'rtl';\n this.imageEditInfo = updateImageEditInfo(image, selection.image);\n image.format.imageState = 'isEditing';\n });\n\n result = true;\n }\n }\n\n return result;\n },\n {\n onNodeCreated: (model, node) => {\n if (\n !isApiOperation &&\n editingImageModel &&\n editingImageModel == model &&\n editingImageModel.format.imageState == EDITING_MARKER &&\n isNodeOfType(node, 'ELEMENT_NODE') &&\n isElementOfType(node, 'img')\n ) {\n if (isCropMode) {\n this.startCropMode(editor, node, isRTL);\n } else {\n this.startRotateAndResize(editor, node, isRTL);\n }\n }\n },\n apiName: IMAGE_EDIT_FORMAT_EVENT,\n },\n {\n tryGetFromCache: true,\n }\n );\n }\n\n private startEditing(\n editor: IEditor,\n image: HTMLImageElement,\n apiOperation: ImageEditOperation[]\n ) {\n if (!this.imageEditInfo) {\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\n }\n\n if (\n (this.imageEditInfo.widthPx == 0 || this.imageEditInfo.heightPx == 0) &&\n !image.complete\n ) {\n // Image dimensions are zero and loading is incomplete, wait for image to load.\n image.onload = () => {\n this.updateImageDimensionsIfZero(image);\n this.startEditingInternal(editor, image, apiOperation);\n image.onload = null;\n image.onerror = null;\n };\n image.onerror = () => {\n image.onload = null;\n image.onerror = null;\n };\n } else {\n this.updateImageDimensionsIfZero(image);\n this.startEditingInternal(editor, image, apiOperation);\n }\n }\n\n private updateImageDimensionsIfZero(image: HTMLImageElement) {\n if (this.imageEditInfo?.widthPx === 0 || this.imageEditInfo?.heightPx === 0) {\n this.imageEditInfo.widthPx = image.clientWidth;\n this.imageEditInfo.heightPx = image.clientHeight;\n }\n }\n\n private startEditingInternal(\n editor: IEditor,\n image: HTMLImageElement,\n apiOperation: ImageEditOperation[]\n ) {\n if (!this.imageEditInfo) {\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\n }\n\n this.imageHTMLOptions = getHTMLImageOptions(editor, this.options, this.imageEditInfo);\n this.lastSrc = image.getAttribute('src');\n\n const {\n resizers,\n rotators,\n wrapper,\n shadowSpan,\n imageClone,\n croppers,\n } = createImageWrapper(\n editor,\n image,\n this.options,\n this.imageEditInfo,\n this.imageHTMLOptions,\n apiOperation\n );\n this.shadowSpan = shadowSpan;\n this.selectedImage = image;\n this.wrapper = wrapper;\n this.clonedImage = imageClone;\n this.wasImageResized = checkIfImageWasResized(image);\n this.resizers = resizers;\n this.rotators = rotators;\n this.croppers = croppers;\n this.zoomScale = editor.getDOMHelper().calculateZoomScale();\n\n editor.setEditorStyle(IMAGE_EDIT_CLASS, `outline-style:none!important;`, [\n `span:has(>img${getSafeIdSelector(this.selectedImage.id)})`,\n ]);\n\n editor.setEditorStyle(IMAGE_EDIT_CLASS_CARET, `caret-color: transparent;`);\n }\n\n public startRotateAndResize(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\n if (this.imageEditInfo) {\n this.startEditing(editor, image, ['resize', 'rotate']);\n if (this.selectedImage && this.imageEditInfo && this.wrapper && this.clonedImage) {\n const isMobileOrTable = !!editor.getEnvironment().isMobileOrTablet;\n this.dndHelpers = [\n ...getDropAndDragHelpers(\n this.wrapper,\n this.imageEditInfo,\n this.options,\n ImageEditElementClass.ResizeHandle,\n Resizer,\n () => {\n if (\n this.imageEditInfo &&\n this.selectedImage &&\n this.wrapper &&\n this.clonedImage\n ) {\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n this.resizers,\n undefined /* croppers */,\n isRTL\n );\n this.wasImageResized = true;\n }\n },\n this.zoomScale,\n isMobileOrTable\n ),\n ...getDropAndDragHelpers(\n this.wrapper,\n this.imageEditInfo,\n this.options,\n ImageEditElementClass.RotateHandle,\n Rotator,\n () => {\n if (\n this.imageEditInfo &&\n this.selectedImage &&\n this.wrapper &&\n this.clonedImage\n ) {\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n undefined /* resizers */,\n undefined /* croppers */,\n isRTL,\n true /* isRotating */\n );\n this.updateRotateHandleState(\n editor,\n this.selectedImage,\n this.wrapper,\n this.rotators,\n this.imageEditInfo?.angleRad,\n !!this.options?.disableSideResize\n );\n this.updateResizeHandleDirection(\n this.resizers,\n this.imageEditInfo.angleRad\n );\n }\n },\n this.zoomScale,\n isMobileOrTable\n ),\n ];\n\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n this.resizers,\n undefined /* croppers */,\n isRTL\n );\n\n this.updateRotateHandleState(\n editor,\n this.selectedImage,\n this.wrapper,\n this.rotators,\n this.imageEditInfo?.angleRad,\n !!this.options?.disableSideResize\n );\n }\n }\n }\n\n private updateResizeHandleDirection(resizers: HTMLDivElement[], angleRad: number | undefined) {\n const resizeHandles = filterInnerResizerHandles(resizers);\n if (angleRad !== undefined) {\n updateHandleCursor(resizeHandles, angleRad);\n }\n }\n\n private updateRotateHandleState(\n editor: IEditor,\n image: HTMLImageElement,\n wrapper: HTMLSpanElement,\n rotators: HTMLDivElement[],\n angleRad: number | undefined,\n disableSideResize: boolean\n ) {\n const viewport = editor.getVisibleViewport();\n const smallImage = isASmallImage(image.width, image.height);\n if (viewport && rotators && rotators.length > 0) {\n const rotator = rotators[0];\n const rotatorHandle = rotator.firstElementChild;\n if (\n isNodeOfType(rotatorHandle, 'ELEMENT_NODE') &&\n isElementOfType(rotatorHandle, 'div')\n ) {\n updateRotateHandle(\n viewport,\n angleRad ?? 0,\n wrapper,\n rotator,\n rotatorHandle,\n smallImage,\n disableSideResize\n );\n }\n }\n }\n\n public isOperationAllowed(operation: ImageEditOperation): boolean {\n return (\n operation === 'resize' ||\n operation === 'rotate' ||\n operation === 'flip' ||\n operation === 'crop'\n );\n }\n\n public canRegenerateImage(image: HTMLImageElement): boolean {\n return canRegenerateImage(image);\n }\n\n private startCropMode(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\n if (this.imageEditInfo) {\n this.startEditing(editor, image, ['crop']);\n if (this.imageEditInfo && this.selectedImage && this.wrapper && this.clonedImage) {\n this.dndHelpers = [\n ...getDropAndDragHelpers(\n this.wrapper,\n this.imageEditInfo,\n this.options,\n ImageEditElementClass.CropHandle,\n Cropper,\n () => {\n if (\n this.imageEditInfo &&\n this.selectedImage &&\n this.wrapper &&\n this.clonedImage\n ) {\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n undefined /* resizers */,\n this.croppers,\n isRTL\n );\n this.isCropMode = true;\n }\n },\n this.zoomScale,\n !!editor.getEnvironment().isMobileOrTablet\n ),\n ];\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n undefined /* resizers */,\n this.croppers,\n isRTL\n );\n }\n }\n }\n\n public cropImage() {\n if (!this.editor) {\n return;\n }\n if (!this.editor.getEnvironment().isSafari) {\n this.editor.focus(); // Safari will keep the selection when click crop, then the focus() call should not be called\n }\n const selection = this.editor.getDOMSelection();\n if (selection?.type == 'image') {\n this.applyFormatWithContentModel(\n this.editor,\n true /* isCropMode */,\n false /* shouldSelectImage */\n );\n }\n }\n\n private editImage(\n editor: IEditor,\n image: HTMLImageElement,\n apiOperation: ImageEditOperation[],\n operation: (imageEditInfo: ImageMetadataFormat) => void\n ) {\n this.startEditing(editor, image, apiOperation);\n if (!this.selectedImage || !this.imageEditInfo || !this.wrapper || !this.clonedImage) {\n return;\n }\n\n operation(this.imageEditInfo);\n\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper\n );\n\n this.applyFormatWithContentModel(\n editor,\n false /* isCrop */,\n true /* shouldSelect*/,\n true /* isApiOperation */\n );\n }\n\n /**\n * Exported for testing purpose only\n */\n public cleanInfo() {\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS, null);\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS_CARET, null);\n this.selectedImage = null;\n this.shadowSpan = null;\n this.wrapper = null;\n this.imageEditInfo = null;\n this.imageHTMLOptions = null;\n this.dndHelpers.forEach(helper => helper.dispose());\n this.dndHelpers = [];\n this.clonedImage = null;\n this.lastSrc = null;\n this.wasImageResized = false;\n this.isCropMode = false;\n this.resizers = [];\n this.rotators = [];\n this.croppers = [];\n }\n\n private removeImageWrapper() {\n let image: HTMLImageElement | null = null;\n if (this.shadowSpan && this.shadowSpan.parentElement) {\n if (\n this.shadowSpan.firstElementChild &&\n isNodeOfType(this.shadowSpan.firstElementChild, 'ELEMENT_NODE') &&\n isElementOfType(this.shadowSpan.firstElementChild, 'img')\n ) {\n image = this.shadowSpan.firstElementChild;\n }\n unwrap(this.shadowSpan);\n this.shadowSpan = null;\n this.wrapper = null;\n }\n\n return image;\n }\n\n public flipImage(direction: 'horizontal' | 'vertical') {\n const selection = this.editor?.getDOMSelection();\n if (!this.editor || !selection || selection.type !== 'image') {\n return;\n }\n const image = selection.image;\n if (this.editor) {\n this.editImage(this.editor, image, ['flip'], imageEditInfo => {\n const angleRad = imageEditInfo.angleRad || 0;\n const isInVerticalPostion =\n (angleRad >= Math.PI / 2 && angleRad < (3 * Math.PI) / 4) ||\n (angleRad <= -Math.PI / 2 && angleRad > (-3 * Math.PI) / 4);\n if (isInVerticalPostion) {\n if (direction === 'horizontal') {\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\n } else {\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\n }\n } else {\n if (direction === 'vertical') {\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\n } else {\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\n }\n }\n });\n }\n }\n\n public rotateImage(angleRad: number) {\n const selection = this.editor?.getDOMSelection();\n if (!this.editor || !selection || selection.type !== 'image') {\n return;\n }\n const image = selection.image;\n if (this.editor) {\n this.editImage(this.editor, image, [], imageEditInfo => {\n imageEditInfo.angleRad = (imageEditInfo.angleRad || 0) + angleRad;\n });\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ImageEditPlugin.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/ImageEditPlugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { applyChange } from './utils/applyChange';\r\nimport { canRegenerateImage } from './utils/canRegenerateImage';\r\nimport { checkIfImageWasResized, isASmallImage } from './utils/imageEditUtils';\r\nimport { createImageWrapper } from './utils/createImageWrapper';\r\nimport { Cropper } from './Cropper/cropperContext';\r\nimport { EDITING_MARKER, findEditingImage } from './utils/findEditingImage';\r\nimport { filterInnerResizerHandles } from './utils/filterInnerResizerHandles';\r\nimport { getDropAndDragHelpers } from './utils/getDropAndDragHelpers';\r\nimport { getHTMLImageOptions } from './utils/getHTMLImageOptions';\r\nimport { getSelectedImage } from './utils/getSelectedImage';\r\nimport { getSelectedImageMetadata, updateImageEditInfo } from './utils/updateImageEditInfo';\r\nimport { ImageEditElementClass } from './types/ImageEditElementClass';\r\nimport { normalizeImageSelection } from './utils/normalizeImageSelection';\r\nimport { Resizer } from './Resizer/resizerContext';\r\nimport { Rotator } from './Rotator/rotatorContext';\r\nimport { updateHandleCursor } from './utils/updateHandleCursor';\r\nimport { updateRotateHandle } from './Rotator/updateRotateHandle';\r\nimport { updateWrapper } from './utils/updateWrapper';\r\nimport {\r\n ChangeSource,\r\n getSafeIdSelector,\r\n getSelectedParagraphs,\r\n isElementOfType,\r\n isNodeOfType,\r\n mutateBlock,\r\n mutateSegment,\r\n setImageState,\r\n unwrap,\r\n} from 'roosterjs-content-model-dom';\r\nimport type { DragAndDropHelper } from '../pluginUtils/DragAndDrop/DragAndDropHelper';\r\nimport type { DragAndDropContext } from './types/DragAndDropContext';\r\nimport type { ImageHtmlOptions } from './types/ImageHtmlOptions';\r\nimport type { ImageEditOptions } from './types/ImageEditOptions';\r\nimport type {\r\n ContentChangedEvent,\r\n ContentModelImage,\r\n EditorPlugin,\r\n IEditor,\r\n ImageEditOperation,\r\n ImageEditor,\r\n ImageMetadataFormat,\r\n KeyDownEvent,\r\n MouseDownEvent,\r\n MouseUpEvent,\r\n PluginEvent,\r\n} from 'roosterjs-content-model-types';\r\n\r\nconst DefaultOptions: Partial<ImageEditOptions> = {\r\n borderColor: '#DB626C',\r\n minWidth: 10,\r\n minHeight: 10,\r\n preserveRatio: true,\r\n disableRotate: false,\r\n disableSideResize: false,\r\n onSelectState: ['resize', 'rotate'],\r\n};\r\n\r\nconst MouseRightButton = 2;\r\nconst DRAG_ID = '_dragging';\r\nconst IMAGE_EDIT_CLASS = 'imageEdit';\r\nconst IMAGE_EDIT_CLASS_CARET = 'imageEditCaretColor';\r\nconst IMAGE_EDIT_FORMAT_EVENT = 'ImageEditEvent';\r\n\r\n/**\r\n * ImageEdit plugin handles the following image editing features:\r\n * - Resize image\r\n * - Crop image\r\n * - Rotate image\r\n * - Flip image\r\n */\r\nexport class ImageEditPlugin implements ImageEditor, EditorPlugin {\r\n protected editor: IEditor | null = null;\r\n private shadowSpan: HTMLSpanElement | null = null;\r\n private selectedImage: HTMLImageElement | null = null;\r\n protected wrapper: HTMLSpanElement | null = null;\r\n protected imageEditInfo: ImageMetadataFormat | null = null;\r\n private imageHTMLOptions: ImageHtmlOptions | null = null;\r\n private dndHelpers: DragAndDropHelper<DragAndDropContext, any>[] = [];\r\n private clonedImage: HTMLImageElement | null = null;\r\n private lastSrc: string | null = null;\r\n private wasImageResized: boolean = false;\r\n private isCropMode: boolean = false;\r\n private resizers: HTMLDivElement[] = [];\r\n private rotators: HTMLDivElement[] = [];\r\n private croppers: HTMLDivElement[] = [];\r\n private zoomScale: number = 1;\r\n private disposer: (() => void) | null = null;\r\n protected isEditing = false;\r\n protected options: ImageEditOptions;\r\n\r\n constructor(options?: ImageEditOptions) {\r\n this.options = { ...DefaultOptions, ...options };\r\n }\r\n\r\n /**\r\n * Get name of this plugin\r\n */\r\n getName() {\r\n return 'ImageEdit';\r\n }\r\n\r\n /**\r\n * The first method that editor will call to a plugin when editor is initializing.\r\n * It will pass in the editor instance, plugin should take this chance to save the\r\n * editor reference so that it can call to any editor method or format API later.\r\n * @param editor The editor object\r\n */\r\n initialize(editor: IEditor) {\r\n this.editor = editor;\r\n this.disposer = editor.attachDomEvent({\r\n blur: {\r\n beforeDispatch: () => {\r\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\r\n this.applyFormatWithContentModel(\r\n this.editor,\r\n this.isCropMode,\r\n true /* shouldSelectImage */\r\n );\r\n }\r\n },\r\n },\r\n dragstart: {\r\n beforeDispatch: ev => {\r\n if (this.editor) {\r\n const target = ev.target as Node;\r\n if (this.isImageSelection(target)) {\r\n target.id = target.id + DRAG_ID;\r\n }\r\n }\r\n },\r\n },\r\n dragend: {\r\n beforeDispatch: ev => {\r\n if (this.editor) {\r\n const target = ev.target as Node;\r\n if (this.isImageSelection(target) && target.id.includes(DRAG_ID)) {\r\n target.id = target.id.replace(DRAG_ID, '').trim();\r\n }\r\n }\r\n },\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * The last method that editor will call to a plugin before it is disposed.\r\n * Plugin can take this chance to clear the reference to editor. After this method is\r\n * called, plugin should not call to any editor method since it will result in error.\r\n */\r\n dispose() {\r\n if (this.disposer) {\r\n this.disposer();\r\n this.disposer = null;\r\n }\r\n this.isEditing = false;\r\n this.cleanInfo();\r\n this.editor = null;\r\n }\r\n\r\n /**\r\n * Core method for a plugin. Once an event happens in editor, editor will call this\r\n * method of each plugin to handle the event as long as the event is not handled\r\n * exclusively by another plugin.\r\n * @param event The event to handle:\r\n */\r\n onPluginEvent(event: PluginEvent) {\r\n if (!this.editor) {\r\n return;\r\n }\r\n switch (event.eventType) {\r\n case 'mouseDown':\r\n this.mouseDownHandler(this.editor, event);\r\n break;\r\n case 'mouseUp':\r\n this.mouseUpHandler(this.editor, event);\r\n break;\r\n case 'keyDown':\r\n this.keyDownHandler(this.editor, event);\r\n break;\r\n case 'contentChanged':\r\n this.contentChangedHandler(this.editor, event);\r\n break;\r\n case 'extractContentWithDom':\r\n this.removeImageEditing(event.clonedRoot);\r\n break;\r\n case 'beforeLogicalRootChange':\r\n this.handleBeforeLogicalRootChange();\r\n break;\r\n }\r\n }\r\n\r\n private handleBeforeLogicalRootChange() {\r\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\r\n this.applyFormatWithContentModel(\r\n this.editor,\r\n this.isCropMode,\r\n false /* shouldSelectImage */\r\n );\r\n this.removeImageWrapper();\r\n this.cleanInfo();\r\n }\r\n }\r\n\r\n private removeImageEditing(clonedRoot: HTMLElement) {\r\n const images = clonedRoot.querySelectorAll('img');\r\n images.forEach(image => {\r\n if (image.dataset.editingInfo) {\r\n delete image.dataset.editingInfo;\r\n }\r\n });\r\n }\r\n\r\n private isImageSelection(target: Node): target is HTMLElement {\r\n return (\r\n isNodeOfType(target, 'ELEMENT_NODE') &&\r\n (isElementOfType(target, 'img') ||\r\n !!(\r\n isElementOfType(target, 'span') &&\r\n target.firstElementChild &&\r\n isNodeOfType(target.firstElementChild, 'ELEMENT_NODE') &&\r\n isElementOfType(target.firstElementChild, 'img')\r\n ))\r\n );\r\n }\r\n\r\n private mouseUpHandler(editor: IEditor, event: MouseUpEvent) {\r\n const selection = editor.getDOMSelection();\r\n if ((selection && selection.type == 'image') || this.isEditing) {\r\n const shouldSelectImage =\r\n this.isImageSelection(event.rawEvent.target as Node) &&\r\n event.rawEvent.button === MouseRightButton;\r\n this.applyFormatWithContentModel(editor, this.isCropMode, shouldSelectImage);\r\n }\r\n }\r\n\r\n private mouseDownHandler(editor: IEditor, event: MouseDownEvent) {\r\n if (\r\n this.isEditing &&\r\n this.isImageSelection(event.rawEvent.target as Node) &&\r\n event.rawEvent.button !== MouseRightButton &&\r\n !this.isCropMode\r\n ) {\r\n this.applyFormatWithContentModel(editor, this.isCropMode);\r\n }\r\n }\r\n\r\n private onDropHandler(editor: IEditor) {\r\n const selection = editor.getDOMSelection();\r\n if (selection?.type == 'image') {\r\n editor.formatContentModel(model => {\r\n const imageDragged = findEditingImage(model, selection.image.id);\r\n const imageDropped = findEditingImage(\r\n model,\r\n selection.image.id.replace(DRAG_ID, '').trim()\r\n );\r\n if (imageDragged && imageDropped) {\r\n const draggedIndex = imageDragged.paragraph.segments.indexOf(\r\n imageDragged.image\r\n );\r\n mutateBlock(imageDragged.paragraph).segments.splice(draggedIndex, 1);\r\n const segment = imageDropped.image;\r\n const paragraph = imageDropped.paragraph;\r\n mutateSegment(paragraph, segment, image => {\r\n image.isSelected = true;\r\n image.isSelectedAsImageSelection = true;\r\n });\r\n\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n }\r\n\r\n private keyDownHandler(editor: IEditor, event: KeyDownEvent) {\r\n if (this.isEditing) {\r\n if (\r\n event.rawEvent.key === 'Escape' ||\r\n event.rawEvent.key === 'Delete' ||\r\n event.rawEvent.key === 'Backspace'\r\n ) {\r\n if (event.rawEvent.key === 'Escape') {\r\n this.removeImageWrapper();\r\n }\r\n this.cleanInfo();\r\n } else {\r\n if (event.rawEvent.key == 'Enter' && this.isCropMode) {\r\n event.rawEvent.preventDefault();\r\n }\r\n this.applyFormatWithContentModel(\r\n editor,\r\n this.isCropMode,\r\n true /** should selectImage */,\r\n false /* isApiOperation */\r\n );\r\n }\r\n }\r\n }\r\n\r\n private setContentHandler() {\r\n if (this.selectedImage) {\r\n this.cleanInfo();\r\n setImageState(this.selectedImage, '');\r\n this.isEditing = false;\r\n this.isCropMode = false;\r\n }\r\n }\r\n\r\n private formatEventHandler(event: ContentChangedEvent) {\r\n if (this.isEditing && event.formatApiName !== IMAGE_EDIT_FORMAT_EVENT) {\r\n this.cleanInfo();\r\n this.isEditing = false;\r\n this.isCropMode = false;\r\n }\r\n }\r\n\r\n private contentChangedHandler(editor: IEditor, event: ContentChangedEvent) {\r\n switch (event.source) {\r\n case ChangeSource.SetContent:\r\n this.setContentHandler();\r\n break;\r\n case ChangeSource.Format:\r\n this.formatEventHandler(event);\r\n break;\r\n case ChangeSource.Drop:\r\n this.onDropHandler(editor);\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * EXPOSED FOR TESTING PURPOSE ONLY\r\n */\r\n protected applyFormatWithContentModel(\r\n editor: IEditor,\r\n isCropMode: boolean,\r\n shouldSelectImage?: boolean,\r\n isApiOperation?: boolean\r\n ) {\r\n let editingImageModel: ContentModelImage | undefined;\r\n const selection = editor.getDOMSelection();\r\n let isRTL: boolean = false;\r\n\r\n editor.formatContentModel(\r\n (model, context) => {\r\n const editingImage = getSelectedImage(model);\r\n const previousSelectedImage = isApiOperation\r\n ? editingImage\r\n : findEditingImage(model);\r\n let result = false;\r\n\r\n // Skip adding undo snapshot for now. If we detect any changes later, we will reset it\r\n context.skipUndoSnapshot = 'SkipAll';\r\n\r\n if (\r\n shouldSelectImage ||\r\n previousSelectedImage?.image != editingImage?.image ||\r\n previousSelectedImage?.image.format.imageState == EDITING_MARKER ||\r\n isApiOperation\r\n ) {\r\n const { lastSrc, selectedImage, imageEditInfo, clonedImage } = this;\r\n if (\r\n (this.isEditing || isApiOperation) &&\r\n previousSelectedImage &&\r\n lastSrc &&\r\n selectedImage &&\r\n imageEditInfo &&\r\n clonedImage\r\n ) {\r\n mutateSegment(\r\n previousSelectedImage.paragraph,\r\n previousSelectedImage.image,\r\n image => {\r\n const changeState = applyChange(\r\n editor,\r\n selectedImage,\r\n image,\r\n imageEditInfo,\r\n lastSrc,\r\n this.wasImageResized || this.isCropMode,\r\n clonedImage\r\n );\r\n\r\n if (this.wasImageResized || changeState == 'FullyChanged') {\r\n context.skipUndoSnapshot = false;\r\n }\r\n const isSameImage =\r\n previousSelectedImage?.image === editingImage?.image;\r\n image.isSelected = isSameImage || shouldSelectImage;\r\n image.isSelectedAsImageSelection = isSameImage || shouldSelectImage;\r\n image.format.imageState = undefined;\r\n\r\n if (selection?.type == 'range' && !selection.range.collapsed) {\r\n const selectedParagraphs = getSelectedParagraphs(model, true);\r\n const isImageInRange = selectedParagraphs.some(paragraph =>\r\n paragraph.segments.includes(image)\r\n );\r\n if (isImageInRange) {\r\n image.isSelected = true;\r\n }\r\n }\r\n }\r\n );\r\n\r\n if (shouldSelectImage) {\r\n normalizeImageSelection(previousSelectedImage);\r\n }\r\n\r\n this.cleanInfo();\r\n result = true;\r\n }\r\n\r\n this.isEditing = false;\r\n this.isCropMode = false;\r\n\r\n if (\r\n editingImage &&\r\n selection?.type == 'image' &&\r\n !shouldSelectImage &&\r\n !isApiOperation\r\n ) {\r\n this.isEditing = true;\r\n this.isCropMode = isCropMode;\r\n mutateSegment(editingImage.paragraph, editingImage.image, image => {\r\n editingImageModel = image;\r\n isRTL = editingImage.paragraph.format.direction == 'rtl';\r\n this.imageEditInfo = updateImageEditInfo(image, selection.image);\r\n image.format.imageState = 'isEditing';\r\n });\r\n\r\n result = true;\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n {\r\n onNodeCreated: (model, node) => {\r\n if (\r\n !isApiOperation &&\r\n editingImageModel &&\r\n editingImageModel == model &&\r\n editingImageModel.format.imageState == EDITING_MARKER &&\r\n isNodeOfType(node, 'ELEMENT_NODE') &&\r\n isElementOfType(node, 'img')\r\n ) {\r\n if (isCropMode) {\r\n this.startCropMode(editor, node, isRTL);\r\n } else {\r\n this.startRotateAndResize(editor, node, isRTL);\r\n }\r\n }\r\n },\r\n apiName: IMAGE_EDIT_FORMAT_EVENT,\r\n },\r\n {\r\n tryGetFromCache: true,\r\n }\r\n );\r\n }\r\n\r\n private startEditing(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n apiOperation: ImageEditOperation[]\r\n ) {\r\n if (!this.imageEditInfo) {\r\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\r\n }\r\n\r\n if (\r\n (this.imageEditInfo.widthPx == 0 || this.imageEditInfo.heightPx == 0) &&\r\n !image.complete\r\n ) {\r\n // Image dimensions are zero and loading is incomplete, wait for image to load.\r\n image.onload = () => {\r\n this.updateImageDimensionsIfZero(image);\r\n this.startEditingInternal(editor, image, apiOperation);\r\n image.onload = null;\r\n image.onerror = null;\r\n };\r\n image.onerror = () => {\r\n image.onload = null;\r\n image.onerror = null;\r\n };\r\n } else {\r\n this.updateImageDimensionsIfZero(image);\r\n this.startEditingInternal(editor, image, apiOperation);\r\n }\r\n }\r\n\r\n private updateImageDimensionsIfZero(image: HTMLImageElement) {\r\n if (this.imageEditInfo?.widthPx === 0 || this.imageEditInfo?.heightPx === 0) {\r\n this.imageEditInfo.widthPx = image.clientWidth;\r\n this.imageEditInfo.heightPx = image.clientHeight;\r\n }\r\n }\r\n\r\n private startEditingInternal(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n apiOperation: ImageEditOperation[]\r\n ) {\r\n if (!this.imageEditInfo) {\r\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\r\n }\r\n\r\n this.imageHTMLOptions = getHTMLImageOptions(editor, this.options, this.imageEditInfo);\r\n this.lastSrc = image.getAttribute('src');\r\n\r\n const {\r\n resizers,\r\n rotators,\r\n wrapper,\r\n shadowSpan,\r\n imageClone,\r\n croppers,\r\n } = createImageWrapper(\r\n editor,\r\n image,\r\n this.options,\r\n this.imageEditInfo,\r\n this.imageHTMLOptions,\r\n apiOperation\r\n );\r\n this.shadowSpan = shadowSpan;\r\n this.selectedImage = image;\r\n this.wrapper = wrapper;\r\n this.clonedImage = imageClone;\r\n this.wasImageResized = checkIfImageWasResized(image);\r\n this.resizers = resizers;\r\n this.rotators = rotators;\r\n this.croppers = croppers;\r\n this.zoomScale = editor.getDOMHelper().calculateZoomScale();\r\n\r\n editor.setEditorStyle(IMAGE_EDIT_CLASS, `outline-style:none!important;`, [\r\n `span:has(>img${getSafeIdSelector(this.selectedImage.id)})`,\r\n ]);\r\n\r\n editor.setEditorStyle(IMAGE_EDIT_CLASS_CARET, `caret-color: transparent;`);\r\n }\r\n\r\n public startRotateAndResize(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\r\n if (this.imageEditInfo) {\r\n this.startEditing(editor, image, ['resize', 'rotate']);\r\n if (this.selectedImage && this.imageEditInfo && this.wrapper && this.clonedImage) {\r\n const isMobileOrTable = !!editor.getEnvironment().isMobileOrTablet;\r\n this.dndHelpers = [\r\n ...getDropAndDragHelpers(\r\n this.wrapper,\r\n this.imageEditInfo,\r\n this.options,\r\n ImageEditElementClass.ResizeHandle,\r\n Resizer,\r\n () => {\r\n if (\r\n this.imageEditInfo &&\r\n this.selectedImage &&\r\n this.wrapper &&\r\n this.clonedImage\r\n ) {\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n this.resizers,\r\n undefined /* croppers */,\r\n isRTL\r\n );\r\n this.wasImageResized = true;\r\n }\r\n },\r\n this.zoomScale,\r\n isMobileOrTable\r\n ),\r\n ...getDropAndDragHelpers(\r\n this.wrapper,\r\n this.imageEditInfo,\r\n this.options,\r\n ImageEditElementClass.RotateHandle,\r\n Rotator,\r\n () => {\r\n if (\r\n this.imageEditInfo &&\r\n this.selectedImage &&\r\n this.wrapper &&\r\n this.clonedImage\r\n ) {\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n undefined /* resizers */,\r\n undefined /* croppers */,\r\n isRTL,\r\n true /* isRotating */\r\n );\r\n this.updateRotateHandleState(\r\n editor,\r\n this.selectedImage,\r\n this.wrapper,\r\n this.rotators,\r\n this.imageEditInfo?.angleRad,\r\n !!this.options?.disableSideResize\r\n );\r\n this.updateResizeHandleDirection(\r\n this.resizers,\r\n this.imageEditInfo.angleRad\r\n );\r\n }\r\n },\r\n this.zoomScale,\r\n isMobileOrTable\r\n ),\r\n ];\r\n\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n this.resizers,\r\n undefined /* croppers */,\r\n isRTL\r\n );\r\n\r\n this.updateRotateHandleState(\r\n editor,\r\n this.selectedImage,\r\n this.wrapper,\r\n this.rotators,\r\n this.imageEditInfo?.angleRad,\r\n !!this.options?.disableSideResize\r\n );\r\n }\r\n }\r\n }\r\n\r\n private updateResizeHandleDirection(resizers: HTMLDivElement[], angleRad: number | undefined) {\r\n const resizeHandles = filterInnerResizerHandles(resizers);\r\n if (angleRad !== undefined) {\r\n updateHandleCursor(resizeHandles, angleRad);\r\n }\r\n }\r\n\r\n private updateRotateHandleState(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n wrapper: HTMLSpanElement,\r\n rotators: HTMLDivElement[],\r\n angleRad: number | undefined,\r\n disableSideResize: boolean\r\n ) {\r\n const viewport = editor.getVisibleViewport();\r\n const smallImage = isASmallImage(image.width, image.height);\r\n if (viewport && rotators && rotators.length > 0) {\r\n const rotator = rotators[0];\r\n const rotatorHandle = rotator.firstElementChild;\r\n if (\r\n isNodeOfType(rotatorHandle, 'ELEMENT_NODE') &&\r\n isElementOfType(rotatorHandle, 'div')\r\n ) {\r\n updateRotateHandle(\r\n viewport,\r\n angleRad ?? 0,\r\n wrapper,\r\n rotator,\r\n rotatorHandle,\r\n smallImage,\r\n disableSideResize\r\n );\r\n }\r\n }\r\n }\r\n\r\n public isOperationAllowed(operation: ImageEditOperation): boolean {\r\n return (\r\n operation === 'resize' ||\r\n operation === 'rotate' ||\r\n operation === 'flip' ||\r\n operation === 'crop'\r\n );\r\n }\r\n\r\n public canRegenerateImage(image: HTMLImageElement): boolean {\r\n return canRegenerateImage(image);\r\n }\r\n\r\n private startCropMode(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\r\n if (this.imageEditInfo) {\r\n this.startEditing(editor, image, ['crop']);\r\n if (this.imageEditInfo && this.selectedImage && this.wrapper && this.clonedImage) {\r\n this.dndHelpers = [\r\n ...getDropAndDragHelpers(\r\n this.wrapper,\r\n this.imageEditInfo,\r\n this.options,\r\n ImageEditElementClass.CropHandle,\r\n Cropper,\r\n () => {\r\n if (\r\n this.imageEditInfo &&\r\n this.selectedImage &&\r\n this.wrapper &&\r\n this.clonedImage\r\n ) {\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n undefined /* resizers */,\r\n this.croppers,\r\n isRTL\r\n );\r\n this.isCropMode = true;\r\n }\r\n },\r\n this.zoomScale,\r\n !!editor.getEnvironment().isMobileOrTablet\r\n ),\r\n ];\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n undefined /* resizers */,\r\n this.croppers,\r\n isRTL\r\n );\r\n }\r\n }\r\n }\r\n\r\n public cropImage() {\r\n if (!this.editor) {\r\n return;\r\n }\r\n if (!this.editor.getEnvironment().isSafari) {\r\n this.editor.focus(); // Safari will keep the selection when click crop, then the focus() call should not be called\r\n }\r\n const selection = this.editor.getDOMSelection();\r\n if (selection?.type == 'image') {\r\n this.applyFormatWithContentModel(\r\n this.editor,\r\n true /* isCropMode */,\r\n false /* shouldSelectImage */\r\n );\r\n }\r\n }\r\n\r\n private editImage(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n apiOperation: ImageEditOperation[],\r\n operation: (imageEditInfo: ImageMetadataFormat) => void\r\n ) {\r\n this.startEditing(editor, image, apiOperation);\r\n if (!this.selectedImage || !this.imageEditInfo || !this.wrapper || !this.clonedImage) {\r\n return;\r\n }\r\n\r\n operation(this.imageEditInfo);\r\n\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper\r\n );\r\n\r\n this.applyFormatWithContentModel(\r\n editor,\r\n false /* isCrop */,\r\n true /* shouldSelect*/,\r\n true /* isApiOperation */\r\n );\r\n }\r\n\r\n /**\r\n * Exported for testing purpose only\r\n */\r\n public cleanInfo() {\r\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS, null);\r\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS_CARET, null);\r\n this.selectedImage = null;\r\n this.shadowSpan = null;\r\n this.wrapper = null;\r\n this.imageEditInfo = null;\r\n this.imageHTMLOptions = null;\r\n this.dndHelpers.forEach(helper => helper.dispose());\r\n this.dndHelpers = [];\r\n this.clonedImage = null;\r\n this.lastSrc = null;\r\n this.wasImageResized = false;\r\n this.isCropMode = false;\r\n this.resizers = [];\r\n this.rotators = [];\r\n this.croppers = [];\r\n }\r\n\r\n private removeImageWrapper() {\r\n let image: HTMLImageElement | null = null;\r\n if (this.shadowSpan && this.shadowSpan.parentElement) {\r\n if (\r\n this.shadowSpan.firstElementChild &&\r\n isNodeOfType(this.shadowSpan.firstElementChild, 'ELEMENT_NODE') &&\r\n isElementOfType(this.shadowSpan.firstElementChild, 'img')\r\n ) {\r\n image = this.shadowSpan.firstElementChild;\r\n }\r\n unwrap(this.shadowSpan);\r\n this.shadowSpan = null;\r\n this.wrapper = null;\r\n }\r\n\r\n return image;\r\n }\r\n\r\n public flipImage(direction: 'horizontal' | 'vertical') {\r\n const selection = this.editor?.getDOMSelection();\r\n if (!this.editor || !selection || selection.type !== 'image') {\r\n return;\r\n }\r\n const image = selection.image;\r\n if (this.editor) {\r\n this.editImage(this.editor, image, ['flip'], imageEditInfo => {\r\n const angleRad = imageEditInfo.angleRad || 0;\r\n const isInVerticalPostion =\r\n (angleRad >= Math.PI / 2 && angleRad < (3 * Math.PI) / 4) ||\r\n (angleRad <= -Math.PI / 2 && angleRad > (-3 * Math.PI) / 4);\r\n if (isInVerticalPostion) {\r\n if (direction === 'horizontal') {\r\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\r\n } else {\r\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\r\n }\r\n } else {\r\n if (direction === 'vertical') {\r\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\r\n } else {\r\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n public rotateImage(angleRad: number) {\r\n const selection = this.editor?.getDOMSelection();\r\n if (!this.editor || !selection || selection.type !== 'image') {\r\n return;\r\n }\r\n const image = selection.image;\r\n if (this.editor) {\r\n this.editImage(this.editor, image, [], imageEditInfo => {\r\n imageEditInfo.angleRad = (imageEditInfo.angleRad || 0) + angleRad;\r\n });\r\n }\r\n }\r\n}\r\n"]}
@@ -1,12 +1,12 @@
1
- import type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';
2
- import type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';
3
- /**
4
- * @internal
5
- */
6
- export interface OnShowResizeHandle {
7
- (elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;
8
- }
9
- /**
10
- * @internal
11
- */
12
- export declare function createImageResizer(doc: Document, disableSideResize: boolean, onShowResizeHandle?: OnShowResizeHandle): HTMLDivElement[];
1
+ import type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';
2
+ import type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface OnShowResizeHandle {
7
+ (elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;
8
+ }
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare function createImageResizer(doc: Document, disableSideResize: boolean, onShowResizeHandle?: OnShowResizeHandle): HTMLDivElement[];
@@ -1,89 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createImageResizer = void 0;
4
- var createElement_1 = require("../../pluginUtils/CreateElement/createElement");
5
- var ImageEditElementClass_1 = require("../types/ImageEditElementClass");
6
- var roosterjs_content_model_dom_1 = require("roosterjs-content-model-dom");
7
- var constants_1 = require("../constants/constants");
8
- var RESIZE_HANDLE_MARGIN = 6;
9
- var RESIZE_HANDLE_SIZE = 10;
10
- /**
11
- * @internal
12
- */
13
- function createImageResizer(doc, disableSideResize, onShowResizeHandle) {
14
- var cornerElements = getCornerResizeHTML(onShowResizeHandle);
15
- var sideElements = getSideResizeHTML(onShowResizeHandle);
16
- var handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);
17
- return handles
18
- .map(function (element) {
19
- var handle = (0, createElement_1.createElement)(element, doc);
20
- if ((0, roosterjs_content_model_dom_1.isNodeOfType)(handle, 'ELEMENT_NODE') && (0, roosterjs_content_model_dom_1.isElementOfType)(handle, 'div')) {
21
- return handle;
22
- }
23
- })
24
- .filter(function (element) { return !!element; });
25
- }
26
- exports.createImageResizer = createImageResizer;
27
- /**
28
- * @internal
29
- * Get HTML for resize handles at the corners
30
- */
31
- function getCornerResizeHTML(onShowResizeHandle) {
32
- var result = [];
33
- constants_1.Xs.forEach(function (x) {
34
- return constants_1.Ys.forEach(function (y) {
35
- var elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;
36
- if (onShowResizeHandle && elementData) {
37
- onShowResizeHandle(elementData, x, y);
38
- }
39
- if (elementData) {
40
- result.push(elementData);
41
- }
42
- });
43
- });
44
- return result;
45
- }
46
- /**
47
- * @internal
48
- * Get HTML for resize handles on the sides
49
- */
50
- function getSideResizeHTML(onShowResizeHandle) {
51
- var result = [];
52
- constants_1.Xs.forEach(function (x) {
53
- return constants_1.Ys.forEach(function (y) {
54
- var elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;
55
- if (onShowResizeHandle && elementData) {
56
- onShowResizeHandle(elementData, x, y);
57
- }
58
- if (elementData) {
59
- result.push(elementData);
60
- }
61
- });
62
- });
63
- return result;
64
- }
65
- var createHandleStyle = function (direction, topOrBottom, leftOrRight) {
66
- return "position:relative;width:" + RESIZE_HANDLE_SIZE + "px;height:" + RESIZE_HANDLE_SIZE + "px;background-color: #FFFFFF;cursor:" + direction + "-resize;" + topOrBottom + ":-" + RESIZE_HANDLE_MARGIN + "px;" + leftOrRight + ":-" + RESIZE_HANDLE_MARGIN + "px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);";
67
- };
68
- function getResizeHandleHTML(x, y) {
69
- var leftOrRight = x == 'w' ? 'left' : 'right';
70
- var topOrBottom = y == 'n' ? 'top' : 'bottom';
71
- var leftOrRightValue = x == '' ? '50%' : '0px';
72
- var topOrBottomValue = y == '' ? '50%' : '0px';
73
- var direction = y + x;
74
- return x == '' && y == ''
75
- ? null
76
- : {
77
- tag: 'div',
78
- style: "position:absolute;" + leftOrRight + ":" + leftOrRightValue + ";" + topOrBottom + ":" + topOrBottomValue,
79
- children: [
80
- {
81
- tag: 'div',
82
- style: createHandleStyle(direction, topOrBottom, leftOrRight),
83
- className: ImageEditElementClass_1.ImageEditElementClass.ResizeHandle,
84
- dataset: { x: x, y: y },
85
- },
86
- ],
87
- };
88
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createImageResizer = void 0;
4
+ var createElement_1 = require("../../pluginUtils/CreateElement/createElement");
5
+ var ImageEditElementClass_1 = require("../types/ImageEditElementClass");
6
+ var roosterjs_content_model_dom_1 = require("roosterjs-content-model-dom");
7
+ var constants_1 = require("../constants/constants");
8
+ var RESIZE_HANDLE_MARGIN = 6;
9
+ var RESIZE_HANDLE_SIZE = 10;
10
+ /**
11
+ * @internal
12
+ */
13
+ function createImageResizer(doc, disableSideResize, onShowResizeHandle) {
14
+ var cornerElements = getCornerResizeHTML(onShowResizeHandle);
15
+ var sideElements = getSideResizeHTML(onShowResizeHandle);
16
+ var handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);
17
+ return handles
18
+ .map(function (element) {
19
+ var handle = (0, createElement_1.createElement)(element, doc);
20
+ if ((0, roosterjs_content_model_dom_1.isNodeOfType)(handle, 'ELEMENT_NODE') && (0, roosterjs_content_model_dom_1.isElementOfType)(handle, 'div')) {
21
+ return handle;
22
+ }
23
+ })
24
+ .filter(function (element) { return !!element; });
25
+ }
26
+ exports.createImageResizer = createImageResizer;
27
+ /**
28
+ * @internal
29
+ * Get HTML for resize handles at the corners
30
+ */
31
+ function getCornerResizeHTML(onShowResizeHandle) {
32
+ var result = [];
33
+ constants_1.Xs.forEach(function (x) {
34
+ return constants_1.Ys.forEach(function (y) {
35
+ var elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;
36
+ if (onShowResizeHandle && elementData) {
37
+ onShowResizeHandle(elementData, x, y);
38
+ }
39
+ if (elementData) {
40
+ result.push(elementData);
41
+ }
42
+ });
43
+ });
44
+ return result;
45
+ }
46
+ /**
47
+ * @internal
48
+ * Get HTML for resize handles on the sides
49
+ */
50
+ function getSideResizeHTML(onShowResizeHandle) {
51
+ var result = [];
52
+ constants_1.Xs.forEach(function (x) {
53
+ return constants_1.Ys.forEach(function (y) {
54
+ var elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;
55
+ if (onShowResizeHandle && elementData) {
56
+ onShowResizeHandle(elementData, x, y);
57
+ }
58
+ if (elementData) {
59
+ result.push(elementData);
60
+ }
61
+ });
62
+ });
63
+ return result;
64
+ }
65
+ var createHandleStyle = function (direction, topOrBottom, leftOrRight) {
66
+ return "position:relative;width:" + RESIZE_HANDLE_SIZE + "px;height:" + RESIZE_HANDLE_SIZE + "px;background-color: #FFFFFF;cursor:" + direction + "-resize;" + topOrBottom + ":-" + RESIZE_HANDLE_MARGIN + "px;" + leftOrRight + ":-" + RESIZE_HANDLE_MARGIN + "px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);";
67
+ };
68
+ function getResizeHandleHTML(x, y) {
69
+ var leftOrRight = x == 'w' ? 'left' : 'right';
70
+ var topOrBottom = y == 'n' ? 'top' : 'bottom';
71
+ var leftOrRightValue = x == '' ? '50%' : '0px';
72
+ var topOrBottomValue = y == '' ? '50%' : '0px';
73
+ var direction = y + x;
74
+ return x == '' && y == ''
75
+ ? null
76
+ : {
77
+ tag: 'div',
78
+ style: "position:absolute;" + leftOrRight + ":" + leftOrRightValue + ";" + topOrBottom + ":" + topOrBottomValue,
79
+ children: [
80
+ {
81
+ tag: 'div',
82
+ style: createHandleStyle(direction, topOrBottom, leftOrRight),
83
+ className: ImageEditElementClass_1.ImageEditElementClass.ResizeHandle,
84
+ dataset: { x: x, y: y },
85
+ },
86
+ ],
87
+ };
88
+ }
89
89
  //# sourceMappingURL=createImageResizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createImageResizer.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/Resizer/createImageResizer.ts"],"names":[],"mappings":"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","sourcesContent":["import { createElement } from '../../pluginUtils/CreateElement/createElement';\nimport { ImageEditElementClass } from '../types/ImageEditElementClass';\nimport { isElementOfType, isNodeOfType } from 'roosterjs-content-model-dom';\nimport { Xs, Ys } from '../constants/constants';\nimport type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';\nimport type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';\n/**\n * @internal\n */\nexport interface OnShowResizeHandle {\n (elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;\n}\n\nconst RESIZE_HANDLE_MARGIN = 6;\nconst RESIZE_HANDLE_SIZE = 10;\n\n/**\n * @internal\n */\nexport function createImageResizer(\n doc: Document,\n disableSideResize: boolean,\n onShowResizeHandle?: OnShowResizeHandle\n): HTMLDivElement[] {\n const cornerElements = getCornerResizeHTML(onShowResizeHandle);\n const sideElements = getSideResizeHTML(onShowResizeHandle);\n const handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);\n\n return handles\n .map(element => {\n const handle = createElement(element, doc);\n if (isNodeOfType(handle, 'ELEMENT_NODE') && isElementOfType(handle, 'div')) {\n return handle;\n }\n })\n .filter(element => !!element) as HTMLDivElement[];\n}\n\n/**\n * @internal\n * Get HTML for resize handles at the corners\n */\nfunction getCornerResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\n const result: CreateElementData[] = [];\n\n Xs.forEach(x =>\n Ys.forEach(y => {\n const elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;\n if (onShowResizeHandle && elementData) {\n onShowResizeHandle(elementData, x, y);\n }\n if (elementData) {\n result.push(elementData);\n }\n })\n );\n return result;\n}\n\n/**\n * @internal\n * Get HTML for resize handles on the sides\n */\nfunction getSideResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\n const result: CreateElementData[] = [];\n Xs.forEach(x =>\n Ys.forEach(y => {\n const elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;\n if (onShowResizeHandle && elementData) {\n onShowResizeHandle(elementData, x, y);\n }\n if (elementData) {\n result.push(elementData);\n }\n })\n );\n return result;\n}\n\nconst createHandleStyle = (direction: string, topOrBottom: string, leftOrRight: string) => {\n return `position:relative;width:${RESIZE_HANDLE_SIZE}px;height:${RESIZE_HANDLE_SIZE}px;background-color: #FFFFFF;cursor:${direction}-resize;${topOrBottom}:-${RESIZE_HANDLE_MARGIN}px;${leftOrRight}:-${RESIZE_HANDLE_MARGIN}px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);`;\n};\n\nfunction getResizeHandleHTML(x: DNDDirectionX, y: DnDDirectionY): CreateElementData | null {\n const leftOrRight = x == 'w' ? 'left' : 'right';\n const topOrBottom = y == 'n' ? 'top' : 'bottom';\n const leftOrRightValue = x == '' ? '50%' : '0px';\n const topOrBottomValue = y == '' ? '50%' : '0px';\n const direction = y + x;\n return x == '' && y == ''\n ? null\n : {\n tag: 'div',\n style: `position:absolute;${leftOrRight}:${leftOrRightValue};${topOrBottom}:${topOrBottomValue}`,\n children: [\n {\n tag: 'div',\n style: createHandleStyle(direction, topOrBottom, leftOrRight),\n className: ImageEditElementClass.ResizeHandle,\n dataset: { x, y },\n },\n ],\n };\n}\n"]}
1
+ {"version":3,"file":"createImageResizer.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/Resizer/createImageResizer.ts"],"names":[],"mappings":"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","sourcesContent":["import { createElement } from '../../pluginUtils/CreateElement/createElement';\r\nimport { ImageEditElementClass } from '../types/ImageEditElementClass';\r\nimport { isElementOfType, isNodeOfType } from 'roosterjs-content-model-dom';\r\nimport { Xs, Ys } from '../constants/constants';\r\nimport type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';\r\nimport type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';\r\n/**\r\n * @internal\r\n */\r\nexport interface OnShowResizeHandle {\r\n (elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;\r\n}\r\n\r\nconst RESIZE_HANDLE_MARGIN = 6;\r\nconst RESIZE_HANDLE_SIZE = 10;\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function createImageResizer(\r\n doc: Document,\r\n disableSideResize: boolean,\r\n onShowResizeHandle?: OnShowResizeHandle\r\n): HTMLDivElement[] {\r\n const cornerElements = getCornerResizeHTML(onShowResizeHandle);\r\n const sideElements = getSideResizeHTML(onShowResizeHandle);\r\n const handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);\r\n\r\n return handles\r\n .map(element => {\r\n const handle = createElement(element, doc);\r\n if (isNodeOfType(handle, 'ELEMENT_NODE') && isElementOfType(handle, 'div')) {\r\n return handle;\r\n }\r\n })\r\n .filter(element => !!element) as HTMLDivElement[];\r\n}\r\n\r\n/**\r\n * @internal\r\n * Get HTML for resize handles at the corners\r\n */\r\nfunction getCornerResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\r\n const result: CreateElementData[] = [];\r\n\r\n Xs.forEach(x =>\r\n Ys.forEach(y => {\r\n const elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;\r\n if (onShowResizeHandle && elementData) {\r\n onShowResizeHandle(elementData, x, y);\r\n }\r\n if (elementData) {\r\n result.push(elementData);\r\n }\r\n })\r\n );\r\n return result;\r\n}\r\n\r\n/**\r\n * @internal\r\n * Get HTML for resize handles on the sides\r\n */\r\nfunction getSideResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\r\n const result: CreateElementData[] = [];\r\n Xs.forEach(x =>\r\n Ys.forEach(y => {\r\n const elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;\r\n if (onShowResizeHandle && elementData) {\r\n onShowResizeHandle(elementData, x, y);\r\n }\r\n if (elementData) {\r\n result.push(elementData);\r\n }\r\n })\r\n );\r\n return result;\r\n}\r\n\r\nconst createHandleStyle = (direction: string, topOrBottom: string, leftOrRight: string) => {\r\n return `position:relative;width:${RESIZE_HANDLE_SIZE}px;height:${RESIZE_HANDLE_SIZE}px;background-color: #FFFFFF;cursor:${direction}-resize;${topOrBottom}:-${RESIZE_HANDLE_MARGIN}px;${leftOrRight}:-${RESIZE_HANDLE_MARGIN}px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);`;\r\n};\r\n\r\nfunction getResizeHandleHTML(x: DNDDirectionX, y: DnDDirectionY): CreateElementData | null {\r\n const leftOrRight = x == 'w' ? 'left' : 'right';\r\n const topOrBottom = y == 'n' ? 'top' : 'bottom';\r\n const leftOrRightValue = x == '' ? '50%' : '0px';\r\n const topOrBottomValue = y == '' ? '50%' : '0px';\r\n const direction = y + x;\r\n return x == '' && y == ''\r\n ? null\r\n : {\r\n tag: 'div',\r\n style: `position:absolute;${leftOrRight}:${leftOrRightValue};${topOrBottom}:${topOrBottomValue}`,\r\n children: [\r\n {\r\n tag: 'div',\r\n style: createHandleStyle(direction, topOrBottom, leftOrRight),\r\n className: ImageEditElementClass.ResizeHandle,\r\n dataset: { x, y },\r\n },\r\n ],\r\n };\r\n}\r\n"]}
@@ -1,8 +1,8 @@
1
- import type { DragAndDropHandler } from '../../pluginUtils/DragAndDrop/DragAndDropHandler';
2
- import type { ImageResizeMetadataFormat } from 'roosterjs-content-model-types';
3
- import type { DragAndDropContext } from '../types/DragAndDropContext';
4
- /**
5
- * @internal
6
- * The resize drag and drop handler
7
- */
8
- export declare const Resizer: DragAndDropHandler<DragAndDropContext, ImageResizeMetadataFormat>;
1
+ import type { DragAndDropHandler } from '../../pluginUtils/DragAndDrop/DragAndDropHandler';
2
+ import type { ImageResizeMetadataFormat } from 'roosterjs-content-model-types';
3
+ import type { DragAndDropContext } from '../types/DragAndDropContext';
4
+ /**
5
+ * @internal
6
+ * The resize drag and drop handler
7
+ */
8
+ export declare const Resizer: DragAndDropHandler<DragAndDropContext, ImageResizeMetadataFormat>;