roxxie-proxy-u-prod 0.1.0

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 (481) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +123 -0
  3. package/SOURCE.md +29 -0
  4. package/THIRD_PARTY_NOTICES.md +24 -0
  5. package/dist/assets/filters-Bu_3nHVy.bin +0 -0
  6. package/dist/assets/index-BdRlQ7d_.css +1 -0
  7. package/dist/assets/index-DcvPYWS3.js +3621 -0
  8. package/dist/assets/inject-BnVzMVpl.js +40 -0
  9. package/dist/assets/scramjet-C9HLwI-y.wasm +0 -0
  10. package/dist/defaultfavicon.png +0 -0
  11. package/dist/icon.png +0 -0
  12. package/dist/roxxie-icon.svg +12 -0
  13. package/embed.js +70 -0
  14. package/examples/single-page.html +25 -0
  15. package/package.json +42 -0
  16. package/runtime/controller.sw.js +273 -0
  17. package/runtime/index.html +18 -0
  18. package/runtime/localcontrollersw.js +7 -0
  19. package/runtime/roxxie-network.json +13 -0
  20. package/runtime/sw.js +6 -0
  21. package/scripts/build.mjs +344 -0
  22. package/scripts/smoke.mjs +123 -0
  23. package/scripts/verify.mjs +122 -0
  24. package/source/external/dreamlandjs/LICENSE +21 -0
  25. package/source/external/dreamlandjs/README.md +22 -0
  26. package/source/external/dreamlandjs/dist/core.d.ts +167 -0
  27. package/source/external/dreamlandjs/dist/core.js +2 -0
  28. package/source/external/dreamlandjs/dist/core.js.map +1 -0
  29. package/source/external/dreamlandjs/dist/core.size.html +4950 -0
  30. package/source/external/dreamlandjs/dist/js-runtime.d.ts +3 -0
  31. package/source/external/dreamlandjs/dist/js-runtime.js +2 -0
  32. package/source/external/dreamlandjs/dist/js-runtime.js.map +1 -0
  33. package/source/external/dreamlandjs/dist/jsx-runtime.d.ts +1 -0
  34. package/source/external/dreamlandjs/dist/jsx-runtime.js +2 -0
  35. package/source/external/dreamlandjs/dist/jsx-runtime.js.map +1 -0
  36. package/source/external/dreamlandjs/dist/motion.d.ts +19 -0
  37. package/source/external/dreamlandjs/dist/motion.js +2 -0
  38. package/source/external/dreamlandjs/dist/motion.js.map +1 -0
  39. package/source/external/dreamlandjs/dist/router.d.ts +48 -0
  40. package/source/external/dreamlandjs/dist/router.js +2 -0
  41. package/source/external/dreamlandjs/dist/router.js.map +1 -0
  42. package/source/external/dreamlandjs/dist/ssr.client.d.ts +3 -0
  43. package/source/external/dreamlandjs/dist/ssr.client.js +2 -0
  44. package/source/external/dreamlandjs/dist/ssr.client.js.map +1 -0
  45. package/source/external/dreamlandjs/dist/ssr.client.size.html +4950 -0
  46. package/source/external/dreamlandjs/dist/ssr.hybrid.d.ts +7 -0
  47. package/source/external/dreamlandjs/dist/ssr.hybrid.js +2 -0
  48. package/source/external/dreamlandjs/dist/ssr.hybrid.js.map +1 -0
  49. package/source/external/dreamlandjs/dist/ssr.hybrid.size.html +4950 -0
  50. package/source/external/dreamlandjs/dist/ssr.server.d.ts +11 -0
  51. package/source/external/dreamlandjs/dist/ssr.server.js +2373 -0
  52. package/source/external/dreamlandjs/dist/ssr.server.js.map +1 -0
  53. package/source/external/dreamlandjs/dist/types/core/consts.d.ts +16 -0
  54. package/source/external/dreamlandjs/dist/types/core/css/index.d.ts +11 -0
  55. package/source/external/dreamlandjs/dist/types/core/css/selectorParser.d.ts +50 -0
  56. package/source/external/dreamlandjs/dist/types/core/delegate.d.ts +10 -0
  57. package/source/external/dreamlandjs/dist/types/core/index.d.ts +9 -0
  58. package/source/external/dreamlandjs/dist/types/core/jsx/child.d.ts +2 -0
  59. package/source/external/dreamlandjs/dist/types/core/jsx/definitions.d.ts +76 -0
  60. package/source/external/dreamlandjs/dist/types/core/jsx/dom.d.ts +28 -0
  61. package/source/external/dreamlandjs/dist/types/core/jsx/index.d.ts +14 -0
  62. package/source/external/dreamlandjs/dist/types/core/state/index.d.ts +1 -0
  63. package/source/external/dreamlandjs/dist/types/core/state/pointers.d.ts +37 -0
  64. package/source/external/dreamlandjs/dist/types/core/state/state.d.ts +13 -0
  65. package/source/external/dreamlandjs/dist/types/core/state/use.d.ts +11 -0
  66. package/source/external/dreamlandjs/dist/types/core/utils.d.ts +4 -0
  67. package/source/external/dreamlandjs/dist/types/js-runtime/index.d.ts +1 -0
  68. package/source/external/dreamlandjs/dist/types/jsx-runtime/index.d.ts +2 -0
  69. package/source/external/dreamlandjs/dist/types/motion/index.d.ts +15 -0
  70. package/source/external/dreamlandjs/dist/types/router/index.d.ts +45 -0
  71. package/source/external/dreamlandjs/dist/types/ssr/client/index.d.ts +1 -0
  72. package/source/external/dreamlandjs/dist/types/ssr/common/consts.d.ts +4 -0
  73. package/source/external/dreamlandjs/dist/types/ssr/common/serialize.d.ts +4 -0
  74. package/source/external/dreamlandjs/dist/types/ssr/common/types.d.ts +21 -0
  75. package/source/external/dreamlandjs/dist/types/ssr/hybrid/index.d.ts +4 -0
  76. package/source/external/dreamlandjs/dist/types/ssr/server/index.d.ts +7 -0
  77. package/source/external/dreamlandjs/dist/types/ssr/server/vdom.d.ts +71 -0
  78. package/source/external/dreamlandjs/dist/types/util/index.d.ts +1 -0
  79. package/source/external/dreamlandjs/dist/types/util/store.d.ts +26 -0
  80. package/source/external/dreamlandjs/dist/types/vite/css-minifier.d.ts +7 -0
  81. package/source/external/dreamlandjs/dist/types/vite/index.d.ts +11 -0
  82. package/source/external/dreamlandjs/dist/util.d.ts +29 -0
  83. package/source/external/dreamlandjs/dist/util.js +2 -0
  84. package/source/external/dreamlandjs/dist/util.js.map +1 -0
  85. package/source/external/dreamlandjs/dist/vite.d.ts +19 -0
  86. package/source/external/dreamlandjs/dist/vite.js +2 -0
  87. package/source/external/dreamlandjs/dist/vite.js.map +1 -0
  88. package/source/external/dreamlandjs/package.json +101 -0
  89. package/source/external/dreamlandjs/rollup.config.ts +302 -0
  90. package/source/external/dreamlandjs/rollup.plugins.ts +1134 -0
  91. package/source/external/dreamlandjs/src/core/consts.d.ts +16 -0
  92. package/source/external/dreamlandjs/src/core/consts.js +18 -0
  93. package/source/external/dreamlandjs/src/core/css/index.ts +111 -0
  94. package/source/external/dreamlandjs/src/core/css/selectorParser.ts +313 -0
  95. package/source/external/dreamlandjs/src/core/delegate.ts +28 -0
  96. package/source/external/dreamlandjs/src/core/index.ts +31 -0
  97. package/source/external/dreamlandjs/src/core/jsx/child.ts +91 -0
  98. package/source/external/dreamlandjs/src/core/jsx/definitions.ts +125 -0
  99. package/source/external/dreamlandjs/src/core/jsx/dom.ts +49 -0
  100. package/source/external/dreamlandjs/src/core/jsx/index.ts +289 -0
  101. package/source/external/dreamlandjs/src/core/state/index.ts +1 -0
  102. package/source/external/dreamlandjs/src/core/state/pointers.ts +310 -0
  103. package/source/external/dreamlandjs/src/core/state/state.ts +112 -0
  104. package/source/external/dreamlandjs/src/core/state/use.ts +82 -0
  105. package/source/external/dreamlandjs/src/core/utils.ts +48 -0
  106. package/source/external/dreamlandjs/src/js-runtime/index.ts +4 -0
  107. package/source/external/dreamlandjs/src/jsx-runtime/index.ts +3 -0
  108. package/source/external/dreamlandjs/src/motion/index.ts +156 -0
  109. package/source/external/dreamlandjs/src/router/index.tsx +394 -0
  110. package/source/external/dreamlandjs/src/router/tsconfig.json +9 -0
  111. package/source/external/dreamlandjs/src/ssr/client/index.ts +193 -0
  112. package/source/external/dreamlandjs/src/ssr/common/consts.ts +5 -0
  113. package/source/external/dreamlandjs/src/ssr/common/serialize.ts +115 -0
  114. package/source/external/dreamlandjs/src/ssr/common/types.ts +28 -0
  115. package/source/external/dreamlandjs/src/ssr/hybrid/index.ts +144 -0
  116. package/source/external/dreamlandjs/src/ssr/server/index.ts +157 -0
  117. package/source/external/dreamlandjs/src/ssr/server/tsconfig.json +7 -0
  118. package/source/external/dreamlandjs/src/ssr/server/vdom.ts +285 -0
  119. package/source/external/dreamlandjs/src/util/index.ts +10 -0
  120. package/source/external/dreamlandjs/src/util/store.ts +134 -0
  121. package/source/external/dreamlandjs/src/vite/css-minifier.ts +222 -0
  122. package/source/external/dreamlandjs/src/vite/index.ts +60 -0
  123. package/source/external/dreamlandjs/src/vite/tsconfig.json +7 -0
  124. package/source/external/dreamlandjs/tsconfig.json +15 -0
  125. package/source/package.json +48 -0
  126. package/source/packages/adrift-protocol/package.json +31 -0
  127. package/source/packages/adrift-protocol/src/index.ts +348 -0
  128. package/source/packages/adrift-protocol/tsconfig.json +18 -0
  129. package/source/packages/cdp/LICENSE +21 -0
  130. package/source/packages/cdp/README.md +47 -0
  131. package/source/packages/cdp/dist/chobitsu.js +2 -0
  132. package/source/packages/cdp/dist/chobitsu.js.map +1 -0
  133. package/source/packages/cdp/package.json +73 -0
  134. package/source/packages/cdp/script/build.js +15 -0
  135. package/source/packages/cdp/src/Chobitsu.ts +110 -0
  136. package/source/packages/cdp/src/domains/CSS.ts +378 -0
  137. package/source/packages/cdp/src/domains/CacheStorage.ts +8 -0
  138. package/source/packages/cdp/src/domains/DOM.ts +487 -0
  139. package/source/packages/cdp/src/domains/DOMDebugger.ts +109 -0
  140. package/source/packages/cdp/src/domains/DOMStorage.ts +122 -0
  141. package/source/packages/cdp/src/domains/Debugger.ts +25 -0
  142. package/source/packages/cdp/src/domains/IndexedDB.ts +207 -0
  143. package/source/packages/cdp/src/domains/Input.ts +177 -0
  144. package/source/packages/cdp/src/domains/Network.ts +251 -0
  145. package/source/packages/cdp/src/domains/Overlay.ts +230 -0
  146. package/source/packages/cdp/src/domains/Page.ts +296 -0
  147. package/source/packages/cdp/src/domains/Runtime.ts +273 -0
  148. package/source/packages/cdp/src/domains/Storage.ts +71 -0
  149. package/source/packages/cdp/src/index.d.ts +8 -0
  150. package/source/packages/cdp/src/index.ts +153 -0
  151. package/source/packages/cdp/src/lib/connector.ts +15 -0
  152. package/source/packages/cdp/src/lib/constants.ts +1 -0
  153. package/source/packages/cdp/src/lib/evaluate.ts +59 -0
  154. package/source/packages/cdp/src/lib/mutationObserver.ts +39 -0
  155. package/source/packages/cdp/src/lib/nodeManager.ts +142 -0
  156. package/source/packages/cdp/src/lib/objManager.ts +422 -0
  157. package/source/packages/cdp/src/lib/request.ts +313 -0
  158. package/source/packages/cdp/src/lib/resources.ts +59 -0
  159. package/source/packages/cdp/src/lib/scriptMananger.ts +62 -0
  160. package/source/packages/cdp/src/lib/stylesheet.ts +146 -0
  161. package/source/packages/cdp/src/lib/util.ts +105 -0
  162. package/source/packages/cdp/tsconfig.json +16 -0
  163. package/source/packages/cdp/webpack.config.js +48 -0
  164. package/source/packages/chrome/index.html +17 -0
  165. package/source/packages/chrome/package.json +41 -0
  166. package/source/packages/chrome/public/ROXXIE_NETWORK.md +22 -0
  167. package/source/packages/chrome/public/controller.sw.js +273 -0
  168. package/source/packages/chrome/public/defaultfavicon.png +0 -0
  169. package/source/packages/chrome/public/icon.png +0 -0
  170. package/source/packages/chrome/public/localcontrollersw.js +7 -0
  171. package/source/packages/chrome/public/roxxie-icon.svg +12 -0
  172. package/source/packages/chrome/public/roxxie-network.json +13 -0
  173. package/source/packages/chrome/public/sw.js +6 -0
  174. package/source/packages/chrome/src/App.tsx +269 -0
  175. package/source/packages/chrome/src/CDP.ts +285 -0
  176. package/source/packages/chrome/src/Tab/History.ts +186 -0
  177. package/source/packages/chrome/src/Tab/Tab.tsx +219 -0
  178. package/source/packages/chrome/src/Tab/screenshot.ts +66 -0
  179. package/source/packages/chrome/src/Tab/serialize.ts +221 -0
  180. package/source/packages/chrome/src/adblock/AdBlockPlugin.test.ts +159 -0
  181. package/source/packages/chrome/src/adblock/AdBlockPlugin.ts +232 -0
  182. package/source/packages/chrome/src/adblock/AdBlockService.test.ts +148 -0
  183. package/source/packages/chrome/src/adblock/AdBlockService.ts +166 -0
  184. package/source/packages/chrome/src/adblock/NOTICE.md +14 -0
  185. package/source/packages/chrome/src/adblock/assets/filters.bin +0 -0
  186. package/source/packages/chrome/src/adblock/index.ts +18 -0
  187. package/source/packages/chrome/src/assets/favicon.ts +4 -0
  188. package/source/packages/chrome/src/components/BookmarkPopup.tsx +101 -0
  189. package/source/packages/chrome/src/components/BookmarksStrip.tsx +150 -0
  190. package/source/packages/chrome/src/components/Button.tsx +99 -0
  191. package/source/packages/chrome/src/components/Checkbox.tsx +89 -0
  192. package/source/packages/chrome/src/components/DownloadsPopup.tsx +230 -0
  193. package/source/packages/chrome/src/components/Favicon.tsx +65 -0
  194. package/source/packages/chrome/src/components/Icon.tsx +29 -0
  195. package/source/packages/chrome/src/components/Input.tsx +82 -0
  196. package/source/packages/chrome/src/components/Menu.tsx +287 -0
  197. package/source/packages/chrome/src/components/Omnibar/BookmarkButton.tsx +73 -0
  198. package/source/packages/chrome/src/components/Omnibar/CircularProgress.tsx +83 -0
  199. package/source/packages/chrome/src/components/Omnibar/Omnibar.tsx +455 -0
  200. package/source/packages/chrome/src/components/Omnibar/OmnibarButton.tsx +48 -0
  201. package/source/packages/chrome/src/components/Omnibar/Omnibox.tsx +466 -0
  202. package/source/packages/chrome/src/components/Omnibar/SiteOptionsButton.tsx +52 -0
  203. package/source/packages/chrome/src/components/Omnibar/Suggestion.tsx +186 -0
  204. package/source/packages/chrome/src/components/Omnibar/UrlInput.tsx +198 -0
  205. package/source/packages/chrome/src/components/Omnibar/suggestions.ts +468 -0
  206. package/source/packages/chrome/src/components/Omnibar/utils.ts +11 -0
  207. package/source/packages/chrome/src/components/ReportBrokenSiteModal.tsx +279 -0
  208. package/source/packages/chrome/src/components/Shell.tsx +191 -0
  209. package/source/packages/chrome/src/components/SiteInformationPopup.tsx +96 -0
  210. package/source/packages/chrome/src/components/SmallIconButton.tsx +36 -0
  211. package/source/packages/chrome/src/components/StartScreen.tsx +386 -0
  212. package/source/packages/chrome/src/components/TabStrip/DragTab.tsx +546 -0
  213. package/source/packages/chrome/src/components/TabStrip/Sidebar.tsx +820 -0
  214. package/source/packages/chrome/src/components/TabStrip/TabHoverCard.tsx +87 -0
  215. package/source/packages/chrome/src/components/TabStrip/TabStrip.tsx +510 -0
  216. package/source/packages/chrome/src/components/TopSiteButton.tsx +234 -0
  217. package/source/packages/chrome/src/consts.ts +3 -0
  218. package/source/packages/chrome/src/icons.ts +70 -0
  219. package/source/packages/chrome/src/index.ts +168 -0
  220. package/source/packages/chrome/src/migrations/0-from-legacy.ts +6 -0
  221. package/source/packages/chrome/src/migrations/1-vertical-tab-settings.ts +15 -0
  222. package/source/packages/chrome/src/migrations/index.ts +42 -0
  223. package/source/packages/chrome/src/pages/AboutPage.tsx +37 -0
  224. package/source/packages/chrome/src/pages/DownloadsPage.tsx +133 -0
  225. package/source/packages/chrome/src/pages/HistoryPage.tsx +99 -0
  226. package/source/packages/chrome/src/pages/NewTabPage.tsx +264 -0
  227. package/source/packages/chrome/src/pages/PlaygroundPage.tsx +43 -0
  228. package/source/packages/chrome/src/pages/SettingsPage.tsx +1931 -0
  229. package/source/packages/chrome/src/proxy/Controller.ts +331 -0
  230. package/source/packages/chrome/src/proxy/ProxyFrame.ts +26 -0
  231. package/source/packages/chrome/src/proxy/cache.ts +487 -0
  232. package/source/packages/chrome/src/proxy/codec.ts +11 -0
  233. package/source/packages/chrome/src/proxy/contextitems.ts +180 -0
  234. package/source/packages/chrome/src/proxy/index.ts +5 -0
  235. package/source/packages/chrome/src/proxy/roxxie.ts +85 -0
  236. package/source/packages/chrome/src/proxy/scramjet.ts +642 -0
  237. package/source/packages/chrome/src/reset.css +124 -0
  238. package/source/packages/chrome/src/runtime-base.ts +16 -0
  239. package/source/packages/chrome/src/sentry.tsx +45 -0
  240. package/source/packages/chrome/src/services/DownloadsService.ts +136 -0
  241. package/source/packages/chrome/src/services/FaviconService.ts +161 -0
  242. package/source/packages/chrome/src/services/KVWrapper.ts +169 -0
  243. package/source/packages/chrome/src/services/ProfileService.ts +94 -0
  244. package/source/packages/chrome/src/services/Service.ts +10 -0
  245. package/source/packages/chrome/src/services/SettingsService.ts +108 -0
  246. package/source/packages/chrome/src/services/TabsService.ts +161 -0
  247. package/source/packages/chrome/src/startup.test.ts +129 -0
  248. package/source/packages/chrome/src/startup.ts +161 -0
  249. package/source/packages/chrome/src/style.css +229 -0
  250. package/source/packages/chrome/src/themes.ts +756 -0
  251. package/source/packages/chrome/src/util/StatefulClass.ts +31 -0
  252. package/source/packages/chrome/src/util/index.ts +74 -0
  253. package/source/packages/chrome/src/util/memoize.ts +13 -0
  254. package/source/packages/chrome/src/vite-env.d.ts +16 -0
  255. package/source/packages/chrome/tsconfig.json +30 -0
  256. package/source/packages/chrome/vite.config.ts +47 -0
  257. package/source/packages/inject/package.json +20 -0
  258. package/source/packages/inject/src/context.ts +194 -0
  259. package/source/packages/inject/src/emulators/alwaysLastBubble.ts +168 -0
  260. package/source/packages/inject/src/emulators/anchors.ts +55 -0
  261. package/source/packages/inject/src/emulators/contextmenu.ts +46 -0
  262. package/source/packages/inject/src/emulators/history.ts +51 -0
  263. package/source/packages/inject/src/emulators/titlewatcher.ts +42 -0
  264. package/source/packages/inject/src/emulators/windowopen.ts +134 -0
  265. package/source/packages/inject/src/errorpage/errorpage.css +234 -0
  266. package/source/packages/inject/src/errorpage/errorpage.html +29 -0
  267. package/source/packages/inject/src/errorpage/errorpage.ts +76 -0
  268. package/source/packages/inject/src/index.ts +62 -0
  269. package/source/packages/inject/src/transport.ts +97 -0
  270. package/source/packages/inject/src/types.d.ts +136 -0
  271. package/source/packages/roxxie-transport/package.json +36 -0
  272. package/source/packages/roxxie-transport/src/binary.ts +398 -0
  273. package/source/packages/roxxie-transport/src/config.ts +254 -0
  274. package/source/packages/roxxie-transport/src/connection.ts +767 -0
  275. package/source/packages/roxxie-transport/src/index.ts +5 -0
  276. package/source/packages/roxxie-transport/src/tracker.ts +651 -0
  277. package/source/packages/roxxie-transport/src/transport.ts +414 -0
  278. package/source/packages/roxxie-transport/tsconfig.json +18 -0
  279. package/source/packages/scramjet/packages/controller/package.json +37 -0
  280. package/source/packages/scramjet/packages/controller/src/index.ts +861 -0
  281. package/source/packages/scramjet/packages/controller/src/inject.ts +365 -0
  282. package/source/packages/scramjet/packages/controller/src/sw.ts +231 -0
  283. package/source/packages/scramjet/packages/controller/src/symbols.ts +1 -0
  284. package/source/packages/scramjet/packages/controller/src/types.d.ts +140 -0
  285. package/source/packages/scramjet/packages/controller/src/typesEntry.ts +6 -0
  286. package/source/packages/scramjet/packages/controller/src/version.ts +30 -0
  287. package/source/packages/scramjet/packages/controller/tsconfig.json +24 -0
  288. package/source/packages/scramjet/packages/core/dist/scramjet-external.mjs +57 -0
  289. package/source/packages/scramjet/packages/core/dist/scramjet.js +13599 -0
  290. package/source/packages/scramjet/packages/core/dist/scramjet.js.map +1 -0
  291. package/source/packages/scramjet/packages/core/dist/scramjet.mjs +13649 -0
  292. package/source/packages/scramjet/packages/core/dist/scramjet.mjs.map +1 -0
  293. package/source/packages/scramjet/packages/core/dist/scramjet.wasm +0 -0
  294. package/source/packages/scramjet/packages/core/dist/scramjet_bundled.js +13601 -0
  295. package/source/packages/scramjet/packages/core/dist/scramjet_bundled.js.map +1 -0
  296. package/source/packages/scramjet/packages/core/dist/scramjet_bundled.mjs +13651 -0
  297. package/source/packages/scramjet/packages/core/dist/scramjet_bundled.mjs.map +1 -0
  298. package/source/packages/scramjet/packages/core/dist/temp-types-build/index.js +23 -0
  299. package/source/packages/scramjet/packages/core/dist/temp-types-build/index.js.map +1 -0
  300. package/source/packages/scramjet/packages/core/dist/types/Tap.d.ts +39 -0
  301. package/source/packages/scramjet/packages/core/dist/types/client/client.d.ts +115 -0
  302. package/source/packages/scramjet/packages/core/dist/types/client/entry.d.ts +5 -0
  303. package/source/packages/scramjet/packages/core/dist/types/client/events.d.ts +10 -0
  304. package/source/packages/scramjet/packages/core/dist/types/client/helpers.d.ts +1 -0
  305. package/source/packages/scramjet/packages/core/dist/types/client/index.d.ts +7 -0
  306. package/source/packages/scramjet/packages/core/dist/types/client/location.d.ts +2 -0
  307. package/source/packages/scramjet/packages/core/dist/types/client/shared/eval.d.ts +3 -0
  308. package/source/packages/scramjet/packages/core/dist/types/client/shared/sourcemaps.d.ts +19 -0
  309. package/source/packages/scramjet/packages/core/dist/types/client/shared/wrap.d.ts +4 -0
  310. package/source/packages/scramjet/packages/core/dist/types/client/singletonbox.d.ts +18 -0
  311. package/source/packages/scramjet/packages/core/dist/types/fetch/body.d.ts +3 -0
  312. package/source/packages/scramjet/packages/core/dist/types/fetch/fetch.d.ts +7 -0
  313. package/source/packages/scramjet/packages/core/dist/types/fetch/headers.d.ts +19 -0
  314. package/source/packages/scramjet/packages/core/dist/types/fetch/index.d.ts +128 -0
  315. package/source/packages/scramjet/packages/core/dist/types/fetch/parse.d.ts +23 -0
  316. package/source/packages/scramjet/packages/core/dist/types/fetch/util.d.ts +7 -0
  317. package/source/packages/scramjet/packages/core/dist/types/index.d.ts +12 -0
  318. package/source/packages/scramjet/packages/core/dist/types/shared/cookie.d.ts +26 -0
  319. package/source/packages/scramjet/packages/core/dist/types/shared/headers.d.ts +13 -0
  320. package/source/packages/scramjet/packages/core/dist/types/shared/htmlRules.d.ts +6 -0
  321. package/source/packages/scramjet/packages/core/dist/types/shared/index.d.ts +50 -0
  322. package/source/packages/scramjet/packages/core/dist/types/shared/mime.d.ts +53 -0
  323. package/source/packages/scramjet/packages/core/dist/types/shared/refresh.d.ts +7 -0
  324. package/source/packages/scramjet/packages/core/dist/types/shared/rewriters/css.d.ts +4 -0
  325. package/source/packages/scramjet/packages/core/dist/types/shared/rewriters/html.d.ts +33 -0
  326. package/source/packages/scramjet/packages/core/dist/types/shared/rewriters/index.d.ts +6 -0
  327. package/source/packages/scramjet/packages/core/dist/types/shared/rewriters/js.d.ts +11 -0
  328. package/source/packages/scramjet/packages/core/dist/types/shared/rewriters/url.d.ts +24 -0
  329. package/source/packages/scramjet/packages/core/dist/types/shared/rewriters/wasm.d.ts +7 -0
  330. package/source/packages/scramjet/packages/core/dist/types/shared/rewriters/worker.d.ts +3 -0
  331. package/source/packages/scramjet/packages/core/dist/types/shared/set-cookie-parser.d.ts +20 -0
  332. package/source/packages/scramjet/packages/core/dist/types/shared/snapshot.d.ts +186 -0
  333. package/source/packages/scramjet/packages/core/dist/types/shared/sniffEncoding.d.ts +65 -0
  334. package/source/packages/scramjet/packages/core/dist/types/shared/util.d.ts +2 -0
  335. package/source/packages/scramjet/packages/core/dist/types/symbols.d.ts +6 -0
  336. package/source/packages/scramjet/packages/core/dist/types/types.d.ts +60 -0
  337. package/source/packages/scramjet/packages/core/dist/types/typesEntry.d.ts +5 -0
  338. package/source/packages/scramjet/packages/core/lib/index.cjs +7 -0
  339. package/source/packages/scramjet/packages/core/lib/index.d.ts +8 -0
  340. package/source/packages/scramjet/packages/core/package.json +69 -0
  341. package/source/packages/scramjet/packages/core/rewriter/Cargo.lock +1985 -0
  342. package/source/packages/scramjet/packages/core/rewriter/Cargo.toml +20 -0
  343. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/Cargo.toml +15 -0
  344. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/src/analyze.rs +1118 -0
  345. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/src/ast_table.rs +927 -0
  346. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/src/helper_index.rs +556 -0
  347. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/src/lib.rs +455 -0
  348. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/src/reachability.rs +85 -0
  349. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/src/templates.rs +192 -0
  350. package/source/packages/scramjet/packages/core/rewriter/coverage-macro/src/witness.rs +597 -0
  351. package/source/packages/scramjet/packages/core/rewriter/js/Cargo.toml +18 -0
  352. package/source/packages/scramjet/packages/core/rewriter/js/src/cfg.rs +45 -0
  353. package/source/packages/scramjet/packages/core/rewriter/js/src/changes.rs +379 -0
  354. package/source/packages/scramjet/packages/core/rewriter/js/src/lib.rs +171 -0
  355. package/source/packages/scramjet/packages/core/rewriter/js/src/rewrite.rs +290 -0
  356. package/source/packages/scramjet/packages/core/rewriter/js/src/visitor.rs +967 -0
  357. package/source/packages/scramjet/packages/core/rewriter/native/Cargo.toml +22 -0
  358. package/source/packages/scramjet/packages/core/rewriter/native/src/main.rs +166 -0
  359. package/source/packages/scramjet/packages/core/rewriter/native/src/rewriter.rs +161 -0
  360. package/source/packages/scramjet/packages/core/rewriter/native/src/test_runner.rs +156 -0
  361. package/source/packages/scramjet/packages/core/rewriter/rust-toolchain.toml +5 -0
  362. package/source/packages/scramjet/packages/core/rewriter/rustfmt.toml +2 -0
  363. package/source/packages/scramjet/packages/core/rewriter/transform/Cargo.toml +16 -0
  364. package/source/packages/scramjet/packages/core/rewriter/transform/src/lib.rs +242 -0
  365. package/source/packages/scramjet/packages/core/rewriter/transform/src/transform.rs +123 -0
  366. package/source/packages/scramjet/packages/core/rewriter/wasm/Cargo.toml +22 -0
  367. package/source/packages/scramjet/packages/core/rewriter/wasm/build.sh +128 -0
  368. package/source/packages/scramjet/packages/core/rewriter/wasm/src/error.rs +56 -0
  369. package/source/packages/scramjet/packages/core/rewriter/wasm/src/jsr.rs +125 -0
  370. package/source/packages/scramjet/packages/core/rewriter/wasm/src/lib.rs +144 -0
  371. package/source/packages/scramjet/packages/core/src/Tap.ts +166 -0
  372. package/source/packages/scramjet/packages/core/src/client/client.ts +916 -0
  373. package/source/packages/scramjet/packages/core/src/client/dom/attr.ts +94 -0
  374. package/source/packages/scramjet/packages/core/src/client/dom/beacon.ts +11 -0
  375. package/source/packages/scramjet/packages/core/src/client/dom/cookie.ts +21 -0
  376. package/source/packages/scramjet/packages/core/src/client/dom/css.ts +106 -0
  377. package/source/packages/scramjet/packages/core/src/client/dom/document.ts +140 -0
  378. package/source/packages/scramjet/packages/core/src/client/dom/element.ts +783 -0
  379. package/source/packages/scramjet/packages/core/src/client/dom/fontface.ts +11 -0
  380. package/source/packages/scramjet/packages/core/src/client/dom/fragments.ts +32 -0
  381. package/source/packages/scramjet/packages/core/src/client/dom/history.ts +35 -0
  382. package/source/packages/scramjet/packages/core/src/client/dom/open.ts +59 -0
  383. package/source/packages/scramjet/packages/core/src/client/dom/origin.ts +13 -0
  384. package/source/packages/scramjet/packages/core/src/client/dom/performance.ts +50 -0
  385. package/source/packages/scramjet/packages/core/src/client/dom/protocol.ts +17 -0
  386. package/source/packages/scramjet/packages/core/src/client/dom/storage.ts +107 -0
  387. package/source/packages/scramjet/packages/core/src/client/entry.ts +12 -0
  388. package/source/packages/scramjet/packages/core/src/client/events.ts +10 -0
  389. package/source/packages/scramjet/packages/core/src/client/helpers.ts +7 -0
  390. package/source/packages/scramjet/packages/core/src/client/index.ts +7 -0
  391. package/source/packages/scramjet/packages/core/src/client/location.ts +139 -0
  392. package/source/packages/scramjet/packages/core/src/client/shared/antiantidebugger.ts +20 -0
  393. package/source/packages/scramjet/packages/core/src/client/shared/blob.ts +35 -0
  394. package/source/packages/scramjet/packages/core/src/client/shared/caches.ts +31 -0
  395. package/source/packages/scramjet/packages/core/src/client/shared/chrome.ts +90 -0
  396. package/source/packages/scramjet/packages/core/src/client/shared/err.ts +55 -0
  397. package/source/packages/scramjet/packages/core/src/client/shared/error.ts +42 -0
  398. package/source/packages/scramjet/packages/core/src/client/shared/eval.ts +40 -0
  399. package/source/packages/scramjet/packages/core/src/client/shared/event.ts +215 -0
  400. package/source/packages/scramjet/packages/core/src/client/shared/function.ts +59 -0
  401. package/source/packages/scramjet/packages/core/src/client/shared/import.ts +46 -0
  402. package/source/packages/scramjet/packages/core/src/client/shared/indexeddb.ts +18 -0
  403. package/source/packages/scramjet/packages/core/src/client/shared/opfs.ts +27 -0
  404. package/source/packages/scramjet/packages/core/src/client/shared/postmessage.ts +113 -0
  405. package/source/packages/scramjet/packages/core/src/client/shared/realm.ts +26 -0
  406. package/source/packages/scramjet/packages/core/src/client/shared/requests/eventsource.ts +17 -0
  407. package/source/packages/scramjet/packages/core/src/client/shared/requests/fetch.ts +67 -0
  408. package/source/packages/scramjet/packages/core/src/client/shared/requests/websocket.ts +389 -0
  409. package/source/packages/scramjet/packages/core/src/client/shared/requests/xmlhttprequest.ts +163 -0
  410. package/source/packages/scramjet/packages/core/src/client/shared/settimeout.ts +20 -0
  411. package/source/packages/scramjet/packages/core/src/client/shared/sourcemaps.ts +203 -0
  412. package/source/packages/scramjet/packages/core/src/client/shared/worker.ts +72 -0
  413. package/source/packages/scramjet/packages/core/src/client/shared/wrap.ts +197 -0
  414. package/source/packages/scramjet/packages/core/src/client/singletonbox.ts +52 -0
  415. package/source/packages/scramjet/packages/core/src/client/worker/importScripts.ts +13 -0
  416. package/source/packages/scramjet/packages/core/src/fetch/body.ts +93 -0
  417. package/source/packages/scramjet/packages/core/src/fetch/fetch.ts +323 -0
  418. package/source/packages/scramjet/packages/core/src/fetch/headers.ts +528 -0
  419. package/source/packages/scramjet/packages/core/src/fetch/index.ts +198 -0
  420. package/source/packages/scramjet/packages/core/src/fetch/parse.ts +149 -0
  421. package/source/packages/scramjet/packages/core/src/fetch/util.ts +81 -0
  422. package/source/packages/scramjet/packages/core/src/global.d.ts +32 -0
  423. package/source/packages/scramjet/packages/core/src/index.ts +78 -0
  424. package/source/packages/scramjet/packages/core/src/log.ts +117 -0
  425. package/source/packages/scramjet/packages/core/src/shared/cookie.ts +199 -0
  426. package/source/packages/scramjet/packages/core/src/shared/headers.ts +76 -0
  427. package/source/packages/scramjet/packages/core/src/shared/htmlRules.ts +154 -0
  428. package/source/packages/scramjet/packages/core/src/shared/index.ts +79 -0
  429. package/source/packages/scramjet/packages/core/src/shared/mime.ts +234 -0
  430. package/source/packages/scramjet/packages/core/src/shared/refresh.ts +164 -0
  431. package/source/packages/scramjet/packages/core/src/shared/rewriters/css.ts +67 -0
  432. package/source/packages/scramjet/packages/core/src/shared/rewriters/html.ts +603 -0
  433. package/source/packages/scramjet/packages/core/src/shared/rewriters/index.ts +6 -0
  434. package/source/packages/scramjet/packages/core/src/shared/rewriters/js.ts +158 -0
  435. package/source/packages/scramjet/packages/core/src/shared/rewriters/url.ts +248 -0
  436. package/source/packages/scramjet/packages/core/src/shared/rewriters/wasm.ts +58 -0
  437. package/source/packages/scramjet/packages/core/src/shared/rewriters/worker.ts +37 -0
  438. package/source/packages/scramjet/packages/core/src/shared/set-cookie-parser.ts +195 -0
  439. package/source/packages/scramjet/packages/core/src/shared/snapshot.ts +245 -0
  440. package/source/packages/scramjet/packages/core/src/shared/sniffEncoding.ts +1061 -0
  441. package/source/packages/scramjet/packages/core/src/shared/util.ts +35 -0
  442. package/source/packages/scramjet/packages/core/src/symbols.ts +9 -0
  443. package/source/packages/scramjet/packages/core/src/sync.ts +63 -0
  444. package/source/packages/scramjet/packages/core/src/types.ts +66 -0
  445. package/source/packages/scramjet/packages/core/src/typesEntry.ts +6 -0
  446. package/source/packages/scramjet/packages/core/tsconfig.json +21 -0
  447. package/source/packages/scramjet/packages/rpc/index.ts +100 -0
  448. package/source/packages/scramjet/packages/rpc/package.json +7 -0
  449. package/source/packages/scramjet/packages/utils/package.json +39 -0
  450. package/source/packages/scramjet/packages/utils/src/alwaysLastBubble.ts +172 -0
  451. package/source/packages/scramjet/packages/utils/src/catch-escaped-links.ts +34 -0
  452. package/source/packages/scramjet/packages/utils/src/event-handler-plugin.ts +86 -0
  453. package/source/packages/scramjet/packages/utils/src/global.d.ts +8 -0
  454. package/source/packages/scramjet/packages/utils/src/http-cache-plugin.ts +475 -0
  455. package/source/packages/scramjet/packages/utils/src/index.ts +26 -0
  456. package/source/packages/scramjet/packages/utils/src/link-handler-plugin.ts +75 -0
  457. package/source/packages/scramjet/packages/utils/src/typesEntry.ts +5 -0
  458. package/source/packages/scramjet/packages/utils/src/url-watcher.ts +37 -0
  459. package/source/packages/scramjet/packages/utils/src/version.ts +40 -0
  460. package/source/packages/scramjet/packages/utils/tsconfig.json +11 -0
  461. package/source/packages/scramjet/patches/htmlparser2@12.0.0.patch +124 -0
  462. package/source/packages/scramjet/rspack.config.ts +613 -0
  463. package/source/packages/scramjet/tsconfig.json +11 -0
  464. package/source/packages/tracker-protocol/package.json +31 -0
  465. package/source/packages/tracker-protocol/src/index.ts +745 -0
  466. package/source/packages/tracker-protocol/tsconfig.json +18 -0
  467. package/source/pnpm-lock.yaml +12018 -0
  468. package/source/pnpm-workspace.yaml +31 -0
  469. package/source/rspack.config.ts +103 -0
  470. package/source/scripts/update-adblock-assets.mjs +164 -0
  471. package/third_party/filter-lists/LICENSE-CC-BY-SA-3.0.txt +359 -0
  472. package/third_party/filter-lists/LICENSE-GPL-3.0.txt +674 -0
  473. package/third_party/filter-lists/LICENSE-MPL-2.0.txt +375 -0
  474. package/third_party/filter-lists/README.md +24 -0
  475. package/third_party/filter-lists/easylist.txt +83088 -0
  476. package/third_party/filter-lists/easyprivacy.txt +56361 -0
  477. package/third_party/filter-lists/manifest.json +56 -0
  478. package/third_party/filter-lists/ublock-filters.txt +10937 -0
  479. package/third_party/filter-lists/ublock-privacy.txt +3209 -0
  480. package/third_party/filter-lists/ublock-resources.json +1852 -0
  481. package/third_party/filter-lists/ublock-unbreak.txt +6026 -0
@@ -0,0 +1,3 @@
1
+ declare const html: (strings: TemplateStringsArray, ...values: any[]) => HTMLElement | HTMLElement[];
2
+
3
+ export { html };
@@ -0,0 +1,2 @@
1
+ import{h as r}from"dreamland/core";const n=function(r){for(var n,o,t=arguments,s=1,e="",l="",a=[0],c=r=>{1===s&&(r||(e=e.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?a.push(r?t[r]:e):3===s&&(r||e)?(a[1]=r?t[r]:e,s=2):2===s&&"..."===e&&r?a[2]=Object.assign(a[2]||{},t[r]):2===s&&e&&!r?(a[2]=a[2]||{})[e]=!0:s>=5&&(5===s?((a[2]=a[2]||{})[o]=r?e?e+t[r]:t[r]:e,s=6):(r||e)&&(a[2][o]+=r?e+t[r]:e)),e=""},f=0;f<r.length;f++){f&&(1===s&&c(),c(f));for(var u=0;u<r[f].length;u++)n=r[f][u],1===s?"<"===n?(c(),a=[a,"",null],s=3):e+=n:4===s?"--"===e&&">"===n?(s=1,e=""):e=n+e[0]:l?n===l?l="":e+=n:'"'===n||"'"===n?l=n:">"===n?(c(),s=1):s&&("="===n?(s=5,o=e,e=""):"/"!==n||s>=5&&">"!==r[f][u+1]?" "===n||"\t"===n||"\n"===n||"\r"===n?(c(),s=2):e+=n:(c(),3===s&&(a=a[0]),s=a,(a=a[0]).push(this.apply(null,s.slice(1))),s=0)),3===s&&"!--"===e&&(s=4,a=a[0])}return c(),a.length>2?a.slice(1):a[1]}.bind(r);export{n as html};
2
+ //# sourceMappingURL=js-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-runtime.js","sources":["../src/js-runtime/index.ts","../../../node_modules/.pnpm/htm@3.1.1/node_modules/htm/mini/index.mjs"],"sourcesContent":["import { h } from \"dreamland/core\";\nimport htm from \"htm/mini\";\n\nexport const html = htm.bind(h);\n","export default function(n){for(var l,e,s=arguments,t=1,r=\"\",u=\"\",a=[0],c=function(n){1===t&&(n||(r=r.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?a.push(n?s[n]:r):3===t&&(n||r)?(a[1]=n?s[n]:r,t=2):2===t&&\"...\"===r&&n?a[2]=Object.assign(a[2]||{},s[n]):2===t&&r&&!n?(a[2]=a[2]||{})[r]=!0:t>=5&&(5===t?((a[2]=a[2]||{})[e]=n?r?r+s[n]:s[n]:r,t=6):(n||r)&&(a[2][e]+=n?r+s[n]:r)),r=\"\"},h=0;h<n.length;h++){h&&(1===t&&c(),c(h));for(var i=0;i<n[h].length;i++)l=n[h][i],1===t?\"<\"===l?(c(),a=[a,\"\",null],t=3):r+=l:4===t?\"--\"===r&&\">\"===l?(t=1,r=\"\"):r=l+r[0]:u?l===u?u=\"\":r+=l:'\"'===l||\"'\"===l?u=l:\">\"===l?(c(),t=1):t&&(\"=\"===l?(t=5,e=r,r=\"\"):\"/\"===l&&(t<5||\">\"===n[h][i+1])?(c(),3===t&&(a=a[0]),t=a,(a=a[0]).push(this.apply(null,t.slice(1))),t=0):\" \"===l||\"\\t\"===l||\"\\n\"===l||\"\\r\"===l?(c(),t=2):r+=l),3===t&&\"!--\"===r&&(t=4,a=a[0])}return c(),a.length>2?a.slice(1):a[1]}\n"],"names":["html","n","l","e","s","arguments","t","r","u","a","c","replace","push","Object","assign","h","length","i","this","apply","slice","bind"],"mappings":"mCAGO,MAAMA,ECHE,SAASC,GAAG,IAAI,IAAIC,EAAEC,EAAEC,EAAEC,UAAUC,EAAE,EAAEC,EAAE,GAAGC,EAAE,GAAGC,EAAE,CAAC,GAAGC,EAAWT,IAAG,IAAIK,IAAIL,IAAIM,EAAEA,EAAEI,QAAQ,uBAAuB,MAAMF,EAAEG,KAAKX,EAAEG,EAAEH,GAAGM,GAAG,IAAID,IAAIL,GAAGM,IAAIE,EAAE,GAAGR,EAAEG,EAAEH,GAAGM,EAAED,EAAE,GAAG,IAAIA,GAAG,QAAQC,GAAGN,EAAEQ,EAAE,GAAGI,OAAOC,OAAOL,EAAE,IAAI,CAAA,EAAGL,EAAEH,IAAI,IAAIK,GAAGC,IAAIN,GAAGQ,EAAE,GAAGA,EAAE,IAAI,CAAA,GAAIF,IAAG,EAAGD,GAAG,IAAI,IAAIA,IAAIG,EAAE,GAAGA,EAAE,IAAI,CAAA,GAAIN,GAAGF,EAAEM,EAAEA,EAAEH,EAAEH,GAAGG,EAAEH,GAAGM,EAAED,EAAE,IAAIL,GAAGM,KAAKE,EAAE,GAAGN,IAAIF,EAAEM,EAAEH,EAAEH,GAAGM,IAAIA,EAAE,EAAE,EAAEQ,EAAE,EAAEA,EAAEd,EAAEe,OAAOD,IAAI,CAACA,IAAI,IAAIT,GAAGI,IAAIA,EAAEK,IAAI,IAAI,IAAIE,EAAE,EAAEA,EAAEhB,EAAEc,GAAGC,OAAOC,IAAIf,EAAED,EAAEc,GAAGE,GAAG,IAAIX,EAAE,MAAMJ,GAAGQ,IAAID,EAAE,CAACA,EAAE,GAAG,MAAMH,EAAE,GAAGC,GAAGL,EAAE,IAAII,EAAE,OAAOC,GAAG,MAAML,GAAGI,EAAE,EAAEC,EAAE,IAAIA,EAAEL,EAAEK,EAAE,GAAGC,EAAEN,IAAIM,EAAEA,EAAE,GAAGD,GAAGL,EAAE,MAAMA,GAAG,MAAMA,EAAEM,EAAEN,EAAE,MAAMA,GAAGQ,IAAIJ,EAAE,GAAGA,IAAI,MAAMJ,GAAGI,EAAE,EAAEH,EAAEI,EAAEA,EAAE,IAAI,MAAML,GAAII,GAAE,GAAG,MAAML,EAAEc,GAAGE,EAAE,GAA6E,MAAMf,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAGQ,IAAIJ,EAAE,GAAGC,GAAGL,GAA3HQ,IAAI,IAAIJ,IAAIG,EAAEA,EAAE,IAAIH,EAAEG,GAAGA,EAAEA,EAAE,IAAIG,KAAKM,KAAKC,MAAM,KAAKb,EAAEc,MAAM,KAAKd,EAAE,IAAyD,IAAIA,GAAG,QAAQC,IAAID,EAAE,EAAEG,EAAEA,EAAE,GAAG,CAAC,OAAOC,IAAID,EAAEO,OAAO,EAAEP,EAAEW,MAAM,GAAGX,EAAE,EAAE,EDG1zBY,KAAKN","x_google_ignoreList":[1]}
@@ -0,0 +1 @@
1
+ export { Fragment, JSX, jsx, jsx as jsxDEV, jsx as jsxs } from 'dreamland/core';
@@ -0,0 +1,2 @@
1
+ export{Fragment,jsx,jsx as jsxDEV,jsx as jsxs}from"dreamland/core";
2
+ //# sourceMappingURL=jsx-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-runtime.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { Stateful, Pointer } from 'dreamland/core';
2
+
3
+ interface SpringOptions {
4
+ stiffness?: number;
5
+ damping?: number;
6
+ precision?: number;
7
+ }
8
+ interface SpringState<T> {
9
+ stiffness: number;
10
+ damping: number;
11
+ precision: number;
12
+ target: T;
13
+ current: T;
14
+ }
15
+ type Spring<T> = Stateful<SpringState<T>>;
16
+ declare let createSpring: <T>(val: T | Pointer<T>, opts?: SpringOptions) => Spring<T>;
17
+
18
+ export { createSpring };
19
+ export type { Spring, SpringOptions, SpringState };
@@ -0,0 +1,2 @@
1
+ import{createState as e,stateProxy as t,Pointer as r}from"dreamland/core";let n=e=>e instanceof Date,a=(e,t,r,i)=>{if("number"==typeof r||n(r)){let a=i-r,s=(r-t)/(e.t||1/60),o=(s+(e.i*a-e.o*s)*e.m)*e.t;return Math.abs(o)<e.l&&Math.abs(a)<e.l?i:(e.p=!1,n(r)?new Date(r.getTime()+o):r+o)}if(Array.isArray(r))return r.map((n,s)=>a(e,t[s],r[s],i[s]));if("object"==typeof r){let n={};for(let s in r)n[s]=a(e,t[s],r[s],i[s]);return n}},i=()=>performance.now(),s=e=>e instanceof r,o=(r,n={})=>{let o=e({stiffness:n.stiffness??.15,damping:n.damping??.8,precision:n.precision??.01,current:s(r)?r.value:r});s(r)?t(o,"target",r):o.target=r;let f=!1,m=0,l=o.current,p=1,u=0,c=()=>{let e=i();p=Math.min(p+u,1);let t={m:p,p:!0,t:60*Math.min(e-m,1e3/30)/1e3,i:o.stiffness,o:o.damping,l:o.precision},r=a(t,l,o.current,o.target);l=o.current,m=e,o.current=r,t.p?f=!1:requestAnimationFrame(c)};return use(o.target).constrain(o).listen(e=>{f||(m=i(),u=1/0,f=!0,requestAnimationFrame(c))}),o};export{o as createSpring};
2
+ //# sourceMappingURL=motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.js","sources":["../src/motion/index.ts"],"sourcesContent":["/* \n\nsimple svelte/motion spring port from https://github.com/sveltejs/svelte/tree/main/packages/svelte/src/motion\n\nCopyright (c) 2016-2025 [Svelte Contributors](https://github.com/sveltejs/svelte/graphs/contributors)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n */\n\nimport { createState, Pointer, Stateful, stateProxy } from \"dreamland/core\";\n\ninterface TickContext {\n\t_inv_mass: number;\n\t_dt: number;\n\t_settled: boolean;\n\n\t_stiffness: number;\n\t_damping: number;\n\t_precision: number;\n}\n\nlet is_date = (val: any): val is Date => val instanceof Date;\n\nlet tick_spring = <T>(\n\tctx: TickContext,\n\tlast_value: T,\n\tcurrent_value: T,\n\ttarget_value: T\n): any => {\n\tif (typeof current_value === \"number\" || is_date(current_value)) {\n\t\t// @ts-expect-error value is date / number\n\t\tlet delta = target_value - current_value;\n\t\t// @ts-expect-error value is date / number\n\t\tlet velocity = (current_value - last_value) / (ctx._dt || 1 / 60); // guard div by 0\n\t\tlet spring = ctx._stiffness * delta;\n\t\tlet damper = ctx._damping * velocity;\n\t\tlet acceleration = (spring - damper) * ctx._inv_mass;\n\t\tlet d = (velocity + acceleration) * ctx._dt;\n\t\tif (Math.abs(d) < ctx._precision && Math.abs(delta) < ctx._precision) {\n\t\t\treturn target_value; // settled\n\t\t} else {\n\t\t\tctx._settled = false; // signal loop to keep ticking\n\t\t\treturn is_date(current_value)\n\t\t\t\t? (new Date(current_value.getTime() + d) as T)\n\t\t\t\t: current_value + d;\n\t\t}\n\t} else if (Array.isArray(current_value)) {\n\t\treturn current_value.map((_, i) =>\n\t\t\ttick_spring(\n\t\t\t\tctx,\n\t\t\t\t(last_value as any)[i],\n\t\t\t\tcurrent_value[i],\n\t\t\t\t(target_value as any)[i]\n\t\t\t)\n\t\t);\n\t} else if (typeof current_value === \"object\") {\n\t\tlet next_value = {};\n\t\tfor (let k in current_value) {\n\t\t\t// @ts-expect-error next_value is just an object\n\t\t\tnext_value[k] = tick_spring(\n\t\t\t\tctx,\n\t\t\t\tlast_value[k],\n\t\t\t\tcurrent_value[k],\n\t\t\t\ttarget_value[k]\n\t\t\t);\n\t\t}\n\t\treturn next_value;\n\t} else {\n\t\tdev: {\n\t\t\tthrow new Error(`Cannot spring ${typeof current_value} values`);\n\t\t}\n\t}\n};\n\nexport interface SpringOptions {\n\tstiffness?: number;\n\tdamping?: number;\n\tprecision?: number;\n}\nexport interface SpringState<T> {\n\tstiffness: number;\n\tdamping: number;\n\tprecision: number;\n\n\ttarget: T;\n\tcurrent: T;\n}\nexport type Spring<T> = Stateful<SpringState<T>>;\n\nlet timeNow = () => performance.now();\n\nlet isPointer = <T>(x: T | Pointer<T>): x is Pointer<T> => x instanceof Pointer;\n\nexport let createSpring = <T>(\n\tval: T | Pointer<T>,\n\topts: SpringOptions = {}\n): Spring<T> => {\n\tlet state = createState({\n\t\tstiffness: opts.stiffness ?? 0.15,\n\t\tdamping: opts.damping ?? 0.8,\n\t\tprecision: opts.precision ?? 0.01,\n\n\t\tcurrent: isPointer(val) ? val.value : val,\n\t} satisfies Omit<SpringState<T>, \"target\"> as SpringState<T>);\n\tif (isPointer(val)) stateProxy(state, \"target\", val);\n\telse state.target = val;\n\n\tlet settling = false;\n\tlet last_time = 0;\n\tlet last_value = state.current;\n\tlet _inv_mass = 1;\n\tlet inv_mass_recovery_rate = 0;\n\tlet momentum = 0;\n\n\tlet update = () => {\n\t\tlet now = timeNow();\n\n\t\t_inv_mass = Math.min(_inv_mass + inv_mass_recovery_rate, 1);\n\t\tlet elapsed = Math.min(now - last_time, 1000 / 30);\n\n\t\tlet ctx = {\n\t\t\t_inv_mass,\n\t\t\t_settled: true,\n\t\t\t_dt: (elapsed * 60) / 1000,\n\n\t\t\t_stiffness: state.stiffness,\n\t\t\t_damping: state.damping,\n\t\t\t_precision: state.precision,\n\t\t} satisfies TickContext;\n\t\tlet next = tick_spring(ctx, last_value, state.current, state.target);\n\t\tlast_value = state.current;\n\t\tlast_time = now;\n\t\tstate.current = next;\n\n\t\tif (ctx._settled) settling = false;\n\t\telse requestAnimationFrame(update);\n\t};\n\n\tuse(state.target)\n\t\t.constrain(state)\n\t\t.listen((_) => {\n\t\t\tif (!settling) {\n\t\t\t\tlast_time = timeNow();\n\t\t\t\tinv_mass_recovery_rate = 1000 / (momentum * 60);\n\t\t\t\tsettling = true;\n\t\t\t\trequestAnimationFrame(update);\n\t\t\t}\n\t\t});\n\n\treturn state;\n};\n"],"names":["is_date","val","Date","tick_spring","ctx","last_value","current_value","target_value","delta","velocity","_dt","d","_stiffness","_damping","_inv_mass","Math","abs","_precision","_settled","getTime","Array","isArray","map","_","i","next_value","k","timeNow","performance","now","isPointer","x","Pointer","createSpring","opts","state","createState","stiffness","damping","precision","current","value","stateProxy","target","settling","last_time","inv_mass_recovery_rate","update","min","next","requestAnimationFrame","use","constrain","listen"],"mappings":"0EA0BA,IAAIA,EAAWC,GAA0BA,aAAeC,KAEpDC,EAAc,CACjBC,EACAC,EACAC,EACAC,KAEA,GAA6B,iBAAlBD,GAA8BN,EAAQM,GAAgB,CAEhE,IAAIE,EAAQD,EAAeD,EAEvBG,GAAYH,EAAgBD,IAAeD,EAAIM,GAAO,EAAI,IAI1DC,GAAKF,GAHIL,EAAIQ,EAAaJ,EACjBJ,EAAIS,EAAWJ,GACWL,EAAIU,GACPV,EAAIM,EACxC,OAAIK,KAAKC,IAAIL,GAAKP,EAAIa,GAAcF,KAAKC,IAAIR,GAASJ,EAAIa,EAClDV,GAEPH,EAAIc,GAAW,EACRlB,EAAQM,GACX,IAAIJ,KAAKI,EAAca,UAAYR,GACpCL,EAAgBK,GAEd,GAAIS,MAAMC,QAAQf,GACxB,OAAOA,EAAcgB,IAAI,CAACC,EAAGC,IAC5BrB,EACCC,EACCC,EAAmBmB,GACpBlB,EAAckB,GACbjB,EAAqBiB,KAGlB,GAA6B,iBAAlBlB,EAA4B,CAC7C,IAAImB,EAAa,CAAA,EACjB,IAAK,IAAIC,KAAKpB,EAEbmB,EAAWC,GAAKvB,EACfC,EACAC,EAAWqB,GACXpB,EAAcoB,GACdnB,EAAamB,IAGf,OAAOD,IAuBLE,EAAU,IAAMC,YAAYC,MAE5BC,EAAgBC,GAAuCA,aAAaC,EAE7DC,EAAe,CACzBhC,EACAiC,EAAsB,MAEtB,IAAIC,EAAQC,EAAY,CACvBC,UAAWH,EAAKG,WAAa,IAC7BC,QAASJ,EAAKI,SAAW,GACzBC,UAAWL,EAAKK,WAAa,IAE7BC,QAASV,EAAU7B,GAAOA,EAAIwC,MAAQxC,IAEnC6B,EAAU7B,GAAMyC,EAAWP,EAAO,SAAUlC,GAC3CkC,EAAMQ,OAAS1C,EAEpB,IAAI2C,GAAW,EACXC,EAAY,EACZxC,EAAa8B,EAAMK,QACnB1B,EAAY,EACZgC,EAAyB,EAGzBC,EAAS,KACZ,IAAIlB,EAAMF,IAEVb,EAAYC,KAAKiC,IAAIlC,EAAYgC,EAAwB,GACzD,IAEI1C,EAAM,CACTU,IACAI,GAAU,EACVR,EAAgB,GALHK,KAAKiC,IAAInB,EAAMgB,EAAW,IAAO,IAKxB,IAEtBjC,EAAYuB,EAAME,UAClBxB,EAAUsB,EAAMG,QAChBrB,EAAYkB,EAAMI,WAEfU,EAAO9C,EAAYC,EAAKC,EAAY8B,EAAMK,QAASL,EAAMQ,QAC7DtC,EAAa8B,EAAMK,QACnBK,EAAYhB,EACZM,EAAMK,QAAUS,EAEZ7C,EAAIc,EAAU0B,GAAW,EACxBM,sBAAsBH,IAc5B,OAXAI,IAAIhB,EAAMQ,QACRS,UAAUjB,GACVkB,OAAQ9B,IACHqB,IACJC,EAAYlB,IACZmB,EAAyB,IACzBF,GAAW,EACXM,sBAAsBH,MAIlBZ"}
@@ -0,0 +1,48 @@
1
+ import { Component, NO_CHANGE, FC, ComponentChild, ComponentInstance, ComponentState } from 'dreamland/core';
2
+
3
+ type RouteParams = Record<string, string> & {
4
+ [NO_CHANGE]: true;
5
+ };
6
+ interface RouterState {
7
+ params: RouteParams;
8
+ path: string;
9
+ outlet?: HTMLElement;
10
+ error?: any;
11
+ loading: boolean;
12
+ initial: boolean;
13
+ [NO_CHANGE]: true;
14
+ }
15
+ type LayoutComponent = Component<{
16
+ routerState: RouterState;
17
+ }>;
18
+ type ShowElement = ComponentInstance<Component<{}, {
19
+ routerParams: RouteParams;
20
+ }>> | HTMLElement;
21
+ type _MaybePromiseShowEl = Promise<ShowElement> | ShowElement;
22
+ type ShowTarget = _MaybePromiseShowEl | (() => _MaybePromiseShowEl);
23
+ declare function Route(this: FC<{
24
+ path?: string;
25
+ show?: ShowTarget;
26
+ layout?: LayoutComponent;
27
+ cork?: boolean;
28
+ children?: ComponentChild;
29
+ }>): any;
30
+ declare function Link(this: FC<{
31
+ href: string;
32
+ class?: string;
33
+ children?: ComponentChild;
34
+ "on:click"?: () => void;
35
+ }>): HTMLElement;
36
+ declare let router: ComponentState<typeof Router>;
37
+ declare function Router(this: FC<{
38
+ initial?: [path: string, origin: string] | [path: string] | [];
39
+ children: HTMLElement | HTMLElement[];
40
+ }, {
41
+ el?: ShowElement;
42
+ navigate: (path: string) => Promise<string | undefined>;
43
+ ssgables: () => [string, string][];
44
+ [NO_CHANGE]: true;
45
+ }>): HTMLElement;
46
+
47
+ export { Link, Route, Router, router };
48
+ export type { LayoutComponent, RouteParams, RouterState, ShowElement, ShowTarget };
@@ -0,0 +1,2 @@
1
+ import{h as t,NO_CHANGE as e,Fragment as i,DREAMLAND as r}from"dreamland/core";let l="on:click",a="children",n="length",s="routerState";function h(){return{t:this.path,i:this.show,l:this.layout,h:this.cork,o:this[a]}}let o,u=(t,e,i,l)=>{let a=[],s=!1;t.t?a=t.t.split("/"):t.o[n]||(s=!0);let h=[];if(!a[n]||i.splice(0,a[n]).every((t,e)=>((t,e,i)=>i[r]||"*"===e?(i[r]+="/"+t,!0):e.startsWith(":")?(i[e.slice(1)]=t,!0):t===e)(t,a[e],l)))if((!i[n]||""===i[0]&&s||l[r])&&!t.o[n]&&t.i)l[r]&&(l["*"]=l[r].slice(10),delete l[r]),h=[t];else{for(let r of t.o||[])if(h=u(r,e,[...i],l),h[n])break;h[n]&&h.unshift(t)}return h},c=(i,r,l,a)=>{let h,o=i.pop(),u=()=>{o.i?h={u:(async()=>{let t=o.i,e=o._||await(i=t,"function"==typeof i?t():t);var i;return(t=>t.$)(e)&&(e.$.state.routerParams=l),o._=e,e})(),p(){}}:i[n]&&(h=c(i,r,l,a))};if(o.h||u(),o.l){let i={params:{...l},path:r,loading:!0,initial:a,[e]:!0},n=o.m||t(o.l,{[s]:i}),c=n.$.state,f=t=>(t.k||t.u).then(t=>i.outlet=t,t=>i.error=t).finally(t=>{i.loading=!1,c[s]=i});return o.m=n,i.outlet=c[s].outlet,n.$.state[s]=i,{l:n,k:h?f(h).then(t=>n):(async()=>n)(),p:h?h.p:async()=>{u(),await h.p(),await f(h)}}}return h};function f(){return this.class=this.class||"",t("a",{href:use(this.href),class:use(this.class),[l]:t=>{t.preventDefault(),this[l]?.(),o.navigate(this.href)}},this[a])}function d(){this[e]=!0,o=this;let r,l,s={o:this[a]},h=0,f=async(t,i=location.pathname,r=location.origin)=>{let l=++h,a=new URL(i,r).pathname;a.endsWith(".html")&&(a=a.slice(0,a[n]-5));let o=a.split("/").slice(1),f={[e]:!0},d=u(s,a,o,f);if(!d[n])throw Error("Failed to route to "+i);let _,w=c([...d].reverse(),a,f,t);return w?.u?_=await w.u:w?.l&&(_=w.l,await w.k),l!==h?[]:(this.el=_,[this.el&&a,w?.p])};return this.navigate=async t=>{let[e,i]=await f(!1,t);return await(i?.()),e&&history.pushState(null,"",e),e},this.ssgables=()=>{let t=(e,i)=>(i.t&&(e+="/"+i.t),i.o[n]?i.o.map(i=>t(e,i)).flat():!i.t||!i.t.startsWith(":")&&"*"!==i.t?[[e||"/",i.t?e+".html":e+"/index.html"]]:[]);return t("",s)},this.cx.init=()=>{let[t,e]=this.initial||[];return f(!0,t,e).then(([t,e])=>{l?e?.():r=e})},this.cx.mount=()=>{addEventListener("popstate",()=>{f(!1).then(([t,e])=>e?.())});let t=r?.();return l=!0,t},t(i,null,use(this.el))}export{f as Link,h as Route,d as Router,o as router};
2
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sources":["../src/router/index.tsx"],"sourcesContent":["import {\n\tComponentChild,\n\tComponent,\n\tComponentState,\n\th,\n\tFragment,\n\tDREAMLAND,\n\tFC,\n\tComponentInstance,\n\tNO_CHANGE,\n} from \"dreamland/core\";\n\nexport type RouteParams = Record<string, string> & {\n\t// @internal\n\t[DREAMLAND]?: string;\n\t[NO_CHANGE]: true;\n};\n\nexport interface RouterState {\n\tparams: RouteParams;\n\tpath: string;\n\toutlet?: HTMLElement;\n\terror?: any;\n\tloading: boolean;\n\tinitial: boolean;\n\t[NO_CHANGE]: true;\n}\n\nexport type LayoutComponent = Component<{ routerState: RouterState }>;\n\nexport type ShowElement =\n\t| ComponentInstance<Component<{}, { routerParams: RouteParams }>>\n\t| HTMLElement;\ntype _MaybePromiseShowEl = Promise<ShowElement> | ShowElement;\nexport type ShowTarget = _MaybePromiseShowEl | (() => _MaybePromiseShowEl);\n\nexport function Route(\n\tthis: FC<{\n\t\tpath?: string;\n\t\tshow?: ShowTarget;\n\t\tlayout?: LayoutComponent;\n\t\tcork?: boolean;\n\t\tchildren?: ComponentChild;\n\t}>\n) {\n\treturn {\n\t\t_path: this.path,\n\t\t_show: this.show,\n\t\t_layout: this.layout,\n\t\t_cork: this.cork,\n\t\t_children: this.children as any as RouteInternal[],\n\t} satisfies RouteInternal as any;\n}\n\ninterface RouteInternal {\n\t_path?: string;\n\t_layout?: LayoutComponent;\n\t_layoutInstance?: ComponentInstance<LayoutComponent>;\n\t_cork?: boolean;\n\t_show?: ShowTarget;\n\t_showInstance?: ShowElement;\n\t_children: RouteInternal[];\n}\nlet validateRoute = (route: RouteInternal) => {\n\tlet hasIndex = false;\n\tif (route._children.length) {\n\t\tif (route._show)\n\t\t\tthrow new Error(\n\t\t\t\t\"A route can't both show a page and have child pages. Use an index page.\"\n\t\t\t);\n\n\t\tfor (let child of route._children) {\n\t\t\tif (!child._path && !child._children) {\n\t\t\t\tif (hasIndex)\n\t\t\t\t\tthrow new Error(\"A route cannot have multiple index pages\");\n\t\t\t\thasIndex = true;\n\t\t\t}\n\t\t\tvalidateRoute(child);\n\t\t}\n\t}\n\n\tif (!route._layout && route._cork) {\n\t\tthrow new Error(\"Corked routing only works on a route with a layout\");\n\t}\n};\n\nfunction _isComponent<T extends Component<any, any>>(\n\tx: ComponentInstance<T> | HTMLElement\n): x is ComponentInstance<T> {\n\treturn (x as any).$;\n}\nlet isComponent = _isComponent;\n\nlet matchRoute = (\n\tsegment: string,\n\troute: string,\n\tparams: RouteParams\n): boolean => {\n\tif (params[DREAMLAND] || route === \"*\") {\n\t\tparams[DREAMLAND] += \"/\" + segment;\n\t\treturn true;\n\t} else if (route.startsWith(\":\")) {\n\t\t// param\n\t\tparams[route.slice(1)] = segment;\n\t\treturn true;\n\t} else {\n\t\treturn segment === route;\n\t}\n};\n\nlet _route = (\n\troute: RouteInternal,\n\tpath: string,\n\tsegments: string[],\n\tparams: RouteParams\n): RouteInternal[] => {\n\tlet routePath: string[] = [];\n\tlet indexRoute = false;\n\tif (route._path) {\n\t\t// has a path\n\t\troutePath = route._path.split(\"/\");\n\t} else if (route._children.length) {\n\t\t// will always match\n\t} else {\n\t\t// index route\n\t\tindexRoute = true;\n\t}\n\n\tlet ret: RouteInternal[] = [];\n\n\tif (\n\t\t!routePath.length ||\n\t\tsegments\n\t\t\t.splice(0, routePath.length)\n\t\t\t.every((x, i) => matchRoute(x, routePath[i], params))\n\t) {\n\t\tif (\n\t\t\t(!segments.length ||\n\t\t\t\t(segments[0] === \"\" && indexRoute) ||\n\t\t\t\tparams[DREAMLAND]) &&\n\t\t\t!route._children.length &&\n\t\t\troute._show\n\t\t) {\n\t\t\tif (params[DREAMLAND]) {\n\t\t\t\tparams[\"*\"] = params[DREAMLAND].slice(10);\n\t\t\t\tdelete params[DREAMLAND];\n\t\t\t}\n\t\t\t// route matches fully\n\t\t\tret = [route];\n\t\t} else {\n\t\t\t// matched, continue searching for children\n\t\t\tfor (let child of route._children || []) {\n\t\t\t\tret = _route(child, path, [...segments], params);\n\t\t\t\tif (ret.length) break;\n\t\t\t}\n\t\t\tif (ret.length) ret.unshift(route);\n\t\t}\n\t}\n\n\treturn ret;\n};\n\ntype Disjoint<T1, T2> =\n\t| ({ [P in keyof T2]?: never } & { [P in keyof T1]: T1[P] })\n\t| ({ [P in keyof T1]?: never } & { [P in keyof T2]: T2[P] });\ntype LayoutEl = ComponentInstance<LayoutComponent>;\ntype ReconcileRet = Disjoint<\n\t{ _el: Promise<ShowElement> },\n\t{ _layout: LayoutEl; _dep: Promise<LayoutEl> }\n> & { _late: () => Promise<void> | void };\nlet _reconcile = (\n\t_current: RouteInternal[],\n\tpath: string,\n\tparams: RouteParams,\n\tinitial: boolean\n): ReconcileRet => {\n\tlet current = _current.pop();\n\tdev: {\n\t\tif (!current) throw \"unreachable\";\n\t}\n\tlet reconcile = () => {\n\t\tif (current._show) {\n\t\t\tret = {\n\t\t\t\t_el: (async () => {\n\t\t\t\t\tlet show = current._show!;\n\t\t\t\t\tlet instance =\n\t\t\t\t\t\tcurrent._showInstance ||\n\t\t\t\t\t\t(await (typeof show == \"function\" ? show() : show));\n\n\t\t\t\t\tif (isComponent(instance)) instance.$.state.routerParams = params;\n\t\t\t\t\tcurrent._showInstance = instance;\n\t\t\t\t\treturn instance;\n\t\t\t\t})(),\n\t\t\t\t_late() {},\n\t\t\t};\n\t\t} else if (_current.length) {\n\t\t\tret = _reconcile(_current, path, params, initial);\n\t\t} else {\n\t\t\tdev: {\n\t\t\t\tthrow new Error(`Unable to navigate, route had no show target`);\n\t\t\t}\n\t\t}\n\t};\n\n\tlet ret: ReconcileRet | undefined;\n\tif (!current._cork) reconcile();\n\n\tif (current._layout) {\n\t\tlet state: RouterState = {\n\t\t\tparams: { ...params },\n\t\t\tpath,\n\t\t\tloading: true,\n\t\t\tinitial,\n\t\t\t[NO_CHANGE]: true,\n\t\t} satisfies RouterState;\n\t\tlet instance =\n\t\t\tcurrent._layoutInstance ||\n\t\t\t((\n\t\t\t\t<current._layout routerState={state} />\n\t\t\t) as ComponentInstance<LayoutComponent>);\n\t\tlet instanceState = instance.$.state;\n\t\tlet finish = (ret: ReconcileRet) =>\n\t\t\t(ret._dep || ret._el)\n\t\t\t\t.then(\n\t\t\t\t\t(x) => (state.outlet = x),\n\t\t\t\t\t(x) => (state.error = x)\n\t\t\t\t)\n\t\t\t\t.finally((_: void) => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t\tinstanceState.routerState = state;\n\t\t\t\t});\n\n\t\tcurrent._layoutInstance = instance;\n\t\tstate.outlet = instanceState.routerState.outlet;\n\t\tinstance.$.state.routerState = state;\n\n\t\treturn {\n\t\t\t_layout: instance,\n\t\t\t_dep: ret ? finish(ret).then((_) => instance) : (async () => instance)(),\n\t\t\t_late: ret\n\t\t\t\t? ret._late\n\t\t\t\t: async () => {\n\t\t\t\t\t\treconcile();\n\t\t\t\t\t\tawait ret!._late();\n\t\t\t\t\t\tawait finish(ret!);\n\t\t\t\t\t},\n\t\t};\n\t}\n\treturn ret!;\n};\n\nexport function Link(\n\tthis: FC<{\n\t\thref: string;\n\t\tclass?: string;\n\t\tchildren?: ComponentChild;\n\t\t\"on:click\"?: () => void;\n\t}>\n) {\n\tthis.class = this.class || \"\";\n\n\treturn (\n\t\t<a\n\t\t\thref={use(this.href)}\n\t\t\tclass={use(this.class)}\n\t\t\ton:click={(e: MouseEvent) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tdev: {\n\t\t\t\t\tif (!router) throw new Error(\"No router exists\");\n\t\t\t\t}\n\n\t\t\t\tthis[\"on:click\"]?.();\n\n\t\t\t\trouter.navigate(this.href);\n\t\t\t}}\n\t\t>\n\t\t\t{this.children}\n\t\t</a>\n\t);\n}\n\nexport let router: ComponentState<typeof Router>;\nexport function Router(\n\tthis: FC<\n\t\t{\n\t\t\tinitial?: [path: string, origin: string] | [path: string] | [];\n\t\t\tchildren: HTMLElement | HTMLElement[];\n\t\t},\n\t\t{\n\t\t\tel?: ShowElement;\n\n\t\t\tnavigate: (path: string) => Promise<string | undefined>;\n\t\t\tssgables: () => [string, string][];\n\t\t\t[NO_CHANGE]: true;\n\t\t}\n\t>\n) {\n\tthis[NO_CHANGE] = true;\n\n\t// eslint-disable-next-line @typescript-eslint/no-this-alias\n\trouter = this;\n\n\tlet routes = { _children: this.children as any as RouteInternal[] };\n\tdev: {\n\t\tvalidateRoute(routes);\n\t}\n\n\tlet latestNavId = 0;\n\tlet route = async (\n\t\tinitial: boolean,\n\t\tpath = location.pathname,\n\t\torigin = location.origin\n\t) => {\n\t\tlet currentNavId = ++latestNavId;\n\t\tlet realPath = new URL(path, origin).pathname;\n\t\tif (realPath.endsWith(\".html\"))\n\t\t\trealPath = realPath.slice(0, realPath.length - 5);\n\t\tlet segments = realPath.split(\"/\").slice(1);\n\t\tlet params = { [NO_CHANGE]: true } as const;\n\t\tlet routePath = _route(routes, realPath, segments, params);\n\n\t\tif (!routePath.length) {\n\t\t\tthrow new Error(\"Failed to route to \" + path);\n\t\t}\n\n\t\tlet reconciled = _reconcile(\n\t\t\t[...routePath].reverse(),\n\t\t\trealPath,\n\t\t\tparams,\n\t\t\tinitial\n\t\t);\n\t\tlet el;\n\n\t\tif (reconciled?._el) el = await reconciled._el;\n\t\telse if (reconciled?._layout) {\n\t\t\tel = reconciled._layout;\n\t\t\tawait reconciled._dep;\n\t\t}\n\n\t\tif (currentNavId !== latestNavId) return [];\n\t\tthis.el = el;\n\n\t\treturn [this.el && realPath, reconciled?._late] as const;\n\t};\n\tthis.navigate = async (path) => {\n\t\tlet [ret, late] = await route(false, path);\n\t\tawait late?.();\n\t\tif (ret) history.pushState(null, \"\", ret);\n\t\treturn ret;\n\t};\n\n\tthis.ssgables = () => {\n\t\tlet traverse = (path: string, route: RouteInternal): [string, string][] => {\n\t\t\tif (route._path) {\n\t\t\t\tpath += \"/\" + route._path;\n\t\t\t}\n\n\t\t\tif (route._children.length) {\n\t\t\t\treturn route._children.map((x) => traverse(path, x)).flat();\n\t\t\t} else if (\n\t\t\t\t!route._path ||\n\t\t\t\t!(route._path.startsWith(\":\") || route._path === \"*\")\n\t\t\t) {\n\t\t\t\treturn [\n\t\t\t\t\t[path || \"/\", route._path ? path + \".html\" : path + \"/index.html\"],\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t\treturn traverse(\"\", routes);\n\t};\n\n\tlet late: () => Promise<void> | void;\n\tlet ran: boolean | undefined;\n\tthis.cx.init = () => {\n\t\tlet [path, origin] = this.initial || [];\n\t\treturn route(true, path, origin).then(([_, _late]) => {\n\t\t\tif (ran) _late?.();\n\t\t\telse late = _late;\n\t\t});\n\t};\n\n\tthis.cx.mount = () => {\n\t\taddEventListener(\"popstate\", () => {\n\t\t\troute(false).then(([_, late]) => late?.());\n\t\t});\n\t\tlet ret = late?.();\n\t\tran = true;\n\t\treturn ret;\n\t};\n\n\treturn <>{use(this.el)}</>;\n}\n"],"names":["Route","_path","this","path","_show","show","_layout","layout","_cork","cork","_children","__autofolded_children","router","_route","route","segments","params","routePath","indexRoute","split","__autofolded_length","ret","splice","every","x","i","segment","DREAMLAND","startsWith","slice","matchRoute","child","unshift","_reconcile","_current","initial","current","pop","reconcile","_el","instance","_showInstance","$","isComponent","state","routerParams","_late","loading","NO_CHANGE","_layoutInstance","h","instanceState","finish","_dep","then","outlet","error","finally","_","__autofolded_routerState","async","Link","class","href","use","__hoisted_str_0","e","preventDefault","navigate","Router","late","ran","routes","latestNavId","location","pathname","origin","currentNavId","realPath","URL","endsWith","Error","el","reconciled","reverse","history","pushState","ssgables","traverse","map","flat","cx","init","mount","addEventListener","Fragment"],"mappings":"iJAoCgBA,IASf,MAAO,CACNC,EAAOC,KAAKC,KACZC,EAAOF,KAAKG,KACZC,EAASJ,KAAKK,OACdC,EAAON,KAAKO,KACZC,EAAWR,KAAIS,GAEjB,CAuCA,IA8LWC,EA3KPC,EAAS,CACZC,EACAX,EACAY,EACAC,KAEA,IAAIC,EAAsB,GACtBC,GAAa,EACbJ,EAAMb,EAETgB,EAAYH,EAAMb,EAAMkB,MAAM,KACpBL,EAAMJ,EAASU,KAIzBF,GAAa,GAGd,IAAIG,EAAuB,GAE3B,IACEJ,EAASG,IACVL,EACEO,OAAO,EAAGL,EAASG,IACnBG,MAAM,CAACC,EAAGC,IAzCG,EAChBC,EACAZ,EACAE,IAEIA,EAAOW,IAAwB,MAAVb,GACxBE,EAAOW,IAAc,IAAMD,GACpB,GACGZ,EAAMc,WAAW,MAE3BZ,EAAOF,EAAMe,MAAM,IAAMH,GAClB,GAEAA,IAAYZ,EA4BDgB,CAAWN,EAAGP,EAAUQ,GAAIT,IAE9C,KACGD,EAAQK,IACQ,KAAhBL,EAAS,IAAaG,GACvBF,EAAOW,MACPb,EAAMJ,EAASU,IAChBN,EAAMV,EAEFY,EAAOW,KACVX,EAAO,KAAOA,EAAOW,GAAWE,MAAM,WAC/Bb,EAAOW,IAGfN,EAAM,CAACP,OACD,CAEN,IAAK,IAAIiB,KAASjB,EAAMJ,GAAa,GAEpC,GADAW,EAAMR,EAAOkB,EAAO5B,EAAM,IAAIY,GAAWC,GACrCK,EAAGD,GAAS,MAEbC,EAAGD,IAASC,EAAIW,QAAQlB,GAI9B,OAAOO,GAWJY,EAAa,CAChBC,EACA/B,EACAa,EACAmB,KAEA,IA4BId,EA5BAe,EAAUF,EAASG,MAInBC,EAAY,KACXF,EAAQhC,EACXiB,EAAM,CACLkB,EAAK,WACJ,IAAIlC,EAAO+B,EAAQhC,EACfoC,EACHJ,EAAQK,WACApC,EAAA,qBAA4BA,IAASA,SAI9C,MAzGL,CACCmB,GAEQA,EAAUkB,EAoGVC,CAAYH,KAAWA,EAASE,EAAEE,MAAMC,aAAe7B,GAC3DoB,EAAQK,EAAgBD,EACjBA,CACP,EATI,GAUL,CAAAM,MAESZ,EAAQd,KAClBC,EAAMY,EAAWC,EAAU/B,EAAMa,EAAQmB,KAW3C,GAFKC,EAAQ5B,GAAO8B,IAEhBF,EAAQ9B,EAAS,CACpB,IAAIsC,EAAqB,CACxB5B,OAAQ,IAAKA,GACbb,OACA4C,SAAS,EACTZ,UACAa,CAACA,IAAY,GAEVR,EACHJ,EAAQa,GAEPC,EAACd,EAAQ9B,EAAO,KAAcsC,IAE5BO,EAAgBX,EAASE,EAAEE,MAC3BQ,EAAU/B,IACZA,EAAIgC,GAAQhC,EAAIkB,GACfe,KACC9B,GAAOoB,EAAMW,OAAS/B,EACtBA,GAAOoB,EAAMY,MAAQhC,GAEtBiC,QAASC,IACTd,EAAMG,SAAU,EAChBI,EAAaQ,GAAef,IAO/B,OAJAR,EAAQa,EAAkBT,EAC1BI,EAAMW,OAASJ,KAA0BI,OACzCf,EAASE,EAAEE,MAAKe,GAAef,EAExB,CACNtC,EAASkC,EACTa,EAAMhC,EAAM+B,EAAO/B,GAAKiC,KAAMI,GAAMlB,GAAY,UAAaA,EAAb,GAChDM,EAAOzB,EACJA,EAAIyB,EACJc,UACAtB,UACMjB,EAAKyB,UACLM,EAAO/B,KAIlB,OAAOA,YAGQwC,IAUf,OAFA3D,KAAK4D,MAAQ5D,KAAK4D,OAAS,GAG1BZ,OACCa,KAAMC,IAAI9D,KAAK6D,MACfD,MAAOE,IAAI9D,KAAK4D,OAAMG,CAAAA,GACXC,IACVA,EAAEC,iBAKFjE,KAAK+D,OAELrD,EAAOwD,SAASlE,KAAK6D,QAGrB7D,KAAIS,GAGR,UAGgB0D,IAefnE,KAAK8C,IAAa,EAGlBpC,EAASV,KAET,IAuEIoE,EACAC,EAxEAC,EAAS,CAAE9D,EAAWR,KAAIS,IAK1B8D,EAAc,EACd3D,EAAQ8C,MACXzB,EACAhC,EAAOuE,SAASC,SAChBC,EAASF,SAASE,UAElB,IAAIC,IAAiBJ,EACjBK,EAAW,IAAIC,IAAI5E,EAAMyE,GAAQD,SACjCG,EAASE,SAAS,WACrBF,EAAWA,EAASjD,MAAM,EAAGiD,EAAQ1D,GAAU,IAChD,IAAIL,EAAW+D,EAAS3D,MAAM,KAAKU,MAAM,GACrCb,EAAS,CAAEgC,CAACA,IAAY,GACxB/B,EAAYJ,EAAO2D,EAAQM,EAAU/D,EAAUC,GAEnD,IAAKC,EAASG,GACb,MAAU6D,MAAM,sBAAwB9E,GAGzC,IAMI+E,EANAC,EAAalD,EAChB,IAAIhB,GAAWmE,UACfN,EACA9D,EACAmB,GAUD,OANIgD,GAAY5C,EAAK2C,QAAWC,EAAW5C,EAClC4C,GAAY7E,IACpB4E,EAAKC,EAAW7E,QACV6E,EAAW9B,GAGdwB,IAAiBJ,EAAoB,IACzCvE,KAAKgF,GAAKA,EAEH,CAAChF,KAAKgF,IAAMJ,EAAUK,GAAYrC,KAkD1C,OAhDA5C,KAAKkE,SAAWR,MAAOzD,IACtB,IAAKkB,EAAKiD,SAAcxD,GAAM,EAAOX,GAGrC,aAFMmE,OACFjD,GAAKgE,QAAQC,UAAU,KAAM,GAAIjE,GAC9BA,GAGRnB,KAAKqF,SAAW,KACf,IAAIC,EAAW,CAACrF,EAAcW,KACzBA,EAAMb,IACTE,GAAQ,IAAMW,EAAMb,GAGjBa,EAAMJ,EAASU,GACXN,EAAMJ,EAAU+E,IAAKjE,GAAMgE,EAASrF,EAAMqB,IAAIkE,QAEpD5E,EAAMb,IACLa,EAAMb,EAAM2B,WAAW,MAAwB,MAAhBd,EAAMb,EAEhC,CACN,CAACE,GAAQ,IAAKW,EAAMb,EAAQE,EAAO,QAAUA,EAAO,gBAG9C,IAGT,OAAOqF,EAAS,GAAIhB,IAKrBtE,KAAKyF,GAAGC,KAAO,KACd,IAAKzF,EAAMyE,GAAU1E,KAAKiC,SAAW,GACrC,OAAOrB,GAAM,EAAMX,EAAMyE,GAAQtB,KAAK,EAAEI,EAAGZ,MACtCyB,EAAKzB,MACJwB,EAAOxB,KAId5C,KAAKyF,GAAGE,MAAQ,KACfC,iBAAiB,WAAY,KAC5BhF,GAAM,GAAOwC,KAAK,EAAEI,EAAGY,KAAUA,SAElC,IAAIjD,EAAMiD,MAEV,OADAC,GAAM,EACClD,GAGD6B,EAAA6C,EAAA,KAAG/B,IAAI9D,KAAKgF,IACpB"}
@@ -0,0 +1,3 @@
1
+ declare let hydrate: (component: () => any, ssr: HTMLElement, head: HTMLElement, dataEl: HTMLElement) => Promise<any>;
2
+
3
+ export { hydrate };
@@ -0,0 +1,2 @@
1
+ import{NO_CHANGE as e,DREAMLAND as t,jsx as r,setDomImpl as l,domImpl as n}from"dreamland/core";let a=(e,t)=>e instanceof t,o="querySelector",i="createElementNS",f="dlssri",u=JSON,m=async(m,c,s,d)=>{let w=r("textarea",{});w.innerHTML=d.innerText;let p=u.parse(w.value),y=+c.getAttribute(f),S=-1,b=e=>{let t=`[${f}="${e}"]`;return y==e?c:c[o](t)||s[o](t)},x=()=>{let e=p.n[++S];if(!e)return;let[t,r]=e;return b(t)?.childNodes?.[r]},E=r=>{let l=p.n[r?.state?.root?.getAttribute?.(f)];l&&((r,l,n)=>{let o=(e,r)=>{a(r,Array)?e[t]().forEach((e,t)=>o(e,r[t])):e.value=i(r.v,e.value,!0)},i=(t,l,n)=>{if("number"==typeof t)return r.v[t];let[a,u]=t;if(4==a)return o(l,u),n?e:l;if(2==a)return new Set(u.map(e=>i(e,{})));if(0==a){let e={};return f(u,e),new Map(Object.entries(e))}return 3==a?u.map(e=>i(e,{})):1==a?(l||={},f(u,l),l):void 0},f=(e,t)=>{for(let[l,n]of e){let e=r.k[l];t[e]=i(n,t[e])}};f(l,n)})(p,l,r.state)},N=e=>e.hasAttribute(f);for(let[e,t,r]of p.t){let l=b(e).childNodes[t];l.length!==r&&l.splitText(r)}let O=n,P=O(),$=[],h=[],j=[],q=[{createElement:e=>b(++S)||P[0].createElement(e),[i]:(e,t)=>b(++S)||P[0][i](e,t),head:P[0].head},P[1],e=>x()||P[2](e),e=>x()||P[3](e),e=>p.i[S+1]||P[4](e),P[5],N,(e,t,r)=>{a(r?.state?.root,P[1])&&!N(r.state?.root)&&E(r)},$,h,j];l(()=>q);let v=await m();for(;h.length;)await Promise.all(h.splice(0));return l(O),$.map(e=>{E(e),j.push(e.mount?.())}),await Promise.all(j),v};export{m as hydrate};
2
+ //# sourceMappingURL=ssr.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr.client.js","sources":["../src/ssr/common/consts.ts","../src/ssr/common/serialize.ts","../src/ssr/client/index.ts"],"sourcesContent":["export let SSR = \"dlssr\" as const;\nexport let SSR_DATA = SSR + \"-d\";\nexport let SSR_ID = SSR + \"i\";\n\nexport let CSS_IDENT = \"dlcss-\";\n","import { Pointer, DREAMLAND, NO_CHANGE } from \"dreamland/core\";\nimport { SsrData, SsrObject, SsrPointer, SsrValue } from \"./types\";\n\nexport let Json = JSON;\n\nexport let serializeState = (\n\tdata: SsrData,\n\tobject: object,\n\tisNode: (x: any) => boolean\n): SsrObject => {\n\tlet push = (arr: string[], val: any): number => {\n\t\tlet idx = arr.indexOf(val);\n\t\tif (idx != -1) return idx;\n\t\telse return arr.push(val) - 1;\n\t};\n\n\tlet exportPtr = (ptr: Pointer<any>): SsrPointer => {\n\t\tlet zipped = ptr[DREAMLAND]();\n\t\treturn zipped ? zipped.map(exportPtr) : { v: _val(ptr.value) };\n\t};\n\n\tlet isUndefined = (x: any): x is undefined => typeof x == \"undefined\";\n\n\tlet _val = (val: any): SsrValue | undefined => {\n\t\tif (![\"bigint\", \"function\", \"object\"].includes(typeof val)) {\n\t\t\treturn push(data.v, val);\n\t\t} else if (val instanceof Pointer) {\n\t\t\treturn [4, exportPtr(val)];\n\t\t} else if (val instanceof Map) {\n\t\t\tlet entries = Object.fromEntries(val.entries());\n\t\t\treturn [0, _serialize(entries)];\n\t\t} else if (val instanceof Set) {\n\t\t\tlet vals = [...val.values()].map((x) => _val(x));\n\t\t\tif (vals.some(isUndefined)) return;\n\n\t\t\treturn [2, vals];\n\t\t} else if (val instanceof Array) {\n\t\t\tlet vals = val.map((x) => _val(x));\n\t\t\tif (vals.some(isUndefined)) return;\n\n\t\t\treturn [3, vals];\n\t\t} else if (\n\t\t\ttypeof val === \"object\" &&\n\t\t\t[undefined, Object].includes(val.constructor)\n\t\t) {\n\t\t\treturn [1, _serialize(val)];\n\t\t} else if (!isNode(val)) {\n\t\t\tdev: {\n\t\t\t\tif (val instanceof Function) return;\n\n\t\t\t\tconsole.warn(\"[dreamland.js] did not serialize unknown value \", val);\n\t\t\t}\n\t\t}\n\t};\n\n\tlet _serialize = (object: any, root?: boolean): SsrObject => {\n\t\tlet out: SsrObject = [];\n\t\tif (!object[NO_CHANGE])\n\t\t\tfor (let k in object) {\n\t\t\t\tif (root && [\"cx\", \"root\"].includes(k)) continue;\n\n\t\t\t\tlet v = object[k];\n\t\t\t\tlet val = _val(v);\n\n\t\t\t\tif (!isUndefined(val)) out.push([push(data.k, k), val]);\n\t\t\t}\n\t\treturn out;\n\t};\n\n\treturn _serialize(object, true);\n};\n\nexport let hydrateState = (data: SsrData, state: SsrObject, target: any) => {\n\tlet hydratePtr = (ptr: Pointer<any>, data: SsrPointer) => {\n\t\tif (data instanceof Array) {\n\t\t\tptr[DREAMLAND]()!.forEach((x, i) => hydratePtr(x, data[i]));\n\t\t} else {\n\t\t\tptr.value = _val(data.v, ptr.value, true);\n\t\t}\n\t};\n\n\t// TODO this is ugly\n\tlet _val = (val: SsrValue, target?: any, ptr?: boolean): any => {\n\t\tif (typeof val == \"number\") {\n\t\t\treturn data.v[val];\n\t\t}\n\n\t\tlet [type, v] = val as any;\n\t\tif (type == 4) {\n\t\t\thydratePtr(target as Pointer<any>, v);\n\t\t\treturn ptr ? NO_CHANGE : target;\n\t\t} else if (type == 2) {\n\t\t\treturn new Set(v.map((x: SsrValue) => _val(x, {})));\n\t\t} else if (type == 0) {\n\t\t\tlet t = {};\n\t\t\t_hydrate(v, t);\n\t\t\treturn new Map(Object.entries(t));\n\t\t} else if (type == 3) {\n\t\t\treturn v.map((x: SsrValue) => _val(x, {}));\n\t\t} else if (type == 1) {\n\t\t\ttarget ||= {};\n\t\t\t_hydrate(v, target);\n\t\t\treturn target;\n\t\t}\n\t};\n\n\tlet _hydrate = (state: SsrObject, target: any) => {\n\t\tfor (let [_k, v] of state) {\n\t\t\tlet k = data.k[_k];\n\t\t\ttarget[k] = _val(v, target[k]);\n\t\t}\n\t};\n\n\t_hydrate(state, target);\n};\n","import {\n\tComponent,\n\tComponentContext,\n\tDomImpl,\n\tdomImpl,\n\tjsx,\n\tsetDomImpl,\n} from \"dreamland/core\";\nimport { SSR_DATA, SSR_ID } from \"../common/consts\";\nimport { hydrateState, Json } from \"../common/serialize\";\nimport { SsrData, SsrObject } from \"../common/types\";\n\n// single function for all hydration mismatch warnings, easy to breakpoint\nlet mismatch: (msg: string) => void;\nlet isPruned: (idx: number) => boolean;\ndev: {\n\tmismatch = (msg) => {\n\t\tconsole.warn(\"[dreamland.js] Hydration mismatch: \" + msg);\n\t};\n\tisPruned = () => false;\n}\n\nexport let hydrate = async (\n\tcomponent: () => any,\n\tssr: HTMLElement,\n\thead: HTMLElement,\n\tdataEl: HTMLElement\n) => {\n\tdev: {\n\t\tif (dataEl.getAttribute(SSR_DATA) !== \":3\") throw \"invalid ssr root\";\n\t}\n\t// decode entities\n\tlet textarea = jsx(\"textarea\", {}) as HTMLTextAreaElement;\n\ttextarea.innerHTML = dataEl.innerText;\n\tlet data: SsrData = Json.parse(textarea.value);\n\n\tdev: {\n\t\tif (data.p) {\n\t\t\tlet ranges = data.p;\n\t\t\tisPruned = (idx) => {\n\t\t\t\tlet lo = 0,\n\t\t\t\t\thi = ranges.length - 1;\n\t\t\t\twhile (lo <= hi) {\n\t\t\t\t\tlet mid = (lo + hi) >> 1;\n\t\t\t\t\tlet r = ranges[mid];\n\t\t\t\t\tlet start = typeof r === \"number\" ? r : r[0];\n\t\t\t\t\tlet end = typeof r === \"number\" ? r : r[1];\n\t\t\t\t\tif (idx < start) hi = mid - 1;\n\t\t\t\t\telse if (idx > end) lo = mid + 1;\n\t\t\t\t\telse return true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}\n\t}\n\n\tlet els: [number, HTMLElement][] = [];\n\n\tlet rootIdx = +ssr.getAttribute(SSR_ID)!;\n\tlet idx = -1;\n\tlet getInternal = (idx: number) => {\n\t\tlet selector = `[${SSR_ID}=\"${idx}\"]`;\n\t\tlet ret =\n\t\t\trootIdx == idx\n\t\t\t\t? ssr\n\t\t\t\t: ssr.querySelector<HTMLElement>(selector) ||\n\t\t\t\t\thead.querySelector<HTMLElement>(selector);\n\t\tif (ret) els.push([idx, ret]);\n\t\treturn ret;\n\t};\n\tlet getRelative = () => {\n\t\tlet info = data.n[++idx];\n\t\tif (!info) return;\n\n\t\tlet [parent, offset] = info as [number, number];\n\t\treturn getInternal(parent)?.childNodes?.[offset];\n\t};\n\tlet hydrateCx = (cx: ComponentContext<any>) => {\n\t\tlet ssr = data.n[cx?.state?.root?.getAttribute?.(SSR_ID) as any as number];\n\t\tif (ssr) {\n\t\t\thydrateState(data, ssr as SsrObject, cx.state);\n\t\t}\n\t};\n\tlet hydrating = (x: HTMLElement) => x.hasAttribute(SSR_ID);\n\n\tfor (let [parent, offset, len] of data.t) {\n\t\tlet text = getInternal(parent)!.childNodes[offset] as Text;\n\t\tif (text.length !== len) text.splitText(len);\n\t}\n\n\tlet _old = domImpl,\n\t\told = _old();\n\tlet cxs: ComponentContext<Component<any, any>>[] = [];\n\tlet inits: (Promise<any> | any)[] = [];\n\tlet mounts: typeof inits = [];\n\tlet vdom = [\n\t\t{\n\t\t\tcreateElement: (x: any) => {\n\t\t\t\tlet el = getInternal(++idx);\n\t\t\t\tdev: {\n\t\t\t\t\tif (el && el.tagName.toLowerCase() !== x.toLowerCase())\n\t\t\t\t\t\tmismatch(\n\t\t\t\t\t\t\t`expected <${x}> but server rendered <${el.tagName.toLowerCase()}> (${SSR_ID}=${idx})`\n\t\t\t\t\t\t);\n\t\t\t\t\tif (!el && !isPruned(idx))\n\t\t\t\t\t\tmismatch(\n\t\t\t\t\t\t\t`could not find server-rendered element for <${x}> (${SSR_ID}=${idx})`\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn el || old[0].createElement(x);\n\t\t\t},\n\t\t\tcreateElementNS: (x: any, y: any) => {\n\t\t\t\tlet el = getInternal(++idx);\n\t\t\t\tdev: {\n\t\t\t\t\tif (el && el.tagName.toLowerCase() !== y.toLowerCase())\n\t\t\t\t\t\tmismatch(\n\t\t\t\t\t\t\t`expected <${y}> (ns: ${x}) but server rendered <${el.tagName.toLowerCase()}> (${SSR_ID}=${idx})`\n\t\t\t\t\t\t);\n\t\t\t\t\tif (!el && !isPruned(idx))\n\t\t\t\t\t\tmismatch(\n\t\t\t\t\t\t\t`could not find server-rendered element for <${y}> (ns: ${x}) (${SSR_ID}=${idx})`\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn el || old[0].createElementNS(x, y);\n\t\t\t},\n\t\t\thead: old[0].head,\n\t\t},\n\t\told[1],\n\t\t(x: any) => {\n\t\t\tlet node = getRelative();\n\t\t\tdev: {\n\t\t\t\tif (node && node.nodeType !== 3)\n\t\t\t\t\tmismatch(\n\t\t\t\t\t\t`expected text node but found node of type ${node.nodeType} (${SSR_ID}=${idx})`\n\t\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tnode &&\n\t\t\t\t\tnode.nodeType === 3 &&\n\t\t\t\t\tx != null &&\n\t\t\t\t\t\"\" + x !== node.textContent\n\t\t\t\t)\n\t\t\t\t\tmismatch(\n\t\t\t\t\t\t`text content differs - expected \"${x}\" but server rendered \"${node.textContent}\" (${SSR_ID}=${idx})`\n\t\t\t\t\t);\n\t\t\t\tif (!node && !isPruned(idx))\n\t\t\t\t\tmismatch(\n\t\t\t\t\t\t`could not find server-rendered text node for \"${x}\" (${SSR_ID}=${idx})`\n\t\t\t\t\t);\n\t\t\t}\n\t\t\treturn node || old[2](x);\n\t\t},\n\t\t(x: any) => {\n\t\t\tlet node = getRelative();\n\t\t\tdev: {\n\t\t\t\tif (node && node.nodeType !== 8)\n\t\t\t\t\tmismatch(\n\t\t\t\t\t\t`expected comment node but found node of type ${node.nodeType} (${SSR_ID}=${idx})`\n\t\t\t\t\t);\n\t\t\t\tif (!node && !isPruned(idx))\n\t\t\t\t\tmismatch(\n\t\t\t\t\t\t`could not find server-rendered comment node (${SSR_ID}=${idx})`\n\t\t\t\t\t);\n\t\t\t}\n\t\t\treturn node || old[3](x);\n\t\t},\n\t\t(x) => data.i[idx + 1] || old[4](x),\n\t\told[5],\n\t\thydrating,\n\t\t(_init, _state, cx) => {\n\t\t\tif (cx?.state?.root instanceof old[1] && !hydrating(cx.state?.root))\n\t\t\t\thydrateCx(cx);\n\t\t},\n\t\tcxs,\n\t\tinits,\n\t\tmounts,\n\t] as const satisfies DomImpl;\n\n\tsetDomImpl(() => vdom);\n\tlet root = await component();\n\twhile (inits.length) {\n\t\tawait Promise.all(inits.splice(0));\n\t}\n\tsetDomImpl(_old);\n\n\tcxs.map((x) => {\n\t\thydrateCx(x);\n\t\tmounts.push(x.mount?.());\n\t});\n\n\tawait Promise.all(mounts);\n\n\treturn root;\n};\n"],"names":["SSR_ID","SSR","Json","JSON","hydrate","async","component","ssr","head","dataEl","textarea","jsx","innerHTML","innerText","data","parse","value","rootIdx","getAttribute","idx","getInternal","selector","__autofolded_querySelector","getRelative","info","n","parent","offset","childNodes","hydrateCx","cx","state","root","target","hydratePtr","ptr","__instanceof","Array","DREAMLAND","forEach","x","i","_val","v","val","type","NO_CHANGE","Set","map","t","_hydrate","Map","Object","entries","_k","k","hydrateState","hydrating","hasAttribute","len","text","length","splitText","_old","domImpl","old","cxs","inits","mounts","vdom","createElement","__autofolded_createElementNS","y","_init","_state","setDomImpl","Promise","all","splice","push","mount"],"mappings":"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"}