@storybook/nextjs 7.6.3 → 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,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,""),{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};
@@ -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,swcMode){let localFontSrc=options.props.src,parentFolder=swcMode?path.dirname(path.join(getProjectRoot(),options.filename)).replace(rootContext,""):path.dirname(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};
@@ -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-f57a7eb0.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';
@@ -2908,9 +2908,13 @@ interface Presets {
2908
2908
  apply(extension: 'entries', config?: [], args?: any): Promise<unknown>;
2909
2909
  apply(extension: 'stories', config?: [], args?: any): Promise<StoriesEntry[]>;
2910
2910
  apply(extension: 'managerEntries', config: [], args?: any): Promise<string[]>;
2911
- apply(extension: 'refs', config?: [], args?: any): Promise<unknown>;
2912
- apply(extension: 'core', config?: {}, args?: any): Promise<CoreConfig>;
2913
- apply(extension: 'build', config?: {}, args?: any): Promise<StorybookConfig['build']>;
2911
+ apply(extension: 'refs', config?: [], args?: any): Promise<StorybookConfigRaw['refs']>;
2912
+ apply(extension: 'core', config?: StorybookConfigRaw['core'], args?: any): Promise<NonNullable<StorybookConfigRaw['core']>>;
2913
+ apply(extension: 'docs', config?: StorybookConfigRaw['docs'], args?: any): Promise<NonNullable<StorybookConfigRaw['docs']>>;
2914
+ apply(extension: 'features', config?: StorybookConfigRaw['features'], args?: any): Promise<NonNullable<StorybookConfigRaw['features']>>;
2915
+ apply(extension: 'typescript', config?: StorybookConfigRaw['typescript'], args?: any): Promise<NonNullable<StorybookConfigRaw['typescript']>>;
2916
+ apply(extension: 'build', config?: StorybookConfigRaw['build'], args?: any): Promise<NonNullable<StorybookConfigRaw['build']>>;
2917
+ apply(extension: 'staticDirs', config?: StorybookConfigRaw['staticDirs'], args?: any): Promise<StorybookConfigRaw['staticDirs']>;
2914
2918
  apply<T>(extension: string, config?: T, args?: unknown): Promise<T>;
2915
2919
  }
2916
2920
  interface LoadedPreset {
@@ -2970,7 +2974,7 @@ interface BuilderOptions {
2970
2974
  cache?: FileSystemCache;
2971
2975
  configDir: string;
2972
2976
  docsMode?: boolean;
2973
- features?: StorybookConfig['features'];
2977
+ features?: StorybookConfigRaw['features'];
2974
2978
  versionCheck?: VersionCheck;
2975
2979
  disableWebpackDefaults?: boolean;
2976
2980
  serverChannelUrl?: string;
@@ -3076,9 +3080,10 @@ interface TestBuildConfig {
3076
3080
  test?: TestBuildFlags;
3077
3081
  }
3078
3082
  /**
3079
- * The interface for Storybook configuration in `main.ts` files.
3083
+ * The interface for Storybook configuration used internally in presets
3084
+ * The difference is that these values are the raw values, AKA, not wrapped with `PresetValue<>`
3080
3085
  */
3081
- interface StorybookConfig {
3086
+ interface StorybookConfigRaw {
3082
3087
  /**
3083
3088
  * Sets the addons you want to use with Storybook.
3084
3089
  *
@@ -3086,11 +3091,6 @@ interface StorybookConfig {
3086
3091
  */
3087
3092
  addons?: Preset[];
3088
3093
  core?: CoreConfig;
3089
- /**
3090
- * Sets a list of directories of static files to be loaded by Storybook server
3091
- *
3092
- * @example `['./public']` or `[{from: './public', 'to': '/assets'}]`
3093
- */
3094
3094
  staticDirs?: (DirectoryMapping | string)[];
3095
3095
  logLevel?: string;
3096
3096
  features?: {
@@ -3130,90 +3130,32 @@ interface StorybookConfig {
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
- /**
3136
- * Tells Storybook where to find stories.
3137
- *
3138
- * @example `['./src/*.stories.@(j|t)sx?']`
3139
- */
3140
3139
  stories: StoriesEntry[];
3141
- /**
3142
- * Framework, e.g. '@storybook/react-vite', required in v7
3143
- */
3144
3140
  framework?: Preset;
3145
- /**
3146
- * Controls how Storybook handles TypeScript files.
3147
- */
3148
3141
  typescript?: Partial<TypescriptOptions>;
3149
- /**
3150
- * References external Storybooks
3151
- */
3152
- refs?: PresetValue<CoreCommon_StorybookRefs>;
3153
- /**
3154
- * Modify or return babel config.
3155
- */
3156
- babel?: (config: TransformOptions, options: Options) => TransformOptions | Promise<TransformOptions>;
3157
- /**
3158
- * Modify or return swc config.
3159
- */
3160
- swc?: (config: Options$2, options: Options) => Options$2 | Promise<Options$2>;
3161
- /**
3162
- * Modify or return env config.
3163
- */
3164
- env?: PresetValue<Record<string, string>>;
3165
- /**
3166
- * Modify or return babel config.
3167
- */
3168
- babelDefault?: (config: TransformOptions, options: Options) => TransformOptions | Promise<TransformOptions>;
3169
- /**
3170
- * Add additional scripts to run in the preview a la `.storybook/preview.js`
3171
- *
3172
- * @deprecated use `previewAnnotations` or `/preview.js` file instead
3173
- */
3174
- config?: PresetValue<Entry[]>;
3175
- /**
3176
- * Add additional scripts to run in the preview a la `.storybook/preview.js`
3177
- */
3178
- previewAnnotations?: PresetValue<Entry[]>;
3179
- /**
3180
- * Process CSF files for the story index.
3181
- * @deprecated use {@link experimental_indexers} instead
3182
- */
3183
- storyIndexers?: PresetValue<StoryIndexer[]>;
3184
- /**
3185
- * Process CSF files for the story index.
3186
- */
3187
- experimental_indexers?: PresetValue<Indexer[]>;
3188
- /**
3189
- * Docs related features in index generation
3190
- */
3142
+ refs?: CoreCommon_StorybookRefs;
3143
+ babel?: TransformOptions;
3144
+ swc?: Options$2;
3145
+ env?: Record<string, string>;
3146
+ babelDefault?: TransformOptions;
3147
+ config?: Entry[];
3148
+ previewAnnotations?: Entry[];
3149
+ storyIndexers?: StoryIndexer[];
3150
+ experimental_indexers?: Indexer[];
3191
3151
  docs?: DocsOptions;
3192
- /**
3193
- * Programmatically modify the preview head/body HTML.
3194
- * The previewHead and previewBody functions accept a string,
3195
- * which is the existing head/body, and return a modified string.
3196
- */
3197
- previewHead?: PresetValue<string>;
3198
- previewBody?: PresetValue<string>;
3199
- /**
3200
- * Programmatically override the preview's main page template.
3201
- * This should return a reference to a file containing an `.ejs` template
3202
- * that will be interpolated with environment variables.
3203
- *
3204
- * @example '.storybook/index.ejs'
3205
- */
3152
+ previewHead?: string;
3153
+ previewBody?: string;
3206
3154
  previewMainTemplate?: string;
3207
- /**
3208
- * Programmatically modify the preview head/body HTML.
3209
- * The managerHead function accept a string,
3210
- * which is the existing head content, and return a modified string.
3211
- */
3212
- managerHead?: PresetValue<string>;
3155
+ managerHead?: string;
3213
3156
  }
3214
- type PresetValue<T> = T | ((config: T, options: Options) => T | Promise<T>);
3215
- type PresetProperty<K, TStorybookConfig = StorybookConfig> = TStorybookConfig[K extends keyof TStorybookConfig ? K : never] | PresetPropertyFn<K, TStorybookConfig>;
3216
- type PresetPropertyFn<K, TStorybookConfig = StorybookConfig, TOptions = {}> = (config: TStorybookConfig[K extends keyof TStorybookConfig ? K : never], options: Options & TOptions) => TStorybookConfig[K extends keyof TStorybookConfig ? K : never] | Promise<TStorybookConfig[K extends keyof TStorybookConfig ? K : never]>;
3157
+ type PresetProperty<K, TStorybookConfig = StorybookConfigRaw> = TStorybookConfig[K extends keyof TStorybookConfig ? K : never] | PresetPropertyFn<K, TStorybookConfig>;
3158
+ type PresetPropertyFn<K, TStorybookConfig = StorybookConfigRaw, TOptions = {}> = (config: TStorybookConfig[K extends keyof TStorybookConfig ? K : never], options: Options & TOptions) => TStorybookConfig[K extends keyof TStorybookConfig ? K : never] | Promise<TStorybookConfig[K extends keyof TStorybookConfig ? K : never]>;
3217
3159
  type Addon_StoryContext<TRenderer extends Renderer = Renderer> = StoryContext<TRenderer>;
3218
3160
  type Addon_ReturnTypeFramework<ReturnType> = {
3219
3161
  component: any;
@@ -3223,4 +3165,4 @@ type Addon_ReturnTypeFramework<ReturnType> = {
3223
3165
  type Addon_DecoratorFunction<StoryFnReturnType = unknown> = DecoratorFunction<Addon_ReturnTypeFramework<StoryFnReturnType>>;
3224
3166
  type Path = string;
3225
3167
 
3226
- export { Addon_DecoratorFunction as A, Options as O, PresetProperty as P, Addon_StoryContext as a };
3168
+ export { Addon_DecoratorFunction as A, PresetProperty as P, Addon_StoryContext as a };
@@ -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,16 +1,16 @@
1
- import { P as PresetProperty, O as Options } from './index.d-f57a7eb0.js';
2
- import { TransformOptions } from '@babel/core';
1
+ import { P as PresetProperty } from './index.d-45fb9e07.js';
3
2
  import { StorybookConfig } from './index.js';
4
3
  import 'file-system-cache';
4
+ import '@babel/core';
5
5
  import 'http';
6
6
  import '@storybook/preset-react-webpack';
7
7
  import '@storybook/builder-webpack5';
8
8
 
9
- declare const addons: PresetProperty<'addons', StorybookConfig>;
10
- declare const frameworkOptions: (_: never, options: Options) => Promise<StorybookConfig['framework']>;
11
- declare const core: PresetProperty<'core', StorybookConfig>;
12
- declare const previewAnnotations: StorybookConfig['previewAnnotations'];
13
- declare const babel: (baseConfig: TransformOptions) => Promise<TransformOptions>;
9
+ declare const addons: PresetProperty<'addons'>;
10
+ declare const frameworkOptions: PresetProperty<'framework'>;
11
+ declare const core: PresetProperty<'core'>;
12
+ declare const previewAnnotations: PresetProperty<'previewAnnotations'>;
13
+ declare const babel: PresetProperty<'babel'>;
14
14
  declare const webpackFinal: StorybookConfig['webpackFinal'];
15
15
 
16
16
  export { addons, babel, core, frameworkOptions, previewAnnotations, webpackFinal };
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.0.0":{"@storybook/nextjs/dist/routing/app-router-provider":"@storybook/nextjs/dist/routing/app-router-provider-mock"},"<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-f57a7eb0.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 __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 React3=__toESM(require("react")),import_addon_actions=require("@storybook/addon-actions"),import_app_router_provider=require("@storybook/nextjs/dist/routing/app-router-provider");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;return((_a=parameters2.nextjs)==null?void 0:_a.appDirectory)??!1?import_app_router_provider.AppRouterProvider?React3.createElement(import_app_router_provider.AppRouterProvider,{action:import_addon_actions.action,routeParams:{...defaultRouterParams,...(_b=parameters2.nextjs)==null?void 0:_b.navigation}},React3.createElement(Story,null)):null:React3.createElement(PageRouterProvider,{action:import_addon_actions.action,globals,routeParams:{...defaultRouterParams,...(_c=parameters2.nextjs)==null?void 0:_c.router}},React3.createElement(Story,null))};var React4=__toESM(require("react")),StyleRegistry;try{StyleRegistry=require("styled-jsx").StyleRegistry}catch{StyleRegistry=React4.Fragment}var StyledJsxDecorator=Story=>React4.createElement(StyleRegistry,null,React4.createElement(Story,null));var React6=__toESM(require("react"));var import_react2=__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_react2.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react2.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React6.createElement(head_manager_provider_default,null,React6.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,14 +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 { AppRouterProvider } from '@storybook/nextjs/dist/routing/app-router-provider';
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';
8
9
  import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';
10
+ import { StyleRegistry } from 'styled-jsx';
9
11
  import { HeadManagerContext } from 'next/dist/shared/lib/head-manager-context.shared-runtime';
10
12
  import initHeadManager from 'next/dist/client/head-manager';
11
13
 
12
- 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})=>parameters2.nextjs?.appDirectory??!1?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}}};
13
15
 
14
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 };
@@ -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 __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_mock_exports={};__export(app_router_provider_mock_exports,{AppRouterProvider:()=>AppRouterProvider});module.exports=__toCommonJS(app_router_provider_mock_exports);var import_react=__toESM(require("react")),AppRouterProvider=({children})=>import_react.default.createElement(import_react.default.Fragment,null,children);0&&(module.exports={AppRouterProvider});
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": "7.6.3",
3
+ "version": "8.0.0-alpha.1",
4
4
  "description": "Storybook for Next.js",
5
5
  "keywords": [
6
6
  "storybook",
@@ -32,16 +32,6 @@
32
32
  "require": "./dist/image-context.js",
33
33
  "import": "./dist/image-context.mjs"
34
34
  },
35
- "./dist/routing/app-router-provider": {
36
- "types": "./dist/routing/app-router-provider.d.ts",
37
- "require": "./dist/routing/app-router-provider.js",
38
- "import": "./dist/routing/app-router-provider.mjs"
39
- },
40
- "./dist/routing/app-router-provider-mock": {
41
- "types": "./dist/routing/app-router-provider-mock.d.ts",
42
- "require": "./dist/routing/app-router-provider-mock.js",
43
- "import": "./dist/routing/app-router-provider-mock.mjs"
44
- },
45
35
  "./preset": {
46
36
  "types": "./dist/preset.d.ts",
47
37
  "require": "./dist/preset.js"
@@ -52,6 +42,7 @@
52
42
  "import": "./dist/font/webpack/loader/storybook-nextjs-font-loader.mjs"
53
43
  },
54
44
  "./dist/preview.mjs": "./dist/preview.mjs",
45
+ "./dist/previewRSC.mjs": "./dist/previewRSC.mjs",
55
46
  "./next-image-loader-stub.js": {
56
47
  "types": "./dist/next-image-loader-stub.d.ts",
57
48
  "require": "./dist/next-image-loader-stub.js",
@@ -98,14 +89,14 @@
98
89
  "@babel/preset-react": "^7.22.15",
99
90
  "@babel/preset-typescript": "^7.23.2",
100
91
  "@babel/runtime": "^7.23.2",
101
- "@storybook/addon-actions": "7.6.3",
102
- "@storybook/builder-webpack5": "7.6.3",
103
- "@storybook/core-common": "7.6.3",
104
- "@storybook/core-events": "7.6.3",
105
- "@storybook/node-logger": "7.6.3",
106
- "@storybook/preset-react-webpack": "7.6.3",
107
- "@storybook/preview-api": "7.6.3",
108
- "@storybook/react": "7.6.3",
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",
109
100
  "@types/node": "^18.0.0",
110
101
  "css-loader": "^6.7.3",
111
102
  "find-up": "^5.0.0",
@@ -133,20 +124,16 @@
133
124
  "@types/babel__preset-env": "^7",
134
125
  "@types/loader-utils": "^2.0.5",
135
126
  "next": "^14.0.2",
136
- "typescript": "^4.9.3",
127
+ "typescript": "^5.3.2",
137
128
  "webpack": "^5.65.0"
138
129
  },
139
130
  "peerDependencies": {
140
- "@next/font": "^13.0.0|| ^14.0.0",
141
- "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",
142
132
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
143
133
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
144
134
  "webpack": "^5.0.0"
145
135
  },
146
136
  "peerDependenciesMeta": {
147
- "@next/font": {
148
- "optional": true
149
- },
150
137
  "typescript": {
151
138
  "optional": true
152
139
  },
@@ -166,13 +153,11 @@
166
153
  "./src/index.ts",
167
154
  "./src/preset.ts",
168
155
  "./src/preview.tsx",
156
+ "./src/previewRSC.tsx",
169
157
  "./src/next-image-loader-stub.ts",
170
158
  "./src/images/decorator.tsx",
171
- "./src/images/next-future-image.tsx",
172
159
  "./src/images/next-legacy-image.tsx",
173
160
  "./src/images/next-image.tsx",
174
- "./src/routing/app-router-provider.tsx",
175
- "./src/routing/app-router-provider-mock.tsx",
176
161
  "./src/font/webpack/loader/storybook-nextjs-font-loader.ts",
177
162
  "./src/swc/next-swc-loader-patch.ts"
178
163
  ],
@@ -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 };
@@ -1,5 +0,0 @@
1
- import React__default from 'react';
2
-
3
- declare const AppRouterProvider: React__default.FC<React__default.PropsWithChildren<{}>>;
4
-
5
- export { AppRouterProvider };
@@ -1,6 +0,0 @@
1
- import '../chunk-FFRTCGB4.mjs';
2
- import React from 'react';
3
-
4
- var AppRouterProvider=({children})=>React.createElement(React.Fragment,null,children);
5
-
6
- export { AppRouterProvider };
@@ -1,15 +0,0 @@
1
- import React__default from 'react';
2
-
3
- type RouteParams = {
4
- pathname: string;
5
- query: Record<string, string>;
6
- [key: string]: any;
7
- };
8
-
9
- type AppRouterProviderProps = {
10
- action: (name: string) => (...args: any[]) => void;
11
- routeParams: RouteParams;
12
- };
13
- declare const AppRouterProvider: React__default.FC<AppRouterProviderProps>;
14
-
15
- export { AppRouterProvider };
@@ -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 app_router_provider_exports={};__export(app_router_provider_exports,{AppRouterProvider:()=>AppRouterProvider});module.exports=__toCommonJS(app_router_provider_exports);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,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){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}},import_react.default.createElement(import_app_router_context.LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))};0&&(module.exports={AppRouterProvider});
@@ -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 };