superdoc 2.29.0-next.2 → 2.29.0-next.9

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 (151) hide show
  1. package/dist/chunks/{FindReplaceSurface-Dm043CZP.es.js → FindReplaceSurface-BKVHzhQ4.es.js} +34 -26
  2. package/dist/chunks/{FindReplaceSurface-BRs3JrCq.cjs → FindReplaceSurface-BNDrJ6VS.cjs} +34 -26
  3. package/dist/chunks/{PasswordPromptSurface-DGjmN7A-.es.js → PasswordPromptSurface-6mF6Azda.es.js} +6 -4
  4. package/dist/chunks/{PasswordPromptSurface-BpqP4pUa.cjs → PasswordPromptSurface-BNkaztaP.cjs} +6 -4
  5. package/dist/chunks/{PdfViewer-boENOZdF.cjs → PdfViewer-DmSkZehl.cjs} +70 -99
  6. package/dist/chunks/{PdfViewer-D4lVeOJu.es.js → PdfViewer-aOWhUVI7.es.js} +67 -96
  7. package/dist/chunks/{constants-DpXuDx_g.cjs → constants-BeeNZoQp.cjs} +1 -1
  8. package/dist/chunks/{constants-B6VBlmKp.es.js → constants-BvNs_ybI.es.js} +1 -1
  9. package/dist/chunks/{create-super-doc-ui-BFt8agAI.es.js → create-super-doc-ui-Bm5kmx0W.es.js} +12 -29
  10. package/dist/chunks/{create-super-doc-ui-BAGOnYGM.cjs → create-super-doc-ui-DN70aatf.cjs} +17 -28
  11. package/dist/collaboration-upgrade-engine.cjs +1 -1
  12. package/dist/collaboration-upgrade-engine.es.js +1 -1
  13. package/dist/document-api/src/capabilities/html-markdown-support.d.ts +4 -6
  14. package/dist/document-api/src/comments/comments.d.ts +2 -0
  15. package/dist/document-api/src/contract/operation-definitions.d.ts +2 -2
  16. package/dist/document-api/src/contract/operation-registry.d.ts +10 -9
  17. package/dist/document-api/src/index.d.ts +8 -7
  18. package/dist/document-api/src/insert/insert.d.ts +2 -2
  19. package/dist/document-api/src/replace/replace.d.ts +3 -2
  20. package/dist/document-api/src/types/address.d.ts +3 -0
  21. package/dist/document-api/src/types/temporary-mutation.d.ts +5 -1
  22. package/dist/document-api/src/write/write.d.ts +12 -6
  23. package/dist/public/ui-react.cjs +1 -1
  24. package/dist/public/ui-react.es.js +1 -1
  25. package/dist/public/ui-vue.cjs +1 -1
  26. package/dist/public/ui-vue.es.js +1 -1
  27. package/dist/public/ui.cjs +1 -1
  28. package/dist/public/ui.es.js +1 -1
  29. package/dist/style.css +1 -1
  30. package/dist/style.layered.css +1 -1
  31. package/dist/superdoc/src/SuperDoc.vue.d.ts +132 -58
  32. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +35 -1867
  33. package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +3 -4
  34. package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +3 -618
  35. package/dist/superdoc/src/components/CommentsLayer/floating-comment-positioning.d.ts +24 -23
  36. package/dist/superdoc/src/components/CommentsLayer/tracked-change-threading.d.ts +0 -1
  37. package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +28 -13
  38. package/dist/superdoc/src/components/PdfViewer/PdfViewer.vue.d.ts +132 -45
  39. package/dist/superdoc/src/components/PdfViewer/PdfViewerDocument.vue.d.ts +62 -16
  40. package/dist/superdoc/src/components/PdfViewer/PdfViewerPage.vue.d.ts +77 -17
  41. package/dist/superdoc/src/components/PdfViewer/pdf-viewer-types.d.ts +45 -0
  42. package/dist/superdoc/src/components/Whiteboard/WhiteboardLayer.vue.d.ts +81 -16
  43. package/dist/superdoc/src/components/Whiteboard/WhiteboardPage.vue.d.ts +49 -13
  44. package/dist/superdoc/src/components/Whiteboard/use-whiteboard.d.ts +30 -15
  45. package/dist/superdoc/src/components/Whiteboard/whiteboard-types.d.ts +11 -0
  46. package/dist/superdoc/src/components/surfaces/FindReplaceSurface.vue.d.ts +58 -15
  47. package/dist/superdoc/src/components/surfaces/PasswordPromptSurface.vue.d.ts +58 -15
  48. package/dist/superdoc/src/components/surfaces/SurfaceFloating.vue.d.ts +14 -6
  49. package/dist/superdoc/src/components/surfaces/SurfaceHost.vue.d.ts +25 -15
  50. package/dist/superdoc/src/components/surfaces/focusable-selector.d.ts +1 -5
  51. package/dist/superdoc/src/composables/find-shortcut-owner.d.ts +16 -9
  52. package/dist/superdoc/src/composables/replace-continuation.d.ts +11 -15
  53. package/dist/superdoc/src/composables/use-document.d.ts +1210 -30
  54. package/dist/superdoc/src/composables/use-field.d.ts +88 -25
  55. package/dist/superdoc/src/composables/use-password-prompt.d.ts +23 -24
  56. package/dist/superdoc/src/composables/useUiFontFamily.d.ts +3 -11
  57. package/dist/superdoc/src/core/SuperDoc.d.ts +2 -7
  58. package/dist/superdoc/src/core/collaboration/collaboration-comments.d.ts +9 -4
  59. package/dist/superdoc/src/core/collaboration/helpers.d.ts +20 -3
  60. package/dist/superdoc/src/core/collaboration/permissions.d.ts +15 -10
  61. package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +4 -3
  62. package/dist/superdoc/src/core/collaboration/v2-awareness-bridge.d.ts +2 -1
  63. package/dist/superdoc/src/core/config/merge-comments-config.d.ts +1 -5
  64. package/dist/superdoc/src/core/config/merge-defined.d.ts +3 -8
  65. package/dist/superdoc/src/core/config/normalize-hyperlinks-config.d.ts +7 -12
  66. package/dist/superdoc/src/core/config/normalize-surfaces-config.d.ts +9 -12
  67. package/dist/superdoc/src/core/config/normalize-ui-config.d.ts +1 -12
  68. package/dist/superdoc/src/core/create-app.d.ts +13 -24
  69. package/dist/superdoc/src/core/editor-runtime/conformance/fake-v2-runtime.d.ts +2 -1
  70. package/dist/superdoc/src/core/editor-runtime/editor-runtime-registry.d.ts +2 -1
  71. package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -1
  72. package/dist/superdoc/src/core/editor-runtime/types.d.ts +9 -1
  73. package/dist/superdoc/src/core/editor-runtime/v2/v2-editor-runtime-adapter.d.ts +2 -1
  74. package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +1 -1
  75. package/dist/superdoc/src/core/helpers/export.d.ts +3 -2
  76. package/dist/superdoc/src/core/helpers/file.d.ts +8 -45
  77. package/dist/superdoc/src/core/helpers/normalize-track-changes-config.d.ts +6 -60
  78. package/dist/superdoc/src/core/pdf/helpers/constants.d.ts +2 -2
  79. package/dist/superdoc/src/core/pdf/helpers/floor.d.ts +1 -1
  80. package/dist/superdoc/src/core/pdf/helpers/range.d.ts +1 -1
  81. package/dist/superdoc/src/core/pdf/helpers/read-file.d.ts +1 -1
  82. package/dist/superdoc/src/core/pdf/pdf-adapter.d.ts +24 -61
  83. package/dist/superdoc/src/core/superdoc-ui-owner.d.ts +1 -1
  84. package/dist/superdoc/src/core/surface-manager.d.ts +21 -83
  85. package/dist/superdoc/src/core/types/index.d.ts +4 -19
  86. package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +10 -10
  87. package/dist/superdoc/src/core/whiteboard/Whiteboard.d.ts +22 -208
  88. package/dist/superdoc/src/core/whiteboard/WhiteboardPage.d.ts +163 -189
  89. package/dist/superdoc/src/core/whiteboard/helpers/createTextarea.d.ts +14 -1
  90. package/dist/superdoc/src/core/whiteboard/helpers/flattenPoints.d.ts +1 -1
  91. package/dist/superdoc/src/core/whiteboard/helpers/getRandomId.d.ts +1 -1
  92. package/dist/superdoc/src/helpers/comment-focus.d.ts +21 -4
  93. package/dist/superdoc/src/helpers/deprecation.d.ts +5 -11
  94. package/dist/superdoc/src/helpers/interaction-trace.d.ts +7 -24
  95. package/dist/superdoc/src/helpers/mark-raw-component.d.ts +1 -0
  96. package/dist/superdoc/src/helpers/object-guards.d.ts +1 -5
  97. package/dist/superdoc/src/helpers/selection-source.d.ts +1 -1
  98. package/dist/superdoc/src/helpers/use-selection.d.ts +35 -15
  99. package/dist/superdoc/src/icons.d.ts +8 -0
  100. package/dist/superdoc/src/internal/diagnostics/diagnostic-dedupe.d.ts +6 -15
  101. package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +77 -16
  102. package/dist/superdoc/src/internal/toolbar/built-in/AlignmentButtons.vue.d.ts +5 -3
  103. package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +85 -5
  104. package/dist/superdoc/src/internal/toolbar/built-in/DocumentMode.vue.d.ts +20 -6
  105. package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +32 -8
  106. package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +32 -8
  107. package/dist/superdoc/src/internal/toolbar/built-in/IconGrid.vue.d.ts +44 -12
  108. package/dist/superdoc/src/internal/toolbar/built-in/IconGridRow.vue.d.ts +32 -9
  109. package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +1 -1
  110. package/dist/superdoc/src/internal/toolbar/built-in/StyleButtonsList.vue.d.ts +39 -10
  111. package/dist/superdoc/src/internal/toolbar/built-in/TableActions.vue.d.ts +24 -6
  112. package/dist/superdoc/src/internal/toolbar/built-in/TableGrid.vue.d.ts +7 -3
  113. package/dist/superdoc/src/internal/toolbar/built-in/Toolbar.vue.d.ts +9 -3
  114. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +13 -15
  115. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +1 -10
  116. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarSeparator.vue.d.ts +16 -6
  117. package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +10 -20
  118. package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +12 -45
  119. package/dist/superdoc/src/internal/toolbar/built-in/default-items.d.ts +34 -17
  120. package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +2 -2
  121. package/dist/superdoc/src/internal/toolbar/built-in/toolbar-focus-helpers.d.ts +10 -2
  122. package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +67 -0
  123. package/dist/superdoc/src/internal/toolbar/built-in/toolbarTexts.d.ts +61 -61
  124. package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +110 -48
  125. package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +7 -27
  126. package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +4 -3
  127. package/dist/superdoc/src/internal/toolbar/toolbar-item-aliases.d.ts +1 -1
  128. package/dist/superdoc/src/public/browser-document-api.d.ts +5 -4
  129. package/dist/superdoc/src/public/index.d.cts +26 -0
  130. package/dist/superdoc/src/public/index.d.ts +13 -0
  131. package/dist/superdoc/src/public/ui/commands.d.ts +14 -13
  132. package/dist/superdoc/src/public/ui/create-super-doc-ui.d.ts +1 -1
  133. package/dist/superdoc/src/public/ui/entity-at.d.ts +2 -1
  134. package/dist/superdoc/src/public/ui/style-match-patch.d.ts +2 -2
  135. package/dist/superdoc/src/public/ui/types.d.ts +1 -1
  136. package/dist/superdoc/src/stores/comments-store.d.ts +225 -99
  137. package/dist/superdoc/src/stores/helpers/comment-draft-text.d.ts +1 -0
  138. package/dist/superdoc/src/stores/helpers/comment-grouping.d.ts +30 -0
  139. package/dist/superdoc/src/stores/helpers/comment-identity.d.ts +40 -0
  140. package/dist/superdoc/src/stores/helpers/floating-comment-instances.d.ts +48 -13
  141. package/dist/superdoc/src/stores/helpers/tracked-change-identity.d.ts +19 -0
  142. package/dist/superdoc/src/stores/helpers/tracked-change-row-values.d.ts +21 -0
  143. package/dist/superdoc/src/stores/helpers/tracked-change-thread-index.d.ts +21 -24
  144. package/dist/superdoc/src/stores/superdoc-store.d.ts +676 -298
  145. package/dist/superdoc.cjs +1623 -2477
  146. package/dist/superdoc.es.js +1604 -2461
  147. package/dist-cdn/style.layered.css +1 -1
  148. package/dist-cdn/superdoc.min.css +1 -1
  149. package/dist-cdn/superdoc.min.js +42 -42
  150. package/package.json +2 -2
  151. package/dist/superdoc/src/internal/toolbar/index.d.ts +0 -10
@@ -1,25 +1,26 @@
1
- export function normalizeFloatingAnchorTop(top: any): any;
2
- export function isAnchorOutsideFloatingViewport(anchorTop: any, viewportTop: any, viewportBottom: any, anchorBottom?: any): boolean;
3
- export function shouldKeepFloatingCardAtAnchor({ anchorTop, anchorBottom, viewportTop, viewportBottom }: {
4
- anchorTop: any;
5
- anchorBottom: any;
6
- viewportTop: any;
7
- viewportBottom: any;
8
- }): boolean;
9
- export function resolveOffscreenFloatingCardTop({ anchorTop, anchorBottom, cardHeight, viewportTop, viewportBottom, }: {
10
- anchorTop: any;
11
- anchorBottom: any;
12
- cardHeight: any;
13
- viewportTop: any;
14
- viewportBottom: any;
15
- }): any;
16
- export function shouldMountFloatingCommentDialog({ id, visibleIds, activeCommentInstanceId }: {
17
- id: any;
18
- visibleIds: any;
19
- activeCommentInstanceId: any;
20
- }): boolean;
21
- export function resolveRemovedReviewCardContinuityTarget({ previousIds, currentIds, removedId }: {
1
+ type OptionalNumber = number | null | undefined;
2
+ type FloatingAnchorGeometry = {
3
+ anchorTop: OptionalNumber;
4
+ anchorBottom?: OptionalNumber;
5
+ viewportTop: OptionalNumber;
6
+ viewportBottom: OptionalNumber;
7
+ };
8
+ type OffscreenFloatingCardInput = FloatingAnchorGeometry & {
9
+ cardHeight: OptionalNumber;
10
+ };
11
+ type FloatingCommentDialogMountInput = {
12
+ id: string | null | undefined;
13
+ visibleIds?: ReadonlySet<string> | null;
14
+ activeCommentInstanceId?: string | null;
15
+ };
16
+ type RemovedReviewCardContinuityInput = {
22
17
  previousIds: readonly string[];
23
18
  currentIds: ReadonlySet<string>;
24
- removedId: string;
25
- }): string | null;
19
+ removedId: string | null | undefined;
20
+ };
21
+ export declare const isAnchorOutsideFloatingViewport: (anchorTop: OptionalNumber, viewportTop: OptionalNumber, viewportBottom: OptionalNumber, anchorBottom?: OptionalNumber) => boolean;
22
+ export declare const shouldKeepFloatingCardAtAnchor: ({ anchorTop, anchorBottom, viewportTop, viewportBottom, }: FloatingAnchorGeometry) => boolean;
23
+ export declare const resolveOffscreenFloatingCardTop: ({ anchorTop, anchorBottom, cardHeight, viewportTop, viewportBottom, }: OffscreenFloatingCardInput) => number | null;
24
+ export declare const shouldMountFloatingCommentDialog: ({ id, visibleIds, activeCommentInstanceId, }: FloatingCommentDialogMountInput) => boolean;
25
+ export declare const resolveRemovedReviewCardContinuityTarget: ({ previousIds, currentIds, removedId, }: RemovedReviewCardContinuityInput) => string | null;
26
+ export {};
@@ -1,2 +1 @@
1
- export function hasLegacyTrackedChangeThreadSignal(comment: Record<string, any> | null | undefined): boolean;
2
1
  export function trackedChangeThreadParentIdForComment(comment: Record<string, any> | null | undefined): string | number | null;
@@ -149,21 +149,31 @@ export default function useComment(params: UseCommentParams): {
149
149
  isInternal: boolean;
150
150
  commentText: string;
151
151
  selection: {
152
- documentId: any;
153
- page: any;
154
- selectionBounds: any;
152
+ documentId: unknown;
153
+ page: number | undefined;
154
+ selectionBounds: {
155
+ top?: number | undefined;
156
+ left?: number | undefined;
157
+ right?: number | undefined;
158
+ bottom?: number | undefined;
159
+ };
155
160
  getValues: () => {
156
- documentId: any;
157
- page: any;
158
- selectionBounds: any;
159
- source: any;
161
+ documentId: unknown;
162
+ page: number | undefined;
163
+ selectionBounds: {
164
+ top?: number;
165
+ left?: number;
166
+ right?: number;
167
+ bottom?: number;
168
+ };
169
+ source: string | null | undefined;
160
170
  };
161
171
  getContainerId: () => string;
162
- getContainerLocation: (parentContainer: any) => {
172
+ getContainerLocation: (parentContainer: Pick<Element, "getBoundingClientRect"> | null | undefined) => {
163
173
  top: number;
164
174
  left: number;
165
175
  };
166
- source: any;
176
+ source: string | null | undefined;
167
177
  };
168
178
  floatingPosition: {
169
179
  top?: number | undefined;
@@ -253,10 +263,15 @@ export default function useComment(params: UseCommentParams): {
253
263
  isInternal: boolean;
254
264
  commentText: string;
255
265
  selection: {
256
- documentId: any;
257
- page: any;
258
- selectionBounds: any;
259
- source: any;
266
+ documentId: unknown;
267
+ page: number | undefined;
268
+ selectionBounds: {
269
+ top?: number;
270
+ left?: number;
271
+ right?: number;
272
+ bottom?: number;
273
+ };
274
+ source: string | null | undefined;
260
275
  } | null;
261
276
  trackedChange: boolean | undefined;
262
277
  trackedChangeText: string | null;
@@ -1,35 +1,108 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
1
+ import { PropType } from 'vue';
2
+ import { PdfViewerConfig, PdfViewerDocumentData, PdfViewerPageData } from './pdf-viewer-types.js';
3
+ declare function updateScale(nextScale: number): void;
4
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
+ config: {
6
+ type: PropType<PdfViewerConfig>;
7
+ required: true;
8
+ };
9
+ file: {
10
+ type: PropType<Blob | null>;
11
+ required: true;
12
+ };
13
+ fileId: {
14
+ type: StringConstructor;
15
+ };
16
+ /**
17
+ * Zoom scale to render the first paint at (1 = 100%). The host seeds
18
+ * this from `config.zoom.initial` so a PDF never flashes 100% before
19
+ * a watcher catches up; later changes still arrive via updateScale().
20
+ */
21
+ initialScale: {
22
+ type: NumberConstructor;
23
+ default: number;
24
+ };
25
+ }>, {
2
26
  updateScale: typeof updateScale;
3
- $emit: (event: "page-rendered" | "selection-raw" | "bypass-selection" | "pages-loaded" | "document-loaded" | "document-ready" | "document-error", ...args: any[]) => void;
4
- file: Record<string, any>;
5
- config: Record<string, any>;
27
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
28
+ "page-rendered": (...args: any[]) => void;
29
+ "selection-raw": (...args: any[]) => void;
30
+ "bypass-selection": (...args: any[]) => void;
31
+ "pages-loaded": (...args: any[]) => void;
32
+ "document-loaded": (...args: any[]) => void;
33
+ "document-ready": (...args: any[]) => void;
34
+ "document-error": (...args: any[]) => void;
35
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
36
+ config: {
37
+ type: PropType<PdfViewerConfig>;
38
+ required: true;
39
+ };
40
+ file: {
41
+ type: PropType<Blob | null>;
42
+ required: true;
43
+ };
44
+ fileId: {
45
+ type: StringConstructor;
46
+ };
47
+ /**
48
+ * Zoom scale to render the first paint at (1 = 100%). The host seeds
49
+ * this from `config.zoom.initial` so a PDF never flashes 100% before
50
+ * a watcher catches up; later changes still arrive via updateScale().
51
+ */
52
+ initialScale: {
53
+ type: NumberConstructor;
54
+ default: number;
55
+ };
56
+ }>> & Readonly<{
57
+ "onPage-rendered"?: ((...args: any[]) => any) | undefined;
58
+ "onSelection-raw"?: ((...args: any[]) => any) | undefined;
59
+ "onBypass-selection"?: ((...args: any[]) => any) | undefined;
60
+ "onPages-loaded"?: ((...args: any[]) => any) | undefined;
61
+ "onDocument-loaded"?: ((...args: any[]) => any) | undefined;
62
+ "onDocument-ready"?: ((...args: any[]) => any) | undefined;
63
+ "onDocument-error"?: ((...args: any[]) => any) | undefined;
64
+ }>, {
6
65
  initialScale: number;
7
- fileId?: string | undefined;
8
- $props: {
9
- readonly file?: Record<string, any> | undefined;
10
- readonly config?: Record<string, any> | undefined;
11
- readonly initialScale?: number | undefined;
12
- readonly fileId?: string | undefined;
13
- };
14
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
66
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
15
67
  rootRef: HTMLDivElement;
16
- documentRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
17
- $emit: (event: "page-rendered" | "page-error" | "selection-raw" | "bypass-selection" | "page-focus", ...args: any[]) => void;
18
- pages: unknown[];
19
- config: Record<string, any>;
68
+ documentRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
69
+ config: {
70
+ type: PropType<PdfViewerConfig>;
71
+ required: true;
72
+ };
73
+ pdf: {
74
+ type: PropType<PdfViewerDocumentData | null>;
75
+ };
76
+ pages: {
77
+ type: PropType<PdfViewerPageData[]>;
78
+ required: true;
79
+ };
80
+ scale: {
81
+ type: NumberConstructor;
82
+ required: true;
83
+ };
84
+ hasTextLayer: {
85
+ type: BooleanConstructor;
86
+ default: boolean;
87
+ };
88
+ outputScale: {
89
+ type: NumberConstructor;
90
+ };
91
+ }>> & Readonly<{
92
+ "onPage-rendered"?: ((...args: any[]) => any) | undefined;
93
+ "onPage-error"?: ((...args: any[]) => any) | undefined;
94
+ "onSelection-raw"?: ((...args: any[]) => any) | undefined;
95
+ "onBypass-selection"?: ((...args: any[]) => any) | undefined;
96
+ "onPage-focus"?: ((...args: any[]) => any) | undefined;
97
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
98
+ "page-rendered": (...args: any[]) => void;
99
+ "page-error": (...args: any[]) => void;
100
+ "selection-raw": (...args: any[]) => void;
101
+ "bypass-selection": (...args: any[]) => void;
102
+ "page-focus": (...args: any[]) => void;
103
+ }, import('vue').PublicProps, {
20
104
  hasTextLayer: boolean;
21
- scale?: number | undefined;
22
- pdf?: Record<string, any> | undefined;
23
- outputScale?: number | undefined;
24
- $props: {
25
- readonly pages?: unknown[] | undefined;
26
- readonly config?: Record<string, any> | undefined;
27
- readonly hasTextLayer?: boolean | undefined;
28
- readonly scale?: number | undefined;
29
- readonly pdf?: Record<string, any> | undefined;
30
- readonly outputScale?: number | undefined;
31
- };
32
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
105
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
33
106
  documentRef: HTMLDivElement;
34
107
  documentWrapper: HTMLDivElement;
35
108
  }, HTMLDivElement, import('vue').ComponentProvideOptions, {
@@ -39,23 +112,37 @@ declare const _default: import('vue').DefineComponent<{}, {
39
112
  C: {};
40
113
  M: {};
41
114
  Defaults: {};
42
- }, Readonly<{}> & Readonly<{}>, {
43
- $emit: (event: "page-rendered" | "page-error" | "selection-raw" | "bypass-selection" | "page-focus", ...args: any[]) => void;
44
- pages: unknown[];
45
- config: Record<string, any>;
115
+ }, Readonly<import('vue').ExtractPropTypes<{
116
+ config: {
117
+ type: PropType<PdfViewerConfig>;
118
+ required: true;
119
+ };
120
+ pdf: {
121
+ type: PropType<PdfViewerDocumentData | null>;
122
+ };
123
+ pages: {
124
+ type: PropType<PdfViewerPageData[]>;
125
+ required: true;
126
+ };
127
+ scale: {
128
+ type: NumberConstructor;
129
+ required: true;
130
+ };
131
+ hasTextLayer: {
132
+ type: BooleanConstructor;
133
+ default: boolean;
134
+ };
135
+ outputScale: {
136
+ type: NumberConstructor;
137
+ };
138
+ }>> & Readonly<{
139
+ "onPage-rendered"?: ((...args: any[]) => any) | undefined;
140
+ "onPage-error"?: ((...args: any[]) => any) | undefined;
141
+ "onSelection-raw"?: ((...args: any[]) => any) | undefined;
142
+ "onBypass-selection"?: ((...args: any[]) => any) | undefined;
143
+ "onPage-focus"?: ((...args: any[]) => any) | undefined;
144
+ }>, {}, {}, {}, {}, {
46
145
  hasTextLayer: boolean;
47
- scale?: number | undefined;
48
- pdf?: Record<string, any> | undefined;
49
- outputScale?: number | undefined;
50
- $props: {
51
- readonly pages?: unknown[] | undefined;
52
- readonly config?: Record<string, any> | undefined;
53
- readonly hasTextLayer?: boolean | undefined;
54
- readonly scale?: number | undefined;
55
- readonly pdf?: Record<string, any> | undefined;
56
- readonly outputScale?: number | undefined;
57
- };
58
- }, {}, {}, {}, {}> | null;
146
+ }> | null;
59
147
  }, HTMLDivElement>;
60
148
  export default _default;
61
- declare function updateScale(nextScale: any): void;
@@ -1,20 +1,66 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "page-rendered" | "page-error" | "selection-raw" | "bypass-selection" | "page-focus", ...args: any[]) => void;
3
- pages: unknown[];
4
- config: Record<string, any>;
1
+ import { PropType } from 'vue';
2
+ import { PdfViewerConfig, PdfViewerDocumentData, PdfViewerPageData } from './pdf-viewer-types.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ config: {
5
+ type: PropType<PdfViewerConfig>;
6
+ required: true;
7
+ };
8
+ pdf: {
9
+ type: PropType<PdfViewerDocumentData | null>;
10
+ };
11
+ pages: {
12
+ type: PropType<PdfViewerPageData[]>;
13
+ required: true;
14
+ };
15
+ scale: {
16
+ type: NumberConstructor;
17
+ required: true;
18
+ };
19
+ hasTextLayer: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ outputScale: {
24
+ type: NumberConstructor;
25
+ };
26
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
27
+ "page-rendered": (...args: any[]) => void;
28
+ "page-error": (...args: any[]) => void;
29
+ "selection-raw": (...args: any[]) => void;
30
+ "bypass-selection": (...args: any[]) => void;
31
+ "page-focus": (...args: any[]) => void;
32
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
33
+ config: {
34
+ type: PropType<PdfViewerConfig>;
35
+ required: true;
36
+ };
37
+ pdf: {
38
+ type: PropType<PdfViewerDocumentData | null>;
39
+ };
40
+ pages: {
41
+ type: PropType<PdfViewerPageData[]>;
42
+ required: true;
43
+ };
44
+ scale: {
45
+ type: NumberConstructor;
46
+ required: true;
47
+ };
48
+ hasTextLayer: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
52
+ outputScale: {
53
+ type: NumberConstructor;
54
+ };
55
+ }>> & Readonly<{
56
+ "onPage-rendered"?: ((...args: any[]) => any) | undefined;
57
+ "onPage-error"?: ((...args: any[]) => any) | undefined;
58
+ "onSelection-raw"?: ((...args: any[]) => any) | undefined;
59
+ "onBypass-selection"?: ((...args: any[]) => any) | undefined;
60
+ "onPage-focus"?: ((...args: any[]) => any) | undefined;
61
+ }>, {
5
62
  hasTextLayer: boolean;
6
- scale?: number | undefined;
7
- pdf?: Record<string, any> | undefined;
8
- outputScale?: number | undefined;
9
- $props: {
10
- readonly pages?: unknown[] | undefined;
11
- readonly config?: Record<string, any> | undefined;
12
- readonly hasTextLayer?: boolean | undefined;
13
- readonly scale?: number | undefined;
14
- readonly pdf?: Record<string, any> | undefined;
15
- readonly outputScale?: number | undefined;
16
- };
17
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
63
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
18
64
  documentRef: HTMLDivElement;
19
65
  documentWrapper: HTMLDivElement;
20
66
  }, HTMLDivElement>;
@@ -1,22 +1,82 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "page-rendered" | "page-error" | "text-layer-rendered" | "text-layer-error" | "selection-raw" | "bypass-selection", ...args: any[]) => void;
3
- page: Record<string, any>;
4
- pages: unknown[];
5
- config: Record<string, any>;
6
- scale: number;
1
+ import { PropType } from 'vue';
2
+ import { PdfViewerConfig, PdfViewerPageData } from './pdf-viewer-types.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ config: {
5
+ type: PropType<PdfViewerConfig>;
6
+ required: true;
7
+ };
8
+ page: {
9
+ type: PropType<PdfViewerPageData>;
10
+ required: true;
11
+ };
12
+ pages: {
13
+ type: PropType<PdfViewerPageData[]>;
14
+ required: true;
15
+ };
16
+ scale: {
17
+ type: NumberConstructor;
18
+ required: true;
19
+ };
20
+ hasTextLayer: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
24
+ outputScale: {
25
+ type: NumberConstructor;
26
+ default: number;
27
+ };
28
+ documentEl: {
29
+ type: PropType<HTMLElement | null>;
30
+ default: null;
31
+ };
32
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
33
+ "page-rendered": (...args: any[]) => void;
34
+ "page-error": (...args: any[]) => void;
35
+ "text-layer-rendered": (...args: any[]) => void;
36
+ "text-layer-error": (...args: any[]) => void;
37
+ "selection-raw": (...args: any[]) => void;
38
+ "bypass-selection": (...args: any[]) => void;
39
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
40
+ config: {
41
+ type: PropType<PdfViewerConfig>;
42
+ required: true;
43
+ };
44
+ page: {
45
+ type: PropType<PdfViewerPageData>;
46
+ required: true;
47
+ };
48
+ pages: {
49
+ type: PropType<PdfViewerPageData[]>;
50
+ required: true;
51
+ };
52
+ scale: {
53
+ type: NumberConstructor;
54
+ required: true;
55
+ };
56
+ hasTextLayer: {
57
+ type: BooleanConstructor;
58
+ default: boolean;
59
+ };
60
+ outputScale: {
61
+ type: NumberConstructor;
62
+ default: number;
63
+ };
64
+ documentEl: {
65
+ type: PropType<HTMLElement | null>;
66
+ default: null;
67
+ };
68
+ }>> & Readonly<{
69
+ "onPage-rendered"?: ((...args: any[]) => any) | undefined;
70
+ "onPage-error"?: ((...args: any[]) => any) | undefined;
71
+ "onText-layer-rendered"?: ((...args: any[]) => any) | undefined;
72
+ "onText-layer-error"?: ((...args: any[]) => any) | undefined;
73
+ "onSelection-raw"?: ((...args: any[]) => any) | undefined;
74
+ "onBypass-selection"?: ((...args: any[]) => any) | undefined;
75
+ }>, {
7
76
  hasTextLayer: boolean;
8
77
  outputScale: number;
9
- documentEl: Record<string, any>;
10
- $props: {
11
- readonly page?: Record<string, any> | undefined;
12
- readonly pages?: unknown[] | undefined;
13
- readonly config?: Record<string, any> | undefined;
14
- readonly scale?: number | undefined;
15
- readonly hasTextLayer?: boolean | undefined;
16
- readonly outputScale?: number | undefined;
17
- readonly documentEl?: Record<string, any> | undefined;
18
- };
19
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
78
+ documentEl: HTMLElement | null;
79
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
20
80
  pageRef: HTMLDivElement;
21
81
  canvasRef: HTMLCanvasElement;
22
82
  textLayerRef: HTMLDivElement;
@@ -0,0 +1,45 @@
1
+ import { Raw } from 'vue';
2
+ import { PDFDocumentProxy, PDFPageProxy, TextLayer } from 'pdfjs-dist';
3
+ export type PdfViewerLib = {
4
+ TextLayer?: typeof TextLayer;
5
+ };
6
+ export type PdfViewerConfig = {
7
+ pdfLib?: PdfViewerLib;
8
+ workerSrc?: string;
9
+ setWorker?: boolean;
10
+ textLayer?: boolean;
11
+ outputScale?: number;
12
+ };
13
+ export type PdfViewerDocumentData = {
14
+ documentId: string;
15
+ pdfjsDocument: Raw<PDFDocumentProxy>;
16
+ };
17
+ export type PdfViewerPageData = {
18
+ documentId: string;
19
+ pageId: string;
20
+ pageNumber: number;
21
+ pageIsRendered: boolean;
22
+ pdfjsPage: Raw<PDFPageProxy>;
23
+ };
24
+ export type PdfPageRenderedPayload = {
25
+ page: PdfViewerPageData;
26
+ documentId: string;
27
+ pageIndex: number;
28
+ pageNumber: number;
29
+ width: number;
30
+ height: number;
31
+ originalWidth: number;
32
+ originalHeight: number;
33
+ };
34
+ export type PdfSelectionBounds = {
35
+ top: number;
36
+ left: number;
37
+ bottom: number;
38
+ right: number;
39
+ };
40
+ export type PdfSelectionRawPayload = {
41
+ selectionBounds: PdfSelectionBounds;
42
+ documentId: string;
43
+ page: number;
44
+ source: 'pdf';
45
+ };
@@ -1,19 +1,84 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
1
+ import { PropType } from 'vue';
2
+ import { WhiteboardPage as WhiteboardPageModel } from '../../core/whiteboard/WhiteboardPage.js';
3
+ import { WhiteboardDropTarget, WhiteboardPageOffset, WhiteboardPageSize } from './whiteboard-types.js';
4
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
+ whiteboard: {
6
+ type: PropType<WhiteboardDropTarget>;
7
+ required: true;
8
+ };
9
+ pages: {
10
+ type: PropType<WhiteboardPageModel[]>;
11
+ default: () => never[];
12
+ };
13
+ pageSizes: {
14
+ type: PropType<Record<number, WhiteboardPageSize>>;
15
+ default: () => {};
16
+ };
17
+ pageOffsets: {
18
+ type: PropType<Record<number, WhiteboardPageOffset>>;
19
+ default: () => {};
20
+ };
21
+ enabled: {
22
+ type: BooleanConstructor;
23
+ default: boolean;
24
+ };
25
+ /**
26
+ * Pointer ownership flag, separate from `enabled` (which controls show + Konva
27
+ * interactivity). When the whiteboard surface overlays a PDF, the host passes
28
+ * `interactive` so a visible-but-inert whiteboard layer never swallows PDF text
29
+ * selection or PDF comment selection. Defaults to `enabled` to preserve the
30
+ * legacy single-flag behavior when a host does not provide an explicit value.
31
+ */
32
+ interactive: {
33
+ type: PropType<boolean | null>;
34
+ default: null;
35
+ };
36
+ opacity: {
37
+ type: NumberConstructor;
38
+ default: number;
39
+ };
40
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
41
+ whiteboard: {
42
+ type: PropType<WhiteboardDropTarget>;
43
+ required: true;
44
+ };
45
+ pages: {
46
+ type: PropType<WhiteboardPageModel[]>;
47
+ default: () => never[];
48
+ };
49
+ pageSizes: {
50
+ type: PropType<Record<number, WhiteboardPageSize>>;
51
+ default: () => {};
52
+ };
53
+ pageOffsets: {
54
+ type: PropType<Record<number, WhiteboardPageOffset>>;
55
+ default: () => {};
56
+ };
57
+ enabled: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ /**
62
+ * Pointer ownership flag, separate from `enabled` (which controls show + Konva
63
+ * interactivity). When the whiteboard surface overlays a PDF, the host passes
64
+ * `interactive` so a visible-but-inert whiteboard layer never swallows PDF text
65
+ * selection or PDF comment selection. Defaults to `enabled` to preserve the
66
+ * legacy single-flag behavior when a host does not provide an explicit value.
67
+ */
68
+ interactive: {
69
+ type: PropType<boolean | null>;
70
+ default: null;
71
+ };
72
+ opacity: {
73
+ type: NumberConstructor;
74
+ default: number;
75
+ };
76
+ }>> & Readonly<{}>, {
2
77
  enabled: boolean;
3
78
  opacity: number;
4
- pages: unknown[];
5
- whiteboard: Record<string, any>;
6
- pageSizes: Record<string, any>;
7
- pageOffsets: Record<string, any>;
8
- interactive: boolean;
9
- $props: {
10
- readonly enabled?: boolean | undefined;
11
- readonly opacity?: number | undefined;
12
- readonly pages?: unknown[] | undefined;
13
- readonly whiteboard?: Record<string, any> | undefined;
14
- readonly pageSizes?: Record<string, any> | undefined;
15
- readonly pageOffsets?: Record<string, any> | undefined;
16
- readonly interactive?: boolean | undefined;
17
- };
18
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
79
+ pages: WhiteboardPageModel[];
80
+ pageSizes: Record<number, WhiteboardPageSize>;
81
+ pageOffsets: Record<number, WhiteboardPageOffset>;
82
+ interactive: boolean | null;
83
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
19
84
  export default _default;