roosterjs-content-model-dom
Advanced tools
Comparing version 0.22.0 to 0.23.0
@@ -1,2 +0,2 @@ | ||
define(["require", "exports", "../../modelApi/common/addDecorators", "../../modelApi/common/addSegment", "../utils/addSelectionMarker", "../../modelApi/creators/createText", "../../modelApi/common/ensureParagraph", "../utils/getRegularSelectionOffsets", "../../modelApi/common/hasSpacesOnly"], function (require, exports, addDecorators_1, addSegment_1, addSelectionMarker_1, createText_1, ensureParagraph_1, getRegularSelectionOffsets_1, hasSpacesOnly_1) { | ||
define(["require", "exports", "../../modelApi/common/addDecorators", "../../modelApi/common/addSegment", "../utils/addSelectionMarker", "../../modelApi/creators/createText", "../../modelApi/common/ensureParagraph", "../utils/getRegularSelectionOffsets", "../../modelApi/common/hasSpacesOnly", "../../domUtils/isWhiteSpacePreserved"], function (require, exports, addDecorators_1, addSegment_1, addSelectionMarker_1, createText_1, ensureParagraph_1, getRegularSelectionOffsets_1, hasSpacesOnly_1, isWhiteSpacePreserved_1) { | ||
"use strict"; | ||
@@ -38,4 +38,2 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.textProcessor = textProcessor; | ||
// When we see these values of white-space style, need to preserve spaces and line-breaks and let browser handle it for us. | ||
var WhiteSpaceValuesNeedToHandle = ['pre', 'pre-wrap', 'pre-line', 'break-spaces']; | ||
function addTextSegment(group, text, paragraph, context) { | ||
@@ -47,3 +45,3 @@ var _a; | ||
((_a = paragraph === null || paragraph === void 0 ? void 0 : paragraph.segments.length) !== null && _a !== void 0 ? _a : 0) > 0 || | ||
WhiteSpaceValuesNeedToHandle.indexOf((paragraph === null || paragraph === void 0 ? void 0 : paragraph.format.whiteSpace) || '') >= 0) { | ||
(0, isWhiteSpacePreserved_1.isWhiteSpacePreserved)(paragraph === null || paragraph === void 0 ? void 0 : paragraph.format.whiteSpace)) { | ||
textModel = (0, createText_1.createText)(text, context.segmentFormat); | ||
@@ -50,0 +48,0 @@ if (context.isInSelection) { |
@@ -33,6 +33,1 @@ import type { ContentModelEntityFormat } from 'roosterjs-content-model-types'; | ||
export declare function addDelimiters(doc: Document, element: HTMLElement): HTMLElement[]; | ||
/** | ||
* Allowed CSS selector for entity, used by HtmlSanitizer. | ||
* TODO: Revisit paste logic and check if we can remove HtmlSanitizer | ||
*/ | ||
export declare const AllowedEntityClasses: ReadonlyArray<string>; |
define(["require", "exports", "tslib", "./toArray", "./isElementOfType", "./isNodeOfType"], function (require, exports, tslib_1, toArray_1, isElementOfType_1, isNodeOfType_1) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.AllowedEntityClasses = exports.addDelimiters = exports.isEntityDelimiter = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = void 0; | ||
exports.addDelimiters = exports.isEntityDelimiter = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = void 0; | ||
var ENTITY_INFO_NAME = '_Entity'; | ||
@@ -104,15 +104,3 @@ var ENTITY_TYPE_PREFIX = '_EType_'; | ||
} | ||
/** | ||
* Allowed CSS selector for entity, used by HtmlSanitizer. | ||
* TODO: Revisit paste logic and check if we can remove HtmlSanitizer | ||
*/ | ||
exports.AllowedEntityClasses = [ | ||
'^' + ENTITY_INFO_NAME + '$', | ||
'^' + ENTITY_ID_PREFIX, | ||
'^' + ENTITY_TYPE_PREFIX, | ||
'^' + ENTITY_READONLY_PREFIX, | ||
'^' + DELIMITER_BEFORE + '$', | ||
'^' + DELIMITER_AFTER + '$', | ||
]; | ||
}); | ||
//# sourceMappingURL=entityUtils.js.map |
@@ -15,6 +15,11 @@ define(["require", "exports"], function (require, exports) { | ||
exports.paddingFormatHandler = { | ||
parse: function (format, element) { | ||
parse: function (format, element, _, defaultStyle) { | ||
PaddingKeys.forEach(function (key) { | ||
var _a; | ||
var value = element.style[key]; | ||
if (value) { | ||
var defaultValue = (_a = defaultStyle[key]) !== null && _a !== void 0 ? _a : '0px'; | ||
if (value == '0') { | ||
value = '0px'; | ||
} | ||
if (value && value != defaultValue) { | ||
format[key] = value; | ||
@@ -21,0 +26,0 @@ } |
@@ -1,2 +0,2 @@ | ||
define(["require", "exports"], function (require, exports) { | ||
define(["require", "exports", "../utils/shouldSetValue"], function (require, exports, shouldSetValue_1) { | ||
"use strict"; | ||
@@ -11,3 +11,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
var whiteSpace = element.style.whiteSpace || defaultStyle.whiteSpace; | ||
if (whiteSpace) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(whiteSpace, 'normal', format.whiteSpace, defaultStyle.whiteSpace)) { | ||
format.whiteSpace = whiteSpace; | ||
@@ -14,0 +14,0 @@ } |
@@ -1,2 +0,2 @@ | ||
define(["require", "exports", "../utils/color"], function (require, exports, color_1) { | ||
define(["require", "exports", "../utils/color", "../utils/shouldSetValue"], function (require, exports, color_1, shouldSetValue_1) { | ||
"use strict"; | ||
@@ -11,3 +11,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
var backgroundColor = (0, color_1.getColor)(element, true /*isBackground*/, context.darkColorHandler, !!context.isDarkMode) || defaultStyle.backgroundColor; | ||
if (backgroundColor) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(backgroundColor, 'transparent', undefined /*existingValue*/, defaultStyle.backgroundColor)) { | ||
format.backgroundColor = backgroundColor; | ||
@@ -14,0 +14,0 @@ } |
@@ -13,4 +13,10 @@ define(["require", "exports"], function (require, exports) { | ||
'borderLeft', | ||
'borderRadius', | ||
]; | ||
// This array needs to match BorderKeys array | ||
var BorderWidthKeys = [ | ||
'borderTopWidth', | ||
'borderRightWidth', | ||
'borderBottomWidth', | ||
'borderLeftWidth', | ||
]; | ||
/** | ||
@@ -20,9 +26,19 @@ * @internal | ||
exports.borderFormatHandler = { | ||
parse: function (format, element) { | ||
exports.BorderKeys.forEach(function (key) { | ||
parse: function (format, element, _, defaultStyle) { | ||
exports.BorderKeys.forEach(function (key, i) { | ||
var _a; | ||
var value = element.style[key]; | ||
if (value) { | ||
var defaultWidth = (_a = defaultStyle[BorderWidthKeys[i]]) !== null && _a !== void 0 ? _a : '0px'; | ||
var width = element.style[BorderWidthKeys[i]]; | ||
if (width == '0') { | ||
width = '0px'; | ||
} | ||
if (value && width != defaultWidth) { | ||
format[key] = value == 'none' ? '' : value; | ||
} | ||
}); | ||
var borderRadius = element.style.borderRadius; | ||
if (borderRadius) { | ||
format.borderRadius = borderRadius; | ||
} | ||
}, | ||
@@ -29,0 +45,0 @@ apply: function (format, element) { |
@@ -62,3 +62,3 @@ define(["require", "exports"], function (require, exports) { | ||
? attrValue | ||
: Number.isNaN(value) | ||
: Number.isNaN(value) || value == 0 | ||
? undefined | ||
@@ -65,0 +65,0 @@ : value + 'px'; |
@@ -1,2 +0,2 @@ | ||
define(["require", "exports", "../../domUtils/moveChildNodes"], function (require, exports, moveChildNodes_1) { | ||
define(["require", "exports", "../utils/shouldSetValue", "../../domUtils/moveChildNodes"], function (require, exports, shouldSetValue_1, moveChildNodes_1) { | ||
"use strict"; | ||
@@ -11,3 +11,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
var fontWeight = element.style.fontWeight || defaultStyle.fontWeight; | ||
if (fontWeight) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(fontWeight, '400', format.fontWeight, defaultStyle.fontWeight)) { | ||
format.fontWeight = fontWeight; | ||
@@ -14,0 +14,0 @@ } |
@@ -1,2 +0,2 @@ | ||
define(["require", "exports"], function (require, exports) { | ||
define(["require", "exports", "../utils/shouldSetValue"], function (require, exports, shouldSetValue_1) { | ||
"use strict"; | ||
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.letterSpacingFormatHandler = { | ||
parse: function (format, element, context, defaultStyle) { | ||
parse: function (format, element, _, defaultStyle) { | ||
var letterSpacing = element.style.letterSpacing || defaultStyle.letterSpacing; | ||
if (letterSpacing) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(letterSpacing, 'normal', format.letterSpacing, defaultStyle.letterSpacing)) { | ||
format.letterSpacing = letterSpacing; | ||
} | ||
}, | ||
apply: function (format, element, context) { | ||
apply: function (format, element) { | ||
if (format.letterSpacing) { | ||
@@ -18,0 +18,0 @@ element.style.letterSpacing = format.letterSpacing; |
@@ -6,2 +6,3 @@ define(["require", "exports"], function (require, exports) { | ||
var BorderCollapsed = 'collapse'; | ||
var CellPadding = 'cellPadding'; | ||
/** | ||
@@ -15,2 +16,8 @@ * @internal | ||
} | ||
else { | ||
var cellPadding = element.getAttribute(CellPadding); | ||
if (cellPadding) { | ||
format.borderCollapse = true; | ||
} | ||
} | ||
}, | ||
@@ -17,0 +24,0 @@ apply: function (format, element) { |
@@ -33,2 +33,3 @@ define(["require", "exports"], function (require, exports) { | ||
]; | ||
var BlackColor = 'rgb(0, 0, 0)'; | ||
/** | ||
@@ -46,3 +47,3 @@ * Get color from given HTML element | ||
if (color && exports.DeprecatedColors.indexOf(color) > -1) { | ||
color = undefined; | ||
color = isBackground ? undefined : BlackColor; | ||
} | ||
@@ -49,0 +50,0 @@ if (darkColorHandler) { |
@@ -28,2 +28,3 @@ define(["require", "exports", "tslib"], function (require, exports, tslib_1) { | ||
case 'em': | ||
case 'rem': | ||
result = getFontSize(currentSizePxOrElement) * num; | ||
@@ -30,0 +31,0 @@ break; |
@@ -17,4 +17,5 @@ export { domToContentModel } from './domToModel/domToContentModel'; | ||
export { wrap } from './domUtils/wrap'; | ||
export { AllowedEntityClasses, isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { reuseCachedElement } from './domUtils/reuseCachedElement'; | ||
export { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved'; | ||
export { createBr } from './modelApi/creators/createBr'; | ||
@@ -43,5 +44,4 @@ export { createListItem } from './modelApi/creators/createListItem'; | ||
export { addSegment } from './modelApi/common/addSegment'; | ||
export { isWhiteSpacePreserved } from './modelApi/common/isWhiteSpacePreserved'; | ||
export { isEmpty } from './modelApi/common/isEmpty'; | ||
export { normalizeSingleSegment } from './modelApi/common/normalizeSegment'; | ||
export { applySegmentFormatToElement } from './modelApi/common/applySegmentFormatToElement'; | ||
export { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit'; | ||
@@ -48,0 +48,0 @@ export { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit'; |
@@ -1,5 +0,5 @@ | ||
define(["require", "exports", "./domToModel/domToContentModel", "./modelToDom/contentModelToDom", "./domToModel/processors/childProcessor", "./domToModel/processors/entityProcessor", "./domToModel/processors/tableProcessor", "./domToModel/utils/getRegularSelectionOffsets", "./domToModel/utils/parseFormat", "./domToModel/utils/areSameFormats", "./domToModel/utils/isBlockElement", "./domUtils/metadata/updateMetadata", "./domUtils/isNodeOfType", "./domUtils/isElementOfType", "./domUtils/getObjectKeys", "./domUtils/toArray", "./domUtils/moveChildNodes", "./domUtils/wrap", "./domUtils/entityUtils", "./domUtils/reuseCachedElement", "./modelApi/creators/createBr", "./modelApi/creators/createListItem", "./modelApi/creators/createFormatContainer", "./modelApi/creators/createParagraph", "./modelApi/creators/createSelectionMarker", "./modelApi/creators/createTable", "./modelApi/creators/createTableCell", "./modelApi/creators/createText", "./modelApi/creators/createImage", "./modelApi/creators/createContentModelDocument", "./modelApi/creators/createParagraphDecorator", "./modelApi/creators/createGeneralSegment", "./modelApi/creators/createGeneralBlock", "./modelApi/creators/createEntity", "./modelApi/creators/createDivider", "./modelApi/creators/createListLevel", "./modelApi/common/addBlock", "./modelApi/common/addDecorators", "./modelApi/common/addDecorators", "./modelApi/common/normalizeContentModel", "./modelApi/common/isGeneralSegment", "./modelApi/common/unwrapBlock", "./modelApi/common/addSegment", "./modelApi/common/isWhiteSpacePreserved", "./modelApi/common/normalizeSegment", "./modelApi/common/applySegmentFormatToElement", "./modelApi/block/setParagraphNotImplicit", "./formatHandlers/utils/parseValueWithUnit", "./formatHandlers/common/borderFormatHandler", "./formatHandlers/utils/color", "./domToModel/context/createDomToModelContext", "./modelToDom/context/createModelToDomContext"], function (require, exports, domToContentModel_1, contentModelToDom_1, childProcessor_1, entityProcessor_1, tableProcessor_1, getRegularSelectionOffsets_1, parseFormat_1, areSameFormats_1, isBlockElement_1, updateMetadata_1, isNodeOfType_1, isElementOfType_1, getObjectKeys_1, toArray_1, moveChildNodes_1, wrap_1, entityUtils_1, reuseCachedElement_1, createBr_1, createListItem_1, createFormatContainer_1, createParagraph_1, createSelectionMarker_1, createTable_1, createTableCell_1, createText_1, createImage_1, createContentModelDocument_1, createParagraphDecorator_1, createGeneralSegment_1, createGeneralBlock_1, createEntity_1, createDivider_1, createListLevel_1, addBlock_1, addDecorators_1, addDecorators_2, normalizeContentModel_1, isGeneralSegment_1, unwrapBlock_1, addSegment_1, isWhiteSpacePreserved_1, normalizeSegment_1, applySegmentFormatToElement_1, setParagraphNotImplicit_1, parseValueWithUnit_1, borderFormatHandler_1, color_1, createDomToModelContext_1, createModelToDomContext_1) { | ||
define(["require", "exports", "./domToModel/domToContentModel", "./modelToDom/contentModelToDom", "./domToModel/processors/childProcessor", "./domToModel/processors/entityProcessor", "./domToModel/processors/tableProcessor", "./domToModel/utils/getRegularSelectionOffsets", "./domToModel/utils/parseFormat", "./domToModel/utils/areSameFormats", "./domToModel/utils/isBlockElement", "./domUtils/metadata/updateMetadata", "./domUtils/isNodeOfType", "./domUtils/isElementOfType", "./domUtils/getObjectKeys", "./domUtils/toArray", "./domUtils/moveChildNodes", "./domUtils/wrap", "./domUtils/entityUtils", "./domUtils/reuseCachedElement", "./domUtils/isWhiteSpacePreserved", "./modelApi/creators/createBr", "./modelApi/creators/createListItem", "./modelApi/creators/createFormatContainer", "./modelApi/creators/createParagraph", "./modelApi/creators/createSelectionMarker", "./modelApi/creators/createTable", "./modelApi/creators/createTableCell", "./modelApi/creators/createText", "./modelApi/creators/createImage", "./modelApi/creators/createContentModelDocument", "./modelApi/creators/createParagraphDecorator", "./modelApi/creators/createGeneralSegment", "./modelApi/creators/createGeneralBlock", "./modelApi/creators/createEntity", "./modelApi/creators/createDivider", "./modelApi/creators/createListLevel", "./modelApi/common/addBlock", "./modelApi/common/addDecorators", "./modelApi/common/addDecorators", "./modelApi/common/normalizeContentModel", "./modelApi/common/isGeneralSegment", "./modelApi/common/unwrapBlock", "./modelApi/common/addSegment", "./modelApi/common/isEmpty", "./modelApi/common/normalizeSegment", "./modelApi/block/setParagraphNotImplicit", "./formatHandlers/utils/parseValueWithUnit", "./formatHandlers/common/borderFormatHandler", "./formatHandlers/utils/color", "./domToModel/context/createDomToModelContext", "./modelToDom/context/createModelToDomContext"], function (require, exports, domToContentModel_1, contentModelToDom_1, childProcessor_1, entityProcessor_1, tableProcessor_1, getRegularSelectionOffsets_1, parseFormat_1, areSameFormats_1, isBlockElement_1, updateMetadata_1, isNodeOfType_1, isElementOfType_1, getObjectKeys_1, toArray_1, moveChildNodes_1, wrap_1, entityUtils_1, reuseCachedElement_1, isWhiteSpacePreserved_1, createBr_1, createListItem_1, createFormatContainer_1, createParagraph_1, createSelectionMarker_1, createTable_1, createTableCell_1, createText_1, createImage_1, createContentModelDocument_1, createParagraphDecorator_1, createGeneralSegment_1, createGeneralBlock_1, createEntity_1, createDivider_1, createListLevel_1, addBlock_1, addDecorators_1, addDecorators_2, normalizeContentModel_1, isGeneralSegment_1, unwrapBlock_1, addSegment_1, isEmpty_1, normalizeSegment_1, setParagraphNotImplicit_1, parseValueWithUnit_1, borderFormatHandler_1, color_1, createDomToModelContext_1, createModelToDomContext_1) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.setParagraphNotImplicit = exports.applySegmentFormatToElement = exports.normalizeSingleSegment = exports.isWhiteSpacePreserved = exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.normalizeContentModel = exports.addLink = exports.addCode = exports.addBlock = exports.createListLevel = exports.createDivider = exports.createEntity = exports.createGeneralBlock = exports.createGeneralSegment = exports.createParagraphDecorator = exports.createContentModelDocument = exports.createImage = exports.createText = exports.createTableCell = exports.createTable = exports.createSelectionMarker = exports.createParagraph = exports.createFormatContainer = exports.createListItem = exports.createBr = exports.reuseCachedElement = exports.addDelimiters = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = exports.AllowedEntityClasses = exports.wrap = exports.wrapAllChildNodes = exports.moveChildNodes = exports.toArray = exports.getObjectKeys = exports.isElementOfType = exports.isNodeOfType = exports.hasMetadata = exports.updateMetadata = exports.isBlockElement = exports.areSameFormats = exports.parseFormat = exports.getRegularSelectionOffsets = exports.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToDom = exports.domToContentModel = void 0; | ||
exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.setParagraphNotImplicit = exports.normalizeSingleSegment = exports.isEmpty = exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.normalizeContentModel = exports.addLink = exports.addCode = exports.addBlock = exports.createListLevel = exports.createDivider = exports.createEntity = exports.createGeneralBlock = exports.createGeneralSegment = exports.createParagraphDecorator = exports.createContentModelDocument = exports.createImage = exports.createText = exports.createTableCell = exports.createTable = exports.createSelectionMarker = exports.createParagraph = exports.createFormatContainer = exports.createListItem = exports.createBr = exports.isWhiteSpacePreserved = exports.reuseCachedElement = exports.addDelimiters = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = exports.wrap = exports.wrapAllChildNodes = exports.moveChildNodes = exports.toArray = exports.getObjectKeys = exports.isElementOfType = exports.isNodeOfType = exports.hasMetadata = exports.updateMetadata = exports.isBlockElement = exports.areSameFormats = exports.parseFormat = exports.getRegularSelectionOffsets = exports.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToDom = exports.domToContentModel = void 0; | ||
Object.defineProperty(exports, "domToContentModel", { enumerable: true, get: function () { return domToContentModel_1.domToContentModel; } }); | ||
@@ -25,3 +25,2 @@ Object.defineProperty(exports, "contentModelToDom", { enumerable: true, get: function () { return contentModelToDom_1.contentModelToDom; } }); | ||
Object.defineProperty(exports, "wrap", { enumerable: true, get: function () { return wrap_1.wrap; } }); | ||
Object.defineProperty(exports, "AllowedEntityClasses", { enumerable: true, get: function () { return entityUtils_1.AllowedEntityClasses; } }); | ||
Object.defineProperty(exports, "isEntityElement", { enumerable: true, get: function () { return entityUtils_1.isEntityElement; } }); | ||
@@ -33,2 +32,3 @@ Object.defineProperty(exports, "getAllEntityWrappers", { enumerable: true, get: function () { return entityUtils_1.getAllEntityWrappers; } }); | ||
Object.defineProperty(exports, "reuseCachedElement", { enumerable: true, get: function () { return reuseCachedElement_1.reuseCachedElement; } }); | ||
Object.defineProperty(exports, "isWhiteSpacePreserved", { enumerable: true, get: function () { return isWhiteSpacePreserved_1.isWhiteSpacePreserved; } }); | ||
Object.defineProperty(exports, "createBr", { enumerable: true, get: function () { return createBr_1.createBr; } }); | ||
@@ -57,5 +57,4 @@ Object.defineProperty(exports, "createListItem", { enumerable: true, get: function () { return createListItem_1.createListItem; } }); | ||
Object.defineProperty(exports, "addSegment", { enumerable: true, get: function () { return addSegment_1.addSegment; } }); | ||
Object.defineProperty(exports, "isWhiteSpacePreserved", { enumerable: true, get: function () { return isWhiteSpacePreserved_1.isWhiteSpacePreserved; } }); | ||
Object.defineProperty(exports, "isEmpty", { enumerable: true, get: function () { return isEmpty_1.isEmpty; } }); | ||
Object.defineProperty(exports, "normalizeSingleSegment", { enumerable: true, get: function () { return normalizeSegment_1.normalizeSingleSegment; } }); | ||
Object.defineProperty(exports, "applySegmentFormatToElement", { enumerable: true, get: function () { return applySegmentFormatToElement_1.applySegmentFormatToElement; } }); | ||
Object.defineProperty(exports, "setParagraphNotImplicit", { enumerable: true, get: function () { return setParagraphNotImplicit_1.setParagraphNotImplicit; } }); | ||
@@ -62,0 +61,0 @@ Object.defineProperty(exports, "parseValueWithUnit", { enumerable: true, get: function () { return parseValueWithUnit_1.parseValueWithUnit; } }); |
@@ -15,4 +15,5 @@ import type { ContentModelBlock, ContentModelBlockGroup, ContentModelSegment } from 'roosterjs-content-model-types'; | ||
/** | ||
* @internal | ||
* Get whether the model is empty. | ||
* @returns true if the model is empty. | ||
*/ | ||
export declare function isEmpty(model: ContentModelBlock | ContentModelBlockGroup | ContentModelSegment): boolean; |
@@ -57,3 +57,4 @@ define(["require", "exports"], function (require, exports) { | ||
/** | ||
* @internal | ||
* Get whether the model is empty. | ||
* @returns true if the model is empty. | ||
*/ | ||
@@ -60,0 +61,0 @@ function isEmpty(model) { |
@@ -1,2 +0,2 @@ | ||
define(["require", "exports", "../../domToModel/utils/areSameFormats", "../creators/createBr", "./isEmpty", "./isWhiteSpacePreserved", "./normalizeSegment"], function (require, exports, areSameFormats_1, createBr_1, isEmpty_1, isWhiteSpacePreserved_1, normalizeSegment_1) { | ||
define(["require", "exports", "../../domToModel/utils/areSameFormats", "../creators/createBr", "./isEmpty", "../../domUtils/isWhiteSpacePreserved", "./normalizeSegment"], function (require, exports, areSameFormats_1, createBr_1, isEmpty_1, isWhiteSpacePreserved_1, normalizeSegment_1) { | ||
"use strict"; | ||
@@ -27,3 +27,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
} | ||
if (!(0, isWhiteSpacePreserved_1.isWhiteSpacePreserved)(paragraph)) { | ||
if (!(0, isWhiteSpacePreserved_1.isWhiteSpacePreserved)(paragraph.format.whiteSpace)) { | ||
(0, normalizeSegment_1.normalizeAllSegments)(paragraph); | ||
@@ -30,0 +30,0 @@ } |
@@ -8,2 +8,3 @@ import { addDecorators } from '../../modelApi/common/addDecorators'; | ||
import { hasSpacesOnly } from '../../modelApi/common/hasSpacesOnly'; | ||
import { isWhiteSpacePreserved } from '../../domUtils/isWhiteSpacePreserved'; | ||
/** | ||
@@ -41,4 +42,2 @@ * @internal | ||
}; | ||
// When we see these values of white-space style, need to preserve spaces and line-breaks and let browser handle it for us. | ||
var WhiteSpaceValuesNeedToHandle = ['pre', 'pre-wrap', 'pre-line', 'break-spaces']; | ||
function addTextSegment(group, text, paragraph, context) { | ||
@@ -50,3 +49,3 @@ var _a; | ||
((_a = paragraph === null || paragraph === void 0 ? void 0 : paragraph.segments.length) !== null && _a !== void 0 ? _a : 0) > 0 || | ||
WhiteSpaceValuesNeedToHandle.indexOf((paragraph === null || paragraph === void 0 ? void 0 : paragraph.format.whiteSpace) || '') >= 0) { | ||
isWhiteSpacePreserved(paragraph === null || paragraph === void 0 ? void 0 : paragraph.format.whiteSpace)) { | ||
textModel = createText(text, context.segmentFormat); | ||
@@ -53,0 +52,0 @@ if (context.isInSelection) { |
@@ -33,6 +33,1 @@ import type { ContentModelEntityFormat } from 'roosterjs-content-model-types'; | ||
export declare function addDelimiters(doc: Document, element: HTMLElement): HTMLElement[]; | ||
/** | ||
* Allowed CSS selector for entity, used by HtmlSanitizer. | ||
* TODO: Revisit paste logic and check if we can remove HtmlSanitizer | ||
*/ | ||
export declare const AllowedEntityClasses: ReadonlyArray<string>; |
@@ -98,14 +98,2 @@ import { __read } from "tslib"; | ||
} | ||
/** | ||
* Allowed CSS selector for entity, used by HtmlSanitizer. | ||
* TODO: Revisit paste logic and check if we can remove HtmlSanitizer | ||
*/ | ||
export var AllowedEntityClasses = [ | ||
'^' + ENTITY_INFO_NAME + '$', | ||
'^' + ENTITY_ID_PREFIX, | ||
'^' + ENTITY_TYPE_PREFIX, | ||
'^' + ENTITY_READONLY_PREFIX, | ||
'^' + DELIMITER_BEFORE + '$', | ||
'^' + DELIMITER_AFTER + '$', | ||
]; | ||
//# sourceMappingURL=entityUtils.js.map |
@@ -11,6 +11,11 @@ var PaddingKeys = [ | ||
export var paddingFormatHandler = { | ||
parse: function (format, element) { | ||
parse: function (format, element, _, defaultStyle) { | ||
PaddingKeys.forEach(function (key) { | ||
var _a; | ||
var value = element.style[key]; | ||
if (value) { | ||
var defaultValue = (_a = defaultStyle[key]) !== null && _a !== void 0 ? _a : '0px'; | ||
if (value == '0') { | ||
value = '0px'; | ||
} | ||
if (value && value != defaultValue) { | ||
format[key] = value; | ||
@@ -17,0 +22,0 @@ } |
@@ -0,1 +1,2 @@ | ||
import { shouldSetValue } from '../utils/shouldSetValue'; | ||
/** | ||
@@ -7,3 +8,3 @@ * @internal | ||
var whiteSpace = element.style.whiteSpace || defaultStyle.whiteSpace; | ||
if (whiteSpace) { | ||
if (shouldSetValue(whiteSpace, 'normal', format.whiteSpace, defaultStyle.whiteSpace)) { | ||
format.whiteSpace = whiteSpace; | ||
@@ -10,0 +11,0 @@ } |
import { getColor, setColor } from '../utils/color'; | ||
import { shouldSetValue } from '../utils/shouldSetValue'; | ||
/** | ||
@@ -8,3 +9,3 @@ * @internal | ||
var backgroundColor = getColor(element, true /*isBackground*/, context.darkColorHandler, !!context.isDarkMode) || defaultStyle.backgroundColor; | ||
if (backgroundColor) { | ||
if (shouldSetValue(backgroundColor, 'transparent', undefined /*existingValue*/, defaultStyle.backgroundColor)) { | ||
format.backgroundColor = backgroundColor; | ||
@@ -11,0 +12,0 @@ } |
@@ -9,4 +9,10 @@ /** | ||
'borderLeft', | ||
'borderRadius', | ||
]; | ||
// This array needs to match BorderKeys array | ||
var BorderWidthKeys = [ | ||
'borderTopWidth', | ||
'borderRightWidth', | ||
'borderBottomWidth', | ||
'borderLeftWidth', | ||
]; | ||
/** | ||
@@ -16,9 +22,19 @@ * @internal | ||
export var borderFormatHandler = { | ||
parse: function (format, element) { | ||
BorderKeys.forEach(function (key) { | ||
parse: function (format, element, _, defaultStyle) { | ||
BorderKeys.forEach(function (key, i) { | ||
var _a; | ||
var value = element.style[key]; | ||
if (value) { | ||
var defaultWidth = (_a = defaultStyle[BorderWidthKeys[i]]) !== null && _a !== void 0 ? _a : '0px'; | ||
var width = element.style[BorderWidthKeys[i]]; | ||
if (width == '0') { | ||
width = '0px'; | ||
} | ||
if (value && width != defaultWidth) { | ||
format[key] = value == 'none' ? '' : value; | ||
} | ||
}); | ||
var borderRadius = element.style.borderRadius; | ||
if (borderRadius) { | ||
format.borderRadius = borderRadius; | ||
} | ||
}, | ||
@@ -25,0 +41,0 @@ apply: function (format, element) { |
@@ -58,3 +58,3 @@ var PercentageRegex = /[\d\.]+%/; | ||
? attrValue | ||
: Number.isNaN(value) | ||
: Number.isNaN(value) || value == 0 | ||
? undefined | ||
@@ -61,0 +61,0 @@ : value + 'px'; |
@@ -0,1 +1,2 @@ | ||
import { shouldSetValue } from '../utils/shouldSetValue'; | ||
import { wrapAllChildNodes } from '../../domUtils/moveChildNodes'; | ||
@@ -8,3 +9,3 @@ /** | ||
var fontWeight = element.style.fontWeight || defaultStyle.fontWeight; | ||
if (fontWeight) { | ||
if (shouldSetValue(fontWeight, '400', format.fontWeight, defaultStyle.fontWeight)) { | ||
format.fontWeight = fontWeight; | ||
@@ -11,0 +12,0 @@ } |
@@ -0,1 +1,2 @@ | ||
import { shouldSetValue } from '../utils/shouldSetValue'; | ||
/** | ||
@@ -5,9 +6,9 @@ * @internal | ||
export var letterSpacingFormatHandler = { | ||
parse: function (format, element, context, defaultStyle) { | ||
parse: function (format, element, _, defaultStyle) { | ||
var letterSpacing = element.style.letterSpacing || defaultStyle.letterSpacing; | ||
if (letterSpacing) { | ||
if (shouldSetValue(letterSpacing, 'normal', format.letterSpacing, defaultStyle.letterSpacing)) { | ||
format.letterSpacing = letterSpacing; | ||
} | ||
}, | ||
apply: function (format, element, context) { | ||
apply: function (format, element) { | ||
if (format.letterSpacing) { | ||
@@ -14,0 +15,0 @@ element.style.letterSpacing = format.letterSpacing; |
var BorderCollapsed = 'collapse'; | ||
var CellPadding = 'cellPadding'; | ||
/** | ||
@@ -10,2 +11,8 @@ * @internal | ||
} | ||
else { | ||
var cellPadding = element.getAttribute(CellPadding); | ||
if (cellPadding) { | ||
format.borderCollapse = true; | ||
} | ||
} | ||
}, | ||
@@ -12,0 +19,0 @@ apply: function (format, element) { |
@@ -29,2 +29,3 @@ /** | ||
]; | ||
var BlackColor = 'rgb(0, 0, 0)'; | ||
/** | ||
@@ -42,3 +43,3 @@ * Get color from given HTML element | ||
if (color && DeprecatedColors.indexOf(color) > -1) { | ||
color = undefined; | ||
color = isBackground ? undefined : BlackColor; | ||
} | ||
@@ -45,0 +46,0 @@ if (darkColorHandler) { |
@@ -25,2 +25,3 @@ import { __read } from "tslib"; | ||
case 'em': | ||
case 'rem': | ||
result = getFontSize(currentSizePxOrElement) * num; | ||
@@ -27,0 +28,0 @@ break; |
@@ -17,4 +17,5 @@ export { domToContentModel } from './domToModel/domToContentModel'; | ||
export { wrap } from './domUtils/wrap'; | ||
export { AllowedEntityClasses, isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { reuseCachedElement } from './domUtils/reuseCachedElement'; | ||
export { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved'; | ||
export { createBr } from './modelApi/creators/createBr'; | ||
@@ -43,5 +44,4 @@ export { createListItem } from './modelApi/creators/createListItem'; | ||
export { addSegment } from './modelApi/common/addSegment'; | ||
export { isWhiteSpacePreserved } from './modelApi/common/isWhiteSpacePreserved'; | ||
export { isEmpty } from './modelApi/common/isEmpty'; | ||
export { normalizeSingleSegment } from './modelApi/common/normalizeSegment'; | ||
export { applySegmentFormatToElement } from './modelApi/common/applySegmentFormatToElement'; | ||
export { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit'; | ||
@@ -48,0 +48,0 @@ export { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit'; |
@@ -17,4 +17,5 @@ export { domToContentModel } from './domToModel/domToContentModel'; | ||
export { wrap } from './domUtils/wrap'; | ||
export { AllowedEntityClasses, isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { reuseCachedElement } from './domUtils/reuseCachedElement'; | ||
export { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved'; | ||
export { createBr } from './modelApi/creators/createBr'; | ||
@@ -43,5 +44,4 @@ export { createListItem } from './modelApi/creators/createListItem'; | ||
export { addSegment } from './modelApi/common/addSegment'; | ||
export { isWhiteSpacePreserved } from './modelApi/common/isWhiteSpacePreserved'; | ||
export { isEmpty } from './modelApi/common/isEmpty'; | ||
export { normalizeSingleSegment } from './modelApi/common/normalizeSegment'; | ||
export { applySegmentFormatToElement } from './modelApi/common/applySegmentFormatToElement'; | ||
export { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit'; | ||
@@ -48,0 +48,0 @@ export { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit'; |
@@ -15,4 +15,5 @@ import type { ContentModelBlock, ContentModelBlockGroup, ContentModelSegment } from 'roosterjs-content-model-types'; | ||
/** | ||
* @internal | ||
* Get whether the model is empty. | ||
* @returns true if the model is empty. | ||
*/ | ||
export declare function isEmpty(model: ContentModelBlock | ContentModelBlockGroup | ContentModelSegment): boolean; |
@@ -50,3 +50,4 @@ /** | ||
/** | ||
* @internal | ||
* Get whether the model is empty. | ||
* @returns true if the model is empty. | ||
*/ | ||
@@ -53,0 +54,0 @@ export function isEmpty(model) { |
import { areSameFormats } from '../../domToModel/utils/areSameFormats'; | ||
import { createBr } from '../creators/createBr'; | ||
import { isSegmentEmpty } from './isEmpty'; | ||
import { isWhiteSpacePreserved } from './isWhiteSpacePreserved'; | ||
import { isWhiteSpacePreserved } from '../../domUtils/isWhiteSpacePreserved'; | ||
import { normalizeAllSegments } from './normalizeSegment'; | ||
@@ -28,3 +28,3 @@ /** | ||
} | ||
if (!isWhiteSpacePreserved(paragraph)) { | ||
if (!isWhiteSpacePreserved(paragraph.format.whiteSpace)) { | ||
normalizeAllSegments(paragraph); | ||
@@ -31,0 +31,0 @@ } |
@@ -11,2 +11,3 @@ "use strict"; | ||
var hasSpacesOnly_1 = require("../../modelApi/common/hasSpacesOnly"); | ||
var isWhiteSpacePreserved_1 = require("../../domUtils/isWhiteSpacePreserved"); | ||
/** | ||
@@ -45,4 +46,2 @@ * @internal | ||
exports.textProcessor = textProcessor; | ||
// When we see these values of white-space style, need to preserve spaces and line-breaks and let browser handle it for us. | ||
var WhiteSpaceValuesNeedToHandle = ['pre', 'pre-wrap', 'pre-line', 'break-spaces']; | ||
function addTextSegment(group, text, paragraph, context) { | ||
@@ -54,3 +53,3 @@ var _a; | ||
((_a = paragraph === null || paragraph === void 0 ? void 0 : paragraph.segments.length) !== null && _a !== void 0 ? _a : 0) > 0 || | ||
WhiteSpaceValuesNeedToHandle.indexOf((paragraph === null || paragraph === void 0 ? void 0 : paragraph.format.whiteSpace) || '') >= 0) { | ||
(0, isWhiteSpacePreserved_1.isWhiteSpacePreserved)(paragraph === null || paragraph === void 0 ? void 0 : paragraph.format.whiteSpace)) { | ||
textModel = (0, createText_1.createText)(text, context.segmentFormat); | ||
@@ -57,0 +56,0 @@ if (context.isInSelection) { |
@@ -33,6 +33,1 @@ import type { ContentModelEntityFormat } from 'roosterjs-content-model-types'; | ||
export declare function addDelimiters(doc: Document, element: HTMLElement): HTMLElement[]; | ||
/** | ||
* Allowed CSS selector for entity, used by HtmlSanitizer. | ||
* TODO: Revisit paste logic and check if we can remove HtmlSanitizer | ||
*/ | ||
export declare const AllowedEntityClasses: ReadonlyArray<string>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.AllowedEntityClasses = exports.addDelimiters = exports.isEntityDelimiter = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = void 0; | ||
exports.addDelimiters = exports.isEntityDelimiter = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = void 0; | ||
var tslib_1 = require("tslib"); | ||
@@ -107,14 +107,2 @@ var toArray_1 = require("./toArray"); | ||
} | ||
/** | ||
* Allowed CSS selector for entity, used by HtmlSanitizer. | ||
* TODO: Revisit paste logic and check if we can remove HtmlSanitizer | ||
*/ | ||
exports.AllowedEntityClasses = [ | ||
'^' + ENTITY_INFO_NAME + '$', | ||
'^' + ENTITY_ID_PREFIX, | ||
'^' + ENTITY_TYPE_PREFIX, | ||
'^' + ENTITY_READONLY_PREFIX, | ||
'^' + DELIMITER_BEFORE + '$', | ||
'^' + DELIMITER_AFTER + '$', | ||
]; | ||
//# sourceMappingURL=entityUtils.js.map |
@@ -14,6 +14,11 @@ "use strict"; | ||
exports.paddingFormatHandler = { | ||
parse: function (format, element) { | ||
parse: function (format, element, _, defaultStyle) { | ||
PaddingKeys.forEach(function (key) { | ||
var _a; | ||
var value = element.style[key]; | ||
if (value) { | ||
var defaultValue = (_a = defaultStyle[key]) !== null && _a !== void 0 ? _a : '0px'; | ||
if (value == '0') { | ||
value = '0px'; | ||
} | ||
if (value && value != defaultValue) { | ||
format[key] = value; | ||
@@ -20,0 +25,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.whiteSpaceFormatHandler = void 0; | ||
var shouldSetValue_1 = require("../utils/shouldSetValue"); | ||
/** | ||
@@ -10,3 +11,3 @@ * @internal | ||
var whiteSpace = element.style.whiteSpace || defaultStyle.whiteSpace; | ||
if (whiteSpace) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(whiteSpace, 'normal', format.whiteSpace, defaultStyle.whiteSpace)) { | ||
format.whiteSpace = whiteSpace; | ||
@@ -13,0 +14,0 @@ } |
@@ -5,2 +5,3 @@ "use strict"; | ||
var color_1 = require("../utils/color"); | ||
var shouldSetValue_1 = require("../utils/shouldSetValue"); | ||
/** | ||
@@ -12,3 +13,3 @@ * @internal | ||
var backgroundColor = (0, color_1.getColor)(element, true /*isBackground*/, context.darkColorHandler, !!context.isDarkMode) || defaultStyle.backgroundColor; | ||
if (backgroundColor) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(backgroundColor, 'transparent', undefined /*existingValue*/, defaultStyle.backgroundColor)) { | ||
format.backgroundColor = backgroundColor; | ||
@@ -15,0 +16,0 @@ } |
@@ -12,4 +12,10 @@ "use strict"; | ||
'borderLeft', | ||
'borderRadius', | ||
]; | ||
// This array needs to match BorderKeys array | ||
var BorderWidthKeys = [ | ||
'borderTopWidth', | ||
'borderRightWidth', | ||
'borderBottomWidth', | ||
'borderLeftWidth', | ||
]; | ||
/** | ||
@@ -19,9 +25,19 @@ * @internal | ||
exports.borderFormatHandler = { | ||
parse: function (format, element) { | ||
exports.BorderKeys.forEach(function (key) { | ||
parse: function (format, element, _, defaultStyle) { | ||
exports.BorderKeys.forEach(function (key, i) { | ||
var _a; | ||
var value = element.style[key]; | ||
if (value) { | ||
var defaultWidth = (_a = defaultStyle[BorderWidthKeys[i]]) !== null && _a !== void 0 ? _a : '0px'; | ||
var width = element.style[BorderWidthKeys[i]]; | ||
if (width == '0') { | ||
width = '0px'; | ||
} | ||
if (value && width != defaultWidth) { | ||
format[key] = value == 'none' ? '' : value; | ||
} | ||
}); | ||
var borderRadius = element.style.borderRadius; | ||
if (borderRadius) { | ||
format.borderRadius = borderRadius; | ||
} | ||
}, | ||
@@ -28,0 +44,0 @@ apply: function (format, element) { |
@@ -61,3 +61,3 @@ "use strict"; | ||
? attrValue | ||
: Number.isNaN(value) | ||
: Number.isNaN(value) || value == 0 | ||
? undefined | ||
@@ -64,0 +64,0 @@ : value + 'px'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.boldFormatHandler = void 0; | ||
var shouldSetValue_1 = require("../utils/shouldSetValue"); | ||
var moveChildNodes_1 = require("../../domUtils/moveChildNodes"); | ||
@@ -11,3 +12,3 @@ /** | ||
var fontWeight = element.style.fontWeight || defaultStyle.fontWeight; | ||
if (fontWeight) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(fontWeight, '400', format.fontWeight, defaultStyle.fontWeight)) { | ||
format.fontWeight = fontWeight; | ||
@@ -14,0 +15,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.letterSpacingFormatHandler = void 0; | ||
var shouldSetValue_1 = require("../utils/shouldSetValue"); | ||
/** | ||
@@ -8,9 +9,9 @@ * @internal | ||
exports.letterSpacingFormatHandler = { | ||
parse: function (format, element, context, defaultStyle) { | ||
parse: function (format, element, _, defaultStyle) { | ||
var letterSpacing = element.style.letterSpacing || defaultStyle.letterSpacing; | ||
if (letterSpacing) { | ||
if ((0, shouldSetValue_1.shouldSetValue)(letterSpacing, 'normal', format.letterSpacing, defaultStyle.letterSpacing)) { | ||
format.letterSpacing = letterSpacing; | ||
} | ||
}, | ||
apply: function (format, element, context) { | ||
apply: function (format, element) { | ||
if (format.letterSpacing) { | ||
@@ -17,0 +18,0 @@ element.style.letterSpacing = format.letterSpacing; |
@@ -5,2 +5,3 @@ "use strict"; | ||
var BorderCollapsed = 'collapse'; | ||
var CellPadding = 'cellPadding'; | ||
/** | ||
@@ -14,2 +15,8 @@ * @internal | ||
} | ||
else { | ||
var cellPadding = element.getAttribute(CellPadding); | ||
if (cellPadding) { | ||
format.borderCollapse = true; | ||
} | ||
} | ||
}, | ||
@@ -16,0 +23,0 @@ apply: function (format, element) { |
@@ -32,2 +32,3 @@ "use strict"; | ||
]; | ||
var BlackColor = 'rgb(0, 0, 0)'; | ||
/** | ||
@@ -45,3 +46,3 @@ * Get color from given HTML element | ||
if (color && exports.DeprecatedColors.indexOf(color) > -1) { | ||
color = undefined; | ||
color = isBackground ? undefined : BlackColor; | ||
} | ||
@@ -48,0 +49,0 @@ if (darkColorHandler) { |
@@ -28,2 +28,3 @@ "use strict"; | ||
case 'em': | ||
case 'rem': | ||
result = getFontSize(currentSizePxOrElement) * num; | ||
@@ -30,0 +31,0 @@ break; |
@@ -17,4 +17,5 @@ export { domToContentModel } from './domToModel/domToContentModel'; | ||
export { wrap } from './domUtils/wrap'; | ||
export { AllowedEntityClasses, isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { isEntityElement, getAllEntityWrappers, parseEntityClassName, generateEntityClassNames, addDelimiters, } from './domUtils/entityUtils'; | ||
export { reuseCachedElement } from './domUtils/reuseCachedElement'; | ||
export { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved'; | ||
export { createBr } from './modelApi/creators/createBr'; | ||
@@ -43,5 +44,4 @@ export { createListItem } from './modelApi/creators/createListItem'; | ||
export { addSegment } from './modelApi/common/addSegment'; | ||
export { isWhiteSpacePreserved } from './modelApi/common/isWhiteSpacePreserved'; | ||
export { isEmpty } from './modelApi/common/isEmpty'; | ||
export { normalizeSingleSegment } from './modelApi/common/normalizeSegment'; | ||
export { applySegmentFormatToElement } from './modelApi/common/applySegmentFormatToElement'; | ||
export { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit'; | ||
@@ -48,0 +48,0 @@ export { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.normalizeContentModel = exports.addLink = exports.addCode = exports.addBlock = exports.createListLevel = exports.createDivider = exports.createEntity = exports.createGeneralBlock = exports.createGeneralSegment = exports.createParagraphDecorator = exports.createContentModelDocument = exports.createImage = exports.createText = exports.createTableCell = exports.createTable = exports.createSelectionMarker = exports.createParagraph = exports.createFormatContainer = exports.createListItem = exports.createBr = exports.reuseCachedElement = exports.addDelimiters = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = exports.AllowedEntityClasses = exports.wrap = exports.wrapAllChildNodes = exports.moveChildNodes = exports.toArray = exports.getObjectKeys = exports.isElementOfType = exports.isNodeOfType = exports.hasMetadata = exports.updateMetadata = exports.isBlockElement = exports.areSameFormats = exports.parseFormat = exports.getRegularSelectionOffsets = exports.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToDom = exports.domToContentModel = void 0; | ||
exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.setParagraphNotImplicit = exports.applySegmentFormatToElement = exports.normalizeSingleSegment = exports.isWhiteSpacePreserved = void 0; | ||
exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.normalizeContentModel = exports.addLink = exports.addCode = exports.addBlock = exports.createListLevel = exports.createDivider = exports.createEntity = exports.createGeneralBlock = exports.createGeneralSegment = exports.createParagraphDecorator = exports.createContentModelDocument = exports.createImage = exports.createText = exports.createTableCell = exports.createTable = exports.createSelectionMarker = exports.createParagraph = exports.createFormatContainer = exports.createListItem = exports.createBr = exports.isWhiteSpacePreserved = exports.reuseCachedElement = exports.addDelimiters = exports.generateEntityClassNames = exports.parseEntityClassName = exports.getAllEntityWrappers = exports.isEntityElement = exports.wrap = exports.wrapAllChildNodes = exports.moveChildNodes = exports.toArray = exports.getObjectKeys = exports.isElementOfType = exports.isNodeOfType = exports.hasMetadata = exports.updateMetadata = exports.isBlockElement = exports.areSameFormats = exports.parseFormat = exports.getRegularSelectionOffsets = exports.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToDom = exports.domToContentModel = void 0; | ||
exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.setParagraphNotImplicit = exports.normalizeSingleSegment = exports.isEmpty = void 0; | ||
var domToContentModel_1 = require("./domToModel/domToContentModel"); | ||
@@ -42,3 +42,2 @@ Object.defineProperty(exports, "domToContentModel", { enumerable: true, get: function () { return domToContentModel_1.domToContentModel; } }); | ||
var entityUtils_1 = require("./domUtils/entityUtils"); | ||
Object.defineProperty(exports, "AllowedEntityClasses", { enumerable: true, get: function () { return entityUtils_1.AllowedEntityClasses; } }); | ||
Object.defineProperty(exports, "isEntityElement", { enumerable: true, get: function () { return entityUtils_1.isEntityElement; } }); | ||
@@ -51,2 +50,4 @@ Object.defineProperty(exports, "getAllEntityWrappers", { enumerable: true, get: function () { return entityUtils_1.getAllEntityWrappers; } }); | ||
Object.defineProperty(exports, "reuseCachedElement", { enumerable: true, get: function () { return reuseCachedElement_1.reuseCachedElement; } }); | ||
var isWhiteSpacePreserved_1 = require("./domUtils/isWhiteSpacePreserved"); | ||
Object.defineProperty(exports, "isWhiteSpacePreserved", { enumerable: true, get: function () { return isWhiteSpacePreserved_1.isWhiteSpacePreserved; } }); | ||
var createBr_1 = require("./modelApi/creators/createBr"); | ||
@@ -98,8 +99,6 @@ Object.defineProperty(exports, "createBr", { enumerable: true, get: function () { return createBr_1.createBr; } }); | ||
Object.defineProperty(exports, "addSegment", { enumerable: true, get: function () { return addSegment_1.addSegment; } }); | ||
var isWhiteSpacePreserved_1 = require("./modelApi/common/isWhiteSpacePreserved"); | ||
Object.defineProperty(exports, "isWhiteSpacePreserved", { enumerable: true, get: function () { return isWhiteSpacePreserved_1.isWhiteSpacePreserved; } }); | ||
var isEmpty_1 = require("./modelApi/common/isEmpty"); | ||
Object.defineProperty(exports, "isEmpty", { enumerable: true, get: function () { return isEmpty_1.isEmpty; } }); | ||
var normalizeSegment_1 = require("./modelApi/common/normalizeSegment"); | ||
Object.defineProperty(exports, "normalizeSingleSegment", { enumerable: true, get: function () { return normalizeSegment_1.normalizeSingleSegment; } }); | ||
var applySegmentFormatToElement_1 = require("./modelApi/common/applySegmentFormatToElement"); | ||
Object.defineProperty(exports, "applySegmentFormatToElement", { enumerable: true, get: function () { return applySegmentFormatToElement_1.applySegmentFormatToElement; } }); | ||
var setParagraphNotImplicit_1 = require("./modelApi/block/setParagraphNotImplicit"); | ||
@@ -106,0 +105,0 @@ Object.defineProperty(exports, "setParagraphNotImplicit", { enumerable: true, get: function () { return setParagraphNotImplicit_1.setParagraphNotImplicit; } }); |
@@ -15,4 +15,5 @@ import type { ContentModelBlock, ContentModelBlockGroup, ContentModelSegment } from 'roosterjs-content-model-types'; | ||
/** | ||
* @internal | ||
* Get whether the model is empty. | ||
* @returns true if the model is empty. | ||
*/ | ||
export declare function isEmpty(model: ContentModelBlock | ContentModelBlockGroup | ContentModelSegment): boolean; |
@@ -56,3 +56,4 @@ "use strict"; | ||
/** | ||
* @internal | ||
* Get whether the model is empty. | ||
* @returns true if the model is empty. | ||
*/ | ||
@@ -59,0 +60,0 @@ function isEmpty(model) { |
@@ -7,3 +7,3 @@ "use strict"; | ||
var isEmpty_1 = require("./isEmpty"); | ||
var isWhiteSpacePreserved_1 = require("./isWhiteSpacePreserved"); | ||
var isWhiteSpacePreserved_1 = require("../../domUtils/isWhiteSpacePreserved"); | ||
var normalizeSegment_1 = require("./normalizeSegment"); | ||
@@ -32,3 +32,3 @@ /** | ||
} | ||
if (!(0, isWhiteSpacePreserved_1.isWhiteSpacePreserved)(paragraph)) { | ||
if (!(0, isWhiteSpacePreserved_1.isWhiteSpacePreserved)(paragraph.format.whiteSpace)) { | ||
(0, normalizeSegment_1.normalizeAllSegments)(paragraph); | ||
@@ -35,0 +35,0 @@ } |
@@ -6,5 +6,5 @@ { | ||
"tslib": "^2.3.1", | ||
"roosterjs-content-model-types": "^0.22.0" | ||
"roosterjs-content-model-types": "^0.23.0" | ||
}, | ||
"version": "0.22.0", | ||
"version": "0.23.0", | ||
"main": "./lib/index.js", | ||
@@ -11,0 +11,0 @@ "typings": "./lib/index.d.ts", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
2023354
19156
+ Addedroosterjs-content-model-types@0.23.0(transitive)
- Removedroosterjs-content-model-types@0.22.0(transitive)