@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
package/dist/kernal/Options.mjs
CHANGED
|
@@ -2,13 +2,7 @@ import { toCssVariableName as e } from "./common/naming.mjs";
|
|
|
2
2
|
//#region kernal/Options.ts
|
|
3
3
|
var t = class {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.debug = !0, this.
|
|
6
|
-
}
|
|
7
|
-
static {
|
|
8
|
-
this.HeaderHeight = e("headerHeight");
|
|
9
|
-
}
|
|
10
|
-
static {
|
|
11
|
-
this.FooterHeight = e("footerHeight");
|
|
5
|
+
this.debug = !0, this.redirectPositionOffset = 5, this.themeName = "default", this.wallpaperName = "default", this.calcScrollDirection = !0, this.enableInjectResetCss = !1, this.iframeRequiredExtensions = [], this.scrollbarSize = "10px", this.scrollbarRadius = "4px", this.scrollbarBorder = "1px";
|
|
12
6
|
}
|
|
13
7
|
static {
|
|
14
8
|
this.ScrollbarSize = e("scrollbarSize");
|
|
@@ -20,16 +14,10 @@ var t = class {
|
|
|
20
14
|
this.ScrollbarBorder = e("scrollbarBorder");
|
|
21
15
|
}
|
|
22
16
|
}, n = [
|
|
23
|
-
"headerHeight",
|
|
24
|
-
"footerHeight",
|
|
25
17
|
"scrollbarSize",
|
|
26
18
|
"scrollbarRadius",
|
|
27
19
|
"scrollbarBorder"
|
|
28
20
|
], r = (e) => n.includes(e), i = [
|
|
29
|
-
"headerHeight",
|
|
30
|
-
"enableHeader",
|
|
31
|
-
"footerHeight",
|
|
32
|
-
"enableFooter",
|
|
33
21
|
"zenMode",
|
|
34
22
|
"scrollbarSize",
|
|
35
23
|
"scrollbarRadius",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EventNames.cjs"),t=require("./Options.cjs");var n=class{constructor(e,t){this.events=e,this.options=t}applyCssVariables(e){e.style.setProperty(t.Options.ScrollbarSize,this.options.scrollbarSize),e.style.setProperty(t.Options.ScrollbarRadius,this.options.scrollbarRadius),e.style.setProperty(t.Options.ScrollbarBorder,this.options.scrollbarBorder)}setOptionValue(t,n){t in this.options&&(Object.assign(this.options,{[t]:n}),this.events.emit(e.EventNames.OptionsChange,t,n))}};exports.OptionsProvider=n;
|
|
@@ -5,8 +5,6 @@ export declare class OptionsProvider {
|
|
|
5
5
|
private readonly events;
|
|
6
6
|
private readonly options;
|
|
7
7
|
constructor(events: IEventEmitter, options: Options);
|
|
8
|
-
getHeaderHeight(): number;
|
|
9
|
-
getFooterHeight(): number;
|
|
10
8
|
applyCssVariables(rootElement: HTMLElement): void;
|
|
11
9
|
setOptionValue<K extends keyof Options>(key: K, value: Options[K]): void;
|
|
12
10
|
}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { EventNames as e } from "./EventNames.mjs";
|
|
2
|
+
import { Options as t } from "./Options.mjs";
|
|
3
3
|
//#region kernal/OptionsProvider.ts
|
|
4
4
|
var n = class {
|
|
5
5
|
constructor(e, t) {
|
|
6
6
|
this.events = e, this.options = t;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return isNaN(e) || e < 0 || e == 0 && this.options.enableHeader && !this.options.zenMode ? this.options.defaultHeaderHeight : e;
|
|
8
|
+
applyCssVariables(e) {
|
|
9
|
+
e.style.setProperty(t.ScrollbarSize, this.options.scrollbarSize), e.style.setProperty(t.ScrollbarRadius, this.options.scrollbarRadius), e.style.setProperty(t.ScrollbarBorder, this.options.scrollbarBorder);
|
|
11
10
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return isNaN(e) || e < 0 || e == 0 && this.options.enableFooter && !this.options.zenMode ? this.options.defaultFooterHeight : e;
|
|
15
|
-
}
|
|
16
|
-
applyCssVariables(t) {
|
|
17
|
-
t.style.setProperty(e.HeaderHeight, this.getHeaderHeight() + "px"), t.style.setProperty(e.FooterHeight, this.getFooterHeight() + "px"), t.style.setProperty(e.ScrollbarSize, this.options.scrollbarSize), t.style.setProperty(e.ScrollbarRadius, this.options.scrollbarRadius), t.style.setProperty(e.ScrollbarBorder, this.options.scrollbarBorder);
|
|
18
|
-
}
|
|
19
|
-
setOptionValue(e, n) {
|
|
20
|
-
e in this.options && (Object.assign(this.options, { [e]: n }), this.events.emit(t.OptionsChange, e, n));
|
|
11
|
+
setOptionValue(t, n) {
|
|
12
|
+
t in this.options && (Object.assign(this.options, { [t]: n }), this.events.emit(e.OptionsChange, t, n));
|
|
21
13
|
}
|
|
22
14
|
};
|
|
23
15
|
//#endregion
|
package/dist/kernal/Reader.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./web/BrowserCapabilities.cjs"),t=require("./common/naming.cjs"),n=require("./Options.cjs"),r=require("./Theme.cjs"),i=require("./common/uuid.cjs"),a=require("./common/object.cjs"),o=require("./EventNames.cjs"),s=require("./FileLoader.cjs"),c=require("./html/dom.cjs"),l=require("./html/injector.cjs"),u=require("./plugins/PluginManager.cjs"),d=require("./OptionsProvider.cjs");var f=class{constructor(e,i){this.currentIsLoaded=!1,this.currentIsDidposed=!1,this.currentIsCancelled=!1,this.isInIframe=!1,this.bindEvents=()=>{this.events.on(o.EventNames.ProgressChange,this.storeProgress)},this.unbindEvents=()=>{this.events.off(o.EventNames.ProgressChange,this.storeProgress)},this.storeProgress=async e=>{this.readingProgressStore&&await this.readingProgressStore.save(this.context.simpleId,e)},this.changeTheme=async e=>{if(!e)return;this.options.themeName=e;let t=await this.getTheme(e);await this.applyGlobalTheme(t),await this.getRenderer()?.applyTheme(t),this.events.emit(o.EventNames.ThemeChange,t)},this.getTheme=async e=>{let t=await this.services.get(`themeProvider`),n;return n=t?t.getTheme(e):new r.Theme,n||=new r.Theme,n},this.applyGlobalTheme=async e=>{for(let n of r.ThemeCssKeys)this.rootContainer.style.setProperty(t.toCssVariableName(n),e[n]);if(e.vars)for(let[t,n]of Object.entries(e.vars))t&&this.rootContainer.style.setProperty(t,n);let n=r.Theme.getScrollStyles(`.${r.Theme.customScrollerClassName}`);l.injectCssContent(this.rootContainer.ownerDocument,n,!0,`custom-scroll-styles`)},this.fileLoader=new s.FileLoader(e,i,this),this.fileLoader.services.asReaderServices().registerUiServices(),this.options=this.fileLoader.options,this.version=this.fileLoader.version,this.logger=this.fileLoader.loggerFactory.getLogger(this.constructor.name),this.pluginManager=new u.PluginManager(this,this.fileLoader.loggerFactory,this.services,this.version),this.optionsProvider=new d.OptionsProvider(this.events,this.options),this.events.on(o.EventNames.OptionsChange,e=>{this.rootContainer&&n.isOptionKey(e)&&this.optionsProvider.applyCssVariables(this.rootContainer)})}get id(){return this.fileLoader.id}get services(){return this.fileLoader.services.asReaderServices()}get platform(){return this.fileLoader.platform}get environment(){return this.fileLoader.environment}get device(){return this.fileLoader.device}get loggerFactory(){return this.fileLoader.loggerFactory}get events(){return this.fileLoader.events}get readerInfo(){return this.fileLoader.readerInfo}get mediaTypeRegistry(){return this.fileLoader.mediaTypeRegistry}get locale(){return this.fileLoader.locale}get loaded(){return this.currentIsLoaded}get disposed(){return this.currentIsDidposed}get cancelled(){return this.currentIsCancelled||this.fileLoader.cancelled}get notifier(){return this.currentNotifier}get loading(){return this.currentLoading}async reload(){if(!this.container)return;let e=this.url,t=this.container,n=this.rootContainer,r=a.deepClone(this.openOptions);await this.clear(),await this.open(e,t,n,r)}async open(e,t,n,i){if(this.currentIsDidposed)throw Error(`reader is disposed.`);if(t==null)throw Error(`container is required. Use FileLoader for headless parse-only scenarios.`);if(this.fileLoader.inputFormatter.guardUrl(e),this.currentIsLoaded&&await this.clear(),this.currentIsDidposed=!1,this.loadFail=void 0,this.currentIsCancelled=!1,this.container=t,this.rootContainer=n,this.startLoadTime=new Date,this.events.emit(o.EventNames.StartLoadResource,{reader:this,startLoadTime:this.startLoadTime}),this.readerWrapper=this.fileLoader.inputFormatter.formatReaderWrapper(t),!this.readerWrapper)throw Error(`container is invalid.`);this.rootContainer||=this.readerWrapper,this.optionsProvider.applyCssVariables(this.rootContainer);let a=await this.getTheme(this.options.themeName);await this.applyGlobalTheme(a),this.currentNotifier=await this.services.get(`notifier`,!1),this.currentLoading=await this.services.get(`loading`,!1),c.emptyElement(this.readerWrapper),await this.loading?.initialize(this.readerWrapper,{backgroundColor:`var(${r.Theme.ReaderBackground})`,textColor:`var(${r.Theme.TextMutedColor})`,iconColor:`var(${r.Theme.TextAccentColor})`}),await this.loading?.show();try{await this.fileLoader.getFileParser()?.dispose();let t=await this.fileLoader.load(e,i,{measureFilePercentage:!0,prepareContext:async({extension:e})=>(this.isInIframe=!1,await this.createReaderContainer(e),{rootContainer:this.rootContainer,readerContainer:this.readerContainer,readerWrapper:this.readerWrapper}),afterParserReady:async()=>{await this.loading?.show()},isCancelled:()=>this.currentIsCancelled});this.abortController=t.abortController,await this.mountRenderer(t)}catch(e){throw this.loadFail=!0,e}finally{if(this.currentIsLoaded=!0,await this.loading?.hide(),this.readerWrapper){this.readerWrapper.style.removeProperty(`background`);let e=this.readerWrapper.getAttribute(`data-reader-wrapper-bg`);e&&this.readerWrapper.style.setProperty(`background`,e)}this.abortController&&=null,this.loadFail||this.events.emit(o.EventNames.ResourceLoad,{reader:this,startLoadTime:this.startLoadTime})}}async createReaderContainer(t){let n=this.options.iframeRequiredExtensions,a;if(!n.includes(t)||this.readerWrapper instanceof this.readerWrapper.ownerDocument.defaultView.window.HTMLBodyElement)this.readerContainer=l.createElement(this.readerWrapper.ownerDocument,`div`,i.getRandomId(!0),{style:`width:100%;height:100%;overflow: hidden;position:relative;background:var(`+r.Theme.ReaderBackground+`)`}),this.readerWrapper.appendChild(this.readerContainer),a=this.readerContainer.ownerDocument;else{this.isInIframe=!0;let t=this.createTopIFrame();this.readerWrapper.appendChild(t),e.BrowserCapabilities.isFirefox()&&(t.contentDocument.open(),t.contentDocument.close());let n=t.contentDocument;this.readerContainer=l.createElement(n,`div`,i.getRandomId(!0),{style:`width:100%;height:100%;overflow: hidden;position:relative;background:var(`+r.Theme.ReaderBackground+`)`}),n.body.appendChild(this.readerContainer),a=n,t.contentWindow.addEventListener(`click`,e=>{this.events.emit(o.EventNames.ReaderClick,{e,reader:this})},!0),t.contentWindow.addEventListener(`mouseenter`,e=>{this.events.emit(o.EventNames.ReaderMouseEnter,{e,reader:this})},!0)}this.rootContainer.addEventListener(`click`,e=>{this.events.emit(o.EventNames.ReaderClick,{e,reader:this})},!0),this.rootContainer.addEventListener(`mouseenter`,e=>{this.events.emit(o.EventNames.ReaderMouseEnter,{e,reader:this})},!0),this.readerContainer.setAttribute(`data-role`,`readerContainer`),await this.onContainerCreated?.();let s=this.readerWrapper.style.getPropertyValue(`background`);s&&this.readerWrapper.setAttribute(`data-reader-wrapper-bg`,s),(await this.services.get(`wallpaperProvider`))?.changeWallpaper(this.options.wallpaperName),this.options.enableInjectResetCss&&l.injectCssContent(a,`html{touch-action:none;touch-action:pan-y;}body *{box-sizing:border-box}html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{padding:0;margin:0;}ul,ol,li{list-style:none;}i,em{font-style:normal}img{border:0;}table{border-collapse:collapse;border-spacing:0;}table td{padding:0;margin:0;}table th.wztop{vertical-align:top;}.fl{float:left;}.fr{float:right;}section,article,aside,header,footer,nav,dialog,figure{display:block;padding:0;margin:0;}html{text-size-adjust: 100%;}`,!1,`reader_global_style`),await this.notifier.initialize(this.readerContainer)}async mountRenderer(e){this.options.enableProgressStore&&!this.readingProgressStore&&(this.readingProgressStore=await this.services.get(`readingProgressStore`)),this.unbindEvents(),this.renderer&&=(await this.renderer.dispose(),null);let t=await this.mediaTypeRegistry.createRenderer(this,e.fileParser,this.readerContainer);this.renderer=t,await this.onRenderer?.(this.renderer);let n=e.percentage,r=e.location;if(!isNaN(n)&&n<=1&&n>=0?await this.renderer.navigator.gotoPercentage(n):await this.renderer.load(r),this.renderer.getDocuments().length==0)throw Error(`Empty File`);let i=await this.getTheme(this.options.themeName);await this.getRenderer()?.applyTheme(i),await this.onRenderered?.(this.renderer),await this.loading?.hide(),this.events.emit(o.EventNames.RendererLoad,this.renderer),await this.pluginManager?.enablePlugins(e.extension),this.bindEvents()}get context(){return this.fileLoader.context}get url(){return this.fileLoader.url}get openOptions(){return this.fileLoader.openOptions}get extension(){return this.fileLoader.extension}get resourceIsUnload(){return!this.currentIsLoaded}get inIframe(){return this.isInIframe}getFileParser(){return this.fileLoader.getFileParser()}getRenderer(){return this.renderer}async goto(e){await this.getRenderer()?.navigator.goto(e)}async gotoUrl(e){await this.getRenderer()?.navigator.gotoUrl(e)}async gotoPercentage(e,t){await this.getRenderer()?.navigator.gotoPercentage(e,t)}createTopIFrame(t){let n=l.createElement(document,`iframe`,t);return e.BrowserCapabilities.isFirefox()?n.setAttribute(`src`,`javascript:`):n.setAttribute(`src`,`about:blank`),n.setAttribute(`frameborder`,`0`),n.setAttribute(`border`,`0`),n.setAttribute(`allowfullscreen`,`true`),n.setAttribute(`width`,`100%`),n.setAttribute(`height`,`100%`),n.setAttribute(`style`,`margin:0;padding:0`),n}getReaderContainer(){return this.readerContainer}getRootContainer(){return this.rootContainer}async dispose(){await this.onDisposing?.(),await this.clear(),this.currentIsDidposed=!0,this.fileLoader.markDisposed(),await this.onDisposed?.(),this.events.emit(o.EventNames.ReaderDisposed,this)}async clear(){try{if(this.context?.id&&this.startLoadTime){let e=await this.renderer?.progressTracker.getProgress(!0);e&&this.events.emit(o.EventNames.ResourceUnload,{reader:this,simpleId:this.context.simpleId,resourceId:this.context.id,startLoadTime:this.startLoadTime,progress:e})}this.abortController&&(this.abortController.abort(`Cancelled`),this.abortController=null,this.logger.info(`User cancelled task,url`,this.url),this.currentIsCancelled=!0)}catch{}await this.pluginManager?.dispose(),this.renderer&&=(await this.renderer.dispose(),null),await this.fileLoader.clear(),this.readerWrapper&&c.emptyElement(this.readerWrapper),this.startLoadTime=null,this.currentIsLoaded=!1,this.events.emit(o.EventNames.ReaderCleared,this)}};exports.Reader=f;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EventNames.cjs"),t=require("./common/data.cjs"),n=require("./common/object.cjs"),r=require("./common/uuid.cjs"),i=require("./web/BrowserCapabilities.cjs"),a=require("./common/naming.cjs"),o=require("./Options.cjs"),s=require("./OpenOptions.cjs"),c=require("./services/ServiceCollection.cjs"),l=require("./FileLoader.cjs"),u=require("./html/dom.cjs"),d=require("./hostViewport.cjs"),f=require("./html/injector.cjs"),p=require("./plugins/PluginManager.cjs"),m=require("./Theme.cjs"),h=require("./OptionsProvider.cjs");var g=class{constructor(n,r){if(this.currentIsLoaded=!1,this.currentIsDidposed=!1,this.currentIsCancelled=!1,this.isInIframe=!1,this.getParsingText=()=>this.locale.getText(`share_parsing_text`,`Parsing...`),this.createFileDownloadingCallback=()=>async(e,n,r)=>{if(r){await this.loading?.show(this.getParsingText());return}let i=e>0?e:n,a=t.formatFileSize(n),o=t.formatFileSize(i),s=this.locale.getText(`share_loading_file_progress`,`Loading file... {loaded}/{total}`,{loaded:a,total:o});await this.loading?.show(s)},this.changeTheme=async t=>{if(!t)return;this.options.themeName=t;let n=await this.getTheme(t);await this.applyTheme(n),await this.getRenderer()?.applyTheme(n),this.events.emit(e.EventNames.ThemeChange,n)},this.getTheme=async e=>{let t=await this.services.get(`themeProvider`),n;return n=t?t.getTheme(e):new m.Theme,n||=new m.Theme,n},this.applyTheme=async e=>{for(let t of m.ThemeCssKeys)this.rootContainer.style.setProperty(a.toCssVariableName(t),e[t]);if(e.vars)for(let[t,n]of Object.entries(e.vars))t&&this.rootContainer.style.setProperty(t,n);let t=m.Theme.getScrollStyles(`.${m.Theme.customScrollerClassName}`);f.injectCssContent(this.rootContainer.ownerDocument,t,!0,`custom-scroll-styles`)},this.fileLoader=new l.FileLoader(n,r,this),r)for(let e of c.UI_SERVICE_KEYS){let t=r[e];t!==void 0&&this.services.add(e,()=>t)}this.services.registerUiServices(),this.options=this.fileLoader.options,this.version=this.fileLoader.version,this.logger=this.fileLoader.loggerFactory.getLogger(this.constructor.name),this.pluginManager=new p.PluginManager(this,this.fileLoader.loggerFactory,this.services,this.version),this.optionsProvider=new h.OptionsProvider(this.events,this.options),this.events.on(e.EventNames.OptionsChange,e=>{this.rootContainer&&o.isOptionKey(e)&&this.optionsProvider.applyCssVariables(this.rootContainer)})}get id(){return this.fileLoader.id}get services(){return this.fileLoader.services.asReaderServices()}get device(){return this.fileLoader.device}get loggerFactory(){return this.fileLoader.loggerFactory}get events(){return this.fileLoader.events}get readerInfo(){return this.fileLoader.readerInfo}get mediaTypeRegistry(){return this.fileLoader.mediaTypeRegistry}get locale(){return this.fileLoader.locale}get loaded(){return this.currentIsLoaded}get disposed(){return this.currentIsDidposed}get cancelled(){return this.currentIsCancelled||this.fileLoader.cancelled}get notifier(){return this.currentNotifier}get loading(){return this.currentLoading}async reload(){if(!this.container)return;let e=this.url,t=this.container,r=this.rootContainer,i=n.deepClone(this.openOptions);await this.clear(),await this.open(e,t,r,i)}async open(t,n,r,i){if(this.currentIsDidposed)throw Error(`reader is disposed.`);if(n==null)throw Error(`container is required. Use FileLoader for headless parse-only scenarios.`);if(this.fileLoader.inputFormatter.guardUrl(t),this.currentIsLoaded&&await this.clear(),this.currentIsDidposed=!1,this.loadFail=void 0,this.currentIsCancelled=!1,this.container=n,this.rootContainer=r,this.startLoadTime=new Date,this.events.emit(e.EventNames.StartLoadResource,{reader:this,startLoadTime:this.startLoadTime}),this.readerWrapper=this.fileLoader.inputFormatter.formatReaderWrapper(n),!this.readerWrapper)throw Error(`container is invalid.`);this.rootContainer||=this.readerWrapper,this.optionsProvider.applyCssVariables(this.rootContainer);let a=await this.getTheme(this.options.themeName);await this.applyTheme(a),this.currentNotifier=await this.services.get(`notifier`,!1),this.currentLoading=await this.services.get(`loading`,!1),u.emptyElement(this.readerWrapper),this.hostViewport=d.resolveHostViewport(this.readerWrapper),this.readerWrapper.setAttribute(`data-viewport-mode`,this.hostViewport.mode),this.hostViewport.mode==`window`&&!this.readerWrapper.style.minHeight&&(this.readerWrapper.style.minHeight=this.hostViewport.height+`px`,this.readerWrapper.setAttribute(`data-fc-auto-min-height`,`true`)),await this.loading?.initialize(this.readerWrapper,{backgroundColor:`var(${m.Theme.ReaderBackground})`,textColor:`var(${m.Theme.TextMutedColor})`,iconColor:`var(${m.Theme.TextAccentColor})`}),await this.loading?.show();try{await this.fileLoader.getFileParser()?.dispose();let e=Object.assign(new s.OpenOptions,i);e.fileDownloadingCallback||=this.createFileDownloadingCallback();let n=await this.fileLoader.load(t,e,{measureFilePercentage:!0,prepareContext:async({extension:e})=>(this.isInIframe=!1,await this.createReaderContainer(e),{rootContainer:this.rootContainer,readerContainer:this.readerContainer,readerWrapper:this.readerWrapper}),afterParserReady:async()=>{await this.loading?.show(this.getParsingText())},isCancelled:()=>this.currentIsCancelled});this.abortController=n.abortController,await this.mountRenderer(n)}catch(e){throw this.loadFail=!0,e}finally{if(this.currentIsLoaded=!0,await this.loading?.hide(),this.readerWrapper){this.readerWrapper.style.removeProperty(`background`);let e=this.readerWrapper.getAttribute(`data-reader-wrapper-bg`);e&&this.readerWrapper.style.setProperty(`background`,e)}this.abortController&&=null,this.loadFail||this.events.emit(e.EventNames.ResourceLoad,{reader:this,startLoadTime:this.startLoadTime})}}async createReaderContainer(t){let n=this.options.iframeRequiredExtensions,a;if(!n.includes(t)||this.readerWrapper instanceof this.readerWrapper.ownerDocument.defaultView.window.HTMLBodyElement)this.readerContainer=f.createElement(this.readerWrapper.ownerDocument,`div`,r.getRandomId(!0),{style:this.getReaderContainerBoxStyle(t)}),this.readerWrapper.appendChild(this.readerContainer),a=this.readerContainer.ownerDocument;else{this.isInIframe=!0;let n=this.createTopIFrame();this.readerWrapper.appendChild(n),i.BrowserCapabilities.isFirefox()&&(n.srcdoc=`<!DOCTYPE html><html><head></head><body></body></html>`);let o=n.contentDocument;this.readerContainer=f.createElement(o,`div`,r.getRandomId(!0),{style:this.getReaderContainerBoxStyle(t)}),o.body.appendChild(this.readerContainer),a=o,n.contentWindow.addEventListener(`click`,t=>{this.events.emit(e.EventNames.ReaderClick,{e:t,reader:this})},!0),n.contentWindow.addEventListener(`mouseenter`,t=>{this.events.emit(e.EventNames.ReaderMouseEnter,{e:t,reader:this})},!0)}this.rootContainer.addEventListener(`click`,t=>{this.events.emit(e.EventNames.ReaderClick,{e:t,reader:this})},!0),this.rootContainer.addEventListener(`mouseenter`,t=>{this.events.emit(e.EventNames.ReaderMouseEnter,{e:t,reader:this})},!0),this.readerContainer.setAttribute(`data-role`,`readerContainer`),this.readerContainer.setAttribute(`data-viewport-mode`,this.getHostViewport().mode),await this.onContainerCreated?.(),await this.loading?.show();let o=this.readerWrapper.style.getPropertyValue(`background`);o&&this.readerWrapper.setAttribute(`data-reader-wrapper-bg`,o),(await this.services.get(`wallpaperProvider`))?.changeWallpaper(this.options.wallpaperName),this.options.enableInjectResetCss&&f.injectCssContent(a,`html{touch-action:none;touch-action:pan-y;}body *{box-sizing:border-box}html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{padding:0;margin:0;}ul,ol,li{list-style:none;}i,em{font-style:normal}img{border:0;}table{border-collapse:collapse;border-spacing:0;}table td{padding:0;margin:0;}section,article,aside,header,footer,nav,dialog,figure{padding:0;margin:0;}html{text-size-adjust: 100%;}`,!1,`reader_global_style`,(e,t)=>{e.insertBefore(t,e.firstChild)}),await this.notifier.initialize(this.readerContainer)}async mountRenderer(t){this.renderer&&=(await this.renderer.dispose(),null);let n=await this.mediaTypeRegistry.createRenderer(this,t.fileParser,this.readerContainer);this.renderer=n,await this.onRenderer?.(this.renderer);let r=t.percentage,i=t.location;if(!isNaN(r)&&r<=1&&r>=0?await this.renderer.navigator.gotoPercentage(r,{from:`restore`}):await this.renderer.load(i),this.renderer.getDocuments().length==0)throw Error(`Empty File`);let a=await this.getTheme(this.options.themeName);await this.getRenderer()?.applyTheme(a),await this.onRenderered?.(this.renderer),await this.loading?.hide(),this.events.emit(e.EventNames.RendererLoad,this.renderer),await this.pluginManager?.enablePlugins(t.extension)}get context(){return this.fileLoader.context}get url(){return this.fileLoader.url}get openOptions(){return this.fileLoader.openOptions}get extension(){return this.fileLoader.extension}get resourceIsUnload(){return!this.currentIsLoaded}get inIframe(){return this.isInIframe}getFileParser(){return this.fileLoader.getFileParser()}getRenderer(){return this.renderer}async goto(e){await this.getRenderer()?.navigator.goto(e)}async gotoUrl(e){await this.getRenderer()?.navigator.gotoUrl(e)}async gotoPercentage(e,t){await this.getRenderer()?.navigator.gotoPercentage(e,t)}createTopIFrame(e){let t=f.createElement(document,`iframe`,e);return i.BrowserCapabilities.isFirefox()?t.setAttribute(`src`,`javascript:`):t.setAttribute(`src`,`about:blank`),t.setAttribute(`frameborder`,`0`),t.setAttribute(`border`,`0`),t.setAttribute(`allowfullscreen`,`true`),t.setAttribute(`width`,`100%`),t.setAttribute(`height`,`100%`),t.setAttribute(`style`,`margin:0;padding:0`),t}getReaderContainer(){return this.readerContainer}getRootContainer(){return this.rootContainer}getHostViewport(){if(this.hostViewport)return this.hostViewport;let e=this.readerWrapper??this.rootContainer;return e?(this.hostViewport=d.resolveHostViewport(e),this.hostViewport):{mode:`window`,height:600,width:800,observerRoot:null,scrollElement:document.scrollingElement??document.documentElement,scrollWatchTarget:document}}refreshHostViewport(){let e=this.readerWrapper??this.rootContainer;return e?this.hostViewport?(this.hostViewport=d.refreshHostViewportSize(e,this.hostViewport),this.hostViewport):(this.hostViewport=d.resolveHostViewport(e),this.hostViewport):this.getHostViewport()}getReaderContainerBoxStyle(e){let t=this.getHostViewport(),n=`background:var(${m.Theme.ReaderBackground})`;return t.mode==`host`?`width:100%;height:100%;overflow:hidden;position:relative;${n}`:(e??``).toLowerCase().replace(/^\./,``)==`pdf`?`width:100%;height:${t.height}px;overflow:hidden;position:relative;${n}`:`width:100%;height:auto;min-height:${t.height}px;overflow:visible;position:relative;${n}`}async dispose(){await this.onDisposing?.(),await this.clear(),this.currentIsDidposed=!0,this.fileLoader.markDisposed(),await this.onDisposed?.(),this.events.emit(e.EventNames.ReaderDisposed,this)}async clear(){try{if(this.context?.id&&this.startLoadTime){let t=await this.renderer?.progressTracker.getProgress(!0);t&&this.events.emit(e.EventNames.ResourceUnload,{reader:this,simpleId:this.context.simpleId,resourceId:this.context.id,startLoadTime:this.startLoadTime,progress:t})}this.abortController&&(this.abortController.abort(`Cancelled`),this.abortController=null,this.logger.info(`User cancelled task,url`,this.url),this.currentIsCancelled=!0)}catch{}await this.pluginManager?.dispose(),this.renderer&&=(await this.renderer.dispose(),null),await this.fileLoader.clear(),this.readerWrapper&&(u.emptyElement(this.readerWrapper),this.readerWrapper.getAttribute(`data-fc-auto-min-height`)==`true`&&(this.readerWrapper.style.removeProperty(`min-height`),this.readerWrapper.removeAttribute(`data-fc-auto-min-height`)),this.readerWrapper.removeAttribute(`data-viewport-mode`)),this.startLoadTime=null,this.currentIsLoaded=!1,this.events.emit(e.EventNames.ReaderCleared,this)}};exports.Reader=g;
|
package/dist/kernal/Reader.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CoreServices, FileLoader } from './FileLoader';
|
|
2
|
+
import { HostViewport } from './hostViewport';
|
|
2
3
|
import { ILoading } from './services/loading/ILoading';
|
|
3
4
|
import { INotifier } from './services/notifier/INotifier';
|
|
4
|
-
import { ServiceCollection, ServiceMap } from './services/ServiceCollection';
|
|
5
|
+
import { ServiceCollection, ServiceMap, UiServiceMap } from './services/ServiceCollection';
|
|
5
6
|
import { IRenderer } from './IRenderer';
|
|
6
7
|
import { OpenOptions } from './OpenOptions';
|
|
7
8
|
import { Options } from './Options';
|
|
@@ -12,14 +13,14 @@ import { OptionsProvider } from './OptionsProvider';
|
|
|
12
13
|
import { LifecycleHooks } from './LifecycleHooks';
|
|
13
14
|
import { IFileParser } from './IFileParser';
|
|
14
15
|
import { IDocumentsProvider } from './IDocumentsProvider';
|
|
15
|
-
import {
|
|
16
|
-
import { IEnvironment } from './device/IEnvironment';
|
|
16
|
+
import { IDevice, ILocale } from '.';
|
|
17
17
|
import { ILoggerFactory } from './logger/ILoggerFactory';
|
|
18
18
|
import { IEventEmitter } from './IEventEmitter';
|
|
19
19
|
import { ReaderInfo } from './ReaderInfo';
|
|
20
20
|
import { MediaTypeRegistry } from './MediaTypeRegistry';
|
|
21
21
|
import { Context } from './Context';
|
|
22
22
|
|
|
23
|
+
export type ReaderServices = CoreServices & Partial<UiServiceMap>;
|
|
23
24
|
export declare class Reader implements LifecycleHooks {
|
|
24
25
|
readonly version: string;
|
|
25
26
|
readonly fileLoader: FileLoader;
|
|
@@ -40,8 +41,8 @@ export declare class Reader implements LifecycleHooks {
|
|
|
40
41
|
private abortController;
|
|
41
42
|
private rootContainer;
|
|
42
43
|
private isInIframe;
|
|
44
|
+
private hostViewport;
|
|
43
45
|
readonly optionsProvider: OptionsProvider;
|
|
44
|
-
private readingProgressStore;
|
|
45
46
|
onInitialize?: (extension: string) => Promise<void>;
|
|
46
47
|
onDisposing?: () => Promise<void>;
|
|
47
48
|
onDisposed?: () => Promise<void>;
|
|
@@ -50,14 +51,12 @@ export declare class Reader implements LifecycleHooks {
|
|
|
50
51
|
onFileParsed?: (fileParser: IFileParser) => Promise<void>;
|
|
51
52
|
onRenderer?: (renderer: IRenderer) => Promise<void>;
|
|
52
53
|
onRenderered?: (renderer: IRenderer) => Promise<void>;
|
|
53
|
-
onRenderingFileInject?: (extension: string, data: string, url?: string) => Promise<string>;
|
|
54
54
|
onProgressChangeGuard?: (progress: number) => boolean;
|
|
55
55
|
onBeforeRedirect?: (documentsProvider: IDocumentsProvider) => Promise<void>;
|
|
56
|
-
|
|
56
|
+
onLocationRequest?: (simpleId: string) => Promise<FileLocation | undefined>;
|
|
57
|
+
constructor(options: Options, services: ReaderServices);
|
|
57
58
|
get id(): string;
|
|
58
59
|
get services(): ServiceCollection<ServiceMap>;
|
|
59
|
-
get platform(): IPlatform;
|
|
60
|
-
get environment(): IEnvironment;
|
|
61
60
|
get device(): IDevice;
|
|
62
61
|
get loggerFactory(): ILoggerFactory;
|
|
63
62
|
get events(): IEventEmitter;
|
|
@@ -71,11 +70,10 @@ export declare class Reader implements LifecycleHooks {
|
|
|
71
70
|
get loading(): ILoading;
|
|
72
71
|
reload(): Promise<void>;
|
|
73
72
|
open(url: any, container: HTMLElement, rootContainer: HTMLElement, openOptions?: OpenOptions): Promise<void>;
|
|
73
|
+
private getParsingText;
|
|
74
|
+
private createFileDownloadingCallback;
|
|
74
75
|
private createReaderContainer;
|
|
75
76
|
private mountRenderer;
|
|
76
|
-
private bindEvents;
|
|
77
|
-
private unbindEvents;
|
|
78
|
-
private storeProgress;
|
|
79
77
|
get context(): Context;
|
|
80
78
|
get url(): any;
|
|
81
79
|
get openOptions(): OpenOptions;
|
|
@@ -86,13 +84,16 @@ export declare class Reader implements LifecycleHooks {
|
|
|
86
84
|
getRenderer(): IRenderer;
|
|
87
85
|
changeTheme: (themeName: string) => Promise<void>;
|
|
88
86
|
private getTheme;
|
|
89
|
-
private
|
|
87
|
+
private applyTheme;
|
|
90
88
|
goto(location: FileLocation): Promise<void>;
|
|
91
89
|
gotoUrl(url: string): Promise<void>;
|
|
92
90
|
gotoPercentage(percentage: number, options?: GotoPercentegeOptions): Promise<void>;
|
|
93
91
|
private createTopIFrame;
|
|
94
92
|
getReaderContainer(): HTMLElement;
|
|
95
93
|
getRootContainer(): HTMLElement;
|
|
94
|
+
getHostViewport(): HostViewport;
|
|
95
|
+
refreshHostViewport(): HostViewport;
|
|
96
|
+
private getReaderContainerBoxStyle;
|
|
96
97
|
dispose(): Promise<void>;
|
|
97
98
|
clear(): Promise<void>;
|
|
98
99
|
}
|
package/dist/kernal/Reader.mjs
CHANGED
|
@@ -1,39 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
1
|
+
import { EventNames as e } from "./EventNames.mjs";
|
|
2
|
+
import { formatFileSize as t } from "./common/data.mjs";
|
|
3
|
+
import { deepClone as n } from "./common/object.mjs";
|
|
4
|
+
import { getRandomId as r } from "./common/uuid.mjs";
|
|
5
|
+
import { BrowserCapabilities as i } from "./web/BrowserCapabilities.mjs";
|
|
6
|
+
import { toCssVariableName as a } from "./common/naming.mjs";
|
|
7
|
+
import { isOptionKey as o } from "./Options.mjs";
|
|
8
|
+
import { OpenOptions as s } from "./OpenOptions.mjs";
|
|
9
|
+
import { UI_SERVICE_KEYS as c } from "./services/ServiceCollection.mjs";
|
|
10
|
+
import { FileLoader as l } from "./FileLoader.mjs";
|
|
11
|
+
import { emptyElement as u } from "./html/dom.mjs";
|
|
12
|
+
import { refreshHostViewportSize as d, resolveHostViewport as f } from "./hostViewport.mjs";
|
|
13
|
+
import { createElement as p, injectCssContent as m } from "./html/injector.mjs";
|
|
14
|
+
import { PluginManager as h } from "./plugins/PluginManager.mjs";
|
|
15
|
+
import { Theme as g, ThemeCssKeys as _ } from "./Theme.mjs";
|
|
16
|
+
import { OptionsProvider as v } from "./OptionsProvider.mjs";
|
|
13
17
|
//#region kernal/Reader.ts
|
|
14
|
-
var
|
|
15
|
-
constructor(
|
|
16
|
-
this.currentIsLoaded = !1, this.currentIsDidposed = !1, this.currentIsCancelled = !1, this.isInIframe = !1, this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
var y = class {
|
|
19
|
+
constructor(n, r) {
|
|
20
|
+
if (this.currentIsLoaded = !1, this.currentIsDidposed = !1, this.currentIsCancelled = !1, this.isInIframe = !1, this.getParsingText = () => this.locale.getText("share_parsing_text", "Parsing..."), this.createFileDownloadingCallback = () => async (e, n, r) => {
|
|
21
|
+
if (r) {
|
|
22
|
+
await this.loading?.show(this.getParsingText());
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
let i = e > 0 ? e : n, a = t(n), o = t(i), s = this.locale.getText("share_loading_file_progress", "Loading file... {loaded}/{total}", {
|
|
26
|
+
loaded: a,
|
|
27
|
+
total: o
|
|
28
|
+
});
|
|
29
|
+
await this.loading?.show(s);
|
|
30
|
+
}, this.changeTheme = async (t) => {
|
|
31
|
+
if (!t) return;
|
|
32
|
+
this.options.themeName = t;
|
|
33
|
+
let n = await this.getTheme(t);
|
|
34
|
+
await this.applyTheme(n), await this.getRenderer()?.applyTheme(n), this.events.emit(e.ThemeChange, n);
|
|
27
35
|
}, this.getTheme = async (e) => {
|
|
28
36
|
let t = await this.services.get("themeProvider"), n;
|
|
29
|
-
return n = t ? t.getTheme(e) : new
|
|
30
|
-
}, this.
|
|
31
|
-
for (let
|
|
37
|
+
return n = t ? t.getTheme(e) : new g(), n ||= new g(), n;
|
|
38
|
+
}, this.applyTheme = async (e) => {
|
|
39
|
+
for (let t of _) this.rootContainer.style.setProperty(a(t), e[t]);
|
|
32
40
|
if (e.vars) for (let [t, n] of Object.entries(e.vars)) t && this.rootContainer.style.setProperty(t, n);
|
|
33
|
-
let
|
|
34
|
-
|
|
35
|
-
}, this.fileLoader = new
|
|
36
|
-
|
|
41
|
+
let t = g.getScrollStyles(`.${g.customScrollerClassName}`);
|
|
42
|
+
m(this.rootContainer.ownerDocument, t, !0, "custom-scroll-styles");
|
|
43
|
+
}, this.fileLoader = new l(n, r, this), r) for (let e of c) {
|
|
44
|
+
let t = r[e];
|
|
45
|
+
t !== void 0 && this.services.add(e, () => t);
|
|
46
|
+
}
|
|
47
|
+
this.services.registerUiServices(), this.options = this.fileLoader.options, this.version = this.fileLoader.version, this.logger = this.fileLoader.loggerFactory.getLogger(this.constructor.name), this.pluginManager = new h(this, this.fileLoader.loggerFactory, this.services, this.version), this.optionsProvider = new v(this.events, this.options), this.events.on(e.OptionsChange, (e) => {
|
|
48
|
+
this.rootContainer && o(e) && this.optionsProvider.applyCssVariables(this.rootContainer);
|
|
37
49
|
});
|
|
38
50
|
}
|
|
39
51
|
get id() {
|
|
@@ -42,12 +54,6 @@ var m = class {
|
|
|
42
54
|
get services() {
|
|
43
55
|
return this.fileLoader.services.asReaderServices();
|
|
44
56
|
}
|
|
45
|
-
get platform() {
|
|
46
|
-
return this.fileLoader.platform;
|
|
47
|
-
}
|
|
48
|
-
get environment() {
|
|
49
|
-
return this.fileLoader.environment;
|
|
50
|
-
}
|
|
51
57
|
get device() {
|
|
52
58
|
return this.fileLoader.device;
|
|
53
59
|
}
|
|
@@ -83,26 +89,28 @@ var m = class {
|
|
|
83
89
|
}
|
|
84
90
|
async reload() {
|
|
85
91
|
if (!this.container) return;
|
|
86
|
-
let e = this.url, t = this.container,
|
|
87
|
-
await this.clear(), await this.open(e, t,
|
|
92
|
+
let e = this.url, t = this.container, r = this.rootContainer, i = n(this.openOptions);
|
|
93
|
+
await this.clear(), await this.open(e, t, r, i);
|
|
88
94
|
}
|
|
89
|
-
async open(
|
|
95
|
+
async open(t, n, r, i) {
|
|
90
96
|
if (this.currentIsDidposed) throw Error("reader is disposed.");
|
|
91
|
-
if (
|
|
92
|
-
if (this.fileLoader.inputFormatter.guardUrl(
|
|
97
|
+
if (n == null) throw Error("container is required. Use FileLoader for headless parse-only scenarios.");
|
|
98
|
+
if (this.fileLoader.inputFormatter.guardUrl(t), this.currentIsLoaded && await this.clear(), this.currentIsDidposed = !1, this.loadFail = void 0, this.currentIsCancelled = !1, this.container = n, this.rootContainer = r, this.startLoadTime = /* @__PURE__ */ new Date(), this.events.emit(e.StartLoadResource, {
|
|
93
99
|
reader: this,
|
|
94
100
|
startLoadTime: this.startLoadTime
|
|
95
|
-
}), this.readerWrapper = this.fileLoader.inputFormatter.formatReaderWrapper(
|
|
101
|
+
}), this.readerWrapper = this.fileLoader.inputFormatter.formatReaderWrapper(n), !this.readerWrapper) throw Error("container is invalid.");
|
|
96
102
|
this.rootContainer ||= this.readerWrapper, this.optionsProvider.applyCssVariables(this.rootContainer);
|
|
97
103
|
let a = await this.getTheme(this.options.themeName);
|
|
98
|
-
await this.
|
|
99
|
-
backgroundColor: `var(${
|
|
100
|
-
textColor: `var(${
|
|
101
|
-
iconColor: `var(${
|
|
104
|
+
await this.applyTheme(a), this.currentNotifier = await this.services.get("notifier", !1), this.currentLoading = await this.services.get("loading", !1), u(this.readerWrapper), this.hostViewport = f(this.readerWrapper), this.readerWrapper.setAttribute("data-viewport-mode", this.hostViewport.mode), this.hostViewport.mode == "window" && !this.readerWrapper.style.minHeight && (this.readerWrapper.style.minHeight = this.hostViewport.height + "px", this.readerWrapper.setAttribute("data-fc-auto-min-height", "true")), await this.loading?.initialize(this.readerWrapper, {
|
|
105
|
+
backgroundColor: `var(${g.ReaderBackground})`,
|
|
106
|
+
textColor: `var(${g.TextMutedColor})`,
|
|
107
|
+
iconColor: `var(${g.TextAccentColor})`
|
|
102
108
|
}), await this.loading?.show();
|
|
103
109
|
try {
|
|
104
110
|
await this.fileLoader.getFileParser()?.dispose();
|
|
105
|
-
let
|
|
111
|
+
let e = Object.assign(new s(), i);
|
|
112
|
+
e.fileDownloadingCallback ||= this.createFileDownloadingCallback();
|
|
113
|
+
let n = await this.fileLoader.load(t, e, {
|
|
106
114
|
measureFilePercentage: !0,
|
|
107
115
|
prepareContext: async ({ extension: e }) => (this.isInIframe = !1, await this.createReaderContainer(e), {
|
|
108
116
|
rootContainer: this.rootContainer,
|
|
@@ -110,11 +118,11 @@ var m = class {
|
|
|
110
118
|
readerWrapper: this.readerWrapper
|
|
111
119
|
}),
|
|
112
120
|
afterParserReady: async () => {
|
|
113
|
-
await this.loading?.show();
|
|
121
|
+
await this.loading?.show(this.getParsingText());
|
|
114
122
|
},
|
|
115
123
|
isCancelled: () => this.currentIsCancelled
|
|
116
124
|
});
|
|
117
|
-
this.abortController =
|
|
125
|
+
this.abortController = n.abortController, await this.mountRenderer(n);
|
|
118
126
|
} catch (e) {
|
|
119
127
|
throw this.loadFail = !0, e;
|
|
120
128
|
} finally {
|
|
@@ -123,54 +131,56 @@ var m = class {
|
|
|
123
131
|
let e = this.readerWrapper.getAttribute("data-reader-wrapper-bg");
|
|
124
132
|
e && this.readerWrapper.style.setProperty("background", e);
|
|
125
133
|
}
|
|
126
|
-
this.abortController &&= null, this.loadFail || this.events.emit(
|
|
134
|
+
this.abortController &&= null, this.loadFail || this.events.emit(e.ResourceLoad, {
|
|
127
135
|
reader: this,
|
|
128
136
|
startLoadTime: this.startLoadTime
|
|
129
137
|
});
|
|
130
138
|
}
|
|
131
139
|
}
|
|
132
140
|
async createReaderContainer(t) {
|
|
133
|
-
let n = this.options.iframeRequiredExtensions,
|
|
134
|
-
if (!n.includes(t) || this.readerWrapper instanceof this.readerWrapper.ownerDocument.defaultView.window.HTMLBodyElement) this.readerContainer =
|
|
141
|
+
let n = this.options.iframeRequiredExtensions, a;
|
|
142
|
+
if (!n.includes(t) || this.readerWrapper instanceof this.readerWrapper.ownerDocument.defaultView.window.HTMLBodyElement) this.readerContainer = p(this.readerWrapper.ownerDocument, "div", r(!0), { style: this.getReaderContainerBoxStyle(t) }), this.readerWrapper.appendChild(this.readerContainer), a = this.readerContainer.ownerDocument;
|
|
135
143
|
else {
|
|
136
144
|
this.isInIframe = !0;
|
|
137
|
-
let
|
|
138
|
-
this.readerWrapper.appendChild(
|
|
139
|
-
let
|
|
140
|
-
this.readerContainer =
|
|
141
|
-
this.events.emit(
|
|
142
|
-
e,
|
|
145
|
+
let n = this.createTopIFrame();
|
|
146
|
+
this.readerWrapper.appendChild(n), i.isFirefox() && (n.srcdoc = "<!DOCTYPE html><html><head></head><body></body></html>");
|
|
147
|
+
let o = n.contentDocument;
|
|
148
|
+
this.readerContainer = p(o, "div", r(!0), { style: this.getReaderContainerBoxStyle(t) }), o.body.appendChild(this.readerContainer), a = o, n.contentWindow.addEventListener("click", (t) => {
|
|
149
|
+
this.events.emit(e.ReaderClick, {
|
|
150
|
+
e: t,
|
|
143
151
|
reader: this
|
|
144
152
|
});
|
|
145
|
-
}, !0),
|
|
146
|
-
this.events.emit(
|
|
147
|
-
e,
|
|
153
|
+
}, !0), n.contentWindow.addEventListener("mouseenter", (t) => {
|
|
154
|
+
this.events.emit(e.ReaderMouseEnter, {
|
|
155
|
+
e: t,
|
|
148
156
|
reader: this
|
|
149
157
|
});
|
|
150
158
|
}, !0);
|
|
151
159
|
}
|
|
152
|
-
this.rootContainer.addEventListener("click", (
|
|
153
|
-
this.events.emit(
|
|
154
|
-
e,
|
|
160
|
+
this.rootContainer.addEventListener("click", (t) => {
|
|
161
|
+
this.events.emit(e.ReaderClick, {
|
|
162
|
+
e: t,
|
|
155
163
|
reader: this
|
|
156
164
|
});
|
|
157
|
-
}, !0), this.rootContainer.addEventListener("mouseenter", (
|
|
158
|
-
this.events.emit(
|
|
159
|
-
e,
|
|
165
|
+
}, !0), this.rootContainer.addEventListener("mouseenter", (t) => {
|
|
166
|
+
this.events.emit(e.ReaderMouseEnter, {
|
|
167
|
+
e: t,
|
|
160
168
|
reader: this
|
|
161
169
|
});
|
|
162
|
-
}, !0), this.readerContainer.setAttribute("data-role", "readerContainer"), await this.onContainerCreated?.();
|
|
170
|
+
}, !0), this.readerContainer.setAttribute("data-role", "readerContainer"), this.readerContainer.setAttribute("data-viewport-mode", this.getHostViewport().mode), await this.onContainerCreated?.(), await this.loading?.show();
|
|
163
171
|
let o = this.readerWrapper.style.getPropertyValue("background");
|
|
164
|
-
o && this.readerWrapper.setAttribute("data-reader-wrapper-bg", o), (await this.services.get("wallpaperProvider"))?.changeWallpaper(this.options.wallpaperName), this.options.enableInjectResetCss &&
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
this.renderer
|
|
170
|
-
let n =
|
|
171
|
-
|
|
172
|
-
let i =
|
|
173
|
-
|
|
172
|
+
o && this.readerWrapper.setAttribute("data-reader-wrapper-bg", o), (await this.services.get("wallpaperProvider"))?.changeWallpaper(this.options.wallpaperName), this.options.enableInjectResetCss && m(a, "html{touch-action:none;touch-action:pan-y;}body *{box-sizing:border-box}html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{padding:0;margin:0;}ul,ol,li{list-style:none;}i,em{font-style:normal}img{border:0;}table{border-collapse:collapse;border-spacing:0;}table td{padding:0;margin:0;}section,article,aside,header,footer,nav,dialog,figure{padding:0;margin:0;}html{text-size-adjust: 100%;}", !1, "reader_global_style", (e, t) => {
|
|
173
|
+
e.insertBefore(t, e.firstChild);
|
|
174
|
+
}), await this.notifier.initialize(this.readerContainer);
|
|
175
|
+
}
|
|
176
|
+
async mountRenderer(t) {
|
|
177
|
+
this.renderer &&= (await this.renderer.dispose(), null);
|
|
178
|
+
let n = await this.mediaTypeRegistry.createRenderer(this, t.fileParser, this.readerContainer);
|
|
179
|
+
this.renderer = n, await this.onRenderer?.(this.renderer);
|
|
180
|
+
let r = t.percentage, i = t.location;
|
|
181
|
+
if (!isNaN(r) && r <= 1 && r >= 0 ? await this.renderer.navigator.gotoPercentage(r, { from: "restore" }) : await this.renderer.load(i), this.renderer.getDocuments().length == 0) throw Error("Empty File");
|
|
182
|
+
let a = await this.getTheme(this.options.themeName);
|
|
183
|
+
await this.getRenderer()?.applyTheme(a), await this.onRenderered?.(this.renderer), await this.loading?.hide(), this.events.emit(e.RendererLoad, this.renderer), await this.pluginManager?.enablePlugins(t.extension);
|
|
174
184
|
}
|
|
175
185
|
get context() {
|
|
176
186
|
return this.fileLoader.context;
|
|
@@ -205,9 +215,9 @@ var m = class {
|
|
|
205
215
|
async gotoPercentage(e, t) {
|
|
206
216
|
await this.getRenderer()?.navigator.gotoPercentage(e, t);
|
|
207
217
|
}
|
|
208
|
-
createTopIFrame(
|
|
209
|
-
let
|
|
210
|
-
return
|
|
218
|
+
createTopIFrame(e) {
|
|
219
|
+
let t = p(document, "iframe", e);
|
|
220
|
+
return i.isFirefox() ? t.setAttribute("src", "javascript:") : t.setAttribute("src", "about:blank"), t.setAttribute("frameborder", "0"), t.setAttribute("border", "0"), t.setAttribute("allowfullscreen", "true"), t.setAttribute("width", "100%"), t.setAttribute("height", "100%"), t.setAttribute("style", "margin:0;padding:0"), t;
|
|
211
221
|
}
|
|
212
222
|
getReaderContainer() {
|
|
213
223
|
return this.readerContainer;
|
|
@@ -215,25 +225,45 @@ var m = class {
|
|
|
215
225
|
getRootContainer() {
|
|
216
226
|
return this.rootContainer;
|
|
217
227
|
}
|
|
228
|
+
getHostViewport() {
|
|
229
|
+
if (this.hostViewport) return this.hostViewport;
|
|
230
|
+
let e = this.readerWrapper ?? this.rootContainer;
|
|
231
|
+
return e ? (this.hostViewport = f(e), this.hostViewport) : {
|
|
232
|
+
mode: "window",
|
|
233
|
+
height: 600,
|
|
234
|
+
width: 800,
|
|
235
|
+
observerRoot: null,
|
|
236
|
+
scrollElement: document.scrollingElement ?? document.documentElement,
|
|
237
|
+
scrollWatchTarget: document
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
refreshHostViewport() {
|
|
241
|
+
let e = this.readerWrapper ?? this.rootContainer;
|
|
242
|
+
return e ? this.hostViewport ? (this.hostViewport = d(e, this.hostViewport), this.hostViewport) : (this.hostViewport = f(e), this.hostViewport) : this.getHostViewport();
|
|
243
|
+
}
|
|
244
|
+
getReaderContainerBoxStyle(e) {
|
|
245
|
+
let t = this.getHostViewport(), n = `background:var(${g.ReaderBackground})`;
|
|
246
|
+
return t.mode == "host" ? `width:100%;height:100%;overflow:hidden;position:relative;${n}` : (e ?? "").toLowerCase().replace(/^\./, "") == "pdf" ? `width:100%;height:${t.height}px;overflow:hidden;position:relative;${n}` : `width:100%;height:auto;min-height:${t.height}px;overflow:visible;position:relative;${n}`;
|
|
247
|
+
}
|
|
218
248
|
async dispose() {
|
|
219
|
-
await this.onDisposing?.(), await this.clear(), this.currentIsDidposed = !0, this.fileLoader.markDisposed(), await this.onDisposed?.(), this.events.emit(
|
|
249
|
+
await this.onDisposing?.(), await this.clear(), this.currentIsDidposed = !0, this.fileLoader.markDisposed(), await this.onDisposed?.(), this.events.emit(e.ReaderDisposed, this);
|
|
220
250
|
}
|
|
221
251
|
async clear() {
|
|
222
252
|
try {
|
|
223
253
|
if (this.context?.id && this.startLoadTime) {
|
|
224
|
-
let
|
|
225
|
-
|
|
254
|
+
let t = await this.renderer?.progressTracker.getProgress(!0);
|
|
255
|
+
t && this.events.emit(e.ResourceUnload, {
|
|
226
256
|
reader: this,
|
|
227
257
|
simpleId: this.context.simpleId,
|
|
228
258
|
resourceId: this.context.id,
|
|
229
259
|
startLoadTime: this.startLoadTime,
|
|
230
|
-
progress:
|
|
260
|
+
progress: t
|
|
231
261
|
});
|
|
232
262
|
}
|
|
233
263
|
this.abortController && (this.abortController.abort("Cancelled"), this.abortController = null, this.logger.info("User cancelled task,url", this.url), this.currentIsCancelled = !0);
|
|
234
264
|
} catch {}
|
|
235
|
-
await this.pluginManager?.dispose(), this.renderer &&= (await this.renderer.dispose(), null), await this.fileLoader.clear(), this.readerWrapper &&
|
|
265
|
+
await this.pluginManager?.dispose(), this.renderer &&= (await this.renderer.dispose(), null), await this.fileLoader.clear(), this.readerWrapper && (u(this.readerWrapper), this.readerWrapper.getAttribute("data-fc-auto-min-height") == "true" && (this.readerWrapper.style.removeProperty("min-height"), this.readerWrapper.removeAttribute("data-fc-auto-min-height")), this.readerWrapper.removeAttribute("data-viewport-mode")), this.startLoadTime = null, this.currentIsLoaded = !1, this.events.emit(e.ReaderCleared, this);
|
|
236
266
|
}
|
|
237
267
|
};
|
|
238
268
|
//#endregion
|
|
239
|
-
export {
|
|
269
|
+
export { y as Reader };
|
package/dist/kernal/Theme.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./web/BrowserCapabilities.cjs"),t=require("./common/naming.cjs"),n=require("./Options.cjs");var r=class r{constructor(){this.name=`default`,this.isDefault=!1,this.enabled=!0,this.themeRepresentativeColor=`#f1f1f1`,this.readerBackground=`#f6f6f6`,this.gotoTargetAnimationColor=`rgba(255,150,50,0.4)`,this.contentBackground=`#fff`,this.contentTextColor=`inherit`,this.codeblockBackgroundColor=`#f9f9f9`,this.selectionBackground=`rgba(255,213,0,0.35)`,this.selectionColor=`inherit`,this.columnRuleColor=`rgba(100, 100, 100, 0.1)`,this.textAccentColor=`#
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./web/BrowserCapabilities.cjs"),t=require("./common/naming.cjs"),n=require("./Options.cjs");var r=class r{constructor(){this.name=`default`,this.isDefault=!1,this.enabled=!0,this.themeRepresentativeColor=`#f1f1f1`,this.readerBackground=`#f6f6f6`,this.gotoTargetAnimationColor=`rgba(255,150,50,0.4)`,this.contentBackground=`#fff`,this.contentTextColor=`inherit`,this.codeblockBackgroundColor=`#f9f9f9`,this.selectionBackground=`rgba(255,213,0,0.35)`,this.selectionColor=`inherit`,this.columnRuleColor=`rgba(100, 100, 100, 0.1)`,this.textAccentColor=`#163260`,this.textMutedColor=`#777`,this.borderColor=`#e9e9e9`,this.scrollbarThumbColor=`#999`,this.scrollbarThumbHoverColor=`#555`,this.scrollbarTrackColor=`#f6f6f6`}static{this.ReaderBackground=t.toCssVariableName(`readerBackground`)}static{this.GotoTargetAnimationColor=t.toCssVariableName(`gotoTargetAnimationColor`)}static{this.ContentBackground=t.toCssVariableName(`contentBackground`)}static{this.ContentTextColor=t.toCssVariableName(`contentTextColor`)}static{this.CodeblockBackgroundColor=t.toCssVariableName(`codeblockBackgroundColor`)}static{this.ColumnRuleColor=t.toCssVariableName(`columnRuleColor`)}static{this.SelectionBackground=t.toCssVariableName(`selectionBackground`)}static{this.SelectionColor=t.toCssVariableName(`selectionColor`)}static{this.TextAccentColor=t.toCssVariableName(`textAccentColor`)}static{this.TextMutedColor=t.toCssVariableName(`textMutedColor`)}static{this.ScrollbarThumbColor=t.toCssVariableName(`scrollbarThumbColor`)}static{this.ScrollbarThumbHoverColor=t.toCssVariableName(`scrollbarThumbHoverColor`)}static{this.ScrollbarTrackColor=t.toCssVariableName(`scrollbarTrackColor`)}static{this.BorderColor=t.toCssVariableName(`borderColor`)}static{this.customScrollerClassName=`custom-scroller`}static getScrollStyles(t){if(!e.BrowserCapabilities.hasFinePointer())return`{}`;let i=``;if(t){let e=``,a=``,o=``,s=``;typeof t==`string`?(e=t+`::-webkit-scrollbar`,a=t+`::-webkit-scrollbar-thumb`,o=t+`::-webkit-scrollbar-track`,s=t):(e=t.map(e=>e+`::-webkit-scrollbar`).join(`,`),a=t.map(e=>e+`::-webkit-scrollbar-thumb`).join(`,`),o=t.map(e=>e+`::-webkit-scrollbar-track`).join(`,`),s=t.join(`,`)),i+=`${e}{width:var(${n.Options.ScrollbarSize}) !important;height:var(${n.Options.ScrollbarSize}) !important;}`,i+=`${a}{border: var(${n.Options.ScrollbarBorder}) solid transparent !important;background-clip:padding-box !important;background-color:var(${r.ScrollbarThumbColor}) !important;min-width:40px !important;min-height:40px !important;padding-top:100px !important;border-radius:var(${n.Options.ScrollbarRadius}) !important;}`,i+=`${a}:hover{background-color:var(${r.ScrollbarThumbHoverColor}) !important;}`,i+=`${o}{background:var(${r.ScrollbarTrackColor}) !important;border-radius:var(${n.Options.ScrollbarRadius}) !important;}`,i+=`@-moz-document url-prefix(){`+s+`{scrollbar-width:thin}}`,i+=`@-moz-document url-prefix(){`+s+`{scrollbar-color:var(`+r.ScrollbarThumbColor+`) var(`+r.ScrollbarTrackColor+`) !important}}`}return i||=`{}`,i}},i=[`readerBackground`,`gotoTargetAnimationColor`,`contentBackground`,`contentTextColor`,`codeblockBackgroundColor`,`columnRuleColor`,`selectionBackground`,`selectionColor`,`scrollbarThumbColor`,`scrollbarThumbHoverColor`,`scrollbarTrackColor`,`textAccentColor`,`textMutedColor`,`borderColor`];exports.Theme=r,exports.ThemeCssKeys=i;
|
package/dist/kernal/Theme.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { Options as n } from "./Options.mjs";
|
|
|
4
4
|
//#region kernal/Theme.ts
|
|
5
5
|
var r = class r {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.name = "default", this.isDefault = !1, this.enabled = !0, this.themeRepresentativeColor = "#f1f1f1", this.readerBackground = "#f6f6f6", this.gotoTargetAnimationColor = "rgba(255,150,50,0.4)", this.contentBackground = "#fff", this.contentTextColor = "inherit", this.codeblockBackgroundColor = "#f9f9f9", this.selectionBackground = "rgba(255,213,0,0.35)", this.selectionColor = "inherit", this.columnRuleColor = "rgba(100, 100, 100, 0.1)", this.textAccentColor = "#
|
|
7
|
+
this.name = "default", this.isDefault = !1, this.enabled = !0, this.themeRepresentativeColor = "#f1f1f1", this.readerBackground = "#f6f6f6", this.gotoTargetAnimationColor = "rgba(255,150,50,0.4)", this.contentBackground = "#fff", this.contentTextColor = "inherit", this.codeblockBackgroundColor = "#f9f9f9", this.selectionBackground = "rgba(255,213,0,0.35)", this.selectionColor = "inherit", this.columnRuleColor = "rgba(100, 100, 100, 0.1)", this.textAccentColor = "#163260", this.textMutedColor = "#777", this.borderColor = "#e9e9e9", this.scrollbarThumbColor = "#999", this.scrollbarThumbHoverColor = "#555", this.scrollbarTrackColor = "#f6f6f6";
|
|
8
8
|
}
|
|
9
9
|
static {
|
|
10
10
|
this.ReaderBackground = t("readerBackground");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./text.cjs");var t=`https://a.com/`,n=/^(?:[a-z][a-z0-9+.-]*:\/\/\S+|(?:blob|data|mailto|about|javascript|filesystem):)/i,r=e=>/^[a-zA-Z]:[\\/]/.test(e),i=e=>/^[a-z][a-z0-9+.-]*:$/i.test(e),a=e=>`canParse`in URL?!(!URL.canParse(e)||r(e)||i(e)):n.test(e),o=(n,r=t)=>y(n)?new URL(n):(e.isNullOrWhiteSpace(r)?r=t:y(r)||(r=t+r),new URL(n,r)),s=e=>{let t=o(e),n=`/`;if(t.pathname.endsWith(`/`))n=t.pathname;else{let e=t.pathname.lastIndexOf(`/`);e>0&&(n=t.pathname.substring(0,e))}return n},c=()=>{if(typeof location<`u`&&location.protocol&&location.host)return`${location.protocol}//${location.host}`;throw Error(`getCurrentBaseUrl is not available in this context`)},l=e=>{let t=o(e);return t.protocol+`//`+t.host},u=(t,n,r)=>{let i;i=y(t)?o(t):o(t,n);let a=i.pathname;return e.startsWith(i.toString(),`https://a.com/`)||r?.removeBase||i.origin&&(a=i.origin+a),r?.removeQuery||(a+=i.search),r?.removeHash||(a+=i.hash),e.startsWithAny(a,!1,`/`,`\\`)&&(a=a.replace(/[\\]+/gi,`/`).substring(1)),a},d=(e,t,n)=>e&&m(e,t,n),f=(e,t)=>e&&h(e,t),p=(t,n)=>{if(e.isNullOrWhiteSpace(n))return null;let r;r=t instanceof URL?t.searchParams:t instanceof URLSearchParams?t:o(t).searchParams;let i=n.toLowerCase(),a=Array.from(r.keys()),s=null;for(let e=0;e<a.length;e++)if(a[e].toLowerCase()==i){s=a[e];break}if(e.isNullOrWhiteSpace(s))return``;let c=r.get(s);return e.isNullOrWhiteSpace(c)?``:c},m=(e,t,n)=>{let r=new Map;return r.set(t,n),h(e,r)},h=(t,n)=>{if(e.isNullOrWhiteSpace(t)||!y(t)||!n)return t;let r=new URL(t),i=r.origin+r.pathname;n instanceof Map?n.forEach((e,t)=>{r.searchParams.set(t,e)}):Object.keys(n).forEach(e=>{r.searchParams.set(e,n[e])});let a=[];return r.searchParams.forEach((e,t)=>{a.push(t+`=`+encodeURIComponent(e))}),i+=`?`+a.join(`&`)+r.hash,i},g=e=>{let t=[],n=Object.keys(e);for(let r=0;r<n.length;r++)t.push(n[r]+`=`+encodeURIComponent(e[n[r]]));return t.join(`&`)},_=(...n)=>{let r=``;if(n.length==0)throw Error(`segments is empty`);let i=n.length;for(let t=0;t<i;t++){let a=n[t];e.isNullOrWhiteSpace(a)||((a.indexOf(`/`)==0||a.indexOf(`\\`)==0)&&(a=a.substring(1)),t!=i-1&&a.charAt(a.length-1)!=`/`&&(a+=`/`),r+=a)}let a=new URL(r,t);if(a.href.indexOf(`https://a.com/`)==0){let e=a.pathname+a.search+a.hash;return e.indexOf(`/`)==0&&(e=e.substring(1)),e}return a.href},v=t=>{let n={urlWithoutAnchor:null,anchor:null};if(e.isNullOrWhiteSpace(t))return n;n.urlWithoutAnchor=t;let r=t.lastIndexOf(`#`);return r>=0&&t.length>1&&(n.urlWithoutAnchor=t.substring(0,r),n.anchor=t.substring(r+1)),n},y=(e,t)=>!e||typeof e!=`string`?!1:t?b(e):a(e),b=t=>!t||typeof t!=`string`||!e.startsWithAny(t,!0,`http://`,`https://`)?!1:a(t),x=t=>!t||typeof t!=`string`?!1:e.startsWith(t,`blob:`,!0),S=t=>!t||typeof t!=`string`?!1:e.startsWith(t,`file:`,!0);exports.appendUrlParameter=d,exports.appendUrlParameters=f,exports.baseHolderUrl=t,exports.checkIsAbsoluteUrl=y,exports.checkIsBlobUrl=x,exports.checkIsFileUrl=S,exports.checkIsHttpUrl=b,exports.combineUrlSegments=_,exports.getAbsoluteDir=s,exports.getBaseUrl=l,exports.getCurrentBaseUrl=c,exports.getFullUrl=o,exports.getParameterValue=p,exports.getUrl=u,exports.getUrlFragment=v,exports.stringifyParamters=g,exports.updateUrlParameter=m,exports.updateUrlParameters=h;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./text.cjs");var t=`https://a.com/`,n=/^(?:[a-z][a-z0-9+.-]*:\/\/\S+|(?:blob|data|mailto|about|javascript|filesystem):)/i,r=e=>/^[a-zA-Z]:[\\/]/.test(e),i=e=>/^[a-z][a-z0-9+.-]*:$/i.test(e),a=e=>`canParse`in URL?!(!URL.canParse(e)||r(e)||i(e)):n.test(e),o=(n,r=t)=>y(n)?new URL(n):(e.isNullOrWhiteSpace(r)?r=t:y(r)||(r=t+r),new URL(n,r)),s=e=>{let t=o(e),n=`/`;if(t.pathname.endsWith(`/`))n=t.pathname;else{let e=t.pathname.lastIndexOf(`/`);e>0&&(n=t.pathname.substring(0,e))}return n},c=()=>{if(typeof location<`u`&&location.protocol&&location.host)return`${location.protocol}//${location.host}`;throw Error(`getCurrentBaseUrl is not available in this context`)},l=e=>{let t=o(e);return t.protocol+`//`+t.host},u=(t,n,r)=>{let i;i=y(t)?o(t):o(t,n);let a=i.pathname;return e.startsWith(i.toString(),`https://a.com/`)||r?.removeBase||i.origin&&(a=i.origin+a),r?.removeQuery||(a+=i.search),r?.removeHash||(a+=i.hash),e.startsWithAny(a,!1,`/`,`\\`)&&(a=a.replace(/[\\]+/gi,`/`).substring(1)),a},d=(e,t,n)=>e&&m(e,t,n),f=(e,t)=>e&&h(e,t),p=(t,n)=>{if(e.isNullOrWhiteSpace(n))return null;let r;r=t instanceof URL?t.searchParams:t instanceof URLSearchParams?t:o(t).searchParams;let i=n.toLowerCase(),a=Array.from(r.keys()),s=null;for(let e=0;e<a.length;e++)if(a[e].toLowerCase()==i){s=a[e];break}if(e.isNullOrWhiteSpace(s))return``;let c=r.get(s);return e.isNullOrWhiteSpace(c)?``:c},m=(e,t,n)=>{let r=new Map;return r.set(t,n),h(e,r)},h=(t,n)=>{if(e.isNullOrWhiteSpace(t)||!y(t)||!n)return t;let r=new URL(t),i=r.origin+r.pathname;n instanceof Map?n.forEach((e,t)=>{r.searchParams.set(t,e)}):Object.keys(n).forEach(e=>{r.searchParams.set(e,n[e])});let a=[];return r.searchParams.forEach((e,t)=>{a.push(t+`=`+encodeURIComponent(e))}),i+=`?`+a.join(`&`)+r.hash,i},g=e=>{let t=[],n=Object.keys(e);for(let r=0;r<n.length;r++)t.push(n[r]+`=`+encodeURIComponent(e[n[r]]));return t.join(`&`)},_=(...n)=>{let r=``;if(n.length==0)throw Error(`segments is empty`);let i=n.length;for(let t=0;t<i;t++){let a=n[t];e.isNullOrWhiteSpace(a)||((a.indexOf(`/`)==0||a.indexOf(`\\`)==0)&&(a=a.substring(1)),t!=i-1&&a.charAt(a.length-1)!=`/`&&(a+=`/`),r+=a)}let a=new URL(r,t);if(a.href.indexOf(`https://a.com/`)==0){let e=a.pathname+a.search+a.hash;return e.indexOf(`/`)==0&&(e=e.substring(1)),e}return a.href},v=t=>{let n={urlWithoutAnchor:null,anchor:null};if(e.isNullOrWhiteSpace(t))return n;n.urlWithoutAnchor=t;let r=t.lastIndexOf(`#`);return r>=0&&t.length>1&&(n.urlWithoutAnchor=t.substring(0,r),n.anchor=t.substring(r+1)),n},y=(e,t)=>!e||typeof e!=`string`?!1:t?b(e):a(e),b=t=>!t||typeof t!=`string`||!e.startsWithAny(t,!0,`http://`,`https://`)?!1:a(t),x=t=>!t||typeof t!=`string`?!1:e.startsWith(t,`blob:`,!0),S=t=>!t||typeof t!=`string`?!1:e.startsWith(t,`file:`,!0),C=e=>!e||typeof e!=`string`?!1:S(e)||r(e);exports.appendUrlParameter=d,exports.appendUrlParameters=f,exports.baseHolderUrl=t,exports.checkIsAbsoluteUrl=y,exports.checkIsBlobUrl=x,exports.checkIsFileUrl=S,exports.checkIsHttpUrl=b,exports.combineUrlSegments=_,exports.getAbsoluteDir=s,exports.getBaseUrl=l,exports.getCurrentBaseUrl=c,exports.getFullUrl=o,exports.getParameterValue=p,exports.getUrl=u,exports.getUrlFragment=v,exports.isLocalFilesystemRef=C,exports.isWindowsDrivePath=r,exports.stringifyParamters=g,exports.updateUrlParameter=m,exports.updateUrlParameters=h;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const baseHolderUrl = "https://a.com/";
|
|
2
|
+
export declare const isWindowsDrivePath: (url: string) => boolean;
|
|
2
3
|
export declare const getFullUrl: (url: string, base?: string) => URL;
|
|
3
4
|
export declare const getAbsoluteDir: (url: string) => string;
|
|
4
5
|
export declare const getCurrentBaseUrl: () => string;
|
|
@@ -23,3 +24,4 @@ export declare const checkIsAbsoluteUrl: (url: string, httpOnly?: boolean) => bo
|
|
|
23
24
|
export declare const checkIsHttpUrl: (url: string) => boolean;
|
|
24
25
|
export declare const checkIsBlobUrl: (url: string) => boolean;
|
|
25
26
|
export declare const checkIsFileUrl: (url: string) => boolean;
|
|
27
|
+
export declare const isLocalFilesystemRef: (url: string) => boolean;
|
|
@@ -73,6 +73,6 @@ var r = "https://a.com/", i = /^(?:[a-z][a-z0-9+.-]*:\/\/\S+|(?:blob|data|mailto
|
|
|
73
73
|
n.urlWithoutAnchor = t;
|
|
74
74
|
let r = t.lastIndexOf("#");
|
|
75
75
|
return r >= 0 && t.length > 1 && (n.urlWithoutAnchor = t.substring(0, r), n.anchor = t.substring(r + 1)), n;
|
|
76
|
-
}, x = (e, t) => !e || typeof e != "string" ? !1 : t ? S(e) : s(e), S = (e) => !e || typeof e != "string" || !n(e, !0, "http://", "https://") ? !1 : s(e), C = (e) => !e || typeof e != "string" ? !1 : t(e, "blob:", !0), w = (e) => !e || typeof e != "string" ? !1 : t(e, "file:", !0);
|
|
76
|
+
}, x = (e, t) => !e || typeof e != "string" ? !1 : t ? S(e) : s(e), S = (e) => !e || typeof e != "string" || !n(e, !0, "http://", "https://") ? !1 : s(e), C = (e) => !e || typeof e != "string" ? !1 : t(e, "blob:", !0), w = (e) => !e || typeof e != "string" ? !1 : t(e, "file:", !0), T = (e) => !e || typeof e != "string" ? !1 : w(e) || a(e);
|
|
77
77
|
//#endregion
|
|
78
|
-
export { p as appendUrlParameter, m as appendUrlParameters, r as baseHolderUrl, x as checkIsAbsoluteUrl, C as checkIsBlobUrl, w as checkIsFileUrl, S as checkIsHttpUrl, y as combineUrlSegments, l as getAbsoluteDir, d as getBaseUrl, u as getCurrentBaseUrl, c as getFullUrl, h as getParameterValue, f as getUrl, b as getUrlFragment, v as stringifyParamters, g as updateUrlParameter, _ as updateUrlParameters };
|
|
78
|
+
export { p as appendUrlParameter, m as appendUrlParameters, r as baseHolderUrl, x as checkIsAbsoluteUrl, C as checkIsBlobUrl, w as checkIsFileUrl, S as checkIsHttpUrl, y as combineUrlSegments, l as getAbsoluteDir, d as getBaseUrl, u as getCurrentBaseUrl, c as getFullUrl, h as getParameterValue, f as getUrl, b as getUrlFragment, T as isLocalFilesystemRef, a as isWindowsDrivePath, v as stringifyParamters, g as updateUrlParameter, _ as updateUrlParameters };
|