@storybook/nextjs 8.3.0-alpha.6 → 8.3.0-alpha.8

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.
@@ -15,6 +15,6 @@ import { PAGE_SEGMENT_KEY } from 'next/dist/shared/lib/segment';
15
15
  import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';
16
16
  import { StyleRegistry } from 'styled-jsx';
17
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,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);}}}};
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,tree,url:pathname,loading:null}},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
19
 
20
20
  export { decorators, loaders, parameters, preview_exports };
@@ -5,9 +5,10 @@ export * from 'next/dist/client/components/navigation';
5
5
 
6
6
  /**
7
7
  * Creates a next/navigation router API mock. Used internally.
8
+ *
8
9
  * @ignore
9
10
  * @internal
10
- * */
11
+ */
11
12
  declare const createNavigation: (overrides: any) => {
12
13
  push: Mock;
13
14
  replace: Mock;
@@ -11,9 +11,10 @@ import { NextRouter } from 'next/router';
11
11
 
12
12
  /**
13
13
  * Creates a next/router router API mock. Used internally.
14
+ *
14
15
  * @ignore
15
16
  * @internal
16
- * */
17
+ */
17
18
  declare const createRouter: (overrides: Partial<NextRouter>) => originalRouter.NextRouter;
18
19
  declare const getRouter: () => {
19
20
  push: Mock;
@@ -15,6 +15,7 @@ declare const MockedNextImage: React__default.ForwardRefExoticComponent<Omit<Rea
15
15
  placeholder?: next_dist_shared_lib_get_img_props.PlaceholderValue | undefined;
16
16
  blurDataURL?: string | undefined;
17
17
  unoptimized?: boolean | undefined;
18
+ overrideSrc?: string | undefined;
18
19
  onLoadingComplete?: next_dist_shared_lib_get_img_props.OnLoadingComplete | undefined;
19
20
  layout?: string | undefined;
20
21
  objectFit?: string | undefined;
package/dist/index.d.ts CHANGED
@@ -1,36 +1,40 @@
1
- export { F as FrameworkOptions, S as StorybookConfig } from './types-79ace3a8.js';
1
+ export { F as FrameworkOptions, S as StorybookConfig } from './types-a7a34fc4.js';
2
2
  import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations, Args, StoryAnnotationsOrFn, ProjectAnnotations, ComposedStoryFn, Store_CSFExports, StoriesWithPartialProps } from 'storybook/internal/types';
3
3
  import { ReactRenderer, Meta } from '@storybook/react';
4
4
  import '@storybook/builder-webpack5';
5
5
  import '@storybook/preset-react-webpack';
6
6
  import 'next/image';
7
7
 
8
- /** Function that sets the globalConfig of your storybook. The global config is the preview module of your .storybook folder.
8
+ /**
9
+ * Function that sets the globalConfig of your storybook. The global config is the preview module of
10
+ * your .storybook folder.
9
11
  *
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`.
12
+ * It should be run a single time, so that your global config (e.g. decorators) is applied to your
13
+ * stories when using `composeStories` or `composeStory`.
11
14
  *
12
15
  * Example:
13
- *```jsx
14
- * // setup.js (for jest)
16
+ *
17
+ * ```jsx
18
+ * // setup-file.js
15
19
  * import { setProjectAnnotations } from '@storybook/nextjs';
16
20
  * import projectAnnotations from './.storybook/preview';
17
21
  *
18
22
  * setProjectAnnotations(projectAnnotations);
19
- *```
23
+ * ```
20
24
  *
21
- * @param projectAnnotations - e.g. (import projectAnnotations from '../.storybook/preview')
25
+ * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')
22
26
  */
23
27
  declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[]): NormalizedProjectAnnotations<ReactRenderer>;
24
28
  /**
25
29
  * 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
- *
30
+ * and optionally projectAnnotations e.g. (import * from '../.storybook/preview) and will return a
31
+ * composed component that has all args/parameters/decorators/etc combined and applied to it.
29
32
  *
30
33
  * It's very useful for reusing a story in scenarios outside of Storybook like unit testing.
31
34
  *
32
35
  * Example:
33
- *```jsx
36
+ *
37
+ * ```jsx
34
38
  * import { render } from '@testing-library/react';
35
39
  * import { composeStory } from '@storybook/nextjs';
36
40
  * import Meta, { Primary as PrimaryStory } from './Button.stories';
@@ -41,24 +45,26 @@ declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProject
41
45
  * const { getByText } = render(<Primary>Hello world</Primary>);
42
46
  * expect(getByText(/Hello world/i)).not.toBeNull();
43
47
  * });
44
- *```
48
+ * ```
45
49
  *
46
50
  * @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.
51
+ * @param componentAnnotations - E.g. (import Meta from './Button.stories')
52
+ * @param [projectAnnotations] - E.g. (import * as projectAnnotations from '../.storybook/preview')
53
+ * this can be applied automatically if you use `setProjectAnnotations` in your setup files.
54
+ * @param [exportsName] - In case your story does not contain a name and you want it to have a name.
50
55
  */
51
56
  declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotationsOrFn<ReactRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<ReactRenderer>, exportsName?: string): ComposedStoryFn<ReactRenderer, Partial<TArgs>>;
52
57
  /**
53
58
  * 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
- *
59
+ * and optionally projectAnnotations (e.g. `import * from '../.storybook/preview`) and will return
60
+ * an object containing all the stories passed, but now as a composed component that has all
61
+ * args/parameters/decorators/etc combined and applied to it.
57
62
  *
58
63
  * It's very useful for reusing stories in scenarios outside of Storybook like unit testing.
59
64
  *
60
65
  * Example:
61
- *```jsx
66
+ *
67
+ * ```jsx
62
68
  * import { render } from '@testing-library/react';
63
69
  * import { composeStories } from '@storybook/nextjs';
64
70
  * import * as stories from './Button.stories';
@@ -69,10 +75,11 @@ declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotations
69
75
  * const { getByText } = render(<Primary>Hello world</Primary>);
70
76
  * expect(getByText(/Hello world/i)).not.toBeNull();
71
77
  * });
72
- *```
78
+ * ```
73
79
  *
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.
80
+ * @param csfExports - E.g. (import * as stories from './Button.stories')
81
+ * @param [projectAnnotations] - E.g. (import * as projectAnnotations from '../.storybook/preview')
82
+ * this can be applied automatically if you use `setProjectAnnotations` in your setup files.
76
83
  */
77
84
  declare function composeStories<TModule extends Store_CSFExports<ReactRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports>;
78
85
 
package/dist/index.js CHANGED
@@ -1 +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 __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};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);function preventActChecks(callback){let originalActEnvironment=globalThis.IS_REACT_ACT_ENVIRONMENT;globalThis.IS_REACT_ACT_ENVIRONMENT=!1;try{callback()}finally{globalThis.IS_REACT_ACT_ENVIRONMENT=originalActEnvironment}}var init_chunk_QGXSKZ4X=__esm({"../../lib/react-dom-shim/dist/chunk-QGXSKZ4X.mjs"(){"use strict"}});var react_18_exports={};__export(react_18_exports,{renderElement:()=>renderElement,unmountElement:()=>unmountElement});var React2,ReactDOM,nodes,WithCallback,renderElement,unmountElement,getReactRoot,init_react_18=__esm({"../../lib/react-dom-shim/dist/react-18.mjs"(){"use strict";init_chunk_QGXSKZ4X();React2=__toESM(require("react"),1),ReactDOM=__toESM(require("react-dom/client"),1),nodes=new Map,WithCallback=({callback,children})=>{let once=React2.useRef();return React2.useLayoutEffect(()=>{once.current!==callback&&(once.current=callback,callback())},[callback]),children};typeof Promise.withResolvers>"u"&&(Promise.withResolvers=()=>{let resolve=null,reject=null;return{promise:new Promise((res,rej)=>{resolve=res,reject=rej}),resolve,reject}});renderElement=async(node,el,rootOptions)=>{let root=await getReactRoot(el,rootOptions),{promise,resolve}=Promise.withResolvers();return preventActChecks(()=>root.render(React2.createElement(WithCallback,{callback:resolve},node))),promise},unmountElement=(el,shouldUseNewRootApi)=>{let root=nodes.get(el);root&&(preventActChecks(()=>root.unmount()),nodes.delete(el))},getReactRoot=async(el,rootOptions)=>{let root=nodes.get(el);return root||(root=ReactDOM.createRoot(el,rootOptions),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/internal/preview-api");var import_react3=__toESM(require("react")),import_preview_api=require("storybook/internal/preview-api");var entry_preview_exports={};__export(entry_preview_exports,{decorators:()=>decorators,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var React4=__toESM(require("react")),import_semver=__toESM(require("semver"));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 import_react2=__toESM(require("react"));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{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{renderElement:renderElement2,unmountElement:unmountElement2}=await Promise.resolve().then(()=>(init_react_18(),react_18_exports)),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&&unmountElement2(canvasElement),await renderElement2(element,canvasElement,storyContext?.parameters?.react?.rootOptions),()=>unmountElement2(canvasElement)}var mount=context=>async ui=>(ui!=null&&(context.originalStoryFn=()=>ui),await context.renderToCanvas(),context.canvas);var parameters={renderer:"react"},decorators=[(Story,context)=>{if(!context.parameters?.react?.rsc)return React4.createElement(Story,null);let major=import_semver.default.major(React4.version),minor=import_semver.default.minor(React4.version);if(major<18||major===18&&minor<3)throw new Error("React Server Components require React >= 18.3");return React4.createElement(React4.Suspense,null,React4.createElement(Story,null))}];var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS={...entry_preview_exports,renderToCanvas:(renderContext,canvasElement)=>{if(renderContext.storyContext.testingLibraryRender==null)return renderToCanvas(renderContext,canvasElement);let{storyContext:{context,unboundStoryFn:Story,testingLibraryRender:render2}}=renderContext,{unmount}=render2(import_react3.default.createElement(Story,{...context}),{container:context.canvasElement});return unmount}};var preview_exports={};__export(preview_exports,{decorators:()=>decorators2,loaders:()=>loaders,parameters:()=>parameters2});var import_navigation2=require("@storybook/nextjs/navigation.mock"),import_router2=require("@storybook/nextjs/router.mock"),import_is_next_router_error=require("next/dist/client/components/is-next-router-error");var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React7=__toESM(require("react"));var import_react4=__toESM(require("react")),import_head_manager=__toESM(require("next/dist/client/head-manager")),import_head_manager_context=require("next/dist/shared/lib/head-manager-context.shared-runtime"),HeadManagerProvider=({children})=>{let headManager=(0,import_react4.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react4.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React7.createElement(head_manager_provider_default,null,React7.createElement(Story,null));var React8=__toESM(require("react")),import_image_context=require("@storybook/nextjs/dist/image-context"),ImageContext=import_image_context.ImageContext,ImageDecorator=(Story,{parameters:parameters3})=>parameters3.nextjs?.image?React8.createElement(ImageContext.Provider,{value:parameters3.nextjs.image},React8.createElement(Story,null)):React8.createElement(Story,null);var React11=__toESM(require("react")),import_redirect_boundary=require("next/dist/client/components/redirect-boundary");var import_react5=__toESM(require("react")),import_navigation=require("@storybook/nextjs/navigation.mock"),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"),import_segment=require("next/dist/shared/lib/segment");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(import_segment.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=(0,import_react5.useMemo)(()=>getSelectedParams(tree),[tree]);return import_react5.default.createElement(import_hooks_client_context.PathParamsContext.Provider,{value:pathParams},import_react5.default.createElement(import_hooks_client_context.PathnameContext.Provider,{value:pathname},import_react5.default.createElement(import_hooks_client_context.SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react5.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_react5.default.createElement(import_app_router_context.AppRouterContext.Provider,{value:(0,import_navigation.getRouter)()},import_react5.default.createElement(import_app_router_context.LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children))))))};var import_react6=__toESM(require("react")),import_router=require("@storybook/nextjs/router.mock"),import_router_context=require("next/dist/shared/lib/router-context.shared-runtime"),PageRouterProvider=({children})=>import_react6.default.createElement(import_router_context.RouterContext.Provider,{value:(0,import_router.getRouter)()},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{parameters:parameters3})=>parameters3.nextjs?.appDirectory??!1?AppRouterProvider?React11.createElement(AppRouterProvider,{routeParams:{...defaultRouterParams,...parameters3.nextjs?.navigation}},React11.createElement(import_redirect_boundary.RedirectBoundary,null,React11.createElement(Story,null))):null:React11.createElement(PageRouterProvider,null,React11.createElement(Story,null));var React12=__toESM(require("react")),import_styled_jsx=require("styled-jsx"),StyledJsxDecorator=Story=>React12.createElement(import_styled_jsx.StyleRegistry,null,React12.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];(0,import_is_next_router_error.isNextRouterError)(error)||isAsyncClientComponentError(error)||origConsoleError.apply(globalThis.console,args)};globalThis.addEventListener("error",ev=>{if((0,import_is_next_router_error.isNextRouterError)(ev.error)||isAsyncClientComponentError(ev.error)){ev.preventDefault();return}});var decorators2=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],loaders=async({globals,parameters:parameters3})=>{let{router,appDirectory}=parameters3.nextjs??{};appDirectory?(0,import_navigation2.createNavigation)(router):(0,import_router2.createRouter)({locale:globals.locale,...router})},parameters2={docs:{source:{excludeDecorators:!0}},react:{rootOptions:{onCaughtError(error){(0,import_is_next_router_error.isNextRouterError)(error)||console.error(error)}}}};function setProjectAnnotations(projectAnnotations){return(0,import_preview_api2.setDefaultProjectAnnotations)(INTERNAL_DEFAULT_PROJECT_ANNOTATIONS2),(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS2=(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,INTERNAL_DEFAULT_PROJECT_ANNOTATIONS2,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}0&&(module.exports={composeStories,composeStory,setProjectAnnotations});
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 __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};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);function preventActChecks(callback){let originalActEnvironment=globalThis.IS_REACT_ACT_ENVIRONMENT;globalThis.IS_REACT_ACT_ENVIRONMENT=!1;try{callback()}finally{globalThis.IS_REACT_ACT_ENVIRONMENT=originalActEnvironment}}var init_chunk_QGXSKZ4X=__esm({"../../lib/react-dom-shim/dist/chunk-QGXSKZ4X.mjs"(){"use strict"}});var react_18_exports={};__export(react_18_exports,{renderElement:()=>renderElement,unmountElement:()=>unmountElement});var React2,ReactDOM,nodes,WithCallback,renderElement,unmountElement,getReactRoot,init_react_18=__esm({"../../lib/react-dom-shim/dist/react-18.mjs"(){"use strict";init_chunk_QGXSKZ4X();React2=__toESM(require("react"),1),ReactDOM=__toESM(require("react-dom/client"),1),nodes=new Map,WithCallback=({callback,children})=>{let once=React2.useRef();return React2.useLayoutEffect(()=>{once.current!==callback&&(once.current=callback,callback())},[callback]),children};typeof Promise.withResolvers>"u"&&(Promise.withResolvers=()=>{let resolve=null,reject=null;return{promise:new Promise((res,rej)=>{resolve=res,reject=rej}),resolve,reject}});renderElement=async(node,el,rootOptions)=>{let root=await getReactRoot(el,rootOptions),{promise,resolve}=Promise.withResolvers();return preventActChecks(()=>root.render(React2.createElement(WithCallback,{callback:resolve},node))),promise},unmountElement=(el,shouldUseNewRootApi)=>{let root=nodes.get(el);root&&(preventActChecks(()=>root.unmount()),nodes.delete(el))},getReactRoot=async(el,rootOptions)=>{let root=nodes.get(el);return root||(root=ReactDOM.createRoot(el,rootOptions),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/internal/preview-api");var import_react3=__toESM(require("react")),import_preview_api=require("storybook/internal/preview-api");var entry_preview_exports={};__export(entry_preview_exports,{decorators:()=>decorators,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var React4=__toESM(require("react")),import_semver=__toESM(require("semver"));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 import_react2=__toESM(require("react"));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{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{renderElement:renderElement2,unmountElement:unmountElement2}=await Promise.resolve().then(()=>(init_react_18(),react_18_exports)),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&&unmountElement2(canvasElement),await renderElement2(element,canvasElement,storyContext?.parameters?.react?.rootOptions),()=>unmountElement2(canvasElement)}var mount=context=>async ui=>(ui!=null&&(context.originalStoryFn=()=>ui),await context.renderToCanvas(),context.canvas);var parameters={renderer:"react"},decorators=[(Story,context)=>{if(!context.parameters?.react?.rsc)return React4.createElement(Story,null);let major=import_semver.default.major(React4.version),minor=import_semver.default.minor(React4.version);if(major<18||major===18&&minor<3)throw new Error("React Server Components require React >= 18.3");return React4.createElement(React4.Suspense,null,React4.createElement(Story,null))}];var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS={...entry_preview_exports,renderToCanvas:(renderContext,canvasElement)=>{if(renderContext.storyContext.testingLibraryRender==null)return renderToCanvas(renderContext,canvasElement);let{storyContext:{context,unboundStoryFn:Story,testingLibraryRender:render2}}=renderContext,{unmount}=render2(import_react3.default.createElement(Story,{...context}),{container:context.canvasElement});return unmount}};var preview_exports={};__export(preview_exports,{decorators:()=>decorators2,loaders:()=>loaders,parameters:()=>parameters2});var import_navigation2=require("@storybook/nextjs/navigation.mock"),import_router2=require("@storybook/nextjs/router.mock"),import_is_next_router_error=require("next/dist/client/components/is-next-router-error");var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React7=__toESM(require("react"));var import_react4=__toESM(require("react")),import_head_manager=__toESM(require("next/dist/client/head-manager")),import_head_manager_context=require("next/dist/shared/lib/head-manager-context.shared-runtime"),HeadManagerProvider=({children})=>{let headManager=(0,import_react4.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react4.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React7.createElement(head_manager_provider_default,null,React7.createElement(Story,null));var React8=__toESM(require("react")),import_image_context=require("@storybook/nextjs/dist/image-context"),ImageContext=import_image_context.ImageContext,ImageDecorator=(Story,{parameters:parameters3})=>parameters3.nextjs?.image?React8.createElement(ImageContext.Provider,{value:parameters3.nextjs.image},React8.createElement(Story,null)):React8.createElement(Story,null);var React11=__toESM(require("react")),import_redirect_boundary=require("next/dist/client/components/redirect-boundary");var import_react5=__toESM(require("react")),import_navigation=require("@storybook/nextjs/navigation.mock"),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"),import_segment=require("next/dist/shared/lib/segment");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(import_segment.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=(0,import_react5.useMemo)(()=>getSelectedParams(tree),[tree]);return import_react5.default.createElement(import_hooks_client_context.PathParamsContext.Provider,{value:pathParams},import_react5.default.createElement(import_hooks_client_context.PathnameContext.Provider,{value:pathname},import_react5.default.createElement(import_hooks_client_context.SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react5.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_react5.default.createElement(import_app_router_context.AppRouterContext.Provider,{value:(0,import_navigation.getRouter)()},import_react5.default.createElement(import_app_router_context.LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname,loading:null}},children))))))};var import_react6=__toESM(require("react")),import_router=require("@storybook/nextjs/router.mock"),import_router_context=require("next/dist/shared/lib/router-context.shared-runtime"),PageRouterProvider=({children})=>import_react6.default.createElement(import_router_context.RouterContext.Provider,{value:(0,import_router.getRouter)()},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{parameters:parameters3})=>parameters3.nextjs?.appDirectory??!1?AppRouterProvider?React11.createElement(AppRouterProvider,{routeParams:{...defaultRouterParams,...parameters3.nextjs?.navigation}},React11.createElement(import_redirect_boundary.RedirectBoundary,null,React11.createElement(Story,null))):null:React11.createElement(PageRouterProvider,null,React11.createElement(Story,null));var React12=__toESM(require("react")),import_styled_jsx=require("styled-jsx"),StyledJsxDecorator=Story=>React12.createElement(import_styled_jsx.StyleRegistry,null,React12.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];(0,import_is_next_router_error.isNextRouterError)(error)||isAsyncClientComponentError(error)||origConsoleError.apply(globalThis.console,args)};globalThis.addEventListener("error",ev=>{if((0,import_is_next_router_error.isNextRouterError)(ev.error)||isAsyncClientComponentError(ev.error)){ev.preventDefault();return}});var decorators2=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],loaders=async({globals,parameters:parameters3})=>{let{router,appDirectory}=parameters3.nextjs??{};appDirectory?(0,import_navigation2.createNavigation)(router):(0,import_router2.createRouter)({locale:globals.locale,...router})},parameters2={docs:{source:{excludeDecorators:!0}},react:{rootOptions:{onCaughtError(error){(0,import_is_next_router_error.isNextRouterError)(error)||console.error(error)}}}};function setProjectAnnotations(projectAnnotations){return(0,import_preview_api2.setDefaultProjectAnnotations)(INTERNAL_DEFAULT_PROJECT_ANNOTATIONS2),(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS2=(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,INTERNAL_DEFAULT_PROJECT_ANNOTATIONS2,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,4 +1,4 @@
1
- import { preview_exports } from './chunk-VO5G2M3L.mjs';
1
+ import { preview_exports } from './chunk-EPPXVIAF.mjs';
2
2
  import './chunk-NQ32RFK2.mjs';
3
3
  import { __export } from './chunk-42AJV46F.mjs';
4
4
  import { composeConfigs, setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from 'storybook/internal/preview-api';