@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,121 +1,270 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EventNames as e } from "../../../../kernal/EventNames.mjs";
|
|
2
2
|
import { getUuid as t } from "../../../../kernal/common/uuid.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { getDocumentBody as
|
|
6
|
-
import { emptyElement as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { BaseDocument as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
3
|
+
import { BrowserCapabilities as n } from "../../../../kernal/web/BrowserCapabilities.mjs";
|
|
4
|
+
import { LastElementAttributeName as r, readerPrefixName as i } from "../../../../kernal/Constants.mjs";
|
|
5
|
+
import { getDocumentBody as a } from "../../../../kernal/html/finder.mjs";
|
|
6
|
+
import { emptyElement as o, setElementHtml as s } from "../../../../kernal/html/dom.mjs";
|
|
7
|
+
import { yieldToMain as c } from "../../../../kernal/web/scheduler.mjs";
|
|
8
|
+
import { getOrderedElementsIntersectingRect as l, resolveVisibleViewportInContentWindow as u } from "../../../../kernal/html/geometry.mjs";
|
|
9
|
+
import { BaseDocument as d } from "../../../base/renderer/BaseDocument.mjs";
|
|
10
|
+
import { HtmlSettings as f } from "../../HtmlSettings.mjs";
|
|
11
|
+
import { getEventKeyMap as p } from "../../../base/renderer/eventKeys.mjs";
|
|
12
|
+
import { collectContentUnitElements as m } from "../visibilityCandidates.mjs";
|
|
13
|
+
import { getLayoutGeometry as h } from "../layout/resolveLayoutRoute.mjs";
|
|
14
|
+
import { asHtmlFileParser as g } from "../../fileParser/IHtmlFileParser.mjs";
|
|
15
|
+
import { ViewportCssVariableNames as _ } from "../layout/ViewportCssVariableNames.mjs";
|
|
16
|
+
import { createIframe as v, getTooBigHtmlTemplate as y } from "../html/template.mjs";
|
|
17
|
+
import { HtmlPageCalculator as b } from "./HtmlPageCalculator.mjs";
|
|
18
|
+
import { HtmlSymbolCalclator as x } from "./HtmlSymbolCalclator.mjs";
|
|
19
|
+
import { HtmlDocumentResizeObserver as S } from "./HtmlDocumentResizeObserver.mjs";
|
|
20
|
+
import { HtmlLayoutStatePreserver as C } from "../location/HtmlLayoutStatePreserver.mjs";
|
|
21
|
+
import { shouldKeepPageEndOnContentGrow as w } from "../location/remapStoredPageNumber.mjs";
|
|
15
22
|
//#region mediaTypes/html/renderer/document/HtmlDocument.ts
|
|
16
|
-
var
|
|
17
|
-
constructor(t, r, i, a, o
|
|
18
|
-
super(t, i, a
|
|
23
|
+
var T = class extends d {
|
|
24
|
+
constructor(t, n, r, i, a, o) {
|
|
25
|
+
super(t, r, i, a), this.options = o, this.eventKeyMap = p(), this.visibilityCandidates = null, this.callbacks = [], this.retainLoadingLayer = !1, this.waitForRevealPaint = async () => {
|
|
26
|
+
await c(), await new Promise((e) => {
|
|
27
|
+
requestAnimationFrame(() => {
|
|
28
|
+
requestAnimationFrame(() => e());
|
|
29
|
+
});
|
|
30
|
+
}), await new Promise((e) => {
|
|
31
|
+
window.setTimeout(e, 120);
|
|
32
|
+
}), await this.waitForVisibleImagesReady();
|
|
33
|
+
}, this.waitForVisibleImagesReady = async () => {
|
|
34
|
+
let e = this.getContentContainer(), t = e?.ownerDocument?.defaultView;
|
|
35
|
+
if (!e || !t) return;
|
|
36
|
+
let n = [...e.querySelectorAll("img"), ...e.getElementsByTagName("image")];
|
|
37
|
+
if (n.length == 0) return;
|
|
38
|
+
let r = t.innerHeight || e.clientHeight, i = n.filter((e) => {
|
|
39
|
+
let t = e.getBoundingClientRect();
|
|
40
|
+
return t.bottom > -200 && t.top < r + 200;
|
|
41
|
+
});
|
|
42
|
+
i.length != 0 && await Promise.race([Promise.all(i.map((e) => this.waitForImageReady(e))), new Promise((e) => {
|
|
43
|
+
window.setTimeout(e, 800);
|
|
44
|
+
})]);
|
|
45
|
+
}, this.waitForImageReady = (e) => this.isImageReady(e) ? Promise.resolve() : new Promise((t) => {
|
|
46
|
+
let n = !1, r = () => {
|
|
47
|
+
n || (n = !0, e.removeEventListener("load", r), e.removeEventListener("error", r), i.disconnect(), t());
|
|
48
|
+
}, i = new MutationObserver(() => {
|
|
49
|
+
this.isImageReady(e) && r();
|
|
50
|
+
});
|
|
51
|
+
i.observe(e, {
|
|
52
|
+
attributes: !0,
|
|
53
|
+
attributeFilter: [
|
|
54
|
+
"src",
|
|
55
|
+
"href",
|
|
56
|
+
"data-load-state"
|
|
57
|
+
]
|
|
58
|
+
}), e.addEventListener("load", r), e.addEventListener("error", r), window.setTimeout(r, 800);
|
|
59
|
+
}), this.isImageReady = (e) => {
|
|
60
|
+
let t = e.getAttribute("data-load-state");
|
|
61
|
+
if (t == "loaded" || t == "fail") return !0;
|
|
62
|
+
let n = e.ownerDocument.defaultView?.window.HTMLImageElement;
|
|
63
|
+
if (!n || !(e instanceof n)) return !1;
|
|
64
|
+
let r = e.currentSrc || e.src;
|
|
65
|
+
return !r || r.startsWith("data:image/svg+xml") ? !1 : e.complete && e.naturalWidth > 0;
|
|
66
|
+
}, this.bringLoadingLayerToFront = () => {
|
|
67
|
+
let e = this.wrapperContainer.querySelector("div[data-type='loading-layer']");
|
|
68
|
+
e && this.wrapperContainer.appendChild(e);
|
|
69
|
+
}, this.fadeOutCover = async (e = 200) => {
|
|
70
|
+
let t = this.wrapperContainer.querySelector("div[data-type='loading-layer']");
|
|
71
|
+
if (!t) return;
|
|
72
|
+
let n = Math.max(0, e);
|
|
73
|
+
t.style.pointerEvents = "none", t.style.transition = `opacity ${n}ms ease`, t.style.opacity = "0", await new Promise((e) => {
|
|
74
|
+
let r = !1, i = () => {
|
|
75
|
+
r || (r = !0, t.removeEventListener("transitionend", i), e());
|
|
76
|
+
};
|
|
77
|
+
t.addEventListener("transitionend", i), window.setTimeout(i, n + 50);
|
|
78
|
+
});
|
|
79
|
+
}, this.releaseLoadingLayer = async () => {
|
|
80
|
+
this.loadingLayer?.removeLoadingLayer(), await this.loadingLayer?.dispose(), this.loadingLayer = void 0;
|
|
81
|
+
}, this.buildLoadingContent = async () => {
|
|
19
82
|
let e = await this.getFormattedVirtualDocument(), t = this.owner.getRenderer()?.documentPreprocesses ?? [];
|
|
20
83
|
for (let e of t) try {
|
|
21
84
|
await e(this);
|
|
22
85
|
} catch (t) {
|
|
23
86
|
this.logger.error("preprocess", "function", e?.name, t);
|
|
24
87
|
}
|
|
25
|
-
let n = e.documentElement.outerHTML;
|
|
26
|
-
return
|
|
88
|
+
let n = e.documentElement.outerHTML.replace(/<([^<]*)\?xml([^>]*)\?.*?>/i, "");
|
|
89
|
+
return n.match(/<!DOCTYPE[^>]*>/i) || (n = "<!DOCTYPE html>" + n), n;
|
|
27
90
|
}, this.processAfterLoaded = async () => {
|
|
28
91
|
let t = this.getContentContainer();
|
|
29
92
|
if (!t) return;
|
|
30
|
-
t.setAttribute("data-url", this.url)
|
|
31
|
-
let
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this
|
|
93
|
+
t.setAttribute("data-url", this.url);
|
|
94
|
+
let n = this.captureLayoutState(), r = h(this.options).iframeGrow == "width";
|
|
95
|
+
r || this.wrapperContainer.classList.remove(f.FileContentContainerHeightClassName);
|
|
96
|
+
let i = this.owner.getRenderer()?.documentPostprocesses ?? [];
|
|
97
|
+
for (let e of i) try {
|
|
98
|
+
await e(this), await c();
|
|
99
|
+
} catch (t) {
|
|
100
|
+
this.logger.error("postprocess", "function", e?.name, t);
|
|
36
101
|
}
|
|
37
|
-
this.
|
|
38
|
-
|
|
102
|
+
await this.layoutStatePreserver.waitUntilPageTransformStable(), this.resetLayoutSizes(), r && this.wrapperContainer.classList.remove(f.FileContentContainerHeightClassName), await this.restoreLayoutState(n), this.retainLoadingLayer || await this.releaseLoadingLayer(), this.loadStatus = "success", this.visibilityCandidates = null, this.bindDocumentEvents(), this.owner.events.emit(e.DocumentLoad, this), this.resizeObserver.observeIframeSize(async () => {
|
|
103
|
+
let e = w(this.owner.context.currentLocation, this.url), t = e ? this.captureLayoutState() : null;
|
|
104
|
+
if (this.resetLayoutSizes(), this.getFlipMode() == "page" && this.pageCalculator.calcNumberOfPages(!0), e && t) {
|
|
105
|
+
await this.restoreLayoutState(t);
|
|
106
|
+
let e = this.internalGetNumberOfPages(), n = this.owner.context.currentLocation;
|
|
107
|
+
n?.url == this.url && (n.current = e, n.total = e);
|
|
108
|
+
}
|
|
39
109
|
}), this.loadCompleted(!0);
|
|
40
110
|
}, this.loadCompleted = (e) => {
|
|
41
111
|
for (let t = 0; t < this.callbacks.length; t++) try {
|
|
42
112
|
e ? this.callbacks[t].resolve() : this.callbacks[t].reject();
|
|
43
113
|
} catch {}
|
|
44
114
|
this.callbacks = [];
|
|
45
|
-
}, this.internalResetSizes = async () => {
|
|
46
|
-
let e = this.getContentRootElement();
|
|
47
|
-
if (!e) return;
|
|
48
|
-
let t = this.getWritingMode();
|
|
49
|
-
this.resetIframeMinWidthHeight(e, this.getFlipMode(), t);
|
|
50
115
|
}, this.capture = !0, this.eventListener = (e) => {
|
|
51
116
|
let t = this.eventKeyMap.get(e.type);
|
|
52
117
|
t && this.owner.events.emit(t, e, this);
|
|
53
|
-
}, this.pageCalculator = new
|
|
118
|
+
}, this.pageCalculator = new b(this, n, o), this.symbolCalclator = new x(this, g(r).symbolMeasure), this.layoutStatePreserver = new C(this, n, o), this.logger = this.owner.loggerFactory.getLogger(this.constructor.name), this.resizeObserver = new S(this, this.owner.events);
|
|
54
119
|
}
|
|
55
120
|
get inIframe() {
|
|
56
121
|
return !0;
|
|
57
122
|
}
|
|
58
|
-
getWritingMode() {
|
|
59
|
-
return this.options.writingMode ?? "horizontal-tb";
|
|
60
|
-
}
|
|
61
123
|
async load() {
|
|
62
|
-
await new Promise(async (
|
|
124
|
+
await new Promise(async (r, a) => {
|
|
63
125
|
if (this.loadStatus == "success") {
|
|
64
|
-
|
|
126
|
+
r();
|
|
65
127
|
return;
|
|
66
128
|
}
|
|
67
129
|
if (this.callbacks.push({
|
|
68
|
-
resolve:
|
|
69
|
-
reject:
|
|
130
|
+
resolve: r,
|
|
131
|
+
reject: a
|
|
70
132
|
}), this.loadStatus != "loading") {
|
|
71
|
-
this.loadStatus = "loading", this.loadingLayer = await this.owner.services.get("loadLayer"), this.loadingLayer?.setDoc(this),
|
|
133
|
+
this.loadStatus = "loading", this.loadingLayer = await this.owner.services.get("loadLayer"), this.loadingLayer?.setDoc(this), o(this.wrapperContainer), this.loadingLayer.removeLoadingLayer(), this.loadingLayer.loadLoadingLayer(), await c();
|
|
72
134
|
try {
|
|
73
135
|
if (this.inIframe) {
|
|
74
136
|
if (!this.iframe) {
|
|
75
|
-
let
|
|
76
|
-
this.iframe =
|
|
137
|
+
let r = i + t(!0);
|
|
138
|
+
this.iframe = v(this.wrapperContainer.ownerDocument, r, this.options.forceScroll, h(this.options)), this.options.forceScroll ? this.iframe.removeAttribute("scrolling") : this.iframe.setAttribute("scrolling", "no");
|
|
77
139
|
let a = await this.buildLoadingContent();
|
|
78
|
-
await
|
|
140
|
+
await c(), this.wrapperContainer.appendChild(this.iframe), this.bringLoadingLayerToFront(), await c(), this.iframe.addEventListener("load", async () => {
|
|
79
141
|
await this.processAfterLoaded();
|
|
80
|
-
}, !1), this.iframe.addEventListener("error", (
|
|
81
|
-
this.loadingLayer?.removeLoadingLayer(), this.loadStatus = "fail", this.iframe = void 0, this.loadingLayer?.setReloadButton(), this.logger.error(
|
|
82
|
-
}, !1);
|
|
142
|
+
}, !1), this.iframe.addEventListener("error", (t) => {
|
|
143
|
+
this.retainLoadingLayer = !1, this.loadingLayer?.removeLoadingLayer(), this.loadStatus = "fail", this.iframe = void 0, this.loadingLayer?.setReloadButton(), this.logger.error(t), this.owner.events.emit(e.DocumentLoadFailed, this, t), this.loadCompleted(!0);
|
|
144
|
+
}, !1), n.isFirefox() && (this.iframe.srcdoc = "<!DOCTYPE html><html><head></head><body></body></html>");
|
|
83
145
|
let o = this.iframe.contentDocument;
|
|
84
|
-
this.options.preferSrcdoc && "srcdoc" in this.iframe || !("write" in o) ? this.iframe.srcdoc = a : (o.open(), o.write(a), o.close(), await
|
|
146
|
+
this.options.preferSrcdoc && "srcdoc" in this.iframe || !("write" in o) ? this.iframe.srcdoc = a : (o.open(), o.write(a), o.close(), await c());
|
|
85
147
|
}
|
|
86
148
|
} else {
|
|
87
|
-
let
|
|
88
|
-
|
|
149
|
+
let e = await this.buildLoadingContent();
|
|
150
|
+
s(this.wrapperContainer, e), await this.processAfterLoaded(), await c();
|
|
89
151
|
}
|
|
90
|
-
} catch (
|
|
91
|
-
this.logger.error(
|
|
92
|
-
} finally {
|
|
93
|
-
await this.loadingLayer?.dispose(), this.loadingLayer = void 0;
|
|
152
|
+
} catch (t) {
|
|
153
|
+
this.logger.error(t), this.retainLoadingLayer = !1, this.owner?.context ? (this.loadingLayer?.removeLoadingLayer(), this.loadStatus = "fail", this.iframe = void 0, this.loadingLayer?.setReloadButton(), this.owner.events.emit(e.DocumentLoadFailed, this, t?.toString()), this.loadCompleted(!0)) : (await this.releaseLoadingLayer(), this.loadCompleted(!0));
|
|
94
154
|
}
|
|
95
155
|
}
|
|
96
156
|
});
|
|
97
157
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
158
|
+
prepareCoveredLoad() {
|
|
159
|
+
this.retainLoadingLayer = !0;
|
|
160
|
+
}
|
|
161
|
+
async revealCoveredLoad() {
|
|
162
|
+
this.retainLoadingLayer = !1;
|
|
163
|
+
try {
|
|
164
|
+
await this.waitForRevealPaint(), await this.fadeOutCover();
|
|
165
|
+
} finally {
|
|
166
|
+
await this.releaseLoadingLayer();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
resetLayoutSizes() {
|
|
170
|
+
this.resetIframeMinSize();
|
|
171
|
+
}
|
|
172
|
+
captureLayoutState() {
|
|
173
|
+
return this.layoutStatePreserver.capture();
|
|
174
|
+
}
|
|
175
|
+
async restoreLayoutState(e) {
|
|
176
|
+
await this.layoutStatePreserver.restore(e);
|
|
177
|
+
}
|
|
178
|
+
resetIframeMinSize() {
|
|
179
|
+
let e = this.getContentRootElement();
|
|
180
|
+
if (!e || !this.iframe) return;
|
|
181
|
+
let t = h(this.options), n = a(e.ownerDocument);
|
|
182
|
+
if (this.iframe.style.removeProperty("transform"), this.iframe.style.removeProperty("will-change"), t.useColumnLayout) {
|
|
183
|
+
this.growIframeToColumnOverflow(e, n, t.pageAxis), this.pageCalculator.calcNumberOfPages(!0);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (t.iframeGrow == "width") {
|
|
187
|
+
this.iframe.style.removeProperty("min-height"), this.iframe.style.removeProperty("min-width");
|
|
188
|
+
let t = this.getParentContentHeight(this.iframe.parentElement) || this.iframe.clientHeight;
|
|
189
|
+
this.iframe.style.height = t ? t + "px" : `var(${_.ContentContainerHeight})`, this.iframe.style.width = "auto", t && (e.style.height = t + "px", e.style.maxHeight = t + "px", n && (n.style.height = t + "px", n.style.maxHeight = t + "px")), this.iframe.offsetWidth, this.iframe.style.minWidth = Math.max(1, e.scrollWidth) + "px";
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
this.clearInlineContentBox(e, n), this.iframe.style.removeProperty("min-width"), this.iframe.style.removeProperty("min-height"), this.iframe.style.setProperty("width", this.options.forceScroll ? "100%" : `var(${_.ContentContainerWidth})`), this.iframe.style.height = "auto", this.iframe.offsetHeight;
|
|
193
|
+
let r = Math.max(1, e.scrollHeight, n?.scrollHeight ?? 0);
|
|
194
|
+
this.iframe.style.setProperty("height", `var(${_.ContentContainerHeight})`), this.iframe.style.minHeight = Math.round(r) + "px";
|
|
195
|
+
}
|
|
196
|
+
growIframeToColumnOverflow(e, t, n) {
|
|
197
|
+
this.clearInlineContentBox(e, t), this.iframe.style.removeProperty("min-width"), this.iframe.style.removeProperty("min-height");
|
|
198
|
+
let r = this.getPageBoxSize();
|
|
199
|
+
this.lockIframeToPageBox(r);
|
|
200
|
+
let i = this.iframe.parentElement, a = i?.style.width ?? "", o = i?.style.minWidth ?? "", s = r.width;
|
|
201
|
+
i && n == "x" && s > 0 && (i.style.width = `${s}px`, i.style.minWidth = `${s}px`);
|
|
202
|
+
let c = this.beginColumnOverflowMeasure(e, t, n);
|
|
203
|
+
try {
|
|
204
|
+
if (n == "y") {
|
|
205
|
+
this.iframe.offsetHeight, e.offsetHeight;
|
|
206
|
+
let n = this.measureOccupiedColumnLength(e, t, "y", r.height);
|
|
207
|
+
this.iframe.style.setProperty("height", `var(${_.ContentContainerHeight})`), this.iframe.style.minHeight = n + "px";
|
|
208
|
+
return;
|
|
114
209
|
}
|
|
210
|
+
this.iframe.offsetWidth, e.offsetWidth;
|
|
211
|
+
let i = this.measureOccupiedColumnLength(e, t, "x", r.width);
|
|
212
|
+
this.iframe.style.setProperty("width", `var(${_.ContentContainerWidth})`), this.iframe.style.minWidth = i + "px";
|
|
213
|
+
} finally {
|
|
214
|
+
c(), i && (a ? i.style.width = a : i.style.removeProperty("width"), o ? i.style.minWidth = o : i.style.removeProperty("min-width"));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
measureOccupiedColumnLength(e, t, n, r) {
|
|
218
|
+
let i = r > 0 ? r : 1, a = this.getColumnGap(), o = i + a, s = this.measureContentExtent(e, t, n), c = Math.max(1, Math.floor(((s > 1 ? s : i) - 1) / o) + 1);
|
|
219
|
+
return Math.round(c * i + Math.max(0, c - 1) * a);
|
|
220
|
+
}
|
|
221
|
+
measureContentExtent(e, t, n) {
|
|
222
|
+
let r = e.getBoundingClientRect(), i = this.getLastContentElement(t);
|
|
223
|
+
if (i) {
|
|
224
|
+
let e = i.getBoundingClientRect(), t = n == "y" ? e.bottom - r.top : e.right - r.left;
|
|
225
|
+
if (t > 1) return t;
|
|
226
|
+
}
|
|
227
|
+
if (t) {
|
|
228
|
+
let e = t.getBoundingClientRect();
|
|
229
|
+
return n == "y" ? e.height : e.width;
|
|
115
230
|
}
|
|
231
|
+
return n == "y" ? e.scrollHeight : e.scrollWidth;
|
|
232
|
+
}
|
|
233
|
+
getLastContentElement(e) {
|
|
234
|
+
if (!e) return null;
|
|
235
|
+
let t = e.querySelector(`[${r}="true"]`);
|
|
236
|
+
return t instanceof HTMLElement ? t : e.lastElementChild instanceof HTMLElement ? e.lastElementChild : null;
|
|
237
|
+
}
|
|
238
|
+
getColumnGap() {
|
|
239
|
+
let e = this.owner.getRenderer()?.getRendererContainer(), t = parseFloat(e?.getAttribute("data-column-gap") ?? "");
|
|
240
|
+
return Number.isFinite(t) && t > 0 ? t : 0;
|
|
241
|
+
}
|
|
242
|
+
getPageBoxSize() {
|
|
243
|
+
let e = this.owner.getRenderer()?.getRendererContainer(), t = parseFloat(e?.getAttribute("data-column-width") ?? "") || Math.round(this.iframe.getBoundingClientRect().width), n = parseFloat(e?.getAttribute("data-page-height") ?? "") || Math.round(this.iframe.getBoundingClientRect().height);
|
|
244
|
+
return {
|
|
245
|
+
width: Number.isFinite(t) ? Math.round(t) : 0,
|
|
246
|
+
height: Number.isFinite(n) ? Math.round(n) : 0
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
lockIframeToPageBox(e = this.getPageBoxSize()) {
|
|
250
|
+
e.width > 0 ? this.iframe.style.width = `${e.width}px` : this.iframe.style.setProperty("width", `var(${_.ContentContainerWidth})`), e.height > 0 ? this.iframe.style.height = `${e.height}px` : this.iframe.style.setProperty("height", `var(${_.ContentContainerHeight})`), this.iframe.offsetWidth;
|
|
251
|
+
}
|
|
252
|
+
beginColumnOverflowMeasure(e, t, n) {
|
|
253
|
+
let r = e.style.minWidth, i = e.style.direction, a = t?.style.direction ?? "", o = e.classList.contains(f.RtlProgressionClassName), s = h(this.options).measureColumnsAsLtr;
|
|
254
|
+
return e.style.setProperty("min-width", "0", "important"), s && (e.style.setProperty("direction", "ltr", "important"), t?.style.setProperty("direction", "ltr", "important"), e.classList.remove(f.RtlProgressionClassName)), () => {
|
|
255
|
+
r ? e.style.minWidth = r : e.style.removeProperty("min-width"), s && (i ? e.style.direction = i : e.style.removeProperty("direction"), t && (a ? t.style.direction = a : t.style.removeProperty("direction")), o && e.classList.add(f.RtlProgressionClassName));
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
clearInlineContentBox(e, t) {
|
|
259
|
+
e.style.removeProperty("height"), e.style.removeProperty("max-height"), e.style.removeProperty("width"), t && (t.style.removeProperty("height"), t.style.removeProperty("max-height"), t.style.removeProperty("width"));
|
|
260
|
+
}
|
|
261
|
+
getParentContentHeight(e) {
|
|
262
|
+
if (!e) return 0;
|
|
263
|
+
let t = e.ownerDocument.defaultView?.getComputedStyle(e), n = parseFloat(t?.paddingTop ?? "0") || 0, r = parseFloat(t?.paddingBottom ?? "0") || 0;
|
|
264
|
+
return Math.max(0, Math.round(e.clientHeight - n - r));
|
|
116
265
|
}
|
|
117
266
|
async getContent() {
|
|
118
|
-
return this.docContent ? this.docContent : (this.docContent = await (await this.fileParser.getTextDocument(this.url)).getPlaintext(), this.docContent.length > this.options.singleDocMaxSize ?
|
|
267
|
+
return this.docContent ? this.docContent : (this.docContent = await (await this.fileParser.getTextDocument(this.url)).getPlaintext(), this.docContent.length > this.options.singleDocMaxSize ? y(this.docContent.length) : this.docContent);
|
|
119
268
|
}
|
|
120
269
|
async getFormattedVirtualDocument() {
|
|
121
270
|
if (this.formattedVirtualDocument) return this.formattedVirtualDocument;
|
|
@@ -139,46 +288,44 @@ var _ = class extends u {
|
|
|
139
288
|
return this.inIframe ? this.iframe?.contentDocument?.documentElement : this.wrapperContainer;
|
|
140
289
|
}
|
|
141
290
|
getContentContainer() {
|
|
142
|
-
return this.inIframe ?
|
|
291
|
+
return this.inIframe ? a(this.iframe?.contentDocument) : this.wrapperContainer;
|
|
143
292
|
}
|
|
144
293
|
async getVirtualContentContainer(e) {
|
|
145
294
|
if (e) {
|
|
146
295
|
let e = await this.fileParser.getTextDocument(this.url);
|
|
147
|
-
return
|
|
296
|
+
return a(await e.getFormattedDocument());
|
|
148
297
|
}
|
|
149
298
|
let t = await this.getFormattedVirtualDocument();
|
|
150
|
-
return
|
|
299
|
+
return a(t);
|
|
151
300
|
}
|
|
152
301
|
getVisibleElements(e) {
|
|
153
302
|
if (this.loadStatus != "success") return [];
|
|
154
303
|
let t = this.getContentContainer(), n = t?.ownerDocument?.defaultView;
|
|
155
304
|
if (!t || !n) return [];
|
|
156
|
-
this.visibilityCandidates ||=
|
|
157
|
-
let r = this.
|
|
158
|
-
return i ?
|
|
159
|
-
writingMode: this.
|
|
305
|
+
this.visibilityCandidates ||= m(t, { htmlBlockTags: this.options.htmlBlockTags });
|
|
306
|
+
let r = this.owner.getRenderer()?.getRendererContainer().getBoundingClientRect().top, i = u(n, { topInset: r });
|
|
307
|
+
return i ? l(this.visibilityCandidates, i, {
|
|
308
|
+
writingMode: h(this.options).writingMode,
|
|
160
309
|
fullVisible: e
|
|
161
310
|
}) : [];
|
|
162
311
|
}
|
|
163
312
|
async dispose() {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
313
|
+
let t = this.captureLayoutState();
|
|
314
|
+
this.owner.events.emit(e.DocumentDisposing, this), this.unbindDocumentEvents(), this.resizeObserver.unobserveIframeSize(), this.callbacks?.splice(0), this.visibilityCandidates = null, this.retainLoadingLayer = !1, await this.releaseLoadingLayer();
|
|
315
|
+
let n = this.getWrapperContainer();
|
|
316
|
+
n.classList.add(f.FileContentContainerHeightClassName), this.iframe && n.contains(this.iframe) && n.removeChild(this.iframe), o(this.wrapperContainer), this.iframe = void 0, this.formattedVirtualDocument = null, await this.symbolCalclator.dispose(), await this.restoreLayoutState(t), await super.dispose();
|
|
167
317
|
}
|
|
168
318
|
bindDocumentEvents() {
|
|
169
319
|
let e = this.inIframe ? this.getContentContainer().ownerDocument : this.getContentRootElement();
|
|
170
320
|
for (let t of this.eventKeyMap.keys()) e.addEventListener(t, this.eventListener, this.capture);
|
|
171
321
|
}
|
|
172
322
|
unbindDocumentEvents() {
|
|
173
|
-
let e = this.inIframe ? this.getContentContainer()
|
|
174
|
-
for (let t of this.eventKeyMap.keys()) e
|
|
175
|
-
}
|
|
176
|
-
isVerticalWriting(e) {
|
|
177
|
-
return e == "vertical-lr" || e == "vertical-rl";
|
|
323
|
+
let e = this.inIframe ? this.getContentContainer()?.ownerDocument : this.getContentRootElement();
|
|
324
|
+
if (e) for (let t of this.eventKeyMap.keys()) e?.removeEventListener(t, this.eventListener, this.capture);
|
|
178
325
|
}
|
|
179
326
|
getFlipMode() {
|
|
180
327
|
return this.options.forceScroll ? "scroll" : this.options.flipMode;
|
|
181
328
|
}
|
|
182
329
|
};
|
|
183
330
|
//#endregion
|
|
184
|
-
export {
|
|
331
|
+
export { T as HtmlDocument };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs");var
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("../documents/documentHiddenState.cjs");var n=class{constructor(e,t){this.doc=e,this.events=t,this.resizeObserver=null,this.lastContentWidth=NaN,this.lastContentHeight=NaN,this.isHidden=!1}observeIframeSize(t){this.resizeObserver=new ResizeObserver(async n=>{this.shouldIgnoreResize(n)||(await t?.(),this.events.emit(e.EventNames.DocumentSizeChange,this.doc))});let n=this.getContentRootElement();n&&this.resizeObserver.observe(n);let r=this.doc.getContentContainer();r&&r!=n&&this.resizeObserver.observe(r)}unobserveIframeSize(){if(this.resizeObserver){let e=this.getContentRootElement();e&&this.resizeObserver.unobserve(e);let t=this.doc.getContentContainer();t&&t!=e&&this.resizeObserver.unobserve(t),this.resizeObserver.disconnect(),this.resizeObserver=null}this.isHidden=!1,this.lastContentWidth=NaN,this.lastContentHeight=NaN}shouldIgnoreResize(e){if(this.isHostCollapsed())return this.isHidden=!0,!0;let t=this.getObservedSize(e);if(this.isHidden){if(t.width==0&&t.height==0)return!0;this.isHidden=!1;let e=this.isSameSize(t.width,t.height);return this.rememberSize(t.width,t.height),e}return this.rememberSize(t.width,t.height),!1}isHostCollapsed(){let e=this.doc.getWrapperContainer();if(e&&e.clientWidth==0&&e.clientHeight==0)return!0;let n=this.doc.owner.getRenderer()?.getRendererContainer(),r=this.doc.owner.getHostViewport().mode!=`window`;return t.isHostContainerCollapsed(n,r)}getObservedSize(e){let t=0,n=0;for(let r of e){let e=r.contentRect?.width??0,i=r.contentRect?.height??0;e>t&&(t=e),i>n&&(n=i)}return{width:t,height:n}}isSameSize(e,t){return Number.isFinite(this.lastContentWidth)&&Math.abs(e-this.lastContentWidth)<1&&Math.abs(t-this.lastContentHeight)<1}rememberSize(e,t){this.lastContentWidth=e,this.lastContentHeight=t}getContentRootElement(){return this.doc.inIframe?this.doc?.getContentContainer()?.ownerDocument?.documentElement:this.doc.getWrapperContainer()}};exports.HtmlDocumentResizeObserver=n;
|
|
@@ -5,8 +5,16 @@ export declare class HtmlDocumentResizeObserver {
|
|
|
5
5
|
private readonly doc;
|
|
6
6
|
private readonly events;
|
|
7
7
|
private resizeObserver;
|
|
8
|
+
private lastContentWidth;
|
|
9
|
+
private lastContentHeight;
|
|
10
|
+
private isHidden;
|
|
8
11
|
constructor(doc: IHtmlDocument, events: IEventEmitter);
|
|
9
12
|
observeIframeSize(callback?: () => Promise<void>): void;
|
|
10
13
|
unobserveIframeSize(): void;
|
|
14
|
+
private shouldIgnoreResize;
|
|
15
|
+
private isHostCollapsed;
|
|
16
|
+
private getObservedSize;
|
|
17
|
+
private isSameSize;
|
|
18
|
+
private rememberSize;
|
|
11
19
|
private getContentRootElement;
|
|
12
20
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { EventNames as e } from "../../../../kernal/EventNames.mjs";
|
|
2
|
+
import { isHostContainerCollapsed as t } from "../documents/documentHiddenState.mjs";
|
|
2
3
|
//#region mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.ts
|
|
3
|
-
var
|
|
4
|
+
var n = class {
|
|
4
5
|
constructor(e, t) {
|
|
5
|
-
this.doc = e, this.events = t, this.resizeObserver = null;
|
|
6
|
+
this.doc = e, this.events = t, this.resizeObserver = null, this.lastContentWidth = NaN, this.lastContentHeight = NaN, this.isHidden = !1;
|
|
6
7
|
}
|
|
7
8
|
observeIframeSize(t) {
|
|
8
|
-
this.resizeObserver = new ResizeObserver(async () => {
|
|
9
|
-
await t?.(), this.events.emit(e.DocumentSizeChange, this.doc);
|
|
9
|
+
this.resizeObserver = new ResizeObserver(async (n) => {
|
|
10
|
+
this.shouldIgnoreResize(n) || (await t?.(), this.events.emit(e.DocumentSizeChange, this.doc));
|
|
10
11
|
});
|
|
11
12
|
let n = this.getContentRootElement();
|
|
12
13
|
n && this.resizeObserver.observe(n);
|
|
@@ -20,10 +21,45 @@ var t = class {
|
|
|
20
21
|
let t = this.doc.getContentContainer();
|
|
21
22
|
t && t != e && this.resizeObserver.unobserve(t), this.resizeObserver.disconnect(), this.resizeObserver = null;
|
|
22
23
|
}
|
|
24
|
+
this.isHidden = !1, this.lastContentWidth = NaN, this.lastContentHeight = NaN;
|
|
25
|
+
}
|
|
26
|
+
shouldIgnoreResize(e) {
|
|
27
|
+
if (this.isHostCollapsed()) return this.isHidden = !0, !0;
|
|
28
|
+
let t = this.getObservedSize(e);
|
|
29
|
+
if (this.isHidden) {
|
|
30
|
+
if (t.width == 0 && t.height == 0) return !0;
|
|
31
|
+
this.isHidden = !1;
|
|
32
|
+
let e = this.isSameSize(t.width, t.height);
|
|
33
|
+
return this.rememberSize(t.width, t.height), e;
|
|
34
|
+
}
|
|
35
|
+
return this.rememberSize(t.width, t.height), !1;
|
|
36
|
+
}
|
|
37
|
+
isHostCollapsed() {
|
|
38
|
+
let e = this.doc.getWrapperContainer();
|
|
39
|
+
if (e && e.clientWidth == 0 && e.clientHeight == 0) return !0;
|
|
40
|
+
let n = this.doc.owner.getRenderer()?.getRendererContainer(), r = this.doc.owner.getHostViewport().mode != "window";
|
|
41
|
+
return t(n, r);
|
|
42
|
+
}
|
|
43
|
+
getObservedSize(e) {
|
|
44
|
+
let t = 0, n = 0;
|
|
45
|
+
for (let r of e) {
|
|
46
|
+
let e = r.contentRect?.width ?? 0, i = r.contentRect?.height ?? 0;
|
|
47
|
+
e > t && (t = e), i > n && (n = i);
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
width: t,
|
|
51
|
+
height: n
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
isSameSize(e, t) {
|
|
55
|
+
return Number.isFinite(this.lastContentWidth) && Math.abs(e - this.lastContentWidth) < 1 && Math.abs(t - this.lastContentHeight) < 1;
|
|
56
|
+
}
|
|
57
|
+
rememberSize(e, t) {
|
|
58
|
+
this.lastContentWidth = e, this.lastContentHeight = t;
|
|
23
59
|
}
|
|
24
60
|
getContentRootElement() {
|
|
25
61
|
return this.doc.inIframe ? this.doc?.getContentContainer()?.ownerDocument?.documentElement : this.doc.getWrapperContainer();
|
|
26
62
|
}
|
|
27
63
|
};
|
|
28
64
|
//#endregion
|
|
29
|
-
export {
|
|
65
|
+
export { n as HtmlDocumentResizeObserver };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/common/number.cjs"),t=require("../../../../kernal/html/finder.cjs"),n=require("../../../../kernal/html/style.cjs"),r=require("../../HtmlSettings.cjs");var
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/common/number.cjs"),t=require("../../../../kernal/html/finder.cjs"),n=require("../../../../kernal/html/style.cjs"),r=require("../../../../kernal/html/geometry.cjs"),i=require("../../HtmlSettings.cjs"),a=require("../layout/resolveLayoutRoute.cjs");var o=class{constructor(e,t,n){this.doc=e,this.layout=t,this.options=n}calcNumberOfPages(t){let r=1,o=a.getLayoutGeometry(this.options);if(o.flipMode==`scroll`)return r;let s=this.doc.getContentContainer()?.ownerDocument?.documentElement;if(!s||!s.firstElementChild)return 1;if(!t&&(r=e.parseNumber(s.getAttribute(i.HtmlSettings.HtmlDocumentNumperOfPagesPropertyName),0,`parseInt`),r>1))return r;let c=this.layout.getLayoutMetrics(),l=this.getIframe(),u=o.getOccupiedLength(l,s),d=Math.max(1,u),f=n.getTransformLength(s,o.pageAxis);return Math.abs(f)>0&&(d=f+d),r=Math.floor(d/c.pageMoveLength),d%c.pageMoveLength>c.columnGap&&(r+=1),s.setAttribute(i.HtmlSettings.HtmlDocumentNumperOfPagesPropertyName,r.toString()),r}getPageNumber(e){if(!e)return 1;let i=this.doc.getContentContainer()?.ownerDocument;if(!t.getDocumentBody(i)||!r.isDomRange(e)&&t.compareTagName(`BODY`,e.tagName))return 1;let o=this.layout.getLayoutMetrics(),s=a.getLayoutGeometry(this.options),c=r.getLocateClientRect(e),l=n.getTransformLength(i.documentElement,`x`),u=n.getTransformLength(i.documentElement,`y`),d=s.getLocateAxisOffset({left:c?.left??0,top:c?.top??0},l,u);return s.getPageNumberFromPoint({axisOffset:d,pageMoveLength:o.pageMoveLength,pageLength:s.getPageBoxLength(o),numberOfPages:this.calcNumberOfPages()})}getIframe(){return this.doc.getContentContainer()?.ownerDocument?.defaultView?.frameElement}};exports.HtmlPageCalculator=o;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LocateTarget } from '../../../../kernal/html/geometry';
|
|
1
2
|
import { IRendererViewport } from '../../../../kernal/IRendererViewport';
|
|
2
3
|
import { IHtmlDocument } from '../IHtmlDocument';
|
|
3
4
|
import { HtmlLayoutMetrics } from '../layout/HtmlLayoutMetrics';
|
|
@@ -9,9 +10,6 @@ export declare class HtmlPageCalculator {
|
|
|
9
10
|
private readonly options;
|
|
10
11
|
constructor(doc: IHtmlDocument, layout: IRendererViewport<HtmlLayoutMetrics>, options: HtmlOptions);
|
|
11
12
|
calcNumberOfPages(update?: boolean): number;
|
|
12
|
-
getPageNumber(
|
|
13
|
+
getPageNumber(target: LocateTarget): number;
|
|
13
14
|
private getIframe;
|
|
14
|
-
private getContentRootElement;
|
|
15
|
-
private transformCurrentDocument;
|
|
16
|
-
private isVerticalWriting;
|
|
17
15
|
}
|