kiru 0.45.2 → 0.46.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 (127) hide show
  1. package/dist/appContext.d.ts +0 -13
  2. package/dist/appContext.d.ts.map +1 -1
  3. package/dist/appContext.js +15 -55
  4. package/dist/appContext.js.map +1 -1
  5. package/dist/constants.d.ts +5 -7
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +5 -7
  8. package/dist/constants.js.map +1 -1
  9. package/dist/context.d.ts.map +1 -1
  10. package/dist/context.js +2 -4
  11. package/dist/context.js.map +1 -1
  12. package/dist/dom.d.ts +2 -2
  13. package/dist/dom.d.ts.map +1 -1
  14. package/dist/dom.js +36 -32
  15. package/dist/dom.js.map +1 -1
  16. package/dist/form/index.d.ts.map +1 -1
  17. package/dist/form/index.js +17 -3
  18. package/dist/form/index.js.map +1 -1
  19. package/dist/form/types.d.ts +1 -0
  20. package/dist/form/types.d.ts.map +1 -1
  21. package/dist/globals.d.ts +1 -6
  22. package/dist/globals.d.ts.map +1 -1
  23. package/dist/globals.js +1 -5
  24. package/dist/globals.js.map +1 -1
  25. package/dist/hmr.d.ts +1 -1
  26. package/dist/hmr.d.ts.map +1 -1
  27. package/dist/hmr.js +2 -4
  28. package/dist/hmr.js.map +1 -1
  29. package/dist/hooks/useViewTransition.d.ts.map +1 -1
  30. package/dist/hooks/useViewTransition.js +3 -3
  31. package/dist/hooks/useViewTransition.js.map +1 -1
  32. package/dist/hooks/utils.d.ts +1 -5
  33. package/dist/hooks/utils.d.ts.map +1 -1
  34. package/dist/hooks/utils.js +8 -20
  35. package/dist/hooks/utils.js.map +1 -1
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -3
  39. package/dist/index.js.map +1 -1
  40. package/dist/lazy.d.ts.map +1 -1
  41. package/dist/lazy.js +4 -4
  42. package/dist/lazy.js.map +1 -1
  43. package/dist/portal.d.ts.map +1 -1
  44. package/dist/portal.js +2 -3
  45. package/dist/portal.js.map +1 -1
  46. package/dist/props.js +1 -1
  47. package/dist/props.js.map +1 -1
  48. package/dist/reconciler.d.ts.map +1 -1
  49. package/dist/reconciler.js +105 -79
  50. package/dist/reconciler.js.map +1 -1
  51. package/dist/renderToString.d.ts.map +1 -1
  52. package/dist/renderToString.js +5 -8
  53. package/dist/renderToString.js.map +1 -1
  54. package/dist/router/router.d.ts.map +1 -1
  55. package/dist/router/router.js +5 -6
  56. package/dist/router/router.js.map +1 -1
  57. package/dist/scheduler.d.ts +4 -11
  58. package/dist/scheduler.d.ts.map +1 -1
  59. package/dist/scheduler.js +365 -390
  60. package/dist/scheduler.js.map +1 -1
  61. package/dist/signals/base.d.ts +4 -4
  62. package/dist/signals/base.d.ts.map +1 -1
  63. package/dist/signals/base.js +38 -24
  64. package/dist/signals/base.js.map +1 -1
  65. package/dist/signals/computed.d.ts +2 -2
  66. package/dist/signals/computed.d.ts.map +1 -1
  67. package/dist/signals/computed.js +11 -3
  68. package/dist/signals/computed.js.map +1 -1
  69. package/dist/signals/effect.d.ts +1 -1
  70. package/dist/signals/effect.d.ts.map +1 -1
  71. package/dist/signals/globals.d.ts +2 -2
  72. package/dist/signals/globals.d.ts.map +1 -1
  73. package/dist/signals/globals.js.map +1 -1
  74. package/dist/signals/jsx.d.ts +4 -3
  75. package/dist/signals/jsx.d.ts.map +1 -1
  76. package/dist/signals/jsx.js +1 -1
  77. package/dist/signals/jsx.js.map +1 -1
  78. package/dist/signals/types.d.ts +2 -2
  79. package/dist/signals/types.d.ts.map +1 -1
  80. package/dist/signals/utils.d.ts +1 -1
  81. package/dist/signals/utils.d.ts.map +1 -1
  82. package/dist/signals/utils.js +1 -1
  83. package/dist/signals/utils.js.map +1 -1
  84. package/dist/ssr/server.d.ts.map +1 -1
  85. package/dist/ssr/server.js +1 -5
  86. package/dist/ssr/server.js.map +1 -1
  87. package/dist/types.d.ts +9 -2
  88. package/dist/types.d.ts.map +1 -1
  89. package/dist/utils.d.ts +1 -1
  90. package/dist/utils.d.ts.map +1 -1
  91. package/dist/utils.js +17 -17
  92. package/dist/utils.js.map +1 -1
  93. package/package.json +1 -1
  94. package/src/appContext.ts +21 -67
  95. package/src/constants.ts +8 -7
  96. package/src/context.ts +2 -4
  97. package/src/dom.ts +50 -29
  98. package/src/env.ts +6 -6
  99. package/src/form/index.ts +17 -3
  100. package/src/form/types.ts +1 -0
  101. package/src/globals.ts +1 -9
  102. package/src/hmr.ts +3 -5
  103. package/src/hooks/useViewTransition.ts +3 -3
  104. package/src/hooks/utils.ts +7 -22
  105. package/src/index.ts +3 -3
  106. package/src/lazy.ts +4 -4
  107. package/src/portal.ts +2 -3
  108. package/src/props.ts +1 -1
  109. package/src/reconciler.ts +116 -90
  110. package/src/renderToString.ts +5 -8
  111. package/src/router/router.ts +4 -6
  112. package/src/scheduler.ts +369 -407
  113. package/src/signals/base.ts +40 -33
  114. package/src/signals/computed.ts +8 -3
  115. package/src/signals/effect.ts +1 -1
  116. package/src/signals/globals.ts +2 -2
  117. package/src/signals/jsx.ts +12 -11
  118. package/src/signals/types.ts +2 -2
  119. package/src/signals/utils.ts +1 -1
  120. package/src/ssr/server.ts +1 -5
  121. package/src/types.ts +9 -2
  122. package/src/utils.ts +26 -21
  123. package/dist/flags.d.ts +0 -6
  124. package/dist/flags.d.ts.map +0 -1
  125. package/dist/flags.js +0 -16
  126. package/dist/flags.js.map +0 -1
  127. package/src/flags.ts +0 -15
@@ -1,4 +1,4 @@
1
- import { ctx, node, nodeToCtxMap, renderMode } from "./globals.js"
1
+ import { node, renderMode } from "./globals.js"
2
2
  import { createAppContext } from "./appContext.js"
3
3
  import { Fragment } from "./element.js"
4
4
  import {
@@ -7,7 +7,7 @@ import {
7
7
  propsToElementAttributes,
8
8
  isExoticType,
9
9
  } from "./utils.js"
10
- import { Signal } from "./signals/base.js"
10
+ import { Signal } from "./signals/index.js"
11
11
  import { $HYDRATION_BOUNDARY, voidElements } from "./constants.js"
12
12
  import { assertValidElementProps } from "./props.js"
13
13
  import { HYDRATION_BOUNDARY_MARKER } from "./ssr/hydrationBoundary.js"
@@ -19,13 +19,11 @@ export function renderToString<T extends Record<string, unknown>>(
19
19
  ) {
20
20
  const prev = renderMode.current
21
21
  renderMode.current = "string"
22
- const prevCtx = ctx.current
23
- const c = (ctx.current = createAppContext(appFunc, appProps, {
22
+ const ctx = createAppContext(appFunc, appProps, {
24
23
  rootType: Fragment,
25
- }))
26
- const res = renderToString_internal(c.rootNode, null, 0)
24
+ })
25
+ const res = renderToString_internal(ctx.rootNode, null, 0)
27
26
  renderMode.current = prev
28
- ctx.current = prevCtx
29
27
  return res
30
28
  }
31
29
 
@@ -65,7 +63,6 @@ function renderToString_internal(
65
63
  }
66
64
 
67
65
  if (typeof type !== "string") {
68
- nodeToCtxMap.set(el, ctx.current)
69
66
  node.current = el
70
67
  const res = type(props)
71
68
  node.current = null
@@ -5,7 +5,6 @@ import {
5
5
  useContext,
6
6
  useLayoutEffect,
7
7
  useRef,
8
- useAppContext,
9
8
  } from "../hooks/index.js"
10
9
  import { __DEV__ } from "../env.js"
11
10
  import {
@@ -15,9 +14,10 @@ import {
15
14
  } from "./routerUtils.js"
16
15
  import { createContext } from "../context.js"
17
16
  import { isRoute, Route } from "./route.js"
18
- import { getVNodeAppContext, noop } from "../utils.js"
17
+ import { noop } from "../utils.js"
19
18
  import { node } from "../globals.js"
20
19
  import type { ElementProps } from "../types"
20
+ import { flushSync, nextIdle } from "../scheduler.js"
21
21
 
22
22
  export interface LinkProps extends Omit<ElementProps<"a">, "href"> {
23
23
  /**
@@ -116,8 +116,7 @@ export function navigate(to: string, options?: { replace?: boolean }) {
116
116
  * called from a non-router-decendant - postpone
117
117
  * until next tick to avoid race conditions
118
118
  */
119
- const ctx = getVNodeAppContext(node.current)
120
- return ctx.scheduler?.nextIdle(doNav), null
119
+ return nextIdle(doNav), null
121
120
  }
122
121
  /**
123
122
  * set the value of our router's syncNavCallback,
@@ -155,7 +154,6 @@ const initLoc = () => ({
155
154
  * @see https://kirujs.dev/docs/api/routing
156
155
  */
157
156
  export function Router(props: RouterProps) {
158
- const appCtx = useAppContext()
159
157
  const viewTransition = useRef<ViewTransition | null>(null)
160
158
  const syncNavCallback = useRef<(() => void) | null>(null)
161
159
  const parentRouterContext = useContext(RouterContext, false)
@@ -188,7 +186,7 @@ export function Router(props: RouterProps) {
188
186
  pathname: window.location.pathname,
189
187
  search: window.location.search,
190
188
  })
191
- appCtx.flushSync()
189
+ flushSync()
192
190
  })
193
191
  viewTransition.current.finished.then(() => {
194
192
  viewTransition.current = null