@foxycape/core 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/core.css +2 -1
  3. package/dist/kernal/Constants.cjs +1 -1
  4. package/dist/kernal/Constants.mjs +4 -12
  5. package/dist/kernal/ContentRange.cjs +1 -1
  6. package/dist/kernal/ContentRange.mjs +4 -6
  7. package/dist/kernal/Context.cjs +1 -1
  8. package/dist/kernal/Context.mjs +31 -35
  9. package/dist/kernal/Debounce.cjs +1 -1
  10. package/dist/kernal/Debounce.mjs +31 -37
  11. package/dist/kernal/EventEmitter.cjs +1 -1
  12. package/dist/kernal/EventEmitter.mjs +58 -67
  13. package/dist/kernal/EventNames.cjs +1 -1
  14. package/dist/kernal/EventNames.mjs +178 -6
  15. package/dist/kernal/FileLoader.cjs +1 -1
  16. package/dist/kernal/FileLoader.d.ts +2 -0
  17. package/dist/kernal/FileLoader.mjs +91 -94
  18. package/dist/kernal/IDisposable.cjs +0 -1
  19. package/dist/kernal/IDisposable.mjs +0 -1
  20. package/dist/kernal/IDocument.cjs +1 -1
  21. package/dist/kernal/IDocument.mjs +12 -36
  22. package/dist/kernal/IDocumentsProvider.cjs +0 -1
  23. package/dist/kernal/IDocumentsProvider.mjs +0 -1
  24. package/dist/kernal/IEventEmitter.cjs +0 -1
  25. package/dist/kernal/IEventEmitter.mjs +0 -1
  26. package/dist/kernal/IFileParser.cjs +1 -1
  27. package/dist/kernal/IFileParser.mjs +12 -21
  28. package/dist/kernal/IRenderer.cjs +0 -1
  29. package/dist/kernal/IRenderer.mjs +0 -1
  30. package/dist/kernal/IRendererViewport.cjs +1 -1
  31. package/dist/kernal/IRendererViewport.mjs +4 -5
  32. package/dist/kernal/IStyleProvider.cjs +0 -1
  33. package/dist/kernal/IStyleProvider.mjs +0 -1
  34. package/dist/kernal/ISymbolCalclator.cjs +0 -1
  35. package/dist/kernal/ISymbolCalclator.mjs +0 -1
  36. package/dist/kernal/ITextDocument.cjs +0 -1
  37. package/dist/kernal/ITextDocument.mjs +0 -1
  38. package/dist/kernal/IThemeProvider.cjs +0 -1
  39. package/dist/kernal/IThemeProvider.mjs +0 -1
  40. package/dist/kernal/IWallpaperProvider.cjs +1 -1
  41. package/dist/kernal/IWallpaperProvider.mjs +7 -7
  42. package/dist/kernal/JsonConvert.cjs +1 -1
  43. package/dist/kernal/JsonConvert.mjs +51 -56
  44. package/dist/kernal/LifecycleHooks.cjs +0 -1
  45. package/dist/kernal/LifecycleHooks.mjs +0 -1
  46. package/dist/kernal/LocationState.cjs +1 -1
  47. package/dist/kernal/LocationState.mjs +4 -5
  48. package/dist/kernal/MediaTypeRegistry.cjs +1 -1
  49. package/dist/kernal/MediaTypeRegistry.mjs +39 -64
  50. package/dist/kernal/Metadata.cjs +1 -1
  51. package/dist/kernal/Metadata.mjs +7 -7
  52. package/dist/kernal/OpenOptions.cjs +1 -1
  53. package/dist/kernal/OpenOptions.mjs +4 -5
  54. package/dist/kernal/Options.cjs +1 -1
  55. package/dist/kernal/Options.mjs +39 -16
  56. package/dist/kernal/OptionsProvider.cjs +1 -1
  57. package/dist/kernal/OptionsProvider.mjs +22 -24
  58. package/dist/kernal/Reader.cjs +1 -1
  59. package/dist/kernal/Reader.mjs +238 -284
  60. package/dist/kernal/ReaderInfo.cjs +1 -1
  61. package/dist/kernal/ReaderInfo.mjs +25 -31
  62. package/dist/kernal/Theme.cjs +1 -1
  63. package/dist/kernal/Theme.mjs +80 -29
  64. package/dist/kernal/common/array.cjs +1 -1
  65. package/dist/kernal/common/array.mjs +11 -13
  66. package/dist/kernal/common/buffer.cjs +1 -1
  67. package/dist/kernal/common/buffer.mjs +32 -43
  68. package/dist/kernal/common/data.cjs +1 -1
  69. package/dist/kernal/common/data.mjs +20 -13
  70. package/dist/kernal/common/date.cjs +1 -1
  71. package/dist/kernal/common/date.mjs +40 -50
  72. package/dist/kernal/common/encoding.cjs +1 -1
  73. package/dist/kernal/common/encoding.mjs +29 -36
  74. package/dist/kernal/common/geometry.cjs +1 -1
  75. package/dist/kernal/common/geometry.mjs +28 -30
  76. package/dist/kernal/common/mimetypes.cjs +1 -1
  77. package/dist/kernal/common/mimetypes.mjs +99 -34
  78. package/dist/kernal/common/naming.cjs +1 -1
  79. package/dist/kernal/common/naming.mjs +4 -4
  80. package/dist/kernal/common/number.cjs +1 -1
  81. package/dist/kernal/common/number.mjs +42 -53
  82. package/dist/kernal/common/object.cjs +1 -1
  83. package/dist/kernal/common/object.mjs +20 -25
  84. package/dist/kernal/common/path.cjs +1 -1
  85. package/dist/kernal/common/path.mjs +45 -52
  86. package/dist/kernal/common/regex.cjs +1 -1
  87. package/dist/kernal/common/regex.mjs +15 -25
  88. package/dist/kernal/common/text.cjs +4 -4
  89. package/dist/kernal/common/text.mjs +67 -88
  90. package/dist/kernal/common/tree.cjs +1 -1
  91. package/dist/kernal/common/tree.mjs +13 -13
  92. package/dist/kernal/common/url.cjs +1 -1
  93. package/dist/kernal/common/url.mjs +78 -104
  94. package/dist/kernal/common/uuid.cjs +1 -1
  95. package/dist/kernal/common/uuid.mjs +24 -28
  96. package/dist/kernal/crypto/ICrypto.cjs +1 -1
  97. package/dist/kernal/crypto/ICrypto.mjs +4 -5
  98. package/dist/kernal/crypto/MD5.cjs +1 -1
  99. package/dist/kernal/crypto/MD5.mjs +26 -34
  100. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  101. package/dist/kernal/crypto/WebCrypto.mjs +77 -105
  102. package/dist/kernal/deepClone/buffer.cjs +1 -1
  103. package/dist/kernal/deepClone/buffer.mjs +7 -25
  104. package/dist/kernal/deepClone/clone.cjs +1 -1
  105. package/dist/kernal/deepClone/clone.mjs +52 -116
  106. package/dist/kernal/deepClone/collection.cjs +1 -1
  107. package/dist/kernal/deepClone/collection.mjs +43 -56
  108. package/dist/kernal/deepClone/detector.cjs +1 -1
  109. package/dist/kernal/deepClone/detector.mjs +8 -16
  110. package/dist/kernal/deepClone/index.cjs +1 -1
  111. package/dist/kernal/deepClone/index.mjs +24 -38
  112. package/dist/kernal/device/IDevice.cjs +1 -1
  113. package/dist/kernal/device/IDevice.d.ts +0 -2
  114. package/dist/kernal/device/IDevice.mjs +4 -5
  115. package/dist/kernal/device/IEnvironment.cjs +0 -1
  116. package/dist/kernal/device/IEnvironment.mjs +0 -1
  117. package/dist/kernal/device/IPlatform.cjs +0 -1
  118. package/dist/kernal/device/IPlatform.mjs +0 -1
  119. package/dist/kernal/device/WebBrowser.cjs +1 -1
  120. package/dist/kernal/device/WebBrowser.d.ts +0 -1
  121. package/dist/kernal/device/WebBrowser.mjs +54 -65
  122. package/dist/kernal/device/WebEnvironment.cjs +1 -1
  123. package/dist/kernal/device/WebEnvironment.mjs +21 -21
  124. package/dist/kernal/device/WebPlatform.cjs +1 -1
  125. package/dist/kernal/device/WebPlatform.mjs +48 -63
  126. package/dist/kernal/html/detector.cjs +1 -1
  127. package/dist/kernal/html/detector.mjs +38 -46
  128. package/dist/kernal/html/dom.cjs +1 -0
  129. package/dist/kernal/html/dom.d.ts +3 -0
  130. package/dist/kernal/html/dom.mjs +13 -0
  131. package/dist/kernal/html/events.cjs +1 -1
  132. package/dist/kernal/html/events.mjs +62 -67
  133. package/dist/kernal/html/finder.cjs +1 -1
  134. package/dist/kernal/html/finder.mjs +93 -134
  135. package/dist/kernal/html/geometry.cjs +1 -1
  136. package/dist/kernal/html/geometry.mjs +340 -384
  137. package/dist/kernal/html/image.cjs +1 -1
  138. package/dist/kernal/html/image.mjs +166 -181
  139. package/dist/kernal/html/injector.cjs +3 -3
  140. package/dist/kernal/html/injector.mjs +92 -109
  141. package/dist/kernal/html/manipulator.cjs +1 -1
  142. package/dist/kernal/html/manipulator.mjs +96 -116
  143. package/dist/kernal/html/parser.cjs +1 -1
  144. package/dist/kernal/html/parser.mjs +61 -60
  145. package/dist/kernal/html/position.cjs +1 -1
  146. package/dist/kernal/html/position.mjs +146 -193
  147. package/dist/kernal/html/selection.cjs +7 -7
  148. package/dist/kernal/html/selection.mjs +206 -238
  149. package/dist/kernal/html/style.cjs +1 -1
  150. package/dist/kernal/html/style.mjs +59 -79
  151. package/dist/kernal/html/text.cjs +2 -2
  152. package/dist/kernal/html/text.mjs +50 -65
  153. package/dist/kernal/html/types.cjs +1 -1
  154. package/dist/kernal/html/types.mjs +7 -7
  155. package/dist/kernal/i18n/DefaultLocale.cjs +1 -1
  156. package/dist/kernal/i18n/DefaultLocale.mjs +36 -41
  157. package/dist/kernal/i18n/ILocale.cjs +1 -1
  158. package/dist/kernal/i18n/ILocale.mjs +7 -14
  159. package/dist/kernal/index.cjs +1 -1
  160. package/dist/kernal/index.mjs +44 -127
  161. package/dist/kernal/logger/DefaultLogger.cjs +1 -1
  162. package/dist/kernal/logger/DefaultLogger.mjs +67 -67
  163. package/dist/kernal/logger/ILogger.cjs +1 -1
  164. package/dist/kernal/logger/ILogger.mjs +2 -5
  165. package/dist/kernal/logger/ILoggerFactory.cjs +0 -1
  166. package/dist/kernal/logger/ILoggerFactory.mjs +0 -1
  167. package/dist/kernal/logger/LogLevel.cjs +1 -1
  168. package/dist/kernal/logger/LogLevel.mjs +33 -11
  169. package/dist/kernal/logger/LoggerFactory.cjs +1 -1
  170. package/dist/kernal/logger/LoggerFactory.mjs +12 -12
  171. package/dist/kernal/logo-160x160.cjs +1 -0
  172. package/dist/kernal/logo-160x160.mjs +4 -0
  173. package/dist/kernal/mark/IMarker.cjs +0 -1
  174. package/dist/kernal/mark/IMarker.mjs +0 -1
  175. package/dist/kernal/mark/Mark.cjs +1 -1
  176. package/dist/kernal/mark/Mark.mjs +18 -19
  177. package/dist/kernal/mark/MarkConstants.cjs +1 -1
  178. package/dist/kernal/mark/MarkConstants.mjs +4 -7
  179. package/dist/kernal/mark/index.cjs +1 -1
  180. package/dist/kernal/mark/index.mjs +3 -10
  181. package/dist/kernal/mark/types.cjs +0 -1
  182. package/dist/kernal/mark/types.mjs +0 -1
  183. package/dist/kernal/nav/INavPointProvider.cjs +0 -1
  184. package/dist/kernal/nav/INavPointProvider.mjs +0 -1
  185. package/dist/kernal/nav/Nav.cjs +1 -1
  186. package/dist/kernal/nav/Nav.mjs +16 -18
  187. package/dist/kernal/navigator/INavPointNavigator.cjs +0 -1
  188. package/dist/kernal/navigator/INavPointNavigator.mjs +0 -1
  189. package/dist/kernal/navigator/INavigator.cjs +1 -1
  190. package/dist/kernal/navigator/INavigator.mjs +4 -5
  191. package/dist/kernal/navigator/IPagingNavigator.cjs +1 -1
  192. package/dist/kernal/navigator/IPagingNavigator.mjs +4 -8
  193. package/dist/kernal/network/HttpClient.cjs +1 -1
  194. package/dist/kernal/network/HttpClient.mjs +121 -146
  195. package/dist/kernal/network/IHttpClient.cjs +1 -1
  196. package/dist/kernal/network/IHttpClient.mjs +4 -5
  197. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  198. package/dist/kernal/pipelines/FileLoadPipeline.mjs +65 -84
  199. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  200. package/dist/kernal/pipelines/InputFormatter.mjs +140 -160
  201. package/dist/kernal/pipelines/metadata.cjs +1 -1
  202. package/dist/kernal/pipelines/metadata.mjs +44 -49
  203. package/dist/kernal/plugins/PluginCore.cjs +1 -1
  204. package/dist/kernal/plugins/PluginCore.mjs +7 -8
  205. package/dist/kernal/plugins/PluginManager.cjs +1 -1
  206. package/dist/kernal/plugins/PluginManager.mjs +79 -105
  207. package/dist/kernal/plugins/PluginRegistry.cjs +1 -1
  208. package/dist/kernal/plugins/PluginRegistry.mjs +55 -91
  209. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +1 -1
  210. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +134 -133
  211. package/dist/kernal/plugins/mouse/WheelPageTurning.cjs +1 -1
  212. package/dist/kernal/plugins/mouse/WheelPageTurning.mjs +134 -127
  213. package/dist/kernal/progress/IProgressTracker.cjs +0 -1
  214. package/dist/kernal/progress/IProgressTracker.mjs +0 -1
  215. package/dist/kernal/progress/IReadingProgressStore.cjs +0 -1
  216. package/dist/kernal/progress/IReadingProgressStore.mjs +0 -1
  217. package/dist/kernal/progress/Progress.cjs +1 -1
  218. package/dist/kernal/progress/Progress.mjs +23 -40
  219. package/dist/kernal/progress/ReadingProgressStore.cjs +1 -1
  220. package/dist/kernal/progress/ReadingProgressStore.mjs +16 -16
  221. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  222. package/dist/kernal/services/ServiceCollection.mjs +63 -88
  223. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.cjs +2 -2
  224. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.d.ts +1 -1
  225. package/dist/kernal/services/docLoadLayer/HtmlLoadLayer.mjs +63 -68
  226. package/dist/kernal/services/docLoadLayer/IHtmlLoadLayer.cjs +0 -1
  227. package/dist/kernal/services/docLoadLayer/IHtmlLoadLayer.mjs +0 -1
  228. package/dist/kernal/services/file/IFileDecrypter.cjs +1 -1
  229. package/dist/kernal/services/file/IFileDecrypter.mjs +11 -24
  230. package/dist/kernal/services/file/IFileProvider.cjs +0 -1
  231. package/dist/kernal/services/file/IFileProvider.mjs +0 -1
  232. package/dist/kernal/services/file/IFileUrlProvider.cjs +0 -1
  233. package/dist/kernal/services/file/IFileUrlProvider.mjs +0 -1
  234. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.cjs +1 -1
  235. package/dist/kernal/services/fileUrlParser/DefaultFileUrlParser.mjs +109 -118
  236. package/dist/kernal/services/fileUrlParser/IFileUrlParser.cjs +1 -1
  237. package/dist/kernal/services/fileUrlParser/IFileUrlParser.mjs +7 -10
  238. package/dist/kernal/services/font/IFontProvider.cjs +1 -1
  239. package/dist/kernal/services/font/IFontProvider.mjs +19 -33
  240. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.cjs +1 -1
  241. package/dist/kernal/services/internalUrlBuilder/DefaultInternalUrlBuilder.mjs +14 -21
  242. package/dist/kernal/services/internalUrlBuilder/IInternalUrlBuilder.cjs +0 -1
  243. package/dist/kernal/services/internalUrlBuilder/IInternalUrlBuilder.mjs +0 -1
  244. package/dist/kernal/services/loading/DefaultLoading.cjs +1 -1
  245. package/dist/kernal/services/loading/DefaultLoading.mjs +46 -41
  246. package/dist/kernal/services/loading/ILoading.cjs +1 -1
  247. package/dist/kernal/services/loading/ILoading.mjs +4 -5
  248. package/dist/kernal/services/notifier/DefaultNotifier.cjs +1 -1
  249. package/dist/kernal/services/notifier/DefaultNotifier.mjs +63 -65
  250. package/dist/kernal/services/notifier/INotifier.cjs +0 -1
  251. package/dist/kernal/services/notifier/INotifier.mjs +0 -1
  252. package/dist/kernal/services/notifier/notyf/index.cjs +1 -1
  253. package/dist/kernal/services/notifier/notyf/index.mjs +5 -13
  254. package/dist/kernal/services/notifier/notyf/notyf.cjs +1 -1
  255. package/dist/kernal/services/notifier/notyf/notyf.mjs +79 -97
  256. package/dist/kernal/services/notifier/notyf/notyf.models.cjs +1 -1
  257. package/dist/kernal/services/notifier/notyf/notyf.models.mjs +39 -41
  258. package/dist/kernal/services/notifier/notyf/notyf.options.cjs +1 -1
  259. package/dist/kernal/services/notifier/notyf/notyf.options.mjs +30 -30
  260. package/dist/kernal/services/notifier/notyf/notyf.view.cjs +1 -1
  261. package/dist/kernal/services/notifier/notyf/notyf.view.mjs +146 -177
  262. package/dist/kernal/services/text/ITextDecoder.cjs +0 -1
  263. package/dist/kernal/services/text/ITextDecoder.mjs +0 -1
  264. package/dist/kernal/services/text/splitter.cjs +5 -5
  265. package/dist/kernal/services/text/splitter.mjs +184 -207
  266. package/dist/kernal/shape/ShapeSorter.cjs +1 -1
  267. package/dist/kernal/shape/ShapeSorter.mjs +77 -77
  268. package/dist/kernal/shape/SimpleMatrix.cjs +1 -1
  269. package/dist/kernal/shape/SimpleMatrix.mjs +20 -13
  270. package/dist/kernal/shape/definitions.cjs +0 -1
  271. package/dist/kernal/shape/definitions.mjs +0 -1
  272. package/dist/kernal/storage/IStorage.cjs +1 -1
  273. package/dist/kernal/storage/IStorage.mjs +4 -5
  274. package/dist/kernal/storage/WebStorage.cjs +1 -1
  275. package/dist/kernal/storage/WebStorage.mjs +164 -201
  276. package/dist/kernal/types.cjs +0 -1
  277. package/dist/kernal/types.mjs +0 -1
  278. package/dist/kernal/web/BrowserCapabilities.cjs +1 -1
  279. package/dist/kernal/web/BrowserCapabilities.mjs +167 -191
  280. package/dist/kernal/web/ua.cjs +1 -1
  281. package/dist/kernal/web/ua.mjs +5 -5
  282. package/dist/mediaTypes/adjacent.cjs +1 -1
  283. package/dist/mediaTypes/adjacent.mjs +41 -48
  284. package/dist/mediaTypes/base/fileParser/BaseFileParser.cjs +1 -1
  285. package/dist/mediaTypes/base/fileParser/BaseFileParser.mjs +184 -227
  286. package/dist/mediaTypes/base/index.cjs +1 -1
  287. package/dist/mediaTypes/base/index.mjs +4 -8
  288. package/dist/mediaTypes/base/renderer/BaseDocument.cjs +1 -1
  289. package/dist/mediaTypes/base/renderer/BaseDocument.mjs +41 -49
  290. package/dist/mediaTypes/base/renderer/BaseDocumentsProvider.cjs +1 -1
  291. package/dist/mediaTypes/base/renderer/BaseDocumentsProvider.mjs +64 -71
  292. package/dist/mediaTypes/base/renderer/eventKeys.cjs +1 -1
  293. package/dist/mediaTypes/base/renderer/eventKeys.mjs +7 -7
  294. package/dist/mediaTypes/html/HtmlOptions.cjs +1 -1
  295. package/dist/mediaTypes/html/HtmlOptions.mjs +34 -12
  296. package/dist/mediaTypes/html/HtmlSettings.cjs +1 -1
  297. package/dist/mediaTypes/html/HtmlSettings.mjs +43 -6
  298. package/dist/mediaTypes/html/fileParser/HtmlFileParser.cjs +1 -1
  299. package/dist/mediaTypes/html/fileParser/HtmlFileParser.mjs +52 -54
  300. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.cjs +1 -1
  301. package/dist/mediaTypes/html/fileParser/HtmlTextDocument.mjs +52 -57
  302. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.cjs +0 -1
  303. package/dist/mediaTypes/html/fileParser/IHtmlFileParser.mjs +0 -1
  304. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  305. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +89 -89
  306. package/dist/mediaTypes/html/renderer/IHtmlDocument.cjs +0 -1
  307. package/dist/mediaTypes/html/renderer/IHtmlDocument.mjs +0 -1
  308. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.cjs +0 -1
  309. package/dist/mediaTypes/html/renderer/IHtmlDocumentsProvider.mjs +0 -1
  310. package/dist/mediaTypes/html/renderer/IHtmlRenderer.cjs +0 -1
  311. package/dist/mediaTypes/html/renderer/IHtmlRenderer.mjs +0 -1
  312. package/dist/mediaTypes/html/renderer/IHtmlTextDocument.cjs +0 -1
  313. package/dist/mediaTypes/html/renderer/IHtmlTextDocument.mjs +0 -1
  314. package/dist/mediaTypes/html/renderer/document/HtmlDocument.cjs +1 -1
  315. package/dist/mediaTypes/html/renderer/document/HtmlDocument.mjs +183 -196
  316. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.cjs +1 -1
  317. package/dist/mediaTypes/html/renderer/document/HtmlDocumentResizeObserver.mjs +28 -28
  318. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.cjs +1 -1
  319. package/dist/mediaTypes/html/renderer/document/HtmlPageCalculator.mjs +77 -82
  320. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.cjs +1 -1
  321. package/dist/mediaTypes/html/renderer/document/HtmlSymbolCalclator.mjs +87 -97
  322. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.cjs +1 -1
  323. package/dist/mediaTypes/html/renderer/documents/HtmlContainerBuilder.mjs +49 -64
  324. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.cjs +1 -1
  325. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsIntersectionObserver.mjs +29 -32
  326. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.cjs +1 -1
  327. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsPreloader.mjs +76 -84
  328. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.cjs +1 -1
  329. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.d.ts +2 -1
  330. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsProvider.mjs +185 -208
  331. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.cjs +1 -1
  332. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.d.ts +2 -1
  333. package/dist/mediaTypes/html/renderer/documents/HtmlDocumentsResizeObserver.mjs +39 -41
  334. package/dist/mediaTypes/html/renderer/documents/IHtmlDocumentsPreloader.cjs +0 -1
  335. package/dist/mediaTypes/html/renderer/documents/IHtmlDocumentsPreloader.mjs +0 -1
  336. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.cjs +1 -1
  337. package/dist/mediaTypes/html/renderer/html/HtmlContentProcessor.mjs +130 -182
  338. package/dist/mediaTypes/html/renderer/html/IHtmlContentProcessor.cjs +0 -1
  339. package/dist/mediaTypes/html/renderer/html/IHtmlContentProcessor.mjs +0 -1
  340. package/dist/mediaTypes/html/renderer/html/template.cjs +1 -1
  341. package/dist/mediaTypes/html/renderer/html/template.mjs +13 -16
  342. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.cjs +1 -1
  343. package/dist/mediaTypes/html/renderer/image/HtmlImageLoader.mjs +371 -447
  344. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.cjs +1 -1
  345. package/dist/mediaTypes/html/renderer/image/HtmlImageObserver.mjs +91 -103
  346. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.cjs +0 -1
  347. package/dist/mediaTypes/html/renderer/image/IHtmlImageLoader.mjs +0 -1
  348. package/dist/mediaTypes/html/renderer/image/error-image.cjs +1 -0
  349. package/dist/mediaTypes/html/renderer/image/error-image.mjs +4 -0
  350. package/dist/mediaTypes/html/renderer/image/placeholder.cjs +1 -0
  351. package/dist/mediaTypes/html/renderer/image/placeholder.mjs +4 -0
  352. package/dist/mediaTypes/html/renderer/layout/HtmlLayoutMetrics.cjs +1 -1
  353. package/dist/mediaTypes/html/renderer/layout/HtmlLayoutMetrics.mjs +5 -6
  354. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.cjs +1 -1
  355. package/dist/mediaTypes/html/renderer/layout/HtmlRendererLayout.mjs +81 -90
  356. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.cjs +1 -1
  357. package/dist/mediaTypes/html/renderer/layout/HtmlRendererViewport.mjs +142 -169
  358. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.cjs +0 -1
  359. package/dist/mediaTypes/html/renderer/layout/IHtmlRendererLayout.mjs +0 -1
  360. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.cjs +1 -1
  361. package/dist/mediaTypes/html/renderer/layout/ViewportCssVariableNames.mjs +61 -6
  362. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.cjs +1 -1
  363. package/dist/mediaTypes/html/renderer/location/HtmlElementLocator.mjs +106 -118
  364. package/dist/mediaTypes/html/renderer/location/HtmlLocationCalculator.cjs +1 -1
  365. package/dist/mediaTypes/html/renderer/location/HtmlLocationCalculator.mjs +28 -34
  366. package/dist/mediaTypes/html/renderer/location/IHtmlElementLocator.cjs +0 -1
  367. package/dist/mediaTypes/html/renderer/location/IHtmlElementLocator.mjs +0 -1
  368. package/dist/mediaTypes/html/renderer/location/IHtmlLocationCalculator.cjs +0 -1
  369. package/dist/mediaTypes/html/renderer/location/IHtmlLocationCalculator.mjs +0 -1
  370. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.cjs +1 -1
  371. package/dist/mediaTypes/html/renderer/navigator/HtmlCoreNavigator.mjs +39 -42
  372. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.cjs +1 -1
  373. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointNavigator.mjs +121 -125
  374. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.cjs +1 -1
  375. package/dist/mediaTypes/html/renderer/navigator/HtmlNavPointProvider.mjs +151 -178
  376. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.cjs +1 -1
  377. package/dist/mediaTypes/html/renderer/navigator/HtmlPagingNavigator.mjs +78 -85
  378. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.cjs +1 -1
  379. package/dist/mediaTypes/html/renderer/progress/HtmlProgressTracker.mjs +119 -137
  380. package/dist/mediaTypes/html/renderer/progress/IHtmlIProgressTracker.cjs +0 -1
  381. package/dist/mediaTypes/html/renderer/progress/IHtmlIProgressTracker.mjs +0 -1
  382. package/dist/mediaTypes/html/renderer/progress/adjacent.cjs +1 -1
  383. package/dist/mediaTypes/html/renderer/progress/adjacent.mjs +41 -48
  384. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.cjs +1 -1
  385. package/dist/mediaTypes/html/renderer/style/ContentCssVariables.mjs +40 -9
  386. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.cjs +1 -1
  387. package/dist/mediaTypes/html/renderer/style/ContentLayoutCssVariableNames.mjs +40 -6
  388. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.cjs +1 -1
  389. package/dist/mediaTypes/html/renderer/style/HtmlStyleProvider.mjs +62 -74
  390. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.cjs +1 -1
  391. package/dist/mediaTypes/html/renderer/style/HtmlThemeApplier.mjs +58 -68
  392. package/dist/mediaTypes/html/renderer/style/IHtmlThemeApplier.cjs +0 -1
  393. package/dist/mediaTypes/html/renderer/style/IHtmlThemeApplier.mjs +0 -1
  394. package/dist/mediaTypes/html/renderer/style/{html-content.css.mjs → html-content.cjs} +2 -5
  395. package/dist/mediaTypes/html/renderer/style/html-content.mjs +4 -0
  396. package/dist/mediaTypes/html/renderer/visibilityCandidates.cjs +1 -1
  397. package/dist/mediaTypes/html/renderer/visibilityCandidates.mjs +116 -111
  398. package/dist/mediaTypes/pdf/PdfOptions.cjs +1 -1
  399. package/dist/mediaTypes/pdf/PdfOptions.mjs +7 -7
  400. package/dist/mediaTypes/pdf/ensurePdfWebWorker.cjs +1 -1
  401. package/dist/mediaTypes/pdf/ensurePdfWebWorker.mjs +16 -26
  402. package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.cjs +0 -1
  403. package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.d.ts +2 -0
  404. package/dist/mediaTypes/pdf/fileParser/IPdfFileParser.mjs +0 -1
  405. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.cjs +1 -1
  406. package/dist/mediaTypes/pdf/fileParser/PdfFileParser.mjs +148 -170
  407. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.cjs +1 -1
  408. package/dist/mediaTypes/pdf/fileParser/PdfPasswordProvider.mjs +45 -52
  409. package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.cjs +1 -1
  410. package/dist/mediaTypes/pdf/fileParser/PdfTextDocument.mjs +28 -28
  411. package/dist/mediaTypes/pdf/loadPdfDocument.cjs +1 -1
  412. package/dist/mediaTypes/pdf/loadPdfDocument.mjs +27 -23
  413. package/dist/mediaTypes/pdf/renderer/IPdfDocument.cjs +0 -1
  414. package/dist/mediaTypes/pdf/renderer/IPdfDocument.mjs +0 -1
  415. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.cjs +0 -1
  416. package/dist/mediaTypes/pdf/renderer/IPdfRenderer.mjs +0 -1
  417. package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.cjs +0 -1
  418. package/dist/mediaTypes/pdf/renderer/IPdfSvgBuilder.mjs +0 -1
  419. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.cjs +1 -1
  420. package/dist/mediaTypes/pdf/renderer/MultiPdfViewer.mjs +323 -625
  421. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.cjs +1 -1
  422. package/dist/mediaTypes/pdf/renderer/PdfCoreNavigator.mjs +18 -18
  423. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.cjs +1 -1
  424. package/dist/mediaTypes/pdf/renderer/PdfCssVariableNames.mjs +25 -6
  425. package/dist/mediaTypes/pdf/renderer/PdfDocument.cjs +1 -1
  426. package/dist/mediaTypes/pdf/renderer/PdfDocument.mjs +61 -70
  427. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.cjs +1 -1
  428. package/dist/mediaTypes/pdf/renderer/PdfNavPointNavigator.mjs +118 -122
  429. package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.cjs +1 -1
  430. package/dist/mediaTypes/pdf/renderer/PdfNavPointProvider.mjs +85 -111
  431. package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.cjs +1 -1
  432. package/dist/mediaTypes/pdf/renderer/PdfNoopL10n.mjs +7 -10
  433. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.cjs +1 -1
  434. package/dist/mediaTypes/pdf/renderer/PdfPagingNavigator.mjs +29 -32
  435. package/dist/mediaTypes/pdf/renderer/PdfRenderer.cjs +1 -1
  436. package/dist/mediaTypes/pdf/renderer/PdfRenderer.mjs +76 -79
  437. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.cjs +1 -1
  438. package/dist/mediaTypes/pdf/renderer/PdfSvgBuilder.mjs +269 -236
  439. package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.cjs +1 -1
  440. package/dist/mediaTypes/pdf/renderer/PdfViewerBuilder.mjs +33 -36
  441. package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.cjs +0 -1
  442. package/dist/mediaTypes/pdf/renderer/documents/IPdfDocumentsProvider.mjs +0 -1
  443. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.cjs +2 -2
  444. package/dist/mediaTypes/pdf/renderer/documents/PdfDocumentsProvider.mjs +243 -290
  445. package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.cjs +1 -1
  446. package/dist/mediaTypes/pdf/renderer/input/PdfDocumentEvents.mjs +43 -50
  447. package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.cjs +1 -1
  448. package/dist/mediaTypes/pdf/renderer/input/PdfKeyboardController.mjs +84 -105
  449. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.cjs +1 -1
  450. package/dist/mediaTypes/pdf/renderer/input/PdfViewerEvents.mjs +44 -59
  451. package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.cjs +1 -1
  452. package/dist/mediaTypes/pdf/renderer/input/PdfZoomInputController.mjs +138 -177
  453. package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.cjs +0 -1
  454. package/dist/mediaTypes/pdf/renderer/layout/IPdfRendererLayout.mjs +0 -1
  455. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.cjs +1 -1
  456. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererLayout.mjs +36 -42
  457. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.cjs +1 -1
  458. package/dist/mediaTypes/pdf/renderer/layout/PdfRendererViewport.mjs +75 -82
  459. package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.cjs +0 -1
  460. package/dist/mediaTypes/pdf/renderer/location/IPdfDestinationBuilder.mjs +0 -1
  461. package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.cjs +1 -1
  462. package/dist/mediaTypes/pdf/renderer/location/PdfDestinationBuilder.mjs +18 -21
  463. package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.cjs +0 -1
  464. package/dist/mediaTypes/pdf/renderer/progress/IPdfProgressTracker.mjs +0 -1
  465. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.cjs +1 -1
  466. package/dist/mediaTypes/pdf/renderer/progress/PdfProgressTracker.mjs +54 -68
  467. package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.cjs +0 -1
  468. package/dist/mediaTypes/pdf/renderer/style/IPdfThemeApplier.mjs +0 -1
  469. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.cjs +4 -4
  470. package/dist/mediaTypes/pdf/renderer/style/PdfThemeApplier.mjs +15 -15
  471. package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.cjs +0 -1
  472. package/dist/mediaTypes/pdf/renderer/zoom/IPdfScalable.mjs +0 -1
  473. package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.cjs +1 -1
  474. package/dist/mediaTypes/pdf/renderer/zoom/PdfScalable.mjs +46 -41
  475. package/dist/mediaTypes/pdf/shared/geometry/index.cjs +1 -1
  476. package/dist/mediaTypes/pdf/shared/geometry/index.mjs +3 -13
  477. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.cjs +1 -1
  478. package/dist/mediaTypes/pdf/shared/geometry/selectionToFixedContentRange.mjs +45 -45
  479. package/dist/mediaTypes/pdf/shared/geometry/textRects.cjs +1 -1
  480. package/dist/mediaTypes/pdf/shared/geometry/textRects.mjs +219 -263
  481. package/dist/mediaTypes/pdf/shared/range.cjs +1 -1
  482. package/dist/mediaTypes/pdf/shared/range.mjs +11 -14
  483. package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.cjs +0 -1
  484. package/dist/mediaTypes/pdf/shared/selection/IPdfSelection.mjs +0 -1
  485. package/dist/mediaTypes/pdf/shared/selection/PdfSelection.cjs +2 -2
  486. package/dist/mediaTypes/pdf/shared/selection/PdfSelection.mjs +214 -236
  487. package/dist/mediaTypes/pdf/shared/selection/index.cjs +1 -1
  488. package/dist/mediaTypes/pdf/shared/selection/index.mjs +3 -6
  489. package/dist/mediaTypes/pdf/shared/text/bbox.cjs +1 -1
  490. package/dist/mediaTypes/pdf/shared/text/bbox.mjs +130 -142
  491. package/dist/mediaTypes/pdf/shared/text/pageText.cjs +5 -5
  492. package/dist/mediaTypes/pdf/shared/text/pageText.mjs +168 -185
  493. package/global.d.ts +17 -0
  494. package/package.json +19 -12
  495. package/types.d.ts +13 -0
  496. package/dist/kernal/logo-160x160.png.cjs +0 -1
  497. package/dist/kernal/logo-160x160.png.mjs +0 -4
  498. package/dist/mediaTypes/html/renderer/image/error-image.png.cjs +0 -1
  499. package/dist/mediaTypes/html/renderer/image/error-image.png.mjs +0 -4
  500. package/dist/mediaTypes/html/renderer/image/placeholder.png.cjs +0 -1
  501. package/dist/mediaTypes/html/renderer/image/placeholder.png.mjs +0 -4
  502. package/dist/mediaTypes/html/renderer/style/html-content.css.cjs +0 -316
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("../web/BrowserCapabilities.cjs"),I=require("./finder.cjs"),u=async s=>{try{const e=new Image;if(e.decode)return e.src=s,await e.decode(),{width:e.width,height:e.height,img:e}}catch(e){console.error("offscreenLoadImage",e)}return await new Promise((e,n)=>{const t=new Image;t.src=s,t.complete?e({width:t.width,height:t.height,img:t}):(setTimeout(()=>{t.width>0&&t.height>0?e({width:t.width,height:t.height,img:t}):n("timeout")},2e3),t.addEventListener("error",a=>{n(a)},!1),t.addEventListener("abort",a=>{n("about:"+a)},!1),t.addEventListener("load",()=>{e({width:t.width,height:t.height,img:t})},!1))})},b=async(s,e,n)=>{let t,a=!1;if(typeof s=="string"){const{img:f}=await u(s);t=f}else s instanceof ImageBitmap||s instanceof HTMLCanvasElement||s instanceof HTMLImageElement?t=s:(t=await createImageBitmap(s),a=!0);return new Promise((f,d)=>{const w=l=>{a&&t instanceof ImageBitmap&&t.close(),f(l)},y=l=>{a&&t instanceof ImageBitmap&&t.close(),d(l)};try{const l=".png";if(t instanceof ImageBitmap){const i=document.createElement("canvas"),o=i.getContext("2d"),r=e&&Math.abs(e.a)==1&&Math.abs(e.b)==0&&Math.abs(e.c)==0&&Math.abs(e.d)==1;let c=t.width,h=t.height;if(n&&(n<t.width||n<t.height)){if(c>h){const g=c/n;c=n,h=t.height/g}else{const g=h/n;h=n,c=c/g}if(i.width=c,i.height=h,r){const g=e.a<0?Math.abs(e.a)*c:0,p=e.d<0?Math.abs(e.d)*h:0;o.setTransform(e.a,e.b,e.c,e.d,g,p)}o.drawImage(t,0,0,c,h)}else{if(i.width=c,i.height=h,r){const g=e.a<0?Math.abs(e.a)*c:0,p=e.d<0?Math.abs(e.d)*h:0;o.setTransform(e.a,e.b,e.c,e.d,g,p)}o.drawImage(t,0,0)}i.toBlob(g=>{w({data:g,width:c,height:h,extension:l})})}else{let i=t.width,o=t.height;if(I.compareTagName(t.tagName,"IMG")||n&&(n<t.width||n<t.height)){const r=document.createElement("canvas"),c=r.getContext("2d");if(n&&(n<t.width||n<t.height))if(i>o){const h=i/n;i=n,o=t.height/h}else{const h=o/n;o=n,i=i/h}r.width=i,r.height=o,c.drawImage(t,0,0,i,o),r.toBlob(h=>{w({data:h,width:i,height:o,extension:l})})}else t.toBlob(r=>{w({data:r,width:i,height:o,extension:l})})}}catch(l){y(l)}})},B=async s=>{if(typeof s=="string"){const n=await u(s);return{width:n.width,height:n.height}}if(s instanceof ImageBitmap||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof OffscreenCanvas||s instanceof ImageData)return{width:s.width,height:s.height};if(s instanceof HTMLVideoElement)return{width:s.videoWidth,height:s.videoHeight};let e;try{return e=await createImageBitmap(s),{width:e.width,height:e.height}}finally{e?.close()}},C=async(s,e,n)=>{const t=await b(s,e,n);return{url:URL.createObjectURL(t.data),width:t.width,height:t.height,extension:t.extension}},m=s=>{const e=I.getDocumentBody(s);if(!e)return[];const n=e.getElementsByTagName("pre"),t=n.length;if(t==0)return[];const a=[];for(let f=0;f<t;f++){const d=n[f];d.firstElementChild&&(d.firstElementChild.tagName=="CODE"||d.firstElementChild.tagName.toLowerCase()=="code")?d.firstElementChild.children.length==0&&a.push(d.firstElementChild):d.children.length==0&&a.push(d)}return a.length==0?[]:a},M=async(s,e,n)=>{if(!E.BrowserCapabilities.supportClipboardPng())throw new Error("Unsupport copy image to clipboard.");const t=new ClipboardItem({"image/png":b(s,e,n).then(a=>a.data)});await navigator.clipboard.write([t])};exports.copyImage=M;exports.createBlobUrl=C;exports.getBlob=b;exports.getImageSize=B;exports.getRequireHighlightCodeElements=m;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../web/BrowserCapabilities.cjs"),t=require("./finder.cjs");var n=async e=>{try{let t=new Image;if(t.decode)return t.src=e,await t.decode(),{width:t.width,height:t.height,img:t}}catch(e){console.error(`offscreenLoadImage`,e)}return await new Promise((t,n)=>{let r=new Image;r.src=e,r.complete?t({width:r.width,height:r.height,img:r}):(setTimeout(()=>{r.width>0&&r.height>0?t({width:r.width,height:r.height,img:r}):n(`timeout`)},2e3),r.addEventListener(`error`,e=>{n(e)},!1),r.addEventListener(`abort`,e=>{n(`about:`+e)},!1),r.addEventListener(`load`,()=>{t({width:r.width,height:r.height,img:r})},!1))})},r=async(e,r,i)=>{let a,o=!1;if(typeof e==`string`){let{img:t}=await n(e);a=t}else e instanceof ImageBitmap||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement?a=e:(a=await createImageBitmap(e),o=!0);return new Promise((e,n)=>{let s=t=>{o&&a instanceof ImageBitmap&&a.close(),e(t)},c=e=>{o&&a instanceof ImageBitmap&&a.close(),n(e)};try{let e=`.png`;if(a instanceof ImageBitmap){let t=document.createElement(`canvas`),n=t.getContext(`2d`),o=r&&Math.abs(r.a)==1&&Math.abs(r.b)==0&&Math.abs(r.c)==0&&Math.abs(r.d)==1,c=a.width,l=a.height;if(i&&(i<a.width||i<a.height)){if(c>l){let e=c/i;c=i,l=a.height/e}else{let e=l/i;l=i,c/=e}if(t.width=c,t.height=l,o){let e=r.a<0?Math.abs(r.a)*c:0,t=r.d<0?Math.abs(r.d)*l:0;n.setTransform(r.a,r.b,r.c,r.d,e,t)}n.drawImage(a,0,0,c,l)}else{if(t.width=c,t.height=l,o){let e=r.a<0?Math.abs(r.a)*c:0,t=r.d<0?Math.abs(r.d)*l:0;n.setTransform(r.a,r.b,r.c,r.d,e,t)}n.drawImage(a,0,0)}t.toBlob(t=>{s({data:t,width:c,height:l,extension:e})})}else{let n=a.width,r=a.height;if(t.compareTagName(a.tagName,`IMG`)||i&&(i<a.width||i<a.height)){let t=document.createElement(`canvas`),o=t.getContext(`2d`);if(i&&(i<a.width||i<a.height)){if(n>r){let e=n/i;n=i,r=a.height/e}else{let e=r/i;r=i,n/=e}}t.width=n,t.height=r,o.drawImage(a,0,0,n,r),t.toBlob(t=>{s({data:t,width:n,height:r,extension:e})})}else a.toBlob(t=>{s({data:t,width:n,height:r,extension:e})})}}catch(e){c(e)}})},i=async e=>{if(typeof e==`string`){let t=await n(e);return{width:t.width,height:t.height}}if(e instanceof ImageBitmap||e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas||e instanceof ImageData)return{width:e.width,height:e.height};if(e instanceof HTMLVideoElement)return{width:e.videoWidth,height:e.videoHeight};let t;try{return t=await createImageBitmap(e),{width:t.width,height:t.height}}finally{t?.close()}},a=async(e,t,n)=>{let i=await r(e,t,n);return{url:URL.createObjectURL(i.data),width:i.width,height:i.height,extension:i.extension}},o=e=>{let n=t.getDocumentBody(e);if(!n)return[];let r=n.getElementsByTagName(`pre`),i=r.length;if(i==0)return[];let a=[];for(let e=0;e<i;e++){let t=r[e];t.firstElementChild&&(t.firstElementChild.tagName==`CODE`||t.firstElementChild.tagName.toLowerCase()==`code`)?t.firstElementChild.children.length==0&&a.push(t.firstElementChild):t.children.length==0&&a.push(t)}return a.length==0?[]:a},s=async(t,n,i)=>{if(!e.BrowserCapabilities.supportClipboardPng())throw Error(`Unsupport copy image to clipboard.`);let a=new ClipboardItem({"image/png":r(t,n,i).then(e=>e.data)});await navigator.clipboard.write([a])};exports.copyImage=s,exports.createBlobUrl=a,exports.getBlob=r,exports.getImageSize=i,exports.getRequireHighlightCodeElements=o;
@@ -1,182 +1,167 @@
1
- import { BrowserCapabilities as y } from "../web/BrowserCapabilities.mjs";
2
- import { compareTagName as m, getDocumentBody as u } from "./finder.mjs";
3
- const b = async (s) => {
4
- try {
5
- const e = new Image();
6
- if (e.decode)
7
- return e.src = s, await e.decode(), {
8
- width: e.width,
9
- height: e.height,
10
- img: e
11
- };
12
- } catch (e) {
13
- console.error("offscreenLoadImage", e);
14
- }
15
- return await new Promise((e, n) => {
16
- const t = new Image();
17
- t.src = s, t.complete ? e({
18
- width: t.width,
19
- height: t.height,
20
- img: t
21
- }) : (setTimeout(() => {
22
- t.width > 0 && t.height > 0 ? e({
23
- width: t.width,
24
- height: t.height,
25
- img: t
26
- }) : n("timeout");
27
- }, 2e3), t.addEventListener("error", (a) => {
28
- n(a);
29
- }, !1), t.addEventListener("abort", (a) => {
30
- n("about:" + a);
31
- }, !1), t.addEventListener("load", () => {
32
- e({
33
- width: t.width,
34
- height: t.height,
35
- img: t
36
- });
37
- }, !1));
38
- });
39
- }, I = async (s, e, n) => {
40
- let t, a = !1;
41
- if (typeof s == "string") {
42
- const {
43
- img: f
44
- } = await b(s);
45
- t = f;
46
- } else s instanceof ImageBitmap || s instanceof HTMLCanvasElement || s instanceof HTMLImageElement ? t = s : (t = await createImageBitmap(s), a = !0);
47
- return new Promise((f, d) => {
48
- const w = (l) => {
49
- a && t instanceof ImageBitmap && t.close(), f(l);
50
- }, E = (l) => {
51
- a && t instanceof ImageBitmap && t.close(), d(l);
52
- };
53
- try {
54
- const l = ".png";
55
- if (t instanceof ImageBitmap) {
56
- const h = document.createElement("canvas"), o = h.getContext("2d"), r = e && Math.abs(e.a) == 1 && Math.abs(e.b) == 0 && Math.abs(e.c) == 0 && Math.abs(e.d) == 1;
57
- let c = t.width, i = t.height;
58
- if (n && (n < t.width || n < t.height)) {
59
- if (c > i) {
60
- const g = c / n;
61
- c = n, i = t.height / g;
62
- } else {
63
- const g = i / n;
64
- i = n, c = c / g;
65
- }
66
- if (h.width = c, h.height = i, r) {
67
- const g = e.a < 0 ? Math.abs(e.a) * c : 0, p = e.d < 0 ? Math.abs(e.d) * i : 0;
68
- o.setTransform(e.a, e.b, e.c, e.d, g, p);
69
- }
70
- o.drawImage(t, 0, 0, c, i);
71
- } else {
72
- if (h.width = c, h.height = i, r) {
73
- const g = e.a < 0 ? Math.abs(e.a) * c : 0, p = e.d < 0 ? Math.abs(e.d) * i : 0;
74
- o.setTransform(e.a, e.b, e.c, e.d, g, p);
75
- }
76
- o.drawImage(t, 0, 0);
77
- }
78
- h.toBlob((g) => {
79
- w({
80
- data: g,
81
- width: c,
82
- height: i,
83
- extension: l
84
- });
85
- });
86
- } else {
87
- let h = t.width, o = t.height;
88
- if (m(t.tagName, "IMG") || n && (n < t.width || n < t.height)) {
89
- const r = document.createElement("canvas"), c = r.getContext("2d");
90
- if (n && (n < t.width || n < t.height))
91
- if (h > o) {
92
- const i = h / n;
93
- h = n, o = t.height / i;
94
- } else {
95
- const i = o / n;
96
- o = n, h = h / i;
97
- }
98
- r.width = h, r.height = o, c.drawImage(t, 0, 0, h, o), r.toBlob((i) => {
99
- w({
100
- data: i,
101
- width: h,
102
- height: o,
103
- extension: l
104
- });
105
- });
106
- } else
107
- t.toBlob((r) => {
108
- w({
109
- data: r,
110
- width: h,
111
- height: o,
112
- extension: l
113
- });
114
- });
115
- }
116
- } catch (l) {
117
- E(l);
118
- }
119
- });
120
- }, L = async (s) => {
121
- if (typeof s == "string") {
122
- const n = await b(s);
123
- return {
124
- width: n.width,
125
- height: n.height
126
- };
127
- }
128
- if (s instanceof ImageBitmap || s instanceof HTMLImageElement || s instanceof HTMLCanvasElement || s instanceof OffscreenCanvas || s instanceof ImageData)
129
- return {
130
- width: s.width,
131
- height: s.height
132
- };
133
- if (s instanceof HTMLVideoElement)
134
- return {
135
- width: s.videoWidth,
136
- height: s.videoHeight
137
- };
138
- let e;
139
- try {
140
- return e = await createImageBitmap(s), {
141
- width: e.width,
142
- height: e.height
143
- };
144
- } finally {
145
- e?.close();
146
- }
147
- }, M = async (s, e, n) => {
148
- const t = await I(s, e, n);
149
- return {
150
- url: URL.createObjectURL(t.data),
151
- width: t.width,
152
- height: t.height,
153
- extension: t.extension
154
- };
155
- }, v = (s) => {
156
- const e = u(s);
157
- if (!e)
158
- return [];
159
- const n = e.getElementsByTagName("pre"), t = n.length;
160
- if (t == 0)
161
- return [];
162
- const a = [];
163
- for (let f = 0; f < t; f++) {
164
- const d = n[f];
165
- d.firstElementChild && (d.firstElementChild.tagName == "CODE" || d.firstElementChild.tagName.toLowerCase() == "code") ? d.firstElementChild.children.length == 0 && a.push(d.firstElementChild) : d.children.length == 0 && a.push(d);
166
- }
167
- return a.length == 0 ? [] : a;
168
- }, T = async (s, e, n) => {
169
- if (!y.supportClipboardPng())
170
- throw new Error("Unsupport copy image to clipboard.");
171
- const t = new ClipboardItem({
172
- "image/png": I(s, e, n).then((a) => a.data)
173
- });
174
- await navigator.clipboard.write([t]);
175
- };
176
- export {
177
- T as copyImage,
178
- M as createBlobUrl,
179
- I as getBlob,
180
- L as getImageSize,
181
- v as getRequireHighlightCodeElements
1
+ import { BrowserCapabilities as e } from "../web/BrowserCapabilities.mjs";
2
+ import { compareTagName as t, getDocumentBody as n } from "./finder.mjs";
3
+ //#region kernal/html/image.ts
4
+ var r = async (e) => {
5
+ try {
6
+ let t = new Image();
7
+ if (t.decode) return t.src = e, await t.decode(), {
8
+ width: t.width,
9
+ height: t.height,
10
+ img: t
11
+ };
12
+ } catch (e) {
13
+ console.error("offscreenLoadImage", e);
14
+ }
15
+ return await new Promise((t, n) => {
16
+ let r = new Image();
17
+ r.src = e, r.complete ? t({
18
+ width: r.width,
19
+ height: r.height,
20
+ img: r
21
+ }) : (setTimeout(() => {
22
+ r.width > 0 && r.height > 0 ? t({
23
+ width: r.width,
24
+ height: r.height,
25
+ img: r
26
+ }) : n("timeout");
27
+ }, 2e3), r.addEventListener("error", (e) => {
28
+ n(e);
29
+ }, !1), r.addEventListener("abort", (e) => {
30
+ n("about:" + e);
31
+ }, !1), r.addEventListener("load", () => {
32
+ t({
33
+ width: r.width,
34
+ height: r.height,
35
+ img: r
36
+ });
37
+ }, !1));
38
+ });
39
+ }, i = async (e, n, i) => {
40
+ let a, o = !1;
41
+ if (typeof e == "string") {
42
+ let { img: t } = await r(e);
43
+ a = t;
44
+ } else e instanceof ImageBitmap || e instanceof HTMLCanvasElement || e instanceof HTMLImageElement ? a = e : (a = await createImageBitmap(e), o = !0);
45
+ return new Promise((e, r) => {
46
+ let s = (t) => {
47
+ o && a instanceof ImageBitmap && a.close(), e(t);
48
+ }, c = (e) => {
49
+ o && a instanceof ImageBitmap && a.close(), r(e);
50
+ };
51
+ try {
52
+ let e = ".png";
53
+ if (a instanceof ImageBitmap) {
54
+ let t = document.createElement("canvas"), r = t.getContext("2d"), o = n && Math.abs(n.a) == 1 && Math.abs(n.b) == 0 && Math.abs(n.c) == 0 && Math.abs(n.d) == 1, c = a.width, l = a.height;
55
+ if (i && (i < a.width || i < a.height)) {
56
+ if (c > l) {
57
+ let e = c / i;
58
+ c = i, l = a.height / e;
59
+ } else {
60
+ let e = l / i;
61
+ l = i, c /= e;
62
+ }
63
+ if (t.width = c, t.height = l, o) {
64
+ let e = n.a < 0 ? Math.abs(n.a) * c : 0, t = n.d < 0 ? Math.abs(n.d) * l : 0;
65
+ r.setTransform(n.a, n.b, n.c, n.d, e, t);
66
+ }
67
+ r.drawImage(a, 0, 0, c, l);
68
+ } else {
69
+ if (t.width = c, t.height = l, o) {
70
+ let e = n.a < 0 ? Math.abs(n.a) * c : 0, t = n.d < 0 ? Math.abs(n.d) * l : 0;
71
+ r.setTransform(n.a, n.b, n.c, n.d, e, t);
72
+ }
73
+ r.drawImage(a, 0, 0);
74
+ }
75
+ t.toBlob((t) => {
76
+ s({
77
+ data: t,
78
+ width: c,
79
+ height: l,
80
+ extension: e
81
+ });
82
+ });
83
+ } else {
84
+ let n = a.width, r = a.height;
85
+ if (t(a.tagName, "IMG") || i && (i < a.width || i < a.height)) {
86
+ let t = document.createElement("canvas"), o = t.getContext("2d");
87
+ if (i && (i < a.width || i < a.height)) {
88
+ if (n > r) {
89
+ let e = n / i;
90
+ n = i, r = a.height / e;
91
+ } else {
92
+ let e = r / i;
93
+ r = i, n /= e;
94
+ }
95
+ }
96
+ t.width = n, t.height = r, o.drawImage(a, 0, 0, n, r), t.toBlob((t) => {
97
+ s({
98
+ data: t,
99
+ width: n,
100
+ height: r,
101
+ extension: e
102
+ });
103
+ });
104
+ } else a.toBlob((t) => {
105
+ s({
106
+ data: t,
107
+ width: n,
108
+ height: r,
109
+ extension: e
110
+ });
111
+ });
112
+ }
113
+ } catch (e) {
114
+ c(e);
115
+ }
116
+ });
117
+ }, a = async (e) => {
118
+ if (typeof e == "string") {
119
+ let t = await r(e);
120
+ return {
121
+ width: t.width,
122
+ height: t.height
123
+ };
124
+ }
125
+ if (e instanceof ImageBitmap || e instanceof HTMLImageElement || e instanceof HTMLCanvasElement || e instanceof OffscreenCanvas || e instanceof ImageData) return {
126
+ width: e.width,
127
+ height: e.height
128
+ };
129
+ if (e instanceof HTMLVideoElement) return {
130
+ width: e.videoWidth,
131
+ height: e.videoHeight
132
+ };
133
+ let t;
134
+ try {
135
+ return t = await createImageBitmap(e), {
136
+ width: t.width,
137
+ height: t.height
138
+ };
139
+ } finally {
140
+ t?.close();
141
+ }
142
+ }, o = async (e, t, n) => {
143
+ let r = await i(e, t, n);
144
+ return {
145
+ url: URL.createObjectURL(r.data),
146
+ width: r.width,
147
+ height: r.height,
148
+ extension: r.extension
149
+ };
150
+ }, s = (e) => {
151
+ let t = n(e);
152
+ if (!t) return [];
153
+ let r = t.getElementsByTagName("pre"), i = r.length;
154
+ if (i == 0) return [];
155
+ let a = [];
156
+ for (let e = 0; e < i; e++) {
157
+ let t = r[e];
158
+ t.firstElementChild && (t.firstElementChild.tagName == "CODE" || t.firstElementChild.tagName.toLowerCase() == "code") ? t.firstElementChild.children.length == 0 && a.push(t.firstElementChild) : t.children.length == 0 && a.push(t);
159
+ }
160
+ return a.length == 0 ? [] : a;
161
+ }, c = async (t, n, r) => {
162
+ if (!e.supportClipboardPng()) throw Error("Unsupport copy image to clipboard.");
163
+ let a = new ClipboardItem({ "image/png": i(t, n, r).then((e) => e.data) });
164
+ await navigator.clipboard.write([a]);
182
165
  };
166
+ //#endregion
167
+ export { c as copyImage, o as createBlobUrl, i as getBlob, a as getImageSize, s as getRequireHighlightCodeElements };
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../common/text.cjs"),d=require("../common/uuid.cjs"),D=require("./finder.cjs"),m=(e,n,c,t)=>{const s=e.ownerDocument?e.ownerDocument:e;if(!s.getElementById(n))if(e.ownerDocument&&e!=s.documentElement)t?t(e,c):e.appendChild(c);else{const i=D.getDocumentHead(s);t?t(i,c):i.appendChild(c)}},w=(e,n,c,t,s,u)=>{if(!e||o.isNullOrWhiteSpace(n))return;o.isNullOrWhiteSpace(t)&&(t=d.computeUniqueId(n));const i=e.ownerDocument?e.ownerDocument:e,l=i.getElementById(t);if(l){if(!c)return;l.parentElement?.removeChild(l)}let a;if(s=="css"){const r=f(i,"style",t,{type:"text/css"});r.appendChild(i.createTextNode(n)),a=r}else if(s=="script"){const r=f(i,"script",t,"");r.type="text/javascript",r.text=`//<![CDATA[\r
2
- `+n+`\r
3
- //]]>`,r.async=!1,a=r}else return;m(e,t,a,u)},f=(e,n,c,t)=>{const u=(e.ownerDocument?e.ownerDocument:e).createElement(n);if(o.isNullOrWhiteSpace(c)||u.setAttribute("id",c),t==null)return u;if(typeof t=="string"){if(o.isNullOrWhiteSpace(t))return u;u.setAttribute("class",t)}else Object.keys(t).forEach(l=>{const a=t[l];u.setAttribute(l,a)});return u},y=(e,n)=>!!(e.ownerDocument?e.ownerDocument:e)?.getElementById(n),h=(e,n)=>{if(o.isNullOrWhiteSpace(n))return;const t=(e.ownerDocument?e.ownerDocument:e).getElementById(n);t&&t.parentElement?.removeChild(t)},C=(e,n,c,t="")=>{w(e,n,c,t,"script")},E=(e,n,c,t="",s)=>{w(e,n,c,t,"css",s)},x=async(e,n,c,t="",s)=>{if(!e||o.isNullOrWhiteSpace(n))return;o.isNullOrWhiteSpace(t)&&(t=d.computeUniqueId(n));const i=(e.ownerDocument?e.ownerDocument:e).getElementById(t);if(i)if(c)i.parentElement?.removeChild(i);else return i.getAttribute("data-load-state")=="loading"?new Promise((l,a)=>{i.addEventListener("load",r=>{l()},!1),i.addEventListener("error",r=>{a(r.error)},!1)}):void 0;return new Promise((l,a)=>{const r=f(e,"script",t);s?.type&&(r.type=s?.type),r.src=n,s?.defer&&(r.defer=!0),s?.async&&(r.async=!0),s?.elementCallback&&s?.elementCallback(r),r.setAttribute("data-load-state","loading"),r.addEventListener("load",p=>{r.setAttribute("data-load-state","success"),l()},!1),r.addEventListener("error",p=>{r.setAttribute("data-load-state","fail"),a(p)},!1),m(e,t,r)})},S=async(e,n,c,t="")=>{if(!e||o.isNullOrWhiteSpace(n))return;o.isNullOrWhiteSpace(t)&&(t=d.computeUniqueId(n));const s=e.ownerDocument?e.ownerDocument:e,u=s.getElementById(t);if(u){if(!c)return;u.parentElement?.removeChild(u)}if(s.defaultView)return new Promise((i,l)=>{const a=f(e,"link",t);a.type="text/css",a.rel="stylesheet",a.href=n,a.onload=r=>{i()},a.onerror=l,m(e,t,a)});{const i=f(e,"link",t);i.type="text/css",i.rel="stylesheet",i.href=n,m(e,t,i)}};exports.createElement=f;exports.existsElement=y;exports.injectCssContent=E;exports.injectExternalCss=S;exports.injectExternalJS=x;exports.injectJSContent=C;exports.removeElement=h;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../common/uuid.cjs"),t=require("../common/text.cjs"),n=require("./finder.cjs");var r=(e,t,r,i)=>{let a=e.ownerDocument?e.ownerDocument:e;if(!a.getElementById(t)){if(e.ownerDocument&&e!=a.documentElement)i?i(e,r):e.appendChild(r);else{let e=n.getDocumentHead(a);i?i(e,r):e.appendChild(r)}}},i=(n,i,o,s,c,l)=>{if(!n||t.isNullOrWhiteSpace(i))return;t.isNullOrWhiteSpace(s)&&(s=e.computeUniqueId(i));let u=n.ownerDocument?n.ownerDocument:n,d=u.getElementById(s);if(d){if(!o)return;d.parentElement?.removeChild(d)}let f;if(c==`css`){let e=a(u,`style`,s,{type:`text/css`});e.appendChild(u.createTextNode(i)),f=e}else if(c==`script`){let e=a(u,`script`,s,``);e.type=`text/javascript`,e.text=`//<![CDATA[\r
2
+ `+i+`\r
3
+ //]]>`,e.async=!1,f=e}else return;r(n,s,f,l)},a=(e,n,r,i)=>{let a=(e.ownerDocument?e.ownerDocument:e).createElement(n);if(t.isNullOrWhiteSpace(r)||a.setAttribute(`id`,r),i==null)return a;if(typeof i==`string`){if(t.isNullOrWhiteSpace(i))return a;a.setAttribute(`class`,i)}else Object.keys(i).forEach(e=>{let t=i[e];a.setAttribute(e,t)});return a},o=(e,t)=>!!(e.ownerDocument?e.ownerDocument:e)?.getElementById(t),s=(e,n)=>{if(t.isNullOrWhiteSpace(n))return;let r=(e.ownerDocument?e.ownerDocument:e).getElementById(n);r&&r.parentElement?.removeChild(r)},c=(e,t,n,r=``)=>{i(e,t,n,r,`script`)},l=(e,t,n,r=``,a)=>{i(e,t,n,r,`css`,a)},u=async(n,i,o,s=``,c)=>{if(!n||t.isNullOrWhiteSpace(i))return;t.isNullOrWhiteSpace(s)&&(s=e.computeUniqueId(i));let l=(n.ownerDocument?n.ownerDocument:n).getElementById(s);if(l){if(o)l.parentElement?.removeChild(l);else if(l.getAttribute(`data-load-state`)==`loading`)return new Promise((e,t)=>{l.addEventListener(`load`,t=>{e()},!1),l.addEventListener(`error`,e=>{t(e.error)},!1)});else return}return new Promise((e,t)=>{let o=a(n,`script`,s);c?.type&&(o.type=c?.type),o.src=i,c?.defer&&(o.defer=!0),c?.async&&(o.async=!0),c?.elementCallback&&c?.elementCallback(o),o.setAttribute(`data-load-state`,`loading`),o.addEventListener(`load`,t=>{o.setAttribute(`data-load-state`,`success`),e()},!1),o.addEventListener(`error`,e=>{o.setAttribute(`data-load-state`,`fail`),t(e)},!1),r(n,s,o)})},d=async(n,i,o,s=``)=>{if(!n||t.isNullOrWhiteSpace(i))return;t.isNullOrWhiteSpace(s)&&(s=e.computeUniqueId(i));let c=n.ownerDocument?n.ownerDocument:n,l=c.getElementById(s);if(l){if(!o)return;l.parentElement?.removeChild(l)}if(c.defaultView)return new Promise((e,t)=>{let o=a(n,`link`,s);o.type=`text/css`,o.rel=`stylesheet`,o.href=i,o.onload=t=>{e()},o.onerror=t,r(n,s,o)});{let e=a(n,`link`,s);e.type=`text/css`,e.rel=`stylesheet`,e.href=i,r(n,s,e)}};exports.createElement=a,exports.existsElement=o,exports.injectCssContent=l,exports.injectExternalCss=d,exports.injectExternalJS=u,exports.injectJSContent=c,exports.removeElement=s;
@@ -1,110 +1,93 @@
1
- import { isNullOrWhiteSpace as f } from "../common/text.mjs";
2
- import { computeUniqueId as d } from "../common/uuid.mjs";
3
- import { getDocumentHead as D } from "./finder.mjs";
4
- const m = (e, t, c, n) => {
5
- const i = e.ownerDocument ? e.ownerDocument : e;
6
- if (!i.getElementById(t))
7
- if (e.ownerDocument && e != i.documentElement)
8
- n ? n(e, c) : e.appendChild(c);
9
- else {
10
- const s = D(i);
11
- n ? n(s, c) : s.appendChild(c);
12
- }
13
- }, w = (e, t, c, n, i, o) => {
14
- if (!e || f(t))
15
- return;
16
- f(n) && (n = d(t));
17
- const s = e.ownerDocument ? e.ownerDocument : e, u = s.getElementById(n);
18
- if (u) {
19
- if (!c) return;
20
- u.parentElement?.removeChild(u);
21
- }
22
- let a;
23
- if (i == "css") {
24
- const r = l(s, "style", n, {
25
- type: "text/css"
26
- });
27
- r.appendChild(s.createTextNode(t)), a = r;
28
- } else if (i == "script") {
29
- const r = l(s, "script", n, "");
30
- r.type = "text/javascript", r.text = `//<![CDATA[\r
31
- ` + t + `\r
32
- //]]>`, r.async = !1, a = r;
33
- } else
34
- return;
35
- m(e, n, a, o);
36
- }, l = (e, t, c, n) => {
37
- const o = (e.ownerDocument ? e.ownerDocument : e).createElement(t);
38
- if (f(c) || o.setAttribute("id", c), n == null) return o;
39
- if (typeof n == "string") {
40
- if (f(n)) return o;
41
- o.setAttribute("class", n);
42
- } else
43
- Object.keys(n).forEach((u) => {
44
- const a = n[u];
45
- o.setAttribute(u, a);
46
- });
47
- return o;
48
- }, C = (e, t) => !!(e.ownerDocument ? e.ownerDocument : e)?.getElementById(t), E = (e, t) => {
49
- if (f(t))
50
- return;
51
- const n = (e.ownerDocument ? e.ownerDocument : e).getElementById(t);
52
- n && n.parentElement?.removeChild(n);
53
- }, g = (e, t, c, n = "") => {
54
- w(e, t, c, n, "script");
55
- }, v = (e, t, c, n = "", i) => {
56
- w(e, t, c, n, "css", i);
57
- }, B = async (e, t, c, n = "", i) => {
58
- if (!e || f(t))
59
- return;
60
- f(n) && (n = d(t));
61
- const s = (e.ownerDocument ? e.ownerDocument : e).getElementById(n);
62
- if (s)
63
- if (c)
64
- s.parentElement?.removeChild(s);
65
- else
66
- return s.getAttribute("data-load-state") == "loading" ? new Promise((u, a) => {
67
- s.addEventListener("load", (r) => {
68
- u();
69
- }, !1), s.addEventListener("error", (r) => {
70
- a(r.error);
71
- }, !1);
72
- }) : void 0;
73
- return new Promise((u, a) => {
74
- const r = l(e, "script", n);
75
- i?.type && (r.type = i?.type), r.src = t, i?.defer && (r.defer = !0), i?.async && (r.async = !0), i?.elementCallback && i?.elementCallback(r), r.setAttribute("data-load-state", "loading"), r.addEventListener("load", (p) => {
76
- r.setAttribute("data-load-state", "success"), u();
77
- }, !1), r.addEventListener("error", (p) => {
78
- r.setAttribute("data-load-state", "fail"), a(p);
79
- }, !1), m(e, n, r);
80
- });
81
- }, k = async (e, t, c, n = "") => {
82
- if (!e || f(t))
83
- return;
84
- f(n) && (n = d(t));
85
- const i = e.ownerDocument ? e.ownerDocument : e, o = i.getElementById(n);
86
- if (o) {
87
- if (!c) return;
88
- o.parentElement?.removeChild(o);
89
- }
90
- if (i.defaultView)
91
- return new Promise((s, u) => {
92
- const a = l(e, "link", n);
93
- a.type = "text/css", a.rel = "stylesheet", a.href = t, a.onload = (r) => {
94
- s();
95
- }, a.onerror = u, m(e, n, a);
96
- });
97
- {
98
- const s = l(e, "link", n);
99
- s.type = "text/css", s.rel = "stylesheet", s.href = t, m(e, n, s);
100
- }
101
- };
102
- export {
103
- l as createElement,
104
- C as existsElement,
105
- v as injectCssContent,
106
- k as injectExternalCss,
107
- B as injectExternalJS,
108
- g as injectJSContent,
109
- E as removeElement
1
+ import { computeUniqueId as e } from "../common/uuid.mjs";
2
+ import { isNullOrWhiteSpace as t } from "../common/text.mjs";
3
+ import { getDocumentHead as n } from "./finder.mjs";
4
+ //#region kernal/html/injector.ts
5
+ var r = (e, t, r, i) => {
6
+ let a = e.ownerDocument ? e.ownerDocument : e;
7
+ if (!a.getElementById(t)) {
8
+ if (e.ownerDocument && e != a.documentElement) i ? i(e, r) : e.appendChild(r);
9
+ else {
10
+ let e = n(a);
11
+ i ? i(e, r) : e.appendChild(r);
12
+ }
13
+ }
14
+ }, i = (n, i, o, s, c, l) => {
15
+ if (!n || t(i)) return;
16
+ t(s) && (s = e(i));
17
+ let u = n.ownerDocument ? n.ownerDocument : n, d = u.getElementById(s);
18
+ if (d) {
19
+ if (!o) return;
20
+ d.parentElement?.removeChild(d);
21
+ }
22
+ let f;
23
+ if (c == "css") {
24
+ let e = a(u, "style", s, { type: "text/css" });
25
+ e.appendChild(u.createTextNode(i)), f = e;
26
+ } else if (c == "script") {
27
+ let e = a(u, "script", s, "");
28
+ e.type = "text/javascript", e.text = "//<![CDATA[\r\n" + i + "\r\n//]]>", e.async = !1, f = e;
29
+ } else return;
30
+ r(n, s, f, l);
31
+ }, a = (e, n, r, i) => {
32
+ let a = (e.ownerDocument ? e.ownerDocument : e).createElement(n);
33
+ if (t(r) || a.setAttribute("id", r), i == null) return a;
34
+ if (typeof i == "string") {
35
+ if (t(i)) return a;
36
+ a.setAttribute("class", i);
37
+ } else Object.keys(i).forEach((e) => {
38
+ let t = i[e];
39
+ a.setAttribute(e, t);
40
+ });
41
+ return a;
42
+ }, o = (e, t) => !!(e.ownerDocument ? e.ownerDocument : e)?.getElementById(t), s = (e, n) => {
43
+ if (t(n)) return;
44
+ let r = (e.ownerDocument ? e.ownerDocument : e).getElementById(n);
45
+ r && r.parentElement?.removeChild(r);
46
+ }, c = (e, t, n, r = "") => {
47
+ i(e, t, n, r, "script");
48
+ }, l = (e, t, n, r = "", a) => {
49
+ i(e, t, n, r, "css", a);
50
+ }, u = async (n, i, o, s = "", c) => {
51
+ if (!n || t(i)) return;
52
+ t(s) && (s = e(i));
53
+ let l = (n.ownerDocument ? n.ownerDocument : n).getElementById(s);
54
+ if (l) {
55
+ if (o) l.parentElement?.removeChild(l);
56
+ else if (l.getAttribute("data-load-state") == "loading") return new Promise((e, t) => {
57
+ l.addEventListener("load", (t) => {
58
+ e();
59
+ }, !1), l.addEventListener("error", (e) => {
60
+ t(e.error);
61
+ }, !1);
62
+ });
63
+ else return;
64
+ }
65
+ return new Promise((e, t) => {
66
+ let o = a(n, "script", s);
67
+ c?.type && (o.type = c?.type), o.src = i, c?.defer && (o.defer = !0), c?.async && (o.async = !0), c?.elementCallback && c?.elementCallback(o), o.setAttribute("data-load-state", "loading"), o.addEventListener("load", (t) => {
68
+ o.setAttribute("data-load-state", "success"), e();
69
+ }, !1), o.addEventListener("error", (e) => {
70
+ o.setAttribute("data-load-state", "fail"), t(e);
71
+ }, !1), r(n, s, o);
72
+ });
73
+ }, d = async (n, i, o, s = "") => {
74
+ if (!n || t(i)) return;
75
+ t(s) && (s = e(i));
76
+ let c = n.ownerDocument ? n.ownerDocument : n, l = c.getElementById(s);
77
+ if (l) {
78
+ if (!o) return;
79
+ l.parentElement?.removeChild(l);
80
+ }
81
+ if (c.defaultView) return new Promise((e, t) => {
82
+ let o = a(n, "link", s);
83
+ o.type = "text/css", o.rel = "stylesheet", o.href = i, o.onload = (t) => {
84
+ e();
85
+ }, o.onerror = t, r(n, s, o);
86
+ });
87
+ {
88
+ let e = a(n, "link", s);
89
+ e.type = "text/css", e.rel = "stylesheet", e.href = i, r(n, s, e);
90
+ }
110
91
  };
92
+ //#endregion
93
+ export { a as createElement, o as existsElement, l as injectCssContent, d as injectExternalCss, u as injectExternalJS, c as injectJSContent, s as removeElement };