@foxycape/core 1.1.3 → 1.1.5
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/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/core.css +2 -1
- package/dist/kernal/Constants.cjs +1 -1
- package/dist/kernal/Constants.mjs +4 -12
- package/dist/kernal/ContentRange.cjs +1 -1
- package/dist/kernal/ContentRange.mjs +4 -6
- package/dist/kernal/Context.cjs +1 -1
- package/dist/kernal/Context.mjs +31 -35
- package/dist/kernal/Debounce.cjs +1 -1
- package/dist/kernal/Debounce.mjs +31 -37
- package/dist/kernal/EventEmitter.cjs +1 -1
- package/dist/kernal/EventEmitter.mjs +58 -67
- package/dist/kernal/EventNames.cjs +1 -1
- package/dist/kernal/EventNames.mjs +178 -6
- package/dist/kernal/FileLoader.cjs +1 -1
- package/dist/kernal/FileLoader.d.ts +2 -0
- package/dist/kernal/FileLoader.mjs +91 -94
- package/dist/kernal/IDisposable.cjs +0 -1
- package/dist/kernal/IDisposable.mjs +0 -1
- package/dist/kernal/IDocument.cjs +1 -1
- package/dist/kernal/IDocument.mjs +12 -36
- package/dist/kernal/IDocumentsProvider.cjs +0 -1
- package/dist/kernal/IDocumentsProvider.mjs +0 -1
- package/dist/kernal/IEventEmitter.cjs +0 -1
- package/dist/kernal/IEventEmitter.mjs +0 -1
- package/dist/kernal/IFileParser.cjs +1 -1
- package/dist/kernal/IFileParser.mjs +12 -21
- package/dist/kernal/IRenderer.cjs +0 -1
- package/dist/kernal/IRenderer.mjs +0 -1
- package/dist/kernal/IRendererViewport.cjs +1 -1
- package/dist/kernal/IRendererViewport.mjs +4 -5
- package/dist/kernal/IStyleProvider.cjs +0 -1
- package/dist/kernal/IStyleProvider.mjs +0 -1
- package/dist/kernal/ISymbolCalclator.cjs +0 -1
- package/dist/kernal/ISymbolCalclator.mjs +0 -1
- package/dist/kernal/ITextDocument.cjs +0 -1
- package/dist/kernal/ITextDocument.mjs +0 -1
- package/dist/kernal/IThemeProvider.cjs +0 -1
- package/dist/kernal/IThemeProvider.mjs +0 -1
- package/dist/kernal/IWallpaperProvider.cjs +1 -1
- package/dist/kernal/IWallpaperProvider.mjs +7 -7
- package/dist/kernal/JsonConvert.cjs +1 -1
- package/dist/kernal/JsonConvert.mjs +51 -56
- package/dist/kernal/LifecycleHooks.cjs +0 -1
- package/dist/kernal/LifecycleHooks.mjs +0 -1
- package/dist/kernal/LocationState.cjs +1 -1
- package/dist/kernal/LocationState.mjs +4 -5
- package/dist/kernal/MediaTypeRegistry.cjs +1 -1
- package/dist/kernal/MediaTypeRegistry.mjs +39 -64
- package/dist/kernal/Metadata.cjs +1 -1
- package/dist/kernal/Metadata.mjs +7 -7
- package/dist/kernal/OpenOptions.cjs +1 -1
- package/dist/kernal/OpenOptions.mjs +4 -5
- package/dist/kernal/Options.cjs +1 -1
- package/dist/kernal/Options.mjs +39 -16
- package/dist/kernal/OptionsProvider.cjs +1 -1
- package/dist/kernal/OptionsProvider.mjs +22 -24
- package/dist/kernal/Reader.cjs +1 -1
- package/dist/kernal/Reader.mjs +238 -284
- package/dist/kernal/ReaderInfo.cjs +1 -1
- package/dist/kernal/ReaderInfo.mjs +25 -31
- package/dist/kernal/Theme.cjs +1 -1
- package/dist/kernal/Theme.mjs +80 -29
- package/dist/kernal/common/array.cjs +1 -1
- package/dist/kernal/common/array.mjs +11 -13
- package/dist/kernal/common/buffer.cjs +1 -1
- package/dist/kernal/common/buffer.mjs +32 -43
- package/dist/kernal/common/data.cjs +1 -1
- package/dist/kernal/common/data.mjs +20 -13
- package/dist/kernal/common/date.cjs +1 -1
- package/dist/kernal/common/date.mjs +40 -50
- package/dist/kernal/common/encoding.cjs +1 -1
- package/dist/kernal/common/encoding.mjs +29 -36
- package/dist/kernal/common/geometry.cjs +1 -1
- package/dist/kernal/common/geometry.mjs +28 -30
- package/dist/kernal/common/mimetypes.cjs +1 -1
- package/dist/kernal/common/mimetypes.mjs +99 -34
- package/dist/kernal/common/naming.cjs +1 -1
- package/dist/kernal/common/naming.mjs +4 -4
- package/dist/kernal/common/number.cjs +1 -1
- package/dist/kernal/common/number.mjs +42 -53
- package/dist/kernal/common/object.cjs +1 -1
- package/dist/kernal/common/object.mjs +20 -25
- package/dist/kernal/common/path.cjs +1 -1
- package/dist/kernal/common/path.mjs +45 -52
- package/dist/kernal/common/regex.cjs +1 -1
- package/dist/kernal/common/regex.mjs +15 -25
- package/dist/kernal/common/text.cjs +4 -4
- package/dist/kernal/common/text.mjs +67 -88
- package/dist/kernal/common/tree.cjs +1 -1
- package/dist/kernal/common/tree.mjs +13 -13
- package/dist/kernal/common/url.cjs +1 -1
- package/dist/kernal/common/url.mjs +78 -104
- package/dist/kernal/common/uuid.cjs +1 -1
- package/dist/kernal/common/uuid.mjs +24 -28
- package/dist/kernal/crypto/ICrypto.cjs +1 -1
- package/dist/kernal/crypto/ICrypto.mjs +4 -5
- package/dist/kernal/crypto/MD5.cjs +1 -1
- package/dist/kernal/crypto/MD5.mjs +26 -34
- package/dist/kernal/crypto/WebCrypto.cjs +1 -1
- package/dist/kernal/crypto/WebCrypto.mjs +77 -105
- package/dist/kernal/deepClone/buffer.cjs +1 -1
- package/dist/kernal/deepClone/buffer.mjs +7 -25
- package/dist/kernal/deepClone/clone.cjs +1 -1
- package/dist/kernal/deepClone/clone.mjs +52 -116
- package/dist/kernal/deepClone/collection.cjs +1 -1
- package/dist/kernal/deepClone/collection.mjs +43 -56
- package/dist/kernal/deepClone/detector.cjs +1 -1
- package/dist/kernal/deepClone/detector.mjs +8 -16
- package/dist/kernal/deepClone/index.cjs +1 -1
- package/dist/kernal/deepClone/index.mjs +24 -38
- package/dist/kernal/device/IDevice.cjs +1 -1
- package/dist/kernal/device/IDevice.d.ts +0 -2
- package/dist/kernal/device/IDevice.mjs +4 -5
- package/dist/kernal/device/IEnvironment.cjs +0 -1
- package/dist/kernal/device/IEnvironment.mjs +0 -1
- package/dist/kernal/device/IPlatform.cjs +0 -1
- package/dist/kernal/device/IPlatform.mjs +0 -1
- package/dist/kernal/device/WebBrowser.cjs +1 -1
- package/dist/kernal/device/WebBrowser.d.ts +0 -1
- package/dist/kernal/device/WebBrowser.mjs +54 -65
- package/dist/kernal/device/WebEnvironment.cjs +1 -1
- package/dist/kernal/device/WebEnvironment.mjs +21 -21
- package/dist/kernal/device/WebPlatform.cjs +1 -1
- package/dist/kernal/device/WebPlatform.mjs +48 -63
- package/dist/kernal/html/detector.cjs +1 -1
- package/dist/kernal/html/detector.mjs +38 -46
- package/dist/kernal/html/dom.cjs +1 -0
- package/dist/kernal/html/dom.d.ts +3 -0
- package/dist/kernal/html/dom.mjs +13 -0
- package/dist/kernal/html/events.cjs +1 -1
- package/dist/kernal/html/events.mjs +62 -67
- package/dist/kernal/html/finder.cjs +1 -1
- package/dist/kernal/html/finder.mjs +93 -134
- package/dist/kernal/html/geometry.cjs +1 -1
- package/dist/kernal/html/geometry.mjs +340 -384
- package/dist/kernal/html/image.cjs +1 -1
- package/dist/kernal/html/image.mjs +166 -181
- package/dist/kernal/html/injector.cjs +3 -3
- package/dist/kernal/html/injector.mjs +92 -109
- package/dist/kernal/html/manipulator.cjs +1 -1
- package/dist/kernal/html/manipulator.mjs +96 -116
- package/dist/kernal/html/parser.cjs +1 -1
- package/dist/kernal/html/parser.mjs +61 -60
- package/dist/kernal/html/position.cjs +1 -1
- package/dist/kernal/html/position.mjs +146 -193
- package/dist/kernal/html/selection.cjs +7 -7
- package/dist/kernal/html/selection.mjs +206 -238
- package/dist/kernal/html/style.cjs +1 -1
- package/dist/kernal/html/style.mjs +59 -79
- package/dist/kernal/html/text.cjs +2 -2
- package/dist/kernal/html/text.mjs +50 -65
- package/dist/kernal/html/types.cjs +1 -1
- package/dist/kernal/html/types.mjs +7 -7
- package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
- package/dist/kernal/i18n/DefaultLocale.mjs +36 -41
- package/dist/kernal/i18n/ILocale.cjs +1 -1
- package/dist/kernal/i18n/ILocale.mjs +7 -14
- package/dist/kernal/index.cjs +1 -1
- package/dist/kernal/index.mjs +44 -127
- package/dist/kernal/logger/DefaultLogger.cjs +1 -1
- package/dist/kernal/logger/DefaultLogger.mjs +67 -67
- package/dist/kernal/logger/ILogger.cjs +1 -1
- package/dist/kernal/logger/ILogger.mjs +2 -5
- package/dist/kernal/logger/ILoggerFactory.cjs +0 -1
- package/dist/kernal/logger/ILoggerFactory.mjs +0 -1
- package/dist/kernal/logger/LogLevel.cjs +1 -1
- package/dist/kernal/logger/LogLevel.mjs +33 -11
- package/dist/kernal/logger/LoggerFactory.cjs +1 -1
- package/dist/kernal/logger/LoggerFactory.mjs +12 -12
- package/dist/kernal/logo-160x160.cjs +1 -0
- package/dist/kernal/logo-160x160.mjs +4 -0
- package/dist/kernal/mark/IMarker.cjs +0 -1
- package/dist/kernal/mark/IMarker.mjs +0 -1
- package/dist/kernal/mark/Mark.cjs +1 -1
- package/dist/kernal/mark/Mark.mjs +18 -19
- package/dist/kernal/mark/MarkConstants.cjs +1 -1
- package/dist/kernal/mark/MarkConstants.mjs +4 -7
- package/dist/kernal/mark/index.cjs +1 -1
- package/dist/kernal/mark/index.mjs +3 -10
- package/dist/kernal/mark/types.cjs +0 -1
- package/dist/kernal/mark/types.mjs +0 -1
- package/dist/kernal/nav/INavPointProvider.cjs +0 -1
- package/dist/kernal/nav/INavPointProvider.mjs +0 -1
- package/dist/kernal/nav/Nav.cjs +1 -1
- package/dist/kernal/nav/Nav.mjs +16 -18
- package/dist/kernal/navigator/INavPointNavigator.cjs +0 -1
- package/dist/kernal/navigator/INavPointNavigator.mjs +0 -1
- package/dist/kernal/navigator/INavigator.cjs +1 -1
- package/dist/kernal/navigator/INavigator.mjs +4 -5
- package/dist/kernal/navigator/IPagingNavigator.cjs +1 -1
- package/dist/kernal/navigator/IPagingNavigator.mjs +4 -8
- package/dist/kernal/network/HttpClient.cjs +1 -1
- package/dist/kernal/network/HttpClient.mjs +121 -146
- package/dist/kernal/network/IHttpClient.cjs +1 -1
- package/dist/kernal/network/IHttpClient.mjs +4 -5
- package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
- package/dist/kernal/pipelines/FileLoadPipeline.mjs +65 -84
- package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
- package/dist/kernal/pipelines/InputFormatter.mjs +140 -160
- package/dist/kernal/pipelines/metadata.cjs +1 -1
- package/dist/kernal/pipelines/metadata.mjs +44 -49
- package/dist/kernal/plugins/PluginCore.cjs +1 -1
- package/dist/kernal/plugins/PluginCore.mjs +7 -8
- package/dist/kernal/plugins/PluginManager.cjs +1 -1
- package/dist/kernal/plugins/PluginManager.mjs +79 -105
- package/dist/kernal/plugins/PluginRegistry.cjs +1 -1
- package/dist/kernal/plugins/PluginRegistry.mjs +55 -91
- package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
- package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +134 -133
- package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
- package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +134 -127
- package/dist/kernal/progress/IProgressTracker.cjs +0 -1
- package/dist/kernal/progress/IProgressTracker.mjs +0 -1
- package/dist/kernal/progress/IReadingProgressStore.cjs +0 -1
- package/dist/kernal/progress/IReadingProgressStore.mjs +0 -1
- package/dist/kernal/progress/Progress.cjs +1 -1
- package/dist/kernal/progress/Progress.mjs +23 -40
- package/dist/kernal/progress/ReadingProgressStore.cjs +1 -1
- package/dist/kernal/progress/ReadingProgressStore.mjs +16 -16
- package/dist/kernal/services/ServiceCollection.cjs +1 -1
- package/dist/kernal/services/ServiceCollection.mjs +63 -88
- package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
- package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +1 -1
- package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +63 -68
- package/dist/kernal/services/docLoadLayer/IHtmlLoadLayer.cjs +0 -1
- package/dist/kernal/services/docLoadLayer/IHtmlLoadLayer.mjs +0 -1
- package/dist/kernal/services/file/IFileDecrypter.cjs +1 -1
- package/dist/kernal/services/file/IFileDecrypter.mjs +11 -24
- package/dist/kernal/services/file/IFileProvider.cjs +0 -1
- package/dist/kernal/services/file/IFileProvider.mjs +0 -1
- package/dist/kernal/services/file/IFileUrlProvider.cjs +0 -1
- package/dist/kernal/services/file/IFileUrlProvider.mjs +0 -1
- package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
- package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +109 -118
- package/dist/kernal/services/fileUrlParser/IFileUrlParser.cjs +1 -1
- package/dist/kernal/services/fileUrlParser/IFileUrlParser.mjs +7 -10
- package/dist/kernal/services/font/IFontProvider.cjs +1 -1
- package/dist/kernal/services/font/IFontProvider.mjs +19 -33
- package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
- package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +14 -21
- package/dist/kernal/services/internalUrlBuilder/IInternalUrlBuilder.cjs +0 -1
- package/dist/kernal/services/internalUrlBuilder/IInternalUrlBuilder.mjs +0 -1
- package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
- package/dist/kernal/services/loading/DefaultLoading.mjs +46 -41
- package/dist/kernal/services/loading/ILoading.cjs +1 -1
- package/dist/kernal/services/loading/ILoading.mjs +4 -5
- package/dist/kernal/services/notifier/DefaultNotifier.cjs +1 -1
- package/dist/kernal/services/notifier/DefaultNotifier.mjs +63 -65
- package/dist/kernal/services/notifier/INotifier.cjs +0 -1
- package/dist/kernal/services/notifier/INotifier.mjs +0 -1
- package/dist/kernal/services/notifier/notyf/index.cjs +1 -1
- package/dist/kernal/services/notifier/notyf/index.mjs +5 -13
- package/dist/kernal/services/notifier/notyf/notyf.cjs +1 -1
- package/dist/kernal/services/notifier/notyf/notyf.mjs +79 -97
- package/dist/kernal/services/notifier/notyf/notyf.models.cjs +1 -1
- package/dist/kernal/services/notifier/notyf/notyf.models.mjs +39 -41
- package/dist/kernal/services/notifier/notyf/notyf.options.cjs +1 -1
- package/dist/kernal/services/notifier/notyf/notyf.options.mjs +30 -30
- package/dist/kernal/services/notifier/notyf/notyf.view.cjs +1 -1
- package/dist/kernal/services/notifier/notyf/notyf.view.mjs +146 -177
- package/dist/kernal/services/text/ITextDecoder.cjs +0 -1
- package/dist/kernal/services/text/ITextDecoder.mjs +0 -1
- package/dist/kernal/services/text/splitter.cjs +5 -5
- package/dist/kernal/services/text/splitter.mjs +184 -207
- package/dist/kernal/shape/ShapeSorter.cjs +1 -1
- package/dist/kernal/shape/ShapeSorter.mjs +77 -77
- package/dist/kernal/shape/SimpleMatrix.cjs +1 -1
- package/dist/kernal/shape/SimpleMatrix.mjs +20 -13
- package/dist/kernal/shape/definitions.cjs +0 -1
- package/dist/kernal/shape/definitions.mjs +0 -1
- package/dist/kernal/storage/IStorage.cjs +1 -1
- package/dist/kernal/storage/IStorage.mjs +4 -5
- package/dist/kernal/storage/WebStorage.cjs +1 -1
- package/dist/kernal/storage/WebStorage.mjs +164 -201
- package/dist/kernal/types.cjs +0 -1
- package/dist/kernal/types.mjs +0 -1
- package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
- package/dist/kernal/web/BrowserCapabilities.mjs +167 -191
- package/dist/kernal/web/ua.cjs +1 -1
- package/dist/kernal/web/ua.mjs +5 -5
- package/dist/mediaTypes/adjacent.cjs +1 -1
- package/dist/mediaTypes/adjacent.mjs +41 -48
- package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
- package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +184 -227
- package/dist/mediaTypes/base/index.cjs +1 -1
- package/dist/mediaTypes/base/index.mjs +4 -8
- package/dist/mediaTypes/base/renderer/BaseDocument.cjs +1 -1
- package/dist/mediaTypes/base/renderer/BaseDocument.mjs +41 -49
- package/dist/mediaTypes/base/renderer/BaseDocumentsProvider.cjs +1 -1
- package/dist/mediaTypes/base/renderer/BaseDocumentsProvider.mjs +64 -71
- package/dist/mediaTypes/base/renderer/eventKeys.cjs +1 -1
- package/dist/mediaTypes/base/renderer/eventKeys.mjs +7 -7
- package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
- package/dist/mediaTypes/html/HtmlOptions.mjs +34 -12
- package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
- package/dist/mediaTypes/html/HtmlSettings.mjs +43 -6
- package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
- package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +52 -54
- package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
- package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +52 -57
- package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +0 -1
- package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +0 -1
- package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
- package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +89 -89
- package/dist/mediaTypes/html/renderer/IHtmlDocument.cjs +0 -1
- package/dist/mediaTypes/html/renderer/IHtmlDocument.mjs +0 -1
- package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.cjs +0 -1
- package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.mjs +0 -1
- package/dist/mediaTypes/html/renderer/IHtmlRenderer.cjs +0 -1
- package/dist/mediaTypes/html/renderer/IHtmlRenderer.mjs +0 -1
- package/dist/mediaTypes/html/renderer/IHtmlTextDocument.cjs +0 -1
- package/dist/mediaTypes/html/renderer/IHtmlTextDocument.mjs +0 -1
- package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +183 -196
- package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +28 -28
- package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +77 -82
- package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +87 -97
- package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +49 -64
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +29 -32
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +76 -84
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +2 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +185 -208
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -1
- package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +39 -41
- package/dist/mediaTypes/html/renderer/documents/IHtmlDocumentsPreloader.cjs +0 -1
- package/dist/mediaTypes/html/renderer/documents/IHtmlDocumentsPreloader.mjs +0 -1
- package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
- package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +130 -182
- package/dist/mediaTypes/html/renderer/html/IHtmlContentProcessor.cjs +0 -1
- package/dist/mediaTypes/html/renderer/html/IHtmlContentProcessor.mjs +0 -1
- package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
- package/dist/mediaTypes/html/renderer/html/template.mjs +13 -16
- package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
- package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +371 -447
- package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
- package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +91 -103
- package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.cjs +0 -1
- package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.mjs +0 -1
- package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -0
- package/dist/mediaTypes/html/renderer/image/error-image.mjs +4 -0
- package/dist/mediaTypes/html/renderer/image/placeholder.cjs +1 -0
- package/dist/mediaTypes/html/renderer/image/placeholder.mjs +4 -0
- package/dist/mediaTypes/html/renderer/layout/HtmlLayoutMetrics.cjs +1 -1
- package/dist/mediaTypes/html/renderer/layout/HtmlLayoutMetrics.mjs +5 -6
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +81 -90
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
- package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +142 -169
- package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.cjs +0 -1
- package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.mjs +0 -1
- package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
- package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +61 -6
- package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +106 -118
- package/dist/mediaTypes/html/renderer/location/HtmlLocationCalculator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/location/HtmlLocationCalculator.mjs +28 -34
- package/dist/mediaTypes/html/renderer/location/IHtmlElementLocator.cjs +0 -1
- package/dist/mediaTypes/html/renderer/location/IHtmlElementLocator.mjs +0 -1
- package/dist/mediaTypes/html/renderer/location/IHtmlLocationCalculator.cjs +0 -1
- package/dist/mediaTypes/html/renderer/location/IHtmlLocationCalculator.mjs +0 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +39 -42
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +121 -125
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +151 -178
- package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
- package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +78 -85
- package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
- package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +119 -137
- package/dist/mediaTypes/html/renderer/progress/IHtmlIProgressTracker.cjs +0 -1
- package/dist/mediaTypes/html/renderer/progress/IHtmlIProgressTracker.mjs +0 -1
- package/dist/mediaTypes/html/renderer/progress/adjacent.cjs +1 -1
- package/dist/mediaTypes/html/renderer/progress/adjacent.mjs +41 -48
- package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +40 -9
- package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +40 -6
- package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +62 -74
- package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
- package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +58 -68
- package/dist/mediaTypes/html/renderer/style/IHtmlThemeApplier.cjs +0 -1
- package/dist/mediaTypes/html/renderer/style/IHtmlThemeApplier.mjs +0 -1
- package/dist/mediaTypes/html/renderer/style/{html-content.css.mjs → html-content.cjs} +2 -5
- package/dist/mediaTypes/html/renderer/style/html-content.mjs +4 -0
- package/dist/mediaTypes/html/renderer/visibilityCandidates.cjs +1 -1
- package/dist/mediaTypes/html/renderer/visibilityCandidates.mjs +116 -111
- package/dist/mediaTypes/pdf/PdfOptions.cjs +1 -1
- package/dist/mediaTypes/pdf/PdfOptions.mjs +7 -7
- package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
- package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +16 -26
- package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.cjs +0 -1
- package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.d.ts +2 -0
- package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.mjs +0 -1
- package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
- package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +148 -170
- package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
- package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +45 -52
- package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.cjs +1 -1
- package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.mjs +28 -28
- package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
- package/dist/mediaTypes/pdf/loadPdfDocument.mjs +27 -23
- package/dist/mediaTypes/pdf/renderer/IPdfDocument.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/IPdfDocument.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/IPdfRenderer.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/IPdfRenderer.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +323 -625
- package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +18 -18
- package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +25 -6
- package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +61 -70
- package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +118 -122
- package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.mjs +85 -111
- package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.mjs +7 -10
- package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +29 -32
- package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +76 -79
- package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +269 -236
- package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.mjs +33 -36
- package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
- package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +243 -290
- package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.mjs +43 -50
- package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.mjs +84 -105
- package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +44 -59
- package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.mjs +138 -177
- package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.mjs +36 -42
- package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +75 -82
- package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.mjs +18 -21
- package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +54 -68
- package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
- package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +15 -15
- package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.cjs +0 -1
- package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.mjs +0 -1
- package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.cjs +1 -1
- package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.mjs +46 -41
- package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/geometry/index.mjs +3 -13
- package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +45 -45
- package/dist/mediaTypes/pdf/shared/geometry/textRects.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/geometry/textRects.mjs +219 -263
- package/dist/mediaTypes/pdf/shared/range.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/range.mjs +11 -14
- package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.cjs +0 -1
- package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.mjs +0 -1
- package/dist/mediaTypes/pdf/shared/selection/PdfSelection.cjs +2 -2
- package/dist/mediaTypes/pdf/shared/selection/PdfSelection.mjs +214 -236
- package/dist/mediaTypes/pdf/shared/selection/index.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/selection/index.mjs +3 -6
- package/dist/mediaTypes/pdf/shared/text/bbox.cjs +1 -1
- package/dist/mediaTypes/pdf/shared/text/bbox.mjs +130 -142
- package/dist/mediaTypes/pdf/shared/text/pageText.cjs +5 -5
- package/dist/mediaTypes/pdf/shared/text/pageText.mjs +168 -185
- package/global.d.ts +17 -0
- package/package.json +19 -12
- package/types.d.ts +13 -0
- package/dist/kernal/logo-160x160.png.cjs +0 -1
- package/dist/kernal/logo-160x160.png.mjs +0 -4
- package/dist/mediaTypes/html/renderer/image/error-image.png.cjs +0 -1
- package/dist/mediaTypes/html/renderer/image/error-image.png.mjs +0 -4
- package/dist/mediaTypes/html/renderer/image/placeholder.png.cjs +0 -1
- package/dist/mediaTypes/html/renderer/image/placeholder.png.mjs +0 -4
- package/dist/mediaTypes/html/renderer/style/html-content.css.cjs +0 -316
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
import { EventNames as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.unregister();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export {
|
|
32
|
-
a as HtmlDocumentsIntersectionObserver
|
|
1
|
+
import { EventNames as e } from "../../../../kernal/EventNames.mjs";
|
|
2
|
+
//#region mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.ts
|
|
3
|
+
var t = class {
|
|
4
|
+
constructor(e) {
|
|
5
|
+
this.documentsProvider = e, this.documentMap = /* @__PURE__ */ new Map(), this.setDocumentVisible = (e, t) => {
|
|
6
|
+
e.isVisible = t;
|
|
7
|
+
}, this.events = this.documentsProvider.owner.events;
|
|
8
|
+
}
|
|
9
|
+
register() {
|
|
10
|
+
this.contentContainerIntersectionObserver = new IntersectionObserver((t) => {
|
|
11
|
+
for (let n = 0; n < t.length; n++) {
|
|
12
|
+
let r = t[n], i = r.isIntersecting || r.intersectionRatio > 0;
|
|
13
|
+
this.setDocumentVisible(r.target, i);
|
|
14
|
+
let a = this.documentMap.get(r.target);
|
|
15
|
+
a && this.events.emit(e.DocumentVisibleChange, a, i);
|
|
16
|
+
}
|
|
17
|
+
}, { rootMargin: "-2px" }), this.observeContainers();
|
|
18
|
+
}
|
|
19
|
+
unregister() {
|
|
20
|
+
this.contentContainerIntersectionObserver?.disconnect(), this.contentContainerIntersectionObserver = void 0, this.documentMap.clear();
|
|
21
|
+
}
|
|
22
|
+
observeContainers() {
|
|
23
|
+
for (let e of this.documentsProvider.getDocuments()) this.documentMap.set(e.getWrapperContainer(), e), this.contentContainerIntersectionObserver.observe(e.getWrapperContainer());
|
|
24
|
+
}
|
|
25
|
+
async dispose() {
|
|
26
|
+
this.unregister();
|
|
27
|
+
}
|
|
33
28
|
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { t as HtmlDocumentsIntersectionObserver };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/web/BrowserCapabilities.cjs"),t=require("../../../../kernal/EventNames.cjs");let n=require("perfect-debounce");var r=class{constructor(e,t,r,i){this.events=e,this.documentsProvider=t,this.getLoadingDocument=r,this.htmlOptions=i,this.onDocumentVisibleChange=async(e,t)=>{await this.delayPreloadDocuments()},this.delayPreloadDocuments=(0,n.debounce)(this.preloadDocuments,500),this.checkContainFullscreenElement=e=>!!e?.getContentContainer()?.ownerDocument?.fullscreenElement,this.bindEvents()}bindEvents(){this.events.on(t.EventNames.DocumentVisibleChange,this.onDocumentVisibleChange)}unbindEvents(){this.events.off(t.EventNames.DocumentVisibleChange,this.onDocumentVisibleChange)}async dispose(){this.unbindEvents()}async preloadDocuments(){try{let e=this.documentsProvider.getVisibleDocuments();if(!e||e.length==0)return;for(let t of e)await t.load();await this.preloadRelatedDocuments(e[0],e[e.length-1])}catch{}}async preloadRelatedDocuments(t,n){let r=this.documentsProvider.getDocuments(),i=r.indexOf(t),a=r.indexOf(n),o=r.length,s=[];for(let e=i;e<=a;e++){let t=r[e];t&&!s.includes(t)&&s.push(t)}let c=[],l=this.htmlOptions.preloadFileCount;l>10&&(l=10),l<1&&(l=1);for(let e=1;e<=l;e++){let t=a+e;t>0&&t<=o-1&&c.push(r[t]);let n=i-e;n>=0&&c.push(r[n])}for(let t=0;t<c.length;t++){let n=c[t];await n.load(),n&&!s.includes(n)&&s.push(n),await e.BrowserCapabilities.yieldToMain()}let u=this.documentsProvider.getRendererContainer().clientWidth;if(this.htmlOptions.flipMode==`page`){let t=0;for(let n=i-1;n>=0;n--){let i=r[n];if(await i.load(),i&&!s.includes(i)&&s.push(i),t+=i.getWrapperContainer().clientWidth,t>=u)break;await e.BrowserCapabilities.yieldToMain()}let n=0;for(let t=a+1;t<o-1;t++){let i=r[t];if(await i.load(),i&&!s.includes(i)&&s.push(i),n+=i.getWrapperContainer().clientWidth,n>=u)break;await e.BrowserCapabilities.yieldToMain()}}let d=this.getLoadingDocument();d&&!s.includes(d)&&s.push(d);let f=this.documentsProvider.getVisibleDocuments();for(let e of f)s.includes(e)||s.push(e);await this.removeUnnecessaryDocuments(s),s.splice(0)}async removeUnnecessaryDocuments(t){if(!t)return;let n=this.documentsProvider.getLoadedDocuments();for(let r of n)t.includes(r)||(await this.disposeDocument(r),await e.BrowserCapabilities.yieldToMain())}async disposeDocument(e){this.checkContainFullscreenElement(e)||await e.dispose()}};exports.HtmlDocumentsPreloader=r;
|
|
@@ -1,85 +1,77 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const a = this.documentsProvider.getLoadedDocuments();
|
|
76
|
-
for (const o of a)
|
|
77
|
-
t.includes(o) || (await this.disposeDocument(o), await h.yieldToMain());
|
|
78
|
-
}
|
|
79
|
-
async disposeDocument(t) {
|
|
80
|
-
this.checkContainFullscreenElement(t) || await t.dispose();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
export {
|
|
84
|
-
x as HtmlDocumentsPreloader
|
|
1
|
+
import { BrowserCapabilities as e } from "../../../../kernal/web/BrowserCapabilities.mjs";
|
|
2
|
+
import { EventNames as t } from "../../../../kernal/EventNames.mjs";
|
|
3
|
+
import { asyncDebounce as n } from "../../../../kernal/Debounce.mjs";
|
|
4
|
+
//#region mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.ts
|
|
5
|
+
var r = class {
|
|
6
|
+
constructor(e, t, r, i) {
|
|
7
|
+
this.events = e, this.documentsProvider = t, this.getLoadingDocument = r, this.htmlOptions = i, this.onDocumentVisibleChange = async (e, t) => {
|
|
8
|
+
await this.delayPreloadDocuments();
|
|
9
|
+
}, this.delayPreloadDocuments = n(this.preloadDocuments, 500), this.checkContainFullscreenElement = (e) => !!e?.getContentContainer()?.ownerDocument?.fullscreenElement, this.bindEvents();
|
|
10
|
+
}
|
|
11
|
+
bindEvents() {
|
|
12
|
+
this.events.on(t.DocumentVisibleChange, this.onDocumentVisibleChange);
|
|
13
|
+
}
|
|
14
|
+
unbindEvents() {
|
|
15
|
+
this.events.off(t.DocumentVisibleChange, this.onDocumentVisibleChange);
|
|
16
|
+
}
|
|
17
|
+
async dispose() {
|
|
18
|
+
this.unbindEvents();
|
|
19
|
+
}
|
|
20
|
+
async preloadDocuments() {
|
|
21
|
+
try {
|
|
22
|
+
let e = this.documentsProvider.getVisibleDocuments();
|
|
23
|
+
if (!e || e.length == 0) return;
|
|
24
|
+
for (let t of e) await t.load();
|
|
25
|
+
await this.preloadRelatedDocuments(e[0], e[e.length - 1]);
|
|
26
|
+
} catch {}
|
|
27
|
+
}
|
|
28
|
+
async preloadRelatedDocuments(t, n) {
|
|
29
|
+
let r = this.documentsProvider.getDocuments(), i = r.indexOf(t), a = r.indexOf(n), o = r.length, s = [];
|
|
30
|
+
for (let e = i; e <= a; e++) {
|
|
31
|
+
let t = r[e];
|
|
32
|
+
t && !s.includes(t) && s.push(t);
|
|
33
|
+
}
|
|
34
|
+
let c = [], l = this.htmlOptions.preloadFileCount;
|
|
35
|
+
l > 10 && (l = 10), l < 1 && (l = 1);
|
|
36
|
+
for (let e = 1; e <= l; e++) {
|
|
37
|
+
let t = a + e;
|
|
38
|
+
t > 0 && t <= o - 1 && c.push(r[t]);
|
|
39
|
+
let n = i - e;
|
|
40
|
+
n >= 0 && c.push(r[n]);
|
|
41
|
+
}
|
|
42
|
+
for (let t = 0; t < c.length; t++) {
|
|
43
|
+
let n = c[t];
|
|
44
|
+
await n.load(), n && !s.includes(n) && s.push(n), await e.yieldToMain();
|
|
45
|
+
}
|
|
46
|
+
let u = this.documentsProvider.getRendererContainer().clientWidth;
|
|
47
|
+
if (this.htmlOptions.flipMode == "page") {
|
|
48
|
+
let t = 0;
|
|
49
|
+
for (let n = i - 1; n >= 0; n--) {
|
|
50
|
+
let i = r[n];
|
|
51
|
+
if (await i.load(), i && !s.includes(i) && s.push(i), t += i.getWrapperContainer().clientWidth, t >= u) break;
|
|
52
|
+
await e.yieldToMain();
|
|
53
|
+
}
|
|
54
|
+
let n = 0;
|
|
55
|
+
for (let t = a + 1; t < o - 1; t++) {
|
|
56
|
+
let i = r[t];
|
|
57
|
+
if (await i.load(), i && !s.includes(i) && s.push(i), n += i.getWrapperContainer().clientWidth, n >= u) break;
|
|
58
|
+
await e.yieldToMain();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
let d = this.getLoadingDocument();
|
|
62
|
+
d && !s.includes(d) && s.push(d);
|
|
63
|
+
let f = this.documentsProvider.getVisibleDocuments();
|
|
64
|
+
for (let e of f) s.includes(e) || s.push(e);
|
|
65
|
+
await this.removeUnnecessaryDocuments(s), s.splice(0);
|
|
66
|
+
}
|
|
67
|
+
async removeUnnecessaryDocuments(t) {
|
|
68
|
+
if (!t) return;
|
|
69
|
+
let n = this.documentsProvider.getLoadedDocuments();
|
|
70
|
+
for (let r of n) t.includes(r) || (await this.disposeDocument(r), await e.yieldToMain());
|
|
71
|
+
}
|
|
72
|
+
async disposeDocument(e) {
|
|
73
|
+
this.checkContainFullscreenElement(e) || await e.dispose();
|
|
74
|
+
}
|
|
85
75
|
};
|
|
76
|
+
//#endregion
|
|
77
|
+
export { r as HtmlDocumentsPreloader };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/web/BrowserCapabilities.cjs"),t=require("../../../../kernal/common/text.cjs"),n=require("../../../../kernal/progress/Progress.cjs");require("../../../../kernal/Constants.cjs");const r=require("../../../../kernal/common/number.cjs"),i=require("../../../../kernal/html/finder.cjs"),a=require("../../../../kernal/html/dom.cjs"),o=require("../../../../kernal/html/style.cjs"),s=require("../../../../kernal/html/manipulator.cjs"),c=require("../../HtmlSettings.cjs"),l=require("../../../base/renderer/BaseDocumentsProvider.cjs"),u=require("../document/HtmlDocument.cjs"),d=require("./HtmlDocumentsPreloader.cjs"),f=require("./HtmlDocumentsIntersectionObserver.cjs"),p=require("../location/HtmlElementLocator.cjs"),m=require("../layout/HtmlRendererViewport.cjs");let h=require("perfect-debounce");var g=class extends l.BaseDocumentsProvider{constructor(e,n,r,i){super(e,n),this.readerContainer=r,this.htmlOptions=i,this.isInit=!1,this.isFirstLoad=!0,this.hangTasks=[],this.resetTransformContainer=()=>{let e=this.getTransformContainer();e&&(e.style.removeProperty(`transition`),e.style.transform=`translate3d(0px,0,0)`,e.setAttribute(`data-target-transform`,`0`),e.offsetWidth)},this.removeElementTransitionEvent=async e=>{let t=e.target;for(t.style.removeProperty(`transition`),t.style.removeProperty(`will-change`),t.removeAttribute(c.HtmlSettings.PageMovingAttributeName),t.removeEventListener(`transitionend`,this.removeElementTransitionEvent);this.hangTasks.length>0;)await this.hangTasks.shift()()},this.scrollWrapperIntoView=(e,t)=>{let n=e.getWrapperContainer();if(this.htmlOptions.flipMode==`page`){let e=n.offsetLeft,t=this.getTransformContainer();t.style.transform=`translateX(`+-e+`px)`}else(!n.isVisible||t)&&o.scrollElementIntoView(n,void 0,void 0,this.owner.getRootContainer()?.ownerDocument);this.setDocumentVisible(n,!0)},this.setDocumentVisible=(e,t)=>{e.isVisible=t},this.reload=async()=>{let e=this.owner.context.currentLocation;t.isNullOrWhiteSpace(e?.url)||(e.scrollBehavior=`smooth`,await this.load(e,!0),e.scrollBehavior=void 0)},this.delayReloadTime=300,this.delayReload=(0,h.debounce)(this.reload,this.delayReloadTime),this.logger=this.owner.loggerFactory.getLogger(this.constructor.name),this.elementLocator=new p.HtmlElementLocator(this),this.rendererViewport=new m.HtmlRendererViewport(e,this.readerContainer,this.owner.optionsProvider,i),this.documentsIntersectionObserver=new f.HtmlDocumentsIntersectionObserver(this),this.documentPreloader=new d.HtmlDocumentsPreloader(this.owner.events,this,()=>this.loadingDoc,i)}getTransformContainer(){return this.getRendererContainer().querySelector(`.`+c.HtmlSettings.TransformContainerCssName)}getRendererContainer(){return this.rendererViewport.getRendererContainer()}getScrollElement(){return this.rendererViewport.getScrollElement()}getLoadingDocument(){return this.loadingDoc}async createDocument(e,t,n){return new u.HtmlDocument(this.owner,this.rendererViewport,this.fileParser,e,t,this.htmlOptions)}async initialize(e){this.rendererViewport.applyCssVariables(),await super.initialize(e);let t=this.getDocuments();for(let e of t)e.getWrapperContainer().classList.add(c.HtmlSettings.FileContentContainerClassName,c.HtmlSettings.FileContentContainerHeightClassName)}async load(e,t){this.isInit||=(await this.initialize(this.getTransformContainer()),this.documentsIntersectionObserver.register(),!0),e?.storeCurrent&&await this.owner.onBeforeRedirect?.(this),t??=!1;let r=e?.url,i=this.getDocument(r);if(!i){let t=this.getDocuments();i=t[0],(t.length>1||!e)&&(e=new n.FileLocation(i.url,1,`ratio`),e.current=0)}this.htmlOptions.flipMode==`page`?this.appendPageStyles():this.removePageStyles(),this.loadingDoc=i,this.owner.context.redirectingDocUrl=i.url;try{this.delayHideLoadingLayerTimer=setTimeout(async()=>{await this.owner.loading?.hide()},2e3),this.owner.context.setUserChangedProgress(!t,e?.from),await this.gotoDoc(i,e,t),this.isFirstLoad&&!t&&(this.isFirstLoad=!1),await this.documentPreloader.preloadDocuments()}finally{setTimeout(()=>{this.loadingDoc=null,this.owner.context.redirectingDocUrl=void 0},166)}}async gotoDoc(e,n,r){if(!n||(await e.load(),!e.getContentContainer()))return;r??=!1;let a=this.htmlOptions.flipMode,o,c;try{let l=await this.findTarget(e,n);c=l?.target;let u=l?.pageNumber,d=l?.isDocumentStart;if(!c&&!u)return;if(c&&n?.textOffset>=0){let e=c.textContent;if(n?.textOffset<e.length&&e.length<3e3){s.wrapperCharacters(c,`m`);let e=c.querySelectorAll(`m`);o=i.compareTagName(c.firstElementChild?.tagName,`ST`)&&c.firstElementChild.getBoundingClientRect().width==0?e.item(c.firstElementChild.textContent.length):e.item(n.textOffset)}}if(o??=c,a==`scroll`)await this.gotoScroll(e,n,o,d);else{if(r&&o&&!t.isNullOrWhiteSpace(n.tagName))this.resetTransformContainer(),u=await e.getPageNumber(o);else if(n.unit===`page`&&n.current!=null&&n.current>0){u=n.current;let t=await e.getNumberOfPages();n.total>1&&n.total!=t&&(u=Math.ceil(t*(n.current/n.total)))}else u||=await e.getPageNumber(o);await this.transformPage(e,u,r?void 0:n.direction)}}finally{c&&s.recoverWrapperCharacters(c)}}async gotoScroll(t,n,r,i){let a=r.getBoundingClientRect(),s=0;n?.ignoreOverlayHeader||(s=this.owner.optionsProvider.getHeaderHeight()+this.owner.options.redirectPositionOffset,r.clientHeight==0&&a.height==0&&(s+=50)),n.offsetTop&&(s+=n.offsetTop);let c=this.getScrollElement(),l=a.y,u=t.getContentContainer().ownerDocument.defaultView?.frameElement,d=u?.getBoundingClientRect()?.y??0,f=l+d,p=c.scrollTop;if(n.useAbsoluteScrollTop){let e=p+f-s;c.scrollTo(0,e)}else if(i)this.scrollWrapperIntoView(t,!0);else{if(e.BrowserCapabilities.isSafari()){o.scrollElementIntoView(t.getWrapperContainer(),void 0,void 0,this.owner.getRootContainer()?.ownerDocument),p=c.scrollTop;let e=u?.offsetTop??0;if(Math.abs(e+l-p)>5){let e=p+t.getWrapperContainer().getBoundingClientRect().y+l;c.scrollTo(0,e)}d=u?.getBoundingClientRect()?.y??0,f=l+d}else s=f-s-c.getBoundingClientRect().top;s>0?c.scrollHeight-c.scrollTop-c.clientHeight>0?c.scrollBy(0,s):o.scrollElementIntoView(r,void 0,n?.scrollIntoViewIfNeeded,this.owner.getRootContainer()?.ownerDocument):c.scrollBy(0,s),this.setDocumentVisible(t.getWrapperContainer(),!0)}}async findTarget(e,t){return this.elementLocator.locateElement(e,t,this.htmlOptions)}async transformPage(e,t,n){let i=this.getTransformContainer(),a=i.getAttribute(`data-target-transform`),s=0;s=a?r.parseNumber(a,0,`parseFloat`):o.getTransformLength(i,`x`);let c=this.rendererViewport.getLayoutMetrics(),l=c.columnWidth+c.columnGap,u=e.getWrapperContainer().offsetLeft,d=Math.abs(u-s),f=d==0?0:d%l,p=s;f>0&&(p=n==`previous`?s-f:s+l-f);let m=p;try{if(n==`previous`){let e=p-c.pageMoveLength>=0,n=u+(t-1)*c.pageMoveLength;m=e?p-c.pageMoveLength:p<=c.pageMoveLength?0:n}else if(n==`next`){m=p+c.pageMoveLength;let e=this.getDocuments(),t=e[e.length-1];if(t.getWrapperContainer().offsetLeft+t.getWrapperContainer().scrollWidth-m<=0)return}else m=u+(t-1)*c.pageMoveLength;m<0&&(m=0);let r=this.htmlOptions.writingMode??`horizontal-tb`;if((this.isVerticalWriting(r)?`y`:`x`)==`x`)!i.style.transition&&this.htmlOptions.flipPageStyle==`slide`&&(n==`next`||n==`previous`)&&(i.style.transition=`transform 0.2s ease`),i.style.transition&&i.addEventListener(`transitionend`,this.removeElementTransitionEvent),i.setAttribute(`data-target-transform`,`${m}`),i.style.transform=`translate3d(-`+parseFloat(m.toFixed(10))+`px,0,0)`;else{i.style.transform=`translateX(`+-u+`px)`;let n=e.getContentContainer().ownerDocument.documentElement,r=o.getTransformLength(n,`y`)+(t-1)*c.columnWidth;n.style.transform=`translateY(-`+parseFloat(r.toFixed(10))+`px)`}this.setCurrentPageNumber(e,t)}finally{}}setCurrentPageNumber(e,t){let n=e.getContentContainer()?.ownerDocument?.documentElement;n&&n.setAttribute(c.HtmlSettings.HtmlDocumentCurrentPagePropertyName,t.toFixed(0))}getCurrentPageNumber(e){let t=e.getContentContainer()?.ownerDocument?.documentElement;if(!t)return 1;let n=t.getAttribute(c.HtmlSettings.HtmlDocumentCurrentPagePropertyName);return r.parseNumber(n,1,`parseInt`)}isVerticalWriting(e){return e==`vertical-lr`||e==`vertical-rl`}appendPageStyles(){this.getRendererContainer().classList.add(c.HtmlSettings.TransformPagesClassName)}removePageStyles(){this.getRendererContainer().classList.remove(c.HtmlSettings.TransformPagesClassName);let e=this.getTransformContainer();e&&e.style.removeProperty(`transform`)}async dispose(){this.delayHideLoadingLayerTimer&&=(clearTimeout(this.delayHideLoadingLayerTimer),null),await this.documentsIntersectionObserver.dispose(),await this.documentPreloader.dispose(),await super.dispose(),this.readerContainer&&a.emptyElement(this.readerContainer),this.isInit=!1}};exports.HtmlDocumentsProvider=g;
|
|
@@ -6,6 +6,7 @@ import { HtmlOptions } from '../../HtmlOptions';
|
|
|
6
6
|
import { IHtmlDocumentsProvider } from '../IHtmlDocumentsProvider';
|
|
7
7
|
import { IRendererViewport } from '../../../../kernal/IRendererViewport';
|
|
8
8
|
import { HtmlLayoutMetrics } from '../layout/HtmlLayoutMetrics';
|
|
9
|
+
import { DebouncedReturn } from 'perfect-debounce';
|
|
9
10
|
|
|
10
11
|
export declare class HtmlDocumentsProvider extends BaseDocumentsProvider<IHtmlDocument> implements IHtmlDocumentsProvider {
|
|
11
12
|
protected readonly readerContainer: HTMLElement;
|
|
@@ -41,7 +42,7 @@ export declare class HtmlDocumentsProvider extends BaseDocumentsProvider<IHtmlDo
|
|
|
41
42
|
private isVerticalWriting;
|
|
42
43
|
reload: () => Promise<void>;
|
|
43
44
|
protected readonly delayReloadTime = 300;
|
|
44
|
-
protected delayReload:
|
|
45
|
+
protected delayReload: DebouncedReturn<[], void>;
|
|
45
46
|
private appendPageStyles;
|
|
46
47
|
private removePageStyles;
|
|
47
48
|
dispose(): Promise<void>;
|