roosterjs 9.4.0 → 9.4.1
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/dist/rooster-amd-min.js +1 -1
- package/dist/rooster-amd-min.js.map +1 -1
- package/dist/rooster-amd.d.ts +1 -1
- package/dist/rooster-amd.js +48 -4
- package/dist/rooster-amd.js.map +1 -1
- package/dist/rooster-min.js +1 -1
- package/dist/rooster-min.js.map +1 -1
- package/dist/rooster.d.ts +1 -1
- package/dist/rooster.js +48 -4
- package/dist/rooster.js.map +1 -1
- package/package.json +6 -6
package/dist/rooster.d.ts
CHANGED
package/dist/rooster.js
CHANGED
|
@@ -8573,7 +8573,7 @@ var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-mo
|
|
|
8573
8573
|
*/
|
|
8574
8574
|
var formatContentModel = function (core, formatter, options, domToModelOptions) {
|
|
8575
8575
|
var _a;
|
|
8576
|
-
var _b = options || {},
|
|
8576
|
+
var _b = options || {}, onNodeCreated = _b.onNodeCreated, getChangeData = _b.getChangeData, rawEvent = _b.rawEvent, selectionOverride = _b.selectionOverride, scrollCaretIntoView = _b.scrollCaretIntoView;
|
|
8577
8577
|
var model = core.api.createContentModel(core, domToModelOptions, selectionOverride);
|
|
8578
8578
|
var context = {
|
|
8579
8579
|
newEntities: [],
|
|
@@ -8607,9 +8607,9 @@ var formatContentModel = function (core, formatter, options, domToModelOptions)
|
|
|
8607
8607
|
eventType: 'contentChanged',
|
|
8608
8608
|
contentModel: clearModelCache ? undefined : model,
|
|
8609
8609
|
selection: clearModelCache ? undefined : selection,
|
|
8610
|
-
source: changeSource || roosterjs_content_model_dom_1.ChangeSource.Format,
|
|
8610
|
+
source: (options === null || options === void 0 ? void 0 : options.changeSource) || roosterjs_content_model_dom_1.ChangeSource.Format,
|
|
8611
8611
|
data: getChangeData === null || getChangeData === void 0 ? void 0 : getChangeData(),
|
|
8612
|
-
formatApiName: apiName,
|
|
8612
|
+
formatApiName: options === null || options === void 0 ? void 0 : options.apiName,
|
|
8613
8613
|
changedEntities: getChangedEntities(context, rawEvent),
|
|
8614
8614
|
};
|
|
8615
8615
|
core.api.triggerEvent(core, eventData, true /*broadcast*/);
|
|
@@ -22190,6 +22190,21 @@ var mutate_1 = __webpack_require__(/*! ../common/mutate */ "./packages/roosterjs
|
|
|
22190
22190
|
var normalizeContentModel_1 = __webpack_require__(/*! ../common/normalizeContentModel */ "./packages/roosterjs-content-model-dom/lib/modelApi/common/normalizeContentModel.ts");
|
|
22191
22191
|
var normalizeTable_1 = __webpack_require__(/*! ./normalizeTable */ "./packages/roosterjs-content-model-dom/lib/modelApi/editing/normalizeTable.ts");
|
|
22192
22192
|
var HeadingTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
|
|
22193
|
+
// An object to provide keys of required properties of segment format, do NOT use any of its values
|
|
22194
|
+
var RequiredEmptySegmentFormat = {
|
|
22195
|
+
backgroundColor: null,
|
|
22196
|
+
fontFamily: null,
|
|
22197
|
+
fontSize: null,
|
|
22198
|
+
fontWeight: null,
|
|
22199
|
+
italic: null,
|
|
22200
|
+
letterSpacing: null,
|
|
22201
|
+
lineHeight: null,
|
|
22202
|
+
strikethrough: null,
|
|
22203
|
+
superOrSubScriptSequence: null,
|
|
22204
|
+
textColor: null,
|
|
22205
|
+
underline: null,
|
|
22206
|
+
};
|
|
22207
|
+
var KeysOfSegmentFormat = (0, getObjectKeys_1.getObjectKeys)(RequiredEmptySegmentFormat);
|
|
22193
22208
|
/**
|
|
22194
22209
|
* Merge source model into target mode
|
|
22195
22210
|
* @param target Target Content Model that will merge content into
|
|
@@ -22421,6 +22436,9 @@ function applyDefaultFormat(group, format, applyDefaultFormatOption) {
|
|
|
22421
22436
|
applyDefaultFormat(segment, format, applyDefaultFormatOption);
|
|
22422
22437
|
}
|
|
22423
22438
|
segment.format = mergeSegmentFormat(applyDefaultFormatOption, format, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, paragraphFormat_1), segment.format));
|
|
22439
|
+
if (segment.link) {
|
|
22440
|
+
segment.link.format = mergeSegmentFormat(applyDefaultFormatOption, getSegmentFormatInLinkFormat(format), segment.link.format);
|
|
22441
|
+
}
|
|
22424
22442
|
});
|
|
22425
22443
|
if (applyDefaultFormatOption === 'keepSourceEmphasisFormat') {
|
|
22426
22444
|
delete paragraph.decorator;
|
|
@@ -22434,9 +22452,26 @@ function mergeBlockFormat(applyDefaultFormatOption, block) {
|
|
|
22434
22452
|
delete (0, mutate_1.mutateBlock)(block).format.backgroundColor;
|
|
22435
22453
|
}
|
|
22436
22454
|
}
|
|
22455
|
+
/**
|
|
22456
|
+
* Hyperlink format type definition only contains textColor, backgroundColor and underline.
|
|
22457
|
+
* So create a minimum object with the styles supported in Hyperlink to be used in merge.
|
|
22458
|
+
*/
|
|
22459
|
+
function getSegmentFormatInLinkFormat(targetFormat) {
|
|
22460
|
+
var result = {};
|
|
22461
|
+
if (targetFormat.textColor) {
|
|
22462
|
+
result.textColor = targetFormat.textColor;
|
|
22463
|
+
}
|
|
22464
|
+
if (targetFormat.backgroundColor) {
|
|
22465
|
+
result.backgroundColor = targetFormat.backgroundColor;
|
|
22466
|
+
}
|
|
22467
|
+
if (targetFormat.underline) {
|
|
22468
|
+
result.underline = targetFormat.underline;
|
|
22469
|
+
}
|
|
22470
|
+
return result;
|
|
22471
|
+
}
|
|
22437
22472
|
function mergeSegmentFormat(applyDefaultFormatOption, targetFormat, sourceFormat) {
|
|
22438
22473
|
return applyDefaultFormatOption == 'mergeAll'
|
|
22439
|
-
? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, targetFormat), sourceFormat) : (0, tslib_1.__assign)((0, tslib_1.__assign)({}, targetFormat), getSemanticFormat(sourceFormat));
|
|
22474
|
+
? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, targetFormat), sourceFormat) : (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, getFormatWithoutSegmentFormat(sourceFormat)), targetFormat), getSemanticFormat(sourceFormat));
|
|
22440
22475
|
}
|
|
22441
22476
|
function getSemanticFormat(segmentFormat) {
|
|
22442
22477
|
var result = {};
|
|
@@ -22452,6 +22487,15 @@ function getSemanticFormat(segmentFormat) {
|
|
|
22452
22487
|
}
|
|
22453
22488
|
return result;
|
|
22454
22489
|
}
|
|
22490
|
+
/**
|
|
22491
|
+
* Segment format can also contain other type of metadata, for example in Images/Hyperlink,
|
|
22492
|
+
* we want to preserve these properties when merging format
|
|
22493
|
+
*/
|
|
22494
|
+
function getFormatWithoutSegmentFormat(sourceFormat) {
|
|
22495
|
+
var resultFormat = (0, tslib_1.__assign)({}, sourceFormat);
|
|
22496
|
+
KeysOfSegmentFormat.forEach(function (key) { return delete resultFormat[key]; });
|
|
22497
|
+
return resultFormat;
|
|
22498
|
+
}
|
|
22455
22499
|
|
|
22456
22500
|
|
|
22457
22501
|
/***/ }),
|