@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,32 +1,32 @@
1
- import { BrowserCapabilities as e } from "../../../kernal/web/BrowserCapabilities.mjs";
2
- import { isNullOrWhiteSpace as t } from "../../../kernal/common/text.mjs";
3
- import { checkIsAbsoluteUrl as n, checkIsBlobUrl as r, getFullUrl as i, getUrlFragment as a } from "../../../kernal/common/url.mjs";
4
- import { getMimetype as o } from "../../../kernal/common/mimetypes.mjs";
5
- import { getExtension as s, getFileName as c } from "../../../kernal/common/path.mjs";
6
- import { Metadata as l } from "../../../kernal/Metadata.mjs";
7
- import { FileLocation as u } from "../../../kernal/progress/Progress.mjs";
8
- import { FilePackage as d } from "../../../kernal/IFileParser.mjs";
9
- import { toBlob as f } from "../../../kernal/common/buffer.mjs";
10
- import { isNumber as p } from "../../../kernal/common/number.mjs";
11
- import { DecryptFile as m } from "../../../kernal/services/file/IFileDecrypter.mjs";
1
+ import { isNullOrWhiteSpace as e } from "../../../kernal/common/text.mjs";
2
+ import { checkIsAbsoluteUrl as t, checkIsBlobUrl as n, getFullUrl as r, getUrlFragment as i } from "../../../kernal/common/url.mjs";
3
+ import { getMimetype as a } from "../../../kernal/common/mimetypes.mjs";
4
+ import { getExtension as o, getFileName as s } from "../../../kernal/common/path.mjs";
5
+ import { Metadata as c } from "../../../kernal/Metadata.mjs";
6
+ import { FileLocation as l } from "../../../kernal/progress/Progress.mjs";
7
+ import { FilePackage as u } from "../../../kernal/IFileParser.mjs";
8
+ import { toBlob as d } from "../../../kernal/common/buffer.mjs";
9
+ import { isNumber as f } from "../../../kernal/common/number.mjs";
10
+ import { DecryptFile as p } from "../../../kernal/services/file/IFileDecrypter.mjs";
11
+ import { yieldToMain as m } from "../../../kernal/web/scheduler.mjs";
12
12
  import { Nav as h, NavPoint as g } from "../../../kernal/nav/Nav.mjs";
13
13
  import { FileUrlParserOptions as _ } from "../../../kernal/services/fileUrlParser/IFileUrlParser.mjs";
14
14
  //#region mediaTypes/base/fileParser/BaseFileParser.ts
15
15
  var v = class {
16
16
  constructor(e, t, n, r, i, a, o) {
17
- this.crypto = e, this.fileDecrypter = t, this.fileProvider = n, this.fileUrlParser = r, this.httpClient = i, this.url = a, this.extension = o, this.nav = new h(), this.metadata = new l(), this.spineFiles = [];
17
+ this.crypto = e, this.fileDecrypter = t, this.fileProvider = n, this.fileUrlParser = r, this.httpClient = i, this.url = a, this.extension = o, this.nav = new h(), this.metadata = new c(), this.spineFiles = [];
18
18
  }
19
19
  async buildLocation(e, t) {
20
20
  let n = typeof e == "string" ? new g("", e) : e;
21
- return new u(n.url, 1, "ratio");
21
+ return new l(n.url, 1, "ratio");
22
22
  }
23
23
  async getTextDocuments() {
24
24
  return [];
25
25
  }
26
26
  async getTextDocument(e) {
27
27
  let t = await this.getTextDocuments();
28
- if (p(e)) return t[parseInt(e)];
29
- let n = a(e).urlWithoutAnchor;
28
+ if (f(e)) return t[parseInt(e)];
29
+ let n = i(e).urlWithoutAnchor;
30
30
  return t.find((e) => e.url == n);
31
31
  }
32
32
  get isMultiFiles() {
@@ -43,7 +43,7 @@ var v = class {
43
43
  t ??= new _();
44
44
  let n = await this.fileUrlParser.parse(e, t);
45
45
  if (this.fileDecrypter && n.data) {
46
- let e = this.url instanceof d ? this.url.customKey : "", t = typeof this.url == "string" ? this.url : "", r = this.extension || "", i = new m(r, new Uint8Array(n.data), t);
46
+ let e = this.url instanceof u ? this.url.customKey : "", t = typeof this.url == "string" ? this.url : "", r = this.extension || "", i = new p(r, new Uint8Array(n.data), t);
47
47
  i.key = e;
48
48
  let a = await this.fileDecrypter.decrypt(i);
49
49
  a && (n.data = a.buffer);
@@ -53,23 +53,23 @@ var v = class {
53
53
  async initializeDatas(e) {
54
54
  this.urlParseResult = e, this.currentIsMultiFiles = e.isMultiFiles ?? !1, this.spineFiles = e.spineFiles ?? [], e?.metadata && (this.metadata = e.metadata), e?.nav && (this.nav = e.nav);
55
55
  }
56
- async measureFilePercentage(t, n) {
57
- if (!t) return;
58
- if (!t.find((e) => e.symbolCount == null)) {
59
- t[0]?.ratio != null && this.applyProgressRanges(t);
56
+ async measureFilePercentage(e, t) {
57
+ if (!e) return;
58
+ if (!e.find((e) => e.symbolCount == null)) {
59
+ e[0]?.ratio != null && this.applyProgressRanges(e);
60
60
  return;
61
61
  }
62
- let r = t.length;
63
- if (n) for (let n = 0; n < r; n++) {
64
- let r = t[n];
65
- r.ratio == null && (r.symbolCount == null || r.symbolCount <= 0) && (r.symbolCount = await this.calculateSymbolCount(r, "custom"), r.charSymbolCount = await this.calculateSymbolCount(r, "char")), await e.yieldToMain();
62
+ let n = e.length;
63
+ if (t) for (let t = 0; t < n; t++) {
64
+ let n = e[t];
65
+ n.ratio == null && (n.symbolCount == null || n.symbolCount <= 0) && (n.symbolCount = await this.calculateSymbolCount(n, "custom"), n.charSymbolCount = await this.calculateSymbolCount(n, "char")), await m();
66
66
  }
67
- let i = 0, a = 0;
68
- t.forEach((e) => {
69
- (e.symbolCount == null || e.symbolCount <= 0) && (e.symbolCount = 1), i += e.symbolCount, a += e.charSymbolCount ?? 0;
70
- }), i <= 0 && (i = 1), a <= 0 && (a = 1), t.forEach((e) => {
71
- e.ratio ??= e.symbolCount / i, e.charRatio = (e.charSymbolCount ?? 0) / a;
72
- }), this.applyProgressRanges(t);
67
+ let r = 0, i = 0;
68
+ e.forEach((e) => {
69
+ (e.symbolCount == null || e.symbolCount <= 0) && (e.symbolCount = 1), r += e.symbolCount, i += e.charSymbolCount ?? 0;
70
+ }), r <= 0 && (r = 1), i <= 0 && (i = 1), e.forEach((e) => {
71
+ e.ratio ??= e.symbolCount / r, e.charRatio = (e.charSymbolCount ?? 0) / i;
72
+ }), this.applyProgressRanges(e);
73
73
  }
74
74
  applyProgressRanges(e) {
75
75
  let t = 0, n = 0;
@@ -85,7 +85,7 @@ var v = class {
85
85
  return e.data ? e.data instanceof ArrayBuffer ? e.data : e.data instanceof Blob ? await e.data.arrayBuffer() : null : null;
86
86
  }
87
87
  async getMetadata() {
88
- return this.metadata ||= new l(), this.metadata;
88
+ return this.metadata ||= new c(), this.metadata;
89
89
  }
90
90
  async getEntryFile() {
91
91
  return (await this.getSpineFiles())[0];
@@ -113,7 +113,7 @@ var v = class {
113
113
  try {
114
114
  i = await this.getFileBlob(e, t);
115
115
  } catch {
116
- i = f(/* @__PURE__ */ new Uint8Array());
116
+ i = d(/* @__PURE__ */ new Uint8Array());
117
117
  }
118
118
  return r.blob = i, r[n];
119
119
  }
@@ -121,38 +121,38 @@ var v = class {
121
121
  }
122
122
  async getFileBlob(e, t) {
123
123
  let { data: n, type: r } = await this.getFileBytes(e, t);
124
- return f(n, { type: r });
125
- }
126
- async getFileBytes(e, r) {
127
- if (t(e)) throw Error("File url is empty");
128
- let i = this.buildUrl(e, r);
129
- if (t(i)) throw Error("File url is empty");
130
- let a;
131
- if (this.fileProvider) a = await this.fileProvider.getFile(e, r);
124
+ return d(n, { type: r });
125
+ }
126
+ async getFileBytes(n, r) {
127
+ if (e(n)) throw Error("File url is empty");
128
+ let i = this.buildUrl(n, r);
129
+ if (e(i)) throw Error("File url is empty");
130
+ let s;
131
+ if (this.fileProvider) s = await this.fileProvider.getFile(n, r);
132
132
  else {
133
- if (!n(i)) throw Error(`Cannot fetch relative file without fileProvider: ${i}`);
134
- a = await this.httpClient.get(i, {
133
+ if (!t(i)) throw Error(`Cannot fetch relative file without fileProvider: ${i}`);
134
+ s = await this.httpClient.get(i, {
135
135
  responseType: "arraybuffer",
136
136
  timeout: 6e5
137
137
  });
138
138
  }
139
- let c = s(e) || "", l;
139
+ let c = o(n) || "", l;
140
140
  if (this.fileDecrypter) {
141
- let e = this.url instanceof d ? this.url.customKey : "", t = new m(c, new Uint8Array(a), i);
141
+ let e = this.url instanceof u ? this.url.customKey : "", t = new p(c, new Uint8Array(s), i);
142
142
  t.key = e, l = await this.fileDecrypter.decrypt(t);
143
- } else l = new Uint8Array(a);
144
- let u = o(e);
143
+ } else l = new Uint8Array(s);
144
+ let d = a(n);
145
145
  return {
146
146
  data: l,
147
- type: u
147
+ type: d
148
148
  };
149
149
  }
150
- buildUrl(e, t) {
151
- if (n(e)) return e;
152
- let r = "", a = t?.lastIndexOf("/");
153
- a > 0 && (r = t.substring(0, a + 1));
154
- let o = i(e, r);
155
- return n(r) ? e = o.toString() : (e = o.pathname + o.search, e = e.substring(1)), e;
150
+ buildUrl(e, n) {
151
+ if (t(e)) return e;
152
+ let i = "", a = n?.lastIndexOf("/");
153
+ a > 0 && (i = n.substring(0, a + 1));
154
+ let o = r(e, i);
155
+ return t(i) ? e = o.toString() : (e = o.pathname + o.search, e = e.substring(1)), e;
156
156
  }
157
157
  async getNav() {
158
158
  return this.nav;
@@ -160,11 +160,11 @@ var v = class {
160
160
  async getSpineFile(e) {
161
161
  if (e == null) return null;
162
162
  let t = await this.getSpineFiles();
163
- if (p(e)) return t[parseInt(e)];
164
- let n = a(e).urlWithoutAnchor, r = t.find((e) => e.url == n);
163
+ if (f(e)) return t[parseInt(e)];
164
+ let n = i(e).urlWithoutAnchor, r = t.find((e) => e.url == n);
165
165
  if (r) return r;
166
- let i = c(e);
167
- return t.find((e) => c(e.url).toLowerCase() == i.toLowerCase());
166
+ let a = s(e);
167
+ return t.find((e) => s(e.url).toLowerCase() == a.toLowerCase());
168
168
  }
169
169
  async getSpineFiles() {
170
170
  return this.spineFiles;
@@ -174,8 +174,8 @@ var v = class {
174
174
  }
175
175
  revokeOwnedBlobUrls() {
176
176
  let e = /* @__PURE__ */ new Set();
177
- this.urlParseResult?.mainUrl && r(this.urlParseResult.mainUrl) && e.add(this.urlParseResult.mainUrl);
178
- for (let t of this.spineFiles ?? []) t?.url && r(t.url) && e.add(t.url);
177
+ this.urlParseResult?.mainUrl && n(this.urlParseResult.mainUrl) && e.add(this.urlParseResult.mainUrl);
178
+ for (let t of this.spineFiles ?? []) t?.url && n(t.url) && e.add(t.url);
179
179
  for (let t of e) try {
180
180
  URL.revokeObjectURL(t);
181
181
  } catch {}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../kernal/common/uuid.cjs");require("../../kernal/Constants.cjs");const t=require("../../kernal/html/finder.cjs"),n=require("../../kernal/html/types.cjs"),r=require("../../kernal/html/text.cjs"),i=require("../../kernal/html/position.cjs");var a=[`object`,`svg`,`embed`,`audio`,`video`,`canvas`,`img`],o=new Map,s=new Map,c=e=>e.ownerDocument?e:t.getDocumentBody(e),l=e=>{let t=c(e).childNodes;for(let e of t)if(e.nodeType==Node.TEXT_NODE&&e.textContent?.trim())return!0;return!1},u=e=>{let t=0;for(let n of a)t+=e.getElementsByTagName(n).length;return t},d=(i,l)=>{let u=o.get(i);u||(u=e.getUuid(),o.set(i,u));let d=`${l}${u}`,f=c(i),p=s.get(d);if(p&&p.length==f.getElementsByTagName(`*`).length+1)return p;let m=[],h=0,g=t.getAllNodes(f);for(let e=0;e<g.length;e++){let i=g[e];if(i.nodeType==Node.ELEMENT_NODE){let e=i;m.push(new n.SymbolOffset(e,h)),l==`custom`&&t.checkIsOtherNonWhiteSpaceSymbol(e.tagName,a)&&(h+=1)}else i.nodeType==Node.TEXT_NODE&&(h+=r.getPureInnerTextLength(i))}let _=m.reverse();return s.set(d,_),_},f=class{constructor(){this.defaultSymbolType=`custom`,this.count=(e,t)=>{let n=t??this.defaultSymbolType,i=c(e),a=r.getPureInnerTextLength(i);return n==`custom`&&(a+=u(i)),a},this.getElementByProgress=(e,t,n)=>{let r=n??this.defaultSymbolType,i=t??0,a=Math.ceil(this.count(e,r)*i);return this.getElementByPosition(e,a,r)},this.getProgressByElement=(e,t,n,r)=>{let i=n??this.defaultSymbolType,a=this.count(e,i);return this.getPositionByElement(e,t,i,r)/a},this.getPositionByElement=(e,n,r,i)=>{let a=r??this.defaultSymbolType,o;if(n.tagIndex>=0){let r=n;o=t.getElementByNameAndIndex(e,r.tagName,r.tagIndex??0)}else o=n;if(!o)return-1;let s=d(e,a).find(e=>e.element==o);return(s?s.offset:-1)+(i??0)},this.getElementByPosition=(e,o,s,u)=>{let f=s??this.defaultSymbolType,p=d(e,f),m=p.findIndex(e=>o>=e.offset);if(m<0)return null;let h=p[m];if(!h.element.getAttribute(`data-initial-index`)){let e=p.length-1;for(;m<e&&(m++,h=p[m],!h.element.getAttribute(`data-initial-index`)););}let g,_=o-h.offset,v=this.count(h.element,f);if(_==0&&u&&m<p.length-1&&(h=p[m+1]),_=o-h.offset,v=this.count(h.element,f),_>v){if(m==0)g=v;else if(h=p.find(e=>e.element==h.element.parentElement),h||=l(e)?new n.SymbolOffset(c(e),0):p[m-1],!l(e)&&f==`char`&&t.compareTagName(h.element.tagName,`BODY`)){let e=p[m-1];e&&e.offset>=o&&(h=e)}}if(!l(e)&&f==`char`&&t.compareTagName(h.element.tagName,`BODY`)){let e=h.element.children,t;for(let n=0;n<e.length;n++)if(!a.includes(e[n].tagName.toLowerCase())){t=e[n];break}if(t)return new i.ElementPositionResult(t,0,0)}if(g===void 0){if(g=o-h.offset,g<0)g=0;else if(f==`char`){v=r.getPureInnerTextLength(h.element);let e=0;for(;g>v&&e<256;){e++;let t=p.find(e=>e.element===h.element.parentElement);if(!t){g=v;break}if(h=t,v=r.getPureInnerTextLength(h.element),g=o-h.offset,g<0){g=0;break}}g>v&&(g=v)}}let y=t.getElementIndex(e,h.element);return y==-1&&t.compareTagName(h.element.tagName,`BODY`)&&(y=-2),new i.ElementPositionResult(h.element,y,g)}}},p=new f;exports.DefaultHtmlSymbolMeasure=f,exports.defaultHtmlSymbolMeasure=p;
@@ -0,0 +1,13 @@
1
+ import { ElementPositionResult } from '../../kernal/html/position';
2
+ import { SymbolType, TagDescriptor } from '../../kernal/types';
3
+ import { IHtmlSymbolMeasure } from './IHtmlSymbolMeasure';
4
+
5
+ export declare class DefaultHtmlSymbolMeasure implements IHtmlSymbolMeasure {
6
+ readonly defaultSymbolType: SymbolType;
7
+ count: (root: Document | Element, symbolType?: SymbolType) => number;
8
+ getElementByProgress: (root: Document | Element, progress: number, symbolType?: SymbolType) => ElementPositionResult;
9
+ getProgressByElement: (root: Document | Element, element: TagDescriptor | Element, symbolType?: SymbolType, internalSymbolOffset?: number) => number;
10
+ getPositionByElement: (root: Document | Element, tag: TagDescriptor | Element, symbolType?: SymbolType, internalSymbolOffset?: number) => number;
11
+ getElementByPosition: (root: Document | Element, symbolPosition: number, symbolType?: SymbolType, preferEnd?: boolean) => ElementPositionResult;
12
+ }
13
+ export declare const defaultHtmlSymbolMeasure: DefaultHtmlSymbolMeasure;
@@ -0,0 +1,109 @@
1
+ import { getUuid as e } from "../../kernal/common/uuid.mjs";
2
+ import "../../kernal/Constants.mjs";
3
+ import { checkIsOtherNonWhiteSpaceSymbol as t, compareTagName as n, getAllNodes as r, getDocumentBody as i, getElementByNameAndIndex as a, getElementIndex as o } from "../../kernal/html/finder.mjs";
4
+ import { SymbolOffset as s } from "../../kernal/html/types.mjs";
5
+ import { getPureInnerTextLength as c } from "../../kernal/html/text.mjs";
6
+ import { ElementPositionResult as l } from "../../kernal/html/position.mjs";
7
+ //#region mediaTypes/html/DefaultHtmlSymbolMeasure.ts
8
+ var u = [
9
+ "object",
10
+ "svg",
11
+ "embed",
12
+ "audio",
13
+ "video",
14
+ "canvas",
15
+ "img"
16
+ ], d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = (e) => e.ownerDocument ? e : i(e), m = (e) => {
17
+ let t = p(e).childNodes;
18
+ for (let e of t) if (e.nodeType == Node.TEXT_NODE && e.textContent?.trim()) return !0;
19
+ return !1;
20
+ }, h = (e) => {
21
+ let t = 0;
22
+ for (let n of u) t += e.getElementsByTagName(n).length;
23
+ return t;
24
+ }, g = (n, i) => {
25
+ let a = d.get(n);
26
+ a || (a = e(), d.set(n, a));
27
+ let o = `${i}${a}`, l = p(n), m = f.get(o);
28
+ if (m && m.length == l.getElementsByTagName("*").length + 1) return m;
29
+ let h = [], g = 0, _ = r(l);
30
+ for (let e = 0; e < _.length; e++) {
31
+ let n = _[e];
32
+ if (n.nodeType == Node.ELEMENT_NODE) {
33
+ let e = n;
34
+ h.push(new s(e, g)), i == "custom" && t(e.tagName, u) && (g += 1);
35
+ } else n.nodeType == Node.TEXT_NODE && (g += c(n));
36
+ }
37
+ let v = h.reverse();
38
+ return f.set(o, v), v;
39
+ }, _ = class {
40
+ constructor() {
41
+ this.defaultSymbolType = "custom", this.count = (e, t) => {
42
+ let n = t ?? this.defaultSymbolType, r = p(e), i = c(r);
43
+ return n == "custom" && (i += h(r)), i;
44
+ }, this.getElementByProgress = (e, t, n) => {
45
+ let r = n ?? this.defaultSymbolType, i = t ?? 0, a = Math.ceil(this.count(e, r) * i);
46
+ return this.getElementByPosition(e, a, r);
47
+ }, this.getProgressByElement = (e, t, n, r) => {
48
+ let i = n ?? this.defaultSymbolType, a = this.count(e, i);
49
+ return this.getPositionByElement(e, t, i, r) / a;
50
+ }, this.getPositionByElement = (e, t, n, r) => {
51
+ let i = n ?? this.defaultSymbolType, o;
52
+ if (t.tagIndex >= 0) {
53
+ let n = t;
54
+ o = a(e, n.tagName, n.tagIndex ?? 0);
55
+ } else o = t;
56
+ if (!o) return -1;
57
+ let s = g(e, i).find((e) => e.element == o);
58
+ return (s ? s.offset : -1) + (r ?? 0);
59
+ }, this.getElementByPosition = (e, t, r, i) => {
60
+ let a = r ?? this.defaultSymbolType, d = g(e, a), f = d.findIndex((e) => t >= e.offset);
61
+ if (f < 0) return null;
62
+ let h = d[f];
63
+ if (!h.element.getAttribute("data-initial-index")) {
64
+ let e = d.length - 1;
65
+ for (; f < e && (f++, h = d[f], !h.element.getAttribute("data-initial-index")););
66
+ }
67
+ let _, v = t - h.offset, y = this.count(h.element, a);
68
+ if (v == 0 && i && f < d.length - 1 && (h = d[f + 1]), v = t - h.offset, y = this.count(h.element, a), v > y) {
69
+ if (f == 0) _ = y;
70
+ else if (h = d.find((e) => e.element == h.element.parentElement), h ||= m(e) ? new s(p(e), 0) : d[f - 1], !m(e) && a == "char" && n(h.element.tagName, "BODY")) {
71
+ let e = d[f - 1];
72
+ e && e.offset >= t && (h = e);
73
+ }
74
+ }
75
+ if (!m(e) && a == "char" && n(h.element.tagName, "BODY")) {
76
+ let e = h.element.children, t;
77
+ for (let n = 0; n < e.length; n++) if (!u.includes(e[n].tagName.toLowerCase())) {
78
+ t = e[n];
79
+ break;
80
+ }
81
+ if (t) return new l(t, 0, 0);
82
+ }
83
+ if (_ === void 0) {
84
+ if (_ = t - h.offset, _ < 0) _ = 0;
85
+ else if (a == "char") {
86
+ y = c(h.element);
87
+ let e = 0;
88
+ for (; _ > y && e < 256;) {
89
+ e++;
90
+ let n = d.find((e) => e.element === h.element.parentElement);
91
+ if (!n) {
92
+ _ = y;
93
+ break;
94
+ }
95
+ if (h = n, y = c(h.element), _ = t - h.offset, _ < 0) {
96
+ _ = 0;
97
+ break;
98
+ }
99
+ }
100
+ _ > y && (_ = y);
101
+ }
102
+ }
103
+ let b = o(e, h.element);
104
+ return b == -1 && n(h.element.tagName, "BODY") && (b = -2), new l(h.element, b, _);
105
+ };
106
+ }
107
+ }, v = new _();
108
+ //#endregion
109
+ export { _ as DefaultHtmlSymbolMeasure, v as defaultHtmlSymbolMeasure };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../kernal/Constants.cjs");var t=class{constructor(){this.writingMode=`horizontal-tb`,this.direction=`ltr`,this.flipMode=`scroll`,this.columns=1,this.autoColumns=!0,this.forceScroll=!1,this.flipPageStyle=`none`,this.preventParentElementScroll=!1,this.maxColumns=10,this.columnGap=40,this.enableColumnRule=!0,this.columnWidth=768,this.multiColumnWidthFactor=.8,this.enableRedirectAnimation=!0,this.contentWrapperMarginBottom=10,this.contentWrapperMarginTop=10,this.contentWrapperBorderRadius=3,this.enableContentWrapperBorderRadius=!0,this.contentsShadowMargin=10,this.preloadFileCount=1,this.singleDocMaxSize=52428800,this.maxImageWidthRatio=.7,this.maxImageHeightRatio=.7,this.fontFamily=`'Roboto','Helvetica Neue', 'Helvetica', 'Arial','Microsoft YaHei','PingFang SC', 'sans-serif'`,this.fontWeight=`normal`,this.lighterFontWeight=`300`,this.fontSize=`18px`,this.preferSrcdoc=!1,this.nonWhiteSpaceSymbolTagNames=[`object`,`svg`,`embed`,`audio`,`video`,`canvas`,`img`],this.htmlBlockTags=`mt.h1.h2.h3.h4.h5.h6.div.p.ol.ul.li.dl.dt.dd.hr.center.pre.table.tr.td.thead.tbody.tfoot.caption.address.fieldset.form.legend.noscript.noframes.style.script.link.object.svg.embed.audio.video.canvas.img`.split(`.`),this.htmlInlineTags=`st.a.abbr.acronym.b.bdo.big.br.cite.code.dfn.em.font.i.input.kbd.label.q.s.samp.select.small.span.strike.strong.sub.sup.textarea.tt.u`.split(`.`),this.symbolType=`custom`,this.whitespaceRegex=e.whitespaceRegex,this.removeHtmlWhitespace=!0,this.forceRemoveHtmlChar32BetweenTags=!1,this.customTags=[`t`,`tn`,`n`],this.htmlExtensions=[`.html`,`.xhtml`,`.xml`]}},n=[`maxColumnWidth`,`maxScrollContentWidth`,`enableAutoFitPageWidth`,`maxColumns`,`contentWrapperMarginBottom`,`contentWrapperBorderRadius`,`enableContentWrapperBorderRadius`,`contentsShadowMargin`],r=e=>n.includes(e);exports.HtmlOptionKeys=n,exports.HtmlOptions=t,exports.isHtmlOptionKey=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("../../kernal/Constants.cjs");const e=require("../../kernal/i18n/textDirection.cjs");var t=class{constructor(){this.writingMode=`horizontal-tb`,this.rtlLanguages=[...e.RtlLanguageCodes],this.flipMode=`scroll`,this.columns=1,this.autoColumns=!0,this.forceScroll=!1,this.flipPageStyle=`none`,this.preventParentElementScroll=!1,this.maxColumns=10,this.columnGap=40,this.enableColumnRule=!0,this.columnWidth=768,this.multiColumnWidthFactor=.8,this.enableRedirectAnimation=!0,this.contentWrapperMarginBottom=10,this.contentWrapperMarginTop=10,this.contentWrapperGap=10,this.contentWrapperBorderRadius=3,this.enableContentWrapperBorderRadius=!0,this.contentsShadowMargin=20,this.preloadFileCount=1,this.singleDocMaxSize=52428800,this.maxImageWidthRatio=.7,this.maxImageHeightRatio=.7,this.preferSrcdoc=!1,this.enableFormatCodeBlock=!0,this.htmlBlockTags=`mt.h1.h2.h3.h4.h5.h6.div.p.ol.ul.li.dl.dt.dd.hr.center.pre.table.tr.td.thead.tbody.tfoot.caption.address.fieldset.form.legend.noscript.noframes.style.script.link.object.svg.embed.audio.video.canvas.img`.split(`.`),this.htmlInlineTags=`st.a.abbr.acronym.b.bdo.big.br.cite.code.dfn.em.font.i.input.kbd.label.q.s.samp.select.small.span.strike.strong.sub.sup.textarea.tt.u`.split(`.`),this.htmlExtensions=[`.html`,`.xhtml`,`.xml`]}},n=[`maxColumnWidth`,`maxScrollContentWidth`,`enableAutoFitPageWidth`,`maxColumns`,`contentWrapperMarginBottom`,`contentWrapperBorderRadius`,`enableContentWrapperBorderRadius`,`contentsShadowMargin`],r=e=>n.includes(e);exports.HtmlOptionKeys=n,exports.HtmlOptions=t,exports.isHtmlOptionKey=r;
@@ -1,8 +1,10 @@
1
- import { Direction, FlipMode, FlipPageStyle, SymbolType, WritingMode } from '../../kernal/types';
1
+ import { Direction, FlipMode, FlipPageStyle, WritingMode } from '../../kernal/types';
2
2
 
3
3
  export declare class HtmlOptions {
4
4
  writingMode: WritingMode;
5
- direction: Direction;
5
+ direction?: Direction;
6
+ documentLanguage?: string;
7
+ rtlLanguages: string[];
6
8
  flipMode: FlipMode;
7
9
  columns: number;
8
10
  autoColumns: boolean;
@@ -20,6 +22,7 @@ export declare class HtmlOptions {
20
22
  enableRedirectAnimation: boolean;
21
23
  contentWrapperMarginBottom: number;
22
24
  contentWrapperMarginTop: number;
25
+ contentWrapperGap: number;
23
26
  contentWrapperBorderRadius: number;
24
27
  enableContentWrapperBorderRadius: boolean;
25
28
  contentsShadowMargin: number;
@@ -27,19 +30,10 @@ export declare class HtmlOptions {
27
30
  singleDocMaxSize: number;
28
31
  maxImageWidthRatio: number;
29
32
  maxImageHeightRatio: number;
30
- fontFamily: string;
31
- fontWeight: string;
32
- lighterFontWeight: string;
33
- fontSize: string;
34
33
  preferSrcdoc: boolean;
35
- nonWhiteSpaceSymbolTagNames: string[];
34
+ enableFormatCodeBlock: boolean;
36
35
  htmlBlockTags: string[];
37
36
  htmlInlineTags: string[];
38
- symbolType: SymbolType;
39
- whitespaceRegex: RegExp;
40
- removeHtmlWhitespace: boolean;
41
- forceRemoveHtmlChar32BetweenTags: boolean;
42
- customTags: string[];
43
37
  htmlExtensions: string[];
44
38
  }
45
39
  export declare const HtmlOptionKeys: readonly ["maxColumnWidth", "maxScrollContentWidth", "enableAutoFitPageWidth", "maxColumns", "contentWrapperMarginBottom", "contentWrapperBorderRadius", "enableContentWrapperBorderRadius", "contentsShadowMargin"];
@@ -1,20 +1,9 @@
1
- import { whitespaceRegex as e } from "../../kernal/Constants.mjs";
1
+ import "../../kernal/Constants.mjs";
2
+ import { RtlLanguageCodes as e } from "../../kernal/i18n/textDirection.mjs";
2
3
  //#region mediaTypes/html/HtmlOptions.ts
3
4
  var t = class {
4
5
  constructor() {
5
- this.writingMode = "horizontal-tb", this.direction = "ltr", this.flipMode = "scroll", this.columns = 1, this.autoColumns = !0, this.forceScroll = !1, this.flipPageStyle = "none", this.preventParentElementScroll = !1, this.maxColumns = 10, this.columnGap = 40, this.enableColumnRule = !0, this.columnWidth = 768, this.multiColumnWidthFactor = .8, this.enableRedirectAnimation = !0, this.contentWrapperMarginBottom = 10, this.contentWrapperMarginTop = 10, this.contentWrapperBorderRadius = 3, this.enableContentWrapperBorderRadius = !0, this.contentsShadowMargin = 10, this.preloadFileCount = 1, this.singleDocMaxSize = 52428800, this.maxImageWidthRatio = .7, this.maxImageHeightRatio = .7, this.fontFamily = "'Roboto','Helvetica Neue', 'Helvetica', 'Arial','Microsoft YaHei','PingFang SC', 'sans-serif'", this.fontWeight = "normal", this.lighterFontWeight = "300", this.fontSize = "18px", this.preferSrcdoc = !1, this.nonWhiteSpaceSymbolTagNames = [
6
- "object",
7
- "svg",
8
- "embed",
9
- "audio",
10
- "video",
11
- "canvas",
12
- "img"
13
- ], this.htmlBlockTags = /* @__PURE__ */ "mt.h1.h2.h3.h4.h5.h6.div.p.ol.ul.li.dl.dt.dd.hr.center.pre.table.tr.td.thead.tbody.tfoot.caption.address.fieldset.form.legend.noscript.noframes.style.script.link.object.svg.embed.audio.video.canvas.img".split("."), this.htmlInlineTags = /* @__PURE__ */ "st.a.abbr.acronym.b.bdo.big.br.cite.code.dfn.em.font.i.input.kbd.label.q.s.samp.select.small.span.strike.strong.sub.sup.textarea.tt.u".split("."), this.symbolType = "custom", this.whitespaceRegex = e, this.removeHtmlWhitespace = !0, this.forceRemoveHtmlChar32BetweenTags = !1, this.customTags = [
14
- "t",
15
- "tn",
16
- "n"
17
- ], this.htmlExtensions = [
6
+ this.writingMode = "horizontal-tb", this.rtlLanguages = [...e], this.flipMode = "scroll", this.columns = 1, this.autoColumns = !0, this.forceScroll = !1, this.flipPageStyle = "none", this.preventParentElementScroll = !1, this.maxColumns = 10, this.columnGap = 40, this.enableColumnRule = !0, this.columnWidth = 768, this.multiColumnWidthFactor = .8, this.enableRedirectAnimation = !0, this.contentWrapperMarginBottom = 10, this.contentWrapperMarginTop = 10, this.contentWrapperGap = 10, this.contentWrapperBorderRadius = 3, this.enableContentWrapperBorderRadius = !0, this.contentsShadowMargin = 20, this.preloadFileCount = 1, this.singleDocMaxSize = 52428800, this.maxImageWidthRatio = .7, this.maxImageHeightRatio = .7, this.preferSrcdoc = !1, this.enableFormatCodeBlock = !0, this.htmlBlockTags = /* @__PURE__ */ "mt.h1.h2.h3.h4.h5.h6.div.p.ol.ul.li.dl.dt.dd.hr.center.pre.table.tr.td.thead.tbody.tfoot.caption.address.fieldset.form.legend.noscript.noframes.style.script.link.object.svg.embed.audio.video.canvas.img".split("."), this.htmlInlineTags = /* @__PURE__ */ "st.a.abbr.acronym.b.bdo.big.br.cite.code.dfn.em.font.i.input.kbd.label.q.s.samp.select.small.span.strike.strong.sub.sup.textarea.tt.u".split("."), this.htmlExtensions = [
18
7
  ".html",
19
8
  ".xhtml",
20
9
  ".xml"
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{static{this.BreakInsideAvoid=`break-inside-avoid`}static{this.ContentsContainerCssName=`contents-container`}static{this.TransformContainerCssName=`transform-container`}static{this.ContentsShadowContainerCssName=`contents-shadow`}static{this.FileContentContainerClassName=`file-content-container`}static{this.FileContentContainerHeightClassName=`file-content-container-height`}static{this.TransformPagesClassName=`transform-pages`}static{this.LinkOriginHrefPropertyName=`lhx-origin-data-url`}static{this.HtmlDocumentCurrentPagePropertyName=`data-page-index`}static{this.HtmlDocumentNumperOfPagesPropertyName=`data-number-of-pages`}static{this.HtmlDocumentGotoAnimationCssName=`goto-animation`}static{this.WithoutMarginBottomCssName=`without-margin-bottom`}static{this.PageMovingAttributeName=`page-moving`}};exports.HtmlSettings=e;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{static{this.BreakInsideAvoid=`break-inside-avoid`}static{this.ContentsContainerCssName=`contents-container`}static{this.TransformContainerCssName=`transform-container`}static{this.ContentsShadowContainerCssName=`contents-shadow`}static{this.FileContentContainerClassName=`file-content-container`}static{this.FileContentContainerHeightClassName=`file-content-container-height`}static{this.TransformPagesClassName=`transform-pages`}static{this.WritingVerticalClassName=`writing-vertical`}static{this.WritingVerticalRlClassName=`writing-vertical-rl`}static{this.WritingVerticalLrClassName=`writing-vertical-lr`}static{this.FlipScrollClassName=`flip-scroll`}static{this.FlipPageClassName=`flip-page`}static{this.RtlProgressionClassName=`rtl-progression`}static{this.HostViewportModeAttribute=`data-viewport-mode`}static{this.DocumentLayoutCssName=`document-layout`}static{this.DocumentPageModeCssName=`document-page-mode`}static{this.DocumentVerticalPageModeCssName=`document-vertical-page-mode`}static{this.WritingVerticalScrollDocumentLayoutCssName=`vertical-document-layout`}static{this.RootDirLtrClassName=`dir-ltr`}static{this.RootDirRtlClassName=`dir-rtl`}static{this.LinkOriginHrefPropertyName=`foxycape-origin-data-url`}static{this.HtmlDocumentCurrentPagePropertyName=`data-page-index`}static{this.HtmlDocumentNumperOfPagesPropertyName=`data-number-of-pages`}static{this.HtmlDocumentGotoAnimationCssName=`goto-animation`}static{this.WithoutMarginBottomCssName=`without-margin-bottom`}static{this.PageMovingAttributeName=`page-moving`}static{this.LayoutSwitchingAttributeName=`layout-switching`}static{this.UserSpecifiedFontClassName=`foxycape-user-font`}};exports.HtmlSettings=e;
@@ -6,10 +6,25 @@ export declare class HtmlSettings {
6
6
  static readonly FileContentContainerClassName = "file-content-container";
7
7
  static readonly FileContentContainerHeightClassName = "file-content-container-height";
8
8
  static readonly TransformPagesClassName = "transform-pages";
9
- static readonly LinkOriginHrefPropertyName = "lhx-origin-data-url";
9
+ static readonly WritingVerticalClassName = "writing-vertical";
10
+ static readonly WritingVerticalRlClassName = "writing-vertical-rl";
11
+ static readonly WritingVerticalLrClassName = "writing-vertical-lr";
12
+ static readonly FlipScrollClassName = "flip-scroll";
13
+ static readonly FlipPageClassName = "flip-page";
14
+ static readonly RtlProgressionClassName = "rtl-progression";
15
+ static readonly HostViewportModeAttribute = "data-viewport-mode";
16
+ static readonly DocumentLayoutCssName = "document-layout";
17
+ static readonly DocumentPageModeCssName = "document-page-mode";
18
+ static readonly DocumentVerticalPageModeCssName = "document-vertical-page-mode";
19
+ static readonly WritingVerticalScrollDocumentLayoutCssName = "vertical-document-layout";
20
+ static readonly RootDirLtrClassName = "dir-ltr";
21
+ static readonly RootDirRtlClassName = "dir-rtl";
22
+ static readonly LinkOriginHrefPropertyName = "foxycape-origin-data-url";
10
23
  static readonly HtmlDocumentCurrentPagePropertyName = "data-page-index";
11
24
  static readonly HtmlDocumentNumperOfPagesPropertyName = "data-number-of-pages";
12
25
  static readonly HtmlDocumentGotoAnimationCssName = "goto-animation";
13
26
  static readonly WithoutMarginBottomCssName = "without-margin-bottom";
14
27
  static readonly PageMovingAttributeName = "page-moving";
28
+ static readonly LayoutSwitchingAttributeName = "layout-switching";
29
+ static readonly UserSpecifiedFontClassName = "foxycape-user-font";
15
30
  }
@@ -22,7 +22,46 @@ var e = class {
22
22
  this.TransformPagesClassName = "transform-pages";
23
23
  }
24
24
  static {
25
- this.LinkOriginHrefPropertyName = "lhx-origin-data-url";
25
+ this.WritingVerticalClassName = "writing-vertical";
26
+ }
27
+ static {
28
+ this.WritingVerticalRlClassName = "writing-vertical-rl";
29
+ }
30
+ static {
31
+ this.WritingVerticalLrClassName = "writing-vertical-lr";
32
+ }
33
+ static {
34
+ this.FlipScrollClassName = "flip-scroll";
35
+ }
36
+ static {
37
+ this.FlipPageClassName = "flip-page";
38
+ }
39
+ static {
40
+ this.RtlProgressionClassName = "rtl-progression";
41
+ }
42
+ static {
43
+ this.HostViewportModeAttribute = "data-viewport-mode";
44
+ }
45
+ static {
46
+ this.DocumentLayoutCssName = "document-layout";
47
+ }
48
+ static {
49
+ this.DocumentPageModeCssName = "document-page-mode";
50
+ }
51
+ static {
52
+ this.DocumentVerticalPageModeCssName = "document-vertical-page-mode";
53
+ }
54
+ static {
55
+ this.WritingVerticalScrollDocumentLayoutCssName = "vertical-document-layout";
56
+ }
57
+ static {
58
+ this.RootDirLtrClassName = "dir-ltr";
59
+ }
60
+ static {
61
+ this.RootDirRtlClassName = "dir-rtl";
62
+ }
63
+ static {
64
+ this.LinkOriginHrefPropertyName = "foxycape-origin-data-url";
26
65
  }
27
66
  static {
28
67
  this.HtmlDocumentCurrentPagePropertyName = "data-page-index";
@@ -39,6 +78,12 @@ var e = class {
39
78
  static {
40
79
  this.PageMovingAttributeName = "page-moving";
41
80
  }
81
+ static {
82
+ this.LayoutSwitchingAttributeName = "layout-switching";
83
+ }
84
+ static {
85
+ this.UserSpecifiedFontClassName = "foxycape-user-font";
86
+ }
42
87
  };
43
88
  //#endregion
44
89
  export { e as HtmlSettings };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={normalize:e=>e??``};exports.identityHtmlContentNormalizer=e;
@@ -0,0 +1,4 @@
1
+ export type IHtmlContentNormalizer = {
2
+ normalize: (html: string) => string;
3
+ };
4
+ export declare const identityHtmlContentNormalizer: IHtmlContentNormalizer;
@@ -0,0 +1,4 @@
1
+ //#region mediaTypes/html/IHtmlContentNormalizer.ts
2
+ var e = { normalize: (e) => e ?? "" };
3
+ //#endregion
4
+ export { e as identityHtmlContentNormalizer };
@@ -0,0 +1,11 @@
1
+ import { ElementPositionResult } from '../../kernal/html/position';
2
+ import { SymbolType, TagDescriptor } from '../../kernal/types';
3
+
4
+ export type IHtmlSymbolMeasure = {
5
+ readonly defaultSymbolType: SymbolType;
6
+ count: (root: Document | Element, symbolType?: SymbolType) => number;
7
+ getElementByPosition: (root: Document | Element, position: number, symbolType?: SymbolType, preferEnd?: boolean) => ElementPositionResult;
8
+ getElementByProgress: (root: Document | Element, progress: number, symbolType?: SymbolType) => ElementPositionResult;
9
+ getPositionByElement: (root: Document | Element, element: TagDescriptor | Element, symbolType?: SymbolType, internalSymbolOffset?: number) => number;
10
+ getProgressByElement: (root: Document | Element, element: TagDescriptor | Element, symbolType?: SymbolType, internalSymbolOffset?: number) => number;
11
+ };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{normalize(e){return e??``}};exports.NoopHtmlContentNormalizer=e;
@@ -0,0 +1,5 @@
1
+ import { IHtmlContentNormalizer } from './IHtmlContentNormalizer';
2
+
3
+ export declare class NoopHtmlContentNormalizer implements IHtmlContentNormalizer {
4
+ normalize(html: string): string;
5
+ }
@@ -0,0 +1,8 @@
1
+ //#region mediaTypes/html/NoopHtmlContentNormalizer.ts
2
+ var e = class {
3
+ normalize(e) {
4
+ return e ?? "";
5
+ }
6
+ };
7
+ //#endregion
8
+ export { e as NoopHtmlContentNormalizer };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/IFileParser.cjs"),t=require("../../../kernal/html/position.cjs"),n=require("../../../kernal/common/encoding.cjs"),r=require("../../base/fileParser/BaseFileParser.cjs"),i=require("./HtmlTextDocument.cjs");var a=class extends r.BaseFileParser{constructor(e,t,n,r,i,a,o,s){super(e,t,n,r,i,a,o),this.options=s}async parseUrl(t,n){let r=await super.parseUrl(t,n);return r.isMultiFiles||(r.spineFiles=[new e.SpineFile(r.data,r.mainUrl,this.extension)]),r}async initializeDatas(e){this.data=e.data,await super.initializeDatas(e)}async getCover(e,t){return null}async getFileHash(e){return await this.computeFileHash(this.isMultiFiles,this.data,e)}async getTextDocuments(){if(this.textDocuments)return this.textDocuments;this.textDocuments=[];let e=await this.getSpineFiles();for(let t=0;t<e.length;t++){let n=e[t],r=new i.HtmlTextDocument(this,n);this.textDocuments.push(r)}return this.textDocuments}async calculateSymbolCount(e,r){let i;i=e.data?new Uint8Array(await this.getSpineFileData(e)):(await this.getFileBytes(e.url)).data;let a=n.convertUint8ArrayToString(i);return t.getTotalSymbolCount(a,r,{removeHtmlWhitespace:this.options.removeHtmlWhitespace,whitespaceRegex:this.options.whitespaceRegex,nonWhiteSpaceSymbolTagNames:this.options.nonWhiteSpaceSymbolTagNames})}async dispose(){if(this.textDocuments){for(let e of this.textDocuments)await e.dispose();this.textDocuments.splice(0)}this.data=null,await super.dispose()}};exports.HtmlFileParser=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/IFileParser.cjs"),t=require("../../../kernal/html/finder.cjs"),n=require("../../base/fileParser/BaseFileParser.cjs"),r=require("../NoopHtmlContentNormalizer.cjs"),i=require("../DefaultHtmlSymbolMeasure.cjs"),a=require("./HtmlTextDocument.cjs");var o=class extends n.BaseFileParser{constructor(e,t,n,a,o,s,c,l,u,d){super(e,t,n,a,o,s,c),this.options=l,this.contentNormalizer=u??new r.NoopHtmlContentNormalizer,this.symbolMeasure=d??new i.DefaultHtmlSymbolMeasure}async parseUrl(t,n){let r=await super.parseUrl(t,n);return r.isMultiFiles||(r.spineFiles=[new e.SpineFile(r.data,r.mainUrl,this.extension)]),r}async initializeDatas(e){this.data=e.data,await super.initializeDatas(e)}async getCover(e,t){return null}async getFileHash(e){return await this.computeFileHash(this.isMultiFiles,this.data,e)}async getTextDocuments(){if(this.textDocuments)return this.textDocuments;this.textDocuments=[];let e=await this.getSpineFiles();for(let t=0;t<e.length;t++){let n=e[t],r=new a.HtmlTextDocument(this,n);this.textDocuments.push(r)}return this.textDocuments}async calculateSymbolCount(e,n){let r=await this.getTextDocument(e.url);if(!r)return 1;let i=await r.getFormattedDocument();return this.symbolMeasure.count(t.getDocumentBody(i),n)}async dispose(){if(this.textDocuments){for(let e of this.textDocuments)await e.dispose();this.textDocuments.splice(0)}this.data=null,await super.dispose()}};exports.HtmlFileParser=o;
@@ -5,12 +5,16 @@ import { FileUrlParserOptions, IFileUrlParser, UrlParseResult } from '../../../k
5
5
  import { IFileProvider } from '../../../kernal/services/file/IFileProvider';
6
6
  import { ICrypto } from '../../../kernal/crypto/ICrypto';
7
7
  import { IHttpClient } from '../../../kernal/network/IHttpClient';
8
+ import { IHtmlContentNormalizer } from '../IHtmlContentNormalizer';
9
+ import { IHtmlSymbolMeasure } from '../IHtmlSymbolMeasure';
8
10
  import { HtmlFileParserOptions, IHtmlFileParser } from './IHtmlFileParser';
9
11
 
10
12
  export declare class HtmlFileParser extends BaseFileParser implements IHtmlFileParser {
11
13
  readonly options: HtmlFileParserOptions;
12
14
  private data;
13
- constructor(crypto: ICrypto, fileDecrypter: IFileDecrypter, fileProvider: IFileProvider, fileUrlParser: IFileUrlParser, httpClient: IHttpClient, url: any, extension: string, options: HtmlFileParserOptions);
15
+ readonly contentNormalizer: IHtmlContentNormalizer;
16
+ readonly symbolMeasure: IHtmlSymbolMeasure;
17
+ constructor(crypto: ICrypto, fileDecrypter: IFileDecrypter, fileProvider: IFileProvider, fileUrlParser: IFileUrlParser, httpClient: IHttpClient, url: any, extension: string, options: HtmlFileParserOptions, contentNormalizer?: IHtmlContentNormalizer, symbolMeasure?: IHtmlSymbolMeasure);
14
18
  protected parseUrl(url: any, options: FileUrlParserOptions): Promise<UrlParseResult>;
15
19
  protected initializeDatas(result: UrlParseResult): Promise<void>;
16
20
  getCover(width: number, height: number): Promise<Blob>;