@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,194 +1,147 @@
1
- import { ElementInitialNumberName as D, ROOT_IDX as W } from "../Constants.mjs";
2
- import { getUuid as v } from "../common/uuid.mjs";
3
- import { getDocumentBody as y, getAllNodes as T, checkIsOtherNonWhiteSpaceSymbol as k, compareTagName as p, getElementIndex as M, getElementByNameAndIndex as R } from "./finder.mjs";
4
- import { getFormatDocument as _ } from "./parser.mjs";
5
- import { getPureInnerTextLength as b, removeWhiteSpaceBetweenTags as H } from "./text.mjs";
6
- import { SymbolOffset as I } from "./types.mjs";
7
- const w = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Map(), q = () => {
8
- C.clear(), w.clear();
9
- }, x = (e) => {
10
- const s = (e instanceof Document ? e.body : e).childNodes;
11
- for (const o of s)
12
- if (o.nodeType == Node.TEXT_NODE && o.textContent?.trim())
13
- return !0;
14
- return !1;
15
- }, A = (e, t) => {
16
- let s = 0;
17
- return !t || t.length == 0 || t.forEach((o) => {
18
- s += e.getElementsByTagName(o).length;
19
- }), s;
20
- }, B = (e, t, s) => {
21
- const {
22
- removeHtmlWhitespace: o,
23
- whitespaceRegex: r,
24
- nonWhiteSpaceSymbolTagNames: l
25
- } = s ?? {};
26
- let i = w.get(e);
27
- i || (i = v(), w.set(e, i));
28
- let u = t.toString();
29
- r?.source && (u += r.source), l && (u += l.join("-")), u += i;
30
- const m = e.ownerDocument ? e : y(e), c = C.get(u);
31
- if (c && c.length == m.getElementsByTagName("*").length + 1)
32
- return c;
33
- const n = [];
34
- let a = 0;
35
- const N = T(m);
36
- for (let h = 0; h < N.length; h++) {
37
- const f = N[h];
38
- if (f.nodeType == Node.ELEMENT_NODE) {
39
- const d = f;
40
- n.push(new I(d, a)), t == "custom" && k(d.tagName, l) && (a += 1);
41
- } else f.nodeType == Node.TEXT_NODE && (a += b(f, o, r));
42
- }
43
- const g = n.reverse();
44
- return C.set(u, g), g;
45
- }, L = (e, t, s, o) => {
46
- const l = B(e, s, o).find((i) => i.element == t);
47
- return l ? l.offset : -1;
48
- }, S = (e, t, s) => {
49
- const {
50
- removeHtmlWhitespace: o,
51
- whitespaceRegex: r,
52
- nonWhiteSpaceSymbolTagNames: l
53
- } = s ?? {};
54
- let i;
55
- if (typeof e == "string") {
56
- const c = H(e, o), n = _(c, !0);
57
- i = y(n);
58
- } else e.ownerDocument ? i = e : i = y(e);
59
- let m = b(i, o, r);
60
- if (t == "custom") {
61
- const c = A(i, l);
62
- m += c;
63
- }
64
- return m;
65
- }, z = (e, t, s, o) => {
66
- t = t ?? 0;
67
- const r = S(e, s, o), l = Math.ceil(r * t);
68
- return P(e, l, s, !1, o);
69
- }, J = (e, t, s, o, r) => {
70
- const l = S(e, s, r);
71
- return E(e, t, s, o, r) / l;
72
- }, P = (e, t, s, o, r) => {
73
- const {
74
- removeHtmlWhitespace: l,
75
- whitespaceRegex: i
76
- } = r ?? {}, u = r?.nonWhiteSpaceSymbolTagNames ?? [], m = B(e, s, {
77
- ...r,
78
- nonWhiteSpaceSymbolTagNames: u
79
- });
80
- let c = m.findIndex((f) => t >= f.offset);
81
- if (c < 0)
82
- return null;
83
- let n = m[c];
84
- if (!n.element.getAttribute(D)) {
85
- const f = m.length - 1;
86
- for (; c < f && (c++, n = m[c], !n.element.getAttribute(D)); )
87
- ;
88
- }
89
- let a, N = t - n.offset, g = S(n.element, s, r);
90
- if (N == 0 && o && c < m.length - 1 && (n = m[c + 1]), N = t - n.offset, g = S(n.element, s, r), N > g)
91
- if (c == 0)
92
- a = g;
93
- else {
94
- if (n = m.find((f) => f.element == n.element.parentElement), !n)
95
- if (x(e)) {
96
- const f = e instanceof Document ? e.body : e;
97
- n = new I(f, 0);
98
- } else
99
- n = m[c - 1];
100
- if (!x(e) && s == "char" && p(n.element.tagName, "BODY")) {
101
- const f = m[c - 1];
102
- f && f.offset >= t && (n = f);
103
- }
104
- }
105
- if (!x(e) && s == "char" && p(n.element.tagName, "BODY")) {
106
- const f = n.element.children;
107
- let d;
108
- for (let O = 0; O < f.length; O++)
109
- if (!u.includes(f[O].tagName.toLowerCase())) {
110
- d = f[O];
111
- break;
112
- }
113
- if (d)
114
- return {
115
- element: d,
116
- index: 0,
117
- offset: 0
118
- };
119
- }
120
- if (a === void 0) {
121
- if (a = t - n.offset, a < 0)
122
- a = 0;
123
- else if (s == "char") {
124
- g = b(n.element, l, i);
125
- let f = 0;
126
- for (; a > g && f < 256; ) {
127
- f++;
128
- const d = m.find((O) => O.element === n.element.parentElement);
129
- if (!d) {
130
- a = g;
131
- break;
132
- }
133
- if (n = d, g = b(n.element, l, i), a = t - n.offset, a < 0) {
134
- a = 0;
135
- break;
136
- }
137
- }
138
- a > g && (a = g);
139
- }
140
- }
141
- let h = M(e, n.element);
142
- return h == -1 && p(n.element.tagName, "BODY") && (h = W), {
143
- element: n.element,
144
- index: h,
145
- offset: a
146
- };
147
- }, E = (e, t, s, o, r) => {
148
- let l;
149
- if (t.tagIndex >= 0) {
150
- const u = t;
151
- l = R(e, u.tagName, u.tagIndex ?? 0);
152
- } else
153
- l = t;
154
- return l ? L(e, l, s, r) + (o ?? 0) : -1;
155
- }, K = (e, t, s, o) => {
156
- const {
157
- removeHtmlWhitespace: r,
158
- whitespaceRegex: l
159
- } = o ?? {};
160
- if (!t) return -1;
161
- if (t.nodeType === Node.ELEMENT_NODE)
162
- return E(e, t, s, 0, o);
163
- const i = e.ownerDocument ? e : y(e), u = T(i);
164
- let m = 0;
165
- for (let c = 0; c < u.length; c++) {
166
- const n = u[c];
167
- if (n === t) return m;
168
- n.nodeType === Node.TEXT_NODE && (m += b(n, r, l));
169
- }
170
- return -1;
171
- };
172
- class Q {
173
- /**
174
- * constructor
175
- * @param element The element in the document.
176
- * @param index The index of the element in the document.
177
- * @param offset The internal symbol offset of the element.
178
- */
179
- constructor(t, s, o) {
180
- this.element = t, this.index = s, this.offset = o;
181
- }
182
- }
183
- export {
184
- Q as ElementPositionResult,
185
- B as calcSymbolOffsets,
186
- x as checkContainsPureTextNode,
187
- q as clearSymbolOffsetCache,
188
- P as getElementByPosition,
189
- z as getElementByProgress,
190
- E as getPositionByElement,
191
- K as getPositionByNode,
192
- J as getProgressByElement,
193
- S as getTotalSymbolCount
1
+ import { getUuid as e } from "../common/uuid.mjs";
2
+ import "../Constants.mjs";
3
+ import { checkIsOtherNonWhiteSpaceSymbol as t, compareTagName as n, getAllNodes as r, getDocumentBody as i, getElementByNameAndIndex as a, getElementIndex as o } from "./finder.mjs";
4
+ import { SymbolOffset as s } from "./types.mjs";
5
+ import { getPureInnerTextLength as c, removeWhiteSpaceBetweenTags as l } from "./text.mjs";
6
+ import { getFormatDocument as u } from "./parser.mjs";
7
+ //#region kernal/html/position.ts
8
+ var d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = () => {
9
+ f.clear(), d.clear();
10
+ }, m = (e) => {
11
+ let t = (e instanceof Document ? e.body : e).childNodes;
12
+ for (let e of t) if (e.nodeType == Node.TEXT_NODE && e.textContent?.trim()) return !0;
13
+ return !1;
14
+ }, h = (e, t) => {
15
+ let n = 0;
16
+ return !t || t.length == 0 || t.forEach((t) => {
17
+ n += e.getElementsByTagName(t).length;
18
+ }), n;
19
+ }, g = (n, a, o) => {
20
+ let { removeHtmlWhitespace: l, whitespaceRegex: u, nonWhiteSpaceSymbolTagNames: p } = o ?? {}, m = d.get(n);
21
+ m || (m = e(), d.set(n, m));
22
+ let h = a.toString();
23
+ u?.source && (h += u.source), p && (h += p.join("-")), h += m;
24
+ let g = n.ownerDocument ? n : i(n), _ = f.get(h);
25
+ if (_ && _.length == g.getElementsByTagName("*").length + 1) return _;
26
+ let v = [], y = 0, b = r(g);
27
+ for (let e = 0; e < b.length; e++) {
28
+ let n = b[e];
29
+ if (n.nodeType == Node.ELEMENT_NODE) {
30
+ let e = n;
31
+ v.push(new s(e, y)), a == "custom" && t(e.tagName, p) && (y += 1);
32
+ } else n.nodeType == Node.TEXT_NODE && (y += c(n, l, u));
33
+ }
34
+ let x = v.reverse();
35
+ return f.set(h, x), x;
36
+ }, _ = (e, t, n, r) => {
37
+ let i = g(e, n, r).find((e) => e.element == t);
38
+ return i ? i.offset : -1;
39
+ }, v = (e, t, n) => {
40
+ let { removeHtmlWhitespace: r, whitespaceRegex: a, nonWhiteSpaceSymbolTagNames: o } = n ?? {}, s;
41
+ if (typeof e == "string") {
42
+ let t = l(e, r), n = u(t, !0);
43
+ s = i(n);
44
+ } else s = e.ownerDocument ? e : i(e);
45
+ let d = c(s, r, a);
46
+ if (t == "custom") {
47
+ let e = h(s, o);
48
+ d += e;
49
+ }
50
+ return d;
51
+ }, y = (e, t, n, r) => {
52
+ t ??= 0;
53
+ let i = v(e, n, r);
54
+ return x(e, Math.ceil(i * t), n, !1, r);
55
+ }, b = (e, t, n, r, i) => {
56
+ let a = v(e, n, i);
57
+ return S(e, t, n, r, i) / a;
58
+ }, x = (e, t, r, i, a) => {
59
+ let { removeHtmlWhitespace: l, whitespaceRegex: u } = a ?? {}, d = a?.nonWhiteSpaceSymbolTagNames ?? [], f = g(e, r, {
60
+ ...a,
61
+ nonWhiteSpaceSymbolTagNames: d
62
+ }), p = f.findIndex((e) => t >= e.offset);
63
+ if (p < 0) return null;
64
+ let h = f[p];
65
+ if (!h.element.getAttribute("data-initial-index")) {
66
+ let e = f.length - 1;
67
+ for (; p < e && (p++, h = f[p], !h.element.getAttribute("data-initial-index")););
68
+ }
69
+ let _, y = t - h.offset, b = v(h.element, r, a);
70
+ if (y == 0 && i && p < f.length - 1 && (h = f[p + 1]), y = t - h.offset, b = v(h.element, r, a), y > b) {
71
+ if (p == 0) _ = b;
72
+ else {
73
+ if (h = f.find((e) => e.element == h.element.parentElement), !h) {
74
+ if (m(e)) {
75
+ let t = e instanceof Document ? e.body : e;
76
+ h = new s(t, 0);
77
+ } else h = f[p - 1];
78
+ }
79
+ if (!m(e) && r == "char" && n(h.element.tagName, "BODY")) {
80
+ let e = f[p - 1];
81
+ e && e.offset >= t && (h = e);
82
+ }
83
+ }
84
+ }
85
+ if (!m(e) && r == "char" && n(h.element.tagName, "BODY")) {
86
+ let e = h.element.children, t;
87
+ for (let n = 0; n < e.length; n++) if (!d.includes(e[n].tagName.toLowerCase())) {
88
+ t = e[n];
89
+ break;
90
+ }
91
+ if (t) return {
92
+ element: t,
93
+ index: 0,
94
+ offset: 0
95
+ };
96
+ }
97
+ if (_ === void 0) {
98
+ if (_ = t - h.offset, _ < 0) _ = 0;
99
+ else if (r == "char") {
100
+ b = c(h.element, l, u);
101
+ let e = 0;
102
+ for (; _ > b && e < 256;) {
103
+ e++;
104
+ let n = f.find((e) => e.element === h.element.parentElement);
105
+ if (!n) {
106
+ _ = b;
107
+ break;
108
+ }
109
+ if (h = n, b = c(h.element, l, u), _ = t - h.offset, _ < 0) {
110
+ _ = 0;
111
+ break;
112
+ }
113
+ }
114
+ _ > b && (_ = b);
115
+ }
116
+ }
117
+ let x = o(e, h.element);
118
+ return x == -1 && n(h.element.tagName, "BODY") && (x = -2), {
119
+ element: h.element,
120
+ index: x,
121
+ offset: _
122
+ };
123
+ }, S = (e, t, n, r, i) => {
124
+ let o;
125
+ if (t.tagIndex >= 0) {
126
+ let n = t;
127
+ o = a(e, n.tagName, n.tagIndex ?? 0);
128
+ } else o = t;
129
+ return o ? _(e, o, n, i) + (r ?? 0) : -1;
130
+ }, C = (e, t, n, a) => {
131
+ let { removeHtmlWhitespace: o, whitespaceRegex: s } = a ?? {};
132
+ if (!t) return -1;
133
+ if (t.nodeType === Node.ELEMENT_NODE) return S(e, t, n, 0, a);
134
+ let l = e.ownerDocument ? e : i(e), u = r(l), d = 0;
135
+ for (let e = 0; e < u.length; e++) {
136
+ let n = u[e];
137
+ if (n === t) return d;
138
+ n.nodeType === Node.TEXT_NODE && (d += c(n, o, s));
139
+ }
140
+ return -1;
141
+ }, w = class {
142
+ constructor(e, t, n) {
143
+ this.element = e, this.index = t, this.offset = n;
144
+ }
194
145
  };
146
+ //#endregion
147
+ export { w as ElementPositionResult, g as calcSymbolOffsets, m as checkContainsPureTextNode, p as clearSymbolOffsetCache, x as getElementByPosition, y as getElementByProgress, S as getPositionByElement, C as getPositionByNode, b as getProgressByElement, v as getTotalSymbolCount };
@@ -1,7 +1,7 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("../common/text.cjs"),D=require("./finder.cjs"),A=(t,e)=>{if(!t)return null;const r=t.getSelection();if(!r||r.isCollapsed)return null;const n=r.getRangeAt(0);return!n||n.collapsed?null:e||n.toString()?n:null},W=(t,e)=>{if(!t)return!1;const r=A(t,!0);return r?e?!0:!H.isNullOrWhiteSpace(r.toString()):!1},_=/[.。.\u06D4\u061F\u0964\u0965\u1362\u0589\n]/,v=new Set(["div","p","h1","h2","h3","h4","h5","h6","li","blockquote","section","article","header","footer","nav","aside","main","hr","br","table","thead","tbody","tr","td","th","pre","address","details","dialog","fieldset","figure","figcaption","form","dl","dt","dd","ol","ul"]),I=/[\u201C\u201D\u0022\uFF02\u300D\u300F\u301D\u301E\u301F\u00BB\u2019\u02BA]/,x=/[\u200B\u200C\u200D\uFEFF\u2060]/,L=/[""\uFF02\u300C\u300E\u00AB'\u2018]/,R=/[0-90-9٠-٩\u0660-\u0669]/,M=/[a-z\u00E0-\u024F\u0370-\u03FF]/,w=t=>{let e=t.nodeType===Node.TEXT_NODE?t.parentElement:t;for(;e&&e!==e.ownerDocument?.body;){if(e.nodeType===Node.ELEMENT_NODE&&v.has(e.tagName?.toLowerCase()))return e;e=e.parentElement}return e},j=(t,e,r)=>{if(t[e]!==`
2
- `)return!1;const n=r.findIndex(h=>e>=h.start&&e<h.end);if(n<0)return!1;const o=r[n];if(e!==o.start||n===0)return!1;const l=r[n-1],s=w(l.node),N=w(o.node);return s!==N},y=(t,e,r)=>{const n=t[e];if(!n||!_.test(n))return!1;if(n===`
3
- `)return r?j(t,e,r):!1;if(n==="."||n==="."){const o=e>0?t[e-1]:"",l=e+1<t.length?t[e+1]:"";if(R.test(o)&&R.test(l)||R.test(o)&&(l===" "||l===" "||l===`
4
- `))return!1;let s=e+1;for(;s<t.length&&(t[s]===" "||t[s]===" ");)s++;if(s<t.length&&M.test(t[s]))return!1}return!0},G=(t,e)=>{if(!t)return!1;const r=t.getSelection();if(!r||r.rangeCount===0)return!1;const n=r.getRangeAt(0).cloneRange(),o=e??D.getDocumentBody(t);if(!o||!o.contains(n.startContainer)||!o.contains(n.endContainer))return!1;const l=[];let s="";const N=t.createTreeWalker(o,NodeFilter.SHOW_TEXT,null);let h;for(;h=N.nextNode();){const u=h.textContent??"";u.length>0&&(l.push({node:h,start:s.length,end:s.length+u.length}),s+=u)}if(l.length===0)return!1;const O=(u,i)=>{try{const a=t.createRange();return a.setStart(o,0),a.setEnd(u,i),a.toString().length}catch{return 0}};let E=Math.max(0,Math.min(O(n.startContainer,n.startOffset),s.length)),T=Math.max(0,Math.min(O(n.endContainer,n.endOffset),s.length));E>T&&([E,T]=[T,E]);let f=0;for(let u=E-1;u>=0;u--)if(y(s,u,l)){for(;u>0&&_.test(s[u-1]);)u--;f=u+1;break}let c=s.length;for(let u=T;u<s.length;u++)if(y(s,u,l)){for(;u+1<s.length&&_.test(s[u+1]);)u++;c=u+1;break}for(f>c&&(c=f);f>0&&L.test(s[f-1]);)f--;for(;c<s.length&&(I.test(s[c])||x.test(s[c]));)c++;for(;f<c&&s[f]===`
5
- `;)f++;for(;c>f&&s[c-1]===`
6
- `;)c--;const S=u=>{const i=u.textContent?.trim()??"";return i===`
7
- `||i===""},k=(u,i)=>{for(let a=0;a<l.length;a++){const{node:g,start:F,end:b}=l[a];if(u>=F&&u<=b){if(S(g)){if(i){for(let d=a+1;d<l.length;d++)if(!S(l[d].node)){n.setStart(l[d].node,0);return}}else for(let d=a-1;d>=0;d--){const p=l[d].node;if(!S(p)){n.setEnd(p,(p.textContent??"").length);return}}const C=i?l[0]:l[l.length-1],X=i?0:(C.node.textContent??"").length;i?n.setStart(C.node,0):n.setEnd(C.node,X);return}const m=Math.min(u-F,(g.textContent??"").length);i?n.setStart(g,m):n.setEnd(g,m);return}}if(l.length>0){const a=i?l[0]:l[l.length-1],g=i?0:(a.node.textContent??"").length;i?n.setStart(a.node,0):n.setEnd(a.node,g)}};return k(f,!0),k(c,!1),r.removeAllRanges(),r.addRange(n),!0},q=t=>{if(t.nodeType===Node.TEXT_NODE)return t;const e=t.ownerDocument?.createTreeWalker(t,NodeFilter.SHOW_TEXT);return e?e.nextNode():null},P=t=>{if(t.nodeType===Node.TEXT_NODE)return t;const e=t.ownerDocument?.createTreeWalker(t,NodeFilter.SHOW_TEXT);if(!e)return null;let r=null,n;for(;n=e.nextNode();)r=n;return r},B=(t,e)=>{if(e<0)return null;const r=t.ownerDocument?.createTreeWalker(t,NodeFilter.SHOW_TEXT);if(!r)return null;let n=0,o=null,l;for(;l=r.nextNode();){o=l;const s=(l.textContent??"").length;if(e<=n+s)return{node:l,offset:e-n};n+=s}return o?{node:o,offset:(o.textContent??"").length}:null},V=(t,e)=>{if(e.nodeType===Node.TEXT_NODE){t.setStart(e,0);return}if(e.hasChildNodes()){t.setStart(e.firstChild,0);return}t.setStart(e,0)},Q=(t,e)=>{if(e.nodeType===Node.TEXT_NODE){t.setEnd(e,(e.textContent??"").length);return}const r=D.findLastNode(e);if(r.nodeType===Node.TEXT_NODE){t.setEnd(r,(r.textContent??"").length);return}t.setEnd(e,e.childNodes.length)},U=(t,e,r)=>{if(r!==void 0){const o=B(e,r);if(o){t.setStart(o.node,o.offset);return}}const n=e.nodeType===Node.TEXT_NODE?e:q(e);if(n){t.setStart(n,0);return}V(t,e)},z=(t,e,r)=>{if(r!==void 0){const o=B(e,r);if(o){t.setEnd(o.node,o.offset);return}}const n=e.nodeType===Node.TEXT_NODE?e:P(e);if(n){t.setEnd(n,(n.textContent??"").length);return}Q(t,e)},K=(t,e,r,n)=>{const o=t.ownerDocument;if(!o)return null;const l=o.createRange();try{U(l,t,r),z(l,e,n)}catch{return null}return l};exports.checkHasValidRange=W;exports.createRange=K;exports.expandSelectionToSentence=G;exports.getRange=A;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../common/text.cjs"),t=require("./finder.cjs");var n=(e,t)=>{if(!e)return null;let n=e.getSelection();if(!n||n.isCollapsed)return null;let r=n.getRangeAt(0);return!r||r.collapsed?null:t||r.toString()?r:null},r=(t,r)=>{if(!t)return!1;let i=n(t,!0);return i?r?!0:!e.isNullOrWhiteSpace(i.toString()):!1},i=/[.。.\u06D4\u061F\u0964\u0965\u1362\u0589\n]/,a=new Set(`div.p.h1.h2.h3.h4.h5.h6.li.blockquote.section.article.header.footer.nav.aside.main.hr.br.table.thead.tbody.tr.td.th.pre.address.details.dialog.fieldset.figure.figcaption.form.dl.dt.dd.ol.ul`.split(`.`)),o=/[\u201C\u201D\u0022\uFF02\u300D\u300F\u301D\u301E\u301F\u00BB\u2019\u02BA]/,s=/[\u200B\u200C\u200D\uFEFF\u2060]/,c=/[""\uFF02\u300C\u300E\u00AB'\u2018]/,l=/[0-90-9٠-٩\u0660-\u0669]/,u=/[a-z\u00E0-\u024F\u0370-\u03FF]/,d=e=>{let t=e.nodeType===Node.TEXT_NODE?e.parentElement:e;for(;t&&t!==t.ownerDocument?.body;){if(t.nodeType===Node.ELEMENT_NODE&&a.has(t.tagName?.toLowerCase()))return t;t=t.parentElement}return t},f=(e,t,n)=>{if(e[t]!==`
2
+ `)return!1;let r=n.findIndex(e=>t>=e.start&&t<e.end);if(r<0)return!1;let i=n[r];if(t!==i.start||r===0)return!1;let a=n[r-1];return d(a.node)!==d(i.node)},p=(e,t,n)=>{let r=e[t];if(!r||!i.test(r))return!1;if(r===`
3
+ `)return n?f(e,t,n):!1;if(r===`.`||r===`.`){let n=t>0?e[t-1]:``,r=t+1<e.length?e[t+1]:``;if(l.test(n)&&l.test(r)||l.test(n)&&(r===` `||r===` `||r===`
4
+ `))return!1;let i=t+1;for(;i<e.length&&(e[i]===` `||e[i]===` `);)i++;if(i<e.length&&u.test(e[i]))return!1}return!0},m=(e,n)=>{if(!e)return!1;let r=e.getSelection();if(!r||r.rangeCount===0)return!1;let a=r.getRangeAt(0).cloneRange(),l=n??t.getDocumentBody(e);if(!l||!l.contains(a.startContainer)||!l.contains(a.endContainer))return!1;let u=[],d=``,f=e.createTreeWalker(l,NodeFilter.SHOW_TEXT,null),m;for(;m=f.nextNode();){let e=m.textContent??``;e.length>0&&(u.push({node:m,start:d.length,end:d.length+e.length}),d+=e)}if(u.length===0)return!1;let h=(t,n)=>{try{let r=e.createRange();return r.setStart(l,0),r.setEnd(t,n),r.toString().length}catch{return 0}},g=Math.max(0,Math.min(h(a.startContainer,a.startOffset),d.length)),_=Math.max(0,Math.min(h(a.endContainer,a.endOffset),d.length));g>_&&([g,_]=[_,g]);let v=0;for(let e=g-1;e>=0;e--)if(p(d,e,u)){for(;e>0&&i.test(d[e-1]);)e--;v=e+1;break}let y=d.length;for(let e=_;e<d.length;e++)if(p(d,e,u)){for(;e+1<d.length&&i.test(d[e+1]);)e++;y=e+1;break}for(v>y&&(y=v);v>0&&c.test(d[v-1]);)v--;for(;y<d.length&&(o.test(d[y])||s.test(d[y]));)y++;for(;v<y&&d[v]===`
5
+ `;)v++;for(;y>v&&d[y-1]===`
6
+ `;)y--;let b=e=>{let t=e.textContent?.trim()??``;return t===`
7
+ `||t===``},x=(e,t)=>{for(let n=0;n<u.length;n++){let{node:r,start:i,end:o}=u[n];if(e>=i&&e<=o){if(b(r)){if(t){for(let e=n+1;e<u.length;e++)if(!b(u[e].node)){a.setStart(u[e].node,0);return}}else for(let e=n-1;e>=0;e--){let t=u[e].node;if(!b(t)){a.setEnd(t,(t.textContent??``).length);return}}let e=t?u[0]:u[u.length-1],r=t?0:(e.node.textContent??``).length;t?a.setStart(e.node,0):a.setEnd(e.node,r);return}let o=Math.min(e-i,(r.textContent??``).length);t?a.setStart(r,o):a.setEnd(r,o);return}}if(u.length>0){let e=t?u[0]:u[u.length-1],n=t?0:(e.node.textContent??``).length;t?a.setStart(e.node,0):a.setEnd(e.node,n)}};return x(v,!0),x(y,!1),r.removeAllRanges(),r.addRange(a),!0},h=e=>{if(e.nodeType===Node.TEXT_NODE)return e;let t=e.ownerDocument?.createTreeWalker(e,NodeFilter.SHOW_TEXT);return t?t.nextNode():null},g=e=>{if(e.nodeType===Node.TEXT_NODE)return e;let t=e.ownerDocument?.createTreeWalker(e,NodeFilter.SHOW_TEXT);if(!t)return null;let n=null,r;for(;r=t.nextNode();)n=r;return n},_=(e,t)=>{if(t<0)return null;let n=e.ownerDocument?.createTreeWalker(e,NodeFilter.SHOW_TEXT);if(!n)return null;let r=0,i=null,a;for(;a=n.nextNode();){i=a;let e=(a.textContent??``).length;if(t<=r+e)return{node:a,offset:t-r};r+=e}return i?{node:i,offset:(i.textContent??``).length}:null},v=(e,t)=>{if(t.nodeType===Node.TEXT_NODE){e.setStart(t,0);return}if(t.hasChildNodes()){e.setStart(t.firstChild,0);return}e.setStart(t,0)},y=(e,n)=>{if(n.nodeType===Node.TEXT_NODE){e.setEnd(n,(n.textContent??``).length);return}let r=t.findLastNode(n);if(r.nodeType===Node.TEXT_NODE){e.setEnd(r,(r.textContent??``).length);return}e.setEnd(n,n.childNodes.length)},b=(e,t,n)=>{if(n!==void 0){let r=_(t,n);if(r){e.setStart(r.node,r.offset);return}}let r=t.nodeType===Node.TEXT_NODE?t:h(t);if(r){e.setStart(r,0);return}v(e,t)},x=(e,t,n)=>{if(n!==void 0){let r=_(t,n);if(r){e.setEnd(r.node,r.offset);return}}let r=t.nodeType===Node.TEXT_NODE?t:g(t);if(r){e.setEnd(r,(r.textContent??``).length);return}y(e,t)},S=(e,t,n,r)=>{let i=e.ownerDocument;if(!i)return null;let a=i.createRange();try{b(a,e,n),x(a,t,r)}catch{return null}return a};exports.checkHasValidRange=r,exports.createRange=S,exports.expandSelectionToSentence=m,exports.getRange=n;