@storybook/addon-interactions 8.0.2 → 8.0.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/preset.js +12 -12
- package/package.json +11 -11
package/dist/preset.js
CHANGED
@@ -34,7 +34,7 @@ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropD
|
|
34
34
|
`)+postfix,endIndex=index+1,index=string.indexOf(`
|
35
35
|
`,endIndex);}while(index!==-1);return returnValue+=string.substr(endIndex),returnValue};module2.exports={stringReplaceAll,stringEncaseCRLFWithFirstIndex};}}),require_templates4=__commonJS2({"../../node_modules/chalk/source/templates.js"(exports2,module2){var TEMPLATE_REGEX=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,STYLE_REGEX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,STRING_REGEX=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,ESCAPE_REGEX=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,ESCAPES=new Map([["n",`
|
36
36
|
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function unescape(c){let u=c[0]==="u",bracket=c[1]==="{";return u&&!bracket&&c.length===5||c[0]==="x"&&c.length===3?String.fromCharCode(parseInt(c.slice(1),16)):u&&bracket?String.fromCodePoint(parseInt(c.slice(2,-1),16)):ESCAPES.get(c)||c}function parseArguments(name,arguments_){let results=[],chunks=arguments_.trim().split(/\s*,\s*/g),matches;for(let chunk of chunks){let number=Number(chunk);if(!Number.isNaN(number))results.push(number);else if(matches=chunk.match(STRING_REGEX))results.push(matches[2].replace(ESCAPE_REGEX,(m,escape,character)=>escape?unescape(escape):character));else throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`)}return results}function parseStyle(style){STYLE_REGEX.lastIndex=0;let results=[],matches;for(;(matches=STYLE_REGEX.exec(style))!==null;){let name=matches[1];if(matches[2]){let args=parseArguments(name,matches[2]);results.push([name].concat(args));}else results.push([name]);}return results}function buildStyle(chalk,styles){let enabled={};for(let layer of styles)for(let style of layer.styles)enabled[style[0]]=layer.inverse?null:style.slice(1);let current=chalk;for(let[styleName,styles2]of Object.entries(enabled))if(Array.isArray(styles2)){if(!(styleName in current))throw new Error(`Unknown Chalk style: ${styleName}`);current=styles2.length>0?current[styleName](...styles2):current[styleName];}return current}module2.exports=(chalk,temporary)=>{let styles=[],chunks=[],chunk=[];if(temporary.replace(TEMPLATE_REGEX,(m,escapeCharacter,inverse,style,close,character)=>{if(escapeCharacter)chunk.push(unescape(escapeCharacter));else if(style){let string=chunk.join("");chunk=[],chunks.push(styles.length===0?string:buildStyle(chalk,styles)(string)),styles.push({inverse,styles:parseStyle(style)});}else if(close){if(styles.length===0)throw new Error("Found extraneous } in Chalk template literal");chunks.push(buildStyle(chalk,styles)(chunk.join(""))),chunk=[],styles.pop();}else chunk.push(character);}),chunks.push(chunk.join("")),styles.length>0){let errMessage=`Chalk template literal is missing ${styles.length} closing bracket${styles.length===1?"":"s"} (\`}\`)`;throw new Error(errMessage)}return chunks.join("")};}}),require_source2=__commonJS2({"../../node_modules/chalk/source/index.js"(exports2,module2){var ansiStyles=require_ansi_styles4(),{stdout:stdoutColor,stderr:stderrColor}=require_supports_color4(),{stringReplaceAll,stringEncaseCRLFWithFirstIndex}=require_util5(),{isArray}=Array,levelMapping=["ansi","ansi","ansi256","ansi16m"],styles=Object.create(null),applyOptions=(object,options={})=>{if(options.level&&!(Number.isInteger(options.level)&&options.level>=0&&options.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let colorLevel=stdoutColor?stdoutColor.level:0;object.level=options.level===void 0?colorLevel:options.level;},ChalkClass=class{constructor(options){return chalkFactory(options)}},chalkFactory=options=>{let chalk2={};return applyOptions(chalk2,options),chalk2.template=(...arguments_)=>chalkTag(chalk2.template,...arguments_),Object.setPrototypeOf(chalk2,Chalk.prototype),Object.setPrototypeOf(chalk2.template,chalk2),chalk2.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},chalk2.template.Instance=ChalkClass,chalk2.template};function Chalk(options){return chalkFactory(options)}for(let[styleName,style]of Object.entries(ansiStyles))styles[styleName]={get(){let builder=createBuilder(this,createStyler(style.open,style.close,this._styler),this._isEmpty);return Object.defineProperty(this,styleName,{value:builder}),builder}};styles.visible={get(){let builder=createBuilder(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:builder}),builder}};var usedModels=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let model of usedModels)styles[model]={get(){let{level}=this;return function(...arguments_){let styler=createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_),ansiStyles.color.close,this._styler);return createBuilder(this,styler,this._isEmpty)}}};for(let model of usedModels){let bgModel="bg"+model[0].toUpperCase()+model.slice(1);styles[bgModel]={get(){let{level}=this;return function(...arguments_){let styler=createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_),ansiStyles.bgColor.close,this._styler);return createBuilder(this,styler,this._isEmpty)}}};}var proto=Object.defineProperties(()=>{},{...styles,level:{enumerable:!0,get(){return this._generator.level},set(level){this._generator.level=level;}}}),createStyler=(open,close,parent)=>{let openAll,closeAll;return parent===void 0?(openAll=open,closeAll=close):(openAll=parent.openAll+open,closeAll=close+parent.closeAll),{open,close,openAll,closeAll,parent}},createBuilder=(self2,_styler,_isEmpty)=>{let builder=(...arguments_)=>isArray(arguments_[0])&&isArray(arguments_[0].raw)?applyStyle(builder,chalkTag(builder,...arguments_)):applyStyle(builder,arguments_.length===1?""+arguments_[0]:arguments_.join(" "));return Object.setPrototypeOf(builder,proto),builder._generator=self2,builder._styler=_styler,builder._isEmpty=_isEmpty,builder},applyStyle=(self2,string)=>{if(self2.level<=0||!string)return self2._isEmpty?"":string;let styler=self2._styler;if(styler===void 0)return string;let{openAll,closeAll}=styler;if(string.indexOf("\x1B")!==-1)for(;styler!==void 0;)string=stringReplaceAll(string,styler.close,styler.open),styler=styler.parent;let lfIndex=string.indexOf(`
|
37
|
-
`);return lfIndex!==-1&&(string=stringEncaseCRLFWithFirstIndex(string,closeAll,openAll,lfIndex)),openAll+string+closeAll},template,chalkTag=(chalk2,...strings)=>{let[firstString]=strings;if(!isArray(firstString)||!isArray(firstString.raw))return strings.join(" ");let arguments_=strings.slice(1),parts=[firstString.raw[0]];for(let i=1;i<firstString.length;i++)parts.push(String(arguments_[i-1]).replace(/[{}\\]/g,"\\$&"),String(firstString.raw[i]));return template===void 0&&(template=require_templates4()),template(chalk2,parts.join(""))};Object.defineProperties(Chalk.prototype,styles);var chalk=Chalk();chalk.supportsColor=stdoutColor,chalk.stderr=Chalk({level:stderrColor?stderrColor.level:0}),chalk.stderr.supportsColor=stderrColor,module2.exports=chalk;}}),server_errors_exports={};__export2(server_errors_exports,{AngularLegacyBuildOptionsError:()=>AngularLegacyBuildOptionsError,Category:()=>Category,ConflictingStaticDirConfigError:()=>ConflictingStaticDirConfigError,CouldNotEvaluateFrameworkError:()=>CouldNotEvaluateFrameworkError,CriticalPresetLoadError:()=>CriticalPresetLoadError,GenerateNewProjectOnInitError:()=>GenerateNewProjectOnInitError,GoogleFontsDownloadError:()=>GoogleFontsDownloadError,GoogleFontsLoadingError:()=>GoogleFontsLoadingError,InvalidFrameworkNameError:()=>InvalidFrameworkNameError,InvalidStoriesEntryError:()=>InvalidStoriesEntryError,MainFileESMOnlyImportError:()=>MainFileESMOnlyImportError,MainFileEvaluationError:()=>MainFileEvaluationError,MainFileMissingError:()=>MainFileMissingError,MissingAngularJsonError:()=>MissingAngularJsonError,MissingBuilderError:()=>MissingBuilderError,MissingFrameworkFieldError:()=>MissingFrameworkFieldError,NoMatchingExportError:()=>NoMatchingExportError,NoStatsForViteDevError:()=>NoStatsForViteDevError,NxProjectDetectedError:()=>NxProjectDetectedError,UpgradeStorybookToLowerVersionError:()=>UpgradeStorybookToLowerVersionError,UpgradeStorybookToSameVersionError:()=>UpgradeStorybookToSameVersionError,UpgradeStorybookUnknownCurrentVersionError:()=>UpgradeStorybookUnknownCurrentVersionError,WebpackCompilationError:()=>WebpackCompilationError,WebpackInvocationError:()=>WebpackInvocationError,WebpackMissingStatsError:()=>WebpackMissingStatsError});module.exports=__toCommonJS2(server_errors_exports);var import_chalk=__toESM2(require_source2()),import_ts_dedent=__toESM2(__require("ts-dedent")),StorybookError=class extends Error{constructor(){super(...arguments),this.data={},this.documentation=!1,this.fromStorybook=!0;}get fullErrorCode(){let paddedCode=String(this.code).padStart(4,"0");return `SB_${this.category}_${paddedCode}`}get name(){let errorName=this.constructor.name;return `${this.fullErrorCode} (${errorName})`}get message(){let page;return this.documentation===!0?page=`https://storybook.js.org/error/${this.fullErrorCode}`:typeof this.documentation=="string"?page=this.documentation:Array.isArray(this.documentation)&&(page=`
|
37
|
+
`);return lfIndex!==-1&&(string=stringEncaseCRLFWithFirstIndex(string,closeAll,openAll,lfIndex)),openAll+string+closeAll},template,chalkTag=(chalk2,...strings)=>{let[firstString]=strings;if(!isArray(firstString)||!isArray(firstString.raw))return strings.join(" ");let arguments_=strings.slice(1),parts=[firstString.raw[0]];for(let i=1;i<firstString.length;i++)parts.push(String(arguments_[i-1]).replace(/[{}\\]/g,"\\$&"),String(firstString.raw[i]));return template===void 0&&(template=require_templates4()),template(chalk2,parts.join(""))};Object.defineProperties(Chalk.prototype,styles);var chalk=Chalk();chalk.supportsColor=stdoutColor,chalk.stderr=Chalk({level:stderrColor?stderrColor.level:0}),chalk.stderr.supportsColor=stderrColor,module2.exports=chalk;}}),server_errors_exports={};__export2(server_errors_exports,{AngularLegacyBuildOptionsError:()=>AngularLegacyBuildOptionsError,Category:()=>Category,ConflictingStaticDirConfigError:()=>ConflictingStaticDirConfigError,CouldNotEvaluateFrameworkError:()=>CouldNotEvaluateFrameworkError,CriticalPresetLoadError:()=>CriticalPresetLoadError,GenerateNewProjectOnInitError:()=>GenerateNewProjectOnInitError,GoogleFontsDownloadError:()=>GoogleFontsDownloadError,GoogleFontsLoadingError:()=>GoogleFontsLoadingError,InvalidFrameworkNameError:()=>InvalidFrameworkNameError,InvalidStoriesEntryError:()=>InvalidStoriesEntryError,MainFileESMOnlyImportError:()=>MainFileESMOnlyImportError,MainFileEvaluationError:()=>MainFileEvaluationError,MainFileMissingError:()=>MainFileMissingError,MissingAngularJsonError:()=>MissingAngularJsonError,MissingBuilderError:()=>MissingBuilderError,MissingFrameworkFieldError:()=>MissingFrameworkFieldError,NoMatchingExportError:()=>NoMatchingExportError,NoStatsForViteDevError:()=>NoStatsForViteDevError,NxProjectDetectedError:()=>NxProjectDetectedError,UpgradeStorybookInWrongWorkingDirectory:()=>UpgradeStorybookInWrongWorkingDirectory,UpgradeStorybookToLowerVersionError:()=>UpgradeStorybookToLowerVersionError,UpgradeStorybookToSameVersionError:()=>UpgradeStorybookToSameVersionError,UpgradeStorybookUnknownCurrentVersionError:()=>UpgradeStorybookUnknownCurrentVersionError,WebpackCompilationError:()=>WebpackCompilationError,WebpackInvocationError:()=>WebpackInvocationError,WebpackMissingStatsError:()=>WebpackMissingStatsError});module.exports=__toCommonJS2(server_errors_exports);var import_chalk=__toESM2(require_source2()),import_ts_dedent=__toESM2(__require("ts-dedent")),StorybookError=class extends Error{constructor(){super(...arguments),this.data={},this.documentation=!1,this.fromStorybook=!0;}get fullErrorCode(){let paddedCode=String(this.code).padStart(4,"0");return `SB_${this.category}_${paddedCode}`}get name(){let errorName=this.constructor.name;return `${this.fullErrorCode} (${errorName})`}get message(){let page;return this.documentation===!0?page=`https://storybook.js.org/error/${this.fullErrorCode}`:typeof this.documentation=="string"?page=this.documentation:Array.isArray(this.documentation)&&(page=`
|
38
38
|
${this.documentation.map(doc=>` - ${doc}`).join(`
|
39
39
|
`)}`),`${this.template()}${page!=null?`
|
40
40
|
|
@@ -45,11 +45,11 @@ More info: ${page}
|
|
45
45
|
`}},MissingFrameworkFieldError=class extends StorybookError{constructor(){super(...arguments),this.category="CORE-COMMON",this.code=1,this.documentation="https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#new-framework-api";}template(){return import_ts_dedent.default`
|
46
46
|
Could not find a 'framework' field in Storybook config.
|
47
47
|
|
48
|
-
Please run 'npx storybook
|
48
|
+
Please run 'npx storybook automigrate' to automatically fix your config.
|
49
49
|
`}},InvalidFrameworkNameError=class extends StorybookError{constructor(data){super(),this.data=data,this.category="CORE-COMMON",this.code=2,this.documentation="https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#new-framework-api";}template(){return import_ts_dedent.default`
|
50
50
|
Invalid value of '${this.data.frameworkName}' in the 'framework' field of Storybook config.
|
51
51
|
|
52
|
-
Please run 'npx storybook
|
52
|
+
Please run 'npx storybook automigrate' to automatically fix your config.
|
53
53
|
`}},CouldNotEvaluateFrameworkError=class extends StorybookError{constructor(data){super(),this.data=data,this.category="CORE-COMMON",this.code=3;}template(){return import_ts_dedent.default`
|
54
54
|
Could not evaluate the '${this.data.frameworkName}' package from the 'framework' field of Storybook config.
|
55
55
|
|
@@ -78,7 +78,7 @@ More info: ${page}
|
|
78
78
|
Your Storybook startup script uses a solution that is not supported anymore.
|
79
79
|
You must use Angular builder to have an explicit configuration on the project used in angular.json.
|
80
80
|
|
81
|
-
Please run 'npx storybook
|
81
|
+
Please run 'npx storybook automigrate' to automatically fix your config.
|
82
82
|
`}},CriticalPresetLoadError=class extends StorybookError{constructor(data){super(),this.data=data,this.category="CORE-SERVER",this.code=2;}template(){return import_ts_dedent.default`
|
83
83
|
Storybook failed to load the following preset: ${this.data.presetName}.
|
84
84
|
|
@@ -113,7 +113,7 @@ More info: ${page}
|
|
113
113
|
Correct example:
|
114
114
|
{ "@storybook/react": "7.5.3", "@storybook/react-vite": "7.5.3", "storybook": "7.5.3" }
|
115
115
|
|
116
|
-
Please run \`npx storybook
|
116
|
+
Please run \`npx storybook doctor\` for guidance on how to fix this issue.
|
117
117
|
`}},MainFileESMOnlyImportError=class extends StorybookError{constructor(data){super(),this.data=data,this.category="CORE-SERVER",this.code=5,this.documentation="https://github.com/storybookjs/storybook/issues/23972#issuecomment-1948534058";}template(){let message=[`Storybook failed to load ${this.data.location}`,"","It looks like the file tried to load/import an ESM only module.",`Support for this is currently limited in ${this.data.location}`,"You can import ESM modules in your main file, but only as dynamic import.",""];return this.data.line&&message.push((0, import_chalk.white)(`In your ${(0, import_chalk.yellow)(this.data.location)} file, line ${import_chalk.bold.cyan(this.data.num)} threw an error:`),(0, import_chalk.grey)(this.data.line)),message.push("",(0, import_chalk.white)(`Convert the static import to a dynamic import ${(0, import_chalk.underline)("where they are used")}.`),(0, import_chalk.white)("Example:")+" "+(0, import_chalk.gray)("await import(<your ESM only module>);"),""),message.join(`
|
118
118
|
`)}},MainFileMissingError=class extends StorybookError{constructor(data){super(),this.data=data,this.category="CORE-SERVER",this.code=6,this.stack="",this.documentation="https://storybook.js.org/docs/configure";}template(){return import_ts_dedent.default`
|
119
119
|
No configuration files have been found in your configDir: ${(0, import_chalk.yellow)(this.data.location)}.
|
@@ -152,12 +152,16 @@ More info: ${page}
|
|
152
152
|
|
153
153
|
If you intended to re-run automigrations, you should run the "automigrate" command directly instead:
|
154
154
|
|
155
|
-
"npx storybook
|
155
|
+
"npx storybook automigrate"
|
156
156
|
`}},UpgradeStorybookUnknownCurrentVersionError=class extends StorybookError{constructor(){super(...arguments),this.category="CLI_UPGRADE",this.code=5;}template(){return import_ts_dedent.default`
|
157
157
|
We couldn't determine the current version of Storybook in your project.
|
158
158
|
|
159
159
|
Are you running the Storybook CLI in a project without Storybook?
|
160
160
|
It might help if you specify your Storybook config directory with the --config-dir flag.
|
161
|
+
`}},UpgradeStorybookInWrongWorkingDirectory=class extends StorybookError{constructor(){super(...arguments),this.category="CLI_UPGRADE",this.code=6;}template(){return import_ts_dedent.default`
|
162
|
+
You are running the upgrade command in a CWD that does not contain Storybook dependencies.
|
163
|
+
|
164
|
+
Did you mean to run it in a different directory? Make sure the directory you run this command in contains a package.json with your Storybook dependencies.
|
161
165
|
`}},NoStatsForViteDevError=class extends StorybookError{constructor(){super(...arguments),this.category="BUILDER-VITE",this.code=1;}template(){return import_ts_dedent.default`
|
162
166
|
Unable to write preview stats as the Vite builder does not support stats in dev mode.
|
163
167
|
|
@@ -479,11 +483,7 @@ ${rootStack}`,err}}}}});var require_lib19=__commonJS({"../../node_modules/@babel
|
|
479
483
|
Unexpected \`storiesOf\` usage: ${formatLocation(node,self2._fileName)}.
|
480
484
|
|
481
485
|
SB8 does not support \`storiesOf\`.
|
482
|
-
`)}},ImportDeclaration:{enter({node}){let{source}=node;if(t2.isStringLiteral(source))self2.imports.push(source.value);else throw new Error("CSF: unexpected import source")}}}),!self2._meta)throw new NoMetaError("missing default export",self2._ast,self2._fileName);if(!self2._meta.title
|
483
|
-
CSF: missing title/component ${formatLocation(self2._ast,self2._fileName)}
|
484
|
-
|
485
|
-
More info: https://storybook.js.org/docs/react/writing-stories#default-export
|
486
|
-
`);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,[key,story])=>{if(!(0, import_csf.isExportStory)(key,self2._meta))return acc;let id=story.parameters?.__id??(0, import_csf.toId)(self2._meta?.id||self2._meta?.title,(0, import_csf.storyNameFromExport)(key)),parameters={...story.parameters,__id:id},{includeStories}=self2._meta||{};key==="__page"&&(entries.length===1||Array.isArray(includeStories)&&includeStories.length===1)&&(parameters.docsOnly=!0),acc[key]={...story,id,parameters};let{tags,play}=self2._storyAnnotations[key];if(tags){let node=t2.isIdentifier(tags)?findVarInitialization(tags.name,this._ast.program):tags;acc[key].tags=parseTags(node);}return play&&(acc[key].tags=[...acc[key].tags||[],"play-fn"]),acc},{}),Object.keys(self2._storyExports).forEach(key=>{(0, import_csf.isExportStory)(key,self2._meta)||(delete self2._storyExports[key],delete self2._storyAnnotations[key]);}),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(key=>!sortedExports.includes(key))}`)}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.
|
486
|
+
`)}},ImportDeclaration:{enter({node}){let{source}=node;if(t2.isStringLiteral(source))self2.imports.push(source.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,[key,story])=>{if(!(0, import_csf.isExportStory)(key,self2._meta))return acc;let id=story.parameters?.__id??(0, import_csf.toId)(self2._meta?.id||self2._meta?.title,(0, import_csf.storyNameFromExport)(key)),parameters={...story.parameters,__id:id},{includeStories}=self2._meta||{};key==="__page"&&(entries.length===1||Array.isArray(includeStories)&&includeStories.length===1)&&(parameters.docsOnly=!0),acc[key]={...story,id,parameters};let{tags,play}=self2._storyAnnotations[key];if(tags){let node=t2.isIdentifier(tags)?findVarInitialization(tags.name,this._ast.program):tags;acc[key].tags=parseTags(node);}return play&&(acc[key].tags=[...acc[key].tags||[],"play-fn"]),acc},{}),Object.keys(self2._storyExports).forEach(key=>{(0, import_csf.isExportStory)(key,self2._meta)||(delete self2._storyExports[key],delete self2._storyAnnotations[key]);}),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(key=>!sortedExports.includes(key))}`)}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.
|
487
487
|
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=Array.from(new Set([...this._meta?.tags??[],...story.tags??[]]));return {type:"story",importPath:this._fileName,exportName,name:story.name,title:this.meta?.title,metaId:this.meta?.id,tags,metaTags:this.meta?.tags,__id:story.id}})}},loadCsf=(code,options)=>{let ast=babelParse(code);return new CsfFile(ast,options)},formatCsf=(csf,options={sourceMaps:!1})=>{let result=generate.default(csf._ast,options);if(options.sourceMaps)return result;let{code}=result;return code},printCsf=(csf,options={})=>recast2.print(csf._ast,options),readCsf=async(fileName,options)=>{let code=(await import_fs_extra.default.readFile(fileName,"utf-8")).toString();return loadCsf(code,{...options,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=__toESM2(require_lib3()),import_ts_dedent2=__toESM2(__require("ts-dedent")),t3=__toESM2(require_lib11()),generate2=__toESM2(require_lib12()),traverse2=__toESM2(require_lib21()),recast3=__toESM2(require_main5()),logger2=console,getCsfParsingErrorMessage=({expectedType,foundType,node})=>{let nodeInfo="";if(node)try{nodeInfo=JSON.stringify(node);}catch{}return import_ts_dedent2.default`
|
488
488
|
CSF Parsing error: Expected '${expectedType}' but found '${foundType}' instead in '${node?.type}'.
|
489
489
|
${nodeInfo}
|
@@ -522,7 +522,7 @@ ${error.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Boole
|
|
522
522
|
`),!mainConfigPath)throw new import_server_errors.MainFileMissingError({location:configDir})}function loadCustomPresets({configDir}){validateConfigurationFiles(configDir);let presets=serverRequire2(import_path2.default.resolve(configDir,"presets"));if(serverRequire2(import_path2.default.resolve(configDir,"main"))){let resolved=serverResolve(import_path2.default.resolve(configDir,"main"));if(resolved)return [resolved]}return presets||[]}var import_resolve_from=__toESM2(require_resolve_from()),safeResolveFrom=(path18,file)=>{try{return (0,import_resolve_from.default)(path18,file)}catch{return}},safeResolve=file=>{try{return __require.resolve(file)}catch{return}},import_path32=__toESM2(__require("path"));function normalizePath(id){return import_path32.default.posix.normalize(slash(id))}function stripAbsNodeModulesPath(absPath){let splits=absPath.split(`node_modules${import_path32.default.sep}`);return normalizePath(splits[splits.length-1])}var isObject=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_path4.parse)(filePath),mjsPath=(0, import_path4.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,options)=>{let resolve=name.startsWith("/")?safeResolve:safeResolveFrom.bind(null,configDir),resolved=resolve(name);if(resolved){let{dir:fdir,name:fname}=(0, import_path4.parse)(resolved);if(name.match(/\/(manager|register(-panel)?)(\.(js|mjs|ts|tsx|jsx))?$/))return {type:"virtual",name,managerEntries:[resolvePathToMjs((0, import_path4.join)(fdir,fname))]};if(name.match(/\/(preset)(\.(js|mjs|ts|tsx|jsx))?$/))return {type:"presets",name:resolved}}let checkExists=exportName=>{if(resolve(`${name}${exportName}`))return `${name}${exportName}`},absolutizeExport=(exportName,preferMJS)=>{let found=resolve(`${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&®isterFile&&!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}]}:{}}}if(resolved)return {type:"presets",name:resolved}},map=({configDir})=>item=>{let options=isObject(item)&&item.options||void 0,name=isObject(item)?item.name:item,resolved;try{resolved=resolveAddonName(configDir,name,options);}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/
|
523
523
|
${item}`);return}if(!resolved){import_node_logger2.logger.warn(`Could not resolve addon "${name}", skipping. Is it installed?`);return}return {...options?{options}:{},...resolved}};async function getContent(input){if(input.type==="virtual"){let{type,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(isObject(contents)){let{addons:addonsInput=[],presets:presetsInput=[],...rest}=contents,filter=i=>!0;storybookOptions.isCritical!==!0&&(storybookOptions.build?.test?.disabledAddons?.length||0)>0&&(filter=i=>{let name=i.name?i.name:i;return !storybookOptions.build?.test?.disabledAddons?.find(n=>name.includes(n))});let subPresets=resolvePresetFunction(presetsInput,presetOptions,storybookOptions).filter(filter),subAddons=resolvePresetFunction(addonsInput,presetOptions,storybookOptions).filter(filter);return [...await loadPresets([...subPresets],level+1,storybookOptions),...await loadPresets([...subAddons.map(map(storybookOptions))].filter(Boolean),level+1,storybookOptions),{name:presetName,preset:rest,options:presetOptions}]}throw new Error(import_ts_dedent2.dedent`
|
524
524
|
${input} is not a valid preset
|
525
|
-
`)}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})=>{let change=preset[extension];if(!change)return accumulationPromise;if(typeof change=="function"){let extensionFn=change,context={preset,combinedOptions:{...storybookOptions,...args,...options,presetsList:presets,presets:{apply:async(ext,c,a={})=>applyPresets(presets,ext,c,a,storybookOptions)}}};return accumulationPromise.then(newConfig=>extensionFn.call(context.preset,newConfig,context.combinedOptions))}return accumulationPromise.then(newConfig=>Array.isArray(newConfig)&&Array.isArray(change)?[...newConfig,...change]:isObject(newConfig)&&isObject(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(options){let{corePresets=[],overridePresets=[],...restOptions}=options,presetsConfig=[...corePresets,...loadCustomPresets(options),...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=__toESM2(require_lib2());function createFileSystemCache(options){return (0, import_file_system_cache.default)(options)}var import_path5=__toESM2(__require("path")),import_find_cache_dir=__toESM2(require_find_cache_dir());function resolvePathInStorybookCache(fileOrDirectoryName,sub="default"){let cacheDirectory=(0, import_find_cache_dir.default)({name:"storybook"});return cacheDirectory||=import_path5.default.join(process.cwd(),".cache","storybook"),import_path5.default.join(cacheDirectory,sub,fileOrDirectoryName)}var cache=createFileSystemCache({basePath:resolvePathInStorybookCache("dev-server"),ns:"storybook"}),import_fs_extra2=require_lib3(),import_path7=__require("path"),import_tempy=__toESM2(require_tempy()),import_path6=__toESM2(__require("path")),import_fs_extra=__toESM2(require_lib3());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,([key])=>rendererPackages[key]),[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"],findConfigFile=(prefix,configDir)=>{let filePrefix=import_path6.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:findConfigFile("main",storybookConfigDir),previewConfig:findConfigFile("preview",storybookConfigDir),managerConfig:findConfigFile("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return {...rendererInfo,...configInfo}},versions_default={"@storybook/addon-a11y":"8.0.2","@storybook/addon-actions":"8.0.2","@storybook/addon-backgrounds":"8.0.2","@storybook/addon-controls":"8.0.2","@storybook/addon-docs":"8.0.2","@storybook/addon-essentials":"8.0.2","@storybook/addon-highlight":"8.0.2","@storybook/addon-interactions":"8.0.2","@storybook/addon-jest":"8.0.2","@storybook/addon-links":"8.0.2","@storybook/addon-mdx-gfm":"8.0.2","@storybook/addon-measure":"8.0.2","@storybook/addon-onboarding":"8.0.2","@storybook/addon-outline":"8.0.2","@storybook/addon-storysource":"8.0.2","@storybook/addon-themes":"8.0.2","@storybook/addon-toolbars":"8.0.2","@storybook/addon-viewport":"8.0.2","@storybook/angular":"8.0.2","@storybook/blocks":"8.0.2","@storybook/builder-manager":"8.0.2","@storybook/builder-vite":"8.0.2","@storybook/builder-webpack5":"8.0.2","@storybook/channels":"8.0.2","@storybook/cli":"8.0.2","@storybook/client-logger":"8.0.2","@storybook/codemod":"8.0.2","@storybook/components":"8.0.2","@storybook/core-common":"8.0.2","@storybook/core-events":"8.0.2","@storybook/core-server":"8.0.2","@storybook/core-webpack":"8.0.2","@storybook/csf-plugin":"8.0.2","@storybook/csf-tools":"8.0.2","@storybook/docs-tools":"8.0.2","@storybook/ember":"8.0.2","@storybook/html":"8.0.2","@storybook/html-vite":"8.0.2","@storybook/html-webpack5":"8.0.2","@storybook/instrumenter":"8.0.2","@storybook/manager":"8.0.2","@storybook/manager-api":"8.0.2","@storybook/nextjs":"8.0.2","@storybook/node-logger":"8.0.2","@storybook/preact":"8.0.2","@storybook/preact-vite":"8.0.2","@storybook/preact-webpack5":"8.0.2","@storybook/preset-create-react-app":"8.0.2","@storybook/preset-html-webpack":"8.0.2","@storybook/preset-preact-webpack":"8.0.2","@storybook/preset-react-webpack":"8.0.2","@storybook/preset-server-webpack":"8.0.2","@storybook/preset-svelte-webpack":"8.0.2","@storybook/preset-vue3-webpack":"8.0.2","@storybook/preview":"8.0.2","@storybook/preview-api":"8.0.2","@storybook/react":"8.0.2","@storybook/react-dom-shim":"8.0.2","@storybook/react-vite":"8.0.2","@storybook/react-webpack5":"8.0.2","@storybook/router":"8.0.2","@storybook/server":"8.0.2","@storybook/server-webpack5":"8.0.2","@storybook/source-loader":"8.0.2","@storybook/svelte":"8.0.2","@storybook/svelte-vite":"8.0.2","@storybook/svelte-webpack5":"8.0.2","@storybook/sveltekit":"8.0.2","@storybook/telemetry":"8.0.2","@storybook/test":"8.0.2","@storybook/theming":"8.0.2","@storybook/types":"8.0.2","@storybook/vue3":"8.0.2","@storybook/vue3-vite":"8.0.2","@storybook/vue3-webpack5":"8.0.2","@storybook/web-components":"8.0.2","@storybook/web-components-vite":"8.0.2","@storybook/web-components-webpack5":"8.0.2",sb:"8.0.2",storybook:"8.0.2"};function parseList(str){return str.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_path7.join)(process.cwd(),logFileName),temporaryLogPath=import_tempy.default.file({name:logFileName}),logStream=(0, import_fs_extra2.createWriteStream)(temporaryLogPath,{encoding:"utf8"});return new Promise((resolve,reject)=>{logStream.once("open",()=>{resolve({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_dist(),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},checkAddonOrder2=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_lib5(),import_path8=__toESM2(__require("path")),import_find_up=__toESM2(require_find_up2()),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_path8.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".svn",{type:"directory"});found&&(result=result||import_path8.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".hg",{type:"directory"});found&&(result=result||import_path8.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".yarn",{type:"directory"});found&&(result=result||import_path8.default.join(found,".."));}catch{}try{result=result||__dirname.split("node_modules")[0];}catch{}return result||process.cwd()},nodePathsToArray=nodePath=>nodePath.split(process.platform==="win32"?";":":").filter(Boolean).map(p=>import_path8.default.resolve("./",p)),relativePattern=/^\.{1,2}([/\\]|$)/;function normalizeStoryPath(filename){return relativePattern.test(filename)?filename:`.${import_path8.default.sep}${filename}`}function loadEnvs(options={}){let defaultNodeEnv=options.production?"production":"development",env={NODE_ENV:process.env.NODE_ENV||defaultNodeEnv,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:options.production?".":""};Object.keys(process.env).filter(name=>/^STORYBOOK_/.test(name)).forEach(name=>{env[name]=process.env[name];});let base=Object.entries(env).reduce((acc,[k,v])=>Object.assign(acc,{[k]:JSON.stringify(v)}),{}),{stringified,raw}=(0, import_lazy_universal_dotenv.getEnvironment)({nodeEnv:env.NODE_ENV}),fullRaw={...env,...raw};return fullRaw.NODE_PATH=nodePathsToArray(fullRaw.NODE_PATH||""),{stringified:{...base,...stringified},raw:fullRaw}}var stringifyEnvs=raw=>Object.entries(raw).reduce((acc,[key,value])=>(acc[key]=JSON.stringify(value),acc),{}),stringifyProcessEnvs=raw=>Object.entries(raw).reduce((acc,[key,value])=>(acc[`process.env.${key}`]=JSON.stringify(value),acc),{}),NODE_MODULES_RE=/node_modules/,commonGlobOptions=glob2=>NODE_MODULES_RE.test(glob2)?{}:{ignore:["**/node_modules/**"]};async function getBuilderOptions(options){let framework=await options.presets.apply("framework",{},options);if(typeof framework!="string"&&framework?.options?.builder)return framework.options.builder;let{builder}=await options.presets.apply("core",{},options);return typeof builder!="string"&&builder?.options?builder.options:{}}var import_ts_dedent3=__require("ts-dedent");async function getFrameworkName(options){let framework=await options.presets.apply("framework","",options);if(!framework)throw new Error(import_ts_dedent3.dedent`
|
525
|
+
`)}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})=>{let change=preset[extension];if(!change)return accumulationPromise;if(typeof change=="function"){let extensionFn=change,context={preset,combinedOptions:{...storybookOptions,...args,...options,presetsList:presets,presets:{apply:async(ext,c,a={})=>applyPresets(presets,ext,c,a,storybookOptions)}}};return accumulationPromise.then(newConfig=>extensionFn.call(context.preset,newConfig,context.combinedOptions))}return accumulationPromise.then(newConfig=>Array.isArray(newConfig)&&Array.isArray(change)?[...newConfig,...change]:isObject(newConfig)&&isObject(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(options){let{corePresets=[],overridePresets=[],...restOptions}=options,presetsConfig=[...corePresets,...loadCustomPresets(options),...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=__toESM2(require_lib2());function createFileSystemCache(options){return (0, import_file_system_cache.default)(options)}var import_path5=__toESM2(__require("path")),import_find_cache_dir=__toESM2(require_find_cache_dir());function resolvePathInStorybookCache(fileOrDirectoryName,sub="default"){let cacheDirectory=(0, import_find_cache_dir.default)({name:"storybook"});return cacheDirectory||=import_path5.default.join(process.cwd(),".cache","storybook"),import_path5.default.join(cacheDirectory,sub,fileOrDirectoryName)}var cache=createFileSystemCache({basePath:resolvePathInStorybookCache("dev-server"),ns:"storybook"}),import_fs_extra2=require_lib3(),import_path7=__require("path"),import_tempy=__toESM2(require_tempy()),import_path6=__toESM2(__require("path")),import_fs_extra=__toESM2(require_lib3());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,([key])=>rendererPackages[key]),[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"],findConfigFile=(prefix,configDir)=>{let filePrefix=import_path6.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:findConfigFile("main",storybookConfigDir),previewConfig:findConfigFile("preview",storybookConfigDir),managerConfig:findConfigFile("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return {...rendererInfo,...configInfo}},versions_default={"@storybook/addon-a11y":"8.0.4","@storybook/addon-actions":"8.0.4","@storybook/addon-backgrounds":"8.0.4","@storybook/addon-controls":"8.0.4","@storybook/addon-docs":"8.0.4","@storybook/addon-essentials":"8.0.4","@storybook/addon-highlight":"8.0.4","@storybook/addon-interactions":"8.0.4","@storybook/addon-jest":"8.0.4","@storybook/addon-links":"8.0.4","@storybook/addon-mdx-gfm":"8.0.4","@storybook/addon-measure":"8.0.4","@storybook/addon-onboarding":"8.0.4","@storybook/addon-outline":"8.0.4","@storybook/addon-storysource":"8.0.4","@storybook/addon-themes":"8.0.4","@storybook/addon-toolbars":"8.0.4","@storybook/addon-viewport":"8.0.4","@storybook/angular":"8.0.4","@storybook/blocks":"8.0.4","@storybook/builder-manager":"8.0.4","@storybook/builder-vite":"8.0.4","@storybook/builder-webpack5":"8.0.4","@storybook/channels":"8.0.4","@storybook/cli":"8.0.4","@storybook/client-logger":"8.0.4","@storybook/codemod":"8.0.4","@storybook/components":"8.0.4","@storybook/core-common":"8.0.4","@storybook/core-events":"8.0.4","@storybook/core-server":"8.0.4","@storybook/core-webpack":"8.0.4","@storybook/csf-plugin":"8.0.4","@storybook/csf-tools":"8.0.4","@storybook/docs-tools":"8.0.4","@storybook/ember":"8.0.4","@storybook/html":"8.0.4","@storybook/html-vite":"8.0.4","@storybook/html-webpack5":"8.0.4","@storybook/instrumenter":"8.0.4","@storybook/manager":"8.0.4","@storybook/manager-api":"8.0.4","@storybook/nextjs":"8.0.4","@storybook/node-logger":"8.0.4","@storybook/preact":"8.0.4","@storybook/preact-vite":"8.0.4","@storybook/preact-webpack5":"8.0.4","@storybook/preset-create-react-app":"8.0.4","@storybook/preset-html-webpack":"8.0.4","@storybook/preset-preact-webpack":"8.0.4","@storybook/preset-react-webpack":"8.0.4","@storybook/preset-server-webpack":"8.0.4","@storybook/preset-svelte-webpack":"8.0.4","@storybook/preset-vue3-webpack":"8.0.4","@storybook/preview":"8.0.4","@storybook/preview-api":"8.0.4","@storybook/react":"8.0.4","@storybook/react-dom-shim":"8.0.4","@storybook/react-vite":"8.0.4","@storybook/react-webpack5":"8.0.4","@storybook/router":"8.0.4","@storybook/server":"8.0.4","@storybook/server-webpack5":"8.0.4","@storybook/source-loader":"8.0.4","@storybook/svelte":"8.0.4","@storybook/svelte-vite":"8.0.4","@storybook/svelte-webpack5":"8.0.4","@storybook/sveltekit":"8.0.4","@storybook/telemetry":"8.0.4","@storybook/test":"8.0.4","@storybook/theming":"8.0.4","@storybook/types":"8.0.4","@storybook/vue3":"8.0.4","@storybook/vue3-vite":"8.0.4","@storybook/vue3-webpack5":"8.0.4","@storybook/web-components":"8.0.4","@storybook/web-components-vite":"8.0.4","@storybook/web-components-webpack5":"8.0.4",sb:"8.0.4",storybook:"8.0.4"};function parseList(str){return str.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_path7.join)(process.cwd(),logFileName),temporaryLogPath=import_tempy.default.file({name:logFileName}),logStream=(0, import_fs_extra2.createWriteStream)(temporaryLogPath,{encoding:"utf8"});return new Promise((resolve,reject)=>{logStream.once("open",()=>{resolve({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_dist(),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},checkAddonOrder2=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_lib5(),import_path8=__toESM2(__require("path")),import_find_up=__toESM2(require_find_up2()),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_path8.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".svn",{type:"directory"});found&&(result=result||import_path8.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".hg",{type:"directory"});found&&(result=result||import_path8.default.join(found,".."));}catch{}try{let found=import_find_up.default.sync(".yarn",{type:"directory"});found&&(result=result||import_path8.default.join(found,".."));}catch{}try{result=result||__dirname.split("node_modules")[0];}catch{}return result||process.cwd()},nodePathsToArray=nodePath=>nodePath.split(process.platform==="win32"?";":":").filter(Boolean).map(p=>import_path8.default.resolve("./",p)),relativePattern=/^\.{1,2}([/\\]|$)/;function normalizeStoryPath(filename){return relativePattern.test(filename)?filename:`.${import_path8.default.sep}${filename}`}function loadEnvs(options={}){let defaultNodeEnv=options.production?"production":"development",env={NODE_ENV:process.env.NODE_ENV||defaultNodeEnv,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:options.production?".":""};Object.keys(process.env).filter(name=>/^STORYBOOK_/.test(name)).forEach(name=>{env[name]=process.env[name];});let base=Object.entries(env).reduce((acc,[k,v])=>Object.assign(acc,{[k]:JSON.stringify(v)}),{}),{stringified,raw}=(0, import_lazy_universal_dotenv.getEnvironment)({nodeEnv:env.NODE_ENV}),fullRaw={...env,...raw};return fullRaw.NODE_PATH=nodePathsToArray(fullRaw.NODE_PATH||""),{stringified:{...base,...stringified},raw:fullRaw}}var stringifyEnvs=raw=>Object.entries(raw).reduce((acc,[key,value])=>(acc[key]=JSON.stringify(value),acc),{}),stringifyProcessEnvs=raw=>Object.entries(raw).reduce((acc,[key,value])=>(acc[`process.env.${key}`]=JSON.stringify(value),acc),{}),NODE_MODULES_RE=/node_modules/,commonGlobOptions=glob2=>NODE_MODULES_RE.test(glob2)?{}:{ignore:["**/node_modules/**"]};async function getBuilderOptions(options){let framework=await options.presets.apply("framework",{},options);if(typeof framework!="string"&&framework?.options?.builder)return framework.options.builder;let{builder}=await options.presets.apply("core",{},options);return typeof builder!="string"&&builder?.options?builder.options:{}}var import_ts_dedent3=__require("ts-dedent");async function getFrameworkName(options){let framework=await options.presets.apply("framework","",options);if(!framework)throw new Error(import_ts_dedent3.dedent`
|
526
526
|
You must specify a framework in '.storybook/main.js' config.
|
527
527
|
|
528
528
|
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-interactions",
|
3
|
-
"version": "8.0.
|
3
|
+
"version": "8.0.4",
|
4
4
|
"description": "Automate, test and debug user interactions",
|
5
5
|
"keywords": [
|
6
6
|
"storybook-addons",
|
@@ -50,22 +50,22 @@
|
|
50
50
|
},
|
51
51
|
"dependencies": {
|
52
52
|
"@storybook/global": "^5.0.0",
|
53
|
-
"@storybook/instrumenter": "8.0.
|
54
|
-
"@storybook/test": "8.0.
|
55
|
-
"@storybook/types": "8.0.
|
53
|
+
"@storybook/instrumenter": "8.0.4",
|
54
|
+
"@storybook/test": "8.0.4",
|
55
|
+
"@storybook/types": "8.0.4",
|
56
56
|
"polished": "^4.2.2",
|
57
57
|
"ts-dedent": "^2.2.0"
|
58
58
|
},
|
59
59
|
"devDependencies": {
|
60
60
|
"@devtools-ds/object-inspector": "^1.1.2",
|
61
|
-
"@storybook/client-logger": "8.0.
|
62
|
-
"@storybook/components": "8.0.
|
63
|
-
"@storybook/core-common": "8.0.
|
64
|
-
"@storybook/core-events": "8.0.
|
61
|
+
"@storybook/client-logger": "8.0.4",
|
62
|
+
"@storybook/components": "8.0.4",
|
63
|
+
"@storybook/core-common": "8.0.4",
|
64
|
+
"@storybook/core-events": "8.0.4",
|
65
65
|
"@storybook/icons": "^1.2.5",
|
66
|
-
"@storybook/manager-api": "8.0.
|
67
|
-
"@storybook/preview-api": "8.0.
|
68
|
-
"@storybook/theming": "8.0.
|
66
|
+
"@storybook/manager-api": "8.0.4",
|
67
|
+
"@storybook/preview-api": "8.0.4",
|
68
|
+
"@storybook/theming": "8.0.4",
|
69
69
|
"@types/node": "^18.0.0",
|
70
70
|
"formik": "^2.2.9",
|
71
71
|
"react": "^18.2.0",
|