@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,168 @@
|
|
|
1
|
+
import { ScaleMode } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
export interface ZoomControls {
|
|
3
|
+
wrapper: HTMLDivElement;
|
|
4
|
+
zoomOut: HTMLButtonElement;
|
|
5
|
+
zoomIn: HTMLButtonElement;
|
|
6
|
+
zoomInput: HTMLInputElement;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Create an icon button with the given label, icon, and class name
|
|
10
|
+
* @param label - Display label for accessibility
|
|
11
|
+
* @param icon - SVG icon HTML
|
|
12
|
+
* @param className - CSS class name
|
|
13
|
+
* @param i18nKey - Optional i18n key for auto-update of title/aria-label
|
|
14
|
+
*/
|
|
15
|
+
export declare function createIconButton(label: string, icon: string, className: string, i18nKey?: string): HTMLButtonElement;
|
|
16
|
+
/**
|
|
17
|
+
* Set the active state of a button
|
|
18
|
+
*/
|
|
19
|
+
export declare function setButtonActive(button: HTMLButtonElement, active: boolean): void;
|
|
20
|
+
/**
|
|
21
|
+
* Create zoom controls (zoom out button, input, zoom in button)
|
|
22
|
+
*/
|
|
23
|
+
export declare function createZoomControls(icons: {
|
|
24
|
+
zoomIn: string;
|
|
25
|
+
zoomOut: string;
|
|
26
|
+
}): ZoomControls;
|
|
27
|
+
/**
|
|
28
|
+
* Parse zoom percentage from input value
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseZoomInput(value: string): number | null;
|
|
31
|
+
/**
|
|
32
|
+
* Build the left toolbar group (panel toggle, open buttons)
|
|
33
|
+
*/
|
|
34
|
+
export interface LeftGroupElements {
|
|
35
|
+
panelToggleButton: HTMLButtonElement;
|
|
36
|
+
fileInput: HTMLInputElement;
|
|
37
|
+
openButton: HTMLButtonElement;
|
|
38
|
+
cloudButton: HTMLButtonElement;
|
|
39
|
+
}
|
|
40
|
+
export declare function buildLeftGroup(icons: {
|
|
41
|
+
panel: string;
|
|
42
|
+
open: string;
|
|
43
|
+
cloud: string;
|
|
44
|
+
}): {
|
|
45
|
+
element: HTMLDivElement;
|
|
46
|
+
elements: LeftGroupElements;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Build preview mode segment buttons
|
|
50
|
+
*/
|
|
51
|
+
export interface PreviewSegmentElements {
|
|
52
|
+
selectButton: HTMLButtonElement;
|
|
53
|
+
panButton: HTMLButtonElement;
|
|
54
|
+
}
|
|
55
|
+
export declare function buildPreviewSegment(icons: {
|
|
56
|
+
select: string;
|
|
57
|
+
pan: string;
|
|
58
|
+
}): {
|
|
59
|
+
element: HTMLDivElement;
|
|
60
|
+
elements: PreviewSegmentElements;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Build scale mode buttons
|
|
64
|
+
*/
|
|
65
|
+
export interface ScaleButtons {
|
|
66
|
+
width: HTMLButtonElement;
|
|
67
|
+
page: HTMLButtonElement;
|
|
68
|
+
actual: HTMLButtonElement;
|
|
69
|
+
}
|
|
70
|
+
export declare function buildScaleButtons(icons: {
|
|
71
|
+
fitWidth: string;
|
|
72
|
+
fitPage: string;
|
|
73
|
+
fitActual: string;
|
|
74
|
+
}): {
|
|
75
|
+
element: HTMLDivElement;
|
|
76
|
+
buttons: ScaleButtons;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Build undo/redo buttons
|
|
80
|
+
*/
|
|
81
|
+
export interface UndoRedoButtons {
|
|
82
|
+
undo: HTMLButtonElement;
|
|
83
|
+
redo: HTMLButtonElement;
|
|
84
|
+
}
|
|
85
|
+
export declare function buildUndoRedoButtons(icons: {
|
|
86
|
+
undo: string;
|
|
87
|
+
redo: string;
|
|
88
|
+
}): {
|
|
89
|
+
undo: HTMLButtonElement;
|
|
90
|
+
redo: HTMLButtonElement;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Build annotation tool buttons
|
|
94
|
+
*/
|
|
95
|
+
export interface AnnotationToolGroupElements {
|
|
96
|
+
markupGroup: HTMLDivElement;
|
|
97
|
+
shapeGroup: HTMLDivElement;
|
|
98
|
+
textButton: HTMLButtonElement | null;
|
|
99
|
+
eraseButton: HTMLButtonElement | null;
|
|
100
|
+
allButtons: Map<string, HTMLButtonElement>;
|
|
101
|
+
}
|
|
102
|
+
export declare function buildAnnotationToolGroups(icons: {
|
|
103
|
+
highlight: string;
|
|
104
|
+
underline: string;
|
|
105
|
+
strike: string;
|
|
106
|
+
rect: string;
|
|
107
|
+
ellipse: string;
|
|
108
|
+
draw: string;
|
|
109
|
+
text: string;
|
|
110
|
+
erase: string;
|
|
111
|
+
}): AnnotationToolGroupElements;
|
|
112
|
+
/**
|
|
113
|
+
* Build the right toolbar group
|
|
114
|
+
*/
|
|
115
|
+
export interface RightGroupElements {
|
|
116
|
+
annotationsToggleButton: HTMLButtonElement;
|
|
117
|
+
inspectorToggleButton: HTMLButtonElement;
|
|
118
|
+
}
|
|
119
|
+
export declare function buildRightGroup(icons: {
|
|
120
|
+
eye: string;
|
|
121
|
+
info: string;
|
|
122
|
+
}): {
|
|
123
|
+
element: HTMLDivElement;
|
|
124
|
+
elements: RightGroupElements;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Build edit mode right group (watermark, download, save)
|
|
128
|
+
*/
|
|
129
|
+
export interface EditRightGroupElements {
|
|
130
|
+
watermarkToggleButton: HTMLButtonElement;
|
|
131
|
+
downloadButton: HTMLButtonElement;
|
|
132
|
+
saveButton: HTMLButtonElement;
|
|
133
|
+
}
|
|
134
|
+
export declare function buildEditRightGroup(icons: {
|
|
135
|
+
watermark: string;
|
|
136
|
+
download: string;
|
|
137
|
+
save: string;
|
|
138
|
+
}): {
|
|
139
|
+
element: HTMLDivElement;
|
|
140
|
+
elements: EditRightGroupElements;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Build annotation mode right group (save button only)
|
|
144
|
+
*/
|
|
145
|
+
export declare function buildAnnotationRightGroup(icons: {
|
|
146
|
+
save: string;
|
|
147
|
+
}): HTMLDivElement;
|
|
148
|
+
/**
|
|
149
|
+
* Update toolbar buttons disabled state based on viewer state
|
|
150
|
+
*/
|
|
151
|
+
export declare function updateButtonsDisabledState(buttons: HTMLButtonElement[], hasDoc: boolean): void;
|
|
152
|
+
/**
|
|
153
|
+
* Update undo/redo button states
|
|
154
|
+
*/
|
|
155
|
+
export declare function updateUndoRedoStates(undoButtons: HTMLButtonElement[], redoButtons: HTMLButtonElement[], hasDoc: boolean, canUndo: boolean, canRedo: boolean): void;
|
|
156
|
+
/**
|
|
157
|
+
* Set scale mode button active states
|
|
158
|
+
*/
|
|
159
|
+
export declare function setScaleModeActive(scaleButtons: ScaleButtons, mode: ScaleMode): void;
|
|
160
|
+
/**
|
|
161
|
+
* Set preview mode button active states
|
|
162
|
+
*/
|
|
163
|
+
export declare function setPreviewModeActive(previewSelect: HTMLButtonElement, previewPan: HTMLButtonElement, editSelect: HTMLButtonElement, editPan: HTMLButtonElement, mode: "select" | "pan"): void;
|
|
164
|
+
/**
|
|
165
|
+
* Set annotation tool button active states
|
|
166
|
+
*/
|
|
167
|
+
export declare function setAnnotationToolActive(toolButtons: Map<string, HTMLButtonElement>, activeTool: string): void;
|
|
168
|
+
//# sourceMappingURL=toolbar-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar-helpers.d.ts","sourceRoot":"","sources":["../../src/toolbar/toolbar-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar-icons.d.ts","sourceRoot":"","sources":["../../src/toolbar/toolbar-icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { ViewerState, ScaleMode } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
import { AnnotationTool } from '../annotations/types';
|
|
3
|
+
import { ModeLayoutConfig, ToolbarButtonConfig } from '../viewer/config';
|
|
4
|
+
export interface ToolbarHandlers {
|
|
5
|
+
onOpenFile?: (file: File) => void;
|
|
6
|
+
onOpenRemote?: () => void;
|
|
7
|
+
onTogglePanel?: () => void;
|
|
8
|
+
onPreviewModeChange?: (mode: "select" | "pan") => void;
|
|
9
|
+
onZoomIn?: () => void;
|
|
10
|
+
onZoomOut?: () => void;
|
|
11
|
+
onZoomChange?: (scale: number) => void;
|
|
12
|
+
onRotate?: () => void;
|
|
13
|
+
onScaleModeChange?: (mode: ScaleMode) => void;
|
|
14
|
+
onFullScreen?: () => void;
|
|
15
|
+
onAnnotationToolSelect?: (tool: AnnotationTool) => void;
|
|
16
|
+
onExport?: () => void;
|
|
17
|
+
onDownload?: () => void;
|
|
18
|
+
onSave?: () => void;
|
|
19
|
+
onUndo?: () => void;
|
|
20
|
+
onRedo?: () => void;
|
|
21
|
+
onInspectorToggle?: () => void;
|
|
22
|
+
onToggleAnnotations?: () => void;
|
|
23
|
+
onWatermarkToggle?: () => void;
|
|
24
|
+
onToggleEdit?: () => void;
|
|
25
|
+
onToggleTemplateProperties?: () => void;
|
|
26
|
+
}
|
|
27
|
+
export declare class ViewerToolbar {
|
|
28
|
+
private handlers;
|
|
29
|
+
readonly element: HTMLDivElement;
|
|
30
|
+
private fileInput;
|
|
31
|
+
private configZoomControls;
|
|
32
|
+
private configButtons;
|
|
33
|
+
private configUndoButtons;
|
|
34
|
+
private configRedoButtons;
|
|
35
|
+
private configScaleButtons;
|
|
36
|
+
private configSelectButton;
|
|
37
|
+
private configPanButton;
|
|
38
|
+
private configAnnotationToolButtons;
|
|
39
|
+
private currentMode;
|
|
40
|
+
constructor(handlers: ToolbarHandlers);
|
|
41
|
+
/**
|
|
42
|
+
* Attach event listeners to zoom controls
|
|
43
|
+
*/
|
|
44
|
+
private attachZoomEventListeners;
|
|
45
|
+
setState(state: ViewerState): void;
|
|
46
|
+
setPanelOpen(open: boolean): void;
|
|
47
|
+
setPreviewToggles(infoOpen: boolean, commentsOpen: boolean): void;
|
|
48
|
+
setWatermarkActive(active: boolean): void;
|
|
49
|
+
setToggleActive(key: string, active: boolean): void;
|
|
50
|
+
setPreviewMode(mode: "select" | "pan"): void;
|
|
51
|
+
setScaleMode(mode: ScaleMode): void;
|
|
52
|
+
setAnnotationTool(tool: AnnotationTool): void;
|
|
53
|
+
private handleZoomInputChange;
|
|
54
|
+
/**
|
|
55
|
+
* Set toolbar visibility
|
|
56
|
+
*/
|
|
57
|
+
setVisible(visible: boolean): void;
|
|
58
|
+
/**
|
|
59
|
+
* Apply mode-specific configuration
|
|
60
|
+
* Dynamically renders toolbar based on configuration
|
|
61
|
+
*/
|
|
62
|
+
applyModeConfig(mode: string, config?: ModeLayoutConfig): void;
|
|
63
|
+
/**
|
|
64
|
+
* Clear all dynamically created elements
|
|
65
|
+
*/
|
|
66
|
+
private clearDynamicElements;
|
|
67
|
+
/**
|
|
68
|
+
* Create a UI element from button configuration
|
|
69
|
+
* Uses isComposite from ButtonDefinition and container from config for routing
|
|
70
|
+
*/
|
|
71
|
+
private createElementFromConfig;
|
|
72
|
+
/**
|
|
73
|
+
* Create container element (segment or group) with children
|
|
74
|
+
*/
|
|
75
|
+
private createContainerElement;
|
|
76
|
+
/**
|
|
77
|
+
* Create segment container (single-select toggle buttons)
|
|
78
|
+
* Clicking any button highlights it and deactivates others in the group
|
|
79
|
+
*/
|
|
80
|
+
private createSegmentContainer;
|
|
81
|
+
/**
|
|
82
|
+
* Create group container (annotation tools, scale buttons, etc.)
|
|
83
|
+
*/
|
|
84
|
+
private createGroupContainer;
|
|
85
|
+
/**
|
|
86
|
+
* Create composite component (multi-element as single unit)
|
|
87
|
+
*/
|
|
88
|
+
private createCompositeComponent;
|
|
89
|
+
/**
|
|
90
|
+
* Create zoom controls (zoomOut, zoomInput, zoomIn)
|
|
91
|
+
*/
|
|
92
|
+
private createZoomControlsElement;
|
|
93
|
+
/**
|
|
94
|
+
* Create annotation tools (select, highlight, underline, strike, draw, rect, ellipse, text, erase)
|
|
95
|
+
*/
|
|
96
|
+
private createAnnotationToolsElement;
|
|
97
|
+
/**
|
|
98
|
+
* Create a single button element
|
|
99
|
+
*/
|
|
100
|
+
private createButtonElement;
|
|
101
|
+
/**
|
|
102
|
+
* Attach event handler to button
|
|
103
|
+
*/
|
|
104
|
+
private attachButtonHandler;
|
|
105
|
+
/**
|
|
106
|
+
* Get button icon by key
|
|
107
|
+
*/
|
|
108
|
+
getButtonIcon(key: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Create a button element from configuration
|
|
111
|
+
* This can be used by external code to add custom buttons
|
|
112
|
+
* @deprecated Use createElementFromConfig instead
|
|
113
|
+
*/
|
|
114
|
+
createButtonFromConfig(config: ToolbarButtonConfig): HTMLButtonElement | null;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../src/toolbar/toolbar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export interface ColorPickerOptions {
|
|
2
|
+
color: string;
|
|
3
|
+
opacity?: number;
|
|
4
|
+
hasOpacity?: boolean;
|
|
5
|
+
presets?: string[];
|
|
6
|
+
onChange: (color: string, opacity: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface ColorInputOptions {
|
|
9
|
+
label?: string;
|
|
10
|
+
i18nKey?: string;
|
|
11
|
+
color: string;
|
|
12
|
+
opacity?: number;
|
|
13
|
+
hasOpacity?: boolean;
|
|
14
|
+
displayMode?: "compact" | "inline";
|
|
15
|
+
presets?: string[];
|
|
16
|
+
onChange: (color: string, opacity: number) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare class ColorInput {
|
|
19
|
+
private options;
|
|
20
|
+
readonly element: HTMLDivElement;
|
|
21
|
+
private wrapper;
|
|
22
|
+
private labelEl?;
|
|
23
|
+
private trigger;
|
|
24
|
+
private triggerColor;
|
|
25
|
+
private opacitySlider?;
|
|
26
|
+
private picker;
|
|
27
|
+
private color;
|
|
28
|
+
private opacity;
|
|
29
|
+
constructor(options: ColorInputOptions);
|
|
30
|
+
private buildUI;
|
|
31
|
+
private buildCompactUI;
|
|
32
|
+
private buildInlineUI;
|
|
33
|
+
private togglePicker;
|
|
34
|
+
private openPicker;
|
|
35
|
+
private closePicker;
|
|
36
|
+
private handleOutsideClick;
|
|
37
|
+
private updateValue;
|
|
38
|
+
updateColor(color: string, opacity?: number): void;
|
|
39
|
+
private updateUI;
|
|
40
|
+
destroy(): void;
|
|
41
|
+
setLabel(label: string): void;
|
|
42
|
+
getLabelElement(): HTMLSpanElement | undefined;
|
|
43
|
+
}
|
|
44
|
+
export declare class ColorPicker {
|
|
45
|
+
private options;
|
|
46
|
+
private element;
|
|
47
|
+
private saturationArea;
|
|
48
|
+
private saturationHandle;
|
|
49
|
+
private hueSlider;
|
|
50
|
+
private hueHandle;
|
|
51
|
+
private alphaSlider;
|
|
52
|
+
private alphaHandle;
|
|
53
|
+
private alphaGradient;
|
|
54
|
+
private previewColor;
|
|
55
|
+
private inputs;
|
|
56
|
+
private hsb;
|
|
57
|
+
private alpha;
|
|
58
|
+
private currentHex;
|
|
59
|
+
private isDragging;
|
|
60
|
+
private cleanup;
|
|
61
|
+
constructor(options: ColorPickerOptions);
|
|
62
|
+
private injectStyles;
|
|
63
|
+
getElement(): HTMLDivElement;
|
|
64
|
+
destroy(): void;
|
|
65
|
+
private build;
|
|
66
|
+
private bindEvents;
|
|
67
|
+
private handleMove;
|
|
68
|
+
private updateUI;
|
|
69
|
+
private emitChange;
|
|
70
|
+
setColorFromHex(hex: string): void;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=color-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-picker.d.ts","sourceRoot":"","sources":["../../src/ui/color-picker.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,qBAAa,UAAU;IAYT,OAAO,CAAC,OAAO;IAX3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAC,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAmB;IACzC,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEJ,OAAO,EAAE,iBAAiB;IAiC9C,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,aAAa;IA2DrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,WAAW;IAOZ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMzD,OAAO,CAAC,QAAQ;IAuCT,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B,eAAe,IAAI,eAAe,GAAG,SAAS;CAGtD;AAcD,qBAAa,WAAW;IA6BV,OAAO,CAAC,OAAO;IA5B3B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,MAAM,CAMA;IAEd,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAIhB;IAEF,OAAO,CAAC,OAAO,CAAsB;gBAEjB,OAAO,EAAE,kBAAkB;IAa/C,OAAO,CAAC,YAAY;IAUpB,UAAU,IAAI,cAAc;IAI5B,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,KAAK;IA4Gb,OAAO,CAAC,UAAU;IAuElB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,QAAQ;IAyChB,OAAO,CAAC,UAAU;IAUlB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAOnC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface SliderOptions {
|
|
2
|
+
i18nKey?: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
value: number;
|
|
5
|
+
min: number;
|
|
6
|
+
max: number;
|
|
7
|
+
step?: number;
|
|
8
|
+
suffix?: string;
|
|
9
|
+
showValue?: boolean;
|
|
10
|
+
onChange: (value: number) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare class Slider {
|
|
13
|
+
private options;
|
|
14
|
+
readonly element: HTMLDivElement;
|
|
15
|
+
private input;
|
|
16
|
+
private valueDisplay?;
|
|
17
|
+
private labelEl?;
|
|
18
|
+
constructor(options: SliderOptions);
|
|
19
|
+
private injectStyles;
|
|
20
|
+
private buildUI;
|
|
21
|
+
private updateValueDisplay;
|
|
22
|
+
setValue(value: number): void;
|
|
23
|
+
getBoundingClientRect(): DOMRect;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/ui/slider.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,MAAM;IAML,OAAO,CAAC,OAAO;IAL3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAEd,OAAO,EAAE,aAAa;IAS1C,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAkDf,OAAO,CAAC,kBAAkB;IAMnB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,qBAAqB,IAAI,OAAO;CAGxC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AnnotationTool } from '../annotations/types';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if annotation tool is a text mark type
|
|
4
|
+
* @param tool - Annotation tool to check
|
|
5
|
+
* @returns True if tool is highlight, underline, or strike
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* isTextMarkTool("highlight") // true
|
|
9
|
+
* isTextMarkTool("draw") // false
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare function isTextMarkTool(tool: AnnotationTool): boolean;
|
|
13
|
+
//# sourceMappingURL=annotation-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-utils.d.ts","sourceRoot":"","sources":["../../src/utils/annotation-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE5D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color utility functions for HEX, RGB, and HSB conversions
|
|
3
|
+
*/
|
|
4
|
+
export interface RGB {
|
|
5
|
+
r: number;
|
|
6
|
+
g: number;
|
|
7
|
+
b: number;
|
|
8
|
+
}
|
|
9
|
+
export interface HSB {
|
|
10
|
+
h: number;
|
|
11
|
+
s: number;
|
|
12
|
+
b: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Convert HEX color string to RGB object
|
|
16
|
+
*/
|
|
17
|
+
export declare function hexToRgb(hex: string): RGB | null;
|
|
18
|
+
/**
|
|
19
|
+
* Convert RGB object to HEX string
|
|
20
|
+
*/
|
|
21
|
+
export declare function rgbToHex({ r, g, b }: RGB): string;
|
|
22
|
+
/**
|
|
23
|
+
* Convert RGB object to HSB object
|
|
24
|
+
*/
|
|
25
|
+
export declare function rgbToHsb({ r, g, b }: RGB): HSB;
|
|
26
|
+
/**
|
|
27
|
+
* Convert HSB object to RGB object
|
|
28
|
+
*/
|
|
29
|
+
export declare function hsbToRgb({ h, s, b }: HSB): RGB;
|
|
30
|
+
/**
|
|
31
|
+
* Convert HEX string to HSB object
|
|
32
|
+
*/
|
|
33
|
+
export declare function hexToHsb(hex: string): HSB;
|
|
34
|
+
/**
|
|
35
|
+
* Convert HSB object to HEX string
|
|
36
|
+
*/
|
|
37
|
+
export declare function hsbToHex(hsb: HSB): string;
|
|
38
|
+
/**
|
|
39
|
+
* Get contrasting text color (black or white) for a given background color
|
|
40
|
+
*/
|
|
41
|
+
export declare function getContrastColor(hex: string): string;
|
|
42
|
+
//# sourceMappingURL=color-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../src/utils/color-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAShD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,MAAM,CAQjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAgC9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAW9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAIzC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ConfirmDialogOptions {
|
|
2
|
+
anchor: HTMLElement;
|
|
3
|
+
title?: string;
|
|
4
|
+
message: string;
|
|
5
|
+
onConfirm: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function openConfirmDialog(options: ConfirmDialogOptions): {
|
|
8
|
+
close: () => void;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=confirm-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-dialog.d.ts","sourceRoot":"","sources":["../../src/utils/confirm-dialog.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAsCtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-equal.d.ts","sourceRoot":"","sources":["../../src/utils/deep-equal.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,GAAG,GAAG,EAC/B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,IAAI,GAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAiB,GAC5C,OAAO,CAiDT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-equal.test.d.ts","sourceRoot":"","sources":["../../src/utils/deep-equal.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { DocumentSource } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves document name from various source types
|
|
4
|
+
* @param source - Document source (URL, File, Blob, ArrayBuffer, etc.)
|
|
5
|
+
* @returns Document name or null if not available
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* resolveDocumentName("https://example.com/doc.pdf") // "doc.pdf"
|
|
9
|
+
* resolveDocumentName(new File(["data"], "local.pdf")) // "local.pdf"
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveDocumentName(source: DocumentSource | string | Blob | ArrayBuffer | Uint8Array): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* Extracts filename from URL by removing query parameters and fragments
|
|
15
|
+
* @param url - URL string
|
|
16
|
+
* @returns Filename from URL path
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* extractNameFromUrl("https://example.com/path/doc.pdf?v=1") // "doc.pdf"
|
|
20
|
+
* extractNameFromUrl("https://example.com/path/to/file.pdf#page=5") // "file.pdf"
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function extractNameFromUrl(url: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Normalizes various document source types into DocumentSource format
|
|
26
|
+
* @param source - Document source in any supported format
|
|
27
|
+
* @returns Normalized DocumentSource
|
|
28
|
+
* @throws Error if source type is unsupported
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* await normalizeSource("https://example.com/doc.pdf")
|
|
32
|
+
* // { type: "url", url: "https://example.com/doc.pdf" }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function normalizeSource(source: DocumentSource | string | Blob | ArrayBuffer | Uint8Array): Promise<DocumentSource>;
|
|
36
|
+
/**
|
|
37
|
+
* Type guard to check if value is a DocumentSource
|
|
38
|
+
* @param value - Value to check
|
|
39
|
+
* @returns True if value is a DocumentSource
|
|
40
|
+
*/
|
|
41
|
+
export declare function isDocumentSource(value: unknown): value is DocumentSource;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a localStorage key for persisting document data
|
|
44
|
+
* @param source - Document source
|
|
45
|
+
* @returns Storage key or undefined if source has no data
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* createDocumentStorageKey({ type: "url", url: "https://example.com/doc.pdf" })
|
|
49
|
+
* // "pdf-viewer:url:https://example.com/doc.pdf"
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function createDocumentStorageKey(source: DocumentSource): string | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Computes FNV-1a hash of byte array for generating unique keys
|
|
55
|
+
* @param data - Data to hash
|
|
56
|
+
* @returns Hexadecimal hash string
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* hashBytes(new Uint8Array([1, 2, 3])) // "3c829829"
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function hashBytes(data: Uint8Array): string;
|
|
63
|
+
//# sourceMappingURL=document-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-utils.d.ts","sourceRoot":"","sources":["../../src/utils/document-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAChE,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAItD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAChE,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAMxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAQnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAOlD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Annotation } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
export interface CreateAnnotationInput {
|
|
3
|
+
pageIndex: number;
|
|
4
|
+
type: Annotation["type"];
|
|
5
|
+
geometry: Annotation["geometry"];
|
|
6
|
+
style: Annotation["style"];
|
|
7
|
+
metadata?: Partial<Annotation["metadata"]>;
|
|
8
|
+
createAnnotationId?: () => string;
|
|
9
|
+
createAnnotationCode?: () => string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Generates a unique comment ID
|
|
13
|
+
* @returns Unique comment identifier (UUID format)
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* createCommentId() // "550e8400-e29b-41d4-a716-446655440000"
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function createCommentId(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Generates a unique annotation ID
|
|
22
|
+
* @returns Unique annotation identifier (UUID format)
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* createAnnotationId() // "550e8400-e29b-41d4-a716-446655440000"
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function createAnnotationId(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Generates a readable comment code
|
|
31
|
+
*/
|
|
32
|
+
export declare function createCommentCode(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Generates a readable annotation code
|
|
35
|
+
*/
|
|
36
|
+
export declare function createAnnotationCode(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Creates an annotation with default metadata and ID generation
|
|
39
|
+
*/
|
|
40
|
+
export declare function createAnnotation(input: CreateAnnotationInput): Annotation;
|
|
41
|
+
//# sourceMappingURL=id-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-generator.d.ts","sourceRoot":"","sources":["../../src/utils/id-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACjC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;CACrC;AAqBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAK3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAsBzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-preview.d.ts","sourceRoot":"","sources":["../../src/utils/image-preview.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,YAAY,GAAE,MAAU,GAAG,IAAI,CAiJhG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/utils/timestamp.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAqB3D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM,CAMR"}
|