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.
- package/lib/announce/AnnouncePlugin.d.ts +32 -32
- package/lib/announce/AnnouncePlugin.js +65 -65
- package/lib/announce/AnnouncePlugin.js.map +1 -1
- package/lib/announce/tableSelectionUtils.d.ts +17 -17
- package/lib/announce/tableSelectionUtils.js +68 -71
- package/lib/announce/tableSelectionUtils.js.map +1 -1
- package/lib/autoFormat/AutoFormatPlugin.d.ts +59 -59
- package/lib/autoFormat/AutoFormatPlugin.js +298 -298
- package/lib/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib/autoFormat/horizontalLine/checkAndInsertHorizontalLine.d.ts +24 -24
- package/lib/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js +91 -91
- package/lib/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js.map +1 -1
- package/lib/autoFormat/hyphen/transformHyphen.d.ts +5 -5
- package/lib/autoFormat/hyphen/transformHyphen.js +34 -34
- package/lib/autoFormat/hyphen/transformHyphen.js.map +1 -1
- package/lib/autoFormat/interface/AutoFormatOptions.d.ts +34 -34
- package/lib/autoFormat/interface/AutoFormatOptions.js +2 -2
- package/lib/autoFormat/interface/AutoFormatOptions.js.map +1 -1
- package/lib/autoFormat/link/createLink.d.ts +5 -5
- package/lib/autoFormat/link/createLink.js +35 -35
- package/lib/autoFormat/link/createLink.js.map +1 -1
- package/lib/autoFormat/link/unlink.d.ts +5 -5
- package/lib/autoFormat/link/unlink.js +18 -18
- package/lib/autoFormat/link/unlink.js.map +1 -1
- package/lib/autoFormat/list/convertAlphaToDecimals.d.ts +7 -7
- package/lib/autoFormat/list/convertAlphaToDecimals.js +22 -22
- package/lib/autoFormat/list/convertAlphaToDecimals.js.map +1 -1
- package/lib/autoFormat/list/getIndex.d.ts +4 -4
- package/lib/autoFormat/list/getIndex.js +13 -13
- package/lib/autoFormat/list/getIndex.js.map +1 -1
- package/lib/autoFormat/list/getListTypeStyle.d.ts +14 -14
- package/lib/autoFormat/list/getListTypeStyle.js +99 -99
- package/lib/autoFormat/list/getListTypeStyle.js.map +1 -1
- package/lib/autoFormat/list/getNumberingListStyle.d.ts +4 -4
- package/lib/autoFormat/list/getNumberingListStyle.js +153 -153
- package/lib/autoFormat/list/getNumberingListStyle.js.map +1 -1
- package/lib/autoFormat/list/keyboardListTrigger.d.ts +5 -5
- package/lib/autoFormat/list/keyboardListTrigger.js +49 -49
- package/lib/autoFormat/list/keyboardListTrigger.js.map +1 -1
- package/lib/autoFormat/numbers/transformFraction.d.ts +5 -5
- package/lib/autoFormat/numbers/transformFraction.js +27 -27
- package/lib/autoFormat/numbers/transformFraction.js.map +1 -1
- package/lib/autoFormat/numbers/transformOrdinals.d.ts +4 -4
- package/lib/autoFormat/numbers/transformOrdinals.js +65 -64
- package/lib/autoFormat/numbers/transformOrdinals.js.map +1 -1
- package/lib/contextMenuBase/ContextMenuPluginBase.d.ts +58 -58
- package/lib/contextMenuBase/ContextMenuPluginBase.js +83 -83
- package/lib/contextMenuBase/ContextMenuPluginBase.js.map +1 -1
- package/lib/customReplace/CustomReplacePlugin.d.ts +61 -61
- package/lib/customReplace/CustomReplacePlugin.js +86 -86
- package/lib/customReplace/CustomReplacePlugin.js.map +1 -1
- package/lib/edit/EditOptions.d.ts +78 -45
- package/lib/edit/EditOptions.js +2 -2
- package/lib/edit/EditOptions.js.map +1 -1
- package/lib/edit/EditPlugin.d.ts +60 -60
- package/lib/edit/EditPlugin.js +256 -238
- package/lib/edit/EditPlugin.js.map +1 -1
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.js +23 -23
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib/edit/deleteSteps/deleteCollapsedSelection.d.ts +10 -10
- package/lib/edit/deleteSteps/deleteCollapsedSelection.js +114 -114
- package/lib/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib/edit/deleteSteps/deleteEmptyQuote.d.ts +5 -5
- package/lib/edit/deleteSteps/deleteEmptyQuote.js +62 -62
- package/lib/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
- package/lib/edit/deleteSteps/deleteList.d.ts +5 -5
- package/lib/edit/deleteSteps/deleteList.js +58 -28
- package/lib/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib/edit/deleteSteps/deleteParagraphStyle.d.ts +5 -5
- package/lib/edit/deleteSteps/deleteParagraphStyle.js +36 -36
- package/lib/edit/deleteSteps/deleteParagraphStyle.js.map +1 -1
- package/lib/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
- package/lib/edit/deleteSteps/deleteWordSelection.js +172 -172
- package/lib/edit/deleteSteps/deleteWordSelection.js.map +1 -1
- package/lib/edit/handleKeyboardEventCommon.d.ts +14 -14
- package/lib/edit/handleKeyboardEventCommon.js +71 -71
- package/lib/edit/handleKeyboardEventCommon.js.map +1 -1
- package/lib/edit/inputSteps/handleAutoLink.d.ts +5 -5
- package/lib/edit/inputSteps/handleAutoLink.js +24 -24
- package/lib/edit/inputSteps/handleAutoLink.js.map +1 -1
- package/lib/edit/inputSteps/handleEnterOnList.d.ts +5 -5
- package/lib/edit/inputSteps/handleEnterOnList.js +71 -71
- package/lib/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -5
- package/lib/edit/inputSteps/handleEnterOnParagraph.js +21 -21
- package/lib/edit/inputSteps/handleEnterOnParagraph.js.map +1 -1
- package/lib/edit/keyboardDelete.d.ts +11 -11
- package/lib/edit/keyboardDelete.js +114 -114
- package/lib/edit/keyboardDelete.js.map +1 -1
- package/lib/edit/keyboardEnter.d.ts +5 -5
- package/lib/edit/keyboardEnter.js +54 -54
- package/lib/edit/keyboardEnter.js.map +1 -1
- package/lib/edit/keyboardInput.d.ts +5 -5
- package/lib/edit/keyboardInput.js +64 -64
- package/lib/edit/keyboardInput.js.map +1 -1
- package/lib/edit/keyboardTab.d.ts +6 -5
- package/lib/edit/keyboardTab.js +74 -64
- package/lib/edit/keyboardTab.js.map +1 -1
- package/lib/edit/tabUtils/handleTabOnList.d.ts +7 -7
- package/lib/edit/tabUtils/handleTabOnList.js +33 -33
- package/lib/edit/tabUtils/handleTabOnList.js.map +1 -1
- package/lib/edit/tabUtils/handleTabOnParagraph.d.ts +17 -17
- package/lib/edit/tabUtils/handleTabOnParagraph.js +94 -94
- package/lib/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
- package/lib/edit/tabUtils/handleTabOnTable.d.ts +6 -6
- package/lib/edit/tabUtils/handleTabOnTable.js +25 -25
- package/lib/edit/tabUtils/handleTabOnTable.js.map +1 -1
- package/lib/edit/tabUtils/handleTabOnTableCell.d.ts +6 -6
- package/lib/edit/tabUtils/handleTabOnTableCell.js +43 -43
- package/lib/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
- package/lib/edit/utils/getLeafSiblingBlock.d.ts +45 -45
- package/lib/edit/utils/getLeafSiblingBlock.js +72 -72
- package/lib/edit/utils/getLeafSiblingBlock.js.map +1 -1
- package/lib/edit/utils/preserveParagraphFormat.d.ts +9 -9
- package/lib/edit/utils/preserveParagraphFormat.js +23 -23
- package/lib/edit/utils/preserveParagraphFormat.js.map +1 -1
- package/lib/edit/utils/splitParagraph.d.ts +12 -12
- package/lib/edit/utils/splitParagraph.js +40 -40
- package/lib/edit/utils/splitParagraph.js.map +1 -1
- package/lib/findReplace/FindReplacePlugin.d.ts +42 -42
- package/lib/findReplace/FindReplacePlugin.js +97 -96
- package/lib/findReplace/FindReplacePlugin.js.map +1 -1
- package/lib/findReplace/createFindReplaceContext.d.ts +8 -8
- package/lib/findReplace/createFindReplaceContext.js +25 -25
- package/lib/findReplace/createFindReplaceContext.js.map +1 -1
- package/lib/findReplace/find.d.ts +11 -11
- package/lib/findReplace/find.js +19 -19
- package/lib/findReplace/find.js.map +1 -1
- package/lib/findReplace/moveHighlight.d.ts +9 -9
- package/lib/findReplace/moveHighlight.js +20 -20
- package/lib/findReplace/moveHighlight.js.map +1 -1
- package/lib/findReplace/replace.d.ts +10 -10
- package/lib/findReplace/replace.js +47 -47
- package/lib/findReplace/replace.js.map +1 -1
- package/lib/findReplace/types/FindReplaceContext.d.ts +38 -38
- package/lib/findReplace/types/FindReplaceContext.js +2 -2
- package/lib/findReplace/types/FindReplaceContext.js.map +1 -1
- package/lib/findReplace/types/FindReplaceHighlightOptions.d.ts +13 -13
- package/lib/findReplace/types/FindReplaceHighlightOptions.js +2 -2
- package/lib/findReplace/types/FindReplaceHighlightOptions.js.map +1 -1
- package/lib/findReplace/types/HighlightHelper.d.ts +23 -23
- package/lib/findReplace/types/HighlightHelper.js +2 -2
- package/lib/findReplace/types/HighlightHelper.js.map +1 -1
- package/lib/findReplace/utils/HighlightHelperImpl.d.ts +9 -9
- package/lib/findReplace/utils/HighlightHelperImpl.js +64 -64
- package/lib/findReplace/utils/HighlightHelperImpl.js.map +1 -1
- package/lib/findReplace/utils/constants.d.ts +28 -28
- package/lib/findReplace/utils/constants.js +31 -31
- package/lib/findReplace/utils/constants.js.map +1 -1
- package/lib/findReplace/utils/replaceTextInRange.d.ts +4 -4
- package/lib/findReplace/utils/replaceTextInRange.js +70 -70
- package/lib/findReplace/utils/replaceTextInRange.js.map +1 -1
- package/lib/findReplace/utils/setMarkedIndex.d.ts +6 -6
- package/lib/findReplace/utils/setMarkedIndex.js +28 -28
- package/lib/findReplace/utils/setMarkedIndex.js.map +1 -1
- package/lib/findReplace/utils/sortRanges.d.ts +5 -5
- package/lib/findReplace/utils/sortRanges.js +22 -22
- package/lib/findReplace/utils/sortRanges.js.map +1 -1
- package/lib/findReplace/utils/updateHighlight.d.ts +6 -6
- package/lib/findReplace/utils/updateHighlight.js +47 -47
- package/lib/findReplace/utils/updateHighlight.js.map +1 -1
- package/lib/hiddenProperty/HiddenPropertyOptions.d.ts +11 -11
- package/lib/hiddenProperty/HiddenPropertyOptions.js +2 -2
- package/lib/hiddenProperty/HiddenPropertyOptions.js.map +1 -1
- package/lib/hiddenProperty/HiddenPropertyPlugin.d.ts +38 -38
- package/lib/hiddenProperty/HiddenPropertyPlugin.js +57 -57
- package/lib/hiddenProperty/HiddenPropertyPlugin.js.map +1 -1
- package/lib/hiddenProperty/fixupHiddenProperties.d.ts +9 -9
- package/lib/hiddenProperty/fixupHiddenProperties.js +37 -37
- package/lib/hiddenProperty/fixupHiddenProperties.js.map +1 -1
- package/lib/hyperlink/HyperlinkPlugin.d.ts +48 -48
- package/lib/hyperlink/HyperlinkPlugin.js +143 -143
- package/lib/hyperlink/HyperlinkPlugin.js.map +1 -1
- package/lib/hyperlink/HyperlinkToolTip.d.ts +7 -7
- package/lib/hyperlink/HyperlinkToolTip.js +2 -2
- package/lib/hyperlink/HyperlinkToolTip.js.map +1 -1
- package/lib/imageEdit/Cropper/createImageCropper.d.ts +10 -10
- package/lib/imageEdit/Cropper/createImageCropper.js +79 -79
- package/lib/imageEdit/Cropper/createImageCropper.js.map +1 -1
- package/lib/imageEdit/Cropper/cropperContext.d.ts +8 -8
- package/lib/imageEdit/Cropper/cropperContext.js +72 -72
- package/lib/imageEdit/Cropper/cropperContext.js.map +1 -1
- package/lib/imageEdit/ImageEditPlugin.d.ts +86 -86
- package/lib/imageEdit/ImageEditPlugin.js +584 -585
- package/lib/imageEdit/ImageEditPlugin.js.map +1 -1
- package/lib/imageEdit/Resizer/createImageResizer.d.ts +12 -12
- package/lib/imageEdit/Resizer/createImageResizer.js +88 -88
- package/lib/imageEdit/Resizer/createImageResizer.js.map +1 -1
- package/lib/imageEdit/Resizer/resizerContext.d.ts +8 -8
- package/lib/imageEdit/Resizer/resizerContext.js +60 -60
- package/lib/imageEdit/Resizer/resizerContext.js.map +1 -1
- package/lib/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -4
- package/lib/imageEdit/Resizer/updateSideHandlesVisibility.js +16 -16
- package/lib/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -1
- package/lib/imageEdit/Rotator/createImageRotator.d.ts +6 -6
- package/lib/imageEdit/Rotator/createImageRotator.js +75 -75
- package/lib/imageEdit/Rotator/createImageRotator.js.map +1 -1
- package/lib/imageEdit/Rotator/rotatorContext.d.ts +8 -8
- package/lib/imageEdit/Rotator/rotatorContext.js +35 -35
- package/lib/imageEdit/Rotator/rotatorContext.js.map +1 -1
- package/lib/imageEdit/Rotator/updateRotateHandle.d.ts +7 -7
- package/lib/imageEdit/Rotator/updateRotateHandle.js +55 -55
- package/lib/imageEdit/Rotator/updateRotateHandle.js.map +1 -1
- package/lib/imageEdit/constants/constants.d.ts +77 -77
- package/lib/imageEdit/constants/constants.js +84 -84
- package/lib/imageEdit/constants/constants.js.map +1 -1
- package/lib/imageEdit/types/DragAndDropContext.d.ts +39 -39
- package/lib/imageEdit/types/DragAndDropContext.js +2 -2
- package/lib/imageEdit/types/DragAndDropContext.js.map +1 -1
- package/lib/imageEdit/types/GeneratedImageSize.d.ts +33 -33
- package/lib/imageEdit/types/GeneratedImageSize.js +2 -2
- package/lib/imageEdit/types/GeneratedImageSize.js.map +1 -1
- package/lib/imageEdit/types/ImageAndParagraph.d.ts +8 -8
- package/lib/imageEdit/types/ImageAndParagraph.js +2 -2
- package/lib/imageEdit/types/ImageAndParagraph.js.map +1 -1
- package/lib/imageEdit/types/ImageEditElementClass.d.ts +30 -30
- package/lib/imageEdit/types/ImageEditElementClass.js +34 -34
- package/lib/imageEdit/types/ImageEditElementClass.js.map +1 -1
- package/lib/imageEdit/types/ImageEditOptions.d.ts +55 -55
- package/lib/imageEdit/types/ImageEditOptions.js +2 -2
- package/lib/imageEdit/types/ImageEditOptions.js.map +1 -1
- package/lib/imageEdit/types/ImageHtmlOptions.d.ts +22 -22
- package/lib/imageEdit/types/ImageHtmlOptions.js +2 -2
- package/lib/imageEdit/types/ImageHtmlOptions.js.map +1 -1
- package/lib/imageEdit/utils/applyChange.d.ts +13 -13
- package/lib/imageEdit/utils/applyChange.js +72 -72
- package/lib/imageEdit/utils/applyChange.js.map +1 -1
- package/lib/imageEdit/utils/canRegenerateImage.d.ts +8 -8
- package/lib/imageEdit/utils/canRegenerateImage.js +31 -31
- package/lib/imageEdit/utils/canRegenerateImage.js.map +1 -1
- package/lib/imageEdit/utils/checkEditInfoState.d.ts +41 -41
- package/lib/imageEdit/utils/checkEditInfoState.js +52 -52
- package/lib/imageEdit/utils/checkEditInfoState.js.map +1 -1
- package/lib/imageEdit/utils/createImageWrapper.d.ts +18 -18
- package/lib/imageEdit/utils/createImageWrapper.js +91 -91
- package/lib/imageEdit/utils/createImageWrapper.js.map +1 -1
- package/lib/imageEdit/utils/doubleCheckResize.d.ts +12 -12
- package/lib/imageEdit/utils/doubleCheckResize.js +35 -35
- package/lib/imageEdit/utils/doubleCheckResize.js.map +1 -1
- package/lib/imageEdit/utils/filterInnerResizerHandles.d.ts +4 -4
- package/lib/imageEdit/utils/filterInnerResizerHandles.js +19 -19
- package/lib/imageEdit/utils/filterInnerResizerHandles.js.map +1 -1
- package/lib/imageEdit/utils/findEditingImage.d.ts +10 -10
- package/lib/imageEdit/utils/findEditingImage.js +39 -39
- package/lib/imageEdit/utils/findEditingImage.js.map +1 -1
- package/lib/imageEdit/utils/generateDataURL.d.ts +13 -13
- package/lib/imageEdit/utils/generateDataURL.js +56 -49
- package/lib/imageEdit/utils/generateDataURL.js.map +1 -1
- package/lib/imageEdit/utils/generateImageSize.d.ts +15 -15
- package/lib/imageEdit/utils/generateImageSize.js +45 -45
- package/lib/imageEdit/utils/generateImageSize.js.map +1 -1
- package/lib/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -10
- package/lib/imageEdit/utils/getDropAndDragHelpers.js +23 -23
- package/lib/imageEdit/utils/getDropAndDragHelpers.js.map +1 -1
- package/lib/imageEdit/utils/getHTMLImageOptions.d.ts +7 -7
- package/lib/imageEdit/utils/getHTMLImageOptions.js +22 -22
- package/lib/imageEdit/utils/getHTMLImageOptions.js.map +1 -1
- package/lib/imageEdit/utils/getSelectedImage.d.ts +6 -6
- package/lib/imageEdit/utils/getSelectedImage.js +20 -20
- package/lib/imageEdit/utils/getSelectedImage.js.map +1 -1
- package/lib/imageEdit/utils/imageEditUtils.d.ts +47 -47
- package/lib/imageEdit/utils/imageEditUtils.js +115 -115
- package/lib/imageEdit/utils/imageEditUtils.js.map +1 -1
- package/lib/imageEdit/utils/normalizeImageSelection.d.ts +9 -9
- package/lib/imageEdit/utils/normalizeImageSelection.js +31 -31
- package/lib/imageEdit/utils/normalizeImageSelection.js.map +1 -1
- package/lib/imageEdit/utils/updateHandleCursor.d.ts +7 -7
- package/lib/imageEdit/utils/updateHandleCursor.js +33 -33
- package/lib/imageEdit/utils/updateHandleCursor.js.map +1 -1
- package/lib/imageEdit/utils/updateImageEditInfo.d.ts +10 -10
- package/lib/imageEdit/utils/updateImageEditInfo.js +52 -52
- package/lib/imageEdit/utils/updateImageEditInfo.js.map +1 -1
- package/lib/imageEdit/utils/updateWrapper.d.ts +6 -6
- package/lib/imageEdit/utils/updateWrapper.js +86 -86
- package/lib/imageEdit/utils/updateWrapper.js.map +1 -1
- package/lib/index.d.ts +38 -38
- package/lib/index.js +63 -63
- package/lib/index.js.map +1 -1
- package/lib/markdown/MarkdownPlugin.d.ts +64 -64
- package/lib/markdown/MarkdownPlugin.js +195 -195
- package/lib/markdown/MarkdownPlugin.js.map +1 -1
- package/lib/markdown/utils/setFormat.d.ts +5 -5
- package/lib/markdown/utils/setFormat.js +46 -46
- package/lib/markdown/utils/setFormat.js.map +1 -1
- package/lib/paste/DefaultSanitizers.d.ts +10 -10
- package/lib/paste/DefaultSanitizers.js +24 -24
- package/lib/paste/DefaultSanitizers.js.map +1 -1
- package/lib/paste/Excel/processPastedContentFromExcel.d.ts +30 -30
- package/lib/paste/Excel/processPastedContentFromExcel.js +140 -140
- package/lib/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib/paste/PastePlugin.d.ts +44 -44
- package/lib/paste/PastePlugin.js +146 -138
- package/lib/paste/PastePlugin.js.map +1 -1
- package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
- package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js +146 -146
- package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
- package/lib/paste/WacComponents/constants.d.ts +52 -52
- package/lib/paste/WacComponents/constants.js +66 -66
- package/lib/paste/WacComponents/constants.js.map +1 -1
- package/lib/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
- package/lib/paste/WacComponents/processPastedContentWacComponents.js +190 -190
- package/lib/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
- package/lib/paste/WordDesktop/WordMetadata.d.ts +9 -9
- package/lib/paste/WordDesktop/WordMetadata.js +2 -2
- package/lib/paste/WordDesktop/WordMetadata.js.map +1 -1
- package/lib/paste/WordDesktop/getStyleMetadata.d.ts +22 -23
- package/lib/paste/WordDesktop/getStyleMetadata.js +110 -107
- package/lib/paste/WordDesktop/getStyleMetadata.js.map +1 -1
- package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +8 -7
- package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js +41 -38
- package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
- package/lib/paste/WordDesktop/processWordComments.d.ts +7 -7
- package/lib/paste/WordDesktop/processWordComments.js +21 -21
- package/lib/paste/WordDesktop/processWordComments.js.map +1 -1
- package/lib/paste/WordDesktop/processWordLists.d.ts +11 -11
- package/lib/paste/WordDesktop/processWordLists.js +204 -204
- package/lib/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib/paste/oneNote/processPastedContentFromOneNote.d.ts +50 -50
- package/lib/paste/oneNote/processPastedContentFromOneNote.js +113 -113
- package/lib/paste/oneNote/processPastedContentFromOneNote.js.map +1 -1
- package/lib/paste/parsers/adjustPercentileLineHeightParser.d.ts +8 -8
- package/lib/paste/parsers/adjustPercentileLineHeightParser.js +25 -25
- package/lib/paste/parsers/adjustPercentileLineHeightParser.js.map +1 -1
- package/lib/paste/parsers/blockElementParser.d.ts +7 -7
- package/lib/paste/parsers/blockElementParser.js +14 -14
- package/lib/paste/parsers/blockElementParser.js.map +1 -1
- package/lib/paste/parsers/deprecatedColorParser.d.ts +5 -5
- package/lib/paste/parsers/deprecatedColorParser.js +19 -19
- package/lib/paste/parsers/deprecatedColorParser.js.map +1 -1
- package/lib/paste/parsers/imageSizeParser.d.ts +6 -6
- package/lib/paste/parsers/imageSizeParser.js +23 -23
- package/lib/paste/parsers/imageSizeParser.js.map +1 -1
- package/lib/paste/parsers/linkParser.d.ts +5 -5
- package/lib/paste/parsers/linkParser.js +27 -27
- package/lib/paste/parsers/linkParser.js.map +1 -1
- package/lib/paste/parsers/listLevelParser.d.ts +10 -10
- package/lib/paste/parsers/listLevelParser.js +18 -18
- package/lib/paste/parsers/listLevelParser.js.map +1 -1
- package/lib/paste/parsers/removeNegativeTextIndentParser.d.ts +5 -5
- package/lib/paste/parsers/removeNegativeTextIndentParser.js +13 -13
- package/lib/paste/parsers/removeNegativeTextIndentParser.js.map +1 -1
- package/lib/paste/parsers/tableBorderParser.d.ts +5 -5
- package/lib/paste/parsers/tableBorderParser.js +27 -27
- package/lib/paste/parsers/tableBorderParser.js.map +1 -1
- package/lib/paste/parsers/wordContainerParser.d.ts +8 -0
- package/lib/paste/parsers/wordContainerParser.js +17 -0
- package/lib/paste/parsers/wordContainerParser.js.map +1 -0
- package/lib/paste/parsers/wordTableParser.d.ts +8 -8
- package/lib/paste/parsers/wordTableParser.js +19 -19
- package/lib/paste/parsers/wordTableParser.js.map +1 -1
- package/lib/paste/pasteSourceValidations/constants.d.ts +17 -17
- package/lib/paste/pasteSourceValidations/constants.js +20 -20
- package/lib/paste/pasteSourceValidations/constants.js.map +1 -1
- package/lib/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
- package/lib/paste/pasteSourceValidations/documentContainWacElements.js +15 -15
- package/lib/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
- package/lib/paste/pasteSourceValidations/getDocumentSource.d.ts +52 -0
- package/lib/paste/pasteSourceValidations/{getPasteSource.js → getDocumentSource.js} +41 -49
- package/lib/paste/pasteSourceValidations/getDocumentSource.js.map +1 -0
- package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
- package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.js +17 -17
- package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
- package/lib/paste/pasteSourceValidations/isExcelNonNativeEvent.d.ts +7 -7
- package/lib/paste/pasteSourceValidations/isExcelNonNativeEvent.js +17 -17
- package/lib/paste/pasteSourceValidations/isExcelNonNativeEvent.js.map +1 -1
- package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
- package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.js +19 -19
- package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
- package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
- package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.js +15 -15
- package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
- package/lib/paste/pasteSourceValidations/isOneNoteDocument.d.ts +8 -8
- package/lib/paste/pasteSourceValidations/isOneNoteDocument.js +17 -17
- package/lib/paste/pasteSourceValidations/isOneNoteDocument.js.map +1 -1
- package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
- package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +15 -15
- package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
- package/lib/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
- package/lib/paste/pasteSourceValidations/isWordDesktopDocument.js +24 -24
- package/lib/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
- package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
- package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js +17 -18
- package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
- package/lib/paste/processors/pasteButtonProcessor.d.ts +7 -7
- package/lib/paste/processors/pasteButtonProcessor.js +35 -35
- package/lib/paste/processors/pasteButtonProcessor.js.map +1 -1
- package/lib/paste/utils/addParser.d.ts +5 -5
- package/lib/paste/utils/addParser.js +17 -17
- package/lib/paste/utils/addParser.js.map +1 -1
- package/lib/paste/utils/chainSanitizerCallback.d.ts +9 -9
- package/lib/paste/utils/chainSanitizerCallback.js +35 -35
- package/lib/paste/utils/chainSanitizerCallback.js.map +1 -1
- package/lib/paste/utils/customListUtils.d.ts +9 -9
- package/lib/paste/utils/customListUtils.js +67 -67
- package/lib/paste/utils/customListUtils.js.map +1 -1
- package/lib/paste/utils/getStyles.d.ts +6 -6
- package/lib/paste/utils/getStyles.js +22 -22
- package/lib/paste/utils/getStyles.js.map +1 -1
- package/lib/paste/utils/setProcessor.d.ts +5 -5
- package/lib/paste/utils/setProcessor.js +13 -13
- package/lib/paste/utils/setProcessor.js.map +1 -1
- package/lib/picker/PickerHandler.d.ts +112 -112
- package/lib/picker/PickerHandler.js +2 -2
- package/lib/picker/PickerHandler.js.map +1 -1
- package/lib/picker/PickerHelper.d.ts +22 -22
- package/lib/picker/PickerHelper.js +2 -2
- package/lib/picker/PickerHelper.js.map +1 -1
- package/lib/picker/PickerHelperImpl.d.ts +25 -25
- package/lib/picker/PickerHelperImpl.js +53 -53
- package/lib/picker/PickerHelperImpl.js.map +1 -1
- package/lib/picker/PickerPlugin.d.ts +54 -54
- package/lib/picker/PickerPlugin.js +216 -216
- package/lib/picker/PickerPlugin.js.map +1 -1
- package/lib/picker/getQueryString.d.ts +5 -5
- package/lib/picker/getQueryString.js +35 -35
- package/lib/picker/getQueryString.js.map +1 -1
- package/lib/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
- package/lib/pluginUtils/CreateElement/CreateElementData.js +2 -2
- package/lib/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
- package/lib/pluginUtils/CreateElement/createElement.d.ts +9 -9
- package/lib/pluginUtils/CreateElement/createElement.js +51 -51
- package/lib/pluginUtils/CreateElement/createElement.js.map +1 -1
- package/lib/pluginUtils/Disposable.d.ts +10 -10
- package/lib/pluginUtils/Disposable.js +2 -2
- package/lib/pluginUtils/Disposable.js.map +1 -1
- package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
- package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.js +2 -2
- package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
- package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
- package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.js +120 -120
- package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
- package/lib/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
- package/lib/pluginUtils/Rect/getIntersectedRect.js +45 -45
- package/lib/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
- package/lib/shortcut/ShortcutCommand.d.ts +44 -44
- package/lib/shortcut/ShortcutCommand.js +2 -2
- package/lib/shortcut/ShortcutCommand.js.map +1 -1
- package/lib/shortcut/ShortcutPlugin.d.ts +51 -51
- package/lib/shortcut/ShortcutPlugin.js +125 -125
- package/lib/shortcut/ShortcutPlugin.js.map +1 -1
- package/lib/shortcut/shortcuts.d.ts +92 -92
- package/lib/shortcut/shortcuts.js +238 -238
- package/lib/shortcut/shortcuts.js.map +1 -1
- package/lib/shortcut/utils/setShortcutIndentationCommand.d.ts +5 -5
- package/lib/shortcut/utils/setShortcutIndentationCommand.js +21 -21
- package/lib/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
- package/lib/tableEdit/OnTableEditorCreatedCallback.d.ts +5 -5
- package/lib/tableEdit/OnTableEditorCreatedCallback.js +2 -2
- package/lib/tableEdit/OnTableEditorCreatedCallback.js.map +1 -1
- package/lib/tableEdit/TableEditPlugin.d.ts +56 -56
- package/lib/tableEdit/TableEditPlugin.js +171 -171
- package/lib/tableEdit/TableEditPlugin.js.map +1 -1
- package/lib/tableEdit/TableWithRoot.d.ts +15 -15
- package/lib/tableEdit/TableWithRoot.js +2 -2
- package/lib/tableEdit/TableWithRoot.js.map +1 -1
- package/lib/tableEdit/editors/TableEditor.d.ts +90 -86
- package/lib/tableEdit/editors/TableEditor.js +378 -341
- package/lib/tableEdit/editors/TableEditor.js.map +1 -1
- package/lib/tableEdit/editors/features/CellResizer.d.ts +55 -54
- package/lib/tableEdit/editors/features/CellResizer.js +246 -210
- package/lib/tableEdit/editors/features/CellResizer.js.map +1 -1
- package/lib/tableEdit/editors/features/TableEditFeature.d.ts +13 -13
- package/lib/tableEdit/editors/features/TableEditFeature.js +16 -16
- package/lib/tableEdit/editors/features/TableEditFeature.js.map +1 -1
- package/lib/tableEdit/editors/features/TableEditFeatureName.d.ts +4 -4
- package/lib/tableEdit/editors/features/TableEditFeatureName.js +2 -2
- package/lib/tableEdit/editors/features/TableEditFeatureName.js.map +1 -1
- package/lib/tableEdit/editors/features/TableInserter.d.ts +33 -33
- package/lib/tableEdit/editors/features/TableInserter.js +125 -125
- package/lib/tableEdit/editors/features/TableInserter.js.map +1 -1
- package/lib/tableEdit/editors/features/TableMover.d.ts +53 -53
- package/lib/tableEdit/editors/features/TableMover.js +234 -234
- package/lib/tableEdit/editors/features/TableMover.js.map +1 -1
- package/lib/tableEdit/editors/features/TableResizer.d.ts +50 -50
- package/lib/tableEdit/editors/features/TableResizer.js +190 -190
- package/lib/tableEdit/editors/features/TableResizer.js.map +1 -1
- package/lib/tableEdit/editors/features/TableRowColumnSelector.d.ts +42 -0
- package/lib/tableEdit/editors/features/TableRowColumnSelector.js +223 -0
- package/lib/tableEdit/editors/features/TableRowColumnSelector.js.map +1 -0
- package/lib/tableEdit/editors/utils/getTableFromContentModel.d.ts +6 -6
- package/lib/tableEdit/editors/utils/getTableFromContentModel.js +20 -19
- package/lib/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
- package/lib/touch/TouchPlugin.d.ts +32 -32
- package/lib/touch/TouchPlugin.js +211 -209
- package/lib/touch/TouchPlugin.js.map +1 -1
- package/lib/utils/getNodePositionFromEvent.d.ts +5 -5
- package/lib/utils/getNodePositionFromEvent.js +33 -33
- package/lib/utils/getNodePositionFromEvent.js.map +1 -1
- package/lib/watermark/WatermarkFormat.d.ts +5 -5
- package/lib/watermark/WatermarkFormat.js +2 -2
- package/lib/watermark/WatermarkFormat.js.map +1 -1
- package/lib/watermark/WatermarkPlugin.d.ts +42 -42
- package/lib/watermark/WatermarkPlugin.js +137 -137
- package/lib/watermark/WatermarkPlugin.js.map +1 -1
- package/lib/watermark/isModelEmptyFast.d.ts +5 -5
- package/lib/watermark/isModelEmptyFast.js +37 -37
- package/lib/watermark/isModelEmptyFast.js.map +1 -1
- package/lib-amd/announce/AnnouncePlugin.d.ts +32 -32
- package/lib-amd/announce/AnnouncePlugin.js +66 -66
- package/lib-amd/announce/AnnouncePlugin.js.map +1 -1
- package/lib-amd/announce/tableSelectionUtils.d.ts +17 -17
- package/lib-amd/announce/tableSelectionUtils.js +70 -73
- package/lib-amd/announce/tableSelectionUtils.js.map +1 -1
- package/lib-amd/autoFormat/AutoFormatPlugin.d.ts +59 -59
- package/lib-amd/autoFormat/AutoFormatPlugin.js +289 -289
- package/lib-amd/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib-amd/autoFormat/horizontalLine/checkAndInsertHorizontalLine.d.ts +24 -24
- package/lib-amd/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js +91 -91
- package/lib-amd/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js.map +1 -1
- package/lib-amd/autoFormat/hyphen/transformHyphen.d.ts +5 -5
- package/lib-amd/autoFormat/hyphen/transformHyphen.js +35 -35
- package/lib-amd/autoFormat/hyphen/transformHyphen.js.map +1 -1
- package/lib-amd/autoFormat/interface/AutoFormatOptions.d.ts +34 -34
- package/lib-amd/autoFormat/interface/AutoFormatOptions.js +4 -4
- package/lib-amd/autoFormat/interface/AutoFormatOptions.js.map +1 -1
- package/lib-amd/autoFormat/link/createLink.d.ts +5 -5
- package/lib-amd/autoFormat/link/createLink.js +35 -35
- package/lib-amd/autoFormat/link/createLink.js.map +1 -1
- package/lib-amd/autoFormat/link/unlink.d.ts +5 -5
- package/lib-amd/autoFormat/link/unlink.js +19 -19
- package/lib-amd/autoFormat/link/unlink.js.map +1 -1
- package/lib-amd/autoFormat/list/convertAlphaToDecimals.d.ts +7 -7
- package/lib-amd/autoFormat/list/convertAlphaToDecimals.js +24 -24
- package/lib-amd/autoFormat/list/convertAlphaToDecimals.js.map +1 -1
- package/lib-amd/autoFormat/list/getIndex.d.ts +4 -4
- package/lib-amd/autoFormat/list/getIndex.js +14 -14
- package/lib-amd/autoFormat/list/getIndex.js.map +1 -1
- package/lib-amd/autoFormat/list/getListTypeStyle.d.ts +14 -14
- package/lib-amd/autoFormat/list/getListTypeStyle.js +98 -98
- package/lib-amd/autoFormat/list/getListTypeStyle.js.map +1 -1
- package/lib-amd/autoFormat/list/getNumberingListStyle.d.ts +4 -4
- package/lib-amd/autoFormat/list/getNumberingListStyle.js +153 -153
- package/lib-amd/autoFormat/list/getNumberingListStyle.js.map +1 -1
- package/lib-amd/autoFormat/list/keyboardListTrigger.d.ts +5 -5
- package/lib-amd/autoFormat/list/keyboardListTrigger.js +47 -47
- package/lib-amd/autoFormat/list/keyboardListTrigger.js.map +1 -1
- package/lib-amd/autoFormat/numbers/transformFraction.d.ts +5 -5
- package/lib-amd/autoFormat/numbers/transformFraction.js +28 -28
- package/lib-amd/autoFormat/numbers/transformFraction.js.map +1 -1
- package/lib-amd/autoFormat/numbers/transformOrdinals.d.ts +4 -4
- package/lib-amd/autoFormat/numbers/transformOrdinals.js +66 -65
- package/lib-amd/autoFormat/numbers/transformOrdinals.js.map +1 -1
- package/lib-amd/contextMenuBase/ContextMenuPluginBase.d.ts +58 -58
- package/lib-amd/contextMenuBase/ContextMenuPluginBase.js +85 -85
- package/lib-amd/contextMenuBase/ContextMenuPluginBase.js.map +1 -1
- package/lib-amd/customReplace/CustomReplacePlugin.d.ts +61 -61
- package/lib-amd/customReplace/CustomReplacePlugin.js +87 -87
- package/lib-amd/customReplace/CustomReplacePlugin.js.map +1 -1
- package/lib-amd/edit/EditOptions.d.ts +78 -45
- package/lib-amd/edit/EditOptions.js +4 -4
- package/lib-amd/edit/EditOptions.js.map +1 -1
- package/lib-amd/edit/EditPlugin.d.ts +60 -60
- package/lib-amd/edit/EditPlugin.js +252 -234
- package/lib-amd/edit/EditPlugin.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
- package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js +24 -24
- package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.d.ts +10 -10
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js +112 -112
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteEmptyQuote.d.ts +5 -5
- package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js +62 -62
- package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteList.d.ts +5 -5
- package/lib-amd/edit/deleteSteps/deleteList.js +58 -29
- package/lib-amd/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteParagraphStyle.d.ts +5 -5
- package/lib-amd/edit/deleteSteps/deleteParagraphStyle.js +37 -37
- package/lib-amd/edit/deleteSteps/deleteParagraphStyle.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
- package/lib-amd/edit/deleteSteps/deleteWordSelection.js +172 -172
- package/lib-amd/edit/deleteSteps/deleteWordSelection.js.map +1 -1
- package/lib-amd/edit/handleKeyboardEventCommon.d.ts +14 -14
- package/lib-amd/edit/handleKeyboardEventCommon.js +72 -72
- package/lib-amd/edit/handleKeyboardEventCommon.js.map +1 -1
- package/lib-amd/edit/inputSteps/handleAutoLink.d.ts +5 -5
- package/lib-amd/edit/inputSteps/handleAutoLink.js +25 -25
- package/lib-amd/edit/inputSteps/handleAutoLink.js.map +1 -1
- package/lib-amd/edit/inputSteps/handleEnterOnList.d.ts +5 -5
- package/lib-amd/edit/inputSteps/handleEnterOnList.js +69 -69
- package/lib-amd/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib-amd/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -5
- package/lib-amd/edit/inputSteps/handleEnterOnParagraph.js +21 -21
- package/lib-amd/edit/inputSteps/handleEnterOnParagraph.js.map +1 -1
- package/lib-amd/edit/keyboardDelete.d.ts +11 -11
- package/lib-amd/edit/keyboardDelete.js +108 -108
- package/lib-amd/edit/keyboardDelete.js.map +1 -1
- package/lib-amd/edit/keyboardEnter.d.ts +5 -5
- package/lib-amd/edit/keyboardEnter.js +51 -51
- package/lib-amd/edit/keyboardEnter.js.map +1 -1
- package/lib-amd/edit/keyboardInput.d.ts +5 -5
- package/lib-amd/edit/keyboardInput.js +65 -65
- package/lib-amd/edit/keyboardInput.js.map +1 -1
- package/lib-amd/edit/keyboardTab.d.ts +6 -5
- package/lib-amd/edit/keyboardTab.js +70 -60
- package/lib-amd/edit/keyboardTab.js.map +1 -1
- package/lib-amd/edit/tabUtils/handleTabOnList.d.ts +7 -7
- package/lib-amd/edit/tabUtils/handleTabOnList.js +33 -33
- package/lib-amd/edit/tabUtils/handleTabOnList.js.map +1 -1
- package/lib-amd/edit/tabUtils/handleTabOnParagraph.d.ts +17 -17
- package/lib-amd/edit/tabUtils/handleTabOnParagraph.js +94 -94
- package/lib-amd/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
- package/lib-amd/edit/tabUtils/handleTabOnTable.d.ts +6 -6
- package/lib-amd/edit/tabUtils/handleTabOnTable.js +25 -25
- package/lib-amd/edit/tabUtils/handleTabOnTable.js.map +1 -1
- package/lib-amd/edit/tabUtils/handleTabOnTableCell.d.ts +6 -6
- package/lib-amd/edit/tabUtils/handleTabOnTableCell.js +43 -43
- package/lib-amd/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
- package/lib-amd/edit/utils/getLeafSiblingBlock.d.ts +45 -45
- package/lib-amd/edit/utils/getLeafSiblingBlock.js +72 -72
- package/lib-amd/edit/utils/getLeafSiblingBlock.js.map +1 -1
- package/lib-amd/edit/utils/preserveParagraphFormat.d.ts +9 -9
- package/lib-amd/edit/utils/preserveParagraphFormat.js +25 -25
- package/lib-amd/edit/utils/preserveParagraphFormat.js.map +1 -1
- package/lib-amd/edit/utils/splitParagraph.d.ts +12 -12
- package/lib-amd/edit/utils/splitParagraph.js +39 -39
- package/lib-amd/edit/utils/splitParagraph.js.map +1 -1
- package/lib-amd/findReplace/FindReplacePlugin.d.ts +42 -42
- package/lib-amd/findReplace/FindReplacePlugin.js +96 -95
- package/lib-amd/findReplace/FindReplacePlugin.js.map +1 -1
- package/lib-amd/findReplace/createFindReplaceContext.d.ts +8 -8
- package/lib-amd/findReplace/createFindReplaceContext.js +25 -25
- package/lib-amd/findReplace/createFindReplaceContext.js.map +1 -1
- package/lib-amd/findReplace/find.d.ts +11 -11
- package/lib-amd/findReplace/find.js +20 -20
- package/lib-amd/findReplace/find.js.map +1 -1
- package/lib-amd/findReplace/moveHighlight.d.ts +9 -9
- package/lib-amd/findReplace/moveHighlight.js +21 -21
- package/lib-amd/findReplace/moveHighlight.js.map +1 -1
- package/lib-amd/findReplace/replace.d.ts +10 -10
- package/lib-amd/findReplace/replace.js +46 -46
- package/lib-amd/findReplace/replace.js.map +1 -1
- package/lib-amd/findReplace/types/FindReplaceContext.d.ts +38 -38
- package/lib-amd/findReplace/types/FindReplaceContext.js +4 -4
- package/lib-amd/findReplace/types/FindReplaceContext.js.map +1 -1
- package/lib-amd/findReplace/types/FindReplaceHighlightOptions.d.ts +13 -13
- package/lib-amd/findReplace/types/FindReplaceHighlightOptions.js +4 -4
- package/lib-amd/findReplace/types/FindReplaceHighlightOptions.js.map +1 -1
- package/lib-amd/findReplace/types/HighlightHelper.d.ts +23 -23
- package/lib-amd/findReplace/types/HighlightHelper.js +4 -4
- package/lib-amd/findReplace/types/HighlightHelper.js.map +1 -1
- package/lib-amd/findReplace/utils/HighlightHelperImpl.d.ts +9 -9
- package/lib-amd/findReplace/utils/HighlightHelperImpl.js +65 -65
- package/lib-amd/findReplace/utils/HighlightHelperImpl.js.map +1 -1
- package/lib-amd/findReplace/utils/constants.d.ts +28 -28
- package/lib-amd/findReplace/utils/constants.js +33 -33
- package/lib-amd/findReplace/utils/constants.js.map +1 -1
- package/lib-amd/findReplace/utils/replaceTextInRange.d.ts +4 -4
- package/lib-amd/findReplace/utils/replaceTextInRange.js +71 -71
- package/lib-amd/findReplace/utils/replaceTextInRange.js.map +1 -1
- package/lib-amd/findReplace/utils/setMarkedIndex.d.ts +6 -6
- package/lib-amd/findReplace/utils/setMarkedIndex.js +29 -29
- package/lib-amd/findReplace/utils/setMarkedIndex.js.map +1 -1
- package/lib-amd/findReplace/utils/sortRanges.d.ts +5 -5
- package/lib-amd/findReplace/utils/sortRanges.js +24 -24
- package/lib-amd/findReplace/utils/sortRanges.js.map +1 -1
- package/lib-amd/findReplace/utils/updateHighlight.d.ts +6 -6
- package/lib-amd/findReplace/utils/updateHighlight.js +45 -45
- package/lib-amd/findReplace/utils/updateHighlight.js.map +1 -1
- package/lib-amd/hiddenProperty/HiddenPropertyOptions.d.ts +11 -11
- package/lib-amd/hiddenProperty/HiddenPropertyOptions.js +4 -4
- package/lib-amd/hiddenProperty/HiddenPropertyOptions.js.map +1 -1
- package/lib-amd/hiddenProperty/HiddenPropertyPlugin.d.ts +38 -38
- package/lib-amd/hiddenProperty/HiddenPropertyPlugin.js +57 -57
- package/lib-amd/hiddenProperty/HiddenPropertyPlugin.js.map +1 -1
- package/lib-amd/hiddenProperty/fixupHiddenProperties.d.ts +9 -9
- package/lib-amd/hiddenProperty/fixupHiddenProperties.js +37 -37
- package/lib-amd/hiddenProperty/fixupHiddenProperties.js.map +1 -1
- package/lib-amd/hyperlink/HyperlinkPlugin.d.ts +48 -48
- package/lib-amd/hyperlink/HyperlinkPlugin.js +144 -144
- package/lib-amd/hyperlink/HyperlinkPlugin.js.map +1 -1
- package/lib-amd/hyperlink/HyperlinkToolTip.d.ts +7 -7
- package/lib-amd/hyperlink/HyperlinkToolTip.js +4 -4
- package/lib-amd/hyperlink/HyperlinkToolTip.js.map +1 -1
- package/lib-amd/imageEdit/Cropper/createImageCropper.d.ts +10 -10
- package/lib-amd/imageEdit/Cropper/createImageCropper.js +77 -77
- package/lib-amd/imageEdit/Cropper/createImageCropper.js.map +1 -1
- package/lib-amd/imageEdit/Cropper/cropperContext.d.ts +8 -8
- package/lib-amd/imageEdit/Cropper/cropperContext.js +72 -72
- package/lib-amd/imageEdit/Cropper/cropperContext.js.map +1 -1
- package/lib-amd/imageEdit/ImageEditPlugin.d.ts +86 -86
- package/lib-amd/imageEdit/ImageEditPlugin.js +566 -567
- package/lib-amd/imageEdit/ImageEditPlugin.js.map +1 -1
- package/lib-amd/imageEdit/Resizer/createImageResizer.d.ts +12 -12
- package/lib-amd/imageEdit/Resizer/createImageResizer.js +86 -86
- package/lib-amd/imageEdit/Resizer/createImageResizer.js.map +1 -1
- package/lib-amd/imageEdit/Resizer/resizerContext.d.ts +8 -8
- package/lib-amd/imageEdit/Resizer/resizerContext.js +60 -60
- package/lib-amd/imageEdit/Resizer/resizerContext.js.map +1 -1
- package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -4
- package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.js +18 -18
- package/lib-amd/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -1
- package/lib-amd/imageEdit/Rotator/createImageRotator.d.ts +6 -6
- package/lib-amd/imageEdit/Rotator/createImageRotator.js +73 -73
- package/lib-amd/imageEdit/Rotator/createImageRotator.js.map +1 -1
- package/lib-amd/imageEdit/Rotator/rotatorContext.d.ts +8 -8
- package/lib-amd/imageEdit/Rotator/rotatorContext.js +35 -35
- package/lib-amd/imageEdit/Rotator/rotatorContext.js.map +1 -1
- package/lib-amd/imageEdit/Rotator/updateRotateHandle.d.ts +7 -7
- package/lib-amd/imageEdit/Rotator/updateRotateHandle.js +56 -56
- package/lib-amd/imageEdit/Rotator/updateRotateHandle.js.map +1 -1
- package/lib-amd/imageEdit/constants/constants.d.ts +77 -77
- package/lib-amd/imageEdit/constants/constants.js +86 -86
- package/lib-amd/imageEdit/constants/constants.js.map +1 -1
- package/lib-amd/imageEdit/types/DragAndDropContext.d.ts +39 -39
- package/lib-amd/imageEdit/types/DragAndDropContext.js +4 -4
- package/lib-amd/imageEdit/types/DragAndDropContext.js.map +1 -1
- package/lib-amd/imageEdit/types/GeneratedImageSize.d.ts +33 -33
- package/lib-amd/imageEdit/types/GeneratedImageSize.js +4 -4
- package/lib-amd/imageEdit/types/GeneratedImageSize.js.map +1 -1
- package/lib-amd/imageEdit/types/ImageAndParagraph.d.ts +8 -8
- package/lib-amd/imageEdit/types/ImageAndParagraph.js +4 -4
- package/lib-amd/imageEdit/types/ImageAndParagraph.js.map +1 -1
- package/lib-amd/imageEdit/types/ImageEditElementClass.d.ts +30 -30
- package/lib-amd/imageEdit/types/ImageEditElementClass.js +36 -36
- package/lib-amd/imageEdit/types/ImageEditElementClass.js.map +1 -1
- package/lib-amd/imageEdit/types/ImageEditOptions.d.ts +55 -55
- package/lib-amd/imageEdit/types/ImageEditOptions.js +4 -4
- package/lib-amd/imageEdit/types/ImageEditOptions.js.map +1 -1
- package/lib-amd/imageEdit/types/ImageHtmlOptions.d.ts +22 -22
- package/lib-amd/imageEdit/types/ImageHtmlOptions.js +4 -4
- package/lib-amd/imageEdit/types/ImageHtmlOptions.js.map +1 -1
- package/lib-amd/imageEdit/utils/applyChange.d.ts +13 -13
- package/lib-amd/imageEdit/utils/applyChange.js +70 -70
- package/lib-amd/imageEdit/utils/applyChange.js.map +1 -1
- package/lib-amd/imageEdit/utils/canRegenerateImage.d.ts +8 -8
- package/lib-amd/imageEdit/utils/canRegenerateImage.js +33 -33
- package/lib-amd/imageEdit/utils/canRegenerateImage.js.map +1 -1
- package/lib-amd/imageEdit/utils/checkEditInfoState.d.ts +41 -41
- package/lib-amd/imageEdit/utils/checkEditInfoState.js +53 -53
- package/lib-amd/imageEdit/utils/checkEditInfoState.js.map +1 -1
- package/lib-amd/imageEdit/utils/createImageWrapper.d.ts +18 -18
- package/lib-amd/imageEdit/utils/createImageWrapper.js +89 -89
- package/lib-amd/imageEdit/utils/createImageWrapper.js.map +1 -1
- package/lib-amd/imageEdit/utils/doubleCheckResize.d.ts +12 -12
- package/lib-amd/imageEdit/utils/doubleCheckResize.js +37 -37
- package/lib-amd/imageEdit/utils/doubleCheckResize.js.map +1 -1
- package/lib-amd/imageEdit/utils/filterInnerResizerHandles.d.ts +4 -4
- package/lib-amd/imageEdit/utils/filterInnerResizerHandles.js +20 -20
- package/lib-amd/imageEdit/utils/filterInnerResizerHandles.js.map +1 -1
- package/lib-amd/imageEdit/utils/findEditingImage.d.ts +10 -10
- package/lib-amd/imageEdit/utils/findEditingImage.js +39 -39
- package/lib-amd/imageEdit/utils/findEditingImage.js.map +1 -1
- package/lib-amd/imageEdit/utils/generateDataURL.d.ts +13 -13
- package/lib-amd/imageEdit/utils/generateDataURL.js +57 -50
- package/lib-amd/imageEdit/utils/generateDataURL.js.map +1 -1
- package/lib-amd/imageEdit/utils/generateImageSize.d.ts +15 -15
- package/lib-amd/imageEdit/utils/generateImageSize.js +47 -47
- package/lib-amd/imageEdit/utils/generateImageSize.js.map +1 -1
- package/lib-amd/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -10
- package/lib-amd/imageEdit/utils/getDropAndDragHelpers.js +23 -23
- package/lib-amd/imageEdit/utils/getDropAndDragHelpers.js.map +1 -1
- package/lib-amd/imageEdit/utils/getHTMLImageOptions.d.ts +7 -7
- package/lib-amd/imageEdit/utils/getHTMLImageOptions.js +23 -23
- package/lib-amd/imageEdit/utils/getHTMLImageOptions.js.map +1 -1
- package/lib-amd/imageEdit/utils/getSelectedImage.d.ts +6 -6
- package/lib-amd/imageEdit/utils/getSelectedImage.js +21 -21
- package/lib-amd/imageEdit/utils/getSelectedImage.js.map +1 -1
- package/lib-amd/imageEdit/utils/imageEditUtils.d.ts +47 -47
- package/lib-amd/imageEdit/utils/imageEditUtils.js +116 -116
- package/lib-amd/imageEdit/utils/imageEditUtils.js.map +1 -1
- package/lib-amd/imageEdit/utils/normalizeImageSelection.d.ts +9 -9
- package/lib-amd/imageEdit/utils/normalizeImageSelection.js +32 -32
- package/lib-amd/imageEdit/utils/normalizeImageSelection.js.map +1 -1
- package/lib-amd/imageEdit/utils/updateHandleCursor.d.ts +7 -7
- package/lib-amd/imageEdit/utils/updateHandleCursor.js +35 -35
- package/lib-amd/imageEdit/utils/updateHandleCursor.js.map +1 -1
- package/lib-amd/imageEdit/utils/updateImageEditInfo.d.ts +10 -10
- package/lib-amd/imageEdit/utils/updateImageEditInfo.js +51 -51
- package/lib-amd/imageEdit/utils/updateImageEditInfo.js.map +1 -1
- package/lib-amd/imageEdit/utils/updateWrapper.d.ts +6 -6
- package/lib-amd/imageEdit/utils/updateWrapper.js +80 -80
- package/lib-amd/imageEdit/utils/updateWrapper.js.map +1 -1
- package/lib-amd/index.d.ts +38 -38
- package/lib-amd/index.js +42 -42
- package/lib-amd/index.js.map +1 -1
- package/lib-amd/markdown/MarkdownPlugin.d.ts +64 -64
- package/lib-amd/markdown/MarkdownPlugin.js +196 -196
- package/lib-amd/markdown/MarkdownPlugin.js.map +1 -1
- package/lib-amd/markdown/utils/setFormat.d.ts +5 -5
- package/lib-amd/markdown/utils/setFormat.js +46 -46
- package/lib-amd/markdown/utils/setFormat.js.map +1 -1
- package/lib-amd/paste/DefaultSanitizers.d.ts +10 -10
- package/lib-amd/paste/DefaultSanitizers.js +26 -26
- package/lib-amd/paste/DefaultSanitizers.js.map +1 -1
- package/lib-amd/paste/Excel/processPastedContentFromExcel.d.ts +30 -30
- package/lib-amd/paste/Excel/processPastedContentFromExcel.js +138 -138
- package/lib-amd/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib-amd/paste/PastePlugin.d.ts +44 -44
- package/lib-amd/paste/PastePlugin.js +129 -121
- package/lib-amd/paste/PastePlugin.js.map +1 -1
- package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
- package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.js +142 -142
- package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
- package/lib-amd/paste/WacComponents/constants.d.ts +52 -52
- package/lib-amd/paste/WacComponents/constants.js +67 -67
- package/lib-amd/paste/WacComponents/constants.js.map +1 -1
- package/lib-amd/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
- package/lib-amd/paste/WacComponents/processPastedContentWacComponents.js +187 -187
- package/lib-amd/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
- package/lib-amd/paste/WordDesktop/WordMetadata.d.ts +9 -9
- package/lib-amd/paste/WordDesktop/WordMetadata.js +4 -4
- package/lib-amd/paste/WordDesktop/WordMetadata.js.map +1 -1
- package/lib-amd/paste/WordDesktop/getStyleMetadata.d.ts +22 -23
- package/lib-amd/paste/WordDesktop/getStyleMetadata.js +110 -107
- package/lib-amd/paste/WordDesktop/getStyleMetadata.js.map +1 -1
- package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +8 -7
- package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js +32 -30
- package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
- package/lib-amd/paste/WordDesktop/processWordComments.d.ts +7 -7
- package/lib-amd/paste/WordDesktop/processWordComments.js +22 -22
- package/lib-amd/paste/WordDesktop/processWordComments.js.map +1 -1
- package/lib-amd/paste/WordDesktop/processWordLists.d.ts +11 -11
- package/lib-amd/paste/WordDesktop/processWordLists.js +202 -202
- package/lib-amd/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib-amd/paste/oneNote/processPastedContentFromOneNote.d.ts +50 -50
- package/lib-amd/paste/oneNote/processPastedContentFromOneNote.js +114 -114
- package/lib-amd/paste/oneNote/processPastedContentFromOneNote.js.map +1 -1
- package/lib-amd/paste/parsers/adjustPercentileLineHeightParser.d.ts +8 -8
- package/lib-amd/paste/parsers/adjustPercentileLineHeightParser.js +27 -27
- package/lib-amd/paste/parsers/adjustPercentileLineHeightParser.js.map +1 -1
- package/lib-amd/paste/parsers/blockElementParser.d.ts +7 -7
- package/lib-amd/paste/parsers/blockElementParser.js +16 -16
- package/lib-amd/paste/parsers/blockElementParser.js.map +1 -1
- package/lib-amd/paste/parsers/deprecatedColorParser.d.ts +5 -5
- package/lib-amd/paste/parsers/deprecatedColorParser.js +20 -20
- package/lib-amd/paste/parsers/deprecatedColorParser.js.map +1 -1
- package/lib-amd/paste/parsers/imageSizeParser.d.ts +6 -6
- package/lib-amd/paste/parsers/imageSizeParser.js +24 -24
- package/lib-amd/paste/parsers/imageSizeParser.js.map +1 -1
- package/lib-amd/paste/parsers/linkParser.d.ts +5 -5
- package/lib-amd/paste/parsers/linkParser.js +28 -28
- package/lib-amd/paste/parsers/linkParser.js.map +1 -1
- package/lib-amd/paste/parsers/listLevelParser.d.ts +10 -10
- package/lib-amd/paste/parsers/listLevelParser.js +20 -20
- package/lib-amd/paste/parsers/listLevelParser.js.map +1 -1
- package/lib-amd/paste/parsers/removeNegativeTextIndentParser.d.ts +5 -5
- package/lib-amd/paste/parsers/removeNegativeTextIndentParser.js +15 -15
- package/lib-amd/paste/parsers/removeNegativeTextIndentParser.js.map +1 -1
- package/lib-amd/paste/parsers/tableBorderParser.d.ts +5 -5
- package/lib-amd/paste/parsers/tableBorderParser.js +28 -28
- package/lib-amd/paste/parsers/tableBorderParser.js.map +1 -1
- package/lib-amd/paste/parsers/wordContainerParser.d.ts +8 -0
- package/lib-amd/paste/parsers/wordContainerParser.js +19 -0
- package/lib-amd/paste/parsers/wordContainerParser.js.map +1 -0
- package/lib-amd/paste/parsers/wordTableParser.d.ts +8 -8
- package/lib-amd/paste/parsers/wordTableParser.js +21 -21
- package/lib-amd/paste/parsers/wordTableParser.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/constants.d.ts +17 -17
- package/lib-amd/paste/pasteSourceValidations/constants.js +22 -22
- package/lib-amd/paste/pasteSourceValidations/constants.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
- package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.js +16 -16
- package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/getDocumentSource.d.ts +52 -0
- package/lib-amd/paste/pasteSourceValidations/{getPasteSource.js → getDocumentSource.js} +34 -42
- package/lib-amd/paste/pasteSourceValidations/getDocumentSource.js.map +1 -0
- package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
- package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.js +18 -18
- package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/isExcelNonNativeEvent.d.ts +7 -7
- package/lib-amd/paste/pasteSourceValidations/isExcelNonNativeEvent.js +19 -19
- package/lib-amd/paste/pasteSourceValidations/isExcelNonNativeEvent.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
- package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.js +20 -20
- package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
- package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.js +16 -16
- package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/isOneNoteDocument.d.ts +8 -8
- package/lib-amd/paste/pasteSourceValidations/isOneNoteDocument.js +18 -18
- package/lib-amd/paste/pasteSourceValidations/isOneNoteDocument.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
- package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +16 -16
- package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
- package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.js +25 -25
- package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
- package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
- package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.js +19 -20
- package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
- package/lib-amd/paste/processors/pasteButtonProcessor.d.ts +7 -7
- package/lib-amd/paste/processors/pasteButtonProcessor.js +35 -35
- package/lib-amd/paste/processors/pasteButtonProcessor.js.map +1 -1
- package/lib-amd/paste/utils/addParser.d.ts +5 -5
- package/lib-amd/paste/utils/addParser.js +19 -19
- package/lib-amd/paste/utils/addParser.js.map +1 -1
- package/lib-amd/paste/utils/chainSanitizerCallback.d.ts +9 -9
- package/lib-amd/paste/utils/chainSanitizerCallback.js +37 -37
- package/lib-amd/paste/utils/chainSanitizerCallback.js.map +1 -1
- package/lib-amd/paste/utils/customListUtils.d.ts +9 -9
- package/lib-amd/paste/utils/customListUtils.js +66 -66
- package/lib-amd/paste/utils/customListUtils.js.map +1 -1
- package/lib-amd/paste/utils/getStyles.d.ts +6 -6
- package/lib-amd/paste/utils/getStyles.js +24 -24
- package/lib-amd/paste/utils/getStyles.js.map +1 -1
- package/lib-amd/paste/utils/setProcessor.d.ts +5 -5
- package/lib-amd/paste/utils/setProcessor.js +15 -15
- package/lib-amd/paste/utils/setProcessor.js.map +1 -1
- package/lib-amd/picker/PickerHandler.d.ts +112 -112
- package/lib-amd/picker/PickerHandler.js +4 -4
- package/lib-amd/picker/PickerHandler.js.map +1 -1
- package/lib-amd/picker/PickerHelper.d.ts +22 -22
- package/lib-amd/picker/PickerHelper.js +4 -4
- package/lib-amd/picker/PickerHelper.js.map +1 -1
- package/lib-amd/picker/PickerHelperImpl.d.ts +25 -25
- package/lib-amd/picker/PickerHelperImpl.js +52 -52
- package/lib-amd/picker/PickerHelperImpl.js.map +1 -1
- package/lib-amd/picker/PickerPlugin.d.ts +54 -54
- package/lib-amd/picker/PickerPlugin.js +214 -214
- package/lib-amd/picker/PickerPlugin.js.map +1 -1
- package/lib-amd/picker/getQueryString.d.ts +5 -5
- package/lib-amd/picker/getQueryString.js +36 -36
- package/lib-amd/picker/getQueryString.js.map +1 -1
- package/lib-amd/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
- package/lib-amd/pluginUtils/CreateElement/CreateElementData.js +4 -4
- package/lib-amd/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
- package/lib-amd/pluginUtils/CreateElement/createElement.d.ts +9 -9
- package/lib-amd/pluginUtils/CreateElement/createElement.js +52 -52
- package/lib-amd/pluginUtils/CreateElement/createElement.js.map +1 -1
- package/lib-amd/pluginUtils/Disposable.d.ts +10 -10
- package/lib-amd/pluginUtils/Disposable.js +4 -4
- package/lib-amd/pluginUtils/Disposable.js.map +1 -1
- package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
- package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.js +4 -4
- package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
- package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
- package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.js +121 -121
- package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
- package/lib-amd/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
- package/lib-amd/pluginUtils/Rect/getIntersectedRect.js +45 -45
- package/lib-amd/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
- package/lib-amd/shortcut/ShortcutCommand.d.ts +44 -44
- package/lib-amd/shortcut/ShortcutCommand.js +4 -4
- package/lib-amd/shortcut/ShortcutCommand.js.map +1 -1
- package/lib-amd/shortcut/ShortcutPlugin.d.ts +51 -51
- package/lib-amd/shortcut/ShortcutPlugin.js +125 -125
- package/lib-amd/shortcut/ShortcutPlugin.js.map +1 -1
- package/lib-amd/shortcut/shortcuts.d.ts +92 -92
- package/lib-amd/shortcut/shortcuts.js +237 -237
- package/lib-amd/shortcut/shortcuts.js.map +1 -1
- package/lib-amd/shortcut/utils/setShortcutIndentationCommand.d.ts +5 -5
- package/lib-amd/shortcut/utils/setShortcutIndentationCommand.js +21 -21
- package/lib-amd/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
- package/lib-amd/tableEdit/OnTableEditorCreatedCallback.d.ts +5 -5
- package/lib-amd/tableEdit/OnTableEditorCreatedCallback.js +4 -4
- package/lib-amd/tableEdit/OnTableEditorCreatedCallback.js.map +1 -1
- package/lib-amd/tableEdit/TableEditPlugin.d.ts +56 -56
- package/lib-amd/tableEdit/TableEditPlugin.js +170 -170
- package/lib-amd/tableEdit/TableEditPlugin.js.map +1 -1
- package/lib-amd/tableEdit/TableWithRoot.d.ts +15 -15
- package/lib-amd/tableEdit/TableWithRoot.js +4 -4
- package/lib-amd/tableEdit/TableWithRoot.js.map +1 -1
- package/lib-amd/tableEdit/editors/TableEditor.d.ts +90 -86
- package/lib-amd/tableEdit/editors/TableEditor.js +373 -337
- package/lib-amd/tableEdit/editors/TableEditor.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/CellResizer.d.ts +55 -54
- package/lib-amd/tableEdit/editors/features/CellResizer.js +243 -207
- package/lib-amd/tableEdit/editors/features/CellResizer.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/TableEditFeature.d.ts +13 -13
- package/lib-amd/tableEdit/editors/features/TableEditFeature.js +18 -18
- package/lib-amd/tableEdit/editors/features/TableEditFeature.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/TableEditFeatureName.d.ts +4 -4
- package/lib-amd/tableEdit/editors/features/TableEditFeatureName.js +4 -4
- package/lib-amd/tableEdit/editors/features/TableEditFeatureName.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/TableInserter.d.ts +33 -33
- package/lib-amd/tableEdit/editors/features/TableInserter.js +123 -123
- package/lib-amd/tableEdit/editors/features/TableInserter.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/TableMover.d.ts +53 -53
- package/lib-amd/tableEdit/editors/features/TableMover.js +229 -229
- package/lib-amd/tableEdit/editors/features/TableMover.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/TableResizer.d.ts +50 -50
- package/lib-amd/tableEdit/editors/features/TableResizer.js +187 -187
- package/lib-amd/tableEdit/editors/features/TableResizer.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/TableRowColumnSelector.d.ts +42 -0
- package/lib-amd/tableEdit/editors/features/TableRowColumnSelector.js +221 -0
- package/lib-amd/tableEdit/editors/features/TableRowColumnSelector.js.map +1 -0
- package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.d.ts +6 -6
- package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.js +21 -20
- package/lib-amd/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
- package/lib-amd/touch/TouchPlugin.d.ts +32 -32
- package/lib-amd/touch/TouchPlugin.js +212 -210
- package/lib-amd/touch/TouchPlugin.js.map +1 -1
- package/lib-amd/utils/getNodePositionFromEvent.d.ts +5 -5
- package/lib-amd/utils/getNodePositionFromEvent.js +35 -35
- package/lib-amd/utils/getNodePositionFromEvent.js.map +1 -1
- package/lib-amd/watermark/WatermarkFormat.d.ts +5 -5
- package/lib-amd/watermark/WatermarkFormat.js +4 -4
- package/lib-amd/watermark/WatermarkFormat.js.map +1 -1
- package/lib-amd/watermark/WatermarkPlugin.d.ts +42 -42
- package/lib-amd/watermark/WatermarkPlugin.js +136 -136
- package/lib-amd/watermark/WatermarkPlugin.js.map +1 -1
- package/lib-amd/watermark/isModelEmptyFast.d.ts +5 -5
- package/lib-amd/watermark/isModelEmptyFast.js +39 -39
- package/lib-amd/watermark/isModelEmptyFast.js.map +1 -1
- package/lib-mjs/announce/AnnouncePlugin.d.ts +32 -32
- package/lib-mjs/announce/AnnouncePlugin.js +62 -62
- package/lib-mjs/announce/AnnouncePlugin.js.map +1 -1
- package/lib-mjs/announce/tableSelectionUtils.d.ts +17 -17
- package/lib-mjs/announce/tableSelectionUtils.js +63 -66
- package/lib-mjs/announce/tableSelectionUtils.js.map +1 -1
- package/lib-mjs/autoFormat/AutoFormatPlugin.d.ts +59 -59
- package/lib-mjs/autoFormat/AutoFormatPlugin.js +295 -295
- package/lib-mjs/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib-mjs/autoFormat/horizontalLine/checkAndInsertHorizontalLine.d.ts +24 -24
- package/lib-mjs/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js +86 -86
- package/lib-mjs/autoFormat/horizontalLine/checkAndInsertHorizontalLine.js.map +1 -1
- package/lib-mjs/autoFormat/hyphen/transformHyphen.d.ts +5 -5
- package/lib-mjs/autoFormat/hyphen/transformHyphen.js +30 -30
- package/lib-mjs/autoFormat/hyphen/transformHyphen.js.map +1 -1
- package/lib-mjs/autoFormat/interface/AutoFormatOptions.d.ts +34 -34
- package/lib-mjs/autoFormat/interface/AutoFormatOptions.js +1 -1
- package/lib-mjs/autoFormat/interface/AutoFormatOptions.js.map +1 -1
- package/lib-mjs/autoFormat/link/createLink.d.ts +5 -5
- package/lib-mjs/autoFormat/link/createLink.js +31 -31
- package/lib-mjs/autoFormat/link/createLink.js.map +1 -1
- package/lib-mjs/autoFormat/link/unlink.d.ts +5 -5
- package/lib-mjs/autoFormat/link/unlink.js +14 -14
- package/lib-mjs/autoFormat/link/unlink.js.map +1 -1
- package/lib-mjs/autoFormat/list/convertAlphaToDecimals.d.ts +7 -7
- package/lib-mjs/autoFormat/list/convertAlphaToDecimals.js +18 -18
- package/lib-mjs/autoFormat/list/convertAlphaToDecimals.js.map +1 -1
- package/lib-mjs/autoFormat/list/getIndex.d.ts +4 -4
- package/lib-mjs/autoFormat/list/getIndex.js +9 -9
- package/lib-mjs/autoFormat/list/getIndex.js.map +1 -1
- package/lib-mjs/autoFormat/list/getListTypeStyle.d.ts +14 -14
- package/lib-mjs/autoFormat/list/getListTypeStyle.js +95 -95
- package/lib-mjs/autoFormat/list/getListTypeStyle.js.map +1 -1
- package/lib-mjs/autoFormat/list/getNumberingListStyle.d.ts +4 -4
- package/lib-mjs/autoFormat/list/getNumberingListStyle.js +149 -149
- package/lib-mjs/autoFormat/list/getNumberingListStyle.js.map +1 -1
- package/lib-mjs/autoFormat/list/keyboardListTrigger.d.ts +5 -5
- package/lib-mjs/autoFormat/list/keyboardListTrigger.js +45 -45
- package/lib-mjs/autoFormat/list/keyboardListTrigger.js.map +1 -1
- package/lib-mjs/autoFormat/numbers/transformFraction.d.ts +5 -5
- package/lib-mjs/autoFormat/numbers/transformFraction.js +23 -23
- package/lib-mjs/autoFormat/numbers/transformFraction.js.map +1 -1
- package/lib-mjs/autoFormat/numbers/transformOrdinals.d.ts +4 -4
- package/lib-mjs/autoFormat/numbers/transformOrdinals.js +61 -60
- package/lib-mjs/autoFormat/numbers/transformOrdinals.js.map +1 -1
- package/lib-mjs/contextMenuBase/ContextMenuPluginBase.d.ts +58 -58
- package/lib-mjs/contextMenuBase/ContextMenuPluginBase.js +80 -80
- package/lib-mjs/contextMenuBase/ContextMenuPluginBase.js.map +1 -1
- package/lib-mjs/customReplace/CustomReplacePlugin.d.ts +61 -61
- package/lib-mjs/customReplace/CustomReplacePlugin.js +83 -83
- package/lib-mjs/customReplace/CustomReplacePlugin.js.map +1 -1
- package/lib-mjs/edit/EditOptions.d.ts +78 -45
- package/lib-mjs/edit/EditOptions.js +1 -1
- package/lib-mjs/edit/EditOptions.js.map +1 -1
- package/lib-mjs/edit/EditPlugin.d.ts +60 -60
- package/lib-mjs/edit/EditPlugin.js +253 -235
- package/lib-mjs/edit/EditPlugin.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
- package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js +19 -19
- package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.d.ts +10 -10
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js +110 -110
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.d.ts +5 -5
- package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js +58 -58
- package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteList.d.ts +5 -5
- package/lib-mjs/edit/deleteSteps/deleteList.js +54 -24
- package/lib-mjs/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteParagraphStyle.d.ts +5 -5
- package/lib-mjs/edit/deleteSteps/deleteParagraphStyle.js +32 -32
- package/lib-mjs/edit/deleteSteps/deleteParagraphStyle.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
- package/lib-mjs/edit/deleteSteps/deleteWordSelection.js +169 -169
- package/lib-mjs/edit/deleteSteps/deleteWordSelection.js.map +1 -1
- package/lib-mjs/edit/handleKeyboardEventCommon.d.ts +14 -14
- package/lib-mjs/edit/handleKeyboardEventCommon.js +65 -65
- package/lib-mjs/edit/handleKeyboardEventCommon.js.map +1 -1
- package/lib-mjs/edit/inputSteps/handleAutoLink.d.ts +5 -5
- package/lib-mjs/edit/inputSteps/handleAutoLink.js +20 -20
- package/lib-mjs/edit/inputSteps/handleAutoLink.js.map +1 -1
- package/lib-mjs/edit/inputSteps/handleEnterOnList.d.ts +5 -5
- package/lib-mjs/edit/inputSteps/handleEnterOnList.js +67 -67
- package/lib-mjs/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.d.ts +5 -5
- package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.js +17 -17
- package/lib-mjs/edit/inputSteps/handleEnterOnParagraph.js.map +1 -1
- package/lib-mjs/edit/keyboardDelete.d.ts +11 -11
- package/lib-mjs/edit/keyboardDelete.js +110 -110
- package/lib-mjs/edit/keyboardDelete.js.map +1 -1
- package/lib-mjs/edit/keyboardEnter.d.ts +5 -5
- package/lib-mjs/edit/keyboardEnter.js +50 -50
- package/lib-mjs/edit/keyboardEnter.js.map +1 -1
- package/lib-mjs/edit/keyboardInput.d.ts +5 -5
- package/lib-mjs/edit/keyboardInput.js +60 -60
- package/lib-mjs/edit/keyboardInput.js.map +1 -1
- package/lib-mjs/edit/keyboardTab.d.ts +6 -5
- package/lib-mjs/edit/keyboardTab.js +70 -60
- package/lib-mjs/edit/keyboardTab.js.map +1 -1
- package/lib-mjs/edit/tabUtils/handleTabOnList.d.ts +7 -7
- package/lib-mjs/edit/tabUtils/handleTabOnList.js +29 -29
- package/lib-mjs/edit/tabUtils/handleTabOnList.js.map +1 -1
- package/lib-mjs/edit/tabUtils/handleTabOnParagraph.d.ts +17 -17
- package/lib-mjs/edit/tabUtils/handleTabOnParagraph.js +90 -90
- package/lib-mjs/edit/tabUtils/handleTabOnParagraph.js.map +1 -1
- package/lib-mjs/edit/tabUtils/handleTabOnTable.d.ts +6 -6
- package/lib-mjs/edit/tabUtils/handleTabOnTable.js +21 -21
- package/lib-mjs/edit/tabUtils/handleTabOnTable.js.map +1 -1
- package/lib-mjs/edit/tabUtils/handleTabOnTableCell.d.ts +6 -6
- package/lib-mjs/edit/tabUtils/handleTabOnTableCell.js +39 -39
- package/lib-mjs/edit/tabUtils/handleTabOnTableCell.js.map +1 -1
- package/lib-mjs/edit/utils/getLeafSiblingBlock.d.ts +45 -45
- package/lib-mjs/edit/utils/getLeafSiblingBlock.js +68 -68
- package/lib-mjs/edit/utils/getLeafSiblingBlock.js.map +1 -1
- package/lib-mjs/edit/utils/preserveParagraphFormat.d.ts +9 -9
- package/lib-mjs/edit/utils/preserveParagraphFormat.js +19 -19
- package/lib-mjs/edit/utils/preserveParagraphFormat.js.map +1 -1
- package/lib-mjs/edit/utils/splitParagraph.d.ts +12 -12
- package/lib-mjs/edit/utils/splitParagraph.js +36 -36
- package/lib-mjs/edit/utils/splitParagraph.js.map +1 -1
- package/lib-mjs/findReplace/FindReplacePlugin.d.ts +42 -42
- package/lib-mjs/findReplace/FindReplacePlugin.js +94 -93
- package/lib-mjs/findReplace/FindReplacePlugin.js.map +1 -1
- package/lib-mjs/findReplace/createFindReplaceContext.d.ts +8 -8
- package/lib-mjs/findReplace/createFindReplaceContext.js +21 -21
- package/lib-mjs/findReplace/createFindReplaceContext.js.map +1 -1
- package/lib-mjs/findReplace/find.d.ts +11 -11
- package/lib-mjs/findReplace/find.js +15 -15
- package/lib-mjs/findReplace/find.js.map +1 -1
- package/lib-mjs/findReplace/moveHighlight.d.ts +9 -9
- package/lib-mjs/findReplace/moveHighlight.js +16 -16
- package/lib-mjs/findReplace/moveHighlight.js.map +1 -1
- package/lib-mjs/findReplace/replace.d.ts +10 -10
- package/lib-mjs/findReplace/replace.js +43 -43
- package/lib-mjs/findReplace/replace.js.map +1 -1
- package/lib-mjs/findReplace/types/FindReplaceContext.d.ts +38 -38
- package/lib-mjs/findReplace/types/FindReplaceContext.js +1 -1
- package/lib-mjs/findReplace/types/FindReplaceContext.js.map +1 -1
- package/lib-mjs/findReplace/types/FindReplaceHighlightOptions.d.ts +13 -13
- package/lib-mjs/findReplace/types/FindReplaceHighlightOptions.js +1 -1
- package/lib-mjs/findReplace/types/FindReplaceHighlightOptions.js.map +1 -1
- package/lib-mjs/findReplace/types/HighlightHelper.d.ts +23 -23
- package/lib-mjs/findReplace/types/HighlightHelper.js +1 -1
- package/lib-mjs/findReplace/types/HighlightHelper.js.map +1 -1
- package/lib-mjs/findReplace/utils/HighlightHelperImpl.d.ts +9 -9
- package/lib-mjs/findReplace/utils/HighlightHelperImpl.js +60 -60
- package/lib-mjs/findReplace/utils/HighlightHelperImpl.js.map +1 -1
- package/lib-mjs/findReplace/utils/constants.d.ts +28 -28
- package/lib-mjs/findReplace/utils/constants.js +28 -28
- package/lib-mjs/findReplace/utils/constants.js.map +1 -1
- package/lib-mjs/findReplace/utils/replaceTextInRange.d.ts +4 -4
- package/lib-mjs/findReplace/utils/replaceTextInRange.js +66 -66
- package/lib-mjs/findReplace/utils/replaceTextInRange.js.map +1 -1
- package/lib-mjs/findReplace/utils/setMarkedIndex.d.ts +6 -6
- package/lib-mjs/findReplace/utils/setMarkedIndex.js +24 -24
- package/lib-mjs/findReplace/utils/setMarkedIndex.js.map +1 -1
- package/lib-mjs/findReplace/utils/sortRanges.d.ts +5 -5
- package/lib-mjs/findReplace/utils/sortRanges.js +18 -18
- package/lib-mjs/findReplace/utils/sortRanges.js.map +1 -1
- package/lib-mjs/findReplace/utils/updateHighlight.d.ts +6 -6
- package/lib-mjs/findReplace/utils/updateHighlight.js +43 -43
- package/lib-mjs/findReplace/utils/updateHighlight.js.map +1 -1
- package/lib-mjs/hiddenProperty/HiddenPropertyOptions.d.ts +11 -11
- package/lib-mjs/hiddenProperty/HiddenPropertyOptions.js +1 -1
- package/lib-mjs/hiddenProperty/HiddenPropertyOptions.js.map +1 -1
- package/lib-mjs/hiddenProperty/HiddenPropertyPlugin.d.ts +38 -38
- package/lib-mjs/hiddenProperty/HiddenPropertyPlugin.js +54 -54
- package/lib-mjs/hiddenProperty/HiddenPropertyPlugin.js.map +1 -1
- package/lib-mjs/hiddenProperty/fixupHiddenProperties.d.ts +9 -9
- package/lib-mjs/hiddenProperty/fixupHiddenProperties.js +33 -33
- package/lib-mjs/hiddenProperty/fixupHiddenProperties.js.map +1 -1
- package/lib-mjs/hyperlink/HyperlinkPlugin.d.ts +48 -48
- package/lib-mjs/hyperlink/HyperlinkPlugin.js +140 -140
- package/lib-mjs/hyperlink/HyperlinkPlugin.js.map +1 -1
- package/lib-mjs/hyperlink/HyperlinkToolTip.d.ts +7 -7
- package/lib-mjs/hyperlink/HyperlinkToolTip.js +1 -1
- package/lib-mjs/hyperlink/HyperlinkToolTip.js.map +1 -1
- package/lib-mjs/imageEdit/Cropper/createImageCropper.d.ts +10 -10
- package/lib-mjs/imageEdit/Cropper/createImageCropper.js +74 -74
- package/lib-mjs/imageEdit/Cropper/createImageCropper.js.map +1 -1
- package/lib-mjs/imageEdit/Cropper/cropperContext.d.ts +8 -8
- package/lib-mjs/imageEdit/Cropper/cropperContext.js +69 -69
- package/lib-mjs/imageEdit/Cropper/cropperContext.js.map +1 -1
- package/lib-mjs/imageEdit/ImageEditPlugin.d.ts +86 -86
- package/lib-mjs/imageEdit/ImageEditPlugin.js +581 -582
- package/lib-mjs/imageEdit/ImageEditPlugin.js.map +1 -1
- package/lib-mjs/imageEdit/Resizer/createImageResizer.d.ts +12 -12
- package/lib-mjs/imageEdit/Resizer/createImageResizer.js +84 -84
- package/lib-mjs/imageEdit/Resizer/createImageResizer.js.map +1 -1
- package/lib-mjs/imageEdit/Resizer/resizerContext.d.ts +8 -8
- package/lib-mjs/imageEdit/Resizer/resizerContext.js +57 -57
- package/lib-mjs/imageEdit/Resizer/resizerContext.js.map +1 -1
- package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.d.ts +4 -4
- package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.js +12 -12
- package/lib-mjs/imageEdit/Resizer/updateSideHandlesVisibility.js.map +1 -1
- package/lib-mjs/imageEdit/Rotator/createImageRotator.d.ts +6 -6
- package/lib-mjs/imageEdit/Rotator/createImageRotator.js +71 -71
- package/lib-mjs/imageEdit/Rotator/createImageRotator.js.map +1 -1
- package/lib-mjs/imageEdit/Rotator/rotatorContext.d.ts +8 -8
- package/lib-mjs/imageEdit/Rotator/rotatorContext.js +32 -32
- package/lib-mjs/imageEdit/Rotator/rotatorContext.js.map +1 -1
- package/lib-mjs/imageEdit/Rotator/updateRotateHandle.d.ts +7 -7
- package/lib-mjs/imageEdit/Rotator/updateRotateHandle.js +51 -51
- package/lib-mjs/imageEdit/Rotator/updateRotateHandle.js.map +1 -1
- package/lib-mjs/imageEdit/constants/constants.d.ts +77 -77
- package/lib-mjs/imageEdit/constants/constants.js +81 -81
- package/lib-mjs/imageEdit/constants/constants.js.map +1 -1
- package/lib-mjs/imageEdit/types/DragAndDropContext.d.ts +39 -39
- package/lib-mjs/imageEdit/types/DragAndDropContext.js +1 -1
- package/lib-mjs/imageEdit/types/DragAndDropContext.js.map +1 -1
- package/lib-mjs/imageEdit/types/GeneratedImageSize.d.ts +33 -33
- package/lib-mjs/imageEdit/types/GeneratedImageSize.js +1 -1
- package/lib-mjs/imageEdit/types/GeneratedImageSize.js.map +1 -1
- package/lib-mjs/imageEdit/types/ImageAndParagraph.d.ts +8 -8
- package/lib-mjs/imageEdit/types/ImageAndParagraph.js +1 -1
- package/lib-mjs/imageEdit/types/ImageAndParagraph.js.map +1 -1
- package/lib-mjs/imageEdit/types/ImageEditElementClass.d.ts +30 -30
- package/lib-mjs/imageEdit/types/ImageEditElementClass.js +31 -31
- package/lib-mjs/imageEdit/types/ImageEditElementClass.js.map +1 -1
- package/lib-mjs/imageEdit/types/ImageEditOptions.d.ts +55 -55
- package/lib-mjs/imageEdit/types/ImageEditOptions.js +1 -1
- package/lib-mjs/imageEdit/types/ImageEditOptions.js.map +1 -1
- package/lib-mjs/imageEdit/types/ImageHtmlOptions.d.ts +22 -22
- package/lib-mjs/imageEdit/types/ImageHtmlOptions.js +1 -1
- package/lib-mjs/imageEdit/types/ImageHtmlOptions.js.map +1 -1
- package/lib-mjs/imageEdit/utils/applyChange.d.ts +13 -13
- package/lib-mjs/imageEdit/utils/applyChange.js +68 -68
- package/lib-mjs/imageEdit/utils/applyChange.js.map +1 -1
- package/lib-mjs/imageEdit/utils/canRegenerateImage.d.ts +8 -8
- package/lib-mjs/imageEdit/utils/canRegenerateImage.js +27 -27
- package/lib-mjs/imageEdit/utils/canRegenerateImage.js.map +1 -1
- package/lib-mjs/imageEdit/utils/checkEditInfoState.d.ts +41 -41
- package/lib-mjs/imageEdit/utils/checkEditInfoState.js +48 -48
- package/lib-mjs/imageEdit/utils/checkEditInfoState.js.map +1 -1
- package/lib-mjs/imageEdit/utils/createImageWrapper.d.ts +18 -18
- package/lib-mjs/imageEdit/utils/createImageWrapper.js +87 -87
- package/lib-mjs/imageEdit/utils/createImageWrapper.js.map +1 -1
- package/lib-mjs/imageEdit/utils/doubleCheckResize.d.ts +12 -12
- package/lib-mjs/imageEdit/utils/doubleCheckResize.js +31 -31
- package/lib-mjs/imageEdit/utils/doubleCheckResize.js.map +1 -1
- package/lib-mjs/imageEdit/utils/filterInnerResizerHandles.d.ts +4 -4
- package/lib-mjs/imageEdit/utils/filterInnerResizerHandles.js +15 -15
- package/lib-mjs/imageEdit/utils/filterInnerResizerHandles.js.map +1 -1
- package/lib-mjs/imageEdit/utils/findEditingImage.d.ts +10 -10
- package/lib-mjs/imageEdit/utils/findEditingImage.js +35 -35
- package/lib-mjs/imageEdit/utils/findEditingImage.js.map +1 -1
- package/lib-mjs/imageEdit/utils/generateDataURL.d.ts +13 -13
- package/lib-mjs/imageEdit/utils/generateDataURL.js +52 -45
- package/lib-mjs/imageEdit/utils/generateDataURL.js.map +1 -1
- package/lib-mjs/imageEdit/utils/generateImageSize.d.ts +15 -15
- package/lib-mjs/imageEdit/utils/generateImageSize.js +41 -41
- package/lib-mjs/imageEdit/utils/generateImageSize.js.map +1 -1
- package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.d.ts +10 -10
- package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.js +19 -19
- package/lib-mjs/imageEdit/utils/getDropAndDragHelpers.js.map +1 -1
- package/lib-mjs/imageEdit/utils/getHTMLImageOptions.d.ts +7 -7
- package/lib-mjs/imageEdit/utils/getHTMLImageOptions.js +18 -18
- package/lib-mjs/imageEdit/utils/getHTMLImageOptions.js.map +1 -1
- package/lib-mjs/imageEdit/utils/getSelectedImage.d.ts +6 -6
- package/lib-mjs/imageEdit/utils/getSelectedImage.js +16 -16
- package/lib-mjs/imageEdit/utils/getSelectedImage.js.map +1 -1
- package/lib-mjs/imageEdit/utils/imageEditUtils.d.ts +47 -47
- package/lib-mjs/imageEdit/utils/imageEditUtils.js +104 -104
- package/lib-mjs/imageEdit/utils/imageEditUtils.js.map +1 -1
- package/lib-mjs/imageEdit/utils/normalizeImageSelection.d.ts +9 -9
- package/lib-mjs/imageEdit/utils/normalizeImageSelection.js +27 -27
- package/lib-mjs/imageEdit/utils/normalizeImageSelection.js.map +1 -1
- package/lib-mjs/imageEdit/utils/updateHandleCursor.d.ts +7 -7
- package/lib-mjs/imageEdit/utils/updateHandleCursor.js +29 -29
- package/lib-mjs/imageEdit/utils/updateHandleCursor.js.map +1 -1
- package/lib-mjs/imageEdit/utils/updateImageEditInfo.d.ts +10 -10
- package/lib-mjs/imageEdit/utils/updateImageEditInfo.js +47 -47
- package/lib-mjs/imageEdit/utils/updateImageEditInfo.js.map +1 -1
- package/lib-mjs/imageEdit/utils/updateWrapper.d.ts +6 -6
- package/lib-mjs/imageEdit/utils/updateWrapper.js +82 -82
- package/lib-mjs/imageEdit/utils/updateWrapper.js.map +1 -1
- package/lib-mjs/index.d.ts +38 -38
- package/lib-mjs/index.js +23 -23
- package/lib-mjs/index.js.map +1 -1
- package/lib-mjs/markdown/MarkdownPlugin.d.ts +64 -64
- package/lib-mjs/markdown/MarkdownPlugin.js +192 -192
- package/lib-mjs/markdown/MarkdownPlugin.js.map +1 -1
- package/lib-mjs/markdown/utils/setFormat.d.ts +5 -5
- package/lib-mjs/markdown/utils/setFormat.js +42 -42
- package/lib-mjs/markdown/utils/setFormat.js.map +1 -1
- package/lib-mjs/paste/DefaultSanitizers.d.ts +10 -10
- package/lib-mjs/paste/DefaultSanitizers.js +20 -20
- package/lib-mjs/paste/DefaultSanitizers.js.map +1 -1
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.d.ts +30 -30
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.js +132 -132
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib-mjs/paste/PastePlugin.d.ts +44 -44
- package/lib-mjs/paste/PastePlugin.js +143 -135
- package/lib-mjs/paste/PastePlugin.js.map +1 -1
- package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
- package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.js +142 -142
- package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
- package/lib-mjs/paste/WacComponents/constants.d.ts +52 -52
- package/lib-mjs/paste/WacComponents/constants.js +63 -63
- package/lib-mjs/paste/WacComponents/constants.js.map +1 -1
- package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
- package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.js +186 -186
- package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/WordMetadata.d.ts +9 -9
- package/lib-mjs/paste/WordDesktop/WordMetadata.js +1 -1
- package/lib-mjs/paste/WordDesktop/WordMetadata.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/getStyleMetadata.d.ts +22 -23
- package/lib-mjs/paste/WordDesktop/getStyleMetadata.js +106 -103
- package/lib-mjs/paste/WordDesktop/getStyleMetadata.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +8 -7
- package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js +37 -34
- package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/processWordComments.d.ts +7 -7
- package/lib-mjs/paste/WordDesktop/processWordComments.js +17 -17
- package/lib-mjs/paste/WordDesktop/processWordComments.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/processWordLists.d.ts +11 -11
- package/lib-mjs/paste/WordDesktop/processWordLists.js +200 -200
- package/lib-mjs/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib-mjs/paste/oneNote/processPastedContentFromOneNote.d.ts +50 -50
- package/lib-mjs/paste/oneNote/processPastedContentFromOneNote.js +106 -106
- package/lib-mjs/paste/oneNote/processPastedContentFromOneNote.js.map +1 -1
- package/lib-mjs/paste/parsers/adjustPercentileLineHeightParser.d.ts +8 -8
- package/lib-mjs/paste/parsers/adjustPercentileLineHeightParser.js +21 -21
- package/lib-mjs/paste/parsers/adjustPercentileLineHeightParser.js.map +1 -1
- package/lib-mjs/paste/parsers/blockElementParser.d.ts +7 -7
- package/lib-mjs/paste/parsers/blockElementParser.js +10 -10
- package/lib-mjs/paste/parsers/blockElementParser.js.map +1 -1
- package/lib-mjs/paste/parsers/deprecatedColorParser.d.ts +5 -5
- package/lib-mjs/paste/parsers/deprecatedColorParser.js +15 -15
- package/lib-mjs/paste/parsers/deprecatedColorParser.js.map +1 -1
- package/lib-mjs/paste/parsers/imageSizeParser.d.ts +6 -6
- package/lib-mjs/paste/parsers/imageSizeParser.js +19 -19
- package/lib-mjs/paste/parsers/imageSizeParser.js.map +1 -1
- package/lib-mjs/paste/parsers/linkParser.d.ts +5 -5
- package/lib-mjs/paste/parsers/linkParser.js +23 -23
- package/lib-mjs/paste/parsers/linkParser.js.map +1 -1
- package/lib-mjs/paste/parsers/listLevelParser.d.ts +10 -10
- package/lib-mjs/paste/parsers/listLevelParser.js +14 -14
- package/lib-mjs/paste/parsers/listLevelParser.js.map +1 -1
- package/lib-mjs/paste/parsers/removeNegativeTextIndentParser.d.ts +5 -5
- package/lib-mjs/paste/parsers/removeNegativeTextIndentParser.js +9 -9
- package/lib-mjs/paste/parsers/removeNegativeTextIndentParser.js.map +1 -1
- package/lib-mjs/paste/parsers/tableBorderParser.d.ts +5 -5
- package/lib-mjs/paste/parsers/tableBorderParser.js +23 -23
- package/lib-mjs/paste/parsers/tableBorderParser.js.map +1 -1
- package/lib-mjs/paste/parsers/wordContainerParser.d.ts +8 -0
- package/lib-mjs/paste/parsers/wordContainerParser.js +13 -0
- package/lib-mjs/paste/parsers/wordContainerParser.js.map +1 -0
- package/lib-mjs/paste/parsers/wordTableParser.d.ts +8 -8
- package/lib-mjs/paste/parsers/wordTableParser.js +15 -15
- package/lib-mjs/paste/parsers/wordTableParser.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/constants.d.ts +17 -17
- package/lib-mjs/paste/pasteSourceValidations/constants.js +17 -17
- package/lib-mjs/paste/pasteSourceValidations/constants.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
- package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.js +11 -11
- package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/getDocumentSource.d.ts +52 -0
- package/lib-mjs/paste/pasteSourceValidations/{getPasteSource.js → getDocumentSource.js} +37 -45
- package/lib-mjs/paste/pasteSourceValidations/getDocumentSource.js.map +1 -0
- package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
- package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.js +13 -13
- package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/isExcelNonNativeEvent.d.ts +7 -7
- package/lib-mjs/paste/pasteSourceValidations/isExcelNonNativeEvent.js +13 -13
- package/lib-mjs/paste/pasteSourceValidations/isExcelNonNativeEvent.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
- package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.js +15 -15
- package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
- package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.js +11 -11
- package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/isOneNoteDocument.d.ts +8 -8
- package/lib-mjs/paste/pasteSourceValidations/isOneNoteDocument.js +13 -13
- package/lib-mjs/paste/pasteSourceValidations/isOneNoteDocument.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
- package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +11 -11
- package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
- package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.js +20 -20
- package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
- package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
- package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.js +13 -14
- package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
- package/lib-mjs/paste/processors/pasteButtonProcessor.d.ts +7 -7
- package/lib-mjs/paste/processors/pasteButtonProcessor.js +31 -31
- package/lib-mjs/paste/processors/pasteButtonProcessor.js.map +1 -1
- package/lib-mjs/paste/utils/addParser.d.ts +5 -5
- package/lib-mjs/paste/utils/addParser.js +13 -13
- package/lib-mjs/paste/utils/addParser.js.map +1 -1
- package/lib-mjs/paste/utils/chainSanitizerCallback.d.ts +9 -9
- package/lib-mjs/paste/utils/chainSanitizerCallback.js +31 -31
- package/lib-mjs/paste/utils/chainSanitizerCallback.js.map +1 -1
- package/lib-mjs/paste/utils/customListUtils.d.ts +9 -9
- package/lib-mjs/paste/utils/customListUtils.js +62 -62
- package/lib-mjs/paste/utils/customListUtils.js.map +1 -1
- package/lib-mjs/paste/utils/getStyles.d.ts +6 -6
- package/lib-mjs/paste/utils/getStyles.js +18 -18
- package/lib-mjs/paste/utils/getStyles.js.map +1 -1
- package/lib-mjs/paste/utils/setProcessor.d.ts +5 -5
- package/lib-mjs/paste/utils/setProcessor.js +9 -9
- package/lib-mjs/paste/utils/setProcessor.js.map +1 -1
- package/lib-mjs/picker/PickerHandler.d.ts +112 -112
- package/lib-mjs/picker/PickerHandler.js +1 -1
- package/lib-mjs/picker/PickerHandler.js.map +1 -1
- package/lib-mjs/picker/PickerHelper.d.ts +22 -22
- package/lib-mjs/picker/PickerHelper.js +1 -1
- package/lib-mjs/picker/PickerHelper.js.map +1 -1
- package/lib-mjs/picker/PickerHelperImpl.d.ts +25 -25
- package/lib-mjs/picker/PickerHelperImpl.js +50 -50
- package/lib-mjs/picker/PickerHelperImpl.js.map +1 -1
- package/lib-mjs/picker/PickerPlugin.d.ts +54 -54
- package/lib-mjs/picker/PickerPlugin.js +213 -213
- package/lib-mjs/picker/PickerPlugin.js.map +1 -1
- package/lib-mjs/picker/getQueryString.d.ts +5 -5
- package/lib-mjs/picker/getQueryString.js +31 -31
- package/lib-mjs/picker/getQueryString.js.map +1 -1
- package/lib-mjs/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
- package/lib-mjs/pluginUtils/CreateElement/CreateElementData.js +1 -1
- package/lib-mjs/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
- package/lib-mjs/pluginUtils/CreateElement/createElement.d.ts +9 -9
- package/lib-mjs/pluginUtils/CreateElement/createElement.js +47 -47
- package/lib-mjs/pluginUtils/CreateElement/createElement.js.map +1 -1
- package/lib-mjs/pluginUtils/Disposable.d.ts +10 -10
- package/lib-mjs/pluginUtils/Disposable.js +1 -1
- package/lib-mjs/pluginUtils/Disposable.js.map +1 -1
- package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
- package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.js +1 -1
- package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
- package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
- package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.js +117 -117
- package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
- package/lib-mjs/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
- package/lib-mjs/pluginUtils/Rect/getIntersectedRect.js +41 -41
- package/lib-mjs/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
- package/lib-mjs/shortcut/ShortcutCommand.d.ts +44 -44
- package/lib-mjs/shortcut/ShortcutCommand.js +1 -1
- package/lib-mjs/shortcut/ShortcutCommand.js.map +1 -1
- package/lib-mjs/shortcut/ShortcutPlugin.d.ts +51 -51
- package/lib-mjs/shortcut/ShortcutPlugin.js +122 -122
- package/lib-mjs/shortcut/ShortcutPlugin.js.map +1 -1
- package/lib-mjs/shortcut/shortcuts.d.ts +92 -92
- package/lib-mjs/shortcut/shortcuts.js +235 -235
- package/lib-mjs/shortcut/shortcuts.js.map +1 -1
- package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.d.ts +5 -5
- package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.js +17 -17
- package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
- package/lib-mjs/tableEdit/OnTableEditorCreatedCallback.d.ts +5 -5
- package/lib-mjs/tableEdit/OnTableEditorCreatedCallback.js +1 -1
- package/lib-mjs/tableEdit/OnTableEditorCreatedCallback.js.map +1 -1
- package/lib-mjs/tableEdit/TableEditPlugin.d.ts +56 -56
- package/lib-mjs/tableEdit/TableEditPlugin.js +168 -168
- package/lib-mjs/tableEdit/TableEditPlugin.js.map +1 -1
- package/lib-mjs/tableEdit/TableWithRoot.d.ts +15 -15
- package/lib-mjs/tableEdit/TableWithRoot.js +1 -1
- package/lib-mjs/tableEdit/TableWithRoot.js.map +1 -1
- package/lib-mjs/tableEdit/editors/TableEditor.d.ts +90 -86
- package/lib-mjs/tableEdit/editors/TableEditor.js +375 -338
- package/lib-mjs/tableEdit/editors/TableEditor.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/CellResizer.d.ts +55 -54
- package/lib-mjs/tableEdit/editors/features/CellResizer.js +239 -203
- package/lib-mjs/tableEdit/editors/features/CellResizer.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/TableEditFeature.d.ts +13 -13
- package/lib-mjs/tableEdit/editors/features/TableEditFeature.js +12 -12
- package/lib-mjs/tableEdit/editors/features/TableEditFeature.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/TableEditFeatureName.d.ts +4 -4
- package/lib-mjs/tableEdit/editors/features/TableEditFeatureName.js +1 -1
- package/lib-mjs/tableEdit/editors/features/TableEditFeatureName.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/TableInserter.d.ts +33 -33
- package/lib-mjs/tableEdit/editors/features/TableInserter.js +121 -121
- package/lib-mjs/tableEdit/editors/features/TableInserter.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/TableMover.d.ts +53 -53
- package/lib-mjs/tableEdit/editors/features/TableMover.js +227 -227
- package/lib-mjs/tableEdit/editors/features/TableMover.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/TableResizer.d.ts +50 -50
- package/lib-mjs/tableEdit/editors/features/TableResizer.js +183 -183
- package/lib-mjs/tableEdit/editors/features/TableResizer.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/TableRowColumnSelector.d.ts +42 -0
- package/lib-mjs/tableEdit/editors/features/TableRowColumnSelector.js +216 -0
- package/lib-mjs/tableEdit/editors/features/TableRowColumnSelector.js.map +1 -0
- package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.d.ts +6 -6
- package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.js +16 -15
- package/lib-mjs/tableEdit/editors/utils/getTableFromContentModel.js.map +1 -1
- package/lib-mjs/touch/TouchPlugin.d.ts +32 -32
- package/lib-mjs/touch/TouchPlugin.js +208 -206
- package/lib-mjs/touch/TouchPlugin.js.map +1 -1
- package/lib-mjs/utils/getNodePositionFromEvent.d.ts +5 -5
- package/lib-mjs/utils/getNodePositionFromEvent.js +29 -29
- package/lib-mjs/utils/getNodePositionFromEvent.js.map +1 -1
- package/lib-mjs/watermark/WatermarkFormat.d.ts +5 -5
- package/lib-mjs/watermark/WatermarkFormat.js +1 -1
- package/lib-mjs/watermark/WatermarkFormat.js.map +1 -1
- package/lib-mjs/watermark/WatermarkPlugin.d.ts +42 -42
- package/lib-mjs/watermark/WatermarkPlugin.js +134 -134
- package/lib-mjs/watermark/WatermarkPlugin.js.map +1 -1
- package/lib-mjs/watermark/isModelEmptyFast.d.ts +5 -5
- package/lib-mjs/watermark/isModelEmptyFast.js +33 -33
- package/lib-mjs/watermark/isModelEmptyFast.js.map +1 -1
- package/package.json +5 -5
- package/lib/paste/pasteSourceValidations/getPasteSource.d.ts +0 -28
- package/lib/paste/pasteSourceValidations/getPasteSource.js.map +0 -1
- package/lib-amd/paste/pasteSourceValidations/getPasteSource.d.ts +0 -28
- package/lib-amd/paste/pasteSourceValidations/getPasteSource.js.map +0 -1
- package/lib-mjs/paste/pasteSourceValidations/getPasteSource.d.ts +0 -28
- 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,87 +1,87 @@
|
|
|
1
|
-
define(["require", "exports", "../../pluginUtils/CreateElement/createElement", "../types/ImageEditElementClass", "roosterjs-content-model-dom", "../constants/constants"], function (require, exports, createElement_1, ImageEditElementClass_1, roosterjs_content_model_dom_1, constants_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.createImageResizer = void 0;
|
|
5
|
-
var RESIZE_HANDLE_MARGIN = 6;
|
|
6
|
-
var RESIZE_HANDLE_SIZE = 10;
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
function createImageResizer(doc, disableSideResize, onShowResizeHandle) {
|
|
11
|
-
var cornerElements = getCornerResizeHTML(onShowResizeHandle);
|
|
12
|
-
var sideElements = getSideResizeHTML(onShowResizeHandle);
|
|
13
|
-
var handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);
|
|
14
|
-
return handles
|
|
15
|
-
.map(function (element) {
|
|
16
|
-
var handle = (0, createElement_1.createElement)(element, doc);
|
|
17
|
-
if ((0, roosterjs_content_model_dom_1.isNodeOfType)(handle, 'ELEMENT_NODE') && (0, roosterjs_content_model_dom_1.isElementOfType)(handle, 'div')) {
|
|
18
|
-
return handle;
|
|
19
|
-
}
|
|
20
|
-
})
|
|
21
|
-
.filter(function (element) { return !!element; });
|
|
22
|
-
}
|
|
23
|
-
exports.createImageResizer = createImageResizer;
|
|
24
|
-
/**
|
|
25
|
-
* @internal
|
|
26
|
-
* Get HTML for resize handles at the corners
|
|
27
|
-
*/
|
|
28
|
-
function getCornerResizeHTML(onShowResizeHandle) {
|
|
29
|
-
var result = [];
|
|
30
|
-
constants_1.Xs.forEach(function (x) {
|
|
31
|
-
return constants_1.Ys.forEach(function (y) {
|
|
32
|
-
var elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
33
|
-
if (onShowResizeHandle && elementData) {
|
|
34
|
-
onShowResizeHandle(elementData, x, y);
|
|
35
|
-
}
|
|
36
|
-
if (elementData) {
|
|
37
|
-
result.push(elementData);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* @internal
|
|
45
|
-
* Get HTML for resize handles on the sides
|
|
46
|
-
*/
|
|
47
|
-
function getSideResizeHTML(onShowResizeHandle) {
|
|
48
|
-
var result = [];
|
|
49
|
-
constants_1.Xs.forEach(function (x) {
|
|
50
|
-
return constants_1.Ys.forEach(function (y) {
|
|
51
|
-
var elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
52
|
-
if (onShowResizeHandle && elementData) {
|
|
53
|
-
onShowResizeHandle(elementData, x, y);
|
|
54
|
-
}
|
|
55
|
-
if (elementData) {
|
|
56
|
-
result.push(elementData);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
return result;
|
|
61
|
-
}
|
|
62
|
-
var createHandleStyle = function (direction, topOrBottom, leftOrRight) {
|
|
63
|
-
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);";
|
|
64
|
-
};
|
|
65
|
-
function getResizeHandleHTML(x, y) {
|
|
66
|
-
var leftOrRight = x == 'w' ? 'left' : 'right';
|
|
67
|
-
var topOrBottom = y == 'n' ? 'top' : 'bottom';
|
|
68
|
-
var leftOrRightValue = x == '' ? '50%' : '0px';
|
|
69
|
-
var topOrBottomValue = y == '' ? '50%' : '0px';
|
|
70
|
-
var direction = y + x;
|
|
71
|
-
return x == '' && y == ''
|
|
72
|
-
? null
|
|
73
|
-
: {
|
|
74
|
-
tag: 'div',
|
|
75
|
-
style: "position:absolute;" + leftOrRight + ":" + leftOrRightValue + ";" + topOrBottom + ":" + topOrBottomValue,
|
|
76
|
-
children: [
|
|
77
|
-
{
|
|
78
|
-
tag: 'div',
|
|
79
|
-
style: createHandleStyle(direction, topOrBottom, leftOrRight),
|
|
80
|
-
className: ImageEditElementClass_1.ImageEditElementClass.ResizeHandle,
|
|
81
|
-
dataset: { x: x, y: y },
|
|
82
|
-
},
|
|
83
|
-
],
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
});
|
|
1
|
+
define(["require", "exports", "../../pluginUtils/CreateElement/createElement", "../types/ImageEditElementClass", "roosterjs-content-model-dom", "../constants/constants"], function (require, exports, createElement_1, ImageEditElementClass_1, roosterjs_content_model_dom_1, constants_1) {
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createImageResizer = void 0;
|
|
5
|
+
var RESIZE_HANDLE_MARGIN = 6;
|
|
6
|
+
var RESIZE_HANDLE_SIZE = 10;
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
function createImageResizer(doc, disableSideResize, onShowResizeHandle) {
|
|
11
|
+
var cornerElements = getCornerResizeHTML(onShowResizeHandle);
|
|
12
|
+
var sideElements = getSideResizeHTML(onShowResizeHandle);
|
|
13
|
+
var handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);
|
|
14
|
+
return handles
|
|
15
|
+
.map(function (element) {
|
|
16
|
+
var handle = (0, createElement_1.createElement)(element, doc);
|
|
17
|
+
if ((0, roosterjs_content_model_dom_1.isNodeOfType)(handle, 'ELEMENT_NODE') && (0, roosterjs_content_model_dom_1.isElementOfType)(handle, 'div')) {
|
|
18
|
+
return handle;
|
|
19
|
+
}
|
|
20
|
+
})
|
|
21
|
+
.filter(function (element) { return !!element; });
|
|
22
|
+
}
|
|
23
|
+
exports.createImageResizer = createImageResizer;
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
* Get HTML for resize handles at the corners
|
|
27
|
+
*/
|
|
28
|
+
function getCornerResizeHTML(onShowResizeHandle) {
|
|
29
|
+
var result = [];
|
|
30
|
+
constants_1.Xs.forEach(function (x) {
|
|
31
|
+
return constants_1.Ys.forEach(function (y) {
|
|
32
|
+
var elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
33
|
+
if (onShowResizeHandle && elementData) {
|
|
34
|
+
onShowResizeHandle(elementData, x, y);
|
|
35
|
+
}
|
|
36
|
+
if (elementData) {
|
|
37
|
+
result.push(elementData);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
* Get HTML for resize handles on the sides
|
|
46
|
+
*/
|
|
47
|
+
function getSideResizeHTML(onShowResizeHandle) {
|
|
48
|
+
var result = [];
|
|
49
|
+
constants_1.Xs.forEach(function (x) {
|
|
50
|
+
return constants_1.Ys.forEach(function (y) {
|
|
51
|
+
var elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
52
|
+
if (onShowResizeHandle && elementData) {
|
|
53
|
+
onShowResizeHandle(elementData, x, y);
|
|
54
|
+
}
|
|
55
|
+
if (elementData) {
|
|
56
|
+
result.push(elementData);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
var createHandleStyle = function (direction, topOrBottom, leftOrRight) {
|
|
63
|
+
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);";
|
|
64
|
+
};
|
|
65
|
+
function getResizeHandleHTML(x, y) {
|
|
66
|
+
var leftOrRight = x == 'w' ? 'left' : 'right';
|
|
67
|
+
var topOrBottom = y == 'n' ? 'top' : 'bottom';
|
|
68
|
+
var leftOrRightValue = x == '' ? '50%' : '0px';
|
|
69
|
+
var topOrBottomValue = y == '' ? '50%' : '0px';
|
|
70
|
+
var direction = y + x;
|
|
71
|
+
return x == '' && y == ''
|
|
72
|
+
? null
|
|
73
|
+
: {
|
|
74
|
+
tag: 'div',
|
|
75
|
+
style: "position:absolute;" + leftOrRight + ":" + leftOrRightValue + ";" + topOrBottom + ":" + topOrBottomValue,
|
|
76
|
+
children: [
|
|
77
|
+
{
|
|
78
|
+
tag: 'div',
|
|
79
|
+
style: createHandleStyle(direction, topOrBottom, leftOrRight),
|
|
80
|
+
className: ImageEditElementClass_1.ImageEditElementClass.ResizeHandle,
|
|
81
|
+
dataset: { x: x, y: y },
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
87
|
//# 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>;
|