@jacktea/pdf-viewer-component 0.1.5

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 (285) hide show
  1. package/README.md +45 -0
  2. package/dist/annotations/annotation-layer.d.ts +40 -0
  3. package/dist/annotations/annotation-layer.d.ts.map +1 -0
  4. package/dist/annotations/annotation-layer.test.d.ts +2 -0
  5. package/dist/annotations/annotation-layer.test.d.ts.map +1 -0
  6. package/dist/annotations/interaction/annotation-interaction-controller.d.ts +59 -0
  7. package/dist/annotations/interaction/annotation-interaction-controller.d.ts.map +1 -0
  8. package/dist/annotations/interaction/tool-utils.d.ts +11 -0
  9. package/dist/annotations/interaction/tool-utils.d.ts.map +1 -0
  10. package/dist/annotations/rendering/annotation-svg-renderer.d.ts +28 -0
  11. package/dist/annotations/rendering/annotation-svg-renderer.d.ts.map +1 -0
  12. package/dist/annotations/rendering/annotation-svg-renderer.test.d.ts +2 -0
  13. package/dist/annotations/rendering/annotation-svg-renderer.test.d.ts.map +1 -0
  14. package/dist/annotations/rendering/geometry-utils.d.ts +6 -0
  15. package/dist/annotations/rendering/geometry-utils.d.ts.map +1 -0
  16. package/dist/annotations/rendering/hit-testing.d.ts +10 -0
  17. package/dist/annotations/rendering/hit-testing.d.ts.map +1 -0
  18. package/dist/annotations/rendering/index.d.ts +3 -0
  19. package/dist/annotations/rendering/index.d.ts.map +1 -0
  20. package/dist/annotations/settings.d.ts +46 -0
  21. package/dist/annotations/settings.d.ts.map +1 -0
  22. package/dist/annotations/types.d.ts +3 -0
  23. package/dist/annotations/types.d.ts.map +1 -0
  24. package/dist/annotations/ui/annotation-metadata.d.ts +12 -0
  25. package/dist/annotations/ui/annotation-metadata.d.ts.map +1 -0
  26. package/dist/annotations/ui/appearance-editor.d.ts +16 -0
  27. package/dist/annotations/ui/appearance-editor.d.ts.map +1 -0
  28. package/dist/annotations/ui/arrow-style-editor.d.ts +17 -0
  29. package/dist/annotations/ui/arrow-style-editor.d.ts.map +1 -0
  30. package/dist/annotations/ui/header-card.d.ts +4 -0
  31. package/dist/annotations/ui/header-card.d.ts.map +1 -0
  32. package/dist/annotations/ui/index.d.ts +8 -0
  33. package/dist/annotations/ui/index.d.ts.map +1 -0
  34. package/dist/annotations/ui/popup-toolbar.d.ts +53 -0
  35. package/dist/annotations/ui/popup-toolbar.d.ts.map +1 -0
  36. package/dist/annotations/ui/popup-toolbar.test.d.ts +2 -0
  37. package/dist/annotations/ui/popup-toolbar.test.d.ts.map +1 -0
  38. package/dist/annotations/ui/stroke-style-editor.d.ts +16 -0
  39. package/dist/annotations/ui/stroke-style-editor.d.ts.map +1 -0
  40. package/dist/annotations/ui/style-pickers.d.ts +82 -0
  41. package/dist/annotations/ui/style-pickers.d.ts.map +1 -0
  42. package/dist/annotations/ui/text-style-editor.d.ts +22 -0
  43. package/dist/annotations/ui/text-style-editor.d.ts.map +1 -0
  44. package/dist/annotations/ui/tool-selector.d.ts +8 -0
  45. package/dist/annotations/ui/tool-selector.d.ts.map +1 -0
  46. package/dist/components/popover.d.ts +25 -0
  47. package/dist/components/popover.d.ts.map +1 -0
  48. package/dist/components/tooltip.d.ts +28 -0
  49. package/dist/components/tooltip.d.ts.map +1 -0
  50. package/dist/coordinators/annotation-coordinator.d.ts +281 -0
  51. package/dist/coordinators/annotation-coordinator.d.ts.map +1 -0
  52. package/dist/coordinators/annotation-coordinator.test.d.ts +2 -0
  53. package/dist/coordinators/annotation-coordinator.test.d.ts.map +1 -0
  54. package/dist/coordinators/event-dispatcher.d.ts +93 -0
  55. package/dist/coordinators/event-dispatcher.d.ts.map +1 -0
  56. package/dist/coordinators/index.d.ts +20 -0
  57. package/dist/coordinators/index.d.ts.map +1 -0
  58. package/dist/coordinators/mode-coordinator.d.ts +74 -0
  59. package/dist/coordinators/mode-coordinator.d.ts.map +1 -0
  60. package/dist/coordinators/panel-coordinator-v2.d.ts +138 -0
  61. package/dist/coordinators/panel-coordinator-v2.d.ts.map +1 -0
  62. package/dist/coordinators/state-sync-manager.d.ts +37 -0
  63. package/dist/coordinators/state-sync-manager.d.ts.map +1 -0
  64. package/dist/coordinators/state-tracker.d.ts +48 -0
  65. package/dist/coordinators/state-tracker.d.ts.map +1 -0
  66. package/dist/coordinators/state-types.d.ts +56 -0
  67. package/dist/coordinators/state-types.d.ts.map +1 -0
  68. package/dist/coordinators/ui-initializer.d.ts +130 -0
  69. package/dist/coordinators/ui-initializer.d.ts.map +1 -0
  70. package/dist/di/container.d.ts +77 -0
  71. package/dist/di/container.d.ts.map +1 -0
  72. package/dist/di/container.test.d.ts +5 -0
  73. package/dist/di/container.test.d.ts.map +1 -0
  74. package/dist/di/index.d.ts +11 -0
  75. package/dist/di/index.d.ts.map +1 -0
  76. package/dist/di/tokens.d.ts +88 -0
  77. package/dist/di/tokens.d.ts.map +1 -0
  78. package/dist/domains/annotation/index.d.ts +9 -0
  79. package/dist/domains/annotation/index.d.ts.map +1 -0
  80. package/dist/domains/annotation/styles.d.ts +23 -0
  81. package/dist/domains/annotation/styles.d.ts.map +1 -0
  82. package/dist/domains/annotation/sync.d.ts +68 -0
  83. package/dist/domains/annotation/sync.d.ts.map +1 -0
  84. package/dist/domains/annotation/sync.test.d.ts +2 -0
  85. package/dist/domains/annotation/sync.test.d.ts.map +1 -0
  86. package/dist/domains/export/index.d.ts +10 -0
  87. package/dist/domains/export/index.d.ts.map +1 -0
  88. package/dist/domains/export/metadata.d.ts +31 -0
  89. package/dist/domains/export/metadata.d.ts.map +1 -0
  90. package/dist/domains/export/metadata.test.d.ts +2 -0
  91. package/dist/domains/export/metadata.test.d.ts.map +1 -0
  92. package/dist/domains/export/pdf-export.d.ts +70 -0
  93. package/dist/domains/export/pdf-export.d.ts.map +1 -0
  94. package/dist/domains/export/pdf-export.test.d.ts +2 -0
  95. package/dist/domains/export/pdf-export.test.d.ts.map +1 -0
  96. package/dist/domains/export/watermark.d.ts +24 -0
  97. package/dist/domains/export/watermark.d.ts.map +1 -0
  98. package/dist/domains/export/watermark.test.d.ts +2 -0
  99. package/dist/domains/export/watermark.test.d.ts.map +1 -0
  100. package/dist/domains/index.d.ts +18 -0
  101. package/dist/domains/index.d.ts.map +1 -0
  102. package/dist/domains/ui/dialogs.d.ts +49 -0
  103. package/dist/domains/ui/dialogs.d.ts.map +1 -0
  104. package/dist/domains/ui/dialogs.test.d.ts +2 -0
  105. package/dist/domains/ui/dialogs.test.d.ts.map +1 -0
  106. package/dist/domains/ui/editors.d.ts +120 -0
  107. package/dist/domains/ui/editors.d.ts.map +1 -0
  108. package/dist/domains/ui/index.d.ts +9 -0
  109. package/dist/domains/ui/index.d.ts.map +1 -0
  110. package/dist/domains/viewer/actions.d.ts +90 -0
  111. package/dist/domains/viewer/actions.d.ts.map +1 -0
  112. package/dist/domains/viewer/actions.test.d.ts +2 -0
  113. package/dist/domains/viewer/actions.test.d.ts.map +1 -0
  114. package/dist/domains/viewer/index.d.ts +10 -0
  115. package/dist/domains/viewer/index.d.ts.map +1 -0
  116. package/dist/domains/viewer/persistence.d.ts +122 -0
  117. package/dist/domains/viewer/persistence.d.ts.map +1 -0
  118. package/dist/domains/viewer/persistence.test.d.ts +2 -0
  119. package/dist/domains/viewer/persistence.test.d.ts.map +1 -0
  120. package/dist/domains/viewer/types.d.ts +42 -0
  121. package/dist/domains/viewer/types.d.ts.map +1 -0
  122. package/dist/i18n/index.d.ts +77 -0
  123. package/dist/i18n/index.d.ts.map +1 -0
  124. package/dist/i18n/locales/en.d.ts +3 -0
  125. package/dist/i18n/locales/en.d.ts.map +1 -0
  126. package/dist/i18n/locales/zh-CN.d.ts +3 -0
  127. package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
  128. package/dist/i18n/types.d.ts +231 -0
  129. package/dist/i18n/types.d.ts.map +1 -0
  130. package/dist/icons/icon-registry.d.ts +69 -0
  131. package/dist/icons/icon-registry.d.ts.map +1 -0
  132. package/dist/icons/toolbar-icons.d.ts +38 -0
  133. package/dist/icons/toolbar-icons.d.ts.map +1 -0
  134. package/dist/index.d.ts +14 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.es.js +1 -0
  137. package/dist/layers/canvas-layer.d.ts +44 -0
  138. package/dist/layers/canvas-layer.d.ts.map +1 -0
  139. package/dist/layers/canvas-layer.test.d.ts +2 -0
  140. package/dist/layers/canvas-layer.test.d.ts.map +1 -0
  141. package/dist/layers/canvas-utils.d.ts +80 -0
  142. package/dist/layers/canvas-utils.d.ts.map +1 -0
  143. package/dist/layers/template-layer.d.ts +41 -0
  144. package/dist/layers/template-layer.d.ts.map +1 -0
  145. package/dist/panels/annotation-comments-panel.d.ts +80 -0
  146. package/dist/panels/annotation-comments-panel.d.ts.map +1 -0
  147. package/dist/panels/annotation-settings-panel.d.ts +60 -0
  148. package/dist/panels/annotation-settings-panel.d.ts.map +1 -0
  149. package/dist/panels/annotation-summary-panel.d.ts +127 -0
  150. package/dist/panels/annotation-summary-panel.d.ts.map +1 -0
  151. package/dist/panels/annotation-summary-panel.test.d.ts +2 -0
  152. package/dist/panels/annotation-summary-panel.test.d.ts.map +1 -0
  153. package/dist/panels/comment-input.d.ts +34 -0
  154. package/dist/panels/comment-input.d.ts.map +1 -0
  155. package/dist/panels/comment-input.test.d.ts +2 -0
  156. package/dist/panels/comment-input.test.d.ts.map +1 -0
  157. package/dist/panels/container-panel.d.ts +136 -0
  158. package/dist/panels/container-panel.d.ts.map +1 -0
  159. package/dist/panels/content-panel.d.ts +95 -0
  160. package/dist/panels/content-panel.d.ts.map +1 -0
  161. package/dist/panels/document-properties-panel.d.ts +54 -0
  162. package/dist/panels/document-properties-panel.d.ts.map +1 -0
  163. package/dist/panels/index.d.ts +26 -0
  164. package/dist/panels/index.d.ts.map +1 -0
  165. package/dist/panels/outline-panel.d.ts +32 -0
  166. package/dist/panels/outline-panel.d.ts.map +1 -0
  167. package/dist/panels/panel-factory.d.ts +37 -0
  168. package/dist/panels/panel-factory.d.ts.map +1 -0
  169. package/dist/panels/panel-integration-example.d.ts +49 -0
  170. package/dist/panels/panel-integration-example.d.ts.map +1 -0
  171. package/dist/panels/panel-manager.d.ts +98 -0
  172. package/dist/panels/panel-manager.d.ts.map +1 -0
  173. package/dist/panels/template-field-panel.d.ts +27 -0
  174. package/dist/panels/template-field-panel.d.ts.map +1 -0
  175. package/dist/panels/template-property-panel.d.ts +30 -0
  176. package/dist/panels/template-property-panel.d.ts.map +1 -0
  177. package/dist/panels/template-ui-helpers.d.ts +32 -0
  178. package/dist/panels/template-ui-helpers.d.ts.map +1 -0
  179. package/dist/panels/thumbnail-panel.d.ts +49 -0
  180. package/dist/panels/thumbnail-panel.d.ts.map +1 -0
  181. package/dist/pdfjs.d.ts +15 -0
  182. package/dist/pdfjs.d.ts.map +1 -0
  183. package/dist/plugins/examples/custom-tool-plugin.d.ts +12 -0
  184. package/dist/plugins/examples/custom-tool-plugin.d.ts.map +1 -0
  185. package/dist/plugins/index.d.ts +9 -0
  186. package/dist/plugins/index.d.ts.map +1 -0
  187. package/dist/plugins/plugin-manager.d.ts +108 -0
  188. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  189. package/dist/plugins/plugin-manager.test.d.ts +5 -0
  190. package/dist/plugins/plugin-manager.test.d.ts.map +1 -0
  191. package/dist/plugins/types.d.ts +167 -0
  192. package/dist/plugins/types.d.ts.map +1 -0
  193. package/dist/render/page-renderer.d.ts +16 -0
  194. package/dist/render/page-renderer.d.ts.map +1 -0
  195. package/dist/render/scale.d.ts +3 -0
  196. package/dist/render/scale.d.ts.map +1 -0
  197. package/dist/render/text-layer.d.ts +4 -0
  198. package/dist/render/text-layer.d.ts.map +1 -0
  199. package/dist/render/thumb-renderer.d.ts +3 -0
  200. package/dist/render/thumb-renderer.d.ts.map +1 -0
  201. package/dist/toolbar/button-registry.d.ts +56 -0
  202. package/dist/toolbar/button-registry.d.ts.map +1 -0
  203. package/dist/toolbar/toolbar-helpers.d.ts +168 -0
  204. package/dist/toolbar/toolbar-helpers.d.ts.map +1 -0
  205. package/dist/toolbar/toolbar-icons.d.ts +3 -0
  206. package/dist/toolbar/toolbar-icons.d.ts.map +1 -0
  207. package/dist/toolbar/toolbar.d.ts +116 -0
  208. package/dist/toolbar/toolbar.d.ts.map +1 -0
  209. package/dist/ui/color-picker.d.ts +72 -0
  210. package/dist/ui/color-picker.d.ts.map +1 -0
  211. package/dist/ui/slider.d.ts +25 -0
  212. package/dist/ui/slider.d.ts.map +1 -0
  213. package/dist/utils/annotation-utils.d.ts +13 -0
  214. package/dist/utils/annotation-utils.d.ts.map +1 -0
  215. package/dist/utils/color-utils.d.ts +42 -0
  216. package/dist/utils/color-utils.d.ts.map +1 -0
  217. package/dist/utils/confirm-dialog.d.ts +10 -0
  218. package/dist/utils/confirm-dialog.d.ts.map +1 -0
  219. package/dist/utils/deep-equal.d.ts +2 -0
  220. package/dist/utils/deep-equal.d.ts.map +1 -0
  221. package/dist/utils/deep-equal.test.d.ts +2 -0
  222. package/dist/utils/deep-equal.test.d.ts.map +1 -0
  223. package/dist/utils/document-utils.d.ts +63 -0
  224. package/dist/utils/document-utils.d.ts.map +1 -0
  225. package/dist/utils/id-generator.d.ts +41 -0
  226. package/dist/utils/id-generator.d.ts.map +1 -0
  227. package/dist/utils/image-preview.d.ts +7 -0
  228. package/dist/utils/image-preview.d.ts.map +1 -0
  229. package/dist/utils/timestamp.d.ts +3 -0
  230. package/dist/utils/timestamp.d.ts.map +1 -0
  231. package/dist/viewer/collaboration-runtime.d.ts +29 -0
  232. package/dist/viewer/collaboration-runtime.d.ts.map +1 -0
  233. package/dist/viewer/config.d.ts +481 -0
  234. package/dist/viewer/config.d.ts.map +1 -0
  235. package/dist/viewer/document-load-pipeline.d.ts +43 -0
  236. package/dist/viewer/document-load-pipeline.d.ts.map +1 -0
  237. package/dist/viewer/document-load-pipeline.test.d.ts +2 -0
  238. package/dist/viewer/document-load-pipeline.test.d.ts.map +1 -0
  239. package/dist/viewer/element.d.ts +174 -0
  240. package/dist/viewer/element.d.ts.map +1 -0
  241. package/dist/viewer/element.test.d.ts +2 -0
  242. package/dist/viewer/element.test.d.ts.map +1 -0
  243. package/dist/viewer/events.d.ts +212 -0
  244. package/dist/viewer/events.d.ts.map +1 -0
  245. package/dist/viewer/export-orchestrator.d.ts +9 -0
  246. package/dist/viewer/export-orchestrator.d.ts.map +1 -0
  247. package/dist/viewer/headless.d.ts +108 -0
  248. package/dist/viewer/headless.d.ts.map +1 -0
  249. package/dist/viewer/internal-event-bindings.d.ts +26 -0
  250. package/dist/viewer/internal-event-bindings.d.ts.map +1 -0
  251. package/dist/viewer/internal-event-bindings.test.d.ts +2 -0
  252. package/dist/viewer/internal-event-bindings.test.d.ts.map +1 -0
  253. package/dist/viewer/modal.d.ts +22 -0
  254. package/dist/viewer/modal.d.ts.map +1 -0
  255. package/dist/viewer/page-indicator.d.ts +56 -0
  256. package/dist/viewer/page-indicator.d.ts.map +1 -0
  257. package/dist/viewer/pdfjs-resources.d.ts +12 -0
  258. package/dist/viewer/pdfjs-resources.d.ts.map +1 -0
  259. package/dist/viewer/server-writeback.d.ts +23 -0
  260. package/dist/viewer/server-writeback.d.ts.map +1 -0
  261. package/dist/viewer/server-writeback.test.d.ts +2 -0
  262. package/dist/viewer/server-writeback.test.d.ts.map +1 -0
  263. package/dist/viewer/ui-handler-helpers.d.ts +19 -0
  264. package/dist/viewer/ui-handler-helpers.d.ts.map +1 -0
  265. package/dist/viewer/ui-handler-helpers.test.d.ts +2 -0
  266. package/dist/viewer/ui-handler-helpers.test.d.ts.map +1 -0
  267. package/dist/viewer/viewer-header.d.ts +67 -0
  268. package/dist/viewer/viewer-header.d.ts.map +1 -0
  269. package/dist/virtual/page-position-cache.d.ts +24 -0
  270. package/dist/virtual/page-position-cache.d.ts.map +1 -0
  271. package/dist/virtual/render-pool.d.ts +23 -0
  272. package/dist/virtual/render-pool.d.ts.map +1 -0
  273. package/dist/virtual/render-pool.test.d.ts +2 -0
  274. package/dist/virtual/render-pool.test.d.ts.map +1 -0
  275. package/dist/virtual/types.d.ts +16 -0
  276. package/dist/virtual/types.d.ts.map +1 -0
  277. package/dist/virtual/virtual-page-manager.d.ts +54 -0
  278. package/dist/virtual/virtual-page-manager.d.ts.map +1 -0
  279. package/dist/watermark/watermark-layer.d.ts +58 -0
  280. package/dist/watermark/watermark-layer.d.ts.map +1 -0
  281. package/dist/watermark/watermark-settings.d.ts +79 -0
  282. package/dist/watermark/watermark-settings.d.ts.map +1 -0
  283. package/dist/watermark/watermark-ui-helpers.d.ts +78 -0
  284. package/dist/watermark/watermark-ui-helpers.d.ts.map +1 -0
  285. package/package.json +29 -0
@@ -0,0 +1,168 @@
1
+ import { ScaleMode } from '@jacktea/pdf-viewer-core';
2
+ export interface ZoomControls {
3
+ wrapper: HTMLDivElement;
4
+ zoomOut: HTMLButtonElement;
5
+ zoomIn: HTMLButtonElement;
6
+ zoomInput: HTMLInputElement;
7
+ }
8
+ /**
9
+ * Create an icon button with the given label, icon, and class name
10
+ * @param label - Display label for accessibility
11
+ * @param icon - SVG icon HTML
12
+ * @param className - CSS class name
13
+ * @param i18nKey - Optional i18n key for auto-update of title/aria-label
14
+ */
15
+ export declare function createIconButton(label: string, icon: string, className: string, i18nKey?: string): HTMLButtonElement;
16
+ /**
17
+ * Set the active state of a button
18
+ */
19
+ export declare function setButtonActive(button: HTMLButtonElement, active: boolean): void;
20
+ /**
21
+ * Create zoom controls (zoom out button, input, zoom in button)
22
+ */
23
+ export declare function createZoomControls(icons: {
24
+ zoomIn: string;
25
+ zoomOut: string;
26
+ }): ZoomControls;
27
+ /**
28
+ * Parse zoom percentage from input value
29
+ */
30
+ export declare function parseZoomInput(value: string): number | null;
31
+ /**
32
+ * Build the left toolbar group (panel toggle, open buttons)
33
+ */
34
+ export interface LeftGroupElements {
35
+ panelToggleButton: HTMLButtonElement;
36
+ fileInput: HTMLInputElement;
37
+ openButton: HTMLButtonElement;
38
+ cloudButton: HTMLButtonElement;
39
+ }
40
+ export declare function buildLeftGroup(icons: {
41
+ panel: string;
42
+ open: string;
43
+ cloud: string;
44
+ }): {
45
+ element: HTMLDivElement;
46
+ elements: LeftGroupElements;
47
+ };
48
+ /**
49
+ * Build preview mode segment buttons
50
+ */
51
+ export interface PreviewSegmentElements {
52
+ selectButton: HTMLButtonElement;
53
+ panButton: HTMLButtonElement;
54
+ }
55
+ export declare function buildPreviewSegment(icons: {
56
+ select: string;
57
+ pan: string;
58
+ }): {
59
+ element: HTMLDivElement;
60
+ elements: PreviewSegmentElements;
61
+ };
62
+ /**
63
+ * Build scale mode buttons
64
+ */
65
+ export interface ScaleButtons {
66
+ width: HTMLButtonElement;
67
+ page: HTMLButtonElement;
68
+ actual: HTMLButtonElement;
69
+ }
70
+ export declare function buildScaleButtons(icons: {
71
+ fitWidth: string;
72
+ fitPage: string;
73
+ fitActual: string;
74
+ }): {
75
+ element: HTMLDivElement;
76
+ buttons: ScaleButtons;
77
+ };
78
+ /**
79
+ * Build undo/redo buttons
80
+ */
81
+ export interface UndoRedoButtons {
82
+ undo: HTMLButtonElement;
83
+ redo: HTMLButtonElement;
84
+ }
85
+ export declare function buildUndoRedoButtons(icons: {
86
+ undo: string;
87
+ redo: string;
88
+ }): {
89
+ undo: HTMLButtonElement;
90
+ redo: HTMLButtonElement;
91
+ };
92
+ /**
93
+ * Build annotation tool buttons
94
+ */
95
+ export interface AnnotationToolGroupElements {
96
+ markupGroup: HTMLDivElement;
97
+ shapeGroup: HTMLDivElement;
98
+ textButton: HTMLButtonElement | null;
99
+ eraseButton: HTMLButtonElement | null;
100
+ allButtons: Map<string, HTMLButtonElement>;
101
+ }
102
+ export declare function buildAnnotationToolGroups(icons: {
103
+ highlight: string;
104
+ underline: string;
105
+ strike: string;
106
+ rect: string;
107
+ ellipse: string;
108
+ draw: string;
109
+ text: string;
110
+ erase: string;
111
+ }): AnnotationToolGroupElements;
112
+ /**
113
+ * Build the right toolbar group
114
+ */
115
+ export interface RightGroupElements {
116
+ annotationsToggleButton: HTMLButtonElement;
117
+ inspectorToggleButton: HTMLButtonElement;
118
+ }
119
+ export declare function buildRightGroup(icons: {
120
+ eye: string;
121
+ info: string;
122
+ }): {
123
+ element: HTMLDivElement;
124
+ elements: RightGroupElements;
125
+ };
126
+ /**
127
+ * Build edit mode right group (watermark, download, save)
128
+ */
129
+ export interface EditRightGroupElements {
130
+ watermarkToggleButton: HTMLButtonElement;
131
+ downloadButton: HTMLButtonElement;
132
+ saveButton: HTMLButtonElement;
133
+ }
134
+ export declare function buildEditRightGroup(icons: {
135
+ watermark: string;
136
+ download: string;
137
+ save: string;
138
+ }): {
139
+ element: HTMLDivElement;
140
+ elements: EditRightGroupElements;
141
+ };
142
+ /**
143
+ * Build annotation mode right group (save button only)
144
+ */
145
+ export declare function buildAnnotationRightGroup(icons: {
146
+ save: string;
147
+ }): HTMLDivElement;
148
+ /**
149
+ * Update toolbar buttons disabled state based on viewer state
150
+ */
151
+ export declare function updateButtonsDisabledState(buttons: HTMLButtonElement[], hasDoc: boolean): void;
152
+ /**
153
+ * Update undo/redo button states
154
+ */
155
+ export declare function updateUndoRedoStates(undoButtons: HTMLButtonElement[], redoButtons: HTMLButtonElement[], hasDoc: boolean, canUndo: boolean, canRedo: boolean): void;
156
+ /**
157
+ * Set scale mode button active states
158
+ */
159
+ export declare function setScaleModeActive(scaleButtons: ScaleButtons, mode: ScaleMode): void;
160
+ /**
161
+ * Set preview mode button active states
162
+ */
163
+ export declare function setPreviewModeActive(previewSelect: HTMLButtonElement, previewPan: HTMLButtonElement, editSelect: HTMLButtonElement, editPan: HTMLButtonElement, mode: "select" | "pan"): void;
164
+ /**
165
+ * Set annotation tool button active states
166
+ */
167
+ export declare function setAnnotationToolActive(toolButtons: Map<string, HTMLButtonElement>, activeTool: string): void;
168
+ //# sourceMappingURL=toolbar-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-helpers.d.ts","sourceRoot":"","sources":["../../src/toolbar/toolbar-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { toolbarIcons } from '../icons/toolbar-icons';
2
+ export type { ToolbarIconKey } from '../icons/toolbar-icons';
3
+ //# sourceMappingURL=toolbar-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-icons.d.ts","sourceRoot":"","sources":["../../src/toolbar/toolbar-icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { ViewerState, ScaleMode } from '@jacktea/pdf-viewer-core';
2
+ import { AnnotationTool } from '../annotations/types';
3
+ import { ModeLayoutConfig, ToolbarButtonConfig } from '../viewer/config';
4
+ export interface ToolbarHandlers {
5
+ onOpenFile?: (file: File) => void;
6
+ onOpenRemote?: () => void;
7
+ onTogglePanel?: () => void;
8
+ onPreviewModeChange?: (mode: "select" | "pan") => void;
9
+ onZoomIn?: () => void;
10
+ onZoomOut?: () => void;
11
+ onZoomChange?: (scale: number) => void;
12
+ onRotate?: () => void;
13
+ onScaleModeChange?: (mode: ScaleMode) => void;
14
+ onFullScreen?: () => void;
15
+ onAnnotationToolSelect?: (tool: AnnotationTool) => void;
16
+ onExport?: () => void;
17
+ onDownload?: () => void;
18
+ onSave?: () => void;
19
+ onUndo?: () => void;
20
+ onRedo?: () => void;
21
+ onInspectorToggle?: () => void;
22
+ onToggleAnnotations?: () => void;
23
+ onWatermarkToggle?: () => void;
24
+ onToggleEdit?: () => void;
25
+ onToggleTemplateProperties?: () => void;
26
+ }
27
+ export declare class ViewerToolbar {
28
+ private handlers;
29
+ readonly element: HTMLDivElement;
30
+ private fileInput;
31
+ private configZoomControls;
32
+ private configButtons;
33
+ private configUndoButtons;
34
+ private configRedoButtons;
35
+ private configScaleButtons;
36
+ private configSelectButton;
37
+ private configPanButton;
38
+ private configAnnotationToolButtons;
39
+ private currentMode;
40
+ constructor(handlers: ToolbarHandlers);
41
+ /**
42
+ * Attach event listeners to zoom controls
43
+ */
44
+ private attachZoomEventListeners;
45
+ setState(state: ViewerState): void;
46
+ setPanelOpen(open: boolean): void;
47
+ setPreviewToggles(infoOpen: boolean, commentsOpen: boolean): void;
48
+ setWatermarkActive(active: boolean): void;
49
+ setToggleActive(key: string, active: boolean): void;
50
+ setPreviewMode(mode: "select" | "pan"): void;
51
+ setScaleMode(mode: ScaleMode): void;
52
+ setAnnotationTool(tool: AnnotationTool): void;
53
+ private handleZoomInputChange;
54
+ /**
55
+ * Set toolbar visibility
56
+ */
57
+ setVisible(visible: boolean): void;
58
+ /**
59
+ * Apply mode-specific configuration
60
+ * Dynamically renders toolbar based on configuration
61
+ */
62
+ applyModeConfig(mode: string, config?: ModeLayoutConfig): void;
63
+ /**
64
+ * Clear all dynamically created elements
65
+ */
66
+ private clearDynamicElements;
67
+ /**
68
+ * Create a UI element from button configuration
69
+ * Uses isComposite from ButtonDefinition and container from config for routing
70
+ */
71
+ private createElementFromConfig;
72
+ /**
73
+ * Create container element (segment or group) with children
74
+ */
75
+ private createContainerElement;
76
+ /**
77
+ * Create segment container (single-select toggle buttons)
78
+ * Clicking any button highlights it and deactivates others in the group
79
+ */
80
+ private createSegmentContainer;
81
+ /**
82
+ * Create group container (annotation tools, scale buttons, etc.)
83
+ */
84
+ private createGroupContainer;
85
+ /**
86
+ * Create composite component (multi-element as single unit)
87
+ */
88
+ private createCompositeComponent;
89
+ /**
90
+ * Create zoom controls (zoomOut, zoomInput, zoomIn)
91
+ */
92
+ private createZoomControlsElement;
93
+ /**
94
+ * Create annotation tools (select, highlight, underline, strike, draw, rect, ellipse, text, erase)
95
+ */
96
+ private createAnnotationToolsElement;
97
+ /**
98
+ * Create a single button element
99
+ */
100
+ private createButtonElement;
101
+ /**
102
+ * Attach event handler to button
103
+ */
104
+ private attachButtonHandler;
105
+ /**
106
+ * Get button icon by key
107
+ */
108
+ getButtonIcon(key: string): string;
109
+ /**
110
+ * Create a button element from configuration
111
+ * This can be used by external code to add custom buttons
112
+ * @deprecated Use createElementFromConfig instead
113
+ */
114
+ createButtonFromConfig(config: ToolbarButtonConfig): HTMLButtonElement | null;
115
+ }
116
+ //# sourceMappingURL=toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../src/toolbar/toolbar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ export interface ColorPickerOptions {
2
+ color: string;
3
+ opacity?: number;
4
+ hasOpacity?: boolean;
5
+ presets?: string[];
6
+ onChange: (color: string, opacity: number) => void;
7
+ }
8
+ export interface ColorInputOptions {
9
+ label?: string;
10
+ i18nKey?: string;
11
+ color: string;
12
+ opacity?: number;
13
+ hasOpacity?: boolean;
14
+ displayMode?: "compact" | "inline";
15
+ presets?: string[];
16
+ onChange: (color: string, opacity: number) => void;
17
+ }
18
+ export declare class ColorInput {
19
+ private options;
20
+ readonly element: HTMLDivElement;
21
+ private wrapper;
22
+ private labelEl?;
23
+ private trigger;
24
+ private triggerColor;
25
+ private opacitySlider?;
26
+ private picker;
27
+ private color;
28
+ private opacity;
29
+ constructor(options: ColorInputOptions);
30
+ private buildUI;
31
+ private buildCompactUI;
32
+ private buildInlineUI;
33
+ private togglePicker;
34
+ private openPicker;
35
+ private closePicker;
36
+ private handleOutsideClick;
37
+ private updateValue;
38
+ updateColor(color: string, opacity?: number): void;
39
+ private updateUI;
40
+ destroy(): void;
41
+ setLabel(label: string): void;
42
+ getLabelElement(): HTMLSpanElement | undefined;
43
+ }
44
+ export declare class ColorPicker {
45
+ private options;
46
+ private element;
47
+ private saturationArea;
48
+ private saturationHandle;
49
+ private hueSlider;
50
+ private hueHandle;
51
+ private alphaSlider;
52
+ private alphaHandle;
53
+ private alphaGradient;
54
+ private previewColor;
55
+ private inputs;
56
+ private hsb;
57
+ private alpha;
58
+ private currentHex;
59
+ private isDragging;
60
+ private cleanup;
61
+ constructor(options: ColorPickerOptions);
62
+ private injectStyles;
63
+ getElement(): HTMLDivElement;
64
+ destroy(): void;
65
+ private build;
66
+ private bindEvents;
67
+ private handleMove;
68
+ private updateUI;
69
+ private emitChange;
70
+ setColorFromHex(hex: string): void;
71
+ }
72
+ //# sourceMappingURL=color-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-picker.d.ts","sourceRoot":"","sources":["../../src/ui/color-picker.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,qBAAa,UAAU;IAYT,OAAO,CAAC,OAAO;IAX3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAC,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAmB;IACzC,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEJ,OAAO,EAAE,iBAAiB;IAiC9C,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,aAAa;IA2DrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,WAAW;IAOZ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMzD,OAAO,CAAC,QAAQ;IAuCT,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B,eAAe,IAAI,eAAe,GAAG,SAAS;CAGtD;AAcD,qBAAa,WAAW;IA6BV,OAAO,CAAC,OAAO;IA5B3B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,MAAM,CAMA;IAEd,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAIhB;IAEF,OAAO,CAAC,OAAO,CAAsB;gBAEjB,OAAO,EAAE,kBAAkB;IAa/C,OAAO,CAAC,YAAY;IAUpB,UAAU,IAAI,cAAc;IAI5B,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,KAAK;IA4Gb,OAAO,CAAC,UAAU;IAuElB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,QAAQ;IAyChB,OAAO,CAAC,UAAU;IAUlB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAOnC"}
@@ -0,0 +1,25 @@
1
+ export interface SliderOptions {
2
+ i18nKey?: string;
3
+ label?: string;
4
+ value: number;
5
+ min: number;
6
+ max: number;
7
+ step?: number;
8
+ suffix?: string;
9
+ showValue?: boolean;
10
+ onChange: (value: number) => void;
11
+ }
12
+ export declare class Slider {
13
+ private options;
14
+ readonly element: HTMLDivElement;
15
+ private input;
16
+ private valueDisplay?;
17
+ private labelEl?;
18
+ constructor(options: SliderOptions);
19
+ private injectStyles;
20
+ private buildUI;
21
+ private updateValueDisplay;
22
+ setValue(value: number): void;
23
+ getBoundingClientRect(): DOMRect;
24
+ }
25
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/ui/slider.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,MAAM;IAML,OAAO,CAAC,OAAO;IAL3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAEd,OAAO,EAAE,aAAa;IAS1C,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAkDf,OAAO,CAAC,kBAAkB;IAMnB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,qBAAqB,IAAI,OAAO;CAGxC"}
@@ -0,0 +1,13 @@
1
+ import { AnnotationTool } from '../annotations/types';
2
+ /**
3
+ * Checks if annotation tool is a text mark type
4
+ * @param tool - Annotation tool to check
5
+ * @returns True if tool is highlight, underline, or strike
6
+ * @example
7
+ * ```ts
8
+ * isTextMarkTool("highlight") // true
9
+ * isTextMarkTool("draw") // false
10
+ * ```
11
+ */
12
+ export declare function isTextMarkTool(tool: AnnotationTool): boolean;
13
+ //# sourceMappingURL=annotation-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-utils.d.ts","sourceRoot":"","sources":["../../src/utils/annotation-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE5D"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Color utility functions for HEX, RGB, and HSB conversions
3
+ */
4
+ export interface RGB {
5
+ r: number;
6
+ g: number;
7
+ b: number;
8
+ }
9
+ export interface HSB {
10
+ h: number;
11
+ s: number;
12
+ b: number;
13
+ }
14
+ /**
15
+ * Convert HEX color string to RGB object
16
+ */
17
+ export declare function hexToRgb(hex: string): RGB | null;
18
+ /**
19
+ * Convert RGB object to HEX string
20
+ */
21
+ export declare function rgbToHex({ r, g, b }: RGB): string;
22
+ /**
23
+ * Convert RGB object to HSB object
24
+ */
25
+ export declare function rgbToHsb({ r, g, b }: RGB): HSB;
26
+ /**
27
+ * Convert HSB object to RGB object
28
+ */
29
+ export declare function hsbToRgb({ h, s, b }: HSB): RGB;
30
+ /**
31
+ * Convert HEX string to HSB object
32
+ */
33
+ export declare function hexToHsb(hex: string): HSB;
34
+ /**
35
+ * Convert HSB object to HEX string
36
+ */
37
+ export declare function hsbToHex(hsb: HSB): string;
38
+ /**
39
+ * Get contrasting text color (black or white) for a given background color
40
+ */
41
+ export declare function getContrastColor(hex: string): string;
42
+ //# sourceMappingURL=color-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../src/utils/color-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAShD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,MAAM,CAQjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAgC9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAW9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAIzC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD"}
@@ -0,0 +1,10 @@
1
+ export interface ConfirmDialogOptions {
2
+ anchor: HTMLElement;
3
+ title?: string;
4
+ message: string;
5
+ onConfirm: () => void;
6
+ }
7
+ export declare function openConfirmDialog(options: ConfirmDialogOptions): {
8
+ close: () => void;
9
+ };
10
+ //# sourceMappingURL=confirm-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-dialog.d.ts","sourceRoot":"","sources":["../../src/utils/confirm-dialog.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAsCtF"}
@@ -0,0 +1,2 @@
1
+ export declare function deepEqual<T = any>(a: T, b: T, seen?: WeakMap<object, object>): boolean;
2
+ //# sourceMappingURL=deep-equal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-equal.d.ts","sourceRoot":"","sources":["../../src/utils/deep-equal.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,GAAG,GAAG,EAC/B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,IAAI,GAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAiB,GAC5C,OAAO,CAiDT"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deep-equal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-equal.test.d.ts","sourceRoot":"","sources":["../../src/utils/deep-equal.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import { DocumentSource } from '@jacktea/pdf-viewer-core';
2
+ /**
3
+ * Resolves document name from various source types
4
+ * @param source - Document source (URL, File, Blob, ArrayBuffer, etc.)
5
+ * @returns Document name or null if not available
6
+ * @example
7
+ * ```ts
8
+ * resolveDocumentName("https://example.com/doc.pdf") // "doc.pdf"
9
+ * resolveDocumentName(new File(["data"], "local.pdf")) // "local.pdf"
10
+ * ```
11
+ */
12
+ export declare function resolveDocumentName(source: DocumentSource | string | Blob | ArrayBuffer | Uint8Array): string | null;
13
+ /**
14
+ * Extracts filename from URL by removing query parameters and fragments
15
+ * @param url - URL string
16
+ * @returns Filename from URL path
17
+ * @example
18
+ * ```ts
19
+ * extractNameFromUrl("https://example.com/path/doc.pdf?v=1") // "doc.pdf"
20
+ * extractNameFromUrl("https://example.com/path/to/file.pdf#page=5") // "file.pdf"
21
+ * ```
22
+ */
23
+ export declare function extractNameFromUrl(url: string): string;
24
+ /**
25
+ * Normalizes various document source types into DocumentSource format
26
+ * @param source - Document source in any supported format
27
+ * @returns Normalized DocumentSource
28
+ * @throws Error if source type is unsupported
29
+ * @example
30
+ * ```ts
31
+ * await normalizeSource("https://example.com/doc.pdf")
32
+ * // { type: "url", url: "https://example.com/doc.pdf" }
33
+ * ```
34
+ */
35
+ export declare function normalizeSource(source: DocumentSource | string | Blob | ArrayBuffer | Uint8Array): Promise<DocumentSource>;
36
+ /**
37
+ * Type guard to check if value is a DocumentSource
38
+ * @param value - Value to check
39
+ * @returns True if value is a DocumentSource
40
+ */
41
+ export declare function isDocumentSource(value: unknown): value is DocumentSource;
42
+ /**
43
+ * Creates a localStorage key for persisting document data
44
+ * @param source - Document source
45
+ * @returns Storage key or undefined if source has no data
46
+ * @example
47
+ * ```ts
48
+ * createDocumentStorageKey({ type: "url", url: "https://example.com/doc.pdf" })
49
+ * // "pdf-viewer:url:https://example.com/doc.pdf"
50
+ * ```
51
+ */
52
+ export declare function createDocumentStorageKey(source: DocumentSource): string | undefined;
53
+ /**
54
+ * Computes FNV-1a hash of byte array for generating unique keys
55
+ * @param data - Data to hash
56
+ * @returns Hexadecimal hash string
57
+ * @example
58
+ * ```ts
59
+ * hashBytes(new Uint8Array([1, 2, 3])) // "3c829829"
60
+ * ```
61
+ */
62
+ export declare function hashBytes(data: Uint8Array): string;
63
+ //# sourceMappingURL=document-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-utils.d.ts","sourceRoot":"","sources":["../../src/utils/document-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAChE,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAItD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAChE,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAMxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAQnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAOlD"}
@@ -0,0 +1,41 @@
1
+ import { Annotation } from '@jacktea/pdf-viewer-core';
2
+ export interface CreateAnnotationInput {
3
+ pageIndex: number;
4
+ type: Annotation["type"];
5
+ geometry: Annotation["geometry"];
6
+ style: Annotation["style"];
7
+ metadata?: Partial<Annotation["metadata"]>;
8
+ createAnnotationId?: () => string;
9
+ createAnnotationCode?: () => string;
10
+ }
11
+ /**
12
+ * Generates a unique comment ID
13
+ * @returns Unique comment identifier (UUID format)
14
+ * @example
15
+ * ```ts
16
+ * createCommentId() // "550e8400-e29b-41d4-a716-446655440000"
17
+ * ```
18
+ */
19
+ export declare function createCommentId(): string;
20
+ /**
21
+ * Generates a unique annotation ID
22
+ * @returns Unique annotation identifier (UUID format)
23
+ * @example
24
+ * ```ts
25
+ * createAnnotationId() // "550e8400-e29b-41d4-a716-446655440000"
26
+ * ```
27
+ */
28
+ export declare function createAnnotationId(): string;
29
+ /**
30
+ * Generates a readable comment code
31
+ */
32
+ export declare function createCommentCode(): string;
33
+ /**
34
+ * Generates a readable annotation code
35
+ */
36
+ export declare function createAnnotationCode(): string;
37
+ /**
38
+ * Creates an annotation with default metadata and ID generation
39
+ */
40
+ export declare function createAnnotation(input: CreateAnnotationInput): Annotation;
41
+ //# sourceMappingURL=id-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-generator.d.ts","sourceRoot":"","sources":["../../src/utils/id-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACjC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;CACrC;AAqBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAK3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAsBzE"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Image Preview Utility
3
+ *
4
+ * Provides a simple full-screen image preview overlay.
5
+ */
6
+ export declare function showFullScreenImage(srcSource: string | string[], initialIndex?: number): void;
7
+ //# sourceMappingURL=image-preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-preview.d.ts","sourceRoot":"","sources":["../../src/utils/image-preview.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,YAAY,GAAE,MAAU,GAAG,IAAI,CAiJhG"}
@@ -0,0 +1,3 @@
1
+ export declare function toTimestampMs(value: unknown): number | null;
2
+ export declare function formatTimestampMs(value: unknown, options?: Intl.DateTimeFormatOptions): string;
3
+ //# sourceMappingURL=timestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/utils/timestamp.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAqB3D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM,CAMR"}