@docmentis/udoc-viewer 0.1.0
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 +180 -0
- package/dist/UDocClient.d.ts +197 -0
- package/dist/UDocClient.d.ts.map +1 -0
- package/dist/UDocClient.js +170 -0
- package/dist/UDocClient.js.map +1 -0
- package/dist/UDocViewer.d.ts +196 -0
- package/dist/UDocViewer.d.ts.map +1 -0
- package/dist/UDocViewer.js +427 -0
- package/dist/UDocViewer.js.map +1 -0
- package/dist/WorkerClient.d.ts +36 -0
- package/dist/WorkerClient.d.ts.map +1 -0
- package/dist/WorkerClient.js +121 -0
- package/dist/WorkerClient.js.map +1 -0
- package/dist/annotation/AnnotationLayer.d.ts +166 -0
- package/dist/annotation/AnnotationLayer.d.ts.map +1 -0
- package/dist/annotation/AnnotationLayer.js +1090 -0
- package/dist/annotation/AnnotationLayer.js.map +1 -0
- package/dist/annotation/index.d.ts +6 -0
- package/dist/annotation/index.d.ts.map +1 -0
- package/dist/annotation/index.js +6 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/components/FloatingBar.d.ts +102 -0
- package/dist/components/FloatingBar.d.ts.map +1 -0
- package/dist/components/FloatingBar.js +513 -0
- package/dist/components/FloatingBar.js.map +1 -0
- package/dist/components/Header.d.ts +46 -0
- package/dist/components/Header.d.ts.map +1 -0
- package/dist/components/Header.js +93 -0
- package/dist/components/Header.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/panels/CommentsPanel.d.ts +33 -0
- package/dist/components/panels/CommentsPanel.d.ts.map +1 -0
- package/dist/components/panels/CommentsPanel.js +176 -0
- package/dist/components/panels/CommentsPanel.js.map +1 -0
- package/dist/components/panels/OutlinePanel.d.ts +30 -0
- package/dist/components/panels/OutlinePanel.d.ts.map +1 -0
- package/dist/components/panels/OutlinePanel.js +144 -0
- package/dist/components/panels/OutlinePanel.js.map +1 -0
- package/dist/components/panels/ThumbnailsPanel.d.ts +51 -0
- package/dist/components/panels/ThumbnailsPanel.d.ts.map +1 -0
- package/dist/components/panels/ThumbnailsPanel.js +160 -0
- package/dist/components/panels/ThumbnailsPanel.js.map +1 -0
- package/dist/components/panels/index.d.ts +7 -0
- package/dist/components/panels/index.d.ts.map +1 -0
- package/dist/components/panels/index.js +4 -0
- package/dist/components/panels/index.js.map +1 -0
- package/dist/constants.d.ts +25 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +46 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/NavigationController.d.ts +54 -0
- package/dist/core/NavigationController.d.ts.map +1 -0
- package/dist/core/NavigationController.js +145 -0
- package/dist/core/NavigationController.js.map +1 -0
- package/dist/core/PerfTimer.d.ts +12 -0
- package/dist/core/PerfTimer.d.ts.map +1 -0
- package/dist/core/PerfTimer.js +32 -0
- package/dist/core/PerfTimer.js.map +1 -0
- package/dist/core/ViewerState.d.ts +108 -0
- package/dist/core/ViewerState.d.ts.map +1 -0
- package/dist/core/ViewerState.js +179 -0
- package/dist/core/ViewerState.js.map +1 -0
- package/dist/core/constants.d.ts +24 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +42 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +11 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/types.d.ts +573 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/icons/icons.d.ts +41 -0
- package/dist/icons/icons.d.ts.map +1 -0
- package/dist/icons/icons.js +51 -0
- package/dist/icons/icons.js.map +1 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +2 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/BandManager.d.ts +87 -0
- package/dist/layout/BandManager.d.ts.map +1 -0
- package/dist/layout/BandManager.js +185 -0
- package/dist/layout/BandManager.js.map +1 -0
- package/dist/layout/LayoutCalculator.d.ts +42 -0
- package/dist/layout/LayoutCalculator.d.ts.map +1 -0
- package/dist/layout/LayoutCalculator.js +180 -0
- package/dist/layout/LayoutCalculator.js.map +1 -0
- package/dist/layout/LayoutState.d.ts +46 -0
- package/dist/layout/LayoutState.d.ts.map +1 -0
- package/dist/layout/LayoutState.js +109 -0
- package/dist/layout/LayoutState.js.map +1 -0
- package/dist/layout/TransitionCoordinator.d.ts +11 -0
- package/dist/layout/TransitionCoordinator.d.ts.map +1 -0
- package/dist/layout/TransitionCoordinator.js +22 -0
- package/dist/layout/TransitionCoordinator.js.map +1 -0
- package/dist/layout/index.d.ts +7 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +4 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/rendering/BandManager.d.ts +87 -0
- package/dist/rendering/BandManager.d.ts.map +1 -0
- package/dist/rendering/BandManager.js +185 -0
- package/dist/rendering/BandManager.js.map +1 -0
- package/dist/rendering/PageCache.d.ts +75 -0
- package/dist/rendering/PageCache.d.ts.map +1 -0
- package/dist/rendering/PageCache.js +122 -0
- package/dist/rendering/PageCache.js.map +1 -0
- package/dist/rendering/RenderQueue.d.ts +75 -0
- package/dist/rendering/RenderQueue.d.ts.map +1 -0
- package/dist/rendering/RenderQueue.js +105 -0
- package/dist/rendering/RenderQueue.js.map +1 -0
- package/dist/rendering/ThumbnailQueue.d.ts +57 -0
- package/dist/rendering/ThumbnailQueue.d.ts.map +1 -0
- package/dist/rendering/ThumbnailQueue.js +85 -0
- package/dist/rendering/ThumbnailQueue.js.map +1 -0
- package/dist/rendering/index.d.ts +13 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/rendering/index.js +10 -0
- package/dist/rendering/index.js.map +1 -0
- package/dist/rendering/types.d.ts +72 -0
- package/dist/rendering/types.d.ts.map +1 -0
- package/dist/rendering/types.js +5 -0
- package/dist/rendering/types.js.map +1 -0
- package/dist/styles/index.d.ts +6 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +1221 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/Component.d.ts +127 -0
- package/dist/ui/Component.d.ts.map +1 -0
- package/dist/ui/Component.js +201 -0
- package/dist/ui/Component.js.map +1 -0
- package/dist/ui/annotation/AnnotationLayer.d.ts +90 -0
- package/dist/ui/annotation/AnnotationLayer.d.ts.map +1 -0
- package/dist/ui/annotation/AnnotationLayer.js +322 -0
- package/dist/ui/annotation/AnnotationLayer.js.map +1 -0
- package/dist/ui/annotation/LinkRenderer.d.ts +32 -0
- package/dist/ui/annotation/LinkRenderer.d.ts.map +1 -0
- package/dist/ui/annotation/LinkRenderer.js +74 -0
- package/dist/ui/annotation/LinkRenderer.js.map +1 -0
- package/dist/ui/annotation/MarkupRenderer.d.ts +40 -0
- package/dist/ui/annotation/MarkupRenderer.d.ts.map +1 -0
- package/dist/ui/annotation/MarkupRenderer.js +154 -0
- package/dist/ui/annotation/MarkupRenderer.js.map +1 -0
- package/dist/ui/annotation/ShapeRenderer.d.ts +46 -0
- package/dist/ui/annotation/ShapeRenderer.d.ts.map +1 -0
- package/dist/ui/annotation/ShapeRenderer.js +376 -0
- package/dist/ui/annotation/ShapeRenderer.js.map +1 -0
- package/dist/ui/annotation/TextRenderer.d.ts +36 -0
- package/dist/ui/annotation/TextRenderer.d.ts.map +1 -0
- package/dist/ui/annotation/TextRenderer.js +199 -0
- package/dist/ui/annotation/TextRenderer.js.map +1 -0
- package/dist/ui/annotation/index.d.ts +17 -0
- package/dist/ui/annotation/index.d.ts.map +1 -0
- package/dist/ui/annotation/index.js +13 -0
- package/dist/ui/annotation/index.js.map +1 -0
- package/dist/ui/annotation/utils.d.ts +40 -0
- package/dist/ui/annotation/utils.d.ts.map +1 -0
- package/dist/ui/annotation/utils.js +62 -0
- package/dist/ui/annotation/utils.js.map +1 -0
- package/dist/ui/components/CommentsContent.d.ts +35 -0
- package/dist/ui/components/CommentsContent.d.ts.map +1 -0
- package/dist/ui/components/CommentsContent.js +203 -0
- package/dist/ui/components/CommentsContent.js.map +1 -0
- package/dist/ui/components/FloatingBar.d.ts +55 -0
- package/dist/ui/components/FloatingBar.d.ts.map +1 -0
- package/dist/ui/components/FloatingBar.js +585 -0
- package/dist/ui/components/FloatingBar.js.map +1 -0
- package/dist/ui/components/Header.d.ts +29 -0
- package/dist/ui/components/Header.d.ts.map +1 -0
- package/dist/ui/components/Header.js +127 -0
- package/dist/ui/components/Header.js.map +1 -0
- package/dist/ui/components/LeftPanel.d.ts +54 -0
- package/dist/ui/components/LeftPanel.d.ts.map +1 -0
- package/dist/ui/components/LeftPanel.js +202 -0
- package/dist/ui/components/LeftPanel.js.map +1 -0
- package/dist/ui/components/OutlineContent.d.ts +34 -0
- package/dist/ui/components/OutlineContent.d.ts.map +1 -0
- package/dist/ui/components/OutlineContent.js +147 -0
- package/dist/ui/components/OutlineContent.js.map +1 -0
- package/dist/ui/components/RightPanel.d.ts +52 -0
- package/dist/ui/components/RightPanel.d.ts.map +1 -0
- package/dist/ui/components/RightPanel.js +142 -0
- package/dist/ui/components/RightPanel.js.map +1 -0
- package/dist/ui/components/Viewport.d.ts +70 -0
- package/dist/ui/components/Viewport.d.ts.map +1 -0
- package/dist/ui/components/Viewport.js +173 -0
- package/dist/ui/components/Viewport.js.map +1 -0
- package/dist/ui/components/index.d.ts +11 -0
- package/dist/ui/components/index.d.ts.map +1 -0
- package/dist/ui/components/index.js +10 -0
- package/dist/ui/components/index.js.map +1 -0
- package/dist/ui/framework/component.d.ts +68 -0
- package/dist/ui/framework/component.d.ts.map +1 -0
- package/dist/ui/framework/component.js +87 -0
- package/dist/ui/framework/component.js.map +1 -0
- package/dist/ui/framework/dom.d.ts +19 -0
- package/dist/ui/framework/dom.d.ts.map +1 -0
- package/dist/ui/framework/dom.js +29 -0
- package/dist/ui/framework/dom.js.map +1 -0
- package/dist/ui/framework/events.d.ts +18 -0
- package/dist/ui/framework/events.d.ts.map +1 -0
- package/dist/ui/framework/events.js +23 -0
- package/dist/ui/framework/events.js.map +1 -0
- package/dist/ui/framework/index.d.ts +15 -0
- package/dist/ui/framework/index.d.ts.map +1 -0
- package/dist/ui/framework/index.js +15 -0
- package/dist/ui/framework/index.js.map +1 -0
- package/dist/ui/framework/selectors.d.ts +51 -0
- package/dist/ui/framework/selectors.d.ts.map +1 -0
- package/dist/ui/framework/selectors.js +30 -0
- package/dist/ui/framework/selectors.js.map +1 -0
- package/dist/ui/framework/store.d.ts +37 -0
- package/dist/ui/framework/store.d.ts.map +1 -0
- package/dist/ui/framework/store.js +54 -0
- package/dist/ui/framework/store.js.map +1 -0
- package/dist/ui/icons/icons.d.ts +43 -0
- package/dist/ui/icons/icons.d.ts.map +1 -0
- package/dist/ui/icons/icons.js +46 -0
- package/dist/ui/icons/icons.js.map +1 -0
- package/dist/ui/icons/index.d.ts +11 -0
- package/dist/ui/icons/index.d.ts.map +1 -0
- package/dist/ui/icons/index.js +18 -0
- package/dist/ui/icons/index.js.map +1 -0
- package/dist/ui/index.d.ts +7 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +9 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/styles/base.css.d.ts +5 -0
- package/dist/ui/styles/base.css.d.ts.map +1 -0
- package/dist/ui/styles/base.css.js +49 -0
- package/dist/ui/styles/base.css.js.map +1 -0
- package/dist/ui/styles/floating-bar.css.d.ts +5 -0
- package/dist/ui/styles/floating-bar.css.d.ts.map +1 -0
- package/dist/ui/styles/floating-bar.css.js +417 -0
- package/dist/ui/styles/floating-bar.css.js.map +1 -0
- package/dist/ui/styles/header.css.d.ts +5 -0
- package/dist/ui/styles/header.css.d.ts.map +1 -0
- package/dist/ui/styles/header.css.js +49 -0
- package/dist/ui/styles/header.css.js.map +1 -0
- package/dist/ui/styles/index.d.ts +21 -0
- package/dist/ui/styles/index.d.ts.map +1 -0
- package/dist/ui/styles/index.js +48 -0
- package/dist/ui/styles/index.js.map +1 -0
- package/dist/ui/styles/panels.css.d.ts +5 -0
- package/dist/ui/styles/panels.css.d.ts.map +1 -0
- package/dist/ui/styles/panels.css.js +446 -0
- package/dist/ui/styles/panels.css.js.map +1 -0
- package/dist/ui/styles/responsive.css.d.ts +5 -0
- package/dist/ui/styles/responsive.css.d.ts.map +1 -0
- package/dist/ui/styles/responsive.css.js +201 -0
- package/dist/ui/styles/responsive.css.js.map +1 -0
- package/dist/ui/styles/variables.css.d.ts +6 -0
- package/dist/ui/styles/variables.css.d.ts.map +1 -0
- package/dist/ui/styles/variables.css.js +75 -0
- package/dist/ui/styles/variables.css.js.map +1 -0
- package/dist/ui/styles/viewport.css.d.ts +5 -0
- package/dist/ui/styles/viewport.css.d.ts.map +1 -0
- package/dist/ui/styles/viewport.css.js +87 -0
- package/dist/ui/styles/viewport.css.js.map +1 -0
- package/dist/ui/viewer/actions.d.ts +103 -0
- package/dist/ui/viewer/actions.d.ts.map +1 -0
- package/dist/ui/viewer/actions.js +2 -0
- package/dist/ui/viewer/actions.js.map +1 -0
- package/dist/ui/viewer/annotation/LinkRenderer.d.ts +9 -0
- package/dist/ui/viewer/annotation/LinkRenderer.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/LinkRenderer.js +17 -0
- package/dist/ui/viewer/annotation/LinkRenderer.js.map +1 -0
- package/dist/ui/viewer/annotation/MarkupRenderer.d.ts +21 -0
- package/dist/ui/viewer/annotation/MarkupRenderer.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/MarkupRenderer.js +138 -0
- package/dist/ui/viewer/annotation/MarkupRenderer.js.map +1 -0
- package/dist/ui/viewer/annotation/ShapeRenderer.d.ts +33 -0
- package/dist/ui/viewer/annotation/ShapeRenderer.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/ShapeRenderer.js +378 -0
- package/dist/ui/viewer/annotation/ShapeRenderer.js.map +1 -0
- package/dist/ui/viewer/annotation/TextRenderer.d.ts +23 -0
- package/dist/ui/viewer/annotation/TextRenderer.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/TextRenderer.js +196 -0
- package/dist/ui/viewer/annotation/TextRenderer.js.map +1 -0
- package/dist/ui/viewer/annotation/index.d.ts +8 -0
- package/dist/ui/viewer/annotation/index.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/index.js +8 -0
- package/dist/ui/viewer/annotation/index.js.map +1 -0
- package/dist/ui/viewer/annotation/render.d.ts +24 -0
- package/dist/ui/viewer/annotation/render.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/render.js +184 -0
- package/dist/ui/viewer/annotation/render.js.map +1 -0
- package/dist/ui/viewer/annotation/types.d.ts +239 -0
- package/dist/ui/viewer/annotation/types.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/types.js +7 -0
- package/dist/ui/viewer/annotation/types.js.map +1 -0
- package/dist/ui/viewer/annotation/utils.d.ts +37 -0
- package/dist/ui/viewer/annotation/utils.d.ts.map +1 -0
- package/dist/ui/viewer/annotation/utils.js +82 -0
- package/dist/ui/viewer/annotation/utils.js.map +1 -0
- package/dist/ui/viewer/components/AnnotationPanel.d.ts +19 -0
- package/dist/ui/viewer/components/AnnotationPanel.d.ts.map +1 -0
- package/dist/ui/viewer/components/AnnotationPanel.js +284 -0
- package/dist/ui/viewer/components/AnnotationPanel.js.map +1 -0
- package/dist/ui/viewer/components/FloatingToolbar.d.ts +9 -0
- package/dist/ui/viewer/components/FloatingToolbar.d.ts.map +1 -0
- package/dist/ui/viewer/components/FloatingToolbar.js +305 -0
- package/dist/ui/viewer/components/FloatingToolbar.js.map +1 -0
- package/dist/ui/viewer/components/LeftPanel.d.ts +10 -0
- package/dist/ui/viewer/components/LeftPanel.d.ts.map +1 -0
- package/dist/ui/viewer/components/LeftPanel.js +165 -0
- package/dist/ui/viewer/components/LeftPanel.js.map +1 -0
- package/dist/ui/viewer/components/OutlinePanel.d.ts +10 -0
- package/dist/ui/viewer/components/OutlinePanel.d.ts.map +1 -0
- package/dist/ui/viewer/components/OutlinePanel.js +169 -0
- package/dist/ui/viewer/components/OutlinePanel.js.map +1 -0
- package/dist/ui/viewer/components/RightPanel.d.ts +9 -0
- package/dist/ui/viewer/components/RightPanel.d.ts.map +1 -0
- package/dist/ui/viewer/components/RightPanel.js +102 -0
- package/dist/ui/viewer/components/RightPanel.js.map +1 -0
- package/dist/ui/viewer/components/Spread.d.ts +41 -0
- package/dist/ui/viewer/components/Spread.d.ts.map +1 -0
- package/dist/ui/viewer/components/Spread.js +278 -0
- package/dist/ui/viewer/components/Spread.js.map +1 -0
- package/dist/ui/viewer/components/ThumbnailPanel.d.ts +11 -0
- package/dist/ui/viewer/components/ThumbnailPanel.d.ts.map +1 -0
- package/dist/ui/viewer/components/ThumbnailPanel.js +206 -0
- package/dist/ui/viewer/components/ThumbnailPanel.js.map +1 -0
- package/dist/ui/viewer/components/Toolbar.d.ts +9 -0
- package/dist/ui/viewer/components/Toolbar.d.ts.map +1 -0
- package/dist/ui/viewer/components/Toolbar.js +93 -0
- package/dist/ui/viewer/components/Toolbar.js.map +1 -0
- package/dist/ui/viewer/components/ViewModeMenu.d.ts +9 -0
- package/dist/ui/viewer/components/ViewModeMenu.d.ts.map +1 -0
- package/dist/ui/viewer/components/ViewModeMenu.js +169 -0
- package/dist/ui/viewer/components/ViewModeMenu.js.map +1 -0
- package/dist/ui/viewer/components/Viewport.d.ts +10 -0
- package/dist/ui/viewer/components/Viewport.d.ts.map +1 -0
- package/dist/ui/viewer/components/Viewport.js +793 -0
- package/dist/ui/viewer/components/Viewport.js.map +1 -0
- package/dist/ui/viewer/effects.d.ts +9 -0
- package/dist/ui/viewer/effects.d.ts.map +1 -0
- package/dist/ui/viewer/effects.js +179 -0
- package/dist/ui/viewer/effects.js.map +1 -0
- package/dist/ui/viewer/icons.d.ts +32 -0
- package/dist/ui/viewer/icons.d.ts.map +1 -0
- package/dist/ui/viewer/icons.js +44 -0
- package/dist/ui/viewer/icons.js.map +1 -0
- package/dist/ui/viewer/index.d.ts +6 -0
- package/dist/ui/viewer/index.d.ts.map +1 -0
- package/dist/ui/viewer/index.js +6 -0
- package/dist/ui/viewer/index.js.map +1 -0
- package/dist/ui/viewer/layout/index.d.ts +3 -0
- package/dist/ui/viewer/layout/index.d.ts.map +1 -0
- package/dist/ui/viewer/layout/index.js +3 -0
- package/dist/ui/viewer/layout/index.js.map +1 -0
- package/dist/ui/viewer/layout/pixelAlign.d.ts +7 -0
- package/dist/ui/viewer/layout/pixelAlign.d.ts.map +1 -0
- package/dist/ui/viewer/layout/pixelAlign.js +22 -0
- package/dist/ui/viewer/layout/pixelAlign.js.map +1 -0
- package/dist/ui/viewer/layout/spreadLayout.d.ts +93 -0
- package/dist/ui/viewer/layout/spreadLayout.d.ts.map +1 -0
- package/dist/ui/viewer/layout/spreadLayout.js +303 -0
- package/dist/ui/viewer/layout/spreadLayout.js.map +1 -0
- package/dist/ui/viewer/navigation.d.ts +80 -0
- package/dist/ui/viewer/navigation.d.ts.map +1 -0
- package/dist/ui/viewer/navigation.js +59 -0
- package/dist/ui/viewer/navigation.js.map +1 -0
- package/dist/ui/viewer/reducer.d.ts +4 -0
- package/dist/ui/viewer/reducer.d.ts.map +1 -0
- package/dist/ui/viewer/reducer.js +229 -0
- package/dist/ui/viewer/reducer.js.map +1 -0
- package/dist/ui/viewer/rendering/RenderManager.d.ts +76 -0
- package/dist/ui/viewer/rendering/RenderManager.d.ts.map +1 -0
- package/dist/ui/viewer/rendering/RenderManager.js +236 -0
- package/dist/ui/viewer/rendering/RenderManager.js.map +1 -0
- package/dist/ui/viewer/shell.d.ts +29 -0
- package/dist/ui/viewer/shell.d.ts.map +1 -0
- package/dist/ui/viewer/shell.js +70 -0
- package/dist/ui/viewer/shell.js.map +1 -0
- package/dist/ui/viewer/state.d.ts +72 -0
- package/dist/ui/viewer/state.d.ts.map +1 -0
- package/dist/ui/viewer/state.js +47 -0
- package/dist/ui/viewer/state.js.map +1 -0
- package/dist/view/LayoutCalculator.d.ts +42 -0
- package/dist/view/LayoutCalculator.d.ts.map +1 -0
- package/dist/view/LayoutCalculator.js +180 -0
- package/dist/view/LayoutCalculator.js.map +1 -0
- package/dist/view/TransitionCoordinator.d.ts +11 -0
- package/dist/view/TransitionCoordinator.d.ts.map +1 -0
- package/dist/view/TransitionCoordinator.js +22 -0
- package/dist/view/TransitionCoordinator.js.map +1 -0
- package/dist/view/ViewState.d.ts +46 -0
- package/dist/view/ViewState.d.ts.map +1 -0
- package/dist/view/ViewState.js +109 -0
- package/dist/view/ViewState.js.map +1 -0
- package/dist/view/index.d.ts +7 -0
- package/dist/view/index.d.ts.map +1 -0
- package/dist/view/index.js +4 -0
- package/dist/view/index.js.map +1 -0
- package/dist/wasm/udoc.d.ts +202 -0
- package/dist/wasm/udoc.js +929 -0
- package/dist/wasm/udoc_bg.wasm +0 -0
- package/dist/wasm/udoc_bg.wasm.d.ts +28 -0
- package/dist/worker/WorkerClient.d.ts +103 -0
- package/dist/worker/WorkerClient.d.ts.map +1 -0
- package/dist/worker/WorkerClient.js +182 -0
- package/dist/worker/WorkerClient.js.map +1 -0
- package/dist/worker/index.d.ts +4 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +2 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/types.d.ts +81 -0
- package/dist/worker/types.d.ts.map +1 -0
- package/dist/worker/types.js +6 -0
- package/dist/worker/types.js.map +1 -0
- package/dist/worker/worker.d.ts +191 -0
- package/dist/worker/worker.d.ts.map +1 -0
- package/dist/worker/worker.js +127 -0
- package/dist/worker/worker.js.map +1 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +205 -0
- package/dist/worker.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UDocViewer - Document viewer component.
|
|
3
|
+
*
|
|
4
|
+
* Binds to a loaded document and optionally provides UI.
|
|
5
|
+
* Created via `client.createViewer()`.
|
|
6
|
+
*/
|
|
7
|
+
import type { WorkerClient, PageInfo } from "./worker/index.js";
|
|
8
|
+
import type { ViewerOptions } from "./UDocClient.js";
|
|
9
|
+
import type { RenderManager } from "./ui/viewer/rendering/RenderManager.js";
|
|
10
|
+
import type { Destination, OutlineItem } from "./ui/viewer/navigation.js";
|
|
11
|
+
import type { Annotation } from "./ui/viewer/annotation/index.js";
|
|
12
|
+
export type { Annotation } from "./ui/viewer/annotation/index.js";
|
|
13
|
+
/**
|
|
14
|
+
* Options for rendering a page.
|
|
15
|
+
*/
|
|
16
|
+
export interface RenderOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Scale factor for rendering.
|
|
19
|
+
* 1 = 72 DPI (1 point = 1 pixel)
|
|
20
|
+
* 2 = 144 DPI (retina)
|
|
21
|
+
* @default 1
|
|
22
|
+
*/
|
|
23
|
+
scale?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Output format.
|
|
26
|
+
* @default 'image-data'
|
|
27
|
+
*/
|
|
28
|
+
format?: "image-data" | "blob" | "data-url";
|
|
29
|
+
/**
|
|
30
|
+
* Image type when format is 'blob' or 'data-url'.
|
|
31
|
+
* @default 'image/png'
|
|
32
|
+
*/
|
|
33
|
+
imageType?: "image/png" | "image/jpeg";
|
|
34
|
+
/**
|
|
35
|
+
* JPEG quality (0-1) when imageType is 'image/jpeg'.
|
|
36
|
+
* @default 0.92
|
|
37
|
+
*/
|
|
38
|
+
quality?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Include annotations in render.
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
annotations?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Rendered page result.
|
|
47
|
+
*/
|
|
48
|
+
export type RenderedPage = ImageData | Blob | string;
|
|
49
|
+
/**
|
|
50
|
+
* Document metadata.
|
|
51
|
+
*/
|
|
52
|
+
export interface DocumentMetadata {
|
|
53
|
+
title?: string;
|
|
54
|
+
author?: string;
|
|
55
|
+
subject?: string;
|
|
56
|
+
keywords?: string;
|
|
57
|
+
creator?: string;
|
|
58
|
+
producer?: string;
|
|
59
|
+
creationDate?: Date;
|
|
60
|
+
modificationDate?: Date;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Re-export navigation types for public API.
|
|
64
|
+
*/
|
|
65
|
+
export type { Destination, DestinationDisplay, OutlineItem } from "./ui/viewer/navigation.js";
|
|
66
|
+
/**
|
|
67
|
+
* Event map for viewer events.
|
|
68
|
+
*/
|
|
69
|
+
export interface ViewerEventMap {
|
|
70
|
+
"document:load": {
|
|
71
|
+
pageCount: number;
|
|
72
|
+
};
|
|
73
|
+
"document:close": Record<string, never>;
|
|
74
|
+
error: {
|
|
75
|
+
error: Error;
|
|
76
|
+
phase: "fetch" | "parse" | "render";
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
type EventHandler<K extends keyof ViewerEventMap> = (payload: ViewerEventMap[K]) => void;
|
|
80
|
+
/**
|
|
81
|
+
* Document viewer component.
|
|
82
|
+
*
|
|
83
|
+
* Supports both UI mode (with container) and headless mode (without container).
|
|
84
|
+
* Use `client.createViewer()` to create instances.
|
|
85
|
+
*/
|
|
86
|
+
export declare class UDocViewer {
|
|
87
|
+
private workerClient;
|
|
88
|
+
private renderManager;
|
|
89
|
+
private container;
|
|
90
|
+
private uiShell;
|
|
91
|
+
private documentId;
|
|
92
|
+
private _pageCount;
|
|
93
|
+
private _pageInfo;
|
|
94
|
+
private destroyed;
|
|
95
|
+
private eventHandlers;
|
|
96
|
+
/**
|
|
97
|
+
* @internal
|
|
98
|
+
* Use `client.createViewer()` instead.
|
|
99
|
+
*/
|
|
100
|
+
constructor(workerClient: WorkerClient, renderManager: RenderManager, options?: ViewerOptions);
|
|
101
|
+
private buildStateOverrides;
|
|
102
|
+
/**
|
|
103
|
+
* Load a document.
|
|
104
|
+
*
|
|
105
|
+
* @param source - URL string, File object, or raw bytes
|
|
106
|
+
*/
|
|
107
|
+
load(source: string | File | Uint8Array): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Close the current document.
|
|
110
|
+
* Viewer returns to empty state.
|
|
111
|
+
*/
|
|
112
|
+
close(): void;
|
|
113
|
+
/**
|
|
114
|
+
* Whether a document is currently loaded.
|
|
115
|
+
*/
|
|
116
|
+
get isLoaded(): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Total number of pages.
|
|
119
|
+
* Returns 0 if no document is loaded.
|
|
120
|
+
*/
|
|
121
|
+
get pageCount(): number;
|
|
122
|
+
/**
|
|
123
|
+
* Document metadata (title, author, etc.).
|
|
124
|
+
* Returns null if no document is loaded.
|
|
125
|
+
*/
|
|
126
|
+
get metadata(): DocumentMetadata | null;
|
|
127
|
+
/**
|
|
128
|
+
* Get document outline (table of contents / bookmarks).
|
|
129
|
+
*/
|
|
130
|
+
getOutline(): Promise<OutlineItem[]>;
|
|
131
|
+
/**
|
|
132
|
+
* Get page dimensions in points (1 point = 1/72 inch).
|
|
133
|
+
* @param page - Page index (0-based)
|
|
134
|
+
*/
|
|
135
|
+
getPageInfo(page: number): PageInfo;
|
|
136
|
+
/**
|
|
137
|
+
* Get annotations on a specific page.
|
|
138
|
+
* @param page - Page index (0-based)
|
|
139
|
+
*/
|
|
140
|
+
getPageAnnotations(page: number): Promise<Annotation[]>;
|
|
141
|
+
/**
|
|
142
|
+
* Get the current page number (1-based).
|
|
143
|
+
*/
|
|
144
|
+
get currentPage(): number;
|
|
145
|
+
/**
|
|
146
|
+
* Navigate to a specific page.
|
|
147
|
+
* @param page - Page number (1-based)
|
|
148
|
+
*/
|
|
149
|
+
goToPage(page: number): void;
|
|
150
|
+
/**
|
|
151
|
+
* Navigate to a destination (page + position + zoom).
|
|
152
|
+
* @param destination - Full destination object with page index and display mode
|
|
153
|
+
*/
|
|
154
|
+
goToDestination(destination: Destination): void;
|
|
155
|
+
/**
|
|
156
|
+
* Render a page to an image.
|
|
157
|
+
*
|
|
158
|
+
* @param page - Page index (0-based)
|
|
159
|
+
* @param options - Render options (scale, format, etc.)
|
|
160
|
+
*/
|
|
161
|
+
renderPage(page: number, options?: RenderOptions): Promise<RenderedPage>;
|
|
162
|
+
/**
|
|
163
|
+
* Export document as bytes.
|
|
164
|
+
*/
|
|
165
|
+
toBytes(): Promise<Uint8Array>;
|
|
166
|
+
/**
|
|
167
|
+
* Download document to user's device.
|
|
168
|
+
* @param filename - Filename for download
|
|
169
|
+
*/
|
|
170
|
+
download(filename?: string): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Subscribe to an event.
|
|
173
|
+
* @returns Unsubscribe function
|
|
174
|
+
*/
|
|
175
|
+
on<K extends keyof ViewerEventMap>(event: K, handler: EventHandler<K>): () => void;
|
|
176
|
+
/**
|
|
177
|
+
* Unsubscribe from an event.
|
|
178
|
+
*/
|
|
179
|
+
off<K extends keyof ViewerEventMap>(event: K, handler: EventHandler<K>): void;
|
|
180
|
+
/**
|
|
181
|
+
* Destroy the viewer and release resources.
|
|
182
|
+
*/
|
|
183
|
+
destroy(): void;
|
|
184
|
+
/**
|
|
185
|
+
* Get the document ID (for internal use).
|
|
186
|
+
* @internal
|
|
187
|
+
*/
|
|
188
|
+
getDocumentId(): string | null;
|
|
189
|
+
private resolveContainer;
|
|
190
|
+
private resolveSource;
|
|
191
|
+
private emit;
|
|
192
|
+
private createEngineAdapter;
|
|
193
|
+
private ensureNotDestroyed;
|
|
194
|
+
private ensureLoaded;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=UDocViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UDocViewer.d.ts","sourceRoot":"","sources":["../src/UDocViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UDocViewer - Document viewer component.
|
|
3
|
+
*
|
|
4
|
+
* Binds to a loaded document and optionally provides UI.
|
|
5
|
+
* Created via `client.createViewer()`.
|
|
6
|
+
*/
|
|
7
|
+
import { mountViewerShell } from "./ui/viewer/shell.js";
|
|
8
|
+
/**
|
|
9
|
+
* Document viewer component.
|
|
10
|
+
*
|
|
11
|
+
* Supports both UI mode (with container) and headless mode (without container).
|
|
12
|
+
* Use `client.createViewer()` to create instances.
|
|
13
|
+
*/
|
|
14
|
+
export class UDocViewer {
|
|
15
|
+
workerClient;
|
|
16
|
+
renderManager;
|
|
17
|
+
container = null;
|
|
18
|
+
uiShell = null;
|
|
19
|
+
documentId = null;
|
|
20
|
+
_pageCount = 0;
|
|
21
|
+
_pageInfo = [];
|
|
22
|
+
destroyed = false;
|
|
23
|
+
eventHandlers = new Map();
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
* Use `client.createViewer()` instead.
|
|
27
|
+
*/
|
|
28
|
+
constructor(workerClient, renderManager, options = {}) {
|
|
29
|
+
this.workerClient = workerClient;
|
|
30
|
+
this.renderManager = renderManager;
|
|
31
|
+
if (options.container) {
|
|
32
|
+
this.container = this.resolveContainer(options.container);
|
|
33
|
+
const overrides = this.buildStateOverrides(options);
|
|
34
|
+
this.uiShell = mountViewerShell(this.container, this.createEngineAdapter(), this.renderManager, overrides);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
buildStateOverrides(options) {
|
|
38
|
+
const overrides = {};
|
|
39
|
+
if (options.scrollMode !== undefined)
|
|
40
|
+
overrides.scrollMode = options.scrollMode;
|
|
41
|
+
if (options.layoutMode !== undefined)
|
|
42
|
+
overrides.layoutMode = options.layoutMode;
|
|
43
|
+
if (options.zoomMode !== undefined)
|
|
44
|
+
overrides.zoomMode = options.zoomMode;
|
|
45
|
+
if (options.zoom !== undefined)
|
|
46
|
+
overrides.zoom = options.zoom;
|
|
47
|
+
if (options.zoomSteps !== undefined)
|
|
48
|
+
overrides.zoomSteps = options.zoomSteps;
|
|
49
|
+
if (options.dpi !== undefined)
|
|
50
|
+
overrides.dpi = options.dpi;
|
|
51
|
+
if (options.pageSpacing !== undefined)
|
|
52
|
+
overrides.pageSpacing = options.pageSpacing;
|
|
53
|
+
if (options.spreadSpacing !== undefined)
|
|
54
|
+
overrides.spreadSpacing = options.spreadSpacing;
|
|
55
|
+
if (options.activePanel !== undefined)
|
|
56
|
+
overrides.activePanel = options.activePanel;
|
|
57
|
+
return overrides;
|
|
58
|
+
}
|
|
59
|
+
// ===========================================================================
|
|
60
|
+
// Document Loading
|
|
61
|
+
// ===========================================================================
|
|
62
|
+
/**
|
|
63
|
+
* Load a document.
|
|
64
|
+
*
|
|
65
|
+
* @param source - URL string, File object, or raw bytes
|
|
66
|
+
*/
|
|
67
|
+
async load(source) {
|
|
68
|
+
this.ensureNotDestroyed();
|
|
69
|
+
// Close any existing document
|
|
70
|
+
if (this.documentId) {
|
|
71
|
+
this.close();
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const bytes = await this.resolveSource(source);
|
|
75
|
+
this.documentId = await this.workerClient.loadPdf(bytes);
|
|
76
|
+
// Optimization: fetch page 1 info and page count in parallel,
|
|
77
|
+
// so render can start as soon as possible
|
|
78
|
+
const [firstPageInfo, pageCount] = await Promise.all([
|
|
79
|
+
this.workerClient.getPageInfo(this.documentId, 0),
|
|
80
|
+
this.workerClient.getPageCount(this.documentId)
|
|
81
|
+
]);
|
|
82
|
+
this._pageCount = pageCount;
|
|
83
|
+
// Initialize with first page, placeholders for rest
|
|
84
|
+
this._pageInfo = new Array(pageCount);
|
|
85
|
+
this._pageInfo[0] = firstPageInfo;
|
|
86
|
+
// Dispatch immediately to start first page render
|
|
87
|
+
if (this.uiShell) {
|
|
88
|
+
this.uiShell.dispatch({
|
|
89
|
+
type: "SET_DOC",
|
|
90
|
+
doc: { id: this.documentId },
|
|
91
|
+
pageCount: this._pageCount,
|
|
92
|
+
pageInfos: this._pageInfo
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
this.emit("document:load", { pageCount: this._pageCount });
|
|
96
|
+
// Fetch remaining page info in background (non-blocking)
|
|
97
|
+
if (pageCount > 1) {
|
|
98
|
+
this.workerClient.getAllPageInfo(this.documentId).then(allInfo => {
|
|
99
|
+
this._pageInfo = allInfo;
|
|
100
|
+
// Update store with complete page sizes
|
|
101
|
+
if (this.uiShell && this.documentId) {
|
|
102
|
+
this.uiShell.dispatch({
|
|
103
|
+
type: "UPDATE_PAGE_SIZES",
|
|
104
|
+
pageInfos: allInfo
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}).catch(err => {
|
|
108
|
+
console.error("Failed to load remaining page info:", err);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
const phase = error instanceof TypeError ? "fetch" : "parse";
|
|
114
|
+
this.emit("error", { error: error, phase });
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Close the current document.
|
|
120
|
+
* Viewer returns to empty state.
|
|
121
|
+
*/
|
|
122
|
+
close() {
|
|
123
|
+
if (this.documentId) {
|
|
124
|
+
const docId = this.documentId;
|
|
125
|
+
// Clean up RenderManager first (cancel pending, clear cache)
|
|
126
|
+
this.renderManager.cancel(docId);
|
|
127
|
+
this.renderManager.invalidate(docId);
|
|
128
|
+
// Unload from WASM worker
|
|
129
|
+
this.workerClient.unloadPdf(docId).catch(() => {
|
|
130
|
+
// Ignore errors during close
|
|
131
|
+
});
|
|
132
|
+
this.documentId = null;
|
|
133
|
+
this._pageCount = 0;
|
|
134
|
+
this._pageInfo = [];
|
|
135
|
+
if (this.uiShell) {
|
|
136
|
+
this.uiShell.dispatch({ type: "CLEAR_DOC" });
|
|
137
|
+
}
|
|
138
|
+
this.emit("document:close", {});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Whether a document is currently loaded.
|
|
143
|
+
*/
|
|
144
|
+
get isLoaded() {
|
|
145
|
+
return this.documentId !== null;
|
|
146
|
+
}
|
|
147
|
+
// ===========================================================================
|
|
148
|
+
// Document Information
|
|
149
|
+
// ===========================================================================
|
|
150
|
+
/**
|
|
151
|
+
* Total number of pages.
|
|
152
|
+
* Returns 0 if no document is loaded.
|
|
153
|
+
*/
|
|
154
|
+
get pageCount() {
|
|
155
|
+
return this._pageCount;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Document metadata (title, author, etc.).
|
|
159
|
+
* Returns null if no document is loaded.
|
|
160
|
+
*/
|
|
161
|
+
get metadata() {
|
|
162
|
+
// TODO: Implement metadata retrieval from WASM
|
|
163
|
+
if (!this.documentId)
|
|
164
|
+
return null;
|
|
165
|
+
return {};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get document outline (table of contents / bookmarks).
|
|
169
|
+
*/
|
|
170
|
+
async getOutline() {
|
|
171
|
+
this.ensureLoaded();
|
|
172
|
+
const raw = await this.workerClient.getOutline(this.documentId);
|
|
173
|
+
return raw;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get page dimensions in points (1 point = 1/72 inch).
|
|
177
|
+
* @param page - Page index (0-based)
|
|
178
|
+
*/
|
|
179
|
+
getPageInfo(page) {
|
|
180
|
+
this.ensureLoaded();
|
|
181
|
+
if (page < 0 || page >= this._pageInfo.length) {
|
|
182
|
+
throw new Error(`Page index ${page} out of bounds (0-${this._pageInfo.length - 1})`);
|
|
183
|
+
}
|
|
184
|
+
return this._pageInfo[page];
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get annotations on a specific page.
|
|
188
|
+
* @param page - Page index (0-based)
|
|
189
|
+
*/
|
|
190
|
+
async getPageAnnotations(page) {
|
|
191
|
+
this.ensureLoaded();
|
|
192
|
+
const raw = await this.workerClient.getPageAnnotations(this.documentId, page);
|
|
193
|
+
return raw;
|
|
194
|
+
}
|
|
195
|
+
// ===========================================================================
|
|
196
|
+
// Navigation
|
|
197
|
+
// ===========================================================================
|
|
198
|
+
/**
|
|
199
|
+
* Get the current page number (1-based).
|
|
200
|
+
*/
|
|
201
|
+
get currentPage() {
|
|
202
|
+
if (this.uiShell) {
|
|
203
|
+
return this.uiShell.getState().page;
|
|
204
|
+
}
|
|
205
|
+
return 1;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Navigate to a specific page.
|
|
209
|
+
* @param page - Page number (1-based)
|
|
210
|
+
*/
|
|
211
|
+
goToPage(page) {
|
|
212
|
+
this.ensureNotDestroyed();
|
|
213
|
+
if (!this.uiShell) {
|
|
214
|
+
throw new Error("Navigation requires UI mode (container must be provided)");
|
|
215
|
+
}
|
|
216
|
+
this.uiShell.dispatch({ type: "NAVIGATE_TO_PAGE", page });
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Navigate to a destination (page + position + zoom).
|
|
220
|
+
* @param destination - Full destination object with page index and display mode
|
|
221
|
+
*/
|
|
222
|
+
goToDestination(destination) {
|
|
223
|
+
this.ensureNotDestroyed();
|
|
224
|
+
if (!this.uiShell) {
|
|
225
|
+
throw new Error("Navigation requires UI mode (container must be provided)");
|
|
226
|
+
}
|
|
227
|
+
this.uiShell.dispatch({ type: "NAVIGATE_TO_DESTINATION", destination });
|
|
228
|
+
}
|
|
229
|
+
// ===========================================================================
|
|
230
|
+
// Page Rendering
|
|
231
|
+
// ===========================================================================
|
|
232
|
+
/**
|
|
233
|
+
* Render a page to an image.
|
|
234
|
+
*
|
|
235
|
+
* @param page - Page index (0-based)
|
|
236
|
+
* @param options - Render options (scale, format, etc.)
|
|
237
|
+
*/
|
|
238
|
+
async renderPage(page, options = {}) {
|
|
239
|
+
this.ensureLoaded();
|
|
240
|
+
const scale = options.scale ?? 1;
|
|
241
|
+
const format = options.format ?? "image-data";
|
|
242
|
+
// Get page size and calculate render dimensions
|
|
243
|
+
const pageSize = this._pageInfo[page] ?? { width: 0, height: 0 };
|
|
244
|
+
const width = Math.round(pageSize.width * scale);
|
|
245
|
+
const height = Math.round(pageSize.height * scale);
|
|
246
|
+
// Render to RGBA
|
|
247
|
+
const rendered = await this.workerClient.renderPage(this.documentId, page, width, height);
|
|
248
|
+
// Convert RGBA to the requested format
|
|
249
|
+
// Copy to a new ArrayBuffer to ensure correct type for ImageData
|
|
250
|
+
const buffer = new ArrayBuffer(rendered.rgba.byteLength);
|
|
251
|
+
new Uint8Array(buffer).set(rendered.rgba);
|
|
252
|
+
const imageData = new ImageData(new Uint8ClampedArray(buffer), rendered.width, rendered.height);
|
|
253
|
+
if (format === "image-data") {
|
|
254
|
+
return imageData;
|
|
255
|
+
}
|
|
256
|
+
// Convert to blob or data URL using HTMLCanvasElement
|
|
257
|
+
const canvas = document.createElement("canvas");
|
|
258
|
+
canvas.width = rendered.width;
|
|
259
|
+
canvas.height = rendered.height;
|
|
260
|
+
const ctx = canvas.getContext("2d");
|
|
261
|
+
ctx.putImageData(imageData, 0, 0);
|
|
262
|
+
const imageType = options.imageType ?? "image/png";
|
|
263
|
+
const quality = options.quality ?? 0.92;
|
|
264
|
+
if (format === "blob") {
|
|
265
|
+
return new Promise((resolve, reject) => {
|
|
266
|
+
canvas.toBlob((blob) => {
|
|
267
|
+
if (blob)
|
|
268
|
+
resolve(blob);
|
|
269
|
+
else
|
|
270
|
+
reject(new Error("Failed to create blob"));
|
|
271
|
+
}, imageType, quality);
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
// data-url
|
|
275
|
+
return canvas.toDataURL(imageType, quality);
|
|
276
|
+
}
|
|
277
|
+
// ===========================================================================
|
|
278
|
+
// Export
|
|
279
|
+
// ===========================================================================
|
|
280
|
+
/**
|
|
281
|
+
* Export document as bytes.
|
|
282
|
+
*/
|
|
283
|
+
async toBytes() {
|
|
284
|
+
this.ensureLoaded();
|
|
285
|
+
// TODO: Implement export from WASM
|
|
286
|
+
throw new Error("toBytes not yet implemented");
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Download document to user's device.
|
|
290
|
+
* @param filename - Filename for download
|
|
291
|
+
*/
|
|
292
|
+
async download(filename) {
|
|
293
|
+
const bytes = await this.toBytes();
|
|
294
|
+
const blob = new Blob([bytes.buffer], { type: "application/pdf" });
|
|
295
|
+
const url = URL.createObjectURL(blob);
|
|
296
|
+
const a = document.createElement("a");
|
|
297
|
+
a.href = url;
|
|
298
|
+
a.download = filename ?? "document.pdf";
|
|
299
|
+
a.click();
|
|
300
|
+
URL.revokeObjectURL(url);
|
|
301
|
+
}
|
|
302
|
+
// ===========================================================================
|
|
303
|
+
// Events
|
|
304
|
+
// ===========================================================================
|
|
305
|
+
/**
|
|
306
|
+
* Subscribe to an event.
|
|
307
|
+
* @returns Unsubscribe function
|
|
308
|
+
*/
|
|
309
|
+
on(event, handler) {
|
|
310
|
+
if (!this.eventHandlers.has(event)) {
|
|
311
|
+
this.eventHandlers.set(event, new Set());
|
|
312
|
+
}
|
|
313
|
+
this.eventHandlers.get(event).add(handler);
|
|
314
|
+
return () => this.off(event, handler);
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Unsubscribe from an event.
|
|
318
|
+
*/
|
|
319
|
+
off(event, handler) {
|
|
320
|
+
this.eventHandlers.get(event)?.delete(handler);
|
|
321
|
+
}
|
|
322
|
+
// ===========================================================================
|
|
323
|
+
// Lifecycle
|
|
324
|
+
// ===========================================================================
|
|
325
|
+
/**
|
|
326
|
+
* Destroy the viewer and release resources.
|
|
327
|
+
*/
|
|
328
|
+
destroy() {
|
|
329
|
+
if (this.destroyed)
|
|
330
|
+
return;
|
|
331
|
+
this.destroyed = true;
|
|
332
|
+
if (this.uiShell) {
|
|
333
|
+
this.uiShell.destroy();
|
|
334
|
+
this.uiShell = null;
|
|
335
|
+
}
|
|
336
|
+
this.close();
|
|
337
|
+
this.eventHandlers.clear();
|
|
338
|
+
}
|
|
339
|
+
// ===========================================================================
|
|
340
|
+
// Internal Helpers
|
|
341
|
+
// ===========================================================================
|
|
342
|
+
/**
|
|
343
|
+
* Get the document ID (for internal use).
|
|
344
|
+
* @internal
|
|
345
|
+
*/
|
|
346
|
+
getDocumentId() {
|
|
347
|
+
return this.documentId;
|
|
348
|
+
}
|
|
349
|
+
resolveContainer(container) {
|
|
350
|
+
if (typeof container === "string") {
|
|
351
|
+
const element = document.querySelector(container);
|
|
352
|
+
if (!element) {
|
|
353
|
+
throw new Error(`Container not found: ${container}`);
|
|
354
|
+
}
|
|
355
|
+
return element;
|
|
356
|
+
}
|
|
357
|
+
return container;
|
|
358
|
+
}
|
|
359
|
+
async resolveSource(source) {
|
|
360
|
+
if (source instanceof Uint8Array) {
|
|
361
|
+
return source;
|
|
362
|
+
}
|
|
363
|
+
if (source instanceof File) {
|
|
364
|
+
const buffer = await source.arrayBuffer();
|
|
365
|
+
return new Uint8Array(buffer);
|
|
366
|
+
}
|
|
367
|
+
// URL string
|
|
368
|
+
const response = await fetch(source);
|
|
369
|
+
if (!response.ok) {
|
|
370
|
+
throw new Error(`Failed to fetch document: ${response.statusText}`);
|
|
371
|
+
}
|
|
372
|
+
const buffer = await response.arrayBuffer();
|
|
373
|
+
return new Uint8Array(buffer);
|
|
374
|
+
}
|
|
375
|
+
emit(event, payload) {
|
|
376
|
+
const handlers = this.eventHandlers.get(event);
|
|
377
|
+
if (handlers) {
|
|
378
|
+
for (const handler of handlers) {
|
|
379
|
+
try {
|
|
380
|
+
handler(payload);
|
|
381
|
+
}
|
|
382
|
+
catch (error) {
|
|
383
|
+
console.error(`Error in event handler for ${event}:`, error);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
createEngineAdapter() {
|
|
389
|
+
return {
|
|
390
|
+
renderPage: async (doc, page, zoom) => {
|
|
391
|
+
const pageIndex = Math.max(0, page - 1);
|
|
392
|
+
const pageSize = this._pageInfo[pageIndex] ?? { width: 0, height: 0 };
|
|
393
|
+
const width = Math.round(pageSize.width * zoom);
|
|
394
|
+
const height = Math.round(pageSize.height * zoom);
|
|
395
|
+
const rendered = await this.workerClient.renderPage(doc.id, pageIndex, width, height);
|
|
396
|
+
const buffer = new ArrayBuffer(rendered.rgba.byteLength);
|
|
397
|
+
new Uint8Array(buffer).set(rendered.rgba);
|
|
398
|
+
const imageData = new ImageData(new Uint8ClampedArray(buffer), rendered.width, rendered.height);
|
|
399
|
+
return createImageBitmap(imageData);
|
|
400
|
+
},
|
|
401
|
+
getPageInfo: async (_doc, page) => {
|
|
402
|
+
const pageIndex = Math.max(0, page - 1);
|
|
403
|
+
return this._pageInfo[pageIndex] ?? { width: 0, height: 0 };
|
|
404
|
+
},
|
|
405
|
+
getOutline: async (doc) => {
|
|
406
|
+
const raw = await this.workerClient.getOutline(doc.id);
|
|
407
|
+
return raw;
|
|
408
|
+
},
|
|
409
|
+
getPageAnnotations: async (doc, pageIndex) => {
|
|
410
|
+
const raw = await this.workerClient.getPageAnnotations(doc.id, pageIndex);
|
|
411
|
+
return raw;
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
ensureNotDestroyed() {
|
|
416
|
+
if (this.destroyed) {
|
|
417
|
+
throw new Error("UDocViewer has been destroyed");
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
ensureLoaded() {
|
|
421
|
+
this.ensureNotDestroyed();
|
|
422
|
+
if (!this.documentId) {
|
|
423
|
+
throw new Error("No document loaded");
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
//# sourceMappingURL=UDocViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UDocViewer.js","sourceRoot":"","sources":["../src/UDocViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Annotation, OutlineItem } from './types';
|
|
2
|
+
export interface PageInfo {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
}
|
|
6
|
+
export type PageLayout = 'default' | 'odd-pages-right' | 'odd-pages-left';
|
|
7
|
+
export interface LoadResult {
|
|
8
|
+
pageCount: number;
|
|
9
|
+
pageWidths: number[];
|
|
10
|
+
pageHeights: number[];
|
|
11
|
+
pageLayout: PageLayout;
|
|
12
|
+
}
|
|
13
|
+
export declare class WorkerClient {
|
|
14
|
+
private worker;
|
|
15
|
+
private nextId;
|
|
16
|
+
private pending;
|
|
17
|
+
private _pageCount;
|
|
18
|
+
private _pageWidths;
|
|
19
|
+
private _pageHeights;
|
|
20
|
+
constructor();
|
|
21
|
+
private handleMessage;
|
|
22
|
+
private handleError;
|
|
23
|
+
private send;
|
|
24
|
+
load(data: Uint8Array): Promise<LoadResult>;
|
|
25
|
+
renderPage(pageIndex: number, width: number, height: number, format?: 'png' | 'rgba'): Promise<Uint8Array>;
|
|
26
|
+
close(): Promise<void>;
|
|
27
|
+
getOutline(): Promise<OutlineItem[]>;
|
|
28
|
+
getPageAnnotations(pageIndex: number): Promise<Annotation[]>;
|
|
29
|
+
getAllAnnotations(): Promise<Map<number, Annotation[]>>;
|
|
30
|
+
terminate(): void;
|
|
31
|
+
hasPending(): boolean;
|
|
32
|
+
get pageCount(): number;
|
|
33
|
+
pageWidth(pageIndex: number): number;
|
|
34
|
+
pageHeight(pageIndex: number): number;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=WorkerClient.d.ts.map
|