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