roosterjs 9.50.0 → 9.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rooster-amd-min.js +1 -1
- package/dist/rooster-amd-min.js.map +1 -1
- package/dist/rooster-amd.d.ts +1 -23
- package/dist/rooster-amd.js +7 -176
- package/dist/rooster-amd.js.map +1 -1
- package/dist/rooster-min.js +1 -1
- package/dist/rooster-min.js.map +1 -1
- package/dist/rooster-react-amd.js +55 -55
- package/dist/rooster-react-amd.js.map +1 -1
- package/dist/rooster-react.js +53 -53
- package/dist/rooster-react.js.map +1 -1
- package/dist/rooster.d.ts +1 -23
- package/dist/rooster.js +7 -176
- package/dist/rooster.js.map +1 -1
- package/package.json +7 -7
package/dist/rooster-amd.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Type definitions for roosterjs (Version 9.50.
|
|
1
|
+
// Type definitions for roosterjs (Version 9.50.1)
|
|
2
2
|
// Generated by dts tool from roosterjs
|
|
3
3
|
// Project: https://github.com/Microsoft/roosterjs
|
|
4
4
|
|
|
@@ -7424,15 +7424,6 @@ export function normalizeParagraph(paragraph: ReadonlyContentModelParagraph): vo
|
|
|
7424
7424
|
*/
|
|
7425
7425
|
export function normalizeContentModel(group: ReadonlyContentModelBlockGroup): void;
|
|
7426
7426
|
|
|
7427
|
-
/**
|
|
7428
|
-
* Strip invisible Unicode characters from all text and link hrefs in a content model.
|
|
7429
|
-
* This sanitizes the model at initialization time to prevent hidden content in links
|
|
7430
|
-
* or text (e.g. zero-width chars, bidirectional marks, Unicode Tags).
|
|
7431
|
-
* For General segments, all Text nodes under the element are also sanitized.
|
|
7432
|
-
* @param model The content model document to sanitize in-place
|
|
7433
|
-
*/
|
|
7434
|
-
export function sanitizeInvisibleUnicode(model: ContentModelDocument): void;
|
|
7435
|
-
|
|
7436
7427
|
/**
|
|
7437
7428
|
* Check if the given block group is a general segment
|
|
7438
7429
|
* @param group The group to check
|
|
@@ -7750,19 +7741,6 @@ export function isSpace(char: string): boolean;
|
|
|
7750
7741
|
*/
|
|
7751
7742
|
export function normalizeText(txt: string, isForward: boolean): string;
|
|
7752
7743
|
|
|
7753
|
-
/**
|
|
7754
|
-
* Strip invisible Unicode characters from a string.
|
|
7755
|
-
* This removes zero-width characters, bidirectional marks, Unicode Tags (U+E0001-U+E00FF),
|
|
7756
|
-
* interlinear annotation anchors, Mongolian free variation selectors,
|
|
7757
|
-
* and other invisible formatting characters that can be used to hide content in links.
|
|
7758
|
-
*
|
|
7759
|
-
* @remarks This function strips ZWJ (U+200D) which may affect emoji sequences.
|
|
7760
|
-
* It should only be applied to href attributes, not to visible text content.
|
|
7761
|
-
* @param value The string to strip invisible characters from
|
|
7762
|
-
* @returns The string with invisible characters removed
|
|
7763
|
-
*/
|
|
7764
|
-
export function stripInvisibleUnicode(value: string): string;
|
|
7765
|
-
|
|
7766
7744
|
/**
|
|
7767
7745
|
* Parse a table into a two dimensions array of TD elements. For those merged cells, the value will be null.
|
|
7768
7746
|
* @param table Input HTML Table element
|
package/dist/rooster-amd.js
CHANGED
|
@@ -7890,25 +7890,21 @@ exports.setTableCellShade = setTableCellShade;
|
|
|
7890
7890
|
/*!******************************************************************************!*\
|
|
7891
7891
|
!*** ./packages/roosterjs-content-model-api/lib/publicApi/utils/checkXss.ts ***!
|
|
7892
7892
|
\******************************************************************************/
|
|
7893
|
-
(__unused_webpack_module, exports
|
|
7893
|
+
(__unused_webpack_module, exports) {
|
|
7894
7894
|
|
|
7895
7895
|
"use strict";
|
|
7896
7896
|
|
|
7897
7897
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
7898
7898
|
exports.checkXss = void 0;
|
|
7899
|
-
var roosterjs_content_model_dom_1 = __webpack_require__(/*! roosterjs-content-model-dom */ "./packages/roosterjs-content-model-dom/lib/index.ts");
|
|
7900
7899
|
/**
|
|
7901
7900
|
* @internal Check if there is XSS attack in the link
|
|
7902
7901
|
* @param link The link to be checked
|
|
7903
|
-
* @returns The safe link
|
|
7904
|
-
* @remarks This function
|
|
7905
|
-
* and checks for patterns like s\nc\nr\ni\np\nt: to prevent XSS attacks. This may block some valid links,
|
|
7902
|
+
* @returns The safe link, or empty string if there is XSS attack
|
|
7903
|
+
* @remarks This function checks for patterns like s\nc\nr\ni\np\nt: to prevent XSS attacks. This may block some valid links,
|
|
7906
7904
|
* but it is necessary for security reasons. We treat the word "script" as safe if there are "/" before it.
|
|
7907
7905
|
*/
|
|
7908
7906
|
function checkXss(link) {
|
|
7909
|
-
|
|
7910
|
-
var sanitized = (0, roosterjs_content_model_dom_1.stripInvisibleUnicode)(link);
|
|
7911
|
-
return sanitized.match(/^[^\/]*s\n*c\n*r\n*i\n*p\n*t\n*:/i) ? '' : sanitized;
|
|
7907
|
+
return link.match(/^[^\/]*s\n*c\n*r\n*i\n*p\n*t\n*:/i) ? '' : link;
|
|
7912
7908
|
}
|
|
7913
7909
|
exports.checkXss = checkXss;
|
|
7914
7910
|
|
|
@@ -15633,7 +15629,6 @@ var Editor = /** @class */ (function () {
|
|
|
15633
15629
|
};
|
|
15634
15630
|
this.core = (0, createEditorCore_1.createEditorCore)(contentDiv, options);
|
|
15635
15631
|
var initialModel = (_a = options.initialModel) !== null && _a !== void 0 ? _a : (0, roosterjs_content_model_dom_1.createEmptyModel)(this.core.format.defaultFormat);
|
|
15636
|
-
(0, roosterjs_content_model_dom_1.sanitizeInvisibleUnicode)(initialModel);
|
|
15637
15632
|
this.core.api.setContentModel(this.core, initialModel, { ignoreSelection: true }, undefined /*onNodeCreated*/, true /*isInitializing*/);
|
|
15638
15633
|
this.core.plugins.forEach(function (plugin) { return plugin.initialize(_this); });
|
|
15639
15634
|
}
|
|
@@ -20807,38 +20802,6 @@ function normalizeText(txt, isForward) {
|
|
|
20807
20802
|
exports.normalizeText = normalizeText;
|
|
20808
20803
|
|
|
20809
20804
|
|
|
20810
|
-
/***/ },
|
|
20811
|
-
|
|
20812
|
-
/***/ "./packages/roosterjs-content-model-dom/lib/domUtils/stripInvisibleUnicode.ts"
|
|
20813
|
-
/*!************************************************************************************!*\
|
|
20814
|
-
!*** ./packages/roosterjs-content-model-dom/lib/domUtils/stripInvisibleUnicode.ts ***!
|
|
20815
|
-
\************************************************************************************/
|
|
20816
|
-
(__unused_webpack_module, exports) {
|
|
20817
|
-
|
|
20818
|
-
"use strict";
|
|
20819
|
-
|
|
20820
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
20821
|
-
exports.stripInvisibleUnicode = void 0;
|
|
20822
|
-
var INVISIBLE_UNICODE_REGEX =
|
|
20823
|
-
// eslint-disable-next-line no-misleading-character-class
|
|
20824
|
-
/[\u00AD\u034F\u061C\u115F\u1160\u17B4\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2028\u2029\u2060-\u2064\u2066-\u2069\u3164\uFEFF\uFFA0\uFFF9-\uFFFB]|\uDB40[\uDC01-\uDCFF]/g;
|
|
20825
|
-
/**
|
|
20826
|
-
* Strip invisible Unicode characters from a string.
|
|
20827
|
-
* This removes zero-width characters, bidirectional marks, Unicode Tags (U+E0001-U+E00FF),
|
|
20828
|
-
* interlinear annotation anchors, Mongolian free variation selectors,
|
|
20829
|
-
* and other invisible formatting characters that can be used to hide content in links.
|
|
20830
|
-
*
|
|
20831
|
-
* @remarks This function strips ZWJ (U+200D) which may affect emoji sequences.
|
|
20832
|
-
* It should only be applied to href attributes, not to visible text content.
|
|
20833
|
-
* @param value The string to strip invisible characters from
|
|
20834
|
-
* @returns The string with invisible characters removed
|
|
20835
|
-
*/
|
|
20836
|
-
function stripInvisibleUnicode(value) {
|
|
20837
|
-
return value.replace(INVISIBLE_UNICODE_REGEX, '');
|
|
20838
|
-
}
|
|
20839
|
-
exports.stripInvisibleUnicode = stripInvisibleUnicode;
|
|
20840
|
-
|
|
20841
|
-
|
|
20842
20805
|
/***/ },
|
|
20843
20806
|
|
|
20844
20807
|
/***/ "./packages/roosterjs-content-model-dom/lib/domUtils/style/borderValues.ts"
|
|
@@ -23635,9 +23598,9 @@ exports.shouldSetValue = shouldSetValue;
|
|
|
23635
23598
|
|
|
23636
23599
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
23637
23600
|
exports.createImage = exports.createText = exports.createTableCell = exports.createTable = exports.createSelectionMarker = exports.createParagraph = exports.createFormatContainer = exports.createListItem = exports.createBr = exports.isLinkUndeletable = exports.setLinkUndeletable = exports.scrollRectIntoView = exports.normalizeRect = exports.isWhiteSpacePreserved = exports.reuseCachedElement = exports.findClosestBlockEntityContainer = exports.isBlockEntityContainer = exports.isEntityDelimiter = exports.addDelimiters = exports.generateEntityClassNames = exports.parseEntityFormat = exports.getAllEntityWrappers = exports.findClosestEntityWrapper = exports.isEntityElement = exports.unwrap = exports.wrap = exports.wrapAllChildNodes = exports.moveChildNodes = exports.toArray = exports.getSafeIdSelector = exports.getObjectKeys = exports.isElementOfType = exports.isNodeOfType = exports.hasMetadata = exports.getMetadata = exports.updateMetadata = exports.buildSelectionMarker = exports.isBlockElement = exports.areSameFormats = exports.parseFormat = exports.getRegularSelectionOffsets = exports.formatContainerProcessor = exports.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToText = exports.contentModelToDom = exports.domToContentModel = void 0;
|
|
23638
|
-
exports.getDOMInsertPointRect = exports.getSelectionRootNode = exports.isBold = exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.defaultGenerateColorKey = exports.parseColor = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.getAutoListStyleType = exports.getOrderedListNumberStr = exports.ParagraphFormats = exports.ListFormatsToMove = exports.ListFormatsToKeep = exports.ListFormats = exports.copyFormat = exports.setParagraphNotImplicit = exports.normalizeSegmentFormat = exports.mergeTextSegments = exports.normalizeSingleSegment = exports.isEmpty = exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.
|
|
23639
|
-
exports.getSegmentTextFormat = exports.getListStyleTypeFromString = exports.retrieveModelFormatState = exports.setTableCellBackgroundColor = exports.MIN_ALLOWED_TABLE_CELL_HEIGHT = exports.MIN_ALLOWED_TABLE_CELL_WIDTH = exports.normalizeTable = exports.setFirstColumnFormatBorders = exports.applyTableFormat = exports.deleteBlock = exports.deleteSegment = exports.deleteSelection = exports.mergeModel = exports.cloneModel = exports.setSelection = exports.hasSelectionInBlockGroup = exports.hasSelectionInSegment = exports.hasSelectionInBlock = exports.getSelectedCells = exports.getSelectedSegmentsAndParagraphs = exports.getSelectedSegments = exports.getSelectedParagraphs = exports.getOperationalBlocks = exports.getFirstSelectedTable = exports.getFirstSelectedListItem = exports.iterateSelections = exports.isBlockGroupOfType = exports.getRangesByText = exports.getImageState = exports.setImageState = exports.getParagraphMarker = exports.setParagraphMarker = exports.cacheGetEventData = exports.extractClipboardItems = exports.normalizeFontFamily = exports.transformColor = exports.retrieveDocumentMetadata = exports.readFile = exports.parseTableCells = exports.
|
|
23640
|
-
exports.EmptySegmentFormat = exports.UnorderedListStyleMap = exports.OrderedListStyleMap = exports.TableBorderFormat = exports.NumberingListType = exports.BulletListType = exports.ChangeSource = exports.ListMetadataDefinition = exports.getListMetadata = exports.updateListMetadata = exports.getTableMetadata = exports.updateTableMetadata = exports.getTableCellMetadata = exports.updateTableCellMetadata = exports.getImageMetadata = exports.updateImageMetadata =
|
|
23601
|
+
exports.trimModelForSelection = exports.getDOMInsertPointRect = exports.getSelectionRootNode = exports.isBold = exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.defaultGenerateColorKey = exports.parseColor = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.getAutoListStyleType = exports.getOrderedListNumberStr = exports.ParagraphFormats = exports.ListFormatsToMove = exports.ListFormatsToKeep = exports.ListFormats = exports.copyFormat = exports.setParagraphNotImplicit = exports.normalizeSegmentFormat = exports.mergeTextSegments = exports.normalizeSingleSegment = exports.isEmpty = exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.normalizeContentModel = exports.normalizeParagraph = exports.addTextSegment = exports.addLink = exports.addCode = exports.addBlock = exports.mutateSegment = exports.mutateSegments = exports.mutateBlock = exports.createTableRow = exports.createEmptyModel = exports.createListLevel = exports.createDivider = exports.createEntity = exports.createGeneralBlock = exports.createGeneralSegment = exports.createParagraphDecorator = exports.createContentModelDocument = void 0;
|
|
23602
|
+
exports.runEditSteps = exports.getClosestAncestorBlockGroupIndex = exports.getSegmentTextFormat = exports.getListStyleTypeFromString = exports.retrieveModelFormatState = exports.setTableCellBackgroundColor = exports.MIN_ALLOWED_TABLE_CELL_HEIGHT = exports.MIN_ALLOWED_TABLE_CELL_WIDTH = exports.normalizeTable = exports.setFirstColumnFormatBorders = exports.applyTableFormat = exports.deleteBlock = exports.deleteSegment = exports.deleteSelection = exports.mergeModel = exports.cloneModel = exports.setSelection = exports.hasSelectionInBlockGroup = exports.hasSelectionInSegment = exports.hasSelectionInBlock = exports.getSelectedCells = exports.getSelectedSegmentsAndParagraphs = exports.getSelectedSegments = exports.getSelectedParagraphs = exports.getOperationalBlocks = exports.getFirstSelectedTable = exports.getFirstSelectedListItem = exports.iterateSelections = exports.isBlockGroupOfType = exports.getRangesByText = exports.getImageState = exports.setImageState = exports.getParagraphMarker = exports.setParagraphMarker = exports.cacheGetEventData = exports.extractClipboardItems = exports.normalizeFontFamily = exports.transformColor = exports.retrieveDocumentMetadata = exports.readFile = exports.parseTableCells = exports.normalizeText = exports.isSpace = exports.isPunctuation = exports.extractBorderValues = exports.combineBorderValue = exports.getNodePositionFromEvent = exports.isCursorMovingKey = exports.isModifierKey = exports.isCharacterValue = void 0;
|
|
23603
|
+
exports.EmptySegmentFormat = exports.UnorderedListStyleMap = exports.OrderedListStyleMap = exports.TableBorderFormat = exports.NumberingListType = exports.BulletListType = exports.ChangeSource = exports.ListMetadataDefinition = exports.getListMetadata = exports.updateListMetadata = exports.getTableMetadata = exports.updateTableMetadata = exports.getTableCellMetadata = exports.updateTableCellMetadata = exports.getImageMetadata = exports.updateImageMetadata = void 0;
|
|
23641
23604
|
var domToContentModel_1 = __webpack_require__(/*! ./domToModel/domToContentModel */ "./packages/roosterjs-content-model-dom/lib/domToModel/domToContentModel.ts");
|
|
23642
23605
|
Object.defineProperty(exports, "domToContentModel", ({ enumerable: true, get: function () { return domToContentModel_1.domToContentModel; } }));
|
|
23643
23606
|
var contentModelToDom_1 = __webpack_require__(/*! ./modelToDom/contentModelToDom */ "./packages/roosterjs-content-model-dom/lib/modelToDom/contentModelToDom.ts");
|
|
@@ -23758,8 +23721,6 @@ var normalizeParagraph_1 = __webpack_require__(/*! ./modelApi/common/normalizePa
|
|
|
23758
23721
|
Object.defineProperty(exports, "normalizeParagraph", ({ enumerable: true, get: function () { return normalizeParagraph_1.normalizeParagraph; } }));
|
|
23759
23722
|
var normalizeContentModel_1 = __webpack_require__(/*! ./modelApi/common/normalizeContentModel */ "./packages/roosterjs-content-model-dom/lib/modelApi/common/normalizeContentModel.ts");
|
|
23760
23723
|
Object.defineProperty(exports, "normalizeContentModel", ({ enumerable: true, get: function () { return normalizeContentModel_1.normalizeContentModel; } }));
|
|
23761
|
-
var sanitizeInvisibleUnicode_1 = __webpack_require__(/*! ./modelApi/common/sanitizeInvisibleUnicode */ "./packages/roosterjs-content-model-dom/lib/modelApi/common/sanitizeInvisibleUnicode.ts");
|
|
23762
|
-
Object.defineProperty(exports, "sanitizeInvisibleUnicode", ({ enumerable: true, get: function () { return sanitizeInvisibleUnicode_1.sanitizeInvisibleUnicode; } }));
|
|
23763
23724
|
var isGeneralSegment_1 = __webpack_require__(/*! ./modelApi/typeCheck/isGeneralSegment */ "./packages/roosterjs-content-model-dom/lib/modelApi/typeCheck/isGeneralSegment.ts");
|
|
23764
23725
|
Object.defineProperty(exports, "isGeneralSegment", ({ enumerable: true, get: function () { return isGeneralSegment_1.isGeneralSegment; } }));
|
|
23765
23726
|
var unwrapBlock_1 = __webpack_require__(/*! ./modelApi/common/unwrapBlock */ "./packages/roosterjs-content-model-dom/lib/modelApi/common/unwrapBlock.ts");
|
|
@@ -23825,8 +23786,6 @@ var stringUtil_1 = __webpack_require__(/*! ./domUtils/stringUtil */ "./packages/
|
|
|
23825
23786
|
Object.defineProperty(exports, "isPunctuation", ({ enumerable: true, get: function () { return stringUtil_1.isPunctuation; } }));
|
|
23826
23787
|
Object.defineProperty(exports, "isSpace", ({ enumerable: true, get: function () { return stringUtil_1.isSpace; } }));
|
|
23827
23788
|
Object.defineProperty(exports, "normalizeText", ({ enumerable: true, get: function () { return stringUtil_1.normalizeText; } }));
|
|
23828
|
-
var stripInvisibleUnicode_1 = __webpack_require__(/*! ./domUtils/stripInvisibleUnicode */ "./packages/roosterjs-content-model-dom/lib/domUtils/stripInvisibleUnicode.ts");
|
|
23829
|
-
Object.defineProperty(exports, "stripInvisibleUnicode", ({ enumerable: true, get: function () { return stripInvisibleUnicode_1.stripInvisibleUnicode; } }));
|
|
23830
23789
|
var parseTableCells_1 = __webpack_require__(/*! ./domUtils/table/parseTableCells */ "./packages/roosterjs-content-model-dom/lib/domUtils/table/parseTableCells.ts");
|
|
23831
23790
|
Object.defineProperty(exports, "parseTableCells", ({ enumerable: true, get: function () { return parseTableCells_1.parseTableCells; } }));
|
|
23832
23791
|
var readFile_1 = __webpack_require__(/*! ./domUtils/readFile */ "./packages/roosterjs-content-model-dom/lib/domUtils/readFile.ts");
|
|
@@ -24825,134 +24784,6 @@ function normalizeSegmentFormat(format, environment) {
|
|
|
24825
24784
|
exports.normalizeSegmentFormat = normalizeSegmentFormat;
|
|
24826
24785
|
|
|
24827
24786
|
|
|
24828
|
-
/***/ },
|
|
24829
|
-
|
|
24830
|
-
/***/ "./packages/roosterjs-content-model-dom/lib/modelApi/common/sanitizeInvisibleUnicode.ts"
|
|
24831
|
-
/*!**********************************************************************************************!*\
|
|
24832
|
-
!*** ./packages/roosterjs-content-model-dom/lib/modelApi/common/sanitizeInvisibleUnicode.ts ***!
|
|
24833
|
-
\**********************************************************************************************/
|
|
24834
|
-
(__unused_webpack_module, exports, __webpack_require__) {
|
|
24835
|
-
|
|
24836
|
-
"use strict";
|
|
24837
|
-
|
|
24838
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
24839
|
-
exports.sanitizeInvisibleUnicode = void 0;
|
|
24840
|
-
var tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.mjs");
|
|
24841
|
-
var stripInvisibleUnicode_1 = __webpack_require__(/*! ../../domUtils/stripInvisibleUnicode */ "./packages/roosterjs-content-model-dom/lib/domUtils/stripInvisibleUnicode.ts");
|
|
24842
|
-
/**
|
|
24843
|
-
* Strip invisible Unicode characters from all text and link hrefs in a content model.
|
|
24844
|
-
* This sanitizes the model at initialization time to prevent hidden content in links
|
|
24845
|
-
* or text (e.g. zero-width chars, bidirectional marks, Unicode Tags).
|
|
24846
|
-
* For General segments, all Text nodes under the element are also sanitized.
|
|
24847
|
-
* @param model The content model document to sanitize in-place
|
|
24848
|
-
*/
|
|
24849
|
-
function sanitizeInvisibleUnicode(model) {
|
|
24850
|
-
sanitizeBlockGroup(model);
|
|
24851
|
-
}
|
|
24852
|
-
exports.sanitizeInvisibleUnicode = sanitizeInvisibleUnicode;
|
|
24853
|
-
function sanitizeBlockGroup(group) {
|
|
24854
|
-
var e_1, _a;
|
|
24855
|
-
try {
|
|
24856
|
-
for (var _b = (0, tslib_1.__values)(group.blocks), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
24857
|
-
var block = _c.value;
|
|
24858
|
-
sanitizeBlock(block);
|
|
24859
|
-
}
|
|
24860
|
-
}
|
|
24861
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
24862
|
-
finally {
|
|
24863
|
-
try {
|
|
24864
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
24865
|
-
}
|
|
24866
|
-
finally { if (e_1) throw e_1.error; }
|
|
24867
|
-
}
|
|
24868
|
-
}
|
|
24869
|
-
function sanitizeBlock(block) {
|
|
24870
|
-
var e_2, _a, e_3, _b, e_4, _c;
|
|
24871
|
-
switch (block.blockType) {
|
|
24872
|
-
case 'Paragraph':
|
|
24873
|
-
try {
|
|
24874
|
-
for (var _d = (0, tslib_1.__values)(block.segments), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
24875
|
-
var segment = _e.value;
|
|
24876
|
-
sanitizeSegment(segment);
|
|
24877
|
-
}
|
|
24878
|
-
}
|
|
24879
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
24880
|
-
finally {
|
|
24881
|
-
try {
|
|
24882
|
-
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
|
|
24883
|
-
}
|
|
24884
|
-
finally { if (e_2) throw e_2.error; }
|
|
24885
|
-
}
|
|
24886
|
-
break;
|
|
24887
|
-
case 'Table':
|
|
24888
|
-
try {
|
|
24889
|
-
for (var _f = (0, tslib_1.__values)(block.rows), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
24890
|
-
var row = _g.value;
|
|
24891
|
-
try {
|
|
24892
|
-
for (var _h = (e_4 = void 0, (0, tslib_1.__values)(row.cells)), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
24893
|
-
var cell = _j.value;
|
|
24894
|
-
sanitizeBlockGroup(cell);
|
|
24895
|
-
}
|
|
24896
|
-
}
|
|
24897
|
-
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
24898
|
-
finally {
|
|
24899
|
-
try {
|
|
24900
|
-
if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
|
|
24901
|
-
}
|
|
24902
|
-
finally { if (e_4) throw e_4.error; }
|
|
24903
|
-
}
|
|
24904
|
-
}
|
|
24905
|
-
}
|
|
24906
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
24907
|
-
finally {
|
|
24908
|
-
try {
|
|
24909
|
-
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
24910
|
-
}
|
|
24911
|
-
finally { if (e_3) throw e_3.error; }
|
|
24912
|
-
}
|
|
24913
|
-
break;
|
|
24914
|
-
case 'BlockGroup':
|
|
24915
|
-
sanitizeBlockGroup(block);
|
|
24916
|
-
if (block.blockGroupType === 'General' && block.element) {
|
|
24917
|
-
sanitizeTextNodes(block.element);
|
|
24918
|
-
}
|
|
24919
|
-
break;
|
|
24920
|
-
case 'Entity':
|
|
24921
|
-
case 'Divider':
|
|
24922
|
-
break;
|
|
24923
|
-
}
|
|
24924
|
-
}
|
|
24925
|
-
function sanitizeSegment(segment) {
|
|
24926
|
-
var _a;
|
|
24927
|
-
if ((_a = segment.link) === null || _a === void 0 ? void 0 : _a.format.href) {
|
|
24928
|
-
segment.link.format.href = (0, stripInvisibleUnicode_1.stripInvisibleUnicode)(segment.link.format.href);
|
|
24929
|
-
}
|
|
24930
|
-
switch (segment.segmentType) {
|
|
24931
|
-
case 'Text':
|
|
24932
|
-
segment.text = (0, stripInvisibleUnicode_1.stripInvisibleUnicode)(segment.text);
|
|
24933
|
-
break;
|
|
24934
|
-
case 'General':
|
|
24935
|
-
sanitizeTextNodes(segment.element);
|
|
24936
|
-
sanitizeBlockGroup(segment);
|
|
24937
|
-
break;
|
|
24938
|
-
case 'Image':
|
|
24939
|
-
case 'Entity':
|
|
24940
|
-
case 'Br':
|
|
24941
|
-
case 'SelectionMarker':
|
|
24942
|
-
break;
|
|
24943
|
-
}
|
|
24944
|
-
}
|
|
24945
|
-
function sanitizeTextNodes(element) {
|
|
24946
|
-
var walker = element.ownerDocument.createTreeWalker(element, NodeFilter.SHOW_TEXT);
|
|
24947
|
-
var node;
|
|
24948
|
-
while ((node = walker.nextNode())) {
|
|
24949
|
-
if (node.nodeValue) {
|
|
24950
|
-
node.nodeValue = (0, stripInvisibleUnicode_1.stripInvisibleUnicode)(node.nodeValue);
|
|
24951
|
-
}
|
|
24952
|
-
}
|
|
24953
|
-
}
|
|
24954
|
-
|
|
24955
|
-
|
|
24956
24787
|
/***/ },
|
|
24957
24788
|
|
|
24958
24789
|
/***/ "./packages/roosterjs-content-model-dom/lib/modelApi/common/unwrapBlock.ts"
|