@storybook/tanstack-react 0.0.0-pr-35341-sha-e49cb7a9 → 0.0.0-pr-35482-sha-e0c7884d

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.
@@ -1,18 +1,16 @@
1
- import { Awaitable, RegisteredRouter } from "@tanstack/router-core";
1
+ import { Awaitable, RegisteredRouter } from '@tanstack/router-core';
2
2
 
3
- //#region node_modules/@tanstack/start-storage-context/dist/esm/async-local-storage.d.ts
4
3
  interface StartStorageContext {
5
- getRouter: () => Awaitable<RegisteredRouter>;
6
- request: Request;
7
- startOptions: any;
8
- contextAfterGlobalMiddlewares: any;
9
- executedRequestMiddlewares: Set<any>;
4
+ getRouter: () => Awaitable<RegisteredRouter>;
5
+ request: Request;
6
+ startOptions: any;
7
+ contextAfterGlobalMiddlewares: any;
8
+ executedRequestMiddlewares: Set<any>;
10
9
  }
11
- //#endregion
12
- //#region code/frameworks/tanstack-react/.dts-emit/code/frameworks/tanstack-react/src/export-mocks/start-storage-context.d.ts
10
+
13
11
  declare function runWithStartContext<T>(context: StartStorageContext, fn: () => T | Promise<T>): Promise<T>;
14
12
  declare function getStartContext<TThrow extends boolean = true>(opts?: {
15
- throwIfNotFound?: TThrow;
13
+ throwIfNotFound?: TThrow;
16
14
  }): TThrow extends false ? StartStorageContext | undefined : StartStorageContext;
17
- //#endregion
18
- export { type StartStorageContext, getStartContext, runWithStartContext };
15
+
16
+ export { type StartStorageContext, getStartContext, runWithStartContext };
@@ -1,41 +1,40 @@
1
- import React from "react";
2
- import { createServerFn as createServerFn$1 } from "@tanstack/start-client-core";
3
- export * from "@tanstack/start-client-core";
4
- export * from "@tanstack/react-start";
1
+ import React from 'react';
2
+ import { createServerFn as createServerFn$1 } from '@tanstack/start-client-core';
3
+ export * from '@tanstack/start-client-core';
4
+ export * from '@tanstack/react-start';
5
5
 
6
- //#region code/frameworks/tanstack-react/.dts-emit/code/frameworks/tanstack-react/src/export-mocks/start.d.ts
7
6
  type RequestOptions<TRegister = unknown> = {
8
- context?: TRegister extends {
9
- server: {
10
- requestContext: infer TRequestContext;
11
- };
12
- } ? TRequestContext : unknown;
7
+ context?: TRegister extends {
8
+ server: {
9
+ requestContext: infer TRequestContext;
10
+ };
11
+ } ? TRequestContext : unknown;
13
12
  };
14
13
  type MockRequestExecutor<TRegister = unknown> = (request: Request, opts?: RequestOptions<TRegister>) => Promise<unknown> | unknown;
15
14
  type HandlerContext = {
16
- request: Request;
17
- responseHeaders: Headers;
18
- router?: unknown;
19
- context?: unknown;
20
- requestContext?: unknown;
15
+ request: Request;
16
+ responseHeaders: Headers;
17
+ router?: unknown;
18
+ context?: unknown;
19
+ requestContext?: unknown;
21
20
  };
22
21
  type HandlerCallback<TRouter = unknown> = (context: HandlerContext & {
23
- router?: TRouter;
22
+ router?: TRouter;
24
23
  }) => Promise<unknown> | unknown;
25
24
  type SessionConfig = Record<string, unknown>;
26
25
  type MockSession<TSessionData extends Record<string, unknown> = Record<string, unknown>> = {
27
- data: Partial<TSessionData>;
28
- update: (update?: Partial<TSessionData> | ((prev: Partial<TSessionData>) => Partial<TSessionData>)) => Promise<MockSession<TSessionData>>;
29
- save: () => Promise<void>;
30
- clear: () => Promise<void>;
26
+ data: Partial<TSessionData>;
27
+ update: (update?: Partial<TSessionData> | ((prev: Partial<TSessionData>) => Partial<TSessionData>)) => Promise<MockSession<TSessionData>>;
28
+ save: () => Promise<void>;
29
+ clear: () => Promise<void>;
31
30
  };
32
31
  declare const HEADERS: {
33
- readonly TSS_SHELL: 'X-TSS_SHELL';
32
+ readonly TSS_SHELL: "X-TSS_SHELL";
34
33
  };
35
34
  declare const VIRTUAL_MODULES: {
36
- readonly startManifest: 'tanstack-start-manifest:v';
37
- readonly injectedHeadScripts: 'tanstack-start-injected-head-scripts:v';
38
- readonly serverFnResolver: '#tanstack-start-server-fn-resolver';
35
+ readonly startManifest: "tanstack-start-manifest:v";
36
+ readonly injectedHeadScripts: "tanstack-start-injected-head-scripts:v";
37
+ readonly serverFnResolver: "#tanstack-start-server-fn-resolver";
39
38
  };
40
39
  declare function StartServer(): null;
41
40
  declare const defineHandlerCallback: <TRouter = unknown>(handler: HandlerCallback<TRouter>) => HandlerCallback<TRouter>;
@@ -44,7 +43,7 @@ declare const defaultRenderHandler: () => Promise<Response>;
44
43
  declare const requestHandler: <TRegister = unknown>(handler: MockRequestExecutor<TRegister>) => (request: Request, requestOpts?: RequestOptions<TRegister>) => Promise<Response>;
45
44
  declare const createRequestHandler: <TRegister = unknown>(handler: MockRequestExecutor<TRegister>) => (request: Request, requestOpts?: RequestOptions<TRegister> | undefined) => Promise<Response>;
46
45
  declare const createStartHandler: <TRegister = unknown>(cbOrOptions: HandlerCallback | {
47
- handler?: HandlerCallback;
46
+ handler?: HandlerCallback;
48
47
  }) => (request: Request, requestOpts?: RequestOptions<TRegister> | undefined) => Promise<Response>;
49
48
  declare const attachRouterServerSsrUtils: <TRouter>(router: TRouter) => TRouter;
50
49
  declare const transformReadableStreamWithRouter: <TReadableStream>(stream: TReadableStream) => TReadableStream;
@@ -53,17 +52,17 @@ declare const getRequest: () => Request;
53
52
  declare const getRequestHeaders: () => Headers;
54
53
  declare const getRequestHeader: (name: string) => string | undefined;
55
54
  declare const getRequestIP: (opts?: {
56
- xForwardedFor?: boolean;
55
+ xForwardedFor?: boolean;
57
56
  }) => string | undefined;
58
57
  declare const getRequestHost: (opts?: {
59
- xForwardedHost?: boolean;
58
+ xForwardedHost?: boolean;
60
59
  }) => string;
61
60
  declare const getRequestUrl: (opts?: {
62
- xForwardedHost?: boolean;
63
- xForwardedProto?: boolean;
61
+ xForwardedHost?: boolean;
62
+ xForwardedProto?: boolean;
64
63
  }) => URL;
65
64
  declare const getRequestProtocol: (opts?: {
66
- xForwardedProto?: boolean;
65
+ xForwardedProto?: boolean;
67
66
  }) => string;
68
67
  declare const setResponseHeaders: (headers: HeadersInit) => void;
69
68
  declare const getResponseHeaders: () => Headers;
@@ -74,7 +73,7 @@ declare const clearResponseHeaders: (headerNames?: Array<string>) => void;
74
73
  declare const getResponseStatus: () => number;
75
74
  declare const setResponseStatus: (code?: number, text?: string) => void;
76
75
  declare const getCookies: () => {
77
- [k: string]: string;
76
+ [k: string]: string;
78
77
  };
79
78
  declare const getCookie: (name: string) => string | undefined;
80
79
  declare const setCookie: (name: string, value: string, options?: Record<string, unknown>) => void;
@@ -86,47 +85,36 @@ declare const sealSession: (_config: SessionConfig) => Promise<string>;
86
85
  declare const unsealSession: (_config: SessionConfig, sealed: string) => Promise<any>;
87
86
  declare const clearSession: (_config: Partial<SessionConfig>) => Promise<void>;
88
87
  declare const getResponse: () => {
89
- status: number | undefined;
90
- statusText: string | undefined;
91
- readonly headers: Headers;
88
+ status: number | undefined;
89
+ statusText: string | undefined;
90
+ readonly headers: Headers;
92
91
  };
93
92
  declare const getValidatedQuery: (schema: {
94
- parse?: (value: Record<string, string>) => unknown;
95
- safeParse?: (value: Record<string, string>) => unknown;
96
- ['~standard']?: {
97
- validate?: (value: Record<string, string>) => Promise<unknown> | unknown;
98
- };
93
+ parse?: (value: Record<string, string>) => unknown;
94
+ safeParse?: (value: Record<string, string>) => unknown;
95
+ ["~standard"]?: {
96
+ validate?: (value: Record<string, string>) => Promise<unknown> | unknown;
97
+ };
99
98
  }) => Promise<unknown>;
100
99
  declare function useServerFn<T extends (...args: Array<any>) => Promise<any>>(serverFn: T): (...args: Parameters<T>) => ReturnType<T>;
101
100
  declare const createServerFn: typeof createServerFn$1;
102
- declare const Link: ({
103
- to,
104
- children,
105
- ...props
106
- }: {
107
- to: string;
108
- children?: React.ReactNode;
109
- [key: string]: unknown;
101
+ declare const Link: ({ to, children, ...props }: {
102
+ to: string;
103
+ children?: React.ReactNode;
104
+ [key: string]: unknown;
110
105
  }) => React.ReactElement<{
111
- href: string;
106
+ href: string;
112
107
  }, string | React.JSXElementConstructor<any>>;
113
- declare const Navigate: ({
114
- to
115
- }: {
116
- to: string;
108
+ declare const Navigate: ({ to }: {
109
+ to: string;
117
110
  }) => null;
118
- declare const Hydrate: ({
119
- children
120
- }: {
121
- children?: React.ReactNode;
122
- [key: string]: unknown;
123
- }) => string | number | boolean | Iterable<React.ReactNode> | React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
124
111
  declare const notFound: () => never;
125
112
  declare const createStart: () => {};
126
113
  declare const clearCookieStore: () => void;
127
114
  declare const fetchHandler: () => Promise<Response>;
115
+
128
116
  declare const _default: {
129
- fetch: typeof fetchHandler;
117
+ fetch: () => Promise<Response>;
130
118
  };
131
- //#endregion
132
- export { HEADERS, Hydrate, Link, Navigate, StartServer, VIRTUAL_MODULES, attachRouterServerSsrUtils, clearCookieStore, clearResponseHeaders, clearSession, createRequestHandler, createServerFn, createStart, createStartHandler, _default as default, defaultRenderHandler, defaultStreamHandler, defineHandlerCallback, deleteCookie, fetchHandler as fetch, getCookie, getCookies, getRequest, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestProtocol, getRequestUrl, getResponse, getResponseHeader, getResponseHeaders, getResponseStatus, getSession, getValidatedQuery, notFound, removeResponseHeader, requestHandler, sealSession, setCookie, setResponseHeader, setResponseHeaders, setResponseStatus, transformPipeableStreamWithRouter, transformReadableStreamWithRouter, unsealSession, updateSession, useServerFn, useSession };
119
+
120
+ export { HEADERS, Link, Navigate, StartServer, VIRTUAL_MODULES, attachRouterServerSsrUtils, clearCookieStore, clearResponseHeaders, clearSession, createRequestHandler, createServerFn, createStart, createStartHandler, _default as default, defaultRenderHandler, defaultStreamHandler, defineHandlerCallback, deleteCookie, fetchHandler as fetch, getCookie, getCookies, getRequest, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestProtocol, getRequestUrl, getResponse, getResponseHeader, getResponseHeaders, getResponseStatus, getSession, getValidatedQuery, notFound, removeResponseHeader, requestHandler, sealSession, setCookie, setResponseHeader, setResponseHeaders, setResponseStatus, transformPipeableStreamWithRouter, transformReadableStreamWithRouter, unsealSession, updateSession, useServerFn, useSession };
@@ -262,7 +262,7 @@ function useServerFn(serverFn) {
262
262
  }
263
263
  function createMockServerFnBuilder() {
264
264
  let builder = () => createMockServerFnBuilder(), _storedOptions;
265
- return builder.options = (opts) => (_storedOptions = opts, builder), builder.middleware = () => createMockServerFnBuilder(), builder.inputValidator = () => createMockServerFnBuilder(), builder.validator = () => createMockServerFnBuilder(), builder.handler = (handlerFn) => {
265
+ return builder.options = (opts) => (_storedOptions = opts, builder), builder.middleware = () => createMockServerFnBuilder(), builder.inputValidator = () => createMockServerFnBuilder(), builder.handler = (handlerFn) => {
266
266
  let mock = fn().mockName("@tanstack/start-client-core::createServerFn.handler()");
267
267
  return handlerFn && mock.mockImplementation(async (opts) => handlerFn(opts)), mock;
268
268
  }, builder._getOptions = () => _storedOptions, builder;
@@ -276,7 +276,7 @@ var createServerFn = (options) => {
276
276
  ...props
277
277
  }) => React.createElement("a", { href: to, ...props }, children), Navigate = ({ to }) => (React.useEffect(() => {
278
278
  onNavigate({ to });
279
- }, [to]), null), Hydrate = ({ children }) => children ?? null, notFound = () => {
279
+ }, [to]), null), notFound = () => {
280
280
  throw new Error("Not found");
281
281
  }, createStart = () => ({}), clientCookieStore = /* @__PURE__ */ new Map(), clearCookieStore = () => {
282
282
  clientCookieStore.clear();
@@ -284,7 +284,6 @@ var createServerFn = (options) => {
284
284
  var start_default = { fetch: fetchHandler };
285
285
  export {
286
286
  HEADERS,
287
- Hydrate,
288
287
  Link,
289
288
  Navigate,
290
289
  StartServer,
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
- import { a as TanStackPreviewOptions, c as IsRoute, d as StoryRouteOptions, i as TanStackParameters, l as RouterParameters, n as FrameworkOptions, o as TanStackTypes, r as StorybookConfig, s as CreateStoryRouteOptions, t as DefaultStoryPath, u as StoryRouteFileOptions } from "./chunk-B2-fTWlC.js";
2
- import { ComponentType } from "react";
3
- import { AddonTypes, InferTypes, PreviewAddon } from "storybook/internal/csf";
4
- import { Args, ArgsStoryFn, ComponentAnnotations, DecoratorFunction, Parameters, ProjectAnnotations, Renderer, StoryAnnotations } from "storybook/internal/types";
5
- import { AnyRoute } from "@tanstack/react-router";
6
- import { Meta as Meta$1, ReactMeta, ReactPreview, ReactRenderer, ReactTypes, StoryObj as StoryObj$1 } from "@storybook/react";
7
- export * from "@storybook/react";
8
-
9
- //#region node_modules/type-fest/source/union-to-intersection.d.ts
1
+ import { ComponentType } from 'react';
2
+ import { PreviewAddon, InferTypes, AddonTypes } from 'storybook/internal/csf';
3
+ import { CompatibleString, ProjectAnnotations, Args, DecoratorFunction, ArgsStoryFn, Parameters as Parameters$1, ComponentAnnotations, Renderer, StoryAnnotations } from 'storybook/internal/types';
4
+ import { Register, AnyRoute, FileRoutesByPath } from '@tanstack/react-router';
5
+ import { Decorator, ReactTypes, ReactPreview, ReactMeta, ReactRenderer, Meta as Meta$1, StoryObj as StoryObj$1 } from '@storybook/react';
6
+ export * from '@storybook/react';
7
+ import { RoutesByPath, RouteOptions, ResolveParams, AnyContext } from '@tanstack/router-core';
8
+ import { BuilderOptions } from '@storybook/builder-vite';
9
+ import { StorybookConfig as StorybookConfig$1 } from '@storybook/react-vite';
10
+
10
11
  /**
11
12
  Convert a union type to an intersection type.
12
13
 
@@ -24,18 +25,23 @@ type Intersection = UnionToIntersection<Union>;
24
25
 
25
26
  @category Type
26
27
  */
27
- type UnionToIntersection<Union> = (// `extends unknown` is always going to be the case and is used to convert the
28
- // `Union` into a [distributive conditional
29
- // type](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
30
- Union extends unknown // The union type is used as the only argument to a function since the union
31
- // of function arguments is an intersection.
32
- ? (distributedUnion: Union) => void // This won't happen.
33
- : never // Infer the `Intersection` type since TypeScript represents the positional
34
- // arguments of unions of functions as an intersection of the union.
35
- ) extends ((mergedIntersection: infer Intersection) => void) // The `& Union` is to ensure result of `UnionToIntersection<A | B>` is always assignable to `A | B`
36
- ? Intersection & Union : never;
37
- //#endregion
38
- //#region node_modules/type-fest/source/simplify.d.ts
28
+ type UnionToIntersection<Union> = (
29
+ // `extends unknown` is always going to be the case and is used to convert the
30
+ // `Union` into a [distributive conditional
31
+ // type](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
32
+ Union extends unknown
33
+ // The union type is used as the only argument to a function since the union
34
+ // of function arguments is an intersection.
35
+ ? (distributedUnion: Union) => void
36
+ // This won't happen.
37
+ : never
38
+ // Infer the `Intersection` type since TypeScript represents the positional
39
+ // arguments of unions of functions as an intersection of the union.
40
+ ) extends ((mergedIntersection: infer Intersection) => void)
41
+ // The `& Union` is to ensure result of `UnionToIntersection<A | B>` is always assignable to `A | B`
42
+ ? Intersection & Union
43
+ : never;
44
+
39
45
  /**
40
46
  Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
41
47
 
@@ -94,9 +100,8 @@ fn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface`
94
100
  @see {@link SimplifyDeep}
95
101
  @category Object
96
102
  */
97
- type Simplify<T> = { [KeyType in keyof T]: T[KeyType] } & {};
98
- //#endregion
99
- //#region node_modules/type-fest/source/omit-index-signature.d.ts
103
+ type Simplify<T> = {[KeyType in keyof T]: T[KeyType]} & {};
104
+
100
105
  /**
101
106
  Omit any index signatures from the given object type, leaving only explicitly defined properties.
102
107
 
@@ -188,18 +193,143 @@ type ExampleWithoutIndexSignatures = OmitIndexSignature<Example>;
188
193
  @see {@link PickIndexSignature}
189
194
  @category Object
190
195
  */
191
- type OmitIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? never : KeyType]: ObjectType[KeyType] };
192
- //#endregion
193
- //#region code/frameworks/tanstack-react/.dts-emit/code/frameworks/tanstack-react/src/index.d.ts
196
+ type OmitIndexSignature<ObjectType> = {
197
+ [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown>
198
+ ? never
199
+ : KeyType]: ObjectType[KeyType];
200
+ };
201
+
202
+ /** Union of every registered full path (e.g. `'/' | '/admin/users' | '/$libraryId/$version'`). */
203
+ type RegisteredFullPath = keyof Register['router']['routesByPath'];
204
+ type IsAppRouteTree<TRoute> = TRoute extends Register['router']['routeTree'] ? true : false;
205
+ type IsRoute<T> = T extends AnyRoute ? true : T extends FileRoutesByPath[keyof FileRoutesByPath] ? true : false;
206
+ type ExtractAllPathsFromFileRoutes<TRoute extends FileRoutesByPath[keyof FileRoutesByPath]['preLoaderRoute'] | AnyRoute> = TRoute['path'];
207
+ type StoryRoutePath<TRoute = undefined> = TRoute extends FileRoutesByPath[keyof FileRoutesByPath] ? ExtractAllPathsFromFileRoutes<TRoute> : keyof FileRoutesByPath | `/${string}`;
208
+ type StoryRouteSearch<TRoute> = IsAppRouteTree<TRoute> extends true ? Record<string, unknown> : TRoute extends FileRoutesByPath[keyof FileRoutesByPath] ? TRoute['preLoaderRoute'] extends {
209
+ types: {
210
+ allSearch: infer A;
211
+ };
212
+ } ? A : never : Record<string, unknown>;
213
+ type StoryRouteFileOptions<TRoute = undefined> = IsRoute<TRoute> extends true ? TRoute extends {
214
+ options: infer O;
215
+ } ? Pick<O, Extract<keyof O, 'loader' | 'beforeLoad' | 'validateSearch' | 'loaderDeps' | 'context' | 'params' | 'head' | 'search' | 'parseParams' | 'context'>> : Pick<RouteOptions<unknown>, 'loader' | 'beforeLoad' | 'validateSearch' | 'loaderDeps' | 'context' | 'params' | 'head' | 'search' | 'parseParams' | 'context'> : Pick<RouteOptions<unknown>, 'loader' | 'beforeLoad' | 'validateSearch' | 'loaderDeps' | 'context' | 'params' | 'head' | 'search' | 'parseParams' | 'context'>;
216
+ type CreateStoryRouteOptions<TRoute = undefined> = StoryRouteFileOptions<TRoute> & {
217
+ path?: StoryRoutePath<TRoute>;
218
+ };
219
+ type StoryRouteOptions<TRoute = undefined> = CreateStoryRouteOptions<TRoute> | (TRoute extends AnyRoute ? TRoute : AnyRoute);
220
+ /**
221
+ * Per-route override options for use inside `RouteTreeOverrides`.
222
+ * Users can override `loader`, `beforeLoad`, etc. for a specific route.
223
+ */
224
+ interface RouteOverrideOptions<TRoute extends FileRoutesByPath[keyof FileRoutesByPath]['preLoaderRoute'] | undefined = undefined> {
225
+ /** Override the route's loader function. */
226
+ loader?: TRoute extends FileRoutesByPath[keyof FileRoutesByPath]['preLoaderRoute'] ? TRoute['options']['loader'] | ((ctx: unknown) => Promise<unknown> | unknown) : (ctx: unknown) => Promise<unknown> | unknown;
227
+ /** Override the route's beforeLoad function. */
228
+ beforeLoad?: TRoute extends FileRoutesByPath[keyof FileRoutesByPath]['preLoaderRoute'] ? TRoute['options']['beforeLoad'] | ((ctx: unknown) => Promise<void> | void) : (ctx: unknown) => Promise<void> | void;
229
+ /** Override the route's search params validation. */
230
+ validateSearch?: TRoute extends FileRoutesByPath[keyof FileRoutesByPath]['preLoaderRoute'] ? TRoute['options']['validateSearch'] | ((search: unknown) => Promise<void> | void) : (search: unknown) => Promise<void> | void;
231
+ /** Override the route's loader dependencies. */
232
+ loaderDeps?: TRoute extends FileRoutesByPath[keyof FileRoutesByPath]['preLoaderRoute'] ? TRoute['options']['loaderDeps'] | string[] : string[];
233
+ /** Override the route's context function. */
234
+ context?: TRoute extends FileRoutesByPath[keyof FileRoutesByPath]['preLoaderRoute'] ? TRoute['options']['context'] | ((ctx: unknown) => Promise<unknown> | unknown) : (ctx: unknown) => Promise<unknown> | unknown;
235
+ }
236
+ /**
237
+ * A map of route overrides keyed by route ID.
238
+ * Each entry can override `loader`, `beforeLoad`, etc. for that route.
239
+ *
240
+ * @example
241
+ * ```ts
242
+ * routeOverrides: {
243
+ * '/_authed': { beforeLoad: () => {} },
244
+ * '/demo/form/simple/$id': {
245
+ * loader: async () => ({ name: 'Mock User' }),
246
+ * },
247
+ * }
248
+ * ```
249
+ */
250
+ type RouteTreeOverrides = Partial<{
251
+ [routePath in keyof FileRoutesByPath]: RouteOverrideOptions<FileRoutesByPath[routePath]['preLoaderRoute']> | undefined;
252
+ }>;
253
+ interface RouterParameters<TRoute = undefined, Path extends TRoute extends AnyRoute ? keyof RoutesByPath<TRoute> : RegisteredFullPath = TRoute extends AnyRoute ? keyof RoutesByPath<TRoute> : keyof FileRoutesByPath> {
254
+ route?: StoryRouteOptions<TRoute>;
255
+ /**
256
+ * Path to resolve the story route against.
257
+ * Constrained to known registered paths in route tree mode, but can be any string in app route mode (since the user may be passing a custom `route` that doesn't exist in the registered tree).
258
+ */
259
+ path?: Path;
260
+ /** URL params to interpolate into the path (e.g. `{ id: '42' }` for `/$id`). */
261
+ params?: ResolveParams<Path>;
262
+ /** Search/query params to append to the URL (e.g. `{ tab: 'details' }`). */
263
+ query?: Partial<StoryRouteSearch<TRoute>>;
264
+ /**
265
+ * Override options for specific routes in the app route tree (route tree mode only).
266
+ *
267
+ * Each key is a route ID (e.g. `'/about'`, `'__root__'`, `'/demo/form/simple/$id'`).
268
+ * Values can override `loader`, `beforeLoad`, etc. for that route.
269
+ *
270
+ * @example
271
+ * ```ts
272
+ * routeOverrides: {
273
+ * '/_authed': { beforeLoad: () => {} },
274
+ * '/demo/form/simple/$id': {
275
+ * loader: async () => ({ name: 'Mock User' }),
276
+ * },
277
+ * }
278
+ * ```
279
+ */
280
+ routeOverrides?: RouteTreeOverrides;
281
+ context?: Record<string, unknown>;
282
+ /**
283
+ *
284
+ */
285
+ useRouterContext?: ({ storyContext }: {
286
+ storyContext: Parameters<Decorator>[1];
287
+ }) => AnyContext;
288
+ }
289
+
290
+ type FrameworkName = CompatibleString<'@storybook/tanstack-react'>;
291
+ type BuilderName = CompatibleString<'@storybook/builder-vite'>;
292
+ type FrameworkOptions = {
293
+ /** Builder options passed through to @storybook/builder-vite. */
294
+ builder?: BuilderOptions;
295
+ };
296
+ type StorybookConfigFramework = {
297
+ framework: FrameworkName | {
298
+ name: FrameworkName;
299
+ options: FrameworkOptions;
300
+ };
301
+ core?: StorybookConfig$1['core'] & {
302
+ builder?: BuilderName | {
303
+ name: BuilderName;
304
+ options: BuilderOptions;
305
+ };
306
+ };
307
+ };
308
+ /** The interface for Storybook configuration in `main.ts` files. */
309
+ type StorybookConfig = Omit<StorybookConfig$1, keyof StorybookConfigFramework> & StorybookConfigFramework;
310
+ /** Path constraint mirroring `RouterParameters`'s second generic. */
311
+ type DefaultStoryPath<TRoute> = TRoute extends AnyRoute ? keyof RoutesByPath<TRoute> : RegisteredFullPath;
312
+ interface TanStackPreviewOptions<TRoute = undefined, Path extends DefaultStoryPath<TRoute> = DefaultStoryPath<TRoute>> {
313
+ /** Router configuration for stories */
314
+ router?: RouterParameters<TRoute, Path>;
315
+ }
316
+ interface TanStackParameters<TRoute = undefined, Path extends DefaultStoryPath<TRoute> = DefaultStoryPath<TRoute>> {
317
+ /** TanStack framework configuration (router integration). */
318
+ tanstack?: TanStackPreviewOptions<TRoute, Path>;
319
+ }
320
+ interface TanStackTypes<TRoute = undefined, Path extends DefaultStoryPath<TRoute> = DefaultStoryPath<TRoute>> {
321
+ parameters: TanStackParameters<TRoute, Path>;
322
+ }
323
+
194
324
  /** Extracts and unions all args types from an array of decorators. */
195
325
  type DecoratorsArgs<TRenderer extends Renderer, Decorators> = UnionToIntersection<Decorators extends DecoratorFunction<TRenderer, infer TArgs> ? TArgs : unknown>;
196
326
  type InferCombinedTypes<T, TArgs, Decorators> = ReactTypes & T & {
197
- args: Simplify<TArgs & Simplify<OmitIndexSignature<DecoratorsArgs<ReactTypes & T, Decorators>>>>;
327
+ args: Simplify<TArgs & Simplify<OmitIndexSignature<DecoratorsArgs<ReactTypes & T, Decorators>>>>;
198
328
  };
199
329
  type Preview<TRoute extends AnyRoute | undefined = undefined> = ProjectAnnotations<ReactTypes & TanStackTypes<TRoute>>;
200
330
  declare function definePreview<TRoute extends AnyRoute | undefined = undefined, const TPath extends DefaultStoryPath<TRoute> = DefaultStoryPath<TRoute>, Addons extends PreviewAddon<never>[] = []>(preview: {
201
- addons?: Addons;
202
- route?: TRoute;
331
+ addons?: Addons;
332
+ route?: TRoute;
203
333
  } & ProjectAnnotations<ReactTypes & TanStackTypes<NoInfer<TRoute>, TPath> & InferTypes<Addons>>): TanStackPreview<InferTypes<Addons>, TRoute>;
204
334
  /**
205
335
  * Metadata to configure stories for a component or a TanStack Route.
@@ -213,29 +343,31 @@ type Meta<TCmpOrArgs = Args> = IsRoute<TCmpOrArgs> extends true ? Omit<Component
213
343
  * When the meta's `component` is a TanStack Route, the story inherits
214
344
  * TanStack parameter types for type-safe params/query/loader configuration.
215
345
  */
216
- type StoryObj<TMetaOrCmpOrArgs = unknown> = [TMetaOrCmpOrArgs] extends [{
217
- component?: infer Component;
218
- }] ? IsRoute<Component> extends true ? StoryAnnotations<ReactRenderer, Args, Partial<Args>> & Partial<TanStackTypes<Component>> : StoryObj$1<TMetaOrCmpOrArgs> & Partial<TanStackTypes> : IsRoute<TMetaOrCmpOrArgs> extends true ? StoryAnnotations<ReactRenderer, Args, Partial<Args>> & Partial<TanStackTypes<TMetaOrCmpOrArgs>> : StoryObj$1<TMetaOrCmpOrArgs> & Partial<TanStackTypes>;
346
+ type StoryObj<TMetaOrCmpOrArgs = unknown> = [TMetaOrCmpOrArgs] extends [
347
+ {
348
+ component?: infer Component;
349
+ }
350
+ ] ? IsRoute<Component> extends true ? StoryAnnotations<ReactRenderer, Args, Partial<Args>> & Partial<TanStackTypes<Component>> : StoryObj$1<TMetaOrCmpOrArgs> & Partial<TanStackTypes> : IsRoute<TMetaOrCmpOrArgs> extends true ? StoryAnnotations<ReactRenderer, Args, Partial<Args>> & Partial<TanStackTypes<TMetaOrCmpOrArgs>> : StoryObj$1<TMetaOrCmpOrArgs> & Partial<TanStackTypes>;
219
351
  interface TanStackPreview<T extends AddonTypes, TRoute extends AnyRoute | undefined = undefined> extends ReactPreview<TanStackTypes<TRoute> & T> {
220
- type<R>(): TanStackPreview<T & R, TRoute>;
221
- meta<TMetaRoute extends AnyRoute, const TPath extends DefaultStoryPath<TMetaRoute> = DefaultStoryPath<TMetaRoute>, TArgs extends Args = Args, Decorators extends DecoratorFunction<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, any> = DecoratorFunction<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, any>, TMetaArgs extends Partial<TArgs & (TanStackTypes<TMetaRoute, TPath> & T)['args']> = Partial<TArgs & (TanStackTypes<TMetaRoute, TPath> & T)['args']>>(meta: {
222
- render?: ArgsStoryFn<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, TArgs & (TanStackTypes<TMetaRoute, TPath> & T)['args']>;
223
- component?: ComponentType<TArgs>;
224
- decorators?: Decorators | Decorators[];
225
- args?: TMetaArgs;
226
- parameters?: TanStackParameters<TMetaRoute, TPath> & Parameters & (ReactTypes & T)['parameters'];
227
- } & Omit<ComponentAnnotations<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, TArgs>, 'decorators' | 'component' | 'args' | 'render' | 'parameters'>): ReactMeta<InferCombinedTypes<TanStackTypes<TMetaRoute, TPath> & T, TArgs, Decorators>, Omit<ComponentAnnotations<InferCombinedTypes<TanStackTypes<TMetaRoute, TPath> & T, TArgs, Decorators>>, 'args'> & {
228
- args: Partial<TArgs> extends TMetaArgs ? {} : TMetaArgs;
229
- }>;
230
- meta<const TPath extends DefaultStoryPath<TRoute> = DefaultStoryPath<TRoute>, TArgs extends Args = Args, Decorators extends DecoratorFunction<ReactTypes & TanStackTypes<TRoute, TPath> & T, any> = DecoratorFunction<ReactTypes & TanStackTypes<TRoute, TPath> & T, any>, TMetaArgs extends Partial<TArgs & (TanStackTypes<TRoute, TPath> & T)['args']> = Partial<TArgs & (TanStackTypes<TRoute, TPath> & T)['args']>>(meta: {
231
- render?: ArgsStoryFn<ReactTypes & TanStackTypes<TRoute, TPath> & T, TArgs & (TanStackTypes<TRoute, TPath> & T)['args']>;
232
- component?: ComponentType<TArgs>;
233
- decorators?: Decorators | Decorators[];
234
- args?: TMetaArgs;
235
- parameters?: TanStackParameters<TRoute, TPath> & Parameters & (ReactTypes & T)['parameters'];
236
- } & Omit<ComponentAnnotations<ReactTypes & TanStackTypes<TRoute, TPath> & T, TArgs>, 'decorators' | 'component' | 'args' | 'render' | 'parameters'>): ReactMeta<InferCombinedTypes<TanStackTypes<TRoute, TPath> & T, TArgs, Decorators>, Omit<ComponentAnnotations<InferCombinedTypes<TanStackTypes<TRoute, TPath> & T, TArgs, Decorators>>, 'args'> & {
237
- args: Partial<TArgs> extends TMetaArgs ? {} : TMetaArgs;
238
- }>;
352
+ type<R>(): TanStackPreview<T & R, TRoute>;
353
+ meta<TMetaRoute extends AnyRoute, const TPath extends DefaultStoryPath<TMetaRoute> = DefaultStoryPath<TMetaRoute>, TArgs extends Args = Args, Decorators extends DecoratorFunction<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, any> = DecoratorFunction<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, any>, TMetaArgs extends Partial<TArgs & (TanStackTypes<TMetaRoute, TPath> & T)['args']> = Partial<TArgs & (TanStackTypes<TMetaRoute, TPath> & T)['args']>>(meta: {
354
+ render?: ArgsStoryFn<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, TArgs & (TanStackTypes<TMetaRoute, TPath> & T)['args']>;
355
+ component?: ComponentType<TArgs>;
356
+ decorators?: Decorators | Decorators[];
357
+ args?: TMetaArgs;
358
+ parameters?: TanStackParameters<TMetaRoute, TPath> & Parameters$1 & (ReactTypes & T)['parameters'];
359
+ } & Omit<ComponentAnnotations<ReactTypes & TanStackTypes<TMetaRoute, TPath> & T, TArgs>, 'decorators' | 'component' | 'args' | 'render' | 'parameters'>): ReactMeta<InferCombinedTypes<TanStackTypes<TMetaRoute, TPath> & T, TArgs, Decorators>, Omit<ComponentAnnotations<InferCombinedTypes<TanStackTypes<TMetaRoute, TPath> & T, TArgs, Decorators>>, 'args'> & {
360
+ args: Partial<TArgs> extends TMetaArgs ? {} : TMetaArgs;
361
+ }>;
362
+ meta<const TPath extends DefaultStoryPath<TRoute> = DefaultStoryPath<TRoute>, TArgs extends Args = Args, Decorators extends DecoratorFunction<ReactTypes & TanStackTypes<TRoute, TPath> & T, any> = DecoratorFunction<ReactTypes & TanStackTypes<TRoute, TPath> & T, any>, TMetaArgs extends Partial<TArgs & (TanStackTypes<TRoute, TPath> & T)['args']> = Partial<TArgs & (TanStackTypes<TRoute, TPath> & T)['args']>>(meta: {
363
+ render?: ArgsStoryFn<ReactTypes & TanStackTypes<TRoute, TPath> & T, TArgs & (TanStackTypes<TRoute, TPath> & T)['args']>;
364
+ component?: ComponentType<TArgs>;
365
+ decorators?: Decorators | Decorators[];
366
+ args?: TMetaArgs;
367
+ parameters?: TanStackParameters<TRoute, TPath> & Parameters$1 & (ReactTypes & T)['parameters'];
368
+ } & Omit<ComponentAnnotations<ReactTypes & TanStackTypes<TRoute, TPath> & T, TArgs>, 'decorators' | 'component' | 'args' | 'render' | 'parameters'>): ReactMeta<InferCombinedTypes<TanStackTypes<TRoute, TPath> & T, TArgs, Decorators>, Omit<ComponentAnnotations<InferCombinedTypes<TanStackTypes<TRoute, TPath> & T, TArgs, Decorators>>, 'args'> & {
369
+ args: Partial<TArgs> extends TMetaArgs ? {} : TMetaArgs;
370
+ }>;
239
371
  }
240
- //#endregion
241
- export { type CreateStoryRouteOptions, DefaultStoryPath, FrameworkOptions, type IsRoute, Meta, Preview, type RouterParameters, StoryObj, type StoryRouteFileOptions, type StoryRouteOptions, StorybookConfig, TanStackParameters, TanStackPreview, TanStackPreviewOptions, TanStackTypes, definePreview };
372
+
373
+ export { type CreateStoryRouteOptions, type DefaultStoryPath, type FrameworkOptions, type IsRoute, type Meta, type Preview, type RouterParameters, type StoryObj, type StoryRouteFileOptions, type StoryRouteOptions, type StorybookConfig, type TanStackParameters, type TanStackPreview, type TanStackPreviewOptions, type TanStackTypes, definePreview };
@@ -1,6 +1,28 @@
1
- import { r as StorybookConfig } from "../chunk-B2-fTWlC.js";
1
+ import { CompatibleString } from 'storybook/internal/types';
2
+ import { BuilderOptions } from '@storybook/builder-vite';
3
+ import { StorybookConfig as StorybookConfig$1 } from '@storybook/react-vite';
4
+
5
+ type FrameworkName = CompatibleString<'@storybook/tanstack-react'>;
6
+ type BuilderName = CompatibleString<'@storybook/builder-vite'>;
7
+ type FrameworkOptions = {
8
+ /** Builder options passed through to @storybook/builder-vite. */
9
+ builder?: BuilderOptions;
10
+ };
11
+ type StorybookConfigFramework = {
12
+ framework: FrameworkName | {
13
+ name: FrameworkName;
14
+ options: FrameworkOptions;
15
+ };
16
+ core?: StorybookConfig$1['core'] & {
17
+ builder?: BuilderName | {
18
+ name: BuilderName;
19
+ options: BuilderOptions;
20
+ };
21
+ };
22
+ };
23
+ /** The interface for Storybook configuration in `main.ts` files. */
24
+ type StorybookConfig = Omit<StorybookConfig$1, keyof StorybookConfigFramework> & StorybookConfigFramework;
2
25
 
3
- //#region code/frameworks/tanstack-react/.dts-emit/code/frameworks/tanstack-react/src/node/index.d.ts
4
26
  declare function defineMain(config: StorybookConfig): StorybookConfig;
5
- //#endregion
6
- export { type StorybookConfig, defineMain };
27
+
28
+ export { type StorybookConfig, defineMain };
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_2xpfz4ivcgx from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_2xpfz4ivcgx from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_2xpfz4ivcgx from "node:module";
1
+ import CJS_COMPAT_NODE_URL_cvzf0vxjog5 from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_cvzf0vxjog5 from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_cvzf0vxjog5 from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_2xpfz4ivcgx.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_2xpfz4ivcgx.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_2xpfz4ivcgx.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_cvzf0vxjog5.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_cvzf0vxjog5.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_cvzf0vxjog5.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
package/dist/preset.d.ts CHANGED
@@ -1,10 +1,9 @@
1
- import { PresetProperty } from "storybook/internal/types";
2
- import { StorybookConfigVite } from "@storybook/builder-vite";
1
+ import { PresetProperty } from 'storybook/internal/types';
2
+ import { StorybookConfigVite } from '@storybook/builder-vite';
3
3
 
4
- //#region code/frameworks/tanstack-react/.dts-emit/code/frameworks/tanstack-react/src/preset.d.ts
5
4
  declare const core: PresetProperty<'core'>;
6
5
  declare const previewAnnotations: PresetProperty<'previewAnnotations'>;
7
6
  declare const optimizeViteDeps: string[];
8
7
  declare const viteFinal: StorybookConfigVite['viteFinal'];
9
- //#endregion
10
- export { core, optimizeViteDeps, previewAnnotations, viteFinal };
8
+
9
+ export { core, optimizeViteDeps, previewAnnotations, viteFinal };
package/dist/preset.js CHANGED
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_2xpfz4ivcgx from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_2xpfz4ivcgx from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_2xpfz4ivcgx from "node:module";
1
+ import CJS_COMPAT_NODE_URL_cvzf0vxjog5 from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_cvzf0vxjog5 from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_cvzf0vxjog5 from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_2xpfz4ivcgx.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_2xpfz4ivcgx.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_2xpfz4ivcgx.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_cvzf0vxjog5.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_cvzf0vxjog5.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_cvzf0vxjog5.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration