fibrae 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atom-utils.d.ts +52 -0
- package/dist/atom-utils.js +64 -0
- package/dist/atom-utils.js.map +1 -0
- package/dist/cli/build.js +2 -2
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/html.d.ts +6 -0
- package/dist/cli/html.js +20 -26
- package/dist/cli/html.js.map +1 -1
- package/dist/cli/vite-plugin.js +2 -2
- package/dist/cli/vite-plugin.js.map +1 -1
- package/dist/components.d.ts +3 -3
- package/dist/components.js +3 -1
- package/dist/components.js.map +1 -1
- package/dist/dom.d.ts +13 -3
- package/dist/dom.js +70 -1
- package/dist/dom.js.map +1 -1
- package/dist/fiber-commit.js +9 -5
- package/dist/fiber-commit.js.map +1 -1
- package/dist/fiber-render.js.map +1 -1
- package/dist/fiber-update.js +7 -1
- package/dist/fiber-update.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/jsx-runtime/index.d.ts +116 -1
- package/dist/live/client.js +4 -4
- package/dist/live/client.js.map +1 -1
- package/dist/live/server.js.map +1 -1
- package/dist/live/sse-stream.js +2 -2
- package/dist/live/sse-stream.js.map +1 -1
- package/dist/mdx/index.d.ts +125 -0
- package/dist/mdx/index.js +137 -0
- package/dist/mdx/index.js.map +1 -0
- package/dist/mdx/parse.d.ts +42 -0
- package/dist/mdx/parse.js +147 -0
- package/dist/mdx/parse.js.map +1 -0
- package/dist/mdx/render.d.ts +23 -0
- package/dist/mdx/render.js +263 -0
- package/dist/mdx/render.js.map +1 -0
- package/dist/router/Form.d.ts +90 -0
- package/dist/router/Form.js +166 -0
- package/dist/router/Form.js.map +1 -0
- package/dist/router/History.d.ts +2 -2
- package/dist/router/History.js.map +1 -1
- package/dist/router/Link.d.ts +27 -32
- package/dist/router/Link.js +50 -98
- package/dist/router/Link.js.map +1 -1
- package/dist/router/Navigator.d.ts +25 -44
- package/dist/router/Navigator.js +33 -104
- package/dist/router/Navigator.js.map +1 -1
- package/dist/router/Route.d.ts +8 -4
- package/dist/router/Route.js +10 -2
- package/dist/router/Route.js.map +1 -1
- package/dist/router/Router.d.ts +10 -10
- package/dist/router/Router.js +38 -23
- package/dist/router/Router.js.map +1 -1
- package/dist/router/RouterBuilder.d.ts +69 -6
- package/dist/router/RouterBuilder.js +23 -0
- package/dist/router/RouterBuilder.js.map +1 -1
- package/dist/router/RouterOutlet.js +35 -40
- package/dist/router/RouterOutlet.js.map +1 -1
- package/dist/router/index.d.ts +6 -3
- package/dist/router/index.js +3 -2
- package/dist/router/index.js.map +1 -1
- package/dist/router/register.d.ts +37 -0
- package/dist/router/register.js +18 -0
- package/dist/router/register.js.map +1 -0
- package/dist/router/utils.d.ts +2 -2
- package/dist/runtime.d.ts +1 -1
- package/dist/shared.d.ts +3 -3
- package/dist/shared.js.map +1 -1
- package/package.json +15 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import * as Option from "effect/Option";
|
|
|
13
13
|
import type { Router, RouteGroup, LayoutGroup } from "./Router.js";
|
|
14
14
|
import type { Route } from "./Route.js";
|
|
15
15
|
import type { VElement } from "../shared.js";
|
|
16
|
+
import type * as Schema from "effect/Schema";
|
|
16
17
|
/**
|
|
17
18
|
* Context for loader/component execution.
|
|
18
19
|
* Provides decoded path and search parameters.
|
|
@@ -22,12 +23,33 @@ export interface LoaderContext<PathParams extends Record<string, unknown> = Reco
|
|
|
22
23
|
readonly searchParams: SearchParams;
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
|
-
*
|
|
26
|
+
* Submission state for a form action.
|
|
27
|
+
* Transitions: idle → pending → success/failure → idle (on next navigation).
|
|
28
|
+
*/
|
|
29
|
+
export type SubmissionState = {
|
|
30
|
+
readonly _tag: "Idle";
|
|
31
|
+
} | {
|
|
32
|
+
readonly _tag: "Pending";
|
|
33
|
+
} | {
|
|
34
|
+
readonly _tag: "Success";
|
|
35
|
+
readonly data: unknown;
|
|
36
|
+
} | {
|
|
37
|
+
readonly _tag: "Failure";
|
|
38
|
+
readonly error: unknown;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Component props including loader data, route parameters, and action context.
|
|
26
42
|
*/
|
|
27
43
|
export interface ComponentProps<LoaderData = unknown, PathParams extends Record<string, unknown> = Record<string, unknown>, SearchParams extends Record<string, unknown> = Record<string, unknown>> {
|
|
28
44
|
readonly loaderData: LoaderData;
|
|
29
45
|
readonly path: PathParams;
|
|
30
46
|
readonly searchParams: SearchParams;
|
|
47
|
+
/** Result of the last action invocation (Option.None until an action completes). */
|
|
48
|
+
readonly actionData: Option.Option<unknown>;
|
|
49
|
+
/** Invoke the route's action with a payload record. Returns an Effect. */
|
|
50
|
+
readonly formAction: (payload: Record<string, unknown>) => Effect.Effect<unknown, unknown>;
|
|
51
|
+
/** Current submission state (idle/pending/success/failure). */
|
|
52
|
+
readonly submissionState: SubmissionState;
|
|
31
53
|
}
|
|
32
54
|
/**
|
|
33
55
|
* Loader return type - can be a plain value or an Effect.
|
|
@@ -75,14 +97,37 @@ export interface HeadContext<LoaderData = unknown, PathParams extends Record<str
|
|
|
75
97
|
readonly params: PathParams;
|
|
76
98
|
readonly searchParams: SearchParams;
|
|
77
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Context for action execution.
|
|
102
|
+
* Provides the decoded payload from form submission.
|
|
103
|
+
*/
|
|
104
|
+
export interface ActionContext<Payload = unknown> {
|
|
105
|
+
readonly payload: Payload;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Action return type - can be a plain value or an Effect.
|
|
109
|
+
* Plain values are automatically wrapped in Effect.succeed.
|
|
110
|
+
*/
|
|
111
|
+
export type ActionResult<T, E = never, R = never> = T | Effect.Effect<T, E, R>;
|
|
112
|
+
/**
|
|
113
|
+
* Configuration for a route action (mutation handler).
|
|
114
|
+
* The schema decodes FormData into a typed payload before the action runs.
|
|
115
|
+
*/
|
|
116
|
+
export interface ActionConfig<Payload = unknown, ActionData = unknown, E = never, R = never> {
|
|
117
|
+
/** Schema to decode FormData into typed payload. */
|
|
118
|
+
readonly schema: Schema.Schema<Payload>;
|
|
119
|
+
/** The action Effect that processes the decoded payload. */
|
|
120
|
+
readonly handler: (ctx: ActionContext<Payload>) => ActionResult<ActionData, E, R>;
|
|
121
|
+
}
|
|
78
122
|
/**
|
|
79
123
|
* Handler configuration for a route.
|
|
80
124
|
* Loader fetches data, component renders with that data.
|
|
81
125
|
*
|
|
82
126
|
* - loader is optional - defaults to returning null
|
|
83
127
|
* - loader can return a plain value or an Effect (plain values auto-wrapped)
|
|
128
|
+
* - action is optional - handles form mutations with schema-decoded payloads
|
|
84
129
|
*/
|
|
85
|
-
export interface HandlerConfig<LoaderData = unknown, PathParams extends Record<string, unknown> = Record<string, unknown>, SearchParams extends Record<string, unknown> = Record<string, unknown>, R = never, E = never> {
|
|
130
|
+
export interface HandlerConfig<LoaderData = unknown, PathParams extends Record<string, unknown> = Record<string, unknown>, SearchParams extends Record<string, unknown> = Record<string, unknown>, R = never, E = never, ActionData = unknown, ActionR = never, ActionE = never> {
|
|
86
131
|
readonly loader?: (ctx: LoaderContext<PathParams, SearchParams>) => LoaderResult<LoaderData, E, R>;
|
|
87
132
|
readonly component: (props: ComponentProps<LoaderData, PathParams, SearchParams>) => VElement;
|
|
88
133
|
/**
|
|
@@ -90,6 +135,12 @@ export interface HandlerConfig<LoaderData = unknown, PathParams extends Record<s
|
|
|
90
135
|
* Can return plain HeadData or an Effect<HeadData>.
|
|
91
136
|
*/
|
|
92
137
|
readonly head?: (ctx: HeadContext<LoaderData, PathParams, SearchParams>) => HeadData | Effect.Effect<HeadData>;
|
|
138
|
+
/**
|
|
139
|
+
* Route action for mutations (form submissions).
|
|
140
|
+
* Receives schema-decoded payload, returns action result.
|
|
141
|
+
* Action data is passed to the component via `actionData` prop.
|
|
142
|
+
*/
|
|
143
|
+
readonly action?: ActionConfig<unknown, ActionData, ActionE, ActionR>;
|
|
93
144
|
/** When true, this route will be pre-rendered to static HTML at build time. */
|
|
94
145
|
readonly prerender?: boolean;
|
|
95
146
|
/**
|
|
@@ -98,6 +149,16 @@ export interface HandlerConfig<LoaderData = unknown, PathParams extends Record<s
|
|
|
98
149
|
*/
|
|
99
150
|
readonly getStaticPaths?: () => ReadonlyArray<PathParams> | Effect.Effect<ReadonlyArray<PathParams>>;
|
|
100
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Type-erased action handler stored in RouteHandler.
|
|
154
|
+
* Schema and handler are stored separately so Form can decode then invoke.
|
|
155
|
+
*/
|
|
156
|
+
export interface RouteAction {
|
|
157
|
+
/** Schema to decode FormData record into typed payload. */
|
|
158
|
+
readonly schema: Schema.Schema.Any;
|
|
159
|
+
/** Type-erased action handler. R = never because requirements are captured by the Layer. */
|
|
160
|
+
readonly handler: (ctx: ActionContext) => Effect.Effect<unknown, unknown>;
|
|
161
|
+
}
|
|
101
162
|
/**
|
|
102
163
|
* A registered route handler (type-erased for storage).
|
|
103
164
|
* Use executeRoute for type-safe execution.
|
|
@@ -109,6 +170,8 @@ export interface RouteHandler {
|
|
|
109
170
|
readonly loader: (ctx: LoaderContext) => Effect.Effect<unknown, unknown>;
|
|
110
171
|
readonly component: (props: ComponentProps) => VElement;
|
|
111
172
|
readonly head: Option.Option<(ctx: HeadContext) => Effect.Effect<HeadData, unknown>>;
|
|
173
|
+
/** Type-erased action for form mutations. */
|
|
174
|
+
readonly action: Option.Option<RouteAction>;
|
|
112
175
|
readonly prerender: boolean;
|
|
113
176
|
readonly getStaticPaths: Option.Option<() => Effect.Effect<ReadonlyArray<Record<string, unknown>>, unknown>>;
|
|
114
177
|
}
|
|
@@ -135,9 +198,9 @@ export interface GroupHandlers<GroupName extends string = string, RouteNames ext
|
|
|
135
198
|
/**
|
|
136
199
|
* Register a handler for a route in this group.
|
|
137
200
|
* RouteName is constrained to the group's valid route names.
|
|
138
|
-
* Accumulates the loader's service requirements into the group's R.
|
|
201
|
+
* Accumulates the loader's and action's service requirements into the group's R.
|
|
139
202
|
*/
|
|
140
|
-
readonly handle: <RouteName extends RouteNames, LoaderData = unknown, PathParams extends Record<string, unknown> = Record<string, unknown>, SearchParams extends Record<string, unknown> = Record<string, unknown>, R2 = never, E = never>(routeName: RouteName, config: HandlerConfig<LoaderData, PathParams, SearchParams, R2, E>) => GroupHandlers<GroupName, RouteNames, R | R2>;
|
|
203
|
+
readonly handle: <RouteName extends RouteNames, LoaderData = unknown, PathParams extends Record<string, unknown> = Record<string, unknown>, SearchParams extends Record<string, unknown> = Record<string, unknown>, R2 = never, E = never, ActionData = unknown, ActionR = never, ActionE = never>(routeName: RouteName, config: HandlerConfig<LoaderData, PathParams, SearchParams, R2, E, ActionData, ActionR, ActionE>) => GroupHandlers<GroupName, RouteNames, R | R2 | ActionR>;
|
|
141
204
|
}
|
|
142
205
|
/**
|
|
143
206
|
* Handlers builder for a layout group.
|
|
@@ -158,9 +221,9 @@ export interface LayoutGroupHandlers<GroupName extends string = string, RouteNam
|
|
|
158
221
|
/**
|
|
159
222
|
* Register a handler for a route in this layout group.
|
|
160
223
|
* RouteName is constrained to the group's valid route names.
|
|
161
|
-
* Accumulates the loader's service requirements into the group's R.
|
|
224
|
+
* Accumulates the loader's and action's service requirements into the group's R.
|
|
162
225
|
*/
|
|
163
|
-
readonly handle: <RouteName extends RouteNames, LoaderData = unknown, PathParams extends Record<string, unknown> = Record<string, unknown>, SearchParams extends Record<string, unknown> = Record<string, unknown>, R2 = never, E = never>(routeName: RouteName, config: HandlerConfig<LoaderData, PathParams, SearchParams, R2, E>) => LayoutGroupHandlers<GroupName, RouteNames, R | R2>;
|
|
226
|
+
readonly handle: <RouteName extends RouteNames, LoaderData = unknown, PathParams extends Record<string, unknown> = Record<string, unknown>, SearchParams extends Record<string, unknown> = Record<string, unknown>, R2 = never, E = never, ActionData = unknown, ActionR = never, ActionE = never>(routeName: RouteName, config: HandlerConfig<LoaderData, PathParams, SearchParams, R2, E, ActionData, ActionR, ActionE>) => LayoutGroupHandlers<GroupName, RouteNames, R | R2 | ActionR>;
|
|
164
227
|
}
|
|
165
228
|
declare const RouterHandlers_base: Context.TagClass<RouterHandlers, "fibrae/RouterHandlers", {
|
|
166
229
|
readonly handlers: ReadonlyMap<string, RouteHandler>;
|
|
@@ -13,6 +13,17 @@ import * as Option from "effect/Option";
|
|
|
13
13
|
import { RouterError } from "./Router.js";
|
|
14
14
|
/** Normalize a LoaderResult (value or Effect) into an Effect. No type erasure. */
|
|
15
15
|
const liftLoader = (value) => Effect.isEffect(value) ? value : Effect.succeed(value);
|
|
16
|
+
/** Normalize an ActionResult (value or Effect) into an Effect. No type erasure. */
|
|
17
|
+
const liftAction = (value) => Effect.isEffect(value) ? value : Effect.succeed(value);
|
|
18
|
+
/**
|
|
19
|
+
* Build a type-erased RouteAction from an ActionConfig.
|
|
20
|
+
* Type-erasure boundary: the action handler's R is captured by the Layer,
|
|
21
|
+
* so we store it with R = never.
|
|
22
|
+
*/
|
|
23
|
+
const buildRouteAction = (config) => ({
|
|
24
|
+
schema: config.schema,
|
|
25
|
+
handler: (ctx) => liftAction(config.handler(ctx)),
|
|
26
|
+
});
|
|
16
27
|
/**
|
|
17
28
|
* Tag for the RouterHandlers service.
|
|
18
29
|
* Provides access to all registered handlers.
|
|
@@ -51,12 +62,16 @@ function makeGroupHandlers(groupName, grp) {
|
|
|
51
62
|
const result = fn();
|
|
52
63
|
return (Effect.isEffect(result) ? result : Effect.succeed(result));
|
|
53
64
|
}));
|
|
65
|
+
// Type-erasure boundary for action: ActionR/ActionE are captured by the Layer's R type.
|
|
66
|
+
// Cast to base ActionConfig to erase generic parameters, same pattern as loader/head.
|
|
67
|
+
const action = Option.fromNullable(config.action).pipe(Option.map(buildRouteAction));
|
|
54
68
|
const handler = {
|
|
55
69
|
routeName,
|
|
56
70
|
route,
|
|
57
71
|
loader,
|
|
58
72
|
component: config.component,
|
|
59
73
|
head,
|
|
74
|
+
action,
|
|
60
75
|
prerender: config.prerender ?? false,
|
|
61
76
|
getStaticPaths,
|
|
62
77
|
};
|
|
@@ -104,12 +119,16 @@ function makeLayoutGroupHandlers(groupName, layoutGrp) {
|
|
|
104
119
|
const result = fn();
|
|
105
120
|
return (Effect.isEffect(result) ? result : Effect.succeed(result));
|
|
106
121
|
}));
|
|
122
|
+
// Type-erasure boundary for action: ActionR/ActionE are captured by the Layer's R type.
|
|
123
|
+
// Cast to base ActionConfig to erase generic parameters, same pattern as loader/head.
|
|
124
|
+
const action = Option.fromNullable(config.action).pipe(Option.map(buildRouteAction));
|
|
107
125
|
const handler = {
|
|
108
126
|
routeName,
|
|
109
127
|
route,
|
|
110
128
|
loader,
|
|
111
129
|
component: config.component,
|
|
112
130
|
head,
|
|
131
|
+
action,
|
|
113
132
|
prerender: config.prerender ?? false,
|
|
114
133
|
getStaticPaths,
|
|
115
134
|
};
|
|
@@ -207,10 +226,14 @@ export function router(_router) {
|
|
|
207
226
|
export function executeRoute(handler, ctx) {
|
|
208
227
|
return Effect.gen(function* () {
|
|
209
228
|
const loaderData = yield* handler.loader(ctx);
|
|
229
|
+
const noopFormAction = () => Effect.fail({ _tag: "ActionError", message: "Actions not available in executeRoute" });
|
|
210
230
|
return handler.component({
|
|
211
231
|
loaderData,
|
|
212
232
|
path: ctx.path,
|
|
213
233
|
searchParams: ctx.searchParams,
|
|
234
|
+
actionData: Option.none(),
|
|
235
|
+
formAction: noopFormAction,
|
|
236
|
+
submissionState: { _tag: "Idle" },
|
|
214
237
|
});
|
|
215
238
|
});
|
|
216
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterBuilder.js","sourceRoot":"","sources":["../../src/router/RouterBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;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;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"RouterBuilder.js","sourceRoot":"","sources":["../../src/router/RouterBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,10 +33,13 @@
|
|
|
33
33
|
* }
|
|
34
34
|
* ```
|
|
35
35
|
*/
|
|
36
|
+
// eslint-disable-next-line no-unused-vars -- jsx is used by the JSX transform (jsxFactory)
|
|
37
|
+
import { jsx } from "../jsx-runtime/index.js";
|
|
36
38
|
import * as Effect from "effect/Effect";
|
|
37
39
|
import * as Stream from "effect/Stream";
|
|
38
40
|
import * as Option from "effect/Option";
|
|
39
41
|
import * as Context from "effect/Context";
|
|
42
|
+
import * as Schema from "effect/Schema";
|
|
40
43
|
import * as Cause from "effect/Cause";
|
|
41
44
|
import { Registry as AtomRegistry } from "@effect-atom/atom";
|
|
42
45
|
import { Navigator } from "./Navigator.js";
|
|
@@ -82,6 +85,9 @@ export class OutletDepth extends Context.Tag("fibrae/OutletDepth")() {
|
|
|
82
85
|
export function RouterOutlet() {
|
|
83
86
|
// Track if this is the first render (for SSR hydration)
|
|
84
87
|
let isFirstRender = true;
|
|
88
|
+
// Mutable action state — shared across route renders, reset on navigation
|
|
89
|
+
let actionData = Option.none();
|
|
90
|
+
let submissionState = { _tag: "Idle" };
|
|
85
91
|
return Stream.unwrap(Effect.gen(function* () {
|
|
86
92
|
const navigator = yield* Navigator;
|
|
87
93
|
const routerHandlers = yield* RouterHandlers;
|
|
@@ -97,20 +103,13 @@ export function RouterOutlet() {
|
|
|
97
103
|
// A failing route emits a component that re-throws during render, allowing
|
|
98
104
|
// ErrorBoundary to catch it while keeping this stream alive for the next route.
|
|
99
105
|
return routeStream.pipe(Stream.mapEffect((currentRoute) => Effect.gen(function* () {
|
|
106
|
+
// Reset action state on navigation
|
|
107
|
+
actionData = Option.none();
|
|
108
|
+
submissionState = { _tag: "Idle" };
|
|
100
109
|
if (Option.isNone(currentRoute)) {
|
|
101
110
|
// No route matched - clear router state and render 404
|
|
102
111
|
registry.set(RouterStateAtom, Option.none());
|
|
103
|
-
return
|
|
104
|
-
type: "div",
|
|
105
|
-
props: {
|
|
106
|
-
children: [
|
|
107
|
-
{
|
|
108
|
-
type: "TEXT_ELEMENT",
|
|
109
|
-
props: { nodeValue: "404 - Not Found", children: [] },
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
},
|
|
113
|
-
};
|
|
112
|
+
return jsx("div", null, "404 - Not Found");
|
|
114
113
|
}
|
|
115
114
|
const { routeName, params, searchParams, layouts } = currentRoute.value;
|
|
116
115
|
// Check if we should render a layout or the route component
|
|
@@ -119,20 +118,9 @@ export function RouterOutlet() {
|
|
|
119
118
|
const layoutName = layouts[currentDepth];
|
|
120
119
|
const layoutHandler = routerHandlers.getLayoutHandler(layoutName);
|
|
121
120
|
if (Option.isNone(layoutHandler)) {
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
children: [
|
|
126
|
-
{
|
|
127
|
-
type: "TEXT_ELEMENT",
|
|
128
|
-
props: {
|
|
129
|
-
nodeValue: `No layout handler for: ${layoutName}`,
|
|
130
|
-
children: [],
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
],
|
|
134
|
-
},
|
|
135
|
-
};
|
|
121
|
+
return jsx("div", null,
|
|
122
|
+
"No layout handler for: ",
|
|
123
|
+
layoutName);
|
|
136
124
|
}
|
|
137
125
|
return layoutHandler.value.component();
|
|
138
126
|
}
|
|
@@ -140,20 +128,9 @@ export function RouterOutlet() {
|
|
|
140
128
|
const handler = routerHandlers.getHandler(routeName);
|
|
141
129
|
if (Option.isNone(handler)) {
|
|
142
130
|
registry.set(RouterStateAtom, Option.none());
|
|
143
|
-
return
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
children: [
|
|
147
|
-
{
|
|
148
|
-
type: "TEXT_ELEMENT",
|
|
149
|
-
props: {
|
|
150
|
-
nodeValue: `No handler for route: ${routeName}`,
|
|
151
|
-
children: [],
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
],
|
|
155
|
-
},
|
|
156
|
-
};
|
|
131
|
+
return jsx("div", null,
|
|
132
|
+
"No handler for route: ",
|
|
133
|
+
routeName);
|
|
157
134
|
}
|
|
158
135
|
let loaderData;
|
|
159
136
|
let routerState;
|
|
@@ -182,13 +159,31 @@ export function RouterOutlet() {
|
|
|
182
159
|
}
|
|
183
160
|
// Mark first render complete
|
|
184
161
|
isFirstRender = false;
|
|
162
|
+
// Build formAction — decodes payload via action schema and invokes action handler.
|
|
163
|
+
// If route has no action, formAction returns a failing Effect.
|
|
164
|
+
const formAction = (payload) => Option.match(handler.value.action, {
|
|
165
|
+
onNone: () => Effect.fail({
|
|
166
|
+
_tag: "ActionError",
|
|
167
|
+
message: `No action defined for route: ${routeName}`,
|
|
168
|
+
}),
|
|
169
|
+
onSome: (routeAction) => Schema.decodeUnknown(routeAction.schema)(payload).pipe(Effect.flatMap((decoded) => routeAction.handler({ payload: decoded })), Effect.tap((result) => Effect.sync(() => {
|
|
170
|
+
actionData = Option.some(result);
|
|
171
|
+
submissionState = { _tag: "Success", data: result };
|
|
172
|
+
})), Effect.tapErrorCause((cause) => Effect.sync(() => {
|
|
173
|
+
submissionState = { _tag: "Failure", error: Cause.squash(cause) };
|
|
174
|
+
}))),
|
|
175
|
+
});
|
|
185
176
|
// Render the component with both props patterns:
|
|
186
177
|
// 1. Traditional props (loaderData, path, searchParams)
|
|
187
|
-
// 2.
|
|
178
|
+
// 2. Action context (actionData, formAction, submissionState)
|
|
179
|
+
// 3. Components can also access via RouterStateAtom/RouterStateService
|
|
188
180
|
const element = handler.value.component({
|
|
189
181
|
loaderData,
|
|
190
182
|
path: params,
|
|
191
183
|
searchParams,
|
|
184
|
+
actionData,
|
|
185
|
+
formAction,
|
|
186
|
+
submissionState,
|
|
192
187
|
});
|
|
193
188
|
return element;
|
|
194
189
|
}).pipe(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterOutlet.js","sourceRoot":"","sources":["../../src/router/RouterOutlet.
|
|
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;AAC3C,OAAO,EAAE,cAAc,EAAwB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAGrE;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC,KAA2B,EAAY,EAAE;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,CAAC,GAAG,EAAE;YACV,MAAM,KAAK,CAAC;QACd,CAAC,CAAU;QACX,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAuB;CAAG;AAE5F,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY;IAK1B,wDAAwD;IACxD,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzB,0EAA0E;IAC1E,IAAI,UAAU,GAA2B,MAAM,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,eAAe,GAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAExD,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;QACnC,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;QAElD,+DAA+D;QAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CAChE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CACtC,CAAC;QAEF,2CAA2C;QAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEpD,kEAAkE;QAClE,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAE5E,2CAA2C;QAC3C,iFAAiF;QACjF,2EAA2E;QAC3E,gFAAgF;QAChF,OAAO,WAAW,CAAC,IAAI,CACrB,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,mCAAmC;YACnC,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3B,eAAe,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAEnC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,uDAAuD;gBACvD,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,OAAO,mCAA0B,CAAC;YACpC,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC;YAExE,4DAA4D;YAC5D,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClC,kCAAkC;gBAClC,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;gBACzC,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAElE,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjC,OAAO;;wBAA6B,UAAU,CAAO,CAAC;gBACxD,CAAC;gBAED,OAAO,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzC,CAAC;YAED,2DAA2D;YAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,OAAO;;oBAA4B,SAAS,CAAO,CAAC;YACtD,CAAC;YAED,IAAI,UAAmB,CAAC;YACxB,IAAI,WAAwB,CAAC;YAE7B,4CAA4C;YAC5C,MAAM,sBAAsB,GAC1B,aAAa;gBACb,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC5B,aAAa,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;YAE9C,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,yBAAyB;gBACzB,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;gBAClC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,iBAAiB;gBACjB,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBACjD,UAAU,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEpD,6BAA6B;gBAC7B,WAAW,GAAG;oBACZ,SAAS;oBACT,MAAM;oBACN,YAAY;oBACZ,UAAU;iBACX,CAAC;gBAEF,6DAA6D;gBAC7D,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,6BAA6B;YAC7B,aAAa,GAAG,KAAK,CAAC;YAEtB,mFAAmF;YACnF,+DAA+D;YAC/D,MAAM,UAAU,GAAG,CACjB,OAAgC,EACC,EAAE,CACnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjC,MAAM,EAAE,GAAG,EAAE,CACX,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,gCAAgC,SAAS,EAAE;iBACrD,CAAC;gBACJ,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAEpB,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAIjD,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EACtE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjC,eAAe,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACtD,CAAC,CAAC,CACH,EACD,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,eAAe,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpE,CAAC,CAAC,CACH,CACF;aACJ,CAAC,CAAC;YAEL,iDAAiD;YACjD,wDAAwD;YACxD,8DAA8D;YAC9D,uEAAuE;YACvE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBACtC,UAAU;gBACV,IAAI,EAAE,MAAM;gBACZ,YAAY;gBACZ,UAAU;gBACV,UAAU;gBACV,eAAe;aAChB,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC,IAAI;QACL,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CACpE,CACF,CACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/router/index.d.ts
CHANGED
|
@@ -14,14 +14,17 @@ export * as RouterBuilder from "./RouterBuilder.js";
|
|
|
14
14
|
export * as History from "./History.js";
|
|
15
15
|
export * as Navigator from "./Navigator.js";
|
|
16
16
|
export * as RouterState from "./RouterState.js";
|
|
17
|
-
export type { LoaderContext, ComponentProps, HandlerConfig, RouteHandler, GroupHandlers, LayoutGroupHandlers, LayoutHandler, PrerenderRoute, HeadData, HeadContext, MetaDescriptor, } from "./RouterBuilder.js";
|
|
17
|
+
export type { LoaderContext, ComponentProps, HandlerConfig, RouteHandler, RouteAction, ActionConfig, ActionContext, ActionResult, SubmissionState, GroupHandlers, LayoutGroupHandlers, LayoutHandler, PrerenderRoute, HeadData, HeadContext, MetaDescriptor, } from "./RouterBuilder.js";
|
|
18
18
|
export { RouterHandlers, getPrerenderRoutes } from "./RouterBuilder.js";
|
|
19
|
+
export type { FormProps } from "./Form.js";
|
|
20
|
+
export { Form, FormValidationError, FormState } from "./Form.js";
|
|
19
21
|
export type { HistoryLocation, HistoryService } from "./History.js";
|
|
20
22
|
export { History as HistoryTag, BrowserHistoryLive, MemoryHistoryLive } from "./History.js";
|
|
21
23
|
export type { CurrentRoute, NavigateOptions, NavigatorService } from "./Navigator.js";
|
|
22
|
-
export { Navigator as NavigatorTag, NavigatorLive
|
|
24
|
+
export { Navigator as NavigatorTag, NavigatorLive } from "./Navigator.js";
|
|
25
|
+
export type { RegisteredRouter, ValidHref, PatternToHref } from "./register.js";
|
|
23
26
|
export type { LinkProps } from "./Link.js";
|
|
24
|
-
export {
|
|
27
|
+
export { Link } from "./Link.js";
|
|
25
28
|
export { RouterOutlet, OutletDepth } from "./RouterOutlet.js";
|
|
26
29
|
export type { ServerLayerOptions, BrowserLayerOptions, DehydratedRouterState, SSRRouteResult, RouteMatch, LayoutGroup, RouteGroup, AnyGroup, } from "./Router.js";
|
|
27
30
|
export { CurrentRouteElement } from "./Router.js";
|
package/dist/router/index.js
CHANGED
|
@@ -21,9 +21,10 @@ export * as Navigator from "./Navigator.js";
|
|
|
21
21
|
// Router state (unified serializable state)
|
|
22
22
|
export * as RouterState from "./RouterState.js";
|
|
23
23
|
export { RouterHandlers, getPrerenderRoutes } from "./RouterBuilder.js";
|
|
24
|
+
export { Form, FormValidationError, FormState } from "./Form.js";
|
|
24
25
|
export { History as HistoryTag, BrowserHistoryLive, MemoryHistoryLive } from "./History.js";
|
|
25
|
-
export { Navigator as NavigatorTag, NavigatorLive
|
|
26
|
-
export {
|
|
26
|
+
export { Navigator as NavigatorTag, NavigatorLive } from "./Navigator.js";
|
|
27
|
+
export { Link } from "./Link.js";
|
|
27
28
|
// Re-export RouterOutlet component
|
|
28
29
|
export { RouterOutlet, OutletDepth } from "./RouterOutlet.js";
|
|
29
30
|
export { CurrentRouteElement } from "./Router.js";
|
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;
|
|
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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module augmentation interface for type-safe navigation.
|
|
3
|
+
*
|
|
4
|
+
* Register your router in your app:
|
|
5
|
+
*
|
|
6
|
+
* ```typescript
|
|
7
|
+
* declare module "fibrae/router" {
|
|
8
|
+
* interface RegisteredRouter {
|
|
9
|
+
* AppRouter: typeof AppRouter
|
|
10
|
+
* }
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* After registration, Link's `href` prop and go()'s href parameter
|
|
15
|
+
* are constrained to valid paths at compile time.
|
|
16
|
+
*/
|
|
17
|
+
import type { Router } from "./Router.js";
|
|
18
|
+
export interface RegisteredRouter {
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extract route paths from a Router type.
|
|
22
|
+
*/
|
|
23
|
+
type ExtractRoutePaths<T> = T extends Router<string, string, infer P extends string> ? P : never;
|
|
24
|
+
/**
|
|
25
|
+
* Convert a route pattern to a template literal type for href validation.
|
|
26
|
+
* "/posts/:id" → `/posts/${string}`
|
|
27
|
+
* "/posts/:id/edit" → `/posts/${string}/edit`
|
|
28
|
+
* "/posts" → "/posts"
|
|
29
|
+
*/
|
|
30
|
+
export type PatternToHref<T extends string> = T extends `${infer Before}:${infer _Param}/${infer After}` ? `${Before}${string}/${PatternToHref<After>}` : T extends `${infer Before}:${infer _Param}` ? `${Before}${string}` : T;
|
|
31
|
+
/**
|
|
32
|
+
* Union of all valid href values, falling back to string when unregistered.
|
|
33
|
+
* Route patterns are converted to template literal types so that
|
|
34
|
+
* `<Link href={`/posts/${id}`}>` matches `/posts/${string}`.
|
|
35
|
+
*/
|
|
36
|
+
export type ValidHref = keyof RegisteredRouter extends never ? string : PatternToHref<ExtractRoutePaths<RegisteredRouter[keyof RegisteredRouter]>>;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module augmentation interface for type-safe navigation.
|
|
3
|
+
*
|
|
4
|
+
* Register your router in your app:
|
|
5
|
+
*
|
|
6
|
+
* ```typescript
|
|
7
|
+
* declare module "fibrae/router" {
|
|
8
|
+
* interface RegisteredRouter {
|
|
9
|
+
* AppRouter: typeof AppRouter
|
|
10
|
+
* }
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* After registration, Link's `href` prop and go()'s href parameter
|
|
15
|
+
* are constrained to valid paths at compile time.
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/router/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
|
package/dist/router/utils.d.ts
CHANGED
|
@@ -26,8 +26,8 @@ export declare const stripBasePath: (pathname: string, basePath: string) => stri
|
|
|
26
26
|
* Find a route by name across all groups in a router.
|
|
27
27
|
* Returns the route and its group's basePath (empty string for non-layout groups).
|
|
28
28
|
*/
|
|
29
|
-
export declare const findRouteByName: (router: Router<string, never>, name: string) => Option.Option<{
|
|
30
|
-
route: Route<string, Record<string, unknown>, Record<string, unknown>>;
|
|
29
|
+
export declare const findRouteByName: (router: Router<string, never, never>, name: string) => Option.Option<{
|
|
30
|
+
route: Route<string, never, Record<string, unknown>, Record<string, unknown>>;
|
|
31
31
|
group: AnyGroup;
|
|
32
32
|
}>;
|
|
33
33
|
/**
|
package/dist/runtime.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface FiberState {
|
|
|
17
17
|
wipRoot: Option.Option<Fiber>;
|
|
18
18
|
nextUnitOfWork: Option.Option<Fiber>;
|
|
19
19
|
deletions: Fiber[];
|
|
20
|
-
listenerStore: WeakMap<HTMLElement, Record<string, EventListener>>;
|
|
20
|
+
listenerStore: WeakMap<HTMLElement | SVGElement, Record<string, EventListener>>;
|
|
21
21
|
}
|
|
22
22
|
export declare const makeFiberState: () => FiberState;
|
|
23
23
|
export declare const CustomAtomRegistryLayer: Layer.Layer<AtomRegistry.AtomRegistry, never, never>;
|
package/dist/shared.d.ts
CHANGED
|
@@ -64,12 +64,12 @@ export declare class ComponentScope extends ComponentScope_base {
|
|
|
64
64
|
/**
|
|
65
65
|
* Primitive element types: HTML tags, text nodes, fragments, suspense, or boundary
|
|
66
66
|
*/
|
|
67
|
-
export type Primitive = keyof HTMLElementTagNameMap | "TEXT_ELEMENT" | "FRAGMENT" | "SUSPENSE" | "BOUNDARY";
|
|
67
|
+
export type Primitive = keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap | "TEXT_ELEMENT" | "FRAGMENT" | "SUSPENSE" | "BOUNDARY";
|
|
68
68
|
/**
|
|
69
69
|
* What can appear as children in JSX (recursive type)
|
|
70
|
-
* Includes primitives, VElements, and arrays thereof
|
|
70
|
+
* Includes primitives, VElements, Effects, Streams, and arrays thereof
|
|
71
71
|
*/
|
|
72
|
-
export type VChild = VElement | string | number | bigint | boolean | null | undefined | VChild[];
|
|
72
|
+
export type VChild = VElement | Effect.Effect<VElement, any, any> | Stream.Stream<VElement, any, any> | string | number | bigint | boolean | null | undefined | VChild[];
|
|
73
73
|
/**
|
|
74
74
|
* What components can return - VElement or wrapped in Effect/Stream
|
|
75
75
|
*/
|
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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"}
|