@storybook/nextjs 9.1.2 → 9.1.4

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
@@ -1,6 +1,6 @@
1
1
  # Storybook for Next.js
2
2
 
3
- See [documentation](https://storybook.js.org/docs/get-started/frameworks/nextjs?renderer=react) for installation instructions, usage examples, APIs, and more.
3
+ See [documentation](https://storybook.js.org/docs/get-started/frameworks/nextjs?renderer=react&ref=readme) for installation instructions, usage examples, APIs, and more.
4
4
 
5
5
  ## Acknowledgements
6
6
 
@@ -8,3 +8,5 @@ This framework borrows heavily from these Storybook addons:
8
8
 
9
9
  - [storybook-addon-next](https://github.com/RyanClementsHax/storybook-addon-next) by [RyanClementsHax](https://github.com/RyanClementsHax/)
10
10
  - [storybook-addon-next-router](https://github.com/lifeiscontent/storybook-addon-next-router) by [lifeiscontent](https://github.com/lifeiscontent)
11
+
12
+ Learn more about Storybook at [storybook.js.org](https://storybook.js.org/?ref=readme).
@@ -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 export_mocks_exports={};__export(export_mocks_exports,{getPackageAliases:()=>getPackageAliases});module.exports=__toCommonJS(export_mocks_exports);var import_node_path2=require("path");var import_semver=__toESM(require("semver"));var import_node_path=require("path"),import_common=require("storybook/internal/common"),import_constants=require("next/constants"),import_config=__toESM(require("next/dist/server/config")),import_webpack=require("webpack");var getNextjsVersion=()=>require(scopedResolve("next/package.json")).version;var scopedResolve=id=>{let scopedModulePath=require.resolve(id),idWithNativePathSep=id.replace(/\//g,import_node_path.sep);if(scopedModulePath.endsWith(idWithNativePathSep))return scopedModulePath;let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(idWithNativePathSep)+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var mapping={"<15.0.0":{"next/dist/server/request/headers":"next/dist/client/components/headers","next/dist/server/request/draft-mode":"@storybook/nextjs/dist/compatibility/draft-mode.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).forEach(key=>{import_semver.default.intersects(version,key)&&Object.assign(result,mapping[key])}),result};var mapping2={"next/headers":"/dist/export-mocks/headers/index","@storybook/nextjs/headers.mock":"/dist/export-mocks/headers/index","next/navigation":"/dist/export-mocks/navigation/index","@storybook/nextjs/navigation.mock":"/dist/export-mocks/navigation/index","next/router":"/dist/export-mocks/router/index","@storybook/nextjs/router.mock":"/dist/export-mocks/router/index","next/cache":"/dist/export-mocks/cache/index","@storybook/nextjs/cache.mock":"/dist/export-mocks/cache/index",...getCompatibilityAliases()},getPackageAliases=({useESM=!1}={})=>{let extension=useESM?"mjs":"js",packageLocation=(0,import_node_path2.dirname)(require.resolve("@storybook/nextjs/package.json")),getFullPath=path=>path.startsWith("next")?path:(0,import_node_path2.join)(packageLocation,path.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,typeof aliasedPath=="string"?getFullPath(`${aliasedPath}.${extension}`):aliasedPath]))};0&&(module.exports={getPackageAliases});
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 export_mocks_exports={};__export(export_mocks_exports,{getPackageAliases:()=>getPackageAliases});module.exports=__toCommonJS(export_mocks_exports);var import_node_path2=require("path");var import_semver=__toESM(require("semver"));var import_node_path=require("path"),import_common=require("storybook/internal/common"),import_builder_webpack5=require("@storybook/builder-webpack5"),import_constants=require("next/constants.js"),import_config=__toESM(require("next/dist/server/config.js"));var getNextjsVersion=()=>require(scopedResolve("next/package.json")).version;var scopedResolve=id=>{let scopedModulePath=require.resolve(id),idWithNativePathSep=id.replace(/\//g,import_node_path.sep);if(scopedModulePath.endsWith(idWithNativePathSep))return scopedModulePath;let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(idWithNativePathSep)+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var mapping={"<15.0.0":{"next/dist/server/request/headers":"next/dist/client/components/headers","next/dist/server/request/draft-mode":"@storybook/nextjs/dist/compatibility/draft-mode.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).forEach(key=>{import_semver.default.intersects(version,key)&&Object.assign(result,mapping[key])}),result};var mapping2={"next/headers":"/dist/export-mocks/headers/index","@storybook/nextjs/headers.mock":"/dist/export-mocks/headers/index","next/navigation":"/dist/export-mocks/navigation/index","@storybook/nextjs/navigation.mock":"/dist/export-mocks/navigation/index","next/router":"/dist/export-mocks/router/index","@storybook/nextjs/router.mock":"/dist/export-mocks/router/index","next/cache":"/dist/export-mocks/cache/index","@storybook/nextjs/cache.mock":"/dist/export-mocks/cache/index",...getCompatibilityAliases()},getPackageAliases=({useESM=!1}={})=>{let extension=useESM?"mjs":"js",packageLocation=(0,import_node_path2.dirname)(require.resolve("@storybook/nextjs/package.json")),getFullPath=path=>path.startsWith("next")?path:(0,import_node_path2.join)(packageLocation,path.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,typeof aliasedPath=="string"?getFullPath(`${aliasedPath}.${extension}`):aliasedPath]))};0&&(module.exports={getPackageAliases});
@@ -2,9 +2,9 @@ import { __require } from '../chunk-L66KIASX.mjs';
2
2
  import { dirname, sep, join } from 'node:path';
3
3
  import semver from 'semver';
4
4
  import 'storybook/internal/common';
5
- import 'next/constants';
6
- import 'next/dist/server/config';
7
- import 'webpack';
5
+ import '@storybook/builder-webpack5';
6
+ import 'next/constants.js';
7
+ import 'next/dist/server/config.js';
8
8
 
9
9
  var getNextjsVersion=()=>__require(scopedResolve("next/package.json")).version;var scopedResolve=id=>{let scopedModulePath=__require.resolve(id),idWithNativePathSep=id.replace(/\//g,sep);if(scopedModulePath.endsWith(idWithNativePathSep))return scopedModulePath;let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(idWithNativePathSep)+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var mapping={"<15.0.0":{"next/dist/server/request/headers":"next/dist/client/components/headers","next/dist/server/request/draft-mode":"@storybook/nextjs/dist/compatibility/draft-mode.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).forEach(key=>{semver.intersects(version,key)&&Object.assign(result,mapping[key]);}),result};var mapping2={"next/headers":"/dist/export-mocks/headers/index","@storybook/nextjs/headers.mock":"/dist/export-mocks/headers/index","next/navigation":"/dist/export-mocks/navigation/index","@storybook/nextjs/navigation.mock":"/dist/export-mocks/navigation/index","next/router":"/dist/export-mocks/router/index","@storybook/nextjs/router.mock":"/dist/export-mocks/router/index","next/cache":"/dist/export-mocks/cache/index","@storybook/nextjs/cache.mock":"/dist/export-mocks/cache/index",...getCompatibilityAliases()},getPackageAliases=({useESM=!1}={})=>{let extension=useESM?"mjs":"js",packageLocation=dirname(__require.resolve("@storybook/nextjs/package.json")),getFullPath=path=>path.startsWith("next")?path:join(packageLocation,path.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,typeof aliasedPath=="string"?getFullPath(`${aliasedPath}.${extension}`):aliasedPath]))};
10
10
 
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(path2,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path2.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path2.scope.generateUidIdentifier("pragma");let mapping3=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(mapping3):[newPath]=path2.unshiftContainer("body",mapping3);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path2.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]=path2.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path2.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(path2,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path2.parent)||!t.isArrayPattern(path2.parent.id))return;let hookName=path2.node.callee.name;if(libs){let binding=path2.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)&&(path2.parent.id=t.objectPattern(path2.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(path2,state){path2.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(path2,state){if(path2.node.source.value!=="next/dynamic")return;let defaultSpecifier=path2.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path2.scope.getBinding(bindingName);binding&&binding.referencePaths.forEach(refPath=>{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&&state.file.opts.caller?.isServer&&loader.replaceWith(t.arrowFunctionExpression([],t.nullLiteral(),!0))}if(loader.traverse({Import(importPath){let importArguments=importPath.parentPath.get("arguments");if(!Array.isArray(importArguments))return;let{node}=importArguments[0];dynamicImports.push(node),dynamicKeys.push(t.binaryExpression("+",t.stringLiteral(`${state.file.opts.caller?.pagesDir?(0,import_node_path.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(state.file.opts.caller?.isDev||state.file.opts.caller?.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_node_path,init_react_loadable_plugin=__esm({"src/babel/plugins/react-loadable-plugin.ts"(){"use strict";import_node_path=require("path")}});var amp_attributes_exports={};__export(amp_attributes_exports,{default:()=>AmpAttributePatcher});function AmpAttributePatcher(){return{visitor:{JSXOpeningElement(path2){let openingElement=path2.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 utils_exports={};__export(utils_exports,{addScopedAlias:()=>addScopedAlias,configureRuntimeNextjsVersionResolution:()=>configureRuntimeNextjsVersionResolution,getNextjsVersion:()=>getNextjsVersion,getNodeModulesExcludeRegex:()=>getNodeModulesExcludeRegex,resolveNextConfig:()=>resolveNextConfig,scopedResolve:()=>scopedResolve,setAlias:()=>setAlias});function setAlias(baseConfig,name,alias){baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias;Array.isArray(aliasConfig)?aliasConfig.push({name,alias}):aliasConfig[name]=alias}function getNodeModulesExcludeRegex(transpilePackages){if(!transpilePackages||transpilePackages.length===0)return/node_modules/;let escaped=transpilePackages.map(pkg=>pkg.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(`node_modules/(?!(${escaped})/)`)}var import_node_path3,import_common,import_constants,import_config,import_webpack,configureRuntimeNextjsVersionResolution,getNextjsVersion,resolveNextConfig,addScopedAlias,scopedResolve,init_utils=__esm({"src/utils.ts"(){"use strict";import_node_path3=require("path"),import_common=require("storybook/internal/common"),import_constants=require("next/constants"),import_config=__toESM(require("next/dist/server/config")),import_webpack=require("webpack"),configureRuntimeNextjsVersionResolution=baseConfig=>{baseConfig.plugins?.push(new import_webpack.DefinePlugin({"process.env.__NEXT_VERSION":JSON.stringify(getNextjsVersion())}))},getNextjsVersion=()=>require(scopedResolve("next/package.json")).version,resolveNextConfig=async({nextConfigPath})=>{let dir=nextConfigPath?(0,import_node_path3.dirname)(nextConfigPath):(0,import_common.getProjectRoot)();return(0,import_config.default)(import_constants.PHASE_DEVELOPMENT_SERVER,dir,void 0)};addScopedAlias=(baseConfig,name,alias)=>{let scopedAlias=scopedResolve(`${alias??name}`);setAlias(baseConfig,name,scopedAlias)},scopedResolve=id=>{let scopedModulePath=require.resolve(id),idWithNativePathSep=id.replace(/\//g,import_node_path3.sep);if(scopedModulePath.endsWith(idWithNativePathSep))return scopedModulePath;let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(idWithNativePathSep)+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)}}});var configureNextFont_exports={};__export(configureNextFont_exports,{configureNextFont:()=>configureNextFont});function configureNextFont(baseConfig,isSWC){let fontLoaderPath=require.resolve("@storybook/nextjs/font/webpack/loader/storybook-nextjs-font-loader");isSWC?baseConfig.module?.rules?.push({test:/next(\\|\/|\\\\).*(\\|\/|\\\\)target\.css$/,loader:fontLoaderPath}):baseConfig.resolveLoader={...baseConfig.resolveLoader,alias:{...baseConfig.resolveLoader?.alias,"storybook-nextjs-font-loader":fontLoaderPath}}}var init_configureNextFont=__esm({"src/font/webpack/configureNextFont.ts"(){"use strict"}});var webpack_exports={};__export(webpack_exports,{configureImports:()=>configureImports});var import_tsconfig_paths,import_tsconfig_paths_webpack_plugin,configureImports,init_webpack=__esm({"src/imports/webpack.ts"(){"use strict";import_tsconfig_paths=require("tsconfig-paths"),import_tsconfig_paths_webpack_plugin=__toESM(require("tsconfig-paths-webpack-plugin")),configureImports=({baseConfig,configDir})=>{let configLoadResult=(0,import_tsconfig_paths.loadConfig)(configDir);configLoadResult.resultType!=="failed"&&(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 webpack_exports2={};__export(webpack_exports2,{configureCss:()=>configureCss});var import_file_resolve,import_getCssModuleLocalIdent,import_semver,configureCss,getImportAndUrlCssLoaderOptions,getUrlResolver,getImportResolver,isCssLoaderV6,init_webpack2=__esm({"src/css/webpack.ts"(){"use strict";import_file_resolve=require("next/dist/build/webpack/config/blocks/css/loaders/file-resolve"),import_getCssModuleLocalIdent=require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent"),import_semver=__toESM(require("semver"));init_utils();configureCss=(baseConfig,nextConfig)=>{let rules=baseConfig.module?.rules;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?.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:nextConfig.sassOptions?.prependData||nextConfig.sassOptions?.additionalData}}]})},getImportAndUrlCssLoaderOptions=nextConfig=>isCssLoaderV6()?{url:{filter:getUrlResolver(nextConfig)},import:{filter:getImportResolver(nextConfig)}}:{url:getUrlResolver(nextConfig),import:getImportResolver(nextConfig)},getUrlResolver=nextConfig=>(url,resourcePath)=>(0,import_file_resolve.cssFileResolve)(url,resourcePath,nextConfig.experimental?.urlImports),getImportResolver=nextConfig=>(url,_,resourcePath)=>(0,import_file_resolve.cssFileResolve)(typeof url=="string"?url:url.url,resourcePath,nextConfig.experimental?.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 webpack_exports3={};__export(webpack_exports3,{configureImages:()=>configureImages});var import_node_path4,import_semver2,configureImages,fallbackFilename,configureImageDefaults,configureStaticImageImport,init_webpack3=__esm({"src/images/webpack.ts"(){"use strict";import_node_path4=require("path"),import_semver2=__toESM(require("semver"));init_utils();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":(0,import_node_path4.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":(0,import_node_path4.resolve)(__dirname,"./images/next-legacy-image")})},configureStaticImageImport=(baseConfig,nextConfig)=>{let version=getNextjsVersion(),rules=baseConfig.module?.rules,assetRule=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?.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:assetRule.generator?.filename??fallbackFilename,nextConfig}}]}),rules?.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:/\.(css|scss|sass)$/,type:"asset/resource",generator:{filename:assetRule.generator?.filename??fallbackFilename}}))}}});var webpack_exports4={};__export(webpack_exports4,{configureStyledJsx:()=>configureStyledJsx});var configureStyledJsx,init_webpack4=__esm({"src/styledJsx/webpack.ts"(){"use strict";init_utils();configureStyledJsx=baseConfig=>{addScopedAlias(baseConfig,"styled-jsx")}}});var webpack_exports5={};__export(webpack_exports5,{configureNodePolyfills:()=>configureNodePolyfills});var import_node_polyfill_webpack_plugin,configureNodePolyfills,init_webpack5=__esm({"src/nodePolyfills/webpack.ts"(){"use strict";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_semver3,mapping,getCompatibilityAliases,configureCompatibilityAliases,init_compatibility_map=__esm({"src/compatibility/compatibility-map.ts"(){"use strict";import_semver3=__toESM(require("semver"));init_utils();mapping={"<15.0.0":{"next/dist/server/request/headers":"next/dist/client/components/headers","next/dist/server/request/draft-mode":"@storybook/nextjs/dist/compatibility/draft-mode.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).forEach(key=>{import_semver3.default.intersects(version,key)&&Object.assign(result,mapping[key])}),result},configureCompatibilityAliases=baseConfig=>{let aliases=getCompatibilityAliases();Object.entries(aliases).forEach(([name,alias])=>{typeof alias=="string"?addScopedAlias(baseConfig,name,alias):setAlias(baseConfig,name,alias)})}}});var import_node_path5,mapping2,getPackageAliases,configureNextExportMocks,init_webpack6=__esm({"src/export-mocks/webpack.ts"(){"use strict";import_node_path5=require("path");init_compatibility_map();mapping2={"next/headers":"/dist/export-mocks/headers/index","@storybook/nextjs/headers.mock":"/dist/export-mocks/headers/index","next/navigation":"/dist/export-mocks/navigation/index","@storybook/nextjs/navigation.mock":"/dist/export-mocks/navigation/index","next/router":"/dist/export-mocks/router/index","@storybook/nextjs/router.mock":"/dist/export-mocks/router/index","next/cache":"/dist/export-mocks/cache/index","@storybook/nextjs/cache.mock":"/dist/export-mocks/cache/index",...getCompatibilityAliases()},getPackageAliases=({useESM=!1}={})=>{let extension=useESM?"mjs":"js",packageLocation=(0,import_node_path5.dirname)(require.resolve("@storybook/nextjs/package.json")),getFullPath=path2=>path2.startsWith("next")?path2:(0,import_node_path5.join)(packageLocation,path2.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,typeof aliasedPath=="string"?getFullPath(`${aliasedPath}.${extension}`):aliasedPath]))},configureNextExportMocks=baseConfig=>{let resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,...getPackageAliases({useESM:!0})}}}});var webpack_exports6={};__export(webpack_exports6,{configureAliases:()=>configureAliases});var import_path,configureAliases,init_webpack7=__esm({"src/aliases/webpack.ts"(){"use strict";import_path=__toESM(require("path"));init_compatibility_map();init_webpack6();configureAliases=baseConfig=>{configureNextExportMocks(baseConfig),configureCompatibilityAliases(baseConfig),baseConfig.resolve={...baseConfig.resolve??{},alias:{...baseConfig.resolve?.alias??{},"@opentelemetry/api":"next/dist/compiled/@opentelemetry/api",next:import_path.default.dirname(require.resolve("next/package.json"))}},baseConfig.ignoreWarnings=[...baseConfig.ignoreWarnings??[],warning=>warning.message.includes("export 'draftMode'")&&warning.message.includes("next/dist/server/request/headers")]}}});var webpack_exports7={};__export(webpack_exports7,{configureFastRefresh:()=>configureFastRefresh});var import_react_refresh_webpack_plugin,configureFastRefresh,init_webpack8=__esm({"src/fastRefresh/webpack.ts"(){"use strict";import_react_refresh_webpack_plugin=__toESM(require("@pmmmwh/react-refresh-webpack-plugin")),configureFastRefresh=baseConfig=>{baseConfig.plugins=[...baseConfig.plugins??[],new import_react_refresh_webpack_plugin.default({overlay:!1})]}}});var webpack_exports8={};__export(webpack_exports8,{configureRSC:()=>configureRSC});var configureRSC,init_webpack9=__esm({"src/rsc/webpack.ts"(){"use strict";configureRSC=baseConfig=>{let resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,"server-only$":require.resolve("./rsc/server-only.js")}}}});var loader_exports={};__export(loader_exports,{configureSWCLoader:()=>configureSWCLoader});var import_node_path6,import_common2,import_builder_webpack5,import_load_jsconfig,configureSWCLoader,init_loader=__esm({"src/swc/loader.ts"(){"use strict";import_node_path6=require("path"),import_common2=require("storybook/internal/common"),import_builder_webpack5=require("@storybook/builder-webpack5"),import_load_jsconfig=__toESM(require("next/dist/build/load-jsconfig"));init_utils();configureSWCLoader=async(baseConfig,options,nextConfig)=>{let isDevelopment=options.configType!=="PRODUCTION",{virtualModules}=await(0,import_builder_webpack5.getVirtualModules)(options),projectRoot=(0,import_common2.getProjectRoot)(),{jsConfig}=await(0,import_load_jsconfig.default)(projectRoot,nextConfig),rawRule=baseConfig.module?.rules?.find(rule=>typeof rule=="object"&&rule?.resourceQuery?.toString()==="/raw/");rawRule&&typeof rawRule=="object"&&(rawRule.exclude=/^__barrel_optimize__/);let transpilePackages=nextConfig.transpilePackages??[];baseConfig.module?.rules?.push({test:/\.((c|m)?(j|t)sx?)$/,include:[projectRoot],exclude:[getNodeModulesExcludeRegex(transpilePackages),...Object.keys(virtualModules)],use:{loader:require.resolve("./swc/next-swc-loader-patch.js"),options:{isServer:!1,rootDir:projectRoot,pagesDir:`${projectRoot}/pages`,appDir:`${projectRoot}/apps`,hasReactRefresh:isDevelopment,jsConfig,nextConfig,supportedBrowsers:require("next/dist/build/utils").getSupportedBrowsers(projectRoot,isDevelopment),swcCacheDir:(0,import_node_path6.join)(projectRoot,nextConfig?.distDir??".next","cache","swc"),bundleTarget:"default"}}})}}});var loader_exports2={};__export(loader_exports2,{configureBabelLoader:()=>configureBabelLoader});var import_common3,import_builder_webpack52,configureBabelLoader,init_loader2=__esm({"src/babel/loader.ts"(){"use strict";import_common3=require("storybook/internal/common"),import_builder_webpack52=require("@storybook/builder-webpack5");init_utils();configureBabelLoader=async(baseConfig,options,nextConfig)=>{let{virtualModules}=await(0,import_builder_webpack52.getVirtualModules)(options),babelOptions=await options.presets.apply("babel",{},options),typescriptOptions=await options.presets.apply("typescript",{},options);baseConfig.module.rules=[...baseConfig.module.rules,{test:typescriptOptions.skipCompiler?/\.((c|m)?jsx?)$/:/\.((c|m)?(j|t)sx?)$/,use:[{loader:require.resolve("babel-loader"),options:{cacheDirectory:(0,import_common3.resolvePathInStorybookCache)("babel"),...babelOptions}}],include:[(0,import_common3.getProjectRoot)()],exclude:[getNodeModulesExcludeRegex(nextConfig.transpilePackages??[]),...Object.keys(virtualModules)]}]}}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,core:()=>core,previewAnnotations:()=>previewAnnotations,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_node_fs=require("fs"),import_node_path7=require("path"),import_common4=require("storybook/internal/common"),import_node_logger=require("storybook/internal/node-logger"),import_core=require("@babel/core"),import_semver4=__toESM(require("semver"));var import_node_path2=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?.supportsStaticESM}var preset_default=(api,options={})=>{let supportsESM=api.caller(supportsStaticESM),isServer=api.caller(caller=>!!caller&&caller.isServer),isCallerDevelopment=api.caller(caller=>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=options["preset-react"]?.runtime==="automatic"||!!api.caller(caller=>!!caller&&caller.hasJsxRuntime)&&options["preset-react"]?.runtime!=="classic",presetEnvConfig={modules:"auto",exclude:["transform-typeof-symbol"],bugfixes:!0,targets:{chrome:100,safari:15,firefox:91},...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:[isDevelopment&&require.resolve("react-refresh/babel"),!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_node_path2.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)}};init_utils();var tryResolve=path2=>{try{return require.resolve(path2)}catch{return!1}},configureConfig=async({baseConfig,nextConfigPath})=>{let nextConfig=await resolveNextConfig({nextConfigPath});return addScopedAlias(baseConfig,"next/config"),baseConfig.resolve?.alias?.["react-dom"]&&delete baseConfig.resolve.alias?.["react-dom"],tryResolve("next/dist/compiled/react")&&addScopedAlias(baseConfig,"react","next/dist/compiled/react"),tryResolve("next/dist/compiled/react-dom/cjs/react-dom-test-utils.production.js")&&addScopedAlias(baseConfig,"react-dom/test-utils","next/dist/compiled/react-dom/cjs/react-dom-test-utils.production.js"),tryResolve("next/dist/compiled/react-dom")&&(addScopedAlias(baseConfig,"react-dom$","next/dist/compiled/react-dom"),addScopedAlias(baseConfig,"react-dom/client","next/dist/compiled/react-dom/client"),addScopedAlias(baseConfig,"react-dom/server","next/dist/compiled/react-dom/server")),await setupRuntimeConfig(baseConfig,nextConfig),nextConfig},setupRuntimeConfig=async(baseConfig,nextConfig)=>{let definePluginConfig={"process.env.__NEXT_RUNTIME_CONFIG":JSON.stringify({serverRuntimeConfig:{},publicRuntimeConfig:nextConfig.publicRuntimeConfig})},newNextLinkBehavior=nextConfig.experimental?.newNextLinkBehavior;definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=newNextLinkBehavior,baseConfig.plugins?.push(new(await import("webpack")).default.DefinePlugin(definePluginConfig))};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?.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(path2,types,metas){path2.parentPath.traverse({ExportNamedDeclaration(declaratorPath){declaratorPath.parentPath?.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){declaratorPath.parentPath.parentPath?.isProgram()&&metas.some(meta=>types.isIdentifier(declaratorPath.node.id)&&meta.identifierName===declaratorPath.node.id.name)&&declaratorPath.remove()}})}function replaceImportWithParamterImport(path2,types,source,metas,filename){path2.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(path2,state){let{node}=path2,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path2.parentPath.isProgram())return;let program=path2.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path2.parentPath.isProgram())return[];let program=path2.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}}}}}var addons=[(0,import_node_path7.dirname)(require.resolve((0,import_node_path7.join)("@storybook/preset-react-webpack","package.json")))],core=async(config,options)=>{let framework=await options.presets.apply("framework");return await configureConfig({baseConfig:{},nextConfigPath:typeof framework=="string"?void 0:framework.options.nextConfigPath}),{...config,builder:{name:(0,import_node_path7.dirname)(require.resolve((0,import_node_path7.join)("@storybook/builder-webpack5","package.json"))),options:{...typeof framework=="string"?{}:framework.options.builder||{}}},renderer:(0,import_node_path7.dirname)(require.resolve((0,import_node_path7.join)("@storybook/react","package.json")))}},previewAnnotations=(entry=[])=>{let nextDir=(0,import_node_path7.dirname)(require.resolve("@storybook/nextjs/package.json"));return[...entry,(0,import_node_path7.join)(nextDir,"dist/preview.mjs")]},babel=async baseConfig=>{let options=(0,import_core.loadPartialConfig)({...baseConfig,filename:`${(0,import_common4.getProjectRoot)()}/__fake__.js`})?.options,isPresetConfigItem=preset=>typeof preset=="object"&&preset!==null&&"file"in preset,isNextBabelConfig=preset=>Array.isArray(preset)&&preset[0]==="next/babel"||preset==="next/babel"||isPresetConfigItem(preset)&&preset.file?.request==="next/babel",hasNextBabelConfig=options?.presets?.find(isNextBabelConfig),presets=options?.presets?.filter(preset=>!(isPresetConfigItem(preset)&&preset.file?.request===require.resolve("@babel/preset-react")||isNextBabelConfig(preset)))??[];hasNextBabelConfig?Array.isArray(hasNextBabelConfig)&&hasNextBabelConfig[1]?presets.push([preset_default,hasNextBabelConfig[1]]):isPresetConfigItem(hasNextBabelConfig)&&hasNextBabelConfig.file?.request==="next/babel"?presets.push([preset_default,hasNextBabelConfig.options]):presets.push(preset_default):presets.push(preset_default);let plugins=[...options?.plugins??[],TransformFontImports];return{...options,plugins,presets,babelrc:!1,configFile:!1,overrides:[...options?.overrides??[],{include:/(story|stories)\.[cm]?[jt]sx?$/,presets:[["next/dist/compiled/babel/preset-env",{bugfixes:!0,targets:{chrome:100,safari:15,firefox:91}}]]}]}},webpackFinal=async(baseConfig,options)=>{let{nextConfigPath}=await options.presets.apply("frameworkOptions"),nextConfig=await configureConfig({baseConfig,nextConfigPath}),{configureNextFont:configureNextFont2}=await Promise.resolve().then(()=>(init_configureNextFont(),configureNextFont_exports)),{configureRuntimeNextjsVersionResolution:configureRuntimeNextjsVersionResolution2,getNextjsVersion:getNextjsVersion2}=await Promise.resolve().then(()=>(init_utils(),utils_exports)),{configureImports:configureImports2}=await Promise.resolve().then(()=>(init_webpack(),webpack_exports)),{configureCss:configureCss2}=await Promise.resolve().then(()=>(init_webpack2(),webpack_exports2)),{configureImages:configureImages2}=await Promise.resolve().then(()=>(init_webpack3(),webpack_exports3)),{configureStyledJsx:configureStyledJsx2}=await Promise.resolve().then(()=>(init_webpack4(),webpack_exports4)),{configureNodePolyfills:configureNodePolyfills2}=await Promise.resolve().then(()=>(init_webpack5(),webpack_exports5)),{configureAliases:configureAliases2}=await Promise.resolve().then(()=>(init_webpack7(),webpack_exports6)),{configureFastRefresh:configureFastRefresh2}=await Promise.resolve().then(()=>(init_webpack8(),webpack_exports7)),{configureRSC:configureRSC2}=await Promise.resolve().then(()=>(init_webpack9(),webpack_exports8)),{configureSWCLoader:configureSWCLoader2}=await Promise.resolve().then(()=>(init_loader(),loader_exports)),{configureBabelLoader:configureBabelLoader2}=await Promise.resolve().then(()=>(init_loader2(),loader_exports2)),babelRCPath=(0,import_node_path7.join)((0,import_common4.getProjectRoot)(),".babelrc"),babelConfigPath=(0,import_node_path7.join)((0,import_common4.getProjectRoot)(),"babel.config.js"),hasBabelConfig=(0,import_node_fs.existsSync)(babelRCPath)||(0,import_node_fs.existsSync)(babelConfigPath),nextjsVersion=getNextjsVersion2(),isDevelopment=options.configType!=="PRODUCTION",useSWC=import_semver4.default.gte(nextjsVersion,"14.0.0")&&(nextConfig.experimental?.forceSwcTransforms||!hasBabelConfig);return configureNextFont2(baseConfig,useSWC),configureRuntimeNextjsVersionResolution2(baseConfig),configureImports2({baseConfig,configDir:options.configDir}),configureCss2(baseConfig,nextConfig),configureImages2(baseConfig,nextConfig),configureStyledJsx2(baseConfig),configureNodePolyfills2(baseConfig),configureAliases2(baseConfig),isDevelopment&&configureFastRefresh2(baseConfig),options.features?.experimentalRSC&&configureRSC2(baseConfig),useSWC?(import_node_logger.logger.info("=> Using SWC as compiler"),await configureSWCLoader2(baseConfig,options,nextConfig)):(import_node_logger.logger.info("=> Using Babel as compiler"),await configureBabelLoader2(baseConfig,options,nextConfig)),baseConfig};0&&(module.exports={addons,babel,core,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(path2,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path2.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path2.scope.generateUidIdentifier("pragma");let mapping3=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(mapping3):[newPath]=path2.unshiftContainer("body",mapping3);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path2.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]=path2.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path2.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(path2,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path2.parent)||!t.isArrayPattern(path2.parent.id))return;let hookName=path2.node.callee.name;if(libs){let binding=path2.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)&&(path2.parent.id=t.objectPattern(path2.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(path2,state){path2.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(path2,state){if(path2.node.source.value!=="next/dynamic")return;let defaultSpecifier=path2.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path2.scope.getBinding(bindingName);binding&&binding.referencePaths.forEach(refPath=>{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&&state.file.opts.caller?.isServer&&loader.replaceWith(t.arrowFunctionExpression([],t.nullLiteral(),!0))}if(loader.traverse({Import(importPath){let importArguments=importPath.parentPath.get("arguments");if(!Array.isArray(importArguments))return;let{node}=importArguments[0];dynamicImports.push(node),dynamicKeys.push(t.binaryExpression("+",t.stringLiteral(`${state.file.opts.caller?.pagesDir?(0,import_node_path.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(state.file.opts.caller?.isDev||state.file.opts.caller?.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_node_path,init_react_loadable_plugin=__esm({"src/babel/plugins/react-loadable-plugin.ts"(){"use strict";import_node_path=require("path")}});var amp_attributes_exports={};__export(amp_attributes_exports,{default:()=>AmpAttributePatcher});function AmpAttributePatcher(){return{visitor:{JSXOpeningElement(path2){let openingElement=path2.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 utils_exports={};__export(utils_exports,{addScopedAlias:()=>addScopedAlias,configureRuntimeNextjsVersionResolution:()=>configureRuntimeNextjsVersionResolution,getNextjsVersion:()=>getNextjsVersion,getNodeModulesExcludeRegex:()=>getNodeModulesExcludeRegex,resolveNextConfig:()=>resolveNextConfig,scopedResolve:()=>scopedResolve,setAlias:()=>setAlias});function setAlias(baseConfig,name,alias){baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias;Array.isArray(aliasConfig)?aliasConfig.push({name,alias}):aliasConfig[name]=alias}function getNodeModulesExcludeRegex(transpilePackages){if(!transpilePackages||transpilePackages.length===0)return/node_modules/;let escaped=transpilePackages.map(pkg=>pkg.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(`node_modules/(?!(${escaped})/)`)}var import_node_path3,import_common,import_builder_webpack5,import_constants,import_config,configureRuntimeNextjsVersionResolution,getNextjsVersion,resolveNextConfig,addScopedAlias,scopedResolve,init_utils=__esm({"src/utils.ts"(){"use strict";import_node_path3=require("path"),import_common=require("storybook/internal/common"),import_builder_webpack5=require("@storybook/builder-webpack5"),import_constants=require("next/constants.js"),import_config=__toESM(require("next/dist/server/config.js")),configureRuntimeNextjsVersionResolution=baseConfig=>{baseConfig.plugins?.push(new import_builder_webpack5.WebpackDefinePlugin({"process.env.__NEXT_VERSION":JSON.stringify(getNextjsVersion())}))},getNextjsVersion=()=>require(scopedResolve("next/package.json")).version,resolveNextConfig=async({nextConfigPath})=>{let dir=nextConfigPath?(0,import_node_path3.dirname)(nextConfigPath):(0,import_common.getProjectRoot)(),loadConfig2=import_config.default.default??import_config.default,nextPrivateRenderWorker=process.env.__NEXT_PRIVATE_RENDER_WORKER;process.env.__NEXT_PRIVATE_RENDER_WORKER="defined";let config=loadConfig2(import_constants.PHASE_DEVELOPMENT_SERVER,dir,void 0);return typeof nextPrivateRenderWorker>"u"?delete process.env.__NEXT_PRIVATE_RENDER_WORKER:process.env.__NEXT_PRIVATE_RENDER_WORKER=nextPrivateRenderWorker,config};addScopedAlias=(baseConfig,name,alias)=>{let scopedAlias=scopedResolve(`${alias??name}`);setAlias(baseConfig,name,scopedAlias)},scopedResolve=id=>{let scopedModulePath=require.resolve(id),idWithNativePathSep=id.replace(/\//g,import_node_path3.sep);if(scopedModulePath.endsWith(idWithNativePathSep))return scopedModulePath;let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(idWithNativePathSep)+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)}}});var configureNextFont_exports={};__export(configureNextFont_exports,{configureNextFont:()=>configureNextFont});function configureNextFont(baseConfig,isSWC){let fontLoaderPath=require.resolve("@storybook/nextjs/font/webpack/loader/storybook-nextjs-font-loader");isSWC?baseConfig.module?.rules?.push({test:/next(\\|\/|\\\\).*(\\|\/|\\\\)target\.css$/,loader:fontLoaderPath}):baseConfig.resolveLoader={...baseConfig.resolveLoader,alias:{...baseConfig.resolveLoader?.alias,"storybook-nextjs-font-loader":fontLoaderPath}}}var init_configureNextFont=__esm({"src/font/webpack/configureNextFont.ts"(){"use strict"}});var webpack_exports={};__export(webpack_exports,{configureImports:()=>configureImports});var import_tsconfig_paths,import_tsconfig_paths_webpack_plugin,configureImports,init_webpack=__esm({"src/imports/webpack.ts"(){"use strict";import_tsconfig_paths=require("tsconfig-paths"),import_tsconfig_paths_webpack_plugin=__toESM(require("tsconfig-paths-webpack-plugin")),configureImports=({baseConfig,configDir})=>{let configLoadResult=(0,import_tsconfig_paths.loadConfig)(configDir);configLoadResult.resultType!=="failed"&&(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 webpack_exports2={};__export(webpack_exports2,{configureCss:()=>configureCss});var import_file_resolve,import_getCssModuleLocalIdent,import_semver,configureCss,getImportAndUrlCssLoaderOptions,getUrlResolver,getImportResolver,isCssLoaderV6,init_webpack2=__esm({"src/css/webpack.ts"(){"use strict";import_file_resolve=require("next/dist/build/webpack/config/blocks/css/loaders/file-resolve"),import_getCssModuleLocalIdent=require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent"),import_semver=__toESM(require("semver"));init_utils();configureCss=(baseConfig,nextConfig)=>{let rules=baseConfig.module?.rules;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?.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:nextConfig.sassOptions?.prependData||nextConfig.sassOptions?.additionalData}}]})},getImportAndUrlCssLoaderOptions=nextConfig=>isCssLoaderV6()?{url:{filter:getUrlResolver(nextConfig)},import:{filter:getImportResolver(nextConfig)}}:{url:getUrlResolver(nextConfig),import:getImportResolver(nextConfig)},getUrlResolver=nextConfig=>(url,resourcePath)=>(0,import_file_resolve.cssFileResolve)(url,resourcePath,nextConfig.experimental?.urlImports),getImportResolver=nextConfig=>(url,_,resourcePath)=>(0,import_file_resolve.cssFileResolve)(typeof url=="string"?url:url.url,resourcePath,nextConfig.experimental?.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 webpack_exports3={};__export(webpack_exports3,{configureImages:()=>configureImages});var import_node_path4,import_semver2,configureImages,fallbackFilename,configureImageDefaults,configureStaticImageImport,init_webpack3=__esm({"src/images/webpack.ts"(){"use strict";import_node_path4=require("path"),import_semver2=__toESM(require("semver"));init_utils();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":(0,import_node_path4.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":(0,import_node_path4.resolve)(__dirname,"./images/next-legacy-image")})},configureStaticImageImport=(baseConfig,nextConfig)=>{let version=getNextjsVersion(),rules=baseConfig.module?.rules,assetRule=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?.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:assetRule.generator?.filename??fallbackFilename,nextConfig}}]}),rules?.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:/\.(css|scss|sass)$/,type:"asset/resource",generator:{filename:assetRule.generator?.filename??fallbackFilename}}))}}});var webpack_exports4={};__export(webpack_exports4,{configureStyledJsx:()=>configureStyledJsx});var configureStyledJsx,init_webpack4=__esm({"src/styledJsx/webpack.ts"(){"use strict";init_utils();configureStyledJsx=baseConfig=>{addScopedAlias(baseConfig,"styled-jsx")}}});var webpack_exports5={};__export(webpack_exports5,{configureNodePolyfills:()=>configureNodePolyfills});var import_node_polyfill_webpack_plugin,configureNodePolyfills,init_webpack5=__esm({"src/nodePolyfills/webpack.ts"(){"use strict";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_semver3,mapping,getCompatibilityAliases,configureCompatibilityAliases,init_compatibility_map=__esm({"src/compatibility/compatibility-map.ts"(){"use strict";import_semver3=__toESM(require("semver"));init_utils();mapping={"<15.0.0":{"next/dist/server/request/headers":"next/dist/client/components/headers","next/dist/server/request/draft-mode":"@storybook/nextjs/dist/compatibility/draft-mode.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).forEach(key=>{import_semver3.default.intersects(version,key)&&Object.assign(result,mapping[key])}),result},configureCompatibilityAliases=baseConfig=>{let aliases=getCompatibilityAliases();Object.entries(aliases).forEach(([name,alias])=>{typeof alias=="string"?addScopedAlias(baseConfig,name,alias):setAlias(baseConfig,name,alias)})}}});var import_node_path5,mapping2,getPackageAliases,configureNextExportMocks,init_webpack6=__esm({"src/export-mocks/webpack.ts"(){"use strict";import_node_path5=require("path");init_compatibility_map();mapping2={"next/headers":"/dist/export-mocks/headers/index","@storybook/nextjs/headers.mock":"/dist/export-mocks/headers/index","next/navigation":"/dist/export-mocks/navigation/index","@storybook/nextjs/navigation.mock":"/dist/export-mocks/navigation/index","next/router":"/dist/export-mocks/router/index","@storybook/nextjs/router.mock":"/dist/export-mocks/router/index","next/cache":"/dist/export-mocks/cache/index","@storybook/nextjs/cache.mock":"/dist/export-mocks/cache/index",...getCompatibilityAliases()},getPackageAliases=({useESM=!1}={})=>{let extension=useESM?"mjs":"js",packageLocation=(0,import_node_path5.dirname)(require.resolve("@storybook/nextjs/package.json")),getFullPath=path2=>path2.startsWith("next")?path2:(0,import_node_path5.join)(packageLocation,path2.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,typeof aliasedPath=="string"?getFullPath(`${aliasedPath}.${extension}`):aliasedPath]))},configureNextExportMocks=baseConfig=>{let resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,...getPackageAliases({useESM:!0})}}}});var webpack_exports6={};__export(webpack_exports6,{configureAliases:()=>configureAliases});var import_path,configureAliases,init_webpack7=__esm({"src/aliases/webpack.ts"(){"use strict";import_path=__toESM(require("path"));init_compatibility_map();init_webpack6();configureAliases=baseConfig=>{configureNextExportMocks(baseConfig),configureCompatibilityAliases(baseConfig),baseConfig.resolve={...baseConfig.resolve??{},alias:{...baseConfig.resolve?.alias??{},"@opentelemetry/api":"next/dist/compiled/@opentelemetry/api",next:import_path.default.dirname(require.resolve("next/package.json"))}},baseConfig.ignoreWarnings=[...baseConfig.ignoreWarnings??[],warning=>warning.message.includes("export 'draftMode'")&&warning.message.includes("next/dist/server/request/headers")]}}});var webpack_exports7={};__export(webpack_exports7,{configureFastRefresh:()=>configureFastRefresh});var import_react_refresh_webpack_plugin,configureFastRefresh,init_webpack8=__esm({"src/fastRefresh/webpack.ts"(){"use strict";import_react_refresh_webpack_plugin=__toESM(require("@pmmmwh/react-refresh-webpack-plugin")),configureFastRefresh=baseConfig=>{baseConfig.plugins=[...baseConfig.plugins??[],new import_react_refresh_webpack_plugin.default({overlay:!1})]}}});var webpack_exports8={};__export(webpack_exports8,{configureRSC:()=>configureRSC});var configureRSC,init_webpack9=__esm({"src/rsc/webpack.ts"(){"use strict";configureRSC=baseConfig=>{let resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,"server-only$":require.resolve("./rsc/server-only.js")}}}});var loader_exports={};__export(loader_exports,{configureSWCLoader:()=>configureSWCLoader});var import_node_path6,import_common2,import_builder_webpack52,import_load_jsconfig,configureSWCLoader,init_loader=__esm({"src/swc/loader.ts"(){"use strict";import_node_path6=require("path"),import_common2=require("storybook/internal/common"),import_builder_webpack52=require("@storybook/builder-webpack5"),import_load_jsconfig=__toESM(require("next/dist/build/load-jsconfig"));init_utils();configureSWCLoader=async(baseConfig,options,nextConfig)=>{let isDevelopment=options.configType!=="PRODUCTION",{virtualModules}=await(0,import_builder_webpack52.getVirtualModules)(options),projectRoot=(0,import_common2.getProjectRoot)(),{jsConfig}=await(0,import_load_jsconfig.default)(projectRoot,nextConfig),rawRule=baseConfig.module?.rules?.find(rule=>typeof rule=="object"&&rule?.resourceQuery?.toString()==="/raw/");rawRule&&typeof rawRule=="object"&&(rawRule.exclude=/^__barrel_optimize__/);let transpilePackages=nextConfig.transpilePackages??[];baseConfig.module?.rules?.push({test:/\.((c|m)?(j|t)sx?)$/,include:[projectRoot],exclude:[getNodeModulesExcludeRegex(transpilePackages),...Object.keys(virtualModules)],use:{loader:require.resolve("./swc/next-swc-loader-patch.js"),options:{isServer:!1,rootDir:projectRoot,pagesDir:`${projectRoot}/pages`,appDir:`${projectRoot}/apps`,hasReactRefresh:isDevelopment,jsConfig,nextConfig,supportedBrowsers:require("next/dist/build/utils").getSupportedBrowsers(projectRoot,isDevelopment),swcCacheDir:(0,import_node_path6.join)(projectRoot,nextConfig?.distDir??".next","cache","swc"),bundleTarget:"default"}}})}}});var loader_exports2={};__export(loader_exports2,{configureBabelLoader:()=>configureBabelLoader});var import_common3,import_builder_webpack53,configureBabelLoader,init_loader2=__esm({"src/babel/loader.ts"(){"use strict";import_common3=require("storybook/internal/common"),import_builder_webpack53=require("@storybook/builder-webpack5");init_utils();configureBabelLoader=async(baseConfig,options,nextConfig)=>{let{virtualModules}=await(0,import_builder_webpack53.getVirtualModules)(options),babelOptions=await options.presets.apply("babel",{},options),typescriptOptions=await options.presets.apply("typescript",{},options);baseConfig.module.rules=[...baseConfig.module.rules,{test:typescriptOptions.skipCompiler?/\.((c|m)?jsx?)$/:/\.((c|m)?(j|t)sx?)$/,use:[{loader:require.resolve("babel-loader"),options:{cacheDirectory:(0,import_common3.resolvePathInStorybookCache)("babel"),...babelOptions}}],include:[(0,import_common3.getProjectRoot)()],exclude:[getNodeModulesExcludeRegex(nextConfig.transpilePackages??[]),...Object.keys(virtualModules)]}]}}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,core:()=>core,previewAnnotations:()=>previewAnnotations,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_node_fs=require("fs"),import_node_path7=require("path"),import_common4=require("storybook/internal/common"),import_node_logger=require("storybook/internal/node-logger"),import_core=require("@babel/core"),import_semver4=__toESM(require("semver"));var import_node_path2=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?.supportsStaticESM}var preset_default=(api,options={})=>{let supportsESM=api.caller(supportsStaticESM),isServer=api.caller(caller=>!!caller&&caller.isServer),isCallerDevelopment=api.caller(caller=>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=options["preset-react"]?.runtime==="automatic"||!!api.caller(caller=>!!caller&&caller.hasJsxRuntime)&&options["preset-react"]?.runtime!=="classic",presetEnvConfig={modules:"auto",exclude:["transform-typeof-symbol"],bugfixes:!0,targets:{chrome:100,safari:15,firefox:91},...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:[isDevelopment&&require.resolve("react-refresh/babel"),!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_node_path2.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)}};init_utils();var tryResolve=path2=>{try{return require.resolve(path2)}catch{return!1}},configureConfig=async({baseConfig,nextConfigPath})=>{let nextConfig=await resolveNextConfig({nextConfigPath});return addScopedAlias(baseConfig,"next/config"),baseConfig.resolve?.alias?.["react-dom"]&&delete baseConfig.resolve.alias?.["react-dom"],tryResolve("next/dist/compiled/react")&&addScopedAlias(baseConfig,"react","next/dist/compiled/react"),tryResolve("next/dist/compiled/react-dom/cjs/react-dom-test-utils.production.js")&&addScopedAlias(baseConfig,"react-dom/test-utils","next/dist/compiled/react-dom/cjs/react-dom-test-utils.production.js"),tryResolve("next/dist/compiled/react-dom")&&(addScopedAlias(baseConfig,"react-dom$","next/dist/compiled/react-dom"),addScopedAlias(baseConfig,"react-dom/client","next/dist/compiled/react-dom/client"),addScopedAlias(baseConfig,"react-dom/server","next/dist/compiled/react-dom/server")),await setupRuntimeConfig(baseConfig,nextConfig),nextConfig},setupRuntimeConfig=async(baseConfig,nextConfig)=>{let definePluginConfig={"process.env.__NEXT_RUNTIME_CONFIG":JSON.stringify({serverRuntimeConfig:{},publicRuntimeConfig:nextConfig.publicRuntimeConfig})},newNextLinkBehavior=nextConfig.experimental?.newNextLinkBehavior;definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=newNextLinkBehavior,baseConfig.plugins?.push(new(await import("webpack")).default.DefinePlugin(definePluginConfig))};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?.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(path2,types,metas){path2.parentPath.traverse({ExportNamedDeclaration(declaratorPath){declaratorPath.parentPath?.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){declaratorPath.parentPath.parentPath?.isProgram()&&metas.some(meta=>types.isIdentifier(declaratorPath.node.id)&&meta.identifierName===declaratorPath.node.id.name)&&declaratorPath.remove()}})}function replaceImportWithParamterImport(path2,types,source,metas,filename){path2.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(path2,state){let{node}=path2,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path2.parentPath.isProgram())return;let program=path2.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path2.parentPath.isProgram())return[];let program=path2.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}}}}}var addons=[(0,import_node_path7.dirname)(require.resolve((0,import_node_path7.join)("@storybook/preset-react-webpack","package.json")))],core=async(config,options)=>{let framework=await options.presets.apply("framework");return await configureConfig({baseConfig:{},nextConfigPath:typeof framework=="string"?void 0:framework.options.nextConfigPath}),{...config,builder:{name:(0,import_node_path7.dirname)(require.resolve((0,import_node_path7.join)("@storybook/builder-webpack5","package.json"))),options:{...typeof framework=="string"?{}:framework.options.builder||{}}},renderer:(0,import_node_path7.dirname)(require.resolve((0,import_node_path7.join)("@storybook/react","package.json")))}},previewAnnotations=(entry=[])=>{let nextDir=(0,import_node_path7.dirname)(require.resolve("@storybook/nextjs/package.json"));return[...entry,(0,import_node_path7.join)(nextDir,"dist/preview.mjs")]},babel=async baseConfig=>{let options=(0,import_core.loadPartialConfig)({...baseConfig,filename:`${(0,import_common4.getProjectRoot)()}/__fake__.js`})?.options,isPresetConfigItem=preset=>typeof preset=="object"&&preset!==null&&"file"in preset,isNextBabelConfig=preset=>Array.isArray(preset)&&preset[0]==="next/babel"||preset==="next/babel"||isPresetConfigItem(preset)&&preset.file?.request==="next/babel",hasNextBabelConfig=options?.presets?.find(isNextBabelConfig),presets=options?.presets?.filter(preset=>!(isPresetConfigItem(preset)&&preset.file?.request===require.resolve("@babel/preset-react")||isNextBabelConfig(preset)))??[];hasNextBabelConfig?Array.isArray(hasNextBabelConfig)&&hasNextBabelConfig[1]?presets.push([preset_default,hasNextBabelConfig[1]]):isPresetConfigItem(hasNextBabelConfig)&&hasNextBabelConfig.file?.request==="next/babel"?presets.push([preset_default,hasNextBabelConfig.options]):presets.push(preset_default):presets.push(preset_default);let plugins=[...options?.plugins??[],TransformFontImports];return{...options,plugins,presets,babelrc:!1,configFile:!1,overrides:[...options?.overrides??[],{include:/(story|stories)\.[cm]?[jt]sx?$/,presets:[["next/dist/compiled/babel/preset-env",{bugfixes:!0,targets:{chrome:100,safari:15,firefox:91}}]]}]}},webpackFinal=async(baseConfig,options)=>{let{nextConfigPath}=await options.presets.apply("frameworkOptions"),nextConfig=await configureConfig({baseConfig,nextConfigPath}),{configureNextFont:configureNextFont2}=await Promise.resolve().then(()=>(init_configureNextFont(),configureNextFont_exports)),{configureRuntimeNextjsVersionResolution:configureRuntimeNextjsVersionResolution2,getNextjsVersion:getNextjsVersion2}=await Promise.resolve().then(()=>(init_utils(),utils_exports)),{configureImports:configureImports2}=await Promise.resolve().then(()=>(init_webpack(),webpack_exports)),{configureCss:configureCss2}=await Promise.resolve().then(()=>(init_webpack2(),webpack_exports2)),{configureImages:configureImages2}=await Promise.resolve().then(()=>(init_webpack3(),webpack_exports3)),{configureStyledJsx:configureStyledJsx2}=await Promise.resolve().then(()=>(init_webpack4(),webpack_exports4)),{configureNodePolyfills:configureNodePolyfills2}=await Promise.resolve().then(()=>(init_webpack5(),webpack_exports5)),{configureAliases:configureAliases2}=await Promise.resolve().then(()=>(init_webpack7(),webpack_exports6)),{configureFastRefresh:configureFastRefresh2}=await Promise.resolve().then(()=>(init_webpack8(),webpack_exports7)),{configureRSC:configureRSC2}=await Promise.resolve().then(()=>(init_webpack9(),webpack_exports8)),{configureSWCLoader:configureSWCLoader2}=await Promise.resolve().then(()=>(init_loader(),loader_exports)),{configureBabelLoader:configureBabelLoader2}=await Promise.resolve().then(()=>(init_loader2(),loader_exports2)),babelRCPath=(0,import_node_path7.join)((0,import_common4.getProjectRoot)(),".babelrc"),babelConfigPath=(0,import_node_path7.join)((0,import_common4.getProjectRoot)(),"babel.config.js"),hasBabelConfig=(0,import_node_fs.existsSync)(babelRCPath)||(0,import_node_fs.existsSync)(babelConfigPath),nextjsVersion=getNextjsVersion2(),isDevelopment=options.configType!=="PRODUCTION",useSWC=import_semver4.default.gte(nextjsVersion,"14.0.0")&&(nextConfig.experimental?.forceSwcTransforms||!hasBabelConfig);return configureNextFont2(baseConfig,useSWC),configureRuntimeNextjsVersionResolution2(baseConfig),configureImports2({baseConfig,configDir:options.configDir}),configureCss2(baseConfig,nextConfig),configureImages2(baseConfig,nextConfig),configureStyledJsx2(baseConfig),configureNodePolyfills2(baseConfig),configureAliases2(baseConfig),isDevelopment&&configureFastRefresh2(baseConfig),options.features?.experimentalRSC&&configureRSC2(baseConfig),useSWC?(import_node_logger.logger.info("=> Using SWC as compiler"),await configureSWCLoader2(baseConfig,options,nextConfig)):(import_node_logger.logger.info("=> Using Babel as compiler"),await configureBabelLoader2(baseConfig,options,nextConfig)),baseConfig};0&&(module.exports={addons,babel,core,previewAnnotations,webpackFinal});
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "@storybook/nextjs",
3
- "version": "9.1.2",
4
- "description": "Storybook for Next.js",
3
+ "version": "9.1.4",
4
+ "description": "Storybook for Next.js: Develop, document, and test UI components in isolation",
5
5
  "keywords": [
6
6
  "storybook",
7
- "nextjs"
7
+ "next",
8
+ "next.js",
9
+ "webpack",
10
+ "component",
11
+ "components"
8
12
  ],
9
13
  "homepage": "https://github.com/storybookjs/storybook/tree/next/code/frameworks/nextjs",
10
14
  "bugs": {
@@ -143,9 +147,9 @@
143
147
  "@babel/preset-typescript": "^7.24.1",
144
148
  "@babel/runtime": "^7.24.4",
145
149
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
146
- "@storybook/builder-webpack5": "9.1.2",
147
- "@storybook/preset-react-webpack": "9.1.2",
148
- "@storybook/react": "9.1.2",
150
+ "@storybook/builder-webpack5": "9.1.4",
151
+ "@storybook/preset-react-webpack": "9.1.4",
152
+ "@storybook/react": "9.1.4",
149
153
  "@types/semver": "^7.3.4",
150
154
  "babel-loader": "^9.1.3",
151
155
  "css-loader": "^6.7.3",
@@ -179,7 +183,7 @@
179
183
  "next": "^14.1.0 || ^15.0.0",
180
184
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
181
185
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
182
- "storybook": "^9.1.2",
186
+ "storybook": "^9.1.4",
183
187
  "webpack": "^5.0.0"
184
188
  },
185
189
  "peerDependenciesMeta": {
@@ -52,7 +52,7 @@ export const RightArrow = () => <svg
52
52
  <h4 className="sb-section-item-heading">Add styling and CSS</h4>
53
53
  <p className="sb-section-item-paragraph">Like with web applications, there are many ways to include CSS within Storybook. Learn more about setting up styling within Storybook.</p>
54
54
  <a
55
- href="https://storybook.js.org/docs/configure/styling-and-css/?renderer=react"
55
+ href="https://storybook.js.org/docs/configure/styling-and-css/?renderer=react&ref=configure"
56
56
  target="_blank"
57
57
  >Learn more<RightArrow /></a>
58
58
  </div>
@@ -67,7 +67,7 @@ export const RightArrow = () => <svg
67
67
  <h4 className="sb-section-item-heading">Provide context and mocking</h4>
68
68
  <p className="sb-section-item-paragraph">Often when a story doesn't render, it's because your component is expecting a specific environment or context (like a theme provider) to be available.</p>
69
69
  <a
70
- href="https://storybook.js.org/docs/writing-stories/decorators/?renderer=react#context-for-mocking"
70
+ href="https://storybook.js.org/docs/writing-stories/decorators/?renderer=react&ref=configure#context-for-mocking"
71
71
  target="_blank"
72
72
  >Learn more<RightArrow /></a>
73
73
  </div>
@@ -85,7 +85,7 @@ export const RightArrow = () => <svg
85
85
  `staticDirs` configuration option to specify folders to load when
86
86
  starting Storybook.</p>
87
87
  <a
88
- href="https://storybook.js.org/docs/configure/images-and-assets/?renderer=react"
88
+ href="https://storybook.js.org/docs/configure/images-and-assets/?renderer=react&ref=configure"
89
89
  target="_blank"
90
90
  >Learn more<RightArrow /></a>
91
91
  </div>
@@ -113,7 +113,7 @@ export const RightArrow = () => <svg
113
113
  <p className="sb-section-item-paragraph">Auto-generate living,
114
114
  interactive reference documentation from your components and stories.</p>
115
115
  <a
116
- href="https://storybook.js.org/docs/writing-docs/autodocs/?renderer=react"
116
+ href="https://storybook.js.org/docs/writing-docs/autodocs/?renderer=react&ref=configure"
117
117
  target="_blank"
118
118
  >Learn more<RightArrow /></a>
119
119
  </div>
@@ -128,7 +128,7 @@ export const RightArrow = () => <svg
128
128
  <h4 className="sb-section-item-heading">Publish to Chromatic</h4>
129
129
  <p className="sb-section-item-paragraph">Publish your Storybook to review and collaborate with your entire team.</p>
130
130
  <a
131
- href="https://storybook.js.org/docs/sharing/publish-storybook/?renderer=react#publish-storybook-with-chromatic"
131
+ href="https://storybook.js.org/docs/sharing/publish-storybook/?renderer=react&ref=configure#publish-storybook-with-chromatic"
132
132
  target="_blank"
133
133
  >Learn more<RightArrow /></a>
134
134
  </div>
@@ -144,7 +144,7 @@ export const RightArrow = () => <svg
144
144
  <p className="sb-section-item-paragraph">Embed your stories into Figma to cross-reference the design and live
145
145
  implementation in one place.</p>
146
146
  <a
147
- href="https://storybook.js.org/docs/sharing/design-integrations/?renderer=react#embed-storybook-in-figma-with-the-plugin"
147
+ href="https://storybook.js.org/docs/sharing/design-integrations/?renderer=react&ref=configure#embed-storybook-in-figma-with-the-plugin"
148
148
  target="_blank"
149
149
  >Learn more<RightArrow /></a>
150
150
  </div>
@@ -160,7 +160,7 @@ export const RightArrow = () => <svg
160
160
  <p className="sb-section-item-paragraph">Use stories to test a component in all its variations, no matter how
161
161
  complex.</p>
162
162
  <a
163
- href="https://storybook.js.org/docs/writing-tests/?renderer=react"
163
+ href="https://storybook.js.org/docs/writing-tests/?renderer=react&ref=configure"
164
164
  target="_blank"
165
165
  >Learn more<RightArrow /></a>
166
166
  </div>
@@ -175,7 +175,7 @@ export const RightArrow = () => <svg
175
175
  <h4 className="sb-section-item-heading">Accessibility</h4>
176
176
  <p className="sb-section-item-paragraph">Automatically test your components for a11y issues as you develop.</p>
177
177
  <a
178
- href="https://storybook.js.org/docs/writing-tests/accessibility-testing/?renderer=react"
178
+ href="https://storybook.js.org/docs/writing-tests/accessibility-testing/?renderer=react&ref=configure"
179
179
  target="_blank"
180
180
  >Learn more<RightArrow /></a>
181
181
  </div>
@@ -190,7 +190,7 @@ export const RightArrow = () => <svg
190
190
  <h4 className="sb-section-item-heading">Theming</h4>
191
191
  <p className="sb-section-item-paragraph">Theme Storybook's UI to personalize it to your project.</p>
192
192
  <a
193
- href="https://storybook.js.org/docs/configure/theming/?renderer=react"
193
+ href="https://storybook.js.org/docs/configure/theming/?renderer=react&ref=configure"
194
194
  target="_blank"
195
195
  >Learn more<RightArrow /></a>
196
196
  </div>
@@ -202,7 +202,7 @@ export const RightArrow = () => <svg
202
202
  <h4>Addons</h4>
203
203
  <p className="sb-section-item-paragraph">Integrate your tools with Storybook to connect workflows.</p>
204
204
  <a
205
- href="https://storybook.js.org/addons/"
205
+ href="https://storybook.js.org/addons/?ref=configure"
206
206
  target="_blank"
207
207
  >Discover all addons<RightArrow /></a>
208
208
  </div>
@@ -281,7 +281,7 @@ export const RightArrow = () => <svg
281
281
  <p>Follow guided walkthroughs on for key workflows.</p>
282
282
 
283
283
  <a
284
- href="https://storybook.js.org/tutorials/"
284
+ href="https://storybook.js.org/tutorials/?ref=configure"
285
285
  target="_blank"
286
286
  >Discover tutorials<RightArrow /></a>
287
287
  </div>
@@ -52,7 +52,7 @@ export const RightArrow = () => <svg
52
52
  <h4 className="sb-section-item-heading">Add styling and CSS</h4>
53
53
  <p className="sb-section-item-paragraph">Like with web applications, there are many ways to include CSS within Storybook. Learn more about setting up styling within Storybook.</p>
54
54
  <a
55
- href="https://storybook.js.org/docs/configure/styling-and-css/?renderer=react"
55
+ href="https://storybook.js.org/docs/configure/styling-and-css/?renderer=react&ref=configure"
56
56
  target="_blank"
57
57
  >Learn more<RightArrow /></a>
58
58
  </div>
@@ -67,7 +67,7 @@ export const RightArrow = () => <svg
67
67
  <h4 className="sb-section-item-heading">Provide context and mocking</h4>
68
68
  <p className="sb-section-item-paragraph">Often when a story doesn't render, it's because your component is expecting a specific environment or context (like a theme provider) to be available.</p>
69
69
  <a
70
- href="https://storybook.js.org/docs/writing-stories/decorators/?renderer=react#context-for-mocking"
70
+ href="https://storybook.js.org/docs/writing-stories/decorators/?renderer=react&ref=configure#context-for-mocking"
71
71
  target="_blank"
72
72
  >Learn more<RightArrow /></a>
73
73
  </div>
@@ -85,7 +85,7 @@ export const RightArrow = () => <svg
85
85
  `staticDirs` configuration option to specify folders to load when
86
86
  starting Storybook.</p>
87
87
  <a
88
- href="https://storybook.js.org/docs/configure/images-and-assets/?renderer=react"
88
+ href="https://storybook.js.org/docs/configure/images-and-assets/?renderer=react&ref=configure"
89
89
  target="_blank"
90
90
  >Learn more<RightArrow /></a>
91
91
  </div>
@@ -113,7 +113,7 @@ export const RightArrow = () => <svg
113
113
  <p className="sb-section-item-paragraph">Auto-generate living,
114
114
  interactive reference documentation from your components and stories.</p>
115
115
  <a
116
- href="https://storybook.js.org/docs/writing-docs/autodocs/?renderer=react"
116
+ href="https://storybook.js.org/docs/writing-docs/autodocs/?renderer=react&ref=configure"
117
117
  target="_blank"
118
118
  >Learn more<RightArrow /></a>
119
119
  </div>
@@ -128,7 +128,7 @@ export const RightArrow = () => <svg
128
128
  <h4 className="sb-section-item-heading">Publish to Chromatic</h4>
129
129
  <p className="sb-section-item-paragraph">Publish your Storybook to review and collaborate with your entire team.</p>
130
130
  <a
131
- href="https://storybook.js.org/docs/sharing/publish-storybook/?renderer=react#publish-storybook-with-chromatic"
131
+ href="https://storybook.js.org/docs/sharing/publish-storybook/?renderer=react&ref=configure#publish-storybook-with-chromatic"
132
132
  target="_blank"
133
133
  >Learn more<RightArrow /></a>
134
134
  </div>
@@ -144,7 +144,7 @@ export const RightArrow = () => <svg
144
144
  <p className="sb-section-item-paragraph">Embed your stories into Figma to cross-reference the design and live
145
145
  implementation in one place.</p>
146
146
  <a
147
- href="https://storybook.js.org/docs/sharing/design-integrations/?renderer=react#embed-storybook-in-figma-with-the-plugin"
147
+ href="https://storybook.js.org/docs/sharing/design-integrations/?renderer=react&ref=configure#embed-storybook-in-figma-with-the-plugin"
148
148
  target="_blank"
149
149
  >Learn more<RightArrow /></a>
150
150
  </div>
@@ -160,7 +160,7 @@ export const RightArrow = () => <svg
160
160
  <p className="sb-section-item-paragraph">Use stories to test a component in all its variations, no matter how
161
161
  complex.</p>
162
162
  <a
163
- href="https://storybook.js.org/docs/writing-tests/?renderer=react"
163
+ href="https://storybook.js.org/docs/writing-tests/?renderer=react&ref=configure"
164
164
  target="_blank"
165
165
  >Learn more<RightArrow /></a>
166
166
  </div>
@@ -175,7 +175,7 @@ export const RightArrow = () => <svg
175
175
  <h4 className="sb-section-item-heading">Accessibility</h4>
176
176
  <p className="sb-section-item-paragraph">Automatically test your components for a11y issues as you develop.</p>
177
177
  <a
178
- href="https://storybook.js.org/docs/writing-tests/accessibility-testing/?renderer=react"
178
+ href="https://storybook.js.org/docs/writing-tests/accessibility-testing/?renderer=react&ref=configure"
179
179
  target="_blank"
180
180
  >Learn more<RightArrow /></a>
181
181
  </div>
@@ -190,7 +190,7 @@ export const RightArrow = () => <svg
190
190
  <h4 className="sb-section-item-heading">Theming</h4>
191
191
  <p className="sb-section-item-paragraph">Theme Storybook's UI to personalize it to your project.</p>
192
192
  <a
193
- href="https://storybook.js.org/docs/configure/theming/?renderer=react"
193
+ href="https://storybook.js.org/docs/configure/theming/?renderer=react&ref=configure"
194
194
  target="_blank"
195
195
  >Learn more<RightArrow /></a>
196
196
  </div>
@@ -202,7 +202,7 @@ export const RightArrow = () => <svg
202
202
  <h4>Addons</h4>
203
203
  <p className="sb-section-item-paragraph">Integrate your tools with Storybook to connect workflows.</p>
204
204
  <a
205
- href="https://storybook.js.org/addons/"
205
+ href="https://storybook.js.org/addons/?ref=configure"
206
206
  target="_blank"
207
207
  >Discover all addons<RightArrow /></a>
208
208
  </div>
@@ -281,7 +281,7 @@ export const RightArrow = () => <svg
281
281
  <p>Follow guided walkthroughs on for key workflows.</p>
282
282
 
283
283
  <a
284
- href="https://storybook.js.org/tutorials/"
284
+ href="https://storybook.js.org/tutorials/?ref=configure"
285
285
  target="_blank"
286
286
  >Discover tutorials<RightArrow /></a>
287
287
  </div>