@storybook/nextjs 8.1.0-alpha.1 → 8.1.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-BLWNPPTR.mjs +3 -0
- package/dist/chunk-F7NH2NHR.mjs +16 -0
- package/dist/font/webpack/loader/storybook-nextjs-font-loader.mjs +1 -1
- package/dist/image-context.mjs +1 -1
- package/dist/images/decorator.mjs +1 -1
- package/dist/images/next-image.mjs +1 -1
- package/dist/images/next-legacy-image.mjs +1 -1
- package/dist/index.d.ts +75 -24
- package/dist/index.js +1 -1
- package/dist/index.mjs +8 -0
- package/dist/next-image-loader-stub.mjs +1 -1
- package/dist/preset.d.ts +1 -1
- package/dist/preview.mjs +3 -16
- package/dist/rsc/server-only.mjs +1 -1
- package/dist/swc/next-swc-loader-patch.mjs +1 -1
- package/dist/types-96e623f7.d.ts +28 -0
- package/package.json +10 -10
- package/dist/chunk-NV2VJYFE.mjs +0 -3
|
@@ -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};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));
|
|
2
|
+
|
|
3
|
+
export { __commonJS, __export, __require, __toESM };
|
|
@@ -0,0 +1,16 @@
|
|
|
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 { action } from '@storybook/addon-actions';
|
|
7
|
+
import { GlobalLayoutRouterContext, AppRouterContext, LayoutRouterContext } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
8
|
+
import { PathnameContext, SearchParamsContext } from 'next/dist/shared/lib/hooks-client-context.shared-runtime';
|
|
9
|
+
import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';
|
|
10
|
+
import { StyleRegistry } from 'styled-jsx';
|
|
11
|
+
import { HeadManagerContext } from 'next/dist/shared/lib/head-manager-context.shared-runtime';
|
|
12
|
+
import initHeadManager from 'next/dist/client/head-manager';
|
|
13
|
+
|
|
14
|
+
var preview_exports={};__export(preview_exports,{decorators:()=>decorators,parameters:()=>parameters});setConfig(process.env.__NEXT_RUNTIME_CONFIG);var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action:action2,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}];return 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:{push(...args){action2("nextNavigation.push")(...args);},replace(...args){action2("nextNavigation.replace")(...args);},forward(...args){action2("nextNavigation.forward")(...args);},back(...args){action2("nextNavigation.back")(...args);},prefetch(...args){action2("nextNavigation.prefetch")(...args);},refresh:()=>{action2("nextNavigation.refresh")();},...restRouteParams}},React__default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))};var PageRouterProvider=({children,action:action2,routeParams,globals})=>React__default.createElement(RouterContext.Provider,{value:{push(...args){return action2("nextRouter.push")(...args),Promise.resolve(!0)},replace(...args){return action2("nextRouter.replace")(...args),Promise.resolve(!0)},reload(...args){action2("nextRouter.reload")(...args);},back(...args){action2("nextRouter.back")(...args);},forward(){action2("nextRouter.forward")();},prefetch(...args){return action2("nextRouter.prefetch")(...args),Promise.resolve()},beforePopState(...args){action2("nextRouter.beforePopState")(...args);},events:{on(...args){action2("nextRouter.events.on")(...args);},off(...args){action2("nextRouter.events.off")(...args);},emit(...args){action2("nextRouter.events.emit")(...args);}},locale:globals?.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?AppRouterProvider?React.createElement(AppRouterProvider,{action,routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React.createElement(Story,null)):null:React.createElement(PageRouterProvider,{action,globals,routeParams:{...defaultRouterParams,...parameters2.nextjs?.router}},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);}addNextHeadCount();var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],parameters={docs:{source:{excludeDecorators:!0}}};
|
|
15
|
+
|
|
16
|
+
export { decorators, parameters, preview_exports };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import '../../../chunk-
|
|
1
|
+
import '../../../chunk-BLWNPPTR.mjs';
|
|
2
2
|
import loaderUtils from 'next/dist/compiled/loader-utils3';
|
|
3
3
|
import { GoogleFontsDownloadError, GoogleFontsLoadingError } from '@storybook/core-events/server-errors';
|
|
4
4
|
import { validateGoogleFontFunctionCall } from 'next/dist/compiled/@next/font/dist/google/validate-google-font-function-call';
|
package/dist/image-context.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { ImageDecorator } from '../chunk-NQ32RFK2.mjs';
|
|
2
|
-
import '../chunk-
|
|
2
|
+
import '../chunk-BLWNPPTR.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defaultLoader } from '../chunk-ETFXNGLC.mjs';
|
|
2
|
-
import '../chunk-
|
|
2
|
+
import '../chunk-BLWNPPTR.mjs';
|
|
3
3
|
import * as NextImageNamespace from 'sb-original/next/image';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { ImageContext as ImageContext$1 } from '@storybook/nextjs/dist/image-context';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defaultLoader } from '../chunk-ETFXNGLC.mjs';
|
|
2
|
-
import '../chunk-
|
|
2
|
+
import '../chunk-BLWNPPTR.mjs';
|
|
3
3
|
import OriginalNextLegacyImage from 'sb-original/next/legacy/image';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { ImageContext as ImageContext$1 } from '@storybook/nextjs/dist/image-context';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,28 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
export { F as FrameworkOptions, S as StorybookConfig } from './types-96e623f7.js';
|
|
2
|
+
import * as _storybook_types from '@storybook/types';
|
|
3
|
+
import { ProjectAnnotations, Args, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps } from '@storybook/types';
|
|
4
|
+
import { ReactRenderer, Meta } from '@storybook/react';
|
|
5
|
+
import '@storybook/preset-react-webpack';
|
|
6
|
+
import '@storybook/builder-webpack5';
|
|
3
7
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
/** Function that sets the globalConfig of your storybook. The global config is the preview module of your .storybook folder.
|
|
9
|
+
*
|
|
10
|
+
* It should be run a single time, so that your global config (e.g. decorators) is applied to your stories when using `composeStories` or `composeStory`.
|
|
11
|
+
*
|
|
12
|
+
* Example:
|
|
13
|
+
*```jsx
|
|
14
|
+
* // setup.js (for jest)
|
|
15
|
+
* import { setProjectAnnotations } from '@storybook/nextjs';
|
|
16
|
+
* import projectAnnotations from './.storybook/preview';
|
|
17
|
+
*
|
|
18
|
+
* setProjectAnnotations(projectAnnotations);
|
|
19
|
+
*```
|
|
20
|
+
*
|
|
21
|
+
* @param projectAnnotations - e.g. (import projectAnnotations from '../.storybook/preview')
|
|
22
|
+
*/
|
|
23
|
+
declare function setProjectAnnotations(projectAnnotations: ProjectAnnotations<ReactRenderer> | ProjectAnnotations<ReactRenderer>[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Function that will receive a story along with meta (e.g. a default export from a .stories file)
|
|
26
|
+
* and optionally projectAnnotations e.g. (import * from '../.storybook/preview)
|
|
27
|
+
* and will return a composed component that has all args/parameters/decorators/etc combined and applied to it.
|
|
28
|
+
*
|
|
29
|
+
*
|
|
30
|
+
* It's very useful for reusing a story in scenarios outside of Storybook like unit testing.
|
|
31
|
+
*
|
|
32
|
+
* Example:
|
|
33
|
+
*```jsx
|
|
34
|
+
* import { render } from '@testing-library/react';
|
|
35
|
+
* import { composeStory } from '@storybook/nextjs';
|
|
36
|
+
* import Meta, { Primary as PrimaryStory } from './Button.stories';
|
|
37
|
+
*
|
|
38
|
+
* const Primary = composeStory(PrimaryStory, Meta);
|
|
39
|
+
*
|
|
40
|
+
* test('renders primary button with Hello World', () => {
|
|
41
|
+
* const { getByText } = render(<Primary>Hello world</Primary>);
|
|
42
|
+
* expect(getByText(/Hello world/i)).not.toBeNull();
|
|
43
|
+
* });
|
|
44
|
+
*```
|
|
45
|
+
*
|
|
46
|
+
* @param story
|
|
47
|
+
* @param componentAnnotations - e.g. (import Meta from './Button.stories')
|
|
48
|
+
* @param [projectAnnotations] - e.g. (import * as projectAnnotations from '../.storybook/preview') this can be applied automatically if you use `setProjectAnnotations` in your setup files.
|
|
49
|
+
* @param [exportsName] - in case your story does not contain a name and you want it to have a name.
|
|
50
|
+
*/
|
|
51
|
+
declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotationsOrFn<ReactRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<ReactRenderer>, exportsName?: string): _storybook_types.ComposedStoryFn<ReactRenderer, Partial<TArgs>>;
|
|
23
52
|
/**
|
|
24
|
-
*
|
|
53
|
+
* Function that will receive a stories import (e.g. `import * as stories from './Button.stories'`)
|
|
54
|
+
* and optionally projectAnnotations (e.g. `import * from '../.storybook/preview`)
|
|
55
|
+
* and will return an object containing all the stories passed, but now as a composed component that has all args/parameters/decorators/etc combined and applied to it.
|
|
56
|
+
*
|
|
57
|
+
*
|
|
58
|
+
* It's very useful for reusing stories in scenarios outside of Storybook like unit testing.
|
|
59
|
+
*
|
|
60
|
+
* Example:
|
|
61
|
+
*```jsx
|
|
62
|
+
* import { render } from '@testing-library/react';
|
|
63
|
+
* import { composeStories } from '@storybook/nextjs';
|
|
64
|
+
* import * as stories from './Button.stories';
|
|
65
|
+
*
|
|
66
|
+
* const { Primary, Secondary } = composeStories(stories);
|
|
67
|
+
*
|
|
68
|
+
* test('renders primary button with Hello World', () => {
|
|
69
|
+
* const { getByText } = render(<Primary>Hello world</Primary>);
|
|
70
|
+
* expect(getByText(/Hello world/i)).not.toBeNull();
|
|
71
|
+
* });
|
|
72
|
+
*```
|
|
73
|
+
*
|
|
74
|
+
* @param csfExports - e.g. (import * as stories from './Button.stories')
|
|
75
|
+
* @param [projectAnnotations] - e.g. (import * as projectAnnotations from '../.storybook/preview') this can be applied automatically if you use `setProjectAnnotations` in your setup files.
|
|
25
76
|
*/
|
|
26
|
-
|
|
77
|
+
declare function composeStories<TModule extends Store_CSFExports<ReactRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports>;
|
|
27
78
|
|
|
28
|
-
export {
|
|
79
|
+
export { composeStories, composeStory, setProjectAnnotations };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __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 src_exports={};module.exports=__toCommonJS(src_exports);
|
|
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 __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};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 require_react_18=__commonJS({"../../lib/react-dom-shim/dist/react-18.js"(exports2,module2){"use strict";var __create2=Object.create,__defProp2=Object.defineProperty,__getOwnPropDesc2=Object.getOwnPropertyDescriptor,__getOwnPropNames2=Object.getOwnPropertyNames,__getProtoOf2=Object.getPrototypeOf,__hasOwnProp2=Object.prototype.hasOwnProperty,__export2=(target,all)=>{for(var name in all)__defProp2(target,name,{get:all[name],enumerable:!0})},__copyProps2=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames2(from))!__hasOwnProp2.call(to,key)&&key!==except&&__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create2(__getProtoOf2(mod)):{},__copyProps2(isNodeMode||!mod||!mod.__esModule?__defProp2(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS2=mod=>__copyProps2(__defProp2({},"__esModule",{value:!0}),mod),react_18_exports={};__export2(react_18_exports,{renderElement:()=>renderElement2,unmountElement:()=>unmountElement2});module2.exports=__toCommonJS2(react_18_exports);var import_react6=__toESM2(require("react")),import_client=__toESM2(require("react-dom/client")),nodes=new Map,WithCallback=({callback,children})=>{let once=(0,import_react6.useRef)();return(0,import_react6.useLayoutEffect)(()=>{once.current!==callback&&(once.current=callback,callback())},[callback]),children},renderElement2=async(node,el)=>{let root=await getReactRoot(el);return new Promise(resolve=>{root.render(import_react6.default.createElement(WithCallback,{callback:()=>resolve(null)},node))})},unmountElement2=(el,shouldUseNewRootApi)=>{let root=nodes.get(el);root&&(root.unmount(),nodes.delete(el))},getReactRoot=async el=>{let root=nodes.get(el);return root||(root=import_client.default.createRoot(el),nodes.set(el,root)),root}}});var src_exports={};__export(src_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations});module.exports=__toCommonJS(src_exports);var import_preview_api2=require("@storybook/preview-api");var import_preview_api=require("@storybook/preview-api");var entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var import_react=__toESM(require("react")),render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return import_react.default.createElement(Component,{...args})};var scope=(()=>{let win;return typeof window<"u"?win=window:typeof globalThis<"u"?win=globalThis:typeof global<"u"?win=global:typeof self<"u"?win=self:win={},win})();var import_react2=__toESM(require("react")),import_react_dom_shim=__toESM(require_react_18()),{FRAMEWORK_OPTIONS}=scope,ErrorBoundary=class extends import_react2.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasError||showMain()}componentDidCatch(err){let{showException}=this.props;showException(err)}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},Wrapper=FRAMEWORK_OPTIONS?.strictMode?import_react2.StrictMode:import_react2.Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=import_react2.default.createElement(ErrorBoundary,{showMain,showException},import_react2.default.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?import_react2.default.createElement(Wrapper,null,content):content;return forceRemount&&(0,import_react_dom_shim.unmountElement)(canvasElement),await(0,import_react_dom_shim.renderElement)(element,canvasElement),()=>(0,import_react_dom_shim.unmountElement)(canvasElement)}var parameters={renderer:"react"};var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS=entry_preview_exports;var preview_exports={};__export(preview_exports,{decorators:()=>decorators,parameters:()=>parameters2});var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React3=__toESM(require("react")),import_image_context=require("@storybook/nextjs/dist/image-context"),ImageContext=import_image_context.ImageContext,ImageDecorator=(Story,{parameters:parameters3})=>parameters3.nextjs?.image?React3.createElement(ImageContext.Provider,{value:parameters3.nextjs.image},React3.createElement(Story,null)):React3.createElement(Story,null);var React6=__toESM(require("react")),import_addon_actions=require("@storybook/addon-actions");var import_react3=__toESM(require("react")),import_app_router_context=require("next/dist/shared/lib/app-router-context.shared-runtime"),import_hooks_client_context=require("next/dist/shared/lib/hooks-client-context.shared-runtime"),getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action:action2,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}];return import_react3.default.createElement(import_hooks_client_context.PathnameContext.Provider,{value:pathname},import_react3.default.createElement(import_hooks_client_context.SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react3.default.createElement(import_app_router_context.GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},buildId:"storybook",tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree],onlyHashChange:!1},nextUrl:pathname}},import_react3.default.createElement(import_app_router_context.AppRouterContext.Provider,{value:{push(...args){action2("nextNavigation.push")(...args)},replace(...args){action2("nextNavigation.replace")(...args)},forward(...args){action2("nextNavigation.forward")(...args)},back(...args){action2("nextNavigation.back")(...args)},prefetch(...args){action2("nextNavigation.prefetch")(...args)},refresh:()=>{action2("nextNavigation.refresh")()},...restRouteParams}},import_react3.default.createElement(import_app_router_context.LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))};var import_router_context=require("next/dist/shared/lib/router-context.shared-runtime"),import_react4=__toESM(require("react")),PageRouterProvider=({children,action:action2,routeParams,globals})=>import_react4.default.createElement(import_router_context.RouterContext.Provider,{value:{push(...args){return action2("nextRouter.push")(...args),Promise.resolve(!0)},replace(...args){return action2("nextRouter.replace")(...args),Promise.resolve(!0)},reload(...args){action2("nextRouter.reload")(...args)},back(...args){action2("nextRouter.back")(...args)},forward(){action2("nextRouter.forward")()},prefetch(...args){return action2("nextRouter.prefetch")(...args),Promise.resolve()},beforePopState(...args){action2("nextRouter.beforePopState")(...args)},events:{on(...args){action2("nextRouter.events.on")(...args)},off(...args){action2("nextRouter.events.off")(...args)},emit(...args){action2("nextRouter.events.emit")(...args)}},locale:globals?.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters3})=>parameters3.nextjs?.appDirectory??!1?AppRouterProvider?React6.createElement(AppRouterProvider,{action:import_addon_actions.action,routeParams:{...defaultRouterParams,...parameters3.nextjs?.navigation}},React6.createElement(Story,null)):null:React6.createElement(PageRouterProvider,{action:import_addon_actions.action,globals,routeParams:{...defaultRouterParams,...parameters3.nextjs?.router}},React6.createElement(Story,null));var React7=__toESM(require("react")),import_styled_jsx=require("styled-jsx"),StyledJsxDecorator=Story=>React7.createElement(import_styled_jsx.StyleRegistry,null,React7.createElement(Story,null));var React9=__toESM(require("react"));var import_react5=__toESM(require("react")),import_head_manager_context=require("next/dist/shared/lib/head-manager-context.shared-runtime"),import_head_manager=__toESM(require("next/dist/client/head-manager")),HeadManagerProvider=({children})=>{let headManager=(0,import_react5.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react5.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React9.createElement(head_manager_provider_default,null,React9.createElement(Story,null));function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta)}addNextHeadCount();var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],parameters2={docs:{source:{excludeDecorators:!0}}};function setProjectAnnotations(projectAnnotations){(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}var defaultProjectAnnotations=(0,import_preview_api2.composeConfigs)([INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,preview_exports]);function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return(0,import_preview_api2.composeStory)(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}0&&(module.exports={composeStories,composeStory,setProjectAnnotations});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1,9 @@
|
|
|
1
|
+
import { preview_exports } from './chunk-F7NH2NHR.mjs';
|
|
2
|
+
import './chunk-NQ32RFK2.mjs';
|
|
3
|
+
import { __commonJS, __require, __export, __toESM } from './chunk-BLWNPPTR.mjs';
|
|
4
|
+
import { composeConfigs, setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from '@storybook/preview-api';
|
|
5
|
+
import React2, { StrictMode, Fragment, Component } from 'react';
|
|
1
6
|
|
|
7
|
+
var require_react_18=__commonJS({"../../lib/react-dom-shim/dist/react-18.js"(exports,module){var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export2=(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},__toESM2=(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),react_18_exports={};__export2(react_18_exports,{renderElement:()=>renderElement2,unmountElement:()=>unmountElement2});module.exports=__toCommonJS(react_18_exports);var import_react3=__toESM2(__require("react")),import_client=__toESM2(__require("react-dom/client")),nodes=new Map,WithCallback=({callback,children})=>{let once=(0, import_react3.useRef)();return (0, import_react3.useLayoutEffect)(()=>{once.current!==callback&&(once.current=callback,callback());},[callback]),children},renderElement2=async(node,el)=>{let root=await getReactRoot(el);return new Promise(resolve=>{root.render(import_react3.default.createElement(WithCallback,{callback:()=>resolve(null)},node));})},unmountElement2=(el,shouldUseNewRootApi)=>{let root=nodes.get(el);root&&(root.unmount(),nodes.delete(el));},getReactRoot=async el=>{let root=nodes.get(el);return root||(root=import_client.default.createRoot(el),nodes.set(el,root)),root};}});var entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return React2.createElement(Component,{...args})};var scope=(()=>{let win;return typeof window<"u"?win=window:typeof globalThis<"u"?win=globalThis:typeof global<"u"?win=global:typeof self<"u"?win=self:win={},win})();var import_react_dom_shim=__toESM(require_react_18());var{FRAMEWORK_OPTIONS}=scope,ErrorBoundary=class extends Component{constructor(){super(...arguments);this.state={hasError:!1};}static getDerivedStateFromError(){return {hasError:!0}}componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasError||showMain();}componentDidCatch(err){let{showException}=this.props;showException(err);}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},Wrapper=FRAMEWORK_OPTIONS?.strictMode?StrictMode:Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=React2.createElement(ErrorBoundary,{showMain,showException},React2.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?React2.createElement(Wrapper,null,content):content;return forceRemount&&(0, import_react_dom_shim.unmountElement)(canvasElement),await(0, import_react_dom_shim.renderElement)(element,canvasElement),()=>(0, import_react_dom_shim.unmountElement)(canvasElement)}var parameters={renderer:"react"};var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS=entry_preview_exports;function setProjectAnnotations(projectAnnotations){setProjectAnnotations$1(projectAnnotations);}var defaultProjectAnnotations=composeConfigs([INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,preview_exports]);function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return composeStory$1(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return composeStories$1(csfExports,projectAnnotations,composeStory)}
|
|
8
|
+
|
|
9
|
+
export { composeStories, composeStory, setProjectAnnotations };
|
package/dist/preset.d.ts
CHANGED
package/dist/preview.mjs
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import React__default, { useMemo } from 'react';
|
|
6
|
-
import { action } from '@storybook/addon-actions';
|
|
7
|
-
import { GlobalLayoutRouterContext, AppRouterContext, LayoutRouterContext } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
8
|
-
import { PathnameContext, SearchParamsContext } from 'next/dist/shared/lib/hooks-client-context.shared-runtime';
|
|
9
|
-
import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';
|
|
10
|
-
import { StyleRegistry } from 'styled-jsx';
|
|
11
|
-
import { HeadManagerContext } from 'next/dist/shared/lib/head-manager-context.shared-runtime';
|
|
12
|
-
import initHeadManager from 'next/dist/client/head-manager';
|
|
13
|
-
|
|
14
|
-
setConfig(process.env.__NEXT_RUNTIME_CONFIG);var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action:action2,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}];return 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:{push(...args){action2("nextNavigation.push")(...args);},replace(...args){action2("nextNavigation.replace")(...args);},forward(...args){action2("nextNavigation.forward")(...args);},back(...args){action2("nextNavigation.back")(...args);},prefetch(...args){action2("nextNavigation.prefetch")(...args);},refresh:()=>{action2("nextNavigation.refresh")();},...restRouteParams}},React__default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))};var PageRouterProvider=({children,action:action2,routeParams,globals})=>React__default.createElement(RouterContext.Provider,{value:{push(...args){return action2("nextRouter.push")(...args),Promise.resolve(!0)},replace(...args){return action2("nextRouter.replace")(...args),Promise.resolve(!0)},reload(...args){action2("nextRouter.reload")(...args);},back(...args){action2("nextRouter.back")(...args);},forward(){action2("nextRouter.forward")();},prefetch(...args){return action2("nextRouter.prefetch")(...args),Promise.resolve()},beforePopState(...args){action2("nextRouter.beforePopState")(...args);},events:{on(...args){action2("nextRouter.events.on")(...args);},off(...args){action2("nextRouter.events.off")(...args);},emit(...args){action2("nextRouter.events.emit")(...args);}},locale:globals?.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?AppRouterProvider?React.createElement(AppRouterProvider,{action,routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React.createElement(Story,null)):null:React.createElement(PageRouterProvider,{action,globals,routeParams:{...defaultRouterParams,...parameters2.nextjs?.router}},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);}addNextHeadCount();var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],parameters={docs:{source:{excludeDecorators:!0}}};
|
|
15
|
-
|
|
16
|
-
export { decorators, parameters };
|
|
1
|
+
export { decorators, parameters } from './chunk-F7NH2NHR.mjs';
|
|
2
|
+
import './chunk-NQ32RFK2.mjs';
|
|
3
|
+
import './chunk-BLWNPPTR.mjs';
|
package/dist/rsc/server-only.mjs
CHANGED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ReactOptions, StorybookConfig as StorybookConfig$1, TypescriptOptions as TypescriptOptions$1 } from '@storybook/preset-react-webpack';
|
|
2
|
+
import { BuilderOptions, StorybookConfigWebpack, TypescriptOptions } from '@storybook/builder-webpack5';
|
|
3
|
+
|
|
4
|
+
type FrameworkName = '@storybook/nextjs';
|
|
5
|
+
type BuilderName = '@storybook/builder-webpack5';
|
|
6
|
+
type FrameworkOptions = ReactOptions & {
|
|
7
|
+
nextConfigPath?: string;
|
|
8
|
+
builder?: BuilderOptions;
|
|
9
|
+
};
|
|
10
|
+
type StorybookConfigFramework = {
|
|
11
|
+
framework: FrameworkName | {
|
|
12
|
+
name: FrameworkName;
|
|
13
|
+
options: FrameworkOptions;
|
|
14
|
+
};
|
|
15
|
+
core?: StorybookConfig$1['core'] & {
|
|
16
|
+
builder?: BuilderName | {
|
|
17
|
+
name: BuilderName;
|
|
18
|
+
options: BuilderOptions;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
typescript?: Partial<TypescriptOptions & TypescriptOptions$1> & StorybookConfig$1['typescript'];
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The interface for Storybook configuration in `main.ts` files.
|
|
25
|
+
*/
|
|
26
|
+
type StorybookConfig = Omit<StorybookConfig$1, keyof StorybookConfigWebpack | keyof StorybookConfigFramework> & StorybookConfigWebpack & StorybookConfigFramework;
|
|
27
|
+
|
|
28
|
+
export { FrameworkOptions as F, StorybookConfig as S };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/nextjs",
|
|
3
|
-
"version": "8.1.0-alpha.
|
|
3
|
+
"version": "8.1.0-alpha.3",
|
|
4
4
|
"description": "Storybook for Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook",
|
|
@@ -89,15 +89,15 @@
|
|
|
89
89
|
"@babel/preset-typescript": "^7.23.2",
|
|
90
90
|
"@babel/runtime": "^7.23.2",
|
|
91
91
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
|
|
92
|
-
"@storybook/addon-actions": "8.1.0-alpha.
|
|
93
|
-
"@storybook/builder-webpack5": "8.1.0-alpha.
|
|
94
|
-
"@storybook/core-common": "8.1.0-alpha.
|
|
95
|
-
"@storybook/core-events": "8.1.0-alpha.
|
|
96
|
-
"@storybook/node-logger": "8.1.0-alpha.
|
|
97
|
-
"@storybook/preset-react-webpack": "8.1.0-alpha.
|
|
98
|
-
"@storybook/preview-api": "8.1.0-alpha.
|
|
99
|
-
"@storybook/react": "8.1.0-alpha.
|
|
100
|
-
"@storybook/types": "8.1.0-alpha.
|
|
92
|
+
"@storybook/addon-actions": "8.1.0-alpha.3",
|
|
93
|
+
"@storybook/builder-webpack5": "8.1.0-alpha.3",
|
|
94
|
+
"@storybook/core-common": "8.1.0-alpha.3",
|
|
95
|
+
"@storybook/core-events": "8.1.0-alpha.3",
|
|
96
|
+
"@storybook/node-logger": "8.1.0-alpha.3",
|
|
97
|
+
"@storybook/preset-react-webpack": "8.1.0-alpha.3",
|
|
98
|
+
"@storybook/preview-api": "8.1.0-alpha.3",
|
|
99
|
+
"@storybook/react": "8.1.0-alpha.3",
|
|
100
|
+
"@storybook/types": "8.1.0-alpha.3",
|
|
101
101
|
"@types/node": "^18.0.0",
|
|
102
102
|
"@types/semver": "^7.3.4",
|
|
103
103
|
"babel-loader": "^9.1.3",
|
package/dist/chunk-NV2VJYFE.mjs
DELETED