@storybook/nextjs 7.1.0-alpha.35 → 7.1.0-alpha.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,7 +28,7 @@
28
28
  - [Set `nextjs.appDirectory` to `true`](#set-nextjsappdirectory-to-true)
29
29
  - [Overriding defaults](#overriding-defaults-1)
30
30
  - [Global Defaults](#global-defaults-1)
31
- - [`useSelectedLayoutSegment` and `useSelectedLayoutSegments` hook](#useselectedlayoutsegment-and-useselectedlayoutsegments-hook)
31
+ - [`useSelectedLayoutSegment` `useSelectedLayoutSegments` and `useParams` hook](#useselectedlayoutsegment-useselectedlayoutsegments-and-useparams-hook)
32
32
  - [Default Navigation Context](#default-navigation-context)
33
33
  - [Actions Integration Caveats](#actions-integration-caveats-1)
34
34
  - [Next.js Head](#nextjs-head)
@@ -503,9 +503,9 @@ export const parameters = {
503
503
  };
504
504
  ```
505
505
 
506
- #### `useSelectedLayoutSegment` and `useSelectedLayoutSegments` hook
506
+ #### `useSelectedLayoutSegment` `useSelectedLayoutSegments` and `useParams` hook
507
507
 
508
- The `useSelectedLayoutSegment` and `useSelectedLayoutSegments` hooks are supported in Storybook. You have to set the `nextjs.navigation.segments` parameter to return the segments you want to use.
508
+ The `useSelectedLayoutSegment` `useSelectedLayoutSegments` and `useParams` hooks are supported in Storybook. You have to set the `nextjs.navigation.segments` parameter to return the segments or the params you want to use.
509
509
 
510
510
  ```js
511
511
  // SomeComponentThatUsesTheNavigation.stories.js
@@ -526,11 +526,46 @@ export default {
526
526
  export const Example = {};
527
527
 
528
528
  // SomeComponentThatUsesTheNavigation.js
529
- import { useSelectedLayoutSegment, useSelectedLayoutSegments } from 'next/navigation';
529
+ import { useSelectedLayoutSegment, useSelectedLayoutSegments, useParams } from 'next/navigation';
530
530
 
531
531
  export default function SomeComponentThatUsesTheNavigation() {
532
532
  const segment = useSelectedLayoutSegment(); // dashboard
533
533
  const segments = useSelectedLayoutSegments(); // ["dashboard", "analytics"]
534
+ const params = useParams(); // {}
535
+ ...
536
+ }
537
+ ```
538
+
539
+ To use `useParams`, you have to use a two string elements array for a segment, the first array element is the param key and the second array element is the param value.
540
+
541
+ ```js
542
+ // SomeComponentThatUsesParams.stories.js
543
+ import SomeComponentThatUsesParams from './SomeComponentThatUsesParams';
544
+
545
+ export default {
546
+ component: SomeComponentThatUsesParams,
547
+ parameters: {
548
+ nextjs: {
549
+ appDirectory: true,
550
+ navigation: {
551
+ segments: [
552
+ ['slug', 'hello'],
553
+ ['framework', 'nextjs'],
554
+ ]
555
+ },
556
+ },
557
+ },
558
+ };
559
+
560
+ export const Example = {};
561
+
562
+ // SomeComponentThatUsesParams.js
563
+ import { useSelectedLayoutSegment, useSelectedLayoutSegments, useParams } from 'next/navigation';
564
+
565
+ export default function SomeComponentThatUsesParams() {
566
+ const segment = useSelectedLayoutSegment(); // hello
567
+ const segments = useSelectedLayoutSegments(); // ["hello", "nextjs"]
568
+ const params = useParams(); // { slug: "hello", framework: "nextjs" }
534
569
  ...
535
570
  }
536
571
  ```
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  ${options.variable?`.${variableClassName} { ${options.variable}: '${options.fontFamily}'; }`:""}
25
- `,fontFaceCSS=`${changeFontDisplayToSwap(options.fontFaceCSS)}`;return{className,fontFaceCSS,classNamesCSS,style,...options.variable?{variableClassName}:{}}}function getClassName({styles,weights,fontFamily}){let font=fontFamily.replace(" ","-").toLowerCase(),style=isNextCSSPropertyValid(styles)?styles[0]:null,weight=isNextCSSPropertyValid(weights)?weights[0]:null;return`${font}${style?`-${style}`:""}${weight?`-${weight}`:""}`}function getStylesObj({styles,weights,fontFamily}){return{fontFamily,...isNextCSSPropertyValid(styles)?{fontStyle:styles[0]}:{},...isNextCSSPropertyValid(weights)?{fontWeight:weights[0]}:{}}}function isNextCSSPropertyValid(prop){return prop.length===1&&prop[0]!=="variable"}function changeFontDisplayToSwap(css){return css.replaceAll("font-display: optional;","font-display: block;")}function setFontDeclarationsInHead({id,fontFaceCSS,classNamesCSS}){return`
25
+ `,fontFaceCSS=`${changeFontDisplayToSwap(options.fontFaceCSS)}`;return{className,fontFaceCSS,classNamesCSS,style,...options.variable?{variableClassName}:{}}}function getClassName({styles,weights,fontFamily}){let font=fontFamily.replaceAll(" ","-").toLowerCase(),style=isNextCSSPropertyValid(styles)?styles[0]:null,weight=isNextCSSPropertyValid(weights)?weights[0]:null;return`${font}${style?`-${style}`:""}${weight?`-${weight}`:""}`}function getStylesObj({styles,weights,fontFamily}){return{fontFamily,...isNextCSSPropertyValid(styles)?{fontStyle:styles[0]}:{},...isNextCSSPropertyValid(weights)?{fontWeight:weights[0]}:{}}}function isNextCSSPropertyValid(prop){return prop.length===1&&prop[0]!=="variable"}function changeFontDisplayToSwap(css){return css.replaceAll("font-display: optional;","font-display: block;")}function setFontDeclarationsInHead({id,fontFaceCSS,classNamesCSS}){return`
26
26
  if (!document.getElementById('id-${id}')) {
27
27
  const fontDeclarations = \`${fontFaceCSS}\`;
28
28
  const style = document.createElement('style');
@@ -27,7 +27,7 @@ var google_font_utils_exports={};__export(google_font_utils_exports,{fetchCSSFro
27
27
  }
28
28
 
29
29
  ${options.variable?`.${variableClassName} { ${options.variable}: '${options.fontFamily}'; }`:""}
30
- `,fontFaceCSS=`${changeFontDisplayToSwap(options.fontFaceCSS)}`;return {className,fontFaceCSS,classNamesCSS,style,...options.variable?{variableClassName}:{}}}function getClassName({styles,weights,fontFamily}){let font=fontFamily.replace(" ","-").toLowerCase(),style=isNextCSSPropertyValid(styles)?styles[0]:null,weight=isNextCSSPropertyValid(weights)?weights[0]:null;return `${font}${style?`-${style}`:""}${weight?`-${weight}`:""}`}function getStylesObj({styles,weights,fontFamily}){return {fontFamily,...isNextCSSPropertyValid(styles)?{fontStyle:styles[0]}:{},...isNextCSSPropertyValid(weights)?{fontWeight:weights[0]}:{}}}function isNextCSSPropertyValid(prop){return prop.length===1&&prop[0]!=="variable"}function changeFontDisplayToSwap(css){return css.replaceAll("font-display: optional;","font-display: block;")}function setFontDeclarationsInHead({id,fontFaceCSS,classNamesCSS}){return `
30
+ `,fontFaceCSS=`${changeFontDisplayToSwap(options.fontFaceCSS)}`;return {className,fontFaceCSS,classNamesCSS,style,...options.variable?{variableClassName}:{}}}function getClassName({styles,weights,fontFamily}){let font=fontFamily.replaceAll(" ","-").toLowerCase(),style=isNextCSSPropertyValid(styles)?styles[0]:null,weight=isNextCSSPropertyValid(weights)?weights[0]:null;return `${font}${style?`-${style}`:""}${weight?`-${weight}`:""}`}function getStylesObj({styles,weights,fontFamily}){return {fontFamily,...isNextCSSPropertyValid(styles)?{fontStyle:styles[0]}:{},...isNextCSSPropertyValid(weights)?{fontWeight:weights[0]}:{}}}function isNextCSSPropertyValid(prop){return prop.length===1&&prop[0]!=="variable"}function changeFontDisplayToSwap(css){return css.replaceAll("font-display: optional;","font-display: block;")}function setFontDeclarationsInHead({id,fontFaceCSS,classNamesCSS}){return `
31
31
  if (!document.getElementById('id-${id}')) {
32
32
  const fontDeclarations = \`${fontFaceCSS}\`;
33
33
  const style = document.createElement('style');
package/dist/preset.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var jsx_pragma_exports={};__export(jsx_pragma_exports,{default:()=>jsxPragma});function jsxPragma({types:t}){return{inherits:import_plugin_syntax_jsx.default,visitor:{JSXElement(_path,state){state.set("jsx",!0)},JSXFragment(_path,state){state.set("jsx",!0)},Program:{exit(path2,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path2.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path2.scope.generateUidIdentifier("pragma");let mapping=t.variableDeclaration("var",[t.variableDeclarator(pragma,t.memberExpression(importAs,t.identifier(state.opts.property)))]),newPath;existingBinding&&t.isVariableDeclarator(existingBinding.path.node)&&t.isCallExpression(existingBinding.path.node.init)&&t.isIdentifier(existingBinding.path.node.init.callee)&&existingBinding.path.node.init.callee.name==="require"?[newPath]=existingBinding.path.parentPath.insertAfter(mapping):[newPath]=path2.unshiftContainer("body",mapping);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path2.scope.registerBinding(kind,declar)}}if(!existingBinding){let importSpecifier=t.importDeclaration([state.opts.import?t.importSpecifier(importAs,t.identifier(state.opts.import)):state.opts.importNamespace?t.importNamespaceSpecifier(importAs):t.importDefaultSpecifier(importAs)],t.stringLiteral(state.opts.module||"react")),[newPath]=path2.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path2.scope.registerBinding("module",specifier)}}}}}}}var import_plugin_syntax_jsx,init_jsx_pragma=__esm({"src/babel/plugins/jsx-pragma.ts"(){"use strict";import_plugin_syntax_jsx=__toESM(require("next/dist/compiled/babel/plugin-syntax-jsx"))}});var optimize_hook_destructuring_exports={};__export(optimize_hook_destructuring_exports,{default:()=>optimizeHookDestructuring});function optimizeHookDestructuring({types:t}){let visitor={CallExpression(path2,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path2.parent)||!t.isArrayPattern(path2.parent.id))return;let hookName=path2.node.callee.name;if(libs){let binding=path2.scope.getBinding(hookName);if(!binding||binding.kind!=="module")return;let specifier=binding.path.parent.source.value;if(!libs.some(lib=>lib===specifier))return}(onlyBuiltIns?isBuiltInHook:isHook).test(hookName)&&(path2.parent.id=t.objectPattern(path2.parent.id.elements.reduce((patterns,element,i)=>element===null?patterns:patterns.concat(t.objectProperty(t.numericLiteral(i),element)),[])))}};return{name:"optimize-hook-destructuring",visitor:{Program(path2,state){path2.traverse(visitor,state)}}}}var isHook,isBuiltInHook,init_optimize_hook_destructuring=__esm({"src/babel/plugins/optimize-hook-destructuring.ts"(){"use strict";isHook=/^use[A-Z]/,isBuiltInHook=/^use(Callback|Context|DebugValue|Effect|ImperativeHandle|LayoutEffect|Memo|Reducer|Ref|State)$/}});var react_loadable_plugin_exports={};__export(react_loadable_plugin_exports,{default:()=>react_loadable_plugin_default});function react_loadable_plugin_default({types:t}){return{visitor:{ImportDeclaration(path2,state){if(path2.node.source.value!=="next/dynamic")return;let defaultSpecifier=path2.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path2.scope.getBinding(bindingName);binding&&binding.referencePaths.forEach(refPath=>{var _a,_b,_c;let callExpression=refPath.parentPath;if(callExpression.isMemberExpression()&&callExpression.node.computed===!1){let property=callExpression.get("property");!Array.isArray(property)&&property.isIdentifier({name:"Map"})&&(callExpression=callExpression.parentPath)}if(!callExpression.isCallExpression())return;let callExpression_=callExpression,args=callExpression_.get("arguments");if(args.length>2)throw callExpression_.buildCodeFrameError("next/dynamic only accepts 2 arguments");if(!args[0])return;let loader,options;if(args[0].isObjectExpression()?options=args[0]:(args[1]||callExpression_.node.arguments.push(t.objectExpression([])),args=callExpression_.get("arguments"),loader=args[0],options=args[1]),!options.isObjectExpression())return;let properties=options.get("properties"),propertiesMap={};if(properties.forEach(property=>{let key=property.get("key");propertiesMap[key.node.name]=property}),propertiesMap.loadableGenerated||(propertiesMap.loader&&(loader=propertiesMap.loader.get("value")),propertiesMap.modules&&(loader=propertiesMap.modules.get("value")),!loader||Array.isArray(loader)))return;let dynamicImports=[],dynamicKeys=[];if(propertiesMap.ssr){let ssr=propertiesMap.ssr.get("value"),nodePath=Array.isArray(ssr)?void 0:ssr;nodePath&&nodePath.node.type==="BooleanLiteral"&&nodePath.node.value===!1&&loader&&(_a=state.file.opts.caller)!=null&&_a.isServer&&loader.replaceWith(t.arrowFunctionExpression([],t.nullLiteral(),!0))}if(loader.traverse({Import(importPath){var _a2;let importArguments=importPath.parentPath.get("arguments");if(!Array.isArray(importArguments))return;let{node}=importArguments[0];dynamicImports.push(node),dynamicKeys.push(t.binaryExpression("+",t.stringLiteral(`${(_a2=state.file.opts.caller)!=null&&_a2.pagesDir?(0,import_path2.relative)(state.file.opts.caller.pagesDir,state.file.opts.filename):state.file.opts.filename} -> `),node))}}),!!dynamicImports.length&&(options.node.properties.push(t.objectProperty(t.identifier("loadableGenerated"),t.objectExpression((_b=state.file.opts.caller)!=null&&_b.isDev||(_c=state.file.opts.caller)!=null&&_c.isServer?[t.objectProperty(t.identifier("modules"),t.arrayExpression(dynamicKeys))]:[t.objectProperty(t.identifier("webpack"),t.arrowFunctionExpression([],t.arrayExpression(dynamicImports.map(dynamicImport=>t.callExpression(t.memberExpression(t.identifier("require"),t.identifier("resolveWeak")),[dynamicImport])))))]))),loader.isCallExpression())){let arrowFunction=t.arrowFunctionExpression([],loader.node);loader.replaceWith(arrowFunction)}})}}}}var import_path2,init_react_loadable_plugin=__esm({"src/babel/plugins/react-loadable-plugin.ts"(){"use strict";import_path2=require("path")}});var amp_attributes_exports={};__export(amp_attributes_exports,{default:()=>AmpAttributePatcher});function AmpAttributePatcher(){return{visitor:{JSXOpeningElement(path2){let openingElement=path2.node,{name,attributes}=openingElement;if(name&&name.type==="JSXIdentifier"&&name.name.startsWith("amp-"))for(let attribute of attributes)attribute.type==="JSXAttribute"&&attribute.name.name==="className"&&(attribute.name.name="class")}}}}var init_amp_attributes=__esm({"src/babel/plugins/amp-attributes.ts"(){"use strict"}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,config:()=>config,core:()=>core,frameworkOptions:()=>frameworkOptions,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_path4=require("path"),import_core=require("@babel/core"),import_core_common=require("@storybook/core-common");var import_semver=__toESM(require("semver")),import_webpack2=require("webpack");var import_path=__toESM(require("path")),import_webpack=require("webpack"),import_constants=require("next/constants"),import_find_up=__toESM(require("find-up")),import_fs_extra=require("fs-extra"),import_node_url=require("url"),configureRuntimeNextjsVersionResolution=baseConfig=>{var _a;(_a=baseConfig.plugins)==null||_a.push(new import_webpack.DefinePlugin({"process.env.__NEXT_VERSION":JSON.stringify(getNextjsVersion())}))},getNextjsVersion=()=>require(scopedResolve("next/package.json")).version,findNextConfigFile=async configDir=>["mjs","js"].reduce(async(acc,ext)=>(await acc||(acc=(0,import_find_up.default)(`next.config.${ext}`,{cwd:configDir})),acc),Promise.resolve(void 0)),resolveNextConfig=async({baseConfig={},nextConfigPath,configDir})=>{let nextConfigFile=nextConfigPath||await findNextConfigFile(configDir);if(!nextConfigFile||await(0,import_fs_extra.pathExists)(nextConfigFile)===!1)return{};let nextConfigExport=await import((0,import_node_url.pathToFileURL)(nextConfigFile).href),nextConfig=typeof nextConfigExport=="function"?nextConfigExport(import_constants.PHASE_DEVELOPMENT_SERVER,{defaultConfig:baseConfig}):nextConfigExport;return nextConfig.default||nextConfig},addScopedAlias=(baseConfig,name,alias)=>{baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias,scopedAlias=scopedResolve(`${alias??name}`);Array.isArray(aliasConfig)?aliasConfig.push({name,alias:scopedAlias}):aliasConfig[name]=scopedAlias},scopedResolve=id=>{let scopedModulePath=require.resolve(id,{paths:[import_path.default.resolve()]}),beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,import_path.default.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var configureConfig=async({baseConfig,nextConfigPath,configDir})=>{let nextConfig=await resolveNextConfig({baseConfig,nextConfigPath,configDir});return addScopedAlias(baseConfig,"next/config"),setupRuntimeConfig(baseConfig,nextConfig),nextConfig},version=getNextjsVersion(),setupRuntimeConfig=(baseConfig,nextConfig)=>{var _a,_b;let definePluginConfig={"process.env.__NEXT_RUNTIME_CONFIG":JSON.stringify({serverRuntimeConfig:{},publicRuntimeConfig:nextConfig.publicRuntimeConfig})},newNextLinkBehavior=(_a=nextConfig.experimental)==null?void 0:_a.newNextLinkBehavior;import_semver.default.gte(version,"13.0.0")&&import_semver.default.lt(version,"13.0.6")&&newNextLinkBehavior!==!1?definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=!0:definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=newNextLinkBehavior,(_b=baseConfig.plugins)==null||_b.push(new import_webpack2.DefinePlugin(definePluginConfig))};var import_getCssModuleLocalIdent=require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent"),import_file_resolve=require("next/dist/build/webpack/config/blocks/css/loaders/file-resolve"),import_semver2=__toESM(require("semver"));var configureCss=(baseConfig,nextConfig)=>{var _a,_b,_c;let rules=(_a=baseConfig.module)==null?void 0:_a.rules;rules==null||rules.forEach((rule,i)=>{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")]})}),rules==null||rules.push({test:/\.(scss|sass)$/,use:[require.resolve("style-loader"),{loader:require.resolve("css-loader"),options:{importLoaders:3,...getImportAndUrlCssLoaderOptions(nextConfig),modules:{auto:!0,getLocalIdent:import_getCssModuleLocalIdent.getCssModuleLocalIdent}}},require.resolve("postcss-loader"),require.resolve("resolve-url-loader"),{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:nextConfig.sassOptions,additionalData:((_b=nextConfig.sassOptions)==null?void 0:_b.prependData)||((_c=nextConfig.sassOptions)==null?void 0:_c.additionalData)}}]})},getImportAndUrlCssLoaderOptions=nextConfig=>isCssLoaderV6()?{url:{filter:getUrlResolver(nextConfig)},import:{filter:getImportResolver(nextConfig)}}:{url:getUrlResolver(nextConfig),import:getImportResolver(nextConfig)},getUrlResolver=nextConfig=>(url,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},getImportResolver=nextConfig=>(url,_,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(typeof url=="string"?url:url.url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},isCssLoaderV6=()=>{try{let cssLoaderVersion=require(scopedResolve("css-loader/package.json")).version;return import_semver2.default.gte(cssLoaderVersion,"6.0.0")}catch{return!1}};var import_tsconfig_paths_webpack_plugin=__toESM(require("tsconfig-paths-webpack-plugin")),import_tsconfig_paths=require("tsconfig-paths"),configureImports=({baseConfig,configDir})=>{let configLoadResult=(0,import_tsconfig_paths.loadConfig)(configDir);configLoadResult.resultType==="failed"||!configLoadResult.baseUrl||(baseConfig.resolve??={},baseConfig.resolve.plugins??=[],baseConfig.resolve.plugins.push(new import_tsconfig_paths_webpack_plugin.default({configFile:configLoadResult.configFileAbsolutePath,extensions:[".js",".jsx",".ts",".tsx"]})))};var import_semver3=__toESM(require("semver"));var configureRouting=baseConfig=>{let routerContextPath=getRouterContextPath();addScopedAlias(baseConfig,routerContextPath)},getRouterContextPath=()=>{let version2=getNextjsVersion();return import_semver3.default.gte(version2,"11.1.0")?"next/dist/shared/lib/router-context":"next/dist/next-server/lib/router-context"};var import_semver4=__toESM(require("semver"));var configureStyledJsx=baseConfig=>{let version2=getNextjsVersion();import_semver4.default.gte(version2,"12.0.0")?addScopedAlias(baseConfig,"styled-jsx"):(addScopedAlias(baseConfig,"styled-jsx/babel"),addScopedAlias(baseConfig,"styled-jsx/css"),addScopedAlias(baseConfig,"styled-jsx/macro"),addScopedAlias(baseConfig,"styled-jsx/server"),addScopedAlias(baseConfig,"styled-jsx/style"),addScopedAlias(baseConfig,"styled-jsx/webpack"))};var import_semver5=__toESM(require("semver"));var configureImages=baseConfig=>{configureStaticImageImport(baseConfig),addScopedAlias(baseConfig,"next/image")},configureStaticImageImport=baseConfig=>{var _a,_b,_c;let version2=getNextjsVersion();if(import_semver5.default.lt(version2,"11.0.0"))return;let rules=(_a=baseConfig.module)==null?void 0:_a.rules,assetRule=rules==null?void 0:rules.find(rule=>typeof rule!="string"&&rule.test instanceof RegExp&&rule.test.test("test.jpg"));assetRule&&(assetRule.test=/\.(apng|eot|otf|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:{not:/\.(css|scss|sass)$/},use:[{loader:require.resolve("@storybook/nextjs/next-image-loader-stub.js"),options:{filename:(_b=assetRule.generator)==null?void 0:_b.filename}}]}),rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:/\.(css|scss|sass)$/,type:"asset/resource",generator:{filename:(_c=assetRule.generator)==null?void 0:_c.filename}}))};var import_semver6=__toESM(require("semver")),import_webpack3=require("webpack");function configureNextImport(baseConfig){let nextJSVersion=getNextjsVersion(),isNext12=import_semver6.default.satisfies(nextJSVersion,"~12"),isNext13=import_semver6.default.satisfies(nextJSVersion,"~13"),isNextVersionSmallerThan12dot2=import_semver6.default.lt(nextJSVersion,"12.2.0"),isNextVersionSmallerThan13=import_semver6.default.lt(nextJSVersion,"13.0.0");baseConfig.plugins=baseConfig.plugins??[],isNext13||baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/legacy\/image$/})),(!isNext12||isNextVersionSmallerThan12dot2)&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/future\/image$/})),isNextVersionSmallerThan13&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/dist\/shared\/lib\/hooks-client-context$/})),isNextVersionSmallerThan12dot2&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/dist\/shared\/lib\/app-router-context$/}))}function convertNodeToJSON(types,node){if(types.isBooleanLiteral(node)||types.isStringLiteral(node)||types.isNumericLiteral(node))return node.value;if(!(node.name==="undefined"&&!node.value))return types.isNullLiteral(node)?null:types.isObjectExpression(node)?computeProps(types,node.properties):types.isArrayExpression(node)?node.elements.reduce((acc,element)=>[...acc,...(element==null?void 0:element.type)==="SpreadElement"?convertNodeToJSON(types,element.argument):[convertNodeToJSON(types,element)]],[]):{}}function computeProps(types,props){return props.reduce((acc,prop)=>{if(prop.type==="SpreadElement")return{...acc,...convertNodeToJSON(types,prop.argument)};if(prop.type!=="ObjectMethod"){let val=convertNodeToJSON(types,prop.value);if(val!==void 0&&types.isIdentifier(prop.key))return{...acc,[prop.key.name]:val}}return acc},{})}function isDefined(value){return value!==void 0}function removeTransformedVariableDeclarations(path2,types,metas){path2.parentPath.traverse({ExportNamedDeclaration(declaratorPath){var _a;(_a=declaratorPath.parentPath)!=null&&_a.isProgram()&&metas.forEach(meta=>{types.isVariableDeclaration(declaratorPath.node.declaration)&&declaratorPath.node.declaration.declarations.length===1&&types.isVariableDeclarator(declaratorPath.node.declaration.declarations[0])&&types.isIdentifier(declaratorPath.node.declaration.declarations[0].id)&&meta.identifierName===declaratorPath.node.declaration.declarations[0].id.name&&declaratorPath.replaceWith(types.exportNamedDeclaration(null,[types.exportSpecifier(types.identifier(meta.identifierName),types.identifier(meta.identifierName))]))})},VariableDeclarator(declaratorPath){var _a;(_a=declaratorPath.parentPath.parentPath)!=null&&_a.isProgram()&&metas.some(meta=>types.isIdentifier(declaratorPath.node.id)&&meta.identifierName===declaratorPath.node.id.name)&&declaratorPath.remove()}})}function replaceImportWithParamterImport(path2,types,source,metas,filename){path2.replaceWithMultiple([...metas.map(meta=>types.importDeclaration([types.importDefaultSpecifier(types.identifier(meta.identifierName))],types.stringLiteral(`storybook-nextjs-font-loader?${JSON.stringify({source:source.value,props:meta.properties,fontFamily:meta.functionName,filename})}!${source.value}`)))])}function getVariableMetasBySpecifier(program,types,specifier){return program.node.body.map(statement=>{if(!types.isVariableDeclaration(statement)&&!types.isExportNamedDeclaration(statement))return;let exportedNamedDeclaration=!types.isVariableDeclaration(statement)&&types.isVariableDeclaration(statement.declaration)&&statement.declaration.declarations.length===1?statement.declaration.declarations[0]:null,declaration=types.isVariableDeclaration(statement)?statement.declarations[0]:exportedNamedDeclaration;if(!declaration||!types.isIdentifier(declaration.id)||!types.isCallExpression(declaration.init)||(!types.isIdentifier(declaration.init.callee)||specifier.type!=="ImportSpecifier"||specifier.imported.type!=="Identifier"||declaration.init.callee.name!==specifier.imported.name)&&(!types.isIdentifier(declaration.init.callee)||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{identifierName,properties,functionName}}).filter(isDefined)}function TransformFontImports({types}){return{name:"storybook-nextjs-font-imports",visitor:{ImportDeclaration(path2,state){let{node}=path2,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path2.parentPath.isProgram())return;let program=path2.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path2.parentPath.isProgram())return[];let program=path2.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}}}}}function configureNextFont(baseConfig){var _a;baseConfig.plugins=[...baseConfig.plugins||[]],baseConfig.resolveLoader={...baseConfig.resolveLoader,alias:{...(_a=baseConfig.resolveLoader)==null?void 0:_a.alias,"storybook-nextjs-font-loader":require.resolve("./font/webpack/loader/storybook-nextjs-font-loader")}}}var import_path3=require("path"),isLoadIntentTest=process.env.NODE_ENV==="test",isLoadIntentDevelopment=process.env.NODE_ENV==="development";function styledJsxOptions(options){return options=options||{},options.styleModule="styled-jsx/style",Array.isArray(options.plugins)&&(options.plugins=options.plugins.map(plugin=>{if(Array.isArray(plugin)){let[name,pluginOptions]=plugin;return[require.resolve(name),pluginOptions]}return require.resolve(plugin)})),options}function supportsStaticESM(caller){return!!(caller!=null&&caller.supportsStaticESM)}var preset_default=(api,options={})=>{var _a,_b;let supportsESM=api.caller(supportsStaticESM),isServer=api.caller(caller=>!!caller&&caller.isServer),isCallerDevelopment=api.caller(caller=>caller==null?void 0:caller.isDev),isTest=isCallerDevelopment==null&&isLoadIntentTest,isDevelopment=isCallerDevelopment===!0||isCallerDevelopment==null&&isLoadIntentDevelopment,isBabelLoader=api.caller(caller=>!!caller&&(caller.name==="babel-loader"||caller.name==="next-babel-turbo-loader")),useJsxRuntime=((_a=options["preset-react"])==null?void 0:_a.runtime)==="automatic"||!!api.caller(caller=>!!caller&&caller.hasJsxRuntime)&&((_b=options["preset-react"])==null?void 0:_b.runtime)!=="classic",presetEnvConfig={modules:"auto",exclude:["transform-typeof-symbol"],...options["preset-env"]};return(isServer||isTest)&&(!presetEnvConfig.targets||!(typeof presetEnvConfig.targets=="object"&&"node"in presetEnvConfig.targets))&&(presetEnvConfig.targets={node:process.versions.node}),{sourceType:"unambiguous",presets:[[require("@babel/preset-env"),presetEnvConfig],[require("@babel/preset-react"),{development:isDevelopment||isTest,...useJsxRuntime?{runtime:"automatic"}:{pragma:"__jsx"},...options["preset-react"]}],[require("@babel/preset-typescript"),{allowNamespaces:!0,...options["preset-typescript"]}]],plugins:[!useJsxRuntime&&[(init_jsx_pragma(),__toCommonJS(jsx_pragma_exports)),{module:"react",importAs:"React",pragma:"__jsx",property:"createElement"}],[(init_optimize_hook_destructuring(),__toCommonJS(optimize_hook_destructuring_exports)),{lib:!0}],require("@babel/plugin-syntax-dynamic-import"),require("@babel/plugin-syntax-import-assertions"),(init_react_loadable_plugin(),__toCommonJS(react_loadable_plugin_exports)),[require("@babel/plugin-proposal-class-properties"),options["class-properties"]||{}],[require("@babel/plugin-proposal-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_path3.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-proposal-numeric-separator"),require("@babel/plugin-proposal-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 addons=[(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/preset-react-webpack","package.json"))),(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/builder-webpack5","package.json")))],defaultFrameworkOptions={},frameworkOptions=async(_,options)=>{let config2=await options.presets.apply("framework");return typeof config2=="string"?{name:config2,options:defaultFrameworkOptions}:typeof config2>"u"?{name:require.resolve("@storybook/nextjs"),options:defaultFrameworkOptions}:{name:config2.name,options:{...defaultFrameworkOptions,...config2.options}}},core=async(config2,options)=>{let framework=await options.presets.apply("framework");return{...config2,builder:{name:(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/builder-webpack5","package.json"))),options:typeof framework=="string"?{}:framework.options.builder||{}},renderer:(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/react","package.json")))}},config=(entry=[])=>[...entry,require.resolve("@storybook/nextjs/preview.js")],babel=async baseConfig=>{var _a,_b,_c;let configPartial=(0,import_core.loadPartialConfig)({...baseConfig,filename:`${(0,import_core_common.getProjectRoot)()}/__fake__.js`}),options=configPartial==null?void 0:configPartial.options,isPresetConfigItem=preset=>typeof preset=="object"&&preset!==null&&"file"in preset,isNextBabelConfig=preset=>{var _a2;return Array.isArray(preset)&&preset[0]==="next/babel"||preset==="next/babel"||isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)==="next/babel"},hasNextBabelConfig=(_a=options==null?void 0:options.presets)==null?void 0:_a.find(isNextBabelConfig),presets=((_b=options==null?void 0:options.presets)==null?void 0:_b.filter(preset=>{var _a2;return!(isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)===require.resolve("@babel/preset-react")||isNextBabelConfig(preset))}))??[];hasNextBabelConfig?Array.isArray(hasNextBabelConfig)&&hasNextBabelConfig[1]?presets.push([preset_default,hasNextBabelConfig[1]]):isPresetConfigItem(hasNextBabelConfig)&&((_c=hasNextBabelConfig.file)==null?void 0:_c.request)==="next/babel"?presets.push([preset_default,hasNextBabelConfig.options]):presets.push(preset_default):presets.push(preset_default);let plugins=[...(options==null?void 0:options.plugins)??[],TransformFontImports];return{...options,plugins,presets,babelrc:!1,configFile:!1}},webpackFinal=async(baseConfig,options)=>{let frameworkOptions2=await options.presets.apply("frameworkOptions"),{options:{nextConfigPath}={}}=frameworkOptions2,nextConfig=await configureConfig({baseConfig,nextConfigPath,configDir:options.configDir});return configureNextFont(baseConfig),configureNextImport(baseConfig),configureRuntimeNextjsVersionResolution(baseConfig),configureImports({baseConfig,configDir:options.configDir}),configureCss(baseConfig,nextConfig),configureImages(baseConfig),configureRouting(baseConfig),configureStyledJsx(baseConfig),configureNodePolyfills(baseConfig),baseConfig};0&&(module.exports={addons,babel,config,core,frameworkOptions,webpackFinal});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var jsx_pragma_exports={};__export(jsx_pragma_exports,{default:()=>jsxPragma});function jsxPragma({types:t}){return{inherits:import_plugin_syntax_jsx.default,visitor:{JSXElement(_path,state){state.set("jsx",!0)},JSXFragment(_path,state){state.set("jsx",!0)},Program:{exit(path2,state){if(state.get("jsx")){let pragma=t.identifier(state.opts.pragma),importAs=pragma,existingBinding=state.opts.reuseImport!==!1&&state.opts.importAs&&path2.scope.getBinding(state.opts.importAs);if(state.opts.property){state.opts.importAs?importAs=t.identifier(state.opts.importAs):importAs=path2.scope.generateUidIdentifier("pragma");let mapping=t.variableDeclaration("var",[t.variableDeclarator(pragma,t.memberExpression(importAs,t.identifier(state.opts.property)))]),newPath;existingBinding&&t.isVariableDeclarator(existingBinding.path.node)&&t.isCallExpression(existingBinding.path.node.init)&&t.isIdentifier(existingBinding.path.node.init.callee)&&existingBinding.path.node.init.callee.name==="require"?[newPath]=existingBinding.path.parentPath.insertAfter(mapping):[newPath]=path2.unshiftContainer("body",mapping);for(let declar of newPath.get("declarations")){let kind=["var","let","const"].find(k=>newPath.node.kind===k)||"const";path2.scope.registerBinding(kind,declar)}}if(!existingBinding){let importSpecifier=t.importDeclaration([state.opts.import?t.importSpecifier(importAs,t.identifier(state.opts.import)):state.opts.importNamespace?t.importNamespaceSpecifier(importAs):t.importDefaultSpecifier(importAs)],t.stringLiteral(state.opts.module||"react")),[newPath]=path2.unshiftContainer("body",importSpecifier);for(let specifier of newPath.get("specifiers"))path2.scope.registerBinding("module",specifier)}}}}}}}var import_plugin_syntax_jsx,init_jsx_pragma=__esm({"src/babel/plugins/jsx-pragma.ts"(){"use strict";import_plugin_syntax_jsx=__toESM(require("next/dist/compiled/babel/plugin-syntax-jsx"))}});var optimize_hook_destructuring_exports={};__export(optimize_hook_destructuring_exports,{default:()=>optimizeHookDestructuring});function optimizeHookDestructuring({types:t}){let visitor={CallExpression(path2,state){let{onlyBuiltIns}=state.opts,libs=state.opts.lib&&(state.opts.lib===!0?["react","preact/hooks"]:[].concat(state.opts.lib));if(!t.isVariableDeclarator(path2.parent)||!t.isArrayPattern(path2.parent.id))return;let hookName=path2.node.callee.name;if(libs){let binding=path2.scope.getBinding(hookName);if(!binding||binding.kind!=="module")return;let specifier=binding.path.parent.source.value;if(!libs.some(lib=>lib===specifier))return}(onlyBuiltIns?isBuiltInHook:isHook).test(hookName)&&(path2.parent.id=t.objectPattern(path2.parent.id.elements.reduce((patterns,element,i)=>element===null?patterns:patterns.concat(t.objectProperty(t.numericLiteral(i),element)),[])))}};return{name:"optimize-hook-destructuring",visitor:{Program(path2,state){path2.traverse(visitor,state)}}}}var isHook,isBuiltInHook,init_optimize_hook_destructuring=__esm({"src/babel/plugins/optimize-hook-destructuring.ts"(){"use strict";isHook=/^use[A-Z]/,isBuiltInHook=/^use(Callback|Context|DebugValue|Effect|ImperativeHandle|LayoutEffect|Memo|Reducer|Ref|State)$/}});var react_loadable_plugin_exports={};__export(react_loadable_plugin_exports,{default:()=>react_loadable_plugin_default});function react_loadable_plugin_default({types:t}){return{visitor:{ImportDeclaration(path2,state){if(path2.node.source.value!=="next/dynamic")return;let defaultSpecifier=path2.get("specifiers").find(specifier=>specifier.isImportDefaultSpecifier());if(!defaultSpecifier)return;let bindingName=defaultSpecifier.node.local.name,binding=path2.scope.getBinding(bindingName);binding&&binding.referencePaths.forEach(refPath=>{var _a,_b,_c;let callExpression=refPath.parentPath;if(callExpression.isMemberExpression()&&callExpression.node.computed===!1){let property=callExpression.get("property");!Array.isArray(property)&&property.isIdentifier({name:"Map"})&&(callExpression=callExpression.parentPath)}if(!callExpression.isCallExpression())return;let callExpression_=callExpression,args=callExpression_.get("arguments");if(args.length>2)throw callExpression_.buildCodeFrameError("next/dynamic only accepts 2 arguments");if(!args[0])return;let loader,options;if(args[0].isObjectExpression()?options=args[0]:(args[1]||callExpression_.node.arguments.push(t.objectExpression([])),args=callExpression_.get("arguments"),loader=args[0],options=args[1]),!options.isObjectExpression())return;let properties=options.get("properties"),propertiesMap={};if(properties.forEach(property=>{let key=property.get("key");propertiesMap[key.node.name]=property}),propertiesMap.loadableGenerated||(propertiesMap.loader&&(loader=propertiesMap.loader.get("value")),propertiesMap.modules&&(loader=propertiesMap.modules.get("value")),!loader||Array.isArray(loader)))return;let dynamicImports=[],dynamicKeys=[];if(propertiesMap.ssr){let ssr=propertiesMap.ssr.get("value"),nodePath=Array.isArray(ssr)?void 0:ssr;nodePath&&nodePath.node.type==="BooleanLiteral"&&nodePath.node.value===!1&&loader&&(_a=state.file.opts.caller)!=null&&_a.isServer&&loader.replaceWith(t.arrowFunctionExpression([],t.nullLiteral(),!0))}if(loader.traverse({Import(importPath){var _a2;let importArguments=importPath.parentPath.get("arguments");if(!Array.isArray(importArguments))return;let{node}=importArguments[0];dynamicImports.push(node),dynamicKeys.push(t.binaryExpression("+",t.stringLiteral(`${(_a2=state.file.opts.caller)!=null&&_a2.pagesDir?(0,import_path2.relative)(state.file.opts.caller.pagesDir,state.file.opts.filename):state.file.opts.filename} -> `),node))}}),!!dynamicImports.length&&(options.node.properties.push(t.objectProperty(t.identifier("loadableGenerated"),t.objectExpression((_b=state.file.opts.caller)!=null&&_b.isDev||(_c=state.file.opts.caller)!=null&&_c.isServer?[t.objectProperty(t.identifier("modules"),t.arrayExpression(dynamicKeys))]:[t.objectProperty(t.identifier("webpack"),t.arrowFunctionExpression([],t.arrayExpression(dynamicImports.map(dynamicImport=>t.callExpression(t.memberExpression(t.identifier("require"),t.identifier("resolveWeak")),[dynamicImport])))))]))),loader.isCallExpression())){let arrowFunction=t.arrowFunctionExpression([],loader.node);loader.replaceWith(arrowFunction)}})}}}}var import_path2,init_react_loadable_plugin=__esm({"src/babel/plugins/react-loadable-plugin.ts"(){"use strict";import_path2=require("path")}});var amp_attributes_exports={};__export(amp_attributes_exports,{default:()=>AmpAttributePatcher});function AmpAttributePatcher(){return{visitor:{JSXOpeningElement(path2){let openingElement=path2.node,{name,attributes}=openingElement;if(name&&name.type==="JSXIdentifier"&&name.name.startsWith("amp-"))for(let attribute of attributes)attribute.type==="JSXAttribute"&&attribute.name.name==="className"&&(attribute.name.name="class")}}}}var init_amp_attributes=__esm({"src/babel/plugins/amp-attributes.ts"(){"use strict"}});var preset_exports={};__export(preset_exports,{addons:()=>addons,babel:()=>babel,config:()=>config,core:()=>core,frameworkOptions:()=>frameworkOptions,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_path4=require("path"),import_core=require("@babel/core"),import_core_common=require("@storybook/core-common");var import_semver=__toESM(require("semver")),import_webpack2=require("webpack");var import_path=__toESM(require("path")),import_webpack=require("webpack"),import_constants=require("next/constants"),import_find_up=__toESM(require("find-up")),import_fs_extra=require("fs-extra"),import_node_url=require("url"),configureRuntimeNextjsVersionResolution=baseConfig=>{var _a;(_a=baseConfig.plugins)==null||_a.push(new import_webpack.DefinePlugin({"process.env.__NEXT_VERSION":JSON.stringify(getNextjsVersion())}))},getNextjsVersion=()=>require(scopedResolve("next/package.json")).version,findNextConfigFile=async configDir=>["mjs","js"].reduce(async(acc,ext)=>(await acc||(acc=(0,import_find_up.default)(`next.config.${ext}`,{cwd:configDir})),acc),Promise.resolve(void 0)),resolveNextConfig=async({baseConfig={},nextConfigPath,configDir})=>{let nextConfigFile=nextConfigPath||await findNextConfigFile(configDir);if(!nextConfigFile||await(0,import_fs_extra.pathExists)(nextConfigFile)===!1)return{};let nextConfigExport=await import((0,import_node_url.pathToFileURL)(nextConfigFile).href),nextConfig=typeof nextConfigExport=="function"?nextConfigExport(import_constants.PHASE_DEVELOPMENT_SERVER,{defaultConfig:baseConfig}):nextConfigExport;return nextConfig.default||nextConfig},addScopedAlias=(baseConfig,name,alias)=>{baseConfig.resolve??={},baseConfig.resolve.alias??={};let aliasConfig=baseConfig.resolve.alias,scopedAlias=scopedResolve(`${alias??name}`);Array.isArray(aliasConfig)?aliasConfig.push({name,alias:scopedAlias}):aliasConfig[name]=scopedAlias},scopedResolve=id=>{let scopedModulePath;try{scopedModulePath=require.resolve(id,{paths:[import_path.default.resolve()]})}catch{scopedModulePath=require.resolve(id)}let beginningOfMainScriptPath=scopedModulePath.lastIndexOf(id.replace(/\//g,import_path.default.sep))+id.length;return scopedModulePath.substring(0,beginningOfMainScriptPath)};var configureConfig=async({baseConfig,nextConfigPath,configDir})=>{let nextConfig=await resolveNextConfig({baseConfig,nextConfigPath,configDir});return addScopedAlias(baseConfig,"next/config"),setupRuntimeConfig(baseConfig,nextConfig),nextConfig},version=getNextjsVersion(),setupRuntimeConfig=(baseConfig,nextConfig)=>{var _a,_b;let definePluginConfig={"process.env.__NEXT_RUNTIME_CONFIG":JSON.stringify({serverRuntimeConfig:{},publicRuntimeConfig:nextConfig.publicRuntimeConfig})},newNextLinkBehavior=(_a=nextConfig.experimental)==null?void 0:_a.newNextLinkBehavior;import_semver.default.gte(version,"13.0.0")&&import_semver.default.lt(version,"13.0.6")&&newNextLinkBehavior!==!1?definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=!0:definePluginConfig["process.env.__NEXT_NEW_LINK_BEHAVIOR"]=newNextLinkBehavior,(_b=baseConfig.plugins)==null||_b.push(new import_webpack2.DefinePlugin(definePluginConfig))};var import_getCssModuleLocalIdent=require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent"),import_file_resolve=require("next/dist/build/webpack/config/blocks/css/loaders/file-resolve"),import_semver2=__toESM(require("semver"));var configureCss=(baseConfig,nextConfig)=>{var _a,_b,_c;let rules=(_a=baseConfig.module)==null?void 0:_a.rules;rules==null||rules.forEach((rule,i)=>{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")]})}),rules==null||rules.push({test:/\.(scss|sass)$/,use:[require.resolve("style-loader"),{loader:require.resolve("css-loader"),options:{importLoaders:3,...getImportAndUrlCssLoaderOptions(nextConfig),modules:{auto:!0,getLocalIdent:import_getCssModuleLocalIdent.getCssModuleLocalIdent}}},require.resolve("postcss-loader"),require.resolve("resolve-url-loader"),{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:nextConfig.sassOptions,additionalData:((_b=nextConfig.sassOptions)==null?void 0:_b.prependData)||((_c=nextConfig.sassOptions)==null?void 0:_c.additionalData)}}]})},getImportAndUrlCssLoaderOptions=nextConfig=>isCssLoaderV6()?{url:{filter:getUrlResolver(nextConfig)},import:{filter:getImportResolver(nextConfig)}}:{url:getUrlResolver(nextConfig),import:getImportResolver(nextConfig)},getUrlResolver=nextConfig=>(url,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},getImportResolver=nextConfig=>(url,_,resourcePath)=>{var _a;return(0,import_file_resolve.cssFileResolve)(typeof url=="string"?url:url.url,resourcePath,(_a=nextConfig.experimental)==null?void 0:_a.urlImports)},isCssLoaderV6=()=>{try{let cssLoaderVersion=require(scopedResolve("css-loader/package.json")).version;return import_semver2.default.gte(cssLoaderVersion,"6.0.0")}catch{return!1}};var import_tsconfig_paths_webpack_plugin=__toESM(require("tsconfig-paths-webpack-plugin")),import_tsconfig_paths=require("tsconfig-paths"),configureImports=({baseConfig,configDir})=>{let configLoadResult=(0,import_tsconfig_paths.loadConfig)(configDir);configLoadResult.resultType==="failed"||!configLoadResult.baseUrl||(baseConfig.resolve??={},baseConfig.resolve.plugins??=[],baseConfig.resolve.plugins.push(new import_tsconfig_paths_webpack_plugin.default({configFile:configLoadResult.configFileAbsolutePath,extensions:[".js",".jsx",".ts",".tsx"]})))};var import_semver3=__toESM(require("semver"));var configureRouting=baseConfig=>{let routerContextPath=getRouterContextPath();addScopedAlias(baseConfig,routerContextPath)},getRouterContextPath=()=>{let version2=getNextjsVersion();return import_semver3.default.gte(version2,"11.1.0")?"next/dist/shared/lib/router-context":"next/dist/next-server/lib/router-context"};var import_semver4=__toESM(require("semver"));var configureStyledJsx=baseConfig=>{let version2=getNextjsVersion();import_semver4.default.gte(version2,"12.0.0")?addScopedAlias(baseConfig,"styled-jsx"):(addScopedAlias(baseConfig,"styled-jsx/babel"),addScopedAlias(baseConfig,"styled-jsx/css"),addScopedAlias(baseConfig,"styled-jsx/macro"),addScopedAlias(baseConfig,"styled-jsx/server"),addScopedAlias(baseConfig,"styled-jsx/style"),addScopedAlias(baseConfig,"styled-jsx/webpack"))};var import_semver5=__toESM(require("semver"));var configureImages=baseConfig=>{configureStaticImageImport(baseConfig),addScopedAlias(baseConfig,"next/image")},configureStaticImageImport=baseConfig=>{var _a,_b,_c;let version2=getNextjsVersion();if(import_semver5.default.lt(version2,"11.0.0"))return;let rules=(_a=baseConfig.module)==null?void 0:_a.rules,assetRule=rules==null?void 0:rules.find(rule=>typeof rule!="string"&&rule.test instanceof RegExp&&rule.test.test("test.jpg"));assetRule&&(assetRule.test=/\.(apng|eot|otf|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:{not:/\.(css|scss|sass)$/},use:[{loader:require.resolve("@storybook/nextjs/next-image-loader-stub.js"),options:{filename:(_b=assetRule.generator)==null?void 0:_b.filename}}]}),rules==null||rules.push({test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp|svg)$/i,issuer:/\.(css|scss|sass)$/,type:"asset/resource",generator:{filename:(_c=assetRule.generator)==null?void 0:_c.filename}}))};var import_semver6=__toESM(require("semver")),import_webpack3=require("webpack");function configureNextImport(baseConfig){let nextJSVersion=getNextjsVersion(),isNext12=import_semver6.default.satisfies(nextJSVersion,"~12"),isNext13=import_semver6.default.satisfies(nextJSVersion,"~13"),isNextVersionSmallerThan12dot2=import_semver6.default.lt(nextJSVersion,"12.2.0"),isNextVersionSmallerThan13=import_semver6.default.lt(nextJSVersion,"13.0.0");baseConfig.plugins=baseConfig.plugins??[],isNext13||baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/legacy\/image$/})),(!isNext12||isNextVersionSmallerThan12dot2)&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/future\/image$/})),isNextVersionSmallerThan13&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/dist\/shared\/lib\/hooks-client-context$/})),isNextVersionSmallerThan12dot2&&baseConfig.plugins.push(new import_webpack3.IgnorePlugin({resourceRegExp:/next\/dist\/shared\/lib\/app-router-context$/}))}function convertNodeToJSON(types,node){if(types.isBooleanLiteral(node)||types.isStringLiteral(node)||types.isNumericLiteral(node))return node.value;if(!(node.name==="undefined"&&!node.value))return types.isNullLiteral(node)?null:types.isObjectExpression(node)?computeProps(types,node.properties):types.isArrayExpression(node)?node.elements.reduce((acc,element)=>[...acc,...(element==null?void 0:element.type)==="SpreadElement"?convertNodeToJSON(types,element.argument):[convertNodeToJSON(types,element)]],[]):{}}function computeProps(types,props){return props.reduce((acc,prop)=>{if(prop.type==="SpreadElement")return{...acc,...convertNodeToJSON(types,prop.argument)};if(prop.type!=="ObjectMethod"){let val=convertNodeToJSON(types,prop.value);if(val!==void 0&&types.isIdentifier(prop.key))return{...acc,[prop.key.name]:val}}return acc},{})}function isDefined(value){return value!==void 0}function removeTransformedVariableDeclarations(path2,types,metas){path2.parentPath.traverse({ExportNamedDeclaration(declaratorPath){var _a;(_a=declaratorPath.parentPath)!=null&&_a.isProgram()&&metas.forEach(meta=>{types.isVariableDeclaration(declaratorPath.node.declaration)&&declaratorPath.node.declaration.declarations.length===1&&types.isVariableDeclarator(declaratorPath.node.declaration.declarations[0])&&types.isIdentifier(declaratorPath.node.declaration.declarations[0].id)&&meta.identifierName===declaratorPath.node.declaration.declarations[0].id.name&&declaratorPath.replaceWith(types.exportNamedDeclaration(null,[types.exportSpecifier(types.identifier(meta.identifierName),types.identifier(meta.identifierName))]))})},VariableDeclarator(declaratorPath){var _a;(_a=declaratorPath.parentPath.parentPath)!=null&&_a.isProgram()&&metas.some(meta=>types.isIdentifier(declaratorPath.node.id)&&meta.identifierName===declaratorPath.node.id.name)&&declaratorPath.remove()}})}function replaceImportWithParamterImport(path2,types,source,metas,filename){path2.replaceWithMultiple([...metas.map(meta=>types.importDeclaration([types.importDefaultSpecifier(types.identifier(meta.identifierName))],types.stringLiteral(`storybook-nextjs-font-loader?${JSON.stringify({source:source.value,props:meta.properties,fontFamily:meta.functionName,filename})}!${source.value}`)))])}function getVariableMetasBySpecifier(program,types,specifier){return program.node.body.map(statement=>{if(!types.isVariableDeclaration(statement)&&!types.isExportNamedDeclaration(statement))return;let exportedNamedDeclaration=!types.isVariableDeclaration(statement)&&types.isVariableDeclaration(statement.declaration)&&statement.declaration.declarations.length===1?statement.declaration.declarations[0]:null,declaration=types.isVariableDeclaration(statement)?statement.declarations[0]:exportedNamedDeclaration;if(!declaration||!types.isIdentifier(declaration.id)||!types.isCallExpression(declaration.init)||(!types.isIdentifier(declaration.init.callee)||specifier.type!=="ImportSpecifier"||specifier.imported.type!=="Identifier"||declaration.init.callee.name!==specifier.imported.name)&&(!types.isIdentifier(declaration.init.callee)||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{identifierName,properties,functionName}}).filter(isDefined)}function TransformFontImports({types}){return{name:"storybook-nextjs-font-imports",visitor:{ImportDeclaration(path2,state){let{node}=path2,{source}=node,{filename=""}=state;if(source.value==="next/font/local"||source.value==="@next/font/local"){let{specifiers}=node,specifier=specifiers[0];if(!path2.parentPath.isProgram())return;let program=path2.parentPath,variableMetas=getVariableMetasBySpecifier(program,types,specifier);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}if(source.value==="next/font/google"||source.value==="@next/font/google"){let{specifiers}=node,variableMetas=specifiers.flatMap(specifier=>{if(!path2.parentPath.isProgram())return[];let program=path2.parentPath;return getVariableMetasBySpecifier(program,types,specifier)}).filter(isDefined);removeTransformedVariableDeclarations(path2,types,variableMetas),replaceImportWithParamterImport(path2,types,source,variableMetas,filename)}}}}}function configureNextFont(baseConfig){var _a;baseConfig.plugins=[...baseConfig.plugins||[]],baseConfig.resolveLoader={...baseConfig.resolveLoader,alias:{...(_a=baseConfig.resolveLoader)==null?void 0:_a.alias,"storybook-nextjs-font-loader":require.resolve("./font/webpack/loader/storybook-nextjs-font-loader")}}}var import_path3=require("path"),isLoadIntentTest=process.env.NODE_ENV==="test",isLoadIntentDevelopment=process.env.NODE_ENV==="development";function styledJsxOptions(options){return options=options||{},options.styleModule="styled-jsx/style",Array.isArray(options.plugins)&&(options.plugins=options.plugins.map(plugin=>{if(Array.isArray(plugin)){let[name,pluginOptions]=plugin;return[require.resolve(name),pluginOptions]}return require.resolve(plugin)})),options}function supportsStaticESM(caller){return!!(caller!=null&&caller.supportsStaticESM)}var preset_default=(api,options={})=>{var _a,_b;let supportsESM=api.caller(supportsStaticESM),isServer=api.caller(caller=>!!caller&&caller.isServer),isCallerDevelopment=api.caller(caller=>caller==null?void 0:caller.isDev),isTest=isCallerDevelopment==null&&isLoadIntentTest,isDevelopment=isCallerDevelopment===!0||isCallerDevelopment==null&&isLoadIntentDevelopment,isBabelLoader=api.caller(caller=>!!caller&&(caller.name==="babel-loader"||caller.name==="next-babel-turbo-loader")),useJsxRuntime=((_a=options["preset-react"])==null?void 0:_a.runtime)==="automatic"||!!api.caller(caller=>!!caller&&caller.hasJsxRuntime)&&((_b=options["preset-react"])==null?void 0:_b.runtime)!=="classic",presetEnvConfig={modules:"auto",exclude:["transform-typeof-symbol"],...options["preset-env"]};return(isServer||isTest)&&(!presetEnvConfig.targets||!(typeof presetEnvConfig.targets=="object"&&"node"in presetEnvConfig.targets))&&(presetEnvConfig.targets={node:process.versions.node}),{sourceType:"unambiguous",presets:[[require("@babel/preset-env"),presetEnvConfig],[require("@babel/preset-react"),{development:isDevelopment||isTest,...useJsxRuntime?{runtime:"automatic"}:{pragma:"__jsx"},...options["preset-react"]}],[require("@babel/preset-typescript"),{allowNamespaces:!0,...options["preset-typescript"]}]],plugins:[!useJsxRuntime&&[(init_jsx_pragma(),__toCommonJS(jsx_pragma_exports)),{module:"react",importAs:"React",pragma:"__jsx",property:"createElement"}],[(init_optimize_hook_destructuring(),__toCommonJS(optimize_hook_destructuring_exports)),{lib:!0}],require("@babel/plugin-syntax-dynamic-import"),require("@babel/plugin-syntax-import-assertions"),(init_react_loadable_plugin(),__toCommonJS(react_loadable_plugin_exports)),[require("@babel/plugin-proposal-class-properties"),options["class-properties"]||{}],[require("@babel/plugin-proposal-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_path3.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-proposal-numeric-separator"),require("@babel/plugin-proposal-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 addons=[(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/preset-react-webpack","package.json"))),(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/builder-webpack5","package.json")))],defaultFrameworkOptions={},frameworkOptions=async(_,options)=>{let config2=await options.presets.apply("framework");return typeof config2=="string"?{name:config2,options:defaultFrameworkOptions}:typeof config2>"u"?{name:require.resolve("@storybook/nextjs"),options:defaultFrameworkOptions}:{name:config2.name,options:{...defaultFrameworkOptions,...config2.options}}},core=async(config2,options)=>{let framework=await options.presets.apply("framework");return{...config2,builder:{name:(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/builder-webpack5","package.json"))),options:typeof framework=="string"?{}:framework.options.builder||{}},renderer:(0,import_path4.dirname)(require.resolve((0,import_path4.join)("@storybook/react","package.json")))}},config=(entry=[])=>[...entry,require.resolve("@storybook/nextjs/preview.js")],babel=async baseConfig=>{var _a,_b,_c;let configPartial=(0,import_core.loadPartialConfig)({...baseConfig,filename:`${(0,import_core_common.getProjectRoot)()}/__fake__.js`}),options=configPartial==null?void 0:configPartial.options,isPresetConfigItem=preset=>typeof preset=="object"&&preset!==null&&"file"in preset,isNextBabelConfig=preset=>{var _a2;return Array.isArray(preset)&&preset[0]==="next/babel"||preset==="next/babel"||isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)==="next/babel"},hasNextBabelConfig=(_a=options==null?void 0:options.presets)==null?void 0:_a.find(isNextBabelConfig),presets=((_b=options==null?void 0:options.presets)==null?void 0:_b.filter(preset=>{var _a2;return!(isPresetConfigItem(preset)&&((_a2=preset.file)==null?void 0:_a2.request)===require.resolve("@babel/preset-react")||isNextBabelConfig(preset))}))??[];hasNextBabelConfig?Array.isArray(hasNextBabelConfig)&&hasNextBabelConfig[1]?presets.push([preset_default,hasNextBabelConfig[1]]):isPresetConfigItem(hasNextBabelConfig)&&((_c=hasNextBabelConfig.file)==null?void 0:_c.request)==="next/babel"?presets.push([preset_default,hasNextBabelConfig.options]):presets.push(preset_default):presets.push(preset_default);let plugins=[...(options==null?void 0:options.plugins)??[],TransformFontImports];return{...options,plugins,presets,babelrc:!1,configFile:!1}},webpackFinal=async(baseConfig,options)=>{let frameworkOptions2=await options.presets.apply("frameworkOptions"),{options:{nextConfigPath}={}}=frameworkOptions2,nextConfig=await configureConfig({baseConfig,nextConfigPath,configDir:options.configDir});return configureNextFont(baseConfig),configureNextImport(baseConfig),configureRuntimeNextjsVersionResolution(baseConfig),configureImports({baseConfig,configDir:options.configDir}),configureCss(baseConfig,nextConfig),configureImages(baseConfig),configureRouting(baseConfig),configureStyledJsx(baseConfig),configureNodePolyfills(baseConfig),baseConfig};0&&(module.exports={addons,babel,config,core,frameworkOptions,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,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"));var import_react=require("react"),ImageContext=(0,import_react.createContext)({});var ImageDecorator=(Story,{parameters:parameters2})=>{var _a;return(_a=parameters2.nextjs)!=null&&_a.image?React.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React.createElement(Story,null)):React.createElement(Story,null)};var React4=__toESM(require("react"));var import_react2=__toESM(require("react")),AppRouterContext,LayoutRouterContext,PathnameContext,SearchParamsContext;try{AppRouterContext=require("next/dist/shared/lib/app-router-context").AppRouterContext,LayoutRouterContext=require("next/dist/shared/lib/app-router-context").LayoutRouterContext,PathnameContext=require("next/dist/shared/lib/hooks-client-context").PathnameContext,SearchParamsContext=require("next/dist/shared/lib/hooks-client-context").SearchParamsContext}catch{AppRouterContext=import_react2.default.Fragment,LayoutRouterContext=import_react2.default.Fragment,PathnameContext=import_react2.default.Fragment,SearchParamsContext=import_react2.default.Fragment}var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action:action2,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams;return import_react2.default.createElement(AppRouterContext.Provider,{value:{push(...args){action2("nextNavigation.push")(...args)},replace(...args){action2("nextNavigation.replace")(...args)},forward(...args){action2("nextNavigation.forward")(...args)},back(...args){action2("nextNavigation.back")(...args)},prefetch(...args){action2("nextNavigation.prefetch")(...args)},refresh:()=>{action2("nextNavigation.refresh")()},...restRouteParams}},import_react2.default.createElement(SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react2.default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree:[pathname,{children:getParallelRoutes([...segments])}],url:pathname,headRenderedAboveThisLevel:!0}},import_react2.default.createElement(PathnameContext.Provider,{value:pathname},children))))},app_router_provider_default=AppRouterProvider;var import_router_context=require("next/dist/shared/lib/router-context"),import_react3=__toESM(require("react")),PageRouterProvider=({children,action:action2,routeParams,globals})=>import_react3.default.createElement(import_router_context.RouterContext.Provider,{value:{push(...args){return action2("nextRouter.push")(...args),Promise.resolve(!0)},replace(...args){return action2("nextRouter.replace")(...args),Promise.resolve(!0)},reload(...args){action2("nextRouter.reload")(...args)},back(...args){action2("nextRouter.back")(...args)},forward(){action2("nextRouter.forward")()},prefetch(...args){return action2("nextRouter.prefetch")(...args),Promise.resolve()},beforePopState(...args){action2("nextRouter.beforePopState")(...args)},events:{on(...args){action2("nextRouter.events.on")(...args)},off(...args){action2("nextRouter.events.off")(...args)},emit(...args){action2("nextRouter.events.emit")(...args)}},locale:globals==null?void 0:globals.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children),page_router_provider_default=PageRouterProvider;var action;try{action=require("@storybook/addon-actions").action}catch{action=()=>()=>{}}var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>{var _a,_b,_c;return((_a=parameters2.nextjs)==null?void 0:_a.appDirectory)??!1?React4.createElement(app_router_provider_default,{action,routeParams:{...defaultRouterParams,...(_b=parameters2.nextjs)==null?void 0:_b.navigation}},React4.createElement(Story,null)):React4.createElement(page_router_provider_default,{action,globals,routeParams:{...defaultRouterParams,...(_c=parameters2.nextjs)==null?void 0:_c.router}},React4.createElement(Story,null))};var React5=__toESM(require("react")),StyleRegistry;try{StyleRegistry=require("styled-jsx").StyleRegistry}catch{StyleRegistry=React5.Fragment}var StyledJsxDecorator=Story=>React5.createElement(StyleRegistry,null,React5.createElement(Story,null));var React6=__toESM(require("react")),import_semver=__toESM(require("semver"));var defaultLoader=({src,width,quality})=>{let missingValues=[];if(src||missingValues.push("src"),width||missingValues.push("width"),missingValues.length>0)throw new Error(`Next Image Optimization requires ${missingValues.join(", ")} to be provided. Make sure you pass them as props to the \`next/image\` component. Received: ${JSON.stringify({src,width,quality})}`);return`${src}?w=${width}&q=${quality??75}`},NextImage=require("next/image"),OriginalNextImage=NextImage.default;Object.defineProperty(NextImage,"default",{configurable:!0,value:props=>{let imageParameters=React6.useContext(ImageContext);return React6.createElement(OriginalNextImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});if(import_semver.default.satisfies(process.env.__NEXT_VERSION,"^13.0.0")){let OriginalNextLegacyImage=require("next/legacy/image").default;Object.defineProperty(OriginalNextLegacyImage,"default",{configurable:!0,value:props=>{let imageParameters=React6.useContext(ImageContext);return React6.createElement(OriginalNextLegacyImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}})}if(import_semver.default.satisfies(process.env.__NEXT_VERSION,"^12.2.0")){let OriginalNextFutureImage=require("next/future/image").default;Object.defineProperty(OriginalNextFutureImage,"default",{configurable:!0,value:props=>{let imageParameters=React6.useContext(ImageContext);return React6.createElement(OriginalNextFutureImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}})}var React8=__toESM(require("react"));var import_react4=__toESM(require("react")),import_head_manager_context=require("next/dist/shared/lib/head-manager-context"),import_head_manager=__toESM(require("next/dist/client/head-manager")),HeadManagerProvider=({children})=>{let headManager=(0,import_react4.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react4.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React8.createElement(head_manager_provider_default,null,React8.createElement(Story,null));function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta)}addNextHeadCount();var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],parameters={docs:{source:{excludeDecorators:!0}}};0&&(module.exports={decorators,parameters});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_exports={};__export(preview_exports,{decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(preview_exports);var import_config=require("next/config");(0,import_config.setConfig)(process.env.__NEXT_RUNTIME_CONFIG);var React=__toESM(require("react"));var import_react=require("react"),ImageContext=(0,import_react.createContext)({});var ImageDecorator=(Story,{parameters:parameters2})=>{var _a;return(_a=parameters2.nextjs)!=null&&_a.image?React.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React.createElement(Story,null)):React.createElement(Story,null)};var React4=__toESM(require("react"));var import_react2=__toESM(require("react")),AppRouterContext,LayoutRouterContext,PathnameContext,SearchParamsContext,GlobalLayoutRouterContext;try{AppRouterContext=require("next/dist/shared/lib/app-router-context").AppRouterContext,LayoutRouterContext=require("next/dist/shared/lib/app-router-context").LayoutRouterContext,PathnameContext=require("next/dist/shared/lib/hooks-client-context").PathnameContext,SearchParamsContext=require("next/dist/shared/lib/hooks-client-context").SearchParamsContext,GlobalLayoutRouterContext=require("next/dist/shared/lib/app-router-context").GlobalLayoutRouterContext}catch{AppRouterContext=import_react2.default.Fragment,LayoutRouterContext=import_react2.default.Fragment,PathnameContext=import_react2.default.Fragment,SearchParamsContext=import_react2.default.Fragment,GlobalLayoutRouterContext=import_react2.default.Fragment}var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action:action2,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}];return import_react2.default.createElement(PathnameContext.Provider,{value:pathname},import_react2.default.createElement(SearchParamsContext.Provider,{value:new URLSearchParams(query)},import_react2.default.createElement(GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree]},nextUrl:pathname}},import_react2.default.createElement(AppRouterContext.Provider,{value:{push(...args){action2("nextNavigation.push")(...args)},replace(...args){action2("nextNavigation.replace")(...args)},forward(...args){action2("nextNavigation.forward")(...args)},back(...args){action2("nextNavigation.back")(...args)},prefetch(...args){action2("nextNavigation.prefetch")(...args)},refresh:()=>{action2("nextNavigation.refresh")()},...restRouteParams}},import_react2.default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))},app_router_provider_default=AppRouterProvider;var import_router_context=require("next/dist/shared/lib/router-context"),import_react3=__toESM(require("react")),PageRouterProvider=({children,action:action2,routeParams,globals})=>import_react3.default.createElement(import_router_context.RouterContext.Provider,{value:{push(...args){return action2("nextRouter.push")(...args),Promise.resolve(!0)},replace(...args){return action2("nextRouter.replace")(...args),Promise.resolve(!0)},reload(...args){action2("nextRouter.reload")(...args)},back(...args){action2("nextRouter.back")(...args)},forward(){action2("nextRouter.forward")()},prefetch(...args){return action2("nextRouter.prefetch")(...args),Promise.resolve()},beforePopState(...args){action2("nextRouter.beforePopState")(...args)},events:{on(...args){action2("nextRouter.events.on")(...args)},off(...args){action2("nextRouter.events.off")(...args)},emit(...args){action2("nextRouter.events.emit")(...args)}},locale:globals==null?void 0:globals.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children),page_router_provider_default=PageRouterProvider;var action;try{action=require("@storybook/addon-actions").action}catch{action=()=>()=>{}}var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>{var _a,_b,_c;return((_a=parameters2.nextjs)==null?void 0:_a.appDirectory)??!1?React4.createElement(app_router_provider_default,{action,routeParams:{...defaultRouterParams,...(_b=parameters2.nextjs)==null?void 0:_b.navigation}},React4.createElement(Story,null)):React4.createElement(page_router_provider_default,{action,globals,routeParams:{...defaultRouterParams,...(_c=parameters2.nextjs)==null?void 0:_c.router}},React4.createElement(Story,null))};var React5=__toESM(require("react")),StyleRegistry;try{StyleRegistry=require("styled-jsx").StyleRegistry}catch{StyleRegistry=React5.Fragment}var StyledJsxDecorator=Story=>React5.createElement(StyleRegistry,null,React5.createElement(Story,null));var React6=__toESM(require("react")),import_semver=__toESM(require("semver"));var defaultLoader=({src,width,quality})=>{let missingValues=[];if(src||missingValues.push("src"),width||missingValues.push("width"),missingValues.length>0)throw new Error(`Next Image Optimization requires ${missingValues.join(", ")} to be provided. Make sure you pass them as props to the \`next/image\` component. Received: ${JSON.stringify({src,width,quality})}`);return`${src}?w=${width}&q=${quality??75}`},NextImage=require("next/image"),OriginalNextImage=NextImage.default;Object.defineProperty(NextImage,"default",{configurable:!0,value:props=>{let imageParameters=React6.useContext(ImageContext);return React6.createElement(OriginalNextImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});if(import_semver.default.satisfies(process.env.__NEXT_VERSION,"^13.0.0")){let OriginalNextLegacyImage=require("next/legacy/image").default;Object.defineProperty(OriginalNextLegacyImage,"default",{configurable:!0,value:props=>{let imageParameters=React6.useContext(ImageContext);return React6.createElement(OriginalNextLegacyImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}})}if(import_semver.default.satisfies(process.env.__NEXT_VERSION,"^12.2.0")){let OriginalNextFutureImage=require("next/future/image").default;Object.defineProperty(OriginalNextFutureImage,"default",{configurable:!0,value:props=>{let imageParameters=React6.useContext(ImageContext);return React6.createElement(OriginalNextFutureImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}})}var React8=__toESM(require("react"));var import_react4=__toESM(require("react")),import_head_manager_context=require("next/dist/shared/lib/head-manager-context"),import_head_manager=__toESM(require("next/dist/client/head-manager")),HeadManagerProvider=({children})=>{let headManager=(0,import_react4.useMemo)(import_head_manager.default,[]);return headManager.getIsSsr=()=>!1,import_react4.default.createElement(import_head_manager_context.HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React8.createElement(head_manager_provider_default,null,React8.createElement(Story,null));function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta)}addNextHeadCount();var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],parameters={docs:{source:{excludeDecorators:!0}}};0&&(module.exports={decorators,parameters});
package/dist/preview.mjs CHANGED
@@ -7,6 +7,6 @@ import semver from 'semver';
7
7
  import { HeadManagerContext } from 'next/dist/shared/lib/head-manager-context';
8
8
  import initHeadManager from 'next/dist/client/head-manager';
9
9
 
10
- setConfig(process.env.__NEXT_RUNTIME_CONFIG);var ImageContext=createContext({});var ImageDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.image?React2.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React2.createElement(Story,null)):React2.createElement(Story,null);var AppRouterContext,LayoutRouterContext,PathnameContext,SearchParamsContext;try{AppRouterContext=__require("next/dist/shared/lib/app-router-context").AppRouterContext,LayoutRouterContext=__require("next/dist/shared/lib/app-router-context").LayoutRouterContext,PathnameContext=__require("next/dist/shared/lib/hooks-client-context").PathnameContext,SearchParamsContext=__require("next/dist/shared/lib/hooks-client-context").SearchParamsContext;}catch{AppRouterContext=React2__default.Fragment,LayoutRouterContext=React2__default.Fragment,PathnameContext=React2__default.Fragment,SearchParamsContext=React2__default.Fragment;}var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action:action2,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams;return React2__default.createElement(AppRouterContext.Provider,{value:{push(...args){action2("nextNavigation.push")(...args);},replace(...args){action2("nextNavigation.replace")(...args);},forward(...args){action2("nextNavigation.forward")(...args);},back(...args){action2("nextNavigation.back")(...args);},prefetch(...args){action2("nextNavigation.prefetch")(...args);},refresh:()=>{action2("nextNavigation.refresh")();},...restRouteParams}},React2__default.createElement(SearchParamsContext.Provider,{value:new URLSearchParams(query)},React2__default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree:[pathname,{children:getParallelRoutes([...segments])}],url:pathname,headRenderedAboveThisLevel:!0}},React2__default.createElement(PathnameContext.Provider,{value:pathname},children))))},app_router_provider_default=AppRouterProvider;var PageRouterProvider=({children,action:action2,routeParams,globals})=>React2__default.createElement(RouterContext.Provider,{value:{push(...args){return action2("nextRouter.push")(...args),Promise.resolve(!0)},replace(...args){return action2("nextRouter.replace")(...args),Promise.resolve(!0)},reload(...args){action2("nextRouter.reload")(...args);},back(...args){action2("nextRouter.back")(...args);},forward(){action2("nextRouter.forward")();},prefetch(...args){return action2("nextRouter.prefetch")(...args),Promise.resolve()},beforePopState(...args){action2("nextRouter.beforePopState")(...args);},events:{on(...args){action2("nextRouter.events.on")(...args);},off(...args){action2("nextRouter.events.off")(...args);},emit(...args){action2("nextRouter.events.emit")(...args);}},locale:globals?.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children),page_router_provider_default=PageRouterProvider;var action;try{action=__require("@storybook/addon-actions").action;}catch{action=()=>()=>{};}var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?React2.createElement(app_router_provider_default,{action,routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React2.createElement(Story,null)):React2.createElement(page_router_provider_default,{action,globals,routeParams:{...defaultRouterParams,...parameters2.nextjs?.router}},React2.createElement(Story,null));var StyleRegistry;try{StyleRegistry=__require("styled-jsx").StyleRegistry;}catch{StyleRegistry=React2.Fragment;}var StyledJsxDecorator=Story=>React2.createElement(StyleRegistry,null,React2.createElement(Story,null));var defaultLoader=({src,width,quality})=>{let missingValues=[];if(src||missingValues.push("src"),width||missingValues.push("width"),missingValues.length>0)throw new Error(`Next Image Optimization requires ${missingValues.join(", ")} to be provided. Make sure you pass them as props to the \`next/image\` component. Received: ${JSON.stringify({src,width,quality})}`);return `${src}?w=${width}&q=${quality??75}`},NextImage=__require("next/image"),OriginalNextImage=NextImage.default;Object.defineProperty(NextImage,"default",{configurable:!0,value:props=>{let imageParameters=React2.useContext(ImageContext);return React2.createElement(OriginalNextImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});if(semver.satisfies(process.env.__NEXT_VERSION,"^13.0.0")){let OriginalNextLegacyImage=__require("next/legacy/image").default;Object.defineProperty(OriginalNextLegacyImage,"default",{configurable:!0,value:props=>{let imageParameters=React2.useContext(ImageContext);return React2.createElement(OriginalNextLegacyImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});}if(semver.satisfies(process.env.__NEXT_VERSION,"^12.2.0")){let OriginalNextFutureImage=__require("next/future/image").default;Object.defineProperty(OriginalNextFutureImage,"default",{configurable:!0,value:props=>{let imageParameters=React2.useContext(ImageContext);return React2.createElement(OriginalNextFutureImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});}var HeadManagerProvider=({children})=>{let headManager=useMemo(initHeadManager,[]);return headManager.getIsSsr=()=>!1,React2__default.createElement(HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React2.createElement(head_manager_provider_default,null,React2.createElement(Story,null));function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta);}addNextHeadCount();var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],parameters={docs:{source:{excludeDecorators:!0}}};
10
+ setConfig(process.env.__NEXT_RUNTIME_CONFIG);var ImageContext=createContext({});var ImageDecorator=(Story,{parameters:parameters2})=>parameters2.nextjs?.image?React2.createElement(ImageContext.Provider,{value:parameters2.nextjs.image},React2.createElement(Story,null)):React2.createElement(Story,null);var AppRouterContext,LayoutRouterContext,PathnameContext,SearchParamsContext,GlobalLayoutRouterContext;try{AppRouterContext=__require("next/dist/shared/lib/app-router-context").AppRouterContext,LayoutRouterContext=__require("next/dist/shared/lib/app-router-context").LayoutRouterContext,PathnameContext=__require("next/dist/shared/lib/hooks-client-context").PathnameContext,SearchParamsContext=__require("next/dist/shared/lib/hooks-client-context").SearchParamsContext,GlobalLayoutRouterContext=__require("next/dist/shared/lib/app-router-context").GlobalLayoutRouterContext;}catch{AppRouterContext=React2__default.Fragment,LayoutRouterContext=React2__default.Fragment,PathnameContext=React2__default.Fragment,SearchParamsContext=React2__default.Fragment,GlobalLayoutRouterContext=React2__default.Fragment;}var getParallelRoutes=segmentsList=>{let segment=segmentsList.shift();return segment?[segment,{children:getParallelRoutes(segmentsList)}]:[]},AppRouterProvider=({children,action:action2,routeParams})=>{let{pathname,query,segments=[],...restRouteParams}=routeParams,tree=[pathname,{children:getParallelRoutes([...segments])}];return React2__default.createElement(PathnameContext.Provider,{value:pathname},React2__default.createElement(SearchParamsContext.Provider,{value:new URLSearchParams(query)},React2__default.createElement(GlobalLayoutRouterContext.Provider,{value:{changeByServerResponse(){},tree,focusAndScrollRef:{apply:!1,hashFragment:null,segmentPaths:[tree]},nextUrl:pathname}},React2__default.createElement(AppRouterContext.Provider,{value:{push(...args){action2("nextNavigation.push")(...args);},replace(...args){action2("nextNavigation.replace")(...args);},forward(...args){action2("nextNavigation.forward")(...args);},back(...args){action2("nextNavigation.back")(...args);},prefetch(...args){action2("nextNavigation.prefetch")(...args);},refresh:()=>{action2("nextNavigation.refresh")();},...restRouteParams}},React2__default.createElement(LayoutRouterContext.Provider,{value:{childNodes:new Map,tree,url:pathname}},children)))))},app_router_provider_default=AppRouterProvider;var PageRouterProvider=({children,action:action2,routeParams,globals})=>React2__default.createElement(RouterContext.Provider,{value:{push(...args){return action2("nextRouter.push")(...args),Promise.resolve(!0)},replace(...args){return action2("nextRouter.replace")(...args),Promise.resolve(!0)},reload(...args){action2("nextRouter.reload")(...args);},back(...args){action2("nextRouter.back")(...args);},forward(){action2("nextRouter.forward")();},prefetch(...args){return action2("nextRouter.prefetch")(...args),Promise.resolve()},beforePopState(...args){action2("nextRouter.beforePopState")(...args);},events:{on(...args){action2("nextRouter.events.on")(...args);},off(...args){action2("nextRouter.events.off")(...args);},emit(...args){action2("nextRouter.events.emit")(...args);}},locale:globals?.locale,route:"/",asPath:"/",basePath:"/",isFallback:!1,isLocaleDomain:!1,isReady:!0,isPreview:!1,...routeParams}},children),page_router_provider_default=PageRouterProvider;var action;try{action=__require("@storybook/addon-actions").action;}catch{action=()=>()=>{};}var defaultRouterParams={pathname:"/",query:{}},RouterDecorator=(Story,{globals,parameters:parameters2})=>parameters2.nextjs?.appDirectory??!1?React2.createElement(app_router_provider_default,{action,routeParams:{...defaultRouterParams,...parameters2.nextjs?.navigation}},React2.createElement(Story,null)):React2.createElement(page_router_provider_default,{action,globals,routeParams:{...defaultRouterParams,...parameters2.nextjs?.router}},React2.createElement(Story,null));var StyleRegistry;try{StyleRegistry=__require("styled-jsx").StyleRegistry;}catch{StyleRegistry=React2.Fragment;}var StyledJsxDecorator=Story=>React2.createElement(StyleRegistry,null,React2.createElement(Story,null));var defaultLoader=({src,width,quality})=>{let missingValues=[];if(src||missingValues.push("src"),width||missingValues.push("width"),missingValues.length>0)throw new Error(`Next Image Optimization requires ${missingValues.join(", ")} to be provided. Make sure you pass them as props to the \`next/image\` component. Received: ${JSON.stringify({src,width,quality})}`);return `${src}?w=${width}&q=${quality??75}`},NextImage=__require("next/image"),OriginalNextImage=NextImage.default;Object.defineProperty(NextImage,"default",{configurable:!0,value:props=>{let imageParameters=React2.useContext(ImageContext);return React2.createElement(OriginalNextImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});if(semver.satisfies(process.env.__NEXT_VERSION,"^13.0.0")){let OriginalNextLegacyImage=__require("next/legacy/image").default;Object.defineProperty(OriginalNextLegacyImage,"default",{configurable:!0,value:props=>{let imageParameters=React2.useContext(ImageContext);return React2.createElement(OriginalNextLegacyImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});}if(semver.satisfies(process.env.__NEXT_VERSION,"^12.2.0")){let OriginalNextFutureImage=__require("next/future/image").default;Object.defineProperty(OriginalNextFutureImage,"default",{configurable:!0,value:props=>{let imageParameters=React2.useContext(ImageContext);return React2.createElement(OriginalNextFutureImage,{...imageParameters,...props,loader:props.loader??defaultLoader})}});}var HeadManagerProvider=({children})=>{let headManager=useMemo(initHeadManager,[]);return headManager.getIsSsr=()=>!1,React2__default.createElement(HeadManagerContext.Provider,{value:headManager},children)},head_manager_provider_default=HeadManagerProvider;var HeadManagerDecorator=Story=>React2.createElement(head_manager_provider_default,null,React2.createElement(Story,null));function addNextHeadCount(){let meta=document.createElement("meta");meta.name="next-head-count",meta.content="0",document.head.appendChild(meta);}addNextHeadCount();var decorators=[StyledJsxDecorator,ImageDecorator,RouterDecorator,HeadManagerDecorator],parameters={docs:{source:{excludeDecorators:!0}}};
11
11
 
12
12
  export { decorators, parameters };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/nextjs",
3
- "version": "7.1.0-alpha.35",
3
+ "version": "7.1.0-alpha.37",
4
4
  "description": "Storybook for Next.js",
5
5
  "keywords": [
6
6
  "storybook",
@@ -70,13 +70,13 @@
70
70
  "@babel/preset-react": "^7.22.0",
71
71
  "@babel/preset-typescript": "^7.21.0",
72
72
  "@babel/runtime": "^7.22.0",
73
- "@storybook/addon-actions": "7.1.0-alpha.35",
74
- "@storybook/builder-webpack5": "7.1.0-alpha.35",
75
- "@storybook/core-common": "7.1.0-alpha.35",
76
- "@storybook/node-logger": "7.1.0-alpha.35",
77
- "@storybook/preset-react-webpack": "7.1.0-alpha.35",
78
- "@storybook/preview-api": "7.1.0-alpha.35",
79
- "@storybook/react": "7.1.0-alpha.35",
73
+ "@storybook/addon-actions": "7.1.0-alpha.37",
74
+ "@storybook/builder-webpack5": "7.1.0-alpha.37",
75
+ "@storybook/core-common": "7.1.0-alpha.37",
76
+ "@storybook/node-logger": "7.1.0-alpha.37",
77
+ "@storybook/preset-react-webpack": "7.1.0-alpha.37",
78
+ "@storybook/preview-api": "7.1.0-alpha.37",
79
+ "@storybook/react": "7.1.0-alpha.37",
80
80
  "@types/node": "^16.0.0",
81
81
  "css-loader": "^6.7.3",
82
82
  "find-up": "^5.0.0",
@@ -147,5 +147,5 @@
147
147
  ],
148
148
  "platform": "node"
149
149
  },
150
- "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae16"
150
+ "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17"
151
151
  }
@@ -2,6 +2,7 @@ import {
2
2
  useRouter,
3
3
  usePathname,
4
4
  useSearchParams,
5
+ useParams,
5
6
  useSelectedLayoutSegment,
6
7
  useSelectedLayoutSegments,
7
8
  } from 'next/navigation';
@@ -11,6 +12,7 @@ function Component() {
11
12
  const router = useRouter();
12
13
  const pathname = usePathname();
13
14
  const searchParams = useSearchParams();
15
+ const params = useParams();
14
16
  const segment = useSelectedLayoutSegment();
15
17
  const segments = useSelectedLayoutSegments();
16
18
 
@@ -58,6 +60,16 @@ function Component() {
58
60
  ))}
59
61
  </ul>
60
62
  </div>
63
+ <div>
64
+ params:{' '}
65
+ <ul>
66
+ {Object.entries(params).map(([key, value]) => (
67
+ <li key={key}>
68
+ {key}: {value}
69
+ </li>
70
+ ))}
71
+ </ul>
72
+ </div>
61
73
  {routerActions.map(({ cb, name }) => (
62
74
  <div key={name} style={{ marginBottom: '1em' }}>
63
75
  <button type="button" onClick={cb}>
@@ -96,3 +108,17 @@ export const WithSegmentDefined = {
96
108
  },
97
109
  },
98
110
  };
111
+
112
+ export const WithSegmentDefinedForParams = {
113
+ parameters: {
114
+ nextjs: {
115
+ appDirectory: true,
116
+ navigation: {
117
+ segments: [
118
+ ['slug', 'hello'],
119
+ ['framework', 'nextjs'],
120
+ ],
121
+ },
122
+ },
123
+ },
124
+ };