@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,6 +1,6 @@
1
1
  import { EventNames as e } from "../../EventNames.mjs";
2
2
  import { PluginCore as t } from "../PluginCore.mjs";
3
- import { asyncDebounce as n } from "../../Debounce.mjs";
3
+ import { asyncDebounce as n } from "../../web/debounce.mjs";
4
4
  import r from "hotkeys-js";
5
5
  //#region kernal/plugins/keyboard/KeyboardPageTurning.ts
6
6
  var i = "left,up,pageup", a = "right,down,pagedown", o = class extends t {
@@ -21,25 +21,25 @@ var i = "left,up,pageup", a = "right,down,pagedown", o = class extends t {
21
21
  if (e?.pagingNavigator) {
22
22
  await e.pagingNavigator.gotoPreviousPage({
23
23
  trigger: "user",
24
- triggerType: "key"
24
+ triggerType: "keyboard"
25
25
  });
26
26
  return;
27
27
  }
28
28
  await e?.gotoPreviousPage?.({
29
29
  trigger: "user",
30
- triggerType: "key"
30
+ triggerType: "keyboard"
31
31
  });
32
32
  }, 64), this.delayGotoNextPage = n(async (e) => {
33
33
  if (e?.pagingNavigator) {
34
34
  await e.pagingNavigator.gotoNextPage({
35
35
  trigger: "user",
36
- triggerType: "key"
36
+ triggerType: "keyboard"
37
37
  });
38
38
  return;
39
39
  }
40
40
  await e?.gotoNextPage?.({
41
41
  trigger: "user",
42
- triggerType: "key"
42
+ triggerType: "keyboard"
43
43
  });
44
44
  }, 64), this.pluginOptions = {
45
45
  flipMode: t?.flipMode ?? "page",
@@ -71,7 +71,8 @@ var i = "left,up,pageup", a = "right,down,pagedown", o = class extends t {
71
71
  ".mobi",
72
72
  ".azw3",
73
73
  ".fb2",
74
- ".txt"
74
+ ".txt",
75
+ ".md"
75
76
  ];
76
77
  }
77
78
  get supportedLanguages() {
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../web/BrowserCapabilities.cjs"),t=require("../../EventNames.cjs"),n=require("../../html/finder.cjs"),r=require("../PluginCore.cjs");var i=class extends r.PluginCore{constructor(t,r){super(t,r),this.userEvents=[`wheel`,`keydown`,`mousedown`,`touchstart`],this.falsePassiveOpts={passive:e.BrowserCapabilities.supportPassive()},this.injectedElements=new Set,this.enableWheel=!0,this.currentEnableWheel=!0,this.onDocumentLoad=e=>{this.bindDocument(e)},this.onDocumentDisposing=e=>{let t=e.getContentContainer()?.ownerDocument?.documentElement,n=e.getWrapperContainer?.(),r=[];t&&r.push(t),n&&r.push(n),r.length>0&&this.removeScrollListener(r)},this.updateShouldUpdateProgress=e=>{let t;e.type==`keydown`?t=`keyboard`:e.type==`wheel`?t=`wheel`:e.type==`mousedown`||e.type==`mousemove`?t=`mouse`:e.type==`touchstart`&&(t=`touch`),this.reader.context?.setUserChangedProgress(!0,t)},this.handleWheel=e=>{if(e.ctrlKey)return;this.updateShouldUpdateProgress(e),this.reader.context.currentLocation&&(this.reader.context.currentLocation.precise=!1);let t=this.pluginOptions.flipMode==`page`&&this.enableWheel&&this.currentEnableWheel;e.stopImmediatePropagation();let n=0;e.deltaMode===0&&Math.abs(e.deltaX)<4&&Math.abs(e.deltaY)<4||(n=Math.abs(e.deltaX)>=Math.abs(e.deltaY)?e.deltaX:e.deltaY),t&&n!==0&&this.onWheelFlip(n,e),this.currentEnableWheel&&(this.currentEnableWheel=!1,this.wheelTimeoutId=setTimeout(()=>{this.currentEnableWheel=!0},this.pluginOptions.pageTurnInterval))},this.onWheelFlip=async(e,t)=>{let r=t.target;if(n.compareTagName(r?.tagName,`PRE`)){if(Math.abs(r.clientHeight-r.scrollHeight)>10)return}else if(n.compareTagName(r?.tagName,`CODE`)&&(Math.abs(r.clientHeight-r.scrollHeight)>10||r.parentElement&&Math.abs(r.parentElement.clientHeight-r.parentElement.scrollHeight)>10))return;let i=this.reader.getRenderer();if(e<0){if(i?.pagingNavigator){await i.pagingNavigator.gotoPreviousPage({trigger:`user`,triggerType:`wheel`});return}await i?.gotoPreviousPage?.({trigger:`user`,triggerType:`wheel`});return}if(i?.pagingNavigator){await i.pagingNavigator.gotoNextPage({trigger:`user`,triggerType:`wheel`});return}await i?.gotoNextPage?.({trigger:`user`,triggerType:`wheel`})},this.pluginOptions={pageTurnInterval:r?.pageTurnInterval??300,flipMode:r?.flipMode??`page`}}get name(){return`wheel-page-turning`}get title(){return`Wheel Page Turning`}get description(){return`Mouse wheel page flip navigation`}get version(){return`1.0.0`}get supportedVersion(){return`>=1.0.0`}get supportedExtensions(){return[`.xml`,`.xhtml`,`.html`,`.epub`,`.mobi`,`.azw3`,`.fb2`,`.txt`]}get supportedLanguages(){return[`*`]}get isUIPlugin(){return!1}getContainer(){}toggleWheel(e){this.enableWheel=e}async load(){let e=this.reader.getReaderContainer();e&&this.addScrollListener([e]);let n=this.reader.getRenderer()?.getRendererContainer?.();n&&n!==e&&this.addScrollListener([n]);let r=this.reader.getRenderer()?.getLoadedDocuments?.()??this.reader.getRenderer()?.getDocuments?.()??[];for(let e of r)this.bindDocument(e);this.reader.events.on(t.EventNames.DocumentLoad,this.onDocumentLoad),this.reader.events.on(t.EventNames.DocumentDisposing,this.onDocumentDisposing)}async dispose(){this.reader.events.off(t.EventNames.DocumentLoad,this.onDocumentLoad),this.reader.events.off(t.EventNames.DocumentDisposing,this.onDocumentDisposing),this.wheelTimeoutId!==void 0&&(clearTimeout(this.wheelTimeoutId),this.wheelTimeoutId=void 0),this.removeScrollListener([...this.injectedElements]),this.enableWheel=!0,this.currentEnableWheel=!0}bindDocument(e){let t=e.getContentContainer()?.ownerDocument?.documentElement,n=e.getWrapperContainer?.(),r=[];t&&r.push(t),n&&n!==t&&r.push(n),r.length>0&&this.addScrollListener(r)}addScrollListener(e){e.forEach(e=>{this.injectedElements.has(e)||(this.userEvents.forEach(t=>{t==`wheel`?e.addEventListener(`wheel`,this.handleWheel,this.falsePassiveOpts):e.addEventListener(t,this.updateShouldUpdateProgress,this.falsePassiveOpts)}),this.injectedElements.add(e))})}removeScrollListener(e){e.forEach(e=>{this.injectedElements.has(e)&&(this.userEvents.forEach(t=>{t==`wheel`?e.removeEventListener(`wheel`,this.handleWheel,this.falsePassiveOpts):e.removeEventListener(t,this.updateShouldUpdateProgress,this.falsePassiveOpts)}),this.injectedElements.delete(e))})}};exports.WheelPageTurning=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../EventNames.cjs"),t=require("../../web/BrowserCapabilities.cjs"),n=require("../../html/finder.cjs"),r=require("../PluginCore.cjs");var i=class extends r.PluginCore{constructor(e,r){super(e,r),this.userEvents=[`wheel`,`keydown`,`mousedown`,`touchstart`],this.falsePassiveOpts={passive:t.BrowserCapabilities.supportPassive()},this.injectedElements=new Set,this.enableWheel=!0,this.currentEnableWheel=!0,this.onDocumentLoad=e=>{this.bindDocument(e)},this.onDocumentDisposing=e=>{let t=e.getContentContainer()?.ownerDocument?.documentElement,n=e.getWrapperContainer?.(),r=[];t&&r.push(t),n&&r.push(n),r.length>0&&this.removeScrollListener(r)},this.updateShouldUpdateProgress=e=>{let t;e.type==`keydown`?t=`keyboard`:e.type==`wheel`?t=`wheel`:e.type==`mousedown`||e.type==`mousemove`?t=`mouse`:e.type==`touchstart`&&(t=`touch`),this.reader.context?.setUserChangedProgress(!0,t)},this.handleWheel=e=>{if(e.ctrlKey)return;this.updateShouldUpdateProgress(e),this.reader.context.currentLocation&&(this.reader.context.currentLocation.precise=!1);let t=this.pluginOptions.flipMode==`page`&&this.enableWheel&&this.currentEnableWheel;e.stopImmediatePropagation();let n=0;e.deltaMode===0&&Math.abs(e.deltaX)<4&&Math.abs(e.deltaY)<4||(n=Math.abs(e.deltaX)>=Math.abs(e.deltaY)?e.deltaX:e.deltaY),t&&n!==0&&this.onWheelFlip(n,e),this.currentEnableWheel&&(this.currentEnableWheel=!1,this.wheelTimeoutId=setTimeout(()=>{this.currentEnableWheel=!0},this.pluginOptions.pageTurnInterval))},this.onWheelFlip=async(e,t)=>{let r=t.target;if(n.compareTagName(r?.tagName,`PRE`)){if(Math.abs(r.clientHeight-r.scrollHeight)>10)return}else if(n.compareTagName(r?.tagName,`CODE`)&&(Math.abs(r.clientHeight-r.scrollHeight)>10||r.parentElement&&Math.abs(r.parentElement.clientHeight-r.parentElement.scrollHeight)>10))return;let i=this.reader.getRenderer();if(e<0){if(i?.pagingNavigator){await i.pagingNavigator.gotoPreviousPage({trigger:`user`,triggerType:`wheel`});return}await i?.gotoPreviousPage?.({trigger:`user`,triggerType:`wheel`});return}if(i?.pagingNavigator){await i.pagingNavigator.gotoNextPage({trigger:`user`,triggerType:`wheel`});return}await i?.gotoNextPage?.({trigger:`user`,triggerType:`wheel`})},this.pluginOptions={pageTurnInterval:r?.pageTurnInterval??300,flipMode:r?.flipMode??`page`}}get name(){return`wheel-page-turning`}get title(){return`Wheel Page Turning`}get description(){return`Mouse wheel page flip navigation`}get version(){return`1.0.0`}get supportedVersion(){return`>=1.0.0`}get supportedExtensions(){return[`.xml`,`.xhtml`,`.html`,`.epub`,`.mobi`,`.azw3`,`.fb2`,`.txt`,`.md`]}get supportedLanguages(){return[`*`]}get isUIPlugin(){return!1}getContainer(){}toggleWheel(e){this.enableWheel=e}async load(){let t=this.reader.getReaderContainer();t&&this.addScrollListener([t]);let n=this.reader.getRenderer()?.getRendererContainer?.();n&&n!==t&&this.addScrollListener([n]);let r=this.reader.getRenderer()?.getLoadedDocuments?.()??this.reader.getRenderer()?.getDocuments?.()??[];for(let e of r)this.bindDocument(e);this.reader.events.on(e.EventNames.DocumentLoad,this.onDocumentLoad),this.reader.events.on(e.EventNames.DocumentDisposing,this.onDocumentDisposing)}async dispose(){this.reader.events.off(e.EventNames.DocumentLoad,this.onDocumentLoad),this.reader.events.off(e.EventNames.DocumentDisposing,this.onDocumentDisposing),this.wheelTimeoutId!==void 0&&(clearTimeout(this.wheelTimeoutId),this.wheelTimeoutId=void 0),this.removeScrollListener([...this.injectedElements]),this.enableWheel=!0,this.currentEnableWheel=!0}bindDocument(e){let t=e.getContentContainer()?.ownerDocument?.documentElement,n=e.getWrapperContainer?.(),r=[];t&&r.push(t),n&&n!==t&&r.push(n),r.length>0&&this.addScrollListener(r)}addScrollListener(e){e.forEach(e=>{this.injectedElements.has(e)||(this.userEvents.forEach(t=>{t==`wheel`?e.addEventListener(`wheel`,this.handleWheel,this.falsePassiveOpts):e.addEventListener(t,this.updateShouldUpdateProgress,this.falsePassiveOpts)}),this.injectedElements.add(e))})}removeScrollListener(e){e.forEach(e=>{this.injectedElements.has(e)&&(this.userEvents.forEach(t=>{t==`wheel`?e.removeEventListener(`wheel`,this.handleWheel,this.falsePassiveOpts):e.removeEventListener(t,this.updateShouldUpdateProgress,this.falsePassiveOpts)}),this.injectedElements.delete(e))})}};exports.WheelPageTurning=i;
@@ -1,16 +1,16 @@
1
- import { BrowserCapabilities as e } from "../../web/BrowserCapabilities.mjs";
2
- import { EventNames as t } from "../../EventNames.mjs";
1
+ import { EventNames as e } from "../../EventNames.mjs";
2
+ import { BrowserCapabilities as t } from "../../web/BrowserCapabilities.mjs";
3
3
  import { compareTagName as n } from "../../html/finder.mjs";
4
4
  import { PluginCore as r } from "../PluginCore.mjs";
5
5
  //#region kernal/plugins/mouse/WheelPageTurning.ts
6
6
  var i = class extends r {
7
- constructor(t, r) {
8
- super(t, r), this.userEvents = [
7
+ constructor(e, r) {
8
+ super(e, r), this.userEvents = [
9
9
  "wheel",
10
10
  "keydown",
11
11
  "mousedown",
12
12
  "touchstart"
13
- ], this.falsePassiveOpts = { passive: e.supportPassive() }, this.injectedElements = /* @__PURE__ */ new Set(), this.enableWheel = !0, this.currentEnableWheel = !0, this.onDocumentLoad = (e) => {
13
+ ], this.falsePassiveOpts = { passive: t.supportPassive() }, this.injectedElements = /* @__PURE__ */ new Set(), this.enableWheel = !0, this.currentEnableWheel = !0, this.onDocumentLoad = (e) => {
14
14
  this.bindDocument(e);
15
15
  }, this.onDocumentDisposing = (e) => {
16
16
  let t = e.getContentContainer()?.ownerDocument?.documentElement, n = e.getWrapperContainer?.(), r = [];
@@ -87,7 +87,8 @@ var i = class extends r {
87
87
  ".mobi",
88
88
  ".azw3",
89
89
  ".fb2",
90
- ".txt"
90
+ ".txt",
91
+ ".md"
91
92
  ];
92
93
  }
93
94
  get supportedLanguages() {
@@ -101,16 +102,16 @@ var i = class extends r {
101
102
  this.enableWheel = e;
102
103
  }
103
104
  async load() {
104
- let e = this.reader.getReaderContainer();
105
- e && this.addScrollListener([e]);
105
+ let t = this.reader.getReaderContainer();
106
+ t && this.addScrollListener([t]);
106
107
  let n = this.reader.getRenderer()?.getRendererContainer?.();
107
- n && n !== e && this.addScrollListener([n]);
108
+ n && n !== t && this.addScrollListener([n]);
108
109
  let r = this.reader.getRenderer()?.getLoadedDocuments?.() ?? this.reader.getRenderer()?.getDocuments?.() ?? [];
109
110
  for (let e of r) this.bindDocument(e);
110
- this.reader.events.on(t.DocumentLoad, this.onDocumentLoad), this.reader.events.on(t.DocumentDisposing, this.onDocumentDisposing);
111
+ this.reader.events.on(e.DocumentLoad, this.onDocumentLoad), this.reader.events.on(e.DocumentDisposing, this.onDocumentDisposing);
111
112
  }
112
113
  async dispose() {
113
- this.reader.events.off(t.DocumentLoad, this.onDocumentLoad), this.reader.events.off(t.DocumentDisposing, this.onDocumentDisposing), this.wheelTimeoutId !== void 0 && (clearTimeout(this.wheelTimeoutId), this.wheelTimeoutId = void 0), this.removeScrollListener([...this.injectedElements]), this.enableWheel = !0, this.currentEnableWheel = !0;
114
+ this.reader.events.off(e.DocumentLoad, this.onDocumentLoad), this.reader.events.off(e.DocumentDisposing, this.onDocumentDisposing), this.wheelTimeoutId !== void 0 && (clearTimeout(this.wheelTimeoutId), this.wheelTimeoutId = void 0), this.removeScrollListener([...this.injectedElements]), this.enableWheel = !0, this.currentEnableWheel = !0;
114
115
  }
115
116
  bindDocument(e) {
116
117
  let t = e.getContentContainer()?.ownerDocument?.documentElement, n = e.getWrapperContainer?.(), r = [];
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{static{this.Min=1e-10}static{this.Max=.9999999999}constructor(e,t){this.total=e,this.current=t,this.location=new n(void 0,1,`ratio`);var r=new Date;this.createTime=r,this.updateTime=r}},t=class{constructor(e,t,n){this.url=e,this.total=t,this.unit=n,this.total=t||1,this.unit=n||`ratio`}},n=class extends t{constructor(e,t,n){super(e,t,n),this.url=e,this.total=t,this.unit=n}};exports.FileLocation=n,exports.Progress=e,exports.ReadingLocation=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{static{this.Min=1e-10}static{this.Max=.9999999999}constructor(e,t){this.total=e,this.current=t,this.location=new n(void 0,1,`ratio`);let r=Date.now();this.createdAt=r,this.updatedAt=r}},t=class{constructor(e,t,n){this.url=e,this.total=t,this.unit=n,this.total=t||1,this.unit=n||`ratio`}},n=class extends t{constructor(e,t,n){super(e,t,n),this.url=e,this.total=t,this.unit=n}};exports.FileLocation=n,exports.Progress=e,exports.ReadingLocation=t;
@@ -6,8 +6,8 @@ export declare class Progress {
6
6
  static readonly Min = 1e-10;
7
7
  static readonly Max = 0.9999999999;
8
8
  constructor(total: number, current: number);
9
- createTime: Date;
10
- updateTime: Date;
9
+ createdAt: number;
10
+ updatedAt: number;
11
11
  location: FileLocation;
12
12
  }
13
13
  export type ProgressUnit = 'ratio' | 'page' | 'second' | 'symbol';
@@ -34,11 +34,13 @@ export declare class FileLocation extends ReadingLocation {
34
34
  scrollIntoViewIfNeeded?: boolean;
35
35
  scrollBehavior?: ScrollBehavior;
36
36
  offsetTop?: number;
37
+ offsetLeft?: number;
37
38
  pdfDest?: string;
38
39
  visualPage?: number;
39
40
  ignoreOverlayHeader?: boolean;
40
41
  useAbsoluteScrollTop?: boolean;
41
42
  from?: LocationFrom;
43
+ suppressScroll?: boolean;
42
44
  tagText?: string;
43
45
  }
44
- export type LocationFrom = 'toc' | 'mark' | 'internal-link' | 'search' | 'drag' | 'wheel' | 'keyboard' | 'mouse' | 'touch' | (string & {});
46
+ export type LocationFrom = 'toc' | 'mark' | 'internal-link' | 'search' | 'drag' | 'wheel' | 'keyboard' | 'mouse' | 'touch' | 'tts' | 'restore' | (string & {});
@@ -8,8 +8,8 @@ var e = class {
8
8
  }
9
9
  constructor(e, t) {
10
10
  this.total = e, this.current = t, this.location = new n(void 0, 1, "ratio");
11
- var r = /* @__PURE__ */ new Date();
12
- this.createTime = r, this.updateTime = r;
11
+ let r = Date.now();
12
+ this.createdAt = r, this.updatedAt = r;
13
13
  }
14
14
  }, t = class {
15
15
  constructor(e, t, n) {
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=e=>e===`tts`||e===`restore`,t=(t,n)=>!t&&!e(n),n=e=>{if(!e||e.trigger===`app`)return;let t=e.triggerType;return t?t===`key`||t===`keyboard`?`keyboard`:t===`pen`?`mouse`:t:e.trigger===`user`?`mouse`:void 0},r=(e,t)=>{let r=n(t);return r&&(e.from=r),e};exports.applyPagingLocationFrom=r,exports.isAppLocationFrom=e,exports.locationFromOfPagingExtra=n,exports.shouldSetUserChangedProgress=t;
@@ -0,0 +1,9 @@
1
+ import { PagingExtra } from '../navigator/IPagingNavigator';
2
+ import { LocationFrom } from './Progress';
3
+
4
+ export declare const isAppLocationFrom: (from?: LocationFrom) => boolean;
5
+ export declare const shouldSetUserChangedProgress: (isReload?: boolean, from?: LocationFrom) => boolean;
6
+ export declare const locationFromOfPagingExtra: (extra?: PagingExtra) => LocationFrom | undefined;
7
+ export declare const applyPagingLocationFrom: <T extends {
8
+ from?: LocationFrom;
9
+ }>(location: T, extra?: PagingExtra) => T;
@@ -0,0 +1,11 @@
1
+ //#region kernal/progress/userChangedProgress.ts
2
+ var e = (e) => e === "tts" || e === "restore", t = (t, n) => !t && !e(n), n = (e) => {
3
+ if (!e || e.trigger === "app") return;
4
+ let t = e.triggerType;
5
+ return t ? t === "key" || t === "keyboard" ? "keyboard" : t === "pen" ? "mouse" : t : e.trigger === "user" ? "mouse" : void 0;
6
+ }, r = (e, t) => {
7
+ let r = n(t);
8
+ return r && (e.from = r), e;
9
+ };
10
+ //#endregion
11
+ export { r as applyPagingLocationFrom, e as isAppLocationFrom, n as locationFromOfPagingExtra, t as shouldSetUserChangedProgress };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{async enter(e){if(e&&e.ownerDocument.fullscreenEnabled){let t=this.getSupportPropertyName([`requestFullscreen`,`mozRequestFullScreen`,`webkitRequestFullscreen`,`msRequestFullscreen`],e);t&&await e[t]()}}async exit(e){if(e&&e.fullscreenEnabled){let t=this.getSupportPropertyName([`exitFullScreen`,`mozCancelFullScreen`,`webkitExitFullscreen`,`msExitFullscreen`],e);t&&await e[t]()}}async isFullscreen(e){if(e){if(e.fullscreenEnabled){let t=this.getSupportPropertyName([`fullscreenElement`,`mozFullScreenElement`,`msFullScreenElement`,`wenkitFullscreenElement`],e);if(t&&e[t])return!0}return!1}}async supportFullscreen(){return document.fullscreenEnabled}getSupportPropertyName(e,t){return e.find(e=>e in t)}};exports.BrowserFullscreen=e;
@@ -0,0 +1,9 @@
1
+ import { IFullscreen } from './IFullscreen';
2
+
3
+ export declare class BrowserFullscreen implements IFullscreen {
4
+ enter(element?: HTMLElement): Promise<void>;
5
+ exit(ownerDocument?: Document): Promise<void>;
6
+ isFullscreen(ownerDocument?: Document): Promise<boolean>;
7
+ supportFullscreen(): Promise<boolean>;
8
+ private getSupportPropertyName;
9
+ }
@@ -0,0 +1,47 @@
1
+ //#region kernal/screen/BrowserFullscreen.ts
2
+ var e = class {
3
+ async enter(e) {
4
+ if (e && e.ownerDocument.fullscreenEnabled) {
5
+ let t = this.getSupportPropertyName([
6
+ "requestFullscreen",
7
+ "mozRequestFullScreen",
8
+ "webkitRequestFullscreen",
9
+ "msRequestFullscreen"
10
+ ], e);
11
+ t && await e[t]();
12
+ }
13
+ }
14
+ async exit(e) {
15
+ if (e && e.fullscreenEnabled) {
16
+ let t = this.getSupportPropertyName([
17
+ "exitFullScreen",
18
+ "mozCancelFullScreen",
19
+ "webkitExitFullscreen",
20
+ "msExitFullscreen"
21
+ ], e);
22
+ t && await e[t]();
23
+ }
24
+ }
25
+ async isFullscreen(e) {
26
+ if (e) {
27
+ if (e.fullscreenEnabled) {
28
+ let t = this.getSupportPropertyName([
29
+ "fullscreenElement",
30
+ "mozFullScreenElement",
31
+ "msFullScreenElement",
32
+ "wenkitFullscreenElement"
33
+ ], e);
34
+ if (t && e[t]) return !0;
35
+ }
36
+ return !1;
37
+ }
38
+ }
39
+ async supportFullscreen() {
40
+ return document.fullscreenEnabled;
41
+ }
42
+ getSupportPropertyName(e, t) {
43
+ return e.find((e) => e in t);
44
+ }
45
+ };
46
+ //#endregion
47
+ export { e as BrowserFullscreen };
@@ -0,0 +1,6 @@
1
+ export interface IFullscreen {
2
+ enter(element?: HTMLElement): Promise<void>;
3
+ exit(ownerDocument?: Document): Promise<void>;
4
+ isFullscreen(ownerDocument?: Document): Promise<boolean>;
5
+ supportFullscreen(): Promise<boolean>;
6
+ }
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{constructor(e,t,n){this.locale=e,this.events=t,this.readerInfo=n,this.services=new Map}add(e,t){this.services.set(e,t)}async get(e,t){let n=this.services.get(e);if(n===void 0){if(t)throw Error(`Service "${String(e)}" is not registered.`);return}return await n()}has(e){return this.services.has(e)}remove(e){this.services.delete(e)}clear(){this.services.clear()}asReaderServices(){return this}registerCoreServices(){this.has(`httpClient`)||this.add(`httpClient`,async()=>{let{HttpClient:e}=await Promise.resolve().then(()=>require("../network/HttpClient.cjs"));return new e}),this.has(`crypto`)||this.add(`crypto`,async()=>{let{WebCrypto:e}=await Promise.resolve().then(()=>require("../crypto/WebCrypto.cjs"));return new e}),this.has(`internalUrlBuilder`)||this.add(`internalUrlBuilder`,async()=>{let{DefaultInternalUrlBuilder:e}=await Promise.resolve().then(()=>require("./internalUrlBuilder/DefaultInternalUrlBuilder.cjs"));return new e(this.readerInfo.baseUrl,this.readerInfo.preventCacheHash)}),this.has(`fileUrlParser`)||this.add(`fileUrlParser`,async()=>{let{DefaultFileUrlParser:e}=await Promise.resolve().then(()=>require("./fileUrlParser/DefaultFileUrlParser.cjs"));return new e(await this.get(`httpClient`,!0),await this.get(`internalUrlBuilder`,!0),this.locale)}),this.has(`storage`)||this.add(`storage`,async()=>{let{WebStorage:e}=await Promise.resolve().then(()=>require("../storage/WebStorage.cjs"));return new e}),this.has(`readingProgressStore`)||this.add(`readingProgressStore`,async()=>{let{ReadingProgressStore:e}=await Promise.resolve().then(()=>require("../progress/ReadingProgressStore.cjs"));return new e(await this.get(`storage`,!0))})}registerUiServices(){this.has(`notifier`)||this.add(`notifier`,async()=>{let{DefaultNotifier:e}=await Promise.resolve().then(()=>require("./notifier/DefaultNotifier.cjs"));return new e}),this.has(`loading`)||this.add(`loading`,async()=>{let{DefaultLoading:e}=await Promise.resolve().then(()=>require("./loading/DefaultLoading.cjs"));return new e(this.locale)}),this.has(`loadLayer`)||this.add(`loadLayer`,async()=>{let{HtmlLoadLayer:e}=await Promise.resolve().then(()=>require("./docLoadLayer/HtmlLoadLayer.cjs"));return new e(this.events)})}};exports.ServiceCollection=e;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.keys({httpClient:!0,internalUrlBuilder:!0,fileUrlParser:!0,crypto:!0,fileUrlProvider:!0,fileDecrypter:!0,fileProvider:!0}),t=Object.keys({notifier:!0,loading:!0,themeProvider:!0,wallpaperProvider:!0,loadLayer:!0,fullscreen:!0}),n=class{constructor(e,t,n){this.locale=e,this.events=t,this.readerInfo=n,this.services=new Map}add(e,t){this.services.set(e,t)}async get(e,t){let n=this.services.get(e);if(n===void 0){if(t)throw Error(`Service "${String(e)}" is not registered.`);return}return await n()}has(e){return this.services.has(e)}remove(e){this.services.delete(e)}clear(){this.services.clear()}asReaderServices(){return this}registerCoreServices(){this.has(`httpClient`)||this.add(`httpClient`,async()=>{let{HttpClient:e}=await Promise.resolve().then(()=>require("../network/HttpClient.cjs"));return new e}),this.has(`crypto`)||this.add(`crypto`,async()=>{let{WebCrypto:e}=await Promise.resolve().then(()=>require("../crypto/WebCrypto.cjs"));return new e}),this.has(`internalUrlBuilder`)||this.add(`internalUrlBuilder`,async()=>{let{DefaultInternalUrlBuilder:e}=await Promise.resolve().then(()=>require("./internalUrlBuilder/DefaultInternalUrlBuilder.cjs"));return new e(this.readerInfo.baseUrl,this.readerInfo.preventCacheHash)}),this.has(`fileUrlParser`)||this.add(`fileUrlParser`,async()=>{let{DefaultFileUrlParser:e}=await Promise.resolve().then(()=>require("./fileUrlParser/DefaultFileUrlParser.cjs"));return new e(await this.get(`httpClient`,!0),await this.get(`internalUrlBuilder`,!0),this.locale)})}registerUiServices(){this.has(`notifier`)||this.add(`notifier`,async()=>{let{DefaultNotifier:e}=await Promise.resolve().then(()=>require("./notifier/DefaultNotifier.cjs"));return new e}),this.has(`loading`)||this.add(`loading`,async()=>{let{DefaultLoading:e}=await Promise.resolve().then(()=>require("./loading/DefaultLoading.cjs"));return new e(this.locale)}),this.has(`loadLayer`)||this.add(`loadLayer`,async()=>{let{HtmlLoadLayer:e}=await Promise.resolve().then(()=>require("./docLoadLayer/HtmlLoadLayer.cjs"));return new e(this.events,this.locale)})}};exports.CORE_SERVICE_KEYS=e,exports.ServiceCollection=n,exports.UI_SERVICE_KEYS=t;
@@ -8,14 +8,12 @@ import { ICrypto } from '../crypto/ICrypto';
8
8
  import { IFileUrlProvider } from './file/IFileUrlProvider';
9
9
  import { IFileDecrypter } from './file/IFileDecrypter';
10
10
  import { IFileProvider } from './file/IFileProvider';
11
- import { IStorage } from '../storage/IStorage';
12
- import { IReadingProgressStore } from '../progress/IReadingProgressStore';
13
11
  import { INotifier } from './notifier/INotifier';
14
12
  import { ILoading } from './loading/ILoading';
15
13
  import { IThemeProvider } from '../IThemeProvider';
16
14
  import { IWallpaperProvider } from '../IWallpaperProvider';
17
15
  import { IHtmlLoadLayer } from './docLoadLayer/IHtmlLoadLayer';
18
- import { ISymbolCalclator } from '../ISymbolCalclator';
16
+ import { IFullscreen } from '../screen/IFullscreen';
19
17
 
20
18
  export type CoreServiceMap = {
21
19
  httpClient: IHttpClient;
@@ -25,17 +23,17 @@ export type CoreServiceMap = {
25
23
  fileUrlProvider: IFileUrlProvider;
26
24
  fileDecrypter: IFileDecrypter;
27
25
  fileProvider: IFileProvider;
28
- storage: IStorage;
29
- readingProgressStore: IReadingProgressStore;
30
26
  };
27
+ export declare const CORE_SERVICE_KEYS: Array<keyof CoreServiceMap>;
31
28
  export type UiServiceMap = {
32
29
  notifier: INotifier;
33
30
  loading: ILoading;
34
31
  themeProvider: IThemeProvider;
35
32
  wallpaperProvider: IWallpaperProvider;
36
33
  loadLayer: IHtmlLoadLayer;
37
- symbolCalclator: ISymbolCalclator;
34
+ fullscreen: IFullscreen;
38
35
  };
36
+ export declare const UI_SERVICE_KEYS: Array<keyof UiServiceMap>;
39
37
  export type ServiceMap = CoreServiceMap & UiServiceMap;
40
38
  export declare class ServiceCollection<TMap extends CoreServiceMap = ServiceMap> {
41
39
  private readonly locale;
@@ -1,5 +1,20 @@
1
1
  //#region kernal/services/ServiceCollection.ts
2
- var e = class {
2
+ var e = Object.keys({
3
+ httpClient: !0,
4
+ internalUrlBuilder: !0,
5
+ fileUrlParser: !0,
6
+ crypto: !0,
7
+ fileUrlProvider: !0,
8
+ fileDecrypter: !0,
9
+ fileProvider: !0
10
+ }), t = Object.keys({
11
+ notifier: !0,
12
+ loading: !0,
13
+ themeProvider: !0,
14
+ wallpaperProvider: !0,
15
+ loadLayer: !0,
16
+ fullscreen: !0
17
+ }), n = class {
3
18
  constructor(e, t, n) {
4
19
  this.locale = e, this.events = t, this.readerInfo = n, this.services = /* @__PURE__ */ new Map();
5
20
  }
@@ -39,12 +54,6 @@ var e = class {
39
54
  }), this.has("fileUrlParser") || this.add("fileUrlParser", async () => {
40
55
  let { DefaultFileUrlParser: e } = await import("./fileUrlParser/DefaultFileUrlParser.mjs");
41
56
  return new e(await this.get("httpClient", !0), await this.get("internalUrlBuilder", !0), this.locale);
42
- }), this.has("storage") || this.add("storage", async () => {
43
- let { WebStorage: e } = await import("../storage/WebStorage.mjs");
44
- return new e();
45
- }), this.has("readingProgressStore") || this.add("readingProgressStore", async () => {
46
- let { ReadingProgressStore: e } = await import("../progress/ReadingProgressStore.mjs");
47
- return new e(await this.get("storage", !0));
48
57
  });
49
58
  }
50
59
  registerUiServices() {
@@ -56,9 +65,9 @@ var e = class {
56
65
  return new e(this.locale);
57
66
  }), this.has("loadLayer") || this.add("loadLayer", async () => {
58
67
  let { HtmlLoadLayer: e } = await import("./docLoadLayer/HtmlLoadLayer.mjs");
59
- return new e(this.events);
68
+ return new e(this.events, this.locale);
60
69
  });
61
70
  }
62
71
  };
63
72
  //#endregion
64
- export { e as ServiceCollection };
73
+ export { e as CORE_SERVICE_KEYS, n as ServiceCollection, t as UI_SERVICE_KEYS };
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../EventNames.cjs"),t=require("../../html/dom.cjs"),n=require("../../logo-160x160.cjs");var r=class{constructor(e){this.events=e,this.isVisible=!1,this.state=`unset`,this.bindEvents()}setDoc(e){this.doc=e,this.wrapperContainer=this.doc.getWrapperContainer()}loadLoadingLayer(){this.isVisible=!0,this.renderLoadingLayer()}removeLoadingLayer(){this.isVisible=!1;let e=this.wrapperContainer.querySelector(`div[data-type='loading-layer']`);e&&e.parentElement.removeChild(e),this.timer&&=(clearTimeout(this.timer),null),this.isVisible=!1,this.state=`unset`,this.totalImageCount=void 0,this.processedImageCount=void 0}async dispose(){this.unbindEvents(),this.removeLoadingLayer()}bindEvents(){this.events.on(e.EventNames.ProcessedImageCount,this.onProcessedImageCount)}unbindEvents(){this.events.off(e.EventNames.ProcessedImageCount,this.onProcessedImageCount)}setReloadButton(){t.emptyElement(this.wrapperContainer);let e=this.wrapperContainer.ownerDocument.createElement(`div`);e.style.cssText=`width:100%;height:100%;min-height: inherit;display: flex;justify-content: center;align-items: center;flex-direction: column;`;let n=this.wrapperContainer.ownerDocument.createElement(`div`);n.style.cssText=`color:#666666;font-size: 14px;`,n.textContent=`Load failed`;let r=this.wrapperContainer.ownerDocument.createElement(`div`);r.className=`reload_button`,r.style.cssText=`font-size: 16px;margin-block-start: 10px;background: #14ae5c;color: #fff;padding: 5px 10px;border-radius: 4px;cursor: pointer;`,r.textContent=`Reload`,r.addEventListener(`click`,async()=>{await this.doc.load()}),e.append(n,r),this.wrapperContainer.appendChild(e)}onProcessedImageCount({processedImageCount:e,totalImageCount:t}){this.totalImageCount=t,this.processedImageCount=e,this.renderLoadingLayer()}renderLoadingLayer(){if(!this.isVisible)return;this.state==`unset`&&(this.state=`delay`);let e=this.state==`show`;this.wrapperContainer.querySelector(`div[data-type='loading-layer']`)?(t.emptyElement(this.wrapperContainer),this.wrapperContainer.appendChild(this.createLoadingLayer(e,this.totalImageCount,this.processedImageCount))):(t.emptyElement(this.wrapperContainer),this.wrapperContainer.appendChild(this.createLoadingLayer(e,this.totalImageCount,this.processedImageCount)),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.state=`show`,this.renderLoadingLayer()},2e3))}createLoadingLayer(e,t,r){let i=this.wrapperContainer.ownerDocument,a=i.createElement(`div`);a.setAttribute(`data-type`,`loading-layer`),a.style.cssText=`position:absolute;top:0;left:0;width:100%;height:100%;min-height: inherit;display: flex;justify-content: center;align-items: center;flex-direction:column`;let o=i.createElement(`div`);if(o.style.cssText=`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../EventNames.cjs"),t=require("../../html/dom.cjs"),n=require("../../Theme.cjs"),r=require("../../logo-160x160.cjs");var i=class{constructor(e,t){this.events=e,this.locale=t,this.isVisible=!1,this.state=`unset`,this.onProcessedImageCount=({processedImageCount:e,totalImageCount:t})=>{this.totalImageCount=t,this.processedImageCount=e,this.renderLoadingLayer()},this.bindEvents()}setDoc(e){this.doc=e,this.wrapperContainer=this.doc.getWrapperContainer()}loadLoadingLayer(){this.isVisible=!0,this.renderLoadingLayer()}removeLoadingLayer(){this.isVisible=!1;let e=this.wrapperContainer.querySelector(`div[data-type='loading-layer']`);e&&e.parentElement.removeChild(e),this.timer&&=(clearTimeout(this.timer),null),this.isVisible=!1,this.state=`unset`,this.totalImageCount=void 0,this.processedImageCount=void 0}async dispose(){this.unbindEvents(),this.removeLoadingLayer()}bindEvents(){this.events.on(e.EventNames.ProcessedImageCount,this.onProcessedImageCount)}unbindEvents(){this.events.off(e.EventNames.ProcessedImageCount,this.onProcessedImageCount)}setReloadButton(){t.emptyElement(this.wrapperContainer);let e=this.wrapperContainer.ownerDocument.createElement(`div`);e.style.cssText=`width:100%;height:100%;min-height: inherit;display: flex;justify-content: center;align-items: center;flex-direction: column;`;let n=this.wrapperContainer.ownerDocument.createElement(`div`);n.style.cssText=`color:#666666;font-size: 14px;`,n.textContent=`Load failed`;let r=this.wrapperContainer.ownerDocument.createElement(`div`);r.className=`reload_button`,r.style.cssText=`font-size: 16px;margin-block-start: 10px;background: #163260;color: #fff;padding: 5px 10px;border-radius: 4px;cursor: pointer;`,r.textContent=`Reload`,r.addEventListener(`click`,async()=>{await this.doc.load()}),e.append(n,r),this.wrapperContainer.appendChild(e)}renderLoadingLayer(){if(!this.isVisible)return;this.state==`unset`&&(this.state=`delay`);let e=this.state==`show`,t=this.createLoadingLayer(e,this.totalImageCount,this.processedImageCount),n=this.wrapperContainer.querySelector(`div[data-type='loading-layer']`);if(!n){this.wrapperContainer.appendChild(t),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{!this.isVisible||this.doc?.getLoadStatus()==`success`||(this.state=`show`,this.renderLoadingLayer())},2e3);return}n.replaceWith(t)}createLoadingLayer(e,t,i){let a=this.wrapperContainer.ownerDocument,o=a.createElement(`div`);if(o.setAttribute(`data-type`,`loading-layer`),o.style.cssText=`position:absolute;top:0;left:0;width:100%;height:100%;min-height:inherit;z-index:2;background:var(${n.Theme.ContentBackground})`,!e)return o;let s=a.createElement(`div`);s.style.cssText=`position:sticky;top:0;left:0;width:100%;height:var(--content-wrapper-min-height, 100%);min-height:inherit;display:flex;justify-content:center;align-items:center;flex-direction:column`;let c=a.createElement(`div`);c.style.cssText=`
2
2
  display: flex;
3
3
  justify-content: center;
4
4
  align-items: center;
@@ -9,4 +9,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
9
9
  color: #666;
10
10
  border-radius: 10px;
11
11
  padding: 20px;
12
- gap: 10px;`,e){let e=i.createElement(`img`);e.src=n.default,e.style.cssText=`width:32px;height:32px;`,o.appendChild(e)}let s=i.createElement(`div`);return s.style.cssText=`font-size: 14px;`,s.textContent=r?`Processing images`+r+`/`+t:`Loading...`,o.appendChild(s),a.appendChild(o),a}};exports.HtmlLoadLayer=r;
12
+ gap: 10px;`;let l=a.createElement(`img`);l.src=r.default,l.style.cssText=`width:32px;height:32px;`,c.appendChild(l);let u=a.createElement(`div`);return u.style.cssText=`font-size: 14px;`,u.textContent=i?this.locale.getText(`share_loading_image_size`,`Calculating image size... {processedImageCount}/{totalImageCount}`,{processedImageCount:i,totalImageCount:t}):`Loading...`,c.appendChild(u),s.appendChild(c),o.appendChild(s),o}};exports.HtmlLoadLayer=i;
@@ -1,15 +1,17 @@
1
1
  import { IDocument, IEventEmitter } from '../../../kernal';
2
2
  import { IHtmlLoadLayer } from './IHtmlLoadLayer';
3
+ import { ILocale } from '../../i18n/ILocale';
3
4
 
4
5
  export declare class HtmlLoadLayer implements IHtmlLoadLayer {
5
6
  private readonly events;
7
+ private readonly locale;
6
8
  private isVisible;
7
9
  private state;
8
10
  private timer;
9
11
  private totalImageCount?;
10
12
  private processedImageCount?;
11
13
  private wrapperContainer;
12
- constructor(events: IEventEmitter);
14
+ constructor(events: IEventEmitter, locale: ILocale);
13
15
  private doc;
14
16
  setDoc(doc: IDocument): void;
15
17
  loadLoadingLayer(): void;
@@ -20,5 +22,5 @@ export declare class HtmlLoadLayer implements IHtmlLoadLayer {
20
22
  setReloadButton(): void;
21
23
  private onProcessedImageCount;
22
24
  private renderLoadingLayer;
23
- private createLoadingLayer;
25
+ protected createLoadingLayer(displayChrome: boolean, totalImageCount?: number, processedImageCount?: number): HTMLDivElement;
24
26
  }
@@ -1,10 +1,13 @@
1
1
  import { EventNames as e } from "../../EventNames.mjs";
2
2
  import { emptyElement as t } from "../../html/dom.mjs";
3
- import n from "../../logo-160x160.mjs";
3
+ import { Theme as n } from "../../Theme.mjs";
4
+ import r from "../../logo-160x160.mjs";
4
5
  //#region kernal/services/docLoadLayer/HtmlLoadLayer.ts
5
- var r = class {
6
- constructor(e) {
7
- this.events = e, this.isVisible = !1, this.state = "unset", this.bindEvents();
6
+ var i = class {
7
+ constructor(e, t) {
8
+ this.events = e, this.locale = t, this.isVisible = !1, this.state = "unset", this.onProcessedImageCount = ({ processedImageCount: e, totalImageCount: t }) => {
9
+ this.totalImageCount = t, this.processedImageCount = e, this.renderLoadingLayer();
10
+ }, this.bindEvents();
8
11
  }
9
12
  setDoc(e) {
10
13
  this.doc = e, this.wrapperContainer = this.doc.getWrapperContainer();
@@ -33,32 +36,37 @@ var r = class {
33
36
  let n = this.wrapperContainer.ownerDocument.createElement("div");
34
37
  n.style.cssText = "color:#666666;font-size: 14px;", n.textContent = "Load failed";
35
38
  let r = this.wrapperContainer.ownerDocument.createElement("div");
36
- r.className = "reload_button", r.style.cssText = "font-size: 16px;margin-block-start: 10px;background: #14ae5c;color: #fff;padding: 5px 10px;border-radius: 4px;cursor: pointer;", r.textContent = "Reload", r.addEventListener("click", async () => {
39
+ r.className = "reload_button", r.style.cssText = "font-size: 16px;margin-block-start: 10px;background: #163260;color: #fff;padding: 5px 10px;border-radius: 4px;cursor: pointer;", r.textContent = "Reload", r.addEventListener("click", async () => {
37
40
  await this.doc.load();
38
41
  }), e.append(n, r), this.wrapperContainer.appendChild(e);
39
42
  }
40
- onProcessedImageCount({ processedImageCount: e, totalImageCount: t }) {
41
- this.totalImageCount = t, this.processedImageCount = e, this.renderLoadingLayer();
42
- }
43
43
  renderLoadingLayer() {
44
44
  if (!this.isVisible) return;
45
45
  this.state == "unset" && (this.state = "delay");
46
- let e = this.state == "show";
47
- this.wrapperContainer.querySelector("div[data-type='loading-layer']") ? (t(this.wrapperContainer), this.wrapperContainer.appendChild(this.createLoadingLayer(e, this.totalImageCount, this.processedImageCount))) : (t(this.wrapperContainer), this.wrapperContainer.appendChild(this.createLoadingLayer(e, this.totalImageCount, this.processedImageCount)), this.timer && clearTimeout(this.timer), this.timer = setTimeout(() => {
48
- this.state = "show", this.renderLoadingLayer();
49
- }, 2e3));
50
- }
51
- createLoadingLayer(e, t, r) {
52
- let i = this.wrapperContainer.ownerDocument, a = i.createElement("div");
53
- a.setAttribute("data-type", "loading-layer"), a.style.cssText = "position:absolute;top:0;left:0;width:100%;height:100%;min-height: inherit;display: flex;justify-content: center;align-items: center;flex-direction:column";
54
- let o = i.createElement("div");
55
- if (o.style.cssText = "\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n width: fit-content;\n height: fit-content;\n background: rgba(0, 0, 0, 0.05);\n color: #666;\n border-radius: 10px;\n padding: 20px;\n gap: 10px;", e) {
56
- let e = i.createElement("img");
57
- e.src = n, e.style.cssText = "width:32px;height:32px;", o.appendChild(e);
46
+ let e = this.state == "show", t = this.createLoadingLayer(e, this.totalImageCount, this.processedImageCount), n = this.wrapperContainer.querySelector("div[data-type='loading-layer']");
47
+ if (!n) {
48
+ this.wrapperContainer.appendChild(t), this.timer && clearTimeout(this.timer), this.timer = setTimeout(() => {
49
+ !this.isVisible || this.doc?.getLoadStatus() == "success" || (this.state = "show", this.renderLoadingLayer());
50
+ }, 2e3);
51
+ return;
58
52
  }
59
- let s = i.createElement("div");
60
- return s.style.cssText = "font-size: 14px;", s.textContent = r ? "Processing images" + r + "/" + t : "Loading...", o.appendChild(s), a.appendChild(o), a;
53
+ n.replaceWith(t);
54
+ }
55
+ createLoadingLayer(e, t, i) {
56
+ let a = this.wrapperContainer.ownerDocument, o = a.createElement("div");
57
+ if (o.setAttribute("data-type", "loading-layer"), o.style.cssText = `position:absolute;top:0;left:0;width:100%;height:100%;min-height:inherit;z-index:2;background:var(${n.ContentBackground})`, !e) return o;
58
+ let s = a.createElement("div");
59
+ s.style.cssText = "position:sticky;top:0;left:0;width:100%;height:var(--content-wrapper-min-height, 100%);min-height:inherit;display:flex;justify-content:center;align-items:center;flex-direction:column";
60
+ let c = a.createElement("div");
61
+ c.style.cssText = "\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n width: fit-content;\n height: fit-content;\n background: rgba(0, 0, 0, 0.05);\n color: #666;\n border-radius: 10px;\n padding: 20px;\n gap: 10px;";
62
+ let l = a.createElement("img");
63
+ l.src = r, l.style.cssText = "width:32px;height:32px;", c.appendChild(l);
64
+ let u = a.createElement("div");
65
+ return u.style.cssText = "font-size: 14px;", u.textContent = i ? this.locale.getText("share_loading_image_size", "Calculating image size... {processedImageCount}/{totalImageCount}", {
66
+ processedImageCount: i,
67
+ totalImageCount: t
68
+ }) : "Loading...", c.appendChild(u), s.appendChild(c), o.appendChild(s), o;
61
69
  }
62
70
  };
63
71
  //#endregion
64
- export { r as HtmlLoadLayer };
72
+ export { i as HtmlLoadLayer };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../common/text.cjs"),t=require("../../common/url.cjs"),n=require("../../common/path.cjs"),r=require("../../IFileParser.cjs"),i=require("../../common/encoding.cjs"),a=require("./IFileUrlParser.cjs");var o=class{constructor(e,t,n){this.httpClient=e,this.internalUrlBuilder=t,this.locale=n}async parse(t,i){let o=new a.UrlParseResult;if(t instanceof Array){let a=t;if(a.length==0)throw Error(this.locale.getText(`fileparser_missingUrl`,`url is required`));for(let t=0;t<a.length;t++){let s=await this.formatUrl(a[t],i),c=n.getExtension(s)||i?.extension;if(e.isNullOrWhiteSpace(c))throw Error(`Missing extension`);o.spineFiles.push(new r.SpineFile(void 0,s,c)),o.isMultiFiles=!0}o.requireCalculateFileSymbolCount=!0}else if(t instanceof r.FilePackage){let e=t;if(o.metadata=e.metadata,e.nav&&(o.nav=e.nav),e.spineFiles&&e.spineFiles.length>0)o.spineFiles=e.spineFiles,o.isMultiFiles=!0;else{i=Object.assign({},e,i);let t=await this.parseBasicUrl(e.fileUrl,i);o.data=t.data,o.requireCalculateFileSymbolCount=t.requireCalculateFileSymbolCount,o.base=t.base,o.mainUrl=t.mainUrl}o.requireSignUrl=e.requireSignUrl}else{let e=await this.parseBasicUrl(t,i);o.data=e.data,o.requireCalculateFileSymbolCount=e.requireCalculateFileSymbolCount,o.base=e.base,o.mainUrl=e.mainUrl,i?.metadata&&(o.metadata=i.metadata)}return o}async parseBasicUrl(e,n){let r=await this.changeOpenParameters(e,n);e=r.url,n=r.options;let a=!1,o,s=``,c=``;if(typeof e==`string`){let r=t.checkIsAbsoluteUrl(e);if(!r)try{JSON.parse(e),r=!1}catch{r=!0}if(r){let r=e.lastIndexOf(`/`);r>0&&(s=e.substring(0,r+1));let i;i=e.startsWith(`/`)?e:await this.formatUrl(e,n),n?.requireDownload&&(t.checkIsAbsoluteUrl(i,!0)?o=await this.getDataFromNetworkUrl(i,n):(o=await this.getDataFromStringUrl(i,n),(!o||o.byteLength==0)&&(o=await this.getDataFromNetworkUrl(i,n)))),c=i}else o=i.convertStringToUint8Array(e).buffer,c=``;a=!0}else if(e instanceof ArrayBuffer)o=e,a=!0;else if(e instanceof Uint8Array)o=e.buffer,a=!0;else if(e instanceof Blob)o=await this.readBlobAsArrayBuffer(e,n),a=!0;else if(globalThis.FileSystemFileHandle&&e instanceof globalThis.FileSystemFileHandle){let t=await e.getFile();o=await this.readBlobAsArrayBuffer(t,n),a=!0}else throw Error(this.locale.getText(`fileparser_unknownUrl`,`unknown url format`));return{mainUrl:c,data:o,base:s,requireCalculateFileSymbolCount:a}}async changeOpenParameters(e,t){return{url:e,options:t}}async readBlobAsArrayBuffer(e,t){return t?.fileDownloadingCallback?new Promise((n,r)=>{let i=new FileReader;i.onprogress=e=>{e.lengthComputable&&t.fileDownloadingCallback(e.total,e.loaded,!1)},i.onload=e=>{t.fileDownloadingCallback(e.total,e.total,!0),n(e.target.result)},i.onerror=e=>{r(e)},i.abort=()=>{r(`aborted`)},i.readAsArrayBuffer(e)}):await e.arrayBuffer()}async getDataFromNetworkUrl(e,t){let n={};return t?.authorizationKey&&t?.authorizationValue&&(n[t?.authorizationKey]=t?.authorizationValue),await this.httpClient.get(e,{responseType:`arraybuffer`,timeout:6e5,contentLength:t?.fileSize,headers:n,requireCORSProxy:t?.requireCORSProxy,downloadProgressCallback:t?.fileDownloadingCallback,abortController:t?.abortController})}async getDataFromStringUrl(e,t){return await this.getDataFromNetworkUrl(e,t)}async formatUrl(e,n){return this.internalUrlBuilder?await this.internalUrlBuilder.getAbsoluteUrl(e,!0):t.getFullUrl(e,globalThis.location.href).toString()}};exports.DefaultFileUrlParser=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../common/encoding.cjs"),t=require("../../common/text.cjs"),n=require("../../common/url.cjs"),r=require("../../common/path.cjs"),i=require("../../IFileParser.cjs"),a=require("./IFileUrlParser.cjs");var o=class{constructor(e,t,n){this.httpClient=e,this.internalUrlBuilder=t,this.locale=n}async parse(e,n){let o=new a.UrlParseResult;if(e instanceof Array){let a=e;if(a.length==0)throw Error(this.locale.getText(`fileparser_missingUrl`,`url is required`));for(let e=0;e<a.length;e++){let s=await this.formatUrl(a[e],n),c=r.getExtension(s)||n?.extension;if(t.isNullOrWhiteSpace(c))throw Error(`Missing extension`);o.spineFiles.push(new i.SpineFile(void 0,s,c)),o.isMultiFiles=!0}o.requireCalculateFileSymbolCount=!0}else if(e instanceof i.FilePackage){let t=e;if(o.metadata=t.metadata,t.nav&&(o.nav=t.nav),t.spineFiles&&t.spineFiles.length>0)o.spineFiles=t.spineFiles,o.isMultiFiles=!0;else{n=Object.assign({},t,n);let e=await this.parseBasicUrl(t.fileUrl,n);o.data=e.data,o.requireCalculateFileSymbolCount=e.requireCalculateFileSymbolCount,o.base=e.base,o.mainUrl=e.mainUrl}o.requireSignUrl=t.requireSignUrl}else{let t=await this.parseBasicUrl(e,n);o.data=t.data,o.requireCalculateFileSymbolCount=t.requireCalculateFileSymbolCount,o.base=t.base,o.mainUrl=t.mainUrl}return o}async parseBasicUrl(t,r){let i=await this.changeOpenParameters(t,r);t=i.url,r=i.options;let a=!1,o,s=``,c=``;if(typeof t==`string`){let i=n.checkIsAbsoluteUrl(t);if(!i)try{JSON.parse(t),i=!1}catch{i=!0}if(i){let e=t.lastIndexOf(`/`);e>0&&(s=t.substring(0,e+1));let i;i=t.startsWith(`/`)?t:await this.formatUrl(t,r),r?.requireDownload&&(n.checkIsAbsoluteUrl(i,!0)?o=await this.getDataFromNetworkUrl(i,r):(o=await this.getDataFromStringUrl(i,r),(!o||o.byteLength==0)&&(o=await this.getDataFromNetworkUrl(i,r)))),c=i}else o=e.convertStringToUint8Array(t).buffer,c=``;a=!0}else if(t instanceof ArrayBuffer)o=t,a=!0;else if(t instanceof Uint8Array)o=t.buffer,a=!0;else if(t instanceof Blob)o=await this.readBlobAsArrayBuffer(t,r),a=!0;else if(globalThis.FileSystemFileHandle&&t instanceof globalThis.FileSystemFileHandle){let e=await t.getFile();o=await this.readBlobAsArrayBuffer(e,r),a=!0}else throw Error(this.locale.getText(`fileparser_unknownUrl`,`unknown url format`));return{mainUrl:c,data:o,base:s,requireCalculateFileSymbolCount:a}}async changeOpenParameters(e,t){return{url:e,options:t}}async readBlobAsArrayBuffer(e,t){return t?.fileDownloadingCallback?new Promise((n,r)=>{let i=new FileReader;i.onprogress=e=>{e.lengthComputable&&t.fileDownloadingCallback(e.total,e.loaded,!1)},i.onload=r=>{let i=r.total>0?r.total:e.size;t.fileDownloadingCallback(i,i,!0),n(r.target.result)},i.onerror=e=>{r(e)},i.abort=()=>{r(`aborted`)},i.readAsArrayBuffer(e)}):await e.arrayBuffer()}async getDataFromNetworkUrl(e,t){let n={};return t?.authorizationKey&&t?.authorizationValue&&(n[t?.authorizationKey]=t?.authorizationValue),await this.httpClient.get(e,{responseType:`arraybuffer`,timeout:6e5,contentLength:t?.fileSize,headers:n,requireCORSProxy:t?.requireCORSProxy,downloadProgressCallback:t?.fileDownloadingCallback,abortController:t?.abortController})}async getDataFromStringUrl(e,t){return await this.getDataFromNetworkUrl(e,t)}async formatUrl(e,t){return this.internalUrlBuilder?await this.internalUrlBuilder.getAbsoluteUrl(e,!0):n.getFullUrl(e,globalThis.location.href).toString()}};exports.DefaultFileUrlParser=o;