roosterjs 9.7.0 → 9.8.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 +25 -2
- package/dist/rooster-amd.js +232 -54
- 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-react.js.map +1 -1
- package/dist/rooster.d.ts +25 -2
- package/dist/rooster.js +232 -54
- package/dist/rooster.js.map +1 -1
- package/package.json +6 -6
package/dist/rooster.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Type definitions for roosterjs (Version 9.
|
|
1
|
+
// Type definitions for roosterjs (Version 9.8.1)
|
|
2
2
|
// Generated by dts tool from roosterjs
|
|
3
3
|
// Project: https://github.com/Microsoft/roosterjs
|
|
4
4
|
|
|
@@ -3467,7 +3467,11 @@ type ExperimentalFeature = /**
|
|
|
3467
3467
|
* When this feature is enabled, we will persist a content model in memory as long as we can,
|
|
3468
3468
|
* and use cached element when write back if it is not changed.
|
|
3469
3469
|
*/
|
|
3470
|
-
'PersistCache'
|
|
3470
|
+
'PersistCache'
|
|
3471
|
+
/**
|
|
3472
|
+
* Workaround for the Legacy Image Edit
|
|
3473
|
+
*/
|
|
3474
|
+
| 'LegacyImageSelection';
|
|
3471
3475
|
|
|
3472
3476
|
/**
|
|
3473
3477
|
* Options for editor
|
|
@@ -5047,6 +5051,11 @@ interface AnnounceData {
|
|
|
5047
5051
|
* @optional if provided, will attempt to replace {n} with each of the values inside of the array.
|
|
5048
5052
|
*/
|
|
5049
5053
|
formatStrings?: string[];
|
|
5054
|
+
/**
|
|
5055
|
+
* @optional if provided, will set the ariaLive property of the announce container element to the provided value.
|
|
5056
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-live#values
|
|
5057
|
+
*/
|
|
5058
|
+
ariaLiveMode?: 'assertive' | 'polite' | 'off';
|
|
5050
5059
|
}
|
|
5051
5060
|
|
|
5052
5061
|
/**
|
|
@@ -6196,6 +6205,15 @@ function isElementOfType<Tag extends keyof HTMLElementTagNameMap>(element: HTMLE
|
|
|
6196
6205
|
*/
|
|
6197
6206
|
function getObjectKeys<T extends string | number | symbol>(obj: Record<T, any> | Partial<Record<T, any>>): T[];
|
|
6198
6207
|
|
|
6208
|
+
/**
|
|
6209
|
+
* Returns a safe Id to use in Native APIs.
|
|
6210
|
+
* IDs that start with number or hyphen can throw errors if used.
|
|
6211
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
|
|
6212
|
+
* @param id
|
|
6213
|
+
* @returns
|
|
6214
|
+
*/
|
|
6215
|
+
function getSafeIdSelector(id: string): string;
|
|
6216
|
+
|
|
6199
6217
|
/**
|
|
6200
6218
|
* Convert a named node map to an array
|
|
6201
6219
|
* @param collection The map to convert
|
|
@@ -8329,6 +8347,11 @@ class PastePlugin implements EditorPlugin {
|
|
|
8329
8347
|
private setEventSanitizers;
|
|
8330
8348
|
}
|
|
8331
8349
|
|
|
8350
|
+
/**
|
|
8351
|
+
* Default style sanitizers for PastePlugin.
|
|
8352
|
+
*/
|
|
8353
|
+
const DefaultSanitizers: Record<string, ValueSanitizer>;
|
|
8354
|
+
|
|
8332
8355
|
/**
|
|
8333
8356
|
* Edit plugins helps editor to do editing operation on top of content model.
|
|
8334
8357
|
* This includes:
|
package/dist/rooster.js
CHANGED
|
@@ -3462,6 +3462,15 @@ function setListType(model, listType, removeMargins) {
|
|
|
3462
3462
|
}
|
|
3463
3463
|
(0, roosterjs_content_model_dom_1.mutateBlock)(parent).blocks.splice(index, 1, newListItem);
|
|
3464
3464
|
existingListItems.push(newListItem);
|
|
3465
|
+
var levelIndex = newListItem.levels.length - 1;
|
|
3466
|
+
var level = (0, roosterjs_content_model_dom_1.mutateBlock)(newListItem).levels[levelIndex];
|
|
3467
|
+
if (level) {
|
|
3468
|
+
(0, roosterjs_content_model_dom_1.updateListMetadata)(level, function (metadata) {
|
|
3469
|
+
return Object.assign({}, metadata, {
|
|
3470
|
+
applyListStyleFromLevel: true,
|
|
3471
|
+
});
|
|
3472
|
+
});
|
|
3473
|
+
}
|
|
3465
3474
|
}
|
|
3466
3475
|
else {
|
|
3467
3476
|
existingListItems.forEach(function (x) { return ((0, roosterjs_content_model_dom_1.mutateBlock)(x).levels[0].format.marginBottom = '0px'); });
|
|
@@ -8303,12 +8312,14 @@ exports.getPath = getPath;
|
|
|
8303
8312
|
/*!********************************************************************************!*\
|
|
8304
8313
|
!*** ./packages/roosterjs-content-model-core/lib/coreApi/announce/announce.ts ***!
|
|
8305
8314
|
\********************************************************************************/
|
|
8306
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
8315
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
8307
8316
|
|
|
8308
8317
|
"use strict";
|
|
8309
8318
|
|
|
8310
8319
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
8311
8320
|
exports.announce = void 0;
|
|
8321
|
+
var createAriaLiveElement_1 = __webpack_require__(/*! ../../utils/createAriaLiveElement */ "./packages/roosterjs-content-model-core/lib/utils/createAriaLiveElement.ts");
|
|
8322
|
+
var DOT_STRING = '.';
|
|
8312
8323
|
/**
|
|
8313
8324
|
* @internal
|
|
8314
8325
|
* Announce the given data
|
|
@@ -8316,17 +8327,20 @@ exports.announce = void 0;
|
|
|
8316
8327
|
* @param announceData Data to announce
|
|
8317
8328
|
*/
|
|
8318
8329
|
var announce = function (core, announceData) {
|
|
8319
|
-
var _a;
|
|
8320
|
-
var text = announceData.text, defaultStrings = announceData.defaultStrings, _b = announceData.formatStrings, formatStrings = _b === void 0 ? [] : _b;
|
|
8330
|
+
var text = announceData.text, defaultStrings = announceData.defaultStrings, _a = announceData.formatStrings, formatStrings = _a === void 0 ? [] : _a, _b = announceData.ariaLiveMode, ariaLiveMode = _b === void 0 ? 'assertive' : _b;
|
|
8321
8331
|
var announcerStringGetter = core.lifecycle.announcerStringGetter;
|
|
8322
8332
|
var template = defaultStrings && (announcerStringGetter === null || announcerStringGetter === void 0 ? void 0 : announcerStringGetter(defaultStrings));
|
|
8323
8333
|
var textToAnnounce = formatString(template || text, formatStrings);
|
|
8324
|
-
if (
|
|
8334
|
+
if (!core.lifecycle.announceContainer) {
|
|
8335
|
+
core.lifecycle.announceContainer = (0, createAriaLiveElement_1.createAriaLiveElement)(core.physicalRoot.ownerDocument);
|
|
8336
|
+
}
|
|
8337
|
+
if (textToAnnounce && core.lifecycle.announceContainer) {
|
|
8325
8338
|
var announceContainer = core.lifecycle.announceContainer;
|
|
8326
|
-
if (
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
|
|
8339
|
+
if (announceContainer.ariaLive != ariaLiveMode) {
|
|
8340
|
+
announceContainer.ariaLive = ariaLiveMode;
|
|
8341
|
+
}
|
|
8342
|
+
if (textToAnnounce == announceContainer.textContent) {
|
|
8343
|
+
textToAnnounce += DOT_STRING;
|
|
8330
8344
|
}
|
|
8331
8345
|
if (announceContainer) {
|
|
8332
8346
|
announceContainer.textContent = textToAnnounce;
|
|
@@ -8345,19 +8359,6 @@ function formatString(text, formatStrings) {
|
|
|
8345
8359
|
});
|
|
8346
8360
|
return text;
|
|
8347
8361
|
}
|
|
8348
|
-
function createAriaLiveElement(document) {
|
|
8349
|
-
var div = document.createElement('div');
|
|
8350
|
-
div.style.clip = 'rect(0px, 0px, 0px, 0px)';
|
|
8351
|
-
div.style.clipPath = 'inset(100%)';
|
|
8352
|
-
div.style.height = '1px';
|
|
8353
|
-
div.style.overflow = 'hidden';
|
|
8354
|
-
div.style.position = 'absolute';
|
|
8355
|
-
div.style.whiteSpace = 'nowrap';
|
|
8356
|
-
div.style.width = '1px';
|
|
8357
|
-
div.ariaLive = 'assertive';
|
|
8358
|
-
document.body.appendChild(div);
|
|
8359
|
-
return div;
|
|
8360
|
-
}
|
|
8361
8362
|
|
|
8362
8363
|
|
|
8363
8364
|
/***/ }),
|
|
@@ -9092,6 +9093,7 @@ exports.restoreSnapshotLogicalRoot = restoreSnapshotLogicalRoot;
|
|
|
9092
9093
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
9093
9094
|
exports.restoreSnapshotSelection = void 0;
|
|
9094
9095
|
var getPositionFromPath_1 = __webpack_require__(/*! ./getPositionFromPath */ "./packages/roosterjs-content-model-core/lib/coreApi/restoreUndoSnapshot/getPositionFromPath.ts");
|
|
9096
|
+
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
9095
9097
|
/**
|
|
9096
9098
|
* @internal
|
|
9097
9099
|
*/
|
|
@@ -9116,7 +9118,7 @@ function restoreSnapshotSelection(core, snapshot) {
|
|
|
9116
9118
|
};
|
|
9117
9119
|
break;
|
|
9118
9120
|
case 'table':
|
|
9119
|
-
var table = physicalRoot.querySelector(
|
|
9121
|
+
var table = physicalRoot.querySelector((0, roosterjs_content_model_dom_1.getSafeIdSelector)(snapshotSelection.tableId));
|
|
9120
9122
|
if (table) {
|
|
9121
9123
|
domSelection = {
|
|
9122
9124
|
type: 'table',
|
|
@@ -9129,7 +9131,7 @@ function restoreSnapshotSelection(core, snapshot) {
|
|
|
9129
9131
|
}
|
|
9130
9132
|
break;
|
|
9131
9133
|
case 'image':
|
|
9132
|
-
var image = physicalRoot.querySelector(
|
|
9134
|
+
var image = physicalRoot.querySelector((0, roosterjs_content_model_dom_1.getSafeIdSelector)(snapshotSelection.imageId));
|
|
9133
9135
|
if (image) {
|
|
9134
9136
|
domSelection = {
|
|
9135
9137
|
type: 'image',
|
|
@@ -9420,7 +9422,7 @@ var setDOMSelection = function (core, selection, skipSelectionChangedEvent) {
|
|
|
9420
9422
|
var imageSelectionColor = isDarkMode
|
|
9421
9423
|
? core.selection.imageSelectionBorderColorDark
|
|
9422
9424
|
: core.selection.imageSelectionBorderColor;
|
|
9423
|
-
core.api.setEditorStyle(core, DOM_SELECTION_CSS_KEY, "outline-style:solid!important; outline-color:" + (imageSelectionColor || DEFAULT_SELECTION_BORDER_COLOR) + "!important;", [
|
|
9425
|
+
core.api.setEditorStyle(core, DOM_SELECTION_CSS_KEY, "outline-style:solid!important; outline-color:" + (imageSelectionColor || DEFAULT_SELECTION_BORDER_COLOR) + "!important;", [(0, roosterjs_content_model_dom_1.getSafeIdSelector)((0, ensureUniqueId_1.ensureUniqueId)(image, IMAGE_ID))]);
|
|
9424
9426
|
core.api.setEditorStyle(core, HIDE_SELECTION_CSS_KEY, TRANSPARENT_SELECTION_CSS_RULE, [SELECTION_SELECTOR]);
|
|
9425
9427
|
setRangeSelection(doc, image, false /* collapse */);
|
|
9426
9428
|
break;
|
|
@@ -9453,12 +9455,13 @@ var setDOMSelection = function (core, selection, skipSelectionChangedEvent) {
|
|
|
9453
9455
|
lastColumn: lastCell.col,
|
|
9454
9456
|
};
|
|
9455
9457
|
var tableId = (0, ensureUniqueId_1.ensureUniqueId)(table, TABLE_ID);
|
|
9458
|
+
var tableSelector = (0, roosterjs_content_model_dom_1.getSafeIdSelector)(tableId);
|
|
9456
9459
|
var tableSelectors = firstCell.row == 0 &&
|
|
9457
9460
|
firstCell.col == 0 &&
|
|
9458
9461
|
lastCell.row == parsedTable.length - 1 &&
|
|
9459
9462
|
lastCell.col == ((_b = (_a = parsedTable[lastCell.row]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) - 1
|
|
9460
|
-
? [
|
|
9461
|
-
: handleTableSelected(parsedTable,
|
|
9463
|
+
? [tableSelector, tableSelector + " *"]
|
|
9464
|
+
: handleTableSelected(parsedTable, tableSelector, table, firstCell, lastCell);
|
|
9462
9465
|
core.selection.selection = selection;
|
|
9463
9466
|
var tableSelectionColor = isDarkMode
|
|
9464
9467
|
? core.selection.tableCellSelectionBackgroundColorDark
|
|
@@ -9491,7 +9494,7 @@ var setDOMSelection = function (core, selection, skipSelectionChangedEvent) {
|
|
|
9491
9494
|
}
|
|
9492
9495
|
};
|
|
9493
9496
|
exports.setDOMSelection = setDOMSelection;
|
|
9494
|
-
function handleTableSelected(parsedTable,
|
|
9497
|
+
function handleTableSelected(parsedTable, tableSelector, table, firstCell, lastCell) {
|
|
9495
9498
|
var selectors = [];
|
|
9496
9499
|
// Get whether table has thead, tbody or tfoot, then Set the start and end of each of the table children,
|
|
9497
9500
|
// so we can build the selector according the element between the table and the row.
|
|
@@ -9525,7 +9528,7 @@ function handleTableSelected(parsedTable, tableId, table, firstCell, lastCell) {
|
|
|
9525
9528
|
rowIndex <= lastCell.row &&
|
|
9526
9529
|
cellIndex >= firstCell.col &&
|
|
9527
9530
|
cellIndex <= lastCell.col) {
|
|
9528
|
-
var selector = "
|
|
9531
|
+
var selector = "" + tableSelector + middleElSelector + " tr:nth-child(" + currentRow + ")>" + cell.tagName + ":nth-child(" + tdCount + ")";
|
|
9529
9532
|
selectors.push(selector, selector + ' *');
|
|
9530
9533
|
}
|
|
9531
9534
|
}
|
|
@@ -9562,12 +9565,13 @@ function setRangeSelection(doc, element, collapse) {
|
|
|
9562
9565
|
/*!********************************************************************************************!*\
|
|
9563
9566
|
!*** ./packages/roosterjs-content-model-core/lib/coreApi/setEditorStyle/ensureUniqueId.ts ***!
|
|
9564
9567
|
\********************************************************************************************/
|
|
9565
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
9568
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
9566
9569
|
|
|
9567
9570
|
"use strict";
|
|
9568
9571
|
|
|
9569
9572
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
9570
9573
|
exports.ensureUniqueId = void 0;
|
|
9574
|
+
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
9571
9575
|
/**
|
|
9572
9576
|
* @internal
|
|
9573
9577
|
*/
|
|
@@ -9575,7 +9579,7 @@ function ensureUniqueId(element, idPrefix) {
|
|
|
9575
9579
|
idPrefix = element.id || idPrefix;
|
|
9576
9580
|
var doc = element.ownerDocument;
|
|
9577
9581
|
var i = 0;
|
|
9578
|
-
while (!element.id || doc.querySelectorAll(
|
|
9582
|
+
while (!element.id || doc.querySelectorAll((0, roosterjs_content_model_dom_1.getSafeIdSelector)(element.id)).length > 1) {
|
|
9579
9583
|
element.id = idPrefix + '_' + i++;
|
|
9580
9584
|
}
|
|
9581
9585
|
return element.id;
|
|
@@ -9596,6 +9600,7 @@ exports.ensureUniqueId = ensureUniqueId;
|
|
|
9596
9600
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
9597
9601
|
exports.setEditorStyle = void 0;
|
|
9598
9602
|
var ensureUniqueId_1 = __webpack_require__(/*! ./ensureUniqueId */ "./packages/roosterjs-content-model-core/lib/coreApi/setEditorStyle/ensureUniqueId.ts");
|
|
9603
|
+
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
9599
9604
|
var MAX_RULE_SELECTOR_LENGTH = 9000;
|
|
9600
9605
|
var CONTENT_DIV_ID = 'contentDiv';
|
|
9601
9606
|
/**
|
|
@@ -9617,7 +9622,7 @@ var setEditorStyle = function (core, key, cssRule, subSelectors, maxRuleLength)
|
|
|
9617
9622
|
sheet.deleteRule(i);
|
|
9618
9623
|
}
|
|
9619
9624
|
if (cssRule) {
|
|
9620
|
-
var rootSelector =
|
|
9625
|
+
var rootSelector = (0, roosterjs_content_model_dom_1.getSafeIdSelector)((0, ensureUniqueId_1.ensureUniqueId)(core.physicalRoot, CONTENT_DIV_ID));
|
|
9621
9626
|
var selectors = !subSelectors
|
|
9622
9627
|
? [rootSelector]
|
|
9623
9628
|
: typeof subSelectors === 'string'
|
|
@@ -12278,6 +12283,7 @@ exports.applyPendingFormat = applyPendingFormat;
|
|
|
12278
12283
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
12279
12284
|
exports.createLifecyclePlugin = void 0;
|
|
12280
12285
|
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
12286
|
+
var createAriaLiveElement_1 = __webpack_require__(/*! ../../utils/createAriaLiveElement */ "./packages/roosterjs-content-model-core/lib/utils/createAriaLiveElement.ts");
|
|
12281
12287
|
var ContentEditableAttributeName = 'contenteditable';
|
|
12282
12288
|
var DefaultTextColor = '#000000';
|
|
12283
12289
|
var DefaultBackColor = '#ffffff';
|
|
@@ -12337,6 +12343,8 @@ var LifecyclePlugin = /** @class */ (function () {
|
|
|
12337
12343
|
this.adjustColor();
|
|
12338
12344
|
// Let other plugins know that we are ready
|
|
12339
12345
|
this.editor.triggerEvent('editorReady', {}, true /*broadcast*/);
|
|
12346
|
+
// Initialize the Announce container.
|
|
12347
|
+
this.state.announceContainer = (0, createAriaLiveElement_1.createAriaLiveElement)(editor.getDocument());
|
|
12340
12348
|
};
|
|
12341
12349
|
/**
|
|
12342
12350
|
* Dispose this plugin
|
|
@@ -12420,6 +12428,7 @@ var isSingleImageInSelection_1 = __webpack_require__(/*! ./isSingleImageInSelect
|
|
|
12420
12428
|
var normalizePos_1 = __webpack_require__(/*! ./normalizePos */ "./packages/roosterjs-content-model-core/lib/corePlugin/selection/normalizePos.ts");
|
|
12421
12429
|
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
12422
12430
|
var MouseLeftButton = 0;
|
|
12431
|
+
var MouseMiddleButton = 1;
|
|
12423
12432
|
var MouseRightButton = 2;
|
|
12424
12433
|
var Up = 'ArrowUp';
|
|
12425
12434
|
var Down = 'ArrowDown';
|
|
@@ -12626,7 +12635,7 @@ var SelectionPlugin = /** @class */ (function () {
|
|
|
12626
12635
|
this.onMouseDown(this.editor, event.rawEvent);
|
|
12627
12636
|
break;
|
|
12628
12637
|
case 'mouseUp':
|
|
12629
|
-
this.onMouseUp();
|
|
12638
|
+
this.onMouseUp(this.editor, event);
|
|
12630
12639
|
break;
|
|
12631
12640
|
case 'keyDown':
|
|
12632
12641
|
this.onKeyDown(this.editor, event.rawEvent);
|
|
@@ -12642,25 +12651,40 @@ var SelectionPlugin = /** @class */ (function () {
|
|
|
12642
12651
|
}
|
|
12643
12652
|
};
|
|
12644
12653
|
SelectionPlugin.prototype.onMouseDown = function (editor, rawEvent) {
|
|
12645
|
-
var _a;
|
|
12654
|
+
var _a, _b;
|
|
12646
12655
|
var selection = editor.getDOMSelection();
|
|
12647
12656
|
var image;
|
|
12648
12657
|
// Image selection
|
|
12649
|
-
if ((
|
|
12650
|
-
(rawEvent.button
|
|
12651
|
-
(
|
|
12652
|
-
|
|
12653
|
-
|
|
12654
|
-
|
|
12658
|
+
if (editor.isExperimentalFeatureEnabled('LegacyImageSelection')) {
|
|
12659
|
+
if (rawEvent.button === MouseRightButton &&
|
|
12660
|
+
(image =
|
|
12661
|
+
(_a = this.getClickingImage(rawEvent)) !== null && _a !== void 0 ? _a : this.getContainedTargetImage(rawEvent, selection)) &&
|
|
12662
|
+
image.isContentEditable) {
|
|
12663
|
+
this.selectImageWithRange(image, rawEvent);
|
|
12664
|
+
return;
|
|
12665
|
+
}
|
|
12666
|
+
else if ((selection === null || selection === void 0 ? void 0 : selection.type) == 'image' && selection.image !== rawEvent.target) {
|
|
12667
|
+
this.selectBeforeOrAfterElement(editor, selection.image);
|
|
12668
|
+
return;
|
|
12669
|
+
}
|
|
12655
12670
|
}
|
|
12656
|
-
|
|
12657
|
-
|
|
12658
|
-
|
|
12659
|
-
|
|
12660
|
-
|
|
12661
|
-
|
|
12662
|
-
|
|
12663
|
-
|
|
12671
|
+
else {
|
|
12672
|
+
if ((selection === null || selection === void 0 ? void 0 : selection.type) == 'image' &&
|
|
12673
|
+
(rawEvent.button == MouseLeftButton ||
|
|
12674
|
+
(rawEvent.button == MouseRightButton &&
|
|
12675
|
+
!this.getClickingImage(rawEvent) &&
|
|
12676
|
+
!this.getContainedTargetImage(rawEvent, selection)))) {
|
|
12677
|
+
this.setDOMSelection(null /*domSelection*/, null /*tableSelection*/);
|
|
12678
|
+
}
|
|
12679
|
+
if ((image =
|
|
12680
|
+
(_b = this.getClickingImage(rawEvent)) !== null && _b !== void 0 ? _b : this.getContainedTargetImage(rawEvent, selection)) &&
|
|
12681
|
+
image.isContentEditable) {
|
|
12682
|
+
this.setDOMSelection({
|
|
12683
|
+
type: 'image',
|
|
12684
|
+
image: image,
|
|
12685
|
+
}, null);
|
|
12686
|
+
return;
|
|
12687
|
+
}
|
|
12664
12688
|
}
|
|
12665
12689
|
// Table selection
|
|
12666
12690
|
if ((selection === null || selection === void 0 ? void 0 : selection.type) == 'table' && rawEvent.button == MouseLeftButton) {
|
|
@@ -12688,7 +12712,33 @@ var SelectionPlugin = /** @class */ (function () {
|
|
|
12688
12712
|
});
|
|
12689
12713
|
}
|
|
12690
12714
|
};
|
|
12691
|
-
SelectionPlugin.prototype.
|
|
12715
|
+
SelectionPlugin.prototype.selectImageWithRange = function (image, event) {
|
|
12716
|
+
var _a;
|
|
12717
|
+
var range = image.ownerDocument.createRange();
|
|
12718
|
+
range.selectNode(image);
|
|
12719
|
+
var domSelection = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.getDOMSelection();
|
|
12720
|
+
if ((domSelection === null || domSelection === void 0 ? void 0 : domSelection.type) == 'image' && image == domSelection.image) {
|
|
12721
|
+
event.preventDefault();
|
|
12722
|
+
}
|
|
12723
|
+
else {
|
|
12724
|
+
this.setDOMSelection({
|
|
12725
|
+
type: 'range',
|
|
12726
|
+
isReverted: false,
|
|
12727
|
+
range: range,
|
|
12728
|
+
}, null);
|
|
12729
|
+
}
|
|
12730
|
+
};
|
|
12731
|
+
SelectionPlugin.prototype.onMouseUp = function (editor, event) {
|
|
12732
|
+
var image;
|
|
12733
|
+
if (editor.isExperimentalFeatureEnabled('LegacyImageSelection') &&
|
|
12734
|
+
(image = this.getClickingImage(event.rawEvent)) &&
|
|
12735
|
+
image.isContentEditable &&
|
|
12736
|
+
event.rawEvent.button != MouseMiddleButton &&
|
|
12737
|
+
(event.rawEvent.button ==
|
|
12738
|
+
MouseRightButton /* it's not possible to drag using right click */ ||
|
|
12739
|
+
event.isClicking)) {
|
|
12740
|
+
this.selectImageWithRange(image, event.rawEvent);
|
|
12741
|
+
}
|
|
12692
12742
|
this.detachMouseEvent();
|
|
12693
12743
|
};
|
|
12694
12744
|
SelectionPlugin.prototype.onKeyDown = function (editor, rawEvent) {
|
|
@@ -14472,6 +14522,37 @@ function shouldUseTableProcessor(element, context) {
|
|
|
14472
14522
|
}
|
|
14473
14523
|
|
|
14474
14524
|
|
|
14525
|
+
/***/ }),
|
|
14526
|
+
|
|
14527
|
+
/***/ "./packages/roosterjs-content-model-core/lib/utils/createAriaLiveElement.ts":
|
|
14528
|
+
/*!**********************************************************************************!*\
|
|
14529
|
+
!*** ./packages/roosterjs-content-model-core/lib/utils/createAriaLiveElement.ts ***!
|
|
14530
|
+
\**********************************************************************************/
|
|
14531
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
14532
|
+
|
|
14533
|
+
"use strict";
|
|
14534
|
+
|
|
14535
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
14536
|
+
exports.createAriaLiveElement = void 0;
|
|
14537
|
+
/**
|
|
14538
|
+
* @internal
|
|
14539
|
+
*/
|
|
14540
|
+
function createAriaLiveElement(document) {
|
|
14541
|
+
var div = document.createElement('div');
|
|
14542
|
+
div.style.clip = 'rect(0px, 0px, 0px, 0px)';
|
|
14543
|
+
div.style.clipPath = 'inset(100%)';
|
|
14544
|
+
div.style.height = '1px';
|
|
14545
|
+
div.style.overflow = 'hidden';
|
|
14546
|
+
div.style.position = 'absolute';
|
|
14547
|
+
div.style.whiteSpace = 'nowrap';
|
|
14548
|
+
div.style.width = '1px';
|
|
14549
|
+
div.ariaLive = 'assertive';
|
|
14550
|
+
document.body.appendChild(div);
|
|
14551
|
+
return div;
|
|
14552
|
+
}
|
|
14553
|
+
exports.createAriaLiveElement = createAriaLiveElement;
|
|
14554
|
+
|
|
14555
|
+
|
|
14475
14556
|
/***/ }),
|
|
14476
14557
|
|
|
14477
14558
|
/***/ "./packages/roosterjs-content-model-dom/lib/config/defaultContentModelFormatMap.ts":
|
|
@@ -17311,6 +17392,40 @@ function getObjectKeys(obj) {
|
|
|
17311
17392
|
exports.getObjectKeys = getObjectKeys;
|
|
17312
17393
|
|
|
17313
17394
|
|
|
17395
|
+
/***/ }),
|
|
17396
|
+
|
|
17397
|
+
/***/ "./packages/roosterjs-content-model-dom/lib/domUtils/getSafeIdSelector.ts":
|
|
17398
|
+
/*!********************************************************************************!*\
|
|
17399
|
+
!*** ./packages/roosterjs-content-model-dom/lib/domUtils/getSafeIdSelector.ts ***!
|
|
17400
|
+
\********************************************************************************/
|
|
17401
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
17402
|
+
|
|
17403
|
+
"use strict";
|
|
17404
|
+
|
|
17405
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
17406
|
+
exports.getSafeIdSelector = void 0;
|
|
17407
|
+
var StartsWithUnsupportedCharacter = /^[.|\-|_|\d]/;
|
|
17408
|
+
/**
|
|
17409
|
+
* Returns a safe Id to use in Native APIs.
|
|
17410
|
+
* IDs that start with number or hyphen can throw errors if used.
|
|
17411
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
|
|
17412
|
+
* @param id
|
|
17413
|
+
* @returns
|
|
17414
|
+
*/
|
|
17415
|
+
function getSafeIdSelector(id) {
|
|
17416
|
+
if (!id) {
|
|
17417
|
+
return id;
|
|
17418
|
+
}
|
|
17419
|
+
if (id.match(StartsWithUnsupportedCharacter)) {
|
|
17420
|
+
return "[id=\"" + id + "\"]";
|
|
17421
|
+
}
|
|
17422
|
+
else {
|
|
17423
|
+
return "#" + id;
|
|
17424
|
+
}
|
|
17425
|
+
}
|
|
17426
|
+
exports.getSafeIdSelector = getSafeIdSelector;
|
|
17427
|
+
|
|
17428
|
+
|
|
17314
17429
|
/***/ }),
|
|
17315
17430
|
|
|
17316
17431
|
/***/ "./packages/roosterjs-content-model-dom/lib/domUtils/isElementOfType.ts":
|
|
@@ -20026,9 +20141,9 @@ exports.shouldSetValue = shouldSetValue;
|
|
|
20026
20141
|
"use strict";
|
|
20027
20142
|
|
|
20028
20143
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
20029
|
-
exports.
|
|
20030
|
-
exports.
|
|
20031
|
-
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 = 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 = void 0;
|
|
20144
|
+
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.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.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToText = exports.contentModelToDom = exports.domToContentModel = void 0;
|
|
20145
|
+
exports.extractClipboardItems = exports.transformColor = exports.readFile = exports.parseTableCells = exports.normalizeText = exports.isSpace = exports.isPunctuation = exports.extractBorderValues = exports.combineBorderValue = exports.isCursorMovingKey = exports.isModifierKey = exports.isCharacterValue = 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.setParagraphNotImplicit = 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 = void 0;
|
|
20146
|
+
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 = 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.cacheGetEventData = void 0;
|
|
20032
20147
|
var domToContentModel_1 = __webpack_require__(/*! ./domToModel/domToContentModel */ "./packages/roosterjs-content-model-dom/lib/domToModel/domToContentModel.ts");
|
|
20033
20148
|
Object.defineProperty(exports, "domToContentModel", ({ enumerable: true, get: function () { return domToContentModel_1.domToContentModel; } }));
|
|
20034
20149
|
var contentModelToDom_1 = __webpack_require__(/*! ./modelToDom/contentModelToDom */ "./packages/roosterjs-content-model-dom/lib/modelToDom/contentModelToDom.ts");
|
|
@@ -20063,6 +20178,8 @@ var isElementOfType_1 = __webpack_require__(/*! ./domUtils/isElementOfType */ ".
|
|
|
20063
20178
|
Object.defineProperty(exports, "isElementOfType", ({ enumerable: true, get: function () { return isElementOfType_1.isElementOfType; } }));
|
|
20064
20179
|
var getObjectKeys_1 = __webpack_require__(/*! ./domUtils/getObjectKeys */ "./packages/roosterjs-content-model-dom/lib/domUtils/getObjectKeys.ts");
|
|
20065
20180
|
Object.defineProperty(exports, "getObjectKeys", ({ enumerable: true, get: function () { return getObjectKeys_1.getObjectKeys; } }));
|
|
20181
|
+
var getSafeIdSelector_1 = __webpack_require__(/*! ./domUtils/getSafeIdSelector */ "./packages/roosterjs-content-model-dom/lib/domUtils/getSafeIdSelector.ts");
|
|
20182
|
+
Object.defineProperty(exports, "getSafeIdSelector", ({ enumerable: true, get: function () { return getSafeIdSelector_1.getSafeIdSelector; } }));
|
|
20066
20183
|
var toArray_1 = __webpack_require__(/*! ./domUtils/toArray */ "./packages/roosterjs-content-model-dom/lib/domUtils/toArray.ts");
|
|
20067
20184
|
Object.defineProperty(exports, "toArray", ({ enumerable: true, get: function () { return toArray_1.toArray; } }));
|
|
20068
20185
|
var moveChildNodes_1 = __webpack_require__(/*! ./domUtils/moveChildNodes */ "./packages/roosterjs-content-model-dom/lib/domUtils/moveChildNodes.ts");
|
|
@@ -26814,7 +26931,9 @@ function canAppendList(index, previousListIndex) {
|
|
|
26814
26931
|
|
|
26815
26932
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
26816
26933
|
exports.keyboardListTrigger = void 0;
|
|
26934
|
+
var tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.mjs");
|
|
26817
26935
|
var getListTypeStyle_1 = __webpack_require__(/*! ./getListTypeStyle */ "./packages/roosterjs-content-model-plugins/lib/autoFormat/list/getListTypeStyle.ts");
|
|
26936
|
+
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
26818
26937
|
var roosterjs_content_model_api_1 = __webpack_require__(/*! roosterjs-content-model-api */ "./packages/roosterjs-content-model-api/lib/index.ts");
|
|
26819
26938
|
/**
|
|
26820
26939
|
* @internal
|
|
@@ -26828,6 +26947,7 @@ function keyboardListTrigger(model, paragraph, context, shouldSearchForBullet, s
|
|
|
26828
26947
|
var listType = listStyleType.listType, styleType = listStyleType.styleType, index = listStyleType.index;
|
|
26829
26948
|
triggerList(model, listType, styleType, index);
|
|
26830
26949
|
context.canUndoByBackspace = true;
|
|
26950
|
+
setAnnounceData(model, context);
|
|
26831
26951
|
return true;
|
|
26832
26952
|
}
|
|
26833
26953
|
return false;
|
|
@@ -26842,11 +26962,21 @@ var triggerList = function (model, listType, styleType, index) {
|
|
|
26842
26962
|
(0, roosterjs_content_model_api_1.setModelListStyle)(model, isOrderedList
|
|
26843
26963
|
? {
|
|
26844
26964
|
orderedStyleType: styleType,
|
|
26965
|
+
applyListStyleFromLevel: false,
|
|
26845
26966
|
}
|
|
26846
26967
|
: {
|
|
26847
26968
|
unorderedStyleType: styleType,
|
|
26969
|
+
applyListStyleFromLevel: false,
|
|
26848
26970
|
});
|
|
26849
26971
|
};
|
|
26972
|
+
function setAnnounceData(model, context) {
|
|
26973
|
+
var _a = (0, tslib_1.__read)((0, roosterjs_content_model_dom_1.getOperationalBlocks)(model, ['ListItem'], [] // Set stop types to be empty so we can find list items even cross the boundary of table, then we can always operation on the list item if any
|
|
26974
|
+
), 1), paragraphOrListItems = _a[0];
|
|
26975
|
+
if (paragraphOrListItems && (0, roosterjs_content_model_dom_1.isBlockGroupOfType)(paragraphOrListItems.block, 'ListItem')) {
|
|
26976
|
+
var path = paragraphOrListItems.path, block = paragraphOrListItems.block;
|
|
26977
|
+
context.announceData = (0, roosterjs_content_model_api_1.getListAnnounceData)((0, tslib_1.__spreadArray)([block], (0, tslib_1.__read)(path), false));
|
|
26978
|
+
}
|
|
26979
|
+
}
|
|
26850
26980
|
|
|
26851
26981
|
|
|
26852
26982
|
/***/ }),
|
|
@@ -28938,6 +29068,7 @@ var getHTMLImageOptions_1 = __webpack_require__(/*! ./utils/getHTMLImageOptions
|
|
|
28938
29068
|
var getSelectedImage_1 = __webpack_require__(/*! ./utils/getSelectedImage */ "./packages/roosterjs-content-model-plugins/lib/imageEdit/utils/getSelectedImage.ts");
|
|
28939
29069
|
var updateImageEditInfo_1 = __webpack_require__(/*! ./utils/updateImageEditInfo */ "./packages/roosterjs-content-model-plugins/lib/imageEdit/utils/updateImageEditInfo.ts");
|
|
28940
29070
|
var ImageEditElementClass_1 = __webpack_require__(/*! ./types/ImageEditElementClass */ "./packages/roosterjs-content-model-plugins/lib/imageEdit/types/ImageEditElementClass.ts");
|
|
29071
|
+
var normalizeImageSelection_1 = __webpack_require__(/*! ./utils/normalizeImageSelection */ "./packages/roosterjs-content-model-plugins/lib/imageEdit/utils/normalizeImageSelection.ts");
|
|
28941
29072
|
var resizerContext_1 = __webpack_require__(/*! ./Resizer/resizerContext */ "./packages/roosterjs-content-model-plugins/lib/imageEdit/Resizer/resizerContext.ts");
|
|
28942
29073
|
var rotatorContext_1 = __webpack_require__(/*! ./Rotator/rotatorContext */ "./packages/roosterjs-content-model-plugins/lib/imageEdit/Rotator/rotatorContext.ts");
|
|
28943
29074
|
var updateRotateHandle_1 = __webpack_require__(/*! ./Rotator/updateRotateHandle */ "./packages/roosterjs-content-model-plugins/lib/imageEdit/Rotator/updateRotateHandle.ts");
|
|
@@ -29120,6 +29251,9 @@ var ImageEditPlugin = /** @class */ (function () {
|
|
|
29120
29251
|
image.isSelected = shouldSelectImage;
|
|
29121
29252
|
image.isSelectedAsImageSelection = shouldSelectImage;
|
|
29122
29253
|
});
|
|
29254
|
+
if (shouldSelectImage) {
|
|
29255
|
+
(0, normalizeImageSelection_1.normalizeImageSelection)(previousSelectedImage);
|
|
29256
|
+
}
|
|
29123
29257
|
_this.cleanInfo();
|
|
29124
29258
|
result = true;
|
|
29125
29259
|
}
|
|
@@ -29177,7 +29311,7 @@ var ImageEditPlugin = /** @class */ (function () {
|
|
|
29177
29311
|
this.croppers = croppers;
|
|
29178
29312
|
this.zoomScale = editor.getDOMHelper().calculateZoomScale();
|
|
29179
29313
|
editor.setEditorStyle('imageEdit', "outline-style:none!important;", [
|
|
29180
|
-
"span:has(>img
|
|
29314
|
+
"span:has(>img" + (0, roosterjs_content_model_dom_1.getSafeIdSelector)(this.selectedImage.id) + ")",
|
|
29181
29315
|
]);
|
|
29182
29316
|
};
|
|
29183
29317
|
ImageEditPlugin.prototype.startRotateAndResize = function (editor, image) {
|
|
@@ -30602,6 +30736,48 @@ function isFixedNumberValue(value) {
|
|
|
30602
30736
|
}
|
|
30603
30737
|
|
|
30604
30738
|
|
|
30739
|
+
/***/ }),
|
|
30740
|
+
|
|
30741
|
+
/***/ "./packages/roosterjs-content-model-plugins/lib/imageEdit/utils/normalizeImageSelection.ts":
|
|
30742
|
+
/*!*************************************************************************************************!*\
|
|
30743
|
+
!*** ./packages/roosterjs-content-model-plugins/lib/imageEdit/utils/normalizeImageSelection.ts ***!
|
|
30744
|
+
\*************************************************************************************************/
|
|
30745
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
30746
|
+
|
|
30747
|
+
"use strict";
|
|
30748
|
+
|
|
30749
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
30750
|
+
exports.normalizeImageSelection = void 0;
|
|
30751
|
+
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
30752
|
+
/**
|
|
30753
|
+
* Selecting directly on the image will only capture the image segment.
|
|
30754
|
+
* However, if the selection is made while the image is within a wrapper, it will capture the span that encloses the image.
|
|
30755
|
+
* In the last case, the selection will be marked as <---SelectionMarker---><---Image---><---SelectionMarker--->.
|
|
30756
|
+
* To fix this behavior the extra selection markers are removed.
|
|
30757
|
+
* @internal
|
|
30758
|
+
*/
|
|
30759
|
+
function normalizeImageSelection(imageAndParagraph) {
|
|
30760
|
+
var paragraph = imageAndParagraph.paragraph;
|
|
30761
|
+
var index = paragraph.segments.indexOf(imageAndParagraph.image);
|
|
30762
|
+
if (index > 0) {
|
|
30763
|
+
var markerBefore = paragraph.segments[index - 1];
|
|
30764
|
+
var markerAfter = paragraph.segments[index + 1];
|
|
30765
|
+
if (markerBefore &&
|
|
30766
|
+
markerAfter &&
|
|
30767
|
+
markerAfter.segmentType == 'SelectionMarker' &&
|
|
30768
|
+
markerBefore.segmentType == 'SelectionMarker' &&
|
|
30769
|
+
markerAfter.isSelected &&
|
|
30770
|
+
markerBefore.isSelected) {
|
|
30771
|
+
var mutatedParagraph = (0, roosterjs_content_model_dom_1.mutateBlock)(paragraph);
|
|
30772
|
+
mutatedParagraph.segments.splice(index - 1, 1);
|
|
30773
|
+
mutatedParagraph.segments.splice(index, 1);
|
|
30774
|
+
}
|
|
30775
|
+
return imageAndParagraph;
|
|
30776
|
+
}
|
|
30777
|
+
}
|
|
30778
|
+
exports.normalizeImageSelection = normalizeImageSelection;
|
|
30779
|
+
|
|
30780
|
+
|
|
30605
30781
|
/***/ }),
|
|
30606
30782
|
|
|
30607
30783
|
/***/ "./packages/roosterjs-content-model-plugins/lib/imageEdit/utils/updateHandleCursor.ts":
|
|
@@ -30817,11 +30993,13 @@ exports.updateWrapper = updateWrapper;
|
|
|
30817
30993
|
"use strict";
|
|
30818
30994
|
|
|
30819
30995
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
30820
|
-
exports.ImageEditPlugin = exports.CustomReplacePlugin = exports.PickerPlugin = exports.HyperlinkPlugin = exports.MarkdownPlugin = exports.WatermarkPlugin = exports.ContextMenuPluginBase = exports.ShortcutPlugin = exports.ShortcutOutdentList = exports.ShortcutIndentList = exports.ShortcutDecreaseFont = exports.ShortcutIncreaseFont = exports.ShortcutNumbering = exports.ShortcutBullet = exports.ShortcutRedoMacOS = exports.ShortcutRedoAlt = exports.ShortcutRedo = exports.ShortcutUndo2 = exports.ShortcutUndo = exports.ShortcutClearFormat = exports.ShortcutUnderline = exports.ShortcutItalic = exports.ShortcutBold = exports.AutoFormatPlugin = exports.EditPlugin = exports.PastePlugin = exports.TableEditPlugin = void 0;
|
|
30996
|
+
exports.ImageEditPlugin = exports.CustomReplacePlugin = exports.PickerPlugin = exports.HyperlinkPlugin = exports.MarkdownPlugin = exports.WatermarkPlugin = exports.ContextMenuPluginBase = exports.ShortcutPlugin = exports.ShortcutOutdentList = exports.ShortcutIndentList = exports.ShortcutDecreaseFont = exports.ShortcutIncreaseFont = exports.ShortcutNumbering = exports.ShortcutBullet = exports.ShortcutRedoMacOS = exports.ShortcutRedoAlt = exports.ShortcutRedo = exports.ShortcutUndo2 = exports.ShortcutUndo = exports.ShortcutClearFormat = exports.ShortcutUnderline = exports.ShortcutItalic = exports.ShortcutBold = exports.AutoFormatPlugin = exports.EditPlugin = exports.DefaultSanitizers = exports.PastePlugin = exports.TableEditPlugin = void 0;
|
|
30821
30997
|
var TableEditPlugin_1 = __webpack_require__(/*! ./tableEdit/TableEditPlugin */ "./packages/roosterjs-content-model-plugins/lib/tableEdit/TableEditPlugin.ts");
|
|
30822
30998
|
Object.defineProperty(exports, "TableEditPlugin", ({ enumerable: true, get: function () { return TableEditPlugin_1.TableEditPlugin; } }));
|
|
30823
30999
|
var PastePlugin_1 = __webpack_require__(/*! ./paste/PastePlugin */ "./packages/roosterjs-content-model-plugins/lib/paste/PastePlugin.ts");
|
|
30824
31000
|
Object.defineProperty(exports, "PastePlugin", ({ enumerable: true, get: function () { return PastePlugin_1.PastePlugin; } }));
|
|
31001
|
+
var DefaultSanitizers_1 = __webpack_require__(/*! ./paste/DefaultSanitizers */ "./packages/roosterjs-content-model-plugins/lib/paste/DefaultSanitizers.ts");
|
|
31002
|
+
Object.defineProperty(exports, "DefaultSanitizers", ({ enumerable: true, get: function () { return DefaultSanitizers_1.DefaultSanitizers; } }));
|
|
30825
31003
|
var EditPlugin_1 = __webpack_require__(/*! ./edit/EditPlugin */ "./packages/roosterjs-content-model-plugins/lib/edit/EditPlugin.ts");
|
|
30826
31004
|
Object.defineProperty(exports, "EditPlugin", ({ enumerable: true, get: function () { return EditPlugin_1.EditPlugin; } }));
|
|
30827
31005
|
var AutoFormatPlugin_1 = __webpack_require__(/*! ./autoFormat/AutoFormatPlugin */ "./packages/roosterjs-content-model-plugins/lib/autoFormat/AutoFormatPlugin.ts");
|
|
@@ -31126,7 +31304,7 @@ exports.setFormat = setFormat;
|
|
|
31126
31304
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
31127
31305
|
exports.divParagraphSanitizer = exports.DefaultSanitizers = void 0;
|
|
31128
31306
|
/**
|
|
31129
|
-
*
|
|
31307
|
+
* Default style sanitizers for PastePlugin.
|
|
31130
31308
|
*/
|
|
31131
31309
|
exports.DefaultSanitizers = {
|
|
31132
31310
|
width: divParagraphSanitizer,
|