@storybook/nextjs 8.3.0-alpha.0 → 8.3.0-alpha.10

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.
Files changed (63) hide show
  1. package/dist/chunk-42AJV46F.mjs +3 -0
  2. package/dist/chunk-EPPXVIAF.mjs +20 -0
  3. package/dist/compatibility/redirect-status-code.compat.mjs +1 -1
  4. package/dist/compatibility/segment.compat.mjs +1 -1
  5. package/dist/export-mocks/cache/index.d.ts +5 -5
  6. package/dist/export-mocks/cache/index.mjs +1 -1
  7. package/dist/export-mocks/headers/index.d.ts +18 -18
  8. package/dist/export-mocks/headers/index.js +1 -1
  9. package/dist/export-mocks/headers/index.mjs +2 -2
  10. package/dist/export-mocks/index.js +1 -1
  11. package/dist/export-mocks/index.mjs +5 -5
  12. package/dist/export-mocks/navigation/index.d.ts +13 -13
  13. package/dist/export-mocks/navigation/index.js +1 -1
  14. package/dist/export-mocks/navigation/index.mjs +3 -3
  15. package/dist/export-mocks/router/index.d.ts +9 -6
  16. package/dist/export-mocks/router/index.js +1 -1
  17. package/dist/export-mocks/router/index.mjs +2 -2
  18. package/dist/font/webpack/loader/storybook-nextjs-font-loader.js +4 -4
  19. package/dist/font/webpack/loader/storybook-nextjs-font-loader.mjs +10 -10
  20. package/dist/image-context.mjs +1 -1
  21. package/dist/images/decorator.mjs +1 -1
  22. package/dist/images/next-image.d.ts +2 -1
  23. package/dist/images/next-image.js +1 -1
  24. package/dist/images/next-image.mjs +2 -2
  25. package/dist/images/next-legacy-image.d.ts +1 -1
  26. package/dist/images/next-legacy-image.js +1 -1
  27. package/dist/images/next-legacy-image.mjs +2 -2
  28. package/dist/{index.d-e10eb603.d.ts → index.d-5a935e77.d.ts} +70 -27
  29. package/dist/index.d.ts +33 -27
  30. package/dist/index.js +1 -1
  31. package/dist/index.mjs +7 -6
  32. package/dist/next-image-loader-stub.d.ts +1 -1
  33. package/dist/next-image-loader-stub.js +2 -2
  34. package/dist/next-image-loader-stub.mjs +6 -6
  35. package/dist/preset.d.ts +2 -2
  36. package/dist/preset.js +1 -1
  37. package/dist/preview.js +1 -1
  38. package/dist/preview.mjs +2 -2
  39. package/dist/react-18-Y5ANLNUV.mjs +7 -0
  40. package/dist/rsc/server-only.mjs +1 -1
  41. package/dist/swc/next-swc-loader-patch.js +1 -1
  42. package/dist/swc/next-swc-loader-patch.mjs +3 -3
  43. package/dist/{types-6414f95f.d.ts → types-a7a34fc4.d.ts} +3 -5
  44. package/package.json +9 -9
  45. package/template/cli/.eslintrc.json +0 -1
  46. package/template/cli/js/Button.jsx +8 -18
  47. package/template/cli/js/Button.stories.js +1 -0
  48. package/template/cli/js/Configure.mdx +10 -10
  49. package/template/cli/js/Header.jsx +1 -0
  50. package/template/cli/js/Header.stories.js +1 -0
  51. package/template/cli/js/Page.stories.js +2 -1
  52. package/template/cli/ts-3-8/Button.stories.ts +1 -0
  53. package/template/cli/ts-3-8/Button.tsx +7 -18
  54. package/template/cli/ts-3-8/Configure.mdx +10 -10
  55. package/template/cli/ts-3-8/Page.stories.ts +1 -1
  56. package/template/cli/ts-4-9/Button.stories.ts +1 -0
  57. package/template/cli/ts-4-9/Button.tsx +7 -18
  58. package/template/cli/ts-4-9/Configure.mdx +10 -10
  59. package/template/cli/ts-4-9/Header.stories.ts +1 -0
  60. package/template/cli/ts-4-9/Page.stories.ts +1 -1
  61. package/dist/chunk-QUZPS4B6.mjs +0 -3
  62. package/dist/chunk-TNOZHPK5.mjs +0 -20
  63. package/template/stories/dynamic-component.js +0 -5
package/dist/preset.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { PresetProperty } from 'storybook/internal/types';
2
- import { S as StorybookConfig } from './types-6414f95f.js';
3
- import '@storybook/preset-react-webpack';
2
+ import { S as StorybookConfig } from './types-a7a34fc4.js';
4
3
  import '@storybook/builder-webpack5';
4
+ import '@storybook/preset-react-webpack';
5
5
  import 'next/image';
6
6
 
7
7
  declare const addons: PresetProperty<'addons'>;
package/dist/preset.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var jsx_pragma_exports={};__export(jsx_pragma_exports,{default:()=>jsxPragma});function jsxPragma({types:t}){return{inherits:import_plugin_syntax_jsx.default,visitor:{JSXElement(_path,state){state.set("jsx",!0)},JSXFragment(_path,state){state.set("jsx",!0)},Program:{exit(path4,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path4.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path4.scope.generateUidIdentifier("pragma");let 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]=path4.unshiftContainer("body",mapping3);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path4.scope.registerBinding(kind,declar)}}if(!existingBinding){let importSpecifier=t.importDeclaration([state.opts.import?t.importSpecifier(importAs,t.identifier(state.opts.import)):state.opts.importNamespace?t.importNamespaceSpecifier(importAs):t.importDefaultSpecifier(importAs)],t.stringLiteral(state.opts.module||"react")),[newPath]=path4.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path4.scope.registerBinding("module",specifier)}}}}}}}var import_plugin_syntax_jsx,init_jsx_pragma=__esm({"src/babel/plugins/jsx-pragma.ts"(){"use strict";import_plugin_syntax_jsx=__toESM(require("next/dist/compiled/babel/plugin-syntax-jsx"))}});var optimize_hook_destructuring_exports={};__export(optimize_hook_destructuring_exports,{default:()=>optimizeHookDestructuring});function optimizeHookDestructuring({types:t}){let visitor={CallExpression(path4,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path4.parent)||!t.isArrayPattern(path4.parent.id))return;let hookName=path4.node.callee.name;if(libs){let binding=path4.scope.getBinding(hookName);if(!binding||binding.kind!=="module")return;let specifier=binding.path.parent.source.value;if(!libs.some(lib=>lib===specifier))return}(onlyBuiltIns?isBuiltInHook:isHook).test(hookName)&&(path4.parent.id=t.objectPattern(path4.parent.id.elements.reduce((patterns,element,i)=>element===null?patterns:patterns.concat(t.objectProperty(t.numericLiteral(i),element)),[])))}};return{name:"optimize-hook-destructuring",visitor:{Program(path4,state){path4.traverse(visitor,state)}}}}var isHook,isBuiltInHook,init_optimize_hook_destructuring=__esm({"src/babel/plugins/optimize-hook-destructuring.ts"(){"use strict";isHook=/^use[A-Z]/,isBuiltInHook=/^use(Callback|Context|DebugValue|Effect|ImperativeHandle|LayoutEffect|Memo|Reducer|Ref|State)$/}});var react_loadable_plugin_exports={};__export(react_loadable_plugin_exports,{default:()=>react_loadable_plugin_default});function react_loadable_plugin_default({types:t}){return{visitor:{ImportDeclaration(path4,state){if(path4.node.source.value!=="next/dynamic")return;let defaultSpecifier=path4.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path4.scope.getBinding(bindingName);binding&&binding.referencePaths.forEach(refPath=>{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_path3.relative)(state.file.opts.caller.pagesDir,state.file.opts.filename):state.file.opts.filename} -> `),node))}}),!!dynamicImports.length&&(options.node.properties.push(t.objectProperty(t.identifier("loadableGenerated"),t.objectExpression(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_path3,init_react_loadable_plugin=__esm({"src/babel/plugins/react-loadable-plugin.ts"(){"use strict";import_path3=require("path")}});var amp_attributes_exports={};__export(amp_attributes_exports,{default:()=>AmpAttributePatcher});function AmpAttributePatcher(){return{visitor:{JSXOpeningElement(path4){let openingElement=path4.node,{name,attributes}=openingElement;if(name&&name.type==="JSXIdentifier"&&name.name.startsWith("amp-"))for(let attribute of attributes)attribute.type==="JSXAttribute"&&attribute.name.name==="className"&&(attribute.name.name="class")}}}}var init_amp_attributes=__esm({"src/babel/plugins/amp-attributes.ts"(){"use strict"}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,core:()=>core,previewAnnotations:()=>previewAnnotations,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_path7=require("path"),import_core=require("@babel/core"),import_common4=require("storybook/internal/common"),import_fs=__toESM(require("fs")),import_semver4=__toESM(require("semver"));var import_webpack2=require("webpack");var import_path=__toESM(require("path")),import_webpack=require("webpack"),import_constants=require("next/constants"),import_config=__toESM(require("next/dist/server/config")),import_common=require("storybook/internal/common"),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?import_path.default.dirname(nextConfigPath):(0,import_common.getProjectRoot)();return(0,import_config.default)(import_constants.PHASE_DEVELOPMENT_SERVER,dir,void 0)},addScopedAlias=(baseConfig,name,alias)=>{baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias,scopedAlias=scopedResolve(`${alias??name}`);Array.isArray(aliasConfig)?aliasConfig.push({name,alias:scopedAlias}):aliasConfig[name]=scopedAlias},scopedResolve=id=>{let scopedModulePath;try{scopedModulePath=require.resolve(id,{paths:[import_path.default.resolve()]})}catch{scopedModulePath=require.resolve(id)}let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,import_path.default.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var tryResolve=path4=>{try{return require.resolve(path4)}catch{return!1}},configureConfig=async({baseConfig,nextConfigPath})=>{let nextConfig=await resolveNextConfig({nextConfigPath});return addScopedAlias(baseConfig,"next/config"),tryResolve("next/dist/compiled/react")&&addScopedAlias(baseConfig,"react","next/dist/compiled/react"),tryResolve("next/dist/compiled/react-dom")&&addScopedAlias(baseConfig,"react-dom","next/dist/compiled/react-dom"),setupRuntimeConfig(baseConfig,nextConfig),nextConfig},setupRuntimeConfig=(baseConfig,nextConfig)=>{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 import_webpack2.DefinePlugin(definePluginConfig))};var import_getCssModuleLocalIdent=require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent"),import_file_resolve=require("next/dist/build/webpack/config/blocks/css/loaders/file-resolve"),import_semver=__toESM(require("semver"));var configureCss=(baseConfig,nextConfig)=>{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 import_tsconfig_paths_webpack_plugin=__toESM(require("tsconfig-paths-webpack-plugin")),import_tsconfig_paths=require("tsconfig-paths"),configureImports=({baseConfig,configDir})=>{let configLoadResult=(0,import_tsconfig_paths.loadConfig)(configDir);configLoadResult.resultType!=="failed"&&(baseConfig.resolve??={},baseConfig.resolve.plugins??=[],baseConfig.resolve.plugins.push(new import_tsconfig_paths_webpack_plugin.default({configFile:configLoadResult.configFileAbsolutePath,extensions:[".js",".jsx",".ts",".tsx"]})))};var configureStyledJsx=baseConfig=>{addScopedAlias(baseConfig,"styled-jsx")};var import_semver2=__toESM(require("semver")),import_path2=__toESM(require("path"));var configureImages=(baseConfig,nextConfig)=>{configureStaticImageImport(baseConfig,nextConfig),configureImageDefaults(baseConfig)},fallbackFilename="static/media/[path][name][ext]",configureImageDefaults=baseConfig=>{let version=getNextjsVersion(),resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,"sb-original/next/image":require.resolve("next/image"),"next/image":import_path2.default.resolve(__dirname,"./images/next-image")},import_semver2.default.satisfies(version,">=13.0.0")&&(resolve.alias={...resolve.alias,"sb-original/next/legacy/image":require.resolve("next/legacy/image"),"next/legacy/image":import_path2.default.resolve(__dirname,"./images/next-legacy-image")})},configureStaticImageImport=(baseConfig,nextConfig)=>{let version=getNextjsVersion();if(import_semver2.default.lt(version,"11.0.0"))return;let 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 configureRSC=baseConfig=>{let resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,"server-only$":require.resolve("./rsc/server-only.js")}};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(path4,types,metas){path4.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(path4,types,source,metas,filename){path4.replaceWithMultiple([...metas.map(meta=>types.importDeclaration([types.importDefaultSpecifier(types.identifier(meta.identifierName))],types.stringLiteral(`storybook-nextjs-font-loader?${JSON.stringify({source:source.value,props:meta.properties,fontFamily:meta.functionName,filename})}!${source.value}`)))])}function getVariableMetasBySpecifier(program,types,specifier){return program.node.body.map(statement=>{if(!types.isVariableDeclaration(statement)&&!types.isExportNamedDeclaration(statement))return;let exportedNamedDeclaration=!types.isVariableDeclaration(statement)&&types.isVariableDeclaration(statement.declaration)&&statement.declaration.declarations.length===1?statement.declaration.declarations[0]:null,declaration=types.isVariableDeclaration(statement)?statement.declarations[0]:exportedNamedDeclaration;if(!declaration||!types.isIdentifier(declaration.id)||!types.isCallExpression(declaration.init)||!types.isIdentifier(declaration.init.callee)||(specifier.type!=="ImportSpecifier"||specifier.imported.type!=="Identifier"||declaration.init.callee.name!==specifier.imported.name&&declaration.init.callee.name!==specifier.local.name)&&(specifier.type!=="ImportDefaultSpecifier"||declaration.init.callee.name!==specifier.local.name))return;let options=declaration.init.arguments[0];if(!types.isObjectExpression(options))throw program.buildCodeFrameError("Please pass an options object to the call expression of next/font functions");options.properties.forEach(property=>{if(types.isSpreadElement(property))throw program.buildCodeFrameError("Please do not use spread elements in the options object in next/font function calls")});let identifierName=declaration.id.name,properties=convertNodeToJSON(types,options),functionName=declaration.init.callee.name;return specifier.type==="ImportSpecifier"&&specifier.imported&&specifier.imported.type==="Identifier"&&declaration.init.callee.name!==specifier.imported.name&&(functionName=specifier.imported.name),{identifierName,properties,functionName}}).filter(isDefined)}function TransformFontImports({types}){return{name:"storybook-nextjs-font-imports",visitor:{ImportDeclaration(path4,state){let{node}=path4,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path4.parentPath.isProgram())return;let program=path4.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path4,types,variableMetas),replaceImportWithParamterImport(path4,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path4.parentPath.isProgram())return[];let program=path4.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path4,types,variableMetas),replaceImportWithParamterImport(path4,types,source,variableMetas,filename)}}}}}function configureNextFont(baseConfig,isSWC){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 import_path4=require("path"),isLoadIntentTest=process.env.NODE_ENV==="test",isLoadIntentDevelopment=process.env.NODE_ENV==="development";function styledJsxOptions(options){return options=options||{},options.styleModule="styled-jsx/style",Array.isArray(options.plugins)&&(options.plugins=options.plugins.map(plugin=>{if(Array.isArray(plugin)){let[name,pluginOptions]=plugin;return[require.resolve(name),pluginOptions]}return require.resolve(plugin)})),options}function supportsStaticESM(caller){return!!caller?.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_path4.dirname)(require.resolve("@babel/runtime/package.json")):void 0,...options["transform-runtime"]}],[isTest&&options["styled-jsx"]&&options["styled-jsx"]["babel-test"]?require("styled-jsx/babel-test"):require("styled-jsx/babel"),styledJsxOptions(options["styled-jsx"])],(init_amp_attributes(),__toCommonJS(amp_attributes_exports)),isServer&&require("@babel/plugin-syntax-bigint"),require("@babel/plugin-transform-numeric-separator"),require("@babel/plugin-transform-export-namespace-from")].filter(Boolean)}};var import_node_polyfill_webpack_plugin=__toESM(require("node-polyfill-webpack-plugin")),configureNodePolyfills=baseConfig=>(baseConfig.plugins=[...baseConfig.plugins||[],new import_node_polyfill_webpack_plugin.default],baseConfig.resolve={...baseConfig.resolve,fallback:{fs:!1}},baseConfig);var import_common2=require("storybook/internal/common"),import_builder_webpack5=require("@storybook/builder-webpack5"),import_path5=__toESM(require("path")),import_load_jsconfig=__toESM(require("next/dist/build/load-jsconfig")),configureSWCLoader=async(baseConfig,options,nextConfig)=>{let isDevelopment=options.configType!=="PRODUCTION",dir=(0,import_common2.getProjectRoot)(),{virtualModules}=await(0,import_builder_webpack5.getVirtualModules)(options),{jsConfig}=await(0,import_load_jsconfig.default)(dir,nextConfig),rawRule=baseConfig.module?.rules?.find(rule=>typeof rule=="object"&&rule?.resourceQuery?.toString()==="/raw/");rawRule&&typeof rawRule=="object"&&(rawRule.exclude=/^__barrel_optimize__/),baseConfig.module?.rules?.push({test:/\.((c|m)?(j|t)sx?)$/,include:[(0,import_common2.getProjectRoot)()],exclude:[/(node_modules)/,...Object.keys(virtualModules)],use:{loader:require.resolve("./swc/next-swc-loader-patch.js"),options:{isServer:!1,rootDir:dir,pagesDir:`${dir}/pages`,appDir:`${dir}/apps`,hasReactRefresh:isDevelopment,jsConfig,nextConfig,supportedBrowsers:require("next/dist/build/utils").getSupportedBrowsers(dir,isDevelopment),swcCacheDir:import_path5.default.join(dir,nextConfig?.distDir??".next","cache","swc"),bundleTarget:"default"}}})};var import_common3=require("storybook/internal/common"),import_builder_webpack52=require("@storybook/builder-webpack5"),configureBabelLoader=async(baseConfig,options)=>{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:[/node_modules/,...Object.keys(virtualModules)]}]};var 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 configureAliases=baseConfig=>{baseConfig.resolve={...baseConfig.resolve??{},alias:{...baseConfig.resolve?.alias??{},"@opentelemetry/api":"next/dist/compiled/@opentelemetry/api"}}};var import_node_logger=require("storybook/internal/node-logger");var import_path6=require("path");var import_semver3=__toESM(require("semver"));var mapping={"<14.1.0":{"next/dist/shared/lib/segment":"@storybook/nextjs/dist/compatibility/segment.compat"},"<14.0.4":{"next/dist/client/components/redirect-status-code":"@storybook/nextjs/dist/compatibility/redirect-status-code.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])=>{addScopedAlias(baseConfig,name,alias)})};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_path6.dirname)(require.resolve("@storybook/nextjs/package.json")),getFullPath=path4=>(0,import_path6.join)(packageLocation,path4.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,getFullPath(`${aliasedPath}.${extension}`)]))},configureNextExportMocks=baseConfig=>{let resolve=baseConfig.resolve??{};resolve.alias={...resolve.alias,...getPackageAliases({useESM:!0})}};var addons=[(0,import_path7.dirname)(require.resolve((0,import_path7.join)("@storybook/preset-react-webpack","package.json")))],core=async(config,options)=>{let framework=await options.presets.apply("framework");return{...config,builder:{name:(0,import_path7.dirname)(require.resolve((0,import_path7.join)("@storybook/builder-webpack5","package.json"))),options:{...typeof framework=="string"?{}:framework.options.builder||{}}},renderer:(0,import_path7.dirname)(require.resolve((0,import_path7.join)("@storybook/react","package.json")))}},previewAnnotations=(entry=[],{features})=>{let nextDir=(0,import_path7.dirname)(require.resolve("@storybook/nextjs/package.json"));return[...entry,(0,import_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}),babelRCPath=(0,import_path7.join)((0,import_common4.getProjectRoot)(),".babelrc"),babelConfigPath=(0,import_path7.join)((0,import_common4.getProjectRoot)(),"babel.config.js"),hasBabelConfig=import_fs.default.existsSync(babelRCPath)||import_fs.default.existsSync(babelConfigPath),nextjsVersion=getNextjsVersion(),isDevelopment=options.configType!=="PRODUCTION",useSWC=import_semver4.default.gte(nextjsVersion,"14.0.0")&&(nextConfig.experimental?.forceSwcTransforms||!hasBabelConfig);return configureNextFont(baseConfig,useSWC),configureRuntimeNextjsVersionResolution(baseConfig),configureImports({baseConfig,configDir:options.configDir}),configureCss(baseConfig,nextConfig),configureImages(baseConfig,nextConfig),configureStyledJsx(baseConfig),configureNodePolyfills(baseConfig),configureAliases(baseConfig),configureCompatibilityAliases(baseConfig),configureNextExportMocks(baseConfig),isDevelopment&&configureFastRefresh(baseConfig),options.features?.experimentalRSC&&configureRSC(baseConfig),useSWC?(import_node_logger.logger.info("=> Using SWC as compiler"),await configureSWCLoader(baseConfig,options,nextConfig)):(import_node_logger.logger.info("=> Using Babel as compiler"),await configureBabelLoader(baseConfig,options)),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(path,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path.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]=path.unshiftContainer("body",mapping3);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path.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]=path.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path.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(path,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path.parent)||!t.isArrayPattern(path.parent.id))return;let hookName=path.node.callee.name;if(libs){let binding=path.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)&&(path.parent.id=t.objectPattern(path.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(path,state){path.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(path,state){if(path.node.source.value!=="next/dynamic")return;let defaultSpecifier=path.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path.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(path){let openingElement=path.node,{name,attributes}=openingElement;if(name&&name.type==="JSXIdentifier"&&name.name.startsWith("amp-"))for(let attribute of attributes)attribute.type==="JSXAttribute"&&attribute.name.name==="className"&&(attribute.name.name="class")}}}}var init_amp_attributes=__esm({"src/babel/plugins/amp-attributes.ts"(){"use strict"}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,core:()=>core,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 configureAliases=baseConfig=>{baseConfig.resolve={...baseConfig.resolve??{},alias:{...baseConfig.resolve?.alias??{},"@opentelemetry/api":"next/dist/compiled/@opentelemetry/api"}}};var import_common=require("storybook/internal/common"),import_builder_webpack5=require("@storybook/builder-webpack5"),configureBabelLoader=async(baseConfig,options)=>{let{virtualModules}=await(0,import_builder_webpack5.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_common.resolvePathInStorybookCache)("babel"),...babelOptions}}],include:[(0,import_common.getProjectRoot)()],exclude:[/node_modules/,...Object.keys(virtualModules)]}]};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)}};var import_semver=__toESM(require("semver"));var import_node_path3=require("path"),import_common2=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_common2.getProjectRoot)();return(0,import_config.default)(import_constants.PHASE_DEVELOPMENT_SERVER,dir,void 0)},addScopedAlias=(baseConfig,name,alias)=>{baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias,scopedAlias=scopedResolve(`${alias??name}`);Array.isArray(aliasConfig)?aliasConfig.push({name,alias:scopedAlias}):aliasConfig[name]=scopedAlias},scopedResolve=id=>{let scopedModulePath;try{scopedModulePath=require.resolve(id,{paths:[(0,import_node_path3.resolve)()]})}catch{scopedModulePath=require.resolve(id)}let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,import_node_path3.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var mapping={"<14.1.0":{"next/dist/shared/lib/segment":"@storybook/nextjs/dist/compatibility/segment.compat"},"<14.0.4":{"next/dist/client/components/redirect-status-code":"@storybook/nextjs/dist/compatibility/redirect-status-code.compat"}},getCompatibilityAliases=()=>{let version=getNextjsVersion(),result={};return Object.keys(mapping).forEach(key=>{import_semver.default.intersects(version,key)&&Object.assign(result,mapping[key])}),result},configureCompatibilityAliases=baseConfig=>{let aliases=getCompatibilityAliases();Object.entries(aliases).forEach(([name,alias])=>{addScopedAlias(baseConfig,name,alias)})};var import_webpack2=require("webpack");var tryResolve=path=>{try{return require.resolve(path)}catch{return!1}},configureConfig=async({baseConfig,nextConfigPath})=>{let nextConfig=await resolveNextConfig({nextConfigPath});return addScopedAlias(baseConfig,"next/config"),tryResolve("next/dist/compiled/react")&&addScopedAlias(baseConfig,"react","next/dist/compiled/react"),tryResolve("next/dist/compiled/react-dom")&&addScopedAlias(baseConfig,"react-dom","next/dist/compiled/react-dom"),setupRuntimeConfig(baseConfig,nextConfig),nextConfig},setupRuntimeConfig=(baseConfig,nextConfig)=>{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 import_webpack2.DefinePlugin(definePluginConfig))};var 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_semver2=__toESM(require("semver"));var 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_semver2.default.gte(cssLoaderVersion,"6.0.0")}catch{return!1}};var import_node_path4=require("path");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_path4.dirname)(require.resolve("@storybook/nextjs/package.json")),getFullPath=path=>(0,import_node_path4.join)(packageLocation,path.replace("@storybook/nextjs",""));return Object.fromEntries(Object.entries(mapping2).map(([originalPath,aliasedPath])=>[originalPath,getFullPath(`${aliasedPath}.${extension}`)]))},configureNextExportMocks=baseConfig=>{let resolve2=baseConfig.resolve??{};resolve2.alias={...resolve2.alias,...getPackageAliases({useESM:!0})}};var 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})]};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(path,types,metas){path.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(path,types,source,metas,filename){path.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(path,state){let{node}=path,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path.parentPath.isProgram())return;let program=path.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path,types,variableMetas),replaceImportWithParamterImport(path,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path.parentPath.isProgram())return[];let program=path.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path,types,variableMetas),replaceImportWithParamterImport(path,types,source,variableMetas,filename)}}}}}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 import_node_path5=require("path"),import_semver3=__toESM(require("semver"));var configureImages=(baseConfig,nextConfig)=>{configureStaticImageImport(baseConfig,nextConfig),configureImageDefaults(baseConfig)},fallbackFilename="static/media/[path][name][ext]",configureImageDefaults=baseConfig=>{let version=getNextjsVersion(),resolve2=baseConfig.resolve??{};resolve2.alias={...resolve2.alias,"sb-original/next/image":require.resolve("next/image"),"next/image":(0,import_node_path5.resolve)(__dirname,"./images/next-image")},import_semver3.default.satisfies(version,">=13.0.0")&&(resolve2.alias={...resolve2.alias,"sb-original/next/legacy/image":require.resolve("next/legacy/image"),"next/legacy/image":(0,import_node_path5.resolve)(__dirname,"./images/next-legacy-image")})},configureStaticImageImport=(baseConfig,nextConfig)=>{let version=getNextjsVersion();if(import_semver3.default.lt(version,"11.0.0"))return;let 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 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 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 configureRSC=baseConfig=>{let resolve2=baseConfig.resolve??{};resolve2.alias={...resolve2.alias,"server-only$":require.resolve("./rsc/server-only.js")}};var configureStyledJsx=baseConfig=>{addScopedAlias(baseConfig,"styled-jsx")};var import_node_path6=require("path"),import_common3=require("storybook/internal/common"),import_builder_webpack52=require("@storybook/builder-webpack5"),import_load_jsconfig=__toESM(require("next/dist/build/load-jsconfig")),configureSWCLoader=async(baseConfig,options,nextConfig)=>{let isDevelopment=options.configType!=="PRODUCTION",dir=(0,import_common3.getProjectRoot)(),{virtualModules}=await(0,import_builder_webpack52.getVirtualModules)(options),{jsConfig}=await(0,import_load_jsconfig.default)(dir,nextConfig),rawRule=baseConfig.module?.rules?.find(rule=>typeof rule=="object"&&rule?.resourceQuery?.toString()==="/raw/");rawRule&&typeof rawRule=="object"&&(rawRule.exclude=/^__barrel_optimize__/),baseConfig.module?.rules?.push({test:/\.((c|m)?(j|t)sx?)$/,include:[(0,import_common3.getProjectRoot)()],exclude:[/(node_modules)/,...Object.keys(virtualModules)],use:{loader:require.resolve("./swc/next-swc-loader-patch.js"),options:{isServer:!1,rootDir:dir,pagesDir:`${dir}/pages`,appDir:`${dir}/apps`,hasReactRefresh:isDevelopment,jsConfig,nextConfig,supportedBrowsers:require("next/dist/build/utils").getSupportedBrowsers(dir,isDevelopment),swcCacheDir:(0,import_node_path6.join)(dir,nextConfig?.distDir??".next","cache","swc"),bundleTarget:"default"}}})};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{...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=[],{features})=>{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}),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=getNextjsVersion(),isDevelopment=options.configType!=="PRODUCTION",useSWC=import_semver4.default.gte(nextjsVersion,"14.0.0")&&(nextConfig.experimental?.forceSwcTransforms||!hasBabelConfig);return configureNextFont(baseConfig,useSWC),configureRuntimeNextjsVersionResolution(baseConfig),configureImports({baseConfig,configDir:options.configDir}),configureCss(baseConfig,nextConfig),configureImages(baseConfig,nextConfig),configureStyledJsx(baseConfig),configureNodePolyfills(baseConfig),configureAliases(baseConfig),configureCompatibilityAliases(baseConfig),configureNextExportMocks(baseConfig),isDevelopment&&configureFastRefresh(baseConfig),options.features?.experimentalRSC&&configureRSC(baseConfig),useSWC?(import_node_logger.logger.info("=> Using SWC as compiler"),await configureSWCLoader(baseConfig,options,nextConfig)):(import_node_logger.logger.info("=> Using Babel as compiler"),await configureBabelLoader(baseConfig,options)),baseConfig};0&&(module.exports={addons,babel,core,previewAnnotations,webpackFinal});
package/dist/preview.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_exports={};__export(preview_exports,{decorators:()=>decorators,loaders:()=>loaders,parameters:()=>parameters});module.exports=__toCommonJS(preview_exports);var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React=__toESM(require("react")),import_image_context=require("@storybook/nextjs/dist/image-context"),ImageContext=import_image_context.ImageContext,ImageDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.image?React.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React.createElement(Story,null)):React.createElement(Story,null);var React4=__toESM(require("react"));var import_react=__toESM(require("react")),import_app_router_context=require("next/dist/shared/lib/app-router-context.shared-runtime"),import_hooks_client_context=require("next/dist/shared/lib/hooks-client-context.shared-runtime"),import_segment=require("next/dist/shared/lib/segment"),import_navigation=require("@storybook/nextjs/navigation.mock");function getSelectedParams(currentTree,params={}){let parallelRoutes=currentTree[1];for(let parallelRoute of Object.values(parallelRoutes)){let segment=parallelRoute[0],isDynamicParameter=Array.isArray(segment),segmentValue=isDynamicParameter?segment[1]:segment;if(!segmentValue||segmentValue.startsWith(import_segment.PAGE_SEGMENT_KEY))continue;isDynamicParameter&&(segment[2]==="c"||segment[2]==="oc")?params[segment[0]]=segment[1].split("/"):isDynamicParameter&&(params[segment[0]]=segment[1]),params=getSelectedParams(parallelRoute,params)}return params}var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,routeParams})=>{let{pathname,query,segments=[]}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}],pathParams=(0,import_react.useMemo)(()=>getSelectedParams(tree),[tree]);return import_react.default.createElement(import_hooks_client_context.PathParamsContext.Provider,{value:pathParams},import_react.default.createElement(import_hooks_client_context.PathnameContext.Provider,{value:pathname},import_react.default.createElement(import_hooks_client_context.SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react.default.createElement(import_app_router_context.GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},buildId:"storybook",tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree],onlyHashChange:!1},nextUrl:pathname}},import_react.default.createElement(import_app_router_context.AppRouterContext.Provider,{value:(0,import_navigation.getRouter)()},import_react.default.createElement(import_app_router_context.LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children))))))};var import_router_context=require("next/dist/shared/lib/router-context.shared-runtime"),import_react2=__toESM(require("react")),import_router=require("@storybook/nextjs/router.mock"),PageRouterProvider=({children})=>import_react2.default.createElement(import_router_context.RouterContext.Provider,{value:(0,import_router.getRouter)()},children);var import_redirect_boundary=require("next/dist/client/components/redirect-boundary"),defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?AppRouterProvider?React4.createElement(AppRouterProvider,{routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React4.createElement(import_redirect_boundary.RedirectBoundary,null,React4.createElement(Story,null))):null:React4.createElement(PageRouterProvider,null,React4.createElement(Story,null));var React5=__toESM(require("react")),import_styled_jsx=require("styled-jsx"),StyledJsxDecorator=Story=>React5.createElement(import_styled_jsx.StyleRegistry,null,React5.createElement(Story,null));var React7=__toESM(require("react"));var import_react3=__toESM(require("react")),import_head_manager_context=require("next/dist/shared/lib/head-manager-context.shared-runtime"),import_head_manager=__toESM(require("next/dist/client/head-manager")),HeadManagerProvider=({children})=>{let headManager=(0,import_react3.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react3.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React7.createElement(head_manager_provider_default,null,React7.createElement(Story,null));var import_router2=require("@storybook/nextjs/router.mock"),import_navigation2=require("@storybook/nextjs/navigation.mock"),import_is_next_router_error=require("next/dist/client/components/is-next-router-error");function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta)}function isAsyncClientComponentError(error){return typeof error=="string"&&(error.includes("A component was suspended by an uncached promise.")||error.includes("async/await is not yet supported in Client Components"))}addNextHeadCount();var origConsoleError=globalThis.console.error;globalThis.console.error=(...args)=>{let error=args[0];(0,import_is_next_router_error.isNextRouterError)(error)||isAsyncClientComponentError(error)||origConsoleError.apply(globalThis.console,args)};globalThis.addEventListener("error",ev=>{if((0,import_is_next_router_error.isNextRouterError)(ev.error)||isAsyncClientComponentError(ev.error)){ev.preventDefault();return}});var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],loaders=async({globals,parameters:parameters2})=>{let{router,appDirectory}=parameters2.nextjs??{};appDirectory?(0,import_navigation2.createNavigation)(router):(0,import_router2.createRouter)({locale:globals.locale,...router})},parameters={docs:{source:{excludeDecorators:!0}},react:{rootOptions:{onCaughtError(error){(0,import_is_next_router_error.isNextRouterError)(error)||console.error(error)}}}};0&&(module.exports={decorators,loaders,parameters});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_exports={};__export(preview_exports,{decorators:()=>decorators,loaders:()=>loaders,parameters:()=>parameters});module.exports=__toCommonJS(preview_exports);var import_navigation2=require("@storybook/nextjs/navigation.mock"),import_router2=require("@storybook/nextjs/router.mock"),import_is_next_router_error=require("next/dist/client/components/is-next-router-error");var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React2=__toESM(require("react"));var import_react=__toESM(require("react")),import_head_manager=__toESM(require("next/dist/client/head-manager")),import_head_manager_context=require("next/dist/shared/lib/head-manager-context.shared-runtime"),HeadManagerProvider=({children})=>{let headManager=(0,import_react.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React2.createElement(head_manager_provider_default,null,React2.createElement(Story,null));var React3=__toESM(require("react")),import_image_context=require("@storybook/nextjs/dist/image-context"),ImageContext=import_image_context.ImageContext,ImageDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.image?React3.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React3.createElement(Story,null)):React3.createElement(Story,null);var React6=__toESM(require("react")),import_redirect_boundary=require("next/dist/client/components/redirect-boundary");var import_react2=__toESM(require("react")),import_navigation=require("@storybook/nextjs/navigation.mock"),import_app_router_context=require("next/dist/shared/lib/app-router-context.shared-runtime"),import_hooks_client_context=require("next/dist/shared/lib/hooks-client-context.shared-runtime"),import_segment=require("next/dist/shared/lib/segment");function getSelectedParams(currentTree,params={}){let parallelRoutes=currentTree[1];for(let parallelRoute of Object.values(parallelRoutes)){let segment=parallelRoute[0],isDynamicParameter=Array.isArray(segment),segmentValue=isDynamicParameter?segment[1]:segment;if(!segmentValue||segmentValue.startsWith(import_segment.PAGE_SEGMENT_KEY))continue;isDynamicParameter&&(segment[2]==="c"||segment[2]==="oc")?params[segment[0]]=segment[1].split("/"):isDynamicParameter&&(params[segment[0]]=segment[1]),params=getSelectedParams(parallelRoute,params)}return params}var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,routeParams})=>{let{pathname,query,segments=[]}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}],pathParams=(0,import_react2.useMemo)(()=>getSelectedParams(tree),[tree]);return import_react2.default.createElement(import_hooks_client_context.PathParamsContext.Provider,{value:pathParams},import_react2.default.createElement(import_hooks_client_context.PathnameContext.Provider,{value:pathname},import_react2.default.createElement(import_hooks_client_context.SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react2.default.createElement(import_app_router_context.GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},buildId:"storybook",tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree],onlyHashChange:!1},nextUrl:pathname}},import_react2.default.createElement(import_app_router_context.AppRouterContext.Provider,{value:(0,import_navigation.getRouter)()},import_react2.default.createElement(import_app_router_context.LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname,loading:null}},children))))))};var import_react3=__toESM(require("react")),import_router=require("@storybook/nextjs/router.mock"),import_router_context=require("next/dist/shared/lib/router-context.shared-runtime"),PageRouterProvider=({children})=>import_react3.default.createElement(import_router_context.RouterContext.Provider,{value:(0,import_router.getRouter)()},children);var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?AppRouterProvider?React6.createElement(AppRouterProvider,{routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React6.createElement(import_redirect_boundary.RedirectBoundary,null,React6.createElement(Story,null))):null:React6.createElement(PageRouterProvider,null,React6.createElement(Story,null));var React7=__toESM(require("react")),import_styled_jsx=require("styled-jsx"),StyledJsxDecorator=Story=>React7.createElement(import_styled_jsx.StyleRegistry,null,React7.createElement(Story,null));function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta)}function isAsyncClientComponentError(error){return typeof error=="string"&&(error.includes("A component was suspended by an uncached promise.")||error.includes("async/await is not yet supported in Client Components"))}addNextHeadCount();var origConsoleError=globalThis.console.error;globalThis.console.error=(...args)=>{let error=args[0];(0,import_is_next_router_error.isNextRouterError)(error)||isAsyncClientComponentError(error)||origConsoleError.apply(globalThis.console,args)};globalThis.addEventListener("error",ev=>{if((0,import_is_next_router_error.isNextRouterError)(ev.error)||isAsyncClientComponentError(ev.error)){ev.preventDefault();return}});var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],loaders=async({globals,parameters:parameters2})=>{let{router,appDirectory}=parameters2.nextjs??{};appDirectory?(0,import_navigation2.createNavigation)(router):(0,import_router2.createRouter)({locale:globals.locale,...router})},parameters={docs:{source:{excludeDecorators:!0}},react:{rootOptions:{onCaughtError(error){(0,import_is_next_router_error.isNextRouterError)(error)||console.error(error)}}}};0&&(module.exports={decorators,loaders,parameters});
package/dist/preview.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export { decorators, loaders, parameters } from './chunk-TNOZHPK5.mjs';
1
+ export { decorators, loaders, parameters } from './chunk-EPPXVIAF.mjs';
2
2
  import './chunk-NQ32RFK2.mjs';
3
- import './chunk-QUZPS4B6.mjs';
3
+ import './chunk-42AJV46F.mjs';
@@ -0,0 +1,7 @@
1
+ import './chunk-42AJV46F.mjs';
2
+ import * as React from 'react';
3
+ import * as ReactDOM from 'react-dom/client';
4
+
5
+ function preventActChecks(callback){let originalActEnvironment=globalThis.IS_REACT_ACT_ENVIRONMENT;globalThis.IS_REACT_ACT_ENVIRONMENT=!1;try{callback();}finally{globalThis.IS_REACT_ACT_ENVIRONMENT=originalActEnvironment;}}var nodes=new Map,WithCallback=({callback,children})=>{let once=React.useRef();return React.useLayoutEffect(()=>{once.current!==callback&&(once.current=callback,callback());},[callback]),children};typeof Promise.withResolvers>"u"&&(Promise.withResolvers=()=>{let resolve=null,reject=null;return {promise:new Promise((res,rej)=>{resolve=res,reject=rej;}),resolve,reject}});var renderElement=async(node,el,rootOptions)=>{let root=await getReactRoot(el,rootOptions),{promise,resolve}=Promise.withResolvers();return preventActChecks(()=>root.render(React.createElement(WithCallback,{callback:resolve},node))),promise},unmountElement=(el,shouldUseNewRootApi)=>{let root=nodes.get(el);root&&(preventActChecks(()=>root.unmount()),nodes.delete(el));},getReactRoot=async(el,rootOptions)=>{let root=nodes.get(el);return root||(root=ReactDOM.createRoot(el,rootOptions),nodes.set(el,root)),root};
6
+
7
+ export { renderElement, unmountElement };
@@ -1,4 +1,4 @@
1
- import '../chunk-QUZPS4B6.mjs';
1
+ import '../chunk-42AJV46F.mjs';
2
2
 
3
3
  var server_only_default={};
4
4
 
@@ -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 next_swc_loader_patch_exports={};__export(next_swc_loader_patch_exports,{default:()=>swcLoader,pitch:()=>pitch,raw:()=>raw});module.exports=__toCommonJS(next_swc_loader_patch_exports);var import_swc=require("next/dist/build/swc"),import_options=require("next/dist/build/swc/options"),import_path=__toESM(require("path")),mockCurrentTraceSpan={traceChild:name=>mockCurrentTraceSpan,traceAsyncFn:async fn=>fn()};async function loaderTransform(parentTrace,source,inputSourceMap){let filename=this.resourcePath,loaderOptions=this.getOptions()||{},{isServer,rootDir,pagesDir,appDir,hasReactRefresh,nextConfig,jsConfig,supportedBrowsers,swcCacheDir,serverComponents,isReactServerLayer}=loaderOptions,isPageFile=filename.startsWith(pagesDir),relativeFilePathFromRoot=import_path.default.relative(rootDir,filename),programmaticOptions={...(0,import_options.getLoaderSWCOptions)({pagesDir,appDir,filename,isServer,isPageFile,development:this.mode==="development",hasReactRefresh,modularizeImports:nextConfig?.modularizeImports,optimizePackageImports:nextConfig?.experimental?.optimizePackageImports,swcPlugins:nextConfig?.experimental?.swcPlugins,compilerOptions:nextConfig?.compiler,optimizeServerReact:nextConfig?.experimental?.optimizeServerReact,jsConfig,supportedBrowsers,swcCacheDir,relativeFilePathFromRoot,serverComponents,isReactServerLayer}),filename,inputSourceMap:inputSourceMap&&typeof inputSourceMap=="object"?JSON.stringify(inputSourceMap):void 0,sourceMaps:this.sourceMap,inlineSourcesContent:this.sourceMap,sourceFileName:filename};return programmaticOptions.env.bugfixes=!0,programmaticOptions.inputSourceMap||delete programmaticOptions.inputSourceMap,this.mode&&programmaticOptions.jsc&&programmaticOptions.jsc.transform&&programmaticOptions.jsc.transform.react&&!Object.prototype.hasOwnProperty.call(programmaticOptions.jsc.transform.react,"development")&&(programmaticOptions.jsc.transform.react.development=this.mode==="development"),parentTrace.traceChild("next-swc-transform").traceAsyncFn(()=>(0,import_swc.transform)(source,programmaticOptions).then(output=>{if(output.eliminatedPackages&&this.eliminatedPackages)for(let pkg of JSON.parse(output.eliminatedPackages))this.eliminatedPackages.add(pkg);return[output.code,output.map?JSON.parse(output.map):void 0]}))}var EXCLUDED_PATHS=/[\\/](cache[\\/][^\\/]+\.zip[\\/]node_modules|__virtual__)[\\/]/g;function pitch(){let callback=this.async();(async()=>{if(!process.versions.pnp&&!EXCLUDED_PATHS.test(this.resourcePath)&&this.loaders.length-1===this.loaderIndex&&(0,import_path.isAbsolute)(this.resourcePath)&&!await(0,import_swc.isWasm)()){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader");return this.addDependency(this.resourcePath),loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan))}return null})().then(r=>r?callback(null,...r):(callback(),null),callback)}function swcLoader(inputSource,inputSourceMap){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader"),callback=this.async();loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan,inputSource,inputSourceMap)).then(([transformedSource,outputSourceMap])=>{callback(null,transformedSource,outputSourceMap||inputSourceMap)},err=>{callback(err)})}var raw=!0;0&&(module.exports={pitch,raw});
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __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 __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var next_swc_loader_patch_exports={};__export(next_swc_loader_patch_exports,{default:()=>swcLoader,pitch:()=>pitch,raw:()=>raw});module.exports=__toCommonJS(next_swc_loader_patch_exports);var import_node_path=require("path"),import_swc=require("next/dist/build/swc"),import_options=require("next/dist/build/swc/options"),mockCurrentTraceSpan={traceChild:name=>mockCurrentTraceSpan,traceAsyncFn:async fn=>fn()};async function loaderTransform(parentTrace,source,inputSourceMap){let filename=this.resourcePath,loaderOptions=this.getOptions()||{},{isServer,rootDir,pagesDir,appDir,hasReactRefresh,nextConfig,jsConfig,supportedBrowsers,swcCacheDir,serverComponents,isReactServerLayer}=loaderOptions,isPageFile=filename.startsWith(pagesDir),relativeFilePathFromRoot=(0,import_node_path.relative)(rootDir,filename),programmaticOptions={...(0,import_options.getLoaderSWCOptions)({pagesDir,appDir,filename,isServer,isPageFile,development:this.mode==="development",hasReactRefresh,modularizeImports:nextConfig?.modularizeImports,optimizePackageImports:nextConfig?.experimental?.optimizePackageImports,swcPlugins:nextConfig?.experimental?.swcPlugins,compilerOptions:nextConfig?.compiler,optimizeServerReact:nextConfig?.experimental?.optimizeServerReact,jsConfig,supportedBrowsers,swcCacheDir,relativeFilePathFromRoot,serverComponents,isReactServerLayer}),filename,inputSourceMap:inputSourceMap&&typeof inputSourceMap=="object"?JSON.stringify(inputSourceMap):void 0,sourceMaps:this.sourceMap,inlineSourcesContent:this.sourceMap,sourceFileName:filename};return programmaticOptions.env.bugfixes=!0,programmaticOptions.inputSourceMap||delete programmaticOptions.inputSourceMap,this.mode&&programmaticOptions.jsc&&programmaticOptions.jsc.transform&&programmaticOptions.jsc.transform.react&&!Object.prototype.hasOwnProperty.call(programmaticOptions.jsc.transform.react,"development")&&(programmaticOptions.jsc.transform.react.development=this.mode==="development"),parentTrace.traceChild("next-swc-transform").traceAsyncFn(()=>(0,import_swc.transform)(source,programmaticOptions).then(output=>{if(output.eliminatedPackages&&this.eliminatedPackages)for(let pkg of JSON.parse(output.eliminatedPackages))this.eliminatedPackages.add(pkg);return[output.code,output.map?JSON.parse(output.map):void 0]}))}var EXCLUDED_PATHS=/[\\/](cache[\\/][^\\/]+\.zip[\\/]node_modules|__virtual__)[\\/]/g;function pitch(){let callback=this.async();(async()=>{if(!process.versions.pnp&&!EXCLUDED_PATHS.test(this.resourcePath)&&this.loaders.length-1===this.loaderIndex&&(0,import_node_path.isAbsolute)(this.resourcePath)&&!await(0,import_swc.isWasm)()){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader");return this.addDependency(this.resourcePath),loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan))}return null})().then(r=>r?callback(null,...r):(callback(),null),callback)}function swcLoader(inputSource,inputSourceMap){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader"),callback=this.async();loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan,inputSource,inputSourceMap)).then(([transformedSource,outputSourceMap])=>{callback(null,transformedSource,outputSourceMap||inputSourceMap)},err=>{callback(err)})}var raw=!0;0&&(module.exports={pitch,raw});
@@ -1,8 +1,8 @@
1
- import '../chunk-QUZPS4B6.mjs';
1
+ import '../chunk-42AJV46F.mjs';
2
+ import { isAbsolute, relative } from 'node:path';
2
3
  import { isWasm, transform } from 'next/dist/build/swc';
3
4
  import { getLoaderSWCOptions } from 'next/dist/build/swc/options';
4
- import path, { isAbsolute } from 'path';
5
5
 
6
- var mockCurrentTraceSpan={traceChild:name=>mockCurrentTraceSpan,traceAsyncFn:async fn=>fn()};async function loaderTransform(parentTrace,source,inputSourceMap){let filename=this.resourcePath,loaderOptions=this.getOptions()||{},{isServer,rootDir,pagesDir,appDir,hasReactRefresh,nextConfig,jsConfig,supportedBrowsers,swcCacheDir,serverComponents,isReactServerLayer}=loaderOptions,isPageFile=filename.startsWith(pagesDir),relativeFilePathFromRoot=path.relative(rootDir,filename),programmaticOptions={...getLoaderSWCOptions({pagesDir,appDir,filename,isServer,isPageFile,development:this.mode==="development",hasReactRefresh,modularizeImports:nextConfig?.modularizeImports,optimizePackageImports:nextConfig?.experimental?.optimizePackageImports,swcPlugins:nextConfig?.experimental?.swcPlugins,compilerOptions:nextConfig?.compiler,optimizeServerReact:nextConfig?.experimental?.optimizeServerReact,jsConfig,supportedBrowsers,swcCacheDir,relativeFilePathFromRoot,serverComponents,isReactServerLayer}),filename,inputSourceMap:inputSourceMap&&typeof inputSourceMap=="object"?JSON.stringify(inputSourceMap):void 0,sourceMaps:this.sourceMap,inlineSourcesContent:this.sourceMap,sourceFileName:filename};return programmaticOptions.env.bugfixes=!0,programmaticOptions.inputSourceMap||delete programmaticOptions.inputSourceMap,this.mode&&programmaticOptions.jsc&&programmaticOptions.jsc.transform&&programmaticOptions.jsc.transform.react&&!Object.prototype.hasOwnProperty.call(programmaticOptions.jsc.transform.react,"development")&&(programmaticOptions.jsc.transform.react.development=this.mode==="development"),parentTrace.traceChild("next-swc-transform").traceAsyncFn(()=>transform(source,programmaticOptions).then(output=>{if(output.eliminatedPackages&&this.eliminatedPackages)for(let pkg of JSON.parse(output.eliminatedPackages))this.eliminatedPackages.add(pkg);return [output.code,output.map?JSON.parse(output.map):void 0]}))}var EXCLUDED_PATHS=/[\\/](cache[\\/][^\\/]+\.zip[\\/]node_modules|__virtual__)[\\/]/g;function pitch(){let callback=this.async();(async()=>{if(!process.versions.pnp&&!EXCLUDED_PATHS.test(this.resourcePath)&&this.loaders.length-1===this.loaderIndex&&isAbsolute(this.resourcePath)&&!await isWasm()){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader");return this.addDependency(this.resourcePath),loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan))}return null})().then(r=>r?callback(null,...r):(callback(),null),callback);}function swcLoader(inputSource,inputSourceMap){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader"),callback=this.async();loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan,inputSource,inputSourceMap)).then(([transformedSource,outputSourceMap])=>{callback(null,transformedSource,outputSourceMap||inputSourceMap);},err=>{callback(err);});}var raw=!0;
6
+ var mockCurrentTraceSpan={traceChild:name=>mockCurrentTraceSpan,traceAsyncFn:async fn=>fn()};async function loaderTransform(parentTrace,source,inputSourceMap){let filename=this.resourcePath,loaderOptions=this.getOptions()||{},{isServer,rootDir,pagesDir,appDir,hasReactRefresh,nextConfig,jsConfig,supportedBrowsers,swcCacheDir,serverComponents,isReactServerLayer}=loaderOptions,isPageFile=filename.startsWith(pagesDir),relativeFilePathFromRoot=relative(rootDir,filename),programmaticOptions={...getLoaderSWCOptions({pagesDir,appDir,filename,isServer,isPageFile,development:this.mode==="development",hasReactRefresh,modularizeImports:nextConfig?.modularizeImports,optimizePackageImports:nextConfig?.experimental?.optimizePackageImports,swcPlugins:nextConfig?.experimental?.swcPlugins,compilerOptions:nextConfig?.compiler,optimizeServerReact:nextConfig?.experimental?.optimizeServerReact,jsConfig,supportedBrowsers,swcCacheDir,relativeFilePathFromRoot,serverComponents,isReactServerLayer}),filename,inputSourceMap:inputSourceMap&&typeof inputSourceMap=="object"?JSON.stringify(inputSourceMap):void 0,sourceMaps:this.sourceMap,inlineSourcesContent:this.sourceMap,sourceFileName:filename};return programmaticOptions.env.bugfixes=!0,programmaticOptions.inputSourceMap||delete programmaticOptions.inputSourceMap,this.mode&&programmaticOptions.jsc&&programmaticOptions.jsc.transform&&programmaticOptions.jsc.transform.react&&!Object.prototype.hasOwnProperty.call(programmaticOptions.jsc.transform.react,"development")&&(programmaticOptions.jsc.transform.react.development=this.mode==="development"),parentTrace.traceChild("next-swc-transform").traceAsyncFn(()=>transform(source,programmaticOptions).then(output=>{if(output.eliminatedPackages&&this.eliminatedPackages)for(let pkg of JSON.parse(output.eliminatedPackages))this.eliminatedPackages.add(pkg);return [output.code,output.map?JSON.parse(output.map):void 0]}))}var EXCLUDED_PATHS=/[\\/](cache[\\/][^\\/]+\.zip[\\/]node_modules|__virtual__)[\\/]/g;function pitch(){let callback=this.async();(async()=>{if(!process.versions.pnp&&!EXCLUDED_PATHS.test(this.resourcePath)&&this.loaders.length-1===this.loaderIndex&&isAbsolute(this.resourcePath)&&!await isWasm()){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader");return this.addDependency(this.resourcePath),loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan))}return null})().then(r=>r?callback(null,...r):(callback(),null),callback);}function swcLoader(inputSource,inputSourceMap){let loaderSpan=mockCurrentTraceSpan.traceChild("next-swc-loader"),callback=this.async();loaderSpan.traceAsyncFn(()=>loaderTransform.call(this,loaderSpan,inputSource,inputSourceMap)).then(([transformedSource,outputSourceMap])=>{callback(null,transformedSource,outputSourceMap||inputSourceMap);},err=>{callback(err);});}var raw=!0;
7
7
 
8
8
  export { swcLoader as default, pitch, raw };
@@ -1,6 +1,6 @@
1
- import { ReactOptions, StorybookConfig as StorybookConfig$1, TypescriptOptions as TypescriptOptions$1 } from '@storybook/preset-react-webpack';
2
- import { BuilderOptions, StorybookConfigWebpack, TypescriptOptions } from '@storybook/builder-webpack5';
3
1
  import { CompatibleString } from 'storybook/internal/types';
2
+ import { BuilderOptions, StorybookConfigWebpack, TypescriptOptions } from '@storybook/builder-webpack5';
3
+ import { ReactOptions, StorybookConfig as StorybookConfig$1, TypescriptOptions as TypescriptOptions$1 } from '@storybook/preset-react-webpack';
4
4
  import * as _NextImage from 'next/image';
5
5
 
6
6
  type FrameworkName = CompatibleString<'@storybook/nextjs'>;
@@ -23,9 +23,7 @@ type StorybookConfigFramework = {
23
23
  };
24
24
  typescript?: Partial<TypescriptOptions & TypescriptOptions$1> & StorybookConfig$1['typescript'];
25
25
  };
26
- /**
27
- * The interface for Storybook configuration in `main.ts` files.
28
- */
26
+ /** The interface for Storybook configuration in `main.ts` files. */
29
27
  type StorybookConfig = Omit<StorybookConfig$1, keyof StorybookConfigWebpack | keyof StorybookConfigFramework> & StorybookConfigWebpack & StorybookConfigFramework;
30
28
 
31
29
  export { FrameworkOptions as F, StorybookConfig as S };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/nextjs",
3
- "version": "8.3.0-alpha.0",
3
+ "version": "8.3.0-alpha.10",
4
4
  "description": "Storybook for Next.js",
5
5
  "keywords": [
6
6
  "storybook",
@@ -121,8 +121,8 @@
121
121
  "!src/**/*"
122
122
  ],
123
123
  "scripts": {
124
- "check": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/check.ts",
125
- "prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/bundle.ts"
124
+ "check": "jiti ../../../scripts/prepare/check.ts",
125
+ "prep": "jiti ../../../scripts/prepare/bundle.ts"
126
126
  },
127
127
  "dependencies": {
128
128
  "@babel/core": "^7.24.4",
@@ -139,11 +139,11 @@
139
139
  "@babel/preset-typescript": "^7.24.1",
140
140
  "@babel/runtime": "^7.24.4",
141
141
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
142
- "@storybook/builder-webpack5": "8.3.0-alpha.0",
143
- "@storybook/preset-react-webpack": "8.3.0-alpha.0",
144
- "@storybook/react": "8.3.0-alpha.0",
145
- "@storybook/test": "8.3.0-alpha.0",
146
- "@types/node": "^18.0.0",
142
+ "@storybook/builder-webpack5": "8.3.0-alpha.10",
143
+ "@storybook/preset-react-webpack": "8.3.0-alpha.10",
144
+ "@storybook/react": "8.3.0-alpha.10",
145
+ "@storybook/test": "8.3.0-alpha.10",
146
+ "@types/node": "^22.0.0",
147
147
  "@types/semver": "^7.3.4",
148
148
  "babel-loader": "^9.1.3",
149
149
  "css-loader": "^6.7.3",
@@ -180,7 +180,7 @@
180
180
  "next": "^13.5.0 || ^14.0.0",
181
181
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
182
182
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
183
- "storybook": "^8.3.0-alpha.0",
183
+ "storybook": "^8.3.0-alpha.10",
184
184
  "webpack": "^5.0.0"
185
185
  },
186
186
  "peerDependenciesMeta": {
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "rules": {
3
- "import/no-extraneous-dependencies": "off",
4
3
  "import/extensions": "off",
5
4
  "react/no-unknown-property": "off"
6
5
  }
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
+
2
3
  import PropTypes from 'prop-types';
4
+
3
5
  import './button.css';
4
6
 
5
- /**
6
- * Primary UI component for user interaction
7
- */
7
+ /** Primary UI component for user interaction */
8
8
  export const Button = ({ primary, backgroundColor, size, label, ...props }) => {
9
9
  const mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary';
10
10
  return (
@@ -24,25 +24,15 @@ export const Button = ({ primary, backgroundColor, size, label, ...props }) => {
24
24
  };
25
25
 
26
26
  Button.propTypes = {
27
- /**
28
- * Is this the principal call to action on the page?
29
- */
27
+ /** Is this the principal call to action on the page? */
30
28
  primary: PropTypes.bool,
31
- /**
32
- * What background color to use
33
- */
29
+ /** What background color to use */
34
30
  backgroundColor: PropTypes.string,
35
- /**
36
- * How large should the button be?
37
- */
31
+ /** How large should the button be? */
38
32
  size: PropTypes.oneOf(['small', 'medium', 'large']),
39
- /**
40
- * Button contents
41
- */
33
+ /** Button contents */
42
34
  label: PropTypes.string.isRequired,
43
- /**
44
- * Optional click handler
45
- */
35
+ /** Optional click handler */
46
36
  onClick: PropTypes.func,
47
37
  };
48
38
 
@@ -1,4 +1,5 @@
1
1
  import { fn } from '@storybook/test';
2
+
2
3
  import { Button } from './Button';
3
4
 
4
5
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
@@ -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"
55
+ href="https://storybook.js.org/docs/configure/styling-and-css/?renderer=react"
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#context-for-mocking"
70
+ href="https://storybook.js.org/docs/writing-stories/decorators/?renderer=react#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"
88
+ href="https://storybook.js.org/docs/configure/images-and-assets/?renderer=react"
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"
116
+ href="https://storybook.js.org/docs/writing-docs/autodocs/?renderer=react"
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#publish-storybook-with-chromatic"
131
+ href="https://storybook.js.org/docs/sharing/publish-storybook/?renderer=react#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#embed-storybook-in-figma-with-the-plugin"
147
+ href="https://storybook.js.org/docs/sharing/design-integrations/?renderer=react#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"
163
+ href="https://storybook.js.org/docs/writing-tests/?renderer=react"
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"
178
+ href="https://storybook.js.org/docs/writing-tests/accessibility-testing/?renderer=react"
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"
193
+ href="https://storybook.js.org/docs/configure/theming/?renderer=react"
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/integrations/"
205
+ href="https://storybook.js.org/addons/"
206
206
  target="_blank"
207
207
  >Discover all addons<RightArrow /></a>
208
208
  </div>
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+
2
3
  import PropTypes from 'prop-types';
3
4
 
4
5
  import { Button } from './Button';
@@ -1,4 +1,5 @@
1
1
  import { fn } from '@storybook/test';
2
+
2
3
  import { Header } from './Header';
3
4
 
4
5
  export default {
@@ -1,4 +1,5 @@
1
- import { within, userEvent, expect } from '@storybook/test';
1
+ import { expect, userEvent, within } from '@storybook/test';
2
+
2
3
  import { Page } from './Page';
3
4
 
4
5
  export default {
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
2
  import { fn } from '@storybook/test';
3
+
3
4
  import { Button } from './Button';
4
5
 
5
6
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
@@ -1,32 +1,21 @@
1
1
  import React from 'react';
2
+
2
3
  import './button.css';
3
4
 
4
5
  export interface ButtonProps {
5
- /**
6
- * Is this the principal call to action on the page?
7
- */
6
+ /** Is this the principal call to action on the page? */
8
7
  primary?: boolean;
9
- /**
10
- * What background color to use
11
- */
8
+ /** What background color to use */
12
9
  backgroundColor?: string;
13
- /**
14
- * How large should the button be?
15
- */
10
+ /** How large should the button be? */
16
11
  size?: 'small' | 'medium' | 'large';
17
- /**
18
- * Button contents
19
- */
12
+ /** Button contents */
20
13
  label: string;
21
- /**
22
- * Optional click handler
23
- */
14
+ /** Optional click handler */
24
15
  onClick?: () => void;
25
16
  }
26
17
 
27
- /**
28
- * Primary UI component for user interaction
29
- */
18
+ /** Primary UI component for user interaction */
30
19
  export const Button = ({
31
20
  primary = false,
32
21
  size = 'medium',