@foxycape/core 1.1.5 → 1.1.7
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 +0 -2
- package/README.zh.md +0 -2
- package/dist/ReaderHub.cjs +1 -0
- package/dist/ReaderHub.d.ts +20 -0
- package/dist/ReaderHub.mjs +59 -0
- package/dist/kernal/ContentRange.d.ts +1 -0
- package/dist/kernal/Context.cjs +1 -1
- package/dist/kernal/Context.mjs +13 -8
- package/dist/kernal/EventNames.cjs +1 -1
- package/dist/kernal/EventNames.d.ts +2 -0
- package/dist/kernal/EventNames.mjs +6 -0
- package/dist/kernal/FileLoader.cjs +1 -1
- package/dist/kernal/FileLoader.d.ts +3 -11
- package/dist/kernal/FileLoader.mjs +27 -22
- package/dist/kernal/JsonConvert.cjs +1 -1
- package/dist/kernal/JsonConvert.d.ts +0 -1
- package/dist/kernal/JsonConvert.mjs +17 -25
- package/dist/kernal/LifecycleHooks.d.ts +2 -1
- package/dist/kernal/Metadata.cjs +1 -1
- package/dist/kernal/Metadata.d.ts +34 -0
- package/dist/kernal/Metadata.mjs +47 -2
- package/dist/kernal/OpenOptions.d.ts +1 -0
- package/dist/kernal/Options.cjs +1 -1
- package/dist/kernal/Options.d.ts +2 -12
- package/dist/kernal/Options.mjs +1 -13
- package/dist/kernal/OptionsProvider.cjs +1 -1
- package/dist/kernal/OptionsProvider.d.ts +0 -2
- package/dist/kernal/OptionsProvider.mjs +6 -14
- package/dist/kernal/Reader.cjs +1 -1
- package/dist/kernal/Reader.d.ts +13 -12
- package/dist/kernal/Reader.mjs +119 -89
- package/dist/kernal/Theme.cjs +1 -1
- package/dist/kernal/Theme.mjs +1 -1
- package/dist/kernal/common/url.cjs +1 -1
- package/dist/kernal/common/url.d.ts +2 -0
- package/dist/kernal/common/url.mjs +2 -2
- package/dist/kernal/common/uuid.cjs +1 -1
- package/dist/kernal/common/uuid.mjs +7 -7
- package/dist/kernal/common/xxh64.cjs +1 -0
- package/dist/kernal/common/xxh64.d.ts +1 -0
- package/dist/kernal/common/xxh64.mjs +30 -0
- package/dist/kernal/crypto/MD5.cjs +1 -1
- package/dist/kernal/crypto/MD5.d.ts +0 -1
- package/dist/kernal/crypto/MD5.mjs +8 -9
- package/dist/kernal/crypto/WebCrypto.cjs +1 -1
- package/dist/kernal/crypto/WebCrypto.mjs +38 -35
- package/dist/kernal/deepClone/buffer.cjs +1 -1
- package/dist/kernal/deepClone/buffer.d.ts +8 -2
- package/dist/kernal/deepClone/buffer.mjs +1 -5
- package/dist/kernal/device/IDevice.d.ts +8 -2
- package/dist/kernal/device/WebBrowser.cjs +1 -1
- package/dist/kernal/device/WebBrowser.d.ts +12 -6
- package/dist/kernal/device/WebBrowser.mjs +70 -6
- package/dist/kernal/hostViewport.cjs +1 -0
- package/dist/kernal/hostViewport.d.ts +16 -0
- package/dist/kernal/hostViewport.mjs +44 -0
- package/dist/kernal/html/events.cjs +1 -1
- package/dist/kernal/html/events.mjs +35 -34
- package/dist/kernal/html/finder.cjs +1 -1
- package/dist/kernal/html/finder.d.ts +6 -2
- package/dist/kernal/html/finder.mjs +62 -51
- package/dist/kernal/html/geometry.cjs +1 -1
- package/dist/kernal/html/geometry.d.ts +26 -1
- package/dist/kernal/html/geometry.mjs +182 -121
- package/dist/kernal/html/manipulator.cjs +1 -1
- package/dist/kernal/html/manipulator.d.ts +1 -3
- package/dist/kernal/html/manipulator.mjs +34 -59
- package/dist/kernal/html/parser.cjs +1 -1
- package/dist/kernal/html/parser.mjs +3 -3
- package/dist/kernal/html/position.cjs +1 -1
- package/dist/kernal/html/position.d.ts +0 -18
- package/dist/kernal/html/position.mjs +2 -141
- package/dist/kernal/html/realm.cjs +1 -0
- package/dist/kernal/html/realm.d.ts +7 -0
- package/dist/kernal/html/realm.mjs +8 -0
- package/dist/kernal/html/selection.cjs +1 -1
- package/dist/kernal/html/selection.d.ts +1 -0
- package/dist/kernal/html/selection.mjs +33 -12
- package/dist/kernal/html/text.cjs +1 -1
- package/dist/kernal/html/text.d.ts +4 -3
- package/dist/kernal/html/text.mjs +24 -21
- package/dist/kernal/html/translationAnchor.cjs +1 -0
- package/dist/kernal/html/translationAnchor.d.ts +3 -0
- package/dist/kernal/html/translationAnchor.mjs +71 -0
- package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
- package/dist/kernal/i18n/DefaultLocale.d.ts +2 -2
- package/dist/kernal/i18n/DefaultLocale.mjs +7 -12
- package/dist/kernal/i18n/ILocale.d.ts +0 -1
- package/dist/kernal/i18n/applyNamed.cjs +1 -0
- package/dist/kernal/i18n/applyNamed.d.ts +1 -0
- package/dist/kernal/i18n/applyNamed.mjs +9 -0
- package/dist/kernal/i18n/textDirection.cjs +1 -0
- package/dist/kernal/i18n/textDirection.d.ts +6 -0
- package/dist/kernal/i18n/textDirection.mjs +7 -0
- package/dist/kernal/index.cjs +1 -1
- package/dist/kernal/index.d.ts +6 -5
- package/dist/kernal/index.mjs +50 -45
- package/dist/kernal/mark/IHighlighter.cjs +1 -0
- package/dist/kernal/mark/IHighlighter.d.ts +43 -0
- package/dist/kernal/mark/IHighlighter.mjs +13 -0
- package/dist/kernal/mark/Mark.cjs +1 -1
- package/dist/kernal/mark/Mark.d.ts +33 -4
- package/dist/kernal/mark/Mark.mjs +43 -6
- package/dist/kernal/mark/index.cjs +1 -1
- package/dist/kernal/mark/index.d.ts +2 -0
- package/dist/kernal/mark/index.mjs +6 -3
- package/dist/kernal/mark/overlay.cjs +1 -0
- package/dist/kernal/mark/overlay.d.ts +31 -0
- package/dist/kernal/mark/overlay.mjs +102 -0
- package/dist/kernal/mark/types.cjs +1 -0
- package/dist/kernal/mark/types.d.ts +11 -2
- package/dist/kernal/mark/types.mjs +4 -0
- package/dist/kernal/navigator/INavigator.d.ts +3 -2
- package/dist/kernal/network/HttpClient.cjs +1 -1
- package/dist/kernal/network/HttpClient.mjs +80 -56
- package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
- package/dist/kernal/pipelines/FileLoadPipeline.mjs +55 -56
- package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
- package/dist/kernal/pipelines/InputFormatter.mjs +43 -41
- package/dist/kernal/pipelines/metadata.cjs +1 -1
- package/dist/kernal/pipelines/metadata.d.ts +2 -1
- package/dist/kernal/pipelines/metadata.mjs +21 -30
- package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
- package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +7 -6
- package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
- package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +12 -11
- package/dist/kernal/progress/Progress.cjs +1 -1
- package/dist/kernal/progress/Progress.d.ts +5 -3
- package/dist/kernal/progress/Progress.mjs +2 -2
- package/dist/kernal/progress/userChangedProgress.cjs +1 -0
- package/dist/kernal/progress/userChangedProgress.d.ts +9 -0
- package/dist/kernal/progress/userChangedProgress.mjs +11 -0
- package/dist/kernal/screen/BrowserFullscreen.cjs +1 -0
- package/dist/kernal/screen/BrowserFullscreen.d.ts +9 -0
- package/dist/kernal/screen/BrowserFullscreen.mjs +47 -0
- package/dist/kernal/screen/IFullscreen.d.ts +6 -0
- package/dist/kernal/services/ServiceCollection.cjs +1 -1
- package/dist/kernal/services/ServiceCollection.d.ts +4 -6
- package/dist/kernal/services/ServiceCollection.mjs +18 -9
- package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
- package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +4 -2
- package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +31 -23
- package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
- package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +52 -51
- package/dist/kernal/services/fileUrlParser/IFileUrlParser.d.ts +0 -1
- package/dist/kernal/services/font/IFontProvider.cjs +1 -1
- package/dist/kernal/services/font/IFontProvider.d.ts +3 -0
- package/dist/kernal/services/font/IFontProvider.mjs +1 -1
- package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
- package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +8 -8
- package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
- package/dist/kernal/services/loading/DefaultLoading.d.ts +4 -0
- package/dist/kernal/services/loading/DefaultLoading.mjs +23 -24
- package/dist/kernal/services/text/splitter.cjs +1 -1
- package/dist/kernal/services/text/splitter.mjs +3 -3
- package/dist/kernal/types.d.ts +0 -5
- package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
- package/dist/kernal/web/BrowserCapabilities.d.ts +0 -9
- package/dist/kernal/web/BrowserCapabilities.mjs +0 -49
- package/dist/kernal/{Debounce.mjs → web/debounce.mjs} +1 -1
- package/dist/kernal/web/scheduler.cjs +1 -0
- package/dist/kernal/web/scheduler.d.ts +3 -0
- package/dist/kernal/web/scheduler.mjs +7 -0
- package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
- package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +59 -59
- package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.cjs +1 -0
- package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.d.ts +13 -0
- package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.mjs +109 -0
- package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
- package/dist/mediaTypes/html/HtmlOptions.d.ts +6 -12
- package/dist/mediaTypes/html/HtmlOptions.mjs +3 -14
- package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
- package/dist/mediaTypes/html/HtmlSettings.d.ts +16 -1
- package/dist/mediaTypes/html/HtmlSettings.mjs +46 -1
- package/dist/mediaTypes/html/IHtmlContentNormalizer.cjs +1 -0
- package/dist/mediaTypes/html/IHtmlContentNormalizer.d.ts +4 -0
- package/dist/mediaTypes/html/IHtmlContentNormalizer.mjs +4 -0
- package/dist/mediaTypes/html/IHtmlSymbolMeasure.d.ts +11 -0
- package/dist/mediaTypes/html/NoopHtmlContentNormalizer.cjs +1 -0
- package/dist/mediaTypes/html/NoopHtmlContentNormalizer.d.ts +5 -0
- package/dist/mediaTypes/html/NoopHtmlContentNormalizer.mjs +8 -0
- package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
- package/dist/mediaTypes/html/fileParser/HtmlFileParser.d.ts +5 -1
- package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +15 -18
- package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
- package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +25 -25
- package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +1 -0
- package/dist/mediaTypes/html/fileParser/IHtmlFileParser.d.ts +7 -3
- package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +4 -0
- package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
- package/dist/mediaTypes/html/renderer/HtmlRenderer.d.ts +7 -1
- package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +65 -41
- package/dist/mediaTypes/html/renderer/IHtmlDocument.d.ts +6 -2
- package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.d.ts +5 -0
- package/dist/mediaTypes/html/renderer/IHtmlRenderer.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlDocument.d.ts +29 -6
- package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +233 -86
- package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.d.ts +8 -0
- package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +41 -5
- package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.d.ts +2 -4
- package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +22 -59
- package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.d.ts +3 -5
- package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +7 -25
- package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.d.ts +0 -2
- package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +18 -42
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.d.ts +2 -0
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +17 -4
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.d.ts +16 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +128 -54
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +26 -3
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +227 -101
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -0
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +45 -25
- package/dist/mediaTypes/html/renderer/documents/documentHiddenState.cjs +1 -0
- package/dist/mediaTypes/html/renderer/documents/documentHiddenState.d.ts +6 -0
- package/dist/mediaTypes/html/renderer/documents/documentHiddenState.mjs +6 -0
- package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.cjs +1 -0
- package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.d.ts +2 -0
- package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.mjs +13 -0
- package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.cjs +1 -0
- package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.d.ts +11 -0
- package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.mjs +8 -0
- package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
- package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +62 -62
- package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
- package/dist/mediaTypes/html/renderer/html/template.d.ts +3 -1
- package/dist/mediaTypes/html/renderer/html/template.mjs +9 -9
- package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
- package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.d.ts +22 -12
- package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +380 -270
- package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +27 -27
- package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.d.ts +8 -0
- package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -1
- package/dist/mediaTypes/html/renderer/image/error-image.mjs +1 -1
- package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.cjs +1 -0
- package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.d.ts +10 -0
- package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.mjs +15 -0
- package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.cjs +1 -0
- package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.d.ts +2 -0
- package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.mjs +12 -0
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.d.ts +6 -10
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +71 -62
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.d.ts +4 -1
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +113 -68
- package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.d.ts +8 -3
- package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
- package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.d.ts +5 -1
- package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +15 -3
- package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.d.ts +8 -0
- package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.mjs +28 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.cjs +30 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.cjs +31 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.cjs +30 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.cjs +30 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.cjs +30 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.cjs +30 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.cjs +6 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.cjs +10 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.cjs +10 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.cjs +10 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.cjs +10 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-default.cjs +19 -0
- package/dist/mediaTypes/html/renderer/layout/css/document-default.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.cjs +3 -0
- package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.d.ts +2 -0
- package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.mjs +56 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-default.cjs +64 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-default.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.cjs +33 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.cjs +33 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.cjs +47 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.cjs +47 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.cjs +46 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.cjs +46 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.cjs +7 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.cjs +28 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.cjs +28 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.cjs +28 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.cjs +28 -0
- package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/css/root-direction.cjs +8 -0
- package/dist/mediaTypes/html/renderer/layout/css/root-direction.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.d.ts +128 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.d.ts +4 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.mjs +7 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.d.ts +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.mjs +13 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/index.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/index.d.ts +18 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/index.mjs +30 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.mjs +74 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.d.ts +41 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.mjs +53 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.mjs +74 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.mjs +71 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.mjs +74 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.mjs +74 -0
- package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.d.ts +10 -0
- package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.mjs +17 -0
- package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.d.ts +6 -0
- package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.mjs +24 -0
- package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.d.ts +9 -0
- package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.cjs +1 -0
- package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.d.ts +11 -0
- package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.mjs +9 -0
- package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +32 -34
- package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.cjs +1 -0
- package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.d.ts +23 -0
- package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.mjs +164 -0
- package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.cjs +1 -0
- package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.d.ts +4 -0
- package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.mjs +13 -0
- package/dist/mediaTypes/html/renderer/location/scrollActivity.cjs +1 -0
- package/dist/mediaTypes/html/renderer/location/scrollActivity.d.ts +14 -0
- package/dist/mediaTypes/html/renderer/location/scrollActivity.mjs +18 -0
- package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +2 -2
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +3 -3
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +55 -59
- package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.d.ts +1 -0
- package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +40 -39
- package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
- package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.d.ts +2 -1
- package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +36 -24
- package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/ContentCssVariables.d.ts +4 -0
- package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +19 -1
- package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +9 -0
- package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.d.ts +3 -0
- package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +28 -16
- package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.d.ts +2 -0
- package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +39 -34
- package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.cjs +0 -0
- package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.d.ts +6 -0
- package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.mjs +0 -0
- package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.cjs +1 -0
- package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.d.ts +18 -0
- package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.mjs +52 -0
- package/dist/mediaTypes/html/renderer/style/html-content.cjs +38 -7
- package/dist/mediaTypes/html/renderer/style/html-content.mjs +1 -1
- package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
- package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +6 -13
- package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
- package/dist/mediaTypes/pdf/fileParser/PdfFileParser.d.ts +5 -4
- package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +7 -3
- package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
- package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.d.ts +4 -4
- package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +24 -14
- package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.cjs +1 -0
- package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.d.ts +6 -0
- package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.mjs +4 -0
- package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.cjs +1 -0
- package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.d.ts +10 -0
- package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.mjs +33 -0
- package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
- package/dist/mediaTypes/pdf/loadPdfDocument.mjs +18 -19
- package/dist/mediaTypes/pdf/renderer/IPdfRenderer.d.ts +2 -0
- package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +2 -2
- package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.d.ts +0 -1
- package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +0 -3
- package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +3 -3
- package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +3 -3
- package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.d.ts +3 -3
- package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +20 -19
- package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfRenderer.d.ts +1 -0
- package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +20 -20
- package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +51 -50
- package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
- package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +55 -56
- package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.cjs +1 -0
- package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.d.ts +3 -0
- package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.mjs +12 -0
- package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.d.ts +4 -0
- package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +24 -5
- package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +32 -32
- package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +1 -1
- package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
- package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +5 -5
- package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/geometry/index.mjs +2 -2
- package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.d.ts +14 -4
- package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +56 -24
- package/dist/mediaTypes/pdf/shared/text/pageText.cjs +2 -2
- package/dist/mediaTypes/pdf/shared/text/pageText.d.ts +14 -0
- package/dist/mediaTypes/pdf/shared/text/pageText.mjs +139 -47
- package/dist/node_modules/highlight.js/styles/github-dark.cjs +118 -0
- package/dist/node_modules/highlight.js/styles/github-dark.mjs +4 -0
- package/dist/node_modules/highlight.js/styles/github.cjs +118 -0
- package/dist/node_modules/highlight.js/styles/github.mjs +4 -0
- package/dist/pdfjs/package.json +1 -0
- package/global.d.ts +3 -1
- package/package.json +11 -5
- package/types.d.ts +48 -13
- package/dist/kernal/device/IEnvironment.d.ts +0 -5
- package/dist/kernal/device/IPlatform.d.ts +0 -7
- package/dist/kernal/device/WebEnvironment.cjs +0 -1
- package/dist/kernal/device/WebEnvironment.d.ts +0 -7
- package/dist/kernal/device/WebEnvironment.mjs +0 -22
- package/dist/kernal/device/WebPlatform.cjs +0 -1
- package/dist/kernal/device/WebPlatform.d.ts +0 -12
- package/dist/kernal/device/WebPlatform.mjs +0 -49
- package/dist/kernal/progress/IReadingProgressStore.d.ts +0 -7
- package/dist/kernal/progress/ReadingProgressStore.cjs +0 -1
- package/dist/kernal/progress/ReadingProgressStore.d.ts +0 -12
- package/dist/kernal/progress/ReadingProgressStore.mjs +0 -17
- package/dist/kernal/storage/IStorage.cjs +0 -1
- package/dist/kernal/storage/IStorage.d.ts +0 -21
- package/dist/kernal/storage/IStorage.mjs +0 -4
- package/dist/kernal/storage/WebStorage.cjs +0 -1
- package/dist/kernal/storage/WebStorage.d.ts +0 -31
- package/dist/kernal/storage/WebStorage.mjs +0 -165
- package/dist/mediaTypes/adjacent.cjs +0 -1
- package/dist/mediaTypes/adjacent.d.ts +0 -5
- package/dist/mediaTypes/adjacent.mjs +0 -42
- package/dist/mediaTypes/html/renderer/image/placeholder.cjs +0 -1
- package/dist/mediaTypes/html/renderer/image/placeholder.mjs +0 -4
- /package/dist/kernal/{device/IEnvironment.cjs → screen/IFullscreen.cjs} +0 -0
- /package/dist/kernal/{device/IEnvironment.mjs → screen/IFullscreen.mjs} +0 -0
- /package/dist/kernal/{Debounce.cjs → web/debounce.cjs} +0 -0
- /package/dist/kernal/{Debounce.d.ts → web/debounce.d.ts} +0 -0
- /package/dist/{kernal/device/IPlatform.cjs → mediaTypes/html/IHtmlSymbolMeasure.cjs} +0 -0
- /package/dist/{kernal/device/IPlatform.mjs → mediaTypes/html/IHtmlSymbolMeasure.mjs} +0 -0
- /package/dist/{kernal/progress/IReadingProgressStore.cjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.cjs} +0 -0
- /package/dist/{kernal/progress/IReadingProgressStore.mjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.mjs} +0 -0
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
1
|
+
import { EventNames as e } from "../../../kernal/EventNames.mjs";
|
|
2
|
+
import { BrowserCapabilities as t } from "../../../kernal/web/BrowserCapabilities.mjs";
|
|
3
|
+
import { getByteLength as n } from "../../../kernal/common/text.mjs";
|
|
4
|
+
import { Theme as r } from "../../../kernal/Theme.mjs";
|
|
5
|
+
import { yieldToMain as i } from "../../../kernal/web/scheduler.mjs";
|
|
6
|
+
import { asyncDebounce as a } from "../../../kernal/web/debounce.mjs";
|
|
7
|
+
import * as o from "../../../pdfjs/legacy/build/pdf.mjs";
|
|
7
8
|
//#region mediaTypes/pdf/renderer/PdfSvgBuilder.ts
|
|
8
|
-
var
|
|
9
|
+
var s = class s {
|
|
9
10
|
static {
|
|
10
11
|
this.svgClassName = "custom-text-layer";
|
|
11
12
|
}
|
|
12
|
-
constructor(
|
|
13
|
-
this.SVG_NS = "http://www.w3.org/2000/svg", this.pageTasks = [], this.builtPages = /* @__PURE__ */ new Map(), this.textContentCache = /* @__PURE__ */ new Map(), this.isScrolling = !1, this.scrollingTimer = null, this.disposed = !1, this.batchSize = 64, this.measureContext = null, this.isFirefox =
|
|
13
|
+
constructor(c, l) {
|
|
14
|
+
this.SVG_NS = "http://www.w3.org/2000/svg", this.pageTasks = [], this.builtPages = /* @__PURE__ */ new Map(), this.textContentCache = /* @__PURE__ */ new Map(), this.isScrolling = !1, this.scrollingTimer = null, this.disposed = !1, this.batchSize = 64, this.measureContext = null, this.isFirefox = t.isFirefox(), this.isSafari = t.isSafari(), this.renderLoopPromise = null, this.onReaderOriginalScroll = () => {
|
|
14
15
|
this.isScrolling = !0, this.scrollingTimer && clearTimeout(this.scrollingTimer), this.scrollingTimer = setTimeout(async () => {
|
|
15
16
|
this.isScrolling = !1, await this.delayRenderVisiblePageTexts();
|
|
16
17
|
}, 500);
|
|
@@ -25,7 +26,7 @@ var o = class o {
|
|
|
25
26
|
let e = this.getVisiblePageIdSet();
|
|
26
27
|
this.removeInvisibleBuiltPages(e), await this.appendSvgs([...e]);
|
|
27
28
|
}
|
|
28
|
-
}, this.delayRenderVisiblePageTexts =
|
|
29
|
+
}, this.delayRenderVisiblePageTexts = a(this.renderVisiblePageTexts, 1), this.onPageRendered = async () => {
|
|
29
30
|
let e = this.getVisiblePageIdSet();
|
|
30
31
|
this.removeInvisibleBuiltPages(e), await this.delayRenderVisiblePageTexts();
|
|
31
32
|
}, this.removeInvisibleBuiltPages = (e) => {
|
|
@@ -56,25 +57,25 @@ var o = class o {
|
|
|
56
57
|
if (!n?.pdfPage) return null;
|
|
57
58
|
let r = await n.pdfPage.getTextContent({ disableNormalization: !0 });
|
|
58
59
|
return this.textContentCache.set(e, r), r;
|
|
59
|
-
}, this.appendSvg = async (
|
|
60
|
-
let
|
|
61
|
-
if (!
|
|
62
|
-
|
|
63
|
-
let i = this.getTextLayerContainer(
|
|
60
|
+
}, this.appendSvg = async (t) => {
|
|
61
|
+
let n = this.renderer.getPageView(t);
|
|
62
|
+
if (!n || this.options.textLayerMode != 2 || !n.canvas?.parentElement) return;
|
|
63
|
+
n.canvas.parentElement.style.background = `var(${r.ContentBackground})`;
|
|
64
|
+
let i = this.getTextLayerContainer(n);
|
|
64
65
|
if (i) {
|
|
65
|
-
let
|
|
66
|
-
if (
|
|
67
|
-
this.builtPages.set(
|
|
66
|
+
let e = i.getAttribute("data-state");
|
|
67
|
+
if (e == "loading" || e == "loaded") {
|
|
68
|
+
this.builtPages.set(t, i);
|
|
68
69
|
return;
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
if (!i) {
|
|
72
|
-
if (i = await this.buildSVG(
|
|
73
|
-
|
|
73
|
+
if (i = await this.buildSVG(n.viewport), !i) return;
|
|
74
|
+
n.div.appendChild(i);
|
|
74
75
|
}
|
|
75
|
-
this.builtPages.set(
|
|
76
|
-
let a = this.renderer.getDocument((
|
|
77
|
-
this.renderer.owner.events.emit(
|
|
76
|
+
this.builtPages.set(t, i), await this.appendTexts(i, t);
|
|
77
|
+
let a = this.renderer.getDocument((t - 1).toString());
|
|
78
|
+
this.renderer.owner.events.emit(e.PdfPageTextRendered, a, t);
|
|
78
79
|
}, this.appendSvgs = async (e) => {
|
|
79
80
|
await Promise.all(e.map((e) => this.ensureTextContent(e)));
|
|
80
81
|
for (let t of e) await this.appendSvg(t);
|
|
@@ -121,25 +122,25 @@ var o = class o {
|
|
|
121
122
|
e.svg.getAttribute("data-state") != "pause" && e.svg.setAttribute("data-state", "pause");
|
|
122
123
|
return;
|
|
123
124
|
}
|
|
124
|
-
let
|
|
125
|
-
if (
|
|
126
|
-
if (
|
|
127
|
-
await this.appendPartialText(
|
|
125
|
+
let e = this.pageTasks.shift();
|
|
126
|
+
if (e?.svg.parentElement) {
|
|
127
|
+
if (e.svg.getAttribute("data-state") != "loading" && e.svg.setAttribute("data-state", "loading"), await i(), this.disposed || !this.renderer.owner.context) return;
|
|
128
|
+
await this.appendPartialText(e.pageNumber, e.svg, e.viewportTransform, e.textContent, e.start, e.size), e.batchLength - 1 == e.current && e.svg.setAttribute("data-state", "loaded");
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
|
-
}, this.calcTextWidth = (e, t,
|
|
131
|
-
let o =
|
|
132
|
-
return e.font = t.length <= 2 && o == 0 ? a == "monospace" ? "1px " +
|
|
133
|
-
}, this.applyOrientedTextScale = (e, t, n, r, i,
|
|
134
|
-
let c =
|
|
135
|
-
return c =
|
|
131
|
+
}, this.calcTextWidth = (e, t, r, i, a) => {
|
|
132
|
+
let o = n(t) - t.length;
|
|
133
|
+
return e.font = t.length <= 2 && o == 0 ? a == "monospace" ? "1px " + r + ",sans-serif" : "1px " + r + "," + i : "1px " + i, e.measureText(t).width;
|
|
134
|
+
}, this.applyOrientedTextScale = (e, t, n, r, i, a, s) => {
|
|
135
|
+
let c = a ? o.Util.transform(e, a) : e, l = a ? o.Util.transform(t, a) : t, u = n * (l[0] == 0 ? Math.abs(l[1]) : Math.abs(l[0])), d = u > 0 ? r / u / i : 1;
|
|
136
|
+
return c = o.Util.transform(c, [
|
|
136
137
|
d,
|
|
137
138
|
0,
|
|
138
139
|
0,
|
|
139
140
|
d,
|
|
140
141
|
0,
|
|
141
142
|
0
|
|
142
|
-
]), s ?
|
|
143
|
+
]), s ? o.Util.transform(c, s) : c;
|
|
143
144
|
}, this.extractFontSizeFromTransform = (e, t) => {
|
|
144
145
|
let n = Math.hypot(e[0], e[1]);
|
|
145
146
|
return n > 1e-6 ? {
|
|
@@ -156,7 +157,7 @@ var o = class o {
|
|
|
156
157
|
tx: e,
|
|
157
158
|
fontSize: 1
|
|
158
159
|
};
|
|
159
|
-
}, this.appendPartialText = async (e, t, n, r, i,
|
|
160
|
+
}, this.appendPartialText = async (e, t, n, r, i, a) => {
|
|
160
161
|
let s = this.getMeasureContext();
|
|
161
162
|
if (!s) return;
|
|
162
163
|
let c = this.isFirefox, l = this.isSafari, u = document.createDocumentFragment(), d = this.renderer.getRendererContainer().ownerDocument, f = this.renderer.owner.context?.id ?? "pdf", p = /* @__PURE__ */ new Map(), m = [
|
|
@@ -202,19 +203,19 @@ var o = class o {
|
|
|
202
203
|
0,
|
|
203
204
|
0
|
|
204
205
|
];
|
|
205
|
-
for (let t = i; t < i +
|
|
206
|
+
for (let t = i; t < i + a; t++) {
|
|
206
207
|
let i = r.items[t];
|
|
207
208
|
if (!i || typeof i.str != "string") continue;
|
|
208
|
-
let
|
|
209
|
+
let a = i.str, b = r.styles[i.fontName];
|
|
209
210
|
if (!b) continue;
|
|
210
|
-
let x =
|
|
211
|
+
let x = o.Util.transform(o.Util.transform(n, i.transform), m), S = Math.atan2(i.transform[1], i.transform[0]) * (180 / Math.PI);
|
|
211
212
|
b.vertical && (S += 90);
|
|
212
213
|
let C = S < 0 ? S + 360 : S;
|
|
213
214
|
C = Math.round(C);
|
|
214
215
|
let w = p.get(b.fontFamily);
|
|
215
|
-
if (w === void 0 && (w = b.fontFamily.replace(/^serif/, "Times"), p.set(b.fontFamily, w)),
|
|
216
|
+
if (w === void 0 && (w = b.fontFamily.replace(/^serif/, "Times"), p.set(b.fontFamily, w)), a.length > 0) {
|
|
216
217
|
let e = i.textMetricsWidth;
|
|
217
|
-
switch (e || (e = this.calcTextWidth(s,
|
|
218
|
+
switch (e || (e = this.calcTextWidth(s, a, i.fontName, w, b.fontName), i.textMetricsWidth = e), C) {
|
|
218
219
|
case 90:
|
|
219
220
|
x = this.applyOrientedTextScale(x, i.transform, e, i.width, 12, h, g);
|
|
220
221
|
break;
|
|
@@ -234,37 +235,37 @@ var o = class o {
|
|
|
234
235
|
let n = e.fontSize, r = d.createElementNS(this.SVG_NS, "svg:g");
|
|
235
236
|
r.setAttribute("transform", "matrix(" + x.join(" ") + ")"), r.setAttribute("style", "font-family:" + w + ";");
|
|
236
237
|
let i = d.createElementNS(this.SVG_NS, "svg:text");
|
|
237
|
-
i.setAttribute("font-size", n + "px"), l && (i.setAttribute("transform", "translate(0,-" + n + ")"), i.setAttribute("x", "0"), i.setAttribute("y", n.toString())), i.textContent =
|
|
238
|
+
i.setAttribute("font-size", n + "px"), l && (i.setAttribute("transform", "translate(0,-" + n + ")"), i.setAttribute("x", "0"), i.setAttribute("y", n.toString())), i.textContent = a, i.setAttribute("id", T), i.setAttribute("data-text-index", String(t)), r.appendChild(i), u.appendChild(r);
|
|
238
239
|
} else {
|
|
239
240
|
let e = d.createElementNS(this.SVG_NS, "svg:text");
|
|
240
|
-
e.setAttribute("transform", "matrix(" + x.join(" ") + ")"), e.setAttribute("style", "font-size:12px;font-family:" + w + ";"), e.textContent =
|
|
241
|
+
e.setAttribute("transform", "matrix(" + x.join(" ") + ")"), e.setAttribute("style", "font-size:12px;font-family:" + w + ";"), e.textContent = a, e.setAttribute("id", T), e.setAttribute("data-text-index", String(t)), u.appendChild(e);
|
|
241
242
|
}
|
|
242
243
|
}
|
|
243
244
|
t.appendChild(u);
|
|
244
245
|
}, this.buildSVG = async (e) => {
|
|
245
246
|
if (e.width <= 0 || e.height <= 0) return null;
|
|
246
247
|
let t = this.renderer.getRendererContainer().ownerDocument.createElementNS(this.SVG_NS, "svg:svg");
|
|
247
|
-
return t.setAttribute("version", "1.1"), t.setAttribute("xmlns", "http://www.w3.org/2000/svg"), t.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), t.setAttribute("class",
|
|
248
|
-
}, this.renderer =
|
|
248
|
+
return t.setAttribute("version", "1.1"), t.setAttribute("xmlns", "http://www.w3.org/2000/svg"), t.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), t.setAttribute("class", s.svgClassName), t.setAttribute("data-loaded", "false"), t.setAttribute("style", "fill:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;contain:size layout paint;"), t;
|
|
249
|
+
}, this.renderer = c, this.options = l;
|
|
249
250
|
}
|
|
250
251
|
async initialize() {
|
|
251
252
|
this.bindEvents();
|
|
252
253
|
}
|
|
253
254
|
bindEvents() {
|
|
254
|
-
let
|
|
255
|
-
|
|
255
|
+
let t = this.renderer.owner.events;
|
|
256
|
+
t.on(e.PdfPageRendered, this.onPageRendered), t.on(e.PageChange, this.onPageChange), t.on(e.ReaderOriginalScroll, this.onReaderOriginalScroll);
|
|
256
257
|
}
|
|
257
258
|
unbindEvents() {
|
|
258
|
-
let
|
|
259
|
-
|
|
259
|
+
let t = this.renderer.owner.events;
|
|
260
|
+
t.off(e.PdfPageRendered, this.onPageRendered), t.off(e.PageChange, this.onPageChange), t.off(e.ReaderOriginalScroll, this.onReaderOriginalScroll);
|
|
260
261
|
}
|
|
261
262
|
async dispose() {
|
|
262
263
|
this.disposed = !0, this.unbindEvents(), this.scrollingTimer &&= (clearTimeout(this.scrollingTimer), null), this.pageTasks.length = 0, this.builtPages.clear(), this.textContentCache.clear(), this.measureContext = null, this.renderLoopPromise = null;
|
|
263
264
|
}
|
|
264
265
|
getTextLayerContainer(e) {
|
|
265
|
-
let t =
|
|
266
|
+
let t = s.svgClassName;
|
|
266
267
|
return typeof e == "number" ? this.builtPages.get(e) ?? this.renderer.getPageView(e)?.div?.querySelector(`svg.${t}`) ?? null : "tagName" in e ? e.querySelector(`svg.${t}`) : e.div?.querySelector(`svg.${t}`) ?? null;
|
|
267
268
|
}
|
|
268
269
|
};
|
|
269
270
|
//#endregion
|
|
270
|
-
export {
|
|
271
|
+
export { s as PdfSvgBuilder };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../kernal/
|
|
2
|
-
.pdfViewer .page {background-color:var(${
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../kernal/EventNames.cjs"),n=require("../../../../kernal/common/text.cjs"),r=require("../../../../kernal/html/finder.cjs"),i=require("../../../../kernal/html/injector.cjs"),a=require("../../../../kernal/Theme.cjs"),o=require("../../../../kernal/html/style.cjs"),s=require("../../../base/renderer/BaseDocumentsProvider.cjs"),c=require("../PdfViewerBuilder.cjs"),l=require("./resolvePdfLocationPageNumber.cjs"),u=require("../PdfDocument.cjs"),d=require("../layout/PdfRendererViewport.cjs");let f=require("../../../../pdfjs/legacy/build/pdf.mjs");f=e.__toESM(f,1);let p=require("../../../../pdfjs/legacy/web/pdf_viewer.mjs");p=e.__toESM(p,1),require("../../../../pdfjs/legacy/web/pdf_viewer.css");let m=require("perfect-debounce");var h=class extends s.BaseDocumentsProvider{constructor(e,i,a,s){super(e,i),this.readerContainer=a,this.options=s,this.isInit=!1,this.isFirstLoad=!0,this.pdfDocument=null,this.isEngineInitialized=!1,this.delayOnAutoScaleResize=(0,m.debounce)(async()=>{await this.onAutoScaleResize()},100),this.resize=async()=>{this.eventBus.dispatch(`resize`,{source:this.readerContainer.ownerDocument.defaultView})},this.fillDocuments=()=>{this.documentItems=[],this.pdfViewer._pages.forEach(e=>{let t=e.spineFile?.url,n=new u.PdfDocument(this.owner,this.pdfViewer,this.fileParser,e.div,t,e.id);this.documentItems.push(n)})},this.reload=async()=>{let e=this.owner.context.currentLocation;n.isNullOrWhiteSpace(e?.url)||await this.load(e,!0)},this.getSinglePdfPage=async(e,t)=>{let n=await this.fileParser.getPdfDocument(e);return{doc:n,page:await n.getPage(t)}},this.delayRedirect=async()=>{let e=this.owner.context.currentLocation;await this.redirect(e),this.isFirstLoad=!1,this.owner.events.off(t.EventNames.PdfPagesInit,this.delayRedirect)},this.redirect=async e=>{if(!e?.current)return;let t=e.current<1?Math.floor(e.current*this.numberOfPages):e.current;await this.gotoPageInternal(t,e.pdfDest,e.offsetTop,e?.ignoreOverlayHeader)},this.pageLoaded=(e,n)=>{let i=this.owner.context.currentLocation,a=r.getElementByNameAndIndex(e.getContentContainer(),i.tagName,i.tagIndex);this.gotoTargetElement(a,i),this.owner.events.off(t.EventNames.PdfPageTextRendered,this.pageLoaded),this.owner.events.emit(t.EventNames.PdfLoadFinished,{reader:this.owner})},this.gotoTargetElement=(e,t)=>{if(!e)return;o.scrollElementIntoView(e,void 0,void 0,this.owner.getRootContainer()?.ownerDocument);let n=0;if(t?.offsetTop&&(n+=t.offsetTop),n<=0)return;let r=this.getScrollElement();r.scrollHeight-r.scrollTop-r.clientHeight>0&&r.scrollTo(0,r.scrollTop-n)},this.setCurrentPageNumber=e=>{let t=this.pdfViewer,n=t.currentPageNumber;t.currentPageNumber=e;let r=t.currentScaleValue;this.options.resetScaleAfterPageChanged&&n!=e&&(r==`auto`||r==`page-fit`||r==`page-width`)&&(t.hasEqualPageSizes||t.rescrollIntoView(e))},this.logger=this.owner.loggerFactory.getLogger(this.constructor.name),this.rendererViewport=new d.PdfRendererViewport(e.getRootContainer(),a,this.options,()=>this.currentPage,()=>this.removePageBorders);let l=this.rendererViewport.getRendererContainer(),{pdfViewer:f,eventBus:p,linkService:h,findController:g,maxCanvasPixels:_,removePageBorders:v}=new c.PdfViewerBuilder(this.options).build(l);this.pdfViewer=f,this.eventBus=p,this.linkService=h,this.findController=g,this.maxCanvasPixels=_,this.removePageBorders=v}getViewerContainer(){return this.rendererViewport.getViewerContainer()}getEventBus(){return this.eventBus}getFindController(){return this.findController}getRendererContainer(){return this.rendererViewport.getRendererContainer()}getScrollElement(){return this.rendererViewport.getScrollElement()}hasPdfDocument(){return!!this.pdfDocument}async getProgress(e){}registerContainerResizeObserver(){this.containerResizeObserver||(this.containerResizeObserver&&=(this.containerResizeObserver.disconnect(),void 0),this.containerResizeObserver=new ResizeObserver(async e=>{if(this.owner.context){if(this.readerContainer.clientWidth==0||this.readerContainer.clientHeight==0){this.readerContainer.foxycape_document_hidden&&(this.readerContainer.foxycape_document_require_resize=`true`),this.readerContainer.foxycape_document_hidden=`true`;return}if(this.readerContainer.clientWidth>0&&this.readerContainer.clientHeight>0&&this.readerContainer.foxycape_document_hidden){if(this.readerContainer.foxycape_document_hidden=void 0,!this.readerContainer.foxycape_document_require_resize)return;this.readerContainer.foxycape_document_require_resize=void 0}this.owner.context.setUserChangedProgress(!1),(this.pdfViewer.currentScaleValue==`auto`||this.pdfViewer.currentScaleValue==`page-fit`||this.pdfViewer.currentScaleValue==`page-width`)&&!this.isFirstLoad&&await this.delayOnAutoScaleResize(),this.rendererViewport.applyCssVariables(),this.owner.context&&this.owner.events.emit(t.EventNames.RendererContainerSizeChange,this.getRendererContainer(),this.owner.context.userChangedProgress)}}),this.containerResizeObserver.observe(this.readerContainer))}async onAutoScaleResize(){let e=this.getRendererContainer();this.owner.resourceIsUnload||e.clientWidth==0||e.clientHeight==0||await this.resize()}async createDocument(e,t,n){let r=n+1;return new u.PdfDocument(this.owner,this.pdfViewer,this.fileParser,e,t.url,r)}async load(e,n){let r=!0;try{if(this.owner.context.setUserChangedProgress(!n,e?.from),this.owner.context.currentLocation=e,e?.storeCurrent&&await this.owner.onBeforeRedirect?.(this),!this.isInit){this.owner.events.on(t.EventNames.PdfPagesInit,this.delayRedirect),await this.loadEngine(async()=>{this.fillDocuments(),this.isInit=!0,this.registerContainerResizeObserver()}),this.getRendererContainer().focus();return}r=await this.navigateToLocation(e)}finally{r&&this.owner.events.emit(t.EventNames.PdfLoadFinished,{reader:this.owner})}}async navigateToLocation(e){if(e?.url&&e.tagName&&e.tagIndex!=null){let n=this.getDocument(e.url),i=r.getElementByNameAndIndex(n.getContentContainer(),e.tagName,e.tagIndex);return i?(this.gotoTargetElement(i,e),!0):(this.owner.events.on(t.EventNames.PdfPageTextRendered,this.pageLoaded),!1)}let n=this.resolvePageNumber(e);return n==null||await this.gotoPageInternal(n,e?.pdfDest,e?.offsetTop,e?.ignoreOverlayHeader),!0}resolvePageNumber(e){return l.resolvePdfLocationPageNumber(e,this.numberOfPages,e=>{let t=this.getDocument(e);return t?this.getDocuments().indexOf(t)+1:null})}async initializeEngine(){if(this.isEngineInitialized)return;let e=`.pdfViewer .canvasWrapper{position:absolute;left:0;top:0}
|
|
2
|
+
.pdfViewer .page {background-color:var(${a.Theme.ContentBackground}) !important}`;i.injectCssContent(this.getRendererContainer().ownerDocument,e,!1,`custom-pdf-viewer-page-css`),this.eventBus.on(`pagesinit`,async()=>{!this.pdfViewer.currentScaleValue&&this.options.scaleValue&&(this.pdfViewer.currentScaleValue=this.options.scaleValue)}),this.isEngineInitialized=!0}async loadEngine(e){await this.closeEngine(),await this.initializeEngine();let n=await this.fileParser.getEntryFile(),r=await this.fileParser.getPdfDocument(n);if(this.pdfDocument=r,!this.fileParser.isMultiFiles){this.setPdfDocument(this.pdfDocument),await this.pdfDocument.getPage(1),this.pdfViewer.firstPagePromise&&await this.pdfViewer.firstPagePromise,e&&await e(),this.owner.events.emit(t.EventNames.PdfPagesInit,this);return}let i=await this.fileParser.getSpineFiles();if(this.setPdfDocument(this.pdfDocument,!1),this.pdfViewer.firstPagePromise){let e=await this.pdfViewer.firstPagePromise,t=this.pdfViewer._pages[0];if(t&&(t.spineFile=n),i.length>0){let t=e.getViewport({scale:this.pdfViewer.currentScale*f.PixelsPerInch.PDF_TO_CSS_UNITS}),n=this.createSpinePageViews(this.getViewerContainer(),i,t);await this.pdfViewer.setOtherPages(n,this.getSinglePdfPage)}}e&&await e(),this.owner.events.emit(t.EventNames.PdfPagesInit,this)}setPdfDocument(e,t=!0){this.pdfViewer.setDocument(e),t&&(e?(this.linkService.setDocument(e),this.findController.setDocument(e)):(this.linkService.setDocument(null,null),this.findController.setDocument(null)))}createSpinePageViews(e,t,n){let r=[];for(let i=2;i<t.length+1;i++){let a=new p.PDFPageView({container:e,eventBus:this.eventBus,id:i,scale:this.pdfViewer.currentScale,defaultViewport:n.clone(),renderingQueue:this.pdfViewer.renderingQueue,textLayerMode:+(this.options.textLayerMode==1),annotationMode:this.options.annotationMode,maxCanvasPixels:this.maxCanvasPixels});a.spineFile=t[i-1],r.push(a)}return r}async closeEngine(){this.pdfDocument&&(this.pdfDocument=null,this.setPdfDocument(null))}get numberOfPages(){return this.pdfViewer.pagesCount}get currentPage(){return this.pdfViewer?.currentPageNumber}set currentPage(e){this.setCurrentPageNumber(e)}setCurrentPage(e,t=!0){if(!t){this.pdfViewer._setCurrentPageNumber?.(e,!1);return}this.setCurrentPageNumber(e)}get isSpreadMode(){return this.pdfViewer?.spreadMode!==p.SpreadMode.NONE}async scrollToPage(e,t,n,r){if(t){let i=JSON.parse(t);if(this.pdfViewer.scrollPageIntoView({pageNumber:e,destArray:i,allowNegativeOffset:!0,ignoreDestinationZoom:!0}),this.getRendererContainer().scrollHeight>this.getRendererContainer().clientHeight+10){let e=0;if(r||(e+=this.owner.options.redirectPositionOffset),n&&(e+=n),e>0){let t=this.getScrollElement();t.scrollTo(0,t.scrollTop-e)}}}else this.setCurrentPageNumber(e)}async gotoPageInternal(e,t,n,r){let i=this.owner.locale;return e<=0?(this.owner.notifier.info(i.getText(`navigotor_alreadyisfirstpage`,`Already at the first page`)),!1):e>this.numberOfPages?(this.owner.notifier.info(i.getText(`navigotor_alreadyislastpage`,`You have reached the end of the book.`)),!1):(t?.indexOf(`Fit`)>=0?await this.scrollToPage(e,null,n,r):await this.scrollToPage(e,t,n,r),!0)}getLoadedDocuments(){let e=Array.from(this.pdfViewer.getCachedPageViews().values()).map(e=>e.id);return this.documentItems.filter(t=>e.includes(t.pageNumber))}getVisibleDocuments(){let e=this.pdfViewer._getVisiblePages(),t=Array.from(e.views.map(e=>e.id));return this.documentItems.filter(e=>t.includes(e.pageNumber))}getPageViews(){return this.pdfViewer._pages}getPageView(e){if(!(e<1))return this.pdfViewer.getPageView(e-1)}async getPdfPage(e){return!this.pdfDocument||e<1||e>this.numberOfPages?void 0:this.getPageView(e)?.pdfPage||this.pdfDocument.getPage(e)}async dispose(){this.owner.events.off(t.EventNames.PdfPagesInit,this.delayRedirect),this.owner.events.off(t.EventNames.PdfPageTextRendered,this.pageLoaded),this.containerResizeObserver?.disconnect(),this.containerResizeObserver=void 0,await this.closeEngine(),await this.pdfViewer.dispose(),await super.dispose()}};exports.PdfDocumentsProvider=h;
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { asyncDebounce as a } from "../../../../kernal/
|
|
1
|
+
import { EventNames as e } from "../../../../kernal/EventNames.mjs";
|
|
2
|
+
import { isNullOrWhiteSpace as t } from "../../../../kernal/common/text.mjs";
|
|
3
|
+
import { getElementByNameAndIndex as n } from "../../../../kernal/html/finder.mjs";
|
|
4
|
+
import { injectCssContent as r } from "../../../../kernal/html/injector.mjs";
|
|
5
|
+
import { Theme as i } from "../../../../kernal/Theme.mjs";
|
|
6
|
+
import { asyncDebounce as a } from "../../../../kernal/web/debounce.mjs";
|
|
7
7
|
import { scrollElementIntoView as o } from "../../../../kernal/html/style.mjs";
|
|
8
8
|
import { BaseDocumentsProvider as s } from "../../../base/renderer/BaseDocumentsProvider.mjs";
|
|
9
9
|
import { PdfViewerBuilder as c } from "../PdfViewerBuilder.mjs";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import * as f from "../../../../pdfjs/legacy/
|
|
10
|
+
import { resolvePdfLocationPageNumber as l } from "./resolvePdfLocationPageNumber.mjs";
|
|
11
|
+
import { PdfDocument as u } from "../PdfDocument.mjs";
|
|
12
|
+
import { PdfRendererViewport as d } from "../layout/PdfRendererViewport.mjs";
|
|
13
|
+
import * as f from "../../../../pdfjs/legacy/build/pdf.mjs";
|
|
14
|
+
import * as p from "../../../../pdfjs/legacy/web/pdf_viewer.mjs";
|
|
14
15
|
import "../../../../pdfjs/legacy/web/pdf_viewer.css";
|
|
15
16
|
//#region mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.ts
|
|
16
|
-
var
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
17
|
+
var m = class extends s {
|
|
18
|
+
constructor(r, i, s, l) {
|
|
19
|
+
super(r, i), this.readerContainer = s, this.options = l, this.isInit = !1, this.isFirstLoad = !0, this.pdfDocument = null, this.isEngineInitialized = !1, this.delayOnAutoScaleResize = a(async () => {
|
|
19
20
|
await this.onAutoScaleResize();
|
|
20
21
|
}, 100), this.resize = async () => {
|
|
21
22
|
this.eventBus.dispatch("resize", { source: this.readerContainer.ownerDocument.defaultView });
|
|
22
23
|
}, this.fillDocuments = () => {
|
|
23
24
|
this.documentItems = [], this.pdfViewer._pages.forEach((e) => {
|
|
24
|
-
let t = e.spineFile?.url, n = new
|
|
25
|
+
let t = e.spineFile?.url, n = new u(this.owner, this.pdfViewer, this.fileParser, e.div, t, e.id);
|
|
25
26
|
this.documentItems.push(n);
|
|
26
27
|
});
|
|
27
28
|
}, this.reload = async () => {
|
|
28
29
|
let e = this.owner.context.currentLocation;
|
|
29
|
-
|
|
30
|
+
t(e?.url) || await this.load(e, !0);
|
|
30
31
|
}, this.getSinglePdfPage = async (e, t) => {
|
|
31
32
|
let n = await this.fileParser.getPdfDocument(e);
|
|
32
33
|
return {
|
|
@@ -34,15 +35,15 @@ var p = class extends s {
|
|
|
34
35
|
page: await n.getPage(t)
|
|
35
36
|
};
|
|
36
37
|
}, this.delayRedirect = async () => {
|
|
37
|
-
let
|
|
38
|
-
await this.redirect(
|
|
38
|
+
let t = this.owner.context.currentLocation;
|
|
39
|
+
await this.redirect(t), this.isFirstLoad = !1, this.owner.events.off(e.PdfPagesInit, this.delayRedirect);
|
|
39
40
|
}, this.redirect = async (e) => {
|
|
40
41
|
if (!e?.current) return;
|
|
41
42
|
let t = e.current < 1 ? Math.floor(e.current * this.numberOfPages) : e.current;
|
|
42
43
|
await this.gotoPageInternal(t, e.pdfDest, e.offsetTop, e?.ignoreOverlayHeader);
|
|
43
|
-
}, this.pageLoaded = (
|
|
44
|
-
let i = this.owner.context.currentLocation, a =
|
|
45
|
-
this.gotoTargetElement(a, i), this.owner.events.off(
|
|
44
|
+
}, this.pageLoaded = (t, r) => {
|
|
45
|
+
let i = this.owner.context.currentLocation, a = n(t.getContentContainer(), i.tagName, i.tagIndex);
|
|
46
|
+
this.gotoTargetElement(a, i), this.owner.events.off(e.PdfPageTextRendered, this.pageLoaded), this.owner.events.emit(e.PdfLoadFinished, { reader: this.owner });
|
|
46
47
|
}, this.gotoTargetElement = (e, t) => {
|
|
47
48
|
if (!e) return;
|
|
48
49
|
o(e, void 0, void 0, this.owner.getRootContainer()?.ownerDocument);
|
|
@@ -55,7 +56,7 @@ var p = class extends s {
|
|
|
55
56
|
t.currentPageNumber = e;
|
|
56
57
|
let r = t.currentScaleValue;
|
|
57
58
|
this.options.resetScaleAfterPageChanged && n != e && (r == "auto" || r == "page-fit" || r == "page-width") && (t.hasEqualPageSizes || t.rescrollIntoView(e));
|
|
58
|
-
}, this.logger = this.owner.loggerFactory.getLogger(this.constructor.name), this.rendererViewport = new
|
|
59
|
+
}, this.logger = this.owner.loggerFactory.getLogger(this.constructor.name), this.rendererViewport = new d(r.getRootContainer(), s, this.options, () => this.currentPage, () => this.removePageBorders);
|
|
59
60
|
let f = this.rendererViewport.getRendererContainer(), { pdfViewer: p, eventBus: m, linkService: h, findController: g, maxCanvasPixels: _, removePageBorders: v } = new c(this.options).build(f);
|
|
60
61
|
this.pdfViewer = p, this.eventBus = m, this.linkService = h, this.findController = g, this.maxCanvasPixels = _, this.removePageBorders = v;
|
|
61
62
|
}
|
|
@@ -79,17 +80,17 @@ var p = class extends s {
|
|
|
79
80
|
}
|
|
80
81
|
async getProgress(e) {}
|
|
81
82
|
registerContainerResizeObserver() {
|
|
82
|
-
this.containerResizeObserver || (this.containerResizeObserver &&= (this.containerResizeObserver.disconnect(), void 0), this.containerResizeObserver = new ResizeObserver(async (
|
|
83
|
+
this.containerResizeObserver || (this.containerResizeObserver &&= (this.containerResizeObserver.disconnect(), void 0), this.containerResizeObserver = new ResizeObserver(async (t) => {
|
|
83
84
|
if (this.owner.context) {
|
|
84
85
|
if (this.readerContainer.clientWidth == 0 || this.readerContainer.clientHeight == 0) {
|
|
85
|
-
this.readerContainer.
|
|
86
|
+
this.readerContainer.foxycape_document_hidden && (this.readerContainer.foxycape_document_require_resize = "true"), this.readerContainer.foxycape_document_hidden = "true";
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
|
-
if (this.readerContainer.clientWidth > 0 && this.readerContainer.clientHeight > 0 && this.readerContainer.
|
|
89
|
-
if (this.readerContainer.
|
|
90
|
-
this.readerContainer.
|
|
89
|
+
if (this.readerContainer.clientWidth > 0 && this.readerContainer.clientHeight > 0 && this.readerContainer.foxycape_document_hidden) {
|
|
90
|
+
if (this.readerContainer.foxycape_document_hidden = void 0, !this.readerContainer.foxycape_document_require_resize) return;
|
|
91
|
+
this.readerContainer.foxycape_document_require_resize = void 0;
|
|
91
92
|
}
|
|
92
|
-
this.owner.context.setUserChangedProgress(!1), (this.pdfViewer.currentScaleValue == "auto" || this.pdfViewer.currentScaleValue == "page-fit" || this.pdfViewer.currentScaleValue == "page-width") && !this.isFirstLoad && await this.delayOnAutoScaleResize(), this.rendererViewport.applyCssVariables(), this.owner.context && this.owner.events.emit(
|
|
93
|
+
this.owner.context.setUserChangedProgress(!1), (this.pdfViewer.currentScaleValue == "auto" || this.pdfViewer.currentScaleValue == "page-fit" || this.pdfViewer.currentScaleValue == "page-width") && !this.isFirstLoad && await this.delayOnAutoScaleResize(), this.rendererViewport.applyCssVariables(), this.owner.context && this.owner.events.emit(e.RendererContainerSizeChange, this.getRendererContainer(), this.owner.context.userChangedProgress);
|
|
93
94
|
}
|
|
94
95
|
}), this.containerResizeObserver.observe(this.readerContainer));
|
|
95
96
|
}
|
|
@@ -99,62 +100,60 @@ var p = class extends s {
|
|
|
99
100
|
}
|
|
100
101
|
async createDocument(e, t, n) {
|
|
101
102
|
let r = n + 1;
|
|
102
|
-
return new
|
|
103
|
+
return new u(this.owner, this.pdfViewer, this.fileParser, e, t.url, r);
|
|
103
104
|
}
|
|
104
|
-
async load(
|
|
105
|
+
async load(t, n) {
|
|
105
106
|
let r = !0;
|
|
106
107
|
try {
|
|
107
|
-
if (this.owner.context.setUserChangedProgress(!n,
|
|
108
|
-
this.owner.events.on(
|
|
108
|
+
if (this.owner.context.setUserChangedProgress(!n, t?.from), this.owner.context.currentLocation = t, t?.storeCurrent && await this.owner.onBeforeRedirect?.(this), !this.isInit) {
|
|
109
|
+
this.owner.events.on(e.PdfPagesInit, this.delayRedirect), await this.loadEngine(async () => {
|
|
109
110
|
this.fillDocuments(), this.isInit = !0, this.registerContainerResizeObserver();
|
|
110
111
|
}), this.getRendererContainer().focus();
|
|
111
112
|
return;
|
|
112
113
|
}
|
|
113
|
-
r = await this.navigateToLocation(
|
|
114
|
+
r = await this.navigateToLocation(t);
|
|
114
115
|
} finally {
|
|
115
|
-
r && this.owner.events.emit(
|
|
116
|
+
r && this.owner.events.emit(e.PdfLoadFinished, { reader: this.owner });
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
|
-
async navigateToLocation(
|
|
119
|
-
if (
|
|
120
|
-
let
|
|
121
|
-
return i ? (this.gotoTargetElement(i,
|
|
119
|
+
async navigateToLocation(t) {
|
|
120
|
+
if (t?.url && t.tagName && t.tagIndex != null) {
|
|
121
|
+
let r = this.getDocument(t.url), i = n(r.getContentContainer(), t.tagName, t.tagIndex);
|
|
122
|
+
return i ? (this.gotoTargetElement(i, t), !0) : (this.owner.events.on(e.PdfPageTextRendered, this.pageLoaded), !1);
|
|
122
123
|
}
|
|
123
|
-
let
|
|
124
|
-
return
|
|
124
|
+
let r = this.resolvePageNumber(t);
|
|
125
|
+
return r == null || await this.gotoPageInternal(r, t?.pdfDest, t?.offsetTop, t?.ignoreOverlayHeader), !0;
|
|
125
126
|
}
|
|
126
127
|
resolvePageNumber(e) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
let t = this.getDocument(e.url);
|
|
128
|
+
return l(e, this.numberOfPages, (e) => {
|
|
129
|
+
let t = this.getDocument(e);
|
|
130
130
|
return t ? this.getDocuments().indexOf(t) + 1 : null;
|
|
131
|
-
}
|
|
132
|
-
return 1;
|
|
131
|
+
});
|
|
133
132
|
}
|
|
134
133
|
async initializeEngine() {
|
|
135
134
|
if (this.isEngineInitialized) return;
|
|
136
|
-
let
|
|
137
|
-
.pdfViewer .page {background-color:var(${
|
|
138
|
-
|
|
135
|
+
let e = `.pdfViewer .canvasWrapper{position:absolute;left:0;top:0}
|
|
136
|
+
.pdfViewer .page {background-color:var(${i.ContentBackground}) !important}`;
|
|
137
|
+
r(this.getRendererContainer().ownerDocument, e, !1, "custom-pdf-viewer-page-css"), this.eventBus.on("pagesinit", async () => {
|
|
139
138
|
!this.pdfViewer.currentScaleValue && this.options.scaleValue && (this.pdfViewer.currentScaleValue = this.options.scaleValue);
|
|
140
139
|
}), this.isEngineInitialized = !0;
|
|
141
140
|
}
|
|
142
|
-
async loadEngine(
|
|
141
|
+
async loadEngine(t) {
|
|
143
142
|
await this.closeEngine(), await this.initializeEngine();
|
|
144
143
|
let n = await this.fileParser.getEntryFile(), r = await this.fileParser.getPdfDocument(n);
|
|
145
144
|
if (this.pdfDocument = r, !this.fileParser.isMultiFiles) {
|
|
146
|
-
this.setPdfDocument(this.pdfDocument), await this.pdfDocument.getPage(1), this.pdfViewer.firstPagePromise && await this.pdfViewer.firstPagePromise,
|
|
145
|
+
this.setPdfDocument(this.pdfDocument), await this.pdfDocument.getPage(1), this.pdfViewer.firstPagePromise && await this.pdfViewer.firstPagePromise, t && await t(), this.owner.events.emit(e.PdfPagesInit, this);
|
|
147
146
|
return;
|
|
148
147
|
}
|
|
149
148
|
let i = await this.fileParser.getSpineFiles();
|
|
150
149
|
if (this.setPdfDocument(this.pdfDocument, !1), this.pdfViewer.firstPagePromise) {
|
|
151
150
|
let e = await this.pdfViewer.firstPagePromise, t = this.pdfViewer._pages[0];
|
|
152
151
|
if (t && (t.spineFile = n), i.length > 0) {
|
|
153
|
-
let t = e.getViewport({ scale: this.pdfViewer.currentScale *
|
|
152
|
+
let t = e.getViewport({ scale: this.pdfViewer.currentScale * f.PixelsPerInch.PDF_TO_CSS_UNITS }), n = this.createSpinePageViews(this.getViewerContainer(), i, t);
|
|
154
153
|
await this.pdfViewer.setOtherPages(n, this.getSinglePdfPage);
|
|
155
154
|
}
|
|
156
155
|
}
|
|
157
|
-
|
|
156
|
+
t && await t(), this.owner.events.emit(e.PdfPagesInit, this);
|
|
158
157
|
}
|
|
159
158
|
setPdfDocument(e, t = !0) {
|
|
160
159
|
this.pdfViewer.setDocument(e), t && (e ? (this.linkService.setDocument(e), this.findController.setDocument(e)) : (this.linkService.setDocument(null, null), this.findController.setDocument(null)));
|
|
@@ -162,7 +161,7 @@ var p = class extends s {
|
|
|
162
161
|
createSpinePageViews(e, t, n) {
|
|
163
162
|
let r = [];
|
|
164
163
|
for (let i = 2; i < t.length + 1; i++) {
|
|
165
|
-
let a = new
|
|
164
|
+
let a = new p.PDFPageView({
|
|
166
165
|
container: e,
|
|
167
166
|
eventBus: this.eventBus,
|
|
168
167
|
id: i,
|
|
@@ -197,7 +196,7 @@ var p = class extends s {
|
|
|
197
196
|
this.setCurrentPageNumber(e);
|
|
198
197
|
}
|
|
199
198
|
get isSpreadMode() {
|
|
200
|
-
return this.pdfViewer?.spreadMode !==
|
|
199
|
+
return this.pdfViewer?.spreadMode !== p.SpreadMode.NONE;
|
|
201
200
|
}
|
|
202
201
|
async scrollToPage(e, t, n, r) {
|
|
203
202
|
if (t) {
|
|
@@ -218,7 +217,7 @@ var p = class extends s {
|
|
|
218
217
|
}
|
|
219
218
|
async gotoPageInternal(e, t, n, r) {
|
|
220
219
|
let i = this.owner.locale;
|
|
221
|
-
return e <= 0 ? (this.owner.notifier.info(i.getText("navigotor_alreadyisfirstpage", "Already at the first page")), !1) : e > this.numberOfPages ? (this.owner.notifier.info(i.getText("navigotor_alreadyislastpage", "
|
|
220
|
+
return e <= 0 ? (this.owner.notifier.info(i.getText("navigotor_alreadyisfirstpage", "Already at the first page")), !1) : e > this.numberOfPages ? (this.owner.notifier.info(i.getText("navigotor_alreadyislastpage", "You have reached the end of the book.")), !1) : (t?.indexOf("Fit") >= 0 ? await this.scrollToPage(e, null, n, r) : await this.scrollToPage(e, t, n, r), !0);
|
|
222
221
|
}
|
|
223
222
|
getLoadedDocuments() {
|
|
224
223
|
let e = Array.from(this.pdfViewer.getCachedPageViews().values()).map((e) => e.id);
|
|
@@ -238,8 +237,8 @@ var p = class extends s {
|
|
|
238
237
|
return !this.pdfDocument || e < 1 || e > this.numberOfPages ? void 0 : this.getPageView(e)?.pdfPage || this.pdfDocument.getPage(e);
|
|
239
238
|
}
|
|
240
239
|
async dispose() {
|
|
241
|
-
this.owner.events.off(
|
|
240
|
+
this.owner.events.off(e.PdfPagesInit, this.delayRedirect), this.owner.events.off(e.PdfPageTextRendered, this.pageLoaded), this.containerResizeObserver?.disconnect(), this.containerResizeObserver = void 0, await this.closeEngine(), await this.pdfViewer.dispose(), await super.dispose();
|
|
242
241
|
}
|
|
243
242
|
};
|
|
244
243
|
//#endregion
|
|
245
|
-
export {
|
|
244
|
+
export { m as PdfDocumentsProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t,n)=>{if(!e)return 1;let r=e.unit??`ratio`,i=()=>{if(!e.url)return 1;let t=n?.(e.url);return t===void 0?1:t};return r===`page`&&e.current!=null&&e.current>=1?e.current:r===`symbol`?i():e.current?e.current<1?Math.max(1,Math.ceil(e.current*t)):e.current:i()};exports.resolvePdfLocationPageNumber=e;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.ts
|
|
2
|
+
var e = (e, t, n) => {
|
|
3
|
+
if (!e) return 1;
|
|
4
|
+
let r = e.unit ?? "ratio", i = () => {
|
|
5
|
+
if (!e.url) return 1;
|
|
6
|
+
let t = n?.(e.url);
|
|
7
|
+
return t === void 0 ? 1 : t;
|
|
8
|
+
};
|
|
9
|
+
return r === "page" && e.current != null && e.current >= 1 ? e.current : r === "symbol" ? i() : e.current ? e.current < 1 ? Math.max(1, Math.ceil(e.current * t)) : e.current : i();
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { e as resolvePdfLocationPageNumber };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("../../../../kernal/navigator/IPagingNavigator.cjs");var n=class{constructor(n,r,i,a){this.events=n,this.eventBus=r,this.renderer=i,this.pdfViewer=a,this.onPagesLoaded=async()=>{this.events.emit(e.EventNames.PdfPagesLoaded,this.pdfViewer)},this.onResize=async()=>{let t=this.pdfViewer.currentScaleValue;(t===`auto`||t===`page-fit`||t===`page-width`)&&await this.renderer.scalable.scaleTo(t),this.pdfViewer.update(),this.events.emit(e.EventNames.RendererContainerSizeChange,this.renderer.getRendererContainer(),this.renderer.owner.context.userChangedProgress)},this.onPageRender=async({source:t})=>{let n=t;this.events.emit(e.EventNames.PdfPageRender,n)},this.onPageChanging=async({pageNumber:n,previous:r})=>{let i=n>r?`next`:`previous`,a=this.renderer.getDocument((n-1).toString()),o=new t.PageChangeOptions;o.doc=a,o.pageNumber=n,o.direction=i,this.events.emit(e.EventNames.PageChange,o),this.renderer.progressTracker.updateFromPageChange()},this.onPageRendered=async({source:t,pageNumber:n})=>{this.events.emit(e.EventNames.PdfPageRendered,{pdfViewer:this.pdfViewer,pageView:t,pageNumber:n});let r=this.renderer.getDocument((n-1).toString());r&&this.events.emit(e.EventNames.DocumentLoad,r)},this.onTextLayerRendered=({pageNumber:t})=>{if(!t)return;let n=this.renderer.getDocument((t-1).toString());this.events.emit(e.EventNames.PdfPageTextRendered,n,t)},this.onScaleChanging=async({scale:t})=>{this.events.emit(e.EventNames.PdfScaleChanging,t,this.pdfViewer.currentScaleValue)},this.onScaleChanged=async e=>{await this.renderer.scalable.scaleTo(e.value),this.events.emit(`scalechanged`,e.value)},this.onUpdateViewArea=({location:t})=>{this.events.emit(e.EventNames.PdfUpdateViewArea,t)}}bind(){this.eventBus.on(`pagesloaded`,this.onPagesLoaded),this.eventBus.on(`resize`,this.onResize),this.eventBus.on(`pagerender`,this.onPageRender),this.eventBus.on(`pagerendered`,this.onPageRendered),this.eventBus.on(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.on(`pagechanging`,this.onPageChanging),this.eventBus.on(`scalechanging`,this.onScaleChanging),this.eventBus.on(`scalechanged`,this.onScaleChanged),this.eventBus.on(`updateviewarea`,this.onUpdateViewArea)}unbind(){this.eventBus.off(`pagesloaded`,this.onPagesLoaded),this.eventBus.off(`resize`,this.onResize),this.eventBus.off(`pagerender`,this.onPageRender),this.eventBus.off(`pagerendered`,this.onPageRendered),this.eventBus.off(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.off(`pagechanging`,this.onPageChanging),this.eventBus.off(`scalechanging`,this.onScaleChanging),this.eventBus.off(`scalechanged`,this.onScaleChanged),this.eventBus.off(`updateviewarea`,this.onUpdateViewArea)}};exports.PdfViewerEvents=
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("../../../../kernal/navigator/IPagingNavigator.cjs");var n=[`wheel`,`keydown`,`mousedown`,`touchstart`],r=class{constructor(n,r,i,a){this.events=n,this.eventBus=r,this.renderer=i,this.pdfViewer=a,this.userProgressListenerOpts={passive:!0,capture:!0},this.onUserProgressInput=e=>{let t=`mouse`;e.type===`keydown`?t=`keyboard`:e.type===`wheel`?t=`wheel`:e.type===`touchstart`&&(t=`touch`),this.renderer.owner.context.setUserChangedProgress(!0,t)},this.onPagesLoaded=async()=>{this.events.emit(e.EventNames.PdfPagesLoaded,this.pdfViewer)},this.onResize=async()=>{let t=this.pdfViewer.currentScaleValue;(t===`auto`||t===`page-fit`||t===`page-width`)&&await this.renderer.scalable.scaleTo(t),this.pdfViewer.update(),this.events.emit(e.EventNames.RendererContainerSizeChange,this.renderer.getRendererContainer(),this.renderer.owner.context.userChangedProgress)},this.onPageRender=async({source:t})=>{let n=t;this.events.emit(e.EventNames.PdfPageRender,n)},this.onPageChanging=async({pageNumber:n,previous:r})=>{let i=n>r?`next`:`previous`,a=this.renderer.getDocument((n-1).toString()),o=new t.PageChangeOptions;o.doc=a,o.pageNumber=n,o.direction=i,this.events.emit(e.EventNames.PageChange,o),this.renderer.progressTracker.updateFromPageChange()},this.onPageRendered=async({source:t,pageNumber:n})=>{this.events.emit(e.EventNames.PdfPageRendered,{pdfViewer:this.pdfViewer,pageView:t,pageNumber:n});let r=this.renderer.getDocument((n-1).toString());r&&this.events.emit(e.EventNames.DocumentLoad,r)},this.onTextLayerRendered=({pageNumber:t})=>{if(!t)return;let n=this.renderer.getDocument((t-1).toString());this.events.emit(e.EventNames.PdfPageTextRendered,n,t)},this.onScaleChanging=async({scale:t})=>{this.events.emit(e.EventNames.PdfScaleChanging,t,this.pdfViewer.currentScaleValue)},this.onScaleChanged=async e=>{await this.renderer.scalable.scaleTo(e.value),this.events.emit(`scalechanged`,e.value)},this.onUpdateViewArea=({location:t})=>{this.events.emit(e.EventNames.PdfUpdateViewArea,t)}}bind(){this.eventBus.on(`pagesloaded`,this.onPagesLoaded),this.eventBus.on(`resize`,this.onResize),this.eventBus.on(`pagerender`,this.onPageRender),this.eventBus.on(`pagerendered`,this.onPageRendered),this.eventBus.on(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.on(`pagechanging`,this.onPageChanging),this.eventBus.on(`scalechanging`,this.onScaleChanging),this.eventBus.on(`scalechanged`,this.onScaleChanged),this.eventBus.on(`updateviewarea`,this.onUpdateViewArea),this.bindUserProgressInput()}unbind(){this.eventBus.off(`pagesloaded`,this.onPagesLoaded),this.eventBus.off(`resize`,this.onResize),this.eventBus.off(`pagerender`,this.onPageRender),this.eventBus.off(`pagerendered`,this.onPageRendered),this.eventBus.off(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.off(`pagechanging`,this.onPageChanging),this.eventBus.off(`scalechanging`,this.onScaleChanging),this.eventBus.off(`scalechanged`,this.onScaleChanged),this.eventBus.off(`updateviewarea`,this.onUpdateViewArea),this.unbindUserProgressInput()}bindUserProgressInput(){let e=this.renderer.getRendererContainer();if(e)for(let t of n)e.addEventListener(t,this.onUserProgressInput,this.userProgressListenerOpts)}unbindUserProgressInput(){let e=this.renderer.getRendererContainer();if(e)for(let t of n)e.removeEventListener(t,this.onUserProgressInput,this.userProgressListenerOpts)}};exports.PdfViewerEvents=r;
|
|
@@ -8,9 +8,13 @@ export declare class PdfViewerEvents {
|
|
|
8
8
|
private readonly eventBus;
|
|
9
9
|
private readonly renderer;
|
|
10
10
|
private readonly pdfViewer;
|
|
11
|
+
private readonly userProgressListenerOpts;
|
|
11
12
|
constructor(events: IEventEmitter, eventBus: pdfjsViewer.EventBus, renderer: IPdfRenderer, pdfViewer: MultiPDFViewer);
|
|
12
13
|
bind(): void;
|
|
13
14
|
unbind(): void;
|
|
15
|
+
private bindUserProgressInput;
|
|
16
|
+
private unbindUserProgressInput;
|
|
17
|
+
private onUserProgressInput;
|
|
14
18
|
private onPagesLoaded;
|
|
15
19
|
private onResize;
|
|
16
20
|
private onPageRender;
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { EventNames as e } from "../../../../kernal/EventNames.mjs";
|
|
2
2
|
import { PageChangeOptions as t } from "../../../../kernal/navigator/IPagingNavigator.mjs";
|
|
3
3
|
//#region mediaTypes/pdf/renderer/input/PdfViewerEvents.ts
|
|
4
|
-
var n =
|
|
4
|
+
var n = [
|
|
5
|
+
"wheel",
|
|
6
|
+
"keydown",
|
|
7
|
+
"mousedown",
|
|
8
|
+
"touchstart"
|
|
9
|
+
], r = class {
|
|
5
10
|
constructor(n, r, i, a) {
|
|
6
|
-
this.events = n, this.eventBus = r, this.renderer = i, this.pdfViewer = a, this.
|
|
11
|
+
this.events = n, this.eventBus = r, this.renderer = i, this.pdfViewer = a, this.userProgressListenerOpts = {
|
|
12
|
+
passive: !0,
|
|
13
|
+
capture: !0
|
|
14
|
+
}, this.onUserProgressInput = (e) => {
|
|
15
|
+
let t = "mouse";
|
|
16
|
+
e.type === "keydown" ? t = "keyboard" : e.type === "wheel" ? t = "wheel" : e.type === "touchstart" && (t = "touch"), this.renderer.owner.context.setUserChangedProgress(!0, t);
|
|
17
|
+
}, this.onPagesLoaded = async () => {
|
|
7
18
|
this.events.emit(e.PdfPagesLoaded, this.pdfViewer);
|
|
8
19
|
}, this.onResize = async () => {
|
|
9
20
|
let t = this.pdfViewer.currentScaleValue;
|
|
@@ -35,11 +46,19 @@ var n = class {
|
|
|
35
46
|
};
|
|
36
47
|
}
|
|
37
48
|
bind() {
|
|
38
|
-
this.eventBus.on("pagesloaded", this.onPagesLoaded), this.eventBus.on("resize", this.onResize), this.eventBus.on("pagerender", this.onPageRender), this.eventBus.on("pagerendered", this.onPageRendered), this.eventBus.on("textlayerrendered", this.onTextLayerRendered), this.eventBus.on("pagechanging", this.onPageChanging), this.eventBus.on("scalechanging", this.onScaleChanging), this.eventBus.on("scalechanged", this.onScaleChanged), this.eventBus.on("updateviewarea", this.onUpdateViewArea);
|
|
49
|
+
this.eventBus.on("pagesloaded", this.onPagesLoaded), this.eventBus.on("resize", this.onResize), this.eventBus.on("pagerender", this.onPageRender), this.eventBus.on("pagerendered", this.onPageRendered), this.eventBus.on("textlayerrendered", this.onTextLayerRendered), this.eventBus.on("pagechanging", this.onPageChanging), this.eventBus.on("scalechanging", this.onScaleChanging), this.eventBus.on("scalechanged", this.onScaleChanged), this.eventBus.on("updateviewarea", this.onUpdateViewArea), this.bindUserProgressInput();
|
|
39
50
|
}
|
|
40
51
|
unbind() {
|
|
41
|
-
this.eventBus.off("pagesloaded", this.onPagesLoaded), this.eventBus.off("resize", this.onResize), this.eventBus.off("pagerender", this.onPageRender), this.eventBus.off("pagerendered", this.onPageRendered), this.eventBus.off("textlayerrendered", this.onTextLayerRendered), this.eventBus.off("pagechanging", this.onPageChanging), this.eventBus.off("scalechanging", this.onScaleChanging), this.eventBus.off("scalechanged", this.onScaleChanged), this.eventBus.off("updateviewarea", this.onUpdateViewArea);
|
|
52
|
+
this.eventBus.off("pagesloaded", this.onPagesLoaded), this.eventBus.off("resize", this.onResize), this.eventBus.off("pagerender", this.onPageRender), this.eventBus.off("pagerendered", this.onPageRendered), this.eventBus.off("textlayerrendered", this.onTextLayerRendered), this.eventBus.off("pagechanging", this.onPageChanging), this.eventBus.off("scalechanging", this.onScaleChanging), this.eventBus.off("scalechanged", this.onScaleChanged), this.eventBus.off("updateviewarea", this.onUpdateViewArea), this.unbindUserProgressInput();
|
|
53
|
+
}
|
|
54
|
+
bindUserProgressInput() {
|
|
55
|
+
let e = this.renderer.getRendererContainer();
|
|
56
|
+
if (e) for (let t of n) e.addEventListener(t, this.onUserProgressInput, this.userProgressListenerOpts);
|
|
57
|
+
}
|
|
58
|
+
unbindUserProgressInput() {
|
|
59
|
+
let e = this.renderer.getRendererContainer();
|
|
60
|
+
if (e) for (let t of n) e.removeEventListener(t, this.onUserProgressInput, this.userProgressListenerOpts);
|
|
42
61
|
}
|
|
43
62
|
};
|
|
44
63
|
//#endregion
|
|
45
|
-
export {
|
|
64
|
+
export { r as PdfViewerEvents };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/common/uuid.cjs"),t=require("../../../../kernal/html/injector.cjs"),n=require("../../../../kernal/Theme.cjs"),r=require("../../../../kernal/IRendererViewport.cjs"),i=require("../PdfCssVariableNames.cjs");var a=class{constructor(e,t,n,r,i){this.rootContainer=e,this.readerContainer=t,this.options=n,this.getCurrentPageNumber=r,this.removePageBorders=i,this.rendererClassName=`renderer`;let{rendererContainer:a,viewerContainer:o}=this.createRendererContainer();this.rendererContainer=a,this.viewerContainer=o}getViewerContainer(){return this.viewerContainer}getRendererContainer(){return this.rendererContainer}getScrollElement(){return this.rendererContainer}getLayoutMetrics(){return this.layout||=(this.applyCssVariables(),this.buildLayoutMetrics()),this.layout}applyCssVariables(){let e=new Map;e.set(i.PdfCssVariableNames.ScrollElementOverflow,`auto`);let t=this.rendererContainer.ownerDocument.defaultView,n=()=>{e.forEach((e,t)=>{this.rootContainer.style.setProperty(t,e)})},r=this.getCurrentPageNumber();if(!r||!t){n(),this.layout=this.buildLayoutMetrics();return}let a=this.rendererContainer,o=this.viewerContainer;a.offsetLeft;let s=o.querySelector(`div.page[data-page-number="`+r+`"]`);if(s){let t;if(s.parentElement?.classList.contains(`spread`)){let e=s.parentElement;if(e.children.length<2){let t=Array.from(o.querySelectorAll(`div[class="spread"]`)),n=t.findIndex(t=>t==e);n>=1?e=t[n-1]:n<t.length-1&&(e=t[n+1])}let n=e.children[0].clientWidth,r=e.children[0].offsetLeft;if(e.children[1]){let i=e.children[1].clientWidth,a=e.children[1].offsetLeft-r-n;t=n+i+a}else t=n}else t=s.clientWidth;let n=t+`px`,r=a.offsetWidth-a.clientWidth,c=a.offsetHeight-a.clientHeight;e.set(i.PdfCssVariableNames.ContentsContainerWidth,n),e.set(i.PdfCssVariableNames.ScrollElementVerticalScrollBarWidth,r+`px`),e.set(i.PdfCssVariableNames.ScrollElementHorizontalScrollBarHeight,c+`px`),e.set(i.PdfCssVariableNames.ContentContainerWidth,n)}n(),this.layout=this.buildLayoutMetrics()}createRendererContainer(){let r=`.${this.rendererClassName}{`;r+=`position:absolute;inset:0;overflow:auto;outline:none;`,r+=`}`;let i=t.createElement(this.readerContainer.ownerDocument,`div`,e.getRandomId(!0),this.rendererClassName);i.classList.add(n.Theme.customScrollerClassName),i.setAttribute(`data-role`,`renderer-container`);let a=t.createElement(this.readerContainer.ownerDocument,`div`,e.getRandomId(!0),{class:`pdfViewer`});return a.setAttribute(`data-role`,`viewer-container`),i.appendChild(a),t.injectCssContent(this.readerContainer.ownerDocument,r,!0,`pdf-renderer-style`),this.readerContainer.appendChild(i),{rendererContainer:i,viewerContainer:a}}buildLayoutMetrics(){let e=new r.LayoutMetrics;return e.clientWidth=this.rendererContainer.clientWidth,e.clientHeight=this.rendererContainer.clientHeight,e}};exports.PdfRendererViewport=a;
|