@storybook/addon-onboarding 8.2.0-alpha.5 → 8.2.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/preset.js +4 -4
  2. package/package.json +12 -12
package/dist/preset.js CHANGED
@@ -198,7 +198,7 @@ More info: ${page}
198
198
 
199
199
  "npx storybook@latest upgrade"
200
200
  `}},UpgradeStorybookToSameVersionError=class extends StorybookError{constructor(data){super(),this.data=data,this.category="CLI_UPGRADE",this.code=4;}template(){return import_ts_dedent.default`
201
- You are trying to upgrade Storybook to the same version that is currently installed in the project, version ${this.data.beforeVersion}. This is not supported.
201
+ You are upgrading Storybook to the same version that is currently installed in the project, version ${this.data.beforeVersion}.
202
202
 
203
203
  This usually happens when running the upgrade command without a version specifier, e.g. "npx storybook upgrade".
204
204
  This will cause npm to run the globally cached storybook binary, which might be the same version that you already have.
@@ -528,12 +528,12 @@ ${rootStack}`,err}}}}});var require_lib20=__commonJS({"../../node_modules/@babel
528
528
  CSF: unexpected dynamic title ${formatLocation2(node,this._fileName)}
529
529
 
530
530
  More info: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#string-literal-titles
531
- `)}_parseMeta(declaration,program){let meta={};declaration.properties.forEach(p7=>{if(t25.isIdentifier(p7.key)){if(this._metaAnnotations[p7.key.name]=p7.value,p7.key.name==="title")meta.title=this._parseTitle(p7.value);else if(["includeStories","excludeStories"].includes(p7.key.name))meta[p7.key.name]=parseIncludeExclude(p7.value);else if(p7.key.name==="component"){let{code}=recast2.print(p7.value,{});meta.component=code;}else if(p7.key.name==="tags"){let node=p7.value;t25.isIdentifier(node)&&(node=findVarInitialization(node.name,this._ast.program)),meta.tags=parseTags(node);}else if(p7.key.name==="id")if(t25.isStringLiteral(p7.value))meta.id=p7.value.value;else throw new Error(`Unexpected component id: ${p7.value}`)}}),this._meta=meta;}getStoryExport(key2){let node=this._storyExports[key2];if(node=t25.isVariableDeclarator(node)?node.init:node,t25.isCallExpression(node)){let{callee,arguments:bindArguments}=node;if(t25.isMemberExpression(callee)&&t25.isIdentifier(callee.object)&&t25.isIdentifier(callee.property)&&callee.property.name==="bind"&&(bindArguments.length===0||bindArguments.length===1&&t25.isObjectExpression(bindArguments[0])&&bindArguments[0].properties.length===0)){let{name}=callee.object;node=this._templates[name];}}return node}parse(){let self2=this;if(traverse.default(this._ast,{ExportDefaultDeclaration:{enter({node,parent}){let metaNode,isVariableReference=t25.isIdentifier(node.declaration)&&t25.isProgram(parent),decl;if(isVariableReference){let variableName=node.declaration.name,isVariableDeclarator6=declaration=>t25.isIdentifier(declaration.id)&&declaration.id.name===variableName;self2._metaStatement=self2._ast.program.body.find(topLevelNode=>t25.isVariableDeclaration(topLevelNode)&&topLevelNode.declarations.find(isVariableDeclarator6)),decl=(self2?._metaStatement?.declarations||[]).find(isVariableDeclarator6)?.init;}else self2._metaStatement=node,decl=node.declaration;if(t25.isObjectExpression(decl)?metaNode=decl:(t25.isTSAsExpression(decl)||t25.isTSSatisfiesExpression(decl))&&t25.isObjectExpression(decl.expression)&&(metaNode=decl.expression),!self2._meta&&metaNode&&t25.isProgram(parent)&&(self2._metaNode=metaNode,self2._parseMeta(metaNode,parent)),self2._metaStatement&&!self2._metaNode)throw new NoMetaError("default export must be an object",self2._metaStatement,self2._fileName)}},ExportNamedDeclaration:{enter({node,parent}){let declarations;t25.isVariableDeclaration(node.declaration)?declarations=node.declaration.declarations.filter(d7=>t25.isVariableDeclarator(d7)):t25.isFunctionDeclaration(node.declaration)&&(declarations=[node.declaration]),declarations?declarations.forEach(decl=>{if(t25.isIdentifier(decl.id)){let{name:exportName}=decl.id;if(exportName==="__namedExportsOrder"&&t25.isVariableDeclarator(decl)){self2._namedExportsOrder=parseExportsOrder(decl.init);return}self2._storyExports[exportName]=decl,self2._storyStatements[exportName]=node;let name=(0, import_csf.storyNameFromExport)(exportName);self2._storyAnnotations[exportName]?logger.warn(`Unexpected annotations for "${exportName}" before story declaration`):self2._storyAnnotations[exportName]={};let storyNode;t25.isVariableDeclarator(decl)?storyNode=t25.isTSAsExpression(decl.init)||t25.isTSSatisfiesExpression(decl.init)?decl.init.expression:decl.init:storyNode=decl;let parameters={};t25.isObjectExpression(storyNode)?(parameters.__isArgsStory=!0,storyNode.properties.forEach(p7=>{if(t25.isIdentifier(p7.key)){if(p7.key.name==="render")parameters.__isArgsStory=isArgsStory(p7.value,parent,self2);else if(p7.key.name==="name"&&t25.isStringLiteral(p7.value))name=p7.value.value;else if(p7.key.name==="storyName"&&t25.isStringLiteral(p7.value))logger.warn(`Unexpected usage of "storyName" in "${exportName}". Please use "name" instead.`);else if(p7.key.name==="parameters"&&t25.isObjectExpression(p7.value)){let idProperty=p7.value.properties.find(property=>t25.isObjectProperty(property)&&t25.isIdentifier(property.key)&&property.key.name==="__id");idProperty&&(parameters.__id=idProperty.value.value);}self2._storyAnnotations[exportName][p7.key.name]=p7.value;}})):parameters.__isArgsStory=isArgsStory(storyNode,parent,self2),self2._stories[exportName]={id:"FIXME",name,parameters};}}):node.specifiers.length>0&&node.specifiers.forEach(specifier=>{if(t25.isExportSpecifier(specifier)&&t25.isIdentifier(specifier.exported)){let{name:exportName}=specifier.exported;if(exportName==="default"){let metaNode,decl=t25.isProgram(parent)?findVarInitialization(specifier.local.name,parent):specifier.local;t25.isObjectExpression(decl)?metaNode=decl:t25.isTSAsExpression(decl)&&t25.isObjectExpression(decl.expression)&&(metaNode=decl.expression),!self2._meta&&metaNode&&t25.isProgram(parent)&&self2._parseMeta(metaNode,parent);}else self2._storyAnnotations[exportName]={},self2._stories[exportName]={id:"FIXME",name:exportName,parameters:{}};}});}},ExpressionStatement:{enter({node,parent}){let{expression}=node;if(t25.isProgram(parent)&&t25.isAssignmentExpression(expression)&&t25.isMemberExpression(expression.left)&&t25.isIdentifier(expression.left.object)&&t25.isIdentifier(expression.left.property)){let exportName=expression.left.object.name,annotationKey=expression.left.property.name,annotationValue=expression.right;if(self2._storyAnnotations[exportName]&&(annotationKey==="story"&&t25.isObjectExpression(annotationValue)?annotationValue.properties.forEach(prop=>{t25.isIdentifier(prop.key)&&(self2._storyAnnotations[exportName][prop.key.name]=prop.value);}):self2._storyAnnotations[exportName][annotationKey]=annotationValue),annotationKey==="storyName"&&t25.isStringLiteral(annotationValue)){let storyName=annotationValue.value,story=self2._stories[exportName];if(!story)return;story.name=storyName;}}}},CallExpression:{enter({node}){let{callee}=node;if(t25.isIdentifier(callee)&&callee.name==="storiesOf")throw new Error(import_ts_dedent.dedent`
531
+ `)}_parseMeta(declaration,program){let meta={};declaration.properties.forEach(p7=>{if(t25.isIdentifier(p7.key)){if(this._metaAnnotations[p7.key.name]=p7.value,p7.key.name==="title")meta.title=this._parseTitle(p7.value);else if(["includeStories","excludeStories"].includes(p7.key.name))meta[p7.key.name]=parseIncludeExclude(p7.value);else if(p7.key.name==="component"){let n=p7.value;if(t25.isIdentifier(n)){let id2=n.name,importStmt=program.body.find(stmt=>t25.isImportDeclaration(stmt)&&stmt.specifiers.find(spec=>spec.local.name===id2));if(importStmt){let{source:source2}=importStmt;t25.isStringLiteral(source2)&&(this._rawComponentPath=source2.value);}}let{code}=recast2.print(p7.value,{});meta.component=code;}else if(p7.key.name==="tags"){let node=p7.value;t25.isIdentifier(node)&&(node=findVarInitialization(node.name,this._ast.program)),meta.tags=parseTags(node);}else if(p7.key.name==="id")if(t25.isStringLiteral(p7.value))meta.id=p7.value.value;else throw new Error(`Unexpected component id: ${p7.value}`)}}),this._meta=meta;}getStoryExport(key2){let node=this._storyExports[key2];if(node=t25.isVariableDeclarator(node)?node.init:node,t25.isCallExpression(node)){let{callee,arguments:bindArguments}=node;if(t25.isMemberExpression(callee)&&t25.isIdentifier(callee.object)&&t25.isIdentifier(callee.property)&&callee.property.name==="bind"&&(bindArguments.length===0||bindArguments.length===1&&t25.isObjectExpression(bindArguments[0])&&bindArguments[0].properties.length===0)){let{name}=callee.object;node=this._templates[name];}}return node}parse(){let self2=this;if(traverse.default(this._ast,{ExportDefaultDeclaration:{enter({node,parent}){let metaNode,isVariableReference=t25.isIdentifier(node.declaration)&&t25.isProgram(parent),decl;if(isVariableReference){let variableName=node.declaration.name,isVariableDeclarator6=declaration=>t25.isIdentifier(declaration.id)&&declaration.id.name===variableName;self2._metaStatement=self2._ast.program.body.find(topLevelNode=>t25.isVariableDeclaration(topLevelNode)&&topLevelNode.declarations.find(isVariableDeclarator6)),decl=(self2?._metaStatement?.declarations||[]).find(isVariableDeclarator6)?.init;}else self2._metaStatement=node,decl=node.declaration;if(t25.isObjectExpression(decl)?metaNode=decl:(t25.isTSAsExpression(decl)||t25.isTSSatisfiesExpression(decl))&&t25.isObjectExpression(decl.expression)&&(metaNode=decl.expression),!self2._meta&&metaNode&&t25.isProgram(parent)&&(self2._metaNode=metaNode,self2._parseMeta(metaNode,parent)),self2._metaStatement&&!self2._metaNode)throw new NoMetaError("default export must be an object",self2._metaStatement,self2._fileName)}},ExportNamedDeclaration:{enter({node,parent}){let declarations;t25.isVariableDeclaration(node.declaration)?declarations=node.declaration.declarations.filter(d7=>t25.isVariableDeclarator(d7)):t25.isFunctionDeclaration(node.declaration)&&(declarations=[node.declaration]),declarations?declarations.forEach(decl=>{if(t25.isIdentifier(decl.id)){let{name:exportName}=decl.id;if(exportName==="__namedExportsOrder"&&t25.isVariableDeclarator(decl)){self2._namedExportsOrder=parseExportsOrder(decl.init);return}self2._storyExports[exportName]=decl,self2._storyStatements[exportName]=node;let name=(0, import_csf.storyNameFromExport)(exportName);self2._storyAnnotations[exportName]?logger.warn(`Unexpected annotations for "${exportName}" before story declaration`):self2._storyAnnotations[exportName]={};let storyNode;t25.isVariableDeclarator(decl)?storyNode=t25.isTSAsExpression(decl.init)||t25.isTSSatisfiesExpression(decl.init)?decl.init.expression:decl.init:storyNode=decl;let parameters={};t25.isObjectExpression(storyNode)?(parameters.__isArgsStory=!0,storyNode.properties.forEach(p7=>{if(t25.isIdentifier(p7.key)){if(p7.key.name==="render")parameters.__isArgsStory=isArgsStory(p7.value,parent,self2);else if(p7.key.name==="name"&&t25.isStringLiteral(p7.value))name=p7.value.value;else if(p7.key.name==="storyName"&&t25.isStringLiteral(p7.value))logger.warn(`Unexpected usage of "storyName" in "${exportName}". Please use "name" instead.`);else if(p7.key.name==="parameters"&&t25.isObjectExpression(p7.value)){let idProperty=p7.value.properties.find(property=>t25.isObjectProperty(property)&&t25.isIdentifier(property.key)&&property.key.name==="__id");idProperty&&(parameters.__id=idProperty.value.value);}self2._storyAnnotations[exportName][p7.key.name]=p7.value;}})):parameters.__isArgsStory=isArgsStory(storyNode,parent,self2),self2._stories[exportName]={id:"FIXME",name,parameters};}}):node.specifiers.length>0&&node.specifiers.forEach(specifier=>{if(t25.isExportSpecifier(specifier)&&t25.isIdentifier(specifier.exported)){let{name:exportName}=specifier.exported;if(exportName==="default"){let metaNode,decl=t25.isProgram(parent)?findVarInitialization(specifier.local.name,parent):specifier.local;t25.isObjectExpression(decl)?metaNode=decl:t25.isTSAsExpression(decl)&&t25.isObjectExpression(decl.expression)&&(metaNode=decl.expression),!self2._meta&&metaNode&&t25.isProgram(parent)&&self2._parseMeta(metaNode,parent);}else self2._storyAnnotations[exportName]={},self2._stories[exportName]={id:"FIXME",name:exportName,parameters:{}};}});}},ExpressionStatement:{enter({node,parent}){let{expression}=node;if(t25.isProgram(parent)&&t25.isAssignmentExpression(expression)&&t25.isMemberExpression(expression.left)&&t25.isIdentifier(expression.left.object)&&t25.isIdentifier(expression.left.property)){let exportName=expression.left.object.name,annotationKey=expression.left.property.name,annotationValue=expression.right;if(self2._storyAnnotations[exportName]&&(annotationKey==="story"&&t25.isObjectExpression(annotationValue)?annotationValue.properties.forEach(prop=>{t25.isIdentifier(prop.key)&&(self2._storyAnnotations[exportName][prop.key.name]=prop.value);}):self2._storyAnnotations[exportName][annotationKey]=annotationValue),annotationKey==="storyName"&&t25.isStringLiteral(annotationValue)){let storyName=annotationValue.value,story=self2._stories[exportName];if(!story)return;story.name=storyName;}}}},CallExpression:{enter({node}){let{callee}=node;if(t25.isIdentifier(callee)&&callee.name==="storiesOf")throw new Error(import_ts_dedent.dedent`
532
532
  Unexpected \`storiesOf\` usage: ${formatLocation2(node,self2._fileName)}.
533
533
 
534
534
  SB8 does not support \`storiesOf\`.
535
535
  `)}},ImportDeclaration:{enter({node}){let{source:source2}=node;if(t25.isStringLiteral(source2))self2.imports.push(source2.value);else throw new Error("CSF: unexpected import source")}}}),!self2._meta)throw new NoMetaError("missing default export",self2._ast,self2._fileName);let entries=Object.entries(self2._stories);if(self2._meta.title=this._makeTitle(self2._meta?.title),self2._metaAnnotations.play&&(self2._meta.tags=[...self2._meta.tags||[],"play-fn"]),self2._stories=entries.reduce((acc,[key2,story])=>{if(!(0, import_csf.isExportStory)(key2,self2._meta))return acc;let id2=story.parameters?.__id??(0, import_csf.toId)(self2._meta?.id||self2._meta?.title,(0, import_csf.storyNameFromExport)(key2)),parameters={...story.parameters,__id:id2},{includeStories}=self2._meta||{};key2==="__page"&&(entries.length===1||Array.isArray(includeStories)&&includeStories.length===1)&&(parameters.docsOnly=!0),acc[key2]={...story,id:id2,parameters};let{tags,play}=self2._storyAnnotations[key2];if(tags){let node=t25.isIdentifier(tags)?findVarInitialization(tags.name,this._ast.program):tags;acc[key2].tags=parseTags(node);}return play&&(acc[key2].tags=[...acc[key2].tags||[],"play-fn"]),acc},{}),Object.keys(self2._storyExports).forEach(key2=>{(0, import_csf.isExportStory)(key2,self2._meta)||(delete self2._storyExports[key2],delete self2._storyAnnotations[key2]);}),self2._namedExportsOrder){let unsortedExports=Object.keys(self2._storyExports);self2._storyExports=sortExports(self2._storyExports,self2._namedExportsOrder),self2._stories=sortExports(self2._stories,self2._namedExportsOrder);let sortedExports=Object.keys(self2._storyExports);if(unsortedExports.length!==sortedExports.length)throw new Error(`Missing exports after sort: ${unsortedExports.filter(key2=>!sortedExports.includes(key2))}`)}return self2}get meta(){return this._meta}get stories(){return Object.values(this._stories)}get indexInputs(){if(!this._fileName)throw new Error(import_ts_dedent.dedent`Cannot automatically create index inputs with CsfFile.indexInputs because the CsfFile instance was created without a the fileName option.
536
- Either add the fileName option when creating the CsfFile instance, or create the index inputs manually.`);return Object.entries(this._stories).map(([exportName,story])=>{let tags=[...this._meta?.tags??[],...story.tags??[]];return {type:"story",importPath:this._fileName,exportName,name:story.name,title:this.meta?.title,metaId:this.meta?.id,tags,__id:story.id}})}},loadCsf=(code,options9)=>{let ast=babelParse(code);return new CsfFile(ast,options9)},formatCsf=(csf,options9={sourceMaps:!1},code)=>{let result=generate.default(csf._ast,options9,code);return options9.sourceMaps?result:result.code},printCsf=(csf,options9={})=>recast2.print(csf._ast,options9),readCsf=async(fileName,options9)=>{let code=(await import_fs_extra.default.readFile(fileName,"utf-8")).toString();return loadCsf(code,{...options9,fileName})},writeCsf=async(csf,fileName)=>{if(!(fileName||csf._fileName))throw new Error("Please specify a fileName for writeCsf");await import_fs_extra.default.writeFile(fileName,printCsf(csf).code);},import_fs_extra2=__toESM4(require_lib6()),import_ts_dedent2=__toESM4((init_esm(),__toCommonJS(esm_exports))),t32=__toESM4(require_lib13()),generate2=__toESM4(require_lib14()),traverse2=__toESM4(require_lib22()),recast3=__toESM4(require_main6()),logger2=console,getCsfParsingErrorMessage=({expectedType,foundType,node})=>{let nodeInfo="";if(node)try{nodeInfo=JSON.stringify(node);}catch{}return import_ts_dedent2.default`
536
+ Either add the fileName option when creating the CsfFile instance, or create the index inputs manually.`);return Object.entries(this._stories).map(([exportName,story])=>{let tags=[...this._meta?.tags??[],...story.tags??[]];return {type:"story",importPath:this._fileName,rawComponentPath:this._rawComponentPath,exportName,name:story.name,title:this.meta?.title,metaId:this.meta?.id,tags,__id:story.id}})}},loadCsf=(code,options9)=>{let ast=babelParse(code);return new CsfFile(ast,options9)},formatCsf=(csf,options9={sourceMaps:!1},code)=>{let result=generate.default(csf._ast,options9,code);return options9.sourceMaps?result:result.code},printCsf=(csf,options9={})=>recast2.print(csf._ast,options9),readCsf=async(fileName,options9)=>{let code=(await import_fs_extra.default.readFile(fileName,"utf-8")).toString();return loadCsf(code,{...options9,fileName})},writeCsf=async(csf,fileName)=>{if(!(fileName||csf._fileName))throw new Error("Please specify a fileName for writeCsf");await import_fs_extra.default.writeFile(fileName,printCsf(csf).code);},import_fs_extra2=__toESM4(require_lib6()),import_ts_dedent2=__toESM4((init_esm(),__toCommonJS(esm_exports))),t32=__toESM4(require_lib13()),generate2=__toESM4(require_lib14()),traverse2=__toESM4(require_lib22()),recast3=__toESM4(require_main6()),logger2=console,getCsfParsingErrorMessage=({expectedType,foundType,node})=>{let nodeInfo="";if(node)try{nodeInfo=JSON.stringify(node);}catch{}return import_ts_dedent2.default`
537
537
  CSF Parsing error: Expected '${expectedType}' but found '${foundType}' instead in '${node?.type}'.
538
538
  ${nodeInfo}
539
539
  `},propKey=p7=>t32.isIdentifier(p7.key)?p7.key.name:t32.isStringLiteral(p7.key)?p7.key.value:null,_getPath=(path14,node)=>{if(path14.length===0)return node;if(t32.isObjectExpression(node)){let[first,...rest]=path14,field=node.properties.find(p7=>propKey(p7)===first);if(field)return _getPath(rest,field.value)}},_getPathProperties=(path14,node)=>{if(path14.length===0){if(t32.isObjectExpression(node))return node.properties;throw new Error("Expected object expression")}if(t32.isObjectExpression(node)){let[first,...rest]=path14,field=node.properties.find(p7=>propKey(p7)===first);if(field)return rest.length===0?node.properties:_getPathProperties(rest,field.value)}},_findVarDeclarator=(identifier3,program)=>{let declarator=null,declarations=null;return program.body.find(node=>(t32.isVariableDeclaration(node)?declarations=node.declarations:t32.isExportNamedDeclaration(node)&&t32.isVariableDeclaration(node.declaration)&&(declarations=node.declaration.declarations),declarations&&declarations.find(decl=>t32.isVariableDeclarator(decl)&&t32.isIdentifier(decl.id)&&decl.id.name===identifier3?(declarator=decl,!0):!1))),declarator},_findVarInitialization=(identifier3,program)=>_findVarDeclarator(identifier3,program)?.init,_makeObjectExpression=(path14,value)=>{if(path14.length===0)return value;let[first,...rest]=path14,innerExpression=_makeObjectExpression(rest,value);return t32.objectExpression([t32.objectProperty(t32.identifier(first),innerExpression)])},_updateExportNode=(path14,expr,existing)=>{let[first,...rest]=path14,existingField=existing.properties.find(p7=>propKey(p7)===first);existingField?t32.isObjectExpression(existingField.value)&&rest.length>0?_updateExportNode(rest,expr,existingField.value):existingField.value=_makeObjectExpression(rest,expr):existing.properties.push(t32.objectProperty(t32.identifier(first),_makeObjectExpression(rest,expr)));},ConfigFile=class{constructor(ast,code,fileName){this._exports={},this._exportDecls={},this.hasDefaultExport=!1,this._ast=ast,this._code=code,this.fileName=fileName;}parse(){let self2=this;return traverse2.default(this._ast,{ExportDefaultDeclaration:{enter({node,parent}){self2.hasDefaultExport=!0;let decl=t32.isIdentifier(node.declaration)&&t32.isProgram(parent)?_findVarInitialization(node.declaration.name,parent):node.declaration;(t32.isTSAsExpression(decl)||t32.isTSSatisfiesExpression(decl))&&(decl=decl.expression),t32.isObjectExpression(decl)?(self2._exportsObject=decl,decl.properties.forEach(p7=>{let exportName=propKey(p7);if(exportName){let exportVal=p7.value;t32.isIdentifier(exportVal)&&(exportVal=_findVarInitialization(exportVal.name,parent)),self2._exports[exportName]=exportVal;}})):logger2.warn(getCsfParsingErrorMessage({expectedType:"ObjectExpression",foundType:decl?.type,node:decl||node.declaration}));}},ExportNamedDeclaration:{enter({node,parent}){t32.isVariableDeclaration(node.declaration)?node.declaration.declarations.forEach(decl=>{if(t32.isVariableDeclarator(decl)&&t32.isIdentifier(decl.id)){let{name:exportName}=decl.id,exportVal=decl.init;t32.isIdentifier(exportVal)&&(exportVal=_findVarInitialization(exportVal.name,parent)),self2._exports[exportName]=exportVal,self2._exportDecls[exportName]=decl;}}):node.specifiers?node.specifiers.forEach(spec=>{if(t32.isExportSpecifier(spec)&&t32.isIdentifier(spec.local)&&t32.isIdentifier(spec.exported)){let{name:localName}=spec.local,{name:exportName}=spec.exported,decl=_findVarDeclarator(localName,parent);self2._exports[exportName]=decl.init,self2._exportDecls[exportName]=decl;}}):logger2.warn(getCsfParsingErrorMessage({expectedType:"VariableDeclaration",foundType:node.declaration?.type,node:node.declaration}));}},ExpressionStatement:{enter({node,parent}){if(t32.isAssignmentExpression(node.expression)&&node.expression.operator==="="){let{left,right}=node.expression;if(t32.isMemberExpression(left)&&t32.isIdentifier(left.object)&&left.object.name==="module"&&t32.isIdentifier(left.property)&&left.property.name==="exports"){let exportObject=right;t32.isIdentifier(right)&&(exportObject=_findVarInitialization(right.name,parent)),(t32.isTSAsExpression(exportObject)||t32.isTSSatisfiesExpression(exportObject))&&(exportObject=exportObject.expression),t32.isObjectExpression(exportObject)?(self2._exportsObject=exportObject,exportObject.properties.forEach(p7=>{let exportName=propKey(p7);if(exportName){let exportVal=p7.value;t32.isIdentifier(exportVal)&&(exportVal=_findVarInitialization(exportVal.name,parent)),self2._exports[exportName]=exportVal;}})):logger2.warn(getCsfParsingErrorMessage({expectedType:"ObjectExpression",foundType:exportObject?.type,node:exportObject}));}}}}}),self2}getFieldNode(path14){let[root2,...rest]=path14,exported=this._exports[root2];if(exported)return _getPath(rest,exported)}getFieldProperties(path14){let[root2,...rest]=path14,exported=this._exports[root2];if(exported)return _getPathProperties(rest,exported)}getFieldValue(path14){let node=this.getFieldNode(path14);if(node){let{code}=generate2.default(node,{});return (0, eval)(`(() => (${code}))()`)}}getSafeFieldValue(path14){try{return this.getFieldValue(path14)}catch{}}setFieldNode(path14,expr){let[first,...rest]=path14,exportNode=this._exports[first];if(this._exportsObject)_updateExportNode(path14,expr,this._exportsObject),this._exports[path14[0]]=expr;else if(exportNode&&t32.isObjectExpression(exportNode)&&rest.length>0)_updateExportNode(rest,expr,exportNode);else if(exportNode&&rest.length===0&&this._exportDecls[path14[0]]){let decl=this._exportDecls[path14[0]];decl.init=_makeObjectExpression([],expr);}else {if(this.hasDefaultExport)throw new Error(`Could not set the "${path14.join(".")}" field as the default export is not an object in this file.`);{let exportObj=_makeObjectExpression(rest,expr),newExport=t32.exportNamedDeclaration(t32.variableDeclaration("const",[t32.variableDeclarator(t32.identifier(first),exportObj)]));this._exports[first]=exportObj,this._ast.program.body.push(newExport);}}}getNameFromPath(path14){let node=this.getFieldNode(path14);if(node)return this._getPresetValue(node,"name")}getNamesFromPath(path14){let node=this.getFieldNode(path14);if(!node)return;let pathNames=[];return t32.isArrayExpression(node)&&node.elements.forEach(element=>{pathNames.push(this._getPresetValue(element,"name"));}),pathNames}_getPnpWrappedValue(node){if(t32.isCallExpression(node)){let arg=node.arguments[0];if(t32.isStringLiteral(arg))return arg.value}}_getPresetValue(node,fallbackProperty){let value;if(t32.isStringLiteral(node)?value=node.value:t32.isObjectExpression(node)&&node.properties.forEach(prop=>{t32.isObjectProperty(prop)&&t32.isIdentifier(prop.key)&&prop.key.name===fallbackProperty&&(t32.isStringLiteral(prop.value)?value=prop.value.value:value=this._getPnpWrappedValue(prop.value)),t32.isObjectProperty(prop)&&t32.isStringLiteral(prop.key)&&prop.key.value==="name"&&t32.isStringLiteral(prop.value)&&(value=prop.value.value);}),!value)throw new Error(`The given node must be a string literal or an object expression with a "${fallbackProperty}" property that is a string literal.`);return value}removeField(path14){let removeProperty=(properties2,prop)=>{let index=properties2.findIndex(p7=>t32.isIdentifier(p7.key)&&p7.key.name===prop||t32.isStringLiteral(p7.key)&&p7.key.value===prop);index>=0&&properties2.splice(index,1);};if(path14.length===1){let removedRootProperty=!1;if(this._ast.program.body.forEach(node=>{if(t32.isExportNamedDeclaration(node)&&t32.isVariableDeclaration(node.declaration)){let decl=node.declaration.declarations[0];t32.isIdentifier(decl.id)&&decl.id.name===path14[0]&&(this._ast.program.body.splice(this._ast.program.body.indexOf(node),1),removedRootProperty=!0);}if(t32.isExportDefaultDeclaration(node)&&t32.isObjectExpression(node.declaration)){let properties2=node.declaration.properties;removeProperty(properties2,path14[0]),removedRootProperty=!0;}if(t32.isExpressionStatement(node)&&t32.isAssignmentExpression(node.expression)&&t32.isMemberExpression(node.expression.left)&&t32.isIdentifier(node.expression.left.object)&&node.expression.left.object.name==="module"&&t32.isIdentifier(node.expression.left.property)&&node.expression.left.property.name==="exports"&&t32.isObjectExpression(node.expression.right)){let properties2=node.expression.right.properties;removeProperty(properties2,path14[0]),removedRootProperty=!0;}}),removedRootProperty)return}let properties=this.getFieldProperties(path14);if(properties){let lastPath=path14.at(-1);removeProperty(properties,lastPath);}}appendValueToArray(path14,value){let node=this.valueToNode(value);node&&this.appendNodeToArray(path14,node);}appendNodeToArray(path14,node){let current=this.getFieldNode(path14);if(!current)this.setFieldNode(path14,t32.arrayExpression([node]));else if(t32.isArrayExpression(current))current.elements.push(node);else throw new Error(`Expected array at '${path14.join(".")}', got '${current.type}'`)}removeEntryFromArray(path14,value){let current=this.getFieldNode(path14);if(current)if(t32.isArrayExpression(current)){let index=current.elements.findIndex(element=>t32.isStringLiteral(element)?element.value===value:t32.isObjectExpression(element)?this._getPresetValue(element,"name")===value:this._getPnpWrappedValue(element)===value);if(index>=0)current.elements.splice(index,1);else throw new Error(`Could not find '${value}' in array at '${path14.join(".")}'`)}else throw new Error(`Expected array at '${path14.join(".")}', got '${current.type}'`)}_inferQuotes(){if(!this._quotes){let occurrences=(this._ast.tokens||[]).slice(0,500).reduce((acc,token2)=>(token2.type.label==="string"&&(acc[this._code[token2.start]]+=1),acc),{"'":0,'"':0});this._quotes=occurrences["'"]>occurrences['"']?"single":"double";}return this._quotes}valueToNode(value){let quotes=this._inferQuotes(),valueNode;if(quotes==="single"){let{code}=generate2.default(t32.valueToNode(value),{jsescOption:{quotes}}),program=babelParse(`const __x = ${code}`);traverse2.default(program,{VariableDeclaration:{enter({node}){node.declarations.length===1&&t32.isVariableDeclarator(node.declarations[0])&&t32.isIdentifier(node.declarations[0].id)&&node.declarations[0].id.name==="__x"&&(valueNode=node.declarations[0].init);}}});}else valueNode=t32.valueToNode(value);return valueNode}setFieldValue(path14,value){let valueNode=this.valueToNode(value);if(!valueNode)throw new Error(`Unexpected value ${JSON.stringify(value)}`);this.setFieldNode(path14,valueNode);}getBodyDeclarations(){return this._ast.program.body}setBodyDeclaration(declaration){this._ast.program.body.push(declaration);}setRequireImport(importSpecifier2,fromImport){let requireDeclaration=this._ast.program.body.find(node=>t32.isVariableDeclaration(node)&&node.declarations.length===1&&t32.isVariableDeclarator(node.declarations[0])&&t32.isCallExpression(node.declarations[0].init)&&t32.isIdentifier(node.declarations[0].init.callee)&&node.declarations[0].init.callee.name==="require"&&t32.isStringLiteral(node.declarations[0].init.arguments[0])&&node.declarations[0].init.arguments[0].value===fromImport),hasRequireSpecifier=name=>t32.isObjectPattern(requireDeclaration?.declarations[0].id)&&requireDeclaration?.declarations[0].id.properties.find(specifier=>t32.isObjectProperty(specifier)&&t32.isIdentifier(specifier.key)&&specifier.key.name===name),hasDefaultRequireSpecifier=(declaration,name)=>declaration.declarations.length===1&&t32.isVariableDeclarator(declaration.declarations[0])&&t32.isIdentifier(declaration.declarations[0].id)&&declaration.declarations[0].id.name===name;if(typeof importSpecifier2=="string"){let addDefaultRequireSpecifier=()=>{this._ast.program.body.unshift(t32.variableDeclaration("const",[t32.variableDeclarator(t32.identifier(importSpecifier2),t32.callExpression(t32.identifier("require"),[t32.stringLiteral(fromImport)]))]));};requireDeclaration&&hasDefaultRequireSpecifier(requireDeclaration,importSpecifier2)||addDefaultRequireSpecifier();}else requireDeclaration?importSpecifier2.forEach(specifier=>{hasRequireSpecifier(specifier)||requireDeclaration.declarations[0].id.properties.push(t32.objectProperty(t32.identifier(specifier),t32.identifier(specifier),void 0,!0));}):this._ast.program.body.unshift(t32.variableDeclaration("const",[t32.variableDeclarator(t32.objectPattern(importSpecifier2.map(specifier=>t32.objectProperty(t32.identifier(specifier),t32.identifier(specifier),void 0,!0))),t32.callExpression(t32.identifier("require"),[t32.stringLiteral(fromImport)]))]));}setImport(importSpecifier2,fromImport){let getNewImportSpecifier=specifier=>t32.importSpecifier(t32.identifier(specifier),t32.identifier(specifier)),hasImportSpecifier=(declaration,name)=>declaration.specifiers.find(specifier=>t32.isImportSpecifier(specifier)&&t32.isIdentifier(specifier.imported)&&specifier.imported.name===name),hasDefaultImportSpecifier=(declaration,name)=>declaration.specifiers.find(specifier=>t32.isImportDefaultSpecifier(specifier)),importDeclaration2=this._ast.program.body.find(node=>t32.isImportDeclaration(node)&&node.source.value===fromImport);typeof importSpecifier2=="string"?importDeclaration2?hasDefaultImportSpecifier(importDeclaration2)||importDeclaration2.specifiers.push(t32.importDefaultSpecifier(t32.identifier(importSpecifier2))):this._ast.program.body.unshift(t32.importDeclaration([t32.importDefaultSpecifier(t32.identifier(importSpecifier2))],t32.stringLiteral(fromImport))):importDeclaration2?importSpecifier2.forEach(specifier=>{hasImportSpecifier(importDeclaration2,specifier)||importDeclaration2.specifiers.push(getNewImportSpecifier(specifier));}):this._ast.program.body.unshift(t32.importDeclaration(importSpecifier2.map(specifier=>t32.importSpecifier(t32.identifier(specifier),t32.identifier(specifier))),t32.stringLiteral(fromImport)));}},loadConfig4=(code,fileName)=>{let ast=babelParse(code);return new ConfigFile(ast,code,fileName)},formatConfig=config=>printConfig(config).code,printConfig=(config,options9={})=>recast3.print(config._ast,options9),readConfig=async fileName=>{let code=(await import_fs_extra2.default.readFile(fileName,"utf-8")).toString();return loadConfig4(code,fileName).parse()},writeConfig=async(config,fileName)=>{let fname=fileName||config.fileName;if(!fname)throw new Error("Please specify a fileName for writeConfig");await import_fs_extra2.default.writeFile(fname,formatConfig(config));},t42=__toESM4(require_lib13()),traverse3=__toESM4(require_lib22()),generate3=__toESM4(require_lib14()),import_ts_dedent3=(init_esm(),__toCommonJS(esm_exports)),logger3=console,getValue=(obj,key2)=>{let value;return obj.properties.forEach(p7=>{t42.isIdentifier(p7.key)&&p7.key.name===key2&&(value=p7.value);}),value},parseValue=value=>{let expr=stripTSModifiers(value);if(t42.isArrayExpression(expr))return expr.elements.map(o3=>parseValue(o3));if(t42.isObjectExpression(expr))return expr.properties.reduce((acc,p7)=>(t42.isIdentifier(p7.key)&&(acc[p7.key.name]=parseValue(p7.value)),acc),{});if(t42.isLiteral(expr))return expr.value;if(t42.isIdentifier(expr))return unsupported(expr.name,!0);throw new Error(`Unknown node type ${expr.type}`)},unsupported=(unexpectedVar,isError)=>{let message=import_ts_dedent3.dedent`
@@ -1674,7 +1674,7 @@ in order for it to be formatted.`,cliCategory:"Other"},tabWidth:{type:"int",cate
1674
1674
  `),!mainConfigPath)throw new import_server_errors.MainFileMissingError({location:configDir})}function loadCustomPresets({configDir}){validateConfigurationFiles(configDir);let presets=serverRequire(import_path24.default.resolve(configDir,"presets"));if(serverRequire(import_path24.default.resolve(configDir,"main"))){let resolved=serverResolve(import_path24.default.resolve(configDir,"main"));if(resolved)return [resolved]}return presets||[]}var import_resolve_from=__toESM4(require_resolve_from()),safeResolveFrom=(path19,file)=>{try{return (0,import_resolve_from.default)(path19,file)}catch{return}},safeResolve=file=>{try{return __require.resolve(file)}catch{return}},import_path32=__toESM4(__require("path"));function normalizePath(id2){return import_path32.default.posix.normalize(slash3(id2))}function stripAbsNodeModulesPath(absPath){let splits=absPath.split(`node_modules${import_path32.default.sep}`);return normalizePath(splits[splits.length-1])}var isObject3=val=>val!=null&&typeof val=="object"&&Array.isArray(val)===!1,isFunction=val=>typeof val=="function";function filterPresetsConfig(presetsConfig){return presetsConfig.filter(preset=>{let presetName=typeof preset=="string"?preset:preset.name;return !/@storybook[\\\\/]preset-typescript/.test(presetName)})}function resolvePathToMjs(filePath){let{dir,name}=(0, import_path42.parse)(filePath),mjsPath=(0, import_path42.join)(dir,`${name}.mjs`);return safeResolve(mjsPath)?mjsPath:filePath}function resolvePresetFunction(input,presetOptions,storybookOptions){return isFunction(input)?[...input({...storybookOptions,...presetOptions})]:Array.isArray(input)?[...input]:[]}var resolveAddonName=(configDir,name,options9)=>{let resolve4=name.startsWith("/")?safeResolve:safeResolveFrom.bind(null,configDir),resolved=resolve4(name);if(resolved){let{dir:fdir,name:fname}=(0, import_path42.parse)(resolved);if(name.match(/\/(manager|register(-panel)?)(\.(js|mjs|ts|tsx|jsx))?$/))return {type:"virtual",name,managerEntries:[resolvePathToMjs((0, import_path42.join)(fdir,fname))]};if(name.match(/\/(preset)(\.(js|mjs|ts|tsx|jsx))?$/))return {type:"presets",name:resolved}}let checkExists=exportName=>{if(resolve4(`${name}${exportName}`))return `${name}${exportName}`},absolutizeExport=(exportName,preferMJS)=>{let found=resolve4(`${name}${exportName}`);if(found)return preferMJS?resolvePathToMjs(found):found},managerFile=absolutizeExport("/manager",!0),registerFile=absolutizeExport("/register",!0)||absolutizeExport("/register-panel",!0),previewFile=checkExists("/preview"),previewFileAbsolute=absolutizeExport("/preview",!0),presetFile=absolutizeExport("/preset",!1);if(!(managerFile||previewFile)&&presetFile)return {type:"presets",name:presetFile};if(managerFile||registerFile||previewFile||presetFile){let managerEntries=[];return managerFile&&managerEntries.push(managerFile),!managerFile&&registerFile&&!presetFile&&managerEntries.push(registerFile),{type:"virtual",name,...managerEntries.length?{managerEntries}:{},...previewFile?{previewAnnotations:[previewFileAbsolute?{bare:previewFile.includes("node_modules")?stripAbsNodeModulesPath(previewFile):previewFile,absolute:previewFileAbsolute}:previewFile]}:{},...presetFile?{presets:[{name:presetFile,options:options9}]}:{}}}if(resolved)return {type:"presets",name:resolved}},map2=({configDir})=>item=>{let options9=isObject3(item)&&item.options||void 0,name=isObject3(item)?item.name:item,resolved;try{resolved=resolveAddonName(configDir,name,options9);}catch{import_node_logger2.logger.error(`Addon value should end in /manager or /preview or /register OR it should be a valid preset https://storybook.js.org/docs/react/addons/writing-presets/
1675
1675
  ${item}`);return}if(!resolved){import_node_logger2.logger.warn(`Could not resolve addon "${name}", skipping. Is it installed?`);return}return {...options9?{options:options9}:{},...resolved}};async function getContent(input){if(input.type==="virtual"){let{type:type2,name:name2,...rest}=input;return rest}let name=input.name?input.name:input;return interopRequireDefault(name)}async function loadPreset(input,level,storybookOptions){let presetName=input.name?input.name:input;try{let presetOptions=input.options?input.options:{},contents=await getContent(input);if(typeof contents=="function"&&(contents=contents(storybookOptions,presetOptions)),Array.isArray(contents))return await loadPresets(contents,level+1,storybookOptions);if(isObject3(contents)){let{addons:addonsInput=[],presets:presetsInput=[],...rest}=contents,filter2=i3=>!0;storybookOptions.isCritical!==!0&&(storybookOptions.build?.test?.disabledAddons?.length||0)>0&&(filter2=i3=>{let name=i3.name?i3.name:i3;return !storybookOptions.build?.test?.disabledAddons?.find(n=>name.includes(n))});let subPresets=resolvePresetFunction(presetsInput,presetOptions,storybookOptions).filter(filter2),subAddons=resolvePresetFunction(addonsInput,presetOptions,storybookOptions).filter(filter2);return [...await loadPresets([...subPresets],level+1,storybookOptions),...await loadPresets([...subAddons.map(map2(storybookOptions))].filter(Boolean),level+1,storybookOptions),{name:presetName,preset:rest,options:presetOptions}]}throw new Error(import_ts_dedent2.dedent`
1676
1676
  ${input} is not a valid preset
1677
- `)}catch(error){if(storybookOptions?.isCritical)throw new import_server_errors2.CriticalPresetLoadError({error,presetName});let warning=level>0?` Failed to load preset: ${JSON.stringify(input)} on level ${level}`:` Failed to load preset: ${JSON.stringify(input)}`;return import_node_logger2.logger.warn(warning),import_node_logger2.logger.error(error),[]}}async function loadPresets(presets,level,storybookOptions){return !presets||!Array.isArray(presets)||!presets.length?[]:(await Promise.all(presets.map(async preset=>loadPreset(preset,level,storybookOptions)))).reduce((acc,loaded)=>acc.concat(loaded),[])}function applyPresets(presets,extension,config,args,storybookOptions){let presetResult=new Promise(res=>res(config));return presets.length?presets.reduce((accumulationPromise,{preset,options:options9})=>{let change=preset[extension];if(!change)return accumulationPromise;if(typeof change=="function"){let extensionFn=change,context={preset,combinedOptions:{...storybookOptions,...args,...options9,presetsList:presets,presets:{apply:async(ext,c8,a3={})=>applyPresets(presets,ext,c8,a3,storybookOptions)}}};return accumulationPromise.then(newConfig=>extensionFn.call(context.preset,newConfig,context.combinedOptions))}return accumulationPromise.then(newConfig=>Array.isArray(newConfig)&&Array.isArray(change)?[...newConfig,...change]:isObject3(newConfig)&&isObject3(change)?{...newConfig,...change}:change)},presetResult):presetResult}async function getPresets(presets,storybookOptions){let loadedPresets=await loadPresets(presets,0,storybookOptions);return {apply:async(extension,config,args={})=>applyPresets(loadedPresets,extension,config,args,storybookOptions)}}async function loadAllPresets(options9){let{corePresets=[],overridePresets=[],...restOptions}=options9,presetsConfig=[...corePresets,...loadCustomPresets(options9),...overridePresets],filteredPresetConfig=filterPresetsConfig(presetsConfig);return filteredPresetConfig.length<presetsConfig.length&&import_node_logger2.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),getPresets(filteredPresetConfig,restOptions)}var import_file_system_cache=__toESM4(require_lib5());function createFileSystemCache(options9){return (0, import_file_system_cache.default)(options9)}var import_path52=__toESM4(__require("path")),import_find_cache_dir=__toESM4(require_find_cache_dir());function resolvePathInStorybookCache(fileOrDirectoryName,sub="default"){let cacheDirectory=(0, import_find_cache_dir.default)({name:"storybook"});return cacheDirectory||=import_path52.default.join(process.cwd(),".cache","storybook"),import_path52.default.join(cacheDirectory,sub,fileOrDirectoryName)}var cache3=createFileSystemCache({basePath:resolvePathInStorybookCache("dev-server"),ns:"storybook"}),import_fs_extra2=require_lib6(),import_path72=__require("path"),import_path62=__toESM4(__require("path")),import_fs_extra=__toESM4(require_lib6());function getStorybookConfiguration(storybookScript,shortName,longName){if(!storybookScript)return null;let parts=storybookScript.split(/[\s='"]+/),index=parts.indexOf(longName);return index===-1&&(index=parts.indexOf(shortName)),index===-1?null:parts[index+1]}var rendererPackages={"@storybook/react":"react","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/server":"server","storybook-framework-qwik":"qwik","storybook-solidjs":"solid","@storybook/vue":"vue"},frameworkPackages={"@storybook/angular":"angular","@storybook/ember":"ember","@storybook/html-vite":"html-vite","@storybook/html-webpack5":"html-webpack5","@storybook/nextjs":"nextjs","@storybook/preact-vite":"preact-vite","@storybook/preact-webpack5":"preact-webpack5","@storybook/react-vite":"react-vite","@storybook/react-webpack5":"react-webpack5","@storybook/server-webpack5":"server-webpack5","@storybook/svelte-vite":"svelte-vite","@storybook/svelte-webpack5":"svelte-webpack5","@storybook/sveltekit":"sveltekit","@storybook/vue3-vite":"vue3-vite","@storybook/vue3-webpack5":"vue3-webpack5","@storybook/web-components-vite":"web-components-vite","@storybook/web-components-webpack5":"web-components-webpack5","storybook-framework-qwik":"qwik","storybook-solidjs-vite":"solid"},builderPackages=["@storybook/builder-webpack5","@storybook/builder-vite"],logger2=console,findDependency=({dependencies,devDependencies,peerDependencies},predicate)=>[Object.entries(dependencies||{}).find(predicate),Object.entries(devDependencies||{}).find(predicate),Object.entries(peerDependencies||{}).find(predicate)],getRendererInfo=packageJson=>{let[dep,devDep,peerDep]=findDependency(packageJson,([key2])=>rendererPackages[key2]),[pkg,version]=dep||devDep||peerDep||[];return dep&&devDep&&dep[0]===devDep[0]&&logger2.warn(`Found "${dep[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),dep&&peerDep&&dep[0]===peerDep[0]&&logger2.warn(`Found "${dep[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version,frameworkPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile2=(prefix,configDir)=>{let filePrefix=import_path62.default.join(configDir,prefix),extension=validConfigExtensions.find(ext=>import_fs_extra.default.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=(packageJson,configDir)=>{let storybookConfigDir=configDir??".storybook",storybookScript=packageJson.scripts?.storybook;if(storybookScript&&!configDir){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(storybookConfigDir=configParam);}return {configDir:storybookConfigDir,mainConfig:findConfigFile2("main",storybookConfigDir),previewConfig:findConfigFile2("preview",storybookConfigDir),managerConfig:findConfigFile2("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return {...rendererInfo,...configInfo}},versions_default={"@storybook/addon-a11y":"8.2.0-alpha.5","@storybook/addon-actions":"8.2.0-alpha.5","@storybook/addon-backgrounds":"8.2.0-alpha.5","@storybook/addon-controls":"8.2.0-alpha.5","@storybook/addon-docs":"8.2.0-alpha.5","@storybook/addon-essentials":"8.2.0-alpha.5","@storybook/addon-highlight":"8.2.0-alpha.5","@storybook/addon-interactions":"8.2.0-alpha.5","@storybook/addon-jest":"8.2.0-alpha.5","@storybook/addon-links":"8.2.0-alpha.5","@storybook/addon-mdx-gfm":"8.2.0-alpha.5","@storybook/addon-measure":"8.2.0-alpha.5","@storybook/addon-onboarding":"8.2.0-alpha.5","@storybook/addon-outline":"8.2.0-alpha.5","@storybook/addon-storysource":"8.2.0-alpha.5","@storybook/addon-themes":"8.2.0-alpha.5","@storybook/addon-toolbars":"8.2.0-alpha.5","@storybook/addon-viewport":"8.2.0-alpha.5","@storybook/angular":"8.2.0-alpha.5","@storybook/blocks":"8.2.0-alpha.5","@storybook/builder-manager":"8.2.0-alpha.5","@storybook/builder-vite":"8.2.0-alpha.5","@storybook/builder-webpack5":"8.2.0-alpha.5","@storybook/channels":"8.2.0-alpha.5","@storybook/cli":"8.2.0-alpha.5","@storybook/client-logger":"8.2.0-alpha.5","@storybook/codemod":"8.2.0-alpha.5","@storybook/components":"8.2.0-alpha.5","@storybook/core-common":"8.2.0-alpha.5","@storybook/core-events":"8.2.0-alpha.5","@storybook/core-server":"8.2.0-alpha.5","@storybook/core-webpack":"8.2.0-alpha.5","@storybook/csf-plugin":"8.2.0-alpha.5","@storybook/csf-tools":"8.2.0-alpha.5","@storybook/docs-tools":"8.2.0-alpha.5","@storybook/ember":"8.2.0-alpha.5","@storybook/html":"8.2.0-alpha.5","@storybook/html-vite":"8.2.0-alpha.5","@storybook/html-webpack5":"8.2.0-alpha.5","@storybook/instrumenter":"8.2.0-alpha.5","@storybook/manager":"8.2.0-alpha.5","@storybook/manager-api":"8.2.0-alpha.5","@storybook/nextjs":"8.2.0-alpha.5","@storybook/node-logger":"8.2.0-alpha.5","@storybook/preact":"8.2.0-alpha.5","@storybook/preact-vite":"8.2.0-alpha.5","@storybook/preact-webpack5":"8.2.0-alpha.5","@storybook/preset-create-react-app":"8.2.0-alpha.5","@storybook/preset-html-webpack":"8.2.0-alpha.5","@storybook/preset-preact-webpack":"8.2.0-alpha.5","@storybook/preset-react-webpack":"8.2.0-alpha.5","@storybook/preset-server-webpack":"8.2.0-alpha.5","@storybook/preset-svelte-webpack":"8.2.0-alpha.5","@storybook/preset-vue3-webpack":"8.2.0-alpha.5","@storybook/preview":"8.2.0-alpha.5","@storybook/preview-api":"8.2.0-alpha.5","@storybook/react":"8.2.0-alpha.5","@storybook/react-dom-shim":"8.2.0-alpha.5","@storybook/react-vite":"8.2.0-alpha.5","@storybook/react-webpack5":"8.2.0-alpha.5","@storybook/router":"8.2.0-alpha.5","@storybook/server":"8.2.0-alpha.5","@storybook/server-webpack5":"8.2.0-alpha.5","@storybook/source-loader":"8.2.0-alpha.5","@storybook/svelte":"8.2.0-alpha.5","@storybook/svelte-vite":"8.2.0-alpha.5","@storybook/svelte-webpack5":"8.2.0-alpha.5","@storybook/sveltekit":"8.2.0-alpha.5","@storybook/telemetry":"8.2.0-alpha.5","@storybook/test":"8.2.0-alpha.5","@storybook/theming":"8.2.0-alpha.5","@storybook/types":"8.2.0-alpha.5","@storybook/vue3":"8.2.0-alpha.5","@storybook/vue3-vite":"8.2.0-alpha.5","@storybook/vue3-webpack5":"8.2.0-alpha.5","@storybook/web-components":"8.2.0-alpha.5","@storybook/web-components-vite":"8.2.0-alpha.5","@storybook/web-components-webpack5":"8.2.0-alpha.5",sb:"8.2.0-alpha.5",storybook:"8.2.0-alpha.5"};function parseList(str2){return str2.split(",").map(item=>item.trim()).filter(item=>item.length>0)}async function getCoercedStorybookVersion(packageManager){return (await Promise.all(Object.keys(rendererPackages).map(async pkg=>({name:pkg,version:await packageManager.getPackageVersion(pkg)})))).filter(({version})=>!!version)[0]?.version}function getEnvConfig(program,configEnv){Object.keys(configEnv).forEach(fieldName=>{let envVarName=configEnv[fieldName],envVarValue=process.env[envVarName];envVarValue&&(program[fieldName]=envVarValue);});}var createLogStream=async(logFileName="storybook.log")=>{let finalLogPath=(0, import_path72.join)(process.cwd(),logFileName),{temporaryFile:temporaryFile2}=await init_tempy().then(()=>tempy_exports),temporaryLogPath=temporaryFile2({name:logFileName}),logStream=(0, import_fs_extra2.createWriteStream)(temporaryLogPath,{encoding:"utf8"});return new Promise((resolve4,reject)=>{logStream.once("open",()=>{resolve4({logStream,moveLogFile:async()=>(0, import_fs_extra2.move)(temporaryLogPath,finalLogPath,{overwrite:!0}),clearLogFile:async()=>(0, import_fs_extra2.writeFile)(temporaryLogPath,""),removeLogFile:async()=>(0, import_fs_extra2.remove)(temporaryLogPath),readLogFile:async()=>(0, import_fs_extra2.readFile)(temporaryLogPath,"utf8")});}),logStream.once("error",reject);})},isCorePackage=pkg=>Object.keys(versions_default).includes(pkg),import_node_logger3=require_dist4(),predicateFor=addon=>entry=>{let name=entry.name||entry;return name&&name.replaceAll(/(\\){1,2}/g,"/").includes(addon)},isCorrectOrder=(addons,before,after)=>{let essentialsIndex=addons.findIndex(predicateFor("@storybook/addon-essentials")),beforeIndex=addons.findIndex(predicateFor(before.name)),afterIndex=addons.findIndex(predicateFor(after.name));return beforeIndex===-1&&before.inEssentials&&(beforeIndex=essentialsIndex),afterIndex===-1&&after.inEssentials&&(afterIndex=essentialsIndex),beforeIndex!==-1&&afterIndex!==-1&&beforeIndex<=afterIndex},checkAddonOrder=async({before,after,configFile,getConfig})=>{try{let config=await getConfig(configFile);if(!config?.addons){import_node_logger3.logger.warn("Unable to find 'addons' config in main Storybook config");return}if(!isCorrectOrder(config.addons,before,after)){let orEssentials=" (or '@storybook/addon-essentials')",beforeText=`'${before.name}'${before.inEssentials?orEssentials:""}`,afterText=`'${after.name}'${after.inEssentials?orEssentials:""}`;import_node_logger3.logger.warn(`Expected ${beforeText} to be listed before ${afterText} in main Storybook config.`);}}catch{import_node_logger3.logger.warn(`Unable to load config file: ${configFile}`);}},import_lazy_universal_dotenv=require_lib8(),import_path82=__toESM4(__require("path")),import_find_up=__toESM4(require_find_up3()),getProjectRoot=()=>{let result;if(process.env.STORYBOOK_PROJECT_ROOT)return process.env.STORYBOOK_PROJECT_ROOT;try{let found=import_find_up.default.sync(".git",{type:"directory"});found&&(result=import_path82.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".svn",{type:"directory"});found&&(result=result||import_path82.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".hg",{type:"directory"});found&&(result=result||import_path82.default.join(found,".."));}catch{}try{let splitDirname=__dirname.split("node_modules");result=result||(splitDirname.length>=2?splitDirname[0]:void 0);}catch{}try{let found=import_find_up.default.sync(".yarn",{type:"directory"});found&&(result=result||import_path82.default.join(found,".."));}catch{}return result||process.cwd()},nodePathsToArray=nodePath=>nodePath.split(process.platform==="win32"?";":":").filter(Boolean).map(p7=>import_path82.default.resolve("./",p7)),relativePattern=/^\.{1,2}([/\\]|$)/;function normalizeStoryPath(filename){return relativePattern.test(filename)?filename:`.${import_path82.default.sep}${filename}`}function loadEnvs(options9={}){let defaultNodeEnv=options9.production?"production":"development",env3={NODE_ENV:process.env.NODE_ENV||defaultNodeEnv,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:options9.production?".":""};Object.keys(process.env).filter(name=>/^STORYBOOK_/.test(name)).forEach(name=>{env3[name]=process.env[name];});let base=Object.entries(env3).reduce((acc,[k14,v11])=>Object.assign(acc,{[k14]:JSON.stringify(v11)}),{}),{stringified,raw}=(0, import_lazy_universal_dotenv.getEnvironment)({nodeEnv:env3.NODE_ENV}),fullRaw={...env3,...raw};return fullRaw.NODE_PATH=nodePathsToArray(fullRaw.NODE_PATH||""),{stringified:{...base,...stringified},raw:fullRaw}}var stringifyEnvs=raw=>Object.entries(raw).reduce((acc,[key2,value])=>(acc[key2]=JSON.stringify(value),acc),{}),stringifyProcessEnvs=raw=>Object.entries(raw).reduce((acc,[key2,value])=>(acc[`process.env.${key2}`]=JSON.stringify(value),acc),{}),NODE_MODULES_RE=/node_modules/,commonGlobOptions=glob2=>NODE_MODULES_RE.test(glob2)?{}:{ignore:["**/node_modules/**"]},frameworkToRenderer={angular:"angular",ember:"ember","html-vite":"html","html-webpack5":"html",nextjs:"react","preact-vite":"preact","preact-webpack5":"preact",qwik:"qwik","react-vite":"react","react-webpack5":"react","server-webpack5":"server",solid:"solid","svelte-vite":"svelte","svelte-webpack5":"svelte",sveltekit:"svelte","vue3-vite":"vue3","vue3-webpack5":"vue3","web-components-vite":"web-components","web-components-webpack5":"web-components",html:"html",preact:"preact","react-native":"react-native",react:"react",server:"server",svelte:"svelte",vue3:"vue3","web-components":"web-components"};async function getBuilderOptions(options9){let framework=await options9.presets.apply("framework",{},options9);if(typeof framework!="string"&&framework?.options?.builder)return framework.options.builder;let{builder}=await options9.presets.apply("core",{},options9);return typeof builder!="string"&&builder?.options?builder.options:{}}var import_ts_dedent3=(init_esm(),__toCommonJS(esm_exports)),import_path92=__toESM4(__require("path"));function normalizePath2(p7){return import_path92.default.posix.normalize(p7.replace(/\\/g,"/"))}async function getFrameworkName(options9){let framework=await options9.presets.apply("framework","",options9);if(!framework)throw new Error(import_ts_dedent3.dedent`
1677
+ `)}catch(error){if(storybookOptions?.isCritical)throw new import_server_errors2.CriticalPresetLoadError({error,presetName});let warning=level>0?` Failed to load preset: ${JSON.stringify(input)} on level ${level}`:` Failed to load preset: ${JSON.stringify(input)}`;return import_node_logger2.logger.warn(warning),import_node_logger2.logger.error(error),[]}}async function loadPresets(presets,level,storybookOptions){return !presets||!Array.isArray(presets)||!presets.length?[]:(await Promise.all(presets.map(async preset=>loadPreset(preset,level,storybookOptions)))).reduce((acc,loaded)=>acc.concat(loaded),[])}function applyPresets(presets,extension,config,args,storybookOptions){let presetResult=new Promise(res=>res(config));return presets.length?presets.reduce((accumulationPromise,{preset,options:options9})=>{let change=preset[extension];if(!change)return accumulationPromise;if(typeof change=="function"){let extensionFn=change,context={preset,combinedOptions:{...storybookOptions,...args,...options9,presetsList:presets,presets:{apply:async(ext,c8,a3={})=>applyPresets(presets,ext,c8,a3,storybookOptions)}}};return accumulationPromise.then(newConfig=>extensionFn.call(context.preset,newConfig,context.combinedOptions))}return accumulationPromise.then(newConfig=>Array.isArray(newConfig)&&Array.isArray(change)?[...newConfig,...change]:isObject3(newConfig)&&isObject3(change)?{...newConfig,...change}:change)},presetResult):presetResult}async function getPresets(presets,storybookOptions){let loadedPresets=await loadPresets(presets,0,storybookOptions);return {apply:async(extension,config,args={})=>applyPresets(loadedPresets,extension,config,args,storybookOptions)}}async function loadAllPresets(options9){let{corePresets=[],overridePresets=[],...restOptions}=options9,presetsConfig=[...corePresets,...loadCustomPresets(options9),...overridePresets],filteredPresetConfig=filterPresetsConfig(presetsConfig);return filteredPresetConfig.length<presetsConfig.length&&import_node_logger2.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),getPresets(filteredPresetConfig,restOptions)}var import_file_system_cache=__toESM4(require_lib5());function createFileSystemCache(options9){return (0, import_file_system_cache.default)(options9)}var import_path52=__toESM4(__require("path")),import_find_cache_dir=__toESM4(require_find_cache_dir());function resolvePathInStorybookCache(fileOrDirectoryName,sub="default"){let cacheDirectory=(0, import_find_cache_dir.default)({name:"storybook"});return cacheDirectory||=import_path52.default.join(process.cwd(),".cache","storybook"),import_path52.default.join(cacheDirectory,sub,fileOrDirectoryName)}var cache3=createFileSystemCache({basePath:resolvePathInStorybookCache("dev-server"),ns:"storybook"}),import_fs_extra2=require_lib6(),import_path72=__require("path"),import_path62=__toESM4(__require("path")),import_fs_extra=__toESM4(require_lib6());function getStorybookConfiguration(storybookScript,shortName,longName){if(!storybookScript)return null;let parts=storybookScript.split(/[\s='"]+/),index=parts.indexOf(longName);return index===-1&&(index=parts.indexOf(shortName)),index===-1?null:parts[index+1]}var rendererPackages={"@storybook/react":"react","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/server":"server","storybook-framework-qwik":"qwik","storybook-solidjs":"solid","@storybook/vue":"vue"},frameworkPackages={"@storybook/angular":"angular","@storybook/ember":"ember","@storybook/html-vite":"html-vite","@storybook/html-webpack5":"html-webpack5","@storybook/nextjs":"nextjs","@storybook/preact-vite":"preact-vite","@storybook/preact-webpack5":"preact-webpack5","@storybook/react-vite":"react-vite","@storybook/react-webpack5":"react-webpack5","@storybook/server-webpack5":"server-webpack5","@storybook/svelte-vite":"svelte-vite","@storybook/svelte-webpack5":"svelte-webpack5","@storybook/sveltekit":"sveltekit","@storybook/vue3-vite":"vue3-vite","@storybook/vue3-webpack5":"vue3-webpack5","@storybook/web-components-vite":"web-components-vite","@storybook/web-components-webpack5":"web-components-webpack5","storybook-framework-qwik":"qwik","storybook-solidjs-vite":"solid"},builderPackages=["@storybook/builder-webpack5","@storybook/builder-vite"],logger2=console,findDependency=({dependencies,devDependencies,peerDependencies},predicate)=>[Object.entries(dependencies||{}).find(predicate),Object.entries(devDependencies||{}).find(predicate),Object.entries(peerDependencies||{}).find(predicate)],getRendererInfo=packageJson=>{let[dep,devDep,peerDep]=findDependency(packageJson,([key2])=>rendererPackages[key2]),[pkg,version]=dep||devDep||peerDep||[];return dep&&devDep&&dep[0]===devDep[0]&&logger2.warn(`Found "${dep[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),dep&&peerDep&&dep[0]===peerDep[0]&&logger2.warn(`Found "${dep[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version,frameworkPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile2=(prefix,configDir)=>{let filePrefix=import_path62.default.join(configDir,prefix),extension=validConfigExtensions.find(ext=>import_fs_extra.default.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=(packageJson,configDir)=>{let storybookConfigDir=configDir??".storybook",storybookScript=packageJson.scripts?.storybook;if(storybookScript&&!configDir){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(storybookConfigDir=configParam);}return {configDir:storybookConfigDir,mainConfig:findConfigFile2("main",storybookConfigDir),previewConfig:findConfigFile2("preview",storybookConfigDir),managerConfig:findConfigFile2("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return {...rendererInfo,...configInfo}},versions_default={"@storybook/addon-a11y":"8.2.0-alpha.7","@storybook/addon-actions":"8.2.0-alpha.7","@storybook/addon-backgrounds":"8.2.0-alpha.7","@storybook/addon-controls":"8.2.0-alpha.7","@storybook/addon-docs":"8.2.0-alpha.7","@storybook/addon-essentials":"8.2.0-alpha.7","@storybook/addon-highlight":"8.2.0-alpha.7","@storybook/addon-interactions":"8.2.0-alpha.7","@storybook/addon-jest":"8.2.0-alpha.7","@storybook/addon-links":"8.2.0-alpha.7","@storybook/addon-mdx-gfm":"8.2.0-alpha.7","@storybook/addon-measure":"8.2.0-alpha.7","@storybook/addon-onboarding":"8.2.0-alpha.7","@storybook/addon-outline":"8.2.0-alpha.7","@storybook/addon-storysource":"8.2.0-alpha.7","@storybook/addon-themes":"8.2.0-alpha.7","@storybook/addon-toolbars":"8.2.0-alpha.7","@storybook/addon-viewport":"8.2.0-alpha.7","@storybook/angular":"8.2.0-alpha.7","@storybook/blocks":"8.2.0-alpha.7","@storybook/builder-manager":"8.2.0-alpha.7","@storybook/builder-vite":"8.2.0-alpha.7","@storybook/builder-webpack5":"8.2.0-alpha.7","@storybook/channels":"8.2.0-alpha.7","@storybook/cli":"8.2.0-alpha.7","@storybook/client-logger":"8.2.0-alpha.7","@storybook/codemod":"8.2.0-alpha.7","@storybook/components":"8.2.0-alpha.7","@storybook/core-common":"8.2.0-alpha.7","@storybook/core-events":"8.2.0-alpha.7","@storybook/core-server":"8.2.0-alpha.7","@storybook/core-webpack":"8.2.0-alpha.7","@storybook/csf-plugin":"8.2.0-alpha.7","@storybook/csf-tools":"8.2.0-alpha.7","@storybook/docs-tools":"8.2.0-alpha.7","@storybook/ember":"8.2.0-alpha.7","@storybook/html":"8.2.0-alpha.7","@storybook/html-vite":"8.2.0-alpha.7","@storybook/html-webpack5":"8.2.0-alpha.7","@storybook/instrumenter":"8.2.0-alpha.7","@storybook/manager":"8.2.0-alpha.7","@storybook/manager-api":"8.2.0-alpha.7","@storybook/nextjs":"8.2.0-alpha.7","@storybook/node-logger":"8.2.0-alpha.7","@storybook/preact":"8.2.0-alpha.7","@storybook/preact-vite":"8.2.0-alpha.7","@storybook/preact-webpack5":"8.2.0-alpha.7","@storybook/preset-create-react-app":"8.2.0-alpha.7","@storybook/preset-html-webpack":"8.2.0-alpha.7","@storybook/preset-preact-webpack":"8.2.0-alpha.7","@storybook/preset-react-webpack":"8.2.0-alpha.7","@storybook/preset-server-webpack":"8.2.0-alpha.7","@storybook/preset-svelte-webpack":"8.2.0-alpha.7","@storybook/preset-vue3-webpack":"8.2.0-alpha.7","@storybook/preview":"8.2.0-alpha.7","@storybook/preview-api":"8.2.0-alpha.7","@storybook/react":"8.2.0-alpha.7","@storybook/react-dom-shim":"8.2.0-alpha.7","@storybook/react-vite":"8.2.0-alpha.7","@storybook/react-webpack5":"8.2.0-alpha.7","@storybook/router":"8.2.0-alpha.7","@storybook/server":"8.2.0-alpha.7","@storybook/server-webpack5":"8.2.0-alpha.7","@storybook/source-loader":"8.2.0-alpha.7","@storybook/svelte":"8.2.0-alpha.7","@storybook/svelte-vite":"8.2.0-alpha.7","@storybook/svelte-webpack5":"8.2.0-alpha.7","@storybook/sveltekit":"8.2.0-alpha.7","@storybook/telemetry":"8.2.0-alpha.7","@storybook/test":"8.2.0-alpha.7","@storybook/theming":"8.2.0-alpha.7","@storybook/types":"8.2.0-alpha.7","@storybook/vue3":"8.2.0-alpha.7","@storybook/vue3-vite":"8.2.0-alpha.7","@storybook/vue3-webpack5":"8.2.0-alpha.7","@storybook/web-components":"8.2.0-alpha.7","@storybook/web-components-vite":"8.2.0-alpha.7","@storybook/web-components-webpack5":"8.2.0-alpha.7",sb:"8.2.0-alpha.7",storybook:"8.2.0-alpha.7"};function parseList(str2){return str2.split(",").map(item=>item.trim()).filter(item=>item.length>0)}async function getCoercedStorybookVersion(packageManager){return (await Promise.all(Object.keys(rendererPackages).map(async pkg=>({name:pkg,version:await packageManager.getPackageVersion(pkg)})))).filter(({version})=>!!version)[0]?.version}function getEnvConfig(program,configEnv){Object.keys(configEnv).forEach(fieldName=>{let envVarName=configEnv[fieldName],envVarValue=process.env[envVarName];envVarValue&&(program[fieldName]=envVarValue);});}var createLogStream=async(logFileName="storybook.log")=>{let finalLogPath=(0, import_path72.join)(process.cwd(),logFileName),{temporaryFile:temporaryFile2}=await init_tempy().then(()=>tempy_exports),temporaryLogPath=temporaryFile2({name:logFileName}),logStream=(0, import_fs_extra2.createWriteStream)(temporaryLogPath,{encoding:"utf8"});return new Promise((resolve4,reject)=>{logStream.once("open",()=>{resolve4({logStream,moveLogFile:async()=>(0, import_fs_extra2.move)(temporaryLogPath,finalLogPath,{overwrite:!0}),clearLogFile:async()=>(0, import_fs_extra2.writeFile)(temporaryLogPath,""),removeLogFile:async()=>(0, import_fs_extra2.remove)(temporaryLogPath),readLogFile:async()=>(0, import_fs_extra2.readFile)(temporaryLogPath,"utf8")});}),logStream.once("error",reject);})},isCorePackage=pkg=>Object.keys(versions_default).includes(pkg),import_node_logger3=require_dist4(),predicateFor=addon=>entry=>{let name=entry.name||entry;return name&&name.replaceAll(/(\\){1,2}/g,"/").includes(addon)},isCorrectOrder=(addons,before,after)=>{let essentialsIndex=addons.findIndex(predicateFor("@storybook/addon-essentials")),beforeIndex=addons.findIndex(predicateFor(before.name)),afterIndex=addons.findIndex(predicateFor(after.name));return beforeIndex===-1&&before.inEssentials&&(beforeIndex=essentialsIndex),afterIndex===-1&&after.inEssentials&&(afterIndex=essentialsIndex),beforeIndex!==-1&&afterIndex!==-1&&beforeIndex<=afterIndex},checkAddonOrder=async({before,after,configFile,getConfig})=>{try{let config=await getConfig(configFile);if(!config?.addons){import_node_logger3.logger.warn("Unable to find 'addons' config in main Storybook config");return}if(!isCorrectOrder(config.addons,before,after)){let orEssentials=" (or '@storybook/addon-essentials')",beforeText=`'${before.name}'${before.inEssentials?orEssentials:""}`,afterText=`'${after.name}'${after.inEssentials?orEssentials:""}`;import_node_logger3.logger.warn(`Expected ${beforeText} to be listed before ${afterText} in main Storybook config.`);}}catch{import_node_logger3.logger.warn(`Unable to load config file: ${configFile}`);}},import_lazy_universal_dotenv=require_lib8(),import_path82=__toESM4(__require("path")),import_find_up=__toESM4(require_find_up3()),getProjectRoot=()=>{let result;if(process.env.STORYBOOK_PROJECT_ROOT)return process.env.STORYBOOK_PROJECT_ROOT;try{let found=import_find_up.default.sync(".git",{type:"directory"});found&&(result=import_path82.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".svn",{type:"directory"});found&&(result=result||import_path82.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".hg",{type:"directory"});found&&(result=result||import_path82.default.join(found,".."));}catch{}try{let splitDirname=__dirname.split("node_modules");result=result||(splitDirname.length>=2?splitDirname[0]:void 0);}catch{}try{let found=import_find_up.default.sync(".yarn",{type:"directory"});found&&(result=result||import_path82.default.join(found,".."));}catch{}return result||process.cwd()},nodePathsToArray=nodePath=>nodePath.split(process.platform==="win32"?";":":").filter(Boolean).map(p7=>import_path82.default.resolve("./",p7)),relativePattern=/^\.{1,2}([/\\]|$)/;function normalizeStoryPath(filename){return relativePattern.test(filename)?filename:`.${import_path82.default.sep}${filename}`}function loadEnvs(options9={}){let defaultNodeEnv=options9.production?"production":"development",env3={NODE_ENV:process.env.NODE_ENV||defaultNodeEnv,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:options9.production?".":""};Object.keys(process.env).filter(name=>/^STORYBOOK_/.test(name)).forEach(name=>{env3[name]=process.env[name];});let base=Object.entries(env3).reduce((acc,[k14,v11])=>Object.assign(acc,{[k14]:JSON.stringify(v11)}),{}),{stringified,raw}=(0, import_lazy_universal_dotenv.getEnvironment)({nodeEnv:env3.NODE_ENV}),fullRaw={...env3,...raw};return fullRaw.NODE_PATH=nodePathsToArray(fullRaw.NODE_PATH||""),{stringified:{...base,...stringified},raw:fullRaw}}var stringifyEnvs=raw=>Object.entries(raw).reduce((acc,[key2,value])=>(acc[key2]=JSON.stringify(value),acc),{}),stringifyProcessEnvs=raw=>Object.entries(raw).reduce((acc,[key2,value])=>(acc[`process.env.${key2}`]=JSON.stringify(value),acc),{}),NODE_MODULES_RE=/node_modules/,commonGlobOptions=glob2=>NODE_MODULES_RE.test(glob2)?{}:{ignore:["**/node_modules/**"]},frameworkToRenderer={angular:"angular",ember:"ember","html-vite":"html","html-webpack5":"html",nextjs:"react","preact-vite":"preact","preact-webpack5":"preact",qwik:"qwik","react-vite":"react","react-webpack5":"react","server-webpack5":"server",solid:"solid","svelte-vite":"svelte","svelte-webpack5":"svelte",sveltekit:"svelte","vue3-vite":"vue3","vue3-webpack5":"vue3","web-components-vite":"web-components","web-components-webpack5":"web-components",html:"html",preact:"preact","react-native":"react-native",react:"react",server:"server",svelte:"svelte",vue3:"vue3","web-components":"web-components"};async function getBuilderOptions(options9){let framework=await options9.presets.apply("framework",{},options9);if(typeof framework!="string"&&framework?.options?.builder)return framework.options.builder;let{builder}=await options9.presets.apply("core",{},options9);return typeof builder!="string"&&builder?.options?builder.options:{}}var import_ts_dedent3=(init_esm(),__toCommonJS(esm_exports)),import_path92=__toESM4(__require("path"));function normalizePath2(p7){return import_path92.default.posix.normalize(p7.replace(/\\/g,"/"))}async function getFrameworkName(options9){let framework=await options9.presets.apply("framework","",options9);if(!framework)throw new Error(import_ts_dedent3.dedent`
1678
1678
  You must specify a framework in '.storybook/main.js' config.
1679
1679
 
1680
1680
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-onboarding",
3
- "version": "8.2.0-alpha.5",
3
+ "version": "8.2.0-alpha.7",
4
4
  "description": "Storybook Addon Onboarding - Introduces a new onboarding experience",
5
5
  "keywords": [
6
6
  "storybook-addons",
@@ -24,8 +24,8 @@
24
24
  ".": {
25
25
  "types": "./dist/index.d.ts",
26
26
  "node": "./dist/index.js",
27
- "require": "./dist/index.js",
28
- "import": "./dist/index.mjs"
27
+ "import": "./dist/index.mjs",
28
+ "require": "./dist/index.js"
29
29
  },
30
30
  "./manager": "./dist/manager.js",
31
31
  "./preset": "./dist/preset.js",
@@ -50,16 +50,16 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@radix-ui/react-dialog": "^1.0.5",
53
- "@storybook/channels": "8.2.0-alpha.5",
54
- "@storybook/components": "8.2.0-alpha.5",
55
- "@storybook/core-events": "8.2.0-alpha.5",
53
+ "@storybook/channels": "8.2.0-alpha.7",
54
+ "@storybook/components": "8.2.0-alpha.7",
55
+ "@storybook/core-events": "8.2.0-alpha.7",
56
56
  "@storybook/icons": "^1.2.5",
57
- "@storybook/manager-api": "8.2.0-alpha.5",
58
- "@storybook/react": "8.2.0-alpha.5",
59
- "@storybook/telemetry": "8.2.0-alpha.5",
60
- "@storybook/test": "8.2.0-alpha.5",
61
- "@storybook/theming": "8.2.0-alpha.5",
62
- "@storybook/types": "8.2.0-alpha.5",
57
+ "@storybook/manager-api": "8.2.0-alpha.7",
58
+ "@storybook/react": "8.2.0-alpha.7",
59
+ "@storybook/telemetry": "8.2.0-alpha.7",
60
+ "@storybook/test": "8.2.0-alpha.7",
61
+ "@storybook/theming": "8.2.0-alpha.7",
62
+ "@storybook/types": "8.2.0-alpha.7",
63
63
  "framer-motion": "^11.0.3",
64
64
  "react": "^18.2.0",
65
65
  "react-dom": "^18.2.0",