@storybook/addon-interactions 7.2.0-canary-23572-1690275421-726e1551.0 → 7.2.0-canary-23593-1690276507-975d4e05.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/preview.js CHANGED
@@ -1 +1 @@
1
- var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_exports={};__export(preview_exports,{argsEnhancers:()=>argsEnhancers,parameters:()=>parameters,runStep:()=>runStep});module.exports=__toCommonJS(preview_exports);var import_preview_api=require("@storybook/preview-api"),import_global=require("@storybook/global"),import_core_events=require("@storybook/core-events"),import_instrumenter=require("@storybook/instrumenter"),import_jest_mock=require("jest-mock"),JestMock=new import_jest_mock.ModuleMocker(import_global.global),fn=JestMock.fn.bind(JestMock),{action}=(0,import_instrumenter.instrument)({action:fn},{retain:!0}),channel=import_preview_api.addons.getChannel(),seen=new Set,spies=[];channel.on(import_core_events.FORCE_REMOUNT,()=>spies.forEach(mock=>{var _a;return(_a=mock==null?void 0:mock.mockClear)==null?void 0:_a.call(mock)}));channel.on(import_core_events.STORY_RENDER_PHASE_CHANGED,({newPhase})=>{newPhase==="loading"&&spies.forEach(mock=>{var _a;return(_a=mock==null?void 0:mock.mockClear)==null?void 0:_a.call(mock)})});var addSpies=(id,val,key)=>{if(seen.has(val))return val;seen.add(val);try{if(Object.prototype.toString.call(val)==="[object Object]"){for(let[k,v]of Object.entries(val))val[k]=addSpies(id,v,k);return val}if(Array.isArray(val))return val.map((item,index)=>addSpies(id,item,`${key}[${index}]`));if(typeof val=="function"&&val.isAction){Object.defineProperty(val,"name",{value:key,writable:!1}),Object.defineProperty(val,"__storyId__",{value:id,writable:!1});let spy=action(val);return spies.push(spy),spy}}catch{}return val},addActionsFromArgTypes=({id,initialArgs})=>addSpies(id,initialArgs),argsEnhancers=[addActionsFromArgTypes],{step:runStep}=(0,import_instrumenter.instrument)({step:(label,play,context)=>play(context)},{intercept:!0}),parameters={throwPlayFunctionExceptions:!1};0&&(module.exports={argsEnhancers,parameters,runStep});
1
+ var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_exports={};__export(preview_exports,{argsEnhancers:()=>argsEnhancers,parameters:()=>parameters,runStep:()=>runStep});module.exports=__toCommonJS(preview_exports);var import_preview_api=require("@storybook/preview-api"),import_global=require("@storybook/global"),import_core_events=require("@storybook/core-events"),import_instrumenter=require("@storybook/instrumenter");function isPromise(candidate){return candidate!=null&&(typeof candidate=="object"||typeof candidate=="function")&&typeof candidate.then=="function"}var MOCK_CONSTRUCTOR_NAME="mockConstructor",FUNCTION_NAME_RESERVED_PATTERN=/[\s!-/:-@[-`{-~]/,FUNCTION_NAME_RESERVED_REPLACE=new RegExp(FUNCTION_NAME_RESERVED_PATTERN.source,"g"),RESERVED_KEYWORDS=new Set(["arguments","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","eval","export","extends","false","finally","for","function","if","implements","import","in","instanceof","interface","let","new","null","package","private","protected","public","return","static","super","switch","this","throw","true","try","typeof","var","void","while","with","yield"]);function matchArity(fn2,length){let mockConstructor;switch(length){case 1:mockConstructor=function(_a){return fn2.apply(this,arguments)};break;case 2:mockConstructor=function(_a,_b){return fn2.apply(this,arguments)};break;case 3:mockConstructor=function(_a,_b,_c){return fn2.apply(this,arguments)};break;case 4:mockConstructor=function(_a,_b,_c,_d){return fn2.apply(this,arguments)};break;case 5:mockConstructor=function(_a,_b,_c,_d,_e){return fn2.apply(this,arguments)};break;case 6:mockConstructor=function(_a,_b,_c,_d,_e,_f){return fn2.apply(this,arguments)};break;case 7:mockConstructor=function(_a,_b,_c,_d,_e,_f,_g){return fn2.apply(this,arguments)};break;case 8:mockConstructor=function(_a,_b,_c,_d,_e,_f,_g,_h){return fn2.apply(this,arguments)};break;case 9:mockConstructor=function(_a,_b,_c,_d,_e,_f,_g,_h,_i){return fn2.apply(this,arguments)};break;default:mockConstructor=function(){return fn2.apply(this,arguments)};break}return mockConstructor}function getObjectType(value){return Object.prototype.toString.apply(value).slice(8,-1)}function getType(ref){let typeName=getObjectType(ref);return typeName==="Function"||typeName==="AsyncFunction"||typeName==="GeneratorFunction"||typeName==="AsyncGeneratorFunction"?"function":Array.isArray(ref)?"array":typeName==="Object"||typeName==="Module"?"object":typeName==="Number"||typeName==="String"||typeName==="Boolean"||typeName==="Symbol"?"constant":typeName==="Map"||typeName==="WeakMap"||typeName==="Set"?"collection":typeName==="RegExp"?"regexp":ref===void 0?"undefined":ref===null?"null":null}function isReadonlyProp(object,prop){if(prop==="arguments"||prop==="caller"||prop==="callee"||prop==="name"||prop==="length"){let typeName=getObjectType(object);return typeName==="Function"||typeName==="AsyncFunction"||typeName==="GeneratorFunction"||typeName==="AsyncGeneratorFunction"}return prop==="source"||prop==="global"||prop==="ignoreCase"||prop==="multiline"?getObjectType(object)==="RegExp":!1}var ModuleMocker=class{constructor(global2){this._environmentGlobal=global2,this._mockState=new WeakMap,this._mockConfigRegistry=new WeakMap,this._spyState=new Set,this._invocationCallCounter=1}_getSlots(object){if(!object)return[];let slots=new Set,EnvObjectProto=this._environmentGlobal.Object.prototype,EnvFunctionProto=this._environmentGlobal.Function.prototype,EnvRegExpProto=this._environmentGlobal.RegExp.prototype,ObjectProto=Object.prototype,FunctionProto=Function.prototype,RegExpProto=RegExp.prototype;for(;object!=null&&object!==EnvObjectProto&&object!==EnvFunctionProto&&object!==EnvRegExpProto&&object!==ObjectProto&&object!==FunctionProto&&object!==RegExpProto;){let ownNames=Object.getOwnPropertyNames(object);for(let i=0;i<ownNames.length;i++){let prop=ownNames[i];if(!isReadonlyProp(object,prop)){let propDesc=Object.getOwnPropertyDescriptor(object,prop);(propDesc!==void 0&&!propDesc.get||object.__esModule)&&slots.add(prop)}}object=Object.getPrototypeOf(object)}return Array.from(slots)}_ensureMockConfig(f){let config=this._mockConfigRegistry.get(f);return config||(config=this._defaultMockConfig(),this._mockConfigRegistry.set(f,config)),config}_ensureMockState(f){let state=this._mockState.get(f);return state||(state=this._defaultMockState(),this._mockState.set(f,state)),state.calls.length>0&&(state.lastCall=state.calls[state.calls.length-1]),state}_defaultMockConfig(){return{mockImpl:void 0,mockName:"jest.fn()",specificMockImpls:[]}}_defaultMockState(){return{calls:[],contexts:[],instances:[],invocationCallOrder:[],results:[]}}_makeComponent(metadata,spyState){if(metadata.type==="object")return new this._environmentGlobal.Object;if(metadata.type==="array")return new this._environmentGlobal.Array;if(metadata.type==="regexp")return new this._environmentGlobal.RegExp("");if(metadata.type==="constant"||metadata.type==="collection"||metadata.type==="null"||metadata.type==="undefined")return metadata.value;if(metadata.type==="function"){let withImplementation=function(fn2,callback){let mockConfig=this._ensureMockConfig(f),previousImplementation=mockConfig.mockImpl,previousSpecificImplementations=mockConfig.specificMockImpls;mockConfig.mockImpl=fn2,mockConfig.specificMockImpls=[];let returnedValue=callback();if(isPromise(returnedValue))return returnedValue.then(()=>{mockConfig.mockImpl=previousImplementation,mockConfig.specificMockImpls=previousSpecificImplementations});mockConfig.mockImpl=previousImplementation,mockConfig.specificMockImpls=previousSpecificImplementations},prototype=metadata.members&&metadata.members.prototype&&metadata.members.prototype.members||{},prototypeSlots=this._getSlots(prototype),mocker=this,mockConstructor=matchArity(function(...args){let mockState=mocker._ensureMockState(f),mockConfig=mocker._ensureMockConfig(f);mockState.instances.push(this),mockState.contexts.push(this),mockState.calls.push(args);let mockResult={type:"incomplete",value:void 0};mockState.results.push(mockResult),mockState.invocationCallOrder.push(mocker._invocationCallCounter++);let finalReturnValue,thrownError,callDidThrowError=!1;try{finalReturnValue=(()=>{if(this instanceof f){prototypeSlots.forEach(slot=>{if(prototype[slot].type==="function"){let protoImpl=this[slot];this[slot]=mocker.generateFromMetadata(prototype[slot]),this[slot]._protoImpl=protoImpl}});let mockImpl=mockConfig.specificMockImpls.length?mockConfig.specificMockImpls.shift():mockConfig.mockImpl;return mockImpl&&mockImpl.apply(this,arguments)}let specificMockImpl=mockConfig.specificMockImpls.shift();if(specificMockImpl===void 0&&(specificMockImpl=mockConfig.mockImpl),specificMockImpl)return specificMockImpl.apply(this,arguments);if(f._protoImpl)return f._protoImpl.apply(this,arguments)})()}catch(error){throw thrownError=error,callDidThrowError=!0,error}finally{mockResult.type=callDidThrowError?"throw":"return",mockResult.value=callDidThrowError?thrownError:finalReturnValue}return finalReturnValue},metadata.length||0),f=this._createMockFunction(metadata,mockConstructor);return f._isMockFunction=!0,f.getMockImplementation=()=>this._ensureMockConfig(f).mockImpl,spyState!=null&&this._spyState.add(spyState),this._mockState.set(f,this._defaultMockState()),this._mockConfigRegistry.set(f,this._defaultMockConfig()),Object.defineProperty(f,"mock",{configurable:!1,enumerable:!0,get:()=>this._ensureMockState(f),set:val=>this._mockState.set(f,val)}),f.mockClear=()=>(this._mockState.delete(f),f),f.mockReset=()=>{var _a;return f.mockClear(),this._mockConfigRegistry.delete(f),spyState!=null&&((_a=spyState.reset)==null||_a.call(spyState)),f},f.mockRestore=()=>{f.mockClear(),this._mockConfigRegistry.delete(f),spyState!=null&&(spyState.restore(),this._spyState.delete(spyState))},f.mockReturnValueOnce=value=>f.mockImplementationOnce(()=>value),f.mockResolvedValueOnce=value=>f.mockImplementationOnce(()=>this._environmentGlobal.Promise.resolve(value)),f.mockRejectedValueOnce=value=>f.mockImplementationOnce(()=>this._environmentGlobal.Promise.reject(value)),f.mockReturnValue=value=>f.mockImplementation(()=>value),f.mockResolvedValue=value=>f.mockImplementation(()=>this._environmentGlobal.Promise.resolve(value)),f.mockRejectedValue=value=>f.mockImplementation(()=>this._environmentGlobal.Promise.reject(value)),f.mockImplementationOnce=fn2=>(this._ensureMockConfig(f).specificMockImpls.push(fn2),f),f.withImplementation=withImplementation.bind(this),f.mockImplementation=fn2=>{let mockConfig=this._ensureMockConfig(f);return mockConfig.mockImpl=fn2,f},f.mockReturnThis=()=>f.mockImplementation(function(){return this}),f.mockName=name=>{if(name){let mockConfig=this._ensureMockConfig(f);mockConfig.mockName=name}return f},f.getMockName=()=>this._ensureMockConfig(f).mockName||"jest.fn()",metadata.mockImpl&&f.mockImplementation(metadata.mockImpl),f}let unknownType=metadata.type||"undefined type";throw new Error(`Unrecognized type ${unknownType}`)}_createMockFunction(metadata,mockConstructor){let{name}=metadata;if(!name)return mockConstructor;let boundFunctionPrefix="bound ",bindCall="";if(name.startsWith(boundFunctionPrefix))do name=name.substring(boundFunctionPrefix.length),bindCall=".bind(null)";while(name&&name.startsWith(boundFunctionPrefix));if(name===MOCK_CONSTRUCTOR_NAME)return mockConstructor;(RESERVED_KEYWORDS.has(name)||/^\d/.test(name))&&(name=`$${name}`),FUNCTION_NAME_RESERVED_PATTERN.test(name)&&(name=name.replace(FUNCTION_NAME_RESERVED_REPLACE,"$"));let body=`return function ${name}() { return ${MOCK_CONSTRUCTOR_NAME}.apply(this,arguments);}${bindCall}`;return new this._environmentGlobal.Function(MOCK_CONSTRUCTOR_NAME,body)(mockConstructor)}_generateMock(metadata,callbacks,refs){let mock=this._makeComponent(metadata);return metadata.refID!=null&&(refs[metadata.refID]=mock),this._getSlots(metadata.members).forEach(slot=>{let slotMetadata=metadata.members&&metadata.members[slot]||{};slotMetadata.ref!=null?callbacks.push(function(ref){return()=>mock[slot]=refs[ref]}(slotMetadata.ref)):mock[slot]=this._generateMock(slotMetadata,callbacks,refs)}),metadata.type!=="undefined"&&metadata.type!=="null"&&mock.prototype&&typeof mock.prototype=="object"&&(mock.prototype.constructor=mock),mock}_findReplacedProperty(object,propertyKey){for(let{restore}of this._spyState)if("object"in restore&&"property"in restore&&restore.object===object&&restore.property===propertyKey)return restore}generateFromMetadata(metadata){let callbacks=[],refs={},mock=this._generateMock(metadata,callbacks,refs);return callbacks.forEach(setter=>setter()),mock}getMetadata(component,_refs){let refs=_refs||new Map,ref=refs.get(component);if(ref!=null)return{ref};let type=getType(component);if(!type)return null;let metadata={type};if(type==="constant"||type==="collection"||type==="undefined"||type==="null")return metadata.value=component,metadata;if(type==="function"){let componentName=component.name;typeof componentName=="string"&&(metadata.name=componentName),this.isMockFunction(component)&&(metadata.mockImpl=component.getMockImplementation())}metadata.refID=refs.size,refs.set(component,metadata.refID);let members=null;return type!=="array"&&this._getSlots(component).forEach(slot=>{if(type==="function"&&this.isMockFunction(component)&&slot.match(/^mock/))return;let slotMetadata=this.getMetadata(component[slot],refs);slotMetadata&&(members||(members={}),members[slot]=slotMetadata)}),members&&(metadata.members=members),metadata}isMockFunction(fn2){return fn2!=null&&fn2._isMockFunction===!0}fn(implementation){let length=implementation?implementation.length:0,fn2=this._makeComponent({length,type:"function"});return implementation&&fn2.mockImplementation(implementation),fn2}_attachMockImplementation(mock,original){mock.mockImplementation(function(){return original.apply(this,arguments)})}spyOn(object,methodKey,accessType){if(object==null||typeof object!="object"&&typeof object!="function")throw new Error(`Cannot use spyOn on a primitive value; ${this._typeOf(object)} given`);if(methodKey==null)throw new Error("No property name supplied");if(accessType)return this._spyOnProperty(object,methodKey,accessType);let original=object[methodKey];if(!original)throw new Error(`Property \`${String(methodKey)}\` does not exist in the provided object`);if(!this.isMockFunction(original)){if(typeof original!="function")throw new Error(`Cannot spy on the \`${String(methodKey)}\` property because it is not a function; ${this._typeOf(original)} given instead.${typeof original!="object"?` If you are trying to mock a property, use \`jest.replaceProperty(object, '${String(methodKey)}', value)\` instead.`:""}`);let isMethodOwner=Object.prototype.hasOwnProperty.call(object,methodKey),descriptor=Object.getOwnPropertyDescriptor(object,methodKey),proto=Object.getPrototypeOf(object);for(;!descriptor&&proto!==null;)descriptor=Object.getOwnPropertyDescriptor(proto,methodKey),proto=Object.getPrototypeOf(proto);let mock;if(descriptor&&descriptor.get){let originalGet=descriptor.get;mock=this._makeComponent({type:"function"},{reset:()=>{this._attachMockImplementation(mock,original)},restore:()=>{descriptor.get=originalGet,Object.defineProperty(object,methodKey,descriptor)}}),descriptor.get=()=>mock,Object.defineProperty(object,methodKey,descriptor)}else mock=this._makeComponent({type:"function"},{reset:()=>{this._attachMockImplementation(mock,original)},restore:()=>{isMethodOwner?object[methodKey]=original:delete object[methodKey]}}),object[methodKey]=mock;this._attachMockImplementation(mock,original)}return object[methodKey]}_spyOnProperty(object,propertyKey,accessType){let descriptor=Object.getOwnPropertyDescriptor(object,propertyKey),proto=Object.getPrototypeOf(object);for(;!descriptor&&proto!==null;)descriptor=Object.getOwnPropertyDescriptor(proto,propertyKey),proto=Object.getPrototypeOf(proto);if(!descriptor)throw new Error(`Property \`${String(propertyKey)}\` does not exist in the provided object`);if(!descriptor.configurable)throw new Error(`Property \`${String(propertyKey)}\` is not declared configurable`);if(!descriptor[accessType])throw new Error(`Property \`${String(propertyKey)}\` does not have access type ${accessType}`);let original=descriptor[accessType];if(!this.isMockFunction(original)){if(typeof original!="function")throw new Error(`Cannot spy on the ${String(propertyKey)} property because it is not a function; ${this._typeOf(original)} given instead.${typeof original!="object"?` If you are trying to mock a property, use \`jest.replaceProperty(object, '${String(propertyKey)}', value)\` instead.`:""}`);descriptor[accessType]=this._makeComponent({type:"function"},{reset:()=>{this._attachMockImplementation(descriptor[accessType],original)},restore:()=>{descriptor[accessType]=original,Object.defineProperty(object,propertyKey,descriptor)}}),this._attachMockImplementation(descriptor[accessType],original)}return Object.defineProperty(object,propertyKey,descriptor),descriptor[accessType]}replaceProperty(object,propertyKey,value){if(object==null||typeof object!="object"&&typeof object!="function")throw new Error(`Cannot use replaceProperty on a primitive value; ${this._typeOf(object)} given`);if(propertyKey==null)throw new Error("No property name supplied");let descriptor=Object.getOwnPropertyDescriptor(object,propertyKey),proto=Object.getPrototypeOf(object);for(;!descriptor&&proto!==null;)descriptor=Object.getOwnPropertyDescriptor(proto,propertyKey),proto=Object.getPrototypeOf(proto);if(!descriptor)throw new Error(`Property \`${String(propertyKey)}\` does not exist in the provided object`);if(!descriptor.configurable)throw new Error(`Property \`${String(propertyKey)}\` is not declared configurable`);if(descriptor.get!==void 0)throw new Error(`Cannot replace the \`${String(propertyKey)}\` property because it has a getter. Use \`jest.spyOn(object, '${String(propertyKey)}', 'get').mockReturnValue(value)\` instead.`);if(descriptor.set!==void 0)throw new Error(`Cannot replace the \`${String(propertyKey)}\` property because it has a setter. Use \`jest.spyOn(object, '${String(propertyKey)}', 'set').mockReturnValue(value)\` instead.`);if(typeof descriptor.value=="function")throw new Error(`Cannot replace the \`${String(propertyKey)}\` property because it is a function. Use \`jest.spyOn(object, '${String(propertyKey)}')\` instead.`);let existingRestore=this._findReplacedProperty(object,propertyKey);if(existingRestore)return existingRestore.replaced.replaceValue(value);let isPropertyOwner=Object.prototype.hasOwnProperty.call(object,propertyKey),originalValue=descriptor.value,restore=()=>{isPropertyOwner?object[propertyKey]=originalValue:delete object[propertyKey]},replaced={replaceValue:value2=>(object[propertyKey]=value2,replaced),restore:()=>{restore(),this._spyState.delete({restore})}};return restore.object=object,restore.property=propertyKey,restore.replaced=replaced,this._spyState.add({restore}),replaced.replaceValue(value)}clearAllMocks(){this._mockState=new WeakMap}resetAllMocks(){this.clearAllMocks(),this._mockConfigRegistry=new WeakMap,this._spyState.forEach(spyState=>{var _a;return(_a=spyState.reset)==null?void 0:_a.call(spyState)})}restoreAllMocks(){this.clearAllMocks(),this._mockConfigRegistry=new WeakMap,this._spyState.forEach(spyState=>spyState.restore()),this._spyState=new Set}_typeOf(value){return value==null?`${value}`:typeof value}mocked(source,_options){return source}};var JestMock=new ModuleMocker(import_global.global),fn=JestMock.fn.bind(JestMock),{action}=(0,import_instrumenter.instrument)({action:fn},{retain:!0}),channel=import_preview_api.addons.getChannel(),seen=new Set,spies=[];channel.on(import_core_events.FORCE_REMOUNT,()=>spies.forEach(mock=>{var _a;return(_a=mock==null?void 0:mock.mockClear)==null?void 0:_a.call(mock)}));channel.on(import_core_events.STORY_RENDER_PHASE_CHANGED,({newPhase})=>{newPhase==="loading"&&spies.forEach(mock=>{var _a;return(_a=mock==null?void 0:mock.mockClear)==null?void 0:_a.call(mock)})});var addSpies=(id,val,key)=>{if(seen.has(val))return val;seen.add(val);try{if(Object.prototype.toString.call(val)==="[object Object]"){for(let[k,v]of Object.entries(val))val[k]=addSpies(id,v,k);return val}if(Array.isArray(val))return val.map((item,index)=>addSpies(id,item,`${key}[${index}]`));if(typeof val=="function"&&val.isAction){Object.defineProperty(val,"name",{value:key,writable:!1}),Object.defineProperty(val,"__storyId__",{value:id,writable:!1});let spy=action(val);return spies.push(spy),spy}}catch{}return val},addActionsFromArgTypes=({id,initialArgs})=>addSpies(id,initialArgs),argsEnhancers=[addActionsFromArgTypes],{step:runStep}=(0,import_instrumenter.instrument)({step:(label,play,context)=>play(context)},{intercept:!0}),parameters={throwPlayFunctionExceptions:!1};0&&(module.exports={argsEnhancers,parameters,runStep});
package/dist/preview.mjs CHANGED
@@ -3,8 +3,7 @@ import { addons } from '@storybook/preview-api';
3
3
  import { global } from '@storybook/global';
4
4
  import { FORCE_REMOUNT, STORY_RENDER_PHASE_CHANGED } from '@storybook/core-events';
5
5
  import { instrument } from '@storybook/instrumenter';
6
- import { ModuleMocker } from 'jest-mock';
7
6
 
8
- var JestMock=new ModuleMocker(global),fn=JestMock.fn.bind(JestMock),{action}=instrument({action:fn},{retain:!0}),channel=addons.getChannel(),seen=new Set,spies=[];channel.on(FORCE_REMOUNT,()=>spies.forEach(mock=>mock?.mockClear?.()));channel.on(STORY_RENDER_PHASE_CHANGED,({newPhase})=>{newPhase==="loading"&&spies.forEach(mock=>mock?.mockClear?.());});var addSpies=(id,val,key)=>{if(seen.has(val))return val;seen.add(val);try{if(Object.prototype.toString.call(val)==="[object Object]"){for(let[k,v]of Object.entries(val))val[k]=addSpies(id,v,k);return val}if(Array.isArray(val))return val.map((item,index)=>addSpies(id,item,`${key}[${index}]`));if(typeof val=="function"&&val.isAction){Object.defineProperty(val,"name",{value:key,writable:!1}),Object.defineProperty(val,"__storyId__",{value:id,writable:!1});let spy=action(val);return spies.push(spy),spy}}catch{}return val},addActionsFromArgTypes=({id,initialArgs})=>addSpies(id,initialArgs),argsEnhancers=[addActionsFromArgTypes],{step:runStep}=instrument({step:(label,play,context)=>play(context)},{intercept:!0}),parameters={throwPlayFunctionExceptions:!1};
7
+ function isPromise(candidate){return candidate!=null&&(typeof candidate=="object"||typeof candidate=="function")&&typeof candidate.then=="function"}var MOCK_CONSTRUCTOR_NAME="mockConstructor",FUNCTION_NAME_RESERVED_PATTERN=/[\s!-/:-@[-`{-~]/,FUNCTION_NAME_RESERVED_REPLACE=new RegExp(FUNCTION_NAME_RESERVED_PATTERN.source,"g"),RESERVED_KEYWORDS=new Set(["arguments","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","eval","export","extends","false","finally","for","function","if","implements","import","in","instanceof","interface","let","new","null","package","private","protected","public","return","static","super","switch","this","throw","true","try","typeof","var","void","while","with","yield"]);function matchArity(fn2,length){let mockConstructor;switch(length){case 1:mockConstructor=function(_a){return fn2.apply(this,arguments)};break;case 2:mockConstructor=function(_a,_b){return fn2.apply(this,arguments)};break;case 3:mockConstructor=function(_a,_b,_c){return fn2.apply(this,arguments)};break;case 4:mockConstructor=function(_a,_b,_c,_d){return fn2.apply(this,arguments)};break;case 5:mockConstructor=function(_a,_b,_c,_d,_e){return fn2.apply(this,arguments)};break;case 6:mockConstructor=function(_a,_b,_c,_d,_e,_f){return fn2.apply(this,arguments)};break;case 7:mockConstructor=function(_a,_b,_c,_d,_e,_f,_g){return fn2.apply(this,arguments)};break;case 8:mockConstructor=function(_a,_b,_c,_d,_e,_f,_g,_h){return fn2.apply(this,arguments)};break;case 9:mockConstructor=function(_a,_b,_c,_d,_e,_f,_g,_h,_i){return fn2.apply(this,arguments)};break;default:mockConstructor=function(){return fn2.apply(this,arguments)};break}return mockConstructor}function getObjectType(value){return Object.prototype.toString.apply(value).slice(8,-1)}function getType(ref){let typeName=getObjectType(ref);return typeName==="Function"||typeName==="AsyncFunction"||typeName==="GeneratorFunction"||typeName==="AsyncGeneratorFunction"?"function":Array.isArray(ref)?"array":typeName==="Object"||typeName==="Module"?"object":typeName==="Number"||typeName==="String"||typeName==="Boolean"||typeName==="Symbol"?"constant":typeName==="Map"||typeName==="WeakMap"||typeName==="Set"?"collection":typeName==="RegExp"?"regexp":ref===void 0?"undefined":ref===null?"null":null}function isReadonlyProp(object,prop){if(prop==="arguments"||prop==="caller"||prop==="callee"||prop==="name"||prop==="length"){let typeName=getObjectType(object);return typeName==="Function"||typeName==="AsyncFunction"||typeName==="GeneratorFunction"||typeName==="AsyncGeneratorFunction"}return prop==="source"||prop==="global"||prop==="ignoreCase"||prop==="multiline"?getObjectType(object)==="RegExp":!1}var ModuleMocker=class{constructor(global2){this._environmentGlobal=global2,this._mockState=new WeakMap,this._mockConfigRegistry=new WeakMap,this._spyState=new Set,this._invocationCallCounter=1;}_getSlots(object){if(!object)return [];let slots=new Set,EnvObjectProto=this._environmentGlobal.Object.prototype,EnvFunctionProto=this._environmentGlobal.Function.prototype,EnvRegExpProto=this._environmentGlobal.RegExp.prototype,ObjectProto=Object.prototype,FunctionProto=Function.prototype,RegExpProto=RegExp.prototype;for(;object!=null&&object!==EnvObjectProto&&object!==EnvFunctionProto&&object!==EnvRegExpProto&&object!==ObjectProto&&object!==FunctionProto&&object!==RegExpProto;){let ownNames=Object.getOwnPropertyNames(object);for(let i=0;i<ownNames.length;i++){let prop=ownNames[i];if(!isReadonlyProp(object,prop)){let propDesc=Object.getOwnPropertyDescriptor(object,prop);(propDesc!==void 0&&!propDesc.get||object.__esModule)&&slots.add(prop);}}object=Object.getPrototypeOf(object);}return Array.from(slots)}_ensureMockConfig(f){let config=this._mockConfigRegistry.get(f);return config||(config=this._defaultMockConfig(),this._mockConfigRegistry.set(f,config)),config}_ensureMockState(f){let state=this._mockState.get(f);return state||(state=this._defaultMockState(),this._mockState.set(f,state)),state.calls.length>0&&(state.lastCall=state.calls[state.calls.length-1]),state}_defaultMockConfig(){return {mockImpl:void 0,mockName:"jest.fn()",specificMockImpls:[]}}_defaultMockState(){return {calls:[],contexts:[],instances:[],invocationCallOrder:[],results:[]}}_makeComponent(metadata,spyState){if(metadata.type==="object")return new this._environmentGlobal.Object;if(metadata.type==="array")return new this._environmentGlobal.Array;if(metadata.type==="regexp")return new this._environmentGlobal.RegExp("");if(metadata.type==="constant"||metadata.type==="collection"||metadata.type==="null"||metadata.type==="undefined")return metadata.value;if(metadata.type==="function"){let withImplementation=function(fn2,callback){let mockConfig=this._ensureMockConfig(f),previousImplementation=mockConfig.mockImpl,previousSpecificImplementations=mockConfig.specificMockImpls;mockConfig.mockImpl=fn2,mockConfig.specificMockImpls=[];let returnedValue=callback();if(isPromise(returnedValue))return returnedValue.then(()=>{mockConfig.mockImpl=previousImplementation,mockConfig.specificMockImpls=previousSpecificImplementations;});mockConfig.mockImpl=previousImplementation,mockConfig.specificMockImpls=previousSpecificImplementations;},prototype=metadata.members&&metadata.members.prototype&&metadata.members.prototype.members||{},prototypeSlots=this._getSlots(prototype),mocker=this,mockConstructor=matchArity(function(...args){let mockState=mocker._ensureMockState(f),mockConfig=mocker._ensureMockConfig(f);mockState.instances.push(this),mockState.contexts.push(this),mockState.calls.push(args);let mockResult={type:"incomplete",value:void 0};mockState.results.push(mockResult),mockState.invocationCallOrder.push(mocker._invocationCallCounter++);let finalReturnValue,thrownError,callDidThrowError=!1;try{finalReturnValue=(()=>{if(this instanceof f){prototypeSlots.forEach(slot=>{if(prototype[slot].type==="function"){let protoImpl=this[slot];this[slot]=mocker.generateFromMetadata(prototype[slot]),this[slot]._protoImpl=protoImpl;}});let mockImpl=mockConfig.specificMockImpls.length?mockConfig.specificMockImpls.shift():mockConfig.mockImpl;return mockImpl&&mockImpl.apply(this,arguments)}let specificMockImpl=mockConfig.specificMockImpls.shift();if(specificMockImpl===void 0&&(specificMockImpl=mockConfig.mockImpl),specificMockImpl)return specificMockImpl.apply(this,arguments);if(f._protoImpl)return f._protoImpl.apply(this,arguments)})();}catch(error){throw thrownError=error,callDidThrowError=!0,error}finally{mockResult.type=callDidThrowError?"throw":"return",mockResult.value=callDidThrowError?thrownError:finalReturnValue;}return finalReturnValue},metadata.length||0),f=this._createMockFunction(metadata,mockConstructor);return f._isMockFunction=!0,f.getMockImplementation=()=>this._ensureMockConfig(f).mockImpl,spyState!=null&&this._spyState.add(spyState),this._mockState.set(f,this._defaultMockState()),this._mockConfigRegistry.set(f,this._defaultMockConfig()),Object.defineProperty(f,"mock",{configurable:!1,enumerable:!0,get:()=>this._ensureMockState(f),set:val=>this._mockState.set(f,val)}),f.mockClear=()=>(this._mockState.delete(f),f),f.mockReset=()=>(f.mockClear(),this._mockConfigRegistry.delete(f),spyState?.reset?.(),f),f.mockRestore=()=>{f.mockClear(),this._mockConfigRegistry.delete(f),spyState!=null&&(spyState.restore(),this._spyState.delete(spyState));},f.mockReturnValueOnce=value=>f.mockImplementationOnce(()=>value),f.mockResolvedValueOnce=value=>f.mockImplementationOnce(()=>this._environmentGlobal.Promise.resolve(value)),f.mockRejectedValueOnce=value=>f.mockImplementationOnce(()=>this._environmentGlobal.Promise.reject(value)),f.mockReturnValue=value=>f.mockImplementation(()=>value),f.mockResolvedValue=value=>f.mockImplementation(()=>this._environmentGlobal.Promise.resolve(value)),f.mockRejectedValue=value=>f.mockImplementation(()=>this._environmentGlobal.Promise.reject(value)),f.mockImplementationOnce=fn2=>(this._ensureMockConfig(f).specificMockImpls.push(fn2),f),f.withImplementation=withImplementation.bind(this),f.mockImplementation=fn2=>{let mockConfig=this._ensureMockConfig(f);return mockConfig.mockImpl=fn2,f},f.mockReturnThis=()=>f.mockImplementation(function(){return this}),f.mockName=name=>{if(name){let mockConfig=this._ensureMockConfig(f);mockConfig.mockName=name;}return f},f.getMockName=()=>this._ensureMockConfig(f).mockName||"jest.fn()",metadata.mockImpl&&f.mockImplementation(metadata.mockImpl),f}let unknownType=metadata.type||"undefined type";throw new Error(`Unrecognized type ${unknownType}`)}_createMockFunction(metadata,mockConstructor){let{name}=metadata;if(!name)return mockConstructor;let boundFunctionPrefix="bound ",bindCall="";if(name.startsWith(boundFunctionPrefix))do name=name.substring(boundFunctionPrefix.length),bindCall=".bind(null)";while(name&&name.startsWith(boundFunctionPrefix));if(name===MOCK_CONSTRUCTOR_NAME)return mockConstructor;(RESERVED_KEYWORDS.has(name)||/^\d/.test(name))&&(name=`$${name}`),FUNCTION_NAME_RESERVED_PATTERN.test(name)&&(name=name.replace(FUNCTION_NAME_RESERVED_REPLACE,"$"));let body=`return function ${name}() { return ${MOCK_CONSTRUCTOR_NAME}.apply(this,arguments);}${bindCall}`;return new this._environmentGlobal.Function(MOCK_CONSTRUCTOR_NAME,body)(mockConstructor)}_generateMock(metadata,callbacks,refs){let mock=this._makeComponent(metadata);return metadata.refID!=null&&(refs[metadata.refID]=mock),this._getSlots(metadata.members).forEach(slot=>{let slotMetadata=metadata.members&&metadata.members[slot]||{};slotMetadata.ref!=null?callbacks.push(function(ref){return ()=>mock[slot]=refs[ref]}(slotMetadata.ref)):mock[slot]=this._generateMock(slotMetadata,callbacks,refs);}),metadata.type!=="undefined"&&metadata.type!=="null"&&mock.prototype&&typeof mock.prototype=="object"&&(mock.prototype.constructor=mock),mock}_findReplacedProperty(object,propertyKey){for(let{restore}of this._spyState)if("object"in restore&&"property"in restore&&restore.object===object&&restore.property===propertyKey)return restore}generateFromMetadata(metadata){let callbacks=[],refs={},mock=this._generateMock(metadata,callbacks,refs);return callbacks.forEach(setter=>setter()),mock}getMetadata(component,_refs){let refs=_refs||new Map,ref=refs.get(component);if(ref!=null)return {ref};let type=getType(component);if(!type)return null;let metadata={type};if(type==="constant"||type==="collection"||type==="undefined"||type==="null")return metadata.value=component,metadata;if(type==="function"){let componentName=component.name;typeof componentName=="string"&&(metadata.name=componentName),this.isMockFunction(component)&&(metadata.mockImpl=component.getMockImplementation());}metadata.refID=refs.size,refs.set(component,metadata.refID);let members=null;return type!=="array"&&this._getSlots(component).forEach(slot=>{if(type==="function"&&this.isMockFunction(component)&&slot.match(/^mock/))return;let slotMetadata=this.getMetadata(component[slot],refs);slotMetadata&&(members||(members={}),members[slot]=slotMetadata);}),members&&(metadata.members=members),metadata}isMockFunction(fn2){return fn2!=null&&fn2._isMockFunction===!0}fn(implementation){let length=implementation?implementation.length:0,fn2=this._makeComponent({length,type:"function"});return implementation&&fn2.mockImplementation(implementation),fn2}_attachMockImplementation(mock,original){mock.mockImplementation(function(){return original.apply(this,arguments)});}spyOn(object,methodKey,accessType){if(object==null||typeof object!="object"&&typeof object!="function")throw new Error(`Cannot use spyOn on a primitive value; ${this._typeOf(object)} given`);if(methodKey==null)throw new Error("No property name supplied");if(accessType)return this._spyOnProperty(object,methodKey,accessType);let original=object[methodKey];if(!original)throw new Error(`Property \`${String(methodKey)}\` does not exist in the provided object`);if(!this.isMockFunction(original)){if(typeof original!="function")throw new Error(`Cannot spy on the \`${String(methodKey)}\` property because it is not a function; ${this._typeOf(original)} given instead.${typeof original!="object"?` If you are trying to mock a property, use \`jest.replaceProperty(object, '${String(methodKey)}', value)\` instead.`:""}`);let isMethodOwner=Object.prototype.hasOwnProperty.call(object,methodKey),descriptor=Object.getOwnPropertyDescriptor(object,methodKey),proto=Object.getPrototypeOf(object);for(;!descriptor&&proto!==null;)descriptor=Object.getOwnPropertyDescriptor(proto,methodKey),proto=Object.getPrototypeOf(proto);let mock;if(descriptor&&descriptor.get){let originalGet=descriptor.get;mock=this._makeComponent({type:"function"},{reset:()=>{this._attachMockImplementation(mock,original);},restore:()=>{descriptor.get=originalGet,Object.defineProperty(object,methodKey,descriptor);}}),descriptor.get=()=>mock,Object.defineProperty(object,methodKey,descriptor);}else mock=this._makeComponent({type:"function"},{reset:()=>{this._attachMockImplementation(mock,original);},restore:()=>{isMethodOwner?object[methodKey]=original:delete object[methodKey];}}),object[methodKey]=mock;this._attachMockImplementation(mock,original);}return object[methodKey]}_spyOnProperty(object,propertyKey,accessType){let descriptor=Object.getOwnPropertyDescriptor(object,propertyKey),proto=Object.getPrototypeOf(object);for(;!descriptor&&proto!==null;)descriptor=Object.getOwnPropertyDescriptor(proto,propertyKey),proto=Object.getPrototypeOf(proto);if(!descriptor)throw new Error(`Property \`${String(propertyKey)}\` does not exist in the provided object`);if(!descriptor.configurable)throw new Error(`Property \`${String(propertyKey)}\` is not declared configurable`);if(!descriptor[accessType])throw new Error(`Property \`${String(propertyKey)}\` does not have access type ${accessType}`);let original=descriptor[accessType];if(!this.isMockFunction(original)){if(typeof original!="function")throw new Error(`Cannot spy on the ${String(propertyKey)} property because it is not a function; ${this._typeOf(original)} given instead.${typeof original!="object"?` If you are trying to mock a property, use \`jest.replaceProperty(object, '${String(propertyKey)}', value)\` instead.`:""}`);descriptor[accessType]=this._makeComponent({type:"function"},{reset:()=>{this._attachMockImplementation(descriptor[accessType],original);},restore:()=>{descriptor[accessType]=original,Object.defineProperty(object,propertyKey,descriptor);}}),this._attachMockImplementation(descriptor[accessType],original);}return Object.defineProperty(object,propertyKey,descriptor),descriptor[accessType]}replaceProperty(object,propertyKey,value){if(object==null||typeof object!="object"&&typeof object!="function")throw new Error(`Cannot use replaceProperty on a primitive value; ${this._typeOf(object)} given`);if(propertyKey==null)throw new Error("No property name supplied");let descriptor=Object.getOwnPropertyDescriptor(object,propertyKey),proto=Object.getPrototypeOf(object);for(;!descriptor&&proto!==null;)descriptor=Object.getOwnPropertyDescriptor(proto,propertyKey),proto=Object.getPrototypeOf(proto);if(!descriptor)throw new Error(`Property \`${String(propertyKey)}\` does not exist in the provided object`);if(!descriptor.configurable)throw new Error(`Property \`${String(propertyKey)}\` is not declared configurable`);if(descriptor.get!==void 0)throw new Error(`Cannot replace the \`${String(propertyKey)}\` property because it has a getter. Use \`jest.spyOn(object, '${String(propertyKey)}', 'get').mockReturnValue(value)\` instead.`);if(descriptor.set!==void 0)throw new Error(`Cannot replace the \`${String(propertyKey)}\` property because it has a setter. Use \`jest.spyOn(object, '${String(propertyKey)}', 'set').mockReturnValue(value)\` instead.`);if(typeof descriptor.value=="function")throw new Error(`Cannot replace the \`${String(propertyKey)}\` property because it is a function. Use \`jest.spyOn(object, '${String(propertyKey)}')\` instead.`);let existingRestore=this._findReplacedProperty(object,propertyKey);if(existingRestore)return existingRestore.replaced.replaceValue(value);let isPropertyOwner=Object.prototype.hasOwnProperty.call(object,propertyKey),originalValue=descriptor.value,restore=()=>{isPropertyOwner?object[propertyKey]=originalValue:delete object[propertyKey];},replaced={replaceValue:value2=>(object[propertyKey]=value2,replaced),restore:()=>{restore(),this._spyState.delete({restore});}};return restore.object=object,restore.property=propertyKey,restore.replaced=replaced,this._spyState.add({restore}),replaced.replaceValue(value)}clearAllMocks(){this._mockState=new WeakMap;}resetAllMocks(){this.clearAllMocks(),this._mockConfigRegistry=new WeakMap,this._spyState.forEach(spyState=>spyState.reset?.());}restoreAllMocks(){this.clearAllMocks(),this._mockConfigRegistry=new WeakMap,this._spyState.forEach(spyState=>spyState.restore()),this._spyState=new Set;}_typeOf(value){return value==null?`${value}`:typeof value}mocked(source,_options){return source}};var JestMock=new ModuleMocker(global),fn=JestMock.fn.bind(JestMock),{action}=instrument({action:fn},{retain:!0}),channel=addons.getChannel(),seen=new Set,spies=[];channel.on(FORCE_REMOUNT,()=>spies.forEach(mock=>mock?.mockClear?.()));channel.on(STORY_RENDER_PHASE_CHANGED,({newPhase})=>{newPhase==="loading"&&spies.forEach(mock=>mock?.mockClear?.());});var addSpies=(id,val,key)=>{if(seen.has(val))return val;seen.add(val);try{if(Object.prototype.toString.call(val)==="[object Object]"){for(let[k,v]of Object.entries(val))val[k]=addSpies(id,v,k);return val}if(Array.isArray(val))return val.map((item,index)=>addSpies(id,item,`${key}[${index}]`));if(typeof val=="function"&&val.isAction){Object.defineProperty(val,"name",{value:key,writable:!1}),Object.defineProperty(val,"__storyId__",{value:id,writable:!1});let spy=action(val);return spies.push(spy),spy}}catch{}return val},addActionsFromArgTypes=({id,initialArgs})=>addSpies(id,initialArgs),argsEnhancers=[addActionsFromArgTypes],{step:runStep}=instrument({step:(label,play,context)=>play(context)},{intercept:!0}),parameters={throwPlayFunctionExceptions:!1};
9
8
 
10
9
  export { argsEnhancers, parameters, runStep };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-interactions",
3
- "version": "7.2.0-canary-23572-1690275421-726e1551.0",
3
+ "version": "7.2.0-canary-23593-1690276507-975d4e05.0",
4
4
  "description": "Automate, test and debug user interactions",
5
5
  "keywords": [
6
6
  "storybook-addons",
@@ -72,17 +72,16 @@
72
72
  "prep": "../../../scripts/prepare/bundle.ts"
73
73
  },
74
74
  "dependencies": {
75
- "@storybook/client-logger": "7.2.0-canary-23572-1690275421-726e1551.0",
76
- "@storybook/components": "7.2.0-canary-23572-1690275421-726e1551.0",
77
- "@storybook/core-common": "7.2.0-canary-23572-1690275421-726e1551.0",
78
- "@storybook/core-events": "7.2.0-canary-23572-1690275421-726e1551.0",
75
+ "@storybook/client-logger": "7.2.0-canary-23593-1690276507-975d4e05.0",
76
+ "@storybook/components": "7.2.0-canary-23593-1690276507-975d4e05.0",
77
+ "@storybook/core-common": "7.2.0-canary-23593-1690276507-975d4e05.0",
78
+ "@storybook/core-events": "7.2.0-canary-23593-1690276507-975d4e05.0",
79
79
  "@storybook/global": "^5.0.0",
80
- "@storybook/instrumenter": "7.2.0-canary-23572-1690275421-726e1551.0",
81
- "@storybook/manager-api": "7.2.0-canary-23572-1690275421-726e1551.0",
82
- "@storybook/preview-api": "7.2.0-canary-23572-1690275421-726e1551.0",
83
- "@storybook/theming": "7.2.0-canary-23572-1690275421-726e1551.0",
84
- "@storybook/types": "7.2.0-canary-23572-1690275421-726e1551.0",
85
- "jest-mock": "^29.5.0",
80
+ "@storybook/instrumenter": "7.2.0-canary-23593-1690276507-975d4e05.0",
81
+ "@storybook/manager-api": "7.2.0-canary-23593-1690276507-975d4e05.0",
82
+ "@storybook/preview-api": "7.2.0-canary-23593-1690276507-975d4e05.0",
83
+ "@storybook/theming": "7.2.0-canary-23593-1690276507-975d4e05.0",
84
+ "@storybook/types": "7.2.0-canary-23593-1690276507-975d4e05.0",
86
85
  "polished": "^4.2.2",
87
86
  "ts-dedent": "^2.2.0"
88
87
  },