@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,136 @@
|
|
|
1
|
+
import { ContentPanel } from './content-panel';
|
|
2
|
+
/**
|
|
3
|
+
* Tab position options
|
|
4
|
+
*/
|
|
5
|
+
export type TabPosition = "top" | "left" | "right" | "bottom";
|
|
6
|
+
/**
|
|
7
|
+
* Container panel options
|
|
8
|
+
*/
|
|
9
|
+
export interface ContainerPanelOptions {
|
|
10
|
+
/** Panel position in layout (affects CSS class and resize direction) */
|
|
11
|
+
position: "left" | "right";
|
|
12
|
+
/** Tab strip position */
|
|
13
|
+
tabPosition: TabPosition;
|
|
14
|
+
/** Enable resize handle */
|
|
15
|
+
resizable?: boolean;
|
|
16
|
+
/** Initial width in pixels */
|
|
17
|
+
initialWidth?: number;
|
|
18
|
+
/** Minimum width for resize */
|
|
19
|
+
minWidth?: number;
|
|
20
|
+
/** Maximum width for resize */
|
|
21
|
+
maxWidth?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Container Panel
|
|
25
|
+
*
|
|
26
|
+
* Manages a collection of content panels with a tab interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare class ContainerPanel {
|
|
29
|
+
readonly element: HTMLDivElement;
|
|
30
|
+
private readonly options;
|
|
31
|
+
private readonly tabStrip;
|
|
32
|
+
private readonly contentArea;
|
|
33
|
+
private readonly resizeHandle;
|
|
34
|
+
private readonly panels;
|
|
35
|
+
private readonly tabs;
|
|
36
|
+
private readonly panelTabMeta;
|
|
37
|
+
private readonly panelTabMetaListeners;
|
|
38
|
+
private readonly activePanels;
|
|
39
|
+
private readonly visiblePanels;
|
|
40
|
+
private open;
|
|
41
|
+
private resizePointerId?;
|
|
42
|
+
private resizeStartX;
|
|
43
|
+
private resizeStartWidth;
|
|
44
|
+
constructor(options: ContainerPanelOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Add a content panel to the container
|
|
47
|
+
*/
|
|
48
|
+
addPanel(panel: ContentPanel): void;
|
|
49
|
+
/**
|
|
50
|
+
* Remove a content panel from the container
|
|
51
|
+
*/
|
|
52
|
+
removePanel(key: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Activate a content panel (make visible)
|
|
55
|
+
*/
|
|
56
|
+
activatePanel(key: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Deactivate a content panel (hide)
|
|
59
|
+
*/
|
|
60
|
+
deactivatePanel(key: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* Toggle a panel's active state
|
|
63
|
+
*/
|
|
64
|
+
togglePanel(key: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* Check if any panel is active
|
|
67
|
+
*/
|
|
68
|
+
hasActivePanel(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Get list of active panel keys
|
|
71
|
+
*/
|
|
72
|
+
getActivePanelKeys(): string[];
|
|
73
|
+
/**
|
|
74
|
+
* Get list of active panels
|
|
75
|
+
*/
|
|
76
|
+
getActivePanels(): ContentPanel[];
|
|
77
|
+
/**
|
|
78
|
+
* Get a panel by key
|
|
79
|
+
*/
|
|
80
|
+
getPanel(key: string): ContentPanel | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Check if panel exists
|
|
83
|
+
*/
|
|
84
|
+
hasPanel(key: string): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Check if a specific panel is active
|
|
87
|
+
*/
|
|
88
|
+
isPanelActive(key: string): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Set panel visibility (tab + content availability)
|
|
91
|
+
*/
|
|
92
|
+
setPanelVisible(key: string, visible: boolean): void;
|
|
93
|
+
/**
|
|
94
|
+
* Check if panel is visible
|
|
95
|
+
*/
|
|
96
|
+
isPanelVisible(key: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Set container open/closed state
|
|
99
|
+
*/
|
|
100
|
+
setOpen(open: boolean): void;
|
|
101
|
+
/**
|
|
102
|
+
* Check if container is open
|
|
103
|
+
*/
|
|
104
|
+
isOpen(): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Get the position of this container
|
|
107
|
+
*/
|
|
108
|
+
getPosition(): "left" | "right";
|
|
109
|
+
/**
|
|
110
|
+
* Get the resize handle element (for external event binding)
|
|
111
|
+
*/
|
|
112
|
+
getResizeHandle(): HTMLDivElement | null;
|
|
113
|
+
/**
|
|
114
|
+
* Destroy all panels and cleanup
|
|
115
|
+
*/
|
|
116
|
+
destroy(): void;
|
|
117
|
+
private createContainer;
|
|
118
|
+
private createTabStrip;
|
|
119
|
+
private createContentArea;
|
|
120
|
+
private createResizeHandle;
|
|
121
|
+
private createTab;
|
|
122
|
+
private assembleElement;
|
|
123
|
+
private updateOpenState;
|
|
124
|
+
private registerTabMetaListener;
|
|
125
|
+
private unregisterTabMetaListener;
|
|
126
|
+
private updateTabMeta;
|
|
127
|
+
private renderTabMeta;
|
|
128
|
+
private updateTabLabel;
|
|
129
|
+
private updateTabActions;
|
|
130
|
+
private onResizeStart;
|
|
131
|
+
private onResizeMove;
|
|
132
|
+
private onResizeEnd;
|
|
133
|
+
private getIconSvg;
|
|
134
|
+
private updateLayoutWidth;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=container-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-panel.d.ts","sourceRoot":"","sources":["../../src/panels/container-panel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Panel Interface
|
|
3
|
+
*
|
|
4
|
+
* Base interface for all content panels that can be added to container panels.
|
|
5
|
+
* Each content panel represents a specific functionality like thumbnails, outline,
|
|
6
|
+
* document properties, watermarks, annotations, etc.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Content panel interface
|
|
10
|
+
* All content panels must implement this interface
|
|
11
|
+
*/
|
|
12
|
+
export interface ContentPanelTabAction {
|
|
13
|
+
/** Action unique key */
|
|
14
|
+
key: string;
|
|
15
|
+
/** SVG icon markup */
|
|
16
|
+
icon: string;
|
|
17
|
+
/** Accessible label / tooltip */
|
|
18
|
+
label: string;
|
|
19
|
+
/** Active UI state */
|
|
20
|
+
active?: boolean;
|
|
21
|
+
/** Disabled UI state */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Click handler */
|
|
24
|
+
onClick?: () => void;
|
|
25
|
+
}
|
|
26
|
+
export interface ContentPanelTabMeta {
|
|
27
|
+
/** Dynamic tab label override */
|
|
28
|
+
label?: string;
|
|
29
|
+
/** Optional tab actions (horizontal tabs only) */
|
|
30
|
+
actions?: ContentPanelTabAction[];
|
|
31
|
+
}
|
|
32
|
+
export interface ContentPanel {
|
|
33
|
+
/** Panel unique key */
|
|
34
|
+
readonly key: string;
|
|
35
|
+
/** Panel display name */
|
|
36
|
+
readonly name: string;
|
|
37
|
+
/** Optional i18n key for name auto-update */
|
|
38
|
+
readonly nameKey?: string;
|
|
39
|
+
/** Panel icon name */
|
|
40
|
+
readonly icon: string;
|
|
41
|
+
/** DOM element */
|
|
42
|
+
readonly element: HTMLElement;
|
|
43
|
+
/** Optional dynamic tab metadata (title/actions) */
|
|
44
|
+
getTabMeta?(): ContentPanelTabMeta | undefined;
|
|
45
|
+
/** Activate/deactivate panel */
|
|
46
|
+
setActive(active: boolean): void;
|
|
47
|
+
/** Destroy panel and cleanup resources */
|
|
48
|
+
destroy?(): void;
|
|
49
|
+
/** Update UI text when locale changes */
|
|
50
|
+
updateLocale?(): void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Content panel factory interface
|
|
54
|
+
* Used to create content panels dynamically
|
|
55
|
+
*/
|
|
56
|
+
export interface ContentPanelFactory {
|
|
57
|
+
/**
|
|
58
|
+
* Create a content panel by key
|
|
59
|
+
* @param key Panel key
|
|
60
|
+
* @param handlers Event handlers for the panel
|
|
61
|
+
* @returns Content panel instance or undefined if key is not recognized
|
|
62
|
+
*/
|
|
63
|
+
create(key: string, handlers: unknown): ContentPanel | undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Base class for content panels
|
|
67
|
+
* Provides common functionality for all content panels
|
|
68
|
+
*/
|
|
69
|
+
export declare abstract class BaseContentPanel implements ContentPanel {
|
|
70
|
+
abstract readonly key: string;
|
|
71
|
+
abstract readonly name: string;
|
|
72
|
+
abstract readonly icon: string;
|
|
73
|
+
readonly element: HTMLElement;
|
|
74
|
+
protected active: boolean;
|
|
75
|
+
constructor();
|
|
76
|
+
/**
|
|
77
|
+
* Create the panel DOM element
|
|
78
|
+
* Subclasses should override this to create their specific UI
|
|
79
|
+
*/
|
|
80
|
+
protected abstract createElement(): HTMLElement;
|
|
81
|
+
/**
|
|
82
|
+
* Set panel active state
|
|
83
|
+
*/
|
|
84
|
+
setActive(active: boolean): void;
|
|
85
|
+
/**
|
|
86
|
+
* Called when active state changes
|
|
87
|
+
* Subclasses can override this to handle activation/deactivation
|
|
88
|
+
*/
|
|
89
|
+
protected onActiveChange(_active: boolean): void;
|
|
90
|
+
/**
|
|
91
|
+
* Destroy panel and cleanup resources
|
|
92
|
+
*/
|
|
93
|
+
destroy(): void;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=content-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-panel.d.ts","sourceRoot":"","sources":["../../src/panels/content-panel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,oDAAoD;IACpD,UAAU,CAAC,IAAI,mBAAmB,GAAG,SAAS,CAAC;IAC/C,gCAAgC;IAChC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,0CAA0C;IAC1C,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,yCAAyC;IACzC,YAAY,CAAC,IAAI,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;CAClE;AAED;;;GAGG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAE9B,SAAS,CAAC,MAAM,UAAS;;IAMzB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,WAAW;IAE/C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAMhC;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhD;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ViewerState, PdfMetadata } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
import { ContentPanel } from './content-panel';
|
|
3
|
+
/**
|
|
4
|
+
* Document info passed to this panel
|
|
5
|
+
*/
|
|
6
|
+
export interface DocumentInfo {
|
|
7
|
+
fileName: string;
|
|
8
|
+
fileSize: number;
|
|
9
|
+
pageCount: number;
|
|
10
|
+
pageWidth: number;
|
|
11
|
+
pageHeight: number;
|
|
12
|
+
metadata?: PdfMetadata;
|
|
13
|
+
}
|
|
14
|
+
export declare class DocumentPropertiesPanel implements ContentPanel {
|
|
15
|
+
readonly key: string;
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly nameKey?: string;
|
|
18
|
+
readonly icon: string;
|
|
19
|
+
readonly element: HTMLDivElement;
|
|
20
|
+
private active;
|
|
21
|
+
private docPropsFileName;
|
|
22
|
+
private docPropsFileMeta;
|
|
23
|
+
private docPropsPages;
|
|
24
|
+
private docPropsSize;
|
|
25
|
+
private docPropsTitle;
|
|
26
|
+
private docPropsAuthor;
|
|
27
|
+
private docPropsSubject;
|
|
28
|
+
private docPropsKeywords;
|
|
29
|
+
private docPropsCreated;
|
|
30
|
+
private docPropsModified;
|
|
31
|
+
private docPropsApplication;
|
|
32
|
+
private labelElements;
|
|
33
|
+
constructor(options?: {
|
|
34
|
+
key?: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
nameKey?: string;
|
|
37
|
+
icon?: string;
|
|
38
|
+
});
|
|
39
|
+
setActive(active: boolean): void;
|
|
40
|
+
destroy(): void;
|
|
41
|
+
setState(state: ViewerState, documentName: string | null): void;
|
|
42
|
+
setDocumentInfo(info: DocumentInfo): void;
|
|
43
|
+
private buildPanel;
|
|
44
|
+
private buildStatCard;
|
|
45
|
+
private buildMetadataField;
|
|
46
|
+
private buildDateRow;
|
|
47
|
+
private updateAuthorDisplay;
|
|
48
|
+
private updateKeywordsDisplay;
|
|
49
|
+
private getInitials;
|
|
50
|
+
private formatFileSize;
|
|
51
|
+
private formatDate;
|
|
52
|
+
private getPageSizeName;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=document-properties-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-properties-panel.d.ts","sourceRoot":"","sources":["../../src/panels/document-properties-panel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,qBAAa,uBAAwB,YAAW,YAAY;IAE1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,mBAAmB,CAAkB;IAG7C,OAAO,CAAC,aAAa,CAAuC;gBAGhD,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAgCtF,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAMhC,OAAO,IAAI,IAAI;IAKf,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAK/D,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAuBzC,OAAO,CAAC,UAAU;IAiGlB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,eAAe;CAqBxB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Panels Module Export
|
|
3
|
+
*
|
|
4
|
+
* Central export point for all panel-related components.
|
|
5
|
+
*/
|
|
6
|
+
export type { ContentPanel, ContentPanelFactory } from './content-panel';
|
|
7
|
+
export { BaseContentPanel } from './content-panel';
|
|
8
|
+
export { ContainerPanel } from './container-panel';
|
|
9
|
+
export type { ContainerPanelOptions, TabPosition } from './container-panel';
|
|
10
|
+
export { PanelManager } from './panel-manager';
|
|
11
|
+
export type { PanelManagerOptions } from './panel-manager';
|
|
12
|
+
export { DefaultPanelFactory } from './panel-factory';
|
|
13
|
+
export type { PanelHandlers } from './panel-factory';
|
|
14
|
+
export { ThumbnailPanel } from './thumbnail-panel';
|
|
15
|
+
export type { ThumbnailPanelHandlers } from './thumbnail-panel';
|
|
16
|
+
export { OutlinePanel } from './outline-panel';
|
|
17
|
+
export type { OutlinePanelHandlers } from './outline-panel';
|
|
18
|
+
export { DocumentPropertiesPanel } from './document-properties-panel';
|
|
19
|
+
export type { DocumentInfo } from './document-properties-panel';
|
|
20
|
+
export { AnnotationSettingsPanel } from './annotation-settings-panel';
|
|
21
|
+
export type { AnnotationSettingsHandlers } from './annotation-settings-panel';
|
|
22
|
+
export { AnnotationCommentsPanel } from './annotation-comments-panel';
|
|
23
|
+
export type { AnnotationCommentsHandlers } from './annotation-comments-panel';
|
|
24
|
+
export { WatermarkSettingsPanel } from '../watermark/watermark-settings';
|
|
25
|
+
export type { WatermarkPanelHandlers } from '../watermark/watermark-settings';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/panels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ViewerState } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
import { ContentPanel } from './content-panel';
|
|
3
|
+
export interface OutlinePanelHandlers {
|
|
4
|
+
onSelect?: (pageIndex: number) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare class OutlinePanel implements ContentPanel {
|
|
7
|
+
private handlers;
|
|
8
|
+
readonly key: string;
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly nameKey?: string;
|
|
11
|
+
readonly icon: string;
|
|
12
|
+
readonly element: HTMLDivElement;
|
|
13
|
+
private list;
|
|
14
|
+
private empty;
|
|
15
|
+
private outline?;
|
|
16
|
+
private items;
|
|
17
|
+
private collapsedKeys;
|
|
18
|
+
private active;
|
|
19
|
+
constructor(handlers: OutlinePanelHandlers, options?: {
|
|
20
|
+
key?: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
nameKey?: string;
|
|
23
|
+
icon?: string;
|
|
24
|
+
});
|
|
25
|
+
setActive(active: boolean): void;
|
|
26
|
+
destroy(): void;
|
|
27
|
+
setState(state: ViewerState): void;
|
|
28
|
+
private renderOutline;
|
|
29
|
+
private appendNodes;
|
|
30
|
+
private updateActive;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=outline-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outline-panel.d.ts","sourceRoot":"","sources":["../../src/panels/outline-panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,qBAAa,YAAa,YAAW,YAAY;IAenC,OAAO,CAAC,QAAQ;IAb5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,KAAK,CAA2D;IACxE,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,MAAM,CAAS;gBAEH,QAAQ,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAyB9H,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAMhC,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IASlC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,WAAW;IA6FnB,OAAO,CAAC,YAAY;CAQrB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ContentPanel, ContentPanelFactory } from './content-panel';
|
|
2
|
+
import { ThumbnailPanelHandlers } from './thumbnail-panel';
|
|
3
|
+
import { OutlinePanelHandlers } from './outline-panel';
|
|
4
|
+
import { AnnotationSettingsHandlers } from './annotation-settings-panel';
|
|
5
|
+
import { AnnotationSummaryHandlers } from './annotation-summary-panel';
|
|
6
|
+
import { TemplateFieldPanelHandlers } from './template-field-panel';
|
|
7
|
+
import { TemplatePropertyPanelHandlers } from './template-property-panel';
|
|
8
|
+
import { WatermarkPanelHandlers } from '../watermark/watermark-settings';
|
|
9
|
+
/**
|
|
10
|
+
* Panel handlers registry
|
|
11
|
+
*/
|
|
12
|
+
export interface PanelHandlers {
|
|
13
|
+
thumbnails?: ThumbnailPanelHandlers;
|
|
14
|
+
outline?: OutlinePanelHandlers;
|
|
15
|
+
properties?: Record<string, unknown>;
|
|
16
|
+
annotationSettings?: AnnotationSettingsHandlers;
|
|
17
|
+
annotationComments?: AnnotationSummaryHandlers;
|
|
18
|
+
templateFields?: TemplateFieldPanelHandlers;
|
|
19
|
+
templateProperties?: TemplatePropertyPanelHandlers;
|
|
20
|
+
watermark?: WatermarkPanelHandlers;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Default panel factory implementation
|
|
24
|
+
*/
|
|
25
|
+
export declare class DefaultPanelFactory implements ContentPanelFactory {
|
|
26
|
+
private handlers;
|
|
27
|
+
constructor(handlers?: PanelHandlers);
|
|
28
|
+
/**
|
|
29
|
+
* Create a content panel by key
|
|
30
|
+
*/
|
|
31
|
+
create(key: string, _handlers?: unknown): ContentPanel | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Update handlers for creating new panels
|
|
34
|
+
*/
|
|
35
|
+
setHandlers(handlers: Partial<PanelHandlers>): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=panel-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel-factory.d.ts","sourceRoot":"","sources":["../../src/panels/panel-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAkB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAA2B,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,EAA0B,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAsB,KAAK,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAyB,KAAK,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAItG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAChD,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAC/C,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IACnD,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IACjD,OAAO,CAAC,QAAQ;gBAAR,QAAQ,GAAE,aAAkB;IAEhD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS;IAiGlE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;CAGpD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ContainerPanel } from './container-panel';
|
|
2
|
+
import { PanelManager } from './panel-manager';
|
|
3
|
+
import { DefaultPanelFactory, PanelHandlers } from './panel-factory';
|
|
4
|
+
/**
|
|
5
|
+
* Create the new panel system
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const { leftContainer, rightContainer, manager } = createPanelSystem({
|
|
10
|
+
* thumbnails: {
|
|
11
|
+
* onSelect: (pageIndex) => controller.setPage(pageIndex + 1),
|
|
12
|
+
* },
|
|
13
|
+
* outline: {
|
|
14
|
+
* onSelect: (pageIndex) => controller.setPage(pageIndex + 1),
|
|
15
|
+
* },
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // Add containers to DOM
|
|
19
|
+
* leftPanelHost.appendChild(leftContainer.element);
|
|
20
|
+
* rightPanelHost.appendChild(rightContainer.element);
|
|
21
|
+
*
|
|
22
|
+
* // Wire up button clicks
|
|
23
|
+
* sidebarButton.addEventListener("click", () => {
|
|
24
|
+
* manager.toggleButton("sidebar");
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function createPanelSystem(handlers: PanelHandlers): {
|
|
29
|
+
leftContainer: ContainerPanel;
|
|
30
|
+
rightContainer: ContainerPanel;
|
|
31
|
+
manager: PanelManager;
|
|
32
|
+
panelFactory: DefaultPanelFactory;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Example: Integration with the new PanelCoordinatorV2
|
|
36
|
+
*
|
|
37
|
+
* Migration is complete:
|
|
38
|
+
* 1. The new panel system is now the default.
|
|
39
|
+
* 2. PanelManager handles button activation/deactivation.
|
|
40
|
+
* 3. Old LeftPanel/RightPanel and legacy PanelCoordinator have been removed.
|
|
41
|
+
*/
|
|
42
|
+
export interface PanelCoordinatorWithNewArchitecture {
|
|
43
|
+
togglePanel(): void;
|
|
44
|
+
toggleInspector(): void;
|
|
45
|
+
getPanelManager(): PanelManager | undefined;
|
|
46
|
+
getLeftContainer(): ContainerPanel | undefined;
|
|
47
|
+
getRightContainer(): ContainerPanel | undefined;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=panel-integration-example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel-integration-example.d.ts","sourceRoot":"","sources":["../../src/panels/panel-integration-example.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa;;;;;EA0DxD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mCAAmC;IAElD,WAAW,IAAI,IAAI,CAAC;IACpB,eAAe,IAAI,IAAI,CAAC;IAGxB,eAAe,IAAI,YAAY,GAAG,SAAS,CAAC;IAC5C,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/C,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAAC;CACjD"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ContainerPanel } from './container-panel';
|
|
2
|
+
import { ContentPanel, ContentPanelFactory } from './content-panel';
|
|
3
|
+
import { PanelDefinition, ToggleTargetConfig } from '../viewer/config';
|
|
4
|
+
/**
|
|
5
|
+
* Panel Manager Options
|
|
6
|
+
*/
|
|
7
|
+
export interface PanelManagerOptions {
|
|
8
|
+
/** Left container panel */
|
|
9
|
+
leftContainer: ContainerPanel;
|
|
10
|
+
/** Right container panel */
|
|
11
|
+
rightContainer: ContainerPanel;
|
|
12
|
+
/** Panel definitions */
|
|
13
|
+
panels: PanelDefinition[];
|
|
14
|
+
/** Factory for creating content panels */
|
|
15
|
+
panelFactory: ContentPanelFactory;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Panel Manager
|
|
19
|
+
*
|
|
20
|
+
* Manages the relationship between toolbar buttons and content panels.
|
|
21
|
+
*/
|
|
22
|
+
export declare class PanelManager {
|
|
23
|
+
private readonly leftContainer;
|
|
24
|
+
private readonly rightContainer;
|
|
25
|
+
private readonly panelDefinitions;
|
|
26
|
+
private readonly panelInstances;
|
|
27
|
+
private readonly buttonStates;
|
|
28
|
+
private readonly panelFactory;
|
|
29
|
+
private readonly lastActivatedByContainer;
|
|
30
|
+
constructor(options: PanelManagerOptions);
|
|
31
|
+
/**
|
|
32
|
+
* Register a button's panel mapping
|
|
33
|
+
*/
|
|
34
|
+
registerButtonMapping(buttonKey: string, config: ToggleTargetConfig, options?: {
|
|
35
|
+
exclusive?: boolean;
|
|
36
|
+
exclusiveGroup?: string;
|
|
37
|
+
}): void;
|
|
38
|
+
/**
|
|
39
|
+
* Activate a button
|
|
40
|
+
* This activates the associated panels
|
|
41
|
+
*/
|
|
42
|
+
onButtonActivate(buttonKey: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Deactivate a button
|
|
45
|
+
* This deactivates the associated panels (unless another button keeps them active)
|
|
46
|
+
*/
|
|
47
|
+
onButtonDeactivate(buttonKey: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Toggle a button's active state
|
|
50
|
+
*/
|
|
51
|
+
toggleButton(buttonKey: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a button is currently active
|
|
54
|
+
*/
|
|
55
|
+
isButtonActive(buttonKey: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Check if any panels from this button are currently active
|
|
58
|
+
*/
|
|
59
|
+
hasActivePanelsForButton(buttonKey: string): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a container should be visible (has active panels)
|
|
62
|
+
*/
|
|
63
|
+
shouldShowContainer(position: "left" | "right"): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Get a panel instance by key
|
|
66
|
+
*/
|
|
67
|
+
getPanel(key: string): ContentPanel | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Get left container
|
|
70
|
+
*/
|
|
71
|
+
getLeftContainer(): ContainerPanel;
|
|
72
|
+
/**
|
|
73
|
+
* Get right container
|
|
74
|
+
*/
|
|
75
|
+
getRightContainer(): ContainerPanel;
|
|
76
|
+
/**
|
|
77
|
+
* Destroy and cleanup
|
|
78
|
+
*/
|
|
79
|
+
destroy(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Update locale for all panels
|
|
82
|
+
* Called when locale changes at runtime
|
|
83
|
+
*/
|
|
84
|
+
updateLocale(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Clear all button active states
|
|
87
|
+
* Used when switching modes to reset panel visibility
|
|
88
|
+
*/
|
|
89
|
+
clearAllButtonStates(): void;
|
|
90
|
+
private ensurePanelCreated;
|
|
91
|
+
private syncPanels;
|
|
92
|
+
private setPanelVisibility;
|
|
93
|
+
private activateDefaultsForButton;
|
|
94
|
+
private ensureActivePanel;
|
|
95
|
+
private markLastActivated;
|
|
96
|
+
private deactivateExclusiveGroup;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=panel-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel-manager.d.ts","sourceRoot":"","sources":["../../src/panels/panel-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,aAAa,EAAE,cAAc,CAAC;IAC9B,4BAA4B;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,wBAAwB;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,0CAA0C;IAC1C,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAoBD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4C;gBAEzE,OAAO,EAAE,mBAAmB;IAUxC;;OAEG;IACH,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,IAAI;IAiBP;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAiBzC;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAW3C;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAgBxC;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI1C;;OAEG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAgBpD;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAKxD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI/C;;OAEG;IACH,gBAAgB,IAAI,cAAc;IAIlC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;;OAGG;IACH,YAAY,IAAI,IAAI;IAQpB;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAW5B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,wBAAwB;CAQjC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseContentPanel } from './content-panel';
|
|
2
|
+
import { BusinessField } from '@jacktea/pdf-viewer-core';
|
|
3
|
+
export interface TemplateFieldPanelHandlers {
|
|
4
|
+
getFields?: () => BusinessField[];
|
|
5
|
+
onLoadSchema?: () => void;
|
|
6
|
+
onTogglePreviewMode?: (preview: boolean) => void;
|
|
7
|
+
}
|
|
8
|
+
interface TemplateFieldPanelOptions {
|
|
9
|
+
key: string;
|
|
10
|
+
name: string;
|
|
11
|
+
nameKey: string;
|
|
12
|
+
icon: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class TemplateFieldPanel extends BaseContentPanel {
|
|
15
|
+
private handlers;
|
|
16
|
+
readonly key: string;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly nameKey: string;
|
|
19
|
+
readonly icon: string;
|
|
20
|
+
private isPreview;
|
|
21
|
+
constructor(handlers: TemplateFieldPanelHandlers, options: TemplateFieldPanelOptions);
|
|
22
|
+
protected createElement(): HTMLElement;
|
|
23
|
+
refresh(): void;
|
|
24
|
+
private renderFields;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=template-field-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-field-panel.d.ts","sourceRoot":"","sources":["../../src/panels/template-field-panel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,aAAa,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,UAAU,yBAAyB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IAQpD,OAAO,CAAC,QAAQ;IAPlB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,SAAS,CAAS;gBAGhB,QAAQ,EAAE,0BAA0B,EAC5C,OAAO,EAAE,yBAAyB;IAYpC,SAAS,CAAC,aAAa,IAAI,WAAW;IAyEtC,OAAO;IAOP,OAAO,CAAC,YAAY;CA0CrB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseContentPanel } from './content-panel';
|
|
2
|
+
import { TemplateElement } from '@jacktea/pdf-viewer-core';
|
|
3
|
+
export interface TemplatePropertyPanelHandlers {
|
|
4
|
+
onUpdateElement?: (element: TemplateElement) => void;
|
|
5
|
+
onDeleteElement?: (elementId: string) => void;
|
|
6
|
+
}
|
|
7
|
+
interface TemplatePropertyPanelOptions {
|
|
8
|
+
key: string;
|
|
9
|
+
name: string;
|
|
10
|
+
nameKey: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class TemplatePropertyPanel extends BaseContentPanel {
|
|
14
|
+
private handlers;
|
|
15
|
+
readonly key: string;
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly nameKey: string;
|
|
18
|
+
readonly icon: string;
|
|
19
|
+
private currentElement;
|
|
20
|
+
private formContainer;
|
|
21
|
+
private pageWidth;
|
|
22
|
+
private pageHeight;
|
|
23
|
+
constructor(handlers: TemplatePropertyPanelHandlers, options: TemplatePropertyPanelOptions);
|
|
24
|
+
protected createElement(): HTMLElement;
|
|
25
|
+
setElement(element: TemplateElement | null, pageWidth?: number, pageHeight?: number): void;
|
|
26
|
+
private renderForm;
|
|
27
|
+
private updateElement;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=template-property-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-property-panel.d.ts","sourceRoot":"","sources":["../../src/panels/template-property-panel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAalC,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,UAAU,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,qBAAsB,SAAQ,gBAAgB;IAYvD,OAAO,CAAC,QAAQ;IAXlB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;gBAGb,QAAQ,EAAE,6BAA6B,EAC/C,OAAO,EAAE,4BAA4B;IASvC,SAAS,CAAC,aAAa,IAAI,WAAW;IAgBtC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAOnF,OAAO,CAAC,UAAU;IAkRlB,OAAO,CAAC,aAAa;CAStB"}
|