@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,78 +1,41 @@
|
|
|
1
1
|
import { parseNumber as e } from "../../../../kernal/common/number.mjs";
|
|
2
2
|
import { compareTagName as t, getDocumentBody as n } from "../../../../kernal/html/finder.mjs";
|
|
3
3
|
import { getTransformLength as r } from "../../../../kernal/html/style.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { getLocateClientRect as i, isDomRange as a } from "../../../../kernal/html/geometry.mjs";
|
|
5
|
+
import { HtmlSettings as o } from "../../HtmlSettings.mjs";
|
|
6
|
+
import { getLayoutGeometry as s } from "../layout/resolveLayoutRoute.mjs";
|
|
5
7
|
//#region mediaTypes/html/renderer/document/HtmlPageCalculator.ts
|
|
6
|
-
var
|
|
8
|
+
var c = class {
|
|
7
9
|
constructor(e, t, n) {
|
|
8
10
|
this.doc = e, this.layout = t, this.options = n;
|
|
9
11
|
}
|
|
10
12
|
calcNumberOfPages(t) {
|
|
11
|
-
let n = 1;
|
|
12
|
-
if (
|
|
13
|
+
let n = 1, i = s(this.options);
|
|
14
|
+
if (i.flipMode == "scroll") return n;
|
|
13
15
|
let a = this.doc.getContentContainer()?.ownerDocument?.documentElement;
|
|
14
16
|
if (!a || !a.firstElementChild) return 1;
|
|
15
|
-
if (!t && (n = e(a.getAttribute(
|
|
16
|
-
let
|
|
17
|
-
|
|
18
|
-
let e = 0, t = a.scrollHeight;
|
|
19
|
-
t < 1 && (t = 1);
|
|
20
|
-
let i = r(a, "y");
|
|
21
|
-
if (Math.abs(i) > 0 && c) {
|
|
22
|
-
let e = c.scrollHeight;
|
|
23
|
-
if (t == e) {
|
|
24
|
-
this.transformCurrentDocument(this.getContentRootElement(), i - 2, "y");
|
|
25
|
-
let e = a.scrollHeight;
|
|
26
|
-
t == e ? (this.transformCurrentDocument(this.getContentRootElement(), 0, "y"), i = 0, t = a.scrollHeight) : this.transformCurrentDocument(this.getContentRootElement(), i, "y");
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
e = t + i, n = Math.floor(e / o.pageMoveLength), e % o.pageMoveLength > o.columnGap && (n += 1);
|
|
30
|
-
} else {
|
|
31
|
-
let e = 0, t = a.scrollWidth;
|
|
32
|
-
t < 1 && (t = 1);
|
|
33
|
-
let i = r(a, "x");
|
|
34
|
-
if (Math.abs(i) > 0 && c) {
|
|
35
|
-
let e = c.scrollWidth;
|
|
36
|
-
if (t == e) {
|
|
37
|
-
this.transformCurrentDocument(this.getContentRootElement(), i - 2, "x");
|
|
38
|
-
let e = a.scrollWidth;
|
|
39
|
-
t == e ? (this.transformCurrentDocument(this.getContentRootElement(), 0, "x"), i = 0, t = a.scrollWidth) : this.transformCurrentDocument(this.getContentRootElement(), i, "x");
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
e = i + t, n = Math.floor(e / o.pageMoveLength), e % o.pageMoveLength > o.columnGap && (n += 1);
|
|
43
|
-
}
|
|
44
|
-
return a.setAttribute(i.HtmlDocumentNumperOfPagesPropertyName, n.toString()), n;
|
|
17
|
+
if (!t && (n = e(a.getAttribute(o.HtmlDocumentNumperOfPagesPropertyName), 0, "parseInt"), n > 1)) return n;
|
|
18
|
+
let c = this.layout.getLayoutMetrics(), l = this.getIframe(), u = i.getOccupiedLength(l, a), d = Math.max(1, u), f = r(a, i.pageAxis);
|
|
19
|
+
return Math.abs(f) > 0 && (d = f + d), n = Math.floor(d / c.pageMoveLength), d % c.pageMoveLength > c.columnGap && (n += 1), a.setAttribute(o.HtmlDocumentNumperOfPagesPropertyName, n.toString()), n;
|
|
45
20
|
}
|
|
46
21
|
getPageNumber(e) {
|
|
47
22
|
if (!e) return 1;
|
|
48
|
-
let
|
|
49
|
-
if (!n(
|
|
50
|
-
let
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
s = Math.max(1, e - s + 1);
|
|
61
|
-
}
|
|
62
|
-
return s;
|
|
23
|
+
let o = this.doc.getContentContainer()?.ownerDocument;
|
|
24
|
+
if (!n(o) || !a(e) && t("BODY", e.tagName)) return 1;
|
|
25
|
+
let c = this.layout.getLayoutMetrics(), l = s(this.options), u = i(e), d = r(o.documentElement, "x"), f = r(o.documentElement, "y"), p = l.getLocateAxisOffset({
|
|
26
|
+
left: u?.left ?? 0,
|
|
27
|
+
top: u?.top ?? 0
|
|
28
|
+
}, d, f);
|
|
29
|
+
return l.getPageNumberFromPoint({
|
|
30
|
+
axisOffset: p,
|
|
31
|
+
pageMoveLength: c.pageMoveLength,
|
|
32
|
+
pageLength: l.getPageBoxLength(c),
|
|
33
|
+
numberOfPages: this.calcNumberOfPages()
|
|
34
|
+
});
|
|
63
35
|
}
|
|
64
36
|
getIframe() {
|
|
65
37
|
return this.doc.getContentContainer()?.ownerDocument?.defaultView?.frameElement;
|
|
66
38
|
}
|
|
67
|
-
getContentRootElement() {
|
|
68
|
-
return this.doc.inIframe ? this.doc.getContentContainer()?.ownerDocument?.documentElement : this.doc.getWrapperContainer();
|
|
69
|
-
}
|
|
70
|
-
transformCurrentDocument(e, t, n) {
|
|
71
|
-
!n || !e || (n == "x" ? e.style.transform = "translateX(-" + parseFloat(t.toFixed(10)) + "px)" : e.style.transform = "translateY(-" + parseFloat(t.toFixed(10)) + "px)");
|
|
72
|
-
}
|
|
73
|
-
isVerticalWriting(e) {
|
|
74
|
-
return e == "vertical-lr" || e == "vertical-rl";
|
|
75
|
-
}
|
|
76
39
|
};
|
|
77
40
|
//#endregion
|
|
78
|
-
export {
|
|
41
|
+
export { c as HtmlPageCalculator };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/Constants.cjs"),t=require("../../../../kernal/common/number.cjs"),n=require("../../../../kernal/html/finder.cjs")
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/Constants.cjs"),t=require("../../../../kernal/common/number.cjs"),n=require("../../../../kernal/html/finder.cjs");var r=class{constructor(e,t){this.doc=e,this.measure=t,this.totalTotalSymbolCountMap=new Map}async getElementByPosition(e,t,n){let r=await this.getFormatVirtualContentContainer();return this.measure.getElementByPosition(r,e,t,n)}async getFormatVirtualContentContainer(){return this.formatVirtualContentContainer||=await this.doc.getVirtualContentContainer(),this.formatVirtualContentContainer}async getElementByProgress(e,t){e??=0;let n=await this.getTotalSymbolCount(t),r=Math.ceil(n*e);return this.getElementByPosition(r,t)}async getProgressByElement(e,t,n){let r=await this.getTotalSymbolCount(t);if(r==1)return 1;let i=await this.getPositionByElement(e,t,n)/r;return i<0&&(i=0),i>1&&(i=1),i}async getPositionByElement(e,t,r){let i=await this.getFormatVirtualContentContainer(),a=null;if(this.isTagDescriptor(e)){if(n.compareTagName(e.tagName,`BODY`))return r??-2;a=n.getElementByNameAndIndex(i,e.tagName,e.tagIndex)}else{let t=e;if(this.isBodyElement(t,i))return r??-2;a=t.ownerDocument==i.ownerDocument?t:this.resolveElementInVirtualDocument(i,t)}return a?this.isBodyElement(a,i)?r??-2:this.measure.getPositionByElement(i,a,t,r):-1}isTagDescriptor(e){return typeof e?.tagIndex==`number`&&typeof e?.tagName==`string`&&e?.nodeType!==1}isBodyElement(e,t){return e==t||n.compareTagName(e.tagName,`BODY`)}resolveElementInVirtualDocument(r,i){let a=t.parseNumber(i.getAttribute(e.ElementInitialNumberName),-1,`parseInt`);if(a>=0){let e=n.getElementByElementNumber(r,a);if(e)return e}let o=n.getDocumentBody(i.ownerDocument);if(!o)return null;if(o.getElementsByTagName(i.tagName).length==r.getElementsByTagName(i.tagName).length){let e=n.getElementIndex(o,i);if(e>=0)return n.getElementByNameAndIndex(r,i.tagName,e)}return null}async getTotalSymbolCount(e){let t=this.totalTotalSymbolCountMap.get(e);if(t>=0)return t;let n=await this.getFormatVirtualContentContainer();return t=this.measure.count(n,e),this.totalTotalSymbolCountMap.set(e,t),t}async dispose(){this.totalTotalSymbolCountMap.clear(),this.formatVirtualContentContainer&&=null}};exports.HtmlSymbolCalclator=r;
|
|
@@ -2,17 +2,15 @@ import { ElementPositionResult } from '../../../../kernal/html/position';
|
|
|
2
2
|
import { ISymbolCalclator, SymbolType } from '../../../../kernal';
|
|
3
3
|
import { TagDescriptor } from '../../../../kernal/types';
|
|
4
4
|
import { IHtmlDocument } from '../IHtmlDocument';
|
|
5
|
-
import {
|
|
5
|
+
import { IHtmlSymbolMeasure } from '../../IHtmlSymbolMeasure';
|
|
6
6
|
|
|
7
7
|
export declare class HtmlSymbolCalclator implements ISymbolCalclator {
|
|
8
8
|
readonly doc: IHtmlDocument;
|
|
9
|
-
private readonly
|
|
10
|
-
constructor(doc: IHtmlDocument,
|
|
11
|
-
private get textSymbolOptions();
|
|
9
|
+
private readonly measure;
|
|
10
|
+
constructor(doc: IHtmlDocument, measure: IHtmlSymbolMeasure);
|
|
12
11
|
getElementByPosition(symbolPosition: number, symbolType: SymbolType, preferEnd?: boolean): Promise<ElementPositionResult>;
|
|
13
12
|
private formatVirtualContentContainer;
|
|
14
13
|
private getFormatVirtualContentContainer;
|
|
15
|
-
private getOtherNonWhiteSpaceSymbolCount;
|
|
16
14
|
getElementByProgress(progress: number, symbolType: SymbolType): Promise<ElementPositionResult>;
|
|
17
15
|
getProgressByElement(element: TagDescriptor | Element, symbolType: SymbolType, internalSymbolOffset?: number): Promise<number>;
|
|
18
16
|
getPositionByElement(element: TagDescriptor | Element, symbolType: SymbolType, internalSymbolOffset?: number): Promise<number>;
|
|
@@ -1,32 +1,18 @@
|
|
|
1
1
|
import { ElementInitialNumberName as e } from "../../../../kernal/Constants.mjs";
|
|
2
2
|
import { parseNumber as t } from "../../../../kernal/common/number.mjs";
|
|
3
3
|
import { compareTagName as n, getDocumentBody as r, getElementByElementNumber as i, getElementByNameAndIndex as a, getElementIndex as o } from "../../../../kernal/html/finder.mjs";
|
|
4
|
-
import { getPureInnerTextLength as s } from "../../../../kernal/html/text.mjs";
|
|
5
|
-
import { getElementByPosition as c, getPositionByElement as l } from "../../../../kernal/html/position.mjs";
|
|
6
4
|
//#region mediaTypes/html/renderer/document/HtmlSymbolCalclator.ts
|
|
7
|
-
var
|
|
5
|
+
var s = class {
|
|
8
6
|
constructor(e, t) {
|
|
9
|
-
this.doc = e, this.
|
|
10
|
-
}
|
|
11
|
-
get textSymbolOptions() {
|
|
12
|
-
return {
|
|
13
|
-
removeHtmlWhitespace: this.options.removeHtmlWhitespace,
|
|
14
|
-
whitespaceRegex: this.options.whitespaceRegex,
|
|
15
|
-
nonWhiteSpaceSymbolTagNames: this.options.nonWhiteSpaceSymbolTagNames
|
|
16
|
-
};
|
|
7
|
+
this.doc = e, this.measure = t, this.totalTotalSymbolCountMap = /* @__PURE__ */ new Map();
|
|
17
8
|
}
|
|
18
9
|
async getElementByPosition(e, t, n) {
|
|
19
10
|
let r = await this.getFormatVirtualContentContainer();
|
|
20
|
-
return
|
|
11
|
+
return this.measure.getElementByPosition(r, e, t, n);
|
|
21
12
|
}
|
|
22
13
|
async getFormatVirtualContentContainer() {
|
|
23
14
|
return this.formatVirtualContentContainer ||= await this.doc.getVirtualContentContainer(), this.formatVirtualContentContainer;
|
|
24
15
|
}
|
|
25
|
-
getOtherNonWhiteSpaceSymbolCount(e) {
|
|
26
|
-
let t = 0;
|
|
27
|
-
if (this.options?.nonWhiteSpaceSymbolTagNames) for (let n of this.options.nonWhiteSpaceSymbolTagNames) t += e.getElementsByTagName(n).length;
|
|
28
|
-
return t;
|
|
29
|
-
}
|
|
30
16
|
async getElementByProgress(e, t) {
|
|
31
17
|
e ??= 0;
|
|
32
18
|
let n = await this.getTotalSymbolCount(t), r = Math.ceil(n * e);
|
|
@@ -48,7 +34,7 @@ var u = class {
|
|
|
48
34
|
if (this.isBodyElement(t, i)) return r ?? -2;
|
|
49
35
|
o = t.ownerDocument == i.ownerDocument ? t : this.resolveElementInVirtualDocument(i, t);
|
|
50
36
|
}
|
|
51
|
-
return o ? this.isBodyElement(o, i) ? r ?? -2 :
|
|
37
|
+
return o ? this.isBodyElement(o, i) ? r ?? -2 : this.measure.getPositionByElement(i, o, t, r) : -1;
|
|
52
38
|
}
|
|
53
39
|
isTagDescriptor(e) {
|
|
54
40
|
return typeof e?.tagIndex == "number" && typeof e?.tagName == "string" && e?.nodeType !== 1;
|
|
@@ -73,16 +59,12 @@ var u = class {
|
|
|
73
59
|
async getTotalSymbolCount(e) {
|
|
74
60
|
let t = this.totalTotalSymbolCountMap.get(e);
|
|
75
61
|
if (t >= 0) return t;
|
|
76
|
-
let n = await this.getFormatVirtualContentContainer()
|
|
77
|
-
|
|
78
|
-
let e = this.getOtherNonWhiteSpaceSymbolCount(n);
|
|
79
|
-
r += e;
|
|
80
|
-
}
|
|
81
|
-
return t = r, this.totalTotalSymbolCountMap.set(e, t), t;
|
|
62
|
+
let n = await this.getFormatVirtualContentContainer();
|
|
63
|
+
return t = this.measure.count(n, e), this.totalTotalSymbolCountMap.set(e, t), t;
|
|
82
64
|
}
|
|
83
65
|
async dispose() {
|
|
84
66
|
this.totalTotalSymbolCountMap.clear(), this.formatVirtualContentContainer &&= null;
|
|
85
67
|
}
|
|
86
68
|
};
|
|
87
69
|
//#endregion
|
|
88
|
-
export {
|
|
70
|
+
export { s as HtmlSymbolCalclator };
|
|
@@ -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("../../HtmlSettings.cjs"),i=require("../layout/css/hostLayoutCss.cjs");var a=class{constructor(e){this.htmlOptions=e}createContainers(){let a=t.createElement(document,`div`,e.getRandomId(!0),`renderer`);a.classList.add(n.Theme.customScrollerClassName),a.setAttribute(`data-role`,`renderer-container`);let o=t.createElement(document,`div`,e.getRandomId(!0),r.HtmlSettings.ContentsContainerCssName);o.setAttribute(`data-role`,`contents-container`);let s=t.createElement(document,`div`,e.getRandomId(!0),r.HtmlSettings.ContentsShadowContainerCssName),c=t.createElement(document,`div`,e.getRandomId(!0),r.HtmlSettings.TransformContainerCssName);return this.htmlOptions.flipPageStyle==`slide`&&c.classList.add(`slide`),s.appendChild(c),o.appendChild(s),a.appendChild(o),{rendererContainer:a,rendererCss:i.HOST_LAYOUT_CSS,otherCss:``,contentsContainer:o,transformContainer:c}}};exports.HtmlContainerBuilder=a;
|
|
@@ -1,51 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { ViewportCssVariableNames as a } from "../layout/ViewportCssVariableNames.mjs";
|
|
1
|
+
import { getRandomId as e } from "../../../../kernal/common/uuid.mjs";
|
|
2
|
+
import { createElement as t } from "../../../../kernal/html/injector.mjs";
|
|
3
|
+
import { Theme as n } from "../../../../kernal/Theme.mjs";
|
|
4
|
+
import { HtmlSettings as r } from "../../HtmlSettings.mjs";
|
|
5
|
+
import { HOST_LAYOUT_CSS as i } from "../layout/css/hostLayoutCss.mjs";
|
|
7
6
|
//#region mediaTypes/html/renderer/documents/HtmlContainerBuilder.ts
|
|
8
|
-
var
|
|
7
|
+
var a = class {
|
|
9
8
|
constructor(e) {
|
|
10
9
|
this.htmlOptions = e;
|
|
11
10
|
}
|
|
12
11
|
createContainers() {
|
|
13
|
-
let
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
o += `margin-block-end:var(${e.FooterHeight});`, o += "overflow:auto;outline:none;width:100%;", o += `height:calc(100% - var(${e.HeaderHeight}) - var(${e.FooterHeight}));`, o += `overflow-y:var(${a.ScrollElementOverflow});`, o += "overflow-x:hidden;", o += "}";
|
|
25
|
-
let s = r(document, "div", n(!0), i);
|
|
26
|
-
return s.classList.add(t.customScrollerClassName), s.setAttribute("data-role", "renderer-container"), {
|
|
27
|
-
rendererCss: o,
|
|
28
|
-
rendererContainer: s
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
createOtherContainers() {
|
|
32
|
-
let e = i.ContentsContainerCssName, o = `.${e}{width:var(${a.ContentsContainerWidth});`;
|
|
33
|
-
o += "margin:0 auto;", o += `padding:var(${a.ContentsContainerPadding});`, o += "}";
|
|
34
|
-
let s = r(document, "div", n(!0), e);
|
|
35
|
-
s.setAttribute("data-role", "contents-container");
|
|
36
|
-
let c = r(document, "div", n(!0), i.ContentsShadowContainerCssName), l = r(document, "div", n(!0), i.TransformContainerCssName);
|
|
37
|
-
this.htmlOptions.flipPageStyle == "slide" && l.classList.add("slide"), c.appendChild(l), s.appendChild(c);
|
|
38
|
-
let u = "." + i.FileContentContainerClassName + "{";
|
|
39
|
-
u += "position:relative;", u += "width:auto;", u += "min-width:var(" + a.ContentWrapperMinWidth + ");", u += "overflow:hidden;height:var(" + a.ContentWrapperHeight + ");", u += "padding:var(" + a.ContentWrapperPadding + ");", u += "margin-block-end: var(" + a.ContentWrapperMarginBottom + ");", this.htmlOptions.enableContentWrapperBorderRadius && this.htmlOptions.flipMode == "scroll" && (u += "border-radius: var(" + a.ContentWrapperBorderRadius + ");"), u += "background:var(" + t.ContentBackground + ");", u += "}", u += "." + i.FileContentContainerClassName + ":first-child{", u += "margin-block-start: var(" + a.ContentWrapperMarginTop + ");", u += "}", u += "." + i.FileContentContainerClassName + "." + i.FileContentContainerHeightClassName + "{", u += "min-height:var(" + a.ContentWrapperMinHeight + ");", u += "max-height:var(" + a.ContentWrapperMaxHeight + ");", u += "}";
|
|
40
|
-
let d = "";
|
|
41
|
-
return d += "." + i.TransformPagesClassName + " ." + i.ContentsContainerCssName + "{", d += `overflow:hidden;background-color:var(${t.ContentBackground})`, d += "}", d += "." + i.TransformPagesClassName + " ." + i.TransformContainerCssName + "{", d += "display:flex;flex-wrap:nowrap;position: relative;transition-property:transform;", d += "}", d += "." + i.TransformPagesClassName + " ." + i.TransformContainerCssName + ".slide{", d += "transition-property:transform;", d += "}", d += "." + i.TransformPagesClassName + " ." + i.FileContentContainerClassName + "{", d += `flex-shrink: 0;padding-inline-end:calc(var(${a.ContentColumnGap}) / 2 - 1px);margin-inline-end:calc(var(${a.ContentColumnGap}) / 2);`, d += `border-right: 1px solid var(${t.ColumnRuleColor});transition-property: transform;`, d += "}", d += "." + i.TransformPagesClassName + " ." + i.FileContentContainerClassName + ":last-child{", d += "border-right:none;", d += "}", d += "." + i.TransformPagesClassName + " ." + i.ContentsShadowContainerCssName + "{", d += `overflow:hidden;margin:0 ${this.htmlOptions.contentsShadowMargin ?? 20}px`, d += "}", d += "." + i.TransformContainerCssName + "{", d += "}", {
|
|
42
|
-
contentsContainer: s,
|
|
43
|
-
transformContainer: l,
|
|
44
|
-
contentsContainerCss: o,
|
|
45
|
-
transformContainerCss: d,
|
|
46
|
-
contentContainerCss: u
|
|
12
|
+
let a = t(document, "div", e(!0), "renderer");
|
|
13
|
+
a.classList.add(n.customScrollerClassName), a.setAttribute("data-role", "renderer-container");
|
|
14
|
+
let o = t(document, "div", e(!0), r.ContentsContainerCssName);
|
|
15
|
+
o.setAttribute("data-role", "contents-container");
|
|
16
|
+
let s = t(document, "div", e(!0), r.ContentsShadowContainerCssName), c = t(document, "div", e(!0), r.TransformContainerCssName);
|
|
17
|
+
return this.htmlOptions.flipPageStyle == "slide" && c.classList.add("slide"), s.appendChild(c), o.appendChild(s), a.appendChild(o), {
|
|
18
|
+
rendererContainer: a,
|
|
19
|
+
rendererCss: i,
|
|
20
|
+
otherCss: "",
|
|
21
|
+
contentsContainer: o,
|
|
22
|
+
transformContainer: c
|
|
47
23
|
};
|
|
48
24
|
}
|
|
49
25
|
};
|
|
50
26
|
//#endregion
|
|
51
|
-
export {
|
|
27
|
+
export { a as HtmlContainerBuilder };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs");var t=class{constructor(e){this.documentsProvider=e,this.documentMap=new Map,this.setDocumentVisible=(e,t)=>{e.isVisible=t},this.events=this.documentsProvider.owner.events}register(){this.contentContainerIntersectionObserver=new IntersectionObserver(t=>{for(let n=0;n<t.length;n++){let r=t[n],i=r.isIntersecting||r.intersectionRatio>0;this.setDocumentVisible(r.target,i);let a=this.documentMap.get(r.target);a&&this.events.emit(e.EventNames.DocumentVisibleChange,a,i)}},{rootMargin
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("./documentHiddenState.cjs");var n=(e,t)=>e===t.scrollingElement||e===t.documentElement||e===t.body,r=class{constructor(e){this.documentsProvider=e,this.documentMap=new Map,this.setDocumentVisible=(e,t)=>{e.isVisible=t},this.events=this.documentsProvider.owner.events}register(){this.contentContainerIntersectionObserver=new IntersectionObserver(t=>{if(!this.isRendererCollapsed())for(let n=0;n<t.length;n++){let r=t[n],i=r.isIntersecting||r.intersectionRatio>0;this.setDocumentVisible(r.target,i);let a=this.documentMap.get(r.target);a&&this.events.emit(e.EventNames.DocumentVisibleChange,a,i)}},{root:this.resolveObserverRoot(),rootMargin:`0px`,threshold:0}),this.observeContainers()}unregister(){this.contentContainerIntersectionObserver?.disconnect(),this.contentContainerIntersectionObserver=void 0,this.documentMap.clear()}resolveObserverRoot(){let e=this.documentsProvider.getScrollElement(),t=e?.ownerDocument;return!e||!t||n(e,t)?null:e}observeContainers(){for(let e of this.documentsProvider.getDocuments())this.documentMap.set(e.getWrapperContainer(),e),this.contentContainerIntersectionObserver.observe(e.getWrapperContainer())}isRendererCollapsed(){let e=this.documentsProvider.getRendererContainer(),n=this.documentsProvider.owner.getHostViewport().mode!=`window`;return t.isHostContainerCollapsed(e,n)}async dispose(){this.unregister()}};exports.HtmlDocumentsIntersectionObserver=r;
|
|
@@ -8,7 +8,9 @@ export declare class HtmlDocumentsIntersectionObserver implements IDisposable {
|
|
|
8
8
|
constructor(documentsProvider: IDocumentsProvider);
|
|
9
9
|
register(): void;
|
|
10
10
|
unregister(): void;
|
|
11
|
+
private resolveObserverRoot;
|
|
11
12
|
private observeContainers;
|
|
13
|
+
private isRendererCollapsed;
|
|
12
14
|
private setDocumentVisible;
|
|
13
15
|
dispose(): Promise<void>;
|
|
14
16
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventNames as e } from "../../../../kernal/EventNames.mjs";
|
|
2
|
+
import { isHostContainerCollapsed as t } from "./documentHiddenState.mjs";
|
|
2
3
|
//#region mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.ts
|
|
3
|
-
var t = class {
|
|
4
|
+
var n = (e, t) => e === t.scrollingElement || e === t.documentElement || e === t.body, r = class {
|
|
4
5
|
constructor(e) {
|
|
5
6
|
this.documentsProvider = e, this.documentMap = /* @__PURE__ */ new Map(), this.setDocumentVisible = (e, t) => {
|
|
6
7
|
e.isVisible = t;
|
|
@@ -8,23 +9,35 @@ var t = class {
|
|
|
8
9
|
}
|
|
9
10
|
register() {
|
|
10
11
|
this.contentContainerIntersectionObserver = new IntersectionObserver((t) => {
|
|
11
|
-
for (let n = 0; n < t.length; n++) {
|
|
12
|
+
if (!this.isRendererCollapsed()) for (let n = 0; n < t.length; n++) {
|
|
12
13
|
let r = t[n], i = r.isIntersecting || r.intersectionRatio > 0;
|
|
13
14
|
this.setDocumentVisible(r.target, i);
|
|
14
15
|
let a = this.documentMap.get(r.target);
|
|
15
16
|
a && this.events.emit(e.DocumentVisibleChange, a, i);
|
|
16
17
|
}
|
|
17
|
-
}, {
|
|
18
|
+
}, {
|
|
19
|
+
root: this.resolveObserverRoot(),
|
|
20
|
+
rootMargin: "0px",
|
|
21
|
+
threshold: 0
|
|
22
|
+
}), this.observeContainers();
|
|
18
23
|
}
|
|
19
24
|
unregister() {
|
|
20
25
|
this.contentContainerIntersectionObserver?.disconnect(), this.contentContainerIntersectionObserver = void 0, this.documentMap.clear();
|
|
21
26
|
}
|
|
27
|
+
resolveObserverRoot() {
|
|
28
|
+
let e = this.documentsProvider.getScrollElement(), t = e?.ownerDocument;
|
|
29
|
+
return !e || !t || n(e, t) ? null : e;
|
|
30
|
+
}
|
|
22
31
|
observeContainers() {
|
|
23
32
|
for (let e of this.documentsProvider.getDocuments()) this.documentMap.set(e.getWrapperContainer(), e), this.contentContainerIntersectionObserver.observe(e.getWrapperContainer());
|
|
24
33
|
}
|
|
34
|
+
isRendererCollapsed() {
|
|
35
|
+
let e = this.documentsProvider.getRendererContainer(), n = this.documentsProvider.owner.getHostViewport().mode != "window";
|
|
36
|
+
return t(e, n);
|
|
37
|
+
}
|
|
25
38
|
async dispose() {
|
|
26
39
|
this.unregister();
|
|
27
40
|
}
|
|
28
41
|
};
|
|
29
42
|
//#endregion
|
|
30
|
-
export {
|
|
43
|
+
export { r as HtmlDocumentsIntersectionObserver };
|
|
@@ -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/web/scheduler.cjs"),n=require("../../HtmlSettings.cjs"),r=require("../layout/geometry/restoreLayoutState.cjs"),i=require("../layout/resolveLayoutRoute.cjs"),a=require("../location/scrollActivity.cjs"),o=require("./preloadNeighbors.cjs"),s=require("./wrapperVisibility.cjs");let c=require("perfect-debounce");var l=160,u=(e,t)=>e===t.scrollingElement||e===t.documentElement||e===t.body,d=class{constructor(e,t,r,o){this.events=e,this.documentsProvider=t,this.getLoadingDocument=r,this.htmlOptions=o,this.preloadToken=0,this.onDocumentVisibleChange=()=>{a.isProgrammaticScroll()||this.schedulePreload()},this.onReaderScroll=(e,t)=>{a.isProgrammaticScroll()||t&&!t.isTrusted||(a.markUserScroll(),a.releaseAbsoluteLocate(),this.schedulePreload())},this.onPageChange=()=>{this.schedulePreload()},this.preloadDocuments=async()=>{if(this.isPageMoving()){this.preloadToken++,this.delayPreloadAfterMove();return}let e=++this.preloadToken;try{let t=this.resolveVisibleDocuments(),n=i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`visual-edge`,r=n?this.resolvePreloadAnchor(t):t[0],a=n?r:t[t.length-1];if(!r||!a)return;let o=t.length>0?t:[r];for(let t of o){if(this.shouldAbortPreload(e))return;await t.load()}if(this.shouldAbortPreload(e))return;await this.preloadRelatedDocuments(r,a,e)}catch{}},this.delayPreloadDocuments=(0,c.debounce)(()=>this.preloadDocuments(),500),this.delayPreloadAfterMove=(0,c.debounce)(()=>this.preloadDocuments(),80),this.schedulePreload=()=>{if(this.abortPreloadIfPageMoving(),this.isPageMoving()){this.delayPreloadAfterMove();return}this.delayPreloadDocuments()},this.shouldPreloadPreviousFirst=()=>{let e=this.documentsProvider.owner?.context?.currentLocation?.direction;return i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`page-fill`?e!=`next`:e==`previous`},this.isPageMoving=()=>!!(this.documentsProvider.getRendererContainer()?.querySelector?.(`.${n.HtmlSettings.TransformContainerCssName}`))?.hasAttribute(n.HtmlSettings.PageMovingAttributeName),this.isScrollSettling=()=>i.getLayoutGeometry(this.htmlOptions).flipMode==`scroll`&&a.isUserScrollSettling(),this.abortPreloadIfPageMoving=()=>{this.isPageMoving()&&this.preloadToken++},this.shouldAbortPreload=e=>e===this.preloadToken?this.isPageMoving()?(this.preloadToken++,!0):!1:!0,this.checkContainFullscreenElement=e=>!!e?.getContentContainer()?.ownerDocument?.fullscreenElement,this.bindEvents()}bindEvents(){this.events.on(e.EventNames.DocumentVisibleChange,this.onDocumentVisibleChange),this.events.on(e.EventNames.ReaderDebounceScroll,this.onReaderScroll),this.events.on(e.EventNames.PageChange,this.onPageChange)}unbindEvents(){this.events.off(e.EventNames.DocumentVisibleChange,this.onDocumentVisibleChange),this.events.off(e.EventNames.ReaderDebounceScroll,this.onReaderScroll),this.events.off(e.EventNames.PageChange,this.onPageChange)}async dispose(){this.preloadToken++,this.unbindEvents()}resolveVisibleDocuments(){let e=i.getLayoutGeometry(this.htmlOptions);return e.preloadRangeMode==`visible-span`?this.resolveIntersectingDocuments(!1):e.rewritesWrapperVisibility?this.resolveIntersectingDocuments(!0):this.documentsProvider.getVisibleDocuments()}resolveIntersectingDocuments(e){let t=this.getViewportRect();if(!t){let t=this.documentsProvider.getVisibleDocuments();return e?t.filter(e=>s.isSubstantialWrapperRect(e.getWrapperContainer()?.getBoundingClientRect())):t}let n=[];for(let r of this.documentsProvider.getDocuments()){let i=r.getWrapperContainer();if(!i)continue;let a=i.getBoundingClientRect(),o=s.rectsIntersect(a,t)&&(!e||s.isSubstantialWrapperRect(a));i.isVisible=o,o&&n.push(r)}return n}resolvePreloadAnchor(e){let t=i.getLayoutGeometry(this.htmlOptions);return r.pickVisibleCompensationDocument(e,t.compensationAnchorEdge,e=>{let n=e.getWrapperContainer()?.getBoundingClientRect();if(!(!n||!s.isSubstantialWrapperRect(n)))return t.getCompensationRect(n)})??this.documentsProvider.getDocuments()[0]}getViewportRect(){let e=this.documentsProvider.getScrollElement(),t=this.documentsProvider.getRendererContainer(),n=(e??t)?.ownerDocument;if(e&&n&&u(e,n)){let e=n.defaultView;return e?{left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}:void 0}return(e??t)?.getBoundingClientRect()}async preloadRelatedDocuments(e,n,r){let a=this.documentsProvider.getDocuments(),c=a.indexOf(e),l=a.indexOf(n),u=a.length,d=[];for(let e=c;e<=l;e++){let t=a[e];t&&!d.includes(t)&&d.push(t)}let f=o.collectPreloadNeighbors(a,c,l,this.htmlOptions.preloadFileCount,this.shouldPreloadPreviousFirst());for(let e=0;e<f.length;e++){if(this.shouldAbortPreload(r))return;let n=f[e];await n.load(),n&&!d.includes(n)&&d.push(n),await t.yieldToMain()}let p=this.documentsProvider.getRendererContainer().clientWidth;if(i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`page-fill`){let e=0;for(let n=c-1;n>=0;n--){if(this.shouldAbortPreload(r))return;let i=a[n];if(await i.load(),i&&!d.includes(i)&&d.push(i),e+=i.getWrapperContainer().clientWidth,e>=p)break;await t.yieldToMain()}let n=0;for(let e=l+1;e<u;e++){if(this.shouldAbortPreload(r))return;let i=a[e];if(await i.load(),i&&!d.includes(i)&&d.push(i),n+=i.getWrapperContainer().clientWidth,n>=p)break;await t.yieldToMain()}}let m=this.getLoadingDocument();m&&!d.includes(m)&&d.push(m),d.includes(e)||d.push(e);let h=i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`visual-edge`?this.documentsProvider.getVisibleDocuments().filter(e=>s.isSubstantialWrapperRect(e.getWrapperContainer()?.getBoundingClientRect())):this.documentsProvider.getVisibleDocuments();for(let e of h)d.includes(e)||d.push(e);if(!this.shouldAbortPreload(r)){if(this.isScrollSettling()){this.delayPreloadAfterMove();return}await this.removeUnnecessaryDocuments(d,r),d.splice(0)}}async removeUnnecessaryDocuments(e,n){if(!e)return;let r=this.documentsProvider.getLoadedDocuments();for(let i of r){if(this.shouldAbortPreload(n))return;e.includes(i)||(await this.disposeDocument(i),await t.yieldToMain())}}async disposeDocument(e){this.checkContainFullscreenElement(e)||await e.dispose()}};exports.HtmlDocumentsPreloader=d,exports.SCROLL_PRELOAD_SETTLE_MS=l;
|
|
@@ -2,20 +2,35 @@ import { HtmlOptions } from '../../HtmlOptions';
|
|
|
2
2
|
import { IDocument, IDocumentsProvider, IEventEmitter } from '../../../../kernal';
|
|
3
3
|
import { IHtmlDocumentsPreloader } from './IHtmlDocumentsPreloader';
|
|
4
4
|
|
|
5
|
+
export declare const SCROLL_PRELOAD_SETTLE_MS = 160;
|
|
5
6
|
export declare class HtmlDocumentsPreloader implements IHtmlDocumentsPreloader {
|
|
6
7
|
private readonly events;
|
|
7
8
|
private readonly documentsProvider;
|
|
8
9
|
private readonly getLoadingDocument;
|
|
9
10
|
private readonly htmlOptions;
|
|
11
|
+
private preloadToken;
|
|
10
12
|
constructor(events: IEventEmitter, documentsProvider: IDocumentsProvider, getLoadingDocument: () => IDocument, htmlOptions: HtmlOptions);
|
|
11
13
|
private bindEvents;
|
|
12
14
|
private unbindEvents;
|
|
13
15
|
private onDocumentVisibleChange;
|
|
16
|
+
private onReaderScroll;
|
|
17
|
+
private onPageChange;
|
|
14
18
|
dispose(): Promise<void>;
|
|
15
|
-
preloadDocuments()
|
|
19
|
+
preloadDocuments: () => Promise<void>;
|
|
16
20
|
private delayPreloadDocuments;
|
|
21
|
+
private delayPreloadAfterMove;
|
|
22
|
+
private schedulePreload;
|
|
23
|
+
private resolveVisibleDocuments;
|
|
24
|
+
private resolveIntersectingDocuments;
|
|
25
|
+
private resolvePreloadAnchor;
|
|
26
|
+
private getViewportRect;
|
|
17
27
|
private preloadRelatedDocuments;
|
|
18
28
|
private removeUnnecessaryDocuments;
|
|
29
|
+
private shouldPreloadPreviousFirst;
|
|
30
|
+
private isPageMoving;
|
|
31
|
+
private isScrollSettling;
|
|
32
|
+
private abortPreloadIfPageMoving;
|
|
33
|
+
private shouldAbortPreload;
|
|
19
34
|
private checkContainFullscreenElement;
|
|
20
35
|
private disposeDocument;
|
|
21
36
|
}
|