kiru 0.54.4 → 1.0.1

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 (335) hide show
  1. package/dist/{appContext.d.ts → appHandle.d.ts} +4 -4
  2. package/dist/appHandle.d.ts.map +1 -0
  3. package/dist/{appContext.js → appHandle.js} +12 -9
  4. package/dist/appHandle.js.map +1 -0
  5. package/dist/components/derive.d.ts +10 -8
  6. package/dist/components/derive.d.ts.map +1 -1
  7. package/dist/components/derive.js +50 -47
  8. package/dist/components/derive.js.map +1 -1
  9. package/dist/components/index.d.ts +0 -1
  10. package/dist/components/index.d.ts.map +1 -1
  11. package/dist/components/index.js +0 -1
  12. package/dist/components/index.js.map +1 -1
  13. package/dist/components/lazy.d.ts.map +1 -1
  14. package/dist/components/lazy.js +5 -4
  15. package/dist/components/lazy.js.map +1 -1
  16. package/dist/components/portal.d.ts.map +1 -1
  17. package/dist/components/portal.js +2 -3
  18. package/dist/components/portal.js.map +1 -1
  19. package/dist/components/transition.d.ts +3 -2
  20. package/dist/components/transition.d.ts.map +1 -1
  21. package/dist/components/transition.js +29 -26
  22. package/dist/components/transition.js.map +1 -1
  23. package/dist/constants.d.ts +1 -5
  24. package/dist/constants.d.ts.map +1 -1
  25. package/dist/constants.js +1 -5
  26. package/dist/constants.js.map +1 -1
  27. package/dist/context.d.ts +1 -1
  28. package/dist/context.d.ts.map +1 -1
  29. package/dist/context.js +25 -19
  30. package/dist/context.js.map +1 -1
  31. package/dist/devtools.d.ts +7 -0
  32. package/dist/devtools.d.ts.map +1 -0
  33. package/dist/devtools.js +15 -0
  34. package/dist/devtools.js.map +1 -0
  35. package/dist/dom.d.ts.map +1 -1
  36. package/dist/dom.js +25 -58
  37. package/dist/dom.js.map +1 -1
  38. package/dist/globalContext.d.ts +15 -16
  39. package/dist/globalContext.d.ts.map +1 -1
  40. package/dist/globalContext.js +36 -46
  41. package/dist/globalContext.js.map +1 -1
  42. package/dist/globals.d.ts +1 -4
  43. package/dist/globals.d.ts.map +1 -1
  44. package/dist/globals.js +1 -4
  45. package/dist/globals.js.map +1 -1
  46. package/dist/headlessRender.d.ts +6 -0
  47. package/dist/headlessRender.d.ts.map +1 -0
  48. package/dist/{recursiveRender.js → headlessRender.js} +17 -16
  49. package/dist/headlessRender.js.map +1 -0
  50. package/dist/hmr.d.ts +5 -7
  51. package/dist/hmr.d.ts.map +1 -1
  52. package/dist/hmr.js +27 -32
  53. package/dist/hmr.js.map +1 -1
  54. package/dist/hooks/index.d.ts +3 -14
  55. package/dist/hooks/index.d.ts.map +1 -1
  56. package/dist/hooks/index.js +3 -14
  57. package/dist/hooks/index.js.map +1 -1
  58. package/dist/hooks/onBeforeMount.d.ts +9 -0
  59. package/dist/hooks/onBeforeMount.d.ts.map +1 -0
  60. package/dist/hooks/onBeforeMount.js +12 -0
  61. package/dist/hooks/onBeforeMount.js.map +1 -0
  62. package/dist/hooks/onCleanup.d.ts +8 -0
  63. package/dist/hooks/onCleanup.d.ts.map +1 -0
  64. package/dist/hooks/onCleanup.js +15 -0
  65. package/dist/hooks/onCleanup.js.map +1 -0
  66. package/dist/hooks/onMount.d.ts +9 -0
  67. package/dist/hooks/onMount.d.ts.map +1 -0
  68. package/dist/hooks/onMount.js +12 -0
  69. package/dist/hooks/onMount.js.map +1 -0
  70. package/dist/hooks/utils.d.ts +2 -62
  71. package/dist/hooks/utils.d.ts.map +1 -1
  72. package/dist/hooks/utils.js +22 -144
  73. package/dist/hooks/utils.js.map +1 -1
  74. package/dist/index.d.ts +8 -4
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -6
  77. package/dist/index.js.map +1 -1
  78. package/dist/profiling.d.ts +15 -14
  79. package/dist/profiling.d.ts.map +1 -1
  80. package/dist/profiling.js +9 -4
  81. package/dist/profiling.js.map +1 -1
  82. package/dist/reconciler.d.ts.map +1 -1
  83. package/dist/reconciler.js +12 -25
  84. package/dist/reconciler.js.map +1 -1
  85. package/dist/ref.d.ts +4 -0
  86. package/dist/ref.d.ts.map +1 -0
  87. package/dist/ref.js +4 -0
  88. package/dist/ref.js.map +1 -0
  89. package/dist/renderToString.js +1 -1
  90. package/dist/renderToString.js.map +1 -1
  91. package/dist/router/context.d.ts.map +1 -1
  92. package/dist/router/context.js +1 -2
  93. package/dist/router/context.js.map +1 -1
  94. package/dist/router/fileRouter.d.ts +1 -1
  95. package/dist/router/fileRouter.d.ts.map +1 -1
  96. package/dist/router/fileRouter.js +17 -11
  97. package/dist/router/fileRouter.js.map +1 -1
  98. package/dist/router/fileRouterController.d.ts.map +1 -1
  99. package/dist/router/fileRouterController.js +68 -55
  100. package/dist/router/fileRouterController.js.map +1 -1
  101. package/dist/router/link.d.ts.map +1 -1
  102. package/dist/router/link.js +19 -23
  103. package/dist/router/link.js.map +1 -1
  104. package/dist/router/server/index.d.ts.map +1 -1
  105. package/dist/router/server/index.js +14 -11
  106. package/dist/router/server/index.js.map +1 -1
  107. package/dist/router/types.d.ts +11 -6
  108. package/dist/router/types.d.ts.map +1 -1
  109. package/dist/scheduler.d.ts +1 -0
  110. package/dist/scheduler.d.ts.map +1 -1
  111. package/dist/scheduler.js +65 -52
  112. package/dist/scheduler.js.map +1 -1
  113. package/dist/signals/base.d.ts +0 -1
  114. package/dist/signals/base.d.ts.map +1 -1
  115. package/dist/signals/base.js +13 -36
  116. package/dist/signals/base.js.map +1 -1
  117. package/dist/signals/computed.d.ts +0 -2
  118. package/dist/signals/computed.d.ts.map +1 -1
  119. package/dist/signals/computed.js +1 -40
  120. package/dist/signals/computed.js.map +1 -1
  121. package/dist/signals/effect.d.ts +15 -14
  122. package/dist/signals/effect.d.ts.map +1 -1
  123. package/dist/signals/effect.js +65 -37
  124. package/dist/signals/effect.js.map +1 -1
  125. package/dist/signals/globals.d.ts +0 -5
  126. package/dist/signals/globals.d.ts.map +1 -1
  127. package/dist/signals/globals.js +0 -6
  128. package/dist/signals/globals.js.map +1 -1
  129. package/dist/signals/index.d.ts +4 -4
  130. package/dist/signals/index.d.ts.map +1 -1
  131. package/dist/signals/index.js +4 -4
  132. package/dist/signals/index.js.map +1 -1
  133. package/dist/signals/{for.d.ts → jsx.d.ts} +8 -1
  134. package/dist/signals/jsx.d.ts.map +1 -0
  135. package/dist/signals/{for.js → jsx.js} +4 -1
  136. package/dist/signals/jsx.js.map +1 -0
  137. package/dist/signals/tracking.d.ts +23 -0
  138. package/dist/signals/tracking.d.ts.map +1 -0
  139. package/dist/signals/tracking.js +51 -0
  140. package/dist/signals/tracking.js.map +1 -0
  141. package/dist/signals/types.d.ts +1 -1
  142. package/dist/signals/types.d.ts.map +1 -1
  143. package/dist/signals/utils.d.ts +2 -1
  144. package/dist/signals/utils.d.ts.map +1 -1
  145. package/dist/signals/utils.js +9 -2
  146. package/dist/signals/utils.js.map +1 -1
  147. package/dist/ssr/client.d.ts +3 -3
  148. package/dist/ssr/client.d.ts.map +1 -1
  149. package/dist/ssr/client.js.map +1 -1
  150. package/dist/ssr/server.js +1 -1
  151. package/dist/ssr/server.js.map +1 -1
  152. package/dist/statefulPromise.d.ts +22 -0
  153. package/dist/statefulPromise.d.ts.map +1 -0
  154. package/dist/statefulPromise.js +94 -0
  155. package/dist/statefulPromise.js.map +1 -0
  156. package/dist/types.d.ts +35 -49
  157. package/dist/types.d.ts.map +1 -1
  158. package/dist/types.dom.d.ts +4 -7
  159. package/dist/types.dom.d.ts.map +1 -1
  160. package/dist/types.utils.d.ts +3 -4
  161. package/dist/types.utils.d.ts.map +1 -1
  162. package/dist/utils/vdom.d.ts +8 -6
  163. package/dist/utils/vdom.d.ts.map +1 -1
  164. package/dist/utils/vdom.js +32 -9
  165. package/dist/utils/vdom.js.map +1 -1
  166. package/dist/viewTransitions.d.ts +7 -0
  167. package/dist/viewTransitions.d.ts.map +1 -0
  168. package/dist/viewTransitions.js +71 -0
  169. package/dist/viewTransitions.js.map +1 -0
  170. package/package.json +1 -1
  171. package/src/{appContext.ts → appHandle.ts} +21 -16
  172. package/src/components/derive.ts +74 -69
  173. package/src/components/index.ts +0 -1
  174. package/src/components/lazy.ts +5 -4
  175. package/src/components/portal.ts +2 -3
  176. package/src/components/transition.ts +33 -35
  177. package/src/constants.ts +0 -8
  178. package/src/context.ts +30 -23
  179. package/src/devtools.ts +16 -0
  180. package/src/dom.ts +31 -65
  181. package/src/globalContext.ts +57 -74
  182. package/src/globals.ts +1 -5
  183. package/src/{recursiveRender.ts → headlessRender.ts} +18 -18
  184. package/src/hmr.ts +29 -38
  185. package/src/hooks/index.ts +3 -14
  186. package/src/hooks/onBeforeMount.ts +12 -0
  187. package/src/hooks/onCleanup.ts +15 -0
  188. package/src/hooks/onMount.ts +12 -0
  189. package/src/hooks/utils.ts +28 -238
  190. package/src/index.ts +14 -6
  191. package/src/profiling.ts +22 -20
  192. package/src/reconciler.ts +18 -30
  193. package/src/ref.ts +6 -0
  194. package/src/renderToString.ts +1 -1
  195. package/src/router/context.ts +1 -2
  196. package/src/router/fileRouter.ts +23 -13
  197. package/src/router/fileRouterController.ts +72 -64
  198. package/src/router/link.ts +11 -25
  199. package/src/router/server/index.ts +24 -13
  200. package/src/router/types.ts +15 -8
  201. package/src/scheduler.ts +74 -71
  202. package/src/signals/base.ts +12 -41
  203. package/src/signals/computed.ts +1 -62
  204. package/src/signals/effect.ts +95 -48
  205. package/src/signals/globals.ts +0 -7
  206. package/src/signals/index.ts +4 -4
  207. package/src/signals/{for.ts → jsx.ts} +10 -0
  208. package/src/signals/tracking.ts +69 -0
  209. package/src/signals/types.ts +1 -1
  210. package/src/signals/utils.ts +9 -1
  211. package/src/ssr/client.ts +4 -4
  212. package/src/ssr/server.ts +2 -2
  213. package/src/statefulPromise.ts +136 -0
  214. package/src/types.dom.ts +4 -8
  215. package/src/types.ts +44 -59
  216. package/src/types.utils.ts +3 -4
  217. package/src/utils/vdom.ts +44 -15
  218. package/src/viewTransitions.ts +88 -0
  219. package/dist/appContext.d.ts.map +0 -1
  220. package/dist/appContext.js.map +0 -1
  221. package/dist/components/memo.d.ts +0 -10
  222. package/dist/components/memo.d.ts.map +0 -1
  223. package/dist/components/memo.js +0 -23
  224. package/dist/components/memo.js.map +0 -1
  225. package/dist/form/index.d.ts +0 -4
  226. package/dist/form/index.d.ts.map +0 -1
  227. package/dist/form/index.js +0 -518
  228. package/dist/form/index.js.map +0 -1
  229. package/dist/form/types.d.ts +0 -122
  230. package/dist/form/types.d.ts.map +0 -1
  231. package/dist/form/types.js +0 -2
  232. package/dist/form/types.js.map +0 -1
  233. package/dist/form/utils.d.ts +0 -3
  234. package/dist/form/utils.d.ts.map +0 -1
  235. package/dist/form/utils.js +0 -16
  236. package/dist/form/utils.js.map +0 -1
  237. package/dist/hooks/useAsync.d.ts +0 -18
  238. package/dist/hooks/useAsync.d.ts.map +0 -1
  239. package/dist/hooks/useAsync.js +0 -96
  240. package/dist/hooks/useAsync.js.map +0 -1
  241. package/dist/hooks/useCallback.d.ts +0 -7
  242. package/dist/hooks/useCallback.d.ts.map +0 -1
  243. package/dist/hooks/useCallback.js +0 -30
  244. package/dist/hooks/useCallback.js.map +0 -1
  245. package/dist/hooks/useContext.d.ts +0 -7
  246. package/dist/hooks/useContext.d.ts.map +0 -1
  247. package/dist/hooks/useContext.js +0 -59
  248. package/dist/hooks/useContext.js.map +0 -1
  249. package/dist/hooks/useEffect.d.ts +0 -8
  250. package/dist/hooks/useEffect.d.ts.map +0 -1
  251. package/dist/hooks/useEffect.js +0 -34
  252. package/dist/hooks/useEffect.js.map +0 -1
  253. package/dist/hooks/useEffectEvent.d.ts +0 -8
  254. package/dist/hooks/useEffectEvent.d.ts.map +0 -1
  255. package/dist/hooks/useEffectEvent.js +0 -23
  256. package/dist/hooks/useEffectEvent.js.map +0 -1
  257. package/dist/hooks/useId.d.ts +0 -8
  258. package/dist/hooks/useId.d.ts.map +0 -1
  259. package/dist/hooks/useId.js +0 -35
  260. package/dist/hooks/useId.js.map +0 -1
  261. package/dist/hooks/useLayoutEffect.d.ts +0 -8
  262. package/dist/hooks/useLayoutEffect.d.ts.map +0 -1
  263. package/dist/hooks/useLayoutEffect.js +0 -34
  264. package/dist/hooks/useLayoutEffect.js.map +0 -1
  265. package/dist/hooks/useMemo.d.ts +0 -8
  266. package/dist/hooks/useMemo.d.ts.map +0 -1
  267. package/dist/hooks/useMemo.js +0 -31
  268. package/dist/hooks/useMemo.js.map +0 -1
  269. package/dist/hooks/usePromise.d.ts +0 -8
  270. package/dist/hooks/usePromise.d.ts.map +0 -1
  271. package/dist/hooks/usePromise.js +0 -90
  272. package/dist/hooks/usePromise.js.map +0 -1
  273. package/dist/hooks/useReducer.d.ts +0 -7
  274. package/dist/hooks/useReducer.d.ts.map +0 -1
  275. package/dist/hooks/useReducer.js +0 -44
  276. package/dist/hooks/useReducer.js.map +0 -1
  277. package/dist/hooks/useRef.d.ts +0 -10
  278. package/dist/hooks/useRef.d.ts.map +0 -1
  279. package/dist/hooks/useRef.js +0 -29
  280. package/dist/hooks/useRef.js.map +0 -1
  281. package/dist/hooks/useState.d.ts +0 -7
  282. package/dist/hooks/useState.d.ts.map +0 -1
  283. package/dist/hooks/useState.js +0 -54
  284. package/dist/hooks/useState.js.map +0 -1
  285. package/dist/hooks/useSyncExternalStore.d.ts +0 -8
  286. package/dist/hooks/useSyncExternalStore.d.ts.map +0 -1
  287. package/dist/hooks/useSyncExternalStore.js +0 -50
  288. package/dist/hooks/useSyncExternalStore.js.map +0 -1
  289. package/dist/hooks/useViewTransition.d.ts +0 -10
  290. package/dist/hooks/useViewTransition.d.ts.map +0 -1
  291. package/dist/hooks/useViewTransition.js +0 -27
  292. package/dist/hooks/useViewTransition.js.map +0 -1
  293. package/dist/recursiveRender.d.ts +0 -7
  294. package/dist/recursiveRender.d.ts.map +0 -1
  295. package/dist/recursiveRender.js.map +0 -1
  296. package/dist/signals/for.d.ts.map +0 -1
  297. package/dist/signals/for.js.map +0 -1
  298. package/dist/signals/watch.d.ts +0 -21
  299. package/dist/signals/watch.d.ts.map +0 -1
  300. package/dist/signals/watch.js +0 -86
  301. package/dist/signals/watch.js.map +0 -1
  302. package/dist/store.d.ts +0 -28
  303. package/dist/store.d.ts.map +0 -1
  304. package/dist/store.js +0 -166
  305. package/dist/store.js.map +0 -1
  306. package/dist/swr.d.ts +0 -63
  307. package/dist/swr.d.ts.map +0 -1
  308. package/dist/swr.js +0 -236
  309. package/dist/swr.js.map +0 -1
  310. package/dist/utils/promise.d.ts +0 -16
  311. package/dist/utils/promise.d.ts.map +0 -1
  312. package/dist/utils/promise.js +0 -14
  313. package/dist/utils/promise.js.map +0 -1
  314. package/src/components/memo.ts +0 -39
  315. package/src/form/index.ts +0 -676
  316. package/src/form/types.ts +0 -262
  317. package/src/form/utils.ts +0 -19
  318. package/src/hooks/useAsync.ts +0 -121
  319. package/src/hooks/useCallback.ts +0 -32
  320. package/src/hooks/useContext.ts +0 -79
  321. package/src/hooks/useEffect.ts +0 -40
  322. package/src/hooks/useEffectEvent.ts +0 -24
  323. package/src/hooks/useId.ts +0 -42
  324. package/src/hooks/useLayoutEffect.ts +0 -43
  325. package/src/hooks/useMemo.ts +0 -34
  326. package/src/hooks/usePromise.ts +0 -126
  327. package/src/hooks/useReducer.ts +0 -50
  328. package/src/hooks/useRef.ts +0 -40
  329. package/src/hooks/useState.ts +0 -62
  330. package/src/hooks/useSyncExternalStore.ts +0 -59
  331. package/src/hooks/useViewTransition.ts +0 -25
  332. package/src/signals/watch.ts +0 -139
  333. package/src/store.ts +0 -245
  334. package/src/swr.ts +0 -351
  335. package/src/utils/promise.ts +0 -26
@@ -1 +1 @@
1
- {"version":3,"file":"fileRouterController.d.ts","sourceRoot":"","sources":["../../src/router/fileRouterController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGxE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EAKX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAEV,iBAAiB,EAIlB,MAAM,qBAAqB,CAAA;AAiB5B,qBAAa,oBAAoB;IACxB,YAAY,EAAE,qBAAqB,CAAA;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,uBAAuB,CAAC,EAAE,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EACzD,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,CAAC,KACN,IAAI,CAAA;IACT,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAC,CAG3B;IACD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,iBAAiB,CAAC,CAAyB;IACnD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAM;;IA2Gd,IAAI,CAAC,MAAM,EAAE,gBAAgB;IAqJ7B,WAAW;IAUX,OAAO;YAUA,SAAS;YA6IT,aAAa;IAmD3B,OAAO,CAAC,UAAU;YAcJ,QAAQ;YAkCR,oBAAoB;IAuBlC,OAAO,CAAC,QAAQ;YAUF,OAAO;YAcP,kBAAkB;IA2BhC,OAAO,CAAC,kBAAkB;CA0B3B"}
1
+ {"version":3,"file":"fileRouterController.d.ts","sourceRoot":"","sources":["../../src/router/fileRouterController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGxE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EAOX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAEV,iBAAiB,EAIlB,MAAM,qBAAqB,CAAA;AAkB5B,qBAAa,oBAAoB;IACxB,YAAY,EAAE,qBAAqB,CAAA;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,uBAAuB,CAAC,EAAE,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EACzD,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,CAAC,KACN,IAAI,CAAA;IACT,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAC,CAG3B;IACD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,iBAAiB,CAAC,CAAyB;IACnD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAM;;IAiHd,IAAI,CAAC,MAAM,EAAE,gBAAgB;IAsJ7B,WAAW;IAUX,OAAO;YAUA,SAAS;YAgJT,aAAa;IAmD3B,OAAO,CAAC,UAAU;YAcJ,QAAQ;YAmCR,oBAAoB;IAuBlC,OAAO,CAAC,QAAQ;YAUF,OAAO;YAcP,kBAAkB;IA2BhC,OAAO,CAAC,kBAAkB;CA0B3B"}
@@ -1,29 +1,30 @@
1
- import { Signal } from "../signals/base.js";
2
- import { watch } from "../signals/watch.js";
1
+ import { signal } from "../signals/base.js";
2
+ import { effect } from "../signals/effect.js";
3
3
  import { __DEV__ } from "../env.js";
4
- import { flushSync, nextIdle } from "../scheduler.js";
4
+ import { nextIdle } from "../scheduler.js";
5
5
  import { FileRouterDataLoadError } from "./errors.js";
6
6
  import { fileRouterInstance, fileRouterRoute, routerCache } from "./globals.js";
7
7
  import { formatViteImportMap, matchLayouts, matchRoute, match404Route, normalizePrefixPath, parseQuery, wrapWithLayouts, } from "./utils/index.js";
8
8
  import { RouterCache } from "./cache.js";
9
9
  import { scrollStack } from "./scrollStack.js";
10
+ import { ViewTransitions } from "../viewTransitions.js";
10
11
  export class FileRouterController {
11
12
  constructor() {
12
13
  this.baseUrl = "/";
13
14
  routerCache.current ?? (routerCache.current = new RouterCache());
14
15
  this.abortController = new AbortController();
15
- this.currentPage = new Signal(null);
16
- this.currentPageProps = new Signal({});
17
- this.currentLayouts = new Signal([]);
16
+ this.currentPage = signal(null);
17
+ this.currentPageProps = signal({});
18
+ this.currentLayouts = signal([]);
18
19
  this.enableTransitions = false;
19
20
  this.historyIndex = 0;
20
21
  this.layouts = {};
21
22
  this.pages = {};
22
23
  this.state = {
23
- pathname: window.location.pathname,
24
- hash: window.location.hash,
25
- params: {},
26
- query: {},
24
+ pathname: signal(window.location.pathname),
25
+ hash: signal(window.location.hash),
26
+ params: signal({}),
27
+ query: signal({}),
27
28
  signal: this.abortController.signal,
28
29
  };
29
30
  this.contextValue = this.createContextValue();
@@ -48,10 +49,11 @@ export class FileRouterController {
48
49
  // Check cache first if caching is enabled
49
50
  let cachedData = null;
50
51
  if (loader.mode !== "static" && loader.cache) {
52
+ const { pathname, params, query } = this.state;
51
53
  const cacheKey = {
52
- path: this.state.pathname,
53
- params: this.state.params,
54
- query: this.state.query,
54
+ path: pathname.peek(),
55
+ params: params.peek(),
56
+ query: query.peek(),
55
57
  };
56
58
  cachedData = routerCache.current.get(cacheKey, loader.cache);
57
59
  }
@@ -78,7 +80,14 @@ export class FileRouterController {
78
80
  handleStateTransition(this.state.signal, transition, () => {
79
81
  this.currentPageProps.value = props;
80
82
  });
81
- this.loadRouteData(config, props, this.state, transition);
83
+ const { pathname, hash, params, query, signal } = this.state;
84
+ this.loadRouteData(config, props, {
85
+ pathname: pathname.peek(),
86
+ hash: hash.peek(),
87
+ params: params.peek(),
88
+ query: query.peek(),
89
+ signal,
90
+ }, transition);
82
91
  }
83
92
  }
84
93
  this.pageRouteToConfig?.set(existing.route, config);
@@ -92,12 +101,12 @@ export class FileRouterController {
92
101
  },
93
102
  navigate: this.navigate.bind(this),
94
103
  reload: () => {
95
- this.invalidate(this.state.pathname);
104
+ this.invalidate(this.state.pathname.peek());
96
105
  return this.loadRoute();
97
106
  },
98
107
  subscribe: (callback) => {
99
- const watcher = watch([this.currentPage, this.currentPageProps], callback);
100
- return () => watcher.stop();
108
+ const e = effect([this.currentPage, this.currentPageProps], callback);
109
+ return () => e.stop();
101
110
  },
102
111
  };
103
112
  }
@@ -112,13 +121,11 @@ export class FileRouterController {
112
121
  this.baseUrl = normalizedBaseUrl.slice(0, -1);
113
122
  if (preloaded) {
114
123
  const { pages, layouts, page, pageProps, pageLayouts, route, params, query, cacheData, } = preloaded;
115
- this.state = {
116
- params,
117
- query,
118
- pathname: window.location.pathname,
119
- hash: window.location.hash,
120
- signal: this.abortController.signal,
121
- };
124
+ this.state.pathname.value = window.location.pathname;
125
+ this.state.hash.value = window.location.hash;
126
+ this.state.params.value = params;
127
+ this.state.query.value = query;
128
+ this.state.signal = this.abortController.signal;
122
129
  this.currentPage.value = {
123
130
  component: page.default,
124
131
  config: page.config,
@@ -140,7 +147,14 @@ export class FileRouterController {
140
147
  if (loader &&
141
148
  ((loader.mode !== "static" && pageProps.loading === true) || __DEV__)) {
142
149
  if (cacheData === null) {
143
- this.loadRouteData(page.config, pageProps, this.state);
150
+ const { pathname, hash, params, query, signal } = this.state;
151
+ this.loadRouteData(page.config, pageProps, {
152
+ pathname: pathname.peek(),
153
+ hash: hash.peek(),
154
+ params: params.peek(),
155
+ query: query.peek(),
156
+ signal,
157
+ });
144
158
  }
145
159
  else {
146
160
  nextIdle(() => {
@@ -257,7 +271,7 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
257
271
  if (typeof page.default !== "function") {
258
272
  throw new Error("[kiru/router]: Route component must be a default exported function");
259
273
  }
260
- const routerState = {
274
+ const loaderContext = {
261
275
  pathname: path,
262
276
  hash: window.location.hash,
263
277
  params,
@@ -277,9 +291,9 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
277
291
  let cachedData = null;
278
292
  if (loader.mode !== "static" && loader.cache) {
279
293
  const cacheKey = {
280
- path: routerState.pathname,
281
- params: routerState.params,
282
- query: routerState.query,
294
+ path: loaderContext.pathname,
295
+ params: loaderContext.params,
296
+ query: loaderContext.query,
283
297
  };
284
298
  cachedData = routerCache.current.get(cacheKey, loader.cache);
285
299
  }
@@ -300,7 +314,7 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
300
314
  data: null,
301
315
  error: null,
302
316
  };
303
- this.loadRouteData(config, props, routerState, enableTransition);
317
+ this.loadRouteData(config, props, loaderContext, enableTransition);
304
318
  }
305
319
  }
306
320
  else {
@@ -318,8 +332,11 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
318
332
  }
319
333
  }
320
334
  return handleStateTransition(signal, enableTransition, () => {
321
- this.state = routerState;
322
- this.contextValue = this.createContextValue();
335
+ this.state.pathname.value = path;
336
+ this.state.hash.value = window.location.hash;
337
+ this.state.params.value = params;
338
+ this.state.query.value = query;
339
+ this.state.signal = signal;
323
340
  this.currentPage.value = {
324
341
  component: page.default,
325
342
  config,
@@ -336,18 +353,18 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
336
353
  this.currentPage.value = null;
337
354
  }
338
355
  }
339
- async loadRouteData(config, props, routerState, enableTransition = this.enableTransitions) {
356
+ async loadRouteData(config, props, context, enableTransition = this.enableTransitions) {
340
357
  const { loader } = config;
341
358
  // Load data from loader (cache check is now done earlier in loadRoute)
342
359
  loader
343
- .load(routerState)
360
+ .load(context)
344
361
  .then((data) => {
345
362
  // Cache the data if caching is enabled
346
363
  if (loader.mode !== "static" && loader.cache) {
347
364
  const cacheKey = {
348
- path: routerState.pathname,
349
- params: routerState.params,
350
- query: routerState.query,
365
+ path: context.pathname,
366
+ params: context.params,
367
+ query: context.query,
351
368
  };
352
369
  routerCache.current.set(cacheKey, data, loader.cache);
353
370
  }
@@ -362,10 +379,10 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
362
379
  loading: false,
363
380
  }))
364
381
  .then((state) => {
365
- if (routerState.signal.aborted)
382
+ if (context.signal.aborted)
366
383
  return;
367
384
  const transition = (loader.mode !== "static" && loader.transition) ?? enableTransition;
368
- handleStateTransition(routerState.signal, transition, () => {
385
+ handleStateTransition(context.signal, transition, () => {
369
386
  this.currentPageProps.value = {
370
387
  ...props,
371
388
  ...state,
@@ -377,14 +394,15 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
377
394
  // Invalidate cache entries
378
395
  routerCache.current.invalidate(...paths);
379
396
  // Check if current page matches any invalidated paths
380
- const currentPath = this.state.pathname;
397
+ const currentPath = this.state.pathname.peek();
381
398
  const shouldRefresh = routerCache.current.pathMatchesPattern(currentPath, paths);
382
399
  return shouldRefresh;
383
400
  }
384
401
  async navigate(path, options) {
385
402
  const url = new URL(path, "http://localhost");
386
403
  const { hash: nextHash, pathname: nextPath } = url;
387
- const { hash: prevHash, pathname: prevPath } = this.state;
404
+ const prevHash = this.state.hash.peek();
405
+ const prevPath = this.state.pathname.peek();
388
406
  if (nextHash === prevHash && nextPath === prevPath) {
389
407
  return;
390
408
  }
@@ -422,9 +440,9 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
422
440
  }
423
441
  setQuery(query, options) {
424
442
  const queryString = buildQueryString(query);
425
- const newUrl = `${this.state.pathname}${queryString ? `?${queryString}` : ""}`;
443
+ const newUrl = `${this.state.pathname.peek()}${queryString ? `?${queryString}` : ""}`;
426
444
  this.updateHistoryState(newUrl, options);
427
- this.state = { ...this.state, query };
445
+ this.state.query.value = query;
428
446
  return this.loadRoute();
429
447
  }
430
448
  async setHash(hash, options) {
@@ -434,11 +452,11 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
434
452
  else if (hash.length && !hash.startsWith("#")) {
435
453
  hash = `#${hash}`;
436
454
  }
437
- if (hash === this.state.hash) {
455
+ if (hash === this.state.hash.peek()) {
438
456
  return;
439
457
  }
440
- this.updateHistoryState(`${this.state.pathname}${hash}`, options);
441
- this.state = { ...this.state, hash };
458
+ this.updateHistoryState(`${this.state.pathname.peek()}${hash}`, options);
459
+ this.state.hash.value = hash;
442
460
  return this.loadRoute();
443
461
  }
444
462
  async updateHistoryState(path, options) {
@@ -470,13 +488,13 @@ See https://kirujs.dev/docs/api/file-router#404 for more information.`);
470
488
  }
471
489
  },
472
490
  get state() {
473
- return { ...__this.state };
491
+ return __this.state;
474
492
  },
475
493
  navigate: this.navigate.bind(this),
476
494
  prefetchRouteModules: this.prefetchRouteModules.bind(this),
477
495
  reload: async (options) => {
478
496
  if (options?.invalidate ?? true) {
479
- this.invalidate(this.state.pathname);
497
+ this.invalidate(this.state.pathname.peek());
480
498
  }
481
499
  return this.loadRoute(void 0, void 0, options?.transition);
482
500
  },
@@ -500,18 +518,13 @@ function buildQueryString(query) {
500
518
  return params.toString();
501
519
  }
502
520
  async function handleStateTransition(signal, enableTransition, callback) {
503
- if (!enableTransition || typeof document.startViewTransition !== "function") {
521
+ if (!enableTransition) {
504
522
  return new Promise((resolve) => {
505
523
  callback();
506
524
  nextIdle(resolve);
507
525
  });
508
526
  }
509
- const vt = document.startViewTransition(() => {
510
- callback();
511
- flushSync();
512
- });
513
- signal.addEventListener("abort", () => vt.skipTransition());
514
- await vt.ready;
527
+ await ViewTransitions.run(callback, { signal });
515
528
  }
516
529
  function validateRoutes(pageMap) {
517
530
  const routeConflicts = [];
@@ -1 +1 @@
1
- {"version":3,"file":"fileRouterController.js","sourceRoot":"","sources":["../../src/router/fileRouterController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileRouterController.js","sourceRoot":"","sources":["../../src/router/fileRouterController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/router/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAK5C,MAAM,WAAW,SAAU,SAAQ,YAAY,CAAC,GAAG,CAAC;IAClD;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAiDnC,CAAA"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/router/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI5C,MAAM,WAAW,SAAU,SAAQ,YAAY,CAAC,GAAG,CAAC;IAClD;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAoCnC,CAAA"}
@@ -1,33 +1,29 @@
1
1
  import { createElement } from "../element.js";
2
- import { useCallback } from "../hooks/index.js";
3
2
  import { useFileRouter } from "./context.js";
4
3
  export const Link = ({ to, onclick, onmouseover, onfocus, replace, transition, prefetchJs, ...props }) => {
5
4
  const { navigate, prefetchRouteModules, baseUrl } = useFileRouter();
6
5
  const href = baseUrl + to;
7
- const handleMouseOver = useCallback((e) => {
8
- if (prefetchJs !== false) {
9
- prefetchRouteModules(href);
10
- }
11
- onmouseover?.(e);
12
- }, [onmouseover, href]);
13
- const handleFocus = useCallback((e) => {
14
- if (prefetchJs !== false) {
15
- prefetchRouteModules(href);
16
- }
17
- onfocus?.(e);
18
- }, [onfocus, href]);
19
- const handleClick = useCallback((e) => {
20
- onclick?.(e);
21
- if (e.defaultPrevented)
22
- return;
23
- e.preventDefault();
24
- navigate(href, { replace, transition });
25
- }, [onclick, navigate, href, replace, transition]);
26
6
  return createElement("a", {
27
7
  href: href,
28
- onclick: handleClick,
29
- onmouseover: handleMouseOver,
30
- onfocus: handleFocus,
8
+ onclick: (e) => {
9
+ onclick?.(e);
10
+ if (e.defaultPrevented)
11
+ return;
12
+ e.preventDefault();
13
+ navigate(href, { replace, transition });
14
+ },
15
+ onmouseover: (e) => {
16
+ if (prefetchJs !== false) {
17
+ prefetchRouteModules(href);
18
+ }
19
+ onmouseover?.(e);
20
+ },
21
+ onfocus: (e) => {
22
+ if (prefetchJs !== false) {
23
+ prefetchRouteModules(href);
24
+ }
25
+ onfocus?.(e);
26
+ },
31
27
  ...props,
32
28
  });
33
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/router/link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AA0B5C,MAAM,CAAC,MAAM,IAAI,GAAuB,CAAC,EACvC,EAAE,EACF,OAAO,EACP,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAA;IAEnE,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAA;IACzB,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,CAAqC,EAAE,EAAE;QACxC,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,EACD,CAAC,WAAW,EAAE,IAAI,CAAC,CACpB,CAAA;IACD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAqC,EAAE,EAAE;QACxC,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACd,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,CAAC,CAChB,CAAA;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAqC,EAAE,EAAE;QACxC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACZ,IAAI,CAAC,CAAC,gBAAgB;YAAE,OAAM;QAC9B,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IACzC,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAC/C,CAAA;IAED,OAAO,aAAa,CAAC,GAAG,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,WAAW;QACpB,GAAG,KAAK;KACT,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/router/link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AA0B5C,MAAM,CAAC,MAAM,IAAI,GAAuB,CAAC,EACvC,EAAE,EACF,OAAO,EACP,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAA;IAEnE,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAA;IAEzB,OAAO,aAAa,CAAC,GAAG,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,CAAC,CAAqC,EAAE,EAAE;YACjD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACZ,IAAI,CAAC,CAAC,gBAAgB;gBAAE,OAAM;YAC9B,CAAC,CAAC,cAAc,EAAE,CAAA;YAClB,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,WAAW,EAAE,CAAC,CAAqC,EAAE,EAAE;YACrD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;gBACzB,oBAAoB,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,EAAE,CAAC,CAAqC,EAAE,EAAE;YACjD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;gBACzB,oBAAoB,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;QACD,GAAG,KAAK;KACT,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAA;AAKzE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;IACjB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,0BAA0B,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACrE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,MAAM,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,YAAY,CAAC,CAwJvB;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,mCAmCtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAA;AAKzE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;IACjB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,0BAA0B,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACrE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,MAAM,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,YAAY,CAAC,CA6JvB;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,mCAmCtE"}
@@ -1,6 +1,7 @@
1
1
  import { createElement, Fragment } from "../../element.js";
2
2
  import { matchLayouts, matchRoute, match404Route, parseQuery, wrapWithLayouts, } from "../utils/index.js";
3
3
  import { RouterContext } from "../context.js";
4
+ import { signal, Signal } from "../../signals/base.js";
4
5
  import { __DEV__ } from "../../env.js";
5
6
  import { FileRouterDataLoadError } from "../errors.js";
6
7
  import { renderToString } from "../../renderToString.js";
@@ -51,7 +52,7 @@ export async function render(url, ctx, result) {
51
52
  props = { loading: true, data: null, error: null };
52
53
  }
53
54
  else {
54
- const routerState = {
55
+ const loaderContext = {
55
56
  pathname: u.pathname,
56
57
  hash: "",
57
58
  params,
@@ -62,7 +63,7 @@ export async function render(url, ctx, result) {
62
63
  abortController.abort("[kiru/router]: Page data loading timed out after 10 seconds");
63
64
  }, 10000);
64
65
  try {
65
- const data = await config.loader.load(routerState);
66
+ const data = await config.loader.load(loaderContext);
66
67
  props = {
67
68
  data,
68
69
  error: null,
@@ -85,21 +86,23 @@ export async function render(url, ctx, result) {
85
86
  const children = wrapWithLayouts(layouts
86
87
  .map((layout) => layout.default)
87
88
  .filter((l) => typeof l === "function"), page.default, props);
89
+ const routerState = {
90
+ pathname: signal(u.pathname),
91
+ hash: signal(""),
92
+ params: signal(params),
93
+ query: signal(query),
94
+ signal: abortController.signal,
95
+ };
88
96
  let documentShell = renderToString(createElement(ctx.Document));
89
97
  if (documentShell.includes("</body>") ||
90
98
  !documentShell.includes("<kiru-body-outlet>")) {
91
99
  throw new Error("[kiru/router]: Document is expected to contain a <Body.Outlet> element. See https://kirujs.dev/docs/api/file-router#general-usage");
92
100
  }
93
- const app = createElement(RouterContext.Provider, {
101
+ const app = createElement(RouterContext, {
94
102
  children: Fragment({ children }),
95
103
  value: {
96
104
  baseUrl: ctx.baseUrl.slice(0, -1),
97
- state: {
98
- params,
99
- query,
100
- pathname: u.pathname,
101
- signal: abortController.signal, // Server-side signal (not abortable)
102
- },
105
+ state: routerState,
103
106
  },
104
107
  });
105
108
  let pageOutletContent = renderToString(app);
@@ -118,10 +121,10 @@ export async function render(url, ctx, result) {
118
121
  // remove head outlet element and everything within it
119
122
  documentShell = documentShell.replaceAll("<kiru-head-outlet>", "");
120
123
  }
124
+ Object.values(routerState).forEach((s) => Signal.isSignal(s) && Signal.dispose(s));
121
125
  const [prePageOutlet, postPageOutlet] = documentShell.split("<kiru-body-outlet>");
122
- // console.log("immediate", immediate)
123
126
  return {
124
- status: is404Route ? 404 : (result?.status ?? 200),
127
+ status: is404Route ? 404 : result?.status ?? 200,
125
128
  body: `<!doctype html>${prePageOutlet}<body>${pageOutletContent}</body>${postPageOutlet}`,
126
129
  };
127
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"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"}
@@ -64,30 +64,36 @@ export interface RouterState {
64
64
  * @example
65
65
  * "/users/[id]" -> "/users/123"
66
66
  */
67
- pathname: string;
67
+ pathname: Kiru.Signal<string>;
68
68
  /**
69
69
  * The current hash
70
70
  * @example
71
71
  * "/users/123#profile" -> "#profile"
72
72
  */
73
- hash: string;
73
+ hash: Kiru.Signal<string>;
74
74
  /**
75
75
  * The current route params
76
76
  * @example
77
77
  * "/foo/[id]/page.tsx" -> { id: "123" }
78
78
  */
79
- params: RouteParams;
79
+ params: Kiru.Signal<RouteParams>;
80
80
  /**
81
81
  * The current route query
82
82
  */
83
- query: RouteQuery;
83
+ query: Kiru.Signal<RouteQuery>;
84
84
  /**
85
85
  * The abort signal for the current route, aborted and
86
86
  * renewed each time the route changes or reloads
87
87
  */
88
88
  signal: AbortSignal;
89
89
  }
90
- type PageDataLoaderContext = RouterState & {};
90
+ export interface PageDataLoaderContext {
91
+ pathname: string;
92
+ hash: string;
93
+ params: RouteParams;
94
+ query: RouteQuery;
95
+ signal: AbortSignal;
96
+ }
91
97
  export interface PageDataLoaderCacheConfig {
92
98
  type: "memory" | "localStorage" | "sessionStorage";
93
99
  ttl: number;
@@ -143,5 +149,4 @@ export interface PageConfig<T = unknown> {
143
149
  generateStaticParams?: () => RouteParams[] | Promise<RouteParams[]>;
144
150
  }
145
151
  export type PageProps<T extends PageConfig<any>> = T extends PageConfig<infer U> ? AsyncTaskState<U, FileRouterDataLoadError> : {};
146
- export {};
147
152
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}