@superdoc-dev/cli 0.8.0-next.36 → 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 +680 -157
  2. package/package.json +7 -7
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-Dinif16O.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) => {
@@ -209025,6 +209052,7 @@ function createStructuredContentSelectPlugin(editor) {
209025
209052
  return false;
209026
209053
  const { state } = view;
209027
209054
  const { selection } = state;
209055
+ const isEditableSlotText = (text5) => text5.replace(/\u200B/g, "").length === 0;
209028
209056
  const resolveBoundaryExit = ($pos) => {
209029
209057
  for (let depth = $pos.depth;depth > 0; depth -= 1) {
209030
209058
  const node3 = $pos.node(depth);
@@ -209036,9 +209064,13 @@ function createStructuredContentSelectPlugin(editor) {
209036
209064
  const beforePos = nodePos;
209037
209065
  const afterPos = nodePos + node3.nodeSize;
209038
209066
  if (selection.empty) {
209039
- if (event.key === "ArrowRight" && selection.from >= contentTo - 1)
209067
+ const trailingSlice = state.doc.textBetween(selection.from, contentTo, "", INLINE_LEAF_TEXT);
209068
+ const leadingSlice = state.doc.textBetween(contentFrom, selection.from, "", INLINE_LEAF_TEXT);
209069
+ const onlyTrailingEditableSlots = trailingSlice.length > 0 && isEditableSlotText(trailingSlice);
209070
+ const onlyLeadingEditableSlots = leadingSlice.length > 0 && isEditableSlotText(leadingSlice);
209071
+ if (event.key === "ArrowRight" && (selection.from >= contentTo - 1 || onlyTrailingEditableSlots))
209040
209072
  return afterPos;
209041
- if (event.key === "ArrowLeft" && selection.from <= contentFrom + 1)
209073
+ if (event.key === "ArrowLeft" && (selection.from <= contentFrom + 1 || onlyLeadingEditableSlots))
209042
209074
  return beforePos;
209043
209075
  return null;
209044
209076
  }
@@ -243381,6 +243413,86 @@ function headerFootersPartsDeleteAdapter(editor, input2, options) {
243381
243413
  partPath
243382
243414
  };
243383
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
+ }
243384
243496
  function findAllBookmarks(doc$12) {
243385
243497
  const results = [];
243386
243498
  const endPositions = collectBookmarkEndPositions(doc$12);
@@ -243413,6 +243525,163 @@ function collectBookmarkEndPositions(doc$12) {
243413
243525
  });
243414
243526
  return map$12;
243415
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
+ }
243416
243685
  function resolveBookmarkTarget(doc$12, target) {
243417
243686
  const found2 = findAllBookmarks(doc$12).find((b$1) => b$1.name === target.name);
243418
243687
  if (!found2)
@@ -243434,17 +243703,13 @@ function nodePositionToPosition(doc$12, pos) {
243434
243703
  offset: pos
243435
243704
  };
243436
243705
  }
243437
- function extractBookmarkInfo(doc$12, resolved) {
243706
+ function extractBookmarkInfo(doc$12, resolved, story) {
243438
243707
  const from$1 = nodePositionToPosition(doc$12, resolved.pos);
243439
243708
  const to = resolved.endPos !== null ? nodePositionToPosition(doc$12, resolved.endPos) : from$1;
243440
243709
  const colFirst = resolved.node.attrs?.colFirst;
243441
243710
  const colLast = resolved.node.attrs?.colLast;
243442
243711
  const info = {
243443
- address: {
243444
- kind: "entity",
243445
- entityType: "bookmark",
243446
- name: resolved.name
243447
- },
243712
+ address: buildBookmarkAddress(resolved.name, story),
243448
243713
  name: resolved.name,
243449
243714
  bookmarkId: resolved.bookmarkId,
243450
243715
  range: {
@@ -243459,17 +243724,13 @@ function extractBookmarkInfo(doc$12, resolved) {
243459
243724
  };
243460
243725
  return info;
243461
243726
  }
243462
- function buildBookmarkDiscoveryItem(doc$12, resolved, evaluatedRevision) {
243727
+ function buildBookmarkDiscoveryItem(doc$12, resolved, evaluatedRevision, story, idScope) {
243463
243728
  const from$1 = nodePositionToPosition(doc$12, resolved.pos);
243464
243729
  const to = resolved.endPos !== null ? nodePositionToPosition(doc$12, resolved.endPos) : from$1;
243465
243730
  const colFirst = resolved.node.attrs?.colFirst;
243466
243731
  const colLast = resolved.node.attrs?.colLast;
243467
243732
  const domain2 = {
243468
- address: {
243469
- kind: "entity",
243470
- entityType: "bookmark",
243471
- name: resolved.name
243472
- },
243733
+ address: buildBookmarkAddress(resolved.name, story),
243473
243734
  name: resolved.name,
243474
243735
  bookmarkId: resolved.bookmarkId,
243475
243736
  range: {
@@ -243483,7 +243744,7 @@ function buildBookmarkDiscoveryItem(doc$12, resolved, evaluatedRevision) {
243483
243744
  colLast
243484
243745
  };
243485
243746
  const handle3 = buildResolvedHandle(resolved.name, "stable", "node");
243486
- return buildDiscoveryItem(`bookmark:${resolved.name}:${evaluatedRevision}`, handle3, domain2);
243747
+ return buildDiscoveryItem(`${idScope ? `bookmark:${encodeURIComponent(idScope)}:` : "bookmark:"}${encodeURIComponent(resolved.name)}:${encodeURIComponent(evaluatedRevision)}`, handle3, domain2);
243487
243748
  }
243488
243749
  function bookmarkSuccess(address2) {
243489
243750
  return {
@@ -243513,22 +243774,106 @@ function parseBookmarkId(raw) {
243513
243774
  const parsed = Number.parseInt(raw, 10);
243514
243775
  return Number.isInteger(parsed) && parsed >= 0 ? parsed : null;
243515
243776
  }
243516
- function allocateBookmarkId(doc$12) {
243777
+ function allocateBookmarkId(editor) {
243778
+ const entries2 = findAllBookmarkMarkersInDocument(editor);
243517
243779
  let maxId = -1;
243518
- doc$12.descendants((node3) => {
243519
- if (node3.type.name !== "bookmarkStart" && node3.type.name !== "bookmarkEnd")
243520
- return true;
243521
- const id2 = parseBookmarkId(node3.attrs?.id);
243780
+ for (const entry of entries2) {
243781
+ const id2 = parseBookmarkId(entry.bookmarkId);
243522
243782
  if (id2 !== null && id2 > maxId)
243523
243783
  maxId = id2;
243524
- return true;
243525
- });
243784
+ }
243526
243785
  return String(maxId + 1);
243527
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
+ }
243528
243849
  function bookmarksListWrapper(editor, query2) {
243529
- const doc$12 = editor.state.doc;
243530
- const revision = getRevision(editor);
243531
- 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);
243532
243877
  return buildDiscoveryResult({
243533
243878
  evaluatedRevision: revision,
243534
243879
  total,
@@ -243541,100 +243886,128 @@ function bookmarksListWrapper(editor, query2) {
243541
243886
  });
243542
243887
  }
243543
243888
  function bookmarksGetWrapper(editor, input2) {
243544
- const resolved = resolveBookmarkTarget(editor.state.doc, input2.target);
243545
- 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);
243546
243900
  }
243547
243901
  function bookmarksInsertWrapper(editor, input2, options) {
243548
243902
  rejectTrackedMode("bookmarks.insert", options);
243549
- if (findAllBookmarks(editor.state.doc).some((b$1) => b$1.name === input2.name))
243550
- return bookmarkFailure("NO_OP", `Bookmark with name "${input2.name}" already exists.`);
243551
- const address2 = {
243552
- kind: "entity",
243553
- entityType: "bookmark",
243554
- name: input2.name
243555
- };
243556
- 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);
243557
243940
  return bookmarkSuccess(address2);
243558
- const bookmarkStartType = editor.schema.nodes.bookmarkStart;
243559
- const bookmarkEndType = editor.schema.nodes.bookmarkEnd;
243560
- if (!bookmarkStartType || !bookmarkEndType)
243561
- throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", "bookmarks.insert requires bookmarkStart and bookmarkEnd node types in the schema.");
243562
- const resolved = resolveInlineInsertPosition(editor, input2.at, "bookmarks.insert");
243563
- if (!receiptApplied$6(executeDomainCommand(editor, () => {
243564
- const bookmarkId = allocateBookmarkId(editor.state.doc);
243565
- const startAttrs = {
243566
- name: input2.name,
243567
- id: bookmarkId
243568
- };
243569
- if (input2.tableColumn) {
243570
- startAttrs.colFirst = input2.tableColumn.colFirst;
243571
- startAttrs.colLast = input2.tableColumn.colLast;
243572
- }
243573
- const startNode = bookmarkStartType.create(startAttrs);
243574
- const endNode = bookmarkEndType.create({ id: bookmarkId });
243575
- const { tr } = editor.state;
243576
- tr.insert(resolved.to, endNode);
243577
- tr.insert(resolved.from, startNode);
243578
- editor.dispatch(tr);
243579
- clearIndexCache(editor);
243580
- return true;
243581
- }, { expectedRevision: options?.expectedRevision })))
243582
- return bookmarkFailure("NO_OP", "Insert operation produced no change.");
243583
- return bookmarkSuccess(address2);
243941
+ } finally {
243942
+ disposeEphemeralWriteRuntime(runtime);
243943
+ }
243584
243944
  }
243585
243945
  function bookmarksRenameWrapper(editor, input2, options) {
243586
243946
  rejectTrackedMode("bookmarks.rename", options);
243587
- const resolved = resolveBookmarkTarget(editor.state.doc, input2.target);
243588
- if (resolved.name === input2.newName)
243589
- return bookmarkFailure("NO_OP", "New name is identical to current name.");
243590
- if (findAllBookmarks(editor.state.doc).some((b$1) => b$1.name === input2.newName))
243591
- throw new DocumentApiAdapterError("INVALID_INPUT", `bookmarks.rename: a bookmark with name "${input2.newName}" already exists.`);
243592
- const newAddress = {
243593
- kind: "entity",
243594
- entityType: "bookmark",
243595
- name: input2.newName
243596
- };
243597
- 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);
243598
243975
  return bookmarkSuccess(newAddress);
243599
- if (!receiptApplied$6(executeDomainCommand(editor, () => {
243600
- const { tr } = editor.state;
243601
- tr.setNodeMarkup(resolved.pos, undefined, {
243602
- ...resolved.node.attrs,
243603
- name: input2.newName
243604
- });
243605
- editor.dispatch(tr);
243606
- clearIndexCache(editor);
243607
- return true;
243608
- }, { expectedRevision: options?.expectedRevision })))
243609
- return bookmarkFailure("NO_OP", "Rename operation produced no change.");
243610
- return bookmarkSuccess(newAddress);
243976
+ } finally {
243977
+ disposeEphemeralWriteRuntime(runtime);
243978
+ }
243611
243979
  }
243612
243980
  function bookmarksRemoveWrapper(editor, input2, options) {
243613
243981
  rejectTrackedMode("bookmarks.remove", options);
243614
- const resolved = resolveBookmarkTarget(editor.state.doc, input2.target);
243615
- const address2 = {
243616
- kind: "entity",
243617
- entityType: "bookmark",
243618
- name: resolved.name
243619
- };
243620
- 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);
243621
244007
  return bookmarkSuccess(address2);
243622
- if (!receiptApplied$6(executeDomainCommand(editor, () => {
243623
- const { tr } = editor.state;
243624
- if (resolved.endPos !== null && resolved.endPos > resolved.pos) {
243625
- const endNode = tr.doc.nodeAt(resolved.endPos);
243626
- if (endNode)
243627
- tr.delete(resolved.endPos, resolved.endPos + endNode.nodeSize);
243628
- }
243629
- const startNode = tr.doc.nodeAt(resolved.pos);
243630
- if (startNode)
243631
- tr.delete(resolved.pos, resolved.pos + startNode.nodeSize);
243632
- editor.dispatch(tr);
243633
- clearIndexCache(editor);
243634
- return true;
243635
- }, { expectedRevision: options?.expectedRevision })))
243636
- return bookmarkFailure("NO_OP", "Remove operation produced no change.");
243637
- return bookmarkSuccess(address2);
244008
+ } finally {
244009
+ disposeEphemeralWriteRuntime(runtime);
244010
+ }
243638
244011
  }
243639
244012
  function getConverter$12(editor) {
243640
244013
  return editor.converter ?? undefined;
@@ -244032,22 +244405,6 @@ function findMarkerPositions(editor, id2) {
244032
244405
  end: end$1
244033
244406
  };
244034
244407
  }
244035
- function isSpecialEntry(entry) {
244036
- return SPECIAL_NOTE_TYPES.has(entry.type ?? "");
244037
- }
244038
- function findNoteEntryById(entries2, noteId) {
244039
- if (!Array.isArray(entries2))
244040
- return;
244041
- let fallback;
244042
- for (const entry of entries2) {
244043
- if (String(entry.id ?? "") !== noteId)
244044
- continue;
244045
- if (!isSpecialEntry(entry))
244046
- return entry;
244047
- fallback ??= entry;
244048
- }
244049
- return fallback;
244050
- }
244051
244408
  function getConverterStore(editor) {
244052
244409
  return editor.converter ?? {};
244053
244410
  }
@@ -264723,7 +265080,7 @@ function computeAnchorMap(bookmarks, layout, blocks2) {
264723
265080
  });
264724
265081
  return anchorMap;
264725
265082
  }
264726
- 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 }) {
264727
265084
  if (!anchor)
264728
265085
  return false;
264729
265086
  if (!layout)
@@ -264731,7 +265088,7 @@ async function goToAnchor({ anchor, layout, blocks: blocks2, measures, bookmarks
264731
265088
  const normalized = anchor.startsWith("#") ? anchor.slice(1) : anchor;
264732
265089
  if (!normalized)
264733
265090
  return false;
264734
- const pmPos = bookmarks.get(normalized);
265091
+ const pmPos = bookmarks.get(normalized) ?? resolveAnchorPosition?.(normalized) ?? null;
264735
265092
  if (pmPos == null)
264736
265093
  return false;
264737
265094
  let pageIndex = (selectionToRects(layout, blocks2, measures, pmPos, pmPos + 1, pageGeometryHelper) ?? [])[0]?.pageIndex ?? null;
@@ -271171,7 +271528,7 @@ var Node$13 = class Node$14 {
271171
271528
  const transaction = view.state.tr.setSelection(selection);
271172
271529
  view.dispatch(transaction);
271173
271530
  }
271174
- }, StructuredContentInlineView, STRUCTURED_CONTENT_LOCK_KEY, structuredContentClass = "sd-structured-content", structuredContentInnerClass = "sd-structured-content__content", StructuredContent, StructuredContentBlockView, structuredContentBlockClass = "sd-structured-content-block", structuredContentBlockInnerClass = "sd-structured-content-block__content", StructuredContentBlock, structuredContentHelpers_exports, STRUCTURED_CONTENT_NAMES, findFirstTextNode$1 = (node3) => {
271531
+ }, StructuredContentInlineView, STRUCTURED_CONTENT_LOCK_KEY, INLINE_LEAF_TEXT = "", structuredContentClass = "sd-structured-content", structuredContentInnerClass = "sd-structured-content__content", StructuredContent, StructuredContentBlockView, structuredContentBlockClass = "sd-structured-content-block", structuredContentBlockInnerClass = "sd-structured-content-block__content", StructuredContentBlock, structuredContentHelpers_exports, STRUCTURED_CONTENT_NAMES, findFirstTextNode$1 = (node3) => {
271175
271532
  let firstTextNode = null;
271176
271533
  node3.descendants((child) => {
271177
271534
  if (child.isText) {
@@ -282835,7 +283192,7 @@ var Node$13 = class Node$14 {
282835
283192
  return () => {};
282836
283193
  const handle3 = setInterval(callback, intervalMs);
282837
283194
  return () => clearInterval(handle3);
282838
- }, 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) => {
282839
283196
  const extensionLike = extension3;
282840
283197
  const config2 = extensionLike?.config;
282841
283198
  const ExtensionCtor = extensionLike?.constructor;
@@ -284555,6 +284912,8 @@ var Node$13 = class Node$14 {
284555
284912
  border: 1px solid transparent;
284556
284913
  position: relative;
284557
284914
  display: inline;
284915
+ font-size: initial;
284916
+ line-height: normal;
284558
284917
  z-index: 10;
284559
284918
  }
284560
284919
 
@@ -298061,12 +298420,12 @@ menclose::after {
298061
298420
  return;
298062
298421
  console.log(...args$1);
298063
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;
298064
- var init_src_Dinif16O_es = __esm(() => {
298423
+ var init_src_pzodLUJ_es = __esm(() => {
298065
298424
  init_rolldown_runtime_Bg48TavK_es();
298066
- init_SuperConverter_Dchjy0My_es();
298425
+ init_SuperConverter_DklB_kc9_es();
298067
298426
  init_jszip_C49i9kUs_es();
298068
298427
  init_uuid_qzgm05fK_es();
298069
- init_create_headless_toolbar_CEcVKzGV_es();
298428
+ init_create_headless_toolbar_lTVVsGdE_es();
298070
298429
  init_constants_DrU4EASo_es();
298071
298430
  init_dist_B8HfvhaK_es();
298072
298431
  init_unified_Dsuw2be5_es();
@@ -321956,8 +322315,8 @@ function print() { __p += __j.call(arguments, '') }
321956
322315
  KIND_ORDER = ["header", "footer"];
321957
322316
  HEADER_FILE_PATTERN2 = /header(\d+)\.xml$/;
321958
322317
  FOOTER_FILE_PATTERN2 = /footer(\d+)\.xml$/;
321959
- SETTINGS_PART = SETTINGS_PART_PATH;
321960
322318
  SPECIAL_NOTE_TYPES = new Set(["separator", "continuationSeparator"]);
322319
+ SETTINGS_PART = SETTINGS_PART_PATH;
321961
322320
  RESTART_POLICY_TO_OOXML = {
321962
322321
  continuous: "continuous",
321963
322322
  eachSection: "eachSect",
@@ -334211,6 +334570,8 @@ function print() { __p += __j.call(arguments, '') }
334211
334570
  if (target.kind === "block")
334212
334571
  return await this.#navigateToBlock(target);
334213
334572
  if (target.kind === "entity") {
334573
+ if (target.entityType === "bookmark")
334574
+ return await this.#navigateToBookmark(target);
334214
334575
  if (target.entityType === "comment")
334215
334576
  return await this.#navigateToComment(target.entityId);
334216
334577
  if (target.entityType === "trackedChange")
@@ -334288,6 +334649,28 @@ function print() { __p += __j.call(arguments, '') }
334288
334649
  });
334289
334650
  return true;
334290
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
+ }
334291
334674
  async#navigateToTrackedChange(entityId, storyKey, preferredPageIndex) {
334292
334675
  const editor = this.#editor;
334293
334676
  if (!editor)
@@ -334389,6 +334772,135 @@ function print() { __p += __j.call(arguments, '') }
334389
334772
  }
334390
334773
  return this.#getActiveTrackedChangeStorySurface()?.storyKey === storyKey;
334391
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
+ }
334392
334904
  #navigateToActiveStoryTrackedChange(entityId, storyKey) {
334393
334905
  const activeSurface = this.#getActiveTrackedChangeStorySurface();
334394
334906
  if (!activeSurface || activeSurface.storyKey !== storyKey)
@@ -334451,6 +334963,17 @@ function print() { __p += __j.call(arguments, '') }
334451
334963
  blocks: this.#layoutState.blocks,
334452
334964
  measures: this.#layoutState.measures,
334453
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
+ },
334454
334977
  pageGeometryHelper: this.#pageGeometryHelper ?? undefined,
334455
334978
  painterHost: this.#painterHost,
334456
334979
  scrollContainer: this.#scrollContainer ?? this.#visibleHost,
@@ -335287,11 +335810,11 @@ function print() { __p += __j.call(arguments, '') }
335287
335810
  ];
335288
335811
  });
335289
335812
 
335290
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-HW4PZyuU.es.js
335813
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-C-uFDEFx.es.js
335291
335814
  var ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
335292
- var init_create_super_doc_ui_HW4PZyuU_es = __esm(() => {
335293
- init_SuperConverter_Dchjy0My_es();
335294
- 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();
335295
335818
  ALL_TOOLBAR_COMMAND_IDS = Object.keys(createToolbarRegistry());
335296
335819
  EMPTY_ACTIVE_IDS = Object.freeze([]);
335297
335820
  });
@@ -335309,16 +335832,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
335309
335832
 
335310
335833
  // ../../packages/superdoc/dist/super-editor.es.js
335311
335834
  var init_super_editor_es = __esm(() => {
335312
- init_src_Dinif16O_es();
335313
- init_SuperConverter_Dchjy0My_es();
335835
+ init_src_pzodLUJ_es();
335836
+ init_SuperConverter_DklB_kc9_es();
335314
335837
  init_jszip_C49i9kUs_es();
335315
335838
  init_xml_js_CqGKpaft_es();
335316
- init_create_headless_toolbar_CEcVKzGV_es();
335839
+ init_create_headless_toolbar_lTVVsGdE_es();
335317
335840
  init_constants_DrU4EASo_es();
335318
335841
  init_dist_B8HfvhaK_es();
335319
335842
  init_unified_Dsuw2be5_es();
335320
335843
  init_DocxZipper_CUX64E5K_es();
335321
- init_create_super_doc_ui_HW4PZyuU_es();
335844
+ init_create_super_doc_ui_C_uFDEFx_es();
335322
335845
  init_ui_CGB3qmy3_es();
335323
335846
  init_eventemitter3_BJrNoN9D_es();
335324
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.36",
3
+ "version": "0.8.0-next.38",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -25,8 +25,8 @@
25
25
  "@types/ws": "^8.5.13",
26
26
  "typescript": "^5.9.2",
27
27
  "@superdoc/document-api": "0.0.1",
28
- "superdoc": "1.29.1",
29
28
  "@superdoc/pm-adapter": "0.0.0",
29
+ "superdoc": "1.29.1",
30
30
  "@superdoc/super-editor": "0.0.1"
31
31
  },
32
32
  "module": "src/index.ts",
@@ -34,11 +34,11 @@
34
34
  "access": "public"
35
35
  },
36
36
  "optionalDependencies": {
37
- "@superdoc-dev/cli-darwin-arm64": "0.8.0-next.36",
38
- "@superdoc-dev/cli-darwin-x64": "0.8.0-next.36",
39
- "@superdoc-dev/cli-linux-x64": "0.8.0-next.36",
40
- "@superdoc-dev/cli-windows-x64": "0.8.0-next.36",
41
- "@superdoc-dev/cli-linux-arm64": "0.8.0-next.36"
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",