roosterjs-content-model-plugins 9.4.1 → 9.5.1

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 (536) hide show
  1. package/README.md +10 -10
  2. package/lib/autoFormat/hyphen/transformHyphen.d.ts +2 -2
  3. package/lib/autoFormat/hyphen/transformHyphen.js.map +1 -1
  4. package/lib/autoFormat/link/createLinkAfterSpace.d.ts +2 -2
  5. package/lib/autoFormat/link/createLinkAfterSpace.js.map +1 -1
  6. package/lib/autoFormat/list/keyboardListTrigger.d.ts +2 -2
  7. package/lib/autoFormat/list/keyboardListTrigger.js.map +1 -1
  8. package/lib/autoFormat/numbers/transformFraction.d.ts +2 -2
  9. package/lib/autoFormat/numbers/transformFraction.js.map +1 -1
  10. package/lib/autoFormat/numbers/transformOrdinals.d.ts +2 -2
  11. package/lib/autoFormat/numbers/transformOrdinals.js.map +1 -1
  12. package/lib/customReplace/CustomReplacePlugin.d.ts +2 -2
  13. package/lib/customReplace/CustomReplacePlugin.js.map +1 -1
  14. package/lib/edit/EditPlugin.d.ts +10 -0
  15. package/lib/edit/EditPlugin.js +39 -0
  16. package/lib/edit/EditPlugin.js.map +1 -1
  17. package/lib/edit/deleteSteps/deleteAllSegmentBefore.js +2 -1
  18. package/lib/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  19. package/lib/edit/deleteSteps/deleteCollapsedSelection.js +5 -4
  20. package/lib/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  21. package/lib/edit/deleteSteps/deleteEmptyQuote.js +33 -29
  22. package/lib/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
  23. package/lib/edit/deleteSteps/deleteWordSelection.js +1 -1
  24. package/lib/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  25. package/lib/edit/handleKeyboardEventCommon.d.ts +2 -2
  26. package/lib/edit/handleKeyboardEventCommon.js.map +1 -1
  27. package/lib/edit/inputSteps/handleEnterOnList.js +32 -56
  28. package/lib/edit/inputSteps/handleEnterOnList.js.map +1 -1
  29. package/lib/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -0
  30. package/lib/edit/inputSteps/handleEnterOnParagraph.js +22 -0
  31. package/lib/edit/inputSteps/handleEnterOnParagraph.js.map +1 -0
  32. package/lib/edit/keyboardDelete.js +1 -1
  33. package/lib/edit/keyboardDelete.js.map +1 -1
  34. package/lib/edit/keyboardEnter.d.ts +5 -0
  35. package/lib/edit/keyboardEnter.js +44 -0
  36. package/lib/edit/keyboardEnter.js.map +1 -0
  37. package/lib/edit/keyboardInput.js +4 -18
  38. package/lib/edit/keyboardInput.js.map +1 -1
  39. package/lib/edit/keyboardTab.js.map +1 -1
  40. package/lib/edit/tabUtils/handleTabOnList.d.ts +2 -2
  41. package/lib/edit/tabUtils/handleTabOnList.js.map +1 -1
  42. package/lib/edit/tabUtils/handleTabOnParagraph.d.ts +2 -2
  43. package/lib/edit/tabUtils/handleTabOnParagraph.js +9 -7
  44. package/lib/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
  45. package/lib/edit/tabUtils/handleTabOnTable.d.ts +2 -2
  46. package/lib/edit/tabUtils/handleTabOnTable.js.map +1 -1
  47. package/lib/edit/tabUtils/handleTabOnTableCell.d.ts +2 -2
  48. package/lib/edit/tabUtils/handleTabOnTableCell.js +5 -4
  49. package/lib/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
  50. package/lib/edit/utils/getLeafSiblingBlock.d.ts +5 -5
  51. package/lib/edit/utils/getLeafSiblingBlock.js.map +1 -1
  52. package/lib/edit/utils/splitParagraph.d.ts +9 -0
  53. package/lib/edit/utils/splitParagraph.js +29 -0
  54. package/lib/edit/utils/splitParagraph.js.map +1 -0
  55. package/lib/imageEdit/Cropper/createImageCropper.d.ts +10 -0
  56. package/lib/imageEdit/Cropper/createImageCropper.js +80 -0
  57. package/lib/imageEdit/Cropper/createImageCropper.js.map +1 -0
  58. package/lib/imageEdit/Cropper/cropperContext.d.ts +8 -0
  59. package/lib/imageEdit/Cropper/cropperContext.js +73 -0
  60. package/lib/imageEdit/Cropper/cropperContext.js.map +1 -0
  61. package/lib/imageEdit/ImageEditPlugin.d.ts +66 -0
  62. package/lib/imageEdit/ImageEditPlugin.js +328 -0
  63. package/lib/imageEdit/ImageEditPlugin.js.map +1 -0
  64. package/lib/imageEdit/Resizer/createImageResizer.d.ts +12 -0
  65. package/lib/imageEdit/Resizer/createImageResizer.js +89 -0
  66. package/lib/imageEdit/Resizer/createImageResizer.js.map +1 -0
  67. package/lib/imageEdit/Resizer/resizerContext.d.ts +8 -0
  68. package/lib/imageEdit/Resizer/resizerContext.js +61 -0
  69. package/lib/imageEdit/Resizer/resizerContext.js.map +1 -0
  70. package/lib/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -0
  71. package/lib/imageEdit/Resizer/updateSideHandlesVisibility.js +17 -0
  72. package/lib/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -0
  73. package/lib/imageEdit/Rotator/createImageRotator.d.ts +6 -0
  74. package/lib/imageEdit/Rotator/createImageRotator.js +76 -0
  75. package/lib/imageEdit/Rotator/createImageRotator.js.map +1 -0
  76. package/lib/imageEdit/Rotator/rotatorContext.d.ts +8 -0
  77. package/lib/imageEdit/Rotator/rotatorContext.js +36 -0
  78. package/lib/imageEdit/Rotator/rotatorContext.js.map +1 -0
  79. package/lib/imageEdit/Rotator/updateRotateHandle.d.ts +7 -0
  80. package/lib/imageEdit/Rotator/updateRotateHandle.js +55 -0
  81. package/lib/imageEdit/Rotator/updateRotateHandle.js.map +1 -0
  82. package/lib/imageEdit/constants/constants.d.ts +73 -0
  83. package/lib/imageEdit/constants/constants.js +81 -0
  84. package/lib/imageEdit/constants/constants.js.map +1 -0
  85. package/lib/imageEdit/types/DragAndDropContext.d.ts +39 -0
  86. package/lib/imageEdit/types/DragAndDropContext.js +3 -0
  87. package/lib/imageEdit/types/DragAndDropContext.js.map +1 -0
  88. package/lib/imageEdit/types/GeneratedImageSize.d.ts +33 -0
  89. package/lib/imageEdit/types/GeneratedImageSize.js +3 -0
  90. package/lib/imageEdit/types/GeneratedImageSize.js.map +1 -0
  91. package/lib/imageEdit/types/ImageEditElementClass.d.ts +30 -0
  92. package/lib/imageEdit/types/ImageEditElementClass.js +35 -0
  93. package/lib/imageEdit/types/ImageEditElementClass.js.map +1 -0
  94. package/lib/imageEdit/types/ImageEditOptions.d.ts +55 -0
  95. package/lib/imageEdit/types/ImageEditOptions.js +3 -0
  96. package/lib/imageEdit/types/ImageEditOptions.js.map +1 -0
  97. package/lib/imageEdit/types/ImageHtmlOptions.d.ts +18 -0
  98. package/lib/imageEdit/types/ImageHtmlOptions.js +3 -0
  99. package/lib/imageEdit/types/ImageHtmlOptions.js.map +1 -0
  100. package/lib/imageEdit/utils/applyChange.d.ts +12 -0
  101. package/lib/imageEdit/utils/applyChange.js +77 -0
  102. package/lib/imageEdit/utils/applyChange.js.map +1 -0
  103. package/lib/imageEdit/utils/canRegenerateImage.d.ts +8 -0
  104. package/lib/imageEdit/utils/canRegenerateImage.js +32 -0
  105. package/lib/imageEdit/utils/canRegenerateImage.js.map +1 -0
  106. package/lib/imageEdit/utils/checkEditInfoState.d.ts +41 -0
  107. package/lib/imageEdit/utils/checkEditInfoState.js +54 -0
  108. package/lib/imageEdit/utils/checkEditInfoState.js.map +1 -0
  109. package/lib/imageEdit/utils/createImageWrapper.d.ts +18 -0
  110. package/lib/imageEdit/utils/createImageWrapper.js +87 -0
  111. package/lib/imageEdit/utils/createImageWrapper.js.map +1 -0
  112. package/lib/imageEdit/utils/doubleCheckResize.d.ts +12 -0
  113. package/lib/imageEdit/utils/doubleCheckResize.js +36 -0
  114. package/lib/imageEdit/utils/doubleCheckResize.js.map +1 -0
  115. package/lib/imageEdit/utils/generateDataURL.d.ts +13 -0
  116. package/lib/imageEdit/utils/generateDataURL.js +50 -0
  117. package/lib/imageEdit/utils/generateDataURL.js.map +1 -0
  118. package/lib/imageEdit/utils/generateImageSize.d.ts +15 -0
  119. package/lib/imageEdit/utils/generateImageSize.js +46 -0
  120. package/lib/imageEdit/utils/generateImageSize.js.map +1 -0
  121. package/lib/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -0
  122. package/lib/imageEdit/utils/getDropAndDragHelpers.js +24 -0
  123. package/lib/imageEdit/utils/getDropAndDragHelpers.js.map +1 -0
  124. package/lib/imageEdit/utils/getHTMLImageOptions.d.ts +7 -0
  125. package/lib/imageEdit/utils/getHTMLImageOptions.js +22 -0
  126. package/lib/imageEdit/utils/getHTMLImageOptions.js.map +1 -0
  127. package/lib/imageEdit/utils/getSelectedContentModelImage.d.ts +5 -0
  128. package/lib/imageEdit/utils/getSelectedContentModelImage.js +16 -0
  129. package/lib/imageEdit/utils/getSelectedContentModelImage.js.map +1 -0
  130. package/lib/imageEdit/utils/imageEditUtils.d.ts +39 -0
  131. package/lib/imageEdit/utils/imageEditUtils.js +102 -0
  132. package/lib/imageEdit/utils/imageEditUtils.js.map +1 -0
  133. package/lib/imageEdit/utils/updateHandleCursor.d.ts +7 -0
  134. package/lib/imageEdit/utils/updateHandleCursor.js +34 -0
  135. package/lib/imageEdit/utils/updateHandleCursor.js.map +1 -0
  136. package/lib/imageEdit/utils/updateImageEditInfo.d.ts +10 -0
  137. package/lib/imageEdit/utils/updateImageEditInfo.js +49 -0
  138. package/lib/imageEdit/utils/updateImageEditInfo.js.map +1 -0
  139. package/lib/imageEdit/utils/updateWrapper.d.ts +6 -0
  140. package/lib/imageEdit/utils/updateWrapper.js +87 -0
  141. package/lib/imageEdit/utils/updateWrapper.js.map +1 -0
  142. package/lib/index.d.ts +2 -1
  143. package/lib/index.js +3 -3
  144. package/lib/index.js.map +1 -1
  145. package/lib/paste/DefaultSanitizers.d.ts +10 -0
  146. package/lib/paste/DefaultSanitizers.js +25 -0
  147. package/lib/paste/DefaultSanitizers.js.map +1 -0
  148. package/lib/paste/PastePlugin.d.ts +4 -2
  149. package/lib/paste/PastePlugin.js +26 -1
  150. package/lib/paste/PastePlugin.js.map +1 -1
  151. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js +13 -0
  152. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  153. package/lib/paste/utils/chainSanitizerCallback.d.ts +9 -0
  154. package/lib/paste/utils/chainSanitizerCallback.js +36 -0
  155. package/lib/paste/utils/chainSanitizerCallback.js.map +1 -0
  156. package/lib/picker/getQueryString.d.ts +2 -2
  157. package/lib/picker/getQueryString.js.map +1 -1
  158. package/lib/pluginUtils/splitTextSegment.d.ts +2 -2
  159. package/lib/pluginUtils/splitTextSegment.js.map +1 -1
  160. package/lib/tableEdit/editors/TableEditor.d.ts +3 -0
  161. package/lib/tableEdit/editors/TableEditor.js +4 -0
  162. package/lib/tableEdit/editors/TableEditor.js.map +1 -1
  163. package/lib/tableEdit/editors/features/CellResizer.d.ts +39 -1
  164. package/lib/tableEdit/editors/features/CellResizer.js +27 -11
  165. package/lib/tableEdit/editors/features/CellResizer.js.map +1 -1
  166. package/lib/tableEdit/editors/features/TableInserter.d.ts +17 -0
  167. package/lib/tableEdit/editors/features/TableInserter.js +6 -1
  168. package/lib/tableEdit/editors/features/TableInserter.js.map +1 -1
  169. package/lib/tableEdit/editors/features/TableMover.d.ts +2 -2
  170. package/lib/tableEdit/editors/features/TableMover.js +4 -4
  171. package/lib/tableEdit/editors/features/TableMover.js.map +1 -1
  172. package/lib/tableEdit/editors/features/TableResizer.d.ts +40 -1
  173. package/lib/tableEdit/editors/features/TableResizer.js +25 -7
  174. package/lib/tableEdit/editors/features/TableResizer.js.map +1 -1
  175. package/lib/tableEdit/editors/utils/getTableFromContentModel.d.ts +2 -2
  176. package/lib/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
  177. package/lib-amd/autoFormat/hyphen/transformHyphen.d.ts +2 -2
  178. package/lib-amd/autoFormat/hyphen/transformHyphen.js.map +1 -1
  179. package/lib-amd/autoFormat/link/createLinkAfterSpace.d.ts +2 -2
  180. package/lib-amd/autoFormat/link/createLinkAfterSpace.js.map +1 -1
  181. package/lib-amd/autoFormat/list/keyboardListTrigger.d.ts +2 -2
  182. package/lib-amd/autoFormat/list/keyboardListTrigger.js.map +1 -1
  183. package/lib-amd/autoFormat/numbers/transformFraction.d.ts +2 -2
  184. package/lib-amd/autoFormat/numbers/transformFraction.js.map +1 -1
  185. package/lib-amd/autoFormat/numbers/transformOrdinals.d.ts +2 -2
  186. package/lib-amd/autoFormat/numbers/transformOrdinals.js.map +1 -1
  187. package/lib-amd/customReplace/CustomReplacePlugin.d.ts +2 -2
  188. package/lib-amd/customReplace/CustomReplacePlugin.js.map +1 -1
  189. package/lib-amd/edit/EditPlugin.d.ts +10 -0
  190. package/lib-amd/edit/EditPlugin.js +38 -1
  191. package/lib-amd/edit/EditPlugin.js.map +1 -1
  192. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js +2 -1
  193. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  194. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js +5 -4
  195. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  196. package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js +33 -30
  197. package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
  198. package/lib-amd/edit/deleteSteps/deleteWordSelection.js +1 -1
  199. package/lib-amd/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  200. package/lib-amd/edit/handleKeyboardEventCommon.d.ts +2 -2
  201. package/lib-amd/edit/handleKeyboardEventCommon.js.map +1 -1
  202. package/lib-amd/edit/inputSteps/handleEnterOnList.js +32 -57
  203. package/lib-amd/edit/inputSteps/handleEnterOnList.js.map +1 -1
  204. package/lib-amd/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -0
  205. package/lib-amd/edit/inputSteps/handleEnterOnParagraph.js +22 -0
  206. package/lib-amd/edit/inputSteps/handleEnterOnParagraph.js.map +1 -0
  207. package/lib-amd/edit/keyboardDelete.js +1 -1
  208. package/lib-amd/edit/keyboardDelete.js.map +1 -1
  209. package/lib-amd/edit/keyboardEnter.d.ts +5 -0
  210. package/lib-amd/edit/keyboardEnter.js +42 -0
  211. package/lib-amd/edit/keyboardEnter.js.map +1 -0
  212. package/lib-amd/edit/keyboardInput.js +5 -17
  213. package/lib-amd/edit/keyboardInput.js.map +1 -1
  214. package/lib-amd/edit/keyboardTab.js.map +1 -1
  215. package/lib-amd/edit/tabUtils/handleTabOnList.d.ts +2 -2
  216. package/lib-amd/edit/tabUtils/handleTabOnList.js.map +1 -1
  217. package/lib-amd/edit/tabUtils/handleTabOnParagraph.d.ts +2 -2
  218. package/lib-amd/edit/tabUtils/handleTabOnParagraph.js +9 -7
  219. package/lib-amd/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
  220. package/lib-amd/edit/tabUtils/handleTabOnTable.d.ts +2 -2
  221. package/lib-amd/edit/tabUtils/handleTabOnTable.js.map +1 -1
  222. package/lib-amd/edit/tabUtils/handleTabOnTableCell.d.ts +2 -2
  223. package/lib-amd/edit/tabUtils/handleTabOnTableCell.js +5 -4
  224. package/lib-amd/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
  225. package/lib-amd/edit/utils/getLeafSiblingBlock.d.ts +5 -5
  226. package/lib-amd/edit/utils/getLeafSiblingBlock.js.map +1 -1
  227. package/lib-amd/edit/utils/splitParagraph.d.ts +9 -0
  228. package/lib-amd/edit/utils/splitParagraph.js +29 -0
  229. package/lib-amd/edit/utils/splitParagraph.js.map +1 -0
  230. package/lib-amd/imageEdit/Cropper/createImageCropper.d.ts +10 -0
  231. package/lib-amd/imageEdit/Cropper/createImageCropper.js +78 -0
  232. package/lib-amd/imageEdit/Cropper/createImageCropper.js.map +1 -0
  233. package/lib-amd/imageEdit/Cropper/cropperContext.d.ts +8 -0
  234. package/lib-amd/imageEdit/Cropper/cropperContext.js +73 -0
  235. package/lib-amd/imageEdit/Cropper/cropperContext.js.map +1 -0
  236. package/lib-amd/imageEdit/ImageEditPlugin.d.ts +66 -0
  237. package/lib-amd/imageEdit/ImageEditPlugin.js +315 -0
  238. package/lib-amd/imageEdit/ImageEditPlugin.js.map +1 -0
  239. package/lib-amd/imageEdit/Resizer/createImageResizer.d.ts +12 -0
  240. package/lib-amd/imageEdit/Resizer/createImageResizer.js +86 -0
  241. package/lib-amd/imageEdit/Resizer/createImageResizer.js.map +1 -0
  242. package/lib-amd/imageEdit/Resizer/resizerContext.d.ts +8 -0
  243. package/lib-amd/imageEdit/Resizer/resizerContext.js +61 -0
  244. package/lib-amd/imageEdit/Resizer/resizerContext.js.map +1 -0
  245. package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -0
  246. package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.js +19 -0
  247. package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -0
  248. package/lib-amd/imageEdit/Rotator/createImageRotator.d.ts +6 -0
  249. package/lib-amd/imageEdit/Rotator/createImageRotator.js +74 -0
  250. package/lib-amd/imageEdit/Rotator/createImageRotator.js.map +1 -0
  251. package/lib-amd/imageEdit/Rotator/rotatorContext.d.ts +8 -0
  252. package/lib-amd/imageEdit/Rotator/rotatorContext.js +36 -0
  253. package/lib-amd/imageEdit/Rotator/rotatorContext.js.map +1 -0
  254. package/lib-amd/imageEdit/Rotator/updateRotateHandle.d.ts +7 -0
  255. package/lib-amd/imageEdit/Rotator/updateRotateHandle.js +56 -0
  256. package/lib-amd/imageEdit/Rotator/updateRotateHandle.js.map +1 -0
  257. package/lib-amd/imageEdit/constants/constants.d.ts +73 -0
  258. package/lib-amd/imageEdit/constants/constants.js +83 -0
  259. package/lib-amd/imageEdit/constants/constants.js.map +1 -0
  260. package/lib-amd/imageEdit/types/DragAndDropContext.d.ts +39 -0
  261. package/lib-amd/imageEdit/types/DragAndDropContext.js +5 -0
  262. package/lib-amd/imageEdit/types/DragAndDropContext.js.map +1 -0
  263. package/lib-amd/imageEdit/types/GeneratedImageSize.d.ts +33 -0
  264. package/lib-amd/imageEdit/types/GeneratedImageSize.js +5 -0
  265. package/lib-amd/imageEdit/types/GeneratedImageSize.js.map +1 -0
  266. package/lib-amd/imageEdit/types/ImageEditElementClass.d.ts +30 -0
  267. package/lib-amd/imageEdit/types/ImageEditElementClass.js +37 -0
  268. package/lib-amd/imageEdit/types/ImageEditElementClass.js.map +1 -0
  269. package/lib-amd/imageEdit/types/ImageEditOptions.d.ts +55 -0
  270. package/lib-amd/imageEdit/types/ImageEditOptions.js +5 -0
  271. package/lib-amd/imageEdit/types/ImageEditOptions.js.map +1 -0
  272. package/lib-amd/imageEdit/types/ImageHtmlOptions.d.ts +18 -0
  273. package/lib-amd/imageEdit/types/ImageHtmlOptions.js +5 -0
  274. package/lib-amd/imageEdit/types/ImageHtmlOptions.js.map +1 -0
  275. package/lib-amd/imageEdit/utils/applyChange.d.ts +12 -0
  276. package/lib-amd/imageEdit/utils/applyChange.js +75 -0
  277. package/lib-amd/imageEdit/utils/applyChange.js.map +1 -0
  278. package/lib-amd/imageEdit/utils/canRegenerateImage.d.ts +8 -0
  279. package/lib-amd/imageEdit/utils/canRegenerateImage.js +34 -0
  280. package/lib-amd/imageEdit/utils/canRegenerateImage.js.map +1 -0
  281. package/lib-amd/imageEdit/utils/checkEditInfoState.d.ts +41 -0
  282. package/lib-amd/imageEdit/utils/checkEditInfoState.js +55 -0
  283. package/lib-amd/imageEdit/utils/checkEditInfoState.js.map +1 -0
  284. package/lib-amd/imageEdit/utils/createImageWrapper.d.ts +18 -0
  285. package/lib-amd/imageEdit/utils/createImageWrapper.js +86 -0
  286. package/lib-amd/imageEdit/utils/createImageWrapper.js.map +1 -0
  287. package/lib-amd/imageEdit/utils/doubleCheckResize.d.ts +12 -0
  288. package/lib-amd/imageEdit/utils/doubleCheckResize.js +38 -0
  289. package/lib-amd/imageEdit/utils/doubleCheckResize.js.map +1 -0
  290. package/lib-amd/imageEdit/utils/generateDataURL.d.ts +13 -0
  291. package/lib-amd/imageEdit/utils/generateDataURL.js +51 -0
  292. package/lib-amd/imageEdit/utils/generateDataURL.js.map +1 -0
  293. package/lib-amd/imageEdit/utils/generateImageSize.d.ts +15 -0
  294. package/lib-amd/imageEdit/utils/generateImageSize.js +48 -0
  295. package/lib-amd/imageEdit/utils/generateImageSize.js.map +1 -0
  296. package/lib-amd/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -0
  297. package/lib-amd/imageEdit/utils/getDropAndDragHelpers.js +24 -0
  298. package/lib-amd/imageEdit/utils/getDropAndDragHelpers.js.map +1 -0
  299. package/lib-amd/imageEdit/utils/getHTMLImageOptions.d.ts +7 -0
  300. package/lib-amd/imageEdit/utils/getHTMLImageOptions.js +23 -0
  301. package/lib-amd/imageEdit/utils/getHTMLImageOptions.js.map +1 -0
  302. package/lib-amd/imageEdit/utils/getSelectedContentModelImage.d.ts +5 -0
  303. package/lib-amd/imageEdit/utils/getSelectedContentModelImage.js +17 -0
  304. package/lib-amd/imageEdit/utils/getSelectedContentModelImage.js.map +1 -0
  305. package/lib-amd/imageEdit/utils/imageEditUtils.d.ts +39 -0
  306. package/lib-amd/imageEdit/utils/imageEditUtils.js +103 -0
  307. package/lib-amd/imageEdit/utils/imageEditUtils.js.map +1 -0
  308. package/lib-amd/imageEdit/utils/updateHandleCursor.d.ts +7 -0
  309. package/lib-amd/imageEdit/utils/updateHandleCursor.js +36 -0
  310. package/lib-amd/imageEdit/utils/updateHandleCursor.js.map +1 -0
  311. package/lib-amd/imageEdit/utils/updateImageEditInfo.d.ts +10 -0
  312. package/lib-amd/imageEdit/utils/updateImageEditInfo.js +48 -0
  313. package/lib-amd/imageEdit/utils/updateImageEditInfo.js.map +1 -0
  314. package/lib-amd/imageEdit/utils/updateWrapper.d.ts +6 -0
  315. package/lib-amd/imageEdit/utils/updateWrapper.js +82 -0
  316. package/lib-amd/imageEdit/utils/updateWrapper.js.map +1 -0
  317. package/lib-amd/index.d.ts +2 -1
  318. package/lib-amd/index.js +3 -3
  319. package/lib-amd/index.js.map +1 -1
  320. package/lib-amd/paste/DefaultSanitizers.d.ts +10 -0
  321. package/lib-amd/paste/DefaultSanitizers.js +27 -0
  322. package/lib-amd/paste/DefaultSanitizers.js.map +1 -0
  323. package/lib-amd/paste/PastePlugin.d.ts +4 -2
  324. package/lib-amd/paste/PastePlugin.js +24 -2
  325. package/lib-amd/paste/PastePlugin.js.map +1 -1
  326. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js +13 -0
  327. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  328. package/lib-amd/paste/utils/chainSanitizerCallback.d.ts +9 -0
  329. package/lib-amd/paste/utils/chainSanitizerCallback.js +38 -0
  330. package/lib-amd/paste/utils/chainSanitizerCallback.js.map +1 -0
  331. package/lib-amd/picker/getQueryString.d.ts +2 -2
  332. package/lib-amd/picker/getQueryString.js.map +1 -1
  333. package/lib-amd/pluginUtils/splitTextSegment.d.ts +2 -2
  334. package/lib-amd/pluginUtils/splitTextSegment.js.map +1 -1
  335. package/lib-amd/tableEdit/editors/TableEditor.d.ts +3 -0
  336. package/lib-amd/tableEdit/editors/TableEditor.js +4 -0
  337. package/lib-amd/tableEdit/editors/TableEditor.js.map +1 -1
  338. package/lib-amd/tableEdit/editors/features/CellResizer.d.ts +39 -1
  339. package/lib-amd/tableEdit/editors/features/CellResizer.js +27 -11
  340. package/lib-amd/tableEdit/editors/features/CellResizer.js.map +1 -1
  341. package/lib-amd/tableEdit/editors/features/TableInserter.d.ts +17 -0
  342. package/lib-amd/tableEdit/editors/features/TableInserter.js +6 -1
  343. package/lib-amd/tableEdit/editors/features/TableInserter.js.map +1 -1
  344. package/lib-amd/tableEdit/editors/features/TableMover.d.ts +2 -2
  345. package/lib-amd/tableEdit/editors/features/TableMover.js +4 -4
  346. package/lib-amd/tableEdit/editors/features/TableMover.js.map +1 -1
  347. package/lib-amd/tableEdit/editors/features/TableResizer.d.ts +40 -1
  348. package/lib-amd/tableEdit/editors/features/TableResizer.js +25 -7
  349. package/lib-amd/tableEdit/editors/features/TableResizer.js.map +1 -1
  350. package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.d.ts +2 -2
  351. package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
  352. package/lib-mjs/autoFormat/hyphen/transformHyphen.d.ts +2 -2
  353. package/lib-mjs/autoFormat/hyphen/transformHyphen.js.map +1 -1
  354. package/lib-mjs/autoFormat/link/createLinkAfterSpace.d.ts +2 -2
  355. package/lib-mjs/autoFormat/link/createLinkAfterSpace.js.map +1 -1
  356. package/lib-mjs/autoFormat/list/keyboardListTrigger.d.ts +2 -2
  357. package/lib-mjs/autoFormat/list/keyboardListTrigger.js.map +1 -1
  358. package/lib-mjs/autoFormat/numbers/transformFraction.d.ts +2 -2
  359. package/lib-mjs/autoFormat/numbers/transformFraction.js.map +1 -1
  360. package/lib-mjs/autoFormat/numbers/transformOrdinals.d.ts +2 -2
  361. package/lib-mjs/autoFormat/numbers/transformOrdinals.js.map +1 -1
  362. package/lib-mjs/customReplace/CustomReplacePlugin.d.ts +2 -2
  363. package/lib-mjs/customReplace/CustomReplacePlugin.js.map +1 -1
  364. package/lib-mjs/edit/EditPlugin.d.ts +10 -0
  365. package/lib-mjs/edit/EditPlugin.js +39 -0
  366. package/lib-mjs/edit/EditPlugin.js.map +1 -1
  367. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js +3 -2
  368. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  369. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js +5 -4
  370. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  371. package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js +34 -30
  372. package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
  373. package/lib-mjs/edit/deleteSteps/deleteWordSelection.js +2 -2
  374. package/lib-mjs/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  375. package/lib-mjs/edit/handleKeyboardEventCommon.d.ts +2 -2
  376. package/lib-mjs/edit/handleKeyboardEventCommon.js.map +1 -1
  377. package/lib-mjs/edit/inputSteps/handleEnterOnList.js +33 -57
  378. package/lib-mjs/edit/inputSteps/handleEnterOnList.js.map +1 -1
  379. package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -0
  380. package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.js +18 -0
  381. package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.js.map +1 -0
  382. package/lib-mjs/edit/keyboardDelete.js +1 -1
  383. package/lib-mjs/edit/keyboardDelete.js.map +1 -1
  384. package/lib-mjs/edit/keyboardEnter.d.ts +5 -0
  385. package/lib-mjs/edit/keyboardEnter.js +40 -0
  386. package/lib-mjs/edit/keyboardEnter.js.map +1 -0
  387. package/lib-mjs/edit/keyboardInput.js +4 -18
  388. package/lib-mjs/edit/keyboardInput.js.map +1 -1
  389. package/lib-mjs/edit/keyboardTab.js.map +1 -1
  390. package/lib-mjs/edit/tabUtils/handleTabOnList.d.ts +2 -2
  391. package/lib-mjs/edit/tabUtils/handleTabOnList.js.map +1 -1
  392. package/lib-mjs/edit/tabUtils/handleTabOnParagraph.d.ts +2 -2
  393. package/lib-mjs/edit/tabUtils/handleTabOnParagraph.js +9 -7
  394. package/lib-mjs/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
  395. package/lib-mjs/edit/tabUtils/handleTabOnTable.d.ts +2 -2
  396. package/lib-mjs/edit/tabUtils/handleTabOnTable.js.map +1 -1
  397. package/lib-mjs/edit/tabUtils/handleTabOnTableCell.d.ts +2 -2
  398. package/lib-mjs/edit/tabUtils/handleTabOnTableCell.js +6 -5
  399. package/lib-mjs/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
  400. package/lib-mjs/edit/utils/getLeafSiblingBlock.d.ts +5 -5
  401. package/lib-mjs/edit/utils/getLeafSiblingBlock.js.map +1 -1
  402. package/lib-mjs/edit/utils/splitParagraph.d.ts +9 -0
  403. package/lib-mjs/edit/utils/splitParagraph.js +25 -0
  404. package/lib-mjs/edit/utils/splitParagraph.js.map +1 -0
  405. package/lib-mjs/imageEdit/Cropper/createImageCropper.d.ts +10 -0
  406. package/lib-mjs/imageEdit/Cropper/createImageCropper.js +75 -0
  407. package/lib-mjs/imageEdit/Cropper/createImageCropper.js.map +1 -0
  408. package/lib-mjs/imageEdit/Cropper/cropperContext.d.ts +8 -0
  409. package/lib-mjs/imageEdit/Cropper/cropperContext.js +70 -0
  410. package/lib-mjs/imageEdit/Cropper/cropperContext.js.map +1 -0
  411. package/lib-mjs/imageEdit/ImageEditPlugin.d.ts +66 -0
  412. package/lib-mjs/imageEdit/ImageEditPlugin.js +325 -0
  413. package/lib-mjs/imageEdit/ImageEditPlugin.js.map +1 -0
  414. package/lib-mjs/imageEdit/Resizer/createImageResizer.d.ts +12 -0
  415. package/lib-mjs/imageEdit/Resizer/createImageResizer.js +85 -0
  416. package/lib-mjs/imageEdit/Resizer/createImageResizer.js.map +1 -0
  417. package/lib-mjs/imageEdit/Resizer/resizerContext.d.ts +8 -0
  418. package/lib-mjs/imageEdit/Resizer/resizerContext.js +58 -0
  419. package/lib-mjs/imageEdit/Resizer/resizerContext.js.map +1 -0
  420. package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -0
  421. package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.js +13 -0
  422. package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -0
  423. package/lib-mjs/imageEdit/Rotator/createImageRotator.d.ts +6 -0
  424. package/lib-mjs/imageEdit/Rotator/createImageRotator.js +72 -0
  425. package/lib-mjs/imageEdit/Rotator/createImageRotator.js.map +1 -0
  426. package/lib-mjs/imageEdit/Rotator/rotatorContext.d.ts +8 -0
  427. package/lib-mjs/imageEdit/Rotator/rotatorContext.js +33 -0
  428. package/lib-mjs/imageEdit/Rotator/rotatorContext.js.map +1 -0
  429. package/lib-mjs/imageEdit/Rotator/updateRotateHandle.d.ts +7 -0
  430. package/lib-mjs/imageEdit/Rotator/updateRotateHandle.js +51 -0
  431. package/lib-mjs/imageEdit/Rotator/updateRotateHandle.js.map +1 -0
  432. package/lib-mjs/imageEdit/constants/constants.d.ts +73 -0
  433. package/lib-mjs/imageEdit/constants/constants.js +78 -0
  434. package/lib-mjs/imageEdit/constants/constants.js.map +1 -0
  435. package/lib-mjs/imageEdit/types/DragAndDropContext.d.ts +39 -0
  436. package/lib-mjs/imageEdit/types/DragAndDropContext.js +2 -0
  437. package/lib-mjs/imageEdit/types/DragAndDropContext.js.map +1 -0
  438. package/lib-mjs/imageEdit/types/GeneratedImageSize.d.ts +33 -0
  439. package/lib-mjs/imageEdit/types/GeneratedImageSize.js +2 -0
  440. package/lib-mjs/imageEdit/types/GeneratedImageSize.js.map +1 -0
  441. package/lib-mjs/imageEdit/types/ImageEditElementClass.d.ts +30 -0
  442. package/lib-mjs/imageEdit/types/ImageEditElementClass.js +32 -0
  443. package/lib-mjs/imageEdit/types/ImageEditElementClass.js.map +1 -0
  444. package/lib-mjs/imageEdit/types/ImageEditOptions.d.ts +55 -0
  445. package/lib-mjs/imageEdit/types/ImageEditOptions.js +2 -0
  446. package/lib-mjs/imageEdit/types/ImageEditOptions.js.map +1 -0
  447. package/lib-mjs/imageEdit/types/ImageHtmlOptions.d.ts +18 -0
  448. package/lib-mjs/imageEdit/types/ImageHtmlOptions.js +2 -0
  449. package/lib-mjs/imageEdit/types/ImageHtmlOptions.js.map +1 -0
  450. package/lib-mjs/imageEdit/utils/applyChange.d.ts +12 -0
  451. package/lib-mjs/imageEdit/utils/applyChange.js +73 -0
  452. package/lib-mjs/imageEdit/utils/applyChange.js.map +1 -0
  453. package/lib-mjs/imageEdit/utils/canRegenerateImage.d.ts +8 -0
  454. package/lib-mjs/imageEdit/utils/canRegenerateImage.js +28 -0
  455. package/lib-mjs/imageEdit/utils/canRegenerateImage.js.map +1 -0
  456. package/lib-mjs/imageEdit/utils/checkEditInfoState.d.ts +41 -0
  457. package/lib-mjs/imageEdit/utils/checkEditInfoState.js +50 -0
  458. package/lib-mjs/imageEdit/utils/checkEditInfoState.js.map +1 -0
  459. package/lib-mjs/imageEdit/utils/createImageWrapper.d.ts +18 -0
  460. package/lib-mjs/imageEdit/utils/createImageWrapper.js +83 -0
  461. package/lib-mjs/imageEdit/utils/createImageWrapper.js.map +1 -0
  462. package/lib-mjs/imageEdit/utils/doubleCheckResize.d.ts +12 -0
  463. package/lib-mjs/imageEdit/utils/doubleCheckResize.js +32 -0
  464. package/lib-mjs/imageEdit/utils/doubleCheckResize.js.map +1 -0
  465. package/lib-mjs/imageEdit/utils/generateDataURL.d.ts +13 -0
  466. package/lib-mjs/imageEdit/utils/generateDataURL.js +46 -0
  467. package/lib-mjs/imageEdit/utils/generateDataURL.js.map +1 -0
  468. package/lib-mjs/imageEdit/utils/generateImageSize.d.ts +15 -0
  469. package/lib-mjs/imageEdit/utils/generateImageSize.js +42 -0
  470. package/lib-mjs/imageEdit/utils/generateImageSize.js.map +1 -0
  471. package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -0
  472. package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.js +20 -0
  473. package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.js.map +1 -0
  474. package/lib-mjs/imageEdit/utils/getHTMLImageOptions.d.ts +7 -0
  475. package/lib-mjs/imageEdit/utils/getHTMLImageOptions.js +18 -0
  476. package/lib-mjs/imageEdit/utils/getHTMLImageOptions.js.map +1 -0
  477. package/lib-mjs/imageEdit/utils/getSelectedContentModelImage.d.ts +5 -0
  478. package/lib-mjs/imageEdit/utils/getSelectedContentModelImage.js +12 -0
  479. package/lib-mjs/imageEdit/utils/getSelectedContentModelImage.js.map +1 -0
  480. package/lib-mjs/imageEdit/utils/imageEditUtils.d.ts +39 -0
  481. package/lib-mjs/imageEdit/utils/imageEditUtils.js +91 -0
  482. package/lib-mjs/imageEdit/utils/imageEditUtils.js.map +1 -0
  483. package/lib-mjs/imageEdit/utils/updateHandleCursor.d.ts +7 -0
  484. package/lib-mjs/imageEdit/utils/updateHandleCursor.js +30 -0
  485. package/lib-mjs/imageEdit/utils/updateHandleCursor.js.map +1 -0
  486. package/lib-mjs/imageEdit/utils/updateImageEditInfo.d.ts +10 -0
  487. package/lib-mjs/imageEdit/utils/updateImageEditInfo.js +44 -0
  488. package/lib-mjs/imageEdit/utils/updateImageEditInfo.js.map +1 -0
  489. package/lib-mjs/imageEdit/utils/updateWrapper.d.ts +6 -0
  490. package/lib-mjs/imageEdit/utils/updateWrapper.js +83 -0
  491. package/lib-mjs/imageEdit/utils/updateWrapper.js.map +1 -0
  492. package/lib-mjs/index.d.ts +2 -1
  493. package/lib-mjs/index.js +1 -1
  494. package/lib-mjs/index.js.map +1 -1
  495. package/lib-mjs/paste/DefaultSanitizers.d.ts +10 -0
  496. package/lib-mjs/paste/DefaultSanitizers.js +21 -0
  497. package/lib-mjs/paste/DefaultSanitizers.js.map +1 -0
  498. package/lib-mjs/paste/PastePlugin.d.ts +4 -2
  499. package/lib-mjs/paste/PastePlugin.js +27 -2
  500. package/lib-mjs/paste/PastePlugin.js.map +1 -1
  501. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js +13 -0
  502. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  503. package/lib-mjs/paste/utils/chainSanitizerCallback.d.ts +9 -0
  504. package/lib-mjs/paste/utils/chainSanitizerCallback.js +32 -0
  505. package/lib-mjs/paste/utils/chainSanitizerCallback.js.map +1 -0
  506. package/lib-mjs/picker/getQueryString.d.ts +2 -2
  507. package/lib-mjs/picker/getQueryString.js.map +1 -1
  508. package/lib-mjs/pluginUtils/splitTextSegment.d.ts +2 -2
  509. package/lib-mjs/pluginUtils/splitTextSegment.js.map +1 -1
  510. package/lib-mjs/tableEdit/editors/TableEditor.d.ts +3 -0
  511. package/lib-mjs/tableEdit/editors/TableEditor.js +4 -0
  512. package/lib-mjs/tableEdit/editors/TableEditor.js.map +1 -1
  513. package/lib-mjs/tableEdit/editors/features/CellResizer.d.ts +39 -1
  514. package/lib-mjs/tableEdit/editors/features/CellResizer.js +27 -14
  515. package/lib-mjs/tableEdit/editors/features/CellResizer.js.map +1 -1
  516. package/lib-mjs/tableEdit/editors/features/TableInserter.d.ts +17 -0
  517. package/lib-mjs/tableEdit/editors/features/TableInserter.js +5 -0
  518. package/lib-mjs/tableEdit/editors/features/TableInserter.js.map +1 -1
  519. package/lib-mjs/tableEdit/editors/features/TableMover.d.ts +2 -2
  520. package/lib-mjs/tableEdit/editors/features/TableMover.js +5 -5
  521. package/lib-mjs/tableEdit/editors/features/TableMover.js.map +1 -1
  522. package/lib-mjs/tableEdit/editors/features/TableResizer.d.ts +40 -1
  523. package/lib-mjs/tableEdit/editors/features/TableResizer.js +25 -10
  524. package/lib-mjs/tableEdit/editors/features/TableResizer.js.map +1 -1
  525. package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.d.ts +2 -2
  526. package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
  527. package/package.json +5 -5
  528. package/lib/pluginUtils/Rect/getDOMInsertPointRect.d.ts +0 -7
  529. package/lib/pluginUtils/Rect/getDOMInsertPointRect.js +0 -57
  530. package/lib/pluginUtils/Rect/getDOMInsertPointRect.js.map +0 -1
  531. package/lib-amd/pluginUtils/Rect/getDOMInsertPointRect.d.ts +0 -7
  532. package/lib-amd/pluginUtils/Rect/getDOMInsertPointRect.js +0 -58
  533. package/lib-amd/pluginUtils/Rect/getDOMInsertPointRect.js.map +0 -1
  534. package/lib-mjs/pluginUtils/Rect/getDOMInsertPointRect.d.ts +0 -7
  535. package/lib-mjs/pluginUtils/Rect/getDOMInsertPointRect.js +0 -53
  536. package/lib-mjs/pluginUtils/Rect/getDOMInsertPointRect.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createImageRotator = 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
+ /**
9
+ * @internal
10
+ * Get HTML for rotate elements, including the rotate handle with icon, and a line between the handle and the image
11
+ */
12
+ function createImageRotator(doc, htmlOptions) {
13
+ return getRotateHTML(htmlOptions)
14
+ .map(function (element) {
15
+ var rotator = (0, createElement_1.createElement)(element, doc);
16
+ if ((0, roosterjs_content_model_dom_1.isNodeOfType)(rotator, 'ELEMENT_NODE') && (0, roosterjs_content_model_dom_1.isElementOfType)(rotator, 'div')) {
17
+ return rotator;
18
+ }
19
+ })
20
+ .filter(function (rotator) { return !!rotator; });
21
+ }
22
+ exports.createImageRotator = createImageRotator;
23
+ /**
24
+ * @internal
25
+ * Get HTML for rotate elements, including the rotate handle with icon, and a line between the handle and the image
26
+ *
27
+ */
28
+ function getRotateHTML(_a) {
29
+ var borderColor = _a.borderColor, rotateHandleBackColor = _a.rotateHandleBackColor;
30
+ var handleLeft = constants_1.ROTATE_SIZE / 2;
31
+ return [
32
+ {
33
+ tag: 'div',
34
+ className: ImageEditElementClass_1.ImageEditElementClass.RotateCenter,
35
+ style: "position:absolute;left:50%;width:1px;background-color:" + borderColor + ";top:" + -constants_1.ROTATE_HANDLE_TOP + "px;height:" + constants_1.ROTATE_GAP + "px;margin-left:" + -constants_1.ROTATE_WIDTH + "px;",
36
+ children: [
37
+ {
38
+ tag: 'div',
39
+ className: ImageEditElementClass_1.ImageEditElementClass.RotateHandle,
40
+ style: "position:absolute;background-color:" + rotateHandleBackColor + ";border:solid 1px " + borderColor + ";border-radius:50%;width:" + constants_1.ROTATE_SIZE + "px;height:" + constants_1.ROTATE_SIZE + "px;left:-" + (handleLeft + constants_1.ROTATE_WIDTH) + "px;cursor:move;top:" + -constants_1.ROTATE_SIZE + "px;line-height: 0px;",
41
+ children: [getRotateIconHTML(borderColor)],
42
+ },
43
+ ],
44
+ },
45
+ ];
46
+ }
47
+ function getRotateIconHTML(borderColor) {
48
+ var _a;
49
+ return {
50
+ tag: 'svg',
51
+ namespace: 'http://www.w3.org/2000/svg',
52
+ style: "width:16px;height:16px;margin: " + constants_1.ROTATE_ICON_MARGIN + "px " + constants_1.ROTATE_ICON_MARGIN + "px",
53
+ children: [
54
+ {
55
+ tag: 'path',
56
+ namespace: 'http://www.w3.org/2000/svg',
57
+ attributes: (_a = {
58
+ d: 'M 10.5,10.0 A 3.8,3.8 0 1 1 6.7,6.3',
59
+ transform: 'matrix(1.1 1.1 -1.1 1.1 11.6 -10.8)'
60
+ },
61
+ _a['fill-opacity'] = '0',
62
+ _a.stroke = borderColor,
63
+ _a),
64
+ },
65
+ {
66
+ tag: 'path',
67
+ namespace: 'http://www.w3.org/2000/svg',
68
+ attributes: {
69
+ d: 'M12.0 3.648l.884-.884.53 2.298-2.298-.53z',
70
+ stroke: borderColor,
71
+ },
72
+ },
73
+ ],
74
+ };
75
+ }
76
+ //# sourceMappingURL=createImageRotator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createImageRotator.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/Rotator/createImageRotator.ts"],"names":[],"mappings":";;;AAAA,+EAA8E;AAC9E,wEAAuE;AACvE,2EAA4E;AAG5E,oDAMgC;AAEhC;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,GAAa,EAAE,WAA6B;IAC3E,OAAO,aAAa,CAAC,WAAW,CAAC;SAC5B,GAAG,CAAC,UAAA,OAAO;QACR,IAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,IAAA,0CAAY,EAAC,OAAO,EAAE,cAAc,CAAC,IAAI,IAAA,6CAAe,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC1E,OAAO,OAAO,CAAC;SAClB;IACL,CAAC,CAAC;SACD,MAAM,CAAC,UAAA,OAAO,IAAI,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAqB,CAAC;AAC1D,CAAC;AATD,gDASC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,EAGJ;QAFf,WAAW,iBAAA,EACX,qBAAqB,2BAAA;IAErB,IAAM,UAAU,GAAG,uBAAW,GAAG,CAAC,CAAC;IACnC,OAAO;QACH;YACI,GAAG,EAAE,KAAK;YACV,SAAS,EAAE,6CAAqB,CAAC,YAAY;YAC7C,KAAK,EAAE,2DAAyD,WAAW,aAAQ,CAAC,6BAAiB,kBAAa,sBAAU,uBAAkB,CAAC,wBAAY,QAAK;YAChK,QAAQ,EAAE;gBACN;oBACI,GAAG,EAAE,KAAK;oBACV,SAAS,EAAE,6CAAqB,CAAC,YAAY;oBAC7C,KAAK,EAAE,wCAAsC,qBAAqB,0BAAqB,WAAW,iCAA4B,uBAAW,kBAAa,uBAAW,kBAC7J,UAAU,GAAG,wBAAY,4BACP,CAAC,uBAAW,yBAAsB;oBACxD,QAAQ,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;iBAC7C;aACJ;SACJ;KACJ,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB;;IAC1C,OAAO;QACH,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,4BAA4B;QACvC,KAAK,EAAE,oCAAkC,8BAAkB,WAAM,8BAAkB,OAAI;QACvF,QAAQ,EAAE;YACN;gBACI,GAAG,EAAE,MAAM;gBACX,SAAS,EAAE,4BAA4B;gBACvC,UAAU;wBACN,CAAC,EAAE,qCAAqC;wBACxC,SAAS,EAAE,qCAAqC;;oBAChD,GAAC,cAAc,IAAG,GAAG;oBACrB,SAAM,GAAE,WAAW;uBACtB;aACJ;YACD;gBACI,GAAG,EAAE,MAAM;gBACX,SAAS,EAAE,4BAA4B;gBACvC,UAAU,EAAE;oBACR,CAAC,EAAE,2CAA2C;oBAC9C,MAAM,EAAE,WAAW;iBACtB;aACJ;SACJ;KACJ,CAAC;AACN,CAAC","sourcesContent":["import { createElement } from '../../pluginUtils/CreateElement/createElement';\nimport { ImageEditElementClass } from '../types/ImageEditElementClass';\nimport { isElementOfType, isNodeOfType } from 'roosterjs-content-model-dom';\nimport type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';\nimport type { ImageHtmlOptions } from '../types/ImageHtmlOptions';\nimport {\n ROTATE_GAP,\n ROTATE_HANDLE_TOP,\n ROTATE_ICON_MARGIN,\n ROTATE_SIZE,\n ROTATE_WIDTH,\n} from '../constants/constants';\n\n/**\n * @internal\n * Get HTML for rotate elements, including the rotate handle with icon, and a line between the handle and the image\n */\nexport function createImageRotator(doc: Document, htmlOptions: ImageHtmlOptions) {\n return getRotateHTML(htmlOptions)\n .map(element => {\n const rotator = createElement(element, doc);\n if (isNodeOfType(rotator, 'ELEMENT_NODE') && isElementOfType(rotator, 'div')) {\n return rotator;\n }\n })\n .filter(rotator => !!rotator) as HTMLDivElement[];\n}\n\n/**\n * @internal\n * Get HTML for rotate elements, including the rotate handle with icon, and a line between the handle and the image\n *\n */\nfunction getRotateHTML({\n borderColor,\n rotateHandleBackColor,\n}: ImageHtmlOptions): CreateElementData[] {\n const handleLeft = ROTATE_SIZE / 2;\n return [\n {\n tag: 'div',\n className: ImageEditElementClass.RotateCenter,\n style: `position:absolute;left:50%;width:1px;background-color:${borderColor};top:${-ROTATE_HANDLE_TOP}px;height:${ROTATE_GAP}px;margin-left:${-ROTATE_WIDTH}px;`,\n children: [\n {\n tag: 'div',\n className: ImageEditElementClass.RotateHandle,\n style: `position:absolute;background-color:${rotateHandleBackColor};border:solid 1px ${borderColor};border-radius:50%;width:${ROTATE_SIZE}px;height:${ROTATE_SIZE}px;left:-${\n handleLeft + ROTATE_WIDTH\n }px;cursor:move;top:${-ROTATE_SIZE}px;line-height: 0px;`,\n children: [getRotateIconHTML(borderColor)],\n },\n ],\n },\n ];\n}\n\nfunction getRotateIconHTML(borderColor: string): CreateElementData {\n return {\n tag: 'svg',\n namespace: 'http://www.w3.org/2000/svg',\n style: `width:16px;height:16px;margin: ${ROTATE_ICON_MARGIN}px ${ROTATE_ICON_MARGIN}px`,\n children: [\n {\n tag: 'path',\n namespace: 'http://www.w3.org/2000/svg',\n attributes: {\n d: 'M 10.5,10.0 A 3.8,3.8 0 1 1 6.7,6.3',\n transform: 'matrix(1.1 1.1 -1.1 1.1 11.6 -10.8)',\n ['fill-opacity']: '0',\n stroke: borderColor,\n },\n },\n {\n tag: 'path',\n namespace: 'http://www.w3.org/2000/svg',\n attributes: {\n d: 'M12.0 3.648l.884-.884.53 2.298-2.298-.53z',\n stroke: borderColor,\n },\n },\n ],\n };\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { ImageRotateMetadataFormat } from 'roosterjs-content-model-types';
2
+ import type { DragAndDropHandler } from '../../pluginUtils/DragAndDrop/DragAndDropHandler';
3
+ import type { DragAndDropContext } from '../types/DragAndDropContext';
4
+ /**
5
+ * @internal
6
+ * The rotate drag and drop handler
7
+ */
8
+ export declare const Rotator: DragAndDropHandler<DragAndDropContext, ImageRotateMetadataFormat>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rotator = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var constants_1 = require("../constants/constants");
6
+ /**
7
+ * @internal
8
+ * The rotate drag and drop handler
9
+ */
10
+ exports.Rotator = {
11
+ onDragStart: function (_a) {
12
+ var editInfo = _a.editInfo;
13
+ return ((0, tslib_1.__assign)({}, editInfo));
14
+ },
15
+ onDragging: function (_a, e, base, deltaX, deltaY) {
16
+ var _b, _c;
17
+ var editInfo = _a.editInfo, options = _a.options;
18
+ if (editInfo.heightPx) {
19
+ var distance = editInfo.heightPx / 2 + constants_1.DEFAULT_ROTATE_HANDLE_HEIGHT;
20
+ var newX = distance * Math.sin((_b = base.angleRad) !== null && _b !== void 0 ? _b : 0) + deltaX;
21
+ var newY = distance * Math.cos((_c = base.angleRad) !== null && _c !== void 0 ? _c : 0) - deltaY;
22
+ var angleInRad = Math.atan2(newX, newY);
23
+ if (!e.altKey && options && options.minRotateDeg !== undefined) {
24
+ var angleInDeg = angleInRad * constants_1.DEG_PER_RAD;
25
+ var adjustedAngleInDeg = Math.round(angleInDeg / options.minRotateDeg) * options.minRotateDeg;
26
+ angleInRad = adjustedAngleInDeg / constants_1.DEG_PER_RAD;
27
+ }
28
+ if (editInfo.angleRad != angleInRad) {
29
+ editInfo.angleRad = angleInRad;
30
+ return true;
31
+ }
32
+ }
33
+ return false;
34
+ },
35
+ };
36
+ //# sourceMappingURL=rotatorContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotatorContext.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/Rotator/rotatorContext.ts"],"names":[],"mappings":";;;;AAAA,oDAAmF;AAKnF;;;GAGG;AACU,QAAA,OAAO,GAAsE;IACtF,WAAW,EAAE,UAAC,EAAY;YAAV,QAAQ,cAAA;QAAO,OAAA,2BAAM,QAAQ,EAAG;IAAjB,CAAiB;IAChD,UAAU,EAAE,UAAC,EAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;;YAA5C,QAAQ,cAAA,EAAE,OAAO,aAAA;QAC5B,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACnB,IAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,wCAA4B,CAAC;YACtE,IAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YAC9D,IAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YAC9D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAExC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;gBAC5D,IAAM,UAAU,GAAG,UAAU,GAAG,uBAAW,CAAC;gBAC5C,IAAM,kBAAkB,GACpB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;gBACzE,UAAU,GAAG,kBAAkB,GAAG,uBAAW,CAAC;aACjD;YAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,UAAU,EAAE;gBACjC,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC;gBAC/B,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAC","sourcesContent":["import { DEFAULT_ROTATE_HANDLE_HEIGHT, DEG_PER_RAD } from '../constants/constants';\nimport type { ImageRotateMetadataFormat } from 'roosterjs-content-model-types';\nimport type { DragAndDropHandler } from '../../pluginUtils/DragAndDrop/DragAndDropHandler';\nimport type { DragAndDropContext } from '../types/DragAndDropContext';\n\n/**\n * @internal\n * The rotate drag and drop handler\n */\nexport const Rotator: DragAndDropHandler<DragAndDropContext, ImageRotateMetadataFormat> = {\n onDragStart: ({ editInfo }) => ({ ...editInfo }),\n onDragging: ({ editInfo, options }, e, base, deltaX, deltaY) => {\n if (editInfo.heightPx) {\n const distance = editInfo.heightPx / 2 + DEFAULT_ROTATE_HANDLE_HEIGHT;\n const newX = distance * Math.sin(base.angleRad ?? 0) + deltaX;\n const newY = distance * Math.cos(base.angleRad ?? 0) - deltaY;\n let angleInRad = Math.atan2(newX, newY);\n\n if (!e.altKey && options && options.minRotateDeg !== undefined) {\n const angleInDeg = angleInRad * DEG_PER_RAD;\n const adjustedAngleInDeg =\n Math.round(angleInDeg / options.minRotateDeg) * options.minRotateDeg;\n angleInRad = adjustedAngleInDeg / DEG_PER_RAD;\n }\n\n if (editInfo.angleRad != angleInRad) {\n editInfo.angleRad = angleInRad;\n return true;\n }\n }\n return false;\n },\n};\n"]}
@@ -0,0 +1,7 @@
1
+ import type { Rect } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ * Move rotate handle. When image is very close to the border of editor, rotate handle may not be visible.
5
+ * Fix it by reduce the distance from image to rotate handle
6
+ */
7
+ export declare function updateRotateHandle(editorRect: Rect, angleRad: number, wrapper: HTMLElement, rotateCenter: HTMLElement, rotateHandle: HTMLElement, isSmallImage: boolean): void;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateRotateHandle = void 0;
4
+ var constants_1 = require("../constants/constants");
5
+ /**
6
+ * @internal
7
+ * Move rotate handle. When image is very close to the border of editor, rotate handle may not be visible.
8
+ * Fix it by reduce the distance from image to rotate handle
9
+ */
10
+ function updateRotateHandle(editorRect, angleRad, wrapper, rotateCenter, rotateHandle, isSmallImage) {
11
+ if (isSmallImage) {
12
+ rotateCenter.style.display = 'none';
13
+ rotateHandle.style.display = 'none';
14
+ return;
15
+ }
16
+ else {
17
+ rotateCenter.style.display = '';
18
+ rotateHandle.style.display = '';
19
+ var rotateCenterRect = rotateCenter.getBoundingClientRect();
20
+ var wrapperRect = wrapper.getBoundingClientRect();
21
+ var ROTATOR_HEIGHT = constants_1.ROTATE_SIZE + constants_1.ROTATE_GAP + constants_1.RESIZE_HANDLE_MARGIN;
22
+ if (rotateCenterRect && wrapperRect) {
23
+ var adjustedDistance = Number.MAX_SAFE_INTEGER;
24
+ var angle = angleRad * constants_1.DEG_PER_RAD;
25
+ if (angle < 45 && angle > -45 && wrapperRect.top - editorRect.top < ROTATOR_HEIGHT) {
26
+ var top_1 = rotateCenterRect.top - editorRect.top;
27
+ adjustedDistance = top_1;
28
+ }
29
+ else if (angle <= -80 &&
30
+ angle >= -100 &&
31
+ wrapperRect.left - editorRect.left < ROTATOR_HEIGHT) {
32
+ var left = rotateCenterRect.left - editorRect.left;
33
+ adjustedDistance = left;
34
+ }
35
+ else if (angle >= 80 &&
36
+ angle <= 100 &&
37
+ editorRect.right - wrapperRect.right < ROTATOR_HEIGHT) {
38
+ var right = rotateCenterRect.right - editorRect.right;
39
+ adjustedDistance = Math.min(editorRect.right - wrapperRect.right, right);
40
+ }
41
+ else if ((angle <= -160 || angle >= 160) &&
42
+ editorRect.bottom - wrapperRect.bottom < ROTATOR_HEIGHT) {
43
+ var bottom = rotateCenterRect.bottom - editorRect.bottom;
44
+ adjustedDistance = Math.min(editorRect.bottom - wrapperRect.bottom, bottom);
45
+ }
46
+ var rotateGap = Math.max(Math.min(constants_1.ROTATE_GAP, adjustedDistance), 0);
47
+ var rotateTop = Math.max(Math.min(constants_1.ROTATE_SIZE, adjustedDistance - rotateGap), 0);
48
+ rotateCenter.style.top = -rotateGap - constants_1.RESIZE_HANDLE_MARGIN + 'px';
49
+ rotateCenter.style.height = rotateGap + 'px';
50
+ rotateHandle.style.top = -rotateTop + 'px';
51
+ }
52
+ }
53
+ }
54
+ exports.updateRotateHandle = updateRotateHandle;
55
+ //# sourceMappingURL=updateRotateHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateRotateHandle.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/Rotator/updateRotateHandle.ts"],"names":[],"mappings":";;;AAAA,oDAAoG;AAGpG;;;;GAIG;AACH,SAAgB,kBAAkB,CAC9B,UAAgB,EAChB,QAAgB,EAChB,OAAoB,EACpB,YAAyB,EACzB,YAAyB,EACzB,YAAqB;IAErB,IAAI,YAAY,EAAE;QACd,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACpC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACpC,OAAO;KACV;SAAM;QACH,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QAChC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QAChC,IAAM,gBAAgB,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAC9D,IAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACpD,IAAM,cAAc,GAAG,uBAAW,GAAG,sBAAU,GAAG,gCAAoB,CAAC;QACvE,IAAI,gBAAgB,IAAI,WAAW,EAAE;YACjC,IAAI,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC/C,IAAM,KAAK,GAAG,QAAQ,GAAG,uBAAW,CAAC;YAErC,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,WAAW,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,cAAc,EAAE;gBAChF,IAAM,KAAG,GAAG,gBAAgB,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBAClD,gBAAgB,GAAG,KAAG,CAAC;aAC1B;iBAAM,IACH,KAAK,IAAI,CAAC,EAAE;gBACZ,KAAK,IAAI,CAAC,GAAG;gBACb,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,cAAc,EACrD;gBACE,IAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBACrD,gBAAgB,GAAG,IAAI,CAAC;aAC3B;iBAAM,IACH,KAAK,IAAI,EAAE;gBACX,KAAK,IAAI,GAAG;gBACZ,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,GAAG,cAAc,EACvD;gBACE,IAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBACxD,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC5E;iBAAM,IACH,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;gBAC/B,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,cAAc,EACzD;gBACE,IAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC3D,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aAC/E;YAED,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAU,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,gCAAoB,GAAG,IAAI,CAAC;YAClE,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;YAC7C,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;SAC9C;KACJ;AACL,CAAC;AAtDD,gDAsDC","sourcesContent":["import { DEG_PER_RAD, RESIZE_HANDLE_MARGIN, ROTATE_GAP, ROTATE_SIZE } from '../constants/constants';\nimport type { Rect } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * Move rotate handle. When image is very close to the border of editor, rotate handle may not be visible.\n * Fix it by reduce the distance from image to rotate handle\n */\nexport function updateRotateHandle(\n editorRect: Rect,\n angleRad: number,\n wrapper: HTMLElement,\n rotateCenter: HTMLElement,\n rotateHandle: HTMLElement,\n isSmallImage: boolean\n) {\n if (isSmallImage) {\n rotateCenter.style.display = 'none';\n rotateHandle.style.display = 'none';\n return;\n } else {\n rotateCenter.style.display = '';\n rotateHandle.style.display = '';\n const rotateCenterRect = rotateCenter.getBoundingClientRect();\n const wrapperRect = wrapper.getBoundingClientRect();\n const ROTATOR_HEIGHT = ROTATE_SIZE + ROTATE_GAP + RESIZE_HANDLE_MARGIN;\n if (rotateCenterRect && wrapperRect) {\n let adjustedDistance = Number.MAX_SAFE_INTEGER;\n const angle = angleRad * DEG_PER_RAD;\n\n if (angle < 45 && angle > -45 && wrapperRect.top - editorRect.top < ROTATOR_HEIGHT) {\n const top = rotateCenterRect.top - editorRect.top;\n adjustedDistance = top;\n } else if (\n angle <= -80 &&\n angle >= -100 &&\n wrapperRect.left - editorRect.left < ROTATOR_HEIGHT\n ) {\n const left = rotateCenterRect.left - editorRect.left;\n adjustedDistance = left;\n } else if (\n angle >= 80 &&\n angle <= 100 &&\n editorRect.right - wrapperRect.right < ROTATOR_HEIGHT\n ) {\n const right = rotateCenterRect.right - editorRect.right;\n adjustedDistance = Math.min(editorRect.right - wrapperRect.right, right);\n } else if (\n (angle <= -160 || angle >= 160) &&\n editorRect.bottom - wrapperRect.bottom < ROTATOR_HEIGHT\n ) {\n const bottom = rotateCenterRect.bottom - editorRect.bottom;\n adjustedDistance = Math.min(editorRect.bottom - wrapperRect.bottom, bottom);\n }\n\n const rotateGap = Math.max(Math.min(ROTATE_GAP, adjustedDistance), 0);\n const rotateTop = Math.max(Math.min(ROTATE_SIZE, adjustedDistance - rotateGap), 0);\n rotateCenter.style.top = -rotateGap - RESIZE_HANDLE_MARGIN + 'px';\n rotateCenter.style.height = rotateGap + 'px';\n rotateHandle.style.top = -rotateTop + 'px';\n }\n }\n}\n"]}
@@ -0,0 +1,73 @@
1
+ import type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const RESIZE_HANDLE_SIZE = 10;
6
+ /**
7
+ * @internal
8
+ */
9
+ export declare const RESIZE_HANDLE_MARGIN = 6;
10
+ /**
11
+ * @internal
12
+ */
13
+ export declare const ROTATE_SIZE = 32;
14
+ /**
15
+ * @internal
16
+ */
17
+ export declare const ROTATE_GAP = 15;
18
+ /**
19
+ * @internal
20
+ */
21
+ export declare const DEG_PER_RAD: number;
22
+ /**
23
+ * @internal
24
+ */
25
+ export declare const DEFAULT_ROTATE_HANDLE_HEIGHT: number;
26
+ /**
27
+ * @internal
28
+ */
29
+ export declare const ROTATE_ICON_MARGIN = 8;
30
+ /**
31
+ * @internal
32
+ */
33
+ export declare const ROTATION: Record<string, number>;
34
+ /**
35
+ * @internal
36
+ */
37
+ export declare const Xs: DNDDirectionX[];
38
+ /**
39
+ * @internal
40
+ */
41
+ export declare const Ys: DnDDirectionY[];
42
+ /**
43
+ * @internal
44
+ */
45
+ export declare const ROTATE_WIDTH = 1;
46
+ /**
47
+ * @internal
48
+ */
49
+ export declare const ROTATE_HANDLE_TOP: number;
50
+ /**
51
+ * @internal
52
+ */
53
+ export declare const CROP_HANDLE_SIZE = 22;
54
+ /**
55
+ * @internal
56
+ */
57
+ export declare const CROP_HANDLE_WIDTH = 7;
58
+ /**
59
+ * @internal
60
+ */
61
+ export declare const XS_CROP: DNDDirectionX[];
62
+ /**
63
+ * @internal
64
+ */
65
+ export declare const YS_CROP: DnDDirectionY[];
66
+ /**
67
+ * @internal
68
+ */
69
+ export declare const MIN_HEIGHT_WIDTH: number;
70
+ /**
71
+ * @internal
72
+ */
73
+ export declare const RESIZE_IMAGE = "resizeImage";
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESIZE_IMAGE = exports.MIN_HEIGHT_WIDTH = exports.YS_CROP = exports.XS_CROP = exports.CROP_HANDLE_WIDTH = exports.CROP_HANDLE_SIZE = exports.ROTATE_HANDLE_TOP = exports.ROTATE_WIDTH = exports.Ys = exports.Xs = exports.ROTATION = exports.ROTATE_ICON_MARGIN = exports.DEFAULT_ROTATE_HANDLE_HEIGHT = exports.DEG_PER_RAD = exports.ROTATE_GAP = exports.ROTATE_SIZE = exports.RESIZE_HANDLE_MARGIN = exports.RESIZE_HANDLE_SIZE = void 0;
4
+ /**
5
+ * @internal
6
+ */
7
+ exports.RESIZE_HANDLE_SIZE = 10;
8
+ /**
9
+ * @internal
10
+ */
11
+ exports.RESIZE_HANDLE_MARGIN = 6;
12
+ /**
13
+ * @internal
14
+ */
15
+ exports.ROTATE_SIZE = 32;
16
+ /**
17
+ * @internal
18
+ */
19
+ exports.ROTATE_GAP = 15;
20
+ /**
21
+ * @internal
22
+ */
23
+ exports.DEG_PER_RAD = 180 / Math.PI;
24
+ /**
25
+ * @internal
26
+ */
27
+ exports.DEFAULT_ROTATE_HANDLE_HEIGHT = exports.ROTATE_SIZE / 2 + exports.ROTATE_GAP;
28
+ /**
29
+ * @internal
30
+ */
31
+ exports.ROTATE_ICON_MARGIN = 8;
32
+ /**
33
+ * @internal
34
+ */
35
+ exports.ROTATION = {
36
+ sw: 0,
37
+ nw: 90,
38
+ ne: 180,
39
+ se: 270,
40
+ };
41
+ /**
42
+ * @internal
43
+ */
44
+ exports.Xs = ['w', '', 'e'];
45
+ /**
46
+ * @internal
47
+ */
48
+ exports.Ys = ['s', '', 'n'];
49
+ /**
50
+ * @internal
51
+ */
52
+ exports.ROTATE_WIDTH = 1;
53
+ /**
54
+ * @internal
55
+ */
56
+ exports.ROTATE_HANDLE_TOP = exports.ROTATE_GAP + exports.RESIZE_HANDLE_MARGIN;
57
+ /**
58
+ * @internal
59
+ */
60
+ exports.CROP_HANDLE_SIZE = 22;
61
+ /**
62
+ * @internal
63
+ */
64
+ exports.CROP_HANDLE_WIDTH = 7;
65
+ /**
66
+ * @internal
67
+ */
68
+ exports.XS_CROP = ['w', 'e'];
69
+ /**
70
+ * @internal
71
+ */
72
+ exports.YS_CROP = ['s', 'n'];
73
+ /**
74
+ * @internal
75
+ */
76
+ exports.MIN_HEIGHT_WIDTH = 3 * exports.RESIZE_HANDLE_SIZE + 2 * exports.RESIZE_HANDLE_MARGIN;
77
+ /**
78
+ * @internal
79
+ */
80
+ exports.RESIZE_IMAGE = 'resizeImage';
81
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/constants/constants.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAErC;;GAEG;AACU,QAAA,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;GAEG;AACU,QAAA,WAAW,GAAG,EAAE,CAAC;AAE9B;;GAEG;AACU,QAAA,UAAU,GAAG,EAAE,CAAC;AAE7B;;GAEG;AACU,QAAA,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAEzC;;GAEG;AACU,QAAA,4BAA4B,GAAG,mBAAW,GAAG,CAAC,GAAG,kBAAU,CAAC;AAEzE;;GAEG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;GAEG;AACU,QAAA,QAAQ,GAA2B;IAC5C,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;CACV,CAAC;AAEF;;GAEG;AACU,QAAA,EAAE,GAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AAElD;;GAEG;AACU,QAAA,EAAE,GAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AAElD;;GAEG;AACU,QAAA,YAAY,GAAG,CAAC,CAAC;AAE9B;;GAEG;AACU,QAAA,iBAAiB,GAAG,kBAAU,GAAG,4BAAoB,CAAC;AAEnE;;GAEG;AACU,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;GAEG;AACU,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;GAEG;AACU,QAAA,OAAO,GAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnD;;GAEG;AACU,QAAA,OAAO,GAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnD;;GAEG;AACU,QAAA,gBAAgB,GAAG,CAAC,GAAG,0BAAkB,GAAG,CAAC,GAAG,4BAAoB,CAAC;AAElF;;GAEG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC","sourcesContent":["import type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';\n\n/**\n * @internal\n */\nexport const RESIZE_HANDLE_SIZE = 10;\n\n/**\n * @internal\n */\nexport const RESIZE_HANDLE_MARGIN = 6;\n\n/**\n * @internal\n */\nexport const ROTATE_SIZE = 32;\n\n/**\n * @internal\n */\nexport const ROTATE_GAP = 15;\n\n/**\n * @internal\n */\nexport const DEG_PER_RAD = 180 / Math.PI;\n\n/**\n * @internal\n */\nexport const DEFAULT_ROTATE_HANDLE_HEIGHT = ROTATE_SIZE / 2 + ROTATE_GAP;\n\n/**\n * @internal\n */\nexport const ROTATE_ICON_MARGIN = 8;\n\n/**\n * @internal\n */\nexport const ROTATION: Record<string, number> = {\n sw: 0,\n nw: 90,\n ne: 180,\n se: 270,\n};\n\n/**\n * @internal\n */\nexport const Xs: DNDDirectionX[] = ['w', '', 'e'];\n\n/**\n * @internal\n */\nexport const Ys: DnDDirectionY[] = ['s', '', 'n'];\n\n/**\n * @internal\n */\nexport const ROTATE_WIDTH = 1;\n\n/**\n * @internal\n */\nexport const ROTATE_HANDLE_TOP = ROTATE_GAP + RESIZE_HANDLE_MARGIN;\n\n/**\n * @internal\n */\nexport const CROP_HANDLE_SIZE = 22;\n\n/**\n * @internal\n */\nexport const CROP_HANDLE_WIDTH = 7;\n\n/**\n * @internal\n */\nexport const XS_CROP: DNDDirectionX[] = ['w', 'e'];\n\n/**\n * @internal\n */\nexport const YS_CROP: DnDDirectionY[] = ['s', 'n'];\n\n/**\n * @internal\n */\nexport const MIN_HEIGHT_WIDTH = 3 * RESIZE_HANDLE_SIZE + 2 * RESIZE_HANDLE_MARGIN;\n\n/**\n * @internal\n */\nexport const RESIZE_IMAGE = 'resizeImage';\n"]}
@@ -0,0 +1,39 @@
1
+ import type { ImageEditElementClass } from './ImageEditElementClass';
2
+ import type { ImageEditOptions } from './ImageEditOptions';
3
+ import type { ImageMetadataFormat } from 'roosterjs-content-model-types';
4
+ /**
5
+ * @internal
6
+ * Horizontal direction types for image edit
7
+ */
8
+ export declare type DNDDirectionX = 'w' | '' | 'e';
9
+ /**
10
+ * @internal
11
+ * Vertical direction types for image edit
12
+ */
13
+ export declare type DnDDirectionY = 'n' | '' | 's';
14
+ /**
15
+ * @internal
16
+ * Context object of image editing for DragAndDropHelper
17
+ */
18
+ export interface DragAndDropContext {
19
+ /**
20
+ * The CSS class name of this editing element
21
+ */
22
+ elementClass: ImageEditElementClass;
23
+ /**
24
+ * Edit info of current image, can be modified by handlers
25
+ */
26
+ editInfo: ImageMetadataFormat;
27
+ /**
28
+ * Horizontal direction
29
+ */
30
+ x: DNDDirectionX;
31
+ /**
32
+ * Vertical direction
33
+ */
34
+ y: DnDDirectionY;
35
+ /**
36
+ * Edit options
37
+ */
38
+ options: ImageEditOptions;
39
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DragAndDropContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragAndDropContext.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/types/DragAndDropContext.ts"],"names":[],"mappings":"","sourcesContent":["import type { ImageEditElementClass } from './ImageEditElementClass';\nimport type { ImageEditOptions } from './ImageEditOptions';\nimport type { ImageMetadataFormat } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * Horizontal direction types for image edit\n */\nexport type DNDDirectionX = 'w' | '' | 'e';\n\n/**\n * @internal\n * Vertical direction types for image edit\n */\nexport type DnDDirectionY = 'n' | '' | 's';\n\n/**\n * @internal\n * Context object of image editing for DragAndDropHelper\n */\nexport interface DragAndDropContext {\n /**\n * The CSS class name of this editing element\n */\n elementClass: ImageEditElementClass;\n\n /**\n * Edit info of current image, can be modified by handlers\n */\n editInfo: ImageMetadataFormat;\n\n /**\n * Horizontal direction\n */\n x: DNDDirectionX;\n\n /**\n * Vertical direction\n */\n y: DnDDirectionY;\n\n /**\n * Edit options\n */\n options: ImageEditOptions;\n}\n"]}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @internal The result structure for getGeneratedImageSize()
3
+ */
4
+ export interface GeneratedImageSize {
5
+ /**
6
+ * Final image width after rotate and crop
7
+ */
8
+ targetWidth: number;
9
+ /**
10
+ * Final image height after rotate and crop
11
+ */
12
+ targetHeight: number;
13
+ /**
14
+ * Original width of image before rotate and crop
15
+ */
16
+ originalWidth: number;
17
+ /**
18
+ * Original height of image before rotate and crop
19
+ */
20
+ originalHeight: number;
21
+ /**
22
+ * Visible width of image at current state
23
+ * Depends on if beforeCrop is true passed into getGeneratedImageSize(),
24
+ * the value can be before or after crop
25
+ */
26
+ visibleWidth: number;
27
+ /**
28
+ * Visible height of image at current state
29
+ * Depends on if beforeCrop is true passed into getGeneratedImageSize(),
30
+ * the value can be before or after crop
31
+ */
32
+ visibleHeight: number;
33
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GeneratedImageSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneratedImageSize.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/types/GeneratedImageSize.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * @internal The result structure for getGeneratedImageSize()\n */\nexport interface GeneratedImageSize {\n /**\n * Final image width after rotate and crop\n */\n targetWidth: number;\n\n /**\n * Final image height after rotate and crop\n */\n targetHeight: number;\n\n /**\n * Original width of image before rotate and crop\n */\n originalWidth: number;\n\n /**\n * Original height of image before rotate and crop\n */\n originalHeight: number;\n\n /**\n * Visible width of image at current state\n * Depends on if beforeCrop is true passed into getGeneratedImageSize(),\n * the value can be before or after crop\n */\n visibleWidth: number;\n\n /**\n * Visible height of image at current state\n * Depends on if beforeCrop is true passed into getGeneratedImageSize(),\n * the value can be before or after crop\n */\n visibleHeight: number;\n}\n"]}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @internal
3
+ * CSS class names for image editing elements
4
+ */
5
+ export declare enum ImageEditElementClass {
6
+ /**
7
+ * CSS class name for resize handle
8
+ */
9
+ ResizeHandle = "r_resizeH",
10
+ /**
11
+ * CSS class name for rotate handle
12
+ */
13
+ RotateHandle = "r_rotateH",
14
+ /**
15
+ * CSS class name for the container of rotate handle
16
+ */
17
+ RotateCenter = "r_rotateC",
18
+ /**
19
+ * CSS class name for crop overlay
20
+ */
21
+ CropOverlay = "r_cropO",
22
+ /**
23
+ * CSS class name for container of crop handle
24
+ */
25
+ CropContainer = "r_cropC",
26
+ /**
27
+ * CSS class name for crop handle
28
+ */
29
+ CropHandle = "r_cropH"
30
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImageEditElementClass = void 0;
4
+ /**
5
+ * @internal
6
+ * CSS class names for image editing elements
7
+ */
8
+ var ImageEditElementClass;
9
+ (function (ImageEditElementClass) {
10
+ /**
11
+ * CSS class name for resize handle
12
+ */
13
+ ImageEditElementClass["ResizeHandle"] = "r_resizeH";
14
+ /**
15
+ * CSS class name for rotate handle
16
+ */
17
+ ImageEditElementClass["RotateHandle"] = "r_rotateH";
18
+ /**
19
+ * CSS class name for the container of rotate handle
20
+ */
21
+ ImageEditElementClass["RotateCenter"] = "r_rotateC";
22
+ /**
23
+ * CSS class name for crop overlay
24
+ */
25
+ ImageEditElementClass["CropOverlay"] = "r_cropO";
26
+ /**
27
+ * CSS class name for container of crop handle
28
+ */
29
+ ImageEditElementClass["CropContainer"] = "r_cropC";
30
+ /**
31
+ * CSS class name for crop handle
32
+ */
33
+ ImageEditElementClass["CropHandle"] = "r_cropH";
34
+ })(ImageEditElementClass = exports.ImageEditElementClass || (exports.ImageEditElementClass = {}));
35
+ //# sourceMappingURL=ImageEditElementClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageEditElementClass.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/types/ImageEditElementClass.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,qBA8BX;AA9BD,WAAY,qBAAqB;IAC7B;;OAEG;IACH,mDAA0B,CAAA;IAE1B;;OAEG;IACH,mDAA0B,CAAA;IAE1B;;OAEG;IACH,mDAA0B,CAAA;IAE1B;;OAEG;IACH,gDAAuB,CAAA;IAEvB;;OAEG;IACH,kDAAyB,CAAA;IAEzB;;OAEG;IACH,+CAAsB,CAAA;AAC1B,CAAC,EA9BW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QA8BhC","sourcesContent":["/**\n * @internal\n * CSS class names for image editing elements\n */\nexport enum ImageEditElementClass {\n /**\n * CSS class name for resize handle\n */\n ResizeHandle = 'r_resizeH',\n\n /**\n * CSS class name for rotate handle\n */\n RotateHandle = 'r_rotateH',\n\n /**\n * CSS class name for the container of rotate handle\n */\n RotateCenter = 'r_rotateC',\n\n /**\n * CSS class name for crop overlay\n */\n CropOverlay = 'r_cropO',\n\n /**\n * CSS class name for container of crop handle\n */\n CropContainer = 'r_cropC',\n\n /**\n * CSS class name for crop handle\n */\n CropHandle = 'r_cropH',\n}\n"]}
@@ -0,0 +1,55 @@
1
+ import type { ImageEditOperation } from 'roosterjs-content-model-types';
2
+ /**
3
+ * Options for customize ImageEdit plugin
4
+ */
5
+ export interface ImageEditOptions {
6
+ /**
7
+ * Color of resize/rotate border, handle and icon
8
+ * @default #DB626C
9
+ */
10
+ borderColor?: string;
11
+ /**
12
+ * Minimum resize/crop width
13
+ * @default 10
14
+ */
15
+ minWidth?: number;
16
+ /**
17
+ * Minimum resize/crop height
18
+ * @default 10
19
+ */
20
+ minHeight?: number;
21
+ /**
22
+ * Whether preserve width/height ratio when resize
23
+ * Pressing SHIFT key when resize will for preserve ratio even this value is set to false
24
+ * @default false
25
+ */
26
+ preserveRatio?: boolean;
27
+ /**
28
+ * Minimum degree increase/decrease when rotate image.
29
+ * Pressing SHIFT key when rotate will ignore this value and rotate by any degree with mouse moving
30
+ * @default 5
31
+ */
32
+ minRotateDeg?: number;
33
+ /**
34
+ * Selector of the image that allows editing
35
+ * @default img
36
+ */
37
+ imageSelector?: string;
38
+ /**
39
+ * Whether side resizing (single direction resizing) is disabled. @default false
40
+ */
41
+ disableSideResize?: boolean;
42
+ /**
43
+ * Whether image rotate is disabled. @default false
44
+ */
45
+ disableRotate?: boolean;
46
+ /**
47
+ * Whether image crop is disabled. @default false
48
+ */
49
+ disableCrop?: boolean;
50
+ /**
51
+ * Which operations will be executed when image is selected
52
+ * @default resizeAndRotate
53
+ */
54
+ onSelectState?: ImageEditOperation;
55
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ImageEditOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageEditOptions.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/types/ImageEditOptions.ts"],"names":[],"mappings":"","sourcesContent":["import type { ImageEditOperation } from 'roosterjs-content-model-types';\n\n/**\n * Options for customize ImageEdit plugin\n */\nexport interface ImageEditOptions {\n /**\n * Color of resize/rotate border, handle and icon\n * @default #DB626C\n */\n borderColor?: string;\n\n /**\n * Minimum resize/crop width\n * @default 10\n */\n minWidth?: number;\n\n /**\n * Minimum resize/crop height\n * @default 10\n */\n minHeight?: number;\n\n /**\n * Whether preserve width/height ratio when resize\n * Pressing SHIFT key when resize will for preserve ratio even this value is set to false\n * @default false\n */\n preserveRatio?: boolean;\n\n /**\n * Minimum degree increase/decrease when rotate image.\n * Pressing SHIFT key when rotate will ignore this value and rotate by any degree with mouse moving\n * @default 5\n */\n minRotateDeg?: number;\n\n /**\n * Selector of the image that allows editing\n * @default img\n */\n imageSelector?: string;\n\n /**\n * Whether side resizing (single direction resizing) is disabled. @default false\n */\n disableSideResize?: boolean;\n\n /**\n * Whether image rotate is disabled. @default false\n */\n disableRotate?: boolean;\n\n /**\n * Whether image crop is disabled. @default false\n */\n disableCrop?: boolean;\n\n /**\n * Which operations will be executed when image is selected\n * @default resizeAndRotate\n */\n onSelectState?: ImageEditOperation;\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @internal
3
+ * Options for retrieve HTML string for image editing
4
+ */
5
+ export interface ImageHtmlOptions {
6
+ /**
7
+ * Border and handle color of resize and rotate handle
8
+ */
9
+ borderColor: string;
10
+ /**
11
+ * Background color of the rotate handle
12
+ */
13
+ rotateHandleBackColor: string;
14
+ /**
15
+ * Verify if the area of the image is less than 10000px, if yes, don't insert the side handles
16
+ */
17
+ isSmallImage: boolean;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ImageHtmlOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageHtmlOptions.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/types/ImageHtmlOptions.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * @internal\n * Options for retrieve HTML string for image editing\n */\nexport interface ImageHtmlOptions {\n /**\n * Border and handle color of resize and rotate handle\n */\n borderColor: string;\n\n /**\n * Background color of the rotate handle\n */\n rotateHandleBackColor: string;\n\n /**\n * Verify if the area of the image is less than 10000px, if yes, don't insert the side handles\n */\n isSmallImage: boolean;\n}\n"]}