@storybook/addon-interactions 7.0.7 → 7.0.8

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.
@@ -1 +1,3 @@
1
- var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));export{__commonJS,__toESM};
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));
2
+
3
+ export { __commonJS, __toESM };
package/dist/index.mjs CHANGED
@@ -1 +1,5 @@
1
- import"./chunk-NNAAFZ4U.mjs";var src_default={};export{src_default as default};
1
+ import './chunk-NNAAFZ4U.mjs';
2
+
3
+ var src_default={};
4
+
5
+ export { src_default as default };
package/dist/manager.mjs CHANGED
@@ -1,4 +1,16 @@
1
- import{__commonJS,__toESM}from"./chunk-NNAAFZ4U.mjs";var require_extends=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/extends.js"(exports,module){function _extends5(){return module.exports=_extends5=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends5.apply(this,arguments)}module.exports=_extends5}});var require_objectWithoutPropertiesLoose=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}module.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module){var objectWithoutPropertiesLoose=require_objectWithoutPropertiesLoose();function _objectWithoutProperties6(source,excluded){if(source==null)return{};var target=objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}module.exports=_objectWithoutProperties6}});var require_defineProperty=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module.exports=_defineProperty}});var require_objectSpread2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module){var defineProperty=require_defineProperty();function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread22(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(source,!0).forEach(function(key){defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(source).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}module.exports=_objectSpread22}});var require_objectWithoutPropertiesLoose2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}module.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module){var objectWithoutPropertiesLoose=require_objectWithoutPropertiesLoose2();function _objectWithoutProperties6(source,excluded){if(source==null)return{};var target=objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}module.exports=_objectWithoutProperties6}});var require_defineProperty2=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module.exports=_defineProperty}});var require_objectSpread22=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module){var defineProperty=require_defineProperty2();function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread22(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(source,!0).forEach(function(key){defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(source).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}module.exports=_objectSpread22}});var require_extends2=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/extends.js"(exports,module){function _extends5(){return module.exports=_extends5=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends5.apply(this,arguments)}module.exports=_extends5}});var require_objectWithoutPropertiesLoose3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}module.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module){var objectWithoutPropertiesLoose=require_objectWithoutPropertiesLoose3();function _objectWithoutProperties6(source,excluded){if(source==null)return{};var target=objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}module.exports=_objectWithoutProperties6}});import{addons,types}from"@storybook/manager-api";var ADDON_ID="storybook/interactions",PANEL_ID=`${ADDON_ID}/panel`;import{global as global2}from"@storybook/global";import*as React15 from"react";import{useChannel,useParameter}from"@storybook/manager-api";import{FORCE_REMOUNT,IGNORED_EXCEPTION,STORY_RENDER_PHASE_CHANGED,STORY_THREW_EXCEPTION,PLAY_FUNCTION_THREW_EXCEPTION}from"@storybook/core-events";import{EVENTS,CallStates as CallStates6}from"@storybook/instrumenter";import*as React14 from"react";import{AddonPanel,Link,Placeholder}from"@storybook/components";import{CallStates as CallStates5}from"@storybook/instrumenter";import{styled as styled6}from"@storybook/theming";import{transparentize as transparentize3}from"polished";import React2 from"react";import{Button,IconButton,Icons,Separator,P,TooltipNote,WithTooltip,Bar}from"@storybook/components";import{CallStates as CallStates2}from"@storybook/instrumenter";import{styled as styled2}from"@storybook/theming";import React from"react";import{CallStates}from"@storybook/instrumenter";import{styled,typography}from"@storybook/theming";var StyledBadge=styled.div(({theme:theme2,status})=>({padding:"4px 6px 4px 8px;",borderRadius:"4px",backgroundColor:{[CallStates.DONE]:theme2.color.positive,[CallStates.ERROR]:theme2.color.negative,[CallStates.ACTIVE]:theme2.color.warning,[CallStates.WAITING]:theme2.color.warning}[status],color:"white",fontFamily:typography.fonts.base,textTransform:"uppercase",fontSize:typography.size.s1,letterSpacing:3,fontWeight:typography.weight.bold,width:65,textAlign:"center"})),StatusBadge=({status})=>{let badgeText={[CallStates.DONE]:"Pass",[CallStates.ERROR]:"Fail",[CallStates.ACTIVE]:"Runs",[CallStates.WAITING]:"Runs"}[status];return React.createElement(StyledBadge,{"aria-label":"Status of the test run",status},badgeText)};var SubnavWrapper=styled2.div(({theme:theme2})=>({background:theme2.background.app,borderBottom:`1px solid ${theme2.appBorderColor}`,position:"sticky",top:0,zIndex:1})),StyledSubnav=styled2.nav(({theme:theme2})=>({height:40,display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:15})),StyledButton=styled2(Button)(({theme:theme2})=>({borderRadius:4,padding:6,color:theme2.textMutedColor,"&:not(:disabled)":{"&:hover,&:focus-visible":{color:theme2.color.secondary}}})),Note=styled2(TooltipNote)(({theme:theme2})=>({fontFamily:theme2.typography.fonts.base})),StyledIconButton=styled2(IconButton)(({theme:theme2})=>({color:theme2.textMutedColor,margin:"0 3px"})),StyledSeparator=styled2(Separator)({marginTop:0}),StyledLocation=styled2(P)(({theme:theme2})=>({color:theme2.textMutedColor,justifyContent:"flex-end",textAlign:"right",whiteSpace:"nowrap",marginTop:"auto",marginBottom:1,paddingRight:15,fontSize:13})),Group=styled2.div({display:"flex",alignItems:"center"}),RewindButton=styled2(StyledIconButton)({marginLeft:9}),JumpToEndButton=styled2(StyledButton)({marginLeft:9,marginRight:9,marginBottom:1,lineHeight:"12px"}),RerunButton=styled2(StyledIconButton)(({theme:theme2,animating,disabled})=>({opacity:disabled?.5:1,svg:{animation:animating&&`${theme2.animation.rotate360} 200ms ease-out`}})),Subnav=({controls,controlStates,status,storyFileName,onScrollToEnd,isRerunAnimating,setIsRerunAnimating})=>{let buttonText=status===CallStates2.ERROR?"Scroll to error":"Scroll to end";return React2.createElement(SubnavWrapper,null,React2.createElement(Bar,null,React2.createElement(StyledSubnav,null,React2.createElement(Group,null,React2.createElement(StatusBadge,{status}),React2.createElement(JumpToEndButton,{onClick:onScrollToEnd,disabled:!onScrollToEnd},buttonText),React2.createElement(StyledSeparator,null),React2.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React2.createElement(Note,{note:"Go to start"})},React2.createElement(RewindButton,{"aria-label":"Go to start",containsIcon:!0,onClick:controls.start,disabled:!controlStates.start},React2.createElement(Icons,{icon:"rewind"}))),React2.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React2.createElement(Note,{note:"Go back"})},React2.createElement(StyledIconButton,{"aria-label":"Go back",containsIcon:!0,onClick:controls.back,disabled:!controlStates.back},React2.createElement(Icons,{icon:"playback"}))),React2.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React2.createElement(Note,{note:"Go forward"})},React2.createElement(StyledIconButton,{"aria-label":"Go forward",containsIcon:!0,onClick:controls.next,disabled:!controlStates.next},React2.createElement(Icons,{icon:"playnext"}))),React2.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React2.createElement(Note,{note:"Go to end"})},React2.createElement(StyledIconButton,{"aria-label":"Go to end",containsIcon:!0,onClick:controls.end,disabled:!controlStates.end},React2.createElement(Icons,{icon:"fastforward"}))),React2.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React2.createElement(Note,{note:"Rerun"})},React2.createElement(RerunButton,{"aria-label":"Rerun",containsIcon:!0,onClick:controls.rerun,onAnimationEnd:()=>setIsRerunAnimating(!1),animating:isRerunAnimating,disabled:isRerunAnimating},React2.createElement(Icons,{icon:"sync"})))),storyFileName&&React2.createElement(Group,null,React2.createElement(StyledLocation,null,storyFileName)))))};import*as React13 from"react";import{IconButton as IconButton2,Icons as Icons3,TooltipNote as TooltipNote2,WithTooltip as WithTooltip2}from"@storybook/components";import{CallStates as CallStates4}from"@storybook/instrumenter";import{styled as styled5,typography as typography3}from"@storybook/theming";import{transparentize as transparentize2}from"polished";import React11 from"react";import{styled as styled3,typography as typography2}from"@storybook/theming";var import_extends4=__toESM(require_extends()),import_objectWithoutProperties5=__toESM(require_objectWithoutProperties());import React9,{useEffect as useEffect4,useState as useState4}from"react";function toVal(mix){var k,y,str="";if(mix)if(typeof mix=="object")if(Array.isArray(mix))for(k=0;k<mix.length;k++)mix[k]&&(y=toVal(mix[k]))&&(str&&(str+=" "),str+=y);else for(k in mix)mix[k]&&(y=toVal(k))&&(str&&(str+=" "),str+=y);else typeof mix!="boolean"&&!mix.call&&(str&&(str+=" "),str+=mix);return str}function clsx_m_default(){for(var i=0,x,str="";i<arguments.length;)(x=toVal(arguments[i++]))&&(str&&(str+=" "),str+=x);return str}var isArray=val=>Array.isArray(val)||ArrayBuffer.isView(val)&&!(val instanceof DataView),isObject=val=>val!==null&&typeof val=="object"&&!isArray(val)&&!(val instanceof Date)&&!(val instanceof RegExp)&&!(val instanceof Error)&&!(val instanceof WeakMap)&&!(val instanceof WeakSet),isKnownObject=val=>isObject(val)||isArray(val)||typeof val=="function"||val instanceof Promise,getPromiseState=promise=>{let unique=/unique/;return Promise.race([promise,unique]).then(result=>result===unique?["pending"]:["fulfilled",result],e=>["rejected",e])},buildAST=async(key,value,depth,sortKeys,isPrototype,showPrototype)=>{let astNode={key,depth,value,type:"value",parent:void 0};if(value&&isKnownObject(value)&&depth<100){let children=[],t="object";if(isArray(value)){for(let i=0;i<value.length;i++)children.push(async()=>{let child=await buildAST(i.toString(),value[i],depth+1,sortKeys);return child.parent=astNode,child});t="array"}else{let keys=Object.getOwnPropertyNames(value);sortKeys&&keys.sort();for(let i=0;i<keys.length;i++){let safeValue;try{safeValue=value[keys[i]]}catch{}children.push(async()=>{let child=await buildAST(keys[i],safeValue,depth+1,sortKeys);return child.parent=astNode,child})}if(typeof value=="function"&&(t="function"),value instanceof Promise){let[status,result]=await getPromiseState(value);children.push(async()=>{let child=await buildAST("<state>",status,depth+1,sortKeys);return child.parent=astNode,child}),status!=="pending"&&children.push(async()=>{let child=await buildAST("<value>",result,depth+1,sortKeys);return child.parent=astNode,child}),t="promise"}if(value instanceof Map){let parsedEntries=Array.from(value.entries()).map(entry=>{let[entryKey,entryValue]=entry;return{"<key>":entryKey,"<value>":entryValue}});children.push(async()=>{let child=await buildAST("<entries>",parsedEntries,depth+1,sortKeys);return child.parent=astNode,child}),children.push(async()=>{let child=await buildAST("size",value.size,depth+1,sortKeys);return child.parent=astNode,child}),t="map"}if(value instanceof Set){let parsedEntries=Array.from(value.entries()).map(entry=>entry[1]);children.push(async()=>{let child=await buildAST("<entries>",parsedEntries,depth+1,sortKeys);return child.parent=astNode,child}),children.push(async()=>{let child=await buildAST("size",value.size,depth+1,sortKeys);return child.parent=astNode,child}),t="set"}}value!==Object.prototype&&showPrototype&&children.push(async()=>{let child=await buildAST("<prototype>",Object.getPrototypeOf(value),depth+1,sortKeys,!0);return child.parent=astNode,child}),astNode.type=t,astNode.children=children,astNode.isPrototype=isPrototype}return astNode},parse=(data,sortKeys,includePrototypes)=>buildAST("root",data,0,sortKeys===!1?sortKeys:!0,void 0,includePrototypes===!1?includePrototypes:!0);var import_objectSpread2=__toESM(require_objectSpread2()),import_objectWithoutProperties=__toESM(require_objectWithoutProperties2());import React3 from"react";var _excluded=["children"];var ThemeContext=React3.createContext({theme:"chrome",colorScheme:"light"});var ThemeProvider=_ref=>{let{children}=_ref,value=(0,import_objectWithoutProperties.default)(_ref,_excluded),wrappedTheme=React3.useContext(ThemeContext);return React3.createElement(ThemeContext.Provider,{value:(0,import_objectSpread2.default)((0,import_objectSpread2.default)({},wrappedTheme),value)},children)},useTheme=(props,styles={})=>{let themeContext=React3.useContext(ThemeContext),currentTheme=props.theme||themeContext.theme||"chrome",currentColorScheme=props.colorScheme||themeContext.colorScheme||"light",themeClass=clsx_m_default(styles[currentTheme],styles[currentColorScheme]);return{currentColorScheme,currentTheme,themeClass}};var import_objectSpread22=__toESM(require_objectSpread22());import React8,{useEffect as useEffect3,useState as useState3}from"react";var import_extends=__toESM(require_extends2()),import_objectWithoutProperties2=__toESM(require_objectWithoutProperties3());import React5,{useState,useEffect}from"react";import React4 from"react";var TreeContext=React4.createContext({isChild:!1,depth:0,hasHover:!0}),TreeContext_default=TreeContext;var Tree_css_default={tree:"Tree-tree-fbbbe38",item:"Tree-item-353d6f3",group:"Tree-group-d3c3d8a",label:"Tree-label-d819155",focusWhite:"Tree-focusWhite-f1e00c2",arrow:"Tree-arrow-03ab2e7",hover:"Tree-hover-3cc4e5d",open:"Tree-open-3f1a336",dark:"Tree-dark-1b4aa00",chrome:"Tree-chrome-bcbcac6",light:"Tree-light-09174ee"};var _excluded2=["theme","hover","colorScheme","children","label","className","onUpdate","onSelect","open"],Tree=props=>{let{theme:theme2,hover,colorScheme,children,label,className,onUpdate,onSelect,open}=props,html=(0,import_objectWithoutProperties2.default)(props,_excluded2),{themeClass,currentTheme}=useTheme({theme:theme2,colorScheme},Tree_css_default),[isOpen,setOpen]=useState(open);useEffect(()=>{setOpen(open)},[open]);let updateState=value=>{setOpen(value),onUpdate&&onUpdate(value)},hasChildren=React5.Children.count(children)>0,updateFocus=(newNode,previousNode)=>{if(newNode.isSameNode(previousNode||null))return;let focusableNode=newNode.querySelector('[tabindex="-1"]');focusableNode?.focus(),newNode.setAttribute("aria-selected","true"),previousNode?.removeAttribute("aria-selected")},getParent=(node,role)=>{let parent=node;for(;parent&&parent.parentElement;){if(parent.getAttribute("role")===role)return parent;parent=parent.parentElement}return null},getListElements=node=>{let tree=getParent(node,"tree");return tree?Array.from(tree.querySelectorAll("li")):[]},moveBack=node=>{let group=getParent(node,"group"),toggle=group?.previousElementSibling;if(toggle&&toggle.getAttribute("tabindex")==="-1"){let toggleParent=toggle.parentElement,nodeParent=node.parentElement;updateFocus(toggleParent,nodeParent)}},moveHome=(node,direction)=>{let elements=getListElements(node);elements.forEach(element=>{element.removeAttribute("aria-selected")}),direction==="start"&&elements[0]&&updateFocus(elements[0]),direction==="end"&&elements[elements.length-1]&&updateFocus(elements[elements.length-1])},moveFocusAdjacent=(node,direction)=>{let elements=getListElements(node)||[];for(let i=0;i<elements.length;i++){let currentNode=elements[i];if(currentNode.getAttribute("aria-selected")==="true"){direction==="up"&&elements[i-1]?updateFocus(elements[i-1],currentNode):direction==="down"&&elements[i+1]&&updateFocus(elements[i+1],currentNode);return}}updateFocus(elements[0])},handleKeypress=(event,isChild2)=>{let node=event.target;(event.key==="Enter"||event.key===" ")&&updateState(!isOpen),event.key==="ArrowRight"&&isOpen&&!isChild2?moveFocusAdjacent(node,"down"):event.key==="ArrowRight"&&updateState(!0),event.key==="ArrowLeft"&&(!isOpen||isChild2)?moveBack(node):event.key==="ArrowLeft"&&updateState(!1),event.key==="ArrowDown"&&moveFocusAdjacent(node,"down"),event.key==="ArrowUp"&&moveFocusAdjacent(node,"up"),event.key==="Home"&&moveHome(node,"start"),event.key==="End"&&moveHome(node,"end")},handleClick=(event,isChild2)=>{let node=event.target,parent=getParent(node,"treeitem"),elements=getListElements(node)||[],found=!1;for(let i=0;i<elements.length;i++){let currentNode=elements[i];if(currentNode.getAttribute("aria-selected")==="true"){parent&&(found=!0,updateFocus(parent,currentNode));break}}!found&&parent&&updateFocus(parent),isChild2||updateState(!isOpen)},handleBlur=event=>{let node=event.currentTarget;!node.contains(document.activeElement)&&node.getAttribute("role")==="tree"&&node.setAttribute("tabindex","0")},handleFocus=event=>{let node=event.target;if(node.getAttribute("role")==="tree"){let selected=node.querySelector('[aria-selected="true"]');selected?updateFocus(selected):moveFocusAdjacent(node,"down"),node.setAttribute("tabindex","-1")}},handleButtonFocus=()=>{onSelect?.()},getPaddingStyles=depth2=>{let space=depth2*.9+.3;return{paddingLeft:`${space}em`,width:`calc(100% - ${space}em)`}},{isChild,depth,hasHover}=React5.useContext(TreeContext_default),showHover=hasHover?hover:!1;if(!isChild)return React5.createElement("ul",(0,import_extends.default)({role:"tree",tabIndex:0,className:clsx_m_default(Tree_css_default.tree,Tree_css_default.group,themeClass,className),onFocus:handleFocus,onBlur:handleBlur},html),React5.createElement(TreeContext_default.Provider,{value:{isChild:!0,depth:0,hasHover:showHover}},React5.createElement(Tree,props)));if(!hasChildren)return React5.createElement("li",(0,import_extends.default)({role:"treeitem",className:Tree_css_default.item},html),React5.createElement("div",{role:"button",className:clsx_m_default(Tree_css_default.label,{[Tree_css_default.hover]:showHover,[Tree_css_default.focusWhite]:currentTheme==="firefox"}),tabIndex:-1,style:getPaddingStyles(depth),onKeyDown:e=>{handleKeypress(e,isChild)},onClick:e=>handleClick(e,!0),onFocus:handleButtonFocus},React5.createElement("span",null,label)));let arrowClass=clsx_m_default(Tree_css_default.arrow,{[Tree_css_default.open]:isOpen});return React5.createElement("li",{role:"treeitem","aria-expanded":isOpen,className:Tree_css_default.item},React5.createElement("div",{role:"button",tabIndex:-1,className:clsx_m_default(Tree_css_default.label,{[Tree_css_default.hover]:showHover,[Tree_css_default.focusWhite]:currentTheme==="firefox"}),style:getPaddingStyles(depth),onClick:e=>handleClick(e),onKeyDown:e=>handleKeypress(e),onFocus:handleButtonFocus},React5.createElement("span",null,React5.createElement("span",{"aria-hidden":!0,className:arrowClass}),React5.createElement("span",null,label))),React5.createElement("ul",(0,import_extends.default)({role:"group",className:clsx_m_default(className,Tree_css_default.group)},html),isOpen&&React5.Children.map(children,child=>React5.createElement(TreeContext_default.Provider,{value:{isChild:!0,depth:depth+1,hasHover:showHover}},child))))};Tree.defaultProps={open:!1,hover:!0};var import_extends2=__toESM(require_extends()),import_objectWithoutProperties3=__toESM(require_objectWithoutProperties());import React6,{useState as useState2,useEffect as useEffect2}from"react";var ObjectInspector_css_default={"object-inspector":"ObjectInspector-object-inspector-0c33e82",objectInspector:"ObjectInspector-object-inspector-0c33e82","object-label":"ObjectInspector-object-label-b81482b",objectLabel:"ObjectInspector-object-label-b81482b",text:"ObjectInspector-text-25f57f3",key:"ObjectInspector-key-4f712bb",value:"ObjectInspector-value-f7ec2e5",string:"ObjectInspector-string-c496000",regex:"ObjectInspector-regex-59d45a3",error:"ObjectInspector-error-b818698",boolean:"ObjectInspector-boolean-2dd1642",number:"ObjectInspector-number-a6daabb",undefined:"ObjectInspector-undefined-3a68263",null:"ObjectInspector-null-74acb50",function:"ObjectInspector-function-07bbdcd","function-decorator":"ObjectInspector-function-decorator-3d22c24",functionDecorator:"ObjectInspector-function-decorator-3d22c24",prototype:"ObjectInspector-prototype-f2449ee",dark:"ObjectInspector-dark-0c96c97",chrome:"ObjectInspector-chrome-2f3ca98",light:"ObjectInspector-light-78bef54"};var _excluded3=["ast","theme","showKey","colorScheme","className"],buildValue=(key,value,valueClass,showKey,depth)=>{let computedKey=key.includes("-")?`"${key}"`:key,isRoot=depth<=0;return React6.createElement("span",{className:ObjectInspector_css_default.text},!isRoot&&showKey&&React6.createElement(React6.Fragment,null,React6.createElement("span",{className:ObjectInspector_css_default.key},computedKey),React6.createElement("span",null,":\xA0")),React6.createElement("span",{className:valueClass},value))},ObjectValue=props=>{let{ast,theme:theme2,showKey,colorScheme,className}=props,html=(0,import_objectWithoutProperties3.default)(props,_excluded3),{themeClass}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default),[asyncValue,setAsyncValue]=useState2(React6.createElement("span",null)),value=React6.createElement("span",null);return useEffect2(()=>{ast.value instanceof Promise&&(async promise=>{setAsyncValue(buildValue(ast.key,`Promise { "${await getPromiseState(promise)}" }`,ObjectInspector_css_default.key,showKey,ast.depth))})(ast.value)},[ast,showKey]),typeof ast.value=="number"||typeof ast.value=="bigint"?value=buildValue(ast.key,String(ast.value),ObjectInspector_css_default.number,showKey,ast.depth):typeof ast.value=="boolean"?value=buildValue(ast.key,String(ast.value),ObjectInspector_css_default.boolean,showKey,ast.depth):typeof ast.value=="string"?value=buildValue(ast.key,`"${ast.value}"`,ObjectInspector_css_default.string,showKey,ast.depth):typeof ast.value>"u"?value=buildValue(ast.key,"undefined",ObjectInspector_css_default.undefined,showKey,ast.depth):typeof ast.value=="symbol"?value=buildValue(ast.key,ast.value.toString(),ObjectInspector_css_default.string,showKey,ast.depth):typeof ast.value=="function"?value=buildValue(ast.key,`${ast.value.name}()`,ObjectInspector_css_default.key,showKey,ast.depth):typeof ast.value=="object"&&(ast.value===null?value=buildValue(ast.key,"null",ObjectInspector_css_default.null,showKey,ast.depth):Array.isArray(ast.value)?value=buildValue(ast.key,`Array(${ast.value.length})`,ObjectInspector_css_default.key,showKey,ast.depth):ast.value instanceof Date?value=buildValue(ast.key,`Date ${ast.value.toString()}`,ObjectInspector_css_default.value,showKey,ast.depth):ast.value instanceof RegExp?value=buildValue(ast.key,ast.value.toString(),ObjectInspector_css_default.regex,showKey,ast.depth):ast.value instanceof Error?value=buildValue(ast.key,ast.value.toString(),ObjectInspector_css_default.error,showKey,ast.depth):isObject(ast.value)?value=buildValue(ast.key,"{\u2026}",ObjectInspector_css_default.key,showKey,ast.depth):value=buildValue(ast.key,ast.value.constructor.name,ObjectInspector_css_default.key,showKey,ast.depth)),React6.createElement("span",(0,import_extends2.default)({className:clsx_m_default(themeClass,className)},html),asyncValue,value)};ObjectValue.defaultProps={showKey:!0};var ObjectValue_default=ObjectValue;var import_extends3=__toESM(require_extends()),import_objectWithoutProperties4=__toESM(require_objectWithoutProperties());import React7 from"react";var _excluded4=["ast","theme","previewMax","open","colorScheme","className"],buildPreview=(children,previewMax,showKey)=>{let previews=[];for(let i=0;i<children.length;i++){let child=children[i];if(child.isPrototype||(previews.push(React7.createElement(ObjectValue_default,{key:child.key,ast:child,showKey})),i<children.length-1?previews.push(", "):previews.push(" ")),child.isPrototype&&i===children.length-1&&(previews.pop(),previews.push(" ")),i===previewMax-1&&children.length>previewMax){previews.push("\u2026 ");break}}return previews},getArrayLabel=(ast,open,previewMax,theme2)=>{let l=ast.value.length;return open?React7.createElement("span",null,"Array(",l,")"):React7.createElement(React7.Fragment,null,React7.createElement("span",null,`${theme2==="firefox"?"Array":""}(${l}) [ `),buildPreview(ast.children,previewMax,!1),React7.createElement("span",null,"]"))},getObjectLabel=(ast,open,previewMax,theme2)=>ast.isPrototype?React7.createElement("span",null,`Object ${theme2==="firefox"?"{ \u2026 }":""}`):open?React7.createElement("span",null,"{\u2026}"):React7.createElement(React7.Fragment,null,React7.createElement("span",null,`${theme2==="firefox"?"Object ":""}{ `),buildPreview(ast.children,previewMax,!0),React7.createElement("span",null,"}")),getPromiseLabel=(ast,open,previewMax)=>open?React7.createElement("span",null,`Promise { "${String(ast.children[0].value)}" }`):React7.createElement(React7.Fragment,null,React7.createElement("span",null,"Promise { "),buildPreview(ast.children,previewMax,!0),React7.createElement("span",null,"}")),getMapLabel=(ast,open,previewMax,theme2)=>{let{size}=ast.value;return open?React7.createElement("span",null,`Map(${size})`):React7.createElement(React7.Fragment,null,React7.createElement("span",null,`Map${theme2==="chrome"?`(${size})`:""} { `),buildPreview(ast.children,previewMax,!0),React7.createElement("span",null,"}"))},getSetLabel=(ast,open,previewMax)=>{let{size}=ast.value;return open?React7.createElement("span",null,"Set(",size,")"):React7.createElement(React7.Fragment,null,React7.createElement("span",null,`Set(${ast.value.size}) {`),buildPreview(ast.children,previewMax,!0),React7.createElement("span",null,"}"))},ObjectLabel=props=>{let{ast,theme:theme2,previewMax,open,colorScheme,className}=props,html=(0,import_objectWithoutProperties4.default)(props,_excluded4),{themeClass,currentTheme}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default),isPrototype=ast.isPrototype||!1,classes=clsx_m_default(ObjectInspector_css_default.objectLabel,themeClass,className,{[ObjectInspector_css_default.prototype]:isPrototype}),isRoot=ast.depth<=0,Key=()=>React7.createElement("span",{className:isPrototype?ObjectInspector_css_default.prototype:ObjectInspector_css_default.key},isRoot?"":`${ast.key}: `);return ast.type==="array"?React7.createElement("span",(0,import_extends3.default)({className:classes},html),React7.createElement(Key,null),getArrayLabel(ast,open,previewMax,currentTheme)):ast.type==="function"?React7.createElement("span",(0,import_extends3.default)({className:classes},html),React7.createElement(Key,null),currentTheme==="chrome"&&React7.createElement("span",{className:ObjectInspector_css_default.functionDecorator},"\u0192 "),React7.createElement("span",{className:clsx_m_default({[ObjectInspector_css_default.function]:!isPrototype})},`${ast.value.name}()`)):ast.type==="promise"?React7.createElement("span",(0,import_extends3.default)({className:classes},html),React7.createElement(Key,null),getPromiseLabel(ast,open,previewMax)):ast.type==="map"?React7.createElement("span",(0,import_extends3.default)({className:classes},html),React7.createElement(Key,null),getMapLabel(ast,open,previewMax,currentTheme)):ast.type==="set"?React7.createElement("span",(0,import_extends3.default)({className:classes},html),React7.createElement(Key,null),getSetLabel(ast,open,previewMax)):React7.createElement("span",(0,import_extends3.default)({className:classes},html),React7.createElement(Key,null),getObjectLabel(ast,open,previewMax,currentTheme))};ObjectLabel.defaultProps={previewMax:8,open:!1};var ObjectLabel_default=ObjectLabel;var ObjectInspectorItem=props=>{let{ast,expandLevel,depth}=props,[resolved,setResolved]=useState3(),[open,setOpen]=useState3(Boolean(depth<expandLevel));return useEffect3(()=>{(async()=>{if(ast.type!=="value"){let promises=ast.children.map(f=>f()),children=await Promise.all(promises),r=(0,import_objectSpread22.default)((0,import_objectSpread22.default)({},ast),{},{children});setResolved(r)}})()},[ast]),resolved?React8.createElement(Tree,{hover:!1,open,label:React8.createElement(ObjectLabel_default,{open,ast:resolved}),onSelect:()=>{var _props$onSelect;(_props$onSelect=props.onSelect)===null||_props$onSelect===void 0||_props$onSelect.call(props,ast)},onUpdate:value=>{setOpen(value)}},resolved.children.map(child=>React8.createElement(ObjectInspectorItem,{key:child.key,ast:child,depth:depth+1,expandLevel,onSelect:props.onSelect}))):React8.createElement(Tree,{hover:!1,label:React8.createElement(ObjectValue_default,{ast}),onSelect:()=>{var _props$onSelect2;(_props$onSelect2=props.onSelect)===null||_props$onSelect2===void 0||_props$onSelect2.call(props,ast)}})};ObjectInspectorItem.defaultProps={expandLevel:0,depth:0};var ObjectInspectorItem_default=ObjectInspectorItem;var _excluded5=["data","expandLevel","sortKeys","includePrototypes","className","theme","colorScheme","onSelect"],ObjectInspector=props=>{let{data,expandLevel,sortKeys,includePrototypes,className,theme:theme2,colorScheme,onSelect}=props,html=(0,import_objectWithoutProperties5.default)(props,_excluded5),[ast,setAST]=useState4(void 0),{themeClass,currentTheme,currentColorScheme}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default);return useEffect4(()=>{(async()=>{setAST(await parse(data,sortKeys,includePrototypes))})()},[data,sortKeys,includePrototypes]),React9.createElement("div",(0,import_extends4.default)({className:clsx_m_default(ObjectInspector_css_default.objectInspector,className,themeClass)},html),ast&&React9.createElement(ThemeProvider,{theme:currentTheme,colorScheme:currentColorScheme},React9.createElement(ObjectInspectorItem_default,{ast,expandLevel,onSelect})))};ObjectInspector.defaultProps={expandLevel:0,sortKeys:!0,includePrototypes:!0};import{useTheme as useTheme2}from"@storybook/theming";import React10,{Fragment}from"react";var colorsLight={base:"#444",nullish:"#7D99AA",string:"#16B242",number:"#5D40D0",boolean:"#f41840",objectkey:"#698394",instance:"#A15C20",function:"#EA7509",muted:"#7D99AA",tag:{name:"#6F2CAC",suffix:"#1F99E5"},date:"#459D9C",error:{name:"#D43900",message:"#444"},regex:{source:"#A15C20",flags:"#EA7509"},meta:"#EA7509",method:"#0271B6"},colorsDark={base:"#eee",nullish:"#aaa",string:"#5FE584",number:"#6ba5ff",boolean:"#ff4191",objectkey:"#accfe6",instance:"#E3B551",function:"#E3B551",muted:"#aaa",tag:{name:"#f57bff",suffix:"#8EB5FF"},date:"#70D4D3",error:{name:"#f40",message:"#eee"},regex:{source:"#FAD483",flags:"#E3B551"},meta:"#FAD483",method:"#5EC1FF"},useThemeColors=()=>{let{base}=useTheme2();return base==="dark"?colorsDark:colorsLight},special=/[^A-Z0-9]/i,trimEnd=/[\s.,…]+$/gm,ellipsize=(string,maxlength)=>{if(string.length<=maxlength)return string;for(let i=maxlength-1;i>=0;i-=1)if(special.test(string[i])&&i>10)return`${string.slice(0,i).replace(trimEnd,"")}\u2026`;return`${string.slice(0,maxlength).replace(trimEnd,"")}\u2026`},stringify=value=>{try{return JSON.stringify(value,null,1)}catch{return String(value)}},interleave=(nodes,separator)=>nodes.flatMap((node,index)=>index===nodes.length-1?[node]:[node,React10.cloneElement(separator,{key:`sep${index}`})]),Node=({value,nested,showObjectInspector,callsById,...props})=>{switch(!0){case value===null:return React10.createElement(NullNode,{...props});case value===void 0:return React10.createElement(UndefinedNode,{...props});case Array.isArray(value):return React10.createElement(ArrayNode,{...props,value,callsById});case typeof value=="string":return React10.createElement(StringNode,{...props,value});case typeof value=="number":return React10.createElement(NumberNode,{...props,value});case typeof value=="boolean":return React10.createElement(BooleanNode,{...props,value});case Object.prototype.hasOwnProperty.call(value,"__date__"):return React10.createElement(DateNode,{...props,...value.__date__});case Object.prototype.hasOwnProperty.call(value,"__error__"):return React10.createElement(ErrorNode,{...props,...value.__error__});case Object.prototype.hasOwnProperty.call(value,"__regexp__"):return React10.createElement(RegExpNode,{...props,...value.__regexp__});case Object.prototype.hasOwnProperty.call(value,"__function__"):return React10.createElement(FunctionNode,{...props,...value.__function__});case Object.prototype.hasOwnProperty.call(value,"__symbol__"):return React10.createElement(SymbolNode,{...props,...value.__symbol__});case Object.prototype.hasOwnProperty.call(value,"__element__"):return React10.createElement(ElementNode,{...props,...value.__element__});case Object.prototype.hasOwnProperty.call(value,"__class__"):return React10.createElement(ClassNode,{...props,...value.__class__});case Object.prototype.hasOwnProperty.call(value,"__callId__"):return React10.createElement(MethodCall,{call:callsById.get(value.__callId__),callsById});case Object.prototype.toString.call(value)==="[object Object]":return React10.createElement(ObjectNode,{value,showInspector:showObjectInspector,...props});default:return React10.createElement(OtherNode,{value,...props})}},NullNode=props=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.nullish},...props},"null")},UndefinedNode=props=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.nullish},...props},"undefined")},StringNode=({value,...props})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.string},...props},JSON.stringify(ellipsize(value,50)))},NumberNode=({value,...props})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.number},...props},value)},BooleanNode=({value,...props})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.boolean},...props},String(value))},ArrayNode=({value,nested=!1,callsById})=>{let colors2=useThemeColors();if(nested)return React10.createElement("span",{style:{color:colors2.base}},"[\u2026]");let nodes=value.slice(0,3).map(v=>React10.createElement(Node,{key:JSON.stringify(v),value:v,nested:!0,callsById})),nodelist=interleave(nodes,React10.createElement("span",null,", "));return value.length<=3?React10.createElement("span",{style:{color:colors2.base}},"[",nodelist,"]"):React10.createElement("span",{style:{color:colors2.base}},"(",value.length,") [",nodelist,", \u2026]")},ObjectNode=({showInspector,value,nested=!1})=>{let isDarkMode=useTheme2().base==="dark",colors2=useThemeColors();if(showInspector)return React10.createElement(React10.Fragment,null,React10.createElement(ObjectInspector,{id:"interactions-object-inspector",data:value,includePrototypes:!1,colorScheme:isDarkMode?"dark":"light"}));if(nested)return React10.createElement("span",{style:{color:colors2.base}},"{\u2026}");let nodelist=interleave(Object.entries(value).slice(0,2).map(([k,v])=>React10.createElement(Fragment,{key:k},React10.createElement("span",{style:{color:colors2.objectkey}},k,": "),React10.createElement(Node,{value:v,nested:!0}))),React10.createElement("span",null,", "));return Object.keys(value).length<=2?React10.createElement("span",{style:{color:colors2.base}},"{ ",nodelist," }"):React10.createElement("span",{style:{color:colors2.base}},"(",Object.keys(value).length,") ","{ ",nodelist,", \u2026 }")},ClassNode=({name})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.instance}},name)},FunctionNode=({name})=>{let colors2=useThemeColors();return name?React10.createElement("span",{style:{color:colors2.function}},name):React10.createElement("span",{style:{color:colors2.nullish,fontStyle:"italic"}},"anonymous")},ElementNode=({prefix,localName,id,classNames=[],innerText})=>{let name=prefix?`${prefix}:${localName}`:localName,colors2=useThemeColors();return React10.createElement("span",{style:{wordBreak:"keep-all"}},React10.createElement("span",{key:`${name}_lt`,style:{color:colors2.muted}},"<"),React10.createElement("span",{key:`${name}_tag`,style:{color:colors2.tag.name}},name),React10.createElement("span",{key:`${name}_suffix`,style:{color:colors2.tag.suffix}},id?`#${id}`:classNames.reduce((acc,className)=>`${acc}.${className}`,"")),React10.createElement("span",{key:`${name}_gt`,style:{color:colors2.muted}},">"),!id&&classNames.length===0&&innerText&&React10.createElement(React10.Fragment,null,React10.createElement("span",{key:`${name}_text`},innerText),React10.createElement("span",{key:`${name}_close_lt`,style:{color:colors2.muted}},"<"),React10.createElement("span",{key:`${name}_close_tag`,style:{color:colors2.tag.name}},"/",name),React10.createElement("span",{key:`${name}_close_gt`,style:{color:colors2.muted}},">")))},DateNode=({value})=>{let[date,time,ms]=value.split(/[T.Z]/),colors2=useThemeColors();return React10.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.date}},date,React10.createElement("span",{style:{opacity:.7}},"T"),time==="00:00:00"?React10.createElement("span",{style:{opacity:.7}},time):time,ms==="000"?React10.createElement("span",{style:{opacity:.7}},".",ms):`.${ms}`,React10.createElement("span",{style:{opacity:.7}},"Z"))},ErrorNode=({name,message})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.error.name}},name,message&&": ",message&&React10.createElement("span",{style:{color:colors2.error.message},title:message.length>50?message:""},ellipsize(message,50)))},RegExpNode=({flags,source})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.regex.flags}},"/",React10.createElement("span",{style:{color:colors2.regex.source}},source),"/",flags)},SymbolNode=({description})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.instance}},"Symbol(",description&&React10.createElement("span",{style:{color:colors2.meta}},'"',description,'"'),")")},OtherNode=({value})=>{let colors2=useThemeColors();return React10.createElement("span",{style:{color:colors2.meta}},stringify(value))},StepNode=({label})=>{let colors2=useThemeColors(),{typography:typography4}=useTheme2();return React10.createElement("span",{style:{color:colors2.base,fontFamily:typography4.fonts.base,fontSize:typography4.size.s2-1}},label)},MethodCall=({call,callsById})=>{if(!call)return null;if(call.method==="step"&&call.path.length===0)return React10.createElement(StepNode,{label:call.args[0]});let path=call.path.flatMap((elem,index)=>{let callId=elem.__callId__;return[callId?React10.createElement(MethodCall,{key:`elem${index}`,call:callsById.get(callId),callsById}):React10.createElement("span",{key:`elem${index}`},elem),React10.createElement("wbr",{key:`wbr${index}`}),React10.createElement("span",{key:`dot${index}`},".")]}),args=call.args.flatMap((arg,index,array)=>{let node=React10.createElement(Node,{key:`node${index}`,value:arg,callsById});return index<array.length-1?[node,React10.createElement("span",{key:`comma${index}`},",\xA0"),React10.createElement("wbr",{key:`wbr${index}`})]:[node]}),colors2=useThemeColors();return React10.createElement(React10.Fragment,null,React10.createElement("span",{style:{color:colors2.base}},path),React10.createElement("span",{style:{color:colors2.method}},call.method),React10.createElement("span",{style:{color:colors2.base}},"(",React10.createElement("wbr",null),args,React10.createElement("wbr",null),")"))};var getParams=(line,fromIndex=0)=>{for(let i=fromIndex,depth=1;i<line.length;i+=1)if(line[i]==="("?depth+=1:line[i]===")"&&(depth-=1),depth===0)return line.slice(fromIndex,i);return""},parseValue=value=>{try{return value==="undefined"?void 0:JSON.parse(value)}catch{return value}},StyledExpected=styled3.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.positiveText:theme2.color.positive})),StyledReceived=styled3.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.negativeText:theme2.color.negative})),Received=({value,parsed})=>parsed?React11.createElement(Node,{showObjectInspector:!0,value,style:{color:"#D43900"}}):React11.createElement(StyledReceived,null,value),Expected=({value,parsed})=>parsed?typeof value=="string"&&value.startsWith("called with")?React11.createElement(React11.Fragment,null,value):React11.createElement(Node,{showObjectInspector:!0,value,style:{color:"#16B242"}}):React11.createElement(StyledExpected,null,value),MatcherResult=({message})=>{let lines=message.split(`
2
- `);return React11.createElement("pre",{style:{margin:0,padding:"8px 10px 8px 36px",fontSize:typography2.size.s1}},lines.flatMap((line,index)=>{if(line.startsWith("expect(")){let received=getParams(line,7),remainderIndex=received&&7+received.length,matcher=received&&line.slice(remainderIndex).match(/\.(to|last|nth)[A-Z]\w+\(/);if(matcher){let expectedIndex=remainderIndex+matcher.index+matcher[0].length,expected=getParams(line,expectedIndex);if(expected)return["expect(",React11.createElement(Received,{key:`received_${received}`,value:received}),line.slice(remainderIndex,expectedIndex),React11.createElement(Expected,{key:`expected_${expected}`,value:expected}),line.slice(expectedIndex+expected.length),React11.createElement("br",{key:`br${index}`})]}}if(line.match(/^\s*- /))return[React11.createElement(Expected,{key:line+index,value:line}),React11.createElement("br",{key:`br${index}`})];if(line.match(/^\s*\+ /))return[React11.createElement(Received,{key:line+index,value:line}),React11.createElement("br",{key:`br${index}`})];let[,assertionLabel,assertionValue]=line.match(/^(Expected|Received): (.*)$/)||[];if(assertionLabel&&assertionValue)return assertionLabel==="Expected"?["Expected: ",React11.createElement(Expected,{key:line+index,value:parseValue(assertionValue),parsed:!0}),React11.createElement("br",{key:`br${index}`})]:["Received: ",React11.createElement(Received,{key:line+index,value:parseValue(assertionValue),parsed:!0}),React11.createElement("br",{key:`br${index}`})];let[,prefix,numberOfCalls]=line.match(/(Expected number|Received number|Number) of calls: (\d+)$/i)||[];if(prefix&&numberOfCalls)return[`${prefix} of calls: `,React11.createElement(Node,{key:line+index,value:Number(numberOfCalls)}),React11.createElement("br",{key:`br${index}`})];let[,receivedValue]=line.match(/^Received has value: (.+)$/)||[];return receivedValue?["Received has value: ",React11.createElement(Node,{key:line+index,value:parseValue(receivedValue)}),React11.createElement("br",{key:`br${index}`})]:[React11.createElement("span",{key:line+index},line),React11.createElement("br",{key:`br${index}`})]}))};import React12 from"react";import{Icons as Icons2}from"@storybook/components";import{CallStates as CallStates3}from"@storybook/instrumenter";import{styled as styled4}from"@storybook/theming";import{transparentize}from"polished";var colors={pure:{gray:{500:"#CCCCCC"}}},theme={colors},theme_default=theme;var{colors:{pure:{gray}}}=theme_default,StyledStatusIcon=styled4(Icons2)(({theme:theme2,status})=>{let color={[CallStates3.DONE]:theme2.color.positive,[CallStates3.ERROR]:theme2.color.negative,[CallStates3.ACTIVE]:theme2.color.secondary,[CallStates3.WAITING]:transparentize(.5,gray[500])}[status];return{width:status===CallStates3.WAITING?6:12,height:status===CallStates3.WAITING?6:12,color,justifySelf:"center"}}),StatusIcon=({status,className})=>{let icon={[CallStates3.DONE]:"check",[CallStates3.ERROR]:"stopalt",[CallStates3.ACTIVE]:"play",[CallStates3.WAITING]:"circle"}[status];return React12.createElement(StyledStatusIcon,{"data-testid":`icon-${status}`,status,icon,className})};var MethodCallWrapper=styled5.div(()=>({fontFamily:typography3.fonts.mono,fontSize:typography3.size.s1,overflowWrap:"break-word",inlineSize:"calc( 100% - 40px )"})),RowContainer=styled5("div",{shouldForwardProp:prop=>!["call","pausedAt"].includes(prop.toString())})(({theme:theme2,call})=>({position:"relative",display:"flex",flexDirection:"column",borderBottom:`1px solid ${theme2.appBorderColor}`,fontFamily:typography3.fonts.base,fontSize:13,...call.status===CallStates4.ERROR&&{backgroundColor:theme2.base==="dark"?transparentize2(.93,theme2.color.negative):theme2.background.warning},paddingLeft:call.ancestors.length*20}),({theme:theme2,call,pausedAt})=>pausedAt===call.id&&{"&::before":{content:'""',position:"absolute",top:-5,zIndex:1,borderTop:"4.5px solid transparent",borderLeft:`7px solid ${theme2.color.warning}`,borderBottom:"4.5px solid transparent"},"&::after":{content:'""',position:"absolute",top:-1,zIndex:1,width:"100%",borderTop:`1.5px solid ${theme2.color.warning}`}}),RowHeader=styled5.div(({theme:theme2,isInteractive})=>({display:"flex","&:hover":isInteractive?{}:{background:theme2.background.hoverable}})),RowLabel=styled5("button",{shouldForwardProp:prop=>!["call"].includes(prop.toString())})(({theme:theme2,disabled,call})=>({flex:1,display:"grid",background:"none",border:0,gridTemplateColumns:"15px 1fr",alignItems:"center",minHeight:40,margin:0,padding:"8px 15px",textAlign:"start",cursor:disabled||call.status===CallStates4.ERROR?"default":"pointer","&:focus-visible":{outline:0,boxShadow:`inset 3px 0 0 0 ${call.status===CallStates4.ERROR?theme2.color.warning:theme2.color.secondary}`,background:call.status===CallStates4.ERROR?"transparent":theme2.background.hoverable},"& > div":{opacity:call.status===CallStates4.WAITING?.5:1}})),RowActions=styled5.div({padding:6}),StyledIconButton2=styled5(IconButton2)(({theme:theme2})=>({color:theme2.textMutedColor,margin:"0 3px"})),Note2=styled5(TooltipNote2)(({theme:theme2})=>({fontFamily:theme2.typography.fonts.base})),RowMessage=styled5("div")(({theme:theme2})=>({padding:"8px 10px 8px 36px",fontSize:typography3.size.s1,color:theme2.color.defaultText,pre:{margin:0,padding:0}})),Exception=({exception})=>{if(exception.message.startsWith("expect("))return React13.createElement(MatcherResult,{...exception});let paragraphs=exception.message.split(`
1
+ import { __commonJS, __toESM } from './chunk-NNAAFZ4U.mjs';
2
+ import { addons, types, useChannel, useParameter } from '@storybook/manager-api';
3
+ import { global as global$1 } from '@storybook/global';
4
+ import * as React10 from 'react';
5
+ import React10__default, { Fragment, useState, useEffect } from 'react';
6
+ import { STORY_RENDER_PHASE_CHANGED, STORY_THREW_EXCEPTION, PLAY_FUNCTION_THREW_EXCEPTION, IGNORED_EXCEPTION, FORCE_REMOUNT } from '@storybook/core-events';
7
+ import { CallStates, EVENTS } from '@storybook/instrumenter';
8
+ import { Button, TooltipNote, IconButton, Separator, P, Icons, AddonPanel, Placeholder, Link, Bar, WithTooltip } from '@storybook/components';
9
+ import { styled, typography, useTheme as useTheme$1 } from '@storybook/theming';
10
+ import { transparentize } from 'polished';
11
+ import ReactDOM from 'react-dom';
3
12
 
4
- `),more=paragraphs.length>1;return React13.createElement(RowMessage,null,React13.createElement("pre",null,paragraphs[0]),more&&React13.createElement("p",null,"See the full stack trace in the browser console."))},Interaction=({call,callsById,controls,controlStates,childCallIds,isHidden,isCollapsed,toggleCollapsed,pausedAt})=>{let[isHovered,setIsHovered]=React13.useState(!1),isInteractive=!controlStates.goto||!call.interceptable||!!call.ancestors.length;return isHidden?null:React13.createElement(RowContainer,{call,pausedAt},React13.createElement(RowHeader,{isInteractive},React13.createElement(RowLabel,{"aria-label":"Interaction step",call,onClick:()=>controls.goto(call.id),disabled:isInteractive,onMouseEnter:()=>controlStates.goto&&setIsHovered(!0),onMouseLeave:()=>controlStates.goto&&setIsHovered(!1)},React13.createElement(StatusIcon,{status:isHovered?CallStates4.ACTIVE:call.status}),React13.createElement(MethodCallWrapper,{style:{marginLeft:6,marginBottom:1}},React13.createElement(MethodCall,{call,callsById}))),React13.createElement(RowActions,null,childCallIds?.length>0&&React13.createElement(WithTooltip2,{hasChrome:!1,tooltip:React13.createElement(Note2,{note:`${isCollapsed?"Show":"Hide"} interactions`})},React13.createElement(StyledIconButton2,{containsIcon:!0,onClick:toggleCollapsed},React13.createElement(Icons3,{icon:"listunordered"}))))),call.status===CallStates4.ERROR&&call.exception?.callId===call.id&&React13.createElement(Exception,{exception:call.exception}))};var Container=styled6.div(({theme:theme2,withException})=>({minHeight:"100%",background:theme2.background.content,...withException&&{backgroundColor:theme2.base==="dark"?transparentize3(.93,theme2.color.negative):theme2.background.warning}})),CaughtException=styled6.div(({theme:theme2})=>({padding:15,fontSize:theme2.typography.size.s2-1,lineHeight:"19px"})),CaughtExceptionCode=styled6.code(({theme:theme2})=>({margin:"0 1px",padding:3,fontSize:theme2.typography.size.s1-1,lineHeight:1,verticalAlign:"top",background:"rgba(0, 0, 0, 0.05)",border:`1px solid ${theme2.appBorderColor}`,borderRadius:3})),CaughtExceptionTitle=styled6.div({paddingBottom:4,fontWeight:"bold"}),CaughtExceptionDescription=styled6.p({margin:0,padding:"0 0 20px"}),CaughtExceptionStack=styled6.pre(({theme:theme2})=>({margin:0,padding:0,fontSize:theme2.typography.size.s1-1})),InteractionsPanel=React14.memo(function({calls,controls,controlStates,interactions,fileName,hasException,caughtException,isPlaying,pausedAt,onScrollToEnd,endRef,isRerunAnimating,setIsRerunAnimating,...panelProps}){return React14.createElement(AddonPanel,{...panelProps},React14.createElement(Container,{withException:!!caughtException},(interactions.length>0||hasException||isRerunAnimating)&&React14.createElement(Subnav,{controls,controlStates,status:isPlaying?CallStates5.ACTIVE:hasException?CallStates5.ERROR:CallStates5.DONE,storyFileName:fileName,onScrollToEnd,isRerunAnimating,setIsRerunAnimating}),React14.createElement("div",{"aria-label":"Interactions list"},interactions.map(call=>React14.createElement(Interaction,{key:call.id,call,callsById:calls,controls,controlStates,childCallIds:call.childCallIds,isHidden:call.isHidden,isCollapsed:call.isCollapsed,toggleCollapsed:call.toggleCollapsed,pausedAt}))),caughtException&&!caughtException.message?.startsWith("ignoredException")&&React14.createElement(CaughtException,null,React14.createElement(CaughtExceptionTitle,null,"Caught exception in ",React14.createElement(CaughtExceptionCode,null,"play")," function"),React14.createElement(CaughtExceptionDescription,null,"This story threw an error after it finished rendering which means your interactions couldn' t be run.Go to this story' s play function in ",fileName," to fix."),React14.createElement(CaughtExceptionStack,{"data-chromatic":"ignore"},caughtException.stack||`${caughtException.name}: ${caughtException.message}`)),React14.createElement("div",{ref:endRef}),!isPlaying&&!caughtException&&interactions.length===0&&React14.createElement(Placeholder,null,"No interactions found",React14.createElement(Link,{href:"https://storybook.js.org/docs/react/writing-stories/play-function",target:"_blank",withArrow:!0},"Learn how to add interactions to your story"))))});import{styled as styled7}from"@storybook/theming";import ReactDOM from"react-dom";var TabStatus=({children})=>{let container=global.document.getElementById("tabbutton-storybook-interactions-panel");return container&&ReactDOM.createPortal(children,container)},TabIcon=styled7(StatusIcon)({marginLeft:5});var INITIAL_CONTROL_STATES={start:!1,back:!1,goto:!1,next:!1,end:!1},getInteractions=({log,calls,collapsed,setCollapsed})=>{let callsById=new Map,childCallMap=new Map;return log.map(({callId,ancestors,status})=>{let isHidden=!1;return ancestors.forEach(ancestor=>{collapsed.has(ancestor)&&(isHidden=!0),childCallMap.set(ancestor,(childCallMap.get(ancestor)||[]).concat(callId))}),{...calls.get(callId),status,isHidden}}).map(call=>{let status=call.status===CallStates6.ERROR&&callsById.get(call.ancestors.slice(-1)[0])?.status===CallStates6.ACTIVE?CallStates6.ACTIVE:call.status;return callsById.set(call.id,{...call,status}),{...call,status,childCallIds:childCallMap.get(call.id),isCollapsed:collapsed.has(call.id),toggleCollapsed:()=>setCollapsed(ids=>(ids.has(call.id)?ids.delete(call.id):ids.add(call.id),new Set(ids)))}})},Panel=props=>{let[storyId,setStoryId]=React15.useState(),[controlStates,setControlStates]=React15.useState(INITIAL_CONTROL_STATES),[pausedAt,setPausedAt]=React15.useState(),[isErrored,setErrored]=React15.useState(!1),[isPlaying,setPlaying]=React15.useState(!1),[isRerunAnimating,setIsRerunAnimating]=React15.useState(!1),[scrollTarget,setScrollTarget]=React15.useState(),[collapsed,setCollapsed]=React15.useState(new Set),[caughtException,setCaughtException]=React15.useState(),[interactions,setInteractions]=React15.useState([]),[interactionsCount,setInteractionsCount]=React15.useState(),log=React15.useRef([]),calls=React15.useRef(new Map),setCall=({status,...call})=>calls.current.set(call.id,call),endRef=React15.useRef();React15.useEffect(()=>{let observer;return global2.IntersectionObserver&&(observer=new global2.IntersectionObserver(([end])=>setScrollTarget(end.isIntersecting?void 0:end.target),{root:global2.document.querySelector("#panel-tab-content")}),endRef.current&&observer.observe(endRef.current)),()=>observer?.disconnect()},[]);let emit=useChannel({[EVENTS.CALL]:setCall,[EVENTS.SYNC]:payload=>{setControlStates(payload.controlStates),setPausedAt(payload.pausedAt),setInteractions(getInteractions({log:payload.logItems,calls:calls.current,collapsed,setCollapsed})),log.current=payload.logItems},[STORY_RENDER_PHASE_CHANGED]:event=>{setStoryId(event.storyId),setPlaying(event.newPhase==="playing"),setPausedAt(void 0),event.newPhase==="rendering"&&(setErrored(!1),setCaughtException(void 0))},[STORY_THREW_EXCEPTION]:()=>{setErrored(!0)},[PLAY_FUNCTION_THREW_EXCEPTION]:e=>{e?.message!==IGNORED_EXCEPTION.message?setCaughtException(e):setCaughtException(void 0)}},[collapsed]);React15.useEffect(()=>{setInteractions(getInteractions({log:log.current,calls:calls.current,collapsed,setCollapsed}))},[collapsed]),React15.useEffect(()=>{isPlaying||isRerunAnimating||setInteractionsCount(interactions.filter(({method})=>method!=="step").length)},[interactions,isPlaying,isRerunAnimating]);let controls=React15.useMemo(()=>({start:()=>emit(EVENTS.START,{storyId}),back:()=>emit(EVENTS.BACK,{storyId}),goto:callId=>emit(EVENTS.GOTO,{storyId,callId}),next:()=>emit(EVENTS.NEXT,{storyId}),end:()=>emit(EVENTS.END,{storyId}),rerun:()=>{setIsRerunAnimating(!0),emit(FORCE_REMOUNT,{storyId})}}),[storyId]),storyFilePath=useParameter("fileName",""),[fileName]=storyFilePath.toString().split("/").slice(-1),scrollToTarget=()=>scrollTarget?.scrollIntoView({behavior:"smooth",block:"end"}),showStatus=interactionsCount>0||!!caughtException||isRerunAnimating,hasException=!!caughtException||interactions.some(v=>v.status===CallStates6.ERROR);return isErrored?React15.createElement(React15.Fragment,{key:"interactions"}):React15.createElement(React15.Fragment,{key:"interactions"},React15.createElement(TabStatus,null,showStatus&&(hasException?React15.createElement(TabIcon,{status:CallStates6.ERROR}):` (${interactionsCount})`)),React15.createElement(InteractionsPanel,{calls:calls.current,controls,controlStates,interactions,fileName,hasException,caughtException,isPlaying,pausedAt,endRef,onScrollToEnd:scrollTarget&&scrollToTarget,isRerunAnimating,setIsRerunAnimating,...props}))};addons.register(ADDON_ID,()=>{addons.add(PANEL_ID,{type:types.PANEL,title:"Interactions",match:({viewMode})=>viewMode==="story",render:Panel})});
13
+ var require_extends=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/extends.js"(exports,module){function _extends5(){return module.exports=_extends5=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);}return target},_extends5.apply(this,arguments)}module.exports=_extends5;}});var require_objectWithoutPropertiesLoose=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return {};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}module.exports=_objectWithoutPropertiesLoose;}});var require_objectWithoutProperties=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module){var objectWithoutPropertiesLoose=require_objectWithoutPropertiesLoose();function _objectWithoutProperties6(source,excluded){if(source==null)return {};var target=objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key]);}return target}module.exports=_objectWithoutProperties6;}});var require_defineProperty=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module.exports=_defineProperty;}});var require_objectSpread2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module){var defineProperty=require_defineProperty();function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols);}return keys}function _objectSpread22(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(source,!0).forEach(function(key){defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(source).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}module.exports=_objectSpread22;}});var require_objectWithoutPropertiesLoose2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return {};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}module.exports=_objectWithoutPropertiesLoose;}});var require_objectWithoutProperties2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module){var objectWithoutPropertiesLoose=require_objectWithoutPropertiesLoose2();function _objectWithoutProperties6(source,excluded){if(source==null)return {};var target=objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key]);}return target}module.exports=_objectWithoutProperties6;}});var require_defineProperty2=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module.exports=_defineProperty;}});var require_objectSpread22=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module){var defineProperty=require_defineProperty2();function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols);}return keys}function _objectSpread22(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(source,!0).forEach(function(key){defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(source).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}module.exports=_objectSpread22;}});var require_extends2=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/extends.js"(exports,module){function _extends5(){return module.exports=_extends5=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);}return target},_extends5.apply(this,arguments)}module.exports=_extends5;}});var require_objectWithoutPropertiesLoose3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return {};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}module.exports=_objectWithoutPropertiesLoose;}});var require_objectWithoutProperties3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module){var objectWithoutPropertiesLoose=require_objectWithoutPropertiesLoose3();function _objectWithoutProperties6(source,excluded){if(source==null)return {};var target=objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key]);}return target}module.exports=_objectWithoutProperties6;}});var ADDON_ID="storybook/interactions",PANEL_ID=`${ADDON_ID}/panel`;var StyledBadge=styled.div(({theme:theme2,status})=>({padding:"4px 6px 4px 8px;",borderRadius:"4px",backgroundColor:{[CallStates.DONE]:theme2.color.positive,[CallStates.ERROR]:theme2.color.negative,[CallStates.ACTIVE]:theme2.color.warning,[CallStates.WAITING]:theme2.color.warning}[status],color:"white",fontFamily:typography.fonts.base,textTransform:"uppercase",fontSize:typography.size.s1,letterSpacing:3,fontWeight:typography.weight.bold,width:65,textAlign:"center"})),StatusBadge=({status})=>{let badgeText={[CallStates.DONE]:"Pass",[CallStates.ERROR]:"Fail",[CallStates.ACTIVE]:"Runs",[CallStates.WAITING]:"Runs"}[status];return React10__default.createElement(StyledBadge,{"aria-label":"Status of the test run",status},badgeText)};var SubnavWrapper=styled.div(({theme:theme2})=>({background:theme2.background.app,borderBottom:`1px solid ${theme2.appBorderColor}`,position:"sticky",top:0,zIndex:1})),StyledSubnav=styled.nav(({theme:theme2})=>({height:40,display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:15})),StyledButton=styled(Button)(({theme:theme2})=>({borderRadius:4,padding:6,color:theme2.textMutedColor,"&:not(:disabled)":{"&:hover,&:focus-visible":{color:theme2.color.secondary}}})),Note=styled(TooltipNote)(({theme:theme2})=>({fontFamily:theme2.typography.fonts.base})),StyledIconButton=styled(IconButton)(({theme:theme2})=>({color:theme2.textMutedColor,margin:"0 3px"})),StyledSeparator=styled(Separator)({marginTop:0}),StyledLocation=styled(P)(({theme:theme2})=>({color:theme2.textMutedColor,justifyContent:"flex-end",textAlign:"right",whiteSpace:"nowrap",marginTop:"auto",marginBottom:1,paddingRight:15,fontSize:13})),Group=styled.div({display:"flex",alignItems:"center"}),RewindButton=styled(StyledIconButton)({marginLeft:9}),JumpToEndButton=styled(StyledButton)({marginLeft:9,marginRight:9,marginBottom:1,lineHeight:"12px"}),RerunButton=styled(StyledIconButton)(({theme:theme2,animating,disabled})=>({opacity:disabled?.5:1,svg:{animation:animating&&`${theme2.animation.rotate360} 200ms ease-out`}})),Subnav=({controls,controlStates,status,storyFileName,onScrollToEnd,isRerunAnimating,setIsRerunAnimating})=>{let buttonText=status===CallStates.ERROR?"Scroll to error":"Scroll to end";return React10__default.createElement(SubnavWrapper,null,React10__default.createElement(Bar,null,React10__default.createElement(StyledSubnav,null,React10__default.createElement(Group,null,React10__default.createElement(StatusBadge,{status}),React10__default.createElement(JumpToEndButton,{onClick:onScrollToEnd,disabled:!onScrollToEnd},buttonText),React10__default.createElement(StyledSeparator,null),React10__default.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React10__default.createElement(Note,{note:"Go to start"})},React10__default.createElement(RewindButton,{"aria-label":"Go to start",containsIcon:!0,onClick:controls.start,disabled:!controlStates.start},React10__default.createElement(Icons,{icon:"rewind"}))),React10__default.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React10__default.createElement(Note,{note:"Go back"})},React10__default.createElement(StyledIconButton,{"aria-label":"Go back",containsIcon:!0,onClick:controls.back,disabled:!controlStates.back},React10__default.createElement(Icons,{icon:"playback"}))),React10__default.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React10__default.createElement(Note,{note:"Go forward"})},React10__default.createElement(StyledIconButton,{"aria-label":"Go forward",containsIcon:!0,onClick:controls.next,disabled:!controlStates.next},React10__default.createElement(Icons,{icon:"playnext"}))),React10__default.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React10__default.createElement(Note,{note:"Go to end"})},React10__default.createElement(StyledIconButton,{"aria-label":"Go to end",containsIcon:!0,onClick:controls.end,disabled:!controlStates.end},React10__default.createElement(Icons,{icon:"fastforward"}))),React10__default.createElement(WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:React10__default.createElement(Note,{note:"Rerun"})},React10__default.createElement(RerunButton,{"aria-label":"Rerun",containsIcon:!0,onClick:controls.rerun,onAnimationEnd:()=>setIsRerunAnimating(!1),animating:isRerunAnimating,disabled:isRerunAnimating},React10__default.createElement(Icons,{icon:"sync"})))),storyFileName&&React10__default.createElement(Group,null,React10__default.createElement(StyledLocation,null,storyFileName)))))};var import_extends4=__toESM(require_extends()),import_objectWithoutProperties5=__toESM(require_objectWithoutProperties());function toVal(mix){var k,y,str="";if(mix)if(typeof mix=="object")if(Array.isArray(mix))for(k=0;k<mix.length;k++)mix[k]&&(y=toVal(mix[k]))&&(str&&(str+=" "),str+=y);else for(k in mix)mix[k]&&(y=toVal(k))&&(str&&(str+=" "),str+=y);else typeof mix!="boolean"&&!mix.call&&(str&&(str+=" "),str+=mix);return str}function clsx_m_default(){for(var i=0,x,str="";i<arguments.length;)(x=toVal(arguments[i++]))&&(str&&(str+=" "),str+=x);return str}var isArray=val=>Array.isArray(val)||ArrayBuffer.isView(val)&&!(val instanceof DataView),isObject=val=>val!==null&&typeof val=="object"&&!isArray(val)&&!(val instanceof Date)&&!(val instanceof RegExp)&&!(val instanceof Error)&&!(val instanceof WeakMap)&&!(val instanceof WeakSet),isKnownObject=val=>isObject(val)||isArray(val)||typeof val=="function"||val instanceof Promise,getPromiseState=promise=>{let unique=/unique/;return Promise.race([promise,unique]).then(result=>result===unique?["pending"]:["fulfilled",result],e=>["rejected",e])},buildAST=async(key,value,depth,sortKeys,isPrototype,showPrototype)=>{let astNode={key,depth,value,type:"value",parent:void 0};if(value&&isKnownObject(value)&&depth<100){let children=[],t="object";if(isArray(value)){for(let i=0;i<value.length;i++)children.push(async()=>{let child=await buildAST(i.toString(),value[i],depth+1,sortKeys);return child.parent=astNode,child});t="array";}else {let keys=Object.getOwnPropertyNames(value);sortKeys&&keys.sort();for(let i=0;i<keys.length;i++){let safeValue;try{safeValue=value[keys[i]];}catch{}children.push(async()=>{let child=await buildAST(keys[i],safeValue,depth+1,sortKeys);return child.parent=astNode,child});}if(typeof value=="function"&&(t="function"),value instanceof Promise){let[status,result]=await getPromiseState(value);children.push(async()=>{let child=await buildAST("<state>",status,depth+1,sortKeys);return child.parent=astNode,child}),status!=="pending"&&children.push(async()=>{let child=await buildAST("<value>",result,depth+1,sortKeys);return child.parent=astNode,child}),t="promise";}if(value instanceof Map){let parsedEntries=Array.from(value.entries()).map(entry=>{let[entryKey,entryValue]=entry;return {"<key>":entryKey,"<value>":entryValue}});children.push(async()=>{let child=await buildAST("<entries>",parsedEntries,depth+1,sortKeys);return child.parent=astNode,child}),children.push(async()=>{let child=await buildAST("size",value.size,depth+1,sortKeys);return child.parent=astNode,child}),t="map";}if(value instanceof Set){let parsedEntries=Array.from(value.entries()).map(entry=>entry[1]);children.push(async()=>{let child=await buildAST("<entries>",parsedEntries,depth+1,sortKeys);return child.parent=astNode,child}),children.push(async()=>{let child=await buildAST("size",value.size,depth+1,sortKeys);return child.parent=astNode,child}),t="set";}}value!==Object.prototype&&showPrototype&&children.push(async()=>{let child=await buildAST("<prototype>",Object.getPrototypeOf(value),depth+1,sortKeys,!0);return child.parent=astNode,child}),astNode.type=t,astNode.children=children,astNode.isPrototype=isPrototype;}return astNode},parse=(data,sortKeys,includePrototypes)=>buildAST("root",data,0,sortKeys===!1?sortKeys:!0,void 0,includePrototypes===!1?includePrototypes:!0);var import_objectSpread2=__toESM(require_objectSpread2()),import_objectWithoutProperties=__toESM(require_objectWithoutProperties2());var _excluded=["children"];var ThemeContext=React10__default.createContext({theme:"chrome",colorScheme:"light"});var ThemeProvider=_ref=>{let{children}=_ref,value=(0, import_objectWithoutProperties.default)(_ref,_excluded),wrappedTheme=React10__default.useContext(ThemeContext);return React10__default.createElement(ThemeContext.Provider,{value:(0, import_objectSpread2.default)((0, import_objectSpread2.default)({},wrappedTheme),value)},children)},useTheme=(props,styles={})=>{let themeContext=React10__default.useContext(ThemeContext),currentTheme=props.theme||themeContext.theme||"chrome",currentColorScheme=props.colorScheme||themeContext.colorScheme||"light",themeClass=clsx_m_default(styles[currentTheme],styles[currentColorScheme]);return {currentColorScheme,currentTheme,themeClass}};var import_objectSpread22=__toESM(require_objectSpread22());var import_extends=__toESM(require_extends2()),import_objectWithoutProperties2=__toESM(require_objectWithoutProperties3());var TreeContext=React10__default.createContext({isChild:!1,depth:0,hasHover:!0}),TreeContext_default=TreeContext;var Tree_css_default={tree:"Tree-tree-fbbbe38",item:"Tree-item-353d6f3",group:"Tree-group-d3c3d8a",label:"Tree-label-d819155",focusWhite:"Tree-focusWhite-f1e00c2",arrow:"Tree-arrow-03ab2e7",hover:"Tree-hover-3cc4e5d",open:"Tree-open-3f1a336",dark:"Tree-dark-1b4aa00",chrome:"Tree-chrome-bcbcac6",light:"Tree-light-09174ee"};var _excluded2=["theme","hover","colorScheme","children","label","className","onUpdate","onSelect","open"],Tree=props=>{let{theme:theme2,hover,colorScheme,children,label,className,onUpdate,onSelect,open}=props,html=(0, import_objectWithoutProperties2.default)(props,_excluded2),{themeClass,currentTheme}=useTheme({theme:theme2,colorScheme},Tree_css_default),[isOpen,setOpen]=useState(open);useEffect(()=>{setOpen(open);},[open]);let updateState=value=>{setOpen(value),onUpdate&&onUpdate(value);},hasChildren=React10__default.Children.count(children)>0,updateFocus=(newNode,previousNode)=>{if(newNode.isSameNode(previousNode||null))return;let focusableNode=newNode.querySelector('[tabindex="-1"]');focusableNode?.focus(),newNode.setAttribute("aria-selected","true"),previousNode?.removeAttribute("aria-selected");},getParent=(node,role)=>{let parent=node;for(;parent&&parent.parentElement;){if(parent.getAttribute("role")===role)return parent;parent=parent.parentElement;}return null},getListElements=node=>{let tree=getParent(node,"tree");return tree?Array.from(tree.querySelectorAll("li")):[]},moveBack=node=>{let group=getParent(node,"group"),toggle=group?.previousElementSibling;if(toggle&&toggle.getAttribute("tabindex")==="-1"){let toggleParent=toggle.parentElement,nodeParent=node.parentElement;updateFocus(toggleParent,nodeParent);}},moveHome=(node,direction)=>{let elements=getListElements(node);elements.forEach(element=>{element.removeAttribute("aria-selected");}),direction==="start"&&elements[0]&&updateFocus(elements[0]),direction==="end"&&elements[elements.length-1]&&updateFocus(elements[elements.length-1]);},moveFocusAdjacent=(node,direction)=>{let elements=getListElements(node)||[];for(let i=0;i<elements.length;i++){let currentNode=elements[i];if(currentNode.getAttribute("aria-selected")==="true"){direction==="up"&&elements[i-1]?updateFocus(elements[i-1],currentNode):direction==="down"&&elements[i+1]&&updateFocus(elements[i+1],currentNode);return}}updateFocus(elements[0]);},handleKeypress=(event,isChild2)=>{let node=event.target;(event.key==="Enter"||event.key===" ")&&updateState(!isOpen),event.key==="ArrowRight"&&isOpen&&!isChild2?moveFocusAdjacent(node,"down"):event.key==="ArrowRight"&&updateState(!0),event.key==="ArrowLeft"&&(!isOpen||isChild2)?moveBack(node):event.key==="ArrowLeft"&&updateState(!1),event.key==="ArrowDown"&&moveFocusAdjacent(node,"down"),event.key==="ArrowUp"&&moveFocusAdjacent(node,"up"),event.key==="Home"&&moveHome(node,"start"),event.key==="End"&&moveHome(node,"end");},handleClick=(event,isChild2)=>{let node=event.target,parent=getParent(node,"treeitem"),elements=getListElements(node)||[],found=!1;for(let i=0;i<elements.length;i++){let currentNode=elements[i];if(currentNode.getAttribute("aria-selected")==="true"){parent&&(found=!0,updateFocus(parent,currentNode));break}}!found&&parent&&updateFocus(parent),isChild2||updateState(!isOpen);},handleBlur=event=>{let node=event.currentTarget;!node.contains(document.activeElement)&&node.getAttribute("role")==="tree"&&node.setAttribute("tabindex","0");},handleFocus=event=>{let node=event.target;if(node.getAttribute("role")==="tree"){let selected=node.querySelector('[aria-selected="true"]');selected?updateFocus(selected):moveFocusAdjacent(node,"down"),node.setAttribute("tabindex","-1");}},handleButtonFocus=()=>{onSelect?.();},getPaddingStyles=depth2=>{let space=depth2*.9+.3;return {paddingLeft:`${space}em`,width:`calc(100% - ${space}em)`}},{isChild,depth,hasHover}=React10__default.useContext(TreeContext_default),showHover=hasHover?hover:!1;if(!isChild)return React10__default.createElement("ul",(0, import_extends.default)({role:"tree",tabIndex:0,className:clsx_m_default(Tree_css_default.tree,Tree_css_default.group,themeClass,className),onFocus:handleFocus,onBlur:handleBlur},html),React10__default.createElement(TreeContext_default.Provider,{value:{isChild:!0,depth:0,hasHover:showHover}},React10__default.createElement(Tree,props)));if(!hasChildren)return React10__default.createElement("li",(0, import_extends.default)({role:"treeitem",className:Tree_css_default.item},html),React10__default.createElement("div",{role:"button",className:clsx_m_default(Tree_css_default.label,{[Tree_css_default.hover]:showHover,[Tree_css_default.focusWhite]:currentTheme==="firefox"}),tabIndex:-1,style:getPaddingStyles(depth),onKeyDown:e=>{handleKeypress(e,isChild);},onClick:e=>handleClick(e,!0),onFocus:handleButtonFocus},React10__default.createElement("span",null,label)));let arrowClass=clsx_m_default(Tree_css_default.arrow,{[Tree_css_default.open]:isOpen});return React10__default.createElement("li",{role:"treeitem","aria-expanded":isOpen,className:Tree_css_default.item},React10__default.createElement("div",{role:"button",tabIndex:-1,className:clsx_m_default(Tree_css_default.label,{[Tree_css_default.hover]:showHover,[Tree_css_default.focusWhite]:currentTheme==="firefox"}),style:getPaddingStyles(depth),onClick:e=>handleClick(e),onKeyDown:e=>handleKeypress(e),onFocus:handleButtonFocus},React10__default.createElement("span",null,React10__default.createElement("span",{"aria-hidden":!0,className:arrowClass}),React10__default.createElement("span",null,label))),React10__default.createElement("ul",(0, import_extends.default)({role:"group",className:clsx_m_default(className,Tree_css_default.group)},html),isOpen&&React10__default.Children.map(children,child=>React10__default.createElement(TreeContext_default.Provider,{value:{isChild:!0,depth:depth+1,hasHover:showHover}},child))))};Tree.defaultProps={open:!1,hover:!0};var import_extends2=__toESM(require_extends()),import_objectWithoutProperties3=__toESM(require_objectWithoutProperties());var ObjectInspector_css_default={"object-inspector":"ObjectInspector-object-inspector-0c33e82",objectInspector:"ObjectInspector-object-inspector-0c33e82","object-label":"ObjectInspector-object-label-b81482b",objectLabel:"ObjectInspector-object-label-b81482b",text:"ObjectInspector-text-25f57f3",key:"ObjectInspector-key-4f712bb",value:"ObjectInspector-value-f7ec2e5",string:"ObjectInspector-string-c496000",regex:"ObjectInspector-regex-59d45a3",error:"ObjectInspector-error-b818698",boolean:"ObjectInspector-boolean-2dd1642",number:"ObjectInspector-number-a6daabb",undefined:"ObjectInspector-undefined-3a68263",null:"ObjectInspector-null-74acb50",function:"ObjectInspector-function-07bbdcd","function-decorator":"ObjectInspector-function-decorator-3d22c24",functionDecorator:"ObjectInspector-function-decorator-3d22c24",prototype:"ObjectInspector-prototype-f2449ee",dark:"ObjectInspector-dark-0c96c97",chrome:"ObjectInspector-chrome-2f3ca98",light:"ObjectInspector-light-78bef54"};var _excluded3=["ast","theme","showKey","colorScheme","className"],buildValue=(key,value,valueClass,showKey,depth)=>{let computedKey=key.includes("-")?`"${key}"`:key,isRoot=depth<=0;return React10__default.createElement("span",{className:ObjectInspector_css_default.text},!isRoot&&showKey&&React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",{className:ObjectInspector_css_default.key},computedKey),React10__default.createElement("span",null,":\xA0")),React10__default.createElement("span",{className:valueClass},value))},ObjectValue=props=>{let{ast,theme:theme2,showKey,colorScheme,className}=props,html=(0, import_objectWithoutProperties3.default)(props,_excluded3),{themeClass}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default),[asyncValue,setAsyncValue]=useState(React10__default.createElement("span",null)),value=React10__default.createElement("span",null);return useEffect(()=>{ast.value instanceof Promise&&(async promise=>{setAsyncValue(buildValue(ast.key,`Promise { "${await getPromiseState(promise)}" }`,ObjectInspector_css_default.key,showKey,ast.depth));})(ast.value);},[ast,showKey]),typeof ast.value=="number"||typeof ast.value=="bigint"?value=buildValue(ast.key,String(ast.value),ObjectInspector_css_default.number,showKey,ast.depth):typeof ast.value=="boolean"?value=buildValue(ast.key,String(ast.value),ObjectInspector_css_default.boolean,showKey,ast.depth):typeof ast.value=="string"?value=buildValue(ast.key,`"${ast.value}"`,ObjectInspector_css_default.string,showKey,ast.depth):typeof ast.value>"u"?value=buildValue(ast.key,"undefined",ObjectInspector_css_default.undefined,showKey,ast.depth):typeof ast.value=="symbol"?value=buildValue(ast.key,ast.value.toString(),ObjectInspector_css_default.string,showKey,ast.depth):typeof ast.value=="function"?value=buildValue(ast.key,`${ast.value.name}()`,ObjectInspector_css_default.key,showKey,ast.depth):typeof ast.value=="object"&&(ast.value===null?value=buildValue(ast.key,"null",ObjectInspector_css_default.null,showKey,ast.depth):Array.isArray(ast.value)?value=buildValue(ast.key,`Array(${ast.value.length})`,ObjectInspector_css_default.key,showKey,ast.depth):ast.value instanceof Date?value=buildValue(ast.key,`Date ${ast.value.toString()}`,ObjectInspector_css_default.value,showKey,ast.depth):ast.value instanceof RegExp?value=buildValue(ast.key,ast.value.toString(),ObjectInspector_css_default.regex,showKey,ast.depth):ast.value instanceof Error?value=buildValue(ast.key,ast.value.toString(),ObjectInspector_css_default.error,showKey,ast.depth):isObject(ast.value)?value=buildValue(ast.key,"{\u2026}",ObjectInspector_css_default.key,showKey,ast.depth):value=buildValue(ast.key,ast.value.constructor.name,ObjectInspector_css_default.key,showKey,ast.depth)),React10__default.createElement("span",(0, import_extends2.default)({className:clsx_m_default(themeClass,className)},html),asyncValue,value)};ObjectValue.defaultProps={showKey:!0};var ObjectValue_default=ObjectValue;var import_extends3=__toESM(require_extends()),import_objectWithoutProperties4=__toESM(require_objectWithoutProperties());var _excluded4=["ast","theme","previewMax","open","colorScheme","className"],buildPreview=(children,previewMax,showKey)=>{let previews=[];for(let i=0;i<children.length;i++){let child=children[i];if(child.isPrototype||(previews.push(React10__default.createElement(ObjectValue_default,{key:child.key,ast:child,showKey})),i<children.length-1?previews.push(", "):previews.push(" ")),child.isPrototype&&i===children.length-1&&(previews.pop(),previews.push(" ")),i===previewMax-1&&children.length>previewMax){previews.push("\u2026 ");break}}return previews},getArrayLabel=(ast,open,previewMax,theme2)=>{let l=ast.value.length;return open?React10__default.createElement("span",null,"Array(",l,")"):React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",null,`${theme2==="firefox"?"Array":""}(${l}) [ `),buildPreview(ast.children,previewMax,!1),React10__default.createElement("span",null,"]"))},getObjectLabel=(ast,open,previewMax,theme2)=>ast.isPrototype?React10__default.createElement("span",null,`Object ${theme2==="firefox"?"{ \u2026 }":""}`):open?React10__default.createElement("span",null,"{\u2026}"):React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",null,`${theme2==="firefox"?"Object ":""}{ `),buildPreview(ast.children,previewMax,!0),React10__default.createElement("span",null,"}")),getPromiseLabel=(ast,open,previewMax)=>open?React10__default.createElement("span",null,`Promise { "${String(ast.children[0].value)}" }`):React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",null,"Promise { "),buildPreview(ast.children,previewMax,!0),React10__default.createElement("span",null,"}")),getMapLabel=(ast,open,previewMax,theme2)=>{let{size}=ast.value;return open?React10__default.createElement("span",null,`Map(${size})`):React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",null,`Map${theme2==="chrome"?`(${size})`:""} { `),buildPreview(ast.children,previewMax,!0),React10__default.createElement("span",null,"}"))},getSetLabel=(ast,open,previewMax)=>{let{size}=ast.value;return open?React10__default.createElement("span",null,"Set(",size,")"):React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",null,`Set(${ast.value.size}) {`),buildPreview(ast.children,previewMax,!0),React10__default.createElement("span",null,"}"))},ObjectLabel=props=>{let{ast,theme:theme2,previewMax,open,colorScheme,className}=props,html=(0, import_objectWithoutProperties4.default)(props,_excluded4),{themeClass,currentTheme}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default),isPrototype=ast.isPrototype||!1,classes=clsx_m_default(ObjectInspector_css_default.objectLabel,themeClass,className,{[ObjectInspector_css_default.prototype]:isPrototype}),isRoot=ast.depth<=0,Key=()=>React10__default.createElement("span",{className:isPrototype?ObjectInspector_css_default.prototype:ObjectInspector_css_default.key},isRoot?"":`${ast.key}: `);return ast.type==="array"?React10__default.createElement("span",(0, import_extends3.default)({className:classes},html),React10__default.createElement(Key,null),getArrayLabel(ast,open,previewMax,currentTheme)):ast.type==="function"?React10__default.createElement("span",(0, import_extends3.default)({className:classes},html),React10__default.createElement(Key,null),currentTheme==="chrome"&&React10__default.createElement("span",{className:ObjectInspector_css_default.functionDecorator},"\u0192 "),React10__default.createElement("span",{className:clsx_m_default({[ObjectInspector_css_default.function]:!isPrototype})},`${ast.value.name}()`)):ast.type==="promise"?React10__default.createElement("span",(0, import_extends3.default)({className:classes},html),React10__default.createElement(Key,null),getPromiseLabel(ast,open,previewMax)):ast.type==="map"?React10__default.createElement("span",(0, import_extends3.default)({className:classes},html),React10__default.createElement(Key,null),getMapLabel(ast,open,previewMax,currentTheme)):ast.type==="set"?React10__default.createElement("span",(0, import_extends3.default)({className:classes},html),React10__default.createElement(Key,null),getSetLabel(ast,open,previewMax)):React10__default.createElement("span",(0, import_extends3.default)({className:classes},html),React10__default.createElement(Key,null),getObjectLabel(ast,open,previewMax,currentTheme))};ObjectLabel.defaultProps={previewMax:8,open:!1};var ObjectLabel_default=ObjectLabel;var ObjectInspectorItem=props=>{let{ast,expandLevel,depth}=props,[resolved,setResolved]=useState(),[open,setOpen]=useState(Boolean(depth<expandLevel));return useEffect(()=>{(async()=>{if(ast.type!=="value"){let promises=ast.children.map(f=>f()),children=await Promise.all(promises),r=(0, import_objectSpread22.default)((0, import_objectSpread22.default)({},ast),{},{children});setResolved(r);}})();},[ast]),resolved?React10__default.createElement(Tree,{hover:!1,open,label:React10__default.createElement(ObjectLabel_default,{open,ast:resolved}),onSelect:()=>{var _props$onSelect;(_props$onSelect=props.onSelect)===null||_props$onSelect===void 0||_props$onSelect.call(props,ast);},onUpdate:value=>{setOpen(value);}},resolved.children.map(child=>React10__default.createElement(ObjectInspectorItem,{key:child.key,ast:child,depth:depth+1,expandLevel,onSelect:props.onSelect}))):React10__default.createElement(Tree,{hover:!1,label:React10__default.createElement(ObjectValue_default,{ast}),onSelect:()=>{var _props$onSelect2;(_props$onSelect2=props.onSelect)===null||_props$onSelect2===void 0||_props$onSelect2.call(props,ast);}})};ObjectInspectorItem.defaultProps={expandLevel:0,depth:0};var ObjectInspectorItem_default=ObjectInspectorItem;var _excluded5=["data","expandLevel","sortKeys","includePrototypes","className","theme","colorScheme","onSelect"],ObjectInspector=props=>{let{data,expandLevel,sortKeys,includePrototypes,className,theme:theme2,colorScheme,onSelect}=props,html=(0, import_objectWithoutProperties5.default)(props,_excluded5),[ast,setAST]=useState(void 0),{themeClass,currentTheme,currentColorScheme}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default);return useEffect(()=>{(async()=>{setAST(await parse(data,sortKeys,includePrototypes));})();},[data,sortKeys,includePrototypes]),React10__default.createElement("div",(0, import_extends4.default)({className:clsx_m_default(ObjectInspector_css_default.objectInspector,className,themeClass)},html),ast&&React10__default.createElement(ThemeProvider,{theme:currentTheme,colorScheme:currentColorScheme},React10__default.createElement(ObjectInspectorItem_default,{ast,expandLevel,onSelect})))};ObjectInspector.defaultProps={expandLevel:0,sortKeys:!0,includePrototypes:!0};var colorsLight={base:"#444",nullish:"#7D99AA",string:"#16B242",number:"#5D40D0",boolean:"#f41840",objectkey:"#698394",instance:"#A15C20",function:"#EA7509",muted:"#7D99AA",tag:{name:"#6F2CAC",suffix:"#1F99E5"},date:"#459D9C",error:{name:"#D43900",message:"#444"},regex:{source:"#A15C20",flags:"#EA7509"},meta:"#EA7509",method:"#0271B6"},colorsDark={base:"#eee",nullish:"#aaa",string:"#5FE584",number:"#6ba5ff",boolean:"#ff4191",objectkey:"#accfe6",instance:"#E3B551",function:"#E3B551",muted:"#aaa",tag:{name:"#f57bff",suffix:"#8EB5FF"},date:"#70D4D3",error:{name:"#f40",message:"#eee"},regex:{source:"#FAD483",flags:"#E3B551"},meta:"#FAD483",method:"#5EC1FF"},useThemeColors=()=>{let{base}=useTheme$1();return base==="dark"?colorsDark:colorsLight},special=/[^A-Z0-9]/i,trimEnd=/[\s.,…]+$/gm,ellipsize=(string,maxlength)=>{if(string.length<=maxlength)return string;for(let i=maxlength-1;i>=0;i-=1)if(special.test(string[i])&&i>10)return `${string.slice(0,i).replace(trimEnd,"")}\u2026`;return `${string.slice(0,maxlength).replace(trimEnd,"")}\u2026`},stringify=value=>{try{return JSON.stringify(value,null,1)}catch{return String(value)}},interleave=(nodes,separator)=>nodes.flatMap((node,index)=>index===nodes.length-1?[node]:[node,React10__default.cloneElement(separator,{key:`sep${index}`})]),Node=({value,nested,showObjectInspector,callsById,...props})=>{switch(!0){case value===null:return React10__default.createElement(NullNode,{...props});case value===void 0:return React10__default.createElement(UndefinedNode,{...props});case Array.isArray(value):return React10__default.createElement(ArrayNode,{...props,value,callsById});case typeof value=="string":return React10__default.createElement(StringNode,{...props,value});case typeof value=="number":return React10__default.createElement(NumberNode,{...props,value});case typeof value=="boolean":return React10__default.createElement(BooleanNode,{...props,value});case Object.prototype.hasOwnProperty.call(value,"__date__"):return React10__default.createElement(DateNode,{...props,...value.__date__});case Object.prototype.hasOwnProperty.call(value,"__error__"):return React10__default.createElement(ErrorNode,{...props,...value.__error__});case Object.prototype.hasOwnProperty.call(value,"__regexp__"):return React10__default.createElement(RegExpNode,{...props,...value.__regexp__});case Object.prototype.hasOwnProperty.call(value,"__function__"):return React10__default.createElement(FunctionNode,{...props,...value.__function__});case Object.prototype.hasOwnProperty.call(value,"__symbol__"):return React10__default.createElement(SymbolNode,{...props,...value.__symbol__});case Object.prototype.hasOwnProperty.call(value,"__element__"):return React10__default.createElement(ElementNode,{...props,...value.__element__});case Object.prototype.hasOwnProperty.call(value,"__class__"):return React10__default.createElement(ClassNode,{...props,...value.__class__});case Object.prototype.hasOwnProperty.call(value,"__callId__"):return React10__default.createElement(MethodCall,{call:callsById.get(value.__callId__),callsById});case Object.prototype.toString.call(value)==="[object Object]":return React10__default.createElement(ObjectNode,{value,showInspector:showObjectInspector,...props});default:return React10__default.createElement(OtherNode,{value,...props})}},NullNode=props=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.nullish},...props},"null")},UndefinedNode=props=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.nullish},...props},"undefined")},StringNode=({value,...props})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.string},...props},JSON.stringify(ellipsize(value,50)))},NumberNode=({value,...props})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.number},...props},value)},BooleanNode=({value,...props})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.boolean},...props},String(value))},ArrayNode=({value,nested=!1,callsById})=>{let colors2=useThemeColors();if(nested)return React10__default.createElement("span",{style:{color:colors2.base}},"[\u2026]");let nodes=value.slice(0,3).map(v=>React10__default.createElement(Node,{key:JSON.stringify(v),value:v,nested:!0,callsById})),nodelist=interleave(nodes,React10__default.createElement("span",null,", "));return value.length<=3?React10__default.createElement("span",{style:{color:colors2.base}},"[",nodelist,"]"):React10__default.createElement("span",{style:{color:colors2.base}},"(",value.length,") [",nodelist,", \u2026]")},ObjectNode=({showInspector,value,nested=!1})=>{let isDarkMode=useTheme$1().base==="dark",colors2=useThemeColors();if(showInspector)return React10__default.createElement(React10__default.Fragment,null,React10__default.createElement(ObjectInspector,{id:"interactions-object-inspector",data:value,includePrototypes:!1,colorScheme:isDarkMode?"dark":"light"}));if(nested)return React10__default.createElement("span",{style:{color:colors2.base}},"{\u2026}");let nodelist=interleave(Object.entries(value).slice(0,2).map(([k,v])=>React10__default.createElement(Fragment,{key:k},React10__default.createElement("span",{style:{color:colors2.objectkey}},k,": "),React10__default.createElement(Node,{value:v,nested:!0}))),React10__default.createElement("span",null,", "));return Object.keys(value).length<=2?React10__default.createElement("span",{style:{color:colors2.base}},"{ ",nodelist," }"):React10__default.createElement("span",{style:{color:colors2.base}},"(",Object.keys(value).length,") ","{ ",nodelist,", \u2026 }")},ClassNode=({name})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.instance}},name)},FunctionNode=({name})=>{let colors2=useThemeColors();return name?React10__default.createElement("span",{style:{color:colors2.function}},name):React10__default.createElement("span",{style:{color:colors2.nullish,fontStyle:"italic"}},"anonymous")},ElementNode=({prefix,localName,id,classNames=[],innerText})=>{let name=prefix?`${prefix}:${localName}`:localName,colors2=useThemeColors();return React10__default.createElement("span",{style:{wordBreak:"keep-all"}},React10__default.createElement("span",{key:`${name}_lt`,style:{color:colors2.muted}},"<"),React10__default.createElement("span",{key:`${name}_tag`,style:{color:colors2.tag.name}},name),React10__default.createElement("span",{key:`${name}_suffix`,style:{color:colors2.tag.suffix}},id?`#${id}`:classNames.reduce((acc,className)=>`${acc}.${className}`,"")),React10__default.createElement("span",{key:`${name}_gt`,style:{color:colors2.muted}},">"),!id&&classNames.length===0&&innerText&&React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",{key:`${name}_text`},innerText),React10__default.createElement("span",{key:`${name}_close_lt`,style:{color:colors2.muted}},"<"),React10__default.createElement("span",{key:`${name}_close_tag`,style:{color:colors2.tag.name}},"/",name),React10__default.createElement("span",{key:`${name}_close_gt`,style:{color:colors2.muted}},">")))},DateNode=({value})=>{let[date,time,ms]=value.split(/[T.Z]/),colors2=useThemeColors();return React10__default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.date}},date,React10__default.createElement("span",{style:{opacity:.7}},"T"),time==="00:00:00"?React10__default.createElement("span",{style:{opacity:.7}},time):time,ms==="000"?React10__default.createElement("span",{style:{opacity:.7}},".",ms):`.${ms}`,React10__default.createElement("span",{style:{opacity:.7}},"Z"))},ErrorNode=({name,message})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.error.name}},name,message&&": ",message&&React10__default.createElement("span",{style:{color:colors2.error.message},title:message.length>50?message:""},ellipsize(message,50)))},RegExpNode=({flags,source})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.regex.flags}},"/",React10__default.createElement("span",{style:{color:colors2.regex.source}},source),"/",flags)},SymbolNode=({description})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.instance}},"Symbol(",description&&React10__default.createElement("span",{style:{color:colors2.meta}},'"',description,'"'),")")},OtherNode=({value})=>{let colors2=useThemeColors();return React10__default.createElement("span",{style:{color:colors2.meta}},stringify(value))},StepNode=({label})=>{let colors2=useThemeColors(),{typography:typography4}=useTheme$1();return React10__default.createElement("span",{style:{color:colors2.base,fontFamily:typography4.fonts.base,fontSize:typography4.size.s2-1}},label)},MethodCall=({call,callsById})=>{if(!call)return null;if(call.method==="step"&&call.path.length===0)return React10__default.createElement(StepNode,{label:call.args[0]});let path=call.path.flatMap((elem,index)=>{let callId=elem.__callId__;return [callId?React10__default.createElement(MethodCall,{key:`elem${index}`,call:callsById.get(callId),callsById}):React10__default.createElement("span",{key:`elem${index}`},elem),React10__default.createElement("wbr",{key:`wbr${index}`}),React10__default.createElement("span",{key:`dot${index}`},".")]}),args=call.args.flatMap((arg,index,array)=>{let node=React10__default.createElement(Node,{key:`node${index}`,value:arg,callsById});return index<array.length-1?[node,React10__default.createElement("span",{key:`comma${index}`},",\xA0"),React10__default.createElement("wbr",{key:`wbr${index}`})]:[node]}),colors2=useThemeColors();return React10__default.createElement(React10__default.Fragment,null,React10__default.createElement("span",{style:{color:colors2.base}},path),React10__default.createElement("span",{style:{color:colors2.method}},call.method),React10__default.createElement("span",{style:{color:colors2.base}},"(",React10__default.createElement("wbr",null),args,React10__default.createElement("wbr",null),")"))};var getParams=(line,fromIndex=0)=>{for(let i=fromIndex,depth=1;i<line.length;i+=1)if(line[i]==="("?depth+=1:line[i]===")"&&(depth-=1),depth===0)return line.slice(fromIndex,i);return ""},parseValue=value=>{try{return value==="undefined"?void 0:JSON.parse(value)}catch{return value}},StyledExpected=styled.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.positiveText:theme2.color.positive})),StyledReceived=styled.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.negativeText:theme2.color.negative})),Received=({value,parsed})=>parsed?React10__default.createElement(Node,{showObjectInspector:!0,value,style:{color:"#D43900"}}):React10__default.createElement(StyledReceived,null,value),Expected=({value,parsed})=>parsed?typeof value=="string"&&value.startsWith("called with")?React10__default.createElement(React10__default.Fragment,null,value):React10__default.createElement(Node,{showObjectInspector:!0,value,style:{color:"#16B242"}}):React10__default.createElement(StyledExpected,null,value),MatcherResult=({message})=>{let lines=message.split(`
14
+ `);return React10__default.createElement("pre",{style:{margin:0,padding:"8px 10px 8px 36px",fontSize:typography.size.s1}},lines.flatMap((line,index)=>{if(line.startsWith("expect(")){let received=getParams(line,7),remainderIndex=received&&7+received.length,matcher=received&&line.slice(remainderIndex).match(/\.(to|last|nth)[A-Z]\w+\(/);if(matcher){let expectedIndex=remainderIndex+matcher.index+matcher[0].length,expected=getParams(line,expectedIndex);if(expected)return ["expect(",React10__default.createElement(Received,{key:`received_${received}`,value:received}),line.slice(remainderIndex,expectedIndex),React10__default.createElement(Expected,{key:`expected_${expected}`,value:expected}),line.slice(expectedIndex+expected.length),React10__default.createElement("br",{key:`br${index}`})]}}if(line.match(/^\s*- /))return [React10__default.createElement(Expected,{key:line+index,value:line}),React10__default.createElement("br",{key:`br${index}`})];if(line.match(/^\s*\+ /))return [React10__default.createElement(Received,{key:line+index,value:line}),React10__default.createElement("br",{key:`br${index}`})];let[,assertionLabel,assertionValue]=line.match(/^(Expected|Received): (.*)$/)||[];if(assertionLabel&&assertionValue)return assertionLabel==="Expected"?["Expected: ",React10__default.createElement(Expected,{key:line+index,value:parseValue(assertionValue),parsed:!0}),React10__default.createElement("br",{key:`br${index}`})]:["Received: ",React10__default.createElement(Received,{key:line+index,value:parseValue(assertionValue),parsed:!0}),React10__default.createElement("br",{key:`br${index}`})];let[,prefix,numberOfCalls]=line.match(/(Expected number|Received number|Number) of calls: (\d+)$/i)||[];if(prefix&&numberOfCalls)return [`${prefix} of calls: `,React10__default.createElement(Node,{key:line+index,value:Number(numberOfCalls)}),React10__default.createElement("br",{key:`br${index}`})];let[,receivedValue]=line.match(/^Received has value: (.+)$/)||[];return receivedValue?["Received has value: ",React10__default.createElement(Node,{key:line+index,value:parseValue(receivedValue)}),React10__default.createElement("br",{key:`br${index}`})]:[React10__default.createElement("span",{key:line+index},line),React10__default.createElement("br",{key:`br${index}`})]}))};var colors={pure:{gray:{500:"#CCCCCC"}}},theme={colors},theme_default=theme;var{colors:{pure:{gray}}}=theme_default,StyledStatusIcon=styled(Icons)(({theme:theme2,status})=>{let color={[CallStates.DONE]:theme2.color.positive,[CallStates.ERROR]:theme2.color.negative,[CallStates.ACTIVE]:theme2.color.secondary,[CallStates.WAITING]:transparentize(.5,gray[500])}[status];return {width:status===CallStates.WAITING?6:12,height:status===CallStates.WAITING?6:12,color,justifySelf:"center"}}),StatusIcon=({status,className})=>{let icon={[CallStates.DONE]:"check",[CallStates.ERROR]:"stopalt",[CallStates.ACTIVE]:"play",[CallStates.WAITING]:"circle"}[status];return React10__default.createElement(StyledStatusIcon,{"data-testid":`icon-${status}`,status,icon,className})};var MethodCallWrapper=styled.div(()=>({fontFamily:typography.fonts.mono,fontSize:typography.size.s1,overflowWrap:"break-word",inlineSize:"calc( 100% - 40px )"})),RowContainer=styled("div",{shouldForwardProp:prop=>!["call","pausedAt"].includes(prop.toString())})(({theme:theme2,call})=>({position:"relative",display:"flex",flexDirection:"column",borderBottom:`1px solid ${theme2.appBorderColor}`,fontFamily:typography.fonts.base,fontSize:13,...call.status===CallStates.ERROR&&{backgroundColor:theme2.base==="dark"?transparentize(.93,theme2.color.negative):theme2.background.warning},paddingLeft:call.ancestors.length*20}),({theme:theme2,call,pausedAt})=>pausedAt===call.id&&{"&::before":{content:'""',position:"absolute",top:-5,zIndex:1,borderTop:"4.5px solid transparent",borderLeft:`7px solid ${theme2.color.warning}`,borderBottom:"4.5px solid transparent"},"&::after":{content:'""',position:"absolute",top:-1,zIndex:1,width:"100%",borderTop:`1.5px solid ${theme2.color.warning}`}}),RowHeader=styled.div(({theme:theme2,isInteractive})=>({display:"flex","&:hover":isInteractive?{}:{background:theme2.background.hoverable}})),RowLabel=styled("button",{shouldForwardProp:prop=>!["call"].includes(prop.toString())})(({theme:theme2,disabled,call})=>({flex:1,display:"grid",background:"none",border:0,gridTemplateColumns:"15px 1fr",alignItems:"center",minHeight:40,margin:0,padding:"8px 15px",textAlign:"start",cursor:disabled||call.status===CallStates.ERROR?"default":"pointer","&:focus-visible":{outline:0,boxShadow:`inset 3px 0 0 0 ${call.status===CallStates.ERROR?theme2.color.warning:theme2.color.secondary}`,background:call.status===CallStates.ERROR?"transparent":theme2.background.hoverable},"& > div":{opacity:call.status===CallStates.WAITING?.5:1}})),RowActions=styled.div({padding:6}),StyledIconButton2=styled(IconButton)(({theme:theme2})=>({color:theme2.textMutedColor,margin:"0 3px"})),Note2=styled(TooltipNote)(({theme:theme2})=>({fontFamily:theme2.typography.fonts.base})),RowMessage=styled("div")(({theme:theme2})=>({padding:"8px 10px 8px 36px",fontSize:typography.size.s1,color:theme2.color.defaultText,pre:{margin:0,padding:0}})),Exception=({exception})=>{if(exception.message.startsWith("expect("))return React10.createElement(MatcherResult,{...exception});let paragraphs=exception.message.split(`
15
+
16
+ `),more=paragraphs.length>1;return React10.createElement(RowMessage,null,React10.createElement("pre",null,paragraphs[0]),more&&React10.createElement("p",null,"See the full stack trace in the browser console."))},Interaction=({call,callsById,controls,controlStates,childCallIds,isHidden,isCollapsed,toggleCollapsed,pausedAt})=>{let[isHovered,setIsHovered]=React10.useState(!1),isInteractive=!controlStates.goto||!call.interceptable||!!call.ancestors.length;return isHidden?null:React10.createElement(RowContainer,{call,pausedAt},React10.createElement(RowHeader,{isInteractive},React10.createElement(RowLabel,{"aria-label":"Interaction step",call,onClick:()=>controls.goto(call.id),disabled:isInteractive,onMouseEnter:()=>controlStates.goto&&setIsHovered(!0),onMouseLeave:()=>controlStates.goto&&setIsHovered(!1)},React10.createElement(StatusIcon,{status:isHovered?CallStates.ACTIVE:call.status}),React10.createElement(MethodCallWrapper,{style:{marginLeft:6,marginBottom:1}},React10.createElement(MethodCall,{call,callsById}))),React10.createElement(RowActions,null,childCallIds?.length>0&&React10.createElement(WithTooltip,{hasChrome:!1,tooltip:React10.createElement(Note2,{note:`${isCollapsed?"Show":"Hide"} interactions`})},React10.createElement(StyledIconButton2,{containsIcon:!0,onClick:toggleCollapsed},React10.createElement(Icons,{icon:"listunordered"}))))),call.status===CallStates.ERROR&&call.exception?.callId===call.id&&React10.createElement(Exception,{exception:call.exception}))};var Container=styled.div(({theme:theme2,withException})=>({minHeight:"100%",background:theme2.background.content,...withException&&{backgroundColor:theme2.base==="dark"?transparentize(.93,theme2.color.negative):theme2.background.warning}})),CaughtException=styled.div(({theme:theme2})=>({padding:15,fontSize:theme2.typography.size.s2-1,lineHeight:"19px"})),CaughtExceptionCode=styled.code(({theme:theme2})=>({margin:"0 1px",padding:3,fontSize:theme2.typography.size.s1-1,lineHeight:1,verticalAlign:"top",background:"rgba(0, 0, 0, 0.05)",border:`1px solid ${theme2.appBorderColor}`,borderRadius:3})),CaughtExceptionTitle=styled.div({paddingBottom:4,fontWeight:"bold"}),CaughtExceptionDescription=styled.p({margin:0,padding:"0 0 20px"}),CaughtExceptionStack=styled.pre(({theme:theme2})=>({margin:0,padding:0,fontSize:theme2.typography.size.s1-1})),InteractionsPanel=React10.memo(function({calls,controls,controlStates,interactions,fileName,hasException,caughtException,isPlaying,pausedAt,onScrollToEnd,endRef,isRerunAnimating,setIsRerunAnimating,...panelProps}){return React10.createElement(AddonPanel,{...panelProps},React10.createElement(Container,{withException:!!caughtException},(interactions.length>0||hasException||isRerunAnimating)&&React10.createElement(Subnav,{controls,controlStates,status:isPlaying?CallStates.ACTIVE:hasException?CallStates.ERROR:CallStates.DONE,storyFileName:fileName,onScrollToEnd,isRerunAnimating,setIsRerunAnimating}),React10.createElement("div",{"aria-label":"Interactions list"},interactions.map(call=>React10.createElement(Interaction,{key:call.id,call,callsById:calls,controls,controlStates,childCallIds:call.childCallIds,isHidden:call.isHidden,isCollapsed:call.isCollapsed,toggleCollapsed:call.toggleCollapsed,pausedAt}))),caughtException&&!caughtException.message?.startsWith("ignoredException")&&React10.createElement(CaughtException,null,React10.createElement(CaughtExceptionTitle,null,"Caught exception in ",React10.createElement(CaughtExceptionCode,null,"play")," function"),React10.createElement(CaughtExceptionDescription,null,"This story threw an error after it finished rendering which means your interactions couldn' t be run.Go to this story' s play function in ",fileName," to fix."),React10.createElement(CaughtExceptionStack,{"data-chromatic":"ignore"},caughtException.stack||`${caughtException.name}: ${caughtException.message}`)),React10.createElement("div",{ref:endRef}),!isPlaying&&!caughtException&&interactions.length===0&&React10.createElement(Placeholder,null,"No interactions found",React10.createElement(Link,{href:"https://storybook.js.org/docs/react/writing-stories/play-function",target:"_blank",withArrow:!0},"Learn how to add interactions to your story"))))});var TabStatus=({children})=>{let container=global.document.getElementById("tabbutton-storybook-interactions-panel");return container&&ReactDOM.createPortal(children,container)},TabIcon=styled(StatusIcon)({marginLeft:5});var INITIAL_CONTROL_STATES={start:!1,back:!1,goto:!1,next:!1,end:!1},getInteractions=({log,calls,collapsed,setCollapsed})=>{let callsById=new Map,childCallMap=new Map;return log.map(({callId,ancestors,status})=>{let isHidden=!1;return ancestors.forEach(ancestor=>{collapsed.has(ancestor)&&(isHidden=!0),childCallMap.set(ancestor,(childCallMap.get(ancestor)||[]).concat(callId));}),{...calls.get(callId),status,isHidden}}).map(call=>{let status=call.status===CallStates.ERROR&&callsById.get(call.ancestors.slice(-1)[0])?.status===CallStates.ACTIVE?CallStates.ACTIVE:call.status;return callsById.set(call.id,{...call,status}),{...call,status,childCallIds:childCallMap.get(call.id),isCollapsed:collapsed.has(call.id),toggleCollapsed:()=>setCollapsed(ids=>(ids.has(call.id)?ids.delete(call.id):ids.add(call.id),new Set(ids)))}})},Panel=props=>{let[storyId,setStoryId]=React10.useState(),[controlStates,setControlStates]=React10.useState(INITIAL_CONTROL_STATES),[pausedAt,setPausedAt]=React10.useState(),[isErrored,setErrored]=React10.useState(!1),[isPlaying,setPlaying]=React10.useState(!1),[isRerunAnimating,setIsRerunAnimating]=React10.useState(!1),[scrollTarget,setScrollTarget]=React10.useState(),[collapsed,setCollapsed]=React10.useState(new Set),[caughtException,setCaughtException]=React10.useState(),[interactions,setInteractions]=React10.useState([]),[interactionsCount,setInteractionsCount]=React10.useState(),log=React10.useRef([]),calls=React10.useRef(new Map),setCall=({status,...call})=>calls.current.set(call.id,call),endRef=React10.useRef();React10.useEffect(()=>{let observer;return global$1.IntersectionObserver&&(observer=new global$1.IntersectionObserver(([end])=>setScrollTarget(end.isIntersecting?void 0:end.target),{root:global$1.document.querySelector("#panel-tab-content")}),endRef.current&&observer.observe(endRef.current)),()=>observer?.disconnect()},[]);let emit=useChannel({[EVENTS.CALL]:setCall,[EVENTS.SYNC]:payload=>{setControlStates(payload.controlStates),setPausedAt(payload.pausedAt),setInteractions(getInteractions({log:payload.logItems,calls:calls.current,collapsed,setCollapsed})),log.current=payload.logItems;},[STORY_RENDER_PHASE_CHANGED]:event=>{setStoryId(event.storyId),setPlaying(event.newPhase==="playing"),setPausedAt(void 0),event.newPhase==="rendering"&&(setErrored(!1),setCaughtException(void 0));},[STORY_THREW_EXCEPTION]:()=>{setErrored(!0);},[PLAY_FUNCTION_THREW_EXCEPTION]:e=>{e?.message!==IGNORED_EXCEPTION.message?setCaughtException(e):setCaughtException(void 0);}},[collapsed]);React10.useEffect(()=>{setInteractions(getInteractions({log:log.current,calls:calls.current,collapsed,setCollapsed}));},[collapsed]),React10.useEffect(()=>{isPlaying||isRerunAnimating||setInteractionsCount(interactions.filter(({method})=>method!=="step").length);},[interactions,isPlaying,isRerunAnimating]);let controls=React10.useMemo(()=>({start:()=>emit(EVENTS.START,{storyId}),back:()=>emit(EVENTS.BACK,{storyId}),goto:callId=>emit(EVENTS.GOTO,{storyId,callId}),next:()=>emit(EVENTS.NEXT,{storyId}),end:()=>emit(EVENTS.END,{storyId}),rerun:()=>{setIsRerunAnimating(!0),emit(FORCE_REMOUNT,{storyId});}}),[storyId]),storyFilePath=useParameter("fileName",""),[fileName]=storyFilePath.toString().split("/").slice(-1),scrollToTarget=()=>scrollTarget?.scrollIntoView({behavior:"smooth",block:"end"}),showStatus=interactionsCount>0||!!caughtException||isRerunAnimating,hasException=!!caughtException||interactions.some(v=>v.status===CallStates.ERROR);return isErrored?React10.createElement(React10.Fragment,{key:"interactions"}):React10.createElement(React10.Fragment,{key:"interactions"},React10.createElement(TabStatus,null,showStatus&&(hasException?React10.createElement(TabIcon,{status:CallStates.ERROR}):` (${interactionsCount})`)),React10.createElement(InteractionsPanel,{calls:calls.current,controls,controlStates,interactions,fileName,hasException,caughtException,isPlaying,pausedAt,endRef,onScrollToEnd:scrollTarget&&scrollToTarget,isRerunAnimating,setIsRerunAnimating,...props}))};addons.register(ADDON_ID,()=>{addons.add(PANEL_ID,{type:types.PANEL,title:"Interactions",match:({viewMode})=>viewMode==="story",render:Panel});});
@@ -1 +1,7 @@
1
- import"../chunk-NNAAFZ4U.mjs";import{checkAddonOrder,serverRequire}from"@storybook/core-common";import path from"path";var checkActionsLoaded=configDir=>{checkAddonOrder({before:{name:"@storybook/addon-actions",inEssentials:!0},after:{name:"@storybook/addon-interactions",inEssentials:!1},configFile:path.isAbsolute(configDir)?path.join(configDir,"main"):path.join(process.cwd(),configDir,"main"),getConfig:configFile=>serverRequire(configFile)})};export{checkActionsLoaded};
1
+ import '../chunk-NNAAFZ4U.mjs';
2
+ import { checkAddonOrder, serverRequire } from '@storybook/core-common';
3
+ import path from 'path';
4
+
5
+ var checkActionsLoaded=configDir=>{checkAddonOrder({before:{name:"@storybook/addon-actions",inEssentials:!0},after:{name:"@storybook/addon-interactions",inEssentials:!1},configFile:path.isAbsolute(configDir)?path.join(configDir,"main"):path.join(process.cwd(),configDir,"main"),getConfig:configFile=>serverRequire(configFile)});};
6
+
7
+ export { checkActionsLoaded };
package/dist/preview.mjs CHANGED
@@ -1 +1,10 @@
1
- import"./chunk-NNAAFZ4U.mjs";import{addons}from"@storybook/preview-api";import{global}from"@storybook/global";import{FORCE_REMOUNT,STORY_RENDER_PHASE_CHANGED}from"@storybook/core-events";import{instrument}from"@storybook/instrumenter";import{ModuleMocker}from"jest-mock";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};export{argsEnhancers,parameters,runStep};
1
+ import './chunk-NNAAFZ4U.mjs';
2
+ import { addons } from '@storybook/preview-api';
3
+ import { global } from '@storybook/global';
4
+ import { FORCE_REMOUNT, STORY_RENDER_PHASE_CHANGED } from '@storybook/core-events';
5
+ import { instrument } from '@storybook/instrumenter';
6
+ import { ModuleMocker } from 'jest-mock';
7
+
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};
9
+
10
+ export { argsEnhancers, parameters, runStep };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-interactions",
3
- "version": "7.0.7",
3
+ "version": "7.0.8",
4
4
  "description": "Automate, test and debug user interactions",
5
5
  "keywords": [
6
6
  "storybook-addons",
@@ -14,7 +14,7 @@
14
14
  "repository": {
15
15
  "type": "git",
16
16
  "url": "https://github.com/storybookjs/storybook.git",
17
- "directory": "addons/interactions"
17
+ "directory": "code/addons/interactions"
18
18
  },
19
19
  "funding": {
20
20
  "type": "opencollective",
@@ -23,25 +23,25 @@
23
23
  "license": "MIT",
24
24
  "exports": {
25
25
  ".": {
26
+ "types": "./dist/index.d.ts",
26
27
  "node": "./dist/index.js",
27
28
  "require": "./dist/index.js",
28
- "import": "./dist/index.mjs",
29
- "types": "./dist/index.d.ts"
29
+ "import": "./dist/index.mjs"
30
30
  },
31
31
  "./manager": {
32
+ "types": "./dist/manager.d.ts",
32
33
  "require": "./dist/manager.js",
33
- "import": "./dist/manager.mjs",
34
- "types": "./dist/manager.d.ts"
34
+ "import": "./dist/manager.mjs"
35
35
  },
36
36
  "./preview": {
37
+ "types": "./dist/preview.d.ts",
37
38
  "require": "./dist/preview.js",
38
- "import": "./dist/preview.mjs",
39
- "types": "./dist/preview.d.ts"
39
+ "import": "./dist/preview.mjs"
40
40
  },
41
41
  "./register.js": {
42
+ "types": "./dist/manager.d.ts",
42
43
  "require": "./dist/manager.js",
43
- "import": "./dist/manager.mjs",
44
- "types": "./dist/manager.d.ts"
44
+ "import": "./dist/manager.mjs"
45
45
  },
46
46
  "./package.json": "./package.json"
47
47
  },
@@ -72,16 +72,16 @@
72
72
  "prep": "../../../scripts/prepare/bundle.ts"
73
73
  },
74
74
  "dependencies": {
75
- "@storybook/client-logger": "7.0.7",
76
- "@storybook/components": "7.0.7",
77
- "@storybook/core-common": "7.0.7",
78
- "@storybook/core-events": "7.0.7",
75
+ "@storybook/client-logger": "7.0.8",
76
+ "@storybook/components": "7.0.8",
77
+ "@storybook/core-common": "7.0.8",
78
+ "@storybook/core-events": "7.0.8",
79
79
  "@storybook/global": "^5.0.0",
80
- "@storybook/instrumenter": "7.0.7",
81
- "@storybook/manager-api": "7.0.7",
82
- "@storybook/preview-api": "7.0.7",
83
- "@storybook/theming": "7.0.7",
84
- "@storybook/types": "7.0.7",
80
+ "@storybook/instrumenter": "7.0.8",
81
+ "@storybook/manager-api": "7.0.8",
82
+ "@storybook/preview-api": "7.0.8",
83
+ "@storybook/theming": "7.0.8",
84
+ "@storybook/types": "7.0.8",
85
85
  "jest-mock": "^27.0.6",
86
86
  "polished": "^4.2.2",
87
87
  "ts-dedent": "^2.2.0"
@@ -118,7 +118,7 @@
118
118
  ],
119
119
  "platform": "node"
120
120
  },
121
- "gitHead": "9e352853ca5ce94d81fcdb06c303b4fbf43f8971",
121
+ "gitHead": "9991b68c7d0cd1543c974f358cae9e0d02b29e7e",
122
122
  "storybook": {
123
123
  "displayName": "Interactions",
124
124
  "unsupportedFrameworks": [