@docx-editor.dev/core 2.19.0 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/automation.cjs +1 -1
  2. package/dist/automation.d.ts +10 -9
  3. package/dist/automation.js +1 -1
  4. package/dist/binding.cjs +1 -1
  5. package/dist/binding.d.ts +8 -9
  6. package/dist/binding.js +1 -1
  7. package/dist/chunk-2H4ABRMB.cjs +20 -0
  8. package/dist/{chunk-YVYEJBLL.cjs → chunk-2HQXLL5L.cjs} +1 -1
  9. package/dist/chunk-3EZO3O6I.js +4 -0
  10. package/dist/{chunk-SUEX3CL7.cjs → chunk-44SIVFJT.cjs} +5 -5
  11. package/dist/chunk-6UCDHGXI.js +1 -0
  12. package/dist/chunk-7VMVDRRU.js +2 -0
  13. package/dist/{chunk-4DB7ZFQN.js → chunk-CAIWEQLC.js} +1 -1
  14. package/dist/{chunk-PBM6WERF.cjs → chunk-CEXC2VHI.cjs} +1 -1
  15. package/dist/chunk-CF3JR35B.js +11 -0
  16. package/dist/chunk-D2V4YBWJ.cjs +2 -0
  17. package/dist/chunk-DGSJZMAE.cjs +11 -0
  18. package/dist/chunk-EHBPYFRE.js +20 -0
  19. package/dist/chunk-GSEUM6AI.cjs +1 -0
  20. package/dist/chunk-H6WDEAOJ.js +18 -0
  21. package/dist/chunk-I6LSEDUL.cjs +18 -0
  22. package/dist/{chunk-ZMM5RNM6.js → chunk-IW35GWJN.js} +1 -1
  23. package/dist/chunk-JRBGCIR2.js +5 -0
  24. package/dist/chunk-K5HIOS6J.cjs +3 -0
  25. package/dist/chunk-KLQXP27K.js +3 -0
  26. package/dist/{chunk-FZ2BIMCY.cjs → chunk-MZFFU66H.cjs} +1 -1
  27. package/dist/{chunk-2ZEU42EA.js → chunk-MZPNLIP3.js} +1 -1
  28. package/dist/{chunk-NJONXJJY.cjs → chunk-OA6LFCTG.cjs} +2 -2
  29. package/dist/{chunk-OODFC5R2.js → chunk-OHVJYJOA.js} +1 -1
  30. package/dist/{chunk-THCGTV53.js → chunk-P4TGGDK3.js} +1 -1
  31. package/dist/{chunk-KDYD5TAW.cjs → chunk-PIBYJZIH.cjs} +1 -1
  32. package/dist/{chunk-CG7CP632.cjs → chunk-WTILOUPG.cjs} +1 -1
  33. package/dist/collaboration/replication.cjs +1 -1
  34. package/dist/collaboration/replication.d.ts +3 -3
  35. package/dist/collaboration/replication.js +1 -1
  36. package/dist/collaboration.d.ts +3 -3
  37. package/dist/contracts/document.d.ts +2 -2
  38. package/dist/contracts/editor.d.ts +8 -9
  39. package/dist/contracts/modules.d.ts +5 -7
  40. package/dist/contracts/types.d.ts +1 -562
  41. package/dist/{custom-node-writes-BqIv94ei.d.ts → custom-node-writes-piokwVR5.d.ts} +2 -2
  42. package/dist/{document-protection-BL5zp8cU.d.ts → document-protection-C6RvCHx-.d.ts} +1 -1
  43. package/dist/{editor-WXbTSXx1.d.ts → editor-BgtcHulQ.d.ts} +19 -14
  44. package/dist/editor.cjs +1 -1
  45. package/dist/editor.css +1 -1
  46. package/dist/editor.d.ts +25 -27
  47. package/dist/editor.js +1 -1
  48. package/dist/export.cjs +2 -2
  49. package/dist/export.d.ts +12 -13
  50. package/dist/export.js +1 -1
  51. package/dist/{font-resolver-BSrKnTeR.d.ts → font-resolver-Bv2Z25-J.d.ts} +1 -1
  52. package/dist/{headless-document-view-C4ttQJ5H.d.ts → headless-document-view-DHKMN_3Y.d.ts} +2 -2
  53. package/dist/image-resources-C51LuAAu.d.ts +210 -0
  54. package/dist/{index-C3As-Xxp.d.ts → index-3lr8xXF8.d.ts} +14 -15
  55. package/dist/index.cjs +1 -1
  56. package/dist/index.d.ts +17 -18
  57. package/dist/index.js +1 -1
  58. package/dist/{layout-shaping-Dqu3JW3p.d.ts → layout-shaping-CKBUSaS7.d.ts} +1 -1
  59. package/dist/layout.cjs +1 -1
  60. package/dist/layout.d.ts +48 -19
  61. package/dist/layout.js +1 -1
  62. package/dist/{tree-package-fragment-1pdDnhZ_.d.ts → note-lifecycle-D4AOFCAt.d.ts} +142 -141
  63. package/dist/{note-properties-RjYgbmXe.d.ts → note-properties-CcXUgqr8.d.ts} +2 -2
  64. package/dist/{omml-equation-hcP9AUFX.d.ts → omml-equation-C5P6Ym3v.d.ts} +1 -1
  65. package/dist/output.cjs +1 -1
  66. package/dist/output.d.ts +7 -7
  67. package/dist/output.js +1 -1
  68. package/dist/{protocol-OdRd17KZ.d.ts → protocol-CsawNZkt.d.ts} +14 -4
  69. package/dist/{review-paragraph-order--jLHXIcd.d.ts → review-paragraph-order-BCIqjopY.d.ts} +2 -3
  70. package/dist/{revision-projection-BIHO_qvw.d.ts → revision-projection-BcRnC4Yj.d.ts} +1 -1
  71. package/dist/{semantic-cell-selection-lCYAVCCF.d.ts → semantic-cell-selection-R9wrenwR.d.ts} +4 -4
  72. package/dist/{semantic-interaction-0vQXcMZk.d.ts → semantic-interaction-B7beVwH7.d.ts} +1 -1
  73. package/dist/{semantic-paint-BSan4pBk.d.ts → semantic-paint-CLvHwf8y.d.ts} +2 -2
  74. package/dist/{semantic-records-ZcYuB4-H.d.ts → semantic-records-CbXwnS80.d.ts} +5 -4
  75. package/dist/store.cjs +1 -1
  76. package/dist/store.d.ts +13 -14
  77. package/dist/store.js +1 -1
  78. package/dist/{tree-session-contract-Cgn6fQ-M.d.ts → tree-session-contract-DTQxw2zL.d.ts} +5 -5
  79. package/dist/{tree-op-types-DbdM7fJV.d.ts → types-barrel-CEOy-Jv0.d.ts} +961 -210
  80. package/package.json +2 -2
  81. package/dist/chunk-4KMSEFIG.js +0 -3
  82. package/dist/chunk-72BDQFHY.js +0 -18
  83. package/dist/chunk-77DD4EBC.cjs +0 -11
  84. package/dist/chunk-BEOPUDAB.js +0 -5
  85. package/dist/chunk-CJCFEXTA.js +0 -11
  86. package/dist/chunk-DQS4KZUX.js +0 -4
  87. package/dist/chunk-GUPITGJQ.cjs +0 -2
  88. package/dist/chunk-LQ6XWTKQ.cjs +0 -18
  89. package/dist/chunk-MDP5SNK4.cjs +0 -3
  90. package/dist/chunk-MRPPCGCX.cjs +0 -20
  91. package/dist/chunk-MSIFK7TJ.js +0 -1
  92. package/dist/chunk-P6VGDI57.js +0 -2
  93. package/dist/chunk-QBMAXYN7.js +0 -20
  94. package/dist/chunk-ZKQX2PNF.cjs +0 -1
  95. package/dist/review-items-CJz-kAW8.d.ts +0 -370
@@ -1,4 +1,5 @@
1
- import { b as OoxmlPackage, p as SupportedImageMime, O as OoxmlPart, a as OoxmlNode, e as OoxmlElement, w as OoxmlParagraphNode, x as OoxmlNoteNode, y as OoxmlContinuationSeparatorNode, z as OoxmlEndnotesNode, B as OoxmlFootnotesNode, C as OoxmlNoteRefNode, E as OoxmlNoteReferenceNode, F as OoxmlSeparatorNode, u as RevisionAttributionInput, t as ImageDecodePort, G as DrawingTreeDocOp, H as ImpactClass, T as TreeDocOp, l as TreeOpRejection } from './tree-op-types-DbdM7fJV.js';
1
+ import { S as SupportedImageMime, b as ImageDecodePort } from './image-resources-C51LuAAu.js';
2
+ import { j as OoxmlPackage, O as OoxmlPart, i as OoxmlNode, a1 as OoxmlElement, at as OoxmlParagraphNode, au as OoxmlNoteNode, av as OoxmlContinuationSeparatorNode, aw as OoxmlEndnotesNode, ax as OoxmlFootnotesNode, ay as OoxmlNoteRefNode, az as OoxmlNoteReferenceNode, aA as OoxmlSeparatorNode, as as RevisionAttributionInput, aB as DrawingTreeDocOp, aC as ImpactClass, W as TreeDocOp, a5 as TreeOpRejection } from './types-barrel-CEOy-Jv0.js';
2
3
 
3
4
  /** A freshly allocated drawing property id, or the reason one could not be minted. */
4
5
  type DrawingPropertyIdResult = {
@@ -401,119 +402,6 @@ declare function notesPartHasId(part: OoxmlPart, noteId: number): boolean;
401
402
  /** List normal (body) note ids in document order, bounded. */
402
403
  declare function normalNoteIds(part: OoxmlPart): readonly number[];
403
404
 
404
- /** How far a note lifecycle op reaches — which parts a caller must expect to have changed. */
405
- type NoteLifecycleImpact = 'flow-structural' | 'global';
406
- /**
407
- * A note lifecycle mutation: insert, delete, convert, or set properties.
408
- *
409
- * Package-level rather than story-level, because every one of these touches the main document,
410
- * the notes part, the document relationships AND `[Content_Types].xml` together.
411
- */
412
- type NoteLifecycleOp = {
413
- readonly op: 'insertNote';
414
- readonly noteKind: NoteKind;
415
- readonly paragraphId: string;
416
- readonly offset: number;
417
- /**
418
- * Write the citing reference as a TRACKED insertion: the reference run goes inside a
419
- * `w:ins` carrying this attribution. The note body stays plain — rejecting the
420
- * reference removes it, and the orphaned body is swept by the same cascade an
421
- * untracked reference deletion triggers.
422
- */
423
- readonly revision?: RevisionAttributionInput;
424
- } | {
425
- readonly op: 'deleteNote';
426
- readonly noteKind: NoteKind;
427
- readonly noteId: number;
428
- } | {
429
- readonly op: 'convertNote';
430
- readonly fromKind: NoteKind;
431
- readonly noteId: number;
432
- } | {
433
- /**
434
- * Convert every normal note of `fromKind` in document order. One atomic package
435
- * transaction / undo unit with the same validation as repeated `convertNote`.
436
- */
437
- readonly op: 'convertAllNotes';
438
- readonly fromKind: NoteKind;
439
- } | {
440
- readonly op: 'setNoteProperties';
441
- readonly scope: 'document' | 'section';
442
- readonly sectionIndex?: number;
443
- readonly footnote?: {
444
- readonly numFmt?: string;
445
- readonly numRestart?: string;
446
- readonly position?: string;
447
- readonly numStart?: number;
448
- };
449
- readonly endnote?: {
450
- readonly numFmt?: string;
451
- readonly numRestart?: string;
452
- readonly position?: string;
453
- readonly numStart?: number;
454
- };
455
- };
456
- /** Why a note lifecycle op was refused. */
457
- type NoteLifecycleRejection = 'invalidArgs' | 'invalid-property-value' | 'tree-invariant';
458
- /**
459
- * A new package, or a typed rejection.
460
- *
461
- * Application is PURE and all-or-nothing: there are no partial writes, so a refused op leaves the
462
- * caller's package untouched rather than half-migrated across four parts.
463
- */
464
- type NoteLifecycleResult = {
465
- readonly ok: true;
466
- readonly package: OoxmlPackage;
467
- readonly impact: NoteLifecycleImpact;
468
- readonly noteId?: number;
469
- readonly noteKind?: NoteKind;
470
- readonly createdPartName?: string;
471
- } | {
472
- readonly ok: false;
473
- readonly reason: NoteLifecycleRejection;
474
- readonly detail?: string;
475
- };
476
- /** Whether an op is a note lifecycle op rather than a story-level one. */
477
- declare function isNoteLifecycleOp(op: {
478
- readonly op: string;
479
- }): op is NoteLifecycleOp;
480
- /** Attribution and limits applied to one note lifecycle op. */
481
- interface NoteLifecycleOptions {
482
- /**
483
- * Shared part + visited-node budget for reference scans. When omitted a fresh default
484
- * budget is used. Truncation rejects the op with the original package unchanged.
485
- */
486
- readonly scanBudget?: NoteReferenceScanBudget;
487
- }
488
- /**
489
- * Apply one note lifecycle op atomically. Rejected ops leave the input package untouched.
490
- */
491
- declare function applyNoteLifecycleOp(pkg: OoxmlPackage, op: NoteLifecycleOp, options?: NoteLifecycleOptions): NoteLifecycleResult;
492
- /**
493
- * How deleting text cascades into the notes it referenced.
494
- *
495
- * A note's body and the citation reaching it are one thing to a reader, so removing the reference
496
- * must remove the body too or the notes part keeps an entry nothing points at.
497
- */
498
- interface CascadeDeletedNoteReferencesOptions {
499
- /**
500
- * Independent full budgets per snapshot. When omitted each snapshot gets its own
501
- * default budget — never share one counter across before/after walks.
502
- */
503
- readonly beforeBudget?: NoteReferenceScanBudget;
504
- readonly afterBudget?: NoteReferenceScanBudget;
505
- }
506
- /**
507
- * Remove note bodies for references that disappeared between two package snapshots.
508
- * Used when `deleteText` or `deleteBlock` removes a `noteReference` atom so body+ref stay
509
- * one undo unit.
510
- *
511
- * Each snapshot gets an independent full visited/part budget. If either scan truncates
512
- * the cascade fails closed so a hostile package cannot skip body deletion silently —
513
- * without accidentally halving capacity by charging both walks to one counter.
514
- */
515
- declare function cascadeDeletedNoteReferences(before: OoxmlPackage, after: OoxmlPackage, options?: CascadeDeletedNoteReferencesOptions): OoxmlPackage | null;
516
-
517
405
  interface InsertImageInput {
518
406
  readonly paragraphId: string;
519
407
  readonly offset: number;
@@ -856,6 +744,40 @@ declare class TreeDocumentStore {
856
744
  private publish;
857
745
  }
858
746
 
747
+ /** Decoded fragment payloads above this cap are refused before any package work. */
748
+ declare const MAX_FRAGMENT_DECODED_BYTES: number;
749
+ interface FragmentPasteInput {
750
+ readonly paragraphId: string;
751
+ readonly offset: number;
752
+ /** The fragment package zip (from the clipboard codec or the HTML projection). */
753
+ readonly fragmentBytes: Uint8Array;
754
+ readonly lastMarkCovered: boolean;
755
+ /** Ops that clear the current selection first (the surface's deleteSelectionPlan). */
756
+ readonly priorOps?: readonly TreeDocOp[];
757
+ /**
758
+ * Collaboration actor for the ids this paste mints.
759
+ *
760
+ * A paste freshens three package-wide namespaces — bookmark `@w:id`, revision `@w:id` and
761
+ * `wp:docPr/@id` — and the merge reads the actor off the open transaction. Without one, two
762
+ * replicas pasting the same fragment from one snapshot mint the same numbers, and only the
763
+ * merged document shows it. Omitted (solo) keeps Word's dense sequences.
764
+ */
765
+ readonly actorId?: string;
766
+ }
767
+ type FragmentPasteResult = (Extract<PackageTransactResult, {
768
+ ok: true;
769
+ }> & {
770
+ readonly blockCount: number;
771
+ }) | Extract<PackageTransactResult, {
772
+ ok: false;
773
+ }>;
774
+ /**
775
+ * Read the fragment through the bounded file-open trust boundary, merge its resources,
776
+ * and land its blocks — all inside one transaction. Any refusal leaves the document
777
+ * exactly as it was; the caller (the paste router) degrades to the next flavour.
778
+ */
779
+ declare function applyFragmentPaste(store: TreePackageStore, scope: StoryScope, input: FragmentPasteInput): FragmentPasteResult;
780
+
859
781
  /** Attribution stamped on one remote canonical publication. */
860
782
  interface RemotePackageAttribution {
861
783
  readonly origin: string;
@@ -1097,38 +1019,117 @@ declare class TreePackageStore {
1097
1019
  private publishSynthetic;
1098
1020
  }
1099
1021
 
1100
- /** Decoded fragment payloads above this cap are refused before any package work. */
1101
- declare const MAX_FRAGMENT_DECODED_BYTES: number;
1102
- interface FragmentPasteInput {
1022
+ /** How far a note lifecycle op reaches — which parts a caller must expect to have changed. */
1023
+ type NoteLifecycleImpact = 'flow-structural' | 'global';
1024
+ /**
1025
+ * A note lifecycle mutation: insert, delete, convert, or set properties.
1026
+ *
1027
+ * Package-level rather than story-level, because every one of these touches the main document,
1028
+ * the notes part, the document relationships AND `[Content_Types].xml` together.
1029
+ */
1030
+ type NoteLifecycleOp = {
1031
+ readonly op: 'insertNote';
1032
+ readonly noteKind: NoteKind;
1103
1033
  readonly paragraphId: string;
1104
1034
  readonly offset: number;
1105
- /** The fragment package zip (from the clipboard codec or the HTML projection). */
1106
- readonly fragmentBytes: Uint8Array;
1107
- readonly lastMarkCovered: boolean;
1108
- /** Ops that clear the current selection first (the surface's deleteSelectionPlan). */
1109
- readonly priorOps?: readonly TreeDocOp[];
1110
1035
  /**
1111
- * Collaboration actor for the ids this paste mints.
1112
- *
1113
- * A paste freshens three package-wide namespaces — bookmark `@w:id`, revision `@w:id` and
1114
- * `wp:docPr/@id` — and the merge reads the actor off the open transaction. Without one, two
1115
- * replicas pasting the same fragment from one snapshot mint the same numbers, and only the
1116
- * merged document shows it. Omitted (solo) keeps Word's dense sequences.
1036
+ * Write the citing reference as a TRACKED insertion: the reference run goes inside a
1037
+ * `w:ins` carrying this attribution. The note body stays plain — rejecting the
1038
+ * reference removes it, and the orphaned body is swept by the same cascade an
1039
+ * untracked reference deletion triggers.
1117
1040
  */
1118
- readonly actorId?: string;
1041
+ readonly revision?: RevisionAttributionInput;
1042
+ } | {
1043
+ readonly op: 'deleteNote';
1044
+ readonly noteKind: NoteKind;
1045
+ readonly noteId: number;
1046
+ } | {
1047
+ readonly op: 'convertNote';
1048
+ readonly fromKind: NoteKind;
1049
+ readonly noteId: number;
1050
+ } | {
1051
+ /**
1052
+ * Convert every normal note of `fromKind` in document order. One atomic package
1053
+ * transaction / undo unit with the same validation as repeated `convertNote`.
1054
+ */
1055
+ readonly op: 'convertAllNotes';
1056
+ readonly fromKind: NoteKind;
1057
+ } | {
1058
+ readonly op: 'setNoteProperties';
1059
+ readonly scope: 'document' | 'section';
1060
+ readonly sectionIndex?: number;
1061
+ readonly footnote?: {
1062
+ readonly numFmt?: string;
1063
+ readonly numRestart?: string;
1064
+ readonly position?: string;
1065
+ readonly numStart?: number;
1066
+ };
1067
+ readonly endnote?: {
1068
+ readonly numFmt?: string;
1069
+ readonly numRestart?: string;
1070
+ readonly position?: string;
1071
+ readonly numStart?: number;
1072
+ };
1073
+ };
1074
+ /** Why a note lifecycle op was refused. */
1075
+ type NoteLifecycleRejection = 'invalidArgs' | 'invalid-property-value' | 'tree-invariant';
1076
+ /**
1077
+ * A new package, or a typed rejection.
1078
+ *
1079
+ * Application is PURE and all-or-nothing: there are no partial writes, so a refused op leaves the
1080
+ * caller's package untouched rather than half-migrated across four parts.
1081
+ */
1082
+ type NoteLifecycleResult = {
1083
+ readonly ok: true;
1084
+ readonly package: OoxmlPackage;
1085
+ readonly impact: NoteLifecycleImpact;
1086
+ readonly noteId?: number;
1087
+ readonly noteKind?: NoteKind;
1088
+ readonly createdPartName?: string;
1089
+ } | {
1090
+ readonly ok: false;
1091
+ readonly reason: NoteLifecycleRejection;
1092
+ readonly detail?: string;
1093
+ };
1094
+ /** Whether an op is a note lifecycle op rather than a story-level one. */
1095
+ declare function isNoteLifecycleOp(op: {
1096
+ readonly op: string;
1097
+ }): op is NoteLifecycleOp;
1098
+ /** Attribution and limits applied to one note lifecycle op. */
1099
+ interface NoteLifecycleOptions {
1100
+ /**
1101
+ * Shared part + visited-node budget for reference scans. When omitted a fresh default
1102
+ * budget is used. Truncation rejects the op with the original package unchanged.
1103
+ */
1104
+ readonly scanBudget?: NoteReferenceScanBudget;
1119
1105
  }
1120
- type FragmentPasteResult = (Extract<PackageTransactResult, {
1121
- ok: true;
1122
- }> & {
1123
- readonly blockCount: number;
1124
- }) | Extract<PackageTransactResult, {
1125
- ok: false;
1126
- }>;
1127
1106
  /**
1128
- * Read the fragment through the bounded file-open trust boundary, merge its resources,
1129
- * and land its blocks — all inside one transaction. Any refusal leaves the document
1130
- * exactly as it was; the caller (the paste router) degrades to the next flavour.
1107
+ * Apply one note lifecycle op atomically. Rejected ops leave the input package untouched.
1131
1108
  */
1132
- declare function applyFragmentPaste(store: TreePackageStore, scope: StoryScope, input: FragmentPasteInput): FragmentPasteResult;
1109
+ declare function applyNoteLifecycleOp(pkg: OoxmlPackage, op: NoteLifecycleOp, options?: NoteLifecycleOptions): NoteLifecycleResult;
1110
+ /**
1111
+ * How deleting text cascades into the notes it referenced.
1112
+ *
1113
+ * A note's body and the citation reaching it are one thing to a reader, so removing the reference
1114
+ * must remove the body too or the notes part keeps an entry nothing points at.
1115
+ */
1116
+ interface CascadeDeletedNoteReferencesOptions {
1117
+ /**
1118
+ * Independent full budgets per snapshot. When omitted each snapshot gets its own
1119
+ * default budget — never share one counter across before/after walks.
1120
+ */
1121
+ readonly beforeBudget?: NoteReferenceScanBudget;
1122
+ readonly afterBudget?: NoteReferenceScanBudget;
1123
+ }
1124
+ /**
1125
+ * Remove note bodies for references that disappeared between two package snapshots.
1126
+ * Used when `deleteText` or `deleteBlock` removes a `noteReference` atom so body+ref stay
1127
+ * one undo unit.
1128
+ *
1129
+ * Each snapshot gets an independent full visited/part budget. If either scan truncates
1130
+ * the cascade fails closed so a hostile package cannot skip body deletion silently —
1131
+ * without accidentally halving capacity by charging both walks to one counter.
1132
+ */
1133
+ declare function cascadeDeletedNoteReferences(before: OoxmlPackage, after: OoxmlPackage, options?: CascadeDeletedNoteReferencesOptions): OoxmlPackage | null;
1133
1134
 
1134
- export { type TransactResult as $, type ApplyImagePropertiesInput as A, type NoteDiagnostic as B, type CascadeDeletedNoteReferencesOptions as C, DEFAULT_MAX_EDITABLE_STORY_PARTS as D, type NoteDiagnosticCode as E, type FragmentPasteInput as F, type NoteLifecycleImpact as G, type HeaderFooterVariant as H, type InsertImageInput as I, type NoteLifecycleOp as J, type NoteLifecycleOptions as K, type NoteLifecycleRejection as L, MAX_FRAGMENT_DECODED_BYTES as M, type NoteKind as N, type NoteLifecycleResult as O, type NoteReferenceHit as P, type NoteReferenceScanBudget as Q, type ReplaceImageOptions as R, type StoryScope as S, TreePackageStore as T, type NoteType as U, type PackageTransactResult as V, type RemotePackageAttribution as W, type StoryResolveResult as X, type TreeDocumentStoreOptions as Y, type TreePackageStoreOptions as Z, type TreeStoryRef as _, type StoryTargetRejection as a, type TransactionContext as a0, allocateDrawingPropertyId as a1, allocateNoteId as a2, applyFragmentPaste as a3, applyHeaderFooterLifecycleOp as a4, applyNoteLifecycleOp as a5, atomicNoteSpansOf as a6, cascadeDeletedNoteReferences as a7, collectNoteReferences as a8, collectPackageNoteReferences as a9, parseNoteScopeId as aA, resolveHeaderFooterParts as aB, resolveHeaderFooterPartsBySection as aC, resolveHeaderFooterResolutionBySection as aD, resolveNotesPart as aE, withBinaryPart as aF, withEmbeddedImage as aG, withoutUnreferencedImagePart as aH, collectSectionPropertyNodes as aa, createNoteReferenceScanBudget as ab, customMarkFollows as ac, diagnoseNoteReferences as ad, findNoteById as ae, formatNoteScopeId as af, isContinuationSeparatorNode as ag, isEndnotesNode as ah, isFootnotesNode as ai, isHeaderFooterLifecycleOp as aj, isNormalNote as ak, isNoteAtomNode as al, isNoteLifecycleOp as am, isNoteNode as an, isNoteRefNode as ao, isNoteReferenceNode as ap, isSeparatorNode as aq, normalNoteIds as ar, noteAtomText as as, noteIdOf as at, noteKindOf as au, noteRefKindOf as av, noteReferenceKindOf as aw, notesOf as ax, notesPartHasId as ay, parseNoteId as az, type TreeModelChange as b, type HeaderFooterParts as c, type HeaderFooterSectionResolution as d, TreeDocumentStore as e, type SelectionMark as f, type TransactOptions as g, type ImageIntentResult as h, type FragmentPasteResult as i, type AtomicNoteSpan as j, type DrawingPropertyIdResult as k, type HeaderFooterKind as l, type HeaderFooterLifecycleImpact as m, noteTypeOf as n, type HeaderFooterLifecycleOp as o, type HeaderFooterLifecycleRejection as p, type HeaderFooterLifecycleResult as q, type HeaderFooterSlotMeta as r, MAX_NOTES_PER_PART as s, MAX_NOTE_REFERENCE_PARTS as t, MAX_NOTE_REFERENCE_SCAN as u, NOTE_ATOM_CHAR as v, NOTE_CONTINUATION_SEPARATOR_ID as w, NOTE_ID_MAX as x, NOTE_ID_MIN as y, NOTE_SEPARATOR_ID as z };
1135
+ export { type TransactionContext as $, type ApplyImagePropertiesInput as A, type NoteDiagnosticCode as B, type CascadeDeletedNoteReferencesOptions as C, DEFAULT_MAX_EDITABLE_STORY_PARTS as D, type NoteLifecycleImpact as E, type FragmentPasteInput as F, type NoteLifecycleOp as G, type HeaderFooterVariant as H, type InsertImageInput as I, type NoteLifecycleOptions as J, type NoteLifecycleRejection as K, type NoteLifecycleResult as L, MAX_FRAGMENT_DECODED_BYTES as M, type NoteKind as N, type NoteReferenceHit as O, type NoteReferenceScanBudget as P, type NoteType as Q, type ReplaceImageOptions as R, type StoryScope as S, TreePackageStore as T, type PackageTransactResult as U, type RemotePackageAttribution as V, type StoryResolveResult as W, type TreeDocumentStoreOptions as X, type TreePackageStoreOptions as Y, type TreeStoryRef as Z, type TransactResult as _, type StoryTargetRejection as a, allocateDrawingPropertyId as a0, allocateNoteId as a1, applyFragmentPaste as a2, applyHeaderFooterLifecycleOp as a3, applyNoteLifecycleOp as a4, atomicNoteSpansOf as a5, cascadeDeletedNoteReferences as a6, collectNoteReferences as a7, collectPackageNoteReferences as a8, collectSectionPropertyNodes as a9, parseNoteScopeId as aA, resolveHeaderFooterParts as aB, resolveHeaderFooterPartsBySection as aC, resolveHeaderFooterResolutionBySection as aD, resolveNotesPart as aE, withBinaryPart as aF, withEmbeddedImage as aG, withoutUnreferencedImagePart as aH, createNoteReferenceScanBudget as aa, customMarkFollows as ab, diagnoseNoteReferences as ac, findNoteById as ad, formatNoteScopeId as ae, isContinuationSeparatorNode as af, isEndnotesNode as ag, isFootnotesNode as ah, isHeaderFooterLifecycleOp as ai, isNormalNote as aj, isNoteAtomNode as ak, isNoteLifecycleOp as al, isNoteNode as am, isNoteRefNode as an, isNoteReferenceNode as ao, isSeparatorNode as ap, normalNoteIds as aq, noteAtomText as ar, noteIdOf as as, noteKindOf as at, noteRefKindOf as au, noteReferenceKindOf as av, noteTypeOf as aw, notesOf as ax, notesPartHasId as ay, parseNoteId as az, type TreeModelChange as b, type HeaderFooterParts as c, type HeaderFooterSectionResolution as d, TreeDocumentStore as e, type SelectionMark as f, type TransactOptions as g, type ImageIntentResult as h, type FragmentPasteResult as i, type AtomicNoteSpan as j, type DrawingPropertyIdResult as k, type HeaderFooterKind as l, type HeaderFooterLifecycleImpact as m, type HeaderFooterLifecycleOp as n, type HeaderFooterLifecycleRejection as o, type HeaderFooterLifecycleResult as p, type HeaderFooterSlotMeta as q, MAX_NOTES_PER_PART as r, MAX_NOTE_REFERENCE_PARTS as s, MAX_NOTE_REFERENCE_SCAN as t, NOTE_ATOM_CHAR as u, NOTE_CONTINUATION_SEPARATOR_ID as v, NOTE_ID_MAX as w, NOTE_ID_MIN as x, NOTE_SEPARATOR_ID as y, type NoteDiagnostic as z };
@@ -1,4 +1,4 @@
1
- import { O as OoxmlPart, a as OoxmlNode, b as OoxmlPackage } from './tree-op-types-DbdM7fJV.js';
1
+ import { O as OoxmlPart, i as OoxmlNode, j as OoxmlPackage } from './types-barrel-CEOy-Jv0.js';
2
2
 
3
3
  /** `w:pos` — where a section's footnotes are laid out. */
4
4
  type FootnotePosition = 'pageBottom' | 'beneathText' | 'sectEnd' | 'docEnd';
@@ -64,4 +64,4 @@ declare function isLegalFootnotePosition(pos: string): pos is FootnotePosition;
64
64
  /** Whether a file-supplied string is a legal `w:numRestart` value. Narrows the type. */
65
65
  declare function isLegalNumRestart(value: string): value is NoteNumRestart;
66
66
 
67
- export { type AuthoredNoteProperties as A, DEFAULT_ENDNOTE_PROPERTIES as D, type EndnotePosition as E, type FootnotePosition as F, type NoteNumRestart as N, type ResolvedFootnoteProperties as R, type ResolvedEndnoteProperties as a, DEFAULT_FOOTNOTE_PROPERTIES as b, authoredDocumentEndnoteProperties as c, authoredDocumentFootnoteProperties as d, authoredEndnotePropertiesFromSectPr as e, authoredFootnotePropertiesFromSectPr as f, isLegalFootnotePosition as g, isLegalNumRestart as h, isLegalEndnotePosition as i, resolveFootnoteProperties as j, parseAuthoredNoteProperties as p, resolveEndnoteProperties as r, settingsPartOf as s };
67
+ export { type AuthoredNoteProperties as A, DEFAULT_ENDNOTE_PROPERTIES as D, type EndnotePosition as E, type FootnotePosition as F, type NoteNumRestart as N, type ResolvedEndnoteProperties as R, DEFAULT_FOOTNOTE_PROPERTIES as a, type ResolvedFootnoteProperties as b, authoredDocumentEndnoteProperties as c, authoredDocumentFootnoteProperties as d, authoredEndnotePropertiesFromSectPr as e, authoredFootnotePropertiesFromSectPr as f, isLegalFootnotePosition as g, isLegalNumRestart as h, isLegalEndnotePosition as i, resolveFootnoteProperties as j, parseAuthoredNoteProperties as p, resolveEndnoteProperties as r, settingsPartOf as s };
@@ -1,4 +1,4 @@
1
- import { c as OoxmlNodeId, d as OoxmlGenericElementNode, a as OoxmlNode } from './tree-op-types-DbdM7fJV.js';
1
+ import { U as OoxmlNodeId, V as OoxmlGenericElementNode, i as OoxmlNode } from './types-barrel-CEOy-Jv0.js';
2
2
 
3
3
  /** Office Math Markup Language namespace. */
4
4
  declare const OFFICE_MATH_NAMESPACE_URI = "http://schemas.openxmlformats.org/officeDocument/2006/math";
package/dist/output.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkFZ2BIMCY_cjs=require('./chunk-FZ2BIMCY.cjs');require('./chunk-NJONXJJY.cjs'),require('./chunk-LQ6XWTKQ.cjs'),require('./chunk-FGBADUSK.cjs'),require('./chunk-MDP5SNK4.cjs'),require('./chunk-77DD4EBC.cjs');Object.defineProperty(exports,"DEFAULT_FIELD_SHADING",{enumerable:true,get:function(){return chunkFZ2BIMCY_cjs.j}});Object.defineProperty(exports,"paintSelectionOverlay",{enumerable:true,get:function(){return chunkFZ2BIMCY_cjs.o}});Object.defineProperty(exports,"paintSemanticLayout",{enumerable:true,get:function(){return chunkFZ2BIMCY_cjs.m}});
1
+ 'use strict';var chunkMZFFU66H_cjs=require('./chunk-MZFFU66H.cjs');require('./chunk-OA6LFCTG.cjs'),require('./chunk-I6LSEDUL.cjs'),require('./chunk-FGBADUSK.cjs'),require('./chunk-K5HIOS6J.cjs'),require('./chunk-DGSJZMAE.cjs');Object.defineProperty(exports,"DEFAULT_FIELD_SHADING",{enumerable:true,get:function(){return chunkMZFFU66H_cjs.j}});Object.defineProperty(exports,"paintSelectionOverlay",{enumerable:true,get:function(){return chunkMZFFU66H_cjs.o}});Object.defineProperty(exports,"paintSemanticLayout",{enumerable:true,get:function(){return chunkMZFFU66H_cjs.m}});
package/dist/output.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { R as ReviewAuthorInfo } from './semantic-paint-BSan4pBk.js';
2
- export { D as DEFAULT_FIELD_SHADING, F as FieldShadingMode, P as PaintOptions, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles, p as paintSemanticLayout } from './semantic-paint-BSan4pBk.js';
3
- import { S as SemanticLayout } from './semantic-records-ZcYuB4-H.js';
4
- import './tree-op-types-DbdM7fJV.js';
5
- import './contracts/types.js';
6
- import './revision-projection-BIHO_qvw.js';
7
- import './omml-equation-hcP9AUFX.js';
1
+ import { R as ReviewAuthorInfo } from './semantic-paint-CLvHwf8y.js';
2
+ export { D as DEFAULT_FIELD_SHADING, F as FieldShadingMode, P as PaintOptions, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles, p as paintSemanticLayout } from './semantic-paint-CLvHwf8y.js';
3
+ import { S as SemanticLayout } from './semantic-records-CbXwnS80.js';
4
+ import './image-resources-C51LuAAu.js';
5
+ import './types-barrel-CEOy-Jv0.js';
6
+ import './revision-projection-BcRnC4Yj.js';
7
+ import './omml-equation-C5P6Ym3v.js';
8
8
 
9
9
  /** A rectangle in page-content coordinates, on a named page. */
10
10
  interface OverlayRect {
package/dist/output.js CHANGED
@@ -1 +1 @@
1
- export{j as DEFAULT_FIELD_SHADING,o as paintSelectionOverlay,m as paintSemanticLayout}from'./chunk-2ZEU42EA.js';import'./chunk-DQS4KZUX.js';import'./chunk-RIYSCEFQ.js';import'./chunk-72BDQFHY.js';import'./chunk-VP7SDFCM.js';import'./chunk-4KMSEFIG.js';import'./chunk-CJCFEXTA.js';
1
+ export{j as DEFAULT_FIELD_SHADING,o as paintSelectionOverlay,m as paintSemanticLayout}from'./chunk-MZPNLIP3.js';import'./chunk-3EZO3O6I.js';import'./chunk-RIYSCEFQ.js';import'./chunk-H6WDEAOJ.js';import'./chunk-VP7SDFCM.js';import'./chunk-KLQXP27K.js';import'./chunk-CF3JR35B.js';
@@ -1,5 +1,5 @@
1
- import { A as AutomationTableMutation } from './tree-op-types-DbdM7fJV.js';
2
- import { H as HeaderFooterVariant, N as NoteKind } from './tree-package-fragment-1pdDnhZ_.js';
1
+ import { a6 as AutomationTableMutation, _ as RevisionBatchResult } from './types-barrel-CEOy-Jv0.js';
2
+ import { H as HeaderFooterVariant, N as NoteKind } from './note-lifecycle-D4AOFCAt.js';
3
3
 
4
4
  interface AutomationInlinePictureRead {
5
5
  readonly width: number;
@@ -912,6 +912,13 @@ type AutomationOperation = AutomationAuthoringOperation | {
912
912
  readonly op: 'getRevisions';
913
913
  readonly body: AutomationHandle;
914
914
  }
915
+ /** Resolve eligible decisions in one story. Omit revisions to select every canonical decision. */
916
+ | {
917
+ readonly op: 'resolveRevisionBatch';
918
+ readonly body: AutomationHandle;
919
+ readonly action: 'accept' | 'reject';
920
+ readonly revisions?: readonly AutomationHandle[];
921
+ }
915
922
  /** Word's name for the kind of change: `Insert`, `Delete`, `Replace`, `Property`, … */
916
923
  | {
917
924
  readonly op: 'getRevisionType';
@@ -1200,7 +1207,7 @@ type AutomationOperationKind = AutomationOperation['op'];
1200
1207
  /** Operations that read. They never open a transaction. */
1201
1208
  declare const AUTOMATION_QUERY_OPERATIONS: readonly ["getTables", "getTable", "getTableRows", "getTableCells", "getTableCell", "getTableCellProperties", "getTableCellBody", "getFields", "getField", "getInlinePictures", "getInlinePicture", "getChangeTrackingMode", "getDocument", "getBody", "getParagraphs", "getRange", "getSpanParagraphs", "getText", "getSpanText", "getParagraphId", "search", "getFont", "getParagraphFormat", "getStyle", "getSections", "getPageSetup", "getFurniture", "getNotes", "getNoteBody", "getNoteText", "getNoteKind", "getLists", "getListId", "getListById", "getListParagraphs", "getParagraphList", "getListLevel", "getHyperlink", "getBookmarks", "getBookmarkName", "getBookmarkRange", "getComments", "getCommentReplies", "getCommentId", "getCommentAuthor", "getCommentDate", "getCommentText", "getCommentRange", "getCommentResolved", "getRevisions", "getRevisionType", "getRevisionAuthor", "getRevisionDate", "getRevisionRange", "getContentControls", "getContentControlById", "getContentControlsByTag", "getContentControlsByTitle", "getContentControlTag", "getContentControlTitle", "getContentControlFileId", "getContentControlSubtype", "getContentControlLock", "getContentControlIsBound", "getContentControlPlaceholderShown", "getContentControlTemporary", "getContentControlText", "getContentControlParagraphs", "getContentControlRange"];
1202
1209
  /** Operations that write. Every one of these goes through the single transaction path. */
1203
- declare const AUTOMATION_COMMAND_OPERATIONS: readonly ["insertTable", "updateTable", "updateTableCell", "setInlinePicture", "deleteInlinePicture", "insertField", "setFieldCode", "deleteField", "updateFieldResult", "insertInlinePicture", "insertBreak", "setChangeTrackingMode", "proposeInsertion", "proposeDeletion", "proposeReplacement", "insertText", "replaceSpan", "replaceStoryBlocks", "insertParagraph", "splitParagraph", "deleteParagraph", "selectSpan", "selectBookmark", "setFont", "setParagraphFormat", "setStyle", "setPageSetup", "deleteNote", "setListLevel", "startNewList", "attachToList", "detachFromList", "setListLevelFormat", "insertListParagraph", "setHyperlink", "insertComment", "setCommentResolved", "replyToComment", "deleteComment", "acceptRevision", "rejectRevision", "acceptAllRevisions", "rejectAllRevisions", "setContentControlValue", "setContentControlProperties", "deleteContentControl", "insertContentControlText", "insertContentControl", "insertCustomNode"];
1210
+ declare const AUTOMATION_COMMAND_OPERATIONS: readonly ["insertTable", "updateTable", "updateTableCell", "setInlinePicture", "deleteInlinePicture", "insertField", "setFieldCode", "deleteField", "updateFieldResult", "insertInlinePicture", "insertBreak", "setChangeTrackingMode", "proposeInsertion", "proposeDeletion", "proposeReplacement", "insertText", "replaceSpan", "replaceStoryBlocks", "insertParagraph", "splitParagraph", "deleteParagraph", "selectSpan", "selectBookmark", "setFont", "setParagraphFormat", "setStyle", "setPageSetup", "deleteNote", "setListLevel", "startNewList", "attachToList", "detachFromList", "setListLevelFormat", "insertListParagraph", "setHyperlink", "insertComment", "setCommentResolved", "replyToComment", "deleteComment", "acceptRevision", "rejectRevision", "resolveRevisionBatch", "acceptAllRevisions", "rejectAllRevisions", "setContentControlValue", "setContentControlProperties", "deleteContentControl", "insertContentControlText", "insertContentControl", "insertCustomNode"];
1204
1211
  /**
1205
1212
  * Commands that commit as a PACKAGE transaction and therefore share a batch with nothing.
1206
1213
  *
@@ -1210,7 +1217,7 @@ declare const AUTOMATION_COMMAND_OPERATIONS: readonly ["insertTable", "updateTab
1210
1217
  * beside a story command, would be two commits: two revisions, and a moment where half the
1211
1218
  * caller's batch is published. Refused while planning instead.
1212
1219
  */
1213
- declare const AUTOMATION_SOLITARY_OPERATIONS: readonly ["insertTable", "insertInlinePicture", "insertBreak", "startNewList", "deleteNote", "insertComment", "setCommentResolved", "replyToComment", "insertCustomNode"];
1220
+ declare const AUTOMATION_SOLITARY_OPERATIONS: readonly ["resolveRevisionBatch", "insertTable", "insertInlinePicture", "insertBreak", "startNewList", "deleteNote", "insertComment", "setCommentResolved", "replyToComment", "insertCustomNode"];
1214
1221
  /** Whether an operation must be the only one in its batch. */
1215
1222
  declare function isSolitaryAutomationCommand(operation: AutomationOperation): boolean;
1216
1223
  /** Whether an operation writes. Drives the query/command split inside one batch. */
@@ -1360,6 +1367,9 @@ interface AutomationSpan {
1360
1367
  }
1361
1368
  /** What an operation answered with. */
1362
1369
  type AutomationValue = {
1370
+ readonly kind: 'revisionBatch';
1371
+ readonly result: RevisionBatchResult;
1372
+ } | {
1363
1373
  readonly kind: 'field';
1364
1374
  readonly field: {
1365
1375
  readonly code: string;
@@ -1,5 +1,4 @@
1
- import { a as OoxmlNode, e as OoxmlElement, i as OoxmlContentControlNode, d as OoxmlGenericElementNode, j as OoxmlContentControlContentNode, O as OoxmlPart } from './tree-op-types-DbdM7fJV.js';
2
- import { C as CommentRecord } from './review-items-CJz-kAW8.js';
1
+ import { i as OoxmlNode, a1 as OoxmlElement, a2 as OoxmlContentControlNode, V as OoxmlGenericElementNode, a3 as OoxmlContentControlContentNode, C as CommentRecord, O as OoxmlPart } from './types-barrel-CEOy-Jv0.js';
3
2
 
4
3
  /** Nested content-control wrappers deeper than this stop flattening; content stays preserved. */
5
4
  declare const MAX_CONTENT_CONTROL_NESTING = 32;
@@ -76,4 +75,4 @@ declare function paragraphOrderOfPart(part: OoxmlPart): ReadonlyMap<string, numb
76
75
  */
77
76
  declare function deepParagraphOrderOfPart(part: OoxmlPart): ReadonlyMap<string, number>;
78
77
 
79
- export { MAX_CONTENT_CONTROL_NESTING as M, commentBodyText as a, commentInitials as b, collectFlowBlocks as c, contentControlContentChildren as d, isContentControlContent as e, contentControlContentOf as f, deepParagraphOrderOfPart as g, walkParagraphInline as h, isContentControl as i, walkStoryBlocks as j, paragraphOrderOfPart as p, walkAllStoryParagraphs as w };
78
+ export { MAX_CONTENT_CONTROL_NESTING as M, commentBodyText as a, commentInitials as b, collectFlowBlocks as c, contentControlContentOf as d, deepParagraphOrderOfPart as e, isContentControlContent as f, walkParagraphInline as g, walkStoryBlocks as h, isContentControl as i, contentControlContentChildren as j, paragraphOrderOfPart as p, walkAllStoryParagraphs as w };
@@ -1,4 +1,4 @@
1
- import { a as OoxmlNode } from './tree-op-types-DbdM7fJV.js';
1
+ import { i as OoxmlNode } from './types-barrel-CEOy-Jv0.js';
2
2
 
3
3
  /**
4
4
  * What a revision wrapper asserts about the content inside it.
@@ -1,7 +1,7 @@
1
- import { O as OoxmlPart, e as OoxmlElement, a as OoxmlNode } from './tree-op-types-DbdM7fJV.js';
2
- import { P as PageGeometry, I as InlineDrawingRecord, A as AnchoredDrawingRecord, T as TextMeasurer, L as LineRecord, a as StyleSpanRecord, S as SemanticLayout, C as ContentControlBoundaryRecord, b as TableRowFragmentRecord, c as TableCellFragmentRecord } from './semantic-records-ZcYuB4-H.js';
3
- import { R as RevisionDisplayMode, a as RevisionAuthorFilter } from './revision-projection-BIHO_qvw.js';
4
- import { S as SemanticPosition, C as CaretGeometry, a as SemanticSelection } from './semantic-interaction-0vQXcMZk.js';
1
+ import { O as OoxmlPart, a1 as OoxmlElement, i as OoxmlNode } from './types-barrel-CEOy-Jv0.js';
2
+ import { P as PageGeometry, I as InlineDrawingRecord, A as AnchoredDrawingRecord, T as TextMeasurer, L as LineRecord, a as StyleSpanRecord, S as SemanticLayout, C as ContentControlBoundaryRecord, b as TableRowFragmentRecord, c as TableCellFragmentRecord } from './semantic-records-CbXwnS80.js';
3
+ import { R as RevisionDisplayMode, a as RevisionAuthorFilter } from './revision-projection-BcRnC4Yj.js';
4
+ import { S as SemanticPosition, C as CaretGeometry, a as SemanticSelection } from './semantic-interaction-B7beVwH7.js';
5
5
 
6
6
  /**
7
7
  * Hard ceiling on sections enumerated from a document (matches write-path
@@ -1,4 +1,4 @@
1
- import { T as TextMeasurer, S as SemanticLayout, B as BlockFragmentRecord, C as ContentControlBoundaryRecord, a as StyleSpanRecord } from './semantic-records-ZcYuB4-H.js';
1
+ import { T as TextMeasurer, S as SemanticLayout, B as BlockFragmentRecord, C as ContentControlBoundaryRecord, a as StyleSpanRecord } from './semantic-records-CbXwnS80.js';
2
2
 
3
3
  /** A caret position in the model. */
4
4
  interface SemanticPosition {
@@ -1,5 +1,5 @@
1
- import { C as ContentControlBoundaryRecord, S as SemanticLayout } from './semantic-records-ZcYuB4-H.js';
2
- import { V as ValidatedImageBytesHandle, k as RenderableImageMime } from './tree-op-types-DbdM7fJV.js';
1
+ import { C as ContentControlBoundaryRecord, S as SemanticLayout } from './semantic-records-CbXwnS80.js';
2
+ import { V as ValidatedImageBytesHandle, R as RenderableImageMime } from './image-resources-C51LuAAu.js';
3
3
 
4
4
  /**
5
5
  * Everything a host can say about ONE author's presentation. Every field is optional and
@@ -1,6 +1,7 @@
1
- import { b as RevisionAttribution, R as RevisionDisplayMode, a as RevisionAuthorFilter } from './revision-projection-BIHO_qvw.js';
2
- import { h as OoxmlProperty, e as OoxmlElement, a as OoxmlNode, O as OoxmlPart, X as TableBorderStyle, o as ImageResourceState, Y as DrawingAccessibility, Z as DrawingImageEffects, S as SourceCrop, _ as DrawingTransform, $ as VectorShapeProjection, q as DrawingHorizontalReferenceFrame, r as DrawingVerticalReferenceFrame, I as ImageWrapTarget, a0 as DrawingProjection, a1 as OoxmlDrawingNode } from './tree-op-types-DbdM7fJV.js';
3
- import { O as OmmlEquationProjection } from './omml-equation-hcP9AUFX.js';
1
+ import { b as RevisionAttribution, R as RevisionDisplayMode, a as RevisionAuthorFilter } from './revision-projection-BcRnC4Yj.js';
2
+ import { a0 as OoxmlProperty, a1 as OoxmlElement, i as OoxmlNode, O as OoxmlPart, aG as TableBorderStyle, aH as DrawingAccessibility, aI as DrawingImageEffects, a7 as SourceCrop, aJ as DrawingTransform, aK as VectorShapeProjection, ai as DrawingHorizontalReferenceFrame, aj as DrawingVerticalReferenceFrame, a9 as ImageWrapTarget, a4 as DrawingProjection, aL as OoxmlDrawingNode } from './types-barrel-CEOy-Jv0.js';
3
+ import { I as ImageResourceState } from './image-resources-C51LuAAu.js';
4
+ import { O as OmmlEquationProjection } from './omml-equation-C5P6Ym3v.js';
4
5
 
5
6
  /** Soft ceiling on abstractNum / num entries read from one part. */
6
7
  declare const MAX_NUMBERING_DEFINITIONS = 512;
@@ -930,7 +931,7 @@ interface RefFieldSpec {
930
931
  readonly bookmark: string;
931
932
  /** `r` / `w` paint the target's number; `n` the same without context; null the range text. */
932
933
  readonly numberSwitch: 'r' | 'w' | 'n' | null;
933
- /** `\h` parsed and inert — the reference paints; navigation is a follow-up. */
934
+ /** `\h` marks a reference whose displayed result links to its bookmark. */
934
935
  readonly hyperlink: boolean;
935
936
  }
936
937
  /**