@superdoc-dev/cli 0.5.0-next.80 → 0.5.0-next.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1150 -918
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1608,6 +1608,17 @@ var init_operation_definitions = __esm(() => {
|
|
|
1608
1608
|
intentGroup: "get_content",
|
|
1609
1609
|
intentAction: "info"
|
|
1610
1610
|
},
|
|
1611
|
+
extract: {
|
|
1612
|
+
memberPath: "extract",
|
|
1613
|
+
description: "Extract all document content with stable IDs for RAG pipelines. Returns blocks with full text, comments, and tracked changes — each with an ID compatible with scrollToElement().",
|
|
1614
|
+
expectedResult: "Returns an ExtractResult with blocks (nodeId, type, text, headingLevel), comments (entityId, text, anchoredText, blockId, status, author), tracked changes (entityId, type, excerpt, author, date), and revision.",
|
|
1615
|
+
requiresDocumentContext: true,
|
|
1616
|
+
metadata: readOperation(),
|
|
1617
|
+
referenceDocPath: "extract.mdx",
|
|
1618
|
+
referenceGroup: "core",
|
|
1619
|
+
intentGroup: "get_content",
|
|
1620
|
+
intentAction: "extract"
|
|
1621
|
+
},
|
|
1611
1622
|
clearContent: {
|
|
1612
1623
|
memberPath: "clearContent",
|
|
1613
1624
|
description: "Clear all document body content, leaving a single empty paragraph.",
|
|
@@ -9598,6 +9609,48 @@ var init_schemas = __esm(() => {
|
|
|
9598
9609
|
input: strictEmptyObjectSchema,
|
|
9599
9610
|
output: documentInfoSchema
|
|
9600
9611
|
},
|
|
9612
|
+
extract: {
|
|
9613
|
+
input: strictEmptyObjectSchema,
|
|
9614
|
+
output: objectSchema({
|
|
9615
|
+
blocks: {
|
|
9616
|
+
type: "array",
|
|
9617
|
+
items: objectSchema({
|
|
9618
|
+
nodeId: { type: "string", description: "Stable block ID — pass to scrollToElement() for navigation." },
|
|
9619
|
+
type: { type: "string", description: "Block type: paragraph, heading, listItem, table, image, etc." },
|
|
9620
|
+
text: { type: "string", description: "Full plain text content of the block." },
|
|
9621
|
+
headingLevel: { type: "integer", description: "Heading level (1–6). Only present for headings." }
|
|
9622
|
+
}, ["nodeId", "type", "text"])
|
|
9623
|
+
},
|
|
9624
|
+
comments: {
|
|
9625
|
+
type: "array",
|
|
9626
|
+
items: objectSchema({
|
|
9627
|
+
entityId: {
|
|
9628
|
+
type: "string",
|
|
9629
|
+
description: "Comment entity ID — pass to scrollToElement() for navigation."
|
|
9630
|
+
},
|
|
9631
|
+
text: { type: "string", description: "Comment body text." },
|
|
9632
|
+
anchoredText: { type: "string", description: "The document text the comment is anchored to." },
|
|
9633
|
+
blockId: { type: "string", description: "Block ID the comment is anchored to." },
|
|
9634
|
+
status: { type: "string", enum: ["open", "resolved"] },
|
|
9635
|
+
author: { type: "string", description: "Comment author name." }
|
|
9636
|
+
}, ["entityId", "status"])
|
|
9637
|
+
},
|
|
9638
|
+
trackedChanges: {
|
|
9639
|
+
type: "array",
|
|
9640
|
+
items: objectSchema({
|
|
9641
|
+
entityId: {
|
|
9642
|
+
type: "string",
|
|
9643
|
+
description: "Tracked change entity ID — pass to scrollToElement() for navigation."
|
|
9644
|
+
},
|
|
9645
|
+
type: { type: "string", enum: ["insert", "delete", "format"] },
|
|
9646
|
+
excerpt: { type: "string", description: "Short text excerpt of the changed content." },
|
|
9647
|
+
author: { type: "string", description: "Change author name." },
|
|
9648
|
+
date: { type: "string", description: "Change date (ISO string)." }
|
|
9649
|
+
}, ["entityId", "type"])
|
|
9650
|
+
},
|
|
9651
|
+
revision: { type: "string", description: "Document revision at the time of extraction." }
|
|
9652
|
+
}, ["blocks", "comments", "trackedChanges", "revision"])
|
|
9653
|
+
},
|
|
9601
9654
|
clearContent: {
|
|
9602
9655
|
input: strictEmptyObjectSchema,
|
|
9603
9656
|
output: receiptResultSchemaFor("clearContent"),
|
|
@@ -13717,6 +13770,11 @@ function executeInfo(adapter, input) {
|
|
|
13717
13770
|
return adapter.info(input);
|
|
13718
13771
|
}
|
|
13719
13772
|
|
|
13773
|
+
// ../../packages/document-api/src/extract/extract.ts
|
|
13774
|
+
function executeExtract(adapter, input) {
|
|
13775
|
+
return adapter.extract(input);
|
|
13776
|
+
}
|
|
13777
|
+
|
|
13720
13778
|
// ../../packages/document-api/src/clear-content/clear-content.ts
|
|
13721
13779
|
function executeClearContent(adapter, input, options) {
|
|
13722
13780
|
return adapter.clearContent(input, options);
|
|
@@ -15452,6 +15510,7 @@ function buildDispatchTable(api) {
|
|
|
15452
15510
|
getHtml: (input) => api.getHtml(input),
|
|
15453
15511
|
markdownToFragment: (input) => api.markdownToFragment(input),
|
|
15454
15512
|
info: (input) => api.info(input),
|
|
15513
|
+
extract: (input) => api.extract(input),
|
|
15455
15514
|
clearContent: (input, options) => api.clearContent(input, options),
|
|
15456
15515
|
insert: (input, options) => api.insert(input, options),
|
|
15457
15516
|
replace: (input, options) => api.replace(input, options),
|
|
@@ -18175,6 +18234,9 @@ function createDocumentApi(adapters) {
|
|
|
18175
18234
|
info(input) {
|
|
18176
18235
|
return executeInfo(adapters.info, input);
|
|
18177
18236
|
},
|
|
18237
|
+
extract(input) {
|
|
18238
|
+
return executeExtract(adapters.extract, input);
|
|
18239
|
+
},
|
|
18178
18240
|
clearContent(input, options) {
|
|
18179
18241
|
return executeClearContent(adapters.clearContent, input, options);
|
|
18180
18242
|
},
|
|
@@ -42460,6 +42522,7 @@ var init_operation_hints = __esm(() => {
|
|
|
42460
42522
|
getMarkdown: "extracted markdown",
|
|
42461
42523
|
getHtml: "extracted html",
|
|
42462
42524
|
info: "retrieved info",
|
|
42525
|
+
extract: "extracted content",
|
|
42463
42526
|
clearContent: "cleared document content",
|
|
42464
42527
|
insert: "inserted text",
|
|
42465
42528
|
replace: "replaced text",
|
|
@@ -42598,6 +42661,7 @@ var init_operation_hints = __esm(() => {
|
|
|
42598
42661
|
getMarkdown: "plain",
|
|
42599
42662
|
getHtml: "plain",
|
|
42600
42663
|
info: "documentInfo",
|
|
42664
|
+
extract: "plain",
|
|
42601
42665
|
clearContent: "receipt",
|
|
42602
42666
|
insert: "mutationReceipt",
|
|
42603
42667
|
replace: "mutationReceipt",
|
|
@@ -42736,6 +42800,7 @@ var init_operation_hints = __esm(() => {
|
|
|
42736
42800
|
getMarkdown: "markdown",
|
|
42737
42801
|
getHtml: "html",
|
|
42738
42802
|
info: null,
|
|
42803
|
+
extract: null,
|
|
42739
42804
|
clearContent: "receipt",
|
|
42740
42805
|
insert: null,
|
|
42741
42806
|
replace: null,
|
|
@@ -42890,6 +42955,7 @@ var init_operation_hints = __esm(() => {
|
|
|
42890
42955
|
getMarkdown: "query",
|
|
42891
42956
|
getHtml: "query",
|
|
42892
42957
|
info: "general",
|
|
42958
|
+
extract: "general",
|
|
42893
42959
|
clearContent: "general",
|
|
42894
42960
|
insert: "textMutation",
|
|
42895
42961
|
replace: "textMutation",
|
|
@@ -65886,7 +65952,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
|
|
|
65886
65952
|
emptyOptions2 = {};
|
|
65887
65953
|
});
|
|
65888
65954
|
|
|
65889
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
65955
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-CorFllow.es.js
|
|
65890
65956
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
65891
65957
|
const fieldValue = extension$1.config[field];
|
|
65892
65958
|
if (typeof fieldValue === "function")
|
|
@@ -68774,6 +68840,9 @@ function executeGetHtml2(adapter, input) {
|
|
|
68774
68840
|
function executeInfo2(adapter, input) {
|
|
68775
68841
|
return adapter.info(input);
|
|
68776
68842
|
}
|
|
68843
|
+
function executeExtract2(adapter, input) {
|
|
68844
|
+
return adapter.extract(input);
|
|
68845
|
+
}
|
|
68777
68846
|
function executeClearContent2(adapter, input, options) {
|
|
68778
68847
|
return adapter.clearContent(input, options);
|
|
68779
68848
|
}
|
|
@@ -70275,6 +70344,7 @@ function buildDispatchTable2(api) {
|
|
|
70275
70344
|
getHtml: (input) => api.getHtml(input),
|
|
70276
70345
|
markdownToFragment: (input) => api.markdownToFragment(input),
|
|
70277
70346
|
info: (input) => api.info(input),
|
|
70347
|
+
extract: (input) => api.extract(input),
|
|
70278
70348
|
clearContent: (input, options) => api.clearContent(input, options),
|
|
70279
70349
|
insert: (input, options) => api.insert(input, options),
|
|
70280
70350
|
replace: (input, options) => api.replace(input, options),
|
|
@@ -72644,6 +72714,9 @@ function createDocumentApi2(adapters) {
|
|
|
72644
72714
|
info(input) {
|
|
72645
72715
|
return executeInfo2(adapters.info, input);
|
|
72646
72716
|
},
|
|
72717
|
+
extract(input) {
|
|
72718
|
+
return executeExtract2(adapters.extract, input);
|
|
72719
|
+
},
|
|
72647
72720
|
clearContent(input, options) {
|
|
72648
72721
|
return executeClearContent2(adapters.clearContent, input, options);
|
|
72649
72722
|
},
|
|
@@ -117546,7 +117619,7 @@ var isRegExp = (value) => {
|
|
|
117546
117619
|
state.kern = kernNode.attributes["w:val"];
|
|
117547
117620
|
}
|
|
117548
117621
|
}, SuperConverter;
|
|
117549
|
-
var
|
|
117622
|
+
var init_SuperConverter_CorFllow_es = __esm(() => {
|
|
117550
117623
|
init_rolldown_runtime_Bg48TavK_es();
|
|
117551
117624
|
init_jszip_C49i9kUs_es();
|
|
117552
117625
|
init_xml_js_CqGKpaft_es();
|
|
@@ -120688,6 +120761,17 @@ var init_SuperConverter_C87tnocN_es = __esm(() => {
|
|
|
120688
120761
|
intentGroup: "get_content",
|
|
120689
120762
|
intentAction: "info"
|
|
120690
120763
|
},
|
|
120764
|
+
extract: {
|
|
120765
|
+
memberPath: "extract",
|
|
120766
|
+
description: "Extract all document content with stable IDs for RAG pipelines. Returns blocks with full text, comments, and tracked changes — each with an ID compatible with scrollToElement().",
|
|
120767
|
+
expectedResult: "Returns an ExtractResult with blocks (nodeId, type, text, headingLevel), comments (entityId, text, anchoredText, blockId, status, author), tracked changes (entityId, type, excerpt, author, date), and revision.",
|
|
120768
|
+
requiresDocumentContext: true,
|
|
120769
|
+
metadata: readOperation2(),
|
|
120770
|
+
referenceDocPath: "extract.mdx",
|
|
120771
|
+
referenceGroup: "core",
|
|
120772
|
+
intentGroup: "get_content",
|
|
120773
|
+
intentAction: "extract"
|
|
120774
|
+
},
|
|
120691
120775
|
clearContent: {
|
|
120692
120776
|
memberPath: "clearContent",
|
|
120693
120777
|
description: "Clear all document body content, leaving a single empty paragraph.",
|
|
@@ -128576,6 +128660,99 @@ var init_SuperConverter_C87tnocN_es = __esm(() => {
|
|
|
128576
128660
|
"fragment",
|
|
128577
128661
|
"lossy",
|
|
128578
128662
|
"diagnostics"
|
|
128663
|
+
]), objectSchema2({
|
|
128664
|
+
blocks: {
|
|
128665
|
+
type: "array",
|
|
128666
|
+
items: objectSchema2({
|
|
128667
|
+
nodeId: {
|
|
128668
|
+
type: "string",
|
|
128669
|
+
description: "Stable block ID — pass to scrollToElement() for navigation."
|
|
128670
|
+
},
|
|
128671
|
+
type: {
|
|
128672
|
+
type: "string",
|
|
128673
|
+
description: "Block type: paragraph, heading, listItem, table, image, etc."
|
|
128674
|
+
},
|
|
128675
|
+
text: {
|
|
128676
|
+
type: "string",
|
|
128677
|
+
description: "Full plain text content of the block."
|
|
128678
|
+
},
|
|
128679
|
+
headingLevel: {
|
|
128680
|
+
type: "integer",
|
|
128681
|
+
description: "Heading level (1–6). Only present for headings."
|
|
128682
|
+
}
|
|
128683
|
+
}, [
|
|
128684
|
+
"nodeId",
|
|
128685
|
+
"type",
|
|
128686
|
+
"text"
|
|
128687
|
+
])
|
|
128688
|
+
},
|
|
128689
|
+
comments: {
|
|
128690
|
+
type: "array",
|
|
128691
|
+
items: objectSchema2({
|
|
128692
|
+
entityId: {
|
|
128693
|
+
type: "string",
|
|
128694
|
+
description: "Comment entity ID — pass to scrollToElement() for navigation."
|
|
128695
|
+
},
|
|
128696
|
+
text: {
|
|
128697
|
+
type: "string",
|
|
128698
|
+
description: "Comment body text."
|
|
128699
|
+
},
|
|
128700
|
+
anchoredText: {
|
|
128701
|
+
type: "string",
|
|
128702
|
+
description: "The document text the comment is anchored to."
|
|
128703
|
+
},
|
|
128704
|
+
blockId: {
|
|
128705
|
+
type: "string",
|
|
128706
|
+
description: "Block ID the comment is anchored to."
|
|
128707
|
+
},
|
|
128708
|
+
status: {
|
|
128709
|
+
type: "string",
|
|
128710
|
+
enum: ["open", "resolved"]
|
|
128711
|
+
},
|
|
128712
|
+
author: {
|
|
128713
|
+
type: "string",
|
|
128714
|
+
description: "Comment author name."
|
|
128715
|
+
}
|
|
128716
|
+
}, ["entityId", "status"])
|
|
128717
|
+
},
|
|
128718
|
+
trackedChanges: {
|
|
128719
|
+
type: "array",
|
|
128720
|
+
items: objectSchema2({
|
|
128721
|
+
entityId: {
|
|
128722
|
+
type: "string",
|
|
128723
|
+
description: "Tracked change entity ID — pass to scrollToElement() for navigation."
|
|
128724
|
+
},
|
|
128725
|
+
type: {
|
|
128726
|
+
type: "string",
|
|
128727
|
+
enum: [
|
|
128728
|
+
"insert",
|
|
128729
|
+
"delete",
|
|
128730
|
+
"format"
|
|
128731
|
+
]
|
|
128732
|
+
},
|
|
128733
|
+
excerpt: {
|
|
128734
|
+
type: "string",
|
|
128735
|
+
description: "Short text excerpt of the changed content."
|
|
128736
|
+
},
|
|
128737
|
+
author: {
|
|
128738
|
+
type: "string",
|
|
128739
|
+
description: "Change author name."
|
|
128740
|
+
},
|
|
128741
|
+
date: {
|
|
128742
|
+
type: "string",
|
|
128743
|
+
description: "Change date (ISO string)."
|
|
128744
|
+
}
|
|
128745
|
+
}, ["entityId", "type"])
|
|
128746
|
+
},
|
|
128747
|
+
revision: {
|
|
128748
|
+
type: "string",
|
|
128749
|
+
description: "Document revision at the time of extraction."
|
|
128750
|
+
}
|
|
128751
|
+
}, [
|
|
128752
|
+
"blocks",
|
|
128753
|
+
"comments",
|
|
128754
|
+
"trackedChanges",
|
|
128755
|
+
"revision"
|
|
128579
128756
|
]), receiptResultSchemaFor2("clearContent"), receiptFailureResultSchemaFor2("clearContent"), sdMutationResultSchemaFor2("insert"), sdMutationFailureSchemaFor2("insert"), { ...targetLocatorWithPayload2({
|
|
128580
128757
|
in: storyLocatorSchema2,
|
|
128581
128758
|
text: {
|
|
@@ -154638,7 +154815,7 @@ var init_SuperConverter_C87tnocN_es = __esm(() => {
|
|
|
154638
154815
|
};
|
|
154639
154816
|
});
|
|
154640
154817
|
|
|
154641
|
-
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-
|
|
154818
|
+
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-B7Y50cRk.es.js
|
|
154642
154819
|
function parseSizeUnit(val = "0") {
|
|
154643
154820
|
const length3 = val.toString() || "0";
|
|
154644
154821
|
const value = Number.parseFloat(length3);
|
|
@@ -156249,8 +156426,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
|
|
|
156249
156426
|
return false;
|
|
156250
156427
|
return Boolean(checker(attrs));
|
|
156251
156428
|
};
|
|
156252
|
-
var
|
|
156253
|
-
|
|
156429
|
+
var init_create_headless_toolbar_B7Y50cRk_es = __esm(() => {
|
|
156430
|
+
init_SuperConverter_CorFllow_es();
|
|
156254
156431
|
init_constants_CGhJRd87_es();
|
|
156255
156432
|
init_dist_B8HfvhaK_es();
|
|
156256
156433
|
CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
|
|
@@ -204688,7 +204865,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
|
|
|
204688
204865
|
init_remark_gfm_BhnWr3yf_es();
|
|
204689
204866
|
});
|
|
204690
204867
|
|
|
204691
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
204868
|
+
// ../../packages/superdoc/dist/chunks/src-DwJWNVLl.es.js
|
|
204692
204869
|
function deleteProps(obj, propOrProps) {
|
|
204693
204870
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
204694
204871
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -220982,228 +221159,6 @@ function infoAdapter(editor, _input) {
|
|
|
220982
221159
|
defaults: defaults2
|
|
220983
221160
|
};
|
|
220984
221161
|
}
|
|
220985
|
-
function hasCommand(editor, command$1) {
|
|
220986
|
-
return typeof editor.commands?.[command$1] === "function";
|
|
220987
|
-
}
|
|
220988
|
-
function hasAllCommands(editor, operationId) {
|
|
220989
|
-
const required = REQUIRED_COMMANDS[operationId];
|
|
220990
|
-
if (!required || required.length === 0)
|
|
220991
|
-
return true;
|
|
220992
|
-
return required.every((command$1) => hasCommand(editor, command$1));
|
|
220993
|
-
}
|
|
220994
|
-
function hasSchemaNode(editor, ...names) {
|
|
220995
|
-
const nodes = editor.schema?.nodes;
|
|
220996
|
-
if (!nodes)
|
|
220997
|
-
return false;
|
|
220998
|
-
return names.some((n) => Boolean(nodes[n]));
|
|
220999
|
-
}
|
|
221000
|
-
function hasRequiredHelpers(editor, operationId) {
|
|
221001
|
-
const check = REQUIRED_HELPERS[operationId];
|
|
221002
|
-
if (!check)
|
|
221003
|
-
return true;
|
|
221004
|
-
return check(editor);
|
|
221005
|
-
}
|
|
221006
|
-
function hasMarkCapability(editor, markName) {
|
|
221007
|
-
return Boolean(editor.schema?.marks?.[markName]);
|
|
221008
|
-
}
|
|
221009
|
-
function isMarkBackedOperation(operationId) {
|
|
221010
|
-
return operationId === "format.apply" || getInlineAliasKey(operationId) !== undefined;
|
|
221011
|
-
}
|
|
221012
|
-
function getInlineAliasKey(operationId) {
|
|
221013
|
-
if (!operationId.startsWith("format."))
|
|
221014
|
-
return;
|
|
221015
|
-
const key2 = operationId.slice(7);
|
|
221016
|
-
if (INLINE_PROPERTY_KEY_SET2.has(key2))
|
|
221017
|
-
return key2;
|
|
221018
|
-
}
|
|
221019
|
-
function isInlinePropertyAvailable(editor, property) {
|
|
221020
|
-
if (property.storage === "mark") {
|
|
221021
|
-
if (property.carrier.storage !== "mark")
|
|
221022
|
-
return false;
|
|
221023
|
-
const markName = property.carrier.markName;
|
|
221024
|
-
if (!hasMarkCapability(editor, markName))
|
|
221025
|
-
return false;
|
|
221026
|
-
if (markName === "textStyle" && property.carrier.textStyleAttr) {
|
|
221027
|
-
const textStyleMark = editor.schema.marks.textStyle;
|
|
221028
|
-
const markAttrs = textStyleMark?.spec?.attrs ?? textStyleMark?.attrs;
|
|
221029
|
-
if (!markAttrs || !Object.prototype.hasOwnProperty.call(markAttrs, property.carrier.textStyleAttr))
|
|
221030
|
-
return false;
|
|
221031
|
-
}
|
|
221032
|
-
return true;
|
|
221033
|
-
}
|
|
221034
|
-
return Boolean(editor.schema?.nodes?.run);
|
|
221035
|
-
}
|
|
221036
|
-
function hasTrackedModeCapability(editor, operationId) {
|
|
221037
|
-
if (!hasCommand(editor, "insertTrackedChange"))
|
|
221038
|
-
return false;
|
|
221039
|
-
if (!editor.options?.user)
|
|
221040
|
-
return false;
|
|
221041
|
-
const inlineKey2 = getInlineAliasKey(operationId);
|
|
221042
|
-
if (inlineKey2 !== undefined) {
|
|
221043
|
-
if (!INLINE_PROPERTY_BY_KEY2[inlineKey2].tracked)
|
|
221044
|
-
return false;
|
|
221045
|
-
return Boolean(editor.schema?.marks?.[TrackFormatMarkName]);
|
|
221046
|
-
}
|
|
221047
|
-
if (operationId === "format.apply") {
|
|
221048
|
-
if (!editor.schema?.marks?.["trackFormat"])
|
|
221049
|
-
return false;
|
|
221050
|
-
return INLINE_PROPERTY_REGISTRY2.some((property) => property.tracked && isInlinePropertyAvailable(editor, property));
|
|
221051
|
-
}
|
|
221052
|
-
if (isMarkBackedOperation(operationId))
|
|
221053
|
-
return Boolean(editor.schema?.marks?.[TrackFormatMarkName]);
|
|
221054
|
-
return true;
|
|
221055
|
-
}
|
|
221056
|
-
function getNamespaceOperationIds(prefix2) {
|
|
221057
|
-
return Object.keys(REQUIRED_COMMANDS).filter((id2) => id2.startsWith(`${prefix2}.`));
|
|
221058
|
-
}
|
|
221059
|
-
function isCommentsNamespaceEnabled(editor) {
|
|
221060
|
-
return getNamespaceOperationIds("comments").every((id2) => hasAllCommands(editor, id2));
|
|
221061
|
-
}
|
|
221062
|
-
function isListsNamespaceEnabled(editor) {
|
|
221063
|
-
return getNamespaceOperationIds("lists").every((id2) => hasAllCommands(editor, id2));
|
|
221064
|
-
}
|
|
221065
|
-
function isHistoryNamespaceEnabled(editor) {
|
|
221066
|
-
return hasCommand(editor, "undo") && hasCommand(editor, "redo");
|
|
221067
|
-
}
|
|
221068
|
-
function isTrackChangesEnabled(editor) {
|
|
221069
|
-
return hasCommand(editor, "insertTrackedChange") && hasCommand(editor, "acceptTrackedChangeById") && hasCommand(editor, "rejectTrackedChangeById") && hasCommand(editor, "acceptAllTrackedChanges") && hasCommand(editor, "rejectAllTrackedChanges");
|
|
221070
|
-
}
|
|
221071
|
-
function getNamespaceReason(enabled) {
|
|
221072
|
-
return enabled ? undefined : ["NAMESPACE_UNAVAILABLE"];
|
|
221073
|
-
}
|
|
221074
|
-
function pushReason(reasons, reason) {
|
|
221075
|
-
if (!VALID_CAPABILITY_REASON_CODES.has(reason))
|
|
221076
|
-
return;
|
|
221077
|
-
if (!reasons.includes(reason))
|
|
221078
|
-
reasons.push(reason);
|
|
221079
|
-
}
|
|
221080
|
-
function isNonCommandBackedOperation(operationId) {
|
|
221081
|
-
return operationId === "format.apply" || operationId === "styles.apply" || getInlineAliasKey(operationId) !== undefined;
|
|
221082
|
-
}
|
|
221083
|
-
function hasStylesRoot(stylesPart) {
|
|
221084
|
-
return stylesPart?.elements?.some((el) => el.name === "w:styles") === true;
|
|
221085
|
-
}
|
|
221086
|
-
function isStylesApplyAvailable(editor) {
|
|
221087
|
-
const converter = editor.converter;
|
|
221088
|
-
if (!converter?.convertedXml?.["word/styles.xml"])
|
|
221089
|
-
return false;
|
|
221090
|
-
if (!hasStylesRoot(converter.convertedXml["word/styles.xml"]))
|
|
221091
|
-
return false;
|
|
221092
|
-
return true;
|
|
221093
|
-
}
|
|
221094
|
-
function getStylesApplyUnavailableReason(editor) {
|
|
221095
|
-
const converter = editor.converter;
|
|
221096
|
-
if (!converter)
|
|
221097
|
-
return "OPERATION_UNAVAILABLE";
|
|
221098
|
-
if (!converter.convertedXml?.["word/styles.xml"])
|
|
221099
|
-
return "STYLES_PART_MISSING";
|
|
221100
|
-
if (!hasStylesRoot(converter.convertedXml["word/styles.xml"]))
|
|
221101
|
-
return "STYLES_PART_MISSING";
|
|
221102
|
-
}
|
|
221103
|
-
function isOperationAvailable(editor, operationId) {
|
|
221104
|
-
if (operationId === "format.apply")
|
|
221105
|
-
return INLINE_PROPERTY_REGISTRY2.some((property) => isInlinePropertyAvailable(editor, property));
|
|
221106
|
-
const inlineKey2 = getInlineAliasKey(operationId);
|
|
221107
|
-
if (inlineKey2 !== undefined)
|
|
221108
|
-
return isInlinePropertyAvailable(editor, INLINE_PROPERTY_BY_KEY2[inlineKey2]);
|
|
221109
|
-
if (operationId === "styles.apply")
|
|
221110
|
-
return isStylesApplyAvailable(editor);
|
|
221111
|
-
return hasAllCommands(editor, operationId) && hasRequiredHelpers(editor, operationId);
|
|
221112
|
-
}
|
|
221113
|
-
function isCommandBackedAvailability(operationId) {
|
|
221114
|
-
return !isNonCommandBackedOperation(operationId);
|
|
221115
|
-
}
|
|
221116
|
-
function buildOperationCapabilities(editor) {
|
|
221117
|
-
const operations = {};
|
|
221118
|
-
for (const operationId of OPERATION_IDS2) {
|
|
221119
|
-
const metadata = COMMAND_CATALOG3[operationId];
|
|
221120
|
-
const available = isOperationAvailable(editor, operationId);
|
|
221121
|
-
const tracked = available && metadata.supportsTrackedMode && hasTrackedModeCapability(editor, operationId);
|
|
221122
|
-
const dryRun = metadata.supportsDryRun && available;
|
|
221123
|
-
const reasons = [];
|
|
221124
|
-
if (!available) {
|
|
221125
|
-
if (operationId === "styles.apply") {
|
|
221126
|
-
const stylesReason = getStylesApplyUnavailableReason(editor);
|
|
221127
|
-
if (stylesReason)
|
|
221128
|
-
pushReason(reasons, stylesReason);
|
|
221129
|
-
} else if (isCommandBackedAvailability(operationId)) {
|
|
221130
|
-
if (!hasAllCommands(editor, operationId))
|
|
221131
|
-
pushReason(reasons, "COMMAND_UNAVAILABLE");
|
|
221132
|
-
if (!hasRequiredHelpers(editor, operationId))
|
|
221133
|
-
pushReason(reasons, "HELPER_UNAVAILABLE");
|
|
221134
|
-
}
|
|
221135
|
-
pushReason(reasons, "OPERATION_UNAVAILABLE");
|
|
221136
|
-
}
|
|
221137
|
-
if (metadata.supportsTrackedMode && !tracked)
|
|
221138
|
-
pushReason(reasons, "TRACKED_MODE_UNAVAILABLE");
|
|
221139
|
-
if (metadata.supportsDryRun && !dryRun)
|
|
221140
|
-
pushReason(reasons, "DRY_RUN_UNAVAILABLE");
|
|
221141
|
-
operations[operationId] = {
|
|
221142
|
-
available,
|
|
221143
|
-
tracked,
|
|
221144
|
-
dryRun,
|
|
221145
|
-
reasons: reasons.length > 0 ? reasons : undefined
|
|
221146
|
-
};
|
|
221147
|
-
}
|
|
221148
|
-
return operations;
|
|
221149
|
-
}
|
|
221150
|
-
function buildFormatCapabilities(editor) {
|
|
221151
|
-
const trackedInlinePropertiesSupported = hasTrackedModeCapability(editor, "format.apply");
|
|
221152
|
-
const supportedInlineProperties = {};
|
|
221153
|
-
for (const property of INLINE_PROPERTY_REGISTRY2) {
|
|
221154
|
-
const available = isInlinePropertyAvailable(editor, property);
|
|
221155
|
-
supportedInlineProperties[property.key] = {
|
|
221156
|
-
available,
|
|
221157
|
-
tracked: available && property.tracked && trackedInlinePropertiesSupported,
|
|
221158
|
-
type: property.type,
|
|
221159
|
-
storage: property.storage
|
|
221160
|
-
};
|
|
221161
|
-
}
|
|
221162
|
-
return { supportedInlineProperties };
|
|
221163
|
-
}
|
|
221164
|
-
function buildPlanEngineCapabilities() {
|
|
221165
|
-
return {
|
|
221166
|
-
supportedStepOps: PUBLIC_MUTATION_STEP_OP_IDS2,
|
|
221167
|
-
supportedNonUniformStrategies: SUPPORTED_NON_UNIFORM_STRATEGIES,
|
|
221168
|
-
supportedSetMarks: SUPPORTED_SET_MARKS,
|
|
221169
|
-
regex: { maxPatternLength: REGEX_MAX_PATTERN_LENGTH }
|
|
221170
|
-
};
|
|
221171
|
-
}
|
|
221172
|
-
function getDocumentApiCapabilities(editor) {
|
|
221173
|
-
const operations = buildOperationCapabilities(editor);
|
|
221174
|
-
const commentsEnabled = isCommentsNamespaceEnabled(editor);
|
|
221175
|
-
const listsEnabled = isListsNamespaceEnabled(editor);
|
|
221176
|
-
const trackChangesEnabled = isTrackChangesEnabled(editor);
|
|
221177
|
-
const historyEnabled = isHistoryNamespaceEnabled(editor);
|
|
221178
|
-
const dryRunEnabled = OPERATION_IDS2.some((operationId) => operations[operationId].dryRun);
|
|
221179
|
-
return {
|
|
221180
|
-
global: {
|
|
221181
|
-
trackChanges: {
|
|
221182
|
-
enabled: trackChangesEnabled,
|
|
221183
|
-
reasons: getNamespaceReason(trackChangesEnabled)
|
|
221184
|
-
},
|
|
221185
|
-
comments: {
|
|
221186
|
-
enabled: commentsEnabled,
|
|
221187
|
-
reasons: getNamespaceReason(commentsEnabled)
|
|
221188
|
-
},
|
|
221189
|
-
lists: {
|
|
221190
|
-
enabled: listsEnabled,
|
|
221191
|
-
reasons: getNamespaceReason(listsEnabled)
|
|
221192
|
-
},
|
|
221193
|
-
dryRun: {
|
|
221194
|
-
enabled: dryRunEnabled,
|
|
221195
|
-
reasons: dryRunEnabled ? undefined : ["DRY_RUN_UNAVAILABLE"]
|
|
221196
|
-
},
|
|
221197
|
-
history: {
|
|
221198
|
-
enabled: historyEnabled,
|
|
221199
|
-
reasons: getNamespaceReason(historyEnabled)
|
|
221200
|
-
}
|
|
221201
|
-
},
|
|
221202
|
-
format: buildFormatCapabilities(editor),
|
|
221203
|
-
operations,
|
|
221204
|
-
planEngine: buildPlanEngineCapabilities()
|
|
221205
|
-
};
|
|
221206
|
-
}
|
|
221207
221162
|
function registerStepExecutor(opPrefix, executor) {
|
|
221208
221163
|
if (registry.has(opPrefix))
|
|
221209
221164
|
throw new Error(`Step executor already registered for op prefix "${opPrefix}"`);
|
|
@@ -225637,6 +225592,300 @@ function executeStructuralReplaceWrapper(editor, input2, options) {
|
|
|
225637
225592
|
};
|
|
225638
225593
|
}
|
|
225639
225594
|
}
|
|
225595
|
+
function extractTextPreview(node3) {
|
|
225596
|
+
if (!node3.isTextblock)
|
|
225597
|
+
return null;
|
|
225598
|
+
const text5 = node3.textContent;
|
|
225599
|
+
if (text5.length <= TEXT_PREVIEW_MAX_LENGTH)
|
|
225600
|
+
return text5;
|
|
225601
|
+
return text5.slice(0, TEXT_PREVIEW_MAX_LENGTH);
|
|
225602
|
+
}
|
|
225603
|
+
function extractBlockFormatting(node3) {
|
|
225604
|
+
const pProps = node3.attrs.paragraphProperties;
|
|
225605
|
+
const styleId = pProps?.styleId ?? null;
|
|
225606
|
+
let fontFamily;
|
|
225607
|
+
let fontSize;
|
|
225608
|
+
let bold2;
|
|
225609
|
+
let underline;
|
|
225610
|
+
let color2;
|
|
225611
|
+
node3.descendants((child) => {
|
|
225612
|
+
if (fontFamily !== undefined)
|
|
225613
|
+
return false;
|
|
225614
|
+
const marks = child.marks ?? [];
|
|
225615
|
+
if (!child.isText || marks.length === 0)
|
|
225616
|
+
return;
|
|
225617
|
+
for (const mark2 of marks) {
|
|
225618
|
+
const markName = mark2.type.name;
|
|
225619
|
+
const attrs = mark2.attrs;
|
|
225620
|
+
if (markName === "textStyle") {
|
|
225621
|
+
if (typeof attrs.fontFamily === "string" && attrs.fontFamily)
|
|
225622
|
+
fontFamily = attrs.fontFamily;
|
|
225623
|
+
if (attrs.fontSize != null) {
|
|
225624
|
+
const raw = typeof attrs.fontSize === "string" ? parseFloat(attrs.fontSize) : attrs.fontSize;
|
|
225625
|
+
if (typeof raw === "number" && Number.isFinite(raw))
|
|
225626
|
+
fontSize = raw;
|
|
225627
|
+
}
|
|
225628
|
+
if (typeof attrs.color === "string" && attrs.color)
|
|
225629
|
+
color2 = attrs.color;
|
|
225630
|
+
}
|
|
225631
|
+
if (markName === "bold" && attrs.value === true)
|
|
225632
|
+
bold2 = true;
|
|
225633
|
+
if (markName === "underline")
|
|
225634
|
+
underline = true;
|
|
225635
|
+
}
|
|
225636
|
+
return false;
|
|
225637
|
+
});
|
|
225638
|
+
if (color2 === "auto")
|
|
225639
|
+
color2 = undefined;
|
|
225640
|
+
let headingLevel;
|
|
225641
|
+
if (typeof styleId === "string") {
|
|
225642
|
+
const m$1 = HEADING_PATTERN.exec(styleId);
|
|
225643
|
+
if (m$1)
|
|
225644
|
+
headingLevel = parseInt(m$1[1], 10);
|
|
225645
|
+
}
|
|
225646
|
+
return {
|
|
225647
|
+
...styleId ? { styleId } : {},
|
|
225648
|
+
...fontFamily ? { fontFamily } : {},
|
|
225649
|
+
...fontSize !== undefined ? { fontSize } : {},
|
|
225650
|
+
...bold2 ? { bold: bold2 } : {},
|
|
225651
|
+
...underline ? { underline } : {},
|
|
225652
|
+
...color2 ? { color: color2 } : {},
|
|
225653
|
+
...pProps?.justification ? { alignment: pProps.justification } : {},
|
|
225654
|
+
...headingLevel ? { headingLevel } : {}
|
|
225655
|
+
};
|
|
225656
|
+
}
|
|
225657
|
+
function toBlockSummary(candidate, ordinal) {
|
|
225658
|
+
return {
|
|
225659
|
+
ordinal,
|
|
225660
|
+
nodeId: candidate.nodeId,
|
|
225661
|
+
nodeType: candidate.nodeType,
|
|
225662
|
+
textPreview: extractTextPreview(candidate.node)
|
|
225663
|
+
};
|
|
225664
|
+
}
|
|
225665
|
+
function resolveSdBlockId(candidate) {
|
|
225666
|
+
const sdBlockId = candidate.node.attrs?.sdBlockId;
|
|
225667
|
+
if (typeof sdBlockId === "string" && sdBlockId.length > 0)
|
|
225668
|
+
return sdBlockId;
|
|
225669
|
+
throw new DocumentApiAdapterError("INTERNAL_ERROR", "Resolved block candidate is missing sdBlockId attribute. This indicates a schema/extension invariant violation.", { attrs: candidate.node.attrs });
|
|
225670
|
+
}
|
|
225671
|
+
function validateDeleteTargetNodeType(nodeType) {
|
|
225672
|
+
if (REJECTED_DELETE_NODE_TYPES3.has(nodeType))
|
|
225673
|
+
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets. Table row/column operations are out of scope.`, { nodeType });
|
|
225674
|
+
if (!SUPPORTED_DELETE_NODE_TYPES3.has(nodeType))
|
|
225675
|
+
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets.`, { nodeType });
|
|
225676
|
+
}
|
|
225677
|
+
function validateCommandLayerUniqueness(editor, sdBlockId) {
|
|
225678
|
+
const getBlockNodeById = editor.helpers?.blockNode?.getBlockNodeById;
|
|
225679
|
+
if (typeof getBlockNodeById !== "function")
|
|
225680
|
+
throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", "blocks.delete requires the blockNode helper to be registered.", { reason: "missing_helper" });
|
|
225681
|
+
const matches2 = getBlockNodeById(sdBlockId);
|
|
225682
|
+
if (!matches2 || Array.isArray(matches2) && matches2.length === 0)
|
|
225683
|
+
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Block with sdBlockId "${sdBlockId}" was not found at the command layer.`, { sdBlockId });
|
|
225684
|
+
if (Array.isArray(matches2) && matches2.length > 1)
|
|
225685
|
+
throw new DocumentApiAdapterError("AMBIGUOUS_TARGET", `Multiple blocks share sdBlockId "${sdBlockId}" at the command layer.`, {
|
|
225686
|
+
sdBlockId,
|
|
225687
|
+
count: matches2.length
|
|
225688
|
+
});
|
|
225689
|
+
}
|
|
225690
|
+
function collectTopLevelBlocks(editor) {
|
|
225691
|
+
const doc$12 = editor.state.doc;
|
|
225692
|
+
const results = [];
|
|
225693
|
+
let offset$1 = 0;
|
|
225694
|
+
for (let i4 = 0;i4 < doc$12.childCount; i4++) {
|
|
225695
|
+
const child = doc$12.child(i4);
|
|
225696
|
+
const nodeType = mapBlockNodeType(child);
|
|
225697
|
+
const pos = offset$1;
|
|
225698
|
+
if (nodeType) {
|
|
225699
|
+
const nodeId = resolveBlockNodeId(child, pos, nodeType, [i4]);
|
|
225700
|
+
if (nodeId)
|
|
225701
|
+
results.push({
|
|
225702
|
+
node: child,
|
|
225703
|
+
pos,
|
|
225704
|
+
end: pos + child.nodeSize,
|
|
225705
|
+
nodeType,
|
|
225706
|
+
nodeId
|
|
225707
|
+
});
|
|
225708
|
+
}
|
|
225709
|
+
offset$1 += child.nodeSize;
|
|
225710
|
+
}
|
|
225711
|
+
return results;
|
|
225712
|
+
}
|
|
225713
|
+
function blocksListWrapper(editor, input2) {
|
|
225714
|
+
const topLevel = collectTopLevelBlocks(editor);
|
|
225715
|
+
const filtered = input2?.nodeTypes ? topLevel.filter((b$1) => input2.nodeTypes.includes(b$1.nodeType)) : topLevel;
|
|
225716
|
+
const total = filtered.length;
|
|
225717
|
+
const offset$1 = input2?.offset ?? 0;
|
|
225718
|
+
const limit = input2?.limit ?? total;
|
|
225719
|
+
const paged = filtered.slice(offset$1, offset$1 + limit);
|
|
225720
|
+
const rev = getRevision(editor);
|
|
225721
|
+
return {
|
|
225722
|
+
total,
|
|
225723
|
+
blocks: paged.map((candidate, i4) => {
|
|
225724
|
+
const textLength = computeTextContentLength(candidate.node);
|
|
225725
|
+
const ref$1 = textLength > 0 ? encodeV4Ref({
|
|
225726
|
+
v: 4,
|
|
225727
|
+
rev,
|
|
225728
|
+
storyKey: "body",
|
|
225729
|
+
scope: "block",
|
|
225730
|
+
matchId: candidate.nodeId,
|
|
225731
|
+
segments: [{
|
|
225732
|
+
blockId: candidate.nodeId,
|
|
225733
|
+
start: 0,
|
|
225734
|
+
end: textLength
|
|
225735
|
+
}],
|
|
225736
|
+
blockIndex: offset$1 + i4
|
|
225737
|
+
}) : undefined;
|
|
225738
|
+
return {
|
|
225739
|
+
ordinal: offset$1 + i4,
|
|
225740
|
+
nodeId: candidate.nodeId,
|
|
225741
|
+
nodeType: candidate.nodeType,
|
|
225742
|
+
textPreview: extractTextPreview(candidate.node),
|
|
225743
|
+
isEmpty: textLength === 0,
|
|
225744
|
+
...extractBlockFormatting(candidate.node),
|
|
225745
|
+
...ref$1 ? { ref: ref$1 } : {}
|
|
225746
|
+
};
|
|
225747
|
+
}),
|
|
225748
|
+
revision: rev
|
|
225749
|
+
};
|
|
225750
|
+
}
|
|
225751
|
+
function blocksDeleteWrapper(editor, input2, options) {
|
|
225752
|
+
rejectTrackedMode("blocks.delete", options);
|
|
225753
|
+
const candidate = findBlockByIdStrict(getBlockIndex(editor), input2.target);
|
|
225754
|
+
validateDeleteTargetNodeType(candidate.nodeType);
|
|
225755
|
+
const deletedBlock = toBlockSummary(candidate, collectTopLevelBlocks(editor).findIndex((b$1) => b$1.nodeId === candidate.nodeId && b$1.nodeType === candidate.nodeType));
|
|
225756
|
+
const sdBlockId = resolveSdBlockId(candidate);
|
|
225757
|
+
const deleteBlockNodeById = requireEditorCommand(editor.commands?.deleteBlockNodeById, "blocks.delete");
|
|
225758
|
+
validateCommandLayerUniqueness(editor, sdBlockId);
|
|
225759
|
+
if (options?.dryRun)
|
|
225760
|
+
return {
|
|
225761
|
+
success: true,
|
|
225762
|
+
deleted: input2.target,
|
|
225763
|
+
deletedBlock
|
|
225764
|
+
};
|
|
225765
|
+
if (executeDomainCommand(editor, () => {
|
|
225766
|
+
const didApply = deleteBlockNodeById(sdBlockId);
|
|
225767
|
+
if (didApply)
|
|
225768
|
+
clearIndexCache(editor);
|
|
225769
|
+
return didApply;
|
|
225770
|
+
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
225771
|
+
throw new DocumentApiAdapterError("INTERNAL_ERROR", "blocks.delete command returned false despite passing all pre-apply checks. This is an internal invariant violation.", {
|
|
225772
|
+
sdBlockId,
|
|
225773
|
+
target: input2.target
|
|
225774
|
+
});
|
|
225775
|
+
return {
|
|
225776
|
+
success: true,
|
|
225777
|
+
deleted: input2.target,
|
|
225778
|
+
deletedBlock
|
|
225779
|
+
};
|
|
225780
|
+
}
|
|
225781
|
+
function hasSectionBreak(candidate) {
|
|
225782
|
+
const pPr = candidate.node.attrs?.paragraphProperties;
|
|
225783
|
+
return pPr?.sectPr != null && typeof pPr.sectPr === "object";
|
|
225784
|
+
}
|
|
225785
|
+
function resolveTopLevelOrdinal(topLevel, candidate, label) {
|
|
225786
|
+
const idx = topLevel.findIndex((b$1) => b$1.nodeId === candidate.nodeId && b$1.nodeType === candidate.nodeType);
|
|
225787
|
+
if (idx !== -1)
|
|
225788
|
+
return idx;
|
|
225789
|
+
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange ${label} resolved to a nested block (not a direct document child). Only top-level blocks are supported.`, {
|
|
225790
|
+
nodeId: candidate.nodeId,
|
|
225791
|
+
nodeType: candidate.nodeType
|
|
225792
|
+
});
|
|
225793
|
+
}
|
|
225794
|
+
function resolveRangeEndpoint(index2, address2, label) {
|
|
225795
|
+
const key2 = `${address2.nodeType}:${address2.nodeId}`;
|
|
225796
|
+
if (index2.ambiguous.has(key2))
|
|
225797
|
+
throw new DocumentApiAdapterError("AMBIGUOUS_TARGET", `Multiple blocks share key "${key2}".`, { target: address2 });
|
|
225798
|
+
const candidate = index2.byId.get(key2);
|
|
225799
|
+
if (candidate)
|
|
225800
|
+
return candidate;
|
|
225801
|
+
const mismatch = index2.candidates.find((c) => c.nodeId === address2.nodeId);
|
|
225802
|
+
if (mismatch)
|
|
225803
|
+
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange ${label} expected ${address2.nodeType}:${address2.nodeId} but resolved to ${mismatch.nodeType}.`, {
|
|
225804
|
+
expected: address2.nodeType,
|
|
225805
|
+
actual: mismatch.nodeType,
|
|
225806
|
+
nodeId: address2.nodeId
|
|
225807
|
+
});
|
|
225808
|
+
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Block "${key2}" was not found.`, { target: address2 });
|
|
225809
|
+
}
|
|
225810
|
+
function rejectUnmappedNodesInRange(doc$12, rangeBlocks) {
|
|
225811
|
+
if (rangeBlocks.length === 0)
|
|
225812
|
+
return;
|
|
225813
|
+
const rangeFrom = rangeBlocks[0].pos;
|
|
225814
|
+
const rangeTo = rangeBlocks[rangeBlocks.length - 1].end;
|
|
225815
|
+
const recognizedPositions = new Set(rangeBlocks.map((b$1) => b$1.pos));
|
|
225816
|
+
let offset$1 = 0;
|
|
225817
|
+
for (let i4 = 0;i4 < doc$12.childCount; i4++) {
|
|
225818
|
+
const child = doc$12.child(i4);
|
|
225819
|
+
const childEnd = offset$1 + child.nodeSize;
|
|
225820
|
+
if (childEnd > rangeFrom && offset$1 < rangeTo && !recognizedPositions.has(offset$1)) {
|
|
225821
|
+
if (!RANGE_DELETE_SAFE_NODE_TYPES.has(child.type.name))
|
|
225822
|
+
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange cannot delete range: unrecognized node "${child.type.name}" at position ${offset$1} would be silently removed.`, {
|
|
225823
|
+
pmNodeType: child.type.name,
|
|
225824
|
+
pos: offset$1
|
|
225825
|
+
});
|
|
225826
|
+
}
|
|
225827
|
+
offset$1 = childEnd;
|
|
225828
|
+
}
|
|
225829
|
+
}
|
|
225830
|
+
function blocksDeleteRangeWrapper(editor, input2, options) {
|
|
225831
|
+
rejectTrackedMode("blocks.deleteRange", options);
|
|
225832
|
+
const topLevel = collectTopLevelBlocks(editor);
|
|
225833
|
+
const index2 = getBlockIndex(editor);
|
|
225834
|
+
const startCandidate = resolveRangeEndpoint(index2, input2.start, "start");
|
|
225835
|
+
const endCandidate = resolveRangeEndpoint(index2, input2.end, "end");
|
|
225836
|
+
const startOrdinal = resolveTopLevelOrdinal(topLevel, startCandidate, "start");
|
|
225837
|
+
const endOrdinal = resolveTopLevelOrdinal(topLevel, endCandidate, "end");
|
|
225838
|
+
if (startOrdinal > endOrdinal)
|
|
225839
|
+
throw new DocumentApiAdapterError("INVALID_INPUT", `blocks.deleteRange start ordinal (${startOrdinal}) is after end ordinal (${endOrdinal}). The start must precede or equal the end.`, {
|
|
225840
|
+
startOrdinal,
|
|
225841
|
+
endOrdinal
|
|
225842
|
+
});
|
|
225843
|
+
const rangeBlocks = topLevel.slice(startOrdinal, endOrdinal + 1);
|
|
225844
|
+
rejectUnmappedNodesInRange(editor.state.doc, rangeBlocks);
|
|
225845
|
+
for (const block of rangeBlocks)
|
|
225846
|
+
if (hasSectionBreak(block))
|
|
225847
|
+
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange cannot delete a range that includes a section break (block "${block.nodeId}" at ordinal ${topLevel.indexOf(block)}).`, {
|
|
225848
|
+
nodeId: block.nodeId,
|
|
225849
|
+
nodeType: block.nodeType
|
|
225850
|
+
});
|
|
225851
|
+
const deletedBlocks = rangeBlocks.map((c, i4) => toBlockSummary(c, startOrdinal + i4));
|
|
225852
|
+
const revisionBefore = getRevision(editor);
|
|
225853
|
+
if (options?.dryRun)
|
|
225854
|
+
return {
|
|
225855
|
+
success: true,
|
|
225856
|
+
deletedCount: rangeBlocks.length,
|
|
225857
|
+
deletedBlocks,
|
|
225858
|
+
revision: {
|
|
225859
|
+
before: revisionBefore,
|
|
225860
|
+
after: revisionBefore
|
|
225861
|
+
},
|
|
225862
|
+
dryRun: true
|
|
225863
|
+
};
|
|
225864
|
+
const rangeFrom = rangeBlocks[0].pos;
|
|
225865
|
+
const rangeTo = rangeBlocks[rangeBlocks.length - 1].end;
|
|
225866
|
+
if (executeDomainCommand(editor, () => {
|
|
225867
|
+
const tr = editor.state.tr;
|
|
225868
|
+
tr.delete(rangeFrom, rangeTo);
|
|
225869
|
+
editor.dispatch(tr);
|
|
225870
|
+
clearIndexCache(editor);
|
|
225871
|
+
return true;
|
|
225872
|
+
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
225873
|
+
throw new DocumentApiAdapterError("INTERNAL_ERROR", "blocks.deleteRange command returned false despite passing all pre-apply checks.", {
|
|
225874
|
+
start: input2.start,
|
|
225875
|
+
end: input2.end
|
|
225876
|
+
});
|
|
225877
|
+
const revisionAfter = getRevision(editor);
|
|
225878
|
+
return {
|
|
225879
|
+
success: true,
|
|
225880
|
+
deletedCount: rangeBlocks.length,
|
|
225881
|
+
deletedBlocks,
|
|
225882
|
+
revision: {
|
|
225883
|
+
before: revisionBefore,
|
|
225884
|
+
after: revisionAfter
|
|
225885
|
+
},
|
|
225886
|
+
dryRun: false
|
|
225887
|
+
};
|
|
225888
|
+
}
|
|
225640
225889
|
function ensureFallbackStore(editor) {
|
|
225641
225890
|
if (!editor.storage)
|
|
225642
225891
|
editor.storage = {};
|
|
@@ -226467,6 +226716,401 @@ function createCommentsWrapper(editor) {
|
|
|
226467
226716
|
list: (query2) => listCommentsHandler(editor, query2)
|
|
226468
226717
|
};
|
|
226469
226718
|
}
|
|
226719
|
+
function normalizeWordRevisionIds(wordRevisionIds) {
|
|
226720
|
+
if (!wordRevisionIds)
|
|
226721
|
+
return;
|
|
226722
|
+
const normalized = {};
|
|
226723
|
+
if (wordRevisionIds.insert)
|
|
226724
|
+
normalized.insert = wordRevisionIds.insert;
|
|
226725
|
+
if (wordRevisionIds.delete)
|
|
226726
|
+
normalized.delete = wordRevisionIds.delete;
|
|
226727
|
+
if (wordRevisionIds.format)
|
|
226728
|
+
normalized.format = wordRevisionIds.format;
|
|
226729
|
+
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
226730
|
+
}
|
|
226731
|
+
function buildTrackChangeInfo(editor, change) {
|
|
226732
|
+
const excerpt = normalizeExcerpt(editor.state.doc.textBetween(change.from, change.to, " ", ""));
|
|
226733
|
+
const type = resolveTrackedChangeType(change);
|
|
226734
|
+
return {
|
|
226735
|
+
address: {
|
|
226736
|
+
kind: "entity",
|
|
226737
|
+
entityType: "trackedChange",
|
|
226738
|
+
entityId: change.id
|
|
226739
|
+
},
|
|
226740
|
+
id: change.id,
|
|
226741
|
+
type,
|
|
226742
|
+
wordRevisionIds: normalizeWordRevisionIds(change.wordRevisionIds),
|
|
226743
|
+
author: toNonEmptyString(change.attrs.author),
|
|
226744
|
+
authorEmail: toNonEmptyString(change.attrs.authorEmail),
|
|
226745
|
+
authorImage: toNonEmptyString(change.attrs.authorImage),
|
|
226746
|
+
date: toNonEmptyString(change.attrs.date),
|
|
226747
|
+
excerpt
|
|
226748
|
+
};
|
|
226749
|
+
}
|
|
226750
|
+
function filterByType(changes, requestedType) {
|
|
226751
|
+
if (!requestedType)
|
|
226752
|
+
return changes;
|
|
226753
|
+
return changes.filter((change) => resolveTrackedChangeType(change) === requestedType);
|
|
226754
|
+
}
|
|
226755
|
+
function requireTrackChangeById(editor, id2) {
|
|
226756
|
+
const change = resolveTrackedChange(editor, id2);
|
|
226757
|
+
if (change)
|
|
226758
|
+
return change;
|
|
226759
|
+
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Tracked change "${id2}" was not found.`, { id: id2 });
|
|
226760
|
+
}
|
|
226761
|
+
function toNoOpReceipt(message, details) {
|
|
226762
|
+
return {
|
|
226763
|
+
success: false,
|
|
226764
|
+
failure: {
|
|
226765
|
+
code: "NO_OP",
|
|
226766
|
+
message,
|
|
226767
|
+
details
|
|
226768
|
+
}
|
|
226769
|
+
};
|
|
226770
|
+
}
|
|
226771
|
+
function trackChangesListWrapper(editor, input2) {
|
|
226772
|
+
const query2 = input2;
|
|
226773
|
+
validatePaginationInput(query2?.offset, query2?.limit);
|
|
226774
|
+
const paged = paginate(filterByType(groupTrackedChanges(editor), query2?.type), query2?.offset, query2?.limit);
|
|
226775
|
+
const evaluatedRevision = getRevision(editor);
|
|
226776
|
+
const items = paged.items.map((change) => {
|
|
226777
|
+
const info = buildTrackChangeInfo(editor, change);
|
|
226778
|
+
const handle3 = buildResolvedHandle(`tc:${info.id}`, "stable", "trackedChange");
|
|
226779
|
+
const { address: address2, type, wordRevisionIds, author, authorEmail, authorImage, date, excerpt } = info;
|
|
226780
|
+
return buildDiscoveryItem(info.id, handle3, {
|
|
226781
|
+
address: address2,
|
|
226782
|
+
type,
|
|
226783
|
+
wordRevisionIds,
|
|
226784
|
+
author,
|
|
226785
|
+
authorEmail,
|
|
226786
|
+
authorImage,
|
|
226787
|
+
date,
|
|
226788
|
+
excerpt
|
|
226789
|
+
});
|
|
226790
|
+
});
|
|
226791
|
+
return buildDiscoveryResult({
|
|
226792
|
+
evaluatedRevision,
|
|
226793
|
+
total: paged.total,
|
|
226794
|
+
items,
|
|
226795
|
+
page: {
|
|
226796
|
+
limit: query2?.limit ?? paged.total,
|
|
226797
|
+
offset: query2?.offset ?? 0,
|
|
226798
|
+
returned: items.length
|
|
226799
|
+
}
|
|
226800
|
+
});
|
|
226801
|
+
}
|
|
226802
|
+
function trackChangesGetWrapper(editor, input2) {
|
|
226803
|
+
const { id: id2 } = input2;
|
|
226804
|
+
return buildTrackChangeInfo(editor, requireTrackChangeById(editor, id2));
|
|
226805
|
+
}
|
|
226806
|
+
function trackChangesAcceptWrapper(editor, input2, options) {
|
|
226807
|
+
const { id: id2 } = input2;
|
|
226808
|
+
const change = requireTrackChangeById(editor, id2);
|
|
226809
|
+
const acceptById = requireEditorCommand(editor.commands?.acceptTrackedChangeById, "Accept tracked change");
|
|
226810
|
+
if (executeDomainCommand(editor, () => Boolean(acceptById(change.rawId)), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
226811
|
+
return toNoOpReceipt(`Accept tracked change "${id2}" produced no change.`, { id: id2 });
|
|
226812
|
+
return { success: true };
|
|
226813
|
+
}
|
|
226814
|
+
function trackChangesRejectWrapper(editor, input2, options) {
|
|
226815
|
+
const { id: id2 } = input2;
|
|
226816
|
+
const change = requireTrackChangeById(editor, id2);
|
|
226817
|
+
const rejectById = requireEditorCommand(editor.commands?.rejectTrackedChangeById, "Reject tracked change");
|
|
226818
|
+
if (executeDomainCommand(editor, () => Boolean(rejectById(change.rawId)), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
226819
|
+
return toNoOpReceipt(`Reject tracked change "${id2}" produced no change.`, { id: id2 });
|
|
226820
|
+
return { success: true };
|
|
226821
|
+
}
|
|
226822
|
+
function trackChangesAcceptAllWrapper(editor, _input, options) {
|
|
226823
|
+
const acceptAll = requireEditorCommand(editor.commands?.acceptAllTrackedChanges, "Accept all tracked changes");
|
|
226824
|
+
if (groupTrackedChanges(editor).length === 0)
|
|
226825
|
+
return toNoOpReceipt("Accept all tracked changes produced no change.");
|
|
226826
|
+
if (executeDomainCommand(editor, () => Boolean(acceptAll()), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
226827
|
+
return toNoOpReceipt("Accept all tracked changes produced no change.");
|
|
226828
|
+
return { success: true };
|
|
226829
|
+
}
|
|
226830
|
+
function trackChangesRejectAllWrapper(editor, _input, options) {
|
|
226831
|
+
const rejectAll = requireEditorCommand(editor.commands?.rejectAllTrackedChanges, "Reject all tracked changes");
|
|
226832
|
+
if (groupTrackedChanges(editor).length === 0)
|
|
226833
|
+
return toNoOpReceipt("Reject all tracked changes produced no change.");
|
|
226834
|
+
if (executeDomainCommand(editor, () => Boolean(rejectAll()), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
226835
|
+
return toNoOpReceipt("Reject all tracked changes produced no change.");
|
|
226836
|
+
return { success: true };
|
|
226837
|
+
}
|
|
226838
|
+
function collectBlocks(editor) {
|
|
226839
|
+
return collectTopLevelBlocks(editor).map((candidate) => {
|
|
226840
|
+
const pProps = candidate.node.attrs.paragraphProperties;
|
|
226841
|
+
const headingLevel = getHeadingLevel(pProps?.styleId);
|
|
226842
|
+
const block = {
|
|
226843
|
+
nodeId: candidate.nodeId,
|
|
226844
|
+
type: candidate.nodeType,
|
|
226845
|
+
text: candidate.node.textContent
|
|
226846
|
+
};
|
|
226847
|
+
if (headingLevel !== undefined)
|
|
226848
|
+
block.headingLevel = headingLevel;
|
|
226849
|
+
return block;
|
|
226850
|
+
});
|
|
226851
|
+
}
|
|
226852
|
+
function collectComments(editor) {
|
|
226853
|
+
return createCommentsWrapper(editor).list({ includeResolved: true }).items.map((item) => {
|
|
226854
|
+
const comment2 = {
|
|
226855
|
+
entityId: item.address.entityId,
|
|
226856
|
+
status: item.status
|
|
226857
|
+
};
|
|
226858
|
+
if (item.text)
|
|
226859
|
+
comment2.text = item.text;
|
|
226860
|
+
if (item.anchoredText)
|
|
226861
|
+
comment2.anchoredText = item.anchoredText;
|
|
226862
|
+
if (item.target?.segments?.[0]?.blockId)
|
|
226863
|
+
comment2.blockId = item.target.segments[0].blockId;
|
|
226864
|
+
if (item.creatorName)
|
|
226865
|
+
comment2.author = item.creatorName;
|
|
226866
|
+
return comment2;
|
|
226867
|
+
});
|
|
226868
|
+
}
|
|
226869
|
+
function collectTrackedChanges$1(editor) {
|
|
226870
|
+
return trackChangesListWrapper(editor).items.map((item) => {
|
|
226871
|
+
const tc = {
|
|
226872
|
+
entityId: item.address.entityId,
|
|
226873
|
+
type: item.type
|
|
226874
|
+
};
|
|
226875
|
+
if (item.excerpt)
|
|
226876
|
+
tc.excerpt = item.excerpt;
|
|
226877
|
+
if (item.author)
|
|
226878
|
+
tc.author = item.author;
|
|
226879
|
+
if (item.date)
|
|
226880
|
+
tc.date = item.date;
|
|
226881
|
+
return tc;
|
|
226882
|
+
});
|
|
226883
|
+
}
|
|
226884
|
+
function extractAdapter(editor, _input) {
|
|
226885
|
+
return {
|
|
226886
|
+
blocks: collectBlocks(editor),
|
|
226887
|
+
comments: collectComments(editor),
|
|
226888
|
+
trackedChanges: collectTrackedChanges$1(editor),
|
|
226889
|
+
revision: getRevision(editor)
|
|
226890
|
+
};
|
|
226891
|
+
}
|
|
226892
|
+
function hasCommand(editor, command$1) {
|
|
226893
|
+
return typeof editor.commands?.[command$1] === "function";
|
|
226894
|
+
}
|
|
226895
|
+
function hasAllCommands(editor, operationId) {
|
|
226896
|
+
const required = REQUIRED_COMMANDS[operationId];
|
|
226897
|
+
if (!required || required.length === 0)
|
|
226898
|
+
return true;
|
|
226899
|
+
return required.every((command$1) => hasCommand(editor, command$1));
|
|
226900
|
+
}
|
|
226901
|
+
function hasSchemaNode(editor, ...names) {
|
|
226902
|
+
const nodes = editor.schema?.nodes;
|
|
226903
|
+
if (!nodes)
|
|
226904
|
+
return false;
|
|
226905
|
+
return names.some((n) => Boolean(nodes[n]));
|
|
226906
|
+
}
|
|
226907
|
+
function hasRequiredHelpers(editor, operationId) {
|
|
226908
|
+
const check = REQUIRED_HELPERS[operationId];
|
|
226909
|
+
if (!check)
|
|
226910
|
+
return true;
|
|
226911
|
+
return check(editor);
|
|
226912
|
+
}
|
|
226913
|
+
function hasMarkCapability(editor, markName) {
|
|
226914
|
+
return Boolean(editor.schema?.marks?.[markName]);
|
|
226915
|
+
}
|
|
226916
|
+
function isMarkBackedOperation(operationId) {
|
|
226917
|
+
return operationId === "format.apply" || getInlineAliasKey(operationId) !== undefined;
|
|
226918
|
+
}
|
|
226919
|
+
function getInlineAliasKey(operationId) {
|
|
226920
|
+
if (!operationId.startsWith("format."))
|
|
226921
|
+
return;
|
|
226922
|
+
const key2 = operationId.slice(7);
|
|
226923
|
+
if (INLINE_PROPERTY_KEY_SET2.has(key2))
|
|
226924
|
+
return key2;
|
|
226925
|
+
}
|
|
226926
|
+
function isInlinePropertyAvailable(editor, property) {
|
|
226927
|
+
if (property.storage === "mark") {
|
|
226928
|
+
if (property.carrier.storage !== "mark")
|
|
226929
|
+
return false;
|
|
226930
|
+
const markName = property.carrier.markName;
|
|
226931
|
+
if (!hasMarkCapability(editor, markName))
|
|
226932
|
+
return false;
|
|
226933
|
+
if (markName === "textStyle" && property.carrier.textStyleAttr) {
|
|
226934
|
+
const textStyleMark = editor.schema.marks.textStyle;
|
|
226935
|
+
const markAttrs = textStyleMark?.spec?.attrs ?? textStyleMark?.attrs;
|
|
226936
|
+
if (!markAttrs || !Object.prototype.hasOwnProperty.call(markAttrs, property.carrier.textStyleAttr))
|
|
226937
|
+
return false;
|
|
226938
|
+
}
|
|
226939
|
+
return true;
|
|
226940
|
+
}
|
|
226941
|
+
return Boolean(editor.schema?.nodes?.run);
|
|
226942
|
+
}
|
|
226943
|
+
function hasTrackedModeCapability(editor, operationId) {
|
|
226944
|
+
if (!hasCommand(editor, "insertTrackedChange"))
|
|
226945
|
+
return false;
|
|
226946
|
+
if (!editor.options?.user)
|
|
226947
|
+
return false;
|
|
226948
|
+
const inlineKey2 = getInlineAliasKey(operationId);
|
|
226949
|
+
if (inlineKey2 !== undefined) {
|
|
226950
|
+
if (!INLINE_PROPERTY_BY_KEY2[inlineKey2].tracked)
|
|
226951
|
+
return false;
|
|
226952
|
+
return Boolean(editor.schema?.marks?.[TrackFormatMarkName]);
|
|
226953
|
+
}
|
|
226954
|
+
if (operationId === "format.apply") {
|
|
226955
|
+
if (!editor.schema?.marks?.["trackFormat"])
|
|
226956
|
+
return false;
|
|
226957
|
+
return INLINE_PROPERTY_REGISTRY2.some((property) => property.tracked && isInlinePropertyAvailable(editor, property));
|
|
226958
|
+
}
|
|
226959
|
+
if (isMarkBackedOperation(operationId))
|
|
226960
|
+
return Boolean(editor.schema?.marks?.[TrackFormatMarkName]);
|
|
226961
|
+
return true;
|
|
226962
|
+
}
|
|
226963
|
+
function getNamespaceOperationIds(prefix2) {
|
|
226964
|
+
return Object.keys(REQUIRED_COMMANDS).filter((id2) => id2.startsWith(`${prefix2}.`));
|
|
226965
|
+
}
|
|
226966
|
+
function isCommentsNamespaceEnabled(editor) {
|
|
226967
|
+
return getNamespaceOperationIds("comments").every((id2) => hasAllCommands(editor, id2));
|
|
226968
|
+
}
|
|
226969
|
+
function isListsNamespaceEnabled(editor) {
|
|
226970
|
+
return getNamespaceOperationIds("lists").every((id2) => hasAllCommands(editor, id2));
|
|
226971
|
+
}
|
|
226972
|
+
function isHistoryNamespaceEnabled(editor) {
|
|
226973
|
+
return hasCommand(editor, "undo") && hasCommand(editor, "redo");
|
|
226974
|
+
}
|
|
226975
|
+
function isTrackChangesEnabled(editor) {
|
|
226976
|
+
return hasCommand(editor, "insertTrackedChange") && hasCommand(editor, "acceptTrackedChangeById") && hasCommand(editor, "rejectTrackedChangeById") && hasCommand(editor, "acceptAllTrackedChanges") && hasCommand(editor, "rejectAllTrackedChanges");
|
|
226977
|
+
}
|
|
226978
|
+
function getNamespaceReason(enabled) {
|
|
226979
|
+
return enabled ? undefined : ["NAMESPACE_UNAVAILABLE"];
|
|
226980
|
+
}
|
|
226981
|
+
function pushReason(reasons, reason) {
|
|
226982
|
+
if (!VALID_CAPABILITY_REASON_CODES.has(reason))
|
|
226983
|
+
return;
|
|
226984
|
+
if (!reasons.includes(reason))
|
|
226985
|
+
reasons.push(reason);
|
|
226986
|
+
}
|
|
226987
|
+
function isNonCommandBackedOperation(operationId) {
|
|
226988
|
+
return operationId === "format.apply" || operationId === "styles.apply" || getInlineAliasKey(operationId) !== undefined;
|
|
226989
|
+
}
|
|
226990
|
+
function hasStylesRoot(stylesPart) {
|
|
226991
|
+
return stylesPart?.elements?.some((el) => el.name === "w:styles") === true;
|
|
226992
|
+
}
|
|
226993
|
+
function isStylesApplyAvailable(editor) {
|
|
226994
|
+
const converter = editor.converter;
|
|
226995
|
+
if (!converter?.convertedXml?.["word/styles.xml"])
|
|
226996
|
+
return false;
|
|
226997
|
+
if (!hasStylesRoot(converter.convertedXml["word/styles.xml"]))
|
|
226998
|
+
return false;
|
|
226999
|
+
return true;
|
|
227000
|
+
}
|
|
227001
|
+
function getStylesApplyUnavailableReason(editor) {
|
|
227002
|
+
const converter = editor.converter;
|
|
227003
|
+
if (!converter)
|
|
227004
|
+
return "OPERATION_UNAVAILABLE";
|
|
227005
|
+
if (!converter.convertedXml?.["word/styles.xml"])
|
|
227006
|
+
return "STYLES_PART_MISSING";
|
|
227007
|
+
if (!hasStylesRoot(converter.convertedXml["word/styles.xml"]))
|
|
227008
|
+
return "STYLES_PART_MISSING";
|
|
227009
|
+
}
|
|
227010
|
+
function isOperationAvailable(editor, operationId) {
|
|
227011
|
+
if (operationId === "format.apply")
|
|
227012
|
+
return INLINE_PROPERTY_REGISTRY2.some((property) => isInlinePropertyAvailable(editor, property));
|
|
227013
|
+
const inlineKey2 = getInlineAliasKey(operationId);
|
|
227014
|
+
if (inlineKey2 !== undefined)
|
|
227015
|
+
return isInlinePropertyAvailable(editor, INLINE_PROPERTY_BY_KEY2[inlineKey2]);
|
|
227016
|
+
if (operationId === "styles.apply")
|
|
227017
|
+
return isStylesApplyAvailable(editor);
|
|
227018
|
+
return hasAllCommands(editor, operationId) && hasRequiredHelpers(editor, operationId);
|
|
227019
|
+
}
|
|
227020
|
+
function isCommandBackedAvailability(operationId) {
|
|
227021
|
+
return !isNonCommandBackedOperation(operationId);
|
|
227022
|
+
}
|
|
227023
|
+
function buildOperationCapabilities(editor) {
|
|
227024
|
+
const operations = {};
|
|
227025
|
+
for (const operationId of OPERATION_IDS2) {
|
|
227026
|
+
const metadata = COMMAND_CATALOG3[operationId];
|
|
227027
|
+
const available = isOperationAvailable(editor, operationId);
|
|
227028
|
+
const tracked = available && metadata.supportsTrackedMode && hasTrackedModeCapability(editor, operationId);
|
|
227029
|
+
const dryRun = metadata.supportsDryRun && available;
|
|
227030
|
+
const reasons = [];
|
|
227031
|
+
if (!available) {
|
|
227032
|
+
if (operationId === "styles.apply") {
|
|
227033
|
+
const stylesReason = getStylesApplyUnavailableReason(editor);
|
|
227034
|
+
if (stylesReason)
|
|
227035
|
+
pushReason(reasons, stylesReason);
|
|
227036
|
+
} else if (isCommandBackedAvailability(operationId)) {
|
|
227037
|
+
if (!hasAllCommands(editor, operationId))
|
|
227038
|
+
pushReason(reasons, "COMMAND_UNAVAILABLE");
|
|
227039
|
+
if (!hasRequiredHelpers(editor, operationId))
|
|
227040
|
+
pushReason(reasons, "HELPER_UNAVAILABLE");
|
|
227041
|
+
}
|
|
227042
|
+
pushReason(reasons, "OPERATION_UNAVAILABLE");
|
|
227043
|
+
}
|
|
227044
|
+
if (metadata.supportsTrackedMode && !tracked)
|
|
227045
|
+
pushReason(reasons, "TRACKED_MODE_UNAVAILABLE");
|
|
227046
|
+
if (metadata.supportsDryRun && !dryRun)
|
|
227047
|
+
pushReason(reasons, "DRY_RUN_UNAVAILABLE");
|
|
227048
|
+
operations[operationId] = {
|
|
227049
|
+
available,
|
|
227050
|
+
tracked,
|
|
227051
|
+
dryRun,
|
|
227052
|
+
reasons: reasons.length > 0 ? reasons : undefined
|
|
227053
|
+
};
|
|
227054
|
+
}
|
|
227055
|
+
return operations;
|
|
227056
|
+
}
|
|
227057
|
+
function buildFormatCapabilities(editor) {
|
|
227058
|
+
const trackedInlinePropertiesSupported = hasTrackedModeCapability(editor, "format.apply");
|
|
227059
|
+
const supportedInlineProperties = {};
|
|
227060
|
+
for (const property of INLINE_PROPERTY_REGISTRY2) {
|
|
227061
|
+
const available = isInlinePropertyAvailable(editor, property);
|
|
227062
|
+
supportedInlineProperties[property.key] = {
|
|
227063
|
+
available,
|
|
227064
|
+
tracked: available && property.tracked && trackedInlinePropertiesSupported,
|
|
227065
|
+
type: property.type,
|
|
227066
|
+
storage: property.storage
|
|
227067
|
+
};
|
|
227068
|
+
}
|
|
227069
|
+
return { supportedInlineProperties };
|
|
227070
|
+
}
|
|
227071
|
+
function buildPlanEngineCapabilities() {
|
|
227072
|
+
return {
|
|
227073
|
+
supportedStepOps: PUBLIC_MUTATION_STEP_OP_IDS2,
|
|
227074
|
+
supportedNonUniformStrategies: SUPPORTED_NON_UNIFORM_STRATEGIES,
|
|
227075
|
+
supportedSetMarks: SUPPORTED_SET_MARKS,
|
|
227076
|
+
regex: { maxPatternLength: REGEX_MAX_PATTERN_LENGTH }
|
|
227077
|
+
};
|
|
227078
|
+
}
|
|
227079
|
+
function getDocumentApiCapabilities(editor) {
|
|
227080
|
+
const operations = buildOperationCapabilities(editor);
|
|
227081
|
+
const commentsEnabled = isCommentsNamespaceEnabled(editor);
|
|
227082
|
+
const listsEnabled = isListsNamespaceEnabled(editor);
|
|
227083
|
+
const trackChangesEnabled = isTrackChangesEnabled(editor);
|
|
227084
|
+
const historyEnabled = isHistoryNamespaceEnabled(editor);
|
|
227085
|
+
const dryRunEnabled = OPERATION_IDS2.some((operationId) => operations[operationId].dryRun);
|
|
227086
|
+
return {
|
|
227087
|
+
global: {
|
|
227088
|
+
trackChanges: {
|
|
227089
|
+
enabled: trackChangesEnabled,
|
|
227090
|
+
reasons: getNamespaceReason(trackChangesEnabled)
|
|
227091
|
+
},
|
|
227092
|
+
comments: {
|
|
227093
|
+
enabled: commentsEnabled,
|
|
227094
|
+
reasons: getNamespaceReason(commentsEnabled)
|
|
227095
|
+
},
|
|
227096
|
+
lists: {
|
|
227097
|
+
enabled: listsEnabled,
|
|
227098
|
+
reasons: getNamespaceReason(listsEnabled)
|
|
227099
|
+
},
|
|
227100
|
+
dryRun: {
|
|
227101
|
+
enabled: dryRunEnabled,
|
|
227102
|
+
reasons: dryRunEnabled ? undefined : ["DRY_RUN_UNAVAILABLE"]
|
|
227103
|
+
},
|
|
227104
|
+
history: {
|
|
227105
|
+
enabled: historyEnabled,
|
|
227106
|
+
reasons: getNamespaceReason(historyEnabled)
|
|
227107
|
+
}
|
|
227108
|
+
},
|
|
227109
|
+
format: buildFormatCapabilities(editor),
|
|
227110
|
+
operations,
|
|
227111
|
+
planEngine: buildPlanEngineCapabilities()
|
|
227112
|
+
};
|
|
227113
|
+
}
|
|
226470
227114
|
function isDocumentEmpty(editor) {
|
|
226471
227115
|
const { doc: doc$12 } = editor.state;
|
|
226472
227116
|
if (doc$12.childCount !== 1)
|
|
@@ -227074,125 +227718,6 @@ function paragraphsClearDirectionWrapper(editor, input2, options) {
|
|
|
227074
227718
|
return result;
|
|
227075
227719
|
}, options);
|
|
227076
227720
|
}
|
|
227077
|
-
function normalizeWordRevisionIds(wordRevisionIds) {
|
|
227078
|
-
if (!wordRevisionIds)
|
|
227079
|
-
return;
|
|
227080
|
-
const normalized = {};
|
|
227081
|
-
if (wordRevisionIds.insert)
|
|
227082
|
-
normalized.insert = wordRevisionIds.insert;
|
|
227083
|
-
if (wordRevisionIds.delete)
|
|
227084
|
-
normalized.delete = wordRevisionIds.delete;
|
|
227085
|
-
if (wordRevisionIds.format)
|
|
227086
|
-
normalized.format = wordRevisionIds.format;
|
|
227087
|
-
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
227088
|
-
}
|
|
227089
|
-
function buildTrackChangeInfo(editor, change) {
|
|
227090
|
-
const excerpt = normalizeExcerpt(editor.state.doc.textBetween(change.from, change.to, " ", ""));
|
|
227091
|
-
const type = resolveTrackedChangeType(change);
|
|
227092
|
-
return {
|
|
227093
|
-
address: {
|
|
227094
|
-
kind: "entity",
|
|
227095
|
-
entityType: "trackedChange",
|
|
227096
|
-
entityId: change.id
|
|
227097
|
-
},
|
|
227098
|
-
id: change.id,
|
|
227099
|
-
type,
|
|
227100
|
-
wordRevisionIds: normalizeWordRevisionIds(change.wordRevisionIds),
|
|
227101
|
-
author: toNonEmptyString(change.attrs.author),
|
|
227102
|
-
authorEmail: toNonEmptyString(change.attrs.authorEmail),
|
|
227103
|
-
authorImage: toNonEmptyString(change.attrs.authorImage),
|
|
227104
|
-
date: toNonEmptyString(change.attrs.date),
|
|
227105
|
-
excerpt
|
|
227106
|
-
};
|
|
227107
|
-
}
|
|
227108
|
-
function filterByType(changes, requestedType) {
|
|
227109
|
-
if (!requestedType)
|
|
227110
|
-
return changes;
|
|
227111
|
-
return changes.filter((change) => resolveTrackedChangeType(change) === requestedType);
|
|
227112
|
-
}
|
|
227113
|
-
function requireTrackChangeById(editor, id2) {
|
|
227114
|
-
const change = resolveTrackedChange(editor, id2);
|
|
227115
|
-
if (change)
|
|
227116
|
-
return change;
|
|
227117
|
-
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Tracked change "${id2}" was not found.`, { id: id2 });
|
|
227118
|
-
}
|
|
227119
|
-
function toNoOpReceipt(message, details) {
|
|
227120
|
-
return {
|
|
227121
|
-
success: false,
|
|
227122
|
-
failure: {
|
|
227123
|
-
code: "NO_OP",
|
|
227124
|
-
message,
|
|
227125
|
-
details
|
|
227126
|
-
}
|
|
227127
|
-
};
|
|
227128
|
-
}
|
|
227129
|
-
function trackChangesListWrapper(editor, input2) {
|
|
227130
|
-
const query2 = input2;
|
|
227131
|
-
validatePaginationInput(query2?.offset, query2?.limit);
|
|
227132
|
-
const paged = paginate(filterByType(groupTrackedChanges(editor), query2?.type), query2?.offset, query2?.limit);
|
|
227133
|
-
const evaluatedRevision = getRevision(editor);
|
|
227134
|
-
const items = paged.items.map((change) => {
|
|
227135
|
-
const info = buildTrackChangeInfo(editor, change);
|
|
227136
|
-
const handle3 = buildResolvedHandle(`tc:${info.id}`, "stable", "trackedChange");
|
|
227137
|
-
const { address: address2, type, wordRevisionIds, author, authorEmail, authorImage, date, excerpt } = info;
|
|
227138
|
-
return buildDiscoveryItem(info.id, handle3, {
|
|
227139
|
-
address: address2,
|
|
227140
|
-
type,
|
|
227141
|
-
wordRevisionIds,
|
|
227142
|
-
author,
|
|
227143
|
-
authorEmail,
|
|
227144
|
-
authorImage,
|
|
227145
|
-
date,
|
|
227146
|
-
excerpt
|
|
227147
|
-
});
|
|
227148
|
-
});
|
|
227149
|
-
return buildDiscoveryResult({
|
|
227150
|
-
evaluatedRevision,
|
|
227151
|
-
total: paged.total,
|
|
227152
|
-
items,
|
|
227153
|
-
page: {
|
|
227154
|
-
limit: query2?.limit ?? paged.total,
|
|
227155
|
-
offset: query2?.offset ?? 0,
|
|
227156
|
-
returned: items.length
|
|
227157
|
-
}
|
|
227158
|
-
});
|
|
227159
|
-
}
|
|
227160
|
-
function trackChangesGetWrapper(editor, input2) {
|
|
227161
|
-
const { id: id2 } = input2;
|
|
227162
|
-
return buildTrackChangeInfo(editor, requireTrackChangeById(editor, id2));
|
|
227163
|
-
}
|
|
227164
|
-
function trackChangesAcceptWrapper(editor, input2, options) {
|
|
227165
|
-
const { id: id2 } = input2;
|
|
227166
|
-
const change = requireTrackChangeById(editor, id2);
|
|
227167
|
-
const acceptById = requireEditorCommand(editor.commands?.acceptTrackedChangeById, "Accept tracked change");
|
|
227168
|
-
if (executeDomainCommand(editor, () => Boolean(acceptById(change.rawId)), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
227169
|
-
return toNoOpReceipt(`Accept tracked change "${id2}" produced no change.`, { id: id2 });
|
|
227170
|
-
return { success: true };
|
|
227171
|
-
}
|
|
227172
|
-
function trackChangesRejectWrapper(editor, input2, options) {
|
|
227173
|
-
const { id: id2 } = input2;
|
|
227174
|
-
const change = requireTrackChangeById(editor, id2);
|
|
227175
|
-
const rejectById = requireEditorCommand(editor.commands?.rejectTrackedChangeById, "Reject tracked change");
|
|
227176
|
-
if (executeDomainCommand(editor, () => Boolean(rejectById(change.rawId)), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
227177
|
-
return toNoOpReceipt(`Reject tracked change "${id2}" produced no change.`, { id: id2 });
|
|
227178
|
-
return { success: true };
|
|
227179
|
-
}
|
|
227180
|
-
function trackChangesAcceptAllWrapper(editor, _input, options) {
|
|
227181
|
-
const acceptAll = requireEditorCommand(editor.commands?.acceptAllTrackedChanges, "Accept all tracked changes");
|
|
227182
|
-
if (groupTrackedChanges(editor).length === 0)
|
|
227183
|
-
return toNoOpReceipt("Accept all tracked changes produced no change.");
|
|
227184
|
-
if (executeDomainCommand(editor, () => Boolean(acceptAll()), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
227185
|
-
return toNoOpReceipt("Accept all tracked changes produced no change.");
|
|
227186
|
-
return { success: true };
|
|
227187
|
-
}
|
|
227188
|
-
function trackChangesRejectAllWrapper(editor, _input, options) {
|
|
227189
|
-
const rejectAll = requireEditorCommand(editor.commands?.rejectAllTrackedChanges, "Reject all tracked changes");
|
|
227190
|
-
if (groupTrackedChanges(editor).length === 0)
|
|
227191
|
-
return toNoOpReceipt("Reject all tracked changes produced no change.");
|
|
227192
|
-
if (executeDomainCommand(editor, () => Boolean(rejectAll()), { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
227193
|
-
return toNoOpReceipt("Reject all tracked changes produced no change.");
|
|
227194
|
-
return { success: true };
|
|
227195
|
-
}
|
|
227196
227721
|
function collectTrackInsertRefsInRange(editor, from$1, to) {
|
|
227197
227722
|
if (to <= from$1)
|
|
227198
227723
|
return;
|
|
@@ -227468,300 +227993,6 @@ function createHeadingWrapper(editor, input2, options) {
|
|
|
227468
227993
|
disposeEphemeralWriteRuntime(runtime);
|
|
227469
227994
|
}
|
|
227470
227995
|
}
|
|
227471
|
-
function extractTextPreview(node3) {
|
|
227472
|
-
if (!node3.isTextblock)
|
|
227473
|
-
return null;
|
|
227474
|
-
const text5 = node3.textContent;
|
|
227475
|
-
if (text5.length <= TEXT_PREVIEW_MAX_LENGTH)
|
|
227476
|
-
return text5;
|
|
227477
|
-
return text5.slice(0, TEXT_PREVIEW_MAX_LENGTH);
|
|
227478
|
-
}
|
|
227479
|
-
function extractBlockFormatting(node3) {
|
|
227480
|
-
const pProps = node3.attrs.paragraphProperties;
|
|
227481
|
-
const styleId = pProps?.styleId ?? null;
|
|
227482
|
-
let fontFamily;
|
|
227483
|
-
let fontSize;
|
|
227484
|
-
let bold2;
|
|
227485
|
-
let underline;
|
|
227486
|
-
let color2;
|
|
227487
|
-
node3.descendants((child) => {
|
|
227488
|
-
if (fontFamily !== undefined)
|
|
227489
|
-
return false;
|
|
227490
|
-
const marks = child.marks ?? [];
|
|
227491
|
-
if (!child.isText || marks.length === 0)
|
|
227492
|
-
return;
|
|
227493
|
-
for (const mark2 of marks) {
|
|
227494
|
-
const markName = mark2.type.name;
|
|
227495
|
-
const attrs = mark2.attrs;
|
|
227496
|
-
if (markName === "textStyle") {
|
|
227497
|
-
if (typeof attrs.fontFamily === "string" && attrs.fontFamily)
|
|
227498
|
-
fontFamily = attrs.fontFamily;
|
|
227499
|
-
if (attrs.fontSize != null) {
|
|
227500
|
-
const raw = typeof attrs.fontSize === "string" ? parseFloat(attrs.fontSize) : attrs.fontSize;
|
|
227501
|
-
if (typeof raw === "number" && Number.isFinite(raw))
|
|
227502
|
-
fontSize = raw;
|
|
227503
|
-
}
|
|
227504
|
-
if (typeof attrs.color === "string" && attrs.color)
|
|
227505
|
-
color2 = attrs.color;
|
|
227506
|
-
}
|
|
227507
|
-
if (markName === "bold" && attrs.value === true)
|
|
227508
|
-
bold2 = true;
|
|
227509
|
-
if (markName === "underline")
|
|
227510
|
-
underline = true;
|
|
227511
|
-
}
|
|
227512
|
-
return false;
|
|
227513
|
-
});
|
|
227514
|
-
if (color2 === "auto")
|
|
227515
|
-
color2 = undefined;
|
|
227516
|
-
let headingLevel;
|
|
227517
|
-
if (typeof styleId === "string") {
|
|
227518
|
-
const m$1 = HEADING_PATTERN.exec(styleId);
|
|
227519
|
-
if (m$1)
|
|
227520
|
-
headingLevel = parseInt(m$1[1], 10);
|
|
227521
|
-
}
|
|
227522
|
-
return {
|
|
227523
|
-
...styleId ? { styleId } : {},
|
|
227524
|
-
...fontFamily ? { fontFamily } : {},
|
|
227525
|
-
...fontSize !== undefined ? { fontSize } : {},
|
|
227526
|
-
...bold2 ? { bold: bold2 } : {},
|
|
227527
|
-
...underline ? { underline } : {},
|
|
227528
|
-
...color2 ? { color: color2 } : {},
|
|
227529
|
-
...pProps?.justification ? { alignment: pProps.justification } : {},
|
|
227530
|
-
...headingLevel ? { headingLevel } : {}
|
|
227531
|
-
};
|
|
227532
|
-
}
|
|
227533
|
-
function toBlockSummary(candidate, ordinal) {
|
|
227534
|
-
return {
|
|
227535
|
-
ordinal,
|
|
227536
|
-
nodeId: candidate.nodeId,
|
|
227537
|
-
nodeType: candidate.nodeType,
|
|
227538
|
-
textPreview: extractTextPreview(candidate.node)
|
|
227539
|
-
};
|
|
227540
|
-
}
|
|
227541
|
-
function resolveSdBlockId(candidate) {
|
|
227542
|
-
const sdBlockId = candidate.node.attrs?.sdBlockId;
|
|
227543
|
-
if (typeof sdBlockId === "string" && sdBlockId.length > 0)
|
|
227544
|
-
return sdBlockId;
|
|
227545
|
-
throw new DocumentApiAdapterError("INTERNAL_ERROR", "Resolved block candidate is missing sdBlockId attribute. This indicates a schema/extension invariant violation.", { attrs: candidate.node.attrs });
|
|
227546
|
-
}
|
|
227547
|
-
function validateDeleteTargetNodeType(nodeType) {
|
|
227548
|
-
if (REJECTED_DELETE_NODE_TYPES3.has(nodeType))
|
|
227549
|
-
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets. Table row/column operations are out of scope.`, { nodeType });
|
|
227550
|
-
if (!SUPPORTED_DELETE_NODE_TYPES3.has(nodeType))
|
|
227551
|
-
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets.`, { nodeType });
|
|
227552
|
-
}
|
|
227553
|
-
function validateCommandLayerUniqueness(editor, sdBlockId) {
|
|
227554
|
-
const getBlockNodeById = editor.helpers?.blockNode?.getBlockNodeById;
|
|
227555
|
-
if (typeof getBlockNodeById !== "function")
|
|
227556
|
-
throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", "blocks.delete requires the blockNode helper to be registered.", { reason: "missing_helper" });
|
|
227557
|
-
const matches2 = getBlockNodeById(sdBlockId);
|
|
227558
|
-
if (!matches2 || Array.isArray(matches2) && matches2.length === 0)
|
|
227559
|
-
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Block with sdBlockId "${sdBlockId}" was not found at the command layer.`, { sdBlockId });
|
|
227560
|
-
if (Array.isArray(matches2) && matches2.length > 1)
|
|
227561
|
-
throw new DocumentApiAdapterError("AMBIGUOUS_TARGET", `Multiple blocks share sdBlockId "${sdBlockId}" at the command layer.`, {
|
|
227562
|
-
sdBlockId,
|
|
227563
|
-
count: matches2.length
|
|
227564
|
-
});
|
|
227565
|
-
}
|
|
227566
|
-
function collectTopLevelBlocks(editor) {
|
|
227567
|
-
const doc$12 = editor.state.doc;
|
|
227568
|
-
const results = [];
|
|
227569
|
-
let offset$1 = 0;
|
|
227570
|
-
for (let i4 = 0;i4 < doc$12.childCount; i4++) {
|
|
227571
|
-
const child = doc$12.child(i4);
|
|
227572
|
-
const nodeType = mapBlockNodeType(child);
|
|
227573
|
-
const pos = offset$1;
|
|
227574
|
-
if (nodeType) {
|
|
227575
|
-
const nodeId = resolveBlockNodeId(child, pos, nodeType, [i4]);
|
|
227576
|
-
if (nodeId)
|
|
227577
|
-
results.push({
|
|
227578
|
-
node: child,
|
|
227579
|
-
pos,
|
|
227580
|
-
end: pos + child.nodeSize,
|
|
227581
|
-
nodeType,
|
|
227582
|
-
nodeId
|
|
227583
|
-
});
|
|
227584
|
-
}
|
|
227585
|
-
offset$1 += child.nodeSize;
|
|
227586
|
-
}
|
|
227587
|
-
return results;
|
|
227588
|
-
}
|
|
227589
|
-
function blocksListWrapper(editor, input2) {
|
|
227590
|
-
const topLevel = collectTopLevelBlocks(editor);
|
|
227591
|
-
const filtered = input2?.nodeTypes ? topLevel.filter((b$1) => input2.nodeTypes.includes(b$1.nodeType)) : topLevel;
|
|
227592
|
-
const total = filtered.length;
|
|
227593
|
-
const offset$1 = input2?.offset ?? 0;
|
|
227594
|
-
const limit = input2?.limit ?? total;
|
|
227595
|
-
const paged = filtered.slice(offset$1, offset$1 + limit);
|
|
227596
|
-
const rev = getRevision(editor);
|
|
227597
|
-
return {
|
|
227598
|
-
total,
|
|
227599
|
-
blocks: paged.map((candidate, i4) => {
|
|
227600
|
-
const textLength = computeTextContentLength(candidate.node);
|
|
227601
|
-
const ref$1 = textLength > 0 ? encodeV4Ref({
|
|
227602
|
-
v: 4,
|
|
227603
|
-
rev,
|
|
227604
|
-
storyKey: "body",
|
|
227605
|
-
scope: "block",
|
|
227606
|
-
matchId: candidate.nodeId,
|
|
227607
|
-
segments: [{
|
|
227608
|
-
blockId: candidate.nodeId,
|
|
227609
|
-
start: 0,
|
|
227610
|
-
end: textLength
|
|
227611
|
-
}],
|
|
227612
|
-
blockIndex: offset$1 + i4
|
|
227613
|
-
}) : undefined;
|
|
227614
|
-
return {
|
|
227615
|
-
ordinal: offset$1 + i4,
|
|
227616
|
-
nodeId: candidate.nodeId,
|
|
227617
|
-
nodeType: candidate.nodeType,
|
|
227618
|
-
textPreview: extractTextPreview(candidate.node),
|
|
227619
|
-
isEmpty: textLength === 0,
|
|
227620
|
-
...extractBlockFormatting(candidate.node),
|
|
227621
|
-
...ref$1 ? { ref: ref$1 } : {}
|
|
227622
|
-
};
|
|
227623
|
-
}),
|
|
227624
|
-
revision: rev
|
|
227625
|
-
};
|
|
227626
|
-
}
|
|
227627
|
-
function blocksDeleteWrapper(editor, input2, options) {
|
|
227628
|
-
rejectTrackedMode("blocks.delete", options);
|
|
227629
|
-
const candidate = findBlockByIdStrict(getBlockIndex(editor), input2.target);
|
|
227630
|
-
validateDeleteTargetNodeType(candidate.nodeType);
|
|
227631
|
-
const deletedBlock = toBlockSummary(candidate, collectTopLevelBlocks(editor).findIndex((b$1) => b$1.nodeId === candidate.nodeId && b$1.nodeType === candidate.nodeType));
|
|
227632
|
-
const sdBlockId = resolveSdBlockId(candidate);
|
|
227633
|
-
const deleteBlockNodeById = requireEditorCommand(editor.commands?.deleteBlockNodeById, "blocks.delete");
|
|
227634
|
-
validateCommandLayerUniqueness(editor, sdBlockId);
|
|
227635
|
-
if (options?.dryRun)
|
|
227636
|
-
return {
|
|
227637
|
-
success: true,
|
|
227638
|
-
deleted: input2.target,
|
|
227639
|
-
deletedBlock
|
|
227640
|
-
};
|
|
227641
|
-
if (executeDomainCommand(editor, () => {
|
|
227642
|
-
const didApply = deleteBlockNodeById(sdBlockId);
|
|
227643
|
-
if (didApply)
|
|
227644
|
-
clearIndexCache(editor);
|
|
227645
|
-
return didApply;
|
|
227646
|
-
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
227647
|
-
throw new DocumentApiAdapterError("INTERNAL_ERROR", "blocks.delete command returned false despite passing all pre-apply checks. This is an internal invariant violation.", {
|
|
227648
|
-
sdBlockId,
|
|
227649
|
-
target: input2.target
|
|
227650
|
-
});
|
|
227651
|
-
return {
|
|
227652
|
-
success: true,
|
|
227653
|
-
deleted: input2.target,
|
|
227654
|
-
deletedBlock
|
|
227655
|
-
};
|
|
227656
|
-
}
|
|
227657
|
-
function hasSectionBreak(candidate) {
|
|
227658
|
-
const pPr = candidate.node.attrs?.paragraphProperties;
|
|
227659
|
-
return pPr?.sectPr != null && typeof pPr.sectPr === "object";
|
|
227660
|
-
}
|
|
227661
|
-
function resolveTopLevelOrdinal(topLevel, candidate, label) {
|
|
227662
|
-
const idx = topLevel.findIndex((b$1) => b$1.nodeId === candidate.nodeId && b$1.nodeType === candidate.nodeType);
|
|
227663
|
-
if (idx !== -1)
|
|
227664
|
-
return idx;
|
|
227665
|
-
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange ${label} resolved to a nested block (not a direct document child). Only top-level blocks are supported.`, {
|
|
227666
|
-
nodeId: candidate.nodeId,
|
|
227667
|
-
nodeType: candidate.nodeType
|
|
227668
|
-
});
|
|
227669
|
-
}
|
|
227670
|
-
function resolveRangeEndpoint(index2, address2, label) {
|
|
227671
|
-
const key2 = `${address2.nodeType}:${address2.nodeId}`;
|
|
227672
|
-
if (index2.ambiguous.has(key2))
|
|
227673
|
-
throw new DocumentApiAdapterError("AMBIGUOUS_TARGET", `Multiple blocks share key "${key2}".`, { target: address2 });
|
|
227674
|
-
const candidate = index2.byId.get(key2);
|
|
227675
|
-
if (candidate)
|
|
227676
|
-
return candidate;
|
|
227677
|
-
const mismatch = index2.candidates.find((c) => c.nodeId === address2.nodeId);
|
|
227678
|
-
if (mismatch)
|
|
227679
|
-
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange ${label} expected ${address2.nodeType}:${address2.nodeId} but resolved to ${mismatch.nodeType}.`, {
|
|
227680
|
-
expected: address2.nodeType,
|
|
227681
|
-
actual: mismatch.nodeType,
|
|
227682
|
-
nodeId: address2.nodeId
|
|
227683
|
-
});
|
|
227684
|
-
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Block "${key2}" was not found.`, { target: address2 });
|
|
227685
|
-
}
|
|
227686
|
-
function rejectUnmappedNodesInRange(doc$12, rangeBlocks) {
|
|
227687
|
-
if (rangeBlocks.length === 0)
|
|
227688
|
-
return;
|
|
227689
|
-
const rangeFrom = rangeBlocks[0].pos;
|
|
227690
|
-
const rangeTo = rangeBlocks[rangeBlocks.length - 1].end;
|
|
227691
|
-
const recognizedPositions = new Set(rangeBlocks.map((b$1) => b$1.pos));
|
|
227692
|
-
let offset$1 = 0;
|
|
227693
|
-
for (let i4 = 0;i4 < doc$12.childCount; i4++) {
|
|
227694
|
-
const child = doc$12.child(i4);
|
|
227695
|
-
const childEnd = offset$1 + child.nodeSize;
|
|
227696
|
-
if (childEnd > rangeFrom && offset$1 < rangeTo && !recognizedPositions.has(offset$1)) {
|
|
227697
|
-
if (!RANGE_DELETE_SAFE_NODE_TYPES.has(child.type.name))
|
|
227698
|
-
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange cannot delete range: unrecognized node "${child.type.name}" at position ${offset$1} would be silently removed.`, {
|
|
227699
|
-
pmNodeType: child.type.name,
|
|
227700
|
-
pos: offset$1
|
|
227701
|
-
});
|
|
227702
|
-
}
|
|
227703
|
-
offset$1 = childEnd;
|
|
227704
|
-
}
|
|
227705
|
-
}
|
|
227706
|
-
function blocksDeleteRangeWrapper(editor, input2, options) {
|
|
227707
|
-
rejectTrackedMode("blocks.deleteRange", options);
|
|
227708
|
-
const topLevel = collectTopLevelBlocks(editor);
|
|
227709
|
-
const index2 = getBlockIndex(editor);
|
|
227710
|
-
const startCandidate = resolveRangeEndpoint(index2, input2.start, "start");
|
|
227711
|
-
const endCandidate = resolveRangeEndpoint(index2, input2.end, "end");
|
|
227712
|
-
const startOrdinal = resolveTopLevelOrdinal(topLevel, startCandidate, "start");
|
|
227713
|
-
const endOrdinal = resolveTopLevelOrdinal(topLevel, endCandidate, "end");
|
|
227714
|
-
if (startOrdinal > endOrdinal)
|
|
227715
|
-
throw new DocumentApiAdapterError("INVALID_INPUT", `blocks.deleteRange start ordinal (${startOrdinal}) is after end ordinal (${endOrdinal}). The start must precede or equal the end.`, {
|
|
227716
|
-
startOrdinal,
|
|
227717
|
-
endOrdinal
|
|
227718
|
-
});
|
|
227719
|
-
const rangeBlocks = topLevel.slice(startOrdinal, endOrdinal + 1);
|
|
227720
|
-
rejectUnmappedNodesInRange(editor.state.doc, rangeBlocks);
|
|
227721
|
-
for (const block of rangeBlocks)
|
|
227722
|
-
if (hasSectionBreak(block))
|
|
227723
|
-
throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.deleteRange cannot delete a range that includes a section break (block "${block.nodeId}" at ordinal ${topLevel.indexOf(block)}).`, {
|
|
227724
|
-
nodeId: block.nodeId,
|
|
227725
|
-
nodeType: block.nodeType
|
|
227726
|
-
});
|
|
227727
|
-
const deletedBlocks = rangeBlocks.map((c, i4) => toBlockSummary(c, startOrdinal + i4));
|
|
227728
|
-
const revisionBefore = getRevision(editor);
|
|
227729
|
-
if (options?.dryRun)
|
|
227730
|
-
return {
|
|
227731
|
-
success: true,
|
|
227732
|
-
deletedCount: rangeBlocks.length,
|
|
227733
|
-
deletedBlocks,
|
|
227734
|
-
revision: {
|
|
227735
|
-
before: revisionBefore,
|
|
227736
|
-
after: revisionBefore
|
|
227737
|
-
},
|
|
227738
|
-
dryRun: true
|
|
227739
|
-
};
|
|
227740
|
-
const rangeFrom = rangeBlocks[0].pos;
|
|
227741
|
-
const rangeTo = rangeBlocks[rangeBlocks.length - 1].end;
|
|
227742
|
-
if (executeDomainCommand(editor, () => {
|
|
227743
|
-
const tr = editor.state.tr;
|
|
227744
|
-
tr.delete(rangeFrom, rangeTo);
|
|
227745
|
-
editor.dispatch(tr);
|
|
227746
|
-
clearIndexCache(editor);
|
|
227747
|
-
return true;
|
|
227748
|
-
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
227749
|
-
throw new DocumentApiAdapterError("INTERNAL_ERROR", "blocks.deleteRange command returned false despite passing all pre-apply checks.", {
|
|
227750
|
-
start: input2.start,
|
|
227751
|
-
end: input2.end
|
|
227752
|
-
});
|
|
227753
|
-
const revisionAfter = getRevision(editor);
|
|
227754
|
-
return {
|
|
227755
|
-
success: true,
|
|
227756
|
-
deletedCount: rangeBlocks.length,
|
|
227757
|
-
deletedBlocks,
|
|
227758
|
-
revision: {
|
|
227759
|
-
before: revisionBefore,
|
|
227760
|
-
after: revisionAfter
|
|
227761
|
-
},
|
|
227762
|
-
dryRun: false
|
|
227763
|
-
};
|
|
227764
|
-
}
|
|
227765
227996
|
function findLevelElement(abstract, ilvl) {
|
|
227766
227997
|
const ilvlStr = String(ilvl);
|
|
227767
227998
|
return abstract.elements?.find((el) => el.name === "w:lvl" && el.attributes?.["w:ilvl"] === ilvlStr);
|
|
@@ -242805,6 +243036,7 @@ function assembleDocumentApiAdapters(editor) {
|
|
|
242805
243036
|
getHtml: { getHtml: (input2) => getHtmlAdapter(editor, input2) },
|
|
242806
243037
|
markdownToFragment: { markdownToFragment: (input2) => markdownToFragmentAdapter(editor, input2) },
|
|
242807
243038
|
info: { info: (input2) => infoAdapter(editor, input2) },
|
|
243039
|
+
extract: { extract: (input2) => extractAdapter(editor, input2) },
|
|
242808
243040
|
clearContent: { clearContent: (input2, options) => clearContentWrapper(editor, input2, options) },
|
|
242809
243041
|
capabilities: { get: () => getDocumentApiCapabilities(editor) },
|
|
242810
243042
|
comments: createCommentsWrapper(editor),
|
|
@@ -274159,7 +274391,7 @@ var Node$13 = class Node$14 {
|
|
|
274159
274391
|
console.warn("Failed to initialize developer tools:", error3);
|
|
274160
274392
|
}
|
|
274161
274393
|
}
|
|
274162
|
-
}, BLANK_DOCX_BASE64 = `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`, BLANK_DOCX_DATA_URI, TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, BULLET_FORMATS$1, LOCK_MODE_TO_SDT_LOCK, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, CSS_NAMED_COLORS, V3_PREFIX = "text:", V4_PREFIX = "text:v4:", HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, HEADING_STYLE_PATTERN, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SCHEMA_NODE_GATES, schemaGatedIds, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, DEBUG_TEXT_REWRITE, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", CONTENT_CAPABILITIES, INLINE_CAPABILITIES, SDT_LOCK_TO_LOCK_MODE, BODY_LOCATOR2, STUB_WHERE, EMPTY_RESOLUTION, CONTAINER_NODE_TYPES, VALID_EDGE_NODE_TYPES3, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, TEXT_STYLE_CHARACTER_STYLE_ATTR = "styleId", DIRECT_FORMATTING_MARK_NAMES, ALIGNMENT_TO_JUSTIFICATION, SUPPORTED_DELETE_NODE_TYPES3, REJECTED_DELETE_NODE_TYPES3, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, HEADING_PATTERN, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, PRESET_KIND_MAP, NUMBERING_PART = "word/numbering.xml", DEFAULT_PRESET_FOR_KIND, _setValueDelegate, PREVIEW_TEXT_MAX_LENGTH = 2000, BLOCK_PREVIEW_MAX_LENGTH = 200, EDGE_NODE_TYPES$1, POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, SETTINGS_PART$1 = "word/settings.xml", WORD_DEFAULT_TBL_LOOK, FLAG_TO_OOXML_KEY, INVERTED_FLAGS, XML_KEY_TO_STYLE_OPTION, CLEARED_BORDER_OOXML, TABLE_MARGIN_KEY_GROUPS, TABLE_ADAPTER_DISPATCH, ROW_TARGETED_TABLE_OPS, registered = false, STYLES_PART_ID = "word/styles.xml", stylesPartDescriptor, settingsPartDescriptor, RELS_PART_ID2 = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", relsPartDescriptor, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SETTINGS_PART, SPECIAL_NOTE_TYPES, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.25.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension2) => {
|
|
274394
|
+
}, BLANK_DOCX_BASE64 = `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`, BLANK_DOCX_DATA_URI, TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, BULLET_FORMATS$1, LOCK_MODE_TO_SDT_LOCK, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, CSS_NAMED_COLORS, V3_PREFIX = "text:", V4_PREFIX = "text:v4:", HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, HEADING_STYLE_PATTERN, registry, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, DEBUG_TEXT_REWRITE, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", CONTENT_CAPABILITIES, INLINE_CAPABILITIES, SDT_LOCK_TO_LOCK_MODE, BODY_LOCATOR2, STUB_WHERE, EMPTY_RESOLUTION, CONTAINER_NODE_TYPES, VALID_EDGE_NODE_TYPES3, SUPPORTED_DELETE_NODE_TYPES3, REJECTED_DELETE_NODE_TYPES3, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, HEADING_PATTERN, FALLBACK_STORE_KEY = "__documentApiComments", REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SCHEMA_NODE_GATES, schemaGatedIds, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, TEXT_STYLE_CHARACTER_STYLE_ATTR = "styleId", DIRECT_FORMATTING_MARK_NAMES, ALIGNMENT_TO_JUSTIFICATION, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, PRESET_KIND_MAP, NUMBERING_PART = "word/numbering.xml", DEFAULT_PRESET_FOR_KIND, _setValueDelegate, PREVIEW_TEXT_MAX_LENGTH = 2000, BLOCK_PREVIEW_MAX_LENGTH = 200, EDGE_NODE_TYPES$1, POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, SETTINGS_PART$1 = "word/settings.xml", WORD_DEFAULT_TBL_LOOK, FLAG_TO_OOXML_KEY, INVERTED_FLAGS, XML_KEY_TO_STYLE_OPTION, CLEARED_BORDER_OOXML, TABLE_MARGIN_KEY_GROUPS, TABLE_ADAPTER_DISPATCH, ROW_TARGETED_TABLE_OPS, registered = false, STYLES_PART_ID = "word/styles.xml", stylesPartDescriptor, settingsPartDescriptor, RELS_PART_ID2 = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", relsPartDescriptor, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SETTINGS_PART, SPECIAL_NOTE_TYPES, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.25.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension2) => {
|
|
274163
274395
|
const extensionLike = extension2;
|
|
274164
274396
|
const config2 = extensionLike?.config;
|
|
274165
274397
|
const ExtensionCtor = extensionLike?.constructor;
|
|
@@ -287757,12 +287989,12 @@ var Node$13 = class Node$14 {
|
|
|
287757
287989
|
return;
|
|
287758
287990
|
console.log(...args$1);
|
|
287759
287991
|
}, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions;
|
|
287760
|
-
var
|
|
287992
|
+
var init_src_DwJWNVLl_es = __esm(() => {
|
|
287761
287993
|
init_rolldown_runtime_Bg48TavK_es();
|
|
287762
|
-
|
|
287994
|
+
init_SuperConverter_CorFllow_es();
|
|
287763
287995
|
init_jszip_C49i9kUs_es();
|
|
287764
287996
|
init_uuid_qzgm05fK_es();
|
|
287765
|
-
|
|
287997
|
+
init_create_headless_toolbar_B7Y50cRk_es();
|
|
287766
287998
|
init_constants_CGhJRd87_es();
|
|
287767
287999
|
init_dist_B8HfvhaK_es();
|
|
287768
288000
|
init_unified_Dsuw2be5_es();
|
|
@@ -310176,272 +310408,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
310176
310408
|
fences: true
|
|
310177
310409
|
});
|
|
310178
310410
|
HEADING_STYLE_PATTERN = /^Heading\d$/;
|
|
310179
|
-
REQUIRED_COMMANDS = {
|
|
310180
|
-
"create.paragraph": ["insertParagraphAt"],
|
|
310181
|
-
"create.heading": ["insertHeadingAt"],
|
|
310182
|
-
"lists.insert": ["insertListItemAt"],
|
|
310183
|
-
"lists.indent": [],
|
|
310184
|
-
"lists.outdent": [],
|
|
310185
|
-
"lists.create": [],
|
|
310186
|
-
"lists.attach": [],
|
|
310187
|
-
"lists.detach": [],
|
|
310188
|
-
"lists.join": [],
|
|
310189
|
-
"lists.separate": [],
|
|
310190
|
-
"lists.setLevel": [],
|
|
310191
|
-
"lists.setValue": [],
|
|
310192
|
-
"lists.continuePrevious": [],
|
|
310193
|
-
"lists.setLevelRestart": [],
|
|
310194
|
-
"lists.convertToText": [],
|
|
310195
|
-
"lists.applyTemplate": [],
|
|
310196
|
-
"lists.applyPreset": [],
|
|
310197
|
-
"lists.captureTemplate": [],
|
|
310198
|
-
"lists.setLevelNumbering": [],
|
|
310199
|
-
"lists.setLevelBullet": [],
|
|
310200
|
-
"lists.setLevelPictureBullet": [],
|
|
310201
|
-
"lists.setLevelAlignment": [],
|
|
310202
|
-
"lists.setLevelIndents": [],
|
|
310203
|
-
"lists.setLevelTrailingCharacter": [],
|
|
310204
|
-
"lists.setLevelMarkerFont": [],
|
|
310205
|
-
"lists.clearLevelOverrides": [],
|
|
310206
|
-
"blocks.delete": ["deleteBlockNodeById"],
|
|
310207
|
-
"comments.create": [
|
|
310208
|
-
"addComment",
|
|
310209
|
-
"setTextSelection",
|
|
310210
|
-
"addCommentReply"
|
|
310211
|
-
],
|
|
310212
|
-
"comments.patch": [
|
|
310213
|
-
"editComment",
|
|
310214
|
-
"moveComment",
|
|
310215
|
-
"resolveComment",
|
|
310216
|
-
"setCommentInternal"
|
|
310217
|
-
],
|
|
310218
|
-
"comments.delete": ["removeComment"],
|
|
310219
|
-
"trackChanges.decide": [
|
|
310220
|
-
"acceptTrackedChangeById",
|
|
310221
|
-
"rejectTrackedChangeById",
|
|
310222
|
-
"acceptAllTrackedChanges",
|
|
310223
|
-
"rejectAllTrackedChanges"
|
|
310224
|
-
],
|
|
310225
|
-
"history.undo": ["undo"],
|
|
310226
|
-
"history.redo": ["redo"],
|
|
310227
|
-
"create.table": ["insertTableAt"],
|
|
310228
|
-
"tables.delete": ["insertTableAt"],
|
|
310229
|
-
"tables.clearContents": ["insertTableAt"],
|
|
310230
|
-
"tables.move": ["insertTableAt"],
|
|
310231
|
-
"tables.setLayout": ["insertTableAt"],
|
|
310232
|
-
"tables.setAltText": ["insertTableAt"],
|
|
310233
|
-
"tables.insertRow": ["insertTableAt"],
|
|
310234
|
-
"tables.deleteRow": ["insertTableAt"],
|
|
310235
|
-
"tables.setRowHeight": ["insertTableAt"],
|
|
310236
|
-
"tables.distributeRows": ["insertTableAt"],
|
|
310237
|
-
"tables.setRowOptions": ["insertTableAt"],
|
|
310238
|
-
"tables.insertColumn": ["insertTableAt"],
|
|
310239
|
-
"tables.deleteColumn": ["insertTableAt"],
|
|
310240
|
-
"tables.setColumnWidth": ["insertTableAt"],
|
|
310241
|
-
"tables.distributeColumns": ["insertTableAt"],
|
|
310242
|
-
"tables.insertCell": ["insertTableAt"],
|
|
310243
|
-
"tables.deleteCell": ["insertTableAt"],
|
|
310244
|
-
"tables.mergeCells": ["insertTableAt"],
|
|
310245
|
-
"tables.unmergeCells": ["insertTableAt"],
|
|
310246
|
-
"tables.splitCell": ["insertTableAt"],
|
|
310247
|
-
"tables.setCellProperties": ["insertTableAt"],
|
|
310248
|
-
"tables.convertFromText": ["insertTableAt"],
|
|
310249
|
-
"tables.split": ["insertTableAt"],
|
|
310250
|
-
"tables.convertToText": ["insertTableAt"],
|
|
310251
|
-
"tables.sort": ["insertTableAt"],
|
|
310252
|
-
"tables.setStyle": ["insertTableAt"],
|
|
310253
|
-
"tables.clearStyle": ["insertTableAt"],
|
|
310254
|
-
"tables.setStyleOption": ["insertTableAt"],
|
|
310255
|
-
"tables.setBorder": ["insertTableAt"],
|
|
310256
|
-
"tables.clearBorder": ["insertTableAt"],
|
|
310257
|
-
"tables.applyBorderPreset": ["insertTableAt"],
|
|
310258
|
-
"tables.setShading": ["insertTableAt"],
|
|
310259
|
-
"tables.clearShading": ["insertTableAt"],
|
|
310260
|
-
"tables.setTablePadding": ["insertTableAt"],
|
|
310261
|
-
"tables.setCellPadding": ["insertTableAt"],
|
|
310262
|
-
"tables.setCellSpacing": ["insertTableAt"],
|
|
310263
|
-
"tables.clearCellSpacing": ["insertTableAt"],
|
|
310264
|
-
"create.tableOfContents": ["insertTableOfContentsAt"],
|
|
310265
|
-
"toc.configure": ["setTableOfContentsInstructionById"],
|
|
310266
|
-
"toc.update": ["replaceTableOfContentsContentById"],
|
|
310267
|
-
"toc.remove": ["deleteTableOfContentsById"],
|
|
310268
|
-
"toc.markEntry": ["insertTableOfContentsEntryAt"],
|
|
310269
|
-
"toc.unmarkEntry": ["deleteTableOfContentsEntryAt"],
|
|
310270
|
-
"toc.editEntry": ["updateTableOfContentsEntryAt"],
|
|
310271
|
-
"bookmarks.list": ["insertBookmark"],
|
|
310272
|
-
"bookmarks.get": ["insertBookmark"],
|
|
310273
|
-
"bookmarks.insert": ["insertBookmark"],
|
|
310274
|
-
"bookmarks.rename": ["insertBookmark"],
|
|
310275
|
-
"bookmarks.remove": ["insertBookmark"],
|
|
310276
|
-
"footnotes.list": ["insertContent"],
|
|
310277
|
-
"footnotes.get": ["insertContent"],
|
|
310278
|
-
"footnotes.insert": ["insertContent"],
|
|
310279
|
-
"footnotes.update": ["insertContent"],
|
|
310280
|
-
"footnotes.remove": ["insertContent"],
|
|
310281
|
-
"footnotes.configure": ["insertContent"],
|
|
310282
|
-
"crossRefs.list": ["insertContent"],
|
|
310283
|
-
"crossRefs.get": ["insertContent"],
|
|
310284
|
-
"crossRefs.insert": ["insertContent"],
|
|
310285
|
-
"crossRefs.rebuild": ["insertContent"],
|
|
310286
|
-
"crossRefs.remove": ["insertContent"],
|
|
310287
|
-
"index.list": ["insertContent"],
|
|
310288
|
-
"index.get": ["insertContent"],
|
|
310289
|
-
"index.insert": ["insertContent"],
|
|
310290
|
-
"index.configure": ["insertContent"],
|
|
310291
|
-
"index.rebuild": ["insertContent"],
|
|
310292
|
-
"index.remove": ["insertContent"],
|
|
310293
|
-
"index.entries.list": ["insertContent"],
|
|
310294
|
-
"index.entries.get": ["insertContent"],
|
|
310295
|
-
"index.entries.insert": ["insertContent"],
|
|
310296
|
-
"index.entries.update": ["insertContent"],
|
|
310297
|
-
"index.entries.remove": ["insertContent"],
|
|
310298
|
-
"captions.list": ["insertContent"],
|
|
310299
|
-
"captions.get": ["insertContent"],
|
|
310300
|
-
"captions.insert": ["insertContent"],
|
|
310301
|
-
"captions.update": ["insertContent"],
|
|
310302
|
-
"captions.remove": ["insertContent"],
|
|
310303
|
-
"captions.configure": ["insertContent"],
|
|
310304
|
-
"fields.list": ["insertContent"],
|
|
310305
|
-
"fields.get": ["insertContent"],
|
|
310306
|
-
"fields.insert": ["insertContent"],
|
|
310307
|
-
"fields.rebuild": ["insertContent"],
|
|
310308
|
-
"fields.remove": ["insertContent"],
|
|
310309
|
-
"citations.list": ["insertContent"],
|
|
310310
|
-
"citations.get": ["insertContent"],
|
|
310311
|
-
"citations.insert": ["insertContent"],
|
|
310312
|
-
"citations.update": ["insertContent"],
|
|
310313
|
-
"citations.remove": ["insertContent"],
|
|
310314
|
-
"citations.sources.list": ["insertContent"],
|
|
310315
|
-
"citations.sources.get": ["insertContent"],
|
|
310316
|
-
"citations.sources.insert": ["insertContent"],
|
|
310317
|
-
"citations.sources.update": ["insertContent"],
|
|
310318
|
-
"citations.sources.remove": ["insertContent"],
|
|
310319
|
-
"citations.bibliography.get": ["insertContent"],
|
|
310320
|
-
"citations.bibliography.insert": ["insertContent"],
|
|
310321
|
-
"citations.bibliography.configure": ["insertContent"],
|
|
310322
|
-
"citations.bibliography.rebuild": ["insertContent"],
|
|
310323
|
-
"citations.bibliography.remove": ["insertContent"],
|
|
310324
|
-
"authorities.list": ["insertContent"],
|
|
310325
|
-
"authorities.get": ["insertContent"],
|
|
310326
|
-
"authorities.insert": ["insertContent"],
|
|
310327
|
-
"authorities.configure": ["insertContent"],
|
|
310328
|
-
"authorities.rebuild": ["insertContent"],
|
|
310329
|
-
"authorities.remove": ["insertContent"],
|
|
310330
|
-
"authorities.entries.list": ["insertContent"],
|
|
310331
|
-
"authorities.entries.get": ["insertContent"],
|
|
310332
|
-
"authorities.entries.insert": ["insertContent"],
|
|
310333
|
-
"authorities.entries.update": ["insertContent"],
|
|
310334
|
-
"authorities.entries.remove": ["insertContent"],
|
|
310335
|
-
"create.image": ["setImage"],
|
|
310336
|
-
"images.delete": ["setImage"],
|
|
310337
|
-
"images.move": ["setImage"],
|
|
310338
|
-
"images.convertToInline": ["setImage"],
|
|
310339
|
-
"images.convertToFloating": ["setImage"],
|
|
310340
|
-
"images.setSize": ["setImage"],
|
|
310341
|
-
"images.setWrapType": ["setImage"],
|
|
310342
|
-
"images.setWrapSide": ["setImage"],
|
|
310343
|
-
"images.setWrapDistances": ["setImage"],
|
|
310344
|
-
"images.setPosition": ["setImage"],
|
|
310345
|
-
"images.setAnchorOptions": ["setImage"],
|
|
310346
|
-
"images.setZOrder": ["setImage"],
|
|
310347
|
-
"images.scale": ["setImage"],
|
|
310348
|
-
"images.setLockAspectRatio": ["setImage"],
|
|
310349
|
-
"images.rotate": ["setImage"],
|
|
310350
|
-
"images.flip": ["setImage"],
|
|
310351
|
-
"images.crop": ["setImage"],
|
|
310352
|
-
"images.resetCrop": ["setImage"],
|
|
310353
|
-
"images.replaceSource": ["setImage"],
|
|
310354
|
-
"images.setAltText": ["setImage"],
|
|
310355
|
-
"images.setDecorative": ["setImage"],
|
|
310356
|
-
"images.setName": ["setImage"],
|
|
310357
|
-
"images.setHyperlink": ["setImage"],
|
|
310358
|
-
"images.insertCaption": ["setImage"],
|
|
310359
|
-
"images.updateCaption": ["setImage"],
|
|
310360
|
-
"images.removeCaption": ["setImage"]
|
|
310361
|
-
};
|
|
310362
|
-
VALID_CAPABILITY_REASON_CODES = new Set(CAPABILITY_REASON_CODES);
|
|
310363
|
-
REQUIRED_HELPERS = {
|
|
310364
|
-
"blocks.delete": (editor) => typeof editor.helpers?.blockNode?.getBlockNodeById === "function",
|
|
310365
|
-
"sections.setOddEvenHeadersFooters": (editor) => Boolean(editor.converter),
|
|
310366
|
-
"sections.setHeaderFooterRef": (editor) => Boolean(editor.converter),
|
|
310367
|
-
"tables.setDefaultStyle": (editor) => Boolean(editor.converter),
|
|
310368
|
-
"tables.clearDefaultStyle": (editor) => Boolean(editor.converter),
|
|
310369
|
-
"headerFooters.refs.set": (editor) => Boolean(editor.converter),
|
|
310370
|
-
"headerFooters.refs.setLinkedToPrevious": (editor) => Boolean(editor.converter),
|
|
310371
|
-
"headerFooters.parts.list": (editor) => Boolean(editor.converter),
|
|
310372
|
-
"headerFooters.parts.create": (editor) => Boolean(editor.converter),
|
|
310373
|
-
"headerFooters.parts.delete": (editor) => Boolean(editor.converter),
|
|
310374
|
-
"lists.setLevelPictureBullet": (editor) => {
|
|
310375
|
-
const converter = editor.converter;
|
|
310376
|
-
return Boolean(converter?.convertedXml?.["word/numbering.xml"]);
|
|
310377
|
-
}
|
|
310378
|
-
};
|
|
310379
|
-
SCHEMA_NODE_GATES = [
|
|
310380
|
-
{
|
|
310381
|
-
prefix: "crossRefs.",
|
|
310382
|
-
nodes: ["crossReference"]
|
|
310383
|
-
},
|
|
310384
|
-
{
|
|
310385
|
-
prefix: "citations.bibliography.",
|
|
310386
|
-
nodes: ["bibliography"]
|
|
310387
|
-
},
|
|
310388
|
-
{
|
|
310389
|
-
prefix: "citations.sources.",
|
|
310390
|
-
nodes: ["citation"]
|
|
310391
|
-
},
|
|
310392
|
-
{
|
|
310393
|
-
prefix: "citations.",
|
|
310394
|
-
nodes: ["citation"]
|
|
310395
|
-
},
|
|
310396
|
-
{
|
|
310397
|
-
prefix: "authorities.entries.",
|
|
310398
|
-
nodes: ["authorityEntry"]
|
|
310399
|
-
},
|
|
310400
|
-
{
|
|
310401
|
-
prefix: "authorities.",
|
|
310402
|
-
nodes: ["tableOfAuthorities"]
|
|
310403
|
-
},
|
|
310404
|
-
{
|
|
310405
|
-
prefix: "index.entries.",
|
|
310406
|
-
nodes: ["indexEntry"]
|
|
310407
|
-
},
|
|
310408
|
-
{
|
|
310409
|
-
prefix: "index.",
|
|
310410
|
-
nodes: ["documentIndex", "index"]
|
|
310411
|
-
},
|
|
310412
|
-
{
|
|
310413
|
-
prefix: "fields.",
|
|
310414
|
-
nodes: ["sequenceField"]
|
|
310415
|
-
},
|
|
310416
|
-
{
|
|
310417
|
-
prefix: "footnotes.",
|
|
310418
|
-
nodes: ["footnoteReference", "endnoteReference"]
|
|
310419
|
-
}
|
|
310420
|
-
];
|
|
310421
|
-
schemaGatedIds = /* @__PURE__ */ new Set;
|
|
310422
|
-
for (const gate of SCHEMA_NODE_GATES) {
|
|
310423
|
-
const matchingIds = Object.keys(REQUIRED_COMMANDS).filter((id2) => id2.startsWith(gate.prefix) && !schemaGatedIds.has(id2));
|
|
310424
|
-
for (const id2 of matchingIds) {
|
|
310425
|
-
schemaGatedIds.add(id2);
|
|
310426
|
-
const existingCheck = REQUIRED_HELPERS[id2];
|
|
310427
|
-
if (existingCheck)
|
|
310428
|
-
REQUIRED_HELPERS[id2] = (editor) => existingCheck(editor) && hasSchemaNode(editor, ...gate.nodes);
|
|
310429
|
-
else
|
|
310430
|
-
REQUIRED_HELPERS[id2] = (editor) => hasSchemaNode(editor, ...gate.nodes);
|
|
310431
|
-
}
|
|
310432
|
-
}
|
|
310433
|
-
SUPPORTED_NON_UNIFORM_STRATEGIES = [
|
|
310434
|
-
"error",
|
|
310435
|
-
"useLeadingRun",
|
|
310436
|
-
"majority",
|
|
310437
|
-
"union"
|
|
310438
|
-
];
|
|
310439
|
-
SUPPORTED_SET_MARKS = [
|
|
310440
|
-
"bold",
|
|
310441
|
-
"italic",
|
|
310442
|
-
"underline",
|
|
310443
|
-
"strike"
|
|
310444
|
-
];
|
|
310445
310411
|
registry = /* @__PURE__ */ new Map;
|
|
310446
310412
|
VALID_CREATE_POSITIONS = ["before", "after"];
|
|
310447
310413
|
REF_HANDLERS = [
|
|
@@ -310729,6 +310695,276 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
310729
310695
|
"sdt",
|
|
310730
310696
|
"image"
|
|
310731
310697
|
]);
|
|
310698
|
+
SUPPORTED_DELETE_NODE_TYPES3 = new Set(DELETABLE_BLOCK_NODE_TYPES2);
|
|
310699
|
+
REJECTED_DELETE_NODE_TYPES3 = new Set(["tableRow", "tableCell"]);
|
|
310700
|
+
RANGE_DELETE_SAFE_NODE_TYPES = new Set(["passthroughBlock", "passthroughInline"]);
|
|
310701
|
+
HEADING_PATTERN = /^Heading(\d)$/;
|
|
310702
|
+
REQUIRED_COMMANDS = {
|
|
310703
|
+
"create.paragraph": ["insertParagraphAt"],
|
|
310704
|
+
"create.heading": ["insertHeadingAt"],
|
|
310705
|
+
"lists.insert": ["insertListItemAt"],
|
|
310706
|
+
"lists.indent": [],
|
|
310707
|
+
"lists.outdent": [],
|
|
310708
|
+
"lists.create": [],
|
|
310709
|
+
"lists.attach": [],
|
|
310710
|
+
"lists.detach": [],
|
|
310711
|
+
"lists.join": [],
|
|
310712
|
+
"lists.separate": [],
|
|
310713
|
+
"lists.setLevel": [],
|
|
310714
|
+
"lists.setValue": [],
|
|
310715
|
+
"lists.continuePrevious": [],
|
|
310716
|
+
"lists.setLevelRestart": [],
|
|
310717
|
+
"lists.convertToText": [],
|
|
310718
|
+
"lists.applyTemplate": [],
|
|
310719
|
+
"lists.applyPreset": [],
|
|
310720
|
+
"lists.captureTemplate": [],
|
|
310721
|
+
"lists.setLevelNumbering": [],
|
|
310722
|
+
"lists.setLevelBullet": [],
|
|
310723
|
+
"lists.setLevelPictureBullet": [],
|
|
310724
|
+
"lists.setLevelAlignment": [],
|
|
310725
|
+
"lists.setLevelIndents": [],
|
|
310726
|
+
"lists.setLevelTrailingCharacter": [],
|
|
310727
|
+
"lists.setLevelMarkerFont": [],
|
|
310728
|
+
"lists.clearLevelOverrides": [],
|
|
310729
|
+
"blocks.delete": ["deleteBlockNodeById"],
|
|
310730
|
+
"comments.create": [
|
|
310731
|
+
"addComment",
|
|
310732
|
+
"setTextSelection",
|
|
310733
|
+
"addCommentReply"
|
|
310734
|
+
],
|
|
310735
|
+
"comments.patch": [
|
|
310736
|
+
"editComment",
|
|
310737
|
+
"moveComment",
|
|
310738
|
+
"resolveComment",
|
|
310739
|
+
"setCommentInternal"
|
|
310740
|
+
],
|
|
310741
|
+
"comments.delete": ["removeComment"],
|
|
310742
|
+
"trackChanges.decide": [
|
|
310743
|
+
"acceptTrackedChangeById",
|
|
310744
|
+
"rejectTrackedChangeById",
|
|
310745
|
+
"acceptAllTrackedChanges",
|
|
310746
|
+
"rejectAllTrackedChanges"
|
|
310747
|
+
],
|
|
310748
|
+
"history.undo": ["undo"],
|
|
310749
|
+
"history.redo": ["redo"],
|
|
310750
|
+
"create.table": ["insertTableAt"],
|
|
310751
|
+
"tables.delete": ["insertTableAt"],
|
|
310752
|
+
"tables.clearContents": ["insertTableAt"],
|
|
310753
|
+
"tables.move": ["insertTableAt"],
|
|
310754
|
+
"tables.setLayout": ["insertTableAt"],
|
|
310755
|
+
"tables.setAltText": ["insertTableAt"],
|
|
310756
|
+
"tables.insertRow": ["insertTableAt"],
|
|
310757
|
+
"tables.deleteRow": ["insertTableAt"],
|
|
310758
|
+
"tables.setRowHeight": ["insertTableAt"],
|
|
310759
|
+
"tables.distributeRows": ["insertTableAt"],
|
|
310760
|
+
"tables.setRowOptions": ["insertTableAt"],
|
|
310761
|
+
"tables.insertColumn": ["insertTableAt"],
|
|
310762
|
+
"tables.deleteColumn": ["insertTableAt"],
|
|
310763
|
+
"tables.setColumnWidth": ["insertTableAt"],
|
|
310764
|
+
"tables.distributeColumns": ["insertTableAt"],
|
|
310765
|
+
"tables.insertCell": ["insertTableAt"],
|
|
310766
|
+
"tables.deleteCell": ["insertTableAt"],
|
|
310767
|
+
"tables.mergeCells": ["insertTableAt"],
|
|
310768
|
+
"tables.unmergeCells": ["insertTableAt"],
|
|
310769
|
+
"tables.splitCell": ["insertTableAt"],
|
|
310770
|
+
"tables.setCellProperties": ["insertTableAt"],
|
|
310771
|
+
"tables.convertFromText": ["insertTableAt"],
|
|
310772
|
+
"tables.split": ["insertTableAt"],
|
|
310773
|
+
"tables.convertToText": ["insertTableAt"],
|
|
310774
|
+
"tables.sort": ["insertTableAt"],
|
|
310775
|
+
"tables.setStyle": ["insertTableAt"],
|
|
310776
|
+
"tables.clearStyle": ["insertTableAt"],
|
|
310777
|
+
"tables.setStyleOption": ["insertTableAt"],
|
|
310778
|
+
"tables.setBorder": ["insertTableAt"],
|
|
310779
|
+
"tables.clearBorder": ["insertTableAt"],
|
|
310780
|
+
"tables.applyBorderPreset": ["insertTableAt"],
|
|
310781
|
+
"tables.setShading": ["insertTableAt"],
|
|
310782
|
+
"tables.clearShading": ["insertTableAt"],
|
|
310783
|
+
"tables.setTablePadding": ["insertTableAt"],
|
|
310784
|
+
"tables.setCellPadding": ["insertTableAt"],
|
|
310785
|
+
"tables.setCellSpacing": ["insertTableAt"],
|
|
310786
|
+
"tables.clearCellSpacing": ["insertTableAt"],
|
|
310787
|
+
"create.tableOfContents": ["insertTableOfContentsAt"],
|
|
310788
|
+
"toc.configure": ["setTableOfContentsInstructionById"],
|
|
310789
|
+
"toc.update": ["replaceTableOfContentsContentById"],
|
|
310790
|
+
"toc.remove": ["deleteTableOfContentsById"],
|
|
310791
|
+
"toc.markEntry": ["insertTableOfContentsEntryAt"],
|
|
310792
|
+
"toc.unmarkEntry": ["deleteTableOfContentsEntryAt"],
|
|
310793
|
+
"toc.editEntry": ["updateTableOfContentsEntryAt"],
|
|
310794
|
+
"bookmarks.list": ["insertBookmark"],
|
|
310795
|
+
"bookmarks.get": ["insertBookmark"],
|
|
310796
|
+
"bookmarks.insert": ["insertBookmark"],
|
|
310797
|
+
"bookmarks.rename": ["insertBookmark"],
|
|
310798
|
+
"bookmarks.remove": ["insertBookmark"],
|
|
310799
|
+
"footnotes.list": ["insertContent"],
|
|
310800
|
+
"footnotes.get": ["insertContent"],
|
|
310801
|
+
"footnotes.insert": ["insertContent"],
|
|
310802
|
+
"footnotes.update": ["insertContent"],
|
|
310803
|
+
"footnotes.remove": ["insertContent"],
|
|
310804
|
+
"footnotes.configure": ["insertContent"],
|
|
310805
|
+
"crossRefs.list": ["insertContent"],
|
|
310806
|
+
"crossRefs.get": ["insertContent"],
|
|
310807
|
+
"crossRefs.insert": ["insertContent"],
|
|
310808
|
+
"crossRefs.rebuild": ["insertContent"],
|
|
310809
|
+
"crossRefs.remove": ["insertContent"],
|
|
310810
|
+
"index.list": ["insertContent"],
|
|
310811
|
+
"index.get": ["insertContent"],
|
|
310812
|
+
"index.insert": ["insertContent"],
|
|
310813
|
+
"index.configure": ["insertContent"],
|
|
310814
|
+
"index.rebuild": ["insertContent"],
|
|
310815
|
+
"index.remove": ["insertContent"],
|
|
310816
|
+
"index.entries.list": ["insertContent"],
|
|
310817
|
+
"index.entries.get": ["insertContent"],
|
|
310818
|
+
"index.entries.insert": ["insertContent"],
|
|
310819
|
+
"index.entries.update": ["insertContent"],
|
|
310820
|
+
"index.entries.remove": ["insertContent"],
|
|
310821
|
+
"captions.list": ["insertContent"],
|
|
310822
|
+
"captions.get": ["insertContent"],
|
|
310823
|
+
"captions.insert": ["insertContent"],
|
|
310824
|
+
"captions.update": ["insertContent"],
|
|
310825
|
+
"captions.remove": ["insertContent"],
|
|
310826
|
+
"captions.configure": ["insertContent"],
|
|
310827
|
+
"fields.list": ["insertContent"],
|
|
310828
|
+
"fields.get": ["insertContent"],
|
|
310829
|
+
"fields.insert": ["insertContent"],
|
|
310830
|
+
"fields.rebuild": ["insertContent"],
|
|
310831
|
+
"fields.remove": ["insertContent"],
|
|
310832
|
+
"citations.list": ["insertContent"],
|
|
310833
|
+
"citations.get": ["insertContent"],
|
|
310834
|
+
"citations.insert": ["insertContent"],
|
|
310835
|
+
"citations.update": ["insertContent"],
|
|
310836
|
+
"citations.remove": ["insertContent"],
|
|
310837
|
+
"citations.sources.list": ["insertContent"],
|
|
310838
|
+
"citations.sources.get": ["insertContent"],
|
|
310839
|
+
"citations.sources.insert": ["insertContent"],
|
|
310840
|
+
"citations.sources.update": ["insertContent"],
|
|
310841
|
+
"citations.sources.remove": ["insertContent"],
|
|
310842
|
+
"citations.bibliography.get": ["insertContent"],
|
|
310843
|
+
"citations.bibliography.insert": ["insertContent"],
|
|
310844
|
+
"citations.bibliography.configure": ["insertContent"],
|
|
310845
|
+
"citations.bibliography.rebuild": ["insertContent"],
|
|
310846
|
+
"citations.bibliography.remove": ["insertContent"],
|
|
310847
|
+
"authorities.list": ["insertContent"],
|
|
310848
|
+
"authorities.get": ["insertContent"],
|
|
310849
|
+
"authorities.insert": ["insertContent"],
|
|
310850
|
+
"authorities.configure": ["insertContent"],
|
|
310851
|
+
"authorities.rebuild": ["insertContent"],
|
|
310852
|
+
"authorities.remove": ["insertContent"],
|
|
310853
|
+
"authorities.entries.list": ["insertContent"],
|
|
310854
|
+
"authorities.entries.get": ["insertContent"],
|
|
310855
|
+
"authorities.entries.insert": ["insertContent"],
|
|
310856
|
+
"authorities.entries.update": ["insertContent"],
|
|
310857
|
+
"authorities.entries.remove": ["insertContent"],
|
|
310858
|
+
"create.image": ["setImage"],
|
|
310859
|
+
"images.delete": ["setImage"],
|
|
310860
|
+
"images.move": ["setImage"],
|
|
310861
|
+
"images.convertToInline": ["setImage"],
|
|
310862
|
+
"images.convertToFloating": ["setImage"],
|
|
310863
|
+
"images.setSize": ["setImage"],
|
|
310864
|
+
"images.setWrapType": ["setImage"],
|
|
310865
|
+
"images.setWrapSide": ["setImage"],
|
|
310866
|
+
"images.setWrapDistances": ["setImage"],
|
|
310867
|
+
"images.setPosition": ["setImage"],
|
|
310868
|
+
"images.setAnchorOptions": ["setImage"],
|
|
310869
|
+
"images.setZOrder": ["setImage"],
|
|
310870
|
+
"images.scale": ["setImage"],
|
|
310871
|
+
"images.setLockAspectRatio": ["setImage"],
|
|
310872
|
+
"images.rotate": ["setImage"],
|
|
310873
|
+
"images.flip": ["setImage"],
|
|
310874
|
+
"images.crop": ["setImage"],
|
|
310875
|
+
"images.resetCrop": ["setImage"],
|
|
310876
|
+
"images.replaceSource": ["setImage"],
|
|
310877
|
+
"images.setAltText": ["setImage"],
|
|
310878
|
+
"images.setDecorative": ["setImage"],
|
|
310879
|
+
"images.setName": ["setImage"],
|
|
310880
|
+
"images.setHyperlink": ["setImage"],
|
|
310881
|
+
"images.insertCaption": ["setImage"],
|
|
310882
|
+
"images.updateCaption": ["setImage"],
|
|
310883
|
+
"images.removeCaption": ["setImage"]
|
|
310884
|
+
};
|
|
310885
|
+
VALID_CAPABILITY_REASON_CODES = new Set(CAPABILITY_REASON_CODES);
|
|
310886
|
+
REQUIRED_HELPERS = {
|
|
310887
|
+
"blocks.delete": (editor) => typeof editor.helpers?.blockNode?.getBlockNodeById === "function",
|
|
310888
|
+
"sections.setOddEvenHeadersFooters": (editor) => Boolean(editor.converter),
|
|
310889
|
+
"sections.setHeaderFooterRef": (editor) => Boolean(editor.converter),
|
|
310890
|
+
"tables.setDefaultStyle": (editor) => Boolean(editor.converter),
|
|
310891
|
+
"tables.clearDefaultStyle": (editor) => Boolean(editor.converter),
|
|
310892
|
+
"headerFooters.refs.set": (editor) => Boolean(editor.converter),
|
|
310893
|
+
"headerFooters.refs.setLinkedToPrevious": (editor) => Boolean(editor.converter),
|
|
310894
|
+
"headerFooters.parts.list": (editor) => Boolean(editor.converter),
|
|
310895
|
+
"headerFooters.parts.create": (editor) => Boolean(editor.converter),
|
|
310896
|
+
"headerFooters.parts.delete": (editor) => Boolean(editor.converter),
|
|
310897
|
+
"lists.setLevelPictureBullet": (editor) => {
|
|
310898
|
+
const converter = editor.converter;
|
|
310899
|
+
return Boolean(converter?.convertedXml?.["word/numbering.xml"]);
|
|
310900
|
+
}
|
|
310901
|
+
};
|
|
310902
|
+
SCHEMA_NODE_GATES = [
|
|
310903
|
+
{
|
|
310904
|
+
prefix: "crossRefs.",
|
|
310905
|
+
nodes: ["crossReference"]
|
|
310906
|
+
},
|
|
310907
|
+
{
|
|
310908
|
+
prefix: "citations.bibliography.",
|
|
310909
|
+
nodes: ["bibliography"]
|
|
310910
|
+
},
|
|
310911
|
+
{
|
|
310912
|
+
prefix: "citations.sources.",
|
|
310913
|
+
nodes: ["citation"]
|
|
310914
|
+
},
|
|
310915
|
+
{
|
|
310916
|
+
prefix: "citations.",
|
|
310917
|
+
nodes: ["citation"]
|
|
310918
|
+
},
|
|
310919
|
+
{
|
|
310920
|
+
prefix: "authorities.entries.",
|
|
310921
|
+
nodes: ["authorityEntry"]
|
|
310922
|
+
},
|
|
310923
|
+
{
|
|
310924
|
+
prefix: "authorities.",
|
|
310925
|
+
nodes: ["tableOfAuthorities"]
|
|
310926
|
+
},
|
|
310927
|
+
{
|
|
310928
|
+
prefix: "index.entries.",
|
|
310929
|
+
nodes: ["indexEntry"]
|
|
310930
|
+
},
|
|
310931
|
+
{
|
|
310932
|
+
prefix: "index.",
|
|
310933
|
+
nodes: ["documentIndex", "index"]
|
|
310934
|
+
},
|
|
310935
|
+
{
|
|
310936
|
+
prefix: "fields.",
|
|
310937
|
+
nodes: ["sequenceField"]
|
|
310938
|
+
},
|
|
310939
|
+
{
|
|
310940
|
+
prefix: "footnotes.",
|
|
310941
|
+
nodes: ["footnoteReference", "endnoteReference"]
|
|
310942
|
+
}
|
|
310943
|
+
];
|
|
310944
|
+
schemaGatedIds = /* @__PURE__ */ new Set;
|
|
310945
|
+
for (const gate of SCHEMA_NODE_GATES) {
|
|
310946
|
+
const matchingIds = Object.keys(REQUIRED_COMMANDS).filter((id2) => id2.startsWith(gate.prefix) && !schemaGatedIds.has(id2));
|
|
310947
|
+
for (const id2 of matchingIds) {
|
|
310948
|
+
schemaGatedIds.add(id2);
|
|
310949
|
+
const existingCheck = REQUIRED_HELPERS[id2];
|
|
310950
|
+
if (existingCheck)
|
|
310951
|
+
REQUIRED_HELPERS[id2] = (editor) => existingCheck(editor) && hasSchemaNode(editor, ...gate.nodes);
|
|
310952
|
+
else
|
|
310953
|
+
REQUIRED_HELPERS[id2] = (editor) => hasSchemaNode(editor, ...gate.nodes);
|
|
310954
|
+
}
|
|
310955
|
+
}
|
|
310956
|
+
SUPPORTED_NON_UNIFORM_STRATEGIES = [
|
|
310957
|
+
"error",
|
|
310958
|
+
"useLeadingRun",
|
|
310959
|
+
"majority",
|
|
310960
|
+
"union"
|
|
310961
|
+
];
|
|
310962
|
+
SUPPORTED_SET_MARKS = [
|
|
310963
|
+
"bold",
|
|
310964
|
+
"italic",
|
|
310965
|
+
"underline",
|
|
310966
|
+
"strike"
|
|
310967
|
+
];
|
|
310732
310968
|
PROPERTIES_KEY_BY_CHANNEL = {
|
|
310733
310969
|
run: "runProperties",
|
|
310734
310970
|
paragraph: "paragraphProperties"
|
|
@@ -310772,10 +311008,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
310772
311008
|
right: "right",
|
|
310773
311009
|
justify: "both"
|
|
310774
311010
|
};
|
|
310775
|
-
SUPPORTED_DELETE_NODE_TYPES3 = new Set(DELETABLE_BLOCK_NODE_TYPES2);
|
|
310776
|
-
REJECTED_DELETE_NODE_TYPES3 = new Set(["tableRow", "tableCell"]);
|
|
310777
|
-
RANGE_DELETE_SAFE_NODE_TYPES = new Set(["passthroughBlock", "passthroughInline"]);
|
|
310778
|
-
HEADING_PATTERN = /^Heading(\d)$/;
|
|
310779
311011
|
ORDERED_PRESET_CONFIG = {
|
|
310780
311012
|
decimal: {
|
|
310781
311013
|
numFmt: "decimal",
|
|
@@ -322484,11 +322716,11 @@ var init_zipper_DbkgrypV_es = __esm(() => {
|
|
|
322484
322716
|
|
|
322485
322717
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
322486
322718
|
var init_super_editor_es = __esm(() => {
|
|
322487
|
-
|
|
322488
|
-
|
|
322719
|
+
init_src_DwJWNVLl_es();
|
|
322720
|
+
init_SuperConverter_CorFllow_es();
|
|
322489
322721
|
init_jszip_C49i9kUs_es();
|
|
322490
322722
|
init_xml_js_CqGKpaft_es();
|
|
322491
|
-
|
|
322723
|
+
init_create_headless_toolbar_B7Y50cRk_es();
|
|
322492
322724
|
init_constants_CGhJRd87_es();
|
|
322493
322725
|
init_dist_B8HfvhaK_es();
|
|
322494
322726
|
init_unified_Dsuw2be5_es();
|