roosterjs-content-model-plugins 0.26.0 → 0.26.2
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/autoFormat/AutoFormatPlugin.d.ts +53 -53
- package/lib/autoFormat/AutoFormatPlugin.js +80 -80
- package/lib/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib/autoFormat/keyboardListTrigger.d.ts +5 -5
- package/lib/autoFormat/keyboardListTrigger.js +45 -45
- package/lib/autoFormat/keyboardListTrigger.js.map +1 -1
- package/lib/autoFormat/utils/convertAlphaToDecimals.d.ts +7 -7
- package/lib/autoFormat/utils/convertAlphaToDecimals.js +22 -22
- package/lib/autoFormat/utils/convertAlphaToDecimals.js.map +1 -1
- package/lib/autoFormat/utils/getIndex.d.ts +4 -4
- package/lib/autoFormat/utils/getIndex.js +13 -13
- package/lib/autoFormat/utils/getIndex.js.map +1 -1
- package/lib/autoFormat/utils/getListTypeStyle.d.ts +14 -14
- package/lib/autoFormat/utils/getListTypeStyle.js +87 -87
- package/lib/autoFormat/utils/getListTypeStyle.js.map +1 -1
- package/lib/autoFormat/utils/getNumberingListStyle.d.ts +4 -4
- package/lib/autoFormat/utils/getNumberingListStyle.js +153 -153
- package/lib/autoFormat/utils/getNumberingListStyle.js.map +1 -1
- package/lib/edit/EditPlugin.d.ts +39 -39
- package/lib/edit/EditPlugin.js +128 -128
- package/lib/edit/EditPlugin.js.map +1 -1
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.js +22 -22
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib/edit/deleteSteps/deleteCollapsedSelection.d.ts +9 -9
- package/lib/edit/deleteSteps/deleteCollapsedSelection.js +93 -93
- package/lib/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib/edit/deleteSteps/deleteList.d.ts +5 -5
- package/lib/edit/deleteSteps/deleteList.js +23 -23
- package/lib/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
- package/lib/edit/deleteSteps/deleteWordSelection.js +173 -173
- package/lib/edit/deleteSteps/deleteWordSelection.js.map +1 -1
- package/lib/edit/handleKeyboardEventCommon.d.ts +14 -14
- package/lib/edit/handleKeyboardEventCommon.js +54 -54
- package/lib/edit/handleKeyboardEventCommon.js.map +1 -1
- package/lib/edit/inputSteps/handleEnterOnList.d.ts +5 -5
- package/lib/edit/inputSteps/handleEnterOnList.js +67 -67
- package/lib/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib/edit/keyboardDelete.d.ts +9 -9
- package/lib/edit/keyboardDelete.js +71 -71
- package/lib/edit/keyboardDelete.js.map +1 -1
- package/lib/edit/keyboardInput.d.ts +5 -5
- package/lib/edit/keyboardInput.js +58 -58
- package/lib/edit/keyboardInput.js.map +1 -1
- package/lib/edit/keyboardTab.d.ts +5 -5
- package/lib/edit/keyboardTab.js +34 -34
- package/lib/edit/keyboardTab.js.map +1 -1
- package/lib/edit/utils/getLeafSiblingBlock.d.ts +23 -23
- package/lib/edit/utils/getLeafSiblingBlock.js +75 -75
- package/lib/edit/utils/getLeafSiblingBlock.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +9 -9
- package/lib/index.js.map +1 -1
- package/lib/paste/Excel/processPastedContentFromExcel.d.ts +12 -12
- package/lib/paste/Excel/processPastedContentFromExcel.js +82 -82
- package/lib/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib/paste/PastePlugin.d.ts +43 -43
- package/lib/paste/PastePlugin.js +130 -130
- package/lib/paste/PastePlugin.js.map +1 -1
- package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
- package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js +19 -19
- package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
- package/lib/paste/WacComponents/constants.d.ts +48 -48
- package/lib/paste/WacComponents/constants.js +62 -62
- package/lib/paste/WacComponents/constants.js.map +1 -1
- package/lib/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
- package/lib/paste/WacComponents/processPastedContentWacComponents.js +188 -188
- 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 +23 -23
- package/lib/paste/WordDesktop/getStyleMetadata.js +78 -78
- package/lib/paste/WordDesktop/getStyleMetadata.js.map +1 -1
- package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +7 -7
- package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js +58 -58
- 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 +179 -179
- package/lib/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib/paste/WordDesktop/removeNegativeTextIndentParser.d.ts +5 -5
- package/lib/paste/WordDesktop/removeNegativeTextIndentParser.js +13 -13
- package/lib/paste/WordDesktop/removeNegativeTextIndentParser.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/getPasteSource.d.ts +27 -27
- package/lib/paste/pasteSourceValidations/getPasteSource.js +43 -43
- package/lib/paste/pasteSourceValidations/getPasteSource.js.map +1 -1
- 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/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/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 +19 -19
- package/lib/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
- package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
- package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js +18 -18
- package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
- package/lib/paste/utils/addParser.d.ts +5 -5
- package/lib/paste/utils/addParser.js +16 -16
- package/lib/paste/utils/addParser.js.map +1 -1
- package/lib/paste/utils/deprecatedColorParser.d.ts +5 -5
- package/lib/paste/utils/deprecatedColorParser.js +19 -19
- package/lib/paste/utils/deprecatedColorParser.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/linkParser.d.ts +5 -5
- package/lib/paste/utils/linkParser.js +27 -27
- package/lib/paste/utils/linkParser.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/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 +50 -50
- 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 +119 -119
- package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
- package/lib/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
- package/lib/pluginUtils/Rect/getIntersectedRect.js +44 -44
- package/lib/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
- package/lib/pluginUtils/Rect/normalizeRect.d.ts +7 -7
- package/lib/pluginUtils/Rect/normalizeRect.js +19 -19
- package/lib/pluginUtils/Rect/normalizeRect.js.map +1 -1
- package/lib-amd/autoFormat/AutoFormatPlugin.d.ts +53 -53
- package/lib-amd/autoFormat/AutoFormatPlugin.js +81 -81
- package/lib-amd/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib-amd/autoFormat/keyboardListTrigger.d.ts +5 -5
- package/lib-amd/autoFormat/keyboardListTrigger.js +43 -43
- package/lib-amd/autoFormat/keyboardListTrigger.js.map +1 -1
- package/lib-amd/autoFormat/utils/convertAlphaToDecimals.d.ts +7 -7
- package/lib-amd/autoFormat/utils/convertAlphaToDecimals.js +24 -24
- package/lib-amd/autoFormat/utils/convertAlphaToDecimals.js.map +1 -1
- package/lib-amd/autoFormat/utils/getIndex.d.ts +4 -4
- package/lib-amd/autoFormat/utils/getIndex.js +14 -14
- package/lib-amd/autoFormat/utils/getIndex.js.map +1 -1
- package/lib-amd/autoFormat/utils/getListTypeStyle.d.ts +14 -14
- package/lib-amd/autoFormat/utils/getListTypeStyle.js +86 -86
- package/lib-amd/autoFormat/utils/getListTypeStyle.js.map +1 -1
- package/lib-amd/autoFormat/utils/getNumberingListStyle.d.ts +4 -4
- package/lib-amd/autoFormat/utils/getNumberingListStyle.js +153 -153
- package/lib-amd/autoFormat/utils/getNumberingListStyle.js.map +1 -1
- package/lib-amd/edit/EditPlugin.d.ts +39 -39
- package/lib-amd/edit/EditPlugin.js +127 -127
- 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 +23 -23
- package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.d.ts +9 -9
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js +92 -92
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteList.d.ts +5 -5
- package/lib-amd/edit/deleteSteps/deleteList.js +24 -24
- package/lib-amd/edit/deleteSteps/deleteList.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 +55 -55
- package/lib-amd/edit/handleKeyboardEventCommon.js.map +1 -1
- package/lib-amd/edit/inputSteps/handleEnterOnList.d.ts +5 -5
- package/lib-amd/edit/inputSteps/handleEnterOnList.js +66 -66
- package/lib-amd/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib-amd/edit/keyboardDelete.d.ts +9 -9
- package/lib-amd/edit/keyboardDelete.js +66 -66
- package/lib-amd/edit/keyboardDelete.js.map +1 -1
- package/lib-amd/edit/keyboardInput.d.ts +5 -5
- package/lib-amd/edit/keyboardInput.js +57 -57
- package/lib-amd/edit/keyboardInput.js.map +1 -1
- package/lib-amd/edit/keyboardTab.d.ts +5 -5
- package/lib-amd/edit/keyboardTab.js +34 -34
- package/lib-amd/edit/keyboardTab.js.map +1 -1
- package/lib-amd/edit/utils/getLeafSiblingBlock.d.ts +23 -23
- package/lib-amd/edit/utils/getLeafSiblingBlock.js +75 -75
- package/lib-amd/edit/utils/getLeafSiblingBlock.js.map +1 -1
- package/lib-amd/index.d.ts +3 -3
- package/lib-amd/index.js +8 -8
- package/lib-amd/index.js.map +1 -1
- package/lib-amd/paste/Excel/processPastedContentFromExcel.d.ts +12 -12
- package/lib-amd/paste/Excel/processPastedContentFromExcel.js +80 -80
- package/lib-amd/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib-amd/paste/PastePlugin.d.ts +43 -43
- package/lib-amd/paste/PastePlugin.js +122 -122
- 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 +20 -20
- package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
- package/lib-amd/paste/WacComponents/constants.d.ts +48 -48
- package/lib-amd/paste/WacComponents/constants.js +63 -63
- 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 +185 -185
- 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 +23 -23
- package/lib-amd/paste/WordDesktop/getStyleMetadata.js +78 -78
- package/lib-amd/paste/WordDesktop/getStyleMetadata.js.map +1 -1
- package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +7 -7
- package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js +53 -53
- 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 +177 -177
- package/lib-amd/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib-amd/paste/WordDesktop/removeNegativeTextIndentParser.d.ts +5 -5
- package/lib-amd/paste/WordDesktop/removeNegativeTextIndentParser.js +15 -15
- package/lib-amd/paste/WordDesktop/removeNegativeTextIndentParser.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/getPasteSource.d.ts +27 -27
- package/lib-amd/paste/pasteSourceValidations/getPasteSource.js +38 -38
- package/lib-amd/paste/pasteSourceValidations/getPasteSource.js.map +1 -1
- 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/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/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 +20 -20
- 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 +20 -20
- package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
- package/lib-amd/paste/utils/addParser.d.ts +5 -5
- package/lib-amd/paste/utils/addParser.js +18 -18
- package/lib-amd/paste/utils/addParser.js.map +1 -1
- package/lib-amd/paste/utils/deprecatedColorParser.d.ts +5 -5
- package/lib-amd/paste/utils/deprecatedColorParser.js +20 -20
- package/lib-amd/paste/utils/deprecatedColorParser.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/linkParser.d.ts +5 -5
- package/lib-amd/paste/utils/linkParser.js +28 -28
- package/lib-amd/paste/utils/linkParser.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/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 +51 -51
- 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 +120 -120
- 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 +44 -44
- package/lib-amd/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
- package/lib-amd/pluginUtils/Rect/normalizeRect.d.ts +7 -7
- package/lib-amd/pluginUtils/Rect/normalizeRect.js +21 -21
- package/lib-amd/pluginUtils/Rect/normalizeRect.js.map +1 -1
- package/lib-mjs/autoFormat/AutoFormatPlugin.d.ts +53 -53
- package/lib-mjs/autoFormat/AutoFormatPlugin.js +77 -77
- package/lib-mjs/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib-mjs/autoFormat/keyboardListTrigger.d.ts +5 -5
- package/lib-mjs/autoFormat/keyboardListTrigger.js +41 -41
- package/lib-mjs/autoFormat/keyboardListTrigger.js.map +1 -1
- package/lib-mjs/autoFormat/utils/convertAlphaToDecimals.d.ts +7 -7
- package/lib-mjs/autoFormat/utils/convertAlphaToDecimals.js +18 -18
- package/lib-mjs/autoFormat/utils/convertAlphaToDecimals.js.map +1 -1
- package/lib-mjs/autoFormat/utils/getIndex.d.ts +4 -4
- package/lib-mjs/autoFormat/utils/getIndex.js +9 -9
- package/lib-mjs/autoFormat/utils/getIndex.js.map +1 -1
- package/lib-mjs/autoFormat/utils/getListTypeStyle.d.ts +14 -14
- package/lib-mjs/autoFormat/utils/getListTypeStyle.js +83 -83
- package/lib-mjs/autoFormat/utils/getListTypeStyle.js.map +1 -1
- package/lib-mjs/autoFormat/utils/getNumberingListStyle.d.ts +4 -4
- package/lib-mjs/autoFormat/utils/getNumberingListStyle.js +149 -149
- package/lib-mjs/autoFormat/utils/getNumberingListStyle.js.map +1 -1
- package/lib-mjs/edit/EditPlugin.d.ts +39 -39
- package/lib-mjs/edit/EditPlugin.js +125 -125
- 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 +18 -18
- package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.d.ts +9 -9
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js +90 -90
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteList.d.ts +5 -5
- package/lib-mjs/edit/deleteSteps/deleteList.js +19 -19
- package/lib-mjs/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
- package/lib-mjs/edit/deleteSteps/deleteWordSelection.js +170 -170
- 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 +48 -48
- package/lib-mjs/edit/handleKeyboardEventCommon.js.map +1 -1
- package/lib-mjs/edit/inputSteps/handleEnterOnList.d.ts +5 -5
- package/lib-mjs/edit/inputSteps/handleEnterOnList.js +63 -63
- package/lib-mjs/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib-mjs/edit/keyboardDelete.d.ts +9 -9
- package/lib-mjs/edit/keyboardDelete.js +67 -67
- package/lib-mjs/edit/keyboardDelete.js.map +1 -1
- package/lib-mjs/edit/keyboardInput.d.ts +5 -5
- package/lib-mjs/edit/keyboardInput.js +54 -54
- package/lib-mjs/edit/keyboardInput.js.map +1 -1
- package/lib-mjs/edit/keyboardTab.d.ts +5 -5
- package/lib-mjs/edit/keyboardTab.js +30 -30
- package/lib-mjs/edit/keyboardTab.js.map +1 -1
- package/lib-mjs/edit/utils/getLeafSiblingBlock.d.ts +23 -23
- package/lib-mjs/edit/utils/getLeafSiblingBlock.js +71 -71
- package/lib-mjs/edit/utils/getLeafSiblingBlock.js.map +1 -1
- package/lib-mjs/index.d.ts +3 -3
- package/lib-mjs/index.js +3 -3
- package/lib-mjs/index.js.map +1 -1
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.d.ts +12 -12
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.js +77 -77
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib-mjs/paste/PastePlugin.d.ts +43 -43
- package/lib-mjs/paste/PastePlugin.js +127 -127
- 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 +15 -15
- package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
- package/lib-mjs/paste/WacComponents/constants.d.ts +48 -48
- package/lib-mjs/paste/WacComponents/constants.js +59 -59
- 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 +184 -184
- 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 +23 -23
- package/lib-mjs/paste/WordDesktop/getStyleMetadata.js +75 -75
- package/lib-mjs/paste/WordDesktop/getStyleMetadata.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +7 -7
- package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js +54 -54
- 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 +175 -175
- package/lib-mjs/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/removeNegativeTextIndentParser.d.ts +5 -5
- package/lib-mjs/paste/WordDesktop/removeNegativeTextIndentParser.js +9 -9
- package/lib-mjs/paste/WordDesktop/removeNegativeTextIndentParser.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/getPasteSource.d.ts +27 -27
- package/lib-mjs/paste/pasteSourceValidations/getPasteSource.js +39 -39
- package/lib-mjs/paste/pasteSourceValidations/getPasteSource.js.map +1 -1
- 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/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/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 +15 -15
- 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 +14 -14
- package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.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/deprecatedColorParser.d.ts +5 -5
- package/lib-mjs/paste/utils/deprecatedColorParser.js +15 -15
- package/lib-mjs/paste/utils/deprecatedColorParser.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/linkParser.d.ts +5 -5
- package/lib-mjs/paste/utils/linkParser.js +23 -23
- package/lib-mjs/paste/utils/linkParser.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/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/pluginUtils/Rect/normalizeRect.d.ts +7 -7
- package/lib-mjs/pluginUtils/Rect/normalizeRect.js +16 -16
- package/lib-mjs/pluginUtils/Rect/normalizeRect.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,178 +1,178 @@
|
|
|
1
|
-
define(["require", "exports", "tslib", "roosterjs-content-model-core", "./removeNegativeTextIndentParser", "roosterjs-content-model-dom"], function (require, exports, tslib_1, roosterjs_content_model_core_1, removeNegativeTextIndentParser_1, roosterjs_content_model_dom_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.processWordList = void 0;
|
|
5
|
-
/** Word list metadata style name */
|
|
6
|
-
var MSO_LIST = 'mso-list';
|
|
7
|
-
var MSO_LIST_IGNORE = 'ignore';
|
|
8
|
-
var WORD_FIRST_LIST = 'l0';
|
|
9
|
-
var TEMPLATE_VALUE_REGEX = /%[0-9a-zA-Z]+/g;
|
|
10
|
-
var BULLET_METADATA = 'bullet';
|
|
11
|
-
/**
|
|
12
|
-
* @internal
|
|
13
|
-
* @param styles
|
|
14
|
-
* @param group
|
|
15
|
-
* @param element
|
|
16
|
-
* @param context
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
function processWordList(styles, group, element, context, metadata) {
|
|
20
|
-
var _a;
|
|
21
|
-
var listFormat = context.listFormat;
|
|
22
|
-
if (!listFormat.wordKnownLevels) {
|
|
23
|
-
listFormat.wordKnownLevels = new Map();
|
|
24
|
-
}
|
|
25
|
-
var wordListStyle = styles[MSO_LIST] || '';
|
|
26
|
-
// If the element contains Ignore style, do not process it,
|
|
27
|
-
// Usually this element contains the fake bullet used in Word Desktop.
|
|
28
|
-
if (wordListStyle.toLowerCase() === MSO_LIST_IGNORE) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
var _b = (0, tslib_1.__read)(wordListStyle.split(' '), 2), lNumber = _b[0], level = _b[1];
|
|
32
|
-
// Try get the list metadata from word, which follows this format: l1 level1 lfo2
|
|
33
|
-
// If we are able to get the level property means we can process this element to be a list
|
|
34
|
-
listFormat.wordLevel = level && parseInt(level.substr('level'.length));
|
|
35
|
-
listFormat.wordList = lNumber || WORD_FIRST_LIST;
|
|
36
|
-
if (listFormat.levels.length == 0) {
|
|
37
|
-
listFormat.levels =
|
|
38
|
-
(listFormat.wordList && listFormat.wordKnownLevels.get(listFormat.wordList)) || [];
|
|
39
|
-
}
|
|
40
|
-
if (wordListStyle && group && typeof listFormat.wordLevel === 'number') {
|
|
41
|
-
var wordLevel = listFormat.wordLevel, wordList = listFormat.wordList;
|
|
42
|
-
// Retrieve the Fake bullet on the element and also the list type
|
|
43
|
-
var listMetadata = metadata.get(lNumber + ":" + level);
|
|
44
|
-
var listType = ((_a = listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-number-format']) === null || _a === void 0 ? void 0 : _a.toLowerCase()) != BULLET_METADATA
|
|
45
|
-
? 'OL'
|
|
46
|
-
: 'UL';
|
|
47
|
-
// Create the new level of the list item and parse the format
|
|
48
|
-
var newLevel = (0, roosterjs_content_model_dom_1.createListLevel)(listType);
|
|
49
|
-
(0, roosterjs_content_model_dom_1.parseFormat)(element, (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(context.formatParsers.listLevel), false), [wordListPaddingParser], false), newLevel.format, context);
|
|
50
|
-
// If the list format is in a different level, update the array so we get the new item
|
|
51
|
-
// To be in the same level as the provided level metadata.
|
|
52
|
-
if (wordLevel > listFormat.levels.length) {
|
|
53
|
-
while (wordLevel != listFormat.levels.length) {
|
|
54
|
-
listFormat.levels.push(newLevel);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
listFormat.levels.splice(wordLevel, listFormat.levels.length - 1);
|
|
59
|
-
listFormat.levels[wordLevel - 1] = newLevel;
|
|
60
|
-
}
|
|
61
|
-
listFormat.levels[listFormat.levels.length - 1]
|
|
62
|
-
.format.wordList = wordList;
|
|
63
|
-
listFormat.listParent = group;
|
|
64
|
-
processAsListItem(listFormat, context, element, group, listMetadata);
|
|
65
|
-
if (listFormat.levels.length > 0 &&
|
|
66
|
-
listFormat.wordKnownLevels.get(wordList) != listFormat.levels) {
|
|
67
|
-
listFormat.wordKnownLevels.set(wordList, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(listFormat.levels), false));
|
|
68
|
-
}
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
exports.processWordList = processWordList;
|
|
74
|
-
function processAsListItem(listFormat, context, element, group, listMetadata) {
|
|
75
|
-
var listLevel = listFormat.levels[listFormat.levels.length - 1];
|
|
76
|
-
var listType = listLevel.listType;
|
|
77
|
-
var bullet = getBulletFromMetadata(listMetadata, listType);
|
|
78
|
-
if (bullet) {
|
|
79
|
-
(0, roosterjs_content_model_core_1.updateListMetadata)(listFormat.levels[listFormat.levels.length - 1], function (metadata) {
|
|
80
|
-
return Object.assign({}, metadata, {
|
|
81
|
-
unorderedStyleType: listType == 'UL' ? bullet : undefined,
|
|
82
|
-
orderedStyleType: listType == 'OL' ? bullet : undefined,
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
var listItem = (0, roosterjs_content_model_dom_1.createListItem)(listFormat.levels, context.segmentFormat);
|
|
87
|
-
(0, roosterjs_content_model_dom_1.parseFormat)(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
88
|
-
(0, roosterjs_content_model_dom_1.parseFormat)(element, context.formatParsers.listItemElement, listItem.format, context);
|
|
89
|
-
(0, roosterjs_content_model_dom_1.parseFormat)(element, [removeNegativeTextIndentParser_1.removeNegativeTextIndentParser], listItem.format, context);
|
|
90
|
-
if (listType == 'OL') {
|
|
91
|
-
setStartNumber(listItem, context, listMetadata);
|
|
92
|
-
}
|
|
93
|
-
context.elementProcessors.child(listItem, element, context);
|
|
94
|
-
(0, roosterjs_content_model_dom_1.addBlock)(group, listItem);
|
|
95
|
-
}
|
|
96
|
-
function getBulletFromMetadata(listMetadata, listType) {
|
|
97
|
-
var templateType = (listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-number-format']) || 'decimal';
|
|
98
|
-
var templateFinal;
|
|
99
|
-
if (listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-text']) {
|
|
100
|
-
var templateValue = '';
|
|
101
|
-
switch (templateType) {
|
|
102
|
-
case 'alpha-upper':
|
|
103
|
-
templateValue = 'UpperAlpha';
|
|
104
|
-
break;
|
|
105
|
-
case 'alpha-lower':
|
|
106
|
-
templateValue = 'LowerAlpha';
|
|
107
|
-
break;
|
|
108
|
-
case 'roman-lower':
|
|
109
|
-
templateValue = 'LowerRoman';
|
|
110
|
-
break;
|
|
111
|
-
case 'roman-upper':
|
|
112
|
-
templateValue = 'UpperRoman';
|
|
113
|
-
break;
|
|
114
|
-
default:
|
|
115
|
-
templateValue = 'Number';
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
var template = (listMetadata['mso-level-text'] || '')
|
|
119
|
-
.replace('\\', '')
|
|
120
|
-
.replace('"', '')
|
|
121
|
-
.replace(TEMPLATE_VALUE_REGEX, '${' + templateValue + '}');
|
|
122
|
-
templateFinal = '"' + template + ' "';
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
switch (templateType) {
|
|
126
|
-
case 'alpha-lower':
|
|
127
|
-
templateFinal = 'lower-alpha';
|
|
128
|
-
break;
|
|
129
|
-
case 'roman-lower':
|
|
130
|
-
templateFinal = 'lower-roman';
|
|
131
|
-
break;
|
|
132
|
-
case 'roman-upper':
|
|
133
|
-
templateFinal = 'upper-roman';
|
|
134
|
-
break;
|
|
135
|
-
default:
|
|
136
|
-
templateFinal = 'decimal';
|
|
137
|
-
break;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return (0, roosterjs_content_model_core_1.getListStyleTypeFromString)(listType, templateFinal);
|
|
141
|
-
}
|
|
142
|
-
function wordListPaddingParser(format, element) {
|
|
143
|
-
if (element.style.marginLeft && element.style.marginLeft != '0in') {
|
|
144
|
-
format.paddingLeft = '0px';
|
|
145
|
-
}
|
|
146
|
-
if (element.style.marginRight && element.style.marginRight != '0in') {
|
|
147
|
-
format.paddingRight = '0px';
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
function setStartNumber(listItem, context, listMetadata) {
|
|
151
|
-
var _a, _b;
|
|
152
|
-
var _c = context.listFormat, listParent = _c.listParent, wordList = _c.wordList, wordKnownLevels = _c.wordKnownLevels, wordLevel = _c.wordLevel, levels = _c.levels;
|
|
153
|
-
var block = getLastNotEmptyBlock(listParent);
|
|
154
|
-
if (((block === null || block === void 0 ? void 0 : block.blockType) != 'BlockGroup' ||
|
|
155
|
-
block.blockGroupType != 'ListItem' ||
|
|
156
|
-
(wordLevel &&
|
|
157
|
-
((_b = (_a = block.levels[wordLevel]) === null || _a === void 0 ? void 0 : _a.format) === null || _b === void 0 ? void 0 : _b.wordList) != wordList)) &&
|
|
158
|
-
wordList) {
|
|
159
|
-
var start = (listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-start-at'])
|
|
160
|
-
? parseInt(listMetadata['mso-level-start-at'])
|
|
161
|
-
: NaN;
|
|
162
|
-
var knownLevel = (wordKnownLevels === null || wordKnownLevels === void 0 ? void 0 : wordKnownLevels.get(wordList)) || [];
|
|
163
|
-
if (start != undefined && !isNaN(start) && knownLevel.length != levels.length) {
|
|
164
|
-
listItem.levels[listItem.levels.length - 1].format.startNumberOverride = start;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
function getLastNotEmptyBlock(listParent) {
|
|
169
|
-
for (var index = ((listParent === null || listParent === void 0 ? void 0 : listParent.blocks.length) || 0) - 1; index > 0; index--) {
|
|
170
|
-
var result = listParent === null || listParent === void 0 ? void 0 : listParent.blocks[index];
|
|
171
|
-
if (result && !(0, roosterjs_content_model_dom_1.isEmpty)(result)) {
|
|
172
|
-
return result;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
return undefined;
|
|
176
|
-
}
|
|
177
|
-
});
|
|
1
|
+
define(["require", "exports", "tslib", "roosterjs-content-model-core", "./removeNegativeTextIndentParser", "roosterjs-content-model-dom"], function (require, exports, tslib_1, roosterjs_content_model_core_1, removeNegativeTextIndentParser_1, roosterjs_content_model_dom_1) {
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.processWordList = void 0;
|
|
5
|
+
/** Word list metadata style name */
|
|
6
|
+
var MSO_LIST = 'mso-list';
|
|
7
|
+
var MSO_LIST_IGNORE = 'ignore';
|
|
8
|
+
var WORD_FIRST_LIST = 'l0';
|
|
9
|
+
var TEMPLATE_VALUE_REGEX = /%[0-9a-zA-Z]+/g;
|
|
10
|
+
var BULLET_METADATA = 'bullet';
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
* @param styles
|
|
14
|
+
* @param group
|
|
15
|
+
* @param element
|
|
16
|
+
* @param context
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
function processWordList(styles, group, element, context, metadata) {
|
|
20
|
+
var _a;
|
|
21
|
+
var listFormat = context.listFormat;
|
|
22
|
+
if (!listFormat.wordKnownLevels) {
|
|
23
|
+
listFormat.wordKnownLevels = new Map();
|
|
24
|
+
}
|
|
25
|
+
var wordListStyle = styles[MSO_LIST] || '';
|
|
26
|
+
// If the element contains Ignore style, do not process it,
|
|
27
|
+
// Usually this element contains the fake bullet used in Word Desktop.
|
|
28
|
+
if (wordListStyle.toLowerCase() === MSO_LIST_IGNORE) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
var _b = (0, tslib_1.__read)(wordListStyle.split(' '), 2), lNumber = _b[0], level = _b[1];
|
|
32
|
+
// Try get the list metadata from word, which follows this format: l1 level1 lfo2
|
|
33
|
+
// If we are able to get the level property means we can process this element to be a list
|
|
34
|
+
listFormat.wordLevel = level && parseInt(level.substr('level'.length));
|
|
35
|
+
listFormat.wordList = lNumber || WORD_FIRST_LIST;
|
|
36
|
+
if (listFormat.levels.length == 0) {
|
|
37
|
+
listFormat.levels =
|
|
38
|
+
(listFormat.wordList && listFormat.wordKnownLevels.get(listFormat.wordList)) || [];
|
|
39
|
+
}
|
|
40
|
+
if (wordListStyle && group && typeof listFormat.wordLevel === 'number') {
|
|
41
|
+
var wordLevel = listFormat.wordLevel, wordList = listFormat.wordList;
|
|
42
|
+
// Retrieve the Fake bullet on the element and also the list type
|
|
43
|
+
var listMetadata = metadata.get(lNumber + ":" + level);
|
|
44
|
+
var listType = ((_a = listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-number-format']) === null || _a === void 0 ? void 0 : _a.toLowerCase()) != BULLET_METADATA
|
|
45
|
+
? 'OL'
|
|
46
|
+
: 'UL';
|
|
47
|
+
// Create the new level of the list item and parse the format
|
|
48
|
+
var newLevel = (0, roosterjs_content_model_dom_1.createListLevel)(listType);
|
|
49
|
+
(0, roosterjs_content_model_dom_1.parseFormat)(element, (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(context.formatParsers.listLevel), false), [wordListPaddingParser], false), newLevel.format, context);
|
|
50
|
+
// If the list format is in a different level, update the array so we get the new item
|
|
51
|
+
// To be in the same level as the provided level metadata.
|
|
52
|
+
if (wordLevel > listFormat.levels.length) {
|
|
53
|
+
while (wordLevel != listFormat.levels.length) {
|
|
54
|
+
listFormat.levels.push(newLevel);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
listFormat.levels.splice(wordLevel, listFormat.levels.length - 1);
|
|
59
|
+
listFormat.levels[wordLevel - 1] = newLevel;
|
|
60
|
+
}
|
|
61
|
+
listFormat.levels[listFormat.levels.length - 1]
|
|
62
|
+
.format.wordList = wordList;
|
|
63
|
+
listFormat.listParent = group;
|
|
64
|
+
processAsListItem(listFormat, context, element, group, listMetadata);
|
|
65
|
+
if (listFormat.levels.length > 0 &&
|
|
66
|
+
listFormat.wordKnownLevels.get(wordList) != listFormat.levels) {
|
|
67
|
+
listFormat.wordKnownLevels.set(wordList, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(listFormat.levels), false));
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
exports.processWordList = processWordList;
|
|
74
|
+
function processAsListItem(listFormat, context, element, group, listMetadata) {
|
|
75
|
+
var listLevel = listFormat.levels[listFormat.levels.length - 1];
|
|
76
|
+
var listType = listLevel.listType;
|
|
77
|
+
var bullet = getBulletFromMetadata(listMetadata, listType);
|
|
78
|
+
if (bullet) {
|
|
79
|
+
(0, roosterjs_content_model_core_1.updateListMetadata)(listFormat.levels[listFormat.levels.length - 1], function (metadata) {
|
|
80
|
+
return Object.assign({}, metadata, {
|
|
81
|
+
unorderedStyleType: listType == 'UL' ? bullet : undefined,
|
|
82
|
+
orderedStyleType: listType == 'OL' ? bullet : undefined,
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
var listItem = (0, roosterjs_content_model_dom_1.createListItem)(listFormat.levels, context.segmentFormat);
|
|
87
|
+
(0, roosterjs_content_model_dom_1.parseFormat)(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
88
|
+
(0, roosterjs_content_model_dom_1.parseFormat)(element, context.formatParsers.listItemElement, listItem.format, context);
|
|
89
|
+
(0, roosterjs_content_model_dom_1.parseFormat)(element, [removeNegativeTextIndentParser_1.removeNegativeTextIndentParser], listItem.format, context);
|
|
90
|
+
if (listType == 'OL') {
|
|
91
|
+
setStartNumber(listItem, context, listMetadata);
|
|
92
|
+
}
|
|
93
|
+
context.elementProcessors.child(listItem, element, context);
|
|
94
|
+
(0, roosterjs_content_model_dom_1.addBlock)(group, listItem);
|
|
95
|
+
}
|
|
96
|
+
function getBulletFromMetadata(listMetadata, listType) {
|
|
97
|
+
var templateType = (listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-number-format']) || 'decimal';
|
|
98
|
+
var templateFinal;
|
|
99
|
+
if (listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-text']) {
|
|
100
|
+
var templateValue = '';
|
|
101
|
+
switch (templateType) {
|
|
102
|
+
case 'alpha-upper':
|
|
103
|
+
templateValue = 'UpperAlpha';
|
|
104
|
+
break;
|
|
105
|
+
case 'alpha-lower':
|
|
106
|
+
templateValue = 'LowerAlpha';
|
|
107
|
+
break;
|
|
108
|
+
case 'roman-lower':
|
|
109
|
+
templateValue = 'LowerRoman';
|
|
110
|
+
break;
|
|
111
|
+
case 'roman-upper':
|
|
112
|
+
templateValue = 'UpperRoman';
|
|
113
|
+
break;
|
|
114
|
+
default:
|
|
115
|
+
templateValue = 'Number';
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
var template = (listMetadata['mso-level-text'] || '')
|
|
119
|
+
.replace('\\', '')
|
|
120
|
+
.replace('"', '')
|
|
121
|
+
.replace(TEMPLATE_VALUE_REGEX, '${' + templateValue + '}');
|
|
122
|
+
templateFinal = '"' + template + ' "';
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
switch (templateType) {
|
|
126
|
+
case 'alpha-lower':
|
|
127
|
+
templateFinal = 'lower-alpha';
|
|
128
|
+
break;
|
|
129
|
+
case 'roman-lower':
|
|
130
|
+
templateFinal = 'lower-roman';
|
|
131
|
+
break;
|
|
132
|
+
case 'roman-upper':
|
|
133
|
+
templateFinal = 'upper-roman';
|
|
134
|
+
break;
|
|
135
|
+
default:
|
|
136
|
+
templateFinal = 'decimal';
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return (0, roosterjs_content_model_core_1.getListStyleTypeFromString)(listType, templateFinal);
|
|
141
|
+
}
|
|
142
|
+
function wordListPaddingParser(format, element) {
|
|
143
|
+
if (element.style.marginLeft && element.style.marginLeft != '0in') {
|
|
144
|
+
format.paddingLeft = '0px';
|
|
145
|
+
}
|
|
146
|
+
if (element.style.marginRight && element.style.marginRight != '0in') {
|
|
147
|
+
format.paddingRight = '0px';
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function setStartNumber(listItem, context, listMetadata) {
|
|
151
|
+
var _a, _b;
|
|
152
|
+
var _c = context.listFormat, listParent = _c.listParent, wordList = _c.wordList, wordKnownLevels = _c.wordKnownLevels, wordLevel = _c.wordLevel, levels = _c.levels;
|
|
153
|
+
var block = getLastNotEmptyBlock(listParent);
|
|
154
|
+
if (((block === null || block === void 0 ? void 0 : block.blockType) != 'BlockGroup' ||
|
|
155
|
+
block.blockGroupType != 'ListItem' ||
|
|
156
|
+
(wordLevel &&
|
|
157
|
+
((_b = (_a = block.levels[wordLevel]) === null || _a === void 0 ? void 0 : _a.format) === null || _b === void 0 ? void 0 : _b.wordList) != wordList)) &&
|
|
158
|
+
wordList) {
|
|
159
|
+
var start = (listMetadata === null || listMetadata === void 0 ? void 0 : listMetadata['mso-level-start-at'])
|
|
160
|
+
? parseInt(listMetadata['mso-level-start-at'])
|
|
161
|
+
: NaN;
|
|
162
|
+
var knownLevel = (wordKnownLevels === null || wordKnownLevels === void 0 ? void 0 : wordKnownLevels.get(wordList)) || [];
|
|
163
|
+
if (start != undefined && !isNaN(start) && knownLevel.length != levels.length) {
|
|
164
|
+
listItem.levels[listItem.levels.length - 1].format.startNumberOverride = start;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function getLastNotEmptyBlock(listParent) {
|
|
169
|
+
for (var index = ((listParent === null || listParent === void 0 ? void 0 : listParent.blocks.length) || 0) - 1; index > 0; index--) {
|
|
170
|
+
var result = listParent === null || listParent === void 0 ? void 0 : listParent.blocks[index];
|
|
171
|
+
if (result && !(0, roosterjs_content_model_dom_1.isEmpty)(result)) {
|
|
172
|
+
return result;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
178
|
//# sourceMappingURL=processWordLists.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processWordLists.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/paste/WordDesktop/processWordLists.ts"],"names":[],"mappings":"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","sourcesContent":["import { getListStyleTypeFromString, updateListMetadata } from 'roosterjs-content-model-core';\r\nimport { removeNegativeTextIndentParser } from './removeNegativeTextIndentParser';\r\nimport type { WordMetadata } from './WordMetadata';\r\nimport {\r\n addBlock,\r\n createListItem,\r\n createListLevel,\r\n isEmpty,\r\n parseFormat,\r\n} from 'roosterjs-content-model-dom';\r\nimport type {\r\n ContentModelBlockGroup,\r\n ContentModelListItem,\r\n ContentModelListItemFormat,\r\n ContentModelListItemLevelFormat,\r\n ContentModelListLevel,\r\n DomToModelContext,\r\n DomToModelListFormat,\r\n} from 'roosterjs-content-model-types';\r\n\r\n/** Word list metadata style name */\r\nconst MSO_LIST = 'mso-list';\r\nconst MSO_LIST_IGNORE = 'ignore';\r\nconst WORD_FIRST_LIST = 'l0';\r\nconst TEMPLATE_VALUE_REGEX = /%[0-9a-zA-Z]+/g;\r\n\r\ninterface WordDesktopListFormat extends DomToModelListFormat {\r\n wordLevel?: number | '';\r\n wordList?: string;\r\n wordKnownLevels?: Map<string, ContentModelListLevel[]>;\r\n}\r\n\r\ninterface WordListFormat extends ContentModelListItemFormat {\r\n wordList?: string;\r\n}\r\n\r\nconst BULLET_METADATA = 'bullet';\r\n/**\r\n * @internal\r\n * @param styles\r\n * @param group\r\n * @param element\r\n * @param context\r\n * @returns\r\n */\r\nexport function processWordList(\r\n styles: Record<string, string>,\r\n group: ContentModelBlockGroup,\r\n element: HTMLElement,\r\n context: DomToModelContext,\r\n metadata: Map<string, WordMetadata>\r\n) {\r\n const listFormat = context.listFormat as WordDesktopListFormat;\r\n if (!listFormat.wordKnownLevels) {\r\n listFormat.wordKnownLevels = new Map<string, ContentModelListLevel[]>();\r\n }\r\n const wordListStyle = styles[MSO_LIST] || '';\r\n\r\n // If the element contains Ignore style, do not process it,\r\n // Usually this element contains the fake bullet used in Word Desktop.\r\n if (wordListStyle.toLowerCase() === MSO_LIST_IGNORE) {\r\n return true;\r\n }\r\n\r\n const [lNumber, level] = wordListStyle.split(' ');\r\n // Try get the list metadata from word, which follows this format: l1 level1 lfo2\r\n // If we are able to get the level property means we can process this element to be a list\r\n listFormat.wordLevel = level && parseInt(level.substr('level'.length));\r\n\r\n listFormat.wordList = lNumber || WORD_FIRST_LIST;\r\n if (listFormat.levels.length == 0) {\r\n listFormat.levels =\r\n (listFormat.wordList && listFormat.wordKnownLevels.get(listFormat.wordList)) || [];\r\n }\r\n\r\n if (wordListStyle && group && typeof listFormat.wordLevel === 'number') {\r\n const { wordLevel, wordList } = listFormat;\r\n // Retrieve the Fake bullet on the element and also the list type\r\n const listMetadata = metadata.get(`${lNumber}:${level}`);\r\n const listType =\r\n listMetadata?.['mso-level-number-format']?.toLowerCase() != BULLET_METADATA\r\n ? 'OL'\r\n : 'UL';\r\n\r\n // Create the new level of the list item and parse the format\r\n const newLevel: ContentModelListLevel = createListLevel(listType);\r\n parseFormat(\r\n element,\r\n [...context.formatParsers.listLevel, wordListPaddingParser],\r\n newLevel.format,\r\n context\r\n );\r\n\r\n // If the list format is in a different level, update the array so we get the new item\r\n // To be in the same level as the provided level metadata.\r\n if (wordLevel > listFormat.levels.length) {\r\n while (wordLevel != listFormat.levels.length) {\r\n listFormat.levels.push(newLevel);\r\n }\r\n } else {\r\n listFormat.levels.splice(wordLevel, listFormat.levels.length - 1);\r\n listFormat.levels[wordLevel - 1] = newLevel;\r\n }\r\n (listFormat.levels[listFormat.levels.length - 1]\r\n .format as WordListFormat).wordList = wordList;\r\n\r\n listFormat.listParent = group;\r\n\r\n processAsListItem(listFormat, context, element, group, listMetadata);\r\n\r\n if (\r\n listFormat.levels.length > 0 &&\r\n listFormat.wordKnownLevels.get(wordList) != listFormat.levels\r\n ) {\r\n listFormat.wordKnownLevels.set(wordList, [...listFormat.levels]);\r\n }\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction processAsListItem(\r\n listFormat: WordDesktopListFormat,\r\n context: DomToModelContext,\r\n element: HTMLElement,\r\n group: ContentModelBlockGroup,\r\n listMetadata: WordMetadata | undefined\r\n) {\r\n const listLevel = listFormat.levels[listFormat.levels.length - 1];\r\n const { listType } = listLevel;\r\n const bullet = getBulletFromMetadata(listMetadata, listType);\r\n if (bullet) {\r\n updateListMetadata(listFormat.levels[listFormat.levels.length - 1], metadata =>\r\n Object.assign({}, metadata, {\r\n unorderedStyleType: listType == 'UL' ? bullet : undefined,\r\n orderedStyleType: listType == 'OL' ? bullet : undefined,\r\n })\r\n );\r\n }\r\n\r\n const listItem = createListItem(listFormat.levels, context.segmentFormat);\r\n\r\n parseFormat(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);\r\n parseFormat(element, context.formatParsers.listItemElement, listItem.format, context);\r\n parseFormat(element, [removeNegativeTextIndentParser], listItem.format, context);\r\n\r\n if (listType == 'OL') {\r\n setStartNumber(listItem, context, listMetadata);\r\n }\r\n\r\n context.elementProcessors.child(listItem, element, context);\r\n addBlock(group, listItem);\r\n}\r\n\r\nfunction getBulletFromMetadata(listMetadata: WordMetadata | undefined, listType: 'OL' | 'UL') {\r\n const templateType = listMetadata?.['mso-level-number-format'] || 'decimal';\r\n let templateFinal: string;\r\n\r\n if (listMetadata?.['mso-level-text']) {\r\n let templateValue: string = '';\r\n switch (templateType) {\r\n case 'alpha-upper':\r\n templateValue = 'UpperAlpha';\r\n break;\r\n case 'alpha-lower':\r\n templateValue = 'LowerAlpha';\r\n break;\r\n case 'roman-lower':\r\n templateValue = 'LowerRoman';\r\n break;\r\n case 'roman-upper':\r\n templateValue = 'UpperRoman';\r\n break;\r\n default:\r\n templateValue = 'Number';\r\n break;\r\n }\r\n const template = (listMetadata['mso-level-text'] || '')\r\n .replace('\\\\', '')\r\n .replace('\"', '')\r\n .replace(TEMPLATE_VALUE_REGEX, '${' + templateValue + '}');\r\n\r\n templateFinal = '\"' + template + ' \"';\r\n } else {\r\n switch (templateType) {\r\n case 'alpha-lower':\r\n templateFinal = 'lower-alpha';\r\n break;\r\n case 'roman-lower':\r\n templateFinal = 'lower-roman';\r\n break;\r\n case 'roman-upper':\r\n templateFinal = 'upper-roman';\r\n break;\r\n default:\r\n templateFinal = 'decimal';\r\n break;\r\n }\r\n }\r\n\r\n return getListStyleTypeFromString(listType, templateFinal);\r\n}\r\n\r\nfunction wordListPaddingParser(\r\n format: ContentModelListItemLevelFormat,\r\n element: HTMLElement\r\n): void {\r\n if (element.style.marginLeft && element.style.marginLeft != '0in') {\r\n format.paddingLeft = '0px';\r\n }\r\n if (element.style.marginRight && element.style.marginRight != '0in') {\r\n format.paddingRight = '0px';\r\n }\r\n}\r\n\r\nfunction setStartNumber(\r\n listItem: ContentModelListItem,\r\n context: DomToModelContext,\r\n listMetadata: WordMetadata | undefined\r\n) {\r\n const {\r\n listParent,\r\n wordList,\r\n wordKnownLevels,\r\n wordLevel,\r\n levels,\r\n } = context.listFormat as WordDesktopListFormat;\r\n\r\n const block = getLastNotEmptyBlock(listParent);\r\n if (\r\n (block?.blockType != 'BlockGroup' ||\r\n block.blockGroupType != 'ListItem' ||\r\n (wordLevel &&\r\n (block.levels[wordLevel]?.format as WordListFormat)?.wordList != wordList)) &&\r\n wordList\r\n ) {\r\n const start = listMetadata?.['mso-level-start-at']\r\n ? parseInt(listMetadata['mso-level-start-at'])\r\n : NaN;\r\n const knownLevel = wordKnownLevels?.get(wordList) || [];\r\n\r\n if (start != undefined && !isNaN(start) && knownLevel.length != levels.length) {\r\n listItem.levels[listItem.levels.length - 1].format.startNumberOverride = start;\r\n }\r\n }\r\n}\r\n\r\nfunction getLastNotEmptyBlock(listParent: ContentModelBlockGroup | undefined) {\r\n for (let index = (listParent?.blocks.length || 0) - 1; index > 0; index--) {\r\n const result = listParent?.blocks[index];\r\n if (result && !isEmpty(result)) {\r\n return result;\r\n }\r\n }\r\n\r\n return undefined;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"processWordLists.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/paste/WordDesktop/processWordLists.ts"],"names":[],"mappings":"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","sourcesContent":["import { getListStyleTypeFromString, updateListMetadata } from 'roosterjs-content-model-core';\nimport { removeNegativeTextIndentParser } from './removeNegativeTextIndentParser';\nimport type { WordMetadata } from './WordMetadata';\nimport {\n addBlock,\n createListItem,\n createListLevel,\n isEmpty,\n parseFormat,\n} from 'roosterjs-content-model-dom';\nimport type {\n ContentModelBlockGroup,\n ContentModelListItem,\n ContentModelListItemFormat,\n ContentModelListItemLevelFormat,\n ContentModelListLevel,\n DomToModelContext,\n DomToModelListFormat,\n} from 'roosterjs-content-model-types';\n\n/** Word list metadata style name */\nconst MSO_LIST = 'mso-list';\nconst MSO_LIST_IGNORE = 'ignore';\nconst WORD_FIRST_LIST = 'l0';\nconst TEMPLATE_VALUE_REGEX = /%[0-9a-zA-Z]+/g;\n\ninterface WordDesktopListFormat extends DomToModelListFormat {\n wordLevel?: number | '';\n wordList?: string;\n wordKnownLevels?: Map<string, ContentModelListLevel[]>;\n}\n\ninterface WordListFormat extends ContentModelListItemFormat {\n wordList?: string;\n}\n\nconst BULLET_METADATA = 'bullet';\n/**\n * @internal\n * @param styles\n * @param group\n * @param element\n * @param context\n * @returns\n */\nexport function processWordList(\n styles: Record<string, string>,\n group: ContentModelBlockGroup,\n element: HTMLElement,\n context: DomToModelContext,\n metadata: Map<string, WordMetadata>\n) {\n const listFormat = context.listFormat as WordDesktopListFormat;\n if (!listFormat.wordKnownLevels) {\n listFormat.wordKnownLevels = new Map<string, ContentModelListLevel[]>();\n }\n const wordListStyle = styles[MSO_LIST] || '';\n\n // If the element contains Ignore style, do not process it,\n // Usually this element contains the fake bullet used in Word Desktop.\n if (wordListStyle.toLowerCase() === MSO_LIST_IGNORE) {\n return true;\n }\n\n const [lNumber, level] = wordListStyle.split(' ');\n // Try get the list metadata from word, which follows this format: l1 level1 lfo2\n // If we are able to get the level property means we can process this element to be a list\n listFormat.wordLevel = level && parseInt(level.substr('level'.length));\n\n listFormat.wordList = lNumber || WORD_FIRST_LIST;\n if (listFormat.levels.length == 0) {\n listFormat.levels =\n (listFormat.wordList && listFormat.wordKnownLevels.get(listFormat.wordList)) || [];\n }\n\n if (wordListStyle && group && typeof listFormat.wordLevel === 'number') {\n const { wordLevel, wordList } = listFormat;\n // Retrieve the Fake bullet on the element and also the list type\n const listMetadata = metadata.get(`${lNumber}:${level}`);\n const listType =\n listMetadata?.['mso-level-number-format']?.toLowerCase() != BULLET_METADATA\n ? 'OL'\n : 'UL';\n\n // Create the new level of the list item and parse the format\n const newLevel: ContentModelListLevel = createListLevel(listType);\n parseFormat(\n element,\n [...context.formatParsers.listLevel, wordListPaddingParser],\n newLevel.format,\n context\n );\n\n // If the list format is in a different level, update the array so we get the new item\n // To be in the same level as the provided level metadata.\n if (wordLevel > listFormat.levels.length) {\n while (wordLevel != listFormat.levels.length) {\n listFormat.levels.push(newLevel);\n }\n } else {\n listFormat.levels.splice(wordLevel, listFormat.levels.length - 1);\n listFormat.levels[wordLevel - 1] = newLevel;\n }\n (listFormat.levels[listFormat.levels.length - 1]\n .format as WordListFormat).wordList = wordList;\n\n listFormat.listParent = group;\n\n processAsListItem(listFormat, context, element, group, listMetadata);\n\n if (\n listFormat.levels.length > 0 &&\n listFormat.wordKnownLevels.get(wordList) != listFormat.levels\n ) {\n listFormat.wordKnownLevels.set(wordList, [...listFormat.levels]);\n }\n return true;\n }\n\n return false;\n}\n\nfunction processAsListItem(\n listFormat: WordDesktopListFormat,\n context: DomToModelContext,\n element: HTMLElement,\n group: ContentModelBlockGroup,\n listMetadata: WordMetadata | undefined\n) {\n const listLevel = listFormat.levels[listFormat.levels.length - 1];\n const { listType } = listLevel;\n const bullet = getBulletFromMetadata(listMetadata, listType);\n if (bullet) {\n updateListMetadata(listFormat.levels[listFormat.levels.length - 1], metadata =>\n Object.assign({}, metadata, {\n unorderedStyleType: listType == 'UL' ? bullet : undefined,\n orderedStyleType: listType == 'OL' ? bullet : undefined,\n })\n );\n }\n\n const listItem = createListItem(listFormat.levels, context.segmentFormat);\n\n parseFormat(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);\n parseFormat(element, context.formatParsers.listItemElement, listItem.format, context);\n parseFormat(element, [removeNegativeTextIndentParser], listItem.format, context);\n\n if (listType == 'OL') {\n setStartNumber(listItem, context, listMetadata);\n }\n\n context.elementProcessors.child(listItem, element, context);\n addBlock(group, listItem);\n}\n\nfunction getBulletFromMetadata(listMetadata: WordMetadata | undefined, listType: 'OL' | 'UL') {\n const templateType = listMetadata?.['mso-level-number-format'] || 'decimal';\n let templateFinal: string;\n\n if (listMetadata?.['mso-level-text']) {\n let templateValue: string = '';\n switch (templateType) {\n case 'alpha-upper':\n templateValue = 'UpperAlpha';\n break;\n case 'alpha-lower':\n templateValue = 'LowerAlpha';\n break;\n case 'roman-lower':\n templateValue = 'LowerRoman';\n break;\n case 'roman-upper':\n templateValue = 'UpperRoman';\n break;\n default:\n templateValue = 'Number';\n break;\n }\n const template = (listMetadata['mso-level-text'] || '')\n .replace('\\\\', '')\n .replace('\"', '')\n .replace(TEMPLATE_VALUE_REGEX, '${' + templateValue + '}');\n\n templateFinal = '\"' + template + ' \"';\n } else {\n switch (templateType) {\n case 'alpha-lower':\n templateFinal = 'lower-alpha';\n break;\n case 'roman-lower':\n templateFinal = 'lower-roman';\n break;\n case 'roman-upper':\n templateFinal = 'upper-roman';\n break;\n default:\n templateFinal = 'decimal';\n break;\n }\n }\n\n return getListStyleTypeFromString(listType, templateFinal);\n}\n\nfunction wordListPaddingParser(\n format: ContentModelListItemLevelFormat,\n element: HTMLElement\n): void {\n if (element.style.marginLeft && element.style.marginLeft != '0in') {\n format.paddingLeft = '0px';\n }\n if (element.style.marginRight && element.style.marginRight != '0in') {\n format.paddingRight = '0px';\n }\n}\n\nfunction setStartNumber(\n listItem: ContentModelListItem,\n context: DomToModelContext,\n listMetadata: WordMetadata | undefined\n) {\n const {\n listParent,\n wordList,\n wordKnownLevels,\n wordLevel,\n levels,\n } = context.listFormat as WordDesktopListFormat;\n\n const block = getLastNotEmptyBlock(listParent);\n if (\n (block?.blockType != 'BlockGroup' ||\n block.blockGroupType != 'ListItem' ||\n (wordLevel &&\n (block.levels[wordLevel]?.format as WordListFormat)?.wordList != wordList)) &&\n wordList\n ) {\n const start = listMetadata?.['mso-level-start-at']\n ? parseInt(listMetadata['mso-level-start-at'])\n : NaN;\n const knownLevel = wordKnownLevels?.get(wordList) || [];\n\n if (start != undefined && !isNaN(start) && knownLevel.length != levels.length) {\n listItem.levels[listItem.levels.length - 1].format.startNumberOverride = start;\n }\n }\n}\n\nfunction getLastNotEmptyBlock(listParent: ContentModelBlockGroup | undefined) {\n for (let index = (listParent?.blocks.length || 0) - 1; index > 0; index--) {\n const result = listParent?.blocks[index];\n if (result && !isEmpty(result)) {\n return result;\n }\n }\n\n return undefined;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { FormatParser, TextIndentFormat } from 'roosterjs-content-model-types';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*/
|
|
5
|
-
export declare const removeNegativeTextIndentParser: FormatParser<TextIndentFormat>;
|
|
1
|
+
import type { FormatParser, TextIndentFormat } from 'roosterjs-content-model-types';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export declare const removeNegativeTextIndentParser: FormatParser<TextIndentFormat>;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
define(["require", "exports"], function (require, exports) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.removeNegativeTextIndentParser = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
var removeNegativeTextIndentParser = function (format, element) {
|
|
9
|
-
var _a;
|
|
10
|
-
if ((_a = format.textIndent) === null || _a === void 0 ? void 0 : _a.startsWith('-')) {
|
|
11
|
-
delete format.textIndent;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
exports.removeNegativeTextIndentParser = removeNegativeTextIndentParser;
|
|
15
|
-
});
|
|
1
|
+
define(["require", "exports"], function (require, exports) {
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.removeNegativeTextIndentParser = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
var removeNegativeTextIndentParser = function (format, element) {
|
|
9
|
+
var _a;
|
|
10
|
+
if ((_a = format.textIndent) === null || _a === void 0 ? void 0 : _a.startsWith('-')) {
|
|
11
|
+
delete format.textIndent;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.removeNegativeTextIndentParser = removeNegativeTextIndentParser;
|
|
15
|
+
});
|
|
16
16
|
//# sourceMappingURL=removeNegativeTextIndentParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeNegativeTextIndentParser.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/paste/WordDesktop/removeNegativeTextIndentParser.ts"],"names":[],"mappings":";;;;IAEA;;OAEG;IACI,IAAM,8BAA8B,GAAmC,UAAC,MAAM,EAAE,OAAO;;QAC1F,IAAI,MAAA,MAAM,CAAC,UAAU,0CAAE,UAAU,CAAC,GAAG,CAAC,EAAE;YACpC,OAAO,MAAM,CAAC,UAAU,CAAC;SAC5B;IACL,CAAC,CAAC;IAJW,QAAA,8BAA8B,kCAIzC","sourcesContent":["import type { FormatParser, TextIndentFormat } from 'roosterjs-content-model-types';\
|
|
1
|
+
{"version":3,"file":"removeNegativeTextIndentParser.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/paste/WordDesktop/removeNegativeTextIndentParser.ts"],"names":[],"mappings":";;;;IAEA;;OAEG;IACI,IAAM,8BAA8B,GAAmC,UAAC,MAAM,EAAE,OAAO;;QAC1F,IAAI,MAAA,MAAM,CAAC,UAAU,0CAAE,UAAU,CAAC,GAAG,CAAC,EAAE;YACpC,OAAO,MAAM,CAAC,UAAU,CAAC;SAC5B;IACL,CAAC,CAAC;IAJW,QAAA,8BAA8B,kCAIzC","sourcesContent":["import type { FormatParser, TextIndentFormat } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const removeNegativeTextIndentParser: FormatParser<TextIndentFormat> = (format, element) => {\n if (format.textIndent?.startsWith('-')) {\n delete format.textIndent;\n }\n};\n"]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @internal
|
|
3
|
-
*/
|
|
4
|
-
export declare const PastePropertyNames: {
|
|
5
|
-
/**
|
|
6
|
-
* Node attribute used to identify if the content is from Google Sheets.
|
|
7
|
-
*/
|
|
8
|
-
GOOGLE_SHEET_NODE_NAME: string;
|
|
9
|
-
/**
|
|
10
|
-
* Name of the HTMLMeta Property that provides the Office App Source of the pasted content
|
|
11
|
-
*/
|
|
12
|
-
PROG_ID_NAME: string;
|
|
13
|
-
/**
|
|
14
|
-
* Name of the HTMLMeta Property that identifies pated content as from Excel Desktop
|
|
15
|
-
*/
|
|
16
|
-
EXCEL_DESKTOP_ATTRIBUTE_NAME: string;
|
|
17
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export declare const PastePropertyNames: {
|
|
5
|
+
/**
|
|
6
|
+
* Node attribute used to identify if the content is from Google Sheets.
|
|
7
|
+
*/
|
|
8
|
+
GOOGLE_SHEET_NODE_NAME: string;
|
|
9
|
+
/**
|
|
10
|
+
* Name of the HTMLMeta Property that provides the Office App Source of the pasted content
|
|
11
|
+
*/
|
|
12
|
+
PROG_ID_NAME: string;
|
|
13
|
+
/**
|
|
14
|
+
* Name of the HTMLMeta Property that identifies pated content as from Excel Desktop
|
|
15
|
+
*/
|
|
16
|
+
EXCEL_DESKTOP_ATTRIBUTE_NAME: string;
|
|
17
|
+
};
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
define(["require", "exports"], function (require, exports) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.PastePropertyNames = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
exports.PastePropertyNames = {
|
|
9
|
-
/**
|
|
10
|
-
* Node attribute used to identify if the content is from Google Sheets.
|
|
11
|
-
*/
|
|
12
|
-
GOOGLE_SHEET_NODE_NAME: 'google-sheets-html-origin',
|
|
13
|
-
/**
|
|
14
|
-
* Name of the HTMLMeta Property that provides the Office App Source of the pasted content
|
|
15
|
-
*/
|
|
16
|
-
PROG_ID_NAME: 'ProgId',
|
|
17
|
-
/**
|
|
18
|
-
* Name of the HTMLMeta Property that identifies pated content as from Excel Desktop
|
|
19
|
-
*/
|
|
20
|
-
EXCEL_DESKTOP_ATTRIBUTE_NAME: 'xmlns:x',
|
|
21
|
-
};
|
|
22
|
-
});
|
|
1
|
+
define(["require", "exports"], function (require, exports) {
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PastePropertyNames = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.PastePropertyNames = {
|
|
9
|
+
/**
|
|
10
|
+
* Node attribute used to identify if the content is from Google Sheets.
|
|
11
|
+
*/
|
|
12
|
+
GOOGLE_SHEET_NODE_NAME: 'google-sheets-html-origin',
|
|
13
|
+
/**
|
|
14
|
+
* Name of the HTMLMeta Property that provides the Office App Source of the pasted content
|
|
15
|
+
*/
|
|
16
|
+
PROG_ID_NAME: 'ProgId',
|
|
17
|
+
/**
|
|
18
|
+
* Name of the HTMLMeta Property that identifies pated content as from Excel Desktop
|
|
19
|
+
*/
|
|
20
|
+
EXCEL_DESKTOP_ATTRIBUTE_NAME: 'xmlns:x',
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
23
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/paste/pasteSourceValidations/constants.ts"],"names":[],"mappings":";;;;IAAA;;OAEG;IACU,QAAA,kBAAkB,GAAG;QAC9B;;WAEG;QACH,sBAAsB,EAAE,2BAA2B;QAEnD;;WAEG;QACH,YAAY,EAAE,QAAQ;QAEtB;;WAEG;QACH,4BAA4B,EAAE,SAAS;KAC1C,CAAC","sourcesContent":["/**\
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/paste/pasteSourceValidations/constants.ts"],"names":[],"mappings":";;;;IAAA;;OAEG;IACU,QAAA,kBAAkB,GAAG;QAC9B;;WAEG;QACH,sBAAsB,EAAE,2BAA2B;QAEnD;;WAEG;QACH,YAAY,EAAE,QAAQ;QAEtB;;WAEG;QACH,4BAA4B,EAAE,SAAS;KAC1C,CAAC","sourcesContent":["/**\n * @internal\n */\nexport const PastePropertyNames = {\n /**\n * Node attribute used to identify if the content is from Google Sheets.\n */\n GOOGLE_SHEET_NODE_NAME: 'google-sheets-html-origin',\n\n /**\n * Name of the HTMLMeta Property that provides the Office App Source of the pasted content\n */\n PROG_ID_NAME: 'ProgId',\n\n /**\n * Name of the HTMLMeta Property that identifies pated content as from Excel Desktop\n */\n EXCEL_DESKTOP_ATTRIBUTE_NAME: 'xmlns:x',\n};\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { GetSourceFunction } from './getPasteSource';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
* Check whether the fragment provided contain Wac Elements
|
|
5
|
-
* @param props Properties related to the PasteEvent
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export declare const documentContainWacElements: GetSourceFunction;
|
|
1
|
+
import type { GetSourceFunction } from './getPasteSource';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
* Check whether the fragment provided contain Wac Elements
|
|
5
|
+
* @param props Properties related to the PasteEvent
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare const documentContainWacElements: GetSourceFunction;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
define(["require", "exports", "../WacComponents/constants"], function (require, exports, constants_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.documentContainWacElements = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
* Check whether the fragment provided contain Wac Elements
|
|
8
|
-
* @param props Properties related to the PasteEvent
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
var documentContainWacElements = function (props) {
|
|
12
|
-
var fragment = props.fragment;
|
|
13
|
-
return !!fragment.querySelector(constants_1.WAC_IDENTIFY_SELECTOR);
|
|
14
|
-
};
|
|
15
|
-
exports.documentContainWacElements = documentContainWacElements;
|
|
16
|
-
});
|
|
1
|
+
define(["require", "exports", "../WacComponents/constants"], function (require, exports, constants_1) {
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.documentContainWacElements = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
* Check whether the fragment provided contain Wac Elements
|
|
8
|
+
* @param props Properties related to the PasteEvent
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
var documentContainWacElements = function (props) {
|
|
12
|
+
var fragment = props.fragment;
|
|
13
|
+
return !!fragment.querySelector(constants_1.WAC_IDENTIFY_SELECTOR);
|
|
14
|
+
};
|
|
15
|
+
exports.documentContainWacElements = documentContainWacElements;
|
|
16
|
+
});
|
|
17
17
|
//# sourceMappingURL=documentContainWacElements.js.map
|