@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.
- package/README.md +45 -0
- package/dist/annotations/annotation-layer.d.ts +40 -0
- package/dist/annotations/annotation-layer.d.ts.map +1 -0
- package/dist/annotations/annotation-layer.test.d.ts +2 -0
- package/dist/annotations/annotation-layer.test.d.ts.map +1 -0
- package/dist/annotations/interaction/annotation-interaction-controller.d.ts +59 -0
- package/dist/annotations/interaction/annotation-interaction-controller.d.ts.map +1 -0
- package/dist/annotations/interaction/tool-utils.d.ts +11 -0
- package/dist/annotations/interaction/tool-utils.d.ts.map +1 -0
- package/dist/annotations/rendering/annotation-svg-renderer.d.ts +28 -0
- package/dist/annotations/rendering/annotation-svg-renderer.d.ts.map +1 -0
- package/dist/annotations/rendering/annotation-svg-renderer.test.d.ts +2 -0
- package/dist/annotations/rendering/annotation-svg-renderer.test.d.ts.map +1 -0
- package/dist/annotations/rendering/geometry-utils.d.ts +6 -0
- package/dist/annotations/rendering/geometry-utils.d.ts.map +1 -0
- package/dist/annotations/rendering/hit-testing.d.ts +10 -0
- package/dist/annotations/rendering/hit-testing.d.ts.map +1 -0
- package/dist/annotations/rendering/index.d.ts +3 -0
- package/dist/annotations/rendering/index.d.ts.map +1 -0
- package/dist/annotations/settings.d.ts +46 -0
- package/dist/annotations/settings.d.ts.map +1 -0
- package/dist/annotations/types.d.ts +3 -0
- package/dist/annotations/types.d.ts.map +1 -0
- package/dist/annotations/ui/annotation-metadata.d.ts +12 -0
- package/dist/annotations/ui/annotation-metadata.d.ts.map +1 -0
- package/dist/annotations/ui/appearance-editor.d.ts +16 -0
- package/dist/annotations/ui/appearance-editor.d.ts.map +1 -0
- package/dist/annotations/ui/arrow-style-editor.d.ts +17 -0
- package/dist/annotations/ui/arrow-style-editor.d.ts.map +1 -0
- package/dist/annotations/ui/header-card.d.ts +4 -0
- package/dist/annotations/ui/header-card.d.ts.map +1 -0
- package/dist/annotations/ui/index.d.ts +8 -0
- package/dist/annotations/ui/index.d.ts.map +1 -0
- package/dist/annotations/ui/popup-toolbar.d.ts +53 -0
- package/dist/annotations/ui/popup-toolbar.d.ts.map +1 -0
- package/dist/annotations/ui/popup-toolbar.test.d.ts +2 -0
- package/dist/annotations/ui/popup-toolbar.test.d.ts.map +1 -0
- package/dist/annotations/ui/stroke-style-editor.d.ts +16 -0
- package/dist/annotations/ui/stroke-style-editor.d.ts.map +1 -0
- package/dist/annotations/ui/style-pickers.d.ts +82 -0
- package/dist/annotations/ui/style-pickers.d.ts.map +1 -0
- package/dist/annotations/ui/text-style-editor.d.ts +22 -0
- package/dist/annotations/ui/text-style-editor.d.ts.map +1 -0
- package/dist/annotations/ui/tool-selector.d.ts +8 -0
- package/dist/annotations/ui/tool-selector.d.ts.map +1 -0
- package/dist/components/popover.d.ts +25 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/tooltip.d.ts +28 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/coordinators/annotation-coordinator.d.ts +281 -0
- package/dist/coordinators/annotation-coordinator.d.ts.map +1 -0
- package/dist/coordinators/annotation-coordinator.test.d.ts +2 -0
- package/dist/coordinators/annotation-coordinator.test.d.ts.map +1 -0
- package/dist/coordinators/event-dispatcher.d.ts +93 -0
- package/dist/coordinators/event-dispatcher.d.ts.map +1 -0
- package/dist/coordinators/index.d.ts +20 -0
- package/dist/coordinators/index.d.ts.map +1 -0
- package/dist/coordinators/mode-coordinator.d.ts +74 -0
- package/dist/coordinators/mode-coordinator.d.ts.map +1 -0
- package/dist/coordinators/panel-coordinator-v2.d.ts +138 -0
- package/dist/coordinators/panel-coordinator-v2.d.ts.map +1 -0
- package/dist/coordinators/state-sync-manager.d.ts +37 -0
- package/dist/coordinators/state-sync-manager.d.ts.map +1 -0
- package/dist/coordinators/state-tracker.d.ts +48 -0
- package/dist/coordinators/state-tracker.d.ts.map +1 -0
- package/dist/coordinators/state-types.d.ts +56 -0
- package/dist/coordinators/state-types.d.ts.map +1 -0
- package/dist/coordinators/ui-initializer.d.ts +130 -0
- package/dist/coordinators/ui-initializer.d.ts.map +1 -0
- package/dist/di/container.d.ts +77 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/container.test.d.ts +5 -0
- package/dist/di/container.test.d.ts.map +1 -0
- package/dist/di/index.d.ts +11 -0
- package/dist/di/index.d.ts.map +1 -0
- package/dist/di/tokens.d.ts +88 -0
- package/dist/di/tokens.d.ts.map +1 -0
- package/dist/domains/annotation/index.d.ts +9 -0
- package/dist/domains/annotation/index.d.ts.map +1 -0
- package/dist/domains/annotation/styles.d.ts +23 -0
- package/dist/domains/annotation/styles.d.ts.map +1 -0
- package/dist/domains/annotation/sync.d.ts +68 -0
- package/dist/domains/annotation/sync.d.ts.map +1 -0
- package/dist/domains/annotation/sync.test.d.ts +2 -0
- package/dist/domains/annotation/sync.test.d.ts.map +1 -0
- package/dist/domains/export/index.d.ts +10 -0
- package/dist/domains/export/index.d.ts.map +1 -0
- package/dist/domains/export/metadata.d.ts +31 -0
- package/dist/domains/export/metadata.d.ts.map +1 -0
- package/dist/domains/export/metadata.test.d.ts +2 -0
- package/dist/domains/export/metadata.test.d.ts.map +1 -0
- package/dist/domains/export/pdf-export.d.ts +70 -0
- package/dist/domains/export/pdf-export.d.ts.map +1 -0
- package/dist/domains/export/pdf-export.test.d.ts +2 -0
- package/dist/domains/export/pdf-export.test.d.ts.map +1 -0
- package/dist/domains/export/watermark.d.ts +24 -0
- package/dist/domains/export/watermark.d.ts.map +1 -0
- package/dist/domains/export/watermark.test.d.ts +2 -0
- package/dist/domains/export/watermark.test.d.ts.map +1 -0
- package/dist/domains/index.d.ts +18 -0
- package/dist/domains/index.d.ts.map +1 -0
- package/dist/domains/ui/dialogs.d.ts +49 -0
- package/dist/domains/ui/dialogs.d.ts.map +1 -0
- package/dist/domains/ui/dialogs.test.d.ts +2 -0
- package/dist/domains/ui/dialogs.test.d.ts.map +1 -0
- package/dist/domains/ui/editors.d.ts +120 -0
- package/dist/domains/ui/editors.d.ts.map +1 -0
- package/dist/domains/ui/index.d.ts +9 -0
- package/dist/domains/ui/index.d.ts.map +1 -0
- package/dist/domains/viewer/actions.d.ts +90 -0
- package/dist/domains/viewer/actions.d.ts.map +1 -0
- package/dist/domains/viewer/actions.test.d.ts +2 -0
- package/dist/domains/viewer/actions.test.d.ts.map +1 -0
- package/dist/domains/viewer/index.d.ts +10 -0
- package/dist/domains/viewer/index.d.ts.map +1 -0
- package/dist/domains/viewer/persistence.d.ts +122 -0
- package/dist/domains/viewer/persistence.d.ts.map +1 -0
- package/dist/domains/viewer/persistence.test.d.ts +2 -0
- package/dist/domains/viewer/persistence.test.d.ts.map +1 -0
- package/dist/domains/viewer/types.d.ts +42 -0
- package/dist/domains/viewer/types.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +77 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/locales/en.d.ts +3 -0
- package/dist/i18n/locales/en.d.ts.map +1 -0
- package/dist/i18n/locales/zh-CN.d.ts +3 -0
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
- package/dist/i18n/types.d.ts +231 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/icons/icon-registry.d.ts +69 -0
- package/dist/icons/icon-registry.d.ts.map +1 -0
- package/dist/icons/toolbar-icons.d.ts +38 -0
- package/dist/icons/toolbar-icons.d.ts.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +1 -0
- package/dist/layers/canvas-layer.d.ts +44 -0
- package/dist/layers/canvas-layer.d.ts.map +1 -0
- package/dist/layers/canvas-layer.test.d.ts +2 -0
- package/dist/layers/canvas-layer.test.d.ts.map +1 -0
- package/dist/layers/canvas-utils.d.ts +80 -0
- package/dist/layers/canvas-utils.d.ts.map +1 -0
- package/dist/layers/template-layer.d.ts +41 -0
- package/dist/layers/template-layer.d.ts.map +1 -0
- package/dist/panels/annotation-comments-panel.d.ts +80 -0
- package/dist/panels/annotation-comments-panel.d.ts.map +1 -0
- package/dist/panels/annotation-settings-panel.d.ts +60 -0
- package/dist/panels/annotation-settings-panel.d.ts.map +1 -0
- package/dist/panels/annotation-summary-panel.d.ts +127 -0
- package/dist/panels/annotation-summary-panel.d.ts.map +1 -0
- package/dist/panels/annotation-summary-panel.test.d.ts +2 -0
- package/dist/panels/annotation-summary-panel.test.d.ts.map +1 -0
- package/dist/panels/comment-input.d.ts +34 -0
- package/dist/panels/comment-input.d.ts.map +1 -0
- package/dist/panels/comment-input.test.d.ts +2 -0
- package/dist/panels/comment-input.test.d.ts.map +1 -0
- package/dist/panels/container-panel.d.ts +136 -0
- package/dist/panels/container-panel.d.ts.map +1 -0
- package/dist/panels/content-panel.d.ts +95 -0
- package/dist/panels/content-panel.d.ts.map +1 -0
- package/dist/panels/document-properties-panel.d.ts +54 -0
- package/dist/panels/document-properties-panel.d.ts.map +1 -0
- package/dist/panels/index.d.ts +26 -0
- package/dist/panels/index.d.ts.map +1 -0
- package/dist/panels/outline-panel.d.ts +32 -0
- package/dist/panels/outline-panel.d.ts.map +1 -0
- package/dist/panels/panel-factory.d.ts +37 -0
- package/dist/panels/panel-factory.d.ts.map +1 -0
- package/dist/panels/panel-integration-example.d.ts +49 -0
- package/dist/panels/panel-integration-example.d.ts.map +1 -0
- package/dist/panels/panel-manager.d.ts +98 -0
- package/dist/panels/panel-manager.d.ts.map +1 -0
- package/dist/panels/template-field-panel.d.ts +27 -0
- package/dist/panels/template-field-panel.d.ts.map +1 -0
- package/dist/panels/template-property-panel.d.ts +30 -0
- package/dist/panels/template-property-panel.d.ts.map +1 -0
- package/dist/panels/template-ui-helpers.d.ts +32 -0
- package/dist/panels/template-ui-helpers.d.ts.map +1 -0
- package/dist/panels/thumbnail-panel.d.ts +49 -0
- package/dist/panels/thumbnail-panel.d.ts.map +1 -0
- package/dist/pdfjs.d.ts +15 -0
- package/dist/pdfjs.d.ts.map +1 -0
- package/dist/plugins/examples/custom-tool-plugin.d.ts +12 -0
- package/dist/plugins/examples/custom-tool-plugin.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +9 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/plugin-manager.d.ts +108 -0
- package/dist/plugins/plugin-manager.d.ts.map +1 -0
- package/dist/plugins/plugin-manager.test.d.ts +5 -0
- package/dist/plugins/plugin-manager.test.d.ts.map +1 -0
- package/dist/plugins/types.d.ts +167 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/render/page-renderer.d.ts +16 -0
- package/dist/render/page-renderer.d.ts.map +1 -0
- package/dist/render/scale.d.ts +3 -0
- package/dist/render/scale.d.ts.map +1 -0
- package/dist/render/text-layer.d.ts +4 -0
- package/dist/render/text-layer.d.ts.map +1 -0
- package/dist/render/thumb-renderer.d.ts +3 -0
- package/dist/render/thumb-renderer.d.ts.map +1 -0
- package/dist/toolbar/button-registry.d.ts +56 -0
- package/dist/toolbar/button-registry.d.ts.map +1 -0
- package/dist/toolbar/toolbar-helpers.d.ts +168 -0
- package/dist/toolbar/toolbar-helpers.d.ts.map +1 -0
- package/dist/toolbar/toolbar-icons.d.ts +3 -0
- package/dist/toolbar/toolbar-icons.d.ts.map +1 -0
- package/dist/toolbar/toolbar.d.ts +116 -0
- package/dist/toolbar/toolbar.d.ts.map +1 -0
- package/dist/ui/color-picker.d.ts +72 -0
- package/dist/ui/color-picker.d.ts.map +1 -0
- package/dist/ui/slider.d.ts +25 -0
- package/dist/ui/slider.d.ts.map +1 -0
- package/dist/utils/annotation-utils.d.ts +13 -0
- package/dist/utils/annotation-utils.d.ts.map +1 -0
- package/dist/utils/color-utils.d.ts +42 -0
- package/dist/utils/color-utils.d.ts.map +1 -0
- package/dist/utils/confirm-dialog.d.ts +10 -0
- package/dist/utils/confirm-dialog.d.ts.map +1 -0
- package/dist/utils/deep-equal.d.ts +2 -0
- package/dist/utils/deep-equal.d.ts.map +1 -0
- package/dist/utils/deep-equal.test.d.ts +2 -0
- package/dist/utils/deep-equal.test.d.ts.map +1 -0
- package/dist/utils/document-utils.d.ts +63 -0
- package/dist/utils/document-utils.d.ts.map +1 -0
- package/dist/utils/id-generator.d.ts +41 -0
- package/dist/utils/id-generator.d.ts.map +1 -0
- package/dist/utils/image-preview.d.ts +7 -0
- package/dist/utils/image-preview.d.ts.map +1 -0
- package/dist/utils/timestamp.d.ts +3 -0
- package/dist/utils/timestamp.d.ts.map +1 -0
- package/dist/viewer/collaboration-runtime.d.ts +29 -0
- package/dist/viewer/collaboration-runtime.d.ts.map +1 -0
- package/dist/viewer/config.d.ts +481 -0
- package/dist/viewer/config.d.ts.map +1 -0
- package/dist/viewer/document-load-pipeline.d.ts +43 -0
- package/dist/viewer/document-load-pipeline.d.ts.map +1 -0
- package/dist/viewer/document-load-pipeline.test.d.ts +2 -0
- package/dist/viewer/document-load-pipeline.test.d.ts.map +1 -0
- package/dist/viewer/element.d.ts +174 -0
- package/dist/viewer/element.d.ts.map +1 -0
- package/dist/viewer/element.test.d.ts +2 -0
- package/dist/viewer/element.test.d.ts.map +1 -0
- package/dist/viewer/events.d.ts +212 -0
- package/dist/viewer/events.d.ts.map +1 -0
- package/dist/viewer/export-orchestrator.d.ts +9 -0
- package/dist/viewer/export-orchestrator.d.ts.map +1 -0
- package/dist/viewer/headless.d.ts +108 -0
- package/dist/viewer/headless.d.ts.map +1 -0
- package/dist/viewer/internal-event-bindings.d.ts +26 -0
- package/dist/viewer/internal-event-bindings.d.ts.map +1 -0
- package/dist/viewer/internal-event-bindings.test.d.ts +2 -0
- package/dist/viewer/internal-event-bindings.test.d.ts.map +1 -0
- package/dist/viewer/modal.d.ts +22 -0
- package/dist/viewer/modal.d.ts.map +1 -0
- package/dist/viewer/page-indicator.d.ts +56 -0
- package/dist/viewer/page-indicator.d.ts.map +1 -0
- package/dist/viewer/pdfjs-resources.d.ts +12 -0
- package/dist/viewer/pdfjs-resources.d.ts.map +1 -0
- package/dist/viewer/server-writeback.d.ts +23 -0
- package/dist/viewer/server-writeback.d.ts.map +1 -0
- package/dist/viewer/server-writeback.test.d.ts +2 -0
- package/dist/viewer/server-writeback.test.d.ts.map +1 -0
- package/dist/viewer/ui-handler-helpers.d.ts +19 -0
- package/dist/viewer/ui-handler-helpers.d.ts.map +1 -0
- package/dist/viewer/ui-handler-helpers.test.d.ts +2 -0
- package/dist/viewer/ui-handler-helpers.test.d.ts.map +1 -0
- package/dist/viewer/viewer-header.d.ts +67 -0
- package/dist/viewer/viewer-header.d.ts.map +1 -0
- package/dist/virtual/page-position-cache.d.ts +24 -0
- package/dist/virtual/page-position-cache.d.ts.map +1 -0
- package/dist/virtual/render-pool.d.ts +23 -0
- package/dist/virtual/render-pool.d.ts.map +1 -0
- package/dist/virtual/render-pool.test.d.ts +2 -0
- package/dist/virtual/render-pool.test.d.ts.map +1 -0
- package/dist/virtual/types.d.ts +16 -0
- package/dist/virtual/types.d.ts.map +1 -0
- package/dist/virtual/virtual-page-manager.d.ts +54 -0
- package/dist/virtual/virtual-page-manager.d.ts.map +1 -0
- package/dist/watermark/watermark-layer.d.ts +58 -0
- package/dist/watermark/watermark-layer.d.ts.map +1 -0
- package/dist/watermark/watermark-settings.d.ts +79 -0
- package/dist/watermark/watermark-settings.d.ts.map +1 -0
- package/dist/watermark/watermark-ui-helpers.d.ts +78 -0
- package/dist/watermark/watermark-ui-helpers.d.ts.map +1 -0
- 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 @@
|
|
|
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"}
|