@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,138 @@
1
+ import { ViewerController } from '@jacktea/pdf-viewer-core';
2
+ import { ViewerToolbar } from '../toolbar/toolbar';
3
+ import { ContainerPanel } from '../panels/container-panel';
4
+ import { PanelManager } from '../panels/panel-manager';
5
+ import { PanelHandlers } from '../panels/panel-factory';
6
+ import { PanelDefinition } from '../viewer/config';
7
+ /**
8
+ * Panel state
9
+ */
10
+ export interface PanelStateV2 {
11
+ leftOpen: boolean;
12
+ rightOpen: boolean;
13
+ activeLeftPanels: string[];
14
+ activeRightPanels: string[];
15
+ }
16
+ /**
17
+ * Dependencies for PanelCoordinatorV2
18
+ */
19
+ export interface PanelDependenciesV2 {
20
+ getController: () => ViewerController;
21
+ getToolbar: () => ViewerToolbar | undefined;
22
+ getLeftPanelHost: () => HTMLDivElement | undefined;
23
+ getRightPanelHost: () => HTMLDivElement | undefined;
24
+ getLayoutBody: () => HTMLDivElement | undefined;
25
+ dispatchEvent: (event: Event) => void;
26
+ setPageFromUi: (page: number) => void;
27
+ panels: PanelDefinition[];
28
+ panelHandlers: PanelHandlers;
29
+ }
30
+ /**
31
+ * New panel coordinator using ContainerPanel architecture
32
+ */
33
+ export declare class PanelCoordinatorV2 {
34
+ private deps;
35
+ private state;
36
+ private leftContainer;
37
+ private rightContainer;
38
+ private panelManager;
39
+ private panelFactory;
40
+ private initialized;
41
+ private resizePointerId?;
42
+ private resizeStartX;
43
+ private resizeStartWidth;
44
+ constructor(deps: PanelDependenciesV2);
45
+ /**
46
+ * Update all panels and UI for new locale
47
+ */
48
+ updateLocale(): void;
49
+ /**
50
+ * Initialize and mount containers to DOM
51
+ */
52
+ initialize(): void;
53
+ /**
54
+ * Get current panel state
55
+ */
56
+ getState(): Readonly<PanelStateV2>;
57
+ /**
58
+ * Handle button activation (from toolbar)
59
+ */
60
+ onButtonActivate(buttonKey: string): void;
61
+ /**
62
+ * Handle button deactivation (from toolbar)
63
+ */
64
+ onButtonDeactivate(buttonKey: string): void;
65
+ /**
66
+ * Toggle button state
67
+ */
68
+ toggleButton(buttonKey: string): void;
69
+ /**
70
+ * Toggle left panel (sidebar)
71
+ */
72
+ toggleLeftPanel(): void;
73
+ /**
74
+ * Toggle right panel (inspector)
75
+ */
76
+ toggleRightPanel(): void;
77
+ /**
78
+ * Set left panel open state
79
+ */
80
+ setLeftPanelOpen(open: boolean): void;
81
+ /**
82
+ * Set right panel open state
83
+ */
84
+ setRightPanelOpen(open: boolean): void;
85
+ /**
86
+ * Show specific panel on right side
87
+ */
88
+ showRightPanel(panelKey: string): void;
89
+ /**
90
+ * Get left container
91
+ */
92
+ getLeftContainer(): ContainerPanel;
93
+ /**
94
+ * Get right container
95
+ */
96
+ getRightContainer(): ContainerPanel;
97
+ /**
98
+ * Get panel manager
99
+ */
100
+ getPanelManager(): PanelManager;
101
+ /**
102
+ * Sync panel state from manager and apply to UI
103
+ * Used when mode/config changes need immediate panel state sync
104
+ */
105
+ syncPanelState(): void;
106
+ /**
107
+ * Apply panel state to UI
108
+ */
109
+ applyPanelState(): void;
110
+ /**
111
+ * Sync toolbar button states with panel state
112
+ */
113
+ syncToolbarState(): void;
114
+ /**
115
+ * Handle outline selection
116
+ */
117
+ handleOutlineSelect(pageIndex: number): void;
118
+ /**
119
+ * Handle thumbnail selection
120
+ */
121
+ handleThumbnailSelect(pageIndex: number): void;
122
+ /**
123
+ * Handle thumbnail delete
124
+ */
125
+ handleThumbnailDelete(pageIndex: number): void;
126
+ /**
127
+ * Handle thumbnail move
128
+ */
129
+ handleThumbnailMove(fromIndex: number, toIndex: number): void;
130
+ startLeftResize(event: PointerEvent): void;
131
+ resizeLeftPanel(event: PointerEvent): void;
132
+ endLeftResize(event: PointerEvent): void;
133
+ private registerButtonMappings;
134
+ private syncStateFromManager;
135
+ private resolveVisibleIndex;
136
+ private setPageFromUi;
137
+ }
138
+ //# sourceMappingURL=panel-coordinator-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel-coordinator-v2.d.ts","sourceRoot":"","sources":["../../src/coordinators/panel-coordinator-v2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { StateUpdateOptions, StateChangeSource, StateChangeMetadata } from './state-types';
2
+ export declare class StateSyncManager {
3
+ private sourceStack;
4
+ private pendingAttributes;
5
+ private batchDepth;
6
+ private batchedUpdates;
7
+ private tracker;
8
+ withSource<T>(source: StateChangeSource, fn: () => T): T;
9
+ getCurrentSource(): StateChangeSource;
10
+ isFromSource(source: StateChangeSource): boolean;
11
+ isInternalSource(): boolean;
12
+ shouldProcessAttributeChange(): boolean;
13
+ markAttributeUpdate(name: string, value: string): void;
14
+ isAttributePendingFromSource(name: string, source: StateChangeSource): boolean;
15
+ clearAttributeUpdate(name: string): void;
16
+ withoutAttributeSync<T>(fn: () => T): T;
17
+ createMetadata(source: StateChangeSource, description?: string): StateChangeMetadata;
18
+ batchUpdate<T>(fn: () => T): T;
19
+ private applyBatchedUpdates;
20
+ isInBatch(): boolean;
21
+ reset(): void;
22
+ getDebugInfo(): {
23
+ currentSource: StateChangeSource;
24
+ sourceStack: StateChangeSource[];
25
+ pendingAttributes: Map<string, {
26
+ value: string;
27
+ source: StateChangeSource;
28
+ }>;
29
+ batchDepth: number;
30
+ batchedUpdatesCount: number;
31
+ };
32
+ trackChange(statePath: string, oldValue: unknown, newValue: unknown, options: StateUpdateOptions): void;
33
+ getTracker(): import('./state-tracker').StateTracker;
34
+ }
35
+ export declare function getStateSyncManager(): StateSyncManager;
36
+ export declare function resetStateSyncManager(): void;
37
+ //# sourceMappingURL=state-sync-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-sync-manager.d.ts","sourceRoot":"","sources":["../../src/coordinators/state-sync-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAGvB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,iBAAiB,CAAmE;IAC5F,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,OAAO,CAAqB;IAEpC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IASxD,gBAAgB,IAAI,iBAAiB;IAIrC,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO;IAIhD,gBAAgB,IAAI,OAAO;IAK3B,4BAA4B,IAAI,OAAO;IAIvC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOtD,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO;IAK9E,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxC,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAIvC,cAAc,CACZ,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,mBAAmB;IAkBtB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAa9B,OAAO,CAAC,mBAAmB;IAQ3B,SAAS,IAAI,OAAO;IAIpB,KAAK,IAAI,IAAI;IAOb,YAAY;;;;mBAxGyC,MAAM;oBAAU,iBAAiB;;;;;IAkHtF,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,kBAAkB,GAC1B,IAAI;IAIP,UAAU;CAGX;AAID,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C"}
@@ -0,0 +1,48 @@
1
+ import { StateChangeSource, StateUpdateOptions } from './state-types';
2
+ export interface StateChangeRecord {
3
+ id: string;
4
+ timestamp: number;
5
+ source: StateChangeSource;
6
+ statePath: string;
7
+ oldValue: unknown;
8
+ newValue: unknown;
9
+ description?: string;
10
+ stack?: string;
11
+ }
12
+ export interface StateTrackerOptions {
13
+ maxRecords?: number;
14
+ enableLogging?: boolean;
15
+ includeStackTrace?: boolean;
16
+ }
17
+ export declare class StateTracker {
18
+ private records;
19
+ private options;
20
+ private recordCounter;
21
+ constructor(options?: StateTrackerOptions);
22
+ record(statePath: string, oldValue: unknown, newValue: unknown, options: StateUpdateOptions): void;
23
+ getRecords(): ReadonlyArray<StateChangeRecord>;
24
+ getRecordsForPath(statePath: string): StateChangeRecord[];
25
+ getRecordsSince(timestamp: number): StateChangeRecord[];
26
+ getRecordsFromSource(source: StateChangeSource): StateChangeRecord[];
27
+ getLatestRecord(statePath: string): StateChangeRecord | undefined;
28
+ clear(): void;
29
+ getStats(): {
30
+ totalRecords: number;
31
+ uniquePaths: string[];
32
+ sourceCounts: Record<string, number>;
33
+ oldestRecord?: StateChangeRecord;
34
+ newestRecord?: StateChangeRecord;
35
+ };
36
+ export(): string;
37
+ import(json: string): void;
38
+ printSummary(): void;
39
+ printPath(statePath: string): void;
40
+ private logRecord;
41
+ setLogging(enabled: boolean): void;
42
+ setStackTrace(enabled: boolean): void;
43
+ setMaxRecords(max: number): void;
44
+ }
45
+ export declare function getStateTracker(options?: StateTrackerOptions): StateTracker;
46
+ export declare function resetStateTracker(): void;
47
+ export declare function exposeTrackerToWindow(): void;
48
+ //# sourceMappingURL=state-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-tracker.d.ts","sourceRoot":"","sources":["../../src/coordinators/state-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAQD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,aAAa,CAAK;gBAEd,OAAO,GAAE,mBAAwB;IAI7C,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,kBAAkB,GAC1B,IAAI;IA6BP,UAAU,IAAI,aAAa,CAAC,iBAAiB,CAAC;IAI9C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAIzD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAIvD,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,EAAE;IAIpE,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IASjE,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,YAAY,CAAC,EAAE,iBAAiB,CAAC;KAClC;IAkBD,MAAM,IAAI,MAAM;IAYhB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY1B,YAAY,IAAI,IAAI;IAepB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAelC,OAAO,CAAC,SAAS;IAgBjB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAMjC;AAID,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAU3E;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C"}
@@ -0,0 +1,56 @@
1
+ import { ViewerState, ViewerStatus, Rotation, ScaleMode } from '@jacktea/pdf-viewer-core';
2
+ import { ViewerMode, ThemeMode } from '../viewer/config';
3
+ import { AnnotationTool } from '../annotations/types';
4
+ export interface CoreState {
5
+ page: number;
6
+ pageCount: number;
7
+ pageOrder: number[];
8
+ scale: number;
9
+ rotation: Rotation;
10
+ status: ViewerStatus;
11
+ canUndo: boolean;
12
+ canRedo: boolean;
13
+ }
14
+ export interface UiState {
15
+ panelOpen: boolean;
16
+ viewerMode: ViewerMode;
17
+ previewMode: "select" | "pan";
18
+ annotationsVisible: boolean;
19
+ theme: ThemeMode;
20
+ scaleMode: ScaleMode;
21
+ annotationMode: boolean;
22
+ inspectorOpen: boolean;
23
+ previewInfoOpen: boolean;
24
+ previewCommentsOpen: boolean;
25
+ editPanelOpen: boolean;
26
+ activeTab: "outline" | "thumbnail" | "annotation";
27
+ }
28
+ export interface SelectionState {
29
+ selectedAnnotationId: string | null;
30
+ deleteMode: boolean;
31
+ sortMode: boolean;
32
+ annotationTool: AnnotationTool | null;
33
+ }
34
+ export interface ViewerCompleteState extends CoreState, UiState, SelectionState {
35
+ }
36
+ export interface StateChangeMetadata {
37
+ timestamp: number;
38
+ source: StateChangeSource;
39
+ description?: string;
40
+ stack?: string;
41
+ }
42
+ export type StateChangeSource = "user" | "controller" | "coordinator" | "attribute" | "storage" | "internal";
43
+ export interface StateUpdateOptions {
44
+ source: StateChangeSource;
45
+ description?: string;
46
+ skipAttributeSync?: boolean;
47
+ skipPersistence?: boolean;
48
+ }
49
+ export type StateListener<T = Partial<ViewerCompleteState>> = (state: T, metadata?: StateChangeMetadata) => void;
50
+ export type Unsubscribe = () => void;
51
+ export declare function extractCoreState(state: ViewerState): CoreState;
52
+ export declare const DEFAULT_UI_STATE: UiState;
53
+ export declare const DEFAULT_SELECTION_STATE: SelectionState;
54
+ export declare const DEBUG_STATE_CHANGES = false;
55
+ export declare function logStateChange(statePath: string, oldValue: unknown, newValue: unknown, source: StateChangeSource, description?: string): void;
56
+ //# sourceMappingURL=state-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-types.d.ts","sourceRoot":"","sources":["../../src/coordinators/state-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS,EAAE,OAAO,EAAE,cAAc;CAAG;AAClF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,YAAY,GACZ,aAAa,GACb,WAAW,GACX,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAC5D,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,mBAAmB,KAC3B,IAAI,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AACrC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAW9D;AAED,eAAO,MAAM,gBAAgB,EAAE,OAa9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAKrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CASN"}
@@ -0,0 +1,130 @@
1
+ import { ViewerController, ScaleMode, UserInfo, CommentContent, Annotation } from '@jacktea/pdf-viewer-core';
2
+ import { ViewerToolbar } from '../toolbar/toolbar';
3
+ import { CanvasLayer } from '../layers/canvas-layer';
4
+ import { ViewerHeader } from '../viewer/viewer-header';
5
+ import { AnnotationLayer } from '../annotations/annotation-layer';
6
+ import { TemplateLayer } from '../layers/template-layer';
7
+ import { WatermarkLayer } from '../watermark/watermark-layer';
8
+ import { PopupToolbar } from '../annotations/ui/popup-toolbar';
9
+ import { LayoutModeConfig, ViewerMode, ThemeMode } from '../viewer/config';
10
+ import { CreateAnnotationInput } from '../utils/id-generator';
11
+ /**
12
+ * UI Component references returned by initialization
13
+ */
14
+ export interface UiComponents {
15
+ header: ViewerHeader;
16
+ toolbar: ViewerToolbar;
17
+ canvasLayer: CanvasLayer;
18
+ annotationLayer: AnnotationLayer;
19
+ templateLayer: TemplateLayer;
20
+ watermarkLayer: WatermarkLayer;
21
+ layoutBody: HTMLDivElement;
22
+ leftPanelHost: HTMLDivElement;
23
+ rightPanelHost: HTMLDivElement;
24
+ viewerHost: HTMLDivElement;
25
+ pageIndicator: HTMLDivElement;
26
+ pageIndicatorInput: HTMLInputElement;
27
+ pageIndicatorTotal: HTMLSpanElement;
28
+ selectionPopover: HTMLDivElement;
29
+ resizeObserver?: ResizeObserver;
30
+ selectionListener: () => void;
31
+ selectionScrollListener: () => void;
32
+ popupToolbar: PopupToolbar;
33
+ }
34
+ /**
35
+ * Handler callbacks for UI components
36
+ */
37
+ export interface UiHandlers {
38
+ onModeChange: (mode: ViewerMode) => void;
39
+ onThemeChange: (theme: string) => void;
40
+ onOpenFile: (file: File) => void;
41
+ onOpenRemote: () => void;
42
+ onTogglePanel: () => void;
43
+ onToggleTemplateProperties: () => void;
44
+ onPreviewModeChange: (mode: "select" | "pan") => void;
45
+ onZoomIn: () => void;
46
+ onZoomOut: () => void;
47
+ onZoomChange: (scale: number) => void;
48
+ onRotate: () => void;
49
+ onScaleModeChange: (mode: ScaleMode) => void;
50
+ onFullScreen: () => void;
51
+ onAnnotationToolSelect: (tool: string) => void;
52
+ onUndo: () => void;
53
+ onRedo: () => void;
54
+ onInspectorToggle: () => void;
55
+ onToggleAnnotations: () => void;
56
+ onWatermarkToggle: () => void;
57
+ onToggleEdit: () => void;
58
+ onDownload: () => void;
59
+ onSave: () => void;
60
+ onCanvasPageChange: (page: number) => void;
61
+ onPageFromUi: (page: number) => void;
62
+ onVisiblePagesUpdate: () => void;
63
+ createAnnotation?: (input: CreateAnnotationInput) => Annotation;
64
+ onAnnotationAdd: (annotation: any) => void;
65
+ onAnnotationUpdate: (annotation: any) => void;
66
+ canEditAnnotation: (annotation: any) => boolean;
67
+ canDeleteAnnotation?: (annotation: any) => boolean;
68
+ canCreateCommentOnAnnotation?: (annotation: any) => boolean;
69
+ onAnnotationSelect: (annotationId: string | null) => void;
70
+ onFocusAnnotationComment: (annotationId: string) => void;
71
+ onPageCommit: () => void;
72
+ onDragOver: (event: DragEvent) => void;
73
+ onDrop: (event: DragEvent) => void;
74
+ onLoadDocument: (source: any) => void;
75
+ onToolSelect: (tool: string) => void;
76
+ onSettingsChange: (settings: any) => void;
77
+ onDeleteAnnotation: (annotationId: string) => void;
78
+ onAddComment: (content: CommentContent, parentId?: string) => void;
79
+ onUpdateComment: (commentId: string, content: CommentContent) => void;
80
+ onDeleteComment: (commentId: string) => void;
81
+ onResolveThread: () => void;
82
+ onReopenThread: () => void;
83
+ onNavigateNext: () => void;
84
+ onNavigatePrevious: () => void;
85
+ onWatermarkChange: (watermark: any) => void;
86
+ onApplyToAllPages: (watermark: any) => void;
87
+ onPageIndicatorKeydown: (event: KeyboardEvent) => void;
88
+ onPageIndicatorBlur: () => void;
89
+ onTemplateAdd: (element: any) => void;
90
+ onTemplateUpdate: (element: any) => void;
91
+ onTemplateSelect: (elementId: string | null) => void;
92
+ }
93
+ /**
94
+ * Initial state for UI components
95
+ */
96
+ export interface UiInitialState {
97
+ viewerMode: ViewerMode;
98
+ theme: ThemeMode;
99
+ scaleMode: ScaleMode;
100
+ previewMode: "select" | "pan";
101
+ annotationTool: string;
102
+ annotationSettings: any;
103
+ selectedAnnotationId: string | null;
104
+ annotationMode: boolean;
105
+ panelOpen: boolean;
106
+ annotationsVisible: boolean;
107
+ documentName?: string;
108
+ user?: UserInfo;
109
+ layoutModeConfig?: LayoutModeConfig;
110
+ }
111
+ /**
112
+ * UI Initializer class
113
+ */
114
+ export declare class UiInitializer {
115
+ /**
116
+ * Initialize all UI components
117
+ */
118
+ static initialize(shadowRoot: ShadowRoot, element: HTMLElement, controller: ViewerController, handlers: UiHandlers, initialState: UiInitialState, options?: {
119
+ getAnnotations?: () => any[];
120
+ }): UiComponents;
121
+ /**
122
+ * Create selection popover
123
+ */
124
+ private static createSelectionPopover;
125
+ /**
126
+ * Create page indicator
127
+ */
128
+ private static createPageIndicator;
129
+ }
130
+ //# sourceMappingURL=ui-initializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-initializer.d.ts","sourceRoot":"","sources":["../../src/coordinators/ui-initializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Lightweight Dependency Injection Container
3
+ *
4
+ * Provides a simple yet powerful DI container for managing service instances
5
+ * and factories. Supports singleton instances and lazy factory-based resolution.
6
+ *
7
+ * Features:
8
+ * - Type-safe service registration and resolution
9
+ * - Singleton instance registration
10
+ * - Factory-based lazy instantiation
11
+ * - Child containers with parent lookup
12
+ * - Circular dependency detection
13
+ * - Clear and reset functionality for testing
14
+ */
15
+ export type ServiceFactory<T> = () => T;
16
+ export interface DIContainerOptions {
17
+ parent?: DIContainer;
18
+ }
19
+ export declare class DIContainer {
20
+ private instances;
21
+ private factories;
22
+ private parent?;
23
+ /**
24
+ * Track tokens currently being resolved to detect circular dependencies
25
+ */
26
+ private resolvingTokens;
27
+ constructor(options?: DIContainerOptions);
28
+ /**
29
+ * Register a factory function for lazy instantiation
30
+ * The factory will be called on first resolve and the result cached
31
+ */
32
+ register<T>(token: string, factory: ServiceFactory<T>): void;
33
+ /**
34
+ * Register an existing instance directly
35
+ * Useful for pre-created objects or external dependencies
36
+ */
37
+ registerInstance<T>(token: string, instance: T): void;
38
+ /**
39
+ * Resolve a service by token
40
+ * Returns cached instance if available, otherwise creates via factory
41
+ * Throws if service is not registered or circular dependency detected
42
+ */
43
+ resolve<T>(token: string): T;
44
+ /**
45
+ * Try to resolve a service, returns undefined if not found
46
+ * Also returns undefined on circular dependency (logs warning)
47
+ */
48
+ tryResolve<T>(token: string): T | undefined;
49
+ /**
50
+ * Check if a service is registered
51
+ */
52
+ has(token: string): boolean;
53
+ /**
54
+ * Remove a service registration
55
+ */
56
+ unregister(token: string): void;
57
+ /**
58
+ * Clear all registrations (useful for testing)
59
+ */
60
+ clear(): void;
61
+ /**
62
+ * Create a child container that inherits from this container
63
+ */
64
+ createChild(): DIContainer;
65
+ /**
66
+ * Get all registered tokens (including parent)
67
+ */
68
+ getRegisteredTokens(): string[];
69
+ /**
70
+ * Check if a circular dependency would occur when resolving a token
71
+ * Useful for debugging dependency graphs
72
+ */
73
+ wouldCauseCircularDependency(token: string): boolean;
74
+ }
75
+ export declare function getGlobalContainer(): DIContainer;
76
+ export declare function resetGlobalContainer(): void;
77
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAExC,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,MAAM,CAAC,CAAc;IAE7B;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqB;gBAEhC,OAAO,GAAE,kBAAuB;IAI5C;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAM5D;;;OAGG;IACH,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAIrD;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAiC5B;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAW3C;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAO3B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,WAAW,IAAI,WAAW;IAI1B;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAa/B;;;OAGG;IACH,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGrD;AAQD,wBAAgB,kBAAkB,IAAI,WAAW,CAKhD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * DI Container Unit Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=container.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.test.d.ts","sourceRoot":"","sources":["../../src/di/container.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Dependency Injection Module
3
+ *
4
+ * Provides a lightweight DI container for managing service dependencies
5
+ * in the PDF Viewer component.
6
+ */
7
+ export { DIContainer, getGlobalContainer, resetGlobalContainer } from './container';
8
+ export type { ServiceFactory, DIContainerOptions } from './container';
9
+ export { ServiceTokens, CoreTokens, CoordinatorTokens, UiTokens } from './tokens';
10
+ export type { ServiceToken } from './tokens';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpF,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Service Tokens for Dependency Injection
3
+ *
4
+ * Defines string tokens for all injectable services in the PDF Viewer.
5
+ * Using string tokens with const assertion provides type safety
6
+ * while keeping the implementation simple and lightweight.
7
+ */
8
+ /**
9
+ * Core service tokens - Business logic layer
10
+ */
11
+ export declare const CoreTokens: {
12
+ /** PDF document loader */
13
+ readonly PdfLoader: "core:PdfLoader";
14
+ /** Main viewer state controller */
15
+ readonly ViewerController: "core:ViewerController";
16
+ /** Annotation data store */
17
+ readonly AnnotationStore: "core:AnnotationStore";
18
+ /** Comment thread store */
19
+ readonly CommentStore: "core:CommentStore";
20
+ /** Undo/redo history manager */
21
+ readonly UndoManager: "core:UndoManager";
22
+ /** Collaboration manager */
23
+ readonly CollaborationManager: "core:CollaborationManager";
24
+ /** User manager */
25
+ readonly UserManager: "core:UserManager";
26
+ };
27
+ /**
28
+ * Coordinator tokens - Presentation layer coordinators
29
+ */
30
+ export declare const CoordinatorTokens: {
31
+ /** Annotation operations coordinator */
32
+ readonly AnnotationCoordinator: "coordinator:AnnotationCoordinator";
33
+ /** Panel state coordinator */
34
+ readonly PanelCoordinator: "coordinator:PanelCoordinator";
35
+ /** Viewer mode coordinator */
36
+ readonly ModeCoordinator: "coordinator:ModeCoordinator";
37
+ /** UI component initializer */
38
+ readonly UiInitializer: "coordinator:UiInitializer";
39
+ /** Custom event dispatcher */
40
+ readonly EventDispatcher: "coordinator:EventDispatcher";
41
+ };
42
+ /**
43
+ * UI service tokens - UI layer services
44
+ */
45
+ export declare const UiTokens: {
46
+ /** UI component collection */
47
+ readonly UiComponents: "ui:UiComponents";
48
+ /** State synchronization manager */
49
+ readonly StateSyncManager: "ui:StateSyncManager";
50
+ };
51
+ /**
52
+ * All service tokens combined
53
+ */
54
+ export declare const ServiceTokens: {
55
+ /** UI component collection */
56
+ readonly UiComponents: "ui:UiComponents";
57
+ /** State synchronization manager */
58
+ readonly StateSyncManager: "ui:StateSyncManager";
59
+ /** Annotation operations coordinator */
60
+ readonly AnnotationCoordinator: "coordinator:AnnotationCoordinator";
61
+ /** Panel state coordinator */
62
+ readonly PanelCoordinator: "coordinator:PanelCoordinator";
63
+ /** Viewer mode coordinator */
64
+ readonly ModeCoordinator: "coordinator:ModeCoordinator";
65
+ /** UI component initializer */
66
+ readonly UiInitializer: "coordinator:UiInitializer";
67
+ /** Custom event dispatcher */
68
+ readonly EventDispatcher: "coordinator:EventDispatcher";
69
+ /** PDF document loader */
70
+ readonly PdfLoader: "core:PdfLoader";
71
+ /** Main viewer state controller */
72
+ readonly ViewerController: "core:ViewerController";
73
+ /** Annotation data store */
74
+ readonly AnnotationStore: "core:AnnotationStore";
75
+ /** Comment thread store */
76
+ readonly CommentStore: "core:CommentStore";
77
+ /** Undo/redo history manager */
78
+ readonly UndoManager: "core:UndoManager";
79
+ /** Collaboration manager */
80
+ readonly CollaborationManager: "core:CollaborationManager";
81
+ /** User manager */
82
+ readonly UserManager: "core:UserManager";
83
+ };
84
+ /**
85
+ * Type helper for extracting token values
86
+ */
87
+ export type ServiceToken = (typeof ServiceTokens)[keyof typeof ServiceTokens];
88
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB,0BAA0B;;IAG1B,mCAAmC;;IAGnC,4BAA4B;;IAG5B,2BAA2B;;IAG3B,gCAAgC;;IAGhC,4BAA4B;;IAG5B,mBAAmB;;CAEX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,wCAAwC;;IAGxC,8BAA8B;;IAG9B,8BAA8B;;IAG9B,+BAA+B;;IAG/B,8BAA8B;;CAEtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,8BAA8B;;IAG9B,oCAAoC;;CAE5B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;IAVxB,8BAA8B;;IAG9B,oCAAoC;;IAvBpC,wCAAwC;;IAGxC,8BAA8B;;IAG9B,8BAA8B;;IAG9B,+BAA+B;;IAG/B,8BAA8B;;IAtC9B,0BAA0B;;IAG1B,mCAAmC;;IAGnC,4BAA4B;;IAG5B,2BAA2B;;IAG3B,gCAAgC;;IAGhC,4BAA4B;;IAG5B,mBAAmB;;CA0CX,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Annotation Domain
3
+ *
4
+ * Pure functions for annotation style and synchronization operations.
5
+ * Following domain-driven design: state is external, passed as parameters.
6
+ */
7
+ export * from './styles';
8
+ export * from './sync';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/annotation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}