roosterjs-content-model-dom 9.50.0 → 9.51.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/lib/domToModel/processors/listItemProcessor.js +16 -6
- package/lib/domToModel/processors/listItemProcessor.js.map +1 -1
- package/lib/domToModel/processors/listProcessor.js +3 -1
- package/lib/domToModel/processors/listProcessor.js.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +3 -7
- package/lib/index.js.map +1 -1
- package/lib/modelToDom/handlers/handleBlockGroupChildren.js +1 -1
- package/lib/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -1
- package/lib/modelToDom/handlers/handleList.js +7 -13
- package/lib/modelToDom/handlers/handleList.js.map +1 -1
- package/lib/modelToDom/handlers/handleListItem.js +2 -4
- package/lib/modelToDom/handlers/handleListItem.js.map +1 -1
- package/lib-amd/domToModel/processors/listItemProcessor.js +16 -7
- package/lib-amd/domToModel/processors/listItemProcessor.js.map +1 -1
- package/lib-amd/domToModel/processors/listProcessor.js +3 -1
- package/lib-amd/domToModel/processors/listProcessor.js.map +1 -1
- package/lib-amd/index.d.ts +0 -2
- package/lib-amd/index.js +2 -4
- package/lib-amd/index.js.map +1 -1
- package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.js +1 -1
- package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -1
- package/lib-amd/modelToDom/handlers/handleList.js +7 -13
- package/lib-amd/modelToDom/handlers/handleList.js.map +1 -1
- package/lib-amd/modelToDom/handlers/handleListItem.js +2 -4
- package/lib-amd/modelToDom/handlers/handleListItem.js.map +1 -1
- package/lib-mjs/domToModel/processors/listItemProcessor.js +16 -6
- package/lib-mjs/domToModel/processors/listItemProcessor.js.map +1 -1
- package/lib-mjs/domToModel/processors/listProcessor.js +3 -1
- package/lib-mjs/domToModel/processors/listProcessor.js.map +1 -1
- package/lib-mjs/index.d.ts +0 -2
- package/lib-mjs/index.js +0 -2
- package/lib-mjs/index.js.map +1 -1
- package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.js +1 -1
- package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -1
- package/lib-mjs/modelToDom/handlers/handleList.js +7 -13
- package/lib-mjs/modelToDom/handlers/handleList.js.map +1 -1
- package/lib-mjs/modelToDom/handlers/handleListItem.js +2 -4
- package/lib-mjs/modelToDom/handlers/handleListItem.js.map +1 -1
- package/package.json +2 -2
- package/lib/domUtils/stripInvisibleUnicode.d.ts +0 -12
- package/lib/domUtils/stripInvisibleUnicode.js +0 -22
- package/lib/domUtils/stripInvisibleUnicode.js.map +0 -1
- package/lib/modelApi/common/sanitizeInvisibleUnicode.d.ts +0 -9
- package/lib/modelApi/common/sanitizeInvisibleUnicode.js +0 -118
- package/lib/modelApi/common/sanitizeInvisibleUnicode.js.map +0 -1
- package/lib-amd/domUtils/stripInvisibleUnicode.d.ts +0 -12
- package/lib-amd/domUtils/stripInvisibleUnicode.js +0 -24
- package/lib-amd/domUtils/stripInvisibleUnicode.js.map +0 -1
- package/lib-amd/modelApi/common/sanitizeInvisibleUnicode.d.ts +0 -9
- package/lib-amd/modelApi/common/sanitizeInvisibleUnicode.js +0 -118
- package/lib-amd/modelApi/common/sanitizeInvisibleUnicode.js.map +0 -1
- package/lib-mjs/domUtils/stripInvisibleUnicode.d.ts +0 -12
- package/lib-mjs/domUtils/stripInvisibleUnicode.js +0 -18
- package/lib-mjs/domUtils/stripInvisibleUnicode.js.map +0 -1
- package/lib-mjs/modelApi/common/sanitizeInvisibleUnicode.d.ts +0 -9
- package/lib-mjs/modelApi/common/sanitizeInvisibleUnicode.js +0 -114
- package/lib-mjs/modelApi/common/sanitizeInvisibleUnicode.js.map +0 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.listItemProcessor = void 0;
|
|
4
4
|
var createListItem_1 = require("../../modelApi/creators/createListItem");
|
|
5
|
+
var createListLevel_1 = require("../../modelApi/creators/createListLevel");
|
|
5
6
|
var parseFormat_1 = require("../utils/parseFormat");
|
|
6
7
|
var stackFormat_1 = require("../utils/stackFormat");
|
|
7
8
|
/**
|
|
@@ -10,14 +11,22 @@ var stackFormat_1 = require("../utils/stackFormat");
|
|
|
10
11
|
var listItemProcessor = function (group, element, context) {
|
|
11
12
|
var _a;
|
|
12
13
|
var listFormat = context.listFormat;
|
|
13
|
-
|
|
14
|
+
var originalListParent = listFormat.listParent;
|
|
15
|
+
var shouldPopListLevel = false;
|
|
16
|
+
try {
|
|
17
|
+
listFormat.listParent = (_a = listFormat.listParent) !== null && _a !== void 0 ? _a : group;
|
|
18
|
+
var listParent_1 = listFormat.listParent;
|
|
19
|
+
if (listFormat.levels.length == 0) {
|
|
20
|
+
listFormat.levels.push((0, createListLevel_1.createListLevel)(listFormat.potentialListType || 'UL', context.blockFormat));
|
|
21
|
+
shouldPopListLevel = true;
|
|
22
|
+
}
|
|
14
23
|
(0, stackFormat_1.stackFormat)(context, {
|
|
15
24
|
segment: 'shallowCloneForBlock',
|
|
16
25
|
}, function () {
|
|
17
26
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
18
27
|
var listItem = (0, createListItem_1.createListItem)(listFormat.levels, context.segmentFormat);
|
|
19
28
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listItemElement, listItem.format, context);
|
|
20
|
-
|
|
29
|
+
listParent_1.blocks.push(listItem);
|
|
21
30
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listItemThread, listItem.levels[listItem.levels.length - 1].format, context);
|
|
22
31
|
context.elementProcessors.child(listItem, element, context);
|
|
23
32
|
var firstChild = listItem.blocks[0];
|
|
@@ -29,10 +38,11 @@ var listItemProcessor = function (group, element, context) {
|
|
|
29
38
|
}
|
|
30
39
|
});
|
|
31
40
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
finally {
|
|
42
|
+
if (shouldPopListLevel) {
|
|
43
|
+
listFormat.levels.pop();
|
|
44
|
+
}
|
|
45
|
+
listFormat.listParent = originalListParent;
|
|
36
46
|
}
|
|
37
47
|
};
|
|
38
48
|
exports.listItemProcessor = listItemProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listItemProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listItemProcessor.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AACxE,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,iBAAiB,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IAC9E,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;IAE/B,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"listItemProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listItemProcessor.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AACxE,2EAA0E;AAC1E,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,iBAAiB,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IAC9E,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;IAC/B,IAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC;IACjD,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,IAAI;QACA,UAAU,CAAC,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,KAAK,CAAC;QAEvD,IAAM,YAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAEzC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,UAAU,CAAC,MAAM,CAAC,IAAI,CAClB,IAAA,iCAAe,EAAC,UAAU,CAAC,iBAAiB,IAAI,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAC7E,CAAC;YACF,kBAAkB,GAAG,IAAI,CAAC;SAC7B;QAED,IAAA,yBAAW,EACP,OAAO,EACP;YACI,OAAO,EAAE,sBAAsB;SAClC,EACD;YACI,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,cAAc,EACpC,OAAO,CAAC,aAAa,EACrB,OAAO,CACV,CAAC;YAEF,IAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,eAAe,EACrC,QAAQ,CAAC,MAAM,EACf,OAAO,CACV,CAAC;YAEF,YAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEjC,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,cAAc,EACpC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAClD,OAAO,CACV,CAAC;YAEF,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5D,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtC,IACI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;gBAC3B,UAAU,CAAC,SAAS,IAAI,WAAW;gBACnC,UAAU,CAAC,UAAU,EACvB;gBACE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;aAC1B;QACL,CAAC,CACJ,CAAC;KACL;YAAS;QACN,IAAI,kBAAkB,EAAE;YACpB,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;SAC3B;QAED,UAAU,CAAC,UAAU,GAAG,kBAAkB,CAAC;KAC9C;AACL,CAAC,CAAC;AApEW,QAAA,iBAAiB,qBAoE5B","sourcesContent":["import { createListItem } from '../../modelApi/creators/createListItem';\nimport { createListLevel } from '../../modelApi/creators/createListLevel';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const listItemProcessor: ElementProcessor<HTMLLIElement> = (group, element, context) => {\n const { listFormat } = context;\n const originalListParent = listFormat.listParent;\n let shouldPopListLevel = false;\n\n try {\n listFormat.listParent = listFormat.listParent ?? group;\n\n const listParent = listFormat.listParent;\n\n if (listFormat.levels.length == 0) {\n listFormat.levels.push(\n createListLevel(listFormat.potentialListType || 'UL', context.blockFormat)\n );\n shouldPopListLevel = true;\n }\n\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n },\n () => {\n parseFormat(\n element,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n\n const listItem = createListItem(listFormat.levels, context.segmentFormat);\n parseFormat(\n element,\n context.formatParsers.listItemElement,\n listItem.format,\n context\n );\n\n listParent.blocks.push(listItem);\n\n parseFormat(\n element,\n context.formatParsers.listItemThread,\n listItem.levels[listItem.levels.length - 1].format,\n context\n );\n\n context.elementProcessors.child(listItem, element, context);\n\n const firstChild = listItem.blocks[0];\n\n if (\n listItem.blocks.length == 1 &&\n firstChild.blockType == 'Paragraph' &&\n firstChild.isImplicit\n ) {\n Object.assign(listItem.format, firstChild.format);\n firstChild.format = {};\n }\n }\n );\n } finally {\n if (shouldPopListLevel) {\n listFormat.levels.pop();\n }\n\n listFormat.listParent = originalListParent;\n }\n};\n"]}
|
|
@@ -12,13 +12,15 @@ var listProcessor = function (group, element, context) {
|
|
|
12
12
|
segment: 'shallowCloneForBlock',
|
|
13
13
|
paragraph: 'shallowCloneForGroup',
|
|
14
14
|
}, function () {
|
|
15
|
-
var
|
|
15
|
+
var tagName = element.tagName;
|
|
16
|
+
var level = (0, createListLevel_1.createListLevel)(tagName, context.blockFormat);
|
|
16
17
|
var listFormat = context.listFormat;
|
|
17
18
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, level.dataset, context);
|
|
18
19
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listLevelThread, level.format, context);
|
|
19
20
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listLevel, level.format, context);
|
|
20
21
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, context.segmentFormat, context);
|
|
21
22
|
var originalListParent = listFormat.listParent;
|
|
23
|
+
listFormat.potentialListType = tagName;
|
|
22
24
|
listFormat.listParent = listFormat.listParent || group;
|
|
23
25
|
listFormat.levels.push(level);
|
|
24
26
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;AAAA,2EAA0E;AAC1E,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,aAAa,GAA0D,UAChF,KAAK,EACL,OAAO,EACP,OAAO;IAEP,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,sBAAsB;QAC/B,SAAS,EAAE,sBAAsB;KACpC,EACD;QACI,IAAM,KAAK,GAA0B,IAAA,iCAAe,
|
|
1
|
+
{"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;AAAA,2EAA0E;AAC1E,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,aAAa,GAA0D,UAChF,KAAK,EACL,OAAO,EACP,OAAO;IAEP,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,sBAAsB;QAC/B,SAAS,EAAE,sBAAsB;KACpC,EACD;QACI,IAAM,OAAO,GAAG,OAAO,CAAC,OAAsB,CAAC;QAC/C,IAAM,KAAK,GAA0B,IAAA,iCAAe,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAE/B,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEpF,IAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC;QAEjD,UAAU,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACvC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;QACvD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI;YACA,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC5D;gBAAS;YACN,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,UAAU,GAAG,kBAAkB,CAAC;SAC9C;IACL,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAnCW,QAAA,aAAa,iBAmCxB","sourcesContent":["import { createListLevel } from '../../modelApi/creators/createListLevel';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelListLevel, ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const listProcessor: ElementProcessor<HTMLOListElement | HTMLUListElement> = (\n group,\n element,\n context\n) => {\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n paragraph: 'shallowCloneForGroup',\n },\n () => {\n const tagName = element.tagName as 'OL' | 'UL';\n const level: ContentModelListLevel = createListLevel(tagName, context.blockFormat);\n const { listFormat } = context;\n\n parseFormat(element, context.formatParsers.dataset, level.dataset, context);\n parseFormat(element, context.formatParsers.listLevelThread, level.format, context);\n parseFormat(element, context.formatParsers.listLevel, level.format, context);\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n const originalListParent = listFormat.listParent;\n\n listFormat.potentialListType = tagName;\n listFormat.listParent = listFormat.listParent || group;\n listFormat.levels.push(level);\n\n try {\n context.elementProcessors.child(group, element, context);\n } finally {\n listFormat.levels.pop();\n listFormat.listParent = originalListParent;\n }\n }\n );\n};\n"]}
|
package/lib/index.d.ts
CHANGED
|
@@ -50,7 +50,6 @@ export { addLink } from './modelApi/common/addDecorators';
|
|
|
50
50
|
export { addTextSegment } from './modelApi/common/addTextSegment';
|
|
51
51
|
export { normalizeParagraph } from './modelApi/common/normalizeParagraph';
|
|
52
52
|
export { normalizeContentModel } from './modelApi/common/normalizeContentModel';
|
|
53
|
-
export { sanitizeInvisibleUnicode } from './modelApi/common/sanitizeInvisibleUnicode';
|
|
54
53
|
export { isGeneralSegment } from './modelApi/typeCheck/isGeneralSegment';
|
|
55
54
|
export { unwrapBlock } from './modelApi/common/unwrapBlock';
|
|
56
55
|
export { addSegment } from './modelApi/common/addSegment';
|
|
@@ -75,7 +74,6 @@ export { isCharacterValue, isModifierKey, isCursorMovingKey } from './domUtils/e
|
|
|
75
74
|
export { getNodePositionFromEvent } from './domUtils/event/getNodePositionFromEvent';
|
|
76
75
|
export { combineBorderValue, extractBorderValues } from './domUtils/style/borderValues';
|
|
77
76
|
export { isPunctuation, isSpace, normalizeText } from './domUtils/stringUtil';
|
|
78
|
-
export { stripInvisibleUnicode } from './domUtils/stripInvisibleUnicode';
|
|
79
77
|
export { parseTableCells } from './domUtils/table/parseTableCells';
|
|
80
78
|
export { readFile } from './domUtils/readFile';
|
|
81
79
|
export { retrieveDocumentMetadata } from './domUtils/retrieveDocumentMetadata';
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
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;
|
|
4
|
-
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.
|
|
5
|
-
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.
|
|
6
|
-
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 =
|
|
4
|
+
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;
|
|
5
|
+
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;
|
|
6
|
+
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;
|
|
7
7
|
var domToContentModel_1 = require("./domToModel/domToContentModel");
|
|
8
8
|
Object.defineProperty(exports, "domToContentModel", { enumerable: true, get: function () { return domToContentModel_1.domToContentModel; } });
|
|
9
9
|
var contentModelToDom_1 = require("./modelToDom/contentModelToDom");
|
|
@@ -124,8 +124,6 @@ var normalizeParagraph_1 = require("./modelApi/common/normalizeParagraph");
|
|
|
124
124
|
Object.defineProperty(exports, "normalizeParagraph", { enumerable: true, get: function () { return normalizeParagraph_1.normalizeParagraph; } });
|
|
125
125
|
var normalizeContentModel_1 = require("./modelApi/common/normalizeContentModel");
|
|
126
126
|
Object.defineProperty(exports, "normalizeContentModel", { enumerable: true, get: function () { return normalizeContentModel_1.normalizeContentModel; } });
|
|
127
|
-
var sanitizeInvisibleUnicode_1 = require("./modelApi/common/sanitizeInvisibleUnicode");
|
|
128
|
-
Object.defineProperty(exports, "sanitizeInvisibleUnicode", { enumerable: true, get: function () { return sanitizeInvisibleUnicode_1.sanitizeInvisibleUnicode; } });
|
|
129
127
|
var isGeneralSegment_1 = require("./modelApi/typeCheck/isGeneralSegment");
|
|
130
128
|
Object.defineProperty(exports, "isGeneralSegment", { enumerable: true, get: function () { return isGeneralSegment_1.isGeneralSegment; } });
|
|
131
129
|
var unwrapBlock_1 = require("./modelApi/common/unwrapBlock");
|
|
@@ -191,8 +189,6 @@ var stringUtil_1 = require("./domUtils/stringUtil");
|
|
|
191
189
|
Object.defineProperty(exports, "isPunctuation", { enumerable: true, get: function () { return stringUtil_1.isPunctuation; } });
|
|
192
190
|
Object.defineProperty(exports, "isSpace", { enumerable: true, get: function () { return stringUtil_1.isSpace; } });
|
|
193
191
|
Object.defineProperty(exports, "normalizeText", { enumerable: true, get: function () { return stringUtil_1.normalizeText; } });
|
|
194
|
-
var stripInvisibleUnicode_1 = require("./domUtils/stripInvisibleUnicode");
|
|
195
|
-
Object.defineProperty(exports, "stripInvisibleUnicode", { enumerable: true, get: function () { return stripInvisibleUnicode_1.stripInvisibleUnicode; } });
|
|
196
192
|
var parseTableCells_1 = require("./domUtils/table/parseTableCells");
|
|
197
193
|
Object.defineProperty(exports, "parseTableCells", { enumerable: true, get: function () { return parseTableCells_1.parseTableCells; } });
|
|
198
194
|
var readFile_1 = require("./domUtils/readFile");
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/roosterjs-content-model-dom/lib/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { domToContentModel } from './domToModel/domToContentModel';\nexport { contentModelToDom } from './modelToDom/contentModelToDom';\nexport { contentModelToText } from './modelToText/contentModelToText';\n\nexport {\n childProcessor,\n handleRegularSelection,\n processChildNode,\n} from './domToModel/processors/childProcessor';\nexport { entityProcessor } from './domToModel/processors/entityProcessor';\nexport { tableProcessor } from './domToModel/processors/tableProcessor';\nexport { formatContainerProcessor } from './domToModel/processors/formatContainerProcessor';\nexport { getRegularSelectionOffsets } from './domToModel/utils/getRegularSelectionOffsets';\nexport { parseFormat } from './domToModel/utils/parseFormat';\nexport { areSameFormats } from './domToModel/utils/areSameFormats';\nexport { isBlockElement } from './domToModel/utils/isBlockElement';\nexport { buildSelectionMarker } from './domToModel/utils/buildSelectionMarker';\n\nexport { updateMetadata, getMetadata, hasMetadata } from './modelApi/metadata/updateMetadata';\nexport { isNodeOfType } from './domUtils/isNodeOfType';\nexport { isElementOfType } from './domUtils/isElementOfType';\nexport { getObjectKeys } from './domUtils/getObjectKeys';\nexport { getSafeIdSelector } from './domUtils/getSafeIdSelector';\nexport { toArray } from './domUtils/toArray';\nexport { moveChildNodes, wrapAllChildNodes } from './domUtils/moveChildNodes';\nexport { wrap } from './domUtils/wrap';\nexport { unwrap } from './domUtils/unwrap';\nexport {\n isEntityElement,\n findClosestEntityWrapper,\n getAllEntityWrappers,\n parseEntityFormat,\n generateEntityClassNames,\n addDelimiters,\n isEntityDelimiter,\n isBlockEntityContainer,\n findClosestBlockEntityContainer,\n} from './domUtils/entityUtils';\nexport { reuseCachedElement } from './domUtils/reuseCachedElement';\nexport { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved';\nexport { normalizeRect } from './domUtils/normalizeRect';\nexport { scrollRectIntoView } from './domUtils/scrollRectIntoView';\n\nexport { setLinkUndeletable, isLinkUndeletable } from './domUtils/hiddenProperties/undeletableLink';\n\nexport { createBr } from './modelApi/creators/createBr';\nexport { createListItem } from './modelApi/creators/createListItem';\nexport { createFormatContainer } from './modelApi/creators/createFormatContainer';\nexport { createParagraph } from './modelApi/creators/createParagraph';\nexport { createSelectionMarker } from './modelApi/creators/createSelectionMarker';\nexport { createTable } from './modelApi/creators/createTable';\nexport { createTableCell } from './modelApi/creators/createTableCell';\nexport { createText } from './modelApi/creators/createText';\nexport { createImage } from './modelApi/creators/createImage';\nexport { createContentModelDocument } from './modelApi/creators/createContentModelDocument';\nexport { createParagraphDecorator } from './modelApi/creators/createParagraphDecorator';\nexport { createGeneralSegment } from './modelApi/creators/createGeneralSegment';\nexport { createGeneralBlock } from './modelApi/creators/createGeneralBlock';\nexport { createEntity } from './modelApi/creators/createEntity';\nexport { createDivider } from './modelApi/creators/createDivider';\nexport { createListLevel } from './modelApi/creators/createListLevel';\nexport { createEmptyModel } from './modelApi/creators/createEmptyModel';\nexport { createTableRow } from './modelApi/creators/createTableRow';\n\nexport { mutateBlock, mutateSegments, mutateSegment } from './modelApi/common/mutate';\nexport { addBlock } from './modelApi/common/addBlock';\nexport { addCode } from './modelApi/common/addDecorators';\nexport { addLink } from './modelApi/common/addDecorators';\nexport { addTextSegment } from './modelApi/common/addTextSegment';\nexport { normalizeParagraph } from './modelApi/common/normalizeParagraph';\n\nexport { normalizeContentModel } from './modelApi/common/normalizeContentModel';\nexport { sanitizeInvisibleUnicode } from './modelApi/common/sanitizeInvisibleUnicode';\nexport { isGeneralSegment } from './modelApi/typeCheck/isGeneralSegment';\nexport { unwrapBlock } from './modelApi/common/unwrapBlock';\nexport { addSegment } from './modelApi/common/addSegment';\nexport { isEmpty } from './modelApi/common/isEmpty';\nexport { normalizeSingleSegment } from './modelApi/common/normalizeSegment';\nexport { mergeTextSegments } from './modelApi/common/mergeTextSegments';\nexport { normalizeSegmentFormat } from './modelApi/common/normalizeSegmentFormat';\n\nexport { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit';\nexport {\n copyFormat,\n ListFormats,\n ListFormatsToKeep,\n ListFormatsToMove,\n ParagraphFormats,\n} from './modelApi/block/copyFormat';\nexport { getOrderedListNumberStr } from './modelApi/list/getOrderedListNumberStr';\nexport { getAutoListStyleType } from './modelApi/list/getAutoListStyleType';\n\nexport { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit';\nexport { BorderKeys } from './formatHandlers/utils/borderKeys';\nexport {\n DeprecatedColors,\n getColor,\n setColor,\n parseColor,\n defaultGenerateColorKey,\n} from './formatHandlers/utils/color';\n\nexport {\n createDomToModelContext,\n createDomToModelContextWithConfig,\n createDomToModelConfig,\n} from './domToModel/context/createDomToModelContext';\nexport {\n createModelToDomContext,\n createModelToDomContextWithConfig,\n createModelToDomConfig,\n} from './modelToDom/context/createModelToDomContext';\n\nexport { isBold } from './domUtils/style/isBold';\nexport { getSelectionRootNode } from './domUtils/selection/getSelectionRootNode';\nexport { getDOMInsertPointRect } from './domUtils/selection/getDOMInsertPointRect';\nexport { trimModelForSelection } from './domUtils/selection/trimModelForSelection';\nexport { isCharacterValue, isModifierKey, isCursorMovingKey } from './domUtils/event/eventUtils';\nexport { getNodePositionFromEvent } from './domUtils/event/getNodePositionFromEvent';\nexport { combineBorderValue, extractBorderValues } from './domUtils/style/borderValues';\nexport { isPunctuation, isSpace, normalizeText } from './domUtils/stringUtil';\nexport { stripInvisibleUnicode } from './domUtils/stripInvisibleUnicode';\nexport { parseTableCells } from './domUtils/table/parseTableCells';\nexport { readFile } from './domUtils/readFile';\nexport { retrieveDocumentMetadata } from './domUtils/retrieveDocumentMetadata';\nexport { transformColor, TransformColorOptions } from './domUtils/style/transformColor';\nexport { normalizeFontFamily } from './domUtils/style/normalizeFontFamily';\nexport { extractClipboardItems } from './domUtils/event/extractClipboardItems';\nexport { cacheGetEventData } from './domUtils/event/cacheGetEventData';\nexport {\n setParagraphMarker,\n getParagraphMarker,\n} from './domUtils/hiddenProperties/paragraphMarker';\nexport { setImageState, getImageState } from './domUtils/hiddenProperties/imageState';\nexport { getRangesByText } from './domUtils/getRangesByText';\n\nexport { isBlockGroupOfType } from './modelApi/typeCheck/isBlockGroupOfType';\n\nexport { iterateSelections } from './modelApi/selection/iterateSelections';\nexport {\n getFirstSelectedListItem,\n getFirstSelectedTable,\n getOperationalBlocks,\n getSelectedParagraphs,\n getSelectedSegments,\n getSelectedSegmentsAndParagraphs,\n} from './modelApi/selection/collectSelections';\nexport { getSelectedCells } from './modelApi/selection/getSelectedCells';\nexport { hasSelectionInBlock } from './modelApi/selection/hasSelectionInBlock';\nexport { hasSelectionInSegment } from './modelApi/selection/hasSelectionInSegment';\nexport { hasSelectionInBlockGroup } from './modelApi/selection/hasSelectionInBlockGroup';\nexport { setSelection } from './modelApi/selection/setSelection';\n\nexport { cloneModel } from './modelApi/editing/cloneModel';\nexport { mergeModel } from './modelApi/editing/mergeModel';\nexport { deleteSelection } from './modelApi/editing/deleteSelection';\nexport { deleteSegment } from './modelApi/editing/deleteSegment';\nexport { deleteBlock } from './modelApi/editing/deleteBlock';\nexport { applyTableFormat, setFirstColumnFormatBorders } from './modelApi/editing/applyTableFormat';\nexport {\n normalizeTable,\n MIN_ALLOWED_TABLE_CELL_WIDTH,\n MIN_ALLOWED_TABLE_CELL_HEIGHT,\n} from './modelApi/editing/normalizeTable';\nexport { setTableCellBackgroundColor } from './modelApi/editing/setTableCellBackgroundColor';\nexport { retrieveModelFormatState } from './modelApi/editing/retrieveModelFormatState';\nexport { getListStyleTypeFromString } from './modelApi/editing/getListStyleTypeFromString';\nexport { getSegmentTextFormat } from './modelApi/editing/getSegmentTextFormat';\nexport { getClosestAncestorBlockGroupIndex } from './modelApi/editing/getClosestAncestorBlockGroupIndex';\nexport { runEditSteps } from './modelApi/editing/runEditSteps';\n\nexport { updateImageMetadata, getImageMetadata } from './modelApi/metadata/updateImageMetadata';\nexport {\n updateTableCellMetadata,\n getTableCellMetadata,\n} from './modelApi/metadata/updateTableCellMetadata';\nexport { updateTableMetadata, getTableMetadata } from './modelApi/metadata/updateTableMetadata';\nexport {\n updateListMetadata,\n getListMetadata,\n ListMetadataDefinition,\n} from './modelApi/metadata/updateListMetadata';\n\nexport { ChangeSource } from './constants/ChangeSource';\nexport { BulletListType } from './constants/BulletListType';\nexport { NumberingListType } from './constants/NumberingListType';\nexport { TableBorderFormat } from './constants/TableBorderFormat';\nexport { OrderedListStyleMap } from './constants/OrderedListStyleMap';\nexport { UnorderedListStyleMap } from './constants/UnorderedListStyleMap';\nexport { EmptySegmentFormat } from './constants/EmptySegmentFormat';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/roosterjs-content-model-dom/lib/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { domToContentModel } from './domToModel/domToContentModel';\nexport { contentModelToDom } from './modelToDom/contentModelToDom';\nexport { contentModelToText } from './modelToText/contentModelToText';\n\nexport {\n childProcessor,\n handleRegularSelection,\n processChildNode,\n} from './domToModel/processors/childProcessor';\nexport { entityProcessor } from './domToModel/processors/entityProcessor';\nexport { tableProcessor } from './domToModel/processors/tableProcessor';\nexport { formatContainerProcessor } from './domToModel/processors/formatContainerProcessor';\nexport { getRegularSelectionOffsets } from './domToModel/utils/getRegularSelectionOffsets';\nexport { parseFormat } from './domToModel/utils/parseFormat';\nexport { areSameFormats } from './domToModel/utils/areSameFormats';\nexport { isBlockElement } from './domToModel/utils/isBlockElement';\nexport { buildSelectionMarker } from './domToModel/utils/buildSelectionMarker';\n\nexport { updateMetadata, getMetadata, hasMetadata } from './modelApi/metadata/updateMetadata';\nexport { isNodeOfType } from './domUtils/isNodeOfType';\nexport { isElementOfType } from './domUtils/isElementOfType';\nexport { getObjectKeys } from './domUtils/getObjectKeys';\nexport { getSafeIdSelector } from './domUtils/getSafeIdSelector';\nexport { toArray } from './domUtils/toArray';\nexport { moveChildNodes, wrapAllChildNodes } from './domUtils/moveChildNodes';\nexport { wrap } from './domUtils/wrap';\nexport { unwrap } from './domUtils/unwrap';\nexport {\n isEntityElement,\n findClosestEntityWrapper,\n getAllEntityWrappers,\n parseEntityFormat,\n generateEntityClassNames,\n addDelimiters,\n isEntityDelimiter,\n isBlockEntityContainer,\n findClosestBlockEntityContainer,\n} from './domUtils/entityUtils';\nexport { reuseCachedElement } from './domUtils/reuseCachedElement';\nexport { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved';\nexport { normalizeRect } from './domUtils/normalizeRect';\nexport { scrollRectIntoView } from './domUtils/scrollRectIntoView';\n\nexport { setLinkUndeletable, isLinkUndeletable } from './domUtils/hiddenProperties/undeletableLink';\n\nexport { createBr } from './modelApi/creators/createBr';\nexport { createListItem } from './modelApi/creators/createListItem';\nexport { createFormatContainer } from './modelApi/creators/createFormatContainer';\nexport { createParagraph } from './modelApi/creators/createParagraph';\nexport { createSelectionMarker } from './modelApi/creators/createSelectionMarker';\nexport { createTable } from './modelApi/creators/createTable';\nexport { createTableCell } from './modelApi/creators/createTableCell';\nexport { createText } from './modelApi/creators/createText';\nexport { createImage } from './modelApi/creators/createImage';\nexport { createContentModelDocument } from './modelApi/creators/createContentModelDocument';\nexport { createParagraphDecorator } from './modelApi/creators/createParagraphDecorator';\nexport { createGeneralSegment } from './modelApi/creators/createGeneralSegment';\nexport { createGeneralBlock } from './modelApi/creators/createGeneralBlock';\nexport { createEntity } from './modelApi/creators/createEntity';\nexport { createDivider } from './modelApi/creators/createDivider';\nexport { createListLevel } from './modelApi/creators/createListLevel';\nexport { createEmptyModel } from './modelApi/creators/createEmptyModel';\nexport { createTableRow } from './modelApi/creators/createTableRow';\n\nexport { mutateBlock, mutateSegments, mutateSegment } from './modelApi/common/mutate';\nexport { addBlock } from './modelApi/common/addBlock';\nexport { addCode } from './modelApi/common/addDecorators';\nexport { addLink } from './modelApi/common/addDecorators';\nexport { addTextSegment } from './modelApi/common/addTextSegment';\nexport { normalizeParagraph } from './modelApi/common/normalizeParagraph';\n\nexport { normalizeContentModel } from './modelApi/common/normalizeContentModel';\nexport { isGeneralSegment } from './modelApi/typeCheck/isGeneralSegment';\nexport { unwrapBlock } from './modelApi/common/unwrapBlock';\nexport { addSegment } from './modelApi/common/addSegment';\nexport { isEmpty } from './modelApi/common/isEmpty';\nexport { normalizeSingleSegment } from './modelApi/common/normalizeSegment';\nexport { mergeTextSegments } from './modelApi/common/mergeTextSegments';\nexport { normalizeSegmentFormat } from './modelApi/common/normalizeSegmentFormat';\n\nexport { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit';\nexport {\n copyFormat,\n ListFormats,\n ListFormatsToKeep,\n ListFormatsToMove,\n ParagraphFormats,\n} from './modelApi/block/copyFormat';\nexport { getOrderedListNumberStr } from './modelApi/list/getOrderedListNumberStr';\nexport { getAutoListStyleType } from './modelApi/list/getAutoListStyleType';\n\nexport { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit';\nexport { BorderKeys } from './formatHandlers/utils/borderKeys';\nexport {\n DeprecatedColors,\n getColor,\n setColor,\n parseColor,\n defaultGenerateColorKey,\n} from './formatHandlers/utils/color';\n\nexport {\n createDomToModelContext,\n createDomToModelContextWithConfig,\n createDomToModelConfig,\n} from './domToModel/context/createDomToModelContext';\nexport {\n createModelToDomContext,\n createModelToDomContextWithConfig,\n createModelToDomConfig,\n} from './modelToDom/context/createModelToDomContext';\n\nexport { isBold } from './domUtils/style/isBold';\nexport { getSelectionRootNode } from './domUtils/selection/getSelectionRootNode';\nexport { getDOMInsertPointRect } from './domUtils/selection/getDOMInsertPointRect';\nexport { trimModelForSelection } from './domUtils/selection/trimModelForSelection';\nexport { isCharacterValue, isModifierKey, isCursorMovingKey } from './domUtils/event/eventUtils';\nexport { getNodePositionFromEvent } from './domUtils/event/getNodePositionFromEvent';\nexport { combineBorderValue, extractBorderValues } from './domUtils/style/borderValues';\nexport { isPunctuation, isSpace, normalizeText } from './domUtils/stringUtil';\nexport { parseTableCells } from './domUtils/table/parseTableCells';\nexport { readFile } from './domUtils/readFile';\nexport { retrieveDocumentMetadata } from './domUtils/retrieveDocumentMetadata';\nexport { transformColor, TransformColorOptions } from './domUtils/style/transformColor';\nexport { normalizeFontFamily } from './domUtils/style/normalizeFontFamily';\nexport { extractClipboardItems } from './domUtils/event/extractClipboardItems';\nexport { cacheGetEventData } from './domUtils/event/cacheGetEventData';\nexport {\n setParagraphMarker,\n getParagraphMarker,\n} from './domUtils/hiddenProperties/paragraphMarker';\nexport { setImageState, getImageState } from './domUtils/hiddenProperties/imageState';\nexport { getRangesByText } from './domUtils/getRangesByText';\n\nexport { isBlockGroupOfType } from './modelApi/typeCheck/isBlockGroupOfType';\n\nexport { iterateSelections } from './modelApi/selection/iterateSelections';\nexport {\n getFirstSelectedListItem,\n getFirstSelectedTable,\n getOperationalBlocks,\n getSelectedParagraphs,\n getSelectedSegments,\n getSelectedSegmentsAndParagraphs,\n} from './modelApi/selection/collectSelections';\nexport { getSelectedCells } from './modelApi/selection/getSelectedCells';\nexport { hasSelectionInBlock } from './modelApi/selection/hasSelectionInBlock';\nexport { hasSelectionInSegment } from './modelApi/selection/hasSelectionInSegment';\nexport { hasSelectionInBlockGroup } from './modelApi/selection/hasSelectionInBlockGroup';\nexport { setSelection } from './modelApi/selection/setSelection';\n\nexport { cloneModel } from './modelApi/editing/cloneModel';\nexport { mergeModel } from './modelApi/editing/mergeModel';\nexport { deleteSelection } from './modelApi/editing/deleteSelection';\nexport { deleteSegment } from './modelApi/editing/deleteSegment';\nexport { deleteBlock } from './modelApi/editing/deleteBlock';\nexport { applyTableFormat, setFirstColumnFormatBorders } from './modelApi/editing/applyTableFormat';\nexport {\n normalizeTable,\n MIN_ALLOWED_TABLE_CELL_WIDTH,\n MIN_ALLOWED_TABLE_CELL_HEIGHT,\n} from './modelApi/editing/normalizeTable';\nexport { setTableCellBackgroundColor } from './modelApi/editing/setTableCellBackgroundColor';\nexport { retrieveModelFormatState } from './modelApi/editing/retrieveModelFormatState';\nexport { getListStyleTypeFromString } from './modelApi/editing/getListStyleTypeFromString';\nexport { getSegmentTextFormat } from './modelApi/editing/getSegmentTextFormat';\nexport { getClosestAncestorBlockGroupIndex } from './modelApi/editing/getClosestAncestorBlockGroupIndex';\nexport { runEditSteps } from './modelApi/editing/runEditSteps';\n\nexport { updateImageMetadata, getImageMetadata } from './modelApi/metadata/updateImageMetadata';\nexport {\n updateTableCellMetadata,\n getTableCellMetadata,\n} from './modelApi/metadata/updateTableCellMetadata';\nexport { updateTableMetadata, getTableMetadata } from './modelApi/metadata/updateTableMetadata';\nexport {\n updateListMetadata,\n getListMetadata,\n ListMetadataDefinition,\n} from './modelApi/metadata/updateListMetadata';\n\nexport { ChangeSource } from './constants/ChangeSource';\nexport { BulletListType } from './constants/BulletListType';\nexport { NumberingListType } from './constants/NumberingListType';\nexport { TableBorderFormat } from './constants/TableBorderFormat';\nexport { OrderedListStyleMap } from './constants/OrderedListStyleMap';\nexport { UnorderedListStyleMap } from './constants/UnorderedListStyleMap';\nexport { EmptySegmentFormat } from './constants/EmptySegmentFormat';\n"]}
|
|
@@ -40,7 +40,7 @@ var handleBlockGroupChildren = function (doc, parent, group, context) {
|
|
|
40
40
|
exports.handleBlockGroupChildren = handleBlockGroupChildren;
|
|
41
41
|
function cleanUpNodeStack(nodeStack, context) {
|
|
42
42
|
var _a, _b;
|
|
43
|
-
if (
|
|
43
|
+
if (nodeStack.length > 0) {
|
|
44
44
|
// Clear list stack, only run to nodeStack[1] because nodeStack[0] is the parent node
|
|
45
45
|
for (var i = nodeStack.length - 1; i > 0; i--) {
|
|
46
46
|
var node = (_b = (_a = nodeStack.pop()) === null || _a === void 0 ? void 0 : _a.refNode) !== null && _b !== void 0 ? _b : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleBlockGroupChildren.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/modelToDom/handlers/handleBlockGroupChildren.ts"],"names":[],"mappings":";;;AAAA,8DAA6D;AAQ7D;;GAEG;AACI,IAAM,wBAAwB,GAAgD,UACjF,GAAa,EACb,MAAY,EACZ,KAA6B,EAC7B,OAA0B;IAElB,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;IAC/B,IAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,IAAI,OAAO,GAAgB,MAAM,CAAC,UAAU,CAAC;IAE7C,IAAI;QACA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,UAAU,EAAE,KAAK;;YACnC,2CAA2C;YAC3C,wEAAwE;YACxE,sFAAsF;YACtF,+FAA+F;YAC/F,IACI,KAAK,IAAI,CAAC;gBACV,UAAU,CAAC,SAAS,IAAI,YAAY;gBACpC,UAAU,CAAC,cAAc,IAAI,UAAU,EACzC;gBACE,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAEhD,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;iBAC7B;aACJ;YAED,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEjF,IAAI,UAAU,CAAC,SAAS,IAAI,QAAQ,EAAE;gBAClC,MAAA,OAAO,CAAC,UAAU,0CAAE,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACxD;QACL,CAAC,CAAC,CAAC;QAEH,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,uEAAuE;QACvE,IAAA,mCAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACvD;YAAS;QACN,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;KACpC;AACL,CAAC,CAAC;AA1CW,QAAA,wBAAwB,4BA0CnC;AAEF,SAAS,gBAAgB,CAAC,SAAoC,EAAE,OAA0B;;IACtF,IAAI,
|
|
1
|
+
{"version":3,"file":"handleBlockGroupChildren.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/modelToDom/handlers/handleBlockGroupChildren.ts"],"names":[],"mappings":";;;AAAA,8DAA6D;AAQ7D;;GAEG;AACI,IAAM,wBAAwB,GAAgD,UACjF,GAAa,EACb,MAAY,EACZ,KAA6B,EAC7B,OAA0B;IAElB,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;IAC/B,IAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,IAAI,OAAO,GAAgB,MAAM,CAAC,UAAU,CAAC;IAE7C,IAAI;QACA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,UAAU,EAAE,KAAK;;YACnC,2CAA2C;YAC3C,wEAAwE;YACxE,sFAAsF;YACtF,+FAA+F;YAC/F,IACI,KAAK,IAAI,CAAC;gBACV,UAAU,CAAC,SAAS,IAAI,YAAY;gBACpC,UAAU,CAAC,cAAc,IAAI,UAAU,EACzC;gBACE,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAEhD,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;iBAC7B;aACJ;YAED,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEjF,IAAI,UAAU,CAAC,SAAS,IAAI,QAAQ,EAAE;gBAClC,MAAA,OAAO,CAAC,UAAU,0CAAE,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACxD;QACL,CAAC,CAAC,CAAC;QAEH,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,uEAAuE;QACvE,IAAA,mCAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACvD;YAAS;QACN,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;KACpC;AACL,CAAC,CAAC;AA1CW,QAAA,wBAAwB,4BA0CnC;AAEF,SAAS,gBAAgB,CAAC,SAAoC,EAAE,OAA0B;;IACtF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,qFAAqF;QACrF,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAM,IAAI,GAAG,MAAA,MAAA,SAAS,CAAC,GAAG,EAAE,0CAAE,OAAO,mCAAI,IAAI,CAAC;YAE9C,IAAA,mCAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACpD;KACJ;AACL,CAAC","sourcesContent":["import { cleanUpRestNodes } from '../utils/cleanUpRestNodes';\nimport type {\n ContentModelBlockGroup,\n ContentModelHandler,\n ModelToDomContext,\n ModelToDomListStackItem,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const handleBlockGroupChildren: ContentModelHandler<ContentModelBlockGroup> = (\n doc: Document,\n parent: Node,\n group: ContentModelBlockGroup,\n context: ModelToDomContext\n) => {\n const { listFormat } = context;\n const nodeStack = listFormat.nodeStack;\n let refNode: Node | null = parent.firstChild;\n\n try {\n group.blocks.forEach((childBlock, index) => {\n // When process list, we need a node stack.\n // When there are two continuous lists, they should share the same stack\n // so that list items with same type/threadId can be merged into the same list element\n // In other cases, clear the stack so that two separate lists won't share the same list element\n if (\n index == 0 ||\n childBlock.blockType != 'BlockGroup' ||\n childBlock.blockGroupType != 'ListItem'\n ) {\n cleanUpNodeStack(listFormat.nodeStack, context);\n\n if (listFormat.nodeStack.length > 0) {\n listFormat.nodeStack = [];\n }\n }\n\n refNode = context.modelHandlers.block(doc, parent, childBlock, context, refNode);\n\n if (childBlock.blockType == 'Entity') {\n context.domIndexer?.onBlockEntity(childBlock, group);\n }\n });\n\n cleanUpNodeStack(listFormat.nodeStack, context);\n\n // Remove all rest node if any since they don't appear in content model\n cleanUpRestNodes(refNode, context.rewriteFromModel);\n } finally {\n listFormat.nodeStack = nodeStack;\n }\n};\n\nfunction cleanUpNodeStack(nodeStack: ModelToDomListStackItem[], context: ModelToDomContext) {\n if (nodeStack.length > 0) {\n // Clear list stack, only run to nodeStack[1] because nodeStack[0] is the parent node\n for (let i = nodeStack.length - 1; i > 0; i--) {\n const node = nodeStack.pop()?.refNode ?? null;\n\n cleanUpRestNodes(node, context.rewriteFromModel);\n }\n }\n}\n"]}
|
|
@@ -37,20 +37,16 @@ var handleList = function (doc, parent, listItem, context, refNode) {
|
|
|
37
37
|
// Apply metadata to list level to make sure list style is correct after rendering
|
|
38
38
|
(0, applyMetadata_1.applyMetadata)(itemLevel, context.metadataAppliers.listLevel, itemLevel.format, context);
|
|
39
39
|
}
|
|
40
|
-
if (
|
|
41
|
-
parentLevel.refNode &&
|
|
42
|
-
itemLevel.cachedElement == parentLevel.refNode) {
|
|
40
|
+
if (parentLevel.refNode && itemLevel.cachedElement == parentLevel.refNode) {
|
|
43
41
|
// Move refNode to next node since we are reusing this cached element
|
|
44
42
|
parentLevel.refNode = parentLevel.refNode.nextSibling;
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
// Cut off remained list levels that we can't reuse
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
(0, cleanUpRestNodes_1.cleanUpRestNodes)(stackLevel.refNode, context.rewriteFromModel);
|
|
53
|
-
}
|
|
46
|
+
// Clean up all rest nodes in the reused list levels
|
|
47
|
+
for (var i = layer + 1; i < nodeStack.length; i++) {
|
|
48
|
+
var stackLevel = nodeStack[i];
|
|
49
|
+
(0, cleanUpRestNodes_1.cleanUpRestNodes)(stackLevel.refNode, context.rewriteFromModel);
|
|
54
50
|
}
|
|
55
51
|
nodeStack.splice(layer + 1);
|
|
56
52
|
// Create new list levels that are after reused ones
|
|
@@ -61,7 +57,7 @@ var handleList = function (doc, parent, listItem, context, refNode) {
|
|
|
61
57
|
var isNewlyCreated = false;
|
|
62
58
|
var levelRefNode = (_c = nodeStack[layer].refNode) !== null && _c !== void 0 ? _c : null;
|
|
63
59
|
context.listFormat.currentLevel = layer;
|
|
64
|
-
if (
|
|
60
|
+
if (level.cachedElement) {
|
|
65
61
|
newList = level.cachedElement;
|
|
66
62
|
nodeStack[layer].refNode = (0, reuseCachedElement_1.reuseCachedElement)(lastParent, level.cachedElement, levelRefNode, context.rewriteFromModel);
|
|
67
63
|
nodeStack.push({
|
|
@@ -83,9 +79,7 @@ var handleList = function (doc, parent, listItem, context, refNode) {
|
|
|
83
79
|
format: (0, tslib_1.__assign)({}, level.format),
|
|
84
80
|
dataset: (0, tslib_1.__assign)({}, level.dataset),
|
|
85
81
|
});
|
|
86
|
-
|
|
87
|
-
level.cachedElement = newList;
|
|
88
|
-
}
|
|
82
|
+
level.cachedElement = newList;
|
|
89
83
|
}
|
|
90
84
|
(0, applyFormat_1.applyFormat)(newList, context.formatAppliers.listLevelThread, level.format, context);
|
|
91
85
|
// Need to apply metadata after applying list level format since the list numbers value relies on the result of list thread handling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleList.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/modelToDom/handlers/handleList.ts"],"names":[],"mappings":";;;;AAAA,oDAAmD;AACnD,wDAAuD;AACvD,8DAA6D;AAC7D,wEAAuE;AAOvE;;GAEG;AACI,IAAM,UAAU,GAAmD,UACtE,GAAa,EACb,MAAY,EACZ,QAA8B,EAC9B,OAA0B,EAC1B,OAAoB;;IAEpB,IAAI,KAAK,GAAG,CAAC,CAAC;IACN,IAAA,SAAS,GAAK,OAAO,CAAC,UAAU,UAAvB,CAAwB;IAEzC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QACvB,SAAS,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,MAAM;YACZ,OAAO,SAAA;SACV,CAAC,CAAC;KACN;IAED,0EAA0E;IAC1E,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC5E,IAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,IAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;QAExC,IACI,UAAU,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ;YACzC,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,WAAW,KAAI,SAAS,CAAC,OAAO,CAAC,WAAW;YAChE,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI;gBACvB,OAAO,SAAS,CAAC,MAAM,CAAC,mBAAmB,KAAK,QAAQ,CAAC;YAC7D,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI;gBACvB,SAAS,CAAC,MAAM,CAAC,aAAa,KAAI,MAAA,UAAU,CAAC,MAAM,0CAAE,aAAa,CAAA,CAAC,EACzE;YACE,MAAM;SACT;aAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE;YACnC,kFAAkF;YAClF,IAAA,6BAAa,EAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC3F;QAED,
|
|
1
|
+
{"version":3,"file":"handleList.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/modelToDom/handlers/handleList.ts"],"names":[],"mappings":"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","sourcesContent":["import { applyFormat } from '../utils/applyFormat';\nimport { applyMetadata } from '../utils/applyMetadata';\nimport { cleanUpRestNodes } from '../utils/cleanUpRestNodes';\nimport { reuseCachedElement } from '../../domUtils/reuseCachedElement';\nimport type {\n ContentModelBlockHandler,\n ContentModelListItem,\n ModelToDomContext,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const handleList: ContentModelBlockHandler<ContentModelListItem> = (\n doc: Document,\n parent: Node,\n listItem: ContentModelListItem,\n context: ModelToDomContext,\n refNode: Node | null\n) => {\n let layer = 0;\n const { nodeStack } = context.listFormat;\n\n if (nodeStack.length == 0) {\n nodeStack.push({\n node: parent,\n refNode,\n });\n }\n\n // Skip existing list levels that has same properties so we can reuse them\n for (; layer < listItem.levels.length && layer + 1 < nodeStack.length; layer++) {\n const parentLevel = nodeStack[layer];\n const stackLevel = nodeStack[layer + 1];\n const itemLevel = listItem.levels[layer];\n\n context.listFormat.currentLevel = layer;\n\n if (\n stackLevel.listType != itemLevel.listType ||\n stackLevel.dataset?.editingInfo != itemLevel.dataset.editingInfo ||\n (itemLevel.listType == 'OL' &&\n typeof itemLevel.format.startNumberOverride === 'number') ||\n (itemLevel.listType == 'UL' &&\n itemLevel.format.listStyleType != stackLevel.format?.listStyleType)\n ) {\n break;\n } else if (itemLevel.listType == 'UL') {\n // Apply metadata to list level to make sure list style is correct after rendering\n applyMetadata(itemLevel, context.metadataAppliers.listLevel, itemLevel.format, context);\n }\n\n if (parentLevel.refNode && itemLevel.cachedElement == parentLevel.refNode) {\n // Move refNode to next node since we are reusing this cached element\n parentLevel.refNode = parentLevel.refNode.nextSibling;\n }\n }\n\n // Cut off remained list levels that we can't reuse\n // Clean up all rest nodes in the reused list levels\n for (let i = layer + 1; i < nodeStack.length; i++) {\n const stackLevel = nodeStack[i];\n\n cleanUpRestNodes(stackLevel.refNode, context.rewriteFromModel);\n }\n\n nodeStack.splice(layer + 1);\n\n // Create new list levels that are after reused ones\n for (; layer < listItem.levels.length; layer++) {\n const level = listItem.levels[layer];\n const lastParent = nodeStack[nodeStack.length - 1].node;\n\n let newList: HTMLOListElement | HTMLUListElement;\n let isNewlyCreated = false;\n const levelRefNode = nodeStack[layer].refNode ?? null;\n\n context.listFormat.currentLevel = layer;\n\n if (level.cachedElement) {\n newList = level.cachedElement;\n\n nodeStack[layer].refNode = reuseCachedElement(\n lastParent,\n level.cachedElement,\n levelRefNode,\n context.rewriteFromModel\n );\n nodeStack.push({\n node: newList,\n refNode: newList.firstChild,\n listType: level.listType,\n format: { ...level.format },\n dataset: { ...level.dataset },\n });\n } else {\n newList = doc.createElement(level.listType == 'OL' ? 'ol' : 'ul');\n isNewlyCreated = true;\n\n lastParent.insertBefore(newList, levelRefNode);\n nodeStack.push({\n node: newList,\n refNode: null,\n listType: level.listType,\n format: { ...level.format },\n dataset: { ...level.dataset },\n });\n\n level.cachedElement = newList;\n }\n\n applyFormat(newList, context.formatAppliers.listLevelThread, level.format, context);\n\n // Need to apply metadata after applying list level format since the list numbers value relies on the result of list thread handling\n applyMetadata(level, context.metadataAppliers.listLevel, level.format, context);\n\n // Need to apply listItemElement formats after applying metadata since the list numbers value relies on the result of metadata handling\n applyFormat(newList, context.formatAppliers.listLevel, level.format, context);\n applyFormat(newList, context.formatAppliers.dataset, level.dataset, context);\n\n if (isNewlyCreated) {\n context.onNodeCreated?.(level, newList);\n }\n }\n\n return nodeStack[0].refNode;\n};\n"]}
|
|
@@ -23,7 +23,7 @@ var handleListItem = function (doc, parent, listItem, context, refNode) {
|
|
|
23
23
|
var level = listItem.levels[listItem.levels.length - 1];
|
|
24
24
|
var li;
|
|
25
25
|
var isNewlyCreated = false;
|
|
26
|
-
if (
|
|
26
|
+
if (listItem.cachedElement) {
|
|
27
27
|
li = listItem.cachedElement;
|
|
28
28
|
// Check if the cached LI is used as refNode under another list level,
|
|
29
29
|
// since we know we are going to move it under the current listParent,
|
|
@@ -42,9 +42,7 @@ var handleListItem = function (doc, parent, listItem, context, refNode) {
|
|
|
42
42
|
// This happens when outdent a list item to cause it has no list level
|
|
43
43
|
listParent.insertBefore(li, (itemRefNode === null || itemRefNode === void 0 ? void 0 : itemRefNode.parentNode) == listParent ? itemRefNode : null);
|
|
44
44
|
context.rewriteFromModel.addedBlockElements.push(li);
|
|
45
|
-
|
|
46
|
-
listItem.cachedElement = li;
|
|
47
|
-
}
|
|
45
|
+
listItem.cachedElement = li;
|
|
48
46
|
}
|
|
49
47
|
if (level) {
|
|
50
48
|
(0, applyFormat_1.applyFormat)(li, context.formatAppliers.segment, listItem.formatHolder.format, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleListItem.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/modelToDom/handlers/handleListItem.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AACnD,wDAAuD;AACvD,4EAA2E;AAC3E,wEAAuE;AACvE,wFAAuF;AACvF,oDAAmD;AACnD,gDAA+C;AAQ/C,IAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,qBAAqB,GAAG,cAAc,CAAC;AAE7C;;GAEG;AACI,IAAM,cAAc,GAAmD,UAC1E,GAAa,EACb,MAAY,EACZ,QAA8B,EAC9B,OAA0B,EAC1B,OAAoB;;IAEpB,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAA,SAAS,GAAK,OAAO,CAAC,UAAU,UAAvB,CAAwB;IACzC,IAAM,SAAS,GAAqC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;IAC5F,IAAM,WAAW,GAAG,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC;IAC9C,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC;IAC5C,IAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE1D,IAAI,EAAiB,CAAC;IACtB,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,
|
|
1
|
+
{"version":3,"file":"handleListItem.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/modelToDom/handlers/handleListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { applyFormat } from '../utils/applyFormat';\nimport { applyMetadata } from '../utils/applyMetadata';\nimport { isGenericRoleElement } from '../../domUtils/isGenericRoleElement';\nimport { reuseCachedElement } from '../../domUtils/reuseCachedElement';\nimport { setParagraphNotImplicit } from '../../modelApi/block/setParagraphNotImplicit';\nimport { stackFormat } from '../utils/stackFormat';\nimport { unwrap } from '../../domUtils/unwrap';\nimport type {\n ContentModelBlockHandler,\n ContentModelListItem,\n ModelToDomContext,\n ModelToDomListStackItem,\n} from 'roosterjs-content-model-types';\n\nconst HtmlRoleAttribute = 'role';\nconst PresentationRoleValue = 'presentation';\n\n/**\n * @internal\n */\nexport const handleListItem: ContentModelBlockHandler<ContentModelListItem> = (\n doc: Document,\n parent: Node,\n listItem: ContentModelListItem,\n context: ModelToDomContext,\n refNode: Node | null\n) => {\n refNode = context.modelHandlers.list(doc, parent, listItem, context, refNode);\n\n const { nodeStack } = context.listFormat;\n const leafLevel: Partial<ModelToDomListStackItem> = nodeStack?.[nodeStack.length - 1] ?? {};\n const itemRefNode = leafLevel.refNode || null;\n const listParent = leafLevel.node || parent;\n const level = listItem.levels[listItem.levels.length - 1];\n\n let li: HTMLLIElement;\n let isNewlyCreated = false;\n\n if (listItem.cachedElement) {\n li = listItem.cachedElement;\n\n // Check if the cached LI is used as refNode under another list level,\n // since we know we are going to move it under the current listParent,\n // we need to update the refNode of the previous list level to avoid removing it later\n for (let i = 0; i < nodeStack.length - 1; i++) {\n if (nodeStack[i].refNode === li) {\n nodeStack[i].refNode = li.nextSibling;\n }\n }\n\n leafLevel.refNode = reuseCachedElement(\n listParent,\n li,\n itemRefNode,\n context.rewriteFromModel\n );\n } else {\n li = doc.createElement('li');\n isNewlyCreated = true;\n\n // It is possible listParent is the same with parent param.\n // This happens when outdent a list item to cause it has no list level\n listParent.insertBefore(li, itemRefNode?.parentNode == listParent ? itemRefNode : null);\n context.rewriteFromModel.addedBlockElements.push(li);\n listItem.cachedElement = li;\n }\n\n if (level) {\n applyFormat(li, context.formatAppliers.segment, listItem.formatHolder.format, context);\n applyFormat(li, context.formatAppliers.listItemThread, level.format, context);\n\n // Need to apply metadata after applying listItem format since the list numbers value relies on the result of list thread handling\n applyMetadata(level, context.metadataAppliers.listItem, listItem.format, context);\n\n // Need to apply listItemElement formats after applying metadata since the list numbers value relies on the result of metadata handling\n applyFormat(li, context.formatAppliers.listItemElement, listItem.format, context);\n\n stackFormat(context, listItem.formatHolder.format, () => {\n context.modelHandlers.blockGroupChildren(doc, li, listItem, context);\n });\n } else {\n // There is no level for this list item, that means it should be moved out of the list\n // For each paragraph, make it not implicit so it will have a DIV around it, to avoid more paragraphs connected together\n listItem.blocks.forEach(setParagraphNotImplicit);\n\n context.modelHandlers.blockGroupChildren(doc, li, listItem, context);\n\n unwrap(li);\n }\n\n // Add role=\"presentation\" to all generic role elements inside the LI element\n // This is to make sure the elements are announced correctly by screen readers\n // when using arrow keys to navigate the list.\n for (let index = 0; index < li.children.length; index++) {\n const element = li.children.item(index);\n if (isGenericRoleElement(element)) {\n element.setAttribute(HtmlRoleAttribute, PresentationRoleValue);\n }\n }\n\n if (isNewlyCreated) {\n context.onNodeCreated?.(listItem, li);\n }\n\n return refNode;\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
define(["require", "exports", "../../modelApi/creators/createListItem", "../utils/parseFormat", "../utils/stackFormat"], function (require, exports, createListItem_1, parseFormat_1, stackFormat_1) {
|
|
1
|
+
define(["require", "exports", "../../modelApi/creators/createListItem", "../../modelApi/creators/createListLevel", "../utils/parseFormat", "../utils/stackFormat"], function (require, exports, createListItem_1, createListLevel_1, parseFormat_1, stackFormat_1) {
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.listItemProcessor = void 0;
|
|
@@ -8,14 +8,22 @@ define(["require", "exports", "../../modelApi/creators/createListItem", "../util
|
|
|
8
8
|
var listItemProcessor = function (group, element, context) {
|
|
9
9
|
var _a;
|
|
10
10
|
var listFormat = context.listFormat;
|
|
11
|
-
|
|
11
|
+
var originalListParent = listFormat.listParent;
|
|
12
|
+
var shouldPopListLevel = false;
|
|
13
|
+
try {
|
|
14
|
+
listFormat.listParent = (_a = listFormat.listParent) !== null && _a !== void 0 ? _a : group;
|
|
15
|
+
var listParent_1 = listFormat.listParent;
|
|
16
|
+
if (listFormat.levels.length == 0) {
|
|
17
|
+
listFormat.levels.push((0, createListLevel_1.createListLevel)(listFormat.potentialListType || 'UL', context.blockFormat));
|
|
18
|
+
shouldPopListLevel = true;
|
|
19
|
+
}
|
|
12
20
|
(0, stackFormat_1.stackFormat)(context, {
|
|
13
21
|
segment: 'shallowCloneForBlock',
|
|
14
22
|
}, function () {
|
|
15
23
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
|
|
16
24
|
var listItem = (0, createListItem_1.createListItem)(listFormat.levels, context.segmentFormat);
|
|
17
25
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listItemElement, listItem.format, context);
|
|
18
|
-
|
|
26
|
+
listParent_1.blocks.push(listItem);
|
|
19
27
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listItemThread, listItem.levels[listItem.levels.length - 1].format, context);
|
|
20
28
|
context.elementProcessors.child(listItem, element, context);
|
|
21
29
|
var firstChild = listItem.blocks[0];
|
|
@@ -27,10 +35,11 @@ define(["require", "exports", "../../modelApi/creators/createListItem", "../util
|
|
|
27
35
|
}
|
|
28
36
|
});
|
|
29
37
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
finally {
|
|
39
|
+
if (shouldPopListLevel) {
|
|
40
|
+
listFormat.levels.pop();
|
|
41
|
+
}
|
|
42
|
+
listFormat.listParent = originalListParent;
|
|
34
43
|
}
|
|
35
44
|
};
|
|
36
45
|
exports.listItemProcessor = listItemProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listItemProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listItemProcessor.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"listItemProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listItemProcessor.ts"],"names":[],"mappings":";;;;IAMA;;OAEG;IACI,IAAM,iBAAiB,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;QAC9E,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAC/B,IAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC;QACjD,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,IAAI;YACA,UAAU,CAAC,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,KAAK,CAAC;YAEvD,IAAM,YAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YAEzC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/B,UAAU,CAAC,MAAM,CAAC,IAAI,CAClB,IAAA,iCAAe,EAAC,UAAU,CAAC,iBAAiB,IAAI,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAC7E,CAAC;gBACF,kBAAkB,GAAG,IAAI,CAAC;aAC7B;YAED,IAAA,yBAAW,EACP,OAAO,EACP;gBACI,OAAO,EAAE,sBAAsB;aAClC,EACD;gBACI,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,cAAc,EACpC,OAAO,CAAC,aAAa,EACrB,OAAO,CACV,CAAC;gBAEF,IAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC1E,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,eAAe,EACrC,QAAQ,CAAC,MAAM,EACf,OAAO,CACV,CAAC;gBAEF,YAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEjC,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,cAAc,EACpC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAClD,OAAO,CACV,CAAC;gBAEF,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAE5D,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEtC,IACI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;oBAC3B,UAAU,CAAC,SAAS,IAAI,WAAW;oBACnC,UAAU,CAAC,UAAU,EACvB;oBACE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBAClD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;iBAC1B;YACL,CAAC,CACJ,CAAC;SACL;gBAAS;YACN,IAAI,kBAAkB,EAAE;gBACpB,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;aAC3B;YAED,UAAU,CAAC,UAAU,GAAG,kBAAkB,CAAC;SAC9C;IACL,CAAC,CAAC;IApEW,QAAA,iBAAiB,qBAoE5B","sourcesContent":["import { createListItem } from '../../modelApi/creators/createListItem';\nimport { createListLevel } from '../../modelApi/creators/createListLevel';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const listItemProcessor: ElementProcessor<HTMLLIElement> = (group, element, context) => {\n const { listFormat } = context;\n const originalListParent = listFormat.listParent;\n let shouldPopListLevel = false;\n\n try {\n listFormat.listParent = listFormat.listParent ?? group;\n\n const listParent = listFormat.listParent;\n\n if (listFormat.levels.length == 0) {\n listFormat.levels.push(\n createListLevel(listFormat.potentialListType || 'UL', context.blockFormat)\n );\n shouldPopListLevel = true;\n }\n\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n },\n () => {\n parseFormat(\n element,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n\n const listItem = createListItem(listFormat.levels, context.segmentFormat);\n parseFormat(\n element,\n context.formatParsers.listItemElement,\n listItem.format,\n context\n );\n\n listParent.blocks.push(listItem);\n\n parseFormat(\n element,\n context.formatParsers.listItemThread,\n listItem.levels[listItem.levels.length - 1].format,\n context\n );\n\n context.elementProcessors.child(listItem, element, context);\n\n const firstChild = listItem.blocks[0];\n\n if (\n listItem.blocks.length == 1 &&\n firstChild.blockType == 'Paragraph' &&\n firstChild.isImplicit\n ) {\n Object.assign(listItem.format, firstChild.format);\n firstChild.format = {};\n }\n }\n );\n } finally {\n if (shouldPopListLevel) {\n listFormat.levels.pop();\n }\n\n listFormat.listParent = originalListParent;\n }\n};\n"]}
|
|
@@ -10,13 +10,15 @@ define(["require", "exports", "../../modelApi/creators/createListLevel", "../uti
|
|
|
10
10
|
segment: 'shallowCloneForBlock',
|
|
11
11
|
paragraph: 'shallowCloneForGroup',
|
|
12
12
|
}, function () {
|
|
13
|
-
var
|
|
13
|
+
var tagName = element.tagName;
|
|
14
|
+
var level = (0, createListLevel_1.createListLevel)(tagName, context.blockFormat);
|
|
14
15
|
var listFormat = context.listFormat;
|
|
15
16
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, level.dataset, context);
|
|
16
17
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listLevelThread, level.format, context);
|
|
17
18
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.listLevel, level.format, context);
|
|
18
19
|
(0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, context.segmentFormat, context);
|
|
19
20
|
var originalListParent = listFormat.listParent;
|
|
21
|
+
listFormat.potentialListType = tagName;
|
|
20
22
|
listFormat.listParent = listFormat.listParent || group;
|
|
21
23
|
listFormat.levels.push(level);
|
|
22
24
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;;IAKA;;OAEG;IACI,IAAM,aAAa,GAA0D,UAChF,KAAK,EACL,OAAO,EACP,OAAO;QAEP,IAAA,yBAAW,EACP,OAAO,EACP;YACI,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,sBAAsB;SACpC,EACD;YACI,IAAM,KAAK,GAA0B,IAAA,iCAAe,
|
|
1
|
+
{"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;;IAKA;;OAEG;IACI,IAAM,aAAa,GAA0D,UAChF,KAAK,EACL,OAAO,EACP,OAAO;QAEP,IAAA,yBAAW,EACP,OAAO,EACP;YACI,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,sBAAsB;SACpC,EACD;YACI,IAAM,OAAO,GAAG,OAAO,CAAC,OAAsB,CAAC;YAC/C,IAAM,KAAK,GAA0B,IAAA,iCAAe,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC3E,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;YAE/B,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAEpF,IAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC;YAEjD,UAAU,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACvC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;YACvD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE9B,IAAI;gBACA,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aAC5D;oBAAS;gBACN,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACxB,UAAU,CAAC,UAAU,GAAG,kBAAkB,CAAC;aAC9C;QACL,CAAC,CACJ,CAAC;IACN,CAAC,CAAC;IAnCW,QAAA,aAAa,iBAmCxB","sourcesContent":["import { createListLevel } from '../../modelApi/creators/createListLevel';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelListLevel, ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const listProcessor: ElementProcessor<HTMLOListElement | HTMLUListElement> = (\n group,\n element,\n context\n) => {\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n paragraph: 'shallowCloneForGroup',\n },\n () => {\n const tagName = element.tagName as 'OL' | 'UL';\n const level: ContentModelListLevel = createListLevel(tagName, context.blockFormat);\n const { listFormat } = context;\n\n parseFormat(element, context.formatParsers.dataset, level.dataset, context);\n parseFormat(element, context.formatParsers.listLevelThread, level.format, context);\n parseFormat(element, context.formatParsers.listLevel, level.format, context);\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n const originalListParent = listFormat.listParent;\n\n listFormat.potentialListType = tagName;\n listFormat.listParent = listFormat.listParent || group;\n listFormat.levels.push(level);\n\n try {\n context.elementProcessors.child(group, element, context);\n } finally {\n listFormat.levels.pop();\n listFormat.listParent = originalListParent;\n }\n }\n );\n};\n"]}
|
package/lib-amd/index.d.ts
CHANGED
|
@@ -50,7 +50,6 @@ export { addLink } from './modelApi/common/addDecorators';
|
|
|
50
50
|
export { addTextSegment } from './modelApi/common/addTextSegment';
|
|
51
51
|
export { normalizeParagraph } from './modelApi/common/normalizeParagraph';
|
|
52
52
|
export { normalizeContentModel } from './modelApi/common/normalizeContentModel';
|
|
53
|
-
export { sanitizeInvisibleUnicode } from './modelApi/common/sanitizeInvisibleUnicode';
|
|
54
53
|
export { isGeneralSegment } from './modelApi/typeCheck/isGeneralSegment';
|
|
55
54
|
export { unwrapBlock } from './modelApi/common/unwrapBlock';
|
|
56
55
|
export { addSegment } from './modelApi/common/addSegment';
|
|
@@ -75,7 +74,6 @@ export { isCharacterValue, isModifierKey, isCursorMovingKey } from './domUtils/e
|
|
|
75
74
|
export { getNodePositionFromEvent } from './domUtils/event/getNodePositionFromEvent';
|
|
76
75
|
export { combineBorderValue, extractBorderValues } from './domUtils/style/borderValues';
|
|
77
76
|
export { isPunctuation, isSpace, normalizeText } from './domUtils/stringUtil';
|
|
78
|
-
export { stripInvisibleUnicode } from './domUtils/stripInvisibleUnicode';
|
|
79
77
|
export { parseTableCells } from './domUtils/table/parseTableCells';
|
|
80
78
|
export { readFile } from './domUtils/readFile';
|
|
81
79
|
export { retrieveDocumentMetadata } from './domUtils/retrieveDocumentMetadata';
|