@foxycape/core 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/README.MD +0 -2
  2. package/README.zh.md +0 -2
  3. package/dist/ReaderHub.cjs +1 -0
  4. package/dist/ReaderHub.d.ts +20 -0
  5. package/dist/ReaderHub.mjs +59 -0
  6. package/dist/kernal/ContentRange.d.ts +1 -0
  7. package/dist/kernal/Context.cjs +1 -1
  8. package/dist/kernal/Context.mjs +13 -8
  9. package/dist/kernal/EventNames.cjs +1 -1
  10. package/dist/kernal/EventNames.d.ts +2 -0
  11. package/dist/kernal/EventNames.mjs +6 -0
  12. package/dist/kernal/FileLoader.cjs +1 -1
  13. package/dist/kernal/FileLoader.d.ts +3 -11
  14. package/dist/kernal/FileLoader.mjs +27 -22
  15. package/dist/kernal/JsonConvert.cjs +1 -1
  16. package/dist/kernal/JsonConvert.d.ts +0 -1
  17. package/dist/kernal/JsonConvert.mjs +17 -25
  18. package/dist/kernal/LifecycleHooks.d.ts +2 -1
  19. package/dist/kernal/Metadata.cjs +1 -1
  20. package/dist/kernal/Metadata.d.ts +34 -0
  21. package/dist/kernal/Metadata.mjs +47 -2
  22. package/dist/kernal/OpenOptions.d.ts +1 -0
  23. package/dist/kernal/Options.cjs +1 -1
  24. package/dist/kernal/Options.d.ts +2 -12
  25. package/dist/kernal/Options.mjs +1 -13
  26. package/dist/kernal/OptionsProvider.cjs +1 -1
  27. package/dist/kernal/OptionsProvider.d.ts +0 -2
  28. package/dist/kernal/OptionsProvider.mjs +6 -14
  29. package/dist/kernal/Reader.cjs +1 -1
  30. package/dist/kernal/Reader.d.ts +13 -12
  31. package/dist/kernal/Reader.mjs +119 -89
  32. package/dist/kernal/Theme.cjs +1 -1
  33. package/dist/kernal/Theme.mjs +1 -1
  34. package/dist/kernal/common/url.cjs +1 -1
  35. package/dist/kernal/common/url.d.ts +2 -0
  36. package/dist/kernal/common/url.mjs +2 -2
  37. package/dist/kernal/common/uuid.cjs +1 -1
  38. package/dist/kernal/common/uuid.mjs +7 -7
  39. package/dist/kernal/common/xxh64.cjs +1 -0
  40. package/dist/kernal/common/xxh64.d.ts +1 -0
  41. package/dist/kernal/common/xxh64.mjs +30 -0
  42. package/dist/kernal/crypto/MD5.cjs +1 -1
  43. package/dist/kernal/crypto/MD5.d.ts +0 -1
  44. package/dist/kernal/crypto/MD5.mjs +8 -9
  45. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  46. package/dist/kernal/crypto/WebCrypto.mjs +38 -35
  47. package/dist/kernal/deepClone/buffer.cjs +1 -1
  48. package/dist/kernal/deepClone/buffer.d.ts +8 -2
  49. package/dist/kernal/deepClone/buffer.mjs +1 -5
  50. package/dist/kernal/device/IDevice.d.ts +8 -2
  51. package/dist/kernal/device/WebBrowser.cjs +1 -1
  52. package/dist/kernal/device/WebBrowser.d.ts +12 -6
  53. package/dist/kernal/device/WebBrowser.mjs +70 -6
  54. package/dist/kernal/hostViewport.cjs +1 -0
  55. package/dist/kernal/hostViewport.d.ts +16 -0
  56. package/dist/kernal/hostViewport.mjs +44 -0
  57. package/dist/kernal/html/events.cjs +1 -1
  58. package/dist/kernal/html/events.mjs +35 -34
  59. package/dist/kernal/html/finder.cjs +1 -1
  60. package/dist/kernal/html/finder.d.ts +6 -2
  61. package/dist/kernal/html/finder.mjs +62 -51
  62. package/dist/kernal/html/geometry.cjs +1 -1
  63. package/dist/kernal/html/geometry.d.ts +26 -1
  64. package/dist/kernal/html/geometry.mjs +182 -121
  65. package/dist/kernal/html/manipulator.cjs +1 -1
  66. package/dist/kernal/html/manipulator.d.ts +1 -3
  67. package/dist/kernal/html/manipulator.mjs +34 -59
  68. package/dist/kernal/html/parser.cjs +1 -1
  69. package/dist/kernal/html/parser.mjs +3 -3
  70. package/dist/kernal/html/position.cjs +1 -1
  71. package/dist/kernal/html/position.d.ts +0 -18
  72. package/dist/kernal/html/position.mjs +2 -141
  73. package/dist/kernal/html/realm.cjs +1 -0
  74. package/dist/kernal/html/realm.d.ts +7 -0
  75. package/dist/kernal/html/realm.mjs +8 -0
  76. package/dist/kernal/html/selection.cjs +1 -1
  77. package/dist/kernal/html/selection.d.ts +1 -0
  78. package/dist/kernal/html/selection.mjs +33 -12
  79. package/dist/kernal/html/text.cjs +1 -1
  80. package/dist/kernal/html/text.d.ts +4 -3
  81. package/dist/kernal/html/text.mjs +24 -21
  82. package/dist/kernal/html/translationAnchor.cjs +1 -0
  83. package/dist/kernal/html/translationAnchor.d.ts +3 -0
  84. package/dist/kernal/html/translationAnchor.mjs +71 -0
  85. package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
  86. package/dist/kernal/i18n/DefaultLocale.d.ts +2 -2
  87. package/dist/kernal/i18n/DefaultLocale.mjs +7 -12
  88. package/dist/kernal/i18n/ILocale.d.ts +0 -1
  89. package/dist/kernal/i18n/applyNamed.cjs +1 -0
  90. package/dist/kernal/i18n/applyNamed.d.ts +1 -0
  91. package/dist/kernal/i18n/applyNamed.mjs +9 -0
  92. package/dist/kernal/i18n/textDirection.cjs +1 -0
  93. package/dist/kernal/i18n/textDirection.d.ts +6 -0
  94. package/dist/kernal/i18n/textDirection.mjs +7 -0
  95. package/dist/kernal/index.cjs +1 -1
  96. package/dist/kernal/index.d.ts +6 -5
  97. package/dist/kernal/index.mjs +50 -45
  98. package/dist/kernal/mark/IHighlighter.cjs +1 -0
  99. package/dist/kernal/mark/IHighlighter.d.ts +43 -0
  100. package/dist/kernal/mark/IHighlighter.mjs +13 -0
  101. package/dist/kernal/mark/Mark.cjs +1 -1
  102. package/dist/kernal/mark/Mark.d.ts +33 -4
  103. package/dist/kernal/mark/Mark.mjs +43 -6
  104. package/dist/kernal/mark/index.cjs +1 -1
  105. package/dist/kernal/mark/index.d.ts +2 -0
  106. package/dist/kernal/mark/index.mjs +6 -3
  107. package/dist/kernal/mark/overlay.cjs +1 -0
  108. package/dist/kernal/mark/overlay.d.ts +31 -0
  109. package/dist/kernal/mark/overlay.mjs +102 -0
  110. package/dist/kernal/mark/types.cjs +1 -0
  111. package/dist/kernal/mark/types.d.ts +11 -2
  112. package/dist/kernal/mark/types.mjs +4 -0
  113. package/dist/kernal/navigator/INavigator.d.ts +3 -2
  114. package/dist/kernal/network/HttpClient.cjs +1 -1
  115. package/dist/kernal/network/HttpClient.mjs +80 -56
  116. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  117. package/dist/kernal/pipelines/FileLoadPipeline.mjs +55 -56
  118. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  119. package/dist/kernal/pipelines/InputFormatter.mjs +43 -41
  120. package/dist/kernal/pipelines/metadata.cjs +1 -1
  121. package/dist/kernal/pipelines/metadata.d.ts +2 -1
  122. package/dist/kernal/pipelines/metadata.mjs +21 -30
  123. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
  124. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +7 -6
  125. package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
  126. package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +12 -11
  127. package/dist/kernal/progress/Progress.cjs +1 -1
  128. package/dist/kernal/progress/Progress.d.ts +5 -3
  129. package/dist/kernal/progress/Progress.mjs +2 -2
  130. package/dist/kernal/progress/userChangedProgress.cjs +1 -0
  131. package/dist/kernal/progress/userChangedProgress.d.ts +9 -0
  132. package/dist/kernal/progress/userChangedProgress.mjs +11 -0
  133. package/dist/kernal/screen/BrowserFullscreen.cjs +1 -0
  134. package/dist/kernal/screen/BrowserFullscreen.d.ts +9 -0
  135. package/dist/kernal/screen/BrowserFullscreen.mjs +47 -0
  136. package/dist/kernal/screen/IFullscreen.d.ts +6 -0
  137. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  138. package/dist/kernal/services/ServiceCollection.d.ts +4 -6
  139. package/dist/kernal/services/ServiceCollection.mjs +18 -9
  140. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
  141. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +4 -2
  142. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +31 -23
  143. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
  144. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +52 -51
  145. package/dist/kernal/services/fileUrlParser/IFileUrlParser.d.ts +0 -1
  146. package/dist/kernal/services/font/IFontProvider.cjs +1 -1
  147. package/dist/kernal/services/font/IFontProvider.d.ts +3 -0
  148. package/dist/kernal/services/font/IFontProvider.mjs +1 -1
  149. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
  150. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +8 -8
  151. package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
  152. package/dist/kernal/services/loading/DefaultLoading.d.ts +4 -0
  153. package/dist/kernal/services/loading/DefaultLoading.mjs +23 -24
  154. package/dist/kernal/services/text/splitter.cjs +1 -1
  155. package/dist/kernal/services/text/splitter.mjs +3 -3
  156. package/dist/kernal/types.d.ts +0 -5
  157. package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
  158. package/dist/kernal/web/BrowserCapabilities.d.ts +0 -9
  159. package/dist/kernal/web/BrowserCapabilities.mjs +0 -49
  160. package/dist/kernal/{Debounce.mjs → web/debounce.mjs} +1 -1
  161. package/dist/kernal/web/scheduler.cjs +1 -0
  162. package/dist/kernal/web/scheduler.d.ts +3 -0
  163. package/dist/kernal/web/scheduler.mjs +7 -0
  164. package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
  165. package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +59 -59
  166. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.cjs +1 -0
  167. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.d.ts +13 -0
  168. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.mjs +109 -0
  169. package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
  170. package/dist/mediaTypes/html/HtmlOptions.d.ts +6 -12
  171. package/dist/mediaTypes/html/HtmlOptions.mjs +3 -14
  172. package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
  173. package/dist/mediaTypes/html/HtmlSettings.d.ts +16 -1
  174. package/dist/mediaTypes/html/HtmlSettings.mjs +46 -1
  175. package/dist/mediaTypes/html/IHtmlContentNormalizer.cjs +1 -0
  176. package/dist/mediaTypes/html/IHtmlContentNormalizer.d.ts +4 -0
  177. package/dist/mediaTypes/html/IHtmlContentNormalizer.mjs +4 -0
  178. package/dist/mediaTypes/html/IHtmlSymbolMeasure.d.ts +11 -0
  179. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.cjs +1 -0
  180. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.d.ts +5 -0
  181. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.mjs +8 -0
  182. package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
  183. package/dist/mediaTypes/html/fileParser/HtmlFileParser.d.ts +5 -1
  184. package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +15 -18
  185. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
  186. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +25 -25
  187. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +1 -0
  188. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.d.ts +7 -3
  189. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +4 -0
  190. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  191. package/dist/mediaTypes/html/renderer/HtmlRenderer.d.ts +7 -1
  192. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +65 -41
  193. package/dist/mediaTypes/html/renderer/IHtmlDocument.d.ts +6 -2
  194. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.d.ts +5 -0
  195. package/dist/mediaTypes/html/renderer/IHtmlRenderer.d.ts +3 -0
  196. package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
  197. package/dist/mediaTypes/html/renderer/document/HtmlDocument.d.ts +29 -6
  198. package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +233 -86
  199. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
  200. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.d.ts +8 -0
  201. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +41 -5
  202. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
  203. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.d.ts +2 -4
  204. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +22 -59
  205. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
  206. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.d.ts +3 -5
  207. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +7 -25
  208. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
  209. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.d.ts +0 -2
  210. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +18 -42
  211. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
  212. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.d.ts +2 -0
  213. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +17 -4
  214. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
  215. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.d.ts +16 -1
  216. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +128 -54
  217. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
  218. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +26 -3
  219. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +227 -101
  220. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
  221. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -0
  222. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +45 -25
  223. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.cjs +1 -0
  224. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.d.ts +6 -0
  225. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.mjs +6 -0
  226. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.cjs +1 -0
  227. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.d.ts +2 -0
  228. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.mjs +13 -0
  229. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.cjs +1 -0
  230. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.d.ts +11 -0
  231. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.mjs +8 -0
  232. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
  233. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +62 -62
  234. package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
  235. package/dist/mediaTypes/html/renderer/html/template.d.ts +3 -1
  236. package/dist/mediaTypes/html/renderer/html/template.mjs +9 -9
  237. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
  238. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.d.ts +22 -12
  239. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +380 -270
  240. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
  241. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +27 -27
  242. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.d.ts +8 -0
  243. package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -1
  244. package/dist/mediaTypes/html/renderer/image/error-image.mjs +1 -1
  245. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.cjs +1 -0
  246. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.d.ts +10 -0
  247. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.mjs +15 -0
  248. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.cjs +1 -0
  249. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.d.ts +2 -0
  250. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.mjs +12 -0
  251. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
  252. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.d.ts +6 -10
  253. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +71 -62
  254. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
  255. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.d.ts +4 -1
  256. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +113 -68
  257. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.d.ts +8 -3
  258. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
  259. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.d.ts +5 -1
  260. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +15 -3
  261. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.cjs +1 -0
  262. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.d.ts +8 -0
  263. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.mjs +28 -0
  264. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.cjs +30 -0
  265. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.mjs +4 -0
  266. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.cjs +31 -0
  267. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.mjs +4 -0
  268. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.cjs +30 -0
  269. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.mjs +4 -0
  270. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.cjs +30 -0
  271. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.mjs +4 -0
  272. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.cjs +30 -0
  273. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.mjs +4 -0
  274. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.cjs +30 -0
  275. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.mjs +4 -0
  276. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.cjs +6 -0
  277. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.mjs +4 -0
  278. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.cjs +10 -0
  279. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.mjs +4 -0
  280. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.cjs +10 -0
  281. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.mjs +4 -0
  282. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.cjs +10 -0
  283. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.mjs +4 -0
  284. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.cjs +10 -0
  285. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.mjs +4 -0
  286. package/dist/mediaTypes/html/renderer/layout/css/document-default.cjs +19 -0
  287. package/dist/mediaTypes/html/renderer/layout/css/document-default.mjs +4 -0
  288. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.cjs +3 -0
  289. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.d.ts +2 -0
  290. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.mjs +56 -0
  291. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.cjs +64 -0
  292. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.mjs +4 -0
  293. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.cjs +33 -0
  294. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.mjs +4 -0
  295. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.cjs +33 -0
  296. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.mjs +4 -0
  297. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.cjs +47 -0
  298. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.mjs +4 -0
  299. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.cjs +47 -0
  300. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.mjs +4 -0
  301. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.cjs +46 -0
  302. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.mjs +4 -0
  303. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.cjs +46 -0
  304. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.mjs +4 -0
  305. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.cjs +7 -0
  306. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.mjs +4 -0
  307. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.cjs +28 -0
  308. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.mjs +4 -0
  309. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.cjs +28 -0
  310. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.mjs +4 -0
  311. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.cjs +28 -0
  312. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.mjs +4 -0
  313. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.cjs +28 -0
  314. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.mjs +4 -0
  315. package/dist/mediaTypes/html/renderer/layout/css/root-direction.cjs +8 -0
  316. package/dist/mediaTypes/html/renderer/layout/css/root-direction.mjs +4 -0
  317. package/dist/mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.d.ts +128 -0
  318. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.cjs +1 -0
  319. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.d.ts +4 -0
  320. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.mjs +7 -0
  321. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.cjs +1 -0
  322. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.d.ts +1 -0
  323. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.mjs +13 -0
  324. package/dist/mediaTypes/html/renderer/layout/geometry/index.cjs +1 -0
  325. package/dist/mediaTypes/html/renderer/layout/geometry/index.d.ts +18 -0
  326. package/dist/mediaTypes/html/renderer/layout/geometry/index.mjs +30 -0
  327. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.cjs +1 -0
  328. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.d.ts +3 -0
  329. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.mjs +71 -0
  330. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.cjs +1 -0
  331. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.d.ts +3 -0
  332. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.mjs +74 -0
  333. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.cjs +1 -0
  334. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.d.ts +3 -0
  335. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.mjs +71 -0
  336. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.cjs +1 -0
  337. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.d.ts +3 -0
  338. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.mjs +71 -0
  339. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.cjs +1 -0
  340. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.d.ts +3 -0
  341. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.mjs +71 -0
  342. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.cjs +1 -0
  343. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.d.ts +3 -0
  344. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.mjs +71 -0
  345. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.cjs +1 -0
  346. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.d.ts +41 -0
  347. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.mjs +53 -0
  348. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.cjs +1 -0
  349. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.d.ts +3 -0
  350. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.mjs +71 -0
  351. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.cjs +1 -0
  352. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.d.ts +3 -0
  353. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.mjs +74 -0
  354. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.cjs +1 -0
  355. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.d.ts +3 -0
  356. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.mjs +71 -0
  357. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.cjs +1 -0
  358. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.d.ts +3 -0
  359. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.mjs +71 -0
  360. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.cjs +1 -0
  361. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.d.ts +3 -0
  362. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.mjs +74 -0
  363. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.cjs +1 -0
  364. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.d.ts +3 -0
  365. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.mjs +74 -0
  366. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.cjs +1 -0
  367. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.d.ts +10 -0
  368. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.mjs +17 -0
  369. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.cjs +1 -0
  370. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.d.ts +6 -0
  371. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.mjs +24 -0
  372. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.cjs +1 -0
  373. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.d.ts +9 -0
  374. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.mjs +4 -0
  375. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.cjs +1 -0
  376. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.d.ts +11 -0
  377. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.mjs +9 -0
  378. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
  379. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +32 -34
  380. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.cjs +1 -0
  381. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.d.ts +23 -0
  382. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.mjs +164 -0
  383. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.cjs +1 -0
  384. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.d.ts +4 -0
  385. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.mjs +13 -0
  386. package/dist/mediaTypes/html/renderer/location/scrollActivity.cjs +1 -0
  387. package/dist/mediaTypes/html/renderer/location/scrollActivity.d.ts +14 -0
  388. package/dist/mediaTypes/html/renderer/location/scrollActivity.mjs +18 -0
  389. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
  390. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +2 -2
  391. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
  392. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +3 -3
  393. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
  394. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +55 -59
  395. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
  396. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.d.ts +1 -0
  397. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +40 -39
  398. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
  399. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.d.ts +2 -1
  400. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +36 -24
  401. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
  402. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.d.ts +4 -0
  403. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +19 -1
  404. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
  405. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.d.ts +3 -0
  406. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +9 -0
  407. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
  408. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.d.ts +3 -0
  409. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +28 -16
  410. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
  411. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.d.ts +2 -0
  412. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +39 -34
  413. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.cjs +0 -0
  414. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.d.ts +6 -0
  415. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.mjs +0 -0
  416. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.cjs +1 -0
  417. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.d.ts +18 -0
  418. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.mjs +52 -0
  419. package/dist/mediaTypes/html/renderer/style/html-content.cjs +38 -7
  420. package/dist/mediaTypes/html/renderer/style/html-content.mjs +1 -1
  421. package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
  422. package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +6 -13
  423. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  424. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.d.ts +5 -4
  425. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +7 -3
  426. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  427. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.d.ts +4 -4
  428. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +24 -14
  429. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.cjs +1 -0
  430. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.d.ts +6 -0
  431. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.mjs +4 -0
  432. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.cjs +1 -0
  433. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.d.ts +10 -0
  434. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.mjs +33 -0
  435. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  436. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +18 -19
  437. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.d.ts +2 -0
  438. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +1 -1
  439. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  440. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +2 -2
  441. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  442. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.d.ts +0 -1
  443. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +0 -3
  444. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  445. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +3 -3
  446. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  447. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +3 -3
  448. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  449. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.d.ts +3 -3
  450. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +20 -19
  451. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  452. package/dist/mediaTypes/pdf/renderer/PdfRenderer.d.ts +1 -0
  453. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +20 -20
  454. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  455. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +51 -50
  456. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  457. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +55 -56
  458. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.cjs +1 -0
  459. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.d.ts +3 -0
  460. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.mjs +12 -0
  461. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  462. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.d.ts +4 -0
  463. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +24 -5
  464. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  465. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +32 -32
  466. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  467. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +1 -1
  468. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  469. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +5 -5
  470. package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
  471. package/dist/mediaTypes/pdf/shared/geometry/index.mjs +2 -2
  472. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
  473. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.d.ts +14 -4
  474. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +56 -24
  475. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +2 -2
  476. package/dist/mediaTypes/pdf/shared/text/pageText.d.ts +14 -0
  477. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +139 -47
  478. package/dist/node_modules/highlight.js/styles/github-dark.cjs +118 -0
  479. package/dist/node_modules/highlight.js/styles/github-dark.mjs +4 -0
  480. package/dist/node_modules/highlight.js/styles/github.cjs +118 -0
  481. package/dist/node_modules/highlight.js/styles/github.mjs +4 -0
  482. package/dist/pdfjs/package.json +1 -0
  483. package/global.d.ts +3 -1
  484. package/package.json +11 -5
  485. package/types.d.ts +48 -13
  486. package/dist/kernal/device/IEnvironment.d.ts +0 -5
  487. package/dist/kernal/device/IPlatform.d.ts +0 -7
  488. package/dist/kernal/device/WebEnvironment.cjs +0 -1
  489. package/dist/kernal/device/WebEnvironment.d.ts +0 -7
  490. package/dist/kernal/device/WebEnvironment.mjs +0 -22
  491. package/dist/kernal/device/WebPlatform.cjs +0 -1
  492. package/dist/kernal/device/WebPlatform.d.ts +0 -12
  493. package/dist/kernal/device/WebPlatform.mjs +0 -49
  494. package/dist/kernal/progress/IReadingProgressStore.d.ts +0 -7
  495. package/dist/kernal/progress/ReadingProgressStore.cjs +0 -1
  496. package/dist/kernal/progress/ReadingProgressStore.d.ts +0 -12
  497. package/dist/kernal/progress/ReadingProgressStore.mjs +0 -17
  498. package/dist/kernal/storage/IStorage.cjs +0 -1
  499. package/dist/kernal/storage/IStorage.d.ts +0 -21
  500. package/dist/kernal/storage/IStorage.mjs +0 -4
  501. package/dist/kernal/storage/WebStorage.cjs +0 -1
  502. package/dist/kernal/storage/WebStorage.d.ts +0 -31
  503. package/dist/kernal/storage/WebStorage.mjs +0 -165
  504. package/dist/mediaTypes/adjacent.cjs +0 -1
  505. package/dist/mediaTypes/adjacent.d.ts +0 -5
  506. package/dist/mediaTypes/adjacent.mjs +0 -42
  507. package/dist/mediaTypes/html/renderer/image/placeholder.cjs +0 -1
  508. package/dist/mediaTypes/html/renderer/image/placeholder.mjs +0 -4
  509. /package/dist/kernal/{device/IEnvironment.cjs → screen/IFullscreen.cjs} +0 -0
  510. /package/dist/kernal/{device/IEnvironment.mjs → screen/IFullscreen.mjs} +0 -0
  511. /package/dist/kernal/{Debounce.cjs → web/debounce.cjs} +0 -0
  512. /package/dist/kernal/{Debounce.d.ts → web/debounce.d.ts} +0 -0
  513. /package/dist/{kernal/device/IPlatform.cjs → mediaTypes/html/IHtmlSymbolMeasure.cjs} +0 -0
  514. /package/dist/{kernal/device/IPlatform.mjs → mediaTypes/html/IHtmlSymbolMeasure.mjs} +0 -0
  515. /package/dist/{kernal/progress/IReadingProgressStore.cjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.cjs} +0 -0
  516. /package/dist/{kernal/progress/IReadingProgressStore.mjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.mjs} +0 -0
@@ -1,11 +1,10 @@
1
- import { Options as e } from "../../../../kernal/Options.mjs";
2
- import { Theme as t } from "../../../../kernal/Theme.mjs";
3
- import { getRandomId as n } from "../../../../kernal/common/uuid.mjs";
4
- import { createElement as r, injectCssContent as i } from "../../../../kernal/html/injector.mjs";
5
- import { LayoutMetrics as a } from "../../../../kernal/IRendererViewport.mjs";
6
- import { PdfCssVariableNames as o } from "../PdfCssVariableNames.mjs";
1
+ import { getRandomId as e } from "../../../../kernal/common/uuid.mjs";
2
+ import { createElement as t, injectCssContent as n } from "../../../../kernal/html/injector.mjs";
3
+ import { Theme as r } from "../../../../kernal/Theme.mjs";
4
+ import { LayoutMetrics as i } from "../../../../kernal/IRendererViewport.mjs";
5
+ import { PdfCssVariableNames as a } from "../PdfCssVariableNames.mjs";
7
6
  //#region mediaTypes/pdf/renderer/layout/PdfRendererViewport.ts
8
- var s = class {
7
+ var o = class {
9
8
  constructor(e, t, n, r, i) {
10
9
  this.rootContainer = e, this.readerContainer = t, this.options = n, this.getCurrentPageNumber = r, this.removePageBorders = i, this.rendererClassName = "renderer";
11
10
  let { rendererContainer: a, viewerContainer: o } = this.createRendererContainer();
@@ -25,7 +24,7 @@ var s = class {
25
24
  }
26
25
  applyCssVariables() {
27
26
  let e = /* @__PURE__ */ new Map();
28
- e.set(o.ScrollElementOverflow, "auto");
27
+ e.set(a.ScrollElementOverflow, "auto");
29
28
  let t = this.rendererContainer.ownerDocument.defaultView, n = () => {
30
29
  e.forEach((e, t) => {
31
30
  this.rootContainer.style.setProperty(t, e);
@@ -35,42 +34,43 @@ var s = class {
35
34
  n(), this.layout = this.buildLayoutMetrics();
36
35
  return;
37
36
  }
38
- let i = this.rendererContainer, a = this.viewerContainer, s = i.offsetLeft, c = a.querySelector("div.page[data-page-number=\"" + r + "\"]");
39
- if (c) {
40
- let t, n;
41
- if (c.parentElement?.classList.contains("spread")) {
42
- let e = c.parentElement;
37
+ let i = this.rendererContainer, o = this.viewerContainer;
38
+ i.offsetLeft;
39
+ let s = o.querySelector("div.page[data-page-number=\"" + r + "\"]");
40
+ if (s) {
41
+ let t;
42
+ if (s.parentElement?.classList.contains("spread")) {
43
+ let e = s.parentElement;
43
44
  if (e.children.length < 2) {
44
- let t = Array.from(a.querySelectorAll("div[class=\"spread\"]")), n = t.findIndex((t) => t == e);
45
+ let t = Array.from(o.querySelectorAll("div[class=\"spread\"]")), n = t.findIndex((t) => t == e);
45
46
  n >= 1 ? e = t[n - 1] : n < t.length - 1 && (e = t[n + 1]);
46
47
  }
47
- let r = e.children[0].clientWidth, i = e.children[0].offsetLeft;
48
+ let n = e.children[0].clientWidth, r = e.children[0].offsetLeft;
48
49
  if (e.children[1]) {
49
- let t = e.children[1].clientWidth, a = e.children[1].offsetLeft - i - r;
50
- n = r + t + a;
51
- } else n = r;
52
- t = i - s + "px";
53
- } else n = c.clientWidth, t = c.offsetLeft - s + "px";
54
- let r = n + "px", l = i.offsetWidth - i.clientWidth, u = i.offsetHeight - i.clientHeight;
55
- e.set(o.ContentsContainerWidth, r), e.set(o.ContentsContainerOffsetLeft, t), e.set(o.ScrollElementVerticalScrollBarWidth, l + "px"), e.set(o.ScrollElementHorizontalScrollBarHeight, u + "px"), e.set(o.ContentContainerWidth, r);
50
+ let i = e.children[1].clientWidth, a = e.children[1].offsetLeft - r - n;
51
+ t = n + i + a;
52
+ } else t = n;
53
+ } else t = s.clientWidth;
54
+ let n = t + "px", r = i.offsetWidth - i.clientWidth, c = i.offsetHeight - i.clientHeight;
55
+ e.set(a.ContentsContainerWidth, n), e.set(a.ScrollElementVerticalScrollBarWidth, r + "px"), e.set(a.ScrollElementHorizontalScrollBarHeight, c + "px"), e.set(a.ContentContainerWidth, n);
56
56
  }
57
57
  n(), this.layout = this.buildLayoutMetrics();
58
58
  }
59
59
  createRendererContainer() {
60
- let a = `.${this.rendererClassName}{`;
61
- a += `margin-block-start:var(${e.HeaderHeight});`, a += `margin-block-end:var(${e.FooterHeight});`, a += "position:absolute;inset:0;overflow:auto;outline:none;", a += "}";
62
- let o = r(this.readerContainer.ownerDocument, "div", n(!0), this.rendererClassName);
63
- o.classList.add(t.customScrollerClassName), o.setAttribute("data-role", "renderer-container");
64
- let s = r(this.readerContainer.ownerDocument, "div", n(!0), { class: "pdfViewer" });
65
- return s.setAttribute("data-role", "viewer-container"), o.appendChild(s), i(this.readerContainer.ownerDocument, a, !0, "pdf-renderer-style"), this.readerContainer.appendChild(o), {
66
- rendererContainer: o,
67
- viewerContainer: s
60
+ let i = `.${this.rendererClassName}{`;
61
+ i += "position:absolute;inset:0;overflow:auto;outline:none;", i += "}";
62
+ let a = t(this.readerContainer.ownerDocument, "div", e(!0), this.rendererClassName);
63
+ a.classList.add(r.customScrollerClassName), a.setAttribute("data-role", "renderer-container");
64
+ let o = t(this.readerContainer.ownerDocument, "div", e(!0), { class: "pdfViewer" });
65
+ return o.setAttribute("data-role", "viewer-container"), a.appendChild(o), n(this.readerContainer.ownerDocument, i, !0, "pdf-renderer-style"), this.readerContainer.appendChild(a), {
66
+ rendererContainer: a,
67
+ viewerContainer: o
68
68
  };
69
69
  }
70
70
  buildLayoutMetrics() {
71
- let e = new a();
71
+ let e = new i();
72
72
  return e.clientWidth = this.rendererContainer.clientWidth, e.clientHeight = this.rendererContainer.clientHeight, e;
73
73
  }
74
74
  };
75
75
  //#endregion
76
- export { s as PdfRendererViewport };
76
+ export { o as PdfRendererViewport };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../kernal/EventNames.cjs"),n=require("../../../../kernal/progress/Progress.cjs"),r=require("../../../../kernal/Debounce.cjs");let i=require("../../../../pdfjs/legacy/web/pdf_viewer.mjs");i=e.__toESM(i,1);var a=class{constructor(e,a,o){this.documentsProvider=e,this.pdfViewer=a,this.destinationBuilder=o,this.getTotalPercentage=()=>{if(!this.pdfViewer)return null;let e=this.pdfViewer.currentPageNumber/this.pdfViewer.pagesCount,t=this.documentsProvider.getScrollElement();if(t){let r=t.scrollTop,i=t.scrollHeight;(t.clientHeight+r)/i>=n.Progress.Max&&(e=1)}return this.pdfViewer.spreadMode!==i.SpreadMode.NONE&&this.pdfViewer.currentPageNumber+1==this.pdfViewer.pagesCount&&(e=1),e},this.updateProgress=e=>{if(!this.pdfViewer||!this.documentsProvider.owner.context.userChangedProgress)return;let r=this.getTotalPercentage();if(r==null)return;let i=e;if(!i){i=new n.Progress(1,r);let e=new n.FileLocation(this.pdfViewer.currentPageNumber.toString(),this.pdfViewer.pagesCount,`page`);if(e.current=this.pdfViewer.currentPageNumber,i.location=e,this.documentsProvider.owner.context.progress=i,this.documentsProvider.owner.context.currentLocation=i.location,this.documentsProvider.owner.onProgressChangeGuard&&!this.documentsProvider.owner.onProgressChangeGuard(i.current))return}this.documentsProvider.owner.events.emit(t.EventNames.ProgressChange,i)},this.delayUpdateProgress=r.throttle(this.updateProgress,300,!0)}async getProgress(e){if(!e)return this.documentsProvider.owner.context.progress;let t=this.getTotalPercentage();if(t==null)return;let r=new n.Progress(1,t),i=this.documentsProvider.getFirstVisibleDocument();if(!i)return null;let a=i.getContentContainer();if(!a)return null;let o=a.getBoundingClientRect(),s=o.left;s>=0&&(s=0),s<0&&(s=Math.abs(s));let c=o.top;c>=0&&(c=0),c<0&&(c=Math.abs(c));let l=new n.FileLocation(i.url,this.pdfViewer.pagesCount,`page`),u=this.destinationBuilder.buildDest(parseInt(i.url),{x:s,y:c});if(!u)return null;let d=parseInt(i.url);return isNaN(d)&&(d=this.pdfViewer.currentPageNumber),l.visualPage=this.pdfViewer.currentPageNumber,l.pdfDest=u,l.precise=!0,l.ignoreOverlayHeader=!0,l.scrollBehavior=`smooth`,l.current=d,l.text=(a.textContent?.replace(/\s+/g,` `).trim()??``).slice(0,64),r.location=l,r}updateFromPageChange(){this.delayUpdateProgress()}async dispose(){}};exports.PdfProgressTracker=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../kernal/EventNames.cjs"),n=require("../../../../kernal/progress/Progress.cjs"),r=require("../../../../kernal/web/debounce.cjs");let i=require("../../../../pdfjs/legacy/web/pdf_viewer.mjs");i=e.__toESM(i,1);var a=class{constructor(e,a,o){this.documentsProvider=e,this.pdfViewer=a,this.destinationBuilder=o,this.getTotalPercentage=()=>{if(!this.pdfViewer)return null;let e=this.pdfViewer.currentPageNumber/this.pdfViewer.pagesCount,t=this.documentsProvider.getScrollElement();if(t){let r=t.scrollTop,i=t.scrollHeight;(t.clientHeight+r)/i>=n.Progress.Max&&(e=1)}return this.pdfViewer.spreadMode!==i.SpreadMode.NONE&&this.pdfViewer.currentPageNumber+1==this.pdfViewer.pagesCount&&(e=1),e},this.updateProgress=e=>{if(!this.pdfViewer||!this.documentsProvider.owner.context.userChangedProgress)return;let r=this.getTotalPercentage();if(r==null)return;let i=e;if(!i){i=new n.Progress(1,r);let e=new n.FileLocation(this.pdfViewer.currentPageNumber.toString(),this.pdfViewer.pagesCount,`page`);if(e.current=this.pdfViewer.currentPageNumber,i.location=e,this.documentsProvider.owner.context.progress=i,this.documentsProvider.owner.context.currentLocation=i.location,this.documentsProvider.owner.onProgressChangeGuard&&!this.documentsProvider.owner.onProgressChangeGuard(i.current))return}this.documentsProvider.owner.events.emit(t.EventNames.ProgressChange,i)},this.delayUpdateProgress=r.throttle(this.updateProgress,300,!0)}async getProgress(e){if(!e)return this.documentsProvider.owner.context.progress;let t=this.getTotalPercentage();if(t==null)return;let r=new n.Progress(1,t),i=this.documentsProvider.getFirstVisibleDocument();if(!i)return null;let a=i.getContentContainer();if(!a)return null;let o=a.getBoundingClientRect(),s=o.left;s>=0&&(s=0),s<0&&(s=Math.abs(s));let c=o.top;c>=0&&(c=0),c<0&&(c=Math.abs(c));let l=new n.FileLocation(i.url,this.pdfViewer.pagesCount,`page`),u=this.destinationBuilder.buildDest(parseInt(i.url),{x:s,y:c});if(!u)return null;let d=parseInt(i.url);return isNaN(d)&&(d=this.pdfViewer.currentPageNumber),l.visualPage=this.pdfViewer.currentPageNumber,l.pdfDest=u,l.precise=!0,l.ignoreOverlayHeader=!0,l.scrollBehavior=`smooth`,l.current=d,l.text=(a.textContent?.replace(/\s+/g,` `).trim()??``).slice(0,64),r.location=l,r}updateFromPageChange(){this.delayUpdateProgress()}async dispose(){}};exports.PdfProgressTracker=a;
@@ -1,6 +1,6 @@
1
1
  import { EventNames as e } from "../../../../kernal/EventNames.mjs";
2
2
  import { FileLocation as t, Progress as n } from "../../../../kernal/progress/Progress.mjs";
3
- import { throttle as r } from "../../../../kernal/Debounce.mjs";
3
+ import { throttle as r } from "../../../../kernal/web/debounce.mjs";
4
4
  import * as i from "../../../../pdfjs/legacy/web/pdf_viewer.mjs";
5
5
  //#region mediaTypes/pdf/renderer/progress/PdfProgressTracker.ts
6
6
  var a = class {
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/Theme.cjs"),t=require("../../../../kernal/html/injector.cjs");var n=class{constructor(e){this.readerContainer=e}applyTheme(n){let r=`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/html/injector.cjs"),t=require("../../../../kernal/Theme.cjs");var n=class{constructor(e){this.readerContainer=e}applyTheme(n){let r=`
2
2
  .pdfViewer .page{box-sizing:content-box;}
3
3
  .pdfViewer .page *{box-sizing:content-box;}
4
4
 
@@ -28,10 +28,10 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
28
28
  .pdfViewer .textLayer ::selection,
29
29
  .pdfViewer .textLayer span::selection,
30
30
  .pdfViewer .page svg ::selection{
31
- background:var(${e.Theme.SelectionBackground}) !important;
32
- background-color:var(${e.Theme.SelectionBackground}) !important;
31
+ background:var(${t.Theme.SelectionBackground}) !important;
32
+ background-color:var(${t.Theme.SelectionBackground}) !important;
33
33
  }
34
34
  .pdfViewer .textLayer br::selection{
35
35
  background:transparent !important;
36
36
  background-color:transparent !important;
37
- }`;t.injectCssContent(this.readerContainer.ownerDocument,r,!0,`pdf-renderer-other-css`)}};exports.PdfThemeApplier=n;
37
+ }`;e.injectCssContent(this.readerContainer.ownerDocument,r,!0,`pdf-renderer-other-css`)}};exports.PdfThemeApplier=n;
@@ -1,5 +1,5 @@
1
- import { Theme as e } from "../../../../kernal/Theme.mjs";
2
- import { injectCssContent as t } from "../../../../kernal/html/injector.mjs";
1
+ import { injectCssContent as e } from "../../../../kernal/html/injector.mjs";
2
+ import { Theme as t } from "../../../../kernal/Theme.mjs";
3
3
  //#region mediaTypes/pdf/renderer/style/PdfThemeApplier.ts
4
4
  var n = class {
5
5
  constructor(e) {
@@ -36,14 +36,14 @@ var n = class {
36
36
  .pdfViewer .textLayer ::selection,
37
37
  .pdfViewer .textLayer span::selection,
38
38
  .pdfViewer .page svg ::selection{
39
- background:var(${e.SelectionBackground}) !important;
40
- background-color:var(${e.SelectionBackground}) !important;
39
+ background:var(${t.SelectionBackground}) !important;
40
+ background-color:var(${t.SelectionBackground}) !important;
41
41
  }
42
42
  .pdfViewer .textLayer br::selection{
43
43
  background:transparent !important;
44
44
  background-color:transparent !important;
45
45
  }`;
46
- t(this.readerContainer.ownerDocument, r, !0, "pdf-renderer-other-css");
46
+ e(this.readerContainer.ownerDocument, r, !0, "pdf-renderer-other-css");
47
47
  }
48
48
  };
49
49
  //#endregion
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./textRects.cjs"),t=require("./selectionToFixedContentRange.cjs");exports.collectPageElements=e.collectPageElements,exports.getPageLayoutRef=t.getPageLayoutRef,exports.getPagedSelectionRects=e.getPagedSelectionRects,exports.getSelectionText=e.getSelectionText,exports.mergeClientRects=e.mergeClientRects,exports.mergeClientRectsToLines=e.mergeClientRectsToLines,exports.resolvePageNumberForRect=e.resolvePageNumberForRect,exports.scaleGeometryCoords=t.scaleGeometryCoords,exports.selectionToFixedContentRange=t.selectionToFixedContentRange;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./textRects.cjs"),t=require("./selectionToFixedContentRange.cjs");exports.collectPageElements=e.collectPageElements,exports.getPageLayoutRef=t.getPageLayoutRef,exports.getPagedSelectionRects=e.getPagedSelectionRects,exports.getSelectionText=e.getSelectionText,exports.mergeClientRects=e.mergeClientRects,exports.mergeClientRectsToLines=e.mergeClientRectsToLines,exports.normalizePageRotation=t.normalizePageRotation,exports.resolvePageNumberForRect=e.resolvePageNumberForRect,exports.rotateRectInPage=t.rotateRectInPage,exports.scaleGeometryCoords=t.scaleGeometryCoords,exports.selectionToFixedContentRange=t.selectionToFixedContentRange;
@@ -1,3 +1,3 @@
1
1
  import { collectPageElements as e, getPagedSelectionRects as t, getSelectionText as n, mergeClientRects as r, mergeClientRectsToLines as i, resolvePageNumberForRect as a } from "./textRects.mjs";
2
- import { getPageLayoutRef as o, scaleGeometryCoords as s, selectionToFixedContentRange as c } from "./selectionToFixedContentRange.mjs";
3
- export { e as collectPageElements, o as getPageLayoutRef, t as getPagedSelectionRects, n as getSelectionText, r as mergeClientRects, i as mergeClientRectsToLines, a as resolvePageNumberForRect, s as scaleGeometryCoords, c as selectionToFixedContentRange };
2
+ import { getPageLayoutRef as o, normalizePageRotation as s, rotateRectInPage as c, scaleGeometryCoords as l, selectionToFixedContentRange as u } from "./selectionToFixedContentRange.mjs";
3
+ export { e as collectPageElements, o as getPageLayoutRef, t as getPagedSelectionRects, n as getSelectionText, r as mergeClientRects, i as mergeClientRectsToLines, s as normalizePageRotation, a as resolvePageNumberForRect, c as rotateRectInPage, l as scaleGeometryCoords, u as selectionToFixedContentRange };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./textRects.cjs");var t=e=>{let t=e.getBoundingClientRect(),n=e.clientWidth,r=e.clientHeight;if(!(n<=0||r<=0))return{width:n,height:r,contentLeft:t.left+e.clientLeft,contentTop:t.top+e.clientTop}},n=(t,n)=>{let r=e.getPagedSelectionRects(t);if(r.length===0)return null;let i=[];for(let e of r){let t=n(e.pageNumber);if(!t)continue;let r=e.x-t.contentLeft,a=e.y-t.contentTop;i.push({pageNumber:e.pageNumber,width:t.width,height:t.height,shape:`rect`,coords:[r,a,e.width,e.height]})}return i.length===0?null:{kind:`fixed`,geometries:i}},r=(e,t,n)=>{let[r=0,i=0,a=0,o=0]=e.coords,s=e.width>0?t/e.width:1,c=e.height>0?n/e.height:1;return{x:r*s,y:i*c,width:a*s,height:o*c}};exports.getPageLayoutRef=t,exports.scaleGeometryCoords=r,exports.selectionToFixedContentRange=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./textRects.cjs");var t=e=>{let t=(Math.round(e)%360+360)%360;return Math.round(t/90)*90%360},n=(e,n,r,i,a,o,s)=>{switch(t(s)){case 90:return{x:o-n-i,y:e,width:i,height:r};case 180:return{x:a-e-r,y:o-n-i,width:r,height:i};case 270:return{x:n,y:a-e-r,width:i,height:r};default:return{x:e,y:n,width:r,height:i}}},r=e=>{let t=e.getBoundingClientRect(),n=e.clientWidth,r=e.clientHeight;if(!(n<=0||r<=0))return{width:n,height:r,contentLeft:t.left+e.clientLeft,contentTop:t.top+e.clientTop}},i=(n,r)=>{let i=e.getPagedSelectionRects(n);if(i.length===0)return null;let a=[];for(let e of i){let n=r(e.pageNumber);if(!n)continue;let i=e.x-n.contentLeft,o=e.y-n.contentTop,s={pageNumber:e.pageNumber,width:n.width,height:n.height,shape:`rect`,coords:[i,o,e.width,e.height],rotation:t(n.rotation??0)};a.push(s)}return a.length===0?null:{kind:`fixed`,geometries:a}},a=(e,r,i,a=0)=>{let[o=0,s=0,c=0,l=0]=e.coords,u=t(a-(e.rotation??0)),d=n(o,s,c,l,e.width,e.height,u),f=u%180==0?e.width:e.height,p=u%180==0?e.height:e.width,m=f>0?r/f:1,h=p>0?i/p:1;return{x:d.x*m,y:d.y*h,width:d.width*m,height:d.height*h,rotationDelta:u}};exports.getPageLayoutRef=r,exports.normalizePageRotation=t,exports.rotateRectInPage=n,exports.scaleGeometryCoords=a,exports.selectionToFixedContentRange=i;
@@ -5,13 +5,23 @@ export type PageLayoutRef = {
5
5
  height: number;
6
6
  contentLeft: number;
7
7
  contentTop: number;
8
+ rotation?: number;
8
9
  };
9
- export type PageLayoutResolver = (pageNumber: number) => PageLayoutRef | undefined;
10
- export declare const getPageLayoutRef: (pageEl: HTMLElement) => PageLayoutRef | undefined;
11
- export declare const selectionToFixedContentRange: (range: Range, resolveLayout: PageLayoutResolver) => FixedContentRange | null;
12
- export declare const scaleGeometryCoords: (geometry: ContentGeometry, currentWidth: number, currentHeight: number) => {
10
+ export type ScaledGeometryRect = {
13
11
  x: number;
14
12
  y: number;
15
13
  width: number;
16
14
  height: number;
15
+ rotationDelta: number;
17
16
  };
17
+ export declare const normalizePageRotation: (degrees: number) => number;
18
+ export declare const rotateRectInPage: (x: number, y: number, w: number, h: number, pageWidth: number, pageHeight: number, delta: number) => {
19
+ x: number;
20
+ y: number;
21
+ width: number;
22
+ height: number;
23
+ };
24
+ export type PageLayoutResolver = (pageNumber: number) => PageLayoutRef | undefined;
25
+ export declare const getPageLayoutRef: (pageEl: HTMLElement) => PageLayoutRef | undefined;
26
+ export declare const selectionToFixedContentRange: (range: Range, resolveLayout: PageLayoutResolver) => FixedContentRange | null;
27
+ export declare const scaleGeometryCoords: (geometry: ContentGeometry, currentWidth: number, currentHeight: number, currentRotation?: number) => ScaledGeometryRect;
@@ -1,6 +1,36 @@
1
1
  import { getPagedSelectionRects as e } from "./textRects.mjs";
2
2
  //#region mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.ts
3
3
  var t = (e) => {
4
+ let t = (Math.round(e) % 360 + 360) % 360;
5
+ return Math.round(t / 90) * 90 % 360;
6
+ }, n = (e, n, r, i, a, o, s) => {
7
+ switch (t(s)) {
8
+ case 90: return {
9
+ x: o - n - i,
10
+ y: e,
11
+ width: i,
12
+ height: r
13
+ };
14
+ case 180: return {
15
+ x: a - e - r,
16
+ y: o - n - i,
17
+ width: r,
18
+ height: i
19
+ };
20
+ case 270: return {
21
+ x: n,
22
+ y: a - e - r,
23
+ width: i,
24
+ height: r
25
+ };
26
+ default: return {
27
+ x: e,
28
+ y: n,
29
+ width: r,
30
+ height: i
31
+ };
32
+ }
33
+ }, r = (e) => {
4
34
  let t = e.getBoundingClientRect(), n = e.clientWidth, r = e.clientHeight;
5
35
  if (!(n <= 0 || r <= 0)) return {
6
36
  width: n,
@@ -8,39 +38,41 @@ var t = (e) => {
8
38
  contentLeft: t.left + e.clientLeft,
9
39
  contentTop: t.top + e.clientTop
10
40
  };
11
- }, n = (t, n) => {
12
- let r = e(t);
13
- if (r.length === 0) return null;
14
- let i = [];
15
- for (let e of r) {
16
- let t = n(e.pageNumber);
17
- if (!t) continue;
18
- let r = e.x - t.contentLeft, a = e.y - t.contentTop;
19
- i.push({
41
+ }, i = (n, r) => {
42
+ let i = e(n);
43
+ if (i.length === 0) return null;
44
+ let a = [];
45
+ for (let e of i) {
46
+ let n = r(e.pageNumber);
47
+ if (!n) continue;
48
+ let i = e.x - n.contentLeft, o = e.y - n.contentTop, s = {
20
49
  pageNumber: e.pageNumber,
21
- width: t.width,
22
- height: t.height,
50
+ width: n.width,
51
+ height: n.height,
23
52
  shape: "rect",
24
53
  coords: [
25
- r,
26
- a,
54
+ i,
55
+ o,
27
56
  e.width,
28
57
  e.height
29
- ]
30
- });
58
+ ],
59
+ rotation: t(n.rotation ?? 0)
60
+ };
61
+ a.push(s);
31
62
  }
32
- return i.length === 0 ? null : {
63
+ return a.length === 0 ? null : {
33
64
  kind: "fixed",
34
- geometries: i
65
+ geometries: a
35
66
  };
36
- }, r = (e, t, n) => {
37
- let [r = 0, i = 0, a = 0, o = 0] = e.coords, s = e.width > 0 ? t / e.width : 1, c = e.height > 0 ? n / e.height : 1;
67
+ }, a = (e, r, i, a = 0) => {
68
+ let [o = 0, s = 0, c = 0, l = 0] = e.coords, u = t(a - (e.rotation ?? 0)), d = n(o, s, c, l, e.width, e.height, u), f = u % 180 == 0 ? e.width : e.height, p = u % 180 == 0 ? e.height : e.width, m = f > 0 ? r / f : 1, h = p > 0 ? i / p : 1;
38
69
  return {
39
- x: r * s,
40
- y: i * c,
41
- width: a * s,
42
- height: o * c
70
+ x: d.x * m,
71
+ y: d.y * h,
72
+ width: d.width * m,
73
+ height: d.height * h,
74
+ rotationDelta: u
43
75
  };
44
76
  };
45
77
  //#endregion
46
- export { t as getPageLayoutRef, r as scaleGeometryCoords, n as selectionToFixedContentRange };
78
+ export { r as getPageLayoutRef, t as normalizePageRotation, n as rotateRectInPage, a as scaleGeometryCoords, i as selectionToFixedContentRange };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/common/text.cjs"),t=require("./bbox.cjs");var n=[`.`,`。`,`?`,`?`,`!`,`!`],r=.2,i=.15,a=/[。!?;:」》)"'\]]$/,o=.85,s=e=>typeof e==`object`&&!!e&&typeof e.str==`string`,c=(e,t,n)=>{for(let r=t;r>=0&&r<e.length;r+=n){let t=e[r];if(s(t)&&t.str&&!/^\s+$/.test(t.str))return t}return null},l=(e,t)=>{let n=Math.max(e.height,t.height,1)*.5;return Math.abs(e.transform[5]-t.transform[5])<=n},u=e=>e.width/Math.max(e.str.length,1),d=(e,t,n)=>{let r=t.transform[4]-(e.transform[4]+e.width);return n?Math.max(n.width,r,0):Math.max(r,0)},f=(t,n,o)=>{let s=t.str.trimEnd(),c=n.str.trimStart();if(!e.endsWithCjkIdeograph(s)||!e.startsWithCjkIdeograph(c)||o?.str.includes(` `)||t.hasEOL||t.fontName!==n.fontName||a.test(s))return!0;if(!l(t,n))return!1;let f=u(t),p=d(t,n,o);return s.length>1&&c.length>1&&p>f*i?!0:s.length===1&&c.length===1&&p<=f*r?!1:p>f*r},p=(t,n,r)=>{if(!/ +$/.test(t))return t;let i=t.replace(/ +$/,``);return!e.endsWithCjkIdeograph(i)||!e.startsWithCjkIdeograph(r.str)||f(n,r)?t:i},m=(e,t,n,r)=>r&&n&&!e.endsWith(`-`)?e+t+`
2
2
  `:e+t,h=(e,t,n)=>!n||!t.hasEOL||e.endsWith(`-`)?e:e+`
3
- `,g=(t,n)=>{let r=``,i=null;for(let a=0;a<t.length;a++){let o=t[a];if(!s(o))continue;if(!o.str){r=h(r,o,n),i=o;continue}if(/^\s+$/.test(o.str)){let e=i??c(t,a-1,-1),n=c(t,a+1,1);!e||!n?r+=o.str:f(e,n,o)&&(r+=` `);continue}let l=e.removeCJCharWhitespace(o.str);i&&(r=p(r,i,o)),r=m(r,l,o.hasEOL,n),i=o}return r},_=(e,t)=>({x1:Math.min(e.x1,t.x1),y1:Math.min(e.y1,t.y1),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),v=e=>Math.max(0,e.x2-e.x1)*Math.max(0,e.y2-e.y1),y=(e,t)=>{let n=Math.max(e.x1,t.x1),r=Math.max(e.y1,t.y1),i=Math.min(e.x2,t.x2),a=Math.min(e.y2,t.y2);return i<=n||a<=r?null:{x1:n,y1:r,x2:i,y2:a}},b=(e,t)=>{let n=y(e,t);if(!n)return 0;let r=v(n),i=Math.min(v(e),v(t));return i>0?r/i:0},x=e=>e.replace(/\s+/g,``),S=(e,t)=>{let n=x(e),r=x(t);return!n||!r?!1:n===r||n.includes(r)||r.includes(n)},C=e=>!!(!e.str||/^\s+$/.test(e.str)||e.width<=0&&e.height<=0),w=e=>{let t=e.transform[4],n=e.transform[5],r=Math.max(e.width,0),i=Math.max(e.height,0);return{x1:Math.min(t,t+r),y1:Math.min(n,n+i),x2:Math.max(t,t+r),y2:Math.max(n,n+i)}},T=e=>{let t=[];for(let n of e){if(C(n.item)){t.push(n);continue}let e=v(n.bounds),r=-1;for(let e=0;e<t.length;e++){let i=t[e];if(!C(i.item)&&S(i.item.str,n.item.str)&&!(b(i.bounds,n.bounds)<o)){r=e;break}}if(r<0){t.push(n);continue}let i=t[r],a=v(i.bounds);(e>a*1.01||Math.abs(e-a)<=a*.01&&n.item.str.length>i.item.str.length)&&(t[r]=n)}return t},E=e=>{let t=[];for(let n=0;n<e.length;n++){let r=e[n];s(r)&&t.push({item:r,bounds:w(r),sourceIndex:n})}let n=new Set(T(t).map(e=>e.sourceIndex));return e.filter((e,t)=>!s(e)||n.has(t))},D=(e,t)=>{let n=``;if(t?.removeCJWhitespace)n=g(e,!1);else for(let t of e)t.str&&(n=m(n,t.str,!1,!1));return t?.removeConsecutiveWhitespaceCharacters&&(n=n.trim(),n=n.replace(/[\f\t\v]+/g,``)),n},O=(e,n,r,i,a)=>{let o=t.computeSpanBoundsInViewport(e,n,r.transform);return t.mapBoundsToTargetSize(o,r.width,r.height,i,a)},k=async(e,n,r)=>{let i=t.computeViewport(e,n),a=i.height,o=await e.getTextContent(),c=[];for(let e of o.items){if(!s(e))continue;let t=e;if(!t.str&&t.width<=0&&t.height<=0&&!t.hasEOL)continue;let r=o.styles[t.fontName],l=O(t,r,i,n,a);c.push({item:t,bounds:l})}let l=T(c),u=[],d=[],f=null,p=()=>{if(d.length===0)return;let e=D(d.map(e=>e.item),r),t=d.map(e=>e.bounds).reduce((e,t)=>_(e,t));e&&u.push({text:e,rect:t}),d=[]};for(let e of l)f?.hasEOL&&p(),d.push(e),f=e.item;return p(),u},A=async(e,t)=>{let r=``,i=E((await e.getTextContent()).items),a=t?.combineLines||t?.convertEOLToCRLF||t?.removeConsecutiveBlankLine||t?.removeConsecutiveWhitespaceCharacters||t?.convertLFToWhitespace||t?.removeCJWhitespace;if(t?.removeCJWhitespace?r=g(i,a):i.forEach(e=>{if(s(e)){if(!e.str){r=h(r,e,a);return}r=m(r,e.str,e.hasEOL,a)}}),t?.combineLines){let e=``,t=r.split(`
3
+ `,g=()=>({text:``,runs:[]}),_=(e,t,n)=>{t&&(n&&e.runs.push({start:e.text.length,length:t.length,item:n}),e.text+=t)},v=(e,t)=>{for(;e.text.length>t.length;){let t=e.runs[e.runs.length-1];if(t&&t.start+t.length===e.text.length&&t.length>0){--t.length,e.text=e.text.slice(0,-1),t.length<=0&&e.runs.pop();continue}e.text=e.text.slice(0,-1)}},y=(t,n)=>{let r=g(),i=null;for(let a=0;a<t.length;a++){let o=t[a];if(!s(o))continue;if(!o.str){_(r,h(r.text,o,n).slice(r.text.length),o),i=o;continue}if(/^\s+$/.test(o.str)){let e=i??c(t,a-1,-1),n=c(t,a+1,1);!e||!n?_(r,o.str,o):f(e,n,o)&&_(r,` `,o);continue}let l=e.removeCJCharWhitespace(o.str);i&&v(r,p(r.text,i,o)),_(r,m(r.text,l,o.hasEOL,n).slice(r.text.length),o),i=o}return r},b=(e,t)=>y(e,t).text,x=(e,t)=>{let n=!!(t?.combineLines||t?.convertEOLToCRLF||t?.removeConsecutiveBlankLine||t?.removeConsecutiveWhitespaceCharacters);if(t?.removeCJWhitespace)return y(e,n);let r=g();for(let t of e)if(s(t)){if(!t.str){_(r,h(r.text,t,n).slice(r.text.length),t);continue}_(r,m(r.text,t.str,t.hasEOL,n).slice(r.text.length),t)}return r},S=(e,t)=>{if(e.length===0)return;for(let n of e){if(t<n.start)return{item:n.item,local:0,length:n.length};if(t<n.start+n.length)return{item:n.item,local:t-n.start,length:n.length}}let n=e[e.length-1];return{item:n.item,local:n.length,length:n.length}},C=(e,t,n)=>{let r=e.gen??0;return`[{"num":${e.num},"gen":${r}},{"name":"XYZ"},${t},${n},0]`},w=async(e,t,n)=>{let r=e.ref;if(!r||r.num==null)return;let i=x(V((await e.getTextContent()).items)),a=Math.max(0,t);if(n){let e=i.text.indexOf(n),t=n.replace(/\s+/g,` `).trim(),r=e>=0?e:t?i.text.indexOf(t):-1;r>=0&&(a=r)}let o=S(i.runs,a);if(!o)return;let s=Math.max(o.length,1),c=Math.min(Math.max(o.local,0),s)/s;return C(r,o.item.transform[4]+c*Math.max(o.item.width,0),o.item.transform[5]+Math.max(o.item.height,0))},T=(e,t)=>({x1:Math.min(e.x1,t.x1),y1:Math.min(e.y1,t.y1),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),E=e=>Math.max(0,e.x2-e.x1)*Math.max(0,e.y2-e.y1),D=(e,t)=>{let n=Math.max(e.x1,t.x1),r=Math.max(e.y1,t.y1),i=Math.min(e.x2,t.x2),a=Math.min(e.y2,t.y2);return i<=n||a<=r?null:{x1:n,y1:r,x2:i,y2:a}},O=(e,t)=>{let n=D(e,t);if(!n)return 0;let r=E(n),i=Math.min(E(e),E(t));return i>0?r/i:0},k=e=>e.replace(/\s+/g,``),A=(e,t)=>{let n=k(e),r=k(t);return!n||!r?!1:n===r||n.includes(r)||r.includes(n)},j=e=>!!(!e.str||/^\s+$/.test(e.str)||e.width<=0&&e.height<=0),M=e=>{let t=e.transform[4],n=e.transform[5],r=Math.max(e.width,0),i=Math.max(e.height,0);return{x1:Math.min(t,t+r),y1:Math.min(n,n+i),x2:Math.max(t,t+r),y2:Math.max(n,n+i)}},N=e=>{let t=[];for(let n of e){if(j(n.item))continue;let e=n.bounds.y2-n.bounds.y1;e>0&&t.push(e)}return t.length===0?12:(t.sort((e,t)=>e-t),Math.max(t[t.length>>1],1))},P=(e,t,n)=>{let r=Math.floor(e.x1/t),i=Math.max(r,Math.ceil(e.x2/t)-1),a=Math.floor(e.y1/t),o=Math.max(a,Math.ceil(e.y2/t)-1);for(let e=a;e<=o;e++)for(let t=r;t<=i;t++)n(t,e)},F=(e,t,n,r)=>{P(t,n,(t,n)=>{let i=e.get(t);i||(i=new Map,e.set(t,i));let a=i.get(n);if(a){a.push(r);return}i.set(n,[r])})},I=(e,t,n,r)=>{P(t,n,(t,n)=>{let i=e.get(t)?.get(n);if(!i)return;let a=i.indexOf(r);a>=0&&i.splice(a,1)})},L=(e,t,n)=>{let r=[],i=new Set;return P(t,n,(t,n)=>{let a=e.get(t)?.get(n);if(a)for(let e of a)i.has(e)||(i.add(e),r.push(e))}),r.sort((e,t)=>e-t),r},R=(e,t)=>A(e.item.str,t.item.str)&&O(e.bounds,t.bounds)>=o,z=(e,t,n,r)=>e>t*1.01||Math.abs(e-t)<=t*.01&&n>r,B=e=>{let t=[],n=new Map,r=N(e);for(let i of e){if(j(i.item)){t.push(i);continue}let e=-1;for(let a of L(n,i.bounds,r)){let n=t[a];if(R(n,i)){e=a;break}}if(e<0){F(n,i.bounds,r,t.length),t.push(i);continue}let a=t[e];z(E(i.bounds),E(a.bounds),i.item.str.length,a.item.str.length)&&(I(n,a.bounds,r,e),t[e]=i,F(n,i.bounds,r,e))}return t},V=e=>{let t=[];for(let n=0;n<e.length;n++){let r=e[n];s(r)&&t.push({item:r,bounds:M(r),sourceIndex:n})}let n=new Set(B(t).map(e=>e.sourceIndex));return e.filter((e,t)=>!s(e)||n.has(t))},H=(e,t)=>{let n=``;if(t?.removeCJWhitespace)n=b(e,!1);else for(let t of e)t.str&&(n=m(n,t.str,!1,!1));return t?.removeConsecutiveWhitespaceCharacters&&(n=n.trim(),n=n.replace(/[\f\t\v]+/g,``)),n},U=(e,n,r,i,a)=>{let o=t.computeSpanBoundsInViewport(e,n,r.transform);return t.mapBoundsToTargetSize(o,r.width,r.height,i,a)},W=async(e,n,r)=>{let i=t.computeViewport(e,n),a=i.height,o=await e.getTextContent(),c=[];for(let e of o.items){if(!s(e))continue;let t=e;if(!t.str&&t.width<=0&&t.height<=0&&!t.hasEOL)continue;let r=o.styles[t.fontName],l=U(t,r,i,n,a);c.push({item:t,bounds:l})}let l=B(c),u=[],d=[],f=null,p=()=>{if(d.length===0)return;let e=H(d.map(e=>e.item),r),t=d.map(e=>e.bounds).reduce((e,t)=>T(e,t));e&&u.push({text:e,rect:t}),d=[]};for(let e of l)f?.hasEOL&&p(),d.push(e),f=e.item;return p(),u},G=async(e,t)=>{let r=x(V((await e.getTextContent()).items),t).text;if(t?.combineLines){let e=``,t=r.split(`
4
4
  `);for(let r of t){let t=r.trim();if(!t)continue;e+=t;let i=t.substring(t.length-1);n.includes(i)&&(e+=`
5
- `)}r=e}return t?.removeConsecutiveWhitespaceCharacters&&(r=r.trim(),r=r.replace(/[\f\t\v]+/g,``),r=r.replace(/^\s*[\r\n]\s*/gm,``)),r};exports.getPageText=A,exports.getPageTextItems=k;
5
+ `)}r=e}return t?.removeConsecutiveWhitespaceCharacters&&(r=r.trim(),r=r.replace(/[\f\t\v]+/g,``),r=r.replace(/^\s*[\r\n]\s*/gm,``)),r};exports.buildPdfXyzDestAtTextOffset=w,exports.formatPdfXyzDest=C,exports.getPageText=G,exports.getPageTextItems=W;
@@ -5,5 +5,19 @@ export type PdfPageTextLineItem = {
5
5
  text: string;
6
6
  rect: PdfAxisAlignedRect;
7
7
  };
8
+ export declare const formatPdfXyzDest: (ref: {
9
+ num: number;
10
+ gen?: number | string;
11
+ }, x: number, y: number) => string;
12
+ export type PdfDestPage = {
13
+ ref?: {
14
+ num: number;
15
+ gen?: number | string;
16
+ } | null;
17
+ getTextContent: (params?: unknown) => Promise<{
18
+ items: unknown[];
19
+ }>;
20
+ };
21
+ export declare const buildPdfXyzDestAtTextOffset: (page: PdfDestPage, offset: number, snippet?: string) => Promise<string | undefined>;
8
22
  export declare const getPageTextItems: (page: any, width: number, options?: TextFormatOptions) => Promise<PdfPageTextLineItem[]>;
9
23
  export declare const getPageText: (page: any, options?: TextFormatOptions) => Promise<string>;