@storybook/nextjs 8.1.0-alpha.7 → 8.1.0-beta.0

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 (33) hide show
  1. package/dist/chunk-VSXS7LSP.mjs +20 -0
  2. package/dist/compatibility/redirect-status-code.compat.d.ts +7 -0
  3. package/dist/compatibility/redirect-status-code.compat.js +1 -0
  4. package/dist/compatibility/redirect-status-code.compat.mjs +5 -0
  5. package/dist/compatibility/segment.compat.d.ts +5 -0
  6. package/dist/compatibility/segment.compat.js +1 -0
  7. package/dist/compatibility/segment.compat.mjs +5 -0
  8. package/dist/export-mocks/cache/index.d.ts +16 -0
  9. package/dist/export-mocks/cache/index.js +1 -0
  10. package/dist/export-mocks/cache/index.mjs +10 -0
  11. package/dist/export-mocks/headers/index.d.ts +36 -0
  12. package/dist/export-mocks/headers/index.js +1 -0
  13. package/dist/export-mocks/headers/index.mjs +11 -0
  14. package/dist/export-mocks/index.d.ts +7 -0
  15. package/dist/export-mocks/index.js +1 -0
  16. package/dist/export-mocks/index.mjs +11 -0
  17. package/dist/export-mocks/navigation/index.d.ts +43 -0
  18. package/dist/export-mocks/navigation/index.js +1 -0
  19. package/dist/export-mocks/navigation/index.mjs +11 -0
  20. package/dist/export-mocks/router/index.d.ts +44 -0
  21. package/dist/export-mocks/router/index.js +1 -0
  22. package/dist/export-mocks/router/index.mjs +10 -0
  23. package/dist/index.d-e10eb603.d.ts +223 -0
  24. package/dist/index.js +1 -1
  25. package/dist/index.mjs +2 -2
  26. package/dist/next-image-loader-stub.js +2 -1
  27. package/dist/next-image-loader-stub.mjs +4 -3
  28. package/dist/preset.js +1 -1
  29. package/dist/preview.d.ts +8 -2
  30. package/dist/preview.js +1 -1
  31. package/dist/preview.mjs +1 -1
  32. package/package.json +84 -25
  33. package/dist/chunk-F7NH2NHR.mjs +0 -16
@@ -0,0 +1,20 @@
1
+ import { ImageDecorator } from './chunk-NQ32RFK2.mjs';
2
+ import { __export } from './chunk-BLWNPPTR.mjs';
3
+ import { setConfig } from 'next/config';
4
+ import * as React from 'react';
5
+ import React__default, { useMemo } from 'react';
6
+ import { GlobalLayoutRouterContext, AppRouterContext, LayoutRouterContext } from 'next/dist/shared/lib/app-router-context.shared-runtime';
7
+ import { PathParamsContext, PathnameContext, SearchParamsContext } from 'next/dist/shared/lib/hooks-client-context.shared-runtime';
8
+ import { PAGE_SEGMENT_KEY } from 'next/dist/shared/lib/segment';
9
+ import { createNavigation, getRouter } from '@storybook/nextjs/navigation.mock';
10
+ import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';
11
+ import { createRouter, getRouter as getRouter$1 } from '@storybook/nextjs/router.mock';
12
+ import { RedirectBoundary } from 'next/dist/client/components/redirect-boundary';
13
+ import { StyleRegistry } from 'styled-jsx';
14
+ import { HeadManagerContext } from 'next/dist/shared/lib/head-manager-context.shared-runtime';
15
+ import initHeadManager from 'next/dist/client/head-manager';
16
+ import { isNextRouterError } from 'next/dist/client/components/is-next-router-error';
17
+
18
+ var preview_exports={};__export(preview_exports,{decorators:()=>decorators,loaders:()=>loaders,parameters:()=>parameters});setConfig(process.env.__NEXT_RUNTIME_CONFIG);function getSelectedParams(currentTree,params={}){let parallelRoutes=currentTree[1];for(let parallelRoute of Object.values(parallelRoutes)){let segment=parallelRoute[0],isDynamicParameter=Array.isArray(segment),segmentValue=isDynamicParameter?segment[1]:segment;if(!segmentValue||segmentValue.startsWith(PAGE_SEGMENT_KEY))continue;isDynamicParameter&&(segment[2]==="c"||segment[2]==="oc")?params[segment[0]]=segment[1].split("/"):isDynamicParameter&&(params[segment[0]]=segment[1]),params=getSelectedParams(parallelRoute,params);}return params}var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,routeParams})=>{let{pathname,query,segments=[]}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}],pathParams=useMemo(()=>getSelectedParams(tree),[tree]);return React__default.createElement(PathParamsContext.Provider,{value:pathParams},React__default.createElement(PathnameContext.Provider,{value:pathname},React__default.createElement(SearchParamsContext.Provider,{value:new URLSearchParams(query)},React__default.createElement(GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},buildId:"storybook",tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree],onlyHashChange:!1},nextUrl:pathname}},React__default.createElement(AppRouterContext.Provider,{value:getRouter()},React__default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children))))))};var PageRouterProvider=({children})=>React__default.createElement(RouterContext.Provider,{value:getRouter$1()},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?AppRouterProvider?React.createElement(AppRouterProvider,{routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React.createElement(RedirectBoundary,null,React.createElement(Story,null))):null:React.createElement(PageRouterProvider,null,React.createElement(Story,null));var StyledJsxDecorator=Story=>React.createElement(StyleRegistry,null,React.createElement(Story,null));var HeadManagerProvider=({children})=>{let headManager=useMemo(initHeadManager,[]);return headManager.getIsSsr=()=>!1,React__default.createElement(HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React.createElement(head_manager_provider_default,null,React.createElement(Story,null));function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta);}function isAsyncClientComponentError(error){return typeof error=="string"&&(error.includes("A component was suspended by an uncached promise.")||error.includes("async/await is not yet supported in Client Components"))}addNextHeadCount();var origConsoleError=globalThis.console.error;globalThis.console.error=(...args)=>{let error=args[0];isNextRouterError(error)||isAsyncClientComponentError(error)||origConsoleError.apply(globalThis.console,args);};globalThis.addEventListener("error",ev=>{if(isNextRouterError(ev.error)||isAsyncClientComponentError(ev.error)){ev.preventDefault();return}});var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],loaders=async({globals,parameters:parameters2})=>{let{router,appDirectory}=parameters2.nextjs??{};appDirectory?createNavigation(router):createRouter({locale:globals.locale,...router});},parameters={docs:{source:{excludeDecorators:!0}},react:{rootOptions:{onCaughtError(error){isNextRouterError(error)||console.error(error);}}}};
19
+
20
+ export { decorators, loaders, parameters, preview_exports };
@@ -0,0 +1,7 @@
1
+ declare enum RedirectStatusCode {
2
+ SeeOther = 303,
3
+ TemporaryRedirect = 307,
4
+ PermanentRedirect = 308
5
+ }
6
+
7
+ export { RedirectStatusCode };
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var redirect_status_code_compat_exports={};__export(redirect_status_code_compat_exports,{RedirectStatusCode:()=>RedirectStatusCode});module.exports=__toCommonJS(redirect_status_code_compat_exports);var RedirectStatusCode=(RedirectStatusCode2=>(RedirectStatusCode2[RedirectStatusCode2.SeeOther=303]="SeeOther",RedirectStatusCode2[RedirectStatusCode2.TemporaryRedirect=307]="TemporaryRedirect",RedirectStatusCode2[RedirectStatusCode2.PermanentRedirect=308]="PermanentRedirect",RedirectStatusCode2))(RedirectStatusCode||{});0&&(module.exports={RedirectStatusCode});
@@ -0,0 +1,5 @@
1
+ import '../chunk-BLWNPPTR.mjs';
2
+
3
+ var RedirectStatusCode=(RedirectStatusCode2=>(RedirectStatusCode2[RedirectStatusCode2.SeeOther=303]="SeeOther",RedirectStatusCode2[RedirectStatusCode2.TemporaryRedirect=307]="TemporaryRedirect",RedirectStatusCode2[RedirectStatusCode2.PermanentRedirect=308]="PermanentRedirect",RedirectStatusCode2))(RedirectStatusCode||{});
4
+
5
+ export { RedirectStatusCode };
@@ -0,0 +1,5 @@
1
+ declare function isGroupSegment(segment: string): boolean;
2
+ declare const PAGE_SEGMENT_KEY = "__PAGE__";
3
+ declare const DEFAULT_SEGMENT_KEY = "__DEFAULT__";
4
+
5
+ export { DEFAULT_SEGMENT_KEY, PAGE_SEGMENT_KEY, isGroupSegment };
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var segment_compat_exports={};__export(segment_compat_exports,{DEFAULT_SEGMENT_KEY:()=>DEFAULT_SEGMENT_KEY,PAGE_SEGMENT_KEY:()=>PAGE_SEGMENT_KEY,isGroupSegment:()=>isGroupSegment});module.exports=__toCommonJS(segment_compat_exports);function isGroupSegment(segment){return segment[0]==="("&&segment.endsWith(")")}var PAGE_SEGMENT_KEY="__PAGE__",DEFAULT_SEGMENT_KEY="__DEFAULT__";0&&(module.exports={DEFAULT_SEGMENT_KEY,PAGE_SEGMENT_KEY,isGroupSegment});
@@ -0,0 +1,5 @@
1
+ import '../chunk-BLWNPPTR.mjs';
2
+
3
+ function isGroupSegment(segment){return segment[0]==="("&&segment.endsWith(")")}var PAGE_SEGMENT_KEY="__PAGE__",DEFAULT_SEGMENT_KEY="__DEFAULT__";
4
+
5
+ export { DEFAULT_SEGMENT_KEY, PAGE_SEGMENT_KEY, isGroupSegment };
@@ -0,0 +1,16 @@
1
+ import { M as Mock } from '../../index.d-e10eb603.js';
2
+ import { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache';
3
+ export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache';
4
+ import { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store';
5
+ export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store';
6
+
7
+ declare const revalidatePath: Mock<any, any>;
8
+ declare const revalidateTag: Mock<any, any>;
9
+ declare const cacheExports: {
10
+ unstable_cache: typeof unstable_cache;
11
+ revalidateTag: Mock<any, any>;
12
+ revalidatePath: Mock<any, any>;
13
+ unstable_noStore: typeof unstable_noStore;
14
+ };
15
+
16
+ export { cacheExports as default, revalidatePath, revalidateTag };
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var cache_exports={};__export(cache_exports,{default:()=>cache_default,revalidatePath:()=>revalidatePath,revalidateTag:()=>revalidateTag,unstable_cache:()=>import_unstable_cache.unstable_cache,unstable_noStore:()=>import_unstable_no_store.unstable_noStore});module.exports=__toCommonJS(cache_exports);var import_test=require("@storybook/test"),import_unstable_cache=require("next/dist/server/web/spec-extension/unstable-cache"),import_unstable_no_store=require("next/dist/server/web/spec-extension/unstable-no-store"),revalidatePath=(0,import_test.fn)().mockName("next/cache::revalidatePath"),revalidateTag=(0,import_test.fn)().mockName("next/cache::revalidateTag"),cacheExports={unstable_cache:import_unstable_cache.unstable_cache,revalidateTag,revalidatePath,unstable_noStore:import_unstable_no_store.unstable_noStore},cache_default=cacheExports;0&&(module.exports={revalidatePath,revalidateTag,unstable_cache,unstable_noStore});
@@ -0,0 +1,10 @@
1
+ import '../../chunk-BLWNPPTR.mjs';
2
+ import { fn } from '@storybook/test';
3
+ import { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache';
4
+ export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache';
5
+ import { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store';
6
+ export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store';
7
+
8
+ var revalidatePath=fn().mockName("next/cache::revalidatePath"),revalidateTag=fn().mockName("next/cache::revalidateTag"),cacheExports={unstable_cache,revalidateTag,revalidatePath,unstable_noStore},cache_default=cacheExports;
9
+
10
+ export { cache_default as default, revalidatePath, revalidateTag };
@@ -0,0 +1,36 @@
1
+ import { M as Mock } from '../../index.d-e10eb603.js';
2
+ import * as next_dist_client_components_draft_mode from 'next/dist/client/components/draft-mode';
3
+ export * from 'next/dist/client/components/headers';
4
+ import { HeadersAdapter } from 'next/dist/server/web/spec-extension/adapters/headers';
5
+ import * as next_dist_compiled__edge_runtime_cookies from 'next/dist/compiled/@edge-runtime/cookies';
6
+ import { RequestCookies } from 'next/dist/compiled/@edge-runtime/cookies';
7
+
8
+ declare class HeadersAdapterMock extends HeadersAdapter {
9
+ constructor();
10
+ append: Mock<[name: string, value: string], void>;
11
+ delete: Mock<[name: string], void>;
12
+ get: Mock<[name: string], string | null>;
13
+ has: Mock<[name: string], boolean>;
14
+ set: Mock<[name: string, value: string], void>;
15
+ forEach: Mock<[callbackfn: (value: string, name: string, parent: Headers) => void, thisArg?: any], void>;
16
+ entries: Mock<[], IterableIterator<[string, string]>>;
17
+ keys: Mock<[], IterableIterator<string>>;
18
+ values: Mock<[], IterableIterator<string>>;
19
+ }
20
+ declare const headers: {
21
+ (): HeadersAdapterMock;
22
+ mockRestore(): void;
23
+ };
24
+
25
+ declare class RequestCookiesMock extends RequestCookies {
26
+ get: Mock<[name: string] | [next_dist_compiled__edge_runtime_cookies.RequestCookie], next_dist_compiled__edge_runtime_cookies.RequestCookie | undefined>;
27
+ getAll: Mock<[] | [next_dist_compiled__edge_runtime_cookies.RequestCookie] | [name: string], next_dist_compiled__edge_runtime_cookies.RequestCookie[]>;
28
+ has: Mock<[name: string], boolean>;
29
+ set: Mock<[key: string, value: string] | [options: next_dist_compiled__edge_runtime_cookies.RequestCookie], this>;
30
+ delete: Mock<[names: string | string[]], boolean | boolean[]>;
31
+ }
32
+ declare const cookies: Mock<[], RequestCookiesMock>;
33
+
34
+ declare const draftMode: Mock<[], next_dist_client_components_draft_mode.DraftMode>;
35
+
36
+ export { cookies, draftMode, headers };
@@ -0,0 +1 @@
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var headers_exports={};__export(headers_exports,{cookies:()=>cookies,draftMode:()=>draftMode2,headers:()=>headers});module.exports=__toCommonJS(headers_exports);var import_test3=require("@storybook/test"),originalHeaders=__toESM(require("next/dist/client/components/headers"));__reExport(headers_exports,require("next/dist/client/components/headers"),module.exports);var import_test=require("@storybook/test"),import_headers=require("next/dist/server/web/spec-extension/adapters/headers"),HeadersAdapterMock=class extends import_headers.HeadersAdapter{constructor(){super({});this.append=(0,import_test.fn)(super.append.bind(this)).mockName("next/headers::headers().append");this.delete=(0,import_test.fn)(super.delete.bind(this)).mockName("next/headers::headers().delete");this.get=(0,import_test.fn)(super.get.bind(this)).mockName("next/headers::headers().get");this.has=(0,import_test.fn)(super.has.bind(this)).mockName("next/headers::headers().has");this.set=(0,import_test.fn)(super.set.bind(this)).mockName("next/headers::headers().set");this.forEach=(0,import_test.fn)(super.forEach.bind(this)).mockName("next/headers::headers().forEach");this.entries=(0,import_test.fn)(super.entries.bind(this)).mockName("next/headers::headers().entries");this.keys=(0,import_test.fn)(super.keys.bind(this)).mockName("next/headers::headers().keys");this.values=(0,import_test.fn)(super.values.bind(this)).mockName("next/headers::headers().values")}},headersAdapterMock,headers=()=>(headersAdapterMock||(headersAdapterMock=new HeadersAdapterMock),headersAdapterMock);headers.mockRestore=()=>{headersAdapterMock=new HeadersAdapterMock};var import_test2=require("@storybook/test"),import_cookies=require("next/dist/compiled/@edge-runtime/cookies"),import_headers2=require("@storybook/nextjs/headers.mock"),RequestCookiesMock=class extends import_cookies.RequestCookies{constructor(){super(...arguments);this.get=(0,import_test2.fn)(super.get.bind(this)).mockName("next/headers::cookies().get");this.getAll=(0,import_test2.fn)(super.getAll.bind(this)).mockName("next/headers::cookies().getAll");this.has=(0,import_test2.fn)(super.has.bind(this)).mockName("next/headers::cookies().has");this.set=(0,import_test2.fn)(super.set.bind(this)).mockName("next/headers::cookies().set");this.delete=(0,import_test2.fn)(super.delete.bind(this)).mockName("next/headers::cookies().delete")}},requestCookiesMock,cookies=(0,import_test2.fn)(()=>(requestCookiesMock||(requestCookiesMock=new RequestCookiesMock((0,import_headers2.headers)())),requestCookiesMock)).mockName("next/headers::cookies()"),originalRestore=cookies.mockRestore.bind(null);cookies.mockRestore=()=>{originalRestore(),import_headers2.headers.mockRestore(),requestCookiesMock=new RequestCookiesMock((0,import_headers2.headers)())};var draftMode2=(0,import_test3.fn)(originalHeaders.draftMode).mockName("draftMode");0&&(module.exports={cookies,draftMode,headers,...require("next/dist/client/components/headers")});
@@ -0,0 +1,11 @@
1
+ import '../../chunk-BLWNPPTR.mjs';
2
+ import { fn } from '@storybook/test';
3
+ import * as originalHeaders from 'next/dist/client/components/headers';
4
+ export * from 'next/dist/client/components/headers';
5
+ import { HeadersAdapter } from 'next/dist/server/web/spec-extension/adapters/headers';
6
+ import { RequestCookies } from 'next/dist/compiled/@edge-runtime/cookies';
7
+ import { headers as headers$1 } from '@storybook/nextjs/headers.mock';
8
+
9
+ var HeadersAdapterMock=class extends HeadersAdapter{constructor(){super({});this.append=fn(super.append.bind(this)).mockName("next/headers::headers().append");this.delete=fn(super.delete.bind(this)).mockName("next/headers::headers().delete");this.get=fn(super.get.bind(this)).mockName("next/headers::headers().get");this.has=fn(super.has.bind(this)).mockName("next/headers::headers().has");this.set=fn(super.set.bind(this)).mockName("next/headers::headers().set");this.forEach=fn(super.forEach.bind(this)).mockName("next/headers::headers().forEach");this.entries=fn(super.entries.bind(this)).mockName("next/headers::headers().entries");this.keys=fn(super.keys.bind(this)).mockName("next/headers::headers().keys");this.values=fn(super.values.bind(this)).mockName("next/headers::headers().values");}},headersAdapterMock,headers=()=>(headersAdapterMock||(headersAdapterMock=new HeadersAdapterMock),headersAdapterMock);headers.mockRestore=()=>{headersAdapterMock=new HeadersAdapterMock;};var RequestCookiesMock=class extends RequestCookies{constructor(){super(...arguments);this.get=fn(super.get.bind(this)).mockName("next/headers::cookies().get");this.getAll=fn(super.getAll.bind(this)).mockName("next/headers::cookies().getAll");this.has=fn(super.has.bind(this)).mockName("next/headers::cookies().has");this.set=fn(super.set.bind(this)).mockName("next/headers::cookies().set");this.delete=fn(super.delete.bind(this)).mockName("next/headers::cookies().delete");}},requestCookiesMock,cookies=fn(()=>(requestCookiesMock||(requestCookiesMock=new RequestCookiesMock(headers$1())),requestCookiesMock)).mockName("next/headers::cookies()"),originalRestore=cookies.mockRestore.bind(null);cookies.mockRestore=()=>{originalRestore(),headers$1.mockRestore(),requestCookiesMock=new RequestCookiesMock(headers$1());};var draftMode2=fn(originalHeaders.draftMode).mockName("draftMode");
10
+
11
+ export { cookies, draftMode2 as draftMode, headers };
@@ -0,0 +1,7 @@
1
+ declare const getPackageAliases: ({ useESM }?: {
2
+ useESM?: boolean | undefined;
3
+ }) => {
4
+ [k: string]: string;
5
+ };
6
+
7
+ export { getPackageAliases };
@@ -0,0 +1 @@
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var export_mocks_exports={};__export(export_mocks_exports,{getPackageAliases:()=>getPackageAliases});module.exports=__toCommonJS(export_mocks_exports);var import_path2=require("path");var import_semver=__toESM(require("semver"));var import_path=__toESM(require("path")),import_webpack=require("webpack"),import_constants=require("next/constants"),import_config=__toESM(require("next/dist/server/config")),import_core_common=require("@storybook/core-common");var getNextjsVersion=()=>require(scopedResolve("next/package.json")).version;var scopedResolve=id=>{let scopedModulePath;try{scopedModulePath=require.resolve(id,{paths:[import_path.default.resolve()]})}catch{scopedModulePath=require.resolve(id)}let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,import_path.default.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var mapping={"<14.0.0":{"next/dist/shared/lib/segment":"@storybook/nextjs/dist/compatibility/segment.compat","next/dist/client/components/redirect-status-code":"@storybook/nextjs/dist/compatibility/redirect-status-code.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).filter(key=>{import_semver.default.intersects(version,key)&&Object.assign(result,mapping[key])}),result};var mapping2={"next/headers":"/dist/export-mocks/headers/index","@storybook/nextjs/headers.mock":"/dist/export-mocks/headers/index","next/navigation":"/dist/export-mocks/navigation/index","@storybook/nextjs/navigation.mock":"/dist/export-mocks/navigation/index","next/router":"/dist/export-mocks/router/index","@storybook/nextjs/router.mock":"/dist/export-mocks/router/index","next/cache":"/dist/export-mocks/cache/index","@storybook/nextjs/cache.mock":"/dist/export-mocks/cache/index",...getCompatibilityAliases()},getPackageAliases=({useESM=!1}={})=>{let extension=useESM?"mjs":"js",packageLocation=(0,import_path2.dirname)(require.resolve("@storybook/nextjs/package.json")),getFullPath=path2=>(0,import_path2.join)(packageLocation,path2.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,getFullPath(`${aliasedPath}.${extension}`)]))};0&&(module.exports={getPackageAliases});
@@ -0,0 +1,11 @@
1
+ import { __require } from '../chunk-BLWNPPTR.mjs';
2
+ import path, { dirname, join } from 'path';
3
+ import semver from 'semver';
4
+ import 'webpack';
5
+ import 'next/constants';
6
+ import 'next/dist/server/config';
7
+ import '@storybook/core-common';
8
+
9
+ var getNextjsVersion=()=>__require(scopedResolve("next/package.json")).version;var scopedResolve=id=>{let scopedModulePath;try{scopedModulePath=__require.resolve(id,{paths:[path.resolve()]});}catch{scopedModulePath=__require.resolve(id);}let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,path.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var mapping={"<14.0.0":{"next/dist/shared/lib/segment":"@storybook/nextjs/dist/compatibility/segment.compat","next/dist/client/components/redirect-status-code":"@storybook/nextjs/dist/compatibility/redirect-status-code.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).filter(key=>{semver.intersects(version,key)&&Object.assign(result,mapping[key]);}),result};var mapping2={"next/headers":"/dist/export-mocks/headers/index","@storybook/nextjs/headers.mock":"/dist/export-mocks/headers/index","next/navigation":"/dist/export-mocks/navigation/index","@storybook/nextjs/navigation.mock":"/dist/export-mocks/navigation/index","next/router":"/dist/export-mocks/router/index","@storybook/nextjs/router.mock":"/dist/export-mocks/router/index","next/cache":"/dist/export-mocks/cache/index","@storybook/nextjs/cache.mock":"/dist/export-mocks/cache/index",...getCompatibilityAliases()},getPackageAliases=({useESM=!1}={})=>{let extension=useESM?"mjs":"js",packageLocation=dirname(__require.resolve("@storybook/nextjs/package.json")),getFullPath=path2=>join(packageLocation,path2.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,getFullPath(`${aliasedPath}.${extension}`)]))};
10
+
11
+ export { getPackageAliases };
@@ -0,0 +1,43 @@
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';
5
+ export * from 'next/dist/client/components/navigation';
6
+
7
+ /**
8
+ * Creates a next/navigation router API mock. Used internally.
9
+ * @ignore
10
+ * @internal
11
+ * */
12
+ declare const createNavigation: (overrides: any) => {
13
+ push: Mock;
14
+ replace: Mock;
15
+ forward: Mock;
16
+ back: Mock;
17
+ prefetch: Mock;
18
+ refresh: Mock;
19
+ };
20
+ declare const getRouter: () => {
21
+ push: Mock;
22
+ replace: Mock;
23
+ forward: Mock;
24
+ back: Mock;
25
+ prefetch: Mock;
26
+ refresh: Mock;
27
+ };
28
+
29
+ declare const redirect: Mock<[url: string, type?: actual.RedirectType | undefined], never>;
30
+ declare const permanentRedirect: Mock<[url: string, type?: actual.RedirectType | undefined], never>;
31
+ declare const useSearchParams: Mock<[], actual.ReadonlyURLSearchParams>;
32
+ declare const usePathname: Mock<[], string>;
33
+ declare const useSelectedLayoutSegment: Mock<[parallelRouteKey?: string | undefined], string | null>;
34
+ declare const useSelectedLayoutSegments: Mock<[parallelRouteKey?: string | undefined], string[]>;
35
+ declare const useRouter: Mock<[], next_dist_shared_lib_app_router_context_shared_runtime.AppRouterInstance>;
36
+ declare const useServerInsertedHTML: Mock<[callback: () => React.ReactNode], void>;
37
+ declare const notFound: Mock<[], never>;
38
+ interface Params {
39
+ [key: string]: string | string[];
40
+ }
41
+ declare const useParams: Mock<[], Params>;
42
+
43
+ export { createNavigation, getRouter, notFound, permanentRedirect, redirect, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
@@ -0,0 +1 @@
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var navigation_exports={};__export(navigation_exports,{createNavigation:()=>createNavigation,getRouter:()=>getRouter,notFound:()=>notFound2,permanentRedirect:()=>permanentRedirect,redirect:()=>redirect,useParams:()=>useParams2,usePathname:()=>usePathname2,useRouter:()=>useRouter2,useSearchParams:()=>useSearchParams2,useSelectedLayoutSegment:()=>useSelectedLayoutSegment2,useSelectedLayoutSegments:()=>useSelectedLayoutSegments2,useServerInsertedHTML:()=>useServerInsertedHTML2});module.exports=__toCommonJS(navigation_exports);var import_test=require("@storybook/test"),actual=__toESM(require("next/dist/client/components/navigation")),import_preview_errors=require("@storybook/core-events/preview-errors"),import_redirect_status_code=require("next/dist/client/components/redirect-status-code"),import_redirect=require("next/dist/client/components/redirect");__reExport(navigation_exports,require("next/dist/client/components/navigation"),module.exports);var navigationAPI,createNavigation=overrides=>{let navigationActions={push:(0,import_test.fn)().mockName("next/navigation::useRouter().push"),replace:(0,import_test.fn)().mockName("next/navigation::useRouter().replace"),forward:(0,import_test.fn)().mockName("next/navigation::useRouter().forward"),back:(0,import_test.fn)().mockName("next/navigation::useRouter().back"),prefetch:(0,import_test.fn)().mockName("next/navigation::useRouter().prefetch"),refresh:(0,import_test.fn)().mockName("next/navigation::useRouter().refresh")};return overrides&&Object.keys(navigationActions).forEach(key=>{key in overrides&&(navigationActions[key]=(0,import_test.fn)((...args)=>overrides[key](...args)).mockName(`useRouter().${key}`))}),navigationAPI=navigationActions,navigationAPI},getRouter=()=>{if(!navigationAPI)throw new import_preview_errors.NextjsRouterMocksNotAvailable({importType:"next/navigation"});return navigationAPI},redirect=(0,import_test.fn)((url,type=actual.RedirectType.push)=>{throw(0,import_redirect.getRedirectError)(url,type,import_redirect_status_code.RedirectStatusCode.SeeOther)}).mockName("next/navigation::redirect"),permanentRedirect=(0,import_test.fn)((url,type=actual.RedirectType.push)=>{throw(0,import_redirect.getRedirectError)(url,type,import_redirect_status_code.RedirectStatusCode.SeeOther)}).mockName("next/navigation::permanentRedirect"),useSearchParams2=(0,import_test.fn)(actual.useSearchParams).mockName("next/navigation::useSearchParams"),usePathname2=(0,import_test.fn)(actual.usePathname).mockName("next/navigation::usePathname"),useSelectedLayoutSegment2=(0,import_test.fn)(actual.useSelectedLayoutSegment).mockName("next/navigation::useSelectedLayoutSegment"),useSelectedLayoutSegments2=(0,import_test.fn)(actual.useSelectedLayoutSegments).mockName("next/navigation::useSelectedLayoutSegments"),useRouter2=(0,import_test.fn)(actual.useRouter).mockName("next/navigation::useRouter"),useServerInsertedHTML2=(0,import_test.fn)(actual.useServerInsertedHTML).mockName("next/navigation::useServerInsertedHTML"),notFound2=(0,import_test.fn)(actual.notFound).mockName("next/navigation::notFound"),useParams2=(0,import_test.fn)(actual.useParams).mockName("next/navigation::useParams");0&&(module.exports={createNavigation,getRouter,notFound,permanentRedirect,redirect,useParams,usePathname,useRouter,useSearchParams,useSelectedLayoutSegment,useSelectedLayoutSegments,useServerInsertedHTML,...require("next/dist/client/components/navigation")});
@@ -0,0 +1,11 @@
1
+ import '../../chunk-BLWNPPTR.mjs';
2
+ import { fn } from '@storybook/test';
3
+ import * as actual from 'next/dist/client/components/navigation';
4
+ export * from 'next/dist/client/components/navigation';
5
+ import { NextjsRouterMocksNotAvailable } from '@storybook/core-events/preview-errors';
6
+ import { RedirectStatusCode } from 'next/dist/client/components/redirect-status-code';
7
+ import { getRedirectError } from 'next/dist/client/components/redirect';
8
+
9
+ var navigationAPI,createNavigation=overrides=>{let navigationActions={push:fn().mockName("next/navigation::useRouter().push"),replace:fn().mockName("next/navigation::useRouter().replace"),forward:fn().mockName("next/navigation::useRouter().forward"),back:fn().mockName("next/navigation::useRouter().back"),prefetch:fn().mockName("next/navigation::useRouter().prefetch"),refresh:fn().mockName("next/navigation::useRouter().refresh")};return overrides&&Object.keys(navigationActions).forEach(key=>{key in overrides&&(navigationActions[key]=fn((...args)=>overrides[key](...args)).mockName(`useRouter().${key}`));}),navigationAPI=navigationActions,navigationAPI},getRouter=()=>{if(!navigationAPI)throw new NextjsRouterMocksNotAvailable({importType:"next/navigation"});return navigationAPI},redirect=fn((url,type=actual.RedirectType.push)=>{throw getRedirectError(url,type,RedirectStatusCode.SeeOther)}).mockName("next/navigation::redirect"),permanentRedirect=fn((url,type=actual.RedirectType.push)=>{throw getRedirectError(url,type,RedirectStatusCode.SeeOther)}).mockName("next/navigation::permanentRedirect"),useSearchParams2=fn(actual.useSearchParams).mockName("next/navigation::useSearchParams"),usePathname2=fn(actual.usePathname).mockName("next/navigation::usePathname"),useSelectedLayoutSegment2=fn(actual.useSelectedLayoutSegment).mockName("next/navigation::useSelectedLayoutSegment"),useSelectedLayoutSegments2=fn(actual.useSelectedLayoutSegments).mockName("next/navigation::useSelectedLayoutSegments"),useRouter2=fn(actual.useRouter).mockName("next/navigation::useRouter"),useServerInsertedHTML2=fn(actual.useServerInsertedHTML).mockName("next/navigation::useServerInsertedHTML"),notFound2=fn(actual.notFound).mockName("next/navigation::notFound"),useParams2=fn(actual.useParams).mockName("next/navigation::useParams");
10
+
11
+ 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,44 @@
1
+ import * as React from 'react';
2
+ import * as next_dist_client_with_router from 'next/dist/client/with-router';
3
+ import * as next from 'next';
4
+ import { Mock } from '@storybook/test';
5
+ import { NextRouter } from 'next/router';
6
+ import singletonRouter__default from 'next/dist/client/router';
7
+ export * from 'next/dist/client/router';
8
+ export { default } from 'next/dist/client/router';
9
+
10
+ /**
11
+ * Creates a next/router router API mock. Used internally.
12
+ * @ignore
13
+ * @internal
14
+ * */
15
+ declare const createRouter: (overrides: Partial<NextRouter>) => NextRouter;
16
+ declare const getRouter: () => {
17
+ push: Mock;
18
+ replace: Mock;
19
+ reload: Mock;
20
+ back: Mock;
21
+ forward: Mock;
22
+ prefetch: Mock;
23
+ beforePopState: Mock;
24
+ events: {
25
+ on: Mock;
26
+ off: Mock;
27
+ emit: Mock;
28
+ };
29
+ } & {
30
+ route: string;
31
+ asPath: string;
32
+ basePath: string;
33
+ pathname: string;
34
+ query: {};
35
+ isFallback: boolean;
36
+ isLocaleDomain: boolean;
37
+ isReady: boolean;
38
+ isPreview: boolean;
39
+ };
40
+
41
+ declare const useRouter: Mock<[], NextRouter>;
42
+ declare const withRouter: Mock<[ComposedComponent: next.NextComponentType<next.NextPageContext, any, next_dist_client_with_router.WithRouterProps>], React.ComponentType<next_dist_client_with_router.ExcludeRouterProps<next_dist_client_with_router.WithRouterProps>>>;
43
+
44
+ export { createRouter, getRouter, useRouter, withRouter };
@@ -0,0 +1 @@
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var router_exports={};__export(router_exports,{createRouter:()=>createRouter,default:()=>router_default,getRouter:()=>getRouter,useRouter:()=>useRouter2,withRouter:()=>withRouter2});module.exports=__toCommonJS(router_exports);var import_test=require("@storybook/test"),import_preview_errors=require("@storybook/core-events/preview-errors"),originalRouter=__toESM(require("next/dist/client/router"));__reExport(router_exports,require("next/dist/client/router"),module.exports);var defaultRouterState={route:"/",asPath:"/",basePath:"/",pathname:"/",query:{},isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1},routerAPI,createRouter=overrides=>{let routerActions={push:(0,import_test.fn)((..._args)=>Promise.resolve(!0)).mockName("next/router::useRouter().push"),replace:(0,import_test.fn)((..._args)=>Promise.resolve(!0)).mockName("next/router::useRouter().replace"),reload:(0,import_test.fn)((..._args)=>{}).mockName("next/router::useRouter().reload"),back:(0,import_test.fn)((..._args)=>{}).mockName("next/router::useRouter().back"),forward:(0,import_test.fn)(()=>{}).mockName("next/router::useRouter().forward"),prefetch:(0,import_test.fn)((..._args)=>Promise.resolve()).mockName("next/router::useRouter().prefetch"),beforePopState:(0,import_test.fn)((..._args)=>{}).mockName("next/router::useRouter().beforePopState")},routerEvents={on:(0,import_test.fn)((..._args)=>{}).mockName("next/router::useRouter().events.on"),off:(0,import_test.fn)((..._args)=>{}).mockName("next/router::useRouter().events.off"),emit:(0,import_test.fn)((..._args)=>{}).mockName("next/router::useRouter().events.emit")};return overrides&&Object.keys(routerActions).forEach(key=>{key in overrides&&(routerActions[key]=(0,import_test.fn)((...args)=>overrides[key](...args)).mockName(`useRouter().${key}`))}),overrides?.events&&Object.keys(routerEvents).forEach(key=>{key in routerEvents&&(routerEvents[key]=(0,import_test.fn)((...args)=>overrides.events[key](...args)).mockName(`useRouter().events.${key}`))}),routerAPI={...defaultRouterState,...overrides,...routerActions,events:routerEvents},originalRouter.default.router=routerAPI,originalRouter.default.readyCallbacks.forEach(cb=>cb()),originalRouter.default.readyCallbacks=[],routerAPI},getRouter=()=>{if(!routerAPI)throw new import_preview_errors.NextjsRouterMocksNotAvailable({importType:"next/router"});return routerAPI},router_default=originalRouter.default,useRouter2=(0,import_test.fn)(originalRouter.useRouter).mockName("next/router::useRouter"),withRouter2=(0,import_test.fn)(originalRouter.withRouter).mockName("next/router::withRouter");0&&(module.exports={createRouter,getRouter,useRouter,withRouter,...require("next/dist/client/router")});
@@ -0,0 +1,10 @@
1
+ import '../../chunk-BLWNPPTR.mjs';
2
+ import { fn } from '@storybook/test';
3
+ import { NextjsRouterMocksNotAvailable } from '@storybook/core-events/preview-errors';
4
+ import * as singletonRouter from 'next/dist/client/router';
5
+ import singletonRouter__default from 'next/dist/client/router';
6
+ export * from 'next/dist/client/router';
7
+
8
+ var defaultRouterState={route:"/",asPath:"/",basePath:"/",pathname:"/",query:{},isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1},routerAPI,createRouter=overrides=>{let routerActions={push:fn((..._args)=>Promise.resolve(!0)).mockName("next/router::useRouter().push"),replace:fn((..._args)=>Promise.resolve(!0)).mockName("next/router::useRouter().replace"),reload:fn((..._args)=>{}).mockName("next/router::useRouter().reload"),back:fn((..._args)=>{}).mockName("next/router::useRouter().back"),forward:fn(()=>{}).mockName("next/router::useRouter().forward"),prefetch:fn((..._args)=>Promise.resolve()).mockName("next/router::useRouter().prefetch"),beforePopState:fn((..._args)=>{}).mockName("next/router::useRouter().beforePopState")},routerEvents={on:fn((..._args)=>{}).mockName("next/router::useRouter().events.on"),off:fn((..._args)=>{}).mockName("next/router::useRouter().events.off"),emit:fn((..._args)=>{}).mockName("next/router::useRouter().events.emit")};return overrides&&Object.keys(routerActions).forEach(key=>{key in overrides&&(routerActions[key]=fn((...args)=>overrides[key](...args)).mockName(`useRouter().${key}`));}),overrides?.events&&Object.keys(routerEvents).forEach(key=>{key in routerEvents&&(routerEvents[key]=fn((...args)=>overrides.events[key](...args)).mockName(`useRouter().events.${key}`));}),routerAPI={...defaultRouterState,...overrides,...routerActions,events:routerEvents},singletonRouter__default.router=routerAPI,singletonRouter__default.readyCallbacks.forEach(cb=>cb()),singletonRouter__default.readyCallbacks=[],routerAPI},getRouter=()=>{if(!routerAPI)throw new NextjsRouterMocksNotAvailable({importType:"next/router"});return routerAPI},router_default=singletonRouter__default,useRouter2=fn(singletonRouter.useRouter).mockName("next/router::useRouter"),withRouter2=fn(singletonRouter.withRouter).mockName("next/router::withRouter");
9
+
10
+ export { createRouter, router_default as default, getRouter, useRouter2 as useRouter, withRouter2 as withRouter };
@@ -0,0 +1,223 @@
1
+ interface MockResultReturn<T> {
2
+ type: 'return';
3
+ /**
4
+ * The value that was returned from the function. If function returned a Promise, then this will be a resolved value.
5
+ */
6
+ value: T;
7
+ }
8
+ interface MockResultIncomplete {
9
+ type: 'incomplete';
10
+ value: undefined;
11
+ }
12
+ interface MockResultThrow {
13
+ type: 'throw';
14
+ /**
15
+ * An error that was thrown during function execution.
16
+ */
17
+ value: any;
18
+ }
19
+ type MockResult<T> = MockResultReturn<T> | MockResultThrow | MockResultIncomplete;
20
+ interface MockContext<TArgs, TReturns> {
21
+ /**
22
+ * This is an array containing all arguments for each call. One item of the array is the arguments of that call.
23
+ *
24
+ * @example
25
+ * const fn = vi.fn()
26
+ *
27
+ * fn('arg1', 'arg2')
28
+ * fn('arg3')
29
+ *
30
+ * fn.mock.calls === [
31
+ * ['arg1', 'arg2'], // first call
32
+ * ['arg3'], // second call
33
+ * ]
34
+ */
35
+ calls: TArgs[];
36
+ /**
37
+ * This is an array containing all instances that were instantiated when mock was called with a `new` keyword. Note that this is an actual context (`this`) of the function, not a return value.
38
+ */
39
+ instances: TReturns[];
40
+ /**
41
+ * The order of mock's execution. This returns an array of numbers which are shared between all defined mocks.
42
+ *
43
+ * @example
44
+ * const fn1 = vi.fn()
45
+ * const fn2 = vi.fn()
46
+ *
47
+ * fn1()
48
+ * fn2()
49
+ * fn1()
50
+ *
51
+ * fn1.mock.invocationCallOrder === [1, 3]
52
+ * fn2.mock.invocationCallOrder === [2]
53
+ */
54
+ invocationCallOrder: number[];
55
+ /**
56
+ * This is an array containing all values that were `returned` from the function.
57
+ *
58
+ * The `value` property contains the returned value or thrown error. If the function returned a promise, the `value` will be the _resolved_ value, not the actual `Promise`, unless it was never resolved.
59
+ *
60
+ * @example
61
+ * const fn = vi.fn()
62
+ * .mockReturnValueOnce('result')
63
+ * .mockImplementationOnce(() => { throw new Error('thrown error') })
64
+ *
65
+ * const result = fn()
66
+ *
67
+ * try {
68
+ * fn()
69
+ * }
70
+ * catch {}
71
+ *
72
+ * fn.mock.results === [
73
+ * {
74
+ * type: 'return',
75
+ * value: 'result',
76
+ * },
77
+ * {
78
+ * type: 'throw',
79
+ * value: Error,
80
+ * },
81
+ * ]
82
+ */
83
+ results: MockResult<TReturns>[];
84
+ /**
85
+ * This contains the arguments of the last call. If spy wasn't called, will return `undefined`.
86
+ */
87
+ lastCall: TArgs | undefined;
88
+ }
89
+ interface MockInstance<TArgs extends any[] = any[], TReturns = any> {
90
+ /**
91
+ * Use it to return the name given to mock with method `.mockName(name)`.
92
+ */
93
+ getMockName: () => string;
94
+ /**
95
+ * Sets internal mock name. Useful to see the name of the mock if an assertion fails.
96
+ */
97
+ mockName: (n: string) => this;
98
+ /**
99
+ * Current context of the mock. It stores information about all invocation calls, instances, and results.
100
+ */
101
+ mock: MockContext<TArgs, TReturns>;
102
+ /**
103
+ * Clears all information about every call. After calling it, all properties on `.mock` will return an empty state. This method does not reset implementations.
104
+ *
105
+ * It is useful if you need to clean up mock between different assertions.
106
+ */
107
+ mockClear: () => this;
108
+ /**
109
+ * Does what `mockClear` does and makes inner implementation an empty function (returning `undefined` when invoked). This also resets all "once" implementations.
110
+ *
111
+ * This is useful when you want to completely reset a mock to the default state.
112
+ */
113
+ mockReset: () => this;
114
+ /**
115
+ * Does what `mockReset` does and restores inner implementation to the original function.
116
+ *
117
+ * Note that restoring mock from `vi.fn()` will set implementation to an empty function that returns `undefined`. Restoring a `vi.fn(impl)` will restore implementation to `impl`.
118
+ */
119
+ mockRestore: () => void;
120
+ /**
121
+ * Returns current mock implementation if there is one.
122
+ *
123
+ * If mock was created with `vi.fn`, it will consider passed down method as a mock implementation.
124
+ *
125
+ * If mock was created with `vi.spyOn`, it will return `undefined` unless a custom implementation was provided.
126
+ */
127
+ getMockImplementation: () => ((...args: TArgs) => TReturns) | undefined;
128
+ /**
129
+ * Accepts a function that will be used as an implementation of the mock.
130
+ * @example
131
+ * const increment = vi.fn().mockImplementation(count => count + 1);
132
+ * expect(increment(3)).toBe(4);
133
+ */
134
+ mockImplementation: (fn: ((...args: TArgs) => TReturns)) => this;
135
+ /**
136
+ * Accepts a function that will be used as a mock implementation during the next call. Can be chained so that multiple function calls produce different results.
137
+ * @example
138
+ * const fn = vi.fn(count => count).mockImplementationOnce(count => count + 1);
139
+ * expect(fn(3)).toBe(4);
140
+ * expect(fn(3)).toBe(3);
141
+ */
142
+ mockImplementationOnce: (fn: ((...args: TArgs) => TReturns)) => this;
143
+ /**
144
+ * Overrides the original mock implementation temporarily while the callback is being executed.
145
+ * @example
146
+ * const myMockFn = vi.fn(() => 'original')
147
+ *
148
+ * myMockFn.withImplementation(() => 'temp', () => {
149
+ * myMockFn() // 'temp'
150
+ * })
151
+ *
152
+ * myMockFn() // 'original'
153
+ */
154
+ withImplementation: <T>(fn: ((...args: TArgs) => TReturns), cb: () => T) => T extends Promise<unknown> ? Promise<this> : this;
155
+ /**
156
+ * Use this if you need to return `this` context from the method without invoking actual implementation.
157
+ */
158
+ mockReturnThis: () => this;
159
+ /**
160
+ * Accepts a value that will be returned whenever the mock function is called.
161
+ */
162
+ mockReturnValue: (obj: TReturns) => this;
163
+ /**
164
+ * Accepts a value that will be returned during the next function call. If chained, every consecutive call will return the specified value.
165
+ *
166
+ * When there are no more `mockReturnValueOnce` values to use, mock will fallback to the previously defined implementation if there is one.
167
+ * @example
168
+ * const myMockFn = vi
169
+ * .fn()
170
+ * .mockReturnValue('default')
171
+ * .mockReturnValueOnce('first call')
172
+ * .mockReturnValueOnce('second call')
173
+ *
174
+ * // 'first call', 'second call', 'default'
175
+ * console.log(myMockFn(), myMockFn(), myMockFn())
176
+ */
177
+ mockReturnValueOnce: (obj: TReturns) => this;
178
+ /**
179
+ * Accepts a value that will be resolved when async function is called.
180
+ * @example
181
+ * const asyncMock = vi.fn().mockResolvedValue(42)
182
+ * asyncMock() // Promise<42>
183
+ */
184
+ mockResolvedValue: (obj: Awaited<TReturns>) => this;
185
+ /**
186
+ * Accepts a value that will be resolved during the next function call. If chained, every consecutive call will resolve specified value.
187
+ * @example
188
+ * const myMockFn = vi
189
+ * .fn()
190
+ * .mockResolvedValue('default')
191
+ * .mockResolvedValueOnce('first call')
192
+ * .mockResolvedValueOnce('second call')
193
+ *
194
+ * // Promise<'first call'>, Promise<'second call'>, Promise<'default'>
195
+ * console.log(myMockFn(), myMockFn(), myMockFn())
196
+ */
197
+ mockResolvedValueOnce: (obj: Awaited<TReturns>) => this;
198
+ /**
199
+ * Accepts an error that will be rejected when async function is called.
200
+ * @example
201
+ * const asyncMock = vi.fn().mockRejectedValue(new Error('Async error'))
202
+ * await asyncMock() // throws 'Async error'
203
+ */
204
+ mockRejectedValue: (obj: any) => this;
205
+ /**
206
+ * Accepts a value that will be rejected during the next function call. If chained, every consecutive call will reject specified value.
207
+ * @example
208
+ * const asyncMock = vi
209
+ * .fn()
210
+ * .mockResolvedValueOnce('first call')
211
+ * .mockRejectedValueOnce(new Error('Async error'))
212
+ *
213
+ * await asyncMock() // first call
214
+ * await asyncMock() // throws "Async error"
215
+ */
216
+ mockRejectedValueOnce: (obj: any) => this;
217
+ }
218
+ interface Mock<TArgs extends any[] = any, TReturns = any> extends MockInstance<TArgs, TReturns> {
219
+ new (...args: TArgs): TReturns;
220
+ (...args: TArgs): TReturns;
221
+ }
222
+
223
+ export { Mock as M };