roosterjs-content-model-plugins 0.28.1 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -37
- package/lib/autoFormat/AutoFormatPlugin.d.ts +5 -2
- package/lib/autoFormat/AutoFormatPlugin.js +23 -11
- package/lib/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib/autoFormat/link/createLinkAfterSpace.js +28 -22
- package/lib/autoFormat/link/createLinkAfterSpace.js.map +1 -1
- package/lib/autoFormat/link/getLinkSegment.js +2 -2
- package/lib/autoFormat/link/getLinkSegment.js.map +1 -1
- package/lib/autoFormat/list/getListTypeStyle.js +14 -14
- package/lib/autoFormat/list/getListTypeStyle.js.map +1 -1
- package/lib/autoFormat/list/getNumberingListStyle.js +29 -29
- package/lib/autoFormat/list/getNumberingListStyle.js.map +1 -1
- package/lib/autoFormat/list/keyboardListTrigger.d.ts +1 -1
- package/lib/autoFormat/list/keyboardListTrigger.js +10 -11
- package/lib/autoFormat/list/keyboardListTrigger.js.map +1 -1
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.js +2 -2
- package/lib/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib/edit/deleteSteps/deleteCollapsedSelection.js +4 -5
- package/lib/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib/edit/deleteSteps/deleteEmptyQuote.js +2 -3
- package/lib/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
- package/lib/edit/deleteSteps/deleteList.js +3 -5
- package/lib/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib/edit/deleteSteps/deleteWordSelection.js +3 -4
- package/lib/edit/deleteSteps/deleteWordSelection.js.map +1 -1
- package/lib/edit/inputSteps/handleEnterOnList.js +2 -3
- package/lib/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib/edit/keyboardDelete.js +4 -5
- package/lib/edit/keyboardDelete.js.map +1 -1
- package/lib/edit/keyboardInput.js +3 -4
- package/lib/edit/keyboardInput.js.map +1 -1
- package/lib/edit/keyboardTab.js +3 -3
- package/lib/edit/keyboardTab.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/markdown/MarkdownPlugin.d.ts +55 -0
- package/lib/markdown/MarkdownPlugin.js +177 -0
- package/lib/markdown/MarkdownPlugin.js.map +1 -0
- package/lib/markdown/utils/setFormat.d.ts +5 -0
- package/lib/markdown/utils/setFormat.js +46 -0
- package/lib/markdown/utils/setFormat.js.map +1 -0
- package/lib/paste/Excel/processPastedContentFromExcel.d.ts +6 -1
- package/lib/paste/Excel/processPastedContentFromExcel.js +20 -12
- package/lib/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib/paste/WordDesktop/processWordLists.js +2 -3
- package/lib/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib/pluginUtils/splitTextSegment.d.ts +5 -0
- package/lib/pluginUtils/splitTextSegment.js +26 -0
- package/lib/pluginUtils/splitTextSegment.js.map +1 -0
- package/lib/shortcut/ShortcutPlugin.js +2 -2
- package/lib/shortcut/ShortcutPlugin.js.map +1 -1
- package/lib/shortcut/utils/setShortcutIndentationCommand.js +2 -2
- package/lib/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
- package/lib/tableEdit/editors/features/CellResizer.js +5 -6
- package/lib/tableEdit/editors/features/CellResizer.js.map +1 -1
- package/lib/tableEdit/editors/features/TableResizer.js +2 -3
- package/lib/tableEdit/editors/features/TableResizer.js.map +1 -1
- package/lib/watermark/WatermarkFormat.d.ts +5 -0
- package/lib/watermark/WatermarkFormat.js +3 -0
- package/lib/watermark/WatermarkFormat.js.map +1 -0
- package/lib/watermark/WatermarkPlugin.d.ts +37 -0
- package/lib/watermark/WatermarkPlugin.js +99 -0
- package/lib/watermark/WatermarkPlugin.js.map +1 -0
- package/lib/watermark/isModelEmptyFast.d.ts +6 -0
- package/lib/watermark/isModelEmptyFast.js +35 -0
- package/lib/watermark/isModelEmptyFast.js.map +1 -0
- package/lib-amd/autoFormat/AutoFormatPlugin.d.ts +5 -2
- package/lib-amd/autoFormat/AutoFormatPlugin.js +23 -11
- package/lib-amd/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib-amd/autoFormat/link/createLinkAfterSpace.js +28 -22
- package/lib-amd/autoFormat/link/createLinkAfterSpace.js.map +1 -1
- package/lib-amd/autoFormat/link/getLinkSegment.js +2 -2
- package/lib-amd/autoFormat/link/getLinkSegment.js.map +1 -1
- package/lib-amd/autoFormat/list/getListTypeStyle.js +14 -14
- package/lib-amd/autoFormat/list/getListTypeStyle.js.map +1 -1
- package/lib-amd/autoFormat/list/getNumberingListStyle.js +29 -29
- package/lib-amd/autoFormat/list/getNumberingListStyle.js.map +1 -1
- package/lib-amd/autoFormat/list/keyboardListTrigger.d.ts +1 -1
- package/lib-amd/autoFormat/list/keyboardListTrigger.js +11 -11
- package/lib-amd/autoFormat/list/keyboardListTrigger.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js +2 -2
- package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js +5 -5
- package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js +3 -3
- package/lib-amd/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteList.js +3 -5
- package/lib-amd/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib-amd/edit/deleteSteps/deleteWordSelection.js +4 -4
- package/lib-amd/edit/deleteSteps/deleteWordSelection.js.map +1 -1
- package/lib-amd/edit/inputSteps/handleEnterOnList.js +3 -3
- package/lib-amd/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib-amd/edit/keyboardDelete.js +4 -4
- package/lib-amd/edit/keyboardDelete.js.map +1 -1
- package/lib-amd/edit/keyboardInput.js +3 -3
- package/lib-amd/edit/keyboardInput.js.map +1 -1
- package/lib-amd/edit/keyboardTab.js +3 -3
- package/lib-amd/edit/keyboardTab.js.map +1 -1
- package/lib-amd/index.d.ts +3 -0
- package/lib-amd/index.js +4 -2
- package/lib-amd/index.js.map +1 -1
- package/lib-amd/markdown/MarkdownPlugin.d.ts +55 -0
- package/lib-amd/markdown/MarkdownPlugin.js +178 -0
- package/lib-amd/markdown/MarkdownPlugin.js.map +1 -0
- package/lib-amd/markdown/utils/setFormat.d.ts +5 -0
- package/lib-amd/markdown/utils/setFormat.js +45 -0
- package/lib-amd/markdown/utils/setFormat.js.map +1 -0
- package/lib-amd/paste/Excel/processPastedContentFromExcel.d.ts +6 -1
- package/lib-amd/paste/Excel/processPastedContentFromExcel.js +20 -12
- package/lib-amd/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib-amd/paste/WordDesktop/processWordLists.js +3 -3
- package/lib-amd/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib-amd/pluginUtils/splitTextSegment.d.ts +5 -0
- package/lib-amd/pluginUtils/splitTextSegment.js +26 -0
- package/lib-amd/pluginUtils/splitTextSegment.js.map +1 -0
- package/lib-amd/shortcut/ShortcutPlugin.js +2 -2
- package/lib-amd/shortcut/ShortcutPlugin.js.map +1 -1
- package/lib-amd/shortcut/utils/setShortcutIndentationCommand.js +2 -2
- package/lib-amd/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/CellResizer.js +6 -6
- package/lib-amd/tableEdit/editors/features/CellResizer.js.map +1 -1
- package/lib-amd/tableEdit/editors/features/TableResizer.js +3 -3
- package/lib-amd/tableEdit/editors/features/TableResizer.js.map +1 -1
- package/lib-amd/watermark/WatermarkFormat.d.ts +5 -0
- package/lib-amd/watermark/WatermarkFormat.js +5 -0
- package/lib-amd/watermark/WatermarkFormat.js.map +1 -0
- package/lib-amd/watermark/WatermarkPlugin.d.ts +37 -0
- package/lib-amd/watermark/WatermarkPlugin.js +99 -0
- package/lib-amd/watermark/WatermarkPlugin.js.map +1 -0
- package/lib-amd/watermark/isModelEmptyFast.d.ts +6 -0
- package/lib-amd/watermark/isModelEmptyFast.js +37 -0
- package/lib-amd/watermark/isModelEmptyFast.js.map +1 -0
- package/lib-mjs/autoFormat/AutoFormatPlugin.d.ts +5 -2
- package/lib-mjs/autoFormat/AutoFormatPlugin.js +23 -11
- package/lib-mjs/autoFormat/AutoFormatPlugin.js.map +1 -1
- package/lib-mjs/autoFormat/link/createLinkAfterSpace.js +28 -22
- package/lib-mjs/autoFormat/link/createLinkAfterSpace.js.map +1 -1
- package/lib-mjs/autoFormat/link/getLinkSegment.js +1 -1
- package/lib-mjs/autoFormat/link/getLinkSegment.js.map +1 -1
- package/lib-mjs/autoFormat/list/getListTypeStyle.js +2 -2
- package/lib-mjs/autoFormat/list/getListTypeStyle.js.map +1 -1
- package/lib-mjs/autoFormat/list/getNumberingListStyle.js +1 -1
- package/lib-mjs/autoFormat/list/getNumberingListStyle.js.map +1 -1
- package/lib-mjs/autoFormat/list/keyboardListTrigger.d.ts +1 -1
- package/lib-mjs/autoFormat/list/keyboardListTrigger.js +11 -12
- package/lib-mjs/autoFormat/list/keyboardListTrigger.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js +1 -1
- package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js +1 -2
- package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js +1 -2
- package/lib-mjs/edit/deleteSteps/deleteEmptyQuote.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteList.js +2 -4
- package/lib-mjs/edit/deleteSteps/deleteList.js.map +1 -1
- package/lib-mjs/edit/deleteSteps/deleteWordSelection.js +1 -2
- package/lib-mjs/edit/deleteSteps/deleteWordSelection.js.map +1 -1
- package/lib-mjs/edit/inputSteps/handleEnterOnList.js +1 -2
- package/lib-mjs/edit/inputSteps/handleEnterOnList.js.map +1 -1
- package/lib-mjs/edit/keyboardDelete.js +1 -2
- package/lib-mjs/edit/keyboardDelete.js.map +1 -1
- package/lib-mjs/edit/keyboardInput.js +1 -2
- package/lib-mjs/edit/keyboardInput.js.map +1 -1
- package/lib-mjs/edit/keyboardTab.js +1 -1
- package/lib-mjs/edit/keyboardTab.js.map +1 -1
- package/lib-mjs/index.d.ts +3 -0
- package/lib-mjs/index.js +2 -0
- package/lib-mjs/index.js.map +1 -1
- package/lib-mjs/markdown/MarkdownPlugin.d.ts +55 -0
- package/lib-mjs/markdown/MarkdownPlugin.js +174 -0
- package/lib-mjs/markdown/MarkdownPlugin.js.map +1 -0
- package/lib-mjs/markdown/utils/setFormat.d.ts +5 -0
- package/lib-mjs/markdown/utils/setFormat.js +42 -0
- package/lib-mjs/markdown/utils/setFormat.js.map +1 -0
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.d.ts +6 -1
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.js +18 -11
- package/lib-mjs/paste/Excel/processPastedContentFromExcel.js.map +1 -1
- package/lib-mjs/paste/WordDesktop/processWordLists.js +1 -2
- package/lib-mjs/paste/WordDesktop/processWordLists.js.map +1 -1
- package/lib-mjs/pluginUtils/splitTextSegment.d.ts +5 -0
- package/lib-mjs/pluginUtils/splitTextSegment.js +22 -0
- package/lib-mjs/pluginUtils/splitTextSegment.js.map +1 -0
- package/lib-mjs/shortcut/ShortcutPlugin.js +1 -1
- package/lib-mjs/shortcut/ShortcutPlugin.js.map +1 -1
- package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.js +1 -1
- package/lib-mjs/shortcut/utils/setShortcutIndentationCommand.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/CellResizer.js +1 -2
- package/lib-mjs/tableEdit/editors/features/CellResizer.js.map +1 -1
- package/lib-mjs/tableEdit/editors/features/TableResizer.js +1 -2
- package/lib-mjs/tableEdit/editors/features/TableResizer.js.map +1 -1
- package/lib-mjs/watermark/WatermarkFormat.d.ts +5 -0
- package/lib-mjs/watermark/WatermarkFormat.js +2 -0
- package/lib-mjs/watermark/WatermarkFormat.js.map +1 -0
- package/lib-mjs/watermark/WatermarkPlugin.d.ts +37 -0
- package/lib-mjs/watermark/WatermarkPlugin.js +96 -0
- package/lib-mjs/watermark/WatermarkPlugin.js.map +1 -0
- package/lib-mjs/watermark/isModelEmptyFast.d.ts +6 -0
- package/lib-mjs/watermark/isModelEmptyFast.js +31 -0
- package/lib-mjs/watermark/isModelEmptyFast.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
* A fast way to check if content model is empty
|
|
4
|
+
*/
|
|
5
|
+
export function isModelEmptyFast(model) {
|
|
6
|
+
var firstBlock = model.blocks[0];
|
|
7
|
+
if (model.blocks.length > 1) {
|
|
8
|
+
return false; // Multiple blocks, treat as not empty
|
|
9
|
+
}
|
|
10
|
+
else if (!firstBlock) {
|
|
11
|
+
return true; // No block, it is empty
|
|
12
|
+
}
|
|
13
|
+
else if (firstBlock.blockType != 'Paragraph') {
|
|
14
|
+
return false; // First block is not paragraph, treat as not empty
|
|
15
|
+
}
|
|
16
|
+
else if (firstBlock.segments.length == 0) {
|
|
17
|
+
return true; // No segment, it is empty
|
|
18
|
+
}
|
|
19
|
+
else if (firstBlock.segments.some(function (x) {
|
|
20
|
+
return x.segmentType == 'Entity' ||
|
|
21
|
+
x.segmentType == 'Image' ||
|
|
22
|
+
x.segmentType == 'General' ||
|
|
23
|
+
(x.segmentType == 'Text' && x.text);
|
|
24
|
+
})) {
|
|
25
|
+
return false; // Has meaningful segments, it is not empty
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return firstBlock.segments.filter(function (x) { return x.segmentType == 'Br'; }).length <= 1; // If there are more than one BR, it is not empty, otherwise it is empty
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=isModelEmptyFast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isModelEmptyFast.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-plugins/lib/watermark/isModelEmptyFast.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA2B;IACxD,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,OAAO,KAAK,CAAC,CAAC,sCAAsC;KACvD;SAAM,IAAI,CAAC,UAAU,EAAE;QACpB,OAAO,IAAI,CAAC,CAAC,wBAAwB;KACxC;SAAM,IAAI,UAAU,CAAC,SAAS,IAAI,WAAW,EAAE;QAC5C,OAAO,KAAK,CAAC,CAAC,mDAAmD;KACpE;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC,CAAC,0BAA0B;KAC1C;SAAM,IACH,UAAU,CAAC,QAAQ,CAAC,IAAI,CACpB,UAAA,CAAC;QACG,OAAA,CAAC,CAAC,WAAW,IAAI,QAAQ;YACzB,CAAC,CAAC,WAAW,IAAI,OAAO;YACxB,CAAC,CAAC,WAAW,IAAI,SAAS;YAC1B,CAAC,CAAC,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;IAHnC,CAGmC,CAC1C,EACH;QACE,OAAO,KAAK,CAAC,CAAC,2CAA2C;KAC5D;SAAM;QACH,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,WAAW,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,wEAAwE;KACtJ;AACL,CAAC","sourcesContent":["import type { ContentModelDocument } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * A fast way to check if content model is empty\n */\nexport function isModelEmptyFast(model: ContentModelDocument): boolean {\n const firstBlock = model.blocks[0];\n\n if (model.blocks.length > 1) {\n return false; // Multiple blocks, treat as not empty\n } else if (!firstBlock) {\n return true; // No block, it is empty\n } else if (firstBlock.blockType != 'Paragraph') {\n return false; // First block is not paragraph, treat as not empty\n } else if (firstBlock.segments.length == 0) {\n return true; // No segment, it is empty\n } else if (\n firstBlock.segments.some(\n x =>\n x.segmentType == 'Entity' ||\n x.segmentType == 'Image' ||\n x.segmentType == 'General' ||\n (x.segmentType == 'Text' && x.text)\n )\n ) {\n return false; // Has meaningful segments, it is not empty\n } else {\n return firstBlock.segments.filter(x => x.segmentType == 'Br').length <= 1; // If there are more than one BR, it is not empty, otherwise it is empty\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "roosterjs-content-model-plugins",
|
|
3
|
-
"description": "
|
|
3
|
+
"description": "Plugins for roosterjs",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.3.1",
|
|
6
|
-
"roosterjs-content-model-core": "^0.
|
|
7
|
-
"roosterjs-content-model-dom": "^0.
|
|
8
|
-
"roosterjs-content-model-types": "^0.
|
|
9
|
-
"roosterjs-content-model-api": "^0.
|
|
6
|
+
"roosterjs-content-model-core": "^9.0.0",
|
|
7
|
+
"roosterjs-content-model-dom": "^9.0.0",
|
|
8
|
+
"roosterjs-content-model-types": "^9.0.0",
|
|
9
|
+
"roosterjs-content-model-api": "^9.0.0"
|
|
10
10
|
},
|
|
11
|
-
"version": "0.
|
|
11
|
+
"version": "9.0.0",
|
|
12
12
|
"main": "./lib/index.js",
|
|
13
13
|
"typings": "./lib/index.d.ts",
|
|
14
14
|
"module": "./lib-mjs/index.js",
|