@storybook/addon-interactions 7.1.0-alpha.9 → 7.1.0-beta.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.js CHANGED
@@ -1 +1 @@
1
- var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{default:()=>src_default});module.exports=__toCommonJS(src_exports);var src_default={};0&&(module.exports={});
1
+ var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{default:()=>src_default});module.exports=__toCommonJS(src_exports);var src_default={};
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.js CHANGED
@@ -1,4 +1,4 @@
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));var require_extends=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/extends.js"(exports,module2){function _extends5(){return module2.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)}module2.exports=_extends5}});var require_objectWithoutPropertiesLoose=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module2){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}module2.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module2){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}module2.exports=_objectWithoutProperties6}});var require_defineProperty=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module2){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module2.exports=_defineProperty}});var require_objectSpread2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module2){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}module2.exports=_objectSpread22}});var require_objectWithoutPropertiesLoose2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module2){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}module2.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module2){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}module2.exports=_objectWithoutProperties6}});var require_defineProperty2=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module2){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module2.exports=_defineProperty}});var require_objectSpread22=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module2){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}module2.exports=_objectSpread22}});var require_extends2=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/extends.js"(exports,module2){function _extends5(){return module2.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)}module2.exports=_extends5}});var require_objectWithoutPropertiesLoose3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module2){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}module2.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module2){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}module2.exports=_objectWithoutProperties6}});var import_manager_api2=require("@storybook/manager-api");var ADDON_ID="storybook/interactions",PANEL_ID=`${ADDON_ID}/panel`;var import_global=require("@storybook/global"),React15=__toESM(require("react")),import_manager_api=require("@storybook/manager-api"),import_core_events=require("@storybook/core-events"),import_instrumenter6=require("@storybook/instrumenter");var React14=__toESM(require("react")),import_components4=require("@storybook/components"),import_instrumenter5=require("@storybook/instrumenter"),import_theming7=require("@storybook/theming"),import_polished3=require("polished");var import_react2=__toESM(require("react")),import_components=require("@storybook/components"),import_instrumenter2=require("@storybook/instrumenter"),import_theming2=require("@storybook/theming");var import_react=__toESM(require("react")),import_instrumenter=require("@storybook/instrumenter"),import_theming=require("@storybook/theming"),StyledBadge=import_theming.styled.div(({theme:theme2,status})=>({padding:"4px 6px 4px 8px;",borderRadius:"4px",backgroundColor:{[import_instrumenter.CallStates.DONE]:theme2.color.positive,[import_instrumenter.CallStates.ERROR]:theme2.color.negative,[import_instrumenter.CallStates.ACTIVE]:theme2.color.warning,[import_instrumenter.CallStates.WAITING]:theme2.color.warning}[status],color:"white",fontFamily:import_theming.typography.fonts.base,textTransform:"uppercase",fontSize:import_theming.typography.size.s1,letterSpacing:3,fontWeight:import_theming.typography.weight.bold,width:65,textAlign:"center"})),StatusBadge=({status})=>{let badgeText={[import_instrumenter.CallStates.DONE]:"Pass",[import_instrumenter.CallStates.ERROR]:"Fail",[import_instrumenter.CallStates.ACTIVE]:"Runs",[import_instrumenter.CallStates.WAITING]:"Runs"}[status];return import_react.default.createElement(StyledBadge,{"aria-label":"Status of the test run",status},badgeText)};var SubnavWrapper=import_theming2.styled.div(({theme:theme2})=>({background:theme2.background.app,borderBottom:`1px solid ${theme2.appBorderColor}`,position:"sticky",top:0,zIndex:1})),StyledSubnav=import_theming2.styled.nav(({theme:theme2})=>({height:40,display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:15})),StyledButton=(0,import_theming2.styled)(import_components.Button)(({theme:theme2})=>({borderRadius:4,padding:6,color:theme2.textMutedColor,"&:not(:disabled)":{"&:hover,&:focus-visible":{color:theme2.color.secondary}}})),Note=(0,import_theming2.styled)(import_components.TooltipNote)(({theme:theme2})=>({fontFamily:theme2.typography.fonts.base})),StyledIconButton=(0,import_theming2.styled)(import_components.IconButton)(({theme:theme2})=>({color:theme2.textMutedColor,margin:"0 3px"})),StyledSeparator=(0,import_theming2.styled)(import_components.Separator)({marginTop:0}),StyledLocation=(0,import_theming2.styled)(import_components.P)(({theme:theme2})=>({color:theme2.textMutedColor,justifyContent:"flex-end",textAlign:"right",whiteSpace:"nowrap",marginTop:"auto",marginBottom:1,paddingRight:15,fontSize:13})),Group=import_theming2.styled.div({display:"flex",alignItems:"center"}),RewindButton=(0,import_theming2.styled)(StyledIconButton)({marginLeft:9}),JumpToEndButton=(0,import_theming2.styled)(StyledButton)({marginLeft:9,marginRight:9,marginBottom:1,lineHeight:"12px"}),RerunButton=(0,import_theming2.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===import_instrumenter2.CallStates.ERROR?"Scroll to error":"Scroll to end";return import_react2.default.createElement(SubnavWrapper,null,import_react2.default.createElement(import_components.Bar,null,import_react2.default.createElement(StyledSubnav,null,import_react2.default.createElement(Group,null,import_react2.default.createElement(StatusBadge,{status}),import_react2.default.createElement(JumpToEndButton,{onClick:onScrollToEnd,disabled:!onScrollToEnd},buttonText),import_react2.default.createElement(StyledSeparator,null),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go to start"})},import_react2.default.createElement(RewindButton,{"aria-label":"Go to start",containsIcon:!0,onClick:controls.start,disabled:!controlStates.start},import_react2.default.createElement(import_components.Icons,{icon:"rewind"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go back"})},import_react2.default.createElement(StyledIconButton,{"aria-label":"Go back",containsIcon:!0,onClick:controls.back,disabled:!controlStates.back},import_react2.default.createElement(import_components.Icons,{icon:"playback"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go forward"})},import_react2.default.createElement(StyledIconButton,{"aria-label":"Go forward",containsIcon:!0,onClick:controls.next,disabled:!controlStates.next},import_react2.default.createElement(import_components.Icons,{icon:"playnext"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go to end"})},import_react2.default.createElement(StyledIconButton,{"aria-label":"Go to end",containsIcon:!0,onClick:controls.end,disabled:!controlStates.end},import_react2.default.createElement(import_components.Icons,{icon:"fastforward"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Rerun"})},import_react2.default.createElement(RerunButton,{"aria-label":"Rerun",containsIcon:!0,onClick:controls.rerun,onAnimationEnd:()=>setIsRerunAnimating(!1),animating:isRerunAnimating,disabled:isRerunAnimating},import_react2.default.createElement(import_components.Icons,{icon:"sync"})))),storyFileName&&import_react2.default.createElement(Group,null,import_react2.default.createElement(StyledLocation,null,storyFileName)))))};var React13=__toESM(require("react")),import_components3=require("@storybook/components"),import_instrumenter4=require("@storybook/instrumenter"),import_theming6=require("@storybook/theming"),import_polished2=require("polished");var import_react11=__toESM(require("react")),import_theming4=require("@storybook/theming");var import_extends4=__toESM(require_extends()),import_objectWithoutProperties5=__toESM(require_objectWithoutProperties()),import_react9=__toESM(require("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=__toESM(require("react"));var _excluded=["children"];var ThemeContext=import_react3.default.createContext({theme:"chrome",colorScheme:"light"});var ThemeProvider=_ref=>{let{children}=_ref,value=(0,import_objectWithoutProperties.default)(_ref,_excluded),wrappedTheme=import_react3.default.useContext(ThemeContext);return import_react3.default.createElement(ThemeContext.Provider,{value:(0,import_objectSpread2.default)((0,import_objectSpread2.default)({},wrappedTheme),value)},children)},useTheme=(props,styles={})=>{let themeContext=import_react3.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()),import_react8=__toESM(require("react"));var import_extends=__toESM(require_extends2()),import_objectWithoutProperties2=__toESM(require_objectWithoutProperties3()),import_react5=__toESM(require("react"));var import_react4=__toESM(require("react")),TreeContext=import_react4.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]=(0,import_react5.useState)(open);(0,import_react5.useEffect)(()=>{setOpen(open)},[open]);let updateState=value=>{setOpen(value),onUpdate&&onUpdate(value)},hasChildren=import_react5.default.Children.count(children)>0,updateFocus=(newNode,previousNode)=>{if(newNode.isSameNode(previousNode||null))return;let focusableNode=newNode.querySelector('[tabindex="-1"]');focusableNode==null||focusableNode.focus(),newNode.setAttribute("aria-selected","true"),previousNode==null||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==null?void 0: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==null||onSelect()},getPaddingStyles=depth2=>{let space=depth2*.9+.3;return{paddingLeft:`${space}em`,width:`calc(100% - ${space}em)`}},{isChild,depth,hasHover}=import_react5.default.useContext(TreeContext_default),showHover=hasHover?hover:!1;if(!isChild)return import_react5.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),import_react5.default.createElement(TreeContext_default.Provider,{value:{isChild:!0,depth:0,hasHover:showHover}},import_react5.default.createElement(Tree,props)));if(!hasChildren)return import_react5.default.createElement("li",(0,import_extends.default)({role:"treeitem",className:Tree_css_default.item},html),import_react5.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},import_react5.default.createElement("span",null,label)));let arrowClass=clsx_m_default(Tree_css_default.arrow,{[Tree_css_default.open]:isOpen});return import_react5.default.createElement("li",{role:"treeitem","aria-expanded":isOpen,className:Tree_css_default.item},import_react5.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},import_react5.default.createElement("span",null,import_react5.default.createElement("span",{"aria-hidden":!0,className:arrowClass}),import_react5.default.createElement("span",null,label))),import_react5.default.createElement("ul",(0,import_extends.default)({role:"group",className:clsx_m_default(className,Tree_css_default.group)},html),isOpen&&import_react5.default.Children.map(children,child=>import_react5.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()),import_react6=__toESM(require("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 import_react6.default.createElement("span",{className:ObjectInspector_css_default.text},!isRoot&&showKey&&import_react6.default.createElement(import_react6.default.Fragment,null,import_react6.default.createElement("span",{className:ObjectInspector_css_default.key},computedKey),import_react6.default.createElement("span",null,":\xA0")),import_react6.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]=(0,import_react6.useState)(import_react6.default.createElement("span",null)),value=import_react6.default.createElement("span",null);return(0,import_react6.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)),import_react6.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()),import_react7=__toESM(require("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(import_react7.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?import_react7.default.createElement("span",null,"Array(",l,")"):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`${theme2==="firefox"?"Array":""}(${l}) [ `),buildPreview(ast.children,previewMax,!1),import_react7.default.createElement("span",null,"]"))},getObjectLabel=(ast,open,previewMax,theme2)=>ast.isPrototype?import_react7.default.createElement("span",null,`Object ${theme2==="firefox"?"{ \u2026 }":""}`):open?import_react7.default.createElement("span",null,"{\u2026}"):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`${theme2==="firefox"?"Object ":""}{ `),buildPreview(ast.children,previewMax,!0),import_react7.default.createElement("span",null,"}")),getPromiseLabel=(ast,open,previewMax)=>open?import_react7.default.createElement("span",null,`Promise { "${String(ast.children[0].value)}" }`):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,"Promise { "),buildPreview(ast.children,previewMax,!0),import_react7.default.createElement("span",null,"}")),getMapLabel=(ast,open,previewMax,theme2)=>{let{size}=ast.value;return open?import_react7.default.createElement("span",null,`Map(${size})`):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`Map${theme2==="chrome"?`(${size})`:""} { `),buildPreview(ast.children,previewMax,!0),import_react7.default.createElement("span",null,"}"))},getSetLabel=(ast,open,previewMax)=>{let{size}=ast.value;return open?import_react7.default.createElement("span",null,"Set(",size,")"):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`Set(${ast.value.size}) {`),buildPreview(ast.children,previewMax,!0),import_react7.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=()=>import_react7.default.createElement("span",{className:isPrototype?ObjectInspector_css_default.prototype:ObjectInspector_css_default.key},isRoot?"":`${ast.key}: `);return ast.type==="array"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getArrayLabel(ast,open,previewMax,currentTheme)):ast.type==="function"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),currentTheme==="chrome"&&import_react7.default.createElement("span",{className:ObjectInspector_css_default.functionDecorator},"\u0192 "),import_react7.default.createElement("span",{className:clsx_m_default({[ObjectInspector_css_default.function]:!isPrototype})},`${ast.value.name}()`)):ast.type==="promise"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getPromiseLabel(ast,open,previewMax)):ast.type==="map"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getMapLabel(ast,open,previewMax,currentTheme)):ast.type==="set"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getSetLabel(ast,open,previewMax)):import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.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]=(0,import_react8.useState)(),[open,setOpen]=(0,import_react8.useState)(Boolean(depth<expandLevel));return(0,import_react8.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?import_react8.default.createElement(Tree,{hover:!1,open,label:import_react8.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=>import_react8.default.createElement(ObjectInspectorItem,{key:child.key,ast:child,depth:depth+1,expandLevel,onSelect:props.onSelect}))):import_react8.default.createElement(Tree,{hover:!1,label:import_react8.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]=(0,import_react9.useState)(void 0),{themeClass,currentTheme,currentColorScheme}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default);return(0,import_react9.useEffect)(()=>{(async()=>{setAST(await parse(data,sortKeys,includePrototypes))})()},[data,sortKeys,includePrototypes]),import_react9.default.createElement("div",(0,import_extends4.default)({className:clsx_m_default(ObjectInspector_css_default.objectInspector,className,themeClass)},html),ast&&import_react9.default.createElement(ThemeProvider,{theme:currentTheme,colorScheme:currentColorScheme},import_react9.default.createElement(ObjectInspectorItem_default,{ast,expandLevel,onSelect})))};ObjectInspector.defaultProps={expandLevel:0,sortKeys:!0,includePrototypes:!0};var import_theming3=require("@storybook/theming"),import_react10=__toESM(require("react")),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}=(0,import_theming3.useTheme)();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,import_react10.default.cloneElement(separator,{key:`sep${index}`})]),Node=({value,nested,showObjectInspector,callsById,...props})=>{switch(!0){case value===null:return import_react10.default.createElement(NullNode,{...props});case value===void 0:return import_react10.default.createElement(UndefinedNode,{...props});case Array.isArray(value):return import_react10.default.createElement(ArrayNode,{...props,value,callsById});case typeof value=="string":return import_react10.default.createElement(StringNode,{...props,value});case typeof value=="number":return import_react10.default.createElement(NumberNode,{...props,value});case typeof value=="boolean":return import_react10.default.createElement(BooleanNode,{...props,value});case Object.prototype.hasOwnProperty.call(value,"__date__"):return import_react10.default.createElement(DateNode,{...props,...value.__date__});case Object.prototype.hasOwnProperty.call(value,"__error__"):return import_react10.default.createElement(ErrorNode,{...props,...value.__error__});case Object.prototype.hasOwnProperty.call(value,"__regexp__"):return import_react10.default.createElement(RegExpNode,{...props,...value.__regexp__});case Object.prototype.hasOwnProperty.call(value,"__function__"):return import_react10.default.createElement(FunctionNode,{...props,...value.__function__});case Object.prototype.hasOwnProperty.call(value,"__symbol__"):return import_react10.default.createElement(SymbolNode,{...props,...value.__symbol__});case Object.prototype.hasOwnProperty.call(value,"__element__"):return import_react10.default.createElement(ElementNode,{...props,...value.__element__});case Object.prototype.hasOwnProperty.call(value,"__class__"):return import_react10.default.createElement(ClassNode,{...props,...value.__class__});case Object.prototype.hasOwnProperty.call(value,"__callId__"):return import_react10.default.createElement(MethodCall,{call:callsById.get(value.__callId__),callsById});case Object.prototype.toString.call(value)==="[object Object]":return import_react10.default.createElement(ObjectNode,{value,showInspector:showObjectInspector,...props});default:return import_react10.default.createElement(OtherNode,{value,...props})}},NullNode=props=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.nullish},...props},"null")},UndefinedNode=props=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.nullish},...props},"undefined")},StringNode=({value,...props})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.string},...props},JSON.stringify(ellipsize(value,50)))},NumberNode=({value,...props})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.number},...props},value)},BooleanNode=({value,...props})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.boolean},...props},String(value))},ArrayNode=({value,nested=!1,callsById})=>{let colors2=useThemeColors();if(nested)return import_react10.default.createElement("span",{style:{color:colors2.base}},"[\u2026]");let nodes=value.slice(0,3).map(v=>import_react10.default.createElement(Node,{key:JSON.stringify(v),value:v,nested:!0,callsById})),nodelist=interleave(nodes,import_react10.default.createElement("span",null,", "));return value.length<=3?import_react10.default.createElement("span",{style:{color:colors2.base}},"[",nodelist,"]"):import_react10.default.createElement("span",{style:{color:colors2.base}},"(",value.length,") [",nodelist,", \u2026]")},ObjectNode=({showInspector,value,nested=!1})=>{let isDarkMode=(0,import_theming3.useTheme)().base==="dark",colors2=useThemeColors();if(showInspector)return import_react10.default.createElement(import_react10.default.Fragment,null,import_react10.default.createElement(ObjectInspector,{id:"interactions-object-inspector",data:value,includePrototypes:!1,colorScheme:isDarkMode?"dark":"light"}));if(nested)return import_react10.default.createElement("span",{style:{color:colors2.base}},"{\u2026}");let nodelist=interleave(Object.entries(value).slice(0,2).map(([k,v])=>import_react10.default.createElement(import_react10.Fragment,{key:k},import_react10.default.createElement("span",{style:{color:colors2.objectkey}},k,": "),import_react10.default.createElement(Node,{value:v,nested:!0}))),import_react10.default.createElement("span",null,", "));return Object.keys(value).length<=2?import_react10.default.createElement("span",{style:{color:colors2.base}},"{ ",nodelist," }"):import_react10.default.createElement("span",{style:{color:colors2.base}},"(",Object.keys(value).length,") ","{ ",nodelist,", \u2026 }")},ClassNode=({name})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.instance}},name)},FunctionNode=({name})=>{let colors2=useThemeColors();return name?import_react10.default.createElement("span",{style:{color:colors2.function}},name):import_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 import_react10.default.createElement("span",{style:{wordBreak:"keep-all"}},import_react10.default.createElement("span",{key:`${name}_lt`,style:{color:colors2.muted}},"<"),import_react10.default.createElement("span",{key:`${name}_tag`,style:{color:colors2.tag.name}},name),import_react10.default.createElement("span",{key:`${name}_suffix`,style:{color:colors2.tag.suffix}},id?`#${id}`:classNames.reduce((acc,className)=>`${acc}.${className}`,"")),import_react10.default.createElement("span",{key:`${name}_gt`,style:{color:colors2.muted}},">"),!id&&classNames.length===0&&innerText&&import_react10.default.createElement(import_react10.default.Fragment,null,import_react10.default.createElement("span",{key:`${name}_text`},innerText),import_react10.default.createElement("span",{key:`${name}_close_lt`,style:{color:colors2.muted}},"<"),import_react10.default.createElement("span",{key:`${name}_close_tag`,style:{color:colors2.tag.name}},"/",name),import_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 import_react10.default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.date}},date,import_react10.default.createElement("span",{style:{opacity:.7}},"T"),time==="00:00:00"?import_react10.default.createElement("span",{style:{opacity:.7}},time):time,ms==="000"?import_react10.default.createElement("span",{style:{opacity:.7}},".",ms):`.${ms}`,import_react10.default.createElement("span",{style:{opacity:.7}},"Z"))},ErrorNode=({name,message})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.error.name}},name,message&&": ",message&&import_react10.default.createElement("span",{style:{color:colors2.error.message},title:message.length>50?message:""},ellipsize(message,50)))},RegExpNode=({flags,source})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.regex.flags}},"/",import_react10.default.createElement("span",{style:{color:colors2.regex.source}},source),"/",flags)},SymbolNode=({description})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.instance}},"Symbol(",description&&import_react10.default.createElement("span",{style:{color:colors2.meta}},'"',description,'"'),")")},OtherNode=({value})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.meta}},stringify(value))},StepNode=({label})=>{let colors2=useThemeColors(),{typography:typography4}=(0,import_theming3.useTheme)();return import_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 import_react10.default.createElement(StepNode,{label:call.args[0]});let path=call.path.flatMap((elem,index)=>{let callId=elem.__callId__;return[callId?import_react10.default.createElement(MethodCall,{key:`elem${index}`,call:callsById.get(callId),callsById}):import_react10.default.createElement("span",{key:`elem${index}`},elem),import_react10.default.createElement("wbr",{key:`wbr${index}`}),import_react10.default.createElement("span",{key:`dot${index}`},".")]}),args=call.args.flatMap((arg,index,array)=>{let node=import_react10.default.createElement(Node,{key:`node${index}`,value:arg,callsById});return index<array.length-1?[node,import_react10.default.createElement("span",{key:`comma${index}`},",\xA0"),import_react10.default.createElement("wbr",{key:`wbr${index}`})]:[node]}),colors2=useThemeColors();return import_react10.default.createElement(import_react10.default.Fragment,null,import_react10.default.createElement("span",{style:{color:colors2.base}},path),import_react10.default.createElement("span",{style:{color:colors2.method}},call.method),import_react10.default.createElement("span",{style:{color:colors2.base}},"(",import_react10.default.createElement("wbr",null),args,import_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=import_theming4.styled.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.positiveText:theme2.color.positive})),StyledReceived=import_theming4.styled.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.negativeText:theme2.color.negative})),Received=({value,parsed})=>parsed?import_react11.default.createElement(Node,{showObjectInspector:!0,value,style:{color:"#D43900"}}):import_react11.default.createElement(StyledReceived,null,value),Expected=({value,parsed})=>parsed?typeof value=="string"&&value.startsWith("called with")?import_react11.default.createElement(import_react11.default.Fragment,null,value):import_react11.default.createElement(Node,{showObjectInspector:!0,value,style:{color:"#16B242"}}):import_react11.default.createElement(StyledExpected,null,value),MatcherResult=({message})=>{let lines=message.split(`
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));var require_extends=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/extends.js"(exports,module2){function _extends5(){return module2.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)}module2.exports=_extends5}});var require_objectWithoutPropertiesLoose=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module2){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}module2.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module2){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}module2.exports=_objectWithoutProperties6}});var require_defineProperty=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module2){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module2.exports=_defineProperty}});var require_objectSpread2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module2){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}module2.exports=_objectSpread22}});var require_objectWithoutPropertiesLoose2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module2){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}module2.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties2=__commonJS({"../../node_modules/@devtools-ds/themes/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module2){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}module2.exports=_objectWithoutProperties6}});var require_defineProperty2=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/defineProperty.js"(exports,module2){function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}module2.exports=_defineProperty}});var require_objectSpread22=__commonJS({"../../node_modules/@devtools-ds/object-inspector/node_modules/@babel/runtime/helpers/objectSpread2.js"(exports,module2){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}module2.exports=_objectSpread22}});var require_extends2=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/extends.js"(exports,module2){function _extends5(){return module2.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)}module2.exports=_extends5}});var require_objectWithoutPropertiesLoose3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports,module2){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}module2.exports=_objectWithoutPropertiesLoose}});var require_objectWithoutProperties3=__commonJS({"../../node_modules/@devtools-ds/tree/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"(exports,module2){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}module2.exports=_objectWithoutProperties6}});var import_manager_api2=require("@storybook/manager-api");var ADDON_ID="storybook/interactions",PANEL_ID=`${ADDON_ID}/panel`;var import_global=require("@storybook/global"),React15=__toESM(require("react")),import_manager_api=require("@storybook/manager-api"),import_core_events=require("@storybook/core-events"),import_instrumenter6=require("@storybook/instrumenter");var React14=__toESM(require("react")),import_components4=require("@storybook/components"),import_instrumenter5=require("@storybook/instrumenter"),import_theming7=require("@storybook/theming"),import_polished3=require("polished");var import_react2=__toESM(require("react")),import_components=require("@storybook/components"),import_instrumenter2=require("@storybook/instrumenter"),import_theming2=require("@storybook/theming");var import_react=__toESM(require("react")),import_instrumenter=require("@storybook/instrumenter"),import_theming=require("@storybook/theming"),StyledBadge=import_theming.styled.div(({theme:theme2,status})=>({padding:"4px 6px 4px 8px;",borderRadius:"4px",backgroundColor:{[import_instrumenter.CallStates.DONE]:theme2.color.positive,[import_instrumenter.CallStates.ERROR]:theme2.color.negative,[import_instrumenter.CallStates.ACTIVE]:theme2.color.warning,[import_instrumenter.CallStates.WAITING]:theme2.color.warning}[status],color:"white",fontFamily:import_theming.typography.fonts.base,textTransform:"uppercase",fontSize:import_theming.typography.size.s1,letterSpacing:3,fontWeight:import_theming.typography.weight.bold,width:65,textAlign:"center"})),StatusBadge=({status})=>{let badgeText={[import_instrumenter.CallStates.DONE]:"Pass",[import_instrumenter.CallStates.ERROR]:"Fail",[import_instrumenter.CallStates.ACTIVE]:"Runs",[import_instrumenter.CallStates.WAITING]:"Runs"}[status];return import_react.default.createElement(StyledBadge,{"aria-label":"Status of the test run",status},badgeText)};var SubnavWrapper=import_theming2.styled.div(({theme:theme2})=>({background:theme2.background.app,borderBottom:`1px solid ${theme2.appBorderColor}`,position:"sticky",top:0,zIndex:1})),StyledSubnav=import_theming2.styled.nav(({theme:theme2})=>({height:40,display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:15})),StyledButton=(0,import_theming2.styled)(import_components.Button)(({theme:theme2})=>({borderRadius:4,padding:6,color:theme2.textMutedColor,"&:not(:disabled)":{"&:hover,&:focus-visible":{color:theme2.color.secondary}}})),Note=(0,import_theming2.styled)(import_components.TooltipNote)(({theme:theme2})=>({fontFamily:theme2.typography.fonts.base})),StyledIconButton=(0,import_theming2.styled)(import_components.IconButton)(({theme:theme2})=>({color:theme2.textMutedColor,margin:"0 3px"})),StyledSeparator=(0,import_theming2.styled)(import_components.Separator)({marginTop:0}),StyledLocation=(0,import_theming2.styled)(import_components.P)(({theme:theme2})=>({color:theme2.textMutedColor,justifyContent:"flex-end",textAlign:"right",whiteSpace:"nowrap",marginTop:"auto",marginBottom:1,paddingRight:15,fontSize:13})),Group=import_theming2.styled.div({display:"flex",alignItems:"center"}),RewindButton=(0,import_theming2.styled)(StyledIconButton)({marginLeft:9}),JumpToEndButton=(0,import_theming2.styled)(StyledButton)({marginLeft:9,marginRight:9,marginBottom:1,lineHeight:"12px"}),RerunButton=(0,import_theming2.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===import_instrumenter2.CallStates.ERROR?"Scroll to error":"Scroll to end";return import_react2.default.createElement(SubnavWrapper,null,import_react2.default.createElement(import_components.Bar,null,import_react2.default.createElement(StyledSubnav,null,import_react2.default.createElement(Group,null,import_react2.default.createElement(StatusBadge,{status}),import_react2.default.createElement(JumpToEndButton,{onClick:onScrollToEnd,disabled:!onScrollToEnd},buttonText),import_react2.default.createElement(StyledSeparator,null),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go to start"})},import_react2.default.createElement(RewindButton,{"aria-label":"Go to start",containsIcon:!0,onClick:controls.start,disabled:!controlStates.start},import_react2.default.createElement(import_components.Icons,{icon:"rewind"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go back"})},import_react2.default.createElement(StyledIconButton,{"aria-label":"Go back",containsIcon:!0,onClick:controls.back,disabled:!controlStates.back},import_react2.default.createElement(import_components.Icons,{icon:"playback"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go forward"})},import_react2.default.createElement(StyledIconButton,{"aria-label":"Go forward",containsIcon:!0,onClick:controls.next,disabled:!controlStates.next},import_react2.default.createElement(import_components.Icons,{icon:"playnext"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Go to end"})},import_react2.default.createElement(StyledIconButton,{"aria-label":"Go to end",containsIcon:!0,onClick:controls.end,disabled:!controlStates.end},import_react2.default.createElement(import_components.Icons,{icon:"fastforward"}))),import_react2.default.createElement(import_components.WithTooltip,{trigger:"hover",hasChrome:!1,tooltip:import_react2.default.createElement(Note,{note:"Rerun"})},import_react2.default.createElement(RerunButton,{"aria-label":"Rerun",containsIcon:!0,onClick:controls.rerun,onAnimationEnd:()=>setIsRerunAnimating(!1),animating:isRerunAnimating,disabled:isRerunAnimating},import_react2.default.createElement(import_components.Icons,{icon:"sync"})))),storyFileName&&import_react2.default.createElement(Group,null,import_react2.default.createElement(StyledLocation,null,storyFileName)))))};var React13=__toESM(require("react")),import_components3=require("@storybook/components"),import_instrumenter4=require("@storybook/instrumenter"),import_theming6=require("@storybook/theming"),import_polished2=require("polished");var import_react11=__toESM(require("react")),import_theming4=require("@storybook/theming");var import_extends4=__toESM(require_extends()),import_objectWithoutProperties5=__toESM(require_objectWithoutProperties()),import_react9=__toESM(require("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=__toESM(require("react"));var _excluded=["children"];var ThemeContext=import_react3.default.createContext({theme:"chrome",colorScheme:"light"});var ThemeProvider=_ref=>{let{children}=_ref,value=(0,import_objectWithoutProperties.default)(_ref,_excluded),wrappedTheme=import_react3.default.useContext(ThemeContext);return import_react3.default.createElement(ThemeContext.Provider,{value:(0,import_objectSpread2.default)((0,import_objectSpread2.default)({},wrappedTheme),value)},children)},useTheme=(props,styles={})=>{let themeContext=import_react3.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()),import_react8=__toESM(require("react"));var import_extends=__toESM(require_extends2()),import_objectWithoutProperties2=__toESM(require_objectWithoutProperties3()),import_react5=__toESM(require("react"));var import_react4=__toESM(require("react")),TreeContext=import_react4.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]=(0,import_react5.useState)(open);(0,import_react5.useEffect)(()=>{setOpen(open)},[open]);let updateState=value=>{setOpen(value),onUpdate&&onUpdate(value)},hasChildren=import_react5.default.Children.count(children)>0,updateFocus=(newNode,previousNode)=>{if(newNode.isSameNode(previousNode||null))return;let focusableNode=newNode.querySelector('[tabindex="-1"]');focusableNode==null||focusableNode.focus(),newNode.setAttribute("aria-selected","true"),previousNode==null||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==null?void 0: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==null||onSelect()},getPaddingStyles=depth2=>{let space=depth2*.9+.3;return{paddingLeft:`${space}em`,width:`calc(100% - ${space}em)`}},{isChild,depth,hasHover}=import_react5.default.useContext(TreeContext_default),showHover=hasHover?hover:!1;if(!isChild)return import_react5.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),import_react5.default.createElement(TreeContext_default.Provider,{value:{isChild:!0,depth:0,hasHover:showHover}},import_react5.default.createElement(Tree,props)));if(!hasChildren)return import_react5.default.createElement("li",(0,import_extends.default)({role:"treeitem",className:Tree_css_default.item},html),import_react5.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},import_react5.default.createElement("span",null,label)));let arrowClass=clsx_m_default(Tree_css_default.arrow,{[Tree_css_default.open]:isOpen});return import_react5.default.createElement("li",{role:"treeitem","aria-expanded":isOpen,className:Tree_css_default.item},import_react5.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},import_react5.default.createElement("span",null,import_react5.default.createElement("span",{"aria-hidden":!0,className:arrowClass}),import_react5.default.createElement("span",null,label))),import_react5.default.createElement("ul",(0,import_extends.default)({role:"group",className:clsx_m_default(className,Tree_css_default.group)},html),isOpen&&import_react5.default.Children.map(children,child=>import_react5.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()),import_react6=__toESM(require("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 import_react6.default.createElement("span",{className:ObjectInspector_css_default.text},!isRoot&&showKey&&import_react6.default.createElement(import_react6.default.Fragment,null,import_react6.default.createElement("span",{className:ObjectInspector_css_default.key},computedKey),import_react6.default.createElement("span",null,":\xA0")),import_react6.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]=(0,import_react6.useState)(import_react6.default.createElement("span",null)),value=import_react6.default.createElement("span",null);return(0,import_react6.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)),import_react6.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()),import_react7=__toESM(require("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(import_react7.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?import_react7.default.createElement("span",null,"Array(",l,")"):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`${theme2==="firefox"?"Array":""}(${l}) [ `),buildPreview(ast.children,previewMax,!1),import_react7.default.createElement("span",null,"]"))},getObjectLabel=(ast,open,previewMax,theme2)=>ast.isPrototype?import_react7.default.createElement("span",null,`Object ${theme2==="firefox"?"{ \u2026 }":""}`):open?import_react7.default.createElement("span",null,"{\u2026}"):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`${theme2==="firefox"?"Object ":""}{ `),buildPreview(ast.children,previewMax,!0),import_react7.default.createElement("span",null,"}")),getPromiseLabel=(ast,open,previewMax)=>open?import_react7.default.createElement("span",null,`Promise { "${String(ast.children[0].value)}" }`):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,"Promise { "),buildPreview(ast.children,previewMax,!0),import_react7.default.createElement("span",null,"}")),getMapLabel=(ast,open,previewMax,theme2)=>{let{size}=ast.value;return open?import_react7.default.createElement("span",null,`Map(${size})`):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`Map${theme2==="chrome"?`(${size})`:""} { `),buildPreview(ast.children,previewMax,!0),import_react7.default.createElement("span",null,"}"))},getSetLabel=(ast,open,previewMax)=>{let{size}=ast.value;return open?import_react7.default.createElement("span",null,"Set(",size,")"):import_react7.default.createElement(import_react7.default.Fragment,null,import_react7.default.createElement("span",null,`Set(${ast.value.size}) {`),buildPreview(ast.children,previewMax,!0),import_react7.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=()=>import_react7.default.createElement("span",{className:isPrototype?ObjectInspector_css_default.prototype:ObjectInspector_css_default.key},isRoot?"":`${ast.key}: `);return ast.type==="array"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getArrayLabel(ast,open,previewMax,currentTheme)):ast.type==="function"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),currentTheme==="chrome"&&import_react7.default.createElement("span",{className:ObjectInspector_css_default.functionDecorator},"\u0192 "),import_react7.default.createElement("span",{className:clsx_m_default({[ObjectInspector_css_default.function]:!isPrototype})},`${ast.value.name}()`)):ast.type==="promise"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getPromiseLabel(ast,open,previewMax)):ast.type==="map"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getMapLabel(ast,open,previewMax,currentTheme)):ast.type==="set"?import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.default.createElement(Key,null),getSetLabel(ast,open,previewMax)):import_react7.default.createElement("span",(0,import_extends3.default)({className:classes},html),import_react7.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]=(0,import_react8.useState)(),[open,setOpen]=(0,import_react8.useState)(depth<expandLevel);return(0,import_react8.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?import_react8.default.createElement(Tree,{hover:!1,open,label:import_react8.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=>import_react8.default.createElement(ObjectInspectorItem,{key:child.key,ast:child,depth:depth+1,expandLevel,onSelect:props.onSelect}))):import_react8.default.createElement(Tree,{hover:!1,label:import_react8.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]=(0,import_react9.useState)(void 0),{themeClass,currentTheme,currentColorScheme}=useTheme({theme:theme2,colorScheme},ObjectInspector_css_default);return(0,import_react9.useEffect)(()=>{(async()=>{setAST(await parse(data,sortKeys,includePrototypes))})()},[data,sortKeys,includePrototypes]),import_react9.default.createElement("div",(0,import_extends4.default)({className:clsx_m_default(ObjectInspector_css_default.objectInspector,className,themeClass)},html),ast&&import_react9.default.createElement(ThemeProvider,{theme:currentTheme,colorScheme:currentColorScheme},import_react9.default.createElement(ObjectInspectorItem_default,{ast,expandLevel,onSelect})))};ObjectInspector.defaultProps={expandLevel:0,sortKeys:!0,includePrototypes:!0};var import_theming3=require("@storybook/theming"),import_react10=__toESM(require("react")),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}=(0,import_theming3.useTheme)();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,import_react10.default.cloneElement(separator,{key:`sep${index}`})]),Node=({value,nested,showObjectInspector,callsById,...props})=>{switch(!0){case value===null:return import_react10.default.createElement(NullNode,{...props});case value===void 0:return import_react10.default.createElement(UndefinedNode,{...props});case Array.isArray(value):return import_react10.default.createElement(ArrayNode,{...props,value,callsById});case typeof value=="string":return import_react10.default.createElement(StringNode,{...props,value});case typeof value=="number":return import_react10.default.createElement(NumberNode,{...props,value});case typeof value=="boolean":return import_react10.default.createElement(BooleanNode,{...props,value});case Object.prototype.hasOwnProperty.call(value,"__date__"):return import_react10.default.createElement(DateNode,{...props,...value.__date__});case Object.prototype.hasOwnProperty.call(value,"__error__"):return import_react10.default.createElement(ErrorNode,{...props,...value.__error__});case Object.prototype.hasOwnProperty.call(value,"__regexp__"):return import_react10.default.createElement(RegExpNode,{...props,...value.__regexp__});case Object.prototype.hasOwnProperty.call(value,"__function__"):return import_react10.default.createElement(FunctionNode,{...props,...value.__function__});case Object.prototype.hasOwnProperty.call(value,"__symbol__"):return import_react10.default.createElement(SymbolNode,{...props,...value.__symbol__});case Object.prototype.hasOwnProperty.call(value,"__element__"):return import_react10.default.createElement(ElementNode,{...props,...value.__element__});case Object.prototype.hasOwnProperty.call(value,"__class__"):return import_react10.default.createElement(ClassNode,{...props,...value.__class__});case Object.prototype.hasOwnProperty.call(value,"__callId__"):return import_react10.default.createElement(MethodCall,{call:callsById.get(value.__callId__),callsById});case Object.prototype.toString.call(value)==="[object Object]":return import_react10.default.createElement(ObjectNode,{value,showInspector:showObjectInspector,callsById,...props});default:return import_react10.default.createElement(OtherNode,{value,...props})}},NullNode=props=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.nullish},...props},"null")},UndefinedNode=props=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.nullish},...props},"undefined")},StringNode=({value,...props})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.string},...props},JSON.stringify(ellipsize(value,50)))},NumberNode=({value,...props})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.number},...props},value)},BooleanNode=({value,...props})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.boolean},...props},String(value))},ArrayNode=({value,nested=!1,callsById})=>{let colors2=useThemeColors();if(nested)return import_react10.default.createElement("span",{style:{color:colors2.base}},"[\u2026]");let nodes=value.slice(0,3).map(v=>import_react10.default.createElement(Node,{key:JSON.stringify(v),value:v,nested:!0,callsById})),nodelist=interleave(nodes,import_react10.default.createElement("span",null,", "));return value.length<=3?import_react10.default.createElement("span",{style:{color:colors2.base}},"[",nodelist,"]"):import_react10.default.createElement("span",{style:{color:colors2.base}},"(",value.length,") [",nodelist,", \u2026]")},ObjectNode=({showInspector,value,callsById,nested=!1})=>{let isDarkMode=(0,import_theming3.useTheme)().base==="dark",colors2=useThemeColors();if(showInspector)return import_react10.default.createElement(import_react10.default.Fragment,null,import_react10.default.createElement(ObjectInspector,{id:"interactions-object-inspector",data:value,includePrototypes:!1,colorScheme:isDarkMode?"dark":"light"}));if(nested)return import_react10.default.createElement("span",{style:{color:colors2.base}},"{\u2026}");let nodelist=interleave(Object.entries(value).slice(0,2).map(([k,v])=>import_react10.default.createElement(import_react10.Fragment,{key:k},import_react10.default.createElement("span",{style:{color:colors2.objectkey}},k,": "),import_react10.default.createElement(Node,{value:v,callsById,nested:!0}))),import_react10.default.createElement("span",null,", "));return Object.keys(value).length<=2?import_react10.default.createElement("span",{style:{color:colors2.base}},"{ ",nodelist," }"):import_react10.default.createElement("span",{style:{color:colors2.base}},"(",Object.keys(value).length,") ","{ ",nodelist,", \u2026 }")},ClassNode=({name})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.instance}},name)},FunctionNode=({name})=>{let colors2=useThemeColors();return name?import_react10.default.createElement("span",{style:{color:colors2.function}},name):import_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 import_react10.default.createElement("span",{style:{wordBreak:"keep-all"}},import_react10.default.createElement("span",{key:`${name}_lt`,style:{color:colors2.muted}},"<"),import_react10.default.createElement("span",{key:`${name}_tag`,style:{color:colors2.tag.name}},name),import_react10.default.createElement("span",{key:`${name}_suffix`,style:{color:colors2.tag.suffix}},id?`#${id}`:classNames.reduce((acc,className)=>`${acc}.${className}`,"")),import_react10.default.createElement("span",{key:`${name}_gt`,style:{color:colors2.muted}},">"),!id&&classNames.length===0&&innerText&&import_react10.default.createElement(import_react10.default.Fragment,null,import_react10.default.createElement("span",{key:`${name}_text`},innerText),import_react10.default.createElement("span",{key:`${name}_close_lt`,style:{color:colors2.muted}},"<"),import_react10.default.createElement("span",{key:`${name}_close_tag`,style:{color:colors2.tag.name}},"/",name),import_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 import_react10.default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.date}},date,import_react10.default.createElement("span",{style:{opacity:.7}},"T"),time==="00:00:00"?import_react10.default.createElement("span",{style:{opacity:.7}},time):time,ms==="000"?import_react10.default.createElement("span",{style:{opacity:.7}},".",ms):`.${ms}`,import_react10.default.createElement("span",{style:{opacity:.7}},"Z"))},ErrorNode=({name,message})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.error.name}},name,message&&": ",message&&import_react10.default.createElement("span",{style:{color:colors2.error.message},title:message.length>50?message:""},ellipsize(message,50)))},RegExpNode=({flags,source})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.regex.flags}},"/",import_react10.default.createElement("span",{style:{color:colors2.regex.source}},source),"/",flags)},SymbolNode=({description})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{whiteSpace:"nowrap",color:colors2.instance}},"Symbol(",description&&import_react10.default.createElement("span",{style:{color:colors2.meta}},'"',description,'"'),")")},OtherNode=({value})=>{let colors2=useThemeColors();return import_react10.default.createElement("span",{style:{color:colors2.meta}},stringify(value))},StepNode=({label})=>{let colors2=useThemeColors(),{typography:typography4}=(0,import_theming3.useTheme)();return import_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 import_react10.default.createElement(StepNode,{label:call.args[0]});let path=call.path.flatMap((elem,index)=>{let callId=elem.__callId__;return[callId?import_react10.default.createElement(MethodCall,{key:`elem${index}`,call:callsById.get(callId),callsById}):import_react10.default.createElement("span",{key:`elem${index}`},elem),import_react10.default.createElement("wbr",{key:`wbr${index}`}),import_react10.default.createElement("span",{key:`dot${index}`},".")]}),args=call.args.flatMap((arg,index,array)=>{let node=import_react10.default.createElement(Node,{key:`node${index}`,value:arg,callsById});return index<array.length-1?[node,import_react10.default.createElement("span",{key:`comma${index}`},",\xA0"),import_react10.default.createElement("wbr",{key:`wbr${index}`})]:[node]}),colors2=useThemeColors();return import_react10.default.createElement(import_react10.default.Fragment,null,import_react10.default.createElement("span",{style:{color:colors2.base}},path),import_react10.default.createElement("span",{style:{color:colors2.method}},call.method),import_react10.default.createElement("span",{style:{color:colors2.base}},"(",import_react10.default.createElement("wbr",null),args,import_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=import_theming4.styled.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.positiveText:theme2.color.positive})),StyledReceived=import_theming4.styled.span(({theme:theme2})=>({color:theme2.base==="light"?theme2.color.negativeText:theme2.color.negative})),Received=({value,parsed})=>parsed?import_react11.default.createElement(Node,{showObjectInspector:!0,value,style:{color:"#D43900"}}):import_react11.default.createElement(StyledReceived,null,value),Expected=({value,parsed})=>parsed?typeof value=="string"&&value.startsWith("called with")?import_react11.default.createElement(import_react11.default.Fragment,null,value):import_react11.default.createElement(Node,{showObjectInspector:!0,value,style:{color:"#16B242"}}):import_react11.default.createElement(StyledExpected,null,value),MatcherResult=({message})=>{let lines=message.split(`
2
2
  `);return import_react11.default.createElement("pre",{style:{margin:0,padding:"8px 10px 8px 36px",fontSize:import_theming4.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(",import_react11.default.createElement(Received,{key:`received_${received}`,value:received}),line.slice(remainderIndex,expectedIndex),import_react11.default.createElement(Expected,{key:`expected_${expected}`,value:expected}),line.slice(expectedIndex+expected.length),import_react11.default.createElement("br",{key:`br${index}`})]}}if(line.match(/^\s*- /))return[import_react11.default.createElement(Expected,{key:line+index,value:line}),import_react11.default.createElement("br",{key:`br${index}`})];if(line.match(/^\s*\+ /))return[import_react11.default.createElement(Received,{key:line+index,value:line}),import_react11.default.createElement("br",{key:`br${index}`})];let[,assertionLabel,assertionValue]=line.match(/^(Expected|Received): (.*)$/)||[];if(assertionLabel&&assertionValue)return assertionLabel==="Expected"?["Expected: ",import_react11.default.createElement(Expected,{key:line+index,value:parseValue(assertionValue),parsed:!0}),import_react11.default.createElement("br",{key:`br${index}`})]:["Received: ",import_react11.default.createElement(Received,{key:line+index,value:parseValue(assertionValue),parsed:!0}),import_react11.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: `,import_react11.default.createElement(Node,{key:line+index,value:Number(numberOfCalls)}),import_react11.default.createElement("br",{key:`br${index}`})];let[,receivedValue]=line.match(/^Received has value: (.+)$/)||[];return receivedValue?["Received has value: ",import_react11.default.createElement(Node,{key:line+index,value:parseValue(receivedValue)}),import_react11.default.createElement("br",{key:`br${index}`})]:[import_react11.default.createElement("span",{key:line+index},line),import_react11.default.createElement("br",{key:`br${index}`})]}))};var import_react12=__toESM(require("react")),import_components2=require("@storybook/components"),import_instrumenter3=require("@storybook/instrumenter"),import_theming5=require("@storybook/theming"),import_polished=require("polished");var colors={pure:{gray:{500:"#CCCCCC"}}},theme={colors},theme_default=theme;var{colors:{pure:{gray}}}=theme_default,StyledStatusIcon=(0,import_theming5.styled)(import_components2.Icons)(({theme:theme2,status})=>{let color={[import_instrumenter3.CallStates.DONE]:theme2.color.positive,[import_instrumenter3.CallStates.ERROR]:theme2.color.negative,[import_instrumenter3.CallStates.ACTIVE]:theme2.color.secondary,[import_instrumenter3.CallStates.WAITING]:(0,import_polished.transparentize)(.5,gray[500])}[status];return{width:status===import_instrumenter3.CallStates.WAITING?6:12,height:status===import_instrumenter3.CallStates.WAITING?6:12,color,justifySelf:"center"}}),StatusIcon=({status,className})=>{let icon={[import_instrumenter3.CallStates.DONE]:"check",[import_instrumenter3.CallStates.ERROR]:"stopalt",[import_instrumenter3.CallStates.ACTIVE]:"play",[import_instrumenter3.CallStates.WAITING]:"circle"}[status];return import_react12.default.createElement(StyledStatusIcon,{"data-testid":`icon-${status}`,status,icon,className})};var MethodCallWrapper=import_theming6.styled.div(()=>({fontFamily:import_theming6.typography.fonts.mono,fontSize:import_theming6.typography.size.s1,overflowWrap:"break-word",inlineSize:"calc( 100% - 40px )"})),RowContainer=(0,import_theming6.styled)("div",{shouldForwardProp:prop=>!["call","pausedAt"].includes(prop.toString())})(({theme:theme2,call})=>({position:"relative",display:"flex",flexDirection:"column",borderBottom:`1px solid ${theme2.appBorderColor}`,fontFamily:import_theming6.typography.fonts.base,fontSize:13,...call.status===import_instrumenter4.CallStates.ERROR&&{backgroundColor:theme2.base==="dark"?(0,import_polished2.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=import_theming6.styled.div(({theme:theme2,isInteractive})=>({display:"flex","&:hover":isInteractive?{}:{background:theme2.background.hoverable}})),RowLabel=(0,import_theming6.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===import_instrumenter4.CallStates.ERROR?"default":"pointer","&:focus-visible":{outline:0,boxShadow:`inset 3px 0 0 0 ${call.status===import_instrumenter4.CallStates.ERROR?theme2.color.warning:theme2.color.secondary}`,background:call.status===import_instrumenter4.CallStates.ERROR?"transparent":theme2.background.hoverable},"& > div":{opacity:call.status===import_instrumenter4.CallStates.WAITING?.5:1}})),RowActions=import_theming6.styled.div({padding:6}),StyledIconButton2=(0,import_theming6.styled)(import_components3.IconButton)(({theme:theme2})=>({color:theme2.textMutedColor,margin:"0 3px"})),Note2=(0,import_theming6.styled)(import_components3.TooltipNote)(({theme:theme2})=>({fontFamily:theme2.typography.fonts.base})),RowMessage=(0,import_theming6.styled)("div")(({theme:theme2})=>({padding:"8px 10px 8px 36px",fontSize:import_theming6.typography.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(`
3
3
 
4
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})=>{var _a;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?import_instrumenter4.CallStates.ACTIVE:call.status}),React13.createElement(MethodCallWrapper,{style:{marginLeft:6,marginBottom:1}},React13.createElement(MethodCall,{call,callsById}))),React13.createElement(RowActions,null,(childCallIds==null?void 0:childCallIds.length)>0&&React13.createElement(import_components3.WithTooltip,{hasChrome:!1,tooltip:React13.createElement(Note2,{note:`${isCollapsed?"Show":"Hide"} interactions`})},React13.createElement(StyledIconButton2,{containsIcon:!0,onClick:toggleCollapsed},React13.createElement(import_components3.Icons,{icon:"listunordered"}))))),call.status===import_instrumenter4.CallStates.ERROR&&((_a=call.exception)==null?void 0:_a.callId)===call.id&&React13.createElement(Exception,{exception:call.exception}))};var Container=import_theming7.styled.div(({theme:theme2,withException})=>({minHeight:"100%",background:theme2.background.content,...withException&&{backgroundColor:theme2.base==="dark"?(0,import_polished3.transparentize)(.93,theme2.color.negative):theme2.background.warning}})),CaughtException=import_theming7.styled.div(({theme:theme2})=>({padding:15,fontSize:theme2.typography.size.s2-1,lineHeight:"19px"})),CaughtExceptionCode=import_theming7.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=import_theming7.styled.div({paddingBottom:4,fontWeight:"bold"}),CaughtExceptionDescription=import_theming7.styled.p({margin:0,padding:"0 0 20px"}),CaughtExceptionStack=import_theming7.styled.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}){var _a;return React14.createElement(import_components4.AddonPanel,{...panelProps},React14.createElement(Container,{withException:!!caughtException},(interactions.length>0||hasException||isRerunAnimating)&&React14.createElement(Subnav,{controls,controlStates,status:isPlaying?import_instrumenter5.CallStates.ACTIVE:hasException?import_instrumenter5.CallStates.ERROR:import_instrumenter5.CallStates.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&&!((_a=caughtException.message)!=null&&_a.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(import_components4.Placeholder,null,"No interactions found",React14.createElement(import_components4.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 import_theming8=require("@storybook/theming"),import_react_dom=__toESM(require("react-dom"));var TabStatus=({children})=>{let container=global.document.getElementById("tabbutton-storybook-interactions-panel");return container&&import_react_dom.default.createPortal(children,container)},TabIcon=(0,import_theming8.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=>{var _a;let status=call.status===import_instrumenter6.CallStates.ERROR&&((_a=callsById.get(call.ancestors.slice(-1)[0]))==null?void 0:_a.status)===import_instrumenter6.CallStates.ACTIVE?import_instrumenter6.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]=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 import_global.global.IntersectionObserver&&(observer=new import_global.global.IntersectionObserver(([end])=>setScrollTarget(end.isIntersecting?void 0:end.target),{root:import_global.global.document.querySelector("#panel-tab-content")}),endRef.current&&observer.observe(endRef.current)),()=>observer==null?void 0:observer.disconnect()},[]);let emit=(0,import_manager_api.useChannel)({[import_instrumenter6.EVENTS.CALL]:setCall,[import_instrumenter6.EVENTS.SYNC]:payload=>{setControlStates(payload.controlStates),setPausedAt(payload.pausedAt),setInteractions(getInteractions({log:payload.logItems,calls:calls.current,collapsed,setCollapsed})),log.current=payload.logItems},[import_core_events.STORY_RENDER_PHASE_CHANGED]:event=>{setStoryId(event.storyId),setPlaying(event.newPhase==="playing"),setPausedAt(void 0),event.newPhase==="rendering"&&(setErrored(!1),setCaughtException(void 0))},[import_core_events.STORY_THREW_EXCEPTION]:()=>{setErrored(!0)},[import_core_events.PLAY_FUNCTION_THREW_EXCEPTION]:e=>{(e==null?void 0:e.message)!==import_core_events.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(import_instrumenter6.EVENTS.START,{storyId}),back:()=>emit(import_instrumenter6.EVENTS.BACK,{storyId}),goto:callId=>emit(import_instrumenter6.EVENTS.GOTO,{storyId,callId}),next:()=>emit(import_instrumenter6.EVENTS.NEXT,{storyId}),end:()=>emit(import_instrumenter6.EVENTS.END,{storyId}),rerun:()=>{setIsRerunAnimating(!0),emit(import_core_events.FORCE_REMOUNT,{storyId})}}),[storyId]),storyFilePath=(0,import_manager_api.useParameter)("fileName",""),[fileName]=storyFilePath.toString().split("/").slice(-1),scrollToTarget=()=>scrollTarget==null?void 0:scrollTarget.scrollIntoView({behavior:"smooth",block:"end"}),showStatus=interactionsCount>0||!!caughtException||isRerunAnimating,hasException=!!caughtException||interactions.some(v=>v.status===import_instrumenter6.CallStates.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:import_instrumenter6.CallStates.ERROR}):` (${interactionsCount})`)),React15.createElement(InteractionsPanel,{calls:calls.current,controls,controlStates,interactions,fileName,hasException,caughtException,isPlaying,pausedAt,endRef,onScrollToEnd:scrollTarget&&scrollToTarget,isRerunAnimating,setIsRerunAnimating,...props}))};import_manager_api2.addons.register(ADDON_ID,()=>{import_manager_api2.addons.add(PANEL_ID,{type:import_manager_api2.types.PANEL,title:"Interactions",match:({viewMode})=>viewMode==="story",render:Panel})});
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(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,callsById,...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,callsById,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,callsById,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 @@
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 __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var checkActionsLoaded_exports={};__export(checkActionsLoaded_exports,{checkActionsLoaded:()=>checkActionsLoaded});module.exports=__toCommonJS(checkActionsLoaded_exports);var import_core_common=require("@storybook/core-common"),import_path=__toESM(require("path")),checkActionsLoaded=configDir=>{(0,import_core_common.checkAddonOrder)({before:{name:"@storybook/addon-actions",inEssentials:!0},after:{name:"@storybook/addon-interactions",inEssentials:!1},configFile:import_path.default.isAbsolute(configDir)?import_path.default.join(configDir,"main"):import_path.default.join(process.cwd(),configDir,"main"),getConfig:configFile=>(0,import_core_common.serverRequire)(configFile)})};0&&(module.exports={checkActionsLoaded});
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 __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{checkActionsLoaded:()=>checkActionsLoaded});module.exports=__toCommonJS(preset_exports);var import_core_common=require("@storybook/core-common"),import_path=__toESM(require("path")),checkActionsLoaded=configDir=>{(0,import_core_common.checkAddonOrder)({before:{name:"@storybook/addon-actions",inEssentials:!0},after:{name:"@storybook/addon-interactions",inEssentials:!1},configFile:import_path.default.isAbsolute(configDir)?import_path.default.join(configDir,"main"):import_path.default.join(process.cwd(),configDir,"main"),getConfig:configFile=>(0,import_core_common.serverRequire)(configFile)})};0&&(module.exports={checkActionsLoaded});
package/dist/preview.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import * as _storybook_types from '@storybook/types';
2
1
  import { ArgsEnhancer, Renderer, StepLabel, PlayFunction, PlayFunctionContext } from '@storybook/types';
3
2
 
4
- declare const argsEnhancers: ArgsEnhancer<Renderer, _storybook_types.Args>[];
3
+ declare const argsEnhancers: ArgsEnhancer<Renderer>[];
5
4
  declare const runStep: (label: StepLabel, play: PlayFunction, context: PlayFunctionContext<any>) => void | Promise<void>;
6
5
  declare const parameters: {
7
6
  throwPlayFunctionExceptions: boolean;
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.1.0-alpha.9",
3
+ "version": "7.1.0-beta.0",
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,24 +72,24 @@
72
72
  "prep": "../../../scripts/prepare/bundle.ts"
73
73
  },
74
74
  "dependencies": {
75
- "@storybook/client-logger": "7.1.0-alpha.9",
76
- "@storybook/components": "7.1.0-alpha.9",
77
- "@storybook/core-common": "7.1.0-alpha.9",
78
- "@storybook/core-events": "7.1.0-alpha.9",
75
+ "@storybook/client-logger": "7.1.0-beta.0",
76
+ "@storybook/components": "7.1.0-beta.0",
77
+ "@storybook/core-common": "7.1.0-beta.0",
78
+ "@storybook/core-events": "7.1.0-beta.0",
79
79
  "@storybook/global": "^5.0.0",
80
- "@storybook/instrumenter": "7.1.0-alpha.9",
81
- "@storybook/manager-api": "7.1.0-alpha.9",
82
- "@storybook/preview-api": "7.1.0-alpha.9",
83
- "@storybook/theming": "7.1.0-alpha.9",
84
- "@storybook/types": "7.1.0-alpha.9",
85
- "jest-mock": "^27.0.6",
80
+ "@storybook/instrumenter": "7.1.0-beta.0",
81
+ "@storybook/manager-api": "7.1.0-beta.0",
82
+ "@storybook/preview-api": "7.1.0-beta.0",
83
+ "@storybook/theming": "7.1.0-beta.0",
84
+ "@storybook/types": "7.1.0-beta.0",
85
+ "jest-mock": "^29.5.0",
86
86
  "polished": "^4.2.2",
87
87
  "ts-dedent": "^2.2.0"
88
88
  },
89
89
  "devDependencies": {
90
90
  "@devtools-ds/object-inspector": "^1.1.2",
91
- "@storybook/jest": "future",
92
- "@storybook/testing-library": "future",
91
+ "@storybook/jest": "next",
92
+ "@storybook/testing-library": "next",
93
93
  "@types/node": "^16.0.0",
94
94
  "formik": "^2.2.9",
95
95
  "typescript": "~4.9.3"
@@ -114,11 +114,10 @@
114
114
  "./src/index.ts",
115
115
  "./src/manager.tsx",
116
116
  "./src/preview.ts",
117
- "./src/preset/checkActionsLoaded.ts"
118
- ],
119
- "platform": "node"
117
+ "./src/preset.ts"
118
+ ]
120
119
  },
121
- "gitHead": "ec112401efaae6d3d4996c790a30301177570da9",
120
+ "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17",
122
121
  "storybook": {
123
122
  "displayName": "Interactions",
124
123
  "unsupportedFrameworks": [
@@ -126,4 +125,4 @@
126
125
  ],
127
126
  "icon": "https://user-images.githubusercontent.com/263385/101991666-479cc600-3c7c-11eb-837b-be4e5ffa1bb8.png"
128
127
  }
129
- }
128
+ }
package/preset.js CHANGED
@@ -1,4 +1,4 @@
1
- const { checkActionsLoaded } = require('./dist/preset/checkActionsLoaded');
1
+ const { checkActionsLoaded } = require('./dist/preset');
2
2
 
3
3
  function previewAnnotations(entry = [], options) {
4
4
  checkActionsLoaded(options.configDir);
@@ -1 +0,0 @@
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};