fibrae 0.3.1 → 0.3.2

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 (60) hide show
  1. package/dist/cli/vite-plugin.js +39 -0
  2. package/dist/cli/vite-plugin.js.map +1 -1
  3. package/dist/core.js +37 -10
  4. package/dist/core.js.map +1 -1
  5. package/dist/dom.d.ts +9 -0
  6. package/dist/dom.js +30 -4
  7. package/dist/dom.js.map +1 -1
  8. package/dist/fiber-commit.d.ts +2 -0
  9. package/dist/fiber-commit.js +171 -36
  10. package/dist/fiber-commit.js.map +1 -1
  11. package/dist/fiber-render.js +13 -27
  12. package/dist/fiber-render.js.map +1 -1
  13. package/dist/fiber-update.d.ts +1 -1
  14. package/dist/fiber-update.js +26 -11
  15. package/dist/fiber-update.js.map +1 -1
  16. package/dist/h.d.ts +65 -10
  17. package/dist/h.js +98 -22
  18. package/dist/h.js.map +1 -1
  19. package/dist/head.d.ts +64 -0
  20. package/dist/head.js +257 -0
  21. package/dist/head.js.map +1 -0
  22. package/dist/hydration-dev.d.ts +24 -0
  23. package/dist/hydration-dev.js +138 -0
  24. package/dist/hydration-dev.js.map +1 -0
  25. package/dist/index.d.ts +4 -1
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/jsx-runtime/index.d.ts +174 -9
  29. package/dist/jsx-runtime/index.js +2 -0
  30. package/dist/jsx-runtime/index.js.map +1 -1
  31. package/dist/mdx/index.d.ts +4 -4
  32. package/dist/mdx/index.js +1 -1
  33. package/dist/mdx/index.js.map +1 -1
  34. package/dist/mdx/parse.d.ts +1 -1
  35. package/dist/mdx/parse.js.map +1 -1
  36. package/dist/mdx/render.d.ts +6 -5
  37. package/dist/mdx/render.js +62 -64
  38. package/dist/mdx/render.js.map +1 -1
  39. package/dist/router/Link.js +7 -1
  40. package/dist/router/Link.js.map +1 -1
  41. package/dist/router/Navigator.d.ts +24 -0
  42. package/dist/router/Navigator.js +24 -0
  43. package/dist/router/Navigator.js.map +1 -1
  44. package/dist/router/RouterOutlet.js +28 -5
  45. package/dist/router/RouterOutlet.js.map +1 -1
  46. package/dist/router/index.d.ts +5 -1
  47. package/dist/router/index.js +3 -1
  48. package/dist/router/index.js.map +1 -1
  49. package/dist/server.js +7 -3
  50. package/dist/server.js.map +1 -1
  51. package/dist/shared.d.ts +34 -4
  52. package/dist/shared.js +12 -2
  53. package/dist/shared.js.map +1 -1
  54. package/dist/tracking.d.ts +3 -2
  55. package/dist/tracking.js +4 -1
  56. package/dist/tracking.js.map +1 -1
  57. package/dist/transition.d.ts +51 -0
  58. package/dist/transition.js +46 -0
  59. package/dist/transition.js.map +1 -0
  60. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/mdx/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/mdx/render.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,8 @@ export function Link(props) {
40
40
  // Build class string
41
41
  const activeClass = props.activeClass ?? "active";
42
42
  const classes = [props.class, isActive ? activeClass : null].filter(Boolean).join(" ");
43
+ // Extract user-provided click handler (lowercase or camelCase)
44
+ const userOnClick = props.onclick ?? props.onClick;
43
45
  // Click handler - prevent default and use Navigator for SPA navigation
44
46
  const handleClick = (e) => {
45
47
  // Only intercept left clicks without modifier keys
@@ -47,6 +49,10 @@ export function Link(props) {
47
49
  return;
48
50
  }
49
51
  e.preventDefault();
52
+ // Call user's onclick handler if provided
53
+ if (typeof userOnClick === "function") {
54
+ userOnClick(e);
55
+ }
50
56
  return navigator.go(props.href, {
51
57
  search: props.search,
52
58
  replace: props.replace,
@@ -59,7 +65,7 @@ export function Link(props) {
59
65
  : [props.children]
60
66
  : [];
61
67
  // Separate Link-specific props from HTML anchor attributes
62
- const { href: _href, search: _search, replace: _replace, viewTransition: _viewTransition, activeClass: _activeClass, class: _className, children: _children, ...anchorProps } = props;
68
+ const { href: _href, search: _search, replace: _replace, viewTransition: _viewTransition, activeClass: _activeClass, class: _className, children: _children, onclick: _onclick, onClick: _onClick, ...anchorProps } = props;
63
69
  return (jsx("a", { ...anchorProps, href: fullHref, class: classes || undefined, onClick: handleClick }, normalizedChildren));
64
70
  });
65
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/router/Link.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,2FAA2F;AAC3F,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgC/C,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAClB,KAAgB;IAEhB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;QAEnC,kDAAkD;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC;QAErE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC,IAAI,CAAC;QAE1D,qBAAqB;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC;QAClD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvF,uEAAuE;QACvE,MAAM,WAAW,GAAG,CAAC,CAAa,EAAE,EAAE;YACpC,mDAAmD;YACnD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3D,OAAO;YACT,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ;YACvC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC7B,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC;QAEP,2DAA2D;QAC3D,MAAM,EACJ,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,QAAQ,EACjB,cAAc,EAAE,eAAe,EAC/B,WAAW,EAAE,YAAY,EACzB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,SAAS,EACnB,GAAG,WAAW,EACf,GAAG,KAAK,CAAC;QAEV,OAAO,CACL,cAAO,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,OAAO,EAAE,WAAW,IAClF,kBAAkB,CACjB,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/router/Link.tsx"],"names":[],"mappings":"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"}
@@ -15,9 +15,33 @@ import * as Effect from "effect/Effect";
15
15
  import * as Context from "effect/Context";
16
16
  import * as Layer from "effect/Layer";
17
17
  import * as Option from "effect/Option";
18
+ import * as Schema from "effect/Schema";
18
19
  import { Atom, Registry as AtomRegistry } from "@effect-atom/atom";
19
20
  import { History } from "./History.js";
20
21
  import type { Router } from "./Router.js";
22
+ declare const Redirect_base: Schema.TaggedErrorClass<Redirect, "Redirect", {
23
+ readonly _tag: Schema.tag<"Redirect">;
24
+ } & {
25
+ to: typeof Schema.String;
26
+ replace: Schema.optional<typeof Schema.Boolean>;
27
+ }>;
28
+ /**
29
+ * Tagged error for redirecting from loaders, actions, or middleware.
30
+ *
31
+ * Throw this from a loader to redirect before the component renders:
32
+ * ```typescript
33
+ * loader: () => Effect.gen(function* () {
34
+ * const session = yield* getSession()
35
+ * if (!session) return yield* new Redirect({ to: "/login" })
36
+ * return yield* fetchData()
37
+ * })
38
+ * ```
39
+ *
40
+ * The router catches Redirect before the error reaches ErrorBoundary
41
+ * and navigates to the target path.
42
+ */
43
+ export declare class Redirect extends Redirect_base {
44
+ }
21
45
  /**
22
46
  * Current route info - what route is currently matched.
23
47
  */
@@ -15,10 +15,34 @@ import * as Effect from "effect/Effect";
15
15
  import * as Context from "effect/Context";
16
16
  import * as Layer from "effect/Layer";
17
17
  import * as Option from "effect/Option";
18
+ import * as Schema from "effect/Schema";
18
19
  import { Atom, Registry as AtomRegistry } from "@effect-atom/atom";
19
20
  import { History } from "./History.js";
20
21
  import { parseSearchParams, buildSearchString, stripBasePath } from "./utils.js";
21
22
  // =============================================================================
23
+ // Redirect
24
+ // =============================================================================
25
+ /**
26
+ * Tagged error for redirecting from loaders, actions, or middleware.
27
+ *
28
+ * Throw this from a loader to redirect before the component renders:
29
+ * ```typescript
30
+ * loader: () => Effect.gen(function* () {
31
+ * const session = yield* getSession()
32
+ * if (!session) return yield* new Redirect({ to: "/login" })
33
+ * return yield* fetchData()
34
+ * })
35
+ * ```
36
+ *
37
+ * The router catches Redirect before the error reaches ErrorBoundary
38
+ * and navigates to the target path.
39
+ */
40
+ export class Redirect extends Schema.TaggedError()("Redirect", {
41
+ to: Schema.String,
42
+ replace: Schema.optional(Schema.Boolean),
43
+ }) {
44
+ }
45
+ // =============================================================================
22
46
  // Service Tag
23
47
  // =============================================================================
24
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/router/Navigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/router/Navigator.ts"],"names":[],"mappings":"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"}
@@ -42,9 +42,10 @@ import * as Context from "effect/Context";
42
42
  import * as Schema from "effect/Schema";
43
43
  import * as Cause from "effect/Cause";
44
44
  import { Registry as AtomRegistry } from "@effect-atom/atom";
45
- import { Navigator } from "./Navigator.js";
45
+ import { Navigator, Redirect } from "./Navigator.js";
46
46
  import { RouterHandlers } from "./RouterBuilder.js";
47
47
  import { RouterStateAtom } from "./RouterState.js";
48
+ import { Transition } from "../transition.js";
48
49
  /**
49
50
  * Component that re-throws a caught error during render.
50
51
  * Used by RouterOutlet to bubble per-route errors to ErrorBoundary
@@ -96,13 +97,17 @@ export function RouterOutlet() {
96
97
  const currentDepth = yield* Effect.serviceOption(OutletDepth).pipe(Effect.map(Option.getOrElse(() => 0)));
97
98
  // Check if we have hydrated state from SSR
98
99
  const hydratedState = registry.get(RouterStateAtom);
100
+ // Transition service (optional) — provides isPending signal
101
+ const transitionOpt = yield* Effect.serviceOption(Transition);
99
102
  // Create a stream from the currentRoute atom (navigation trigger)
100
103
  const routeStream = AtomRegistry.toStream(registry, navigator.currentRoute);
101
104
  // Map route changes to rendered VElements.
105
+ // switchMap cancels the previous route's loader when a new route arrives,
106
+ // preventing stale loaders from running concurrently on rapid navigation.
102
107
  // Errors are caught per-route so the stream stays alive for navigation recovery.
103
108
  // A failing route emits a component that re-throws during render, allowing
104
109
  // ErrorBoundary to catch it while keeping this stream alive for the next route.
105
- return routeStream.pipe(Stream.mapEffect((currentRoute) => Effect.gen(function* () {
110
+ return routeStream.pipe(Stream.flatMap((currentRoute) => Stream.fromEffect(Effect.gen(function* () {
106
111
  // Reset action state on navigation
107
112
  actionData = Option.none();
108
113
  submissionState = { _tag: "Idle" };
@@ -144,9 +149,17 @@ export function RouterOutlet() {
144
149
  loaderData = routerState.loaderData;
145
150
  }
146
151
  else {
152
+ // Signal transition pending while loader runs
153
+ if (Option.isSome(transitionOpt)) {
154
+ registry.set(transitionOpt.value.isPending, true);
155
+ }
147
156
  // Run the loader
148
157
  const loaderCtx = { path: params, searchParams };
149
158
  loaderData = yield* handler.value.loader(loaderCtx);
159
+ // Transition complete — new content is ready
160
+ if (Option.isSome(transitionOpt)) {
161
+ registry.set(transitionOpt.value.isPending, false);
162
+ }
150
163
  // Build the new router state
151
164
  routerState = {
152
165
  routeName,
@@ -187,9 +200,19 @@ export function RouterOutlet() {
187
200
  });
188
201
  return element;
189
202
  }).pipe(
190
- // Catch per-route errors so the stream stays alive for navigation recovery.
191
- // Emit a component that re-throws during render ErrorBoundary catches it.
192
- Effect.catchAllCause((cause) => Effect.succeed(ErrorBubble(cause))))));
203
+ // Catch all errors: handle Redirect by navigating, bubble everything else
204
+ // to ErrorBoundary. Redirect is checked structurally because the loader's
205
+ // error type is erased to unknown at the type-erasure boundary.
206
+ Effect.catchAllCause((cause) => {
207
+ const error = Cause.squash(cause);
208
+ if (error instanceof Redirect) {
209
+ return Effect.gen(function* () {
210
+ yield* navigator.go(error.to, { replace: error.replace ?? true });
211
+ return (jsx("div", null));
212
+ });
213
+ }
214
+ return Effect.succeed(ErrorBubble(cause));
215
+ }))), { switch: true }));
193
216
  }));
194
217
  }
195
218
  //# sourceMappingURL=RouterOutlet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouterOutlet.js","sourceRoot":"","sources":["../../src/router/RouterOutlet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouterOutlet.js","sourceRoot":"","sources":["../../src/router/RouterOutlet.tsx"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export { Form, FormValidationError, FormState } from "./Form.js";
21
21
  export type { HistoryLocation, HistoryService } from "./History.js";
22
22
  export { History as HistoryTag, BrowserHistoryLive, MemoryHistoryLive } from "./History.js";
23
23
  export type { CurrentRoute, NavigateOptions, NavigatorService } from "./Navigator.js";
24
- export { Navigator as NavigatorTag, NavigatorLive } from "./Navigator.js";
24
+ export { Navigator as NavigatorTag, NavigatorLive, Redirect } from "./Navigator.js";
25
25
  export type { RegisteredRouter, ValidHref, PatternToHref } from "./register.js";
26
26
  export type { LinkProps } from "./Link.js";
27
27
  export { Link } from "./Link.js";
@@ -29,3 +29,7 @@ export { RouterOutlet, OutletDepth } from "./RouterOutlet.js";
29
29
  export type { ServerLayerOptions, BrowserLayerOptions, DehydratedRouterState, SSRRouteResult, RouteMatch, LayoutGroup, RouteGroup, AnyGroup, } from "./Router.js";
30
30
  export { CurrentRouteElement } from "./Router.js";
31
31
  export { RouterStateAtom, RouterStateService, RouterStateSchema, getRouterState, getLoaderData, getRouteParams, } from "./RouterState.js";
32
+ export type { HeadProps, HeadCollectorService } from "../head.js";
33
+ export { Head, HeadCollector, HeadCollectorLive } from "../head.js";
34
+ export type { TransitionService } from "../transition.js";
35
+ export { Transition, TransitionLive } from "../transition.js";
@@ -23,7 +23,7 @@ export * as RouterState from "./RouterState.js";
23
23
  export { RouterHandlers, getPrerenderRoutes } from "./RouterBuilder.js";
24
24
  export { Form, FormValidationError, FormState } from "./Form.js";
25
25
  export { History as HistoryTag, BrowserHistoryLive, MemoryHistoryLive } from "./History.js";
26
- export { Navigator as NavigatorTag, NavigatorLive } from "./Navigator.js";
26
+ export { Navigator as NavigatorTag, NavigatorLive, Redirect } from "./Navigator.js";
27
27
  export { Link } from "./Link.js";
28
28
  // Re-export RouterOutlet component
29
29
  export { RouterOutlet, OutletDepth } from "./RouterOutlet.js";
@@ -31,4 +31,6 @@ export { CurrentRouteElement } from "./Router.js";
31
31
  // Re-export RouterState utilities for convenience
32
32
  // (RouterState type is accessible via RouterState.RouterState namespace)
33
33
  export { RouterStateAtom, RouterStateService, RouterStateSchema, getRouterState, getLoaderData, getRouteParams, } from "./RouterState.js";
34
+ export { Head, HeadCollector, HeadCollectorLive } from "../head.js";
35
+ export { Transition, TransitionLive } from "../transition.js";
34
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,oBAAoB;AACpB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,yBAAyB;AACzB,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD,kBAAkB;AAClB,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,oBAAoB;AACpB,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,4CAA4C;AAC5C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAsBhD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAIjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI5F,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAO1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,mCAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAa9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,kDAAkD;AAClD,yEAAyE;AACzE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,oBAAoB;AACpB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,yBAAyB;AACzB,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD,kBAAkB;AAClB,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,oBAAoB;AACpB,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,4CAA4C;AAC5C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAsBhD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAIjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI5F,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAOpF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,mCAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAa9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,kDAAkD;AAClD,yEAAyE;AACzE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIpE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/server.js CHANGED
@@ -139,7 +139,7 @@ const renderVElementToString = (vElement) => Effect.gen(function* () {
139
139
  // Normalize to get the VElement
140
140
  let childVElement;
141
141
  if (isStream(output)) {
142
- // For streams, take first emission
142
+ // Type-erasure boundary: component's R is erased in VNode
143
143
  const first = yield* Stream.runHead(output);
144
144
  if (Option.isNone(first)) {
145
145
  return ""; // Empty stream
@@ -147,13 +147,17 @@ const renderVElementToString = (vElement) => Effect.gen(function* () {
147
147
  childVElement = first.value;
148
148
  }
149
149
  else if (Effect.isEffect(output)) {
150
- // Await the effect
150
+ // Type-erasure boundary: component's R is erased in VNode, requirements
151
+ // are satisfied by the render context. Cast is load-bearing.
151
152
  childVElement = yield* output;
152
153
  }
153
154
  else {
154
- // Plain VElement
155
+ // Plain VElement or null
155
156
  childVElement = output;
156
157
  }
158
+ // null = render nothing
159
+ if (childVElement === null)
160
+ return "";
157
161
  // Recursively render the result
158
162
  return yield* renderVElementToString(childVElement);
159
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/shared.d.ts CHANGED
@@ -25,7 +25,7 @@ declare const ComponentScope_base: Context.TagClass<ComponentScope, "fibrae/Comp
25
25
  * const JsonEditor = () =>
26
26
  * Effect.gen(function* () {
27
27
  * const { scope, mounted } = yield* ComponentScope;
28
- * const containerRef = { current: null as HTMLDivElement | null };
28
+ * const containerRef = createRef<HTMLDivElement>();
29
29
  *
30
30
  * // Fork an effect that waits for mount, then initializes
31
31
  * yield* pipe(
@@ -38,7 +38,7 @@ declare const ComponentScope_base: Context.TagClass<ComponentScope, "fibrae/Comp
38
38
  * Scope.extend(scope)
39
39
  * );
40
40
  *
41
- * return <div ref={el => containerRef.current = el} />;
41
+ * return <div ref={containerRef} />;
42
42
  * });
43
43
  * ```
44
44
  *
@@ -61,6 +61,36 @@ declare const ComponentScope_base: Context.TagClass<ComponentScope, "fibrae/Comp
61
61
  */
62
62
  export declare class ComponentScope extends ComponentScope_base {
63
63
  }
64
+ /**
65
+ * Mutable ref container for DOM elements.
66
+ *
67
+ * Type parameter `E` is inferred from JSX context:
68
+ * - `<div ref={ref}>` expects `Ref<HTMLDivElement>`
69
+ * - `<input ref={ref}>` expects `Ref<HTMLInputElement>`
70
+ * - `<svg ref={ref}>` expects `Ref<SVGSVGElement>`
71
+ *
72
+ * @example
73
+ * ```tsx
74
+ * const MyComponent = () =>
75
+ * Effect.gen(function* () {
76
+ * const divRef = createRef<HTMLDivElement>();
77
+ * return <div ref={divRef}>hello</div>;
78
+ * });
79
+ * ```
80
+ */
81
+ export interface Ref<E extends Element = Element> {
82
+ current: E | null;
83
+ }
84
+ /**
85
+ * Create a typed ref. The type parameter is inferred when passed to JSX:
86
+ *
87
+ * ```tsx
88
+ * const ref = createRef<HTMLDivElement>();
89
+ * <div ref={ref} /> // OK
90
+ * <span ref={ref} /> // Type error: HTMLSpanElement is not HTMLDivElement
91
+ * ```
92
+ */
93
+ export declare const createRef: <E extends Element = Element>() => Ref<E>;
64
94
  /**
65
95
  * Primitive element types: HTML tags, text nodes, fragments, suspense, or boundary
66
96
  */
@@ -69,11 +99,11 @@ export type Primitive = keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap
69
99
  * What can appear as children in JSX (recursive type)
70
100
  * Includes primitives, VElements, Effects, Streams, and arrays thereof
71
101
  */
72
- export type VChild = VElement | Effect.Effect<VElement, any, any> | Stream.Stream<VElement, any, any> | string | number | bigint | boolean | null | undefined | VChild[];
102
+ export type VChild = VElement | Effect.Effect<VElement, unknown, unknown> | Stream.Stream<VElement, unknown, unknown> | string | number | bigint | boolean | null | undefined | VChild[];
73
103
  /**
74
104
  * What components can return - VElement or wrapped in Effect/Stream
75
105
  */
76
- export type VNode = VElement | Effect.Effect<VElement, any, any> | Stream.Stream<VElement, any, any>;
106
+ export type VNode = VElement | null | Effect.Effect<VElement | null, unknown, unknown> | Stream.Stream<VElement, unknown, unknown>;
77
107
  /**
78
108
  * Element type can be a primitive or a component function
79
109
  * Components can return VNode (VElement, Effect<VElement>, or Stream<VElement>)
package/dist/shared.js CHANGED
@@ -21,7 +21,7 @@ import { Atom as BaseAtom } from "@effect-atom/atom";
21
21
  * const JsonEditor = () =>
22
22
  * Effect.gen(function* () {
23
23
  * const { scope, mounted } = yield* ComponentScope;
24
- * const containerRef = { current: null as HTMLDivElement | null };
24
+ * const containerRef = createRef<HTMLDivElement>();
25
25
  *
26
26
  * // Fork an effect that waits for mount, then initializes
27
27
  * yield* pipe(
@@ -34,7 +34,7 @@ import { Atom as BaseAtom } from "@effect-atom/atom";
34
34
  * Scope.extend(scope)
35
35
  * );
36
36
  *
37
- * return <div ref={el => containerRef.current = el} />;
37
+ * return <div ref={containerRef} />;
38
38
  * });
39
39
  * ```
40
40
  *
@@ -57,6 +57,16 @@ import { Atom as BaseAtom } from "@effect-atom/atom";
57
57
  */
58
58
  export class ComponentScope extends Context.Tag("fibrae/ComponentScope")() {
59
59
  }
60
+ /**
61
+ * Create a typed ref. The type parameter is inferred when passed to JSX:
62
+ *
63
+ * ```tsx
64
+ * const ref = createRef<HTMLDivElement>();
65
+ * <div ref={ref} /> // OK
66
+ * <span ref={ref} /> // Type error: HTMLSpanElement is not HTMLDivElement
67
+ * ```
68
+ */
69
+ export const createRef = () => ({ current: null });
60
70
  /**
61
71
  * Helper to check if a key is an event handler
62
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,11 @@ import { FibraeRuntime } from "./runtime.js";
7
7
  import { type LiveAtom } from "./live/atom.js";
8
8
  /**
9
9
  * Normalize component output to a Stream.
10
- * Components can return VElement, Effect<VElement, E>, or Stream<VElement, E>.
10
+ * Components can return VElement, null, Effect<VElement | null, E>, or Stream<VElement, E>.
11
+ * Null values are preserved through the stream — callers must handle null emissions.
11
12
  * Error type is preserved through the conversion.
12
13
  */
13
- export declare const normalizeToStream: <E>(value: Effect.Effect<VElement, E, never> | Stream.Stream<VElement, E, never> | VElement) => Stream.Stream<VElement, E, never>;
14
+ export declare const normalizeToStream: <E>(value: Effect.Effect<VElement | null, E, never> | Stream.Stream<VElement | null, E, never> | VElement | null) => Stream.Stream<VElement | null, E, never>;
14
15
  /**
15
16
  * Create a tracking registry that records which atoms are accessed
16
17
  */
package/dist/tracking.js CHANGED
@@ -10,10 +10,13 @@ import { isLiveAtom } from "./live/atom.js";
10
10
  // =============================================================================
11
11
  /**
12
12
  * Normalize component output to a Stream.
13
- * Components can return VElement, Effect<VElement, E>, or Stream<VElement, E>.
13
+ * Components can return VElement, null, Effect<VElement | null, E>, or Stream<VElement, E>.
14
+ * Null values are preserved through the stream — callers must handle null emissions.
14
15
  * Error type is preserved through the conversion.
15
16
  */
16
17
  export const normalizeToStream = (value) => {
18
+ if (value === null)
19
+ return Stream.succeed(null);
17
20
  if (isStream(value))
18
21
  return value;
19
22
  if (Effect.isEffect(value))
@@ -1 +1 @@
1
- {"version":3,"file":"tracking.js","sourceRoot":"","sources":["../src/tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAiB,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAE3D,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAuF,EACpD,EAAE;IACrC,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAmC,EACnC,aAAsC,EACtC,iBAAsC,EACf,EAAE;IACzB,OAAO,IAAI,KAAK,CAAC,YAAsB,EAAE;QACvC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAwB,EAAE,EAAE;oBAClC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACxB,gDAAgD;oBAChD,IAAI,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;KACF,CAA0B,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAA8B,EAC9B,QAAoB,EACpB,OAAsB,EACtB,KAA4B,EACO,EAAE,CACrC,MAAM,CAAC,OAAO,CACZ,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CACP,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/D,gDAAgD;IAChD,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,EACJ,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC"}
1
+ {"version":3,"file":"tracking.js","sourceRoot":"","sources":["../src/tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAiB,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAE3D,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAI4C,EACF,EAAE;IAC5C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAmC,EACnC,aAAsC,EACtC,iBAAsC,EACf,EAAE;IACzB,OAAO,IAAI,KAAK,CAAC,YAAsB,EAAE;QACvC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAwB,EAAE,EAAE;oBAClC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACxB,gDAAgD;oBAChD,IAAI,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;KACF,CAA0B,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAA8B,EAC9B,QAAoB,EACpB,OAAsB,EACtB,KAA4B,EACO,EAAE,CACrC,MAAM,CAAC,OAAO,CACZ,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CACP,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/D,gDAAgD;IAChD,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,EACJ,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Transition service — keeps old UI visible during navigation.
3
+ *
4
+ * Provides an `isPending` atom that is true while a route loader is running.
5
+ * Components can subscribe to show loading indicators without Suspense fallback.
6
+ *
7
+ * When provided:
8
+ * - RouterOutlet sets isPending=true during loader execution
9
+ * - Suspense bypasses its threshold during transitions (no fallback flash)
10
+ * - Stale loaders are cancelled via Stream.switchMap
11
+ *
12
+ * Usage:
13
+ * ```tsx
14
+ * // Provide TransitionLive to your app
15
+ * render(<App />, root, { layer: TransitionLive })
16
+ *
17
+ * // Read isPending in any component
18
+ * const NavBar = () => Effect.gen(function* () {
19
+ * const { isPending } = yield* Transition
20
+ * const pending = yield* Atom.get(isPending)
21
+ * return <nav class={pending ? "loading" : ""}>...</nav>
22
+ * })
23
+ * ```
24
+ */
25
+ import * as Context from "effect/Context";
26
+ import * as Layer from "effect/Layer";
27
+ import { Atom } from "@effect-atom/atom";
28
+ /**
29
+ * Transition service interface.
30
+ *
31
+ * `isPending` is a reactive atom — components that read it will re-render
32
+ * when its value changes, enabling loading indicators during navigation.
33
+ */
34
+ export interface TransitionService {
35
+ /** Reactive atom — true while a route transition loader is running. */
36
+ readonly isPending: Atom.Writable<boolean, boolean>;
37
+ }
38
+ declare const Transition_base: Context.TagClass<Transition, "fibrae/Transition", TransitionService>;
39
+ /**
40
+ * Context tag for the Transition service.
41
+ * When provided, RouterOutlet sets isPending during loader execution
42
+ * and Suspense bypasses its threshold during transitions.
43
+ */
44
+ export declare class Transition extends Transition_base {
45
+ }
46
+ /**
47
+ * Live layer for the Transition service.
48
+ * Creates an isPending atom scoped to this layer.
49
+ */
50
+ export declare const TransitionLive: Layer.Layer<Transition>;
51
+ export {};