@foxycape/core 1.1.6 → 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 (508) 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/Context.cjs +1 -1
  7. package/dist/kernal/Context.mjs +13 -8
  8. package/dist/kernal/EventNames.cjs +1 -1
  9. package/dist/kernal/EventNames.d.ts +2 -0
  10. package/dist/kernal/EventNames.mjs +6 -0
  11. package/dist/kernal/FileLoader.cjs +1 -1
  12. package/dist/kernal/FileLoader.d.ts +3 -11
  13. package/dist/kernal/FileLoader.mjs +27 -22
  14. package/dist/kernal/JsonConvert.cjs +1 -1
  15. package/dist/kernal/JsonConvert.d.ts +0 -1
  16. package/dist/kernal/JsonConvert.mjs +17 -25
  17. package/dist/kernal/LifecycleHooks.d.ts +2 -1
  18. package/dist/kernal/Metadata.cjs +1 -1
  19. package/dist/kernal/Metadata.d.ts +34 -0
  20. package/dist/kernal/Metadata.mjs +47 -2
  21. package/dist/kernal/OpenOptions.d.ts +1 -0
  22. package/dist/kernal/Options.cjs +1 -1
  23. package/dist/kernal/Options.d.ts +2 -12
  24. package/dist/kernal/Options.mjs +1 -13
  25. package/dist/kernal/OptionsProvider.cjs +1 -1
  26. package/dist/kernal/OptionsProvider.d.ts +0 -2
  27. package/dist/kernal/OptionsProvider.mjs +6 -14
  28. package/dist/kernal/Reader.cjs +1 -1
  29. package/dist/kernal/Reader.d.ts +13 -12
  30. package/dist/kernal/Reader.mjs +119 -89
  31. package/dist/kernal/Theme.cjs +1 -1
  32. package/dist/kernal/Theme.mjs +1 -1
  33. package/dist/kernal/common/url.cjs +1 -1
  34. package/dist/kernal/common/url.d.ts +2 -0
  35. package/dist/kernal/common/url.mjs +2 -2
  36. package/dist/kernal/common/uuid.cjs +1 -1
  37. package/dist/kernal/common/uuid.mjs +7 -7
  38. package/dist/kernal/common/xxh64.cjs +1 -0
  39. package/dist/kernal/common/xxh64.d.ts +1 -0
  40. package/dist/kernal/common/xxh64.mjs +30 -0
  41. package/dist/kernal/crypto/MD5.cjs +1 -1
  42. package/dist/kernal/crypto/MD5.d.ts +0 -1
  43. package/dist/kernal/crypto/MD5.mjs +8 -9
  44. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  45. package/dist/kernal/crypto/WebCrypto.mjs +38 -35
  46. package/dist/kernal/deepClone/buffer.cjs +1 -1
  47. package/dist/kernal/deepClone/buffer.d.ts +8 -2
  48. package/dist/kernal/deepClone/buffer.mjs +1 -5
  49. package/dist/kernal/device/IDevice.d.ts +8 -2
  50. package/dist/kernal/device/WebBrowser.cjs +1 -1
  51. package/dist/kernal/device/WebBrowser.d.ts +12 -6
  52. package/dist/kernal/device/WebBrowser.mjs +70 -6
  53. package/dist/kernal/hostViewport.cjs +1 -0
  54. package/dist/kernal/hostViewport.d.ts +16 -0
  55. package/dist/kernal/hostViewport.mjs +44 -0
  56. package/dist/kernal/html/events.cjs +1 -1
  57. package/dist/kernal/html/events.mjs +35 -34
  58. package/dist/kernal/html/finder.cjs +1 -1
  59. package/dist/kernal/html/finder.d.ts +6 -2
  60. package/dist/kernal/html/finder.mjs +62 -51
  61. package/dist/kernal/html/geometry.cjs +1 -1
  62. package/dist/kernal/html/geometry.d.ts +26 -1
  63. package/dist/kernal/html/geometry.mjs +182 -121
  64. package/dist/kernal/html/manipulator.cjs +1 -1
  65. package/dist/kernal/html/manipulator.d.ts +1 -3
  66. package/dist/kernal/html/manipulator.mjs +34 -59
  67. package/dist/kernal/html/parser.cjs +1 -1
  68. package/dist/kernal/html/parser.mjs +3 -3
  69. package/dist/kernal/html/position.cjs +1 -1
  70. package/dist/kernal/html/position.d.ts +0 -18
  71. package/dist/kernal/html/position.mjs +2 -141
  72. package/dist/kernal/html/realm.cjs +1 -0
  73. package/dist/kernal/html/realm.d.ts +7 -0
  74. package/dist/kernal/html/realm.mjs +8 -0
  75. package/dist/kernal/html/selection.cjs +1 -1
  76. package/dist/kernal/html/selection.d.ts +1 -0
  77. package/dist/kernal/html/selection.mjs +33 -12
  78. package/dist/kernal/html/text.cjs +1 -1
  79. package/dist/kernal/html/text.d.ts +4 -3
  80. package/dist/kernal/html/text.mjs +24 -21
  81. package/dist/kernal/html/translationAnchor.cjs +1 -0
  82. package/dist/kernal/html/translationAnchor.d.ts +3 -0
  83. package/dist/kernal/html/translationAnchor.mjs +71 -0
  84. package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
  85. package/dist/kernal/i18n/DefaultLocale.d.ts +2 -2
  86. package/dist/kernal/i18n/DefaultLocale.mjs +7 -12
  87. package/dist/kernal/i18n/ILocale.d.ts +0 -1
  88. package/dist/kernal/i18n/applyNamed.cjs +1 -0
  89. package/dist/kernal/i18n/applyNamed.d.ts +1 -0
  90. package/dist/kernal/i18n/applyNamed.mjs +9 -0
  91. package/dist/kernal/i18n/textDirection.cjs +1 -0
  92. package/dist/kernal/i18n/textDirection.d.ts +6 -0
  93. package/dist/kernal/i18n/textDirection.mjs +7 -0
  94. package/dist/kernal/index.cjs +1 -1
  95. package/dist/kernal/index.d.ts +6 -5
  96. package/dist/kernal/index.mjs +50 -45
  97. package/dist/kernal/mark/IHighlighter.cjs +1 -0
  98. package/dist/kernal/mark/IHighlighter.d.ts +43 -0
  99. package/dist/kernal/mark/IHighlighter.mjs +13 -0
  100. package/dist/kernal/mark/Mark.cjs +1 -1
  101. package/dist/kernal/mark/Mark.d.ts +33 -4
  102. package/dist/kernal/mark/Mark.mjs +43 -6
  103. package/dist/kernal/mark/index.cjs +1 -1
  104. package/dist/kernal/mark/index.d.ts +2 -0
  105. package/dist/kernal/mark/index.mjs +6 -3
  106. package/dist/kernal/mark/overlay.cjs +1 -0
  107. package/dist/kernal/mark/overlay.d.ts +31 -0
  108. package/dist/kernal/mark/overlay.mjs +102 -0
  109. package/dist/kernal/mark/types.cjs +1 -0
  110. package/dist/kernal/mark/types.d.ts +11 -2
  111. package/dist/kernal/mark/types.mjs +4 -0
  112. package/dist/kernal/navigator/INavigator.d.ts +3 -2
  113. package/dist/kernal/network/HttpClient.cjs +1 -1
  114. package/dist/kernal/network/HttpClient.mjs +80 -56
  115. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  116. package/dist/kernal/pipelines/FileLoadPipeline.mjs +55 -56
  117. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  118. package/dist/kernal/pipelines/InputFormatter.mjs +43 -41
  119. package/dist/kernal/pipelines/metadata.cjs +1 -1
  120. package/dist/kernal/pipelines/metadata.d.ts +2 -1
  121. package/dist/kernal/pipelines/metadata.mjs +21 -30
  122. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
  123. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +7 -6
  124. package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
  125. package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +12 -11
  126. package/dist/kernal/progress/Progress.cjs +1 -1
  127. package/dist/kernal/progress/Progress.d.ts +5 -3
  128. package/dist/kernal/progress/Progress.mjs +2 -2
  129. package/dist/kernal/progress/userChangedProgress.cjs +1 -0
  130. package/dist/kernal/progress/userChangedProgress.d.ts +9 -0
  131. package/dist/kernal/progress/userChangedProgress.mjs +11 -0
  132. package/dist/kernal/screen/BrowserFullscreen.cjs +1 -0
  133. package/dist/kernal/screen/BrowserFullscreen.d.ts +9 -0
  134. package/dist/kernal/screen/BrowserFullscreen.mjs +47 -0
  135. package/dist/kernal/screen/IFullscreen.d.ts +6 -0
  136. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  137. package/dist/kernal/services/ServiceCollection.d.ts +4 -6
  138. package/dist/kernal/services/ServiceCollection.mjs +18 -9
  139. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
  140. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +4 -2
  141. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +31 -23
  142. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
  143. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +52 -51
  144. package/dist/kernal/services/fileUrlParser/IFileUrlParser.d.ts +0 -1
  145. package/dist/kernal/services/font/IFontProvider.cjs +1 -1
  146. package/dist/kernal/services/font/IFontProvider.d.ts +3 -0
  147. package/dist/kernal/services/font/IFontProvider.mjs +1 -1
  148. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
  149. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +8 -8
  150. package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
  151. package/dist/kernal/services/loading/DefaultLoading.d.ts +4 -0
  152. package/dist/kernal/services/loading/DefaultLoading.mjs +23 -24
  153. package/dist/kernal/services/text/splitter.cjs +1 -1
  154. package/dist/kernal/services/text/splitter.mjs +3 -3
  155. package/dist/kernal/types.d.ts +0 -5
  156. package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
  157. package/dist/kernal/web/BrowserCapabilities.d.ts +0 -9
  158. package/dist/kernal/web/BrowserCapabilities.mjs +0 -49
  159. package/dist/kernal/{Debounce.mjs → web/debounce.mjs} +1 -1
  160. package/dist/kernal/web/scheduler.cjs +1 -0
  161. package/dist/kernal/web/scheduler.d.ts +3 -0
  162. package/dist/kernal/web/scheduler.mjs +7 -0
  163. package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
  164. package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +59 -59
  165. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.cjs +1 -0
  166. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.d.ts +13 -0
  167. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.mjs +109 -0
  168. package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
  169. package/dist/mediaTypes/html/HtmlOptions.d.ts +6 -12
  170. package/dist/mediaTypes/html/HtmlOptions.mjs +3 -14
  171. package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
  172. package/dist/mediaTypes/html/HtmlSettings.d.ts +16 -1
  173. package/dist/mediaTypes/html/HtmlSettings.mjs +46 -1
  174. package/dist/mediaTypes/html/IHtmlContentNormalizer.cjs +1 -0
  175. package/dist/mediaTypes/html/IHtmlContentNormalizer.d.ts +4 -0
  176. package/dist/mediaTypes/html/IHtmlContentNormalizer.mjs +4 -0
  177. package/dist/mediaTypes/html/IHtmlSymbolMeasure.d.ts +11 -0
  178. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.cjs +1 -0
  179. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.d.ts +5 -0
  180. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.mjs +8 -0
  181. package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
  182. package/dist/mediaTypes/html/fileParser/HtmlFileParser.d.ts +5 -1
  183. package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +15 -18
  184. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
  185. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +25 -25
  186. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +1 -0
  187. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.d.ts +7 -3
  188. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +4 -0
  189. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  190. package/dist/mediaTypes/html/renderer/HtmlRenderer.d.ts +7 -1
  191. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +65 -41
  192. package/dist/mediaTypes/html/renderer/IHtmlDocument.d.ts +6 -2
  193. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.d.ts +5 -0
  194. package/dist/mediaTypes/html/renderer/IHtmlRenderer.d.ts +3 -0
  195. package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
  196. package/dist/mediaTypes/html/renderer/document/HtmlDocument.d.ts +29 -6
  197. package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +233 -86
  198. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
  199. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.d.ts +8 -0
  200. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +41 -5
  201. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
  202. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.d.ts +2 -4
  203. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +22 -59
  204. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
  205. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.d.ts +3 -5
  206. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +7 -25
  207. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
  208. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.d.ts +0 -2
  209. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +18 -42
  210. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
  211. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.d.ts +2 -0
  212. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +17 -4
  213. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
  214. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.d.ts +16 -1
  215. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +128 -54
  216. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
  217. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +26 -3
  218. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +227 -101
  219. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
  220. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -0
  221. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +45 -25
  222. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.cjs +1 -0
  223. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.d.ts +6 -0
  224. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.mjs +6 -0
  225. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.cjs +1 -0
  226. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.d.ts +2 -0
  227. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.mjs +13 -0
  228. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.cjs +1 -0
  229. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.d.ts +11 -0
  230. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.mjs +8 -0
  231. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
  232. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +62 -62
  233. package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
  234. package/dist/mediaTypes/html/renderer/html/template.d.ts +3 -1
  235. package/dist/mediaTypes/html/renderer/html/template.mjs +9 -9
  236. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
  237. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.d.ts +22 -12
  238. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +380 -270
  239. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
  240. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +27 -27
  241. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.d.ts +8 -0
  242. package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -1
  243. package/dist/mediaTypes/html/renderer/image/error-image.mjs +1 -1
  244. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.cjs +1 -0
  245. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.d.ts +10 -0
  246. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.mjs +15 -0
  247. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.cjs +1 -0
  248. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.d.ts +2 -0
  249. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.mjs +12 -0
  250. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
  251. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.d.ts +6 -10
  252. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +71 -62
  253. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
  254. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.d.ts +4 -1
  255. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +113 -68
  256. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.d.ts +8 -3
  257. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
  258. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.d.ts +5 -1
  259. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +15 -3
  260. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.cjs +1 -0
  261. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.d.ts +8 -0
  262. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.mjs +28 -0
  263. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.cjs +30 -0
  264. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.mjs +4 -0
  265. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.cjs +31 -0
  266. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.mjs +4 -0
  267. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.cjs +30 -0
  268. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.mjs +4 -0
  269. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.cjs +30 -0
  270. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.mjs +4 -0
  271. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.cjs +30 -0
  272. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.mjs +4 -0
  273. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.cjs +30 -0
  274. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.mjs +4 -0
  275. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.cjs +6 -0
  276. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.mjs +4 -0
  277. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.cjs +10 -0
  278. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.mjs +4 -0
  279. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.cjs +10 -0
  280. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.mjs +4 -0
  281. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.cjs +10 -0
  282. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.mjs +4 -0
  283. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.cjs +10 -0
  284. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.mjs +4 -0
  285. package/dist/mediaTypes/html/renderer/layout/css/document-default.cjs +19 -0
  286. package/dist/mediaTypes/html/renderer/layout/css/document-default.mjs +4 -0
  287. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.cjs +3 -0
  288. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.d.ts +2 -0
  289. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.mjs +56 -0
  290. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.cjs +64 -0
  291. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.mjs +4 -0
  292. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.cjs +33 -0
  293. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.mjs +4 -0
  294. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.cjs +33 -0
  295. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.mjs +4 -0
  296. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.cjs +47 -0
  297. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.mjs +4 -0
  298. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.cjs +47 -0
  299. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.mjs +4 -0
  300. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.cjs +46 -0
  301. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.mjs +4 -0
  302. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.cjs +46 -0
  303. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.mjs +4 -0
  304. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.cjs +7 -0
  305. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.mjs +4 -0
  306. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.cjs +28 -0
  307. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.mjs +4 -0
  308. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.cjs +28 -0
  309. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.mjs +4 -0
  310. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.cjs +28 -0
  311. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.mjs +4 -0
  312. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.cjs +28 -0
  313. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.mjs +4 -0
  314. package/dist/mediaTypes/html/renderer/layout/css/root-direction.cjs +8 -0
  315. package/dist/mediaTypes/html/renderer/layout/css/root-direction.mjs +4 -0
  316. package/dist/mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.d.ts +128 -0
  317. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.cjs +1 -0
  318. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.d.ts +4 -0
  319. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.mjs +7 -0
  320. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.cjs +1 -0
  321. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.d.ts +1 -0
  322. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.mjs +13 -0
  323. package/dist/mediaTypes/html/renderer/layout/geometry/index.cjs +1 -0
  324. package/dist/mediaTypes/html/renderer/layout/geometry/index.d.ts +18 -0
  325. package/dist/mediaTypes/html/renderer/layout/geometry/index.mjs +30 -0
  326. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.cjs +1 -0
  327. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.d.ts +3 -0
  328. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.mjs +71 -0
  329. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.cjs +1 -0
  330. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.d.ts +3 -0
  331. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.mjs +74 -0
  332. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.cjs +1 -0
  333. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.d.ts +3 -0
  334. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.mjs +71 -0
  335. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.cjs +1 -0
  336. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.d.ts +3 -0
  337. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.mjs +71 -0
  338. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.cjs +1 -0
  339. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.d.ts +3 -0
  340. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.mjs +71 -0
  341. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.cjs +1 -0
  342. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.d.ts +3 -0
  343. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.mjs +71 -0
  344. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.cjs +1 -0
  345. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.d.ts +41 -0
  346. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.mjs +53 -0
  347. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.cjs +1 -0
  348. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.d.ts +3 -0
  349. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.mjs +71 -0
  350. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.cjs +1 -0
  351. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.d.ts +3 -0
  352. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.mjs +74 -0
  353. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.cjs +1 -0
  354. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.d.ts +3 -0
  355. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.mjs +71 -0
  356. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.cjs +1 -0
  357. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.d.ts +3 -0
  358. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.mjs +71 -0
  359. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.cjs +1 -0
  360. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.d.ts +3 -0
  361. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.mjs +74 -0
  362. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.cjs +1 -0
  363. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.d.ts +3 -0
  364. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.mjs +74 -0
  365. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.cjs +1 -0
  366. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.d.ts +10 -0
  367. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.mjs +17 -0
  368. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.cjs +1 -0
  369. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.d.ts +6 -0
  370. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.mjs +24 -0
  371. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.cjs +1 -0
  372. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.d.ts +9 -0
  373. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.mjs +4 -0
  374. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.cjs +1 -0
  375. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.d.ts +11 -0
  376. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.mjs +9 -0
  377. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
  378. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +32 -34
  379. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.cjs +1 -0
  380. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.d.ts +23 -0
  381. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.mjs +164 -0
  382. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.cjs +1 -0
  383. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.d.ts +4 -0
  384. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.mjs +13 -0
  385. package/dist/mediaTypes/html/renderer/location/scrollActivity.cjs +1 -0
  386. package/dist/mediaTypes/html/renderer/location/scrollActivity.d.ts +14 -0
  387. package/dist/mediaTypes/html/renderer/location/scrollActivity.mjs +18 -0
  388. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
  389. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +2 -2
  390. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
  391. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +3 -3
  392. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
  393. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +55 -59
  394. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
  395. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.d.ts +1 -0
  396. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +40 -39
  397. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
  398. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.d.ts +2 -1
  399. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +36 -24
  400. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
  401. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.d.ts +4 -0
  402. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +19 -1
  403. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
  404. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.d.ts +3 -0
  405. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +9 -0
  406. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
  407. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.d.ts +3 -0
  408. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +28 -16
  409. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
  410. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.d.ts +2 -0
  411. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +39 -34
  412. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.cjs +0 -0
  413. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.d.ts +6 -0
  414. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.mjs +0 -0
  415. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.cjs +1 -0
  416. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.d.ts +18 -0
  417. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.mjs +52 -0
  418. package/dist/mediaTypes/html/renderer/style/html-content.cjs +38 -7
  419. package/dist/mediaTypes/html/renderer/style/html-content.mjs +1 -1
  420. package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
  421. package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +6 -13
  422. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  423. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.d.ts +5 -4
  424. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +7 -3
  425. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  426. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.d.ts +4 -4
  427. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +24 -14
  428. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.cjs +1 -0
  429. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.d.ts +6 -0
  430. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.mjs +4 -0
  431. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.cjs +1 -0
  432. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.d.ts +10 -0
  433. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.mjs +33 -0
  434. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  435. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +18 -19
  436. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.d.ts +2 -0
  437. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +1 -1
  438. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  439. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +2 -2
  440. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  441. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.d.ts +0 -1
  442. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +0 -3
  443. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  444. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +3 -3
  445. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  446. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +3 -3
  447. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  448. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.d.ts +3 -3
  449. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +20 -19
  450. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  451. package/dist/mediaTypes/pdf/renderer/PdfRenderer.d.ts +1 -0
  452. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +20 -20
  453. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  454. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +51 -50
  455. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  456. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +55 -56
  457. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.cjs +1 -0
  458. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.d.ts +3 -0
  459. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.mjs +12 -0
  460. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  461. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.d.ts +4 -0
  462. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +24 -5
  463. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  464. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +32 -32
  465. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  466. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +1 -1
  467. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  468. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +5 -5
  469. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +2 -2
  470. package/dist/mediaTypes/pdf/shared/text/pageText.d.ts +14 -0
  471. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +139 -47
  472. package/dist/node_modules/highlight.js/styles/github-dark.cjs +118 -0
  473. package/dist/node_modules/highlight.js/styles/github-dark.mjs +4 -0
  474. package/dist/node_modules/highlight.js/styles/github.cjs +118 -0
  475. package/dist/node_modules/highlight.js/styles/github.mjs +4 -0
  476. package/dist/pdfjs/package.json +1 -0
  477. package/package.json +11 -5
  478. package/dist/kernal/device/IEnvironment.d.ts +0 -5
  479. package/dist/kernal/device/IPlatform.d.ts +0 -7
  480. package/dist/kernal/device/WebEnvironment.cjs +0 -1
  481. package/dist/kernal/device/WebEnvironment.d.ts +0 -7
  482. package/dist/kernal/device/WebEnvironment.mjs +0 -22
  483. package/dist/kernal/device/WebPlatform.cjs +0 -1
  484. package/dist/kernal/device/WebPlatform.d.ts +0 -12
  485. package/dist/kernal/device/WebPlatform.mjs +0 -49
  486. package/dist/kernal/progress/IReadingProgressStore.d.ts +0 -7
  487. package/dist/kernal/progress/ReadingProgressStore.cjs +0 -1
  488. package/dist/kernal/progress/ReadingProgressStore.d.ts +0 -12
  489. package/dist/kernal/progress/ReadingProgressStore.mjs +0 -17
  490. package/dist/kernal/storage/IStorage.cjs +0 -1
  491. package/dist/kernal/storage/IStorage.d.ts +0 -21
  492. package/dist/kernal/storage/IStorage.mjs +0 -4
  493. package/dist/kernal/storage/WebStorage.cjs +0 -1
  494. package/dist/kernal/storage/WebStorage.d.ts +0 -31
  495. package/dist/kernal/storage/WebStorage.mjs +0 -165
  496. package/dist/mediaTypes/adjacent.cjs +0 -1
  497. package/dist/mediaTypes/adjacent.d.ts +0 -5
  498. package/dist/mediaTypes/adjacent.mjs +0 -42
  499. package/dist/mediaTypes/html/renderer/image/placeholder.cjs +0 -1
  500. package/dist/mediaTypes/html/renderer/image/placeholder.mjs +0 -4
  501. /package/dist/kernal/{device/IEnvironment.cjs → screen/IFullscreen.cjs} +0 -0
  502. /package/dist/kernal/{device/IEnvironment.mjs → screen/IFullscreen.mjs} +0 -0
  503. /package/dist/kernal/{Debounce.cjs → web/debounce.cjs} +0 -0
  504. /package/dist/kernal/{Debounce.d.ts → web/debounce.d.ts} +0 -0
  505. /package/dist/{kernal/device/IPlatform.cjs → mediaTypes/html/IHtmlSymbolMeasure.cjs} +0 -0
  506. /package/dist/{kernal/device/IPlatform.mjs → mediaTypes/html/IHtmlSymbolMeasure.mjs} +0 -0
  507. /package/dist/{kernal/progress/IReadingProgressStore.cjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.cjs} +0 -0
  508. /package/dist/{kernal/progress/IReadingProgressStore.mjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.mjs} +0 -0
@@ -1,16 +1,17 @@
1
- import { BrowserCapabilities as e } from "../../../kernal/web/BrowserCapabilities.mjs";
2
- import { Theme as t } from "../../../kernal/Theme.mjs";
3
- import { EventNames as n } from "../../../kernal/EventNames.mjs";
4
- import { getByteLength as r } from "../../../kernal/common/text.mjs";
5
- import { asyncDebounce as i } from "../../../kernal/Debounce.mjs";
6
- import * as a from "../../../pdfjs/legacy/build/pdf.mjs";
1
+ import { EventNames as e } from "../../../kernal/EventNames.mjs";
2
+ import { BrowserCapabilities as t } from "../../../kernal/web/BrowserCapabilities.mjs";
3
+ import { getByteLength as n } from "../../../kernal/common/text.mjs";
4
+ import { Theme as r } from "../../../kernal/Theme.mjs";
5
+ import { yieldToMain as i } from "../../../kernal/web/scheduler.mjs";
6
+ import { asyncDebounce as a } from "../../../kernal/web/debounce.mjs";
7
+ import * as o from "../../../pdfjs/legacy/build/pdf.mjs";
7
8
  //#region mediaTypes/pdf/renderer/PdfSvgBuilder.ts
8
- var o = class o {
9
+ var s = class s {
9
10
  static {
10
11
  this.svgClassName = "custom-text-layer";
11
12
  }
12
- constructor(s, c) {
13
- this.SVG_NS = "http://www.w3.org/2000/svg", this.pageTasks = [], this.builtPages = /* @__PURE__ */ new Map(), this.textContentCache = /* @__PURE__ */ new Map(), this.isScrolling = !1, this.scrollingTimer = null, this.disposed = !1, this.batchSize = 64, this.measureContext = null, this.isFirefox = e.isFirefox(), this.isSafari = e.isSafari(), this.renderLoopPromise = null, this.onReaderOriginalScroll = () => {
13
+ constructor(c, l) {
14
+ this.SVG_NS = "http://www.w3.org/2000/svg", this.pageTasks = [], this.builtPages = /* @__PURE__ */ new Map(), this.textContentCache = /* @__PURE__ */ new Map(), this.isScrolling = !1, this.scrollingTimer = null, this.disposed = !1, this.batchSize = 64, this.measureContext = null, this.isFirefox = t.isFirefox(), this.isSafari = t.isSafari(), this.renderLoopPromise = null, this.onReaderOriginalScroll = () => {
14
15
  this.isScrolling = !0, this.scrollingTimer && clearTimeout(this.scrollingTimer), this.scrollingTimer = setTimeout(async () => {
15
16
  this.isScrolling = !1, await this.delayRenderVisiblePageTexts();
16
17
  }, 500);
@@ -25,7 +26,7 @@ var o = class o {
25
26
  let e = this.getVisiblePageIdSet();
26
27
  this.removeInvisibleBuiltPages(e), await this.appendSvgs([...e]);
27
28
  }
28
- }, this.delayRenderVisiblePageTexts = i(this.renderVisiblePageTexts, 1), this.onPageRendered = async () => {
29
+ }, this.delayRenderVisiblePageTexts = a(this.renderVisiblePageTexts, 1), this.onPageRendered = async () => {
29
30
  let e = this.getVisiblePageIdSet();
30
31
  this.removeInvisibleBuiltPages(e), await this.delayRenderVisiblePageTexts();
31
32
  }, this.removeInvisibleBuiltPages = (e) => {
@@ -56,25 +57,25 @@ var o = class o {
56
57
  if (!n?.pdfPage) return null;
57
58
  let r = await n.pdfPage.getTextContent({ disableNormalization: !0 });
58
59
  return this.textContentCache.set(e, r), r;
59
- }, this.appendSvg = async (e) => {
60
- let r = this.renderer.getPageView(e);
61
- if (!r || this.options.textLayerMode != 2 || !r.canvas?.parentElement) return;
62
- r.canvas.parentElement.style.background = `var(${t.ContentBackground})`;
63
- let i = this.getTextLayerContainer(r);
60
+ }, this.appendSvg = async (t) => {
61
+ let n = this.renderer.getPageView(t);
62
+ if (!n || this.options.textLayerMode != 2 || !n.canvas?.parentElement) return;
63
+ n.canvas.parentElement.style.background = `var(${r.ContentBackground})`;
64
+ let i = this.getTextLayerContainer(n);
64
65
  if (i) {
65
- let t = i.getAttribute("data-state");
66
- if (t == "loading" || t == "loaded") {
67
- this.builtPages.set(e, i);
66
+ let e = i.getAttribute("data-state");
67
+ if (e == "loading" || e == "loaded") {
68
+ this.builtPages.set(t, i);
68
69
  return;
69
70
  }
70
71
  }
71
72
  if (!i) {
72
- if (i = await this.buildSVG(r.viewport), !i) return;
73
- r.div.appendChild(i);
73
+ if (i = await this.buildSVG(n.viewport), !i) return;
74
+ n.div.appendChild(i);
74
75
  }
75
- this.builtPages.set(e, i), await this.appendTexts(i, e);
76
- let a = this.renderer.getDocument((e - 1).toString());
77
- this.renderer.owner.events.emit(n.PdfPageTextRendered, a, e);
76
+ this.builtPages.set(t, i), await this.appendTexts(i, t);
77
+ let a = this.renderer.getDocument((t - 1).toString());
78
+ this.renderer.owner.events.emit(e.PdfPageTextRendered, a, t);
78
79
  }, this.appendSvgs = async (e) => {
79
80
  await Promise.all(e.map((e) => this.ensureTextContent(e)));
80
81
  for (let t of e) await this.appendSvg(t);
@@ -121,25 +122,25 @@ var o = class o {
121
122
  e.svg.getAttribute("data-state") != "pause" && e.svg.setAttribute("data-state", "pause");
122
123
  return;
123
124
  }
124
- let t = this.pageTasks.shift();
125
- if (t?.svg.parentElement) {
126
- if (t.svg.getAttribute("data-state") != "loading" && t.svg.setAttribute("data-state", "loading"), await e.yieldToMain(), this.disposed || !this.renderer.owner.context) return;
127
- await this.appendPartialText(t.pageNumber, t.svg, t.viewportTransform, t.textContent, t.start, t.size), t.batchLength - 1 == t.current && t.svg.setAttribute("data-state", "loaded");
125
+ let e = this.pageTasks.shift();
126
+ if (e?.svg.parentElement) {
127
+ if (e.svg.getAttribute("data-state") != "loading" && e.svg.setAttribute("data-state", "loading"), await i(), this.disposed || !this.renderer.owner.context) return;
128
+ await this.appendPartialText(e.pageNumber, e.svg, e.viewportTransform, e.textContent, e.start, e.size), e.batchLength - 1 == e.current && e.svg.setAttribute("data-state", "loaded");
128
129
  }
129
130
  }
130
- }, this.calcTextWidth = (e, t, n, i, a) => {
131
- let o = r(t) - t.length;
132
- return e.font = t.length <= 2 && o == 0 ? a == "monospace" ? "1px " + n + ",sans-serif" : "1px " + n + "," + i : "1px " + i, e.measureText(t).width;
133
- }, this.applyOrientedTextScale = (e, t, n, r, i, o, s) => {
134
- let c = o ? a.Util.transform(e, o) : e, l = o ? a.Util.transform(t, o) : t, u = n * (l[0] == 0 ? Math.abs(l[1]) : Math.abs(l[0])), d = u > 0 ? r / u / i : 1;
135
- return c = a.Util.transform(c, [
131
+ }, this.calcTextWidth = (e, t, r, i, a) => {
132
+ let o = n(t) - t.length;
133
+ return e.font = t.length <= 2 && o == 0 ? a == "monospace" ? "1px " + r + ",sans-serif" : "1px " + r + "," + i : "1px " + i, e.measureText(t).width;
134
+ }, this.applyOrientedTextScale = (e, t, n, r, i, a, s) => {
135
+ let c = a ? o.Util.transform(e, a) : e, l = a ? o.Util.transform(t, a) : t, u = n * (l[0] == 0 ? Math.abs(l[1]) : Math.abs(l[0])), d = u > 0 ? r / u / i : 1;
136
+ return c = o.Util.transform(c, [
136
137
  d,
137
138
  0,
138
139
  0,
139
140
  d,
140
141
  0,
141
142
  0
142
- ]), s ? a.Util.transform(c, s) : c;
143
+ ]), s ? o.Util.transform(c, s) : c;
143
144
  }, this.extractFontSizeFromTransform = (e, t) => {
144
145
  let n = Math.hypot(e[0], e[1]);
145
146
  return n > 1e-6 ? {
@@ -156,7 +157,7 @@ var o = class o {
156
157
  tx: e,
157
158
  fontSize: 1
158
159
  };
159
- }, this.appendPartialText = async (e, t, n, r, i, o) => {
160
+ }, this.appendPartialText = async (e, t, n, r, i, a) => {
160
161
  let s = this.getMeasureContext();
161
162
  if (!s) return;
162
163
  let c = this.isFirefox, l = this.isSafari, u = document.createDocumentFragment(), d = this.renderer.getRendererContainer().ownerDocument, f = this.renderer.owner.context?.id ?? "pdf", p = /* @__PURE__ */ new Map(), m = [
@@ -202,19 +203,19 @@ var o = class o {
202
203
  0,
203
204
  0
204
205
  ];
205
- for (let t = i; t < i + o; t++) {
206
+ for (let t = i; t < i + a; t++) {
206
207
  let i = r.items[t];
207
208
  if (!i || typeof i.str != "string") continue;
208
- let o = i.str, b = r.styles[i.fontName];
209
+ let a = i.str, b = r.styles[i.fontName];
209
210
  if (!b) continue;
210
- let x = a.Util.transform(a.Util.transform(n, i.transform), m), S = Math.atan2(i.transform[1], i.transform[0]) * (180 / Math.PI);
211
+ let x = o.Util.transform(o.Util.transform(n, i.transform), m), S = Math.atan2(i.transform[1], i.transform[0]) * (180 / Math.PI);
211
212
  b.vertical && (S += 90);
212
213
  let C = S < 0 ? S + 360 : S;
213
214
  C = Math.round(C);
214
215
  let w = p.get(b.fontFamily);
215
- if (w === void 0 && (w = b.fontFamily.replace(/^serif/, "Times"), p.set(b.fontFamily, w)), o.length > 0) {
216
+ if (w === void 0 && (w = b.fontFamily.replace(/^serif/, "Times"), p.set(b.fontFamily, w)), a.length > 0) {
216
217
  let e = i.textMetricsWidth;
217
- switch (e || (e = this.calcTextWidth(s, o, i.fontName, w, b.fontName), i.textMetricsWidth = e), C) {
218
+ switch (e || (e = this.calcTextWidth(s, a, i.fontName, w, b.fontName), i.textMetricsWidth = e), C) {
218
219
  case 90:
219
220
  x = this.applyOrientedTextScale(x, i.transform, e, i.width, 12, h, g);
220
221
  break;
@@ -234,37 +235,37 @@ var o = class o {
234
235
  let n = e.fontSize, r = d.createElementNS(this.SVG_NS, "svg:g");
235
236
  r.setAttribute("transform", "matrix(" + x.join(" ") + ")"), r.setAttribute("style", "font-family:" + w + ";");
236
237
  let i = d.createElementNS(this.SVG_NS, "svg:text");
237
- i.setAttribute("font-size", n + "px"), l && (i.setAttribute("transform", "translate(0,-" + n + ")"), i.setAttribute("x", "0"), i.setAttribute("y", n.toString())), i.textContent = o, i.setAttribute("id", T), i.setAttribute("data-text-index", String(t)), r.appendChild(i), u.appendChild(r);
238
+ i.setAttribute("font-size", n + "px"), l && (i.setAttribute("transform", "translate(0,-" + n + ")"), i.setAttribute("x", "0"), i.setAttribute("y", n.toString())), i.textContent = a, i.setAttribute("id", T), i.setAttribute("data-text-index", String(t)), r.appendChild(i), u.appendChild(r);
238
239
  } else {
239
240
  let e = d.createElementNS(this.SVG_NS, "svg:text");
240
- e.setAttribute("transform", "matrix(" + x.join(" ") + ")"), e.setAttribute("style", "font-size:12px;font-family:" + w + ";"), e.textContent = o, e.setAttribute("id", T), e.setAttribute("data-text-index", String(t)), u.appendChild(e);
241
+ e.setAttribute("transform", "matrix(" + x.join(" ") + ")"), e.setAttribute("style", "font-size:12px;font-family:" + w + ";"), e.textContent = a, e.setAttribute("id", T), e.setAttribute("data-text-index", String(t)), u.appendChild(e);
241
242
  }
242
243
  }
243
244
  t.appendChild(u);
244
245
  }, this.buildSVG = async (e) => {
245
246
  if (e.width <= 0 || e.height <= 0) return null;
246
247
  let t = this.renderer.getRendererContainer().ownerDocument.createElementNS(this.SVG_NS, "svg:svg");
247
- return t.setAttribute("version", "1.1"), t.setAttribute("xmlns", "http://www.w3.org/2000/svg"), t.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), t.setAttribute("class", o.svgClassName), t.setAttribute("data-loaded", "false"), t.setAttribute("style", "fill:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;contain:size layout paint;"), t;
248
- }, this.renderer = s, this.options = c;
248
+ return t.setAttribute("version", "1.1"), t.setAttribute("xmlns", "http://www.w3.org/2000/svg"), t.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), t.setAttribute("class", s.svgClassName), t.setAttribute("data-loaded", "false"), t.setAttribute("style", "fill:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;contain:size layout paint;"), t;
249
+ }, this.renderer = c, this.options = l;
249
250
  }
250
251
  async initialize() {
251
252
  this.bindEvents();
252
253
  }
253
254
  bindEvents() {
254
- let e = this.renderer.owner.events;
255
- e.on(n.PdfPageRendered, this.onPageRendered), e.on(n.PageChange, this.onPageChange), e.on(n.ReaderOriginalScroll, this.onReaderOriginalScroll);
255
+ let t = this.renderer.owner.events;
256
+ t.on(e.PdfPageRendered, this.onPageRendered), t.on(e.PageChange, this.onPageChange), t.on(e.ReaderOriginalScroll, this.onReaderOriginalScroll);
256
257
  }
257
258
  unbindEvents() {
258
- let e = this.renderer.owner.events;
259
- e.off(n.PdfPageRendered, this.onPageRendered), e.off(n.PageChange, this.onPageChange), e.off(n.ReaderOriginalScroll, this.onReaderOriginalScroll);
259
+ let t = this.renderer.owner.events;
260
+ t.off(e.PdfPageRendered, this.onPageRendered), t.off(e.PageChange, this.onPageChange), t.off(e.ReaderOriginalScroll, this.onReaderOriginalScroll);
260
261
  }
261
262
  async dispose() {
262
263
  this.disposed = !0, this.unbindEvents(), this.scrollingTimer &&= (clearTimeout(this.scrollingTimer), null), this.pageTasks.length = 0, this.builtPages.clear(), this.textContentCache.clear(), this.measureContext = null, this.renderLoopPromise = null;
263
264
  }
264
265
  getTextLayerContainer(e) {
265
- let t = o.svgClassName;
266
+ let t = s.svgClassName;
266
267
  return typeof e == "number" ? this.builtPages.get(e) ?? this.renderer.getPageView(e)?.div?.querySelector(`svg.${t}`) ?? null : "tagName" in e ? e.querySelector(`svg.${t}`) : e.div?.querySelector(`svg.${t}`) ?? null;
267
268
  }
268
269
  };
269
270
  //#endregion
270
- export { o as PdfSvgBuilder };
271
+ export { s as PdfSvgBuilder };
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../kernal/Theme.cjs"),n=require("../../../../kernal/EventNames.cjs"),r=require("../../../../kernal/common/text.cjs"),i=require("../../../../kernal/html/finder.cjs"),a=require("../../../../kernal/html/injector.cjs"),o=require("../../../../kernal/html/style.cjs"),s=require("../../../base/renderer/BaseDocumentsProvider.cjs"),c=require("../PdfViewerBuilder.cjs"),l=require("../PdfDocument.cjs"),u=require("../layout/PdfRendererViewport.cjs");let d=require("../../../../pdfjs/legacy/build/pdf.mjs");d=e.__toESM(d,1);let f=require("../../../../pdfjs/legacy/web/pdf_viewer.mjs");f=e.__toESM(f,1),require("../../../../pdfjs/legacy/web/pdf_viewer.css");let p=require("perfect-debounce");var m=class extends s.BaseDocumentsProvider{constructor(e,t,a,s){super(e,t),this.readerContainer=a,this.options=s,this.isInit=!1,this.isFirstLoad=!0,this.pdfDocument=null,this.isEngineInitialized=!1,this.delayOnAutoScaleResize=(0,p.debounce)(async()=>{await this.onAutoScaleResize()},100),this.resize=async()=>{this.eventBus.dispatch(`resize`,{source:this.readerContainer.ownerDocument.defaultView})},this.fillDocuments=()=>{this.documentItems=[],this.pdfViewer._pages.forEach(e=>{let t=e.spineFile?.url,n=new l.PdfDocument(this.owner,this.pdfViewer,this.fileParser,e.div,t,e.id);this.documentItems.push(n)})},this.reload=async()=>{let e=this.owner.context.currentLocation;r.isNullOrWhiteSpace(e?.url)||(e.scrollBehavior=`smooth`,await this.load(e,!0),e.scrollBehavior=void 0)},this.getSinglePdfPage=async(e,t)=>{let n=await this.fileParser.getPdfDocument(e);return{doc:n,page:await n.getPage(t)}},this.delayRedirect=async()=>{let e=this.owner.context.currentLocation;await this.redirect(e),this.isFirstLoad=!1,this.owner.events.off(n.EventNames.PdfPagesInit,this.delayRedirect)},this.redirect=async e=>{if(!e?.current)return;let t=e.current<1?Math.floor(e.current*this.numberOfPages):e.current;await this.gotoPageInternal(t,e.pdfDest,e.offsetTop,e?.ignoreOverlayHeader)},this.pageLoaded=(e,t)=>{let r=this.owner.context.currentLocation,a=i.getElementByNameAndIndex(e.getContentContainer(),r.tagName,r.tagIndex);this.gotoTargetElement(a,r),this.owner.events.off(n.EventNames.PdfPageTextRendered,this.pageLoaded),this.owner.events.emit(n.EventNames.PdfLoadFinished,{reader:this.owner})},this.gotoTargetElement=(e,t)=>{if(!e)return;o.scrollElementIntoView(e,void 0,void 0,this.owner.getRootContainer()?.ownerDocument);let n=0;if(t?.offsetTop&&(n+=t.offsetTop),n<=0)return;let r=this.getScrollElement();r.scrollHeight-r.scrollTop-r.clientHeight>0&&r.scrollTo(0,r.scrollTop-n)},this.setCurrentPageNumber=e=>{let t=this.pdfViewer,n=t.currentPageNumber;t.currentPageNumber=e;let r=t.currentScaleValue;this.options.resetScaleAfterPageChanged&&n!=e&&(r==`auto`||r==`page-fit`||r==`page-width`)&&(t.hasEqualPageSizes||t.rescrollIntoView(e))},this.logger=this.owner.loggerFactory.getLogger(this.constructor.name),this.rendererViewport=new u.PdfRendererViewport(e.getRootContainer(),a,this.options,()=>this.currentPage,()=>this.removePageBorders);let d=this.rendererViewport.getRendererContainer(),{pdfViewer:f,eventBus:m,linkService:h,findController:g,maxCanvasPixels:_,removePageBorders:v}=new c.PdfViewerBuilder(this.options).build(d);this.pdfViewer=f,this.eventBus=m,this.linkService=h,this.findController=g,this.maxCanvasPixels=_,this.removePageBorders=v}getViewerContainer(){return this.rendererViewport.getViewerContainer()}getEventBus(){return this.eventBus}getFindController(){return this.findController}getRendererContainer(){return this.rendererViewport.getRendererContainer()}getScrollElement(){return this.rendererViewport.getScrollElement()}hasPdfDocument(){return!!this.pdfDocument}async getProgress(e){}registerContainerResizeObserver(){this.containerResizeObserver||(this.containerResizeObserver&&=(this.containerResizeObserver.disconnect(),void 0),this.containerResizeObserver=new ResizeObserver(async e=>{if(this.owner.context){if(this.readerContainer.clientWidth==0||this.readerContainer.clientHeight==0){this.readerContainer.lhx_pdf_hidden&&(this.readerContainer.lhx_pdf_require_resize=`true`),this.readerContainer.lhx_pdf_hidden=`true`;return}if(this.readerContainer.clientWidth>0&&this.readerContainer.clientHeight>0&&this.readerContainer.lhx_pdf_hidden){if(this.readerContainer.lhx_pdf_hidden=void 0,!this.readerContainer.lhx_pdf_require_resize)return;this.readerContainer.lhx_pdf_require_resize=void 0}this.owner.context.setUserChangedProgress(!1),(this.pdfViewer.currentScaleValue==`auto`||this.pdfViewer.currentScaleValue==`page-fit`||this.pdfViewer.currentScaleValue==`page-width`)&&!this.isFirstLoad&&await this.delayOnAutoScaleResize(),this.rendererViewport.applyCssVariables(),this.owner.context&&this.owner.events.emit(n.EventNames.RendererContainerSizeChange,this.getRendererContainer(),this.owner.context.userChangedProgress)}}),this.containerResizeObserver.observe(this.readerContainer))}async onAutoScaleResize(){let e=this.getRendererContainer();this.owner.resourceIsUnload||e.clientWidth==0||e.clientHeight==0||await this.resize()}async createDocument(e,t,n){let r=n+1;return new l.PdfDocument(this.owner,this.pdfViewer,this.fileParser,e,t.url,r)}async load(e,t){let r=!0;try{if(this.owner.context.setUserChangedProgress(!t,e?.from),this.owner.context.currentLocation=e,e?.storeCurrent&&await this.owner.onBeforeRedirect?.(this),!this.isInit){this.owner.events.on(n.EventNames.PdfPagesInit,this.delayRedirect),await this.loadEngine(async()=>{this.fillDocuments(),this.isInit=!0,this.registerContainerResizeObserver()}),this.getRendererContainer().focus();return}r=await this.navigateToLocation(e)}finally{r&&this.owner.events.emit(n.EventNames.PdfLoadFinished,{reader:this.owner})}}async navigateToLocation(e){if(e?.url&&e.tagName&&e.tagIndex!=null){let t=this.getDocument(e.url),r=i.getElementByNameAndIndex(t.getContentContainer(),e.tagName,e.tagIndex);return r?(this.gotoTargetElement(r,e),!0):(this.owner.events.on(n.EventNames.PdfPageTextRendered,this.pageLoaded),!1)}let t=this.resolvePageNumber(e);return t==null||await this.gotoPageInternal(t,e?.pdfDest,e?.offsetTop,e?.ignoreOverlayHeader),!0}resolvePageNumber(e){if(e?.current)return e.current<1?Math.max(1,Math.ceil(e.current*this.numberOfPages)):e.current;if(e?.url){let t=this.getDocument(e.url);return t?this.getDocuments().indexOf(t)+1:null}return 1}async initializeEngine(){if(this.isEngineInitialized)return;let e=`.pdfViewer .canvasWrapper{position:absolute;left:0;top:0}
2
- .pdfViewer .page {background-color:var(${t.Theme.ContentBackground}) !important}`;a.injectCssContent(this.getRendererContainer().ownerDocument,e,!1,`custom-pdf-viewer-page-css`),this.eventBus.on(`pagesinit`,async()=>{!this.pdfViewer.currentScaleValue&&this.options.scaleValue&&(this.pdfViewer.currentScaleValue=this.options.scaleValue)}),this.isEngineInitialized=!0}async loadEngine(e){await this.closeEngine(),await this.initializeEngine();let t=await this.fileParser.getEntryFile(),r=await this.fileParser.getPdfDocument(t);if(this.pdfDocument=r,!this.fileParser.isMultiFiles){this.setPdfDocument(this.pdfDocument),await this.pdfDocument.getPage(1),this.pdfViewer.firstPagePromise&&await this.pdfViewer.firstPagePromise,e&&await e(),this.owner.events.emit(n.EventNames.PdfPagesInit,this);return}let i=await this.fileParser.getSpineFiles();if(this.setPdfDocument(this.pdfDocument,!1),this.pdfViewer.firstPagePromise){let e=await this.pdfViewer.firstPagePromise,n=this.pdfViewer._pages[0];if(n&&(n.spineFile=t),i.length>0){let t=e.getViewport({scale:this.pdfViewer.currentScale*d.PixelsPerInch.PDF_TO_CSS_UNITS}),n=this.createSpinePageViews(this.getViewerContainer(),i,t);await this.pdfViewer.setOtherPages(n,this.getSinglePdfPage)}}e&&await e(),this.owner.events.emit(n.EventNames.PdfPagesInit,this)}setPdfDocument(e,t=!0){this.pdfViewer.setDocument(e),t&&(e?(this.linkService.setDocument(e),this.findController.setDocument(e)):(this.linkService.setDocument(null,null),this.findController.setDocument(null)))}createSpinePageViews(e,t,n){let r=[];for(let i=2;i<t.length+1;i++){let a=new f.PDFPageView({container:e,eventBus:this.eventBus,id:i,scale:this.pdfViewer.currentScale,defaultViewport:n.clone(),renderingQueue:this.pdfViewer.renderingQueue,textLayerMode:+(this.options.textLayerMode==1),annotationMode:this.options.annotationMode,maxCanvasPixels:this.maxCanvasPixels});a.spineFile=t[i-1],r.push(a)}return r}async closeEngine(){this.pdfDocument&&(this.pdfDocument=null,this.setPdfDocument(null))}get numberOfPages(){return this.pdfViewer.pagesCount}get currentPage(){return this.pdfViewer?.currentPageNumber}set currentPage(e){this.setCurrentPageNumber(e)}setCurrentPage(e,t=!0){if(!t){this.pdfViewer._setCurrentPageNumber?.(e,!1);return}this.setCurrentPageNumber(e)}get isSpreadMode(){return this.pdfViewer?.spreadMode!==f.SpreadMode.NONE}async scrollToPage(e,t,n,r){if(t){let i=JSON.parse(t);if(this.pdfViewer.scrollPageIntoView({pageNumber:e,destArray:i,allowNegativeOffset:!0,ignoreDestinationZoom:!0}),this.getRendererContainer().scrollHeight>this.getRendererContainer().clientHeight+10){let e=0;if(r||(e+=this.owner.options.redirectPositionOffset),n&&(e+=n),e>0){let t=this.getScrollElement();t.scrollTo(0,t.scrollTop-e)}}}else this.setCurrentPageNumber(e)}async gotoPageInternal(e,t,n,r){let i=this.owner.locale;return e<=0?(this.owner.notifier.info(i.getText(`navigotor_alreadyisfirstpage`,`Already at the first page`)),!1):e>this.numberOfPages?(this.owner.notifier.info(i.getText(`navigotor_alreadyislastpage`,`Already at the last page`)),!1):(t?.indexOf(`Fit`)>=0?await this.scrollToPage(e,null,n,r):await this.scrollToPage(e,t,n,r),!0)}getLoadedDocuments(){let e=Array.from(this.pdfViewer.getCachedPageViews().values()).map(e=>e.id);return this.documentItems.filter(t=>e.includes(t.pageNumber))}getVisibleDocuments(){let e=this.pdfViewer._getVisiblePages(),t=Array.from(e.views.map(e=>e.id));return this.documentItems.filter(e=>t.includes(e.pageNumber))}getPageViews(){return this.pdfViewer._pages}getPageView(e){if(!(e<1))return this.pdfViewer.getPageView(e-1)}async getPdfPage(e){return!this.pdfDocument||e<1||e>this.numberOfPages?void 0:this.getPageView(e)?.pdfPage||this.pdfDocument.getPage(e)}async dispose(){this.owner.events.off(n.EventNames.PdfPagesInit,this.delayRedirect),this.owner.events.off(n.EventNames.PdfPageTextRendered,this.pageLoaded),this.containerResizeObserver?.disconnect(),this.containerResizeObserver=void 0,await this.closeEngine(),await this.pdfViewer.dispose(),await super.dispose()}};exports.PdfDocumentsProvider=m;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../kernal/EventNames.cjs"),n=require("../../../../kernal/common/text.cjs"),r=require("../../../../kernal/html/finder.cjs"),i=require("../../../../kernal/html/injector.cjs"),a=require("../../../../kernal/Theme.cjs"),o=require("../../../../kernal/html/style.cjs"),s=require("../../../base/renderer/BaseDocumentsProvider.cjs"),c=require("../PdfViewerBuilder.cjs"),l=require("./resolvePdfLocationPageNumber.cjs"),u=require("../PdfDocument.cjs"),d=require("../layout/PdfRendererViewport.cjs");let f=require("../../../../pdfjs/legacy/build/pdf.mjs");f=e.__toESM(f,1);let p=require("../../../../pdfjs/legacy/web/pdf_viewer.mjs");p=e.__toESM(p,1),require("../../../../pdfjs/legacy/web/pdf_viewer.css");let m=require("perfect-debounce");var h=class extends s.BaseDocumentsProvider{constructor(e,i,a,s){super(e,i),this.readerContainer=a,this.options=s,this.isInit=!1,this.isFirstLoad=!0,this.pdfDocument=null,this.isEngineInitialized=!1,this.delayOnAutoScaleResize=(0,m.debounce)(async()=>{await this.onAutoScaleResize()},100),this.resize=async()=>{this.eventBus.dispatch(`resize`,{source:this.readerContainer.ownerDocument.defaultView})},this.fillDocuments=()=>{this.documentItems=[],this.pdfViewer._pages.forEach(e=>{let t=e.spineFile?.url,n=new u.PdfDocument(this.owner,this.pdfViewer,this.fileParser,e.div,t,e.id);this.documentItems.push(n)})},this.reload=async()=>{let e=this.owner.context.currentLocation;n.isNullOrWhiteSpace(e?.url)||await this.load(e,!0)},this.getSinglePdfPage=async(e,t)=>{let n=await this.fileParser.getPdfDocument(e);return{doc:n,page:await n.getPage(t)}},this.delayRedirect=async()=>{let e=this.owner.context.currentLocation;await this.redirect(e),this.isFirstLoad=!1,this.owner.events.off(t.EventNames.PdfPagesInit,this.delayRedirect)},this.redirect=async e=>{if(!e?.current)return;let t=e.current<1?Math.floor(e.current*this.numberOfPages):e.current;await this.gotoPageInternal(t,e.pdfDest,e.offsetTop,e?.ignoreOverlayHeader)},this.pageLoaded=(e,n)=>{let i=this.owner.context.currentLocation,a=r.getElementByNameAndIndex(e.getContentContainer(),i.tagName,i.tagIndex);this.gotoTargetElement(a,i),this.owner.events.off(t.EventNames.PdfPageTextRendered,this.pageLoaded),this.owner.events.emit(t.EventNames.PdfLoadFinished,{reader:this.owner})},this.gotoTargetElement=(e,t)=>{if(!e)return;o.scrollElementIntoView(e,void 0,void 0,this.owner.getRootContainer()?.ownerDocument);let n=0;if(t?.offsetTop&&(n+=t.offsetTop),n<=0)return;let r=this.getScrollElement();r.scrollHeight-r.scrollTop-r.clientHeight>0&&r.scrollTo(0,r.scrollTop-n)},this.setCurrentPageNumber=e=>{let t=this.pdfViewer,n=t.currentPageNumber;t.currentPageNumber=e;let r=t.currentScaleValue;this.options.resetScaleAfterPageChanged&&n!=e&&(r==`auto`||r==`page-fit`||r==`page-width`)&&(t.hasEqualPageSizes||t.rescrollIntoView(e))},this.logger=this.owner.loggerFactory.getLogger(this.constructor.name),this.rendererViewport=new d.PdfRendererViewport(e.getRootContainer(),a,this.options,()=>this.currentPage,()=>this.removePageBorders);let l=this.rendererViewport.getRendererContainer(),{pdfViewer:f,eventBus:p,linkService:h,findController:g,maxCanvasPixels:_,removePageBorders:v}=new c.PdfViewerBuilder(this.options).build(l);this.pdfViewer=f,this.eventBus=p,this.linkService=h,this.findController=g,this.maxCanvasPixels=_,this.removePageBorders=v}getViewerContainer(){return this.rendererViewport.getViewerContainer()}getEventBus(){return this.eventBus}getFindController(){return this.findController}getRendererContainer(){return this.rendererViewport.getRendererContainer()}getScrollElement(){return this.rendererViewport.getScrollElement()}hasPdfDocument(){return!!this.pdfDocument}async getProgress(e){}registerContainerResizeObserver(){this.containerResizeObserver||(this.containerResizeObserver&&=(this.containerResizeObserver.disconnect(),void 0),this.containerResizeObserver=new ResizeObserver(async e=>{if(this.owner.context){if(this.readerContainer.clientWidth==0||this.readerContainer.clientHeight==0){this.readerContainer.foxycape_document_hidden&&(this.readerContainer.foxycape_document_require_resize=`true`),this.readerContainer.foxycape_document_hidden=`true`;return}if(this.readerContainer.clientWidth>0&&this.readerContainer.clientHeight>0&&this.readerContainer.foxycape_document_hidden){if(this.readerContainer.foxycape_document_hidden=void 0,!this.readerContainer.foxycape_document_require_resize)return;this.readerContainer.foxycape_document_require_resize=void 0}this.owner.context.setUserChangedProgress(!1),(this.pdfViewer.currentScaleValue==`auto`||this.pdfViewer.currentScaleValue==`page-fit`||this.pdfViewer.currentScaleValue==`page-width`)&&!this.isFirstLoad&&await this.delayOnAutoScaleResize(),this.rendererViewport.applyCssVariables(),this.owner.context&&this.owner.events.emit(t.EventNames.RendererContainerSizeChange,this.getRendererContainer(),this.owner.context.userChangedProgress)}}),this.containerResizeObserver.observe(this.readerContainer))}async onAutoScaleResize(){let e=this.getRendererContainer();this.owner.resourceIsUnload||e.clientWidth==0||e.clientHeight==0||await this.resize()}async createDocument(e,t,n){let r=n+1;return new u.PdfDocument(this.owner,this.pdfViewer,this.fileParser,e,t.url,r)}async load(e,n){let r=!0;try{if(this.owner.context.setUserChangedProgress(!n,e?.from),this.owner.context.currentLocation=e,e?.storeCurrent&&await this.owner.onBeforeRedirect?.(this),!this.isInit){this.owner.events.on(t.EventNames.PdfPagesInit,this.delayRedirect),await this.loadEngine(async()=>{this.fillDocuments(),this.isInit=!0,this.registerContainerResizeObserver()}),this.getRendererContainer().focus();return}r=await this.navigateToLocation(e)}finally{r&&this.owner.events.emit(t.EventNames.PdfLoadFinished,{reader:this.owner})}}async navigateToLocation(e){if(e?.url&&e.tagName&&e.tagIndex!=null){let n=this.getDocument(e.url),i=r.getElementByNameAndIndex(n.getContentContainer(),e.tagName,e.tagIndex);return i?(this.gotoTargetElement(i,e),!0):(this.owner.events.on(t.EventNames.PdfPageTextRendered,this.pageLoaded),!1)}let n=this.resolvePageNumber(e);return n==null||await this.gotoPageInternal(n,e?.pdfDest,e?.offsetTop,e?.ignoreOverlayHeader),!0}resolvePageNumber(e){return l.resolvePdfLocationPageNumber(e,this.numberOfPages,e=>{let t=this.getDocument(e);return t?this.getDocuments().indexOf(t)+1:null})}async initializeEngine(){if(this.isEngineInitialized)return;let e=`.pdfViewer .canvasWrapper{position:absolute;left:0;top:0}
2
+ .pdfViewer .page {background-color:var(${a.Theme.ContentBackground}) !important}`;i.injectCssContent(this.getRendererContainer().ownerDocument,e,!1,`custom-pdf-viewer-page-css`),this.eventBus.on(`pagesinit`,async()=>{!this.pdfViewer.currentScaleValue&&this.options.scaleValue&&(this.pdfViewer.currentScaleValue=this.options.scaleValue)}),this.isEngineInitialized=!0}async loadEngine(e){await this.closeEngine(),await this.initializeEngine();let n=await this.fileParser.getEntryFile(),r=await this.fileParser.getPdfDocument(n);if(this.pdfDocument=r,!this.fileParser.isMultiFiles){this.setPdfDocument(this.pdfDocument),await this.pdfDocument.getPage(1),this.pdfViewer.firstPagePromise&&await this.pdfViewer.firstPagePromise,e&&await e(),this.owner.events.emit(t.EventNames.PdfPagesInit,this);return}let i=await this.fileParser.getSpineFiles();if(this.setPdfDocument(this.pdfDocument,!1),this.pdfViewer.firstPagePromise){let e=await this.pdfViewer.firstPagePromise,t=this.pdfViewer._pages[0];if(t&&(t.spineFile=n),i.length>0){let t=e.getViewport({scale:this.pdfViewer.currentScale*f.PixelsPerInch.PDF_TO_CSS_UNITS}),n=this.createSpinePageViews(this.getViewerContainer(),i,t);await this.pdfViewer.setOtherPages(n,this.getSinglePdfPage)}}e&&await e(),this.owner.events.emit(t.EventNames.PdfPagesInit,this)}setPdfDocument(e,t=!0){this.pdfViewer.setDocument(e),t&&(e?(this.linkService.setDocument(e),this.findController.setDocument(e)):(this.linkService.setDocument(null,null),this.findController.setDocument(null)))}createSpinePageViews(e,t,n){let r=[];for(let i=2;i<t.length+1;i++){let a=new p.PDFPageView({container:e,eventBus:this.eventBus,id:i,scale:this.pdfViewer.currentScale,defaultViewport:n.clone(),renderingQueue:this.pdfViewer.renderingQueue,textLayerMode:+(this.options.textLayerMode==1),annotationMode:this.options.annotationMode,maxCanvasPixels:this.maxCanvasPixels});a.spineFile=t[i-1],r.push(a)}return r}async closeEngine(){this.pdfDocument&&(this.pdfDocument=null,this.setPdfDocument(null))}get numberOfPages(){return this.pdfViewer.pagesCount}get currentPage(){return this.pdfViewer?.currentPageNumber}set currentPage(e){this.setCurrentPageNumber(e)}setCurrentPage(e,t=!0){if(!t){this.pdfViewer._setCurrentPageNumber?.(e,!1);return}this.setCurrentPageNumber(e)}get isSpreadMode(){return this.pdfViewer?.spreadMode!==p.SpreadMode.NONE}async scrollToPage(e,t,n,r){if(t){let i=JSON.parse(t);if(this.pdfViewer.scrollPageIntoView({pageNumber:e,destArray:i,allowNegativeOffset:!0,ignoreDestinationZoom:!0}),this.getRendererContainer().scrollHeight>this.getRendererContainer().clientHeight+10){let e=0;if(r||(e+=this.owner.options.redirectPositionOffset),n&&(e+=n),e>0){let t=this.getScrollElement();t.scrollTo(0,t.scrollTop-e)}}}else this.setCurrentPageNumber(e)}async gotoPageInternal(e,t,n,r){let i=this.owner.locale;return e<=0?(this.owner.notifier.info(i.getText(`navigotor_alreadyisfirstpage`,`Already at the first page`)),!1):e>this.numberOfPages?(this.owner.notifier.info(i.getText(`navigotor_alreadyislastpage`,`You have reached the end of the book.`)),!1):(t?.indexOf(`Fit`)>=0?await this.scrollToPage(e,null,n,r):await this.scrollToPage(e,t,n,r),!0)}getLoadedDocuments(){let e=Array.from(this.pdfViewer.getCachedPageViews().values()).map(e=>e.id);return this.documentItems.filter(t=>e.includes(t.pageNumber))}getVisibleDocuments(){let e=this.pdfViewer._getVisiblePages(),t=Array.from(e.views.map(e=>e.id));return this.documentItems.filter(e=>t.includes(e.pageNumber))}getPageViews(){return this.pdfViewer._pages}getPageView(e){if(!(e<1))return this.pdfViewer.getPageView(e-1)}async getPdfPage(e){return!this.pdfDocument||e<1||e>this.numberOfPages?void 0:this.getPageView(e)?.pdfPage||this.pdfDocument.getPage(e)}async dispose(){this.owner.events.off(t.EventNames.PdfPagesInit,this.delayRedirect),this.owner.events.off(t.EventNames.PdfPageTextRendered,this.pageLoaded),this.containerResizeObserver?.disconnect(),this.containerResizeObserver=void 0,await this.closeEngine(),await this.pdfViewer.dispose(),await super.dispose()}};exports.PdfDocumentsProvider=h;
@@ -1,32 +1,33 @@
1
- import { Theme as e } from "../../../../kernal/Theme.mjs";
2
- import { EventNames as t } from "../../../../kernal/EventNames.mjs";
3
- import { isNullOrWhiteSpace as n } from "../../../../kernal/common/text.mjs";
4
- import { getElementByNameAndIndex as r } from "../../../../kernal/html/finder.mjs";
5
- import { injectCssContent as i } from "../../../../kernal/html/injector.mjs";
6
- import { asyncDebounce as a } from "../../../../kernal/Debounce.mjs";
1
+ import { EventNames as e } from "../../../../kernal/EventNames.mjs";
2
+ import { isNullOrWhiteSpace as t } from "../../../../kernal/common/text.mjs";
3
+ import { getElementByNameAndIndex as n } from "../../../../kernal/html/finder.mjs";
4
+ import { injectCssContent as r } from "../../../../kernal/html/injector.mjs";
5
+ import { Theme as i } from "../../../../kernal/Theme.mjs";
6
+ import { asyncDebounce as a } from "../../../../kernal/web/debounce.mjs";
7
7
  import { scrollElementIntoView as o } from "../../../../kernal/html/style.mjs";
8
8
  import { BaseDocumentsProvider as s } from "../../../base/renderer/BaseDocumentsProvider.mjs";
9
9
  import { PdfViewerBuilder as c } from "../PdfViewerBuilder.mjs";
10
- import { PdfDocument as l } from "../PdfDocument.mjs";
11
- import { PdfRendererViewport as u } from "../layout/PdfRendererViewport.mjs";
12
- import * as d from "../../../../pdfjs/legacy/build/pdf.mjs";
13
- import * as f from "../../../../pdfjs/legacy/web/pdf_viewer.mjs";
10
+ import { resolvePdfLocationPageNumber as l } from "./resolvePdfLocationPageNumber.mjs";
11
+ import { PdfDocument as u } from "../PdfDocument.mjs";
12
+ import { PdfRendererViewport as d } from "../layout/PdfRendererViewport.mjs";
13
+ import * as f from "../../../../pdfjs/legacy/build/pdf.mjs";
14
+ import * as p from "../../../../pdfjs/legacy/web/pdf_viewer.mjs";
14
15
  import "../../../../pdfjs/legacy/web/pdf_viewer.css";
15
16
  //#region mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.ts
16
- var p = class extends s {
17
- constructor(e, i, s, d) {
18
- super(e, i), this.readerContainer = s, this.options = d, this.isInit = !1, this.isFirstLoad = !0, this.pdfDocument = null, this.isEngineInitialized = !1, this.delayOnAutoScaleResize = a(async () => {
17
+ var m = class extends s {
18
+ constructor(r, i, s, l) {
19
+ super(r, i), this.readerContainer = s, this.options = l, this.isInit = !1, this.isFirstLoad = !0, this.pdfDocument = null, this.isEngineInitialized = !1, this.delayOnAutoScaleResize = a(async () => {
19
20
  await this.onAutoScaleResize();
20
21
  }, 100), this.resize = async () => {
21
22
  this.eventBus.dispatch("resize", { source: this.readerContainer.ownerDocument.defaultView });
22
23
  }, this.fillDocuments = () => {
23
24
  this.documentItems = [], this.pdfViewer._pages.forEach((e) => {
24
- let t = e.spineFile?.url, n = new l(this.owner, this.pdfViewer, this.fileParser, e.div, t, e.id);
25
+ let t = e.spineFile?.url, n = new u(this.owner, this.pdfViewer, this.fileParser, e.div, t, e.id);
25
26
  this.documentItems.push(n);
26
27
  });
27
28
  }, this.reload = async () => {
28
29
  let e = this.owner.context.currentLocation;
29
- n(e?.url) || (e.scrollBehavior = "smooth", await this.load(e, !0), e.scrollBehavior = void 0);
30
+ t(e?.url) || await this.load(e, !0);
30
31
  }, this.getSinglePdfPage = async (e, t) => {
31
32
  let n = await this.fileParser.getPdfDocument(e);
32
33
  return {
@@ -34,15 +35,15 @@ var p = class extends s {
34
35
  page: await n.getPage(t)
35
36
  };
36
37
  }, this.delayRedirect = async () => {
37
- let e = this.owner.context.currentLocation;
38
- await this.redirect(e), this.isFirstLoad = !1, this.owner.events.off(t.PdfPagesInit, this.delayRedirect);
38
+ let t = this.owner.context.currentLocation;
39
+ await this.redirect(t), this.isFirstLoad = !1, this.owner.events.off(e.PdfPagesInit, this.delayRedirect);
39
40
  }, this.redirect = async (e) => {
40
41
  if (!e?.current) return;
41
42
  let t = e.current < 1 ? Math.floor(e.current * this.numberOfPages) : e.current;
42
43
  await this.gotoPageInternal(t, e.pdfDest, e.offsetTop, e?.ignoreOverlayHeader);
43
- }, this.pageLoaded = (e, n) => {
44
- let i = this.owner.context.currentLocation, a = r(e.getContentContainer(), i.tagName, i.tagIndex);
45
- this.gotoTargetElement(a, i), this.owner.events.off(t.PdfPageTextRendered, this.pageLoaded), this.owner.events.emit(t.PdfLoadFinished, { reader: this.owner });
44
+ }, this.pageLoaded = (t, r) => {
45
+ let i = this.owner.context.currentLocation, a = n(t.getContentContainer(), i.tagName, i.tagIndex);
46
+ this.gotoTargetElement(a, i), this.owner.events.off(e.PdfPageTextRendered, this.pageLoaded), this.owner.events.emit(e.PdfLoadFinished, { reader: this.owner });
46
47
  }, this.gotoTargetElement = (e, t) => {
47
48
  if (!e) return;
48
49
  o(e, void 0, void 0, this.owner.getRootContainer()?.ownerDocument);
@@ -55,7 +56,7 @@ var p = class extends s {
55
56
  t.currentPageNumber = e;
56
57
  let r = t.currentScaleValue;
57
58
  this.options.resetScaleAfterPageChanged && n != e && (r == "auto" || r == "page-fit" || r == "page-width") && (t.hasEqualPageSizes || t.rescrollIntoView(e));
58
- }, this.logger = this.owner.loggerFactory.getLogger(this.constructor.name), this.rendererViewport = new u(e.getRootContainer(), s, this.options, () => this.currentPage, () => this.removePageBorders);
59
+ }, this.logger = this.owner.loggerFactory.getLogger(this.constructor.name), this.rendererViewport = new d(r.getRootContainer(), s, this.options, () => this.currentPage, () => this.removePageBorders);
59
60
  let f = this.rendererViewport.getRendererContainer(), { pdfViewer: p, eventBus: m, linkService: h, findController: g, maxCanvasPixels: _, removePageBorders: v } = new c(this.options).build(f);
60
61
  this.pdfViewer = p, this.eventBus = m, this.linkService = h, this.findController = g, this.maxCanvasPixels = _, this.removePageBorders = v;
61
62
  }
@@ -79,17 +80,17 @@ var p = class extends s {
79
80
  }
80
81
  async getProgress(e) {}
81
82
  registerContainerResizeObserver() {
82
- this.containerResizeObserver || (this.containerResizeObserver &&= (this.containerResizeObserver.disconnect(), void 0), this.containerResizeObserver = new ResizeObserver(async (e) => {
83
+ this.containerResizeObserver || (this.containerResizeObserver &&= (this.containerResizeObserver.disconnect(), void 0), this.containerResizeObserver = new ResizeObserver(async (t) => {
83
84
  if (this.owner.context) {
84
85
  if (this.readerContainer.clientWidth == 0 || this.readerContainer.clientHeight == 0) {
85
- this.readerContainer.lhx_pdf_hidden && (this.readerContainer.lhx_pdf_require_resize = "true"), this.readerContainer.lhx_pdf_hidden = "true";
86
+ this.readerContainer.foxycape_document_hidden && (this.readerContainer.foxycape_document_require_resize = "true"), this.readerContainer.foxycape_document_hidden = "true";
86
87
  return;
87
88
  }
88
- if (this.readerContainer.clientWidth > 0 && this.readerContainer.clientHeight > 0 && this.readerContainer.lhx_pdf_hidden) {
89
- if (this.readerContainer.lhx_pdf_hidden = void 0, !this.readerContainer.lhx_pdf_require_resize) return;
90
- this.readerContainer.lhx_pdf_require_resize = void 0;
89
+ if (this.readerContainer.clientWidth > 0 && this.readerContainer.clientHeight > 0 && this.readerContainer.foxycape_document_hidden) {
90
+ if (this.readerContainer.foxycape_document_hidden = void 0, !this.readerContainer.foxycape_document_require_resize) return;
91
+ this.readerContainer.foxycape_document_require_resize = void 0;
91
92
  }
92
- this.owner.context.setUserChangedProgress(!1), (this.pdfViewer.currentScaleValue == "auto" || this.pdfViewer.currentScaleValue == "page-fit" || this.pdfViewer.currentScaleValue == "page-width") && !this.isFirstLoad && await this.delayOnAutoScaleResize(), this.rendererViewport.applyCssVariables(), this.owner.context && this.owner.events.emit(t.RendererContainerSizeChange, this.getRendererContainer(), this.owner.context.userChangedProgress);
93
+ this.owner.context.setUserChangedProgress(!1), (this.pdfViewer.currentScaleValue == "auto" || this.pdfViewer.currentScaleValue == "page-fit" || this.pdfViewer.currentScaleValue == "page-width") && !this.isFirstLoad && await this.delayOnAutoScaleResize(), this.rendererViewport.applyCssVariables(), this.owner.context && this.owner.events.emit(e.RendererContainerSizeChange, this.getRendererContainer(), this.owner.context.userChangedProgress);
93
94
  }
94
95
  }), this.containerResizeObserver.observe(this.readerContainer));
95
96
  }
@@ -99,62 +100,60 @@ var p = class extends s {
99
100
  }
100
101
  async createDocument(e, t, n) {
101
102
  let r = n + 1;
102
- return new l(this.owner, this.pdfViewer, this.fileParser, e, t.url, r);
103
+ return new u(this.owner, this.pdfViewer, this.fileParser, e, t.url, r);
103
104
  }
104
- async load(e, n) {
105
+ async load(t, n) {
105
106
  let r = !0;
106
107
  try {
107
- if (this.owner.context.setUserChangedProgress(!n, e?.from), this.owner.context.currentLocation = e, e?.storeCurrent && await this.owner.onBeforeRedirect?.(this), !this.isInit) {
108
- this.owner.events.on(t.PdfPagesInit, this.delayRedirect), await this.loadEngine(async () => {
108
+ if (this.owner.context.setUserChangedProgress(!n, t?.from), this.owner.context.currentLocation = t, t?.storeCurrent && await this.owner.onBeforeRedirect?.(this), !this.isInit) {
109
+ this.owner.events.on(e.PdfPagesInit, this.delayRedirect), await this.loadEngine(async () => {
109
110
  this.fillDocuments(), this.isInit = !0, this.registerContainerResizeObserver();
110
111
  }), this.getRendererContainer().focus();
111
112
  return;
112
113
  }
113
- r = await this.navigateToLocation(e);
114
+ r = await this.navigateToLocation(t);
114
115
  } finally {
115
- r && this.owner.events.emit(t.PdfLoadFinished, { reader: this.owner });
116
+ r && this.owner.events.emit(e.PdfLoadFinished, { reader: this.owner });
116
117
  }
117
118
  }
118
- async navigateToLocation(e) {
119
- if (e?.url && e.tagName && e.tagIndex != null) {
120
- let n = this.getDocument(e.url), i = r(n.getContentContainer(), e.tagName, e.tagIndex);
121
- return i ? (this.gotoTargetElement(i, e), !0) : (this.owner.events.on(t.PdfPageTextRendered, this.pageLoaded), !1);
119
+ async navigateToLocation(t) {
120
+ if (t?.url && t.tagName && t.tagIndex != null) {
121
+ let r = this.getDocument(t.url), i = n(r.getContentContainer(), t.tagName, t.tagIndex);
122
+ return i ? (this.gotoTargetElement(i, t), !0) : (this.owner.events.on(e.PdfPageTextRendered, this.pageLoaded), !1);
122
123
  }
123
- let n = this.resolvePageNumber(e);
124
- return n == null || await this.gotoPageInternal(n, e?.pdfDest, e?.offsetTop, e?.ignoreOverlayHeader), !0;
124
+ let r = this.resolvePageNumber(t);
125
+ return r == null || await this.gotoPageInternal(r, t?.pdfDest, t?.offsetTop, t?.ignoreOverlayHeader), !0;
125
126
  }
126
127
  resolvePageNumber(e) {
127
- if (e?.current) return e.current < 1 ? Math.max(1, Math.ceil(e.current * this.numberOfPages)) : e.current;
128
- if (e?.url) {
129
- let t = this.getDocument(e.url);
128
+ return l(e, this.numberOfPages, (e) => {
129
+ let t = this.getDocument(e);
130
130
  return t ? this.getDocuments().indexOf(t) + 1 : null;
131
- }
132
- return 1;
131
+ });
133
132
  }
134
133
  async initializeEngine() {
135
134
  if (this.isEngineInitialized) return;
136
- let t = `.pdfViewer .canvasWrapper{position:absolute;left:0;top:0}
137
- .pdfViewer .page {background-color:var(${e.ContentBackground}) !important}`;
138
- i(this.getRendererContainer().ownerDocument, t, !1, "custom-pdf-viewer-page-css"), this.eventBus.on("pagesinit", async () => {
135
+ let e = `.pdfViewer .canvasWrapper{position:absolute;left:0;top:0}
136
+ .pdfViewer .page {background-color:var(${i.ContentBackground}) !important}`;
137
+ r(this.getRendererContainer().ownerDocument, e, !1, "custom-pdf-viewer-page-css"), this.eventBus.on("pagesinit", async () => {
139
138
  !this.pdfViewer.currentScaleValue && this.options.scaleValue && (this.pdfViewer.currentScaleValue = this.options.scaleValue);
140
139
  }), this.isEngineInitialized = !0;
141
140
  }
142
- async loadEngine(e) {
141
+ async loadEngine(t) {
143
142
  await this.closeEngine(), await this.initializeEngine();
144
143
  let n = await this.fileParser.getEntryFile(), r = await this.fileParser.getPdfDocument(n);
145
144
  if (this.pdfDocument = r, !this.fileParser.isMultiFiles) {
146
- this.setPdfDocument(this.pdfDocument), await this.pdfDocument.getPage(1), this.pdfViewer.firstPagePromise && await this.pdfViewer.firstPagePromise, e && await e(), this.owner.events.emit(t.PdfPagesInit, this);
145
+ this.setPdfDocument(this.pdfDocument), await this.pdfDocument.getPage(1), this.pdfViewer.firstPagePromise && await this.pdfViewer.firstPagePromise, t && await t(), this.owner.events.emit(e.PdfPagesInit, this);
147
146
  return;
148
147
  }
149
148
  let i = await this.fileParser.getSpineFiles();
150
149
  if (this.setPdfDocument(this.pdfDocument, !1), this.pdfViewer.firstPagePromise) {
151
150
  let e = await this.pdfViewer.firstPagePromise, t = this.pdfViewer._pages[0];
152
151
  if (t && (t.spineFile = n), i.length > 0) {
153
- let t = e.getViewport({ scale: this.pdfViewer.currentScale * d.PixelsPerInch.PDF_TO_CSS_UNITS }), n = this.createSpinePageViews(this.getViewerContainer(), i, t);
152
+ let t = e.getViewport({ scale: this.pdfViewer.currentScale * f.PixelsPerInch.PDF_TO_CSS_UNITS }), n = this.createSpinePageViews(this.getViewerContainer(), i, t);
154
153
  await this.pdfViewer.setOtherPages(n, this.getSinglePdfPage);
155
154
  }
156
155
  }
157
- e && await e(), this.owner.events.emit(t.PdfPagesInit, this);
156
+ t && await t(), this.owner.events.emit(e.PdfPagesInit, this);
158
157
  }
159
158
  setPdfDocument(e, t = !0) {
160
159
  this.pdfViewer.setDocument(e), t && (e ? (this.linkService.setDocument(e), this.findController.setDocument(e)) : (this.linkService.setDocument(null, null), this.findController.setDocument(null)));
@@ -162,7 +161,7 @@ var p = class extends s {
162
161
  createSpinePageViews(e, t, n) {
163
162
  let r = [];
164
163
  for (let i = 2; i < t.length + 1; i++) {
165
- let a = new f.PDFPageView({
164
+ let a = new p.PDFPageView({
166
165
  container: e,
167
166
  eventBus: this.eventBus,
168
167
  id: i,
@@ -197,7 +196,7 @@ var p = class extends s {
197
196
  this.setCurrentPageNumber(e);
198
197
  }
199
198
  get isSpreadMode() {
200
- return this.pdfViewer?.spreadMode !== f.SpreadMode.NONE;
199
+ return this.pdfViewer?.spreadMode !== p.SpreadMode.NONE;
201
200
  }
202
201
  async scrollToPage(e, t, n, r) {
203
202
  if (t) {
@@ -218,7 +217,7 @@ var p = class extends s {
218
217
  }
219
218
  async gotoPageInternal(e, t, n, r) {
220
219
  let i = this.owner.locale;
221
- return e <= 0 ? (this.owner.notifier.info(i.getText("navigotor_alreadyisfirstpage", "Already at the first page")), !1) : e > this.numberOfPages ? (this.owner.notifier.info(i.getText("navigotor_alreadyislastpage", "Already at the last page")), !1) : (t?.indexOf("Fit") >= 0 ? await this.scrollToPage(e, null, n, r) : await this.scrollToPage(e, t, n, r), !0);
220
+ return e <= 0 ? (this.owner.notifier.info(i.getText("navigotor_alreadyisfirstpage", "Already at the first page")), !1) : e > this.numberOfPages ? (this.owner.notifier.info(i.getText("navigotor_alreadyislastpage", "You have reached the end of the book.")), !1) : (t?.indexOf("Fit") >= 0 ? await this.scrollToPage(e, null, n, r) : await this.scrollToPage(e, t, n, r), !0);
222
221
  }
223
222
  getLoadedDocuments() {
224
223
  let e = Array.from(this.pdfViewer.getCachedPageViews().values()).map((e) => e.id);
@@ -238,8 +237,8 @@ var p = class extends s {
238
237
  return !this.pdfDocument || e < 1 || e > this.numberOfPages ? void 0 : this.getPageView(e)?.pdfPage || this.pdfDocument.getPage(e);
239
238
  }
240
239
  async dispose() {
241
- this.owner.events.off(t.PdfPagesInit, this.delayRedirect), this.owner.events.off(t.PdfPageTextRendered, this.pageLoaded), this.containerResizeObserver?.disconnect(), this.containerResizeObserver = void 0, await this.closeEngine(), await this.pdfViewer.dispose(), await super.dispose();
240
+ this.owner.events.off(e.PdfPagesInit, this.delayRedirect), this.owner.events.off(e.PdfPageTextRendered, this.pageLoaded), this.containerResizeObserver?.disconnect(), this.containerResizeObserver = void 0, await this.closeEngine(), await this.pdfViewer.dispose(), await super.dispose();
242
241
  }
243
242
  };
244
243
  //#endregion
245
- export { p as PdfDocumentsProvider };
244
+ export { m as PdfDocumentsProvider };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t,n)=>{if(!e)return 1;let r=e.unit??`ratio`,i=()=>{if(!e.url)return 1;let t=n?.(e.url);return t===void 0?1:t};return r===`page`&&e.current!=null&&e.current>=1?e.current:r===`symbol`?i():e.current?e.current<1?Math.max(1,Math.ceil(e.current*t)):e.current:i()};exports.resolvePdfLocationPageNumber=e;
@@ -0,0 +1,3 @@
1
+ import { FileLocation } from '../../../../kernal';
2
+
3
+ export declare const resolvePdfLocationPageNumber: (location: FileLocation | undefined, numberOfPages: number, pageFromUrl?: (url: string) => number | null) => number | null;
@@ -0,0 +1,12 @@
1
+ //#region mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.ts
2
+ var e = (e, t, n) => {
3
+ if (!e) return 1;
4
+ let r = e.unit ?? "ratio", i = () => {
5
+ if (!e.url) return 1;
6
+ let t = n?.(e.url);
7
+ return t === void 0 ? 1 : t;
8
+ };
9
+ return r === "page" && e.current != null && e.current >= 1 ? e.current : r === "symbol" ? i() : e.current ? e.current < 1 ? Math.max(1, Math.ceil(e.current * t)) : e.current : i();
10
+ };
11
+ //#endregion
12
+ export { e as resolvePdfLocationPageNumber };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("../../../../kernal/navigator/IPagingNavigator.cjs");var n=class{constructor(n,r,i,a){this.events=n,this.eventBus=r,this.renderer=i,this.pdfViewer=a,this.onPagesLoaded=async()=>{this.events.emit(e.EventNames.PdfPagesLoaded,this.pdfViewer)},this.onResize=async()=>{let t=this.pdfViewer.currentScaleValue;(t===`auto`||t===`page-fit`||t===`page-width`)&&await this.renderer.scalable.scaleTo(t),this.pdfViewer.update(),this.events.emit(e.EventNames.RendererContainerSizeChange,this.renderer.getRendererContainer(),this.renderer.owner.context.userChangedProgress)},this.onPageRender=async({source:t})=>{let n=t;this.events.emit(e.EventNames.PdfPageRender,n)},this.onPageChanging=async({pageNumber:n,previous:r})=>{let i=n>r?`next`:`previous`,a=this.renderer.getDocument((n-1).toString()),o=new t.PageChangeOptions;o.doc=a,o.pageNumber=n,o.direction=i,this.events.emit(e.EventNames.PageChange,o),this.renderer.progressTracker.updateFromPageChange()},this.onPageRendered=async({source:t,pageNumber:n})=>{this.events.emit(e.EventNames.PdfPageRendered,{pdfViewer:this.pdfViewer,pageView:t,pageNumber:n});let r=this.renderer.getDocument((n-1).toString());r&&this.events.emit(e.EventNames.DocumentLoad,r)},this.onTextLayerRendered=({pageNumber:t})=>{if(!t)return;let n=this.renderer.getDocument((t-1).toString());this.events.emit(e.EventNames.PdfPageTextRendered,n,t)},this.onScaleChanging=async({scale:t})=>{this.events.emit(e.EventNames.PdfScaleChanging,t,this.pdfViewer.currentScaleValue)},this.onScaleChanged=async e=>{await this.renderer.scalable.scaleTo(e.value),this.events.emit(`scalechanged`,e.value)},this.onUpdateViewArea=({location:t})=>{this.events.emit(e.EventNames.PdfUpdateViewArea,t)}}bind(){this.eventBus.on(`pagesloaded`,this.onPagesLoaded),this.eventBus.on(`resize`,this.onResize),this.eventBus.on(`pagerender`,this.onPageRender),this.eventBus.on(`pagerendered`,this.onPageRendered),this.eventBus.on(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.on(`pagechanging`,this.onPageChanging),this.eventBus.on(`scalechanging`,this.onScaleChanging),this.eventBus.on(`scalechanged`,this.onScaleChanged),this.eventBus.on(`updateviewarea`,this.onUpdateViewArea)}unbind(){this.eventBus.off(`pagesloaded`,this.onPagesLoaded),this.eventBus.off(`resize`,this.onResize),this.eventBus.off(`pagerender`,this.onPageRender),this.eventBus.off(`pagerendered`,this.onPageRendered),this.eventBus.off(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.off(`pagechanging`,this.onPageChanging),this.eventBus.off(`scalechanging`,this.onScaleChanging),this.eventBus.off(`scalechanged`,this.onScaleChanged),this.eventBus.off(`updateviewarea`,this.onUpdateViewArea)}};exports.PdfViewerEvents=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/EventNames.cjs"),t=require("../../../../kernal/navigator/IPagingNavigator.cjs");var n=[`wheel`,`keydown`,`mousedown`,`touchstart`],r=class{constructor(n,r,i,a){this.events=n,this.eventBus=r,this.renderer=i,this.pdfViewer=a,this.userProgressListenerOpts={passive:!0,capture:!0},this.onUserProgressInput=e=>{let t=`mouse`;e.type===`keydown`?t=`keyboard`:e.type===`wheel`?t=`wheel`:e.type===`touchstart`&&(t=`touch`),this.renderer.owner.context.setUserChangedProgress(!0,t)},this.onPagesLoaded=async()=>{this.events.emit(e.EventNames.PdfPagesLoaded,this.pdfViewer)},this.onResize=async()=>{let t=this.pdfViewer.currentScaleValue;(t===`auto`||t===`page-fit`||t===`page-width`)&&await this.renderer.scalable.scaleTo(t),this.pdfViewer.update(),this.events.emit(e.EventNames.RendererContainerSizeChange,this.renderer.getRendererContainer(),this.renderer.owner.context.userChangedProgress)},this.onPageRender=async({source:t})=>{let n=t;this.events.emit(e.EventNames.PdfPageRender,n)},this.onPageChanging=async({pageNumber:n,previous:r})=>{let i=n>r?`next`:`previous`,a=this.renderer.getDocument((n-1).toString()),o=new t.PageChangeOptions;o.doc=a,o.pageNumber=n,o.direction=i,this.events.emit(e.EventNames.PageChange,o),this.renderer.progressTracker.updateFromPageChange()},this.onPageRendered=async({source:t,pageNumber:n})=>{this.events.emit(e.EventNames.PdfPageRendered,{pdfViewer:this.pdfViewer,pageView:t,pageNumber:n});let r=this.renderer.getDocument((n-1).toString());r&&this.events.emit(e.EventNames.DocumentLoad,r)},this.onTextLayerRendered=({pageNumber:t})=>{if(!t)return;let n=this.renderer.getDocument((t-1).toString());this.events.emit(e.EventNames.PdfPageTextRendered,n,t)},this.onScaleChanging=async({scale:t})=>{this.events.emit(e.EventNames.PdfScaleChanging,t,this.pdfViewer.currentScaleValue)},this.onScaleChanged=async e=>{await this.renderer.scalable.scaleTo(e.value),this.events.emit(`scalechanged`,e.value)},this.onUpdateViewArea=({location:t})=>{this.events.emit(e.EventNames.PdfUpdateViewArea,t)}}bind(){this.eventBus.on(`pagesloaded`,this.onPagesLoaded),this.eventBus.on(`resize`,this.onResize),this.eventBus.on(`pagerender`,this.onPageRender),this.eventBus.on(`pagerendered`,this.onPageRendered),this.eventBus.on(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.on(`pagechanging`,this.onPageChanging),this.eventBus.on(`scalechanging`,this.onScaleChanging),this.eventBus.on(`scalechanged`,this.onScaleChanged),this.eventBus.on(`updateviewarea`,this.onUpdateViewArea),this.bindUserProgressInput()}unbind(){this.eventBus.off(`pagesloaded`,this.onPagesLoaded),this.eventBus.off(`resize`,this.onResize),this.eventBus.off(`pagerender`,this.onPageRender),this.eventBus.off(`pagerendered`,this.onPageRendered),this.eventBus.off(`textlayerrendered`,this.onTextLayerRendered),this.eventBus.off(`pagechanging`,this.onPageChanging),this.eventBus.off(`scalechanging`,this.onScaleChanging),this.eventBus.off(`scalechanged`,this.onScaleChanged),this.eventBus.off(`updateviewarea`,this.onUpdateViewArea),this.unbindUserProgressInput()}bindUserProgressInput(){let e=this.renderer.getRendererContainer();if(e)for(let t of n)e.addEventListener(t,this.onUserProgressInput,this.userProgressListenerOpts)}unbindUserProgressInput(){let e=this.renderer.getRendererContainer();if(e)for(let t of n)e.removeEventListener(t,this.onUserProgressInput,this.userProgressListenerOpts)}};exports.PdfViewerEvents=r;
@@ -8,9 +8,13 @@ export declare class PdfViewerEvents {
8
8
  private readonly eventBus;
9
9
  private readonly renderer;
10
10
  private readonly pdfViewer;
11
+ private readonly userProgressListenerOpts;
11
12
  constructor(events: IEventEmitter, eventBus: pdfjsViewer.EventBus, renderer: IPdfRenderer, pdfViewer: MultiPDFViewer);
12
13
  bind(): void;
13
14
  unbind(): void;
15
+ private bindUserProgressInput;
16
+ private unbindUserProgressInput;
17
+ private onUserProgressInput;
14
18
  private onPagesLoaded;
15
19
  private onResize;
16
20
  private onPageRender;
@@ -1,9 +1,20 @@
1
1
  import { EventNames as e } from "../../../../kernal/EventNames.mjs";
2
2
  import { PageChangeOptions as t } from "../../../../kernal/navigator/IPagingNavigator.mjs";
3
3
  //#region mediaTypes/pdf/renderer/input/PdfViewerEvents.ts
4
- var n = class {
4
+ var n = [
5
+ "wheel",
6
+ "keydown",
7
+ "mousedown",
8
+ "touchstart"
9
+ ], r = class {
5
10
  constructor(n, r, i, a) {
6
- this.events = n, this.eventBus = r, this.renderer = i, this.pdfViewer = a, this.onPagesLoaded = async () => {
11
+ this.events = n, this.eventBus = r, this.renderer = i, this.pdfViewer = a, this.userProgressListenerOpts = {
12
+ passive: !0,
13
+ capture: !0
14
+ }, this.onUserProgressInput = (e) => {
15
+ let t = "mouse";
16
+ e.type === "keydown" ? t = "keyboard" : e.type === "wheel" ? t = "wheel" : e.type === "touchstart" && (t = "touch"), this.renderer.owner.context.setUserChangedProgress(!0, t);
17
+ }, this.onPagesLoaded = async () => {
7
18
  this.events.emit(e.PdfPagesLoaded, this.pdfViewer);
8
19
  }, this.onResize = async () => {
9
20
  let t = this.pdfViewer.currentScaleValue;
@@ -35,11 +46,19 @@ var n = class {
35
46
  };
36
47
  }
37
48
  bind() {
38
- this.eventBus.on("pagesloaded", this.onPagesLoaded), this.eventBus.on("resize", this.onResize), this.eventBus.on("pagerender", this.onPageRender), this.eventBus.on("pagerendered", this.onPageRendered), this.eventBus.on("textlayerrendered", this.onTextLayerRendered), this.eventBus.on("pagechanging", this.onPageChanging), this.eventBus.on("scalechanging", this.onScaleChanging), this.eventBus.on("scalechanged", this.onScaleChanged), this.eventBus.on("updateviewarea", this.onUpdateViewArea);
49
+ this.eventBus.on("pagesloaded", this.onPagesLoaded), this.eventBus.on("resize", this.onResize), this.eventBus.on("pagerender", this.onPageRender), this.eventBus.on("pagerendered", this.onPageRendered), this.eventBus.on("textlayerrendered", this.onTextLayerRendered), this.eventBus.on("pagechanging", this.onPageChanging), this.eventBus.on("scalechanging", this.onScaleChanging), this.eventBus.on("scalechanged", this.onScaleChanged), this.eventBus.on("updateviewarea", this.onUpdateViewArea), this.bindUserProgressInput();
39
50
  }
40
51
  unbind() {
41
- this.eventBus.off("pagesloaded", this.onPagesLoaded), this.eventBus.off("resize", this.onResize), this.eventBus.off("pagerender", this.onPageRender), this.eventBus.off("pagerendered", this.onPageRendered), this.eventBus.off("textlayerrendered", this.onTextLayerRendered), this.eventBus.off("pagechanging", this.onPageChanging), this.eventBus.off("scalechanging", this.onScaleChanging), this.eventBus.off("scalechanged", this.onScaleChanged), this.eventBus.off("updateviewarea", this.onUpdateViewArea);
52
+ this.eventBus.off("pagesloaded", this.onPagesLoaded), this.eventBus.off("resize", this.onResize), this.eventBus.off("pagerender", this.onPageRender), this.eventBus.off("pagerendered", this.onPageRendered), this.eventBus.off("textlayerrendered", this.onTextLayerRendered), this.eventBus.off("pagechanging", this.onPageChanging), this.eventBus.off("scalechanging", this.onScaleChanging), this.eventBus.off("scalechanged", this.onScaleChanged), this.eventBus.off("updateviewarea", this.onUpdateViewArea), this.unbindUserProgressInput();
53
+ }
54
+ bindUserProgressInput() {
55
+ let e = this.renderer.getRendererContainer();
56
+ if (e) for (let t of n) e.addEventListener(t, this.onUserProgressInput, this.userProgressListenerOpts);
57
+ }
58
+ unbindUserProgressInput() {
59
+ let e = this.renderer.getRendererContainer();
60
+ if (e) for (let t of n) e.removeEventListener(t, this.onUserProgressInput, this.userProgressListenerOpts);
42
61
  }
43
62
  };
44
63
  //#endregion
45
- export { n as PdfViewerEvents };
64
+ export { r as PdfViewerEvents };
@@ -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("../../../../kernal/IRendererViewport.cjs"),a=require("../PdfCssVariableNames.cjs");var o=class{constructor(e,t,n,r,i){this.rootContainer=e,this.readerContainer=t,this.options=n,this.getCurrentPageNumber=r,this.removePageBorders=i,this.rendererClassName=`renderer`;let{rendererContainer:a,viewerContainer:o}=this.createRendererContainer();this.rendererContainer=a,this.viewerContainer=o}getViewerContainer(){return this.viewerContainer}getRendererContainer(){return this.rendererContainer}getScrollElement(){return this.rendererContainer}getLayoutMetrics(){return this.layout||=(this.applyCssVariables(),this.buildLayoutMetrics()),this.layout}applyCssVariables(){let e=new Map;e.set(a.PdfCssVariableNames.ScrollElementOverflow,`auto`);let t=this.rendererContainer.ownerDocument.defaultView,n=()=>{e.forEach((e,t)=>{this.rootContainer.style.setProperty(t,e)})},r=this.getCurrentPageNumber();if(!r||!t){n(),this.layout=this.buildLayoutMetrics();return}let i=this.rendererContainer,o=this.viewerContainer,s=i.offsetLeft,c=o.querySelector(`div.page[data-page-number="`+r+`"]`);if(c){let t,n;if(c.parentElement?.classList.contains(`spread`)){let e=c.parentElement;if(e.children.length<2){let t=Array.from(o.querySelectorAll(`div[class="spread"]`)),n=t.findIndex(t=>t==e);n>=1?e=t[n-1]:n<t.length-1&&(e=t[n+1])}let r=e.children[0].clientWidth,i=e.children[0].offsetLeft;if(e.children[1]){let t=e.children[1].clientWidth,a=e.children[1].offsetLeft-i-r;n=r+t+a}else n=r;t=i-s+`px`}else n=c.clientWidth,t=c.offsetLeft-s+`px`;let r=n+`px`,l=i.offsetWidth-i.clientWidth,u=i.offsetHeight-i.clientHeight;e.set(a.PdfCssVariableNames.ContentsContainerWidth,r),e.set(a.PdfCssVariableNames.ContentsContainerOffsetLeft,t),e.set(a.PdfCssVariableNames.ScrollElementVerticalScrollBarWidth,l+`px`),e.set(a.PdfCssVariableNames.ScrollElementHorizontalScrollBarHeight,u+`px`),e.set(a.PdfCssVariableNames.ContentContainerWidth,r)}n(),this.layout=this.buildLayoutMetrics()}createRendererContainer(){let i=`.${this.rendererClassName}{`;i+=`margin-block-start:var(${e.Options.HeaderHeight});`,i+=`margin-block-end:var(${e.Options.FooterHeight});`,i+=`position:absolute;inset:0;overflow:auto;outline:none;`,i+=`}`;let a=r.createElement(this.readerContainer.ownerDocument,`div`,n.getRandomId(!0),this.rendererClassName);a.classList.add(t.Theme.customScrollerClassName),a.setAttribute(`data-role`,`renderer-container`);let o=r.createElement(this.readerContainer.ownerDocument,`div`,n.getRandomId(!0),{class:`pdfViewer`});return o.setAttribute(`data-role`,`viewer-container`),a.appendChild(o),r.injectCssContent(this.readerContainer.ownerDocument,i,!0,`pdf-renderer-style`),this.readerContainer.appendChild(a),{rendererContainer:a,viewerContainer:o}}buildLayoutMetrics(){let e=new i.LayoutMetrics;return e.clientWidth=this.rendererContainer.clientWidth,e.clientHeight=this.rendererContainer.clientHeight,e}};exports.PdfRendererViewport=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("../../../../kernal/IRendererViewport.cjs"),i=require("../PdfCssVariableNames.cjs");var a=class{constructor(e,t,n,r,i){this.rootContainer=e,this.readerContainer=t,this.options=n,this.getCurrentPageNumber=r,this.removePageBorders=i,this.rendererClassName=`renderer`;let{rendererContainer:a,viewerContainer:o}=this.createRendererContainer();this.rendererContainer=a,this.viewerContainer=o}getViewerContainer(){return this.viewerContainer}getRendererContainer(){return this.rendererContainer}getScrollElement(){return this.rendererContainer}getLayoutMetrics(){return this.layout||=(this.applyCssVariables(),this.buildLayoutMetrics()),this.layout}applyCssVariables(){let e=new Map;e.set(i.PdfCssVariableNames.ScrollElementOverflow,`auto`);let t=this.rendererContainer.ownerDocument.defaultView,n=()=>{e.forEach((e,t)=>{this.rootContainer.style.setProperty(t,e)})},r=this.getCurrentPageNumber();if(!r||!t){n(),this.layout=this.buildLayoutMetrics();return}let a=this.rendererContainer,o=this.viewerContainer;a.offsetLeft;let s=o.querySelector(`div.page[data-page-number="`+r+`"]`);if(s){let t;if(s.parentElement?.classList.contains(`spread`)){let e=s.parentElement;if(e.children.length<2){let t=Array.from(o.querySelectorAll(`div[class="spread"]`)),n=t.findIndex(t=>t==e);n>=1?e=t[n-1]:n<t.length-1&&(e=t[n+1])}let n=e.children[0].clientWidth,r=e.children[0].offsetLeft;if(e.children[1]){let i=e.children[1].clientWidth,a=e.children[1].offsetLeft-r-n;t=n+i+a}else t=n}else t=s.clientWidth;let n=t+`px`,r=a.offsetWidth-a.clientWidth,c=a.offsetHeight-a.clientHeight;e.set(i.PdfCssVariableNames.ContentsContainerWidth,n),e.set(i.PdfCssVariableNames.ScrollElementVerticalScrollBarWidth,r+`px`),e.set(i.PdfCssVariableNames.ScrollElementHorizontalScrollBarHeight,c+`px`),e.set(i.PdfCssVariableNames.ContentContainerWidth,n)}n(),this.layout=this.buildLayoutMetrics()}createRendererContainer(){let r=`.${this.rendererClassName}{`;r+=`position:absolute;inset:0;overflow:auto;outline:none;`,r+=`}`;let i=t.createElement(this.readerContainer.ownerDocument,`div`,e.getRandomId(!0),this.rendererClassName);i.classList.add(n.Theme.customScrollerClassName),i.setAttribute(`data-role`,`renderer-container`);let a=t.createElement(this.readerContainer.ownerDocument,`div`,e.getRandomId(!0),{class:`pdfViewer`});return a.setAttribute(`data-role`,`viewer-container`),i.appendChild(a),t.injectCssContent(this.readerContainer.ownerDocument,r,!0,`pdf-renderer-style`),this.readerContainer.appendChild(i),{rendererContainer:i,viewerContainer:a}}buildLayoutMetrics(){let e=new r.LayoutMetrics;return e.clientWidth=this.rendererContainer.clientWidth,e.clientHeight=this.rendererContainer.clientHeight,e}};exports.PdfRendererViewport=a;