@storybook/nextjs 8.0.0-alpha.0 → 8.0.0-alpha.1

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/README.md CHANGED
@@ -40,6 +40,7 @@
40
40
  - [Runtime Config](#runtime-config)
41
41
  - [Custom Webpack Config](#custom-webpack-config)
42
42
  - [Typescript](#typescript)
43
+ - [Experimental React Server Components (RSC)](#experimental-react-server-components-rsc)
43
44
  - [Notes for Yarn v2 and v3 users](#notes-for-yarn-v2-and-v3-users)
44
45
  - [FAQ](#faq)
45
46
  - [Stories for pages/components which fetch data](#stories-for-pagescomponents-which-fetch-data)
@@ -268,7 +269,6 @@ The following features are not supported (yet). Support for these features might
268
269
  - [Support font loaders configuration in next.config.js](https://nextjs.org/docs/basic-features/font-optimization#specifying-a-subset)
269
270
  - [fallback](https://nextjs.org/docs/api-reference/next/font#fallback) option
270
271
  - [adjustFontFallback](https://nextjs.org/docs/api-reference/next/font#adjustfontfallback) option
271
- - [declarations](https://nextjs.org/docs/api-reference/next/font#declarations) option
272
272
  - [preload](https://nextjs.org/docs/api-reference/next/font#preload) option gets ignored. Storybook handles Font loading its own way.
273
273
  - [display](https://nextjs.org/docs/api-reference/next/font#display) option gets ignored. All fonts are loaded with display set to "block" to make Storybook load the font properly.
274
274
 
@@ -909,6 +909,39 @@ Storybook handles most [Typescript](https://www.typescriptlang.org/) configurati
909
909
  }
910
910
  ```
911
911
 
912
+ ### Experimental React Server Components (RSC)
913
+
914
+ If your app uses [React Server Components (RSC)](https://nextjs.org/docs/app/building-your-application/rendering/server-components), Storybook can render them in stories in the browser.
915
+
916
+ To enable this set the `experimentalNextRSC` feature flag in your `.storybook/main.js` config:
917
+
918
+ ```js
919
+ // main.js
920
+ export default {
921
+ features: {
922
+ experimentalNextRSC: true,
923
+ },
924
+ };
925
+ ```
926
+
927
+ Setting this flag automatically wraps your story in a [Suspense](https://react.dev/reference/react/Suspense) wrapper, which is able to render asynchronous components in NextJS's version of React.
928
+
929
+ If this wrapper causes problems in any of your existing stories, you can selectively disable it using the `nextjs.rsc` [parameter](https://storybook.js.org/docs/writing-stories/parameters) at the global/component/story level:
930
+
931
+ ```js
932
+ // MyServerComponent.stories.js
933
+ export default {
934
+ component: MyServerComponent,
935
+ parameters: { nextjs: { rsc: false } },
936
+ };
937
+ ```
938
+
939
+ Note that wrapping your server components in Suspense does not help if your server components access server-side resources like the file system or Node-specific libraries. To deal work around this, you'll need to mock out your data access layer using [Webpack aliases](https://webpack.js.org/configuration/resolve/#resolvealias) or an addon like [storybook-addon-module-mock](https://storybook.js.org/addons/storybook-addon-module-mock).
940
+
941
+ If your server components access data via the network, we recommend using the [MSW Storybook Addon](https://storybook.js.org/addons/msw-storybook-addon) to mock network requests.
942
+
943
+ In the future we will provide better mocking support in Storybook and support for [Server Actions](https://nextjs.org/docs/app/api-reference/functions/server-actions).
944
+
912
945
  ### Notes for Yarn v2 and v3 users
913
946
 
914
947
  If you're using [Yarn](https://yarnpkg.com/) v2 or v3, you may run into issues where Storybook can't resolve `style-loader` or `css-loader`. For example, you might get errors like:
@@ -0,0 +1,3 @@
1
+ var __getOwnPropNames=Object.getOwnPropertyNames;var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};
2
+
3
+ export { __commonJS };
@@ -1,19 +1,14 @@
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);var google_font_utils_exports={};__export(google_font_utils_exports,{fetchCSSFromGoogleFonts:()=>fetchCSSFromGoogleFonts,getFontAxes:()=>getFontAxes,getUrl:()=>getUrl,validateData:()=>validateData});var import_ts_dedent,validateData,getUrl,getFontAxes,fetchCSSFromGoogleFonts,init_google_font_utils=__esm({"src/font/webpack/loader/utils/google-font-utils.ts"(){"use strict";import_ts_dedent=__toESM(require("ts-dedent"));try{let fontUtils=require("@next/font/dist/google/utils");validateData=fontUtils.validateData,getUrl=fontUtils.getUrl,getFontAxes=fontUtils.getFontAxes,fetchCSSFromGoogleFonts=fontUtils.fetchCSSFromGoogleFonts}catch{try{let fontUtils=require("next/dist/compiled/@next/font/dist/google/utils");validateData=fontUtils.validateData,getUrl=fontUtils.getUrl,getFontAxes=fontUtils.getFontAxes,fetchCSSFromGoogleFonts=fontUtils.fetchCSSFromGoogleFonts}catch{try{validateData=(functionName,fontData,config)=>require("next/dist/compiled/@next/font/dist/google/validate-google-font-function-call").validateGoogleFontFunctionCall(functionName,fontData[0],config),getUrl=require("next/dist/compiled/@next/font/dist/google/get-google-fonts-url").getGoogleFontsUrl,getFontAxes=require("next/dist/compiled/@next/font/dist/google/get-font-axes").getFontAxes,fetchCSSFromGoogleFonts=require("next/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts").fetchCSSFromGoogleFonts}catch{throw new Error(import_ts_dedent.default`
2
- We are unable to load the helper functions to use next/font/google.
3
- Please downgrade Next.js to version 13.2.4 to continue to use next/font/google in Storybook.
4
- Feel free to open a Github Issue!
5
- `)}}}}});var local_font_utils_exports={};__export(local_font_utils_exports,{validateData:()=>validateData2});var import_ts_dedent2,validateData2,init_local_font_utils=__esm({"src/font/webpack/loader/utils/local-font-utils.ts"(){"use strict";import_ts_dedent2=__toESM(require("ts-dedent"));try{validateData2=require("@next/font/dist/local/utils").validateData}catch{try{validateData2=require("next/dist/compiled/@next/font/dist/local/utils").validateData}catch{try{validateData2=require("next/dist/compiled/@next/font/dist/local/validate-local-font-function-call").validateLocalFontFunctionCall}catch{throw new Error(import_ts_dedent2.default`
6
- We are unable to load the helper functions to use next/font/local.
7
- Please downgrade Next.js to version 13.2.4 to continue to use next/font/local in Storybook.
8
- Feel free to open a Github Issue!
9
- `)}}}}});var storybook_nextjs_font_loader_exports={};__export(storybook_nextjs_font_loader_exports,{default:()=>storybookNextjsFontLoader});module.exports=__toCommonJS(storybook_nextjs_font_loader_exports);var import_loader_utils3=__toESM(require("next/dist/compiled/loader-utils3")),import_server_errors=require("@storybook/core-events/server-errors"),cssCache=new Map;async function getFontFaceDeclarations(options){let{fetchCSSFromGoogleFonts:fetchCSSFromGoogleFonts2,getFontAxes:getFontAxes2,getUrl:getUrl2,validateData:validateData3}=(init_google_font_utils(),__toCommonJS(google_font_utils_exports)),{fontFamily,weights,styles,selectedVariableAxes,display,variable}=validateData3(options.fontFamily,[options.props],null),fontAxes=getFontAxes2(fontFamily,weights,styles,selectedVariableAxes),url=getUrl2(fontFamily,fontAxes,display);try{let hasCachedCSS=cssCache.has(url),fontFaceCSS=hasCachedCSS?cssCache.get(url):await fetchCSSFromGoogleFonts2(url,fontFamily).catch(()=>null);if(hasCachedCSS?cssCache.delete(url):cssCache.set(url,fontFaceCSS),fontFaceCSS===null)throw new import_server_errors.GoogleFontsDownloadError({fontFamily,url});return{id:import_loader_utils3.default.getHashDigest(url,"md5","hex",6),fontFamily,fontFaceCSS,weights,styles,variable}}catch(error){throw new import_server_errors.GoogleFontsLoadingError({error,url})}}var import_loader_utils32=__toESM(require("next/dist/compiled/loader-utils3")),import_core_common=require("@storybook/core-common"),import_path=__toESM(require("path"));async function getFontFaceDeclarations2(options,rootContext){let localFontSrc=options.props.src,parentFolder=import_path.default.dirname(import_path.default.join((0,import_core_common.getProjectRoot)(),options.filename)).replace(rootContext,""),{validateData:validateData3}=(init_local_font_utils(),__toCommonJS(local_font_utils_exports)),{weight,style,variable}=validateData3("",options.props),id=`font-${import_loader_utils32.default.getHashDigest(Buffer.from(JSON.stringify(localFontSrc)),"md5","hex",6)}`,arePathsWin32Format=/^[a-z]:\\/iu.test(options.filename),cleanWin32Path=pathString=>arePathsWin32Format?pathString.replace(/\\/gu,"/"):pathString;return{id,fontFamily:id,fontFaceCSS:(()=>{if(typeof localFontSrc=="string"){let localFontPath=cleanWin32Path(import_path.default.join(parentFolder,localFontSrc));return`@font-face {
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 storybook_nextjs_font_loader_exports={};__export(storybook_nextjs_font_loader_exports,{default:()=>storybookNextjsFontLoader});module.exports=__toCommonJS(storybook_nextjs_font_loader_exports);var import_loader_utils3=__toESM(require("next/dist/compiled/loader-utils3")),import_server_errors=require("@storybook/core-events/server-errors"),import_validate_google_font_function_call=require("next/dist/compiled/@next/font/dist/google/validate-google-font-function-call"),import_get_google_fonts_url=require("next/dist/compiled/@next/font/dist/google/get-google-fonts-url"),import_get_font_axes=require("next/dist/compiled/@next/font/dist/google/get-font-axes"),import_fetch_css_from_google_fonts=require("next/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts"),cssCache=new Map;async function getFontFaceDeclarations(options){let{fontFamily,weights,styles,selectedVariableAxes,display,variable}=(0,import_validate_google_font_function_call.validateGoogleFontFunctionCall)(options.fontFamily,options.props),fontAxes=(0,import_get_font_axes.getFontAxes)(fontFamily,weights,styles,selectedVariableAxes),url=(0,import_get_google_fonts_url.getGoogleFontsUrl)(fontFamily,fontAxes,display);try{let hasCachedCSS=cssCache.has(url),fontFaceCSS=hasCachedCSS?cssCache.get(url):await(0,import_fetch_css_from_google_fonts.fetchCSSFromGoogleFonts)(url,fontFamily,!0).catch(()=>null);if(hasCachedCSS?cssCache.delete(url):cssCache.set(url,fontFaceCSS),fontFaceCSS===null)throw new import_server_errors.GoogleFontsDownloadError({fontFamily,url});return{id:import_loader_utils3.default.getHashDigest(url,"md5","hex",6),fontFamily,fontFaceCSS,weights,styles,variable}}catch(error){throw new import_server_errors.GoogleFontsLoadingError({error,url})}}var import_loader_utils32=__toESM(require("next/dist/compiled/loader-utils3")),import_core_common=require("@storybook/core-common"),import_validate_local_font_function_call=require("next/dist/compiled/@next/font/dist/local/validate-local-font-function-call"),import_path=__toESM(require("path"));async function getFontFaceDeclarations2(options,rootContext,swcMode){let localFontSrc=options.props.src,parentFolder=swcMode?import_path.default.dirname(import_path.default.join((0,import_core_common.getProjectRoot)(),options.filename)).replace(rootContext,""):import_path.default.dirname(options.filename).replace(rootContext,""),{weight,style,variable,declarations=[]}=(0,import_validate_local_font_function_call.validateLocalFontFunctionCall)("",options.props),id=`font-${import_loader_utils32.default.getHashDigest(Buffer.from(JSON.stringify(localFontSrc)),"md5","hex",6)}`,fontDeclarations=declarations.map(({prop,value})=>`${prop}: ${value};`).join(`
2
+ `),arePathsWin32Format=/^[a-z]:\\/iu.test(options.filename),cleanWin32Path=pathString=>arePathsWin32Format?pathString.replace(/\\/gu,"/"):pathString;return{id,fontFamily:id,fontFaceCSS:(()=>{if(typeof localFontSrc=="string"){let localFontPath=cleanWin32Path(import_path.default.join(parentFolder,localFontSrc));return`@font-face {
10
3
  font-family: ${id};
11
4
  src: url(.${localFontPath});
5
+ ${fontDeclarations}
12
6
  }`}return localFontSrc.map(font=>{let localFontPath=cleanWin32Path(import_path.default.join(parentFolder,font.path));return`@font-face {
13
7
  font-family: ${id};
14
8
  src: url(.${localFontPath});
15
9
  ${font.weight?`font-weight: ${font.weight};`:""}
16
10
  ${font.style?`font-style: ${font.style};`:""}
11
+ ${fontDeclarations}
17
12
  }`}).join("")})(),weights:weight?[weight]:[],styles:style?[style]:[],variable}}function getCSSMeta(options){let className=getClassName(options),style=getStylesObj(options),variableClassName=`__variable_${className}`,classNamesCSS=`
18
13
  .${className} {
19
14
  font-family: ${options.fontFamily};
@@ -37,7 +32,7 @@
37
32
  document.head.appendChild(classNamesStyle);
38
33
 
39
34
  }
40
- `}async function storybookNextjsFontLoader(){let loaderOptions=this.getOptions(),options;if(Object.keys(loaderOptions).length>0)options=loaderOptions;else{let importQuery=JSON.parse(this.resourceQuery.slice(1));options={filename:importQuery.path,fontFamily:importQuery.import,props:importQuery.arguments[0],source:this.context.replace(this.rootContext,"")}}let rootCtx=this.rootContext,fontFaceDeclaration;if((options.source.endsWith("next/font/google")||options.source.endsWith("@next/font/google"))&&(fontFaceDeclaration=await getFontFaceDeclarations(options)),(options.source.endsWith("next/font/local")||options.source.endsWith("@next/font/local"))&&(fontFaceDeclaration=await getFontFaceDeclarations2(options,rootCtx)),typeof fontFaceDeclaration<"u"){let cssMeta=getCSSMeta(fontFaceDeclaration);return`
35
+ `}async function storybookNextjsFontLoader(){let loaderOptions=this.getOptions(),swcMode=!1,options;if(Object.keys(loaderOptions).length>0)options=loaderOptions;else{let importQuery=JSON.parse(this.resourceQuery.slice(1));swcMode=!0,options={filename:importQuery.path,fontFamily:importQuery.import,props:importQuery.arguments[0],source:this.context.replace(this.rootContext,"")}}let rootCtx=this.rootContext,fontFaceDeclaration;if((options.source.endsWith("next/font/google")||options.source.endsWith("@next/font/google"))&&(fontFaceDeclaration=await getFontFaceDeclarations(options)),(options.source.endsWith("next/font/local")||options.source.endsWith("@next/font/local"))&&(fontFaceDeclaration=await getFontFaceDeclarations2(options,rootCtx,swcMode)),typeof fontFaceDeclaration<"u"){let cssMeta=getCSSMeta(fontFaceDeclaration);return`
41
36
  ${setFontDeclarationsInHead({fontFaceCSS:cssMeta.fontFaceCSS,id:fontFaceDeclaration.id,classNamesCSS:cssMeta.classNamesCSS})}
42
37
 
43
38
  module.exports = {
@@ -1,26 +1,25 @@
1
- import { __export, __esm, __require, __toCommonJS } from '../../../chunk-FFRTCGB4.mjs';
2
- import dedent from 'ts-dedent';
1
+ import '../../../chunk-WZORWVJM.mjs';
3
2
  import loaderUtils from 'next/dist/compiled/loader-utils3';
4
3
  import { GoogleFontsDownloadError, GoogleFontsLoadingError } from '@storybook/core-events/server-errors';
4
+ import { validateGoogleFontFunctionCall } from 'next/dist/compiled/@next/font/dist/google/validate-google-font-function-call';
5
+ import { getGoogleFontsUrl } from 'next/dist/compiled/@next/font/dist/google/get-google-fonts-url';
6
+ import { getFontAxes } from 'next/dist/compiled/@next/font/dist/google/get-font-axes';
7
+ import { fetchCSSFromGoogleFonts } from 'next/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts';
5
8
  import { getProjectRoot } from '@storybook/core-common';
9
+ import { validateLocalFontFunctionCall } from 'next/dist/compiled/@next/font/dist/local/validate-local-font-function-call';
6
10
  import path from 'path';
7
11
 
8
- var google_font_utils_exports={};__export(google_font_utils_exports,{fetchCSSFromGoogleFonts:()=>fetchCSSFromGoogleFonts,getFontAxes:()=>getFontAxes,getUrl:()=>getUrl,validateData:()=>validateData});var validateData,getUrl,getFontAxes,fetchCSSFromGoogleFonts,init_google_font_utils=__esm({"src/font/webpack/loader/utils/google-font-utils.ts"(){try{let fontUtils=__require("@next/font/dist/google/utils");validateData=fontUtils.validateData,getUrl=fontUtils.getUrl,getFontAxes=fontUtils.getFontAxes,fetchCSSFromGoogleFonts=fontUtils.fetchCSSFromGoogleFonts;}catch{try{let fontUtils=__require("next/dist/compiled/@next/font/dist/google/utils");validateData=fontUtils.validateData,getUrl=fontUtils.getUrl,getFontAxes=fontUtils.getFontAxes,fetchCSSFromGoogleFonts=fontUtils.fetchCSSFromGoogleFonts;}catch{try{validateData=(functionName,fontData,config)=>__require("next/dist/compiled/@next/font/dist/google/validate-google-font-function-call").validateGoogleFontFunctionCall(functionName,fontData[0],config),getUrl=__require("next/dist/compiled/@next/font/dist/google/get-google-fonts-url").getGoogleFontsUrl,getFontAxes=__require("next/dist/compiled/@next/font/dist/google/get-font-axes").getFontAxes,fetchCSSFromGoogleFonts=__require("next/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts").fetchCSSFromGoogleFonts;}catch{throw new Error(dedent`
9
- We are unable to load the helper functions to use next/font/google.
10
- Please downgrade Next.js to version 13.2.4 to continue to use next/font/google in Storybook.
11
- Feel free to open a Github Issue!
12
- `)}}}}});var local_font_utils_exports={};__export(local_font_utils_exports,{validateData:()=>validateData2});var validateData2,init_local_font_utils=__esm({"src/font/webpack/loader/utils/local-font-utils.ts"(){try{validateData2=__require("@next/font/dist/local/utils").validateData;}catch{try{validateData2=__require("next/dist/compiled/@next/font/dist/local/utils").validateData;}catch{try{validateData2=__require("next/dist/compiled/@next/font/dist/local/validate-local-font-function-call").validateLocalFontFunctionCall;}catch{throw new Error(dedent`
13
- We are unable to load the helper functions to use next/font/local.
14
- Please downgrade Next.js to version 13.2.4 to continue to use next/font/local in Storybook.
15
- Feel free to open a Github Issue!
16
- `)}}}}});var cssCache=new Map;async function getFontFaceDeclarations(options){let{fetchCSSFromGoogleFonts:fetchCSSFromGoogleFonts2,getFontAxes:getFontAxes2,getUrl:getUrl2,validateData:validateData3}=(init_google_font_utils(),__toCommonJS(google_font_utils_exports)),{fontFamily,weights,styles,selectedVariableAxes,display,variable}=validateData3(options.fontFamily,[options.props],null),fontAxes=getFontAxes2(fontFamily,weights,styles,selectedVariableAxes),url=getUrl2(fontFamily,fontAxes,display);try{let hasCachedCSS=cssCache.has(url),fontFaceCSS=hasCachedCSS?cssCache.get(url):await fetchCSSFromGoogleFonts2(url,fontFamily).catch(()=>null);if(hasCachedCSS?cssCache.delete(url):cssCache.set(url,fontFaceCSS),fontFaceCSS===null)throw new GoogleFontsDownloadError({fontFamily,url});return {id:loaderUtils.getHashDigest(url,"md5","hex",6),fontFamily,fontFaceCSS,weights,styles,variable}}catch(error){throw new GoogleFontsLoadingError({error,url})}}async function getFontFaceDeclarations2(options,rootContext){let localFontSrc=options.props.src,parentFolder=path.dirname(path.join(getProjectRoot(),options.filename)).replace(rootContext,""),{validateData:validateData3}=(init_local_font_utils(),__toCommonJS(local_font_utils_exports)),{weight,style,variable}=validateData3("",options.props),id=`font-${loaderUtils.getHashDigest(Buffer.from(JSON.stringify(localFontSrc)),"md5","hex",6)}`,arePathsWin32Format=/^[a-z]:\\/iu.test(options.filename),cleanWin32Path=pathString=>arePathsWin32Format?pathString.replace(/\\/gu,"/"):pathString;return {id,fontFamily:id,fontFaceCSS:(()=>{if(typeof localFontSrc=="string"){let localFontPath=cleanWin32Path(path.join(parentFolder,localFontSrc));return `@font-face {
12
+ var cssCache=new Map;async function getFontFaceDeclarations(options){let{fontFamily,weights,styles,selectedVariableAxes,display,variable}=validateGoogleFontFunctionCall(options.fontFamily,options.props),fontAxes=getFontAxes(fontFamily,weights,styles,selectedVariableAxes),url=getGoogleFontsUrl(fontFamily,fontAxes,display);try{let hasCachedCSS=cssCache.has(url),fontFaceCSS=hasCachedCSS?cssCache.get(url):await fetchCSSFromGoogleFonts(url,fontFamily,!0).catch(()=>null);if(hasCachedCSS?cssCache.delete(url):cssCache.set(url,fontFaceCSS),fontFaceCSS===null)throw new GoogleFontsDownloadError({fontFamily,url});return {id:loaderUtils.getHashDigest(url,"md5","hex",6),fontFamily,fontFaceCSS,weights,styles,variable}}catch(error){throw new GoogleFontsLoadingError({error,url})}}async function getFontFaceDeclarations2(options,rootContext,swcMode){let localFontSrc=options.props.src,parentFolder=swcMode?path.dirname(path.join(getProjectRoot(),options.filename)).replace(rootContext,""):path.dirname(options.filename).replace(rootContext,""),{weight,style,variable,declarations=[]}=validateLocalFontFunctionCall("",options.props),id=`font-${loaderUtils.getHashDigest(Buffer.from(JSON.stringify(localFontSrc)),"md5","hex",6)}`,fontDeclarations=declarations.map(({prop,value})=>`${prop}: ${value};`).join(`
13
+ `),arePathsWin32Format=/^[a-z]:\\/iu.test(options.filename),cleanWin32Path=pathString=>arePathsWin32Format?pathString.replace(/\\/gu,"/"):pathString;return {id,fontFamily:id,fontFaceCSS:(()=>{if(typeof localFontSrc=="string"){let localFontPath=cleanWin32Path(path.join(parentFolder,localFontSrc));return `@font-face {
17
14
  font-family: ${id};
18
15
  src: url(.${localFontPath});
16
+ ${fontDeclarations}
19
17
  }`}return localFontSrc.map(font=>{let localFontPath=cleanWin32Path(path.join(parentFolder,font.path));return `@font-face {
20
18
  font-family: ${id};
21
19
  src: url(.${localFontPath});
22
20
  ${font.weight?`font-weight: ${font.weight};`:""}
23
21
  ${font.style?`font-style: ${font.style};`:""}
22
+ ${fontDeclarations}
24
23
  }`}).join("")})(),weights:weight?[weight]:[],styles:style?[style]:[],variable}}function getCSSMeta(options){let className=getClassName(options),style=getStylesObj(options),variableClassName=`__variable_${className}`,classNamesCSS=`
25
24
  .${className} {
26
25
  font-family: ${options.fontFamily};
@@ -44,7 +43,7 @@ var google_font_utils_exports={};__export(google_font_utils_exports,{fetchCSSFro
44
43
  document.head.appendChild(classNamesStyle);
45
44
 
46
45
  }
47
- `}async function storybookNextjsFontLoader(){let loaderOptions=this.getOptions(),options;if(Object.keys(loaderOptions).length>0)options=loaderOptions;else {let importQuery=JSON.parse(this.resourceQuery.slice(1));options={filename:importQuery.path,fontFamily:importQuery.import,props:importQuery.arguments[0],source:this.context.replace(this.rootContext,"")};}let rootCtx=this.rootContext,fontFaceDeclaration;if((options.source.endsWith("next/font/google")||options.source.endsWith("@next/font/google"))&&(fontFaceDeclaration=await getFontFaceDeclarations(options)),(options.source.endsWith("next/font/local")||options.source.endsWith("@next/font/local"))&&(fontFaceDeclaration=await getFontFaceDeclarations2(options,rootCtx)),typeof fontFaceDeclaration<"u"){let cssMeta=getCSSMeta(fontFaceDeclaration);return `
46
+ `}async function storybookNextjsFontLoader(){let loaderOptions=this.getOptions(),swcMode=!1,options;if(Object.keys(loaderOptions).length>0)options=loaderOptions;else {let importQuery=JSON.parse(this.resourceQuery.slice(1));swcMode=!0,options={filename:importQuery.path,fontFamily:importQuery.import,props:importQuery.arguments[0],source:this.context.replace(this.rootContext,"")};}let rootCtx=this.rootContext,fontFaceDeclaration;if((options.source.endsWith("next/font/google")||options.source.endsWith("@next/font/google"))&&(fontFaceDeclaration=await getFontFaceDeclarations(options)),(options.source.endsWith("next/font/local")||options.source.endsWith("@next/font/local"))&&(fontFaceDeclaration=await getFontFaceDeclarations2(options,rootCtx,swcMode)),typeof fontFaceDeclaration<"u"){let cssMeta=getCSSMeta(fontFaceDeclaration);return `
48
47
  ${setFontDeclarationsInHead({fontFaceCSS:cssMeta.fontFaceCSS,id:fontFaceDeclaration.id,classNamesCSS:cssMeta.classNamesCSS})}
49
48
 
50
49
  module.exports = {
@@ -1,4 +1,4 @@
1
- import './chunk-FFRTCGB4.mjs';
1
+ import './chunk-WZORWVJM.mjs';
2
2
  import { createContext } from 'react';
3
3
 
4
4
  var ImageContext=createContext({});
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { a as Addon_StoryContext } from '../index.d-ce26244c.js';
2
+ import { a as Addon_StoryContext } from '../index.d-45fb9e07.js';
3
3
  import 'file-system-cache';
4
4
  import '@babel/core';
5
5
  import 'http';
@@ -1,2 +1,2 @@
1
1
  export { ImageDecorator } from '../chunk-NQ32RFK2.mjs';
2
- import '../chunk-FFRTCGB4.mjs';
2
+ import '../chunk-WZORWVJM.mjs';
@@ -1,5 +1,5 @@
1
1
  import { defaultLoader } from '../chunk-ETFXNGLC.mjs';
2
- import '../chunk-FFRTCGB4.mjs';
2
+ import '../chunk-WZORWVJM.mjs';
3
3
  import OriginalNextImage 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-FFRTCGB4.mjs';
2
+ import '../chunk-WZORWVJM.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';
@@ -3130,6 +3130,10 @@ interface StorybookConfigRaw {
3130
3130
  * This will make sure that your story renders the same no matter if docgen is enabled or not.
3131
3131
  */
3132
3132
  disallowImplicitActionsInRenderV8?: boolean;
3133
+ /**
3134
+ * Enable asynchronous component rendering in NextJS framework
3135
+ */
3136
+ experimentalNextRSC?: boolean;
3133
3137
  };
3134
3138
  build?: TestBuildConfig;
3135
3139
  stories: StoriesEntry[];
@@ -1,4 +1,4 @@
1
- import { __commonJS } from './chunk-FFRTCGB4.mjs';
1
+ import { __commonJS } from './chunk-WZORWVJM.mjs';
2
2
  import { interpolateName } from 'loader-utils';
3
3
  import imageSizeOf from 'image-size';
4
4
  import sharp from 'sharp';
package/dist/preset.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as PresetProperty } from './index.d-ce26244c.js';
1
+ import { P as PresetProperty } from './index.d-45fb9e07.js';
2
2
  import { StorybookConfig } from './index.js';
3
3
  import 'file-system-cache';
4
4
  import '@babel/core';
package/dist/preset.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);var jsx_pragma_exports={};__export(jsx_pragma_exports,{default:()=>jsxPragma});function jsxPragma({types:t}){return{inherits:import_plugin_syntax_jsx.default,visitor:{JSXElement(_path,state){state.set("jsx",!0)},JSXFragment(_path,state){state.set("jsx",!0)},Program:{exit(path4,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path4.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path4.scope.generateUidIdentifier("pragma");let mapping2=t.variableDeclaration("var",[t.variableDeclarator(pragma,t.memberExpression(importAs,t.identifier(state.opts.property)))]),newPath;existingBinding&&t.isVariableDeclarator(existingBinding.path.node)&&t.isCallExpression(existingBinding.path.node.init)&&t.isIdentifier(existingBinding.path.node.init.callee)&&existingBinding.path.node.init.callee.name==="require"?[newPath]=existingBinding.path.parentPath.insertAfter(mapping2):[newPath]=path4.unshiftContainer("body",mapping2);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path4.scope.registerBinding(kind,declar)}}if(!existingBinding){let importSpecifier=t.importDeclaration([state.opts.import?t.importSpecifier(importAs,t.identifier(state.opts.import)):state.opts.importNamespace?t.importNamespaceSpecifier(importAs):t.importDefaultSpecifier(importAs)],t.stringLiteral(state.opts.module||"react")),[newPath]=path4.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path4.scope.registerBinding("module",specifier)}}}}}}}var import_plugin_syntax_jsx,init_jsx_pragma=__esm({"src/babel/plugins/jsx-pragma.ts"(){"use strict";import_plugin_syntax_jsx=__toESM(require("next/dist/compiled/babel/plugin-syntax-jsx"))}});var optimize_hook_destructuring_exports={};__export(optimize_hook_destructuring_exports,{default:()=>optimizeHookDestructuring});function optimizeHookDestructuring({types:t}){let visitor={CallExpression(path4,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path4.parent)||!t.isArrayPattern(path4.parent.id))return;let hookName=path4.node.callee.name;if(libs){let binding=path4.scope.getBinding(hookName);if(!binding||binding.kind!=="module")return;let specifier=binding.path.parent.source.value;if(!libs.some(lib=>lib===specifier))return}(onlyBuiltIns?isBuiltInHook:isHook).test(hookName)&&(path4.parent.id=t.objectPattern(path4.parent.id.elements.reduce((patterns,element,i)=>element===null?patterns:patterns.concat(t.objectProperty(t.numericLiteral(i),element)),[])))}};return{name:"optimize-hook-destructuring",visitor:{Program(path4,state){path4.traverse(visitor,state)}}}}var isHook,isBuiltInHook,init_optimize_hook_destructuring=__esm({"src/babel/plugins/optimize-hook-destructuring.ts"(){"use strict";isHook=/^use[A-Z]/,isBuiltInHook=/^use(Callback|Context|DebugValue|Effect|ImperativeHandle|LayoutEffect|Memo|Reducer|Ref|State)$/}});var react_loadable_plugin_exports={};__export(react_loadable_plugin_exports,{default:()=>react_loadable_plugin_default});function react_loadable_plugin_default({types:t}){return{visitor:{ImportDeclaration(path4,state){if(path4.node.source.value!=="next/dynamic")return;let defaultSpecifier=path4.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path4.scope.getBinding(bindingName);binding&&binding.referencePaths.forEach(refPath=>{var _a,_b,_c;let callExpression=refPath.parentPath;if(callExpression.isMemberExpression()&&callExpression.node.computed===!1){let property=callExpression.get("property");!Array.isArray(property)&&property.isIdentifier({name:"Map"})&&(callExpression=callExpression.parentPath)}if(!callExpression.isCallExpression())return;let callExpression_=callExpression,args=callExpression_.get("arguments");if(args.length>2)throw callExpression_.buildCodeFrameError("next/dynamic only accepts 2 arguments");if(!args[0])return;let loader,options;if(args[0].isObjectExpression()?options=args[0]:(args[1]||callExpression_.node.arguments.push(t.objectExpression([])),args=callExpression_.get("arguments"),loader=args[0],options=args[1]),!options.isObjectExpression())return;let properties=options.get("properties"),propertiesMap={};if(properties.forEach(property=>{let key=property.get("key");propertiesMap[key.node.name]=property}),propertiesMap.loadableGenerated||(propertiesMap.loader&&(loader=propertiesMap.loader.get("value")),propertiesMap.modules&&(loader=propertiesMap.modules.get("value")),!loader||Array.isArray(loader)))return;let dynamicImports=[],dynamicKeys=[];if(propertiesMap.ssr){let ssr=propertiesMap.ssr.get("value"),nodePath=Array.isArray(ssr)?void 0:ssr;nodePath&&nodePath.node.type==="BooleanLiteral"&&nodePath.node.value===!1&&loader&&(_a=state.file.opts.caller)!=null&&_a.isServer&&loader.replaceWith(t.arrowFunctionExpression([],t.nullLiteral(),!0))}if(loader.traverse({Import(importPath){var _a2;let importArguments=importPath.parentPath.get("arguments");if(!Array.isArray(importArguments))return;let{node}=importArguments[0];dynamicImports.push(node),dynamicKeys.push(t.binaryExpression("+",t.stringLiteral(`${(_a2=state.file.opts.caller)!=null&&_a2.pagesDir?(0,import_path3.relative)(state.file.opts.caller.pagesDir,state.file.opts.filename):state.file.opts.filename} -> `),node))}}),!!dynamicImports.length&&(options.node.properties.push(t.objectProperty(t.identifier("loadableGenerated"),t.objectExpression((_b=state.file.opts.caller)!=null&&_b.isDev||(_c=state.file.opts.caller)!=null&&_c.isServer?[t.objectProperty(t.identifier("modules"),t.arrayExpression(dynamicKeys))]:[t.objectProperty(t.identifier("webpack"),t.arrowFunctionExpression([],t.arrayExpression(dynamicImports.map(dynamicImport=>t.callExpression(t.memberExpression(t.identifier("require"),t.identifier("resolveWeak")),[dynamicImport])))))]))),loader.isCallExpression())){let arrowFunction=t.arrowFunctionExpression([],loader.node);loader.replaceWith(arrowFunction)}})}}}}var import_path3,init_react_loadable_plugin=__esm({"src/babel/plugins/react-loadable-plugin.ts"(){"use strict";import_path3=require("path")}});var amp_attributes_exports={};__export(amp_attributes_exports,{default:()=>AmpAttributePatcher});function AmpAttributePatcher(){return{visitor:{JSXOpeningElement(path4){let openingElement=path4.node,{name,attributes}=openingElement;if(name&&name.type==="JSXIdentifier"&&name.name.startsWith("amp-"))for(let attribute of attributes)attribute.type==="JSXAttribute"&&attribute.name.name==="className"&&(attribute.name.name="class")}}}}var init_amp_attributes=__esm({"src/babel/plugins/amp-attributes.ts"(){"use strict"}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,core:()=>core,frameworkOptions:()=>frameworkOptions,previewAnnotations:()=>previewAnnotations,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_path6=require("path"),import_core=require("@babel/core"),import_core_common2=require("@storybook/core-common");var import_semver=__toESM(require("semver")),import_webpack2=require("webpack");var import_path=__toESM(require("path")),import_webpack=require("webpack"),import_constants=require("next/constants"),import_find_up=__toESM(require("find-up")),import_fs_extra=require("fs-extra"),import_node_url=require("url"),configureRuntimeNextjsVersionResolution=baseConfig=>{var _a;(_a=baseConfig.plugins)==null||_a.push(new import_webpack.DefinePlugin({"process.env.__NEXT_VERSION":JSON.stringify(getNextjsVersion())}))},getNextjsVersion=()=>require(scopedResolve("next/package.json")).version,findNextConfigFile=async configDir=>["mjs","js"].reduce(async(acc,ext)=>(await acc||(acc=(0,import_find_up.default)(`next.config.${ext}`,{cwd:configDir})),acc),Promise.resolve(void 0)),resolveNextConfig=async({baseConfig={},nextConfigPath,configDir})=>{let nextConfigFile=nextConfigPath||await findNextConfigFile(configDir);if(!nextConfigFile||await(0,import_fs_extra.pathExists)(nextConfigFile)===!1)return{};let nextConfigExport=await import((0,import_node_url.pathToFileURL)(nextConfigFile).href),nextConfig=typeof nextConfigExport=="function"?nextConfigExport(import_constants.PHASE_DEVELOPMENT_SERVER,{defaultConfig:baseConfig}):nextConfigExport;return nextConfig.default||nextConfig},addScopedAlias=(baseConfig,name,alias)=>{baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias,scopedAlias=scopedResolve(`${alias??name}`);Array.isArray(aliasConfig)?aliasConfig.push({name,alias:scopedAlias}):aliasConfig[name]=scopedAlias},scopedResolve=id=>{let scopedModulePath;try{scopedModulePath=require.resolve(id,{paths:[import_path.default.resolve()]})}catch{scopedModulePath=require.resolve(id)}let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,import_path.default.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var tryResolve=path4=>{try{return require.resolve(path4)}catch{return!1}},configureConfig=async({baseConfig,nextConfigPath,configDir})=>{let nextConfig=await resolveNextConfig({baseConfig,nextConfigPath,configDir});return addScopedAlias(baseConfig,"next/config"),tryResolve("next/dist/compiled/react")&&addScopedAlias(baseConfig,"react","next/dist/compiled/react"),tryResolve("next/dist/compiled/react-dom")&&addScopedAlias(baseConfig,"react-dom","next/dist/compiled/react-dom"),setupRuntimeConfig(baseConfig,nextConfig),nextConfig},version=getNextjsVersion(),setupRuntimeConfig=(baseConfig,nextConfig)=>{var _a,_b;let definePluginConfig={"process.env.__NEXT_RUNTIME_CONFIG":JSON.stringify({serverRuntimeConfig:{},publicRuntimeConfig:nextConfig.publicRuntimeConfig})},newNextLinkBehavior=(_a=nextConfig.experimental)==null?void 0:_a.newNextLinkBehavior;import_semver.default.gte(version,"13.0.0")&&import_semver.default.lt(version,"13.0.6")&&newNextLinkBehavior!==!1?definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=!0:definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=newNextLinkBehavior,(_b=baseConfig.plugins)==null||_b.push(new import_webpack2.DefinePlugin(definePluginConfig))};var import_getCssModuleLocalIdent=require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent"),import_file_resolve=require("next/dist/build/webpack/config/blocks/css/loaders/file-resolve"),import_semver2=__toESM(require("semver"));var configureCss=(baseConfig,nextConfig)=>{var _a,_b,_c;let rules=(_a=baseConfig.module)==null?void 0:_a.rules;rules==null||rules.forEach((rule,i)=>{rule&&typeof rule!="string"&&rule.test instanceof RegExp&&rule.test.test("test.css")&&(rules[i]={test:/\.css$/,use:[require.resolve("style-loader"),{loader:require.resolve("css-loader"),options:{importLoaders:1,...getImportAndUrlCssLoaderOptions(nextConfig),modules:{auto:!0,getLocalIdent:import_getCssModuleLocalIdent.getCssModuleLocalIdent}}},require.resolve("postcss-loader")],exclude:/next\/.*\/target.css$/})}),rules==null||rules.push({test:/\.(scss|sass)$/,use:[require.resolve("style-loader"),{loader:require.resolve("css-loader"),options:{importLoaders:3,...getImportAndUrlCssLoaderOptions(nextConfig),modules:{auto:!0,getLocalIdent:import_getCssModuleLocalIdent.getCssModuleLocalIdent}}},require.resolve("postcss-loader"),require.resolve("resolve-url-loader"),{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:nextConfig.sassOptions,additionalData:((_b=nextConfig.sassOptions)==null?void 0:_b.prependData)||((_c=nextConfig.sassOptions)==null?void 0:_c.additionalData)}}]})},getImportAndUrlCssLoaderOptions=nextConfig=>isCssLoaderV6()?{url:{filter:getUrlResolver(nextConfig)},import:{filter:getImportResolver(nextConfig)}}:{url:getUrlResolver(nextConfig),import:getImportResolver(nextConfig)},getUrlResolver=nextConfig=>(url,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},getImportResolver=nextConfig=>(url,_,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(typeof url=="string"?url:url.url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},isCssLoaderV6=()=>{try{let cssLoaderVersion=require(scopedResolve("css-loader/package.json")).version;return import_semver2.default.gte(cssLoaderVersion,"6.0.0")}catch{return!1}};var import_tsconfig_paths_webpack_plugin=__toESM(require("tsconfig-paths-webpack-plugin")),import_tsconfig_paths=require("tsconfig-paths"),configureImports=({baseConfig,configDir})=>{let configLoadResult=(0,import_tsconfig_paths.loadConfig)(configDir);configLoadResult.resultType==="failed"||!configLoadResult.baseUrl||(baseConfig.resolve??={},baseConfig.resolve.plugins??=[],baseConfig.resolve.plugins.push(new import_tsconfig_paths_webpack_plugin.default({configFile:configLoadResult.configFileAbsolutePath,extensions:[".js",".jsx",".ts",".tsx"]})))};var import_semver3=__toESM(require("semver"));var configureStyledJsx=baseConfig=>{let version2=getNextjsVersion();import_semver3.default.gte(version2,"12.0.0")?addScopedAlias(baseConfig,"styled-jsx"):(addScopedAlias(baseConfig,"styled-jsx/babel"),addScopedAlias(baseConfig,"styled-jsx/css"),addScopedAlias(baseConfig,"styled-jsx/macro"),addScopedAlias(baseConfig,"styled-jsx/server"),addScopedAlias(baseConfig,"styled-jsx/style"),addScopedAlias(baseConfig,"styled-jsx/webpack"))};var import_semver4=__toESM(require("semver")),import_path2=__toESM(require("path"));var configureImages=(baseConfig,nextConfig)=>{configureStaticImageImport(baseConfig,nextConfig),configureImageDefaults(baseConfig)},fallbackFilename="static/media/[path][name][ext]",configureImageDefaults=baseConfig=>{let version2=getNextjsVersion(),resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,"sb-original/next/image":require.resolve("next/image"),"next/image":import_path2.default.resolve(__dirname,"./images/next-image")},import_semver4.default.satisfies(version2,">=13.0.0")&&(resolve.alias={...resolve.alias,"sb-original/next/legacy/image":require.resolve("next/legacy/image"),"next/legacy/image":import_path2.default.resolve(__dirname,"./images/next-legacy-image")}),import_semver4.default.satisfies(version2,"^12.2.0")&&(resolve.alias={...resolve.alias,"sb-original/next/future/image":require.resolve("next/future/image"),"next/future/image":import_path2.default.resolve(__dirname,"./images/next-future-image")})},configureStaticImageImport=(baseConfig,nextConfig)=>{var _a,_b,_c;let version2=getNextjsVersion();if(import_semver4.default.lt(version2,"11.0.0"))return;let rules=(_a=baseConfig.module)==null?void 0:_a.rules,assetRule=rules==null?void 0:rules.find(rule=>rule&&typeof rule!="string"&&rule.test instanceof RegExp&&rule.test.test("test.jpg"));assetRule&&(assetRule.test=/\.(apng|eot|otf|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:{not:/\.(css|scss|sass)$/},use:[{loader:require.resolve("@storybook/nextjs/next-image-loader-stub.js"),options:{filename:((_b=assetRule.generator)==null?void 0:_b.filename)??fallbackFilename,nextConfig}}]}),rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:/\.(css|scss|sass)$/,type:"asset/resource",generator:{filename:((_c=assetRule.generator)==null?void 0:_c.filename)??fallbackFilename}}))};var import_semver5=__toESM(require("semver")),import_webpack3=require("webpack");function configureNextImport(baseConfig){let nextJSVersion=getNextjsVersion(),isNext12=import_semver5.default.satisfies(nextJSVersion,"~12"),isNextVersionSmallerThan12dot2=import_semver5.default.lt(nextJSVersion,"12.2.0"),isNextVersionSmallerThan13=import_semver5.default.lt(nextJSVersion,"13.0.0");baseConfig.plugins=baseConfig.plugins??[],(!isNext12||isNextVersionSmallerThan12dot2)&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/future\/image$/})),isNextVersionSmallerThan13&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/(next\/dist\/shared\/lib\/hooks-client-context|next\/dist\/shared\/lib\/hooks-client-context\.shared-runtime|next\/legacy\/image)$/})),isNextVersionSmallerThan12dot2&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/dist\/shared\/lib\/app-router-context$/}))}function convertNodeToJSON(types,node){if(types.isBooleanLiteral(node)||types.isStringLiteral(node)||types.isNumericLiteral(node))return node.value;if(!(node.name==="undefined"&&!node.value))return types.isNullLiteral(node)?null:types.isObjectExpression(node)?computeProps(types,node.properties):types.isArrayExpression(node)?node.elements.reduce((acc,element)=>[...acc,...(element==null?void 0:element.type)==="SpreadElement"?convertNodeToJSON(types,element.argument):[convertNodeToJSON(types,element)]],[]):{}}function computeProps(types,props){return props.reduce((acc,prop)=>{if(prop.type==="SpreadElement")return{...acc,...convertNodeToJSON(types,prop.argument)};if(prop.type!=="ObjectMethod"){let val=convertNodeToJSON(types,prop.value);if(val!==void 0&&types.isIdentifier(prop.key))return{...acc,[prop.key.name]:val}}return acc},{})}function isDefined(value){return value!==void 0}function removeTransformedVariableDeclarations(path4,types,metas){path4.parentPath.traverse({ExportNamedDeclaration(declaratorPath){var _a;(_a=declaratorPath.parentPath)!=null&&_a.isProgram()&&metas.forEach(meta=>{types.isVariableDeclaration(declaratorPath.node.declaration)&&declaratorPath.node.declaration.declarations.length===1&&types.isVariableDeclarator(declaratorPath.node.declaration.declarations[0])&&types.isIdentifier(declaratorPath.node.declaration.declarations[0].id)&&meta.identifierName===declaratorPath.node.declaration.declarations[0].id.name&&declaratorPath.replaceWith(types.exportNamedDeclaration(null,[types.exportSpecifier(types.identifier(meta.identifierName),types.identifier(meta.identifierName))]))})},VariableDeclarator(declaratorPath){var _a;(_a=declaratorPath.parentPath.parentPath)!=null&&_a.isProgram()&&metas.some(meta=>types.isIdentifier(declaratorPath.node.id)&&meta.identifierName===declaratorPath.node.id.name)&&declaratorPath.remove()}})}function replaceImportWithParamterImport(path4,types,source,metas,filename){path4.replaceWithMultiple([...metas.map(meta=>types.importDeclaration([types.importDefaultSpecifier(types.identifier(meta.identifierName))],types.stringLiteral(`storybook-nextjs-font-loader?${JSON.stringify({source:source.value,props:meta.properties,fontFamily:meta.functionName,filename})}!${source.value}`)))])}function getVariableMetasBySpecifier(program,types,specifier){return program.node.body.map(statement=>{if(!types.isVariableDeclaration(statement)&&!types.isExportNamedDeclaration(statement))return;let exportedNamedDeclaration=!types.isVariableDeclaration(statement)&&types.isVariableDeclaration(statement.declaration)&&statement.declaration.declarations.length===1?statement.declaration.declarations[0]:null,declaration=types.isVariableDeclaration(statement)?statement.declarations[0]:exportedNamedDeclaration;if(!declaration||!types.isIdentifier(declaration.id)||!types.isCallExpression(declaration.init)||!types.isIdentifier(declaration.init.callee)||(specifier.type!=="ImportSpecifier"||specifier.imported.type!=="Identifier"||declaration.init.callee.name!==specifier.imported.name&&declaration.init.callee.name!==specifier.local.name)&&(specifier.type!=="ImportDefaultSpecifier"||declaration.init.callee.name!==specifier.local.name))return;let options=declaration.init.arguments[0];if(!types.isObjectExpression(options))throw program.buildCodeFrameError("Please pass an options object to the call expression of next/font functions");options.properties.forEach(property=>{if(types.isSpreadElement(property))throw program.buildCodeFrameError("Please do not use spread elements in the options object in next/font function calls")});let identifierName=declaration.id.name,properties=convertNodeToJSON(types,options),functionName=declaration.init.callee.name;return specifier.type==="ImportSpecifier"&&specifier.imported&&specifier.imported.type==="Identifier"&&declaration.init.callee.name!==specifier.imported.name&&(functionName=specifier.imported.name),{identifierName,properties,functionName}}).filter(isDefined)}function TransformFontImports({types}){return{name:"storybook-nextjs-font-imports",visitor:{ImportDeclaration(path4,state){let{node}=path4,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path4.parentPath.isProgram())return;let program=path4.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path4,types,variableMetas),replaceImportWithParamterImport(path4,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path4.parentPath.isProgram())return[];let program=path4.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path4,types,variableMetas),replaceImportWithParamterImport(path4,types,source,variableMetas,filename)}}}}}function configureNextFont(baseConfig,isSWC){var _a,_b,_c;let fontLoaderPath=require.resolve("@storybook/nextjs/font/webpack/loader/storybook-nextjs-font-loader");isSWC?(_b=(_a=baseConfig.module)==null?void 0:_a.rules)==null||_b.push({test:/next\/.*\/target.css$/,loader:fontLoaderPath}):baseConfig.resolveLoader={...baseConfig.resolveLoader,alias:{...(_c=baseConfig.resolveLoader)==null?void 0:_c.alias,"storybook-nextjs-font-loader":fontLoaderPath}}}var import_path4=require("path"),isLoadIntentTest=process.env.NODE_ENV==="test",isLoadIntentDevelopment=process.env.NODE_ENV==="development";function styledJsxOptions(options){return options=options||{},options.styleModule="styled-jsx/style",Array.isArray(options.plugins)&&(options.plugins=options.plugins.map(plugin=>{if(Array.isArray(plugin)){let[name,pluginOptions]=plugin;return[require.resolve(name),pluginOptions]}return require.resolve(plugin)})),options}function supportsStaticESM(caller){return!!(caller!=null&&caller.supportsStaticESM)}var preset_default=(api,options={})=>{var _a,_b;let supportsESM=api.caller(supportsStaticESM),isServer=api.caller(caller=>!!caller&&caller.isServer),isCallerDevelopment=api.caller(caller=>caller==null?void 0:caller.isDev),isTest=isCallerDevelopment==null&&isLoadIntentTest,isDevelopment=isCallerDevelopment===!0||isCallerDevelopment==null&&isLoadIntentDevelopment,isBabelLoader=api.caller(caller=>!!caller&&(caller.name==="babel-loader"||caller.name==="next-babel-turbo-loader")),useJsxRuntime=((_a=options["preset-react"])==null?void 0:_a.runtime)==="automatic"||!!api.caller(caller=>!!caller&&caller.hasJsxRuntime)&&((_b=options["preset-react"])==null?void 0:_b.runtime)!=="classic",presetEnvConfig={modules:"auto",exclude:["transform-typeof-symbol"],...options["preset-env"]};return(isServer||isTest)&&(!presetEnvConfig.targets||!(typeof presetEnvConfig.targets=="object"&&"node"in presetEnvConfig.targets))&&(presetEnvConfig.targets={node:process.versions.node}),{sourceType:"unambiguous",presets:[[require("@babel/preset-env"),presetEnvConfig],[require("@babel/preset-react"),{development:isDevelopment||isTest,...useJsxRuntime?{runtime:"automatic"}:{pragma:"__jsx"},...options["preset-react"]}],[require("@babel/preset-typescript"),{allowNamespaces:!0,...options["preset-typescript"]}]],plugins:[!useJsxRuntime&&[(init_jsx_pragma(),__toCommonJS(jsx_pragma_exports)),{module:"react",importAs:"React",pragma:"__jsx",property:"createElement"}],[(init_optimize_hook_destructuring(),__toCommonJS(optimize_hook_destructuring_exports)),{lib:!0}],require("@babel/plugin-syntax-dynamic-import"),require("@babel/plugin-syntax-import-assertions"),(init_react_loadable_plugin(),__toCommonJS(react_loadable_plugin_exports)),[require("@babel/plugin-transform-class-properties"),options["class-properties"]||{}],[require("@babel/plugin-transform-object-rest-spread"),{useBuiltIns:!0}],!isServer&&[require("@babel/plugin-transform-runtime"),{corejs:!1,helpers:!0,regenerator:!0,useESModules:supportsESM&&presetEnvConfig.modules!=="commonjs",absoluteRuntime:isBabelLoader?(0,import_path4.dirname)(require.resolve("@babel/runtime/package.json")):void 0,...options["transform-runtime"]}],[isTest&&options["styled-jsx"]&&options["styled-jsx"]["babel-test"]?require("styled-jsx/babel-test"):require("styled-jsx/babel"),styledJsxOptions(options["styled-jsx"])],(init_amp_attributes(),__toCommonJS(amp_attributes_exports)),isServer&&require("@babel/plugin-syntax-bigint"),require("@babel/plugin-transform-numeric-separator"),require("@babel/plugin-transform-export-namespace-from")].filter(Boolean)}};var import_node_polyfill_webpack_plugin=__toESM(require("node-polyfill-webpack-plugin")),configureNodePolyfills=baseConfig=>(baseConfig.plugins=[...baseConfig.plugins||[],new import_node_polyfill_webpack_plugin.default],baseConfig.resolve={...baseConfig.resolve,fallback:{fs:!1}},baseConfig);var import_semver6=__toESM(require("semver"));var mapping={"<11.1.0":{"next/dist/next-server/lib/router-context":"next/dist/next-server/lib/router-context"},">=11.1.0 <13.5.0":{"next/dist/shared/lib/router-context":"next/dist/shared/lib/router-context"},">=13.0.2 <13.5.0":{"next/dist/shared/lib/hooks-client-context.shared-runtime":"next/dist/shared/lib/hooks-client-context"},"<13.5.0":{"next/dist/shared/lib/router-context.shared-runtime":"next/dist/shared/lib/router-context","next/dist/shared/lib/head-manager-context.shared-runtime":"next/dist/shared/lib/head-manager-context","next/dist/shared/lib/app-router-context.shared-runtime":"next/dist/shared/lib/app-router-context"}},configureAliasing=baseConfig=>{let version2=getNextjsVersion(),result={};Object.keys(mapping).forEach(key=>{import_semver6.default.intersects(version2,key)&&Object.assign(result,mapping[key])}),Object.entries(result).forEach(([name,alias])=>{addScopedAlias(baseConfig,name,alias)})};var import_core_common=require("@storybook/core-common"),import_builder_webpack5=require("@storybook/builder-webpack5"),import_path5=__toESM(require("path")),import_semver7=__toESM(require("semver")),import_server_errors=require("@storybook/core-events/server-errors");var applyFastRefresh=async options=>{let isDevelopment=options.configType==="DEVELOPMENT",framework=await options.presets.apply("framework"),reactOptions=typeof framework=="object"?framework.options:{};return isDevelopment&&(reactOptions.fastRefresh||process.env.FAST_REFRESH==="true")},configureSWCLoader=async(baseConfig,options,nextConfig)=>{let isDevelopment=options.configType!=="PRODUCTION",version2=getNextjsVersion();if(import_semver7.default.lt(version2,"14.0.0"))throw new import_server_errors.NextjsSWCNotSupportedError;let dir=(0,import_core_common.getProjectRoot)(),{virtualModules}=await(0,import_builder_webpack5.getVirtualModules)(options);baseConfig.module.rules=[...baseConfig.module.rules.filter(r=>{var _a;return!((_a=r.loader)!=null&&_a.includes("swc-loader"))}),{test:/\.(m?(j|t)sx?)$/,include:[(0,import_core_common.getProjectRoot)()],exclude:[/(node_modules)/,...Object.keys(virtualModules)],enforce:"post",use:{loader:require.resolve("./swc/next-swc-loader-patch.js"),options:{isServer:!1,rootDir:dir,pagesDir:`${dir}/pages`,appDir:`${dir}/apps`,hasReactRefresh:await applyFastRefresh(options),nextConfig,supportedBrowsers:require("next/dist/build/utils").getSupportedBrowsers(dir,isDevelopment),swcCacheDir:import_path5.default.join(dir,(nextConfig==null?void 0:nextConfig.distDir)??".next","cache","swc"),bundleTarget:"default"}}}]};var addons=[(0,import_path6.dirname)(require.resolve((0,import_path6.join)("@storybook/preset-react-webpack","package.json")))],defaultFrameworkOptions={},frameworkOptions=async(_,options)=>{let config=await options.presets.apply("framework");return typeof config=="string"?{name:config,options:defaultFrameworkOptions}:typeof config>"u"?{name:require.resolve("@storybook/nextjs"),options:defaultFrameworkOptions}:{name:config.name,options:{...defaultFrameworkOptions,...config.options}}},core=async(config,options)=>{let framework=await options.presets.apply("framework");return{...config,builder:{name:(0,import_path6.dirname)(require.resolve((0,import_path6.join)("@storybook/builder-webpack5","package.json"))),options:{...typeof framework=="string"?{}:framework.options.builder||{}}},renderer:(0,import_path6.dirname)(require.resolve((0,import_path6.join)("@storybook/react","package.json")))}},previewAnnotations=(entry=[])=>[...entry,(0,import_path6.join)((0,import_path6.dirname)(require.resolve("@storybook/nextjs/package.json")),"dist/preview.mjs")],babel=async baseConfig=>{var _a,_b,_c;let configPartial=(0,import_core.loadPartialConfig)({...baseConfig,filename:`${(0,import_core_common2.getProjectRoot)()}/__fake__.js`}),options=configPartial==null?void 0:configPartial.options,isPresetConfigItem=preset=>typeof preset=="object"&&preset!==null&&"file"in preset,isNextBabelConfig=preset=>{var _a2;return Array.isArray(preset)&&preset[0]==="next/babel"||preset==="next/babel"||isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)==="next/babel"},hasNextBabelConfig=(_a=options==null?void 0:options.presets)==null?void 0:_a.find(isNextBabelConfig),presets=((_b=options==null?void 0:options.presets)==null?void 0:_b.filter(preset=>{var _a2;return!(isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)===require.resolve("@babel/preset-react")||isNextBabelConfig(preset))}))??[];hasNextBabelConfig?Array.isArray(hasNextBabelConfig)&&hasNextBabelConfig[1]?presets.push([preset_default,hasNextBabelConfig[1]]):isPresetConfigItem(hasNextBabelConfig)&&((_c=hasNextBabelConfig.file)==null?void 0:_c.request)==="next/babel"?presets.push([preset_default,hasNextBabelConfig.options]):presets.push(preset_default):presets.push(preset_default);let plugins=[...(options==null?void 0:options.plugins)??[],TransformFontImports];return{...options,plugins,presets,babelrc:!1,configFile:!1}},webpackFinal=async(baseConfig,options)=>{let frameworkOptions2=await options.presets.apply("frameworkOptions"),{options:{nextConfigPath,builder}={}}=frameworkOptions2,nextConfig=await configureConfig({baseConfig,nextConfigPath,configDir:options.configDir});return configureAliasing(baseConfig),configureNextFont(baseConfig,builder==null?void 0:builder.useSWC),configureNextImport(baseConfig),configureRuntimeNextjsVersionResolution(baseConfig),configureImports({baseConfig,configDir:options.configDir}),configureCss(baseConfig,nextConfig),configureImages(baseConfig,nextConfig),configureStyledJsx(baseConfig),configureNodePolyfills(baseConfig),builder!=null&&builder.useSWC&&await configureSWCLoader(baseConfig,options,nextConfig),baseConfig};0&&(module.exports={addons,babel,core,frameworkOptions,previewAnnotations,webpackFinal});
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);var jsx_pragma_exports={};__export(jsx_pragma_exports,{default:()=>jsxPragma});function jsxPragma({types:t}){return{inherits:import_plugin_syntax_jsx.default,visitor:{JSXElement(_path,state){state.set("jsx",!0)},JSXFragment(_path,state){state.set("jsx",!0)},Program:{exit(path4,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path4.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path4.scope.generateUidIdentifier("pragma");let mapping=t.variableDeclaration("var",[t.variableDeclarator(pragma,t.memberExpression(importAs,t.identifier(state.opts.property)))]),newPath;existingBinding&&t.isVariableDeclarator(existingBinding.path.node)&&t.isCallExpression(existingBinding.path.node.init)&&t.isIdentifier(existingBinding.path.node.init.callee)&&existingBinding.path.node.init.callee.name==="require"?[newPath]=existingBinding.path.parentPath.insertAfter(mapping):[newPath]=path4.unshiftContainer("body",mapping);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path4.scope.registerBinding(kind,declar)}}if(!existingBinding){let importSpecifier=t.importDeclaration([state.opts.import?t.importSpecifier(importAs,t.identifier(state.opts.import)):state.opts.importNamespace?t.importNamespaceSpecifier(importAs):t.importDefaultSpecifier(importAs)],t.stringLiteral(state.opts.module||"react")),[newPath]=path4.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path4.scope.registerBinding("module",specifier)}}}}}}}var import_plugin_syntax_jsx,init_jsx_pragma=__esm({"src/babel/plugins/jsx-pragma.ts"(){"use strict";import_plugin_syntax_jsx=__toESM(require("next/dist/compiled/babel/plugin-syntax-jsx"))}});var optimize_hook_destructuring_exports={};__export(optimize_hook_destructuring_exports,{default:()=>optimizeHookDestructuring});function optimizeHookDestructuring({types:t}){let visitor={CallExpression(path4,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path4.parent)||!t.isArrayPattern(path4.parent.id))return;let hookName=path4.node.callee.name;if(libs){let binding=path4.scope.getBinding(hookName);if(!binding||binding.kind!=="module")return;let specifier=binding.path.parent.source.value;if(!libs.some(lib=>lib===specifier))return}(onlyBuiltIns?isBuiltInHook:isHook).test(hookName)&&(path4.parent.id=t.objectPattern(path4.parent.id.elements.reduce((patterns,element,i)=>element===null?patterns:patterns.concat(t.objectProperty(t.numericLiteral(i),element)),[])))}};return{name:"optimize-hook-destructuring",visitor:{Program(path4,state){path4.traverse(visitor,state)}}}}var isHook,isBuiltInHook,init_optimize_hook_destructuring=__esm({"src/babel/plugins/optimize-hook-destructuring.ts"(){"use strict";isHook=/^use[A-Z]/,isBuiltInHook=/^use(Callback|Context|DebugValue|Effect|ImperativeHandle|LayoutEffect|Memo|Reducer|Ref|State)$/}});var react_loadable_plugin_exports={};__export(react_loadable_plugin_exports,{default:()=>react_loadable_plugin_default});function react_loadable_plugin_default({types:t}){return{visitor:{ImportDeclaration(path4,state){if(path4.node.source.value!=="next/dynamic")return;let defaultSpecifier=path4.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path4.scope.getBinding(bindingName);binding&&binding.referencePaths.forEach(refPath=>{var _a,_b,_c;let callExpression=refPath.parentPath;if(callExpression.isMemberExpression()&&callExpression.node.computed===!1){let property=callExpression.get("property");!Array.isArray(property)&&property.isIdentifier({name:"Map"})&&(callExpression=callExpression.parentPath)}if(!callExpression.isCallExpression())return;let callExpression_=callExpression,args=callExpression_.get("arguments");if(args.length>2)throw callExpression_.buildCodeFrameError("next/dynamic only accepts 2 arguments");if(!args[0])return;let loader,options;if(args[0].isObjectExpression()?options=args[0]:(args[1]||callExpression_.node.arguments.push(t.objectExpression([])),args=callExpression_.get("arguments"),loader=args[0],options=args[1]),!options.isObjectExpression())return;let properties=options.get("properties"),propertiesMap={};if(properties.forEach(property=>{let key=property.get("key");propertiesMap[key.node.name]=property}),propertiesMap.loadableGenerated||(propertiesMap.loader&&(loader=propertiesMap.loader.get("value")),propertiesMap.modules&&(loader=propertiesMap.modules.get("value")),!loader||Array.isArray(loader)))return;let dynamicImports=[],dynamicKeys=[];if(propertiesMap.ssr){let ssr=propertiesMap.ssr.get("value"),nodePath=Array.isArray(ssr)?void 0:ssr;nodePath&&nodePath.node.type==="BooleanLiteral"&&nodePath.node.value===!1&&loader&&(_a=state.file.opts.caller)!=null&&_a.isServer&&loader.replaceWith(t.arrowFunctionExpression([],t.nullLiteral(),!0))}if(loader.traverse({Import(importPath){var _a2;let importArguments=importPath.parentPath.get("arguments");if(!Array.isArray(importArguments))return;let{node}=importArguments[0];dynamicImports.push(node),dynamicKeys.push(t.binaryExpression("+",t.stringLiteral(`${(_a2=state.file.opts.caller)!=null&&_a2.pagesDir?(0,import_path3.relative)(state.file.opts.caller.pagesDir,state.file.opts.filename):state.file.opts.filename} -> `),node))}}),!!dynamicImports.length&&(options.node.properties.push(t.objectProperty(t.identifier("loadableGenerated"),t.objectExpression((_b=state.file.opts.caller)!=null&&_b.isDev||(_c=state.file.opts.caller)!=null&&_c.isServer?[t.objectProperty(t.identifier("modules"),t.arrayExpression(dynamicKeys))]:[t.objectProperty(t.identifier("webpack"),t.arrowFunctionExpression([],t.arrayExpression(dynamicImports.map(dynamicImport=>t.callExpression(t.memberExpression(t.identifier("require"),t.identifier("resolveWeak")),[dynamicImport])))))]))),loader.isCallExpression())){let arrowFunction=t.arrowFunctionExpression([],loader.node);loader.replaceWith(arrowFunction)}})}}}}var import_path3,init_react_loadable_plugin=__esm({"src/babel/plugins/react-loadable-plugin.ts"(){"use strict";import_path3=require("path")}});var amp_attributes_exports={};__export(amp_attributes_exports,{default:()=>AmpAttributePatcher});function AmpAttributePatcher(){return{visitor:{JSXOpeningElement(path4){let openingElement=path4.node,{name,attributes}=openingElement;if(name&&name.type==="JSXIdentifier"&&name.name.startsWith("amp-"))for(let attribute of attributes)attribute.type==="JSXAttribute"&&attribute.name.name==="className"&&(attribute.name.name="class")}}}}var init_amp_attributes=__esm({"src/babel/plugins/amp-attributes.ts"(){"use strict"}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,core:()=>core,frameworkOptions:()=>frameworkOptions,previewAnnotations:()=>previewAnnotations,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_path6=require("path"),import_core=require("@babel/core"),import_core_common2=require("@storybook/core-common");var import_webpack2=require("webpack");var import_path=__toESM(require("path")),import_webpack=require("webpack"),import_constants=require("next/constants"),import_find_up=__toESM(require("find-up")),import_fs_extra=require("fs-extra"),import_node_url=require("url"),configureRuntimeNextjsVersionResolution=baseConfig=>{var _a;(_a=baseConfig.plugins)==null||_a.push(new import_webpack.DefinePlugin({"process.env.__NEXT_VERSION":JSON.stringify(getNextjsVersion())}))},getNextjsVersion=()=>require(scopedResolve("next/package.json")).version,findNextConfigFile=async configDir=>["mjs","js"].reduce(async(acc,ext)=>(await acc||(acc=(0,import_find_up.default)(`next.config.${ext}`,{cwd:configDir})),acc),Promise.resolve(void 0)),resolveNextConfig=async({baseConfig={},nextConfigPath,configDir})=>{let nextConfigFile=nextConfigPath||await findNextConfigFile(configDir);if(!nextConfigFile||await(0,import_fs_extra.pathExists)(nextConfigFile)===!1)return{};let nextConfigExport=await import((0,import_node_url.pathToFileURL)(nextConfigFile).href),nextConfig=typeof nextConfigExport=="function"?nextConfigExport(import_constants.PHASE_DEVELOPMENT_SERVER,{defaultConfig:baseConfig}):nextConfigExport;return nextConfig.default||nextConfig},addScopedAlias=(baseConfig,name,alias)=>{baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias,scopedAlias=scopedResolve(`${alias??name}`);Array.isArray(aliasConfig)?aliasConfig.push({name,alias:scopedAlias}):aliasConfig[name]=scopedAlias},scopedResolve=id=>{let scopedModulePath;try{scopedModulePath=require.resolve(id,{paths:[import_path.default.resolve()]})}catch{scopedModulePath=require.resolve(id)}let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,import_path.default.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var tryResolve=path4=>{try{return require.resolve(path4)}catch{return!1}},configureConfig=async({baseConfig,nextConfigPath,configDir})=>{let nextConfig=await resolveNextConfig({baseConfig,nextConfigPath,configDir});return addScopedAlias(baseConfig,"next/config"),tryResolve("next/dist/compiled/react")&&addScopedAlias(baseConfig,"react","next/dist/compiled/react"),tryResolve("next/dist/compiled/react-dom")&&addScopedAlias(baseConfig,"react-dom","next/dist/compiled/react-dom"),setupRuntimeConfig(baseConfig,nextConfig),nextConfig},setupRuntimeConfig=(baseConfig,nextConfig)=>{var _a,_b;let definePluginConfig={"process.env.__NEXT_RUNTIME_CONFIG":JSON.stringify({serverRuntimeConfig:{},publicRuntimeConfig:nextConfig.publicRuntimeConfig})},newNextLinkBehavior=(_a=nextConfig.experimental)==null?void 0:_a.newNextLinkBehavior;definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=newNextLinkBehavior,(_b=baseConfig.plugins)==null||_b.push(new import_webpack2.DefinePlugin(definePluginConfig))};var import_getCssModuleLocalIdent=require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent"),import_file_resolve=require("next/dist/build/webpack/config/blocks/css/loaders/file-resolve"),import_semver=__toESM(require("semver"));var configureCss=(baseConfig,nextConfig)=>{var _a,_b,_c;let rules=(_a=baseConfig.module)==null?void 0:_a.rules;rules==null||rules.forEach((rule,i)=>{rule&&typeof rule!="string"&&rule.test instanceof RegExp&&rule.test.test("test.css")&&(rules[i]={test:/\.css$/,use:[require.resolve("style-loader"),{loader:require.resolve("css-loader"),options:{importLoaders:1,...getImportAndUrlCssLoaderOptions(nextConfig),modules:{auto:!0,getLocalIdent:import_getCssModuleLocalIdent.getCssModuleLocalIdent}}},require.resolve("postcss-loader")],exclude:/next\/.*\/target.css$/})}),rules==null||rules.push({test:/\.(scss|sass)$/,use:[require.resolve("style-loader"),{loader:require.resolve("css-loader"),options:{importLoaders:3,...getImportAndUrlCssLoaderOptions(nextConfig),modules:{auto:!0,getLocalIdent:import_getCssModuleLocalIdent.getCssModuleLocalIdent}}},require.resolve("postcss-loader"),require.resolve("resolve-url-loader"),{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:nextConfig.sassOptions,additionalData:((_b=nextConfig.sassOptions)==null?void 0:_b.prependData)||((_c=nextConfig.sassOptions)==null?void 0:_c.additionalData)}}]})},getImportAndUrlCssLoaderOptions=nextConfig=>isCssLoaderV6()?{url:{filter:getUrlResolver(nextConfig)},import:{filter:getImportResolver(nextConfig)}}:{url:getUrlResolver(nextConfig),import:getImportResolver(nextConfig)},getUrlResolver=nextConfig=>(url,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},getImportResolver=nextConfig=>(url,_,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(typeof url=="string"?url:url.url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},isCssLoaderV6=()=>{try{let cssLoaderVersion=require(scopedResolve("css-loader/package.json")).version;return import_semver.default.gte(cssLoaderVersion,"6.0.0")}catch{return!1}};var import_tsconfig_paths_webpack_plugin=__toESM(require("tsconfig-paths-webpack-plugin")),import_tsconfig_paths=require("tsconfig-paths"),configureImports=({baseConfig,configDir})=>{let configLoadResult=(0,import_tsconfig_paths.loadConfig)(configDir);configLoadResult.resultType==="failed"||!configLoadResult.baseUrl||(baseConfig.resolve??={},baseConfig.resolve.plugins??=[],baseConfig.resolve.plugins.push(new import_tsconfig_paths_webpack_plugin.default({configFile:configLoadResult.configFileAbsolutePath,extensions:[".js",".jsx",".ts",".tsx"]})))};var configureStyledJsx=baseConfig=>{addScopedAlias(baseConfig,"styled-jsx")};var import_semver2=__toESM(require("semver")),import_path2=__toESM(require("path"));var configureImages=(baseConfig,nextConfig)=>{configureStaticImageImport(baseConfig,nextConfig),configureImageDefaults(baseConfig)},fallbackFilename="static/media/[path][name][ext]",configureImageDefaults=baseConfig=>{let version=getNextjsVersion(),resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,"sb-original/next/image":require.resolve("next/image"),"next/image":import_path2.default.resolve(__dirname,"./images/next-image")},import_semver2.default.satisfies(version,">=13.0.0")&&(resolve.alias={...resolve.alias,"sb-original/next/legacy/image":require.resolve("next/legacy/image"),"next/legacy/image":import_path2.default.resolve(__dirname,"./images/next-legacy-image")})},configureStaticImageImport=(baseConfig,nextConfig)=>{var _a,_b,_c;let version=getNextjsVersion();if(import_semver2.default.lt(version,"11.0.0"))return;let rules=(_a=baseConfig.module)==null?void 0:_a.rules,assetRule=rules==null?void 0:rules.find(rule=>rule&&typeof rule!="string"&&rule.test instanceof RegExp&&rule.test.test("test.jpg"));assetRule&&(assetRule.test=/\.(apng|eot|otf|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:{not:/\.(css|scss|sass)$/},use:[{loader:require.resolve("@storybook/nextjs/next-image-loader-stub.js"),options:{filename:((_b=assetRule.generator)==null?void 0:_b.filename)??fallbackFilename,nextConfig}}]}),rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:/\.(css|scss|sass)$/,type:"asset/resource",generator:{filename:((_c=assetRule.generator)==null?void 0:_c.filename)??fallbackFilename}}))};function convertNodeToJSON(types,node){if(types.isBooleanLiteral(node)||types.isStringLiteral(node)||types.isNumericLiteral(node))return node.value;if(!(node.name==="undefined"&&!node.value))return types.isNullLiteral(node)?null:types.isObjectExpression(node)?computeProps(types,node.properties):types.isArrayExpression(node)?node.elements.reduce((acc,element)=>[...acc,...(element==null?void 0:element.type)==="SpreadElement"?convertNodeToJSON(types,element.argument):[convertNodeToJSON(types,element)]],[]):{}}function computeProps(types,props){return props.reduce((acc,prop)=>{if(prop.type==="SpreadElement")return{...acc,...convertNodeToJSON(types,prop.argument)};if(prop.type!=="ObjectMethod"){let val=convertNodeToJSON(types,prop.value);if(val!==void 0&&types.isIdentifier(prop.key))return{...acc,[prop.key.name]:val}}return acc},{})}function isDefined(value){return value!==void 0}function removeTransformedVariableDeclarations(path4,types,metas){path4.parentPath.traverse({ExportNamedDeclaration(declaratorPath){var _a;(_a=declaratorPath.parentPath)!=null&&_a.isProgram()&&metas.forEach(meta=>{types.isVariableDeclaration(declaratorPath.node.declaration)&&declaratorPath.node.declaration.declarations.length===1&&types.isVariableDeclarator(declaratorPath.node.declaration.declarations[0])&&types.isIdentifier(declaratorPath.node.declaration.declarations[0].id)&&meta.identifierName===declaratorPath.node.declaration.declarations[0].id.name&&declaratorPath.replaceWith(types.exportNamedDeclaration(null,[types.exportSpecifier(types.identifier(meta.identifierName),types.identifier(meta.identifierName))]))})},VariableDeclarator(declaratorPath){var _a;(_a=declaratorPath.parentPath.parentPath)!=null&&_a.isProgram()&&metas.some(meta=>types.isIdentifier(declaratorPath.node.id)&&meta.identifierName===declaratorPath.node.id.name)&&declaratorPath.remove()}})}function replaceImportWithParamterImport(path4,types,source,metas,filename){path4.replaceWithMultiple([...metas.map(meta=>types.importDeclaration([types.importDefaultSpecifier(types.identifier(meta.identifierName))],types.stringLiteral(`storybook-nextjs-font-loader?${JSON.stringify({source:source.value,props:meta.properties,fontFamily:meta.functionName,filename})}!${source.value}`)))])}function getVariableMetasBySpecifier(program,types,specifier){return program.node.body.map(statement=>{if(!types.isVariableDeclaration(statement)&&!types.isExportNamedDeclaration(statement))return;let exportedNamedDeclaration=!types.isVariableDeclaration(statement)&&types.isVariableDeclaration(statement.declaration)&&statement.declaration.declarations.length===1?statement.declaration.declarations[0]:null,declaration=types.isVariableDeclaration(statement)?statement.declarations[0]:exportedNamedDeclaration;if(!declaration||!types.isIdentifier(declaration.id)||!types.isCallExpression(declaration.init)||!types.isIdentifier(declaration.init.callee)||(specifier.type!=="ImportSpecifier"||specifier.imported.type!=="Identifier"||declaration.init.callee.name!==specifier.imported.name&&declaration.init.callee.name!==specifier.local.name)&&(specifier.type!=="ImportDefaultSpecifier"||declaration.init.callee.name!==specifier.local.name))return;let options=declaration.init.arguments[0];if(!types.isObjectExpression(options))throw program.buildCodeFrameError("Please pass an options object to the call expression of next/font functions");options.properties.forEach(property=>{if(types.isSpreadElement(property))throw program.buildCodeFrameError("Please do not use spread elements in the options object in next/font function calls")});let identifierName=declaration.id.name,properties=convertNodeToJSON(types,options),functionName=declaration.init.callee.name;return specifier.type==="ImportSpecifier"&&specifier.imported&&specifier.imported.type==="Identifier"&&declaration.init.callee.name!==specifier.imported.name&&(functionName=specifier.imported.name),{identifierName,properties,functionName}}).filter(isDefined)}function TransformFontImports({types}){return{name:"storybook-nextjs-font-imports",visitor:{ImportDeclaration(path4,state){let{node}=path4,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path4.parentPath.isProgram())return;let program=path4.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path4,types,variableMetas),replaceImportWithParamterImport(path4,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path4.parentPath.isProgram())return[];let program=path4.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path4,types,variableMetas),replaceImportWithParamterImport(path4,types,source,variableMetas,filename)}}}}}function configureNextFont(baseConfig,isSWC){var _a,_b,_c;let fontLoaderPath=require.resolve("@storybook/nextjs/font/webpack/loader/storybook-nextjs-font-loader");isSWC?(_b=(_a=baseConfig.module)==null?void 0:_a.rules)==null||_b.push({test:/next\/.*\/target.css$/,loader:fontLoaderPath}):baseConfig.resolveLoader={...baseConfig.resolveLoader,alias:{...(_c=baseConfig.resolveLoader)==null?void 0:_c.alias,"storybook-nextjs-font-loader":fontLoaderPath}}}var import_path4=require("path"),isLoadIntentTest=process.env.NODE_ENV==="test",isLoadIntentDevelopment=process.env.NODE_ENV==="development";function styledJsxOptions(options){return options=options||{},options.styleModule="styled-jsx/style",Array.isArray(options.plugins)&&(options.plugins=options.plugins.map(plugin=>{if(Array.isArray(plugin)){let[name,pluginOptions]=plugin;return[require.resolve(name),pluginOptions]}return require.resolve(plugin)})),options}function supportsStaticESM(caller){return!!(caller!=null&&caller.supportsStaticESM)}var preset_default=(api,options={})=>{var _a,_b;let supportsESM=api.caller(supportsStaticESM),isServer=api.caller(caller=>!!caller&&caller.isServer),isCallerDevelopment=api.caller(caller=>caller==null?void 0:caller.isDev),isTest=isCallerDevelopment==null&&isLoadIntentTest,isDevelopment=isCallerDevelopment===!0||isCallerDevelopment==null&&isLoadIntentDevelopment,isBabelLoader=api.caller(caller=>!!caller&&(caller.name==="babel-loader"||caller.name==="next-babel-turbo-loader")),useJsxRuntime=((_a=options["preset-react"])==null?void 0:_a.runtime)==="automatic"||!!api.caller(caller=>!!caller&&caller.hasJsxRuntime)&&((_b=options["preset-react"])==null?void 0:_b.runtime)!=="classic",presetEnvConfig={modules:"auto",exclude:["transform-typeof-symbol"],...options["preset-env"]};return(isServer||isTest)&&(!presetEnvConfig.targets||!(typeof presetEnvConfig.targets=="object"&&"node"in presetEnvConfig.targets))&&(presetEnvConfig.targets={node:process.versions.node}),{sourceType:"unambiguous",presets:[[require("@babel/preset-env"),presetEnvConfig],[require("@babel/preset-react"),{development:isDevelopment||isTest,...useJsxRuntime?{runtime:"automatic"}:{pragma:"__jsx"},...options["preset-react"]}],[require("@babel/preset-typescript"),{allowNamespaces:!0,...options["preset-typescript"]}]],plugins:[!useJsxRuntime&&[(init_jsx_pragma(),__toCommonJS(jsx_pragma_exports)),{module:"react",importAs:"React",pragma:"__jsx",property:"createElement"}],[(init_optimize_hook_destructuring(),__toCommonJS(optimize_hook_destructuring_exports)),{lib:!0}],require("@babel/plugin-syntax-dynamic-import"),require("@babel/plugin-syntax-import-assertions"),(init_react_loadable_plugin(),__toCommonJS(react_loadable_plugin_exports)),[require("@babel/plugin-transform-class-properties"),options["class-properties"]||{}],[require("@babel/plugin-transform-object-rest-spread"),{useBuiltIns:!0}],!isServer&&[require("@babel/plugin-transform-runtime"),{corejs:!1,helpers:!0,regenerator:!0,useESModules:supportsESM&&presetEnvConfig.modules!=="commonjs",absoluteRuntime:isBabelLoader?(0,import_path4.dirname)(require.resolve("@babel/runtime/package.json")):void 0,...options["transform-runtime"]}],[isTest&&options["styled-jsx"]&&options["styled-jsx"]["babel-test"]?require("styled-jsx/babel-test"):require("styled-jsx/babel"),styledJsxOptions(options["styled-jsx"])],(init_amp_attributes(),__toCommonJS(amp_attributes_exports)),isServer&&require("@babel/plugin-syntax-bigint"),require("@babel/plugin-transform-numeric-separator"),require("@babel/plugin-transform-export-namespace-from")].filter(Boolean)}};var import_node_polyfill_webpack_plugin=__toESM(require("node-polyfill-webpack-plugin")),configureNodePolyfills=baseConfig=>(baseConfig.plugins=[...baseConfig.plugins||[],new import_node_polyfill_webpack_plugin.default],baseConfig.resolve={...baseConfig.resolve,fallback:{fs:!1}},baseConfig);var import_core_common=require("@storybook/core-common"),import_builder_webpack5=require("@storybook/builder-webpack5"),import_path5=__toESM(require("path")),import_semver3=__toESM(require("semver")),import_server_errors=require("@storybook/core-events/server-errors");var applyFastRefresh=async options=>{let isDevelopment=options.configType==="DEVELOPMENT",framework=await options.presets.apply("framework"),reactOptions=typeof framework=="object"?framework.options:{};return isDevelopment&&(reactOptions.fastRefresh||process.env.FAST_REFRESH==="true")},configureSWCLoader=async(baseConfig,options,nextConfig)=>{let isDevelopment=options.configType!=="PRODUCTION",version=getNextjsVersion();if(import_semver3.default.lt(version,"14.0.0"))throw new import_server_errors.NextjsSWCNotSupportedError;let dir=(0,import_core_common.getProjectRoot)(),{virtualModules}=await(0,import_builder_webpack5.getVirtualModules)(options);baseConfig.module.rules=[...baseConfig.module.rules.filter(r=>{var _a;return!((_a=r.loader)!=null&&_a.includes("swc-loader"))}),{test:/\.(m?(j|t)sx?)$/,include:[(0,import_core_common.getProjectRoot)()],exclude:[/(node_modules)/,...Object.keys(virtualModules)],enforce:"post",use:{loader:require.resolve("./swc/next-swc-loader-patch.js"),options:{isServer:!1,rootDir:dir,pagesDir:`${dir}/pages`,appDir:`${dir}/apps`,hasReactRefresh:await applyFastRefresh(options),nextConfig,supportedBrowsers:require("next/dist/build/utils").getSupportedBrowsers(dir,isDevelopment),swcCacheDir:import_path5.default.join(dir,(nextConfig==null?void 0:nextConfig.distDir)??".next","cache","swc"),bundleTarget:"default"}}}]};var addons=[(0,import_path6.dirname)(require.resolve((0,import_path6.join)("@storybook/preset-react-webpack","package.json")))],defaultFrameworkOptions={},frameworkOptions=async(_,options)=>{let config=await options.presets.apply("framework");return typeof config=="string"?{name:config,options:defaultFrameworkOptions}:typeof config>"u"?{name:require.resolve("@storybook/nextjs"),options:defaultFrameworkOptions}:{name:config.name,options:{...defaultFrameworkOptions,...config.options}}},core=async(config,options)=>{let framework=await options.presets.apply("framework");return{...config,builder:{name:(0,import_path6.dirname)(require.resolve((0,import_path6.join)("@storybook/builder-webpack5","package.json"))),options:{...typeof framework=="string"?{}:framework.options.builder||{}}},renderer:(0,import_path6.dirname)(require.resolve((0,import_path6.join)("@storybook/react","package.json")))}},previewAnnotations=(entry=[],{features})=>{let nextDir=(0,import_path6.dirname)(require.resolve("@storybook/nextjs/package.json")),result=[...entry,(0,import_path6.join)(nextDir,"dist/preview.mjs")];return features!=null&&features.experimentalNextRSC&&result.unshift((0,import_path6.join)(nextDir,"dist/previewRSC.mjs")),result},babel=async baseConfig=>{var _a,_b,_c;let configPartial=(0,import_core.loadPartialConfig)({...baseConfig,filename:`${(0,import_core_common2.getProjectRoot)()}/__fake__.js`}),options=configPartial==null?void 0:configPartial.options,isPresetConfigItem=preset=>typeof preset=="object"&&preset!==null&&"file"in preset,isNextBabelConfig=preset=>{var _a2;return Array.isArray(preset)&&preset[0]==="next/babel"||preset==="next/babel"||isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)==="next/babel"},hasNextBabelConfig=(_a=options==null?void 0:options.presets)==null?void 0:_a.find(isNextBabelConfig),presets=((_b=options==null?void 0:options.presets)==null?void 0:_b.filter(preset=>{var _a2;return!(isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)===require.resolve("@babel/preset-react")||isNextBabelConfig(preset))}))??[];hasNextBabelConfig?Array.isArray(hasNextBabelConfig)&&hasNextBabelConfig[1]?presets.push([preset_default,hasNextBabelConfig[1]]):isPresetConfigItem(hasNextBabelConfig)&&((_c=hasNextBabelConfig.file)==null?void 0:_c.request)==="next/babel"?presets.push([preset_default,hasNextBabelConfig.options]):presets.push(preset_default):presets.push(preset_default);let plugins=[...(options==null?void 0:options.plugins)??[],TransformFontImports];return{...options,plugins,presets,babelrc:!1,configFile:!1}},webpackFinal=async(baseConfig,options)=>{let frameworkOptions2=await options.presets.apply("frameworkOptions"),{options:{nextConfigPath,builder}={}}=frameworkOptions2,nextConfig=await configureConfig({baseConfig,nextConfigPath,configDir:options.configDir});return configureNextFont(baseConfig,builder==null?void 0:builder.useSWC),configureRuntimeNextjsVersionResolution(baseConfig),configureImports({baseConfig,configDir:options.configDir}),configureCss(baseConfig,nextConfig),configureImages(baseConfig,nextConfig),configureStyledJsx(baseConfig),configureNodePolyfills(baseConfig),builder!=null&&builder.useSWC&&await configureSWCLoader(baseConfig,options,nextConfig),baseConfig};0&&(module.exports={addons,babel,core,frameworkOptions,previewAnnotations,webpackFinal});
package/dist/preview.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { A as Addon_DecoratorFunction } from './index.d-ce26244c.js';
1
+ import { A as Addon_DecoratorFunction } from './index.d-45fb9e07.js';
2
2
  import 'file-system-cache';
3
3
  import '@babel/core';
4
4
  import 'http';
package/dist/preview.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);var app_router_provider_exports={};__export(app_router_provider_exports,{AppRouterProvider:()=>AppRouterProvider});var import_react2,import_app_router_context,import_hooks_client_context,getParallelRoutes,AppRouterProvider,init_app_router_provider=__esm({"src/routing/app-router-provider.tsx"(){"use strict";import_react2=__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_react2.default.createElement(import_hooks_client_context.PathnameContext.Provider,{value:pathname},import_react2.default.createElement(import_hooks_client_context.SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react2.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_react2.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_react2.default.createElement(import_app_router_context.LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))}}});var preview_exports={};__export(preview_exports,{decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(preview_exports);var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React=__toESM(require("react")),import_image_context=require("@storybook/nextjs/dist/image-context"),ImageContext=import_image_context.ImageContext,ImageDecorator=(Story,{parameters:parameters2})=>{var _a;return(_a=parameters2.nextjs)!=null&&_a.image?React.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React.createElement(Story,null)):React.createElement(Story,null)};var React4=__toESM(require("react")),import_addon_actions=require("@storybook/addon-actions");var import_router_context=require("next/dist/shared/lib/router-context.shared-runtime"),import_react=__toESM(require("react")),PageRouterProvider=({children,action:action2,routeParams,globals})=>import_react.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==null?void 0:globals.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>{var _a,_b,_c;let nextAppDirectory=((_a=parameters2.nextjs)==null?void 0:_a.appDirectory)??!1,[AppRouterProvider2,setAppRouterProvider]=React4.useState();return React4.useEffect(()=>{nextAppDirectory&&Promise.resolve().then(()=>(init_app_router_provider(),app_router_provider_exports)).then(exports=>setAppRouterProvider(()=>exports.AppRouterProvider))},[nextAppDirectory]),nextAppDirectory?AppRouterProvider2?React4.createElement(AppRouterProvider2,{action:import_addon_actions.action,routeParams:{...defaultRouterParams,...(_b=parameters2.nextjs)==null?void 0:_b.navigation}},React4.createElement(Story,null)):null:React4.createElement(PageRouterProvider,{action:import_addon_actions.action,globals,routeParams:{...defaultRouterParams,...(_c=parameters2.nextjs)==null?void 0:_c.router}},React4.createElement(Story,null))};var React5=__toESM(require("react")),StyleRegistry;try{StyleRegistry=require("styled-jsx").StyleRegistry}catch{StyleRegistry=React5.Fragment}var StyledJsxDecorator=Story=>React5.createElement(StyleRegistry,null,React5.createElement(Story,null));var React7=__toESM(require("react"));var import_react3=__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_react3.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react3.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));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}}};0&&(module.exports={decorators,parameters});
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 preview_exports={};__export(preview_exports,{decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(preview_exports);var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React=__toESM(require("react")),import_image_context=require("@storybook/nextjs/dist/image-context"),ImageContext=import_image_context.ImageContext,ImageDecorator=(Story,{parameters:parameters2})=>{var _a;return(_a=parameters2.nextjs)!=null&&_a.image?React.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React.createElement(Story,null)):React.createElement(Story,null)};var React4=__toESM(require("react")),import_addon_actions=require("@storybook/addon-actions");var import_react=__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_react.default.createElement(import_hooks_client_context.PathnameContext.Provider,{value:pathname},import_react.default.createElement(import_hooks_client_context.SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react.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_react.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_react.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_react2=__toESM(require("react")),PageRouterProvider=({children,action:action2,routeParams,globals})=>import_react2.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==null?void 0:globals.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>{var _a,_b,_c;return((_a=parameters2.nextjs)==null?void 0:_a.appDirectory)??!1?AppRouterProvider?React4.createElement(AppRouterProvider,{action:import_addon_actions.action,routeParams:{...defaultRouterParams,...(_b=parameters2.nextjs)==null?void 0:_b.navigation}},React4.createElement(Story,null)):null:React4.createElement(PageRouterProvider,{action:import_addon_actions.action,globals,routeParams:{...defaultRouterParams,...(_c=parameters2.nextjs)==null?void 0:_c.router}},React4.createElement(Story,null))};var React5=__toESM(require("react")),import_styled_jsx=require("styled-jsx"),StyledJsxDecorator=Story=>React5.createElement(import_styled_jsx.StyleRegistry,null,React5.createElement(Story,null));var React7=__toESM(require("react"));var import_react3=__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_react3.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react3.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));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}}};0&&(module.exports={decorators,parameters});
package/dist/preview.mjs CHANGED
@@ -1,13 +1,16 @@
1
1
  import { ImageDecorator } from './chunk-NQ32RFK2.mjs';
2
- import { __require } from './chunk-FFRTCGB4.mjs';
2
+ import './chunk-WZORWVJM.mjs';
3
3
  import { setConfig } from 'next/config';
4
- import * as React2 from 'react';
5
- import React2__default, { useMemo } from 'react';
4
+ import * as React from 'react';
5
+ import React__default, { useMemo } from 'react';
6
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';
7
9
  import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';
10
+ import { StyleRegistry } from 'styled-jsx';
8
11
  import { HeadManagerContext } from 'next/dist/shared/lib/head-manager-context.shared-runtime';
9
12
  import initHeadManager from 'next/dist/client/head-manager';
10
13
 
11
- setConfig(process.env.__NEXT_RUNTIME_CONFIG);var PageRouterProvider=({children,action:action2,routeParams,globals})=>React2__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})=>{let nextAppDirectory=parameters2.nextjs?.appDirectory??!1,[AppRouterProvider,setAppRouterProvider]=React2.useState();return React2.useEffect(()=>{nextAppDirectory&&import('./app-router-provider-IEZPMAFW.mjs').then(exports=>setAppRouterProvider(()=>exports.AppRouterProvider));},[nextAppDirectory]),nextAppDirectory?AppRouterProvider?React2.createElement(AppRouterProvider,{action,routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React2.createElement(Story,null)):null:React2.createElement(PageRouterProvider,{action,globals,routeParams:{...defaultRouterParams,...parameters2.nextjs?.router}},React2.createElement(Story,null))};var StyleRegistry;try{StyleRegistry=__require("styled-jsx").StyleRegistry;}catch{StyleRegistry=React2.Fragment;}var StyledJsxDecorator=Story=>React2.createElement(StyleRegistry,null,React2.createElement(Story,null));var HeadManagerProvider=({children})=>{let headManager=useMemo(initHeadManager,[]);return headManager.getIsSsr=()=>!1,React2__default.createElement(HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React2.createElement(head_manager_provider_default,null,React2.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}}};
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}}};
12
15
 
13
16
  export { decorators, parameters };
@@ -0,0 +1,13 @@
1
+ import { A as Addon_DecoratorFunction } from './index.d-45fb9e07.js';
2
+ import 'file-system-cache';
3
+ import '@babel/core';
4
+ import 'http';
5
+
6
+ declare const decorators: Addon_DecoratorFunction<any>[];
7
+ declare const parameters: {
8
+ nextjs: {
9
+ rsc: boolean;
10
+ };
11
+ };
12
+
13
+ export { decorators, parameters };
@@ -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 previewRSC_exports={};__export(previewRSC_exports,{decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(previewRSC_exports);var React=__toESM(require("react")),ServerComponentDecorator=(Story,{parameters:parameters2})=>{var _a;return(_a=parameters2==null?void 0:parameters2.nextjs)!=null&&_a.rsc?React.createElement(React.Suspense,null,React.createElement(Story,null)):React.createElement(Story,null)};var decorators=[ServerComponentDecorator],parameters={nextjs:{rsc:!0}};0&&(module.exports={decorators,parameters});
@@ -0,0 +1,6 @@
1
+ import './chunk-WZORWVJM.mjs';
2
+ import * as React from 'react';
3
+
4
+ var ServerComponentDecorator=(Story,{parameters:parameters2})=>parameters2?.nextjs?.rsc?React.createElement(React.Suspense,null,React.createElement(Story,null)):React.createElement(Story,null);var decorators=[ServerComponentDecorator],parameters={nextjs:{rsc:!0}};
5
+
6
+ export { decorators, parameters };
@@ -1,4 +1,4 @@
1
- import '../chunk-FFRTCGB4.mjs';
1
+ import '../chunk-WZORWVJM.mjs';
2
2
  import { isWasm, transform } from 'next/dist/build/swc';
3
3
  import { getLoaderSWCOptions } from 'next/dist/build/swc/options';
4
4
  import path, { isAbsolute } from 'path';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/nextjs",
3
- "version": "8.0.0-alpha.0",
3
+ "version": "8.0.0-alpha.1",
4
4
  "description": "Storybook for Next.js",
5
5
  "keywords": [
6
6
  "storybook",
@@ -42,6 +42,7 @@
42
42
  "import": "./dist/font/webpack/loader/storybook-nextjs-font-loader.mjs"
43
43
  },
44
44
  "./dist/preview.mjs": "./dist/preview.mjs",
45
+ "./dist/previewRSC.mjs": "./dist/previewRSC.mjs",
45
46
  "./next-image-loader-stub.js": {
46
47
  "types": "./dist/next-image-loader-stub.d.ts",
47
48
  "require": "./dist/next-image-loader-stub.js",
@@ -88,14 +89,14 @@
88
89
  "@babel/preset-react": "^7.22.15",
89
90
  "@babel/preset-typescript": "^7.23.2",
90
91
  "@babel/runtime": "^7.23.2",
91
- "@storybook/addon-actions": "8.0.0-alpha.0",
92
- "@storybook/builder-webpack5": "8.0.0-alpha.0",
93
- "@storybook/core-common": "8.0.0-alpha.0",
94
- "@storybook/core-events": "8.0.0-alpha.0",
95
- "@storybook/node-logger": "8.0.0-alpha.0",
96
- "@storybook/preset-react-webpack": "8.0.0-alpha.0",
97
- "@storybook/preview-api": "8.0.0-alpha.0",
98
- "@storybook/react": "8.0.0-alpha.0",
92
+ "@storybook/addon-actions": "8.0.0-alpha.1",
93
+ "@storybook/builder-webpack5": "8.0.0-alpha.1",
94
+ "@storybook/core-common": "8.0.0-alpha.1",
95
+ "@storybook/core-events": "8.0.0-alpha.1",
96
+ "@storybook/node-logger": "8.0.0-alpha.1",
97
+ "@storybook/preset-react-webpack": "8.0.0-alpha.1",
98
+ "@storybook/preview-api": "8.0.0-alpha.1",
99
+ "@storybook/react": "8.0.0-alpha.1",
99
100
  "@types/node": "^18.0.0",
100
101
  "css-loader": "^6.7.3",
101
102
  "find-up": "^5.0.0",
@@ -127,16 +128,12 @@
127
128
  "webpack": "^5.65.0"
128
129
  },
129
130
  "peerDependencies": {
130
- "@next/font": "^13.0.0|| ^14.0.0",
131
- "next": "^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0",
131
+ "next": "^13.5.0 || ^14.0.0",
132
132
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
133
133
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
134
134
  "webpack": "^5.0.0"
135
135
  },
136
136
  "peerDependenciesMeta": {
137
- "@next/font": {
138
- "optional": true
139
- },
140
137
  "typescript": {
141
138
  "optional": true
142
139
  },
@@ -156,9 +153,9 @@
156
153
  "./src/index.ts",
157
154
  "./src/preset.ts",
158
155
  "./src/preview.tsx",
156
+ "./src/previewRSC.tsx",
159
157
  "./src/next-image-loader-stub.ts",
160
158
  "./src/images/decorator.tsx",
161
- "./src/images/next-future-image.tsx",
162
159
  "./src/images/next-legacy-image.tsx",
163
160
  "./src/images/next-image.tsx",
164
161
  "./src/font/webpack/loader/storybook-nextjs-font-loader.ts",
@@ -1,8 +0,0 @@
1
- import './chunk-FFRTCGB4.mjs';
2
- import React from 'react';
3
- import { GlobalLayoutRouterContext, AppRouterContext, LayoutRouterContext } from 'next/dist/shared/lib/app-router-context.shared-runtime';
4
- import { PathnameContext, SearchParamsContext } from 'next/dist/shared/lib/hooks-client-context.shared-runtime';
5
-
6
- var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}];return React.createElement(PathnameContext.Provider,{value:pathname},React.createElement(SearchParamsContext.Provider,{value:new URLSearchParams(query)},React.createElement(GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},buildId:"storybook",tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree],onlyHashChange:!1},nextUrl:pathname}},React.createElement(AppRouterContext.Provider,{value:{push(...args){action("nextNavigation.push")(...args);},replace(...args){action("nextNavigation.replace")(...args);},forward(...args){action("nextNavigation.forward")(...args);},back(...args){action("nextNavigation.back")(...args);},prefetch(...args){action("nextNavigation.prefetch")(...args);},refresh:()=>{action("nextNavigation.refresh")();},...restRouteParams}},React.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))};
7
-
8
- export { AppRouterProvider };
@@ -1,3 +0,0 @@
1
- var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __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 __esm=(fn,res)=>function(){return fn&&(res=(0, fn[__getOwnPropNames(fn)[0]])(fn=0)),res};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 __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);
2
-
3
- export { __commonJS, __esm, __export, __require, __toCommonJS };
@@ -1,6 +0,0 @@
1
- import React__default from 'react';
2
- import * as _NextImage from 'next/image';
3
-
4
- declare function NextFutureImage({ loader, ...props }: _NextImage.ImageProps): React__default.JSX.Element;
5
-
6
- export { NextFutureImage as default };
@@ -1 +0,0 @@
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 next_future_image_exports={};__export(next_future_image_exports,{default:()=>next_future_image_default});module.exports=__toCommonJS(next_future_image_exports);var import_react=__toESM(require("react")),import_image=__toESM(require("sb-original/next/future/image")),import_image_context=require("@storybook/nextjs/dist/image-context");var defaultLoader=({src,width,quality=75})=>{let missingValues=[];if(src||missingValues.push("src"),width||missingValues.push("width"),missingValues.length>0)throw new Error(`Next Image Optimization requires ${missingValues.join(", ")} to be provided. Make sure you pass them as props to the \`next/image\` component. Received: ${JSON.stringify({src,width,quality})}`);let url=new URL(src,window.location.href);return!url.searchParams.has("w")&&!url.searchParams.has("q")&&(url.searchParams.set("w",width.toString()),url.searchParams.set("q",quality.toString())),!src.startsWith("http://")&&!src.startsWith("https://")?url.toString().slice(url.origin.length):url.toString()};var ImageContext=import_image_context.ImageContext;function NextFutureImage({loader,...props}){let imageParameters=import_react.default.useContext(ImageContext);return import_react.default.createElement(import_image.default,{...imageParameters,...props,loader:loader??defaultLoader})}var next_future_image_default=NextFutureImage;
@@ -1,9 +0,0 @@
1
- import { defaultLoader } from '../chunk-ETFXNGLC.mjs';
2
- import '../chunk-FFRTCGB4.mjs';
3
- import React from 'react';
4
- import OriginalNextFutureImage from 'sb-original/next/future/image';
5
- import { ImageContext as ImageContext$1 } from '@storybook/nextjs/dist/image-context';
6
-
7
- var ImageContext=ImageContext$1;function NextFutureImage({loader,...props}){let imageParameters=React.useContext(ImageContext);return React.createElement(OriginalNextFutureImage,{...imageParameters,...props,loader:loader??defaultLoader})}var next_future_image_default=NextFutureImage;
8
-
9
- export { next_future_image_default as default };