@superdoc-dev/mcp 0.3.0-next.6 → 0.3.0-next.8
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 +300 -345
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -93206,6 +93206,18 @@ var init_contract = __esm(() => {
|
|
|
93206
93206
|
type: "string"
|
|
93207
93207
|
}
|
|
93208
93208
|
},
|
|
93209
|
+
activeCommentIds: {
|
|
93210
|
+
type: "array",
|
|
93211
|
+
items: {
|
|
93212
|
+
type: "string"
|
|
93213
|
+
}
|
|
93214
|
+
},
|
|
93215
|
+
activeChangeIds: {
|
|
93216
|
+
type: "array",
|
|
93217
|
+
items: {
|
|
93218
|
+
type: "string"
|
|
93219
|
+
}
|
|
93220
|
+
},
|
|
93209
93221
|
text: {
|
|
93210
93222
|
type: "string"
|
|
93211
93223
|
}
|
|
@@ -93214,7 +93226,9 @@ var init_contract = __esm(() => {
|
|
|
93214
93226
|
required: [
|
|
93215
93227
|
"empty",
|
|
93216
93228
|
"target",
|
|
93217
|
-
"activeMarks"
|
|
93229
|
+
"activeMarks",
|
|
93230
|
+
"activeCommentIds",
|
|
93231
|
+
"activeChangeIds"
|
|
93218
93232
|
]
|
|
93219
93233
|
}
|
|
93220
93234
|
},
|
|
@@ -204776,7 +204790,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
|
|
|
204776
204790
|
emptyOptions2 = {};
|
|
204777
204791
|
});
|
|
204778
204792
|
|
|
204779
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
204793
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-4akUYfWt.es.js
|
|
204780
204794
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
204781
204795
|
const fieldValue = extension$1.config[field];
|
|
204782
204796
|
if (typeof fieldValue === "function")
|
|
@@ -207448,44 +207462,6 @@ function executeResolveRange(adapter, input) {
|
|
|
207448
207462
|
validateResolveRangeInput(input);
|
|
207449
207463
|
return adapter.resolve(input);
|
|
207450
207464
|
}
|
|
207451
|
-
function isEntityAddress(value) {
|
|
207452
|
-
if (!isRecord(value))
|
|
207453
|
-
return false;
|
|
207454
|
-
if (value.kind !== "entity")
|
|
207455
|
-
return false;
|
|
207456
|
-
if (typeof value.entityType !== "string" || !VALID_ENTITY_TYPES.has(value.entityType))
|
|
207457
|
-
return false;
|
|
207458
|
-
if (typeof value.entityId !== "string" || value.entityId.length === 0)
|
|
207459
|
-
return false;
|
|
207460
|
-
return true;
|
|
207461
|
-
}
|
|
207462
|
-
function validateScrollIntoViewInput(input) {
|
|
207463
|
-
if (!isRecord(input))
|
|
207464
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "ranges.scrollIntoView input must be a non-null object.");
|
|
207465
|
-
assertNoUnknownFields(input, SCROLL_INTO_VIEW_ALLOWED_KEYS, "ranges.scrollIntoView");
|
|
207466
|
-
const { target, block, behavior } = input;
|
|
207467
|
-
if (target === undefined || target === null)
|
|
207468
|
-
throw new DocumentApiValidationError("INVALID_TARGET", "ranges.scrollIntoView requires a target.", { field: "target" });
|
|
207469
|
-
if (!isTextAddress(target) && !isTextTarget(target) && !isEntityAddress(target))
|
|
207470
|
-
throw new DocumentApiValidationError("INVALID_TARGET", "target must be a TextAddress, TextTarget, or EntityAddress object.", {
|
|
207471
|
-
field: "target",
|
|
207472
|
-
value: target
|
|
207473
|
-
});
|
|
207474
|
-
if (block !== undefined && (typeof block !== "string" || !VALID_BLOCK_VALUES.has(block)))
|
|
207475
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `block must be one of "start" | "center" | "end" | "nearest", got ${JSON.stringify(block)}.`, {
|
|
207476
|
-
field: "block",
|
|
207477
|
-
value: block
|
|
207478
|
-
});
|
|
207479
|
-
if (behavior !== undefined && (typeof behavior !== "string" || !VALID_BEHAVIOR_VALUES.has(behavior)))
|
|
207480
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `behavior must be "auto" or "smooth", got ${JSON.stringify(behavior)}.`, {
|
|
207481
|
-
field: "behavior",
|
|
207482
|
-
value: behavior
|
|
207483
|
-
});
|
|
207484
|
-
}
|
|
207485
|
-
async function executeScrollIntoView(adapter, input) {
|
|
207486
|
-
validateScrollIntoViewInput(input);
|
|
207487
|
-
return adapter.scrollIntoView(input);
|
|
207488
|
-
}
|
|
207489
207465
|
function validateSelectionCurrentInput(input) {
|
|
207490
207466
|
if (input === undefined)
|
|
207491
207467
|
return;
|
|
@@ -212699,28 +212675,15 @@ function createDocumentApi(adapters) {
|
|
|
212699
212675
|
query: { match(input) {
|
|
212700
212676
|
return executeQueryMatch(adapters.query, input);
|
|
212701
212677
|
} },
|
|
212702
|
-
ranges: {
|
|
212703
|
-
|
|
212704
|
-
|
|
212705
|
-
|
|
212706
|
-
|
|
212707
|
-
|
|
212708
|
-
|
|
212709
|
-
|
|
212710
|
-
|
|
212711
|
-
current(input) {
|
|
212712
|
-
const adapter = adapters.selection;
|
|
212713
|
-
if (!adapter)
|
|
212714
|
-
throw new DocumentApiValidationError("SELECTION_ADAPTER_UNAVAILABLE", "No selection adapter was registered. Pass `selection` in DocumentApiAdapters to call selection.current().");
|
|
212715
|
-
return executeSelectionCurrent(adapter, input);
|
|
212716
|
-
},
|
|
212717
|
-
onChange(listener) {
|
|
212718
|
-
const adapter = adapters.selection;
|
|
212719
|
-
if (!adapter)
|
|
212720
|
-
throw new DocumentApiValidationError("SELECTION_ADAPTER_UNAVAILABLE", "No selection adapter was registered. Pass `selection` in DocumentApiAdapters to call selection.onChange().");
|
|
212721
|
-
return adapter.onChange(listener);
|
|
212722
|
-
}
|
|
212723
|
-
},
|
|
212678
|
+
ranges: { resolve(input) {
|
|
212679
|
+
return executeResolveRange(adapters.ranges, input);
|
|
212680
|
+
} },
|
|
212681
|
+
selection: { current(input) {
|
|
212682
|
+
const adapter = adapters.selection;
|
|
212683
|
+
if (!adapter)
|
|
212684
|
+
throw new DocumentApiValidationError("SELECTION_ADAPTER_UNAVAILABLE", "No selection adapter was registered. Pass `selection` in DocumentApiAdapters to call selection.current().");
|
|
212685
|
+
return executeSelectionCurrent(adapter, input);
|
|
212686
|
+
} },
|
|
212724
212687
|
mutations: {
|
|
212725
212688
|
preview(input) {
|
|
212726
212689
|
return adapters.mutations.preview(input);
|
|
@@ -242702,7 +242665,7 @@ var isRegExp = (value) => {
|
|
|
242702
242665
|
tracked: false,
|
|
242703
242666
|
carrier: runAttributeCarrier(runPropertyKey ?? key),
|
|
242704
242667
|
schema
|
|
242705
|
-
}), INLINE_PROPERTY_REGISTRY, INLINE_PROPERTY_KEY_SET, INLINE_PROPERTY_BY_KEY, UNDERLINE_OBJECT_ALLOWED_KEYS, SHADING_ALLOWED_KEYS, BORDER_ALLOWED_KEYS, FIT_TEXT_ALLOWED_KEYS, LANG_ALLOWED_KEYS, RFONTS_ALLOWED_KEYS, EAST_ASIAN_LAYOUT_ALLOWED_KEYS, STYLISTIC_SET_ALLOWED_KEYS, VERT_ALIGN_VALUES, PROPERTY_VALIDATOR_MAP, NONE_FAILURES, NONE_THROWS, T_NOT_FOUND, T_NOT_FOUND_CAPABLE, T_PLAN_ENGINE, T_NOT_FOUND_COMMAND, T_IMAGE_COMMAND, T_CC_READ, T_CC_MUTATION, T_CC_TYPED, T_CC_TYPED_READ, T_CC_RAW, T_QUERY_MATCH, T_SECTION_CREATE, T_SECTION_READ, T_PARAGRAPH_MUTATION, T_SECTION_MUTATION, T_SECTION_SETTINGS_MUTATION, T_HEADER_FOOTER_MUTATION, T_STORY, T_REF_READ_LIST, T_REF_MUTATION, T_REF_MUTATION_REMOVE, T_REF_INSERT, T_PROTECTION_READ, T_PROTECTION_MUTATION, T_PERM_RANGE_READ, T_PERM_RANGE_MUTATION, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS, OPERATION_DEFINITIONS, OPERATION_IDS, COMMAND_CATALOG, PARAGRAPH_ALIGNMENTS, TAB_STOP_ALIGNMENTS, TAB_STOP_LEADERS, BORDER_SIDES, CLEAR_BORDER_SIDES, LINE_RULES, PARAGRAPH_DIRECTIONS, ALIGNMENT_POLICIES, PARAGRAPH_BLOCK_TYPES, SET_STYLE_KEYS, CLEAR_STYLE_KEYS, RESET_DIRECT_FORMATTING_KEYS, SET_ALIGNMENT_KEYS, CLEAR_ALIGNMENT_KEYS, SET_INDENTATION_KEYS, CLEAR_INDENTATION_KEYS, SET_SPACING_KEYS, CLEAR_SPACING_KEYS, SET_KEEP_OPTIONS_KEYS, SET_OUTLINE_LEVEL_KEYS, SET_FLOW_OPTIONS_KEYS, SET_TAB_STOP_KEYS, CLEAR_TAB_STOP_KEYS, CLEAR_ALL_TAB_STOPS_KEYS, SET_BORDER_KEYS, CLEAR_BORDER_KEYS, SET_SHADING_KEYS, CLEAR_SHADING_KEYS, SET_DIRECTION_KEYS, CLEAR_DIRECTION_KEYS, ST_ON_OFF_ON_VALUES, ST_ON_OFF_OFF_VALUES, ST_UNDERLINE_VALUES, ST_UNDERLINE_VALUE_SET, ST_VERTICAL_ALIGN_RUN, ST_EM, ST_TEXT_ALIGNMENT, ST_TEXT_DIRECTION, ST_TEXTBOX_TIGHT_WRAP, ST_TEXT_TRANSFORM, ST_JUSTIFICATION, FONT_FAMILY_SCHEMA, COLOR_SCHEMA, SPACING_SCHEMA, INDENT_SCHEMA, UNDERLINE_SCHEMA, BORDER_PROPERTIES_SCHEMA, SHADING_SCHEMA, LANG_SCHEMA, EAST_ASIAN_LAYOUT_SCHEMA, FIT_TEXT_SCHEMA, NUMBERING_PROPERTIES_SCHEMA, FRAME_PR_SCHEMA, PARAGRAPH_BORDERS_SCHEMA, TAB_STOP_SCHEMA, PROPERTY_REGISTRY, ALLOWED_KEYS_BY_CHANNEL, PROPERTY_INDEX, EXCLUDED_KEYS, INPUT_ALLOWED_KEYS, TARGET_ALLOWED_KEYS, OPTIONS_ALLOWED_KEYS, VALID_CHANNELS, Z_ORDER_RELATIVE_HEIGHT_MAX = 4294967295, nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, rangeSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, paragraphTargetSchema, sectionAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchBlockSchema, storyLocatorSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, textSelectorSchema, nodeSelectorSchema, sdMutationResolutionSchema, sdMutationSuccessSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentStylesSchema, documentDefaultsSchema, listKindSchema, listInsertPositionSchema, sectionBreakTypeSchema, sectionOrientationSchema, sectionVerticalAlignSchema, sectionDirectionSchema, sectionHeaderFooterKindSchema, sectionHeaderFooterVariantSchema, sectionLineNumberRestartSchema, sectionPageNumberFormatSchema, sectionRangeDomainSchema, sectionPageMarginsSchema, sectionHeaderFooterMarginsSchema, sectionPageSetupSchema, sectionColumnsSchema, sectionLineNumberingSchema, sectionPageNumberingSchema, sectionHeaderFooterRefsSchema, sectionBorderSpecSchema, sectionPageBordersSchema, sectionMutationSuccessSchema, documentMutationSuccessSchema, paragraphMutationTargetSchema, paragraphMutationSuccessSchema, createSectionBreakSuccessSchema, trackChangeWordRevisionIdsSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, inlinePropertyCapabilitySchema, formatCapabilitiesSchema, planEngineCapabilitiesSchema, nullableTableBorderSpecSchema, sdFragmentSchema, placementSchema, nestingPolicySchema, tableCreateLocationSchema, formatInlineAliasOperationSchemas, tocMutationFailureSchema, tocMutationSuccessSchema, tocEntryMutationFailureSchema, tocEntryMutationSuccessSchema, hyperlinkTargetSchema, hyperlinkReadPropertiesSchema, hyperlinkSpecSchema, hyperlinkPatchSchema, hyperlinkDomainSchema, hyperlinkMutationSuccessSchema, hyperlinkMutationFailureSchema, contentControlTargetSchema, contentControlMutationSuccessSchema, contentControlMutationFailureSchema, ccListResultSchema, ccInfoSchema, refFailureSchema, bookmarkAddressSchema, bookmarkMutation, footnoteAddressSchema, footnoteConfigScopeSchema, footnoteNumberingSchema, footnoteMutation, footnoteConfig, crossRefAddressSchema, crossRefTargetSchema, crossRefDisplaySchema, crossRefMutation, indexAddressSchema, indexEntryAddressSchema, indexConfigSchema, indexEntryDataSchema, indexEntryPatchSchema, indexMutation, indexEntryMutation, captionAddressSchema, captionMutation, captionConfig, fieldAddressSchema, fieldMutation, citationAddressSchema, citationSourceAddressSchema, bibliographyAddressSchema, citationMutation, citationSourceMutation, bibliographyMutation, citationPersonSchema, citationSourceFieldsSchema, tocCreateLocationSchema, authoritiesAddressSchema, authorityEntryAddressSchema, authoritiesConfigSchema, authorityEntryDataSchema, authorityEntryPatchSchema, authoritiesMutation, authorityEntryMutation, diffCoverageSchema, diffSummarySchema, diffSnapshotSchema, diffPayloadSchema, GROUP_METADATA, STEP_OP_CATALOG_UNFROZEN, PUBLIC_STEP_OP_CATALOG_UNFROZEN, PUBLIC_MUTATION_STEP_OP_IDS, PUBLIC_MUTATION_STEP_OP_SET, CAPABILITY_REASON_CODES, VALID_EDGE_VALUES, VALID_EDGE_NODE_TYPES, VALID_DOCUMENT_EDGES, VALID_REF_BOUNDARIES, VALID_ANCHOR_KINDS, RESOLVE_RANGE_ALLOWED_KEYS,
|
|
242668
|
+
}), INLINE_PROPERTY_REGISTRY, INLINE_PROPERTY_KEY_SET, INLINE_PROPERTY_BY_KEY, UNDERLINE_OBJECT_ALLOWED_KEYS, SHADING_ALLOWED_KEYS, BORDER_ALLOWED_KEYS, FIT_TEXT_ALLOWED_KEYS, LANG_ALLOWED_KEYS, RFONTS_ALLOWED_KEYS, EAST_ASIAN_LAYOUT_ALLOWED_KEYS, STYLISTIC_SET_ALLOWED_KEYS, VERT_ALIGN_VALUES, PROPERTY_VALIDATOR_MAP, NONE_FAILURES, NONE_THROWS, T_NOT_FOUND, T_NOT_FOUND_CAPABLE, T_PLAN_ENGINE, T_NOT_FOUND_COMMAND, T_IMAGE_COMMAND, T_CC_READ, T_CC_MUTATION, T_CC_TYPED, T_CC_TYPED_READ, T_CC_RAW, T_QUERY_MATCH, T_SECTION_CREATE, T_SECTION_READ, T_PARAGRAPH_MUTATION, T_SECTION_MUTATION, T_SECTION_SETTINGS_MUTATION, T_HEADER_FOOTER_MUTATION, T_STORY, T_REF_READ_LIST, T_REF_MUTATION, T_REF_MUTATION_REMOVE, T_REF_INSERT, T_PROTECTION_READ, T_PROTECTION_MUTATION, T_PERM_RANGE_READ, T_PERM_RANGE_MUTATION, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS, OPERATION_DEFINITIONS, OPERATION_IDS, COMMAND_CATALOG, PARAGRAPH_ALIGNMENTS, TAB_STOP_ALIGNMENTS, TAB_STOP_LEADERS, BORDER_SIDES, CLEAR_BORDER_SIDES, LINE_RULES, PARAGRAPH_DIRECTIONS, ALIGNMENT_POLICIES, PARAGRAPH_BLOCK_TYPES, SET_STYLE_KEYS, CLEAR_STYLE_KEYS, RESET_DIRECT_FORMATTING_KEYS, SET_ALIGNMENT_KEYS, CLEAR_ALIGNMENT_KEYS, SET_INDENTATION_KEYS, CLEAR_INDENTATION_KEYS, SET_SPACING_KEYS, CLEAR_SPACING_KEYS, SET_KEEP_OPTIONS_KEYS, SET_OUTLINE_LEVEL_KEYS, SET_FLOW_OPTIONS_KEYS, SET_TAB_STOP_KEYS, CLEAR_TAB_STOP_KEYS, CLEAR_ALL_TAB_STOPS_KEYS, SET_BORDER_KEYS, CLEAR_BORDER_KEYS, SET_SHADING_KEYS, CLEAR_SHADING_KEYS, SET_DIRECTION_KEYS, CLEAR_DIRECTION_KEYS, ST_ON_OFF_ON_VALUES, ST_ON_OFF_OFF_VALUES, ST_UNDERLINE_VALUES, ST_UNDERLINE_VALUE_SET, ST_VERTICAL_ALIGN_RUN, ST_EM, ST_TEXT_ALIGNMENT, ST_TEXT_DIRECTION, ST_TEXTBOX_TIGHT_WRAP, ST_TEXT_TRANSFORM, ST_JUSTIFICATION, FONT_FAMILY_SCHEMA, COLOR_SCHEMA, SPACING_SCHEMA, INDENT_SCHEMA, UNDERLINE_SCHEMA, BORDER_PROPERTIES_SCHEMA, SHADING_SCHEMA, LANG_SCHEMA, EAST_ASIAN_LAYOUT_SCHEMA, FIT_TEXT_SCHEMA, NUMBERING_PROPERTIES_SCHEMA, FRAME_PR_SCHEMA, PARAGRAPH_BORDERS_SCHEMA, TAB_STOP_SCHEMA, PROPERTY_REGISTRY, ALLOWED_KEYS_BY_CHANNEL, PROPERTY_INDEX, EXCLUDED_KEYS, INPUT_ALLOWED_KEYS, TARGET_ALLOWED_KEYS, OPTIONS_ALLOWED_KEYS, VALID_CHANNELS, Z_ORDER_RELATIVE_HEIGHT_MAX = 4294967295, nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, rangeSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, paragraphTargetSchema, sectionAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchBlockSchema, storyLocatorSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, textSelectorSchema, nodeSelectorSchema, sdMutationResolutionSchema, sdMutationSuccessSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentStylesSchema, documentDefaultsSchema, listKindSchema, listInsertPositionSchema, sectionBreakTypeSchema, sectionOrientationSchema, sectionVerticalAlignSchema, sectionDirectionSchema, sectionHeaderFooterKindSchema, sectionHeaderFooterVariantSchema, sectionLineNumberRestartSchema, sectionPageNumberFormatSchema, sectionRangeDomainSchema, sectionPageMarginsSchema, sectionHeaderFooterMarginsSchema, sectionPageSetupSchema, sectionColumnsSchema, sectionLineNumberingSchema, sectionPageNumberingSchema, sectionHeaderFooterRefsSchema, sectionBorderSpecSchema, sectionPageBordersSchema, sectionMutationSuccessSchema, documentMutationSuccessSchema, paragraphMutationTargetSchema, paragraphMutationSuccessSchema, createSectionBreakSuccessSchema, trackChangeWordRevisionIdsSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, inlinePropertyCapabilitySchema, formatCapabilitiesSchema, planEngineCapabilitiesSchema, nullableTableBorderSpecSchema, sdFragmentSchema, placementSchema, nestingPolicySchema, tableCreateLocationSchema, formatInlineAliasOperationSchemas, tocMutationFailureSchema, tocMutationSuccessSchema, tocEntryMutationFailureSchema, tocEntryMutationSuccessSchema, hyperlinkTargetSchema, hyperlinkReadPropertiesSchema, hyperlinkSpecSchema, hyperlinkPatchSchema, hyperlinkDomainSchema, hyperlinkMutationSuccessSchema, hyperlinkMutationFailureSchema, contentControlTargetSchema, contentControlMutationSuccessSchema, contentControlMutationFailureSchema, ccListResultSchema, ccInfoSchema, refFailureSchema, bookmarkAddressSchema, bookmarkMutation, footnoteAddressSchema, footnoteConfigScopeSchema, footnoteNumberingSchema, footnoteMutation, footnoteConfig, crossRefAddressSchema, crossRefTargetSchema, crossRefDisplaySchema, crossRefMutation, indexAddressSchema, indexEntryAddressSchema, indexConfigSchema, indexEntryDataSchema, indexEntryPatchSchema, indexMutation, indexEntryMutation, captionAddressSchema, captionMutation, captionConfig, fieldAddressSchema, fieldMutation, citationAddressSchema, citationSourceAddressSchema, bibliographyAddressSchema, citationMutation, citationSourceMutation, bibliographyMutation, citationPersonSchema, citationSourceFieldsSchema, tocCreateLocationSchema, authoritiesAddressSchema, authorityEntryAddressSchema, authoritiesConfigSchema, authorityEntryDataSchema, authorityEntryPatchSchema, authoritiesMutation, authorityEntryMutation, diffCoverageSchema, diffSummarySchema, diffSnapshotSchema, diffPayloadSchema, GROUP_METADATA, STEP_OP_CATALOG_UNFROZEN, PUBLIC_STEP_OP_CATALOG_UNFROZEN, PUBLIC_MUTATION_STEP_OP_IDS, PUBLIC_MUTATION_STEP_OP_SET, CAPABILITY_REASON_CODES, VALID_EDGE_VALUES, VALID_EDGE_NODE_TYPES, VALID_DOCUMENT_EDGES, VALID_REF_BOUNDARIES, VALID_ANCHOR_KINDS, RESOLVE_RANGE_ALLOWED_KEYS, SELECTION_CURRENT_ALLOWED_KEYS, CREATE_COMMENT_ALLOWED_KEYS, PATCH_COMMENT_ALLOWED_KEYS, STYLE_APPLY_INPUT_ALLOWED_KEYS, INLINE_ALIAS_INPUT_ALLOWED_KEYS, DELETE_INPUT_ALLOWED_KEYS, VALID_BEHAVIORS, CONTENT_KIND_SET, INLINE_KIND_SET, LEGACY_TOP_LEVEL_TYPES, TEXT_INSERT_ALLOWED_KEYS, STRUCTURAL_INSERT_ALLOWED_KEYS, VALID_INSERT_TYPES, LIST_KINDS, LIST_INSERT_POSITIONS, JOIN_DIRECTIONS, MUTATION_SCOPES, LEVEL_ALIGNMENTS, TRAILING_CHARACTERS, LIST_PRESET_IDS, VALID_BLOCK_NODE_TYPES$1, VALID_LIST_KINDS, VALID_INSERT_POSITIONS, VALID_JOIN_DIRECTIONS, VALID_MUTATION_SCOPES, VALID_LEVEL_ALIGNMENTS, VALID_TRAILING_CHARACTERS, VALID_LIST_PRESETS, VALID_CONTINUITY_VALUES, VALID_SEQUENCE_MODES, VALID_LIST_CREATE_MODES, TEXT_REPLACE_ALLOWED_KEYS, STRUCTURAL_REPLACE_ALLOWED_KEYS, VALID_HEADING_LEVELS, SECTION_BREAK_TYPES$1, SUPPORTED_DELETE_NODE_TYPES, REJECTED_DELETE_NODE_TYPES, VALID_BLOCK_NODE_TYPES, SNAPSHOT_VERSIONS, PAYLOAD_VERSIONS, VALID_STYLE_OPTION_FLAGS, TABLE_BORDER_COLOR_PATTERN, VALID_APPLY_TO_VALUES, VALID_BORDER_EDGE_KEYS, HEADER_FOOTER_KINDS$1, HEADER_FOOTER_VARIANTS$1, DEFAULT_SECTIONS_LIST_LIMIT = 250, SECTION_BREAK_TYPES, SECTION_ORIENTATIONS, SECTION_VERTICAL_ALIGNS, SECTION_DIRECTIONS, HEADER_FOOTER_KINDS, HEADER_FOOTER_VARIANTS, LINE_NUMBER_RESTARTS, PAGE_NUMBER_FORMATS, PAGE_BORDER_DISPLAYS, PAGE_BORDER_OFFSET_FROM_VALUES, PAGE_BORDER_Z_ORDER_VALUES, VALID_WRAP_TYPES, VALID_WRAP_SIDES, VALID_IMAGE_SIZE_UNITS, VALID_TOC_UPDATE_MODES, EDIT_ENTRY_PATCH_ALLOWED_KEYS, PATCH_FIELDS, CONTENT_CONTROL_TYPES, LOCK_MODES, CONTENT_CONTROL_APPEARANCES, VALID_NODE_KINDS, VALID_LOCK_MODES$1, VALID_CC_TYPES, VALID_CC_APPEARANCES, VALID_CONTENT_FORMATS, VALID_RAW_PATCH_OPS, VALID_SET_MODES, VALID_CREATE_LOCATION_KINDS, DEFAULT_PROTECTION_STATE, ADAPTER_GATED_PREFIXES, _buffers, _defaultCollectionId = null, _nextCollectionId = 1, generateV2HandlerEntity = (handlerName, translator$217) => ({
|
|
242706
242669
|
handlerName,
|
|
242707
242670
|
handler: (params) => {
|
|
242708
242671
|
const { nodes } = params;
|
|
@@ -257183,7 +257146,7 @@ var isRegExp = (value) => {
|
|
|
257183
257146
|
state.kern = kernNode.attributes["w:val"];
|
|
257184
257147
|
}
|
|
257185
257148
|
}, SuperConverter;
|
|
257186
|
-
var
|
|
257149
|
+
var init_SuperConverter_4akUYfWt_es = __esm(() => {
|
|
257187
257150
|
init_rolldown_runtime_Bg48TavK_es();
|
|
257188
257151
|
init_jszip_C49i9kUs_es();
|
|
257189
257152
|
init_xml_js_CqGKpaft_es();
|
|
@@ -270073,11 +270036,15 @@ var init_SuperConverter_CyrStvpz_es = __esm(() => {
|
|
|
270073
270036
|
empty: { type: "boolean" },
|
|
270074
270037
|
target: { oneOf: [textTargetSchema, { type: "null" }] },
|
|
270075
270038
|
activeMarks: arraySchema({ type: "string" }),
|
|
270039
|
+
activeCommentIds: arraySchema({ type: "string" }),
|
|
270040
|
+
activeChangeIds: arraySchema({ type: "string" }),
|
|
270076
270041
|
text: { type: "string" }
|
|
270077
270042
|
}, [
|
|
270078
270043
|
"empty",
|
|
270079
270044
|
"target",
|
|
270080
|
-
"activeMarks"
|
|
270045
|
+
"activeMarks",
|
|
270046
|
+
"activeCommentIds",
|
|
270047
|
+
"activeChangeIds"
|
|
270081
270048
|
])
|
|
270082
270049
|
},
|
|
270083
270050
|
"mutations.preview": {
|
|
@@ -271910,19 +271877,6 @@ var init_SuperConverter_CyrStvpz_es = __esm(() => {
|
|
|
271910
271877
|
"expectedRevision",
|
|
271911
271878
|
"in"
|
|
271912
271879
|
]);
|
|
271913
|
-
VALID_ENTITY_TYPES = new Set(["comment", "trackedChange"]);
|
|
271914
|
-
SCROLL_INTO_VIEW_ALLOWED_KEYS = new Set([
|
|
271915
|
-
"target",
|
|
271916
|
-
"block",
|
|
271917
|
-
"behavior"
|
|
271918
|
-
]);
|
|
271919
|
-
VALID_BLOCK_VALUES = new Set([
|
|
271920
|
-
"start",
|
|
271921
|
-
"center",
|
|
271922
|
-
"end",
|
|
271923
|
-
"nearest"
|
|
271924
|
-
]);
|
|
271925
|
-
VALID_BEHAVIOR_VALUES = new Set(["auto", "smooth"]);
|
|
271926
271880
|
SELECTION_CURRENT_ALLOWED_KEYS = new Set(["includeText"]);
|
|
271927
271881
|
CREATE_COMMENT_ALLOWED_KEYS = new Set([
|
|
271928
271882
|
"target",
|
|
@@ -294782,7 +294736,7 @@ var init_SuperConverter_CyrStvpz_es = __esm(() => {
|
|
|
294782
294736
|
};
|
|
294783
294737
|
});
|
|
294784
294738
|
|
|
294785
|
-
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-
|
|
294739
|
+
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-DeNFsEHx.es.js
|
|
294786
294740
|
function parseSizeUnit(val = "0") {
|
|
294787
294741
|
const length = val.toString() || "0";
|
|
294788
294742
|
const value = Number.parseFloat(length);
|
|
@@ -296463,10 +296417,17 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
|
|
|
296463
296417
|
active: false,
|
|
296464
296418
|
disabled: true
|
|
296465
296419
|
}];
|
|
296466
|
-
|
|
296467
|
-
|
|
296468
|
-
|
|
296469
|
-
|
|
296420
|
+
try {
|
|
296421
|
+
return [command, entry.state({
|
|
296422
|
+
context,
|
|
296423
|
+
superdoc
|
|
296424
|
+
})];
|
|
296425
|
+
} catch {
|
|
296426
|
+
return [command, {
|
|
296427
|
+
active: false,
|
|
296428
|
+
disabled: true
|
|
296429
|
+
}];
|
|
296430
|
+
}
|
|
296470
296431
|
});
|
|
296471
296432
|
return Object.fromEntries(entries);
|
|
296472
296433
|
}, createToolbarSnapshot = ({ superdoc, commands = [], toolbarRegistry }) => {
|
|
@@ -297404,8 +297365,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
|
|
|
297404
297365
|
}
|
|
297405
297366
|
};
|
|
297406
297367
|
};
|
|
297407
|
-
var
|
|
297408
|
-
|
|
297368
|
+
var init_create_headless_toolbar_DeNFsEHx_es = __esm(() => {
|
|
297369
|
+
init_SuperConverter_4akUYfWt_es();
|
|
297409
297370
|
init_constants_DrU4EASo_es();
|
|
297410
297371
|
init_dist_B8HfvhaK_es();
|
|
297411
297372
|
CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
|
|
@@ -351614,7 +351575,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
|
|
|
351614
351575
|
init_remark_gfm_BhnWr3yf_es();
|
|
351615
351576
|
});
|
|
351616
351577
|
|
|
351617
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
351578
|
+
// ../../packages/superdoc/dist/chunks/src-C-2U54wX.es.js
|
|
351618
351579
|
function deleteProps(obj, propOrProps) {
|
|
351619
351580
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
351620
351581
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -360523,7 +360484,7 @@ function getMarksDiff(marksA = [], marksB = []) {
|
|
|
360523
360484
|
if (!attrs)
|
|
360524
360485
|
return {};
|
|
360525
360486
|
const ignoredMarkKeys = /* @__PURE__ */ new Set;
|
|
360526
|
-
if (TRACK_CHANGE_MARK_NAMES.has(markName))
|
|
360487
|
+
if (TRACK_CHANGE_MARK_NAMES$1.has(markName))
|
|
360527
360488
|
for (const key2 of TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS)
|
|
360528
360489
|
ignoredMarkKeys.add(key2);
|
|
360529
360490
|
const normalized = {};
|
|
@@ -378608,57 +378569,27 @@ function resolveRange(hostEditor, input2) {
|
|
|
378608
378569
|
storyLocator
|
|
378609
378570
|
});
|
|
378610
378571
|
}
|
|
378611
|
-
async function scrollRangeIntoView(editor, input2) {
|
|
378612
|
-
const presentation = editor.presentationEditor;
|
|
378613
|
-
if (!presentation)
|
|
378614
|
-
return { success: false };
|
|
378615
|
-
if ("kind" in input2.target && input2.target.kind === "entity") {
|
|
378616
|
-
if (typeof presentation.navigateTo !== "function")
|
|
378617
|
-
return { success: false };
|
|
378618
|
-
try {
|
|
378619
|
-
return { success: await presentation.navigateTo(input2.target) };
|
|
378620
|
-
} catch {
|
|
378621
|
-
return { success: false };
|
|
378622
|
-
}
|
|
378623
|
-
}
|
|
378624
|
-
if (typeof presentation.scrollToPositionAsync !== "function")
|
|
378625
|
-
return { success: false };
|
|
378626
|
-
try {
|
|
378627
|
-
const firstSegment = "segments" in input2.target ? input2.target.segments[0] : {
|
|
378628
|
-
blockId: input2.target.blockId,
|
|
378629
|
-
range: input2.target.range
|
|
378630
|
-
};
|
|
378631
|
-
if (!firstSegment)
|
|
378632
|
-
return { success: false };
|
|
378633
|
-
const resolved = resolveTextTarget(editor, {
|
|
378634
|
-
kind: "text",
|
|
378635
|
-
blockId: firstSegment.blockId,
|
|
378636
|
-
range: firstSegment.range
|
|
378637
|
-
});
|
|
378638
|
-
if (!resolved)
|
|
378639
|
-
return { success: false };
|
|
378640
|
-
return { success: await presentation.scrollToPositionAsync(resolved.from, {
|
|
378641
|
-
block: input2.block ?? "center",
|
|
378642
|
-
behavior: input2.behavior ?? "smooth"
|
|
378643
|
-
}) };
|
|
378644
|
-
} catch {
|
|
378645
|
-
return { success: false };
|
|
378646
|
-
}
|
|
378647
|
-
}
|
|
378648
378572
|
function resolveCurrentSelectionInfo(editor, input2) {
|
|
378649
378573
|
const state = editor.state;
|
|
378650
378574
|
if (!state)
|
|
378651
378575
|
return {
|
|
378652
378576
|
empty: true,
|
|
378653
378577
|
target: null,
|
|
378654
|
-
activeMarks: []
|
|
378578
|
+
activeMarks: [],
|
|
378579
|
+
activeCommentIds: [],
|
|
378580
|
+
activeChangeIds: []
|
|
378655
378581
|
};
|
|
378656
378582
|
const { from: from$1, to, empty: empty$1 } = state.selection;
|
|
378657
378583
|
const segments = collectTextSegments(state.doc, from$1, to);
|
|
378584
|
+
const target = segments && segments.length > 0 ? buildTextTarget(segments) : null;
|
|
378585
|
+
const activeMarks = collectActiveMarks(state, from$1, to);
|
|
378586
|
+
const { commentIds: activeCommentIds, changeIds: activeChangeRawIds } = collectActiveEntityIds(state, from$1, to);
|
|
378658
378587
|
const info = {
|
|
378659
378588
|
empty: empty$1,
|
|
378660
|
-
target
|
|
378661
|
-
activeMarks
|
|
378589
|
+
target,
|
|
378590
|
+
activeMarks,
|
|
378591
|
+
activeCommentIds,
|
|
378592
|
+
activeChangeIds: mapRawChangeIdsToCanonical(editor, activeChangeRawIds)
|
|
378662
378593
|
};
|
|
378663
378594
|
if (input2.includeText && !empty$1)
|
|
378664
378595
|
info.text = state.doc.textBetween(from$1, to, " ");
|
|
@@ -378707,6 +378638,68 @@ function readBlockId(node2) {
|
|
|
378707
378638
|
const id2 = attrs.sdBlockId ?? attrs.id ?? attrs.blockId;
|
|
378708
378639
|
return typeof id2 === "string" && id2.length > 0 ? id2 : null;
|
|
378709
378640
|
}
|
|
378641
|
+
function mapRawChangeIdsToCanonical(editor, rawIds) {
|
|
378642
|
+
if (rawIds.length === 0)
|
|
378643
|
+
return rawIds;
|
|
378644
|
+
let grouped;
|
|
378645
|
+
try {
|
|
378646
|
+
grouped = groupTrackedChanges(editor);
|
|
378647
|
+
} catch {
|
|
378648
|
+
return [];
|
|
378649
|
+
}
|
|
378650
|
+
const rawToCanonical = /* @__PURE__ */ new Map;
|
|
378651
|
+
for (const change of grouped)
|
|
378652
|
+
rawToCanonical.set(change.rawId, change.id);
|
|
378653
|
+
const seen = /* @__PURE__ */ new Set;
|
|
378654
|
+
const out = [];
|
|
378655
|
+
for (const raw of rawIds) {
|
|
378656
|
+
const canonical = rawToCanonical.get(raw);
|
|
378657
|
+
if (!canonical)
|
|
378658
|
+
continue;
|
|
378659
|
+
if (seen.has(canonical))
|
|
378660
|
+
continue;
|
|
378661
|
+
seen.add(canonical);
|
|
378662
|
+
out.push(canonical);
|
|
378663
|
+
}
|
|
378664
|
+
return out;
|
|
378665
|
+
}
|
|
378666
|
+
function collectActiveEntityIds(state, from$1, to) {
|
|
378667
|
+
const commentIds = /* @__PURE__ */ new Set;
|
|
378668
|
+
const changeIds = /* @__PURE__ */ new Set;
|
|
378669
|
+
const collectFromMark = (markType, attrs) => {
|
|
378670
|
+
if (markType === COMMENT_MARK_NAME2) {
|
|
378671
|
+
const id2 = resolveCommentIdFromAttrs(attrs ?? {});
|
|
378672
|
+
if (typeof id2 === "string" && id2.length > 0)
|
|
378673
|
+
commentIds.add(id2);
|
|
378674
|
+
} else if (TRACK_CHANGE_MARK_NAMES.has(markType)) {
|
|
378675
|
+
const id2 = attrs?.id;
|
|
378676
|
+
if (typeof id2 === "string" && id2.length > 0)
|
|
378677
|
+
changeIds.add(id2);
|
|
378678
|
+
}
|
|
378679
|
+
};
|
|
378680
|
+
if (from$1 === to) {
|
|
378681
|
+
if (state.storedMarks)
|
|
378682
|
+
for (const mark2 of state.storedMarks)
|
|
378683
|
+
collectFromMark(mark2.type.name, mark2.attrs);
|
|
378684
|
+
const $pos = state.doc.resolve(from$1);
|
|
378685
|
+
for (const mark2 of $pos.marks())
|
|
378686
|
+
collectFromMark(mark2.type.name, mark2.attrs);
|
|
378687
|
+
} else
|
|
378688
|
+
state.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
378689
|
+
if (!node2.isText)
|
|
378690
|
+
return true;
|
|
378691
|
+
const start$1 = Math.max(pos, from$1);
|
|
378692
|
+
if (Math.min(pos + node2.nodeSize, to) <= start$1)
|
|
378693
|
+
return false;
|
|
378694
|
+
for (const mark2 of node2.marks)
|
|
378695
|
+
collectFromMark(mark2.type.name, mark2.attrs);
|
|
378696
|
+
return false;
|
|
378697
|
+
});
|
|
378698
|
+
return {
|
|
378699
|
+
commentIds: Array.from(commentIds),
|
|
378700
|
+
changeIds: Array.from(changeIds)
|
|
378701
|
+
};
|
|
378702
|
+
}
|
|
378710
378703
|
function collectActiveMarks(state, from$1, to) {
|
|
378711
378704
|
const names = /* @__PURE__ */ new Set;
|
|
378712
378705
|
const stored = state.storedMarks;
|
|
@@ -378724,45 +378717,6 @@ function collectActiveMarks(state, from$1, to) {
|
|
|
378724
378717
|
}
|
|
378725
378718
|
return Array.from(names);
|
|
378726
378719
|
}
|
|
378727
|
-
function subscribeToSelection(editor, listener) {
|
|
378728
|
-
let scheduled = false;
|
|
378729
|
-
let cancelled = false;
|
|
378730
|
-
let lastEmittedKey = null;
|
|
378731
|
-
const flush = () => {
|
|
378732
|
-
scheduled = false;
|
|
378733
|
-
if (cancelled)
|
|
378734
|
-
return;
|
|
378735
|
-
const info = resolveCurrentSelectionInfo(editor, {});
|
|
378736
|
-
const key2 = selectionInfoKey(info);
|
|
378737
|
-
if (key2 === lastEmittedKey)
|
|
378738
|
-
return;
|
|
378739
|
-
lastEmittedKey = key2;
|
|
378740
|
-
listener(info);
|
|
378741
|
-
};
|
|
378742
|
-
const schedule = () => {
|
|
378743
|
-
if (scheduled || cancelled)
|
|
378744
|
-
return;
|
|
378745
|
-
scheduled = true;
|
|
378746
|
-
queueMicrotask(flush);
|
|
378747
|
-
};
|
|
378748
|
-
editor.on("selectionUpdate", schedule);
|
|
378749
|
-
editor.on("transaction", schedule);
|
|
378750
|
-
return () => {
|
|
378751
|
-
cancelled = true;
|
|
378752
|
-
editor.off?.("selectionUpdate", schedule);
|
|
378753
|
-
editor.off?.("transaction", schedule);
|
|
378754
|
-
};
|
|
378755
|
-
}
|
|
378756
|
-
function selectionInfoKey(info) {
|
|
378757
|
-
const target = info.target;
|
|
378758
|
-
let targetKey;
|
|
378759
|
-
if (!target)
|
|
378760
|
-
targetKey = "null";
|
|
378761
|
-
else
|
|
378762
|
-
targetKey = target.segments.map((s2) => `${s2.blockId}:${s2.range.start}-${s2.range.end}`).join("|");
|
|
378763
|
-
const marks = [...info.activeMarks].sort().join(",");
|
|
378764
|
-
return `${info.empty ? "1" : "0"}:${targetKey}:${marks}`;
|
|
378765
|
-
}
|
|
378766
378720
|
function markTypesPresentEverywhere(doc$12, from$1, to) {
|
|
378767
378721
|
let common = null;
|
|
378768
378722
|
let aborted2 = false;
|
|
@@ -391625,14 +391579,8 @@ function assembleDocumentApiAdapters(editor) {
|
|
|
391625
391579
|
remove: (input2, options) => authorityEntriesRemoveWrapper(editor, input2, options)
|
|
391626
391580
|
}
|
|
391627
391581
|
},
|
|
391628
|
-
ranges: {
|
|
391629
|
-
|
|
391630
|
-
scrollIntoView: (input2) => scrollRangeIntoView(editor, input2)
|
|
391631
|
-
},
|
|
391632
|
-
selection: {
|
|
391633
|
-
current: (input2) => resolveCurrentSelectionInfo(editor, input2),
|
|
391634
|
-
onChange: (listener) => subscribeToSelection(editor, listener)
|
|
391635
|
-
},
|
|
391582
|
+
ranges: { resolve: (input2) => resolveRange(editor, input2) },
|
|
391583
|
+
selection: { current: (input2) => resolveCurrentSelectionInfo(editor, input2) },
|
|
391636
391584
|
query: { match: (input2) => queryMatchAdapter(editor, input2) },
|
|
391637
391585
|
mutations: {
|
|
391638
391586
|
preview: (input2) => previewPlan(editor, input2),
|
|
@@ -407118,6 +407066,59 @@ function createHiddenHost(doc$12, widthPx) {
|
|
|
407118
407066
|
host
|
|
407119
407067
|
};
|
|
407120
407068
|
}
|
|
407069
|
+
function findRenderedCommentElements(host, commentId, storyKey) {
|
|
407070
|
+
if (!host || !commentId)
|
|
407071
|
+
return [];
|
|
407072
|
+
return Array.from(host.querySelectorAll("[data-comment-ids]")).filter((el) => {
|
|
407073
|
+
const raw = el.dataset.commentIds;
|
|
407074
|
+
if (!raw)
|
|
407075
|
+
return false;
|
|
407076
|
+
if (!raw.split(",").some((token$1) => token$1.trim() === commentId))
|
|
407077
|
+
return false;
|
|
407078
|
+
if (!storyKey)
|
|
407079
|
+
return true;
|
|
407080
|
+
const elStoryKey = el.dataset.storyKey;
|
|
407081
|
+
if (elStoryKey)
|
|
407082
|
+
return elStoryKey === storyKey;
|
|
407083
|
+
return storyKey === BODY_STORY_KEY;
|
|
407084
|
+
});
|
|
407085
|
+
}
|
|
407086
|
+
function findRenderedTrackedChangeElementsStrict(host, entityId, escapeAttrValue$1, storyKey) {
|
|
407087
|
+
if (!host || !entityId)
|
|
407088
|
+
return [];
|
|
407089
|
+
const baseSelector = `[data-track-change-id="${escapeAttrValue$1(entityId)}"]`;
|
|
407090
|
+
if (!storyKey)
|
|
407091
|
+
return Array.from(host.querySelectorAll(baseSelector));
|
|
407092
|
+
const storySelector = `${baseSelector}[data-story-key="${escapeAttrValue$1(storyKey)}"]`;
|
|
407093
|
+
return Array.from(host.querySelectorAll(storySelector));
|
|
407094
|
+
}
|
|
407095
|
+
function elementsToRangeRects(elements) {
|
|
407096
|
+
const result = [];
|
|
407097
|
+
for (const element3 of elements) {
|
|
407098
|
+
const rect = element3.getBoundingClientRect();
|
|
407099
|
+
if (![
|
|
407100
|
+
rect.top,
|
|
407101
|
+
rect.left,
|
|
407102
|
+
rect.right,
|
|
407103
|
+
rect.bottom,
|
|
407104
|
+
rect.width,
|
|
407105
|
+
rect.height
|
|
407106
|
+
].every(Number.isFinite))
|
|
407107
|
+
continue;
|
|
407108
|
+
const pageEl = element3.closest(".superdoc-page");
|
|
407109
|
+
const pageIndexAttr = Number(pageEl?.dataset?.pageIndex ?? 0);
|
|
407110
|
+
result.push({
|
|
407111
|
+
pageIndex: Number.isFinite(pageIndexAttr) ? pageIndexAttr : 0,
|
|
407112
|
+
left: rect.left,
|
|
407113
|
+
top: rect.top,
|
|
407114
|
+
right: rect.right,
|
|
407115
|
+
bottom: rect.bottom,
|
|
407116
|
+
width: rect.width,
|
|
407117
|
+
height: rect.height
|
|
407118
|
+
});
|
|
407119
|
+
}
|
|
407120
|
+
return result;
|
|
407121
|
+
}
|
|
407121
407122
|
function getFallbackCursorColor(clientId, fallbackColors) {
|
|
407122
407123
|
return fallbackColors[clientId % fallbackColors.length];
|
|
407123
407124
|
}
|
|
@@ -422081,7 +422082,7 @@ var Node$13 = class Node$14 {
|
|
|
422081
422082
|
id: { default: null },
|
|
422082
422083
|
edGrp: { default: null },
|
|
422083
422084
|
displacedByCustomXml: { default: null }
|
|
422084
|
-
}), PermEnd, PermEndBlock, IGNORED_ATTRIBUTE_KEYS, TRACK_CHANGE_MARK_NAMES, TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS, VOLATILE_PARAGRAPH_ATTRS, VOLATILE_IMAGE_ORIGINAL_ATTR_KEYS, SIMILARITY_THRESHOLD = 0.65, MIN_LENGTH_FOR_SIMILARITY = 4, COMMENT_ATTRS_DIFF_IGNORED_KEYS, SLOT_VARIANTS, PART_KINDS, DOCUMENT_RELS_PATH$2 = "word/_rels/document.xml.rels", DOCUMENT_RELS_PATH$1 = "word/_rels/document.xml.rels", BODY_RELATIONSHIP_EXCLUSIONS, setNestedValue = (target, path5, value) => {
|
|
422085
|
+
}), PermEnd, PermEndBlock, IGNORED_ATTRIBUTE_KEYS, TRACK_CHANGE_MARK_NAMES$1, TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS, VOLATILE_PARAGRAPH_ATTRS, VOLATILE_IMAGE_ORIGINAL_ATTR_KEYS, SIMILARITY_THRESHOLD = 0.65, MIN_LENGTH_FOR_SIMILARITY = 4, COMMENT_ATTRS_DIFF_IGNORED_KEYS, SLOT_VARIANTS, PART_KINDS, DOCUMENT_RELS_PATH$2 = "word/_rels/document.xml.rels", DOCUMENT_RELS_PATH$1 = "word/_rels/document.xml.rels", BODY_RELATIONSHIP_EXCLUSIONS, setNestedValue = (target, path5, value) => {
|
|
422085
422086
|
if (!path5.includes(".")) {
|
|
422086
422087
|
target[path5] = value;
|
|
422087
422088
|
return;
|
|
@@ -422357,7 +422358,7 @@ var Node$13 = class Node$14 {
|
|
|
422357
422358
|
PassthroughBlock,
|
|
422358
422359
|
Diffing
|
|
422359
422360
|
];
|
|
422360
|
-
}, sanitizeNumber = (value, defaultNumber) => {
|
|
422361
|
+
}, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS, sanitizeNumber = (value, defaultNumber) => {
|
|
422361
422362
|
let sanitized = value.replace(/[^0-9.]/g, "");
|
|
422362
422363
|
sanitized = parseFloat(sanitized);
|
|
422363
422364
|
if (isNaN(sanitized))
|
|
@@ -424996,7 +424997,7 @@ var Node$13 = class Node$14 {
|
|
|
424996
424997
|
listener(snapshot2);
|
|
424997
424998
|
} catch {}
|
|
424998
424999
|
}
|
|
424999
|
-
}, TRACK_MARK_TYPE_BY_NAME, EMITTABLE_BLOCK_TYPES, SDT_BLOCK_NODE_NAMES, 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_CHANNEL, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, HEADING_PATTERN, OOXML_DEFAULT_FONT_SIZE_PT = 10, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, SYMBOL_FONT_NAMES, RFONTS_FAMILY_ATTRS, 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, BatchHistoryAdapter = class {
|
|
425000
|
+
}, TRACK_MARK_TYPE_BY_NAME, EMITTABLE_BLOCK_TYPES, SDT_BLOCK_NODE_NAMES, 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_CHANNEL, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, HEADING_PATTERN, OOXML_DEFAULT_FONT_SIZE_PT = 10, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, SYMBOL_FONT_NAMES, RFONTS_FAMILY_ATTRS, 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, COMMENT_MARK_NAME2 = "commentMark", TRACK_CHANGE_MARK_NAMES, 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, BatchHistoryAdapter = class {
|
|
425000
425001
|
#done = [];
|
|
425001
425002
|
#redone = [];
|
|
425002
425003
|
#listeners = /* @__PURE__ */ new Set;
|
|
@@ -433121,7 +433122,7 @@ menclose::after {
|
|
|
433121
433122
|
while (prevPointer < previous3.length && nextPointer < next2.length) {
|
|
433122
433123
|
const prevBlock = previous3[prevPointer];
|
|
433123
433124
|
const nextBlock = next2[nextPointer];
|
|
433124
|
-
if (prevBlock.id === nextBlock.id && shallowEqual(prevBlock, nextBlock)) {
|
|
433125
|
+
if (prevBlock.id === nextBlock.id && shallowEqual$1(prevBlock, nextBlock)) {
|
|
433125
433126
|
lastStableIndex = nextPointer;
|
|
433126
433127
|
stableBlockIds.add(prevBlock.id);
|
|
433127
433128
|
prevPointer += 1;
|
|
@@ -433149,7 +433150,7 @@ menclose::after {
|
|
|
433149
433150
|
deletedBlockIds,
|
|
433150
433151
|
stableBlockIds
|
|
433151
433152
|
};
|
|
433152
|
-
}, shallowEqual = (a2, b$1) => {
|
|
433153
|
+
}, shallowEqual$1 = (a2, b$1) => {
|
|
433153
433154
|
if (a2.kind !== b$1.kind)
|
|
433154
433155
|
return false;
|
|
433155
433156
|
if (a2.kind === "image" && b$1.kind === "image")
|
|
@@ -440693,12 +440694,12 @@ menclose::after {
|
|
|
440693
440694
|
return;
|
|
440694
440695
|
console.log(...args$1);
|
|
440695
440696
|
}, 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;
|
|
440696
|
-
var
|
|
440697
|
+
var init_src_C_2U54wX_es = __esm(() => {
|
|
440697
440698
|
init_rolldown_runtime_Bg48TavK_es();
|
|
440698
|
-
|
|
440699
|
+
init_SuperConverter_4akUYfWt_es();
|
|
440699
440700
|
init_jszip_C49i9kUs_es();
|
|
440700
440701
|
init_uuid_qzgm05fK_es();
|
|
440701
|
-
|
|
440702
|
+
init_create_headless_toolbar_DeNFsEHx_es();
|
|
440702
440703
|
init_constants_DrU4EASo_es();
|
|
440703
440704
|
init_dist_B8HfvhaK_es();
|
|
440704
440705
|
init_unified_Dsuw2be5_es();
|
|
@@ -458961,7 +458962,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
458961
458962
|
attributes: sharedAttributes
|
|
458962
458963
|
});
|
|
458963
458964
|
IGNORED_ATTRIBUTE_KEYS = new Set(["sdBlockId"]);
|
|
458964
|
-
TRACK_CHANGE_MARK_NAMES = new Set([
|
|
458965
|
+
TRACK_CHANGE_MARK_NAMES$1 = new Set([
|
|
458965
458966
|
"trackInsert",
|
|
458966
458967
|
"trackDelete",
|
|
458967
458968
|
"trackFormat"
|
|
@@ -459055,6 +459056,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
459055
459056
|
};
|
|
459056
459057
|
}
|
|
459057
459058
|
});
|
|
459059
|
+
ALL_TOOLBAR_COMMAND_IDS = Object.keys(createToolbarRegistry());
|
|
459060
|
+
EMPTY_ACTIVE_IDS = Object.freeze([]);
|
|
459058
459061
|
formatRegistry = { rules: [
|
|
459059
459062
|
{
|
|
459060
459063
|
name: "bold",
|
|
@@ -463779,6 +463782,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
463779
463782
|
bullet: "disc"
|
|
463780
463783
|
};
|
|
463781
463784
|
EDGE_NODE_TYPES$1 = new Set(SELECTION_EDGE_NODE_TYPES);
|
|
463785
|
+
TRACK_CHANGE_MARK_NAMES = new Set([
|
|
463786
|
+
"trackInsert",
|
|
463787
|
+
"trackDelete",
|
|
463788
|
+
"trackFormat"
|
|
463789
|
+
]);
|
|
463782
463790
|
POINTS_TO_PIXELS = 96 / 72;
|
|
463783
463791
|
PIXELS_TO_TWIPS = 1440 / 96;
|
|
463784
463792
|
WORD_DEFAULT_TBL_LOOK = {
|
|
@@ -472733,6 +472741,26 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
472733
472741
|
pageIndex: rects[0]?.pageIndex ?? 0
|
|
472734
472742
|
};
|
|
472735
472743
|
}
|
|
472744
|
+
getEntityRects(target) {
|
|
472745
|
+
if (!target || typeof target !== "object")
|
|
472746
|
+
return [];
|
|
472747
|
+
const entityType = target.entityType;
|
|
472748
|
+
const entityId = target.entityId;
|
|
472749
|
+
if (typeof entityType !== "string" || typeof entityId !== "string" || entityId.length === 0)
|
|
472750
|
+
return [];
|
|
472751
|
+
const host = this.#visibleHost;
|
|
472752
|
+
if (!host)
|
|
472753
|
+
return [];
|
|
472754
|
+
const storyKey = resolveStoryKeyFromAddress(target.story);
|
|
472755
|
+
let elements;
|
|
472756
|
+
if (entityType === "trackedChange")
|
|
472757
|
+
elements = findRenderedTrackedChangeElementsStrict(host, entityId, escapeAttrValue, storyKey);
|
|
472758
|
+
else if (entityType === "comment")
|
|
472759
|
+
elements = findRenderedCommentElements(host, entityId, storyKey);
|
|
472760
|
+
else
|
|
472761
|
+
return [];
|
|
472762
|
+
return elementsToRangeRects(elements);
|
|
472763
|
+
}
|
|
472736
472764
|
#getThreadSelectionBounds(data, relativeTo) {
|
|
472737
472765
|
const start$1 = Number.isFinite(data.start ?? data.pos) ? Number(data.start ?? data.pos) : undefined;
|
|
472738
472766
|
const end$1 = Number.isFinite(data.end) ? Number(data.end) : start$1;
|
|
@@ -477607,11 +477635,11 @@ var init_zipper_DbkgrypV_es = __esm(() => {
|
|
|
477607
477635
|
|
|
477608
477636
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
477609
477637
|
var init_super_editor_es = __esm(() => {
|
|
477610
|
-
|
|
477611
|
-
|
|
477638
|
+
init_src_C_2U54wX_es();
|
|
477639
|
+
init_SuperConverter_4akUYfWt_es();
|
|
477612
477640
|
init_jszip_C49i9kUs_es();
|
|
477613
477641
|
init_xml_js_CqGKpaft_es();
|
|
477614
|
-
|
|
477642
|
+
init_create_headless_toolbar_DeNFsEHx_es();
|
|
477615
477643
|
init_constants_DrU4EASo_es();
|
|
477616
477644
|
init_dist_B8HfvhaK_es();
|
|
477617
477645
|
init_unified_Dsuw2be5_es();
|
|
@@ -489383,8 +489411,10 @@ var init_schemas4 = __esm(() => {
|
|
|
489383
489411
|
empty: { type: "boolean" },
|
|
489384
489412
|
target: { oneOf: [textTargetSchema2, { type: "null" }] },
|
|
489385
489413
|
activeMarks: arraySchema2({ type: "string" }),
|
|
489414
|
+
activeCommentIds: arraySchema2({ type: "string" }),
|
|
489415
|
+
activeChangeIds: arraySchema2({ type: "string" }),
|
|
489386
489416
|
text: { type: "string" }
|
|
489387
|
-
}, ["empty", "target", "activeMarks"])
|
|
489417
|
+
}, ["empty", "target", "activeMarks", "activeCommentIds", "activeChangeIds"])
|
|
489388
489418
|
},
|
|
489389
489419
|
"mutations.preview": {
|
|
489390
489420
|
input: mutationsInputSchema,
|
|
@@ -491633,57 +491663,9 @@ var init_resolve = __esm(() => {
|
|
|
491633
491663
|
RESOLVE_RANGE_ALLOWED_KEYS2 = new Set(["start", "end", "expectedRevision", "in"]);
|
|
491634
491664
|
});
|
|
491635
491665
|
|
|
491636
|
-
// ../../packages/document-api/src/ranges/scroll-into-view.ts
|
|
491637
|
-
function isEntityAddress2(value) {
|
|
491638
|
-
if (!isRecord3(value))
|
|
491639
|
-
return false;
|
|
491640
|
-
if (value.kind !== "entity")
|
|
491641
|
-
return false;
|
|
491642
|
-
if (typeof value.entityType !== "string" || !VALID_ENTITY_TYPES2.has(value.entityType))
|
|
491643
|
-
return false;
|
|
491644
|
-
if (typeof value.entityId !== "string" || value.entityId.length === 0)
|
|
491645
|
-
return false;
|
|
491646
|
-
return true;
|
|
491647
|
-
}
|
|
491648
|
-
function validateScrollIntoViewInput2(input2) {
|
|
491649
|
-
if (!isRecord3(input2)) {
|
|
491650
|
-
throw new DocumentApiValidationError3("INVALID_INPUT", "ranges.scrollIntoView input must be a non-null object.");
|
|
491651
|
-
}
|
|
491652
|
-
assertNoUnknownFields2(input2, SCROLL_INTO_VIEW_ALLOWED_KEYS2, "ranges.scrollIntoView");
|
|
491653
|
-
const { target, block, behavior } = input2;
|
|
491654
|
-
if (target === undefined || target === null) {
|
|
491655
|
-
throw new DocumentApiValidationError3("INVALID_TARGET", "ranges.scrollIntoView requires a target.", {
|
|
491656
|
-
field: "target"
|
|
491657
|
-
});
|
|
491658
|
-
}
|
|
491659
|
-
if (!isTextAddress2(target) && !isTextTarget2(target) && !isEntityAddress2(target)) {
|
|
491660
|
-
throw new DocumentApiValidationError3("INVALID_TARGET", "target must be a TextAddress, TextTarget, or EntityAddress object.", { field: "target", value: target });
|
|
491661
|
-
}
|
|
491662
|
-
if (block !== undefined && (typeof block !== "string" || !VALID_BLOCK_VALUES2.has(block))) {
|
|
491663
|
-
throw new DocumentApiValidationError3("INVALID_INPUT", `block must be one of "start" | "center" | "end" | "nearest", got ${JSON.stringify(block)}.`, { field: "block", value: block });
|
|
491664
|
-
}
|
|
491665
|
-
if (behavior !== undefined && (typeof behavior !== "string" || !VALID_BEHAVIOR_VALUES2.has(behavior))) {
|
|
491666
|
-
throw new DocumentApiValidationError3("INVALID_INPUT", `behavior must be "auto" or "smooth", got ${JSON.stringify(behavior)}.`, { field: "behavior", value: behavior });
|
|
491667
|
-
}
|
|
491668
|
-
}
|
|
491669
|
-
async function executeScrollIntoView2(adapter, input2) {
|
|
491670
|
-
validateScrollIntoViewInput2(input2);
|
|
491671
|
-
return adapter.scrollIntoView(input2);
|
|
491672
|
-
}
|
|
491673
|
-
var VALID_ENTITY_TYPES2, SCROLL_INTO_VIEW_ALLOWED_KEYS2, VALID_BLOCK_VALUES2, VALID_BEHAVIOR_VALUES2;
|
|
491674
|
-
var init_scroll_into_view = __esm(() => {
|
|
491675
|
-
init_errors6();
|
|
491676
|
-
init_validation_primitives();
|
|
491677
|
-
VALID_ENTITY_TYPES2 = new Set(["comment", "trackedChange"]);
|
|
491678
|
-
SCROLL_INTO_VIEW_ALLOWED_KEYS2 = new Set(["target", "block", "behavior"]);
|
|
491679
|
-
VALID_BLOCK_VALUES2 = new Set(["start", "center", "end", "nearest"]);
|
|
491680
|
-
VALID_BEHAVIOR_VALUES2 = new Set(["auto", "smooth"]);
|
|
491681
|
-
});
|
|
491682
|
-
|
|
491683
491666
|
// ../../packages/document-api/src/ranges/index.ts
|
|
491684
491667
|
var init_ranges = __esm(() => {
|
|
491685
491668
|
init_resolve();
|
|
491686
|
-
init_scroll_into_view();
|
|
491687
491669
|
});
|
|
491688
491670
|
|
|
491689
491671
|
// ../../packages/document-api/src/selection/selection.ts
|
|
@@ -497577,9 +497559,6 @@ function createDocumentApi2(adapters) {
|
|
|
497577
497559
|
ranges: {
|
|
497578
497560
|
resolve(input2) {
|
|
497579
497561
|
return executeResolveRange2(adapters.ranges, input2);
|
|
497580
|
-
},
|
|
497581
|
-
scrollIntoView(input2) {
|
|
497582
|
-
return executeScrollIntoView2(adapters.ranges, input2);
|
|
497583
497562
|
}
|
|
497584
497563
|
},
|
|
497585
497564
|
selection: {
|
|
@@ -497589,13 +497568,6 @@ function createDocumentApi2(adapters) {
|
|
|
497589
497568
|
throw new DocumentApiValidationError3("SELECTION_ADAPTER_UNAVAILABLE", "No selection adapter was registered. Pass `selection` in DocumentApiAdapters to call selection.current().");
|
|
497590
497569
|
}
|
|
497591
497570
|
return executeSelectionCurrent2(adapter, input2);
|
|
497592
|
-
},
|
|
497593
|
-
onChange(listener) {
|
|
497594
|
-
const adapter = adapters.selection;
|
|
497595
|
-
if (!adapter) {
|
|
497596
|
-
throw new DocumentApiValidationError3("SELECTION_ADAPTER_UNAVAILABLE", "No selection adapter was registered. Pass `selection` in DocumentApiAdapters to call selection.onChange().");
|
|
497597
|
-
}
|
|
497598
|
-
return adapter.onChange(listener);
|
|
497599
497571
|
}
|
|
497600
497572
|
},
|
|
497601
497573
|
mutations: {
|
|
@@ -497683,7 +497655,6 @@ var init_src = __esm(() => {
|
|
|
497683
497655
|
init_story_validator();
|
|
497684
497656
|
init_delete();
|
|
497685
497657
|
init_resolve();
|
|
497686
|
-
init_scroll_into_view();
|
|
497687
497658
|
init_selection();
|
|
497688
497659
|
init_insert();
|
|
497689
497660
|
init_lists();
|
|
@@ -498278,7 +498249,7 @@ function isInlineHost2(node3) {
|
|
|
498278
498249
|
function relevantMarks2(marks) {
|
|
498279
498250
|
if (!marks?.length)
|
|
498280
498251
|
return [];
|
|
498281
|
-
return marks.filter((mark2) => mark2.type?.name === LINK_MARK_NAME2 || mark2.type?.name ===
|
|
498252
|
+
return marks.filter((mark2) => mark2.type?.name === LINK_MARK_NAME2 || mark2.type?.name === COMMENT_MARK_NAME3);
|
|
498282
498253
|
}
|
|
498283
498254
|
function closeMarkSpan2(state, key2, endOffset, endPos) {
|
|
498284
498255
|
const active = state.activeMarks.get(key2);
|
|
@@ -498288,7 +498259,7 @@ function closeMarkSpan2(state, key2, endOffset, endPos) {
|
|
|
498288
498259
|
if (endOffset <= active.startOffset)
|
|
498289
498260
|
return;
|
|
498290
498261
|
const markType = active.mark.type?.name;
|
|
498291
|
-
const nodeType = markType === LINK_MARK_NAME2 ? "hyperlink" : markType ===
|
|
498262
|
+
const nodeType = markType === LINK_MARK_NAME2 ? "hyperlink" : markType === COMMENT_MARK_NAME3 ? "comment" : undefined;
|
|
498292
498263
|
if (!nodeType)
|
|
498293
498264
|
return;
|
|
498294
498265
|
const attrs = active.mark.attrs ?? {};
|
|
@@ -498492,9 +498463,9 @@ function findInlineByType2(index2, nodeType) {
|
|
|
498492
498463
|
return index2.candidates;
|
|
498493
498464
|
return index2.byType.get(nodeType) ?? [];
|
|
498494
498465
|
}
|
|
498495
|
-
var LINK_MARK_NAME2 = "link",
|
|
498466
|
+
var LINK_MARK_NAME2 = "link", COMMENT_MARK_NAME3, SUPPORTED_INLINE_TYPES2;
|
|
498496
498467
|
var init_inline_address_resolver = __esm(() => {
|
|
498497
|
-
|
|
498468
|
+
COMMENT_MARK_NAME3 = CommentMarkName2;
|
|
498498
498469
|
SUPPORTED_INLINE_TYPES2 = new Set([
|
|
498499
498470
|
"run",
|
|
498500
498471
|
"bookmark",
|
|
@@ -588987,65 +588958,25 @@ var init_range_resolver = __esm(() => {
|
|
|
588987
588958
|
EDGE_NODE_TYPES2 = new Set(SELECTION_EDGE_NODE_TYPES2);
|
|
588988
588959
|
});
|
|
588989
588960
|
|
|
588990
|
-
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/scroll-into-view-adapter.ts
|
|
588991
|
-
async function scrollRangeIntoView2(editor, input2) {
|
|
588992
|
-
const presentation = editor.presentationEditor;
|
|
588993
|
-
if (!presentation) {
|
|
588994
|
-
return { success: false };
|
|
588995
|
-
}
|
|
588996
|
-
if ("kind" in input2.target && input2.target.kind === "entity") {
|
|
588997
|
-
if (typeof presentation.navigateTo !== "function") {
|
|
588998
|
-
return { success: false };
|
|
588999
|
-
}
|
|
589000
|
-
try {
|
|
589001
|
-
const ok5 = await presentation.navigateTo(input2.target);
|
|
589002
|
-
return { success: ok5 };
|
|
589003
|
-
} catch {
|
|
589004
|
-
return { success: false };
|
|
589005
|
-
}
|
|
589006
|
-
}
|
|
589007
|
-
if (typeof presentation.scrollToPositionAsync !== "function") {
|
|
589008
|
-
return { success: false };
|
|
589009
|
-
}
|
|
589010
|
-
try {
|
|
589011
|
-
const firstSegment = "segments" in input2.target ? input2.target.segments[0] : { blockId: input2.target.blockId, range: input2.target.range };
|
|
589012
|
-
if (!firstSegment)
|
|
589013
|
-
return { success: false };
|
|
589014
|
-
const resolved = resolveTextTarget2(editor, {
|
|
589015
|
-
kind: "text",
|
|
589016
|
-
blockId: firstSegment.blockId,
|
|
589017
|
-
range: firstSegment.range
|
|
589018
|
-
});
|
|
589019
|
-
if (!resolved)
|
|
589020
|
-
return { success: false };
|
|
589021
|
-
const ok5 = await presentation.scrollToPositionAsync(resolved.from, {
|
|
589022
|
-
block: input2.block ?? "center",
|
|
589023
|
-
behavior: input2.behavior ?? "smooth"
|
|
589024
|
-
});
|
|
589025
|
-
return { success: ok5 };
|
|
589026
|
-
} catch {
|
|
589027
|
-
return { success: false };
|
|
589028
|
-
}
|
|
589029
|
-
}
|
|
589030
|
-
var init_scroll_into_view_adapter = __esm(() => {
|
|
589031
|
-
init_adapter_utils();
|
|
589032
|
-
});
|
|
589033
|
-
|
|
589034
588961
|
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/selection-info-resolver.ts
|
|
589035
588962
|
function resolveCurrentSelectionInfo2(editor, input2) {
|
|
589036
588963
|
const state = editor.state;
|
|
589037
588964
|
if (!state) {
|
|
589038
|
-
return { empty: true, target: null, activeMarks: [] };
|
|
588965
|
+
return { empty: true, target: null, activeMarks: [], activeCommentIds: [], activeChangeIds: [] };
|
|
589039
588966
|
}
|
|
589040
588967
|
const sel = state.selection;
|
|
589041
588968
|
const { from: from4, to, empty: empty6 } = sel;
|
|
589042
588969
|
const segments = collectTextSegments2(state.doc, from4, to);
|
|
589043
588970
|
const target = segments && segments.length > 0 ? buildTextTarget3(segments) : null;
|
|
589044
588971
|
const activeMarks = collectActiveMarks2(state, from4, to);
|
|
588972
|
+
const { commentIds: activeCommentIds, changeIds: activeChangeRawIds } = collectActiveEntityIds2(state, from4, to);
|
|
588973
|
+
const activeChangeIds = mapRawChangeIdsToCanonical2(editor, activeChangeRawIds);
|
|
589045
588974
|
const info = {
|
|
589046
588975
|
empty: empty6,
|
|
589047
588976
|
target,
|
|
589048
|
-
activeMarks
|
|
588977
|
+
activeMarks,
|
|
588978
|
+
activeCommentIds,
|
|
588979
|
+
activeChangeIds
|
|
589049
588980
|
};
|
|
589050
588981
|
if (input2.includeText && !empty6) {
|
|
589051
588982
|
info.text = state.doc.textBetween(from4, to, " ");
|
|
@@ -589089,6 +589020,69 @@ function readBlockId2(node4) {
|
|
|
589089
589020
|
const id2 = attrs.sdBlockId ?? attrs.id ?? attrs.blockId;
|
|
589090
589021
|
return typeof id2 === "string" && id2.length > 0 ? id2 : null;
|
|
589091
589022
|
}
|
|
589023
|
+
function mapRawChangeIdsToCanonical2(editor, rawIds) {
|
|
589024
|
+
if (rawIds.length === 0)
|
|
589025
|
+
return rawIds;
|
|
589026
|
+
let grouped;
|
|
589027
|
+
try {
|
|
589028
|
+
grouped = groupTrackedChanges2(editor);
|
|
589029
|
+
} catch {
|
|
589030
|
+
return [];
|
|
589031
|
+
}
|
|
589032
|
+
const rawToCanonical = new Map;
|
|
589033
|
+
for (const change of grouped) {
|
|
589034
|
+
rawToCanonical.set(change.rawId, change.id);
|
|
589035
|
+
}
|
|
589036
|
+
const seen = new Set;
|
|
589037
|
+
const out = [];
|
|
589038
|
+
for (const raw of rawIds) {
|
|
589039
|
+
const canonical = rawToCanonical.get(raw);
|
|
589040
|
+
if (!canonical)
|
|
589041
|
+
continue;
|
|
589042
|
+
if (seen.has(canonical))
|
|
589043
|
+
continue;
|
|
589044
|
+
seen.add(canonical);
|
|
589045
|
+
out.push(canonical);
|
|
589046
|
+
}
|
|
589047
|
+
return out;
|
|
589048
|
+
}
|
|
589049
|
+
function collectActiveEntityIds2(state, from4, to) {
|
|
589050
|
+
const commentIds = new Set;
|
|
589051
|
+
const changeIds = new Set;
|
|
589052
|
+
const collectFromMark = (markType, attrs) => {
|
|
589053
|
+
if (markType === COMMENT_MARK_NAME4) {
|
|
589054
|
+
const id2 = resolveCommentIdFromAttrs2(attrs ?? {});
|
|
589055
|
+
if (typeof id2 === "string" && id2.length > 0)
|
|
589056
|
+
commentIds.add(id2);
|
|
589057
|
+
} else if (TRACK_CHANGE_MARK_NAMES2.has(markType)) {
|
|
589058
|
+
const id2 = attrs?.id;
|
|
589059
|
+
if (typeof id2 === "string" && id2.length > 0)
|
|
589060
|
+
changeIds.add(id2);
|
|
589061
|
+
}
|
|
589062
|
+
};
|
|
589063
|
+
if (from4 === to) {
|
|
589064
|
+
if (state.storedMarks) {
|
|
589065
|
+
for (const mark2 of state.storedMarks)
|
|
589066
|
+
collectFromMark(mark2.type.name, mark2.attrs);
|
|
589067
|
+
}
|
|
589068
|
+
const $pos = state.doc.resolve(from4);
|
|
589069
|
+
for (const mark2 of $pos.marks())
|
|
589070
|
+
collectFromMark(mark2.type.name, mark2.attrs);
|
|
589071
|
+
} else {
|
|
589072
|
+
state.doc.nodesBetween(from4, to, (node4, pos) => {
|
|
589073
|
+
if (!node4.isText)
|
|
589074
|
+
return true;
|
|
589075
|
+
const start2 = Math.max(pos, from4);
|
|
589076
|
+
const end = Math.min(pos + node4.nodeSize, to);
|
|
589077
|
+
if (end <= start2)
|
|
589078
|
+
return false;
|
|
589079
|
+
for (const mark2 of node4.marks)
|
|
589080
|
+
collectFromMark(mark2.type.name, mark2.attrs);
|
|
589081
|
+
return false;
|
|
589082
|
+
});
|
|
589083
|
+
}
|
|
589084
|
+
return { commentIds: Array.from(commentIds), changeIds: Array.from(changeIds) };
|
|
589085
|
+
}
|
|
589092
589086
|
function collectActiveMarks2(state, from4, to) {
|
|
589093
589087
|
const names = new Set;
|
|
589094
589088
|
const stored = state.storedMarks;
|
|
@@ -589108,46 +589102,6 @@ function collectActiveMarks2(state, from4, to) {
|
|
|
589108
589102
|
}
|
|
589109
589103
|
return Array.from(names);
|
|
589110
589104
|
}
|
|
589111
|
-
function subscribeToSelection2(editor, listener) {
|
|
589112
|
-
let scheduled = false;
|
|
589113
|
-
let cancelled = false;
|
|
589114
|
-
let lastEmittedKey = null;
|
|
589115
|
-
const flush = () => {
|
|
589116
|
-
scheduled = false;
|
|
589117
|
-
if (cancelled)
|
|
589118
|
-
return;
|
|
589119
|
-
const info = resolveCurrentSelectionInfo2(editor, {});
|
|
589120
|
-
const key2 = selectionInfoKey2(info);
|
|
589121
|
-
if (key2 === lastEmittedKey)
|
|
589122
|
-
return;
|
|
589123
|
-
lastEmittedKey = key2;
|
|
589124
|
-
listener(info);
|
|
589125
|
-
};
|
|
589126
|
-
const schedule = () => {
|
|
589127
|
-
if (scheduled || cancelled)
|
|
589128
|
-
return;
|
|
589129
|
-
scheduled = true;
|
|
589130
|
-
queueMicrotask(flush);
|
|
589131
|
-
};
|
|
589132
|
-
editor.on("selectionUpdate", schedule);
|
|
589133
|
-
editor.on("transaction", schedule);
|
|
589134
|
-
return () => {
|
|
589135
|
-
cancelled = true;
|
|
589136
|
-
editor.off?.("selectionUpdate", schedule);
|
|
589137
|
-
editor.off?.("transaction", schedule);
|
|
589138
|
-
};
|
|
589139
|
-
}
|
|
589140
|
-
function selectionInfoKey2(info) {
|
|
589141
|
-
const target = info.target;
|
|
589142
|
-
let targetKey;
|
|
589143
|
-
if (!target) {
|
|
589144
|
-
targetKey = "null";
|
|
589145
|
-
} else {
|
|
589146
|
-
targetKey = target.segments.map((s2) => `${s2.blockId}:${s2.range.start}-${s2.range.end}`).join("|");
|
|
589147
|
-
}
|
|
589148
|
-
const marks = [...info.activeMarks].sort().join(",");
|
|
589149
|
-
return `${info.empty ? "1" : "0"}:${targetKey}:${marks}`;
|
|
589150
|
-
}
|
|
589151
589105
|
function markTypesPresentEverywhere2(doc6, from4, to) {
|
|
589152
589106
|
let common = null;
|
|
589153
589107
|
let aborted2 = false;
|
|
@@ -589177,7 +589131,11 @@ function markTypesPresentEverywhere2(doc6, from4, to) {
|
|
|
589177
589131
|
});
|
|
589178
589132
|
return common ?? new Set;
|
|
589179
589133
|
}
|
|
589180
|
-
var
|
|
589134
|
+
var COMMENT_MARK_NAME4 = "commentMark", TRACK_CHANGE_MARK_NAMES2;
|
|
589135
|
+
var init_selection_info_resolver = __esm(() => {
|
|
589136
|
+
init_tracked_change_resolver();
|
|
589137
|
+
TRACK_CHANGE_MARK_NAMES2 = new Set(["trackInsert", "trackDelete", "trackFormat"]);
|
|
589138
|
+
});
|
|
589181
589139
|
|
|
589182
589140
|
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/table-target-resolver.ts
|
|
589183
589141
|
function resolveLocatorToCandidate2(editor, locator, operationName) {
|
|
@@ -595207,7 +595165,7 @@ function getMarksDiff2(marksA = [], marksB = []) {
|
|
|
595207
595165
|
return {};
|
|
595208
595166
|
}
|
|
595209
595167
|
const ignoredMarkKeys = new Set;
|
|
595210
|
-
if (
|
|
595168
|
+
if (TRACK_CHANGE_MARK_NAMES3.has(markName)) {
|
|
595211
595169
|
for (const key2 of TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS2) {
|
|
595212
595170
|
ignoredMarkKeys.add(key2);
|
|
595213
595171
|
}
|
|
@@ -595364,10 +595322,10 @@ function deepEquals2(a2, b2) {
|
|
|
595364
595322
|
}
|
|
595365
595323
|
return false;
|
|
595366
595324
|
}
|
|
595367
|
-
var IGNORED_ATTRIBUTE_KEYS2,
|
|
595325
|
+
var IGNORED_ATTRIBUTE_KEYS2, TRACK_CHANGE_MARK_NAMES3, TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS2;
|
|
595368
595326
|
var init_attributes_diffing = __esm(() => {
|
|
595369
595327
|
IGNORED_ATTRIBUTE_KEYS2 = new Set(["sdBlockId"]);
|
|
595370
|
-
|
|
595328
|
+
TRACK_CHANGE_MARK_NAMES3 = new Set(["trackInsert", "trackDelete", "trackFormat"]);
|
|
595371
595329
|
TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS2 = new Set(["id", "sourceId"]);
|
|
595372
595330
|
});
|
|
595373
595331
|
|
|
@@ -607573,12 +607531,10 @@ function assembleDocumentApiAdapters2(editor) {
|
|
|
607573
607531
|
}
|
|
607574
607532
|
},
|
|
607575
607533
|
ranges: {
|
|
607576
|
-
resolve: (input2) => resolveRange2(editor, input2)
|
|
607577
|
-
scrollIntoView: (input2) => scrollRangeIntoView2(editor, input2)
|
|
607534
|
+
resolve: (input2) => resolveRange2(editor, input2)
|
|
607578
607535
|
},
|
|
607579
607536
|
selection: {
|
|
607580
|
-
current: (input2) => resolveCurrentSelectionInfo2(editor, input2)
|
|
607581
|
-
onChange: (listener) => subscribeToSelection2(editor, listener)
|
|
607537
|
+
current: (input2) => resolveCurrentSelectionInfo2(editor, input2)
|
|
607582
607538
|
},
|
|
607583
607539
|
query: {
|
|
607584
607540
|
match: (input2) => queryMatchAdapter2(editor, input2)
|
|
@@ -607628,7 +607584,6 @@ var init_assemble_adapters = __esm(() => {
|
|
|
607628
607584
|
init_preview();
|
|
607629
607585
|
init_query_match_adapter();
|
|
607630
607586
|
init_range_resolver();
|
|
607631
|
-
init_scroll_into_view_adapter();
|
|
607632
607587
|
init_selection_info_resolver();
|
|
607633
607588
|
init_revision_tracker();
|
|
607634
607589
|
init_story_revision_store();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc-dev/mcp",
|
|
3
|
-
"version": "0.3.0-next.
|
|
3
|
+
"version": "0.3.0-next.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"superdoc-mcp": "./dist/index.js"
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
13
13
|
"zod": "^4.3.6",
|
|
14
|
-
"@superdoc-
|
|
15
|
-
"@superdoc/
|
|
14
|
+
"@superdoc/document-api": "0.0.1",
|
|
15
|
+
"@superdoc-dev/sdk": "1.7.0"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/bun": "^1.3.8",
|