roosterjs-content-model-dom 0.10.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/LICENSE +25 -0
- package/README.md +307 -0
- package/lib/domToModel/context/createDomToModelContext.d.ts +7 -0
- package/lib/domToModel/context/createDomToModelContext.js +65 -0
- package/lib/domToModel/context/createDomToModelContext.js.map +1 -0
- package/lib/domToModel/context/defaultProcessors.d.ts +5 -0
- package/lib/domToModel/context/defaultProcessors.js +64 -0
- package/lib/domToModel/context/defaultProcessors.js.map +1 -0
- package/lib/domToModel/domToContentModel.d.ts +9 -0
- package/lib/domToModel/domToContentModel.js +32 -0
- package/lib/domToModel/domToContentModel.js.map +1 -0
- package/lib/domToModel/processors/blockProcessor.d.ts +5 -0
- package/lib/domToModel/processors/blockProcessor.js +31 -0
- package/lib/domToModel/processors/blockProcessor.js.map +1 -0
- package/lib/domToModel/processors/brProcessor.d.ts +5 -0
- package/lib/domToModel/processors/brProcessor.js +17 -0
- package/lib/domToModel/processors/brProcessor.js.map +1 -0
- package/lib/domToModel/processors/childProcessor.d.ts +25 -0
- package/lib/domToModel/processors/childProcessor.js +62 -0
- package/lib/domToModel/processors/childProcessor.js.map +1 -0
- package/lib/domToModel/processors/codeProcessor.d.ts +5 -0
- package/lib/domToModel/processors/codeProcessor.js +17 -0
- package/lib/domToModel/processors/codeProcessor.js.map +1 -0
- package/lib/domToModel/processors/delimiterProcessor.d.ts +8 -0
- package/lib/domToModel/processors/delimiterProcessor.js +23 -0
- package/lib/domToModel/processors/delimiterProcessor.js.map +1 -0
- package/lib/domToModel/processors/elementProcessor.d.ts +8 -0
- package/lib/domToModel/processors/elementProcessor.js +30 -0
- package/lib/domToModel/processors/elementProcessor.js.map +1 -0
- package/lib/domToModel/processors/entityProcessor.d.ts +8 -0
- package/lib/domToModel/processors/entityProcessor.js +43 -0
- package/lib/domToModel/processors/entityProcessor.js.map +1 -0
- package/lib/domToModel/processors/fontProcessor.d.ts +5 -0
- package/lib/domToModel/processors/fontProcessor.js +48 -0
- package/lib/domToModel/processors/fontProcessor.js.map +1 -0
- package/lib/domToModel/processors/formatContainerProcessor.d.ts +9 -0
- package/lib/domToModel/processors/formatContainerProcessor.js +71 -0
- package/lib/domToModel/processors/formatContainerProcessor.js.map +1 -0
- package/lib/domToModel/processors/generalProcessor.d.ts +5 -0
- package/lib/domToModel/processors/generalProcessor.js +50 -0
- package/lib/domToModel/processors/generalProcessor.js.map +1 -0
- package/lib/domToModel/processors/headingProcessor.d.ts +5 -0
- package/lib/domToModel/processors/headingProcessor.js +23 -0
- package/lib/domToModel/processors/headingProcessor.js.map +1 -0
- package/lib/domToModel/processors/hrProcessor.d.ts +5 -0
- package/lib/domToModel/processors/hrProcessor.js +27 -0
- package/lib/domToModel/processors/hrProcessor.js.map +1 -0
- package/lib/domToModel/processors/imageProcessor.d.ts +5 -0
- package/lib/domToModel/processors/imageProcessor.js +41 -0
- package/lib/domToModel/processors/imageProcessor.js.map +1 -0
- package/lib/domToModel/processors/knownElementProcessor.d.ts +5 -0
- package/lib/domToModel/processors/knownElementProcessor.js +96 -0
- package/lib/domToModel/processors/knownElementProcessor.js.map +1 -0
- package/lib/domToModel/processors/linkProcessor.d.ts +5 -0
- package/lib/domToModel/processors/linkProcessor.js +24 -0
- package/lib/domToModel/processors/linkProcessor.js.map +1 -0
- package/lib/domToModel/processors/listItemProcessor.d.ts +5 -0
- package/lib/domToModel/processors/listItemProcessor.js +39 -0
- package/lib/domToModel/processors/listItemProcessor.js.map +1 -0
- package/lib/domToModel/processors/listProcessor.d.ts +5 -0
- package/lib/domToModel/processors/listProcessor.js +42 -0
- package/lib/domToModel/processors/listProcessor.js.map +1 -0
- package/lib/domToModel/processors/pProcessor.d.ts +5 -0
- package/lib/domToModel/processors/pProcessor.js +24 -0
- package/lib/domToModel/processors/pProcessor.js.map +1 -0
- package/lib/domToModel/processors/tableProcessor.d.ts +19 -0
- package/lib/domToModel/processors/tableProcessor.js +164 -0
- package/lib/domToModel/processors/tableProcessor.js.map +1 -0
- package/lib/domToModel/processors/textProcessor.d.ts +5 -0
- package/lib/domToModel/processors/textProcessor.js +62 -0
- package/lib/domToModel/processors/textProcessor.js.map +1 -0
- package/lib/domToModel/utils/addSelectionMarker.d.ts +5 -0
- package/lib/domToModel/utils/addSelectionMarker.js +16 -0
- package/lib/domToModel/utils/addSelectionMarker.js.map +1 -0
- package/lib/domToModel/utils/areSameFormats.d.ts +7 -0
- package/lib/domToModel/utils/areSameFormats.js +21 -0
- package/lib/domToModel/utils/areSameFormats.js.map +1 -0
- package/lib/domToModel/utils/getBoundingClientRect.d.ts +4 -0
- package/lib/domToModel/utils/getBoundingClientRect.js +11 -0
- package/lib/domToModel/utils/getBoundingClientRect.js.map +1 -0
- package/lib/domToModel/utils/getDefaultStyle.d.ts +9 -0
- package/lib/domToModel/utils/getDefaultStyle.js +16 -0
- package/lib/domToModel/utils/getDefaultStyle.js.map +1 -0
- package/lib/domToModel/utils/getRegularSelectionOffsets.d.ts +9 -0
- package/lib/domToModel/utils/getRegularSelectionOffsets.js +22 -0
- package/lib/domToModel/utils/getRegularSelectionOffsets.js.map +1 -0
- package/lib/domToModel/utils/isBlockElement.d.ts +8 -0
- package/lib/domToModel/utils/isBlockElement.js +17 -0
- package/lib/domToModel/utils/isBlockElement.js.map +1 -0
- package/lib/domToModel/utils/parseFormat.d.ts +9 -0
- package/lib/domToModel/utils/parseFormat.js +19 -0
- package/lib/domToModel/utils/parseFormat.js.map +1 -0
- package/lib/domToModel/utils/stackFormat.d.ts +15 -0
- package/lib/domToModel/utils/stackFormat.js +112 -0
- package/lib/domToModel/utils/stackFormat.js.map +1 -0
- package/lib/domUtils/isNodeOfType.d.ts +44 -0
- package/lib/domUtils/isNodeOfType.js +13 -0
- package/lib/domUtils/isNodeOfType.js.map +1 -0
- package/lib/domUtils/metadata/updateListMetadata.d.ts +8 -0
- package/lib/domUtils/metadata/updateListMetadata.js +20 -0
- package/lib/domUtils/metadata/updateListMetadata.js.map +1 -0
- package/lib/domUtils/metadata/updateMetadata.d.ts +15 -0
- package/lib/domUtils/metadata/updateMetadata.js +43 -0
- package/lib/domUtils/metadata/updateMetadata.js.map +1 -0
- package/lib/domUtils/stringUtil.d.ts +24 -0
- package/lib/domUtils/stringUtil.js +47 -0
- package/lib/domUtils/stringUtil.js.map +1 -0
- package/lib/formatHandlers/FormatHandler.d.ts +15 -0
- package/lib/formatHandlers/FormatHandler.js +3 -0
- package/lib/formatHandlers/FormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/directionFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/directionFormatHandler.js +20 -0
- package/lib/formatHandlers/block/directionFormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/displayFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/displayFormatHandler.js +20 -0
- package/lib/formatHandlers/block/displayFormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/htmlAlignFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/htmlAlignFormatHandler.js +26 -0
- package/lib/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/lineHeightFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/lineHeightFormatHandler.js +20 -0
- package/lib/formatHandlers/block/lineHeightFormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/marginFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/marginFormatHandler.js +45 -0
- package/lib/formatHandlers/block/marginFormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/paddingFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/paddingFormatHandler.js +31 -0
- package/lib/formatHandlers/block/paddingFormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/textAlignFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/textAlignFormatHandler.js +41 -0
- package/lib/formatHandlers/block/textAlignFormatHandler.js.map +1 -0
- package/lib/formatHandlers/block/whiteSpaceFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/block/whiteSpaceFormatHandler.js +21 -0
- package/lib/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/backgroundColorFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/backgroundColorFormatHandler.js +21 -0
- package/lib/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/borderBoxFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/borderBoxFormatHandler.js +20 -0
- package/lib/formatHandlers/common/borderBoxFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/borderFormatHandler.d.ts +10 -0
- package/lib/formatHandlers/common/borderFormatHandler.js +35 -0
- package/lib/formatHandlers/common/borderFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/boxShadowFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/boxShadowFormatHandler.js +20 -0
- package/lib/formatHandlers/common/boxShadowFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/datasetFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/datasetFormatHandler.js +21 -0
- package/lib/formatHandlers/common/datasetFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/idFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/idFormatHandler.js +19 -0
- package/lib/formatHandlers/common/idFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/sizeFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/sizeFormatHandler.js +65 -0
- package/lib/formatHandlers/common/sizeFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/verticalAlignFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/verticalAlignFormatHandler.js +31 -0
- package/lib/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -0
- package/lib/formatHandlers/common/wordBreakFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/common/wordBreakFormatHandler.js +20 -0
- package/lib/formatHandlers/common/wordBreakFormatHandler.js.map +1 -0
- package/lib/formatHandlers/defaultFormatHandlers.d.ts +17 -0
- package/lib/formatHandlers/defaultFormatHandlers.js +224 -0
- package/lib/formatHandlers/defaultFormatHandlers.js.map +1 -0
- package/lib/formatHandlers/list/listItemMetadataFormatHandler.d.ts +11 -0
- package/lib/formatHandlers/list/listItemMetadataFormatHandler.js +102 -0
- package/lib/formatHandlers/list/listItemMetadataFormatHandler.js.map +1 -0
- package/lib/formatHandlers/list/listItemThreadFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/list/listItemThreadFormatHandler.js +46 -0
- package/lib/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -0
- package/lib/formatHandlers/list/listLevelMetadataFormatHandler.d.ts +15 -0
- package/lib/formatHandlers/list/listLevelMetadataFormatHandler.js +88 -0
- package/lib/formatHandlers/list/listLevelMetadataFormatHandler.js.map +1 -0
- package/lib/formatHandlers/list/listLevelThreadFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/list/listLevelThreadFormatHandler.js +37 -0
- package/lib/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -0
- package/lib/formatHandlers/list/listStylePositionFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/list/listStylePositionFormatHandler.js +20 -0
- package/lib/formatHandlers/list/listStylePositionFormatHandler.js.map +1 -0
- package/lib/formatHandlers/list/listTypeFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/list/listTypeFormatHandler.js +17 -0
- package/lib/formatHandlers/list/listTypeFormatHandler.js.map +1 -0
- package/lib/formatHandlers/root/rootDirectionFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/root/rootDirectionFormatHandler.js +17 -0
- package/lib/formatHandlers/root/rootDirectionFormatHandler.js.map +1 -0
- package/lib/formatHandlers/root/zoomScaleFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/root/zoomScaleFormatHandler.js +18 -0
- package/lib/formatHandlers/root/zoomScaleFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/boldFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/boldFormatHandler.js +33 -0
- package/lib/formatHandlers/segment/boldFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/fontFamilyFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/fontFamilyFormatHandler.js +20 -0
- package/lib/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/fontSizeFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/fontSizeFormatHandler.js +24 -0
- package/lib/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/italicFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/italicFormatHandler.js +35 -0
- package/lib/formatHandlers/segment/italicFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/letterSpacingFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/letterSpacingFormatHandler.js +20 -0
- package/lib/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/linkFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/linkFormatHandler.js +65 -0
- package/lib/formatHandlers/segment/linkFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/strikeFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/strikeFormatHandler.js +23 -0
- package/lib/formatHandlers/segment/strikeFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/superOrSubScriptFormatHandler.d.ts +10 -0
- package/lib/formatHandlers/segment/superOrSubScriptFormatHandler.js +43 -0
- package/lib/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/textColorFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/textColorFormatHandler.js +22 -0
- package/lib/formatHandlers/segment/textColorFormatHandler.js.map +1 -0
- package/lib/formatHandlers/segment/underlineFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/underlineFormatHandler.js +35 -0
- package/lib/formatHandlers/segment/underlineFormatHandler.js.map +1 -0
- package/lib/formatHandlers/table/tableLayoutFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/table/tableLayoutFormatHandler.js +20 -0
- package/lib/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -0
- package/lib/formatHandlers/table/tableSpacingFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/table/tableSpacingFormatHandler.js +22 -0
- package/lib/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -0
- package/lib/formatHandlers/table/textColorOnTableCellFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/table/textColorOnTableCellFormatHandler.js +18 -0
- package/lib/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -0
- package/lib/formatHandlers/utils/color.d.ts +9 -0
- package/lib/formatHandlers/utils/color.js +55 -0
- package/lib/formatHandlers/utils/color.js.map +1 -0
- package/lib/formatHandlers/utils/defaultStyles.d.ts +15 -0
- package/lib/formatHandlers/utils/defaultStyles.js +192 -0
- package/lib/formatHandlers/utils/defaultStyles.js.map +1 -0
- package/lib/formatHandlers/utils/dir.d.ts +29 -0
- package/lib/formatHandlers/utils/dir.js +51 -0
- package/lib/formatHandlers/utils/dir.js.map +1 -0
- package/lib/formatHandlers/utils/parseValueWithUnit.d.ts +7 -0
- package/lib/formatHandlers/utils/parseValueWithUnit.js +60 -0
- package/lib/formatHandlers/utils/parseValueWithUnit.js.map +1 -0
- package/lib/index.d.ts +40 -0
- package/lib/index.js +89 -0
- package/lib/index.js.map +1 -0
- package/lib/modelApi/block/setParagraphNotImplicit.d.ts +6 -0
- package/lib/modelApi/block/setParagraphNotImplicit.js +14 -0
- package/lib/modelApi/block/setParagraphNotImplicit.js.map +1 -0
- package/lib/modelApi/common/addBlock.d.ts +7 -0
- package/lib/modelApi/common/addBlock.js +13 -0
- package/lib/modelApi/common/addBlock.js.map +1 -0
- package/lib/modelApi/common/addDecorators.d.ts +15 -0
- package/lib/modelApi/common/addDecorators.js +38 -0
- package/lib/modelApi/common/addDecorators.js.map +1 -0
- package/lib/modelApi/common/addSegment.d.ts +8 -0
- package/lib/modelApi/common/addSegment.js +36 -0
- package/lib/modelApi/common/addSegment.js.map +1 -0
- package/lib/modelApi/common/isEmpty.d.ts +17 -0
- package/lib/modelApi/common/isEmpty.js +80 -0
- package/lib/modelApi/common/isEmpty.js.map +1 -0
- package/lib/modelApi/common/isGeneralSegment.d.ts +6 -0
- package/lib/modelApi/common/isGeneralSegment.js +13 -0
- package/lib/modelApi/common/isGeneralSegment.js.map +1 -0
- package/lib/modelApi/common/isWhiteSpacePreserved.d.ts +6 -0
- package/lib/modelApi/common/isWhiteSpacePreserved.js +16 -0
- package/lib/modelApi/common/isWhiteSpacePreserved.js.map +1 -0
- package/lib/modelApi/common/normalizeContentModel.d.ts +11 -0
- package/lib/modelApi/common/normalizeContentModel.js +48 -0
- package/lib/modelApi/common/normalizeContentModel.js.map +1 -0
- package/lib/modelApi/common/normalizeParagraph.d.ts +5 -0
- package/lib/modelApi/common/normalizeParagraph.js +43 -0
- package/lib/modelApi/common/normalizeParagraph.js.map +1 -0
- package/lib/modelApi/common/normalizeSegment.d.ts +29 -0
- package/lib/modelApi/common/normalizeSegment.js +110 -0
- package/lib/modelApi/common/normalizeSegment.js.map +1 -0
- package/lib/modelApi/common/unwrapBlock.d.ts +7 -0
- package/lib/modelApi/common/unwrapBlock.js +21 -0
- package/lib/modelApi/common/unwrapBlock.js.map +1 -0
- package/lib/modelApi/creators/createBr.d.ts +6 -0
- package/lib/modelApi/creators/createBr.js +16 -0
- package/lib/modelApi/creators/createBr.js.map +1 -0
- package/lib/modelApi/creators/createContentModelDocument.d.ts +6 -0
- package/lib/modelApi/creators/createContentModelDocument.js +19 -0
- package/lib/modelApi/creators/createContentModelDocument.js.map +1 -0
- package/lib/modelApi/creators/createDivider.d.ts +7 -0
- package/lib/modelApi/creators/createDivider.js +18 -0
- package/lib/modelApi/creators/createDivider.js.map +1 -0
- package/lib/modelApi/creators/createEntity.d.ts +10 -0
- package/lib/modelApi/creators/createEntity.js +25 -0
- package/lib/modelApi/creators/createEntity.js.map +1 -0
- package/lib/modelApi/creators/createFormatContainer.d.ts +7 -0
- package/lib/modelApi/creators/createFormatContainer.js +20 -0
- package/lib/modelApi/creators/createFormatContainer.js.map +1 -0
- package/lib/modelApi/creators/createGeneralBlock.d.ts +6 -0
- package/lib/modelApi/creators/createGeneralBlock.js +18 -0
- package/lib/modelApi/creators/createGeneralBlock.js.map +1 -0
- package/lib/modelApi/creators/createGeneralSegment.d.ts +7 -0
- package/lib/modelApi/creators/createGeneralSegment.js +21 -0
- package/lib/modelApi/creators/createGeneralSegment.js.map +1 -0
- package/lib/modelApi/creators/createImage.d.ts +7 -0
- package/lib/modelApi/creators/createImage.js +19 -0
- package/lib/modelApi/creators/createImage.js.map +1 -0
- package/lib/modelApi/creators/createListItem.d.ts +7 -0
- package/lib/modelApi/creators/createListItem.js +22 -0
- package/lib/modelApi/creators/createListItem.js.map +1 -0
- package/lib/modelApi/creators/createParagraph.d.ts +9 -0
- package/lib/modelApi/creators/createParagraph.js +33 -0
- package/lib/modelApi/creators/createParagraph.js.map +1 -0
- package/lib/modelApi/creators/createParagraphDecorator.d.ts +7 -0
- package/lib/modelApi/creators/createParagraphDecorator.js +17 -0
- package/lib/modelApi/creators/createParagraphDecorator.js.map +1 -0
- package/lib/modelApi/creators/createSelectionMarker.d.ts +6 -0
- package/lib/modelApi/creators/createSelectionMarker.js +17 -0
- package/lib/modelApi/creators/createSelectionMarker.js.map +1 -0
- package/lib/modelApi/creators/createTable.d.ts +7 -0
- package/lib/modelApi/creators/createTable.js +28 -0
- package/lib/modelApi/creators/createTable.js.map +1 -0
- package/lib/modelApi/creators/createTableCell.d.ts +9 -0
- package/lib/modelApi/creators/createTableCell.js +26 -0
- package/lib/modelApi/creators/createTableCell.js.map +1 -0
- package/lib/modelApi/creators/createText.d.ts +7 -0
- package/lib/modelApi/creators/createText.js +18 -0
- package/lib/modelApi/creators/createText.js.map +1 -0
- package/lib/modelToDom/contentModelToDom.d.ts +17 -0
- package/lib/modelToDom/contentModelToDom.js +85 -0
- package/lib/modelToDom/contentModelToDom.js.map +1 -0
- package/lib/modelToDom/context/createModelToDomContext.d.ts +7 -0
- package/lib/modelToDom/context/createModelToDomContext.js +26 -0
- package/lib/modelToDom/context/createModelToDomContext.js.map +1 -0
- package/lib/modelToDom/context/defaultContentModelHandlers.d.ts +5 -0
- package/lib/modelToDom/context/defaultContentModelHandlers.js +39 -0
- package/lib/modelToDom/context/defaultContentModelHandlers.js.map +1 -0
- package/lib/modelToDom/handlers/handleBlock.d.ts +5 -0
- package/lib/modelToDom/handlers/handleBlock.js +39 -0
- package/lib/modelToDom/handlers/handleBlock.js.map +1 -0
- package/lib/modelToDom/handlers/handleBlockGroupChildren.d.ts +5 -0
- package/lib/modelToDom/handlers/handleBlockGroupChildren.js +37 -0
- package/lib/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -0
- package/lib/modelToDom/handlers/handleBr.d.ts +5 -0
- package/lib/modelToDom/handlers/handleBr.js +16 -0
- package/lib/modelToDom/handlers/handleBr.js.map +1 -0
- package/lib/modelToDom/handlers/handleDivider.d.ts +5 -0
- package/lib/modelToDom/handlers/handleDivider.js +28 -0
- package/lib/modelToDom/handlers/handleDivider.js.map +1 -0
- package/lib/modelToDom/handlers/handleEntity.d.ts +5 -0
- package/lib/modelToDom/handlers/handleEntity.js +40 -0
- package/lib/modelToDom/handlers/handleEntity.js.map +1 -0
- package/lib/modelToDom/handlers/handleFormatContainer.d.ts +5 -0
- package/lib/modelToDom/handlers/handleFormatContainer.js +43 -0
- package/lib/modelToDom/handlers/handleFormatContainer.js.map +1 -0
- package/lib/modelToDom/handlers/handleGeneralModel.d.ts +5 -0
- package/lib/modelToDom/handlers/handleGeneralModel.js +34 -0
- package/lib/modelToDom/handlers/handleGeneralModel.js.map +1 -0
- package/lib/modelToDom/handlers/handleImage.d.ts +5 -0
- package/lib/modelToDom/handlers/handleImage.js +41 -0
- package/lib/modelToDom/handlers/handleImage.js.map +1 -0
- package/lib/modelToDom/handlers/handleList.d.ts +5 -0
- package/lib/modelToDom/handlers/handleList.js +58 -0
- package/lib/modelToDom/handlers/handleList.js.map +1 -0
- package/lib/modelToDom/handlers/handleListItem.d.ts +5 -0
- package/lib/modelToDom/handlers/handleListItem.js +37 -0
- package/lib/modelToDom/handlers/handleListItem.js.map +1 -0
- package/lib/modelToDom/handlers/handleParagraph.d.ts +5 -0
- package/lib/modelToDom/handlers/handleParagraph.js +81 -0
- package/lib/modelToDom/handlers/handleParagraph.js.map +1 -0
- package/lib/modelToDom/handlers/handleSegment.d.ts +5 -0
- package/lib/modelToDom/handlers/handleSegment.js +38 -0
- package/lib/modelToDom/handlers/handleSegment.js.map +1 -0
- package/lib/modelToDom/handlers/handleSegmentDecorator.d.ts +5 -0
- package/lib/modelToDom/handlers/handleSegmentDecorator.js +35 -0
- package/lib/modelToDom/handlers/handleSegmentDecorator.js.map +1 -0
- package/lib/modelToDom/handlers/handleTable.d.ts +5 -0
- package/lib/modelToDom/handlers/handleTable.js +105 -0
- package/lib/modelToDom/handlers/handleTable.js.map +1 -0
- package/lib/modelToDom/handlers/handleText.d.ts +5 -0
- package/lib/modelToDom/handlers/handleText.js +16 -0
- package/lib/modelToDom/handlers/handleText.js.map +1 -0
- package/lib/modelToDom/optimizers/mergeNode.d.ts +4 -0
- package/lib/modelToDom/optimizers/mergeNode.js +42 -0
- package/lib/modelToDom/optimizers/mergeNode.js.map +1 -0
- package/lib/modelToDom/optimizers/optimize.d.ts +4 -0
- package/lib/modelToDom/optimizers/optimize.js +25 -0
- package/lib/modelToDom/optimizers/optimize.js.map +1 -0
- package/lib/modelToDom/optimizers/removeUnnecessarySpan.d.ts +4 -0
- package/lib/modelToDom/optimizers/removeUnnecessarySpan.js +29 -0
- package/lib/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -0
- package/lib/modelToDom/utils/applyFormat.d.ts +10 -0
- package/lib/modelToDom/utils/applyFormat.js +18 -0
- package/lib/modelToDom/utils/applyFormat.js.map +1 -0
- package/lib/modelToDom/utils/handleSegmentCommon.d.ts +5 -0
- package/lib/modelToDom/utils/handleSegmentCommon.js +19 -0
- package/lib/modelToDom/utils/handleSegmentCommon.js.map +1 -0
- package/lib/modelToDom/utils/reuseCachedElement.d.ts +8 -0
- package/lib/modelToDom/utils/reuseCachedElement.js +46 -0
- package/lib/modelToDom/utils/reuseCachedElement.js.map +1 -0
- package/lib/modelToDom/utils/stackFormat.d.ts +5 -0
- package/lib/modelToDom/utils/stackFormat.js +27 -0
- package/lib/modelToDom/utils/stackFormat.js.map +1 -0
- package/lib-amd/domToModel/context/createDomToModelContext.d.ts +7 -0
- package/lib-amd/domToModel/context/createDomToModelContext.js +63 -0
- package/lib-amd/domToModel/context/createDomToModelContext.js.map +1 -0
- package/lib-amd/domToModel/context/defaultProcessors.d.ts +5 -0
- package/lib-amd/domToModel/context/defaultProcessors.js +47 -0
- package/lib-amd/domToModel/context/defaultProcessors.js.map +1 -0
- package/lib-amd/domToModel/domToContentModel.d.ts +9 -0
- package/lib-amd/domToModel/domToContentModel.js +27 -0
- package/lib-amd/domToModel/domToContentModel.js.map +1 -0
- package/lib-amd/domToModel/processors/blockProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/blockProcessor.js +28 -0
- package/lib-amd/domToModel/processors/blockProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/brProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/brProcessor.js +17 -0
- package/lib-amd/domToModel/processors/brProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/childProcessor.d.ts +25 -0
- package/lib-amd/domToModel/processors/childProcessor.js +60 -0
- package/lib-amd/domToModel/processors/childProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/codeProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/codeProcessor.js +16 -0
- package/lib-amd/domToModel/processors/codeProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/delimiterProcessor.d.ts +8 -0
- package/lib-amd/domToModel/processors/delimiterProcessor.js +22 -0
- package/lib-amd/domToModel/processors/delimiterProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/elementProcessor.d.ts +8 -0
- package/lib-amd/domToModel/processors/elementProcessor.js +31 -0
- package/lib-amd/domToModel/processors/elementProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/entityProcessor.d.ts +8 -0
- package/lib-amd/domToModel/processors/entityProcessor.js +39 -0
- package/lib-amd/domToModel/processors/entityProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/fontProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/fontProcessor.js +47 -0
- package/lib-amd/domToModel/processors/fontProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/formatContainerProcessor.d.ts +9 -0
- package/lib-amd/domToModel/processors/formatContainerProcessor.js +65 -0
- package/lib-amd/domToModel/processors/formatContainerProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/generalProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/generalProcessor.js +45 -0
- package/lib-amd/domToModel/processors/generalProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/headingProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/headingProcessor.js +19 -0
- package/lib-amd/domToModel/processors/headingProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/hrProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/hrProcessor.js +25 -0
- package/lib-amd/domToModel/processors/hrProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/imageProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/imageProcessor.js +38 -0
- package/lib-amd/domToModel/processors/imageProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/knownElementProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/knownElementProcessor.js +90 -0
- package/lib-amd/domToModel/processors/knownElementProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/linkProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/linkProcessor.js +23 -0
- package/lib-amd/domToModel/processors/linkProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/listItemProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/listItemProcessor.js +38 -0
- package/lib-amd/domToModel/processors/listItemProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/listProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/listProcessor.js +40 -0
- package/lib-amd/domToModel/processors/listProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/pProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/pProcessor.js +20 -0
- package/lib-amd/domToModel/processors/pProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/tableProcessor.d.ts +19 -0
- package/lib-amd/domToModel/processors/tableProcessor.js +159 -0
- package/lib-amd/domToModel/processors/tableProcessor.js.map +1 -0
- package/lib-amd/domToModel/processors/textProcessor.d.ts +5 -0
- package/lib-amd/domToModel/processors/textProcessor.js +56 -0
- package/lib-amd/domToModel/processors/textProcessor.js.map +1 -0
- package/lib-amd/domToModel/utils/addSelectionMarker.d.ts +5 -0
- package/lib-amd/domToModel/utils/addSelectionMarker.js +15 -0
- package/lib-amd/domToModel/utils/addSelectionMarker.js.map +1 -0
- package/lib-amd/domToModel/utils/areSameFormats.d.ts +7 -0
- package/lib-amd/domToModel/utils/areSameFormats.js +22 -0
- package/lib-amd/domToModel/utils/areSameFormats.js.map +1 -0
- package/lib-amd/domToModel/utils/getBoundingClientRect.d.ts +4 -0
- package/lib-amd/domToModel/utils/getBoundingClientRect.js +13 -0
- package/lib-amd/domToModel/utils/getBoundingClientRect.js.map +1 -0
- package/lib-amd/domToModel/utils/getDefaultStyle.d.ts +9 -0
- package/lib-amd/domToModel/utils/getDefaultStyle.js +18 -0
- package/lib-amd/domToModel/utils/getDefaultStyle.js.map +1 -0
- package/lib-amd/domToModel/utils/getRegularSelectionOffsets.d.ts +9 -0
- package/lib-amd/domToModel/utils/getRegularSelectionOffsets.js +24 -0
- package/lib-amd/domToModel/utils/getRegularSelectionOffsets.js.map +1 -0
- package/lib-amd/domToModel/utils/isBlockElement.d.ts +8 -0
- package/lib-amd/domToModel/utils/isBlockElement.js +18 -0
- package/lib-amd/domToModel/utils/isBlockElement.js.map +1 -0
- package/lib-amd/domToModel/utils/parseFormat.d.ts +9 -0
- package/lib-amd/domToModel/utils/parseFormat.js +20 -0
- package/lib-amd/domToModel/utils/parseFormat.js.map +1 -0
- package/lib-amd/domToModel/utils/stackFormat.d.ts +15 -0
- package/lib-amd/domToModel/utils/stackFormat.js +112 -0
- package/lib-amd/domToModel/utils/stackFormat.js.map +1 -0
- package/lib-amd/domUtils/isNodeOfType.d.ts +44 -0
- package/lib-amd/domUtils/isNodeOfType.js +15 -0
- package/lib-amd/domUtils/isNodeOfType.js.map +1 -0
- package/lib-amd/domUtils/metadata/updateListMetadata.d.ts +8 -0
- package/lib-amd/domUtils/metadata/updateListMetadata.js +20 -0
- package/lib-amd/domUtils/metadata/updateListMetadata.js.map +1 -0
- package/lib-amd/domUtils/metadata/updateMetadata.d.ts +15 -0
- package/lib-amd/domUtils/metadata/updateMetadata.js +44 -0
- package/lib-amd/domUtils/metadata/updateMetadata.js.map +1 -0
- package/lib-amd/domUtils/stringUtil.d.ts +24 -0
- package/lib-amd/domUtils/stringUtil.js +49 -0
- package/lib-amd/domUtils/stringUtil.js.map +1 -0
- package/lib-amd/formatHandlers/FormatHandler.d.ts +15 -0
- package/lib-amd/formatHandlers/FormatHandler.js +5 -0
- package/lib-amd/formatHandlers/FormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/directionFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/directionFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/block/directionFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/displayFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/displayFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/block/displayFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/htmlAlignFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/htmlAlignFormatHandler.js +26 -0
- package/lib-amd/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/lineHeightFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/lineHeightFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/block/lineHeightFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/marginFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/marginFormatHandler.js +46 -0
- package/lib-amd/formatHandlers/block/marginFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/paddingFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/paddingFormatHandler.js +33 -0
- package/lib-amd/formatHandlers/block/paddingFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/textAlignFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/textAlignFormatHandler.js +41 -0
- package/lib-amd/formatHandlers/block/textAlignFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/block/whiteSpaceFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/block/whiteSpaceFormatHandler.js +23 -0
- package/lib-amd/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/backgroundColorFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/backgroundColorFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/borderBoxFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/borderBoxFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/common/borderBoxFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/borderFormatHandler.d.ts +10 -0
- package/lib-amd/formatHandlers/common/borderFormatHandler.js +37 -0
- package/lib-amd/formatHandlers/common/borderFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/boxShadowFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/boxShadowFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/common/boxShadowFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/datasetFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/datasetFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/common/datasetFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/idFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/idFormatHandler.js +21 -0
- package/lib-amd/formatHandlers/common/idFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/sizeFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/sizeFormatHandler.js +67 -0
- package/lib-amd/formatHandlers/common/sizeFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/verticalAlignFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/verticalAlignFormatHandler.js +33 -0
- package/lib-amd/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/common/wordBreakFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/common/wordBreakFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/common/wordBreakFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/defaultFormatHandlers.d.ts +17 -0
- package/lib-amd/formatHandlers/defaultFormatHandlers.js +188 -0
- package/lib-amd/formatHandlers/defaultFormatHandlers.js.map +1 -0
- package/lib-amd/formatHandlers/list/listItemMetadataFormatHandler.d.ts +11 -0
- package/lib-amd/formatHandlers/list/listItemMetadataFormatHandler.js +100 -0
- package/lib-amd/formatHandlers/list/listItemMetadataFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/list/listItemThreadFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/list/listItemThreadFormatHandler.js +47 -0
- package/lib-amd/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/list/listLevelMetadataFormatHandler.d.ts +15 -0
- package/lib-amd/formatHandlers/list/listLevelMetadataFormatHandler.js +89 -0
- package/lib-amd/formatHandlers/list/listLevelMetadataFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/list/listLevelThreadFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/list/listLevelThreadFormatHandler.js +38 -0
- package/lib-amd/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/list/listStylePositionFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/list/listStylePositionFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/list/listStylePositionFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/list/listTypeFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/list/listTypeFormatHandler.js +18 -0
- package/lib-amd/formatHandlers/list/listTypeFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/root/rootDirectionFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/root/rootDirectionFormatHandler.js +19 -0
- package/lib-amd/formatHandlers/root/rootDirectionFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/root/zoomScaleFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/root/zoomScaleFormatHandler.js +20 -0
- package/lib-amd/formatHandlers/root/zoomScaleFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/boldFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/boldFormatHandler.js +34 -0
- package/lib-amd/formatHandlers/segment/boldFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/fontFamilyFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/fontFamilyFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/fontSizeFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/fontSizeFormatHandler.js +25 -0
- package/lib-amd/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/italicFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/italicFormatHandler.js +36 -0
- package/lib-amd/formatHandlers/segment/italicFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/letterSpacingFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/letterSpacingFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/linkFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/linkFormatHandler.js +66 -0
- package/lib-amd/formatHandlers/segment/linkFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/strikeFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/strikeFormatHandler.js +24 -0
- package/lib-amd/formatHandlers/segment/strikeFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/superOrSubScriptFormatHandler.d.ts +10 -0
- package/lib-amd/formatHandlers/segment/superOrSubScriptFormatHandler.js +44 -0
- package/lib-amd/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/textColorFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/textColorFormatHandler.js +23 -0
- package/lib-amd/formatHandlers/segment/textColorFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/segment/underlineFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/underlineFormatHandler.js +36 -0
- package/lib-amd/formatHandlers/segment/underlineFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/table/tableLayoutFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/table/tableLayoutFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/table/tableSpacingFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/table/tableSpacingFormatHandler.js +24 -0
- package/lib-amd/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/table/textColorOnTableCellFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/table/textColorOnTableCellFormatHandler.js +20 -0
- package/lib-amd/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -0
- package/lib-amd/formatHandlers/utils/color.d.ts +9 -0
- package/lib-amd/formatHandlers/utils/color.js +56 -0
- package/lib-amd/formatHandlers/utils/color.js.map +1 -0
- package/lib-amd/formatHandlers/utils/defaultStyles.d.ts +15 -0
- package/lib-amd/formatHandlers/utils/defaultStyles.js +194 -0
- package/lib-amd/formatHandlers/utils/defaultStyles.js.map +1 -0
- package/lib-amd/formatHandlers/utils/dir.d.ts +29 -0
- package/lib-amd/formatHandlers/utils/dir.js +53 -0
- package/lib-amd/formatHandlers/utils/dir.js.map +1 -0
- package/lib-amd/formatHandlers/utils/parseValueWithUnit.d.ts +7 -0
- package/lib-amd/formatHandlers/utils/parseValueWithUnit.js +60 -0
- package/lib-amd/formatHandlers/utils/parseValueWithUnit.js.map +1 -0
- package/lib-amd/index.d.ts +40 -0
- package/lib-amd/index.js +51 -0
- package/lib-amd/index.js.map +1 -0
- package/lib-amd/modelApi/block/setParagraphNotImplicit.d.ts +6 -0
- package/lib-amd/modelApi/block/setParagraphNotImplicit.js +16 -0
- package/lib-amd/modelApi/block/setParagraphNotImplicit.js.map +1 -0
- package/lib-amd/modelApi/common/addBlock.d.ts +7 -0
- package/lib-amd/modelApi/common/addBlock.js +15 -0
- package/lib-amd/modelApi/common/addBlock.js.map +1 -0
- package/lib-amd/modelApi/common/addDecorators.d.ts +15 -0
- package/lib-amd/modelApi/common/addDecorators.js +39 -0
- package/lib-amd/modelApi/common/addDecorators.js.map +1 -0
- package/lib-amd/modelApi/common/addSegment.d.ts +8 -0
- package/lib-amd/modelApi/common/addSegment.js +36 -0
- package/lib-amd/modelApi/common/addSegment.js.map +1 -0
- package/lib-amd/modelApi/common/isEmpty.d.ts +17 -0
- package/lib-amd/modelApi/common/isEmpty.js +82 -0
- package/lib-amd/modelApi/common/isEmpty.js.map +1 -0
- package/lib-amd/modelApi/common/isGeneralSegment.d.ts +6 -0
- package/lib-amd/modelApi/common/isGeneralSegment.js +15 -0
- package/lib-amd/modelApi/common/isGeneralSegment.js.map +1 -0
- package/lib-amd/modelApi/common/isWhiteSpacePreserved.d.ts +6 -0
- package/lib-amd/modelApi/common/isWhiteSpacePreserved.js +18 -0
- package/lib-amd/modelApi/common/isWhiteSpacePreserved.js.map +1 -0
- package/lib-amd/modelApi/common/normalizeContentModel.d.ts +11 -0
- package/lib-amd/modelApi/common/normalizeContentModel.js +47 -0
- package/lib-amd/modelApi/common/normalizeContentModel.js.map +1 -0
- package/lib-amd/modelApi/common/normalizeParagraph.d.ts +5 -0
- package/lib-amd/modelApi/common/normalizeParagraph.js +41 -0
- package/lib-amd/modelApi/common/normalizeParagraph.js.map +1 -0
- package/lib-amd/modelApi/common/normalizeSegment.d.ts +29 -0
- package/lib-amd/modelApi/common/normalizeSegment.js +111 -0
- package/lib-amd/modelApi/common/normalizeSegment.js.map +1 -0
- package/lib-amd/modelApi/common/unwrapBlock.d.ts +7 -0
- package/lib-amd/modelApi/common/unwrapBlock.js +21 -0
- package/lib-amd/modelApi/common/unwrapBlock.js.map +1 -0
- package/lib-amd/modelApi/creators/createBr.d.ts +6 -0
- package/lib-amd/modelApi/creators/createBr.js +17 -0
- package/lib-amd/modelApi/creators/createBr.js.map +1 -0
- package/lib-amd/modelApi/creators/createContentModelDocument.d.ts +6 -0
- package/lib-amd/modelApi/creators/createContentModelDocument.js +21 -0
- package/lib-amd/modelApi/creators/createContentModelDocument.js.map +1 -0
- package/lib-amd/modelApi/creators/createDivider.d.ts +7 -0
- package/lib-amd/modelApi/creators/createDivider.js +19 -0
- package/lib-amd/modelApi/creators/createDivider.js.map +1 -0
- package/lib-amd/modelApi/creators/createEntity.d.ts +10 -0
- package/lib-amd/modelApi/creators/createEntity.js +26 -0
- package/lib-amd/modelApi/creators/createEntity.js.map +1 -0
- package/lib-amd/modelApi/creators/createFormatContainer.d.ts +7 -0
- package/lib-amd/modelApi/creators/createFormatContainer.js +21 -0
- package/lib-amd/modelApi/creators/createFormatContainer.js.map +1 -0
- package/lib-amd/modelApi/creators/createGeneralBlock.d.ts +6 -0
- package/lib-amd/modelApi/creators/createGeneralBlock.js +20 -0
- package/lib-amd/modelApi/creators/createGeneralBlock.js.map +1 -0
- package/lib-amd/modelApi/creators/createGeneralSegment.d.ts +7 -0
- package/lib-amd/modelApi/creators/createGeneralSegment.js +22 -0
- package/lib-amd/modelApi/creators/createGeneralSegment.js.map +1 -0
- package/lib-amd/modelApi/creators/createImage.d.ts +7 -0
- package/lib-amd/modelApi/creators/createImage.js +20 -0
- package/lib-amd/modelApi/creators/createImage.js.map +1 -0
- package/lib-amd/modelApi/creators/createListItem.d.ts +7 -0
- package/lib-amd/modelApi/creators/createListItem.js +22 -0
- package/lib-amd/modelApi/creators/createListItem.js.map +1 -0
- package/lib-amd/modelApi/creators/createParagraph.d.ts +9 -0
- package/lib-amd/modelApi/creators/createParagraph.js +34 -0
- package/lib-amd/modelApi/creators/createParagraph.js.map +1 -0
- package/lib-amd/modelApi/creators/createParagraphDecorator.d.ts +7 -0
- package/lib-amd/modelApi/creators/createParagraphDecorator.js +18 -0
- package/lib-amd/modelApi/creators/createParagraphDecorator.js.map +1 -0
- package/lib-amd/modelApi/creators/createSelectionMarker.d.ts +6 -0
- package/lib-amd/modelApi/creators/createSelectionMarker.js +18 -0
- package/lib-amd/modelApi/creators/createSelectionMarker.js.map +1 -0
- package/lib-amd/modelApi/creators/createTable.d.ts +7 -0
- package/lib-amd/modelApi/creators/createTable.js +29 -0
- package/lib-amd/modelApi/creators/createTable.js.map +1 -0
- package/lib-amd/modelApi/creators/createTableCell.d.ts +9 -0
- package/lib-amd/modelApi/creators/createTableCell.js +27 -0
- package/lib-amd/modelApi/creators/createTableCell.js.map +1 -0
- package/lib-amd/modelApi/creators/createText.d.ts +7 -0
- package/lib-amd/modelApi/creators/createText.js +19 -0
- package/lib-amd/modelApi/creators/createText.js.map +1 -0
- package/lib-amd/modelToDom/contentModelToDom.d.ts +17 -0
- package/lib-amd/modelToDom/contentModelToDom.js +84 -0
- package/lib-amd/modelToDom/contentModelToDom.js.map +1 -0
- package/lib-amd/modelToDom/context/createModelToDomContext.d.ts +7 -0
- package/lib-amd/modelToDom/context/createModelToDomContext.js +24 -0
- package/lib-amd/modelToDom/context/createModelToDomContext.js.map +1 -0
- package/lib-amd/modelToDom/context/defaultContentModelHandlers.d.ts +5 -0
- package/lib-amd/modelToDom/context/defaultContentModelHandlers.js +26 -0
- package/lib-amd/modelToDom/context/defaultContentModelHandlers.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleBlock.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleBlock.js +41 -0
- package/lib-amd/modelToDom/handlers/handleBlock.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.js +39 -0
- package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleBr.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleBr.js +17 -0
- package/lib-amd/modelToDom/handlers/handleBr.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleDivider.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleDivider.js +28 -0
- package/lib-amd/modelToDom/handlers/handleDivider.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleEntity.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleEntity.js +38 -0
- package/lib-amd/modelToDom/handlers/handleEntity.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleFormatContainer.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleFormatContainer.js +41 -0
- package/lib-amd/modelToDom/handlers/handleFormatContainer.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleGeneralModel.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleGeneralModel.js +31 -0
- package/lib-amd/modelToDom/handlers/handleGeneralModel.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleImage.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleImage.js +40 -0
- package/lib-amd/modelToDom/handlers/handleImage.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleList.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleList.js +57 -0
- package/lib-amd/modelToDom/handlers/handleList.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleListItem.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleListItem.js +36 -0
- package/lib-amd/modelToDom/handlers/handleListItem.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleParagraph.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleParagraph.js +77 -0
- package/lib-amd/modelToDom/handlers/handleParagraph.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleSegment.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleSegment.js +39 -0
- package/lib-amd/modelToDom/handlers/handleSegment.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleSegmentDecorator.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleSegmentDecorator.js +34 -0
- package/lib-amd/modelToDom/handlers/handleSegmentDecorator.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleTable.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleTable.js +102 -0
- package/lib-amd/modelToDom/handlers/handleTable.js.map +1 -0
- package/lib-amd/modelToDom/handlers/handleText.d.ts +5 -0
- package/lib-amd/modelToDom/handlers/handleText.js +17 -0
- package/lib-amd/modelToDom/handlers/handleText.js.map +1 -0
- package/lib-amd/modelToDom/optimizers/mergeNode.d.ts +4 -0
- package/lib-amd/modelToDom/optimizers/mergeNode.js +43 -0
- package/lib-amd/modelToDom/optimizers/mergeNode.js.map +1 -0
- package/lib-amd/modelToDom/optimizers/optimize.d.ts +4 -0
- package/lib-amd/modelToDom/optimizers/optimize.js +24 -0
- package/lib-amd/modelToDom/optimizers/optimize.js.map +1 -0
- package/lib-amd/modelToDom/optimizers/removeUnnecessarySpan.d.ts +4 -0
- package/lib-amd/modelToDom/optimizers/removeUnnecessarySpan.js +30 -0
- package/lib-amd/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -0
- package/lib-amd/modelToDom/utils/applyFormat.d.ts +10 -0
- package/lib-amd/modelToDom/utils/applyFormat.js +20 -0
- package/lib-amd/modelToDom/utils/applyFormat.js.map +1 -0
- package/lib-amd/modelToDom/utils/handleSegmentCommon.d.ts +5 -0
- package/lib-amd/modelToDom/utils/handleSegmentCommon.js +20 -0
- package/lib-amd/modelToDom/utils/handleSegmentCommon.js.map +1 -0
- package/lib-amd/modelToDom/utils/reuseCachedElement.d.ts +8 -0
- package/lib-amd/modelToDom/utils/reuseCachedElement.js +46 -0
- package/lib-amd/modelToDom/utils/reuseCachedElement.js.map +1 -0
- package/lib-amd/modelToDom/utils/stackFormat.d.ts +5 -0
- package/lib-amd/modelToDom/utils/stackFormat.js +28 -0
- package/lib-amd/modelToDom/utils/stackFormat.js.map +1 -0
- package/lib-mjs/domToModel/context/createDomToModelContext.d.ts +7 -0
- package/lib-mjs/domToModel/context/createDomToModelContext.js +61 -0
- package/lib-mjs/domToModel/context/createDomToModelContext.js.map +1 -0
- package/lib-mjs/domToModel/context/defaultProcessors.d.ts +5 -0
- package/lib-mjs/domToModel/context/defaultProcessors.js +61 -0
- package/lib-mjs/domToModel/context/defaultProcessors.js.map +1 -0
- package/lib-mjs/domToModel/domToContentModel.d.ts +9 -0
- package/lib-mjs/domToModel/domToContentModel.js +28 -0
- package/lib-mjs/domToModel/domToContentModel.js.map +1 -0
- package/lib-mjs/domToModel/processors/blockProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/blockProcessor.js +27 -0
- package/lib-mjs/domToModel/processors/blockProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/brProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/brProcessor.js +13 -0
- package/lib-mjs/domToModel/processors/brProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/childProcessor.d.ts +25 -0
- package/lib-mjs/domToModel/processors/childProcessor.js +56 -0
- package/lib-mjs/domToModel/processors/childProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/codeProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/codeProcessor.js +13 -0
- package/lib-mjs/domToModel/processors/codeProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/delimiterProcessor.d.ts +8 -0
- package/lib-mjs/domToModel/processors/delimiterProcessor.js +19 -0
- package/lib-mjs/domToModel/processors/delimiterProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/elementProcessor.d.ts +8 -0
- package/lib-mjs/domToModel/processors/elementProcessor.js +26 -0
- package/lib-mjs/domToModel/processors/elementProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/entityProcessor.d.ts +8 -0
- package/lib-mjs/domToModel/processors/entityProcessor.js +39 -0
- package/lib-mjs/domToModel/processors/entityProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/fontProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/fontProcessor.js +44 -0
- package/lib-mjs/domToModel/processors/fontProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/formatContainerProcessor.d.ts +9 -0
- package/lib-mjs/domToModel/processors/formatContainerProcessor.js +67 -0
- package/lib-mjs/domToModel/processors/formatContainerProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/generalProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/generalProcessor.js +46 -0
- package/lib-mjs/domToModel/processors/generalProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/headingProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/headingProcessor.js +19 -0
- package/lib-mjs/domToModel/processors/headingProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/hrProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/hrProcessor.js +23 -0
- package/lib-mjs/domToModel/processors/hrProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/imageProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/imageProcessor.js +37 -0
- package/lib-mjs/domToModel/processors/imageProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/knownElementProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/knownElementProcessor.js +92 -0
- package/lib-mjs/domToModel/processors/knownElementProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/linkProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/linkProcessor.js +20 -0
- package/lib-mjs/domToModel/processors/linkProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/listItemProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/listItemProcessor.js +35 -0
- package/lib-mjs/domToModel/processors/listItemProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/listProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/listProcessor.js +38 -0
- package/lib-mjs/domToModel/processors/listProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/pProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/pProcessor.js +20 -0
- package/lib-mjs/domToModel/processors/pProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/tableProcessor.d.ts +19 -0
- package/lib-mjs/domToModel/processors/tableProcessor.js +160 -0
- package/lib-mjs/domToModel/processors/tableProcessor.js.map +1 -0
- package/lib-mjs/domToModel/processors/textProcessor.d.ts +5 -0
- package/lib-mjs/domToModel/processors/textProcessor.js +58 -0
- package/lib-mjs/domToModel/processors/textProcessor.js.map +1 -0
- package/lib-mjs/domToModel/utils/addSelectionMarker.d.ts +5 -0
- package/lib-mjs/domToModel/utils/addSelectionMarker.js +12 -0
- package/lib-mjs/domToModel/utils/addSelectionMarker.js.map +1 -0
- package/lib-mjs/domToModel/utils/areSameFormats.d.ts +7 -0
- package/lib-mjs/domToModel/utils/areSameFormats.js +17 -0
- package/lib-mjs/domToModel/utils/areSameFormats.js.map +1 -0
- package/lib-mjs/domToModel/utils/getBoundingClientRect.d.ts +4 -0
- package/lib-mjs/domToModel/utils/getBoundingClientRect.js +7 -0
- package/lib-mjs/domToModel/utils/getBoundingClientRect.js.map +1 -0
- package/lib-mjs/domToModel/utils/getDefaultStyle.d.ts +9 -0
- package/lib-mjs/domToModel/utils/getDefaultStyle.js +12 -0
- package/lib-mjs/domToModel/utils/getDefaultStyle.js.map +1 -0
- package/lib-mjs/domToModel/utils/getRegularSelectionOffsets.d.ts +9 -0
- package/lib-mjs/domToModel/utils/getRegularSelectionOffsets.js +18 -0
- package/lib-mjs/domToModel/utils/getRegularSelectionOffsets.js.map +1 -0
- package/lib-mjs/domToModel/utils/isBlockElement.d.ts +8 -0
- package/lib-mjs/domToModel/utils/isBlockElement.js +13 -0
- package/lib-mjs/domToModel/utils/isBlockElement.js.map +1 -0
- package/lib-mjs/domToModel/utils/parseFormat.d.ts +9 -0
- package/lib-mjs/domToModel/utils/parseFormat.js +15 -0
- package/lib-mjs/domToModel/utils/parseFormat.js.map +1 -0
- package/lib-mjs/domToModel/utils/stackFormat.d.ts +15 -0
- package/lib-mjs/domToModel/utils/stackFormat.js +108 -0
- package/lib-mjs/domToModel/utils/stackFormat.js.map +1 -0
- package/lib-mjs/domUtils/isNodeOfType.d.ts +44 -0
- package/lib-mjs/domUtils/isNodeOfType.js +9 -0
- package/lib-mjs/domUtils/isNodeOfType.js.map +1 -0
- package/lib-mjs/domUtils/metadata/updateListMetadata.d.ts +8 -0
- package/lib-mjs/domUtils/metadata/updateListMetadata.js +16 -0
- package/lib-mjs/domUtils/metadata/updateListMetadata.js.map +1 -0
- package/lib-mjs/domUtils/metadata/updateMetadata.d.ts +15 -0
- package/lib-mjs/domUtils/metadata/updateMetadata.js +38 -0
- package/lib-mjs/domUtils/metadata/updateMetadata.js.map +1 -0
- package/lib-mjs/domUtils/stringUtil.d.ts +24 -0
- package/lib-mjs/domUtils/stringUtil.js +40 -0
- package/lib-mjs/domUtils/stringUtil.js.map +1 -0
- package/lib-mjs/formatHandlers/FormatHandler.d.ts +15 -0
- package/lib-mjs/formatHandlers/FormatHandler.js +2 -0
- package/lib-mjs/formatHandlers/FormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/directionFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/directionFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/block/directionFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/displayFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/displayFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/block/displayFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/htmlAlignFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/htmlAlignFormatHandler.js +23 -0
- package/lib-mjs/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/lineHeightFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/lineHeightFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/block/lineHeightFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/marginFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/marginFormatHandler.js +42 -0
- package/lib-mjs/formatHandlers/block/marginFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/paddingFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/paddingFormatHandler.js +28 -0
- package/lib-mjs/formatHandlers/block/paddingFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/textAlignFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/textAlignFormatHandler.js +38 -0
- package/lib-mjs/formatHandlers/block/textAlignFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/block/whiteSpaceFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/block/whiteSpaceFormatHandler.js +18 -0
- package/lib-mjs/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/backgroundColorFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/backgroundColorFormatHandler.js +18 -0
- package/lib-mjs/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/borderBoxFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/borderBoxFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/common/borderBoxFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/borderFormatHandler.d.ts +10 -0
- package/lib-mjs/formatHandlers/common/borderFormatHandler.js +32 -0
- package/lib-mjs/formatHandlers/common/borderFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/boxShadowFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/boxShadowFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/common/boxShadowFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/datasetFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/datasetFormatHandler.js +18 -0
- package/lib-mjs/formatHandlers/common/datasetFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/idFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/idFormatHandler.js +16 -0
- package/lib-mjs/formatHandlers/common/idFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/sizeFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/sizeFormatHandler.js +62 -0
- package/lib-mjs/formatHandlers/common/sizeFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/verticalAlignFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/verticalAlignFormatHandler.js +28 -0
- package/lib-mjs/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/common/wordBreakFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/common/wordBreakFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/common/wordBreakFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/defaultFormatHandlers.d.ts +17 -0
- package/lib-mjs/formatHandlers/defaultFormatHandlers.js +219 -0
- package/lib-mjs/formatHandlers/defaultFormatHandlers.js.map +1 -0
- package/lib-mjs/formatHandlers/list/listItemMetadataFormatHandler.d.ts +11 -0
- package/lib-mjs/formatHandlers/list/listItemMetadataFormatHandler.js +98 -0
- package/lib-mjs/formatHandlers/list/listItemMetadataFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/list/listItemThreadFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/list/listItemThreadFormatHandler.js +43 -0
- package/lib-mjs/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/list/listLevelMetadataFormatHandler.d.ts +15 -0
- package/lib-mjs/formatHandlers/list/listLevelMetadataFormatHandler.js +85 -0
- package/lib-mjs/formatHandlers/list/listLevelMetadataFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/list/listLevelThreadFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/list/listLevelThreadFormatHandler.js +34 -0
- package/lib-mjs/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/list/listStylePositionFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/list/listStylePositionFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/list/listStylePositionFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/list/listTypeFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/list/listTypeFormatHandler.js +14 -0
- package/lib-mjs/formatHandlers/list/listTypeFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/root/rootDirectionFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/root/rootDirectionFormatHandler.js +14 -0
- package/lib-mjs/formatHandlers/root/rootDirectionFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/root/zoomScaleFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/root/zoomScaleFormatHandler.js +15 -0
- package/lib-mjs/formatHandlers/root/zoomScaleFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/boldFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/boldFormatHandler.js +30 -0
- package/lib-mjs/formatHandlers/segment/boldFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/fontFamilyFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/fontFamilyFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/fontSizeFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/fontSizeFormatHandler.js +21 -0
- package/lib-mjs/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/italicFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/italicFormatHandler.js +32 -0
- package/lib-mjs/formatHandlers/segment/italicFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/letterSpacingFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/letterSpacingFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/linkFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/linkFormatHandler.js +62 -0
- package/lib-mjs/formatHandlers/segment/linkFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/strikeFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/strikeFormatHandler.js +20 -0
- package/lib-mjs/formatHandlers/segment/strikeFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/superOrSubScriptFormatHandler.d.ts +10 -0
- package/lib-mjs/formatHandlers/segment/superOrSubScriptFormatHandler.js +39 -0
- package/lib-mjs/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/textColorFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/textColorFormatHandler.js +19 -0
- package/lib-mjs/formatHandlers/segment/textColorFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/segment/underlineFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/underlineFormatHandler.js +32 -0
- package/lib-mjs/formatHandlers/segment/underlineFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/table/tableLayoutFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/table/tableLayoutFormatHandler.js +17 -0
- package/lib-mjs/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/table/tableSpacingFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/table/tableSpacingFormatHandler.js +19 -0
- package/lib-mjs/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/table/textColorOnTableCellFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/table/textColorOnTableCellFormatHandler.js +15 -0
- package/lib-mjs/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -0
- package/lib-mjs/formatHandlers/utils/color.d.ts +9 -0
- package/lib-mjs/formatHandlers/utils/color.js +50 -0
- package/lib-mjs/formatHandlers/utils/color.js.map +1 -0
- package/lib-mjs/formatHandlers/utils/defaultStyles.d.ts +15 -0
- package/lib-mjs/formatHandlers/utils/defaultStyles.js +189 -0
- package/lib-mjs/formatHandlers/utils/defaultStyles.js.map +1 -0
- package/lib-mjs/formatHandlers/utils/dir.d.ts +29 -0
- package/lib-mjs/formatHandlers/utils/dir.js +47 -0
- package/lib-mjs/formatHandlers/utils/dir.js.map +1 -0
- package/lib-mjs/formatHandlers/utils/parseValueWithUnit.d.ts +7 -0
- package/lib-mjs/formatHandlers/utils/parseValueWithUnit.js +56 -0
- package/lib-mjs/formatHandlers/utils/parseValueWithUnit.js.map +1 -0
- package/lib-mjs/index.d.ts +40 -0
- package/lib-mjs/index.js +41 -0
- package/lib-mjs/index.js.map +1 -0
- package/lib-mjs/modelApi/block/setParagraphNotImplicit.d.ts +6 -0
- package/lib-mjs/modelApi/block/setParagraphNotImplicit.js +10 -0
- package/lib-mjs/modelApi/block/setParagraphNotImplicit.js.map +1 -0
- package/lib-mjs/modelApi/common/addBlock.d.ts +7 -0
- package/lib-mjs/modelApi/common/addBlock.js +9 -0
- package/lib-mjs/modelApi/common/addBlock.js.map +1 -0
- package/lib-mjs/modelApi/common/addDecorators.d.ts +15 -0
- package/lib-mjs/modelApi/common/addDecorators.js +32 -0
- package/lib-mjs/modelApi/common/addDecorators.js.map +1 -0
- package/lib-mjs/modelApi/common/addSegment.d.ts +8 -0
- package/lib-mjs/modelApi/common/addSegment.js +32 -0
- package/lib-mjs/modelApi/common/addSegment.js.map +1 -0
- package/lib-mjs/modelApi/common/isEmpty.d.ts +17 -0
- package/lib-mjs/modelApi/common/isEmpty.js +73 -0
- package/lib-mjs/modelApi/common/isEmpty.js.map +1 -0
- package/lib-mjs/modelApi/common/isGeneralSegment.d.ts +6 -0
- package/lib-mjs/modelApi/common/isGeneralSegment.js +9 -0
- package/lib-mjs/modelApi/common/isGeneralSegment.js.map +1 -0
- package/lib-mjs/modelApi/common/isWhiteSpacePreserved.d.ts +6 -0
- package/lib-mjs/modelApi/common/isWhiteSpacePreserved.js +12 -0
- package/lib-mjs/modelApi/common/isWhiteSpacePreserved.js.map +1 -0
- package/lib-mjs/modelApi/common/normalizeContentModel.d.ts +11 -0
- package/lib-mjs/modelApi/common/normalizeContentModel.js +44 -0
- package/lib-mjs/modelApi/common/normalizeContentModel.js.map +1 -0
- package/lib-mjs/modelApi/common/normalizeParagraph.d.ts +5 -0
- package/lib-mjs/modelApi/common/normalizeParagraph.js +39 -0
- package/lib-mjs/modelApi/common/normalizeParagraph.js.map +1 -0
- package/lib-mjs/modelApi/common/normalizeSegment.d.ts +29 -0
- package/lib-mjs/modelApi/common/normalizeSegment.js +103 -0
- package/lib-mjs/modelApi/common/normalizeSegment.js.map +1 -0
- package/lib-mjs/modelApi/common/unwrapBlock.d.ts +7 -0
- package/lib-mjs/modelApi/common/unwrapBlock.js +17 -0
- package/lib-mjs/modelApi/common/unwrapBlock.js.map +1 -0
- package/lib-mjs/modelApi/creators/createBr.d.ts +6 -0
- package/lib-mjs/modelApi/creators/createBr.js +12 -0
- package/lib-mjs/modelApi/creators/createBr.js.map +1 -0
- package/lib-mjs/modelApi/creators/createContentModelDocument.d.ts +6 -0
- package/lib-mjs/modelApi/creators/createContentModelDocument.js +15 -0
- package/lib-mjs/modelApi/creators/createContentModelDocument.js.map +1 -0
- package/lib-mjs/modelApi/creators/createDivider.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createDivider.js +14 -0
- package/lib-mjs/modelApi/creators/createDivider.js.map +1 -0
- package/lib-mjs/modelApi/creators/createEntity.d.ts +10 -0
- package/lib-mjs/modelApi/creators/createEntity.js +21 -0
- package/lib-mjs/modelApi/creators/createEntity.js.map +1 -0
- package/lib-mjs/modelApi/creators/createFormatContainer.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createFormatContainer.js +16 -0
- package/lib-mjs/modelApi/creators/createFormatContainer.js.map +1 -0
- package/lib-mjs/modelApi/creators/createGeneralBlock.d.ts +6 -0
- package/lib-mjs/modelApi/creators/createGeneralBlock.js +14 -0
- package/lib-mjs/modelApi/creators/createGeneralBlock.js.map +1 -0
- package/lib-mjs/modelApi/creators/createGeneralSegment.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createGeneralSegment.js +17 -0
- package/lib-mjs/modelApi/creators/createGeneralSegment.js.map +1 -0
- package/lib-mjs/modelApi/creators/createImage.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createImage.js +15 -0
- package/lib-mjs/modelApi/creators/createImage.js.map +1 -0
- package/lib-mjs/modelApi/creators/createListItem.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createListItem.js +18 -0
- package/lib-mjs/modelApi/creators/createListItem.js.map +1 -0
- package/lib-mjs/modelApi/creators/createParagraph.d.ts +9 -0
- package/lib-mjs/modelApi/creators/createParagraph.js +29 -0
- package/lib-mjs/modelApi/creators/createParagraph.js.map +1 -0
- package/lib-mjs/modelApi/creators/createParagraphDecorator.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createParagraphDecorator.js +13 -0
- package/lib-mjs/modelApi/creators/createParagraphDecorator.js.map +1 -0
- package/lib-mjs/modelApi/creators/createSelectionMarker.d.ts +6 -0
- package/lib-mjs/modelApi/creators/createSelectionMarker.js +13 -0
- package/lib-mjs/modelApi/creators/createSelectionMarker.js.map +1 -0
- package/lib-mjs/modelApi/creators/createTable.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createTable.js +24 -0
- package/lib-mjs/modelApi/creators/createTable.js.map +1 -0
- package/lib-mjs/modelApi/creators/createTableCell.d.ts +9 -0
- package/lib-mjs/modelApi/creators/createTableCell.js +22 -0
- package/lib-mjs/modelApi/creators/createTableCell.js.map +1 -0
- package/lib-mjs/modelApi/creators/createText.d.ts +7 -0
- package/lib-mjs/modelApi/creators/createText.js +14 -0
- package/lib-mjs/modelApi/creators/createText.js.map +1 -0
- package/lib-mjs/modelToDom/contentModelToDom.d.ts +17 -0
- package/lib-mjs/modelToDom/contentModelToDom.js +81 -0
- package/lib-mjs/modelToDom/contentModelToDom.js.map +1 -0
- package/lib-mjs/modelToDom/context/createModelToDomContext.d.ts +7 -0
- package/lib-mjs/modelToDom/context/createModelToDomContext.js +22 -0
- package/lib-mjs/modelToDom/context/createModelToDomContext.js.map +1 -0
- package/lib-mjs/modelToDom/context/defaultContentModelHandlers.d.ts +5 -0
- package/lib-mjs/modelToDom/context/defaultContentModelHandlers.js +36 -0
- package/lib-mjs/modelToDom/context/defaultContentModelHandlers.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleBlock.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleBlock.js +35 -0
- package/lib-mjs/modelToDom/handlers/handleBlock.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.js +33 -0
- package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleBr.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleBr.js +12 -0
- package/lib-mjs/modelToDom/handlers/handleBr.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleDivider.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleDivider.js +24 -0
- package/lib-mjs/modelToDom/handlers/handleDivider.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleEntity.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleEntity.js +36 -0
- package/lib-mjs/modelToDom/handlers/handleEntity.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleFormatContainer.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleFormatContainer.js +39 -0
- package/lib-mjs/modelToDom/handlers/handleFormatContainer.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleGeneralModel.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleGeneralModel.js +30 -0
- package/lib-mjs/modelToDom/handlers/handleGeneralModel.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleImage.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleImage.js +37 -0
- package/lib-mjs/modelToDom/handlers/handleImage.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleList.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleList.js +54 -0
- package/lib-mjs/modelToDom/handlers/handleList.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleListItem.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleListItem.js +33 -0
- package/lib-mjs/modelToDom/handlers/handleListItem.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleParagraph.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleParagraph.js +77 -0
- package/lib-mjs/modelToDom/handlers/handleParagraph.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleSegment.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleSegment.js +34 -0
- package/lib-mjs/modelToDom/handlers/handleSegment.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleSegmentDecorator.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleSegmentDecorator.js +31 -0
- package/lib-mjs/modelToDom/handlers/handleSegmentDecorator.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleTable.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleTable.js +101 -0
- package/lib-mjs/modelToDom/handlers/handleTable.js.map +1 -0
- package/lib-mjs/modelToDom/handlers/handleText.d.ts +5 -0
- package/lib-mjs/modelToDom/handlers/handleText.js +12 -0
- package/lib-mjs/modelToDom/handlers/handleText.js.map +1 -0
- package/lib-mjs/modelToDom/optimizers/mergeNode.d.ts +4 -0
- package/lib-mjs/modelToDom/optimizers/mergeNode.js +38 -0
- package/lib-mjs/modelToDom/optimizers/mergeNode.js.map +1 -0
- package/lib-mjs/modelToDom/optimizers/optimize.d.ts +4 -0
- package/lib-mjs/modelToDom/optimizers/optimize.js +21 -0
- package/lib-mjs/modelToDom/optimizers/optimize.js.map +1 -0
- package/lib-mjs/modelToDom/optimizers/removeUnnecessarySpan.d.ts +4 -0
- package/lib-mjs/modelToDom/optimizers/removeUnnecessarySpan.js +25 -0
- package/lib-mjs/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -0
- package/lib-mjs/modelToDom/utils/applyFormat.d.ts +10 -0
- package/lib-mjs/modelToDom/utils/applyFormat.js +14 -0
- package/lib-mjs/modelToDom/utils/applyFormat.js.map +1 -0
- package/lib-mjs/modelToDom/utils/handleSegmentCommon.d.ts +5 -0
- package/lib-mjs/modelToDom/utils/handleSegmentCommon.js +15 -0
- package/lib-mjs/modelToDom/utils/handleSegmentCommon.js.map +1 -0
- package/lib-mjs/modelToDom/utils/reuseCachedElement.d.ts +8 -0
- package/lib-mjs/modelToDom/utils/reuseCachedElement.js +41 -0
- package/lib-mjs/modelToDom/utils/reuseCachedElement.js.map +1 -0
- package/lib-mjs/modelToDom/utils/stackFormat.d.ts +5 -0
- package/lib-mjs/modelToDom/utils/stackFormat.js +23 -0
- package/lib-mjs/modelToDom/utils/stackFormat.js.map +1 -0
- package/package.json +18 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.imageProcessor = void 0;
|
|
4
|
+
var addDecorators_1 = require("../../modelApi/common/addDecorators");
|
|
5
|
+
var addSegment_1 = require("../../modelApi/common/addSegment");
|
|
6
|
+
var createImage_1 = require("../../modelApi/creators/createImage");
|
|
7
|
+
var parseFormat_1 = require("../utils/parseFormat");
|
|
8
|
+
var stackFormat_1 = require("../utils/stackFormat");
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
var imageProcessor = function (group, element, context) {
|
|
13
|
+
(0, stackFormat_1.stackFormat)(context, { segment: 'shallowClone' }, function () {
|
|
14
|
+
var _a;
|
|
15
|
+
var imageFormat = context.segmentFormat;
|
|
16
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, imageFormat, context);
|
|
17
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.image, imageFormat, context);
|
|
18
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.block, context.blockFormat, context);
|
|
19
|
+
var image = (0, createImage_1.createImage)(element.src, imageFormat);
|
|
20
|
+
var alt = element.alt;
|
|
21
|
+
var title = element.title;
|
|
22
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, image.dataset, context);
|
|
23
|
+
(0, addDecorators_1.addDecorators)(image, context);
|
|
24
|
+
if (alt) {
|
|
25
|
+
image.alt = alt;
|
|
26
|
+
}
|
|
27
|
+
if (title) {
|
|
28
|
+
image.title = title;
|
|
29
|
+
}
|
|
30
|
+
if (context.isInSelection) {
|
|
31
|
+
image.isSelected = true;
|
|
32
|
+
}
|
|
33
|
+
if (((_a = context.imageSelection) === null || _a === void 0 ? void 0 : _a.image) == element) {
|
|
34
|
+
image.isSelectedAsImageSelection = true;
|
|
35
|
+
image.isSelected = true;
|
|
36
|
+
}
|
|
37
|
+
(0, addSegment_1.addSegment)(group, image);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.imageProcessor = imageProcessor;
|
|
41
|
+
//# sourceMappingURL=imageProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/imageProcessor.ts"],"names":[],"mappings":";;;AAAA,qEAAoE;AACpE,+DAA8D;AAE9D,mEAAkE;AAClE,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,cAAc,GAAuC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACtF,IAAA,yBAAW,EAAC,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE;;QAC9C,IAAM,WAAW,GAA4B,OAAO,CAAC,aAAa,CAAC;QAEnE,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACxE,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhF,IAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,IAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAA,6BAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE9B,IAAI,GAAG,EAAE;YACL,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;SACnB;QACD,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,aAAa,EAAE;YACvB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,KAAK,KAAI,OAAO,EAAE;YAC1C,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACxC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;SAC3B;QAED,IAAA,uBAAU,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AA/BW,QAAA,cAAc,kBA+BzB","sourcesContent":["import { addDecorators } from '../../modelApi/common/addDecorators';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { ContentModelImageFormat, ElementProcessor } from 'roosterjs-content-model-types';\nimport { createImage } from '../../modelApi/creators/createImage';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const imageProcessor: ElementProcessor<HTMLImageElement> = (group, element, context) => {\n stackFormat(context, { segment: 'shallowClone' }, () => {\n const imageFormat: ContentModelImageFormat = context.segmentFormat;\n\n parseFormat(element, context.formatParsers.segment, imageFormat, context);\n parseFormat(element, context.formatParsers.image, imageFormat, context);\n parseFormat(element, context.formatParsers.block, context.blockFormat, context);\n\n const image = createImage(element.src, imageFormat);\n const alt = element.alt;\n const title = element.title;\n\n parseFormat(element, context.formatParsers.dataset, image.dataset, context);\n addDecorators(image, context);\n\n if (alt) {\n image.alt = alt;\n }\n if (title) {\n image.title = title;\n }\n if (context.isInSelection) {\n image.isSelected = true;\n }\n if (context.imageSelection?.image == element) {\n image.isSelectedAsImageSelection = true;\n image.isSelected = true;\n }\n\n addSegment(group, image);\n });\n};\n"]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.knownElementProcessor = void 0;
|
|
4
|
+
var addBlock_1 = require("../../modelApi/common/addBlock");
|
|
5
|
+
var blockProcessor_1 = require("./blockProcessor");
|
|
6
|
+
var createParagraph_1 = require("../../modelApi/creators/createParagraph");
|
|
7
|
+
var formatContainerProcessor_1 = require("./formatContainerProcessor");
|
|
8
|
+
var getDefaultStyle_1 = require("../utils/getDefaultStyle");
|
|
9
|
+
var isBlockElement_1 = require("../utils/isBlockElement");
|
|
10
|
+
var parseFormat_1 = require("../utils/parseFormat");
|
|
11
|
+
var stackFormat_1 = require("../utils/stackFormat");
|
|
12
|
+
var FormatContainerTriggerStyles = [
|
|
13
|
+
'marginBottom',
|
|
14
|
+
'marginTop',
|
|
15
|
+
'paddingBottom',
|
|
16
|
+
'paddingTop',
|
|
17
|
+
'paddingLeft',
|
|
18
|
+
'paddingRight',
|
|
19
|
+
'borderTopWidth',
|
|
20
|
+
'borderBottomWidth',
|
|
21
|
+
'borderLeftWidth',
|
|
22
|
+
'borderRightWidth',
|
|
23
|
+
'width',
|
|
24
|
+
'height',
|
|
25
|
+
'maxWidth',
|
|
26
|
+
'maxHeight',
|
|
27
|
+
'minWidth',
|
|
28
|
+
'minHeight',
|
|
29
|
+
];
|
|
30
|
+
var ByPassFormatContainerTags = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'A'];
|
|
31
|
+
var SegmentDecoratorTags = ['A', 'CODE'];
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
var knownElementProcessor = function (group, element, context) {
|
|
36
|
+
var isBlock = (0, isBlockElement_1.isBlockElement)(element, context);
|
|
37
|
+
if ((isBlock || element.style.display == 'inline-block') && // For inline-block here, we will also check if it should be represented as Format Container
|
|
38
|
+
shouldUseFormatContainer(element, context)) {
|
|
39
|
+
(0, formatContainerProcessor_1.formatContainerProcessor)(group, element, context);
|
|
40
|
+
}
|
|
41
|
+
else if (isBlock) {
|
|
42
|
+
var decorator = context.blockDecorator.tagName ? context.blockDecorator : undefined;
|
|
43
|
+
var isSegmentDecorator = SegmentDecoratorTags.indexOf(element.tagName) >= 0;
|
|
44
|
+
(0, stackFormat_1.stackFormat)(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, function () {
|
|
45
|
+
var segmentFormat = {};
|
|
46
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, segmentFormat, context);
|
|
47
|
+
Object.assign(context.segmentFormat, segmentFormat);
|
|
48
|
+
(0, blockProcessor_1.blockProcessor)(group, element, context, segmentFormat);
|
|
49
|
+
});
|
|
50
|
+
if (isBlock && !isSegmentDecorator) {
|
|
51
|
+
(0, addBlock_1.addBlock)(group, (0, createParagraph_1.createParagraph)(true /*isImplicit*/, context.blockFormat, undefined /*segmentFormat*/, decorator));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
(0, stackFormat_1.stackFormat)(context, {
|
|
56
|
+
segment: 'shallowClone',
|
|
57
|
+
paragraph: 'shallowClone',
|
|
58
|
+
link: 'cloneFormat',
|
|
59
|
+
}, function () {
|
|
60
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, context.segmentFormat, context);
|
|
61
|
+
if (context.link.format.href && element.tagName != 'A') {
|
|
62
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentUnderLink, context.link.format, context);
|
|
63
|
+
}
|
|
64
|
+
context.elementProcessors.child(group, element, context);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.knownElementProcessor = knownElementProcessor;
|
|
69
|
+
function shouldUseFormatContainer(element, context) {
|
|
70
|
+
// For those tags that we know we should not use format container, just return false
|
|
71
|
+
if (ByPassFormatContainerTags.indexOf(element.tagName) >= 0) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
var style = element.style;
|
|
75
|
+
var defaultStyle = (0, getDefaultStyle_1.getDefaultStyle)(element, context);
|
|
76
|
+
var bgcolor = style.getPropertyValue('background-color');
|
|
77
|
+
// For block element with background, we need to use format container
|
|
78
|
+
if (bgcolor && bgcolor != 'transparent') {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
// For block element with positive value of border width or top/bottom margin/padding,
|
|
82
|
+
// we need to use format container
|
|
83
|
+
if (FormatContainerTriggerStyles.some(function (key) { return parseInt(style[key] || defaultStyle[key] || '') > 0; })) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
// For margin left/right with value "auto", we need to use format container
|
|
87
|
+
if (style.marginLeft == 'auto' || style.marginRight == 'auto') {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
// For element with "align" attribute, we need to use format container
|
|
91
|
+
if (element.getAttribute('align')) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=knownElementProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knownElementProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/knownElementProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { blockProcessor } from './blockProcessor';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { formatContainerProcessor } from './formatContainerProcessor';\nimport { getDefaultStyle } from '../utils/getDefaultStyle';\nimport { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport {\n ContentModelSegmentFormat,\n DomToModelContext,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\nconst FormatContainerTriggerStyles: (keyof CSSStyleDeclaration)[] = [\n 'marginBottom',\n 'marginTop',\n 'paddingBottom',\n 'paddingTop',\n 'paddingLeft',\n 'paddingRight',\n 'borderTopWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'width',\n 'height',\n 'maxWidth',\n 'maxHeight',\n 'minWidth',\n 'minHeight',\n];\nconst ByPassFormatContainerTags = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'A'];\nconst SegmentDecoratorTags = ['A', 'CODE'];\n\n/**\n * @internal\n */\nexport const knownElementProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const isBlock = isBlockElement(element, context);\n\n if (\n (isBlock || element.style.display == 'inline-block') && // For inline-block here, we will also check if it should be represented as Format Container\n shouldUseFormatContainer(element, context)\n ) {\n formatContainerProcessor(group, element, context);\n } else if (isBlock) {\n const decorator = context.blockDecorator.tagName ? context.blockDecorator : undefined;\n const isSegmentDecorator = SegmentDecoratorTags.indexOf(element.tagName) >= 0;\n\n stackFormat(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, () => {\n const segmentFormat: ContentModelSegmentFormat = {};\n\n parseFormat(element, context.formatParsers.segmentOnBlock, segmentFormat, context);\n Object.assign(context.segmentFormat, segmentFormat);\n\n blockProcessor(group, element, context, segmentFormat);\n });\n\n if (isBlock && !isSegmentDecorator) {\n addBlock(\n group,\n createParagraph(\n true /*isImplicit*/,\n context.blockFormat,\n undefined /*segmentFormat*/,\n decorator\n )\n );\n }\n } else {\n stackFormat(\n context,\n {\n segment: 'shallowClone',\n paragraph: 'shallowClone',\n link: 'cloneFormat',\n },\n () => {\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n if (context.link.format.href && element.tagName != 'A') {\n parseFormat(\n element,\n context.formatParsers.segmentUnderLink,\n context.link.format,\n context\n );\n }\n\n context.elementProcessors.child(group, element, context);\n }\n );\n }\n};\n\nfunction shouldUseFormatContainer(element: HTMLElement, context: DomToModelContext) {\n // For those tags that we know we should not use format container, just return false\n if (ByPassFormatContainerTags.indexOf(element.tagName) >= 0) {\n return false;\n }\n\n const style = element.style;\n const defaultStyle = getDefaultStyle(element, context);\n\n const bgcolor = style.getPropertyValue('background-color');\n\n // For block element with background, we need to use format container\n if (bgcolor && bgcolor != 'transparent') {\n return true;\n }\n\n // For block element with positive value of border width or top/bottom margin/padding,\n // we need to use format container\n if (\n FormatContainerTriggerStyles.some(\n key => parseInt((style[key] as string) || (defaultStyle[key] as string) || '') > 0\n )\n ) {\n return true;\n }\n\n // For margin left/right with value \"auto\", we need to use format container\n if (style.marginLeft == 'auto' || style.marginRight == 'auto') {\n return true;\n }\n\n // For element with \"align\" attribute, we need to use format container\n if (element.getAttribute('align')) {\n return true;\n }\n\n return false;\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.linkProcessor = void 0;
|
|
4
|
+
var knownElementProcessor_1 = require("./knownElementProcessor");
|
|
5
|
+
var parseFormat_1 = require("../utils/parseFormat");
|
|
6
|
+
var stackFormat_1 = require("../utils/stackFormat");
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
var linkProcessor = function (group, element, context) {
|
|
11
|
+
if (element.hasAttribute('href')) {
|
|
12
|
+
(0, stackFormat_1.stackFormat)(context, { link: 'linkDefault' }, function () {
|
|
13
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.link, context.link.format, context);
|
|
14
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, context.link.dataset, context);
|
|
15
|
+
(0, knownElementProcessor_1.knownElementProcessor)(group, element, context);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
// A tag without href, can be treated as normal SPAN tag
|
|
20
|
+
(0, knownElementProcessor_1.knownElementProcessor)(group, element, context);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.linkProcessor = linkProcessor;
|
|
24
|
+
//# sourceMappingURL=linkProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/linkProcessor.ts"],"names":[],"mappings":";;;AACA,iEAAgE;AAChE,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,aAAa,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAChF,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QAC9B,IAAA,yBAAW,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;YAC1C,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEnF,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;KACN;SAAM;QACH,wDAAwD;QACxD,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KAClD;AACL,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB","sourcesContent":["import { ElementProcessor } from 'roosterjs-content-model-types';\nimport { knownElementProcessor } from './knownElementProcessor';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const linkProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n if (element.hasAttribute('href')) {\n stackFormat(context, { link: 'linkDefault' }, () => {\n parseFormat(element, context.formatParsers.link, context.link.format, context);\n parseFormat(element, context.formatParsers.dataset, context.link.dataset, context);\n\n knownElementProcessor(group, element, context);\n });\n } else {\n // A tag without href, can be treated as normal SPAN tag\n knownElementProcessor(group, element, context);\n }\n};\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listItemProcessor = void 0;
|
|
4
|
+
var createListItem_1 = require("../../modelApi/creators/createListItem");
|
|
5
|
+
var parseFormat_1 = require("../utils/parseFormat");
|
|
6
|
+
var stackFormat_1 = require("../utils/stackFormat");
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
var listItemProcessor = function (group, element, context) {
|
|
11
|
+
var _a;
|
|
12
|
+
var listFormat = context.listFormat;
|
|
13
|
+
if (listFormat.listParent && listFormat.levels.length > 0) {
|
|
14
|
+
(0, stackFormat_1.stackFormat)(context, {
|
|
15
|
+
segment: 'shallowCloneForBlock',
|
|
16
|
+
}, function () {
|
|
17
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
18
|
+
var listItem = (0, createListItem_1.createListItem)(listFormat.levels, context.segmentFormat);
|
|
19
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listItemElement, listItem.format, context);
|
|
20
|
+
listFormat.listParent.blocks.push(listItem);
|
|
21
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listItem, listItem.levels[listItem.levels.length - 1], context);
|
|
22
|
+
context.elementProcessors.child(listItem, element, context);
|
|
23
|
+
var firstChild = listItem.blocks[0];
|
|
24
|
+
if (listItem.blocks.length == 1 &&
|
|
25
|
+
firstChild.blockType == 'Paragraph' &&
|
|
26
|
+
firstChild.isImplicit) {
|
|
27
|
+
Object.assign(listItem.format, firstChild.format);
|
|
28
|
+
firstChild.format = {};
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
var currentBlocks = (_a = listFormat.listParent) === null || _a === void 0 ? void 0 : _a.blocks;
|
|
34
|
+
var lastItem = currentBlocks === null || currentBlocks === void 0 ? void 0 : currentBlocks[(currentBlocks === null || currentBlocks === void 0 ? void 0 : currentBlocks.length) - 1];
|
|
35
|
+
context.elementProcessors['*']((lastItem === null || lastItem === void 0 ? void 0 : lastItem.blockType) == 'BlockGroup' ? lastItem : group, element, context);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.listItemProcessor = listItemProcessor;
|
|
39
|
+
//# sourceMappingURL=listItemProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listItemProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/listItemProcessor.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AAExE,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,iBAAiB,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IAC9E,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;IAE/B,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACvD,IAAA,yBAAW,EACP,OAAO,EACP;YACI,OAAO,EAAE,sBAAsB;SAClC,EACD;YACI,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,cAAc,EACpC,OAAO,CAAC,aAAa,EACrB,OAAO,CACV,CAAC;YAEF,IAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,eAAe,EACrC,QAAQ,CAAC,MAAM,EACf,OAAO,CACV,CAAC;YAEF,UAAU,CAAC,UAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,QAAQ,EAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAC3C,OAAO,CACV,CAAC;YAEF,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5D,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtC,IACI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;gBAC3B,UAAU,CAAC,SAAS,IAAI,WAAW;gBACnC,UAAU,CAAC,UAAU,EACvB;gBACE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;aAC1B;QACL,CAAC,CACJ,CAAC;KACL;SAAM;QACH,IAAM,aAAa,GAAG,MAAA,UAAU,CAAC,UAAU,0CAAE,MAAM,CAAC;QACpD,IAAM,QAAQ,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC;QAE5D,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAC1B,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,KAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EACtD,OAAO,EACP,OAAO,CACV,CAAC;KACL;AACL,CAAC,CAAC;AA1DW,QAAA,iBAAiB,qBA0D5B","sourcesContent":["import { createListItem } from '../../modelApi/creators/createListItem';\nimport { ElementProcessor } from 'roosterjs-content-model-types';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const listItemProcessor: ElementProcessor<HTMLLIElement> = (group, element, context) => {\n const { listFormat } = context;\n\n if (listFormat.listParent && listFormat.levels.length > 0) {\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n },\n () => {\n parseFormat(\n element,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n\n const listItem = createListItem(listFormat.levels, context.segmentFormat);\n parseFormat(\n element,\n context.formatParsers.listItemElement,\n listItem.format,\n context\n );\n\n listFormat.listParent!.blocks.push(listItem);\n\n parseFormat(\n element,\n context.formatParsers.listItem,\n listItem.levels[listItem.levels.length - 1],\n context\n );\n\n context.elementProcessors.child(listItem, element, context);\n\n const firstChild = listItem.blocks[0];\n\n if (\n listItem.blocks.length == 1 &&\n firstChild.blockType == 'Paragraph' &&\n firstChild.isImplicit\n ) {\n Object.assign(listItem.format, firstChild.format);\n firstChild.format = {};\n }\n }\n );\n } else {\n const currentBlocks = listFormat.listParent?.blocks;\n const lastItem = currentBlocks?.[currentBlocks?.length - 1];\n\n context.elementProcessors['*'](\n lastItem?.blockType == 'BlockGroup' ? lastItem : group,\n element,\n context\n );\n }\n};\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listProcessor = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var parseFormat_1 = require("../utils/parseFormat");
|
|
6
|
+
var stackFormat_1 = require("../utils/stackFormat");
|
|
7
|
+
var updateListMetadata_1 = require("../../domUtils/metadata/updateListMetadata");
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
var listProcessor = function (group, element, context) {
|
|
12
|
+
(0, stackFormat_1.stackFormat)(context, {
|
|
13
|
+
segment: 'shallowCloneForBlock',
|
|
14
|
+
paragraph: 'shallowCloneForGroup',
|
|
15
|
+
}, function () {
|
|
16
|
+
var level = (0, tslib_1.__assign)({}, context.blockFormat);
|
|
17
|
+
var listFormat = context.listFormat;
|
|
18
|
+
processMetadata(element, context, level);
|
|
19
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listLevel, level, context);
|
|
20
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, context.segmentFormat, context);
|
|
21
|
+
var originalListParent = listFormat.listParent;
|
|
22
|
+
listFormat.listParent = listFormat.listParent || group;
|
|
23
|
+
listFormat.levels.push(level);
|
|
24
|
+
try {
|
|
25
|
+
context.elementProcessors.child(group, element, context);
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
listFormat.levels.pop();
|
|
29
|
+
listFormat.listParent = originalListParent;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
exports.listProcessor = listProcessor;
|
|
34
|
+
function processMetadata(element, context, level) {
|
|
35
|
+
var dataset = {};
|
|
36
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, dataset, context);
|
|
37
|
+
(0, updateListMetadata_1.updateListMetadata)({ dataset: dataset }, function (metadata) {
|
|
38
|
+
Object.assign(level, metadata || {});
|
|
39
|
+
return null;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=listProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;;AAAA,oDAAmD;AACnD,oDAAmD;AACnD,iFAAgF;AAQhF;;GAEG;AACI,IAAM,aAAa,GAA0D,UAChF,KAAK,EACL,OAAO,EACP,OAAO;IAEP,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,sBAAsB;QAC/B,SAAS,EAAE,sBAAsB;KACpC,EACD;QACI,IAAM,KAAK,6BAAyC,OAAO,CAAC,WAAW,CAAE,CAAC;QAClE,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAE/B,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACtE,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEpF,IAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC;QAEjD,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;QACvD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI;YACA,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC5D;gBAAS;YACN,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,UAAU,GAAG,kBAAkB,CAAC;SAC9C;IACL,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAhCW,QAAA,aAAa,iBAgCxB;AAEF,SAAS,eAAe,CACpB,OAA4C,EAC5C,OAA0B,EAC1B,KAAsC;IAEtC,IAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,IAAA,uCAAkB,EAAC,EAAE,OAAO,SAAA,EAAE,EAAE,UAAA,QAAQ;QACpC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport { updateListMetadata } from '../../domUtils/metadata/updateListMetadata';\nimport {\n ContentModelListItemLevelFormat,\n DatasetFormat,\n DomToModelContext,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const listProcessor: ElementProcessor<HTMLOListElement | HTMLUListElement> = (\n group,\n element,\n context\n) => {\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n paragraph: 'shallowCloneForGroup',\n },\n () => {\n const level: ContentModelListItemLevelFormat = { ...context.blockFormat };\n const { listFormat } = context;\n\n processMetadata(element, context, level);\n parseFormat(element, context.formatParsers.listLevel, level, context);\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n const originalListParent = listFormat.listParent;\n\n listFormat.listParent = listFormat.listParent || group;\n listFormat.levels.push(level);\n\n try {\n context.elementProcessors.child(group, element, context);\n } finally {\n listFormat.levels.pop();\n listFormat.listParent = originalListParent;\n }\n }\n );\n};\n\nfunction processMetadata(\n element: HTMLOListElement | HTMLUListElement,\n context: DomToModelContext,\n level: ContentModelListItemLevelFormat\n) {\n const dataset: DatasetFormat = {};\n parseFormat(element, context.formatParsers.dataset, dataset, context);\n updateListMetadata({ dataset }, metadata => {\n Object.assign(level, metadata || {});\n return null;\n });\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pProcessor = void 0;
|
|
4
|
+
var addBlock_1 = require("../../modelApi/common/addBlock");
|
|
5
|
+
var blockProcessor_1 = require("./blockProcessor");
|
|
6
|
+
var createParagraph_1 = require("../../modelApi/creators/createParagraph");
|
|
7
|
+
var createParagraphDecorator_1 = require("../../modelApi/creators/createParagraphDecorator");
|
|
8
|
+
var parseFormat_1 = require("../utils/parseFormat");
|
|
9
|
+
var stackFormat_1 = require("../utils/stackFormat");
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
var pProcessor = function (group, element, context) {
|
|
14
|
+
(0, stackFormat_1.stackFormat)(context, { blockDecorator: 'empty', segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, function () {
|
|
15
|
+
context.blockDecorator = (0, createParagraphDecorator_1.createParagraphDecorator)(element.tagName);
|
|
16
|
+
var segmentFormat = {};
|
|
17
|
+
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, segmentFormat, context);
|
|
18
|
+
Object.assign(context.segmentFormat, segmentFormat);
|
|
19
|
+
(0, blockProcessor_1.blockProcessor)(group, element, context, segmentFormat);
|
|
20
|
+
});
|
|
21
|
+
(0, addBlock_1.addBlock)(group, (0, createParagraph_1.createParagraph)(true /*isImplicit*/, context.blockFormat));
|
|
22
|
+
};
|
|
23
|
+
exports.pProcessor = pProcessor;
|
|
24
|
+
//# sourceMappingURL=pProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/pProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,mDAAkD;AAElD,2EAA0E;AAC1E,6FAA4F;AAC5F,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,UAAU,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAC7E,IAAA,yBAAW,EACP,OAAO,EACP,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE,EACvF;QACI,OAAO,CAAC,cAAc,GAAG,IAAA,mDAAwB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAEpD,IAAA,+BAAc,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC,CACJ,CAAC;IAEF,IAAA,mBAAQ,EAAC,KAAK,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { blockProcessor } from './blockProcessor';\nimport { ContentModelSegmentFormat, ElementProcessor } from 'roosterjs-content-model-types';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { createParagraphDecorator } from '../../modelApi/creators/createParagraphDecorator';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const pProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n stackFormat(\n context,\n { blockDecorator: 'empty', segment: 'shallowCloneForBlock', paragraph: 'shallowClone' },\n () => {\n context.blockDecorator = createParagraphDecorator(element.tagName);\n\n const segmentFormat: ContentModelSegmentFormat = {};\n\n parseFormat(element, context.formatParsers.segmentOnBlock, segmentFormat, context);\n Object.assign(context.segmentFormat, segmentFormat);\n\n blockProcessor(group, element, context, segmentFormat);\n }\n );\n\n addBlock(group, createParagraph(true /*isImplicit*/, context.blockFormat));\n};\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ElementProcessor } from 'roosterjs-content-model-types';
|
|
2
|
+
/**
|
|
3
|
+
* Content Model Element Processor for table
|
|
4
|
+
*
|
|
5
|
+
* For Table with merged/splitted cells, HTML uses colSpan and rowSpan attributes to specify how it should be rendered.
|
|
6
|
+
* To make it easier to edit a table, we will use a different way to describe table.
|
|
7
|
+
*
|
|
8
|
+
* 1. For a m * n table (m rows, n columns), we always create a m * n array for the cells.
|
|
9
|
+
* 2. For a regular table cell, it is mapped to one item of this array
|
|
10
|
+
* 3. For a merged/splitted table cell, it will has colSpan/rowSpan value. We also created TableCell model for those spanned
|
|
11
|
+
* cells, and use "spanLeft" and "spanAbove" to mark its state
|
|
12
|
+
* 4. When edit table, we always edit on this mapped m * n array because it always has an item for each cell
|
|
13
|
+
* 5. When write back to DOM, we create TD/TH elements for those non-spanned cells, and mark its colSpan/rowSpan value according
|
|
14
|
+
* its neighbour cell's spanLeft/spanAbove attribute
|
|
15
|
+
* @param group The parent block group
|
|
16
|
+
* @param parent Parent DOM node to process
|
|
17
|
+
* @param context DOM to Content Model context
|
|
18
|
+
*/
|
|
19
|
+
export declare const tableProcessor: ElementProcessor<HTMLTableElement>;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tableProcessor = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var addBlock_1 = require("../../modelApi/common/addBlock");
|
|
6
|
+
var createTable_1 = require("../../modelApi/creators/createTable");
|
|
7
|
+
var createTableCell_1 = require("../../modelApi/creators/createTableCell");
|
|
8
|
+
var getBoundingClientRect_1 = require("../utils/getBoundingClientRect");
|
|
9
|
+
var parseFormat_1 = require("../utils/parseFormat");
|
|
10
|
+
var stackFormat_1 = require("../utils/stackFormat");
|
|
11
|
+
/**
|
|
12
|
+
* Content Model Element Processor for table
|
|
13
|
+
*
|
|
14
|
+
* For Table with merged/splitted cells, HTML uses colSpan and rowSpan attributes to specify how it should be rendered.
|
|
15
|
+
* To make it easier to edit a table, we will use a different way to describe table.
|
|
16
|
+
*
|
|
17
|
+
* 1. For a m * n table (m rows, n columns), we always create a m * n array for the cells.
|
|
18
|
+
* 2. For a regular table cell, it is mapped to one item of this array
|
|
19
|
+
* 3. For a merged/splitted table cell, it will has colSpan/rowSpan value. We also created TableCell model for those spanned
|
|
20
|
+
* cells, and use "spanLeft" and "spanAbove" to mark its state
|
|
21
|
+
* 4. When edit table, we always edit on this mapped m * n array because it always has an item for each cell
|
|
22
|
+
* 5. When write back to DOM, we create TD/TH elements for those non-spanned cells, and mark its colSpan/rowSpan value according
|
|
23
|
+
* its neighbour cell's spanLeft/spanAbove attribute
|
|
24
|
+
* @param group The parent block group
|
|
25
|
+
* @param parent Parent DOM node to process
|
|
26
|
+
* @param context DOM to Content Model context
|
|
27
|
+
*/
|
|
28
|
+
var tableProcessor = function (group, tableElement, context) {
|
|
29
|
+
(0, stackFormat_1.stackFormat)(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowCloneForGroup' }, function () {
|
|
30
|
+
(0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.block, context.blockFormat, context);
|
|
31
|
+
var table = (0, createTable_1.createTable)(tableElement.rows.length, context.blockFormat);
|
|
32
|
+
var _a = context.tableSelection || {}, selectedTable = _a.table, firstCell = _a.firstCell, lastCell = _a.lastCell;
|
|
33
|
+
var hasTableSelection = selectedTable == tableElement && !!firstCell && !!lastCell;
|
|
34
|
+
if (context.allowCacheElement) {
|
|
35
|
+
table.cachedElement = tableElement;
|
|
36
|
+
}
|
|
37
|
+
(0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.table, table.format, context);
|
|
38
|
+
(0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.tableBorder, table.format, context);
|
|
39
|
+
(0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
40
|
+
(0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.dataset, table.dataset, context);
|
|
41
|
+
(0, addBlock_1.addBlock)(group, table);
|
|
42
|
+
var columnPositions = [0];
|
|
43
|
+
var rowPositions = [0];
|
|
44
|
+
var zoomScale = context.zoomScaleFormat.zoomScale || 1;
|
|
45
|
+
var _loop_1 = function (row) {
|
|
46
|
+
var tr = tableElement.rows[row];
|
|
47
|
+
var tableRow = table.rows[row];
|
|
48
|
+
if (context.allowCacheElement) {
|
|
49
|
+
tableRow.cachedElement = tr;
|
|
50
|
+
}
|
|
51
|
+
(0, parseFormat_1.parseFormat)(tr, context.formatParsers.tableRow, tableRow.format, context);
|
|
52
|
+
(0, stackFormat_1.stackFormat)(context, { paragraph: 'shallowClone', segment: 'shallowClone' }, function () {
|
|
53
|
+
var parent = tr.parentElement;
|
|
54
|
+
var parentTag = parent === null || parent === void 0 ? void 0 : parent.tagName;
|
|
55
|
+
if (parent &&
|
|
56
|
+
(parentTag == 'TBODY' || parentTag == 'THEAD' || parentTag == 'TFOOT')) {
|
|
57
|
+
// If there is TBODY around TR, retrieve format from TBODY first, in case some format are declared there
|
|
58
|
+
(0, parseFormat_1.parseFormat)(parent, context.formatParsers.block, context.blockFormat, context);
|
|
59
|
+
(0, parseFormat_1.parseFormat)(parent, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
60
|
+
}
|
|
61
|
+
(0, parseFormat_1.parseFormat)(tr, context.formatParsers.block, context.blockFormat, context);
|
|
62
|
+
(0, parseFormat_1.parseFormat)(tr, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
63
|
+
var _loop_2 = function (sourceCol, targetCol) {
|
|
64
|
+
for (; tableRow.cells[targetCol]; targetCol++) { }
|
|
65
|
+
var td = tr.cells[sourceCol];
|
|
66
|
+
var hasSelectionBeforeCell = context.isInSelection;
|
|
67
|
+
var colEnd = targetCol + td.colSpan;
|
|
68
|
+
var rowEnd = row + td.rowSpan;
|
|
69
|
+
var needCalcWidth = columnPositions[colEnd] === undefined;
|
|
70
|
+
var needCalcHeight = rowPositions[rowEnd] === undefined;
|
|
71
|
+
if (needCalcWidth || needCalcHeight) {
|
|
72
|
+
var rect = (0, getBoundingClientRect_1.getBoundingClientRect)(td);
|
|
73
|
+
if (rect.width > 0 || rect.height > 0) {
|
|
74
|
+
if (needCalcWidth) {
|
|
75
|
+
columnPositions[colEnd] =
|
|
76
|
+
columnPositions[targetCol] + rect.width / zoomScale;
|
|
77
|
+
}
|
|
78
|
+
if (needCalcHeight) {
|
|
79
|
+
rowPositions[rowEnd] =
|
|
80
|
+
rowPositions[row] + rect.height / zoomScale;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
(0, stackFormat_1.stackFormat)(context, { paragraph: 'shallowClone', segment: 'shallowClone' }, function () {
|
|
85
|
+
(0, parseFormat_1.parseFormat)(td, context.formatParsers.block, context.blockFormat, context);
|
|
86
|
+
(0, parseFormat_1.parseFormat)(td, context.formatParsers.segmentOnTableCell, context.segmentFormat, context);
|
|
87
|
+
var cellFormat = (0, tslib_1.__assign)({}, context.blockFormat);
|
|
88
|
+
var dataset = {};
|
|
89
|
+
(0, parseFormat_1.parseFormat)(td, context.formatParsers.tableCell, cellFormat, context);
|
|
90
|
+
(0, parseFormat_1.parseFormat)(td, context.formatParsers.tableBorder, cellFormat, context);
|
|
91
|
+
(0, parseFormat_1.parseFormat)(td, context.formatParsers.dataset, dataset, context);
|
|
92
|
+
for (var colSpan = 1; colSpan <= td.colSpan; colSpan++, targetCol++) {
|
|
93
|
+
for (var rowSpan = 1; rowSpan <= td.rowSpan; rowSpan++) {
|
|
94
|
+
var hasTd = colSpan == 1 && rowSpan == 1;
|
|
95
|
+
var cell = (0, createTableCell_1.createTableCell)(colSpan > 1, rowSpan > 1, td.tagName == 'TH', cellFormat);
|
|
96
|
+
cell.dataset = (0, tslib_1.__assign)({}, dataset);
|
|
97
|
+
var spannedRow = table.rows[row + rowSpan - 1];
|
|
98
|
+
if (spannedRow) {
|
|
99
|
+
spannedRow.cells[targetCol] = cell;
|
|
100
|
+
}
|
|
101
|
+
if (hasTd) {
|
|
102
|
+
if (context.allowCacheElement) {
|
|
103
|
+
cell.cachedElement = td;
|
|
104
|
+
}
|
|
105
|
+
var _a = context.listFormat, listParent = _a.listParent, levels = _a.levels;
|
|
106
|
+
context.listFormat.listParent = undefined;
|
|
107
|
+
context.listFormat.levels = [];
|
|
108
|
+
try {
|
|
109
|
+
context.elementProcessors.child(cell, td, context);
|
|
110
|
+
}
|
|
111
|
+
finally {
|
|
112
|
+
context.listFormat.listParent = listParent;
|
|
113
|
+
context.listFormat.levels = levels;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
var hasSelectionAfterCell = context.isInSelection;
|
|
117
|
+
if ((hasSelectionBeforeCell && hasSelectionAfterCell) ||
|
|
118
|
+
(hasTableSelection &&
|
|
119
|
+
row >= firstCell.y &&
|
|
120
|
+
row <= lastCell.y &&
|
|
121
|
+
targetCol >= firstCell.x &&
|
|
122
|
+
targetCol <= lastCell.x)) {
|
|
123
|
+
cell.isSelected = true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
out_targetCol_1 = targetCol;
|
|
129
|
+
};
|
|
130
|
+
var out_targetCol_1;
|
|
131
|
+
for (var sourceCol = 0, targetCol = 0; sourceCol < tr.cells.length; sourceCol++) {
|
|
132
|
+
_loop_2(sourceCol, targetCol);
|
|
133
|
+
targetCol = out_targetCol_1;
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
for (var row = 0; row < tableElement.rows.length; row++) {
|
|
138
|
+
_loop_1(row);
|
|
139
|
+
}
|
|
140
|
+
table.widths = calcSizes(columnPositions);
|
|
141
|
+
var heights = calcSizes(rowPositions);
|
|
142
|
+
table.rows.forEach(function (row, i) {
|
|
143
|
+
if (heights[i] > 0) {
|
|
144
|
+
row.height = heights[i];
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
exports.tableProcessor = tableProcessor;
|
|
150
|
+
function calcSizes(positions) {
|
|
151
|
+
var result = [];
|
|
152
|
+
var lastPos = positions[positions.length - 1];
|
|
153
|
+
for (var i = positions.length - 2; i >= 0; i--) {
|
|
154
|
+
if (positions[i] === undefined) {
|
|
155
|
+
result[i] = 0;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
result[i] = lastPos - positions[i];
|
|
159
|
+
lastPos = positions[i];
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=tableProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/tableProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { createTable } from '../../modelApi/creators/createTable';\nimport { createTableCell } from '../../modelApi/creators/createTableCell';\nimport { getBoundingClientRect } from '../utils/getBoundingClientRect';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport {\n ContentModelTableCellFormat,\n DatasetFormat,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\n/**\n * Content Model Element Processor for table\n *\n * For Table with merged/splitted cells, HTML uses colSpan and rowSpan attributes to specify how it should be rendered.\n * To make it easier to edit a table, we will use a different way to describe table.\n *\n * 1. For a m * n table (m rows, n columns), we always create a m * n array for the cells.\n * 2. For a regular table cell, it is mapped to one item of this array\n * 3. For a merged/splitted table cell, it will has colSpan/rowSpan value. We also created TableCell model for those spanned\n * cells, and use \"spanLeft\" and \"spanAbove\" to mark its state\n * 4. When edit table, we always edit on this mapped m * n array because it always has an item for each cell\n * 5. When write back to DOM, we create TD/TH elements for those non-spanned cells, and mark its colSpan/rowSpan value according\n * its neighbour cell's spanLeft/spanAbove attribute\n * @param group The parent block group\n * @param parent Parent DOM node to process\n * @param context DOM to Content Model context\n */\nexport const tableProcessor: ElementProcessor<HTMLTableElement> = (\n group,\n tableElement,\n context\n) => {\n stackFormat(\n context,\n { segment: 'shallowCloneForBlock', paragraph: 'shallowCloneForGroup' },\n () => {\n parseFormat(tableElement, context.formatParsers.block, context.blockFormat, context);\n\n const table = createTable(tableElement.rows.length, context.blockFormat);\n const { table: selectedTable, firstCell, lastCell } = context.tableSelection || {};\n const hasTableSelection = selectedTable == tableElement && !!firstCell && !!lastCell;\n\n if (context.allowCacheElement) {\n table.cachedElement = tableElement;\n }\n\n parseFormat(tableElement, context.formatParsers.table, table.format, context);\n parseFormat(tableElement, context.formatParsers.tableBorder, table.format, context);\n parseFormat(\n tableElement,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n parseFormat(tableElement, context.formatParsers.dataset, table.dataset, context);\n addBlock(group, table);\n\n const columnPositions: number[] = [0];\n const rowPositions: number[] = [0];\n const zoomScale = context.zoomScaleFormat.zoomScale || 1;\n\n for (let row = 0; row < tableElement.rows.length; row++) {\n const tr = tableElement.rows[row];\n const tableRow = table.rows[row];\n\n if (context.allowCacheElement) {\n tableRow.cachedElement = tr;\n }\n\n parseFormat(tr, context.formatParsers.tableRow, tableRow.format, context);\n\n stackFormat(context, { paragraph: 'shallowClone', segment: 'shallowClone' }, () => {\n const parent = tr.parentElement;\n const parentTag = parent?.tagName;\n\n if (\n parent &&\n (parentTag == 'TBODY' || parentTag == 'THEAD' || parentTag == 'TFOOT')\n ) {\n // If there is TBODY around TR, retrieve format from TBODY first, in case some format are declared there\n parseFormat(\n parent,\n context.formatParsers.block,\n context.blockFormat,\n context\n );\n parseFormat(\n parent,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n }\n\n parseFormat(tr, context.formatParsers.block, context.blockFormat, context);\n parseFormat(\n tr,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n\n for (\n let sourceCol = 0, targetCol = 0;\n sourceCol < tr.cells.length;\n sourceCol++\n ) {\n for (; tableRow.cells[targetCol]; targetCol++) {}\n\n const td = tr.cells[sourceCol];\n const hasSelectionBeforeCell = context.isInSelection;\n const colEnd = targetCol + td.colSpan;\n const rowEnd = row + td.rowSpan;\n const needCalcWidth = columnPositions[colEnd] === undefined;\n const needCalcHeight = rowPositions[rowEnd] === undefined;\n\n if (needCalcWidth || needCalcHeight) {\n const rect = getBoundingClientRect(td);\n\n if (rect.width > 0 || rect.height > 0) {\n if (needCalcWidth) {\n columnPositions[colEnd] =\n columnPositions[targetCol] + rect.width / zoomScale;\n }\n\n if (needCalcHeight) {\n rowPositions[rowEnd] =\n rowPositions[row] + rect.height / zoomScale;\n }\n }\n }\n\n stackFormat(\n context,\n { paragraph: 'shallowClone', segment: 'shallowClone' },\n () => {\n parseFormat(\n td,\n context.formatParsers.block,\n context.blockFormat,\n context\n );\n parseFormat(\n td,\n context.formatParsers.segmentOnTableCell,\n context.segmentFormat,\n context\n );\n\n const cellFormat: ContentModelTableCellFormat = {\n ...context.blockFormat,\n };\n const dataset: DatasetFormat = {};\n\n parseFormat(\n td,\n context.formatParsers.tableCell,\n cellFormat,\n context\n );\n parseFormat(\n td,\n context.formatParsers.tableBorder,\n cellFormat,\n context\n );\n parseFormat(td, context.formatParsers.dataset, dataset, context);\n\n for (\n let colSpan = 1;\n colSpan <= td.colSpan;\n colSpan++, targetCol++\n ) {\n for (let rowSpan = 1; rowSpan <= td.rowSpan; rowSpan++) {\n const hasTd = colSpan == 1 && rowSpan == 1;\n const cell = createTableCell(\n colSpan > 1,\n rowSpan > 1,\n td.tagName == 'TH',\n cellFormat\n );\n\n cell.dataset = { ...dataset };\n\n const spannedRow = table.rows[row + rowSpan - 1];\n\n if (spannedRow) {\n spannedRow.cells[targetCol] = cell;\n }\n\n if (hasTd) {\n if (context.allowCacheElement) {\n cell.cachedElement = td;\n }\n\n const { listParent, levels } = context.listFormat;\n\n context.listFormat.listParent = undefined;\n context.listFormat.levels = [];\n\n try {\n context.elementProcessors.child(cell, td, context);\n } finally {\n context.listFormat.listParent = listParent;\n context.listFormat.levels = levels;\n }\n }\n\n const hasSelectionAfterCell = context.isInSelection;\n\n if (\n (hasSelectionBeforeCell && hasSelectionAfterCell) ||\n (hasTableSelection &&\n row >= firstCell.y &&\n row <= lastCell.y &&\n targetCol >= firstCell.x &&\n targetCol <= lastCell.x)\n ) {\n cell.isSelected = true;\n }\n }\n }\n }\n );\n }\n });\n }\n\n table.widths = calcSizes(columnPositions);\n\n const heights = calcSizes(rowPositions);\n\n table.rows.forEach((row, i) => {\n if (heights[i] > 0) {\n row.height = heights[i];\n }\n });\n }\n );\n};\n\nfunction calcSizes(positions: number[]): number[] {\n let result: number[] = [];\n let lastPos = positions[positions.length - 1];\n\n for (let i = positions.length - 2; i >= 0; i--) {\n if (positions[i] === undefined) {\n result[i] = 0;\n } else {\n result[i] = lastPos - positions[i];\n lastPos = positions[i];\n }\n }\n\n return result;\n}\n"]}
|