@storybook/addon-interactions 8.0.2 → 8.0.3

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 +2 -6
  2. package/package.json +11 -11
package/dist/preset.js CHANGED
@@ -479,11 +479,7 @@ ${rootStack}`,err}}}}});var require_lib19=__commonJS({"../../node_modules/@babel
479
479
  Unexpected \`storiesOf\` usage: ${formatLocation(node,self2._fileName)}.
480
480
 
481
481
  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&&!self2._meta.component)throw new Error(import_ts_dedent.dedent`
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.
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);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
483
  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
484
  CSF Parsing error: Expected '${expectedType}' but found '${foundType}' instead in '${node?.type}'.
489
485
  ${nodeInfo}
@@ -522,7 +518,7 @@ ${error.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Boole
522
518
  `),!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&&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}]}:{}}}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
519
  ${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
520
  ${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`
521
+ `)}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.3","@storybook/addon-actions":"8.0.3","@storybook/addon-backgrounds":"8.0.3","@storybook/addon-controls":"8.0.3","@storybook/addon-docs":"8.0.3","@storybook/addon-essentials":"8.0.3","@storybook/addon-highlight":"8.0.3","@storybook/addon-interactions":"8.0.3","@storybook/addon-jest":"8.0.3","@storybook/addon-links":"8.0.3","@storybook/addon-mdx-gfm":"8.0.3","@storybook/addon-measure":"8.0.3","@storybook/addon-onboarding":"8.0.3","@storybook/addon-outline":"8.0.3","@storybook/addon-storysource":"8.0.3","@storybook/addon-themes":"8.0.3","@storybook/addon-toolbars":"8.0.3","@storybook/addon-viewport":"8.0.3","@storybook/angular":"8.0.3","@storybook/blocks":"8.0.3","@storybook/builder-manager":"8.0.3","@storybook/builder-vite":"8.0.3","@storybook/builder-webpack5":"8.0.3","@storybook/channels":"8.0.3","@storybook/cli":"8.0.3","@storybook/client-logger":"8.0.3","@storybook/codemod":"8.0.3","@storybook/components":"8.0.3","@storybook/core-common":"8.0.3","@storybook/core-events":"8.0.3","@storybook/core-server":"8.0.3","@storybook/core-webpack":"8.0.3","@storybook/csf-plugin":"8.0.3","@storybook/csf-tools":"8.0.3","@storybook/docs-tools":"8.0.3","@storybook/ember":"8.0.3","@storybook/html":"8.0.3","@storybook/html-vite":"8.0.3","@storybook/html-webpack5":"8.0.3","@storybook/instrumenter":"8.0.3","@storybook/manager":"8.0.3","@storybook/manager-api":"8.0.3","@storybook/nextjs":"8.0.3","@storybook/node-logger":"8.0.3","@storybook/preact":"8.0.3","@storybook/preact-vite":"8.0.3","@storybook/preact-webpack5":"8.0.3","@storybook/preset-create-react-app":"8.0.3","@storybook/preset-html-webpack":"8.0.3","@storybook/preset-preact-webpack":"8.0.3","@storybook/preset-react-webpack":"8.0.3","@storybook/preset-server-webpack":"8.0.3","@storybook/preset-svelte-webpack":"8.0.3","@storybook/preset-vue3-webpack":"8.0.3","@storybook/preview":"8.0.3","@storybook/preview-api":"8.0.3","@storybook/react":"8.0.3","@storybook/react-dom-shim":"8.0.3","@storybook/react-vite":"8.0.3","@storybook/react-webpack5":"8.0.3","@storybook/router":"8.0.3","@storybook/server":"8.0.3","@storybook/server-webpack5":"8.0.3","@storybook/source-loader":"8.0.3","@storybook/svelte":"8.0.3","@storybook/svelte-vite":"8.0.3","@storybook/svelte-webpack5":"8.0.3","@storybook/sveltekit":"8.0.3","@storybook/telemetry":"8.0.3","@storybook/test":"8.0.3","@storybook/theming":"8.0.3","@storybook/types":"8.0.3","@storybook/vue3":"8.0.3","@storybook/vue3-vite":"8.0.3","@storybook/vue3-webpack5":"8.0.3","@storybook/web-components":"8.0.3","@storybook/web-components-vite":"8.0.3","@storybook/web-components-webpack5":"8.0.3",sb:"8.0.3",storybook:"8.0.3"};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
522
  You must specify a framework in '.storybook/main.js' config.
527
523
 
528
524
  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.2",
3
+ "version": "8.0.3",
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.2",
54
- "@storybook/test": "8.0.2",
55
- "@storybook/types": "8.0.2",
53
+ "@storybook/instrumenter": "8.0.3",
54
+ "@storybook/test": "8.0.3",
55
+ "@storybook/types": "8.0.3",
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.2",
62
- "@storybook/components": "8.0.2",
63
- "@storybook/core-common": "8.0.2",
64
- "@storybook/core-events": "8.0.2",
61
+ "@storybook/client-logger": "8.0.3",
62
+ "@storybook/components": "8.0.3",
63
+ "@storybook/core-common": "8.0.3",
64
+ "@storybook/core-events": "8.0.3",
65
65
  "@storybook/icons": "^1.2.5",
66
- "@storybook/manager-api": "8.0.2",
67
- "@storybook/preview-api": "8.0.2",
68
- "@storybook/theming": "8.0.2",
66
+ "@storybook/manager-api": "8.0.3",
67
+ "@storybook/preview-api": "8.0.3",
68
+ "@storybook/theming": "8.0.3",
69
69
  "@types/node": "^18.0.0",
70
70
  "formik": "^2.2.9",
71
71
  "react": "^18.2.0",