@superdoc-dev/cli 0.8.0-next.37 → 0.8.0-next.38

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.
Files changed (2) hide show
  1. package/dist/index.js +670 -154
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -8401,7 +8401,7 @@ function buildInternalContractSchemas() {
8401
8401
  operations
8402
8402
  };
8403
8403
  }
8404
- var nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, paragraphTargetSchema, sectionAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, targetLocatorSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, storyLocatorSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, listsExitSuccessSchema, nodeSummarySchema, nodeInfoSchema, matchContextSchema, unknownNodeDiagnosticSchema, textSelectorSchema, nodeSelectorSchema, selectorShorthandSchema, sdTextSelectorSchema, sdNodeSelectorSchema, sdSelectorSchema, sdReadOptionsSchema, sdFindInputSchema, sdNodeResultSchema, sdFindResultSchema, sdMutationResolutionSchema, sdMutationSuccessSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentStyleInfoSchema, documentStylesSchema, documentDefaultsSchema, documentInfoSchema, listKindSchema, listInsertPositionSchema, listItemInfoSchema, listItemDomainItemSchema, listsListResultSchema, sectionBreakTypeSchema, sectionOrientationSchema, sectionVerticalAlignSchema, sectionDirectionSchema, sectionHeaderFooterKindSchema, sectionHeaderFooterVariantSchema, sectionLineNumberRestartSchema, sectionPageNumberFormatSchema, sectionRangeDomainSchema, sectionPageMarginsSchema, sectionHeaderFooterMarginsSchema, sectionPageSetupSchema, sectionColumnsSchema, sectionLineNumberingSchema, sectionPageNumberingSchema, sectionHeaderFooterRefsSchema, sectionBorderSpecSchema, sectionPageBordersSchema, sectionInfoSchema, sectionResolvedHandleSchema, sectionDomainItemSchema, sectionsListResultSchema, sectionMutationSuccessSchema, documentMutationSuccessSchema, paragraphMutationTargetSchema, paragraphMutationSuccessSchema, createSectionBreakSuccessSchema, commentInfoSchema, commentDomainItemSchema, commentsListResultSchema, trackChangeWordRevisionIdsSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, capabilityReasonCodeSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, inlinePropertyCapabilitySchema, inlinePropertyCapabilitiesByKeySchema, formatCapabilitiesSchema, planEngineCapabilitiesSchema, capabilitiesOutputSchema, strictEmptyObjectSchema, tableBorderColorPattern = "^([0-9A-Fa-f]{6}|auto)$", tableBorderSpecSchema, nullableTableBorderSpecSchema, sdFragmentSchema, placementSchema, nestingPolicySchema, insertInputSchema, tableLocatorSchema, cellLocatorSchema, cellOrTableScopedCellLocatorSchema, tableOrCellLocatorSchema, mergeRangeLocatorSchema, tableCreateLocationSchema, tableMutationSuccessSchema, createTableSuccessSchema, tableMutationFailureCodes, tableMutationFailureSchema, tableMutationResultSchema, createTableResultSchema, historyActionSuccessSchema, historyActionFailureSchema, formatInlineAliasOperationSchemas, tocMutationFailureCodes, tocMutationFailureSchema, tocMutationSuccessSchema, tocEntryMutationFailureCodes, tocEntryMutationFailureSchema, tocEntryMutationSuccessSchema, hyperlinkTargetSchema, hyperlinkReadPropertiesSchema, hyperlinkDestinationSchema, hyperlinkSpecSchema, hyperlinkPatchSchema, hyperlinkDomainSchema, hyperlinkMutationSuccessSchema, hyperlinkMutationFailureCodes, hyperlinkMutationFailureSchema, hyperlinkInfoSchema, contentControlTargetSchema, contentControlMutationSuccessSchema, contentControlMutationFailureSchema, ccListResultSchema, ccInfoSchema, refListQuerySchema, discoveryOutputSchema, receiptFailureSchema, 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, diffApplyResultSchema, operationSchemas;
8404
+ var nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, paragraphTargetSchema, sectionAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, targetLocatorSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, storyLocatorSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, listsExitSuccessSchema, nodeSummarySchema, nodeInfoSchema, matchContextSchema, unknownNodeDiagnosticSchema, textSelectorSchema, nodeSelectorSchema, selectorShorthandSchema, sdTextSelectorSchema, sdNodeSelectorSchema, sdSelectorSchema, sdReadOptionsSchema, sdFindInputSchema, sdNodeResultSchema, sdFindResultSchema, sdMutationResolutionSchema, sdMutationSuccessSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentStyleInfoSchema, documentStylesSchema, documentDefaultsSchema, documentInfoSchema, listKindSchema, listInsertPositionSchema, listItemInfoSchema, listItemDomainItemSchema, listsListResultSchema, sectionBreakTypeSchema, sectionOrientationSchema, sectionVerticalAlignSchema, sectionDirectionSchema, sectionHeaderFooterKindSchema, sectionHeaderFooterVariantSchema, sectionLineNumberRestartSchema, sectionPageNumberFormatSchema, sectionRangeDomainSchema, sectionPageMarginsSchema, sectionHeaderFooterMarginsSchema, sectionPageSetupSchema, sectionColumnsSchema, sectionLineNumberingSchema, sectionPageNumberingSchema, sectionHeaderFooterRefsSchema, sectionBorderSpecSchema, sectionPageBordersSchema, sectionInfoSchema, sectionResolvedHandleSchema, sectionDomainItemSchema, sectionsListResultSchema, sectionMutationSuccessSchema, documentMutationSuccessSchema, paragraphMutationTargetSchema, paragraphMutationSuccessSchema, createSectionBreakSuccessSchema, commentInfoSchema, commentDomainItemSchema, commentsListResultSchema, trackChangeWordRevisionIdsSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, capabilityReasonCodeSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, inlinePropertyCapabilitySchema, inlinePropertyCapabilitiesByKeySchema, formatCapabilitiesSchema, planEngineCapabilitiesSchema, capabilitiesOutputSchema, strictEmptyObjectSchema, tableBorderColorPattern = "^([0-9A-Fa-f]{6}|auto)$", tableBorderSpecSchema, nullableTableBorderSpecSchema, sdFragmentSchema, placementSchema, nestingPolicySchema, insertInputSchema, tableLocatorSchema, cellLocatorSchema, cellOrTableScopedCellLocatorSchema, tableOrCellLocatorSchema, mergeRangeLocatorSchema, tableCreateLocationSchema, tableMutationSuccessSchema, createTableSuccessSchema, tableMutationFailureCodes, tableMutationFailureSchema, tableMutationResultSchema, createTableResultSchema, historyActionSuccessSchema, historyActionFailureSchema, formatInlineAliasOperationSchemas, tocMutationFailureCodes, tocMutationFailureSchema, tocMutationSuccessSchema, tocEntryMutationFailureCodes, tocEntryMutationFailureSchema, tocEntryMutationSuccessSchema, hyperlinkTargetSchema, hyperlinkReadPropertiesSchema, hyperlinkDestinationSchema, hyperlinkSpecSchema, hyperlinkPatchSchema, hyperlinkDomainSchema, hyperlinkMutationSuccessSchema, hyperlinkMutationFailureCodes, hyperlinkMutationFailureSchema, hyperlinkInfoSchema, contentControlTargetSchema, contentControlMutationSuccessSchema, contentControlMutationFailureSchema, ccListResultSchema, ccInfoSchema, refListQueryProperties, refListQuerySchema, discoveryOutputSchema, receiptFailureSchema, 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, diffApplyResultSchema, operationSchemas;
8405
8405
  var init_schemas = __esm(() => {
8406
8406
  init_command_catalog();
8407
8407
  init_types2();
@@ -8455,7 +8455,8 @@ var init_schemas = __esm(() => {
8455
8455
  }, ["blockId", "range"]),
8456
8456
  TextTarget: objectSchema({
8457
8457
  kind: { const: "text" },
8458
- segments: { type: "array", items: ref("TextSegment"), minItems: 1 }
8458
+ segments: { type: "array", items: ref("TextSegment"), minItems: 1 },
8459
+ story: ref("StoryLocator")
8459
8460
  }, ["kind", "segments"]),
8460
8461
  SelectionEdgeNodeAddress: objectSchema({
8461
8462
  kind: { const: "block" },
@@ -9478,10 +9479,11 @@ var init_schemas = __esm(() => {
9478
9479
  }, ["success", "failure"]);
9479
9480
  ccListResultSchema = objectSchema({ items: { type: "array", items: { type: "object" } }, total: { type: "integer" } }, ["items", "total"]);
9480
9481
  ccInfoSchema = { type: "object", description: "ContentControlInfo" };
9481
- refListQuerySchema = objectSchema({
9482
+ refListQueryProperties = {
9482
9483
  limit: { type: "integer", minimum: 1 },
9483
9484
  offset: { type: "integer", minimum: 0 }
9484
- });
9485
+ };
9486
+ refListQuerySchema = objectSchema(refListQueryProperties);
9485
9487
  discoveryOutputSchema = { type: "object" };
9486
9488
  receiptFailureSchema = objectSchema({
9487
9489
  code: { type: "string" },
@@ -9492,7 +9494,12 @@ var init_schemas = __esm(() => {
9492
9494
  "success",
9493
9495
  "failure"
9494
9496
  ]);
9495
- bookmarkAddressSchema = objectSchema({ kind: { const: "entity" }, entityType: { const: "bookmark" }, name: { type: "string" } }, ["kind", "entityType", "name"]);
9497
+ bookmarkAddressSchema = objectSchema({
9498
+ kind: { const: "entity" },
9499
+ entityType: { const: "bookmark" },
9500
+ name: { type: "string" },
9501
+ story: ref("StoryLocator")
9502
+ }, ["kind", "entityType", "name"]);
9496
9503
  bookmarkMutation = refMutationSchemas({ bookmark: bookmarkAddressSchema }, ["bookmark"]);
9497
9504
  footnoteAddressSchema = objectSchema({ kind: { const: "entity" }, entityType: { const: "footnote" }, noteId: { type: "string" } }, ["kind", "entityType", "noteId"]);
9498
9505
  footnoteConfigScopeSchema = {
@@ -12860,7 +12867,10 @@ var init_schemas = __esm(() => {
12860
12867
  },
12861
12868
  ...buildContentControlSchemas(),
12862
12869
  "bookmarks.list": {
12863
- input: refListQuerySchema,
12870
+ input: objectSchema({
12871
+ ...refListQueryProperties,
12872
+ in: storyLocatorSchema
12873
+ }),
12864
12874
  output: discoveryOutputSchema
12865
12875
  },
12866
12876
  "bookmarks.get": {
@@ -17987,8 +17997,14 @@ function validateBookmarkTarget(target, operationName) {
17987
17997
  if (t.kind !== "entity" || t.entityType !== "bookmark" || typeof t.name !== "string") {
17988
17998
  throw new DocumentApiValidationError("INVALID_TARGET", `${operationName} target must be a BookmarkAddress with kind 'entity', entityType 'bookmark', and a string name.`, { target });
17989
17999
  }
18000
+ if (t.story !== undefined) {
18001
+ validateStoryLocator(t.story, `${operationName}.target.story`);
18002
+ }
17990
18003
  }
17991
18004
  function executeBookmarksList(adapter, query2) {
18005
+ if (query2?.in !== undefined) {
18006
+ validateStoryLocator(query2.in, "bookmarks.list.in");
18007
+ }
17992
18008
  return adapter.list(query2);
17993
18009
  }
17994
18010
  function executeBookmarksGet(adapter, input) {
@@ -18015,6 +18031,7 @@ function executeBookmarksRemove(adapter, input, options) {
18015
18031
  var init_bookmarks = __esm(() => {
18016
18032
  init_errors2();
18017
18033
  init_validation_primitives();
18034
+ init_story_validator();
18018
18035
  });
18019
18036
 
18020
18037
  // ../../packages/document-api/src/protection/protection.ts
@@ -65806,7 +65823,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
65806
65823
  emptyOptions2 = {};
65807
65824
  });
65808
65825
 
65809
- // ../../packages/superdoc/dist/chunks/SuperConverter-Dchjy0My.es.js
65826
+ // ../../packages/superdoc/dist/chunks/SuperConverter-DklB-kc9.es.js
65810
65827
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
65811
65828
  const fieldValue = extension$1.config[field];
65812
65829
  if (typeof fieldValue === "function")
@@ -72136,8 +72153,12 @@ function validateBookmarkTarget2(target, operationName) {
72136
72153
  const t = target;
72137
72154
  if (t.kind !== "entity" || t.entityType !== "bookmark" || typeof t.name !== "string")
72138
72155
  throw new DocumentApiValidationError2("INVALID_TARGET", `${operationName} target must be a BookmarkAddress with kind 'entity', entityType 'bookmark', and a string name.`, { target });
72156
+ if (t.story !== undefined)
72157
+ validateStoryLocator2(t.story, `${operationName}.target.story`);
72139
72158
  }
72140
72159
  function executeBookmarksList2(adapter, query2) {
72160
+ if (query2?.in !== undefined)
72161
+ validateStoryLocator2(query2.in, "bookmarks.list.in");
72141
72162
  return adapter.list(query2);
72142
72163
  }
72143
72164
  function executeBookmarksGet2(adapter, input) {
@@ -103720,7 +103741,7 @@ var isRegExp = (value) => {
103720
103741
  tracked: false,
103721
103742
  carrier: runAttributeCarrier2(runPropertyKey ?? key),
103722
103743
  schema
103723
- }), INLINE_PROPERTY_REGISTRY2, INLINE_PROPERTY_KEY_SET2, INLINE_PROPERTY_BY_KEY2, UNDERLINE_OBJECT_ALLOWED_KEYS2, SHADING_ALLOWED_KEYS2, BORDER_ALLOWED_KEYS2, FIT_TEXT_ALLOWED_KEYS2, LANG_ALLOWED_KEYS2, RFONTS_ALLOWED_KEYS2, EAST_ASIAN_LAYOUT_ALLOWED_KEYS2, STYLISTIC_SET_ALLOWED_KEYS2, VERT_ALIGN_VALUES2, PROPERTY_VALIDATOR_MAP2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_NOT_FOUND_COMMAND2, T_IMAGE_COMMAND2, T_CC_READ2, T_CC_MUTATION2, T_CC_TYPED2, T_CC_TYPED_READ2, T_CC_RAW2, T_QUERY_MATCH2, T_SECTION_CREATE2, T_SECTION_READ2, T_PARAGRAPH_MUTATION2, T_SECTION_MUTATION2, T_SECTION_SETTINGS_MUTATION2, T_HEADER_FOOTER_MUTATION2, T_STORY2, T_REF_READ_LIST2, T_REF_MUTATION2, T_REF_MUTATION_REMOVE2, T_REF_INSERT2, T_PROTECTION_READ2, T_PROTECTION_MUTATION2, T_PERM_RANGE_READ2, T_PERM_RANGE_MUTATION2, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG3, PARAGRAPH_ALIGNMENTS2, TAB_STOP_ALIGNMENTS2, TAB_STOP_LEADERS2, BORDER_SIDES2, CLEAR_BORDER_SIDES2, LINE_RULES2, PARAGRAPH_DIRECTIONS2, ALIGNMENT_POLICIES2, PARAGRAPH_BLOCK_TYPES2, SET_STYLE_KEYS2, CLEAR_STYLE_KEYS2, RESET_DIRECT_FORMATTING_KEYS2, SET_ALIGNMENT_KEYS2, CLEAR_ALIGNMENT_KEYS2, SET_INDENTATION_KEYS2, CLEAR_INDENTATION_KEYS2, SET_SPACING_KEYS2, CLEAR_SPACING_KEYS2, SET_KEEP_OPTIONS_KEYS2, SET_OUTLINE_LEVEL_KEYS2, SET_FLOW_OPTIONS_KEYS2, SET_TAB_STOP_KEYS2, CLEAR_TAB_STOP_KEYS2, CLEAR_ALL_TAB_STOPS_KEYS2, SET_BORDER_KEYS2, CLEAR_BORDER_KEYS2, SET_SHADING_KEYS2, CLEAR_SHADING_KEYS2, SET_DIRECTION_KEYS2, CLEAR_DIRECTION_KEYS2, ST_ON_OFF_ON_VALUES2, ST_ON_OFF_OFF_VALUES2, ST_UNDERLINE_VALUES2, ST_UNDERLINE_VALUE_SET2, ST_VERTICAL_ALIGN_RUN2, ST_EM2, ST_TEXT_ALIGNMENT2, ST_TEXT_DIRECTION2, ST_TEXTBOX_TIGHT_WRAP2, ST_TEXT_TRANSFORM2, ST_JUSTIFICATION2, FONT_FAMILY_SCHEMA2, COLOR_SCHEMA2, SPACING_SCHEMA2, INDENT_SCHEMA2, UNDERLINE_SCHEMA2, BORDER_PROPERTIES_SCHEMA2, SHADING_SCHEMA2, LANG_SCHEMA2, EAST_ASIAN_LAYOUT_SCHEMA2, FIT_TEXT_SCHEMA2, NUMBERING_PROPERTIES_SCHEMA2, FRAME_PR_SCHEMA2, PARAGRAPH_BORDERS_SCHEMA2, TAB_STOP_SCHEMA2, PROPERTY_REGISTRY2, ALLOWED_KEYS_BY_CHANNEL2, PROPERTY_INDEX2, EXCLUDED_KEYS2, INPUT_ALLOWED_KEYS2, TARGET_ALLOWED_KEYS2, OPTIONS_ALLOWED_KEYS2, VALID_CHANNELS2, Z_ORDER_RELATIVE_HEIGHT_MAX2 = 4294967295, nodeTypeValues2, blockNodeTypeValues2, deletableBlockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, deletableBlockNodeAddressSchema2, tableAddressSchema2, tableRowAddressSchema2, tableCellAddressSchema2, tableOrCellAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, paragraphTargetSchema2, sectionAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, entityAddressSchema2, selectionTargetSchema2, deleteBehaviorSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationRangeSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, storyLocatorSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, textSelectorSchema2, nodeSelectorSchema2, sdMutationResolutionSchema2, sdMutationSuccessSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, documentStylesSchema2, documentDefaultsSchema2, listKindSchema2, listInsertPositionSchema2, sectionBreakTypeSchema2, sectionOrientationSchema2, sectionVerticalAlignSchema2, sectionDirectionSchema2, sectionHeaderFooterKindSchema2, sectionHeaderFooterVariantSchema2, sectionLineNumberRestartSchema2, sectionPageNumberFormatSchema2, sectionRangeDomainSchema2, sectionPageMarginsSchema2, sectionHeaderFooterMarginsSchema2, sectionPageSetupSchema2, sectionColumnsSchema2, sectionLineNumberingSchema2, sectionPageNumberingSchema2, sectionHeaderFooterRefsSchema2, sectionBorderSpecSchema2, sectionPageBordersSchema2, sectionMutationSuccessSchema2, documentMutationSuccessSchema2, paragraphMutationTargetSchema2, paragraphMutationSuccessSchema2, createSectionBreakSuccessSchema2, trackChangeWordRevisionIdsSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, inlinePropertyCapabilitySchema2, formatCapabilitiesSchema2, planEngineCapabilitiesSchema2, nullableTableBorderSpecSchema2, sdFragmentSchema2, placementSchema2, nestingPolicySchema2, tableCreateLocationSchema2, formatInlineAliasOperationSchemas2, tocMutationFailureSchema2, tocMutationSuccessSchema2, tocEntryMutationFailureSchema2, tocEntryMutationSuccessSchema2, hyperlinkTargetSchema2, hyperlinkReadPropertiesSchema2, hyperlinkSpecSchema2, hyperlinkPatchSchema2, hyperlinkDomainSchema2, hyperlinkMutationSuccessSchema2, hyperlinkMutationFailureSchema2, contentControlTargetSchema2, contentControlMutationSuccessSchema2, contentControlMutationFailureSchema2, ccListResultSchema2, ccInfoSchema2, refFailureSchema2, bookmarkAddressSchema2, bookmarkMutation2, footnoteAddressSchema2, footnoteConfigScopeSchema2, footnoteNumberingSchema2, footnoteMutation2, footnoteConfig2, crossRefAddressSchema2, crossRefTargetSchema2, crossRefDisplaySchema2, crossRefMutation2, indexAddressSchema2, indexEntryAddressSchema2, indexConfigSchema2, indexEntryDataSchema2, indexEntryPatchSchema2, indexMutation2, indexEntryMutation2, captionAddressSchema2, captionMutation2, captionConfig2, fieldAddressSchema2, fieldMutation2, citationAddressSchema2, citationSourceAddressSchema2, bibliographyAddressSchema2, citationMutation2, citationSourceMutation2, bibliographyMutation2, citationPersonSchema2, citationSourceFieldsSchema2, tocCreateLocationSchema2, authoritiesAddressSchema2, authorityEntryAddressSchema2, authoritiesConfigSchema2, authorityEntryDataSchema2, authorityEntryPatchSchema2, authoritiesMutation2, authorityEntryMutation2, diffCoverageSchema2, diffSummarySchema2, diffSnapshotSchema2, diffPayloadSchema2, GROUP_METADATA2, STEP_OP_CATALOG_UNFROZEN2, PUBLIC_STEP_OP_CATALOG_UNFROZEN2, PUBLIC_MUTATION_STEP_OP_IDS2, PUBLIC_MUTATION_STEP_OP_SET2, CAPABILITY_REASON_CODES, VALID_EDGE_VALUES2, VALID_EDGE_NODE_TYPES2, VALID_DOCUMENT_EDGES2, VALID_REF_BOUNDARIES2, VALID_ANCHOR_KINDS2, RESOLVE_RANGE_ALLOWED_KEYS2, SELECTION_CURRENT_ALLOWED_KEYS2, CREATE_COMMENT_ALLOWED_KEYS2, PATCH_COMMENT_ALLOWED_KEYS2, STYLE_APPLY_INPUT_ALLOWED_KEYS2, INLINE_ALIAS_INPUT_ALLOWED_KEYS2, DELETE_INPUT_ALLOWED_KEYS2, VALID_BEHAVIORS2, CONTENT_KIND_SET2, INLINE_KIND_SET2, LEGACY_TOP_LEVEL_TYPES2, TEXT_INSERT_ALLOWED_KEYS2, STRUCTURAL_INSERT_ALLOWED_KEYS2, VALID_INSERT_TYPES2, LIST_KINDS2, LIST_INSERT_POSITIONS2, JOIN_DIRECTIONS2, MUTATION_SCOPES2, LEVEL_ALIGNMENTS2, TRAILING_CHARACTERS2, LIST_PRESET_IDS2, VALID_BLOCK_NODE_TYPES$1, VALID_LIST_KINDS2, VALID_INSERT_POSITIONS2, VALID_JOIN_DIRECTIONS2, VALID_MUTATION_SCOPES2, VALID_LEVEL_ALIGNMENTS2, VALID_TRAILING_CHARACTERS2, VALID_LIST_PRESETS2, VALID_CONTINUITY_VALUES2, VALID_SEQUENCE_MODES2, VALID_LIST_CREATE_MODES2, TEXT_REPLACE_ALLOWED_KEYS2, STRUCTURAL_REPLACE_ALLOWED_KEYS2, VALID_HEADING_LEVELS2, SECTION_BREAK_TYPES$1, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, VALID_BLOCK_NODE_TYPES3, SNAPSHOT_VERSIONS2, PAYLOAD_VERSIONS2, VALID_STYLE_OPTION_FLAGS2, TABLE_BORDER_COLOR_PATTERN2, VALID_APPLY_TO_VALUES2, VALID_BORDER_EDGE_KEYS2, HEADER_FOOTER_KINDS$1, HEADER_FOOTER_VARIANTS$1, DEFAULT_SECTIONS_LIST_LIMIT2 = 250, SECTION_BREAK_TYPES3, SECTION_ORIENTATIONS2, SECTION_VERTICAL_ALIGNS2, SECTION_DIRECTIONS2, HEADER_FOOTER_KINDS3, HEADER_FOOTER_VARIANTS3, LINE_NUMBER_RESTARTS2, PAGE_NUMBER_FORMATS2, PAGE_BORDER_DISPLAYS2, PAGE_BORDER_OFFSET_FROM_VALUES2, PAGE_BORDER_Z_ORDER_VALUES2, VALID_WRAP_TYPES2, VALID_WRAP_SIDES2, VALID_IMAGE_SIZE_UNITS2, VALID_TOC_UPDATE_MODES2, EDIT_ENTRY_PATCH_ALLOWED_KEYS2, PATCH_FIELDS2, CONTENT_CONTROL_TYPES2, LOCK_MODES2, CONTENT_CONTROL_APPEARANCES2, VALID_NODE_KINDS2, VALID_LOCK_MODES$1, VALID_CC_TYPES2, VALID_CC_APPEARANCES2, VALID_CONTENT_FORMATS2, VALID_RAW_PATCH_OPS2, VALID_SET_MODES2, VALID_CREATE_LOCATION_KINDS2, DEFAULT_PROTECTION_STATE, ADAPTER_GATED_PREFIXES2, _buffers, _defaultCollectionId = null, _nextCollectionId = 1, generateV2HandlerEntity = (handlerName, translator$217) => ({
103744
+ }), INLINE_PROPERTY_REGISTRY2, INLINE_PROPERTY_KEY_SET2, INLINE_PROPERTY_BY_KEY2, UNDERLINE_OBJECT_ALLOWED_KEYS2, SHADING_ALLOWED_KEYS2, BORDER_ALLOWED_KEYS2, FIT_TEXT_ALLOWED_KEYS2, LANG_ALLOWED_KEYS2, RFONTS_ALLOWED_KEYS2, EAST_ASIAN_LAYOUT_ALLOWED_KEYS2, STYLISTIC_SET_ALLOWED_KEYS2, VERT_ALIGN_VALUES2, PROPERTY_VALIDATOR_MAP2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_NOT_FOUND_COMMAND2, T_IMAGE_COMMAND2, T_CC_READ2, T_CC_MUTATION2, T_CC_TYPED2, T_CC_TYPED_READ2, T_CC_RAW2, T_QUERY_MATCH2, T_SECTION_CREATE2, T_SECTION_READ2, T_PARAGRAPH_MUTATION2, T_SECTION_MUTATION2, T_SECTION_SETTINGS_MUTATION2, T_HEADER_FOOTER_MUTATION2, T_STORY2, T_REF_READ_LIST2, T_REF_MUTATION2, T_REF_MUTATION_REMOVE2, T_REF_INSERT2, T_PROTECTION_READ2, T_PROTECTION_MUTATION2, T_PERM_RANGE_READ2, T_PERM_RANGE_MUTATION2, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG3, PARAGRAPH_ALIGNMENTS2, TAB_STOP_ALIGNMENTS2, TAB_STOP_LEADERS2, BORDER_SIDES2, CLEAR_BORDER_SIDES2, LINE_RULES2, PARAGRAPH_DIRECTIONS2, ALIGNMENT_POLICIES2, PARAGRAPH_BLOCK_TYPES2, SET_STYLE_KEYS2, CLEAR_STYLE_KEYS2, RESET_DIRECT_FORMATTING_KEYS2, SET_ALIGNMENT_KEYS2, CLEAR_ALIGNMENT_KEYS2, SET_INDENTATION_KEYS2, CLEAR_INDENTATION_KEYS2, SET_SPACING_KEYS2, CLEAR_SPACING_KEYS2, SET_KEEP_OPTIONS_KEYS2, SET_OUTLINE_LEVEL_KEYS2, SET_FLOW_OPTIONS_KEYS2, SET_TAB_STOP_KEYS2, CLEAR_TAB_STOP_KEYS2, CLEAR_ALL_TAB_STOPS_KEYS2, SET_BORDER_KEYS2, CLEAR_BORDER_KEYS2, SET_SHADING_KEYS2, CLEAR_SHADING_KEYS2, SET_DIRECTION_KEYS2, CLEAR_DIRECTION_KEYS2, ST_ON_OFF_ON_VALUES2, ST_ON_OFF_OFF_VALUES2, ST_UNDERLINE_VALUES2, ST_UNDERLINE_VALUE_SET2, ST_VERTICAL_ALIGN_RUN2, ST_EM2, ST_TEXT_ALIGNMENT2, ST_TEXT_DIRECTION2, ST_TEXTBOX_TIGHT_WRAP2, ST_TEXT_TRANSFORM2, ST_JUSTIFICATION2, FONT_FAMILY_SCHEMA2, COLOR_SCHEMA2, SPACING_SCHEMA2, INDENT_SCHEMA2, UNDERLINE_SCHEMA2, BORDER_PROPERTIES_SCHEMA2, SHADING_SCHEMA2, LANG_SCHEMA2, EAST_ASIAN_LAYOUT_SCHEMA2, FIT_TEXT_SCHEMA2, NUMBERING_PROPERTIES_SCHEMA2, FRAME_PR_SCHEMA2, PARAGRAPH_BORDERS_SCHEMA2, TAB_STOP_SCHEMA2, PROPERTY_REGISTRY2, ALLOWED_KEYS_BY_CHANNEL2, PROPERTY_INDEX2, EXCLUDED_KEYS2, INPUT_ALLOWED_KEYS2, TARGET_ALLOWED_KEYS2, OPTIONS_ALLOWED_KEYS2, VALID_CHANNELS2, Z_ORDER_RELATIVE_HEIGHT_MAX2 = 4294967295, nodeTypeValues2, blockNodeTypeValues2, deletableBlockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, deletableBlockNodeAddressSchema2, tableAddressSchema2, tableRowAddressSchema2, tableCellAddressSchema2, tableOrCellAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, paragraphTargetSchema2, sectionAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, entityAddressSchema2, selectionTargetSchema2, deleteBehaviorSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationRangeSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, storyLocatorSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, textSelectorSchema2, nodeSelectorSchema2, sdMutationResolutionSchema2, sdMutationSuccessSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, documentStylesSchema2, documentDefaultsSchema2, listKindSchema2, listInsertPositionSchema2, sectionBreakTypeSchema2, sectionOrientationSchema2, sectionVerticalAlignSchema2, sectionDirectionSchema2, sectionHeaderFooterKindSchema2, sectionHeaderFooterVariantSchema2, sectionLineNumberRestartSchema2, sectionPageNumberFormatSchema2, sectionRangeDomainSchema2, sectionPageMarginsSchema2, sectionHeaderFooterMarginsSchema2, sectionPageSetupSchema2, sectionColumnsSchema2, sectionLineNumberingSchema2, sectionPageNumberingSchema2, sectionHeaderFooterRefsSchema2, sectionBorderSpecSchema2, sectionPageBordersSchema2, sectionMutationSuccessSchema2, documentMutationSuccessSchema2, paragraphMutationTargetSchema2, paragraphMutationSuccessSchema2, createSectionBreakSuccessSchema2, trackChangeWordRevisionIdsSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, inlinePropertyCapabilitySchema2, formatCapabilitiesSchema2, planEngineCapabilitiesSchema2, nullableTableBorderSpecSchema2, sdFragmentSchema2, placementSchema2, nestingPolicySchema2, tableCreateLocationSchema2, formatInlineAliasOperationSchemas2, tocMutationFailureSchema2, tocMutationSuccessSchema2, tocEntryMutationFailureSchema2, tocEntryMutationSuccessSchema2, hyperlinkTargetSchema2, hyperlinkReadPropertiesSchema2, hyperlinkSpecSchema2, hyperlinkPatchSchema2, hyperlinkDomainSchema2, hyperlinkMutationSuccessSchema2, hyperlinkMutationFailureSchema2, contentControlTargetSchema2, contentControlMutationSuccessSchema2, contentControlMutationFailureSchema2, ccListResultSchema2, ccInfoSchema2, refListQueryProperties2, refFailureSchema2, bookmarkAddressSchema2, bookmarkMutation2, footnoteAddressSchema2, footnoteConfigScopeSchema2, footnoteNumberingSchema2, footnoteMutation2, footnoteConfig2, crossRefAddressSchema2, crossRefTargetSchema2, crossRefDisplaySchema2, crossRefMutation2, indexAddressSchema2, indexEntryAddressSchema2, indexConfigSchema2, indexEntryDataSchema2, indexEntryPatchSchema2, indexMutation2, indexEntryMutation2, captionAddressSchema2, captionMutation2, captionConfig2, fieldAddressSchema2, fieldMutation2, citationAddressSchema2, citationSourceAddressSchema2, bibliographyAddressSchema2, citationMutation2, citationSourceMutation2, bibliographyMutation2, citationPersonSchema2, citationSourceFieldsSchema2, tocCreateLocationSchema2, authoritiesAddressSchema2, authorityEntryAddressSchema2, authoritiesConfigSchema2, authorityEntryDataSchema2, authorityEntryPatchSchema2, authoritiesMutation2, authorityEntryMutation2, diffCoverageSchema2, diffSummarySchema2, diffSnapshotSchema2, diffPayloadSchema2, GROUP_METADATA2, STEP_OP_CATALOG_UNFROZEN2, PUBLIC_STEP_OP_CATALOG_UNFROZEN2, PUBLIC_MUTATION_STEP_OP_IDS2, PUBLIC_MUTATION_STEP_OP_SET2, CAPABILITY_REASON_CODES, VALID_EDGE_VALUES2, VALID_EDGE_NODE_TYPES2, VALID_DOCUMENT_EDGES2, VALID_REF_BOUNDARIES2, VALID_ANCHOR_KINDS2, RESOLVE_RANGE_ALLOWED_KEYS2, SELECTION_CURRENT_ALLOWED_KEYS2, CREATE_COMMENT_ALLOWED_KEYS2, PATCH_COMMENT_ALLOWED_KEYS2, STYLE_APPLY_INPUT_ALLOWED_KEYS2, INLINE_ALIAS_INPUT_ALLOWED_KEYS2, DELETE_INPUT_ALLOWED_KEYS2, VALID_BEHAVIORS2, CONTENT_KIND_SET2, INLINE_KIND_SET2, LEGACY_TOP_LEVEL_TYPES2, TEXT_INSERT_ALLOWED_KEYS2, STRUCTURAL_INSERT_ALLOWED_KEYS2, VALID_INSERT_TYPES2, LIST_KINDS2, LIST_INSERT_POSITIONS2, JOIN_DIRECTIONS2, MUTATION_SCOPES2, LEVEL_ALIGNMENTS2, TRAILING_CHARACTERS2, LIST_PRESET_IDS2, VALID_BLOCK_NODE_TYPES$1, VALID_LIST_KINDS2, VALID_INSERT_POSITIONS2, VALID_JOIN_DIRECTIONS2, VALID_MUTATION_SCOPES2, VALID_LEVEL_ALIGNMENTS2, VALID_TRAILING_CHARACTERS2, VALID_LIST_PRESETS2, VALID_CONTINUITY_VALUES2, VALID_SEQUENCE_MODES2, VALID_LIST_CREATE_MODES2, TEXT_REPLACE_ALLOWED_KEYS2, STRUCTURAL_REPLACE_ALLOWED_KEYS2, VALID_HEADING_LEVELS2, SECTION_BREAK_TYPES$1, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, VALID_BLOCK_NODE_TYPES3, SNAPSHOT_VERSIONS2, PAYLOAD_VERSIONS2, VALID_STYLE_OPTION_FLAGS2, TABLE_BORDER_COLOR_PATTERN2, VALID_APPLY_TO_VALUES2, VALID_BORDER_EDGE_KEYS2, HEADER_FOOTER_KINDS$1, HEADER_FOOTER_VARIANTS$1, DEFAULT_SECTIONS_LIST_LIMIT2 = 250, SECTION_BREAK_TYPES3, SECTION_ORIENTATIONS2, SECTION_VERTICAL_ALIGNS2, SECTION_DIRECTIONS2, HEADER_FOOTER_KINDS3, HEADER_FOOTER_VARIANTS3, LINE_NUMBER_RESTARTS2, PAGE_NUMBER_FORMATS2, PAGE_BORDER_DISPLAYS2, PAGE_BORDER_OFFSET_FROM_VALUES2, PAGE_BORDER_Z_ORDER_VALUES2, VALID_WRAP_TYPES2, VALID_WRAP_SIDES2, VALID_IMAGE_SIZE_UNITS2, VALID_TOC_UPDATE_MODES2, EDIT_ENTRY_PATCH_ALLOWED_KEYS2, PATCH_FIELDS2, CONTENT_CONTROL_TYPES2, LOCK_MODES2, CONTENT_CONTROL_APPEARANCES2, VALID_NODE_KINDS2, VALID_LOCK_MODES$1, VALID_CC_TYPES2, VALID_CC_APPEARANCES2, VALID_CONTENT_FORMATS2, VALID_RAW_PATCH_OPS2, VALID_SET_MODES2, VALID_CREATE_LOCATION_KINDS2, DEFAULT_PROTECTION_STATE, ADAPTER_GATED_PREFIXES2, _buffers, _defaultCollectionId = null, _nextCollectionId = 1, generateV2HandlerEntity = (handlerName, translator$217) => ({
103724
103745
  handlerName,
103725
103746
  handler: (params3) => {
103726
103747
  const { nodes } = params3;
@@ -118267,7 +118288,7 @@ var isRegExp = (value) => {
118267
118288
  state.kern = kernNode.attributes["w:val"];
118268
118289
  }
118269
118290
  }, SuperConverter;
118270
- var init_SuperConverter_Dchjy0My_es = __esm(() => {
118291
+ var init_SuperConverter_DklB_kc9_es = __esm(() => {
118271
118292
  init_rolldown_runtime_Bg48TavK_es();
118272
118293
  init_jszip_C49i9kUs_es();
118273
118294
  init_xml_js_CqGKpaft_es();
@@ -127540,7 +127561,8 @@ var init_SuperConverter_Dchjy0My_es = __esm(() => {
127540
127561
  type: "array",
127541
127562
  items: ref2("TextSegment"),
127542
127563
  minItems: 1
127543
- }
127564
+ },
127565
+ story: ref2("StoryLocator")
127544
127566
  }, ["kind", "segments"]), objectSchema2({
127545
127567
  kind: { const: "block" },
127546
127568
  nodeType: { enum: [...SELECTION_EDGE_NODE_TYPES2] },
@@ -128914,7 +128936,7 @@ var init_SuperConverter_Dchjy0My_es = __esm(() => {
128914
128936
  type: "object",
128915
128937
  description: "ContentControlInfo"
128916
128938
  };
128917
- objectSchema2({
128939
+ refListQueryProperties2 = {
128918
128940
  limit: {
128919
128941
  type: "integer",
128920
128942
  minimum: 1
@@ -128923,7 +128945,8 @@ var init_SuperConverter_Dchjy0My_es = __esm(() => {
128923
128945
  type: "integer",
128924
128946
  minimum: 0
128925
128947
  }
128926
- });
128948
+ };
128949
+ objectSchema2(refListQueryProperties2);
128927
128950
  refFailureSchema2 = objectSchema2({
128928
128951
  success: { const: false },
128929
128952
  failure: objectSchema2({
@@ -128935,7 +128958,8 @@ var init_SuperConverter_Dchjy0My_es = __esm(() => {
128935
128958
  bookmarkAddressSchema2 = objectSchema2({
128936
128959
  kind: { const: "entity" },
128937
128960
  entityType: { const: "bookmark" },
128938
- name: { type: "string" }
128961
+ name: { type: "string" },
128962
+ story: ref2("StoryLocator")
128939
128963
  }, [
128940
128964
  "kind",
128941
128965
  "entityType",
@@ -132532,7 +132556,10 @@ var init_SuperConverter_Dchjy0My_es = __esm(() => {
132532
132556
  ]), objectSchema2({
132533
132557
  success: { const: false },
132534
132558
  failure: receiptFailureSchemaFor2("headerFooters.parts.delete")
132535
- }, ["success", "failure"]), { ...buildContentControlSchemas2() }, objectSchema2({ target: bookmarkAddressSchema2 }, ["target"]), objectSchema2({
132559
+ }, ["success", "failure"]), { ...buildContentControlSchemas2() }, objectSchema2({
132560
+ ...refListQueryProperties2,
132561
+ in: storyLocatorSchema2
132562
+ }), objectSchema2({ target: bookmarkAddressSchema2 }, ["target"]), objectSchema2({
132536
132563
  name: { type: "string" },
132537
132564
  at: textTargetSchema2,
132538
132565
  tableColumn: objectSchema2({
@@ -155862,7 +155889,7 @@ var init_SuperConverter_Dchjy0My_es = __esm(() => {
155862
155889
  };
155863
155890
  });
155864
155891
 
155865
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-CEcVKzGV.es.js
155892
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-lTVVsGdE.es.js
155866
155893
  function parseSizeUnit(val = "0") {
155867
155894
  const length3 = val.toString() || "0";
155868
155895
  const value = Number.parseFloat(length3);
@@ -158498,8 +158525,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
158498
158525
  }
158499
158526
  };
158500
158527
  };
158501
- var init_create_headless_toolbar_CEcVKzGV_es = __esm(() => {
158502
- init_SuperConverter_Dchjy0My_es();
158528
+ var init_create_headless_toolbar_lTVVsGdE_es = __esm(() => {
158529
+ init_SuperConverter_DklB_kc9_es();
158503
158530
  init_constants_DrU4EASo_es();
158504
158531
  init_dist_B8HfvhaK_es();
158505
158532
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -207186,7 +207213,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
207186
207213
  init_remark_gfm_BhnWr3yf_es();
207187
207214
  });
207188
207215
 
207189
- // ../../packages/superdoc/dist/chunks/src-DAF1K-X-.es.js
207216
+ // ../../packages/superdoc/dist/chunks/src-pzodLUJ-.es.js
207190
207217
  function deleteProps(obj, propOrProps) {
207191
207218
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
207192
207219
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -243386,6 +243413,86 @@ function headerFootersPartsDeleteAdapter(editor, input2, options) {
243386
243413
  partPath
243387
243414
  };
243388
243415
  }
243416
+ function isSpecialEntry(entry) {
243417
+ return SPECIAL_NOTE_TYPES.has(entry.type ?? "");
243418
+ }
243419
+ function normalizeNoteId(entry) {
243420
+ return String(entry.id ?? "");
243421
+ }
243422
+ function findNoteEntryById(entries2, noteId) {
243423
+ if (!Array.isArray(entries2))
243424
+ return;
243425
+ let fallback;
243426
+ for (const entry of entries2) {
243427
+ if (String(entry.id ?? "") !== noteId)
243428
+ continue;
243429
+ if (!isSpecialEntry(entry))
243430
+ return entry;
243431
+ fallback ??= entry;
243432
+ }
243433
+ return fallback;
243434
+ }
243435
+ function enumerateEffectiveNoteEntries(entries2) {
243436
+ if (!Array.isArray(entries2))
243437
+ return [];
243438
+ const orderedIds = [];
243439
+ const effectiveById = /* @__PURE__ */ new Map;
243440
+ for (const entry of entries2) {
243441
+ const noteId = normalizeNoteId(entry);
243442
+ if (!effectiveById.has(noteId)) {
243443
+ orderedIds.push(noteId);
243444
+ effectiveById.set(noteId, entry);
243445
+ continue;
243446
+ }
243447
+ if (isSpecialEntry(effectiveById.get(noteId)) && !isSpecialEntry(entry))
243448
+ effectiveById.set(noteId, entry);
243449
+ }
243450
+ return orderedIds.map((noteId) => effectiveById.get(noteId));
243451
+ }
243452
+ function normalizeStory(locator) {
243453
+ if (!locator || locator.storyType === "body")
243454
+ return;
243455
+ return locator;
243456
+ }
243457
+ function buildBookmarkAddress(name, story) {
243458
+ const normalizedStory = normalizeStory(story);
243459
+ return normalizedStory ? {
243460
+ kind: "entity",
243461
+ entityType: "bookmark",
243462
+ name,
243463
+ story: normalizedStory
243464
+ } : {
243465
+ kind: "entity",
243466
+ entityType: "bookmark",
243467
+ name
243468
+ };
243469
+ }
243470
+ function findAllBookmarksInDocument(editor) {
243471
+ return collectFromDocumentStories(editor, {
243472
+ collectFromDoc: collectBookmarksFromDoc,
243473
+ collectFromPmJson: collectBookmarksFromPmJson
243474
+ });
243475
+ }
243476
+ function findAllBookmarkMarkersInDocument(editor) {
243477
+ return collectFromDocumentStories(editor, {
243478
+ collectFromDoc: collectBookmarkMarkersFromDoc,
243479
+ collectFromPmJson: collectBookmarkMarkersFromPmJson
243480
+ });
243481
+ }
243482
+ function collectFromDocumentStories(editor, collector) {
243483
+ const results = [];
243484
+ const seenStoryKeys = /* @__PURE__ */ new Set;
243485
+ const converter = editor.converter;
243486
+ seenStoryKeys.add(BODY_STORY_KEY);
243487
+ collector.collectFromDoc(editor.state.doc, BODY_STORY_KEY, results);
243488
+ collectFromHeaderFooterEditors(editor, converter?.headerEditors, results, seenStoryKeys, collector);
243489
+ collectFromHeaderFooterEditors(editor, converter?.footerEditors, results, seenStoryKeys, collector);
243490
+ collectFromHeaderFooterCache(editor, converter?.headers, results, seenStoryKeys, collector);
243491
+ collectFromHeaderFooterCache(editor, converter?.footers, results, seenStoryKeys, collector);
243492
+ collectFromNotes(editor, converter?.footnotes, "footnote", results, seenStoryKeys, collector);
243493
+ collectFromNotes(editor, converter?.endnotes, "endnote", results, seenStoryKeys, collector);
243494
+ return results;
243495
+ }
243389
243496
  function findAllBookmarks(doc$12) {
243390
243497
  const results = [];
243391
243498
  const endPositions = collectBookmarkEndPositions(doc$12);
@@ -243418,6 +243525,163 @@ function collectBookmarkEndPositions(doc$12) {
243418
243525
  });
243419
243526
  return map$12;
243420
243527
  }
243528
+ function collectBookmarksFromDoc(doc$12, storyKey, results) {
243529
+ doc$12.descendants((node3) => {
243530
+ if (node3.type.name === "bookmarkStart")
243531
+ results.push({
243532
+ name: readBookmarkName(node3.attrs),
243533
+ bookmarkId: readBookmarkId(node3.attrs),
243534
+ storyKey
243535
+ });
243536
+ return true;
243537
+ });
243538
+ }
243539
+ function collectBookmarkMarkersFromDoc(doc$12, storyKey, results) {
243540
+ doc$12.descendants((node3) => {
243541
+ if (!isBookmarkMarkerType(node3.type.name))
243542
+ return true;
243543
+ const bookmarkId = readBookmarkId(node3.attrs);
243544
+ if (bookmarkId)
243545
+ results.push({
243546
+ bookmarkId,
243547
+ storyKey,
243548
+ markerType: node3.type.name
243549
+ });
243550
+ return true;
243551
+ });
243552
+ }
243553
+ function collectFromHeaderFooterEditors(hostEditor, editors, results, seenStoryKeys, collector) {
243554
+ if (!Array.isArray(editors))
243555
+ return;
243556
+ for (const entry of editors) {
243557
+ const refId = typeof entry?.id === "string" && entry.id.length > 0 ? entry.id : null;
243558
+ const storyEditor = entry?.editor;
243559
+ if (!refId || !storyEditor?.state?.doc)
243560
+ continue;
243561
+ const storyKey = buildStoryKey({
243562
+ kind: "story",
243563
+ storyType: "headerFooterPart",
243564
+ refId
243565
+ });
243566
+ if (seenStoryKeys.has(storyKey))
243567
+ continue;
243568
+ seenStoryKeys.add(storyKey);
243569
+ collectFromLiveOrDoc(hostEditor, storyKey, storyEditor.state.doc, results, collector);
243570
+ }
243571
+ }
243572
+ function collectFromHeaderFooterCache(hostEditor, collection, results, seenStoryKeys, collector) {
243573
+ if (!collection || typeof collection !== "object")
243574
+ return;
243575
+ for (const [refId, pmJson] of Object.entries(collection)) {
243576
+ if (typeof refId !== "string" || refId.length === 0)
243577
+ continue;
243578
+ const storyKey = buildStoryKey({
243579
+ kind: "story",
243580
+ storyType: "headerFooterPart",
243581
+ refId
243582
+ });
243583
+ if (seenStoryKeys.has(storyKey))
243584
+ continue;
243585
+ seenStoryKeys.add(storyKey);
243586
+ collectFromLiveOrPmJson(hostEditor, storyKey, pmJson, results, collector);
243587
+ }
243588
+ }
243589
+ function collectFromNotes(hostEditor, notes, storyType, results, seenStoryKeys, collector) {
243590
+ for (const note of enumerateEffectiveNoteEntries(notes)) {
243591
+ const noteId = note?.id != null ? String(note.id) : "";
243592
+ if (!noteId)
243593
+ continue;
243594
+ const pmJson = getNotePmJson(note);
243595
+ if (!pmJson)
243596
+ continue;
243597
+ const storyKey = buildStoryKey({
243598
+ kind: "story",
243599
+ storyType,
243600
+ noteId
243601
+ });
243602
+ if (seenStoryKeys.has(storyKey))
243603
+ continue;
243604
+ seenStoryKeys.add(storyKey);
243605
+ collectFromLiveOrPmJson(hostEditor, storyKey, pmJson, results, collector);
243606
+ }
243607
+ }
243608
+ function collectFromLiveOrDoc(hostEditor, storyKey, fallbackDoc, results, collector) {
243609
+ const liveDoc = resolveLiveStorySessionRuntime(hostEditor, storyKey)?.editor?.state?.doc;
243610
+ collector.collectFromDoc(liveDoc ?? fallbackDoc, storyKey, results);
243611
+ }
243612
+ function collectFromLiveOrPmJson(hostEditor, storyKey, fallbackPmJson, results, collector) {
243613
+ const liveDoc = resolveLiveStorySessionRuntime(hostEditor, storyKey)?.editor?.state?.doc;
243614
+ if (liveDoc) {
243615
+ collector.collectFromDoc(liveDoc, storyKey, results);
243616
+ return;
243617
+ }
243618
+ collector.collectFromPmJson(fallbackPmJson, storyKey, results);
243619
+ }
243620
+ function getNotePmJson(note) {
243621
+ if (Array.isArray(note.content))
243622
+ return {
243623
+ type: "doc",
243624
+ content: note.content.length > 0 ? note.content : [{ type: "paragraph" }]
243625
+ };
243626
+ if (note.doc && typeof note.doc === "object")
243627
+ return note.doc;
243628
+ return null;
243629
+ }
243630
+ function collectBookmarksFromPmJson(pmJson, storyKey, results) {
243631
+ if (!isObjectRecord4(pmJson))
243632
+ return;
243633
+ visitPmJson(pmJson, (node3) => {
243634
+ if (node3.type !== "bookmarkStart")
243635
+ return;
243636
+ const name = readBookmarkName(node3.attrs);
243637
+ const bookmarkId = readBookmarkId(node3.attrs);
243638
+ results.push({
243639
+ name,
243640
+ bookmarkId,
243641
+ storyKey
243642
+ });
243643
+ });
243644
+ }
243645
+ function collectBookmarkMarkersFromPmJson(pmJson, storyKey, results) {
243646
+ if (!isObjectRecord4(pmJson))
243647
+ return;
243648
+ visitPmJson(pmJson, (node3) => {
243649
+ if (!isBookmarkMarkerType(node3.type))
243650
+ return;
243651
+ const bookmarkId = readBookmarkId(node3.attrs);
243652
+ if (bookmarkId)
243653
+ results.push({
243654
+ bookmarkId,
243655
+ storyKey,
243656
+ markerType: node3.type
243657
+ });
243658
+ });
243659
+ }
243660
+ function visitPmJson(node3, visitor) {
243661
+ visitor(node3);
243662
+ const content3 = node3.content;
243663
+ if (!Array.isArray(content3))
243664
+ return;
243665
+ for (const child of content3)
243666
+ if (isObjectRecord4(child))
243667
+ visitPmJson(child, visitor);
243668
+ }
243669
+ function isObjectRecord4(value) {
243670
+ return typeof value === "object" && value !== null;
243671
+ }
243672
+ function isBookmarkMarkerType(type) {
243673
+ return type === "bookmarkStart" || type === "bookmarkEnd";
243674
+ }
243675
+ function readBookmarkId(attrs) {
243676
+ if (!isObjectRecord4(attrs) || attrs.id == null)
243677
+ return "";
243678
+ return String(attrs.id);
243679
+ }
243680
+ function readBookmarkName(attrs) {
243681
+ if (!isObjectRecord4(attrs) || typeof attrs.name !== "string")
243682
+ return "";
243683
+ return attrs.name;
243684
+ }
243421
243685
  function resolveBookmarkTarget(doc$12, target) {
243422
243686
  const found2 = findAllBookmarks(doc$12).find((b$1) => b$1.name === target.name);
243423
243687
  if (!found2)
@@ -243439,17 +243703,13 @@ function nodePositionToPosition(doc$12, pos) {
243439
243703
  offset: pos
243440
243704
  };
243441
243705
  }
243442
- function extractBookmarkInfo(doc$12, resolved) {
243706
+ function extractBookmarkInfo(doc$12, resolved, story) {
243443
243707
  const from$1 = nodePositionToPosition(doc$12, resolved.pos);
243444
243708
  const to = resolved.endPos !== null ? nodePositionToPosition(doc$12, resolved.endPos) : from$1;
243445
243709
  const colFirst = resolved.node.attrs?.colFirst;
243446
243710
  const colLast = resolved.node.attrs?.colLast;
243447
243711
  const info = {
243448
- address: {
243449
- kind: "entity",
243450
- entityType: "bookmark",
243451
- name: resolved.name
243452
- },
243712
+ address: buildBookmarkAddress(resolved.name, story),
243453
243713
  name: resolved.name,
243454
243714
  bookmarkId: resolved.bookmarkId,
243455
243715
  range: {
@@ -243464,17 +243724,13 @@ function extractBookmarkInfo(doc$12, resolved) {
243464
243724
  };
243465
243725
  return info;
243466
243726
  }
243467
- function buildBookmarkDiscoveryItem(doc$12, resolved, evaluatedRevision) {
243727
+ function buildBookmarkDiscoveryItem(doc$12, resolved, evaluatedRevision, story, idScope) {
243468
243728
  const from$1 = nodePositionToPosition(doc$12, resolved.pos);
243469
243729
  const to = resolved.endPos !== null ? nodePositionToPosition(doc$12, resolved.endPos) : from$1;
243470
243730
  const colFirst = resolved.node.attrs?.colFirst;
243471
243731
  const colLast = resolved.node.attrs?.colLast;
243472
243732
  const domain2 = {
243473
- address: {
243474
- kind: "entity",
243475
- entityType: "bookmark",
243476
- name: resolved.name
243477
- },
243733
+ address: buildBookmarkAddress(resolved.name, story),
243478
243734
  name: resolved.name,
243479
243735
  bookmarkId: resolved.bookmarkId,
243480
243736
  range: {
@@ -243488,7 +243744,7 @@ function buildBookmarkDiscoveryItem(doc$12, resolved, evaluatedRevision) {
243488
243744
  colLast
243489
243745
  };
243490
243746
  const handle3 = buildResolvedHandle(resolved.name, "stable", "node");
243491
- return buildDiscoveryItem(`bookmark:${resolved.name}:${evaluatedRevision}`, handle3, domain2);
243747
+ return buildDiscoveryItem(`${idScope ? `bookmark:${encodeURIComponent(idScope)}:` : "bookmark:"}${encodeURIComponent(resolved.name)}:${encodeURIComponent(evaluatedRevision)}`, handle3, domain2);
243492
243748
  }
243493
243749
  function bookmarkSuccess(address2) {
243494
243750
  return {
@@ -243518,22 +243774,106 @@ function parseBookmarkId(raw) {
243518
243774
  const parsed = Number.parseInt(raw, 10);
243519
243775
  return Number.isInteger(parsed) && parsed >= 0 ? parsed : null;
243520
243776
  }
243521
- function allocateBookmarkId(doc$12) {
243777
+ function allocateBookmarkId(editor) {
243778
+ const entries2 = findAllBookmarkMarkersInDocument(editor);
243522
243779
  let maxId = -1;
243523
- doc$12.descendants((node3) => {
243524
- if (node3.type.name !== "bookmarkStart" && node3.type.name !== "bookmarkEnd")
243525
- return true;
243526
- const id2 = parseBookmarkId(node3.attrs?.id);
243780
+ for (const entry of entries2) {
243781
+ const id2 = parseBookmarkId(entry.bookmarkId);
243527
243782
  if (id2 !== null && id2 > maxId)
243528
243783
  maxId = id2;
243529
- return true;
243530
- });
243784
+ }
243531
243785
  return String(maxId + 1);
243532
243786
  }
243787
+ function bookmarkExistsAnywhere(editor, name, exclude, preCollected) {
243788
+ return (preCollected ?? findAllBookmarksInDocument(editor)).some((bookmark) => {
243789
+ if (bookmark.name !== name)
243790
+ return false;
243791
+ if (!exclude)
243792
+ return true;
243793
+ return !(bookmark.storyKey === exclude.storyKey && bookmark.bookmarkId === exclude.bookmarkId);
243794
+ });
243795
+ }
243796
+ function collectBookmarkStorySnapshots(editor, entries2) {
243797
+ return [...new Set(entries2.map((entry) => entry.storyKey))].flatMap((storyKey) => {
243798
+ const locator = storyKey === "body" ? undefined : parseStoryKey(storyKey);
243799
+ try {
243800
+ const runtime = resolveStoryRuntime(editor, locator);
243801
+ return [{
243802
+ storyKey,
243803
+ runtime,
243804
+ revision: getRevision(runtime.editor)
243805
+ }];
243806
+ } catch (error3) {
243807
+ if (error3 instanceof DocumentApiAdapterError && error3.code === "STORY_NOT_FOUND")
243808
+ return [];
243809
+ throw error3;
243810
+ }
243811
+ });
243812
+ }
243813
+ function buildDocumentBookmarkRevision(hostRevision, snapshots) {
243814
+ if (snapshots.length === 0)
243815
+ return hostRevision;
243816
+ if (snapshots.length === 1 && snapshots[0]?.storyKey === "body")
243817
+ return hostRevision;
243818
+ return `${BOOKMARK_SCAN_REVISION_PREFIX}${[...snapshots].sort((left$1, right$1) => left$1.storyKey.localeCompare(right$1.storyKey)).map((snapshot2) => `${snapshot2.storyKey}@${snapshot2.revision}`).join("|")}`;
243819
+ }
243820
+ function getDocumentBookmarkRevision(editor, preCollected) {
243821
+ return buildDocumentBookmarkRevision(getRevision(editor), collectBookmarkStorySnapshots(editor, preCollected ?? findAllBookmarksInDocument(editor)));
243822
+ }
243823
+ function expectedRevisionMatchesStory(storyEditor, expectedRevision) {
243824
+ return expectedRevision === getRevision(storyEditor);
243825
+ }
243826
+ function expectedRevisionMatchesDocumentScan(hostEditor, expectedRevision) {
243827
+ return expectedRevision.startsWith("bookmark-scan:") && expectedRevision === getDocumentBookmarkRevision(hostEditor);
243828
+ }
243829
+ function checkBookmarkRevision(hostEditor, storyEditor, expectedRevision) {
243830
+ if (expectedRevision === undefined)
243831
+ return;
243832
+ if (expectedRevisionMatchesStory(storyEditor, expectedRevision))
243833
+ return;
243834
+ if (expectedRevisionMatchesDocumentScan(hostEditor, expectedRevision))
243835
+ return;
243836
+ checkRevision(storyEditor, expectedRevision);
243837
+ }
243838
+ function resolveBookmarkMutationStory(editor, target) {
243839
+ if (target.story)
243840
+ return target.story;
243841
+ const matches2 = findAllBookmarksInDocument(editor).filter((bookmark) => bookmark.name === target.name);
243842
+ if (matches2.length > 1)
243843
+ throw new DocumentApiAdapterError("INVALID_INPUT", `Bookmark name "${target.name}" exists in multiple stories. Pass target.story to disambiguate the mutation.`);
243844
+ const entry = matches2[0];
243845
+ if (!entry)
243846
+ throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Bookmark with name "${target.name}" not found.`);
243847
+ return entry.storyKey === "body" ? undefined : parseStoryKey(entry.storyKey);
243848
+ }
243533
243849
  function bookmarksListWrapper(editor, query2) {
243534
- const doc$12 = editor.state.doc;
243535
- const revision = getRevision(editor);
243536
- const { total, items: paged } = paginate(findAllBookmarks(doc$12).map((b$1) => buildBookmarkDiscoveryItem(doc$12, b$1, revision)), query2?.offset, query2?.limit);
243850
+ if (query2?.in)
243851
+ return listBookmarksFromStory(editor, query2.in, query2);
243852
+ const entries2 = findAllBookmarksInDocument(editor);
243853
+ const hostRevision = getRevision(editor);
243854
+ const snapshots = collectBookmarkStorySnapshots(editor, entries2);
243855
+ const { total, items: paged } = paginate(snapshots.flatMap(({ storyKey, runtime, revision }) => {
243856
+ const doc$12 = runtime.editor.state.doc;
243857
+ return findAllBookmarks(doc$12).map((bookmark) => buildBookmarkDiscoveryItem(doc$12, bookmark, revision, runtime.locator, storyKey));
243858
+ }), query2?.offset, query2?.limit);
243859
+ const effectiveLimit = query2?.limit ?? total;
243860
+ return buildDiscoveryResult({
243861
+ evaluatedRevision: buildDocumentBookmarkRevision(hostRevision, snapshots),
243862
+ total,
243863
+ items: paged,
243864
+ page: {
243865
+ limit: effectiveLimit,
243866
+ offset: query2?.offset ?? 0,
243867
+ returned: paged.length
243868
+ }
243869
+ });
243870
+ }
243871
+ function listBookmarksFromStory(editor, storyLocator, query2) {
243872
+ const runtime = resolveStoryRuntime(editor, storyLocator);
243873
+ const storyEditor = runtime.editor;
243874
+ const doc$12 = storyEditor.state.doc;
243875
+ const revision = getRevision(storyEditor);
243876
+ const { total, items: paged } = paginate(findAllBookmarks(doc$12).map((bookmark) => buildBookmarkDiscoveryItem(doc$12, bookmark, revision, runtime.locator)), query2?.offset, query2?.limit);
243537
243877
  return buildDiscoveryResult({
243538
243878
  evaluatedRevision: revision,
243539
243879
  total,
@@ -243546,100 +243886,128 @@ function bookmarksListWrapper(editor, query2) {
243546
243886
  });
243547
243887
  }
243548
243888
  function bookmarksGetWrapper(editor, input2) {
243549
- const resolved = resolveBookmarkTarget(editor.state.doc, input2.target);
243550
- return extractBookmarkInfo(editor.state.doc, resolved);
243889
+ if (input2.target.story) {
243890
+ const runtime$1 = resolveStoryRuntime(editor, input2.target.story);
243891
+ const resolved$1 = resolveBookmarkTarget(runtime$1.editor.state.doc, input2.target);
243892
+ return extractBookmarkInfo(runtime$1.editor.state.doc, resolved$1, runtime$1.locator);
243893
+ }
243894
+ const entry = findAllBookmarksInDocument(editor).find((bookmark) => bookmark.name === input2.target.name);
243895
+ if (!entry)
243896
+ throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Bookmark with name "${input2.target.name}" not found.`);
243897
+ const runtime = resolveStoryRuntime(editor, entry.storyKey === "body" ? undefined : parseStoryKey(entry.storyKey));
243898
+ const resolved = resolveBookmarkTarget(runtime.editor.state.doc, input2.target);
243899
+ return extractBookmarkInfo(runtime.editor.state.doc, resolved, runtime.locator);
243551
243900
  }
243552
243901
  function bookmarksInsertWrapper(editor, input2, options) {
243553
243902
  rejectTrackedMode("bookmarks.insert", options);
243554
- if (findAllBookmarks(editor.state.doc).some((b$1) => b$1.name === input2.name))
243555
- return bookmarkFailure("NO_OP", `Bookmark with name "${input2.name}" already exists.`);
243556
- const address2 = {
243557
- kind: "entity",
243558
- entityType: "bookmark",
243559
- name: input2.name
243560
- };
243561
- if (options?.dryRun)
243903
+ const runtime = resolveWriteStoryRuntime(editor, input2.at.story);
243904
+ const storyEditor = runtime.editor;
243905
+ const address2 = buildBookmarkAddress(input2.name, runtime.locator);
243906
+ try {
243907
+ checkBookmarkRevision(editor, storyEditor, options?.expectedRevision);
243908
+ const allBookmarks = findAllBookmarksInDocument(editor);
243909
+ if (bookmarkExistsAnywhere(editor, input2.name, undefined, allBookmarks))
243910
+ return bookmarkFailure("NO_OP", `Bookmark with name "${input2.name}" already exists.`);
243911
+ if (options?.dryRun)
243912
+ return bookmarkSuccess(address2);
243913
+ const bookmarkStartType = storyEditor.schema.nodes.bookmarkStart;
243914
+ const bookmarkEndType = storyEditor.schema.nodes.bookmarkEnd;
243915
+ if (!bookmarkStartType || !bookmarkEndType)
243916
+ throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", "bookmarks.insert requires bookmarkStart and bookmarkEnd node types in the schema.");
243917
+ const resolved = resolveInlineInsertPosition(storyEditor, input2.at, "bookmarks.insert");
243918
+ if (!receiptApplied$6(executeDomainCommand(storyEditor, () => {
243919
+ const bookmarkId = allocateBookmarkId(editor);
243920
+ const startAttrs = {
243921
+ name: input2.name,
243922
+ id: bookmarkId
243923
+ };
243924
+ if (input2.tableColumn) {
243925
+ startAttrs.colFirst = input2.tableColumn.colFirst;
243926
+ startAttrs.colLast = input2.tableColumn.colLast;
243927
+ }
243928
+ const startNode = bookmarkStartType.create(startAttrs);
243929
+ const endNode = bookmarkEndType.create({ id: bookmarkId });
243930
+ const { tr } = storyEditor.state;
243931
+ tr.insert(resolved.to, endNode);
243932
+ tr.insert(resolved.from, startNode);
243933
+ storyEditor.dispatch(tr);
243934
+ clearIndexCache(storyEditor);
243935
+ return true;
243936
+ })))
243937
+ return bookmarkFailure("NO_OP", "Insert operation produced no change.");
243938
+ if (runtime.commit)
243939
+ runtime.commit(editor);
243562
243940
  return bookmarkSuccess(address2);
243563
- const bookmarkStartType = editor.schema.nodes.bookmarkStart;
243564
- const bookmarkEndType = editor.schema.nodes.bookmarkEnd;
243565
- if (!bookmarkStartType || !bookmarkEndType)
243566
- throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", "bookmarks.insert requires bookmarkStart and bookmarkEnd node types in the schema.");
243567
- const resolved = resolveInlineInsertPosition(editor, input2.at, "bookmarks.insert");
243568
- if (!receiptApplied$6(executeDomainCommand(editor, () => {
243569
- const bookmarkId = allocateBookmarkId(editor.state.doc);
243570
- const startAttrs = {
243571
- name: input2.name,
243572
- id: bookmarkId
243573
- };
243574
- if (input2.tableColumn) {
243575
- startAttrs.colFirst = input2.tableColumn.colFirst;
243576
- startAttrs.colLast = input2.tableColumn.colLast;
243577
- }
243578
- const startNode = bookmarkStartType.create(startAttrs);
243579
- const endNode = bookmarkEndType.create({ id: bookmarkId });
243580
- const { tr } = editor.state;
243581
- tr.insert(resolved.to, endNode);
243582
- tr.insert(resolved.from, startNode);
243583
- editor.dispatch(tr);
243584
- clearIndexCache(editor);
243585
- return true;
243586
- }, { expectedRevision: options?.expectedRevision })))
243587
- return bookmarkFailure("NO_OP", "Insert operation produced no change.");
243588
- return bookmarkSuccess(address2);
243941
+ } finally {
243942
+ disposeEphemeralWriteRuntime(runtime);
243943
+ }
243589
243944
  }
243590
243945
  function bookmarksRenameWrapper(editor, input2, options) {
243591
243946
  rejectTrackedMode("bookmarks.rename", options);
243592
- const resolved = resolveBookmarkTarget(editor.state.doc, input2.target);
243593
- if (resolved.name === input2.newName)
243594
- return bookmarkFailure("NO_OP", "New name is identical to current name.");
243595
- if (findAllBookmarks(editor.state.doc).some((b$1) => b$1.name === input2.newName))
243596
- throw new DocumentApiAdapterError("INVALID_INPUT", `bookmarks.rename: a bookmark with name "${input2.newName}" already exists.`);
243597
- const newAddress = {
243598
- kind: "entity",
243599
- entityType: "bookmark",
243600
- name: input2.newName
243601
- };
243602
- if (options?.dryRun)
243947
+ const runtime = resolveWriteStoryRuntime(editor, resolveBookmarkMutationStory(editor, input2.target));
243948
+ const storyEditor = runtime.editor;
243949
+ try {
243950
+ checkBookmarkRevision(editor, storyEditor, options?.expectedRevision);
243951
+ const resolved = resolveBookmarkTarget(storyEditor.state.doc, input2.target);
243952
+ if (resolved.name === input2.newName)
243953
+ return bookmarkFailure("NO_OP", "New name is identical to current name.");
243954
+ if (bookmarkExistsAnywhere(editor, input2.newName, {
243955
+ storyKey: runtime.storyKey,
243956
+ bookmarkId: resolved.bookmarkId
243957
+ }))
243958
+ throw new DocumentApiAdapterError("INVALID_INPUT", `bookmarks.rename: a bookmark with name "${input2.newName}" already exists.`);
243959
+ const newAddress = buildBookmarkAddress(input2.newName, runtime.locator);
243960
+ if (options?.dryRun)
243961
+ return bookmarkSuccess(newAddress);
243962
+ if (!receiptApplied$6(executeDomainCommand(storyEditor, () => {
243963
+ const { tr } = storyEditor.state;
243964
+ tr.setNodeMarkup(resolved.pos, undefined, {
243965
+ ...resolved.node.attrs,
243966
+ name: input2.newName
243967
+ });
243968
+ storyEditor.dispatch(tr);
243969
+ clearIndexCache(storyEditor);
243970
+ return true;
243971
+ })))
243972
+ return bookmarkFailure("NO_OP", "Rename operation produced no change.");
243973
+ if (runtime.commit)
243974
+ runtime.commit(editor);
243603
243975
  return bookmarkSuccess(newAddress);
243604
- if (!receiptApplied$6(executeDomainCommand(editor, () => {
243605
- const { tr } = editor.state;
243606
- tr.setNodeMarkup(resolved.pos, undefined, {
243607
- ...resolved.node.attrs,
243608
- name: input2.newName
243609
- });
243610
- editor.dispatch(tr);
243611
- clearIndexCache(editor);
243612
- return true;
243613
- }, { expectedRevision: options?.expectedRevision })))
243614
- return bookmarkFailure("NO_OP", "Rename operation produced no change.");
243615
- return bookmarkSuccess(newAddress);
243976
+ } finally {
243977
+ disposeEphemeralWriteRuntime(runtime);
243978
+ }
243616
243979
  }
243617
243980
  function bookmarksRemoveWrapper(editor, input2, options) {
243618
243981
  rejectTrackedMode("bookmarks.remove", options);
243619
- const resolved = resolveBookmarkTarget(editor.state.doc, input2.target);
243620
- const address2 = {
243621
- kind: "entity",
243622
- entityType: "bookmark",
243623
- name: resolved.name
243624
- };
243625
- if (options?.dryRun)
243982
+ const runtime = resolveWriteStoryRuntime(editor, resolveBookmarkMutationStory(editor, input2.target));
243983
+ const storyEditor = runtime.editor;
243984
+ try {
243985
+ checkBookmarkRevision(editor, storyEditor, options?.expectedRevision);
243986
+ const resolved = resolveBookmarkTarget(storyEditor.state.doc, input2.target);
243987
+ const address2 = buildBookmarkAddress(resolved.name, runtime.locator);
243988
+ if (options?.dryRun)
243989
+ return bookmarkSuccess(address2);
243990
+ if (!receiptApplied$6(executeDomainCommand(storyEditor, () => {
243991
+ const { tr } = storyEditor.state;
243992
+ if (resolved.endPos !== null && resolved.endPos > resolved.pos) {
243993
+ const endNode = tr.doc.nodeAt(resolved.endPos);
243994
+ if (endNode)
243995
+ tr.delete(resolved.endPos, resolved.endPos + endNode.nodeSize);
243996
+ }
243997
+ const startNode = tr.doc.nodeAt(resolved.pos);
243998
+ if (startNode)
243999
+ tr.delete(resolved.pos, resolved.pos + startNode.nodeSize);
244000
+ storyEditor.dispatch(tr);
244001
+ clearIndexCache(storyEditor);
244002
+ return true;
244003
+ })))
244004
+ return bookmarkFailure("NO_OP", "Remove operation produced no change.");
244005
+ if (runtime.commit)
244006
+ runtime.commit(editor);
243626
244007
  return bookmarkSuccess(address2);
243627
- if (!receiptApplied$6(executeDomainCommand(editor, () => {
243628
- const { tr } = editor.state;
243629
- if (resolved.endPos !== null && resolved.endPos > resolved.pos) {
243630
- const endNode = tr.doc.nodeAt(resolved.endPos);
243631
- if (endNode)
243632
- tr.delete(resolved.endPos, resolved.endPos + endNode.nodeSize);
243633
- }
243634
- const startNode = tr.doc.nodeAt(resolved.pos);
243635
- if (startNode)
243636
- tr.delete(resolved.pos, resolved.pos + startNode.nodeSize);
243637
- editor.dispatch(tr);
243638
- clearIndexCache(editor);
243639
- return true;
243640
- }, { expectedRevision: options?.expectedRevision })))
243641
- return bookmarkFailure("NO_OP", "Remove operation produced no change.");
243642
- return bookmarkSuccess(address2);
244008
+ } finally {
244009
+ disposeEphemeralWriteRuntime(runtime);
244010
+ }
243643
244011
  }
243644
244012
  function getConverter$12(editor) {
243645
244013
  return editor.converter ?? undefined;
@@ -244037,22 +244405,6 @@ function findMarkerPositions(editor, id2) {
244037
244405
  end: end$1
244038
244406
  };
244039
244407
  }
244040
- function isSpecialEntry(entry) {
244041
- return SPECIAL_NOTE_TYPES.has(entry.type ?? "");
244042
- }
244043
- function findNoteEntryById(entries2, noteId) {
244044
- if (!Array.isArray(entries2))
244045
- return;
244046
- let fallback;
244047
- for (const entry of entries2) {
244048
- if (String(entry.id ?? "") !== noteId)
244049
- continue;
244050
- if (!isSpecialEntry(entry))
244051
- return entry;
244052
- fallback ??= entry;
244053
- }
244054
- return fallback;
244055
- }
244056
244408
  function getConverterStore(editor) {
244057
244409
  return editor.converter ?? {};
244058
244410
  }
@@ -264728,7 +265080,7 @@ function computeAnchorMap(bookmarks, layout, blocks2) {
264728
265080
  });
264729
265081
  return anchorMap;
264730
265082
  }
264731
- async function goToAnchor({ anchor, layout, blocks: blocks2, measures, bookmarks, pageGeometryHelper, painterHost, scrollContainer, zoom, scrollPageIntoView, waitForPageMount, getActiveEditor, timeoutMs }) {
265083
+ async function goToAnchor({ anchor, layout, blocks: blocks2, measures, bookmarks, resolveAnchorPosition, pageGeometryHelper, painterHost, scrollContainer, zoom, scrollPageIntoView, waitForPageMount, getActiveEditor, timeoutMs }) {
264732
265084
  if (!anchor)
264733
265085
  return false;
264734
265086
  if (!layout)
@@ -264736,7 +265088,7 @@ async function goToAnchor({ anchor, layout, blocks: blocks2, measures, bookmarks
264736
265088
  const normalized = anchor.startsWith("#") ? anchor.slice(1) : anchor;
264737
265089
  if (!normalized)
264738
265090
  return false;
264739
- const pmPos = bookmarks.get(normalized);
265091
+ const pmPos = bookmarks.get(normalized) ?? resolveAnchorPosition?.(normalized) ?? null;
264740
265092
  if (pmPos == null)
264741
265093
  return false;
264742
265094
  let pageIndex = (selectionToRects(layout, blocks2, measures, pmPos, pmPos + 1, pageGeometryHelper) ?? [])[0]?.pageIndex ?? null;
@@ -282840,7 +283192,7 @@ var Node$13 = class Node$14 {
282840
283192
  return () => {};
282841
283193
  const handle3 = setInterval(callback, intervalMs);
282842
283194
  return () => clearInterval(handle3);
282843
- }, 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.29.1", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension3) => {
283195
+ }, 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, SPECIAL_NOTE_TYPES, BOOKMARK_SCAN_REVISION_PREFIX = "bookmark-scan:", SETTINGS_PART, 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.29.1", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension3) => {
282844
283196
  const extensionLike = extension3;
282845
283197
  const config2 = extensionLike?.config;
282846
283198
  const ExtensionCtor = extensionLike?.constructor;
@@ -298068,12 +298420,12 @@ menclose::after {
298068
298420
  return;
298069
298421
  console.log(...args$1);
298070
298422
  }, 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;
298071
- var init_src_DAF1K_X_es = __esm(() => {
298423
+ var init_src_pzodLUJ_es = __esm(() => {
298072
298424
  init_rolldown_runtime_Bg48TavK_es();
298073
- init_SuperConverter_Dchjy0My_es();
298425
+ init_SuperConverter_DklB_kc9_es();
298074
298426
  init_jszip_C49i9kUs_es();
298075
298427
  init_uuid_qzgm05fK_es();
298076
- init_create_headless_toolbar_CEcVKzGV_es();
298428
+ init_create_headless_toolbar_lTVVsGdE_es();
298077
298429
  init_constants_DrU4EASo_es();
298078
298430
  init_dist_B8HfvhaK_es();
298079
298431
  init_unified_Dsuw2be5_es();
@@ -321963,8 +322315,8 @@ function print() { __p += __j.call(arguments, '') }
321963
322315
  KIND_ORDER = ["header", "footer"];
321964
322316
  HEADER_FILE_PATTERN2 = /header(\d+)\.xml$/;
321965
322317
  FOOTER_FILE_PATTERN2 = /footer(\d+)\.xml$/;
321966
- SETTINGS_PART = SETTINGS_PART_PATH;
321967
322318
  SPECIAL_NOTE_TYPES = new Set(["separator", "continuationSeparator"]);
322319
+ SETTINGS_PART = SETTINGS_PART_PATH;
321968
322320
  RESTART_POLICY_TO_OOXML = {
321969
322321
  continuous: "continuous",
321970
322322
  eachSection: "eachSect",
@@ -334218,6 +334570,8 @@ function print() { __p += __j.call(arguments, '') }
334218
334570
  if (target.kind === "block")
334219
334571
  return await this.#navigateToBlock(target);
334220
334572
  if (target.kind === "entity") {
334573
+ if (target.entityType === "bookmark")
334574
+ return await this.#navigateToBookmark(target);
334221
334575
  if (target.entityType === "comment")
334222
334576
  return await this.#navigateToComment(target.entityId);
334223
334577
  if (target.entityType === "trackedChange")
@@ -334295,6 +334649,28 @@ function print() { __p += __j.call(arguments, '') }
334295
334649
  });
334296
334650
  return true;
334297
334651
  }
334652
+ async#navigateToBookmark(target) {
334653
+ const editor = this.#editor;
334654
+ if (!editor)
334655
+ return false;
334656
+ let storyKey = resolveStoryKeyFromAddress(target.story);
334657
+ if (!storyKey) {
334658
+ const entry = findAllBookmarksInDocument(editor).find((bookmark) => bookmark.name === target.name);
334659
+ if (!entry)
334660
+ return false;
334661
+ storyKey = entry.storyKey;
334662
+ }
334663
+ if (!storyKey || storyKey === "body") {
334664
+ this.exitActiveStorySurface();
334665
+ return await this.goToAnchor(target.name);
334666
+ }
334667
+ if (this.#navigateToActiveStoryBookmark(target.name, storyKey))
334668
+ return true;
334669
+ const activatedStoryKey = await this.#activateBookmarkStorySurface(storyKey);
334670
+ if (activatedStoryKey)
334671
+ return this.#navigateToActiveStoryBookmark(target.name, activatedStoryKey);
334672
+ return false;
334673
+ }
334298
334674
  async#navigateToTrackedChange(entityId, storyKey, preferredPageIndex) {
334299
334675
  const editor = this.#editor;
334300
334676
  if (!editor)
@@ -334396,6 +334772,135 @@ function print() { __p += __j.call(arguments, '') }
334396
334772
  }
334397
334773
  return this.#getActiveTrackedChangeStorySurface()?.storyKey === storyKey;
334398
334774
  }
334775
+ async#activateBookmarkStorySurface(storyKey) {
334776
+ let locator = null;
334777
+ try {
334778
+ locator = parseStoryKey(storyKey);
334779
+ } catch {
334780
+ return null;
334781
+ }
334782
+ if (!locator || locator.storyType === "body")
334783
+ return null;
334784
+ if (locator.storyType === "footnote" || locator.storyType === "endnote")
334785
+ return this.#activateBookmarkNoteStorySurface(locator);
334786
+ if (locator.storyType === "headerFooterPart" || locator.storyType === "headerFooterSlot")
334787
+ return this.#activateBookmarkHeaderFooterSurface(locator);
334788
+ return null;
334789
+ }
334790
+ async#activateBookmarkNoteStorySurface(locator) {
334791
+ const targetContext = this.#buildNoteLayoutContext({
334792
+ storyType: locator.storyType,
334793
+ noteId: locator.noteId
334794
+ });
334795
+ if ((this.#headerFooterSession?.session?.mode ?? "body") !== "body")
334796
+ this.#headerFooterSession?.exitMode();
334797
+ const firstPageIndex = targetContext?.firstPageIndex ?? 0;
334798
+ const hostWidthPx = targetContext?.hostWidthPx ?? Math.max(1, this.#visibleHost?.clientWidth ?? 1);
334799
+ this.#scrollPageIntoView(firstPageIndex);
334800
+ const totalPageCount = this.#layoutState.layout?.pages?.length ?? 1;
334801
+ const pageNumber = Math.max(1, firstPageIndex + 1);
334802
+ this.#ensureStorySessionManager().activate(locator, {
334803
+ commitPolicy: "onExit",
334804
+ preferHiddenHost: true,
334805
+ hostWidthPx,
334806
+ editorContext: {
334807
+ currentPageNumber: pageNumber,
334808
+ totalPageCount: Math.max(1, totalPageCount),
334809
+ surfaceKind: locator.storyType === "endnote" ? "endnote" : "note"
334810
+ }
334811
+ });
334812
+ const storyKey = buildStoryKey(locator);
334813
+ return await this.#waitForTrackedChangeStorySurface(storyKey) ? storyKey : null;
334814
+ }
334815
+ async#activateBookmarkHeaderFooterSurface(locator) {
334816
+ const region = this.#findHeaderFooterRegionForBookmarkLocator(locator);
334817
+ const expectedRefId = locator.storyType === "headerFooterPart" ? locator.refId : region ? this.#resolveBookmarkHeaderFooterRefId(region, locator) : null;
334818
+ if (!region || !expectedRefId)
334819
+ return null;
334820
+ this.#scrollPageIntoView(region.pageIndex);
334821
+ await this.#waitForPageMount(region.pageIndex, { timeout: PresentationEditor2.ANCHOR_NAV_TIMEOUT_MS });
334822
+ if (!await this.#headerFooterSession?.activateRegion(region, { initialSelection: "defer" }))
334823
+ return null;
334824
+ return buildStoryKey({
334825
+ kind: "story",
334826
+ storyType: "headerFooterPart",
334827
+ refId: expectedRefId
334828
+ });
334829
+ }
334830
+ #resolveBookmarkHeaderFooterRefId(region, locator) {
334831
+ if (region.headerFooterRefId)
334832
+ return region.headerFooterRefId;
334833
+ const page = this.#layoutState.layout?.pages?.[region.pageIndex];
334834
+ if (!page)
334835
+ return null;
334836
+ const refCollection = locator.headerFooterKind === "header" ? page.sectionRefs?.headerRefs : page.sectionRefs?.footerRefs;
334837
+ if (!refCollection)
334838
+ return null;
334839
+ const normalizedRegionVariant = region.sectionType ? normalizeVariant(region.sectionType) : null;
334840
+ const candidates = [
334841
+ region.sectionType,
334842
+ normalizedRegionVariant,
334843
+ locator.variant
334844
+ ].filter((variant) => typeof variant === "string" && variant.length > 0);
334845
+ for (const variant of candidates) {
334846
+ const refId = refCollection[variant];
334847
+ if (typeof refId === "string" && refId.length > 0)
334848
+ return refId;
334849
+ }
334850
+ return null;
334851
+ }
334852
+ #findHeaderFooterRegionForBookmarkLocator(locator) {
334853
+ const manager = this.#headerFooterSession;
334854
+ if (!manager)
334855
+ return null;
334856
+ const searchRegions = locator.storyType === "headerFooterSlot" ? locator.headerFooterKind === "header" ? manager.headerRegions : manager.footerRegions : new Map([...manager.headerRegions.entries(), ...manager.footerRegions.entries()]);
334857
+ for (const region of searchRegions.values()) {
334858
+ if (locator.storyType === "headerFooterPart") {
334859
+ if (region.headerFooterRefId === locator.refId)
334860
+ return region;
334861
+ continue;
334862
+ }
334863
+ if (region.sectionId !== locator.section.sectionId)
334864
+ continue;
334865
+ if (region.sectionType && normalizeVariant(region.sectionType) !== locator.variant)
334866
+ continue;
334867
+ return region;
334868
+ }
334869
+ if (locator.storyType === "headerFooterPart") {
334870
+ const layout = this.#layoutState.layout;
334871
+ if (!layout)
334872
+ return null;
334873
+ for (let pageIndex = 0;pageIndex < layout.pages.length; pageIndex += 1) {
334874
+ const page = layout.pages[pageIndex];
334875
+ if (Object.values(page.sectionRefs?.headerRefs ?? {}).includes(locator.refId))
334876
+ return manager.getRegionForPage("header", pageIndex) ?? manager.findRegionForPage("header", pageIndex);
334877
+ if (Object.values(page.sectionRefs?.footerRefs ?? {}).includes(locator.refId))
334878
+ return manager.getRegionForPage("footer", pageIndex) ?? manager.findRegionForPage("footer", pageIndex);
334879
+ }
334880
+ }
334881
+ return null;
334882
+ }
334883
+ #navigateToActiveStoryBookmark(name, storyKey) {
334884
+ const activeSurface = this.#getActiveTrackedChangeStorySurface();
334885
+ if (!activeSurface || activeSurface.storyKey !== storyKey)
334886
+ return false;
334887
+ let resolved;
334888
+ try {
334889
+ resolved = resolveBookmarkTarget(activeSurface.editor.state.doc, {
334890
+ kind: "entity",
334891
+ entityType: "bookmark",
334892
+ name
334893
+ });
334894
+ } catch {
334895
+ return false;
334896
+ }
334897
+ activeSurface.editor.commands?.setTextSelection?.({
334898
+ from: resolved.pos,
334899
+ to: resolved.pos
334900
+ });
334901
+ this.#focusAndRevealActiveStorySelection(activeSurface.editor);
334902
+ return true;
334903
+ }
334399
334904
  #navigateToActiveStoryTrackedChange(entityId, storyKey) {
334400
334905
  const activeSurface = this.#getActiveTrackedChangeStorySurface();
334401
334906
  if (!activeSurface || activeSurface.storyKey !== storyKey)
@@ -334458,6 +334963,17 @@ function print() { __p += __j.call(arguments, '') }
334458
334963
  blocks: this.#layoutState.blocks,
334459
334964
  measures: this.#layoutState.measures,
334460
334965
  bookmarks: this.#layoutState.bookmarks,
334966
+ resolveAnchorPosition: (name) => {
334967
+ try {
334968
+ return resolveBookmarkTarget(this.#editor.state.doc, {
334969
+ kind: "entity",
334970
+ entityType: "bookmark",
334971
+ name
334972
+ }).pos;
334973
+ } catch {
334974
+ return null;
334975
+ }
334976
+ },
334461
334977
  pageGeometryHelper: this.#pageGeometryHelper ?? undefined,
334462
334978
  painterHost: this.#painterHost,
334463
334979
  scrollContainer: this.#scrollContainer ?? this.#visibleHost,
@@ -335294,11 +335810,11 @@ function print() { __p += __j.call(arguments, '') }
335294
335810
  ];
335295
335811
  });
335296
335812
 
335297
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-HW4PZyuU.es.js
335813
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-C-uFDEFx.es.js
335298
335814
  var ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
335299
- var init_create_super_doc_ui_HW4PZyuU_es = __esm(() => {
335300
- init_SuperConverter_Dchjy0My_es();
335301
- init_create_headless_toolbar_CEcVKzGV_es();
335815
+ var init_create_super_doc_ui_C_uFDEFx_es = __esm(() => {
335816
+ init_SuperConverter_DklB_kc9_es();
335817
+ init_create_headless_toolbar_lTVVsGdE_es();
335302
335818
  ALL_TOOLBAR_COMMAND_IDS = Object.keys(createToolbarRegistry());
335303
335819
  EMPTY_ACTIVE_IDS = Object.freeze([]);
335304
335820
  });
@@ -335316,16 +335832,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
335316
335832
 
335317
335833
  // ../../packages/superdoc/dist/super-editor.es.js
335318
335834
  var init_super_editor_es = __esm(() => {
335319
- init_src_DAF1K_X_es();
335320
- init_SuperConverter_Dchjy0My_es();
335835
+ init_src_pzodLUJ_es();
335836
+ init_SuperConverter_DklB_kc9_es();
335321
335837
  init_jszip_C49i9kUs_es();
335322
335838
  init_xml_js_CqGKpaft_es();
335323
- init_create_headless_toolbar_CEcVKzGV_es();
335839
+ init_create_headless_toolbar_lTVVsGdE_es();
335324
335840
  init_constants_DrU4EASo_es();
335325
335841
  init_dist_B8HfvhaK_es();
335326
335842
  init_unified_Dsuw2be5_es();
335327
335843
  init_DocxZipper_CUX64E5K_es();
335328
- init_create_super_doc_ui_HW4PZyuU_es();
335844
+ init_create_super_doc_ui_C_uFDEFx_es();
335329
335845
  init_ui_CGB3qmy3_es();
335330
335846
  init_eventemitter3_BJrNoN9D_es();
335331
335847
  init_errors_C_DoKMoN_es();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/cli",
3
- "version": "0.8.0-next.37",
3
+ "version": "0.8.0-next.38",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -24,21 +24,21 @@
24
24
  "@types/node": "22.19.2",
25
25
  "@types/ws": "^8.5.13",
26
26
  "typescript": "^5.9.2",
27
+ "@superdoc/document-api": "0.0.1",
27
28
  "@superdoc/pm-adapter": "0.0.0",
28
29
  "superdoc": "1.29.1",
29
- "@superdoc/super-editor": "0.0.1",
30
- "@superdoc/document-api": "0.0.1"
30
+ "@superdoc/super-editor": "0.0.1"
31
31
  },
32
32
  "module": "src/index.ts",
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
36
  "optionalDependencies": {
37
- "@superdoc-dev/cli-darwin-x64": "0.8.0-next.37",
38
- "@superdoc-dev/cli-linux-x64": "0.8.0-next.37",
39
- "@superdoc-dev/cli-darwin-arm64": "0.8.0-next.37",
40
- "@superdoc-dev/cli-linux-arm64": "0.8.0-next.37",
41
- "@superdoc-dev/cli-windows-x64": "0.8.0-next.37"
37
+ "@superdoc-dev/cli-darwin-arm64": "0.8.0-next.38",
38
+ "@superdoc-dev/cli-darwin-x64": "0.8.0-next.38",
39
+ "@superdoc-dev/cli-linux-x64": "0.8.0-next.38",
40
+ "@superdoc-dev/cli-linux-arm64": "0.8.0-next.38",
41
+ "@superdoc-dev/cli-windows-x64": "0.8.0-next.38"
42
42
  },
43
43
  "scripts": {
44
44
  "predev": "node scripts/ensure-superdoc-build.js",