@vue-pdf-viewer/viewer 3.0.0-alpha.4 → 3.0.0-alpha.6

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 (180) hide show
  1. package/dist/index.js +3948 -3924
  2. package/dist/index.umd.cjs +11 -11
  3. package/dist/types/assets/pdf-annotations/index.d.ts +2 -0
  4. package/dist/types/components/AppButton.vue.d.ts +18 -0
  5. package/dist/types/components/AppFormControl.vue.d.ts +30 -0
  6. package/dist/types/components/AppIcon.vue.d.ts +15 -0
  7. package/dist/types/components/AppInput.vue.d.ts +12 -0
  8. package/dist/types/components/AppLoader.vue.d.ts +19 -0
  9. package/dist/types/components/AppPopover.vue.d.ts +93 -0
  10. package/dist/types/components/AppTooltip.vue.d.ts +34 -0
  11. package/dist/types/components/ColorButton.vue.d.ts +15 -0
  12. package/dist/types/components/DragFileMask.vue.d.ts +55 -0
  13. package/dist/types/components/FreeTextPanel.vue.d.ts +16 -0
  14. package/dist/types/components/FreeTextPanelFontColors.vue.d.ts +2 -0
  15. package/dist/types/components/FreeTextPanelFontFamilySelector.vue.d.ts +2 -0
  16. package/dist/types/components/FreeTextPanelFontSizeSelector.vue.d.ts +2 -0
  17. package/dist/types/components/FreeTextPanelTextStyle.vue.d.ts +2 -0
  18. package/dist/types/components/HighlightColorPicker.vue.d.ts +2 -0
  19. package/dist/types/components/LayerAnnotation.vue.d.ts +47 -0
  20. package/dist/types/components/LayerAnnotationEditor.vue.d.ts +26 -0
  21. package/dist/types/components/LayerAnnotationEditorFreeText.vue.d.ts +34 -0
  22. package/dist/types/components/LayerAnnotationEditorFreeTextItem.vue.d.ts +20 -0
  23. package/dist/types/components/LayerAnnotationEditorHighlight.vue.d.ts +37 -0
  24. package/dist/types/components/LayerAnnotationEditorHighlightItem.vue.d.ts +26 -0
  25. package/dist/types/components/LayerAnnotationEditorImage.vue.d.ts +28 -0
  26. package/dist/types/components/LayerAnnotationStampResizer.vue.d.ts +28 -0
  27. package/dist/types/components/LayerCanvas.vue.d.ts +25 -0
  28. package/dist/types/components/LayerText.vue.d.ts +30 -0
  29. package/dist/types/components/LayerTextHighlight.vue.d.ts +20 -0
  30. package/dist/types/components/LayerTextSearchHighlight.vue.d.ts +19 -0
  31. package/dist/types/components/LayerXFA.vue.d.ts +23 -0
  32. package/dist/types/components/ModalPassword.vue.d.ts +19 -0
  33. package/dist/types/components/ModalPdfProperties.vue.d.ts +18 -0
  34. package/dist/types/components/ModalPrintLoadingProgress.vue.d.ts +20 -0
  35. package/dist/types/components/Signatures.vue.d.ts +2 -0
  36. package/dist/types/components/SwitchAppearance.vue.d.ts +23 -0
  37. package/dist/types/components/ToolCommentPanel.vue.d.ts +31 -0
  38. package/dist/types/components/ToolDownload.vue.d.ts +21 -0
  39. package/dist/types/components/ToolFullscreen.vue.d.ts +22 -0
  40. package/dist/types/components/ToolMenuOthers.vue.d.ts +88 -0
  41. package/dist/types/components/ToolMenuOthersMobile.vue.d.ts +21 -0
  42. package/dist/types/components/ToolOpenFile.vue.d.ts +21 -0
  43. package/dist/types/components/ToolOpenFileInput.vue.d.ts +11 -0
  44. package/dist/types/components/ToolPagination.vue.d.ts +68 -0
  45. package/dist/types/components/ToolPrint.vue.d.ts +35 -0
  46. package/dist/types/components/ToolSearch.vue.d.ts +73 -0
  47. package/dist/types/components/ToolThumbnail.vue.d.ts +43 -0
  48. package/dist/types/components/ToolZoom.vue.d.ts +55 -0
  49. package/dist/types/components/ToolZoomPercentageMenu.vue.d.ts +25 -0
  50. package/dist/types/components/VPdfComments.vue.d.ts +28 -0
  51. package/dist/types/components/VPdfCommentsDate.vue.d.ts +15 -0
  52. package/dist/types/components/VPdfCommentsHeader.vue.d.ts +16 -0
  53. package/dist/types/components/VPdfCommentsIcon.vue.d.ts +16 -0
  54. package/dist/types/components/VPdfCommentsReplies.vue.d.ts +16 -0
  55. package/dist/types/components/VPdfCommentsSidebar.vue.d.ts +15 -0
  56. package/dist/types/components/VPdfCommentsText.vue.d.ts +2 -0
  57. package/dist/types/components/VPdfPage.vue.d.ts +44 -0
  58. package/dist/types/components/VPdfSplitter.vue.d.ts +2 -0
  59. package/dist/types/components/VPdfThumbnail.vue.d.ts +26 -0
  60. package/dist/types/components/VPdfThumbnails.vue.d.ts +22 -0
  61. package/dist/types/components/VPdfViewer.vue.d.ts +606 -0
  62. package/dist/types/components/index.d.ts +4 -0
  63. package/dist/types/components/ui/button/Button.vue.d.ts +52 -0
  64. package/dist/types/components/ui/button/index.d.ts +7 -0
  65. package/dist/types/components/ui/checkbox/Checkbox.vue.d.ts +35 -0
  66. package/dist/types/components/ui/checkbox/index.d.ts +1 -0
  67. package/dist/types/components/ui/collapsible/Collapsible.vue.d.ts +30 -0
  68. package/dist/types/components/ui/collapsible/CollapsibleContent.vue.d.ts +28 -0
  69. package/dist/types/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +28 -0
  70. package/dist/types/components/ui/collapsible/index.d.ts +3 -0
  71. package/dist/types/components/ui/dialog/Dialog.vue.d.ts +28 -0
  72. package/dist/types/components/ui/dialog/DialogClose.vue.d.ts +28 -0
  73. package/dist/types/components/ui/dialog/DialogContent.vue.d.ts +35 -0
  74. package/dist/types/components/ui/dialog/DialogDescription.vue.d.ts +35 -0
  75. package/dist/types/components/ui/dialog/DialogFooter.vue.d.ts +34 -0
  76. package/dist/types/components/ui/dialog/DialogHeader.vue.d.ts +34 -0
  77. package/dist/types/components/ui/dialog/DialogTitle.vue.d.ts +35 -0
  78. package/dist/types/components/ui/dialog/DialogTrigger.vue.d.ts +28 -0
  79. package/dist/types/components/ui/dialog/index.d.ts +8 -0
  80. package/dist/types/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +28 -0
  81. package/dist/types/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +35 -0
  82. package/dist/types/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +52 -0
  83. package/dist/types/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +28 -0
  84. package/dist/types/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +41 -0
  85. package/dist/types/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +38 -0
  86. package/dist/types/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +28 -0
  87. package/dist/types/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +38 -0
  88. package/dist/types/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +17 -0
  89. package/dist/types/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +34 -0
  90. package/dist/types/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +28 -0
  91. package/dist/types/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +35 -0
  92. package/dist/types/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +35 -0
  93. package/dist/types/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +28 -0
  94. package/dist/types/components/ui/dropdown-menu/index.d.ts +15 -0
  95. package/dist/types/components/ui/input/Input.vue.d.ts +16 -0
  96. package/dist/types/components/ui/input/index.d.ts +7 -0
  97. package/dist/types/components/ui/popover/Popover.vue.d.ts +28 -0
  98. package/dist/types/components/ui/popover/PopoverContent.vue.d.ts +64 -0
  99. package/dist/types/components/ui/popover/PopoverTrigger.vue.d.ts +28 -0
  100. package/dist/types/components/ui/popover/index.d.ts +3 -0
  101. package/dist/types/components/ui/progress/Progress.vue.d.ts +28 -0
  102. package/dist/types/components/ui/progress/index.d.ts +1 -0
  103. package/dist/types/components/ui/select/Select.vue.d.ts +28 -0
  104. package/dist/types/components/ui/select/SelectContent.vue.d.ts +52 -0
  105. package/dist/types/components/ui/select/SelectGroup.vue.d.ts +35 -0
  106. package/dist/types/components/ui/select/SelectItem.vue.d.ts +35 -0
  107. package/dist/types/components/ui/select/SelectItemText.vue.d.ts +28 -0
  108. package/dist/types/components/ui/select/SelectLabel.vue.d.ts +35 -0
  109. package/dist/types/components/ui/select/SelectScrollDownButton.vue.d.ts +35 -0
  110. package/dist/types/components/ui/select/SelectScrollUpButton.vue.d.ts +35 -0
  111. package/dist/types/components/ui/select/SelectSeparator.vue.d.ts +17 -0
  112. package/dist/types/components/ui/select/SelectTrigger.vue.d.ts +35 -0
  113. package/dist/types/components/ui/select/SelectValue.vue.d.ts +28 -0
  114. package/dist/types/components/ui/select/index.d.ts +11 -0
  115. package/dist/types/components/ui/toast/Toast.vue.d.ts +28 -0
  116. package/dist/types/components/ui/toast/ToastAction.vue.d.ts +35 -0
  117. package/dist/types/components/ui/toast/ToastClose.vue.d.ts +17 -0
  118. package/dist/types/components/ui/toast/ToastDescription.vue.d.ts +35 -0
  119. package/dist/types/components/ui/toast/ToastProvider.vue.d.ts +28 -0
  120. package/dist/types/components/ui/toast/ToastTitle.vue.d.ts +35 -0
  121. package/dist/types/components/ui/toast/ToastViewport.vue.d.ts +17 -0
  122. package/dist/types/components/ui/toast/Toaster.vue.d.ts +2 -0
  123. package/dist/types/components/ui/toast/index.d.ts +21 -0
  124. package/dist/types/components/ui/toast/use-toast.d.ts +272 -0
  125. package/dist/types/components/ui/tooltip/Tooltip.vue.d.ts +28 -0
  126. package/dist/types/components/ui/tooltip/TooltipContent.vue.d.ts +52 -0
  127. package/dist/types/components/ui/tooltip/TooltipProvider.vue.d.ts +28 -0
  128. package/dist/types/components/ui/tooltip/TooltipTrigger.vue.d.ts +28 -0
  129. package/dist/types/components/ui/tooltip/index.d.ts +4 -0
  130. package/dist/types/components/utils/annotations.d.ts +5 -0
  131. package/dist/types/components/utils/destination.d.ts +7 -0
  132. package/dist/types/components/utils/helpers.d.ts +2 -0
  133. package/dist/types/components/utils/link_service.d.ts +71 -0
  134. package/dist/types/components/utils/sanitizeExternalURL.d.ts +1 -0
  135. package/dist/types/composables/useAnnotationDrag.d.ts +72 -0
  136. package/dist/types/composables/useAnnotationFreeText.d.ts +462 -0
  137. package/dist/types/composables/useAnnotationHighlight.d.ts +389 -0
  138. package/dist/types/composables/useAnnotationStamp.d.ts +493 -0
  139. package/dist/types/composables/useAnnotationStorage.d.ts +72 -0
  140. package/dist/types/composables/useDownload.d.ts +13 -0
  141. package/dist/types/composables/useHighlight.d.ts +11 -0
  142. package/dist/types/composables/useLicense.d.ts +22 -0
  143. package/dist/types/composables/usePdf.d.ts +28 -0
  144. package/dist/types/composables/usePdfComments.d.ts +5 -0
  145. package/dist/types/composables/usePdfPagesSizes.d.ts +8 -0
  146. package/dist/types/composables/usePdfProperties.d.ts +10 -0
  147. package/dist/types/composables/usePinch.d.ts +3 -0
  148. package/dist/types/composables/usePlugins.d.ts +252 -0
  149. package/dist/types/composables/usePrintControl.d.ts +22 -0
  150. package/dist/types/composables/usePrintProcess.d.ts +8 -0
  151. package/dist/types/composables/useRenderQueue.d.ts +13 -0
  152. package/dist/types/composables/useRequestAnimationFrame.d.ts +1 -0
  153. package/dist/types/composables/useRotation.d.ts +7 -0
  154. package/dist/types/composables/useScale.d.ts +21 -0
  155. package/dist/types/composables/useSearch.d.ts +5 -0
  156. package/dist/types/composables/useTextLayers.d.ts +5 -0
  157. package/dist/types/composables/useVirtualPages.d.ts +32 -0
  158. package/dist/types/composables/useVisibilities.d.ts +9 -0
  159. package/dist/types/const.d.ts +149 -0
  160. package/dist/types/index.d.ts +8 -0
  161. package/dist/types/utils/annotation-command.d.ts +18 -0
  162. package/dist/types/utils/annotation-display.d.ts +24 -0
  163. package/dist/types/utils/annotation-free-text.d.ts +4 -0
  164. package/dist/types/utils/annotation-highlight.d.ts +69 -0
  165. package/dist/types/utils/annotation-image.d.ts +111 -0
  166. package/dist/types/utils/annotation-pdf.d.ts +35 -0
  167. package/dist/types/utils/appConsole.d.ts +24 -0
  168. package/dist/types/utils/characters.d.ts +16 -0
  169. package/dist/types/utils/color.d.ts +4 -0
  170. package/dist/types/utils/convertPDFDate.d.ts +1 -0
  171. package/dist/types/utils/enumerators.d.ts +80 -0
  172. package/dist/types/utils/highlight.d.ts +8 -0
  173. package/dist/types/utils/promiseWithResolvers.d.ts +7 -0
  174. package/dist/types/utils/searchHighlight.d.ts +10 -0
  175. package/dist/types/utils/smoothScroll.d.ts +2 -0
  176. package/dist/types/utils/types.d.ts +724 -0
  177. package/dist/types/utils/uiViewer.d.ts +4 -0
  178. package/dist/types/utils/validators.d.ts +26 -0
  179. package/dist/types/utils.d.ts +20 -0
  180. package/package.json +3 -3
@@ -0,0 +1,493 @@
1
+ import { AnnotationStamp } from '@/utils/types';
2
+ import { AnnotationLayer, type PDFPageProxy } from 'pdfjs-dist';
3
+ import { Ref } from 'vue';
4
+ /**
5
+ * useAnnotationStamp - Extract bitmap data from stamp annotations with ImageManager
6
+ *
7
+ * PDF.js Canvas Flow:
8
+ * 1. pdf_page_view.draw() creates empty annotationCanvasMap
9
+ * 2. During rendering, CanvasGraphics.beginAnnotation() creates canvases for hasOwnCanvas annotations
10
+ * 3. annotationCanvasMap.set(id, canvas) stores canvas by annotation ID
11
+ * 4. AnnotationLayer.#setAnnotationCanvasMap() inserts canvases into DOM
12
+ * 5. We extract bitmaps using AnnotationImageManager for proper memory management
13
+ */
14
+ interface UseAnnotationStampProps {
15
+ page: Ref<PDFPageProxy>;
16
+ annotationLayer: Ref<AnnotationLayer>;
17
+ }
18
+ export declare const useAnnotationStamp: (props: UseAnnotationStampProps) => {
19
+ stampAnnotations: Ref<{
20
+ hasOwnCanvas: boolean;
21
+ originalAnnotation?: any;
22
+ pageIndex?: number | undefined;
23
+ elementRect?: {
24
+ left: number;
25
+ top: number;
26
+ width: number;
27
+ height: number;
28
+ } | undefined;
29
+ bitmapId?: string | undefined;
30
+ bitmap?: {
31
+ readonly colorSpace: PredefinedColorSpace;
32
+ readonly data: {
33
+ [x: number]: number;
34
+ readonly BYTES_PER_ELEMENT: number;
35
+ readonly buffer: {
36
+ readonly byteLength: number;
37
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
38
+ readonly [Symbol.toStringTag]: string;
39
+ } | {
40
+ readonly byteLength: number;
41
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
42
+ readonly [Symbol.species]: SharedArrayBuffer;
43
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
44
+ };
45
+ readonly byteLength: number;
46
+ readonly byteOffset: number;
47
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
48
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
49
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
50
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
51
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
52
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
53
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
54
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
55
+ join: (separator?: string | undefined) => string;
56
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
57
+ readonly length: number;
58
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
59
+ reduce: {
60
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
61
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
62
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
63
+ };
64
+ reduceRight: {
65
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
66
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
67
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
68
+ };
69
+ reverse: () => Uint8ClampedArray;
70
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
71
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
72
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
73
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
74
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
75
+ toLocaleString: () => string;
76
+ toString: () => string;
77
+ valueOf: () => Uint8ClampedArray;
78
+ entries: () => IterableIterator<[number, number]>;
79
+ keys: () => IterableIterator<number>;
80
+ values: () => IterableIterator<number>;
81
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
82
+ at: (index: number) => number | undefined;
83
+ [Symbol.iterator]: () => IterableIterator<number>;
84
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
85
+ };
86
+ readonly height: number;
87
+ readonly width: number;
88
+ } | undefined;
89
+ annotationType: number;
90
+ color?: {
91
+ [x: number]: number;
92
+ readonly BYTES_PER_ELEMENT: number;
93
+ readonly buffer: {
94
+ readonly byteLength: number;
95
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
96
+ readonly [Symbol.toStringTag]: string;
97
+ } | {
98
+ readonly byteLength: number;
99
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
100
+ readonly [Symbol.species]: SharedArrayBuffer;
101
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
102
+ };
103
+ readonly byteLength: number;
104
+ readonly byteOffset: number;
105
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
106
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
107
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
108
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
109
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
110
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
111
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
112
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
113
+ join: (separator?: string | undefined) => string;
114
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
115
+ readonly length: number;
116
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
117
+ reduce: {
118
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
119
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
120
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
121
+ };
122
+ reduceRight: {
123
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
124
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
125
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
126
+ };
127
+ reverse: () => Uint8ClampedArray;
128
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
129
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
130
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
131
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
132
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
133
+ toLocaleString: () => string;
134
+ toString: () => string;
135
+ valueOf: () => Uint8ClampedArray;
136
+ entries: () => IterableIterator<[number, number]>;
137
+ keys: () => IterableIterator<number>;
138
+ values: () => IterableIterator<number>;
139
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
140
+ at: (index: number) => number | undefined;
141
+ [Symbol.iterator]: () => IterableIterator<number>;
142
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
143
+ } | undefined;
144
+ dest: string | [number | {
145
+ gen: number;
146
+ num: number;
147
+ }, {
148
+ name: string;
149
+ }, ...any[]];
150
+ hasAppearance: boolean;
151
+ id: string;
152
+ rect: number[];
153
+ subtype: string;
154
+ borderStyle: {
155
+ dashArray: number[];
156
+ horizontalCornerRadius: number;
157
+ style: number;
158
+ verticalCornerRadius: number;
159
+ width: number;
160
+ };
161
+ hasPopup?: boolean | undefined;
162
+ contents?: string | undefined;
163
+ contentsObj?: {
164
+ dir: string;
165
+ str: string;
166
+ } | undefined;
167
+ modificationDate?: string | undefined;
168
+ quadPoints?: any[] | undefined;
169
+ title?: string | undefined;
170
+ titleObj?: {
171
+ dir: string;
172
+ str: string;
173
+ } | undefined;
174
+ parentId?: string | undefined;
175
+ parentType?: string | undefined;
176
+ file?: {
177
+ content: {
178
+ [x: number]: number;
179
+ readonly BYTES_PER_ELEMENT: number;
180
+ readonly buffer: {
181
+ readonly byteLength: number;
182
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
183
+ readonly [Symbol.toStringTag]: string;
184
+ } | {
185
+ readonly byteLength: number;
186
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
187
+ readonly [Symbol.species]: SharedArrayBuffer;
188
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
189
+ };
190
+ readonly byteLength: number;
191
+ readonly byteOffset: number;
192
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8Array;
193
+ every: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
194
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8Array;
195
+ filter: (predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array;
196
+ find: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined;
197
+ findIndex: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number;
198
+ forEach: (callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void;
199
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
200
+ join: (separator?: string | undefined) => string;
201
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
202
+ readonly length: number;
203
+ map: (callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array;
204
+ reduce: {
205
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
206
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
207
+ <U_2>(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: Uint8Array) => U_2, initialValue: U_2): U_2;
208
+ };
209
+ reduceRight: {
210
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
211
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
212
+ <U_3>(callbackfn: (previousValue: U_3, currentValue: number, currentIndex: number, array: Uint8Array) => U_3, initialValue: U_3): U_3;
213
+ };
214
+ reverse: () => Uint8Array;
215
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
216
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8Array;
217
+ some: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
218
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array;
219
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8Array;
220
+ toLocaleString: () => string;
221
+ toString: () => string;
222
+ valueOf: () => Uint8Array;
223
+ entries: () => IterableIterator<[number, number]>;
224
+ keys: () => IterableIterator<number>;
225
+ values: () => IterableIterator<number>;
226
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
227
+ at: (index: number) => number | undefined;
228
+ [Symbol.iterator]: () => IterableIterator<number>;
229
+ readonly [Symbol.toStringTag]: "Uint8Array";
230
+ };
231
+ filename: string;
232
+ } | undefined;
233
+ inkLists?: {
234
+ x: number;
235
+ y: number;
236
+ }[][] | undefined;
237
+ lineCoordinates: number[];
238
+ action?: string | undefined;
239
+ unsafeUrl?: string | undefined;
240
+ url?: string | undefined;
241
+ newWindow?: boolean | undefined;
242
+ vertices?: {
243
+ x: number;
244
+ y: number;
245
+ }[] | undefined;
246
+ name?: string | undefined;
247
+ fieldType: string;
248
+ pushButton: boolean;
249
+ deleted?: boolean | undefined;
250
+ noView?: boolean | undefined;
251
+ noPrint?: boolean | undefined;
252
+ }[], AnnotationStamp[] | {
253
+ hasOwnCanvas: boolean;
254
+ originalAnnotation?: any;
255
+ pageIndex?: number | undefined;
256
+ elementRect?: {
257
+ left: number;
258
+ top: number;
259
+ width: number;
260
+ height: number;
261
+ } | undefined;
262
+ bitmapId?: string | undefined;
263
+ bitmap?: {
264
+ readonly colorSpace: PredefinedColorSpace;
265
+ readonly data: {
266
+ [x: number]: number;
267
+ readonly BYTES_PER_ELEMENT: number;
268
+ readonly buffer: {
269
+ readonly byteLength: number;
270
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
271
+ readonly [Symbol.toStringTag]: string;
272
+ } | {
273
+ readonly byteLength: number;
274
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
275
+ readonly [Symbol.species]: SharedArrayBuffer;
276
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
277
+ };
278
+ readonly byteLength: number;
279
+ readonly byteOffset: number;
280
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
281
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
282
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
283
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
284
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
285
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
286
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
287
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
288
+ join: (separator?: string | undefined) => string;
289
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
290
+ readonly length: number;
291
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
292
+ reduce: {
293
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
294
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
295
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
296
+ };
297
+ reduceRight: {
298
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
299
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
300
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
301
+ };
302
+ reverse: () => Uint8ClampedArray;
303
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
304
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
305
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
306
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
307
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
308
+ toLocaleString: () => string;
309
+ toString: () => string;
310
+ valueOf: () => Uint8ClampedArray;
311
+ entries: () => IterableIterator<[number, number]>;
312
+ keys: () => IterableIterator<number>;
313
+ values: () => IterableIterator<number>;
314
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
315
+ at: (index: number) => number | undefined;
316
+ [Symbol.iterator]: () => IterableIterator<number>;
317
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
318
+ };
319
+ readonly height: number;
320
+ readonly width: number;
321
+ } | undefined;
322
+ annotationType: number;
323
+ color?: {
324
+ [x: number]: number;
325
+ readonly BYTES_PER_ELEMENT: number;
326
+ readonly buffer: {
327
+ readonly byteLength: number;
328
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
329
+ readonly [Symbol.toStringTag]: string;
330
+ } | {
331
+ readonly byteLength: number;
332
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
333
+ readonly [Symbol.species]: SharedArrayBuffer;
334
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
335
+ };
336
+ readonly byteLength: number;
337
+ readonly byteOffset: number;
338
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
339
+ every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
340
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
341
+ filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
342
+ find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
343
+ findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
344
+ forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
345
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
346
+ join: (separator?: string | undefined) => string;
347
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
348
+ readonly length: number;
349
+ map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
350
+ reduce: {
351
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
352
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
353
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
354
+ };
355
+ reduceRight: {
356
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
357
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
358
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
359
+ };
360
+ reverse: () => Uint8ClampedArray;
361
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
362
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
363
+ some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
364
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
365
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
366
+ toLocaleString: () => string;
367
+ toString: () => string;
368
+ valueOf: () => Uint8ClampedArray;
369
+ entries: () => IterableIterator<[number, number]>;
370
+ keys: () => IterableIterator<number>;
371
+ values: () => IterableIterator<number>;
372
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
373
+ at: (index: number) => number | undefined;
374
+ [Symbol.iterator]: () => IterableIterator<number>;
375
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
376
+ } | undefined;
377
+ dest: string | [number | {
378
+ gen: number;
379
+ num: number;
380
+ }, {
381
+ name: string;
382
+ }, ...any[]];
383
+ hasAppearance: boolean;
384
+ id: string;
385
+ rect: number[];
386
+ subtype: string;
387
+ borderStyle: {
388
+ dashArray: number[];
389
+ horizontalCornerRadius: number;
390
+ style: number;
391
+ verticalCornerRadius: number;
392
+ width: number;
393
+ };
394
+ hasPopup?: boolean | undefined;
395
+ contents?: string | undefined;
396
+ contentsObj?: {
397
+ dir: string;
398
+ str: string;
399
+ } | undefined;
400
+ modificationDate?: string | undefined;
401
+ quadPoints?: any[] | undefined;
402
+ title?: string | undefined;
403
+ titleObj?: {
404
+ dir: string;
405
+ str: string;
406
+ } | undefined;
407
+ parentId?: string | undefined;
408
+ parentType?: string | undefined;
409
+ file?: {
410
+ content: {
411
+ [x: number]: number;
412
+ readonly BYTES_PER_ELEMENT: number;
413
+ readonly buffer: {
414
+ readonly byteLength: number;
415
+ slice: (begin: number, end?: number | undefined) => ArrayBuffer;
416
+ readonly [Symbol.toStringTag]: string;
417
+ } | {
418
+ readonly byteLength: number;
419
+ slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
420
+ readonly [Symbol.species]: SharedArrayBuffer;
421
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
422
+ };
423
+ readonly byteLength: number;
424
+ readonly byteOffset: number;
425
+ copyWithin: (target: number, start: number, end?: number | undefined) => Uint8Array;
426
+ every: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
427
+ fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8Array;
428
+ filter: (predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array;
429
+ find: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined;
430
+ findIndex: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number;
431
+ forEach: (callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void;
432
+ indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
433
+ join: (separator?: string | undefined) => string;
434
+ lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
435
+ readonly length: number;
436
+ map: (callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array;
437
+ reduce: {
438
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
439
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
440
+ <U_2>(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: Uint8Array) => U_2, initialValue: U_2): U_2;
441
+ };
442
+ reduceRight: {
443
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
444
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
445
+ <U_3>(callbackfn: (previousValue: U_3, currentValue: number, currentIndex: number, array: Uint8Array) => U_3, initialValue: U_3): U_3;
446
+ };
447
+ reverse: () => Uint8Array;
448
+ set: (array: ArrayLike<number>, offset?: number | undefined) => void;
449
+ slice: (start?: number | undefined, end?: number | undefined) => Uint8Array;
450
+ some: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
451
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array;
452
+ subarray: (begin?: number | undefined, end?: number | undefined) => Uint8Array;
453
+ toLocaleString: () => string;
454
+ toString: () => string;
455
+ valueOf: () => Uint8Array;
456
+ entries: () => IterableIterator<[number, number]>;
457
+ keys: () => IterableIterator<number>;
458
+ values: () => IterableIterator<number>;
459
+ includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
460
+ at: (index: number) => number | undefined;
461
+ [Symbol.iterator]: () => IterableIterator<number>;
462
+ readonly [Symbol.toStringTag]: "Uint8Array";
463
+ };
464
+ filename: string;
465
+ } | undefined;
466
+ inkLists?: {
467
+ x: number;
468
+ y: number;
469
+ }[][] | undefined;
470
+ lineCoordinates: number[];
471
+ action?: string | undefined;
472
+ unsafeUrl?: string | undefined;
473
+ url?: string | undefined;
474
+ newWindow?: boolean | undefined;
475
+ vertices?: {
476
+ x: number;
477
+ y: number;
478
+ }[] | undefined;
479
+ name?: string | undefined;
480
+ fieldType: string;
481
+ pushButton: boolean;
482
+ deleted?: boolean | undefined;
483
+ noView?: boolean | undefined;
484
+ noPrint?: boolean | undefined;
485
+ }[]>;
486
+ stampElementClickOpens: import("vue").Reactive<Map<string, boolean>>;
487
+ handleStampRemove: (annotation: AnnotationStamp) => void;
488
+ handleStampUpdate: (annotation: AnnotationStamp) => void;
489
+ handleStampAdd: (newAnnotation: AnnotationStamp) => void;
490
+ annotationCanvasMap: import("vue").Reactive<Map<string, HTMLCanvasElement>>;
491
+ annotationImageManager: import("@/utils/annotation-image").AnnotationImageManager;
492
+ };
493
+ 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): any;
72
+ export default function useAnnotationStorage(): UseAnnotationStorageReturn;
@@ -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
+ };
@@ -0,0 +1,28 @@
1
+ import type { MaybeRef } from 'vue';
2
+ import type { PDFDestination, PDFOptions, PDFSrc } from '../utils/types';
3
+ import { type PDFDocumentProxy, type PDFPageProxy } from 'pdfjs-dist/types/src/display/api';
4
+ /**
5
+ * @typedef {Object} UsePDFParameters
6
+ * @property {string} password
7
+ * Document password to unlock content
8
+ * @property {function} onProgress
9
+ * Callback to request a password if a wrong or no password was provided. The callback receives two parameters: a function that should be called with the new password, and a reason (see PasswordResponses).
10
+ * @property {function} onPassword
11
+ * Callback to be able to monitor the loading progress of the PDF file (necessary to implement e.g. a loading bar). The callback receives an OnProgressParameters argument. if this function is used option.password is ignored
12
+ * @property {function} onError
13
+ * Callback to be able to handle errors during loading
14
+ * */
15
+ /**
16
+ *
17
+ * @param {string | URL | TypedArray | PDFDataRangeTransport | DocumentInitParameters} src
18
+ * Can be a URL where a PDF file is located, a typed array (Uint8Array) already populated with data, or a parameter object.
19
+ * @param {UsePDFParameters} options
20
+ * UsePDF object parameters
21
+ */
22
+ declare function usePdf(src: MaybeRef<PDFSrc>, options?: PDFOptions, workerUrl?: string): {
23
+ pdf: import("vue").ShallowRef<import("pdfjs-dist/types/src/display/api").PDFDocumentLoadingTask | undefined, import("pdfjs-dist/types/src/display/api").PDFDocumentLoadingTask | undefined>;
24
+ totalPages: import("vue").ShallowRef<number, number>;
25
+ getPage: (doc: PDFDocumentProxy, pageIndex: number) => Promise<PDFPageProxy>;
26
+ getPDFDestination: (destination: string | any[] | null) => Promise<PDFDestination | null>;
27
+ };
28
+ export default usePdf;
@@ -0,0 +1,5 @@
1
+ import { type Ref } from 'vue';
2
+ import type { PDFDocumentProxy } from 'pdfjs-dist';
3
+ import type { UsePdfCommentsReturn, ViewerPdfPage } from '@/utils/types';
4
+ declare const usePdfComments: (pdfDocProxy: Ref<PDFDocumentProxy | undefined>, pdfPages: Ref<ViewerPdfPage[]>) => UsePdfCommentsReturn;
5
+ export default usePdfComments;
@@ -0,0 +1,8 @@
1
+ import { UnwrapRef } from 'vue';
2
+ import { ViewerPdfPage, ViewerState } from '@/utils/types';
3
+ declare function usePdfPageSizes(props: UnwrapRef<ViewerState>): {
4
+ pdfPages: import("vue").ComputedRef<ViewerPdfPage[]>;
5
+ estimatedPdfPages: import("vue").ShallowRef<ViewerPdfPage[], ViewerPdfPage[]>;
6
+ actualPdfPages: import("vue").ShallowRef<ViewerPdfPage[], ViewerPdfPage[]>;
7
+ };
8
+ export default usePdfPageSizes;