roosterjs 9.46.0 → 9.47.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/dist/rooster-amd-min.js +1 -1
- package/dist/rooster-amd-min.js.map +1 -1
- package/dist/rooster-amd.d.ts +23 -2
- package/dist/rooster-amd.js +169 -66
- 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-react.js +53 -53
- package/dist/rooster.d.ts +23 -2
- package/dist/rooster.js +169 -66
- package/dist/rooster.js.map +1 -1
- package/package.json +7 -7
package/dist/rooster.js
CHANGED
|
@@ -12428,7 +12428,8 @@ var TextMutationObserverImpl = /** @class */ (function () {
|
|
|
12428
12428
|
continue;
|
|
12429
12429
|
}
|
|
12430
12430
|
else if (!includedNodes.has(target)) {
|
|
12431
|
-
if (
|
|
12431
|
+
if (!_this.domHelper.isNodeInEditor(target) ||
|
|
12432
|
+
(0, roosterjs_content_model_dom_1.findClosestEntityWrapper)(target, _this.domHelper) ||
|
|
12432
12433
|
(0, roosterjs_content_model_dom_1.findClosestBlockEntityContainer)(target, _this.domHelper)) {
|
|
12433
12434
|
ignoredNodes.add(target);
|
|
12434
12435
|
continue;
|
|
@@ -14761,7 +14762,9 @@ var SelectionPlugin = /** @class */ (function () {
|
|
|
14761
14762
|
rawEvent.preventDefault();
|
|
14762
14763
|
}
|
|
14763
14764
|
else {
|
|
14764
|
-
win === null || win === void 0 ? void 0 : win.requestAnimationFrame(function () {
|
|
14765
|
+
win === null || win === void 0 ? void 0 : win.requestAnimationFrame(function () {
|
|
14766
|
+
return _this.handleSelectionInTable(key, selection.range);
|
|
14767
|
+
});
|
|
14765
14768
|
}
|
|
14766
14769
|
}
|
|
14767
14770
|
}
|
|
@@ -14810,7 +14813,7 @@ var SelectionPlugin = /** @class */ (function () {
|
|
|
14810
14813
|
SelectionPlugin.prototype.getTabKey = function (rawEvent) {
|
|
14811
14814
|
return rawEvent.shiftKey ? 'TabLeft' : 'TabRight';
|
|
14812
14815
|
};
|
|
14813
|
-
SelectionPlugin.prototype.handleSelectionInTable = function (key) {
|
|
14816
|
+
SelectionPlugin.prototype.handleSelectionInTable = function (key, rangeBeforeChange) {
|
|
14814
14817
|
var _a, _b, _c, _d, _e, _f;
|
|
14815
14818
|
if (!this.editor || !this.state.tableSelection) {
|
|
14816
14819
|
return;
|
|
@@ -14844,7 +14847,15 @@ var SelectionPlugin = /** @class */ (function () {
|
|
|
14844
14847
|
}
|
|
14845
14848
|
}
|
|
14846
14849
|
if (collapsed && td) {
|
|
14847
|
-
|
|
14850
|
+
var textOffset = (key == 'ArrowUp' || key == 'ArrowDown') && rangeBeforeChange
|
|
14851
|
+
? this.getTextOffset(this.editor, rangeBeforeChange, td, key == 'ArrowUp')
|
|
14852
|
+
: null;
|
|
14853
|
+
if (textOffset) {
|
|
14854
|
+
this.setRangeSelectionInTable(textOffset.node, textOffset.offset, this.editor, false /* selectAll */);
|
|
14855
|
+
}
|
|
14856
|
+
else {
|
|
14857
|
+
this.setRangeSelectionInTable(td, 0, this.editor, false /* selectAll */);
|
|
14858
|
+
}
|
|
14848
14859
|
}
|
|
14849
14860
|
else if (!td && (lastCo.row == -1 || lastCo.row <= parsedTable.length)) {
|
|
14850
14861
|
this.selectBeforeOrAfterElement(this.editor, table, change == 1 /* after */, change != 1 /* setSelectionInNextSiblingElement */);
|
|
@@ -14895,8 +14906,23 @@ var SelectionPlugin = /** @class */ (function () {
|
|
|
14895
14906
|
}
|
|
14896
14907
|
}
|
|
14897
14908
|
};
|
|
14909
|
+
SelectionPlugin.prototype.getTextOffset = function (editor, range, td, isKeyUp) {
|
|
14910
|
+
var doc = editor.getDocument();
|
|
14911
|
+
var cursorRect = range
|
|
14912
|
+
? (0, roosterjs_content_model_dom_1.getDOMInsertPointRect)(doc, {
|
|
14913
|
+
node: range.startContainer,
|
|
14914
|
+
offset: range.startOffset,
|
|
14915
|
+
})
|
|
14916
|
+
: undefined;
|
|
14917
|
+
var rect = td === null || td === void 0 ? void 0 : td.getBoundingClientRect();
|
|
14918
|
+
var textOffset = cursorRect && rect
|
|
14919
|
+
? (0, roosterjs_content_model_dom_1.getNodePositionFromEvent)(doc, editor.getDOMHelper(), cursorRect.left, isKeyUp ? rect.top - 1 : rect.top + 1)
|
|
14920
|
+
: null;
|
|
14921
|
+
return textOffset;
|
|
14922
|
+
};
|
|
14898
14923
|
SelectionPlugin.prototype.setRangeSelectionInTable = function (cell, nodeOffset, editor, selectAll) {
|
|
14899
|
-
var
|
|
14924
|
+
var doc = editor.getDocument();
|
|
14925
|
+
var range = doc.createRange();
|
|
14900
14926
|
if (selectAll && cell.firstChild && cell.lastChild) {
|
|
14901
14927
|
var cellStart = cell.firstChild;
|
|
14902
14928
|
var cellEnd = cell.lastChild;
|
|
@@ -19681,6 +19707,52 @@ function getAllowedCustomType(type, allowedCustomPasteType) {
|
|
|
19681
19707
|
}
|
|
19682
19708
|
|
|
19683
19709
|
|
|
19710
|
+
/***/ },
|
|
19711
|
+
|
|
19712
|
+
/***/ "./packages/roosterjs-content-model-dom/lib/domUtils/event/getNodePositionFromEvent.ts"
|
|
19713
|
+
/*!*********************************************************************************************!*\
|
|
19714
|
+
!*** ./packages/roosterjs-content-model-dom/lib/domUtils/event/getNodePositionFromEvent.ts ***!
|
|
19715
|
+
\*********************************************************************************************/
|
|
19716
|
+
(__unused_webpack_module, exports) {
|
|
19717
|
+
|
|
19718
|
+
"use strict";
|
|
19719
|
+
|
|
19720
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
19721
|
+
exports.getNodePositionFromEvent = void 0;
|
|
19722
|
+
/**
|
|
19723
|
+
* Get insertion point from coordinate.
|
|
19724
|
+
* @param doc Parent document object
|
|
19725
|
+
* @param domHelper The DOM helper of the editor
|
|
19726
|
+
* @param x The cursor coordinate for the x-axis
|
|
19727
|
+
* @param y The cursor coordinate for the y-axis
|
|
19728
|
+
*/
|
|
19729
|
+
function getNodePositionFromEvent(doc, domHelper, x, y) {
|
|
19730
|
+
if ('caretPositionFromPoint' in doc) {
|
|
19731
|
+
// Firefox, Chrome, Edge, Safari, Opera
|
|
19732
|
+
var pos = doc.caretPositionFromPoint(x, y);
|
|
19733
|
+
if (pos && domHelper.isNodeInEditor(pos.offsetNode)) {
|
|
19734
|
+
return { node: pos.offsetNode, offset: pos.offset };
|
|
19735
|
+
}
|
|
19736
|
+
}
|
|
19737
|
+
if (doc.caretRangeFromPoint) {
|
|
19738
|
+
// Safari
|
|
19739
|
+
var range = doc.caretRangeFromPoint(x, y);
|
|
19740
|
+
if (range && domHelper.isNodeInEditor(range.startContainer)) {
|
|
19741
|
+
return { node: range.startContainer, offset: range.startOffset };
|
|
19742
|
+
}
|
|
19743
|
+
}
|
|
19744
|
+
if (doc.elementFromPoint) {
|
|
19745
|
+
// Fallback
|
|
19746
|
+
var element = doc.elementFromPoint(x, y);
|
|
19747
|
+
if (element && domHelper.isNodeInEditor(element)) {
|
|
19748
|
+
return { node: element, offset: 0 };
|
|
19749
|
+
}
|
|
19750
|
+
}
|
|
19751
|
+
return null;
|
|
19752
|
+
}
|
|
19753
|
+
exports.getNodePositionFromEvent = getNodePositionFromEvent;
|
|
19754
|
+
|
|
19755
|
+
|
|
19684
19756
|
/***/ },
|
|
19685
19757
|
|
|
19686
19758
|
/***/ "./packages/roosterjs-content-model-dom/lib/domUtils/getObjectKeys.ts"
|
|
@@ -23511,8 +23583,8 @@ exports.shouldSetValue = shouldSetValue;
|
|
|
23511
23583
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
23512
23584
|
exports.createImage = exports.createText = exports.createTableCell = exports.createTable = exports.createSelectionMarker = exports.createParagraph = exports.createFormatContainer = exports.createListItem = exports.createBr = exports.isLinkUndeletable = exports.setLinkUndeletable = exports.scrollRectIntoView = exports.normalizeRect = exports.isWhiteSpacePreserved = exports.reuseCachedElement = exports.findClosestBlockEntityContainer = exports.isBlockEntityContainer = exports.isEntityDelimiter = exports.addDelimiters = exports.generateEntityClassNames = exports.parseEntityFormat = exports.getAllEntityWrappers = exports.findClosestEntityWrapper = exports.isEntityElement = exports.unwrap = exports.wrap = exports.wrapAllChildNodes = exports.moveChildNodes = exports.toArray = exports.getSafeIdSelector = exports.getObjectKeys = exports.isElementOfType = exports.isNodeOfType = exports.hasMetadata = exports.getMetadata = exports.updateMetadata = exports.buildSelectionMarker = exports.isBlockElement = exports.areSameFormats = exports.parseFormat = exports.getRegularSelectionOffsets = exports.formatContainerProcessor = exports.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToText = exports.contentModelToDom = exports.domToContentModel = void 0;
|
|
23513
23585
|
exports.trimModelForSelection = exports.getDOMInsertPointRect = exports.getSelectionRootNode = exports.isBold = exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.defaultGenerateColorKey = exports.parseColor = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.getAutoListStyleType = exports.getOrderedListNumberStr = exports.ParagraphFormats = exports.ListFormatsToMove = exports.ListFormatsToKeep = exports.ListFormats = exports.copyFormat = exports.setParagraphNotImplicit = exports.normalizeSegmentFormat = exports.mergeTextSegments = exports.normalizeSingleSegment = exports.isEmpty = exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.normalizeContentModel = exports.normalizeParagraph = exports.addTextSegment = exports.addLink = exports.addCode = exports.addBlock = exports.mutateSegment = exports.mutateSegments = exports.mutateBlock = exports.createTableRow = exports.createEmptyModel = exports.createListLevel = exports.createDivider = exports.createEntity = exports.createGeneralBlock = exports.createGeneralSegment = exports.createParagraphDecorator = exports.createContentModelDocument = void 0;
|
|
23514
|
-
exports.
|
|
23515
|
-
exports.EmptySegmentFormat = exports.UnorderedListStyleMap = exports.OrderedListStyleMap = exports.TableBorderFormat = exports.NumberingListType = exports.BulletListType = exports.ChangeSource = exports.ListMetadataDefinition = exports.getListMetadata = exports.updateListMetadata = exports.getTableMetadata = exports.updateTableMetadata = exports.getTableCellMetadata = exports.updateTableCellMetadata = exports.getImageMetadata = void 0;
|
|
23586
|
+
exports.runEditSteps = exports.getClosestAncestorBlockGroupIndex = exports.getSegmentTextFormat = exports.getListStyleTypeFromString = exports.retrieveModelFormatState = exports.setTableCellBackgroundColor = exports.MIN_ALLOWED_TABLE_CELL_HEIGHT = exports.MIN_ALLOWED_TABLE_CELL_WIDTH = exports.normalizeTable = exports.setFirstColumnFormatBorders = exports.applyTableFormat = exports.deleteBlock = exports.deleteSegment = exports.deleteSelection = exports.mergeModel = exports.cloneModel = exports.setSelection = exports.hasSelectionInBlockGroup = exports.hasSelectionInSegment = exports.hasSelectionInBlock = exports.getSelectedCells = exports.getSelectedSegmentsAndParagraphs = exports.getSelectedSegments = exports.getSelectedParagraphs = exports.getOperationalBlocks = exports.getFirstSelectedTable = exports.getFirstSelectedListItem = exports.iterateSelections = exports.isBlockGroupOfType = exports.getRangesByText = exports.getImageState = exports.setImageState = exports.getParagraphMarker = exports.setParagraphMarker = exports.cacheGetEventData = exports.extractClipboardItems = exports.normalizeFontFamily = exports.transformColor = exports.retrieveDocumentMetadata = exports.readFile = exports.parseTableCells = exports.normalizeText = exports.isSpace = exports.isPunctuation = exports.extractBorderValues = exports.combineBorderValue = exports.getNodePositionFromEvent = exports.isCursorMovingKey = exports.isModifierKey = exports.isCharacterValue = void 0;
|
|
23587
|
+
exports.EmptySegmentFormat = exports.UnorderedListStyleMap = exports.OrderedListStyleMap = exports.TableBorderFormat = exports.NumberingListType = exports.BulletListType = exports.ChangeSource = exports.ListMetadataDefinition = exports.getListMetadata = exports.updateListMetadata = exports.getTableMetadata = exports.updateTableMetadata = exports.getTableCellMetadata = exports.updateTableCellMetadata = exports.getImageMetadata = exports.updateImageMetadata = void 0;
|
|
23516
23588
|
var domToContentModel_1 = __webpack_require__(/*! ./domToModel/domToContentModel */ "./packages/roosterjs-content-model-dom/lib/domToModel/domToContentModel.ts");
|
|
23517
23589
|
Object.defineProperty(exports, "domToContentModel", ({ enumerable: true, get: function () { return domToContentModel_1.domToContentModel; } }));
|
|
23518
23590
|
var contentModelToDom_1 = __webpack_require__(/*! ./modelToDom/contentModelToDom */ "./packages/roosterjs-content-model-dom/lib/modelToDom/contentModelToDom.ts");
|
|
@@ -23689,6 +23761,8 @@ var eventUtils_1 = __webpack_require__(/*! ./domUtils/event/eventUtils */ "./pac
|
|
|
23689
23761
|
Object.defineProperty(exports, "isCharacterValue", ({ enumerable: true, get: function () { return eventUtils_1.isCharacterValue; } }));
|
|
23690
23762
|
Object.defineProperty(exports, "isModifierKey", ({ enumerable: true, get: function () { return eventUtils_1.isModifierKey; } }));
|
|
23691
23763
|
Object.defineProperty(exports, "isCursorMovingKey", ({ enumerable: true, get: function () { return eventUtils_1.isCursorMovingKey; } }));
|
|
23764
|
+
var getNodePositionFromEvent_1 = __webpack_require__(/*! ./domUtils/event/getNodePositionFromEvent */ "./packages/roosterjs-content-model-dom/lib/domUtils/event/getNodePositionFromEvent.ts");
|
|
23765
|
+
Object.defineProperty(exports, "getNodePositionFromEvent", ({ enumerable: true, get: function () { return getNodePositionFromEvent_1.getNodePositionFromEvent; } }));
|
|
23692
23766
|
var borderValues_1 = __webpack_require__(/*! ./domUtils/style/borderValues */ "./packages/roosterjs-content-model-dom/lib/domUtils/style/borderValues.ts");
|
|
23693
23767
|
Object.defineProperty(exports, "combineBorderValue", ({ enumerable: true, get: function () { return borderValues_1.combineBorderValue; } }));
|
|
23694
23768
|
Object.defineProperty(exports, "extractBorderValues", ({ enumerable: true, get: function () { return borderValues_1.extractBorderValues; } }));
|
|
@@ -29514,23 +29588,40 @@ var handleParagraph = function (doc, parent, paragraph, context, refNode) {
|
|
|
29514
29588
|
segment: null,
|
|
29515
29589
|
};
|
|
29516
29590
|
var handleSegments = function () {
|
|
29591
|
+
var e_1, _a;
|
|
29592
|
+
var _b;
|
|
29517
29593
|
var parent = container;
|
|
29518
29594
|
if (parent) {
|
|
29519
29595
|
var firstSegment = paragraph.segments[0];
|
|
29596
|
+
var segmentContext = context;
|
|
29520
29597
|
if ((firstSegment === null || firstSegment === void 0 ? void 0 : firstSegment.segmentType) == 'SelectionMarker') {
|
|
29521
29598
|
// Make sure there is a segment created before selection marker.
|
|
29522
29599
|
// If selection marker is the first selected segment in a paragraph, create a dummy text node,
|
|
29523
29600
|
// so after rewrite, the regularSelection object can have a valid segment object set to the text node.
|
|
29524
|
-
context.modelHandlers.text(doc, parent, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, firstSegment), { segmentType: 'Text', text: '' }),
|
|
29601
|
+
context.modelHandlers.text(doc, parent, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, firstSegment), { segmentType: 'Text', text: '' }), segmentContext, []);
|
|
29525
29602
|
}
|
|
29526
|
-
paragraph.segments.
|
|
29603
|
+
for (var i = 0; i < paragraph.segments.length; i++) {
|
|
29604
|
+
var segment = paragraph.segments[i];
|
|
29605
|
+
segmentContext.noFollowingTextSegmentOrLast =
|
|
29606
|
+
i === paragraph.segments.length - 1 ||
|
|
29607
|
+
!hasTextSegmentAfter(paragraph.segments, i);
|
|
29527
29608
|
var newSegments = [];
|
|
29528
|
-
context.modelHandlers.segment(doc, parent, segment,
|
|
29529
|
-
|
|
29530
|
-
var
|
|
29531
|
-
|
|
29532
|
-
|
|
29533
|
-
|
|
29609
|
+
context.modelHandlers.segment(doc, parent, segment, segmentContext, newSegments);
|
|
29610
|
+
try {
|
|
29611
|
+
for (var newSegments_1 = (e_1 = void 0, (0, tslib_1.__values)(newSegments)), newSegments_1_1 = newSegments_1.next(); !newSegments_1_1.done; newSegments_1_1 = newSegments_1.next()) {
|
|
29612
|
+
var node = newSegments_1_1.value;
|
|
29613
|
+
(_b = context.domIndexer) === null || _b === void 0 ? void 0 : _b.onSegment(node, paragraph, [segment]);
|
|
29614
|
+
}
|
|
29615
|
+
}
|
|
29616
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
29617
|
+
finally {
|
|
29618
|
+
try {
|
|
29619
|
+
if (newSegments_1_1 && !newSegments_1_1.done && (_a = newSegments_1.return)) _a.call(newSegments_1);
|
|
29620
|
+
}
|
|
29621
|
+
finally { if (e_1) throw e_1.error; }
|
|
29622
|
+
}
|
|
29623
|
+
}
|
|
29624
|
+
delete segmentContext.noFollowingTextSegmentOrLast;
|
|
29534
29625
|
}
|
|
29535
29626
|
};
|
|
29536
29627
|
if (needParagraphWrapper) {
|
|
@@ -29570,6 +29661,21 @@ var handleParagraph = function (doc, parent, paragraph, context, refNode) {
|
|
|
29570
29661
|
return refNode;
|
|
29571
29662
|
};
|
|
29572
29663
|
exports.handleParagraph = handleParagraph;
|
|
29664
|
+
function hasTextSegmentAfter(segments, index) {
|
|
29665
|
+
for (var i = index + 1; i < segments.length; i++) {
|
|
29666
|
+
var type = segments[i].segmentType;
|
|
29667
|
+
if (type === 'SelectionMarker') {
|
|
29668
|
+
continue;
|
|
29669
|
+
}
|
|
29670
|
+
if (type === 'Text') {
|
|
29671
|
+
return true;
|
|
29672
|
+
}
|
|
29673
|
+
else {
|
|
29674
|
+
return false;
|
|
29675
|
+
}
|
|
29676
|
+
}
|
|
29677
|
+
return false;
|
|
29678
|
+
}
|
|
29573
29679
|
|
|
29574
29680
|
|
|
29575
29681
|
/***/ },
|
|
@@ -29810,11 +29916,15 @@ exports.handleTable = handleTable;
|
|
|
29810
29916
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
29811
29917
|
exports.handleText = void 0;
|
|
29812
29918
|
var handleSegmentCommon_1 = __webpack_require__(/*! ../utils/handleSegmentCommon */ "./packages/roosterjs-content-model-dom/lib/modelToDom/utils/handleSegmentCommon.ts");
|
|
29919
|
+
var nonBreakingSpace = '\u00A0';
|
|
29813
29920
|
/**
|
|
29814
29921
|
* @internal
|
|
29815
29922
|
*/
|
|
29816
29923
|
var handleText = function (doc, parent, segment, context, segmentNodes) {
|
|
29817
|
-
var
|
|
29924
|
+
var textContent = context.noFollowingTextSegmentOrLast && segment.text.endsWith(' ')
|
|
29925
|
+
? segment.text.slice(0, -1) + nonBreakingSpace
|
|
29926
|
+
: segment.text;
|
|
29927
|
+
var txt = doc.createTextNode(textContent);
|
|
29818
29928
|
var element = doc.createElement('span');
|
|
29819
29929
|
parent.appendChild(element);
|
|
29820
29930
|
element.appendChild(txt);
|
|
@@ -39245,6 +39355,7 @@ var getStyles_1 = __webpack_require__(/*! ../utils/getStyles */ "./packages/roos
|
|
|
39245
39355
|
var listLevelParser_1 = __webpack_require__(/*! ../parsers/listLevelParser */ "./packages/roosterjs-content-model-plugins/lib/paste/parsers/listLevelParser.ts");
|
|
39246
39356
|
var processWordComments_1 = __webpack_require__(/*! ./processWordComments */ "./packages/roosterjs-content-model-plugins/lib/paste/WordDesktop/processWordComments.ts");
|
|
39247
39357
|
var processWordLists_1 = __webpack_require__(/*! ./processWordLists */ "./packages/roosterjs-content-model-plugins/lib/paste/WordDesktop/processWordLists.ts");
|
|
39358
|
+
var adjustWordListMarginParser_1 = __webpack_require__(/*! ../parsers/adjustWordListMarginParser */ "./packages/roosterjs-content-model-plugins/lib/paste/parsers/adjustWordListMarginParser.ts");
|
|
39248
39359
|
var removeNegativeTextIndentParser_1 = __webpack_require__(/*! ../parsers/removeNegativeTextIndentParser */ "./packages/roosterjs-content-model-plugins/lib/paste/parsers/removeNegativeTextIndentParser.ts");
|
|
39249
39360
|
var setProcessor_1 = __webpack_require__(/*! ../utils/setProcessor */ "./packages/roosterjs-content-model-plugins/lib/paste/utils/setProcessor.ts");
|
|
39250
39361
|
var wordContainerParser_1 = __webpack_require__(/*! ../parsers/wordContainerParser */ "./packages/roosterjs-content-model-plugins/lib/paste/parsers/wordContainerParser.ts");
|
|
@@ -39261,6 +39372,7 @@ function processPastedContentFromWordDesktop(domToModelOption, htmlString) {
|
|
|
39261
39372
|
(0, addParser_1.addParser)(domToModelOption, 'block', adjustPercentileLineHeightParser_1.adjustPercentileLineHeight);
|
|
39262
39373
|
(0, addParser_1.addParser)(domToModelOption, 'block', removeNegativeTextIndentParser_1.removeNegativeTextIndentParser);
|
|
39263
39374
|
(0, addParser_1.addParser)(domToModelOption, 'listItemElement', removeNegativeTextIndentParser_1.removeNegativeTextIndentParser);
|
|
39375
|
+
(0, addParser_1.addParser)(domToModelOption, 'listItemElement', adjustWordListMarginParser_1.adjustWordListMarginParser);
|
|
39264
39376
|
(0, addParser_1.addParser)(domToModelOption, 'listLevel', listLevelParser_1.listLevelParser);
|
|
39265
39377
|
(0, addParser_1.addParser)(domToModelOption, 'container', wordContainerParser_1.wordContainerParser);
|
|
39266
39378
|
(0, addParser_1.addParser)(domToModelOption, 'table', wordTableParser_1.wordTableParser);
|
|
@@ -39685,6 +39797,42 @@ function adjustPercentileLineHeight(format, element) {
|
|
|
39685
39797
|
exports.adjustPercentileLineHeight = adjustPercentileLineHeight;
|
|
39686
39798
|
|
|
39687
39799
|
|
|
39800
|
+
/***/ },
|
|
39801
|
+
|
|
39802
|
+
/***/ "./packages/roosterjs-content-model-plugins/lib/paste/parsers/adjustWordListMarginParser.ts"
|
|
39803
|
+
/*!**************************************************************************************************!*\
|
|
39804
|
+
!*** ./packages/roosterjs-content-model-plugins/lib/paste/parsers/adjustWordListMarginParser.ts ***!
|
|
39805
|
+
\**************************************************************************************************/
|
|
39806
|
+
(__unused_webpack_module, exports, __webpack_require__) {
|
|
39807
|
+
|
|
39808
|
+
"use strict";
|
|
39809
|
+
|
|
39810
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
39811
|
+
exports.adjustWordListMarginParser = void 0;
|
|
39812
|
+
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
39813
|
+
var MSO_LIST_PARAGRAPH_CLASS = 'MsoListParagraph';
|
|
39814
|
+
// Default list padding from the HTML user-agent stylesheet (paddingInlineStart for <ul>/<ol>)
|
|
39815
|
+
var DEFAULT_LIST_PADDING_INLINE_START = '40px';
|
|
39816
|
+
/**
|
|
39817
|
+
* @internal
|
|
39818
|
+
* Parser that subtracts the default list format (paddingInlineStart: 40px) from
|
|
39819
|
+
* the marginLeft of list item elements that have the MsoListParagraph class,
|
|
39820
|
+
* since Word adds the full indentation as margin on the paragraph, which
|
|
39821
|
+
* duplicates the padding the list element already provides.
|
|
39822
|
+
*/
|
|
39823
|
+
var adjustWordListMarginParser = function (format, element) {
|
|
39824
|
+
if (element.classList.contains(MSO_LIST_PARAGRAPH_CLASS) && format.marginLeft) {
|
|
39825
|
+
var currentPx = (0, roosterjs_content_model_dom_1.parseValueWithUnit)(format.marginLeft, element);
|
|
39826
|
+
var defaultPx = (0, roosterjs_content_model_dom_1.parseValueWithUnit)(DEFAULT_LIST_PADDING_INLINE_START);
|
|
39827
|
+
var result = currentPx - defaultPx;
|
|
39828
|
+
if (result > 0) {
|
|
39829
|
+
format.marginLeft = result + "px";
|
|
39830
|
+
}
|
|
39831
|
+
}
|
|
39832
|
+
};
|
|
39833
|
+
exports.adjustWordListMarginParser = adjustWordListMarginParser;
|
|
39834
|
+
|
|
39835
|
+
|
|
39688
39836
|
/***/ },
|
|
39689
39837
|
|
|
39690
39838
|
/***/ "./packages/roosterjs-content-model-plugins/lib/paste/parsers/blockElementParser.ts"
|
|
@@ -42570,7 +42718,6 @@ var createElement_1 = __webpack_require__(/*! ../../../pluginUtils/CreateElement
|
|
|
42570
42718
|
var DragAndDropHelper_1 = __webpack_require__(/*! ../../../pluginUtils/DragAndDrop/DragAndDropHelper */ "./packages/roosterjs-content-model-plugins/lib/pluginUtils/DragAndDrop/DragAndDropHelper.ts");
|
|
42571
42719
|
var roosterjs_content_model_api_1 = __webpack_require__(/*! roosterjs-content-model-api */ "./packages/roosterjs-content-model-api/lib/index.ts");
|
|
42572
42720
|
var getTableFromContentModel_1 = __webpack_require__(/*! ../utils/getTableFromContentModel */ "./packages/roosterjs-content-model-plugins/lib/tableEdit/editors/utils/getTableFromContentModel.ts");
|
|
42573
|
-
var getNodePositionFromEvent_1 = __webpack_require__(/*! ../../../utils/getNodePositionFromEvent */ "./packages/roosterjs-content-model-plugins/lib/utils/getNodePositionFromEvent.ts");
|
|
42574
42721
|
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
42575
42722
|
var TABLE_MOVER_LENGTH = 12;
|
|
42576
42723
|
/**
|
|
@@ -42698,7 +42845,7 @@ function onDragging(context, event, initValue) {
|
|
|
42698
42845
|
// Move table outline rectangle
|
|
42699
42846
|
tableRect.style.top = event.clientY + TABLE_MOVER_LENGTH + "px";
|
|
42700
42847
|
tableRect.style.left = event.clientX + TABLE_MOVER_LENGTH + "px";
|
|
42701
|
-
var pos = (0,
|
|
42848
|
+
var pos = (0, roosterjs_content_model_dom_1.getNodePositionFromEvent)(editor.getDocument(), editor.getDOMHelper(), event.clientX, event.clientY);
|
|
42702
42849
|
if (pos) {
|
|
42703
42850
|
var range = editor.getDocument().createRange();
|
|
42704
42851
|
range.setStart(pos.node, pos.offset);
|
|
@@ -42738,7 +42885,7 @@ function onDragEnd(context, event, initValue) {
|
|
|
42738
42885
|
}
|
|
42739
42886
|
var insertionSuccess_1 = false;
|
|
42740
42887
|
// Get position to insert table
|
|
42741
|
-
var insertPosition = (0,
|
|
42888
|
+
var insertPosition = (0, roosterjs_content_model_dom_1.getNodePositionFromEvent)(editor.getDocument(), editor.getDOMHelper(), event.clientX, event.clientY);
|
|
42742
42889
|
if (insertPosition) {
|
|
42743
42890
|
// Move table to new position
|
|
42744
42891
|
(0, roosterjs_content_model_api_1.formatInsertPointWithContentModel)(editor, insertPosition, function (model, context, ip) {
|
|
@@ -43275,7 +43422,7 @@ exports.getCMTableFromTable = getCMTableFromTable;
|
|
|
43275
43422
|
|
|
43276
43423
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
43277
43424
|
exports.TouchPlugin = void 0;
|
|
43278
|
-
var
|
|
43425
|
+
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
43279
43426
|
var MAX_TOUCH_MOVE_DISTANCE = 6; // the max number of offsets for the touch selection to move
|
|
43280
43427
|
var POINTER_DETECTION_DELAY = 150; // Delay time to wait for selection to be updated and also detect if pointerup is a tap or part of double tap
|
|
43281
43428
|
var PUNCTUATION_MATCHING_REGEX = /[.,;:!]/;
|
|
@@ -43343,7 +43490,7 @@ var TouchPlugin = /** @class */ (function () {
|
|
|
43343
43490
|
if (_this.editor) {
|
|
43344
43491
|
if (!_this.isDblClicked) {
|
|
43345
43492
|
_this.editor.focus();
|
|
43346
|
-
var caretPosition = (0,
|
|
43493
|
+
var caretPosition = (0, roosterjs_content_model_dom_1.getNodePositionFromEvent)(_this.editor.getDocument(), _this.editor.getDOMHelper(), event.rawEvent.x, event.rawEvent.y);
|
|
43347
43494
|
var newRange = _this.editor.getDocument().createRange();
|
|
43348
43495
|
if (caretPosition) {
|
|
43349
43496
|
var node = caretPosition.node, offset = caretPosition.offset;
|
|
@@ -43391,7 +43538,7 @@ var TouchPlugin = /** @class */ (function () {
|
|
|
43391
43538
|
if (this.isTouchPenPointerEvent) {
|
|
43392
43539
|
event.rawEvent.preventDefault();
|
|
43393
43540
|
this.isDblClicked = true;
|
|
43394
|
-
var caretPosition = (0,
|
|
43541
|
+
var caretPosition = (0, roosterjs_content_model_dom_1.getNodePositionFromEvent)(this.editor.getDocument(), this.editor.getDOMHelper(), event.rawEvent.x, event.rawEvent.y);
|
|
43395
43542
|
if (caretPosition) {
|
|
43396
43543
|
var node = caretPosition.node, offset = caretPosition.offset;
|
|
43397
43544
|
if (node.nodeType !== Node.TEXT_NODE) {
|
|
@@ -43485,50 +43632,6 @@ function findWordBoundaries(text, offset) {
|
|
|
43485
43632
|
}
|
|
43486
43633
|
|
|
43487
43634
|
|
|
43488
|
-
/***/ },
|
|
43489
|
-
|
|
43490
|
-
/***/ "./packages/roosterjs-content-model-plugins/lib/utils/getNodePositionFromEvent.ts"
|
|
43491
|
-
/*!****************************************************************************************!*\
|
|
43492
|
-
!*** ./packages/roosterjs-content-model-plugins/lib/utils/getNodePositionFromEvent.ts ***!
|
|
43493
|
-
\****************************************************************************************/
|
|
43494
|
-
(__unused_webpack_module, exports) {
|
|
43495
|
-
|
|
43496
|
-
"use strict";
|
|
43497
|
-
|
|
43498
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
43499
|
-
exports.getNodePositionFromEvent = void 0;
|
|
43500
|
-
/**
|
|
43501
|
-
* @internal Get insertion point from coordinate.
|
|
43502
|
-
*/
|
|
43503
|
-
function getNodePositionFromEvent(editor, x, y) {
|
|
43504
|
-
var doc = editor.getDocument();
|
|
43505
|
-
var domHelper = editor.getDOMHelper();
|
|
43506
|
-
if ('caretPositionFromPoint' in doc) {
|
|
43507
|
-
// Firefox, Chrome, Edge, Safari, Opera
|
|
43508
|
-
var pos = doc.caretPositionFromPoint(x, y);
|
|
43509
|
-
if (pos && domHelper.isNodeInEditor(pos.offsetNode)) {
|
|
43510
|
-
return { node: pos.offsetNode, offset: pos.offset };
|
|
43511
|
-
}
|
|
43512
|
-
}
|
|
43513
|
-
if (doc.caretRangeFromPoint) {
|
|
43514
|
-
// Safari
|
|
43515
|
-
var range = doc.caretRangeFromPoint(x, y);
|
|
43516
|
-
if (range && domHelper.isNodeInEditor(range.startContainer)) {
|
|
43517
|
-
return { node: range.startContainer, offset: range.startOffset };
|
|
43518
|
-
}
|
|
43519
|
-
}
|
|
43520
|
-
if (doc.elementFromPoint) {
|
|
43521
|
-
// Fallback
|
|
43522
|
-
var element = doc.elementFromPoint(x, y);
|
|
43523
|
-
if (element && domHelper.isNodeInEditor(element)) {
|
|
43524
|
-
return { node: element, offset: 0 };
|
|
43525
|
-
}
|
|
43526
|
-
}
|
|
43527
|
-
return null;
|
|
43528
|
-
}
|
|
43529
|
-
exports.getNodePositionFromEvent = getNodePositionFromEvent;
|
|
43530
|
-
|
|
43531
|
-
|
|
43532
43635
|
/***/ },
|
|
43533
43636
|
|
|
43534
43637
|
/***/ "./packages/roosterjs-content-model-plugins/lib/watermark/WatermarkPlugin.ts"
|