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":";;;;AAAA,mDAAkD;AAClD,iEAAgE;AAChE,yDAA+E;AAC/E,iEAAgE;AAChE,2DAAmD;AACnD,6DAA4E;AAC5E,+EAA8E;AAC9E,uEAAsE;AACtE,mEAAkE;AAClE,6DAA4D;AAC5D,mEAA4F;AAC5F,uEAAsE;AACtE,2EAA0E;AAC1E,2DAAmD;AACnD,2DAAmD;AACnD,iEAAgE;AAChE,mEAAkE;AAClE,uDAAsD;AACtD,2EAUqC;AAmBrC,IAAM,cAAc,GAA8B;IAC9C,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,KAAK;IACxB,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;CACtC,CAAC;AAEF,IAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,IAAM,OAAO,GAAG,WAAW,CAAC;AAC5B,IAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,IAAM,sBAAsB,GAAG,qBAAqB,CAAC;AACrD,IAAM,uBAAuB,GAAG,gBAAgB,CAAC;AAEjD;;;;;;GAMG;AACH;IAoBI,yBAAY,OAA0B;QAnB5B,WAAM,GAAmB,IAAI,CAAC;QAChC,eAAU,GAA2B,IAAI,CAAC;QAC1C,kBAAa,GAA4B,IAAI,CAAC;QAC5C,YAAO,GAA2B,IAAI,CAAC;QACvC,kBAAa,GAA+B,IAAI,CAAC;QACnD,qBAAgB,GAA4B,IAAI,CAAC;QACjD,eAAU,GAAiD,EAAE,CAAC;QAC9D,gBAAW,GAA4B,IAAI,CAAC;QAC5C,YAAO,GAAkB,IAAI,CAAC;QAC9B,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,aAAQ,GAAqB,EAAE,CAAC;QAChC,aAAQ,GAAqB,EAAE,CAAC;QAChC,aAAQ,GAAqB,EAAE,CAAC;QAChC,cAAS,GAAW,CAAC,CAAC;QACtB,aAAQ,GAAwB,IAAI,CAAC;QACnC,cAAS,GAAG,KAAK,CAAC;QAIxB,IAAI,CAAC,OAAO,mDAAQ,cAAc,GAAK,OAAO,CAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,iCAAO,GAAP;QACI,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,oCAAU,GAAV,UAAW,MAAe;QAA1B,iBAmCC;QAlCG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;YAClC,IAAI,EAAE;gBACF,cAAc,EAAE;oBACZ,IAAI,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE;wBAC5D,KAAI,CAAC,2BAA2B,CAC5B,KAAI,CAAC,MAAM,EACX,KAAI,CAAC,UAAU,EACf,IAAI,CAAC,uBAAuB,CAC/B,CAAC;qBACL;gBACL,CAAC;aACJ;YACD,SAAS,EAAE;gBACP,cAAc,EAAE,UAAA,EAAE;oBACd,IAAI,KAAI,CAAC,MAAM,EAAE;wBACb,IAAM,MAAM,GAAG,EAAE,CAAC,MAAc,CAAC;wBACjC,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BAC/B,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC;yBACnC;qBACJ;gBACL,CAAC;aACJ;YACD,OAAO,EAAE;gBACL,cAAc,EAAE,UAAA,EAAE;oBACd,IAAI,KAAI,CAAC,MAAM,EAAE;wBACb,IAAM,MAAM,GAAG,EAAE,CAAC,MAAc,CAAC;wBACjC,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;4BAC9D,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;yBACrD;qBACJ;gBACL,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,iCAAO,GAAP;QACI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,uCAAa,GAAb,UAAc,KAAkB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO;SACV;QACD,QAAQ,KAAK,CAAC,SAAS,EAAE;YACrB,KAAK,WAAW;gBACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM;YACV,KAAK,SAAS;gBACV,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACxC,MAAM;YACV,KAAK,SAAS;gBACV,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACxC,MAAM;YACV,KAAK,gBAAgB;gBACjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM;YACV,KAAK,uBAAuB;gBACxB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM;YACV,KAAK,yBAAyB;gBAC1B,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrC,MAAM;SACb;IACL,CAAC;IAEO,uDAA6B,GAArC;QACI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE;YAC5D,IAAI,CAAC,2BAA2B,CAC5B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,KAAK,CAAC,uBAAuB,CAChC,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;IACL,CAAC;IAEO,4CAAkB,GAA1B,UAA2B,UAAuB;QAC9C,IAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,UAAA,KAAK;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;aACpC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,0CAAgB,GAAxB,UAAyB,MAAY;QACjC,OAAO,CACH,IAAA,0CAAY,EAAC,MAAM,EAAE,cAAc,CAAC;YACpC,CAAC,IAAA,6CAAe,EAAC,MAAM,EAAE,KAAK,CAAC;gBAC3B,CAAC,CAAC,CACE,IAAA,6CAAe,EAAC,MAAM,EAAE,MAAM,CAAC;oBAC/B,MAAM,CAAC,iBAAiB;oBACxB,IAAA,0CAAY,EAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;oBACtD,IAAA,6CAAe,EAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CACnD,CAAC,CACT,CAAC;IACN,CAAC;IAEO,wCAAc,GAAtB,UAAuB,MAAe,EAAE,KAAmB;QACvD,IAAM,SAAS,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC5D,IAAM,iBAAiB,GACnB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAc,CAAC;gBACpD,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,gBAAgB,CAAC;YAC/C,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;SAChF;IACL,CAAC;IAEO,0CAAgB,GAAxB,UAAyB,MAAe,EAAE,KAAqB;QAC3D,IACI,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAc,CAAC;YACpD,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,gBAAgB;YAC1C,CAAC,IAAI,CAAC,UAAU,EAClB;YACE,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7D;IACL,CAAC;IAEO,uCAAa,GAArB,UAAsB,MAAe;QACjC,IAAM,SAAS,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,OAAO,EAAE;YAC5B,MAAM,CAAC,kBAAkB,CAAC,UAAA,KAAK;gBAC3B,IAAM,YAAY,GAAG,IAAA,mCAAgB,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACjE,IAAM,YAAY,GAAG,IAAA,mCAAgB,EACjC,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CACjD,CAAC;gBACF,IAAI,YAAY,IAAI,YAAY,EAAE;oBAC9B,IAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxD,YAAY,CAAC,KAAK,CACrB,CAAC;oBACF,IAAA,yCAAW,EAAC,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;oBACrE,IAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC;oBACnC,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;oBACzC,IAAA,2CAAa,EAAC,SAAS,EAAE,OAAO,EAAE,UAAA,KAAK;wBACnC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;wBACxB,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;oBAC5C,CAAC,CAAC,CAAC;oBAEH,OAAO,IAAI,CAAC;iBACf;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,wCAAc,GAAtB,UAAuB,MAAe,EAAE,KAAmB;QACvD,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IACI,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ;gBAC/B,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ;gBAC/B,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,WAAW,EACpC;gBACE,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE;oBACjC,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC7B;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;iBAAM;gBACH,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;oBAClD,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;iBACnC;gBACD,IAAI,CAAC,2BAA2B,CAC5B,MAAM,EACN,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,yBAAyB,EAC9B,KAAK,CAAC,oBAAoB,CAC7B,CAAC;aACL;SACJ;IACL,CAAC;IAEO,2CAAiB,GAAzB,UAA0B,MAAe;QACrC,IAAM,SAAS,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,OAAO,EAAE;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAA,2CAAa,EAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;IACL,CAAC;IAEO,4CAAkB,GAA1B,UAA2B,KAA0B;QACjD,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,uBAAuB,EAAE;YACnE,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;IACL,CAAC;IAEO,+CAAqB,GAA7B,UAA8B,MAAe,EAAE,KAA0B;QACrE,QAAQ,KAAK,CAAC,MAAM,EAAE;YAClB,KAAK,0CAAY,CAAC,UAAU;gBACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,0CAAY,CAAC,MAAM;gBACpB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,0CAAY,CAAC,IAAI;gBAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM;SACb;IACL,CAAC;IAED;;OAEG;IACO,qDAA2B,GAArC,UACI,MAAe,EACf,UAAmB,EACnB,iBAA2B,EAC3B,cAAwB;QAJ5B,iBA8HC;QAxHG,IAAI,iBAAgD,CAAC;QACrD,IAAM,SAAS,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAY,KAAK,CAAC;QAE3B,MAAM,CAAC,kBAAkB,CACrB,UAAC,KAAK,EAAE,OAAO;YACX,IAAM,YAAY,GAAG,IAAA,mCAAgB,EAAC,KAAK,CAAC,CAAC;YAC7C,IAAM,qBAAqB,GAAG,cAAc;gBACxC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAA,mCAAgB,EAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,GAAG,KAAK,CAAC;YAEnB,sFAAsF;YACtF,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAErC,IACI,iBAAiB;gBACjB,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,MAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAA;gBACnD,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,CAAC,MAAM,CAAC,UAAU,KAAI,iCAAc;gBAChE,cAAc,EAChB;gBACQ,IAAA,KAAyD,KAAI,EAA3D,SAAO,aAAA,EAAE,eAAa,mBAAA,EAAE,eAAa,mBAAA,EAAE,aAAW,iBAAS,CAAC;gBACpE,IACI,CAAC,KAAI,CAAC,SAAS,IAAI,cAAc,CAAC;oBAClC,qBAAqB;oBACrB,SAAO;oBACP,eAAa;oBACb,eAAa;oBACb,aAAW,EACb;oBACE,IAAA,2CAAa,EACT,qBAAqB,CAAC,SAAS,EAC/B,qBAAqB,CAAC,KAAK,EAC3B,UAAA,KAAK;wBACD,IAAM,WAAW,GAAG,IAAA,yBAAW,EAC3B,MAAM,EACN,eAAa,EACb,KAAK,EACL,eAAa,EACb,SAAO,EACP,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,UAAU,EACvC,aAAW,CACd,CAAC;wBAEF,IAAI,KAAI,CAAC,eAAe,IAAI,WAAW,IAAI,cAAc,EAAE;4BACvD,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;yBACpC;wBACD,IAAM,WAAW,GACb,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,OAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAA,CAAC;wBACzD,KAAK,CAAC,UAAU,GAAG,WAAW,IAAI,iBAAiB,CAAC;wBACpD,KAAK,CAAC,0BAA0B,GAAG,WAAW,IAAI,iBAAiB,CAAC;wBACpE,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;wBAEpC,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;4BAC1D,IAAM,kBAAkB,GAAG,IAAA,mDAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BAC9D,IAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAA,SAAS;gCACpD,OAAA,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAAlC,CAAkC,CACrC,CAAC;4BACF,IAAI,cAAc,EAAE;gCAChB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;6BAC3B;yBACJ;oBACL,CAAC,CACJ,CAAC;oBAEF,IAAI,iBAAiB,EAAE;wBACnB,IAAA,iDAAuB,EAAC,qBAAqB,CAAC,CAAC;qBAClD;oBAED,KAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,MAAM,GAAG,IAAI,CAAC;iBACjB;gBAED,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAExB,IACI,YAAY;oBACZ,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,OAAO;oBAC1B,CAAC,iBAAiB;oBAClB,CAAC,cAAc,EACjB;oBACE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC7B,IAAA,2CAAa,EAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,UAAA,KAAK;wBAC3D,iBAAiB,GAAG,KAAK,CAAC;wBAC1B,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;wBACzD,KAAI,CAAC,aAAa,GAAG,IAAA,yCAAmB,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;wBACjE,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBAEH,MAAM,GAAG,IAAI,CAAC;iBACjB;aACJ;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,EACD;YACI,aAAa,EAAE,UAAC,KAAK,EAAE,IAAI;gBACvB,IACI,CAAC,cAAc;oBACf,iBAAiB;oBACjB,iBAAiB,IAAI,KAAK;oBAC1B,iBAAiB,CAAC,MAAM,CAAC,UAAU,IAAI,iCAAc;oBACrD,IAAA,0CAAY,EAAC,IAAI,EAAE,cAAc,CAAC;oBAClC,IAAA,6CAAe,EAAC,IAAI,EAAE,KAAK,CAAC,EAC9B;oBACE,IAAI,UAAU,EAAE;wBACZ,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;qBAC3C;yBAAM;wBACH,KAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;qBAClD;iBACJ;YACL,CAAC;YACD,OAAO,EAAE,uBAAuB;SACnC,EACD;YACI,eAAe,EAAE,IAAI;SACxB,CACJ,CAAC;IACN,CAAC;IAEO,sCAAY,GAApB,UACI,MAAe,EACf,KAAuB,EACvB,YAAkC;QAHtC,iBA4BC;QAvBG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,IAAA,8CAAwB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,IACI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC;YACrE,CAAC,KAAK,CAAC,QAAQ,EACjB;YACE,+EAA+E;YAC/E,KAAK,CAAC,MAAM,GAAG;gBACX,KAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBACxC,KAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;gBACvD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC;YACF,KAAK,CAAC,OAAO,GAAG;gBACZ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC;SACL;aAAM;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;SAC1D;IACL,CAAC;IAEO,qDAA2B,GAAnC,UAAoC,KAAuB;;QACvD,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,MAAK,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,QAAQ,MAAK,CAAC,EAAE;YACzE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;SACpD;IACL,CAAC;IAEO,8CAAoB,GAA5B,UACI,MAAe,EACf,KAAuB,EACvB,YAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,IAAA,8CAAwB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAA,yCAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAA,KAOF,IAAA,uCAAkB,EAClB,MAAM,EACN,KAAK,EACL,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,YAAY,CACf,EAbG,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,QAAQ,cAQX,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAA,uCAAsB,EAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAE5D,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,+BAA+B,EAAE;YACrE,kBAAgB,IAAA,+CAAiB,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAG;SAC9D,CAAC,CAAC;QAEH,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,CAAC;IAC/E,CAAC;IAEM,8CAAoB,GAA3B,UAA4B,MAAe,EAAE,KAAuB,EAAE,KAAc;QAApF,iBAmGC;;QAlGG,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC9E,IAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,gBAAgB,CAAC;gBACnE,IAAI,CAAC,UAAU,iFACR,IAAA,6CAAqB,EACpB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,6CAAqB,CAAC,YAAY,EAClC,wBAAO,EACP;oBACI,IACI,KAAI,CAAC,aAAa;wBAClB,KAAI,CAAC,aAAa;wBAClB,KAAI,CAAC,OAAO;wBACZ,KAAI,CAAC,WAAW,EAClB;wBACE,IAAA,6BAAa,EACT,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,OAAO,EACZ,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,WAAW,EAChB,KAAI,CAAC,OAAO,EACZ,KAAI,CAAC,QAAQ,EACb,SAAS,CAAC,cAAc,EACxB,KAAK,CACR,CAAC;wBACF,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;qBAC/B;gBACL,CAAC,EACD,IAAI,CAAC,SAAS,EACd,eAAe,CAClB,+BACE,IAAA,6CAAqB,EACpB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,6CAAqB,CAAC,YAAY,EAClC,wBAAO,EACP;;oBACI,IACI,KAAI,CAAC,aAAa;wBAClB,KAAI,CAAC,aAAa;wBAClB,KAAI,CAAC,OAAO;wBACZ,KAAI,CAAC,WAAW,EAClB;wBACE,IAAA,6BAAa,EACT,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,OAAO,EACZ,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,WAAW,EAChB,KAAI,CAAC,OAAO,EACZ,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,cAAc,EACxB,KAAK,EACL,IAAI,CAAC,gBAAgB,CACxB,CAAC;wBACF,KAAI,CAAC,uBAAuB,CACxB,MAAM,EACN,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,OAAO,EACZ,KAAI,CAAC,QAAQ,EACb,MAAA,KAAI,CAAC,aAAa,0CAAE,QAAQ,EAC5B,CAAC,CAAC,CAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,iBAAiB,CAAA,CACpC,CAAC;wBACF,KAAI,CAAC,2BAA2B,CAC5B,KAAI,CAAC,QAAQ,EACb,KAAI,CAAC,aAAa,CAAC,QAAQ,CAC9B,CAAC;qBACL;gBACL,CAAC,EACD,IAAI,CAAC,SAAS,EACd,eAAe,CAClB,SACJ,CAAC;gBAEF,IAAA,6BAAa,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,SAAS,CAAC,cAAc,EACxB,KAAK,CACR,CAAC;gBAEF,IAAI,CAAC,uBAAuB,CACxB,MAAM,EACN,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,MAAA,IAAI,CAAC,aAAa,0CAAE,QAAQ,EAC5B,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,CAAA,CACpC,CAAC;aACL;SACJ;IACL,CAAC;IAEO,qDAA2B,GAAnC,UAAoC,QAA0B,EAAE,QAA4B;QACxF,IAAM,aAAa,GAAG,IAAA,qDAAyB,EAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAA,uCAAkB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC/C;IACL,CAAC;IAEO,iDAAuB,GAA/B,UACI,MAAe,EACf,KAAuB,EACvB,OAAwB,EACxB,QAA0B,EAC1B,QAA4B,EAC5B,iBAA0B;QAE1B,IAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC7C,IAAM,UAAU,GAAG,IAAA,8BAAa,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAChD,IACI,IAAA,0CAAY,EAAC,aAAa,EAAE,cAAc,CAAC;gBAC3C,IAAA,6CAAe,EAAC,aAAa,EAAE,KAAK,CAAC,EACvC;gBACE,IAAA,uCAAkB,EACd,QAAQ,EACR,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,EACb,OAAO,EACP,OAAO,EACP,aAAa,EACb,UAAU,EACV,iBAAiB,CACpB,CAAC;aACL;SACJ;IACL,CAAC;IAEM,4CAAkB,GAAzB,UAA0B,SAA6B;QACnD,OAAO,CACH,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,MAAM;YACpB,SAAS,KAAK,MAAM,CACvB,CAAC;IACN,CAAC;IAEM,4CAAkB,GAAzB,UAA0B,KAAuB;QAC7C,OAAO,IAAA,uCAAkB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,uCAAa,GAArB,UAAsB,MAAe,EAAE,KAAuB,EAAE,KAAc;QAA9E,iBA+CC;QA9CG,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC9E,IAAI,CAAC,UAAU,sDACR,IAAA,6CAAqB,EACpB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,6CAAqB,CAAC,UAAU,EAChC,wBAAO,EACP;oBACI,IACI,KAAI,CAAC,aAAa;wBAClB,KAAI,CAAC,aAAa;wBAClB,KAAI,CAAC,OAAO;wBACZ,KAAI,CAAC,WAAW,EAClB;wBACE,IAAA,6BAAa,EACT,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,OAAO,EACZ,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,WAAW,EAChB,KAAI,CAAC,OAAO,EACZ,SAAS,CAAC,cAAc,EACxB,KAAI,CAAC,QAAQ,EACb,KAAK,CACR,CAAC;wBACF,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;qBAC1B;gBACL,CAAC,EACD,IAAI,CAAC,SAAS,EACd,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,gBAAgB,CAC7C,SACJ,CAAC;gBACF,IAAA,6BAAa,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,SAAS,CAAC,cAAc,EACxB,IAAI,CAAC,QAAQ,EACb,KAAK,CACR,CAAC;aACL;SACJ;IACL,CAAC;IAEM,mCAAS,GAAhB;QACI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO;SACV;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,6FAA6F;SACrH;QACD,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,OAAO,EAAE;YAC5B,IAAI,CAAC,2BAA2B,CAC5B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,gBAAgB,EACrB,KAAK,CAAC,uBAAuB,CAChC,CAAC;SACL;IACL,CAAC;IAEO,mCAAS,GAAjB,UACI,MAAe,EACf,KAAuB,EACvB,YAAkC,EAClC,SAAuD;QAEvD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAClF,OAAO;SACV;QAED,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9B,IAAA,6BAAa,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,CACf,CAAC;QAEF,IAAI,CAAC,2BAA2B,CAC5B,MAAM,EACN,KAAK,CAAC,YAAY,EAClB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,oBAAoB,CAC5B,CAAC;IACN,CAAC;IAED;;OAEG;IACI,mCAAS,GAAhB;;QACI,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACpD,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,EAAE,EAAhB,CAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAEO,4CAAkB,GAA1B;QACI,IAAI,KAAK,GAA4B,IAAI,CAAC;QAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YAClD,IACI,IAAI,CAAC,UAAU,CAAC,iBAAiB;gBACjC,IAAA,0CAAY,EAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC;gBAC/D,IAAA,6CAAe,EAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAC3D;gBACE,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;aAC7C;YACD,IAAA,oCAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,mCAAS,GAAhB,UAAiB,SAAoC;;QACjD,IAAM,SAAS,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1D,OAAO;SACV;QACD,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,UAAA,aAAa;gBACtD,IAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAC7C,IAAM,mBAAmB,GACrB,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACzD,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,IAAI,mBAAmB,EAAE;oBACrB,IAAI,SAAS,KAAK,YAAY,EAAE;wBAC5B,aAAa,CAAC,eAAe,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC;qBAClE;yBAAM;wBACH,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;qBACtE;iBACJ;qBAAM;oBACH,IAAI,SAAS,KAAK,UAAU,EAAE;wBAC1B,aAAa,CAAC,eAAe,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC;qBAClE;yBAAM;wBACH,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;qBACtE;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEM,qCAAW,GAAlB,UAAmB,QAAgB;;QAC/B,IAAM,SAAS,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1D,OAAO;SACV;QACD,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,UAAA,aAAa;gBAChD,aAAa,CAAC,QAAQ,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC;YACtE,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IACL,sBAAC;AAAD,CAAC,AAhyBD,IAgyBC;AAhyBY,0CAAe","sourcesContent":["import { applyChange } from './utils/applyChange';\nimport { canRegenerateImage } from './utils/canRegenerateImage';\nimport { checkIfImageWasResized, isASmallImage } from './utils/imageEditUtils';\nimport { createImageWrapper } from './utils/createImageWrapper';\nimport { Cropper } from './Cropper/cropperContext';\nimport { EDITING_MARKER, findEditingImage } from './utils/findEditingImage';\nimport { filterInnerResizerHandles } from './utils/filterInnerResizerHandles';\nimport { getDropAndDragHelpers } from './utils/getDropAndDragHelpers';\nimport { getHTMLImageOptions } from './utils/getHTMLImageOptions';\nimport { getSelectedImage } from './utils/getSelectedImage';\nimport { getSelectedImageMetadata, updateImageEditInfo } from './utils/updateImageEditInfo';\nimport { ImageEditElementClass } from './types/ImageEditElementClass';\nimport { normalizeImageSelection } from './utils/normalizeImageSelection';\nimport { Resizer } from './Resizer/resizerContext';\nimport { Rotator } from './Rotator/rotatorContext';\nimport { updateHandleCursor } from './utils/updateHandleCursor';\nimport { updateRotateHandle } from './Rotator/updateRotateHandle';\nimport { updateWrapper } from './utils/updateWrapper';\nimport {\n ChangeSource,\n getSafeIdSelector,\n getSelectedParagraphs,\n isElementOfType,\n isNodeOfType,\n mutateBlock,\n mutateSegment,\n setImageState,\n unwrap,\n} from 'roosterjs-content-model-dom';\nimport type { DragAndDropHelper } from '../pluginUtils/DragAndDrop/DragAndDropHelper';\nimport type { DragAndDropContext } from './types/DragAndDropContext';\nimport type { ImageHtmlOptions } from './types/ImageHtmlOptions';\nimport type { ImageEditOptions } from './types/ImageEditOptions';\nimport type {\n ContentChangedEvent,\n ContentModelImage,\n EditorPlugin,\n IEditor,\n ImageEditOperation,\n ImageEditor,\n ImageMetadataFormat,\n KeyDownEvent,\n MouseDownEvent,\n MouseUpEvent,\n PluginEvent,\n} from 'roosterjs-content-model-types';\n\nconst DefaultOptions: Partial<ImageEditOptions> = {\n borderColor: '#DB626C',\n minWidth: 10,\n minHeight: 10,\n preserveRatio: true,\n disableRotate: false,\n disableSideResize: false,\n onSelectState: ['resize', 'rotate'],\n};\n\nconst MouseRightButton = 2;\nconst DRAG_ID = '_dragging';\nconst IMAGE_EDIT_CLASS = 'imageEdit';\nconst IMAGE_EDIT_CLASS_CARET = 'imageEditCaretColor';\nconst IMAGE_EDIT_FORMAT_EVENT = 'ImageEditEvent';\n\n/**\n * ImageEdit plugin handles the following image editing features:\n * - Resize image\n * - Crop image\n * - Rotate image\n * - Flip image\n */\nexport class ImageEditPlugin implements ImageEditor, EditorPlugin {\n protected editor: IEditor | null = null;\n private shadowSpan: HTMLSpanElement | null = null;\n private selectedImage: HTMLImageElement | null = null;\n protected wrapper: HTMLSpanElement | null = null;\n protected imageEditInfo: ImageMetadataFormat | null = null;\n private imageHTMLOptions: ImageHtmlOptions | null = null;\n private dndHelpers: DragAndDropHelper<DragAndDropContext, any>[] = [];\n private clonedImage: HTMLImageElement | null = null;\n private lastSrc: string | null = null;\n private wasImageResized: boolean = false;\n private isCropMode: boolean = false;\n private resizers: HTMLDivElement[] = [];\n private rotators: HTMLDivElement[] = [];\n private croppers: HTMLDivElement[] = [];\n private zoomScale: number = 1;\n private disposer: (() => void) | null = null;\n protected isEditing = false;\n protected options: ImageEditOptions;\n\n constructor(options?: ImageEditOptions) {\n this.options = { ...DefaultOptions, ...options };\n }\n\n /**\n * Get name of this plugin\n */\n getName() {\n return 'ImageEdit';\n }\n\n /**\n * The first method that editor will call to a plugin when editor is initializing.\n * It will pass in the editor instance, plugin should take this chance to save the\n * editor reference so that it can call to any editor method or format API later.\n * @param editor The editor object\n */\n initialize(editor: IEditor) {\n this.editor = editor;\n this.disposer = editor.attachDomEvent({\n blur: {\n beforeDispatch: () => {\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\n this.applyFormatWithContentModel(\n this.editor,\n this.isCropMode,\n true /* shouldSelectImage */\n );\n }\n },\n },\n dragstart: {\n beforeDispatch: ev => {\n if (this.editor) {\n const target = ev.target as Node;\n if (this.isImageSelection(target)) {\n target.id = target.id + DRAG_ID;\n }\n }\n },\n },\n dragend: {\n beforeDispatch: ev => {\n if (this.editor) {\n const target = ev.target as Node;\n if (this.isImageSelection(target) && target.id.includes(DRAG_ID)) {\n target.id = target.id.replace(DRAG_ID, '').trim();\n }\n }\n },\n },\n });\n }\n\n /**\n * The last method that editor will call to a plugin before it is disposed.\n * Plugin can take this chance to clear the reference to editor. After this method is\n * called, plugin should not call to any editor method since it will result in error.\n */\n dispose() {\n if (this.disposer) {\n this.disposer();\n this.disposer = null;\n }\n this.isEditing = false;\n this.cleanInfo();\n this.editor = null;\n }\n\n /**\n * Core method for a plugin. Once an event happens in editor, editor will call this\n * method of each plugin to handle the event as long as the event is not handled\n * exclusively by another plugin.\n * @param event The event to handle:\n */\n onPluginEvent(event: PluginEvent) {\n if (!this.editor) {\n return;\n }\n switch (event.eventType) {\n case 'mouseDown':\n this.mouseDownHandler(this.editor, event);\n break;\n case 'mouseUp':\n this.mouseUpHandler(this.editor, event);\n break;\n case 'keyDown':\n this.keyDownHandler(this.editor, event);\n break;\n case 'contentChanged':\n this.contentChangedHandler(this.editor, event);\n break;\n case 'extractContentWithDom':\n this.removeImageEditing(event.clonedRoot);\n break;\n case 'beforeLogicalRootChange':\n this.handleBeforeLogicalRootChange();\n break;\n }\n }\n\n private handleBeforeLogicalRootChange() {\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\n this.applyFormatWithContentModel(\n this.editor,\n this.isCropMode,\n false /* shouldSelectImage */\n );\n this.removeImageWrapper();\n this.cleanInfo();\n }\n }\n\n private removeImageEditing(clonedRoot: HTMLElement) {\n const images = clonedRoot.querySelectorAll('img');\n images.forEach(image => {\n if (image.dataset.editingInfo) {\n delete image.dataset.editingInfo;\n }\n });\n }\n\n private isImageSelection(target: Node): target is HTMLElement {\n return (\n isNodeOfType(target, 'ELEMENT_NODE') &&\n (isElementOfType(target, 'img') ||\n !!(\n isElementOfType(target, 'span') &&\n target.firstElementChild &&\n isNodeOfType(target.firstElementChild, 'ELEMENT_NODE') &&\n isElementOfType(target.firstElementChild, 'img')\n ))\n );\n }\n\n private mouseUpHandler(editor: IEditor, event: MouseUpEvent) {\n const selection = editor.getDOMSelection();\n if ((selection && selection.type == 'image') || this.isEditing) {\n const shouldSelectImage =\n this.isImageSelection(event.rawEvent.target as Node) &&\n event.rawEvent.button === MouseRightButton;\n this.applyFormatWithContentModel(editor, this.isCropMode, shouldSelectImage);\n }\n }\n\n private mouseDownHandler(editor: IEditor, event: MouseDownEvent) {\n if (\n this.isEditing &&\n this.isImageSelection(event.rawEvent.target as Node) &&\n event.rawEvent.button !== MouseRightButton &&\n !this.isCropMode\n ) {\n this.applyFormatWithContentModel(editor, this.isCropMode);\n }\n }\n\n private onDropHandler(editor: IEditor) {\n const selection = editor.getDOMSelection();\n if (selection?.type == 'image') {\n editor.formatContentModel(model => {\n const imageDragged = findEditingImage(model, selection.image.id);\n const imageDropped = findEditingImage(\n model,\n selection.image.id.replace(DRAG_ID, '').trim()\n );\n if (imageDragged && imageDropped) {\n const draggedIndex = imageDragged.paragraph.segments.indexOf(\n imageDragged.image\n );\n mutateBlock(imageDragged.paragraph).segments.splice(draggedIndex, 1);\n const segment = imageDropped.image;\n const paragraph = imageDropped.paragraph;\n mutateSegment(paragraph, segment, image => {\n image.isSelected = true;\n image.isSelectedAsImageSelection = true;\n });\n\n return true;\n }\n return false;\n });\n }\n }\n\n private keyDownHandler(editor: IEditor, event: KeyDownEvent) {\n if (this.isEditing) {\n if (\n event.rawEvent.key === 'Escape' ||\n event.rawEvent.key === 'Delete' ||\n event.rawEvent.key === 'Backspace'\n ) {\n if (event.rawEvent.key === 'Escape') {\n this.removeImageWrapper();\n }\n this.cleanInfo();\n } else {\n if (event.rawEvent.key == 'Enter' && this.isCropMode) {\n event.rawEvent.preventDefault();\n }\n this.applyFormatWithContentModel(\n editor,\n this.isCropMode,\n true /** should selectImage */,\n false /* isApiOperation */\n );\n }\n }\n }\n\n private setContentHandler(editor: IEditor) {\n const selection = editor.getDOMSelection();\n if (selection?.type == 'image') {\n this.cleanInfo();\n setImageState(selection.image, '');\n this.isEditing = false;\n this.isCropMode = false;\n }\n }\n\n private formatEventHandler(event: ContentChangedEvent) {\n if (this.isEditing && event.formatApiName !== IMAGE_EDIT_FORMAT_EVENT) {\n this.cleanInfo();\n this.isEditing = false;\n this.isCropMode = false;\n }\n }\n\n private contentChangedHandler(editor: IEditor, event: ContentChangedEvent) {\n switch (event.source) {\n case ChangeSource.SetContent:\n this.setContentHandler(editor);\n break;\n case ChangeSource.Format:\n this.formatEventHandler(event);\n break;\n case ChangeSource.Drop:\n this.onDropHandler(editor);\n break;\n }\n }\n\n /**\n * EXPOSED FOR TESTING PURPOSE ONLY\n */\n protected applyFormatWithContentModel(\n editor: IEditor,\n isCropMode: boolean,\n shouldSelectImage?: boolean,\n isApiOperation?: boolean\n ) {\n let editingImageModel: ContentModelImage | undefined;\n const selection = editor.getDOMSelection();\n let isRTL: boolean = false;\n\n editor.formatContentModel(\n (model, context) => {\n const editingImage = getSelectedImage(model);\n const previousSelectedImage = isApiOperation\n ? editingImage\n : findEditingImage(model);\n let result = false;\n\n // Skip adding undo snapshot for now. If we detect any changes later, we will reset it\n context.skipUndoSnapshot = 'SkipAll';\n\n if (\n shouldSelectImage ||\n previousSelectedImage?.image != editingImage?.image ||\n previousSelectedImage?.image.format.imageState == EDITING_MARKER ||\n isApiOperation\n ) {\n const { lastSrc, selectedImage, imageEditInfo, clonedImage } = this;\n if (\n (this.isEditing || isApiOperation) &&\n previousSelectedImage &&\n lastSrc &&\n selectedImage &&\n imageEditInfo &&\n clonedImage\n ) {\n mutateSegment(\n previousSelectedImage.paragraph,\n previousSelectedImage.image,\n image => {\n const changeState = applyChange(\n editor,\n selectedImage,\n image,\n imageEditInfo,\n lastSrc,\n this.wasImageResized || this.isCropMode,\n clonedImage\n );\n\n if (this.wasImageResized || changeState == 'FullyChanged') {\n context.skipUndoSnapshot = false;\n }\n const isSameImage =\n previousSelectedImage?.image === editingImage?.image;\n image.isSelected = isSameImage || shouldSelectImage;\n image.isSelectedAsImageSelection = isSameImage || shouldSelectImage;\n image.format.imageState = undefined;\n\n if (selection?.type == 'range' && !selection.range.collapsed) {\n const selectedParagraphs = getSelectedParagraphs(model, true);\n const isImageInRange = selectedParagraphs.some(paragraph =>\n paragraph.segments.includes(image)\n );\n if (isImageInRange) {\n image.isSelected = true;\n }\n }\n }\n );\n\n if (shouldSelectImage) {\n normalizeImageSelection(previousSelectedImage);\n }\n\n this.cleanInfo();\n result = true;\n }\n\n this.isEditing = false;\n this.isCropMode = false;\n\n if (\n editingImage &&\n selection?.type == 'image' &&\n !shouldSelectImage &&\n !isApiOperation\n ) {\n this.isEditing = true;\n this.isCropMode = isCropMode;\n mutateSegment(editingImage.paragraph, editingImage.image, image => {\n editingImageModel = image;\n isRTL = editingImage.paragraph.format.direction == 'rtl';\n this.imageEditInfo = updateImageEditInfo(image, selection.image);\n image.format.imageState = 'isEditing';\n });\n\n result = true;\n }\n }\n\n return result;\n },\n {\n onNodeCreated: (model, node) => {\n if (\n !isApiOperation &&\n editingImageModel &&\n editingImageModel == model &&\n editingImageModel.format.imageState == EDITING_MARKER &&\n isNodeOfType(node, 'ELEMENT_NODE') &&\n isElementOfType(node, 'img')\n ) {\n if (isCropMode) {\n this.startCropMode(editor, node, isRTL);\n } else {\n this.startRotateAndResize(editor, node, isRTL);\n }\n }\n },\n apiName: IMAGE_EDIT_FORMAT_EVENT,\n },\n {\n tryGetFromCache: true,\n }\n );\n }\n\n private startEditing(\n editor: IEditor,\n image: HTMLImageElement,\n apiOperation: ImageEditOperation[]\n ) {\n if (!this.imageEditInfo) {\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\n }\n\n if (\n (this.imageEditInfo.widthPx == 0 || this.imageEditInfo.heightPx == 0) &&\n !image.complete\n ) {\n // Image dimensions are zero and loading is incomplete, wait for image to load.\n image.onload = () => {\n this.updateImageDimensionsIfZero(image);\n this.startEditingInternal(editor, image, apiOperation);\n image.onload = null;\n image.onerror = null;\n };\n image.onerror = () => {\n image.onload = null;\n image.onerror = null;\n };\n } else {\n this.updateImageDimensionsIfZero(image);\n this.startEditingInternal(editor, image, apiOperation);\n }\n }\n\n private updateImageDimensionsIfZero(image: HTMLImageElement) {\n if (this.imageEditInfo?.widthPx === 0 || this.imageEditInfo?.heightPx === 0) {\n this.imageEditInfo.widthPx = image.clientWidth;\n this.imageEditInfo.heightPx = image.clientHeight;\n }\n }\n\n private startEditingInternal(\n editor: IEditor,\n image: HTMLImageElement,\n apiOperation: ImageEditOperation[]\n ) {\n if (!this.imageEditInfo) {\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\n }\n\n this.imageHTMLOptions = getHTMLImageOptions(editor, this.options, this.imageEditInfo);\n this.lastSrc = image.getAttribute('src');\n\n const {\n resizers,\n rotators,\n wrapper,\n shadowSpan,\n imageClone,\n croppers,\n } = createImageWrapper(\n editor,\n image,\n this.options,\n this.imageEditInfo,\n this.imageHTMLOptions,\n apiOperation\n );\n this.shadowSpan = shadowSpan;\n this.selectedImage = image;\n this.wrapper = wrapper;\n this.clonedImage = imageClone;\n this.wasImageResized = checkIfImageWasResized(image);\n this.resizers = resizers;\n this.rotators = rotators;\n this.croppers = croppers;\n this.zoomScale = editor.getDOMHelper().calculateZoomScale();\n\n editor.setEditorStyle(IMAGE_EDIT_CLASS, `outline-style:none!important;`, [\n `span:has(>img${getSafeIdSelector(this.selectedImage.id)})`,\n ]);\n\n editor.setEditorStyle(IMAGE_EDIT_CLASS_CARET, `caret-color: transparent;`);\n }\n\n public startRotateAndResize(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\n if (this.imageEditInfo) {\n this.startEditing(editor, image, ['resize', 'rotate']);\n if (this.selectedImage && this.imageEditInfo && this.wrapper && this.clonedImage) {\n const isMobileOrTable = !!editor.getEnvironment().isMobileOrTablet;\n this.dndHelpers = [\n ...getDropAndDragHelpers(\n this.wrapper,\n this.imageEditInfo,\n this.options,\n ImageEditElementClass.ResizeHandle,\n Resizer,\n () => {\n if (\n this.imageEditInfo &&\n this.selectedImage &&\n this.wrapper &&\n this.clonedImage\n ) {\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n this.resizers,\n undefined /* croppers */,\n isRTL\n );\n this.wasImageResized = true;\n }\n },\n this.zoomScale,\n isMobileOrTable\n ),\n ...getDropAndDragHelpers(\n this.wrapper,\n this.imageEditInfo,\n this.options,\n ImageEditElementClass.RotateHandle,\n Rotator,\n () => {\n if (\n this.imageEditInfo &&\n this.selectedImage &&\n this.wrapper &&\n this.clonedImage\n ) {\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n undefined /* resizers */,\n undefined /* croppers */,\n isRTL,\n true /* isRotating */\n );\n this.updateRotateHandleState(\n editor,\n this.selectedImage,\n this.wrapper,\n this.rotators,\n this.imageEditInfo?.angleRad,\n !!this.options?.disableSideResize\n );\n this.updateResizeHandleDirection(\n this.resizers,\n this.imageEditInfo.angleRad\n );\n }\n },\n this.zoomScale,\n isMobileOrTable\n ),\n ];\n\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n this.resizers,\n undefined /* croppers */,\n isRTL\n );\n\n this.updateRotateHandleState(\n editor,\n this.selectedImage,\n this.wrapper,\n this.rotators,\n this.imageEditInfo?.angleRad,\n !!this.options?.disableSideResize\n );\n }\n }\n }\n\n private updateResizeHandleDirection(resizers: HTMLDivElement[], angleRad: number | undefined) {\n const resizeHandles = filterInnerResizerHandles(resizers);\n if (angleRad !== undefined) {\n updateHandleCursor(resizeHandles, angleRad);\n }\n }\n\n private updateRotateHandleState(\n editor: IEditor,\n image: HTMLImageElement,\n wrapper: HTMLSpanElement,\n rotators: HTMLDivElement[],\n angleRad: number | undefined,\n disableSideResize: boolean\n ) {\n const viewport = editor.getVisibleViewport();\n const smallImage = isASmallImage(image.width, image.height);\n if (viewport && rotators && rotators.length > 0) {\n const rotator = rotators[0];\n const rotatorHandle = rotator.firstElementChild;\n if (\n isNodeOfType(rotatorHandle, 'ELEMENT_NODE') &&\n isElementOfType(rotatorHandle, 'div')\n ) {\n updateRotateHandle(\n viewport,\n angleRad ?? 0,\n wrapper,\n rotator,\n rotatorHandle,\n smallImage,\n disableSideResize\n );\n }\n }\n }\n\n public isOperationAllowed(operation: ImageEditOperation): boolean {\n return (\n operation === 'resize' ||\n operation === 'rotate' ||\n operation === 'flip' ||\n operation === 'crop'\n );\n }\n\n public canRegenerateImage(image: HTMLImageElement): boolean {\n return canRegenerateImage(image);\n }\n\n private startCropMode(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\n if (this.imageEditInfo) {\n this.startEditing(editor, image, ['crop']);\n if (this.imageEditInfo && this.selectedImage && this.wrapper && this.clonedImage) {\n this.dndHelpers = [\n ...getDropAndDragHelpers(\n this.wrapper,\n this.imageEditInfo,\n this.options,\n ImageEditElementClass.CropHandle,\n Cropper,\n () => {\n if (\n this.imageEditInfo &&\n this.selectedImage &&\n this.wrapper &&\n this.clonedImage\n ) {\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n undefined /* resizers */,\n this.croppers,\n isRTL\n );\n this.isCropMode = true;\n }\n },\n this.zoomScale,\n !!editor.getEnvironment().isMobileOrTablet\n ),\n ];\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper,\n undefined /* resizers */,\n this.croppers,\n isRTL\n );\n }\n }\n }\n\n public cropImage() {\n if (!this.editor) {\n return;\n }\n if (!this.editor.getEnvironment().isSafari) {\n this.editor.focus(); // Safari will keep the selection when click crop, then the focus() call should not be called\n }\n const selection = this.editor.getDOMSelection();\n if (selection?.type == 'image') {\n this.applyFormatWithContentModel(\n this.editor,\n true /* isCropMode */,\n false /* shouldSelectImage */\n );\n }\n }\n\n private editImage(\n editor: IEditor,\n image: HTMLImageElement,\n apiOperation: ImageEditOperation[],\n operation: (imageEditInfo: ImageMetadataFormat) => void\n ) {\n this.startEditing(editor, image, apiOperation);\n if (!this.selectedImage || !this.imageEditInfo || !this.wrapper || !this.clonedImage) {\n return;\n }\n\n operation(this.imageEditInfo);\n\n updateWrapper(\n this.imageEditInfo,\n this.options,\n this.selectedImage,\n this.clonedImage,\n this.wrapper\n );\n\n this.applyFormatWithContentModel(\n editor,\n false /* isCrop */,\n true /* shouldSelect*/,\n true /* isApiOperation */\n );\n }\n\n /**\n * Exported for testing purpose only\n */\n public cleanInfo() {\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS, null);\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS_CARET, null);\n this.selectedImage = null;\n this.shadowSpan = null;\n this.wrapper = null;\n this.imageEditInfo = null;\n this.imageHTMLOptions = null;\n this.dndHelpers.forEach(helper => helper.dispose());\n this.dndHelpers = [];\n this.clonedImage = null;\n this.lastSrc = null;\n this.wasImageResized = false;\n this.isCropMode = false;\n this.resizers = [];\n this.rotators = [];\n this.croppers = [];\n }\n\n private removeImageWrapper() {\n let image: HTMLImageElement | null = null;\n if (this.shadowSpan && this.shadowSpan.parentElement) {\n if (\n this.shadowSpan.firstElementChild &&\n isNodeOfType(this.shadowSpan.firstElementChild, 'ELEMENT_NODE') &&\n isElementOfType(this.shadowSpan.firstElementChild, 'img')\n ) {\n image = this.shadowSpan.firstElementChild;\n }\n unwrap(this.shadowSpan);\n this.shadowSpan = null;\n this.wrapper = null;\n }\n\n return image;\n }\n\n public flipImage(direction: 'horizontal' | 'vertical') {\n const selection = this.editor?.getDOMSelection();\n if (!this.editor || !selection || selection.type !== 'image') {\n return;\n }\n const image = selection.image;\n if (this.editor) {\n this.editImage(this.editor, image, ['flip'], imageEditInfo => {\n const angleRad = imageEditInfo.angleRad || 0;\n const isInVerticalPostion =\n (angleRad >= Math.PI / 2 && angleRad < (3 * Math.PI) / 4) ||\n (angleRad <= -Math.PI / 2 && angleRad > (-3 * Math.PI) / 4);\n if (isInVerticalPostion) {\n if (direction === 'horizontal') {\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\n } else {\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\n }\n } else {\n if (direction === 'vertical') {\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\n } else {\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\n }\n }\n });\n }\n }\n\n public rotateImage(angleRad: number) {\n const selection = this.editor?.getDOMSelection();\n if (!this.editor || !selection || selection.type !== 'image') {\n return;\n }\n const image = selection.image;\n if (this.editor) {\n this.editImage(this.editor, image, [], imageEditInfo => {\n imageEditInfo.angleRad = (imageEditInfo.angleRad || 0) + angleRad;\n });\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ImageEditPlugin.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/ImageEditPlugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { applyChange } from './utils/applyChange';\r\nimport { canRegenerateImage } from './utils/canRegenerateImage';\r\nimport { checkIfImageWasResized, isASmallImage } from './utils/imageEditUtils';\r\nimport { createImageWrapper } from './utils/createImageWrapper';\r\nimport { Cropper } from './Cropper/cropperContext';\r\nimport { EDITING_MARKER, findEditingImage } from './utils/findEditingImage';\r\nimport { filterInnerResizerHandles } from './utils/filterInnerResizerHandles';\r\nimport { getDropAndDragHelpers } from './utils/getDropAndDragHelpers';\r\nimport { getHTMLImageOptions } from './utils/getHTMLImageOptions';\r\nimport { getSelectedImage } from './utils/getSelectedImage';\r\nimport { getSelectedImageMetadata, updateImageEditInfo } from './utils/updateImageEditInfo';\r\nimport { ImageEditElementClass } from './types/ImageEditElementClass';\r\nimport { normalizeImageSelection } from './utils/normalizeImageSelection';\r\nimport { Resizer } from './Resizer/resizerContext';\r\nimport { Rotator } from './Rotator/rotatorContext';\r\nimport { updateHandleCursor } from './utils/updateHandleCursor';\r\nimport { updateRotateHandle } from './Rotator/updateRotateHandle';\r\nimport { updateWrapper } from './utils/updateWrapper';\r\nimport {\r\n ChangeSource,\r\n getSafeIdSelector,\r\n getSelectedParagraphs,\r\n isElementOfType,\r\n isNodeOfType,\r\n mutateBlock,\r\n mutateSegment,\r\n setImageState,\r\n unwrap,\r\n} from 'roosterjs-content-model-dom';\r\nimport type { DragAndDropHelper } from '../pluginUtils/DragAndDrop/DragAndDropHelper';\r\nimport type { DragAndDropContext } from './types/DragAndDropContext';\r\nimport type { ImageHtmlOptions } from './types/ImageHtmlOptions';\r\nimport type { ImageEditOptions } from './types/ImageEditOptions';\r\nimport type {\r\n ContentChangedEvent,\r\n ContentModelImage,\r\n EditorPlugin,\r\n IEditor,\r\n ImageEditOperation,\r\n ImageEditor,\r\n ImageMetadataFormat,\r\n KeyDownEvent,\r\n MouseDownEvent,\r\n MouseUpEvent,\r\n PluginEvent,\r\n} from 'roosterjs-content-model-types';\r\n\r\nconst DefaultOptions: Partial<ImageEditOptions> = {\r\n borderColor: '#DB626C',\r\n minWidth: 10,\r\n minHeight: 10,\r\n preserveRatio: true,\r\n disableRotate: false,\r\n disableSideResize: false,\r\n onSelectState: ['resize', 'rotate'],\r\n};\r\n\r\nconst MouseRightButton = 2;\r\nconst DRAG_ID = '_dragging';\r\nconst IMAGE_EDIT_CLASS = 'imageEdit';\r\nconst IMAGE_EDIT_CLASS_CARET = 'imageEditCaretColor';\r\nconst IMAGE_EDIT_FORMAT_EVENT = 'ImageEditEvent';\r\n\r\n/**\r\n * ImageEdit plugin handles the following image editing features:\r\n * - Resize image\r\n * - Crop image\r\n * - Rotate image\r\n * - Flip image\r\n */\r\nexport class ImageEditPlugin implements ImageEditor, EditorPlugin {\r\n protected editor: IEditor | null = null;\r\n private shadowSpan: HTMLSpanElement | null = null;\r\n private selectedImage: HTMLImageElement | null = null;\r\n protected wrapper: HTMLSpanElement | null = null;\r\n protected imageEditInfo: ImageMetadataFormat | null = null;\r\n private imageHTMLOptions: ImageHtmlOptions | null = null;\r\n private dndHelpers: DragAndDropHelper<DragAndDropContext, any>[] = [];\r\n private clonedImage: HTMLImageElement | null = null;\r\n private lastSrc: string | null = null;\r\n private wasImageResized: boolean = false;\r\n private isCropMode: boolean = false;\r\n private resizers: HTMLDivElement[] = [];\r\n private rotators: HTMLDivElement[] = [];\r\n private croppers: HTMLDivElement[] = [];\r\n private zoomScale: number = 1;\r\n private disposer: (() => void) | null = null;\r\n protected isEditing = false;\r\n protected options: ImageEditOptions;\r\n\r\n constructor(options?: ImageEditOptions) {\r\n this.options = { ...DefaultOptions, ...options };\r\n }\r\n\r\n /**\r\n * Get name of this plugin\r\n */\r\n getName() {\r\n return 'ImageEdit';\r\n }\r\n\r\n /**\r\n * The first method that editor will call to a plugin when editor is initializing.\r\n * It will pass in the editor instance, plugin should take this chance to save the\r\n * editor reference so that it can call to any editor method or format API later.\r\n * @param editor The editor object\r\n */\r\n initialize(editor: IEditor) {\r\n this.editor = editor;\r\n this.disposer = editor.attachDomEvent({\r\n blur: {\r\n beforeDispatch: () => {\r\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\r\n this.applyFormatWithContentModel(\r\n this.editor,\r\n this.isCropMode,\r\n true /* shouldSelectImage */\r\n );\r\n }\r\n },\r\n },\r\n dragstart: {\r\n beforeDispatch: ev => {\r\n if (this.editor) {\r\n const target = ev.target as Node;\r\n if (this.isImageSelection(target)) {\r\n target.id = target.id + DRAG_ID;\r\n }\r\n }\r\n },\r\n },\r\n dragend: {\r\n beforeDispatch: ev => {\r\n if (this.editor) {\r\n const target = ev.target as Node;\r\n if (this.isImageSelection(target) && target.id.includes(DRAG_ID)) {\r\n target.id = target.id.replace(DRAG_ID, '').trim();\r\n }\r\n }\r\n },\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * The last method that editor will call to a plugin before it is disposed.\r\n * Plugin can take this chance to clear the reference to editor. After this method is\r\n * called, plugin should not call to any editor method since it will result in error.\r\n */\r\n dispose() {\r\n if (this.disposer) {\r\n this.disposer();\r\n this.disposer = null;\r\n }\r\n this.isEditing = false;\r\n this.cleanInfo();\r\n this.editor = null;\r\n }\r\n\r\n /**\r\n * Core method for a plugin. Once an event happens in editor, editor will call this\r\n * method of each plugin to handle the event as long as the event is not handled\r\n * exclusively by another plugin.\r\n * @param event The event to handle:\r\n */\r\n onPluginEvent(event: PluginEvent) {\r\n if (!this.editor) {\r\n return;\r\n }\r\n switch (event.eventType) {\r\n case 'mouseDown':\r\n this.mouseDownHandler(this.editor, event);\r\n break;\r\n case 'mouseUp':\r\n this.mouseUpHandler(this.editor, event);\r\n break;\r\n case 'keyDown':\r\n this.keyDownHandler(this.editor, event);\r\n break;\r\n case 'contentChanged':\r\n this.contentChangedHandler(this.editor, event);\r\n break;\r\n case 'extractContentWithDom':\r\n this.removeImageEditing(event.clonedRoot);\r\n break;\r\n case 'beforeLogicalRootChange':\r\n this.handleBeforeLogicalRootChange();\r\n break;\r\n }\r\n }\r\n\r\n private handleBeforeLogicalRootChange() {\r\n if (this.isEditing && this.editor && !this.editor.isDisposed()) {\r\n this.applyFormatWithContentModel(\r\n this.editor,\r\n this.isCropMode,\r\n false /* shouldSelectImage */\r\n );\r\n this.removeImageWrapper();\r\n this.cleanInfo();\r\n }\r\n }\r\n\r\n private removeImageEditing(clonedRoot: HTMLElement) {\r\n const images = clonedRoot.querySelectorAll('img');\r\n images.forEach(image => {\r\n if (image.dataset.editingInfo) {\r\n delete image.dataset.editingInfo;\r\n }\r\n });\r\n }\r\n\r\n private isImageSelection(target: Node): target is HTMLElement {\r\n return (\r\n isNodeOfType(target, 'ELEMENT_NODE') &&\r\n (isElementOfType(target, 'img') ||\r\n !!(\r\n isElementOfType(target, 'span') &&\r\n target.firstElementChild &&\r\n isNodeOfType(target.firstElementChild, 'ELEMENT_NODE') &&\r\n isElementOfType(target.firstElementChild, 'img')\r\n ))\r\n );\r\n }\r\n\r\n private mouseUpHandler(editor: IEditor, event: MouseUpEvent) {\r\n const selection = editor.getDOMSelection();\r\n if ((selection && selection.type == 'image') || this.isEditing) {\r\n const shouldSelectImage =\r\n this.isImageSelection(event.rawEvent.target as Node) &&\r\n event.rawEvent.button === MouseRightButton;\r\n this.applyFormatWithContentModel(editor, this.isCropMode, shouldSelectImage);\r\n }\r\n }\r\n\r\n private mouseDownHandler(editor: IEditor, event: MouseDownEvent) {\r\n if (\r\n this.isEditing &&\r\n this.isImageSelection(event.rawEvent.target as Node) &&\r\n event.rawEvent.button !== MouseRightButton &&\r\n !this.isCropMode\r\n ) {\r\n this.applyFormatWithContentModel(editor, this.isCropMode);\r\n }\r\n }\r\n\r\n private onDropHandler(editor: IEditor) {\r\n const selection = editor.getDOMSelection();\r\n if (selection?.type == 'image') {\r\n editor.formatContentModel(model => {\r\n const imageDragged = findEditingImage(model, selection.image.id);\r\n const imageDropped = findEditingImage(\r\n model,\r\n selection.image.id.replace(DRAG_ID, '').trim()\r\n );\r\n if (imageDragged && imageDropped) {\r\n const draggedIndex = imageDragged.paragraph.segments.indexOf(\r\n imageDragged.image\r\n );\r\n mutateBlock(imageDragged.paragraph).segments.splice(draggedIndex, 1);\r\n const segment = imageDropped.image;\r\n const paragraph = imageDropped.paragraph;\r\n mutateSegment(paragraph, segment, image => {\r\n image.isSelected = true;\r\n image.isSelectedAsImageSelection = true;\r\n });\r\n\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n }\r\n\r\n private keyDownHandler(editor: IEditor, event: KeyDownEvent) {\r\n if (this.isEditing) {\r\n if (\r\n event.rawEvent.key === 'Escape' ||\r\n event.rawEvent.key === 'Delete' ||\r\n event.rawEvent.key === 'Backspace'\r\n ) {\r\n if (event.rawEvent.key === 'Escape') {\r\n this.removeImageWrapper();\r\n }\r\n this.cleanInfo();\r\n } else {\r\n if (event.rawEvent.key == 'Enter' && this.isCropMode) {\r\n event.rawEvent.preventDefault();\r\n }\r\n this.applyFormatWithContentModel(\r\n editor,\r\n this.isCropMode,\r\n true /** should selectImage */,\r\n false /* isApiOperation */\r\n );\r\n }\r\n }\r\n }\r\n\r\n private setContentHandler() {\r\n if (this.selectedImage) {\r\n this.cleanInfo();\r\n setImageState(this.selectedImage, '');\r\n this.isEditing = false;\r\n this.isCropMode = false;\r\n }\r\n }\r\n\r\n private formatEventHandler(event: ContentChangedEvent) {\r\n if (this.isEditing && event.formatApiName !== IMAGE_EDIT_FORMAT_EVENT) {\r\n this.cleanInfo();\r\n this.isEditing = false;\r\n this.isCropMode = false;\r\n }\r\n }\r\n\r\n private contentChangedHandler(editor: IEditor, event: ContentChangedEvent) {\r\n switch (event.source) {\r\n case ChangeSource.SetContent:\r\n this.setContentHandler();\r\n break;\r\n case ChangeSource.Format:\r\n this.formatEventHandler(event);\r\n break;\r\n case ChangeSource.Drop:\r\n this.onDropHandler(editor);\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * EXPOSED FOR TESTING PURPOSE ONLY\r\n */\r\n protected applyFormatWithContentModel(\r\n editor: IEditor,\r\n isCropMode: boolean,\r\n shouldSelectImage?: boolean,\r\n isApiOperation?: boolean\r\n ) {\r\n let editingImageModel: ContentModelImage | undefined;\r\n const selection = editor.getDOMSelection();\r\n let isRTL: boolean = false;\r\n\r\n editor.formatContentModel(\r\n (model, context) => {\r\n const editingImage = getSelectedImage(model);\r\n const previousSelectedImage = isApiOperation\r\n ? editingImage\r\n : findEditingImage(model);\r\n let result = false;\r\n\r\n // Skip adding undo snapshot for now. If we detect any changes later, we will reset it\r\n context.skipUndoSnapshot = 'SkipAll';\r\n\r\n if (\r\n shouldSelectImage ||\r\n previousSelectedImage?.image != editingImage?.image ||\r\n previousSelectedImage?.image.format.imageState == EDITING_MARKER ||\r\n isApiOperation\r\n ) {\r\n const { lastSrc, selectedImage, imageEditInfo, clonedImage } = this;\r\n if (\r\n (this.isEditing || isApiOperation) &&\r\n previousSelectedImage &&\r\n lastSrc &&\r\n selectedImage &&\r\n imageEditInfo &&\r\n clonedImage\r\n ) {\r\n mutateSegment(\r\n previousSelectedImage.paragraph,\r\n previousSelectedImage.image,\r\n image => {\r\n const changeState = applyChange(\r\n editor,\r\n selectedImage,\r\n image,\r\n imageEditInfo,\r\n lastSrc,\r\n this.wasImageResized || this.isCropMode,\r\n clonedImage\r\n );\r\n\r\n if (this.wasImageResized || changeState == 'FullyChanged') {\r\n context.skipUndoSnapshot = false;\r\n }\r\n const isSameImage =\r\n previousSelectedImage?.image === editingImage?.image;\r\n image.isSelected = isSameImage || shouldSelectImage;\r\n image.isSelectedAsImageSelection = isSameImage || shouldSelectImage;\r\n image.format.imageState = undefined;\r\n\r\n if (selection?.type == 'range' && !selection.range.collapsed) {\r\n const selectedParagraphs = getSelectedParagraphs(model, true);\r\n const isImageInRange = selectedParagraphs.some(paragraph =>\r\n paragraph.segments.includes(image)\r\n );\r\n if (isImageInRange) {\r\n image.isSelected = true;\r\n }\r\n }\r\n }\r\n );\r\n\r\n if (shouldSelectImage) {\r\n normalizeImageSelection(previousSelectedImage);\r\n }\r\n\r\n this.cleanInfo();\r\n result = true;\r\n }\r\n\r\n this.isEditing = false;\r\n this.isCropMode = false;\r\n\r\n if (\r\n editingImage &&\r\n selection?.type == 'image' &&\r\n !shouldSelectImage &&\r\n !isApiOperation\r\n ) {\r\n this.isEditing = true;\r\n this.isCropMode = isCropMode;\r\n mutateSegment(editingImage.paragraph, editingImage.image, image => {\r\n editingImageModel = image;\r\n isRTL = editingImage.paragraph.format.direction == 'rtl';\r\n this.imageEditInfo = updateImageEditInfo(image, selection.image);\r\n image.format.imageState = 'isEditing';\r\n });\r\n\r\n result = true;\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n {\r\n onNodeCreated: (model, node) => {\r\n if (\r\n !isApiOperation &&\r\n editingImageModel &&\r\n editingImageModel == model &&\r\n editingImageModel.format.imageState == EDITING_MARKER &&\r\n isNodeOfType(node, 'ELEMENT_NODE') &&\r\n isElementOfType(node, 'img')\r\n ) {\r\n if (isCropMode) {\r\n this.startCropMode(editor, node, isRTL);\r\n } else {\r\n this.startRotateAndResize(editor, node, isRTL);\r\n }\r\n }\r\n },\r\n apiName: IMAGE_EDIT_FORMAT_EVENT,\r\n },\r\n {\r\n tryGetFromCache: true,\r\n }\r\n );\r\n }\r\n\r\n private startEditing(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n apiOperation: ImageEditOperation[]\r\n ) {\r\n if (!this.imageEditInfo) {\r\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\r\n }\r\n\r\n if (\r\n (this.imageEditInfo.widthPx == 0 || this.imageEditInfo.heightPx == 0) &&\r\n !image.complete\r\n ) {\r\n // Image dimensions are zero and loading is incomplete, wait for image to load.\r\n image.onload = () => {\r\n this.updateImageDimensionsIfZero(image);\r\n this.startEditingInternal(editor, image, apiOperation);\r\n image.onload = null;\r\n image.onerror = null;\r\n };\r\n image.onerror = () => {\r\n image.onload = null;\r\n image.onerror = null;\r\n };\r\n } else {\r\n this.updateImageDimensionsIfZero(image);\r\n this.startEditingInternal(editor, image, apiOperation);\r\n }\r\n }\r\n\r\n private updateImageDimensionsIfZero(image: HTMLImageElement) {\r\n if (this.imageEditInfo?.widthPx === 0 || this.imageEditInfo?.heightPx === 0) {\r\n this.imageEditInfo.widthPx = image.clientWidth;\r\n this.imageEditInfo.heightPx = image.clientHeight;\r\n }\r\n }\r\n\r\n private startEditingInternal(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n apiOperation: ImageEditOperation[]\r\n ) {\r\n if (!this.imageEditInfo) {\r\n this.imageEditInfo = getSelectedImageMetadata(editor, image);\r\n }\r\n\r\n this.imageHTMLOptions = getHTMLImageOptions(editor, this.options, this.imageEditInfo);\r\n this.lastSrc = image.getAttribute('src');\r\n\r\n const {\r\n resizers,\r\n rotators,\r\n wrapper,\r\n shadowSpan,\r\n imageClone,\r\n croppers,\r\n } = createImageWrapper(\r\n editor,\r\n image,\r\n this.options,\r\n this.imageEditInfo,\r\n this.imageHTMLOptions,\r\n apiOperation\r\n );\r\n this.shadowSpan = shadowSpan;\r\n this.selectedImage = image;\r\n this.wrapper = wrapper;\r\n this.clonedImage = imageClone;\r\n this.wasImageResized = checkIfImageWasResized(image);\r\n this.resizers = resizers;\r\n this.rotators = rotators;\r\n this.croppers = croppers;\r\n this.zoomScale = editor.getDOMHelper().calculateZoomScale();\r\n\r\n editor.setEditorStyle(IMAGE_EDIT_CLASS, `outline-style:none!important;`, [\r\n `span:has(>img${getSafeIdSelector(this.selectedImage.id)})`,\r\n ]);\r\n\r\n editor.setEditorStyle(IMAGE_EDIT_CLASS_CARET, `caret-color: transparent;`);\r\n }\r\n\r\n public startRotateAndResize(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\r\n if (this.imageEditInfo) {\r\n this.startEditing(editor, image, ['resize', 'rotate']);\r\n if (this.selectedImage && this.imageEditInfo && this.wrapper && this.clonedImage) {\r\n const isMobileOrTable = !!editor.getEnvironment().isMobileOrTablet;\r\n this.dndHelpers = [\r\n ...getDropAndDragHelpers(\r\n this.wrapper,\r\n this.imageEditInfo,\r\n this.options,\r\n ImageEditElementClass.ResizeHandle,\r\n Resizer,\r\n () => {\r\n if (\r\n this.imageEditInfo &&\r\n this.selectedImage &&\r\n this.wrapper &&\r\n this.clonedImage\r\n ) {\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n this.resizers,\r\n undefined /* croppers */,\r\n isRTL\r\n );\r\n this.wasImageResized = true;\r\n }\r\n },\r\n this.zoomScale,\r\n isMobileOrTable\r\n ),\r\n ...getDropAndDragHelpers(\r\n this.wrapper,\r\n this.imageEditInfo,\r\n this.options,\r\n ImageEditElementClass.RotateHandle,\r\n Rotator,\r\n () => {\r\n if (\r\n this.imageEditInfo &&\r\n this.selectedImage &&\r\n this.wrapper &&\r\n this.clonedImage\r\n ) {\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n undefined /* resizers */,\r\n undefined /* croppers */,\r\n isRTL,\r\n true /* isRotating */\r\n );\r\n this.updateRotateHandleState(\r\n editor,\r\n this.selectedImage,\r\n this.wrapper,\r\n this.rotators,\r\n this.imageEditInfo?.angleRad,\r\n !!this.options?.disableSideResize\r\n );\r\n this.updateResizeHandleDirection(\r\n this.resizers,\r\n this.imageEditInfo.angleRad\r\n );\r\n }\r\n },\r\n this.zoomScale,\r\n isMobileOrTable\r\n ),\r\n ];\r\n\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n this.resizers,\r\n undefined /* croppers */,\r\n isRTL\r\n );\r\n\r\n this.updateRotateHandleState(\r\n editor,\r\n this.selectedImage,\r\n this.wrapper,\r\n this.rotators,\r\n this.imageEditInfo?.angleRad,\r\n !!this.options?.disableSideResize\r\n );\r\n }\r\n }\r\n }\r\n\r\n private updateResizeHandleDirection(resizers: HTMLDivElement[], angleRad: number | undefined) {\r\n const resizeHandles = filterInnerResizerHandles(resizers);\r\n if (angleRad !== undefined) {\r\n updateHandleCursor(resizeHandles, angleRad);\r\n }\r\n }\r\n\r\n private updateRotateHandleState(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n wrapper: HTMLSpanElement,\r\n rotators: HTMLDivElement[],\r\n angleRad: number | undefined,\r\n disableSideResize: boolean\r\n ) {\r\n const viewport = editor.getVisibleViewport();\r\n const smallImage = isASmallImage(image.width, image.height);\r\n if (viewport && rotators && rotators.length > 0) {\r\n const rotator = rotators[0];\r\n const rotatorHandle = rotator.firstElementChild;\r\n if (\r\n isNodeOfType(rotatorHandle, 'ELEMENT_NODE') &&\r\n isElementOfType(rotatorHandle, 'div')\r\n ) {\r\n updateRotateHandle(\r\n viewport,\r\n angleRad ?? 0,\r\n wrapper,\r\n rotator,\r\n rotatorHandle,\r\n smallImage,\r\n disableSideResize\r\n );\r\n }\r\n }\r\n }\r\n\r\n public isOperationAllowed(operation: ImageEditOperation): boolean {\r\n return (\r\n operation === 'resize' ||\r\n operation === 'rotate' ||\r\n operation === 'flip' ||\r\n operation === 'crop'\r\n );\r\n }\r\n\r\n public canRegenerateImage(image: HTMLImageElement): boolean {\r\n return canRegenerateImage(image);\r\n }\r\n\r\n private startCropMode(editor: IEditor, image: HTMLImageElement, isRTL: boolean) {\r\n if (this.imageEditInfo) {\r\n this.startEditing(editor, image, ['crop']);\r\n if (this.imageEditInfo && this.selectedImage && this.wrapper && this.clonedImage) {\r\n this.dndHelpers = [\r\n ...getDropAndDragHelpers(\r\n this.wrapper,\r\n this.imageEditInfo,\r\n this.options,\r\n ImageEditElementClass.CropHandle,\r\n Cropper,\r\n () => {\r\n if (\r\n this.imageEditInfo &&\r\n this.selectedImage &&\r\n this.wrapper &&\r\n this.clonedImage\r\n ) {\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n undefined /* resizers */,\r\n this.croppers,\r\n isRTL\r\n );\r\n this.isCropMode = true;\r\n }\r\n },\r\n this.zoomScale,\r\n !!editor.getEnvironment().isMobileOrTablet\r\n ),\r\n ];\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper,\r\n undefined /* resizers */,\r\n this.croppers,\r\n isRTL\r\n );\r\n }\r\n }\r\n }\r\n\r\n public cropImage() {\r\n if (!this.editor) {\r\n return;\r\n }\r\n if (!this.editor.getEnvironment().isSafari) {\r\n this.editor.focus(); // Safari will keep the selection when click crop, then the focus() call should not be called\r\n }\r\n const selection = this.editor.getDOMSelection();\r\n if (selection?.type == 'image') {\r\n this.applyFormatWithContentModel(\r\n this.editor,\r\n true /* isCropMode */,\r\n false /* shouldSelectImage */\r\n );\r\n }\r\n }\r\n\r\n private editImage(\r\n editor: IEditor,\r\n image: HTMLImageElement,\r\n apiOperation: ImageEditOperation[],\r\n operation: (imageEditInfo: ImageMetadataFormat) => void\r\n ) {\r\n this.startEditing(editor, image, apiOperation);\r\n if (!this.selectedImage || !this.imageEditInfo || !this.wrapper || !this.clonedImage) {\r\n return;\r\n }\r\n\r\n operation(this.imageEditInfo);\r\n\r\n updateWrapper(\r\n this.imageEditInfo,\r\n this.options,\r\n this.selectedImage,\r\n this.clonedImage,\r\n this.wrapper\r\n );\r\n\r\n this.applyFormatWithContentModel(\r\n editor,\r\n false /* isCrop */,\r\n true /* shouldSelect*/,\r\n true /* isApiOperation */\r\n );\r\n }\r\n\r\n /**\r\n * Exported for testing purpose only\r\n */\r\n public cleanInfo() {\r\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS, null);\r\n this.editor?.setEditorStyle(IMAGE_EDIT_CLASS_CARET, null);\r\n this.selectedImage = null;\r\n this.shadowSpan = null;\r\n this.wrapper = null;\r\n this.imageEditInfo = null;\r\n this.imageHTMLOptions = null;\r\n this.dndHelpers.forEach(helper => helper.dispose());\r\n this.dndHelpers = [];\r\n this.clonedImage = null;\r\n this.lastSrc = null;\r\n this.wasImageResized = false;\r\n this.isCropMode = false;\r\n this.resizers = [];\r\n this.rotators = [];\r\n this.croppers = [];\r\n }\r\n\r\n private removeImageWrapper() {\r\n let image: HTMLImageElement | null = null;\r\n if (this.shadowSpan && this.shadowSpan.parentElement) {\r\n if (\r\n this.shadowSpan.firstElementChild &&\r\n isNodeOfType(this.shadowSpan.firstElementChild, 'ELEMENT_NODE') &&\r\n isElementOfType(this.shadowSpan.firstElementChild, 'img')\r\n ) {\r\n image = this.shadowSpan.firstElementChild;\r\n }\r\n unwrap(this.shadowSpan);\r\n this.shadowSpan = null;\r\n this.wrapper = null;\r\n }\r\n\r\n return image;\r\n }\r\n\r\n public flipImage(direction: 'horizontal' | 'vertical') {\r\n const selection = this.editor?.getDOMSelection();\r\n if (!this.editor || !selection || selection.type !== 'image') {\r\n return;\r\n }\r\n const image = selection.image;\r\n if (this.editor) {\r\n this.editImage(this.editor, image, ['flip'], imageEditInfo => {\r\n const angleRad = imageEditInfo.angleRad || 0;\r\n const isInVerticalPostion =\r\n (angleRad >= Math.PI / 2 && angleRad < (3 * Math.PI) / 4) ||\r\n (angleRad <= -Math.PI / 2 && angleRad > (-3 * Math.PI) / 4);\r\n if (isInVerticalPostion) {\r\n if (direction === 'horizontal') {\r\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\r\n } else {\r\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\r\n }\r\n } else {\r\n if (direction === 'vertical') {\r\n imageEditInfo.flippedVertical = !imageEditInfo.flippedVertical;\r\n } else {\r\n imageEditInfo.flippedHorizontal = !imageEditInfo.flippedHorizontal;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n public rotateImage(angleRad: number) {\r\n const selection = this.editor?.getDOMSelection();\r\n if (!this.editor || !selection || selection.type !== 'image') {\r\n return;\r\n }\r\n const image = selection.image;\r\n if (this.editor) {\r\n this.editImage(this.editor, image, [], imageEditInfo => {\r\n imageEditInfo.angleRad = (imageEditInfo.angleRad || 0) + angleRad;\r\n });\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';
|
|
2
|
-
import type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export interface OnShowResizeHandle {
|
|
7
|
-
(elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export declare function createImageResizer(doc: Document, disableSideResize: boolean, onShowResizeHandle?: OnShowResizeHandle): HTMLDivElement[];
|
|
1
|
+
import type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';
|
|
2
|
+
import type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export interface OnShowResizeHandle {
|
|
7
|
+
(elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare function createImageResizer(doc: Document, disableSideResize: boolean, onShowResizeHandle?: OnShowResizeHandle): HTMLDivElement[];
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createImageResizer = void 0;
|
|
4
|
-
var createElement_1 = require("../../pluginUtils/CreateElement/createElement");
|
|
5
|
-
var ImageEditElementClass_1 = require("../types/ImageEditElementClass");
|
|
6
|
-
var roosterjs_content_model_dom_1 = require("roosterjs-content-model-dom");
|
|
7
|
-
var constants_1 = require("../constants/constants");
|
|
8
|
-
var RESIZE_HANDLE_MARGIN = 6;
|
|
9
|
-
var RESIZE_HANDLE_SIZE = 10;
|
|
10
|
-
/**
|
|
11
|
-
* @internal
|
|
12
|
-
*/
|
|
13
|
-
function createImageResizer(doc, disableSideResize, onShowResizeHandle) {
|
|
14
|
-
var cornerElements = getCornerResizeHTML(onShowResizeHandle);
|
|
15
|
-
var sideElements = getSideResizeHTML(onShowResizeHandle);
|
|
16
|
-
var handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);
|
|
17
|
-
return handles
|
|
18
|
-
.map(function (element) {
|
|
19
|
-
var handle = (0, createElement_1.createElement)(element, doc);
|
|
20
|
-
if ((0, roosterjs_content_model_dom_1.isNodeOfType)(handle, 'ELEMENT_NODE') && (0, roosterjs_content_model_dom_1.isElementOfType)(handle, 'div')) {
|
|
21
|
-
return handle;
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
.filter(function (element) { return !!element; });
|
|
25
|
-
}
|
|
26
|
-
exports.createImageResizer = createImageResizer;
|
|
27
|
-
/**
|
|
28
|
-
* @internal
|
|
29
|
-
* Get HTML for resize handles at the corners
|
|
30
|
-
*/
|
|
31
|
-
function getCornerResizeHTML(onShowResizeHandle) {
|
|
32
|
-
var result = [];
|
|
33
|
-
constants_1.Xs.forEach(function (x) {
|
|
34
|
-
return constants_1.Ys.forEach(function (y) {
|
|
35
|
-
var elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
36
|
-
if (onShowResizeHandle && elementData) {
|
|
37
|
-
onShowResizeHandle(elementData, x, y);
|
|
38
|
-
}
|
|
39
|
-
if (elementData) {
|
|
40
|
-
result.push(elementData);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
return result;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @internal
|
|
48
|
-
* Get HTML for resize handles on the sides
|
|
49
|
-
*/
|
|
50
|
-
function getSideResizeHTML(onShowResizeHandle) {
|
|
51
|
-
var result = [];
|
|
52
|
-
constants_1.Xs.forEach(function (x) {
|
|
53
|
-
return constants_1.Ys.forEach(function (y) {
|
|
54
|
-
var elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
55
|
-
if (onShowResizeHandle && elementData) {
|
|
56
|
-
onShowResizeHandle(elementData, x, y);
|
|
57
|
-
}
|
|
58
|
-
if (elementData) {
|
|
59
|
-
result.push(elementData);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
return result;
|
|
64
|
-
}
|
|
65
|
-
var createHandleStyle = function (direction, topOrBottom, leftOrRight) {
|
|
66
|
-
return "position:relative;width:" + RESIZE_HANDLE_SIZE + "px;height:" + RESIZE_HANDLE_SIZE + "px;background-color: #FFFFFF;cursor:" + direction + "-resize;" + topOrBottom + ":-" + RESIZE_HANDLE_MARGIN + "px;" + leftOrRight + ":-" + RESIZE_HANDLE_MARGIN + "px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);";
|
|
67
|
-
};
|
|
68
|
-
function getResizeHandleHTML(x, y) {
|
|
69
|
-
var leftOrRight = x == 'w' ? 'left' : 'right';
|
|
70
|
-
var topOrBottom = y == 'n' ? 'top' : 'bottom';
|
|
71
|
-
var leftOrRightValue = x == '' ? '50%' : '0px';
|
|
72
|
-
var topOrBottomValue = y == '' ? '50%' : '0px';
|
|
73
|
-
var direction = y + x;
|
|
74
|
-
return x == '' && y == ''
|
|
75
|
-
? null
|
|
76
|
-
: {
|
|
77
|
-
tag: 'div',
|
|
78
|
-
style: "position:absolute;" + leftOrRight + ":" + leftOrRightValue + ";" + topOrBottom + ":" + topOrBottomValue,
|
|
79
|
-
children: [
|
|
80
|
-
{
|
|
81
|
-
tag: 'div',
|
|
82
|
-
style: createHandleStyle(direction, topOrBottom, leftOrRight),
|
|
83
|
-
className: ImageEditElementClass_1.ImageEditElementClass.ResizeHandle,
|
|
84
|
-
dataset: { x: x, y: y },
|
|
85
|
-
},
|
|
86
|
-
],
|
|
87
|
-
};
|
|
88
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createImageResizer = void 0;
|
|
4
|
+
var createElement_1 = require("../../pluginUtils/CreateElement/createElement");
|
|
5
|
+
var ImageEditElementClass_1 = require("../types/ImageEditElementClass");
|
|
6
|
+
var roosterjs_content_model_dom_1 = require("roosterjs-content-model-dom");
|
|
7
|
+
var constants_1 = require("../constants/constants");
|
|
8
|
+
var RESIZE_HANDLE_MARGIN = 6;
|
|
9
|
+
var RESIZE_HANDLE_SIZE = 10;
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
function createImageResizer(doc, disableSideResize, onShowResizeHandle) {
|
|
14
|
+
var cornerElements = getCornerResizeHTML(onShowResizeHandle);
|
|
15
|
+
var sideElements = getSideResizeHTML(onShowResizeHandle);
|
|
16
|
+
var handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);
|
|
17
|
+
return handles
|
|
18
|
+
.map(function (element) {
|
|
19
|
+
var handle = (0, createElement_1.createElement)(element, doc);
|
|
20
|
+
if ((0, roosterjs_content_model_dom_1.isNodeOfType)(handle, 'ELEMENT_NODE') && (0, roosterjs_content_model_dom_1.isElementOfType)(handle, 'div')) {
|
|
21
|
+
return handle;
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
.filter(function (element) { return !!element; });
|
|
25
|
+
}
|
|
26
|
+
exports.createImageResizer = createImageResizer;
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
* Get HTML for resize handles at the corners
|
|
30
|
+
*/
|
|
31
|
+
function getCornerResizeHTML(onShowResizeHandle) {
|
|
32
|
+
var result = [];
|
|
33
|
+
constants_1.Xs.forEach(function (x) {
|
|
34
|
+
return constants_1.Ys.forEach(function (y) {
|
|
35
|
+
var elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
36
|
+
if (onShowResizeHandle && elementData) {
|
|
37
|
+
onShowResizeHandle(elementData, x, y);
|
|
38
|
+
}
|
|
39
|
+
if (elementData) {
|
|
40
|
+
result.push(elementData);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @internal
|
|
48
|
+
* Get HTML for resize handles on the sides
|
|
49
|
+
*/
|
|
50
|
+
function getSideResizeHTML(onShowResizeHandle) {
|
|
51
|
+
var result = [];
|
|
52
|
+
constants_1.Xs.forEach(function (x) {
|
|
53
|
+
return constants_1.Ys.forEach(function (y) {
|
|
54
|
+
var elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;
|
|
55
|
+
if (onShowResizeHandle && elementData) {
|
|
56
|
+
onShowResizeHandle(elementData, x, y);
|
|
57
|
+
}
|
|
58
|
+
if (elementData) {
|
|
59
|
+
result.push(elementData);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
var createHandleStyle = function (direction, topOrBottom, leftOrRight) {
|
|
66
|
+
return "position:relative;width:" + RESIZE_HANDLE_SIZE + "px;height:" + RESIZE_HANDLE_SIZE + "px;background-color: #FFFFFF;cursor:" + direction + "-resize;" + topOrBottom + ":-" + RESIZE_HANDLE_MARGIN + "px;" + leftOrRight + ":-" + RESIZE_HANDLE_MARGIN + "px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);";
|
|
67
|
+
};
|
|
68
|
+
function getResizeHandleHTML(x, y) {
|
|
69
|
+
var leftOrRight = x == 'w' ? 'left' : 'right';
|
|
70
|
+
var topOrBottom = y == 'n' ? 'top' : 'bottom';
|
|
71
|
+
var leftOrRightValue = x == '' ? '50%' : '0px';
|
|
72
|
+
var topOrBottomValue = y == '' ? '50%' : '0px';
|
|
73
|
+
var direction = y + x;
|
|
74
|
+
return x == '' && y == ''
|
|
75
|
+
? null
|
|
76
|
+
: {
|
|
77
|
+
tag: 'div',
|
|
78
|
+
style: "position:absolute;" + leftOrRight + ":" + leftOrRightValue + ";" + topOrBottom + ":" + topOrBottomValue,
|
|
79
|
+
children: [
|
|
80
|
+
{
|
|
81
|
+
tag: 'div',
|
|
82
|
+
style: createHandleStyle(direction, topOrBottom, leftOrRight),
|
|
83
|
+
className: ImageEditElementClass_1.ImageEditElementClass.ResizeHandle,
|
|
84
|
+
dataset: { x: x, y: y },
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
89
|
//# sourceMappingURL=createImageResizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createImageResizer.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/Resizer/createImageResizer.ts"],"names":[],"mappings":"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","sourcesContent":["import { createElement } from '../../pluginUtils/CreateElement/createElement';\nimport { ImageEditElementClass } from '../types/ImageEditElementClass';\nimport { isElementOfType, isNodeOfType } from 'roosterjs-content-model-dom';\nimport { Xs, Ys } from '../constants/constants';\nimport type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';\nimport type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';\n/**\n * @internal\n */\nexport interface OnShowResizeHandle {\n (elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;\n}\n\nconst RESIZE_HANDLE_MARGIN = 6;\nconst RESIZE_HANDLE_SIZE = 10;\n\n/**\n * @internal\n */\nexport function createImageResizer(\n doc: Document,\n disableSideResize: boolean,\n onShowResizeHandle?: OnShowResizeHandle\n): HTMLDivElement[] {\n const cornerElements = getCornerResizeHTML(onShowResizeHandle);\n const sideElements = getSideResizeHTML(onShowResizeHandle);\n const handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);\n\n return handles\n .map(element => {\n const handle = createElement(element, doc);\n if (isNodeOfType(handle, 'ELEMENT_NODE') && isElementOfType(handle, 'div')) {\n return handle;\n }\n })\n .filter(element => !!element) as HTMLDivElement[];\n}\n\n/**\n * @internal\n * Get HTML for resize handles at the corners\n */\nfunction getCornerResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\n const result: CreateElementData[] = [];\n\n Xs.forEach(x =>\n Ys.forEach(y => {\n const elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;\n if (onShowResizeHandle && elementData) {\n onShowResizeHandle(elementData, x, y);\n }\n if (elementData) {\n result.push(elementData);\n }\n })\n );\n return result;\n}\n\n/**\n * @internal\n * Get HTML for resize handles on the sides\n */\nfunction getSideResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\n const result: CreateElementData[] = [];\n Xs.forEach(x =>\n Ys.forEach(y => {\n const elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;\n if (onShowResizeHandle && elementData) {\n onShowResizeHandle(elementData, x, y);\n }\n if (elementData) {\n result.push(elementData);\n }\n })\n );\n return result;\n}\n\nconst createHandleStyle = (direction: string, topOrBottom: string, leftOrRight: string) => {\n return `position:relative;width:${RESIZE_HANDLE_SIZE}px;height:${RESIZE_HANDLE_SIZE}px;background-color: #FFFFFF;cursor:${direction}-resize;${topOrBottom}:-${RESIZE_HANDLE_MARGIN}px;${leftOrRight}:-${RESIZE_HANDLE_MARGIN}px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);`;\n};\n\nfunction getResizeHandleHTML(x: DNDDirectionX, y: DnDDirectionY): CreateElementData | null {\n const leftOrRight = x == 'w' ? 'left' : 'right';\n const topOrBottom = y == 'n' ? 'top' : 'bottom';\n const leftOrRightValue = x == '' ? '50%' : '0px';\n const topOrBottomValue = y == '' ? '50%' : '0px';\n const direction = y + x;\n return x == '' && y == ''\n ? null\n : {\n tag: 'div',\n style: `position:absolute;${leftOrRight}:${leftOrRightValue};${topOrBottom}:${topOrBottomValue}`,\n children: [\n {\n tag: 'div',\n style: createHandleStyle(direction, topOrBottom, leftOrRight),\n className: ImageEditElementClass.ResizeHandle,\n dataset: { x, y },\n },\n ],\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"createImageResizer.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-plugins/lib/imageEdit/Resizer/createImageResizer.ts"],"names":[],"mappings":"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","sourcesContent":["import { createElement } from '../../pluginUtils/CreateElement/createElement';\r\nimport { ImageEditElementClass } from '../types/ImageEditElementClass';\r\nimport { isElementOfType, isNodeOfType } from 'roosterjs-content-model-dom';\r\nimport { Xs, Ys } from '../constants/constants';\r\nimport type { CreateElementData } from '../../pluginUtils/CreateElement/CreateElementData';\r\nimport type { DNDDirectionX, DnDDirectionY } from '../types/DragAndDropContext';\r\n/**\r\n * @internal\r\n */\r\nexport interface OnShowResizeHandle {\r\n (elementData: CreateElementData, x: DNDDirectionX, y: DnDDirectionY): void;\r\n}\r\n\r\nconst RESIZE_HANDLE_MARGIN = 6;\r\nconst RESIZE_HANDLE_SIZE = 10;\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function createImageResizer(\r\n doc: Document,\r\n disableSideResize: boolean,\r\n onShowResizeHandle?: OnShowResizeHandle\r\n): HTMLDivElement[] {\r\n const cornerElements = getCornerResizeHTML(onShowResizeHandle);\r\n const sideElements = getSideResizeHTML(onShowResizeHandle);\r\n const handles = disableSideResize ? cornerElements : cornerElements.concat(sideElements);\r\n\r\n return handles\r\n .map(element => {\r\n const handle = createElement(element, doc);\r\n if (isNodeOfType(handle, 'ELEMENT_NODE') && isElementOfType(handle, 'div')) {\r\n return handle;\r\n }\r\n })\r\n .filter(element => !!element) as HTMLDivElement[];\r\n}\r\n\r\n/**\r\n * @internal\r\n * Get HTML for resize handles at the corners\r\n */\r\nfunction getCornerResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\r\n const result: CreateElementData[] = [];\r\n\r\n Xs.forEach(x =>\r\n Ys.forEach(y => {\r\n const elementData = (x == '') == (y == '') ? getResizeHandleHTML(x, y) : null;\r\n if (onShowResizeHandle && elementData) {\r\n onShowResizeHandle(elementData, x, y);\r\n }\r\n if (elementData) {\r\n result.push(elementData);\r\n }\r\n })\r\n );\r\n return result;\r\n}\r\n\r\n/**\r\n * @internal\r\n * Get HTML for resize handles on the sides\r\n */\r\nfunction getSideResizeHTML(onShowResizeHandle?: OnShowResizeHandle): CreateElementData[] {\r\n const result: CreateElementData[] = [];\r\n Xs.forEach(x =>\r\n Ys.forEach(y => {\r\n const elementData = (x == '') != (y == '') ? getResizeHandleHTML(x, y) : null;\r\n if (onShowResizeHandle && elementData) {\r\n onShowResizeHandle(elementData, x, y);\r\n }\r\n if (elementData) {\r\n result.push(elementData);\r\n }\r\n })\r\n );\r\n return result;\r\n}\r\n\r\nconst createHandleStyle = (direction: string, topOrBottom: string, leftOrRight: string) => {\r\n return `position:relative;width:${RESIZE_HANDLE_SIZE}px;height:${RESIZE_HANDLE_SIZE}px;background-color: #FFFFFF;cursor:${direction}-resize;${topOrBottom}:-${RESIZE_HANDLE_MARGIN}px;${leftOrRight}:-${RESIZE_HANDLE_MARGIN}px;border-radius:100%;border: 2px solid #bfbfbf;box-shadow: 0px 0.36316px 1.36185px rgba(100, 100, 100, 0.25);`;\r\n};\r\n\r\nfunction getResizeHandleHTML(x: DNDDirectionX, y: DnDDirectionY): CreateElementData | null {\r\n const leftOrRight = x == 'w' ? 'left' : 'right';\r\n const topOrBottom = y == 'n' ? 'top' : 'bottom';\r\n const leftOrRightValue = x == '' ? '50%' : '0px';\r\n const topOrBottomValue = y == '' ? '50%' : '0px';\r\n const direction = y + x;\r\n return x == '' && y == ''\r\n ? null\r\n : {\r\n tag: 'div',\r\n style: `position:absolute;${leftOrRight}:${leftOrRightValue};${topOrBottom}:${topOrBottomValue}`,\r\n children: [\r\n {\r\n tag: 'div',\r\n style: createHandleStyle(direction, topOrBottom, leftOrRight),\r\n className: ImageEditElementClass.ResizeHandle,\r\n dataset: { x, y },\r\n },\r\n ],\r\n };\r\n}\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { DragAndDropHandler } from '../../pluginUtils/DragAndDrop/DragAndDropHandler';
|
|
2
|
-
import type { ImageResizeMetadataFormat } from 'roosterjs-content-model-types';
|
|
3
|
-
import type { DragAndDropContext } from '../types/DragAndDropContext';
|
|
4
|
-
/**
|
|
5
|
-
* @internal
|
|
6
|
-
* The resize drag and drop handler
|
|
7
|
-
*/
|
|
8
|
-
export declare const Resizer: DragAndDropHandler<DragAndDropContext, ImageResizeMetadataFormat>;
|
|
1
|
+
import type { DragAndDropHandler } from '../../pluginUtils/DragAndDrop/DragAndDropHandler';
|
|
2
|
+
import type { ImageResizeMetadataFormat } from 'roosterjs-content-model-types';
|
|
3
|
+
import type { DragAndDropContext } from '../types/DragAndDropContext';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
* The resize drag and drop handler
|
|
7
|
+
*/
|
|
8
|
+
export declare const Resizer: DragAndDropHandler<DragAndDropContext, ImageResizeMetadataFormat>;
|