vite-plugin-storybook-nextjs 0.0.13--canary.8.d70ae00.0 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/index.cjs +934 -0
  2. package/dist/index.d.cts +12 -0
  3. package/dist/index.js +61 -90
  4. package/dist/mocks/storybook.global.cjs +69 -0
  5. package/dist/mocks/storybook.global.d.cts +2 -0
  6. package/dist/mocks/storybook.global.js +40 -17
  7. package/dist/plugins/next-image/alias/image-context.cjs +8 -0
  8. package/dist/plugins/next-image/alias/image-context.d.cts +13 -0
  9. package/dist/plugins/next-image/alias/image-default-loader.cjs +40 -0
  10. package/dist/plugins/next-image/alias/image-default-loader.d.cts +5 -0
  11. package/dist/plugins/next-image/alias/next-image.cjs +53 -0
  12. package/dist/plugins/next-image/alias/next-image.d.cts +30 -0
  13. package/dist/plugins/next-image/alias/next-image.d.ts +1 -1
  14. package/dist/plugins/next-image/alias/next-legacy-image.cjs +27 -0
  15. package/dist/plugins/next-image/alias/next-legacy-image.d.cts +6 -0
  16. package/dist/plugins/next-mocks/alias/cache/index.d.ts +16 -0
  17. package/dist/plugins/next-mocks/alias/cache/index.js +18 -0
  18. package/dist/{headers → plugins/next-mocks/alias/headers}/cookies.d.cts +1 -1
  19. package/dist/plugins/next-mocks/alias/headers/cookies.d.ts +14 -0
  20. package/dist/plugins/next-mocks/alias/headers/cookies.js +72 -0
  21. package/dist/plugins/next-mocks/alias/headers/headers.d.ts +21 -0
  22. package/dist/plugins/next-mocks/alias/headers/headers.js +38 -0
  23. package/dist/plugins/next-mocks/alias/headers/index.d.ts +11 -0
  24. package/dist/plugins/next-mocks/alias/headers/index.js +70 -0
  25. package/dist/plugins/next-mocks/alias/navigation/index.d.ts +38 -0
  26. package/dist/plugins/next-mocks/alias/navigation/index.js +74 -0
  27. package/dist/plugins/next-mocks/alias/router/index.d.ts +45 -0
  28. package/dist/plugins/next-mocks/alias/router/index.js +108 -0
  29. package/dist/plugins/next-mocks/alias/rsc/server-only.d.ts +3 -0
  30. package/dist/plugins/next-mocks/alias/rsc/server-only.js +4 -0
  31. package/package.json +21 -17
  32. /package/dist/{cache → plugins/next-mocks/alias/cache}/index.cjs +0 -0
  33. /package/dist/{cache → plugins/next-mocks/alias/cache}/index.d.cts +0 -0
  34. /package/dist/{headers → plugins/next-mocks/alias/headers}/cookies.cjs +0 -0
  35. /package/dist/{headers → plugins/next-mocks/alias/headers}/headers.cjs +0 -0
  36. /package/dist/{headers → plugins/next-mocks/alias/headers}/headers.d.cts +0 -0
  37. /package/dist/{headers → plugins/next-mocks/alias/headers}/index.cjs +0 -0
  38. /package/dist/{headers → plugins/next-mocks/alias/headers}/index.d.cts +0 -0
  39. /package/dist/{navigation → plugins/next-mocks/alias/navigation}/index.cjs +0 -0
  40. /package/dist/{navigation → plugins/next-mocks/alias/navigation}/index.d.cts +0 -0
  41. /package/dist/{router → plugins/next-mocks/alias/router}/index.cjs +0 -0
  42. /package/dist/{router → plugins/next-mocks/alias/router}/index.d.cts +0 -0
  43. /package/dist/{rsc → plugins/next-mocks/alias/rsc}/server-only.cjs +0 -0
  44. /package/dist/{rsc → plugins/next-mocks/alias/rsc}/server-only.d.cts +0 -0
@@ -0,0 +1,18 @@
1
+ import { fn } from '@storybook/test';
2
+ import { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache.js';
3
+ export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache.js';
4
+ import { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store.js';
5
+ export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store.js';
6
+
7
+ // src/plugins/next-mocks/alias/cache/index.ts
8
+ var revalidatePath = fn().mockName("next/cache::revalidatePath");
9
+ var revalidateTag = fn().mockName("next/cache::revalidateTag");
10
+ var cacheExports = {
11
+ unstable_cache,
12
+ revalidateTag,
13
+ revalidatePath,
14
+ unstable_noStore
15
+ };
16
+ var cache_default = cacheExports;
17
+
18
+ export { cache_default as default, revalidatePath, revalidateTag };
@@ -4,7 +4,7 @@ import { RequestCookies } from 'next/dist/compiled/@edge-runtime/cookies/index.j
4
4
 
5
5
  declare class RequestCookiesMock extends RequestCookies {
6
6
  get: vitest.Mock<[name: string] | [next_dist_compiled__edge_runtime_cookies.RequestCookie], next_dist_compiled__edge_runtime_cookies.RequestCookie | undefined>;
7
- getAll: vitest.Mock<[next_dist_compiled__edge_runtime_cookies.RequestCookie] | [name: string] | [], next_dist_compiled__edge_runtime_cookies.RequestCookie[]>;
7
+ getAll: vitest.Mock<[] | [next_dist_compiled__edge_runtime_cookies.RequestCookie] | [name: string], next_dist_compiled__edge_runtime_cookies.RequestCookie[]>;
8
8
  has: vitest.Mock<[name: string], boolean>;
9
9
  set: vitest.Mock<[key: string, value: string] | [options: next_dist_compiled__edge_runtime_cookies.RequestCookie], this>;
10
10
  delete: vitest.Mock<[names: string | string[]], boolean | boolean[]>;
@@ -0,0 +1,14 @@
1
+ import * as vitest from 'vitest';
2
+ import * as next_dist_compiled__edge_runtime_cookies from 'next/dist/compiled/@edge-runtime/cookies';
3
+ import { RequestCookies } from 'next/dist/compiled/@edge-runtime/cookies/index.js';
4
+
5
+ declare class RequestCookiesMock extends RequestCookies {
6
+ get: vitest.Mock<[name: string] | [next_dist_compiled__edge_runtime_cookies.RequestCookie], next_dist_compiled__edge_runtime_cookies.RequestCookie | undefined>;
7
+ getAll: vitest.Mock<[] | [next_dist_compiled__edge_runtime_cookies.RequestCookie] | [name: string], next_dist_compiled__edge_runtime_cookies.RequestCookie[]>;
8
+ has: vitest.Mock<[name: string], boolean>;
9
+ set: vitest.Mock<[key: string, value: string] | [options: next_dist_compiled__edge_runtime_cookies.RequestCookie], this>;
10
+ delete: vitest.Mock<[names: string | string[]], boolean | boolean[]>;
11
+ }
12
+ declare const cookies: vitest.Mock<[], RequestCookiesMock>;
13
+
14
+ export { cookies };
@@ -0,0 +1,72 @@
1
+ import { fn } from '@storybook/test';
2
+ import { RequestCookies } from 'next/dist/compiled/@edge-runtime/cookies/index.js';
3
+ import * as originalHeaders from 'next/dist/client/components/headers.js';
4
+ import { HeadersAdapter } from 'next/dist/server/web/spec-extension/adapters/headers.js';
5
+
6
+ // src/plugins/next-mocks/alias/headers/cookies.ts
7
+ var HeadersAdapterMock = class extends HeadersAdapter {
8
+ constructor() {
9
+ super({});
10
+ this.append = fn(super.append.bind(this)).mockName(
11
+ "next/headers::headers().append"
12
+ );
13
+ this.delete = fn(super.delete.bind(this)).mockName(
14
+ "next/headers::headers().delete"
15
+ );
16
+ this.get = fn(super.get.bind(this)).mockName("next/headers::headers().get");
17
+ this.has = fn(super.has.bind(this)).mockName("next/headers::headers().has");
18
+ this.set = fn(super.set.bind(this)).mockName("next/headers::headers().set");
19
+ this.forEach = fn(super.forEach.bind(this)).mockName(
20
+ "next/headers::headers().forEach"
21
+ );
22
+ this.entries = fn(super.entries.bind(this)).mockName(
23
+ "next/headers::headers().entries"
24
+ );
25
+ this.keys = fn(super.keys.bind(this)).mockName("next/headers::headers().keys");
26
+ this.values = fn(super.values.bind(this)).mockName(
27
+ "next/headers::headers().values"
28
+ );
29
+ }
30
+ };
31
+ var headersAdapterMock;
32
+ var headers = () => {
33
+ if (!headersAdapterMock) headersAdapterMock = new HeadersAdapterMock();
34
+ return headersAdapterMock;
35
+ };
36
+ headers.mockRestore = () => {
37
+ headersAdapterMock = new HeadersAdapterMock();
38
+ };
39
+
40
+ // src/plugins/next-mocks/alias/headers/index.ts
41
+ fn(originalHeaders.draftMode).mockName("draftMode");
42
+
43
+ // src/plugins/next-mocks/alias/headers/cookies.ts
44
+ var RequestCookiesMock = class extends RequestCookies {
45
+ constructor() {
46
+ super(...arguments);
47
+ this.get = fn(super.get.bind(this)).mockName("next/headers::cookies().get");
48
+ this.getAll = fn(super.getAll.bind(this)).mockName(
49
+ "next/headers::cookies().getAll"
50
+ );
51
+ this.has = fn(super.has.bind(this)).mockName("next/headers::cookies().has");
52
+ this.set = fn(super.set.bind(this)).mockName("next/headers::cookies().set");
53
+ this.delete = fn(super.delete.bind(this)).mockName(
54
+ "next/headers::cookies().delete"
55
+ );
56
+ }
57
+ };
58
+ var requestCookiesMock;
59
+ var cookies = fn(() => {
60
+ if (!requestCookiesMock) {
61
+ requestCookiesMock = new RequestCookiesMock(headers());
62
+ }
63
+ return requestCookiesMock;
64
+ }).mockName("next/headers::cookies()");
65
+ var originalRestore = cookies.mockRestore.bind(null);
66
+ cookies.mockRestore = () => {
67
+ originalRestore();
68
+ headers.mockRestore();
69
+ requestCookiesMock = new RequestCookiesMock(headers());
70
+ };
71
+
72
+ export { cookies };
@@ -0,0 +1,21 @@
1
+ import * as vitest from 'vitest';
2
+ import { HeadersAdapter } from 'next/dist/server/web/spec-extension/adapters/headers.js';
3
+
4
+ declare class HeadersAdapterMock extends HeadersAdapter {
5
+ constructor();
6
+ append: vitest.Mock<[name: string, value: string], void>;
7
+ delete: vitest.Mock<[name: string], void>;
8
+ get: vitest.Mock<[name: string], string | null>;
9
+ has: vitest.Mock<[name: string], boolean>;
10
+ set: vitest.Mock<[name: string, value: string], void>;
11
+ forEach: vitest.Mock<[callbackfn: (value: string, name: string, parent: Headers) => void, thisArg?: any], void>;
12
+ entries: vitest.Mock<[], IterableIterator<[string, string]>>;
13
+ keys: vitest.Mock<[], IterableIterator<string>>;
14
+ values: vitest.Mock<[], IterableIterator<string>>;
15
+ }
16
+ declare const headers: {
17
+ (): HeadersAdapterMock;
18
+ mockRestore(): void;
19
+ };
20
+
21
+ export { headers };
@@ -0,0 +1,38 @@
1
+ import { fn } from '@storybook/test';
2
+ import { HeadersAdapter } from 'next/dist/server/web/spec-extension/adapters/headers.js';
3
+
4
+ // src/plugins/next-mocks/alias/headers/headers.ts
5
+ var HeadersAdapterMock = class extends HeadersAdapter {
6
+ constructor() {
7
+ super({});
8
+ this.append = fn(super.append.bind(this)).mockName(
9
+ "next/headers::headers().append"
10
+ );
11
+ this.delete = fn(super.delete.bind(this)).mockName(
12
+ "next/headers::headers().delete"
13
+ );
14
+ this.get = fn(super.get.bind(this)).mockName("next/headers::headers().get");
15
+ this.has = fn(super.has.bind(this)).mockName("next/headers::headers().has");
16
+ this.set = fn(super.set.bind(this)).mockName("next/headers::headers().set");
17
+ this.forEach = fn(super.forEach.bind(this)).mockName(
18
+ "next/headers::headers().forEach"
19
+ );
20
+ this.entries = fn(super.entries.bind(this)).mockName(
21
+ "next/headers::headers().entries"
22
+ );
23
+ this.keys = fn(super.keys.bind(this)).mockName("next/headers::headers().keys");
24
+ this.values = fn(super.values.bind(this)).mockName(
25
+ "next/headers::headers().values"
26
+ );
27
+ }
28
+ };
29
+ var headersAdapterMock;
30
+ var headers = () => {
31
+ if (!headersAdapterMock) headersAdapterMock = new HeadersAdapterMock();
32
+ return headersAdapterMock;
33
+ };
34
+ headers.mockRestore = () => {
35
+ headersAdapterMock = new HeadersAdapterMock();
36
+ };
37
+
38
+ export { headers };
@@ -0,0 +1,11 @@
1
+ import * as vitest from 'vitest';
2
+ import * as next_dist_client_components_draft_mode from 'next/dist/client/components/draft-mode';
3
+ export { headers } from './headers.js';
4
+ export { cookies } from './cookies.js';
5
+ import 'next/dist/server/web/spec-extension/adapters/headers.js';
6
+ import 'next/dist/compiled/@edge-runtime/cookies';
7
+ import 'next/dist/compiled/@edge-runtime/cookies/index.js';
8
+
9
+ declare const draftMode: vitest.Mock<[], next_dist_client_components_draft_mode.DraftMode>;
10
+
11
+ export { draftMode };
@@ -0,0 +1,70 @@
1
+ import { fn } from '@storybook/test';
2
+ import * as originalHeaders from 'next/dist/client/components/headers.js';
3
+ import { HeadersAdapter } from 'next/dist/server/web/spec-extension/adapters/headers.js';
4
+ import { RequestCookies } from 'next/dist/compiled/@edge-runtime/cookies/index.js';
5
+
6
+ // src/plugins/next-mocks/alias/headers/index.ts
7
+ var HeadersAdapterMock = class extends HeadersAdapter {
8
+ constructor() {
9
+ super({});
10
+ this.append = fn(super.append.bind(this)).mockName(
11
+ "next/headers::headers().append"
12
+ );
13
+ this.delete = fn(super.delete.bind(this)).mockName(
14
+ "next/headers::headers().delete"
15
+ );
16
+ this.get = fn(super.get.bind(this)).mockName("next/headers::headers().get");
17
+ this.has = fn(super.has.bind(this)).mockName("next/headers::headers().has");
18
+ this.set = fn(super.set.bind(this)).mockName("next/headers::headers().set");
19
+ this.forEach = fn(super.forEach.bind(this)).mockName(
20
+ "next/headers::headers().forEach"
21
+ );
22
+ this.entries = fn(super.entries.bind(this)).mockName(
23
+ "next/headers::headers().entries"
24
+ );
25
+ this.keys = fn(super.keys.bind(this)).mockName("next/headers::headers().keys");
26
+ this.values = fn(super.values.bind(this)).mockName(
27
+ "next/headers::headers().values"
28
+ );
29
+ }
30
+ };
31
+ var headersAdapterMock;
32
+ var headers = () => {
33
+ if (!headersAdapterMock) headersAdapterMock = new HeadersAdapterMock();
34
+ return headersAdapterMock;
35
+ };
36
+ headers.mockRestore = () => {
37
+ headersAdapterMock = new HeadersAdapterMock();
38
+ };
39
+ var RequestCookiesMock = class extends RequestCookies {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.get = fn(super.get.bind(this)).mockName("next/headers::cookies().get");
43
+ this.getAll = fn(super.getAll.bind(this)).mockName(
44
+ "next/headers::cookies().getAll"
45
+ );
46
+ this.has = fn(super.has.bind(this)).mockName("next/headers::cookies().has");
47
+ this.set = fn(super.set.bind(this)).mockName("next/headers::cookies().set");
48
+ this.delete = fn(super.delete.bind(this)).mockName(
49
+ "next/headers::cookies().delete"
50
+ );
51
+ }
52
+ };
53
+ var requestCookiesMock;
54
+ var cookies = fn(() => {
55
+ if (!requestCookiesMock) {
56
+ requestCookiesMock = new RequestCookiesMock(headers());
57
+ }
58
+ return requestCookiesMock;
59
+ }).mockName("next/headers::cookies()");
60
+ var originalRestore = cookies.mockRestore.bind(null);
61
+ cookies.mockRestore = () => {
62
+ originalRestore();
63
+ headers.mockRestore();
64
+ requestCookiesMock = new RequestCookiesMock(headers());
65
+ };
66
+
67
+ // src/plugins/next-mocks/alias/headers/index.ts
68
+ var draftMode2 = fn(originalHeaders.draftMode).mockName("draftMode");
69
+
70
+ export { cookies, draftMode2 as draftMode, headers };
@@ -0,0 +1,38 @@
1
+ import * as react from 'react';
2
+ import * as next_dist_shared_lib_app_router_context_shared_runtime from 'next/dist/shared/lib/app-router-context.shared-runtime';
3
+ import { Mock } from '@storybook/test';
4
+ import * as actual from 'next/dist/client/components/navigation.js';
5
+ export * from 'next/dist/client/components/navigation.js';
6
+
7
+ declare const createNavigation: (overrides?: Record<string, (...params: unknown[]) => unknown>) => {
8
+ push: Mock;
9
+ replace: Mock;
10
+ forward: Mock;
11
+ back: Mock;
12
+ prefetch: Mock;
13
+ refresh: Mock;
14
+ };
15
+ declare const getRouter: () => {
16
+ push: Mock;
17
+ replace: Mock;
18
+ forward: Mock;
19
+ back: Mock;
20
+ prefetch: Mock;
21
+ refresh: Mock;
22
+ };
23
+
24
+ declare const redirect: Mock<[url: string, type?: actual.RedirectType | undefined], never>;
25
+ declare const permanentRedirect: Mock<[url: string, type?: actual.RedirectType | undefined], never>;
26
+ declare const useSearchParams: Mock<[], actual.ReadonlyURLSearchParams>;
27
+ declare const usePathname: Mock<[], string>;
28
+ declare const useSelectedLayoutSegment: Mock<[parallelRouteKey?: string | undefined], string | null>;
29
+ declare const useSelectedLayoutSegments: Mock<[parallelRouteKey?: string | undefined], string[]>;
30
+ declare const useRouter: Mock<[], next_dist_shared_lib_app_router_context_shared_runtime.AppRouterInstance>;
31
+ declare const useServerInsertedHTML: Mock<[callback: () => react.ReactNode], void>;
32
+ declare const notFound: Mock<[], never>;
33
+ interface Params {
34
+ [key: string]: string | string[];
35
+ }
36
+ declare const useParams: Mock<[], Params>;
37
+
38
+ export { createNavigation, getRouter, notFound, permanentRedirect, redirect, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
@@ -0,0 +1,74 @@
1
+ import { fn } from '@storybook/test';
2
+ import * as actual from 'next/dist/client/components/navigation.js';
3
+ export * from 'next/dist/client/components/navigation.js';
4
+ import { RedirectStatusCode } from 'next/dist/client/components/redirect-status-code.js';
5
+ import { getRedirectError } from 'next/dist/client/components/redirect.js';
6
+ import { NextjsRouterMocksNotAvailable } from 'storybook/internal/preview-errors';
7
+
8
+ // src/plugins/next-mocks/alias/navigation/index.ts
9
+ var navigationAPI;
10
+ var createNavigation = (overrides) => {
11
+ const navigationActions = {
12
+ push: fn().mockName("next/navigation::useRouter().push"),
13
+ replace: fn().mockName("next/navigation::useRouter().replace"),
14
+ forward: fn().mockName("next/navigation::useRouter().forward"),
15
+ back: fn().mockName("next/navigation::useRouter().back"),
16
+ prefetch: fn().mockName("next/navigation::useRouter().prefetch"),
17
+ refresh: fn().mockName("next/navigation::useRouter().refresh")
18
+ };
19
+ if (overrides) {
20
+ for (const key of Object.keys(navigationActions)) {
21
+ if (key in overrides) {
22
+ navigationActions[key] = fn((...args) => {
23
+ return overrides[key](...args);
24
+ }).mockName(`useRouter().${key}`);
25
+ }
26
+ }
27
+ }
28
+ navigationAPI = navigationActions;
29
+ return navigationAPI;
30
+ };
31
+ var getRouter = () => {
32
+ if (!navigationAPI) {
33
+ throw new NextjsRouterMocksNotAvailable({
34
+ importType: "next/navigation"
35
+ });
36
+ }
37
+ return navigationAPI;
38
+ };
39
+ var redirect = fn(
40
+ (url, type = actual.RedirectType.push) => {
41
+ throw getRedirectError(url, type, RedirectStatusCode.SeeOther);
42
+ }
43
+ ).mockName("next/navigation::redirect");
44
+ var permanentRedirect = fn(
45
+ (url, type = actual.RedirectType.push) => {
46
+ throw getRedirectError(url, type, RedirectStatusCode.SeeOther);
47
+ }
48
+ ).mockName("next/navigation::permanentRedirect");
49
+ var useSearchParams2 = fn(actual.useSearchParams).mockName(
50
+ "next/navigation::useSearchParams"
51
+ );
52
+ var usePathname2 = fn(actual.usePathname).mockName(
53
+ "next/navigation::usePathname"
54
+ );
55
+ var useSelectedLayoutSegment2 = fn(
56
+ actual.useSelectedLayoutSegment
57
+ ).mockName("next/navigation::useSelectedLayoutSegment");
58
+ var useSelectedLayoutSegments2 = fn(
59
+ actual.useSelectedLayoutSegments
60
+ ).mockName("next/navigation::useSelectedLayoutSegments");
61
+ var useRouter2 = fn(actual.useRouter).mockName(
62
+ "next/navigation::useRouter"
63
+ );
64
+ var useServerInsertedHTML2 = fn(actual.useServerInsertedHTML).mockName(
65
+ "next/navigation::useServerInsertedHTML"
66
+ );
67
+ var notFound2 = fn(actual.notFound).mockName(
68
+ "next/navigation::notFound"
69
+ );
70
+ var useParams2 = fn(actual.useParams).mockName(
71
+ "next/navigation::useParams"
72
+ );
73
+
74
+ export { createNavigation, getRouter, notFound2 as notFound, permanentRedirect, redirect, useParams2 as useParams, usePathname2 as usePathname, useRouter2 as useRouter, useSearchParams2 as useSearchParams, useSelectedLayoutSegment2 as useSelectedLayoutSegment, useSelectedLayoutSegments2 as useSelectedLayoutSegments, useServerInsertedHTML2 as useServerInsertedHTML };
@@ -0,0 +1,45 @@
1
+ import * as react from 'react';
2
+ import * as next_dist_client_with_router from 'next/dist/client/with-router';
3
+ import * as next_types from 'next/types';
4
+ import { Mock } from '@storybook/test';
5
+ import * as originalRouter from 'next/dist/client/router.js';
6
+ import originalRouter__default from 'next/dist/client/router.js';
7
+ export { default } from 'next/dist/client/router.js';
8
+ import { NextRouter } from 'next/router.js';
9
+ export * from 'next/dist/client/router';
10
+
11
+ /**
12
+ * Creates a next/router router API mock. Used internally.
13
+ * @ignore
14
+ * @internal
15
+ * */
16
+ declare const createRouter: (overrides: Partial<NextRouter>) => originalRouter.NextRouter;
17
+ declare const getRouter: () => {
18
+ push: Mock;
19
+ replace: Mock;
20
+ reload: Mock;
21
+ back: Mock;
22
+ forward: Mock;
23
+ prefetch: Mock;
24
+ beforePopState: Mock;
25
+ events: {
26
+ on: Mock;
27
+ off: Mock;
28
+ emit: Mock;
29
+ };
30
+ } & {
31
+ route: string;
32
+ asPath: string;
33
+ basePath: string;
34
+ pathname: string;
35
+ query: {};
36
+ isFallback: boolean;
37
+ isLocaleDomain: boolean;
38
+ isReady: boolean;
39
+ isPreview: boolean;
40
+ };
41
+
42
+ declare const useRouter: Mock<[], originalRouter.NextRouter>;
43
+ declare const withRouter: Mock<[ComposedComponent: next_types.NextComponentType<next_types.NextPageContext, any, next_dist_client_with_router.WithRouterProps>], react.ComponentType<next_dist_client_with_router.ExcludeRouterProps<next_dist_client_with_router.WithRouterProps>>>;
44
+
45
+ export { createRouter, getRouter, useRouter, withRouter };
@@ -0,0 +1,108 @@
1
+ import { fn } from '@storybook/test';
2
+ import * as singletonRouter from 'next/dist/client/router.js';
3
+ import singletonRouter__default from 'next/dist/client/router.js';
4
+ import { NextjsRouterMocksNotAvailable } from 'storybook/internal/preview-errors';
5
+ export * from 'next/dist/client/router';
6
+
7
+ // src/plugins/next-mocks/alias/router/index.ts
8
+ var defaultRouterState = {
9
+ route: "/",
10
+ asPath: "/",
11
+ basePath: "/",
12
+ pathname: "/",
13
+ query: {},
14
+ isFallback: false,
15
+ isLocaleDomain: false,
16
+ isReady: true,
17
+ isPreview: false
18
+ };
19
+ var routerAPI;
20
+ var createRouter = (overrides) => {
21
+ const routerActions = {
22
+ push: fn((..._args) => {
23
+ return Promise.resolve(true);
24
+ }).mockName("next/router::useRouter().push"),
25
+ replace: fn((..._args) => {
26
+ return Promise.resolve(true);
27
+ }).mockName("next/router::useRouter().replace"),
28
+ reload: fn((..._args) => {
29
+ }).mockName(
30
+ "next/router::useRouter().reload"
31
+ ),
32
+ back: fn((..._args) => {
33
+ }).mockName(
34
+ "next/router::useRouter().back"
35
+ ),
36
+ forward: fn(() => {
37
+ }).mockName("next/router::useRouter().forward"),
38
+ prefetch: fn((..._args) => {
39
+ return Promise.resolve();
40
+ }).mockName("next/router::useRouter().prefetch"),
41
+ beforePopState: fn((..._args) => {
42
+ }).mockName(
43
+ "next/router::useRouter().beforePopState"
44
+ )
45
+ };
46
+ const routerEvents = {
47
+ on: fn((..._args) => {
48
+ }).mockName(
49
+ "next/router::useRouter().events.on"
50
+ ),
51
+ off: fn((..._args) => {
52
+ }).mockName(
53
+ "next/router::useRouter().events.off"
54
+ ),
55
+ emit: fn((..._args) => {
56
+ }).mockName(
57
+ "next/router::useRouter().events.emit"
58
+ )
59
+ };
60
+ if (overrides) {
61
+ for (const key of Object.keys(routerActions)) {
62
+ if (key in overrides) {
63
+ routerActions[key] = fn((...args) => {
64
+ return overrides[key](...args);
65
+ }).mockName(`useRouter().${key}`);
66
+ }
67
+ }
68
+ }
69
+ if (overrides?.events) {
70
+ for (const key of Object.keys(routerEvents)) {
71
+ if (key in routerEvents) {
72
+ routerEvents[key] = fn((...args) => {
73
+ return overrides.events[key](...args);
74
+ }).mockName(`useRouter().events.${key}`);
75
+ }
76
+ }
77
+ }
78
+ routerAPI = {
79
+ ...defaultRouterState,
80
+ ...overrides,
81
+ ...routerActions,
82
+ // @ts-expect-error TODO improve typings
83
+ events: routerEvents
84
+ };
85
+ singletonRouter__default.router = routerAPI;
86
+ for (const cb of singletonRouter__default.readyCallbacks) {
87
+ cb();
88
+ }
89
+ singletonRouter__default.readyCallbacks = [];
90
+ return routerAPI;
91
+ };
92
+ var getRouter = () => {
93
+ if (!routerAPI) {
94
+ throw new NextjsRouterMocksNotAvailable({
95
+ importType: "next/router"
96
+ });
97
+ }
98
+ return routerAPI;
99
+ };
100
+ var router_default = singletonRouter__default;
101
+ var useRouter2 = fn(singletonRouter.useRouter).mockName(
102
+ "next/router::useRouter"
103
+ );
104
+ var withRouter2 = fn(singletonRouter.withRouter).mockName(
105
+ "next/router::withRouter"
106
+ );
107
+
108
+ export { createRouter, router_default as default, getRouter, useRouter2 as useRouter, withRouter2 as withRouter };
@@ -0,0 +1,3 @@
1
+ declare const _default: {};
2
+
3
+ export { _default as default };
@@ -0,0 +1,4 @@
1
+ // src/plugins/next-mocks/alias/rsc/server-only.ts
2
+ var server_only_default = {};
3
+
4
+ export { server_only_default as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-storybook-nextjs",
3
- "version": "0.0.13--canary.8.d70ae00.0",
3
+ "version": "0.0.13",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "vite-plugin",
@@ -20,23 +20,27 @@
20
20
  "exports": {
21
21
  ".": {
22
22
  "types": "./dist/index.d.ts",
23
- "import": "./dist/index.js"
23
+ "browser": "./dist/index.js",
24
+ "node": "./dist/index.cjs"
24
25
  },
25
- "./mocks/cache": {
26
- "require": "./dist/cache/index.cjs"
27
- },
28
- "./mocks/navigation": {
29
- "require": "./dist/navigation/index.cjs"
30
- },
31
- "./mocks/headers": {
32
- "require": "./dist/headers/index.cjs"
33
- },
34
- "./mocks/router": {
35
- "require": "./dist/router/index.cjs"
36
- },
37
- "./mocks/server-only": {
38
- "require": "./dist/rsc/server-only.cjs"
39
- }
26
+ "./browser/mocks/cache": "./dist/plugins/next-mocks/alias/cache/index.js",
27
+ "./browser/mocks/navigation": "./dist/plugins/next-mocks/alias/navigation/index.js",
28
+ "./browser/mocks/headers": "./dist/plugins/next-mocks/alias/headers/index.js",
29
+ "./browser/mocks/router": "./dist/plugins/next-mocks/alias/router/index.js",
30
+ "./browser/mocks/server-only": "./dist/plugins/next-mocks/alias/rsc/server-only.js",
31
+ "./browser/mocks/image": "./dist/plugins/next-image/alias/next-image.js",
32
+ "./browser/mocks/legacy-image": "./dist/plugins/next-image/alias/next-legacy-image.js",
33
+ "./browser/mocks/image-default-loader": "./dist/plugins/next-image/alias/image-default-loader.js",
34
+ "./browser/mocks/image-context": "./dist/plugins/next-image/alias/image-context.js",
35
+ "./node/mocks/cache": "./dist/plugins/next-mocks/alias/cache/index.cjs",
36
+ "./node/mocks/navigation": "./dist/plugins/next-mocks/alias/navigation/index.cjs",
37
+ "./node/mocks/headers": "./dist/plugins/next-mocks/alias/headers/index.cjs",
38
+ "./node/mocks/router": "./dist/plugins/next-mocks/alias/router/index.cjs",
39
+ "./node/mocks/server-only": "./dist/plugins/next-mocks/alias/rsc/server-only.cjs",
40
+ "./node/mocks/image": "./dist/plugins/next-image/alias/next-image.cjs",
41
+ "./node/mocks/legacy-image": "./dist/plugins/next-image/alias/next-legacy-image.cjs",
42
+ "./node/mocks/image-default-loader": "./dist/plugins/next-image/alias/image-default-loader.cjs",
43
+ "./node/mocks/image-context": "./dist/plugins/next-image/alias/image-context.cjs"
40
44
  },
41
45
  "scripts": {
42
46
  "prepublishOnly": "pnpm build",