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.
- package/dist/cli/vite-plugin.js +39 -0
- package/dist/cli/vite-plugin.js.map +1 -1
- package/dist/core.js +37 -10
- package/dist/core.js.map +1 -1
- package/dist/dom.d.ts +9 -0
- package/dist/dom.js +30 -4
- package/dist/dom.js.map +1 -1
- package/dist/fiber-commit.d.ts +2 -0
- package/dist/fiber-commit.js +171 -36
- package/dist/fiber-commit.js.map +1 -1
- package/dist/fiber-render.js +13 -27
- package/dist/fiber-render.js.map +1 -1
- package/dist/fiber-update.d.ts +1 -1
- package/dist/fiber-update.js +26 -11
- package/dist/fiber-update.js.map +1 -1
- package/dist/h.d.ts +65 -10
- package/dist/h.js +98 -22
- package/dist/h.js.map +1 -1
- package/dist/head.d.ts +64 -0
- package/dist/head.js +257 -0
- package/dist/head.js.map +1 -0
- package/dist/hydration-dev.d.ts +24 -0
- package/dist/hydration-dev.js +138 -0
- package/dist/hydration-dev.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/jsx-runtime/index.d.ts +174 -9
- package/dist/jsx-runtime/index.js +2 -0
- package/dist/jsx-runtime/index.js.map +1 -1
- package/dist/mdx/index.d.ts +4 -4
- package/dist/mdx/index.js +1 -1
- package/dist/mdx/index.js.map +1 -1
- package/dist/mdx/parse.d.ts +1 -1
- package/dist/mdx/parse.js.map +1 -1
- package/dist/mdx/render.d.ts +6 -5
- package/dist/mdx/render.js +62 -64
- package/dist/mdx/render.js.map +1 -1
- package/dist/router/Link.js +7 -1
- package/dist/router/Link.js.map +1 -1
- package/dist/router/Navigator.d.ts +24 -0
- package/dist/router/Navigator.js +24 -0
- package/dist/router/Navigator.js.map +1 -1
- package/dist/router/RouterOutlet.js +28 -5
- package/dist/router/RouterOutlet.js.map +1 -1
- package/dist/router/index.d.ts +5 -1
- package/dist/router/index.js +3 -1
- package/dist/router/index.js.map +1 -1
- package/dist/server.js +7 -3
- package/dist/server.js.map +1 -1
- package/dist/shared.d.ts +34 -4
- package/dist/shared.js +12 -2
- package/dist/shared.js.map +1 -1
- package/dist/tracking.d.ts +3 -2
- package/dist/tracking.js +4 -1
- package/dist/tracking.js.map +1 -1
- package/dist/transition.d.ts +51 -0
- package/dist/transition.js +46 -0
- package/dist/transition.js.map +1 -0
- package/package.json +2 -2
package/dist/mdx/render.js.map
CHANGED
|
@@ -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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"}
|
package/dist/router/Link.js
CHANGED
|
@@ -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
|
}
|
package/dist/router/Link.js.map
CHANGED
|
@@ -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,
|
|
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
|
*/
|
package/dist/router/Navigator.js
CHANGED
|
@@ -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":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAwB,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/router/Navigator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAwB,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjF,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE;IACvE,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;CACzC,CAAC;CAAG;AA6EL,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAA+B;CAAG;AAEhG,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,aAAa,CACpB,MAAc,EACd,QAAyB,EACzB,QAAQ,GAAW,EAAE;IAErB,OAAO,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CACvE,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,MAAM;QACN,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACpC,CAAC,CAAC,CACJ,CACF,CAAC;AACJ,CAAC;AAkBD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,gBAAgB,GAAqB,EAAE;IAEvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEjD,OAAO,KAAK,CAAC,MAAM,CACjB,SAAS,EACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;QAElD,oDAAoD;QACpD,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEjD,oEAAoE;QACpE,IAAI,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAExE,wDAAwD;QACxD,mFAAmF;QACnF,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1E,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACxC,eAAe,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAqB;YAChC,MAAM;YACN,QAAQ;YACR,IAAI,eAAe;gBACjB,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,YAAY,EAAE,gBAAgB;YAE9B,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,0CAA0C;gBAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEvE,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,QAAQ,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;oBACjF,KAAK,CAAC,CAAC,GAAG,CAAC;oBACX,QAAQ,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE;wBACtC,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAC5B,qBAAqB,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9D,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,CAAC,GAAG,CAAC;gBACb,CAAC;YACH,CAAC,CAAC;YAEJ,0EAA0E;YAC1E,2EAA2E;YAC3E,IAAI,EAAE,OAAO,CAAC,IAAI;YAElB,OAAO,EAAE,OAAO,CAAC,OAAO;YAExB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC;SAC7D,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -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.
|
|
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
|
|
191
|
-
//
|
|
192
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,2FAA2F;AAC3F,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"RouterOutlet.js","sourceRoot":"","sources":["../../src/router/RouterOutlet.tsx"],"names":[],"mappings":"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"}
|
package/dist/router/index.d.ts
CHANGED
|
@@ -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";
|
package/dist/router/index.js
CHANGED
|
@@ -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
|
package/dist/router/index.js.map
CHANGED
|
@@ -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;
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -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 =
|
|
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={
|
|
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,
|
|
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,
|
|
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 =
|
|
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={
|
|
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
|
*/
|
package/dist/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKrD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAGrE;CAAG;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/tracking.d.ts
CHANGED
|
@@ -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))
|
package/dist/tracking.js.map
CHANGED
|
@@ -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
|
|
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 {};
|