@vue-pdf-viewer/viewer 3.0.0-alpha.3 → 3.0.0-alpha.30

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 (187) hide show
  1. package/dist/annotation-font-Dz5-utxy.js +21 -0
  2. package/dist/annotation-font-style-italic-DrQU7N-a.js +21 -0
  3. package/dist/annotation-font-style-underline-D7zPcuK6.js +21 -0
  4. package/dist/annotation-font-weight-bold-Ba2Ix8G4.js +23 -0
  5. package/dist/index.js +16150 -13316
  6. package/dist/index.umd.cjs +23 -22
  7. package/dist/types/assets/pdf-annotations/index.d.ts +2 -0
  8. package/dist/types/components/AppButton.vue.d.ts +18 -0
  9. package/dist/types/components/AppFormControl.vue.d.ts +30 -0
  10. package/dist/types/components/AppIcon.vue.d.ts +15 -0
  11. package/dist/types/components/AppInput.vue.d.ts +12 -0
  12. package/dist/types/components/AppLoader.vue.d.ts +19 -0
  13. package/dist/types/components/AppPopover.vue.d.ts +93 -0
  14. package/dist/types/components/AppTooltip.vue.d.ts +34 -0
  15. package/dist/types/components/ColorButton.vue.d.ts +15 -0
  16. package/dist/types/components/DragFileMask.vue.d.ts +55 -0
  17. package/dist/types/components/FreeTextPanel.vue.d.ts +2 -0
  18. package/dist/types/components/FreeTextPanelFontColors.vue.d.ts +2 -0
  19. package/dist/types/components/FreeTextPanelFontFamilySelector.vue.d.ts +2 -0
  20. package/dist/types/components/FreeTextPanelFontSizeSelector.vue.d.ts +2 -0
  21. package/dist/types/components/FreeTextPanelTextStyle.vue.d.ts +2 -0
  22. package/dist/types/components/HighlightColorPicker.vue.d.ts +2 -0
  23. package/dist/types/components/LayerAnnotation.vue.d.ts +47 -0
  24. package/dist/types/components/LayerAnnotationEditor.vue.d.ts +26 -0
  25. package/dist/types/components/LayerAnnotationEditorFreeText.vue.d.ts +37 -0
  26. package/dist/types/components/LayerAnnotationEditorFreeTextItem.vue.d.ts +33 -0
  27. package/dist/types/components/LayerAnnotationEditorHighlight.vue.d.ts +37 -0
  28. package/dist/types/components/LayerAnnotationEditorHighlightItem.vue.d.ts +26 -0
  29. package/dist/types/components/LayerAnnotationEditorImage.vue.d.ts +28 -0
  30. package/dist/types/components/LayerAnnotationStampResizer.vue.d.ts +28 -0
  31. package/dist/types/components/LayerCanvas.vue.d.ts +25 -0
  32. package/dist/types/components/LayerText.vue.d.ts +30 -0
  33. package/dist/types/components/LayerTextHighlight.vue.d.ts +20 -0
  34. package/dist/types/components/LayerTextSearchHighlight.vue.d.ts +19 -0
  35. package/dist/types/components/LayerXFA.vue.d.ts +23 -0
  36. package/dist/types/components/ModalPassword.vue.d.ts +19 -0
  37. package/dist/types/components/ModalPdfProperties.vue.d.ts +18 -0
  38. package/dist/types/components/ModalPrintLoadingProgress.vue.d.ts +20 -0
  39. package/dist/types/components/Signatures.vue.d.ts +2 -0
  40. package/dist/types/components/SwitchAppearance.vue.d.ts +23 -0
  41. package/dist/types/components/ToolCommentPanel.vue.d.ts +31 -0
  42. package/dist/types/components/ToolDownload.vue.d.ts +21 -0
  43. package/dist/types/components/ToolFullscreen.vue.d.ts +22 -0
  44. package/dist/types/components/ToolMenuOthers.vue.d.ts +88 -0
  45. package/dist/types/components/ToolMenuOthersMobile.vue.d.ts +21 -0
  46. package/dist/types/components/ToolOpenFile.vue.d.ts +21 -0
  47. package/dist/types/components/ToolOpenFileInput.vue.d.ts +11 -0
  48. package/dist/types/components/ToolPagination.vue.d.ts +68 -0
  49. package/dist/types/components/ToolPrint.vue.d.ts +35 -0
  50. package/dist/types/components/ToolSearch.vue.d.ts +73 -0
  51. package/dist/types/components/ToolThumbnail.vue.d.ts +43 -0
  52. package/dist/types/components/ToolZoom.vue.d.ts +55 -0
  53. package/dist/types/components/ToolZoomPercentageMenu.vue.d.ts +25 -0
  54. package/dist/types/components/VPdfComments.vue.d.ts +28 -0
  55. package/dist/types/components/VPdfCommentsDate.vue.d.ts +15 -0
  56. package/dist/types/components/VPdfCommentsHeader.vue.d.ts +16 -0
  57. package/dist/types/components/VPdfCommentsIcon.vue.d.ts +16 -0
  58. package/dist/types/components/VPdfCommentsReplies.vue.d.ts +16 -0
  59. package/dist/types/components/VPdfCommentsSidebar.vue.d.ts +15 -0
  60. package/dist/types/components/VPdfCommentsText.vue.d.ts +2 -0
  61. package/dist/types/components/VPdfPage.vue.d.ts +44 -0
  62. package/dist/types/components/VPdfSplitter.vue.d.ts +2 -0
  63. package/dist/types/components/VPdfThumbnail.vue.d.ts +26 -0
  64. package/dist/types/components/VPdfThumbnails.vue.d.ts +22 -0
  65. package/dist/types/components/VPdfViewer.vue.d.ts +606 -0
  66. package/dist/types/components/index.d.ts +4 -0
  67. package/dist/types/components/ui/button/Button.vue.d.ts +52 -0
  68. package/dist/types/components/ui/button/index.d.ts +7 -0
  69. package/dist/types/components/ui/checkbox/Checkbox.vue.d.ts +35 -0
  70. package/dist/types/components/ui/checkbox/index.d.ts +1 -0
  71. package/dist/types/components/ui/collapsible/Collapsible.vue.d.ts +30 -0
  72. package/dist/types/components/ui/collapsible/CollapsibleContent.vue.d.ts +28 -0
  73. package/dist/types/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +28 -0
  74. package/dist/types/components/ui/collapsible/index.d.ts +3 -0
  75. package/dist/types/components/ui/dialog/Dialog.vue.d.ts +28 -0
  76. package/dist/types/components/ui/dialog/DialogClose.vue.d.ts +28 -0
  77. package/dist/types/components/ui/dialog/DialogContent.vue.d.ts +35 -0
  78. package/dist/types/components/ui/dialog/DialogDescription.vue.d.ts +35 -0
  79. package/dist/types/components/ui/dialog/DialogFooter.vue.d.ts +34 -0
  80. package/dist/types/components/ui/dialog/DialogHeader.vue.d.ts +34 -0
  81. package/dist/types/components/ui/dialog/DialogTitle.vue.d.ts +35 -0
  82. package/dist/types/components/ui/dialog/DialogTrigger.vue.d.ts +28 -0
  83. package/dist/types/components/ui/dialog/index.d.ts +8 -0
  84. package/dist/types/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +28 -0
  85. package/dist/types/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +35 -0
  86. package/dist/types/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +52 -0
  87. package/dist/types/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +28 -0
  88. package/dist/types/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +41 -0
  89. package/dist/types/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +38 -0
  90. package/dist/types/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +28 -0
  91. package/dist/types/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +38 -0
  92. package/dist/types/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +17 -0
  93. package/dist/types/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +34 -0
  94. package/dist/types/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +28 -0
  95. package/dist/types/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +35 -0
  96. package/dist/types/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +35 -0
  97. package/dist/types/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +28 -0
  98. package/dist/types/components/ui/dropdown-menu/index.d.ts +15 -0
  99. package/dist/types/components/ui/input/Input.vue.d.ts +16 -0
  100. package/dist/types/components/ui/input/index.d.ts +7 -0
  101. package/dist/types/components/ui/popover/Popover.vue.d.ts +28 -0
  102. package/dist/types/components/ui/popover/PopoverContent.vue.d.ts +64 -0
  103. package/dist/types/components/ui/popover/PopoverTrigger.vue.d.ts +28 -0
  104. package/dist/types/components/ui/popover/index.d.ts +3 -0
  105. package/dist/types/components/ui/progress/Progress.vue.d.ts +28 -0
  106. package/dist/types/components/ui/progress/index.d.ts +1 -0
  107. package/dist/types/components/ui/select/Select.vue.d.ts +28 -0
  108. package/dist/types/components/ui/select/SelectContent.vue.d.ts +55 -0
  109. package/dist/types/components/ui/select/SelectGroup.vue.d.ts +35 -0
  110. package/dist/types/components/ui/select/SelectItem.vue.d.ts +35 -0
  111. package/dist/types/components/ui/select/SelectItemText.vue.d.ts +28 -0
  112. package/dist/types/components/ui/select/SelectLabel.vue.d.ts +35 -0
  113. package/dist/types/components/ui/select/SelectScrollDownButton.vue.d.ts +35 -0
  114. package/dist/types/components/ui/select/SelectScrollUpButton.vue.d.ts +35 -0
  115. package/dist/types/components/ui/select/SelectSeparator.vue.d.ts +17 -0
  116. package/dist/types/components/ui/select/SelectTrigger.vue.d.ts +35 -0
  117. package/dist/types/components/ui/select/SelectValue.vue.d.ts +28 -0
  118. package/dist/types/components/ui/select/index.d.ts +11 -0
  119. package/dist/types/components/ui/toast/Toast.vue.d.ts +28 -0
  120. package/dist/types/components/ui/toast/ToastAction.vue.d.ts +35 -0
  121. package/dist/types/components/ui/toast/ToastClose.vue.d.ts +17 -0
  122. package/dist/types/components/ui/toast/ToastDescription.vue.d.ts +35 -0
  123. package/dist/types/components/ui/toast/ToastProvider.vue.d.ts +28 -0
  124. package/dist/types/components/ui/toast/ToastTitle.vue.d.ts +35 -0
  125. package/dist/types/components/ui/toast/ToastViewport.vue.d.ts +17 -0
  126. package/dist/types/components/ui/toast/Toaster.vue.d.ts +2 -0
  127. package/dist/types/components/ui/toast/index.d.ts +21 -0
  128. package/dist/types/components/ui/toast/use-toast.d.ts +272 -0
  129. package/dist/types/components/ui/tooltip/Tooltip.vue.d.ts +28 -0
  130. package/dist/types/components/ui/tooltip/TooltipContent.vue.d.ts +52 -0
  131. package/dist/types/components/ui/tooltip/TooltipProvider.vue.d.ts +28 -0
  132. package/dist/types/components/ui/tooltip/TooltipTrigger.vue.d.ts +28 -0
  133. package/dist/types/components/ui/tooltip/index.d.ts +4 -0
  134. package/dist/types/components/utils/annotations.d.ts +5 -0
  135. package/dist/types/components/utils/destination.d.ts +7 -0
  136. package/dist/types/components/utils/helpers.d.ts +2 -0
  137. package/dist/types/components/utils/link_service.d.ts +71 -0
  138. package/dist/types/components/utils/sanitizeExternalURL.d.ts +1 -0
  139. package/dist/types/composables/__mocks__/useLicense.d.ts +12 -0
  140. package/dist/types/composables/useAnnotationDrag.d.ts +72 -0
  141. package/dist/types/composables/useAnnotationFreeText.d.ts +1542 -0
  142. package/dist/types/composables/useAnnotationHighlight.d.ts +389 -0
  143. package/dist/types/composables/useAnnotationStamp.d.ts +513 -0
  144. package/dist/types/composables/useAnnotationStorage.d.ts +72 -0
  145. package/dist/types/composables/useCommandHistory.d.ts +6 -0
  146. package/dist/types/composables/useDownload.d.ts +13 -0
  147. package/dist/types/composables/useHighlight.d.ts +11 -0
  148. package/dist/types/composables/useLicense.d.ts +22 -0
  149. package/dist/types/composables/usePdf.d.ts +28 -0
  150. package/dist/types/composables/usePdfComments.d.ts +5 -0
  151. package/dist/types/composables/usePdfPagesSizes.d.ts +8 -0
  152. package/dist/types/composables/usePdfProperties.d.ts +10 -0
  153. package/dist/types/composables/usePinch.d.ts +3 -0
  154. package/dist/types/composables/usePlugins.d.ts +252 -0
  155. package/dist/types/composables/usePrintControl.d.ts +22 -0
  156. package/dist/types/composables/usePrintProcess.d.ts +8 -0
  157. package/dist/types/composables/useRenderQueue.d.ts +13 -0
  158. package/dist/types/composables/useRequestAnimationFrame.d.ts +1 -0
  159. package/dist/types/composables/useRotation.d.ts +7 -0
  160. package/dist/types/composables/useScale.d.ts +21 -0
  161. package/dist/types/composables/useSearch.d.ts +5 -0
  162. package/dist/types/composables/useTextLayers.d.ts +5 -0
  163. package/dist/types/composables/useVirtualPages.d.ts +32 -0
  164. package/dist/types/composables/useVisibilities.d.ts +9 -0
  165. package/dist/types/const.d.ts +151 -0
  166. package/dist/types/index.d.ts +8 -0
  167. package/dist/types/utils/annotation-command.d.ts +18 -0
  168. package/dist/types/utils/annotation-display.d.ts +28 -0
  169. package/dist/types/utils/annotation-free-text.d.ts +3 -0
  170. package/dist/types/utils/annotation-highlight.d.ts +100 -0
  171. package/dist/types/utils/annotation-image.d.ts +111 -0
  172. package/dist/types/utils/annotation-pdf.d.ts +35 -0
  173. package/dist/types/utils/appConsole.d.ts +24 -0
  174. package/dist/types/utils/characters.d.ts +16 -0
  175. package/dist/types/utils/color.d.ts +4 -0
  176. package/dist/types/utils/convertPDFDate.d.ts +1 -0
  177. package/dist/types/utils/enumerators.d.ts +81 -0
  178. package/dist/types/utils/highlight.d.ts +8 -0
  179. package/dist/types/utils/historyManager.d.ts +55 -0
  180. package/dist/types/utils/promiseWithResolvers.d.ts +7 -0
  181. package/dist/types/utils/searchHighlight.d.ts +10 -0
  182. package/dist/types/utils/smoothScroll.d.ts +2 -0
  183. package/dist/types/utils/types.d.ts +741 -0
  184. package/dist/types/utils/uiViewer.d.ts +4 -0
  185. package/dist/types/utils/validators.d.ts +26 -0
  186. package/dist/types/utils.d.ts +21 -0
  187. package/package.json +7 -7
@@ -0,0 +1,513 @@
1
+ import { AnnotationStamp } from '@/utils/types';
2
+ import { AnnotationLayer, type PDFPageProxy } from 'pdfjs-dist';
3
+ import { Ref } from 'vue';
4
+ /**
5
+ * Custom event system for stamp annotations
6
+ * This decouples stamp annotation updates from the global renderTrigger
7
+ */
8
+ interface StampAnnotationEvent {
9
+ type: 'add' | 'update' | 'remove';
10
+ annotation: AnnotationStamp;
11
+ pageIndex: number;
12
+ }
13
+ export declare const stampEventEmitter: {
14
+ listeners: Set<(event: StampAnnotationEvent) => void>;
15
+ emit(event: StampAnnotationEvent): void;
16
+ subscribe(listener: (event: StampAnnotationEvent) => void): () => boolean;
17
+ };
18
+ /**
19
+ * useAnnotationStamp - Extract bitmap data from stamp annotations with ImageManager
20
+ *
21
+ * PDF.js Canvas Flow:
22
+ * 1. pdf_page_view.draw() creates empty annotationCanvasMap
23
+ * 2. During rendering, CanvasGraphics.beginAnnotation() creates canvases for hasOwnCanvas annotations
24
+ * 3. annotationCanvasMap.set(id, canvas) stores canvas by annotation ID
25
+ * 4. AnnotationLayer.#setAnnotationCanvasMap() inserts canvases into DOM
26
+ * 5. We extract bitmaps using AnnotationImageManager for proper memory management
27
+ */
28
+ interface UseAnnotationStampProps {
29
+ page: Ref<PDFPageProxy>;
30
+ annotationLayer: Ref<AnnotationLayer>;
31
+ }
32
+ export declare const useAnnotationStamp: (props: UseAnnotationStampProps) => {
33
+ stampAnnotations: Ref<{
34
+ hasOwnCanvas: boolean;
35
+ originalAnnotation?: any;
36
+ pageIndex?: number | undefined;
37
+ elementRect?: {
38
+ left: number;
39
+ top: number;
40
+ width: number;
41
+ height: number;
42
+ } | undefined;
43
+ bitmapId?: string | undefined;
44
+ bitmap?: {
45
+ readonly colorSpace: PredefinedColorSpace;
46
+ readonly data: {
47
+ [x: number]: number;
48
+ readonly BYTES_PER_ELEMENT: number;
49
+ readonly buffer: {
50
+ readonly byteLength: number;
51
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
52
+ readonly [Symbol.toStringTag]: string;
53
+ } | {
54
+ readonly byteLength: number;
55
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
56
+ readonly [Symbol.species]: SharedArrayBuffer;
57
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
58
+ };
59
+ readonly byteLength: number;
60
+ readonly byteOffset: number;
61
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
62
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
63
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
64
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
65
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
66
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
67
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
68
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
69
+ join: (separator?: string | undefined) => string;
70
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
71
+ readonly length: number;
72
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
73
+ reduce: {
74
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
75
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
76
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
77
+ };
78
+ reduceRight: {
79
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
80
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
81
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
82
+ };
83
+ reverse: () => Uint8ClampedArray;
84
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
85
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
86
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
87
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
88
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
89
+ toLocaleString: () => string;
90
+ toString: () => string;
91
+ valueOf: () => Uint8ClampedArray;
92
+ entries: () => IterableIterator<[number, number]>;
93
+ keys: () => IterableIterator<number>;
94
+ values: () => IterableIterator<number>;
95
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
96
+ at: (index: number) => number | undefined;
97
+ [Symbol.iterator]: () => IterableIterator<number>;
98
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
99
+ };
100
+ readonly height: number;
101
+ readonly width: number;
102
+ } | undefined;
103
+ width?: number | undefined;
104
+ height?: number | undefined;
105
+ isSvg?: boolean | undefined;
106
+ annotationType: number;
107
+ color?: {
108
+ [x: number]: number;
109
+ readonly BYTES_PER_ELEMENT: number;
110
+ readonly buffer: {
111
+ readonly byteLength: number;
112
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
113
+ readonly [Symbol.toStringTag]: string;
114
+ } | {
115
+ readonly byteLength: number;
116
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
117
+ readonly [Symbol.species]: SharedArrayBuffer;
118
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
119
+ };
120
+ readonly byteLength: number;
121
+ readonly byteOffset: number;
122
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
123
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
124
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
125
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
126
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
127
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
128
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
129
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
130
+ join: (separator?: string | undefined) => string;
131
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
132
+ readonly length: number;
133
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
134
+ reduce: {
135
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
136
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
137
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
138
+ };
139
+ reduceRight: {
140
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
141
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
142
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
143
+ };
144
+ reverse: () => Uint8ClampedArray;
145
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
146
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
147
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
148
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
149
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
150
+ toLocaleString: () => string;
151
+ toString: () => string;
152
+ valueOf: () => Uint8ClampedArray;
153
+ entries: () => IterableIterator<[number, number]>;
154
+ keys: () => IterableIterator<number>;
155
+ values: () => IterableIterator<number>;
156
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
157
+ at: (index: number) => number | undefined;
158
+ [Symbol.iterator]: () => IterableIterator<number>;
159
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
160
+ } | undefined;
161
+ dest: string | [number | {
162
+ gen: number;
163
+ num: number;
164
+ }, {
165
+ name: string;
166
+ }, ...any[]];
167
+ hasAppearance: boolean;
168
+ id: string;
169
+ rect: number[];
170
+ subtype: string;
171
+ borderStyle: {
172
+ dashArray: number[];
173
+ horizontalCornerRadius: number;
174
+ style: number;
175
+ verticalCornerRadius: number;
176
+ width: number;
177
+ };
178
+ hasPopup?: boolean | undefined;
179
+ contents?: string | undefined;
180
+ contentsObj?: {
181
+ dir: string;
182
+ str: string;
183
+ } | undefined;
184
+ modificationDate?: string | undefined;
185
+ quadPoints?: any[] | undefined;
186
+ title?: string | undefined;
187
+ titleObj?: {
188
+ dir: string;
189
+ str: string;
190
+ } | undefined;
191
+ parentId?: string | undefined;
192
+ parentType?: string | undefined;
193
+ file?: {
194
+ content: {
195
+ [x: number]: number;
196
+ readonly BYTES_PER_ELEMENT: number;
197
+ readonly buffer: {
198
+ readonly byteLength: number;
199
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
200
+ readonly [Symbol.toStringTag]: string;
201
+ } | {
202
+ readonly byteLength: number;
203
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
204
+ readonly [Symbol.species]: SharedArrayBuffer;
205
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
206
+ };
207
+ readonly byteLength: number;
208
+ readonly byteOffset: number;
209
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8Array;
210
+ every: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
211
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8Array;
212
+ filter: (predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array;
213
+ find: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined;
214
+ findIndex: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number;
215
+ forEach: (callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void;
216
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
217
+ join: (separator?: string | undefined) => string;
218
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
219
+ readonly length: number;
220
+ map: (callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array;
221
+ reduce: {
222
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
223
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
224
+ <U_2>(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: Uint8Array) => U_2, initialValue: U_2): U_2;
225
+ };
226
+ reduceRight: {
227
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
228
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
229
+ <U_3>(callbackfn: (previousValue: U_3, currentValue: number, currentIndex: number, array: Uint8Array) => U_3, initialValue: U_3): U_3;
230
+ };
231
+ reverse: () => Uint8Array;
232
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
233
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8Array;
234
+ some: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
235
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array;
236
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8Array;
237
+ toLocaleString: () => string;
238
+ toString: () => string;
239
+ valueOf: () => Uint8Array;
240
+ entries: () => IterableIterator<[number, number]>;
241
+ keys: () => IterableIterator<number>;
242
+ values: () => IterableIterator<number>;
243
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
244
+ at: (index: number) => number | undefined;
245
+ [Symbol.iterator]: () => IterableIterator<number>;
246
+ readonly [Symbol.toStringTag]: "Uint8Array";
247
+ };
248
+ filename: string;
249
+ } | undefined;
250
+ inkLists?: {
251
+ x: number;
252
+ y: number;
253
+ }[][] | undefined;
254
+ lineCoordinates: number[];
255
+ action?: string | undefined;
256
+ unsafeUrl?: string | undefined;
257
+ url?: string | undefined;
258
+ newWindow?: boolean | undefined;
259
+ vertices?: {
260
+ x: number;
261
+ y: number;
262
+ }[] | undefined;
263
+ name?: string | undefined;
264
+ fieldType: string;
265
+ pushButton: boolean;
266
+ deleted?: boolean | undefined;
267
+ noView?: boolean | undefined;
268
+ noPrint?: boolean | undefined;
269
+ }[], AnnotationStamp[] | {
270
+ hasOwnCanvas: boolean;
271
+ originalAnnotation?: any;
272
+ pageIndex?: number | undefined;
273
+ elementRect?: {
274
+ left: number;
275
+ top: number;
276
+ width: number;
277
+ height: number;
278
+ } | undefined;
279
+ bitmapId?: string | undefined;
280
+ bitmap?: {
281
+ readonly colorSpace: PredefinedColorSpace;
282
+ readonly data: {
283
+ [x: number]: number;
284
+ readonly BYTES_PER_ELEMENT: number;
285
+ readonly buffer: {
286
+ readonly byteLength: number;
287
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
288
+ readonly [Symbol.toStringTag]: string;
289
+ } | {
290
+ readonly byteLength: number;
291
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
292
+ readonly [Symbol.species]: SharedArrayBuffer;
293
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
294
+ };
295
+ readonly byteLength: number;
296
+ readonly byteOffset: number;
297
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
298
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
299
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
300
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
301
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
302
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
303
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
304
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
305
+ join: (separator?: string | undefined) => string;
306
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
307
+ readonly length: number;
308
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
309
+ reduce: {
310
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
311
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
312
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
313
+ };
314
+ reduceRight: {
315
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
316
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
317
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
318
+ };
319
+ reverse: () => Uint8ClampedArray;
320
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
321
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
322
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
323
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
324
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
325
+ toLocaleString: () => string;
326
+ toString: () => string;
327
+ valueOf: () => Uint8ClampedArray;
328
+ entries: () => IterableIterator<[number, number]>;
329
+ keys: () => IterableIterator<number>;
330
+ values: () => IterableIterator<number>;
331
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
332
+ at: (index: number) => number | undefined;
333
+ [Symbol.iterator]: () => IterableIterator<number>;
334
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
335
+ };
336
+ readonly height: number;
337
+ readonly width: number;
338
+ } | undefined;
339
+ width?: number | undefined;
340
+ height?: number | undefined;
341
+ isSvg?: boolean | undefined;
342
+ annotationType: number;
343
+ color?: {
344
+ [x: number]: number;
345
+ readonly BYTES_PER_ELEMENT: number;
346
+ readonly buffer: {
347
+ readonly byteLength: number;
348
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
349
+ readonly [Symbol.toStringTag]: string;
350
+ } | {
351
+ readonly byteLength: number;
352
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
353
+ readonly [Symbol.species]: SharedArrayBuffer;
354
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
355
+ };
356
+ readonly byteLength: number;
357
+ readonly byteOffset: number;
358
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
359
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
360
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
361
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
362
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
363
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
364
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
365
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
366
+ join: (separator?: string | undefined) => string;
367
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
368
+ readonly length: number;
369
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
370
+ reduce: {
371
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
372
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
373
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
374
+ };
375
+ reduceRight: {
376
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
377
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
378
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
379
+ };
380
+ reverse: () => Uint8ClampedArray;
381
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
382
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
383
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
384
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
385
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
386
+ toLocaleString: () => string;
387
+ toString: () => string;
388
+ valueOf: () => Uint8ClampedArray;
389
+ entries: () => IterableIterator<[number, number]>;
390
+ keys: () => IterableIterator<number>;
391
+ values: () => IterableIterator<number>;
392
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
393
+ at: (index: number) => number | undefined;
394
+ [Symbol.iterator]: () => IterableIterator<number>;
395
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
396
+ } | undefined;
397
+ dest: string | [number | {
398
+ gen: number;
399
+ num: number;
400
+ }, {
401
+ name: string;
402
+ }, ...any[]];
403
+ hasAppearance: boolean;
404
+ id: string;
405
+ rect: number[];
406
+ subtype: string;
407
+ borderStyle: {
408
+ dashArray: number[];
409
+ horizontalCornerRadius: number;
410
+ style: number;
411
+ verticalCornerRadius: number;
412
+ width: number;
413
+ };
414
+ hasPopup?: boolean | undefined;
415
+ contents?: string | undefined;
416
+ contentsObj?: {
417
+ dir: string;
418
+ str: string;
419
+ } | undefined;
420
+ modificationDate?: string | undefined;
421
+ quadPoints?: any[] | undefined;
422
+ title?: string | undefined;
423
+ titleObj?: {
424
+ dir: string;
425
+ str: string;
426
+ } | undefined;
427
+ parentId?: string | undefined;
428
+ parentType?: string | undefined;
429
+ file?: {
430
+ content: {
431
+ [x: number]: number;
432
+ readonly BYTES_PER_ELEMENT: number;
433
+ readonly buffer: {
434
+ readonly byteLength: number;
435
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
436
+ readonly [Symbol.toStringTag]: string;
437
+ } | {
438
+ readonly byteLength: number;
439
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
440
+ readonly [Symbol.species]: SharedArrayBuffer;
441
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
442
+ };
443
+ readonly byteLength: number;
444
+ readonly byteOffset: number;
445
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8Array;
446
+ every: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
447
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8Array;
448
+ filter: (predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array;
449
+ find: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined;
450
+ findIndex: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number;
451
+ forEach: (callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void;
452
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
453
+ join: (separator?: string | undefined) => string;
454
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
455
+ readonly length: number;
456
+ map: (callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array;
457
+ reduce: {
458
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
459
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
460
+ <U_2>(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: Uint8Array) => U_2, initialValue: U_2): U_2;
461
+ };
462
+ reduceRight: {
463
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
464
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
465
+ <U_3>(callbackfn: (previousValue: U_3, currentValue: number, currentIndex: number, array: Uint8Array) => U_3, initialValue: U_3): U_3;
466
+ };
467
+ reverse: () => Uint8Array;
468
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
469
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8Array;
470
+ some: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
471
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array;
472
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8Array;
473
+ toLocaleString: () => string;
474
+ toString: () => string;
475
+ valueOf: () => Uint8Array;
476
+ entries: () => IterableIterator<[number, number]>;
477
+ keys: () => IterableIterator<number>;
478
+ values: () => IterableIterator<number>;
479
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
480
+ at: (index: number) => number | undefined;
481
+ [Symbol.iterator]: () => IterableIterator<number>;
482
+ readonly [Symbol.toStringTag]: "Uint8Array";
483
+ };
484
+ filename: string;
485
+ } | undefined;
486
+ inkLists?: {
487
+ x: number;
488
+ y: number;
489
+ }[][] | undefined;
490
+ lineCoordinates: number[];
491
+ action?: string | undefined;
492
+ unsafeUrl?: string | undefined;
493
+ url?: string | undefined;
494
+ newWindow?: boolean | undefined;
495
+ vertices?: {
496
+ x: number;
497
+ y: number;
498
+ }[] | undefined;
499
+ name?: string | undefined;
500
+ fieldType: string;
501
+ pushButton: boolean;
502
+ deleted?: boolean | undefined;
503
+ noView?: boolean | undefined;
504
+ noPrint?: boolean | undefined;
505
+ }[]>;
506
+ stampElementClickOpens: import("vue").Reactive<Map<string, boolean>>;
507
+ handleStampRemove: (annotation: AnnotationStamp) => void;
508
+ handleStampUpdate: (annotation: AnnotationStamp) => void;
509
+ handleStampAdd: (newAnnotation: AnnotationStamp) => void;
510
+ annotationCanvasMap: import("vue").Reactive<Map<string, HTMLCanvasElement>>;
511
+ annotationImageManager: import("@/utils/annotation-image").AnnotationImageManager;
512
+ };
513
+ export {};
@@ -0,0 +1,72 @@
1
+ import { type Ref } from 'vue';
2
+ import type { PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api';
3
+ /**
4
+ * Annotation Storage Composable with Automatic Save Support
5
+ *
6
+ * This composable provides a centralized way to manage PDF annotations with automatic
7
+ * saving capabilities. It tracks modifications and can automatically save annotations
8
+ * to the PDF document before operations like print and download.
9
+ *
10
+ * Key Features:
11
+ * - Tracks annotation modifications automatically
12
+ * - Provides methods to save annotations before print/download
13
+ * - Supports batch updates for better performance
14
+ * - Maintains reactivity across components
15
+ * - Returns updated PDF data for download operations
16
+ *
17
+ * Usage:
18
+ * ```typescript
19
+ * const {
20
+ * annotationStorage,
21
+ * hasModifications,
22
+ * saveAnnotationsToDocument,
23
+ * setAnnotationValue,
24
+ * batchUpdate
25
+ * } = useAnnotationStorage()
26
+ *
27
+ * // Set individual annotation
28
+ * setAnnotationValue('annotationId', { color: [255, 0, 0], noView: true })
29
+ *
30
+ * // Batch update multiple annotations
31
+ * batchUpdate([
32
+ * { key: 'id1', value: { color: [255, 0, 0] } },
33
+ * { key: 'id2', value: { noView: true } }
34
+ * ])
35
+ *
36
+ * // Save before print/download (returns updated PDF data)
37
+ * if (hasModifications()) {
38
+ * const updatedPdfData = await saveAnnotationsToDocument(pdfDocument)
39
+ * // Use updatedPdfData for download operations
40
+ * }
41
+ * ```
42
+ */
43
+ export interface UseAnnotationStorageReturn {
44
+ annotationStorage: Ref<any>;
45
+ annotationEditorStorageMap: Ref<Map<string, any>>;
46
+ setStorage: (documentProxy: PDFDocumentProxy) => any;
47
+ batchUpdate: (updates: Array<{
48
+ key: string;
49
+ value: any;
50
+ }>) => void;
51
+ setAnnotationValue: (key: string, value: any, serialized?: boolean) => void;
52
+ hasModifications: () => boolean;
53
+ saveAnnotationsToDocument: (documentProxy: PDFDocumentProxy) => Promise<Uint8Array | null>;
54
+ cleanAnnotationStorage: () => void;
55
+ validateAnnotationData: (annotationData: any) => boolean;
56
+ renderTrigger: Ref<number>;
57
+ canvasRenderTrigger: Ref<number>;
58
+ cancelBatchUpdate: () => void;
59
+ ensureStorageInitialized: () => boolean;
60
+ debugStorageState: () => void;
61
+ getEditorKey: () => string;
62
+ }
63
+ export declare const EDITOR_PREFIX = "pdfjs_internal_editor_";
64
+ export declare const debugGlobalAnnotationStorage: () => any;
65
+ export declare const getGlobalStorageEntries: () => unknown[];
66
+ /**
67
+ * Creates a serializable version of the annotation data
68
+ * @param value - The annotation data to serialize
69
+ * @returns A serializable version of the annotation data
70
+ */
71
+ export declare function createSerializableAnnotation(value: any): Promise<any>;
72
+ export default function useAnnotationStorage(): UseAnnotationStorageReturn;
@@ -0,0 +1,6 @@
1
+ export declare const useCommandHistory: () => {
2
+ historyManager: import("../utils/historyManager").HistoryManager | undefined;
3
+ addHistory: (cmd: Function, undo: Function, post: Function, mustExec: boolean, type: number, overwriteIfSameType: boolean, keepUndo: boolean) => void;
4
+ undoHistory: () => void;
5
+ redoHistory: () => void;
6
+ };
@@ -0,0 +1,13 @@
1
+ import { MaybeRef, WritableComputedRef, ShallowRef } from 'vue';
2
+ import type { PDFSrc } from '@/utils/types';
3
+ import type { PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api';
4
+ declare const useDownload: (src: MaybeRef<PDFSrc>, fileName?: WritableComputedRef<string | undefined, string | undefined>, pdfDocument?: ShallowRef<PDFDocumentProxy | undefined>) => {
5
+ download: () => Promise<void>;
6
+ downloadControl: {
7
+ download: () => void;
8
+ onError?: ((error: Error) => void) | undefined;
9
+ onComplete?: (() => void) | undefined;
10
+ };
11
+ loading: import("vue").Ref<boolean, boolean>;
12
+ };
13
+ export default useDownload;
@@ -0,0 +1,11 @@
1
+ import { Ref, ShallowRef } from 'vue';
2
+ import { TextHighlight, MatchHighlightResult } from '@/components';
3
+ import type { PDFDocumentProxy } from 'pdfjs-dist';
4
+ export interface UseHighlight {
5
+ highlight: (args: TextHighlight[]) => Promise<Record<string, MatchHighlightResult[]>>;
6
+ highlightMatches: Ref<Record<string, MatchHighlightResult[]>>;
7
+ highlightKeywords: Ref<TextHighlight[] | undefined>;
8
+ clear: () => void;
9
+ }
10
+ declare const useHighlight: (pdfDoc: ShallowRef<PDFDocumentProxy | undefined>) => UseHighlight;
11
+ export default useHighlight;
@@ -0,0 +1,22 @@
1
+ import { MaybeRef, Ref, App } from 'vue';
2
+ import { LicenseProduct, LicenseType } from '@/utils/enumerators';
3
+ export declare const useLicense: (key: MaybeRef<string | undefined>, app?: App) => {
4
+ license: {
5
+ invalidatedMessage?: string | undefined;
6
+ isValidating: boolean;
7
+ isValidated: boolean;
8
+ isValidKey: boolean;
9
+ type: LicenseType;
10
+ product: LicenseProduct;
11
+ };
12
+ };
13
+ export declare function useInjectedLicense(pagesContainer: Ref<HTMLDivElement | undefined>): {
14
+ license: {
15
+ invalidatedMessage?: string | undefined;
16
+ isValidating: boolean;
17
+ isValidated: boolean;
18
+ isValidKey: boolean;
19
+ type: LicenseType;
20
+ product: LicenseProduct;
21
+ };
22
+ };