superdoc 2.4.0-next.8 → 2.4.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 (77) hide show
  1. package/dist/chunks/{FindReplaceSurface-9VkPw_-X.cjs → FindReplaceSurface-0p7EtMZh.cjs} +4 -3
  2. package/dist/chunks/{FindReplaceSurface-BuvaIrQ5.es.js → FindReplaceSurface-40AnrqWk.es.js} +4 -2
  3. package/dist/chunks/{PasswordPromptSurface-Bu5xHm91.cjs → PasswordPromptSurface-31lYPcCK.cjs} +4 -3
  4. package/dist/chunks/{PasswordPromptSurface-Bz9_sKhX.es.js → PasswordPromptSurface-CwYeO3iQ.es.js} +4 -2
  5. package/dist/chunks/{PdfViewer-CdVGB6Fe.es.js → PdfViewer-D8h7LRZy.es.js} +103 -19
  6. package/dist/chunks/{PdfViewer-D4eD2dV1.cjs → PdfViewer-Dug6yDRC.cjs} +105 -20
  7. package/dist/chunks/_plugin-vue_export-helper-BOaGB7Aw.es.js +8 -0
  8. package/dist/chunks/_plugin-vue_export-helper-SDR04tiH.cjs +13 -0
  9. package/dist/chunks/{blank-docx-DP8RUPW-.cjs → blank-docx-BuFAbRjs.cjs} +2 -0
  10. package/dist/chunks/{blank-docx-XRX6Ker2.es.js → blank-docx-DzQccOlW.es.js} +2 -0
  11. package/dist/chunks/constants-B6VBlmKp.es.js +4 -0
  12. package/dist/chunks/constants-DpXuDx_g.cjs +9 -0
  13. package/dist/chunks/{create-super-doc-ui-BquF8bnZ.es.js → create-super-doc-ui-CmOSA_lN.es.js} +2050 -1090
  14. package/dist/chunks/{create-super-doc-ui-sMXbYzhs.cjs → create-super-doc-ui-CqGmoMMA.cjs} +1861 -1141
  15. package/dist/chunks/{eventemitter3-DqY4aSMf.cjs → eventemitter3-C_TAnXOl.cjs} +125 -16
  16. package/dist/chunks/{eventemitter3-Bt2s0X0a.es.js → eventemitter3-DEIiXiH2.es.js} +124 -16
  17. package/dist/chunks/jszip-BzJ3CyxR.es.js +4717 -0
  18. package/dist/chunks/jszip-D8mAFF-r.cjs +4758 -0
  19. package/dist/chunks/{rolldown-runtime-D7PMmH3s.es.js → rolldown-runtime-0pSA04fp.es.js} +12 -3
  20. package/dist/chunks/{rolldown-runtime-1Y-nnZJ3.cjs → rolldown-runtime-74VwNCz7.cjs} +11 -2
  21. package/dist/chunks/{uuid-CFp0WGVU.cjs → uuid-BhG0ngwk.cjs} +10 -6
  22. package/dist/chunks/{uuid-B2Sqk-3p.es.js → uuid-H0Xcmmhy.es.js} +8 -3
  23. package/dist/collaboration-upgrade-engine.cjs +34 -9
  24. package/dist/collaboration-upgrade-engine.es.js +30 -5
  25. package/dist/document-api/src/citations/citations.types.d.ts +9 -0
  26. package/dist/document-api/src/comments/comments.types.d.ts +7 -0
  27. package/dist/document-api/src/types/receipt.d.ts +9 -5
  28. package/dist/layout-engine/contracts/src/incremental-dependency.d.ts +22 -2
  29. package/dist/layout-engine/contracts/src/index.d.ts +74 -2
  30. package/dist/layout-engine/contracts/src/inline-box.d.ts +19 -0
  31. package/dist/layout-engine/contracts/src/paragraph-visible-text.d.ts +19 -0
  32. package/dist/layout-engine/layout-bridge/src/incrementalLayout.d.ts +4 -1
  33. package/dist/layout-engine/layout-bridge/src/index.d.ts +1 -0
  34. package/dist/layout-engine/layout-bridge/src/inline-box-key.d.ts +3 -0
  35. package/dist/layout-engine/layout-bridge/src/layoutHeaderFooter.d.ts +5 -1
  36. package/dist/layout-engine/layout-bridge/src/run-visual-marks.d.ts +2 -0
  37. package/dist/layout-engine/layout-bridge/src/text-measurement.d.ts +0 -12
  38. package/dist/layout-engine/painters/dom/src/runs/inline-box.d.ts +8 -0
  39. package/dist/public/ui-react.cjs +66 -2
  40. package/dist/public/ui-react.es.js +66 -1
  41. package/dist/public/ui.cjs +1 -1
  42. package/dist/public/ui.es.js +1 -1
  43. package/dist/style.css +134 -98
  44. package/dist/style.layered.css +134 -98
  45. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +2 -0
  46. package/dist/superdoc/src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue.d.ts +16 -0
  47. package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +3 -1
  48. package/dist/superdoc/src/components/CommentsLayer/commentsList/super-comments-list.d.ts +12 -0
  49. package/dist/superdoc/src/core/SuperDoc.d.ts +10 -7
  50. package/dist/superdoc/src/core/extensions/index.d.ts +1 -1
  51. package/dist/superdoc/src/core/extensions/types.d.ts +63 -5
  52. package/dist/superdoc/src/core/types/index.d.ts +399 -37
  53. package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +3 -3
  54. package/dist/superdoc/src/helpers/comment-small-screen.d.ts +10 -0
  55. package/dist/superdoc/src/helpers/v2-review-mutation-impact.d.ts +3 -5
  56. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButton.vue.d.ts +4 -4
  57. package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +11 -0
  58. package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +1 -1
  59. package/dist/superdoc/src/public/index.d.cts +20 -0
  60. package/dist/superdoc/src/public/index.d.ts +10 -0
  61. package/dist/superdoc/src/public/ui/types.d.ts +30 -6
  62. package/dist/superdoc/src/stores/comments-store.d.ts +81 -78
  63. package/dist/superdoc/src/stores/superdoc-store.d.ts +243 -234
  64. package/dist/superdoc.cjs +6667 -2090
  65. package/dist/superdoc.es.js +6540 -1963
  66. package/dist-cdn/style.layered.css +1 -1
  67. package/dist-cdn/superdoc.min.css +1 -1
  68. package/dist-cdn/superdoc.min.js +37 -37
  69. package/package.json +14 -14
  70. package/dist/chunks/_plugin-vue_export-helper-CZ1Nl59K.cjs +0 -11
  71. package/dist/chunks/_plugin-vue_export-helper-DSMAhhwD.es.js +0 -6
  72. package/dist/chunks/constants-BfH0br5u.es.js +0 -3
  73. package/dist/chunks/constants-D7TNtyJd.cjs +0 -14
  74. package/dist/chunks/jszip-C8srOKAO.es.js +0 -4650
  75. package/dist/chunks/jszip-Cs9JBLlJ.cjs +0 -4691
  76. package/dist/superdoc/src/helpers/v2-remote-review-hydration.d.ts +0 -12
  77. package/dist/superdoc/src/helpers/v2-review-mutation-reconciler.d.ts +0 -19
@@ -99,6 +99,7 @@ import type { SuperDocExceptionEditorPayload as __Cjs_SuperDocExceptionEditorPay
99
99
  import type { SuperDocExceptionPayload as __Cjs_SuperDocExceptionPayload } from './index.js' with { "resolution-mode": "import" };
100
100
  import type { SuperDocExceptionRestorePayload as __Cjs_SuperDocExceptionRestorePayload } from './index.js' with { "resolution-mode": "import" };
101
101
  import type { SuperDocExceptionStorePayload as __Cjs_SuperDocExceptionStorePayload } from './index.js' with { "resolution-mode": "import" };
102
+ import type { SuperDocExceptionToolbarPayload as __Cjs_SuperDocExceptionToolbarPayload } from './index.js' with { "resolution-mode": "import" };
102
103
  import type { SuperDocExtension as __Cjs_SuperDocExtension } from './index.js' with { "resolution-mode": "import" };
103
104
  import type { SuperDocExtensionActivateReturn as __Cjs_SuperDocExtensionActivateReturn } from './index.js' with { "resolution-mode": "import" };
104
105
  import type { SuperDocExtensionCapabilities as __Cjs_SuperDocExtensionCapabilities } from './index.js' with { "resolution-mode": "import" };
@@ -121,6 +122,9 @@ import type { SuperDocFontsApi as __Cjs_SuperDocFontsApi } from './index.js' wit
121
122
  import type { SuperDocGuardedDoc as __Cjs_SuperDocGuardedDoc } from './index.js' with { "resolution-mode": "import" };
122
123
  import type { SuperDocGuardedDocQuery as __Cjs_SuperDocGuardedDocQuery } from './index.js' with { "resolution-mode": "import" };
123
124
  import type { SuperDocGuardedDocSelection as __Cjs_SuperDocGuardedDocSelection } from './index.js' with { "resolution-mode": "import" };
125
+ import type { SuperDocInlineBoxAppearance as __Cjs_SuperDocInlineBoxAppearance } from './index.js' with { "resolution-mode": "import" };
126
+ import type { SuperDocInlineBoxLayout as __Cjs_SuperDocInlineBoxLayout } from './index.js' with { "resolution-mode": "import" };
127
+ import type { SuperDocInlineBoxOptions as __Cjs_SuperDocInlineBoxOptions } from './index.js' with { "resolution-mode": "import" };
124
128
  import type { SuperDocLayoutEngineOptions as __Cjs_SuperDocLayoutEngineOptions } from './index.js' with { "resolution-mode": "import" };
125
129
  import type { SuperDocLockedPayload as __Cjs_SuperDocLockedPayload } from './index.js' with { "resolution-mode": "import" };
126
130
  import type { SuperDocMeasurementUnit as __Cjs_SuperDocMeasurementUnit } from './index.js' with { "resolution-mode": "import" };
@@ -166,6 +170,12 @@ import type { SurfacesModuleConfig as __Cjs_SurfacesModuleConfig } from './index
166
170
  import type { TextAddress as __Cjs_TextAddress } from './index.js' with { "resolution-mode": "import" };
167
171
  import type { TextSegment as __Cjs_TextSegment } from './index.js' with { "resolution-mode": "import" };
168
172
  import type { TextTarget as __Cjs_TextTarget } from './index.js' with { "resolution-mode": "import" };
173
+ import type { ToolbarCustomButton as __Cjs_ToolbarCustomButton } from './index.js' with { "resolution-mode": "import" };
174
+ import type { ToolbarCustomButtonContext as __Cjs_ToolbarCustomButtonContext } from './index.js' with { "resolution-mode": "import" };
175
+ import type { ToolbarCustomButtonItem as __Cjs_ToolbarCustomButtonItem } from './index.js' with { "resolution-mode": "import" };
176
+ import type { ToolbarCustomDropdownItem as __Cjs_ToolbarCustomDropdownItem } from './index.js' with { "resolution-mode": "import" };
177
+ import type { ToolbarCustomDropdownOption as __Cjs_ToolbarCustomDropdownOption } from './index.js' with { "resolution-mode": "import" };
178
+ import type { ToolbarCustomSeparatorItem as __Cjs_ToolbarCustomSeparatorItem } from './index.js' with { "resolution-mode": "import" };
169
179
  import type { TrackChangeAuthor as __Cjs_TrackChangeAuthor } from './index.js' with { "resolution-mode": "import" };
170
180
  import type { TrackChangeHighlightColors as __Cjs_TrackChangeHighlightColors } from './index.js' with { "resolution-mode": "import" };
171
181
  import type { TrackChangesAuthorColorsConfig as __Cjs_TrackChangesAuthorColorsConfig } from './index.js' with { "resolution-mode": "import" };
@@ -290,6 +300,7 @@ export type { __Cjs_SuperDocExceptionEditorPayload as SuperDocExceptionEditorPay
290
300
  export type { __Cjs_SuperDocExceptionPayload as SuperDocExceptionPayload };
291
301
  export type { __Cjs_SuperDocExceptionRestorePayload as SuperDocExceptionRestorePayload };
292
302
  export type { __Cjs_SuperDocExceptionStorePayload as SuperDocExceptionStorePayload };
303
+ export type { __Cjs_SuperDocExceptionToolbarPayload as SuperDocExceptionToolbarPayload };
293
304
  export type { __Cjs_SuperDocExtension as SuperDocExtension };
294
305
  export type { __Cjs_SuperDocExtensionActivateReturn as SuperDocExtensionActivateReturn };
295
306
  export type { __Cjs_SuperDocExtensionCapabilities as SuperDocExtensionCapabilities };
@@ -312,6 +323,9 @@ export type { __Cjs_SuperDocFontsApi as SuperDocFontsApi };
312
323
  export type { __Cjs_SuperDocGuardedDoc as SuperDocGuardedDoc };
313
324
  export type { __Cjs_SuperDocGuardedDocQuery as SuperDocGuardedDocQuery };
314
325
  export type { __Cjs_SuperDocGuardedDocSelection as SuperDocGuardedDocSelection };
326
+ export type { __Cjs_SuperDocInlineBoxAppearance as SuperDocInlineBoxAppearance };
327
+ export type { __Cjs_SuperDocInlineBoxLayout as SuperDocInlineBoxLayout };
328
+ export type { __Cjs_SuperDocInlineBoxOptions as SuperDocInlineBoxOptions };
315
329
  export type { __Cjs_SuperDocLayoutEngineOptions as SuperDocLayoutEngineOptions };
316
330
  export type { __Cjs_SuperDocLockedPayload as SuperDocLockedPayload };
317
331
  export type { __Cjs_SuperDocMeasurementUnit as SuperDocMeasurementUnit };
@@ -357,6 +371,12 @@ export type { __Cjs_SurfacesModuleConfig as SurfacesModuleConfig };
357
371
  export type { __Cjs_TextAddress as TextAddress };
358
372
  export type { __Cjs_TextSegment as TextSegment };
359
373
  export type { __Cjs_TextTarget as TextTarget };
374
+ export type { __Cjs_ToolbarCustomButton as ToolbarCustomButton };
375
+ export type { __Cjs_ToolbarCustomButtonContext as ToolbarCustomButtonContext };
376
+ export type { __Cjs_ToolbarCustomButtonItem as ToolbarCustomButtonItem };
377
+ export type { __Cjs_ToolbarCustomDropdownItem as ToolbarCustomDropdownItem };
378
+ export type { __Cjs_ToolbarCustomDropdownOption as ToolbarCustomDropdownOption };
379
+ export type { __Cjs_ToolbarCustomSeparatorItem as ToolbarCustomSeparatorItem };
360
380
  export type { __Cjs_TrackChangeAuthor as TrackChangeAuthor };
361
381
  export type { __Cjs_TrackChangeHighlightColors as TrackChangeHighlightColors };
362
382
  export type { __Cjs_TrackChangesAuthorColorsConfig as TrackChangesAuthorColorsConfig };
@@ -62,6 +62,7 @@ export type { SuperDocAwarenessUpdatePayload } from '../core/types/index.js';
62
62
  export type { SuperDocCommentsUpdatePayload } from '../core/types/index.js';
63
63
  export type { SuperDocEditorPayload } from '../core/types/index.js';
64
64
  export type { SuperDocExceptionEditorPayload } from '../core/types/index.js';
65
+ export type { SuperDocExceptionToolbarPayload } from '../core/types/index.js';
65
66
  export type { SuperDocExceptionPayload } from '../core/types/index.js';
66
67
  export type { SuperDocExceptionRestorePayload } from '../core/types/index.js';
67
68
  export type { SuperDocExceptionStorePayload } from '../core/types/index.js';
@@ -75,6 +76,12 @@ export type { LayoutMode } from '../../../layout-engine/painters/dom/src/index.j
75
76
  export type { CommentsConfig } from '../core/types/index.js';
76
77
  export type { TrackChangeHighlightColors } from '../core/types/index.js';
77
78
  export type { ContentControlsConfig } from '../core/types/index.js';
79
+ export type { ToolbarCustomButton } from '../core/types/index.js';
80
+ export type { ToolbarCustomButtonItem } from '../core/types/index.js';
81
+ export type { ToolbarCustomDropdownItem } from '../core/types/index.js';
82
+ export type { ToolbarCustomDropdownOption } from '../core/types/index.js';
83
+ export type { ToolbarCustomSeparatorItem } from '../core/types/index.js';
84
+ export type { ToolbarCustomButtonContext } from '../core/types/index.js';
78
85
  export type { LinkPopoverConfig } from '../core/types/index.js';
79
86
  export type { LinkPopoverContext } from '../core/types/index.js';
80
87
  export type { LinkPopoverResolution } from '../core/types/index.js';
@@ -158,6 +165,9 @@ export type { SuperDocExtensionStorage } from '../core/extensions/index.js';
158
165
  export type { SuperDocGuardedDoc } from '../core/extensions/index.js';
159
166
  export type { SuperDocGuardedDocQuery } from '../core/extensions/index.js';
160
167
  export type { SuperDocGuardedDocSelection } from '../core/extensions/index.js';
168
+ export type { SuperDocInlineBoxAppearance } from '../core/extensions/index.js';
169
+ export type { SuperDocInlineBoxLayout } from '../core/extensions/index.js';
170
+ export type { SuperDocInlineBoxOptions } from '../core/extensions/index.js';
161
171
  export type { SuperDocMutationAffect } from '../core/extensions/index.js';
162
172
  export type { SuperDocMutationEvent } from '../core/extensions/index.js';
163
173
  export type { SuperDocMutationFilter } from '../core/extensions/index.js';
@@ -356,14 +356,14 @@ export interface ContextMenuItem {
356
356
  invoke(): CommandExecutionResult;
357
357
  }
358
358
  export interface ViewportEntityHit {
359
- type: string;
359
+ type: 'trackedChange' | 'comment' | 'contentControl' | 'citation' | (string & {});
360
360
  id: string;
361
361
  tag?: string;
362
362
  scope?: 'block' | 'inline';
363
363
  /**
364
364
  * Painted story locator for a tracked-change hit. Meaningful only for
365
- * `type: 'trackedChange'`; absent for body-only content and for comment /
366
- * content-control hits. Lets point hit-testing disambiguate a tracked-change
365
+ * `type: 'trackedChange'`; absent for body-only content and for comment,
366
+ * content-control, and citation hits. Lets point hit-testing disambiguate a tracked-change
367
367
  * id that repeats across stories (body, footnote, header/footer, textbox) by
368
368
  * resolving to the occurrence actually under the point.
369
369
  */
@@ -831,13 +831,25 @@ export type CommentAnchorCapture = {
831
831
  };
832
832
  /** Comments handle. */
833
833
  export interface CommentsHandle extends SnapshotSubscribable<CommentsSlice> {
834
- /** Read the current comments snapshot. */
834
+ /** Read the passive page-window snapshot without starting a document-wide read. Observers receive the complete directory separately. */
835
835
  getSnapshot(): CommentsSlice;
836
836
  /** List comments through the best-known controller/Document API state. */
837
837
  list(query?: CommentsListQuery): readonly CommentInfo[];
838
838
  /** Resolve a single comment by id from the best-known loaded state. */
839
839
  getById(commentId: string): CommentInfo | null;
840
- /** Create a comment from a frozen selection capture. */
840
+ /**
841
+ * Create a comment from a frozen selection capture.
842
+ *
843
+ * A capture carrying neither `target` nor `selectionTarget` fails closed with
844
+ * the same `NO_SELECTION` receipt {@link createFromSelection} mints for an
845
+ * empty selection, because both describe the same user-visible mistake:
846
+ * commenting with nothing selected. A capture that *has* a target which no
847
+ * longer resolves is a different failure, and keeps the Document API's own
848
+ * receipt so the reason stays specific.
849
+ *
850
+ * `capturedAt` is provenance for the consumer, not an expiry. A capture stays
851
+ * usable while its target resolves; elapsed time alone never invalidates it.
852
+ */
841
853
  createFromCapture(capture: CommentAnchorCapture, input: {
842
854
  text: string;
843
855
  }): WorkflowReceipt;
@@ -853,6 +865,18 @@ export interface CommentsHandle extends SnapshotSubscribable<CommentsSlice> {
853
865
  reply(commentId: string, input: {
854
866
  text: string;
855
867
  }): WorkflowReceipt;
868
+ /**
869
+ * Replace a comment's body text through the Document API
870
+ * (`comments.patch({ commentId, text })`).
871
+ *
872
+ * Gated by the comments `readOnly` policy like every other comment write.
873
+ * `allowResolve` is deliberately NOT consulted: that policy forbids only the
874
+ * resolve/reopen transition, and an application that may not resolve threads
875
+ * can still let an author correct their own wording.
876
+ */
877
+ edit(commentId: string, input: {
878
+ text: string;
879
+ }): WorkflowReceipt;
856
880
  /** Mark a comment resolved. */
857
881
  resolve(commentId: string): WorkflowReceipt;
858
882
  /** Reopen a resolved comment. */
@@ -881,7 +905,7 @@ export interface CommentsHandle extends SnapshotSubscribable<CommentsSlice> {
881
905
  }
882
906
  /** Track-changes handle. */
883
907
  export interface TrackChangesHandle extends SnapshotSubscribable<TrackChangesSlice> {
884
- /** Read the current track-changes snapshot. */
908
+ /** Read the passive page-window snapshot without starting a document-wide read. Observers receive the complete directory separately. */
885
909
  getSnapshot(): TrackChangesSlice;
886
910
  /** List tracked changes through the best-known controller state. */
887
911
  list(): readonly TrackChangesItem[];
@@ -24,7 +24,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
24
24
  pendingComment: import('vue').Ref<null, null>;
25
25
  currentCommentText: import('vue').Ref<string, string>;
26
26
  commentsList: import('vue').Ref<never[], never[]>;
27
+ reviewDirectoryList: import('vue').ShallowRef<never[], never[]>;
27
28
  isCommentsListVisible: import('vue').Ref<boolean, boolean>;
29
+ isReviewDirectoryActive: import('vue').Ref<boolean, boolean>;
30
+ isReviewDirectoryLoading: import('vue').Ref<boolean, boolean>;
28
31
  generalCommentIds: import('vue').Ref<never[], never[]>;
29
32
  editorCommentIds: import('vue').Ref<never[], never[]>;
30
33
  commentsParentElement: import('vue').Ref<null, null>;
@@ -50,6 +53,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
50
53
  parentComments: any[];
51
54
  resolvedComments: any[];
52
55
  }>;
56
+ getGroupedReviewDirectory: import('vue').ComputedRef<{
57
+ parentComments: any[];
58
+ resolvedComments: any[];
59
+ }>;
53
60
  hasOpenTrackedChanges: import('vue').ComputedRef<boolean>;
54
61
  getCommentsByPosition: import('vue').ComputedRef<{
55
62
  parentComments: any[];
@@ -146,6 +153,19 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
146
153
  removePendingComment: (superdoc: any) => void;
147
154
  cancelImportedTrackedChangeBootstrap: (documentId: string | null | undefined) => number;
148
155
  removeCommentsForDocument: (documentId: string | null | undefined) => void;
156
+ setReviewDirectoryFromV2: ({ superdoc, commentItems, trackedChangeItems }?: {
157
+ commentItems?: never[] | undefined;
158
+ trackedChangeItems?: never[] | undefined;
159
+ }) => {
160
+ ok: boolean;
161
+ reason: string;
162
+ count?: undefined;
163
+ } | {
164
+ ok: boolean;
165
+ count: number;
166
+ reason?: undefined;
167
+ };
168
+ clearReviewDirectory: () => void;
149
169
  processLoadedDocxComments: ({ superdoc, editor, comments, documentId, replacedFile }: {
150
170
  comments: any[];
151
171
  documentId: string;
@@ -185,14 +205,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
185
205
  v2CommentsAdapter: import('vue').ShallowRef<null, null>;
186
206
  setV2CommentsAdapter: (adapter: any) => void;
187
207
  getV2CommentsAdapter: (superdoc: any) => any;
188
- hydrateCommentsFromV2: ({ superdoc, adapter, documentId, trackedChangesListMode, isCurrent, signal, hydrationGeneration, }?: {
189
- trackedChangesListMode?: string | undefined;
190
- }) => Promise<any>;
191
- applyReviewSnapshotFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
192
- supersedeV2ReviewHydration: ({ commentsAdapter, trackedChangesAdapter }?: {}) => {
193
- commentsGeneration: any;
194
- trackedChangesGeneration: any;
195
- };
208
+ applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
196
209
  reconcileCommentsFromV2: ({ superdoc, adapter, documentId, items, preparedInputs, pruneStale, hydrationGeneration, }?: {
197
210
  preparedInputs?: null | undefined;
198
211
  pruneStale?: boolean | undefined;
@@ -206,13 +219,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
206
219
  setV2TrackedChangesAdapter: (adapter: any) => void;
207
220
  getV2TrackedChangesAdapter: (superdoc: any) => any;
208
221
  getV2TrackedChangeRowCount: (documentId?: null) => number;
209
- hydrateTrackedChangesFromV2: ({ superdoc, adapter, documentId, trackedChangesListMode, refreshReason, blocking, isCurrent, targetIds, reconciliationBatchSize, signal, hydrationGeneration, }?: {
210
- trackedChangesListMode?: string | undefined;
211
- reconciliationBatchSize?: number | undefined;
212
- }) => Promise<any>;
213
- reconcileTrackedChangeMutationFromV2: ({ superdoc, adapter, documentId, upsertIds, removedIds, allResolved, }?: {
222
+ reconcileTrackedChangeMutationFromV2: ({ superdoc, adapter, documentId, upsertIds, removedIds, remappedPairs, allResolved, }?: {
214
223
  upsertIds?: never[] | undefined;
215
224
  removedIds?: never[] | undefined;
225
+ remappedPairs?: never[] | undefined;
216
226
  }) => Promise<{
217
227
  ok: boolean;
218
228
  reason: string;
@@ -221,7 +231,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
221
231
  unresolvedIds?: undefined;
222
232
  allResolved?: undefined;
223
233
  removedRows?: undefined;
224
- failures?: undefined;
234
+ removedIds?: undefined;
225
235
  } | {
226
236
  ok: boolean;
227
237
  items: never[];
@@ -230,22 +240,13 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
230
240
  allResolved: boolean;
231
241
  removedRows: any;
232
242
  reason?: undefined;
233
- failures?: undefined;
243
+ removedIds?: undefined;
234
244
  } | {
235
245
  ok: boolean;
236
246
  items: never[];
237
247
  resolvedIds: never[];
238
- unresolvedIds: never[];
239
- reason?: undefined;
240
- allResolved?: undefined;
241
- removedRows?: undefined;
242
- failures?: undefined;
243
- } | {
244
- ok: boolean;
245
- items: any[];
246
- resolvedIds: (string | null)[];
247
248
  unresolvedIds: (string | null)[];
248
- failures: any[];
249
+ removedIds: (string | null)[];
249
250
  reason?: undefined;
250
251
  allResolved?: undefined;
251
252
  removedRows?: undefined;
@@ -257,7 +258,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
257
258
  liveAnchorKeys?: null | undefined;
258
259
  }) => any;
259
260
  remapTrackedChangeIdentities: (pairs?: any[], { documentId }?: {}) => void;
260
- }, "suppressInternalExternal" | "activeComment" | "activeFloatingCommentInstanceId" | "floatingCommentsOffset" | "pendingComment" | "currentCommentText" | "isDebugging" | "editingCommentId" | "editorCommentPositions" | "isCommentHighlighted" | "v2CommentsAdapter" | "COMMENT_EVENTS" | "hasInitializedComments" | "hasSyncedCollaborationComments" | "commentDialogs" | "overlappingComments" | "overlappedIds" | "commentsList" | "isCommentsListVisible" | "generalCommentIds" | "editorCommentIds" | "commentsParentElement" | "hasInitializedLocations" | "sortedConversations" | "visibleConversations" | "skipSelectionUpdate" | "isFloatingCommentsReady" | "instantSidebarAlignmentTargetY" | "instantSidebarAlignmentThreadId" | "instantSidebarAlignmentInstanceId" | "viewingVisibility" | "v2TrackedChangesAdapter">, Pick<{
261
+ }, "suppressInternalExternal" | "activeComment" | "activeFloatingCommentInstanceId" | "floatingCommentsOffset" | "pendingComment" | "currentCommentText" | "isDebugging" | "editingCommentId" | "editorCommentPositions" | "isCommentHighlighted" | "v2CommentsAdapter" | "COMMENT_EVENTS" | "hasInitializedComments" | "hasSyncedCollaborationComments" | "commentDialogs" | "overlappingComments" | "overlappedIds" | "commentsList" | "reviewDirectoryList" | "isCommentsListVisible" | "isReviewDirectoryActive" | "isReviewDirectoryLoading" | "generalCommentIds" | "editorCommentIds" | "commentsParentElement" | "hasInitializedLocations" | "sortedConversations" | "visibleConversations" | "skipSelectionUpdate" | "isFloatingCommentsReady" | "instantSidebarAlignmentTargetY" | "instantSidebarAlignmentThreadId" | "instantSidebarAlignmentInstanceId" | "viewingVisibility" | "v2TrackedChangesAdapter">, Pick<{
261
262
  COMMENT_EVENTS: {
262
263
  readonly RESOLVED: "resolved";
263
264
  readonly NEW: "new";
@@ -283,7 +284,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
283
284
  pendingComment: import('vue').Ref<null, null>;
284
285
  currentCommentText: import('vue').Ref<string, string>;
285
286
  commentsList: import('vue').Ref<never[], never[]>;
287
+ reviewDirectoryList: import('vue').ShallowRef<never[], never[]>;
286
288
  isCommentsListVisible: import('vue').Ref<boolean, boolean>;
289
+ isReviewDirectoryActive: import('vue').Ref<boolean, boolean>;
290
+ isReviewDirectoryLoading: import('vue').Ref<boolean, boolean>;
287
291
  generalCommentIds: import('vue').Ref<never[], never[]>;
288
292
  editorCommentIds: import('vue').Ref<never[], never[]>;
289
293
  commentsParentElement: import('vue').Ref<null, null>;
@@ -309,6 +313,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
309
313
  parentComments: any[];
310
314
  resolvedComments: any[];
311
315
  }>;
316
+ getGroupedReviewDirectory: import('vue').ComputedRef<{
317
+ parentComments: any[];
318
+ resolvedComments: any[];
319
+ }>;
312
320
  hasOpenTrackedChanges: import('vue').ComputedRef<boolean>;
313
321
  getCommentsByPosition: import('vue').ComputedRef<{
314
322
  parentComments: any[];
@@ -405,6 +413,19 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
405
413
  removePendingComment: (superdoc: any) => void;
406
414
  cancelImportedTrackedChangeBootstrap: (documentId: string | null | undefined) => number;
407
415
  removeCommentsForDocument: (documentId: string | null | undefined) => void;
416
+ setReviewDirectoryFromV2: ({ superdoc, commentItems, trackedChangeItems }?: {
417
+ commentItems?: never[] | undefined;
418
+ trackedChangeItems?: never[] | undefined;
419
+ }) => {
420
+ ok: boolean;
421
+ reason: string;
422
+ count?: undefined;
423
+ } | {
424
+ ok: boolean;
425
+ count: number;
426
+ reason?: undefined;
427
+ };
428
+ clearReviewDirectory: () => void;
408
429
  processLoadedDocxComments: ({ superdoc, editor, comments, documentId, replacedFile }: {
409
430
  comments: any[];
410
431
  documentId: string;
@@ -444,14 +465,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
444
465
  v2CommentsAdapter: import('vue').ShallowRef<null, null>;
445
466
  setV2CommentsAdapter: (adapter: any) => void;
446
467
  getV2CommentsAdapter: (superdoc: any) => any;
447
- hydrateCommentsFromV2: ({ superdoc, adapter, documentId, trackedChangesListMode, isCurrent, signal, hydrationGeneration, }?: {
448
- trackedChangesListMode?: string | undefined;
449
- }) => Promise<any>;
450
- applyReviewSnapshotFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
451
- supersedeV2ReviewHydration: ({ commentsAdapter, trackedChangesAdapter }?: {}) => {
452
- commentsGeneration: any;
453
- trackedChangesGeneration: any;
454
- };
468
+ applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
455
469
  reconcileCommentsFromV2: ({ superdoc, adapter, documentId, items, preparedInputs, pruneStale, hydrationGeneration, }?: {
456
470
  preparedInputs?: null | undefined;
457
471
  pruneStale?: boolean | undefined;
@@ -465,13 +479,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
465
479
  setV2TrackedChangesAdapter: (adapter: any) => void;
466
480
  getV2TrackedChangesAdapter: (superdoc: any) => any;
467
481
  getV2TrackedChangeRowCount: (documentId?: null) => number;
468
- hydrateTrackedChangesFromV2: ({ superdoc, adapter, documentId, trackedChangesListMode, refreshReason, blocking, isCurrent, targetIds, reconciliationBatchSize, signal, hydrationGeneration, }?: {
469
- trackedChangesListMode?: string | undefined;
470
- reconciliationBatchSize?: number | undefined;
471
- }) => Promise<any>;
472
- reconcileTrackedChangeMutationFromV2: ({ superdoc, adapter, documentId, upsertIds, removedIds, allResolved, }?: {
482
+ reconcileTrackedChangeMutationFromV2: ({ superdoc, adapter, documentId, upsertIds, removedIds, remappedPairs, allResolved, }?: {
473
483
  upsertIds?: never[] | undefined;
474
484
  removedIds?: never[] | undefined;
485
+ remappedPairs?: never[] | undefined;
475
486
  }) => Promise<{
476
487
  ok: boolean;
477
488
  reason: string;
@@ -480,7 +491,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
480
491
  unresolvedIds?: undefined;
481
492
  allResolved?: undefined;
482
493
  removedRows?: undefined;
483
- failures?: undefined;
494
+ removedIds?: undefined;
484
495
  } | {
485
496
  ok: boolean;
486
497
  items: never[];
@@ -489,22 +500,13 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
489
500
  allResolved: boolean;
490
501
  removedRows: any;
491
502
  reason?: undefined;
492
- failures?: undefined;
503
+ removedIds?: undefined;
493
504
  } | {
494
505
  ok: boolean;
495
506
  items: never[];
496
507
  resolvedIds: never[];
497
- unresolvedIds: never[];
498
- reason?: undefined;
499
- allResolved?: undefined;
500
- removedRows?: undefined;
501
- failures?: undefined;
502
- } | {
503
- ok: boolean;
504
- items: any[];
505
- resolvedIds: (string | null)[];
506
508
  unresolvedIds: (string | null)[];
507
- failures: any[];
509
+ removedIds: (string | null)[];
508
510
  reason?: undefined;
509
511
  allResolved?: undefined;
510
512
  removedRows?: undefined;
@@ -516,7 +518,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
516
518
  liveAnchorKeys?: null | undefined;
517
519
  }) => any;
518
520
  remapTrackedChangeIdentities: (pairs?: any[], { documentId }?: {}) => void;
519
- }, "getConfig" | "documentsWithConverations" | "getGroupedComments" | "hasOpenTrackedChanges" | "getCommentsByPosition" | "getFloatingComments" | "getFloatingCommentInstances" | "isViewingMode" | "shouldRenderReviewInViewing">, Pick<{
521
+ }, "getConfig" | "documentsWithConverations" | "getGroupedComments" | "getGroupedReviewDirectory" | "hasOpenTrackedChanges" | "getCommentsByPosition" | "getFloatingComments" | "getFloatingCommentInstances" | "isViewingMode" | "shouldRenderReviewInViewing">, Pick<{
520
522
  COMMENT_EVENTS: {
521
523
  readonly RESOLVED: "resolved";
522
524
  readonly NEW: "new";
@@ -542,7 +544,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
542
544
  pendingComment: import('vue').Ref<null, null>;
543
545
  currentCommentText: import('vue').Ref<string, string>;
544
546
  commentsList: import('vue').Ref<never[], never[]>;
547
+ reviewDirectoryList: import('vue').ShallowRef<never[], never[]>;
545
548
  isCommentsListVisible: import('vue').Ref<boolean, boolean>;
549
+ isReviewDirectoryActive: import('vue').Ref<boolean, boolean>;
550
+ isReviewDirectoryLoading: import('vue').Ref<boolean, boolean>;
546
551
  generalCommentIds: import('vue').Ref<never[], never[]>;
547
552
  editorCommentIds: import('vue').Ref<never[], never[]>;
548
553
  commentsParentElement: import('vue').Ref<null, null>;
@@ -568,6 +573,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
568
573
  parentComments: any[];
569
574
  resolvedComments: any[];
570
575
  }>;
576
+ getGroupedReviewDirectory: import('vue').ComputedRef<{
577
+ parentComments: any[];
578
+ resolvedComments: any[];
579
+ }>;
571
580
  hasOpenTrackedChanges: import('vue').ComputedRef<boolean>;
572
581
  getCommentsByPosition: import('vue').ComputedRef<{
573
582
  parentComments: any[];
@@ -664,6 +673,19 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
664
673
  removePendingComment: (superdoc: any) => void;
665
674
  cancelImportedTrackedChangeBootstrap: (documentId: string | null | undefined) => number;
666
675
  removeCommentsForDocument: (documentId: string | null | undefined) => void;
676
+ setReviewDirectoryFromV2: ({ superdoc, commentItems, trackedChangeItems }?: {
677
+ commentItems?: never[] | undefined;
678
+ trackedChangeItems?: never[] | undefined;
679
+ }) => {
680
+ ok: boolean;
681
+ reason: string;
682
+ count?: undefined;
683
+ } | {
684
+ ok: boolean;
685
+ count: number;
686
+ reason?: undefined;
687
+ };
688
+ clearReviewDirectory: () => void;
667
689
  processLoadedDocxComments: ({ superdoc, editor, comments, documentId, replacedFile }: {
668
690
  comments: any[];
669
691
  documentId: string;
@@ -703,14 +725,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
703
725
  v2CommentsAdapter: import('vue').ShallowRef<null, null>;
704
726
  setV2CommentsAdapter: (adapter: any) => void;
705
727
  getV2CommentsAdapter: (superdoc: any) => any;
706
- hydrateCommentsFromV2: ({ superdoc, adapter, documentId, trackedChangesListMode, isCurrent, signal, hydrationGeneration, }?: {
707
- trackedChangesListMode?: string | undefined;
708
- }) => Promise<any>;
709
- applyReviewSnapshotFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
710
- supersedeV2ReviewHydration: ({ commentsAdapter, trackedChangesAdapter }?: {}) => {
711
- commentsGeneration: any;
712
- trackedChangesGeneration: any;
713
- };
728
+ applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
714
729
  reconcileCommentsFromV2: ({ superdoc, adapter, documentId, items, preparedInputs, pruneStale, hydrationGeneration, }?: {
715
730
  preparedInputs?: null | undefined;
716
731
  pruneStale?: boolean | undefined;
@@ -724,13 +739,10 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
724
739
  setV2TrackedChangesAdapter: (adapter: any) => void;
725
740
  getV2TrackedChangesAdapter: (superdoc: any) => any;
726
741
  getV2TrackedChangeRowCount: (documentId?: null) => number;
727
- hydrateTrackedChangesFromV2: ({ superdoc, adapter, documentId, trackedChangesListMode, refreshReason, blocking, isCurrent, targetIds, reconciliationBatchSize, signal, hydrationGeneration, }?: {
728
- trackedChangesListMode?: string | undefined;
729
- reconciliationBatchSize?: number | undefined;
730
- }) => Promise<any>;
731
- reconcileTrackedChangeMutationFromV2: ({ superdoc, adapter, documentId, upsertIds, removedIds, allResolved, }?: {
742
+ reconcileTrackedChangeMutationFromV2: ({ superdoc, adapter, documentId, upsertIds, removedIds, remappedPairs, allResolved, }?: {
732
743
  upsertIds?: never[] | undefined;
733
744
  removedIds?: never[] | undefined;
745
+ remappedPairs?: never[] | undefined;
734
746
  }) => Promise<{
735
747
  ok: boolean;
736
748
  reason: string;
@@ -739,7 +751,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
739
751
  unresolvedIds?: undefined;
740
752
  allResolved?: undefined;
741
753
  removedRows?: undefined;
742
- failures?: undefined;
754
+ removedIds?: undefined;
743
755
  } | {
744
756
  ok: boolean;
745
757
  items: never[];
@@ -748,22 +760,13 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
748
760
  allResolved: boolean;
749
761
  removedRows: any;
750
762
  reason?: undefined;
751
- failures?: undefined;
763
+ removedIds?: undefined;
752
764
  } | {
753
765
  ok: boolean;
754
766
  items: never[];
755
767
  resolvedIds: never[];
756
- unresolvedIds: never[];
757
- reason?: undefined;
758
- allResolved?: undefined;
759
- removedRows?: undefined;
760
- failures?: undefined;
761
- } | {
762
- ok: boolean;
763
- items: any[];
764
- resolvedIds: (string | null)[];
765
768
  unresolvedIds: (string | null)[];
766
- failures: any[];
769
+ removedIds: (string | null)[];
767
770
  reason?: undefined;
768
771
  allResolved?: undefined;
769
772
  removedRows?: undefined;
@@ -775,4 +778,4 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
775
778
  liveAnchorKeys?: null | undefined;
776
779
  }) => any;
777
780
  remapTrackedChangeIdentities: (pairs?: any[], { documentId }?: {}) => void;
778
- }, "getCommentAliasIds" | "getTrackedChangeThread" | "getCommentPositionKey" | "getCommentPosition" | "getCommentAnchoredText" | "getCommentAnchorData" | "resolveCommentPositionEntry" | "getCommentDocumentId" | "belongsToDocument" | "init" | "setViewingVisibility" | "getComment" | "setActiveComment" | "getCommentLocation" | "hasOverlapId" | "getPendingComment" | "showAddComment" | "addComment" | "addHydratedComment" | "cancelComment" | "deleteComment" | "removePendingComment" | "cancelImportedTrackedChangeBootstrap" | "removeCommentsForDocument" | "processLoadedDocxComments" | "translateCommentsForExport" | "handleEditorLocationsUpdate" | "clearEditorCommentPositions" | "handleTrackedChangeUpdate" | "refreshTrackedChangeCommentsByIds" | "syncResolvedCommentsWithDocument" | "syncTrackedChangePositionsWithDocument" | "setActiveFloatingCommentInstance" | "requestInstantSidebarAlignment" | "peekInstantSidebarAlignment" | "clearInstantSidebarAlignment" | "syncTrackedChangeComments" | "decideTrackedChangeFromSidebar" | "setV2CommentsAdapter" | "getV2CommentsAdapter" | "hydrateCommentsFromV2" | "applyReviewSnapshotFromV2" | "supersedeV2ReviewHydration" | "reconcileCommentsFromV2" | "isV2EditorActive" | "replyCommentV2" | "editCommentV2" | "resolveCommentV2" | "reopenCommentV2" | "setV2TrackedChangesAdapter" | "getV2TrackedChangesAdapter" | "getV2TrackedChangeRowCount" | "hydrateTrackedChangesFromV2" | "reconcileTrackedChangeMutationFromV2" | "reconcileTrackedChangesFromV2" | "remapTrackedChangeIdentities">>;
781
+ }, "getCommentAliasIds" | "getTrackedChangeThread" | "getCommentPositionKey" | "getCommentPosition" | "getCommentAnchoredText" | "getCommentAnchorData" | "resolveCommentPositionEntry" | "getCommentDocumentId" | "belongsToDocument" | "init" | "setViewingVisibility" | "getComment" | "setActiveComment" | "getCommentLocation" | "hasOverlapId" | "getPendingComment" | "showAddComment" | "addComment" | "addHydratedComment" | "cancelComment" | "deleteComment" | "removePendingComment" | "cancelImportedTrackedChangeBootstrap" | "removeCommentsForDocument" | "setReviewDirectoryFromV2" | "clearReviewDirectory" | "processLoadedDocxComments" | "translateCommentsForExport" | "handleEditorLocationsUpdate" | "clearEditorCommentPositions" | "handleTrackedChangeUpdate" | "refreshTrackedChangeCommentsByIds" | "syncResolvedCommentsWithDocument" | "syncTrackedChangePositionsWithDocument" | "setActiveFloatingCommentInstance" | "requestInstantSidebarAlignment" | "peekInstantSidebarAlignment" | "clearInstantSidebarAlignment" | "syncTrackedChangeComments" | "decideTrackedChangeFromSidebar" | "setV2CommentsAdapter" | "getV2CommentsAdapter" | "applyReviewWindowFromV2" | "reconcileCommentsFromV2" | "isV2EditorActive" | "replyCommentV2" | "editCommentV2" | "resolveCommentV2" | "reopenCommentV2" | "setV2TrackedChangesAdapter" | "getV2TrackedChangesAdapter" | "getV2TrackedChangeRowCount" | "reconcileTrackedChangeMutationFromV2" | "reconcileTrackedChangesFromV2" | "remapTrackedChangeIdentities">>;