@storybook/core-common 7.0.0-alpha.10 → 7.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -50,13 +50,13 @@ interface DirectoryMapping {
50
50
  }
51
51
  interface Presets {
52
52
  apply(extension: 'typescript', config: TypescriptOptions, args?: Options$1): Promise<TypescriptOptions>;
53
- apply(extension: 'framework', config: {}, args: any): Promise<Preset>;
54
- apply(extension: 'babel', config: {}, args: any): Promise<TransformOptions>;
55
- apply(extension: 'entries', config: [], args: any): Promise<unknown>;
56
- apply(extension: 'stories', config: [], args: any): Promise<StoriesEntry[]>;
57
- apply(extension: 'managerEntries', config: [], args: any): Promise<string[]>;
58
- apply(extension: 'refs', config: [], args: any): Promise<unknown>;
59
- apply(extension: 'core', config: {}, args: any): Promise<CoreConfig>;
53
+ apply(extension: 'framework', config?: {}, args?: any): Promise<Preset>;
54
+ apply(extension: 'babel', config?: {}, args?: any): Promise<TransformOptions>;
55
+ apply(extension: 'entries', config?: [], args?: any): Promise<unknown>;
56
+ apply(extension: 'stories', config?: [], args?: any): Promise<StoriesEntry[]>;
57
+ apply(extension: 'managerEntries', config: [], args?: any): Promise<string[]>;
58
+ apply(extension: 'refs', config?: [], args?: any): Promise<unknown>;
59
+ apply(extension: 'core', config?: {}, args?: any): Promise<CoreConfig>;
60
60
  apply<T>(extension: string, config?: T, args?: unknown): Promise<T>;
61
61
  }
62
62
  interface LoadedPreset {
@@ -74,6 +74,7 @@ interface Ref {
74
74
  title: string;
75
75
  version: string;
76
76
  type?: string;
77
+ disable?: boolean;
77
78
  }
78
79
  interface VersionCheck {
79
80
  success: boolean;
@@ -111,10 +112,6 @@ interface LoadOptions {
111
112
  ignorePreview?: boolean;
112
113
  extendServer?: (server: Server) => void;
113
114
  }
114
- interface ManagerWebpackOptions {
115
- entries: string[];
116
- refs: Record<string, Ref>;
117
- }
118
115
  interface CLIOptions {
119
116
  port?: number;
120
117
  ignorePreview?: boolean;
@@ -436,6 +433,7 @@ declare function getInterpretedFileWithExt(pathToFile: string): {
436
433
  ext: string;
437
434
  } | undefined;
438
435
 
436
+ declare function interopRequireDefault(filePath: string): any;
439
437
  declare function serverRequire(filePath: string | string[]): any;
440
438
  declare function serverResolve(filePath: string | string[]): string | null;
441
439
 
@@ -460,6 +458,9 @@ interface StorybookInfo {
460
458
  }
461
459
  declare const getStorybookInfo: (packageJson: PackageJson) => StorybookInfo;
462
460
 
461
+ declare const getAutoRefs: (options: Options$1) => Promise<Record<string, Ref>>;
462
+ declare function getRefs(options: Options$1): Promise<Record<string, Ref>>;
463
+
463
464
  declare function loadManagerOrAddonsFile({ configDir }: {
464
465
  configDir: string;
465
466
  }): string | undefined;
@@ -496,8 +497,6 @@ declare const cache: Cache.FileSystemCache;
496
497
 
497
498
  declare function getPreviewBodyTemplate(configDirPath: string, interpolations?: Record<string, string>): string;
498
499
  declare function getPreviewHeadTemplate(configDirPath: string, interpolations?: Record<string, string>): string;
499
- declare function getManagerHeadTemplate(configDirPath: string, interpolations: Record<string, string>): string;
500
- declare function getManagerMainTemplate(): string;
501
500
  declare function getPreviewMainTemplate(): string;
502
501
 
503
502
  /**
@@ -528,4 +527,4 @@ declare function readTemplate(filename: string): Promise<string>;
528
527
 
529
528
  declare const findDistEsm: (cwd: string, relativePath: string) => string;
530
529
 
531
- export { AddonEntry, AddonInfo, Builder, BuilderName, BuilderOptions, BuilderResult, CLIOptions, CoreConfig, Entry, IndexedStory, IndexerOptions, LoadOptions, LoadedPreset, ManagerWebpackOptions, NormalizedStoriesSpecifier, Options$1 as Options, OptionsEntry, PackageJson, Preset, PresetConfig, PresetProperty, PresetPropertyFn, Presets, Ref, ReleaseNotesData, Stats, StoriesEntry, StoryIndex, StoryIndexer, StorybookConfig, StorybookConfigOptions, TypescriptOptions, VersionCheck, boost, cache, checkAddonOrder, createFileSystemCache, filterPresetsConfig, findDistEsm, getDirectoryFromWorkingDir, getInterpretedFile, getInterpretedFileWithExt, getManagerHeadTemplate, getManagerMainTemplate, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getPreviewMainTemplate, getProjectRoot, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interpolate, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, resolveAddonName, resolvePathInStorybookCache, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, useProgressReporting, validateConfigurationFiles };
530
+ export { AddonEntry, AddonInfo, Builder, BuilderName, BuilderOptions, BuilderResult, CLIOptions, CoreConfig, Entry, IndexedStory, IndexerOptions, LoadOptions, LoadedPreset, NormalizedStoriesSpecifier, Options$1 as Options, OptionsEntry, PackageJson, Preset, PresetConfig, PresetProperty, PresetPropertyFn, Presets, Ref, ReleaseNotesData, Stats, StoriesEntry, StoryIndex, StoryIndexer, StorybookConfig, StorybookConfigOptions, TypescriptOptions, VersionCheck, boost, cache, checkAddonOrder, createFileSystemCache, filterPresetsConfig, findDistEsm, getAutoRefs, getDirectoryFromWorkingDir, getInterpretedFile, getInterpretedFileWithExt, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getPreviewMainTemplate, getProjectRoot, getRefs, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interopRequireDefault, interpolate, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, resolveAddonName, resolvePathInStorybookCache, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, useProgressReporting, validateConfigurationFiles };
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
- var tt=Object.create;var v=Object.defineProperty,rt=Object.defineProperties,ot=Object.getOwnPropertyDescriptor,nt=Object.getOwnPropertyDescriptors,st=Object.getOwnPropertyNames,R=Object.getOwnPropertySymbols,it=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var le=(e,t,r)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,d=(e,t)=>{for(var r in t||(t={}))G.call(t,r)&&le(e,r,t[r]);if(R)for(var r of R(t))pe.call(t,r)&&le(e,r,t[r]);return e},I=(e,t)=>rt(e,nt(t)),n=(e,t)=>v(e,"name",{value:t,configurable:!0});var N=(e,t)=>{var r={};for(var o in e)G.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&R)for(var o of R(e))t.indexOf(o)<0&&pe.call(e,o)&&(r[o]=e[o]);return r};var at=(e,t)=>{for(var r in t)v(e,r,{get:t[r],enumerable:!0})},me=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of st(t))!G.call(e,s)&&s!==r&&v(e,s,{get:()=>t[s],enumerable:!(o=ot(t,s))||o.enumerable});return e};var c=(e,t,r)=>(r=e!=null?tt(it(e)):{},me(t||!e||!e.__esModule?v(r,"default",{value:e,enumerable:!0}):r,e)),ct=e=>me(v({},"__esModule",{value:!0}),e);var Kt={};at(Kt,{boost:()=>P,cache:()=>_t,checkAddonOrder:()=>bt,createFileSystemCache:()=>W,filterPresetsConfig:()=>Pe,findDistEsm:()=>zt,getDirectoryFromWorkingDir:()=>Xe,getInterpretedFile:()=>b,getInterpretedFileWithExt:()=>z,getManagerHeadTemplate:()=>qt,getManagerMainTemplate:()=>Dt,getPresets:()=>Oe,getPreviewBodyTemplate:()=>Mt,getPreviewHeadTemplate:()=>Ht,getPreviewMainTemplate:()=>Lt,getProjectRoot:()=>vt,getStorybookConfiguration:()=>oe,getStorybookInfo:()=>At,globToRegexp:()=>ae,handlebars:()=>Pt,interpolate:()=>Wt,loadAllPresets:()=>ht,loadCustomPresets:()=>X,loadEnvs:()=>$t,loadMainConfig:()=>jt,loadManagerOrAddonsFile:()=>Rt,loadPreset:()=>Se,loadPreviewOrConfigFile:()=>It,logConfig:()=>Nt,nodePathsToArray:()=>te,normalizeStories:()=>Gt,normalizeStoriesEntry:()=>Qe,normalizeStoryPath:()=>re,readTemplate:()=>Jt,resolveAddonName:()=>je,resolvePathInStorybookCache:()=>se,serverRequire:()=>w,serverResolve:()=>_,stringifyEnvs:()=>Et,stringifyProcessEnvs:()=>kt,useProgressReporting:()=>Tt,validateConfigurationFiles:()=>S});module.exports=ct(Kt);var ke=c(require("ts-dedent")),C=require("@storybook/node-logger");var M=c(require("path"));var ge=c(require("interpret")),ye=c(require("path")),K=require("@storybook/node-logger");var J=c(require("fs")),de=require("interpret"),P=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function ft(){return[...Array.from(P),...Object.keys(de.extensions).filter(e=>!P.has(e)).sort((e,t)=>e.length-t.length)]}n(ft,"sortExtensions");var ue=ft();function b(e){return ue.map(t=>e.endsWith(t)?e:`${e}${t}`).find(t=>J.default.existsSync(t))}n(b,"getInterpretedFile");function z(e){return ue.map(t=>({path:e.endsWith(t)?e:`${e}${t}`,ext:t})).find(t=>J.default.existsSync(t.path))}n(z,"getInterpretedFileWithExt");var T=new Map;function he(e){if(!e)return 0;let t=T.get(e);if(t!==void 0)return t;if(typeof e=="string")return require(e),T.set(e,1),1;if(!Array.isArray(e))return e.register(require(e.module)),T.set(e,1),1;let r=0;for(let o=0;o<e.length;o+=1)try{r+=he(e[o]);break}catch{}return T.set(e,r),r}n(he,"registerCompiler");function lt(e){let t=require(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(lt,"interopRequireDefault");function pt(e){for(let t=0;t<e.length;t+=1){let r=z(e[t]);if(r)return r}}n(pt,"getCandidate");function w(e){let t=_(e);if(!t)return null;let r=ye.default.extname(t),o=ge.default.extensions[r];return o&&he(o)===0?(K.logger.warn(`=> File ${t} is detected`),K.logger.warn(` but impossible to import loader for ${r}`),null):lt(t)}n(w,"serverRequire");function _(e){let t=Array.isArray(e)?e:[e],r=pt(t);return r?r.path:null}n(_,"serverResolve");var j=c(require("ts-dedent")),xe=c(require("util-deprecate")),be=c(require("glob")),$=c(require("path"));var mt=(0,xe.default)(()=>{},j.default`
1
+ "use strict";var tt=Object.create;var w=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var ot=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,st=Object.prototype.hasOwnProperty;var n=(e,t)=>w(e,"name",{value:t,configurable:!0});var it=(e,t)=>{for(var r in t)w(e,r,{get:t[r],enumerable:!0})},ie=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ot(t))!st.call(e,s)&&s!==r&&w(e,s,{get:()=>t[s],enumerable:!(o=rt(t,s))||o.enumerable});return e};var p=(e,t,r)=>(r=e!=null?tt(nt(e)):{},ie(t||!e||!e.__esModule?w(r,"default",{value:e,enumerable:!0}):r,e)),at=e=>ie(w({},"__esModule",{value:!0}),e);var Gt={};it(Gt,{boost:()=>$,cache:()=>_t,checkAddonOrder:()=>yt,createFileSystemCache:()=>M,filterPresetsConfig:()=>be,findDistEsm:()=>Jt,getAutoRefs:()=>Ne,getDirectoryFromWorkingDir:()=>Xe,getInterpretedFile:()=>y,getInterpretedFileWithExt:()=>D,getPresets:()=>ke,getPreviewBodyTemplate:()=>Lt,getPreviewHeadTemplate:()=>Mt,getPreviewMainTemplate:()=>Ht,getProjectRoot:()=>ht,getRefs:()=>Ft,getStorybookConfiguration:()=>Z,getStorybookInfo:()=>St,globToRegexp:()=>oe,handlebars:()=>$t,interopRequireDefault:()=>A,interpolate:()=>Ut,loadAllPresets:()=>ut,loadCustomPresets:()=>J,loadEnvs:()=>bt,loadMainConfig:()=>kt,loadManagerOrAddonsFile:()=>Rt,loadPreset:()=>we,loadPreviewOrConfigFile:()=>It,logConfig:()=>Nt,nodePathsToArray:()=>V,normalizeStories:()=>Wt,normalizeStoriesEntry:()=>Ze,normalizeStoryPath:()=>X,readTemplate:()=>Yt,resolveAddonName:()=>ve,resolvePathInStorybookCache:()=>te,serverRequire:()=>x,serverResolve:()=>F,stringifyEnvs:()=>vt,stringifyProcessEnvs:()=>wt,useProgressReporting:()=>Tt,validateConfigurationFiles:()=>P});module.exports=at(Gt);var xe=require("ts-dedent"),j=require("@storybook/node-logger");var R=p(require("path"));var fe=p(require("interpret")),pe=p(require("path")),W=require("@storybook/node-logger");var B=p(require("fs")),ae=require("interpret"),$=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function ct(){return[...Array.from($),...Object.keys(ae.extensions).filter(e=>!$.has(e)).sort((e,t)=>e.length-t.length)]}n(ct,"sortExtensions");var ce=ct();function y(e){return ce.map(t=>e.endsWith(t)?e:`${e}${t}`).find(t=>B.default.existsSync(t))}n(y,"getInterpretedFile");function D(e){return ce.map(t=>({path:e.endsWith(t)?e:`${e}${t}`,ext:t})).find(t=>B.default.existsSync(t.path))}n(D,"getInterpretedFileWithExt");var O=new Map;function le(e){if(!e)return 0;let t=O.get(e);if(t!==void 0)return t;if(typeof e=="string")return require(e),O.set(e,1),1;if(!Array.isArray(e))return e.register(require(e.module)),O.set(e,1),1;let r=0;for(let o=0;o<e.length;o+=1)try{r+=le(e[o]);break}catch{}return O.set(e,r),r}n(le,"registerCompiler");function A(e){let t=require(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(A,"interopRequireDefault");function ft(e){for(let t=0;t<e.length;t+=1){let r=D(e[t]);if(r)return r}}n(ft,"getCandidate");function x(e){let t=F(e);if(!t)return null;let r=pe.default.extname(t),o=fe.default.extensions[r];return o&&le(o)===0?(W.logger.warn(`=> File ${t} is detected`),W.logger.warn(` but impossible to import loader for ${r}`),null):A(t)}n(x,"serverRequire");function F(e){let t=Array.isArray(e)?e:[e],r=ft(t);return r?r.path:null}n(F,"serverResolve");var k=require("ts-dedent"),me=p(require("util-deprecate")),de=p(require("glob")),b=p(require("path"));var pt=(0,me.default)(()=>{},k.dedent`
2
2
  Configuration files such as "config", "presets" and "addons" are deprecated and will be removed in Storybook 7.0.
3
3
  Read more about it in the migration guide: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
4
- `),V=n((e,t,r)=>{let o=$.default.resolve(r,e),s=$.default.resolve(r,t);throw new Error(j.default`
4
+ `),Y=n((e,t,r)=>{let o=b.default.resolve(r,e),s=b.default.resolve(r,t);throw new Error(k.dedent`
5
5
  You have mixing configuration files:
6
6
  ${o}
7
7
  ${s}
8
8
  "${e}" and "${t}" cannot coexist.
9
9
  Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
10
- `)},"errorMixingConfigFiles");function S(e){let t=`{${Array.from(P).join(",")}}`,r=n(l=>!!be.default.sync($.default.resolve(e,`${l}${t}`)).length,"exists"),o=r("main"),s=r("config");if(!o&&!s)throw new Error(j.default`
11
- No configuration files have been found in your configDir (${$.default.resolve(e)}).
10
+ `)},"errorMixingConfigFiles");function P(e){let t=`{${Array.from($).join(",")}}`,r=n(a=>!!de.default.sync(b.default.resolve(e,`${a}${t}`)).length,"exists"),o=r("main"),s=r("config");if(!o&&!s)throw new Error(k.dedent`
11
+ No configuration files have been found in your configDir (${b.default.resolve(e)}).
12
12
  Storybook needs either a "main" or "config" file.
13
- `);if(o&&s)throw new Error(j.default`
14
- You have both a "main" and a "config". Please remove the "config" file from your configDir (${$.default.resolve(e,"config")})`);let i=r("presets");o&&i&&V("main","presets",e),r("preview")&&s&&V("preview","config",e);let m=r("addons");r("manager")&&m&&V("manager","addons",e),(i||s||m)&&mt()}n(S,"validateConfigurationFiles");function X({configDir:e}){S(e);let t=w(M.default.resolve(e,"presets"));if(w(M.default.resolve(e,"main"))){let o=_(M.default.resolve(e,"main"));if(o)return[o]}return t||[]}n(X,"loadCustomPresets");var ve=c(require("resolve-from")),we=n((e,t)=>{try{return(0,ve.default)(e,t)}catch{return}},"safeResolveFrom"),$e=n(e=>{try{return require.resolve(e)}catch{return}},"safeResolve");var O=n(e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,"isObject"),dt=n(e=>typeof e=="function","isFunction");function Pe(e){return e.filter(t=>{let r=typeof t=="string"?t:t.name;return!/@storybook[\\\\/]preset-typescript/.test(r)})}n(Pe,"filterPresetsConfig");function Ee(e,t,r){return dt(e)?[...e(d(d({},r),t))]:Array.isArray(e)?[...e]:[]}n(Ee,"resolvePresetFunction");var je=n((e,t,r)=>{let o=t.startsWith("/")?$e:we.bind(null,e),s=o(t);if(s){if(t.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:t,managerEntries:[s]};if(t.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:s}}let i=t,a=o(`${i}/manager`),m=o(`${i}/register`)||o(`${i}/register-panel`),u=o(`${i}/preview`),l=o(`${i}/preset`);if(!(a||u)&&l)return{type:"presets",name:l};if(a||m||u||l){let f=[];return a&&f.push(a),!a&&m&&!l&&f.push(m),d(d(d({type:"virtual",name:i},f.length?{managerEntries:f}:{}),u?{previewAnnotations:[u]}:{}),l?{presets:[{name:l,options:r}]}:{})}if(s)return{type:"presets",name:s}},"resolveAddonName"),ut=n(({configDir:e})=>t=>{let r=O(t)&&t.options||void 0,o=O(t)?t.name:t;try{let s=je(e,o,r);return d(d({},r?{options:r}:{}),s)}catch{C.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/
15
- ${t}`)}},"map");function gt(e){let t=require(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(gt,"interopRequireDefault");function yt(e){if(e.type==="virtual"){let r=e,{type:o,name:s}=r;return N(r,["type","name"])}let t=e.name?e.name:e;return gt(t)}n(yt,"getContent");function Se(e,t,r){try{let s=e.name?e.name:e,i=e.options?e.options:{},a=yt(e);if(typeof a=="function"&&(a=a(r,i)),Array.isArray(a))return H(a,t+1,r);if(O(a)){let o=a,{addons:m,presets:u}=o,l=N(o,["addons","presets"]),f=Ee(u,i,r),g=Ee(m,i,r);return[...H([...f],t+1,r),...H([...g.map(ut(r))].filter(Boolean),t+1,r),{name:s,preset:l,options:i}]}throw new Error(ke.default`
13
+ `);if(o&&s)throw new Error(k.dedent`
14
+ You have both a "main" and a "config". Please remove the "config" file from your configDir (${b.default.resolve(e,"config")})`);let i=r("presets");o&&i&&Y("main","presets",e),r("preview")&&s&&Y("preview","config",e);let f=r("addons");r("manager")&&f&&Y("manager","addons",e),(i||s||f)&&pt()}n(P,"validateConfigurationFiles");function J({configDir:e}){P(e);let t=x(R.default.resolve(e,"presets"));if(x(R.default.resolve(e,"main"))){let o=F(R.default.resolve(e,"main"));if(o)return[o]}return t||[]}n(J,"loadCustomPresets");var ue=p(require("resolve-from")),ge=n((e,t)=>{try{return(0,ue.default)(e,t)}catch{return}},"safeResolveFrom"),ye=n(e=>{try{return require.resolve(e)}catch{return}},"safeResolve");var E=n(e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,"isObject"),lt=n(e=>typeof e=="function","isFunction");function be(e){return e.filter(t=>{let r=typeof t=="string"?t:t.name;return!/@storybook[\\\\/]preset-typescript/.test(r)})}n(be,"filterPresetsConfig");function he(e,t,r){return lt(e)?[...e({...r,...t})]:Array.isArray(e)?[...e]:[]}n(he,"resolvePresetFunction");var ve=n((e,t,r)=>{let o=t.startsWith("/")?ye:ge.bind(null,e),s=o(t);if(s){if(t.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:t,managerEntries:[s]};if(t.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:s}}let i=t,l=o(`${i}/manager`),f=o(`${i}/register`)||o(`${i}/register-panel`),m=o(`${i}/preview`),a=o(`${i}/preset`);if(!(l||m)&&a)return{type:"presets",name:a};if(l||f||m||a){let c=[];return l&&c.push(l),!l&&f&&!a&&c.push(f),{type:"virtual",name:i,...c.length?{managerEntries:c}:{},...m?{previewAnnotations:[m]}:{},...a?{presets:[{name:a,options:r}]}:{}}}if(s)return{type:"presets",name:s}},"resolveAddonName"),mt=n(({configDir:e})=>t=>{let r=E(t)&&t.options||void 0,o=E(t)?t.name:t;try{let s=ve(e,o,r);return{...r?{options:r}:{},...s}}catch{j.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/
15
+ ${t}`)}},"map");function dt(e){if(e.type==="virtual"){let{type:r,name:o,...s}=e;return s}let t=e.name?e.name:e;return A(t)}n(dt,"getContent");function we(e,t,r){try{let o=e.name?e.name:e,s=e.options?e.options:{},i=dt(e);if(typeof i=="function"&&(i=i(r,s)),Array.isArray(i))return I(i,t+1,r);if(E(i)){let{addons:l,presets:f,...m}=i,a=he(f,s,r),c=he(l,s,r);return[...I([...a],t+1,r),...I([...c.map(mt(r))].filter(Boolean),t+1,r),{name:o,preset:m,options:s}]}throw new Error(xe.dedent`
16
16
  ${e} is not a valid preset
17
- `)}catch(s){let i=t>0?` Failed to load preset: ${JSON.stringify(e)} on level ${t}`:` Failed to load preset: ${JSON.stringify(e)}`;return C.logger.warn(i),C.logger.error(s),[]}}n(Se,"loadPreset");function H(e,t,r){return!e||!Array.isArray(e)||!e.length?[]:e.reduce((o,s)=>{let i=Se(s,t,r);return o.concat(i)},[])}n(H,"loadPresets");function Ce(e,t,r,o,s){let i=new Promise(a=>a(r));return e.length?e.reduce((a,{preset:m,options:u})=>{let l=m[t];if(!l)return a;if(typeof l=="function"){let f=l,g={preset:m,combinedOptions:I(d(d(d({},s),o),u),{presetsList:e,presets:{apply:async(y,x,A={})=>Ce(e,y,x,A,s)}})};return a.then(y=>f.call(g.preset,y,g.combinedOptions))}return a.then(f=>Array.isArray(f)&&Array.isArray(l)?[...f,...l]:O(f)&&O(l)?d(d({},f),l):l)},i):i}n(Ce,"applyPresets");function Oe(e,t){let r=H(e,0,t);return{apply:async(o,s,i={})=>Ce(r,o,s,i,t)}}n(Oe,"getPresets");function ht(e){let a=e,{corePresets:t=[],overridePresets:r=[]}=a,o=N(a,["corePresets","overridePresets"]),s=[...t,...X(e),...r],i=Pe(s);return i.length<s.length&&C.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Oe(i,o)}n(ht,"loadAllPresets");var{logger:Q}=require("@storybook/node-logger"),Z=n(e=>t=>{let r=t.name||t;return r&&r.includes(e)},"predicateFor"),xt=n((e,t,r)=>{let o=e.findIndex(Z("@storybook/addon-essentials")),s=e.findIndex(Z(t.name)),i=e.findIndex(Z(r.name));return s===-1&&t.inEssentials&&(s=o),i===-1&&r.inEssentials&&(i=o),s!==-1&&i!==-1&&s<=i},"isCorrectOrder"),bt=n(async({before:e,after:t,configFile:r,getConfig:o})=>{try{let s=await o(r);if(!(s!=null&&s.addons)){Q.warn("Unable to find 'addons' config in main Storybook config");return}if(!xt(s.addons,e,t)){let i=" (or '@storybook/addon-essentials')",a=`'${e.name}'${e.inEssentials?i:""}`,m=`'${t.name}'${t.inEssentials?i:""}`;Q.warn(`Expected ${a} to be listed before ${m} in main Storybook config.`)}}catch{Q.warn(`Unable to load config file: ${r}`)}},"checkAddonOrder");var Fe=require("lazy-universal-dotenv");var F=c(require("path")),ee=c(require("find-up")),vt=n(()=>{let e;try{let t=ee.default.sync(".git",{type:"directory"});t&&(e=e||F.default.join(t,".."))}catch{}try{let t=ee.default.sync(".svn",{type:"directory"});t&&(e=e||F.default.join(t,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},"getProjectRoot"),te=n(e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(t=>F.default.resolve("./",t)),"nodePathsToArray"),wt=/^\.{1,2}([/\\]|$)/;function re(e){return wt.test(e)?e:`.${F.default.sep}${e}`}n(re,"normalizeStoryPath");function $t(e={}){let t=e.production?"production":"development",r={NODE_ENV:process.env.NODE_ENV||t,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(process.env).filter(m=>/^STORYBOOK_/.test(m)).forEach(m=>{r[m]=process.env[m]});let o=Object.entries(r).reduce((m,[u,l])=>Object.assign(m,{[u]:JSON.stringify(l)}),{}),{stringified:s,raw:i}=(0,Fe.getEnvironment)({nodeEnv:r.NODE_ENV}),a=d(d({},r),i);return a.NODE_PATH=te(a.NODE_PATH||""),{stringified:d(d({},o),s),raw:a}}n($t,"loadEnvs");var Et=n(e=>Object.entries(e).reduce((t,[r,o])=>(t[r]=JSON.stringify(o),t),{}),"stringifyEnvs"),kt=n(e=>Object.entries(e).reduce((r,[o,s])=>(r[`process.env.${o}`]=JSON.stringify(s),r),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'}),"stringifyProcessEnvs");var Ae=c(require("handlebars"));function Pt(e,t){return Ae.default.compile(e)(t)}n(Pt,"handlebars");var Re=c(require("path"));function jt({configDir:e}){return S(e),w(Re.default.resolve(e,"main"))}n(jt,"loadMainConfig");function oe(e,t,r){if(!e)return null;let o=e.split(/[\s='"]+/),s=o.indexOf(r);return s===-1&&(s=o.indexOf(t)),s===-1?null:o[s+1]}n(oe,"getStorybookConfiguration");var Te=c(require("path")),_e=c(require("fs-extra"));var Ie={"@storybook/react":"react","@storybook/vue":"vue","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/marko":"marko","@storybook/mithril":"mithril","@storybook/riot":"riot","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/rax":"rax","@storybook/server":"server"},Ne=console,St=n(({dependencies:e,devDependencies:t,peerDependencies:r},o)=>[Object.entries(e||{}).find(o),Object.entries(t||{}).find(o),Object.entries(r||{}).find(o)],"findDependency"),Ct=n(e=>{let[t,r,o]=St(e,([m])=>Ie[m]),[s,i]=t||r||o||[],a=s?Ie[s]:void 0;return t&&r&&t[0]===r[0]&&Ne.warn(`Found "${t[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),t&&o&&t[0]===o[0]&&Ne.warn(`Found "${t[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{framework:a,version:i,frameworkPackage:s}},"getFrameworkInfo"),Ot=["ts","js","tsx","jsx","mjs","cjs"],ne=n((e,t)=>{let r=Te.default.join(t,e),o=Ot.find(s=>_e.default.existsSync(`${r}.${s}`));return o?`${r}.${o}`:null},"findConfigFile"),Ft=n(e=>{var o;let t=".storybook",r=(o=e.scripts)==null?void 0:o.storybook;if(r){let s=oe(r,"-c","--config-dir");s&&(t=s)}return{configDir:t,mainConfig:ne("main",t),previewConfig:ne("preview",t),managerConfig:ne("manager",t)}},"getConfigInfo"),At=n(e=>{let t=Ct(e),r=Ft(e);return d(d({},t),r)},"getStorybookInfo");var q=c(require("path")),Me=require("@storybook/node-logger"),He=c(require("ts-dedent"));function Rt({configDir:e}){let t=b(q.default.resolve(e,"addons")),r=b(q.default.resolve(e,"manager"));if((t||r)&&Me.logger.info("=> Loading custom manager config"),t&&r)throw new Error(He.default`
18
- You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${q.default.resolve(e,"addons")})`);return r||t}n(Rt,"loadManagerOrAddonsFile");var D=c(require("path")),qe=c(require("ts-dedent"));function It({configDir:e}){let t=b(D.default.resolve(e,"config")),r=b(D.default.resolve(e,"preview"));if(t&&r)throw new Error(qe.default`
19
- You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${D.default.resolve(e,"config")})`);return r||t}n(It,"loadPreviewOrConfigFile");var De=c(require("chalk"));function Nt(e,t){console.log(De.default.cyan(e)),console.dir(t,{depth:null})}n(Nt,"logConfig");var Le=c(require("pretty-hrtime")),We=n(e=>(0,Le.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),"printDuration");var Tt=n(async(e,t,r)=>{var u;let o=0,s,i=n(()=>{},"reportProgress");e.get("/progress",(l,f)=>{let g=!1,y=n(()=>{g=!0,f.end()},"close");f.on("close",y),!(g||f.writableEnded)&&(f.setHeader("Cache-Control","no-cache"),f.setHeader("Content-Type","text/event-stream"),f.setHeader("Connection","keep-alive"),f.flushHeaders(),i=n(x=>{g||f.writableEnded||(f.write(`data: ${JSON.stringify(x)}
17
+ `)}catch(o){let s=t>0?` Failed to load preset: ${JSON.stringify(e)} on level ${t}`:` Failed to load preset: ${JSON.stringify(e)}`;return j.logger.warn(s),j.logger.error(o),[]}}n(we,"loadPreset");function I(e,t,r){return!e||!Array.isArray(e)||!e.length?[]:e.reduce((o,s)=>{let i=we(s,t,r);return o.concat(i)},[])}n(I,"loadPresets");function $e(e,t,r,o,s){let i=new Promise(l=>l(r));return e.length?e.reduce((l,{preset:f,options:m})=>{let a=f[t];if(!a)return l;if(typeof a=="function"){let c=a,d={preset:f,combinedOptions:{...s,...o,...m,presetsList:e,presets:{apply:async(u,g,S={})=>$e(e,u,g,S,s)}}};return l.then(u=>c.call(d.preset,u,d.combinedOptions))}return l.then(c=>Array.isArray(c)&&Array.isArray(a)?[...c,...a]:E(c)&&E(a)?{...c,...a}:a)},i):i}n($e,"applyPresets");function ke(e,t){let r=I(e,0,t);return{apply:async(o,s,i={})=>$e(r,o,s,i,t)}}n(ke,"getPresets");function ut(e){let{corePresets:t=[],overridePresets:r=[],...o}=e,s=[...t,...J(e),...r],i=be(s);return i.length<s.length&&j.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),ke(i,o)}n(ut,"loadAllPresets");var{logger:G}=require("@storybook/node-logger"),z=n(e=>t=>{let r=t.name||t;return r&&r.includes(e)},"predicateFor"),gt=n((e,t,r)=>{let o=e.findIndex(z("@storybook/addon-essentials")),s=e.findIndex(z(t.name)),i=e.findIndex(z(r.name));return s===-1&&t.inEssentials&&(s=o),i===-1&&r.inEssentials&&(i=o),s!==-1&&i!==-1&&s<=i},"isCorrectOrder"),yt=n(async({before:e,after:t,configFile:r,getConfig:o})=>{try{let s=await o(r);if(!(s!=null&&s.addons)){G.warn("Unable to find 'addons' config in main Storybook config");return}if(!gt(s.addons,e,t)){let i=" (or '@storybook/addon-essentials')",l=`'${e.name}'${e.inEssentials?i:""}`,f=`'${t.name}'${t.inEssentials?i:""}`;G.warn(`Expected ${l} to be listed before ${f} in main Storybook config.`)}}catch{G.warn(`Unable to load config file: ${r}`)}},"checkAddonOrder");var Pe=require("lazy-universal-dotenv");var C=p(require("path")),K=p(require("find-up")),ht=n(()=>{let e;try{let t=K.default.sync(".git",{type:"directory"});t&&(e=e||C.default.join(t,".."))}catch{}try{let t=K.default.sync(".svn",{type:"directory"});t&&(e=e||C.default.join(t,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},"getProjectRoot"),V=n(e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(t=>C.default.resolve("./",t)),"nodePathsToArray"),xt=/^\.{1,2}([/\\]|$)/;function X(e){return xt.test(e)?e:`.${C.default.sep}${e}`}n(X,"normalizeStoryPath");function bt(e={}){let t=e.production?"production":"development",r={NODE_ENV:process.env.NODE_ENV||t,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(process.env).filter(f=>/^STORYBOOK_/.test(f)).forEach(f=>{r[f]=process.env[f]});let o=Object.entries(r).reduce((f,[m,a])=>Object.assign(f,{[m]:JSON.stringify(a)}),{}),{stringified:s,raw:i}=(0,Pe.getEnvironment)({nodeEnv:r.NODE_ENV}),l={...r,...i};return l.NODE_PATH=V(l.NODE_PATH||""),{stringified:{...o,...s},raw:l}}n(bt,"loadEnvs");var vt=n(e=>Object.entries(e).reduce((t,[r,o])=>(t[r]=JSON.stringify(o),t),{}),"stringifyEnvs"),wt=n(e=>Object.entries(e).reduce((r,[o,s])=>(r[`process.env.${o}`]=JSON.stringify(s),r),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'}),"stringifyProcessEnvs");var je=p(require("handlebars"));function $t(e,t){return je.default.compile(e)(t)}n($t,"handlebars");var Ee=p(require("path"));function kt({configDir:e}){return P(e),x(Ee.default.resolve(e,"main"))}n(kt,"loadMainConfig");function Z(e,t,r){if(!e)return null;let o=e.split(/[\s='"]+/),s=o.indexOf(r);return s===-1&&(s=o.indexOf(t)),s===-1?null:o[s+1]}n(Z,"getStorybookConfiguration");var Oe=p(require("path")),Ae=p(require("fs-extra"));var Ce={"@storybook/react":"react","@storybook/vue":"vue","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/marko":"marko","@storybook/mithril":"mithril","@storybook/riot":"riot","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/rax":"rax","@storybook/server":"server"},Se=console,Pt=n(({dependencies:e,devDependencies:t,peerDependencies:r},o)=>[Object.entries(e||{}).find(o),Object.entries(t||{}).find(o),Object.entries(r||{}).find(o)],"findDependency"),jt=n(e=>{let[t,r,o]=Pt(e,([f])=>Ce[f]),[s,i]=t||r||o||[],l=s?Ce[s]:void 0;return t&&r&&t[0]===r[0]&&Se.warn(`Found "${t[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),t&&o&&t[0]===o[0]&&Se.warn(`Found "${t[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{framework:l,version:i,frameworkPackage:s}},"getFrameworkInfo"),Et=["ts","js","tsx","jsx","mjs","cjs"],Q=n((e,t)=>{let r=Oe.default.join(t,e),o=Et.find(s=>Ae.default.existsSync(`${r}.${s}`));return o?`${r}.${o}`:null},"findConfigFile"),Ct=n(e=>{var o;let t=".storybook",r=(o=e.scripts)==null?void 0:o.storybook;if(r){let s=Z(r,"-c","--config-dir");s&&(t=s)}return{configDir:t,mainConfig:Q("main",t),previewConfig:Q("preview",t),managerConfig:Q("manager",t)}},"getConfigInfo"),St=n(e=>{let t=jt(e),r=Ct(e);return{...t,...r}},"getStorybookInfo");var ee=require("fs-extra"),N=require("path"),Fe=p(require("find-up")),Re=p(require("resolve-from")),Ie=require("@storybook/node-logger"),Ne=n(async e=>{let t=await(0,Fe.default)("package.json",{cwd:e.configDir});if(!t)return{};let r=(0,N.dirname)(t),{dependencies:o=[],devDependencies:s=[]}=await(0,ee.readJSON)(t)||{},i=Object.keys({...o,...s});return(await Promise.all(i.map(async f=>{try{let m=(0,Re.default)(r,(0,N.join)(f,"package.json")),{storybook:a,name:c,version:d}=await(0,ee.readJSON)(m)||{};if(a!=null&&a.url)return{id:c,...a,version:d}}catch{Ie.logger.warn(`unable to find package.json for ${f}`);return}}))).filter(Boolean).reduce((f,m)=>({...f,[m.id]:{id:m.id.toLowerCase(),url:Te(m.url),title:m.title,version:m.version}}),{})},"getAutoRefs"),Ot=n(e=>fetch(`${e}/iframe.html`).then(({ok:t})=>t,()=>!1),"checkRef"),Te=n(e=>e.replace(/\/$/,""),"stripTrailingSlash"),At=n(e=>{let t=e.replace(/[A-Z]/g,r=>` ${r}`).replace(/[-_][A-Z]/gi,r=>` ${r.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${t.substring(0,1).toUpperCase()}${t.substring(1)}`.trim()},"toTitle");async function Ft(e){let t=await e.presets.apply("refs",await Ne(e));return Object.entries(t).forEach(([r,o])=>{if(o.disable){delete t[r];return}t[r.toLowerCase()]={...o,id:r.toLowerCase(),title:o.title||At(o.id||r),url:Te(o.url)}}),await Promise.all(Object.entries(t).map(async([r,o])=>{let s=await Ot(o.url);t[r]={...o,type:s?"server-checked":"unknown"}})),t}n(Ft,"getRefs");var T=p(require("path")),_e=require("@storybook/node-logger"),Le=require("ts-dedent");function Rt({configDir:e}){let t=y(T.default.resolve(e,"addons")),r=y(T.default.resolve(e,"manager"));if((t||r)&&_e.logger.info("=> Loading custom manager config"),t&&r)throw new Error(Le.dedent`
18
+ You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${T.default.resolve(e,"addons")})`);return r||t}n(Rt,"loadManagerOrAddonsFile");var _=p(require("path")),Me=require("ts-dedent");function It({configDir:e}){let t=y(_.default.resolve(e,"config")),r=y(_.default.resolve(e,"preview"));if(t&&r)throw new Error(Me.dedent`
19
+ You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${_.default.resolve(e,"config")})`);return r||t}n(It,"loadPreviewOrConfigFile");var He=p(require("chalk"));function Nt(e,t){console.log(He.default.cyan(e)),console.dir(t,{depth:null})}n(Nt,"logConfig");var Ue=p(require("pretty-hrtime")),qe=n(e=>(0,Ue.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),"printDuration");var Tt=n(async(e,t,r)=>{var m;let o=0,s,i=n(()=>{},"reportProgress");e.get("/progress",(a,c)=>{let d=!1,u=n(()=>{d=!0,c.end()},"close");c.on("close",u),!(d||c.writableEnded)&&(c.setHeader("Cache-Control","no-cache"),c.setHeader("Content-Type","text/event-stream"),c.setHeader("Connection","keep-alive"),c.flushHeaders(),i=n(g=>{d||c.writableEnded||(c.write(`data: ${JSON.stringify(g)}
20
20
 
21
- `),f.flush(),x.value===1&&y())},"reportProgress"))});let a=n((l,f,g)=>{o=Math.max(l,o);let y={value:o,message:f.charAt(0).toUpperCase()+f.slice(1)};if(f==="building"){let x=g&&g.match(/(\d+)\/(\d+)/)||[],A=parseInt(x[1],10),U=parseInt(x[2],10);!Number.isNaN(A)&&!Number.isNaN(U)&&(y.modules={complete:A,total:U},s=U)}o===1&&(r.cache&&r.cache.set("modulesCount",s),y.message||(y.message=`Completed in ${We(t)}.`)),i(y)},"handler"),m=await((u=r.cache)==null?void 0:u.get("modulesCount").catch(()=>{}))||1e3;return{handler:a,modulesCount:m}},"useProgressReporting");var L=c(require("path")),Be=c(require("pkg-dir"));function se(e){let t=process.cwd(),r=Be.default.sync(t),o;return r?o=L.default.resolve(r,"node_modules/.cache/storybook"):o=L.default.resolve(t,".cache/storybook"),L.default.join(o,e)}n(se,"resolvePathInStorybookCache");var Ye=c(require("file-system-cache"));function W(e){return(0,Ye.default)(e)}n(W,"createFileSystemCache");var _t=W({basePath:se("dev-server"),ns:"storybook"});var B=c(require("path")),E=require("pkg-dir"),h=c(require("fs")),ie=n((e,t={})=>Object.entries(t).reduce((r,[o,s])=>r.replace(new RegExp(`%${o}%`,"g"),s),e),"interpolate");function Mt(e,t){let r=h.default.readFileSync(`${(0,E.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),o=B.default.resolve(e,"preview-body.html"),s=r;return h.default.existsSync(o)&&(s=h.default.readFileSync(o,"utf8")+s),ie(s,t)}n(Mt,"getPreviewBodyTemplate");function Ht(e,t){let r=h.default.readFileSync(`${(0,E.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),o=B.default.resolve(e,"preview-head.html"),s=r;return h.default.existsSync(o)&&(s+=h.default.readFileSync(o,"utf8")),ie(s,t)}n(Ht,"getPreviewHeadTemplate");function qt(e,t){let r=h.default.readFileSync(`${(0,E.sync)(__dirname)}/templates/base-manager-head.html`,"utf8"),o=B.default.resolve(e,"manager-head.html"),s=r;return h.default.existsSync(o)&&(s+=h.default.readFileSync(o,"utf8")),ie(s,t)}n(qt,"getManagerHeadTemplate");function Dt(){return`${(0,E.sync)(__dirname)}/templates/index.ejs`}n(Dt,"getManagerMainTemplate");function Lt(){return`${(0,E.sync)(__dirname)}/templates/index.ejs`}n(Lt,"getPreviewMainTemplate");var Wt=n((e,t)=>Object.entries(t).reduce((r,[o,s])=>{let i=s.replace(/\\/g,"/").replace(/\$/g,"$$$");return r.replace(new RegExp(`{{${o}}}`,"g"),i)},e),"interpolate");var Ue=require("picomatch");function ae(e){let t=(0,Ue.makeRe)(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!t.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${t}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",t.source.substring(1)].join("")):t}n(ae,"globToRegexp");var Je=c(require("fs")),k=c(require("path")),ze=c(require("util-deprecate")),Ke=c(require("ts-dedent")),Ve=require("picomatch"),ce=c(require("slash"));var Y="",Ge="**/*.(stories|docs).@(mdx|tsx|ts|jsx|js)",Bt=(0,ze.default)(e=>e.input.replace(e[1],`@${e[1]}`),Ke.default`
21
+ `),c.flush(),g.value===1&&u())},"reportProgress"))});let l=n((a,c,d)=>{o=Math.max(a,o);let u={value:o,message:c.charAt(0).toUpperCase()+c.slice(1)};if(c==="building"){let g=d&&d.match(/(\d+)\/(\d+)/)||[],S=parseInt(g[1],10),q=parseInt(g[2],10);!Number.isNaN(S)&&!Number.isNaN(q)&&(u.modules={complete:S,total:q},s=q)}o===1&&(r.cache&&r.cache.set("modulesCount",s),u.message||(u.message=`Completed in ${qe(t)}.`)),i(u)},"handler"),f=await((m=r.cache)==null?void 0:m.get("modulesCount").catch(()=>{}))||1e3;return{handler:l,modulesCount:f}},"useProgressReporting");var L=p(require("path")),Be=p(require("pkg-dir"));function te(e){let t=process.cwd(),r=Be.default.sync(t),o;return r?o=L.default.resolve(r,"node_modules/.cache/storybook"):o=L.default.resolve(t,".cache/storybook"),L.default.join(o,e)}n(te,"resolvePathInStorybookCache");var De=p(require("file-system-cache"));function M(e){return(0,De.default)(e)}n(M,"createFileSystemCache");var _t=M({basePath:te("dev-server"),ns:"storybook"});var re=p(require("path")),H=require("pkg-dir"),h=p(require("fs")),We=n((e,t={})=>Object.entries(t).reduce((r,[o,s])=>r.replace(new RegExp(`%${o}%`,"g"),s),e),"interpolate");function Lt(e,t){let r=h.default.readFileSync(`${(0,H.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),o=re.default.resolve(e,"preview-body.html"),s=r;return h.default.existsSync(o)&&(s=h.default.readFileSync(o,"utf8")+s),We(s,t)}n(Lt,"getPreviewBodyTemplate");function Mt(e,t){let r=h.default.readFileSync(`${(0,H.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),o=re.default.resolve(e,"preview-head.html"),s=r;return h.default.existsSync(o)&&(s+=h.default.readFileSync(o,"utf8")),We(s,t)}n(Mt,"getPreviewHeadTemplate");function Ht(){return`${(0,H.sync)(__dirname)}/templates/preview.ejs`}n(Ht,"getPreviewMainTemplate");var Ut=n((e,t)=>Object.entries(t).reduce((r,[o,s])=>{let i=s.replace(/\\/g,"/").replace(/\$/g,"$$$");return r.replace(new RegExp(`{{${o}}}`,"g"),i)},e),"interpolate");var Ye=require("picomatch");function oe(e){let t=(0,Ye.makeRe)(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!t.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${t}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",t.source.substring(1)].join("")):t}n(oe,"globToRegexp");var Ge=p(require("fs")),v=p(require("path")),ze=p(require("util-deprecate")),Ke=require("ts-dedent"),Ve=require("picomatch"),ne=p(require("slash"));var U="",Je="**/*.(stories|docs).@(mdx|tsx|ts|jsx|js)",qt=(0,ze.default)(e=>e.input.replace(e[1],`@${e[1]}`),Ke.dedent`
22
22
  You have specified an invalid glob, we've attempted to fix it, please ensure that the glob you specify is valid. See: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#correct-globs-in-mainjs
23
- `),Yt=n(e=>{let t=e.match(/\.(\([^)]+\))/);return t?Bt(t):e},"detectBadGlob"),Ut=n((e,t)=>{try{return Je.default.lstatSync(k.default.resolve(e,t)).isDirectory()}catch{return!1}},"isDirectory"),Xe=n(({configDir:e,workingDir:t,directory:r})=>{let o=k.default.resolve(e,r),s=k.default.relative(t,o);return re(s)},"getDirectoryFromWorkingDir"),Qe=n((e,{configDir:t,workingDir:r})=>{let o;if(typeof e=="string"){let u=Yt(e),l=(0,Ve.scan)(u);if(l.isGlob){let f=l.prefix+l.base,g=l.glob;o={titlePrefix:Y,directory:f,files:g}}else Ut(t,e)?o={titlePrefix:Y,directory:e,files:Ge}:o={titlePrefix:Y,directory:k.default.dirname(e),files:k.default.basename(e)}}else o=d({titlePrefix:Y,files:Ge},e);let s=(0,ce.default)(o.files),{directory:i}=o,a=(0,ce.default)(Xe({configDir:t,workingDir:r,directory:i})).replace(/\/$/,""),m=ae(`${a}/${s}`);return I(d({},o),{directory:a,importPathMatcher:m})},"normalizeStoriesEntry"),Gt=n((e,t)=>e.map(r=>Qe(r,t)),"normalizeStories");var Ze=c(require("fs-extra"));async function Jt(e){return Ze.default.readFile(e,{encoding:"utf8"})}n(Jt,"readTemplate");var fe=c(require("path")),et=require("find-up"),zt=n((e,t)=>{let r=(0,et.sync)("package.json",{cwd:e});if(!r)throw new Error(`Could not find package.json in: ${e}`);let o=fe.default.dirname(r);return fe.default.join(o,"dist","esm",t)},"findDistEsm");0&&(module.exports={boost,cache,checkAddonOrder,createFileSystemCache,filterPresetsConfig,findDistEsm,getDirectoryFromWorkingDir,getInterpretedFile,getInterpretedFileWithExt,getManagerHeadTemplate,getManagerMainTemplate,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getPreviewMainTemplate,getProjectRoot,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interpolate,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,resolveAddonName,resolvePathInStorybookCache,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,useProgressReporting,validateConfigurationFiles});
23
+ `),Bt=n(e=>{let t=e.match(/\.(\([^)]+\))/);return t?qt(t):e},"detectBadGlob"),Dt=n((e,t)=>{try{return Ge.default.lstatSync(v.default.resolve(e,t)).isDirectory()}catch{return!1}},"isDirectory"),Xe=n(({configDir:e,workingDir:t,directory:r})=>{let o=v.default.resolve(e,r),s=v.default.relative(t,o);return X(s)},"getDirectoryFromWorkingDir"),Ze=n((e,{configDir:t,workingDir:r})=>{let o;if(typeof e=="string"){let m=Bt(e),a=(0,Ve.scan)(m);if(a.isGlob){let c=a.prefix+a.base,d=a.glob;o={titlePrefix:U,directory:c,files:d}}else Dt(t,e)?o={titlePrefix:U,directory:e,files:Je}:o={titlePrefix:U,directory:v.default.dirname(e),files:v.default.basename(e)}}else o={titlePrefix:U,files:Je,...e};let s=(0,ne.default)(o.files),{directory:i}=o,l=(0,ne.default)(Xe({configDir:t,workingDir:r,directory:i})).replace(/\/$/,""),f=oe(`${l}/${s}`);return{...o,directory:l,importPathMatcher:f}},"normalizeStoriesEntry"),Wt=n((e,t)=>e.map(r=>Ze(r,t)),"normalizeStories");var Qe=p(require("fs-extra"));async function Yt(e){return Qe.default.readFile(e,{encoding:"utf8"})}n(Yt,"readTemplate");var se=p(require("path")),et=require("find-up"),Jt=n((e,t)=>{let r=(0,et.sync)("package.json",{cwd:e});if(!r)throw new Error(`Could not find package.json in: ${e}`);let o=se.default.dirname(r);return se.default.join(o,"dist","esm",t)},"findDistEsm");0&&(module.exports={boost,cache,checkAddonOrder,createFileSystemCache,filterPresetsConfig,findDistEsm,getAutoRefs,getDirectoryFromWorkingDir,getInterpretedFile,getInterpretedFileWithExt,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getPreviewMainTemplate,getProjectRoot,getRefs,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interopRequireDefault,interpolate,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,resolveAddonName,resolvePathInStorybookCache,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,useProgressReporting,validateConfigurationFiles});
package/dist/index.mjs CHANGED
@@ -1,23 +1,23 @@
1
- var Q=Object.defineProperty,Ee=Object.defineProperties;var Pe=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable;var X=(e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,d=(e,t)=>{for(var r in t||(t={}))Z.call(t,r)&&X(e,r,t[r]);if(S)for(var r of S(t))ee.call(t,r)&&X(e,r,t[r]);return e},C=(e,t)=>Ee(e,Pe(t)),n=(e,t)=>Q(e,"name",{value:t,configurable:!0}),h=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var F=(e,t)=>{var r={};for(var o in e)Z.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&S)for(var o of S(e))t.indexOf(o)<0&&ee.call(e,o)&&(r[o]=e[o]);return r};import{fileURLToPath as ke}from"url";import je from"path";var Se=n(()=>ke(import.meta.url),"getFilename"),Ce=n(()=>je.dirname(Se()),"getDirname"),c=Ce();import qe from"ts-dedent";import{logger as N}from"@storybook/node-logger";import L from"path";import Ae from"interpret";import Re from"path";import{logger as ne}from"@storybook/node-logger";import te from"fs";import{extensions as Fe}from"interpret";var O=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function Oe(){return[...Array.from(O),...Object.keys(Fe).filter(e=>!O.has(e)).sort((e,t)=>e.length-t.length)]}n(Oe,"sortExtensions");var re=Oe();function v(e){return re.map(t=>e.endsWith(t)?e:`${e}${t}`).find(t=>te.existsSync(t))}n(v,"getInterpretedFile");function oe(e){return re.map(t=>({path:e.endsWith(t)?e:`${e}${t}`,ext:t})).find(t=>te.existsSync(t.path))}n(oe,"getInterpretedFileWithExt");var A=new Map;function se(e){if(!e)return 0;let t=A.get(e);if(t!==void 0)return t;if(typeof e=="string")return h(e),A.set(e,1),1;if(!Array.isArray(e))return e.register(h(e.module)),A.set(e,1),1;let r=0;for(let o=0;o<e.length;o+=1)try{r+=se(e[o]);break}catch{}return A.set(e,r),r}n(se,"registerCompiler");function Ie(e){let t=h(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(Ie,"interopRequireDefault");function Te(e){for(let t=0;t<e.length;t+=1){let r=oe(e[t]);if(r)return r}}n(Te,"getCandidate");function w(e){let t=q(e);if(!t)return null;let r=Re.extname(t),o=Ae.extensions[r];return o&&se(o)===0?(ne.warn(`=> File ${t} is detected`),ne.warn(` but impossible to import loader for ${r}`),null):Ie(t)}n(w,"serverRequire");function q(e){let t=Array.isArray(e)?e:[e],r=Te(t);return r?r.path:null}n(q,"serverResolve");import R from"ts-dedent";import Ne from"util-deprecate";import _e from"glob";import $ from"path";var Me=Ne(()=>{},R`
1
+ "use strict";var ye=Object.defineProperty;var n=(e,t)=>ye(e,"name",{value:t,configurable:!0}),g=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var c={};import{dedent as Ce}from"ts-dedent";import{logger as O}from"@storybook/node-logger";import T from"path";import ve from"interpret";import we from"path";import{logger as G}from"@storybook/node-logger";import W from"fs";import{extensions as xe}from"interpret";var P=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function be(){return[...Array.from(P),...Object.keys(xe).filter(e=>!P.has(e)).sort((e,t)=>e.length-t.length)]}n(be,"sortExtensions");var Y=be();function y(e){return Y.map(t=>e.endsWith(t)?e:`${e}${t}`).find(t=>W.existsSync(t))}n(y,"getInterpretedFile");function J(e){return Y.map(t=>({path:e.endsWith(t)?e:`${e}${t}`,ext:t})).find(t=>W.existsSync(t.path))}n(J,"getInterpretedFileWithExt");var j=new Map;function z(e){if(!e)return 0;let t=j.get(e);if(t!==void 0)return t;if(typeof e=="string")return g(e),j.set(e,1),1;if(!Array.isArray(e))return e.register(g(e.module)),j.set(e,1),1;let r=0;for(let o=0;o<e.length;o+=1)try{r+=z(e[o]);break}catch{}return j.set(e,r),r}n(z,"registerCompiler");function R(e){let t=g(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(R,"interopRequireDefault");function $e(e){for(let t=0;t<e.length;t+=1){let r=J(e[t]);if(r)return r}}n($e,"getCandidate");function b(e){let t=I(e);if(!t)return null;let r=we.extname(t),o=ve.extensions[r];return o&&z(o)===0?(G.warn(`=> File ${t} is detected`),G.warn(` but impossible to import loader for ${r}`),null):R(t)}n(b,"serverRequire");function I(e){let t=Array.isArray(e)?e:[e],r=$e(t);return r?r.path:null}n(I,"serverResolve");import{dedent as E}from"ts-dedent";import ke from"util-deprecate";import Pe from"glob";import v from"path";var je=ke(()=>{},E`
2
2
  Configuration files such as "config", "presets" and "addons" are deprecated and will be removed in Storybook 7.0.
3
3
  Read more about it in the migration guide: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
4
- `),D=n((e,t,r)=>{let o=$.resolve(r,e),s=$.resolve(r,t);throw new Error(R`
4
+ `),N=n((e,t,r)=>{let o=v.resolve(r,e),s=v.resolve(r,t);throw new Error(E`
5
5
  You have mixing configuration files:
6
6
  ${o}
7
7
  ${s}
8
8
  "${e}" and "${t}" cannot coexist.
9
9
  Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
10
- `)},"errorMixingConfigFiles");function I(e){let t=`{${Array.from(O).join(",")}}`,r=n(l=>!!_e.sync($.resolve(e,`${l}${t}`)).length,"exists"),o=r("main"),s=r("config");if(!o&&!s)throw new Error(R`
11
- No configuration files have been found in your configDir (${$.resolve(e)}).
10
+ `)},"errorMixingConfigFiles");function C(e){let t=`{${Array.from(P).join(",")}}`,r=n(a=>!!Pe.sync(v.resolve(e,`${a}${t}`)).length,"exists"),o=r("main"),s=r("config");if(!o&&!s)throw new Error(E`
11
+ No configuration files have been found in your configDir (${v.resolve(e)}).
12
12
  Storybook needs either a "main" or "config" file.
13
- `);if(o&&s)throw new Error(R`
14
- You have both a "main" and a "config". Please remove the "config" file from your configDir (${$.resolve(e,"config")})`);let i=r("presets");o&&i&&D("main","presets",e),r("preview")&&s&&D("preview","config",e);let m=r("addons");r("manager")&&m&&D("manager","addons",e),(i||s||m)&&Me()}n(I,"validateConfigurationFiles");function ie({configDir:e}){I(e);let t=w(L.resolve(e,"presets"));if(w(L.resolve(e,"main"))){let o=q(L.resolve(e,"main"));if(o)return[o]}return t||[]}n(ie,"loadCustomPresets");import He from"resolve-from";var ae=n((e,t)=>{try{return He(e,t)}catch{return}},"safeResolveFrom"),ce=n(e=>{try{return h.resolve(e)}catch{return}},"safeResolve");var E=n(e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,"isObject"),De=n(e=>typeof e=="function","isFunction");function Le(e){return e.filter(t=>{let r=typeof t=="string"?t:t.name;return!/@storybook[\\\\/]preset-typescript/.test(r)})}n(Le,"filterPresetsConfig");function fe(e,t,r){return De(e)?[...e(d(d({},r),t))]:Array.isArray(e)?[...e]:[]}n(fe,"resolvePresetFunction");var We=n((e,t,r)=>{let o=t.startsWith("/")?ce:ae.bind(null,e),s=o(t);if(s){if(t.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:t,managerEntries:[s]};if(t.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:s}}let i=t,a=o(`${i}/manager`),m=o(`${i}/register`)||o(`${i}/register-panel`),u=o(`${i}/preview`),l=o(`${i}/preset`);if(!(a||u)&&l)return{type:"presets",name:l};if(a||m||u||l){let f=[];return a&&f.push(a),!a&&m&&!l&&f.push(m),d(d(d({type:"virtual",name:i},f.length?{managerEntries:f}:{}),u?{previewAnnotations:[u]}:{}),l?{presets:[{name:l,options:r}]}:{})}if(s)return{type:"presets",name:s}},"resolveAddonName"),Be=n(({configDir:e})=>t=>{let r=E(t)&&t.options||void 0,o=E(t)?t.name:t;try{let s=We(e,o,r);return d(d({},r?{options:r}:{}),s)}catch{N.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/
15
- ${t}`)}},"map");function Ue(e){let t=h(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(Ue,"interopRequireDefault");function Ye(e){if(e.type==="virtual"){let r=e,{type:o,name:s}=r;return F(r,["type","name"])}let t=e.name?e.name:e;return Ue(t)}n(Ye,"getContent");function Ge(e,t,r){try{let s=e.name?e.name:e,i=e.options?e.options:{},a=Ye(e);if(typeof a=="function"&&(a=a(r,i)),Array.isArray(a))return T(a,t+1,r);if(E(a)){let o=a,{addons:m,presets:u}=o,l=F(o,["addons","presets"]),f=fe(u,i,r),g=fe(m,i,r);return[...T([...f],t+1,r),...T([...g.map(Be(r))].filter(Boolean),t+1,r),{name:s,preset:l,options:i}]}throw new Error(qe`
13
+ `);if(o&&s)throw new Error(E`
14
+ You have both a "main" and a "config". Please remove the "config" file from your configDir (${v.resolve(e,"config")})`);let i=r("presets");o&&i&&N("main","presets",e),r("preview")&&s&&N("preview","config",e);let f=r("addons");r("manager")&&f&&N("manager","addons",e),(i||s||f)&&je()}n(C,"validateConfigurationFiles");function K({configDir:e}){C(e);let t=b(T.resolve(e,"presets"));if(b(T.resolve(e,"main"))){let o=I(T.resolve(e,"main"));if(o)return[o]}return t||[]}n(K,"loadCustomPresets");import Ee from"resolve-from";var V=n((e,t)=>{try{return Ee(e,t)}catch{return}},"safeResolveFrom"),X=n(e=>{try{return g.resolve(e)}catch{return}},"safeResolve");var w=n(e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,"isObject"),Se=n(e=>typeof e=="function","isFunction");function Oe(e){return e.filter(t=>{let r=typeof t=="string"?t:t.name;return!/@storybook[\\\\/]preset-typescript/.test(r)})}n(Oe,"filterPresetsConfig");function Z(e,t,r){return Se(e)?[...e({...r,...t})]:Array.isArray(e)?[...e]:[]}n(Z,"resolvePresetFunction");var Ae=n((e,t,r)=>{let o=t.startsWith("/")?X:V.bind(null,e),s=o(t);if(s){if(t.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:t,managerEntries:[s]};if(t.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:s}}let i=t,p=o(`${i}/manager`),f=o(`${i}/register`)||o(`${i}/register-panel`),l=o(`${i}/preview`),a=o(`${i}/preset`);if(!(p||l)&&a)return{type:"presets",name:a};if(p||f||l||a){let m=[];return p&&m.push(p),!p&&f&&!a&&m.push(f),{type:"virtual",name:i,...m.length?{managerEntries:m}:{},...l?{previewAnnotations:[l]}:{},...a?{presets:[{name:a,options:r}]}:{}}}if(s)return{type:"presets",name:s}},"resolveAddonName"),Fe=n(({configDir:e})=>t=>{let r=w(t)&&t.options||void 0,o=w(t)?t.name:t;try{let s=Ae(e,o,r);return{...r?{options:r}:{},...s}}catch{O.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/
15
+ ${t}`)}},"map");function Re(e){if(e.type==="virtual"){let{type:r,name:o,...s}=e;return s}let t=e.name?e.name:e;return R(t)}n(Re,"getContent");function Ie(e,t,r){try{let o=e.name?e.name:e,s=e.options?e.options:{},i=Re(e);if(typeof i=="function"&&(i=i(r,s)),Array.isArray(i))return S(i,t+1,r);if(w(i)){let{addons:p,presets:f,...l}=i,a=Z(f,s,r),m=Z(p,s,r);return[...S([...a],t+1,r),...S([...m.map(Fe(r))].filter(Boolean),t+1,r),{name:o,preset:l,options:s}]}throw new Error(Ce`
16
16
  ${e} is not a valid preset
17
- `)}catch(s){let i=t>0?` Failed to load preset: ${JSON.stringify(e)} on level ${t}`:` Failed to load preset: ${JSON.stringify(e)}`;return N.warn(i),N.error(s),[]}}n(Ge,"loadPreset");function T(e,t,r){return!e||!Array.isArray(e)||!e.length?[]:e.reduce((o,s)=>{let i=Ge(s,t,r);return o.concat(i)},[])}n(T,"loadPresets");function le(e,t,r,o,s){let i=new Promise(a=>a(r));return e.length?e.reduce((a,{preset:m,options:u})=>{let l=m[t];if(!l)return a;if(typeof l=="function"){let f=l,g={preset:m,combinedOptions:C(d(d(d({},s),o),u),{presetsList:e,presets:{apply:async(y,b,j={})=>le(e,y,b,j,s)}})};return a.then(y=>f.call(g.preset,y,g.combinedOptions))}return a.then(f=>Array.isArray(f)&&Array.isArray(l)?[...f,...l]:E(f)&&E(l)?d(d({},f),l):l)},i):i}n(le,"applyPresets");function Je(e,t){let r=T(e,0,t);return{apply:async(o,s,i={})=>le(r,o,s,i,t)}}n(Je,"getPresets");function Qt(e){let a=e,{corePresets:t=[],overridePresets:r=[]}=a,o=F(a,["corePresets","overridePresets"]),s=[...t,...ie(e),...r],i=Le(s);return i.length<s.length&&N.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Je(i,o)}n(Qt,"loadAllPresets");var{logger:W}=h("@storybook/node-logger"),B=n(e=>t=>{let r=t.name||t;return r&&r.includes(e)},"predicateFor"),ze=n((e,t,r)=>{let o=e.findIndex(B("@storybook/addon-essentials")),s=e.findIndex(B(t.name)),i=e.findIndex(B(r.name));return s===-1&&t.inEssentials&&(s=o),i===-1&&r.inEssentials&&(i=o),s!==-1&&i!==-1&&s<=i},"isCorrectOrder"),er=n(async({before:e,after:t,configFile:r,getConfig:o})=>{try{let s=await o(r);if(!(s!=null&&s.addons)){W.warn("Unable to find 'addons' config in main Storybook config");return}if(!ze(s.addons,e,t)){let i=" (or '@storybook/addon-essentials')",a=`'${e.name}'${e.inEssentials?i:""}`,m=`'${t.name}'${t.inEssentials?i:""}`;W.warn(`Expected ${a} to be listed before ${m} in main Storybook config.`)}}catch{W.warn(`Unable to load config file: ${r}`)}},"checkAddonOrder");import{getEnvironment as Ve}from"lazy-universal-dotenv";import _ from"path";import pe from"find-up";var nr=n(()=>{let e;try{let t=pe.sync(".git",{type:"directory"});t&&(e=e||_.join(t,".."))}catch{}try{let t=pe.sync(".svn",{type:"directory"});t&&(e=e||_.join(t,".."))}catch{}try{e=e||c.split("node_modules")[0]}catch{}return e||process.cwd()},"getProjectRoot"),me=n(e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(t=>_.resolve("./",t)),"nodePathsToArray"),Ke=/^\.{1,2}([/\\]|$)/;function de(e){return Ke.test(e)?e:`.${_.sep}${e}`}n(de,"normalizeStoryPath");function cr(e={}){let t=e.production?"production":"development",r={NODE_ENV:process.env.NODE_ENV||t,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(process.env).filter(m=>/^STORYBOOK_/.test(m)).forEach(m=>{r[m]=process.env[m]});let o=Object.entries(r).reduce((m,[u,l])=>Object.assign(m,{[u]:JSON.stringify(l)}),{}),{stringified:s,raw:i}=Ve({nodeEnv:r.NODE_ENV}),a=d(d({},r),i);return a.NODE_PATH=me(a.NODE_PATH||""),{stringified:d(d({},o),s),raw:a}}n(cr,"loadEnvs");var fr=n(e=>Object.entries(e).reduce((t,[r,o])=>(t[r]=JSON.stringify(o),t),{}),"stringifyEnvs"),lr=n(e=>Object.entries(e).reduce((r,[o,s])=>(r[`process.env.${o}`]=JSON.stringify(s),r),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'}),"stringifyProcessEnvs");import Xe from"handlebars";function dr(e,t){return Xe.compile(e)(t)}n(dr,"handlebars");import Qe from"path";function xr({configDir:e}){return I(e),w(Qe.resolve(e,"main"))}n(xr,"loadMainConfig");function ue(e,t,r){if(!e)return null;let o=e.split(/[\s='"]+/),s=o.indexOf(r);return s===-1&&(s=o.indexOf(t)),s===-1?null:o[s+1]}n(ue,"getStorybookConfiguration");import Ze from"path";import et from"fs-extra";var ge={"@storybook/react":"react","@storybook/vue":"vue","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/marko":"marko","@storybook/mithril":"mithril","@storybook/riot":"riot","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/rax":"rax","@storybook/server":"server"},ye=console,tt=n(({dependencies:e,devDependencies:t,peerDependencies:r},o)=>[Object.entries(e||{}).find(o),Object.entries(t||{}).find(o),Object.entries(r||{}).find(o)],"findDependency"),rt=n(e=>{let[t,r,o]=tt(e,([m])=>ge[m]),[s,i]=t||r||o||[],a=s?ge[s]:void 0;return t&&r&&t[0]===r[0]&&ye.warn(`Found "${t[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),t&&o&&t[0]===o[0]&&ye.warn(`Found "${t[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{framework:a,version:i,frameworkPackage:s}},"getFrameworkInfo"),ot=["ts","js","tsx","jsx","mjs","cjs"],U=n((e,t)=>{let r=Ze.join(t,e),o=ot.find(s=>et.existsSync(`${r}.${s}`));return o?`${r}.${o}`:null},"findConfigFile"),nt=n(e=>{var o;let t=".storybook",r=(o=e.scripts)==null?void 0:o.storybook;if(r){let s=ue(r,"-c","--config-dir");s&&(t=s)}return{configDir:t,mainConfig:U("main",t),previewConfig:U("preview",t),managerConfig:U("manager",t)}},"getConfigInfo"),Pr=n(e=>{let t=rt(e),r=nt(e);return d(d({},t),r)},"getStorybookInfo");import Y from"path";import{logger as st}from"@storybook/node-logger";import it from"ts-dedent";function Or({configDir:e}){let t=v(Y.resolve(e,"addons")),r=v(Y.resolve(e,"manager"));if((t||r)&&st.info("=> Loading custom manager config"),t&&r)throw new Error(it`
18
- You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${Y.resolve(e,"addons")})`);return r||t}n(Or,"loadManagerOrAddonsFile");import G from"path";import at from"ts-dedent";function Nr({configDir:e}){let t=v(G.resolve(e,"config")),r=v(G.resolve(e,"preview"));if(t&&r)throw new Error(at`
19
- You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${G.resolve(e,"config")})`);return r||t}n(Nr,"loadPreviewOrConfigFile");import ct from"chalk";function Hr(e,t){console.log(ct.cyan(e)),console.dir(t,{depth:null})}n(Hr,"logConfig");import ft from"pretty-hrtime";var he=n(e=>ft(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),"printDuration");var Br=n(async(e,t,r)=>{var u;let o=0,s,i=n(()=>{},"reportProgress");e.get("/progress",(l,f)=>{let g=!1,y=n(()=>{g=!0,f.end()},"close");f.on("close",y),!(g||f.writableEnded)&&(f.setHeader("Cache-Control","no-cache"),f.setHeader("Content-Type","text/event-stream"),f.setHeader("Connection","keep-alive"),f.flushHeaders(),i=n(b=>{g||f.writableEnded||(f.write(`data: ${JSON.stringify(b)}
17
+ `)}catch(o){let s=t>0?` Failed to load preset: ${JSON.stringify(e)} on level ${t}`:` Failed to load preset: ${JSON.stringify(e)}`;return O.warn(s),O.error(o),[]}}n(Ie,"loadPreset");function S(e,t,r){return!e||!Array.isArray(e)||!e.length?[]:e.reduce((o,s)=>{let i=Ie(s,t,r);return o.concat(i)},[])}n(S,"loadPresets");function Q(e,t,r,o,s){let i=new Promise(p=>p(r));return e.length?e.reduce((p,{preset:f,options:l})=>{let a=f[t];if(!a)return p;if(typeof a=="function"){let m=a,d={preset:f,combinedOptions:{...s,...o,...l,presetsList:e,presets:{apply:async(u,k,x={})=>Q(e,u,k,x,s)}}};return p.then(u=>m.call(d.preset,u,d.combinedOptions))}return p.then(m=>Array.isArray(m)&&Array.isArray(a)?[...m,...a]:w(m)&&w(a)?{...m,...a}:a)},i):i}n(Q,"applyPresets");function Ne(e,t){let r=S(e,0,t);return{apply:async(o,s,i={})=>Q(r,o,s,i,t)}}n(Ne,"getPresets");function Jt(e){let{corePresets:t=[],overridePresets:r=[],...o}=e,s=[...t,...K(e),...r],i=Oe(s);return i.length<s.length&&O.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Ne(i,o)}n(Jt,"loadAllPresets");var{logger:_}=g("@storybook/node-logger"),L=n(e=>t=>{let r=t.name||t;return r&&r.includes(e)},"predicateFor"),Te=n((e,t,r)=>{let o=e.findIndex(L("@storybook/addon-essentials")),s=e.findIndex(L(t.name)),i=e.findIndex(L(r.name));return s===-1&&t.inEssentials&&(s=o),i===-1&&r.inEssentials&&(i=o),s!==-1&&i!==-1&&s<=i},"isCorrectOrder"),zt=n(async({before:e,after:t,configFile:r,getConfig:o})=>{try{let s=await o(r);if(!s?.addons){_.warn("Unable to find 'addons' config in main Storybook config");return}if(!Te(s.addons,e,t)){let i=" (or '@storybook/addon-essentials')",p=`'${e.name}'${e.inEssentials?i:""}`,f=`'${t.name}'${t.inEssentials?i:""}`;_.warn(`Expected ${p} to be listed before ${f} in main Storybook config.`)}}catch{_.warn(`Unable to load config file: ${r}`)}},"checkAddonOrder");import{getEnvironment as Le}from"lazy-universal-dotenv";import A from"path";import ee from"find-up";var Zt=n(()=>{let e;try{let t=ee.sync(".git",{type:"directory"});t&&(e=e||A.join(t,".."))}catch{}try{let t=ee.sync(".svn",{type:"directory"});t&&(e=e||A.join(t,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},"getProjectRoot"),te=n(e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(t=>A.resolve("./",t)),"nodePathsToArray"),_e=/^\.{1,2}([/\\]|$)/;function re(e){return _e.test(e)?e:`.${A.sep}${e}`}n(re,"normalizeStoryPath");function rr(e={}){let t=e.production?"production":"development",r={NODE_ENV:"production",NODE_PATH:c.NODE_PATH||"",STORYBOOK:c.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(c).filter(f=>/^STORYBOOK_/.test(f)).forEach(f=>{r[f]=c[f]});let o=Object.entries(r).reduce((f,[l,a])=>Object.assign(f,{[l]:JSON.stringify(a)}),{}),{stringified:s,raw:i}=Le({nodeEnv:r.NODE_ENV}),p={...r,...i};return p.NODE_PATH=te(p.NODE_PATH||""),{stringified:{...o,...s},raw:p}}n(rr,"loadEnvs");var or=n(e=>Object.entries(e).reduce((t,[r,o])=>(t[r]=JSON.stringify(o),t),{}),"stringifyEnvs"),nr=n(e=>Object.entries(e).reduce((r,[o,s])=>(r[`process.env.${o}`]=JSON.stringify(s),r),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'}),"stringifyProcessEnvs");import Me from"handlebars";function ar(e,t){return Me.compile(e)(t)}n(ar,"handlebars");import He from"path";function mr({configDir:e}){return C(e),b(He.resolve(e,"main"))}n(mr,"loadMainConfig");function oe(e,t,r){if(!e)return null;let o=e.split(/[\s='"]+/),s=o.indexOf(r);return s===-1&&(s=o.indexOf(t)),s===-1?null:o[s+1]}n(oe,"getStorybookConfiguration");import Ue from"path";import qe from"fs-extra";var ne={"@storybook/react":"react","@storybook/vue":"vue","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/marko":"marko","@storybook/mithril":"mithril","@storybook/riot":"riot","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/rax":"rax","@storybook/server":"server"},se=console,Be=n(({dependencies:e,devDependencies:t,peerDependencies:r},o)=>[Object.entries(e||{}).find(o),Object.entries(t||{}).find(o),Object.entries(r||{}).find(o)],"findDependency"),De=n(e=>{let[t,r,o]=Be(e,([f])=>ne[f]),[s,i]=t||r||o||[],p=s?ne[s]:void 0;return t&&r&&t[0]===r[0]&&se.warn(`Found "${t[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),t&&o&&t[0]===o[0]&&se.warn(`Found "${t[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{framework:p,version:i,frameworkPackage:s}},"getFrameworkInfo"),We=["ts","js","tsx","jsx","mjs","cjs"],M=n((e,t)=>{let r=Ue.join(t,e),o=We.find(s=>qe.existsSync(`${r}.${s}`));return o?`${r}.${o}`:null},"findConfigFile"),Ye=n(e=>{let t=".storybook",r=e.scripts?.storybook;if(r){let o=oe(r,"-c","--config-dir");o&&(t=o)}return{configDir:t,mainConfig:M("main",t),previewConfig:M("preview",t),managerConfig:M("manager",t)}},"getConfigInfo"),xr=n(e=>{let t=De(e),r=Ye(e);return{...t,...r}},"getStorybookInfo");import{readJSON as ie}from"fs-extra";import{dirname as Je,join as Ge}from"path";import ze from"find-up";import Ke from"resolve-from";import{logger as Ve}from"@storybook/node-logger";var Xe=n(async e=>{let t=await ze("package.json",{cwd:e.configDir});if(!t)return{};let r=Je(t),{dependencies:o=[],devDependencies:s=[]}=await ie(t)||{},i=Object.keys({...o,...s});return(await Promise.all(i.map(async f=>{try{let l=Ke(r,Ge(f,"package.json")),{storybook:a,name:m,version:d}=await ie(l)||{};if(a?.url)return{id:m,...a,version:d}}catch{Ve.warn(`unable to find package.json for ${f}`);return}}))).filter(Boolean).reduce((f,l)=>({...f,[l.id]:{id:l.id.toLowerCase(),url:ae(l.url),title:l.title,version:l.version}}),{})},"getAutoRefs"),Ze=n(e=>fetch(`${e}/iframe.html`).then(({ok:t})=>t,()=>!1),"checkRef"),ae=n(e=>e.replace(/\/$/,""),"stripTrailingSlash"),Qe=n(e=>{let t=e.replace(/[A-Z]/g,r=>` ${r}`).replace(/[-_][A-Z]/gi,r=>` ${r.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${t.substring(0,1).toUpperCase()}${t.substring(1)}`.trim()},"toTitle");async function jr(e){let t=await e.presets.apply("refs",await Xe(e));return Object.entries(t).forEach(([r,o])=>{if(o.disable){delete t[r];return}t[r.toLowerCase()]={...o,id:r.toLowerCase(),title:o.title||Qe(o.id||r),url:ae(o.url)}}),await Promise.all(Object.entries(t).map(async([r,o])=>{let s=await Ze(o.url);t[r]={...o,type:s?"server-checked":"unknown"}})),t}n(jr,"getRefs");import H from"path";import{logger as et}from"@storybook/node-logger";import{dedent as tt}from"ts-dedent";function Fr({configDir:e}){let t=y(H.resolve(e,"addons")),r=y(H.resolve(e,"manager"));if((t||r)&&et.info("=> Loading custom manager config"),t&&r)throw new Error(tt`
18
+ You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${H.resolve(e,"addons")})`);return r||t}n(Fr,"loadManagerOrAddonsFile");import U from"path";import{dedent as rt}from"ts-dedent";function _r({configDir:e}){let t=y(U.resolve(e,"config")),r=y(U.resolve(e,"preview"));if(t&&r)throw new Error(rt`
19
+ You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${U.resolve(e,"config")})`);return r||t}n(_r,"loadPreviewOrConfigFile");import ot from"chalk";function Hr(e,t){console.log(ot.cyan(e)),console.dir(t,{depth:null})}n(Hr,"logConfig");import nt from"pretty-hrtime";var ce=n(e=>nt(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),"printDuration");var Wr=n(async(e,t,r)=>{let o=0,s,i=n(()=>{},"reportProgress");e.get("/progress",(l,a)=>{let m=!1,d=n(()=>{m=!0,a.end()},"close");a.on("close",d),!(m||a.writableEnded)&&(a.setHeader("Cache-Control","no-cache"),a.setHeader("Content-Type","text/event-stream"),a.setHeader("Connection","keep-alive"),a.flushHeaders(),i=n(u=>{m||a.writableEnded||(a.write(`data: ${JSON.stringify(u)}
20
20
 
21
- `),f.flush(),b.value===1&&y())},"reportProgress"))});let a=n((l,f,g)=>{o=Math.max(l,o);let y={value:o,message:f.charAt(0).toUpperCase()+f.slice(1)};if(f==="building"){let b=g&&g.match(/(\d+)\/(\d+)/)||[],j=parseInt(b[1],10),H=parseInt(b[2],10);!Number.isNaN(j)&&!Number.isNaN(H)&&(y.modules={complete:j,total:H},s=H)}o===1&&(r.cache&&r.cache.set("modulesCount",s),y.message||(y.message=`Completed in ${he(t)}.`)),i(y)},"handler"),m=await((u=r.cache)==null?void 0:u.get("modulesCount").catch(()=>{}))||1e3;return{handler:a,modulesCount:m}},"useProgressReporting");import J from"path";import lt from"pkg-dir";function xe(e){let t=process.cwd(),r=lt.sync(t),o;return r?o=J.resolve(r,"node_modules/.cache/storybook"):o=J.resolve(t,".cache/storybook"),J.join(o,e)}n(xe,"resolvePathInStorybookCache");import pt from"file-system-cache";function z(e){return pt(e)}n(z,"createFileSystemCache");var Qr=z({basePath:xe("dev-server"),ns:"storybook"});import K from"path";import{sync as P}from"pkg-dir";import x from"fs";var V=n((e,t={})=>Object.entries(t).reduce((r,[o,s])=>r.replace(new RegExp(`%${o}%`,"g"),s),e),"interpolate");function oo(e,t){let r=x.readFileSync(`${P(c)}/templates/base-preview-body.html`,"utf8"),o=K.resolve(e,"preview-body.html"),s=r;return x.existsSync(o)&&(s=x.readFileSync(o,"utf8")+s),V(s,t)}n(oo,"getPreviewBodyTemplate");function no(e,t){let r=x.readFileSync(`${P(c)}/templates/base-preview-head.html`,"utf8"),o=K.resolve(e,"preview-head.html"),s=r;return x.existsSync(o)&&(s+=x.readFileSync(o,"utf8")),V(s,t)}n(no,"getPreviewHeadTemplate");function so(e,t){let r=x.readFileSync(`${P(c)}/templates/base-manager-head.html`,"utf8"),o=K.resolve(e,"manager-head.html"),s=r;return x.existsSync(o)&&(s+=x.readFileSync(o,"utf8")),V(s,t)}n(so,"getManagerHeadTemplate");function io(){return`${P(c)}/templates/index.ejs`}n(io,"getManagerMainTemplate");function ao(){return`${P(c)}/templates/index.ejs`}n(ao,"getPreviewMainTemplate");var fo=n((e,t)=>Object.entries(t).reduce((r,[o,s])=>{let i=s.replace(/\\/g,"/").replace(/\$/g,"$$$");return r.replace(new RegExp(`{{${o}}}`,"g"),i)},e),"interpolate");import{makeRe as mt}from"picomatch";function be(e){let t=mt(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!t.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${t}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",t.source.substring(1)].join("")):t}n(be,"globToRegexp");import dt from"fs";import k from"path";import ut from"util-deprecate";import gt from"ts-dedent";import{scan as yt}from"picomatch";import ve from"slash";var M="",we="**/*.(stories|docs).@(mdx|tsx|ts|jsx|js)",ht=ut(e=>e.input.replace(e[1],`@${e[1]}`),gt`
21
+ `),a.flush(),u.value===1&&d())},"reportProgress"))});let p=n((l,a,m)=>{o=Math.max(l,o);let d={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let u=m&&m.match(/(\d+)\/(\d+)/)||[],k=parseInt(u[1],10),x=parseInt(u[2],10);!Number.isNaN(k)&&!Number.isNaN(x)&&(d.modules={complete:k,total:x},s=x)}o===1&&(r.cache&&r.cache.set("modulesCount",s),d.message||(d.message=`Completed in ${ce(t)}.`)),i(d)},"handler"),f=await r.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:p,modulesCount:f}},"useProgressReporting");import q from"path";import st from"pkg-dir";function fe(e){let t=process.cwd(),r=st.sync(t),o;return r?o=q.resolve(r,"node_modules/.cache/storybook"):o=q.resolve(t,".cache/storybook"),q.join(o,e)}n(fe,"resolvePathInStorybookCache");import it from"file-system-cache";function B(e){return it(e)}n(B,"createFileSystemCache");var Qr=B({basePath:fe("dev-server"),ns:"storybook"});import pe from"path";import{sync as D}from"pkg-dir";import h from"fs";var le=n((e,t={})=>Object.entries(t).reduce((r,[o,s])=>r.replace(new RegExp(`%${o}%`,"g"),s),e),"interpolate");function no(e,t){let r=h.readFileSync(`${D(__dirname)}/templates/base-preview-body.html`,"utf8"),o=pe.resolve(e,"preview-body.html"),s=r;return h.existsSync(o)&&(s=h.readFileSync(o,"utf8")+s),le(s,t)}n(no,"getPreviewBodyTemplate");function so(e,t){let r=h.readFileSync(`${D(__dirname)}/templates/base-preview-head.html`,"utf8"),o=pe.resolve(e,"preview-head.html"),s=r;return h.existsSync(o)&&(s+=h.readFileSync(o,"utf8")),le(s,t)}n(so,"getPreviewHeadTemplate");function io(){return`${D(__dirname)}/templates/preview.ejs`}n(io,"getPreviewMainTemplate");var co=n((e,t)=>Object.entries(t).reduce((r,[o,s])=>{let i=s.replace(/\\/g,"/").replace(/\$/g,"$$$");return r.replace(new RegExp(`{{${o}}}`,"g"),i)},e),"interpolate");import{makeRe as at}from"picomatch";function me(e){let t=at(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!t.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${t}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",t.source.substring(1)].join("")):t}n(me,"globToRegexp");import ct from"fs";import $ from"path";import ft from"util-deprecate";import{dedent as pt}from"ts-dedent";import{scan as lt}from"picomatch";import de from"slash";var F="",ue="**/*.(stories|docs).@(mdx|tsx|ts|jsx|js)",mt=ft(e=>e.input.replace(e[1],`@${e[1]}`),pt`
22
22
  You have specified an invalid glob, we've attempted to fix it, please ensure that the glob you specify is valid. See: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#correct-globs-in-mainjs
23
- `),xt=n(e=>{let t=e.match(/\.(\([^)]+\))/);return t?ht(t):e},"detectBadGlob"),bt=n((e,t)=>{try{return dt.lstatSync(k.resolve(e,t)).isDirectory()}catch{return!1}},"isDirectory"),vt=n(({configDir:e,workingDir:t,directory:r})=>{let o=k.resolve(e,r),s=k.relative(t,o);return de(s)},"getDirectoryFromWorkingDir"),wt=n((e,{configDir:t,workingDir:r})=>{let o;if(typeof e=="string"){let u=xt(e),l=yt(u);if(l.isGlob){let f=l.prefix+l.base,g=l.glob;o={titlePrefix:M,directory:f,files:g}}else bt(t,e)?o={titlePrefix:M,directory:e,files:we}:o={titlePrefix:M,directory:k.dirname(e),files:k.basename(e)}}else o=d({titlePrefix:M,files:we},e);let s=ve(o.files),{directory:i}=o,a=ve(vt({configDir:t,workingDir:r,directory:i})).replace(/\/$/,""),m=be(`${a}/${s}`);return C(d({},o),{directory:a,importPathMatcher:m})},"normalizeStoriesEntry"),$o=n((e,t)=>e.map(r=>wt(r,t)),"normalizeStories");import $t from"fs-extra";async function ko(e){return $t.readFile(e,{encoding:"utf8"})}n(ko,"readTemplate");import $e from"path";import{sync as Et}from"find-up";var Fo=n((e,t)=>{let r=Et("package.json",{cwd:e});if(!r)throw new Error(`Could not find package.json in: ${e}`);let o=$e.dirname(r);return $e.join(o,"dist","esm",t)},"findDistEsm");export{O as boost,Qr as cache,er as checkAddonOrder,z as createFileSystemCache,Le as filterPresetsConfig,Fo as findDistEsm,vt as getDirectoryFromWorkingDir,v as getInterpretedFile,oe as getInterpretedFileWithExt,so as getManagerHeadTemplate,io as getManagerMainTemplate,Je as getPresets,oo as getPreviewBodyTemplate,no as getPreviewHeadTemplate,ao as getPreviewMainTemplate,nr as getProjectRoot,ue as getStorybookConfiguration,Pr as getStorybookInfo,be as globToRegexp,dr as handlebars,fo as interpolate,Qt as loadAllPresets,ie as loadCustomPresets,cr as loadEnvs,xr as loadMainConfig,Or as loadManagerOrAddonsFile,Ge as loadPreset,Nr as loadPreviewOrConfigFile,Hr as logConfig,me as nodePathsToArray,$o as normalizeStories,wt as normalizeStoriesEntry,de as normalizeStoryPath,ko as readTemplate,We as resolveAddonName,xe as resolvePathInStorybookCache,w as serverRequire,q as serverResolve,fr as stringifyEnvs,lr as stringifyProcessEnvs,Br as useProgressReporting,I as validateConfigurationFiles};
23
+ `),dt=n(e=>{let t=e.match(/\.(\([^)]+\))/);return t?mt(t):e},"detectBadGlob"),ut=n((e,t)=>{try{return ct.lstatSync($.resolve(e,t)).isDirectory()}catch{return!1}},"isDirectory"),gt=n(({configDir:e,workingDir:t,directory:r})=>{let o=$.resolve(e,r),s=$.relative(t,o);return re(s)},"getDirectoryFromWorkingDir"),yt=n((e,{configDir:t,workingDir:r})=>{let o;if(typeof e=="string"){let l=dt(e),a=lt(l);if(a.isGlob){let m=a.prefix+a.base,d=a.glob;o={titlePrefix:F,directory:m,files:d}}else ut(t,e)?o={titlePrefix:F,directory:e,files:ue}:o={titlePrefix:F,directory:$.dirname(e),files:$.basename(e)}}else o={titlePrefix:F,files:ue,...e};let s=de(o.files),{directory:i}=o,p=de(gt({configDir:t,workingDir:r,directory:i})).replace(/\/$/,""),f=me(`${p}/${s}`);return{...o,directory:p,importPathMatcher:f}},"normalizeStoriesEntry"),wo=n((e,t)=>e.map(r=>yt(r,t)),"normalizeStories");import ht from"fs-extra";async function Po(e){return ht.readFile(e,{encoding:"utf8"})}n(Po,"readTemplate");import ge from"path";import{sync as xt}from"find-up";var So=n((e,t)=>{let r=xt("package.json",{cwd:e});if(!r)throw new Error(`Could not find package.json in: ${e}`);let o=ge.dirname(r);return ge.join(o,"dist","esm",t)},"findDistEsm");export{P as boost,Qr as cache,zt as checkAddonOrder,B as createFileSystemCache,Oe as filterPresetsConfig,So as findDistEsm,Xe as getAutoRefs,gt as getDirectoryFromWorkingDir,y as getInterpretedFile,J as getInterpretedFileWithExt,Ne as getPresets,no as getPreviewBodyTemplate,so as getPreviewHeadTemplate,io as getPreviewMainTemplate,Zt as getProjectRoot,jr as getRefs,oe as getStorybookConfiguration,xr as getStorybookInfo,me as globToRegexp,ar as handlebars,R as interopRequireDefault,co as interpolate,Jt as loadAllPresets,K as loadCustomPresets,rr as loadEnvs,mr as loadMainConfig,Fr as loadManagerOrAddonsFile,Ie as loadPreset,_r as loadPreviewOrConfigFile,Hr as logConfig,te as nodePathsToArray,wo as normalizeStories,yt as normalizeStoriesEntry,re as normalizeStoryPath,Po as readTemplate,Ae as resolveAddonName,fe as resolvePathInStorybookCache,b as serverRequire,I as serverResolve,or as stringifyEnvs,nr as stringifyProcessEnvs,Wr as useProgressReporting,C as validateConfigurationFiles};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/core-common",
3
- "version": "7.0.0-alpha.10",
3
+ "version": "7.0.0-alpha.11",
4
4
  "description": "Storybook framework-agnostic API",
5
5
  "keywords": [
6
6
  "storybook"
@@ -42,6 +42,7 @@
42
42
  "*.d.ts"
43
43
  ],
44
44
  "scripts": {
45
+ "check": "tsc --noEmit",
45
46
  "prepare": "esrun ../../scripts/prepare/bundle.ts"
46
47
  },
47
48
  "dependencies": {
@@ -68,7 +69,7 @@
68
69
  "@babel/preset-typescript": "^7.12.7",
69
70
  "@babel/register": "^7.12.1",
70
71
  "@storybook/csf": "0.0.2--canary.4566f4d.1",
71
- "@storybook/node-logger": "7.0.0-alpha.10",
72
+ "@storybook/node-logger": "7.0.0-alpha.11",
72
73
  "@storybook/semver": "^7.3.2",
73
74
  "@types/babel__core": "^7.0.0",
74
75
  "@types/express": "^4.7.0",
@@ -103,7 +104,8 @@
103
104
  "@types/interpret": "^1.1.1",
104
105
  "@types/mock-fs": "^4.13.0",
105
106
  "@types/picomatch": "^2.3.0",
106
- "mock-fs": "^4.13.0"
107
+ "mock-fs": "^4.13.0",
108
+ "typescript": "~4.6.3"
107
109
  },
108
110
  "peerDependencies": {
109
111
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
@@ -117,8 +119,11 @@
117
119
  "publishConfig": {
118
120
  "access": "public"
119
121
  },
120
- "bundlerEntrypoint": [
121
- "./src/index.ts"
122
- ],
123
- "gitHead": "b13dd8fb52819d73d4983148af8ffc5d683e8b75"
122
+ "bundler": {
123
+ "entries": [
124
+ "./src/index.ts"
125
+ ],
126
+ "platform": "node"
127
+ },
128
+ "gitHead": "688d338903e84a7e83cb104472e868e734399f65"
124
129
  }
File without changes
@@ -1,46 +0,0 @@
1
- <style>
2
- html, body {
3
- overflow: hidden;
4
- height: 100%;
5
- width: 100%;
6
- margin: 0;
7
- padding: 0;
8
- }
9
-
10
- * {
11
- box-sizing: border-box;
12
- }
13
- </style>
14
-
15
- <script>
16
- /* globals window */
17
- /* eslint-disable no-underscore-dangle */
18
- try {
19
- if (window.top !== window) {
20
- window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.top.__REACT_DEVTOOLS_GLOBAL_HOOK__;
21
- }
22
- } catch (e) {
23
- // eslint-disable-next-line no-console
24
- console.warn('unable to connect to top frame for connecting dev tools');
25
- }
26
-
27
- window.onerror = function onerror(message, source, line, column, err) {
28
- if (window.CONFIG_TYPE !== 'DEVELOPMENT') return;
29
- // eslint-disable-next-line no-var, vars-on-top
30
- var xhr = new window.XMLHttpRequest();
31
- xhr.open('POST', '/runtime-error');
32
- xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
33
- xhr.send(
34
- JSON.stringify({
35
- /* eslint-disable object-shorthand */
36
- message: message,
37
- source: source,
38
- line: line,
39
- column: column,
40
- error: err && { message: err.message, name: err.name, stack: err.stack },
41
- origin: 'manager',
42
- /* eslint-enable object-shorthand */
43
- })
44
- );
45
- };
46
- </script>