@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,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a template settings section
|
|
3
|
+
*/
|
|
4
|
+
export declare function createTemplateSection(title: string): HTMLDivElement;
|
|
5
|
+
/**
|
|
6
|
+
* Create an input group
|
|
7
|
+
*/
|
|
8
|
+
export declare function createInputGroup(label: string, element: HTMLElement): HTMLDivElement;
|
|
9
|
+
/**
|
|
10
|
+
* Create a row container
|
|
11
|
+
*/
|
|
12
|
+
export declare function createRow(): HTMLDivElement;
|
|
13
|
+
/**
|
|
14
|
+
* Create a text/number input
|
|
15
|
+
*/
|
|
16
|
+
export declare function createTextInput(value: string | number, onChange: (val: string) => void, type?: "text" | "number", placeholder?: string): HTMLElement;
|
|
17
|
+
/**
|
|
18
|
+
* Create a select dropdown
|
|
19
|
+
*/
|
|
20
|
+
export declare function createSelect(options: {
|
|
21
|
+
value: string;
|
|
22
|
+
label: string;
|
|
23
|
+
}[], currentValue: string, onChange: (val: string) => void): HTMLSelectElement;
|
|
24
|
+
/**
|
|
25
|
+
* Create a color picker input
|
|
26
|
+
*/
|
|
27
|
+
export declare function createColorInput(label: string, color: string, opacity: number, onChange: (color: string, opacity: number) => void): HTMLElement;
|
|
28
|
+
/**
|
|
29
|
+
* Create an alignment selector
|
|
30
|
+
*/
|
|
31
|
+
export declare function createAlignSelector(current: "left" | "center" | "right", onChange: (val: "left" | "center" | "right") => void): HTMLElement;
|
|
32
|
+
//# sourceMappingURL=template-ui-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-ui-helpers.d.ts","sourceRoot":"","sources":["../../src/panels/template-ui-helpers.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAUnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,cAAc,CAapF;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAI1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC/B,IAAI,GAAE,MAAM,GAAG,QAAiB,EAChC,WAAW,CAAC,EAAE,MAAM,GACrB,WAAW,CA4Bb;AAED;;GAEG;AACH,wBAAgB,YAAY,CACxB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC3C,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAChC,iBAAiB,CAiBnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GACnD,WAAW,CAeb;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,EACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,GACrD,WAAW,CA4Bb"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ViewerState } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
import { PDFDocumentProxy } from '../pdfjs';
|
|
3
|
+
import { ContentPanel } from './content-panel';
|
|
4
|
+
export interface ThumbnailPanelHandlers {
|
|
5
|
+
onSelect?: (pageIndex: number) => void;
|
|
6
|
+
onDelete?: (pageIndex: number) => void;
|
|
7
|
+
onMove?: (fromIndex: number, toIndex: number) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare class ThumbnailPanel implements ContentPanel {
|
|
10
|
+
private handlers;
|
|
11
|
+
readonly key: string;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly nameKey?: string;
|
|
14
|
+
readonly icon: string;
|
|
15
|
+
readonly element: HTMLDivElement;
|
|
16
|
+
private scroller;
|
|
17
|
+
private list;
|
|
18
|
+
private empty;
|
|
19
|
+
private doc?;
|
|
20
|
+
private state?;
|
|
21
|
+
private manager?;
|
|
22
|
+
private resizeObserver?;
|
|
23
|
+
private suppressSyncUntil;
|
|
24
|
+
private deleteMode;
|
|
25
|
+
private sortMode;
|
|
26
|
+
private active;
|
|
27
|
+
constructor(handlers: ThumbnailPanelHandlers, options?: {
|
|
28
|
+
key?: string;
|
|
29
|
+
name?: string;
|
|
30
|
+
nameKey?: string;
|
|
31
|
+
icon?: string;
|
|
32
|
+
editMode?: boolean;
|
|
33
|
+
});
|
|
34
|
+
setDocument(doc: PDFDocumentProxy | undefined, state: ViewerState): void;
|
|
35
|
+
setState(state: ViewerState): void;
|
|
36
|
+
setDeleteMode(enabled: boolean): void;
|
|
37
|
+
setSortMode(enabled: boolean): void;
|
|
38
|
+
setActive(active: boolean): void;
|
|
39
|
+
destroy(): void;
|
|
40
|
+
reset(): void;
|
|
41
|
+
private buildManager;
|
|
42
|
+
private syncEmpty;
|
|
43
|
+
private handleSelect;
|
|
44
|
+
private handleDelete;
|
|
45
|
+
private handleMove;
|
|
46
|
+
private canSyncFromViewer;
|
|
47
|
+
private getOrderedThumbnails;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=thumbnail-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thumbnail-panel.d.ts","sourceRoot":"","sources":["../../src/panels/thumbnail-panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAInD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACtD;AAwBD,qBAAa,cAAe,YAAW,YAAY;IAoBrC,OAAO,CAAC,QAAQ;IAlB5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAEhC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,MAAM,CAAQ;gBAEF,QAAQ,EAAE,sBAAsB,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,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;IA6CpJ,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI;IAMxE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAgClC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMrC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOnC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAMhC,OAAO,IAAI,IAAI;IAMf,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,YAAY;IA8CpB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;CAa7B"}
|
package/dist/pdfjs.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PDFDocumentProxy, PDFPageProxy } from 'pdfjs-dist/types/src/display/api';
|
|
2
|
+
import { PageViewport } from 'pdfjs-dist/types/src/display/display_utils';
|
|
3
|
+
import { EventBus, TextLayerBuilder } from 'pdfjs-dist/web/pdf_viewer.mjs';
|
|
4
|
+
import * as pdfjs from "pdfjs-dist/build/pdf.mjs";
|
|
5
|
+
export { pdfjs };
|
|
6
|
+
export declare const TextLayer: unknown;
|
|
7
|
+
export declare const AnnotationLayer: unknown;
|
|
8
|
+
export declare const PixelsPerInch: {
|
|
9
|
+
CSS: number;
|
|
10
|
+
PDF: number;
|
|
11
|
+
} | undefined;
|
|
12
|
+
export declare const setLayerDimensions: unknown;
|
|
13
|
+
export { EventBus, TextLayerBuilder };
|
|
14
|
+
export type { PDFDocumentProxy, PDFPageProxy, PageViewport };
|
|
15
|
+
//# sourceMappingURL=pdfjs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfjs.d.ts","sourceRoot":"","sources":["../src/pdfjs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAI3E,OAAO,EAAE,KAAK,EAAE,CAAC;AASjB,eAAO,MAAM,SAAS,SAAsD,CAAC;AAC7E,eAAO,MAAM,eAAe,SAA4D,CAAC;AACzF,eAAO,MAAM,aAAa;SANF,MAAM;SAAO,MAAM;aAMyC,CAAC;AACrF,eAAO,MAAM,kBAAkB,SAA+D,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PdfViewerPlugin } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Custom Tool Plugin
|
|
4
|
+
*
|
|
5
|
+
* A demonstration plugin that adds:
|
|
6
|
+
* - A custom "stamp" annotation tool
|
|
7
|
+
* - A "share" toolbar action
|
|
8
|
+
* - A reading progress indicator toggle
|
|
9
|
+
*/
|
|
10
|
+
export declare const customToolPlugin: PdfViewerPlugin;
|
|
11
|
+
export default customToolPlugin;
|
|
12
|
+
//# sourceMappingURL=custom-tool-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-tool-plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/examples/custom-tool-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,UAAU,CAAC;AAwHlB;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAmD9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin System Exports
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for the PDF Viewer plugin system.
|
|
5
|
+
*/
|
|
6
|
+
export type { PdfViewerPlugin, PluginContext, PluginOptions, PluginState, CustomAnnotationTool, ToolbarAction, PluginManagerEvents, } from './types';
|
|
7
|
+
export { PluginManager, type PluginManagerDependencies } from './plugin-manager';
|
|
8
|
+
export { customToolPlugin } from './examples/custom-tool-plugin';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { ViewerController, PdfDocumentHandle, Annotation } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
import { PdfViewerPlugin, PluginOptions, PluginState, CustomAnnotationTool, ToolbarAction } from './types';
|
|
3
|
+
export interface PluginManagerDependencies {
|
|
4
|
+
getController: () => ViewerController;
|
|
5
|
+
getElement: () => HTMLElement;
|
|
6
|
+
getShadowRoot: () => ShadowRoot | null;
|
|
7
|
+
dispatchEvent: (event: CustomEvent) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare class PluginManager {
|
|
10
|
+
private plugins;
|
|
11
|
+
private customTools;
|
|
12
|
+
private toolbarActions;
|
|
13
|
+
private dependencies;
|
|
14
|
+
constructor(dependencies: PluginManagerDependencies);
|
|
15
|
+
/**
|
|
16
|
+
* Register a plugin
|
|
17
|
+
*/
|
|
18
|
+
register(plugin: PdfViewerPlugin, options?: PluginOptions): void;
|
|
19
|
+
/**
|
|
20
|
+
* Unregister a plugin
|
|
21
|
+
*/
|
|
22
|
+
unregister(name: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Initialize a specific plugin
|
|
25
|
+
*/
|
|
26
|
+
initializePlugin(name: string): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Initialize all registered plugins
|
|
29
|
+
*/
|
|
30
|
+
initializeAll(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Destroy all plugins
|
|
33
|
+
*/
|
|
34
|
+
destroyAll(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Get a plugin by name
|
|
37
|
+
*/
|
|
38
|
+
getPlugin(name: string): PdfViewerPlugin | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Get all registered plugins
|
|
41
|
+
*/
|
|
42
|
+
getPlugins(): PdfViewerPlugin[];
|
|
43
|
+
/**
|
|
44
|
+
* Get plugin states
|
|
45
|
+
*/
|
|
46
|
+
getPluginStates(): PluginState[];
|
|
47
|
+
/**
|
|
48
|
+
* Check if a plugin is registered
|
|
49
|
+
*/
|
|
50
|
+
hasPlugin(name: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Enable a plugin
|
|
53
|
+
*/
|
|
54
|
+
enable(name: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Disable a plugin
|
|
57
|
+
*/
|
|
58
|
+
disable(name: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Get all custom annotation tools
|
|
61
|
+
*/
|
|
62
|
+
getCustomTools(): CustomAnnotationTool[];
|
|
63
|
+
/**
|
|
64
|
+
* Get a custom tool by ID
|
|
65
|
+
*/
|
|
66
|
+
getCustomTool(id: string): CustomAnnotationTool | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Get all toolbar actions
|
|
69
|
+
*/
|
|
70
|
+
getToolbarActions(): ToolbarAction[];
|
|
71
|
+
/**
|
|
72
|
+
* Get a toolbar action by ID
|
|
73
|
+
*/
|
|
74
|
+
getToolbarAction(id: string): ToolbarAction | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Notify plugins of document load
|
|
77
|
+
*/
|
|
78
|
+
notifyDocumentLoad(document: PdfDocumentHandle): void;
|
|
79
|
+
/**
|
|
80
|
+
* Notify plugins of document unload
|
|
81
|
+
*/
|
|
82
|
+
notifyDocumentUnload(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Notify plugins of annotation add
|
|
85
|
+
*/
|
|
86
|
+
notifyAnnotationAdd(annotation: Annotation): void;
|
|
87
|
+
/**
|
|
88
|
+
* Notify plugins of annotation update
|
|
89
|
+
*/
|
|
90
|
+
notifyAnnotationUpdate(annotation: Annotation): void;
|
|
91
|
+
/**
|
|
92
|
+
* Notify plugins of annotation remove
|
|
93
|
+
*/
|
|
94
|
+
notifyAnnotationRemove(annotationId: string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Notify plugins of page change
|
|
97
|
+
*/
|
|
98
|
+
notifyPageChange(page: number, pageCount: number): void;
|
|
99
|
+
/**
|
|
100
|
+
* Notify plugins of zoom change
|
|
101
|
+
*/
|
|
102
|
+
notifyZoomChange(scale: number): void;
|
|
103
|
+
private createPluginContext;
|
|
104
|
+
private forEachEnabledPlugin;
|
|
105
|
+
private handlePluginError;
|
|
106
|
+
private dispatchPluginEvent;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=plugin-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,KAAK,EACV,eAAe,EAEf,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,aAAa,EACd,MAAM,SAAS,CAAC;AASjB,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,gBAAgB,CAAC;IACtC,UAAU,EAAE,MAAM,WAAW,CAAC;IAC9B,aAAa,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,YAAY,CAA4B;gBAEpC,YAAY,EAAE,yBAAyB;IAInD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI;IAoCpE;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkC9B;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC;;OAEG;IACH,UAAU,IAAI,IAAI;IAalB;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIpD;;OAEG;IACH,UAAU,IAAI,eAAe,EAAE;IAI/B;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAShC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO3B;;OAEG;IACH,cAAc,IAAI,oBAAoB,EAAE;IAIxC;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAI3D;;OAEG;IACH,iBAAiB,IAAI,aAAa,EAAE;IAIpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAMvD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAMrD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAMjD;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAMpD;;OAEG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMlD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAMvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQrC,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,mBAAmB;CAQ5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manager.test.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { ViewerController, Annotation, PdfDocumentHandle } from '@jacktea/pdf-viewer-core';
|
|
2
|
+
import { AnnotationTool } from '../annotations/types';
|
|
3
|
+
/**
|
|
4
|
+
* Plugin lifecycle and hook interface
|
|
5
|
+
*/
|
|
6
|
+
export interface PdfViewerPlugin {
|
|
7
|
+
/** Unique plugin identifier */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Plugin version (semver format) */
|
|
10
|
+
version: string;
|
|
11
|
+
/** Optional plugin description */
|
|
12
|
+
description?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Called when the plugin is registered
|
|
15
|
+
* Use this for initial setup and event subscription
|
|
16
|
+
*/
|
|
17
|
+
initialize?(context: PluginContext): void | Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Called when the plugin is unregistered
|
|
20
|
+
* Use this to clean up resources and event listeners
|
|
21
|
+
*/
|
|
22
|
+
destroy?(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Called when a document is loaded
|
|
25
|
+
*/
|
|
26
|
+
onDocumentLoad?(document: PdfDocumentHandle): void;
|
|
27
|
+
/**
|
|
28
|
+
* Called when a document is unloaded
|
|
29
|
+
*/
|
|
30
|
+
onDocumentUnload?(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Called when an annotation is added
|
|
33
|
+
*/
|
|
34
|
+
onAnnotationAdd?(annotation: Annotation): void;
|
|
35
|
+
/**
|
|
36
|
+
* Called when an annotation is updated
|
|
37
|
+
*/
|
|
38
|
+
onAnnotationUpdate?(annotation: Annotation): void;
|
|
39
|
+
/**
|
|
40
|
+
* Called when an annotation is removed
|
|
41
|
+
*/
|
|
42
|
+
onAnnotationRemove?(annotationId: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Called when page changes
|
|
45
|
+
*/
|
|
46
|
+
onPageChange?(page: number, pageCount: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* Called when zoom level changes
|
|
49
|
+
*/
|
|
50
|
+
onZoomChange?(scale: number): void;
|
|
51
|
+
/**
|
|
52
|
+
* Custom annotation tools provided by this plugin
|
|
53
|
+
*/
|
|
54
|
+
annotationTools?: CustomAnnotationTool[];
|
|
55
|
+
/**
|
|
56
|
+
* Custom toolbar actions provided by this plugin
|
|
57
|
+
*/
|
|
58
|
+
toolbarActions?: ToolbarAction[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Context provided to plugins for interacting with the viewer
|
|
62
|
+
*/
|
|
63
|
+
export interface PluginContext {
|
|
64
|
+
/** The main viewer controller for state management */
|
|
65
|
+
readonly controller: ViewerController;
|
|
66
|
+
/** The viewer DOM element */
|
|
67
|
+
readonly element: HTMLElement;
|
|
68
|
+
/** Register a custom annotation tool */
|
|
69
|
+
registerAnnotationTool(tool: CustomAnnotationTool): void;
|
|
70
|
+
/** Unregister a custom annotation tool */
|
|
71
|
+
unregisterAnnotationTool(toolId: string): void;
|
|
72
|
+
/** Register a toolbar action */
|
|
73
|
+
registerToolbarAction(action: ToolbarAction): void;
|
|
74
|
+
/** Unregister a toolbar action */
|
|
75
|
+
unregisterToolbarAction(actionId: string): void;
|
|
76
|
+
/** Dispatch a custom event from the viewer */
|
|
77
|
+
dispatchEvent(event: CustomEvent): void;
|
|
78
|
+
/** Subscribe to viewer state changes */
|
|
79
|
+
subscribe(listener: (state: unknown) => void): () => void;
|
|
80
|
+
/** Get the shadow root for DOM manipulation */
|
|
81
|
+
getShadowRoot(): ShadowRoot | null;
|
|
82
|
+
/** Log message with plugin prefix */
|
|
83
|
+
log(message: string, level?: "info" | "warn" | "error"): void;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Custom annotation tool definition
|
|
87
|
+
*/
|
|
88
|
+
export interface CustomAnnotationTool {
|
|
89
|
+
/** Unique tool identifier */
|
|
90
|
+
id: string;
|
|
91
|
+
/** Display name */
|
|
92
|
+
name: string;
|
|
93
|
+
/** Icon (SVG string or URL) */
|
|
94
|
+
icon?: string;
|
|
95
|
+
/** Tool tooltip */
|
|
96
|
+
tooltip?: string;
|
|
97
|
+
/** Base tool type to extend */
|
|
98
|
+
baseType?: AnnotationTool;
|
|
99
|
+
/** Called when the tool is selected */
|
|
100
|
+
onSelect?(context: PluginContext): void;
|
|
101
|
+
/** Called when the tool is deselected */
|
|
102
|
+
onDeselect?(context: PluginContext): void;
|
|
103
|
+
/** Custom render function for the annotation */
|
|
104
|
+
render?(annotation: Annotation, canvas: HTMLCanvasElement, context: PluginContext): void;
|
|
105
|
+
/** Custom creation handler */
|
|
106
|
+
onCreate?(event: MouseEvent | TouchEvent, context: PluginContext): Partial<Annotation> | null;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Toolbar action definition
|
|
110
|
+
*/
|
|
111
|
+
export interface ToolbarAction {
|
|
112
|
+
/** Unique action identifier */
|
|
113
|
+
id: string;
|
|
114
|
+
/** Display label */
|
|
115
|
+
label: string;
|
|
116
|
+
/** Icon (SVG string or URL) */
|
|
117
|
+
icon?: string;
|
|
118
|
+
/** Tooltip text */
|
|
119
|
+
tooltip?: string;
|
|
120
|
+
/** Position in toolbar */
|
|
121
|
+
position?: "left" | "center" | "right";
|
|
122
|
+
/** Whether action is a toggle button */
|
|
123
|
+
toggle?: boolean;
|
|
124
|
+
/** Action handler */
|
|
125
|
+
onClick(context: PluginContext): void;
|
|
126
|
+
/** Check if action is enabled */
|
|
127
|
+
isEnabled?(context: PluginContext): boolean;
|
|
128
|
+
/** Check if action is active (for toggle buttons) */
|
|
129
|
+
isActive?(context: PluginContext): boolean;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Plugin registration options
|
|
133
|
+
*/
|
|
134
|
+
export interface PluginOptions {
|
|
135
|
+
/** Whether to call initialize immediately */
|
|
136
|
+
autoInitialize?: boolean;
|
|
137
|
+
/** Plugin configuration */
|
|
138
|
+
config?: Record<string, unknown>;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Plugin manager events
|
|
142
|
+
*/
|
|
143
|
+
export interface PluginManagerEvents {
|
|
144
|
+
"plugin:registered": {
|
|
145
|
+
plugin: PdfViewerPlugin;
|
|
146
|
+
};
|
|
147
|
+
"plugin:unregistered": {
|
|
148
|
+
pluginName: string;
|
|
149
|
+
};
|
|
150
|
+
"plugin:initialized": {
|
|
151
|
+
pluginName: string;
|
|
152
|
+
};
|
|
153
|
+
"plugin:error": {
|
|
154
|
+
pluginName: string;
|
|
155
|
+
error: Error;
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Plugin state
|
|
160
|
+
*/
|
|
161
|
+
export interface PluginState {
|
|
162
|
+
name: string;
|
|
163
|
+
version: string;
|
|
164
|
+
initialized: boolean;
|
|
165
|
+
enabled: boolean;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PDFPageProxy, PageViewport } from '../pdfjs';
|
|
2
|
+
export declare class PageRenderer {
|
|
3
|
+
visibleIndex: number;
|
|
4
|
+
pageIndex: number;
|
|
5
|
+
container: HTMLDivElement;
|
|
6
|
+
canvas: HTMLCanvasElement;
|
|
7
|
+
textLayerContainer: HTMLDivElement;
|
|
8
|
+
annotationLayer: HTMLDivElement;
|
|
9
|
+
page?: PDFPageProxy;
|
|
10
|
+
viewport?: PageViewport;
|
|
11
|
+
private renderTask?;
|
|
12
|
+
constructor(visibleIndex: number, pageIndex: number);
|
|
13
|
+
render(page: PDFPageProxy, viewport: PageViewport, linkService?: any): Promise<boolean>;
|
|
14
|
+
cancel(): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=page-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-renderer.d.ts","sourceRoot":"","sources":["../../src/render/page-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI3D,qBAAa,YAAY;IASJ,YAAY,EAAE,MAAM;IAAS,SAAS,EAAE,MAAM;IARjE,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,kBAAkB,EAAE,cAAc,CAAC;IACnC,eAAe,EAAE,cAAc,CAAC;IAChC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,UAAU,CAAC,CAAmD;gBAEnD,YAAY,EAAE,MAAM,EAAS,SAAS,EAAE,MAAM;IAuB3D,MAAM,CACV,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,WAAW,CAAC,EAAE,GAAG,GAChB,OAAO,CAAC,OAAO,CAAC;IA+EnB,MAAM;CAMP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../src/render/scale.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,QAAsB,CAAC;AAE7C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PDFPageProxy, PageViewport } from '../pdfjs';
|
|
2
|
+
export declare function renderTextLayer(page: PDFPageProxy, viewport: PageViewport, container: HTMLDivElement): Promise<void>;
|
|
3
|
+
export declare function cancelTextLayer(container: HTMLDivElement): void;
|
|
4
|
+
//# sourceMappingURL=text-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-layer.d.ts","sourceRoot":"","sources":["../../src/render/text-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAKlB,wBAAsB,eAAe,CACnC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAM/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thumb-renderer.d.ts","sourceRoot":"","sources":["../../src/render/thumb-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAsB,eAAe,CACnC,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CAoB5B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ToggleTargetConfig } from '../viewer/config';
|
|
2
|
+
export type ButtonType = "action" | "toggle" | "group";
|
|
3
|
+
export interface ButtonDefinition {
|
|
4
|
+
/** Unique button key */
|
|
5
|
+
key: string;
|
|
6
|
+
/** Button type */
|
|
7
|
+
type: ButtonType;
|
|
8
|
+
/** Icon name (references toolbar-icons) */
|
|
9
|
+
icon?: string;
|
|
10
|
+
/** Default tooltip text */
|
|
11
|
+
defaultTip?: string;
|
|
12
|
+
/**
|
|
13
|
+
* New: Default panel toggle configuration
|
|
14
|
+
* Defines which panels this button controls
|
|
15
|
+
*/
|
|
16
|
+
defaultToggleTarget?: ToggleTargetConfig;
|
|
17
|
+
/** For group buttons, child button keys */
|
|
18
|
+
children?: string[];
|
|
19
|
+
/** Handler function name */
|
|
20
|
+
handler?: string;
|
|
21
|
+
/** Custom CSS class name(s) to apply to the button */
|
|
22
|
+
className?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Whether this is a composite component (like zoomControls)
|
|
25
|
+
* Composite components render multiple elements as a single unit
|
|
26
|
+
*/
|
|
27
|
+
isComposite?: boolean;
|
|
28
|
+
/** Button size configuration */
|
|
29
|
+
size?: "small" | "default" | "large";
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Built-in button definitions
|
|
33
|
+
* Note: defaultTip values are i18n keys, use t() to get translated text
|
|
34
|
+
*/
|
|
35
|
+
export declare const BUTTON_DEFINITIONS: Record<string, ButtonDefinition>;
|
|
36
|
+
/**
|
|
37
|
+
* Get a button definition by key
|
|
38
|
+
*/
|
|
39
|
+
export declare function getButtonDefinition(key: string): ButtonDefinition | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Register a custom button
|
|
42
|
+
*/
|
|
43
|
+
export declare function registerButton(definition: ButtonDefinition): void;
|
|
44
|
+
/**
|
|
45
|
+
* Unregister a custom button
|
|
46
|
+
*/
|
|
47
|
+
export declare function unregisterButton(key: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Get all button keys
|
|
50
|
+
*/
|
|
51
|
+
export declare function getAllButtonKeys(): string[];
|
|
52
|
+
/**
|
|
53
|
+
* Check if a button key is valid
|
|
54
|
+
*/
|
|
55
|
+
export declare function isValidButtonKey(key: string): boolean;
|
|
56
|
+
//# sourceMappingURL=button-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-registry.d.ts","sourceRoot":"","sources":["../../src/toolbar/button-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA+V/D,CAAC;AAOF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAMjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD"}
|