@storybook/experimental-nextjs-vite 0.0.0-pr-28768-sha-4bf04455
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +10 -0
- package/dist/chunk-4N4PSHX6.mjs +3 -0
- package/dist/chunk-DWCMLBIB.mjs +20 -0
- package/dist/chunk-GKRSUUNG.mjs +6 -0
- package/dist/export-mocks/cache/index.d.ts +14 -0
- package/dist/export-mocks/cache/index.js +1 -0
- package/dist/export-mocks/cache/index.mjs +6 -0
- package/dist/export-mocks/headers/index.d.ts +36 -0
- package/dist/export-mocks/headers/index.js +1 -0
- package/dist/export-mocks/headers/index.mjs +10 -0
- package/dist/export-mocks/navigation/index.d.ts +42 -0
- package/dist/export-mocks/navigation/index.js +1 -0
- package/dist/export-mocks/navigation/index.mjs +11 -0
- package/dist/export-mocks/router/index.d.ts +46 -0
- package/dist/export-mocks/router/index.js +1 -0
- package/dist/export-mocks/router/index.mjs +10 -0
- package/dist/images/decorator.d.ts +6 -0
- package/dist/images/decorator.js +1 -0
- package/dist/images/decorator.mjs +2 -0
- package/dist/index.d-5a935e77.d.ts +266 -0
- package/dist/index.d.ts +103 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +10 -0
- package/dist/preset.d.ts +8 -0
- package/dist/preset.js +1 -0
- package/dist/preview.d.ts +18 -0
- package/dist/preview.js +1 -0
- package/dist/preview.mjs +3 -0
- package/dist/react-18-E7XCW3XF.mjs +7 -0
- package/package.json +143 -0
- package/preset.js +1 -0
- package/template/cli/.eslintrc.json +7 -0
- package/template/cli/js/Button.jsx +56 -0
- package/template/cli/js/Button.stories.js +49 -0
- package/template/cli/js/Configure.mdx +446 -0
- package/template/cli/js/Header.jsx +60 -0
- package/template/cli/js/Header.stories.js +30 -0
- package/template/cli/js/Page.jsx +68 -0
- package/template/cli/js/Page.stories.js +28 -0
- package/template/cli/ts-3-8/Button.stories.ts +53 -0
- package/template/cli/ts-3-8/Button.tsx +53 -0
- package/template/cli/ts-3-8/Configure.mdx +446 -0
- package/template/cli/ts-3-8/Header.stories.ts +33 -0
- package/template/cli/ts-3-8/Header.tsx +56 -0
- package/template/cli/ts-3-8/Page.stories.ts +32 -0
- package/template/cli/ts-3-8/Page.tsx +73 -0
- package/template/cli/ts-4-9/Button.stories.ts +53 -0
- package/template/cli/ts-4-9/Button.tsx +53 -0
- package/template/cli/ts-4-9/Configure.mdx +446 -0
- package/template/cli/ts-4-9/Header.stories.ts +33 -0
- package/template/cli/ts-4-9/Header.tsx +56 -0
- package/template/cli/ts-4-9/Page.stories.ts +32 -0
- package/template/cli/ts-4-9/Page.tsx +73 -0
- package/template/next-env.d.ts +7 -0
- package/template/typings.d.ts +14 -0
package/README.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# Storybook for Next.js with Vite Builder
|
2
|
+
|
3
|
+
See [documentation](https://storybook.js.org/docs/get-started/frameworks/nextjs?renderer=react) for installation instructions, usage examples, APIs, and more.
|
4
|
+
|
5
|
+
## Acknowledgements
|
6
|
+
|
7
|
+
This framework borrows heavily from these Storybook addons:
|
8
|
+
|
9
|
+
- [storybook-addon-next](https://github.com/RyanClementsHax/storybook-addon-next) by [RyanClementsHax](https://github.com/RyanClementsHax/)
|
10
|
+
- [storybook-addon-next-router](https://github.com/lifeiscontent/storybook-addon-next-router) by [lifeiscontent](https://github.com/lifeiscontent)
|
@@ -0,0 +1,3 @@
|
|
1
|
+
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 __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};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));
|
2
|
+
|
3
|
+
export { __commonJS, __export, __reExport, __require, __toESM };
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { ImageDecorator } from './chunk-GKRSUUNG.mjs';
|
2
|
+
import { __export } from './chunk-4N4PSHX6.mjs';
|
3
|
+
import { createNavigation, getRouter } from '@storybook/experimental-nextjs-vite/navigation.mock';
|
4
|
+
import { createRouter, getRouter as getRouter$1 } from '@storybook/experimental-nextjs-vite/router.mock';
|
5
|
+
import { isNextRouterError } from 'next/dist/client/components/is-next-router-error';
|
6
|
+
import { setConfig } from 'next/config';
|
7
|
+
import * as React3 from 'react';
|
8
|
+
import React3__default, { useMemo } from 'react';
|
9
|
+
import initHeadManager from 'next/dist/client/head-manager';
|
10
|
+
import { HeadManagerContext } from 'next/dist/shared/lib/head-manager-context.shared-runtime';
|
11
|
+
import { RedirectBoundary } from 'next/dist/client/components/redirect-boundary';
|
12
|
+
import { GlobalLayoutRouterContext, AppRouterContext, LayoutRouterContext } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
13
|
+
import { PathParamsContext, PathnameContext, SearchParamsContext } from 'next/dist/shared/lib/hooks-client-context.shared-runtime';
|
14
|
+
import { PAGE_SEGMENT_KEY } from 'next/dist/shared/lib/segment';
|
15
|
+
import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';
|
16
|
+
import { StyleRegistry } from 'styled-jsx';
|
17
|
+
|
18
|
+
var preview_exports={};__export(preview_exports,{decorators:()=>decorators,loaders:()=>loaders,parameters:()=>parameters});setConfig(process.env.__NEXT_RUNTIME_CONFIG);var HeadManagerProvider=({children})=>{let headManager=useMemo(initHeadManager,[]);return headManager.getIsSsr=()=>!1,React3__default.createElement(HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React3.createElement(head_manager_provider_default,null,React3.createElement(Story,null));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 React3__default.createElement(PathParamsContext.Provider,{value:pathParams},React3__default.createElement(PathnameContext.Provider,{value:pathname},React3__default.createElement(SearchParamsContext.Provider,{value:new URLSearchParams(query)},React3__default.createElement(GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},buildId:"storybook",tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree],onlyHashChange:!1},nextUrl:pathname}},React3__default.createElement(AppRouterContext.Provider,{value:getRouter()},React3__default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,loading:null,tree,url:pathname}},children))))))};var PageRouterProvider=({children})=>React3__default.createElement(RouterContext.Provider,{value:getRouter$1()},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?AppRouterProvider?React3.createElement(AppRouterProvider,{routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React3.createElement(RedirectBoundary,null,React3.createElement(Story,null))):null:React3.createElement(PageRouterProvider,null,React3.createElement(Story,null));var StyledJsxDecorator=Story=>React3.createElement(StyleRegistry,null,React3.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,6 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { ImageContext } from 'sb-original/image-context';
|
3
|
+
|
4
|
+
var ImageDecorator=(Story,{parameters})=>parameters.nextjs?.image?React.createElement(ImageContext.Provider,{value:parameters.nextjs.image},React.createElement(Story,null)):React.createElement(Story,null);
|
5
|
+
|
6
|
+
export { ImageDecorator };
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { M as Mock } from '../../index.d-5a935e77.js';
|
2
|
+
|
3
|
+
declare const revalidatePath: Mock<(...args: any[]) => any>;
|
4
|
+
declare const revalidateTag: Mock<(...args: any[]) => any>;
|
5
|
+
declare const unstable_cache: Mock<(...args: any[]) => any>;
|
6
|
+
declare const unstable_noStore: Mock<(...args: any[]) => any>;
|
7
|
+
declare const cacheExports: {
|
8
|
+
unstable_cache: Mock<(...args: any[]) => any>;
|
9
|
+
revalidateTag: Mock<(...args: any[]) => any>;
|
10
|
+
revalidatePath: Mock<(...args: any[]) => any>;
|
11
|
+
unstable_noStore: Mock<(...args: any[]) => any>;
|
12
|
+
};
|
13
|
+
|
14
|
+
export { cacheExports as default, revalidatePath, revalidateTag, unstable_cache, unstable_noStore };
|
@@ -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:()=>unstable_cache,unstable_noStore:()=>unstable_noStore});module.exports=__toCommonJS(cache_exports);var import_test=require("@storybook/test"),revalidatePath=(0,import_test.fn)().mockName("next/cache::revalidatePath"),revalidateTag=(0,import_test.fn)().mockName("next/cache::revalidateTag"),unstable_cache=(0,import_test.fn)().mockName("next/cache::unstable_cache").mockImplementation(cb=>cb),unstable_noStore=(0,import_test.fn)().mockName("next/cache::unstable_noStore"),cacheExports={unstable_cache,revalidateTag,revalidatePath,unstable_noStore},cache_default=cacheExports;0&&(module.exports={revalidatePath,revalidateTag,unstable_cache,unstable_noStore});
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import '../../chunk-4N4PSHX6.mjs';
|
2
|
+
import { fn } from '@storybook/test';
|
3
|
+
|
4
|
+
var revalidatePath=fn().mockName("next/cache::revalidatePath"),revalidateTag=fn().mockName("next/cache::revalidateTag"),unstable_cache=fn().mockName("next/cache::unstable_cache").mockImplementation(cb=>cb),unstable_noStore=fn().mockName("next/cache::unstable_noStore"),cacheExports={unstable_cache,revalidateTag,revalidatePath,unstable_noStore},cache_default=cacheExports;
|
5
|
+
|
6
|
+
export { cache_default as default, revalidatePath, revalidateTag, unstable_cache, unstable_noStore };
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { M as Mock } from '../../index.d-5a935e77.js';
|
2
|
+
import * as originalHeaders from 'next/dist/client/components/headers';
|
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<(...args: [name: string] | [next_dist_compiled__edge_runtime_cookies.RequestCookie]) => next_dist_compiled__edge_runtime_cookies.RequestCookie | undefined>;
|
27
|
+
getAll: Mock<(...args: [] | [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<(...args: [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<typeof originalHeaders.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_exports2={};__export(headers_exports2,{cookies:()=>cookies2,draftMode:()=>draftMode4,headers:()=>headers});module.exports=__toCommonJS(headers_exports2);var import_test4=require("@storybook/test"),originalHeaders2=__toESM(require("next/dist/client/components/headers"));__reExport(headers_exports2,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 headers_exports={};__export(headers_exports,{cookies:()=>cookies,draftMode:()=>draftMode2,headers:()=>headers2});var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var import_test2=require("@storybook/test"),originalHeaders=__toESM(require("next/dist/client/components/headers"),1);__reExport(headers_exports,require("next/dist/client/components/headers"));var import_headers2=require("next/dist/server/web/spec-extension/adapters/headers");var import_cookies=require("next/dist/compiled/@edge-runtime/cookies"),HeadersAdapterMock2=class extends import_headers2.HeadersAdapter{constructor(){super({}),this.append=(0,import_test2.fn)(super.append.bind(this)).mockName("next/headers::headers().append"),this.delete=(0,import_test2.fn)(super.delete.bind(this)).mockName("next/headers::headers().delete"),this.get=(0,import_test2.fn)(super.get.bind(this)).mockName("next/headers::headers().get"),this.has=(0,import_test2.fn)(super.has.bind(this)).mockName("next/headers::headers().has"),this.set=(0,import_test2.fn)(super.set.bind(this)).mockName("next/headers::headers().set"),this.forEach=(0,import_test2.fn)(super.forEach.bind(this)).mockName("next/headers::headers().forEach"),this.entries=(0,import_test2.fn)(super.entries.bind(this)).mockName("next/headers::headers().entries"),this.keys=(0,import_test2.fn)(super.keys.bind(this)).mockName("next/headers::headers().keys"),this.values=(0,import_test2.fn)(super.values.bind(this)).mockName("next/headers::headers().values")}},headersAdapterMock2,headers2=()=>(headersAdapterMock2||(headersAdapterMock2=new HeadersAdapterMock2),headersAdapterMock2);headers2.mockRestore=()=>{headersAdapterMock2=new HeadersAdapterMock2};var 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(headers2())),requestCookiesMock)).mockName("next/headers::cookies()"),originalRestore=cookies.mockRestore.bind(null);cookies.mockRestore=()=>{originalRestore(),headers2.mockRestore(),requestCookiesMock=new RequestCookiesMock(headers2())};var draftMode2=(0,import_test2.fn)(originalHeaders.draftMode).mockName("draftMode");var import_test3=require("@storybook/test"),import_cookies2=require("next/dist/compiled/@edge-runtime/cookies"),RequestCookiesMock2=class extends import_cookies2.RequestCookies{constructor(){super(...arguments);this.get=(0,import_test3.fn)(super.get.bind(this)).mockName("next/headers::cookies().get");this.getAll=(0,import_test3.fn)(super.getAll.bind(this)).mockName("next/headers::cookies().getAll");this.has=(0,import_test3.fn)(super.has.bind(this)).mockName("next/headers::cookies().has");this.set=(0,import_test3.fn)(super.set.bind(this)).mockName("next/headers::cookies().set");this.delete=(0,import_test3.fn)(super.delete.bind(this)).mockName("next/headers::cookies().delete")}},requestCookiesMock2,cookies2=(0,import_test3.fn)(()=>(requestCookiesMock2||(requestCookiesMock2=new RequestCookiesMock2(headers2())),requestCookiesMock2)).mockName("next/headers::cookies()"),originalRestore2=cookies2.mockRestore.bind(null);cookies2.mockRestore=()=>{originalRestore2(),headers2.mockRestore(),requestCookiesMock2=new RequestCookiesMock2(headers2())};var draftMode4=(0,import_test4.fn)(originalHeaders2.draftMode).mockName("draftMode");0&&(module.exports={cookies,draftMode,headers,...require("next/dist/client/components/headers")});
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { __export, __require, __reExport } from '../../chunk-4N4PSHX6.mjs';
|
2
|
+
import { fn } from '@storybook/test';
|
3
|
+
import * as headers_star 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
|
+
|
8
|
+
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 headers_exports={};__export(headers_exports,{cookies:()=>cookies,draftMode:()=>draftMode2,headers:()=>headers2});(x=>typeof __require<"u"?__require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof __require<"u"?__require:a)[b]}):x)(function(x){if(typeof __require<"u")return __require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});__reExport(headers_exports,headers_star);var HeadersAdapterMock2=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");}},headersAdapterMock2,headers2=()=>(headersAdapterMock2||(headersAdapterMock2=new HeadersAdapterMock2),headersAdapterMock2);headers2.mockRestore=()=>{headersAdapterMock2=new HeadersAdapterMock2;};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(headers2())),requestCookiesMock)).mockName("next/headers::cookies()"),originalRestore=cookies.mockRestore.bind(null);cookies.mockRestore=()=>{originalRestore(),headers2.mockRestore(),requestCookiesMock=new RequestCookiesMock(headers2());};var draftMode2=fn(headers_star.draftMode).mockName("draftMode");var RequestCookiesMock2=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");}},requestCookiesMock2,cookies2=fn(()=>(requestCookiesMock2||(requestCookiesMock2=new RequestCookiesMock2(headers2())),requestCookiesMock2)).mockName("next/headers::cookies()"),originalRestore2=cookies2.mockRestore.bind(null);cookies2.mockRestore=()=>{originalRestore2(),headers2.mockRestore(),requestCookiesMock2=new RequestCookiesMock2(headers2());};var draftMode4=fn(headers_star.draftMode).mockName("draftMode");
|
9
|
+
|
10
|
+
export { cookies2 as cookies, draftMode4 as draftMode, headers };
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { M as Mock$1 } from '../../index.d-5a935e77.js';
|
2
|
+
import { Mock } from '@storybook/test';
|
3
|
+
import * as actual from 'next/dist/client/components/navigation';
|
4
|
+
export * from 'next/dist/client/components/navigation';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Creates a next/navigation router API mock. Used internally.
|
8
|
+
* @ignore
|
9
|
+
* @internal
|
10
|
+
* */
|
11
|
+
declare const createNavigation: (overrides: any) => {
|
12
|
+
push: Mock;
|
13
|
+
replace: Mock;
|
14
|
+
forward: Mock;
|
15
|
+
back: Mock;
|
16
|
+
prefetch: Mock;
|
17
|
+
refresh: Mock;
|
18
|
+
};
|
19
|
+
declare const getRouter: () => {
|
20
|
+
push: Mock;
|
21
|
+
replace: Mock;
|
22
|
+
forward: Mock;
|
23
|
+
back: Mock;
|
24
|
+
prefetch: Mock;
|
25
|
+
refresh: Mock;
|
26
|
+
};
|
27
|
+
|
28
|
+
declare const redirect: Mock$1<(url: string, type?: actual.RedirectType) => never>;
|
29
|
+
declare const permanentRedirect: Mock$1<(url: string, type?: actual.RedirectType) => never>;
|
30
|
+
declare const useSearchParams: Mock$1<typeof actual.useSearchParams>;
|
31
|
+
declare const usePathname: Mock$1<typeof actual.usePathname>;
|
32
|
+
declare const useSelectedLayoutSegment: Mock$1<typeof actual.useSelectedLayoutSegment>;
|
33
|
+
declare const useSelectedLayoutSegments: Mock$1<typeof actual.useSelectedLayoutSegments>;
|
34
|
+
declare const useRouter: Mock$1<typeof actual.useRouter>;
|
35
|
+
declare const useServerInsertedHTML: Mock$1<typeof actual.useServerInsertedHTML>;
|
36
|
+
declare const notFound: Mock$1<typeof actual.notFound>;
|
37
|
+
interface Params {
|
38
|
+
[key: string]: string | string[];
|
39
|
+
}
|
40
|
+
declare const useParams: Mock$1<() => Params>;
|
41
|
+
|
42
|
+
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_preview_errors=require("storybook/internal/preview-errors"),import_test=require("@storybook/test"),actual=__toESM(require("next/dist/client/components/navigation")),import_redirect=require("next/dist/client/components/redirect"),import_redirect_status_code=require("next/dist/client/components/redirect-status-code");__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-4N4PSHX6.mjs';
|
2
|
+
import { NextjsRouterMocksNotAvailable } from 'storybook/internal/preview-errors';
|
3
|
+
import { fn } from '@storybook/test';
|
4
|
+
import * as actual from 'next/dist/client/components/navigation';
|
5
|
+
export * from 'next/dist/client/components/navigation';
|
6
|
+
import { getRedirectError } from 'next/dist/client/components/redirect';
|
7
|
+
import { RedirectStatusCode } from 'next/dist/client/components/redirect-status-code';
|
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,46 @@
|
|
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 { M as Mock$1 } from '../../index.d-5a935e77.js';
|
5
|
+
import { Mock } from '@storybook/test';
|
6
|
+
import * as originalRouter from 'next/dist/client/router';
|
7
|
+
import originalRouter__default from 'next/dist/client/router';
|
8
|
+
export * from 'next/dist/client/router';
|
9
|
+
export { default } from 'next/dist/client/router';
|
10
|
+
import { NextRouter } from 'next/router';
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Creates a next/router router API mock. Used internally.
|
14
|
+
* @ignore
|
15
|
+
* @internal
|
16
|
+
* */
|
17
|
+
declare const createRouter: (overrides: Partial<NextRouter>) => originalRouter.NextRouter;
|
18
|
+
declare const getRouter: () => {
|
19
|
+
push: Mock;
|
20
|
+
replace: Mock;
|
21
|
+
reload: Mock;
|
22
|
+
back: Mock;
|
23
|
+
forward: Mock;
|
24
|
+
prefetch: Mock;
|
25
|
+
beforePopState: Mock;
|
26
|
+
events: {
|
27
|
+
on: Mock;
|
28
|
+
off: Mock;
|
29
|
+
emit: Mock;
|
30
|
+
};
|
31
|
+
} & {
|
32
|
+
route: string;
|
33
|
+
asPath: string;
|
34
|
+
basePath: string;
|
35
|
+
pathname: string;
|
36
|
+
query: {};
|
37
|
+
isFallback: boolean;
|
38
|
+
isLocaleDomain: boolean;
|
39
|
+
isReady: boolean;
|
40
|
+
isPreview: boolean;
|
41
|
+
};
|
42
|
+
|
43
|
+
declare const useRouter: Mock$1<typeof originalRouter.useRouter>;
|
44
|
+
declare const withRouter: Mock$1<(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>>>;
|
45
|
+
|
46
|
+
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_preview_errors=require("storybook/internal/preview-errors"),import_test=require("@storybook/test"),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-4N4PSHX6.mjs';
|
2
|
+
import { NextjsRouterMocksNotAvailable } from 'storybook/internal/preview-errors';
|
3
|
+
import { fn } from '@storybook/test';
|
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 @@
|
|
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 decorator_exports={};__export(decorator_exports,{ImageDecorator:()=>ImageDecorator});module.exports=__toCommonJS(decorator_exports);var React=__toESM(require("react")),import_image_context=require("sb-original/image-context"),ImageDecorator=(Story,{parameters})=>parameters.nextjs?.image?React.createElement(import_image_context.ImageContext.Provider,{value:parameters.nextjs.image},React.createElement(Story,null)):React.createElement(Story,null);0&&(module.exports={ImageDecorator});
|
@@ -0,0 +1,266 @@
|
|
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
|
+
interface MockSettledResultFulfilled<T> {
|
20
|
+
type: 'fulfilled';
|
21
|
+
value: T;
|
22
|
+
}
|
23
|
+
interface MockSettledResultRejected {
|
24
|
+
type: 'rejected';
|
25
|
+
value: any;
|
26
|
+
}
|
27
|
+
type MockResult<T> = MockResultReturn<T> | MockResultThrow | MockResultIncomplete;
|
28
|
+
type MockSettledResult<T> = MockSettledResultFulfilled<T> | MockSettledResultRejected;
|
29
|
+
interface MockContext<T extends Procedure> {
|
30
|
+
/**
|
31
|
+
* This is an array containing all arguments for each call. One item of the array is the arguments of that call.
|
32
|
+
*
|
33
|
+
* @example
|
34
|
+
* const fn = vi.fn()
|
35
|
+
*
|
36
|
+
* fn('arg1', 'arg2')
|
37
|
+
* fn('arg3')
|
38
|
+
*
|
39
|
+
* fn.mock.calls === [
|
40
|
+
* ['arg1', 'arg2'], // first call
|
41
|
+
* ['arg3'], // second call
|
42
|
+
* ]
|
43
|
+
*/
|
44
|
+
calls: Parameters<T>[];
|
45
|
+
/**
|
46
|
+
* 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.
|
47
|
+
*/
|
48
|
+
instances: ReturnType<T>[];
|
49
|
+
/**
|
50
|
+
* An array of `this` values that were used during each call to the mock function.
|
51
|
+
*/
|
52
|
+
contexts: ThisParameterType<T>[];
|
53
|
+
/**
|
54
|
+
* The order of mock's execution. This returns an array of numbers which are shared between all defined mocks.
|
55
|
+
*
|
56
|
+
* @example
|
57
|
+
* const fn1 = vi.fn()
|
58
|
+
* const fn2 = vi.fn()
|
59
|
+
*
|
60
|
+
* fn1()
|
61
|
+
* fn2()
|
62
|
+
* fn1()
|
63
|
+
*
|
64
|
+
* fn1.mock.invocationCallOrder === [1, 3]
|
65
|
+
* fn2.mock.invocationCallOrder === [2]
|
66
|
+
*/
|
67
|
+
invocationCallOrder: number[];
|
68
|
+
/**
|
69
|
+
* This is an array containing all values that were `returned` from the function.
|
70
|
+
*
|
71
|
+
* The `value` property contains the returned value or thrown error. If the function returned a `Promise`, then `result` will always be `'return'` even if the promise was rejected.
|
72
|
+
*
|
73
|
+
* @example
|
74
|
+
* const fn = vi.fn()
|
75
|
+
* .mockReturnValueOnce('result')
|
76
|
+
* .mockImplementationOnce(() => { throw new Error('thrown error') })
|
77
|
+
*
|
78
|
+
* const result = fn()
|
79
|
+
*
|
80
|
+
* try {
|
81
|
+
* fn()
|
82
|
+
* }
|
83
|
+
* catch {}
|
84
|
+
*
|
85
|
+
* fn.mock.results === [
|
86
|
+
* {
|
87
|
+
* type: 'return',
|
88
|
+
* value: 'result',
|
89
|
+
* },
|
90
|
+
* {
|
91
|
+
* type: 'throw',
|
92
|
+
* value: Error,
|
93
|
+
* },
|
94
|
+
* ]
|
95
|
+
*/
|
96
|
+
results: MockResult<ReturnType<T>>[];
|
97
|
+
/**
|
98
|
+
* An array containing all values that were `resolved` or `rejected` from the function.
|
99
|
+
*
|
100
|
+
* This array will be empty if the function was never resolved or rejected.
|
101
|
+
*
|
102
|
+
* @example
|
103
|
+
* const fn = vi.fn().mockResolvedValueOnce('result')
|
104
|
+
*
|
105
|
+
* const result = fn()
|
106
|
+
*
|
107
|
+
* fn.mock.settledResults === []
|
108
|
+
* fn.mock.results === [
|
109
|
+
* {
|
110
|
+
* type: 'return',
|
111
|
+
* value: Promise<'result'>,
|
112
|
+
* },
|
113
|
+
* ]
|
114
|
+
*
|
115
|
+
* await result
|
116
|
+
*
|
117
|
+
* fn.mock.settledResults === [
|
118
|
+
* {
|
119
|
+
* type: 'fulfilled',
|
120
|
+
* value: 'result',
|
121
|
+
* },
|
122
|
+
* ]
|
123
|
+
*/
|
124
|
+
settledResults: MockSettledResult<Awaited<ReturnType<T>>>[];
|
125
|
+
/**
|
126
|
+
* This contains the arguments of the last call. If spy wasn't called, will return `undefined`.
|
127
|
+
*/
|
128
|
+
lastCall: Parameters<T> | undefined;
|
129
|
+
}
|
130
|
+
type Procedure = (...args: any[]) => any;
|
131
|
+
type NormalizedPrecedure<T extends Procedure> = (...args: Parameters<T>) => ReturnType<T>;
|
132
|
+
interface MockInstance<T extends Procedure = Procedure> {
|
133
|
+
/**
|
134
|
+
* Use it to return the name given to mock with method `.mockName(name)`.
|
135
|
+
*/
|
136
|
+
getMockName(): string;
|
137
|
+
/**
|
138
|
+
* Sets internal mock name. Useful to see the name of the mock if an assertion fails.
|
139
|
+
*/
|
140
|
+
mockName(n: string): this;
|
141
|
+
/**
|
142
|
+
* Current context of the mock. It stores information about all invocation calls, instances, and results.
|
143
|
+
*/
|
144
|
+
mock: MockContext<T>;
|
145
|
+
/**
|
146
|
+
* Clears all information about every call. After calling it, all properties on `.mock` will return an empty state. This method does not reset implementations.
|
147
|
+
*
|
148
|
+
* It is useful if you need to clean up mock between different assertions.
|
149
|
+
*/
|
150
|
+
mockClear(): this;
|
151
|
+
/**
|
152
|
+
* Does what `mockClear` does and makes inner implementation an empty function (returning `undefined` when invoked). This also resets all "once" implementations.
|
153
|
+
*
|
154
|
+
* This is useful when you want to completely reset a mock to the default state.
|
155
|
+
*/
|
156
|
+
mockReset(): this;
|
157
|
+
/**
|
158
|
+
* Does what `mockReset` does and restores inner implementation to the original function.
|
159
|
+
*
|
160
|
+
* 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`.
|
161
|
+
*/
|
162
|
+
mockRestore(): void;
|
163
|
+
/**
|
164
|
+
* Returns current mock implementation if there is one.
|
165
|
+
*
|
166
|
+
* If mock was created with `vi.fn`, it will consider passed down method as a mock implementation.
|
167
|
+
*
|
168
|
+
* If mock was created with `vi.spyOn`, it will return `undefined` unless a custom implementation was provided.
|
169
|
+
*/
|
170
|
+
getMockImplementation(): NormalizedPrecedure<T> | undefined;
|
171
|
+
/**
|
172
|
+
* Accepts a function that will be used as an implementation of the mock.
|
173
|
+
* @example
|
174
|
+
* const increment = vi.fn().mockImplementation(count => count + 1);
|
175
|
+
* expect(increment(3)).toBe(4);
|
176
|
+
*/
|
177
|
+
mockImplementation(fn: NormalizedPrecedure<T>): this;
|
178
|
+
/**
|
179
|
+
* 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.
|
180
|
+
* @example
|
181
|
+
* const fn = vi.fn(count => count).mockImplementationOnce(count => count + 1);
|
182
|
+
* expect(fn(3)).toBe(4);
|
183
|
+
* expect(fn(3)).toBe(3);
|
184
|
+
*/
|
185
|
+
mockImplementationOnce(fn: NormalizedPrecedure<T>): this;
|
186
|
+
/**
|
187
|
+
* Overrides the original mock implementation temporarily while the callback is being executed.
|
188
|
+
* @example
|
189
|
+
* const myMockFn = vi.fn(() => 'original')
|
190
|
+
*
|
191
|
+
* myMockFn.withImplementation(() => 'temp', () => {
|
192
|
+
* myMockFn() // 'temp'
|
193
|
+
* })
|
194
|
+
*
|
195
|
+
* myMockFn() // 'original'
|
196
|
+
*/
|
197
|
+
withImplementation<T2>(fn: NormalizedPrecedure<T>, cb: () => T2): T2 extends Promise<unknown> ? Promise<this> : this;
|
198
|
+
/**
|
199
|
+
* Use this if you need to return `this` context from the method without invoking actual implementation.
|
200
|
+
*/
|
201
|
+
mockReturnThis(): this;
|
202
|
+
/**
|
203
|
+
* Accepts a value that will be returned whenever the mock function is called.
|
204
|
+
*/
|
205
|
+
mockReturnValue(obj: ReturnType<T>): this;
|
206
|
+
/**
|
207
|
+
* Accepts a value that will be returned during the next function call. If chained, every consecutive call will return the specified value.
|
208
|
+
*
|
209
|
+
* When there are no more `mockReturnValueOnce` values to use, mock will fallback to the previously defined implementation if there is one.
|
210
|
+
* @example
|
211
|
+
* const myMockFn = vi
|
212
|
+
* .fn()
|
213
|
+
* .mockReturnValue('default')
|
214
|
+
* .mockReturnValueOnce('first call')
|
215
|
+
* .mockReturnValueOnce('second call')
|
216
|
+
*
|
217
|
+
* // 'first call', 'second call', 'default'
|
218
|
+
* console.log(myMockFn(), myMockFn(), myMockFn())
|
219
|
+
*/
|
220
|
+
mockReturnValueOnce(obj: ReturnType<T>): this;
|
221
|
+
/**
|
222
|
+
* Accepts a value that will be resolved when async function is called.
|
223
|
+
* @example
|
224
|
+
* const asyncMock = vi.fn().mockResolvedValue(42)
|
225
|
+
* asyncMock() // Promise<42>
|
226
|
+
*/
|
227
|
+
mockResolvedValue(obj: Awaited<ReturnType<T>>): this;
|
228
|
+
/**
|
229
|
+
* Accepts a value that will be resolved during the next function call. If chained, every consecutive call will resolve specified value.
|
230
|
+
* @example
|
231
|
+
* const myMockFn = vi
|
232
|
+
* .fn()
|
233
|
+
* .mockResolvedValue('default')
|
234
|
+
* .mockResolvedValueOnce('first call')
|
235
|
+
* .mockResolvedValueOnce('second call')
|
236
|
+
*
|
237
|
+
* // Promise<'first call'>, Promise<'second call'>, Promise<'default'>
|
238
|
+
* console.log(myMockFn(), myMockFn(), myMockFn())
|
239
|
+
*/
|
240
|
+
mockResolvedValueOnce(obj: Awaited<ReturnType<T>>): this;
|
241
|
+
/**
|
242
|
+
* Accepts an error that will be rejected when async function is called.
|
243
|
+
* @example
|
244
|
+
* const asyncMock = vi.fn().mockRejectedValue(new Error('Async error'))
|
245
|
+
* await asyncMock() // throws 'Async error'
|
246
|
+
*/
|
247
|
+
mockRejectedValue(obj: any): this;
|
248
|
+
/**
|
249
|
+
* Accepts a value that will be rejected during the next function call. If chained, every consecutive call will reject specified value.
|
250
|
+
* @example
|
251
|
+
* const asyncMock = vi
|
252
|
+
* .fn()
|
253
|
+
* .mockResolvedValueOnce('first call')
|
254
|
+
* .mockRejectedValueOnce(new Error('Async error'))
|
255
|
+
*
|
256
|
+
* await asyncMock() // first call
|
257
|
+
* await asyncMock() // throws "Async error"
|
258
|
+
*/
|
259
|
+
mockRejectedValueOnce(obj: any): this;
|
260
|
+
}
|
261
|
+
interface Mock<T extends Procedure = Procedure> extends MockInstance<T> {
|
262
|
+
new (...args: Parameters<T>): ReturnType<T>;
|
263
|
+
(...args: Parameters<T>): ReturnType<T>;
|
264
|
+
}
|
265
|
+
|
266
|
+
export { Mock as M };
|