@foxycape/core 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/README.MD +0 -2
  2. package/README.zh.md +0 -2
  3. package/dist/ReaderHub.cjs +1 -0
  4. package/dist/ReaderHub.d.ts +20 -0
  5. package/dist/ReaderHub.mjs +59 -0
  6. package/dist/kernal/Context.cjs +1 -1
  7. package/dist/kernal/Context.mjs +13 -8
  8. package/dist/kernal/EventNames.cjs +1 -1
  9. package/dist/kernal/EventNames.d.ts +2 -0
  10. package/dist/kernal/EventNames.mjs +6 -0
  11. package/dist/kernal/FileLoader.cjs +1 -1
  12. package/dist/kernal/FileLoader.d.ts +3 -11
  13. package/dist/kernal/FileLoader.mjs +27 -22
  14. package/dist/kernal/JsonConvert.cjs +1 -1
  15. package/dist/kernal/JsonConvert.d.ts +0 -1
  16. package/dist/kernal/JsonConvert.mjs +17 -25
  17. package/dist/kernal/LifecycleHooks.d.ts +2 -1
  18. package/dist/kernal/Metadata.cjs +1 -1
  19. package/dist/kernal/Metadata.d.ts +34 -0
  20. package/dist/kernal/Metadata.mjs +47 -2
  21. package/dist/kernal/OpenOptions.d.ts +1 -0
  22. package/dist/kernal/Options.cjs +1 -1
  23. package/dist/kernal/Options.d.ts +2 -12
  24. package/dist/kernal/Options.mjs +1 -13
  25. package/dist/kernal/OptionsProvider.cjs +1 -1
  26. package/dist/kernal/OptionsProvider.d.ts +0 -2
  27. package/dist/kernal/OptionsProvider.mjs +6 -14
  28. package/dist/kernal/Reader.cjs +1 -1
  29. package/dist/kernal/Reader.d.ts +13 -12
  30. package/dist/kernal/Reader.mjs +119 -89
  31. package/dist/kernal/Theme.cjs +1 -1
  32. package/dist/kernal/Theme.mjs +1 -1
  33. package/dist/kernal/common/url.cjs +1 -1
  34. package/dist/kernal/common/url.d.ts +2 -0
  35. package/dist/kernal/common/url.mjs +2 -2
  36. package/dist/kernal/common/uuid.cjs +1 -1
  37. package/dist/kernal/common/uuid.mjs +7 -7
  38. package/dist/kernal/common/xxh64.cjs +1 -0
  39. package/dist/kernal/common/xxh64.d.ts +1 -0
  40. package/dist/kernal/common/xxh64.mjs +30 -0
  41. package/dist/kernal/crypto/MD5.cjs +1 -1
  42. package/dist/kernal/crypto/MD5.d.ts +0 -1
  43. package/dist/kernal/crypto/MD5.mjs +8 -9
  44. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  45. package/dist/kernal/crypto/WebCrypto.mjs +38 -35
  46. package/dist/kernal/deepClone/buffer.cjs +1 -1
  47. package/dist/kernal/deepClone/buffer.d.ts +8 -2
  48. package/dist/kernal/deepClone/buffer.mjs +1 -5
  49. package/dist/kernal/device/IDevice.d.ts +8 -2
  50. package/dist/kernal/device/WebBrowser.cjs +1 -1
  51. package/dist/kernal/device/WebBrowser.d.ts +12 -6
  52. package/dist/kernal/device/WebBrowser.mjs +70 -6
  53. package/dist/kernal/hostViewport.cjs +1 -0
  54. package/dist/kernal/hostViewport.d.ts +16 -0
  55. package/dist/kernal/hostViewport.mjs +44 -0
  56. package/dist/kernal/html/events.cjs +1 -1
  57. package/dist/kernal/html/events.mjs +35 -34
  58. package/dist/kernal/html/finder.cjs +1 -1
  59. package/dist/kernal/html/finder.d.ts +6 -2
  60. package/dist/kernal/html/finder.mjs +62 -51
  61. package/dist/kernal/html/geometry.cjs +1 -1
  62. package/dist/kernal/html/geometry.d.ts +26 -1
  63. package/dist/kernal/html/geometry.mjs +182 -121
  64. package/dist/kernal/html/manipulator.cjs +1 -1
  65. package/dist/kernal/html/manipulator.d.ts +1 -3
  66. package/dist/kernal/html/manipulator.mjs +34 -59
  67. package/dist/kernal/html/parser.cjs +1 -1
  68. package/dist/kernal/html/parser.mjs +3 -3
  69. package/dist/kernal/html/position.cjs +1 -1
  70. package/dist/kernal/html/position.d.ts +0 -18
  71. package/dist/kernal/html/position.mjs +2 -141
  72. package/dist/kernal/html/realm.cjs +1 -0
  73. package/dist/kernal/html/realm.d.ts +7 -0
  74. package/dist/kernal/html/realm.mjs +8 -0
  75. package/dist/kernal/html/selection.cjs +1 -1
  76. package/dist/kernal/html/selection.d.ts +1 -0
  77. package/dist/kernal/html/selection.mjs +33 -12
  78. package/dist/kernal/html/text.cjs +1 -1
  79. package/dist/kernal/html/text.d.ts +4 -3
  80. package/dist/kernal/html/text.mjs +24 -21
  81. package/dist/kernal/html/translationAnchor.cjs +1 -0
  82. package/dist/kernal/html/translationAnchor.d.ts +3 -0
  83. package/dist/kernal/html/translationAnchor.mjs +71 -0
  84. package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
  85. package/dist/kernal/i18n/DefaultLocale.d.ts +2 -2
  86. package/dist/kernal/i18n/DefaultLocale.mjs +7 -12
  87. package/dist/kernal/i18n/ILocale.d.ts +0 -1
  88. package/dist/kernal/i18n/applyNamed.cjs +1 -0
  89. package/dist/kernal/i18n/applyNamed.d.ts +1 -0
  90. package/dist/kernal/i18n/applyNamed.mjs +9 -0
  91. package/dist/kernal/i18n/textDirection.cjs +1 -0
  92. package/dist/kernal/i18n/textDirection.d.ts +6 -0
  93. package/dist/kernal/i18n/textDirection.mjs +7 -0
  94. package/dist/kernal/index.cjs +1 -1
  95. package/dist/kernal/index.d.ts +6 -5
  96. package/dist/kernal/index.mjs +50 -45
  97. package/dist/kernal/mark/IHighlighter.cjs +1 -0
  98. package/dist/kernal/mark/IHighlighter.d.ts +43 -0
  99. package/dist/kernal/mark/IHighlighter.mjs +13 -0
  100. package/dist/kernal/mark/Mark.cjs +1 -1
  101. package/dist/kernal/mark/Mark.d.ts +33 -4
  102. package/dist/kernal/mark/Mark.mjs +43 -6
  103. package/dist/kernal/mark/index.cjs +1 -1
  104. package/dist/kernal/mark/index.d.ts +2 -0
  105. package/dist/kernal/mark/index.mjs +6 -3
  106. package/dist/kernal/mark/overlay.cjs +1 -0
  107. package/dist/kernal/mark/overlay.d.ts +31 -0
  108. package/dist/kernal/mark/overlay.mjs +102 -0
  109. package/dist/kernal/mark/types.cjs +1 -0
  110. package/dist/kernal/mark/types.d.ts +11 -2
  111. package/dist/kernal/mark/types.mjs +4 -0
  112. package/dist/kernal/navigator/INavigator.d.ts +3 -2
  113. package/dist/kernal/network/HttpClient.cjs +1 -1
  114. package/dist/kernal/network/HttpClient.mjs +80 -56
  115. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  116. package/dist/kernal/pipelines/FileLoadPipeline.mjs +55 -56
  117. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  118. package/dist/kernal/pipelines/InputFormatter.mjs +43 -41
  119. package/dist/kernal/pipelines/metadata.cjs +1 -1
  120. package/dist/kernal/pipelines/metadata.d.ts +2 -1
  121. package/dist/kernal/pipelines/metadata.mjs +21 -30
  122. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
  123. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +7 -6
  124. package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
  125. package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +12 -11
  126. package/dist/kernal/progress/Progress.cjs +1 -1
  127. package/dist/kernal/progress/Progress.d.ts +5 -3
  128. package/dist/kernal/progress/Progress.mjs +2 -2
  129. package/dist/kernal/progress/userChangedProgress.cjs +1 -0
  130. package/dist/kernal/progress/userChangedProgress.d.ts +9 -0
  131. package/dist/kernal/progress/userChangedProgress.mjs +11 -0
  132. package/dist/kernal/screen/BrowserFullscreen.cjs +1 -0
  133. package/dist/kernal/screen/BrowserFullscreen.d.ts +9 -0
  134. package/dist/kernal/screen/BrowserFullscreen.mjs +47 -0
  135. package/dist/kernal/screen/IFullscreen.d.ts +6 -0
  136. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  137. package/dist/kernal/services/ServiceCollection.d.ts +4 -6
  138. package/dist/kernal/services/ServiceCollection.mjs +18 -9
  139. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
  140. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +4 -2
  141. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +31 -23
  142. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
  143. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +52 -51
  144. package/dist/kernal/services/fileUrlParser/IFileUrlParser.d.ts +0 -1
  145. package/dist/kernal/services/font/IFontProvider.cjs +1 -1
  146. package/dist/kernal/services/font/IFontProvider.d.ts +3 -0
  147. package/dist/kernal/services/font/IFontProvider.mjs +1 -1
  148. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
  149. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +8 -8
  150. package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
  151. package/dist/kernal/services/loading/DefaultLoading.d.ts +4 -0
  152. package/dist/kernal/services/loading/DefaultLoading.mjs +23 -24
  153. package/dist/kernal/services/text/splitter.cjs +1 -1
  154. package/dist/kernal/services/text/splitter.mjs +3 -3
  155. package/dist/kernal/types.d.ts +0 -5
  156. package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
  157. package/dist/kernal/web/BrowserCapabilities.d.ts +0 -9
  158. package/dist/kernal/web/BrowserCapabilities.mjs +0 -49
  159. package/dist/kernal/{Debounce.mjs → web/debounce.mjs} +1 -1
  160. package/dist/kernal/web/scheduler.cjs +1 -0
  161. package/dist/kernal/web/scheduler.d.ts +3 -0
  162. package/dist/kernal/web/scheduler.mjs +7 -0
  163. package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
  164. package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +59 -59
  165. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.cjs +1 -0
  166. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.d.ts +13 -0
  167. package/dist/mediaTypes/html/DefaultHtmlSymbolMeasure.mjs +109 -0
  168. package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
  169. package/dist/mediaTypes/html/HtmlOptions.d.ts +6 -12
  170. package/dist/mediaTypes/html/HtmlOptions.mjs +3 -14
  171. package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
  172. package/dist/mediaTypes/html/HtmlSettings.d.ts +16 -1
  173. package/dist/mediaTypes/html/HtmlSettings.mjs +46 -1
  174. package/dist/mediaTypes/html/IHtmlContentNormalizer.cjs +1 -0
  175. package/dist/mediaTypes/html/IHtmlContentNormalizer.d.ts +4 -0
  176. package/dist/mediaTypes/html/IHtmlContentNormalizer.mjs +4 -0
  177. package/dist/mediaTypes/html/IHtmlSymbolMeasure.d.ts +11 -0
  178. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.cjs +1 -0
  179. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.d.ts +5 -0
  180. package/dist/mediaTypes/html/NoopHtmlContentNormalizer.mjs +8 -0
  181. package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
  182. package/dist/mediaTypes/html/fileParser/HtmlFileParser.d.ts +5 -1
  183. package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +15 -18
  184. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
  185. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +25 -25
  186. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +1 -0
  187. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.d.ts +7 -3
  188. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +4 -0
  189. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  190. package/dist/mediaTypes/html/renderer/HtmlRenderer.d.ts +7 -1
  191. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +65 -41
  192. package/dist/mediaTypes/html/renderer/IHtmlDocument.d.ts +6 -2
  193. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.d.ts +5 -0
  194. package/dist/mediaTypes/html/renderer/IHtmlRenderer.d.ts +3 -0
  195. package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
  196. package/dist/mediaTypes/html/renderer/document/HtmlDocument.d.ts +29 -6
  197. package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +233 -86
  198. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
  199. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.d.ts +8 -0
  200. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +41 -5
  201. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
  202. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.d.ts +2 -4
  203. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +22 -59
  204. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
  205. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.d.ts +3 -5
  206. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +7 -25
  207. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
  208. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.d.ts +0 -2
  209. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +18 -42
  210. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
  211. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.d.ts +2 -0
  212. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +17 -4
  213. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
  214. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.d.ts +16 -1
  215. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +128 -54
  216. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
  217. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +26 -3
  218. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +227 -101
  219. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
  220. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -0
  221. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +45 -25
  222. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.cjs +1 -0
  223. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.d.ts +6 -0
  224. package/dist/mediaTypes/html/renderer/documents/documentHiddenState.mjs +6 -0
  225. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.cjs +1 -0
  226. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.d.ts +2 -0
  227. package/dist/mediaTypes/html/renderer/documents/preloadNeighbors.mjs +13 -0
  228. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.cjs +1 -0
  229. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.d.ts +11 -0
  230. package/dist/mediaTypes/html/renderer/documents/wrapperVisibility.mjs +8 -0
  231. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
  232. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +62 -62
  233. package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
  234. package/dist/mediaTypes/html/renderer/html/template.d.ts +3 -1
  235. package/dist/mediaTypes/html/renderer/html/template.mjs +9 -9
  236. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
  237. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.d.ts +22 -12
  238. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +380 -270
  239. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
  240. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +27 -27
  241. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.d.ts +8 -0
  242. package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -1
  243. package/dist/mediaTypes/html/renderer/image/error-image.mjs +1 -1
  244. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.cjs +1 -0
  245. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.d.ts +10 -0
  246. package/dist/mediaTypes/html/renderer/image/htmlImageFitStyles.mjs +15 -0
  247. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.cjs +1 -0
  248. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.d.ts +2 -0
  249. package/dist/mediaTypes/html/renderer/image/htmlImagePlaceholderUrl.mjs +12 -0
  250. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
  251. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.d.ts +6 -10
  252. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +71 -62
  253. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
  254. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.d.ts +4 -1
  255. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +113 -68
  256. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.d.ts +8 -3
  257. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
  258. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.d.ts +5 -1
  259. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +15 -3
  260. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.cjs +1 -0
  261. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.d.ts +8 -0
  262. package/dist/mediaTypes/html/renderer/layout/applyLayoutClasses.mjs +28 -0
  263. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.cjs +30 -0
  264. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-ltr.mjs +4 -0
  265. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.cjs +31 -0
  266. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-horizontal-tb-rtl.mjs +4 -0
  267. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.cjs +30 -0
  268. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-ltr.mjs +4 -0
  269. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.cjs +30 -0
  270. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-lr-rtl.mjs +4 -0
  271. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.cjs +30 -0
  272. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-ltr.mjs +4 -0
  273. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.cjs +30 -0
  274. package/dist/mediaTypes/html/renderer/layout/css/document-content-page-vertical-rl-rtl.mjs +4 -0
  275. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.cjs +6 -0
  276. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-horizontal-tb-rtl.mjs +4 -0
  277. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.cjs +10 -0
  278. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-ltr.mjs +4 -0
  279. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.cjs +10 -0
  280. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-lr-rtl.mjs +4 -0
  281. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.cjs +10 -0
  282. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-ltr.mjs +4 -0
  283. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.cjs +10 -0
  284. package/dist/mediaTypes/html/renderer/layout/css/document-content-scroll-vertical-rl-rtl.mjs +4 -0
  285. package/dist/mediaTypes/html/renderer/layout/css/document-default.cjs +19 -0
  286. package/dist/mediaTypes/html/renderer/layout/css/document-default.mjs +4 -0
  287. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.cjs +3 -0
  288. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.d.ts +2 -0
  289. package/dist/mediaTypes/html/renderer/layout/css/hostLayoutCss.mjs +56 -0
  290. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.cjs +64 -0
  291. package/dist/mediaTypes/html/renderer/layout/css/renderer-default.mjs +4 -0
  292. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.cjs +33 -0
  293. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-ltr.mjs +4 -0
  294. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.cjs +33 -0
  295. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-horizontal-tb-rtl.mjs +4 -0
  296. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.cjs +47 -0
  297. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-ltr.mjs +4 -0
  298. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.cjs +47 -0
  299. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-lr-rtl.mjs +4 -0
  300. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.cjs +46 -0
  301. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-ltr.mjs +4 -0
  302. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.cjs +46 -0
  303. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-page-vertical-rl-rtl.mjs +4 -0
  304. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.cjs +7 -0
  305. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-horizontal-tb-rtl.mjs +4 -0
  306. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.cjs +28 -0
  307. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-ltr.mjs +4 -0
  308. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.cjs +28 -0
  309. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-lr-rtl.mjs +4 -0
  310. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.cjs +28 -0
  311. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-ltr.mjs +4 -0
  312. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.cjs +28 -0
  313. package/dist/mediaTypes/html/renderer/layout/css/renderer-layout-scroll-vertical-rl-rtl.mjs +4 -0
  314. package/dist/mediaTypes/html/renderer/layout/css/root-direction.cjs +8 -0
  315. package/dist/mediaTypes/html/renderer/layout/css/root-direction.mjs +4 -0
  316. package/dist/mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.d.ts +128 -0
  317. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.cjs +1 -0
  318. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.d.ts +4 -0
  319. package/dist/mediaTypes/html/renderer/layout/geometry/formatTranslate3d.mjs +7 -0
  320. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.cjs +1 -0
  321. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.d.ts +1 -0
  322. package/dist/mediaTypes/html/renderer/layout/geometry/getLayoutOffsetLeft.mjs +13 -0
  323. package/dist/mediaTypes/html/renderer/layout/geometry/index.cjs +1 -0
  324. package/dist/mediaTypes/html/renderer/layout/geometry/index.d.ts +18 -0
  325. package/dist/mediaTypes/html/renderer/layout/geometry/index.mjs +30 -0
  326. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.cjs +1 -0
  327. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.d.ts +3 -0
  328. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbLtr.mjs +71 -0
  329. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.cjs +1 -0
  330. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.d.ts +3 -0
  331. package/dist/mediaTypes/html/renderer/layout/geometry/pageHorizontalTbRtl.mjs +74 -0
  332. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.cjs +1 -0
  333. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.d.ts +3 -0
  334. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrLtr.mjs +71 -0
  335. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.cjs +1 -0
  336. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.d.ts +3 -0
  337. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalLrRtl.mjs +71 -0
  338. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.cjs +1 -0
  339. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.d.ts +3 -0
  340. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlLtr.mjs +71 -0
  341. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.cjs +1 -0
  342. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.d.ts +3 -0
  343. package/dist/mediaTypes/html/renderer/layout/geometry/pageVerticalRlRtl.mjs +71 -0
  344. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.cjs +1 -0
  345. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.d.ts +41 -0
  346. package/dist/mediaTypes/html/renderer/layout/geometry/restoreLayoutState.mjs +53 -0
  347. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.cjs +1 -0
  348. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.d.ts +3 -0
  349. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbLtr.mjs +71 -0
  350. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.cjs +1 -0
  351. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.d.ts +3 -0
  352. package/dist/mediaTypes/html/renderer/layout/geometry/scrollHorizontalTbRtl.mjs +74 -0
  353. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.cjs +1 -0
  354. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.d.ts +3 -0
  355. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrLtr.mjs +71 -0
  356. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.cjs +1 -0
  357. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.d.ts +3 -0
  358. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalLrRtl.mjs +71 -0
  359. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.cjs +1 -0
  360. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.d.ts +3 -0
  361. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlLtr.mjs +74 -0
  362. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.cjs +1 -0
  363. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.d.ts +3 -0
  364. package/dist/mediaTypes/html/renderer/layout/geometry/scrollVerticalRlRtl.mjs +74 -0
  365. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.cjs +1 -0
  366. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.d.ts +10 -0
  367. package/dist/mediaTypes/html/renderer/layout/layoutRouteIds.mjs +17 -0
  368. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.cjs +1 -0
  369. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.d.ts +6 -0
  370. package/dist/mediaTypes/html/renderer/layout/pageStripRouteChange.mjs +24 -0
  371. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.cjs +1 -0
  372. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.d.ts +9 -0
  373. package/dist/mediaTypes/html/renderer/layout/resolveContentWrapperMinWidth.mjs +4 -0
  374. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.cjs +1 -0
  375. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.d.ts +11 -0
  376. package/dist/mediaTypes/html/renderer/layout/resolveLayoutRoute.mjs +9 -0
  377. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
  378. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +32 -34
  379. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.cjs +1 -0
  380. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.d.ts +23 -0
  381. package/dist/mediaTypes/html/renderer/location/HtmlLayoutStatePreserver.mjs +164 -0
  382. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.cjs +1 -0
  383. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.d.ts +4 -0
  384. package/dist/mediaTypes/html/renderer/location/remapStoredPageNumber.mjs +13 -0
  385. package/dist/mediaTypes/html/renderer/location/scrollActivity.cjs +1 -0
  386. package/dist/mediaTypes/html/renderer/location/scrollActivity.d.ts +14 -0
  387. package/dist/mediaTypes/html/renderer/location/scrollActivity.mjs +18 -0
  388. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
  389. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +2 -2
  390. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
  391. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +3 -3
  392. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
  393. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +55 -59
  394. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
  395. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.d.ts +1 -0
  396. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +40 -39
  397. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
  398. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.d.ts +2 -1
  399. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +36 -24
  400. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
  401. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.d.ts +4 -0
  402. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +19 -1
  403. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
  404. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.d.ts +3 -0
  405. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +9 -0
  406. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
  407. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.d.ts +3 -0
  408. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +28 -16
  409. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
  410. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.d.ts +2 -0
  411. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +39 -34
  412. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.cjs +0 -0
  413. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.d.ts +6 -0
  414. package/dist/mediaTypes/html/renderer/style/ILanguageHighlighter.mjs +0 -0
  415. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.cjs +1 -0
  416. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.d.ts +18 -0
  417. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.mjs +52 -0
  418. package/dist/mediaTypes/html/renderer/style/html-content.cjs +38 -7
  419. package/dist/mediaTypes/html/renderer/style/html-content.mjs +1 -1
  420. package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
  421. package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +6 -13
  422. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  423. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.d.ts +5 -4
  424. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +7 -3
  425. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  426. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.d.ts +4 -4
  427. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +24 -14
  428. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.cjs +1 -0
  429. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.d.ts +6 -0
  430. package/dist/mediaTypes/pdf/highlighter/PdfHighlightConstants.mjs +4 -0
  431. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.cjs +1 -0
  432. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.d.ts +10 -0
  433. package/dist/mediaTypes/pdf/highlighter/pdfHighlightStyles.mjs +33 -0
  434. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  435. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +18 -19
  436. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.d.ts +2 -0
  437. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +1 -1
  438. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  439. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +2 -2
  440. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  441. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.d.ts +0 -1
  442. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +0 -3
  443. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  444. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +3 -3
  445. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  446. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +3 -3
  447. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  448. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.d.ts +3 -3
  449. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +20 -19
  450. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  451. package/dist/mediaTypes/pdf/renderer/PdfRenderer.d.ts +1 -0
  452. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +20 -20
  453. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  454. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +51 -50
  455. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  456. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +55 -56
  457. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.cjs +1 -0
  458. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.d.ts +3 -0
  459. package/dist/mediaTypes/pdf/renderer/documents/resolvePdfLocationPageNumber.mjs +12 -0
  460. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  461. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.d.ts +4 -0
  462. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +24 -5
  463. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  464. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +32 -32
  465. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  466. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +1 -1
  467. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  468. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +5 -5
  469. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +2 -2
  470. package/dist/mediaTypes/pdf/shared/text/pageText.d.ts +14 -0
  471. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +139 -47
  472. package/dist/node_modules/highlight.js/styles/github-dark.cjs +118 -0
  473. package/dist/node_modules/highlight.js/styles/github-dark.mjs +4 -0
  474. package/dist/node_modules/highlight.js/styles/github.cjs +118 -0
  475. package/dist/node_modules/highlight.js/styles/github.mjs +4 -0
  476. package/dist/pdfjs/package.json +1 -0
  477. package/package.json +11 -5
  478. package/dist/kernal/device/IEnvironment.d.ts +0 -5
  479. package/dist/kernal/device/IPlatform.d.ts +0 -7
  480. package/dist/kernal/device/WebEnvironment.cjs +0 -1
  481. package/dist/kernal/device/WebEnvironment.d.ts +0 -7
  482. package/dist/kernal/device/WebEnvironment.mjs +0 -22
  483. package/dist/kernal/device/WebPlatform.cjs +0 -1
  484. package/dist/kernal/device/WebPlatform.d.ts +0 -12
  485. package/dist/kernal/device/WebPlatform.mjs +0 -49
  486. package/dist/kernal/progress/IReadingProgressStore.d.ts +0 -7
  487. package/dist/kernal/progress/ReadingProgressStore.cjs +0 -1
  488. package/dist/kernal/progress/ReadingProgressStore.d.ts +0 -12
  489. package/dist/kernal/progress/ReadingProgressStore.mjs +0 -17
  490. package/dist/kernal/storage/IStorage.cjs +0 -1
  491. package/dist/kernal/storage/IStorage.d.ts +0 -21
  492. package/dist/kernal/storage/IStorage.mjs +0 -4
  493. package/dist/kernal/storage/WebStorage.cjs +0 -1
  494. package/dist/kernal/storage/WebStorage.d.ts +0 -31
  495. package/dist/kernal/storage/WebStorage.mjs +0 -165
  496. package/dist/mediaTypes/adjacent.cjs +0 -1
  497. package/dist/mediaTypes/adjacent.d.ts +0 -5
  498. package/dist/mediaTypes/adjacent.mjs +0 -42
  499. package/dist/mediaTypes/html/renderer/image/placeholder.cjs +0 -1
  500. package/dist/mediaTypes/html/renderer/image/placeholder.mjs +0 -4
  501. /package/dist/kernal/{device/IEnvironment.cjs → screen/IFullscreen.cjs} +0 -0
  502. /package/dist/kernal/{device/IEnvironment.mjs → screen/IFullscreen.mjs} +0 -0
  503. /package/dist/kernal/{Debounce.cjs → web/debounce.cjs} +0 -0
  504. /package/dist/kernal/{Debounce.d.ts → web/debounce.d.ts} +0 -0
  505. /package/dist/{kernal/device/IPlatform.cjs → mediaTypes/html/IHtmlSymbolMeasure.cjs} +0 -0
  506. /package/dist/{kernal/device/IPlatform.mjs → mediaTypes/html/IHtmlSymbolMeasure.mjs} +0 -0
  507. /package/dist/{kernal/progress/IReadingProgressStore.cjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.cjs} +0 -0
  508. /package/dist/{kernal/progress/IReadingProgressStore.mjs → mediaTypes/html/renderer/layout/geometry/ILayoutGeometry.mjs} +0 -0
@@ -1,53 +1,54 @@
1
+ import { isDomDocument as e } from "./realm.mjs";
1
2
  //#region kernal/html/events.ts
2
- var e = (e, t, n, r) => {
3
- let i = function(i) {
4
- if (r && r(i), t) {
5
- if (c) return;
6
- c = window.requestAnimationFrame(() => {
7
- c = null;
8
- let t = 0, r = 0;
9
- e instanceof Document ? (t = e.documentElement.scrollLeft, r = e.documentElement.scrollTop) : (t = e.scrollLeft, r = e.scrollTop);
10
- let a = s.lastX;
11
- t !== a && (s.right = t > a), s.lastX = t;
12
- let o = s.lastY;
13
- r !== o && (s.down = r > o), s.lastY = r, n(s, i);
3
+ var t = (t, n, r, i) => {
4
+ let a = function(a) {
5
+ if (i && i(a), n) {
6
+ if (l) return;
7
+ l = window.requestAnimationFrame(() => {
8
+ l = null;
9
+ let n = 0, i = 0;
10
+ e(t) ? (n = t.documentElement.scrollLeft, i = t.documentElement.scrollTop) : (n = t.scrollLeft, i = t.scrollTop);
11
+ let o = c.lastX;
12
+ n !== o && (c.right = n > o), c.lastX = n;
13
+ let s = c.lastY;
14
+ i !== s && (c.down = i > s), c.lastY = i, r(c, a);
14
15
  });
15
16
  }
16
- }, a = 0, o = 0;
17
- t && (e instanceof Document ? (a = e.documentElement.scrollLeft, o = e.documentElement.scrollTop) : (a = e.scrollLeft, o = e.scrollTop));
18
- let s = {
17
+ }, o = 0, s = 0;
18
+ n && (e(t) ? (o = t.documentElement.scrollLeft, s = t.documentElement.scrollTop) : (o = t.scrollLeft, s = t.scrollTop));
19
+ let c = {
19
20
  right: !0,
20
21
  down: !0,
21
- lastX: a,
22
- lastY: o,
23
- _eventHandler: i
24
- }, c = null;
25
- return e.addEventListener("scroll", i, !0), s;
26
- }, t = (e) => {
27
- let n = e.getElementsByTagName("iframe");
28
- for (let e = 0; e < n.length; e++) {
29
- let r = n.item(e);
30
- r.style.setProperty("pointer-events", "none", "important"), r.contentDocument?.getElementsByTagName("iframe").length > 0 && t(r.contentDocument);
31
- }
22
+ lastX: o,
23
+ lastY: s,
24
+ _eventHandler: a
25
+ }, l = null;
26
+ return t.addEventListener("scroll", a, !0), c;
32
27
  }, n = (e) => {
33
28
  let t = e.getElementsByTagName("iframe");
34
29
  for (let e = 0; e < t.length; e++) {
35
30
  let r = t.item(e);
36
- r.style.removeProperty("pointer-events"), r.contentDocument?.getElementsByTagName("iframe").length > 0 && n(r.contentDocument);
31
+ r.style.setProperty("pointer-events", "none", "important"), r.contentDocument?.getElementsByTagName("iframe").length > 0 && n(r.contentDocument);
37
32
  }
38
33
  }, r = (e) => {
34
+ let t = e.getElementsByTagName("iframe");
35
+ for (let e = 0; e < t.length; e++) {
36
+ let n = t.item(e);
37
+ n.style.removeProperty("pointer-events"), n.contentDocument?.getElementsByTagName("iframe").length > 0 && r(n.contentDocument);
38
+ }
39
+ }, i = (e) => {
39
40
  e.addEventListener("dragenter", (e) => {
40
- e.preventDefault(), t(document);
41
+ e.preventDefault(), n(document);
41
42
  }, !0), e.addEventListener("drop", (e) => {
42
43
  e.preventDefault();
43
44
  }, !0), e.addEventListener("dragover", (e) => {
44
- e.preventDefault(), t(document);
45
- }, !0), e.addEventListener("dragleave", (e) => {
46
45
  e.preventDefault(), n(document);
46
+ }, !0), e.addEventListener("dragleave", (e) => {
47
+ e.preventDefault(), r(document);
47
48
  }, !0), e.addEventListener("dragend", (e) => {
48
- e.preventDefault(), n(document);
49
+ e.preventDefault(), r(document);
49
50
  }, !0);
50
- }, i = (e, t, r, i, a) => {
51
+ }, a = (e, t, n, i, a) => {
51
52
  let o = null;
52
53
  e.addEventListener("dragenter", (e) => {
53
54
  t(e) && (o = e.target, e.preventDefault(), e.stopImmediatePropagation(), i && i(e));
@@ -56,8 +57,8 @@ var e = (e, t, n, r) => {
56
57
  }), e.addEventListener("dragleave", (e) => {
57
58
  t(e) && (e.preventDefault(), e.stopImmediatePropagation(), a && e.target == o && a(e));
58
59
  }), e.addEventListener("drop", (e) => {
59
- t(e) && (e.preventDefault(), e.stopImmediatePropagation(), n(document), r(e.dataTransfer.files, e));
60
+ t(e) && (e.preventDefault(), e.stopImmediatePropagation(), r(document), n(e.dataTransfer.files, e));
60
61
  });
61
62
  };
62
63
  //#endregion
63
- export { r as disableDefaultDragEvents, i as startCaptureDragEvents, e as watchScroll };
64
+ export { i as disableDefaultDragEvents, a as startCaptureDragEvents, t as watchScroll };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../Constants.cjs"),t=require("../common/number.cjs");var n=(e,t)=>!e||!t?!1:e==t||e?.toLowerCase()==t?.toLowerCase(),r=e=>{let t=e.head;return t||=e.querySelector(`head`),t},i=e=>{if(!e)return null;let t=e.body;return t||=e.querySelector(`body`),t},a=(t,n)=>{let r=0;for(r=0;r<t.length;r++)if(t.item(r)==n)return r;for(r=0;r<t.length;r++){let i=t.item(r);if(i.tagName==n.tagName){let t=i.getAttribute(e.ElementInitialNumberName);if(t&&t==n.getAttribute(`data-initial-index`))return r}}return-1},o=e=>{let t=[];return t.push(e),e.hasChildNodes()&&e.childNodes.forEach(e=>{t.push(...o(e))}),t},s=(e,t,n)=>{if(t<0||t>=e.length||e[t]!==n||n.nodeType!=Node.ELEMENT_NODE&&n.nodeType!=Node.DOCUMENT_NODE)return t;let r=n,i=t;for(let n=t+1;n<e.length&&r.contains(e[n]);n++)i=n;return i},c=(e,t)=>e.nodeType==Node.ELEMENT_NODE||e.nodeType==Node.DOCUMENT_NODE?e.contains(t):!1,l=(o,s,c)=>{let l=o.ownerDocument?n(o.tagName,`BODY`)?`body`:`element`:`document`,u=o.ownerDocument??o,d=s.ownerDocument;if(!c||c==`similar`){let e=s.tagName;return a(u==d?o.getElementsByTagName(e):i(d).getElementsByTagName(e),s)}if(u!=d)return a(i(d).getElementsByTagName(`*`),s);{let c=t.parseNumber(s.getAttribute(e.ElementInitialNumberName),-1,`parseInt`);if(c>0){if(l==`body`){let i=o,a=t.parseNumber(i.getAttribute(e.ElementInitialNumberName),-1,`parseInt`),l=0;if(i.firstElementChild&&n(i.firstElementChild.tagName,`SVG`)&&t.parseNumber(i.firstElementChild.style?.width,0,`parseInt`)==0&&(l=i.firstElementChild.getElementsByTagName(`*`).length+1),a>0&&c>a){let e=u.getElementsByTagName(`*`),t=r(u).getElementsByTagName(`*`).length+1+1,n=c+l-a+(t-a),i=e.item(n);if(i&&i==s)return n}}else if(l==`document`){let a=i(u),o=0;a.firstElementChild&&n(a.firstElementChild.tagName,`SVG`)&&t.parseNumber(a.firstElementChild.style?.width,0,`parseInt`)==0&&(o=a.firstElementChild.getElementsByTagName(`*`).length+1);let l=u.getElementsByTagName(`*`),d=t.parseNumber(a.getAttribute(e.ElementInitialNumberName),-1,`parseInt`),f=r(u).getElementsByTagName(`*`).length+1+1,p=c+o+(f-d),m=l.item(p);if(m&&m==s)return p}}return a(o.getElementsByTagName(`*`),s)}},u=(e,t)=>!t||t.length==0?!1:t.indexOf(e.toLowerCase())>=0,d=(e,t,r)=>{if(!t)return null;if(n(t,`BODY`))return i(e.ownerDocument??e);let a=r??0,o=e.getElementsByTagName(t);return a>o.length-1&&(a=o.length-1),o[a]},f=(t,n)=>n>=0?t.querySelector(`[`+e.ElementInitialNumberName+`='`+n+`']`):null,p=(e,t,n,r)=>{let i=e.tagName==t&&n==0?e:d(e,t,n);return i.hasChildNodes()&&i.childNodes.length>r?i.childNodes[r]:i.childNodes[0]},m=(e,t)=>{for(let n=0;n<e.length;n++)if(e[n].hasChildNodes()){let r=m(e[n].childNodes,t);if(r.node)return r}else if(e[n].textContent.length>=t)return{node:e[n],offset:t};else t-=e[n].textContent.length;return{node:null,offset:t}},h=(e,t,n,r)=>{let i=e.tagName==t&&n==0?e:d(e,t,n),a=r;return i.hasChildNodes()?m(i.childNodes,a):{node:i,offset:r}},g=e=>{if(!e.hasChildNodes())return e;let t=e;for(;t.hasChildNodes();)t=t.lastChild;return t},_=(e,t,n)=>{let r=e.getElementsByTagName(t);return r.length==0&&n&&(r=e.getElementsByTagNameNS(`*`,t)),r};exports.checkIsOtherNonWhiteSpaceSymbol=u,exports.compareTagName=n,exports.findLastNode=g,exports.findLastPreorderIndexInSubtree=s,exports.getAllNodes=o,exports.getDocumentBody=i,exports.getDocumentHead=r,exports.getElementByElementNumber=f,exports.getElementByNameAndIndex=d,exports.getElementIndex=l,exports.getElementsByTagName=_,exports.getHtmlNode=p,exports.getHtmlNodeIndexAndOffset=h,exports.nodeContainsDescendant=c;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../Constants.cjs"),t=require("../common/number.cjs");var n=e=>{let t=e.parentElement;for(;t;){if(i(t.tagName,`MT`))return!0;t=t.parentElement}return!1},r=(e,t,r)=>{let a=Array.from(e.getElementsByTagName(t));return!r?.ignoreMtDescendants||i(t,`MT`)?a:a.filter(e=>!n(e))},i=(e,t)=>!e||!t?!1:e==t||e?.toLowerCase()==t?.toLowerCase(),a=e=>{let t=e.head;return t||=e.querySelector(`head`),t},o=e=>{if(!e)return null;let t=e.body;return t||=e.querySelector(`body`),t},s=(t,n)=>{let r=Array.from(t).filter(e=>!!e),i=r.indexOf(n);if(i>=0)return i;let a=n.getAttribute(e.ElementInitialNumberName);return a?r.findIndex(e=>e.tagName==n.tagName&&e.getAttribute(`data-initial-index`)==a):-1},c=e=>{let t=[],n=[e];for(;n.length>0;){let e=n.pop();if(t.push(e),e.hasChildNodes())for(let t=e.childNodes.length-1;t>=0;t--)n.push(e.childNodes[t])}return t},l=(e,t,n)=>{if(t<0||t>=e.length||e[t]!==n||n.nodeType!=Node.ELEMENT_NODE&&n.nodeType!=Node.DOCUMENT_NODE)return t;let r=n,i=t;for(let n=t+1;n<e.length&&r.contains(e[n]);n++)i=n;return i},u=(e,t)=>e.nodeType==Node.ELEMENT_NODE||e.nodeType==Node.DOCUMENT_NODE?e.contains(t):!1,d=(n,c,l,u)=>{let d=n.ownerDocument?i(n.tagName,`BODY`)?`body`:`element`:`document`,f=n.ownerDocument??n,p=c.ownerDocument;if(!l||l==`similar`){let e=c.tagName;return s(r(f==p?n:o(p),e,u),c)}if(f!=p)return s(o(p).getElementsByTagName(`*`),c);{let r=t.parseNumber(c.getAttribute(e.ElementInitialNumberName),-1,`parseInt`);if(r>0){if(d==`body`){let o=n,s=t.parseNumber(o.getAttribute(e.ElementInitialNumberName),-1,`parseInt`),l=0;if(o.firstElementChild&&i(o.firstElementChild.tagName,`SVG`)&&t.parseNumber(o.firstElementChild.style?.width,0,`parseInt`)==0&&(l=o.firstElementChild.getElementsByTagName(`*`).length+1),s>0&&r>s){let e=f.getElementsByTagName(`*`),t=a(f).getElementsByTagName(`*`).length+1+1,n=r+l-s+(t-s),i=e.item(n);if(i&&i==c)return n}}else if(d==`document`){let n=o(f),s=0;n.firstElementChild&&i(n.firstElementChild.tagName,`SVG`)&&t.parseNumber(n.firstElementChild.style?.width,0,`parseInt`)==0&&(s=n.firstElementChild.getElementsByTagName(`*`).length+1);let l=f.getElementsByTagName(`*`),u=t.parseNumber(n.getAttribute(e.ElementInitialNumberName),-1,`parseInt`),d=a(f).getElementsByTagName(`*`).length+1+1,p=r+s+(d-u),m=l.item(p);if(m&&m==c)return p}}return s(n.getElementsByTagName(`*`),c)}},f=(e,t)=>!t||t.length==0?!1:t.indexOf(e.toLowerCase())>=0,p=(e,t,n,a)=>{if(!t)return null;if(i(t,`BODY`))return o(e.ownerDocument??e);let s=n??0,c=r(e,t,a);if(c.length===0||s<0)return null;if(s>c.length-1){if(a?.ignoreMtDescendants)return null;s=c.length-1}return c[s]??null},m=(t,n)=>n>=0?t.querySelector(`[`+e.ElementInitialNumberName+`='`+n+`']`):null,h=(e,t,n,r)=>{let i=e.tagName==t&&n==0?e:p(e,t,n);return i.hasChildNodes()&&i.childNodes.length>r?i.childNodes[r]:i.childNodes[0]},g=(e,t)=>{for(let n=0;n<e.length;n++)if(e[n].hasChildNodes()){let r=g(e[n].childNodes,t);if(r.node)return r}else if(e[n].textContent.length>=t)return{node:e[n],offset:t};else t-=e[n].textContent.length;return{node:null,offset:t}},_=(e,t,n,r)=>{let i=e.tagName==t&&n==0?e:p(e,t,n),a=r;return i.hasChildNodes()?g(i.childNodes,a):{node:i,offset:r}},v=e=>{if(!e.hasChildNodes())return e;let t=e;for(;t.hasChildNodes();)t=t.lastChild;return t},y=(e,t,n)=>{let r=e.getElementsByTagName(t);return r.length==0&&n&&(r=e.getElementsByTagNameNS(`*`,t)),r};exports.checkIsOtherNonWhiteSpaceSymbol=f,exports.compareTagName=i,exports.findLastNode=v,exports.findLastPreorderIndexInSubtree=l,exports.getAllNodes=c,exports.getDocumentBody=o,exports.getDocumentHead=a,exports.getElementByElementNumber=m,exports.getElementByNameAndIndex=p,exports.getElementIndex=d,exports.getElementsByTagName=y,exports.getHtmlNode=h,exports.getHtmlNodeIndexAndOffset=_,exports.hasMtAncestor=n,exports.nodeContainsDescendant=u;
@@ -1,14 +1,18 @@
1
1
  import { ElementRangeType } from './types';
2
2
 
3
+ export type ElementLookupOptions = {
4
+ ignoreMtDescendants?: boolean;
5
+ };
6
+ export declare const hasMtAncestor: (el: Element) => boolean;
3
7
  export declare const compareTagName: (sourceTagName: string, targetTagName: string) => boolean;
4
8
  export declare const getDocumentHead: (ownerDocument: Document) => HTMLHeadElement;
5
9
  export declare const getDocumentBody: (ownerDocument: Document) => HTMLElement;
6
10
  export declare const getAllNodes: (node: Node) => Node[];
7
11
  export declare const findLastPreorderIndexInSubtree: (nodes: Node[], rootIndex: number, root: Node) => number;
8
12
  export declare const nodeContainsDescendant: (ancestor: Node, descendant: Node) => boolean;
9
- export declare const getElementIndex: (rootElement: Document | Element, element: Element, range?: ElementRangeType) => number;
13
+ export declare const getElementIndex: (rootElement: Document | Element, element: Element, range?: ElementRangeType, options?: ElementLookupOptions) => number;
10
14
  export declare const checkIsOtherNonWhiteSpaceSymbol: (elementName: string, nonWhiteSpaceSymbolTagNames?: string[]) => boolean;
11
- export declare const getElementByNameAndIndex: (rootElement: Document | Element, tagName: string, tagIndex: number) => Element;
15
+ export declare const getElementByNameAndIndex: (rootElement: Document | Element, tagName: string, tagIndex: number, options?: ElementLookupOptions) => Element;
12
16
  export declare const getElementByElementNumber: (rootElement: Document | Element, elementNumber: number) => Element;
13
17
  export declare const getHtmlNode: (rootElement: Element, tagName: string, tagIndex: number, nodeIndex: number) => ChildNode;
14
18
  export declare const getHtmlNodeIndexAndOffset: (rootElement: Element, tagName: string, tagIndex: number, tagTextOffset: number) => {
@@ -1,70 +1,81 @@
1
1
  import { ElementInitialNumberName as e } from "../Constants.mjs";
2
2
  import { parseNumber as t } from "../common/number.mjs";
3
3
  //#region kernal/html/finder.ts
4
- var n = (e, t) => !e || !t ? !1 : e == t || e?.toLowerCase() == t?.toLowerCase(), r = (e) => {
4
+ var n = (e) => {
5
+ let t = e.parentElement;
6
+ for (; t;) {
7
+ if (i(t.tagName, "MT")) return !0;
8
+ t = t.parentElement;
9
+ }
10
+ return !1;
11
+ }, r = (e, t, r) => {
12
+ let a = Array.from(e.getElementsByTagName(t));
13
+ return !r?.ignoreMtDescendants || i(t, "MT") ? a : a.filter((e) => !n(e));
14
+ }, i = (e, t) => !e || !t ? !1 : e == t || e?.toLowerCase() == t?.toLowerCase(), a = (e) => {
5
15
  let t = e.head;
6
16
  return t ||= e.querySelector("head"), t;
7
- }, i = (e) => {
17
+ }, o = (e) => {
8
18
  if (!e) return null;
9
19
  let t = e.body;
10
20
  return t ||= e.querySelector("body"), t;
11
- }, a = (t, n) => {
12
- let r = 0;
13
- for (r = 0; r < t.length; r++) if (t.item(r) == n) return r;
14
- for (r = 0; r < t.length; r++) {
15
- let i = t.item(r);
16
- if (i.tagName == n.tagName) {
17
- let t = i.getAttribute(e);
18
- if (t && t == n.getAttribute("data-initial-index")) return r;
19
- }
21
+ }, s = (t, n) => {
22
+ let r = Array.from(t).filter((e) => !!e), i = r.indexOf(n);
23
+ if (i >= 0) return i;
24
+ let a = n.getAttribute(e);
25
+ return a ? r.findIndex((e) => e.tagName == n.tagName && e.getAttribute("data-initial-index") == a) : -1;
26
+ }, c = (e) => {
27
+ let t = [], n = [e];
28
+ for (; n.length > 0;) {
29
+ let e = n.pop();
30
+ if (t.push(e), e.hasChildNodes()) for (let t = e.childNodes.length - 1; t >= 0; t--) n.push(e.childNodes[t]);
20
31
  }
21
- return -1;
22
- }, o = (e) => {
23
- let t = [];
24
- return t.push(e), e.hasChildNodes() && e.childNodes.forEach((e) => {
25
- t.push(...o(e));
26
- }), t;
27
- }, s = (e, t, n) => {
32
+ return t;
33
+ }, l = (e, t, n) => {
28
34
  if (t < 0 || t >= e.length || e[t] !== n || n.nodeType != Node.ELEMENT_NODE && n.nodeType != Node.DOCUMENT_NODE) return t;
29
35
  let r = n, i = t;
30
36
  for (let n = t + 1; n < e.length && r.contains(e[n]); n++) i = n;
31
37
  return i;
32
- }, c = (e, t) => e.nodeType == Node.ELEMENT_NODE || e.nodeType == Node.DOCUMENT_NODE ? e.contains(t) : !1, l = (o, s, c) => {
33
- let l = o.ownerDocument ? n(o.tagName, "BODY") ? "body" : "element" : "document", u = o.ownerDocument ?? o, d = s.ownerDocument;
34
- if (!c || c == "similar") {
35
- let e = s.tagName;
36
- return a(u == d ? o.getElementsByTagName(e) : i(d).getElementsByTagName(e), s);
38
+ }, u = (e, t) => e.nodeType == Node.ELEMENT_NODE || e.nodeType == Node.DOCUMENT_NODE ? e.contains(t) : !1, d = (n, c, l, u) => {
39
+ let d = n.ownerDocument ? i(n.tagName, "BODY") ? "body" : "element" : "document", f = n.ownerDocument ?? n, p = c.ownerDocument;
40
+ if (!l || l == "similar") {
41
+ let e = c.tagName;
42
+ return s(r(f == p ? n : o(p), e, u), c);
37
43
  }
38
- if (u != d) return a(i(d).getElementsByTagName("*"), s);
44
+ if (f != p) return s(o(p).getElementsByTagName("*"), c);
39
45
  {
40
- let c = t(s.getAttribute(e), -1, "parseInt");
41
- if (c > 0) {
42
- if (l == "body") {
43
- let i = o, a = t(i.getAttribute(e), -1, "parseInt"), l = 0;
44
- if (i.firstElementChild && n(i.firstElementChild.tagName, "SVG") && t(i.firstElementChild.style?.width, 0, "parseInt") == 0 && (l = i.firstElementChild.getElementsByTagName("*").length + 1), a > 0 && c > a) {
45
- let e = u.getElementsByTagName("*"), t = r(u).getElementsByTagName("*").length + 1 + 1, n = c + l - a + (t - a), i = e.item(n);
46
- if (i && i == s) return n;
46
+ let r = t(c.getAttribute(e), -1, "parseInt");
47
+ if (r > 0) {
48
+ if (d == "body") {
49
+ let o = n, s = t(o.getAttribute(e), -1, "parseInt"), l = 0;
50
+ if (o.firstElementChild && i(o.firstElementChild.tagName, "SVG") && t(o.firstElementChild.style?.width, 0, "parseInt") == 0 && (l = o.firstElementChild.getElementsByTagName("*").length + 1), s > 0 && r > s) {
51
+ let e = f.getElementsByTagName("*"), t = a(f).getElementsByTagName("*").length + 1 + 1, n = r + l - s + (t - s), i = e.item(n);
52
+ if (i && i == c) return n;
47
53
  }
48
- } else if (l == "document") {
49
- let a = i(u), o = 0;
50
- a.firstElementChild && n(a.firstElementChild.tagName, "SVG") && t(a.firstElementChild.style?.width, 0, "parseInt") == 0 && (o = a.firstElementChild.getElementsByTagName("*").length + 1);
51
- let l = u.getElementsByTagName("*"), d = t(a.getAttribute(e), -1, "parseInt"), f = r(u).getElementsByTagName("*").length + 1 + 1, p = c + o + (f - d), m = l.item(p);
52
- if (m && m == s) return p;
54
+ } else if (d == "document") {
55
+ let n = o(f), s = 0;
56
+ n.firstElementChild && i(n.firstElementChild.tagName, "SVG") && t(n.firstElementChild.style?.width, 0, "parseInt") == 0 && (s = n.firstElementChild.getElementsByTagName("*").length + 1);
57
+ let l = f.getElementsByTagName("*"), u = t(n.getAttribute(e), -1, "parseInt"), d = a(f).getElementsByTagName("*").length + 1 + 1, p = r + s + (d - u), m = l.item(p);
58
+ if (m && m == c) return p;
53
59
  }
54
60
  }
55
- return a(o.getElementsByTagName("*"), s);
61
+ return s(n.getElementsByTagName("*"), c);
56
62
  }
57
- }, u = (e, t) => !t || t.length == 0 ? !1 : t.indexOf(e.toLowerCase()) >= 0, d = (e, t, r) => {
63
+ }, f = (e, t) => !t || t.length == 0 ? !1 : t.indexOf(e.toLowerCase()) >= 0, p = (e, t, n, a) => {
58
64
  if (!t) return null;
59
- if (n(t, "BODY")) return i(e.ownerDocument ?? e);
60
- let a = r ?? 0, o = e.getElementsByTagName(t);
61
- return a > o.length - 1 && (a = o.length - 1), o[a];
62
- }, f = (t, n) => n >= 0 ? t.querySelector("[" + e + "='" + n + "']") : null, p = (e, t, n, r) => {
63
- let i = e.tagName == t && n == 0 ? e : d(e, t, n);
65
+ if (i(t, "BODY")) return o(e.ownerDocument ?? e);
66
+ let s = n ?? 0, c = r(e, t, a);
67
+ if (c.length === 0 || s < 0) return null;
68
+ if (s > c.length - 1) {
69
+ if (a?.ignoreMtDescendants) return null;
70
+ s = c.length - 1;
71
+ }
72
+ return c[s] ?? null;
73
+ }, m = (t, n) => n >= 0 ? t.querySelector("[" + e + "='" + n + "']") : null, h = (e, t, n, r) => {
74
+ let i = e.tagName == t && n == 0 ? e : p(e, t, n);
64
75
  return i.hasChildNodes() && i.childNodes.length > r ? i.childNodes[r] : i.childNodes[0];
65
- }, m = (e, t) => {
76
+ }, g = (e, t) => {
66
77
  for (let n = 0; n < e.length; n++) if (e[n].hasChildNodes()) {
67
- let r = m(e[n].childNodes, t);
78
+ let r = g(e[n].childNodes, t);
68
79
  if (r.node) return r;
69
80
  } else if (e[n].textContent.length >= t) return {
70
81
  node: e[n],
@@ -75,20 +86,20 @@ var n = (e, t) => !e || !t ? !1 : e == t || e?.toLowerCase() == t?.toLowerCase()
75
86
  node: null,
76
87
  offset: t
77
88
  };
78
- }, h = (e, t, n, r) => {
79
- let i = e.tagName == t && n == 0 ? e : d(e, t, n), a = r;
80
- return i.hasChildNodes() ? m(i.childNodes, a) : {
89
+ }, _ = (e, t, n, r) => {
90
+ let i = e.tagName == t && n == 0 ? e : p(e, t, n), a = r;
91
+ return i.hasChildNodes() ? g(i.childNodes, a) : {
81
92
  node: i,
82
93
  offset: r
83
94
  };
84
- }, g = (e) => {
95
+ }, v = (e) => {
85
96
  if (!e.hasChildNodes()) return e;
86
97
  let t = e;
87
98
  for (; t.hasChildNodes();) t = t.lastChild;
88
99
  return t;
89
- }, _ = (e, t, n) => {
100
+ }, y = (e, t, n) => {
90
101
  let r = e.getElementsByTagName(t);
91
102
  return r.length == 0 && n && (r = e.getElementsByTagNameNS("*", t)), r;
92
103
  };
93
104
  //#endregion
94
- export { u as checkIsOtherNonWhiteSpaceSymbol, n as compareTagName, g as findLastNode, s as findLastPreorderIndexInSubtree, o as getAllNodes, i as getDocumentBody, r as getDocumentHead, f as getElementByElementNumber, d as getElementByNameAndIndex, l as getElementIndex, _ as getElementsByTagName, p as getHtmlNode, h as getHtmlNodeIndexAndOffset, c as nodeContainsDescendant };
105
+ export { f as checkIsOtherNonWhiteSpaceSymbol, i as compareTagName, v as findLastNode, l as findLastPreorderIndexInSubtree, c as getAllNodes, o as getDocumentBody, a as getDocumentHead, m as getElementByElementNumber, p as getElementByNameAndIndex, d as getElementIndex, y as getElementsByTagName, h as getHtmlNode, _ as getHtmlNodeIndexAndOffset, n as hasMtAncestor, u as nodeContainsDescendant };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./finder.cjs");var t=t=>{let n,r,i,a=[],o,s,c;if(Array.isArray(t)){if(c=`elements`,o=t[0],s=t[t.length-1],n=o.ownerDocument,r=n.defaultView,t.length>1){let n=r.document.createRange();n.setStart(o,0);let s=t[t.length-1],c=e.findLastNode(s);c.nodeType==Node.TEXT_NODE?n.setEnd(c,c.textContent.length):n.setEnd(c,0);let l=n.getBoundingClientRect();i={left:l.left,top:l.top,width:l.width,height:l.height,right:l.right,bottom:l.bottom};for(let e of t){let t=e.getClientRects();a.push(...Array.from(t).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom})))}}else i=t[0].getBoundingClientRect(),a=Array.from(t[0].getClientRects()).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom}))}else Object.prototype.hasOwnProperty.call(t,`tagName`)||t.tagName?(c=`element`,o=t,s=o,n=o.ownerDocument,r=n.defaultView,i=t.getBoundingClientRect(),a=Array.from(t.getClientRects()).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom}))):(c=`range`,o=t.startContainer,s=t.endContainer,n=o.ownerDocument,r=n.defaultView,i=t.getBoundingClientRect(),a=Array.from(t.getClientRects()).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom})));return{firstBaseNode:o,lastBaseNode:s,baseWindow:r,baseDocument:n,baseBoundingRect:i,baseType:c,baseRects:a}},n={left:-1e5,top:-1e5,visible:!1},r=(e,t)=>{let n=e.left+e.width,r=e.top+e.height,i=t.left+t.width,a=t.top+t.height;return t.left>=e.left&&t.top>=e.top&&i<=n&&a<=r},i=(e,t)=>{let n=e.left+e.width,r=e.top+e.height,i=t.left+t.width,a=t.top+t.height,o=Math.max(e.left,t.left),s=Math.max(e.top,t.top),c=Math.min(n,i),l=Math.min(r,a),u=c-o,d=l-s;return u<=0||d<=0?null:{left:o,top:s,width:u,height:d}},a=e=>e.reduce((e,t)=>{let n=Math.min(e.left,t.left),r=Math.min(e.top,t.top),i=Math.max(e.left+e.width,t.left+t.width),a=Math.max(e.top+e.height,t.top+t.height);return{left:n,top:r,width:i-n,height:a-r}}),o=(e,n)=>{let{baseWindow:r,baseRects:i}=t(e),a=i.map(e=>({left:e.left,top:e.top,width:e.width,height:e.height}));for(;n!=r;){let e=r.frameElement,t=e?.ownerDocument?.defaultView;if(!t)break;r=t;let n=e.getBoundingClientRect();a.forEach(e=>{e.left+=n.left,e.top+=n.top})}return n==r?{normalizedRects:a,inSameWindow:!0}:{normalizedRects:[],inSameWindow:!1}},s=(e,t,n=!0)=>{let o=e.filter(e=>r(t,e));if(o.length>0)return a(o);if(!n)return null;let s=[];for(let n of e){let e=i(t,n);e&&(e.width*e.height<4||s.push({clipped:e,origArea:n.width*n.height}))}return s.length===0?null:(s.sort((e,t)=>{let n=e.clipped.width*e.clipped.height,r=t.clipped.width*t.clipped.height;return r===n?t.origArea-e.origArea:r-n}),s[0].clipped)},c=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),l=(e,t)=>t?{left:e.left+(t.left??0),top:e.top+(t.top??0),width:e.width-(t.left??0)-(t.right??0),height:e.height-(t.top??0)-(t.bottom??0)}:e,u=(e,t,n,r=`bottom`,i=5)=>{let a=n.getBoundingClientRect(),o=a.width,s=a.height,c=t.left+t.width,l=t.top+t.height,u=e.top+e.height-l,d=t.top-e.top,f=s+i,p=e.left,m=e.left+e.width;if(r===`right`){let e=c+i,n=m-o-i;e>n&&(e=n);let r=t.top+t.height/2-s/2;return{left:e,top:r,visible:!0}}let h=t.left+t.width/2-o/2,g;g=h<p+i?p+i:h+o>m-i?m-o-i:h;let _=r===`top`;if(u>=f&&d>=f){let e=_?t.top-s-i:l+i;return{left:g,top:e,visible:!0}}if(u>=f)return{left:g,top:l+i,visible:!0};if(d>=f)return{left:g,top:t.top-s-i,visible:!0};let v=t.top+t.height/2;return{left:g,top:v-s/2,visible:!0}},d=(e,t,r,i,a)=>{if(!r||!t)return n;let d=r.ownerDocument.defaultView,f=o(t,d);if(!f?.inSameWindow)return n;let p=l(c(e.getBoundingClientRect()),a),m=s(f.normalizedRects,p,!0);return m?u(p,m,r,i??`bottom`):n},f=(e,t,r,i)=>{if(!t)return n;let a=o(t,r);if(!a?.inSameWindow)return n;let u=a.normalizedRects,d=l(c(e.getBoundingClientRect()),i);(i?.left!=null||i?.right!=null||i?.top!=null||i?.bottom!=null)&&(u=u.map(e=>({left:e.left+(i?.left??0),top:e.top+(i?.top??0),width:e.width-(i?.left??0)-(i?.right??0),height:e.height-(i?.top??0)-(i?.bottom??0)})));let f=s(u,d,!1);return f?{left:f.left,top:f.top,visible:!0}:n},p=(e,t,n,r)=>{let i=r.innerWidth,a=r.innerHeight;if(e.left<0||Math.floor(e.right)>i){if(e.left>=0){let n=(t.nodeType==Node.ELEMENT_NODE?t.getClientRects():t.parentElement.getClientRects())[0],r=i-n.left,o=a-n.top;e={left:n.left,top:n.top,width:r,height:o,right:n.left+r,bottom:n.top+o}}else{let t=n.nodeType==Node.ELEMENT_NODE?n.getClientRects():n.parentElement.getClientRects(),r=t[t.length-1],o=Math.floor(e.width+e.left);if(o<i||o==i&&r.bottom<a){let n=r.right,i=r.left,a=r.top;for(let e=0;e<t.length;e++){if(t[e].left<0)continue;let r=t[e];n<r.width&&(n=r.width),i>r.left&&(i=r.left),a>r.top&&(a=r.top)}let o=n,s=r.bottom;e={left:i,top:a,width:o,height:s,right:i+o,bottom:a+s}}else e={left:0,top:0,width:i,height:a,right:i,bottom:a}}}return e},m=(e,r,i,a,o)=>{if(!i||!r)return n;let s={top:50,bottom:50},f=a??`bottom`;if(o==`page`){let{firstBaseNode:a,lastBaseNode:o,baseWindow:d,baseBoundingRect:m}=t(r),h=d.innerWidth,g=d.innerHeight,_=Math.round(m.left);if(m.right<0||_>h||m.bottom<0||m.top>g)return n;m=p(m,a,o,d);let v=m.left,y=m.top,b=i.ownerDocument.defaultView;for(;b!=d;){let e=d.frameElement,t=e?.ownerDocument?.defaultView;if(!t)break;d=t;let n=e.getBoundingClientRect();v+=n.left,y+=n.top}return b==d?u(l(c(e.getBoundingClientRect()),s),{left:v,top:y,width:m.width,height:m.height},i,f):n}return d(e,r,i,f,s)},h=(e,t)=>t.left>=e.left&&t.top>=e.top&&t.right<=e.right&&t.bottom<=e.bottom,g=(e,t)=>t.right>e.left&&t.left<e.right&&t.top<e.bottom&&t.bottom>e.top,_=e=>e==`vertical-lr`||e==`vertical-rl`,v=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),y=(e,t,n)=>_(n)?n==`vertical-rl`?e.left>=t.right||e.bottom<=t.top:e.right<=t.left||e.bottom<=t.top:e.bottom<=t.top||e.right<=t.left,b=(e,t,n)=>_(n)?n==`vertical-rl`?e.right<=t.left||e.top>=t.bottom:e.left>=t.right||e.top>=t.bottom:e.top>=t.bottom||e.left>=t.right,x=(e,t)=>{let n={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight},r=e.frameElement,i=r?.ownerDocument?.defaultView;if(r&&i){let e=r.getBoundingClientRect(),t={left:0,top:0,right:i.innerWidth,bottom:i.innerHeight},a=Math.max(e.left,t.left),o=Math.max(e.top,t.top),s=Math.min(e.right,t.right),c=Math.min(e.bottom,t.bottom);if(s<=a||c<=o)return null;n={left:a-e.left,top:o-e.top,right:s-e.left,bottom:c-e.top}}let a=n.left+(t?.leftInset??0),o=n.top+(t?.topInset??0),s=n.right-(t?.rightInset??0),c=n.bottom-(t?.bottomInset??0);return s<=a||c<=o?null:{left:a,top:o,right:s,bottom:c}},S=(e,t,n)=>{if(!e.length)return[];let r=n?.writingMode,i=n?.fullVisible??!1,a=n?.missStreakToStop??8,o=e=>i?h(t,e):g(t,e),s=0,c=e.length;for(;s<c;){let n=s+c>>1;y(v(e[n].getBoundingClientRect()),t,r)?s=n+1:c=n}let l=[],u=0,d=!1;for(let n=s;n<e.length;n++){let i=v(e[n].getBoundingClientRect());if(o(i)){l.push(e[n]),d=!0,u=0;continue}if(d&&b(i,t,r)&&(u++,u>=a))break}return l},C=(e,t,n)=>{if(e.caretRangeFromPoint)return e.caretRangeFromPoint(t,n);if(e.caretPositionFromPoint){let r=e.caretPositionFromPoint(t,n);if(r){let t=e.createRange();return t.setStart(r.offsetNode,r.offset),t.setEnd(r.offsetNode,r.offset),t}}return null},w=e=>{let t=e.getClientRects();if(t.length===0)return null;let n;for(let e=t.length-1;e>=0;e--)if(t[e].height>0){n=t[e];break}if(!n)return null;let r=e.startContainer.ownerDocument,i=C(r,n.left,n.top),a=C(r,n.right-1,n.bottom-1);if(!i||!a)return null;let o=r.createRange();return o.setStart(i.startContainer,i.startOffset),o.setEnd(a.startContainer,a.startOffset),o};exports.applyContainerInset=l,exports.calcToolbarPosition=m,exports.calcToolbarPositionFromRect=u,exports.calcToolbarPositionInContainer=d,exports.checkRangeOrElementIsVisible=f,exports.containsRect=h,exports.getBaseState=t,exports.getLastLineRangeFromElementRange=w,exports.getOrderedElementsIntersectingRect=S,exports.getRangeFromPoint=C,exports.hiddenToolbarPosition=n,exports.intersectRect=g,exports.intersectWithContainer=i,exports.normalizeBaseRectsInDisplayWindow=o,exports.recalculateRect=p,exports.resolveVisibleBaseRectInContainer=s,exports.resolveVisibleViewportInContentWindow=x,exports.toRect=c;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./finder.cjs"),t=require("./selection.cjs");var n=e=>!!e&&typeof e==`object`&&!(`tagName`in e)&&`commonAncestorContainer`in e,r=e=>{let t=e.getClientRects();for(let e=0;e<t.length;e++){let n=t[e];if(n.height>0||n.width>0)return n}return e.getBoundingClientRect()},i=e=>n(e)?r(e):e.getBoundingClientRect(),a=e=>{if(!n(e))return e;let t=e.startContainer;return t.nodeType===Node.ELEMENT_NODE?t:t.parentElement},o=t=>{let n,r,i,a=[],o,s,c;if(Array.isArray(t)){if(c=`elements`,o=t[0],s=t[t.length-1],n=o.ownerDocument,r=n.defaultView,t.length>1){let n=r.document.createRange();n.setStart(o,0);let s=t[t.length-1],c=e.findLastNode(s);c.nodeType==Node.TEXT_NODE?n.setEnd(c,c.textContent.length):n.setEnd(c,0);let l=n.getBoundingClientRect();i={left:l.left,top:l.top,width:l.width,height:l.height,right:l.right,bottom:l.bottom};for(let e of t){let t=e.getClientRects();a.push(...Array.from(t).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom})))}}else i=t[0].getBoundingClientRect(),a=Array.from(t[0].getClientRects()).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom}))}else Object.prototype.hasOwnProperty.call(t,`tagName`)||t.tagName?(c=`element`,o=t,s=o,n=o.ownerDocument,r=n.defaultView,i=t.getBoundingClientRect(),a=Array.from(t.getClientRects()).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom}))):(c=`range`,o=t.startContainer,s=t.endContainer,n=o.ownerDocument,r=n.defaultView,i=t.getBoundingClientRect(),a=Array.from(t.getClientRects()).map(e=>({left:e.left,top:e.top,width:e.width,height:e.height,right:e.right,bottom:e.bottom})));return{firstBaseNode:o,lastBaseNode:s,baseWindow:r,baseDocument:n,baseBoundingRect:i,baseType:c,baseRects:a}},s={left:-1e5,top:-1e5,visible:!1},c=(e,t)=>{let n=e.target?.ownerDocument;if(!n)return s;let r=n.defaultView,i=e.clientX,a=e.clientY,o=t.ownerDocument.defaultView;for(;o!=r;){let e=r?.frameElement,t=e?.ownerDocument?.defaultView;if(!t)break;r=t;let n=e.getBoundingClientRect();i+=n.left,a+=n.top}return o==r?{left:i,top:a,visible:!0}:s},l=(e,t)=>{let n=e.left+e.width,r=e.top+e.height,i=t.left+t.width,a=t.top+t.height;return t.left>=e.left&&t.top>=e.top&&i<=n&&a<=r},u=(e,t)=>{let n=e.left+e.width,r=e.top+e.height,i=t.left+t.width,a=t.top+t.height,o=Math.max(e.left,t.left),s=Math.max(e.top,t.top),c=Math.min(n,i),l=Math.min(r,a),u=c-o,d=l-s;return u<=0||d<=0?null:{left:o,top:s,width:u,height:d}},d=e=>e.reduce((e,t)=>{let n=Math.min(e.left,t.left),r=Math.min(e.top,t.top),i=Math.max(e.left+e.width,t.left+t.width),a=Math.max(e.top+e.height,t.top+t.height);return{left:n,top:r,width:i-n,height:a-r}}),f=(e,t)=>{let{baseWindow:n,baseRects:r}=o(e),i=r.map(e=>({left:e.left,top:e.top,width:e.width,height:e.height}));for(;t!=n;){let e=n?.frameElement,t=e?.ownerDocument?.defaultView;if(!t)break;n=t;let r=e.getBoundingClientRect();i.forEach(e=>{e.left+=r.left,e.top+=r.top})}return t==n?{normalizedRects:i,inSameWindow:!0}:{normalizedRects:[],inSameWindow:!1}},p=e=>e.width*e.height,m=e=>{let t=e[0],n=p(t);for(let r=1;r<e.length;r++){let i=p(e[r]);i>n&&(t=e[r],n=i)}return t},h=e=>{if(e.length===1)return e[0];let t=d(e),n=Math.max(...e.map(e=>e.width));return t.width>n*2+24?m(e):t},g=(e,t,n=!0)=>{let r=e.filter(e=>e.width>=1&&e.height>=1),i=r.filter(e=>l(t,e));if(i.length>0)return h(i);if(!n)return null;let a=[];for(let e of r){let n=u(t,e);n&&(n.width*n.height<4||a.push({clipped:n,origArea:e.width*e.height}))}return a.length===0?null:(a.sort((e,t)=>{let n=e.clipped.width*e.clipped.height,r=t.clipped.width*t.clipped.height;return r===n?t.origArea-e.origArea:r-n}),a[0].clipped)},_=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),v=(e,t)=>t?{left:e.left+(t.left??0),top:e.top+(t.top??0),width:e.width-(t.left??0)-(t.right??0),height:e.height-(t.top??0)-(t.bottom??0)}:e,y=(e,t,n)=>n<t?t:Math.min(Math.max(e,t),n),b=(e,t,n,r=`bottom`,i=5)=>{let a=n.getBoundingClientRect(),o=a.width,c=a.height;if(o<1||c<1)return s;let l=t.left+t.width,u=t.top+t.height,d=e.top+e.height,f=d-u,p=t.top-e.top,m=c+i,h=e.left,g=e.left+e.width,_=e.top,v=h+i,b=g-o-i,x=_+i,S=d-c-i;if(r===`right`)return{left:y(l+i,v,b),top:y(t.top+t.height/2-c/2,x,S),visible:!0};let C=y(t.left+t.width/2-o/2,v,b),w=r===`top`,T;return T=f>=m&&p>=m?w?t.top-c-i:u+i:f>=m?u+i:p>=m?t.top-c-i:t.top+t.height/2-c/2,{left:C,top:y(T,x,S),visible:!0}},x=(e,t,n,r,i)=>{if(!n||!t)return s;let a=n.ownerDocument.defaultView,o=f(t,a);if(!o?.inSameWindow)return s;let c=v(_(e.getBoundingClientRect()),i),l=g(o.normalizedRects,c,!0);return l?{...b(c,l,n,r??`bottom`),baseRect:l}:s},S=(e,t,n,r)=>{if(!t)return s;let i=f(t,n);if(!i?.inSameWindow)return s;let a=i.normalizedRects,o=v(_(e.getBoundingClientRect()),r);(r?.left!=null||r?.right!=null||r?.top!=null||r?.bottom!=null)&&(a=a.map(e=>({left:e.left+(r?.left??0),top:e.top+(r?.top??0),width:e.width-(r?.left??0)-(r?.right??0),height:e.height-(r?.top??0)-(r?.bottom??0)})));let c=g(a,o,!1);return c?{left:c.left,top:c.top,visible:!0}:s},C=(e,t,n,r)=>{let i=r.innerWidth,a=r.innerHeight;if(e.left<0||Math.floor(e.right)>i){if(e.left>=0){let n=(t.nodeType==Node.ELEMENT_NODE?t.getClientRects():t.parentElement.getClientRects())[0],r=i-n.left,o=a-n.top;e={left:n.left,top:n.top,width:r,height:o,right:n.left+r,bottom:n.top+o}}else{let t=n.nodeType==Node.ELEMENT_NODE?n.getClientRects():n.parentElement.getClientRects(),r=t[t.length-1],o=Math.floor(e.width+e.left);if(o<i||o==i&&r.bottom<a){let n=r.right,i=r.left,a=r.top;for(let e=0;e<t.length;e++){if(t[e].left<0)continue;let r=t[e];n<r.width&&(n=r.width),i>r.left&&(i=r.left),a>r.top&&(a=r.top)}let o=n,s=r.bottom;e={left:i,top:a,width:o,height:s,right:i+o,bottom:a+s}}else e={left:0,top:0,width:i,height:a,right:i,bottom:a}}}return e},w={top:8,bottom:8,left:8,right:8},T=(e,t,n,r,i,a=w)=>{if(!n||!t)return s;let c=r??`bottom`;if(i==`page`){let{baseWindow:r,baseBoundingRect:i}=o(t),l=r.innerWidth,u=r.innerHeight,d=Math.round(i.left);return i.right<0||d>l||i.bottom<0||i.top>u?s:x(e,t,n,c,a)}return x(e,t,n,c,a)},E=(e,t)=>t.left>=e.left&&t.top>=e.top&&t.right<=e.right&&t.bottom<=e.bottom,D=(e,t)=>t.right>e.left&&t.left<e.right&&t.top<e.bottom&&t.bottom>e.top,O=e=>e==`vertical-lr`||e==`vertical-rl`,k=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),A=(e,t,n)=>O(n)?n==`vertical-rl`?e.left>=t.right||e.bottom<=t.top:e.right<=t.left||e.bottom<=t.top:e.bottom<=t.top||e.right<=t.left,j=(e,t,n)=>O(n)?n==`vertical-rl`?e.right<=t.left||e.top>=t.bottom:e.left>=t.right||e.top>=t.bottom:e.top>=t.bottom||e.left>=t.right,M=(e,t)=>{let n={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight},r=e.frameElement,i=r?.ownerDocument?.defaultView;if(r&&i){let e=r.getBoundingClientRect(),t={left:0,top:0,right:i.innerWidth,bottom:i.innerHeight},a=Math.max(e.left,t.left),o=Math.max(e.top,t.top),s=Math.min(e.right,t.right),c=Math.min(e.bottom,t.bottom);if(s<=a||c<=o)return null;n={left:a-e.left,top:o-e.top,right:s-e.left,bottom:c-e.top}}let a=n.left+(t?.leftInset??0),o=n.top+(t?.topInset??0),s=n.right-(t?.rightInset??0),c=n.bottom-(t?.bottomInset??0);return s<=a||c<=o?null:{left:a,top:o,right:s,bottom:c}},N=(e,t,n)=>{if(!e.length)return[];let r=n?.writingMode,i=n?.fullVisible??!1,a=n?.missStreakToStop??8,o=e=>i?E(t,e):D(t,e),s=0,c=e.length;for(;s<c;){let n=s+c>>1;A(k(e[n].getBoundingClientRect()),t,r)?s=n+1:c=n}let l=[],u=0,d=!1;for(let n=s;n<e.length;n++){let i=k(e[n].getBoundingClientRect());if(o(i)){l.push(e[n]),d=!0,u=0;continue}if(d&&j(i,t,r)&&(u++,u>=a))break}return l},P=(e,t,n)=>{if(e.caretRangeFromPoint)return e.caretRangeFromPoint(t,n);if(e.caretPositionFromPoint){let r=e.caretPositionFromPoint(t,n);if(r){let t=e.createRange();return t.setStart(r.offsetNode,r.offset),t.setEnd(r.offsetNode,r.offset),t}}return null},F=new Set([`img`,`image`,`svg`,`video`,`audio`,`canvas`,`iframe`]),I=e=>{let t=e.textContent??``;for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(n!=32&&n!=9&&n!=10&&n!=13&&n!=160)return!0}return!1},L=e=>{let t=e.tagName?.toLowerCase();return t&&F.has(t)?!0:!I(e)},R=(e,t)=>t==`vertical-rl`?{x:Math.max(e.left,e.right-1),y:e.top+1}:{x:e.left+1,y:e.top+1},z=e=>e.width===0&&e.height===0,B=(e,t)=>e===t||e.contains(t),V=(e,n,i)=>{let a=Math.min(n+1,i);if(n<0||n>=i)return;let o=t.createRange(e,e,n,a);if(o)return{textOffset:n,rect:r(o)}},H=(e,n,r)=>{if(L(e))return;let i=e.textContent?.length??0;if(i<=0)return;let a=e.ownerDocument;if(!a)return;let o=R(n,r),s=P(a,o.x,o.y);if(s&&B(e,s.startContainer)){let a=V(e,t.getTextOffsetInElement(e,s.startContainer,s.startOffset),i);if(a&&!z(a.rect)){let e=k(a.rect);if(!A(e,n,r)&&D(n,e))return a}}let c=0,l=i-1,u;for(;c<=l;){let t=c+l>>1,a=V(e,t,i);if(!a||z(a.rect)||A(k(a.rect),n,r)){c=t+1;continue}u=a,l=t-1}return u},U=e=>{let t=e.getClientRects();if(t.length===0)return null;let n;for(let e=t.length-1;e>=0;e--)if(t[e].height>0){n=t[e];break}if(!n)return null;let r=e.startContainer.ownerDocument,i=P(r,n.left,n.top),a=P(r,n.right-1,n.bottom-1);if(!i||!a)return null;let o=r.createRange();return o.setStart(i.startContainer,i.startOffset),o.setEnd(a.startContainer,a.startOffset),o};exports.DEFAULT_TOOLBAR_CONTAINER_INSET=w,exports.applyContainerInset=v,exports.calcCursorPosition=c,exports.calcToolbarPosition=T,exports.calcToolbarPositionFromRect=b,exports.calcToolbarPositionInContainer=x,exports.checkRangeOrElementIsVisible=S,exports.containsRect=E,exports.findFirstVisibleTextOffset=H,exports.getBaseState=o,exports.getFirstClientRect=r,exports.getLastLineRangeFromElementRange=U,exports.getLocateClientRect=i,exports.getLocateElement=a,exports.getOrderedElementsIntersectingRect=N,exports.getRangeFromPoint=P,exports.hiddenToolbarPosition=s,exports.intersectRect=D,exports.intersectWithContainer=u,exports.isDomRange=n,exports.isUnsplittableContentElement=L,exports.normalizeBaseRectsInDisplayWindow=f,exports.recalculateRect=C,exports.resolveVisibleBaseRectInContainer=g,exports.resolveVisibleViewportInContentWindow=M,exports.toRect=_;
@@ -12,6 +12,11 @@ export type OrderedIntersectOptions = {
12
12
  fullVisible?: boolean;
13
13
  missStreakToStop?: number;
14
14
  };
15
+ export type LocateTarget = Element | Range;
16
+ export declare const isDomRange: (value: unknown) => value is Range;
17
+ export declare const getFirstClientRect: (range: Range) => DOMRect;
18
+ export declare const getLocateClientRect: (target: LocateTarget) => DOMRect;
19
+ export declare const getLocateElement: (target: LocateTarget) => Element | null;
15
20
  export declare const getBaseState: (base: Range | Element[] | Element) => {
16
21
  firstBaseNode: Node;
17
22
  lastBaseNode: Node;
@@ -40,6 +45,11 @@ export declare const hiddenToolbarPosition: {
40
45
  top: number;
41
46
  visible: boolean;
42
47
  };
48
+ export declare const calcCursorPosition: (e: PointerEvent | MouseEvent, displayElement: Element) => {
49
+ left: number;
50
+ top: number;
51
+ visible: boolean;
52
+ };
43
53
  export declare const intersectWithContainer: (container: Rect, rect: Rect) => Rect | null;
44
54
  export declare const normalizeBaseRectsInDisplayWindow: (base: Range | Element[] | Element, displayWindow: Window) => {
45
55
  normalizedRects: Rect[];
@@ -73,6 +83,7 @@ export declare const calcToolbarPositionInContainer: (containerElement: HTMLElem
73
83
  left: number;
74
84
  top: number;
75
85
  visible: boolean;
86
+ baseRect?: Rect;
76
87
  };
77
88
  export declare const checkRangeOrElementIsVisible: (rendererContainer: Element, base: Range | Element[] | Element, displayWindow: Window, margin?: {
78
89
  left?: number;
@@ -99,10 +110,18 @@ export declare const recalculateRect: (baseBoundingRect: {
99
110
  right: number;
100
111
  bottom: number;
101
112
  };
102
- export declare const calcToolbarPosition: (ownerPanel: HTMLElement, base: Range | Element[] | Element, displayElement: Element, toolbarPreferPosition?: ToolbarPreferPosition, flipMode?: FlipMode) => {
113
+ export type ToolbarContainerInset = {
114
+ top?: number;
115
+ bottom?: number;
116
+ left?: number;
117
+ right?: number;
118
+ };
119
+ export declare const DEFAULT_TOOLBAR_CONTAINER_INSET: ToolbarContainerInset;
120
+ export declare const calcToolbarPosition: (ownerPanel: HTMLElement, base: Range | Element[] | Element, displayElement: Element, toolbarPreferPosition?: ToolbarPreferPosition, flipMode?: FlipMode, containerInset?: ToolbarContainerInset) => {
103
121
  left: number;
104
122
  top: number;
105
123
  visible: boolean;
124
+ baseRect?: Rect;
106
125
  };
107
126
  export declare const containsRect: (source: {
108
127
  left: number;
@@ -134,4 +153,10 @@ export declare const resolveVisibleViewportInContentWindow: (contentWindow: Wind
134
153
  }) => EdgeRect | null;
135
154
  export declare const getOrderedElementsIntersectingRect: (candidates: Element[], viewport: EdgeRect, options?: OrderedIntersectOptions) => Element[];
136
155
  export declare const getRangeFromPoint: (doc: Document, x: number, y: number) => Range;
156
+ export declare const isUnsplittableContentElement: (element: Element) => boolean;
157
+ export type VisibleTextAnchor = {
158
+ textOffset: number;
159
+ rect: DOMRect;
160
+ };
161
+ export declare const findFirstVisibleTextOffset: (element: Element, viewport: EdgeRect, writingMode?: WritingMode) => VisibleTextAnchor | undefined;
137
162
  export declare const getLastLineRangeFromElementRange: (elementRange: Range) => Range;