roosterjs 8.22.1 → 8.24.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/README.md +1 -1
- package/dist/rooster-amd-min.js +1 -1
- package/dist/rooster-amd-min.js.map +1 -1
- package/dist/rooster-amd.d.ts +686 -103
- package/dist/rooster-amd.js +1431 -163
- package/dist/rooster-amd.js.map +1 -1
- package/dist/rooster-min.js +1 -1
- package/dist/rooster-min.js.map +1 -1
- package/dist/rooster.d.ts +684 -101
- package/dist/rooster.js +1431 -163
- package/dist/rooster.js.map +1 -1
- package/package.json +7 -7
- package/tsconfig.child.tsbuildinfo +1 -1
package/dist/rooster.js
CHANGED
|
@@ -2930,23 +2930,28 @@ exports.default = insertEntity;
|
|
|
2930
2930
|
|
|
2931
2931
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2932
2932
|
var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "./packages/roosterjs-editor-dom/lib/index.ts");
|
|
2933
|
-
function insertImage(editor, imageFile) {
|
|
2933
|
+
function insertImage(editor, imageFile, attributes) {
|
|
2934
2934
|
if (typeof imageFile == 'string') {
|
|
2935
|
-
insertImageWithSrc(editor, imageFile);
|
|
2935
|
+
insertImageWithSrc(editor, imageFile, attributes);
|
|
2936
2936
|
}
|
|
2937
2937
|
else {
|
|
2938
2938
|
(0, roosterjs_editor_dom_1.readFile)(imageFile, function (dataUrl) {
|
|
2939
2939
|
if (dataUrl && !editor.isDisposed()) {
|
|
2940
|
-
insertImageWithSrc(editor, dataUrl);
|
|
2940
|
+
insertImageWithSrc(editor, dataUrl, attributes);
|
|
2941
2941
|
}
|
|
2942
2942
|
});
|
|
2943
2943
|
}
|
|
2944
2944
|
}
|
|
2945
2945
|
exports.default = insertImage;
|
|
2946
|
-
function insertImageWithSrc(editor, src) {
|
|
2946
|
+
function insertImageWithSrc(editor, src, attributes) {
|
|
2947
2947
|
editor.addUndoSnapshot(function () {
|
|
2948
2948
|
var image = editor.getDocument().createElement('img');
|
|
2949
2949
|
image.src = src;
|
|
2950
|
+
if (attributes) {
|
|
2951
|
+
Object.keys(attributes).forEach(function (attribute) {
|
|
2952
|
+
return image.setAttribute(attribute, attributes[attribute]);
|
|
2953
|
+
});
|
|
2954
|
+
}
|
|
2950
2955
|
image.style.maxWidth = '100%';
|
|
2951
2956
|
editor.insertNode(image);
|
|
2952
2957
|
}, "Format" /* Format */);
|
|
@@ -3569,9 +3574,10 @@ var toggleListType_1 = __webpack_require__(/*! ../utils/toggleListType */ "./pac
|
|
|
3569
3574
|
* If selection contains both bullet/numbering and normal text, the behavior is decided by corresponding
|
|
3570
3575
|
* browser execCommand API
|
|
3571
3576
|
* @param editor The editor instance
|
|
3577
|
+
* @param listStyle (Optional) the style of the bullet list. If not defined, the style will be set to disc.
|
|
3572
3578
|
*/
|
|
3573
|
-
function toggleBullet(editor) {
|
|
3574
|
-
(0, toggleListType_1.default)(editor, 2 /* Unordered
|
|
3579
|
+
function toggleBullet(editor, listStyle) {
|
|
3580
|
+
(0, toggleListType_1.default)(editor, 2 /* Unordered */, undefined /* startNumber */, false /* includeSiblingLists */, listStyle);
|
|
3575
3581
|
}
|
|
3576
3582
|
exports.default = toggleBullet;
|
|
3577
3583
|
|
|
@@ -3719,9 +3725,10 @@ var toggleListType_1 = __webpack_require__(/*! ../utils/toggleListType */ "./pac
|
|
|
3719
3725
|
* realization of browser execCommand API
|
|
3720
3726
|
* @param editor The editor instance
|
|
3721
3727
|
* @param startNumber (Optional) Start number of the list
|
|
3728
|
+
* @param listStyle (Optional) The style of the numbering list. If not defined, the style will be set to decimal.
|
|
3722
3729
|
*/
|
|
3723
|
-
function toggleNumbering(editor, startNumber) {
|
|
3724
|
-
(0, toggleListType_1.default)(editor, 1 /* Ordered */, startNumber);
|
|
3730
|
+
function toggleNumbering(editor, startNumber, listStyle) {
|
|
3731
|
+
(0, toggleListType_1.default)(editor, 1 /* Ordered */, startNumber, undefined /* includeSiblingLists */, listStyle);
|
|
3725
3732
|
}
|
|
3726
3733
|
exports.default = toggleNumbering;
|
|
3727
3734
|
|
|
@@ -4477,8 +4484,9 @@ var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "./
|
|
|
4477
4484
|
* @param listType The list type to toggle
|
|
4478
4485
|
* @param startNumber (Optional) Start number of the list
|
|
4479
4486
|
* @param includeSiblingLists Sets wether the operation should include Sibling Lists, by default true
|
|
4487
|
+
* @param listStyle (Optional) the style of an ordered or unordered list. If If not defined, the style will be set to disc or decimal.
|
|
4480
4488
|
*/
|
|
4481
|
-
function toggleListType(editor, listType, startNumber, includeSiblingLists) {
|
|
4489
|
+
function toggleListType(editor, listType, startNumber, includeSiblingLists, listStyle) {
|
|
4482
4490
|
if (includeSiblingLists === void 0) { includeSiblingLists = true; }
|
|
4483
4491
|
(0, blockFormat_1.default)(editor, function (region, start, end, chains) {
|
|
4484
4492
|
var _a;
|
|
@@ -4488,6 +4496,9 @@ function toggleListType(editor, listType, startNumber, includeSiblingLists) {
|
|
|
4488
4496
|
: (0, roosterjs_editor_dom_1.createVListFromRegion)(region, includeSiblingLists);
|
|
4489
4497
|
if (vList) {
|
|
4490
4498
|
vList.changeListType(start, end, listType);
|
|
4499
|
+
if (listStyle && editor.isFeatureEnabled("AutoFormatList" /* AutoFormatList */)) {
|
|
4500
|
+
vList.setListStyleType(listStyle);
|
|
4501
|
+
}
|
|
4491
4502
|
vList.writeBack();
|
|
4492
4503
|
}
|
|
4493
4504
|
});
|
|
@@ -4714,11 +4725,13 @@ exports.coreApiMap = {
|
|
|
4714
4725
|
"use strict";
|
|
4715
4726
|
|
|
4716
4727
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4717
|
-
exports.createPasteFragment = void 0;
|
|
4728
|
+
exports.transformTabCharacters = exports.createPasteFragment = void 0;
|
|
4718
4729
|
var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "./packages/roosterjs-editor-dom/lib/index.ts");
|
|
4719
4730
|
var START_FRAGMENT = '<!--StartFragment-->';
|
|
4720
4731
|
var END_FRAGMENT = '<!--EndFragment-->';
|
|
4721
4732
|
var NBSP_HTML = '\u00A0';
|
|
4733
|
+
var ENSP_HTML = '\u2002';
|
|
4734
|
+
var TAB_SPACES = 6;
|
|
4722
4735
|
/**
|
|
4723
4736
|
* @internal
|
|
4724
4737
|
* Create a DocumentFragment for paste from a ClipboardData
|
|
@@ -4809,6 +4822,9 @@ var createPasteFragment = function (core, clipboardData, position, pasteAsText,
|
|
|
4809
4822
|
.replace(/^ /g, NBSP_HTML)
|
|
4810
4823
|
.replace(/\r/g, '')
|
|
4811
4824
|
.replace(/ {2}/g, ' ' + NBSP_HTML);
|
|
4825
|
+
if (line.includes('\t')) {
|
|
4826
|
+
line = transformTabCharacters(line, index === 0 ? position.offset : 0);
|
|
4827
|
+
}
|
|
4812
4828
|
var textNode = document.createTextNode(line);
|
|
4813
4829
|
// There are 3 scenarios:
|
|
4814
4830
|
// 1. Single line: Paste as it is
|
|
@@ -4838,6 +4854,26 @@ var createPasteFragment = function (core, clipboardData, position, pasteAsText,
|
|
|
4838
4854
|
return fragment;
|
|
4839
4855
|
};
|
|
4840
4856
|
exports.createPasteFragment = createPasteFragment;
|
|
4857
|
+
/**
|
|
4858
|
+
* @internal
|
|
4859
|
+
* Transform \t characters into EN SPACE characters
|
|
4860
|
+
* @param input string NOT containing \n characters
|
|
4861
|
+
* @example t("\thello", 2) => "    hello"
|
|
4862
|
+
*/
|
|
4863
|
+
function transformTabCharacters(input, initialOffset) {
|
|
4864
|
+
if (initialOffset === void 0) { initialOffset = 0; }
|
|
4865
|
+
var line = input;
|
|
4866
|
+
var tIndex;
|
|
4867
|
+
while ((tIndex = line.indexOf('\t')) != -1) {
|
|
4868
|
+
var lineBefore = line.slice(0, tIndex);
|
|
4869
|
+
var lineAfter = line.slice(tIndex + 1);
|
|
4870
|
+
var tabCount = TAB_SPACES - ((lineBefore.length + initialOffset) % TAB_SPACES);
|
|
4871
|
+
var tabStr = Array(tabCount).fill(ENSP_HTML).join('');
|
|
4872
|
+
line = lineBefore + tabStr + lineAfter;
|
|
4873
|
+
}
|
|
4874
|
+
return line;
|
|
4875
|
+
}
|
|
4876
|
+
exports.transformTabCharacters = transformTabCharacters;
|
|
4841
4877
|
function getCurrentFormat(core, node) {
|
|
4842
4878
|
var pendableFormat = core.api.getPendableFormatState(core, true /** forceGetStateFromDOM*/);
|
|
4843
4879
|
var styleBasedFormat = core.api.getStyleBasedFormatState(core, node);
|
|
@@ -6153,12 +6189,14 @@ var CopyPastePlugin = /** @class */ (function () {
|
|
|
6153
6189
|
function CopyPastePlugin(options) {
|
|
6154
6190
|
var _this = this;
|
|
6155
6191
|
this.onPaste = function (event) {
|
|
6192
|
+
var _a;
|
|
6156
6193
|
var range;
|
|
6157
|
-
(0, roosterjs_editor_dom_1.extractClipboardEvent)(event, function (clipboardData) { return _this.editor.paste(clipboardData); }, {
|
|
6158
|
-
allowLinkPreview: _this.editor.isFeatureEnabled("PasteWithLinkPreview" /* PasteWithLinkPreview */),
|
|
6194
|
+
(0, roosterjs_editor_dom_1.extractClipboardEvent)(event, function (clipboardData) { var _a; return (_a = _this.editor) === null || _a === void 0 ? void 0 : _a.paste(clipboardData); }, {
|
|
6195
|
+
allowLinkPreview: (_a = _this.editor) === null || _a === void 0 ? void 0 : _a.isFeatureEnabled("PasteWithLinkPreview" /* PasteWithLinkPreview */),
|
|
6159
6196
|
allowedCustomPasteType: _this.state.allowedCustomPasteType,
|
|
6160
6197
|
getTempDiv: function () {
|
|
6161
|
-
|
|
6198
|
+
var _a;
|
|
6199
|
+
range = (_a = _this.editor) === null || _a === void 0 ? void 0 : _a.getSelectionRange();
|
|
6162
6200
|
return _this.getTempDiv();
|
|
6163
6201
|
},
|
|
6164
6202
|
removeTempDiv: function (div) {
|
|
@@ -7322,6 +7360,7 @@ exports.default = NormalizeTablePlugin;
|
|
|
7322
7360
|
function normalizeTables(tables) {
|
|
7323
7361
|
var isDOMChanged = false;
|
|
7324
7362
|
tables.forEach(function (table) {
|
|
7363
|
+
var _a;
|
|
7325
7364
|
var tbody = null;
|
|
7326
7365
|
for (var child = table.firstChild; child; child = child.nextSibling) {
|
|
7327
7366
|
var tag = (0, roosterjs_editor_dom_1.getTagOfNode)(child);
|
|
@@ -7338,7 +7377,7 @@ function normalizeTables(tables) {
|
|
|
7338
7377
|
case 'TBODY':
|
|
7339
7378
|
if (tbody) {
|
|
7340
7379
|
(0, roosterjs_editor_dom_1.moveChildNodes)(tbody, child, true /*keepExistingChildren*/);
|
|
7341
|
-
child.parentNode.removeChild(child);
|
|
7380
|
+
(_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child);
|
|
7342
7381
|
child = tbody;
|
|
7343
7382
|
isDOMChanged = true;
|
|
7344
7383
|
}
|
|
@@ -7346,16 +7385,20 @@ function normalizeTables(tables) {
|
|
|
7346
7385
|
tbody = child;
|
|
7347
7386
|
}
|
|
7348
7387
|
break;
|
|
7349
|
-
case 'COLGROUP':
|
|
7350
|
-
if (table.tHead) {
|
|
7351
|
-
table.tHead.prepend(child);
|
|
7352
|
-
}
|
|
7353
|
-
break;
|
|
7354
7388
|
default:
|
|
7355
7389
|
tbody = null;
|
|
7356
7390
|
break;
|
|
7357
7391
|
}
|
|
7358
7392
|
}
|
|
7393
|
+
var colgroups = table.querySelectorAll('colgroup');
|
|
7394
|
+
var thead = table.querySelector('thead');
|
|
7395
|
+
if (thead) {
|
|
7396
|
+
colgroups.forEach(function (colgroup) {
|
|
7397
|
+
if (!thead.contains(colgroup)) {
|
|
7398
|
+
thead.appendChild(colgroup);
|
|
7399
|
+
}
|
|
7400
|
+
});
|
|
7401
|
+
}
|
|
7359
7402
|
});
|
|
7360
7403
|
return isDOMChanged;
|
|
7361
7404
|
}
|
|
@@ -7635,7 +7678,8 @@ var UndoPlugin = /** @class */ (function () {
|
|
|
7635
7678
|
UndoPlugin.prototype.onKeyDown = function (evt) {
|
|
7636
7679
|
// Handle backspace/delete when there is a selection to take a snapshot
|
|
7637
7680
|
// since we want the state prior to deletion restorable
|
|
7638
|
-
|
|
7681
|
+
// Ignore if keycombo is ALT+BACKSPACE
|
|
7682
|
+
if ((evt.which == 8 /* BACKSPACE */ && !evt.altKey) || evt.which == 46 /* DELETE */) {
|
|
7639
7683
|
if (evt.which == 8 /* BACKSPACE */ && this.canUndoAutoComplete()) {
|
|
7640
7684
|
evt.preventDefault();
|
|
7641
7685
|
this.editor.undo();
|
|
@@ -9670,11 +9714,24 @@ var SelectionBlockScoper = /** @class */ (function () {
|
|
|
9670
9714
|
* @param startFrom Where to start, can be Begin, End, SelectionStart
|
|
9671
9715
|
*/
|
|
9672
9716
|
function SelectionBlockScoper(rootNode, position, startFrom) {
|
|
9717
|
+
var _a;
|
|
9673
9718
|
this.rootNode = rootNode;
|
|
9674
9719
|
this.startFrom = startFrom;
|
|
9675
|
-
|
|
9676
|
-
|
|
9677
|
-
|
|
9720
|
+
// Debugging info, will be removed later
|
|
9721
|
+
var isPosition = false;
|
|
9722
|
+
if ((0, safeInstanceOf_1.default)(position, 'Range')) {
|
|
9723
|
+
position = Position_1.default.getStart(position);
|
|
9724
|
+
}
|
|
9725
|
+
else {
|
|
9726
|
+
isPosition = true;
|
|
9727
|
+
}
|
|
9728
|
+
try {
|
|
9729
|
+
this.position = position.normalize();
|
|
9730
|
+
this.block = (0, getBlockElementAtNode_1.default)(this.rootNode, this.position.node);
|
|
9731
|
+
}
|
|
9732
|
+
catch (e) {
|
|
9733
|
+
throw new Error(((_a = e) === null || _a === void 0 ? void 0 : _a.message) + "; isPosition: " + isPosition + "; actual type: " + typeof position + "; String name: " + (typeof (position === null || position === void 0 ? void 0 : position.toString) === 'function' ? position.toString() : 'No toString()'));
|
|
9734
|
+
}
|
|
9678
9735
|
}
|
|
9679
9736
|
/**
|
|
9680
9737
|
* Get the start block element
|
|
@@ -11232,7 +11289,8 @@ exports.default = getPredefinedCssForElement;
|
|
|
11232
11289
|
|
|
11233
11290
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11234
11291
|
exports.KnownCreateElementData = exports.createElement = exports.matchesSelector = exports.setColor = exports.getInnerHTML = exports.readFile = exports.safeInstanceOf = exports.toArray = exports.normalizeRect = exports.splitTextNode = exports.getLastLeafNode = exports.getFirstLeafNode = exports.getPreviousLeafSibling = exports.getNextLeafSibling = exports.wrap = exports.unwrap = exports.splitBalancedNodeRange = exports.splitParentNode = exports.queryElements = exports.matchLink = exports.isVoidHtmlElement = exports.isNodeEmpty = exports.isBlockElement = exports.getTagOfNode = exports.PendableFormatCommandMap = exports.getPendableFormatState = exports.getComputedStyle = exports.getComputedStyles = exports.fromHtml = exports.findClosestElementAncestor = exports.contains = exports.collapseNodes = exports.changeElementTag = exports.applyFormat = exports.getBrowserInfo = exports.Browser = exports.arrayPush = exports.extractClipboardItemsForIE = exports.extractClipboardItems = exports.extractClipboardEvent = exports.applyTextStyle = exports.PartialInlineElement = exports.NodeInlineElement = exports.LinkInlineElement = exports.ImageInlineElement = exports.getInlineElementAtNode = exports.PositionContentSearcher = exports.ContentTraverser = exports.getFirstLastBlockElement = exports.getBlockElementAtNode = void 0;
|
|
11235
|
-
exports.getTextContent = exports.deleteSelectedContent = exports.adjustInsertPosition = exports.setStyles = exports.getStyles = exports.isCtrlOrMetaPressed = exports.isCharacterValue = exports.isModifierKey = exports.clearEventDataCache = exports.cacheGetEventData = exports.getEntitySelector = exports.getEntityFromElement = exports.commitEntity = exports.chainSanitizerCallback = exports.createDefaultHtmlSanitizerOptions = exports.getInheritableStyles = exports.HtmlSanitizer = exports.canUndoAutoComplete = exports.createSnapshots = exports.moveCurrentSnapsnot = exports.moveCurrentSnapshot = exports.clearProceedingSnapshotsV2 = exports.clearProceedingSnapshots = exports.canMoveCurrentSnapshot = exports.addSnapshotV2 = exports.addSnapshot = exports.addRangeToSelection = exports.setHtmlWithMetadata = exports.setHtmlWithSelectionPath = exports.getHtmlWithSelectionPath = exports.getSelectionPath = exports.isPositionAtBeginningOf = exports.getPositionRect = exports.createRange = exports.Position = exports.mergeBlocksInRegion = exports.getSelectionRangeInRegion = exports.isNodeInRegion = exports.collapseNodesInRegion = exports.getSelectedBlockElementsInRegion = exports.getRegionsFromRange = exports.setListItemStyle = exports.VListChain = exports.createVListFromRegion = exports.VListItem = exports.VList = exports.isWholeTableSelected = exports.VTable = exports.moveChildNodes = void 0;
|
|
11292
|
+
exports.validate = exports.getTextContent = exports.deleteSelectedContent = exports.adjustInsertPosition = exports.setStyles = exports.getStyles = exports.isCtrlOrMetaPressed = exports.isCharacterValue = exports.isModifierKey = exports.clearEventDataCache = exports.cacheGetEventData = exports.getEntitySelector = exports.getEntityFromElement = exports.commitEntity = exports.chainSanitizerCallback = exports.createDefaultHtmlSanitizerOptions = exports.getInheritableStyles = exports.HtmlSanitizer = exports.canUndoAutoComplete = exports.createSnapshots = exports.moveCurrentSnapsnot = exports.moveCurrentSnapshot = exports.clearProceedingSnapshotsV2 = exports.clearProceedingSnapshots = exports.canMoveCurrentSnapshot = exports.addSnapshotV2 = exports.addSnapshot = exports.addRangeToSelection = exports.setHtmlWithMetadata = exports.setHtmlWithSelectionPath = exports.getHtmlWithSelectionPath = exports.getSelectionPath = exports.isPositionAtBeginningOf = exports.getPositionRect = exports.createRange = exports.Position = exports.mergeBlocksInRegion = exports.getSelectionRangeInRegion = exports.isNodeInRegion = exports.collapseNodesInRegion = exports.getSelectedBlockElementsInRegion = exports.getRegionsFromRange = exports.setListItemStyle = exports.VListChain = exports.createVListFromRegion = exports.VListItem = exports.VList = exports.isWholeTableSelected = exports.VTable = exports.moveChildNodes = void 0;
|
|
11293
|
+
exports.removeMetadata = exports.setMetadata = exports.getMetadata = exports.createObjectDefinition = exports.createArrayDefinition = exports.createStringDefinition = exports.createBooleanDefinition = exports.createNumberDefinition = void 0;
|
|
11236
11294
|
var getBlockElementAtNode_1 = __webpack_require__(/*! ./blockElements/getBlockElementAtNode */ "./packages/roosterjs-editor-dom/lib/blockElements/getBlockElementAtNode.ts");
|
|
11237
11295
|
Object.defineProperty(exports, "getBlockElementAtNode", { enumerable: true, get: function () { return getBlockElementAtNode_1.default; } });
|
|
11238
11296
|
var getFirstLastBlockElement_1 = __webpack_require__(/*! ./blockElements/getFirstLastBlockElement */ "./packages/roosterjs-editor-dom/lib/blockElements/getFirstLastBlockElement.ts");
|
|
@@ -11420,6 +11478,18 @@ var deleteSelectedContent_1 = __webpack_require__(/*! ./edit/deleteSelectedConte
|
|
|
11420
11478
|
Object.defineProperty(exports, "deleteSelectedContent", { enumerable: true, get: function () { return deleteSelectedContent_1.default; } });
|
|
11421
11479
|
var getTextContent_1 = __webpack_require__(/*! ./edit/getTextContent */ "./packages/roosterjs-editor-dom/lib/edit/getTextContent.ts");
|
|
11422
11480
|
Object.defineProperty(exports, "getTextContent", { enumerable: true, get: function () { return getTextContent_1.default; } });
|
|
11481
|
+
var validate_1 = __webpack_require__(/*! ./metadata/validate */ "./packages/roosterjs-editor-dom/lib/metadata/validate.ts");
|
|
11482
|
+
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_1.default; } });
|
|
11483
|
+
var definitionCreators_1 = __webpack_require__(/*! ./metadata/definitionCreators */ "./packages/roosterjs-editor-dom/lib/metadata/definitionCreators.ts");
|
|
11484
|
+
Object.defineProperty(exports, "createNumberDefinition", { enumerable: true, get: function () { return definitionCreators_1.createNumberDefinition; } });
|
|
11485
|
+
Object.defineProperty(exports, "createBooleanDefinition", { enumerable: true, get: function () { return definitionCreators_1.createBooleanDefinition; } });
|
|
11486
|
+
Object.defineProperty(exports, "createStringDefinition", { enumerable: true, get: function () { return definitionCreators_1.createStringDefinition; } });
|
|
11487
|
+
Object.defineProperty(exports, "createArrayDefinition", { enumerable: true, get: function () { return definitionCreators_1.createArrayDefinition; } });
|
|
11488
|
+
Object.defineProperty(exports, "createObjectDefinition", { enumerable: true, get: function () { return definitionCreators_1.createObjectDefinition; } });
|
|
11489
|
+
var metadata_1 = __webpack_require__(/*! ./metadata/metadata */ "./packages/roosterjs-editor-dom/lib/metadata/metadata.ts");
|
|
11490
|
+
Object.defineProperty(exports, "getMetadata", { enumerable: true, get: function () { return metadata_1.getMetadata; } });
|
|
11491
|
+
Object.defineProperty(exports, "setMetadata", { enumerable: true, get: function () { return metadata_1.setMetadata; } });
|
|
11492
|
+
Object.defineProperty(exports, "removeMetadata", { enumerable: true, get: function () { return metadata_1.removeMetadata; } });
|
|
11423
11493
|
|
|
11424
11494
|
|
|
11425
11495
|
/***/ }),
|
|
@@ -11826,7 +11896,7 @@ var splitTextNode_1 = __webpack_require__(/*! ../utils/splitTextNode */ "./packa
|
|
|
11826
11896
|
var wrap_1 = __webpack_require__(/*! ../utils/wrap */ "./packages/roosterjs-editor-dom/lib/utils/wrap.ts");
|
|
11827
11897
|
var getLeafSibling_1 = __webpack_require__(/*! ../utils/getLeafSibling */ "./packages/roosterjs-editor-dom/lib/utils/getLeafSibling.ts");
|
|
11828
11898
|
var splitParentNode_1 = __webpack_require__(/*! ../utils/splitParentNode */ "./packages/roosterjs-editor-dom/lib/utils/splitParentNode.ts");
|
|
11829
|
-
var STYLET_AGS = 'SPAN,B,I,U,EM,STRONG,STRIKE,S,SMALL'.split(',');
|
|
11899
|
+
var STYLET_AGS = 'SPAN,B,I,U,EM,STRONG,STRIKE,S,SMALL,SUP,SUB'.split(',');
|
|
11830
11900
|
/**
|
|
11831
11901
|
* Apply style using a styler function to the given container node in the given range
|
|
11832
11902
|
* @param container The container node to apply style to
|
|
@@ -12090,6 +12160,8 @@ var toArray_1 = __webpack_require__(/*! ../utils/toArray */ "./packages/roosterj
|
|
|
12090
12160
|
var unwrap_1 = __webpack_require__(/*! ../utils/unwrap */ "./packages/roosterjs-editor-dom/lib/utils/unwrap.ts");
|
|
12091
12161
|
var VListItem_1 = __webpack_require__(/*! ./VListItem */ "./packages/roosterjs-editor-dom/lib/list/VListItem.ts");
|
|
12092
12162
|
var wrap_1 = __webpack_require__(/*! ../utils/wrap */ "./packages/roosterjs-editor-dom/lib/utils/wrap.ts");
|
|
12163
|
+
var definitionCreators_1 = __webpack_require__(/*! ../metadata/definitionCreators */ "./packages/roosterjs-editor-dom/lib/metadata/definitionCreators.ts");
|
|
12164
|
+
var metadata_1 = __webpack_require__(/*! ../metadata/metadata */ "./packages/roosterjs-editor-dom/lib/metadata/metadata.ts");
|
|
12093
12165
|
/**
|
|
12094
12166
|
* Represent a bullet or a numbering list
|
|
12095
12167
|
*
|
|
@@ -12263,6 +12335,8 @@ var VList = /** @class */ (function () {
|
|
|
12263
12335
|
start++;
|
|
12264
12336
|
}
|
|
12265
12337
|
}
|
|
12338
|
+
var itemIndex = _this.getListItemIndex(item.getNode());
|
|
12339
|
+
item.applyListStyle(_this.rootList, itemIndex);
|
|
12266
12340
|
lastList = topList;
|
|
12267
12341
|
});
|
|
12268
12342
|
// Restore the content to the position of placeholder
|
|
@@ -12340,6 +12414,14 @@ var VList = /** @class */ (function () {
|
|
|
12340
12414
|
return needChangeType ? item.changeListType(targetType) : item.outdent();
|
|
12341
12415
|
});
|
|
12342
12416
|
};
|
|
12417
|
+
/**
|
|
12418
|
+
* Change list style of the given range of this list.
|
|
12419
|
+
* If some of the items are not real list item yet, this will make them to be list item with given style
|
|
12420
|
+
* @param targetStyle Target list style
|
|
12421
|
+
*/
|
|
12422
|
+
VList.prototype.setListStyleType = function (targetStyle) {
|
|
12423
|
+
(0, metadata_1.setMetadata)(this.rootList, targetStyle, (0, definitionCreators_1.createNumberDefinition)());
|
|
12424
|
+
};
|
|
12343
12425
|
/**
|
|
12344
12426
|
* Append a new item to this VList
|
|
12345
12427
|
* @param node node of the item to append. If it is not wrapped with LI tag, it will be wrapped
|
|
@@ -12679,10 +12761,13 @@ var getTagOfNode_1 = __webpack_require__(/*! ../utils/getTagOfNode */ "./package
|
|
|
12679
12761
|
var isBlockElement_1 = __webpack_require__(/*! ../utils/isBlockElement */ "./packages/roosterjs-editor-dom/lib/utils/isBlockElement.ts");
|
|
12680
12762
|
var moveChildNodes_1 = __webpack_require__(/*! ../utils/moveChildNodes */ "./packages/roosterjs-editor-dom/lib/utils/moveChildNodes.ts");
|
|
12681
12763
|
var safeInstanceOf_1 = __webpack_require__(/*! ../utils/safeInstanceOf */ "./packages/roosterjs-editor-dom/lib/utils/safeInstanceOf.ts");
|
|
12764
|
+
var setBulletListMarkers_1 = __webpack_require__(/*! ./setBulletListMarkers */ "./packages/roosterjs-editor-dom/lib/list/setBulletListMarkers.ts");
|
|
12682
12765
|
var setListItemStyle_1 = __webpack_require__(/*! ./setListItemStyle */ "./packages/roosterjs-editor-dom/lib/list/setListItemStyle.ts");
|
|
12766
|
+
var setNumberingListMarkers_1 = __webpack_require__(/*! ./setNumberingListMarkers */ "./packages/roosterjs-editor-dom/lib/list/setNumberingListMarkers.ts");
|
|
12683
12767
|
var toArray_1 = __webpack_require__(/*! ../utils/toArray */ "./packages/roosterjs-editor-dom/lib/utils/toArray.ts");
|
|
12684
12768
|
var unwrap_1 = __webpack_require__(/*! ../utils/unwrap */ "./packages/roosterjs-editor-dom/lib/utils/unwrap.ts");
|
|
12685
12769
|
var wrap_1 = __webpack_require__(/*! ../utils/wrap */ "./packages/roosterjs-editor-dom/lib/utils/wrap.ts");
|
|
12770
|
+
var metadata_1 = __webpack_require__(/*! ../metadata/metadata */ "./packages/roosterjs-editor-dom/lib/metadata/metadata.ts");
|
|
12686
12771
|
var orderListStyles = [null, 'lower-alpha', 'lower-roman'];
|
|
12687
12772
|
var MARGIN_BASE = '0in 0in 0in 0.5in';
|
|
12688
12773
|
var NEGATIVE_MARGIN = '-.25in';
|
|
@@ -12843,6 +12928,27 @@ var VListItem = /** @class */ (function () {
|
|
|
12843
12928
|
VListItem.prototype.setNewListStart = function (startNumber) {
|
|
12844
12929
|
this.newListStart = startNumber;
|
|
12845
12930
|
};
|
|
12931
|
+
/**
|
|
12932
|
+
* Apply the list style type
|
|
12933
|
+
* @param rootList the vList that receives the style
|
|
12934
|
+
* @param index the list item index
|
|
12935
|
+
*/
|
|
12936
|
+
VListItem.prototype.applyListStyle = function (rootList, index) {
|
|
12937
|
+
var style = (0, metadata_1.getMetadata)(rootList) ? (0, metadata_1.getMetadata)(rootList) : undefined;
|
|
12938
|
+
if (style) {
|
|
12939
|
+
if (this.listTypes.length < 3) {
|
|
12940
|
+
if (this.listTypes[1] === 2 /* Unordered */) {
|
|
12941
|
+
(0, setBulletListMarkers_1.default)(this.node, style);
|
|
12942
|
+
}
|
|
12943
|
+
else if (this.listTypes[1] === 1 /* Ordered */) {
|
|
12944
|
+
(0, setNumberingListMarkers_1.default)(this.node, style, index);
|
|
12945
|
+
}
|
|
12946
|
+
}
|
|
12947
|
+
else {
|
|
12948
|
+
this.node.style.removeProperty('list-style-type');
|
|
12949
|
+
}
|
|
12950
|
+
}
|
|
12951
|
+
};
|
|
12846
12952
|
/**
|
|
12847
12953
|
* Write the change result back into DOM
|
|
12848
12954
|
* @param listStack current stack of list elements
|
|
@@ -12972,6 +13078,111 @@ function getChildrenAndUnwrap(node) {
|
|
|
12972
13078
|
}
|
|
12973
13079
|
|
|
12974
13080
|
|
|
13081
|
+
/***/ }),
|
|
13082
|
+
|
|
13083
|
+
/***/ "./packages/roosterjs-editor-dom/lib/list/convertDecimalsToAlpha.ts":
|
|
13084
|
+
/*!**************************************************************************!*\
|
|
13085
|
+
!*** ./packages/roosterjs-editor-dom/lib/list/convertDecimalsToAlpha.ts ***!
|
|
13086
|
+
\**************************************************************************/
|
|
13087
|
+
/*! no static exports found */
|
|
13088
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
13089
|
+
|
|
13090
|
+
"use strict";
|
|
13091
|
+
|
|
13092
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13093
|
+
var ALPHABET = {
|
|
13094
|
+
0: 'A',
|
|
13095
|
+
1: 'B',
|
|
13096
|
+
2: 'C',
|
|
13097
|
+
3: 'D',
|
|
13098
|
+
4: 'E',
|
|
13099
|
+
5: 'F',
|
|
13100
|
+
6: 'G',
|
|
13101
|
+
7: 'H',
|
|
13102
|
+
8: 'I',
|
|
13103
|
+
9: 'J',
|
|
13104
|
+
10: 'K',
|
|
13105
|
+
11: 'L',
|
|
13106
|
+
12: 'M',
|
|
13107
|
+
13: 'N',
|
|
13108
|
+
14: 'O',
|
|
13109
|
+
15: 'P',
|
|
13110
|
+
16: 'Q',
|
|
13111
|
+
17: 'R',
|
|
13112
|
+
18: 'S',
|
|
13113
|
+
19: 'T',
|
|
13114
|
+
20: 'U',
|
|
13115
|
+
21: 'V',
|
|
13116
|
+
22: 'W',
|
|
13117
|
+
23: 'X',
|
|
13118
|
+
24: 'Y',
|
|
13119
|
+
25: 'Z',
|
|
13120
|
+
};
|
|
13121
|
+
/**
|
|
13122
|
+
* @internal
|
|
13123
|
+
* Convert decimal numbers into english alphabet letters
|
|
13124
|
+
* @param decimal The decimal number that needs to be converted
|
|
13125
|
+
* @param isLowerCase if true the roman value will appear in lower case
|
|
13126
|
+
* @returns
|
|
13127
|
+
*/
|
|
13128
|
+
function convertDecimalsToAlpha(decimal, isLowerCase) {
|
|
13129
|
+
var alpha = '';
|
|
13130
|
+
while (decimal >= 0) {
|
|
13131
|
+
alpha = ALPHABET[decimal % 26] + alpha;
|
|
13132
|
+
decimal = Math.floor(decimal / 26) - 1;
|
|
13133
|
+
}
|
|
13134
|
+
return isLowerCase ? alpha.toLowerCase() : alpha;
|
|
13135
|
+
}
|
|
13136
|
+
exports.default = convertDecimalsToAlpha;
|
|
13137
|
+
|
|
13138
|
+
|
|
13139
|
+
/***/ }),
|
|
13140
|
+
|
|
13141
|
+
/***/ "./packages/roosterjs-editor-dom/lib/list/convertDecimalsToRomans.ts":
|
|
13142
|
+
/*!***************************************************************************!*\
|
|
13143
|
+
!*** ./packages/roosterjs-editor-dom/lib/list/convertDecimalsToRomans.ts ***!
|
|
13144
|
+
\***************************************************************************/
|
|
13145
|
+
/*! no static exports found */
|
|
13146
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
13147
|
+
|
|
13148
|
+
"use strict";
|
|
13149
|
+
|
|
13150
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13151
|
+
var RomanValues = {
|
|
13152
|
+
M: 1000,
|
|
13153
|
+
CM: 900,
|
|
13154
|
+
D: 500,
|
|
13155
|
+
CD: 400,
|
|
13156
|
+
C: 100,
|
|
13157
|
+
XC: 90,
|
|
13158
|
+
L: 50,
|
|
13159
|
+
XL: 40,
|
|
13160
|
+
X: 10,
|
|
13161
|
+
IX: 9,
|
|
13162
|
+
V: 5,
|
|
13163
|
+
IV: 4,
|
|
13164
|
+
I: 1,
|
|
13165
|
+
};
|
|
13166
|
+
/**
|
|
13167
|
+
* @internal
|
|
13168
|
+
* Convert decimal numbers into roman numbers
|
|
13169
|
+
* @param decimal The decimal number that needs to be converted
|
|
13170
|
+
* @param isLowerCase if true the roman value will appear in lower case
|
|
13171
|
+
* @returns
|
|
13172
|
+
*/
|
|
13173
|
+
function convertDecimalsToRoman(decimal, isLowerCase) {
|
|
13174
|
+
var romanValue = '';
|
|
13175
|
+
for (var _i = 0, _a = Object.keys(RomanValues); _i < _a.length; _i++) {
|
|
13176
|
+
var i = _a[_i];
|
|
13177
|
+
var timesRomanCharAppear = Math.floor(decimal / RomanValues[i]);
|
|
13178
|
+
decimal = decimal - timesRomanCharAppear * RomanValues[i];
|
|
13179
|
+
romanValue = romanValue + i.repeat(timesRomanCharAppear);
|
|
13180
|
+
}
|
|
13181
|
+
return isLowerCase ? romanValue.toLocaleLowerCase() : romanValue;
|
|
13182
|
+
}
|
|
13183
|
+
exports.default = convertDecimalsToRoman;
|
|
13184
|
+
|
|
13185
|
+
|
|
12975
13186
|
/***/ }),
|
|
12976
13187
|
|
|
12977
13188
|
/***/ "./packages/roosterjs-editor-dom/lib/list/createVListFromRegion.ts":
|
|
@@ -13173,6 +13384,41 @@ function getRootListNode(region, selector, node) {
|
|
|
13173
13384
|
exports.default = getRootListNode;
|
|
13174
13385
|
|
|
13175
13386
|
|
|
13387
|
+
/***/ }),
|
|
13388
|
+
|
|
13389
|
+
/***/ "./packages/roosterjs-editor-dom/lib/list/setBulletListMarkers.ts":
|
|
13390
|
+
/*!************************************************************************!*\
|
|
13391
|
+
!*** ./packages/roosterjs-editor-dom/lib/list/setBulletListMarkers.ts ***!
|
|
13392
|
+
\************************************************************************/
|
|
13393
|
+
/*! no static exports found */
|
|
13394
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
13395
|
+
|
|
13396
|
+
"use strict";
|
|
13397
|
+
|
|
13398
|
+
var _a;
|
|
13399
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13400
|
+
/**
|
|
13401
|
+
* @internal
|
|
13402
|
+
* Set the marker of a bullet list
|
|
13403
|
+
* @param li
|
|
13404
|
+
* @param listStyleType
|
|
13405
|
+
*/
|
|
13406
|
+
function setBulletListMarkers(li, listStyleType) {
|
|
13407
|
+
var marker = bulletListStyle[listStyleType];
|
|
13408
|
+
var isDiscOrSquare = listStyleType === 0 /* Disc */ || listStyleType === 2 /* Square */;
|
|
13409
|
+
li.style.listStyleType = isDiscOrSquare ? marker : "\"" + marker + "\"";
|
|
13410
|
+
}
|
|
13411
|
+
exports.default = setBulletListMarkers;
|
|
13412
|
+
var bulletListStyle = (_a = {},
|
|
13413
|
+
_a[0 /* Disc */] = 'disc',
|
|
13414
|
+
_a[2 /* Square */] = 'square',
|
|
13415
|
+
_a[1 /* Dash */] = '- ',
|
|
13416
|
+
_a[4 /* LongArrow */] = '→ ',
|
|
13417
|
+
_a[3 /* ShortArrow */] = '➢ ',
|
|
13418
|
+
_a[5 /* UnfilledArrow */] = '➪ ',
|
|
13419
|
+
_a);
|
|
13420
|
+
|
|
13421
|
+
|
|
13176
13422
|
/***/ }),
|
|
13177
13423
|
|
|
13178
13424
|
/***/ "./packages/roosterjs-editor-dom/lib/list/setListItemStyle.ts":
|
|
@@ -13232,6 +13478,388 @@ function getInlineChildElementsStyle(element) {
|
|
|
13232
13478
|
}
|
|
13233
13479
|
|
|
13234
13480
|
|
|
13481
|
+
/***/ }),
|
|
13482
|
+
|
|
13483
|
+
/***/ "./packages/roosterjs-editor-dom/lib/list/setNumberingListMarkers.ts":
|
|
13484
|
+
/*!***************************************************************************!*\
|
|
13485
|
+
!*** ./packages/roosterjs-editor-dom/lib/list/setNumberingListMarkers.ts ***!
|
|
13486
|
+
\***************************************************************************/
|
|
13487
|
+
/*! no static exports found */
|
|
13488
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
13489
|
+
|
|
13490
|
+
"use strict";
|
|
13491
|
+
|
|
13492
|
+
var _a;
|
|
13493
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13494
|
+
var convertDecimalsToAlpha_1 = __webpack_require__(/*! ./convertDecimalsToAlpha */ "./packages/roosterjs-editor-dom/lib/list/convertDecimalsToAlpha.ts");
|
|
13495
|
+
var convertDecimalsToRomans_1 = __webpack_require__(/*! ./convertDecimalsToRomans */ "./packages/roosterjs-editor-dom/lib/list/convertDecimalsToRomans.ts");
|
|
13496
|
+
var MarkerTypes;
|
|
13497
|
+
(function (MarkerTypes) {
|
|
13498
|
+
MarkerTypes[MarkerTypes["Decimal"] = 0] = "Decimal";
|
|
13499
|
+
MarkerTypes[MarkerTypes["Roman"] = 1] = "Roman";
|
|
13500
|
+
MarkerTypes[MarkerTypes["Alpha"] = 2] = "Alpha";
|
|
13501
|
+
})(MarkerTypes || (MarkerTypes = {}));
|
|
13502
|
+
/**
|
|
13503
|
+
* @internal
|
|
13504
|
+
* Set marker style of a numbering list
|
|
13505
|
+
* @param listStyleType
|
|
13506
|
+
* @param li
|
|
13507
|
+
*/
|
|
13508
|
+
function setNumberingListMarkers(li, listStyleType, level) {
|
|
13509
|
+
var _a = numberingListStyle[listStyleType], markerSeparator = _a.markerSeparator, markerSecondSeparator = _a.markerSecondSeparator, markerType = _a.markerType, lowerCase = _a.lowerCase;
|
|
13510
|
+
var markerNumber = level.toString();
|
|
13511
|
+
if (markerType === MarkerTypes.Roman) {
|
|
13512
|
+
markerNumber = (0, convertDecimalsToRomans_1.default)(level, lowerCase);
|
|
13513
|
+
}
|
|
13514
|
+
else if (markerType === MarkerTypes.Alpha) {
|
|
13515
|
+
markerNumber = (0, convertDecimalsToAlpha_1.default)(level - 1, lowerCase);
|
|
13516
|
+
}
|
|
13517
|
+
var marker = markerSecondSeparator
|
|
13518
|
+
? markerSecondSeparator + markerNumber + markerSeparator
|
|
13519
|
+
: markerNumber + markerSeparator;
|
|
13520
|
+
li.style.listStyleType = "\"" + marker + "\"";
|
|
13521
|
+
}
|
|
13522
|
+
exports.default = setNumberingListMarkers;
|
|
13523
|
+
var numberingListStyle = (_a = {},
|
|
13524
|
+
_a[0 /* Decimal */] = {
|
|
13525
|
+
markerType: MarkerTypes.Decimal,
|
|
13526
|
+
markerSeparator: '. ',
|
|
13527
|
+
},
|
|
13528
|
+
_a[1 /* DecimalDash */] = {
|
|
13529
|
+
markerType: MarkerTypes.Decimal,
|
|
13530
|
+
markerSeparator: '- ',
|
|
13531
|
+
},
|
|
13532
|
+
_a[2 /* DecimalParenthesis */] = {
|
|
13533
|
+
markerType: MarkerTypes.Decimal,
|
|
13534
|
+
markerSeparator: ') ',
|
|
13535
|
+
},
|
|
13536
|
+
_a[3 /* DecimalDoubleParenthesis */] = {
|
|
13537
|
+
markerType: MarkerTypes.Decimal,
|
|
13538
|
+
markerSeparator: ') ',
|
|
13539
|
+
markerSecondSeparator: '(',
|
|
13540
|
+
},
|
|
13541
|
+
_a[4 /* LowerAlpha */] = {
|
|
13542
|
+
markerType: MarkerTypes.Alpha,
|
|
13543
|
+
markerSeparator: '. ',
|
|
13544
|
+
lowerCase: true,
|
|
13545
|
+
},
|
|
13546
|
+
_a[7 /* LowerAlphaDash */] = {
|
|
13547
|
+
markerType: MarkerTypes.Alpha,
|
|
13548
|
+
markerSeparator: '- ',
|
|
13549
|
+
lowerCase: true,
|
|
13550
|
+
},
|
|
13551
|
+
_a[5 /* LowerAlphaParenthesis */] = {
|
|
13552
|
+
markerType: MarkerTypes.Alpha,
|
|
13553
|
+
markerSeparator: ') ',
|
|
13554
|
+
lowerCase: true,
|
|
13555
|
+
},
|
|
13556
|
+
_a[6 /* LowerAlphaDoubleParenthesis */] = {
|
|
13557
|
+
markerType: MarkerTypes.Alpha,
|
|
13558
|
+
markerSeparator: ') ',
|
|
13559
|
+
markerSecondSeparator: '(',
|
|
13560
|
+
lowerCase: true,
|
|
13561
|
+
},
|
|
13562
|
+
_a[8 /* UpperAlpha */] = {
|
|
13563
|
+
markerType: MarkerTypes.Alpha,
|
|
13564
|
+
markerSeparator: '. ',
|
|
13565
|
+
},
|
|
13566
|
+
_a[11 /* UpperAlphaDash */] = {
|
|
13567
|
+
markerType: MarkerTypes.Alpha,
|
|
13568
|
+
markerSeparator: '- ',
|
|
13569
|
+
},
|
|
13570
|
+
_a[9 /* UpperAlphaParenthesis */] = {
|
|
13571
|
+
markerType: MarkerTypes.Alpha,
|
|
13572
|
+
markerSeparator: ') ',
|
|
13573
|
+
},
|
|
13574
|
+
_a[10 /* UpperAlphaDoubleParenthesis */] = {
|
|
13575
|
+
markerType: MarkerTypes.Alpha,
|
|
13576
|
+
markerSeparator: ') ',
|
|
13577
|
+
markerSecondSeparator: '(',
|
|
13578
|
+
},
|
|
13579
|
+
_a[12 /* LowerRoman */] = {
|
|
13580
|
+
markerType: MarkerTypes.Roman,
|
|
13581
|
+
markerSeparator: '. ',
|
|
13582
|
+
lowerCase: true,
|
|
13583
|
+
},
|
|
13584
|
+
_a[15 /* LowerRomanDash */] = {
|
|
13585
|
+
markerType: MarkerTypes.Roman,
|
|
13586
|
+
markerSeparator: '- ',
|
|
13587
|
+
lowerCase: true,
|
|
13588
|
+
},
|
|
13589
|
+
_a[13 /* LowerRomanParenthesis */] = {
|
|
13590
|
+
markerType: MarkerTypes.Roman,
|
|
13591
|
+
markerSeparator: ') ',
|
|
13592
|
+
lowerCase: true,
|
|
13593
|
+
},
|
|
13594
|
+
_a[14 /* LowerRomanDoubleParenthesis */] = {
|
|
13595
|
+
markerType: MarkerTypes.Roman,
|
|
13596
|
+
markerSeparator: ') ',
|
|
13597
|
+
markerSecondSeparator: '(',
|
|
13598
|
+
lowerCase: true,
|
|
13599
|
+
},
|
|
13600
|
+
_a[16 /* UpperRoman */] = {
|
|
13601
|
+
markerType: MarkerTypes.Roman,
|
|
13602
|
+
markerSeparator: '. ',
|
|
13603
|
+
},
|
|
13604
|
+
_a[19 /* UpperRomanDash */] = {
|
|
13605
|
+
markerType: MarkerTypes.Roman,
|
|
13606
|
+
markerSeparator: '- ',
|
|
13607
|
+
},
|
|
13608
|
+
_a[17 /* UpperRomanParenthesis */] = {
|
|
13609
|
+
markerType: MarkerTypes.Roman,
|
|
13610
|
+
markerSeparator: ') ',
|
|
13611
|
+
},
|
|
13612
|
+
_a[18 /* UpperRomanDoubleParenthesis */] = {
|
|
13613
|
+
markerType: MarkerTypes.Roman,
|
|
13614
|
+
markerSeparator: ') ',
|
|
13615
|
+
markerSecondSeparator: '(',
|
|
13616
|
+
},
|
|
13617
|
+
_a);
|
|
13618
|
+
|
|
13619
|
+
|
|
13620
|
+
/***/ }),
|
|
13621
|
+
|
|
13622
|
+
/***/ "./packages/roosterjs-editor-dom/lib/metadata/definitionCreators.ts":
|
|
13623
|
+
/*!**************************************************************************!*\
|
|
13624
|
+
!*** ./packages/roosterjs-editor-dom/lib/metadata/definitionCreators.ts ***!
|
|
13625
|
+
\**************************************************************************/
|
|
13626
|
+
/*! no static exports found */
|
|
13627
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
13628
|
+
|
|
13629
|
+
"use strict";
|
|
13630
|
+
|
|
13631
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13632
|
+
exports.createObjectDefinition = exports.createArrayDefinition = exports.createStringDefinition = exports.createBooleanDefinition = exports.createNumberDefinition = void 0;
|
|
13633
|
+
/**
|
|
13634
|
+
* Create a number definition
|
|
13635
|
+
* @param isOptional Whether this property is optional
|
|
13636
|
+
* @param value Optional value of the number
|
|
13637
|
+
* @param minValue Optional minimum value
|
|
13638
|
+
* @param maxValue Optional maximum value
|
|
13639
|
+
* @param allowNull Allow the property to be null
|
|
13640
|
+
* @returns The number definition object
|
|
13641
|
+
*/
|
|
13642
|
+
function createNumberDefinition(isOptional, value, minValue, maxValue, allowNull) {
|
|
13643
|
+
return {
|
|
13644
|
+
type: 1 /* Number */,
|
|
13645
|
+
isOptional: isOptional,
|
|
13646
|
+
value: value,
|
|
13647
|
+
maxValue: maxValue,
|
|
13648
|
+
minValue: minValue,
|
|
13649
|
+
allowNull: allowNull,
|
|
13650
|
+
};
|
|
13651
|
+
}
|
|
13652
|
+
exports.createNumberDefinition = createNumberDefinition;
|
|
13653
|
+
/**
|
|
13654
|
+
* Create a boolean definition
|
|
13655
|
+
* @param isOptional Whether this property is optional
|
|
13656
|
+
* @param value Optional expected boolean value
|
|
13657
|
+
* @param allowNull Allow the property to be null
|
|
13658
|
+
* @returns The boolean definition object
|
|
13659
|
+
*/
|
|
13660
|
+
function createBooleanDefinition(isOptional, value, allowNull) {
|
|
13661
|
+
return {
|
|
13662
|
+
type: 0 /* Boolean */,
|
|
13663
|
+
isOptional: isOptional,
|
|
13664
|
+
value: value,
|
|
13665
|
+
allowNull: allowNull,
|
|
13666
|
+
};
|
|
13667
|
+
}
|
|
13668
|
+
exports.createBooleanDefinition = createBooleanDefinition;
|
|
13669
|
+
/**
|
|
13670
|
+
* Create a string definition
|
|
13671
|
+
* @param isOptional Whether this property is optional
|
|
13672
|
+
* @param value Optional expected string value
|
|
13673
|
+
* @param allowNull Allow the property to be null
|
|
13674
|
+
* @returns The string definition object
|
|
13675
|
+
*/
|
|
13676
|
+
function createStringDefinition(isOptional, value, allowNull) {
|
|
13677
|
+
return {
|
|
13678
|
+
type: 2 /* String */,
|
|
13679
|
+
isOptional: isOptional,
|
|
13680
|
+
value: value,
|
|
13681
|
+
allowNull: allowNull,
|
|
13682
|
+
};
|
|
13683
|
+
}
|
|
13684
|
+
exports.createStringDefinition = createStringDefinition;
|
|
13685
|
+
/**
|
|
13686
|
+
* Create an array definition
|
|
13687
|
+
* @param itemDef Definition of each item of the related array
|
|
13688
|
+
* @param isOptional Whether this property is optional
|
|
13689
|
+
* @param allowNull Allow the property to be null
|
|
13690
|
+
* @returns The array definition object
|
|
13691
|
+
*/
|
|
13692
|
+
function createArrayDefinition(itemDef, isOptional, minLength, maxLength, allowNull) {
|
|
13693
|
+
return {
|
|
13694
|
+
type: 3 /* Array */,
|
|
13695
|
+
isOptional: isOptional,
|
|
13696
|
+
itemDef: itemDef,
|
|
13697
|
+
minLength: minLength,
|
|
13698
|
+
maxLength: maxLength,
|
|
13699
|
+
allowNull: allowNull,
|
|
13700
|
+
};
|
|
13701
|
+
}
|
|
13702
|
+
exports.createArrayDefinition = createArrayDefinition;
|
|
13703
|
+
/**
|
|
13704
|
+
* Create an object definition
|
|
13705
|
+
* @param propertyDef Definition of each property of the related object
|
|
13706
|
+
* @param isOptional Whether this property is optional
|
|
13707
|
+
* @param allowNull Allow the property to be null
|
|
13708
|
+
* @returns The object definition object
|
|
13709
|
+
*/
|
|
13710
|
+
function createObjectDefinition(propertyDef, isOptional, allowNull) {
|
|
13711
|
+
return {
|
|
13712
|
+
type: 4 /* Object */,
|
|
13713
|
+
isOptional: isOptional,
|
|
13714
|
+
propertyDef: propertyDef,
|
|
13715
|
+
allowNull: allowNull,
|
|
13716
|
+
};
|
|
13717
|
+
}
|
|
13718
|
+
exports.createObjectDefinition = createObjectDefinition;
|
|
13719
|
+
|
|
13720
|
+
|
|
13721
|
+
/***/ }),
|
|
13722
|
+
|
|
13723
|
+
/***/ "./packages/roosterjs-editor-dom/lib/metadata/metadata.ts":
|
|
13724
|
+
/*!****************************************************************!*\
|
|
13725
|
+
!*** ./packages/roosterjs-editor-dom/lib/metadata/metadata.ts ***!
|
|
13726
|
+
\****************************************************************/
|
|
13727
|
+
/*! no static exports found */
|
|
13728
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
13729
|
+
|
|
13730
|
+
"use strict";
|
|
13731
|
+
|
|
13732
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13733
|
+
exports.removeMetadata = exports.setMetadata = exports.getMetadata = void 0;
|
|
13734
|
+
var validate_1 = __webpack_require__(/*! ./validate */ "./packages/roosterjs-editor-dom/lib/metadata/validate.ts");
|
|
13735
|
+
var MetadataDataSetName = 'editingInfo';
|
|
13736
|
+
/**
|
|
13737
|
+
* Get metadata object from an HTML element
|
|
13738
|
+
* @param element The HTML element to get metadata object from
|
|
13739
|
+
* @param definition The type definition of this metadata used for validate this metadata object.
|
|
13740
|
+
* If not specified, no validation will be performed and always return whatever we get from the element
|
|
13741
|
+
* @param defaultValue The default value to return if the retrieved object cannot pass the validation,
|
|
13742
|
+
* or there is no metadata object at all
|
|
13743
|
+
* @returns The strong-type metadata object if it can be validated, or null
|
|
13744
|
+
*/
|
|
13745
|
+
function getMetadata(element, definition, defaultValue) {
|
|
13746
|
+
var str = element.dataset[MetadataDataSetName];
|
|
13747
|
+
var obj;
|
|
13748
|
+
try {
|
|
13749
|
+
obj = str ? JSON.parse(str) : null;
|
|
13750
|
+
}
|
|
13751
|
+
catch (_a) { }
|
|
13752
|
+
if (typeof obj !== 'undefined') {
|
|
13753
|
+
if (!definition) {
|
|
13754
|
+
return obj;
|
|
13755
|
+
}
|
|
13756
|
+
else if ((0, validate_1.default)(obj, definition)) {
|
|
13757
|
+
return obj;
|
|
13758
|
+
}
|
|
13759
|
+
}
|
|
13760
|
+
if (defaultValue) {
|
|
13761
|
+
return defaultValue;
|
|
13762
|
+
}
|
|
13763
|
+
else {
|
|
13764
|
+
return null;
|
|
13765
|
+
}
|
|
13766
|
+
}
|
|
13767
|
+
exports.getMetadata = getMetadata;
|
|
13768
|
+
/**
|
|
13769
|
+
* Set metadata object into an HTML element
|
|
13770
|
+
* @param element The HTML element to set metadata object to
|
|
13771
|
+
* @param metadata The metadata object to set
|
|
13772
|
+
* @param def An optional type definition object used for validate this metadata object.
|
|
13773
|
+
* If not specified, metadata will be set without validation
|
|
13774
|
+
* @returns True if metadata is set, otherwise false
|
|
13775
|
+
*/
|
|
13776
|
+
function setMetadata(element, metadata, def) {
|
|
13777
|
+
if (!def || (0, validate_1.default)(metadata, def)) {
|
|
13778
|
+
element.dataset[MetadataDataSetName] = JSON.stringify(metadata);
|
|
13779
|
+
return true;
|
|
13780
|
+
}
|
|
13781
|
+
else {
|
|
13782
|
+
return false;
|
|
13783
|
+
}
|
|
13784
|
+
}
|
|
13785
|
+
exports.setMetadata = setMetadata;
|
|
13786
|
+
/**
|
|
13787
|
+
* Remove metadata from the given element if any
|
|
13788
|
+
* @param element The element to remove metadata from
|
|
13789
|
+
*/
|
|
13790
|
+
function removeMetadata(element) {
|
|
13791
|
+
delete element.dataset[MetadataDataSetName];
|
|
13792
|
+
}
|
|
13793
|
+
exports.removeMetadata = removeMetadata;
|
|
13794
|
+
|
|
13795
|
+
|
|
13796
|
+
/***/ }),
|
|
13797
|
+
|
|
13798
|
+
/***/ "./packages/roosterjs-editor-dom/lib/metadata/validate.ts":
|
|
13799
|
+
/*!****************************************************************!*\
|
|
13800
|
+
!*** ./packages/roosterjs-editor-dom/lib/metadata/validate.ts ***!
|
|
13801
|
+
\****************************************************************/
|
|
13802
|
+
/*! no static exports found */
|
|
13803
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
13804
|
+
|
|
13805
|
+
"use strict";
|
|
13806
|
+
|
|
13807
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13808
|
+
/**
|
|
13809
|
+
* Validate the given object with a type definition object
|
|
13810
|
+
* @param input The object to validate
|
|
13811
|
+
* @param def The type definition object used for validation
|
|
13812
|
+
* @returns True if the object passed the validation, otherwise false
|
|
13813
|
+
*/
|
|
13814
|
+
function validate(input, def) {
|
|
13815
|
+
var result = false;
|
|
13816
|
+
if ((def.isOptional && typeof input === 'undefined') || (def.allowNull && input === null)) {
|
|
13817
|
+
result = true;
|
|
13818
|
+
}
|
|
13819
|
+
else {
|
|
13820
|
+
switch (def.type) {
|
|
13821
|
+
case 2 /* String */:
|
|
13822
|
+
result =
|
|
13823
|
+
typeof input === 'string' &&
|
|
13824
|
+
(typeof def.value === 'undefined' || input === def.value);
|
|
13825
|
+
break;
|
|
13826
|
+
case 1 /* Number */:
|
|
13827
|
+
result =
|
|
13828
|
+
typeof input === 'number' &&
|
|
13829
|
+
(typeof def.value === 'undefined' || areSameNumbers(def.value, input)) &&
|
|
13830
|
+
(typeof def.minValue === 'undefined' || input >= def.minValue) &&
|
|
13831
|
+
(typeof def.maxValue === 'undefined' || input <= def.maxValue);
|
|
13832
|
+
break;
|
|
13833
|
+
case 0 /* Boolean */:
|
|
13834
|
+
result =
|
|
13835
|
+
typeof input === 'boolean' &&
|
|
13836
|
+
(typeof def.value === 'undefined' || input === def.value);
|
|
13837
|
+
break;
|
|
13838
|
+
case 3 /* Array */:
|
|
13839
|
+
result =
|
|
13840
|
+
Array.isArray(input) &&
|
|
13841
|
+
(typeof def.minLength === 'undefined' || input.length >= def.minLength) &&
|
|
13842
|
+
(typeof def.maxLength === 'undefined' || input.length <= def.maxLength) &&
|
|
13843
|
+
input.every(function (x) { return validate(x, def.itemDef); });
|
|
13844
|
+
break;
|
|
13845
|
+
case 4 /* Object */:
|
|
13846
|
+
result =
|
|
13847
|
+
typeof input === 'object' &&
|
|
13848
|
+
Object.keys(def.propertyDef).every(function (x) { return validate(input[x], def.propertyDef[x]); });
|
|
13849
|
+
break;
|
|
13850
|
+
case 5 /* Customize */:
|
|
13851
|
+
result = def.validator(input);
|
|
13852
|
+
break;
|
|
13853
|
+
}
|
|
13854
|
+
}
|
|
13855
|
+
return result;
|
|
13856
|
+
}
|
|
13857
|
+
exports.default = validate;
|
|
13858
|
+
function areSameNumbers(n1, n2) {
|
|
13859
|
+
return Math.abs(n1 - n2) < 1e-3;
|
|
13860
|
+
}
|
|
13861
|
+
|
|
13862
|
+
|
|
13235
13863
|
/***/ }),
|
|
13236
13864
|
|
|
13237
13865
|
/***/ "./packages/roosterjs-editor-dom/lib/region/collapseNodesInRegion.ts":
|
|
@@ -14210,6 +14838,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14210
14838
|
exports.setHtmlWithMetadata = void 0;
|
|
14211
14839
|
var createRange_1 = __webpack_require__(/*! ./createRange */ "./packages/roosterjs-editor-dom/lib/selection/createRange.ts");
|
|
14212
14840
|
var safeInstanceOf_1 = __webpack_require__(/*! ../utils/safeInstanceOf */ "./packages/roosterjs-editor-dom/lib/utils/safeInstanceOf.ts");
|
|
14841
|
+
var validate_1 = __webpack_require__(/*! ../metadata/validate */ "./packages/roosterjs-editor-dom/lib/metadata/validate.ts");
|
|
14842
|
+
var definitionCreators_1 = __webpack_require__(/*! ../metadata/definitionCreators */ "./packages/roosterjs-editor-dom/lib/metadata/definitionCreators.ts");
|
|
14843
|
+
var NumberArrayDefinition = (0, definitionCreators_1.createArrayDefinition)((0, definitionCreators_1.createNumberDefinition)());
|
|
14844
|
+
var CoordinatesDefinition = (0, definitionCreators_1.createObjectDefinition)({
|
|
14845
|
+
x: (0, definitionCreators_1.createNumberDefinition)(),
|
|
14846
|
+
y: (0, definitionCreators_1.createNumberDefinition)(),
|
|
14847
|
+
});
|
|
14848
|
+
var IsDarkModeDefinition = (0, definitionCreators_1.createBooleanDefinition)(true /*isOptional*/);
|
|
14849
|
+
var NormalContentMetadataDefinition = (0, definitionCreators_1.createObjectDefinition)({
|
|
14850
|
+
type: (0, definitionCreators_1.createNumberDefinition)(true /*isOptional*/, 0 /* Normal */),
|
|
14851
|
+
isDarkMode: IsDarkModeDefinition,
|
|
14852
|
+
start: NumberArrayDefinition,
|
|
14853
|
+
end: NumberArrayDefinition,
|
|
14854
|
+
});
|
|
14855
|
+
var TableContentMetadataDefinition = (0, definitionCreators_1.createObjectDefinition)({
|
|
14856
|
+
type: (0, definitionCreators_1.createNumberDefinition)(false /*isOptional*/, 1 /* TableSelection */),
|
|
14857
|
+
isDarkMode: IsDarkModeDefinition,
|
|
14858
|
+
tableId: (0, definitionCreators_1.createStringDefinition)(),
|
|
14859
|
+
firstCell: CoordinatesDefinition,
|
|
14860
|
+
lastCell: CoordinatesDefinition,
|
|
14861
|
+
});
|
|
14213
14862
|
/**
|
|
14214
14863
|
* @deprecated Use setHtmlWithMetadata instead
|
|
14215
14864
|
* Restore inner HTML of a root element from given html string. If the string contains selection path,
|
|
@@ -14244,8 +14893,11 @@ function setHtmlWithMetadata(rootNode, html, trustedHTMLHandler) {
|
|
|
14244
14893
|
if ((0, safeInstanceOf_1.default)(potentialMetadataComment, 'Comment')) {
|
|
14245
14894
|
try {
|
|
14246
14895
|
var obj = JSON.parse(potentialMetadataComment.nodeValue || '');
|
|
14247
|
-
if (
|
|
14896
|
+
if ((0, validate_1.default)(obj, NormalContentMetadataDefinition) ||
|
|
14897
|
+
(0, validate_1.default)(obj, TableContentMetadataDefinition)) {
|
|
14248
14898
|
rootNode.removeChild(potentialMetadataComment);
|
|
14899
|
+
obj.type = typeof obj.type === 'undefined' ? 0 /* Normal */ : obj.type;
|
|
14900
|
+
obj.isDarkMode = obj.isDarkMode || false;
|
|
14249
14901
|
return obj;
|
|
14250
14902
|
}
|
|
14251
14903
|
}
|
|
@@ -14254,42 +14906,6 @@ function setHtmlWithMetadata(rootNode, html, trustedHTMLHandler) {
|
|
|
14254
14906
|
return undefined;
|
|
14255
14907
|
}
|
|
14256
14908
|
exports.setHtmlWithMetadata = setHtmlWithMetadata;
|
|
14257
|
-
function isContentMetadata(obj) {
|
|
14258
|
-
if (!obj || typeof obj != 'object') {
|
|
14259
|
-
return false;
|
|
14260
|
-
}
|
|
14261
|
-
switch (obj.type || 0 /* Normal */) {
|
|
14262
|
-
case 0 /* Normal */:
|
|
14263
|
-
var regularMetadata = obj;
|
|
14264
|
-
if (isNumberArray(regularMetadata.start) && isNumberArray(regularMetadata.end)) {
|
|
14265
|
-
obj.type = 0 /* Normal */;
|
|
14266
|
-
obj.isDarkMode = !!obj.isDarkMode;
|
|
14267
|
-
return true;
|
|
14268
|
-
}
|
|
14269
|
-
break;
|
|
14270
|
-
case 1 /* TableSelection */:
|
|
14271
|
-
var tableMetadata = obj;
|
|
14272
|
-
if (typeof tableMetadata.tableId == 'string' &&
|
|
14273
|
-
!!tableMetadata.tableId &&
|
|
14274
|
-
isCoordinates(tableMetadata.firstCell) &&
|
|
14275
|
-
isCoordinates(tableMetadata.lastCell)) {
|
|
14276
|
-
obj.isDarkMode = !!obj.isDarkMode;
|
|
14277
|
-
return true;
|
|
14278
|
-
}
|
|
14279
|
-
break;
|
|
14280
|
-
}
|
|
14281
|
-
return false;
|
|
14282
|
-
}
|
|
14283
|
-
function isNumberArray(obj) {
|
|
14284
|
-
return obj && Array.isArray(obj) && obj.every(function (o) { return typeof o == 'number'; });
|
|
14285
|
-
}
|
|
14286
|
-
function isCoordinates(obj) {
|
|
14287
|
-
var coordinates = obj;
|
|
14288
|
-
return (coordinates &&
|
|
14289
|
-
typeof coordinates == 'object' &&
|
|
14290
|
-
typeof coordinates.x == 'number' &&
|
|
14291
|
-
typeof coordinates.y == 'number');
|
|
14292
|
-
}
|
|
14293
14909
|
|
|
14294
14910
|
|
|
14295
14911
|
/***/ }),
|
|
@@ -15580,7 +16196,24 @@ exports.default = isWholeTableSelected;
|
|
|
15580
16196
|
|
|
15581
16197
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15582
16198
|
exports.saveTableInfo = exports.getTableFormatInfo = void 0;
|
|
15583
|
-
var
|
|
16199
|
+
var metadata_1 = __webpack_require__(/*! ../metadata/metadata */ "./packages/roosterjs-editor-dom/lib/metadata/metadata.ts");
|
|
16200
|
+
var definitionCreators_1 = __webpack_require__(/*! ../metadata/definitionCreators */ "./packages/roosterjs-editor-dom/lib/metadata/definitionCreators.ts");
|
|
16201
|
+
var NullStringDefinition = (0, definitionCreators_1.createStringDefinition)(false /** isOptional */, undefined /** value */, true /** allowNull */);
|
|
16202
|
+
var BooleanDefinition = (0, definitionCreators_1.createBooleanDefinition)(false /** isOptional */);
|
|
16203
|
+
var TableFormatMetadata = (0, definitionCreators_1.createObjectDefinition)({
|
|
16204
|
+
topBorderColor: NullStringDefinition,
|
|
16205
|
+
bottomBorderColor: NullStringDefinition,
|
|
16206
|
+
verticalBorderColor: NullStringDefinition,
|
|
16207
|
+
hasHeaderRow: BooleanDefinition,
|
|
16208
|
+
headerRowColor: NullStringDefinition,
|
|
16209
|
+
hasFirstColumn: BooleanDefinition,
|
|
16210
|
+
hasBandedColumns: BooleanDefinition,
|
|
16211
|
+
hasBandedRows: BooleanDefinition,
|
|
16212
|
+
bgColorEven: NullStringDefinition,
|
|
16213
|
+
bgColorOdd: NullStringDefinition,
|
|
16214
|
+
tableBorderFormat: (0, definitionCreators_1.createNumberDefinition)(false /** isOptional */, undefined /* value */, 0 /* first table border format */, 7 /* last table border format */),
|
|
16215
|
+
keepCellShade: BooleanDefinition,
|
|
16216
|
+
}, false /* isOptional */, true /** allowNull */);
|
|
15584
16217
|
/**
|
|
15585
16218
|
* @internal
|
|
15586
16219
|
* Get the format info of a table
|
|
@@ -15588,8 +16221,7 @@ var TABLE_STYLE_INFO = 'roosterTableInfo';
|
|
|
15588
16221
|
* @param table The table that has the info
|
|
15589
16222
|
*/
|
|
15590
16223
|
function getTableFormatInfo(table) {
|
|
15591
|
-
|
|
15592
|
-
return checkIfTableFormatIsValid(obj) ? obj : null;
|
|
16224
|
+
return (0, metadata_1.getMetadata)(table, TableFormatMetadata);
|
|
15593
16225
|
}
|
|
15594
16226
|
exports.getTableFormatInfo = getTableFormatInfo;
|
|
15595
16227
|
/**
|
|
@@ -15600,59 +16232,10 @@ exports.getTableFormatInfo = getTableFormatInfo;
|
|
|
15600
16232
|
*/
|
|
15601
16233
|
function saveTableInfo(table, format) {
|
|
15602
16234
|
if (table && format) {
|
|
15603
|
-
|
|
16235
|
+
(0, metadata_1.setMetadata)(table, format, TableFormatMetadata);
|
|
15604
16236
|
}
|
|
15605
16237
|
}
|
|
15606
16238
|
exports.saveTableInfo = saveTableInfo;
|
|
15607
|
-
function checkIfTableFormatIsValid(format) {
|
|
15608
|
-
if (!format) {
|
|
15609
|
-
return false;
|
|
15610
|
-
}
|
|
15611
|
-
var topBorderColor = format.topBorderColor, verticalBorderColor = format.verticalBorderColor, bottomBorderColor = format.bottomBorderColor, bgColorOdd = format.bgColorOdd, bgColorEven = format.bgColorEven, hasBandedColumns = format.hasBandedColumns, hasBandedRows = format.hasBandedRows, hasFirstColumn = format.hasFirstColumn, hasHeaderRow = format.hasHeaderRow, tableBorderFormat = format.tableBorderFormat;
|
|
15612
|
-
var colorsValues = [
|
|
15613
|
-
topBorderColor,
|
|
15614
|
-
verticalBorderColor,
|
|
15615
|
-
bottomBorderColor,
|
|
15616
|
-
bgColorOdd,
|
|
15617
|
-
bgColorEven,
|
|
15618
|
-
];
|
|
15619
|
-
var stateValues = [hasBandedColumns, hasBandedRows, hasFirstColumn, hasHeaderRow];
|
|
15620
|
-
if (colorsValues.some(function (key) { return !isAValidColor(key); }) ||
|
|
15621
|
-
stateValues.some(function (key) { return !isBoolean(key); }) ||
|
|
15622
|
-
!isAValidTableBorderType(tableBorderFormat)) {
|
|
15623
|
-
return false;
|
|
15624
|
-
}
|
|
15625
|
-
return true;
|
|
15626
|
-
}
|
|
15627
|
-
function isAValidColor(color) {
|
|
15628
|
-
if (color === null || color === undefined || typeof color === 'string') {
|
|
15629
|
-
return true;
|
|
15630
|
-
}
|
|
15631
|
-
return false;
|
|
15632
|
-
}
|
|
15633
|
-
function isBoolean(a) {
|
|
15634
|
-
if (typeof a === 'boolean') {
|
|
15635
|
-
return true;
|
|
15636
|
-
}
|
|
15637
|
-
return false;
|
|
15638
|
-
}
|
|
15639
|
-
function isAValidTableBorderType(border) {
|
|
15640
|
-
if (-1 < border && border < 8) {
|
|
15641
|
-
return true;
|
|
15642
|
-
}
|
|
15643
|
-
return false;
|
|
15644
|
-
}
|
|
15645
|
-
function safeParseJSON(json) {
|
|
15646
|
-
if (!json) {
|
|
15647
|
-
return null;
|
|
15648
|
-
}
|
|
15649
|
-
try {
|
|
15650
|
-
return JSON.parse(json);
|
|
15651
|
-
}
|
|
15652
|
-
catch (_a) {
|
|
15653
|
-
return null;
|
|
15654
|
-
}
|
|
15655
|
-
}
|
|
15656
16239
|
|
|
15657
16240
|
|
|
15658
16241
|
/***/ }),
|
|
@@ -15673,9 +16256,10 @@ var isAndroidRegex = /android/i;
|
|
|
15673
16256
|
* Get current browser information from user agent string
|
|
15674
16257
|
* @param userAgent The userAgent string of a browser
|
|
15675
16258
|
* @param appVersion The appVersion string of a browser
|
|
16259
|
+
* @param vendor The vendor string of a browser
|
|
15676
16260
|
* @returns The BrowserInfo object calculated from the given userAgent and appVersion
|
|
15677
16261
|
*/
|
|
15678
|
-
function getBrowserInfo(userAgent, appVersion) {
|
|
16262
|
+
function getBrowserInfo(userAgent, appVersion, vendor) {
|
|
15679
16263
|
// checks whether the browser is running in IE
|
|
15680
16264
|
// IE11 will use rv in UA instead of MSIE. Unfortunately Firefox also uses this. We should also look for "Trident" to confirm this.
|
|
15681
16265
|
// There have been cases where companies using older version of IE and custom UserAgents have broken this logic (e.g. IE 10 and KellyServices)
|
|
@@ -15688,6 +16272,16 @@ function getBrowserInfo(userAgent, appVersion) {
|
|
|
15688
16272
|
var isSafari = false;
|
|
15689
16273
|
var isEdge = false;
|
|
15690
16274
|
var isWebKit = userAgent.indexOf('WebKit') != -1;
|
|
16275
|
+
var isMobileOrTablet = false;
|
|
16276
|
+
// Reference: http://detectmobilebrowsers.com/
|
|
16277
|
+
// The default regex on the website doesn't consider tablet.
|
|
16278
|
+
// To support tablet, add |android|ipad|playbook|silk to the first regex according to the info in /about page
|
|
16279
|
+
(function (userAgentOrVendor) {
|
|
16280
|
+
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(userAgentOrVendor)
|
|
16281
|
+
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgentOrVendor.substr(0, 4))) {
|
|
16282
|
+
isMobileOrTablet = true;
|
|
16283
|
+
}
|
|
16284
|
+
})(userAgent || vendor || "");
|
|
15691
16285
|
if (!isIE) {
|
|
15692
16286
|
isChrome = userAgent.indexOf('Chrome') != -1;
|
|
15693
16287
|
isFirefox = userAgent.indexOf('Firefox') != -1;
|
|
@@ -15717,6 +16311,7 @@ function getBrowserInfo(userAgent, appVersion) {
|
|
|
15717
16311
|
isEdge: isEdge,
|
|
15718
16312
|
isIEOrEdge: isIE || isEdge,
|
|
15719
16313
|
isAndroid: isAndroid,
|
|
16314
|
+
isMobileOrTablet: isMobileOrTablet,
|
|
15720
16315
|
};
|
|
15721
16316
|
}
|
|
15722
16317
|
exports.getBrowserInfo = getBrowserInfo;
|
|
@@ -15724,7 +16319,7 @@ exports.getBrowserInfo = getBrowserInfo;
|
|
|
15724
16319
|
* Browser object contains browser and operating system information of current environment
|
|
15725
16320
|
*/
|
|
15726
16321
|
exports.Browser = window
|
|
15727
|
-
? getBrowserInfo(window.navigator.userAgent, window.navigator.appVersion)
|
|
16322
|
+
? getBrowserInfo(window.navigator.userAgent, window.navigator.appVersion, window.navigator.vendor)
|
|
15728
16323
|
: {};
|
|
15729
16324
|
|
|
15730
16325
|
|
|
@@ -17096,7 +17691,7 @@ function getColorsFromRGB(color) {
|
|
|
17096
17691
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17097
17692
|
var getTagOfNode_1 = __webpack_require__(/*! ./getTagOfNode */ "./packages/roosterjs-editor-dom/lib/utils/getTagOfNode.ts");
|
|
17098
17693
|
var getComputedStyles_1 = __webpack_require__(/*! ./getComputedStyles */ "./packages/roosterjs-editor-dom/lib/utils/getComputedStyles.ts");
|
|
17099
|
-
var CRLF = /^[\r\n]+$/
|
|
17694
|
+
var CRLF = /^[\r\n]+$/g;
|
|
17100
17695
|
var CRLF_SPACE = /[\t\r\n\u0020\u200B]/gm; // We should only find new line, real space or ZeroWidthSpace (TAB, %20, but not )
|
|
17101
17696
|
/**
|
|
17102
17697
|
* @internal
|
|
@@ -17356,6 +17951,31 @@ function wrap(nodes, wrapper) {
|
|
|
17356
17951
|
exports.default = wrap;
|
|
17357
17952
|
|
|
17358
17953
|
|
|
17954
|
+
/***/ }),
|
|
17955
|
+
|
|
17956
|
+
/***/ "./packages/roosterjs-editor-plugins/lib/AutoFormat.ts":
|
|
17957
|
+
/*!*************************************************************!*\
|
|
17958
|
+
!*** ./packages/roosterjs-editor-plugins/lib/AutoFormat.ts ***!
|
|
17959
|
+
\*************************************************************/
|
|
17960
|
+
/*! no static exports found */
|
|
17961
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
17962
|
+
|
|
17963
|
+
"use strict";
|
|
17964
|
+
|
|
17965
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17966
|
+
if (k2 === undefined) k2 = k;
|
|
17967
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
17968
|
+
}) : (function(o, m, k, k2) {
|
|
17969
|
+
if (k2 === undefined) k2 = k;
|
|
17970
|
+
o[k2] = m[k];
|
|
17971
|
+
}));
|
|
17972
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17973
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17974
|
+
};
|
|
17975
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17976
|
+
__exportStar(__webpack_require__(/*! ./plugins/AutoFormat/index */ "./packages/roosterjs-editor-plugins/lib/plugins/AutoFormat/index.ts"), exports);
|
|
17977
|
+
|
|
17978
|
+
|
|
17359
17979
|
/***/ }),
|
|
17360
17980
|
|
|
17361
17981
|
/***/ "./packages/roosterjs-editor-plugins/lib/ContentEdit.ts":
|
|
@@ -17690,6 +18310,7 @@ __exportStar(__webpack_require__(/*! ./Picker */ "./packages/roosterjs-editor-pl
|
|
|
17690
18310
|
__exportStar(__webpack_require__(/*! ./TableResize */ "./packages/roosterjs-editor-plugins/lib/TableResize.ts"), exports);
|
|
17691
18311
|
__exportStar(__webpack_require__(/*! ./Watermark */ "./packages/roosterjs-editor-plugins/lib/Watermark.ts"), exports);
|
|
17692
18312
|
__exportStar(__webpack_require__(/*! ./TableCellSelection */ "./packages/roosterjs-editor-plugins/lib/TableCellSelection.ts"), exports);
|
|
18313
|
+
__exportStar(__webpack_require__(/*! ./AutoFormat */ "./packages/roosterjs-editor-plugins/lib/AutoFormat.ts"), exports);
|
|
17693
18314
|
|
|
17694
18315
|
|
|
17695
18316
|
/***/ }),
|
|
@@ -17704,6 +18325,41 @@ __exportStar(__webpack_require__(/*! ./TableCellSelection */ "./packages/rooster
|
|
|
17704
18325
|
"use strict";
|
|
17705
18326
|
|
|
17706
18327
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18328
|
+
var lib_1 = __webpack_require__(/*! roosterjs-editor-dom/lib */ "./packages/roosterjs-editor-dom/lib/index.ts");
|
|
18329
|
+
/**
|
|
18330
|
+
* Generate event names and getXY function based on different platforms to be compatible with desktop and mobile browsers
|
|
18331
|
+
*/
|
|
18332
|
+
var MOUSE_EVENT_INFO = (function () {
|
|
18333
|
+
if (lib_1.Browser.isMobileOrTablet) {
|
|
18334
|
+
return {
|
|
18335
|
+
MOUSEDOWN: 'touchstart',
|
|
18336
|
+
MOUSEMOVE: 'touchmove',
|
|
18337
|
+
MOUSEUP: 'touchend',
|
|
18338
|
+
getPageXY: getTouchEventPageXY,
|
|
18339
|
+
};
|
|
18340
|
+
}
|
|
18341
|
+
else {
|
|
18342
|
+
return {
|
|
18343
|
+
MOUSEDOWN: 'mousedown',
|
|
18344
|
+
MOUSEMOVE: 'mousemove',
|
|
18345
|
+
MOUSEUP: 'mouseup',
|
|
18346
|
+
getPageXY: getMouseEventPageXY,
|
|
18347
|
+
};
|
|
18348
|
+
}
|
|
18349
|
+
})();
|
|
18350
|
+
function getMouseEventPageXY(e) {
|
|
18351
|
+
return [e.pageX, e.pageY];
|
|
18352
|
+
}
|
|
18353
|
+
function getTouchEventPageXY(e) {
|
|
18354
|
+
var pageX = 0;
|
|
18355
|
+
var pageY = 0;
|
|
18356
|
+
if (e.targetTouches && e.targetTouches.length > 0) {
|
|
18357
|
+
var touch = e.targetTouches[0];
|
|
18358
|
+
pageX = touch.pageX;
|
|
18359
|
+
pageY = touch.pageY;
|
|
18360
|
+
}
|
|
18361
|
+
return [pageX, pageY];
|
|
18362
|
+
}
|
|
17707
18363
|
/**
|
|
17708
18364
|
* @internal
|
|
17709
18365
|
* A helper class to help manage drag and drop to an HTML element
|
|
@@ -17726,19 +18382,20 @@ var DragAndDropHelper = /** @class */ (function () {
|
|
|
17726
18382
|
this.handler = handler;
|
|
17727
18383
|
this.zoomScale = zoomScale;
|
|
17728
18384
|
this.onMouseDown = function (e) {
|
|
17729
|
-
var _a
|
|
18385
|
+
var _a;
|
|
18386
|
+
var _b, _c;
|
|
17730
18387
|
e.preventDefault();
|
|
17731
18388
|
e.stopPropagation();
|
|
17732
18389
|
_this.addDocumentEvents();
|
|
17733
|
-
_this.initX =
|
|
17734
|
-
_this.
|
|
17735
|
-
_this.initValue = (_b = (_a = _this.handler).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, _this.context, e);
|
|
18390
|
+
_a = MOUSE_EVENT_INFO.getPageXY(e), _this.initX = _a[0], _this.initY = _a[1];
|
|
18391
|
+
_this.initValue = (_c = (_b = _this.handler).onDragStart) === null || _c === void 0 ? void 0 : _c.call(_b, _this.context, e);
|
|
17736
18392
|
};
|
|
17737
18393
|
this.onMouseMove = function (e) {
|
|
17738
18394
|
var _a, _b, _c;
|
|
17739
18395
|
e.preventDefault();
|
|
17740
|
-
var
|
|
17741
|
-
var
|
|
18396
|
+
var _d = MOUSE_EVENT_INFO.getPageXY(e), pageX = _d[0], pageY = _d[1];
|
|
18397
|
+
var deltaX = (pageX - _this.initX) / _this.zoomScale;
|
|
18398
|
+
var deltaY = (pageY - _this.initY) / _this.zoomScale;
|
|
17742
18399
|
if ((_b = (_a = _this.handler).onDragging) === null || _b === void 0 ? void 0 : _b.call(_a, _this.context, e, _this.initValue, deltaX, deltaY)) {
|
|
17743
18400
|
(_c = _this.onSubmit) === null || _c === void 0 ? void 0 : _c.call(_this, _this.context, _this.trigger);
|
|
17744
18401
|
}
|
|
@@ -17751,30 +18408,136 @@ var DragAndDropHelper = /** @class */ (function () {
|
|
|
17751
18408
|
(_c = _this.onSubmit) === null || _c === void 0 ? void 0 : _c.call(_this, _this.context, _this.trigger);
|
|
17752
18409
|
}
|
|
17753
18410
|
};
|
|
17754
|
-
trigger.addEventListener(
|
|
18411
|
+
trigger.addEventListener(MOUSE_EVENT_INFO.MOUSEDOWN, this.onMouseDown);
|
|
17755
18412
|
}
|
|
17756
18413
|
/**
|
|
17757
18414
|
* Dispose this object, remove all event listeners that has been attached
|
|
17758
18415
|
*/
|
|
17759
18416
|
DragAndDropHelper.prototype.dispose = function () {
|
|
17760
|
-
this.trigger.removeEventListener(
|
|
18417
|
+
this.trigger.removeEventListener(MOUSE_EVENT_INFO.MOUSEDOWN, this.onMouseDown);
|
|
17761
18418
|
this.removeDocumentEvents();
|
|
17762
18419
|
};
|
|
17763
18420
|
DragAndDropHelper.prototype.addDocumentEvents = function () {
|
|
17764
18421
|
var doc = this.trigger.ownerDocument;
|
|
17765
|
-
doc.addEventListener(
|
|
17766
|
-
doc.addEventListener(
|
|
18422
|
+
doc.addEventListener(MOUSE_EVENT_INFO.MOUSEMOVE, this.onMouseMove, true /*useCapture*/);
|
|
18423
|
+
doc.addEventListener(MOUSE_EVENT_INFO.MOUSEUP, this.onMouseUp, true /*useCapture*/);
|
|
17767
18424
|
};
|
|
17768
18425
|
DragAndDropHelper.prototype.removeDocumentEvents = function () {
|
|
17769
18426
|
var doc = this.trigger.ownerDocument;
|
|
17770
|
-
doc.removeEventListener(
|
|
17771
|
-
doc.removeEventListener(
|
|
18427
|
+
doc.removeEventListener(MOUSE_EVENT_INFO.MOUSEMOVE, this.onMouseMove, true /*useCapture*/);
|
|
18428
|
+
doc.removeEventListener(MOUSE_EVENT_INFO.MOUSEUP, this.onMouseUp, true /*useCapture*/);
|
|
17772
18429
|
};
|
|
17773
18430
|
return DragAndDropHelper;
|
|
17774
18431
|
}());
|
|
17775
18432
|
exports.default = DragAndDropHelper;
|
|
17776
18433
|
|
|
17777
18434
|
|
|
18435
|
+
/***/ }),
|
|
18436
|
+
|
|
18437
|
+
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/AutoFormat/AutoFormat.ts":
|
|
18438
|
+
/*!********************************************************************************!*\
|
|
18439
|
+
!*** ./packages/roosterjs-editor-plugins/lib/plugins/AutoFormat/AutoFormat.ts ***!
|
|
18440
|
+
\********************************************************************************/
|
|
18441
|
+
/*! no static exports found */
|
|
18442
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
18443
|
+
|
|
18444
|
+
"use strict";
|
|
18445
|
+
|
|
18446
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18447
|
+
var specialCharacters = /[`!@#$%^&*()_+\=\[\]{};':"\\|,.<>\/?~]/;
|
|
18448
|
+
/**
|
|
18449
|
+
* Automatically transform -- into hyphen, if typed between two words.
|
|
18450
|
+
*/
|
|
18451
|
+
var AutoFormat = /** @class */ (function () {
|
|
18452
|
+
function AutoFormat() {
|
|
18453
|
+
}
|
|
18454
|
+
/**
|
|
18455
|
+
* Get a friendly name of this plugin
|
|
18456
|
+
*/
|
|
18457
|
+
AutoFormat.prototype.getName = function () {
|
|
18458
|
+
return 'AutoFormat';
|
|
18459
|
+
};
|
|
18460
|
+
/**
|
|
18461
|
+
* Initialize this plugin
|
|
18462
|
+
* @param editor The editor instance
|
|
18463
|
+
*/
|
|
18464
|
+
AutoFormat.prototype.initialize = function (editor) {
|
|
18465
|
+
this.editor = editor;
|
|
18466
|
+
};
|
|
18467
|
+
/**
|
|
18468
|
+
* Dispose this plugin
|
|
18469
|
+
*/
|
|
18470
|
+
AutoFormat.prototype.dispose = function () {
|
|
18471
|
+
this.editor = null;
|
|
18472
|
+
};
|
|
18473
|
+
/**
|
|
18474
|
+
* Handle events triggered from editor
|
|
18475
|
+
* @param event PluginEvent object
|
|
18476
|
+
*/
|
|
18477
|
+
AutoFormat.prototype.onPluginEvent = function (event) {
|
|
18478
|
+
var _this = this;
|
|
18479
|
+
if (event.eventType === 7 /* ContentChanged */ ||
|
|
18480
|
+
event.eventType === 5 /* MouseDown */ ||
|
|
18481
|
+
event.eventType === 6 /* MouseUp */) {
|
|
18482
|
+
this.lastKeyTyped = '';
|
|
18483
|
+
}
|
|
18484
|
+
if (event.eventType === 0 /* KeyDown */) {
|
|
18485
|
+
var keyTyped = event.rawEvent.key;
|
|
18486
|
+
if (keyTyped.length > 1) {
|
|
18487
|
+
this.lastKeyTyped = '';
|
|
18488
|
+
}
|
|
18489
|
+
if (this.lastKeyTyped === '-' &&
|
|
18490
|
+
!specialCharacters.test(keyTyped) &&
|
|
18491
|
+
keyTyped !== ' ' &&
|
|
18492
|
+
keyTyped !== '-') {
|
|
18493
|
+
var searcher = this.editor.getContentSearcherOfCursor(event);
|
|
18494
|
+
var textBeforeCursor = searcher.getSubStringBefore(3);
|
|
18495
|
+
var dashes = searcher.getSubStringBefore(2);
|
|
18496
|
+
var isPrecededByADash = textBeforeCursor[0] === '-';
|
|
18497
|
+
var isPrecededByASpace = textBeforeCursor[0] === ' ';
|
|
18498
|
+
if (isPrecededByADash ||
|
|
18499
|
+
isPrecededByASpace ||
|
|
18500
|
+
specialCharacters.test(textBeforeCursor[0]) ||
|
|
18501
|
+
dashes !== '--') {
|
|
18502
|
+
return;
|
|
18503
|
+
}
|
|
18504
|
+
var textRange_1 = searcher.getRangeFromText(dashes, true /* exactMatch */);
|
|
18505
|
+
var nodeHyphen_1 = document.createTextNode('—');
|
|
18506
|
+
this.editor.addUndoSnapshot(function () {
|
|
18507
|
+
textRange_1.deleteContents();
|
|
18508
|
+
textRange_1.insertNode(nodeHyphen_1);
|
|
18509
|
+
_this.editor.select(nodeHyphen_1, -1 /* End */);
|
|
18510
|
+
}, null /*changeSource*/, true /*canUndoByBackspace*/);
|
|
18511
|
+
//After the substitution the last key typed needs to be cleaned
|
|
18512
|
+
this.lastKeyTyped = '';
|
|
18513
|
+
}
|
|
18514
|
+
else {
|
|
18515
|
+
this.lastKeyTyped = keyTyped;
|
|
18516
|
+
}
|
|
18517
|
+
}
|
|
18518
|
+
};
|
|
18519
|
+
return AutoFormat;
|
|
18520
|
+
}());
|
|
18521
|
+
exports.default = AutoFormat;
|
|
18522
|
+
|
|
18523
|
+
|
|
18524
|
+
/***/ }),
|
|
18525
|
+
|
|
18526
|
+
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/AutoFormat/index.ts":
|
|
18527
|
+
/*!***************************************************************************!*\
|
|
18528
|
+
!*** ./packages/roosterjs-editor-plugins/lib/plugins/AutoFormat/index.ts ***!
|
|
18529
|
+
\***************************************************************************/
|
|
18530
|
+
/*! no static exports found */
|
|
18531
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
18532
|
+
|
|
18533
|
+
"use strict";
|
|
18534
|
+
|
|
18535
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18536
|
+
exports.AutoFormat = void 0;
|
|
18537
|
+
var AutoFormat_1 = __webpack_require__(/*! ./AutoFormat */ "./packages/roosterjs-editor-plugins/lib/plugins/AutoFormat/AutoFormat.ts");
|
|
18538
|
+
Object.defineProperty(exports, "AutoFormat", { enumerable: true, get: function () { return AutoFormat_1.default; } });
|
|
18539
|
+
|
|
18540
|
+
|
|
17778
18541
|
/***/ }),
|
|
17779
18542
|
|
|
17780
18543
|
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/ContentEdit/ContentEdit.ts":
|
|
@@ -18172,6 +18935,8 @@ exports.EntityFeatures = {
|
|
|
18172
18935
|
|
|
18173
18936
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18174
18937
|
exports.ListFeatures = void 0;
|
|
18938
|
+
var getListStyle_1 = __webpack_require__(/*! ../utils/getListStyle */ "./packages/roosterjs-editor-plugins/lib/plugins/ContentEdit/utils/getListStyle.ts");
|
|
18939
|
+
var getListType_1 = __webpack_require__(/*! ../utils/getListType */ "./packages/roosterjs-editor-plugins/lib/plugins/ContentEdit/utils/getListType.ts");
|
|
18175
18940
|
var roosterjs_editor_api_1 = __webpack_require__(/*! roosterjs-editor-api */ "./packages/roosterjs-editor-api/lib/index.ts");
|
|
18176
18941
|
var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "./packages/roosterjs-editor-dom/lib/index.ts");
|
|
18177
18942
|
/**
|
|
@@ -18275,6 +19040,16 @@ var OutdentWhenEnterOnEmptyLine = {
|
|
|
18275
19040
|
},
|
|
18276
19041
|
defaultDisabled: !roosterjs_editor_dom_1.Browser.isIE && !roosterjs_editor_dom_1.Browser.isChrome,
|
|
18277
19042
|
};
|
|
19043
|
+
/**
|
|
19044
|
+
* Validate if a block of text is considered a list pattern
|
|
19045
|
+
* The regex expression will look for patterns of the form:
|
|
19046
|
+
* 1. 1> 1) 1- (1)
|
|
19047
|
+
* @returns if a text is considered a list pattern
|
|
19048
|
+
*/
|
|
19049
|
+
function isAListPattern(textBeforeCursor) {
|
|
19050
|
+
var REGEX = /^(\*|-|[0-9]{1,2}\.|[0-9]{1,2}\>|[0-9]{1,2}\)|[0-9]{1,2}\-|\([0-9]{1,2}\))$/;
|
|
19051
|
+
return REGEX.test(textBeforeCursor);
|
|
19052
|
+
}
|
|
18278
19053
|
/**
|
|
18279
19054
|
* AutoBullet edit feature, provides the ability to automatically convert current line into a list.
|
|
18280
19055
|
* When user input "1. ", convert into a numbering list
|
|
@@ -18286,10 +19061,15 @@ var AutoBullet = {
|
|
|
18286
19061
|
if (!cacheGetListElement(event, editor)) {
|
|
18287
19062
|
var searcher = editor.getContentSearcherOfCursor(event);
|
|
18288
19063
|
var textBeforeCursor = searcher.getSubStringBefore(4);
|
|
19064
|
+
var listTrigger = function (text) {
|
|
19065
|
+
return editor.isFeatureEnabled("AutoFormatList" /* AutoFormatList */)
|
|
19066
|
+
? (0, getListType_1.default)(text)
|
|
19067
|
+
: isAListPattern(text);
|
|
19068
|
+
};
|
|
18289
19069
|
// Auto list is triggered if:
|
|
18290
19070
|
// 1. Text before cursor exactly matches '*', '-' or '1.'
|
|
18291
19071
|
// 2. There's no non-text inline entities before cursor
|
|
18292
|
-
return
|
|
19072
|
+
return listTrigger(textBeforeCursor) && !searcher.getNearestNonTextInlineElement();
|
|
18293
19073
|
}
|
|
18294
19074
|
return false;
|
|
18295
19075
|
},
|
|
@@ -18302,22 +19082,35 @@ var AutoBullet = {
|
|
|
18302
19082
|
var searcher = editor.getContentSearcherOfCursor();
|
|
18303
19083
|
var textBeforeCursor = searcher.getSubStringBefore(4);
|
|
18304
19084
|
var textRange = searcher.getRangeFromText(textBeforeCursor, true /*exactMatch*/);
|
|
19085
|
+
var listType = 0 /* None */;
|
|
19086
|
+
var listStyle;
|
|
19087
|
+
if (editor.isFeatureEnabled("AutoFormatList" /* AutoFormatList */)) {
|
|
19088
|
+
listType = (0, getListType_1.default)(textBeforeCursor);
|
|
19089
|
+
listStyle = (0, getListStyle_1.default)(textBeforeCursor, listType);
|
|
19090
|
+
}
|
|
19091
|
+
else {
|
|
19092
|
+
listType =
|
|
19093
|
+
textBeforeCursor.indexOf('*') == 0 || textBeforeCursor.indexOf('-') == 0
|
|
19094
|
+
? 2 /* Unordered */
|
|
19095
|
+
: isAListPattern(textBeforeCursor)
|
|
19096
|
+
? 1 /* Ordered */
|
|
19097
|
+
: 0 /* None */;
|
|
19098
|
+
}
|
|
18305
19099
|
if (!textRange) {
|
|
18306
19100
|
// no op if the range can't be found
|
|
18307
19101
|
}
|
|
18308
|
-
else if (
|
|
18309
|
-
textBeforeCursor.indexOf('-') == 0) {
|
|
19102
|
+
else if (listType === 2 /* Unordered */) {
|
|
18310
19103
|
prepareAutoBullet(editor, textRange);
|
|
18311
|
-
(0, roosterjs_editor_api_1.toggleBullet)(editor);
|
|
19104
|
+
(0, roosterjs_editor_api_1.toggleBullet)(editor, listStyle);
|
|
18312
19105
|
}
|
|
18313
|
-
else if (
|
|
19106
|
+
else if (listType === 1 /* Ordered */) {
|
|
18314
19107
|
prepareAutoBullet(editor, textRange);
|
|
18315
|
-
(0, roosterjs_editor_api_1.toggleNumbering)(editor);
|
|
19108
|
+
(0, roosterjs_editor_api_1.toggleNumbering)(editor, undefined /* startNumber*/, listStyle);
|
|
18316
19109
|
}
|
|
18317
19110
|
else if ((regions = editor.getSelectedRegions()) && regions.length == 1) {
|
|
18318
19111
|
var num = parseInt(textBeforeCursor);
|
|
18319
19112
|
prepareAutoBullet(editor, textRange);
|
|
18320
|
-
(0, roosterjs_editor_api_1.toggleNumbering)(editor, num);
|
|
19113
|
+
(0, roosterjs_editor_api_1.toggleNumbering)(editor, num, listStyle);
|
|
18321
19114
|
}
|
|
18322
19115
|
(_a = searcher.getRangeFromText(textBeforeCursor, true /*exactMatch*/)) === null || _a === void 0 ? void 0 : _a.deleteContents();
|
|
18323
19116
|
}, null /*changeSource*/, true /*canUndoByBackspace*/);
|
|
@@ -18340,16 +19133,6 @@ var MaintainListChain = {
|
|
|
18340
19133
|
editor.runAsync(function (editor) { return (0, roosterjs_editor_api_1.experimentCommitListChains)(editor, chains); });
|
|
18341
19134
|
},
|
|
18342
19135
|
};
|
|
18343
|
-
/**
|
|
18344
|
-
* Validate if a block of text is considered a list pattern
|
|
18345
|
-
* The regex expression will look for patterns of the form:
|
|
18346
|
-
* 1. 1> 1) 1- (1)
|
|
18347
|
-
* @returns if a text is considered a list pattern
|
|
18348
|
-
*/
|
|
18349
|
-
function isAListPattern(textBeforeCursor) {
|
|
18350
|
-
var REGEX = /^(\*|-|[0-9]{1,2}\.|[0-9]{1,2}\>|[0-9]{1,2}\)|[0-9]{1,2}\-|\([0-9]{1,2}\))$/;
|
|
18351
|
-
return REGEX.test(textBeforeCursor);
|
|
18352
|
-
}
|
|
18353
19136
|
function getListChains(editor) {
|
|
18354
19137
|
return roosterjs_editor_dom_1.VListChain.createListChains(editor.getSelectedRegions());
|
|
18355
19138
|
}
|
|
@@ -18655,7 +19438,9 @@ var commands = [
|
|
|
18655
19438
|
createCommand(4096 /* Ctrl */ | 66 /* B */, 8192 /* Meta */ | 66 /* B */, roosterjs_editor_api_1.toggleBold),
|
|
18656
19439
|
createCommand(4096 /* Ctrl */ | 73 /* I */, 8192 /* Meta */ | 73 /* I */, roosterjs_editor_api_1.toggleItalic),
|
|
18657
19440
|
createCommand(4096 /* Ctrl */ | 85 /* U */, 8192 /* Meta */ | 85 /* U */, roosterjs_editor_api_1.toggleUnderline),
|
|
19441
|
+
createCommand(4096 /* Ctrl */ | 32 /* SPACE */, 8192 /* Meta */ | 32 /* SPACE */, roosterjs_editor_api_1.clearFormat),
|
|
18658
19442
|
createCommand(4096 /* Ctrl */ | 90 /* Z */, 8192 /* Meta */ | 90 /* Z */, function (editor) { return editor.undo(); }),
|
|
19443
|
+
createCommand(18 /* ALT */ | 8 /* BACKSPACE */, 18 /* ALT */ | 8 /* BACKSPACE */, function (editor) { return editor.undo(); }),
|
|
18659
19444
|
createCommand(4096 /* Ctrl */ | 89 /* Y */, 8192 /* Meta */ | 16384 /* Shift */ | 90 /* Z */, function (editor) { return editor.redo(); }),
|
|
18660
19445
|
createCommand(4096 /* Ctrl */ | 190 /* PERIOD */, 8192 /* Meta */ | 190 /* PERIOD */, roosterjs_editor_api_1.toggleBullet),
|
|
18661
19446
|
createCommand(4096 /* Ctrl */ | 191 /* FORWARD_SLASH */, 8192 /* Meta */ | 191 /* FORWARD_SLASH */, roosterjs_editor_api_1.toggleNumbering),
|
|
@@ -18667,6 +19452,8 @@ var commands = [
|
|
|
18667
19452
|
* Ctrl/Meta+B: toggle bold style
|
|
18668
19453
|
* Ctrl/Meta+I: toggle italic style
|
|
18669
19454
|
* Ctrl/Meta+U: toggle underline style
|
|
19455
|
+
* Ctrl/Meta+Space: clear formatting
|
|
19456
|
+
* Alt+Backspace: undo
|
|
18670
19457
|
* Ctrl/Meta+Z: undo
|
|
18671
19458
|
* Ctrl+Y/Meta+Shift+Z: redo
|
|
18672
19459
|
* Ctrl/Meta+PERIOD: toggle bullet list
|
|
@@ -18676,7 +19463,18 @@ var commands = [
|
|
|
18676
19463
|
*/
|
|
18677
19464
|
var DefaultShortcut = {
|
|
18678
19465
|
allowFunctionKeys: true,
|
|
18679
|
-
keys: [
|
|
19466
|
+
keys: [
|
|
19467
|
+
66 /* B */,
|
|
19468
|
+
73 /* I */,
|
|
19469
|
+
85 /* U */,
|
|
19470
|
+
89 /* Y */,
|
|
19471
|
+
90 /* Z */,
|
|
19472
|
+
188 /* COMMA */,
|
|
19473
|
+
190 /* PERIOD */,
|
|
19474
|
+
191 /* FORWARD_SLASH */,
|
|
19475
|
+
32 /* SPACE */,
|
|
19476
|
+
8 /* BACKSPACE */,
|
|
19477
|
+
],
|
|
18680
19478
|
shouldHandleEvent: cacheGetCommand,
|
|
18681
19479
|
handleEvent: function (event, editor) {
|
|
18682
19480
|
var command = cacheGetCommand(event);
|
|
@@ -18691,13 +19489,16 @@ function cacheGetCommand(event) {
|
|
|
18691
19489
|
return (0, roosterjs_editor_dom_1.cacheGetEventData)(event, 'DEFAULT_SHORT_COMMAND', function () {
|
|
18692
19490
|
var e = event.rawEvent;
|
|
18693
19491
|
var key =
|
|
18694
|
-
// Need to check
|
|
18695
|
-
// In that case, ctrlKey and altKey are both true in Edge,
|
|
18696
|
-
|
|
19492
|
+
// Need to check AltGraph isn't being pressed since some languages (e.g. Polski) use AltGr
|
|
19493
|
+
// to input some special characters. In that case, ctrlKey and altKey are both true in Edge,
|
|
19494
|
+
// but we should not trigger any shortcut function here. However, we still want to capture
|
|
19495
|
+
// the ALT+BACKSPACE combination.
|
|
19496
|
+
event.eventType == 0 /* KeyDown */ && !e.getModifierState('AltGraph')
|
|
18697
19497
|
? e.which |
|
|
18698
19498
|
(e.metaKey && 8192 /* Meta */) |
|
|
18699
19499
|
(e.shiftKey && 16384 /* Shift */) |
|
|
18700
|
-
(e.ctrlKey && 4096 /* Ctrl */)
|
|
19500
|
+
(e.ctrlKey && 4096 /* Ctrl */) |
|
|
19501
|
+
(e.altKey && 18 /* ALT */)
|
|
18701
19502
|
: 0;
|
|
18702
19503
|
return key && commands.filter(function (cmd) { return (roosterjs_editor_dom_1.Browser.isMac ? cmd.macKey : cmd.winKey) == key; })[0];
|
|
18703
19504
|
});
|
|
@@ -19019,12 +19820,27 @@ var OutdentWhenTabText = {
|
|
|
19019
19820
|
event.rawEvent.preventDefault();
|
|
19020
19821
|
},
|
|
19021
19822
|
};
|
|
19823
|
+
/**
|
|
19824
|
+
* @deprecated
|
|
19825
|
+
* Automatically transform -- into hyphen, if typed between two words.
|
|
19826
|
+
*/
|
|
19827
|
+
var AutoHyphen = {
|
|
19828
|
+
keys: [],
|
|
19829
|
+
shouldHandleEvent: function (event, editor) {
|
|
19830
|
+
return false;
|
|
19831
|
+
},
|
|
19832
|
+
handleEvent: function (event, editor) {
|
|
19833
|
+
return false;
|
|
19834
|
+
},
|
|
19835
|
+
defaultDisabled: true,
|
|
19836
|
+
};
|
|
19022
19837
|
/**
|
|
19023
19838
|
* @internal
|
|
19024
19839
|
*/
|
|
19025
19840
|
exports.TextFeatures = {
|
|
19026
19841
|
indentWhenTabText: IndentWhenTabText,
|
|
19027
19842
|
outdentWhenTabText: OutdentWhenTabText,
|
|
19843
|
+
autoHyphen: AutoHyphen,
|
|
19028
19844
|
};
|
|
19029
19845
|
function shouldSetIndentation(editor, range) {
|
|
19030
19846
|
var result = false;
|
|
@@ -19032,6 +19848,9 @@ function shouldSetIndentation(editor, range) {
|
|
|
19032
19848
|
var endPosition = roosterjs_editor_dom_1.Position.getEnd(range);
|
|
19033
19849
|
var firstBlock = editor.getBlockElementAtNode(startPosition.node);
|
|
19034
19850
|
var lastBlock = editor.getBlockElementAtNode(endPosition.node);
|
|
19851
|
+
if (!firstBlock || !lastBlock) {
|
|
19852
|
+
return false;
|
|
19853
|
+
}
|
|
19035
19854
|
if (!firstBlock.equals(lastBlock)) {
|
|
19036
19855
|
//If the selections has more than one block, we indent all the blocks in the selection
|
|
19037
19856
|
return true;
|
|
@@ -19143,6 +19962,161 @@ var getAllFeatures_1 = __webpack_require__(/*! ./getAllFeatures */ "./packages/r
|
|
|
19143
19962
|
Object.defineProperty(exports, "getAllFeatures", { enumerable: true, get: function () { return getAllFeatures_1.default; } });
|
|
19144
19963
|
|
|
19145
19964
|
|
|
19965
|
+
/***/ }),
|
|
19966
|
+
|
|
19967
|
+
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/ContentEdit/utils/getListStyle.ts":
|
|
19968
|
+
/*!*****************************************************************************************!*\
|
|
19969
|
+
!*** ./packages/roosterjs-editor-plugins/lib/plugins/ContentEdit/utils/getListStyle.ts ***!
|
|
19970
|
+
\*****************************************************************************************/
|
|
19971
|
+
/*! no static exports found */
|
|
19972
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
19973
|
+
|
|
19974
|
+
"use strict";
|
|
19975
|
+
|
|
19976
|
+
var _a, _b, _c, _d, _e, _f;
|
|
19977
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19978
|
+
var characters = {
|
|
19979
|
+
'.': 0 /* Dot */,
|
|
19980
|
+
'-': 1 /* Dash */,
|
|
19981
|
+
')': 2 /* Parenthesis */,
|
|
19982
|
+
'(': 3 /* DoubleParenthesis */,
|
|
19983
|
+
};
|
|
19984
|
+
var identifyCharacter = function (text) {
|
|
19985
|
+
var char = text[0] === '(' ? text[0] : text[text.length - 1];
|
|
19986
|
+
return characters[char];
|
|
19987
|
+
};
|
|
19988
|
+
var identifyNumberingType = function (text) {
|
|
19989
|
+
var char = text[0] === '(' ? text[1] : text[0];
|
|
19990
|
+
if (!isNaN(parseInt(char))) {
|
|
19991
|
+
return 0 /* Decimal */;
|
|
19992
|
+
}
|
|
19993
|
+
else if (/[a-z]+/g.test(char)) {
|
|
19994
|
+
if (char === 'i') {
|
|
19995
|
+
return 3 /* LowerRoman */;
|
|
19996
|
+
}
|
|
19997
|
+
else {
|
|
19998
|
+
return 1 /* LowerAlpha */;
|
|
19999
|
+
}
|
|
20000
|
+
}
|
|
20001
|
+
else if (/[A-Z]+/g.test(char)) {
|
|
20002
|
+
if (char === 'I') {
|
|
20003
|
+
return 4 /* UpperRoman */;
|
|
20004
|
+
}
|
|
20005
|
+
else {
|
|
20006
|
+
return 2 /* UpperAlpha */;
|
|
20007
|
+
}
|
|
20008
|
+
}
|
|
20009
|
+
};
|
|
20010
|
+
var numberingListTypes = (_a = {},
|
|
20011
|
+
_a[0 /* Decimal */] = function (char) { return DecimalsTypes[char]; },
|
|
20012
|
+
_a[1 /* LowerAlpha */] = function (char) { return LowerAlphaTypes[char]; },
|
|
20013
|
+
_a[2 /* UpperAlpha */] = function (char) { return UpperAlphaTypes[char]; },
|
|
20014
|
+
_a[3 /* LowerRoman */] = function (char) { return LowerRomanTypes[char]; },
|
|
20015
|
+
_a[4 /* UpperRoman */] = function (char) { return UpperRomanTypes[char]; },
|
|
20016
|
+
_a);
|
|
20017
|
+
var UpperRomanTypes = (_b = {},
|
|
20018
|
+
_b[0 /* Dot */] = 16 /* UpperRoman */,
|
|
20019
|
+
_b[1 /* Dash */] = 19 /* UpperRomanDash */,
|
|
20020
|
+
_b[2 /* Parenthesis */] = 17 /* UpperRomanParenthesis */,
|
|
20021
|
+
_b[3 /* DoubleParenthesis */] = 18 /* UpperRomanDoubleParenthesis */,
|
|
20022
|
+
_b);
|
|
20023
|
+
var LowerRomanTypes = (_c = {},
|
|
20024
|
+
_c[0 /* Dot */] = 12 /* LowerRoman */,
|
|
20025
|
+
_c[1 /* Dash */] = 15 /* LowerRomanDash */,
|
|
20026
|
+
_c[2 /* Parenthesis */] = 13 /* LowerRomanParenthesis */,
|
|
20027
|
+
_c[3 /* DoubleParenthesis */] = 14 /* LowerRomanDoubleParenthesis */,
|
|
20028
|
+
_c);
|
|
20029
|
+
var UpperAlphaTypes = (_d = {},
|
|
20030
|
+
_d[0 /* Dot */] = 8 /* UpperAlpha */,
|
|
20031
|
+
_d[1 /* Dash */] = 11 /* UpperAlphaDash */,
|
|
20032
|
+
_d[2 /* Parenthesis */] = 9 /* UpperAlphaParenthesis */,
|
|
20033
|
+
_d[3 /* DoubleParenthesis */] = 10 /* UpperAlphaDoubleParenthesis */,
|
|
20034
|
+
_d);
|
|
20035
|
+
var LowerAlphaTypes = (_e = {},
|
|
20036
|
+
_e[0 /* Dot */] = 4 /* LowerAlpha */,
|
|
20037
|
+
_e[1 /* Dash */] = 7 /* LowerAlphaDash */,
|
|
20038
|
+
_e[2 /* Parenthesis */] = 5 /* LowerAlphaParenthesis */,
|
|
20039
|
+
_e[3 /* DoubleParenthesis */] = 6 /* LowerAlphaDoubleParenthesis */,
|
|
20040
|
+
_e);
|
|
20041
|
+
var DecimalsTypes = (_f = {},
|
|
20042
|
+
_f[0 /* Dot */] = 0 /* Decimal */,
|
|
20043
|
+
_f[1 /* Dash */] = 1 /* DecimalDash */,
|
|
20044
|
+
_f[2 /* Parenthesis */] = 2 /* DecimalParenthesis */,
|
|
20045
|
+
_f[3 /* DoubleParenthesis */] = 3 /* DecimalDoubleParenthesis */,
|
|
20046
|
+
_f);
|
|
20047
|
+
var bulletListType = {
|
|
20048
|
+
'*': 0 /* Disc */,
|
|
20049
|
+
'-': 1 /* Dash */,
|
|
20050
|
+
'--': 2 /* Square */,
|
|
20051
|
+
'->': 4 /* LongArrow */,
|
|
20052
|
+
'-->': 4 /* LongArrow */,
|
|
20053
|
+
'=>': 5 /* UnfilledArrow */,
|
|
20054
|
+
'>': 3 /* ShortArrow */,
|
|
20055
|
+
};
|
|
20056
|
+
var identifyNumberingListType = function (textBeforeCursor) {
|
|
20057
|
+
var numbering = textBeforeCursor.replace(/\s/g, '');
|
|
20058
|
+
var char = identifyCharacter(numbering);
|
|
20059
|
+
var numberingType = identifyNumberingType(numbering);
|
|
20060
|
+
return numberingListTypes[numberingType](char);
|
|
20061
|
+
};
|
|
20062
|
+
var identifyBulletListType = function (textBeforeCursor) {
|
|
20063
|
+
var bullet = textBeforeCursor.replace(/\s/g, '');
|
|
20064
|
+
return bulletListType[bullet];
|
|
20065
|
+
};
|
|
20066
|
+
/**
|
|
20067
|
+
* @internal
|
|
20068
|
+
* @param textBeforeCursor The trigger character
|
|
20069
|
+
* @param listType The type of the list (ordered or unordered)
|
|
20070
|
+
* @returns the style of the list
|
|
20071
|
+
*/
|
|
20072
|
+
function getListStyle(textBeforeCursor, listType) {
|
|
20073
|
+
if (listType === 1 /* Ordered */) {
|
|
20074
|
+
return identifyNumberingListType(textBeforeCursor);
|
|
20075
|
+
}
|
|
20076
|
+
else {
|
|
20077
|
+
return identifyBulletListType(textBeforeCursor);
|
|
20078
|
+
}
|
|
20079
|
+
}
|
|
20080
|
+
exports.default = getListStyle;
|
|
20081
|
+
|
|
20082
|
+
|
|
20083
|
+
/***/ }),
|
|
20084
|
+
|
|
20085
|
+
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/ContentEdit/utils/getListType.ts":
|
|
20086
|
+
/*!****************************************************************************************!*\
|
|
20087
|
+
!*** ./packages/roosterjs-editor-plugins/lib/plugins/ContentEdit/utils/getListType.ts ***!
|
|
20088
|
+
\****************************************************************************************/
|
|
20089
|
+
/*! no static exports found */
|
|
20090
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
20091
|
+
|
|
20092
|
+
"use strict";
|
|
20093
|
+
|
|
20094
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20095
|
+
function isABulletList(textBeforeCursor) {
|
|
20096
|
+
var hasTriggers = ['*', '-', '>'].indexOf(textBeforeCursor[0]) > -1;
|
|
20097
|
+
var REGEX = /^(.*?)=>|^(.*?)->|^(.*?)-->|^(.*?)=>|^(.*?)--/;
|
|
20098
|
+
return hasTriggers || REGEX.test(textBeforeCursor);
|
|
20099
|
+
}
|
|
20100
|
+
function isANumberingList(textBeforeCursor) {
|
|
20101
|
+
var REGEX = /^([1-9,a-z, i,A-Z,I]{1,2}\.|[1-9,a-z, i,A-Z,I]{1,2}\)|[1-9,a-z, i,A-Z,I]{1,2}\-|\([1-9,a-z, i,A-Z,I]{1,2}\))$/;
|
|
20102
|
+
return REGEX.test(textBeforeCursor.replace(/\s/g, ''));
|
|
20103
|
+
}
|
|
20104
|
+
/**
|
|
20105
|
+
* @internal
|
|
20106
|
+
* @param textBeforeCursor The trigger character
|
|
20107
|
+
* @returns If the list is ordered or unordered
|
|
20108
|
+
*/
|
|
20109
|
+
function getListType(textBeforeCursor) {
|
|
20110
|
+
if (isABulletList(textBeforeCursor)) {
|
|
20111
|
+
return 2 /* Unordered */;
|
|
20112
|
+
}
|
|
20113
|
+
else if (isANumberingList(textBeforeCursor)) {
|
|
20114
|
+
return 1 /* Ordered */;
|
|
20115
|
+
}
|
|
20116
|
+
}
|
|
20117
|
+
exports.default = getListType;
|
|
20118
|
+
|
|
20119
|
+
|
|
19146
20120
|
/***/ }),
|
|
19147
20121
|
|
|
19148
20122
|
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/ContextMenu/ContextMenu.ts":
|
|
@@ -19824,9 +20798,13 @@ var ImageEdit = /** @class */ (function () {
|
|
|
19824
20798
|
/**
|
|
19825
20799
|
* Create a new instance of ImageEdit
|
|
19826
20800
|
* @param options Image editing options
|
|
20801
|
+
* @param onShowResizeHandle An optional callback to allow customize resize handle element of image resizing.
|
|
20802
|
+
* To customize the resize handle element, add this callback and change the attributes of elementData then it
|
|
20803
|
+
* will be picked up by ImageEdit code
|
|
19827
20804
|
*/
|
|
19828
|
-
function ImageEdit(options) {
|
|
20805
|
+
function ImageEdit(options, onShowResizeHandle) {
|
|
19829
20806
|
var _this = this;
|
|
20807
|
+
this.onShowResizeHandle = onShowResizeHandle;
|
|
19830
20808
|
// Allowed editing operations
|
|
19831
20809
|
this.allowedOperations = 1 /* CornerResize */;
|
|
19832
20810
|
/**
|
|
@@ -20079,7 +21057,7 @@ var ImageEdit = /** @class */ (function () {
|
|
|
20079
21057
|
var htmlData = [(0, Resizer_1.getResizeBordersHTML)(options)];
|
|
20080
21058
|
Object.keys(ImageEditHTMLMap).forEach(function (thisOperation) {
|
|
20081
21059
|
if ((operation & thisOperation) == thisOperation) {
|
|
20082
|
-
(0, roosterjs_editor_dom_1.arrayPush)(htmlData, ImageEditHTMLMap[thisOperation](options));
|
|
21060
|
+
(0, roosterjs_editor_dom_1.arrayPush)(htmlData, ImageEditHTMLMap[thisOperation](options, _this.onShowResizeHandle));
|
|
20083
21061
|
}
|
|
20084
21062
|
});
|
|
20085
21063
|
htmlData.forEach(function (data) {
|
|
@@ -20963,16 +21941,20 @@ exports.doubleCheckResize = doubleCheckResize;
|
|
|
20963
21941
|
* @internal
|
|
20964
21942
|
* Get HTML for resize handles at the corners
|
|
20965
21943
|
*/
|
|
20966
|
-
function getCornerResizeHTML(_a) {
|
|
21944
|
+
function getCornerResizeHTML(_a, onShowResizeHandle) {
|
|
20967
21945
|
var resizeBorderColor = _a.borderColor, handlesExperimentalFeatures = _a.handlesExperimentalFeatures;
|
|
20968
21946
|
var result = [];
|
|
20969
21947
|
Xs.forEach(function (x) {
|
|
20970
21948
|
return Ys.forEach(function (y) {
|
|
20971
|
-
|
|
21949
|
+
var elementData = (x == '') == (y == '')
|
|
20972
21950
|
? getResizeHandleHTML(x, y, resizeBorderColor, handlesExperimentalFeatures
|
|
20973
21951
|
? 1 /* CircularHandlesCorner */
|
|
20974
21952
|
: 0 /* SquareHandles */)
|
|
20975
|
-
: null
|
|
21953
|
+
: null;
|
|
21954
|
+
if (onShowResizeHandle) {
|
|
21955
|
+
onShowResizeHandle(elementData, x, y);
|
|
21956
|
+
}
|
|
21957
|
+
result.push(elementData);
|
|
20976
21958
|
});
|
|
20977
21959
|
});
|
|
20978
21960
|
return result;
|
|
@@ -20982,7 +21964,7 @@ exports.getCornerResizeHTML = getCornerResizeHTML;
|
|
|
20982
21964
|
* @internal
|
|
20983
21965
|
* Get HTML for resize handles on the sides
|
|
20984
21966
|
*/
|
|
20985
|
-
function getSideResizeHTML(_a) {
|
|
21967
|
+
function getSideResizeHTML(_a, onShowResizeHandle) {
|
|
20986
21968
|
var resizeBorderColor = _a.borderColor, isSmallImage = _a.isSmallImage, handlesExperimentalFeatures = _a.handlesExperimentalFeatures;
|
|
20987
21969
|
if (isSmallImage) {
|
|
20988
21970
|
return null;
|
|
@@ -20990,11 +21972,15 @@ function getSideResizeHTML(_a) {
|
|
|
20990
21972
|
var result = [];
|
|
20991
21973
|
Xs.forEach(function (x) {
|
|
20992
21974
|
return Ys.forEach(function (y) {
|
|
20993
|
-
|
|
21975
|
+
var elementData = (x == '') != (y == '')
|
|
20994
21976
|
? getResizeHandleHTML(x, y, resizeBorderColor, handlesExperimentalFeatures
|
|
20995
21977
|
? 1 /* CircularHandlesCorner */
|
|
20996
21978
|
: 0 /* SquareHandles */)
|
|
20997
|
-
: null
|
|
21979
|
+
: null;
|
|
21980
|
+
if (onShowResizeHandle) {
|
|
21981
|
+
onShowResizeHandle(elementData, x, y);
|
|
21982
|
+
}
|
|
21983
|
+
result.push(elementData);
|
|
20998
21984
|
});
|
|
20999
21985
|
});
|
|
21000
21986
|
return result;
|
|
@@ -21309,6 +22295,7 @@ var convertPastedContentFromExcel_1 = __webpack_require__(/*! ./excelConverter/c
|
|
|
21309
22295
|
var convertPastedContentFromPowerPoint_1 = __webpack_require__(/*! ./pptConverter/convertPastedContentFromPowerPoint */ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/pptConverter/convertPastedContentFromPowerPoint.ts");
|
|
21310
22296
|
var convertPastedContentFromWord_1 = __webpack_require__(/*! ./wordConverter/convertPastedContentFromWord */ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/wordConverter/convertPastedContentFromWord.ts");
|
|
21311
22297
|
var handleLineMerge_1 = __webpack_require__(/*! ./lineMerge/handleLineMerge */ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/lineMerge/handleLineMerge.ts");
|
|
22298
|
+
var sanitizeHtmlColorsFromPastedContent_1 = __webpack_require__(/*! ./sanitizeHtmlColorsFromPastedContent/sanitizeHtmlColorsFromPastedContent */ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/sanitizeHtmlColorsFromPastedContent/sanitizeHtmlColorsFromPastedContent.ts");
|
|
21312
22299
|
var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "./packages/roosterjs-editor-dom/lib/index.ts");
|
|
21313
22300
|
var convertPastedContentFromWordOnline_1 = __webpack_require__(/*! ./officeOnlineConverter/convertPastedContentFromWordOnline */ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/officeOnlineConverter/convertPastedContentFromWordOnline.ts");
|
|
21314
22301
|
var WORD_ATTRIBUTE_NAME = 'xmlns:w';
|
|
@@ -21403,6 +22390,7 @@ var Paste = /** @class */ (function () {
|
|
|
21403
22390
|
(0, convertPastedContentForLI_1.default)(fragment);
|
|
21404
22391
|
(0, handleLineMerge_1.default)(fragment);
|
|
21405
22392
|
}
|
|
22393
|
+
(0, sanitizeHtmlColorsFromPastedContent_1.default)(sanitizingOption);
|
|
21406
22394
|
// Replace unknown tags with SPAN
|
|
21407
22395
|
sanitizingOption.unknownTagReplacement = this.unknownTagReplacement;
|
|
21408
22396
|
}
|
|
@@ -22000,6 +22988,77 @@ function convertPastedContentFromPowerPoint(event, trustedHTMLHandler) {
|
|
|
22000
22988
|
exports.default = convertPastedContentFromPowerPoint;
|
|
22001
22989
|
|
|
22002
22990
|
|
|
22991
|
+
/***/ }),
|
|
22992
|
+
|
|
22993
|
+
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/sanitizeHtmlColorsFromPastedContent/deprecatedColorList.ts":
|
|
22994
|
+
/*!************************************************************************************************************************!*\
|
|
22995
|
+
!*** ./packages/roosterjs-editor-plugins/lib/plugins/Paste/sanitizeHtmlColorsFromPastedContent/deprecatedColorList.ts ***!
|
|
22996
|
+
\************************************************************************************************************************/
|
|
22997
|
+
/*! no static exports found */
|
|
22998
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
22999
|
+
|
|
23000
|
+
"use strict";
|
|
23001
|
+
|
|
23002
|
+
/**
|
|
23003
|
+
* @internal
|
|
23004
|
+
* List of deprecated colors that should be removed
|
|
23005
|
+
*/
|
|
23006
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23007
|
+
exports.DeprecatedColorList = void 0;
|
|
23008
|
+
exports.DeprecatedColorList = [
|
|
23009
|
+
'activeborder',
|
|
23010
|
+
'activecaption',
|
|
23011
|
+
'appworkspace',
|
|
23012
|
+
'background',
|
|
23013
|
+
'buttonhighlight',
|
|
23014
|
+
'buttonshadow',
|
|
23015
|
+
'captiontext',
|
|
23016
|
+
'inactiveborder',
|
|
23017
|
+
'inactivecaption',
|
|
23018
|
+
'inactivecaptiontext',
|
|
23019
|
+
'infobackground',
|
|
23020
|
+
'infotext',
|
|
23021
|
+
'menu',
|
|
23022
|
+
'menutext',
|
|
23023
|
+
'scrollbar',
|
|
23024
|
+
'threeddarkshadow',
|
|
23025
|
+
'threedface',
|
|
23026
|
+
'threedhighlight',
|
|
23027
|
+
'threedlightshadow',
|
|
23028
|
+
'threedfhadow',
|
|
23029
|
+
'window',
|
|
23030
|
+
'windowframe',
|
|
23031
|
+
'windowtext',
|
|
23032
|
+
];
|
|
23033
|
+
|
|
23034
|
+
|
|
23035
|
+
/***/ }),
|
|
23036
|
+
|
|
23037
|
+
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/sanitizeHtmlColorsFromPastedContent/sanitizeHtmlColorsFromPastedContent.ts":
|
|
23038
|
+
/*!****************************************************************************************************************************************!*\
|
|
23039
|
+
!*** ./packages/roosterjs-editor-plugins/lib/plugins/Paste/sanitizeHtmlColorsFromPastedContent/sanitizeHtmlColorsFromPastedContent.ts ***!
|
|
23040
|
+
\****************************************************************************************************************************************/
|
|
23041
|
+
/*! no static exports found */
|
|
23042
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
23043
|
+
|
|
23044
|
+
"use strict";
|
|
23045
|
+
|
|
23046
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23047
|
+
var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "./packages/roosterjs-editor-dom/lib/index.ts");
|
|
23048
|
+
var deprecatedColorList_1 = __webpack_require__(/*! ./deprecatedColorList */ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/sanitizeHtmlColorsFromPastedContent/deprecatedColorList.ts");
|
|
23049
|
+
/**
|
|
23050
|
+
* @internal
|
|
23051
|
+
* Remove the deprecated colors from pasted content
|
|
23052
|
+
* @param sanitizingOption the sanitizingOption of BeforePasteEvent
|
|
23053
|
+
* */
|
|
23054
|
+
function sanitizeHtmlColorsFromPastedContent(sanitizingOption) {
|
|
23055
|
+
['color', 'background-color'].forEach(function (property) {
|
|
23056
|
+
(0, roosterjs_editor_dom_1.chainSanitizerCallback)(sanitizingOption.cssStyleCallbacks, property, function (value) { return deprecatedColorList_1.DeprecatedColorList.indexOf(value) < 0; });
|
|
23057
|
+
});
|
|
23058
|
+
}
|
|
23059
|
+
exports.default = sanitizeHtmlColorsFromPastedContent;
|
|
23060
|
+
|
|
23061
|
+
|
|
22003
23062
|
/***/ }),
|
|
22004
23063
|
|
|
22005
23064
|
/***/ "./packages/roosterjs-editor-plugins/lib/plugins/Paste/wordConverter/LevelLists.ts":
|
|
@@ -23536,7 +24595,7 @@ var TableCellSelection = /** @class */ (function () {
|
|
|
23536
24595
|
if (shiftKey) {
|
|
23537
24596
|
if (!this.firstTarget) {
|
|
23538
24597
|
var pos = this.editor.getFocusedPosition();
|
|
23539
|
-
var cell = getCellAtCursor(this.editor, pos.node);
|
|
24598
|
+
var cell = pos && getCellAtCursor(this.editor, pos.node);
|
|
23540
24599
|
this.firstTarget = this.firstTarget || cell;
|
|
23541
24600
|
}
|
|
23542
24601
|
//If first target is not a table cell, we should ignore this plugin
|
|
@@ -23545,7 +24604,10 @@ var TableCellSelection = /** @class */ (function () {
|
|
|
23545
24604
|
}
|
|
23546
24605
|
this.editor.runAsync(function (editor) {
|
|
23547
24606
|
var pos = editor.getFocusedPosition();
|
|
23548
|
-
_this.
|
|
24607
|
+
var newTarget = _this.tableSelection ? _this.lastTarget : pos === null || pos === void 0 ? void 0 : pos.node;
|
|
24608
|
+
if (newTarget) {
|
|
24609
|
+
_this.setData(newTarget);
|
|
24610
|
+
}
|
|
23549
24611
|
if (_this.firstTable == _this.targetTable) {
|
|
23550
24612
|
if (!_this.shouldConvertToTableSelection() && !_this.tableSelection) {
|
|
23551
24613
|
return;
|
|
@@ -25102,6 +26164,51 @@ var CompatibleAlignment;
|
|
|
25102
26164
|
})(CompatibleAlignment = exports.CompatibleAlignment || (exports.CompatibleAlignment = {}));
|
|
25103
26165
|
|
|
25104
26166
|
|
|
26167
|
+
/***/ }),
|
|
26168
|
+
|
|
26169
|
+
/***/ "./packages/roosterjs-editor-types/lib/compatibleEnum/BulletListType.ts":
|
|
26170
|
+
/*!******************************************************************************!*\
|
|
26171
|
+
!*** ./packages/roosterjs-editor-types/lib/compatibleEnum/BulletListType.ts ***!
|
|
26172
|
+
\******************************************************************************/
|
|
26173
|
+
/*! no static exports found */
|
|
26174
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
26175
|
+
|
|
26176
|
+
"use strict";
|
|
26177
|
+
|
|
26178
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26179
|
+
exports.CompatibleBulletListType = void 0;
|
|
26180
|
+
/**
|
|
26181
|
+
* Enum used to control the different types of bullet list
|
|
26182
|
+
*/
|
|
26183
|
+
var CompatibleBulletListType;
|
|
26184
|
+
(function (CompatibleBulletListType) {
|
|
26185
|
+
/**
|
|
26186
|
+
* Bullet triggered by *
|
|
26187
|
+
*/
|
|
26188
|
+
CompatibleBulletListType[CompatibleBulletListType["Disc"] = 0] = "Disc";
|
|
26189
|
+
/**
|
|
26190
|
+
* Bullet triggered by -
|
|
26191
|
+
*/
|
|
26192
|
+
CompatibleBulletListType[CompatibleBulletListType["Dash"] = 1] = "Dash";
|
|
26193
|
+
/**
|
|
26194
|
+
* Bullet triggered by --
|
|
26195
|
+
*/
|
|
26196
|
+
CompatibleBulletListType[CompatibleBulletListType["Square"] = 2] = "Square";
|
|
26197
|
+
/**
|
|
26198
|
+
* Bullet triggered by >
|
|
26199
|
+
*/
|
|
26200
|
+
CompatibleBulletListType[CompatibleBulletListType["ShortArrow"] = 3] = "ShortArrow";
|
|
26201
|
+
/**
|
|
26202
|
+
* Bullet triggered by -> or -->
|
|
26203
|
+
*/
|
|
26204
|
+
CompatibleBulletListType[CompatibleBulletListType["LongArrow"] = 4] = "LongArrow";
|
|
26205
|
+
/**
|
|
26206
|
+
* Bullet triggered by =>
|
|
26207
|
+
*/
|
|
26208
|
+
CompatibleBulletListType[CompatibleBulletListType["UnfilledArrow"] = 5] = "UnfilledArrow";
|
|
26209
|
+
})(CompatibleBulletListType = exports.CompatibleBulletListType || (exports.CompatibleBulletListType = {}));
|
|
26210
|
+
|
|
26211
|
+
|
|
25105
26212
|
/***/ }),
|
|
25106
26213
|
|
|
25107
26214
|
/***/ "./packages/roosterjs-editor-types/lib/compatibleEnum/Capitalization.ts":
|
|
@@ -25400,6 +26507,51 @@ var CompatibleDarkModeDatasetNames;
|
|
|
25400
26507
|
})(CompatibleDarkModeDatasetNames = exports.CompatibleDarkModeDatasetNames || (exports.CompatibleDarkModeDatasetNames = {}));
|
|
25401
26508
|
|
|
25402
26509
|
|
|
26510
|
+
/***/ }),
|
|
26511
|
+
|
|
26512
|
+
/***/ "./packages/roosterjs-editor-types/lib/compatibleEnum/DefinitionType.ts":
|
|
26513
|
+
/*!******************************************************************************!*\
|
|
26514
|
+
!*** ./packages/roosterjs-editor-types/lib/compatibleEnum/DefinitionType.ts ***!
|
|
26515
|
+
\******************************************************************************/
|
|
26516
|
+
/*! no static exports found */
|
|
26517
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
26518
|
+
|
|
26519
|
+
"use strict";
|
|
26520
|
+
|
|
26521
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26522
|
+
exports.CompatibleDefinitionType = void 0;
|
|
26523
|
+
/**
|
|
26524
|
+
* Types of definitions, used by Definition type
|
|
26525
|
+
*/
|
|
26526
|
+
var CompatibleDefinitionType;
|
|
26527
|
+
(function (CompatibleDefinitionType) {
|
|
26528
|
+
/**
|
|
26529
|
+
* Boolean type definition, represents a boolean type value
|
|
26530
|
+
*/
|
|
26531
|
+
CompatibleDefinitionType[CompatibleDefinitionType["Boolean"] = 0] = "Boolean";
|
|
26532
|
+
/**
|
|
26533
|
+
* Number type definition, represents a number type value
|
|
26534
|
+
*/
|
|
26535
|
+
CompatibleDefinitionType[CompatibleDefinitionType["Number"] = 1] = "Number";
|
|
26536
|
+
/**
|
|
26537
|
+
* String type definition, represents a string type value
|
|
26538
|
+
*/
|
|
26539
|
+
CompatibleDefinitionType[CompatibleDefinitionType["String"] = 2] = "String";
|
|
26540
|
+
/**
|
|
26541
|
+
* Array type definition, represents an array with a given item type
|
|
26542
|
+
*/
|
|
26543
|
+
CompatibleDefinitionType[CompatibleDefinitionType["Array"] = 3] = "Array";
|
|
26544
|
+
/**
|
|
26545
|
+
* Object type definition, represents an object with the given property types
|
|
26546
|
+
*/
|
|
26547
|
+
CompatibleDefinitionType[CompatibleDefinitionType["Object"] = 4] = "Object";
|
|
26548
|
+
/**
|
|
26549
|
+
* Customize type definition, represents a customized type with a validator function
|
|
26550
|
+
*/
|
|
26551
|
+
CompatibleDefinitionType[CompatibleDefinitionType["Customize"] = 5] = "Customize";
|
|
26552
|
+
})(CompatibleDefinitionType = exports.CompatibleDefinitionType || (exports.CompatibleDefinitionType = {}));
|
|
26553
|
+
|
|
26554
|
+
|
|
25403
26555
|
/***/ }),
|
|
25404
26556
|
|
|
25405
26557
|
/***/ "./packages/roosterjs-editor-types/lib/compatibleEnum/Direction.ts":
|
|
@@ -25900,6 +27052,15 @@ var CompatibleExperimentalFeatures;
|
|
|
25900
27052
|
* Align list elements elements to left, center and right using setAlignment API
|
|
25901
27053
|
*/
|
|
25902
27054
|
CompatibleExperimentalFeatures["ListItemAlignment"] = "ListItemAlignment";
|
|
27055
|
+
/**
|
|
27056
|
+
* Trigger formatting by a especial characters. Ex: (A), 1. i).
|
|
27057
|
+
*/
|
|
27058
|
+
CompatibleExperimentalFeatures["AutoFormatList"] = "AutoFormatList";
|
|
27059
|
+
/**
|
|
27060
|
+
* @deprecated this feature is always disabled
|
|
27061
|
+
* Automatically transform -- into hyphen, if typed between two words.
|
|
27062
|
+
*/
|
|
27063
|
+
CompatibleExperimentalFeatures["AutoHyphen"] = "AutoHyphen";
|
|
25903
27064
|
})(CompatibleExperimentalFeatures = exports.CompatibleExperimentalFeatures || (exports.CompatibleExperimentalFeatures = {}));
|
|
25904
27065
|
|
|
25905
27066
|
|
|
@@ -26285,6 +27446,107 @@ var CompatibleNodeType;
|
|
|
26285
27446
|
})(CompatibleNodeType = exports.CompatibleNodeType || (exports.CompatibleNodeType = {}));
|
|
26286
27447
|
|
|
26287
27448
|
|
|
27449
|
+
/***/ }),
|
|
27450
|
+
|
|
27451
|
+
/***/ "./packages/roosterjs-editor-types/lib/compatibleEnum/NumberingListType.ts":
|
|
27452
|
+
/*!*********************************************************************************!*\
|
|
27453
|
+
!*** ./packages/roosterjs-editor-types/lib/compatibleEnum/NumberingListType.ts ***!
|
|
27454
|
+
\*********************************************************************************/
|
|
27455
|
+
/*! no static exports found */
|
|
27456
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
27457
|
+
|
|
27458
|
+
"use strict";
|
|
27459
|
+
|
|
27460
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27461
|
+
exports.CompatibleNumberingListType = void 0;
|
|
27462
|
+
/**
|
|
27463
|
+
* Enum used to control the different types of numbering list
|
|
27464
|
+
*/
|
|
27465
|
+
var CompatibleNumberingListType;
|
|
27466
|
+
(function (CompatibleNumberingListType) {
|
|
27467
|
+
/**
|
|
27468
|
+
* Numbering triggered by 1.
|
|
27469
|
+
*/
|
|
27470
|
+
CompatibleNumberingListType[CompatibleNumberingListType["Decimal"] = 0] = "Decimal";
|
|
27471
|
+
/**
|
|
27472
|
+
* Numbering triggered by 1-
|
|
27473
|
+
*/
|
|
27474
|
+
CompatibleNumberingListType[CompatibleNumberingListType["DecimalDash"] = 1] = "DecimalDash";
|
|
27475
|
+
/**
|
|
27476
|
+
* Numbering triggered by 1)
|
|
27477
|
+
*/
|
|
27478
|
+
CompatibleNumberingListType[CompatibleNumberingListType["DecimalParenthesis"] = 2] = "DecimalParenthesis";
|
|
27479
|
+
/**
|
|
27480
|
+
* Numbering triggered by (1)
|
|
27481
|
+
*/
|
|
27482
|
+
CompatibleNumberingListType[CompatibleNumberingListType["DecimalDoubleParenthesis"] = 3] = "DecimalDoubleParenthesis";
|
|
27483
|
+
/**
|
|
27484
|
+
* Numbering triggered by a.
|
|
27485
|
+
*/
|
|
27486
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerAlpha"] = 4] = "LowerAlpha";
|
|
27487
|
+
/**
|
|
27488
|
+
* Numbering triggered by a)
|
|
27489
|
+
*/
|
|
27490
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerAlphaParenthesis"] = 5] = "LowerAlphaParenthesis";
|
|
27491
|
+
/**
|
|
27492
|
+
* Numbering triggered by (a)
|
|
27493
|
+
*/
|
|
27494
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerAlphaDoubleParenthesis"] = 6] = "LowerAlphaDoubleParenthesis";
|
|
27495
|
+
/**
|
|
27496
|
+
* Numbering triggered by a-
|
|
27497
|
+
*/
|
|
27498
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerAlphaDash"] = 7] = "LowerAlphaDash";
|
|
27499
|
+
/**
|
|
27500
|
+
* Numbering triggered by A.
|
|
27501
|
+
*/
|
|
27502
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperAlpha"] = 8] = "UpperAlpha";
|
|
27503
|
+
/**
|
|
27504
|
+
* Numbering triggered by A)
|
|
27505
|
+
*/
|
|
27506
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperAlphaParenthesis"] = 9] = "UpperAlphaParenthesis";
|
|
27507
|
+
/**
|
|
27508
|
+
* Numbering triggered by (A)
|
|
27509
|
+
*/
|
|
27510
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperAlphaDoubleParenthesis"] = 10] = "UpperAlphaDoubleParenthesis";
|
|
27511
|
+
/**
|
|
27512
|
+
* Numbering triggered by A-
|
|
27513
|
+
*/
|
|
27514
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperAlphaDash"] = 11] = "UpperAlphaDash";
|
|
27515
|
+
/**
|
|
27516
|
+
* Numbering triggered by i.
|
|
27517
|
+
*/
|
|
27518
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerRoman"] = 12] = "LowerRoman";
|
|
27519
|
+
/**
|
|
27520
|
+
* Numbering triggered by i)
|
|
27521
|
+
*/
|
|
27522
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerRomanParenthesis"] = 13] = "LowerRomanParenthesis";
|
|
27523
|
+
/**
|
|
27524
|
+
* Numbering triggered by (i)
|
|
27525
|
+
*/
|
|
27526
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerRomanDoubleParenthesis"] = 14] = "LowerRomanDoubleParenthesis";
|
|
27527
|
+
/**
|
|
27528
|
+
* Numbering triggered by i-
|
|
27529
|
+
*/
|
|
27530
|
+
CompatibleNumberingListType[CompatibleNumberingListType["LowerRomanDash"] = 15] = "LowerRomanDash";
|
|
27531
|
+
/**
|
|
27532
|
+
* Numbering triggered by I.
|
|
27533
|
+
*/
|
|
27534
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperRoman"] = 16] = "UpperRoman";
|
|
27535
|
+
/**
|
|
27536
|
+
* Numbering triggered by I)
|
|
27537
|
+
*/
|
|
27538
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperRomanParenthesis"] = 17] = "UpperRomanParenthesis";
|
|
27539
|
+
/**
|
|
27540
|
+
* Numbering triggered by (I)
|
|
27541
|
+
*/
|
|
27542
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperRomanDoubleParenthesis"] = 18] = "UpperRomanDoubleParenthesis";
|
|
27543
|
+
/**
|
|
27544
|
+
* Numbering triggered by I-
|
|
27545
|
+
*/
|
|
27546
|
+
CompatibleNumberingListType[CompatibleNumberingListType["UpperRomanDash"] = 19] = "UpperRomanDash";
|
|
27547
|
+
})(CompatibleNumberingListType = exports.CompatibleNumberingListType || (exports.CompatibleNumberingListType = {}));
|
|
27548
|
+
|
|
27549
|
+
|
|
26288
27550
|
/***/ }),
|
|
26289
27551
|
|
|
26290
27552
|
/***/ "./packages/roosterjs-editor-types/lib/compatibleEnum/PluginEventType.ts":
|
|
@@ -26733,9 +27995,11 @@ var CompatibleTableOperation;
|
|
|
26733
27995
|
"use strict";
|
|
26734
27996
|
|
|
26735
27997
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26736
|
-
exports.CompatibleTableOperation = exports.CompatibleTableBorderFormat = exports.CompatibleSelectionRangeTypes = exports.CompatibleRegionType = exports.CompatibleQueryScope = exports.CompatiblePositionType = exports.CompatiblePluginEventType = exports.CompatibleNodeType = exports.CompatibleListType = exports.CompatibleKnownCreateElementDataIndex = exports.CompatibleKeys = exports.CompatibleIndentation = exports.CompatibleImageEditOperation = exports.CompatibleGetContentMode = exports.CompatibleFontSizeChange = exports.CompatibleExperimentalFeatures = exports.CompatibleEntityOperation = exports.CompatibleEntityClasses = exports.CompatibleDocumentPosition = exports.CompatibleDocumentCommand = exports.CompatibleDirection = exports.CompatibleDarkModeDatasetNames = exports.CompatibleContentType = exports.CompatibleContentTypePrefix = exports.CompatibleContentPosition = exports.CompatibleColorTransformDirection = exports.CompatibleClearFormatMode = exports.CompatibleChangeSource = exports.CompatibleCapitalization = exports.CompatibleAlignment = void 0;
|
|
27998
|
+
exports.CompatibleTableOperation = exports.CompatibleTableBorderFormat = exports.CompatibleSelectionRangeTypes = exports.CompatibleRegionType = exports.CompatibleQueryScope = exports.CompatiblePositionType = exports.CompatiblePluginEventType = exports.CompatibleNumberingListType = exports.CompatibleNodeType = exports.CompatibleListType = exports.CompatibleKnownCreateElementDataIndex = exports.CompatibleKeys = exports.CompatibleIndentation = exports.CompatibleImageEditOperation = exports.CompatibleGetContentMode = exports.CompatibleFontSizeChange = exports.CompatibleExperimentalFeatures = exports.CompatibleEntityOperation = exports.CompatibleEntityClasses = exports.CompatibleDocumentPosition = exports.CompatibleDocumentCommand = exports.CompatibleDirection = exports.CompatibleDefinitionType = exports.CompatibleDarkModeDatasetNames = exports.CompatibleContentType = exports.CompatibleContentTypePrefix = exports.CompatibleContentPosition = exports.CompatibleColorTransformDirection = exports.CompatibleClearFormatMode = exports.CompatibleChangeSource = exports.CompatibleCapitalization = exports.CompatibleBulletListType = exports.CompatibleAlignment = void 0;
|
|
26737
27999
|
var Alignment_1 = __webpack_require__(/*! ./Alignment */ "./packages/roosterjs-editor-types/lib/compatibleEnum/Alignment.ts");
|
|
26738
28000
|
Object.defineProperty(exports, "CompatibleAlignment", { enumerable: true, get: function () { return Alignment_1.CompatibleAlignment; } });
|
|
28001
|
+
var BulletListType_1 = __webpack_require__(/*! ./BulletListType */ "./packages/roosterjs-editor-types/lib/compatibleEnum/BulletListType.ts");
|
|
28002
|
+
Object.defineProperty(exports, "CompatibleBulletListType", { enumerable: true, get: function () { return BulletListType_1.CompatibleBulletListType; } });
|
|
26739
28003
|
var Capitalization_1 = __webpack_require__(/*! ./Capitalization */ "./packages/roosterjs-editor-types/lib/compatibleEnum/Capitalization.ts");
|
|
26740
28004
|
Object.defineProperty(exports, "CompatibleCapitalization", { enumerable: true, get: function () { return Capitalization_1.CompatibleCapitalization; } });
|
|
26741
28005
|
var ChangeSource_1 = __webpack_require__(/*! ./ChangeSource */ "./packages/roosterjs-editor-types/lib/compatibleEnum/ChangeSource.ts");
|
|
@@ -26751,6 +28015,8 @@ Object.defineProperty(exports, "CompatibleContentTypePrefix", { enumerable: true
|
|
|
26751
28015
|
Object.defineProperty(exports, "CompatibleContentType", { enumerable: true, get: function () { return ContentType_1.CompatibleContentType; } });
|
|
26752
28016
|
var DarkModeDatasetNames_1 = __webpack_require__(/*! ./DarkModeDatasetNames */ "./packages/roosterjs-editor-types/lib/compatibleEnum/DarkModeDatasetNames.ts");
|
|
26753
28017
|
Object.defineProperty(exports, "CompatibleDarkModeDatasetNames", { enumerable: true, get: function () { return DarkModeDatasetNames_1.CompatibleDarkModeDatasetNames; } });
|
|
28018
|
+
var DefinitionType_1 = __webpack_require__(/*! ./DefinitionType */ "./packages/roosterjs-editor-types/lib/compatibleEnum/DefinitionType.ts");
|
|
28019
|
+
Object.defineProperty(exports, "CompatibleDefinitionType", { enumerable: true, get: function () { return DefinitionType_1.CompatibleDefinitionType; } });
|
|
26754
28020
|
var Direction_1 = __webpack_require__(/*! ./Direction */ "./packages/roosterjs-editor-types/lib/compatibleEnum/Direction.ts");
|
|
26755
28021
|
Object.defineProperty(exports, "CompatibleDirection", { enumerable: true, get: function () { return Direction_1.CompatibleDirection; } });
|
|
26756
28022
|
var DocumentCommand_1 = __webpack_require__(/*! ./DocumentCommand */ "./packages/roosterjs-editor-types/lib/compatibleEnum/DocumentCommand.ts");
|
|
@@ -26779,6 +28045,8 @@ var ListType_1 = __webpack_require__(/*! ./ListType */ "./packages/roosterjs-edi
|
|
|
26779
28045
|
Object.defineProperty(exports, "CompatibleListType", { enumerable: true, get: function () { return ListType_1.CompatibleListType; } });
|
|
26780
28046
|
var NodeType_1 = __webpack_require__(/*! ./NodeType */ "./packages/roosterjs-editor-types/lib/compatibleEnum/NodeType.ts");
|
|
26781
28047
|
Object.defineProperty(exports, "CompatibleNodeType", { enumerable: true, get: function () { return NodeType_1.CompatibleNodeType; } });
|
|
28048
|
+
var NumberingListType_1 = __webpack_require__(/*! ./NumberingListType */ "./packages/roosterjs-editor-types/lib/compatibleEnum/NumberingListType.ts");
|
|
28049
|
+
Object.defineProperty(exports, "CompatibleNumberingListType", { enumerable: true, get: function () { return NumberingListType_1.CompatibleNumberingListType; } });
|
|
26782
28050
|
var PluginEventType_1 = __webpack_require__(/*! ./PluginEventType */ "./packages/roosterjs-editor-types/lib/compatibleEnum/PluginEventType.ts");
|
|
26783
28051
|
Object.defineProperty(exports, "CompatiblePluginEventType", { enumerable: true, get: function () { return PluginEventType_1.CompatiblePluginEventType; } });
|
|
26784
28052
|
var PositionType_1 = __webpack_require__(/*! ./PositionType */ "./packages/roosterjs-editor-types/lib/compatibleEnum/PositionType.ts");
|