@foxycape/core 1.1.6 → 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/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/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/package.json +11 -5
- 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
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region mediaTypes/pdf/highlighter/pdfHighlightStyles.ts
|
|
2
|
+
var e = [
|
|
3
|
+
"bottom",
|
|
4
|
+
"left",
|
|
5
|
+
"top",
|
|
6
|
+
"right"
|
|
7
|
+
], t = (e, t) => e > t ? "bottom" : "right", n = (t, n) => {
|
|
8
|
+
let r = (Math.round(n / 90) % 4 + 4) % 4;
|
|
9
|
+
return e[(e.indexOf(t) + r) % 4] ?? t;
|
|
10
|
+
}, r = (e) => e === "left" ? "vertical-rl" : e === "right" ? "vertical-lr" : e === "top" ? "horizontal-bt" : "horizontal-tb", i = (e, i, a) => r(n(t(e, i), a)), a = (e, t = "horizontal-tb") => t === "horizontal-tb" ? e : `${e}-${t}`, o = (e) => typeof btoa == "function" ? btoa(e) : "", s = (e) => o(`<svg xmlns="http://www.w3.org/2000/svg" width="9" height="4" viewBox="0 0 9 4"><path d="M0 2 Q 2.25 0 4.5 2 T 9 2" fill="none" stroke="${e}" stroke-width="1.2"/></svg>`), c = (e, t) => o(`<svg xmlns="http://www.w3.org/2000/svg" width="4" height="9" viewBox="0 0 4 9"><path d="${t === "vertical-lr" ? "M2 0 Q 4 2.25 2 4.5 T 2 9" : "M2 0 Q 0 2.25 2 4.5 T 2 9"}" fill="none" stroke="${e}" stroke-width="1.2"/></svg>`), l = (e, t = "horizontal-tb") => t === "vertical-lr" ? `url("data:image/svg+xml;base64,${c(e, "vertical-lr")}")` : t === "vertical-rl" ? `url("data:image/svg+xml;base64,${c(e, "vertical-rl")}")` : `url("data:image/svg+xml;base64,${s(e)}")`, u = (e) => o(`<svg xmlns="http://www.w3.org/2000/svg" width="9" height="3" viewBox="0 0 9 3"><path d="M0 1.5 H9" fill="none" stroke="${e}" stroke-width="1.5"/></svg>`), d = (e) => o(`<svg xmlns="http://www.w3.org/2000/svg" width="3" height="9" viewBox="0 0 3 9"><path d="M1.5 0 V9" fill="none" stroke="${e}" stroke-width="1.5"/></svg>`), f = (e, t = "horizontal-tb") => t === "vertical-lr" || t === "vertical-rl" ? `url("data:image/svg+xml;base64,${d(e)}")` : `url("data:image/svg+xml;base64,${u(e)}")`, p = (e, t) => {
|
|
11
|
+
let n = e.replace("#", "").trim();
|
|
12
|
+
if (n.length !== 6) return e;
|
|
13
|
+
let r = Number.parseInt(n.slice(0, 2), 16), i = Number.parseInt(n.slice(2, 4), 16), a = Number.parseInt(n.slice(4, 6), 16);
|
|
14
|
+
return [
|
|
15
|
+
r,
|
|
16
|
+
i,
|
|
17
|
+
a
|
|
18
|
+
].some((e) => Number.isNaN(e)) ? e : `rgba(${r},${i},${a},${t})`;
|
|
19
|
+
}, m = (e, t) => {
|
|
20
|
+
if (!t) return "";
|
|
21
|
+
if (e === "mark_pen" || e.startsWith("mark_pen")) return `background-color:${p(t, .27)};`;
|
|
22
|
+
if (e === "wavy_line" || e.startsWith("wavy_line")) {
|
|
23
|
+
let n = p(t, .85), r = "horizontal-tb";
|
|
24
|
+
return e.endsWith("vertical-lr") ? r = "vertical-lr" : e.endsWith("vertical-rl") ? r = "vertical-rl" : e.endsWith("horizontal-bt") && (r = "horizontal-bt"), `background-image:${l(n, r)};`;
|
|
25
|
+
}
|
|
26
|
+
if (e === "underline_straight" || e.startsWith("underline_straight")) {
|
|
27
|
+
let n = p(t, .6), r = "horizontal-tb";
|
|
28
|
+
return e.endsWith("vertical-lr") ? r = "vertical-lr" : e.endsWith("vertical-rl") ? r = "vertical-rl" : e.endsWith("horizontal-bt") && (r = "horizontal-bt"), `background-image:${f(n, r)};`;
|
|
29
|
+
}
|
|
30
|
+
return "";
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { m as getCustomColorStyleText, a as resolveMarkStyleType, i as resolveWritingMode, f as straightBackground, l as wavyBackground, p as withAlpha };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../kernal/common/url.cjs")
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../kernal/common/url.cjs");let n=require("../../pdfjs/legacy/build/pdf.mjs");n=e.__toESM(n,1);let r=require("../../pdfjs/legacy/build/pdf.worker.min.js?url");r=e.__toESM(r,1);async function i(e,i){(await Promise.resolve().then(()=>require("./ensurePdfWebWorker.cjs")).then(e=>e.ensurePdfWebWorker))(r.default);let a=i?.cMapUrl;a||(a=new URL(`../../pdfjs/cmaps/`,``+{}.url).href,a.indexOf(`/core/pdfjs/cmaps`)<0&&(a=i?.internalUrlBuilder?await i.internalUrlBuilder.getAbsoluteUrl(`pdfjs/cmaps/`,!0):t.getCurrentBaseUrl()+`/pdfjs/cmaps/`)),a&&!a.endsWith(`/`)&&(a+=`/`);let o=i?.standardFontDataUrl;o||(o=new URL(`../../pdfjs/standard_fonts/`,``+{}.url).href,o.indexOf(`/core/pdfjs/standard_fonts`)<0&&(o=i?.internalUrlBuilder?await i.internalUrlBuilder.getAbsoluteUrl(`pdfjs/standard_fonts/`,!0):t.getCurrentBaseUrl()+`/pdfjs/standard_fonts/`)),o&&!o.endsWith(`/`)&&(o+=`/`);let s={cMapUrl:a,standardFontDataUrl:o,cMapPacked:!0,useWorkerFetch:!0,useSystemFonts:!0,password:i?.password};typeof e==`string`?s.url=e:s.data=e instanceof Blob?await e.arrayBuffer():e,i?.documentInitParametersCallback&&i.documentInitParametersCallback(s);let c=n.getDocument(s);return!c._worker&&s.worker&&(c._worker=s.worker),i?.showPasswordPrompt&&(c.onPassword=i?.passwordPrompt),await c.promise}exports.loadPdfDocument=i;
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
import { getCurrentBaseUrl as e } from "../../kernal/common/url.mjs";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import r from "../../pdfjs/legacy/build/pdf.worker.min.js?url";
|
|
2
|
+
import * as t from "../../pdfjs/legacy/build/pdf.mjs";
|
|
3
|
+
import n from "../../pdfjs/legacy/build/pdf.worker.min.js?url";
|
|
5
4
|
//#region mediaTypes/pdf/loadPdfDocument.ts
|
|
6
|
-
async function
|
|
7
|
-
|
|
8
|
-
let
|
|
9
|
-
|
|
5
|
+
async function r(r, i) {
|
|
6
|
+
(await import("./ensurePdfWebWorker.mjs").then((e) => e.ensurePdfWebWorker))(n);
|
|
7
|
+
let a = i?.cMapUrl;
|
|
8
|
+
a ||
|
|
10
9
|
/* @vite-ignore */
|
|
11
|
-
(
|
|
12
|
-
let
|
|
13
|
-
|
|
10
|
+
(a = new URL("../../pdfjs/cmaps/", "" + import.meta.url).href, a.indexOf("/core/pdfjs/cmaps") < 0 && (a = i?.internalUrlBuilder ? await i.internalUrlBuilder.getAbsoluteUrl("pdfjs/cmaps/", !0) : e() + "/pdfjs/cmaps/")), a && !a.endsWith("/") && (a += "/");
|
|
11
|
+
let o = i?.standardFontDataUrl;
|
|
12
|
+
o ||
|
|
14
13
|
/* @vite-ignore */
|
|
15
|
-
(
|
|
16
|
-
let
|
|
17
|
-
cMapUrl:
|
|
18
|
-
standardFontDataUrl:
|
|
14
|
+
(o = new URL("../../pdfjs/standard_fonts/", "" + import.meta.url).href, o.indexOf("/core/pdfjs/standard_fonts") < 0 && (o = i?.internalUrlBuilder ? await i.internalUrlBuilder.getAbsoluteUrl("pdfjs/standard_fonts/", !0) : e() + "/pdfjs/standard_fonts/")), o && !o.endsWith("/") && (o += "/");
|
|
15
|
+
let s = {
|
|
16
|
+
cMapUrl: a,
|
|
17
|
+
standardFontDataUrl: o,
|
|
19
18
|
cMapPacked: !0,
|
|
20
19
|
useWorkerFetch: !0,
|
|
21
20
|
useSystemFonts: !0,
|
|
22
|
-
password:
|
|
21
|
+
password: i?.password
|
|
23
22
|
};
|
|
24
|
-
typeof
|
|
25
|
-
let
|
|
26
|
-
return !
|
|
23
|
+
typeof r == "string" ? s.url = r : s.data = r instanceof Blob ? await r.arrayBuffer() : r, i?.documentInitParametersCallback && i.documentInitParametersCallback(s);
|
|
24
|
+
let c = t.getDocument(s);
|
|
25
|
+
return !c._worker && s.worker && (c._worker = s.worker), i?.showPasswordPrompt && (c.onPassword = i?.passwordPrompt), await c.promise;
|
|
27
26
|
}
|
|
28
27
|
//#endregion
|
|
29
|
-
export {
|
|
28
|
+
export { r as loadPdfDocument };
|
|
@@ -4,6 +4,7 @@ import { IPdfRendererLayout } from './layout/IPdfRendererLayout';
|
|
|
4
4
|
import { IPdfScalable } from './zoom/IPdfScalable';
|
|
5
5
|
import { IPdfFileParser } from '../fileParser/IPdfFileParser';
|
|
6
6
|
import { IPdfProgressTracker } from './progress/IPdfProgressTracker';
|
|
7
|
+
import { PdfOptions } from '../PdfOptions';
|
|
7
8
|
|
|
8
9
|
import type * as pdfjsLib from "../../../pdfjs/legacy/build/pdf.mjs";
|
|
9
10
|
import type * as pdfjsViewer from "../../../pdfjs/legacy/web/pdf_viewer.mjs";
|
|
@@ -27,4 +28,5 @@ export interface IPdfRenderer<T extends IPdfDocument = IPdfDocument, W extends I
|
|
|
27
28
|
getEventBus(): pdfjsViewer.EventBus;
|
|
28
29
|
getFindController(): pdfjsViewer.PDFFindController;
|
|
29
30
|
getPdfPage(pageNumber: number): Promise<pdfjsLib.PDFPageProxy | undefined>;
|
|
31
|
+
readonly pdfOptions: PdfOptions;
|
|
30
32
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { asyncDebounce as e } from "../../../kernal/
|
|
1
|
+
import { asyncDebounce as e } from "../../../kernal/web/debounce.mjs";
|
|
2
2
|
import { getPageText as t } from "../shared/text/pageText.mjs";
|
|
3
3
|
import * as n from "../../../pdfjs/legacy/build/pdf.mjs";
|
|
4
4
|
import * as r from "../../../pdfjs/legacy/web/pdf_viewer.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/progress/Progress.cjs");var t=class{constructor(e){this.documentsProvider=e}async goto(e){await this.documentsProvider.load(e)}async gotoUrl(t){let n=new e.FileLocation(t,1,`ratio`);n.storeCurrent=!0,await this.goto(n)}async gotoPercentage(t,n){let r=new e.FileLocation(void 0,1,`ratio`);r.current=t,r.storeCurrent=!0,r.symbolType=n?.percentageSymbolType??`custom`,r.from
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/progress/Progress.cjs");var t=class{constructor(e){this.documentsProvider=e}async goto(e){await this.documentsProvider.load(e)}async gotoUrl(t){let n=new e.FileLocation(t,1,`ratio`);n.storeCurrent=!0,n.from=`toc`,await this.goto(n)}async gotoPercentage(t,n){let r=new e.FileLocation(void 0,1,`ratio`);r.current=t,r.storeCurrent=!0,r.symbolType=n?.percentageSymbolType??`custom`,r.from=n?.from??`drag`,await this.goto(r)}};exports.PdfCoreNavigator=t;
|
|
@@ -9,11 +9,11 @@ var t = class {
|
|
|
9
9
|
}
|
|
10
10
|
async gotoUrl(t) {
|
|
11
11
|
let n = new e(t, 1, "ratio");
|
|
12
|
-
n.storeCurrent = !0, await this.goto(n);
|
|
12
|
+
n.storeCurrent = !0, n.from = "toc", await this.goto(n);
|
|
13
13
|
}
|
|
14
14
|
async gotoPercentage(t, n) {
|
|
15
15
|
let r = new e(void 0, 1, "ratio");
|
|
16
|
-
r.current = t, r.storeCurrent = !0, r.symbolType = n?.percentageSymbolType ?? "custom", r.from = "drag", await this.goto(r);
|
|
16
|
+
r.current = t, r.storeCurrent = !0, r.symbolType = n?.percentageSymbolType ?? "custom", r.from = n?.from ?? "drag", await this.goto(r);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{static{this.ContentsContainerWidth=`--pdf-contents-container-width`}static{this.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{static{this.ContentsContainerWidth=`--pdf-contents-container-width`}static{this.ScrollElementOverflow=`--pdf-scroll-element-overflow`}static{this.ScrollElementVerticalScrollBarWidth=`--pdf-scroll-element-vertial-scrollbar-width`}static{this.ScrollElementHorizontalScrollBarHeight=`--pdf-scroll-element-horizontal-scrollbar-height`}static{this.ContentContainerWidth=`--pdf-content-container-width`}static{this.ContentWrapperBorderRadius=`--pdf-content-wrapper-border-radius`}};exports.PdfCssVariableNames=e;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export declare class PdfCssVariableNames {
|
|
2
2
|
static readonly ContentsContainerWidth = "--pdf-contents-container-width";
|
|
3
|
-
static readonly ContentsContainerOffsetLeft = "--pdf-contents-container-offsetleft";
|
|
4
3
|
static readonly ScrollElementOverflow = "--pdf-scroll-element-overflow";
|
|
5
4
|
static readonly ScrollElementVerticalScrollBarWidth = "--pdf-scroll-element-vertial-scrollbar-width";
|
|
6
5
|
static readonly ScrollElementHorizontalScrollBarHeight = "--pdf-scroll-element-horizontal-scrollbar-height";
|
|
@@ -3,9 +3,6 @@ var e = class {
|
|
|
3
3
|
static {
|
|
4
4
|
this.ContentsContainerWidth = "--pdf-contents-container-width";
|
|
5
5
|
}
|
|
6
|
-
static {
|
|
7
|
-
this.ContentsContainerOffsetLeft = "--pdf-contents-container-offsetleft";
|
|
8
|
-
}
|
|
9
6
|
static {
|
|
10
7
|
this.ScrollElementOverflow = "--pdf-scroll-element-overflow";
|
|
11
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/common/uuid.cjs"),t=require("../../../kernal/IFileParser.cjs"),n=require("../../../kernal/html/geometry.cjs"),r=require("../../base/renderer/BaseDocument.cjs");var i=`custom-text-layer`,a=class extends r.BaseDocument{constructor(e,n,r,i,a,o){super(e,r,i,new t.SpineFile(null,a||`${o}.pdf`,`.pdf`)),this.pdfViewer=n,this.texts=new Map,this.currentPageNumber=o,this.loadStatus=`success`}get pageNumber(){return this.currentPageNumber}getPageGeometry(){let e=this.resolvePageView();if(!(!e?.viewport||!e.div))return{rawWidth:e.viewport.viewBox[2],rawHeight:e.viewport.viewBox[3],rotation:Math.abs(e.viewport.rotation)%360,displayWidth:e.width,displayHeight:e.height,pageRect:e.div.getBoundingClientRect(),ref:e.pdfPage.ref}}getVisibleElements(e){if(this.loadStatus!=`success`)return[];let t=this.getContentContainer();if(!t)return[];let r=this.collectTextLayerElements(t);if(r.length===0)return[];let i=this.owner.getRenderer()?.getScrollElement()??this.owner.getReaderContainer();if(!i)return[];let a=i.getBoundingClientRect(),o=
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/common/uuid.cjs"),t=require("../../../kernal/IFileParser.cjs"),n=require("../../../kernal/html/geometry.cjs"),r=require("../../base/renderer/BaseDocument.cjs");var i=`custom-text-layer`,a=class extends r.BaseDocument{constructor(e,n,r,i,a,o){super(e,r,i,new t.SpineFile(null,a||`${o}.pdf`,`.pdf`)),this.pdfViewer=n,this.texts=new Map,this.currentPageNumber=o,this.loadStatus=`success`}get pageNumber(){return this.currentPageNumber}getPageGeometry(){let e=this.resolvePageView();if(!(!e?.viewport||!e.div))return{rawWidth:e.viewport.viewBox[2],rawHeight:e.viewport.viewBox[3],rotation:Math.abs(e.viewport.rotation)%360,displayWidth:e.width,displayHeight:e.height,pageRect:e.div.getBoundingClientRect(),ref:e.pdfPage.ref}}getVisibleElements(e){if(this.loadStatus!=`success`)return[];let t=this.getContentContainer();if(!t)return[];let r=this.collectTextLayerElements(t);if(r.length===0)return[];let i=this.owner.getRenderer()?.getScrollElement()??this.owner.getReaderContainer();if(!i)return[];let a=i.getBoundingClientRect(),o={left:a.left,top:a.top,right:a.right,bottom:a.bottom};return o.right<=o.left||o.bottom<=o.top?[]:n.getOrderedElementsIntersectingRect(r,o,{fullVisible:e})}collectTextLayerElements(e){let t=e.querySelectorAll(`svg.${i} text`);return t.length>0?Array.from(t):Array.from(e.querySelectorAll(`.textLayer span`))}resolvePageView(){return this.pdfViewer._pages.find(e=>e.id==this.pageNumber)}async load(){this.loadStatus=`success`}async getText(t){let n=e.computeUniqueId(JSON.stringify(t??{}));if(this.texts.has(n))return this.texts.get(n);let r=await this.pdfViewer.getPageText(this.pageNumber,t);return this.texts.set(n,r),r}async dispose(){this.texts.clear(),await super.dispose()}};exports.PdfDocument=a;
|
|
@@ -30,13 +30,13 @@ var i = "custom-text-layer", a = class extends r {
|
|
|
30
30
|
if (r.length === 0) return [];
|
|
31
31
|
let i = this.owner.getRenderer()?.getScrollElement() ?? this.owner.getReaderContainer();
|
|
32
32
|
if (!i) return [];
|
|
33
|
-
let a = i.getBoundingClientRect(), o =
|
|
33
|
+
let a = i.getBoundingClientRect(), o = {
|
|
34
34
|
left: a.left,
|
|
35
|
-
top: a.top
|
|
35
|
+
top: a.top,
|
|
36
36
|
right: a.right,
|
|
37
37
|
bottom: a.bottom
|
|
38
38
|
};
|
|
39
|
-
return
|
|
39
|
+
return o.right <= o.left || o.bottom <= o.top ? [] : n(r, o, { fullVisible: e });
|
|
40
40
|
}
|
|
41
41
|
collectTextLayerElements(e) {
|
|
42
42
|
let t = e.querySelectorAll(`svg.${i} text`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{constructor(e,t,n){this.documentsProvider=e,this.pdfCoreNavigator=t,this.navPointProvider=n,this.owner=e.owner,this.locale=this.owner.locale}async getNavPointProgress(){let e=await this.navPointProvider.getFlattingNavPoints();if(e.length>1){let t=await this.navPointProvider.getCurrentNavPoint();if(!t)return null;let n=e.findIndex(e=>e.key==t.key);return{total:e.length,current:n,type:`navpoint`}}{let e=this.documentsProvider.getFirstVisibleDocument(),t=this.documentsProvider.getDocuments(),n=t.findIndex(t=>t.url==e.url);return{total:t.length,current:n,type:`file`}}}async gotoNavPoint(e){await this.pdfCoreNavigator.gotoUrl(e.url)}async gotoNextNavPointOrFile(e){let t=await this.navPointProvider.getFlattingNavPoints();if(t.length>1){let e=await this.navPointProvider.getCurrentNavPoint();if(!e)return;let n=t.findIndex(t=>t.key==e.key);if(n<0)return;let r=this.documentsProvider.getDocuments().length;if(n==t.length-1||e?.url==r.toString()){this.owner.notifier.info(this.locale.getText(`navigator_alreadyislastnavPoint`,`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{constructor(e,t,n){this.documentsProvider=e,this.pdfCoreNavigator=t,this.navPointProvider=n,this.owner=e.owner,this.locale=this.owner.locale}async getNavPointProgress(){let e=await this.navPointProvider.getFlattingNavPoints();if(e.length>1){let t=await this.navPointProvider.getCurrentNavPoint();if(!t)return null;let n=e.findIndex(e=>e.key==t.key);return{total:e.length,current:n,type:`navpoint`}}{let e=this.documentsProvider.getFirstVisibleDocument(),t=this.documentsProvider.getDocuments(),n=t.findIndex(t=>t.url==e.url);return{total:t.length,current:n,type:`file`}}}async gotoNavPoint(e){await this.pdfCoreNavigator.gotoUrl(e.url)}async gotoNextNavPointOrFile(e){let t=await this.navPointProvider.getFlattingNavPoints();if(t.length>1){let e=await this.navPointProvider.getCurrentNavPoint();if(!e)return;let n=t.findIndex(t=>t.key==e.key);if(n<0)return;let r=this.documentsProvider.getDocuments().length;if(n==t.length-1||e?.url==r.toString()){this.owner.notifier.info(this.locale.getText(`navigator_alreadyislastnavPoint`,`You have finished this chapter.`));return}let i=await this.getNextNavPoint(e,n,t);if(i)await this.gotoNavPoint(i);else{if(n<t.length-1){let e=t[t.length-1];if(e){await this.gotoNavPoint(e);return}}this.owner.notifier.info(this.locale.getText(`navigator_alreadyislastnavPoint`,`You have finished this chapter.`));return}}else{let e=this.documentsProvider.getLastVisibleDocument();if(!e)return;let t=this.documentsProvider.getDocuments(),n=t.indexOf(e);if(n==t.length-1){this.owner.notifier.info(this.locale.getText(`navigator_alreadyislastnavPoint`,`You have finished this chapter.`));return}await this.pdfCoreNavigator.gotoUrl(t[n+1].url)}}async getNextNavPoint(e,t,n){let r=n[t+1];if(r){let i=this.documentsProvider.getFirstVisibleDocument();if(i&&i.url==r.url||r.url==e.url)return await this.getNextNavPoint(r,t+1,n)}return r}async gotoPreviousNavPointOrFile(){let e=await this.navPointProvider.getFlattingNavPoints();if(e.length>0){let t=await this.navPointProvider.getCurrentNavPoint();if(!t)return;let n=e.findIndex(e=>e.key==t.key);if(n<0)return;if(n==0||t.url==`1`){this.owner.notifier.info(this.locale.getText(`navigator_alreadyisfirstnavPoint`,`Already at the first chapter`));return}let r=await this.getPrevousNavPoint(t,n,e);if(r)await this.gotoNavPoint(r);else{if(n>0){let t=e[0];if(t){await this.gotoNavPoint(t);return}}this.owner.notifier.info(this.locale.getText(`navigator_alreadyisfirstnavPoint`,`Already at the first chapter`));return}}else{let e=this.documentsProvider.getLastVisibleDocument();if(!e)return;let t=this.documentsProvider.getDocuments(),n=t.indexOf(e);if(n==0){this.owner.notifier.info(this.locale.getText(`navigator_alreadyisfirstnavPoint`,`Already at the first chapter`));return}await this.pdfCoreNavigator.gotoUrl(t[n-1].url)}}async getPrevousNavPoint(e,t,n){let r=n[t-1];if(r){let i=this.documentsProvider.getFirstVisibleDocument();if(i&&i.url==r.url||r.url==e.url)return await this.getPrevousNavPoint(r,t-1,n)}return r}};exports.PdfNavPointNavigator=e;
|
|
@@ -36,7 +36,7 @@ var e = class {
|
|
|
36
36
|
if (n < 0) return;
|
|
37
37
|
let r = this.documentsProvider.getDocuments().length;
|
|
38
38
|
if (n == t.length - 1 || e?.url == r.toString()) {
|
|
39
|
-
this.owner.notifier.info(this.locale.getText("navigator_alreadyislastnavPoint", "
|
|
39
|
+
this.owner.notifier.info(this.locale.getText("navigator_alreadyislastnavPoint", "You have finished this chapter."));
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
let i = await this.getNextNavPoint(e, n, t);
|
|
@@ -49,7 +49,7 @@ var e = class {
|
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
this.owner.notifier.info(this.locale.getText("navigator_alreadyislastnavPoint", "
|
|
52
|
+
this.owner.notifier.info(this.locale.getText("navigator_alreadyislastnavPoint", "You have finished this chapter."));
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
} else {
|
|
@@ -57,7 +57,7 @@ var e = class {
|
|
|
57
57
|
if (!e) return;
|
|
58
58
|
let t = this.documentsProvider.getDocuments(), n = t.indexOf(e);
|
|
59
59
|
if (n == t.length - 1) {
|
|
60
|
-
this.owner.notifier.info(this.locale.getText("navigator_alreadyislastnavPoint", "
|
|
60
|
+
this.owner.notifier.info(this.locale.getText("navigator_alreadyislastnavPoint", "You have finished this chapter."));
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
63
|
await this.pdfCoreNavigator.gotoUrl(t[n + 1].url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/progress/Progress.cjs");var
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/progress/Progress.cjs"),t=require("../../../kernal/progress/userChangedProgress.cjs");var n=class{constructor(e,t,n){this.locale=e,this.notifier=t,this.documentsProvider=n}async dispose(){}async gotoPage(n,r,i){let a=new e.FileLocation(r.toString(),this.documentsProvider.numberOfPages,`page`);return a.current=r,t.applyPagingLocationFrom(a,i),await this.documentsProvider.load(a),!0}async gotoNextPage(n){let r=this.documentsProvider.currentPage,i=this.documentsProvider.numberOfPages,a=this.documentsProvider.isSpreadMode;if(r>=i||a&&r>=i-1)return this.notifier.info(this.locale?.getText(`navigotor_alreadyislastpage`,`You have reached the end of the book.`)),!1;let o=a?r+2:r+1;o>=i&&(o=i);let s=new e.FileLocation(o.toString(),i,`page`);return s.current=o,t.applyPagingLocationFrom(s,n),await this.documentsProvider.load(s),!0}async gotoPreviousPage(n){let r=this.documentsProvider.currentPage,i=this.documentsProvider.isSpreadMode;if(r<=1||i&&r<2)return this.notifier.info(this.locale?.getText(`navigotor_alreadyisfirstpage`,`Already at the first page`)),!1;let a=i?r-2:r-1;a<=0&&(a=1);let o=new e.FileLocation(a.toString(),this.documentsProvider.numberOfPages,`page`);return o.current=a,t.applyPagingLocationFrom(o,n),await this.documentsProvider.load(o),!0}};exports.PdfPagingNavigator=n;
|
|
@@ -7,7 +7,7 @@ export declare class PdfPagingNavigator implements IPagingNavigator {
|
|
|
7
7
|
private readonly documentsProvider;
|
|
8
8
|
constructor(locale: ILocale, notifier: INotifier, documentsProvider: IPdfDocumentsProvider);
|
|
9
9
|
dispose(): Promise<void>;
|
|
10
|
-
gotoPage(_doc: IDocument, pageNumber: number,
|
|
11
|
-
gotoNextPage(
|
|
12
|
-
gotoPreviousPage(
|
|
10
|
+
gotoPage(_doc: IDocument, pageNumber: number, extra?: PagingExtra): Promise<boolean>;
|
|
11
|
+
gotoNextPage(extra?: PagingExtra): Promise<boolean>;
|
|
12
|
+
gotoPreviousPage(extra?: PagingExtra): Promise<boolean>;
|
|
13
13
|
}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { FileLocation as e } from "../../../kernal/progress/Progress.mjs";
|
|
2
|
+
import { applyPagingLocationFrom as t } from "../../../kernal/progress/userChangedProgress.mjs";
|
|
2
3
|
//#region mediaTypes/pdf/renderer/PdfPagingNavigator.ts
|
|
3
|
-
var
|
|
4
|
+
var n = class {
|
|
4
5
|
constructor(e, t, n) {
|
|
5
6
|
this.locale = e, this.notifier = t, this.documentsProvider = n;
|
|
6
7
|
}
|
|
7
8
|
async dispose() {}
|
|
8
|
-
async gotoPage(
|
|
9
|
-
let
|
|
10
|
-
return
|
|
9
|
+
async gotoPage(n, r, i) {
|
|
10
|
+
let a = new e(r.toString(), this.documentsProvider.numberOfPages, "page");
|
|
11
|
+
return a.current = r, t(a, i), await this.documentsProvider.load(a), !0;
|
|
11
12
|
}
|
|
12
|
-
async gotoNextPage(
|
|
13
|
-
let
|
|
14
|
-
if (
|
|
15
|
-
let
|
|
16
|
-
|
|
17
|
-
let
|
|
18
|
-
return
|
|
13
|
+
async gotoNextPage(n) {
|
|
14
|
+
let r = this.documentsProvider.currentPage, i = this.documentsProvider.numberOfPages, a = this.documentsProvider.isSpreadMode;
|
|
15
|
+
if (r >= i || a && r >= i - 1) return this.notifier.info(this.locale?.getText("navigotor_alreadyislastpage", "You have reached the end of the book.")), !1;
|
|
16
|
+
let o = a ? r + 2 : r + 1;
|
|
17
|
+
o >= i && (o = i);
|
|
18
|
+
let s = new e(o.toString(), i, "page");
|
|
19
|
+
return s.current = o, t(s, n), await this.documentsProvider.load(s), !0;
|
|
19
20
|
}
|
|
20
|
-
async gotoPreviousPage(
|
|
21
|
-
let
|
|
22
|
-
if (
|
|
23
|
-
let
|
|
24
|
-
|
|
25
|
-
let
|
|
26
|
-
return
|
|
21
|
+
async gotoPreviousPage(n) {
|
|
22
|
+
let r = this.documentsProvider.currentPage, i = this.documentsProvider.isSpreadMode;
|
|
23
|
+
if (r <= 1 || i && r < 2) return this.notifier.info(this.locale?.getText("navigotor_alreadyisfirstpage", "Already at the first page")), !1;
|
|
24
|
+
let a = i ? r - 2 : r - 1;
|
|
25
|
+
a <= 0 && (a = 1);
|
|
26
|
+
let o = new e(a.toString(), this.documentsProvider.numberOfPages, "page");
|
|
27
|
+
return o.current = a, t(o, n), await this.documentsProvider.load(o), !0;
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
//#endregion
|
|
30
|
-
export {
|
|
31
|
+
export { n as PdfPagingNavigator };
|
|
@@ -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/EventNames.cjs"),t=require("../../../kernal/common/uuid.cjs"),n=require("../../../kernal/Options.cjs"),r=require("../../../kernal/Theme.cjs"),i=require("../../../kernal/html/events.cjs"),a=require("./PdfNavPointProvider.cjs"),o=require("./PdfNavPointNavigator.cjs"),s=require("./PdfCoreNavigator.cjs"),c=require("./PdfPagingNavigator.cjs"),l=require("./layout/PdfRendererLayout.cjs"),u=require("./style/PdfThemeApplier.cjs"),d=require("./progress/PdfProgressTracker.cjs"),f=require("./location/PdfDestinationBuilder.cjs"),p=require("./input/PdfDocumentEvents.cjs"),m=require("./input/PdfViewerEvents.cjs"),h=require("./input/PdfZoomInputController.cjs"),g=require("./input/PdfKeyboardController.cjs"),_=require("./documents/PdfDocumentsProvider.cjs"),v=require("./zoom/PdfScalable.cjs");require("../../../pdfjs/legacy/build/pdf.mjs");let y=require("perfect-debounce");var b=class extends _.PdfDocumentsProvider{constructor(t,r,_,b){super(t,r,_,b),this.isRendererReady=!1,this.onScaleChanging=async(e,t)=>{await this.delayApplyCssVariables()},this.delayApplyCssVariables=(0,y.debounce)(async()=>{this.rendererViewport.applyCssVariables()},200),this.onOptionsChange=async e=>{n.isOptionKey(e)&&this.rendererViewport.applyCssVariables()},this.pdfOptions=b,this.layout=new l.PdfRendererLayout(this.pdfViewer,this.owner.events),this.scalable=new v.PdfScalable(this.pdfViewer,this.options),this.themeApplier=new u.PdfThemeApplier(this.readerContainer),this.destinationBuilder=new f.PdfDestinationBuilder(this),this.progressTracker=new d.PdfProgressTracker(this,this.pdfViewer,this.destinationBuilder),this.documentEventBridge=new p.PdfDocumentEvents(this.pdfViewer,this),this.viewerEvents=new m.PdfViewerEvents(this.owner.events,this.eventBus,this,this.pdfViewer);let x=this.getRendererContainer();this.zoomInputController=new h.PdfZoomInputController(this.pdfViewer,x),this.keyboardController=new g.PdfKeyboardController(this.pdfViewer,x),this.keyboardController.setFindRequestHandler(()=>{this.owner.events.emit(e.EventNames.RequestOpenFind)}),this.navPointProvider=new a.PdfNavPointProvider(this),this.navigator=new s.PdfCoreNavigator(this),this.navPointNavigator=new o.PdfNavPointNavigator(this,this.navigator,this.navPointProvider),this.pagingNavigator=new c.PdfPagingNavigator(this.owner.locale,this.owner.notifier,this),this.bindEvents(),i.watchScroll(this.getScrollElement(),this.owner.options.calcScrollDirection,async(t,n)=>{this.owner.events.emit(e.EventNames.ReaderDebounceScroll,t,n)},t=>{this.owner.onProgressChangeGuard&&this.owner.context?.progress?.current&&(this.owner.onProgressChangeGuard(this.owner.context.progress.current)||t.preventDefault()),this.owner.events.emit(e.EventNames.ReaderOriginalScroll,t)})}get id(){return this.currentInstanceId||=t.getRandomId(!0),this.currentInstanceId}async load(e,t){if(!this.isRendererReady){if(await this.ensureRendererReady(),this.options.textLayerMode===2){let{PdfSvgBuilder:e}=await Promise.resolve().then(()=>require("./PdfSvgBuilder.cjs"));this.svgBuilder=new e(this,this.options),await this.svgBuilder.initialize()}this.isRendererReady=!0}await super.load(e,t)}async ensureRendererReady(){let e=await this.owner.services.get(`themeProvider`),t;e?(t=e.getCurrentTheme(),this.themeApplier.applyTheme(t)):t=new r.Theme,this.themeApplier.applyTheme(t),this.rendererViewport.applyCssVariables()}bindEvents(){this.owner.events.on(e.EventNames.OptionsChange,this.onOptionsChange),this.owner.events.on(e.EventNames.PdfScaleChanging,this.onScaleChanging),this.documentEventBridge.bind(),this.viewerEvents.bind(),this.zoomInputController.bind(),this.keyboardController.bind()}unbindEvents(){this.owner.events.off(e.EventNames.OptionsChange,this.onOptionsChange),this.owner.events.off(e.EventNames.PdfScaleChanging,this.onScaleChanging),this.documentEventBridge.unbind(),this.viewerEvents.unbind(),this.zoomInputController.unbind(),this.keyboardController.unbind()}buildDest(e,t){return this.destinationBuilder.buildDest(e,t)}async getProgress(e){return this.progressTracker.getProgress(e)}async applyTheme(e){this.themeApplier.applyTheme(e)}async dispose(){this.unbindEvents(),this.currentInstanceId=null,await this.svgBuilder?.dispose(),await this.progressTracker.dispose(),await this.pagingNavigator.dispose(),await this.navPointProvider?.dispose(),await super.dispose()}};exports.PdfRenderer=b;
|
|
@@ -24,6 +24,7 @@ export declare class PdfRenderer extends PdfDocumentsProvider implements IPdfRen
|
|
|
24
24
|
private readonly keyboardController;
|
|
25
25
|
private svgBuilder?;
|
|
26
26
|
constructor(owner: Reader, fileParser: IFileParser, readerContainer: HTMLElement, options: PdfOptions);
|
|
27
|
+
readonly pdfOptions: PdfOptions;
|
|
27
28
|
get id(): string;
|
|
28
29
|
private isRendererReady;
|
|
29
30
|
load(location?: Parameters<PdfDocumentsProvider["load"]>[0], isReload?: boolean): Promise<void>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { asyncDebounce as i } from "../../../kernal/
|
|
1
|
+
import { EventNames as e } from "../../../kernal/EventNames.mjs";
|
|
2
|
+
import { getRandomId as t } from "../../../kernal/common/uuid.mjs";
|
|
3
|
+
import { isOptionKey as n } from "../../../kernal/Options.mjs";
|
|
4
|
+
import { Theme as r } from "../../../kernal/Theme.mjs";
|
|
5
|
+
import { asyncDebounce as i } from "../../../kernal/web/debounce.mjs";
|
|
6
6
|
import { watchScroll as a } from "../../../kernal/html/events.mjs";
|
|
7
7
|
import { PdfNavPointProvider as o } from "./PdfNavPointProvider.mjs";
|
|
8
8
|
import { PdfNavPointNavigator as s } from "./PdfNavPointNavigator.mjs";
|
|
@@ -21,25 +21,25 @@ import { PdfScalable as y } from "./zoom/PdfScalable.mjs";
|
|
|
21
21
|
import "../../../pdfjs/legacy/build/pdf.mjs";
|
|
22
22
|
//#region mediaTypes/pdf/renderer/PdfRenderer.ts
|
|
23
23
|
var b = class extends v {
|
|
24
|
-
constructor(t,
|
|
25
|
-
super(t,
|
|
24
|
+
constructor(t, r, v, b) {
|
|
25
|
+
super(t, r, v, b), this.isRendererReady = !1, this.onScaleChanging = async (e, t) => {
|
|
26
26
|
await this.delayApplyCssVariables();
|
|
27
27
|
}, this.delayApplyCssVariables = i(async () => {
|
|
28
28
|
this.rendererViewport.applyCssVariables();
|
|
29
|
-
}, 200), this.onOptionsChange = async (
|
|
30
|
-
e
|
|
31
|
-
}, this.layout = new u(this.pdfViewer, this.owner.events), this.scalable = new y(this.pdfViewer, this.options), this.themeApplier = new d(this.readerContainer), this.destinationBuilder = new p(this), this.progressTracker = new f(this, this.pdfViewer, this.destinationBuilder), this.documentEventBridge = new m(this.pdfViewer, this), this.viewerEvents = new h(this.owner.events, this.eventBus, this, this.pdfViewer);
|
|
29
|
+
}, 200), this.onOptionsChange = async (e) => {
|
|
30
|
+
n(e) && this.rendererViewport.applyCssVariables();
|
|
31
|
+
}, this.pdfOptions = b, this.layout = new u(this.pdfViewer, this.owner.events), this.scalable = new y(this.pdfViewer, this.options), this.themeApplier = new d(this.readerContainer), this.destinationBuilder = new p(this), this.progressTracker = new f(this, this.pdfViewer, this.destinationBuilder), this.documentEventBridge = new m(this.pdfViewer, this), this.viewerEvents = new h(this.owner.events, this.eventBus, this, this.pdfViewer);
|
|
32
32
|
let x = this.getRendererContainer();
|
|
33
33
|
this.zoomInputController = new g(this.pdfViewer, x), this.keyboardController = new _(this.pdfViewer, x), this.keyboardController.setFindRequestHandler(() => {
|
|
34
|
-
this.owner.events.emit(
|
|
35
|
-
}), this.navPointProvider = new o(this), this.navigator = new c(this), this.navPointNavigator = new s(this, this.navigator, this.navPointProvider), this.pagingNavigator = new l(this.owner.locale, this.owner.notifier, this), this.bindEvents(), a(this.getScrollElement(), this.owner.options.calcScrollDirection, async (
|
|
36
|
-
this.owner.events.emit(
|
|
37
|
-
}, (
|
|
38
|
-
this.owner.onProgressChangeGuard && this.owner.context?.progress?.current && (this.owner.onProgressChangeGuard(this.owner.context.progress.current) ||
|
|
34
|
+
this.owner.events.emit(e.RequestOpenFind);
|
|
35
|
+
}), this.navPointProvider = new o(this), this.navigator = new c(this), this.navPointNavigator = new s(this, this.navigator, this.navPointProvider), this.pagingNavigator = new l(this.owner.locale, this.owner.notifier, this), this.bindEvents(), a(this.getScrollElement(), this.owner.options.calcScrollDirection, async (t, n) => {
|
|
36
|
+
this.owner.events.emit(e.ReaderDebounceScroll, t, n);
|
|
37
|
+
}, (t) => {
|
|
38
|
+
this.owner.onProgressChangeGuard && this.owner.context?.progress?.current && (this.owner.onProgressChangeGuard(this.owner.context.progress.current) || t.preventDefault()), this.owner.events.emit(e.ReaderOriginalScroll, t);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
get id() {
|
|
42
|
-
return this.currentInstanceId ||=
|
|
42
|
+
return this.currentInstanceId ||= t(!0), this.currentInstanceId;
|
|
43
43
|
}
|
|
44
44
|
async load(e, t) {
|
|
45
45
|
if (!this.isRendererReady) {
|
|
@@ -52,14 +52,14 @@ var b = class extends v {
|
|
|
52
52
|
await super.load(e, t);
|
|
53
53
|
}
|
|
54
54
|
async ensureRendererReady() {
|
|
55
|
-
let e = await this.owner.services.get("themeProvider"),
|
|
56
|
-
e ? (
|
|
55
|
+
let e = await this.owner.services.get("themeProvider"), t;
|
|
56
|
+
e ? (t = e.getCurrentTheme(), this.themeApplier.applyTheme(t)) : t = new r(), this.themeApplier.applyTheme(t), this.rendererViewport.applyCssVariables();
|
|
57
57
|
}
|
|
58
58
|
bindEvents() {
|
|
59
|
-
this.owner.events.on(
|
|
59
|
+
this.owner.events.on(e.OptionsChange, this.onOptionsChange), this.owner.events.on(e.PdfScaleChanging, this.onScaleChanging), this.documentEventBridge.bind(), this.viewerEvents.bind(), this.zoomInputController.bind(), this.keyboardController.bind();
|
|
60
60
|
}
|
|
61
61
|
unbindEvents() {
|
|
62
|
-
this.owner.events.off(
|
|
62
|
+
this.owner.events.off(e.OptionsChange, this.onOptionsChange), this.owner.events.off(e.PdfScaleChanging, this.onScaleChanging), this.documentEventBridge.unbind(), this.viewerEvents.unbind(), this.zoomInputController.unbind(), this.keyboardController.unbind();
|
|
63
63
|
}
|
|
64
64
|
buildDest(e, t) {
|
|
65
65
|
return this.destinationBuilder.buildDest(e, t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../kernal/
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../kernal/EventNames.cjs"),n=require("../../../kernal/web/BrowserCapabilities.cjs"),r=require("../../../kernal/common/text.cjs"),i=require("../../../kernal/Theme.cjs"),a=require("../../../kernal/web/scheduler.cjs");let o=require("../../../pdfjs/legacy/build/pdf.mjs");o=e.__toESM(o,1);let s=require("perfect-debounce");var c=class e{static{this.svgClassName=`custom-text-layer`}constructor(c,l){this.SVG_NS=`http://www.w3.org/2000/svg`,this.pageTasks=[],this.builtPages=new Map,this.textContentCache=new Map,this.isScrolling=!1,this.scrollingTimer=null,this.disposed=!1,this.batchSize=64,this.measureContext=null,this.isFirefox=n.BrowserCapabilities.isFirefox(),this.isSafari=n.BrowserCapabilities.isSafari(),this.renderLoopPromise=null,this.onReaderOriginalScroll=()=>{this.isScrolling=!0,this.scrollingTimer&&clearTimeout(this.scrollingTimer),this.scrollingTimer=setTimeout(async()=>{this.isScrolling=!1,await this.delayRenderVisiblePageTexts()},500)},this.onPageChange=async()=>{await this.delayRenderVisiblePageTexts()},this.getVisiblePageIdSet=()=>{let e=this.renderer.getVisibleDocuments(),t=new Set;for(let n=0;n<e.length;n++)t.add(e[n].pageNumber);return t},this.renderVisiblePageTexts=async()=>{if(!this.disposed&&!this.isScrolling){let e=this.getVisiblePageIdSet();this.removeInvisibleBuiltPages(e),await this.appendSvgs([...e])}},this.delayRenderVisiblePageTexts=(0,s.debounce)(this.renderVisiblePageTexts,1),this.onPageRendered=async()=>{let e=this.getVisiblePageIdSet();this.removeInvisibleBuiltPages(e),await this.delayRenderVisiblePageTexts()},this.removeInvisibleBuiltPages=e=>{for(let t of[...this.builtPages.keys()])e.has(t)||this.removePageSvg(t);this.pruneInvisibleTasks(e)},this.removePageSvg=e=>{let t=this.builtPages.get(e);if(t?.parentElement)t.parentElement.removeChild(t);else{let t=this.getTextLayerContainer(e);t?.parentElement?.removeChild(t)}this.builtPages.delete(e)},this.pruneInvisibleTasks=e=>{let t=0;for(let n=0;n<this.pageTasks.length;n++)e.has(this.pageTasks[n].pageNumber)&&(this.pageTasks[t++]=this.pageTasks[n]);this.pageTasks.length=t},this.getMeasureContext=()=>{if(!this.measureContext){let e=document.createElement(`canvas`);this.measureContext=e.getContext(`2d`)}return this.measureContext},this.ensureTextContent=async e=>{let t=this.textContentCache.get(e);if(t)return t;let n=this.renderer.getPageView(e);if(!n?.pdfPage)return null;let r=await n.pdfPage.getTextContent({disableNormalization:!0});return this.textContentCache.set(e,r),r},this.appendSvg=async e=>{let n=this.renderer.getPageView(e);if(!n||this.options.textLayerMode!=2||!n.canvas?.parentElement)return;n.canvas.parentElement.style.background=`var(${i.Theme.ContentBackground})`;let r=this.getTextLayerContainer(n);if(r){let t=r.getAttribute(`data-state`);if(t==`loading`||t==`loaded`){this.builtPages.set(e,r);return}}if(!r){if(r=await this.buildSVG(n.viewport),!r)return;n.div.appendChild(r)}this.builtPages.set(e,r),await this.appendTexts(r,e);let a=this.renderer.getDocument((e-1).toString());this.renderer.owner.events.emit(t.EventNames.PdfPageTextRendered,a,e)},this.appendSvgs=async e=>{await Promise.all(e.map(e=>this.ensureTextContent(e)));for(let t of e)await this.appendSvg(t)},this.appendTexts=async(e,t)=>{let n=this.renderer.getPageView(t);if(!n?.pdfPage)return;let r=await this.ensureTextContent(t);if(!r)return;let i=r.items.length,a=Math.ceil(i/this.batchSize)||0,o=i%this.batchSize,s=this.getVisiblePageIdSet();this.pruneInvisibleTasks(s);let c=!1;for(let n of this.pageTasks)n.pageNumber==t&&(n.svg=e,c=!0);if(!c&&a>0)for(let i=0;i<a;i++){let s=this.batchSize;i==a-1&&o>0&&(s=o),this.pageTasks.push({svg:e,batchLength:a,current:i,pageNumber:t,textContent:r,viewportTransform:n.viewport.transform,start:i*this.batchSize,size:s})}await this.renderSvgTexts()},this.renderSvgTexts=async()=>{if(this.renderLoopPromise){await this.renderLoopPromise,this.pageTasks.length>0&&!this.renderLoopPromise&&await this.renderSvgTexts();return}this.renderLoopPromise=this.runRenderLoop();try{await this.renderLoopPromise}finally{this.renderLoopPromise=null}this.pageTasks.length>0&&!this.isScrolling&&!this.disposed&&await this.renderSvgTexts()},this.runRenderLoop=async()=>{for(;this.pageTasks.length>0;){if(this.disposed)return;if(this.isScrolling){let e=this.pageTasks[0];e.svg.getAttribute(`data-state`)!=`pause`&&e.svg.setAttribute(`data-state`,`pause`);return}let e=this.pageTasks.shift();if(e?.svg.parentElement){if(e.svg.getAttribute(`data-state`)!=`loading`&&e.svg.setAttribute(`data-state`,`loading`),await a.yieldToMain(),this.disposed||!this.renderer.owner.context)return;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`)}}},this.calcTextWidth=(e,t,n,i,a)=>{let o=r.getByteLength(t)-t.length;return e.font=t.length<=2&&o==0?a==`monospace`?`1px `+n+`,sans-serif`:`1px `+n+`,`+i:`1px `+i,e.measureText(t).width},this.applyOrientedTextScale=(e,t,n,r,i,a,s)=>{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;return c=o.Util.transform(c,[d,0,0,d,0,0]),s?o.Util.transform(c,s):c},this.extractFontSizeFromTransform=(e,t)=>{let n=Math.hypot(e[0],e[1]);return n>1e-6?{tx:[e[0]/n,e[1]/n,e[2]/n,e[3]/n,e[4],e[5]],fontSize:Math.max(t*n,1)}:{tx:e,fontSize:1}},this.appendPartialText=async(e,t,n,r,i,a)=>{let s=this.getMeasureContext();if(!s)return;let c=this.isFirefox,l=this.isSafari,u=document.createDocumentFragment(),d=this.renderer.getRendererContainer().ownerDocument,f=this.renderer.owner.context?.id??`pdf`,p=new Map,m=[1,0,0,-1,0,0],h=[0,-1,1,0,0,0],g=[0,1,-1,0,0,0],_=[-1,0,0,-1,0,0],v=[0,1,-1,0,0,0],y=[0,-1,1,0,0,0];for(let t=i;t<i+a;t++){let i=r.items[t];if(!i||typeof i.str!=`string`)continue;let a=i.str,b=r.styles[i.fontName];if(!b)continue;let x=o.Util.transform(o.Util.transform(n,i.transform),m),S=Math.atan2(i.transform[1],i.transform[0])*(180/Math.PI);b.vertical&&(S+=90);let C=S<0?S+360:S;C=Math.round(C);let w=p.get(b.fontFamily);if(w===void 0&&(w=b.fontFamily.replace(/^serif/,`Times`),p.set(b.fontFamily,w)),a.length>0){let e=i.textMetricsWidth;switch(e||(e=this.calcTextWidth(s,a,i.fontName,w,b.fontName),i.textMetricsWidth=e),C){case 90:x=this.applyOrientedTextScale(x,i.transform,e,i.width,12,h,g);break;case 180:x=this.applyOrientedTextScale(x,i.transform,e,i.width,12,_,_);break;case 270:x=this.applyOrientedTextScale(x,i.transform,e,i.width,12,v,y);break;default:x=this.applyOrientedTextScale(x,i.transform,e,i.width,12,null,null)}}let T=`p-`+f+`-`+e+`-t-`+t;if(c||l){let e=this.extractFontSizeFromTransform(x,12);x=e.tx;let n=e.fontSize,r=d.createElementNS(this.SVG_NS,`svg:g`);r.setAttribute(`transform`,`matrix(`+x.join(` `)+`)`),r.setAttribute(`style`,`font-family:`+w+`;`);let i=d.createElementNS(this.SVG_NS,`svg:text`);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)}else{let e=d.createElementNS(this.SVG_NS,`svg:text`);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)}}t.appendChild(u)},this.buildSVG=async t=>{if(t.width<=0||t.height<=0)return null;let n=this.renderer.getRendererContainer().ownerDocument.createElementNS(this.SVG_NS,`svg:svg`);return n.setAttribute(`version`,`1.1`),n.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),n.setAttribute(`xmlns:xlink`,`http://www.w3.org/1999/xlink`),n.setAttribute(`class`,e.svgClassName),n.setAttribute(`data-loaded`,`false`),n.setAttribute(`style`,`fill:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;contain:size layout paint;`),n},this.renderer=c,this.options=l}async initialize(){this.bindEvents()}bindEvents(){let e=this.renderer.owner.events;e.on(t.EventNames.PdfPageRendered,this.onPageRendered),e.on(t.EventNames.PageChange,this.onPageChange),e.on(t.EventNames.ReaderOriginalScroll,this.onReaderOriginalScroll)}unbindEvents(){let e=this.renderer.owner.events;e.off(t.EventNames.PdfPageRendered,this.onPageRendered),e.off(t.EventNames.PageChange,this.onPageChange),e.off(t.EventNames.ReaderOriginalScroll,this.onReaderOriginalScroll)}async dispose(){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}getTextLayerContainer(t){let n=e.svgClassName;return typeof t==`number`?this.builtPages.get(t)??this.renderer.getPageView(t)?.div?.querySelector(`svg.${n}`)??null:`tagName`in t?t.querySelector(`svg.${n}`):t.div?.querySelector(`svg.${n}`)??null}};exports.PdfSvgBuilder=c;
|