@foxycape/core 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/README.MD +0 -2
  2. package/README.zh.md +0 -2
  3. package/dist/ReaderHub.cjs +1 -0
  4. package/dist/ReaderHub.d.ts +20 -0
  5. package/dist/ReaderHub.mjs +59 -0
  6. package/dist/kernal/ContentRange.d.ts +1 -0
  7. package/dist/kernal/Context.cjs +1 -1
  8. package/dist/kernal/Context.mjs +13 -8
  9. package/dist/kernal/EventNames.cjs +1 -1
  10. package/dist/kernal/EventNames.d.ts +2 -0
  11. package/dist/kernal/EventNames.mjs +6 -0
  12. package/dist/kernal/FileLoader.cjs +1 -1
  13. package/dist/kernal/FileLoader.d.ts +3 -11
  14. package/dist/kernal/FileLoader.mjs +27 -22
  15. package/dist/kernal/JsonConvert.cjs +1 -1
  16. package/dist/kernal/JsonConvert.d.ts +0 -1
  17. package/dist/kernal/JsonConvert.mjs +17 -25
  18. package/dist/kernal/LifecycleHooks.d.ts +2 -1
  19. package/dist/kernal/Metadata.cjs +1 -1
  20. package/dist/kernal/Metadata.d.ts +34 -0
  21. package/dist/kernal/Metadata.mjs +47 -2
  22. package/dist/kernal/OpenOptions.d.ts +1 -0
  23. package/dist/kernal/Options.cjs +1 -1
  24. package/dist/kernal/Options.d.ts +2 -12
  25. package/dist/kernal/Options.mjs +1 -13
  26. package/dist/kernal/OptionsProvider.cjs +1 -1
  27. package/dist/kernal/OptionsProvider.d.ts +0 -2
  28. package/dist/kernal/OptionsProvider.mjs +6 -14
  29. package/dist/kernal/Reader.cjs +1 -1
  30. package/dist/kernal/Reader.d.ts +13 -12
  31. package/dist/kernal/Reader.mjs +119 -89
  32. package/dist/kernal/Theme.cjs +1 -1
  33. package/dist/kernal/Theme.mjs +1 -1
  34. package/dist/kernal/common/url.cjs +1 -1
  35. package/dist/kernal/common/url.d.ts +2 -0
  36. package/dist/kernal/common/url.mjs +2 -2
  37. package/dist/kernal/common/uuid.cjs +1 -1
  38. package/dist/kernal/common/uuid.mjs +7 -7
  39. package/dist/kernal/common/xxh64.cjs +1 -0
  40. package/dist/kernal/common/xxh64.d.ts +1 -0
  41. package/dist/kernal/common/xxh64.mjs +30 -0
  42. package/dist/kernal/crypto/MD5.cjs +1 -1
  43. package/dist/kernal/crypto/MD5.d.ts +0 -1
  44. package/dist/kernal/crypto/MD5.mjs +8 -9
  45. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  46. package/dist/kernal/crypto/WebCrypto.mjs +38 -35
  47. package/dist/kernal/deepClone/buffer.cjs +1 -1
  48. package/dist/kernal/deepClone/buffer.d.ts +8 -2
  49. package/dist/kernal/deepClone/buffer.mjs +1 -5
  50. package/dist/kernal/device/IDevice.d.ts +8 -2
  51. package/dist/kernal/device/WebBrowser.cjs +1 -1
  52. package/dist/kernal/device/WebBrowser.d.ts +12 -6
  53. package/dist/kernal/device/WebBrowser.mjs +70 -6
  54. package/dist/kernal/hostViewport.cjs +1 -0
  55. package/dist/kernal/hostViewport.d.ts +16 -0
  56. package/dist/kernal/hostViewport.mjs +44 -0
  57. package/dist/kernal/html/events.cjs +1 -1
  58. package/dist/kernal/html/events.mjs +35 -34
  59. package/dist/kernal/html/finder.cjs +1 -1
  60. package/dist/kernal/html/finder.d.ts +6 -2
  61. package/dist/kernal/html/finder.mjs +62 -51
  62. package/dist/kernal/html/geometry.cjs +1 -1
  63. package/dist/kernal/html/geometry.d.ts +26 -1
  64. package/dist/kernal/html/geometry.mjs +182 -121
  65. package/dist/kernal/html/manipulator.cjs +1 -1
  66. package/dist/kernal/html/manipulator.d.ts +1 -3
  67. package/dist/kernal/html/manipulator.mjs +34 -59
  68. package/dist/kernal/html/parser.cjs +1 -1
  69. package/dist/kernal/html/parser.mjs +3 -3
  70. package/dist/kernal/html/position.cjs +1 -1
  71. package/dist/kernal/html/position.d.ts +0 -18
  72. package/dist/kernal/html/position.mjs +2 -141
  73. package/dist/kernal/html/realm.cjs +1 -0
  74. package/dist/kernal/html/realm.d.ts +7 -0
  75. package/dist/kernal/html/realm.mjs +8 -0
  76. package/dist/kernal/html/selection.cjs +1 -1
  77. package/dist/kernal/html/selection.d.ts +1 -0
  78. package/dist/kernal/html/selection.mjs +33 -12
  79. package/dist/kernal/html/text.cjs +1 -1
  80. package/dist/kernal/html/text.d.ts +4 -3
  81. package/dist/kernal/html/text.mjs +24 -21
  82. package/dist/kernal/html/translationAnchor.cjs +1 -0
  83. package/dist/kernal/html/translationAnchor.d.ts +3 -0
  84. package/dist/kernal/html/translationAnchor.mjs +71 -0
  85. package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
  86. package/dist/kernal/i18n/DefaultLocale.d.ts +2 -2
  87. package/dist/kernal/i18n/DefaultLocale.mjs +7 -12
  88. package/dist/kernal/i18n/ILocale.d.ts +0 -1
  89. package/dist/kernal/i18n/applyNamed.cjs +1 -0
  90. package/dist/kernal/i18n/applyNamed.d.ts +1 -0
  91. package/dist/kernal/i18n/applyNamed.mjs +9 -0
  92. package/dist/kernal/i18n/textDirection.cjs +1 -0
  93. package/dist/kernal/i18n/textDirection.d.ts +6 -0
  94. package/dist/kernal/i18n/textDirection.mjs +7 -0
  95. package/dist/kernal/index.cjs +1 -1
  96. package/dist/kernal/index.d.ts +6 -5
  97. package/dist/kernal/index.mjs +50 -45
  98. package/dist/kernal/mark/IHighlighter.cjs +1 -0
  99. package/dist/kernal/mark/IHighlighter.d.ts +43 -0
  100. package/dist/kernal/mark/IHighlighter.mjs +13 -0
  101. package/dist/kernal/mark/Mark.cjs +1 -1
  102. package/dist/kernal/mark/Mark.d.ts +33 -4
  103. package/dist/kernal/mark/Mark.mjs +43 -6
  104. package/dist/kernal/mark/index.cjs +1 -1
  105. package/dist/kernal/mark/index.d.ts +2 -0
  106. package/dist/kernal/mark/index.mjs +6 -3
  107. package/dist/kernal/mark/overlay.cjs +1 -0
  108. package/dist/kernal/mark/overlay.d.ts +31 -0
  109. package/dist/kernal/mark/overlay.mjs +102 -0
  110. package/dist/kernal/mark/types.cjs +1 -0
  111. package/dist/kernal/mark/types.d.ts +11 -2
  112. package/dist/kernal/mark/types.mjs +4 -0
  113. package/dist/kernal/navigator/INavigator.d.ts +3 -2
  114. package/dist/kernal/network/HttpClient.cjs +1 -1
  115. package/dist/kernal/network/HttpClient.mjs +80 -56
  116. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  117. package/dist/kernal/pipelines/FileLoadPipeline.mjs +55 -56
  118. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  119. package/dist/kernal/pipelines/InputFormatter.mjs +43 -41
  120. package/dist/kernal/pipelines/metadata.cjs +1 -1
  121. package/dist/kernal/pipelines/metadata.d.ts +2 -1
  122. package/dist/kernal/pipelines/metadata.mjs +21 -30
  123. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
  124. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +7 -6
  125. package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
  126. package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +12 -11
  127. package/dist/kernal/progress/Progress.cjs +1 -1
  128. package/dist/kernal/progress/Progress.d.ts +5 -3
  129. package/dist/kernal/progress/Progress.mjs +2 -2
  130. package/dist/kernal/progress/userChangedProgress.cjs +1 -0
  131. package/dist/kernal/progress/userChangedProgress.d.ts +9 -0
  132. package/dist/kernal/progress/userChangedProgress.mjs +11 -0
  133. package/dist/kernal/screen/BrowserFullscreen.cjs +1 -0
  134. package/dist/kernal/screen/BrowserFullscreen.d.ts +9 -0
  135. package/dist/kernal/screen/BrowserFullscreen.mjs +47 -0
  136. package/dist/kernal/screen/IFullscreen.d.ts +6 -0
  137. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  138. package/dist/kernal/services/ServiceCollection.d.ts +4 -6
  139. package/dist/kernal/services/ServiceCollection.mjs +18 -9
  140. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
  141. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +4 -2
  142. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +31 -23
  143. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
  144. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +52 -51
  145. package/dist/kernal/services/fileUrlParser/IFileUrlParser.d.ts +0 -1
  146. package/dist/kernal/services/font/IFontProvider.cjs +1 -1
  147. package/dist/kernal/services/font/IFontProvider.d.ts +3 -0
  148. package/dist/kernal/services/font/IFontProvider.mjs +1 -1
  149. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
  150. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +8 -8
  151. package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
  152. package/dist/kernal/services/loading/DefaultLoading.d.ts +4 -0
  153. package/dist/kernal/services/loading/DefaultLoading.mjs +23 -24
  154. package/dist/kernal/services/text/splitter.cjs +1 -1
  155. package/dist/kernal/services/text/splitter.mjs +3 -3
  156. package/dist/kernal/types.d.ts +0 -5
  157. package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
  158. package/dist/kernal/web/BrowserCapabilities.d.ts +0 -9
  159. package/dist/kernal/web/BrowserCapabilities.mjs +0 -49
  160. package/dist/kernal/{Debounce.mjs → web/debounce.mjs} +1 -1
  161. package/dist/kernal/web/scheduler.cjs +1 -0
  162. package/dist/kernal/web/scheduler.d.ts +3 -0
  163. package/dist/kernal/web/scheduler.mjs +7 -0
  164. package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
  165. package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +59 -59
  166. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.cjs +1 -0
  167. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.d.ts +13 -0
  168. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.mjs +109 -0
  169. package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
  170. package/dist/mediaTypes/html/HtmlOptions.d.ts +6 -12
  171. package/dist/mediaTypes/html/HtmlOptions.mjs +3 -14
  172. package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
  173. package/dist/mediaTypes/html/HtmlSettings.d.ts +16 -1
  174. package/dist/mediaTypes/html/HtmlSettings.mjs +46 -1
  175. package/dist/mediaTypes/html/IHtmlContentNormalizer.cjs +1 -0
  176. package/dist/mediaTypes/html/IHtmlContentNormalizer.d.ts +4 -0
  177. package/dist/mediaTypes/html/IHtmlContentNormalizer.mjs +4 -0
  178. package/dist/mediaTypes/html/IHtmlSymbolMeasure.d.ts +11 -0
  179. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.cjs +1 -0
  180. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.d.ts +5 -0
  181. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.mjs +8 -0
  182. package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
  183. package/dist/mediaTypes/html/fileParser/HtmlFileParser.d.ts +5 -1
  184. package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +15 -18
  185. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
  186. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +25 -25
  187. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +1 -0
  188. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.d.ts +7 -3
  189. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +4 -0
  190. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  191. package/dist/mediaTypes/html/renderer/HtmlRenderer.d.ts +7 -1
  192. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +65 -41
  193. package/dist/mediaTypes/html/renderer/IHtmlDocument.d.ts +6 -2
  194. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.d.ts +5 -0
  195. package/dist/mediaTypes/html/renderer/IHtmlRenderer.d.ts +3 -0
  196. package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
  197. package/dist/mediaTypes/html/renderer/document/HtmlDocument.d.ts +29 -6
  198. package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +233 -86
  199. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
  200. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.d.ts +8 -0
  201. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +41 -5
  202. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
  203. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.d.ts +2 -4
  204. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +22 -59
  205. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
  206. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.d.ts +3 -5
  207. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +7 -25
  208. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
  209. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.d.ts +0 -2
  210. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +18 -42
  211. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
  212. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.d.ts +2 -0
  213. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +17 -4
  214. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
  215. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.d.ts +16 -1
  216. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +128 -54
  217. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
  218. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +26 -3
  219. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +227 -101
  220. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
  221. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -0
  222. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +45 -25
  223. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.cjs +1 -0
  224. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.d.ts +6 -0
  225. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.mjs +6 -0
  226. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.cjs +1 -0
  227. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.d.ts +2 -0
  228. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.mjs +13 -0
  229. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.cjs +1 -0
  230. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.d.ts +11 -0
  231. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.mjs +8 -0
  232. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
  233. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +62 -62
  234. package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
  235. package/dist/mediaTypes/html/renderer/html/template.d.ts +3 -1
  236. package/dist/mediaTypes/html/renderer/html/template.mjs +9 -9
  237. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
  238. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.d.ts +22 -12
  239. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +380 -270
  240. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
  241. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +27 -27
  242. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.d.ts +8 -0
  243. package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -1
  244. package/dist/mediaTypes/html/renderer/image/error-image.mjs +1 -1
  245. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.cjs +1 -0
  246. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.d.ts +10 -0
  247. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.mjs +15 -0
  248. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.cjs +1 -0
  249. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.d.ts +2 -0
  250. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.mjs +12 -0
  251. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
  252. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.d.ts +6 -10
  253. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +71 -62
  254. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
  255. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.d.ts +4 -1
  256. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +113 -68
  257. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.d.ts +8 -3
  258. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
  259. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.d.ts +5 -1
  260. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +15 -3
  261. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.cjs +1 -0
  262. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.d.ts +8 -0
  263. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.mjs +28 -0
  264. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.cjs +30 -0
  265. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.mjs +4 -0
  266. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.cjs +31 -0
  267. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.mjs +4 -0
  268. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.cjs +30 -0
  269. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.mjs +4 -0
  270. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.cjs +30 -0
  271. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.mjs +4 -0
  272. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.cjs +30 -0
  273. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.mjs +4 -0
  274. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.cjs +30 -0
  275. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.mjs +4 -0
  276. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.cjs +6 -0
  277. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.mjs +4 -0
  278. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.cjs +10 -0
  279. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.mjs +4 -0
  280. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.cjs +10 -0
  281. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.mjs +4 -0
  282. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.cjs +10 -0
  283. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.mjs +4 -0
  284. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.cjs +10 -0
  285. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.mjs +4 -0
  286. package/dist/mediaTypes/html/renderer/layout/css/document-default.cjs +19 -0
  287. package/dist/mediaTypes/html/renderer/layout/css/document-default.mjs +4 -0
  288. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.cjs +3 -0
  289. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.d.ts +2 -0
  290. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.mjs +56 -0
  291. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.cjs +64 -0
  292. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.mjs +4 -0
  293. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.cjs +33 -0
  294. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.mjs +4 -0
  295. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.cjs +33 -0
  296. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.mjs +4 -0
  297. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.cjs +47 -0
  298. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.mjs +4 -0
  299. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.cjs +47 -0
  300. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.mjs +4 -0
  301. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.cjs +46 -0
  302. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.mjs +4 -0
  303. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.cjs +46 -0
  304. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.mjs +4 -0
  305. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.cjs +7 -0
  306. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.mjs +4 -0
  307. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.cjs +28 -0
  308. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.mjs +4 -0
  309. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.cjs +28 -0
  310. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.mjs +4 -0
  311. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.cjs +28 -0
  312. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.mjs +4 -0
  313. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.cjs +28 -0
  314. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.mjs +4 -0
  315. package/dist/mediaTypes/html/renderer/layout/css/root-direction.cjs +8 -0
  316. package/dist/mediaTypes/html/renderer/layout/css/root-direction.mjs +4 -0
  317. package/dist/mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.d.ts +128 -0
  318. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.cjs +1 -0
  319. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.d.ts +4 -0
  320. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.mjs +7 -0
  321. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.cjs +1 -0
  322. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.d.ts +1 -0
  323. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.mjs +13 -0
  324. package/dist/mediaTypes/html/renderer/layout/geometry/index.cjs +1 -0
  325. package/dist/mediaTypes/html/renderer/layout/geometry/index.d.ts +18 -0
  326. package/dist/mediaTypes/html/renderer/layout/geometry/index.mjs +30 -0
  327. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.cjs +1 -0
  328. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.d.ts +3 -0
  329. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.mjs +71 -0
  330. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.cjs +1 -0
  331. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.d.ts +3 -0
  332. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.mjs +74 -0
  333. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.cjs +1 -0
  334. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.d.ts +3 -0
  335. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.mjs +71 -0
  336. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.cjs +1 -0
  337. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.d.ts +3 -0
  338. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.mjs +71 -0
  339. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.cjs +1 -0
  340. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.d.ts +3 -0
  341. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.mjs +71 -0
  342. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.cjs +1 -0
  343. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.d.ts +3 -0
  344. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.mjs +71 -0
  345. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.cjs +1 -0
  346. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.d.ts +41 -0
  347. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.mjs +53 -0
  348. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.cjs +1 -0
  349. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.d.ts +3 -0
  350. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.mjs +71 -0
  351. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.cjs +1 -0
  352. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.d.ts +3 -0
  353. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.mjs +74 -0
  354. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.cjs +1 -0
  355. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.d.ts +3 -0
  356. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.mjs +71 -0
  357. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.cjs +1 -0
  358. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.d.ts +3 -0
  359. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.mjs +71 -0
  360. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.cjs +1 -0
  361. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.d.ts +3 -0
  362. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.mjs +74 -0
  363. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.cjs +1 -0
  364. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.d.ts +3 -0
  365. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.mjs +74 -0
  366. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.cjs +1 -0
  367. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.d.ts +10 -0
  368. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.mjs +17 -0
  369. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.cjs +1 -0
  370. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.d.ts +6 -0
  371. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.mjs +24 -0
  372. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.cjs +1 -0
  373. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.d.ts +9 -0
  374. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.mjs +4 -0
  375. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.cjs +1 -0
  376. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.d.ts +11 -0
  377. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.mjs +9 -0
  378. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
  379. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +32 -34
  380. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.cjs +1 -0
  381. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.d.ts +23 -0
  382. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.mjs +164 -0
  383. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.cjs +1 -0
  384. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.d.ts +4 -0
  385. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.mjs +13 -0
  386. package/dist/mediaTypes/html/renderer/location/scrollActivity.cjs +1 -0
  387. package/dist/mediaTypes/html/renderer/location/scrollActivity.d.ts +14 -0
  388. package/dist/mediaTypes/html/renderer/location/scrollActivity.mjs +18 -0
  389. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
  390. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +2 -2
  391. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
  392. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +3 -3
  393. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
  394. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +55 -59
  395. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
  396. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.d.ts +1 -0
  397. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +40 -39
  398. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
  399. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.d.ts +2 -1
  400. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +36 -24
  401. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
  402. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.d.ts +4 -0
  403. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +19 -1
  404. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
  405. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.d.ts +3 -0
  406. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +9 -0
  407. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
  408. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.d.ts +3 -0
  409. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +28 -16
  410. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
  411. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.d.ts +2 -0
  412. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +39 -34
  413. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.cjs +0 -0
  414. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.d.ts +6 -0
  415. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.mjs +0 -0
  416. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.cjs +1 -0
  417. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.d.ts +18 -0
  418. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.mjs +52 -0
  419. package/dist/mediaTypes/html/renderer/style/html-content.cjs +38 -7
  420. package/dist/mediaTypes/html/renderer/style/html-content.mjs +1 -1
  421. package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
  422. package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +6 -13
  423. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  424. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.d.ts +5 -4
  425. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +7 -3
  426. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  427. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.d.ts +4 -4
  428. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +24 -14
  429. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.cjs +1 -0
  430. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.d.ts +6 -0
  431. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.mjs +4 -0
  432. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.cjs +1 -0
  433. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.d.ts +10 -0
  434. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.mjs +33 -0
  435. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  436. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +18 -19
  437. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.d.ts +2 -0
  438. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +1 -1
  439. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  440. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +2 -2
  441. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  442. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.d.ts +0 -1
  443. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +0 -3
  444. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  445. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +3 -3
  446. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  447. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +3 -3
  448. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  449. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.d.ts +3 -3
  450. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +20 -19
  451. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  452. package/dist/mediaTypes/pdf/renderer/PdfRenderer.d.ts +1 -0
  453. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +20 -20
  454. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  455. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +51 -50
  456. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  457. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +55 -56
  458. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.cjs +1 -0
  459. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.d.ts +3 -0
  460. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.mjs +12 -0
  461. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  462. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.d.ts +4 -0
  463. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +24 -5
  464. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  465. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +32 -32
  466. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  467. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +1 -1
  468. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  469. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +5 -5
  470. package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
  471. package/dist/mediaTypes/pdf/shared/geometry/index.mjs +2 -2
  472. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
  473. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.d.ts +14 -4
  474. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +56 -24
  475. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +2 -2
  476. package/dist/mediaTypes/pdf/shared/text/pageText.d.ts +14 -0
  477. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +139 -47
  478. package/dist/node_modules/highlight.js/styles/github-dark.cjs +118 -0
  479. package/dist/node_modules/highlight.js/styles/github-dark.mjs +4 -0
  480. package/dist/node_modules/highlight.js/styles/github.cjs +118 -0
  481. package/dist/node_modules/highlight.js/styles/github.mjs +4 -0
  482. package/dist/pdfjs/package.json +1 -0
  483. package/global.d.ts +3 -1
  484. package/package.json +11 -5
  485. package/types.d.ts +48 -13
  486. package/dist/kernal/device/IEnvironment.d.ts +0 -5
  487. package/dist/kernal/device/IPlatform.d.ts +0 -7
  488. package/dist/kernal/device/WebEnvironment.cjs +0 -1
  489. package/dist/kernal/device/WebEnvironment.d.ts +0 -7
  490. package/dist/kernal/device/WebEnvironment.mjs +0 -22
  491. package/dist/kernal/device/WebPlatform.cjs +0 -1
  492. package/dist/kernal/device/WebPlatform.d.ts +0 -12
  493. package/dist/kernal/device/WebPlatform.mjs +0 -49
  494. package/dist/kernal/progress/IReadingProgressStore.d.ts +0 -7
  495. package/dist/kernal/progress/ReadingProgressStore.cjs +0 -1
  496. package/dist/kernal/progress/ReadingProgressStore.d.ts +0 -12
  497. package/dist/kernal/progress/ReadingProgressStore.mjs +0 -17
  498. package/dist/kernal/storage/IStorage.cjs +0 -1
  499. package/dist/kernal/storage/IStorage.d.ts +0 -21
  500. package/dist/kernal/storage/IStorage.mjs +0 -4
  501. package/dist/kernal/storage/WebStorage.cjs +0 -1
  502. package/dist/kernal/storage/WebStorage.d.ts +0 -31
  503. package/dist/kernal/storage/WebStorage.mjs +0 -165
  504. package/dist/mediaTypes/adjacent.cjs +0 -1
  505. package/dist/mediaTypes/adjacent.d.ts +0 -5
  506. package/dist/mediaTypes/adjacent.mjs +0 -42
  507. package/dist/mediaTypes/html/renderer/image/placeholder.cjs +0 -1
  508. package/dist/mediaTypes/html/renderer/image/placeholder.mjs +0 -4
  509. /package/dist/kernal/{device/IEnvironment.cjs → screen/IFullscreen.cjs} +0 -0
  510. /package/dist/kernal/{device/IEnvironment.mjs → screen/IFullscreen.mjs} +0 -0
  511. /package/dist/kernal/{Debounce.cjs → web/debounce.cjs} +0 -0
  512. /package/dist/kernal/{Debounce.d.ts → web/debounce.d.ts} +0 -0
  513. /package/dist/{kernal/device/IPlatform.cjs → mediaTypes/html/IHtmlSymbolMeasure.cjs} +0 -0
  514. /package/dist/{kernal/device/IPlatform.mjs → mediaTypes/html/IHtmlSymbolMeasure.mjs} +0 -0
  515. /package/dist/{kernal/progress/IReadingProgressStore.cjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.cjs} +0 -0
  516. /package/dist/{kernal/progress/IReadingProgressStore.mjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.mjs} +0 -0
@@ -1,70 +1,70 @@
1
- import { isNullOrWhiteSpace as e } from "../../common/text.mjs";
2
- import { checkIsAbsoluteUrl as t, getFullUrl as n } from "../../common/url.mjs";
3
- import { getExtension as r } from "../../common/path.mjs";
4
- import { FilePackage as i, SpineFile as a } from "../../IFileParser.mjs";
5
- import { convertStringToUint8Array as o } from "../../common/encoding.mjs";
1
+ import { convertStringToUint8Array as e } from "../../common/encoding.mjs";
2
+ import { isNullOrWhiteSpace as t } from "../../common/text.mjs";
3
+ import { checkIsAbsoluteUrl as n, getFullUrl as r } from "../../common/url.mjs";
4
+ import { getExtension as i } from "../../common/path.mjs";
5
+ import { FilePackage as a, SpineFile as o } from "../../IFileParser.mjs";
6
6
  import { UrlParseResult as s } from "./IFileUrlParser.mjs";
7
7
  //#region kernal/services/fileUrlParser/DefaultFileUrlParser.ts
8
8
  var c = class {
9
9
  constructor(e, t, n) {
10
10
  this.httpClient = e, this.internalUrlBuilder = t, this.locale = n;
11
11
  }
12
- async parse(t, n) {
13
- let o = new s();
14
- if (t instanceof Array) {
15
- let i = t;
16
- if (i.length == 0) throw Error(this.locale.getText("fileparser_missingUrl", "url is required"));
17
- for (let t = 0; t < i.length; t++) {
18
- let s = await this.formatUrl(i[t], n), c = r(s) || n?.extension;
19
- if (e(c)) throw Error("Missing extension");
20
- o.spineFiles.push(new a(void 0, s, c)), o.isMultiFiles = !0;
12
+ async parse(e, n) {
13
+ let r = new s();
14
+ if (e instanceof Array) {
15
+ let a = e;
16
+ if (a.length == 0) throw Error(this.locale.getText("fileparser_missingUrl", "url is required"));
17
+ for (let e = 0; e < a.length; e++) {
18
+ let s = await this.formatUrl(a[e], n), c = i(s) || n?.extension;
19
+ if (t(c)) throw Error("Missing extension");
20
+ r.spineFiles.push(new o(void 0, s, c)), r.isMultiFiles = !0;
21
21
  }
22
- o.requireCalculateFileSymbolCount = !0;
23
- } else if (t instanceof i) {
24
- let e = t;
25
- if (o.metadata = e.metadata, e.nav && (o.nav = e.nav), e.spineFiles && e.spineFiles.length > 0) o.spineFiles = e.spineFiles, o.isMultiFiles = !0;
22
+ r.requireCalculateFileSymbolCount = !0;
23
+ } else if (e instanceof a) {
24
+ let t = e;
25
+ if (r.metadata = t.metadata, t.nav && (r.nav = t.nav), t.spineFiles && t.spineFiles.length > 0) r.spineFiles = t.spineFiles, r.isMultiFiles = !0;
26
26
  else {
27
- n = Object.assign({}, e, n);
28
- let t = await this.parseBasicUrl(e.fileUrl, n);
29
- o.data = t.data, o.requireCalculateFileSymbolCount = t.requireCalculateFileSymbolCount, o.base = t.base, o.mainUrl = t.mainUrl;
27
+ n = Object.assign({}, t, n);
28
+ let e = await this.parseBasicUrl(t.fileUrl, n);
29
+ r.data = e.data, r.requireCalculateFileSymbolCount = e.requireCalculateFileSymbolCount, r.base = e.base, r.mainUrl = e.mainUrl;
30
30
  }
31
- o.requireSignUrl = e.requireSignUrl;
31
+ r.requireSignUrl = t.requireSignUrl;
32
32
  } else {
33
- let e = await this.parseBasicUrl(t, n);
34
- o.data = e.data, o.requireCalculateFileSymbolCount = e.requireCalculateFileSymbolCount, o.base = e.base, o.mainUrl = e.mainUrl, n?.metadata && (o.metadata = n.metadata);
33
+ let t = await this.parseBasicUrl(e, n);
34
+ r.data = t.data, r.requireCalculateFileSymbolCount = t.requireCalculateFileSymbolCount, r.base = t.base, r.mainUrl = t.mainUrl;
35
35
  }
36
- return o;
36
+ return r;
37
37
  }
38
- async parseBasicUrl(e, n) {
39
- let r = await this.changeOpenParameters(e, n);
40
- e = r.url, n = r.options;
41
- let i = !1, a, s = "", c = "";
42
- if (typeof e == "string") {
43
- let r = t(e);
44
- if (!r) try {
45
- JSON.parse(e), r = !1;
38
+ async parseBasicUrl(t, r) {
39
+ let i = await this.changeOpenParameters(t, r);
40
+ t = i.url, r = i.options;
41
+ let a = !1, o, s = "", c = "";
42
+ if (typeof t == "string") {
43
+ let i = n(t);
44
+ if (!i) try {
45
+ JSON.parse(t), i = !1;
46
46
  } catch {
47
- r = !0;
47
+ i = !0;
48
48
  }
49
- if (r) {
50
- let r = e.lastIndexOf("/");
51
- r > 0 && (s = e.substring(0, r + 1));
49
+ if (i) {
50
+ let e = t.lastIndexOf("/");
51
+ e > 0 && (s = t.substring(0, e + 1));
52
52
  let i;
53
- i = e.startsWith("/") ? e : await this.formatUrl(e, n), n?.requireDownload && (t(i, !0) ? a = await this.getDataFromNetworkUrl(i, n) : (a = await this.getDataFromStringUrl(i, n), (!a || a.byteLength == 0) && (a = await this.getDataFromNetworkUrl(i, n)))), c = i;
54
- } else a = o(e).buffer, c = "";
55
- i = !0;
56
- } else if (e instanceof ArrayBuffer) a = e, i = !0;
57
- else if (e instanceof Uint8Array) a = e.buffer, i = !0;
58
- else if (e instanceof Blob) a = await this.readBlobAsArrayBuffer(e, n), i = !0;
59
- else if (globalThis.FileSystemFileHandle && e instanceof globalThis.FileSystemFileHandle) {
60
- let t = await e.getFile();
61
- a = await this.readBlobAsArrayBuffer(t, n), i = !0;
53
+ i = t.startsWith("/") ? t : await this.formatUrl(t, r), r?.requireDownload && (n(i, !0) ? o = await this.getDataFromNetworkUrl(i, r) : (o = await this.getDataFromStringUrl(i, r), (!o || o.byteLength == 0) && (o = await this.getDataFromNetworkUrl(i, r)))), c = i;
54
+ } else o = e(t).buffer, c = "";
55
+ a = !0;
56
+ } else if (t instanceof ArrayBuffer) o = t, a = !0;
57
+ else if (t instanceof Uint8Array) o = t.buffer, a = !0;
58
+ else if (t instanceof Blob) o = await this.readBlobAsArrayBuffer(t, r), a = !0;
59
+ else if (globalThis.FileSystemFileHandle && t instanceof globalThis.FileSystemFileHandle) {
60
+ let e = await t.getFile();
61
+ o = await this.readBlobAsArrayBuffer(e, r), a = !0;
62
62
  } else throw Error(this.locale.getText("fileparser_unknownUrl", "unknown url format"));
63
63
  return {
64
64
  mainUrl: c,
65
- data: a,
65
+ data: o,
66
66
  base: s,
67
- requireCalculateFileSymbolCount: i
67
+ requireCalculateFileSymbolCount: a
68
68
  };
69
69
  }
70
70
  async changeOpenParameters(e, t) {
@@ -78,8 +78,9 @@ var c = class {
78
78
  let i = new FileReader();
79
79
  i.onprogress = (e) => {
80
80
  e.lengthComputable && t.fileDownloadingCallback(e.total, e.loaded, !1);
81
- }, i.onload = (e) => {
82
- t.fileDownloadingCallback(e.total, e.total, !0), n(e.target.result);
81
+ }, i.onload = (r) => {
82
+ let i = r.total > 0 ? r.total : e.size;
83
+ t.fileDownloadingCallback(i, i, !0), n(r.target.result);
83
84
  }, i.onerror = (e) => {
84
85
  r(e);
85
86
  }, i.abort = () => {
@@ -103,7 +104,7 @@ var c = class {
103
104
  return await this.getDataFromNetworkUrl(e, t);
104
105
  }
105
106
  async formatUrl(e, t) {
106
- return this.internalUrlBuilder ? await this.internalUrlBuilder.getAbsoluteUrl(e, !0) : n(e, globalThis.location.href).toString();
107
+ return this.internalUrlBuilder ? await this.internalUrlBuilder.getAbsoluteUrl(e, !0) : r(e, globalThis.location.href).toString();
107
108
  }
108
109
  };
109
110
  //#endregion
@@ -7,7 +7,6 @@ export interface IFileUrlParser {
7
7
  parse(url: any, options?: FileUrlParserOptions): Promise<UrlParseResult>;
8
8
  }
9
9
  export declare class FileUrlParserOptions extends OpenOptions {
10
- fileDownloadingCallback?: (contentLength: number, receivedLength: number, done: boolean) => Promise<void>;
11
10
  }
12
11
  export declare class UrlParseResult {
13
12
  mainUrl?: string;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{constructor(e,t,n,r){this.name=e,this.family=t,this.title=n,this.supportedOS=r,this.supportedFontWeight=[`200`,`normal`,`bold`]}},t=class{constructor(e,t,n=`file`,r){this.url=e,this.format=t,this.kind=n,this.unicodeRange=r}},n=class{constructor(){this.isDefault=!1}};exports.Font=e,exports.FontConfig=n,exports.FontResource=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{constructor(e,t,n,r){this.name=e,this.family=t,this.title=n,this.supportedOS=r,this.supportedFontWeight=[`300`,`normal`,`bold`]}},t=class{constructor(e,t,n=`file`,r){this.url=e,this.format=t,this.kind=n,this.unicodeRange=r}},n=class{constructor(){this.isDefault=!1}};exports.Font=e,exports.FontConfig=n,exports.FontResource=t;
@@ -1,6 +1,7 @@
1
1
  import { IDisposable } from '../../IDisposable';
2
2
 
3
3
  export type FontDisplay = "auto" | "block" | "swap" | "fallback" | "optional";
4
+ export type FontSource = "default" | "system" | "google" | "imported";
4
5
  export type FontLoadOptions = {
5
6
  text?: string;
6
7
  weights?: string[];
@@ -34,6 +35,8 @@ export declare class Font {
34
35
  language?: string | string[];
35
36
  isSystemFont?: boolean;
36
37
  isDefault?: boolean;
38
+ source?: FontSource;
39
+ opfsPath?: string;
37
40
  sampleText?: string;
38
41
  cssApiUrl?: string;
39
42
  urls?: FontResource[];
@@ -2,7 +2,7 @@
2
2
  var e = class {
3
3
  constructor(e, t, n, r) {
4
4
  this.name = e, this.family = t, this.title = n, this.supportedOS = r, this.supportedFontWeight = [
5
- "200",
5
+ "300",
6
6
  "normal",
7
7
  "bold"
8
8
  ];
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../common/url.cjs");var t=class{constructor(e,t,n){this.baseUrl=e,this.baseUrl&&!this.baseUrl.endsWith(`/`)&&(this.baseUrl+=`/`),this.preventCacheHash=t,this.internalUrlCallback=n}async getAbsoluteUrl(t,n){if(!t)return``;if(e.checkIsAbsoluteUrl(t))return t;let r;return this.internalUrlCallback?r=n?await this.internalUrlCallback(this.baseUrl,t,``):await this.internalUrlCallback(this.baseUrl,t,this.preventCacheHash):(r=this.baseUrl?new URL(t,this.baseUrl).toString():t,!n&&this.preventCacheHash&&(r=e.appendUrlParameter(r,`_preventCacheHash`,this.preventCacheHash))),r}};exports.DefaultInternalUrlBuilder=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../common/url.cjs");var t=class{constructor(e,t,n){this.baseUrl=e,this.baseUrl&&!this.baseUrl.endsWith(`/`)&&(this.baseUrl+=`/`),this.preventCacheHash=t,this.internalUrlCallback=n}async getAbsoluteUrl(t,n){if(!t)return``;if(e.checkIsAbsoluteUrl(t)||e.isLocalFilesystemRef(t))return t;let r;return this.internalUrlCallback?r=n?await this.internalUrlCallback(this.baseUrl,t,``):await this.internalUrlCallback(this.baseUrl,t,this.preventCacheHash):(r=this.baseUrl?new URL(t,this.baseUrl).toString():t,!n&&this.preventCacheHash&&(r=e.appendUrlParameter(r,`_preventCacheHash`,this.preventCacheHash))),r}};exports.DefaultInternalUrlBuilder=t;
@@ -1,15 +1,15 @@
1
- import { appendUrlParameter as e, checkIsAbsoluteUrl as t } from "../../common/url.mjs";
1
+ import { appendUrlParameter as e, checkIsAbsoluteUrl as t, isLocalFilesystemRef as n } from "../../common/url.mjs";
2
2
  //#region kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.ts
3
- var n = class {
3
+ var r = class {
4
4
  constructor(e, t, n) {
5
5
  this.baseUrl = e, this.baseUrl && !this.baseUrl.endsWith("/") && (this.baseUrl += "/"), this.preventCacheHash = t, this.internalUrlCallback = n;
6
6
  }
7
- async getAbsoluteUrl(n, r) {
8
- if (!n) return "";
9
- if (t(n)) return n;
10
- let i;
11
- return this.internalUrlCallback ? i = r ? await this.internalUrlCallback(this.baseUrl, n, "") : await this.internalUrlCallback(this.baseUrl, n, this.preventCacheHash) : (i = this.baseUrl ? new URL(n, this.baseUrl).toString() : n, !r && this.preventCacheHash && (i = e(i, "_preventCacheHash", this.preventCacheHash))), i;
7
+ async getAbsoluteUrl(r, i) {
8
+ if (!r) return "";
9
+ if (t(r) || n(r)) return r;
10
+ let a;
11
+ return this.internalUrlCallback ? a = i ? await this.internalUrlCallback(this.baseUrl, r, "") : await this.internalUrlCallback(this.baseUrl, r, this.preventCacheHash) : (a = this.baseUrl ? new URL(r, this.baseUrl).toString() : r, !i && this.preventCacheHash && (a = e(a, "_preventCacheHash", this.preventCacheHash))), a;
12
12
  }
13
13
  };
14
14
  //#endregion
15
- export { n as DefaultInternalUrlBuilder };
15
+ export { r as DefaultInternalUrlBuilder };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../common/uuid.cjs"),t=require("../../html/injector.cjs");var n=class{constructor(e){this.locale=e,this.curentCssName=`line-scale-pulse-out`,this.loadingTextMarginTop=0,this.loaderIds=new Map,this.getDefaultLoadingText=()=>{let e=`loading...`;return this.locale&&(e=this.locale.getText(`share_loading_text`,`loading...`)),e}}async initialize(n,r){this.options=r,this.container=n;let i=e.getRandomId(!0);if(this.loaderIds.set(n,i),this.container){t.existsElement(n.ownerDocument,`loader-css`)||t.injectCssContent(n.ownerDocument,`@keyframes line-scale-pulse-out{0%{transform:scaley(1)}50%{transform:scaley(0.4)}100%{transform:scaley(1)}}.line-scale-pulse-out>div{background-color:#fff;width:4px;height:35px;border-radius:2px;margin:2px;animation-fill-mode:both;display:inline-block;animation:line-scale-pulse-out .9s -.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85)}.line-scale-pulse-out>div:nth-child(2),.line-scale-pulse-out>div:nth-child(4){animation-delay:-.4s !important}.line-scale-pulse-out>div:nth-child(1),.line-scale-pulse-out>div:nth-child(5){animation-delay:-.2s !important}`,!1,`loader-css`);let e=`#fff`,i=`#14ae5c`;r?.disableLoadingTheme||(e=r?.backgroundColor??`#fff`,i=r?.iconColor??`#14ae5c`),t.injectCssContent(n.ownerDocument,`.loader{background:`+e+`;position:absolute;z-index:2;width:100%;height: 100%;box-sizing: border-box;display: flex;-ms-flex: 0 1 auto;flex: 0 1 auto;flex-direction: column;flex-grow: 1;flex-shrink: 0;flex-basis: 25%;-ms-flex-align: center;align-items: center;justify-content: center;}.`+this.curentCssName+`>div{background-color:`+i+` !important}`,!0,`loaders.min.css-content`)}}async show(e){if(!this.container)return;let n=this.loaderIds.get(this.container),r=this.container.ownerDocument.getElementById(n);if(r){let t=e||this.getDefaultLoadingText(),n=r.querySelector(`.loading-holder`);n&&t&&(n.textContent=t);return}{let i=`#333`;this.options?.disableLoadingTheme||(i=this.options?.textColor??`#333`);let a=e||this.getDefaultLoadingText();r=t.createElement(this.container.ownerDocument,`div`,n,`loader`);let o=this.container.ownerDocument.createElement(`div`);o.className=this.curentCssName;for(let e=0;e<6;e++)o.appendChild(this.container.ownerDocument.createElement(`div`));let s=this.container.ownerDocument.createElement(`div`);s.className=`loading-holder`,s.style.cssText=`font-size: 16px;color: ${i};margin-block-start: ${this.loadingTextMarginTop}px;`,s.textContent=a,r.append(o,s),this.container.insertAdjacentElement(`afterbegin`,r)}}async hide(){if(!this.container)return;let e=this.loaderIds.get(this.container),t=this.container.ownerDocument.getElementById(e);t&&t.parentElement.removeChild(t)}};exports.DefaultLoading=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../common/uuid.cjs"),t=require("../../html/injector.cjs");var n=class{constructor(e){this.locale=e,this.curentCssName=`line-scale-pulse-out`,this.loadingTextMarginTop=0,this.loaderIds=new Map,this.hasDismissed=!1,this.hasMounted=!1,this.layer=null,this.updateText=(e,t)=>{let n=e.querySelector(`.loading-holder`);n&&t&&(n.textContent=t)},this.getDefaultLoadingText=()=>{let e=`loading...`;return this.locale&&(e=this.locale.getText(`share_loading_text`,`loading...`)),e}}async initialize(n,r){this.options=r,this.container=n,this.hasDismissed=!1,this.hasMounted=!1,this.layer=null;let i=this.loaderIds.get(n)??e.getRandomId(!0);if(this.loaderIds.set(n,i),this.container){t.existsElement(n.ownerDocument,`loader-css`)||t.injectCssContent(n.ownerDocument,`@keyframes line-scale-pulse-out{0%{transform:scaley(1)}50%{transform:scaley(0.4)}100%{transform:scaley(1)}}.line-scale-pulse-out>div{background-color:#fff;width:4px;height:35px;border-radius:2px;margin:2px;animation-fill-mode:both;display:inline-block;animation:line-scale-pulse-out .9s -.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85)}.line-scale-pulse-out>div:nth-child(2),.line-scale-pulse-out>div:nth-child(4){animation-delay:-.4s !important}.line-scale-pulse-out>div:nth-child(1),.line-scale-pulse-out>div:nth-child(5){animation-delay:-.2s !important}`,!1,`loader-css`);let e=`#fff`,i=`#163260`;r?.disableLoadingTheme||(e=r?.backgroundColor??`#fff`,i=r?.iconColor??`#163260`),t.injectCssContent(n.ownerDocument,`.loader{background:`+e+`;position:absolute;inset:0;z-index:9999;width:100%;height: 100%;box-sizing: border-box;display: flex;-ms-flex: 0 1 auto;flex: 0 1 auto;flex-direction: column;flex-grow: 1;flex-shrink: 0;flex-basis: 25%;-ms-flex-align: center;align-items: center;justify-content: center;}.`+this.curentCssName+`>div{background-color:`+i+` !important}`,!0,`loaders.min.css-content`)}}async show(e){if(!this.container||this.hasDismissed)return;let n=e||this.getDefaultLoadingText();if(this.layer?.isConnected){this.updateText(this.layer,n),(this.layer.parentElement!==this.container||this.container.lastElementChild!==this.layer)&&this.container.appendChild(this.layer);return}if(this.hasMounted)return;let r=this.loaderIds.get(this.container),i=`#333`;this.options?.disableLoadingTheme||(i=this.options?.textColor??`#333`);let a=t.createElement(this.container.ownerDocument,`div`,r,`loader`),o=this.container.ownerDocument.createElement(`div`);o.className=this.curentCssName;for(let e=0;e<6;e++)o.appendChild(this.container.ownerDocument.createElement(`div`));let s=this.container.ownerDocument.createElement(`div`);s.className=`loading-holder`,s.style.cssText=`font-size: 15px;color: ${i};margin-block-start: ${this.loadingTextMarginTop}px;`,s.textContent=n,a.append(o,s),this.container.appendChild(a),this.layer=a,this.hasMounted=!0}async hide(){this.hasDismissed=!0;let e=this.layer?.isConnected?this.layer:this.container?this.container.ownerDocument.getElementById(this.loaderIds.get(this.container)??``):null;this.layer=null,e&&e.parentElement?.removeChild(e)}};exports.DefaultLoading=n;
@@ -9,8 +9,12 @@ export declare class DefaultLoading implements ILoading {
9
9
  private readonly loadingTextMarginTop;
10
10
  private loaderIds;
11
11
  private options?;
12
+ private hasDismissed;
13
+ private hasMounted;
14
+ private layer;
12
15
  initialize(container: HTMLElement, options: LoadingOptions): Promise<void>;
13
16
  show(text?: string): Promise<void>;
17
+ private updateText;
14
18
  private getDefaultLoadingText;
15
19
  hide(): Promise<void>;
16
20
  }
@@ -3,44 +3,43 @@ import { createElement as t, existsElement as n, injectCssContent as r } from ".
3
3
  //#region kernal/services/loading/DefaultLoading.ts
4
4
  var i = class {
5
5
  constructor(e) {
6
- this.locale = e, this.curentCssName = "line-scale-pulse-out", this.loadingTextMarginTop = 0, this.loaderIds = /* @__PURE__ */ new Map(), this.getDefaultLoadingText = () => {
6
+ this.locale = e, this.curentCssName = "line-scale-pulse-out", this.loadingTextMarginTop = 0, this.loaderIds = /* @__PURE__ */ new Map(), this.hasDismissed = !1, this.hasMounted = !1, this.layer = null, this.updateText = (e, t) => {
7
+ let n = e.querySelector(".loading-holder");
8
+ n && t && (n.textContent = t);
9
+ }, this.getDefaultLoadingText = () => {
7
10
  let e = "loading...";
8
11
  return this.locale && (e = this.locale.getText("share_loading_text", "loading...")), e;
9
12
  };
10
13
  }
11
14
  async initialize(t, i) {
12
- this.options = i, this.container = t;
13
- let a = e(!0);
15
+ this.options = i, this.container = t, this.hasDismissed = !1, this.hasMounted = !1, this.layer = null;
16
+ let a = this.loaderIds.get(t) ?? e(!0);
14
17
  if (this.loaderIds.set(t, a), this.container) {
15
18
  n(t.ownerDocument, "loader-css") || r(t.ownerDocument, "@keyframes line-scale-pulse-out{0%{transform:scaley(1)}50%{transform:scaley(0.4)}100%{transform:scaley(1)}}.line-scale-pulse-out>div{background-color:#fff;width:4px;height:35px;border-radius:2px;margin:2px;animation-fill-mode:both;display:inline-block;animation:line-scale-pulse-out .9s -.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85)}.line-scale-pulse-out>div:nth-child(2),.line-scale-pulse-out>div:nth-child(4){animation-delay:-.4s !important}.line-scale-pulse-out>div:nth-child(1),.line-scale-pulse-out>div:nth-child(5){animation-delay:-.2s !important}", !1, "loader-css");
16
- let e = "#fff", a = "#14ae5c";
17
- i?.disableLoadingTheme || (e = i?.backgroundColor ?? "#fff", a = i?.iconColor ?? "#14ae5c"), r(t.ownerDocument, ".loader{background:" + e + ";position:absolute;z-index:2;width:100%;height: 100%;box-sizing: border-box;display: flex;-ms-flex: 0 1 auto;flex: 0 1 auto;flex-direction: column;flex-grow: 1;flex-shrink: 0;flex-basis: 25%;-ms-flex-align: center;align-items: center;justify-content: center;}." + this.curentCssName + ">div{background-color:" + a + " !important}", !0, "loaders.min.css-content");
19
+ let e = "#fff", a = "#163260";
20
+ i?.disableLoadingTheme || (e = i?.backgroundColor ?? "#fff", a = i?.iconColor ?? "#163260"), r(t.ownerDocument, ".loader{background:" + e + ";position:absolute;inset:0;z-index:9999;width:100%;height: 100%;box-sizing: border-box;display: flex;-ms-flex: 0 1 auto;flex: 0 1 auto;flex-direction: column;flex-grow: 1;flex-shrink: 0;flex-basis: 25%;-ms-flex-align: center;align-items: center;justify-content: center;}." + this.curentCssName + ">div{background-color:" + a + " !important}", !0, "loaders.min.css-content");
18
21
  }
19
22
  }
20
23
  async show(e) {
21
- if (!this.container) return;
22
- let n = this.loaderIds.get(this.container), r = this.container.ownerDocument.getElementById(n);
23
- if (r) {
24
- let t = e || this.getDefaultLoadingText(), n = r.querySelector(".loading-holder");
25
- n && t && (n.textContent = t);
24
+ if (!this.container || this.hasDismissed) return;
25
+ let n = e || this.getDefaultLoadingText();
26
+ if (this.layer?.isConnected) {
27
+ this.updateText(this.layer, n), (this.layer.parentElement !== this.container || this.container.lastElementChild !== this.layer) && this.container.appendChild(this.layer);
26
28
  return;
27
29
  }
28
- {
29
- let i = "#333";
30
- this.options?.disableLoadingTheme || (i = this.options?.textColor ?? "#333");
31
- let a = e || this.getDefaultLoadingText();
32
- r = t(this.container.ownerDocument, "div", n, "loader");
33
- let o = this.container.ownerDocument.createElement("div");
34
- o.className = this.curentCssName;
35
- for (let e = 0; e < 6; e++) o.appendChild(this.container.ownerDocument.createElement("div"));
36
- let s = this.container.ownerDocument.createElement("div");
37
- s.className = "loading-holder", s.style.cssText = `font-size: 16px;color: ${i};margin-block-start: ${this.loadingTextMarginTop}px;`, s.textContent = a, r.append(o, s), this.container.insertAdjacentElement("afterbegin", r);
38
- }
30
+ if (this.hasMounted) return;
31
+ let r = this.loaderIds.get(this.container), i = "#333";
32
+ this.options?.disableLoadingTheme || (i = this.options?.textColor ?? "#333");
33
+ let a = t(this.container.ownerDocument, "div", r, "loader"), o = this.container.ownerDocument.createElement("div");
34
+ o.className = this.curentCssName;
35
+ for (let e = 0; e < 6; e++) o.appendChild(this.container.ownerDocument.createElement("div"));
36
+ let s = this.container.ownerDocument.createElement("div");
37
+ s.className = "loading-holder", s.style.cssText = `font-size: 15px;color: ${i};margin-block-start: ${this.loadingTextMarginTop}px;`, s.textContent = n, a.append(o, s), this.container.appendChild(a), this.layer = a, this.hasMounted = !0;
39
38
  }
40
39
  async hide() {
41
- if (!this.container) return;
42
- let e = this.loaderIds.get(this.container), t = this.container.ownerDocument.getElementById(e);
43
- t && t.parentElement.removeChild(t);
40
+ this.hasDismissed = !0;
41
+ let e = this.layer?.isConnected ? this.layer : this.container ? this.container.ownerDocument.getElementById(this.loaderIds.get(this.container) ?? "") : null;
42
+ this.layer = null, e && e.parentElement?.removeChild(e);
44
43
  }
45
44
  };
46
45
  //#endregion
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=/[.。.\u06D4\u061F\u0964\u0965\u1362\u0589\n]/,t=/[\u201C\u201D\u0022\uFF02\u300D\u300F\u301D\u301E\u301F\u00BB\u2019\u02BA]/,n=/[\u200B\u200C\u200D\uFEFF\u2060]/,r=/[0-90-9٠-٩\u0660-\u0669]/,i=/[a-z\u00E0-\u024F\u0370-\u03FF]/,a=/[\s\u200B\u200C\u200D\uFEFF\u2060]/,o=e=>{for(let t=0;t<e.length;t++)if(!a.test(e[t]))return!0;return!1},s=(t,n)=>{let a=t[n];if(!a||!e.test(a)||a===`
2
2
  `)return!1;if(a===`.`||a===`.`){let e=n>0?t[n-1]:``,a=n+1<t.length?t[n+1]:``;if(r.test(e)&&r.test(a)||r.test(e)&&(a===` `||a===` `||a===`
3
3
  `))return!1;let o=n+1;for(;o<t.length&&(t[o]===` `||t[o]===` `);)o++;if(o<t.length&&i.test(t[o]))return!1}return!0},c=r=>{if(r==null||r.length===0)return[];let i=[],a=0;for(let o=0;o<r.length;o++)if(s(r,o)){let s=o+1;for(;s<r.length&&e.test(r[s]);)s++;for(;s<r.length&&n.test(r[s]);)s++;for(;s<r.length&&t.test(r[s]);)s++;i.push(r.slice(a,s)),a=s,o=s-1}a<r.length&&i.push(r.slice(a));let c=[];for(let e=0;e<i.length;e++){let t=i[e];o(t)?c.push(t):c.length>0?c[c.length-1]+=t:e+1<i.length?i[e+1]=t+i[e+1]:c.push(t)}let l=[],u=0;for(let e of c)l.push({text:e,rawText:e,length:e.length,offset:u}),u+=e.length;return l},l=(e,t={})=>{if(!e)return[];let n={preferCTRL:t?.preferCTRL??!1,minChars:t?.minChars||200,maxChars:t?.maxChars||250,forceSplitChars:t?.forceSplitChars||500,separators:t?.separators||[`。`,`?`,`?`,`.`]},r=[],i=0,a=1,o=0;if(n.minChars<=0||n.maxChars<=0||n.forceSplitChars<=0)throw Error(`Config parameters must be greater than 0`);if(n.minChars>n.maxChars)throw Error(`minChars must not be greater than maxChars`);if(n.forceSplitChars<n.maxChars&&(console.warn(`forceSplitChars can not less tan maxChars`),n.forceSplitChars=n.maxChars),n.preferCTRL){let t=e.split(`
4
- `);for(let e of t){let t=e?.length??0;if(t<=n.minChars){let n=e.trim();n&&(r.push({text:n,rawText:e,length:t+1,offset:o}),a++),o+=t+1}else{let t=d(e,n.separators);for(let e of t)if(e.length<=n.minChars){let t=e.trim();t&&(r.push({text:t,rawText:e,length:e.length,offset:o}),a++),o+=e.length}else{let t=0;for(;t<e.length;){if(e.length-t<=n.minChars){let n=e.slice(t),i=n.trim();i&&r.push({text:i,rawText:n,length:n.length,offset:o}),o+=n.length;break}let i=f(e,t,n),s=e.slice(t,i+1),c=s.trim();c&&r.push({text:c,rawText:s,length:s.length,offset:o}),o+=s.length,t=i+1,a++}}o+=1}}return u(r,n.minChars)}for(;i<e.length;){if(e.length-i<=n.minChars){let t=e.slice(i);r.push({text:t,rawText:t,length:t.length,offset:o});break}let t=f(e,i,n),s=e.slice(i,t+1),c=s.length;r.push({text:s,rawText:s,length:c,offset:o}),i=t+1,a++,o+=c}return r},u=(e,t)=>{if(e.length===0)return e;let n=[],r=0;for(;r<e.length;){let i=e[r];if(i.length>=t)n.push(i),r++;else{let a=i.text,o=i.length,s=i.offset,c=r+1;for(;c<e.length&&a.length<t;){let t=e[c];a+=`
4
+ `);for(let e of t){let t=e?.length??0;if(t<=n.maxChars){let n=e.trim();n&&(r.push({text:n,rawText:e,length:t+1,offset:o}),a++),o+=t+1}else{let t=d(e,n.separators);for(let e of t)if(e.length<=n.maxChars){let t=e.trim();t&&(r.push({text:t,rawText:e,length:e.length,offset:o}),a++),o+=e.length}else{let t=0;for(;t<e.length;){if(e.length-t<=n.maxChars){let n=e.slice(t),i=n.trim();i&&r.push({text:i,rawText:n,length:n.length,offset:o}),o+=n.length;break}let i=f(e,t,n),s=e.slice(t,i+1),c=s.trim();c&&r.push({text:c,rawText:s,length:s.length,offset:o}),o+=s.length,t=i+1,a++}}o+=1}}return u(r,n.minChars)}for(;i<e.length;){if(e.length-i<=n.minChars){let t=e.slice(i);r.push({text:t,rawText:t,length:t.length,offset:o});break}let t=f(e,i,n),s=e.slice(i,t+1),c=s.length;r.push({text:s,rawText:s,length:c,offset:o}),i=t+1,a++,o+=c}return r},u=(e,t)=>{if(e.length===0)return e;let n=[],r=0;for(;r<e.length;){let i=e[r];if(i.length>=t)n.push(i),r++;else{let a=i.text,o=i.length,s=i.offset,c=r+1;for(;c<e.length&&a.length<t;){let t=e[c];a+=`
5
5
  `+t.text,o=t.offset-s+t.length,c++}n.push({text:a,rawText:a,length:o,offset:s}),r=c}}return n},d=(e,t)=>{if(!e||t.length===0)return e?[e]:[];let n=[],r=0;for(let i=0;i<e.length;i++)if(t.includes(e[i])){if(e[i]===`.`&&i+1<e.length&&/\d/.test(e[i+1]))continue;if((e[i]===`。`||e[i]===`.`)&&i+1<e.length){let t=e[i+1];if(t===`”`||t===`"`)continue}let t=e.slice(r,i+1);t&&n.push(t),r=i+1}if(r<e.length){let t=e.slice(r);t&&n.push(t)}return n},f=(e,t,n)=>{let r=Math.min(t+n.forceSplitChars-1,e.length-1),i=Math.min(t+n.maxChars-1,e.length-1),a=-1;for(let r=i;r>=t+n.minChars-1;r--)if(n.separators.includes(e[r])){a=r;break}if(a===-1){for(let t=i+1;t<=r;t++)if(n.separators.includes(e[t])){a=t;break}}return a===-1&&(a=r),a},p=e=>{let t=e.reduce((e,t)=>e+t.length,0);return{totalSegments:e.length,totalChars:t,avgChars:Math.round(t/e.length)}};exports.getSplitSummary=p,exports.splitText=l,exports.splitToSentences=c;
@@ -57,7 +57,7 @@ var e = /[.。.\u06D4\u061F\u0964\u0965\u1362\u0589\n]/, t = /[\u201C\u201D\u0
57
57
  let t = e.split("\n");
58
58
  for (let e of t) {
59
59
  let t = e?.length ?? 0;
60
- if (t <= n.minChars) {
60
+ if (t <= n.maxChars) {
61
61
  let n = e.trim();
62
62
  n && (r.push({
63
63
  text: n,
@@ -67,7 +67,7 @@ var e = /[.。.\u06D4\u061F\u0964\u0965\u1362\u0589\n]/, t = /[\u201C\u201D\u0
67
67
  }), a++), o += t + 1;
68
68
  } else {
69
69
  let t = d(e, n.separators);
70
- for (let e of t) if (e.length <= n.minChars) {
70
+ for (let e of t) if (e.length <= n.maxChars) {
71
71
  let t = e.trim();
72
72
  t && (r.push({
73
73
  text: t,
@@ -78,7 +78,7 @@ var e = /[.。.\u06D4\u061F\u0964\u0965\u1362\u0589\n]/, t = /[\u201C\u201D\u0
78
78
  } else {
79
79
  let t = 0;
80
80
  for (; t < e.length;) {
81
- if (e.length - t <= n.minChars) {
81
+ if (e.length - t <= n.maxChars) {
82
82
  let n = e.slice(t), i = n.trim();
83
83
  i && r.push({
84
84
  text: i,
@@ -10,11 +10,6 @@ export type ChangeLayoutOptions = {
10
10
  autoColumns: boolean;
11
11
  preserveLocation: boolean;
12
12
  };
13
- export type TextSymbolOptions = {
14
- removeHtmlWhitespace?: boolean;
15
- whitespaceRegex?: RegExp;
16
- nonWhiteSpaceSymbolTagNames?: string[];
17
- };
18
13
  export type TagDescriptor = {
19
14
  tagName: string;
20
15
  tagIndex: number;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ua.cjs");require("scheduler-polyfill");var t=class{static{this.env=e.uaParser}static isSupportTouch(){return this.currentIsSupportTouch??=`ontouchstart`in globalThis,this.currentIsSupportTouch}static hasFinePointer(){return this.currentHasFinePointer??=this.matchesMedia(`(any-pointer: fine)`),this.currentHasFinePointer}static hasCoarsePointer(){return this.currentHasCoarsePointer??=this.matchesMedia(`(any-pointer: coarse)`),this.currentHasCoarsePointer}static canHover(){return this.currentCanHover??=this.matchesMedia(`(any-hover: hover)`),this.currentCanHover}static matchesMedia(e){return!!(globalThis.matchMedia&&globalThis.matchMedia(e).matches)}static getBrowserName(){return this.getBrowserData().name}static getBrowserVersion(){return this.getBrowserData().version}static getBrowserData(){return this.browserData??=this.env.getBrowser(),this.browserData}static isIE(){let e=this.getBrowserName().toLowerCase();return e==`msie`||e==`ie`}static isChrome(){return/Chrome/i.test(this.getBrowserName())}static isEdge(){return/Edge/i.test(this.getBrowserName())}static isFirefox(){return/Firefox/i.test(this.getBrowserName())}static isSafari(){return/Safari/i.test(this.getBrowserName())}static isOpera(){return/Opera/i.test(this.getBrowserName())}static supportWebAssembly(){if(this.isSupportWebAssembly!=null)return this.isSupportWebAssembly;let e=globalThis.WebAssembly;return typeof e==`object`&&typeof e.Memory==`function`&&(typeof e.instantiateStreaming==`function`||typeof e.instantiate==`function`)&&(this.isSupportWebAssembly=!0),this.isSupportWebAssembly??=!1,this.isSupportWebAssembly}static supportCssVariables(){return!!(globalThis.CSS&&globalThis.CSS.supports&&globalThis.CSS.supports(`color`,`var(--fake-var)`))}static supportCssProperty(e,t){return globalThis.CSS&&globalThis.CSS.supports&&globalThis.CSS.supports(e,t)}static supportCssAspectRatio(){return this.supportCssProperty(`aspect-ratio`,`4/3`)}static supportCssOverflowAnchor(){return this.supportCssProperty(`overflow-anchor`,`auto`)}static supportCssHas(){return this.supportCssSelector(`p:has(>img)`)}static{this.supportCssSelectorMap=new Map}static supportCssSelector(e){if(this.supportCssSelectorMap.has(e))return this.supportCssSelectorMap.get(e);let t=!1;try{document.querySelector(e),t=!0}catch{t=!1}return this.supportCssSelectorMap.set(e,t),t}static supportCssMinMaxFunction(){if(this.isSupportCssMinMaxFunction!=null)return this.isSupportCssMinMaxFunction;let e=document.body;if(e){let t=document.createElement(`div`);t.style.height=`10px`,t.style.width=`10px`,e.appendChild(t);let n=t.scrollHeight,r=n-2,i=n-5;t.style.setProperty(`max-height`,`max(`+r+`px,`+i+`px)`,`important`),this.isSupportCssMinMaxFunction=t.scrollHeight==r,e.removeChild(t)}else this.isSupportCssMinMaxFunction=!1;return this.isSupportCssMinMaxFunction}static supportShowOpenFilePicker(){return!!globalThis.showOpenFilePicker}static supportScrollBehavior(){return`scrollBehavior`in document.documentElement.style}static supportPassive(){try{var e={};Object.defineProperty(e,"passive",{get:()=>{this.supportsPassive=!0}}),globalThis.addEventListener(`test-passive`,null,e)}catch{}return this.supportsPassive??!1}static supportFullscreen(){return document.fullscreenEnabled}static async enterFullScreen(e){if(e&&e.ownerDocument.fullscreenEnabled){let t=this.getSupportPropertyName([`requestFullscreen`,`mozRequestFullScreen`,`webkitRequestFullscreen`,`msRequestFullscreen`],e);t&&await e[t]()}}static getSupportPropertyName(e,t){return e.find(e=>e in t)}static async exitFullScreen(e){if(e&&e.fullscreenEnabled){let t=this.getSupportPropertyName([`exitFullScreen`,`mozCancelFullScreen`,`webkitExitFullscreen`,`msExitFullscreen`],e);t&&await e[t]()}}static checkIsFullScreen(e){if(e){if(e.fullscreenEnabled){let t=this.getSupportPropertyName([`fullscreenElement`,`mozFullScreenElement`,`msFullScreenElement`,`wenkitFullscreenElement`],e);if(t&&e[t])return!0}return!1}}static supportClipboardPng(){if(this.isSupportClipboardPng!=null)return this.isSupportClipboardPng;try{this.isSupportClipboardPng=!!globalThis.ClipboardItem}catch{this.isSupportClipboardPng=!1}return this.isSupportClipboardPng}static supportScheduler(){return this.currentSupportScheduler??=typeof scheduler<`u`&&typeof scheduler.yield==`function`,this.currentSupportScheduler}static async yieldToMain(){this.supportScheduler()?await scheduler.yield():await new Promise(e=>setTimeout(e,0))}};exports.BrowserCapabilities=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ua.cjs");var t=class{static{this.env=e.uaParser}static isSupportTouch(){return this.currentIsSupportTouch??=`ontouchstart`in globalThis,this.currentIsSupportTouch}static hasFinePointer(){return this.currentHasFinePointer??=this.matchesMedia(`(any-pointer: fine)`),this.currentHasFinePointer}static hasCoarsePointer(){return this.currentHasCoarsePointer??=this.matchesMedia(`(any-pointer: coarse)`),this.currentHasCoarsePointer}static canHover(){return this.currentCanHover??=this.matchesMedia(`(any-hover: hover)`),this.currentCanHover}static matchesMedia(e){return!!(globalThis.matchMedia&&globalThis.matchMedia(e).matches)}static getBrowserName(){return this.getBrowserData().name}static getBrowserVersion(){return this.getBrowserData().version}static getBrowserData(){return this.browserData??=this.env.getBrowser(),this.browserData}static isIE(){let e=this.getBrowserName().toLowerCase();return e==`msie`||e==`ie`}static isChrome(){return/Chrome/i.test(this.getBrowserName())}static isEdge(){return/Edge/i.test(this.getBrowserName())}static isFirefox(){return/Firefox/i.test(this.getBrowserName())}static isSafari(){return/Safari/i.test(this.getBrowserName())}static isOpera(){return/Opera/i.test(this.getBrowserName())}static supportWebAssembly(){if(this.isSupportWebAssembly!=null)return this.isSupportWebAssembly;let e=globalThis.WebAssembly;return typeof e==`object`&&typeof e.Memory==`function`&&(typeof e.instantiateStreaming==`function`||typeof e.instantiate==`function`)&&(this.isSupportWebAssembly=!0),this.isSupportWebAssembly??=!1,this.isSupportWebAssembly}static supportCssVariables(){return!!(globalThis.CSS&&globalThis.CSS.supports&&globalThis.CSS.supports(`color`,`var(--fake-var)`))}static supportCssProperty(e,t){return globalThis.CSS&&globalThis.CSS.supports&&globalThis.CSS.supports(e,t)}static supportCssAspectRatio(){return this.supportCssProperty(`aspect-ratio`,`4/3`)}static supportCssOverflowAnchor(){return this.supportCssProperty(`overflow-anchor`,`auto`)}static supportCssHas(){return this.supportCssSelector(`p:has(>img)`)}static{this.supportCssSelectorMap=new Map}static supportCssSelector(e){if(this.supportCssSelectorMap.has(e))return this.supportCssSelectorMap.get(e);let t=!1;try{document.querySelector(e),t=!0}catch{t=!1}return this.supportCssSelectorMap.set(e,t),t}static supportCssMinMaxFunction(){if(this.isSupportCssMinMaxFunction!=null)return this.isSupportCssMinMaxFunction;let e=document.body;if(e){let t=document.createElement(`div`);t.style.height=`10px`,t.style.width=`10px`,e.appendChild(t);let n=t.scrollHeight,r=n-2,i=n-5;t.style.setProperty(`max-height`,`max(`+r+`px,`+i+`px)`,`important`),this.isSupportCssMinMaxFunction=t.scrollHeight==r,e.removeChild(t)}else this.isSupportCssMinMaxFunction=!1;return this.isSupportCssMinMaxFunction}static supportShowOpenFilePicker(){return!!globalThis.showOpenFilePicker}static supportScrollBehavior(){return`scrollBehavior`in document.documentElement.style}static supportPassive(){try{var e={};Object.defineProperty(e,"passive",{get:()=>{this.supportsPassive=!0}}),globalThis.addEventListener(`test-passive`,null,e)}catch{}return this.supportsPassive??!1}static supportClipboardPng(){if(this.isSupportClipboardPng!=null)return this.isSupportClipboardPng;try{this.isSupportClipboardPng=!!globalThis.ClipboardItem}catch{this.isSupportClipboardPng=!1}return this.isSupportClipboardPng}};exports.BrowserCapabilities=t;
@@ -1,4 +1,3 @@
1
-
2
1
  export declare class BrowserCapabilities {
3
2
  private static readonly env;
4
3
  private static browserData;
@@ -35,14 +34,6 @@ export declare class BrowserCapabilities {
35
34
  static supportScrollBehavior(): boolean;
36
35
  private static supportsPassive;
37
36
  static supportPassive(): boolean;
38
- static supportFullscreen(): boolean;
39
- static enterFullScreen(element: Element): Promise<void>;
40
- static getSupportPropertyName(names: string[], target: Element | Document): string;
41
- static exitFullScreen(ownerDocument: Document): Promise<void>;
42
- static checkIsFullScreen(ownerDocument: Document): boolean;
43
37
  private static isSupportClipboardPng;
44
38
  static supportClipboardPng(): boolean;
45
- private static currentSupportScheduler;
46
- static supportScheduler(): boolean;
47
- static yieldToMain(): Promise<void>;
48
39
  }
@@ -1,5 +1,4 @@
1
1
  import { uaParser as e } from "./ua.mjs";
2
- import "scheduler-polyfill";
3
2
  //#region kernal/web/BrowserCapabilities.ts
4
3
  var t = class {
5
4
  static {
@@ -107,48 +106,6 @@ var t = class {
107
106
  } catch {}
108
107
  return this.supportsPassive ?? !1;
109
108
  }
110
- static supportFullscreen() {
111
- return document.fullscreenEnabled;
112
- }
113
- static async enterFullScreen(e) {
114
- if (e && e.ownerDocument.fullscreenEnabled) {
115
- let t = this.getSupportPropertyName([
116
- "requestFullscreen",
117
- "mozRequestFullScreen",
118
- "webkitRequestFullscreen",
119
- "msRequestFullscreen"
120
- ], e);
121
- t && await e[t]();
122
- }
123
- }
124
- static getSupportPropertyName(e, t) {
125
- return e.find((e) => e in t);
126
- }
127
- static async exitFullScreen(e) {
128
- if (e && e.fullscreenEnabled) {
129
- let t = this.getSupportPropertyName([
130
- "exitFullScreen",
131
- "mozCancelFullScreen",
132
- "webkitExitFullscreen",
133
- "msExitFullscreen"
134
- ], e);
135
- t && await e[t]();
136
- }
137
- }
138
- static checkIsFullScreen(e) {
139
- if (e) {
140
- if (e.fullscreenEnabled) {
141
- let t = this.getSupportPropertyName([
142
- "fullscreenElement",
143
- "mozFullScreenElement",
144
- "msFullScreenElement",
145
- "wenkitFullscreenElement"
146
- ], e);
147
- if (t && e[t]) return !0;
148
- }
149
- return !1;
150
- }
151
- }
152
109
  static supportClipboardPng() {
153
110
  if (this.isSupportClipboardPng != null) return this.isSupportClipboardPng;
154
111
  try {
@@ -158,12 +115,6 @@ var t = class {
158
115
  }
159
116
  return this.isSupportClipboardPng;
160
117
  }
161
- static supportScheduler() {
162
- return this.currentSupportScheduler ??= typeof scheduler < "u" && typeof scheduler.yield == "function", this.currentSupportScheduler;
163
- }
164
- static async yieldToMain() {
165
- this.supportScheduler() ? await scheduler.yield() : await new Promise((e) => setTimeout(e, 0));
166
- }
167
118
  };
168
119
  //#endregion
169
120
  export { t as BrowserCapabilities };
@@ -1,5 +1,5 @@
1
1
  import { debounce as e } from "perfect-debounce";
2
- //#region kernal/Debounce.ts
2
+ //#region kernal/web/debounce.ts
3
3
  function t(e, t) {
4
4
  let n;
5
5
  return (...r) => {
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("scheduler-polyfill");var e,t=()=>(e??=typeof scheduler<`u`&&typeof scheduler.yield==`function`,e),n=async()=>{t()?await scheduler.yield():await new Promise(e=>setTimeout(e,0))};exports.supportScheduler=t,exports.yieldToMain=n;
@@ -0,0 +1,3 @@
1
+
2
+ export declare const supportScheduler: () => boolean;
3
+ export declare const yieldToMain: () => Promise<void>;
@@ -0,0 +1,7 @@
1
+ import "scheduler-polyfill";
2
+ //#region kernal/web/scheduler.ts
3
+ var e, t = () => (e ??= typeof scheduler < "u" && typeof scheduler.yield == "function", e), n = async () => {
4
+ t() ? await scheduler.yield() : await new Promise((e) => setTimeout(e, 0));
5
+ };
6
+ //#endregion
7
+ export { t as supportScheduler, n as yieldToMain };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/web/BrowserCapabilities.cjs"),t=require("../../../kernal/common/text.cjs"),n=require("../../../kernal/common/url.cjs"),r=require("../../../kernal/common/mimetypes.cjs"),i=require("../../../kernal/common/path.cjs"),a=require("../../../kernal/Metadata.cjs"),o=require("../../../kernal/progress/Progress.cjs"),s=require("../../../kernal/IFileParser.cjs"),c=require("../../../kernal/common/buffer.cjs"),l=require("../../../kernal/common/number.cjs"),u=require("../../../kernal/services/file/IFileDecrypter.cjs"),d=require("../../../kernal/nav/Nav.cjs"),f=require("../../../kernal/services/fileUrlParser/IFileUrlParser.cjs");var p=class{constructor(e,t,n,r,i,o,s){this.crypto=e,this.fileDecrypter=t,this.fileProvider=n,this.fileUrlParser=r,this.httpClient=i,this.url=o,this.extension=s,this.nav=new d.Nav,this.metadata=new a.Metadata,this.spineFiles=[]}async buildLocation(e,t){let n=typeof e==`string`?new d.NavPoint(``,e):e;return new o.FileLocation(n.url,1,`ratio`)}async getTextDocuments(){return[]}async getTextDocument(e){let t=await this.getTextDocuments();if(l.isNumber(e))return t[parseInt(e)];let r=n.getUrlFragment(e).urlWithoutAnchor;return t.find(e=>e.url==r)}get isMultiFiles(){return this.currentIsMultiFiles??!1}async computeFileHash(e,t,n){return e?``:!n||n==`SHA-1`?(this.currentWholeFileHash||=await this.crypto.digest(t,`SHA-1`),this.currentWholeFileHash):await this.crypto.digest(t,`MD5`)}async load(e){let t=await this.parseUrl(this.url,{requireDownload:!1});await this.initializeDatas(t),e?.measureFilePercentage&&await this.measureFilePercentage(this.spineFiles,this.urlParseResult?.requireCalculateFileSymbolCount)}async parseUrl(e,t){t??=new f.FileUrlParserOptions;let n=await this.fileUrlParser.parse(e,t);if(this.fileDecrypter&&n.data){let e=this.url instanceof s.FilePackage?this.url.customKey:``,t=typeof this.url==`string`?this.url:``,r=this.extension||``,i=new u.DecryptFile(r,new Uint8Array(n.data),t);i.key=e;let a=await this.fileDecrypter.decrypt(i);a&&(n.data=a.buffer)}return n}async initializeDatas(e){this.urlParseResult=e,this.currentIsMultiFiles=e.isMultiFiles??!1,this.spineFiles=e.spineFiles??[],e?.metadata&&(this.metadata=e.metadata),e?.nav&&(this.nav=e.nav)}async measureFilePercentage(t,n){if(!t)return;if(!t.find(e=>e.symbolCount==null)){t[0]?.ratio!=null&&this.applyProgressRanges(t);return}let r=t.length;if(n)for(let n=0;n<r;n++){let r=t[n];r.ratio==null&&(r.symbolCount==null||r.symbolCount<=0)&&(r.symbolCount=await this.calculateSymbolCount(r,`custom`),r.charSymbolCount=await this.calculateSymbolCount(r,`char`)),await e.BrowserCapabilities.yieldToMain()}let i=0,a=0;t.forEach(e=>{(e.symbolCount==null||e.symbolCount<=0)&&(e.symbolCount=1),i+=e.symbolCount,a+=e.charSymbolCount??0}),i<=0&&(i=1),a<=0&&(a=1),t.forEach(e=>{e.ratio??=e.symbolCount/i,e.charRatio=(e.charSymbolCount??0)/a}),this.applyProgressRanges(t)}applyProgressRanges(e){let t=0,n=0;for(let r of e){let e=r.ratio??0,i=r.charRatio??0;r.startProgress=t,r.endProgress=t+e,t=r.endProgress,r.charStartProgress=n,r.charEndProgress=n+i,n=r.charEndProgress}}async calculateSymbolCount(e,t){return 1}async getSpineFileData(e){return e.data?e.data instanceof ArrayBuffer?e.data:e.data instanceof Blob?await e.data.arrayBuffer():null:null}async getMetadata(){return this.metadata||=new a.Metadata,this.metadata}async getEntryFile(){return(await this.getSpineFiles())[0]}async getFile(e,t,n){let r={arraybuffer:null,blob:null,uint8array:null};if(n||=`uint8array`,n==`uint8array`||n==`arraybuffer`){let i;try{i=await this.getFileBytes(e,t)}catch{i={data:new Uint8Array,type:``}}return n==`uint8array`?r.uint8array=i.data:r.arraybuffer=i.data.buffer,r[n]}if(n==`blob`){let i;try{i=await this.getFileBlob(e,t)}catch{i=c.toBlob(new Uint8Array)}return r.blob=i,r[n]}return null}async getFileBlob(e,t){let{data:n,type:r}=await this.getFileBytes(e,t);return c.toBlob(n,{type:r})}async getFileBytes(e,a){if(t.isNullOrWhiteSpace(e))throw Error(`File url is empty`);let o=this.buildUrl(e,a);if(t.isNullOrWhiteSpace(o))throw Error(`File url is empty`);let c;if(this.fileProvider)c=await this.fileProvider.getFile(e,a);else{if(!n.checkIsAbsoluteUrl(o))throw Error(`Cannot fetch relative file without fileProvider: ${o}`);c=await this.httpClient.get(o,{responseType:`arraybuffer`,timeout:6e5})}let l=i.getExtension(e)||``,d;if(this.fileDecrypter){let e=this.url instanceof s.FilePackage?this.url.customKey:``,t=new u.DecryptFile(l,new Uint8Array(c),o);t.key=e,d=await this.fileDecrypter.decrypt(t)}else d=new Uint8Array(c);let f=r.getMimetype(e);return{data:d,type:f}}buildUrl(e,t){if(n.checkIsAbsoluteUrl(e))return e;let r=``,i=t?.lastIndexOf(`/`);i>0&&(r=t.substring(0,i+1));let a=n.getFullUrl(e,r);return n.checkIsAbsoluteUrl(r)?e=a.toString():(e=a.pathname+a.search,e=e.substring(1)),e}async getNav(){return this.nav}async getSpineFile(e){if(e==null)return null;let t=await this.getSpineFiles();if(l.isNumber(e))return t[parseInt(e)];let r=n.getUrlFragment(e).urlWithoutAnchor,a=t.find(e=>e.url==r);if(a)return a;let o=i.getFileName(e);return t.find(e=>i.getFileName(e.url).toLowerCase()==o.toLowerCase())}async getSpineFiles(){return this.spineFiles}async dispose(){this.revokeOwnedBlobUrls(),this.spineFiles&&this.spineFiles.splice(0),this.nav=null,this.metadata=null,this.urlParseResult=null}revokeOwnedBlobUrls(){let e=new Set;this.urlParseResult?.mainUrl&&n.checkIsBlobUrl(this.urlParseResult.mainUrl)&&e.add(this.urlParseResult.mainUrl);for(let t of this.spineFiles??[])t?.url&&n.checkIsBlobUrl(t.url)&&e.add(t.url);for(let t of e)try{URL.revokeObjectURL(t)}catch{}}};exports.BaseFileParser=p;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/common/text.cjs"),t=require("../../../kernal/common/url.cjs"),n=require("../../../kernal/common/mimetypes.cjs"),r=require("../../../kernal/common/path.cjs"),i=require("../../../kernal/Metadata.cjs"),a=require("../../../kernal/progress/Progress.cjs"),o=require("../../../kernal/IFileParser.cjs"),s=require("../../../kernal/common/buffer.cjs"),c=require("../../../kernal/common/number.cjs"),l=require("../../../kernal/services/file/IFileDecrypter.cjs"),u=require("../../../kernal/web/scheduler.cjs"),d=require("../../../kernal/nav/Nav.cjs"),f=require("../../../kernal/services/fileUrlParser/IFileUrlParser.cjs");var p=class{constructor(e,t,n,r,a,o,s){this.crypto=e,this.fileDecrypter=t,this.fileProvider=n,this.fileUrlParser=r,this.httpClient=a,this.url=o,this.extension=s,this.nav=new d.Nav,this.metadata=new i.Metadata,this.spineFiles=[]}async buildLocation(e,t){let n=typeof e==`string`?new d.NavPoint(``,e):e;return new a.FileLocation(n.url,1,`ratio`)}async getTextDocuments(){return[]}async getTextDocument(e){let n=await this.getTextDocuments();if(c.isNumber(e))return n[parseInt(e)];let r=t.getUrlFragment(e).urlWithoutAnchor;return n.find(e=>e.url==r)}get isMultiFiles(){return this.currentIsMultiFiles??!1}async computeFileHash(e,t,n){return e?``:!n||n==`SHA-1`?(this.currentWholeFileHash||=await this.crypto.digest(t,`SHA-1`),this.currentWholeFileHash):await this.crypto.digest(t,`MD5`)}async load(e){let t=await this.parseUrl(this.url,{requireDownload:!1});await this.initializeDatas(t),e?.measureFilePercentage&&await this.measureFilePercentage(this.spineFiles,this.urlParseResult?.requireCalculateFileSymbolCount)}async parseUrl(e,t){t??=new f.FileUrlParserOptions;let n=await this.fileUrlParser.parse(e,t);if(this.fileDecrypter&&n.data){let e=this.url instanceof o.FilePackage?this.url.customKey:``,t=typeof this.url==`string`?this.url:``,r=this.extension||``,i=new l.DecryptFile(r,new Uint8Array(n.data),t);i.key=e;let a=await this.fileDecrypter.decrypt(i);a&&(n.data=a.buffer)}return n}async initializeDatas(e){this.urlParseResult=e,this.currentIsMultiFiles=e.isMultiFiles??!1,this.spineFiles=e.spineFiles??[],e?.metadata&&(this.metadata=e.metadata),e?.nav&&(this.nav=e.nav)}async measureFilePercentage(e,t){if(!e)return;if(!e.find(e=>e.symbolCount==null)){e[0]?.ratio!=null&&this.applyProgressRanges(e);return}let n=e.length;if(t)for(let t=0;t<n;t++){let n=e[t];n.ratio==null&&(n.symbolCount==null||n.symbolCount<=0)&&(n.symbolCount=await this.calculateSymbolCount(n,`custom`),n.charSymbolCount=await this.calculateSymbolCount(n,`char`)),await u.yieldToMain()}let r=0,i=0;e.forEach(e=>{(e.symbolCount==null||e.symbolCount<=0)&&(e.symbolCount=1),r+=e.symbolCount,i+=e.charSymbolCount??0}),r<=0&&(r=1),i<=0&&(i=1),e.forEach(e=>{e.ratio??=e.symbolCount/r,e.charRatio=(e.charSymbolCount??0)/i}),this.applyProgressRanges(e)}applyProgressRanges(e){let t=0,n=0;for(let r of e){let e=r.ratio??0,i=r.charRatio??0;r.startProgress=t,r.endProgress=t+e,t=r.endProgress,r.charStartProgress=n,r.charEndProgress=n+i,n=r.charEndProgress}}async calculateSymbolCount(e,t){return 1}async getSpineFileData(e){return e.data?e.data instanceof ArrayBuffer?e.data:e.data instanceof Blob?await e.data.arrayBuffer():null:null}async getMetadata(){return this.metadata||=new i.Metadata,this.metadata}async getEntryFile(){return(await this.getSpineFiles())[0]}async getFile(e,t,n){let r={arraybuffer:null,blob:null,uint8array:null};if(n||=`uint8array`,n==`uint8array`||n==`arraybuffer`){let i;try{i=await this.getFileBytes(e,t)}catch{i={data:new Uint8Array,type:``}}return n==`uint8array`?r.uint8array=i.data:r.arraybuffer=i.data.buffer,r[n]}if(n==`blob`){let i;try{i=await this.getFileBlob(e,t)}catch{i=s.toBlob(new Uint8Array)}return r.blob=i,r[n]}return null}async getFileBlob(e,t){let{data:n,type:r}=await this.getFileBytes(e,t);return s.toBlob(n,{type:r})}async getFileBytes(i,a){if(e.isNullOrWhiteSpace(i))throw Error(`File url is empty`);let s=this.buildUrl(i,a);if(e.isNullOrWhiteSpace(s))throw Error(`File url is empty`);let c;if(this.fileProvider)c=await this.fileProvider.getFile(i,a);else{if(!t.checkIsAbsoluteUrl(s))throw Error(`Cannot fetch relative file without fileProvider: ${s}`);c=await this.httpClient.get(s,{responseType:`arraybuffer`,timeout:6e5})}let u=r.getExtension(i)||``,d;if(this.fileDecrypter){let e=this.url instanceof o.FilePackage?this.url.customKey:``,t=new l.DecryptFile(u,new Uint8Array(c),s);t.key=e,d=await this.fileDecrypter.decrypt(t)}else d=new Uint8Array(c);let f=n.getMimetype(i);return{data:d,type:f}}buildUrl(e,n){if(t.checkIsAbsoluteUrl(e))return e;let r=``,i=n?.lastIndexOf(`/`);i>0&&(r=n.substring(0,i+1));let a=t.getFullUrl(e,r);return t.checkIsAbsoluteUrl(r)?e=a.toString():(e=a.pathname+a.search,e=e.substring(1)),e}async getNav(){return this.nav}async getSpineFile(e){if(e==null)return null;let n=await this.getSpineFiles();if(c.isNumber(e))return n[parseInt(e)];let i=t.getUrlFragment(e).urlWithoutAnchor,a=n.find(e=>e.url==i);if(a)return a;let o=r.getFileName(e);return n.find(e=>r.getFileName(e.url).toLowerCase()==o.toLowerCase())}async getSpineFiles(){return this.spineFiles}async dispose(){this.revokeOwnedBlobUrls(),this.spineFiles&&this.spineFiles.splice(0),this.nav=null,this.metadata=null,this.urlParseResult=null}revokeOwnedBlobUrls(){let e=new Set;this.urlParseResult?.mainUrl&&t.checkIsBlobUrl(this.urlParseResult.mainUrl)&&e.add(this.urlParseResult.mainUrl);for(let n of this.spineFiles??[])n?.url&&t.checkIsBlobUrl(n.url)&&e.add(n.url);for(let t of e)try{URL.revokeObjectURL(t)}catch{}}};exports.BaseFileParser=p;