@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,174 @@
1
+ import { DocumentSource, ViewerState, ScaleMode, ViewerListener, Annotation, AnnotationComment, CommentThread, PdfData, DocumentMode } from '@jacktea/pdf-viewer-core';
2
+ import { LayoutModeConfig, LayoutMode, PdfViewerConfig } from './config';
3
+ import { ServerWritebackPayload } from './server-writeback';
4
+ import { DIContainer } from '../di';
5
+ import { PluginManager, PdfViewerPlugin, PluginOptions } from '../plugins';
6
+ export declare class PdfViewerElement extends HTMLElement {
7
+ static get observedAttributes(): string[];
8
+ private readonly container;
9
+ private controller;
10
+ private ui?;
11
+ private annotationCoordinator?;
12
+ private panelCoordinator?;
13
+ private modeCoordinator?;
14
+ private eventDispatcher?;
15
+ private pluginManager;
16
+ private readonly stateSync;
17
+ private unsubscribe?;
18
+ private annotationUnsubscribe?;
19
+ private commentUnsubscribe?;
20
+ private localeUnsubscribe?;
21
+ private keydownListener?;
22
+ private detachInternalEventBindings?;
23
+ private collaborationBindings;
24
+ private lastState?;
25
+ private documentStorageKey?;
26
+ private documentName?;
27
+ private currentWatermark;
28
+ private forceNextScroll;
29
+ private forceScrollBehavior;
30
+ private ignoreNextScrollSync;
31
+ private hasRestoredPersistedData;
32
+ private config;
33
+ constructor();
34
+ private getAnnotationConfig;
35
+ private generateCommentId;
36
+ private generateCommentCode;
37
+ private createAnnotationFromConfig;
38
+ /**
39
+ * Register all services with the DI container
40
+ */
41
+ private registerServices;
42
+ private requestPdfPassword;
43
+ private initializeCollaboration;
44
+ connectedCallback(): void;
45
+ disconnectedCallback(): void;
46
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
47
+ loadDocument(source: DocumentSource | string | Blob | ArrayBuffer | Uint8Array): Promise<void>;
48
+ setPage(page: number): void;
49
+ zoomIn(): void;
50
+ zoomOut(): void;
51
+ rotate(): void;
52
+ toggleFullScreen(): void;
53
+ addAnnotation(annotation: Annotation): void;
54
+ updateAnnotation(annotation: Annotation): void;
55
+ removeAnnotation(annotationId: string): void;
56
+ selectAnnotation(annotationId: string | null): void;
57
+ getAnnotations(): Annotation[];
58
+ setAnnotations(annotations: Annotation[]): void;
59
+ get compact(): boolean;
60
+ set compact(value: boolean);
61
+ get locale(): string;
62
+ set locale(value: string);
63
+ setLocale(locale: string): void;
64
+ getCommentThreads(): CommentThread[];
65
+ setCommentThreads(threads: CommentThread[]): void;
66
+ addComment(comment: AnnotationComment): void;
67
+ updateComment(comment: AnnotationComment): void;
68
+ removeComment(annotationId: string, commentId: string): void;
69
+ resolveCommentThread(annotationId: string): void | undefined;
70
+ reopenCommentThread(annotationId: string): void | undefined;
71
+ setDocumentMode(mode: DocumentMode, options?: {
72
+ broadcast?: boolean;
73
+ }): void;
74
+ /**
75
+ * Reconcile temporary local IDs/codes with server-generated values.
76
+ */
77
+ writeBackFromServer(payload: ServerWritebackPayload): void;
78
+ deletePage(pageIndex: number): void;
79
+ movePage(fromIndex: number, toIndex: number): void;
80
+ undo(): void;
81
+ redo(): void;
82
+ exportPdf(embedWatermark?: boolean): Promise<Uint8Array>;
83
+ /**
84
+ * Export all user-added data (Watermarks, Annotations, Comments, Templates) as a unified JSON object.
85
+ */
86
+ exportData(): Promise<PdfData>;
87
+ /**
88
+ * Import data (Watermarks, Annotations, Comments, Templates) from a unified JSON object.
89
+ * This will replace the current state.
90
+ */
91
+ importData(data: PdfData): Promise<void>;
92
+ getState(): ViewerState;
93
+ subscribe(listener: ViewerListener): () => void;
94
+ /**
95
+ * Get the DI container for this viewer instance
96
+ * Useful for testing and advanced customization
97
+ */
98
+ getContainer(): DIContainer;
99
+ /**
100
+ * Register a plugin with the viewer
101
+ */
102
+ registerPlugin(plugin: PdfViewerPlugin, options?: PluginOptions): void;
103
+ /**
104
+ * Unregister a plugin by name
105
+ */
106
+ unregisterPlugin(name: string): void;
107
+ /**
108
+ * Get a registered plugin by name
109
+ */
110
+ getPlugin(name: string): PdfViewerPlugin | undefined;
111
+ /**
112
+ * Get all registered plugins
113
+ */
114
+ getPlugins(): PdfViewerPlugin[];
115
+ /**
116
+ * Check if a plugin is registered
117
+ */
118
+ hasPlugin(name: string): boolean;
119
+ /**
120
+ * Get the plugin manager for advanced usage
121
+ */
122
+ getPluginManager(): PluginManager;
123
+ get page(): number;
124
+ set page(value: number);
125
+ get scale(): number;
126
+ set scale(value: number);
127
+ get rotation(): number;
128
+ set rotation(value: number);
129
+ get src(): string | null;
130
+ set src(value: string | null);
131
+ get scaleMode(): ScaleMode;
132
+ set scaleMode(value: ScaleMode);
133
+ /**
134
+ * Set the layout mode configuration
135
+ * This enables configuration-driven layout customization
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * viewer.setLayoutModeConfig({
140
+ * layout: "simple",
141
+ * pageIndicator: { items: ["pageNo", "sep", "pageTotal", "zoomIn", "zoomOut"] }
142
+ * });
143
+ * ```
144
+ */
145
+ setLayoutModeConfig(config: LayoutModeConfig): void;
146
+ /**
147
+ * Get the current layout mode
148
+ */
149
+ getLayoutMode(): LayoutMode;
150
+ /**
151
+ * Set the viewer configuration
152
+ */
153
+ setConfig(config: Partial<PdfViewerConfig>): void;
154
+ private ensureCoordinators;
155
+ private ensureUi;
156
+ private handleStateChange;
157
+ private navigateAnnotationSelection;
158
+ private updateWatermarkState;
159
+ private getPanelManager;
160
+ private getThumbnailPanels;
161
+ private getOutlinePanel;
162
+ private getDocumentPropertiesPanel;
163
+ private resolveVisibleIndex;
164
+ private syncPageIndicator;
165
+ private syncAttributes;
166
+ private setPageFromUi;
167
+ private commitPageIndicator;
168
+ private handleOpenRemote;
169
+ private handleExport;
170
+ private dispatchDocumentChange;
171
+ private handleTooltipMouseOver;
172
+ private handleTooltipMouseOut;
173
+ }
174
+ //# sourceMappingURL=element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/viewer/element.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=element.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.test.d.ts","sourceRoot":"","sources":["../../src/viewer/element.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,212 @@
1
+ import { Annotation, PdfDocumentHandle } from '@jacktea/pdf-viewer-core';
2
+ /**
3
+ * Document lifecycle events
4
+ */
5
+ export interface DocumentLoadEvent {
6
+ document: PdfDocumentHandle;
7
+ pageCount: number;
8
+ documentName?: string;
9
+ }
10
+ export interface DocumentUnloadEvent {
11
+ documentName?: string;
12
+ }
13
+ export interface DocumentErrorEvent {
14
+ error: Error;
15
+ message: string;
16
+ }
17
+ /**
18
+ * Page events
19
+ */
20
+ export interface PageChangeEvent {
21
+ page: number;
22
+ pageCount: number;
23
+ }
24
+ export interface PageRenderEvent {
25
+ pageIndex: number;
26
+ canvas: HTMLCanvasElement;
27
+ scale: number;
28
+ rotation: number;
29
+ }
30
+ /**
31
+ * Zoom events
32
+ */
33
+ export interface ZoomChangeEvent {
34
+ scale: number;
35
+ previousScale: number;
36
+ }
37
+ /**
38
+ * Rotation events
39
+ */
40
+ export interface RotationChangeEvent {
41
+ rotation: number;
42
+ previousRotation: number;
43
+ }
44
+ /**
45
+ * Mode change events
46
+ */
47
+ export interface ModeChangeEvent {
48
+ mode: "preview" | "annotation" | "edit";
49
+ previousMode: "preview" | "annotation" | "edit";
50
+ }
51
+ export interface ThemeChangeEvent {
52
+ theme: "light" | "dark";
53
+ previousTheme: "light" | "dark";
54
+ isInternal?: boolean;
55
+ }
56
+ /**
57
+ * Panel events
58
+ */
59
+ export interface PanelOpenEvent {
60
+ panelId: "left" | "right";
61
+ panelType?: string;
62
+ }
63
+ export interface PanelCloseEvent {
64
+ panelId: "left" | "right";
65
+ panelType?: string;
66
+ }
67
+ export interface PanelResizeEvent {
68
+ panelId: "left" | "right";
69
+ width: number;
70
+ previousWidth: number;
71
+ }
72
+ /**
73
+ * Annotation events
74
+ */
75
+ export interface AnnotationAddEvent {
76
+ annotation: Annotation;
77
+ }
78
+ export interface AnnotationUpdateEvent {
79
+ annotation: Annotation;
80
+ previousAnnotation: Annotation;
81
+ }
82
+ export interface AnnotationRemoveEvent {
83
+ annotationId: string;
84
+ annotation: Annotation;
85
+ }
86
+ export interface AnnotationSelectEvent {
87
+ annotationId: string | null;
88
+ annotation: Annotation | null;
89
+ previousAnnotationId: string | null;
90
+ }
91
+ /**
92
+ * Toolbar events
93
+ */
94
+ export interface ToolbarActionEvent {
95
+ actionId: string;
96
+ actionType: string;
97
+ }
98
+ export interface ToolSelectEvent {
99
+ tool: string;
100
+ previousTool: string;
101
+ }
102
+ /**
103
+ * Export events
104
+ */
105
+ export interface ExportStartEvent {
106
+ format: "pdf";
107
+ includeAnnotations: boolean;
108
+ includeWatermarks: boolean;
109
+ }
110
+ export interface ExportCompleteEvent {
111
+ format: "pdf";
112
+ data: Uint8Array;
113
+ size: number;
114
+ }
115
+ export interface ExportErrorEvent {
116
+ format: "pdf";
117
+ error: Error;
118
+ message: string;
119
+ }
120
+ /**
121
+ * Viewer ready event
122
+ */
123
+ export interface ViewerReadyEvent {
124
+ element: HTMLElement;
125
+ }
126
+ /**
127
+ * Viewer destroy event
128
+ */
129
+ export interface ViewerDestroyEvent {
130
+ element: HTMLElement;
131
+ }
132
+ /**
133
+ * Selection event for text
134
+ */
135
+ export interface TextSelectionEvent {
136
+ text: string;
137
+ pageIndex: number;
138
+ rects: DOMRect[];
139
+ }
140
+ /**
141
+ * Complete PDF Viewer events map
142
+ */
143
+ export interface PdfViewerEventMap {
144
+ "viewer:ready": CustomEvent<ViewerReadyEvent>;
145
+ "viewer:destroy": CustomEvent<ViewerDestroyEvent>;
146
+ "document:load": CustomEvent<DocumentLoadEvent>;
147
+ "document:unload": CustomEvent<DocumentUnloadEvent>;
148
+ "document:error": CustomEvent<DocumentErrorEvent>;
149
+ "document:change": CustomEvent<{
150
+ pageCount: number;
151
+ pageOrder: number[];
152
+ }>;
153
+ "page:change": CustomEvent<PageChangeEvent>;
154
+ "page:render": CustomEvent<PageRenderEvent>;
155
+ "page:render:after": CustomEvent<PageRenderEvent>;
156
+ "zoom:change": CustomEvent<ZoomChangeEvent>;
157
+ "rotation:change": CustomEvent<RotationChangeEvent>;
158
+ "mode:change": CustomEvent<ModeChangeEvent>;
159
+ "theme:change": CustomEvent<ThemeChangeEvent>;
160
+ "panel:open": CustomEvent<PanelOpenEvent>;
161
+ "panel:close": CustomEvent<PanelCloseEvent>;
162
+ "panel:resize": CustomEvent<PanelResizeEvent>;
163
+ "annotation:add": CustomEvent<AnnotationAddEvent>;
164
+ "annotation:update": CustomEvent<AnnotationUpdateEvent>;
165
+ "annotation:remove": CustomEvent<AnnotationRemoveEvent>;
166
+ "annotation:select": CustomEvent<AnnotationSelectEvent>;
167
+ "toolbar:action": CustomEvent<ToolbarActionEvent>;
168
+ "tool:select": CustomEvent<ToolSelectEvent>;
169
+ "export:start": CustomEvent<ExportStartEvent>;
170
+ "export:complete": CustomEvent<ExportCompleteEvent>;
171
+ "export:error": CustomEvent<ExportErrorEvent>;
172
+ "text:select": CustomEvent<TextSelectionEvent>;
173
+ "plugin:registered": CustomEvent<{
174
+ plugin: {
175
+ name: string;
176
+ version: string;
177
+ };
178
+ }>;
179
+ "plugin:unregistered": CustomEvent<{
180
+ pluginName: string;
181
+ }>;
182
+ "plugin:initialized": CustomEvent<{
183
+ pluginName: string;
184
+ }>;
185
+ "plugin:error": CustomEvent<{
186
+ pluginName: string;
187
+ error: Error;
188
+ }>;
189
+ "watermark:change": CustomEvent<{
190
+ watermark: unknown;
191
+ }>;
192
+ "watermark:applied": CustomEvent<{
193
+ watermark: unknown;
194
+ }>;
195
+ }
196
+ /**
197
+ * Type helper for creating typed custom events
198
+ */
199
+ export declare function createViewerEvent<K extends keyof PdfViewerEventMap>(type: K, detail: PdfViewerEventMap[K] extends CustomEvent<infer D> ? D : never, options?: EventInit): PdfViewerEventMap[K];
200
+ /**
201
+ * Type-safe event listener helper
202
+ */
203
+ export type PdfViewerEventListener<K extends keyof PdfViewerEventMap> = (event: PdfViewerEventMap[K]) => void;
204
+ /**
205
+ * Extended HTMLElement interface for PDF Viewer events
206
+ */
207
+ export interface PdfViewerEventTarget {
208
+ addEventListener<K extends keyof PdfViewerEventMap>(type: K, listener: PdfViewerEventListener<K>, options?: boolean | AddEventListenerOptions): void;
209
+ removeEventListener<K extends keyof PdfViewerEventMap>(type: K, listener: PdfViewerEventListener<K>, options?: boolean | EventListenerOptions): void;
210
+ dispatchEvent<K extends keyof PdfViewerEventMap>(event: PdfViewerEventMap[K]): boolean;
211
+ }
212
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/viewer/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { PdfData, Watermark } from '@jacktea/pdf-viewer-core';
2
+ export interface ExportOrchestratorContext {
3
+ sourceBytes: Uint8Array;
4
+ embedWatermark: boolean;
5
+ watermark: Watermark | null;
6
+ buildPdfData: () => Promise<PdfData>;
7
+ }
8
+ export declare function processPdfExportWithRust(context: ExportOrchestratorContext): Promise<Uint8Array>;
9
+ //# sourceMappingURL=export-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-orchestrator.d.ts","sourceRoot":"","sources":["../../src/viewer/export-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,SAAS,EAGf,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,UAAU,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAoCD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
@@ -0,0 +1,108 @@
1
+ import { ViewerController, DocumentSource, PdfDocumentHandle, PdfLoaderOptions, ViewerState, Annotation, AnnotationComment, CommentThread } from '@jacktea/pdf-viewer-core';
2
+ import { ServerWritebackPayload } from './server-writeback';
3
+ /**
4
+ * Headless viewer options
5
+ */
6
+ export interface HeadlessViewerOptions {
7
+ /** Container element for canvas rendering */
8
+ container: HTMLElement;
9
+ /** Called when a page is rendered */
10
+ onPageRender?: (pageIndex: number, canvas: HTMLCanvasElement, viewport: PageViewport) => void;
11
+ /** Called before a page is rendered */
12
+ onBeforePageRender?: (pageIndex: number) => void;
13
+ /** Called when document is loaded */
14
+ onDocumentLoad?: (document: PdfDocumentHandle, pageCount: number) => void;
15
+ /** Called when document is unloaded */
16
+ onDocumentUnload?: () => void;
17
+ /** Called when state changes */
18
+ onStateChange?: (state: ViewerState) => void;
19
+ /** Called when an annotation is clicked */
20
+ onAnnotationClick?: (annotation: Annotation, event: MouseEvent) => void;
21
+ /** Called when page changes */
22
+ onPageChange?: (page: number, pageCount: number) => void;
23
+ /** Called on error */
24
+ onError?: (error: Error) => void;
25
+ /** Minimum scale */
26
+ minScale?: number;
27
+ /** Maximum scale */
28
+ maxScale?: number;
29
+ /** Initial scale */
30
+ initialScale?: number;
31
+ /** Maximum undo stack size */
32
+ maxUndoStackSize?: number;
33
+ /** Enable high DPI rendering */
34
+ highDpi?: boolean;
35
+ /** Override PDF.js CMap/standard font resource directories */
36
+ pdfJsResources?: Partial<PdfLoaderOptions>;
37
+ }
38
+ /**
39
+ * Page viewport information
40
+ */
41
+ export interface PageViewport {
42
+ width: number;
43
+ height: number;
44
+ scale: number;
45
+ rotation: number;
46
+ }
47
+ /**
48
+ * Headless viewer instance
49
+ */
50
+ export interface HeadlessViewer {
51
+ /** Load a PDF document */
52
+ loadDocument(source: DocumentSource | string | Blob | ArrayBuffer | Uint8Array): Promise<void>;
53
+ /** Get current state */
54
+ getState(): ViewerState;
55
+ /** Subscribe to state changes */
56
+ subscribe(listener: (state: ViewerState) => void): () => void;
57
+ /** Set current page */
58
+ setPage(page: number): void;
59
+ /** Zoom in */
60
+ zoomIn(): void;
61
+ /** Zoom out */
62
+ zoomOut(): void;
63
+ /** Set scale */
64
+ setScale(scale: number): void;
65
+ /** Rotate document */
66
+ rotate(): void;
67
+ /** Set rotation */
68
+ setRotation(rotation: number): void;
69
+ /** Get underlying controller */
70
+ getController(): ViewerController;
71
+ /** Get PDF document */
72
+ getDocument(): PdfDocumentHandle | undefined;
73
+ /** Render a specific page to a canvas */
74
+ renderPage(pageIndex: number, canvas: HTMLCanvasElement, scale?: number): Promise<void>;
75
+ /** Render all visible pages */
76
+ renderVisiblePages(): Promise<void>;
77
+ /** Get annotations */
78
+ getAnnotations(): Annotation[];
79
+ /** Set annotations */
80
+ setAnnotations(annotations: Annotation[]): void;
81
+ /** Add annotation */
82
+ addAnnotation(annotation: Annotation): void;
83
+ /** Update annotation */
84
+ updateAnnotation(annotation: Annotation): void;
85
+ /** Remove annotation */
86
+ removeAnnotation(annotationId: string): void;
87
+ /** Get comment threads */
88
+ getCommentThreads(): CommentThread[];
89
+ /** Set comment threads */
90
+ setCommentThreads(threads: CommentThread[]): void;
91
+ /** Add comment */
92
+ addComment(comment: AnnotationComment): void;
93
+ /** Reconcile temporary local IDs/codes with server-generated values */
94
+ writeBackFromServer(payload: ServerWritebackPayload): void;
95
+ /** Export PDF */
96
+ exportPdf(): Promise<Uint8Array>;
97
+ /** Undo last action */
98
+ undo(): boolean;
99
+ /** Redo last undone action */
100
+ redo(): boolean;
101
+ /** Destroy the viewer */
102
+ destroy(): void;
103
+ }
104
+ /**
105
+ * Create a headless viewer instance
106
+ */
107
+ export declare function createHeadlessViewer(options: HeadlessViewerOptions): HeadlessViewer;
108
+ //# sourceMappingURL=headless.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../src/viewer/headless.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Annotation } from '@jacktea/pdf-viewer-core';
2
+ interface AnnotationCoordinatorLike {
3
+ handleTextSelection(): void;
4
+ clearSelectionPopover(): void;
5
+ applyTextSelectionMark(detail: unknown): void;
6
+ getAnnotations(): Annotation[];
7
+ openTextEditor(annotation: Annotation): void;
8
+ }
9
+ interface ModeCoordinatorLike {
10
+ getScaleMode(): "page" | "width" | "actual";
11
+ applyScaleMode(): Promise<void> | void;
12
+ applyTheme(theme: string, element: HTMLElement): void;
13
+ }
14
+ interface TemplateLayerLike {
15
+ render(): void;
16
+ }
17
+ export interface InternalEventBindingContext {
18
+ target: HTMLElement;
19
+ getAnnotationCoordinator: () => AnnotationCoordinatorLike | undefined;
20
+ getModeCoordinator: () => ModeCoordinatorLike | undefined;
21
+ getTemplateLayer: () => TemplateLayerLike | undefined;
22
+ setControllerScale: (scale: number) => void;
23
+ }
24
+ export declare function bindInternalEventListeners(context: InternalEventBindingContext): () => void;
25
+ export {};
26
+ //# sourceMappingURL=internal-event-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-event-bindings.d.ts","sourceRoot":"","sources":["../../src/viewer/internal-event-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,UAAU,yBAAyB;IACjC,mBAAmB,IAAI,IAAI,CAAC;IAC5B,qBAAqB,IAAI,IAAI,CAAC;IAC9B,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9C,cAAc,IAAI,UAAU,EAAE,CAAC;IAC/B,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9C;AAED,UAAU,mBAAmB;IAC3B,YAAY,IAAI,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CACvD;AAED,UAAU,iBAAiB;IACzB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,WAAW,CAAC;IACpB,wBAAwB,EAAE,MAAM,yBAAyB,GAAG,SAAS,CAAC;IACtE,kBAAkB,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IAC1D,gBAAgB,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IACtD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,MAAM,IAAI,CA8DZ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=internal-event-bindings.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-event-bindings.test.d.ts","sourceRoot":"","sources":["../../src/viewer/internal-event-bindings.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export interface ModalOptions {
2
+ title: string;
3
+ content: HTMLElement;
4
+ footer?: HTMLElement;
5
+ onClose?: () => void;
6
+ }
7
+ export declare class Modal {
8
+ private options;
9
+ readonly element: HTMLDivElement;
10
+ private backdrop;
11
+ private container;
12
+ constructor(options: ModalOptions);
13
+ open(parent: HTMLElement): void;
14
+ close(): void;
15
+ private createHost;
16
+ private createBackdrop;
17
+ private createContainer;
18
+ private createHeader;
19
+ private createBody;
20
+ private createFooter;
21
+ }
22
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/viewer/modal.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,qBAAa,KAAK;IAKJ,OAAO,CAAC,OAAO;IAJ3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAiB;gBAEd,OAAO,EAAE,YAAY;IAMzC,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAM/B,KAAK,IAAI,IAAI;IAYb,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;CAMrB"}
@@ -0,0 +1,56 @@
1
+ import { PageIndicatorConfig } from './config';
2
+ export interface PageIndicatorHandlers {
3
+ onPageChange?: (page: number) => void;
4
+ onPageCommit?: () => void;
5
+ onZoomIn?: () => void;
6
+ onZoomOut?: () => void;
7
+ onZoomChange?: (scale: number) => void;
8
+ onZoomModeChange?: () => void;
9
+ }
10
+ /**
11
+ * Default page indicator configuration
12
+ */
13
+ export declare const DEFAULT_PAGE_INDICATOR_CONFIG: PageIndicatorConfig;
14
+ /**
15
+ * PageIndicator class
16
+ */
17
+ export declare class PageIndicator {
18
+ private handlers;
19
+ readonly element: HTMLDivElement;
20
+ private pageInput;
21
+ private pageTotal;
22
+ private zoomInput;
23
+ private currentConfig;
24
+ constructor(handlers: PageIndicatorHandlers, config?: PageIndicatorConfig);
25
+ /**
26
+ * Update page indicator state
27
+ */
28
+ setState(page: number, pageCount: number, scale: number): void;
29
+ /**
30
+ * Set visibility
31
+ */
32
+ setVisible(visible: boolean): void;
33
+ /**
34
+ * Update configuration dynamically
35
+ */
36
+ setConfig(config: PageIndicatorConfig): void;
37
+ /**
38
+ * Get the page input element for external access
39
+ */
40
+ getPageInput(): HTMLInputElement | null;
41
+ /**
42
+ * Get the page total element for external access
43
+ */
44
+ getPageTotal(): HTMLSpanElement | null;
45
+ private createElement;
46
+ private renderItems;
47
+ private createItem;
48
+ private createPageInput;
49
+ private createSeparator;
50
+ private createPageTotal;
51
+ private createZoomButton;
52
+ private createZoomInput;
53
+ private createZoomModeButton;
54
+ private handleZoomInputChange;
55
+ }
56
+ //# sourceMappingURL=page-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-indicator.d.ts","sourceRoot":"","sources":["../../src/viewer/page-indicator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,UAAU,CAAC;AAGvE,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,mBAE3C,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ;IARlB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,aAAa,CAAsB;gBAGjC,QAAQ,EAAE,qBAAqB,EACvC,MAAM,CAAC,EAAE,mBAAmB;IAO9B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAc9D;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAwB5C;;OAEG;IACH,YAAY,IAAI,gBAAgB,GAAG,IAAI;IAIvC;;OAEG;IACH,YAAY,IAAI,eAAe,GAAG,IAAI;IAItC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,qBAAqB;CAQ9B"}