@foxycape/core 1.1.3 → 1.1.5

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 (502) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/core.css +2 -1
  3. package/dist/kernal/Constants.cjs +1 -1
  4. package/dist/kernal/Constants.mjs +4 -12
  5. package/dist/kernal/ContentRange.cjs +1 -1
  6. package/dist/kernal/ContentRange.mjs +4 -6
  7. package/dist/kernal/Context.cjs +1 -1
  8. package/dist/kernal/Context.mjs +31 -35
  9. package/dist/kernal/Debounce.cjs +1 -1
  10. package/dist/kernal/Debounce.mjs +31 -37
  11. package/dist/kernal/EventEmitter.cjs +1 -1
  12. package/dist/kernal/EventEmitter.mjs +58 -67
  13. package/dist/kernal/EventNames.cjs +1 -1
  14. package/dist/kernal/EventNames.mjs +178 -6
  15. package/dist/kernal/FileLoader.cjs +1 -1
  16. package/dist/kernal/FileLoader.d.ts +2 -0
  17. package/dist/kernal/FileLoader.mjs +91 -94
  18. package/dist/kernal/IDisposable.cjs +0 -1
  19. package/dist/kernal/IDisposable.mjs +0 -1
  20. package/dist/kernal/IDocument.cjs +1 -1
  21. package/dist/kernal/IDocument.mjs +12 -36
  22. package/dist/kernal/IDocumentsProvider.cjs +0 -1
  23. package/dist/kernal/IDocumentsProvider.mjs +0 -1
  24. package/dist/kernal/IEventEmitter.cjs +0 -1
  25. package/dist/kernal/IEventEmitter.mjs +0 -1
  26. package/dist/kernal/IFileParser.cjs +1 -1
  27. package/dist/kernal/IFileParser.mjs +12 -21
  28. package/dist/kernal/IRenderer.cjs +0 -1
  29. package/dist/kernal/IRenderer.mjs +0 -1
  30. package/dist/kernal/IRendererViewport.cjs +1 -1
  31. package/dist/kernal/IRendererViewport.mjs +4 -5
  32. package/dist/kernal/IStyleProvider.cjs +0 -1
  33. package/dist/kernal/IStyleProvider.mjs +0 -1
  34. package/dist/kernal/ISymbolCalclator.cjs +0 -1
  35. package/dist/kernal/ISymbolCalclator.mjs +0 -1
  36. package/dist/kernal/ITextDocument.cjs +0 -1
  37. package/dist/kernal/ITextDocument.mjs +0 -1
  38. package/dist/kernal/IThemeProvider.cjs +0 -1
  39. package/dist/kernal/IThemeProvider.mjs +0 -1
  40. package/dist/kernal/IWallpaperProvider.cjs +1 -1
  41. package/dist/kernal/IWallpaperProvider.mjs +7 -7
  42. package/dist/kernal/JsonConvert.cjs +1 -1
  43. package/dist/kernal/JsonConvert.mjs +51 -56
  44. package/dist/kernal/LifecycleHooks.cjs +0 -1
  45. package/dist/kernal/LifecycleHooks.mjs +0 -1
  46. package/dist/kernal/LocationState.cjs +1 -1
  47. package/dist/kernal/LocationState.mjs +4 -5
  48. package/dist/kernal/MediaTypeRegistry.cjs +1 -1
  49. package/dist/kernal/MediaTypeRegistry.mjs +39 -64
  50. package/dist/kernal/Metadata.cjs +1 -1
  51. package/dist/kernal/Metadata.mjs +7 -7
  52. package/dist/kernal/OpenOptions.cjs +1 -1
  53. package/dist/kernal/OpenOptions.mjs +4 -5
  54. package/dist/kernal/Options.cjs +1 -1
  55. package/dist/kernal/Options.mjs +39 -16
  56. package/dist/kernal/OptionsProvider.cjs +1 -1
  57. package/dist/kernal/OptionsProvider.mjs +22 -24
  58. package/dist/kernal/Reader.cjs +1 -1
  59. package/dist/kernal/Reader.mjs +238 -284
  60. package/dist/kernal/ReaderInfo.cjs +1 -1
  61. package/dist/kernal/ReaderInfo.mjs +25 -31
  62. package/dist/kernal/Theme.cjs +1 -1
  63. package/dist/kernal/Theme.mjs +80 -29
  64. package/dist/kernal/common/array.cjs +1 -1
  65. package/dist/kernal/common/array.mjs +11 -13
  66. package/dist/kernal/common/buffer.cjs +1 -1
  67. package/dist/kernal/common/buffer.mjs +32 -43
  68. package/dist/kernal/common/data.cjs +1 -1
  69. package/dist/kernal/common/data.mjs +20 -13
  70. package/dist/kernal/common/date.cjs +1 -1
  71. package/dist/kernal/common/date.mjs +40 -50
  72. package/dist/kernal/common/encoding.cjs +1 -1
  73. package/dist/kernal/common/encoding.mjs +29 -36
  74. package/dist/kernal/common/geometry.cjs +1 -1
  75. package/dist/kernal/common/geometry.mjs +28 -30
  76. package/dist/kernal/common/mimetypes.cjs +1 -1
  77. package/dist/kernal/common/mimetypes.mjs +99 -34
  78. package/dist/kernal/common/naming.cjs +1 -1
  79. package/dist/kernal/common/naming.mjs +4 -4
  80. package/dist/kernal/common/number.cjs +1 -1
  81. package/dist/kernal/common/number.mjs +42 -53
  82. package/dist/kernal/common/object.cjs +1 -1
  83. package/dist/kernal/common/object.mjs +20 -25
  84. package/dist/kernal/common/path.cjs +1 -1
  85. package/dist/kernal/common/path.mjs +45 -52
  86. package/dist/kernal/common/regex.cjs +1 -1
  87. package/dist/kernal/common/regex.mjs +15 -25
  88. package/dist/kernal/common/text.cjs +4 -4
  89. package/dist/kernal/common/text.mjs +67 -88
  90. package/dist/kernal/common/tree.cjs +1 -1
  91. package/dist/kernal/common/tree.mjs +13 -13
  92. package/dist/kernal/common/url.cjs +1 -1
  93. package/dist/kernal/common/url.mjs +78 -104
  94. package/dist/kernal/common/uuid.cjs +1 -1
  95. package/dist/kernal/common/uuid.mjs +24 -28
  96. package/dist/kernal/crypto/ICrypto.cjs +1 -1
  97. package/dist/kernal/crypto/ICrypto.mjs +4 -5
  98. package/dist/kernal/crypto/MD5.cjs +1 -1
  99. package/dist/kernal/crypto/MD5.mjs +26 -34
  100. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  101. package/dist/kernal/crypto/WebCrypto.mjs +77 -105
  102. package/dist/kernal/deepClone/buffer.cjs +1 -1
  103. package/dist/kernal/deepClone/buffer.mjs +7 -25
  104. package/dist/kernal/deepClone/clone.cjs +1 -1
  105. package/dist/kernal/deepClone/clone.mjs +52 -116
  106. package/dist/kernal/deepClone/collection.cjs +1 -1
  107. package/dist/kernal/deepClone/collection.mjs +43 -56
  108. package/dist/kernal/deepClone/detector.cjs +1 -1
  109. package/dist/kernal/deepClone/detector.mjs +8 -16
  110. package/dist/kernal/deepClone/index.cjs +1 -1
  111. package/dist/kernal/deepClone/index.mjs +24 -38
  112. package/dist/kernal/device/IDevice.cjs +1 -1
  113. package/dist/kernal/device/IDevice.d.ts +0 -2
  114. package/dist/kernal/device/IDevice.mjs +4 -5
  115. package/dist/kernal/device/IEnvironment.cjs +0 -1
  116. package/dist/kernal/device/IEnvironment.mjs +0 -1
  117. package/dist/kernal/device/IPlatform.cjs +0 -1
  118. package/dist/kernal/device/IPlatform.mjs +0 -1
  119. package/dist/kernal/device/WebBrowser.cjs +1 -1
  120. package/dist/kernal/device/WebBrowser.d.ts +0 -1
  121. package/dist/kernal/device/WebBrowser.mjs +54 -65
  122. package/dist/kernal/device/WebEnvironment.cjs +1 -1
  123. package/dist/kernal/device/WebEnvironment.mjs +21 -21
  124. package/dist/kernal/device/WebPlatform.cjs +1 -1
  125. package/dist/kernal/device/WebPlatform.mjs +48 -63
  126. package/dist/kernal/html/detector.cjs +1 -1
  127. package/dist/kernal/html/detector.mjs +38 -46
  128. package/dist/kernal/html/dom.cjs +1 -0
  129. package/dist/kernal/html/dom.d.ts +3 -0
  130. package/dist/kernal/html/dom.mjs +13 -0
  131. package/dist/kernal/html/events.cjs +1 -1
  132. package/dist/kernal/html/events.mjs +62 -67
  133. package/dist/kernal/html/finder.cjs +1 -1
  134. package/dist/kernal/html/finder.mjs +93 -134
  135. package/dist/kernal/html/geometry.cjs +1 -1
  136. package/dist/kernal/html/geometry.mjs +340 -384
  137. package/dist/kernal/html/image.cjs +1 -1
  138. package/dist/kernal/html/image.mjs +166 -181
  139. package/dist/kernal/html/injector.cjs +3 -3
  140. package/dist/kernal/html/injector.mjs +92 -109
  141. package/dist/kernal/html/manipulator.cjs +1 -1
  142. package/dist/kernal/html/manipulator.mjs +96 -116
  143. package/dist/kernal/html/parser.cjs +1 -1
  144. package/dist/kernal/html/parser.mjs +61 -60
  145. package/dist/kernal/html/position.cjs +1 -1
  146. package/dist/kernal/html/position.mjs +146 -193
  147. package/dist/kernal/html/selection.cjs +7 -7
  148. package/dist/kernal/html/selection.mjs +206 -238
  149. package/dist/kernal/html/style.cjs +1 -1
  150. package/dist/kernal/html/style.mjs +59 -79
  151. package/dist/kernal/html/text.cjs +2 -2
  152. package/dist/kernal/html/text.mjs +50 -65
  153. package/dist/kernal/html/types.cjs +1 -1
  154. package/dist/kernal/html/types.mjs +7 -7
  155. package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
  156. package/dist/kernal/i18n/DefaultLocale.mjs +36 -41
  157. package/dist/kernal/i18n/ILocale.cjs +1 -1
  158. package/dist/kernal/i18n/ILocale.mjs +7 -14
  159. package/dist/kernal/index.cjs +1 -1
  160. package/dist/kernal/index.mjs +44 -127
  161. package/dist/kernal/logger/DefaultLogger.cjs +1 -1
  162. package/dist/kernal/logger/DefaultLogger.mjs +67 -67
  163. package/dist/kernal/logger/ILogger.cjs +1 -1
  164. package/dist/kernal/logger/ILogger.mjs +2 -5
  165. package/dist/kernal/logger/ILoggerFactory.cjs +0 -1
  166. package/dist/kernal/logger/ILoggerFactory.mjs +0 -1
  167. package/dist/kernal/logger/LogLevel.cjs +1 -1
  168. package/dist/kernal/logger/LogLevel.mjs +33 -11
  169. package/dist/kernal/logger/LoggerFactory.cjs +1 -1
  170. package/dist/kernal/logger/LoggerFactory.mjs +12 -12
  171. package/dist/kernal/logo-160x160.cjs +1 -0
  172. package/dist/kernal/logo-160x160.mjs +4 -0
  173. package/dist/kernal/mark/IMarker.cjs +0 -1
  174. package/dist/kernal/mark/IMarker.mjs +0 -1
  175. package/dist/kernal/mark/Mark.cjs +1 -1
  176. package/dist/kernal/mark/Mark.mjs +18 -19
  177. package/dist/kernal/mark/MarkConstants.cjs +1 -1
  178. package/dist/kernal/mark/MarkConstants.mjs +4 -7
  179. package/dist/kernal/mark/index.cjs +1 -1
  180. package/dist/kernal/mark/index.mjs +3 -10
  181. package/dist/kernal/mark/types.cjs +0 -1
  182. package/dist/kernal/mark/types.mjs +0 -1
  183. package/dist/kernal/nav/INavPointProvider.cjs +0 -1
  184. package/dist/kernal/nav/INavPointProvider.mjs +0 -1
  185. package/dist/kernal/nav/Nav.cjs +1 -1
  186. package/dist/kernal/nav/Nav.mjs +16 -18
  187. package/dist/kernal/navigator/INavPointNavigator.cjs +0 -1
  188. package/dist/kernal/navigator/INavPointNavigator.mjs +0 -1
  189. package/dist/kernal/navigator/INavigator.cjs +1 -1
  190. package/dist/kernal/navigator/INavigator.mjs +4 -5
  191. package/dist/kernal/navigator/IPagingNavigator.cjs +1 -1
  192. package/dist/kernal/navigator/IPagingNavigator.mjs +4 -8
  193. package/dist/kernal/network/HttpClient.cjs +1 -1
  194. package/dist/kernal/network/HttpClient.mjs +121 -146
  195. package/dist/kernal/network/IHttpClient.cjs +1 -1
  196. package/dist/kernal/network/IHttpClient.mjs +4 -5
  197. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  198. package/dist/kernal/pipelines/FileLoadPipeline.mjs +65 -84
  199. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  200. package/dist/kernal/pipelines/InputFormatter.mjs +140 -160
  201. package/dist/kernal/pipelines/metadata.cjs +1 -1
  202. package/dist/kernal/pipelines/metadata.mjs +44 -49
  203. package/dist/kernal/plugins/PluginCore.cjs +1 -1
  204. package/dist/kernal/plugins/PluginCore.mjs +7 -8
  205. package/dist/kernal/plugins/PluginManager.cjs +1 -1
  206. package/dist/kernal/plugins/PluginManager.mjs +79 -105
  207. package/dist/kernal/plugins/PluginRegistry.cjs +1 -1
  208. package/dist/kernal/plugins/PluginRegistry.mjs +55 -91
  209. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
  210. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +134 -133
  211. package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
  212. package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +134 -127
  213. package/dist/kernal/progress/IProgressTracker.cjs +0 -1
  214. package/dist/kernal/progress/IProgressTracker.mjs +0 -1
  215. package/dist/kernal/progress/IReadingProgressStore.cjs +0 -1
  216. package/dist/kernal/progress/IReadingProgressStore.mjs +0 -1
  217. package/dist/kernal/progress/Progress.cjs +1 -1
  218. package/dist/kernal/progress/Progress.mjs +23 -40
  219. package/dist/kernal/progress/ReadingProgressStore.cjs +1 -1
  220. package/dist/kernal/progress/ReadingProgressStore.mjs +16 -16
  221. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  222. package/dist/kernal/services/ServiceCollection.mjs +63 -88
  223. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
  224. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +1 -1
  225. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +63 -68
  226. package/dist/kernal/services/docLoadLayer/IHtmlLoadLayer.cjs +0 -1
  227. package/dist/kernal/services/docLoadLayer/IHtmlLoadLayer.mjs +0 -1
  228. package/dist/kernal/services/file/IFileDecrypter.cjs +1 -1
  229. package/dist/kernal/services/file/IFileDecrypter.mjs +11 -24
  230. package/dist/kernal/services/file/IFileProvider.cjs +0 -1
  231. package/dist/kernal/services/file/IFileProvider.mjs +0 -1
  232. package/dist/kernal/services/file/IFileUrlProvider.cjs +0 -1
  233. package/dist/kernal/services/file/IFileUrlProvider.mjs +0 -1
  234. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
  235. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +109 -118
  236. package/dist/kernal/services/fileUrlParser/IFileUrlParser.cjs +1 -1
  237. package/dist/kernal/services/fileUrlParser/IFileUrlParser.mjs +7 -10
  238. package/dist/kernal/services/font/IFontProvider.cjs +1 -1
  239. package/dist/kernal/services/font/IFontProvider.mjs +19 -33
  240. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
  241. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +14 -21
  242. package/dist/kernal/services/internalUrlBuilder/IInternalUrlBuilder.cjs +0 -1
  243. package/dist/kernal/services/internalUrlBuilder/IInternalUrlBuilder.mjs +0 -1
  244. package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
  245. package/dist/kernal/services/loading/DefaultLoading.mjs +46 -41
  246. package/dist/kernal/services/loading/ILoading.cjs +1 -1
  247. package/dist/kernal/services/loading/ILoading.mjs +4 -5
  248. package/dist/kernal/services/notifier/DefaultNotifier.cjs +1 -1
  249. package/dist/kernal/services/notifier/DefaultNotifier.mjs +63 -65
  250. package/dist/kernal/services/notifier/INotifier.cjs +0 -1
  251. package/dist/kernal/services/notifier/INotifier.mjs +0 -1
  252. package/dist/kernal/services/notifier/notyf/index.cjs +1 -1
  253. package/dist/kernal/services/notifier/notyf/index.mjs +5 -13
  254. package/dist/kernal/services/notifier/notyf/notyf.cjs +1 -1
  255. package/dist/kernal/services/notifier/notyf/notyf.mjs +79 -97
  256. package/dist/kernal/services/notifier/notyf/notyf.models.cjs +1 -1
  257. package/dist/kernal/services/notifier/notyf/notyf.models.mjs +39 -41
  258. package/dist/kernal/services/notifier/notyf/notyf.options.cjs +1 -1
  259. package/dist/kernal/services/notifier/notyf/notyf.options.mjs +30 -30
  260. package/dist/kernal/services/notifier/notyf/notyf.view.cjs +1 -1
  261. package/dist/kernal/services/notifier/notyf/notyf.view.mjs +146 -177
  262. package/dist/kernal/services/text/ITextDecoder.cjs +0 -1
  263. package/dist/kernal/services/text/ITextDecoder.mjs +0 -1
  264. package/dist/kernal/services/text/splitter.cjs +5 -5
  265. package/dist/kernal/services/text/splitter.mjs +184 -207
  266. package/dist/kernal/shape/ShapeSorter.cjs +1 -1
  267. package/dist/kernal/shape/ShapeSorter.mjs +77 -77
  268. package/dist/kernal/shape/SimpleMatrix.cjs +1 -1
  269. package/dist/kernal/shape/SimpleMatrix.mjs +20 -13
  270. package/dist/kernal/shape/definitions.cjs +0 -1
  271. package/dist/kernal/shape/definitions.mjs +0 -1
  272. package/dist/kernal/storage/IStorage.cjs +1 -1
  273. package/dist/kernal/storage/IStorage.mjs +4 -5
  274. package/dist/kernal/storage/WebStorage.cjs +1 -1
  275. package/dist/kernal/storage/WebStorage.mjs +164 -201
  276. package/dist/kernal/types.cjs +0 -1
  277. package/dist/kernal/types.mjs +0 -1
  278. package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
  279. package/dist/kernal/web/BrowserCapabilities.mjs +167 -191
  280. package/dist/kernal/web/ua.cjs +1 -1
  281. package/dist/kernal/web/ua.mjs +5 -5
  282. package/dist/mediaTypes/adjacent.cjs +1 -1
  283. package/dist/mediaTypes/adjacent.mjs +41 -48
  284. package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
  285. package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +184 -227
  286. package/dist/mediaTypes/base/index.cjs +1 -1
  287. package/dist/mediaTypes/base/index.mjs +4 -8
  288. package/dist/mediaTypes/base/renderer/BaseDocument.cjs +1 -1
  289. package/dist/mediaTypes/base/renderer/BaseDocument.mjs +41 -49
  290. package/dist/mediaTypes/base/renderer/BaseDocumentsProvider.cjs +1 -1
  291. package/dist/mediaTypes/base/renderer/BaseDocumentsProvider.mjs +64 -71
  292. package/dist/mediaTypes/base/renderer/eventKeys.cjs +1 -1
  293. package/dist/mediaTypes/base/renderer/eventKeys.mjs +7 -7
  294. package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
  295. package/dist/mediaTypes/html/HtmlOptions.mjs +34 -12
  296. package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
  297. package/dist/mediaTypes/html/HtmlSettings.mjs +43 -6
  298. package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
  299. package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +52 -54
  300. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
  301. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +52 -57
  302. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +0 -1
  303. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +0 -1
  304. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  305. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +89 -89
  306. package/dist/mediaTypes/html/renderer/IHtmlDocument.cjs +0 -1
  307. package/dist/mediaTypes/html/renderer/IHtmlDocument.mjs +0 -1
  308. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.cjs +0 -1
  309. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.mjs +0 -1
  310. package/dist/mediaTypes/html/renderer/IHtmlRenderer.cjs +0 -1
  311. package/dist/mediaTypes/html/renderer/IHtmlRenderer.mjs +0 -1
  312. package/dist/mediaTypes/html/renderer/IHtmlTextDocument.cjs +0 -1
  313. package/dist/mediaTypes/html/renderer/IHtmlTextDocument.mjs +0 -1
  314. package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
  315. package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +183 -196
  316. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
  317. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +28 -28
  318. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
  319. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +77 -82
  320. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
  321. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +87 -97
  322. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
  323. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +49 -64
  324. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
  325. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +29 -32
  326. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
  327. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +76 -84
  328. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
  329. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +2 -1
  330. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +185 -208
  331. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
  332. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -1
  333. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +39 -41
  334. package/dist/mediaTypes/html/renderer/documents/IHtmlDocumentsPreloader.cjs +0 -1
  335. package/dist/mediaTypes/html/renderer/documents/IHtmlDocumentsPreloader.mjs +0 -1
  336. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
  337. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +130 -182
  338. package/dist/mediaTypes/html/renderer/html/IHtmlContentProcessor.cjs +0 -1
  339. package/dist/mediaTypes/html/renderer/html/IHtmlContentProcessor.mjs +0 -1
  340. package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
  341. package/dist/mediaTypes/html/renderer/html/template.mjs +13 -16
  342. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
  343. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +371 -447
  344. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
  345. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +91 -103
  346. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.cjs +0 -1
  347. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.mjs +0 -1
  348. package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -0
  349. package/dist/mediaTypes/html/renderer/image/error-image.mjs +4 -0
  350. package/dist/mediaTypes/html/renderer/image/placeholder.cjs +1 -0
  351. package/dist/mediaTypes/html/renderer/image/placeholder.mjs +4 -0
  352. package/dist/mediaTypes/html/renderer/layout/HtmlLayoutMetrics.cjs +1 -1
  353. package/dist/mediaTypes/html/renderer/layout/HtmlLayoutMetrics.mjs +5 -6
  354. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
  355. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +81 -90
  356. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
  357. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +142 -169
  358. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.cjs +0 -1
  359. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.mjs +0 -1
  360. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
  361. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +61 -6
  362. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
  363. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +106 -118
  364. package/dist/mediaTypes/html/renderer/location/HtmlLocationCalculator.cjs +1 -1
  365. package/dist/mediaTypes/html/renderer/location/HtmlLocationCalculator.mjs +28 -34
  366. package/dist/mediaTypes/html/renderer/location/IHtmlElementLocator.cjs +0 -1
  367. package/dist/mediaTypes/html/renderer/location/IHtmlElementLocator.mjs +0 -1
  368. package/dist/mediaTypes/html/renderer/location/IHtmlLocationCalculator.cjs +0 -1
  369. package/dist/mediaTypes/html/renderer/location/IHtmlLocationCalculator.mjs +0 -1
  370. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
  371. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +39 -42
  372. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
  373. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +121 -125
  374. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
  375. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +151 -178
  376. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
  377. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +78 -85
  378. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
  379. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +119 -137
  380. package/dist/mediaTypes/html/renderer/progress/IHtmlIProgressTracker.cjs +0 -1
  381. package/dist/mediaTypes/html/renderer/progress/IHtmlIProgressTracker.mjs +0 -1
  382. package/dist/mediaTypes/html/renderer/progress/adjacent.cjs +1 -1
  383. package/dist/mediaTypes/html/renderer/progress/adjacent.mjs +41 -48
  384. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
  385. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +40 -9
  386. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
  387. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +40 -6
  388. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
  389. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +62 -74
  390. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
  391. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +58 -68
  392. package/dist/mediaTypes/html/renderer/style/IHtmlThemeApplier.cjs +0 -1
  393. package/dist/mediaTypes/html/renderer/style/IHtmlThemeApplier.mjs +0 -1
  394. package/dist/mediaTypes/html/renderer/style/{html-content.css.mjs → html-content.cjs} +2 -5
  395. package/dist/mediaTypes/html/renderer/style/html-content.mjs +4 -0
  396. package/dist/mediaTypes/html/renderer/visibilityCandidates.cjs +1 -1
  397. package/dist/mediaTypes/html/renderer/visibilityCandidates.mjs +116 -111
  398. package/dist/mediaTypes/pdf/PdfOptions.cjs +1 -1
  399. package/dist/mediaTypes/pdf/PdfOptions.mjs +7 -7
  400. package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
  401. package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +16 -26
  402. package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.cjs +0 -1
  403. package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.d.ts +2 -0
  404. package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.mjs +0 -1
  405. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  406. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +148 -170
  407. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  408. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +45 -52
  409. package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.cjs +1 -1
  410. package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.mjs +28 -28
  411. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  412. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +27 -23
  413. package/dist/mediaTypes/pdf/renderer/IPdfDocument.cjs +0 -1
  414. package/dist/mediaTypes/pdf/renderer/IPdfDocument.mjs +0 -1
  415. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.cjs +0 -1
  416. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.mjs +0 -1
  417. package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.cjs +0 -1
  418. package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.mjs +0 -1
  419. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.cjs +1 -1
  420. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +323 -625
  421. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  422. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +18 -18
  423. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  424. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +25 -6
  425. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  426. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +61 -70
  427. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  428. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +118 -122
  429. package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.cjs +1 -1
  430. package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.mjs +85 -111
  431. package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.cjs +1 -1
  432. package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.mjs +7 -10
  433. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  434. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +29 -32
  435. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  436. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +76 -79
  437. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  438. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +269 -236
  439. package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.cjs +1 -1
  440. package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.mjs +33 -36
  441. package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.cjs +0 -1
  442. package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.mjs +0 -1
  443. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  444. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +243 -290
  445. package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.cjs +1 -1
  446. package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.mjs +43 -50
  447. package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.cjs +1 -1
  448. package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.mjs +84 -105
  449. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  450. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +44 -59
  451. package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.cjs +1 -1
  452. package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.mjs +138 -177
  453. package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.cjs +0 -1
  454. package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.mjs +0 -1
  455. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.cjs +1 -1
  456. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.mjs +36 -42
  457. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  458. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +75 -82
  459. package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.cjs +0 -1
  460. package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.mjs +0 -1
  461. package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.cjs +1 -1
  462. package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.mjs +18 -21
  463. package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.cjs +0 -1
  464. package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.mjs +0 -1
  465. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  466. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +54 -68
  467. package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.cjs +0 -1
  468. package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.mjs +0 -1
  469. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  470. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +15 -15
  471. package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.cjs +0 -1
  472. package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.mjs +0 -1
  473. package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.cjs +1 -1
  474. package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.mjs +46 -41
  475. package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
  476. package/dist/mediaTypes/pdf/shared/geometry/index.mjs +3 -13
  477. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
  478. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +45 -45
  479. package/dist/mediaTypes/pdf/shared/geometry/textRects.cjs +1 -1
  480. package/dist/mediaTypes/pdf/shared/geometry/textRects.mjs +219 -263
  481. package/dist/mediaTypes/pdf/shared/range.cjs +1 -1
  482. package/dist/mediaTypes/pdf/shared/range.mjs +11 -14
  483. package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.cjs +0 -1
  484. package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.mjs +0 -1
  485. package/dist/mediaTypes/pdf/shared/selection/PdfSelection.cjs +2 -2
  486. package/dist/mediaTypes/pdf/shared/selection/PdfSelection.mjs +214 -236
  487. package/dist/mediaTypes/pdf/shared/selection/index.cjs +1 -1
  488. package/dist/mediaTypes/pdf/shared/selection/index.mjs +3 -6
  489. package/dist/mediaTypes/pdf/shared/text/bbox.cjs +1 -1
  490. package/dist/mediaTypes/pdf/shared/text/bbox.mjs +130 -142
  491. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +5 -5
  492. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +168 -185
  493. package/global.d.ts +17 -0
  494. package/package.json +19 -12
  495. package/types.d.ts +13 -0
  496. package/dist/kernal/logo-160x160.png.cjs +0 -1
  497. package/dist/kernal/logo-160x160.png.mjs +0 -4
  498. package/dist/mediaTypes/html/renderer/image/error-image.png.cjs +0 -1
  499. package/dist/mediaTypes/html/renderer/image/error-image.png.mjs +0 -4
  500. package/dist/mediaTypes/html/renderer/image/placeholder.png.cjs +0 -1
  501. package/dist/mediaTypes/html/renderer/image/placeholder.png.mjs +0 -4
  502. package/dist/mediaTypes/html/renderer/style/html-content.css.cjs +0 -316
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../../../../kernal/html/finder.cjs"),p=require("../../../../kernal/Constants.cjs"),M=require("../../../../kernal/web/BrowserCapabilities.cjs"),u=require("../../../../kernal/EventNames.cjs");class E{constructor(c,o){this.documentsProvider=c,this.htmlOptions=o,this.docImagesMap=new Map,this.elementMap=new Map,this.visibleImages=new Set,this.preloadImageCount=5,this.onDocumentLoad=async s=>{await this.observe(s)},this.onDocumentDisposing=s=>{this.unobserve(s)},this.observeLoadedDocuments=async()=>{const s=this.documentsProvider.getLoadedDocuments();for(const g of s)await this.observe(g)},this.observedName="observed",this.observe=async s=>{if(!this.imageIntersectionObserver)return;const g=s.getContentContainer().ownerDocument,a=d.getDocumentBody(g);if(!a||a.getAttribute(this.observedName))return;a.setAttribute(this.observedName,"true");const i=a.querySelectorAll("img,image,svg");for(let t=0;t<i.length;t++){const e=i[t],r=parseInt(e.getAttribute(p.ElementInitialNumberName));if(!(isNaN(r)||r<0)){if((d.compareTagName(e.tagName,"IMG")||d.compareTagName(e.tagName,"IMAGE")||d.compareTagName(e.tagName,"SVG"))&&!this.elementMap.has(e)){this.elementMap.set(e,s);const h=this.docImagesMap.get(s);h?h.push(e):this.docImagesMap.set(s,[e]),this.imageIntersectionObserver.observe(e)}t%100==0&&await M.BrowserCapabilities.yieldToMain()}}},this.events=this.documentsProvider.owner.events,this.bindEvents()}bindEvents(){this.events.on(u.EventNames.DocumentLoad,this.onDocumentLoad),this.events.on(u.EventNames.DocumentDisposing,this.onDocumentDisposing)}unbindEvents(){this.events.off(u.EventNames.DocumentLoad,this.onDocumentLoad),this.events.off(u.EventNames.DocumentDisposing,this.onDocumentDisposing)}async dispose(){this.unbindEvents(),this.unregister()}register(){this.imageIntersectionObserver=new IntersectionObserver(c=>{for(const i of c){const t=i.target;i.isIntersecting||i.intersectionRatio>0||d.compareTagName(t.tagName,"IMAGE")?this.visibleImages.add(t):this.visibleImages.delete(t)}if(this.visibleImages.size==0)return;const o=new Map,s=new Set;for(const i of this.visibleImages){const t=this.elementMap.get(i);if(!t)continue;s.add(i);const e=o.get(t);e?e.push(i):o.set(t,[i])}if(o.size==0)return;const g=this.documentsProvider.getRendererContainer().clientWidth,a=this.htmlOptions.flipMode=="page";for(const[i,t]of o.entries()){const e=this.docImagesMap.get(i);if(!e||e.length==0)continue;const r=new Set(t),h=t[0],I=t[t.length-1],v=e.indexOf(h),b=e.indexOf(I);if(v>0){const f=h.getBoundingClientRect();for(let m=0;m<v;m++){const n=e[v-m];if(n&&(!s.has(n)&&!r.has(n)&&(t.unshift(n),r.add(n)),m>0&&m%this.preloadImageCount==0&&(!a||Math.abs(n.getBoundingClientRect().x-f.x)>2*g)))break}}if(b>=0){const f=I.getBoundingClientRect(),m=e.length;for(let n=0;n<m-b;n++){const l=e[b+n];if(l&&(!s.has(l)&&!r.has(l)&&(t.push(l),r.add(l)),n>0&&n%this.preloadImageCount==0&&(!a||Math.abs(l.getBoundingClientRect().x-f.x)>2*g)))break}}}this.events.emit(u.EventNames.ImageElementsVisible,o)},{rootMargin:"1600px"}),this.observeLoadedDocuments()}unregister(){this.imageIntersectionObserver&&(this.imageIntersectionObserver.disconnect(),this.imageIntersectionObserver=void 0),this.docImagesMap.clear(),this.elementMap.clear(),this.visibleImages.clear()}unobserve(c){const o=this.docImagesMap.get(c)??[];for(const s of o)this.elementMap.delete(s),this.visibleImages.delete(s),this.imageIntersectionObserver?.unobserve(s);this.docImagesMap.delete(c)}}exports.HtmlImageObserver=E;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/web/BrowserCapabilities.cjs"),t=require("../../../../kernal/EventNames.cjs"),n=require("../../../../kernal/Constants.cjs"),r=require("../../../../kernal/html/finder.cjs");var i=class{constructor(t,i){this.documentsProvider=t,this.htmlOptions=i,this.docImagesMap=new Map,this.elementMap=new Map,this.visibleImages=new Set,this.preloadImageCount=5,this.onDocumentLoad=async e=>{await this.observe(e)},this.onDocumentDisposing=e=>{this.unobserve(e)},this.observeLoadedDocuments=async()=>{let e=this.documentsProvider.getLoadedDocuments();for(let t of e)await this.observe(t)},this.observedName=`observed`,this.observe=async t=>{if(!this.imageIntersectionObserver)return;let i=t.getContentContainer().ownerDocument,a=r.getDocumentBody(i);if(!a||a.getAttribute(this.observedName))return;a.setAttribute(this.observedName,`true`);let o=a.querySelectorAll(`img,image,svg`);for(let i=0;i<o.length;i++){let a=o[i],s=parseInt(a.getAttribute(n.ElementInitialNumberName));if(!(isNaN(s)||s<0)){if((r.compareTagName(a.tagName,`IMG`)||r.compareTagName(a.tagName,`IMAGE`)||r.compareTagName(a.tagName,`SVG`))&&!this.elementMap.has(a)){this.elementMap.set(a,t);let e=this.docImagesMap.get(t);e?e.push(a):this.docImagesMap.set(t,[a]),this.imageIntersectionObserver.observe(a)}i%100==0&&await e.BrowserCapabilities.yieldToMain()}}},this.events=this.documentsProvider.owner.events,this.bindEvents()}bindEvents(){this.events.on(t.EventNames.DocumentLoad,this.onDocumentLoad),this.events.on(t.EventNames.DocumentDisposing,this.onDocumentDisposing)}unbindEvents(){this.events.off(t.EventNames.DocumentLoad,this.onDocumentLoad),this.events.off(t.EventNames.DocumentDisposing,this.onDocumentDisposing)}async dispose(){this.unbindEvents(),this.unregister()}register(){this.imageIntersectionObserver=new IntersectionObserver(e=>{for(let t of e){let e=t.target;t.isIntersecting||t.intersectionRatio>0||r.compareTagName(e.tagName,`IMAGE`)?this.visibleImages.add(e):this.visibleImages.delete(e)}if(this.visibleImages.size==0)return;let n=new Map,i=new Set;for(let e of this.visibleImages){let t=this.elementMap.get(e);if(!t)continue;i.add(e);let r=n.get(t);r?r.push(e):n.set(t,[e])}if(n.size==0)return;let a=this.documentsProvider.getRendererContainer().clientWidth,o=this.htmlOptions.flipMode==`page`;for(let[e,t]of n.entries()){let n=this.docImagesMap.get(e);if(!n||n.length==0)continue;let r=new Set(t),s=t[0],c=t[t.length-1],l=n.indexOf(s),u=n.indexOf(c);if(l>0){let e=s.getBoundingClientRect();for(let s=0;s<l;s++){let c=n[l-s];if(c&&(!i.has(c)&&!r.has(c)&&(t.unshift(c),r.add(c)),s>0&&s%this.preloadImageCount==0&&(!o||Math.abs(c.getBoundingClientRect().x-e.x)>2*a)))break}}if(u>=0){let e=c.getBoundingClientRect(),s=n.length;for(let c=0;c<s-u;c++){let s=n[u+c];if(s&&(!i.has(s)&&!r.has(s)&&(t.push(s),r.add(s)),c>0&&c%this.preloadImageCount==0&&(!o||Math.abs(s.getBoundingClientRect().x-e.x)>2*a)))break}}}this.events.emit(t.EventNames.ImageElementsVisible,n)},{rootMargin:`1600px`}),this.observeLoadedDocuments()}unregister(){this.imageIntersectionObserver&&=(this.imageIntersectionObserver.disconnect(),void 0),this.docImagesMap.clear(),this.elementMap.clear(),this.visibleImages.clear()}unobserve(e){let t=this.docImagesMap.get(e)??[];for(let e of t)this.elementMap.delete(e),this.visibleImages.delete(e),this.imageIntersectionObserver?.unobserve(e);this.docImagesMap.delete(e)}};exports.HtmlImageObserver=i;
@@ -1,104 +1,92 @@
1
- import { getDocumentBody as p, compareTagName as u } from "../../../../kernal/html/finder.mjs";
2
- import { ElementInitialNumberName as M } from "../../../../kernal/Constants.mjs";
3
- import { BrowserCapabilities as D } from "../../../../kernal/web/BrowserCapabilities.mjs";
4
- import { EventNames as d } from "../../../../kernal/EventNames.mjs";
5
- class x {
6
- constructor(c, o) {
7
- this.documentsProvider = c, this.htmlOptions = o, this.docImagesMap = /* @__PURE__ */ new Map(), this.elementMap = /* @__PURE__ */ new Map(), this.visibleImages = /* @__PURE__ */ new Set(), this.preloadImageCount = 5, this.onDocumentLoad = async (s) => {
8
- await this.observe(s);
9
- }, this.onDocumentDisposing = (s) => {
10
- this.unobserve(s);
11
- }, this.observeLoadedDocuments = async () => {
12
- const s = this.documentsProvider.getLoadedDocuments();
13
- for (const g of s)
14
- await this.observe(g);
15
- }, this.observedName = "observed", this.observe = async (s) => {
16
- if (!this.imageIntersectionObserver)
17
- return;
18
- const g = s.getContentContainer().ownerDocument, a = p(g);
19
- if (!a || a.getAttribute(this.observedName))
20
- return;
21
- a.setAttribute(this.observedName, "true");
22
- const i = a.querySelectorAll("img,image,svg");
23
- for (let t = 0; t < i.length; t++) {
24
- const e = i[t], r = parseInt(e.getAttribute(M));
25
- if (!(isNaN(r) || r < 0)) {
26
- if ((u(e.tagName, "IMG") || u(e.tagName, "IMAGE") || u(e.tagName, "SVG")) && !this.elementMap.has(e)) {
27
- this.elementMap.set(e, s);
28
- const l = this.docImagesMap.get(s);
29
- l ? l.push(e) : this.docImagesMap.set(s, [e]), this.imageIntersectionObserver.observe(e);
30
- }
31
- t % 100 == 0 && await D.yieldToMain();
32
- }
33
- }
34
- }, this.events = this.documentsProvider.owner.events, this.bindEvents();
35
- }
36
- bindEvents() {
37
- this.events.on(d.DocumentLoad, this.onDocumentLoad), this.events.on(d.DocumentDisposing, this.onDocumentDisposing);
38
- }
39
- unbindEvents() {
40
- this.events.off(d.DocumentLoad, this.onDocumentLoad), this.events.off(d.DocumentDisposing, this.onDocumentDisposing);
41
- }
42
- async dispose() {
43
- this.unbindEvents(), this.unregister();
44
- }
45
- register() {
46
- this.imageIntersectionObserver = new IntersectionObserver((c) => {
47
- for (const i of c) {
48
- const t = i.target;
49
- i.isIntersecting || i.intersectionRatio > 0 || u(t.tagName, "IMAGE") ? this.visibleImages.add(t) : this.visibleImages.delete(t);
50
- }
51
- if (this.visibleImages.size == 0)
52
- return;
53
- const o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set();
54
- for (const i of this.visibleImages) {
55
- const t = this.elementMap.get(i);
56
- if (!t)
57
- continue;
58
- s.add(i);
59
- const e = o.get(t);
60
- e ? e.push(i) : o.set(t, [i]);
61
- }
62
- if (o.size == 0)
63
- return;
64
- const g = this.documentsProvider.getRendererContainer().clientWidth, a = this.htmlOptions.flipMode == "page";
65
- for (const [i, t] of o.entries()) {
66
- const e = this.docImagesMap.get(i);
67
- if (!e || e.length == 0)
68
- continue;
69
- const r = new Set(t), l = t[0], b = t[t.length - 1], f = e.indexOf(l), v = e.indexOf(b);
70
- if (f > 0) {
71
- const I = l.getBoundingClientRect();
72
- for (let m = 0; m < f; m++) {
73
- const n = e[f - m];
74
- if (n && (!s.has(n) && !r.has(n) && (t.unshift(n), r.add(n)), m > 0 && m % this.preloadImageCount == 0 && (!a || Math.abs(n.getBoundingClientRect().x - I.x) > 2 * g)))
75
- break;
76
- }
77
- }
78
- if (v >= 0) {
79
- const I = b.getBoundingClientRect(), m = e.length;
80
- for (let n = 0; n < m - v; n++) {
81
- const h = e[v + n];
82
- if (h && (!s.has(h) && !r.has(h) && (t.push(h), r.add(h)), n > 0 && n % this.preloadImageCount == 0 && (!a || Math.abs(h.getBoundingClientRect().x - I.x) > 2 * g)))
83
- break;
84
- }
85
- }
86
- }
87
- this.events.emit(d.ImageElementsVisible, o);
88
- }, {
89
- rootMargin: "1600px"
90
- }), this.observeLoadedDocuments();
91
- }
92
- unregister() {
93
- this.imageIntersectionObserver && (this.imageIntersectionObserver.disconnect(), this.imageIntersectionObserver = void 0), this.docImagesMap.clear(), this.elementMap.clear(), this.visibleImages.clear();
94
- }
95
- unobserve(c) {
96
- const o = this.docImagesMap.get(c) ?? [];
97
- for (const s of o)
98
- this.elementMap.delete(s), this.visibleImages.delete(s), this.imageIntersectionObserver?.unobserve(s);
99
- this.docImagesMap.delete(c);
100
- }
101
- }
102
- export {
103
- x as HtmlImageObserver
1
+ import { BrowserCapabilities as e } from "../../../../kernal/web/BrowserCapabilities.mjs";
2
+ import { EventNames as t } from "../../../../kernal/EventNames.mjs";
3
+ import { ElementInitialNumberName as n } from "../../../../kernal/Constants.mjs";
4
+ import { compareTagName as r, getDocumentBody as i } from "../../../../kernal/html/finder.mjs";
5
+ //#region mediaTypes/html/renderer/image/HtmlImageObserver.ts
6
+ var a = class {
7
+ constructor(t, a) {
8
+ this.documentsProvider = t, this.htmlOptions = a, this.docImagesMap = /* @__PURE__ */ new Map(), this.elementMap = /* @__PURE__ */ new Map(), this.visibleImages = /* @__PURE__ */ new Set(), this.preloadImageCount = 5, this.onDocumentLoad = async (e) => {
9
+ await this.observe(e);
10
+ }, this.onDocumentDisposing = (e) => {
11
+ this.unobserve(e);
12
+ }, this.observeLoadedDocuments = async () => {
13
+ let e = this.documentsProvider.getLoadedDocuments();
14
+ for (let t of e) await this.observe(t);
15
+ }, this.observedName = "observed", this.observe = async (t) => {
16
+ if (!this.imageIntersectionObserver) return;
17
+ let a = t.getContentContainer().ownerDocument, o = i(a);
18
+ if (!o || o.getAttribute(this.observedName)) return;
19
+ o.setAttribute(this.observedName, "true");
20
+ let s = o.querySelectorAll("img,image,svg");
21
+ for (let i = 0; i < s.length; i++) {
22
+ let a = s[i], o = parseInt(a.getAttribute(n));
23
+ if (!(isNaN(o) || o < 0)) {
24
+ if ((r(a.tagName, "IMG") || r(a.tagName, "IMAGE") || r(a.tagName, "SVG")) && !this.elementMap.has(a)) {
25
+ this.elementMap.set(a, t);
26
+ let e = this.docImagesMap.get(t);
27
+ e ? e.push(a) : this.docImagesMap.set(t, [a]), this.imageIntersectionObserver.observe(a);
28
+ }
29
+ i % 100 == 0 && await e.yieldToMain();
30
+ }
31
+ }
32
+ }, this.events = this.documentsProvider.owner.events, this.bindEvents();
33
+ }
34
+ bindEvents() {
35
+ this.events.on(t.DocumentLoad, this.onDocumentLoad), this.events.on(t.DocumentDisposing, this.onDocumentDisposing);
36
+ }
37
+ unbindEvents() {
38
+ this.events.off(t.DocumentLoad, this.onDocumentLoad), this.events.off(t.DocumentDisposing, this.onDocumentDisposing);
39
+ }
40
+ async dispose() {
41
+ this.unbindEvents(), this.unregister();
42
+ }
43
+ register() {
44
+ this.imageIntersectionObserver = new IntersectionObserver((e) => {
45
+ for (let t of e) {
46
+ let e = t.target;
47
+ t.isIntersecting || t.intersectionRatio > 0 || r(e.tagName, "IMAGE") ? this.visibleImages.add(e) : this.visibleImages.delete(e);
48
+ }
49
+ if (this.visibleImages.size == 0) return;
50
+ let n = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
51
+ for (let e of this.visibleImages) {
52
+ let t = this.elementMap.get(e);
53
+ if (!t) continue;
54
+ i.add(e);
55
+ let r = n.get(t);
56
+ r ? r.push(e) : n.set(t, [e]);
57
+ }
58
+ if (n.size == 0) return;
59
+ let a = this.documentsProvider.getRendererContainer().clientWidth, o = this.htmlOptions.flipMode == "page";
60
+ for (let [e, t] of n.entries()) {
61
+ let n = this.docImagesMap.get(e);
62
+ if (!n || n.length == 0) continue;
63
+ let r = new Set(t), s = t[0], c = t[t.length - 1], l = n.indexOf(s), u = n.indexOf(c);
64
+ if (l > 0) {
65
+ let e = s.getBoundingClientRect();
66
+ for (let s = 0; s < l; s++) {
67
+ let c = n[l - s];
68
+ if (c && (!i.has(c) && !r.has(c) && (t.unshift(c), r.add(c)), s > 0 && s % this.preloadImageCount == 0 && (!o || Math.abs(c.getBoundingClientRect().x - e.x) > 2 * a))) break;
69
+ }
70
+ }
71
+ if (u >= 0) {
72
+ let e = c.getBoundingClientRect(), s = n.length;
73
+ for (let c = 0; c < s - u; c++) {
74
+ let s = n[u + c];
75
+ if (s && (!i.has(s) && !r.has(s) && (t.push(s), r.add(s)), c > 0 && c % this.preloadImageCount == 0 && (!o || Math.abs(s.getBoundingClientRect().x - e.x) > 2 * a))) break;
76
+ }
77
+ }
78
+ }
79
+ this.events.emit(t.ImageElementsVisible, n);
80
+ }, { rootMargin: "1600px" }), this.observeLoadedDocuments();
81
+ }
82
+ unregister() {
83
+ this.imageIntersectionObserver &&= (this.imageIntersectionObserver.disconnect(), void 0), this.docImagesMap.clear(), this.elementMap.clear(), this.visibleImages.clear();
84
+ }
85
+ unobserve(e) {
86
+ let t = this.docImagesMap.get(e) ?? [];
87
+ for (let e of t) this.elementMap.delete(e), this.visibleImages.delete(e), this.imageIntersectionObserver?.unobserve(e);
88
+ this.docImagesMap.delete(e);
89
+ }
104
90
  };
91
+ //#endregion
92
+ export { a as HtmlImageObserver };
@@ -1 +0,0 @@
1
- "use strict";
@@ -0,0 +1 @@
1
+ var e=`data:image/png;base64,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`;exports.default=e;
@@ -0,0 +1,4 @@
1
+ //#region mediaTypes/html/renderer/image/error-image.png
2
+ var e = "data:image/png;base64,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";
3
+ //#endregion
4
+ export { e as default };
@@ -0,0 +1 @@
1
+ var e=`data:image/png;base64,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`;exports.default=e;
@@ -0,0 +1,4 @@
1
+ //#region mediaTypes/html/renderer/image/placeholder.png
2
+ var e = "data:image/png;base64,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";
3
+ //#endregion
4
+ export { e as default };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../kernal/IRendererViewport.cjs");class t extends e.LayoutMetrics{}exports.HtmlLayoutMetrics=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/IRendererViewport.cjs");var t=class extends e.LayoutMetrics{};exports.HtmlLayoutMetrics=t;
@@ -1,6 +1,5 @@
1
- import { LayoutMetrics as t } from "../../../../kernal/IRendererViewport.mjs";
2
- class r extends t {
3
- }
4
- export {
5
- r as HtmlLayoutMetrics
6
- };
1
+ import { LayoutMetrics as e } from "../../../../kernal/IRendererViewport.mjs";
2
+ //#region mediaTypes/html/renderer/layout/HtmlLayoutMetrics.ts
3
+ var t = class extends e {};
4
+ //#endregion
5
+ export { t as HtmlLayoutMetrics };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../style/ContentLayoutCssVariableNames.cjs"),y=require("../../../../kernal/html/finder.cjs"),c=require("../../HtmlSettings.cjs"),L=require("../../../../kernal/html/injector.cjs"),w=require("../../../../kernal/common/text.cjs"),r=require("../../../../kernal/Theme.cjs"),h=require("../../../../kernal/EventNames.cjs");class v{constructor(e,s,n,t,o){this.owner=e,this.documentsProvider=s,this.renererviewport=n,this.progress=t,this.htmlOptions=o,this.DocumentLayoutCssName="document-layout",this.DocumentPageModeCssName="document-page-mode",this.WritingVerticalScollDocumentLayoutCssName="vertical-document-layout"}async applyStyles(){const e=this.documentsProvider.getLoadedDocuments();for(const s of e)await this.applyDocStyles(s)}async applyDocStyles(e){const n=(e.getContentContainer()??await e.getVirtualContentContainer()).ownerDocument.documentElement,t=this.htmlOptions.flipMode,o=this.renererviewport.getLayoutMetrics(),i=this.htmlOptions.writingMode??"horizontal-tb",m=this.htmlOptions.direction??"ltr",d=await this.prepareDocStyes(n.ownerDocument,i,m);L.injectCssContent(n.ownerDocument,d,!0,"columns-layout-css");const u=await this.owner.services.get("themeProvider");let l;u?l=u.getCurrentTheme():l=new r.Theme;const p=await this.getCssVariables(l,o,t);for(const[C,g]of p)n.style.setProperty(C,g);this.toggleColumnLayout(n,t,i,m)}async getCssVariables(e,s,n){let t;n=="scroll"?t="none":t=s.columnHeight+"px";const o=new Map;return o.set(a.ContentLayoutCssVariableNames.ColumnWidth,s.columnWidth+"px"),o.set(a.ContentLayoutCssVariableNames.ColumnHeight,s.columnHeight+"px"),o.set(a.ContentLayoutCssVariableNames.ColumnMaxHeight,t),o.set(a.ContentLayoutCssVariableNames.ContentShadowWidth,s.shadowWidth+"px"),o.set(a.ContentLayoutCssVariableNames.ColumnWidthNumber,s.columnWidth.toString()),o.set(a.ContentLayoutCssVariableNames.ColumnHeightNumber,s.columnHeight.toString()),o.set(a.ContentLayoutCssVariableNames.PageWidth,s.pageWidth+"px"),o.set(a.ContentLayoutCssVariableNames.PageHeight,s.pageHeight+"px"),o.set(a.ContentLayoutCssVariableNames.PageMoveLength,s.pageMoveLength+"px"),o.set(a.ContentLayoutCssVariableNames.ColumnGap,this.htmlOptions.columnGap+"px"),this.htmlOptions.enableColumnRule&&this.htmlOptions.columns>1&&!w.isNullOrWhiteSpace(e.columnRuleColor)?o.set(r.Theme.ColumnRuleColor,e.columnRuleColor):o.set(r.Theme.ColumnRuleColor,"none"),o.set(a.ContentLayoutCssVariableNames.MaxImageHeightRatio,`${this.htmlOptions.maxImageHeightRatio}`),o.set(a.ContentLayoutCssVariableNames.MaxImageWidthRatio,`${this.htmlOptions.maxImageWidthRatio}`),o}async prepareDocStyes(e,s,n){let t="";t+=`html { writing-mode: ${s} !important; direction: ${n} !important; }`,t+=`body { writing-mode: ${s} !important; direction: ${n} !important; }`,t+="."+this.DocumentPageModeCssName,t+="{",t+="width:var("+a.ContentLayoutCssVariableNames.PageWidth+") !important;",t+="height:var("+a.ContentLayoutCssVariableNames.PageHeight+") !important;",t+="column-width:var("+a.ContentLayoutCssVariableNames.ColumnWidth+") !important;",t+="column-rule:1px solid var("+r.Theme.ColumnRuleColor+") !important;",t+="column-fill:auto;column-gap:var("+a.ContentLayoutCssVariableNames.ColumnGap+") !important;",t+="page-break-inside:avoid;break-inside:avoid;",t+="transition-property: transform;",t+="overflow: hidden !important;",t+="overflow-wrap: break-word !important;",t+="position: static !important;",t+="border: 0px !important;",t+="margin: 0px !important;",t+="padding:0px !important;",t+="max-height: none !important;",t+="max-width: none !important;",t+="}";const i=y.getDocumentBody(e).lastElementChild;return i&&(t+="."+c.HtmlSettings.WithoutMarginBottomCssName+"{margin-block-end:0 !important;}",i.classList.add(c.HtmlSettings.WithoutMarginBottomCssName)),t}toggleColumnLayout(e,s,n,t){e.classList.add(this.DocumentLayoutCssName),s=="page"?e.classList.add(this.DocumentPageModeCssName):(e.classList.remove(this.DocumentPageModeCssName),this.isVerticalWriting(n)?e.classList.add(this.WritingVerticalScollDocumentLayoutCssName):e.classList.remove(this.WritingVerticalScollDocumentLayoutCssName))}isVerticalWriting(e){return e=="vertical-lr"||e=="vertical-rl"}async changeFlipMode(e){if(this.htmlOptions.flipMode===e)return;const s=this.htmlOptions.flipMode;if(!this.owner.context.currentLocation?.precise){const t=await this.progress.getProgress(!0);t&&(this.owner.context.currentLocation=t.location)}this.owner.context.setUserChangedProgress(!1),this.htmlOptions.flipMode=e,this.renererviewport.applyCssVariables();const n=this.documentsProvider.getLoadedDocuments();for(const t of n)await this.applyDocStyles(t);this.owner.events.emit(h.EventNames.LayoutChange,{flipMode:{previous:s,current:e}}),await this.documentsProvider.reload()}async changeColumns(e){if(this.htmlOptions.columns===e.columns&&this.htmlOptions.autoColumns===e.autoColumns)return;const s=this.htmlOptions.columns,n=this.htmlOptions.autoColumns;if(!this.owner.context.currentLocation?.precise){const o=await this.progress.getProgress(!0);o&&(this.owner.context.currentLocation=o.location)}this.owner.context.setUserChangedProgress(!1),this.htmlOptions.columns=e.columns,this.htmlOptions.autoColumns=e.autoColumns,this.renererviewport.applyCssVariables();const t=this.documentsProvider.getLoadedDocuments();for(const o of t)await this.applyDocStyles(o);this.owner.events.emit(h.EventNames.LayoutChange,{columns:{previous:s,current:e.columns},autoColumns:{previous:n,current:e.autoColumns}}),await this.documentsProvider.reload()}}exports.HtmlRendererLayout=v;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/Theme.cjs"),t=require("../../../../kernal/EventNames.cjs"),n=require("../../../../kernal/common/text.cjs"),r=require("../../../../kernal/html/finder.cjs"),i=require("../../../../kernal/html/injector.cjs"),a=require("../../HtmlSettings.cjs"),o=require("../style/ContentLayoutCssVariableNames.cjs");var s=class{constructor(e,t,n,r,i){this.owner=e,this.documentsProvider=t,this.renererviewport=n,this.progress=r,this.htmlOptions=i,this.DocumentLayoutCssName=`document-layout`,this.DocumentPageModeCssName=`document-page-mode`,this.WritingVerticalScollDocumentLayoutCssName=`vertical-document-layout`}async applyStyles(){let e=this.documentsProvider.getLoadedDocuments();for(let t of e)await this.applyDocStyles(t)}async applyDocStyles(t){let n=(t.getContentContainer()??await t.getVirtualContentContainer()).ownerDocument.documentElement,r=this.htmlOptions.flipMode,a=this.renererviewport.getLayoutMetrics(),o=this.htmlOptions.writingMode??`horizontal-tb`,s=this.htmlOptions.direction??`ltr`,c=await this.prepareDocStyes(n.ownerDocument,o,s);i.injectCssContent(n.ownerDocument,c,!0,`columns-layout-css`);let l=await this.owner.services.get(`themeProvider`),u;u=l?l.getCurrentTheme():new e.Theme;let d=await this.getCssVariables(u,a,r);for(let[e,t]of d)n.style.setProperty(e,t);this.toggleColumnLayout(n,r,o,s)}async getCssVariables(t,r,i){let a;a=i==`scroll`?`none`:r.columnHeight+`px`;let s=new Map;return s.set(o.ContentLayoutCssVariableNames.ColumnWidth,r.columnWidth+`px`),s.set(o.ContentLayoutCssVariableNames.ColumnHeight,r.columnHeight+`px`),s.set(o.ContentLayoutCssVariableNames.ColumnMaxHeight,a),s.set(o.ContentLayoutCssVariableNames.ContentShadowWidth,r.shadowWidth+`px`),s.set(o.ContentLayoutCssVariableNames.ColumnWidthNumber,r.columnWidth.toString()),s.set(o.ContentLayoutCssVariableNames.ColumnHeightNumber,r.columnHeight.toString()),s.set(o.ContentLayoutCssVariableNames.PageWidth,r.pageWidth+`px`),s.set(o.ContentLayoutCssVariableNames.PageHeight,r.pageHeight+`px`),s.set(o.ContentLayoutCssVariableNames.PageMoveLength,r.pageMoveLength+`px`),s.set(o.ContentLayoutCssVariableNames.ColumnGap,this.htmlOptions.columnGap+`px`),this.htmlOptions.enableColumnRule&&this.htmlOptions.columns>1&&!n.isNullOrWhiteSpace(t.columnRuleColor)?s.set(e.Theme.ColumnRuleColor,t.columnRuleColor):s.set(e.Theme.ColumnRuleColor,`none`),s.set(o.ContentLayoutCssVariableNames.MaxImageHeightRatio,`${this.htmlOptions.maxImageHeightRatio}`),s.set(o.ContentLayoutCssVariableNames.MaxImageWidthRatio,`${this.htmlOptions.maxImageWidthRatio}`),s}async prepareDocStyes(t,n,i){let s=``;s+=`html { writing-mode: ${n} !important; direction: ${i} !important; }`,s+=`body { writing-mode: ${n} !important; direction: ${i} !important; }`,s+=`.`+this.DocumentPageModeCssName,s+=`{`,s+=`width:var(`+o.ContentLayoutCssVariableNames.PageWidth+`) !important;`,s+=`height:var(`+o.ContentLayoutCssVariableNames.PageHeight+`) !important;`,s+=`column-width:var(`+o.ContentLayoutCssVariableNames.ColumnWidth+`) !important;`,s+=`column-rule:1px solid var(`+e.Theme.ColumnRuleColor+`) !important;`,s+=`column-fill:auto;column-gap:var(`+o.ContentLayoutCssVariableNames.ColumnGap+`) !important;`,s+=`page-break-inside:avoid;break-inside:avoid;`,s+=`transition-property: transform;`,s+=`overflow: hidden !important;`,s+=`overflow-wrap: break-word !important;`,s+=`position: static !important;`,s+=`border: 0px !important;`,s+=`margin: 0px !important;`,s+=`padding:0px !important;`,s+=`max-height: none !important;`,s+=`max-width: none !important;`,s+=`}`;let c=r.getDocumentBody(t).lastElementChild;return c&&(s+=`.`+a.HtmlSettings.WithoutMarginBottomCssName+`{margin-block-end:0 !important;}`,c.classList.add(a.HtmlSettings.WithoutMarginBottomCssName)),s}toggleColumnLayout(e,t,n,r){e.classList.add(this.DocumentLayoutCssName),t==`page`?e.classList.add(this.DocumentPageModeCssName):(e.classList.remove(this.DocumentPageModeCssName),this.isVerticalWriting(n)?e.classList.add(this.WritingVerticalScollDocumentLayoutCssName):e.classList.remove(this.WritingVerticalScollDocumentLayoutCssName))}isVerticalWriting(e){return e==`vertical-lr`||e==`vertical-rl`}async changeFlipMode(e){if(this.htmlOptions.flipMode===e)return;let n=this.htmlOptions.flipMode;if(!this.owner.context.currentLocation?.precise){let e=await this.progress.getProgress(!0);e&&(this.owner.context.currentLocation=e.location)}this.owner.context.setUserChangedProgress(!1),this.htmlOptions.flipMode=e,this.renererviewport.applyCssVariables();let r=this.documentsProvider.getLoadedDocuments();for(let e of r)await this.applyDocStyles(e);this.owner.events.emit(t.EventNames.LayoutChange,{flipMode:{previous:n,current:e}}),await this.documentsProvider.reload()}async changeColumns(e){if(this.htmlOptions.columns===e.columns&&this.htmlOptions.autoColumns===e.autoColumns)return;let n=this.htmlOptions.columns,r=this.htmlOptions.autoColumns;if(!this.owner.context.currentLocation?.precise){let e=await this.progress.getProgress(!0);e&&(this.owner.context.currentLocation=e.location)}this.owner.context.setUserChangedProgress(!1),this.htmlOptions.columns=e.columns,this.htmlOptions.autoColumns=e.autoColumns,this.renererviewport.applyCssVariables();let i=this.documentsProvider.getLoadedDocuments();for(let e of i)await this.applyDocStyles(e);this.owner.events.emit(t.EventNames.LayoutChange,{columns:{previous:n,current:e.columns},autoColumns:{previous:r,current:e.autoColumns}}),await this.documentsProvider.reload()}};exports.HtmlRendererLayout=s;
@@ -1,91 +1,82 @@
1
- import { ContentLayoutCssVariableNames as n } from "../style/ContentLayoutCssVariableNames.mjs";
2
- import { getDocumentBody as w } from "../../../../kernal/html/finder.mjs";
3
- import { HtmlSettings as u } from "../../HtmlSettings.mjs";
4
- import { injectCssContent as y } from "../../../../kernal/html/injector.mjs";
5
- import { isNullOrWhiteSpace as f } from "../../../../kernal/common/text.mjs";
6
- import { Theme as r } from "../../../../kernal/Theme.mjs";
7
- import { EventNames as h } from "../../../../kernal/EventNames.mjs";
8
- class N {
9
- constructor(o, s, i, t, e) {
10
- this.owner = o, this.documentsProvider = s, this.renererviewport = i, this.progress = t, this.htmlOptions = e, this.DocumentLayoutCssName = "document-layout", this.DocumentPageModeCssName = "document-page-mode", this.WritingVerticalScollDocumentLayoutCssName = "vertical-document-layout";
11
- }
12
- async applyStyles() {
13
- const o = this.documentsProvider.getLoadedDocuments();
14
- for (const s of o)
15
- await this.applyDocStyles(s);
16
- }
17
- async applyDocStyles(o) {
18
- const i = (o.getContentContainer() ?? await o.getVirtualContentContainer()).ownerDocument.documentElement, t = this.htmlOptions.flipMode, e = this.renererviewport.getLayoutMetrics(), a = this.htmlOptions.writingMode ?? "horizontal-tb", m = this.htmlOptions.direction ?? "ltr", p = await this.prepareDocStyes(i.ownerDocument, a, m);
19
- y(i.ownerDocument, p, !0, "columns-layout-css");
20
- const c = await this.owner.services.get("themeProvider");
21
- let l;
22
- c ? l = c.getCurrentTheme() : l = new r();
23
- const d = await this.getCssVariables(l, e, t);
24
- for (const [g, C] of d)
25
- i.style.setProperty(g, C);
26
- this.toggleColumnLayout(i, t, a, m);
27
- }
28
- async getCssVariables(o, s, i) {
29
- let t;
30
- i == "scroll" ? t = "none" : t = s.columnHeight + "px";
31
- const e = /* @__PURE__ */ new Map();
32
- return e.set(n.ColumnWidth, s.columnWidth + "px"), e.set(n.ColumnHeight, s.columnHeight + "px"), e.set(n.ColumnMaxHeight, t), e.set(n.ContentShadowWidth, s.shadowWidth + "px"), e.set(n.ColumnWidthNumber, s.columnWidth.toString()), e.set(n.ColumnHeightNumber, s.columnHeight.toString()), e.set(n.PageWidth, s.pageWidth + "px"), e.set(n.PageHeight, s.pageHeight + "px"), e.set(n.PageMoveLength, s.pageMoveLength + "px"), e.set(n.ColumnGap, this.htmlOptions.columnGap + "px"), this.htmlOptions.enableColumnRule && this.htmlOptions.columns > 1 && !f(o.columnRuleColor) ? e.set(r.ColumnRuleColor, o.columnRuleColor) : e.set(r.ColumnRuleColor, "none"), e.set(n.MaxImageHeightRatio, `${this.htmlOptions.maxImageHeightRatio}`), e.set(n.MaxImageWidthRatio, `${this.htmlOptions.maxImageWidthRatio}`), e;
33
- }
34
- async prepareDocStyes(o, s, i) {
35
- let t = "";
36
- t += `html { writing-mode: ${s} !important; direction: ${i} !important; }`, t += `body { writing-mode: ${s} !important; direction: ${i} !important; }`, t += "." + this.DocumentPageModeCssName, t += "{", t += "width:var(" + n.PageWidth + ") !important;", t += "height:var(" + n.PageHeight + ") !important;", t += "column-width:var(" + n.ColumnWidth + ") !important;", t += "column-rule:1px solid var(" + r.ColumnRuleColor + ") !important;", t += "column-fill:auto;column-gap:var(" + n.ColumnGap + ") !important;", t += "page-break-inside:avoid;break-inside:avoid;", t += "transition-property: transform;", t += "overflow: hidden !important;", t += "overflow-wrap: break-word !important;", t += "position: static !important;", t += "border: 0px !important;", t += "margin: 0px !important;", t += "padding:0px !important;", t += "max-height: none !important;", t += "max-width: none !important;", t += "}";
37
- const a = w(o).lastElementChild;
38
- return a && (t += "." + u.WithoutMarginBottomCssName + "{margin-block-end:0 !important;}", a.classList.add(u.WithoutMarginBottomCssName)), t;
39
- }
40
- toggleColumnLayout(o, s, i, t) {
41
- o.classList.add(this.DocumentLayoutCssName), s == "page" ? o.classList.add(this.DocumentPageModeCssName) : (o.classList.remove(this.DocumentPageModeCssName), this.isVerticalWriting(i) ? o.classList.add(this.WritingVerticalScollDocumentLayoutCssName) : o.classList.remove(this.WritingVerticalScollDocumentLayoutCssName));
42
- }
43
- isVerticalWriting(o) {
44
- return o == "vertical-lr" || o == "vertical-rl";
45
- }
46
- async changeFlipMode(o) {
47
- if (this.htmlOptions.flipMode === o)
48
- return;
49
- const s = this.htmlOptions.flipMode;
50
- if (!this.owner.context.currentLocation?.precise) {
51
- const t = await this.progress.getProgress(!0);
52
- t && (this.owner.context.currentLocation = t.location);
53
- }
54
- this.owner.context.setUserChangedProgress(!1), this.htmlOptions.flipMode = o, this.renererviewport.applyCssVariables();
55
- const i = this.documentsProvider.getLoadedDocuments();
56
- for (const t of i)
57
- await this.applyDocStyles(t);
58
- this.owner.events.emit(h.LayoutChange, {
59
- flipMode: {
60
- previous: s,
61
- current: o
62
- }
63
- }), await this.documentsProvider.reload();
64
- }
65
- async changeColumns(o) {
66
- if (this.htmlOptions.columns === o.columns && this.htmlOptions.autoColumns === o.autoColumns)
67
- return;
68
- const s = this.htmlOptions.columns, i = this.htmlOptions.autoColumns;
69
- if (!this.owner.context.currentLocation?.precise) {
70
- const e = await this.progress.getProgress(!0);
71
- e && (this.owner.context.currentLocation = e.location);
72
- }
73
- this.owner.context.setUserChangedProgress(!1), this.htmlOptions.columns = o.columns, this.htmlOptions.autoColumns = o.autoColumns, this.renererviewport.applyCssVariables();
74
- const t = this.documentsProvider.getLoadedDocuments();
75
- for (const e of t)
76
- await this.applyDocStyles(e);
77
- this.owner.events.emit(h.LayoutChange, {
78
- columns: {
79
- previous: s,
80
- current: o.columns
81
- },
82
- autoColumns: {
83
- previous: i,
84
- current: o.autoColumns
85
- }
86
- }), await this.documentsProvider.reload();
87
- }
88
- }
89
- export {
90
- N as HtmlRendererLayout
1
+ import { Theme as e } from "../../../../kernal/Theme.mjs";
2
+ import { EventNames as t } from "../../../../kernal/EventNames.mjs";
3
+ import { isNullOrWhiteSpace as n } from "../../../../kernal/common/text.mjs";
4
+ import { getDocumentBody as r } from "../../../../kernal/html/finder.mjs";
5
+ import { injectCssContent as i } from "../../../../kernal/html/injector.mjs";
6
+ import { HtmlSettings as a } from "../../HtmlSettings.mjs";
7
+ import { ContentLayoutCssVariableNames as o } from "../style/ContentLayoutCssVariableNames.mjs";
8
+ //#region mediaTypes/html/renderer/layout/HtmlRendererLayout.ts
9
+ var s = class {
10
+ constructor(e, t, n, r, i) {
11
+ this.owner = e, this.documentsProvider = t, this.renererviewport = n, this.progress = r, this.htmlOptions = i, this.DocumentLayoutCssName = "document-layout", this.DocumentPageModeCssName = "document-page-mode", this.WritingVerticalScollDocumentLayoutCssName = "vertical-document-layout";
12
+ }
13
+ async applyStyles() {
14
+ let e = this.documentsProvider.getLoadedDocuments();
15
+ for (let t of e) await this.applyDocStyles(t);
16
+ }
17
+ async applyDocStyles(t) {
18
+ let n = (t.getContentContainer() ?? await t.getVirtualContentContainer()).ownerDocument.documentElement, r = this.htmlOptions.flipMode, a = this.renererviewport.getLayoutMetrics(), o = this.htmlOptions.writingMode ?? "horizontal-tb", s = this.htmlOptions.direction ?? "ltr", c = await this.prepareDocStyes(n.ownerDocument, o, s);
19
+ i(n.ownerDocument, c, !0, "columns-layout-css");
20
+ let l = await this.owner.services.get("themeProvider"), u;
21
+ u = l ? l.getCurrentTheme() : new e();
22
+ let d = await this.getCssVariables(u, a, r);
23
+ for (let [e, t] of d) n.style.setProperty(e, t);
24
+ this.toggleColumnLayout(n, r, o, s);
25
+ }
26
+ async getCssVariables(t, r, i) {
27
+ let a;
28
+ a = i == "scroll" ? "none" : r.columnHeight + "px";
29
+ let s = /* @__PURE__ */ new Map();
30
+ return s.set(o.ColumnWidth, r.columnWidth + "px"), s.set(o.ColumnHeight, r.columnHeight + "px"), s.set(o.ColumnMaxHeight, a), s.set(o.ContentShadowWidth, r.shadowWidth + "px"), s.set(o.ColumnWidthNumber, r.columnWidth.toString()), s.set(o.ColumnHeightNumber, r.columnHeight.toString()), s.set(o.PageWidth, r.pageWidth + "px"), s.set(o.PageHeight, r.pageHeight + "px"), s.set(o.PageMoveLength, r.pageMoveLength + "px"), s.set(o.ColumnGap, this.htmlOptions.columnGap + "px"), this.htmlOptions.enableColumnRule && this.htmlOptions.columns > 1 && !n(t.columnRuleColor) ? s.set(e.ColumnRuleColor, t.columnRuleColor) : s.set(e.ColumnRuleColor, "none"), s.set(o.MaxImageHeightRatio, `${this.htmlOptions.maxImageHeightRatio}`), s.set(o.MaxImageWidthRatio, `${this.htmlOptions.maxImageWidthRatio}`), s;
31
+ }
32
+ async prepareDocStyes(t, n, i) {
33
+ let s = "";
34
+ s += `html { writing-mode: ${n} !important; direction: ${i} !important; }`, s += `body { writing-mode: ${n} !important; direction: ${i} !important; }`, s += "." + this.DocumentPageModeCssName, s += "{", s += "width:var(" + o.PageWidth + ") !important;", s += "height:var(" + o.PageHeight + ") !important;", s += "column-width:var(" + o.ColumnWidth + ") !important;", s += "column-rule:1px solid var(" + e.ColumnRuleColor + ") !important;", s += "column-fill:auto;column-gap:var(" + o.ColumnGap + ") !important;", s += "page-break-inside:avoid;break-inside:avoid;", s += "transition-property: transform;", s += "overflow: hidden !important;", s += "overflow-wrap: break-word !important;", s += "position: static !important;", s += "border: 0px !important;", s += "margin: 0px !important;", s += "padding:0px !important;", s += "max-height: none !important;", s += "max-width: none !important;", s += "}";
35
+ let c = r(t).lastElementChild;
36
+ return c && (s += "." + a.WithoutMarginBottomCssName + "{margin-block-end:0 !important;}", c.classList.add(a.WithoutMarginBottomCssName)), s;
37
+ }
38
+ toggleColumnLayout(e, t, n, r) {
39
+ e.classList.add(this.DocumentLayoutCssName), t == "page" ? e.classList.add(this.DocumentPageModeCssName) : (e.classList.remove(this.DocumentPageModeCssName), this.isVerticalWriting(n) ? e.classList.add(this.WritingVerticalScollDocumentLayoutCssName) : e.classList.remove(this.WritingVerticalScollDocumentLayoutCssName));
40
+ }
41
+ isVerticalWriting(e) {
42
+ return e == "vertical-lr" || e == "vertical-rl";
43
+ }
44
+ async changeFlipMode(e) {
45
+ if (this.htmlOptions.flipMode === e) return;
46
+ let n = this.htmlOptions.flipMode;
47
+ if (!this.owner.context.currentLocation?.precise) {
48
+ let e = await this.progress.getProgress(!0);
49
+ e && (this.owner.context.currentLocation = e.location);
50
+ }
51
+ this.owner.context.setUserChangedProgress(!1), this.htmlOptions.flipMode = e, this.renererviewport.applyCssVariables();
52
+ let r = this.documentsProvider.getLoadedDocuments();
53
+ for (let e of r) await this.applyDocStyles(e);
54
+ this.owner.events.emit(t.LayoutChange, { flipMode: {
55
+ previous: n,
56
+ current: e
57
+ } }), await this.documentsProvider.reload();
58
+ }
59
+ async changeColumns(e) {
60
+ if (this.htmlOptions.columns === e.columns && this.htmlOptions.autoColumns === e.autoColumns) return;
61
+ let n = this.htmlOptions.columns, r = this.htmlOptions.autoColumns;
62
+ if (!this.owner.context.currentLocation?.precise) {
63
+ let e = await this.progress.getProgress(!0);
64
+ e && (this.owner.context.currentLocation = e.location);
65
+ }
66
+ this.owner.context.setUserChangedProgress(!1), this.htmlOptions.columns = e.columns, this.htmlOptions.autoColumns = e.autoColumns, this.renererviewport.applyCssVariables();
67
+ let i = this.documentsProvider.getLoadedDocuments();
68
+ for (let e of i) await this.applyDocStyles(e);
69
+ this.owner.events.emit(t.LayoutChange, {
70
+ columns: {
71
+ previous: n,
72
+ current: e.columns
73
+ },
74
+ autoColumns: {
75
+ previous: r,
76
+ current: e.autoColumns
77
+ }
78
+ }), await this.documentsProvider.reload();
79
+ }
91
80
  };
81
+ //#endregion
82
+ export { s as HtmlRendererLayout };