@foxycape/core 1.1.3 → 1.1.4

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 (501) 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.mjs +0 -1
  404. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  405. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +147 -170
  406. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  407. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +45 -52
  408. package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.cjs +1 -1
  409. package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.mjs +28 -28
  410. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  411. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +27 -23
  412. package/dist/mediaTypes/pdf/renderer/IPdfDocument.cjs +0 -1
  413. package/dist/mediaTypes/pdf/renderer/IPdfDocument.mjs +0 -1
  414. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.cjs +0 -1
  415. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.mjs +0 -1
  416. package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.cjs +0 -1
  417. package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.mjs +0 -1
  418. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.cjs +1 -1
  419. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +323 -625
  420. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  421. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +18 -18
  422. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  423. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +25 -6
  424. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  425. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +61 -70
  426. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  427. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +118 -122
  428. package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.cjs +1 -1
  429. package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.mjs +85 -111
  430. package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.cjs +1 -1
  431. package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.mjs +7 -10
  432. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  433. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +29 -32
  434. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  435. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +76 -79
  436. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  437. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +269 -236
  438. package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.cjs +1 -1
  439. package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.mjs +33 -36
  440. package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.cjs +0 -1
  441. package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.mjs +0 -1
  442. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  443. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +243 -290
  444. package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.cjs +1 -1
  445. package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.mjs +43 -50
  446. package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.cjs +1 -1
  447. package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.mjs +84 -105
  448. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  449. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +44 -59
  450. package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.cjs +1 -1
  451. package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.mjs +138 -177
  452. package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.cjs +0 -1
  453. package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.mjs +0 -1
  454. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.cjs +1 -1
  455. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.mjs +36 -42
  456. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  457. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +75 -82
  458. package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.cjs +0 -1
  459. package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.mjs +0 -1
  460. package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.cjs +1 -1
  461. package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.mjs +18 -21
  462. package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.cjs +0 -1
  463. package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.mjs +0 -1
  464. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  465. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +54 -68
  466. package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.cjs +0 -1
  467. package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.mjs +0 -1
  468. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  469. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +15 -15
  470. package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.cjs +0 -1
  471. package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.mjs +0 -1
  472. package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.cjs +1 -1
  473. package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.mjs +46 -41
  474. package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
  475. package/dist/mediaTypes/pdf/shared/geometry/index.mjs +3 -13
  476. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
  477. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +45 -45
  478. package/dist/mediaTypes/pdf/shared/geometry/textRects.cjs +1 -1
  479. package/dist/mediaTypes/pdf/shared/geometry/textRects.mjs +219 -263
  480. package/dist/mediaTypes/pdf/shared/range.cjs +1 -1
  481. package/dist/mediaTypes/pdf/shared/range.mjs +11 -14
  482. package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.cjs +0 -1
  483. package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.mjs +0 -1
  484. package/dist/mediaTypes/pdf/shared/selection/PdfSelection.cjs +2 -2
  485. package/dist/mediaTypes/pdf/shared/selection/PdfSelection.mjs +214 -236
  486. package/dist/mediaTypes/pdf/shared/selection/index.cjs +1 -1
  487. package/dist/mediaTypes/pdf/shared/selection/index.mjs +3 -6
  488. package/dist/mediaTypes/pdf/shared/text/bbox.cjs +1 -1
  489. package/dist/mediaTypes/pdf/shared/text/bbox.mjs +130 -142
  490. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +5 -5
  491. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +168 -185
  492. package/global.d.ts +17 -0
  493. package/package.json +19 -12
  494. package/types.d.ts +13 -0
  495. package/dist/kernal/logo-160x160.png.cjs +0 -1
  496. package/dist/kernal/logo-160x160.png.mjs +0 -4
  497. package/dist/mediaTypes/html/renderer/image/error-image.png.cjs +0 -1
  498. package/dist/mediaTypes/html/renderer/image/error-image.png.mjs +0 -4
  499. package/dist/mediaTypes/html/renderer/image/placeholder.png.cjs +0 -1
  500. package/dist/mediaTypes/html/renderer/image/placeholder.png.mjs +0 -4
  501. package/dist/mediaTypes/html/renderer/style/html-content.css.cjs +0 -316
@@ -1,8 +1,8 @@
1
- class o {
2
- constructor() {
3
- this.textLayerMode = 2, this.annotationMode = 2, this.annotationEditorMode = 0, this.scaleValue = "auto", this.removeHorizonalMargin = !1;
4
- }
5
- }
6
- export {
7
- o as PdfOptions
1
+ //#region mediaTypes/pdf/PdfOptions.ts
2
+ var e = class {
3
+ constructor() {
4
+ this.textLayerMode = 2, this.annotationMode = 2, this.annotationEditorMode = 0, this.scaleValue = "auto", this.removeHorizonalMargin = !1;
5
+ }
8
6
  };
7
+ //#endregion
8
+ export { e as PdfOptions };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../pdfjs/legacy/build/pdf.mjs"),a=require("../../pdfjs/legacy/build/pdf.worker.min.mjs?raw");function i(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const u=i(f);let o=null;const n=e=>!e||e==="pdfjs:fake-worker"||e==="foxycape-pdf:fake-worker"||e.startsWith("app:")?!1:/^(blob:|https?:|file:|data:)/i.test(e)?!0:e.startsWith("/")||e.startsWith("./")||e.startsWith("../"),l=()=>{if(o)return o;if(!a)throw new Error("PDF worker source is not bundled. Pass a usable preferredWorkerSrc (e.g. Blob URL from an external pdf.worker.min.mjs).");const e=new Blob([a],{type:"text/javascript"});return o=URL.createObjectURL(e),o},c=e=>{const{GlobalWorkerOptions:r}=u;if(n(r.workerSrc))return r.workerSrc;if(n(e))return r.workerSrc=e,e;const t=l();return r.workerSrc=t,t};exports.ensurePdfWebWorker=c;exports.isUsablePdfWorkerSrc=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs");let t=require("../../pdfjs/legacy/build/pdf.mjs");t=e.__toESM(t,1);let n=require("../../pdfjs/legacy/build/pdf.worker.min.mjs?raw");n=e.__toESM(n,1);var r=null,i=e=>!e||e===`pdfjs:fake-worker`||e===`foxycape-pdf:fake-worker`||e.startsWith(`app:`)?!1:/^(blob:|https?:|file:|data:)/i.test(e)?!0:e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`),a=()=>{if(r)return r;if(!n.default)throw Error(`PDF worker source is not bundled. Pass a usable preferredWorkerSrc (e.g. Blob URL from an external pdf.worker.min.mjs).`);let e=new Blob([n.default],{type:`text/javascript`});return r=URL.createObjectURL(e),r},o=e=>{let{GlobalWorkerOptions:n}=t;if(i(n.workerSrc))return n.workerSrc;if(i(e))return n.workerSrc=e,e;let r=a();return n.workerSrc=r,r};exports.ensurePdfWebWorker=o,exports.isUsablePdfWorkerSrc=i;
@@ -1,27 +1,17 @@
1
- import * as a from "../../pdfjs/legacy/build/pdf.mjs";
2
- import s from "../../pdfjs/legacy/build/pdf.worker.min.mjs?raw";
3
- let t = null;
4
- const n = (r) => !r || r === "pdfjs:fake-worker" || r === "foxycape-pdf:fake-worker" || r.startsWith("app:") ? !1 : /^(blob:|https?:|file:|data:)/i.test(r) ? !0 : r.startsWith("/") || r.startsWith("./") || r.startsWith("../"), f = () => {
5
- if (t)
6
- return t;
7
- if (!s)
8
- throw new Error("PDF worker source is not bundled. Pass a usable preferredWorkerSrc (e.g. Blob URL from an external pdf.worker.min.mjs).");
9
- const r = new Blob([s], {
10
- type: "text/javascript"
11
- });
12
- return t = URL.createObjectURL(r), t;
13
- }, l = (r) => {
14
- const {
15
- GlobalWorkerOptions: e
16
- } = a;
17
- if (n(e.workerSrc))
18
- return e.workerSrc;
19
- if (n(r))
20
- return e.workerSrc = r, r;
21
- const o = f();
22
- return e.workerSrc = o, o;
23
- };
24
- export {
25
- l as ensurePdfWebWorker,
26
- n as isUsablePdfWorkerSrc
1
+ import * as e from "../../pdfjs/legacy/build/pdf.mjs";
2
+ import t from "../../pdfjs/legacy/build/pdf.worker.min.mjs?raw";
3
+ //#region mediaTypes/pdf/ensurePdfWebWorker.ts
4
+ var n = null, r = (e) => !e || e === "pdfjs:fake-worker" || e === "foxycape-pdf:fake-worker" || e.startsWith("app:") ? !1 : /^(blob:|https?:|file:|data:)/i.test(e) ? !0 : e.startsWith("/") || e.startsWith("./") || e.startsWith("../"), i = () => {
5
+ if (n) return n;
6
+ if (!t) throw Error("PDF worker source is not bundled. Pass a usable preferredWorkerSrc (e.g. Blob URL from an external pdf.worker.min.mjs).");
7
+ let e = new Blob([t], { type: "text/javascript" });
8
+ return n = URL.createObjectURL(e), n;
9
+ }, a = (t) => {
10
+ let { GlobalWorkerOptions: n } = e;
11
+ if (r(n.workerSrc)) return n.workerSrc;
12
+ if (r(t)) return n.workerSrc = t, t;
13
+ let a = i();
14
+ return n.workerSrc = a, a;
27
15
  };
16
+ //#endregion
17
+ export { a as ensurePdfWebWorker, r as isUsablePdfWorkerSrc };
@@ -1 +0,0 @@
1
- "use strict";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../../../kernal/common/text.cjs"),D=require("../loadPdfDocument.cjs"),m=require("./PdfTextDocument.cjs"),v=require("../../base/fileParser/BaseFileParser.cjs"),b=require("./PdfPasswordProvider.cjs"),P=require("../../../kernal/nav/Nav.cjs"),g=require("../../../kernal/IFileParser.cjs");class x extends v.BaseFileParser{constructor(t,e,s,r,a,l,o,n,i,d,c,h){super(t,e,s,r,a,d,c),this.events=l,this.locale=o,this.context=n,this.storage=i,this.url=d,this.extension=c,this.options=h,this.getPdfSpineFileData=async u=>{let f,w=!1;if(u.data){if(u.data instanceof ArrayBuffer)u.data.byteLength>0&&(f=new Uint8Array(u.data),w=!0);else if(u.data.size>0){const y=await u.data.arrayBuffer();f=new Uint8Array(y)}}if(!w){if(!u.url)return new Uint8Array(0);f=(await this.getFileBytes(u.url)).data}return f},this.pdfDocs=new Map,this.passwordProvider=new b.PdfPasswordProvider(l,o,n,i),this.bindDefaultPasswordFlow()}bindDefaultPasswordFlow(){this.options.standardPasswordProvider||(this.options.standardPasswordProvider=this.passwordProvider.getPassword)}async buildLocation(t,e){const s=typeof t=="string"?new P.NavPoint("",t):t,r=await super.buildLocation(t,e);return(s.startPageNumber??0)>0&&(r.current=s.startPageNumber,r.unit="page"),p.isNullOrWhiteSpace(s.pdfDest)||(r.pdfDest=s.pdfDest),r}async getCover(t,e){return null}async getTextDocuments(){if(this.textDocuments)return this.textDocuments;this.textDocuments=[];const t=await this.getSpineFiles();for(let e=0;e<t.length;e++){const s=t[e],r=new m.PdfTextDocument(this,s);this.textDocuments.push(r)}return this.textDocuments}async getPdfDocument(t){let e=this.pdfDocs.get(t.url);return e&&!e.loadingTask.destroyed||(e=await this.internalGetPdfDocumentProxy(t),this.pdfDocs.set(t.url,e)),e}async internalGetPdfDocumentProxy(t){let e;this.options.standardPasswordProvider&&(e=await this.options.standardPasswordProvider(this,t));const s=await this.getPdfSpineFileData(t);return await D.loadPdfDocument(s,{password:e,cMapUrl:this.options.cMapUrl,standardFontDataUrl:this.options.standardFontDataUrl,showPasswordPrompt:this.options.showPasswordPrompt,passwordPrompt:this.passwordProvider.onPasswordPrompt,internalUrlBuilder:this.options.internalUrlBuilder})}async getFileHash(t){if(this.isMultiFiles)return"";if(!t||t=="SHA-1"){if(this.currentWholePdfFileHash)return this.currentWholePdfFileHash;const s=await Array.from(this.pdfDocs.values())[0].getData();return this.currentWholePdfFileHash=await this.crypto.digest(s,"SHA-1"),this.currentWholePdfFileHash}const e=await Array.from(this.pdfDocs.values())[0].getData();return await this.crypto.digest(e,"MD5")}async parseUrl(t,e){const s=await super.parseUrl(t,e);if(s.spineFiles||(s.spineFiles=[]),!s.isMultiFiles){const r=new g.SpineFile(s.data,s.mainUrl,this.extension),a=await this.internalGetPdfDocumentProxy(r);for(let o=0;o<a.numPages;o++){const n=`${o+1}.pdf`,i=new g.SpineFile(null,n,this.extension);s.spineFiles.push(i),this.pdfDocs.set(n,a)}const l=await this.initNav(a);s.nav=l}return s}async measureFilePercentage(t,e){if(!t)return;if(!t.find(a=>a.symbolCount==null)){t[0]?.ratio!=null&&this.applyProgressRanges(t);return}let r=0;t.forEach(a=>{(a.symbolCount==null||a.symbolCount<=0)&&(a.symbolCount=1),r+=a.symbolCount}),r<=0&&(r=1),t.forEach(a=>{a.ratio==null&&(a.ratio=a.symbolCount/r)}),this.applyProgressRanges(t)}async getNav(){const t=await super.getNav();return t||null}async dispose(){await super.dispose();for(const[t,e]of this.pdfDocs.entries())try{await e.cleanup(),e.loadingTask&&await e.loadingTask.destroy(),await e.destroy()}catch{}if(this.pdfDocs.clear(),this.textDocuments){for(const t of this.textDocuments)await t.dispose();this.textDocuments.splice(0)}}async initNav(t){const e=new P.Nav;if(!t)return e;const s=await t.getOutline();if(s==null||s.length==0)return e;for(let r=0;r<s.length;r++){const a=s[r],l=await this.getPageNumber(t,a.dest);let o=await this.formatPdfDest(t,a.dest);const n=await this.getNavPoint(t,a.title,l,o,a.items);e.navPoints.push(n)}return e}async getNavPoint(t,e,s,r,a){e=e?.trim().replace(/[\x00-\x1f]/gi,"");let l=s.toString()+".pdf",o=s;const n=new P.NavPoint(e,l,o,r);if(a!=null&&a.length>0)for(let i=0;i<a.length;i++){const d=await this.getPageNumber(t,a[i].dest);let c=await this.formatPdfDest(t,a[i].dest);const h=await this.getNavPoint(t,a[i].title,d,c,a[i].items);n.children.push(h)}return n}async formatPdfDest(t,e){let s;return typeof e=="string"?s=await t.getDestination(e):s=e,JSON.stringify(s)}async getPageNumber(t,e){let s,r=0;try{if(typeof e=="string"?s=await t.getDestination(e):s=e,Array.isArray(s)){const[a]=s;typeof a=="object"&&a!==null?r=await t.getPageIndex(a)+1:Number.isInteger(a)&&(r=a+1)}}catch{}return r}}exports.PdfFileParser=x;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/common/text.cjs"),t=require("../../../kernal/IFileParser.cjs"),n=require("../../../kernal/nav/Nav.cjs"),r=require("../loadPdfDocument.cjs"),i=require("../../base/fileParser/BaseFileParser.cjs"),a=require("./PdfTextDocument.cjs"),o=require("./PdfPasswordProvider.cjs");var s=class extends i.BaseFileParser{constructor(e,t,n,r,i,a,s,c,l,u,d,f){super(e,t,n,r,i,u,d),this.events=a,this.locale=s,this.context=c,this.storage=l,this.url=u,this.extension=d,this.options=f,this.getPdfSpineFileData=async e=>{let t,n=!1;if(e.data){if(e.data instanceof ArrayBuffer)e.data.byteLength>0&&(t=new Uint8Array(e.data),n=!0);else if(e.data.size>0){let n=await e.data.arrayBuffer();t=new Uint8Array(n)}}if(!n){if(!e.url)return new Uint8Array;t=(await this.getFileBytes(e.url)).data}return t},this.pdfDocs=new Map,this.passwordProvider=new o.PdfPasswordProvider(a,s,c,l),this.bindDefaultPasswordFlow()}bindDefaultPasswordFlow(){this.options.standardPasswordProvider||(this.options.standardPasswordProvider=this.passwordProvider.getPassword)}async buildLocation(t,r){let i=typeof t==`string`?new n.NavPoint(``,t):t,a=await super.buildLocation(t,r);return(i.startPageNumber??0)>0&&(a.current=i.startPageNumber,a.unit=`page`),e.isNullOrWhiteSpace(i.pdfDest)||(a.pdfDest=i.pdfDest),a}async getCover(e,t){return null}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.PdfTextDocument(this,n);this.textDocuments.push(r)}return this.textDocuments}async getPdfDocument(e){let t=this.pdfDocs.get(e.url);return t&&!t.loadingTask.destroyed?t:(t=await this.internalGetPdfDocumentProxy(e),this.pdfDocs.set(e.url,t),t)}async internalGetPdfDocumentProxy(e){let t;this.options.standardPasswordProvider&&(t=await this.options.standardPasswordProvider(this,e));let n=await this.getPdfSpineFileData(e);return await r.loadPdfDocument(n,{password:t,cMapUrl:this.options.cMapUrl,standardFontDataUrl:this.options.standardFontDataUrl,showPasswordPrompt:this.options.showPasswordPrompt,passwordPrompt:this.passwordProvider.onPasswordPrompt,internalUrlBuilder:this.options.internalUrlBuilder})}async getFileHash(e){if(this.isMultiFiles)return``;if(!e||e==`SHA-1`){if(this.currentWholePdfFileHash)return this.currentWholePdfFileHash;let e=await Array.from(this.pdfDocs.values())[0].getData();return this.currentWholePdfFileHash=await this.crypto.digest(e,`SHA-1`),this.currentWholePdfFileHash}let t=await Array.from(this.pdfDocs.values())[0].getData();return await this.crypto.digest(t,`MD5`)}async parseUrl(e,n){let r=await super.parseUrl(e,n);if(r.spineFiles||=[],!r.isMultiFiles){let e=new t.SpineFile(r.data,r.mainUrl,this.extension),n=await this.internalGetPdfDocumentProxy(e);for(let e=0;e<n.numPages;e++){let i=`${e+1}.pdf`,a=new t.SpineFile(null,i,this.extension);r.spineFiles.push(a),this.pdfDocs.set(i,n)}r.nav=await this.initNav(n)}return r}async measureFilePercentage(e,t){if(!e)return;if(!e.find(e=>e.symbolCount==null)){e[0]?.ratio!=null&&this.applyProgressRanges(e);return}let n=0;e.forEach(e=>{(e.symbolCount==null||e.symbolCount<=0)&&(e.symbolCount=1),n+=e.symbolCount}),n<=0&&(n=1),e.forEach(e=>{e.ratio??=e.symbolCount/n}),this.applyProgressRanges(e)}async getNav(){return await super.getNav()||null}async dispose(){await super.dispose();for(let[e,t]of this.pdfDocs.entries())try{await t.cleanup(),t.loadingTask&&await t.loadingTask.destroy(),await t.destroy()}catch{}if(this.pdfDocs.clear(),this.textDocuments){for(let e of this.textDocuments)await e.dispose();this.textDocuments.splice(0)}}async initNav(e){let t=new n.Nav;if(!e)return t;let r=await e.getOutline();if(r==null||r.length==0)return t;for(let n=0;n<r.length;n++){let i=r[n],a=await this.getPageNumber(e,i.dest),o=await this.formatPdfDest(e,i.dest),s=await this.getNavPoint(e,i.title,a,o,i.items);t.navPoints.push(s)}return t}async getNavPoint(e,t,r,i,a){t=t?.trim().replace(/[\x00-\x1f]/gi,``);let o=r.toString()+`.pdf`,s=new n.NavPoint(t,o,r,i);if(a!=null&&a.length>0)for(let t=0;t<a.length;t++){let n=await this.getPageNumber(e,a[t].dest),r=await this.formatPdfDest(e,a[t].dest),i=await this.getNavPoint(e,a[t].title,n,r,a[t].items);s.children.push(i)}return s}async formatPdfDest(e,t){let n;return n=typeof t==`string`?await e.getDestination(t):t,JSON.stringify(n)}async getPageNumber(e,t){let n,r=0;try{if(n=typeof t==`string`?await e.getDestination(t):t,Array.isArray(n)){let[t]=n;typeof t==`object`&&t?r=await e.getPageIndex(t)+1:Number.isInteger(t)&&(r=t+1)}}catch{}return r}};exports.PdfFileParser=s;
@@ -1,171 +1,148 @@
1
- import { isNullOrWhiteSpace as y } from "../../../kernal/common/text.mjs";
2
- import { loadPdfDocument as m } from "../loadPdfDocument.mjs";
3
- import { PdfTextDocument as D } from "./PdfTextDocument.mjs";
4
- import { BaseFileParser as v } from "../../base/fileParser/BaseFileParser.mjs";
5
- import { PdfPasswordProvider as b } from "./PdfPasswordProvider.mjs";
6
- import { NavPoint as w, Nav as x } from "../../../kernal/nav/Nav.mjs";
7
- import { SpineFile as p } from "../../../kernal/IFileParser.mjs";
8
- class M extends v {
9
- constructor(t, s, e, r, a, l, o, n, i, u, f, h) {
10
- super(t, s, e, r, a, u, f), this.events = l, this.locale = o, this.context = n, this.storage = i, this.url = u, this.extension = f, this.options = h, this.getPdfSpineFileData = async (d) => {
11
- let c, P = !1;
12
- if (d.data) {
13
- if (d.data instanceof ArrayBuffer)
14
- d.data.byteLength > 0 && (c = new Uint8Array(d.data), P = !0);
15
- else if (d.data.size > 0) {
16
- const g = await d.data.arrayBuffer();
17
- c = new Uint8Array(g);
18
- }
19
- }
20
- if (!P) {
21
- if (!d.url)
22
- return new Uint8Array(0);
23
- c = (await this.getFileBytes(d.url)).data;
24
- }
25
- return c;
26
- }, this.pdfDocs = /* @__PURE__ */ new Map(), this.passwordProvider = new b(l, o, n, i), this.bindDefaultPasswordFlow();
27
- }
28
- /**
29
- * When showPasswordPrompt is on and no custom passwordPrompt is set,
30
- * emit EventNames.RequirePdfPassword for the host UI to handle.
31
- */
32
- bindDefaultPasswordFlow() {
33
- this.options.standardPasswordProvider || (this.options.standardPasswordProvider = this.passwordProvider.getPassword);
34
- }
35
- async buildLocation(t, s) {
36
- const e = typeof t == "string" ? new w("", t) : t, r = await super.buildLocation(t, s);
37
- return (e.startPageNumber ?? 0) > 0 && (r.current = e.startPageNumber, r.unit = "page"), y(e.pdfDest) || (r.pdfDest = e.pdfDest), r;
38
- }
39
- async getCover(t, s) {
40
- return null;
41
- }
42
- async getTextDocuments() {
43
- if (this.textDocuments)
44
- return this.textDocuments;
45
- this.textDocuments = [];
46
- const t = await this.getSpineFiles();
47
- for (let s = 0; s < t.length; s++) {
48
- const e = t[s], r = new D(this, e);
49
- this.textDocuments.push(r);
50
- }
51
- return this.textDocuments;
52
- }
53
- async getPdfDocument(t) {
54
- let s = this.pdfDocs.get(t.url);
55
- return s && !s.loadingTask.destroyed || (s = await this.internalGetPdfDocumentProxy(t), this.pdfDocs.set(t.url, s)), s;
56
- }
57
- async internalGetPdfDocumentProxy(t) {
58
- let s;
59
- this.options.standardPasswordProvider && (s = await this.options.standardPasswordProvider(this, t));
60
- const e = await this.getPdfSpineFileData(t);
61
- return await m(e, {
62
- password: s,
63
- cMapUrl: this.options.cMapUrl,
64
- standardFontDataUrl: this.options.standardFontDataUrl,
65
- showPasswordPrompt: this.options.showPasswordPrompt,
66
- passwordPrompt: this.passwordProvider.onPasswordPrompt,
67
- internalUrlBuilder: this.options.internalUrlBuilder
68
- });
69
- }
70
- async getFileHash(t) {
71
- if (this.isMultiFiles)
72
- return "";
73
- if (!t || t == "SHA-1") {
74
- if (this.currentWholePdfFileHash)
75
- return this.currentWholePdfFileHash;
76
- const e = await Array.from(this.pdfDocs.values())[0].getData();
77
- return this.currentWholePdfFileHash = await this.crypto.digest(e, "SHA-1"), this.currentWholePdfFileHash;
78
- }
79
- const s = await Array.from(this.pdfDocs.values())[0].getData();
80
- return await this.crypto.digest(s, "MD5");
81
- }
82
- async parseUrl(t, s) {
83
- const e = await super.parseUrl(t, s);
84
- if (e.spineFiles || (e.spineFiles = []), !e.isMultiFiles) {
85
- const r = new p(e.data, e.mainUrl, this.extension), a = await this.internalGetPdfDocumentProxy(r);
86
- for (let o = 0; o < a.numPages; o++) {
87
- const n = `${o + 1}.pdf`, i = new p(null, n, this.extension);
88
- e.spineFiles.push(i), this.pdfDocs.set(n, a);
89
- }
90
- const l = await this.initNav(a);
91
- e.nav = l;
92
- }
93
- return e;
94
- }
95
- async measureFilePercentage(t, s) {
96
- if (!t)
97
- return;
98
- if (!t.find((a) => a.symbolCount == null)) {
99
- t[0]?.ratio != null && this.applyProgressRanges(t);
100
- return;
101
- }
102
- let r = 0;
103
- t.forEach((a) => {
104
- (a.symbolCount == null || a.symbolCount <= 0) && (a.symbolCount = 1), r += a.symbolCount;
105
- }), r <= 0 && (r = 1), t.forEach((a) => {
106
- a.ratio == null && (a.ratio = a.symbolCount / r);
107
- }), this.applyProgressRanges(t);
108
- }
109
- async getNav() {
110
- const t = await super.getNav();
111
- return t || null;
112
- }
113
- async dispose() {
114
- await super.dispose();
115
- for (const [t, s] of this.pdfDocs.entries())
116
- try {
117
- await s.cleanup(), s.loadingTask && await s.loadingTask.destroy(), await s.destroy();
118
- } catch {
119
- }
120
- if (this.pdfDocs.clear(), this.textDocuments) {
121
- for (const t of this.textDocuments)
122
- await t.dispose();
123
- this.textDocuments.splice(0);
124
- }
125
- }
126
- async initNav(t) {
127
- const s = new x();
128
- if (!t)
129
- return s;
130
- const e = await t.getOutline();
131
- if (e == null || e.length == 0) return s;
132
- for (let r = 0; r < e.length; r++) {
133
- const a = e[r], l = await this.getPageNumber(t, a.dest);
134
- let o = await this.formatPdfDest(t, a.dest);
135
- const n = await this.getNavPoint(t, a.title, l, o, a.items);
136
- s.navPoints.push(n);
137
- }
138
- return s;
139
- }
140
- async getNavPoint(t, s, e, r, a) {
141
- s = s?.trim().replace(/[\x00-\x1f]/gi, "");
142
- let l = e.toString() + ".pdf", o = e;
143
- const n = new w(s, l, o, r);
144
- if (a != null && a.length > 0)
145
- for (let i = 0; i < a.length; i++) {
146
- const u = await this.getPageNumber(t, a[i].dest);
147
- let f = await this.formatPdfDest(t, a[i].dest);
148
- const h = await this.getNavPoint(t, a[i].title, u, f, a[i].items);
149
- n.children.push(h);
150
- }
151
- return n;
152
- }
153
- async formatPdfDest(t, s) {
154
- let e;
155
- return typeof s == "string" ? e = await t.getDestination(s) : e = s, JSON.stringify(e);
156
- }
157
- async getPageNumber(t, s) {
158
- let e, r = 0;
159
- try {
160
- if (typeof s == "string" ? e = await t.getDestination(s) : e = s, Array.isArray(e)) {
161
- const [a] = e;
162
- typeof a == "object" && a !== null ? r = await t.getPageIndex(a) + 1 : Number.isInteger(a) && (r = a + 1);
163
- }
164
- } catch {
165
- }
166
- return r;
167
- }
168
- }
169
- export {
170
- M as PdfFileParser
1
+ import { isNullOrWhiteSpace as e } from "../../../kernal/common/text.mjs";
2
+ import { SpineFile as t } from "../../../kernal/IFileParser.mjs";
3
+ import { Nav as n, NavPoint as r } from "../../../kernal/nav/Nav.mjs";
4
+ import { loadPdfDocument as i } from "../loadPdfDocument.mjs";
5
+ import { BaseFileParser as a } from "../../base/fileParser/BaseFileParser.mjs";
6
+ import { PdfTextDocument as o } from "./PdfTextDocument.mjs";
7
+ import { PdfPasswordProvider as s } from "./PdfPasswordProvider.mjs";
8
+ //#region mediaTypes/pdf/fileParser/PdfFileParser.ts
9
+ var c = class extends a {
10
+ constructor(e, t, n, r, i, a, o, c, l, u, d, f) {
11
+ super(e, t, n, r, i, u, d), this.events = a, this.locale = o, this.context = c, this.storage = l, this.url = u, this.extension = d, this.options = f, this.getPdfSpineFileData = async (e) => {
12
+ let t, n = !1;
13
+ if (e.data) {
14
+ if (e.data instanceof ArrayBuffer) e.data.byteLength > 0 && (t = new Uint8Array(e.data), n = !0);
15
+ else if (e.data.size > 0) {
16
+ let n = await e.data.arrayBuffer();
17
+ t = new Uint8Array(n);
18
+ }
19
+ }
20
+ if (!n) {
21
+ if (!e.url) return /* @__PURE__ */ new Uint8Array();
22
+ t = (await this.getFileBytes(e.url)).data;
23
+ }
24
+ return t;
25
+ }, this.pdfDocs = /* @__PURE__ */ new Map(), this.passwordProvider = new s(a, o, c, l), this.bindDefaultPasswordFlow();
26
+ }
27
+ bindDefaultPasswordFlow() {
28
+ this.options.standardPasswordProvider || (this.options.standardPasswordProvider = this.passwordProvider.getPassword);
29
+ }
30
+ async buildLocation(t, n) {
31
+ let i = typeof t == "string" ? new r("", t) : t, a = await super.buildLocation(t, n);
32
+ return (i.startPageNumber ?? 0) > 0 && (a.current = i.startPageNumber, a.unit = "page"), e(i.pdfDest) || (a.pdfDest = i.pdfDest), a;
33
+ }
34
+ async getCover(e, t) {
35
+ return null;
36
+ }
37
+ async getTextDocuments() {
38
+ if (this.textDocuments) return this.textDocuments;
39
+ this.textDocuments = [];
40
+ let e = await this.getSpineFiles();
41
+ for (let t = 0; t < e.length; t++) {
42
+ let n = e[t], r = new o(this, n);
43
+ this.textDocuments.push(r);
44
+ }
45
+ return this.textDocuments;
46
+ }
47
+ async getPdfDocument(e) {
48
+ let t = this.pdfDocs.get(e.url);
49
+ return t && !t.loadingTask.destroyed ? t : (t = await this.internalGetPdfDocumentProxy(e), this.pdfDocs.set(e.url, t), t);
50
+ }
51
+ async internalGetPdfDocumentProxy(e) {
52
+ let t;
53
+ this.options.standardPasswordProvider && (t = await this.options.standardPasswordProvider(this, e));
54
+ let n = await this.getPdfSpineFileData(e);
55
+ return await i(n, {
56
+ password: t,
57
+ cMapUrl: this.options.cMapUrl,
58
+ standardFontDataUrl: this.options.standardFontDataUrl,
59
+ showPasswordPrompt: this.options.showPasswordPrompt,
60
+ passwordPrompt: this.passwordProvider.onPasswordPrompt,
61
+ internalUrlBuilder: this.options.internalUrlBuilder
62
+ });
63
+ }
64
+ async getFileHash(e) {
65
+ if (this.isMultiFiles) return "";
66
+ if (!e || e == "SHA-1") {
67
+ if (this.currentWholePdfFileHash) return this.currentWholePdfFileHash;
68
+ let e = await Array.from(this.pdfDocs.values())[0].getData();
69
+ return this.currentWholePdfFileHash = await this.crypto.digest(e, "SHA-1"), this.currentWholePdfFileHash;
70
+ }
71
+ let t = await Array.from(this.pdfDocs.values())[0].getData();
72
+ return await this.crypto.digest(t, "MD5");
73
+ }
74
+ async parseUrl(e, n) {
75
+ let r = await super.parseUrl(e, n);
76
+ if (r.spineFiles ||= [], !r.isMultiFiles) {
77
+ let e = new t(r.data, r.mainUrl, this.extension), n = await this.internalGetPdfDocumentProxy(e);
78
+ for (let e = 0; e < n.numPages; e++) {
79
+ let i = `${e + 1}.pdf`, a = new t(null, i, this.extension);
80
+ r.spineFiles.push(a), this.pdfDocs.set(i, n);
81
+ }
82
+ r.nav = await this.initNav(n);
83
+ }
84
+ return r;
85
+ }
86
+ async measureFilePercentage(e, t) {
87
+ if (!e) return;
88
+ if (!e.find((e) => e.symbolCount == null)) {
89
+ e[0]?.ratio != null && this.applyProgressRanges(e);
90
+ return;
91
+ }
92
+ let n = 0;
93
+ e.forEach((e) => {
94
+ (e.symbolCount == null || e.symbolCount <= 0) && (e.symbolCount = 1), n += e.symbolCount;
95
+ }), n <= 0 && (n = 1), e.forEach((e) => {
96
+ e.ratio ??= e.symbolCount / n;
97
+ }), this.applyProgressRanges(e);
98
+ }
99
+ async getNav() {
100
+ return await super.getNav() || null;
101
+ }
102
+ async dispose() {
103
+ await super.dispose();
104
+ for (let [e, t] of this.pdfDocs.entries()) try {
105
+ await t.cleanup(), t.loadingTask && await t.loadingTask.destroy(), await t.destroy();
106
+ } catch {}
107
+ if (this.pdfDocs.clear(), this.textDocuments) {
108
+ for (let e of this.textDocuments) await e.dispose();
109
+ this.textDocuments.splice(0);
110
+ }
111
+ }
112
+ async initNav(e) {
113
+ let t = new n();
114
+ if (!e) return t;
115
+ let r = await e.getOutline();
116
+ if (r == null || r.length == 0) return t;
117
+ for (let n = 0; n < r.length; n++) {
118
+ let i = r[n], a = await this.getPageNumber(e, i.dest), o = await this.formatPdfDest(e, i.dest), s = await this.getNavPoint(e, i.title, a, o, i.items);
119
+ t.navPoints.push(s);
120
+ }
121
+ return t;
122
+ }
123
+ async getNavPoint(e, t, n, i, a) {
124
+ t = t?.trim().replace(/[\x00-\x1f]/gi, "");
125
+ let o = n.toString() + ".pdf", s = new r(t, o, n, i);
126
+ if (a != null && a.length > 0) for (let t = 0; t < a.length; t++) {
127
+ let n = await this.getPageNumber(e, a[t].dest), r = await this.formatPdfDest(e, a[t].dest), i = await this.getNavPoint(e, a[t].title, n, r, a[t].items);
128
+ s.children.push(i);
129
+ }
130
+ return s;
131
+ }
132
+ async formatPdfDest(e, t) {
133
+ let n;
134
+ return n = typeof t == "string" ? await e.getDestination(t) : t, JSON.stringify(n);
135
+ }
136
+ async getPageNumber(e, t) {
137
+ let n, r = 0;
138
+ try {
139
+ if (n = typeof t == "string" ? await e.getDestination(t) : t, Array.isArray(n)) {
140
+ let [t] = n;
141
+ typeof t == "object" && t ? r = await e.getPageIndex(t) + 1 : Number.isInteger(t) && (r = t + 1);
142
+ }
143
+ } catch {}
144
+ return r;
145
+ }
171
146
  };
147
+ //#endregion
148
+ export { c as PdfFileParser };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../pdfjs/legacy/build/pdf.mjs"),n=require("../../../kernal/EventNames.cjs");function w(a){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const t in a)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(a,t);Object.defineProperty(s,t,o.get?o:{enumerable:!0,get:()=>a[t]})}}return s.default=a,Object.freeze(s)}const d=w(h),i=class i{constructor(s,t,o,c){this.events=s,this.locale=t,this.context=o,this.storage=c,this.getPassword=async()=>{const e=this.context.openOptions.password;return e||(this.sessionPassword?this.sessionPassword:await this.getStoredPassword())},this.onPasswordPrompt=(e,p)=>{const l=this.locale;switch(p){case d.PasswordResponses.NEED_PASSWORD:{this.pdfjsPasswordCallback=e,this.events.emit(n.EventNames.RequirePdfPassword,this.onPdfPasswordCallback,this.locale?.getText("share_require_pdf_password","Enter password to open PDF")??"Enter password to open PDF",1);break}case d.PasswordResponses.INCORRECT_PASSWORD:{this.pdfjsPasswordCallback=e,this.events.emit(n.EventNames.RequirePdfPassword,this.onPdfPasswordCallback,l?.getText("share_invalid_pdf_password_try_again","Incorrect password, please try again")??"Incorrect password, please try again",2);break}}},this.onPdfPasswordCallback=async e=>{typeof e=="string"?await this.setPassword(e):await this.clearPassword(),this.pdfjsPasswordCallback?.(e)}}getSimpleId(){return this.context.simpleId||void 0}async getStoredPassword(){const s=this.getSimpleId();if(!s||!this.storage)return;const t=await this.storage.getString(i.PASSWORD_TABLE,s);return t&&(this.sessionPassword=t),t||void 0}async setPassword(s){this.sessionPassword=s;const t=this.context.openOptions;t&&(t.password=s);const o=this.getSimpleId();o&&this.storage&&await this.storage.set(i.PASSWORD_TABLE,o,s)}async clearPassword(){this.sessionPassword=void 0;const s=this.context.openOptions;s&&(s.password="");const t=this.getSimpleId();t&&this.storage&&await this.storage.delete(i.PASSWORD_TABLE,t)}};i.PASSWORD_TABLE="pdf-passwords";let r=i;exports.PdfPasswordProvider=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../kernal/EventNames.cjs");let n=require("../../../pdfjs/legacy/build/pdf.mjs");n=e.__toESM(n,1);var r=class e{static{this.PASSWORD_TABLE=`pdf-passwords`}constructor(e,r,i,a){this.events=e,this.locale=r,this.context=i,this.storage=a,this.getPassword=async()=>this.context.openOptions.password||(this.sessionPassword?this.sessionPassword:await this.getStoredPassword()),this.onPasswordPrompt=(e,r)=>{let i=this.locale;switch(r){case n.PasswordResponses.NEED_PASSWORD:this.pdfjsPasswordCallback=e,this.events.emit(t.EventNames.RequirePdfPassword,this.onPdfPasswordCallback,this.locale?.getText(`share_require_pdf_password`,`Enter password to open PDF`)??`Enter password to open PDF`,1);break;case n.PasswordResponses.INCORRECT_PASSWORD:this.pdfjsPasswordCallback=e,this.events.emit(t.EventNames.RequirePdfPassword,this.onPdfPasswordCallback,i?.getText(`share_invalid_pdf_password_try_again`,`Incorrect password, please try again`)??`Incorrect password, please try again`,2)}},this.onPdfPasswordCallback=async e=>{typeof e==`string`?await this.setPassword(e):await this.clearPassword(),this.pdfjsPasswordCallback?.(e)}}getSimpleId(){return this.context.simpleId||void 0}async getStoredPassword(){let t=this.getSimpleId();if(!t||!this.storage)return;let n=await this.storage.getString(e.PASSWORD_TABLE,t);return n&&(this.sessionPassword=n),n||void 0}async setPassword(t){this.sessionPassword=t;let n=this.context.openOptions;n&&(n.password=t);let r=this.getSimpleId();r&&this.storage&&await this.storage.set(e.PASSWORD_TABLE,r,t)}async clearPassword(){this.sessionPassword=void 0;let t=this.context.openOptions;t&&(t.password=``);let n=this.getSimpleId();n&&this.storage&&await this.storage.delete(e.PASSWORD_TABLE,n)}};exports.PdfPasswordProvider=r;
@@ -1,53 +1,46 @@
1
- import * as a from "../../../pdfjs/legacy/build/pdf.mjs";
2
- import { EventNames as r } from "../../../kernal/EventNames.mjs";
3
- const o = class o {
4
- constructor(s, t, i, d) {
5
- this.events = s, this.locale = t, this.context = i, this.storage = d, this.getPassword = async () => {
6
- const e = this.context.openOptions.password;
7
- return e || (this.sessionPassword ? this.sessionPassword : await this.getStoredPassword());
8
- }, this.onPasswordPrompt = (e, p) => {
9
- const h = this.locale;
10
- switch (p) {
11
- case a.PasswordResponses.NEED_PASSWORD: {
12
- this.pdfjsPasswordCallback = e, this.events.emit(r.RequirePdfPassword, this.onPdfPasswordCallback, this.locale?.getText("share_require_pdf_password", "Enter password to open PDF") ?? "Enter password to open PDF", 1);
13
- break;
14
- }
15
- case a.PasswordResponses.INCORRECT_PASSWORD: {
16
- this.pdfjsPasswordCallback = e, this.events.emit(r.RequirePdfPassword, this.onPdfPasswordCallback, h?.getText("share_invalid_pdf_password_try_again", "Incorrect password, please try again") ?? "Incorrect password, please try again", 2);
17
- break;
18
- }
19
- }
20
- }, this.onPdfPasswordCallback = async (e) => {
21
- typeof e == "string" ? await this.setPassword(e) : await this.clearPassword(), this.pdfjsPasswordCallback?.(e);
22
- };
23
- }
24
- getSimpleId() {
25
- return this.context.simpleId || void 0;
26
- }
27
- async getStoredPassword() {
28
- const s = this.getSimpleId();
29
- if (!s || !this.storage)
30
- return;
31
- const t = await this.storage.getString(o.PASSWORD_TABLE, s);
32
- return t && (this.sessionPassword = t), t || void 0;
33
- }
34
- async setPassword(s) {
35
- this.sessionPassword = s;
36
- const t = this.context.openOptions;
37
- t && (t.password = s);
38
- const i = this.getSimpleId();
39
- i && this.storage && await this.storage.set(o.PASSWORD_TABLE, i, s);
40
- }
41
- async clearPassword() {
42
- this.sessionPassword = void 0;
43
- const s = this.context.openOptions;
44
- s && (s.password = "");
45
- const t = this.getSimpleId();
46
- t && this.storage && await this.storage.delete(o.PASSWORD_TABLE, t);
47
- }
48
- };
49
- o.PASSWORD_TABLE = "pdf-passwords";
50
- let n = o;
51
- export {
52
- n as PdfPasswordProvider
1
+ import { EventNames as e } from "../../../kernal/EventNames.mjs";
2
+ import * as t from "../../../pdfjs/legacy/build/pdf.mjs";
3
+ //#region mediaTypes/pdf/fileParser/PdfPasswordProvider.ts
4
+ var n = class n {
5
+ static {
6
+ this.PASSWORD_TABLE = "pdf-passwords";
7
+ }
8
+ constructor(n, r, i, a) {
9
+ this.events = n, this.locale = r, this.context = i, this.storage = a, this.getPassword = async () => this.context.openOptions.password || (this.sessionPassword ? this.sessionPassword : await this.getStoredPassword()), this.onPasswordPrompt = (n, r) => {
10
+ let i = this.locale;
11
+ switch (r) {
12
+ case t.PasswordResponses.NEED_PASSWORD:
13
+ this.pdfjsPasswordCallback = n, this.events.emit(e.RequirePdfPassword, this.onPdfPasswordCallback, this.locale?.getText("share_require_pdf_password", "Enter password to open PDF") ?? "Enter password to open PDF", 1);
14
+ break;
15
+ case t.PasswordResponses.INCORRECT_PASSWORD: this.pdfjsPasswordCallback = n, this.events.emit(e.RequirePdfPassword, this.onPdfPasswordCallback, i?.getText("share_invalid_pdf_password_try_again", "Incorrect password, please try again") ?? "Incorrect password, please try again", 2);
16
+ }
17
+ }, this.onPdfPasswordCallback = async (e) => {
18
+ typeof e == "string" ? await this.setPassword(e) : await this.clearPassword(), this.pdfjsPasswordCallback?.(e);
19
+ };
20
+ }
21
+ getSimpleId() {
22
+ return this.context.simpleId || void 0;
23
+ }
24
+ async getStoredPassword() {
25
+ let e = this.getSimpleId();
26
+ if (!e || !this.storage) return;
27
+ let t = await this.storage.getString(n.PASSWORD_TABLE, e);
28
+ return t && (this.sessionPassword = t), t || void 0;
29
+ }
30
+ async setPassword(e) {
31
+ this.sessionPassword = e;
32
+ let t = this.context.openOptions;
33
+ t && (t.password = e);
34
+ let r = this.getSimpleId();
35
+ r && this.storage && await this.storage.set(n.PASSWORD_TABLE, r, e);
36
+ }
37
+ async clearPassword() {
38
+ this.sessionPassword = void 0;
39
+ let e = this.context.openOptions;
40
+ e && (e.password = "");
41
+ let t = this.getSimpleId();
42
+ t && this.storage && await this.storage.delete(n.PASSWORD_TABLE, t);
43
+ }
53
44
  };
45
+ //#endregion
46
+ export { n as PdfPasswordProvider };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../kernal/common/uuid.cjs"),n=require("../shared/text/pageText.cjs");class u{constructor(e,t){this.texts=new Map,this.fileParser=e,this.spineFile=t}get url(){return this.spineFile.url}async getPlaintext(e){const t=c.computeUniqueId(JSON.stringify(e??{}));if(this.texts.has(t))return this.texts.get(t);const a=await this.fileParser.getPdfDocument(this.spineFile);if(this.fileParser.isMultiFiles){const i=await a.getPage(1),s=await n.getPageText(i,e);return this.texts.set(t,s),s}else{const i=parseInt(this.spineFile.url),s=await a.getPage(i),r=await n.getPageText(s,e);return this.texts.set(t,r),r}}async dispose(){this.texts&&this.texts.clear()}}exports.PdfTextDocument=u;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/common/uuid.cjs"),t=require("../shared/text/pageText.cjs");var n=class{constructor(e,t){this.texts=new Map,this.fileParser=e,this.spineFile=t}get url(){return this.spineFile.url}async getPlaintext(n){let r=e.computeUniqueId(JSON.stringify(n??{}));if(this.texts.has(r))return this.texts.get(r);let i=await this.fileParser.getPdfDocument(this.spineFile);if(this.fileParser.isMultiFiles){let e=await i.getPage(1),a=await t.getPageText(e,n);return this.texts.set(r,a),a}{let e=parseInt(this.spineFile.url),a=await i.getPage(e),o=await t.getPageText(a,n);return this.texts.set(r,o),o}}async dispose(){this.texts&&this.texts.clear()}};exports.PdfTextDocument=n;