@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.
Files changed (516) hide show
  1. package/README.MD +0 -2
  2. package/README.zh.md +0 -2
  3. package/dist/ReaderHub.cjs +1 -0
  4. package/dist/ReaderHub.d.ts +20 -0
  5. package/dist/ReaderHub.mjs +59 -0
  6. package/dist/kernal/ContentRange.d.ts +1 -0
  7. package/dist/kernal/Context.cjs +1 -1
  8. package/dist/kernal/Context.mjs +13 -8
  9. package/dist/kernal/EventNames.cjs +1 -1
  10. package/dist/kernal/EventNames.d.ts +2 -0
  11. package/dist/kernal/EventNames.mjs +6 -0
  12. package/dist/kernal/FileLoader.cjs +1 -1
  13. package/dist/kernal/FileLoader.d.ts +3 -11
  14. package/dist/kernal/FileLoader.mjs +27 -22
  15. package/dist/kernal/JsonConvert.cjs +1 -1
  16. package/dist/kernal/JsonConvert.d.ts +0 -1
  17. package/dist/kernal/JsonConvert.mjs +17 -25
  18. package/dist/kernal/LifecycleHooks.d.ts +2 -1
  19. package/dist/kernal/Metadata.cjs +1 -1
  20. package/dist/kernal/Metadata.d.ts +34 -0
  21. package/dist/kernal/Metadata.mjs +47 -2
  22. package/dist/kernal/OpenOptions.d.ts +1 -0
  23. package/dist/kernal/Options.cjs +1 -1
  24. package/dist/kernal/Options.d.ts +2 -12
  25. package/dist/kernal/Options.mjs +1 -13
  26. package/dist/kernal/OptionsProvider.cjs +1 -1
  27. package/dist/kernal/OptionsProvider.d.ts +0 -2
  28. package/dist/kernal/OptionsProvider.mjs +6 -14
  29. package/dist/kernal/Reader.cjs +1 -1
  30. package/dist/kernal/Reader.d.ts +13 -12
  31. package/dist/kernal/Reader.mjs +119 -89
  32. package/dist/kernal/Theme.cjs +1 -1
  33. package/dist/kernal/Theme.mjs +1 -1
  34. package/dist/kernal/common/url.cjs +1 -1
  35. package/dist/kernal/common/url.d.ts +2 -0
  36. package/dist/kernal/common/url.mjs +2 -2
  37. package/dist/kernal/common/uuid.cjs +1 -1
  38. package/dist/kernal/common/uuid.mjs +7 -7
  39. package/dist/kernal/common/xxh64.cjs +1 -0
  40. package/dist/kernal/common/xxh64.d.ts +1 -0
  41. package/dist/kernal/common/xxh64.mjs +30 -0
  42. package/dist/kernal/crypto/MD5.cjs +1 -1
  43. package/dist/kernal/crypto/MD5.d.ts +0 -1
  44. package/dist/kernal/crypto/MD5.mjs +8 -9
  45. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  46. package/dist/kernal/crypto/WebCrypto.mjs +38 -35
  47. package/dist/kernal/deepClone/buffer.cjs +1 -1
  48. package/dist/kernal/deepClone/buffer.d.ts +8 -2
  49. package/dist/kernal/deepClone/buffer.mjs +1 -5
  50. package/dist/kernal/device/IDevice.d.ts +8 -2
  51. package/dist/kernal/device/WebBrowser.cjs +1 -1
  52. package/dist/kernal/device/WebBrowser.d.ts +12 -6
  53. package/dist/kernal/device/WebBrowser.mjs +70 -6
  54. package/dist/kernal/hostViewport.cjs +1 -0
  55. package/dist/kernal/hostViewport.d.ts +16 -0
  56. package/dist/kernal/hostViewport.mjs +44 -0
  57. package/dist/kernal/html/events.cjs +1 -1
  58. package/dist/kernal/html/events.mjs +35 -34
  59. package/dist/kernal/html/finder.cjs +1 -1
  60. package/dist/kernal/html/finder.d.ts +6 -2
  61. package/dist/kernal/html/finder.mjs +62 -51
  62. package/dist/kernal/html/geometry.cjs +1 -1
  63. package/dist/kernal/html/geometry.d.ts +26 -1
  64. package/dist/kernal/html/geometry.mjs +182 -121
  65. package/dist/kernal/html/manipulator.cjs +1 -1
  66. package/dist/kernal/html/manipulator.d.ts +1 -3
  67. package/dist/kernal/html/manipulator.mjs +34 -59
  68. package/dist/kernal/html/parser.cjs +1 -1
  69. package/dist/kernal/html/parser.mjs +3 -3
  70. package/dist/kernal/html/position.cjs +1 -1
  71. package/dist/kernal/html/position.d.ts +0 -18
  72. package/dist/kernal/html/position.mjs +2 -141
  73. package/dist/kernal/html/realm.cjs +1 -0
  74. package/dist/kernal/html/realm.d.ts +7 -0
  75. package/dist/kernal/html/realm.mjs +8 -0
  76. package/dist/kernal/html/selection.cjs +1 -1
  77. package/dist/kernal/html/selection.d.ts +1 -0
  78. package/dist/kernal/html/selection.mjs +33 -12
  79. package/dist/kernal/html/text.cjs +1 -1
  80. package/dist/kernal/html/text.d.ts +4 -3
  81. package/dist/kernal/html/text.mjs +24 -21
  82. package/dist/kernal/html/translationAnchor.cjs +1 -0
  83. package/dist/kernal/html/translationAnchor.d.ts +3 -0
  84. package/dist/kernal/html/translationAnchor.mjs +71 -0
  85. package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
  86. package/dist/kernal/i18n/DefaultLocale.d.ts +2 -2
  87. package/dist/kernal/i18n/DefaultLocale.mjs +7 -12
  88. package/dist/kernal/i18n/ILocale.d.ts +0 -1
  89. package/dist/kernal/i18n/applyNamed.cjs +1 -0
  90. package/dist/kernal/i18n/applyNamed.d.ts +1 -0
  91. package/dist/kernal/i18n/applyNamed.mjs +9 -0
  92. package/dist/kernal/i18n/textDirection.cjs +1 -0
  93. package/dist/kernal/i18n/textDirection.d.ts +6 -0
  94. package/dist/kernal/i18n/textDirection.mjs +7 -0
  95. package/dist/kernal/index.cjs +1 -1
  96. package/dist/kernal/index.d.ts +6 -5
  97. package/dist/kernal/index.mjs +50 -45
  98. package/dist/kernal/mark/IHighlighter.cjs +1 -0
  99. package/dist/kernal/mark/IHighlighter.d.ts +43 -0
  100. package/dist/kernal/mark/IHighlighter.mjs +13 -0
  101. package/dist/kernal/mark/Mark.cjs +1 -1
  102. package/dist/kernal/mark/Mark.d.ts +33 -4
  103. package/dist/kernal/mark/Mark.mjs +43 -6
  104. package/dist/kernal/mark/index.cjs +1 -1
  105. package/dist/kernal/mark/index.d.ts +2 -0
  106. package/dist/kernal/mark/index.mjs +6 -3
  107. package/dist/kernal/mark/overlay.cjs +1 -0
  108. package/dist/kernal/mark/overlay.d.ts +31 -0
  109. package/dist/kernal/mark/overlay.mjs +102 -0
  110. package/dist/kernal/mark/types.cjs +1 -0
  111. package/dist/kernal/mark/types.d.ts +11 -2
  112. package/dist/kernal/mark/types.mjs +4 -0
  113. package/dist/kernal/navigator/INavigator.d.ts +3 -2
  114. package/dist/kernal/network/HttpClient.cjs +1 -1
  115. package/dist/kernal/network/HttpClient.mjs +80 -56
  116. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  117. package/dist/kernal/pipelines/FileLoadPipeline.mjs +55 -56
  118. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  119. package/dist/kernal/pipelines/InputFormatter.mjs +43 -41
  120. package/dist/kernal/pipelines/metadata.cjs +1 -1
  121. package/dist/kernal/pipelines/metadata.d.ts +2 -1
  122. package/dist/kernal/pipelines/metadata.mjs +21 -30
  123. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
  124. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +7 -6
  125. package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
  126. package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +12 -11
  127. package/dist/kernal/progress/Progress.cjs +1 -1
  128. package/dist/kernal/progress/Progress.d.ts +5 -3
  129. package/dist/kernal/progress/Progress.mjs +2 -2
  130. package/dist/kernal/progress/userChangedProgress.cjs +1 -0
  131. package/dist/kernal/progress/userChangedProgress.d.ts +9 -0
  132. package/dist/kernal/progress/userChangedProgress.mjs +11 -0
  133. package/dist/kernal/screen/BrowserFullscreen.cjs +1 -0
  134. package/dist/kernal/screen/BrowserFullscreen.d.ts +9 -0
  135. package/dist/kernal/screen/BrowserFullscreen.mjs +47 -0
  136. package/dist/kernal/screen/IFullscreen.d.ts +6 -0
  137. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  138. package/dist/kernal/services/ServiceCollection.d.ts +4 -6
  139. package/dist/kernal/services/ServiceCollection.mjs +18 -9
  140. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
  141. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +4 -2
  142. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +31 -23
  143. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
  144. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +52 -51
  145. package/dist/kernal/services/fileUrlParser/IFileUrlParser.d.ts +0 -1
  146. package/dist/kernal/services/font/IFontProvider.cjs +1 -1
  147. package/dist/kernal/services/font/IFontProvider.d.ts +3 -0
  148. package/dist/kernal/services/font/IFontProvider.mjs +1 -1
  149. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
  150. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +8 -8
  151. package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
  152. package/dist/kernal/services/loading/DefaultLoading.d.ts +4 -0
  153. package/dist/kernal/services/loading/DefaultLoading.mjs +23 -24
  154. package/dist/kernal/services/text/splitter.cjs +1 -1
  155. package/dist/kernal/services/text/splitter.mjs +3 -3
  156. package/dist/kernal/types.d.ts +0 -5
  157. package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
  158. package/dist/kernal/web/BrowserCapabilities.d.ts +0 -9
  159. package/dist/kernal/web/BrowserCapabilities.mjs +0 -49
  160. package/dist/kernal/{Debounce.mjs → web/debounce.mjs} +1 -1
  161. package/dist/kernal/web/scheduler.cjs +1 -0
  162. package/dist/kernal/web/scheduler.d.ts +3 -0
  163. package/dist/kernal/web/scheduler.mjs +7 -0
  164. package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
  165. package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +59 -59
  166. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.cjs +1 -0
  167. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.d.ts +13 -0
  168. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.mjs +109 -0
  169. package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
  170. package/dist/mediaTypes/html/HtmlOptions.d.ts +6 -12
  171. package/dist/mediaTypes/html/HtmlOptions.mjs +3 -14
  172. package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
  173. package/dist/mediaTypes/html/HtmlSettings.d.ts +16 -1
  174. package/dist/mediaTypes/html/HtmlSettings.mjs +46 -1
  175. package/dist/mediaTypes/html/IHtmlContentNormalizer.cjs +1 -0
  176. package/dist/mediaTypes/html/IHtmlContentNormalizer.d.ts +4 -0
  177. package/dist/mediaTypes/html/IHtmlContentNormalizer.mjs +4 -0
  178. package/dist/mediaTypes/html/IHtmlSymbolMeasure.d.ts +11 -0
  179. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.cjs +1 -0
  180. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.d.ts +5 -0
  181. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.mjs +8 -0
  182. package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
  183. package/dist/mediaTypes/html/fileParser/HtmlFileParser.d.ts +5 -1
  184. package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +15 -18
  185. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
  186. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +25 -25
  187. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +1 -0
  188. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.d.ts +7 -3
  189. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +4 -0
  190. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  191. package/dist/mediaTypes/html/renderer/HtmlRenderer.d.ts +7 -1
  192. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +65 -41
  193. package/dist/mediaTypes/html/renderer/IHtmlDocument.d.ts +6 -2
  194. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.d.ts +5 -0
  195. package/dist/mediaTypes/html/renderer/IHtmlRenderer.d.ts +3 -0
  196. package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
  197. package/dist/mediaTypes/html/renderer/document/HtmlDocument.d.ts +29 -6
  198. package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +233 -86
  199. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
  200. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.d.ts +8 -0
  201. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +41 -5
  202. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
  203. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.d.ts +2 -4
  204. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +22 -59
  205. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
  206. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.d.ts +3 -5
  207. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +7 -25
  208. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
  209. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.d.ts +0 -2
  210. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +18 -42
  211. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
  212. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.d.ts +2 -0
  213. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +17 -4
  214. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
  215. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.d.ts +16 -1
  216. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +128 -54
  217. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
  218. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +26 -3
  219. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +227 -101
  220. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
  221. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -0
  222. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +45 -25
  223. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.cjs +1 -0
  224. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.d.ts +6 -0
  225. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.mjs +6 -0
  226. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.cjs +1 -0
  227. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.d.ts +2 -0
  228. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.mjs +13 -0
  229. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.cjs +1 -0
  230. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.d.ts +11 -0
  231. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.mjs +8 -0
  232. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
  233. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +62 -62
  234. package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
  235. package/dist/mediaTypes/html/renderer/html/template.d.ts +3 -1
  236. package/dist/mediaTypes/html/renderer/html/template.mjs +9 -9
  237. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
  238. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.d.ts +22 -12
  239. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +380 -270
  240. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
  241. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +27 -27
  242. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.d.ts +8 -0
  243. package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -1
  244. package/dist/mediaTypes/html/renderer/image/error-image.mjs +1 -1
  245. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.cjs +1 -0
  246. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.d.ts +10 -0
  247. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.mjs +15 -0
  248. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.cjs +1 -0
  249. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.d.ts +2 -0
  250. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.mjs +12 -0
  251. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
  252. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.d.ts +6 -10
  253. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +71 -62
  254. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
  255. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.d.ts +4 -1
  256. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +113 -68
  257. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.d.ts +8 -3
  258. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
  259. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.d.ts +5 -1
  260. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +15 -3
  261. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.cjs +1 -0
  262. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.d.ts +8 -0
  263. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.mjs +28 -0
  264. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.cjs +30 -0
  265. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.mjs +4 -0
  266. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.cjs +31 -0
  267. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.mjs +4 -0
  268. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.cjs +30 -0
  269. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.mjs +4 -0
  270. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.cjs +30 -0
  271. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.mjs +4 -0
  272. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.cjs +30 -0
  273. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.mjs +4 -0
  274. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.cjs +30 -0
  275. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.mjs +4 -0
  276. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.cjs +6 -0
  277. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.mjs +4 -0
  278. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.cjs +10 -0
  279. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.mjs +4 -0
  280. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.cjs +10 -0
  281. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.mjs +4 -0
  282. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.cjs +10 -0
  283. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.mjs +4 -0
  284. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.cjs +10 -0
  285. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.mjs +4 -0
  286. package/dist/mediaTypes/html/renderer/layout/css/document-default.cjs +19 -0
  287. package/dist/mediaTypes/html/renderer/layout/css/document-default.mjs +4 -0
  288. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.cjs +3 -0
  289. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.d.ts +2 -0
  290. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.mjs +56 -0
  291. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.cjs +64 -0
  292. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.mjs +4 -0
  293. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.cjs +33 -0
  294. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.mjs +4 -0
  295. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.cjs +33 -0
  296. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.mjs +4 -0
  297. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.cjs +47 -0
  298. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.mjs +4 -0
  299. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.cjs +47 -0
  300. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.mjs +4 -0
  301. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.cjs +46 -0
  302. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.mjs +4 -0
  303. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.cjs +46 -0
  304. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.mjs +4 -0
  305. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.cjs +7 -0
  306. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.mjs +4 -0
  307. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.cjs +28 -0
  308. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.mjs +4 -0
  309. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.cjs +28 -0
  310. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.mjs +4 -0
  311. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.cjs +28 -0
  312. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.mjs +4 -0
  313. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.cjs +28 -0
  314. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.mjs +4 -0
  315. package/dist/mediaTypes/html/renderer/layout/css/root-direction.cjs +8 -0
  316. package/dist/mediaTypes/html/renderer/layout/css/root-direction.mjs +4 -0
  317. package/dist/mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.d.ts +128 -0
  318. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.cjs +1 -0
  319. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.d.ts +4 -0
  320. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.mjs +7 -0
  321. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.cjs +1 -0
  322. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.d.ts +1 -0
  323. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.mjs +13 -0
  324. package/dist/mediaTypes/html/renderer/layout/geometry/index.cjs +1 -0
  325. package/dist/mediaTypes/html/renderer/layout/geometry/index.d.ts +18 -0
  326. package/dist/mediaTypes/html/renderer/layout/geometry/index.mjs +30 -0
  327. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.cjs +1 -0
  328. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.d.ts +3 -0
  329. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.mjs +71 -0
  330. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.cjs +1 -0
  331. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.d.ts +3 -0
  332. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.mjs +74 -0
  333. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.cjs +1 -0
  334. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.d.ts +3 -0
  335. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.mjs +71 -0
  336. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.cjs +1 -0
  337. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.d.ts +3 -0
  338. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.mjs +71 -0
  339. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.cjs +1 -0
  340. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.d.ts +3 -0
  341. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.mjs +71 -0
  342. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.cjs +1 -0
  343. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.d.ts +3 -0
  344. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.mjs +71 -0
  345. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.cjs +1 -0
  346. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.d.ts +41 -0
  347. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.mjs +53 -0
  348. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.cjs +1 -0
  349. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.d.ts +3 -0
  350. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.mjs +71 -0
  351. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.cjs +1 -0
  352. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.d.ts +3 -0
  353. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.mjs +74 -0
  354. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.cjs +1 -0
  355. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.d.ts +3 -0
  356. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.mjs +71 -0
  357. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.cjs +1 -0
  358. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.d.ts +3 -0
  359. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.mjs +71 -0
  360. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.cjs +1 -0
  361. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.d.ts +3 -0
  362. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.mjs +74 -0
  363. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.cjs +1 -0
  364. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.d.ts +3 -0
  365. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.mjs +74 -0
  366. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.cjs +1 -0
  367. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.d.ts +10 -0
  368. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.mjs +17 -0
  369. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.cjs +1 -0
  370. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.d.ts +6 -0
  371. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.mjs +24 -0
  372. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.cjs +1 -0
  373. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.d.ts +9 -0
  374. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.mjs +4 -0
  375. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.cjs +1 -0
  376. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.d.ts +11 -0
  377. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.mjs +9 -0
  378. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
  379. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +32 -34
  380. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.cjs +1 -0
  381. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.d.ts +23 -0
  382. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.mjs +164 -0
  383. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.cjs +1 -0
  384. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.d.ts +4 -0
  385. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.mjs +13 -0
  386. package/dist/mediaTypes/html/renderer/location/scrollActivity.cjs +1 -0
  387. package/dist/mediaTypes/html/renderer/location/scrollActivity.d.ts +14 -0
  388. package/dist/mediaTypes/html/renderer/location/scrollActivity.mjs +18 -0
  389. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
  390. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +2 -2
  391. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
  392. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +3 -3
  393. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
  394. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +55 -59
  395. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
  396. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.d.ts +1 -0
  397. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +40 -39
  398. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
  399. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.d.ts +2 -1
  400. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +36 -24
  401. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
  402. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.d.ts +4 -0
  403. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +19 -1
  404. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
  405. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.d.ts +3 -0
  406. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +9 -0
  407. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
  408. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.d.ts +3 -0
  409. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +28 -16
  410. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
  411. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.d.ts +2 -0
  412. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +39 -34
  413. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.cjs +0 -0
  414. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.d.ts +6 -0
  415. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.mjs +0 -0
  416. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.cjs +1 -0
  417. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.d.ts +18 -0
  418. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.mjs +52 -0
  419. package/dist/mediaTypes/html/renderer/style/html-content.cjs +38 -7
  420. package/dist/mediaTypes/html/renderer/style/html-content.mjs +1 -1
  421. package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
  422. package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +6 -13
  423. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  424. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.d.ts +5 -4
  425. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +7 -3
  426. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  427. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.d.ts +4 -4
  428. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +24 -14
  429. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.cjs +1 -0
  430. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.d.ts +6 -0
  431. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.mjs +4 -0
  432. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.cjs +1 -0
  433. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.d.ts +10 -0
  434. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.mjs +33 -0
  435. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  436. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +18 -19
  437. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.d.ts +2 -0
  438. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +1 -1
  439. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  440. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +2 -2
  441. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  442. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.d.ts +0 -1
  443. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +0 -3
  444. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  445. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +3 -3
  446. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  447. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +3 -3
  448. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  449. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.d.ts +3 -3
  450. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +20 -19
  451. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  452. package/dist/mediaTypes/pdf/renderer/PdfRenderer.d.ts +1 -0
  453. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +20 -20
  454. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  455. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +51 -50
  456. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  457. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +55 -56
  458. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.cjs +1 -0
  459. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.d.ts +3 -0
  460. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.mjs +12 -0
  461. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  462. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.d.ts +4 -0
  463. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +24 -5
  464. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  465. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +32 -32
  466. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  467. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +1 -1
  468. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  469. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +5 -5
  470. package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
  471. package/dist/mediaTypes/pdf/shared/geometry/index.mjs +2 -2
  472. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
  473. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.d.ts +14 -4
  474. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +56 -24
  475. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +2 -2
  476. package/dist/mediaTypes/pdf/shared/text/pageText.d.ts +14 -0
  477. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +139 -47
  478. package/dist/node_modules/highlight.js/styles/github-dark.cjs +118 -0
  479. package/dist/node_modules/highlight.js/styles/github-dark.mjs +4 -0
  480. package/dist/node_modules/highlight.js/styles/github.cjs +118 -0
  481. package/dist/node_modules/highlight.js/styles/github.mjs +4 -0
  482. package/dist/pdfjs/package.json +1 -0
  483. package/global.d.ts +3 -1
  484. package/package.json +11 -5
  485. package/types.d.ts +48 -13
  486. package/dist/kernal/device/IEnvironment.d.ts +0 -5
  487. package/dist/kernal/device/IPlatform.d.ts +0 -7
  488. package/dist/kernal/device/WebEnvironment.cjs +0 -1
  489. package/dist/kernal/device/WebEnvironment.d.ts +0 -7
  490. package/dist/kernal/device/WebEnvironment.mjs +0 -22
  491. package/dist/kernal/device/WebPlatform.cjs +0 -1
  492. package/dist/kernal/device/WebPlatform.d.ts +0 -12
  493. package/dist/kernal/device/WebPlatform.mjs +0 -49
  494. package/dist/kernal/progress/IReadingProgressStore.d.ts +0 -7
  495. package/dist/kernal/progress/ReadingProgressStore.cjs +0 -1
  496. package/dist/kernal/progress/ReadingProgressStore.d.ts +0 -12
  497. package/dist/kernal/progress/ReadingProgressStore.mjs +0 -17
  498. package/dist/kernal/storage/IStorage.cjs +0 -1
  499. package/dist/kernal/storage/IStorage.d.ts +0 -21
  500. package/dist/kernal/storage/IStorage.mjs +0 -4
  501. package/dist/kernal/storage/WebStorage.cjs +0 -1
  502. package/dist/kernal/storage/WebStorage.d.ts +0 -31
  503. package/dist/kernal/storage/WebStorage.mjs +0 -165
  504. package/dist/mediaTypes/adjacent.cjs +0 -1
  505. package/dist/mediaTypes/adjacent.d.ts +0 -5
  506. package/dist/mediaTypes/adjacent.mjs +0 -42
  507. package/dist/mediaTypes/html/renderer/image/placeholder.cjs +0 -1
  508. package/dist/mediaTypes/html/renderer/image/placeholder.mjs +0 -4
  509. /package/dist/kernal/{device/IEnvironment.cjs → screen/IFullscreen.cjs} +0 -0
  510. /package/dist/kernal/{device/IEnvironment.mjs → screen/IFullscreen.mjs} +0 -0
  511. /package/dist/kernal/{Debounce.cjs → web/debounce.cjs} +0 -0
  512. /package/dist/kernal/{Debounce.d.ts → web/debounce.d.ts} +0 -0
  513. /package/dist/{kernal/device/IPlatform.cjs → mediaTypes/html/IHtmlSymbolMeasure.cjs} +0 -0
  514. /package/dist/{kernal/device/IPlatform.mjs → mediaTypes/html/IHtmlSymbolMeasure.mjs} +0 -0
  515. /package/dist/{kernal/progress/IReadingProgressStore.cjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.cjs} +0 -0
  516. /package/dist/{kernal/progress/IReadingProgressStore.mjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.mjs} +0 -0
@@ -1,78 +1,41 @@
1
1
  import { parseNumber as e } from "../../../../kernal/common/number.mjs";
2
2
  import { compareTagName as t, getDocumentBody as n } from "../../../../kernal/html/finder.mjs";
3
3
  import { getTransformLength as r } from "../../../../kernal/html/style.mjs";
4
- import { HtmlSettings as i } from "../../HtmlSettings.mjs";
4
+ import { getLocateClientRect as i, isDomRange as a } from "../../../../kernal/html/geometry.mjs";
5
+ import { HtmlSettings as o } from "../../HtmlSettings.mjs";
6
+ import { getLayoutGeometry as s } from "../layout/resolveLayoutRoute.mjs";
5
7
  //#region mediaTypes/html/renderer/document/HtmlPageCalculator.ts
6
- var a = class {
8
+ var c = class {
7
9
  constructor(e, t, n) {
8
10
  this.doc = e, this.layout = t, this.options = n;
9
11
  }
10
12
  calcNumberOfPages(t) {
11
- let n = 1;
12
- if (this.options.flipMode == "scroll") return n;
13
+ let n = 1, i = s(this.options);
14
+ if (i.flipMode == "scroll") return n;
13
15
  let a = this.doc.getContentContainer()?.ownerDocument?.documentElement;
14
16
  if (!a || !a.firstElementChild) return 1;
15
- if (!t && (n = e(a.getAttribute(i.HtmlDocumentNumperOfPagesPropertyName), 0, "parseInt"), n > 1)) return n;
16
- let o = this.layout.getLayoutMetrics(), s = this.options.writingMode ?? "horizontal-tb", c = this.getIframe();
17
- if (this.isVerticalWriting(s)) {
18
- let e = 0, t = a.scrollHeight;
19
- t < 1 && (t = 1);
20
- let i = r(a, "y");
21
- if (Math.abs(i) > 0 && c) {
22
- let e = c.scrollHeight;
23
- if (t == e) {
24
- this.transformCurrentDocument(this.getContentRootElement(), i - 2, "y");
25
- let e = a.scrollHeight;
26
- t == e ? (this.transformCurrentDocument(this.getContentRootElement(), 0, "y"), i = 0, t = a.scrollHeight) : this.transformCurrentDocument(this.getContentRootElement(), i, "y");
27
- }
28
- }
29
- e = t + i, n = Math.floor(e / o.pageMoveLength), e % o.pageMoveLength > o.columnGap && (n += 1);
30
- } else {
31
- let e = 0, t = a.scrollWidth;
32
- t < 1 && (t = 1);
33
- let i = r(a, "x");
34
- if (Math.abs(i) > 0 && c) {
35
- let e = c.scrollWidth;
36
- if (t == e) {
37
- this.transformCurrentDocument(this.getContentRootElement(), i - 2, "x");
38
- let e = a.scrollWidth;
39
- t == e ? (this.transformCurrentDocument(this.getContentRootElement(), 0, "x"), i = 0, t = a.scrollWidth) : this.transformCurrentDocument(this.getContentRootElement(), i, "x");
40
- }
41
- }
42
- e = i + t, n = Math.floor(e / o.pageMoveLength), e % o.pageMoveLength > o.columnGap && (n += 1);
43
- }
44
- return a.setAttribute(i.HtmlDocumentNumperOfPagesPropertyName, n.toString()), n;
17
+ if (!t && (n = e(a.getAttribute(o.HtmlDocumentNumperOfPagesPropertyName), 0, "parseInt"), n > 1)) return n;
18
+ let c = this.layout.getLayoutMetrics(), l = this.getIframe(), u = i.getOccupiedLength(l, a), d = Math.max(1, u), f = r(a, i.pageAxis);
19
+ return Math.abs(f) > 0 && (d = f + d), n = Math.floor(d / c.pageMoveLength), d % c.pageMoveLength > c.columnGap && (n += 1), a.setAttribute(o.HtmlDocumentNumperOfPagesPropertyName, n.toString()), n;
45
20
  }
46
21
  getPageNumber(e) {
47
22
  if (!e) return 1;
48
- let i = this.doc.getContentContainer()?.ownerDocument;
49
- if (!n(i) || t("BODY", e.tagName)) return 1;
50
- let a = this.layout.getLayoutMetrics(), o = e.getBoundingClientRect(), s = 1, c = this.options.writingMode ?? "horizontal-tb", l = this.isVerticalWriting(c);
51
- if (l) {
52
- let e = r(i.documentElement, "y"), t = (o?.top ?? 0) + e;
53
- s = Math.floor(t / a.pageMoveLength), t % a.pageMoveLength >= 0 && (s += 1);
54
- } else {
55
- let e = r(i.documentElement, "x"), t = (o?.left ?? 0) + e;
56
- s = Math.floor(t / a.pageMoveLength), t > a.pageWidth && t % a.pageMoveLength >= 0 && (s += 1);
57
- }
58
- if (s == 0 && (s = 1), !l && this.options.direction == "rtl") {
59
- let e = this.calcNumberOfPages();
60
- s = Math.max(1, e - s + 1);
61
- }
62
- return s;
23
+ let o = this.doc.getContentContainer()?.ownerDocument;
24
+ if (!n(o) || !a(e) && t("BODY", e.tagName)) return 1;
25
+ let c = this.layout.getLayoutMetrics(), l = s(this.options), u = i(e), d = r(o.documentElement, "x"), f = r(o.documentElement, "y"), p = l.getLocateAxisOffset({
26
+ left: u?.left ?? 0,
27
+ top: u?.top ?? 0
28
+ }, d, f);
29
+ return l.getPageNumberFromPoint({
30
+ axisOffset: p,
31
+ pageMoveLength: c.pageMoveLength,
32
+ pageLength: l.getPageBoxLength(c),
33
+ numberOfPages: this.calcNumberOfPages()
34
+ });
63
35
  }
64
36
  getIframe() {
65
37
  return this.doc.getContentContainer()?.ownerDocument?.defaultView?.frameElement;
66
38
  }
67
- getContentRootElement() {
68
- return this.doc.inIframe ? this.doc.getContentContainer()?.ownerDocument?.documentElement : this.doc.getWrapperContainer();
69
- }
70
- transformCurrentDocument(e, t, n) {
71
- !n || !e || (n == "x" ? e.style.transform = "translateX(-" + parseFloat(t.toFixed(10)) + "px)" : e.style.transform = "translateY(-" + parseFloat(t.toFixed(10)) + "px)");
72
- }
73
- isVerticalWriting(e) {
74
- return e == "vertical-lr" || e == "vertical-rl";
75
- }
76
39
  };
77
40
  //#endregion
78
- export { a as HtmlPageCalculator };
41
+ export { c as HtmlPageCalculator };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/Constants.cjs"),t=require("../../../../kernal/common/number.cjs"),n=require("../../../../kernal/html/finder.cjs"),r=require("../../../../kernal/html/text.cjs"),i=require("../../../../kernal/html/position.cjs");var a=class{constructor(e,t){this.doc=e,this.options=t,this.totalTotalSymbolCountMap=new Map}get textSymbolOptions(){return{removeHtmlWhitespace:this.options.removeHtmlWhitespace,whitespaceRegex:this.options.whitespaceRegex,nonWhiteSpaceSymbolTagNames:this.options.nonWhiteSpaceSymbolTagNames}}async getElementByPosition(e,t,n){let r=await this.getFormatVirtualContentContainer();return i.getElementByPosition(r,e,t,n,this.textSymbolOptions)}async getFormatVirtualContentContainer(){return this.formatVirtualContentContainer||=await this.doc.getVirtualContentContainer(),this.formatVirtualContentContainer}getOtherNonWhiteSpaceSymbolCount(e){let t=0;if(this.options?.nonWhiteSpaceSymbolTagNames)for(let n of this.options.nonWhiteSpaceSymbolTagNames)t+=e.getElementsByTagName(n).length;return t}async getElementByProgress(e,t){e??=0;let n=await this.getTotalSymbolCount(t),r=Math.ceil(n*e);return this.getElementByPosition(r,t)}async getProgressByElement(e,t,n){let r=await this.getTotalSymbolCount(t);if(r==1)return 1;let i=await this.getPositionByElement(e,t,n)/r;return i<0&&(i=0),i>1&&(i=1),i}async getPositionByElement(e,t,r){let a=await this.getFormatVirtualContentContainer(),o=null;if(this.isTagDescriptor(e)){if(n.compareTagName(e.tagName,`BODY`))return r??-2;o=n.getElementByNameAndIndex(a,e.tagName,e.tagIndex)}else{let t=e;if(this.isBodyElement(t,a))return r??-2;o=t.ownerDocument==a.ownerDocument?t:this.resolveElementInVirtualDocument(a,t)}return o?this.isBodyElement(o,a)?r??-2:i.getPositionByElement(a,o,t,r,this.textSymbolOptions):-1}isTagDescriptor(e){return typeof e?.tagIndex==`number`&&typeof e?.tagName==`string`&&e?.nodeType!==1}isBodyElement(e,t){return e==t||n.compareTagName(e.tagName,`BODY`)}resolveElementInVirtualDocument(r,i){let a=t.parseNumber(i.getAttribute(e.ElementInitialNumberName),-1,`parseInt`);if(a>=0){let e=n.getElementByElementNumber(r,a);if(e)return e}let o=n.getDocumentBody(i.ownerDocument);if(!o)return null;if(o.getElementsByTagName(i.tagName).length==r.getElementsByTagName(i.tagName).length){let e=n.getElementIndex(o,i);if(e>=0)return n.getElementByNameAndIndex(r,i.tagName,e)}return null}async getTotalSymbolCount(e){let t=this.totalTotalSymbolCountMap.get(e);if(t>=0)return t;let n=await this.getFormatVirtualContentContainer(),i=r.getPureInnerTextLength(n,this.options.removeHtmlWhitespace,this.options.whitespaceRegex);if(e==`custom`){let e=this.getOtherNonWhiteSpaceSymbolCount(n);i+=e}return t=i,this.totalTotalSymbolCountMap.set(e,t),t}async dispose(){this.totalTotalSymbolCountMap.clear(),this.formatVirtualContentContainer&&=null}};exports.HtmlSymbolCalclator=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/Constants.cjs"),t=require("../../../../kernal/common/number.cjs"),n=require("../../../../kernal/html/finder.cjs");var r=class{constructor(e,t){this.doc=e,this.measure=t,this.totalTotalSymbolCountMap=new Map}async getElementByPosition(e,t,n){let r=await this.getFormatVirtualContentContainer();return this.measure.getElementByPosition(r,e,t,n)}async getFormatVirtualContentContainer(){return this.formatVirtualContentContainer||=await this.doc.getVirtualContentContainer(),this.formatVirtualContentContainer}async getElementByProgress(e,t){e??=0;let n=await this.getTotalSymbolCount(t),r=Math.ceil(n*e);return this.getElementByPosition(r,t)}async getProgressByElement(e,t,n){let r=await this.getTotalSymbolCount(t);if(r==1)return 1;let i=await this.getPositionByElement(e,t,n)/r;return i<0&&(i=0),i>1&&(i=1),i}async getPositionByElement(e,t,r){let i=await this.getFormatVirtualContentContainer(),a=null;if(this.isTagDescriptor(e)){if(n.compareTagName(e.tagName,`BODY`))return r??-2;a=n.getElementByNameAndIndex(i,e.tagName,e.tagIndex)}else{let t=e;if(this.isBodyElement(t,i))return r??-2;a=t.ownerDocument==i.ownerDocument?t:this.resolveElementInVirtualDocument(i,t)}return a?this.isBodyElement(a,i)?r??-2:this.measure.getPositionByElement(i,a,t,r):-1}isTagDescriptor(e){return typeof e?.tagIndex==`number`&&typeof e?.tagName==`string`&&e?.nodeType!==1}isBodyElement(e,t){return e==t||n.compareTagName(e.tagName,`BODY`)}resolveElementInVirtualDocument(r,i){let a=t.parseNumber(i.getAttribute(e.ElementInitialNumberName),-1,`parseInt`);if(a>=0){let e=n.getElementByElementNumber(r,a);if(e)return e}let o=n.getDocumentBody(i.ownerDocument);if(!o)return null;if(o.getElementsByTagName(i.tagName).length==r.getElementsByTagName(i.tagName).length){let e=n.getElementIndex(o,i);if(e>=0)return n.getElementByNameAndIndex(r,i.tagName,e)}return null}async getTotalSymbolCount(e){let t=this.totalTotalSymbolCountMap.get(e);if(t>=0)return t;let n=await this.getFormatVirtualContentContainer();return t=this.measure.count(n,e),this.totalTotalSymbolCountMap.set(e,t),t}async dispose(){this.totalTotalSymbolCountMap.clear(),this.formatVirtualContentContainer&&=null}};exports.HtmlSymbolCalclator=r;
@@ -2,17 +2,15 @@ import { ElementPositionResult } from '../../../../kernal/html/position';
2
2
  import { ISymbolCalclator, SymbolType } from '../../../../kernal';
3
3
  import { TagDescriptor } from '../../../../kernal/types';
4
4
  import { IHtmlDocument } from '../IHtmlDocument';
5
- import { HtmlOptions } from '../../HtmlOptions';
5
+ import { IHtmlSymbolMeasure } from '../../IHtmlSymbolMeasure';
6
6
 
7
7
  export declare class HtmlSymbolCalclator implements ISymbolCalclator {
8
8
  readonly doc: IHtmlDocument;
9
- private readonly options;
10
- constructor(doc: IHtmlDocument, options: HtmlOptions);
11
- private get textSymbolOptions();
9
+ private readonly measure;
10
+ constructor(doc: IHtmlDocument, measure: IHtmlSymbolMeasure);
12
11
  getElementByPosition(symbolPosition: number, symbolType: SymbolType, preferEnd?: boolean): Promise<ElementPositionResult>;
13
12
  private formatVirtualContentContainer;
14
13
  private getFormatVirtualContentContainer;
15
- private getOtherNonWhiteSpaceSymbolCount;
16
14
  getElementByProgress(progress: number, symbolType: SymbolType): Promise<ElementPositionResult>;
17
15
  getProgressByElement(element: TagDescriptor | Element, symbolType: SymbolType, internalSymbolOffset?: number): Promise<number>;
18
16
  getPositionByElement(element: TagDescriptor | Element, symbolType: SymbolType, internalSymbolOffset?: number): Promise<number>;
@@ -1,32 +1,18 @@
1
1
  import { ElementInitialNumberName as e } from "../../../../kernal/Constants.mjs";
2
2
  import { parseNumber as t } from "../../../../kernal/common/number.mjs";
3
3
  import { compareTagName as n, getDocumentBody as r, getElementByElementNumber as i, getElementByNameAndIndex as a, getElementIndex as o } from "../../../../kernal/html/finder.mjs";
4
- import { getPureInnerTextLength as s } from "../../../../kernal/html/text.mjs";
5
- import { getElementByPosition as c, getPositionByElement as l } from "../../../../kernal/html/position.mjs";
6
4
  //#region mediaTypes/html/renderer/document/HtmlSymbolCalclator.ts
7
- var u = class {
5
+ var s = class {
8
6
  constructor(e, t) {
9
- this.doc = e, this.options = t, this.totalTotalSymbolCountMap = /* @__PURE__ */ new Map();
10
- }
11
- get textSymbolOptions() {
12
- return {
13
- removeHtmlWhitespace: this.options.removeHtmlWhitespace,
14
- whitespaceRegex: this.options.whitespaceRegex,
15
- nonWhiteSpaceSymbolTagNames: this.options.nonWhiteSpaceSymbolTagNames
16
- };
7
+ this.doc = e, this.measure = t, this.totalTotalSymbolCountMap = /* @__PURE__ */ new Map();
17
8
  }
18
9
  async getElementByPosition(e, t, n) {
19
10
  let r = await this.getFormatVirtualContentContainer();
20
- return c(r, e, t, n, this.textSymbolOptions);
11
+ return this.measure.getElementByPosition(r, e, t, n);
21
12
  }
22
13
  async getFormatVirtualContentContainer() {
23
14
  return this.formatVirtualContentContainer ||= await this.doc.getVirtualContentContainer(), this.formatVirtualContentContainer;
24
15
  }
25
- getOtherNonWhiteSpaceSymbolCount(e) {
26
- let t = 0;
27
- if (this.options?.nonWhiteSpaceSymbolTagNames) for (let n of this.options.nonWhiteSpaceSymbolTagNames) t += e.getElementsByTagName(n).length;
28
- return t;
29
- }
30
16
  async getElementByProgress(e, t) {
31
17
  e ??= 0;
32
18
  let n = await this.getTotalSymbolCount(t), r = Math.ceil(n * e);
@@ -48,7 +34,7 @@ var u = class {
48
34
  if (this.isBodyElement(t, i)) return r ?? -2;
49
35
  o = t.ownerDocument == i.ownerDocument ? t : this.resolveElementInVirtualDocument(i, t);
50
36
  }
51
- return o ? this.isBodyElement(o, i) ? r ?? -2 : l(i, o, t, r, this.textSymbolOptions) : -1;
37
+ return o ? this.isBodyElement(o, i) ? r ?? -2 : this.measure.getPositionByElement(i, o, t, r) : -1;
52
38
  }
53
39
  isTagDescriptor(e) {
54
40
  return typeof e?.tagIndex == "number" && typeof e?.tagName == "string" && e?.nodeType !== 1;
@@ -73,16 +59,12 @@ var u = class {
73
59
  async getTotalSymbolCount(e) {
74
60
  let t = this.totalTotalSymbolCountMap.get(e);
75
61
  if (t >= 0) return t;
76
- let n = await this.getFormatVirtualContentContainer(), r = s(n, this.options.removeHtmlWhitespace, this.options.whitespaceRegex);
77
- if (e == "custom") {
78
- let e = this.getOtherNonWhiteSpaceSymbolCount(n);
79
- r += e;
80
- }
81
- return t = r, this.totalTotalSymbolCountMap.set(e, t), t;
62
+ let n = await this.getFormatVirtualContentContainer();
63
+ return t = this.measure.count(n, e), this.totalTotalSymbolCountMap.set(e, t), t;
82
64
  }
83
65
  async dispose() {
84
66
  this.totalTotalSymbolCountMap.clear(), this.formatVirtualContentContainer &&= null;
85
67
  }
86
68
  };
87
69
  //#endregion
88
- export { u as HtmlSymbolCalclator };
70
+ export { s as HtmlSymbolCalclator };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/Options.cjs"),t=require("../../../../kernal/Theme.cjs"),n=require("../../../../kernal/common/uuid.cjs"),r=require("../../../../kernal/html/injector.cjs"),i=require("../../HtmlSettings.cjs"),a=require("../layout/ViewportCssVariableNames.cjs");var o=class{constructor(e){this.htmlOptions=e}createContainers(){let{rendererCss:e,rendererContainer:t}=this.createRendererContainer(),{contentsContainer:n,transformContainer:r,contentsContainerCss:i,transformContainerCss:a,contentContainerCss:o}=this.createOtherContainers();return t.appendChild(n),{rendererContainer:t,rendererCss:e,otherCss:i+a+o,contentsContainer:n,transformContainer:r}}createRendererContainer(){let i=`renderer`,o=`.${i}{margin-block-start:var(${e.Options.HeaderHeight});`;o+=`margin-block-end:var(${e.Options.FooterHeight});`,o+=`overflow:auto;outline:none;width:100%;`,o+=`height:calc(100% - var(${e.Options.HeaderHeight}) - var(${e.Options.FooterHeight}));`,o+=`overflow-y:var(${a.ViewportCssVariableNames.ScrollElementOverflow});`,o+=`overflow-x:hidden;`,o+=`}`;let s=r.createElement(document,`div`,n.getRandomId(!0),i);return s.classList.add(t.Theme.customScrollerClassName),s.setAttribute(`data-role`,`renderer-container`),{rendererCss:o,rendererContainer:s}}createOtherContainers(){let e=i.HtmlSettings.ContentsContainerCssName,o=`.${e}{width:var(${a.ViewportCssVariableNames.ContentsContainerWidth});`;o+=`margin:0 auto;`,o+=`padding:var(${a.ViewportCssVariableNames.ContentsContainerPadding});`,o+=`}`;let s=r.createElement(document,`div`,n.getRandomId(!0),e);s.setAttribute(`data-role`,`contents-container`);let c=r.createElement(document,`div`,n.getRandomId(!0),i.HtmlSettings.ContentsShadowContainerCssName),l=r.createElement(document,`div`,n.getRandomId(!0),i.HtmlSettings.TransformContainerCssName);this.htmlOptions.flipPageStyle==`slide`&&l.classList.add(`slide`),c.appendChild(l),s.appendChild(c);let u=`.`+i.HtmlSettings.FileContentContainerClassName+`{`;u+=`position:relative;`,u+=`width:auto;`,u+=`min-width:var(`+a.ViewportCssVariableNames.ContentWrapperMinWidth+`);`,u+=`overflow:hidden;height:var(`+a.ViewportCssVariableNames.ContentWrapperHeight+`);`,u+=`padding:var(`+a.ViewportCssVariableNames.ContentWrapperPadding+`);`,u+=`margin-block-end: var(`+a.ViewportCssVariableNames.ContentWrapperMarginBottom+`);`,this.htmlOptions.enableContentWrapperBorderRadius&&this.htmlOptions.flipMode==`scroll`&&(u+=`border-radius: var(`+a.ViewportCssVariableNames.ContentWrapperBorderRadius+`);`),u+=`background:var(`+t.Theme.ContentBackground+`);`,u+=`}`,u+=`.`+i.HtmlSettings.FileContentContainerClassName+`:first-child{`,u+=`margin-block-start: var(`+a.ViewportCssVariableNames.ContentWrapperMarginTop+`);`,u+=`}`,u+=`.`+i.HtmlSettings.FileContentContainerClassName+`.`+i.HtmlSettings.FileContentContainerHeightClassName+`{`,u+=`min-height:var(`+a.ViewportCssVariableNames.ContentWrapperMinHeight+`);`,u+=`max-height:var(`+a.ViewportCssVariableNames.ContentWrapperMaxHeight+`);`,u+=`}`;let d=``;return d+=`.`+i.HtmlSettings.TransformPagesClassName+` .`+i.HtmlSettings.ContentsContainerCssName+`{`,d+=`overflow:hidden;background-color:var(${t.Theme.ContentBackground})`,d+=`}`,d+=`.`+i.HtmlSettings.TransformPagesClassName+` .`+i.HtmlSettings.TransformContainerCssName+`{`,d+=`display:flex;flex-wrap:nowrap;position: relative;transition-property:transform;`,d+=`}`,d+=`.`+i.HtmlSettings.TransformPagesClassName+` .`+i.HtmlSettings.TransformContainerCssName+`.slide{`,d+=`transition-property:transform;`,d+=`}`,d+=`.`+i.HtmlSettings.TransformPagesClassName+` .`+i.HtmlSettings.FileContentContainerClassName+`{`,d+=`flex-shrink: 0;padding-inline-end:calc(var(${a.ViewportCssVariableNames.ContentColumnGap}) / 2 - 1px);margin-inline-end:calc(var(${a.ViewportCssVariableNames.ContentColumnGap}) / 2);`,d+=`border-right: 1px solid var(${t.Theme.ColumnRuleColor});transition-property: transform;`,d+=`}`,d+=`.`+i.HtmlSettings.TransformPagesClassName+` .`+i.HtmlSettings.FileContentContainerClassName+`:last-child{`,d+=`border-right:none;`,d+=`}`,d+=`.`+i.HtmlSettings.TransformPagesClassName+` .`+i.HtmlSettings.ContentsShadowContainerCssName+`{`,d+=`overflow:hidden;margin:0 ${this.htmlOptions.contentsShadowMargin??20}px`,d+=`}`,d+=`.`+i.HtmlSettings.TransformContainerCssName+`{`,d+=`}`,{contentsContainer:s,transformContainer:l,contentsContainerCss:o,transformContainerCss:d,contentContainerCss:u}}};exports.HtmlContainerBuilder=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/common/uuid.cjs"),t=require("../../../../kernal/html/injector.cjs"),n=require("../../../../kernal/Theme.cjs"),r=require("../../HtmlSettings.cjs"),i=require("../layout/css/hostLayoutCss.cjs");var a=class{constructor(e){this.htmlOptions=e}createContainers(){let a=t.createElement(document,`div`,e.getRandomId(!0),`renderer`);a.classList.add(n.Theme.customScrollerClassName),a.setAttribute(`data-role`,`renderer-container`);let o=t.createElement(document,`div`,e.getRandomId(!0),r.HtmlSettings.ContentsContainerCssName);o.setAttribute(`data-role`,`contents-container`);let s=t.createElement(document,`div`,e.getRandomId(!0),r.HtmlSettings.ContentsShadowContainerCssName),c=t.createElement(document,`div`,e.getRandomId(!0),r.HtmlSettings.TransformContainerCssName);return this.htmlOptions.flipPageStyle==`slide`&&c.classList.add(`slide`),s.appendChild(c),o.appendChild(s),a.appendChild(o),{rendererContainer:a,rendererCss:i.HOST_LAYOUT_CSS,otherCss:``,contentsContainer:o,transformContainer:c}}};exports.HtmlContainerBuilder=a;
@@ -10,6 +10,4 @@ export declare class HtmlContainerBuilder {
10
10
  contentsContainer: HTMLDivElement;
11
11
  transformContainer: HTMLDivElement;
12
12
  };
13
- private createRendererContainer;
14
- private createOtherContainers;
15
13
  }
@@ -1,51 +1,27 @@
1
- import { Options as e } from "../../../../kernal/Options.mjs";
2
- import { Theme as t } from "../../../../kernal/Theme.mjs";
3
- import { getRandomId as n } from "../../../../kernal/common/uuid.mjs";
4
- import { createElement as r } from "../../../../kernal/html/injector.mjs";
5
- import { HtmlSettings as i } from "../../HtmlSettings.mjs";
6
- import { ViewportCssVariableNames as a } from "../layout/ViewportCssVariableNames.mjs";
1
+ import { getRandomId as e } from "../../../../kernal/common/uuid.mjs";
2
+ import { createElement as t } from "../../../../kernal/html/injector.mjs";
3
+ import { Theme as n } from "../../../../kernal/Theme.mjs";
4
+ import { HtmlSettings as r } from "../../HtmlSettings.mjs";
5
+ import { HOST_LAYOUT_CSS as i } from "../layout/css/hostLayoutCss.mjs";
7
6
  //#region mediaTypes/html/renderer/documents/HtmlContainerBuilder.ts
8
- var o = class {
7
+ var a = class {
9
8
  constructor(e) {
10
9
  this.htmlOptions = e;
11
10
  }
12
11
  createContainers() {
13
- let { rendererCss: e, rendererContainer: t } = this.createRendererContainer(), { contentsContainer: n, transformContainer: r, contentsContainerCss: i, transformContainerCss: a, contentContainerCss: o } = this.createOtherContainers();
14
- return t.appendChild(n), {
15
- rendererContainer: t,
16
- rendererCss: e,
17
- otherCss: i + a + o,
18
- contentsContainer: n,
19
- transformContainer: r
20
- };
21
- }
22
- createRendererContainer() {
23
- let i = "renderer", o = `.${i}{margin-block-start:var(${e.HeaderHeight});`;
24
- o += `margin-block-end:var(${e.FooterHeight});`, o += "overflow:auto;outline:none;width:100%;", o += `height:calc(100% - var(${e.HeaderHeight}) - var(${e.FooterHeight}));`, o += `overflow-y:var(${a.ScrollElementOverflow});`, o += "overflow-x:hidden;", o += "}";
25
- let s = r(document, "div", n(!0), i);
26
- return s.classList.add(t.customScrollerClassName), s.setAttribute("data-role", "renderer-container"), {
27
- rendererCss: o,
28
- rendererContainer: s
29
- };
30
- }
31
- createOtherContainers() {
32
- let e = i.ContentsContainerCssName, o = `.${e}{width:var(${a.ContentsContainerWidth});`;
33
- o += "margin:0 auto;", o += `padding:var(${a.ContentsContainerPadding});`, o += "}";
34
- let s = r(document, "div", n(!0), e);
35
- s.setAttribute("data-role", "contents-container");
36
- let c = r(document, "div", n(!0), i.ContentsShadowContainerCssName), l = r(document, "div", n(!0), i.TransformContainerCssName);
37
- this.htmlOptions.flipPageStyle == "slide" && l.classList.add("slide"), c.appendChild(l), s.appendChild(c);
38
- let u = "." + i.FileContentContainerClassName + "{";
39
- u += "position:relative;", u += "width:auto;", u += "min-width:var(" + a.ContentWrapperMinWidth + ");", u += "overflow:hidden;height:var(" + a.ContentWrapperHeight + ");", u += "padding:var(" + a.ContentWrapperPadding + ");", u += "margin-block-end: var(" + a.ContentWrapperMarginBottom + ");", this.htmlOptions.enableContentWrapperBorderRadius && this.htmlOptions.flipMode == "scroll" && (u += "border-radius: var(" + a.ContentWrapperBorderRadius + ");"), u += "background:var(" + t.ContentBackground + ");", u += "}", u += "." + i.FileContentContainerClassName + ":first-child{", u += "margin-block-start: var(" + a.ContentWrapperMarginTop + ");", u += "}", u += "." + i.FileContentContainerClassName + "." + i.FileContentContainerHeightClassName + "{", u += "min-height:var(" + a.ContentWrapperMinHeight + ");", u += "max-height:var(" + a.ContentWrapperMaxHeight + ");", u += "}";
40
- let d = "";
41
- return d += "." + i.TransformPagesClassName + " ." + i.ContentsContainerCssName + "{", d += `overflow:hidden;background-color:var(${t.ContentBackground})`, d += "}", d += "." + i.TransformPagesClassName + " ." + i.TransformContainerCssName + "{", d += "display:flex;flex-wrap:nowrap;position: relative;transition-property:transform;", d += "}", d += "." + i.TransformPagesClassName + " ." + i.TransformContainerCssName + ".slide{", d += "transition-property:transform;", d += "}", d += "." + i.TransformPagesClassName + " ." + i.FileContentContainerClassName + "{", d += `flex-shrink: 0;padding-inline-end:calc(var(${a.ContentColumnGap}) / 2 - 1px);margin-inline-end:calc(var(${a.ContentColumnGap}) / 2);`, d += `border-right: 1px solid var(${t.ColumnRuleColor});transition-property: transform;`, d += "}", d += "." + i.TransformPagesClassName + " ." + i.FileContentContainerClassName + ":last-child{", d += "border-right:none;", d += "}", d += "." + i.TransformPagesClassName + " ." + i.ContentsShadowContainerCssName + "{", d += `overflow:hidden;margin:0 ${this.htmlOptions.contentsShadowMargin ?? 20}px`, d += "}", d += "." + i.TransformContainerCssName + "{", d += "}", {
42
- contentsContainer: s,
43
- transformContainer: l,
44
- contentsContainerCss: o,
45
- transformContainerCss: d,
46
- contentContainerCss: u
12
+ let a = t(document, "div", e(!0), "renderer");
13
+ a.classList.add(n.customScrollerClassName), a.setAttribute("data-role", "renderer-container");
14
+ let o = t(document, "div", e(!0), r.ContentsContainerCssName);
15
+ o.setAttribute("data-role", "contents-container");
16
+ let s = t(document, "div", e(!0), r.ContentsShadowContainerCssName), c = t(document, "div", e(!0), r.TransformContainerCssName);
17
+ return this.htmlOptions.flipPageStyle == "slide" && c.classList.add("slide"), s.appendChild(c), o.appendChild(s), a.appendChild(o), {
18
+ rendererContainer: a,
19
+ rendererCss: i,
20
+ otherCss: "",
21
+ contentsContainer: o,
22
+ transformContainer: c
47
23
  };
48
24
  }
49
25
  };
50
26
  //#endregion
51
- export { o as HtmlContainerBuilder };
27
+ export { a as HtmlContainerBuilder };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs");var t=class{constructor(e){this.documentsProvider=e,this.documentMap=new Map,this.setDocumentVisible=(e,t)=>{e.isVisible=t},this.events=this.documentsProvider.owner.events}register(){this.contentContainerIntersectionObserver=new IntersectionObserver(t=>{for(let n=0;n<t.length;n++){let r=t[n],i=r.isIntersecting||r.intersectionRatio>0;this.setDocumentVisible(r.target,i);let a=this.documentMap.get(r.target);a&&this.events.emit(e.EventNames.DocumentVisibleChange,a,i)}},{rootMargin:`-2px`}),this.observeContainers()}unregister(){this.contentContainerIntersectionObserver?.disconnect(),this.contentContainerIntersectionObserver=void 0,this.documentMap.clear()}observeContainers(){for(let e of this.documentsProvider.getDocuments())this.documentMap.set(e.getWrapperContainer(),e),this.contentContainerIntersectionObserver.observe(e.getWrapperContainer())}async dispose(){this.unregister()}};exports.HtmlDocumentsIntersectionObserver=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("./documentHiddenState.cjs");var n=(e,t)=>e===t.scrollingElement||e===t.documentElement||e===t.body,r=class{constructor(e){this.documentsProvider=e,this.documentMap=new Map,this.setDocumentVisible=(e,t)=>{e.isVisible=t},this.events=this.documentsProvider.owner.events}register(){this.contentContainerIntersectionObserver=new IntersectionObserver(t=>{if(!this.isRendererCollapsed())for(let n=0;n<t.length;n++){let r=t[n],i=r.isIntersecting||r.intersectionRatio>0;this.setDocumentVisible(r.target,i);let a=this.documentMap.get(r.target);a&&this.events.emit(e.EventNames.DocumentVisibleChange,a,i)}},{root:this.resolveObserverRoot(),rootMargin:`0px`,threshold:0}),this.observeContainers()}unregister(){this.contentContainerIntersectionObserver?.disconnect(),this.contentContainerIntersectionObserver=void 0,this.documentMap.clear()}resolveObserverRoot(){let e=this.documentsProvider.getScrollElement(),t=e?.ownerDocument;return!e||!t||n(e,t)?null:e}observeContainers(){for(let e of this.documentsProvider.getDocuments())this.documentMap.set(e.getWrapperContainer(),e),this.contentContainerIntersectionObserver.observe(e.getWrapperContainer())}isRendererCollapsed(){let e=this.documentsProvider.getRendererContainer(),n=this.documentsProvider.owner.getHostViewport().mode!=`window`;return t.isHostContainerCollapsed(e,n)}async dispose(){this.unregister()}};exports.HtmlDocumentsIntersectionObserver=r;
@@ -8,7 +8,9 @@ export declare class HtmlDocumentsIntersectionObserver implements IDisposable {
8
8
  constructor(documentsProvider: IDocumentsProvider);
9
9
  register(): void;
10
10
  unregister(): void;
11
+ private resolveObserverRoot;
11
12
  private observeContainers;
13
+ private isRendererCollapsed;
12
14
  private setDocumentVisible;
13
15
  dispose(): Promise<void>;
14
16
  }
@@ -1,6 +1,7 @@
1
1
  import { EventNames as e } from "../../../../kernal/EventNames.mjs";
2
+ import { isHostContainerCollapsed as t } from "./documentHiddenState.mjs";
2
3
  //#region mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.ts
3
- var t = class {
4
+ var n = (e, t) => e === t.scrollingElement || e === t.documentElement || e === t.body, r = class {
4
5
  constructor(e) {
5
6
  this.documentsProvider = e, this.documentMap = /* @__PURE__ */ new Map(), this.setDocumentVisible = (e, t) => {
6
7
  e.isVisible = t;
@@ -8,23 +9,35 @@ var t = class {
8
9
  }
9
10
  register() {
10
11
  this.contentContainerIntersectionObserver = new IntersectionObserver((t) => {
11
- for (let n = 0; n < t.length; n++) {
12
+ if (!this.isRendererCollapsed()) for (let n = 0; n < t.length; n++) {
12
13
  let r = t[n], i = r.isIntersecting || r.intersectionRatio > 0;
13
14
  this.setDocumentVisible(r.target, i);
14
15
  let a = this.documentMap.get(r.target);
15
16
  a && this.events.emit(e.DocumentVisibleChange, a, i);
16
17
  }
17
- }, { rootMargin: "-2px" }), this.observeContainers();
18
+ }, {
19
+ root: this.resolveObserverRoot(),
20
+ rootMargin: "0px",
21
+ threshold: 0
22
+ }), this.observeContainers();
18
23
  }
19
24
  unregister() {
20
25
  this.contentContainerIntersectionObserver?.disconnect(), this.contentContainerIntersectionObserver = void 0, this.documentMap.clear();
21
26
  }
27
+ resolveObserverRoot() {
28
+ let e = this.documentsProvider.getScrollElement(), t = e?.ownerDocument;
29
+ return !e || !t || n(e, t) ? null : e;
30
+ }
22
31
  observeContainers() {
23
32
  for (let e of this.documentsProvider.getDocuments()) this.documentMap.set(e.getWrapperContainer(), e), this.contentContainerIntersectionObserver.observe(e.getWrapperContainer());
24
33
  }
34
+ isRendererCollapsed() {
35
+ let e = this.documentsProvider.getRendererContainer(), n = this.documentsProvider.owner.getHostViewport().mode != "window";
36
+ return t(e, n);
37
+ }
25
38
  async dispose() {
26
39
  this.unregister();
27
40
  }
28
41
  };
29
42
  //#endregion
30
- export { t as HtmlDocumentsIntersectionObserver };
43
+ export { r as HtmlDocumentsIntersectionObserver };
@@ -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
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("../../../../kernal/web/scheduler.cjs"),n=require("../../HtmlSettings.cjs"),r=require("../layout/geometry/restoreLayoutState.cjs"),i=require("../layout/resolveLayoutRoute.cjs"),a=require("../location/scrollActivity.cjs"),o=require("./preloadNeighbors.cjs"),s=require("./wrapperVisibility.cjs");let c=require("perfect-debounce");var l=160,u=(e,t)=>e===t.scrollingElement||e===t.documentElement||e===t.body,d=class{constructor(e,t,r,o){this.events=e,this.documentsProvider=t,this.getLoadingDocument=r,this.htmlOptions=o,this.preloadToken=0,this.onDocumentVisibleChange=()=>{a.isProgrammaticScroll()||this.schedulePreload()},this.onReaderScroll=(e,t)=>{a.isProgrammaticScroll()||t&&!t.isTrusted||(a.markUserScroll(),a.releaseAbsoluteLocate(),this.schedulePreload())},this.onPageChange=()=>{this.schedulePreload()},this.preloadDocuments=async()=>{if(this.isPageMoving()){this.preloadToken++,this.delayPreloadAfterMove();return}let e=++this.preloadToken;try{let t=this.resolveVisibleDocuments(),n=i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`visual-edge`,r=n?this.resolvePreloadAnchor(t):t[0],a=n?r:t[t.length-1];if(!r||!a)return;let o=t.length>0?t:[r];for(let t of o){if(this.shouldAbortPreload(e))return;await t.load()}if(this.shouldAbortPreload(e))return;await this.preloadRelatedDocuments(r,a,e)}catch{}},this.delayPreloadDocuments=(0,c.debounce)(()=>this.preloadDocuments(),500),this.delayPreloadAfterMove=(0,c.debounce)(()=>this.preloadDocuments(),80),this.schedulePreload=()=>{if(this.abortPreloadIfPageMoving(),this.isPageMoving()){this.delayPreloadAfterMove();return}this.delayPreloadDocuments()},this.shouldPreloadPreviousFirst=()=>{let e=this.documentsProvider.owner?.context?.currentLocation?.direction;return i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`page-fill`?e!=`next`:e==`previous`},this.isPageMoving=()=>!!(this.documentsProvider.getRendererContainer()?.querySelector?.(`.${n.HtmlSettings.TransformContainerCssName}`))?.hasAttribute(n.HtmlSettings.PageMovingAttributeName),this.isScrollSettling=()=>i.getLayoutGeometry(this.htmlOptions).flipMode==`scroll`&&a.isUserScrollSettling(),this.abortPreloadIfPageMoving=()=>{this.isPageMoving()&&this.preloadToken++},this.shouldAbortPreload=e=>e===this.preloadToken?this.isPageMoving()?(this.preloadToken++,!0):!1:!0,this.checkContainFullscreenElement=e=>!!e?.getContentContainer()?.ownerDocument?.fullscreenElement,this.bindEvents()}bindEvents(){this.events.on(e.EventNames.DocumentVisibleChange,this.onDocumentVisibleChange),this.events.on(e.EventNames.ReaderDebounceScroll,this.onReaderScroll),this.events.on(e.EventNames.PageChange,this.onPageChange)}unbindEvents(){this.events.off(e.EventNames.DocumentVisibleChange,this.onDocumentVisibleChange),this.events.off(e.EventNames.ReaderDebounceScroll,this.onReaderScroll),this.events.off(e.EventNames.PageChange,this.onPageChange)}async dispose(){this.preloadToken++,this.unbindEvents()}resolveVisibleDocuments(){let e=i.getLayoutGeometry(this.htmlOptions);return e.preloadRangeMode==`visible-span`?this.resolveIntersectingDocuments(!1):e.rewritesWrapperVisibility?this.resolveIntersectingDocuments(!0):this.documentsProvider.getVisibleDocuments()}resolveIntersectingDocuments(e){let t=this.getViewportRect();if(!t){let t=this.documentsProvider.getVisibleDocuments();return e?t.filter(e=>s.isSubstantialWrapperRect(e.getWrapperContainer()?.getBoundingClientRect())):t}let n=[];for(let r of this.documentsProvider.getDocuments()){let i=r.getWrapperContainer();if(!i)continue;let a=i.getBoundingClientRect(),o=s.rectsIntersect(a,t)&&(!e||s.isSubstantialWrapperRect(a));i.isVisible=o,o&&n.push(r)}return n}resolvePreloadAnchor(e){let t=i.getLayoutGeometry(this.htmlOptions);return r.pickVisibleCompensationDocument(e,t.compensationAnchorEdge,e=>{let n=e.getWrapperContainer()?.getBoundingClientRect();if(!(!n||!s.isSubstantialWrapperRect(n)))return t.getCompensationRect(n)})??this.documentsProvider.getDocuments()[0]}getViewportRect(){let e=this.documentsProvider.getScrollElement(),t=this.documentsProvider.getRendererContainer(),n=(e??t)?.ownerDocument;if(e&&n&&u(e,n)){let e=n.defaultView;return e?{left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}:void 0}return(e??t)?.getBoundingClientRect()}async preloadRelatedDocuments(e,n,r){let a=this.documentsProvider.getDocuments(),c=a.indexOf(e),l=a.indexOf(n),u=a.length,d=[];for(let e=c;e<=l;e++){let t=a[e];t&&!d.includes(t)&&d.push(t)}let f=o.collectPreloadNeighbors(a,c,l,this.htmlOptions.preloadFileCount,this.shouldPreloadPreviousFirst());for(let e=0;e<f.length;e++){if(this.shouldAbortPreload(r))return;let n=f[e];await n.load(),n&&!d.includes(n)&&d.push(n),await t.yieldToMain()}let p=this.documentsProvider.getRendererContainer().clientWidth;if(i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`page-fill`){let e=0;for(let n=c-1;n>=0;n--){if(this.shouldAbortPreload(r))return;let i=a[n];if(await i.load(),i&&!d.includes(i)&&d.push(i),e+=i.getWrapperContainer().clientWidth,e>=p)break;await t.yieldToMain()}let n=0;for(let e=l+1;e<u;e++){if(this.shouldAbortPreload(r))return;let i=a[e];if(await i.load(),i&&!d.includes(i)&&d.push(i),n+=i.getWrapperContainer().clientWidth,n>=p)break;await t.yieldToMain()}}let m=this.getLoadingDocument();m&&!d.includes(m)&&d.push(m),d.includes(e)||d.push(e);let h=i.getLayoutGeometry(this.htmlOptions).preloadRangeMode==`visual-edge`?this.documentsProvider.getVisibleDocuments().filter(e=>s.isSubstantialWrapperRect(e.getWrapperContainer()?.getBoundingClientRect())):this.documentsProvider.getVisibleDocuments();for(let e of h)d.includes(e)||d.push(e);if(!this.shouldAbortPreload(r)){if(this.isScrollSettling()){this.delayPreloadAfterMove();return}await this.removeUnnecessaryDocuments(d,r),d.splice(0)}}async removeUnnecessaryDocuments(e,n){if(!e)return;let r=this.documentsProvider.getLoadedDocuments();for(let i of r){if(this.shouldAbortPreload(n))return;e.includes(i)||(await this.disposeDocument(i),await t.yieldToMain())}}async disposeDocument(e){this.checkContainFullscreenElement(e)||await e.dispose()}};exports.HtmlDocumentsPreloader=d,exports.SCROLL_PRELOAD_SETTLE_MS=l;
@@ -2,20 +2,35 @@ import { HtmlOptions } from '../../HtmlOptions';
2
2
  import { IDocument, IDocumentsProvider, IEventEmitter } from '../../../../kernal';
3
3
  import { IHtmlDocumentsPreloader } from './IHtmlDocumentsPreloader';
4
4
 
5
+ export declare const SCROLL_PRELOAD_SETTLE_MS = 160;
5
6
  export declare class HtmlDocumentsPreloader implements IHtmlDocumentsPreloader {
6
7
  private readonly events;
7
8
  private readonly documentsProvider;
8
9
  private readonly getLoadingDocument;
9
10
  private readonly htmlOptions;
11
+ private preloadToken;
10
12
  constructor(events: IEventEmitter, documentsProvider: IDocumentsProvider, getLoadingDocument: () => IDocument, htmlOptions: HtmlOptions);
11
13
  private bindEvents;
12
14
  private unbindEvents;
13
15
  private onDocumentVisibleChange;
16
+ private onReaderScroll;
17
+ private onPageChange;
14
18
  dispose(): Promise<void>;
15
- preloadDocuments(): Promise<void>;
19
+ preloadDocuments: () => Promise<void>;
16
20
  private delayPreloadDocuments;
21
+ private delayPreloadAfterMove;
22
+ private schedulePreload;
23
+ private resolveVisibleDocuments;
24
+ private resolveIntersectingDocuments;
25
+ private resolvePreloadAnchor;
26
+ private getViewportRect;
17
27
  private preloadRelatedDocuments;
18
28
  private removeUnnecessaryDocuments;
29
+ private shouldPreloadPreviousFirst;
30
+ private isPageMoving;
31
+ private isScrollSettling;
32
+ private abortPreloadIfPageMoving;
33
+ private shouldAbortPreload;
19
34
  private checkContainFullscreenElement;
20
35
  private disposeDocument;
21
36
  }