@jalvin/runtime 2.0.41 → 2.0.42

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.
package/dist/index.d.ts CHANGED
@@ -4,9 +4,9 @@ export { Job, JobCancellationException, Deferred, CoroutineScope, launch, async_
4
4
  export type { Dispatcher, FlowCollector } from "./coroutines.js";
5
5
  export { MutableStateFlow, mapFlow, filterFlow, debounceFlow, ViewModel, viewModel, clearViewModel, clearAllViewModels, } from "./stateflow.js";
6
6
  export type { StateFlow, Subscriber, Unsubscribe } from "./stateflow.js";
7
- export { jalvinCreateElement, patch } from "./dom.js";
8
7
  export { NavController, NavGraphBuilder, NavHost, rememberNavController, } from "./nav.js";
9
8
  export type { BackStackEntry, NavOptions } from "./nav.js";
9
+ export { jalvinCreateElement, patch } from "./dom.js";
10
10
  export { mutableStateOf, remember, rememberMutableStateOf, collectAsState, LaunchedEffect, DisposableEffect, SideEffect, WindowSizeClassProvider, calculateWindowSizeClass, widthToSizeClass, heightToSizeClass, render, } from "./ui.js";
11
11
  export type { MutableState, WindowSizeClass, WindowSizeClassState } from "./ui.js";
12
12
  export { println, print, } from "./stdlib/io.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,10 +5,10 @@ export { Bibi, BibiRequestBuilder, BibiError, headers, timeout } from "./bibi.js
5
5
  export { Job, JobCancellationException, Deferred, CoroutineScope, launch, async_ as async, delay, withContext, repeat, runBlocking, yield_, withTimeout, withTimeoutOrNull, TimeoutCancellationException, Channel, ChannelClosedException, Flow, flow, flowOf, asFlow, coroutineScope, supervisorScope, } from "./coroutines.js";
6
6
  // StateFlow / ViewModel
7
7
  export { MutableStateFlow, mapFlow, filterFlow, debounceFlow, ViewModel, viewModel, clearViewModel, clearAllViewModels, } from "./stateflow.js";
8
- // UI hooks & Rendering
9
- export { jalvinCreateElement, patch } from "./dom.js";
10
8
  // Router — Compose Navigation-style declarative routing
11
9
  export { NavController, NavGraphBuilder, NavHost, rememberNavController, } from "./nav.js";
10
+ // UI hooks & Rendering
11
+ export { jalvinCreateElement, patch } from "./dom.js";
12
12
  export { mutableStateOf, remember, rememberMutableStateOf, collectAsState, LaunchedEffect, DisposableEffect, SideEffect, WindowSizeClassProvider, calculateWindowSizeClass, widthToSizeClass, heightToSizeClass, render, } from "./ui.js";
13
13
  // Utilities / stdlib — each module is a single-purpose file under stdlib/
14
14
  // See packages/runtime/src/stdlib/index.ts for the full module map.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/nav.d.ts CHANGED
@@ -1,21 +1,19 @@
1
- import { type StateFlow } from "./stateflow.js";
1
+ import type { StateFlow } from "./stateflow.js";
2
2
  import type { VNode } from "./dom.js";
3
- /** Information about the currently active destination in the back stack. */
4
3
  export interface BackStackEntry {
5
- /** The matched route pattern, e.g. "profile/{userId}" */
4
+ /** Matched route pattern, e.g. "profile/{userId}" */
6
5
  route: string;
7
- /** The actual navigated path, e.g. "profile/42" */
6
+ /** Actual destination path, e.g. "profile/42" */
8
7
  destination: string;
9
- /** Path parameters extracted from the pattern, e.g. { userId: "42" } */
8
+ /** Extracted path parameters */
10
9
  arguments: Record<string, string>;
11
10
  }
12
- /** Options passed to NavController.navigate(). */
13
11
  export interface NavOptions {
14
- /** Pop back stack until this route pattern is reached before pushing the new destination. */
12
+ /** Pop back stack up to (but not including) this route before navigating */
15
13
  popUpTo?: string;
16
- /** Whether to also pop the popUpTo destination itself. Default false. */
14
+ /** If true, also pop the popUpTo route itself */
17
15
  popUpToInclusive?: boolean;
18
- /** Skip pushing if the current destination is already this route. Default false. */
16
+ /** If true and already at destination, don't add a duplicate entry */
19
17
  launchSingleTop?: boolean;
20
18
  }
21
19
  interface CompiledRoute {
@@ -24,78 +22,24 @@ interface CompiledRoute {
24
22
  paramNames: string[];
25
23
  content: (entry: BackStackEntry) => VNode;
26
24
  }
27
- /**
28
- * Collects route definitions registered by composable() calls.
29
- * Passed as the argument to the NavHost trailing-block lambda.
30
- */
31
25
  export declare class NavGraphBuilder {
32
- /** @internal */
33
26
  readonly _routes: CompiledRoute[];
34
- /**
35
- * Register a route destination.
36
- *
37
- * @param pattern Route pattern with optional {param} placeholders,
38
- * e.g. "home", "profile/{userId}", "post/{id}/comments".
39
- * @param content Composable that renders this destination.
40
- * Receives the BackStackEntry so it can read route arguments.
41
- */
42
27
  composable(pattern: string, content: (entry: BackStackEntry) => VNode): void;
43
28
  }
44
- /**
45
- * Manages the navigation back stack and drives route transitions.
46
- *
47
- * Create one via rememberNavController() and pass it to NavHost.
48
- * Then thread it to screens that need to trigger navigation.
49
- */
50
29
  export declare class NavController {
51
30
  private readonly _backStack;
52
- /** The top-most entry in the back stack, or null before the first navigation. */
53
- readonly currentBackStackEntry: StateFlow<BackStackEntry | null>;
31
+ private readonly _currentEntry;
54
32
  private _resolver;
55
33
  constructor();
56
- private _navigateTo;
57
- /** @internal NavHost sets this on every render. */
58
- _setResolver(resolver: (destination: string) => BackStackEntry): void;
59
- /** @internal — NavHost calls this once on mount to seed the initial destination. */
34
+ get currentBackStackEntry(): StateFlow<BackStackEntry | null>;
35
+ _setResolver(resolver: (dest: string) => BackStackEntry | null): void;
60
36
  _initFromHash(startDestination: string): void;
61
- private _popTo;
62
- /**
63
- * Navigate to a destination.
64
- *
65
- * @param destination The literal path to navigate to, e.g. "profile/42".
66
- * This is the *destination* string, not the route pattern.
67
- */
37
+ private _navigateTo;
68
38
  navigate(destination: string, options?: NavOptions): void;
69
- /**
70
- * Pop the current destination off the back stack (the system back action).
71
- * Returns true if navigation happened, false if the stack had only one entry.
72
- */
73
39
  popBackStack(): boolean;
74
- /** Returns true if there is a previous destination to pop to. */
75
40
  canPopBackStack(): boolean;
76
41
  }
77
- /**
78
- * Creates a NavController and remembers it across recompositions.
79
- * Call this at the root of your component tree.
80
- */
81
42
  export declare function rememberNavController(): NavController;
82
- /**
83
- * The root navigation composable. Renders whichever route matches the current
84
- * destination in the NavController's back stack.
85
- *
86
- * The children block receives a NavGraphBuilder and should call
87
- * graph.composable() to register each destination:
88
- *
89
- * NavHost(navController = nav, startDestination = "home") { graph ->
90
- * graph.composable("home") { HomeScreen(navController = nav) }
91
- * graph.composable("profile/{userId}") { entry ->
92
- * ProfileScreen(userId = entry.arguments["userId"], navController = nav)
93
- * }
94
- * }
95
- *
96
- * In compiled TypeScript the children array will contain a single function
97
- * (graph: NavGraphBuilder) => void that populates the builder.
98
- */
99
43
  export declare function NavHost(props: {
100
44
  navController: NavController;
101
45
  startDestination: string;
package/dist/nav.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"AAaA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAOtC,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC;CAC3C;AAsCD;;;GAGG;AACH,qBAAa,eAAe;IAC1B,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,CAAM;IAEvC;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,GAAG,IAAI;CAI7E;AAuBD;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IAEzE,iFAAiF;IACjF,QAAQ,CAAC,qBAAqB,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAIjE,OAAO,CAAC,SAAS,CAA0D;;IAqB3E,OAAO,CAAC,WAAW;IAQnB,qDAAqD;IACrD,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI;IAIrE,oFAAoF;IACpF,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAK7C,OAAO,CAAC,MAAM;IAed;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAsBzD;;;OAGG;IACH,YAAY,IAAI,OAAO;IAUvB,iEAAiE;IACjE,eAAe,IAAI,OAAO;CAG3B;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EACjE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,GAC3D,KAAK,CAiDP"}
1
+ {"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC;CAC3C;AAyBD,qBAAa,eAAe;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,CAAM;IAEvC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,GAAG,IAAI;CAI7E;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,SAAS,CAA0D;;IAM3E,IAAI,qBAAqB,IAAI,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAE5D;IAED,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,GAAG,IAAI;IAIrE,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAc7C,OAAO,CAAC,WAAW;IAOnB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IA0BzD,YAAY,IAAI,OAAO;IAYvB,eAAe,IAAI,OAAO;CAG3B;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EACjE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,GAC3D,KAAK,CAgCP"}
package/dist/nav.js CHANGED
@@ -1,261 +1,136 @@
1
- // ─────────────────────────────────────────────────────────────────────────────
2
- // Jalvin Router — Compose Navigation-style declarative routing
3
- //
4
- // API mirrors Jetpack Compose Navigation:
5
- // val nav = rememberNavController()
6
- // NavHost(navController = nav, startDestination = "home") { graph ->
7
- // graph.composable("home") { HomeScreen(navController = nav) }
8
- // graph.composable("profile/{userId}") { entry ->
9
- // ProfileScreen(userId = entry.arguments["userId"])
10
- // }
11
- // }
12
- // ─────────────────────────────────────────────────────────────────────────────
1
+ // Jalvin Nav — Compose Navigation-style router (hash-based)
13
2
  import { MutableStateFlow } from "./stateflow.js";
14
3
  import { remember, collectAsState } from "./ui.js";
15
- import { jalvinCreateElement } from "./dom.js";
16
4
  function compilePattern(pattern) {
17
5
  const paramNames = [];
18
- // Split on {paramName} to alternate between literal segments and param slots
19
- const parts = pattern.split(/\{(\w+)\}/);
20
- let regexStr = "";
21
- for (let i = 0; i < parts.length; i++) {
22
- if (i % 2 === 0) {
23
- // Literal segment — escape regex metacharacters
24
- regexStr += (parts[i] ?? "").replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
25
- }
26
- else {
27
- // Param slot — capture any non-slash sequence
28
- paramNames.push(parts[i] ?? "");
29
- regexStr += "([^/]+)";
30
- }
31
- }
6
+ const regexStr = pattern.replace(/\{(\w+)\}/g, (_, name) => {
7
+ paramNames.push(name);
8
+ return "([^/]+)";
9
+ });
32
10
  return { regex: new RegExp(`^${regexStr}$`), paramNames };
33
11
  }
34
12
  function matchRoute(routes, destination) {
35
13
  for (const route of routes) {
36
- const match = destination.match(route.regex);
37
- if (match) {
14
+ const m = route.regex.exec(destination);
15
+ if (m) {
38
16
  const args = {};
39
- route.paramNames.forEach((name, i) => {
40
- args[name] = decodeURIComponent(match[i + 1] ?? "");
41
- });
17
+ for (let i = 0; i < route.paramNames.length; i++) {
18
+ args[route.paramNames[i] ?? ""] = m[i + 1] ?? "";
19
+ }
42
20
  return { route: route.pattern, destination, arguments: args };
43
21
  }
44
22
  }
45
23
  return null;
46
24
  }
47
- // ─────────────────────────────────────────────────────────────────────────────
48
- // NavGraphBuilder — the DSL block inside NavHost { graph -> ... }
49
- // ─────────────────────────────────────────────────────────────────────────────
50
- /**
51
- * Collects route definitions registered by composable() calls.
52
- * Passed as the argument to the NavHost trailing-block lambda.
53
- */
54
25
  export class NavGraphBuilder {
55
- /** @internal */
56
26
  _routes = [];
57
- /**
58
- * Register a route destination.
59
- *
60
- * @param pattern Route pattern with optional {param} placeholders,
61
- * e.g. "home", "profile/{userId}", "post/{id}/comments".
62
- * @param content Composable that renders this destination.
63
- * Receives the BackStackEntry so it can read route arguments.
64
- */
65
27
  composable(pattern, content) {
66
28
  const { regex, paramNames } = compilePattern(pattern);
67
29
  this._routes.push({ pattern, regex, paramNames, content });
68
30
  }
69
31
  }
70
- // ─────────────────────────────────────────────────────────────────────────────
71
- // Hash-based URL helpers
72
- // ─────────────────────────────────────────────────────────────────────────────
73
- function getHashDestination() {
74
- if (typeof window === "undefined")
75
- return "";
76
- const hash = window.location.hash;
77
- if (hash.startsWith("#/"))
78
- return hash.slice(2);
79
- if (hash.startsWith("#"))
80
- return hash.slice(1);
81
- return "";
82
- }
83
- function setHashDestination(destination) {
84
- if (typeof window === "undefined")
85
- return;
86
- window.location.hash = destination ? "#/" + destination : "#/";
87
- }
88
- // ─────────────────────────────────────────────────────────────────────────────
89
- // NavController
90
- // ─────────────────────────────────────────────────────────────────────────────
91
- /**
92
- * Manages the navigation back stack and drives route transitions.
93
- *
94
- * Create one via rememberNavController() and pass it to NavHost.
95
- * Then thread it to screens that need to trigger navigation.
96
- */
97
32
  export class NavController {
98
- _backStack = new MutableStateFlow([]);
99
- /** The top-most entry in the back stack, or null before the first navigation. */
100
- currentBackStackEntry;
101
- // The resolver is updated by NavHost on every render so it always reflects
102
- // the current route table (in case routes are defined dynamically).
33
+ _backStack = [];
34
+ _currentEntry;
103
35
  _resolver = null;
104
36
  constructor() {
105
- const currentFlow = new MutableStateFlow(null);
106
- this.currentBackStackEntry = currentFlow;
107
- // Derive currentBackStackEntry from the back stack top
108
- this._backStack.collect((stack) => {
109
- currentFlow.value = stack.length > 0 ? (stack[stack.length - 1] ?? null) : null;
110
- });
111
- // Sync with browser back/forward buttons
37
+ this._currentEntry = new MutableStateFlow(null);
38
+ }
39
+ get currentBackStackEntry() {
40
+ return this._currentEntry;
41
+ }
42
+ _setResolver(resolver) {
43
+ this._resolver = resolver;
44
+ }
45
+ _initFromHash(startDestination) {
46
+ const hash = typeof window !== "undefined" ? window.location.hash : "";
47
+ const dest = hash.startsWith("#/") ? hash.slice(2) : startDestination;
48
+ this._navigateTo(dest);
112
49
  if (typeof window !== "undefined") {
113
50
  window.addEventListener("hashchange", () => {
114
- this._navigateTo(getHashDestination());
51
+ const h = window.location.hash;
52
+ const d = h.startsWith("#/") ? h.slice(2) : startDestination;
53
+ this._navigateTo(d);
115
54
  });
116
55
  }
117
56
  }
118
- // Resolves a destination string → BackStackEntry and pushes it, unless
119
- // we're already there.
120
57
  _navigateTo(destination) {
121
- if (!this._resolver)
122
- return;
123
- const current = this.currentBackStackEntry.value;
124
- if (current?.destination === destination)
58
+ const entry = this._resolver ? this._resolver(destination) : null;
59
+ if (!entry)
125
60
  return;
126
- const entry = this._resolver(destination);
127
- this._backStack.update((s) => [...s, entry]);
61
+ this._backStack.push(entry);
62
+ this._currentEntry.value = entry;
128
63
  }
129
- /** @internal — NavHost sets this on every render. */
130
- _setResolver(resolver) {
131
- this._resolver = resolver;
132
- }
133
- /** @internal — NavHost calls this once on mount to seed the initial destination. */
134
- _initFromHash(startDestination) {
135
- const initial = getHashDestination() || startDestination;
136
- this._navigateTo(initial);
137
- }
138
- _popTo(routePattern, inclusive) {
139
- this._backStack.update((stack) => {
140
- // Find the last occurrence of the pattern in the stack
141
- let idx = -1;
142
- for (let i = stack.length - 1; i >= 0; i--) {
143
- if (stack[i]?.route === routePattern) {
144
- idx = i;
64
+ navigate(destination, options) {
65
+ if (options?.launchSingleTop && this._currentEntry.value?.destination === destination) {
66
+ return;
67
+ }
68
+ if (options?.popUpTo) {
69
+ const targetRoute = options.popUpTo;
70
+ let idx = this._backStack.length - 1;
71
+ while (idx >= 0) {
72
+ const e = this._backStack[idx];
73
+ if (e && e.route === targetRoute)
145
74
  break;
146
- }
75
+ idx--;
76
+ }
77
+ if (idx >= 0) {
78
+ const removeFrom = options.popUpToInclusive ? idx : idx + 1;
79
+ this._backStack.splice(removeFrom);
147
80
  }
148
- if (idx === -1)
149
- return stack;
150
- return inclusive ? stack.slice(0, idx) : stack.slice(0, idx + 1);
151
- });
152
- }
153
- /**
154
- * Navigate to a destination.
155
- *
156
- * @param destination The literal path to navigate to, e.g. "profile/42".
157
- * This is the *destination* string, not the route pattern.
158
- */
159
- navigate(destination, options) {
160
- if (options?.popUpTo !== undefined) {
161
- this._popTo(options.popUpTo, options.popUpToInclusive ?? false);
162
81
  }
163
- if (options?.launchSingleTop &&
164
- this.currentBackStackEntry.value?.destination === destination) {
165
- return;
82
+ if (typeof window !== "undefined") {
83
+ window.location.hash = `#/${destination}`;
166
84
  }
167
- const prevHash = getHashDestination();
168
- setHashDestination(destination);
169
- // If the hash was already at this destination, hashchange won't fire,
170
- // so we push directly.
171
- if (prevHash === destination) {
85
+ else {
172
86
  this._navigateTo(destination);
173
87
  }
174
88
  }
175
- /**
176
- * Pop the current destination off the back stack (the system back action).
177
- * Returns true if navigation happened, false if the stack had only one entry.
178
- */
179
89
  popBackStack() {
180
- const stack = this._backStack.value;
181
- if (stack.length <= 1)
90
+ if (this._backStack.length <= 1)
182
91
  return false;
183
- const prev = stack[stack.length - 2];
184
- this._backStack.update((s) => s.slice(0, -1));
185
- setHashDestination(prev.destination);
92
+ this._backStack.pop();
93
+ const prev = this._backStack[this._backStack.length - 1] ?? null;
94
+ this._currentEntry.value = prev;
95
+ if (prev && typeof window !== "undefined") {
96
+ // replaceState does not fire hashchange, so no re-push into _backStack
97
+ history.replaceState(null, "", `#/${prev.destination}`);
98
+ }
186
99
  return true;
187
100
  }
188
- /** Returns true if there is a previous destination to pop to. */
189
101
  canPopBackStack() {
190
- return this._backStack.value.length > 1;
102
+ return this._backStack.length > 1;
191
103
  }
192
104
  }
193
- // ─────────────────────────────────────────────────────────────────────────────
194
- // rememberNavController
195
- // ─────────────────────────────────────────────────────────────────────────────
196
- /**
197
- * Creates a NavController and remembers it across recompositions.
198
- * Call this at the root of your component tree.
199
- */
200
105
  export function rememberNavController() {
201
106
  return remember(() => new NavController());
202
107
  }
203
- // ─────────────────────────────────────────────────────────────────────────────
204
- // NavHost
205
- // ─────────────────────────────────────────────────────────────────────────────
206
- /**
207
- * The root navigation composable. Renders whichever route matches the current
208
- * destination in the NavController's back stack.
209
- *
210
- * The children block receives a NavGraphBuilder and should call
211
- * graph.composable() to register each destination:
212
- *
213
- * NavHost(navController = nav, startDestination = "home") { graph ->
214
- * graph.composable("home") { HomeScreen(navController = nav) }
215
- * graph.composable("profile/{userId}") { entry ->
216
- * ProfileScreen(userId = entry.arguments["userId"], navController = nav)
217
- * }
218
- * }
219
- *
220
- * In compiled TypeScript the children array will contain a single function
221
- * (graph: NavGraphBuilder) => void that populates the builder.
222
- */
223
108
  export function NavHost(props, children) {
224
109
  const { navController, startDestination } = props;
225
- // Build the route table by running the DSL block
226
- const graph = new NavGraphBuilder();
227
- if (children) {
228
- for (const child of children) {
229
- if (typeof child === "function")
230
- child(graph);
110
+ const builder = remember(() => {
111
+ const b = new NavGraphBuilder();
112
+ if (children) {
113
+ for (const child of children) {
114
+ if (typeof child === "function")
115
+ child(b);
116
+ }
231
117
  }
232
- }
233
- const routes = graph._routes;
234
- // Resolver: maps a raw destination string to a BackStackEntry using the route table.
235
- // Falls back to a synthetic entry (triggers 404 render) if no pattern matches.
236
- const resolve = (destination) => matchRoute(routes, destination) ?? {
237
- route: destination,
238
- destination,
239
- arguments: {},
240
- };
241
- // Keep the resolver current so hashchange events always use the latest routes.
242
- navController._setResolver(resolve);
243
- // Seed the initial destination once on mount.
118
+ return b;
119
+ });
244
120
  remember(() => {
121
+ navController._setResolver((dest) => matchRoute(builder._routes, dest));
245
122
  navController._initFromHash(startDestination);
246
123
  return true;
247
- }, [navController, startDestination]);
248
- // Subscribe to route changes — this re-renders NavHost when destination changes.
249
- const current = collectAsState(navController.currentBackStackEntry);
250
- if (!current) {
251
- // Still initializing; render nothing.
252
- return jalvinCreateElement("div", { style: { display: "none" } });
124
+ });
125
+ const entry = collectAsState(navController.currentBackStackEntry);
126
+ if (!entry) {
127
+ return { tag: "div", props: {}, children: [] };
253
128
  }
254
- const matched = routes.find((r) => r.pattern === current.route);
255
- if (matched) {
256
- return matched.content(current);
129
+ for (const route of builder._routes) {
130
+ if (route.regex.test(entry.destination)) {
131
+ return route.content(entry);
132
+ }
257
133
  }
258
- // No route matched render a 404 placeholder.
259
- return jalvinCreateElement("div", { style: { padding: "16px", color: "#c00", fontFamily: "monospace" } }, `404 — no route matched "${current.destination}"`);
134
+ return { tag: "div", props: {}, children: [] };
260
135
  }
261
136
  //# sourceMappingURL=nav.js.map
package/dist/nav.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nav.js","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nav.js","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAqDhD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,CAAC,CAmB9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,IAAI,CAKN;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GACrB,IAAI,CAKN;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE/C;AAID,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAIjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAgBD,wBAAgB,wBAAwB,IAAI,oBAAoB,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,GAAG,CAE7E;AAID,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAoC/E"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoDhD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,CAAC,CAmB9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,IAAI,CAKN;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GACrB,IAAI,CAKN;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE/C;AAID,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAIjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAgBD,wBAAgB,wBAAwB,IAAI,oBAAoB,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,GAAG,CAE7E;AAID,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAkC/E"}
package/dist/ui.js CHANGED
@@ -19,7 +19,6 @@ class StateHolder {
19
19
  }
20
20
  set value(next) {
21
21
  if (!Object.is(this._value, next)) {
22
- console.log(`[State ${this.id}] Value changing:`, this._value, "->", next, "| Notifying", this.subscribers.size, "subscribers");
23
22
  this._value = next;
24
23
  this.notify();
25
24
  }
@@ -143,7 +142,6 @@ export function render(rootComponent, container) {
143
142
  let oldVNode = container._jalvin_vnode || null;
144
143
  const update = () => {
145
144
  renderCount++;
146
- console.log(`[RENDER] Cycle ${renderCount} starting...`);
147
145
  activeSubscriber = update;
148
146
  resetHooks();
149
147
  // Save current active element (focus) and selection
@@ -166,7 +164,6 @@ export function render(rootComponent, container) {
166
164
  toFocus.focus();
167
165
  }
168
166
  activeSubscriber = null;
169
- console.log(`[RENDER] Cycle ${renderCount} finished.`);
170
167
  };
171
168
  update();
172
169
  }
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jalvin/runtime",
3
- "version": "2.0.41",
3
+ "version": "2.0.42",
4
4
  "description": "Jalvin runtime — Bibi HTTP client, coroutines, StateFlow, ViewModel, UI reactivity",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",