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