@storybook/preview 8.1.6 → 8.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/runtime.js +1 -1
  2. package/package.json +5 -5
package/dist/runtime.js CHANGED
@@ -118,7 +118,7 @@ See https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#hoisted-csf-
118
118
  - Custom args: https://storybook.js.org/docs/react/essentials/controls#fully-custom-args
119
119
  `),{name:"other",value:"cyclic object"}):(visited.add(value2),Array.isArray(value2)?{name:"array",value:value2.length>0?inferType(value2[0],name2,new Set(visited)):{name:"other",value:"unknown"}}:{name:"object",value:(0,import_mapValues.default)(value2,field=>inferType(field,name2,new Set(visited)))}):{name:"object",value:{}}},inferArgTypes=context=>{let{id,argTypes:userArgTypes={},initialArgs={}}=context,argTypes=(0,import_mapValues.default)(initialArgs,(arg,key2)=>({name:key2,type:inferType(arg,`${id}.${key2}`,new Set)})),userArgTypesNames=(0,import_mapValues.default)(userArgTypes,(argType,key2)=>({name:key2}));return combineParameters(argTypes,userArgTypesNames,userArgTypes)};inferArgTypes.secondPass=!0;var matches=(name2,descriptor)=>Array.isArray(descriptor)?descriptor.includes(name2):name2.match(descriptor),filterArgTypes=(argTypes,include,exclude)=>!include&&!exclude?argTypes:argTypes&&(0,import_pickBy.default)(argTypes,(argType,key2)=>{let name2=argType.name||key2;return(!include||matches(name2,include))&&(!exclude||!matches(name2,exclude))}),inferControl=(argType,name2,matchers)=>{let{type,options:options2}=argType;if(type){if(matchers.color&&matchers.color.test(name2)){let controlType=type.name;if(controlType==="string")return{control:{type:"color"}};controlType!=="enum"&&logger.warn(`Addon controls: Control of type color only supports string, received "${controlType}" instead`)}if(matchers.date&&matchers.date.test(name2))return{control:{type:"date"}};switch(type.name){case"array":return{control:{type:"object"}};case"boolean":return{control:{type:"boolean"}};case"string":return{control:{type:"text"}};case"number":return{control:{type:"number"}};case"enum":{let{value:value2}=type;return{control:{type:value2?.length<=5?"radio":"select"},options:value2}}case"function":case"symbol":return null;default:return{control:{type:options2?"select":"object"}}}}},inferControls=context=>{let{argTypes,parameters:{__isArgsStory,controls:{include=null,exclude=null,matchers={}}={}}}=context;if(!__isArgsStory)return argTypes;let filteredArgTypes=filterArgTypes(argTypes,include,exclude),withControls=(0,import_mapValues.default)(filteredArgTypes,(argType,name2)=>argType?.type&&inferControl(argType,name2,matchers));return combineParameters(withControls,filteredArgTypes)};inferControls.secondPass=!0;function normalizeProjectAnnotations({argTypes,globalTypes,argTypesEnhancers,decorators,loaders,beforeEach,...annotations}){return{...argTypes&&{argTypes:normalizeInputTypes(argTypes)},...globalTypes&&{globalTypes:normalizeInputTypes(globalTypes)},decorators:normalizeArrays(decorators),loaders:normalizeArrays(loaders),beforeEach:normalizeArrays(beforeEach),argTypesEnhancers:[...argTypesEnhancers||[],inferArgTypes,inferControls],...annotations}}function composeStepRunners(stepRunners){return async(label,play,playContext)=>{await stepRunners.reduceRight((innerPlay,stepRunner)=>async()=>stepRunner(label,innerPlay,playContext),async()=>play(playContext))()}}function getField(moduleExportList,field){return moduleExportList.map(xs=>xs.default?.[field]??xs[field]).filter(Boolean)}function getArrayField(moduleExportList,field,options2={}){return getField(moduleExportList,field).reduce((prev,cur)=>{let normalized=normalizeArrays(cur);return options2.reverseFileOrder?[...normalized,...prev]:[...prev,...normalized]},[])}function getObjectField(moduleExportList,field){return Object.assign({},...getField(moduleExportList,field))}function getSingletonField(moduleExportList,field){return getField(moduleExportList,field).pop()}function composeConfigs(moduleExportList){let allArgTypeEnhancers=getArrayField(moduleExportList,"argTypesEnhancers"),stepRunners=getField(moduleExportList,"runStep");return{parameters:combineParameters(...getField(moduleExportList,"parameters")),decorators:getArrayField(moduleExportList,"decorators",{reverseFileOrder:!(scope.FEATURES?.legacyDecoratorFileOrder??!1)}),args:getObjectField(moduleExportList,"args"),argsEnhancers:getArrayField(moduleExportList,"argsEnhancers"),argTypes:getObjectField(moduleExportList,"argTypes"),argTypesEnhancers:[...allArgTypeEnhancers.filter(e=>!e.secondPass),...allArgTypeEnhancers.filter(e=>e.secondPass)],globals:getObjectField(moduleExportList,"globals"),globalTypes:getObjectField(moduleExportList,"globalTypes"),loaders:getArrayField(moduleExportList,"loaders"),beforeEach:getArrayField(moduleExportList,"beforeEach"),render:getSingletonField(moduleExportList,"render"),renderToCanvas:getSingletonField(moduleExportList,"renderToCanvas"),renderToDOM:getSingletonField(moduleExportList,"renderToDOM"),applyDecorators:getSingletonField(moduleExportList,"applyDecorators"),runStep:composeStepRunners(stepRunners),tags:getArrayField(moduleExportList,"tags")}}var globalProjectAnnotations={},DEFAULT_STORY_TITLE="ComposedStory",DEFAULT_STORY_NAME="Unnamed Story";function extractAnnotation(annotation){return"default"in annotation?annotation.default:annotation}function setProjectAnnotations(projectAnnotations){let annotations=Array.isArray(projectAnnotations)?projectAnnotations:[projectAnnotations];globalProjectAnnotations=composeConfigs(annotations.map(extractAnnotation))}var cleanups=[];function composeStory(storyAnnotations,componentAnnotations,projectAnnotations,defaultConfig,exportsName){if(storyAnnotations===void 0)throw new Error("Expected a story but received undefined.");componentAnnotations.title=componentAnnotations.title??DEFAULT_STORY_TITLE;let normalizedComponentAnnotations=normalizeComponentAnnotations(componentAnnotations),storyName=exportsName||storyAnnotations.storyName||storyAnnotations.story?.name||storyAnnotations.name||DEFAULT_STORY_NAME,normalizedStory=normalizeStory(storyName,storyAnnotations,normalizedComponentAnnotations),normalizedProjectAnnotations=normalizeProjectAnnotations(composeConfigs([defaultConfig??{},globalProjectAnnotations,projectAnnotations??{}])),story=prepareStory(normalizedStory,normalizedComponentAnnotations,normalizedProjectAnnotations),globalsFromGlobalTypes=getValuesFromArgTypes(normalizedProjectAnnotations.globalTypes),context={hooks:new HooksContext,globals:{...globalsFromGlobalTypes,...normalizedProjectAnnotations.globals},args:{...story.initialArgs},viewMode:"story",loaded:{},abortSignal:null,canvasElement:null,...story},playFunction=story.playFunction?async extraContext=>story.playFunction({...context,...extraContext,canvasElement:extraContext?.canvasElement??globalThis.document?.body}):void 0,previousCleanupsDone=!1;return Object.assign(function(extraArgs){if(context.args={...context.initialArgs,...extraArgs},cleanups.length>0&&!previousCleanupsDone){let humanReadableIdentifier=storyName;story.title!==DEFAULT_STORY_TITLE&&(humanReadableIdentifier=`${story.title} - ${humanReadableIdentifier}`),storyName===DEFAULT_STORY_NAME&&Object.keys(context.args).length>0&&(humanReadableIdentifier=`${humanReadableIdentifier} (${Object.keys(context.args).join(", ")})`),console.warn(esm_default`Some stories were not cleaned up before rendering '${humanReadableIdentifier}'.
120
120
 
121
- You should load the story with \`await Story.load()\` before rendering it.`)}return story.unboundStoryFn(prepareContext(context))},{id:story.id,storyName,load:async()=>{for(let{callback}of[...cleanups].reverse())await callback();cleanups.length=0,previousCleanupsDone=!0;let loadedContext=await story.applyLoaders(context);context.loaded=loadedContext.loaded,cleanups.push(...(await story.applyBeforeEach(context)).filter(Boolean).map(callback=>({storyName,callback})))},args:story.initialArgs,parameters:story.parameters,argTypes:story.argTypes,play:playFunction})}function composeStories(storiesImport,globalConfig,composeStoryFn){let{default:meta,__esModule,__namedExportsOrder,...stories}=storiesImport;return Object.entries(stories).reduce((storiesMap,[exportsName,story])=>G(exportsName,meta)?Object.assign(storiesMap,{[exportsName]:composeStoryFn(story,meta,globalConfig,exportsName)}):storiesMap,{})}function createPlaywrightTest(baseTest){return baseTest.extend({mount:async({mount,page},use)=>{await use(async(storyRef,...restArgs)=>{if(!("__pw_type"in storyRef)||"__pw_type"in storyRef&&storyRef.__pw_type!=="jsx")throw new Error(esm_default`
121
+ You should load the story with \`await Story.load()\` before rendering it.`)}return story.unboundStoryFn(prepareContext(context))},{id:story.id,storyName,load:async()=>{for(let{callback}of[...cleanups].reverse())await callback();cleanups.length=0,previousCleanupsDone=!0;let loadedContext=await story.applyLoaders(context);context.loaded=loadedContext.loaded,cleanups.push(...(await story.applyBeforeEach(context)).filter(Boolean).map(callback=>({storyName,callback})))},args:story.initialArgs,parameters:story.parameters,argTypes:story.argTypes,play:playFunction,tags:story.tags})}function composeStories(storiesImport,globalConfig,composeStoryFn){let{default:meta,__esModule,__namedExportsOrder,...stories}=storiesImport;return Object.entries(stories).reduce((storiesMap,[exportsName,story])=>G(exportsName,meta)?Object.assign(storiesMap,{[exportsName]:composeStoryFn(story,meta,globalConfig,exportsName)}):storiesMap,{})}function createPlaywrightTest(baseTest){return baseTest.extend({mount:async({mount,page},use)=>{await use(async(storyRef,...restArgs)=>{if(!("__pw_type"in storyRef)||"__pw_type"in storyRef&&storyRef.__pw_type!=="jsx")throw new Error(esm_default`
122
122
  Portable stories in Playwright CT only work when referencing JSX elements.
123
123
  Please use JSX format for your components such as:
124
124
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/preview",
3
- "version": "8.1.6",
3
+ "version": "8.1.7",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "storybook"
@@ -57,11 +57,11 @@
57
57
  "prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/esm-bundle.ts"
58
58
  },
59
59
  "devDependencies": {
60
- "@storybook/channels": "8.1.6",
61
- "@storybook/client-logger": "8.1.6",
62
- "@storybook/core-events": "8.1.6",
60
+ "@storybook/channels": "8.1.7",
61
+ "@storybook/client-logger": "8.1.7",
62
+ "@storybook/core-events": "8.1.7",
63
63
  "@storybook/global": "^5.0.0",
64
- "@storybook/preview-api": "8.1.6",
64
+ "@storybook/preview-api": "8.1.7",
65
65
  "browser-dtector": "^3.4.0",
66
66
  "typescript": "^5.3.2"
67
67
  },