@storybook/manager 7.6.0-alpha.4 → 7.6.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,7 +48,7 @@ Output:
48
48
  it's possible a CORS error happened.
49
49
 
50
50
  Please check your dev-tools network tab.
51
- `});let versions=ref.versions&&Object.keys(ref.versions).length?ref.versions:loadedData.versions;await api.setRef(id,{id,url:urlParseResult.url,...loadedData,...versions?{versions}:{},type:loadedData.storyIndex?"lazy":"auto-inject"})},getRefs:()=>{let{refs:refs22={}}=store22.getState();return refs22},setRef:(id,{storyIndex,setStoriesData,...rest},ready=!1)=>{if(singleStory)return;let{storyMapper=defaultStoryMapper}=provider.getConfig(),ref=api.getRefs()[id],index2;setStoriesData?index2=transformSetStoriesStoryDataToStoriesHash(map(setStoriesData,ref,{storyMapper}),{provider,docsOptions,filters:{},status:{}}):storyIndex&&(index2=transformStoryIndexToStoriesHash(storyIndex,{provider,docsOptions,filters:{},status:{}})),index2&&(index2=addRefIds(index2,ref)),api.updateRef(id,{index:index2,...rest})},updateRef:(id,data)=>{let{[id]:ref,...updated}=api.getRefs();updated[id]={...ref,...data};let ordered=Object.keys(initialState).reduce((obj,key2)=>(obj[key2]=updated[key2],obj),{});store22.setState({refs:ordered})}},refs2=!singleStory&&scope.REFS||{},initialState=refs2;return runCheck&&Object.entries(refs2).forEach(([id,ref])=>{api.checkRef({...ref,stories:{}})}),{api,state:{refs:initialState}}},getEventMetadata=(context,fullAPI)=>{let{source:source2,refId,type}=context,[sourceType,sourceLocation]=getSourceType(source2,refId),ref=refId&&fullAPI.getRefs()[refId]?fullAPI.getRefs()[refId]:fullAPI.findRef(sourceLocation),meta={source:source2,sourceType,sourceLocation,refId,ref,type};switch(!0){case typeof refId=="string":case sourceType==="local":case sourceType==="external":return meta;default:return logger.warn(`Received a ${type} frame that was not configured as a ref`),null}},{FEATURES,fetch:fetch2}=scope,STORY_INDEX_PATH="./index.json",removedOptions=["enableShortcuts","theme","showRoots"];function removeRemovedOptions(options3){if(!options3||typeof options3=="string")return options3;let result2={...options3};return removedOptions.forEach(option=>{option in result2&&delete result2[option]}),result2}var init7=({fullAPI,store:store22,navigate,provider,storyId:initialStoryId,viewMode:initialViewMode,docsOptions={}})=>{let api={storyId:N,getData:(storyId,refId)=>{let result2=api.resolveStory(storyId,refId);if(result2?.type==="story"||result2?.type==="docs")return result2},isPrepared:(storyId,refId)=>{let data=api.getData(storyId,refId);return data.type==="story"?data.prepared:!0},resolveStory:(storyId,refId)=>{let{refs:refs2,index:index2}=store22.getState();return refId&&!refs2[refId]?null:refId?refs2[refId].index?refs2[refId].index[storyId]:void 0:index2?index2[storyId]:void 0},getCurrentStoryData:()=>{let{storyId,refId}=store22.getState();return api.getData(storyId,refId)},getParameters:(storyIdOrCombo,parameterName)=>{let{storyId,refId}=typeof storyIdOrCombo=="string"?{storyId:storyIdOrCombo,refId:void 0}:storyIdOrCombo,data=api.getData(storyId,refId);if(["story","docs"].includes(data?.type)){let{parameters}=data;if(parameters)return parameterName?parameters[parameterName]:parameters}return null},getCurrentParameter:parameterName=>{let{storyId,refId}=store22.getState();return api.getParameters({storyId,refId},parameterName)||void 0},jumpToComponent:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState();if(!api.getData(storyId,refId))return;let hash=refId?refs2[refId].index||{}:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!0);result2&&api.selectStory(result2,void 0,{ref:refId})},jumpToStory:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState(),story=api.getData(storyId,refId);if(!story)return;let hash=story.refId?refs2[story.refId].index:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!1);result2&&api.selectStory(result2,void 0,{ref:refId})},selectFirstStory:()=>{let{index:index2}=store22.getState(),firstStory=Object.keys(index2).find(id=>index2[id].type==="story");if(firstStory){api.selectStory(firstStory);return}navigate("/")},selectStory:(titleOrId=void 0,name2=void 0,options3={})=>{let{ref}=options3,{storyId,index:index2,refs:refs2}=store22.getState(),hash=ref?refs2[ref].index:index2,kindSlug=storyId?.split("--",2)[0];if(name2)if(titleOrId){let id=ref?`${ref}_${N(titleOrId,name2)}`:N(titleOrId,name2);if(hash[id])api.selectStory(id,void 0,options3);else{let entry=hash[L(titleOrId)];if(entry?.type==="component"){let foundId=entry.children.find(childId=>hash[childId].name===name2);foundId&&api.selectStory(foundId,void 0,options3)}}}else{let id=N(kindSlug,name2);api.selectStory(id,void 0,options3)}else{let entry=titleOrId?hash[titleOrId]||hash[L(titleOrId)]:hash[kindSlug];if(!entry)throw new Error(`Unknown id or title: '${titleOrId}'`);store22.setState({settings:{...store22.getState().settings,lastTrackedStoryId:entry.id}});let leafEntry=api.findLeafEntry(hash,entry.id),fullId=leafEntry.refId?`${leafEntry.refId}_${leafEntry.id}`:leafEntry.id;navigate(`/${leafEntry.type}/${fullId}`)}},findLeafEntry(index2,storyId){let entry=index2[storyId];if(entry.type==="docs"||entry.type==="story")return entry;let childStoryId=entry.children[0];return api.findLeafEntry(index2,childStoryId)},findLeafStoryId(index2,storyId){return api.findLeafEntry(index2,storyId)?.id},findSiblingStoryId(storyId,index2,direction,toSiblingGroup){if(toSiblingGroup){let lookupList2=getComponentLookupList(index2),position2=lookupList2.findIndex(i3=>i3.includes(storyId));return position2===lookupList2.length-1&&direction>0||position2===0&&direction<0?void 0:lookupList2[position2+direction]?lookupList2[position2+direction][0]:void 0}let lookupList=getStoriesLookupList(index2),position=lookupList.indexOf(storyId);if(!(position===lookupList.length-1&&direction>0)&&!(position===0&&direction<0))return lookupList[position+direction]},updateStoryArgs:(story,updatedArgs)=>{let{id:storyId,refId}=story;provider.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs,options:{target:refId}})},resetStoryArgs:(story,argNames)=>{let{id:storyId,refId}=story;provider.channel.emit(RESET_STORY_ARGS,{storyId,argNames,options:{target:refId}})},fetchIndex:async()=>{try{let result2=await fetch2(STORY_INDEX_PATH);if(result2.status!==200)throw new Error(await result2.text());let storyIndex=await result2.json();if(storyIndex.v<3){logger.warn(`Skipping story index with version v${storyIndex.v}, awaiting SET_STORIES.`);return}await api.setIndex(storyIndex)}catch(err){await store22.setState({indexError:err})}},setIndex:async input=>{let{index:oldHash,status,filters}=store22.getState(),newHash=transformStoryIndexToStoriesHash(input,{provider,docsOptions,status,filters}),output=addPreparedStories(newHash,oldHash);await store22.setState({internal_index:input,index:output,indexError:void 0})},updateStory:async(storyId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[storyId]={...index2[storyId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[storyId]={...index2[storyId],...update2},await store22.setState({index:index2})}},updateDocs:async(docsId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[docsId]={...index2[docsId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[docsId]={...index2[docsId],...update2},await store22.setState({index:index2})}},setPreviewInitialized:async ref=>{ref?fullAPI.updateRef(ref.id,{previewInitialized:!0}):store22.setState({previewInitialized:!0})},experimental_updateStatus:async(id,input)=>{let{status,internal_index:index2}=store22.getState(),newStatus={...status},update2=typeof input=="function"?input(status):input;Object.keys(update2).length!==0&&(Object.entries(update2).forEach(([storyId,value2])=>{newStatus[storyId]={...newStatus[storyId]||{}},value2===null?delete newStatus[storyId][id]:newStatus[storyId][id]=value2,Object.keys(newStatus[storyId]).length===0&&delete newStatus[storyId]}),await store22.setState({status:newStatus},{persistence:"session"}),await api.setIndex(index2))},experimental_setFilter:async(id,filterFunction)=>{let{internal_index:index2}=store22.getState();await store22.setState({filters:{...store22.getState().filters,[id]:filterFunction}}),await api.setIndex(index2)}};provider.channel.on(STORY_SPECIFIED,function({storyId,viewMode}){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let state=store22.getState(),isCanvasRoute=state.path==="/"||state.viewMode==="story"||state.viewMode==="docs",stateHasSelection=state.viewMode&&state.storyId,stateSelectionDifferent=state.viewMode!==viewMode||state.storyId!==storyId,{type}=state.index[state.storyId]||{};isCanvasRoute&&(stateHasSelection&&stateSelectionDifferent&&!(type==="root"||type==="component"||type==="group")?provider.channel.emit(SET_CURRENT_STORY,{storyId:state.storyId,viewMode:state.viewMode}):stateSelectionDifferent&&navigate(`/${viewMode}/${storyId}`))}}),provider.channel.on(CURRENT_STORY_WAS_SET,function(){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_CHANGED,function(){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let options3=api.getCurrentParameter("options");options3&&fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(STORY_PREPARED,function({id,...update2}){let{ref,sourceType}=getEventMetadata(this,fullAPI);if(api.updateStory(id,{...update2,prepared:!0},ref),!ref&&!store22.getState().hasCalledSetOptions){let{options:options3}=update2.parameters;fullAPI.setOptions(removeRemovedOptions(options3)),store22.setState({hasCalledSetOptions:!0})}if(sourceType==="local"){let{storyId,index:index2,refId}=store22.getState(),toBePreloaded=Array.from(new Set([api.findSiblingStoryId(storyId,index2,1,!0),api.findSiblingStoryId(storyId,index2,-1,!0)])).filter(Boolean);provider.channel.emit(PRELOAD_ENTRIES,{ids:toBePreloaded,options:{target:refId}})}}),provider.channel.on(DOCS_PREPARED,function({id,...update2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(id,{...update2,prepared:!0},ref)}),provider.channel.on(SET_INDEX,function(index2){let{ref}=getEventMetadata(this,fullAPI);if(ref)fullAPI.setRef(ref.id,{...ref,storyIndex:index2},!0);else{api.setIndex(index2);let options3=api.getCurrentParameter("options");fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(SET_STORIES,function(data){let{ref}=getEventMetadata(this,fullAPI),setStoriesData=data.v?denormalizeStoryParameters(data):data.stories;if(ref)fullAPI.setRef(ref.id,{...ref,setStoriesData},!0);else throw new Error("Cannot call SET_STORIES for local frame")}),provider.channel.on(SELECT_STORY,function({kind,title=kind,story,name:name2=story,storyId,...rest}){let{ref}=getEventMetadata(this,fullAPI);ref?fullAPI.selectStory(storyId||title,name2,{...rest,ref:ref.id}):fullAPI.selectStory(storyId||title,name2,rest)}),provider.channel.on(STORY_ARGS_UPDATED,function({storyId,args:args2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(storyId,{args:args2},ref)}),provider.channel.on(CONFIG_ERROR,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_MISSING,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(SET_CONFIG,()=>{let config2=provider.getConfig();config2?.sidebar?.filters&&store22.setState({filters:{...store22.getState().filters,...config2?.sidebar?.filters}})});let config=provider.getConfig();return{api,state:{storyId:initialStoryId,viewMode:initialViewMode,hasCalledSetOptions:!1,previewInitialized:!1,status:{},filters:config?.sidebar?.filters||{}},init:async()=>{FEATURES?.storyStoreV7&&(provider.channel.on(STORY_INDEX_INVALIDATED,()=>api.fetchIndex()),await api.fetchIndex())}}},layout_exports={};__export2(layout_exports,{ActiveTabs:()=>ActiveTabs,focusableUIElements:()=>focusableUIElements,init:()=>init8});var{document:document3}=scope,ActiveTabs={SIDEBAR:"sidebar",CANVAS:"canvas",ADDONS:"addons"},defaultState={ui:{enableShortcuts:!0},layout:{initialActive:ActiveTabs.CANVAS,showToolbar:!0,isFullscreen:!1,showPanel:!0,showNav:!0,panelPosition:"bottom",showTabs:!0},selectedPanel:void 0,theme:create()},focusableUIElements={storySearchField:"storybook-explorer-searchfield",storyListMenu:"storybook-explorer-menu",storyPanelRoot:"storybook-panel-root"},init8=({store:store22,provider,singleStory,fullAPI})=>{let api={toggleFullscreen(toggled){return store22.setState(state=>{let{showNav}=state.layout,value2=typeof toggled=="boolean"?toggled:!state.layout.isFullscreen,shouldShowNav=showNav===!1&&value2===!1;return{layout:{...state.layout,isFullscreen:value2,showNav:!singleStory&&shouldShowNav?!0:showNav}}},{persistence:"session"})},togglePanel(toggled){return store22.setState(state=>{let{showNav,isFullscreen}=state.layout,value2=typeof toggled<"u"?toggled:!state.layout.showPanel,shouldToggleFullScreen=showNav===!1&&value2===!1;return{layout:{...state.layout,showPanel:value2,isFullscreen:shouldToggleFullScreen?!0:isFullscreen}}},{persistence:"session"})},togglePanelPosition(position){return typeof position<"u"?store22.setState(state=>({layout:{...state.layout,panelPosition:position}}),{persistence:"permanent"}):store22.setState(state=>({layout:{...state.layout,panelPosition:state.layout.panelPosition==="right"?"bottom":"right"}}),{persistence:"permanent"})},toggleNav(toggled){return store22.setState(state=>{if(singleStory)return{layout:state.layout};let{showPanel,isFullscreen}=state.layout,showNav=typeof toggled<"u"?toggled:!state.layout.showNav,shouldToggleFullScreen=showPanel===!1&&showNav===!1;return{layout:{...state.layout,showNav,isFullscreen:shouldToggleFullScreen?!0:!showNav&&isFullscreen}}},{persistence:"session"})},toggleToolbar(toggled){return store22.setState(state=>{let value2=typeof toggled<"u"?toggled:!state.layout.showToolbar;return{layout:{...state.layout,showToolbar:value2}}},{persistence:"session"})},resetLayout(){return store22.setState(state=>({layout:{...state.layout,showNav:!1,showPanel:!1,isFullscreen:!1}}),{persistence:"session"})},focusOnUIElement(elementId,select){if(!elementId)return;let element=document3.getElementById(elementId);element&&(element.focus(),select&&element.select())},getInitialOptions(){let{theme,selectedPanel,...options3}=provider.getConfig();return{...defaultState,layout:{...defaultState.layout,...(0,import_pick.default)(options3,Object.keys(defaultState.layout)),...singleStory&&{showNav:!1}},ui:{...defaultState.ui,...(0,import_pick.default)(options3,Object.keys(defaultState.ui))},selectedPanel:selectedPanel||defaultState.selectedPanel,theme:theme||defaultState.theme}},setOptions:options3=>{let{layout,ui,selectedPanel,theme}=store22.getState();if(options3){let updatedLayout={...layout,...options3.layout,...(0,import_pick.default)(options3,Object.keys(layout)),...singleStory&&{showNav:!1}},updatedUi={...ui,...options3.ui,...(0,import_pick.default)(options3,Object.keys(ui))},updatedTheme={...theme,...options3.theme},modification={};dequal2(ui,updatedUi)||(modification.ui=updatedUi),dequal2(layout,updatedLayout)||(modification.layout=updatedLayout),options3.selectedPanel&&!dequal2(selectedPanel,options3.selectedPanel)&&(modification.selectedPanel=options3.selectedPanel),Object.keys(modification).length&&store22.setState(modification,{persistence:"permanent"}),dequal2(theme,updatedTheme)||store22.setState({theme:updatedTheme})}}},persisted=(0,import_pick.default)(store22.getState(),"layout","selectedPanel");return{api,state:merge_default(api.getInitialOptions(),persisted),init:()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted)),provider.channel.on(SET_CONFIG,()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted))})}}},shortcuts_exports={};__export2(shortcuts_exports,{controlOrMetaKey:()=>controlOrMetaKey2,defaultShortcuts:()=>defaultShortcuts,init:()=>init9,isMacLike:()=>isMacLike2,keys:()=>keys});var{navigator:navigator2}=scope,isMacLike=()=>navigator2&&navigator2.platform?!!navigator2.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaSymbol=()=>isMacLike()?"\u2318":"ctrl",controlOrMetaKey=()=>isMacLike()?"meta":"control",optionOrAltSymbol=()=>isMacLike()?"\u2325":"alt",isShortcutTaken=(arr1,arr2)=>JSON.stringify(arr1)===JSON.stringify(arr2),eventToShortcut=e3=>{if(["Meta","Alt","Control","Shift"].includes(e3.key))return null;let keys2=[];if(e3.altKey&&keys2.push("alt"),e3.ctrlKey&&keys2.push("control"),e3.metaKey&&keys2.push("meta"),e3.shiftKey&&keys2.push("shift"),e3.key&&e3.key.length===1&&e3.key!==" "){let key2=e3.key.toUpperCase(),code=e3.code?.toUpperCase().replace("KEY","").replace("DIGIT","");code&&code.length===1&&code!==key2?keys2.push([key2,code]):keys2.push(key2)}return e3.key===" "&&keys2.push("space"),e3.key==="Escape"&&keys2.push("escape"),e3.key==="ArrowRight"&&keys2.push("ArrowRight"),e3.key==="ArrowDown"&&keys2.push("ArrowDown"),e3.key==="ArrowUp"&&keys2.push("ArrowUp"),e3.key==="ArrowLeft"&&keys2.push("ArrowLeft"),keys2.length>0?keys2:null},shortcutMatchesShortcut=(inputShortcut,shortcut)=>!inputShortcut||!shortcut||(inputShortcut.join("").startsWith("shift/")&&inputShortcut.shift(),inputShortcut.length!==shortcut.length)?!1:!inputShortcut.find((input,i3)=>Array.isArray(input)?!input.includes(shortcut[i3]):input!==shortcut[i3]),eventMatchesShortcut=(e3,shortcut)=>shortcutMatchesShortcut(eventToShortcut(e3),shortcut),keyToSymbol=key2=>key2==="alt"?optionOrAltSymbol():key2==="control"?"\u2303":key2==="meta"?"\u2318":key2==="shift"?"\u21E7\u200B":key2==="Enter"||key2==="Backspace"||key2==="Esc"||key2==="escape"?"":key2===" "?"SPACE":key2==="ArrowUp"?"\u2191":key2==="ArrowDown"?"\u2193":key2==="ArrowLeft"?"\u2190":key2==="ArrowRight"?"\u2192":key2.toUpperCase(),shortcutToHumanString=shortcut=>shortcut.map(keyToSymbol).join(" "),{navigator:navigator22,document:document23}=scope,isMacLike2=()=>navigator22&&navigator22.platform?!!navigator22.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaKey2=()=>isMacLike2()?"meta":"control";function keys(o2){return Object.keys(o2)}var defaultShortcuts=Object.freeze({fullScreen:["F"],togglePanel:["A"],panelPosition:["D"],toggleNav:["S"],toolbar:["T"],search:["/"],focusNav:["1"],focusIframe:["2"],focusPanel:["3"],prevComponent:["alt","ArrowUp"],nextComponent:["alt","ArrowDown"],prevStory:["alt","ArrowLeft"],nextStory:["alt","ArrowRight"],shortcutsPage:[controlOrMetaKey2(),"shift",","],aboutPage:[","],escape:["escape"],collapseAll:[controlOrMetaKey2(),"shift","ArrowUp"],expandAll:[controlOrMetaKey2(),"shift","ArrowDown"],remount:["alt","R"]}),addonsShortcuts={};function focusInInput(event){let target=event.target;return/input|textarea/i.test(target.tagName)||target.getAttribute("contenteditable")!==null}var init9=({store:store22,fullAPI,provider})=>{let api={getShortcutKeys(){return store22.getState().shortcuts},getDefaultShortcuts(){return{...defaultShortcuts,...api.getAddonsShortcutDefaults()}},getAddonsShortcuts(){return addonsShortcuts},getAddonsShortcutLabels(){let labels={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{label}])=>{labels[actionName]=label}),labels},getAddonsShortcutDefaults(){let defaults={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{defaultShortcut}])=>{defaults[actionName]=defaultShortcut}),defaults},async setShortcuts(shortcuts){return await store22.setState({shortcuts},{persistence:"permanent"}),shortcuts},async restoreAllDefaultShortcuts(){return api.setShortcuts(api.getDefaultShortcuts())},async setShortcut(action,value2){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[action]:value2}),value2},async setAddonShortcut(addon,shortcut){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[`${addon}-${shortcut.actionName}`]:shortcut.defaultShortcut}),addonsShortcuts[`${addon}-${shortcut.actionName}`]=shortcut,shortcut},async restoreDefaultShortcut(action){let defaultShortcut=api.getDefaultShortcuts()[action];return api.setShortcut(action,defaultShortcut)},handleKeydownEvent(event){let shortcut=eventToShortcut(event),shortcuts=api.getShortcutKeys(),matchedFeature=keys(shortcuts).find(feature=>shortcutMatchesShortcut(shortcut,shortcuts[feature]));matchedFeature&&api.handleShortcutFeature(matchedFeature,event)},handleShortcutFeature(feature,event){let{layout:{isFullscreen,showNav,showPanel},ui:{enableShortcuts},storyId}=store22.getState();if(enableShortcuts)switch(event?.preventDefault&&event.preventDefault(),feature){case"escape":{isFullscreen?fullAPI.toggleFullscreen():showNav||fullAPI.toggleNav();break}case"focusNav":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),fullAPI.focusOnUIElement(focusableUIElements.storyListMenu);break}case"search":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),setTimeout(()=>{fullAPI.focusOnUIElement(focusableUIElements.storySearchField,!0)},0);break}case"focusIframe":{let element=document23.getElementById("storybook-preview-iframe");if(element)try{element.contentWindow.focus()}catch{}break}case"focusPanel":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.focusOnUIElement(focusableUIElements.storyPanelRoot);break}case"nextStory":{fullAPI.jumpToStory(1);break}case"prevStory":{fullAPI.jumpToStory(-1);break}case"nextComponent":{fullAPI.jumpToComponent(1);break}case"prevComponent":{fullAPI.jumpToComponent(-1);break}case"fullScreen":{fullAPI.toggleFullscreen();break}case"togglePanel":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.togglePanel();break}case"toggleNav":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.toggleNav();break}case"toolbar":{fullAPI.toggleToolbar();break}case"panelPosition":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.togglePanelPosition();break}case"aboutPage":{fullAPI.navigate("/settings/about");break}case"shortcutsPage":{fullAPI.navigate("/settings/shortcuts");break}case"collapseAll":{fullAPI.collapseAll();break}case"expandAll":{fullAPI.expandAll();break}case"remount":{fullAPI.emit(FORCE_REMOUNT,{storyId});break}default:addonsShortcuts[feature].action();break}}},{shortcuts:persistedShortcuts=defaultShortcuts}=store22.getState(),state={shortcuts:keys(defaultShortcuts).reduce((acc,key2)=>({...acc,[key2]:persistedShortcuts[key2]||defaultShortcuts[key2]}),defaultShortcuts)};return{api,state,init:()=>{document23.addEventListener("keydown",event=>{focusInInput(event)||api.handleKeydownEvent(event)}),provider.channel.on(PREVIEW_KEYDOWN,data=>{api.handleKeydownEvent(data.event)})}}},url_exports={};__export2(url_exports,{init:()=>init10});var{window:globalWindow}=scope,parseBoolean=value2=>{if(value2==="true"||value2==="1")return!0;if(value2==="false"||value2==="0")return!1},prevParams,initialUrlSupport=({state:{location:location22,path,viewMode,storyId:storyIdFromUrl},singleStory})=>{let{full,panel,nav,shortcuts,addonPanel,tabs,path:queryPath,...otherParams}=queryFromLocation(location22),layout={isFullscreen:parseBoolean(full),showNav:!singleStory&&parseBoolean(nav),showPanel:parseBoolean(panel),panelPosition:["right","bottom"].includes(panel)?panel:void 0,showTabs:parseBoolean(tabs)},ui={enableShortcuts:parseBoolean(shortcuts)},selectedPanel=addonPanel||void 0,storyId=storyIdFromUrl,customQueryParams=dequal2(prevParams,otherParams)?prevParams:otherParams;return prevParams=customQueryParams,{viewMode,layout,ui,selectedPanel,location:location22,path,customQueryParams,storyId}},init10=moduleArgs=>{let{store:store22,navigate,provider,fullAPI}=moduleArgs,navigateTo=(path,queryParams={},options3={})=>{let params=Object.entries(queryParams).filter(([,v2])=>v2).sort(([a2],[b3])=>a2<b3?-1:1).map(([k2,v2])=>`${k2}=${v2}`),to=[path,...params].join("&");return navigate(to,options3)},api={getQueryParam(key2){let{customQueryParams}=store22.getState();return customQueryParams?customQueryParams[key2]:void 0},getUrlState(){let{path,customQueryParams,storyId,url,viewMode}=store22.getState();return{path,queryParams:customQueryParams,storyId,url,viewMode}},setQueryParams(input){let{customQueryParams}=store22.getState(),queryParams={},update2={...customQueryParams,...Object.entries(input).reduce((acc,[key2,value2])=>(value2!==null&&(acc[key2]=value2),acc),queryParams)};dequal2(customQueryParams,update2)||(store22.setState({customQueryParams:update2}),provider.channel.emit(UPDATE_QUERY_PARAMS,update2))},navigateUrl(url,options3){navigate(url,{plain:!0,...options3})}},updateArgsParam=()=>{let{path,queryParams,viewMode}=api.getUrlState();if(viewMode!=="story")return;let currentStory=fullAPI.getCurrentStoryData();if(currentStory?.type!=="story")return;let{args:args2,initialArgs}=currentStory,argsString=buildArgsParam(initialArgs,args2);navigateTo(path,{...queryParams,args:argsString},{replace:!0}),api.setQueryParams({args:argsString})};provider.channel.on(SET_CURRENT_STORY,()=>updateArgsParam());let handleOrId;return provider.channel.on(STORY_ARGS_UPDATED,()=>{"requestIdleCallback"in globalWindow?(handleOrId&&globalWindow.cancelIdleCallback(handleOrId),handleOrId=globalWindow.requestIdleCallback(updateArgsParam,{timeout:1e3})):(handleOrId&&clearTimeout(handleOrId),setTimeout(updateArgsParam,100))}),provider.channel.on(GLOBALS_UPDATED,({globals,initialGlobals})=>{let{path,queryParams}=api.getUrlState(),globalsString=buildArgsParam(initialGlobals,globals);navigateTo(path,{...queryParams,globals:globalsString},{replace:!0}),api.setQueryParams({globals:globalsString})}),provider.channel.on(NAVIGATE_URL,(url,options3)=>{api.navigateUrl(url,options3)}),{api,state:initialUrlSupport(moduleArgs)}},versions_exports={};__export2(versions_exports,{init:()=>init11});var version="7.6.0-alpha.4",{VERSIONCHECK}=scope,getVersionCheckData=(0,import_memoizerific3.default)(1)(()=>{try{return{...JSON.parse(VERSIONCHECK).data||{}}}catch{return{}}}),init11=({store:store22})=>{let{dismissedVersionNotification}=store22.getState(),state={versions:{current:{version},...getVersionCheckData()},dismissedVersionNotification},api={getCurrentVersion:()=>{let{versions:{current}}=store22.getState();return current},getLatestVersion:()=>{let{versions:{latest,next,current}}=store22.getState();return current&&import_semver.default.prerelease(current.version)&&next?latest&&import_semver.default.gt(latest.version,next.version)?latest:next:latest},versionUpdateAvailable:()=>{let latest=api.getLatestVersion(),current=api.getCurrentVersion();if(latest){if(!latest.version||!current.version)return!0;let actualCurrent=import_semver.default.prerelease(current.version)?`${import_semver.default.major(current.version)}.${import_semver.default.minor(current.version)}.${import_semver.default.patch(current.version)}`:current.version,diff=import_semver.default.diff(actualCurrent,latest.version);return import_semver.default.gt(latest.version,actualCurrent)&&diff!=="patch"&&!diff.includes("pre")}return!1}};return{init:async()=>{let{versions={}}=store22.getState(),{latest,next}=getVersionCheckData();await store22.setState({versions:{...versions,latest,next}})},state,api}},whatsnew_exports={};__export2(whatsnew_exports,{init:()=>init12});var WHATS_NEW_NOTIFICATION_ID="whats-new",init12=({fullAPI,store:store22,provider})=>{let state={whatsNewData:void 0};function setWhatsNewState(newState){store22.setState({whatsNewData:newState}),state.whatsNewData=newState}let api={isWhatsNewUnread(){return state.whatsNewData?.status==="SUCCESS"&&!state.whatsNewData.postIsRead},whatsNewHasBeenRead(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewCache({lastReadPost:state.whatsNewData.url}),setWhatsNewState({...state.whatsNewData,postIsRead:!0}),fullAPI.clearNotification(WHATS_NEW_NOTIFICATION_ID))},toggleWhatsNewNotifications(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewState({...state.whatsNewData,disableWhatsNewNotifications:!state.whatsNewData.disableWhatsNewNotifications}),provider.channel.emit(TOGGLE_WHATS_NEW_NOTIFICATIONS,{disableWhatsNewNotifications:state.whatsNewData.disableWhatsNewNotifications}))}};function getLatestWhatsNewPost(){return provider.channel.emit(REQUEST_WHATS_NEW_DATA),new Promise(resolve=>provider.channel.once(RESULT_WHATS_NEW_DATA,({data})=>resolve(data)))}function setWhatsNewCache(cache){provider.channel.emit(SET_WHATS_NEW_CACHE,cache)}return{init:async()=>{if(scope.CONFIG_TYPE!=="DEVELOPMENT")return;let whatsNewData=await getLatestWhatsNewPost();setWhatsNewState(whatsNewData);let urlState=fullAPI.getUrlState();!(urlState?.path==="/onboarding"||urlState.queryParams?.onboarding==="true")&&whatsNewData.status==="SUCCESS"&&!whatsNewData.disableWhatsNewNotifications&&whatsNewData.showNotification&&fullAPI.addNotification({id:WHATS_NEW_NOTIFICATION_ID,link:"/settings/whats-new",content:{headline:whatsNewData.excerpt,subHeadline:"Click to learn what's new in Storybook"},icon:{name:"hearthollow"},onClear({dismissed}){dismissed&&setWhatsNewCache({lastDismissedPost:whatsNewData.url})}})},state,api}},globals_exports={};__export2(globals_exports,{init:()=>init13});var init13=({store:store22,fullAPI,provider})=>{let api={getGlobals(){return store22.getState().globals},getGlobalTypes(){return store22.getState().globalTypes},updateGlobals(newGlobals){provider.channel.emit(UPDATE_GLOBALS,{globals:newGlobals,options:{target:"storybook-preview-iframe"}})}},state={globals:{},globalTypes:{}},updateGlobals=globals=>{let currentGlobals=store22.getState()?.globals;dequal2(globals,currentGlobals)||store22.setState({globals})};return provider.channel.on(GLOBALS_UPDATED,function({globals}){let{ref}=getEventMetadata(this,fullAPI);ref?logger.warn("received a GLOBALS_UPDATED from a non-local ref. This is not currently supported."):updateGlobals(globals)}),provider.channel.on(SET_GLOBALS,function({globals,globalTypes}){let{ref}=getEventMetadata(this,fullAPI),currentGlobals=store22.getState()?.globals;ref?Object.keys(globals).length>0&&logger.warn("received globals from a non-local ref. This is not currently supported."):store22.setState({globals,globalTypes}),currentGlobals&&Object.keys(currentGlobals).length!==0&&!dequal2(globals,currentGlobals)&&api.updateGlobals(currentGlobals)}),{api,state}};function mockChannel(){let transport={setHandler:()=>{},send:()=>{}};return new Channel({transport})}var AddonStore=class{constructor(){this.loaders={},this.elements={},this.config={},this.getChannel=()=>(this.channel||this.setChannel(mockChannel()),this.channel),this.getServerChannel=()=>{if(!this.serverChannel)throw new Error("Accessing non-existent serverChannel");return this.serverChannel},this.ready=()=>this.promise,this.hasChannel=()=>!!this.channel,this.hasServerChannel=()=>!!this.serverChannel,this.setChannel=channel=>{this.channel=channel,this.resolve()},this.setServerChannel=channel=>{this.serverChannel=channel},this.addPanel=(id,options3)=>{this.add(id,{type:Addon_TypesEnum.PANEL,...options3})},this.setConfig=value2=>{Object.assign(this.config,value2),this.hasChannel()?this.getChannel().emit(SET_CONFIG,this.config):this.ready().then(channel=>{channel.emit(SET_CONFIG,this.config)})},this.getConfig=()=>this.config,this.register=(id,callback)=>{this.loaders[id]&&logger.warn(`${id} was loaded twice, this could have bad side-effects`),this.loaders[id]=callback},this.loadAddons=api=>{Object.values(this.loaders).forEach(value2=>value2(api))},this.promise=new Promise(res=>{this.resolve=()=>res(this.getChannel())})}getElements(type){return this.elements[type]||(this.elements[type]={}),this.elements[type]}add(id,addon){let{type}=addon,collection=this.getElements(type);collection[id]={id,...addon}}},KEY2="__STORYBOOK_ADDONS_MANAGER";function getAddonsStore(){return scope[KEY2]||(scope[KEY2]=new AddonStore),scope[KEY2]}var addons=getAddonsStore(),{ActiveTabs:ActiveTabs2}=layout_exports,ManagerContext=createContext2({api:void 0,state:initial_state_default({})}),combineParameters=(...parameterSets)=>(0,import_mergeWith.default)({},...parameterSets,(objValue,srcValue)=>{if(Array.isArray(srcValue))return srcValue}),ManagerProvider=class extends import_react2.Component{constructor(props){super(props),this.api={},this.initModules=()=>{this.modules.forEach(module=>{"init"in module&&module.init()})};let{location:location22,path,refId,viewMode=props.docsOptions.docsMode?"docs":props.viewMode,singleStory,storyId,docsOptions,navigate}=props,store22=new Store({getState:()=>this.state,setState:(stateChange,callback)=>this.setState(stateChange,callback)}),routeData={location:location22,path,viewMode,singleStory,storyId,refId},optionsData={docsOptions};this.state=store22.getInitialState(initial_state_default({...routeData,...optionsData}));let apiData={navigate,store:store22,provider:props.provider};this.modules=[provider_exports,channel_exports,addons_exports,layout_exports,notifications_exports,settings_exports,shortcuts_exports,stories_exports,refs_exports,globals_exports,url_exports,versions_exports,whatsnew_exports].map(m3=>m3.init({...routeData,...optionsData,...apiData,state:this.state,fullAPI:this.api}));let state=initial_state_default(this.state,...this.modules.map(m3=>m3.state)),api=Object.assign(this.api,{navigate},...this.modules.map(m3=>m3.api));this.state=state,this.api=api}static getDerivedStateFromProps(props,state){return state.path!==props.path?{...state,location:props.location,path:props.path,refId:props.refId,viewMode:props.viewMode,storyId:props.storyId}:null}shouldComponentUpdate(nextProps,nextState){let prevState=this.state,prevProps=this.props;return prevState!==nextState||prevProps.path!==nextProps.path}render(){let{children}=this.props,value2={state:this.state,api:this.api};return import_react2.default.createElement(EffectOnMount,{effect:this.initModules},import_react2.default.createElement(ManagerContext.Provider,{value:value2},import_react2.default.createElement(ManagerConsumer,null,children)))}};ManagerProvider.displayName="Manager";var EffectOnMount=({children,effect})=>(import_react2.default.useEffect(effect,[]),children),defaultFilter=c3=>c3;function ManagerConsumer({filter=defaultFilter,children}){let c3=(0,import_react2.useContext)(ManagerContext),renderer=(0,import_react2.useRef)(children),filterer=(0,import_react2.useRef)(filter);if(typeof renderer.current!="function")return import_react2.default.createElement(import_react2.Fragment,null,renderer.current);let data=filterer.current(c3),l2=(0,import_react2.useMemo)(()=>[...Object.entries(data).reduce((acc,keyval)=>acc.concat(keyval),[])],[c3.state]);return(0,import_react2.useMemo)(()=>{let Child=renderer.current;return import_react2.default.createElement(Child,{...data})},l2)}function useStorybookState(){let{state}=(0,import_react2.useContext)(ManagerContext);return{...state,get storiesHash(){return deprecate("state.storiesHash is deprecated, please use state.index"),this.index||{}},get storiesConfigured(){return deprecate("state.storiesConfigured is deprecated, please use state.previewInitialized"),this.previewInitialized},get storiesFailed(){return deprecate("state.storiesFailed is deprecated, please use state.indexError"),this.indexError}}}function useStorybookApi(){let{api}=(0,import_react2.useContext)(ManagerContext);return api}function orDefault(fromStore,defaultState2){return typeof fromStore>"u"?defaultState2:fromStore}var useChannel=(eventMap,deps=[])=>{let api=useStorybookApi();return(0,import_react2.useEffect)(()=>(Object.entries(eventMap).forEach(([type,listener])=>api.on(type,listener)),()=>{Object.entries(eventMap).forEach(([type,listener])=>api.off(type,listener))}),deps),api.emit};function useStoryPrepared(storyId){return useStorybookApi().isPrepared(storyId)}function useParameter(parameterKey,defaultValue){let result2=useStorybookApi().getCurrentParameter(parameterKey);return orDefault(result2,defaultValue)}globalThis.STORYBOOK_ADDON_STATE={};var{STORYBOOK_ADDON_STATE}=globalThis;function useSharedState(stateId,defaultState2){let api=useStorybookApi(),existingState=api.getAddonState(stateId)||STORYBOOK_ADDON_STATE[stateId],state=orDefault(existingState,STORYBOOK_ADDON_STATE[stateId]?STORYBOOK_ADDON_STATE[stateId]:defaultState2),quicksync=!1;state===defaultState2&&defaultState2!==void 0&&(STORYBOOK_ADDON_STATE[stateId]=defaultState2,quicksync=!0),(0,import_react2.useEffect)(()=>{quicksync&&api.setAddonState(stateId,defaultState2)},[quicksync]);let setState=async(s2,options3)=>{let result2=await api.setAddonState(stateId,s2,options3);return STORYBOOK_ADDON_STATE[stateId]=result2,result2},allListeners=(0,import_react2.useMemo)(()=>{let stateChangeHandlers={[`${SHARED_STATE_CHANGED}-client-${stateId}`]:setState,[`${SHARED_STATE_SET}-client-${stateId}`]:setState},stateInitializationHandlers={[SET_STORIES]:async()=>{let currentState=api.getAddonState(stateId);currentState?(STORYBOOK_ADDON_STATE[stateId]=currentState,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)):STORYBOOK_ADDON_STATE[stateId]?(await setState(STORYBOOK_ADDON_STATE[stateId]),api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,STORYBOOK_ADDON_STATE[stateId])):defaultState2!==void 0&&(await setState(defaultState2),STORYBOOK_ADDON_STATE[stateId]=defaultState2,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,defaultState2))},[STORY_CHANGED]:()=>{let currentState=api.getAddonState(stateId);currentState!==void 0&&api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)}};return{...stateChangeHandlers,...stateInitializationHandlers}},[stateId]),emit=useChannel(allListeners);return[state,async(newStateOrMerger,options3)=>{let result2=await setState(newStateOrMerger,options3);emit(`${SHARED_STATE_CHANGED}-manager-${stateId}`,result2)}]}function useAddonState(addonId,defaultState2){return useSharedState(addonId,defaultState2)}function useArgs(){let{getCurrentStoryData,updateStoryArgs,resetStoryArgs}=useStorybookApi(),data=getCurrentStoryData(),args2=data?.type==="story"?data.args:{},updateArgs=(0,import_react2.useCallback)(newArgs=>updateStoryArgs(data,newArgs),[data,updateStoryArgs]),resetArgs=(0,import_react2.useCallback)(argNames=>resetStoryArgs(data,argNames),[data,resetStoryArgs]);return[args2,updateArgs,resetArgs]}function useGlobals(){let api=useStorybookApi();return[api.getGlobals(),api.updateGlobals]}function useGlobalTypes(){return useStorybookApi().getGlobalTypes()}function useCurrentStory(){let{getCurrentStoryData}=useStorybookApi();return getCurrentStoryData()}function useArgTypes(){let current=useCurrentStory();return current?.type==="story"&&current.argTypes||{}}var StorybookError=class extends Error{constructor(){super(...arguments),this.data={},this.documentation=!1,this.fromStorybook=!0}get fullErrorCode(){let paddedCode=String(this.code).padStart(4,"0");return`SB_${this.category}_${paddedCode}`}get name(){let errorName=this.constructor.name;return`${this.fullErrorCode} (${errorName})`}get message(){let page;return this.documentation===!0?page=`https://storybook.js.org/error/${this.fullErrorCode}`:typeof this.documentation=="string"?page=this.documentation:Array.isArray(this.documentation)&&(page=`
51
+ `});let versions=ref.versions&&Object.keys(ref.versions).length?ref.versions:loadedData.versions;await api.setRef(id,{id,url:urlParseResult.url,...loadedData,...versions?{versions}:{},type:loadedData.storyIndex?"lazy":"auto-inject"})},getRefs:()=>{let{refs:refs22={}}=store22.getState();return refs22},setRef:(id,{storyIndex,setStoriesData,...rest},ready=!1)=>{if(singleStory)return;let{storyMapper=defaultStoryMapper}=provider.getConfig(),ref=api.getRefs()[id],index2;setStoriesData?index2=transformSetStoriesStoryDataToStoriesHash(map(setStoriesData,ref,{storyMapper}),{provider,docsOptions,filters:{},status:{}}):storyIndex&&(index2=transformStoryIndexToStoriesHash(storyIndex,{provider,docsOptions,filters:{},status:{}})),index2&&(index2=addRefIds(index2,ref)),api.updateRef(id,{index:index2,...rest})},updateRef:(id,data)=>{let{[id]:ref,...updated}=api.getRefs();updated[id]={...ref,...data};let ordered=Object.keys(initialState).reduce((obj,key2)=>(obj[key2]=updated[key2],obj),{});store22.setState({refs:ordered})}},refs2=!singleStory&&scope.REFS||{},initialState=refs2;return runCheck&&Object.entries(refs2).forEach(([id,ref])=>{api.checkRef({...ref,stories:{}})}),{api,state:{refs:initialState}}},getEventMetadata=(context,fullAPI)=>{let{source:source2,refId,type}=context,[sourceType,sourceLocation]=getSourceType(source2,refId),ref=refId&&fullAPI.getRefs()[refId]?fullAPI.getRefs()[refId]:fullAPI.findRef(sourceLocation),meta={source:source2,sourceType,sourceLocation,refId,ref,type};switch(!0){case typeof refId=="string":case sourceType==="local":case sourceType==="external":return meta;default:return logger.warn(`Received a ${type} frame that was not configured as a ref`),null}},{FEATURES,fetch:fetch2}=scope,STORY_INDEX_PATH="./index.json",removedOptions=["enableShortcuts","theme","showRoots"];function removeRemovedOptions(options3){if(!options3||typeof options3=="string")return options3;let result2={...options3};return removedOptions.forEach(option=>{option in result2&&delete result2[option]}),result2}var init7=({fullAPI,store:store22,navigate,provider,storyId:initialStoryId,viewMode:initialViewMode,docsOptions={}})=>{let api={storyId:N,getData:(storyId,refId)=>{let result2=api.resolveStory(storyId,refId);if(result2?.type==="story"||result2?.type==="docs")return result2},isPrepared:(storyId,refId)=>{let data=api.getData(storyId,refId);return data.type==="story"?data.prepared:!0},resolveStory:(storyId,refId)=>{let{refs:refs2,index:index2}=store22.getState();return refId&&!refs2[refId]?null:refId?refs2[refId].index?refs2[refId].index[storyId]:void 0:index2?index2[storyId]:void 0},getCurrentStoryData:()=>{let{storyId,refId}=store22.getState();return api.getData(storyId,refId)},getParameters:(storyIdOrCombo,parameterName)=>{let{storyId,refId}=typeof storyIdOrCombo=="string"?{storyId:storyIdOrCombo,refId:void 0}:storyIdOrCombo,data=api.getData(storyId,refId);if(["story","docs"].includes(data?.type)){let{parameters}=data;if(parameters)return parameterName?parameters[parameterName]:parameters}return null},getCurrentParameter:parameterName=>{let{storyId,refId}=store22.getState();return api.getParameters({storyId,refId},parameterName)||void 0},jumpToComponent:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState();if(!api.getData(storyId,refId))return;let hash=refId?refs2[refId].index||{}:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!0);result2&&api.selectStory(result2,void 0,{ref:refId})},jumpToStory:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState(),story=api.getData(storyId,refId);if(!story)return;let hash=story.refId?refs2[story.refId].index:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!1);result2&&api.selectStory(result2,void 0,{ref:refId})},selectFirstStory:()=>{let{index:index2}=store22.getState(),firstStory=Object.keys(index2).find(id=>index2[id].type==="story");if(firstStory){api.selectStory(firstStory);return}navigate("/")},selectStory:(titleOrId=void 0,name2=void 0,options3={})=>{let{ref}=options3,{storyId,index:index2,refs:refs2}=store22.getState(),hash=ref?refs2[ref].index:index2,kindSlug=storyId?.split("--",2)[0];if(name2)if(titleOrId){let id=ref?`${ref}_${N(titleOrId,name2)}`:N(titleOrId,name2);if(hash[id])api.selectStory(id,void 0,options3);else{let entry=hash[L(titleOrId)];if(entry?.type==="component"){let foundId=entry.children.find(childId=>hash[childId].name===name2);foundId&&api.selectStory(foundId,void 0,options3)}}}else{let id=N(kindSlug,name2);api.selectStory(id,void 0,options3)}else{let entry=titleOrId?hash[titleOrId]||hash[L(titleOrId)]:hash[kindSlug];if(!entry)throw new Error(`Unknown id or title: '${titleOrId}'`);store22.setState({settings:{...store22.getState().settings,lastTrackedStoryId:entry.id}});let leafEntry=api.findLeafEntry(hash,entry.id),fullId=leafEntry.refId?`${leafEntry.refId}_${leafEntry.id}`:leafEntry.id;navigate(`/${leafEntry.type}/${fullId}`)}},findLeafEntry(index2,storyId){let entry=index2[storyId];if(entry.type==="docs"||entry.type==="story")return entry;let childStoryId=entry.children[0];return api.findLeafEntry(index2,childStoryId)},findLeafStoryId(index2,storyId){return api.findLeafEntry(index2,storyId)?.id},findSiblingStoryId(storyId,index2,direction,toSiblingGroup){if(toSiblingGroup){let lookupList2=getComponentLookupList(index2),position2=lookupList2.findIndex(i3=>i3.includes(storyId));return position2===lookupList2.length-1&&direction>0||position2===0&&direction<0?void 0:lookupList2[position2+direction]?lookupList2[position2+direction][0]:void 0}let lookupList=getStoriesLookupList(index2),position=lookupList.indexOf(storyId);if(!(position===lookupList.length-1&&direction>0)&&!(position===0&&direction<0))return lookupList[position+direction]},updateStoryArgs:(story,updatedArgs)=>{let{id:storyId,refId}=story;provider.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs,options:{target:refId}})},resetStoryArgs:(story,argNames)=>{let{id:storyId,refId}=story;provider.channel.emit(RESET_STORY_ARGS,{storyId,argNames,options:{target:refId}})},fetchIndex:async()=>{try{let result2=await fetch2(STORY_INDEX_PATH);if(result2.status!==200)throw new Error(await result2.text());let storyIndex=await result2.json();if(storyIndex.v<3){logger.warn(`Skipping story index with version v${storyIndex.v}, awaiting SET_STORIES.`);return}await api.setIndex(storyIndex)}catch(err){await store22.setState({indexError:err})}},setIndex:async input=>{let{index:oldHash,status,filters}=store22.getState(),newHash=transformStoryIndexToStoriesHash(input,{provider,docsOptions,status,filters}),output=addPreparedStories(newHash,oldHash);await store22.setState({internal_index:input,index:output,indexError:void 0})},updateStory:async(storyId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[storyId]={...index2[storyId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[storyId]={...index2[storyId],...update2},await store22.setState({index:index2})}},updateDocs:async(docsId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[docsId]={...index2[docsId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[docsId]={...index2[docsId],...update2},await store22.setState({index:index2})}},setPreviewInitialized:async ref=>{ref?fullAPI.updateRef(ref.id,{previewInitialized:!0}):store22.setState({previewInitialized:!0})},experimental_updateStatus:async(id,input)=>{let{status,internal_index:index2}=store22.getState(),newStatus={...status},update2=typeof input=="function"?input(status):input;Object.keys(update2).length!==0&&(Object.entries(update2).forEach(([storyId,value2])=>{newStatus[storyId]={...newStatus[storyId]||{}},value2===null?delete newStatus[storyId][id]:newStatus[storyId][id]=value2,Object.keys(newStatus[storyId]).length===0&&delete newStatus[storyId]}),await store22.setState({status:newStatus},{persistence:"session"}),await api.setIndex(index2))},experimental_setFilter:async(id,filterFunction)=>{let{internal_index:index2}=store22.getState();await store22.setState({filters:{...store22.getState().filters,[id]:filterFunction}}),await api.setIndex(index2)}};provider.channel.on(STORY_SPECIFIED,function({storyId,viewMode}){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let state=store22.getState(),isCanvasRoute=state.path==="/"||state.viewMode==="story"||state.viewMode==="docs",stateHasSelection=state.viewMode&&state.storyId,stateSelectionDifferent=state.viewMode!==viewMode||state.storyId!==storyId,{type}=state.index[state.storyId]||{};isCanvasRoute&&(stateHasSelection&&stateSelectionDifferent&&!(type==="root"||type==="component"||type==="group")?provider.channel.emit(SET_CURRENT_STORY,{storyId:state.storyId,viewMode:state.viewMode}):stateSelectionDifferent&&navigate(`/${viewMode}/${storyId}`))}}),provider.channel.on(CURRENT_STORY_WAS_SET,function(){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_CHANGED,function(){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let options3=api.getCurrentParameter("options");options3&&fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(STORY_PREPARED,function({id,...update2}){let{ref,sourceType}=getEventMetadata(this,fullAPI);if(api.updateStory(id,{...update2,prepared:!0},ref),!ref&&!store22.getState().hasCalledSetOptions){let{options:options3}=update2.parameters;fullAPI.setOptions(removeRemovedOptions(options3)),store22.setState({hasCalledSetOptions:!0})}if(sourceType==="local"){let{storyId,index:index2,refId}=store22.getState(),toBePreloaded=Array.from(new Set([api.findSiblingStoryId(storyId,index2,1,!0),api.findSiblingStoryId(storyId,index2,-1,!0)])).filter(Boolean);provider.channel.emit(PRELOAD_ENTRIES,{ids:toBePreloaded,options:{target:refId}})}}),provider.channel.on(DOCS_PREPARED,function({id,...update2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(id,{...update2,prepared:!0},ref)}),provider.channel.on(SET_INDEX,function(index2){let{ref}=getEventMetadata(this,fullAPI);if(ref)fullAPI.setRef(ref.id,{...ref,storyIndex:index2},!0);else{api.setIndex(index2);let options3=api.getCurrentParameter("options");fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(SET_STORIES,function(data){let{ref}=getEventMetadata(this,fullAPI),setStoriesData=data.v?denormalizeStoryParameters(data):data.stories;if(ref)fullAPI.setRef(ref.id,{...ref,setStoriesData},!0);else throw new Error("Cannot call SET_STORIES for local frame")}),provider.channel.on(SELECT_STORY,function({kind,title=kind,story,name:name2=story,storyId,...rest}){let{ref}=getEventMetadata(this,fullAPI);ref?fullAPI.selectStory(storyId||title,name2,{...rest,ref:ref.id}):fullAPI.selectStory(storyId||title,name2,rest)}),provider.channel.on(STORY_ARGS_UPDATED,function({storyId,args:args2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(storyId,{args:args2},ref)}),provider.channel.on(CONFIG_ERROR,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_MISSING,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(SET_CONFIG,()=>{let config2=provider.getConfig();config2?.sidebar?.filters&&store22.setState({filters:{...store22.getState().filters,...config2?.sidebar?.filters}})});let config=provider.getConfig();return{api,state:{storyId:initialStoryId,viewMode:initialViewMode,hasCalledSetOptions:!1,previewInitialized:!1,status:{},filters:config?.sidebar?.filters||{}},init:async()=>{FEATURES?.storyStoreV7&&(provider.channel.on(STORY_INDEX_INVALIDATED,()=>api.fetchIndex()),await api.fetchIndex())}}},layout_exports={};__export2(layout_exports,{ActiveTabs:()=>ActiveTabs,focusableUIElements:()=>focusableUIElements,init:()=>init8});var{document:document3}=scope,ActiveTabs={SIDEBAR:"sidebar",CANVAS:"canvas",ADDONS:"addons"},defaultState={ui:{enableShortcuts:!0},layout:{initialActive:ActiveTabs.CANVAS,showToolbar:!0,isFullscreen:!1,showPanel:!0,showNav:!0,panelPosition:"bottom",showTabs:!0},selectedPanel:void 0,theme:create()},focusableUIElements={storySearchField:"storybook-explorer-searchfield",storyListMenu:"storybook-explorer-menu",storyPanelRoot:"storybook-panel-root"},init8=({store:store22,provider,singleStory,fullAPI})=>{let api={toggleFullscreen(toggled){return store22.setState(state=>{let{showNav}=state.layout,value2=typeof toggled=="boolean"?toggled:!state.layout.isFullscreen,shouldShowNav=showNav===!1&&value2===!1;return{layout:{...state.layout,isFullscreen:value2,showNav:!singleStory&&shouldShowNav?!0:showNav}}},{persistence:"session"})},togglePanel(toggled){return store22.setState(state=>{let{showNav,isFullscreen}=state.layout,value2=typeof toggled<"u"?toggled:!state.layout.showPanel,shouldToggleFullScreen=showNav===!1&&value2===!1;return{layout:{...state.layout,showPanel:value2,isFullscreen:shouldToggleFullScreen?!0:isFullscreen}}},{persistence:"session"})},togglePanelPosition(position){return typeof position<"u"?store22.setState(state=>({layout:{...state.layout,panelPosition:position}}),{persistence:"permanent"}):store22.setState(state=>({layout:{...state.layout,panelPosition:state.layout.panelPosition==="right"?"bottom":"right"}}),{persistence:"permanent"})},toggleNav(toggled){return store22.setState(state=>{if(singleStory)return{layout:state.layout};let{showPanel,isFullscreen}=state.layout,showNav=typeof toggled<"u"?toggled:!state.layout.showNav,shouldToggleFullScreen=showPanel===!1&&showNav===!1;return{layout:{...state.layout,showNav,isFullscreen:shouldToggleFullScreen?!0:!showNav&&isFullscreen}}},{persistence:"session"})},toggleToolbar(toggled){return store22.setState(state=>{let value2=typeof toggled<"u"?toggled:!state.layout.showToolbar;return{layout:{...state.layout,showToolbar:value2}}},{persistence:"session"})},resetLayout(){return store22.setState(state=>({layout:{...state.layout,showNav:!1,showPanel:!1,isFullscreen:!1}}),{persistence:"session"})},focusOnUIElement(elementId,select){if(!elementId)return;let element=document3.getElementById(elementId);element&&(element.focus(),select&&element.select())},getInitialOptions(){let{theme,selectedPanel,...options3}=provider.getConfig();return{...defaultState,layout:{...defaultState.layout,...(0,import_pick.default)(options3,Object.keys(defaultState.layout)),...singleStory&&{showNav:!1}},ui:{...defaultState.ui,...(0,import_pick.default)(options3,Object.keys(defaultState.ui))},selectedPanel:selectedPanel||defaultState.selectedPanel,theme:theme||defaultState.theme}},setOptions:options3=>{let{layout,ui,selectedPanel,theme}=store22.getState();if(options3){let updatedLayout={...layout,...options3.layout,...(0,import_pick.default)(options3,Object.keys(layout)),...singleStory&&{showNav:!1}},updatedUi={...ui,...options3.ui,...(0,import_pick.default)(options3,Object.keys(ui))},updatedTheme={...theme,...options3.theme},modification={};dequal2(ui,updatedUi)||(modification.ui=updatedUi),dequal2(layout,updatedLayout)||(modification.layout=updatedLayout),options3.selectedPanel&&!dequal2(selectedPanel,options3.selectedPanel)&&(modification.selectedPanel=options3.selectedPanel),Object.keys(modification).length&&store22.setState(modification,{persistence:"permanent"}),dequal2(theme,updatedTheme)||store22.setState({theme:updatedTheme})}}},persisted=(0,import_pick.default)(store22.getState(),"layout","selectedPanel");return{api,state:merge_default(api.getInitialOptions(),persisted),init:()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted)),provider.channel.on(SET_CONFIG,()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted))})}}},shortcuts_exports={};__export2(shortcuts_exports,{controlOrMetaKey:()=>controlOrMetaKey2,defaultShortcuts:()=>defaultShortcuts,init:()=>init9,isMacLike:()=>isMacLike2,keys:()=>keys});var{navigator:navigator2}=scope,isMacLike=()=>navigator2&&navigator2.platform?!!navigator2.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaSymbol=()=>isMacLike()?"\u2318":"ctrl",controlOrMetaKey=()=>isMacLike()?"meta":"control",optionOrAltSymbol=()=>isMacLike()?"\u2325":"alt",isShortcutTaken=(arr1,arr2)=>JSON.stringify(arr1)===JSON.stringify(arr2),eventToShortcut=e3=>{if(["Meta","Alt","Control","Shift"].includes(e3.key))return null;let keys2=[];if(e3.altKey&&keys2.push("alt"),e3.ctrlKey&&keys2.push("control"),e3.metaKey&&keys2.push("meta"),e3.shiftKey&&keys2.push("shift"),e3.key&&e3.key.length===1&&e3.key!==" "){let key2=e3.key.toUpperCase(),code=e3.code?.toUpperCase().replace("KEY","").replace("DIGIT","");code&&code.length===1&&code!==key2?keys2.push([key2,code]):keys2.push(key2)}return e3.key===" "&&keys2.push("space"),e3.key==="Escape"&&keys2.push("escape"),e3.key==="ArrowRight"&&keys2.push("ArrowRight"),e3.key==="ArrowDown"&&keys2.push("ArrowDown"),e3.key==="ArrowUp"&&keys2.push("ArrowUp"),e3.key==="ArrowLeft"&&keys2.push("ArrowLeft"),keys2.length>0?keys2:null},shortcutMatchesShortcut=(inputShortcut,shortcut)=>!inputShortcut||!shortcut||(inputShortcut.join("").startsWith("shift/")&&inputShortcut.shift(),inputShortcut.length!==shortcut.length)?!1:!inputShortcut.find((input,i3)=>Array.isArray(input)?!input.includes(shortcut[i3]):input!==shortcut[i3]),eventMatchesShortcut=(e3,shortcut)=>shortcutMatchesShortcut(eventToShortcut(e3),shortcut),keyToSymbol=key2=>key2==="alt"?optionOrAltSymbol():key2==="control"?"\u2303":key2==="meta"?"\u2318":key2==="shift"?"\u21E7\u200B":key2==="Enter"||key2==="Backspace"||key2==="Esc"||key2==="escape"?"":key2===" "?"SPACE":key2==="ArrowUp"?"\u2191":key2==="ArrowDown"?"\u2193":key2==="ArrowLeft"?"\u2190":key2==="ArrowRight"?"\u2192":key2.toUpperCase(),shortcutToHumanString=shortcut=>shortcut.map(keyToSymbol).join(" "),{navigator:navigator22,document:document23}=scope,isMacLike2=()=>navigator22&&navigator22.platform?!!navigator22.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaKey2=()=>isMacLike2()?"meta":"control";function keys(o2){return Object.keys(o2)}var defaultShortcuts=Object.freeze({fullScreen:["F"],togglePanel:["A"],panelPosition:["D"],toggleNav:["S"],toolbar:["T"],search:["/"],focusNav:["1"],focusIframe:["2"],focusPanel:["3"],prevComponent:["alt","ArrowUp"],nextComponent:["alt","ArrowDown"],prevStory:["alt","ArrowLeft"],nextStory:["alt","ArrowRight"],shortcutsPage:[controlOrMetaKey2(),"shift",","],aboutPage:[","],escape:["escape"],collapseAll:[controlOrMetaKey2(),"shift","ArrowUp"],expandAll:[controlOrMetaKey2(),"shift","ArrowDown"],remount:["alt","R"]}),addonsShortcuts={};function focusInInput(event){let target=event.target;return/input|textarea/i.test(target.tagName)||target.getAttribute("contenteditable")!==null}var init9=({store:store22,fullAPI,provider})=>{let api={getShortcutKeys(){return store22.getState().shortcuts},getDefaultShortcuts(){return{...defaultShortcuts,...api.getAddonsShortcutDefaults()}},getAddonsShortcuts(){return addonsShortcuts},getAddonsShortcutLabels(){let labels={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{label}])=>{labels[actionName]=label}),labels},getAddonsShortcutDefaults(){let defaults={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{defaultShortcut}])=>{defaults[actionName]=defaultShortcut}),defaults},async setShortcuts(shortcuts){return await store22.setState({shortcuts},{persistence:"permanent"}),shortcuts},async restoreAllDefaultShortcuts(){return api.setShortcuts(api.getDefaultShortcuts())},async setShortcut(action,value2){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[action]:value2}),value2},async setAddonShortcut(addon,shortcut){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[`${addon}-${shortcut.actionName}`]:shortcut.defaultShortcut}),addonsShortcuts[`${addon}-${shortcut.actionName}`]=shortcut,shortcut},async restoreDefaultShortcut(action){let defaultShortcut=api.getDefaultShortcuts()[action];return api.setShortcut(action,defaultShortcut)},handleKeydownEvent(event){let shortcut=eventToShortcut(event),shortcuts=api.getShortcutKeys(),matchedFeature=keys(shortcuts).find(feature=>shortcutMatchesShortcut(shortcut,shortcuts[feature]));matchedFeature&&api.handleShortcutFeature(matchedFeature,event)},handleShortcutFeature(feature,event){let{layout:{isFullscreen,showNav,showPanel},ui:{enableShortcuts},storyId}=store22.getState();if(enableShortcuts)switch(event?.preventDefault&&event.preventDefault(),feature){case"escape":{isFullscreen?fullAPI.toggleFullscreen():showNav||fullAPI.toggleNav();break}case"focusNav":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),fullAPI.focusOnUIElement(focusableUIElements.storyListMenu);break}case"search":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),setTimeout(()=>{fullAPI.focusOnUIElement(focusableUIElements.storySearchField,!0)},0);break}case"focusIframe":{let element=document23.getElementById("storybook-preview-iframe");if(element)try{element.contentWindow.focus()}catch{}break}case"focusPanel":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.focusOnUIElement(focusableUIElements.storyPanelRoot);break}case"nextStory":{fullAPI.jumpToStory(1);break}case"prevStory":{fullAPI.jumpToStory(-1);break}case"nextComponent":{fullAPI.jumpToComponent(1);break}case"prevComponent":{fullAPI.jumpToComponent(-1);break}case"fullScreen":{fullAPI.toggleFullscreen();break}case"togglePanel":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.togglePanel();break}case"toggleNav":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.toggleNav();break}case"toolbar":{fullAPI.toggleToolbar();break}case"panelPosition":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.togglePanelPosition();break}case"aboutPage":{fullAPI.navigate("/settings/about");break}case"shortcutsPage":{fullAPI.navigate("/settings/shortcuts");break}case"collapseAll":{fullAPI.collapseAll();break}case"expandAll":{fullAPI.expandAll();break}case"remount":{fullAPI.emit(FORCE_REMOUNT,{storyId});break}default:addonsShortcuts[feature].action();break}}},{shortcuts:persistedShortcuts=defaultShortcuts}=store22.getState(),state={shortcuts:keys(defaultShortcuts).reduce((acc,key2)=>({...acc,[key2]:persistedShortcuts[key2]||defaultShortcuts[key2]}),defaultShortcuts)};return{api,state,init:()=>{document23.addEventListener("keydown",event=>{focusInInput(event)||api.handleKeydownEvent(event)}),provider.channel.on(PREVIEW_KEYDOWN,data=>{api.handleKeydownEvent(data.event)})}}},url_exports={};__export2(url_exports,{init:()=>init10});var{window:globalWindow}=scope,parseBoolean=value2=>{if(value2==="true"||value2==="1")return!0;if(value2==="false"||value2==="0")return!1},prevParams,initialUrlSupport=({state:{location:location22,path,viewMode,storyId:storyIdFromUrl},singleStory})=>{let{full,panel,nav,shortcuts,addonPanel,tabs,path:queryPath,...otherParams}=queryFromLocation(location22),layout={isFullscreen:parseBoolean(full),showNav:!singleStory&&parseBoolean(nav),showPanel:parseBoolean(panel),panelPosition:["right","bottom"].includes(panel)?panel:void 0,showTabs:parseBoolean(tabs)},ui={enableShortcuts:parseBoolean(shortcuts)},selectedPanel=addonPanel||void 0,storyId=storyIdFromUrl,customQueryParams=dequal2(prevParams,otherParams)?prevParams:otherParams;return prevParams=customQueryParams,{viewMode,layout,ui,selectedPanel,location:location22,path,customQueryParams,storyId}},init10=moduleArgs=>{let{store:store22,navigate,provider,fullAPI}=moduleArgs,navigateTo=(path,queryParams={},options3={})=>{let params=Object.entries(queryParams).filter(([,v2])=>v2).sort(([a2],[b3])=>a2<b3?-1:1).map(([k2,v2])=>`${k2}=${v2}`),to=[path,...params].join("&");return navigate(to,options3)},api={getQueryParam(key2){let{customQueryParams}=store22.getState();return customQueryParams?customQueryParams[key2]:void 0},getUrlState(){let{path,customQueryParams,storyId,url,viewMode}=store22.getState();return{path,queryParams:customQueryParams,storyId,url,viewMode}},setQueryParams(input){let{customQueryParams}=store22.getState(),queryParams={},update2={...customQueryParams,...Object.entries(input).reduce((acc,[key2,value2])=>(value2!==null&&(acc[key2]=value2),acc),queryParams)};dequal2(customQueryParams,update2)||(store22.setState({customQueryParams:update2}),provider.channel.emit(UPDATE_QUERY_PARAMS,update2))},navigateUrl(url,options3){navigate(url,{plain:!0,...options3})}},updateArgsParam=()=>{let{path,queryParams,viewMode}=api.getUrlState();if(viewMode!=="story")return;let currentStory=fullAPI.getCurrentStoryData();if(currentStory?.type!=="story")return;let{args:args2,initialArgs}=currentStory,argsString=buildArgsParam(initialArgs,args2);navigateTo(path,{...queryParams,args:argsString},{replace:!0}),api.setQueryParams({args:argsString})};provider.channel.on(SET_CURRENT_STORY,()=>updateArgsParam());let handleOrId;return provider.channel.on(STORY_ARGS_UPDATED,()=>{"requestIdleCallback"in globalWindow?(handleOrId&&globalWindow.cancelIdleCallback(handleOrId),handleOrId=globalWindow.requestIdleCallback(updateArgsParam,{timeout:1e3})):(handleOrId&&clearTimeout(handleOrId),setTimeout(updateArgsParam,100))}),provider.channel.on(GLOBALS_UPDATED,({globals,initialGlobals})=>{let{path,queryParams}=api.getUrlState(),globalsString=buildArgsParam(initialGlobals,globals);navigateTo(path,{...queryParams,globals:globalsString},{replace:!0}),api.setQueryParams({globals:globalsString})}),provider.channel.on(NAVIGATE_URL,(url,options3)=>{api.navigateUrl(url,options3)}),{api,state:initialUrlSupport(moduleArgs)}},versions_exports={};__export2(versions_exports,{init:()=>init11});var version="7.6.0-alpha.6",{VERSIONCHECK}=scope,getVersionCheckData=(0,import_memoizerific3.default)(1)(()=>{try{return{...JSON.parse(VERSIONCHECK).data||{}}}catch{return{}}}),init11=({store:store22})=>{let{dismissedVersionNotification}=store22.getState(),state={versions:{current:{version},...getVersionCheckData()},dismissedVersionNotification},api={getCurrentVersion:()=>{let{versions:{current}}=store22.getState();return current},getLatestVersion:()=>{let{versions:{latest,next,current}}=store22.getState();return current&&import_semver.default.prerelease(current.version)&&next?latest&&import_semver.default.gt(latest.version,next.version)?latest:next:latest},versionUpdateAvailable:()=>{let latest=api.getLatestVersion(),current=api.getCurrentVersion();if(latest){if(!latest.version||!current.version)return!0;let actualCurrent=import_semver.default.prerelease(current.version)?`${import_semver.default.major(current.version)}.${import_semver.default.minor(current.version)}.${import_semver.default.patch(current.version)}`:current.version,diff=import_semver.default.diff(actualCurrent,latest.version);return import_semver.default.gt(latest.version,actualCurrent)&&diff!=="patch"&&!diff.includes("pre")}return!1}};return{init:async()=>{let{versions={}}=store22.getState(),{latest,next}=getVersionCheckData();await store22.setState({versions:{...versions,latest,next}})},state,api}},whatsnew_exports={};__export2(whatsnew_exports,{init:()=>init12});var WHATS_NEW_NOTIFICATION_ID="whats-new",init12=({fullAPI,store:store22,provider})=>{let state={whatsNewData:void 0};function setWhatsNewState(newState){store22.setState({whatsNewData:newState}),state.whatsNewData=newState}let api={isWhatsNewUnread(){return state.whatsNewData?.status==="SUCCESS"&&!state.whatsNewData.postIsRead},whatsNewHasBeenRead(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewCache({lastReadPost:state.whatsNewData.url}),setWhatsNewState({...state.whatsNewData,postIsRead:!0}),fullAPI.clearNotification(WHATS_NEW_NOTIFICATION_ID))},toggleWhatsNewNotifications(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewState({...state.whatsNewData,disableWhatsNewNotifications:!state.whatsNewData.disableWhatsNewNotifications}),provider.channel.emit(TOGGLE_WHATS_NEW_NOTIFICATIONS,{disableWhatsNewNotifications:state.whatsNewData.disableWhatsNewNotifications}))}};function getLatestWhatsNewPost(){return provider.channel.emit(REQUEST_WHATS_NEW_DATA),new Promise(resolve=>provider.channel.once(RESULT_WHATS_NEW_DATA,({data})=>resolve(data)))}function setWhatsNewCache(cache){provider.channel.emit(SET_WHATS_NEW_CACHE,cache)}return{init:async()=>{if(scope.CONFIG_TYPE!=="DEVELOPMENT")return;let whatsNewData=await getLatestWhatsNewPost();setWhatsNewState(whatsNewData);let urlState=fullAPI.getUrlState();!(urlState?.path==="/onboarding"||urlState.queryParams?.onboarding==="true")&&whatsNewData.status==="SUCCESS"&&!whatsNewData.disableWhatsNewNotifications&&whatsNewData.showNotification&&fullAPI.addNotification({id:WHATS_NEW_NOTIFICATION_ID,link:"/settings/whats-new",content:{headline:whatsNewData.excerpt,subHeadline:"Click to learn what's new in Storybook"},icon:{name:"hearthollow"},onClear({dismissed}){dismissed&&setWhatsNewCache({lastDismissedPost:whatsNewData.url})}})},state,api}},globals_exports={};__export2(globals_exports,{init:()=>init13});var init13=({store:store22,fullAPI,provider})=>{let api={getGlobals(){return store22.getState().globals},getGlobalTypes(){return store22.getState().globalTypes},updateGlobals(newGlobals){provider.channel.emit(UPDATE_GLOBALS,{globals:newGlobals,options:{target:"storybook-preview-iframe"}})}},state={globals:{},globalTypes:{}},updateGlobals=globals=>{let currentGlobals=store22.getState()?.globals;dequal2(globals,currentGlobals)||store22.setState({globals})};return provider.channel.on(GLOBALS_UPDATED,function({globals}){let{ref}=getEventMetadata(this,fullAPI);ref?logger.warn("received a GLOBALS_UPDATED from a non-local ref. This is not currently supported."):updateGlobals(globals)}),provider.channel.on(SET_GLOBALS,function({globals,globalTypes}){let{ref}=getEventMetadata(this,fullAPI),currentGlobals=store22.getState()?.globals;ref?Object.keys(globals).length>0&&logger.warn("received globals from a non-local ref. This is not currently supported."):store22.setState({globals,globalTypes}),currentGlobals&&Object.keys(currentGlobals).length!==0&&!dequal2(globals,currentGlobals)&&api.updateGlobals(currentGlobals)}),{api,state}};function mockChannel(){let transport={setHandler:()=>{},send:()=>{}};return new Channel({transport})}var AddonStore=class{constructor(){this.loaders={},this.elements={},this.config={},this.getChannel=()=>(this.channel||this.setChannel(mockChannel()),this.channel),this.getServerChannel=()=>{if(!this.serverChannel)throw new Error("Accessing non-existent serverChannel");return this.serverChannel},this.ready=()=>this.promise,this.hasChannel=()=>!!this.channel,this.hasServerChannel=()=>!!this.serverChannel,this.setChannel=channel=>{this.channel=channel,this.resolve()},this.setServerChannel=channel=>{this.serverChannel=channel},this.addPanel=(id,options3)=>{this.add(id,{type:Addon_TypesEnum.PANEL,...options3})},this.setConfig=value2=>{Object.assign(this.config,value2),this.hasChannel()?this.getChannel().emit(SET_CONFIG,this.config):this.ready().then(channel=>{channel.emit(SET_CONFIG,this.config)})},this.getConfig=()=>this.config,this.register=(id,callback)=>{this.loaders[id]&&logger.warn(`${id} was loaded twice, this could have bad side-effects`),this.loaders[id]=callback},this.loadAddons=api=>{Object.values(this.loaders).forEach(value2=>value2(api))},this.promise=new Promise(res=>{this.resolve=()=>res(this.getChannel())})}getElements(type){return this.elements[type]||(this.elements[type]={}),this.elements[type]}add(id,addon){let{type}=addon,collection=this.getElements(type);collection[id]={id,...addon}}},KEY2="__STORYBOOK_ADDONS_MANAGER";function getAddonsStore(){return scope[KEY2]||(scope[KEY2]=new AddonStore),scope[KEY2]}var addons=getAddonsStore(),{ActiveTabs:ActiveTabs2}=layout_exports,ManagerContext=createContext2({api:void 0,state:initial_state_default({})}),combineParameters=(...parameterSets)=>(0,import_mergeWith.default)({},...parameterSets,(objValue,srcValue)=>{if(Array.isArray(srcValue))return srcValue}),ManagerProvider=class extends import_react2.Component{constructor(props){super(props),this.api={},this.initModules=()=>{this.modules.forEach(module=>{"init"in module&&module.init()})};let{location:location22,path,refId,viewMode=props.docsOptions.docsMode?"docs":props.viewMode,singleStory,storyId,docsOptions,navigate}=props,store22=new Store({getState:()=>this.state,setState:(stateChange,callback)=>this.setState(stateChange,callback)}),routeData={location:location22,path,viewMode,singleStory,storyId,refId},optionsData={docsOptions};this.state=store22.getInitialState(initial_state_default({...routeData,...optionsData}));let apiData={navigate,store:store22,provider:props.provider};this.modules=[provider_exports,channel_exports,addons_exports,layout_exports,notifications_exports,settings_exports,shortcuts_exports,stories_exports,refs_exports,globals_exports,url_exports,versions_exports,whatsnew_exports].map(m3=>m3.init({...routeData,...optionsData,...apiData,state:this.state,fullAPI:this.api}));let state=initial_state_default(this.state,...this.modules.map(m3=>m3.state)),api=Object.assign(this.api,{navigate},...this.modules.map(m3=>m3.api));this.state=state,this.api=api}static getDerivedStateFromProps(props,state){return state.path!==props.path?{...state,location:props.location,path:props.path,refId:props.refId,viewMode:props.viewMode,storyId:props.storyId}:null}shouldComponentUpdate(nextProps,nextState){let prevState=this.state,prevProps=this.props;return prevState!==nextState||prevProps.path!==nextProps.path}render(){let{children}=this.props,value2={state:this.state,api:this.api};return import_react2.default.createElement(EffectOnMount,{effect:this.initModules},import_react2.default.createElement(ManagerContext.Provider,{value:value2},import_react2.default.createElement(ManagerConsumer,null,children)))}};ManagerProvider.displayName="Manager";var EffectOnMount=({children,effect})=>(import_react2.default.useEffect(effect,[]),children),defaultFilter=c3=>c3;function ManagerConsumer({filter=defaultFilter,children}){let c3=(0,import_react2.useContext)(ManagerContext),renderer=(0,import_react2.useRef)(children),filterer=(0,import_react2.useRef)(filter);if(typeof renderer.current!="function")return import_react2.default.createElement(import_react2.Fragment,null,renderer.current);let data=filterer.current(c3),l2=(0,import_react2.useMemo)(()=>[...Object.entries(data).reduce((acc,keyval)=>acc.concat(keyval),[])],[c3.state]);return(0,import_react2.useMemo)(()=>{let Child=renderer.current;return import_react2.default.createElement(Child,{...data})},l2)}function useStorybookState(){let{state}=(0,import_react2.useContext)(ManagerContext);return{...state,get storiesHash(){return deprecate("state.storiesHash is deprecated, please use state.index"),this.index||{}},get storiesConfigured(){return deprecate("state.storiesConfigured is deprecated, please use state.previewInitialized"),this.previewInitialized},get storiesFailed(){return deprecate("state.storiesFailed is deprecated, please use state.indexError"),this.indexError}}}function useStorybookApi(){let{api}=(0,import_react2.useContext)(ManagerContext);return api}function orDefault(fromStore,defaultState2){return typeof fromStore>"u"?defaultState2:fromStore}var useChannel=(eventMap,deps=[])=>{let api=useStorybookApi();return(0,import_react2.useEffect)(()=>(Object.entries(eventMap).forEach(([type,listener])=>api.on(type,listener)),()=>{Object.entries(eventMap).forEach(([type,listener])=>api.off(type,listener))}),deps),api.emit};function useStoryPrepared(storyId){return useStorybookApi().isPrepared(storyId)}function useParameter(parameterKey,defaultValue){let result2=useStorybookApi().getCurrentParameter(parameterKey);return orDefault(result2,defaultValue)}globalThis.STORYBOOK_ADDON_STATE={};var{STORYBOOK_ADDON_STATE}=globalThis;function useSharedState(stateId,defaultState2){let api=useStorybookApi(),existingState=api.getAddonState(stateId)||STORYBOOK_ADDON_STATE[stateId],state=orDefault(existingState,STORYBOOK_ADDON_STATE[stateId]?STORYBOOK_ADDON_STATE[stateId]:defaultState2),quicksync=!1;state===defaultState2&&defaultState2!==void 0&&(STORYBOOK_ADDON_STATE[stateId]=defaultState2,quicksync=!0),(0,import_react2.useEffect)(()=>{quicksync&&api.setAddonState(stateId,defaultState2)},[quicksync]);let setState=async(s2,options3)=>{let result2=await api.setAddonState(stateId,s2,options3);return STORYBOOK_ADDON_STATE[stateId]=result2,result2},allListeners=(0,import_react2.useMemo)(()=>{let stateChangeHandlers={[`${SHARED_STATE_CHANGED}-client-${stateId}`]:setState,[`${SHARED_STATE_SET}-client-${stateId}`]:setState},stateInitializationHandlers={[SET_STORIES]:async()=>{let currentState=api.getAddonState(stateId);currentState?(STORYBOOK_ADDON_STATE[stateId]=currentState,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)):STORYBOOK_ADDON_STATE[stateId]?(await setState(STORYBOOK_ADDON_STATE[stateId]),api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,STORYBOOK_ADDON_STATE[stateId])):defaultState2!==void 0&&(await setState(defaultState2),STORYBOOK_ADDON_STATE[stateId]=defaultState2,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,defaultState2))},[STORY_CHANGED]:()=>{let currentState=api.getAddonState(stateId);currentState!==void 0&&api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)}};return{...stateChangeHandlers,...stateInitializationHandlers}},[stateId]),emit=useChannel(allListeners);return[state,async(newStateOrMerger,options3)=>{let result2=await setState(newStateOrMerger,options3);emit(`${SHARED_STATE_CHANGED}-manager-${stateId}`,result2)}]}function useAddonState(addonId,defaultState2){return useSharedState(addonId,defaultState2)}function useArgs(){let{getCurrentStoryData,updateStoryArgs,resetStoryArgs}=useStorybookApi(),data=getCurrentStoryData(),args2=data?.type==="story"?data.args:{},updateArgs=(0,import_react2.useCallback)(newArgs=>updateStoryArgs(data,newArgs),[data,updateStoryArgs]),resetArgs=(0,import_react2.useCallback)(argNames=>resetStoryArgs(data,argNames),[data,resetStoryArgs]);return[args2,updateArgs,resetArgs]}function useGlobals(){let api=useStorybookApi();return[api.getGlobals(),api.updateGlobals]}function useGlobalTypes(){return useStorybookApi().getGlobalTypes()}function useCurrentStory(){let{getCurrentStoryData}=useStorybookApi();return getCurrentStoryData()}function useArgTypes(){let current=useCurrentStory();return current?.type==="story"&&current.argTypes||{}}var StorybookError=class extends Error{constructor(){super(...arguments),this.data={},this.documentation=!1,this.fromStorybook=!0}get fullErrorCode(){let paddedCode=String(this.code).padStart(4,"0");return`SB_${this.category}_${paddedCode}`}get name(){let errorName=this.constructor.name;return`${this.fullErrorCode} (${errorName})`}get message(){let page;return this.documentation===!0?page=`https://storybook.js.org/error/${this.fullErrorCode}`:typeof this.documentation=="string"?page=this.documentation:Array.isArray(this.documentation)&&(page=`
52
52
  ${this.documentation.map(doc=>` - ${doc}`).join(`
53
53
  `)}`),`${this.template()}${page!=null?`
54
54
 
@@ -245,7 +245,7 @@ ${input}`);let match=input.match(firstLineRegex);if(!match)return import_react6.
245
245
  overflow: hidden;
246
246
  font-family: ${typography.fonts.mono};
247
247
  font-size: ${typography.size.s2-1}px;
248
- `,ClipboardCode=({code,...props})=>import_react6.default.createElement(Code2,{id:"clipboard-code",...props},code),components2=components,resetComponents={};Object.keys(components).forEach(key2=>{resetComponents[key2]=(0,import_react6.forwardRef)((props,ref)=>(0,import_react6.createElement)(key2,{...props,ref}))});var import_react7=__toESM(require_react());var Root=newStyled.div({position:"fixed",left:0,top:0,width:"100vw",height:"100vh",overflow:"hidden"});var{SIDEBAR,CANVAS,ADDONS}=ActiveTabs2,Pane=newStyled.div({transition:"transform .2s ease",position:"absolute",top:0,height:"100%",overflow:"auto"},({theme})=>({background:theme.background.content,"&:nth-of-type(1)":{borderRight:`1px solid ${theme.appBorderColor}`},"&:nth-of-type(3)":{borderLeft:`1px solid ${theme.appBorderColor}`}}),({index:index2})=>{switch(index2){case 0:return{width:"80vw",transform:"translateX(-80vw)",left:0};case 1:return{width:"100%",transform:"translateX(0) scale(1)",left:0};case 2:return{width:"80vw",transform:"translateX(80vw)",right:0};default:return{}}},({active,index:index2})=>{switch(!0){case(index2===0&&active===SIDEBAR):return{transform:"translateX(-0px)"};case(index2===1&&active===SIDEBAR):return{transform:"translateX(40vw) translateY(-42.5vh) translateY(40px) scale(0.2)"};case(index2===1&&active===ADDONS):return{transform:"translateX(-40vw) translateY(-42.5vh) translateY(40px) scale(0.2)"};case(index2===2&&active===ADDONS):return{transform:"translateX(0px)"};default:return{}}}),Panels=import_react7.default.memo(({children,active,isFullscreen})=>import_react7.default.createElement(PanelsContainer,{isFullscreen},import_react7.Children.toArray(children).map((item,index2)=>import_react7.default.createElement(Pane,{key:index2,index:index2,active},item))));Panels.displayName="Panels";var PanelsContainer=newStyled.div({position:"fixed",top:0,left:0,width:"100vw"},({isFullscreen})=>({height:isFullscreen?"100vh":"calc(100% - 40px)"})),Bar2=newStyled.nav({position:"fixed",bottom:0,left:0,width:"100vw",height:40,display:"flex",boxShadow:"0 1px 5px 0 rgba(0, 0, 0, 0.1)","& > *":{flex:1}},({theme})=>({background:theme.barBg})),Mobile=({Sidebar:Sidebar5,Preview:Preview4,Panel:Panel3,Notifications,pages,viewMode,options:options3})=>{let[{active},setState]=(0,import_react7.useState)({active:options3.isFullscreen?CANVAS:options3.initialActive||SIDEBAR}),api=useStorybookApi(),handleCanvasClick=(0,import_react7.useCallback)(()=>{setState({active:CANVAS});let id=api.retrieveSelection();id?api.selectStory(id):api.selectFirstStory()},[]),handleSideBarClick=(0,import_react7.useCallback)(()=>{setState({active:SIDEBAR});let id=api.retrieveSelection();id?api.selectStory(id):api.selectFirstStory()},[]);return import_react7.default.createElement(Root,null,import_react7.default.createElement(Notifications,{placement:{position:"fixed",bottom:60,left:20,right:20}}),import_react7.default.createElement(Panels,{active,isFullscreen:options3.isFullscreen},import_react7.default.createElement(Sidebar5,null),import_react7.default.createElement("div",null,import_react7.default.createElement("div",{hidden:viewMode!=="docs"&&viewMode!=="story"},import_react7.default.createElement(Preview4,{showToolbar:options3.showToolbar,id:"main",viewMode})),pages.map(({id,render:Content3})=>import_react7.default.createElement(import_react7.Fragment,{key:id},import_react7.default.createElement(Content3,null)))),import_react7.default.createElement(Panel3,{hidden:viewMode!=="story"})),!options3.isFullscreen&&import_react7.default.createElement(Bar2,null,import_react7.default.createElement(TabButton,{onClick:handleSideBarClick,active:active===SIDEBAR},"Sidebar"),import_react7.default.createElement(TabButton,{onClick:handleCanvasClick,active:active===CANVAS&&(viewMode==="docs"||viewMode==="story")},"Canvas"),import_react7.default.createElement(Location,null,({path})=>import_react7.default.createElement(import_react7.default.Fragment,null,pages.map(({id,title,url})=>import_react7.default.createElement(TabButton,{key:id,onClick:()=>{setState({active:CANVAS}),api.navigateUrl(url,{plain:!1})},active:active===CANVAS&&path.startsWith(url)},title)))),viewMode==="story"&&options3.showPanel?import_react7.default.createElement(TabButton,{onClick:()=>setState({active:ADDONS}),active:active===ADDONS},"Addons"):null))};var import_react9=__toESM(require_react());var import_react8=__toESM(require_react());var import_store22=__toESM(require_store2()),import_debounce=__toESM(require_debounce()),import_memoizerific5=__toESM(require_memoizerific());var get3=()=>{try{return import_store22.default.local.get("storybook-layout")||!1}catch(e3){return console.error(e3),!1}},write=(0,import_memoizerific5.default)(1)(changes=>{try{import_store22.default.local.set("storybook-layout",changes)}catch(e3){console.error(e3)}}),set2=(0,import_debounce.default)(write,500);var import_react_draggable=__toESM(require_cjs());var Handle=newStyled.div(({theme})=>({zIndex:10,position:"absolute",top:0,left:0,display:"flex",justifyContent:"center",alignItems:"center",overflow:"hidden",transition:"color 0.2s linear, background-size 0.2s linear, background 0.2s linear, background-position 0s linear"}),({axis})=>({cursor:axis==="x"?"col-resize":"row-resize"}),({axis})=>axis==="x"?{height:"100%",width:10,marginLeft:-10}:{height:10,width:"100%",marginTop:-10},({axis,isDragging})=>{if(axis==="y"){let style={backgroundImage:"radial-gradient(at center center,rgba(0,0,0,0.2) 0%,transparent 70%,transparent 100%)",backgroundSize:"100% 50px",backgroundPosition:"50% 0",backgroundRepeat:"no-repeat"};return isDragging?style:{...style,backgroundPosition:"50% 10px","&:hover":style}}if(axis==="x"){let style={backgroundImage:"radial-gradient(at center center,rgba(0,0,0,0.2) 0%,transparent 70%,transparent 100%)",backgroundSize:"50px 100%",backgroundPosition:"0 50%",backgroundRepeat:"no-repeat"};return isDragging?style:{...style,backgroundPosition:"10px 50%","&:hover":style}}return{}});var MIN_NAV_WIDTH=200,MIN_CANVAS_WIDTH=200,MIN_CANVAS_HEIGHT=200,MIN_PANEL_WIDTH=220,MIN_PANEL_HEIGHT=200,DEFAULT_NAV_WIDTH=230,DEFAULT_PANEL_WIDTH=400,Pane2=newStyled.div({position:"absolute",boxSizing:"border-box",top:0,left:0,width:"100%",height:"100%"},({hidden})=>hidden?{opacity:0}:{opacity:1},({top})=>top?{zIndex:9}:{},({border,theme})=>{switch(border){case"left":return{borderLeft:`1px solid ${theme.appBorderColor}`};case"right":return{borderRight:`1px solid ${theme.appBorderColor}`};case"top":return{borderTop:`1px solid ${theme.appBorderColor}`};case"bottom":return{borderBottom:`1px solid ${theme.appBorderColor}`};default:return{}}},({animate})=>animate?{transition:["width","height","top","left","background","opacity","transform"].map(p2=>`${p2} 0.1s ease-out`).join(",")}:{}),Paper=newStyled.div({position:"absolute",top:0,left:0,width:"100%",height:"100%"},({isFullscreen,theme})=>isFullscreen?{boxShadow:"none",borderRadius:0}:{borderTopLeftRadius:theme.appBorderRadius===0?theme.appBorderRadius:theme.appBorderRadius+1,borderBottomLeftRadius:theme.appBorderRadius===0?theme.appBorderRadius:theme.appBorderRadius+1,overflow:"hidden",boxShadow:theme.base==="light"?"0 1px 3px 1px rgba(0, 0, 0, 0.05), 0px 0 0px 1px rgba(0, 0, 0, 0.05)":`0px 0 0px 1px ${theme.appBorderColor}`,transform:"translateZ(0)"}),Sidebar=({hidden=!1,children,position=void 0,...props})=>hidden?null:import_react8.default.createElement(Pane2,{style:position,...props},children),Main=({isFullscreen=!1,children,position=void 0,...props})=>import_react8.default.createElement(Pane2,{style:position,top:!0,...props,role:"main"},import_react8.default.createElement(Paper,{isFullscreen},children)),Preview=({hidden=!1,children,position=void 0,...props})=>import_react8.default.createElement(Pane2,{style:position,top:!0,hidden,...props},children),Panel=({hidden=!1,children,position=void 0,align="right",...props})=>import_react8.default.createElement(Pane2,{style:position,hidden,...props,border:align==="bottom"?"top":"left"},children),HoverBlocker=newStyled.div({position:"absolute",left:0,top:0,zIndex:15,height:"100vh",width:"100vw"}),getPreviewPosition=({panelPosition,isPanelHidden,isNavHidden,isFullscreen,bounds,resizerPanel,resizerNav,margin})=>{if(isFullscreen||isPanelHidden)return{};let navX=isNavHidden?0:resizerNav.x,panelX=resizerPanel.x,panelY=resizerPanel.y;return panelPosition==="bottom"?{height:panelY-margin,left:0,top:0,width:bounds.width-navX-2*margin}:{height:bounds.height-2*margin,left:0,top:0,width:panelX-navX-margin}},getMainPosition=({bounds,resizerNav,isNavHidden,isFullscreen,margin})=>{if(isFullscreen)return{};let navX=isNavHidden?0:resizerNav.x;return{height:bounds.height-margin*2,left:navX+margin,top:margin,width:bounds.width-navX-margin*2}},getPanelPosition=({isPanelBottom,isPanelHidden,isNavHidden,bounds,resizerPanel,resizerNav,margin})=>{let navX=isNavHidden?0:resizerNav.x,panelX=resizerPanel.x,panelY=resizerPanel.y;return isPanelBottom&&isPanelHidden?{height:bounds.height-panelY-margin,left:0,top:panelY-margin,width:bounds.width-navX-2*margin}:!isPanelBottom&&isPanelHidden?{height:bounds.height-2*margin,left:panelX-navX-margin,top:0,width:bounds.width-panelX-margin}:isPanelBottom?{height:bounds.height-panelY-margin,left:0,top:panelY-margin,width:bounds.width-navX-2*margin}:{height:bounds.height-2*margin,left:panelX-navX-margin,top:0,width:bounds.width-panelX-margin}},Layout=class extends import_react8.Component{constructor(props){super(props);this.resizeNav=(e3,data)=>{data.deltaX&&this.setState({resizerNav:{x:data.x,y:data.y}})};this.resizePanel=(e3,data)=>{let{options:options3}=this.props;(data.deltaY&&options3.panelPosition==="bottom"||data.deltaX&&options3.panelPosition==="right")&&this.setState({resizerPanel:{x:data.x,y:data.y}})};this.setDragNav=()=>{this.setState({isDragging:"nav"})};this.setDragPanel=()=>{this.setState({isDragging:"panel"})};this.unsetDrag=()=>{this.setState({isDragging:!1})};this.navRef=import_react8.default.createRef(),this.panelRef=import_react8.default.createRef();let{bounds,options:options3}=props,{resizerNav,resizerPanel}=get3();this.state={isDragging:!1,resizerNav:resizerNav||{x:DEFAULT_NAV_WIDTH,y:0},resizerPanel:resizerPanel||(options3.panelPosition==="bottom"?{x:0,y:Math.round(bounds.height*.6)}:{x:bounds.width-DEFAULT_PANEL_WIDTH,y:0})}}static getDerivedStateFromProps(props,state){let{bounds,options:options3}=props,{resizerPanel,resizerNav}=state,isNavHidden=options3.isFullscreen||!options3.showNav,isPanelHidden=options3.isFullscreen||!options3.showPanel,{panelPosition}=options3,isPanelRight=panelPosition==="right",isPanelBottom=panelPosition==="bottom",navX=resizerNav.x,panelX=resizerPanel.x,panelY=resizerPanel.y,mutation={};if(!isNavHidden){let minMainWidth=MIN_CANVAS_WIDTH+(!isPanelHidden&&isPanelRight?MIN_PANEL_WIDTH:0),maxNavX=bounds.width-minMainWidth,minNavX=MIN_NAV_WIDTH;navX>maxNavX?mutation.resizerNav={x:maxNavX,y:0}:(navX<minNavX||maxNavX<minNavX)&&(mutation.resizerNav={x:minNavX,y:0})}if(isPanelRight&&!isPanelHidden){let maxPanelX=bounds.width-MIN_PANEL_WIDTH,minPanelX=navX+MIN_CANVAS_WIDTH;panelX>maxPanelX||panelX===0?mutation.resizerPanel={x:maxPanelX,y:0}:panelX<minPanelX&&(mutation.resizerPanel={x:minPanelX,y:0})}if(isPanelBottom&&!isPanelHidden){let maxPanelY=bounds.height-MIN_PANEL_HEIGHT;(panelY>maxPanelY||panelY===0)&&(mutation.resizerPanel={x:0,y:bounds.height-200})}return mutation.resizerPanel||mutation.resizerNav?{...state,...mutation}:state}componentDidUpdate(prevProps,prevState){let{resizerPanel,resizerNav}=this.state;set2({resizerPanel,resizerNav});let{width:prevWidth,height:prevHeight}=prevProps.bounds,{bounds,options:options3}=this.props,{width,height}=bounds;if(width!==prevWidth||height!==prevHeight){let{panelPosition}=options3;panelPosition==="bottom"?this.setState({resizerPanel:{x:prevState.resizerPanel.x,y:prevState.resizerPanel.y-(prevHeight-height)}}):this.setState({resizerPanel:{x:prevState.resizerPanel.x-(prevWidth-width),y:prevState.resizerPanel.y}})}}render(){let{children,bounds,options:options3,viewMode,panelCount}=this.props,{isDragging,resizerNav,resizerPanel}=this.state,margin=0,isNavHidden=options3.isFullscreen||!options3.showNav,isPanelHidden=options3.isFullscreen||!options3.showPanel||viewMode!=="story"||panelCount===0,isFullscreen=options3.isFullscreen||isNavHidden&&isPanelHidden,{showToolbar}=options3,{panelPosition}=options3,isPanelBottom=panelPosition==="bottom",isPanelRight=panelPosition==="right",panelX=resizerPanel.x,navX=resizerNav.x;return bounds?import_react8.default.createElement(import_react8.Fragment,null,isNavHidden?null:import_react8.default.createElement(import_react_draggable.default,{axis:"x",position:resizerNav,bounds:{left:MIN_NAV_WIDTH,top:0,right:isPanelRight&&!isPanelHidden?panelX-MIN_CANVAS_WIDTH:bounds.width-MIN_CANVAS_WIDTH,bottom:0},onStart:this.setDragNav,onDrag:this.resizeNav,onStop:this.unsetDrag,nodeRef:this.navRef},import_react8.default.createElement(Handle,{ref:this.navRef,axis:"x",isDragging:isDragging==="nav"})),isPanelHidden?null:import_react8.default.createElement(import_react_draggable.default,{axis:isPanelBottom?"y":"x",position:resizerPanel,bounds:isPanelBottom?{left:0,top:MIN_CANVAS_HEIGHT,right:0,bottom:bounds.height-MIN_PANEL_HEIGHT}:{left:isNavHidden?MIN_CANVAS_WIDTH:navX+MIN_CANVAS_WIDTH,top:0,right:bounds.width-MIN_PANEL_WIDTH,bottom:0},onStart:this.setDragPanel,onDrag:this.resizePanel,onStop:this.unsetDrag,nodeRef:this.panelRef},import_react8.default.createElement(Handle,{ref:this.panelRef,isDragging:isDragging==="panel",style:isPanelBottom?{left:navX+margin,width:bounds.width-navX-2*margin,marginTop:-10}:{marginLeft:-10},axis:isPanelBottom?"y":"x"})),isDragging?import_react8.default.createElement(HoverBlocker,null):null,children({mainProps:{viewMode,animate:!isDragging,isFullscreen,position:getMainPosition({bounds,resizerNav,isNavHidden,isFullscreen,margin})},previewProps:{viewMode,animate:!isDragging,isFullscreen,showToolbar,position:getPreviewPosition({isFullscreen,isNavHidden,isPanelHidden,resizerNav,resizerPanel,bounds,panelPosition,margin})},navProps:{viewMode,animate:!isDragging,hidden:isNavHidden,position:{height:bounds.height,left:0,top:0,width:navX+margin}},panelProps:{viewMode,animate:!isDragging,align:options3.panelPosition,hidden:isPanelHidden,position:getPanelPosition({isPanelBottom,isPanelHidden,isNavHidden,bounds,resizerPanel,resizerNav,margin})}})):null}};Layout.defaultProps={viewMode:void 0};var ThemedLayout=withTheme(Layout);var Desktop=Object.assign(import_react9.default.memo(function({Panel:Panel3,Sidebar:Sidebar5,Preview:Preview4,Notifications,pages,options:options3,viewMode=void 0,width=0,height=0,panelCount}){return import_react9.default.createElement(import_react9.Fragment,null,import_react9.default.createElement(Notifications,{placement:{position:"fixed",bottom:20,left:20}}),width&&height?import_react9.default.createElement(ThemedLayout,{options:options3,bounds:{width,height,top:0,left:0},viewMode,panelCount},({navProps,mainProps,panelProps,previewProps})=>import_react9.default.createElement(import_react9.Fragment,null,import_react9.default.createElement(Sidebar,{...navProps},import_react9.default.createElement(Sidebar5,null)),import_react9.default.createElement(Main,{...mainProps,isFullscreen:!!mainProps.isFullscreen},import_react9.default.createElement(Route2,{path:/(^\/story|docs|onboarding\/|^\/$)/,hideOnly:!0},import_react9.default.createElement(Preview,{...previewProps,hidden:!1},import_react9.default.createElement(Preview4,{id:"main"})),import_react9.default.createElement(Route2,{path:"/story/",startsWith:!0,hideOnly:!0},import_react9.default.createElement(Panel,{...panelProps,hidden:!1},import_react9.default.createElement(Panel3,null)))),pages.map(({id,render:Content3})=>import_react9.default.createElement(import_react9.Fragment,{key:id},import_react9.default.createElement(Content3,null)))))):import_react9.default.createElement("div",{title:JSON.stringify({width,height})}))}),{displayName:"DesktopLayout"});var import_react30=__toESM(require_react());var import_react28=__toESM(require_react());var import_react12=__toESM(require_react());var import_react10=__toESM(require_react());var StorybookLogoStyled=newStyled(StorybookLogo)(({theme})=>({width:"auto",height:"22px !important",display:"block",color:theme.base==="light"?theme.color.defaultText:theme.color.lightest})),Img2=newStyled.img({width:"auto",height:"auto",display:"block",maxWidth:"100%"}),LogoLink=newStyled.a(({theme})=>({display:"inline-block",height:"100%",margin:"-3px -4px",padding:"2px 3px",border:"1px solid transparent",borderRadius:3,color:"inherit",textDecoration:"none","&:focus":{outline:0,borderColor:theme.color.secondary}})),Brand=withTheme(({theme})=>{let{title="Storybook",url="./",image,target}=theme.brand,targetValue=target||(url==="./"?"":"_blank");if(image===null)return title===null?null:url?import_react10.default.createElement(LogoLink,{href:url,target:targetValue,dangerouslySetInnerHTML:{__html:title}}):import_react10.default.createElement("div",{dangerouslySetInnerHTML:{__html:title}});let logo=image?import_react10.default.createElement(Img2,{src:image,alt:title}):import_react10.default.createElement(StorybookLogoStyled,{alt:title});return url?import_react10.default.createElement(LogoLink,{title,href:url,target:targetValue},logo):import_react10.default.createElement("div",null,logo)});var import_react11=__toESM(require_react());function _extends4(){return _extends4=Object.assign?Object.assign.bind():function(target){for(var i3=1;i3<arguments.length;i3++){var source2=arguments[i3];for(var key2 in source2)Object.prototype.hasOwnProperty.call(source2,key2)&&(target[key2]=source2[key2])}return target},_extends4.apply(this,arguments)}function _assertThisInitialized2(self2){if(self2===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self2}function _setPrototypeOf2(o2,p2){return _setPrototypeOf2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o3,p3){return o3.__proto__=p3,o3},_setPrototypeOf2(o2,p2)}function _inheritsLoose2(subClass,superClass){subClass.prototype=Object.create(superClass.prototype),subClass.prototype.constructor=subClass,_setPrototypeOf2(subClass,superClass)}function _getPrototypeOf2(o2){return _getPrototypeOf2=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(o3){return o3.__proto__||Object.getPrototypeOf(o3)},_getPrototypeOf2(o2)}function _isNativeFunction2(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _isNativeReflectConstruct2(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _construct2(Parent,args2,Class){return _isNativeReflectConstruct2()?_construct2=Reflect.construct.bind():_construct2=function(Parent2,args3,Class2){var a2=[null];a2.push.apply(a2,args3);var Constructor=Function.bind.apply(Parent2,a2),instance=new Constructor;return Class2&&_setPrototypeOf2(instance,Class2.prototype),instance},_construct2.apply(null,arguments)}function _wrapNativeSuper2(Class){var _cache=typeof Map=="function"?new Map:void 0;return _wrapNativeSuper2=function(Class2){if(Class2===null||!_isNativeFunction2(Class2))return Class2;if(typeof Class2!="function")throw new TypeError("Super expression must either be null or a function");if(typeof _cache<"u"){if(_cache.has(Class2))return _cache.get(Class2);_cache.set(Class2,Wrapper5)}function Wrapper5(){return _construct2(Class2,arguments,_getPrototypeOf2(this).constructor)}return Wrapper5.prototype=Object.create(Class2.prototype,{constructor:{value:Wrapper5,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf2(Wrapper5,Class2)},_wrapNativeSuper2(Class)}var ERRORS2={1:`Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).
248
+ `,ClipboardCode=({code,...props})=>import_react6.default.createElement(Code2,{id:"clipboard-code",...props},code),components2=components,resetComponents={};Object.keys(components).forEach(key2=>{resetComponents[key2]=(0,import_react6.forwardRef)((props,ref)=>(0,import_react6.createElement)(key2,{...props,ref}))});var import_react7=__toESM(require_react());var Root=newStyled.div({position:"fixed",left:0,top:0,width:"100vw",height:"100vh",overflow:"hidden"});var{SIDEBAR,CANVAS,ADDONS}=ActiveTabs2,Pane=newStyled.div({transition:"transform .2s ease",position:"absolute",top:0,height:"100%",overflow:"auto"},({theme})=>({background:theme.background.content,"&:nth-of-type(1)":{borderRight:`1px solid ${theme.appBorderColor}`},"&:nth-of-type(3)":{borderLeft:`1px solid ${theme.appBorderColor}`}}),({index:index2})=>{switch(index2){case 0:return{width:"80vw",transform:"translateX(-80vw)",left:0};case 1:return{width:"100%",transform:"translateX(0) scale(1)",left:0};case 2:return{width:"80vw",transform:"translateX(80vw)",right:0};default:return{}}},({active,index:index2})=>{switch(!0){case(index2===0&&active===SIDEBAR):return{transform:"translateX(-0px)"};case(index2===1&&active===SIDEBAR):return{transform:"translateX(40vw) translateY(-42.5vh) translateY(40px) scale(0.2)"};case(index2===1&&active===ADDONS):return{transform:"translateX(-40vw) translateY(-42.5vh) translateY(40px) scale(0.2)"};case(index2===2&&active===ADDONS):return{transform:"translateX(0px)"};default:return{}}}),Panels=import_react7.default.memo(({children,active,isFullscreen})=>import_react7.default.createElement(PanelsContainer,{isFullscreen},import_react7.Children.toArray(children).map((item,index2)=>import_react7.default.createElement(Pane,{key:index2,index:index2,active},item))));Panels.displayName="Panels";var PanelsContainer=newStyled.div({position:"fixed",top:0,left:0,width:"100vw"},({isFullscreen})=>({height:isFullscreen?"100vh":"calc(100% - 40px)"})),Bar2=newStyled.nav({position:"fixed",bottom:0,left:0,width:"100vw",height:40,display:"flex",boxShadow:"0 1px 5px 0 rgba(0, 0, 0, 0.1)","& > *":{flex:1}},({theme})=>({background:theme.barBg})),Mobile=({Sidebar:Sidebar5,Preview:Preview4,Panel:Panel3,Notifications,pages,viewMode,options:options3})=>{let[{active},setState]=(0,import_react7.useState)({active:options3.isFullscreen?CANVAS:options3.initialActive||SIDEBAR}),api=useStorybookApi(),handleCanvasClick=(0,import_react7.useCallback)(()=>{setState({active:CANVAS});let id=api.retrieveSelection();id?api.selectStory(id):api.selectFirstStory()},[]),handleSideBarClick=(0,import_react7.useCallback)(()=>{setState({active:SIDEBAR});let id=api.retrieveSelection();id?api.selectStory(id):api.selectFirstStory()},[]);return import_react7.default.createElement(Root,null,import_react7.default.createElement(Notifications,{placement:{position:"fixed",bottom:60,left:20,right:20}}),import_react7.default.createElement(Panels,{active,isFullscreen:options3.isFullscreen},import_react7.default.createElement(Sidebar5,null),import_react7.default.createElement("div",null,import_react7.default.createElement("div",{hidden:viewMode!=="docs"&&viewMode!=="story"},import_react7.default.createElement(Preview4,{showToolbar:options3.showToolbar,id:"main",viewMode})),pages.map(({id,render:Content3})=>import_react7.default.createElement(import_react7.Fragment,{key:id},import_react7.default.createElement(Content3,null)))),import_react7.default.createElement(Panel3,{hidden:viewMode!=="story"})),!options3.isFullscreen&&import_react7.default.createElement(Bar2,null,import_react7.default.createElement(TabButton,{onClick:handleSideBarClick,active:active===SIDEBAR},"Sidebar"),import_react7.default.createElement(TabButton,{onClick:handleCanvasClick,active:active===CANVAS&&(viewMode==="docs"||viewMode==="story")},"Canvas"),import_react7.default.createElement(Location,null,({path})=>import_react7.default.createElement(import_react7.default.Fragment,null,pages.map(({id,title,url})=>import_react7.default.createElement(TabButton,{key:id,onClick:()=>{setState({active:CANVAS}),api.navigateUrl(url,{plain:!1})},active:active===CANVAS&&path.startsWith(url)},title)))),viewMode==="story"&&options3.showPanel?import_react7.default.createElement(TabButton,{onClick:()=>setState({active:ADDONS}),active:active===ADDONS},"Addons"):null))};var import_react9=__toESM(require_react());var import_react8=__toESM(require_react());var import_store22=__toESM(require_store2()),import_debounce=__toESM(require_debounce()),import_memoizerific5=__toESM(require_memoizerific());var get3=()=>{try{return import_store22.default.local.get("storybook-layout")||!1}catch(e3){return console.error(e3),!1}},write=(0,import_memoizerific5.default)(1)(changes=>{try{import_store22.default.local.set("storybook-layout",changes)}catch(e3){console.error(e3)}}),set2=(0,import_debounce.default)(write,500);var import_react_draggable=__toESM(require_cjs());var Handle=newStyled.div(({theme})=>({zIndex:10,position:"absolute",top:0,left:0,display:"flex",justifyContent:"center",alignItems:"center",overflow:"hidden",transition:"color 0.2s linear, background-size 0.2s linear, background 0.2s linear, background-position 0s linear"}),({axis})=>({cursor:axis==="x"?"col-resize":"row-resize"}),({axis})=>axis==="x"?{height:"100%",width:10,marginLeft:-10}:{height:10,width:"100%",marginTop:-10},({axis,isDragging})=>{if(axis==="y"){let style={backgroundImage:"radial-gradient(at center center,rgba(0,0,0,0.2) 0%,transparent 70%,transparent 100%)",backgroundSize:"100% 50px",backgroundPosition:"50% 0",backgroundRepeat:"no-repeat"};return isDragging?style:{...style,backgroundPosition:"50% 10px","&:hover":style}}if(axis==="x"){let style={backgroundImage:"radial-gradient(at center center,rgba(0,0,0,0.2) 0%,transparent 70%,transparent 100%)",backgroundSize:"50px 100%",backgroundPosition:"0 50%",backgroundRepeat:"no-repeat"};return isDragging?style:{...style,backgroundPosition:"10px 50%","&:hover":style}}return{}});var MIN_NAV_WIDTH=200,MIN_CANVAS_WIDTH=200,MIN_CANVAS_HEIGHT=200,MIN_PANEL_WIDTH=220,MIN_PANEL_HEIGHT=200,DEFAULT_NAV_WIDTH=230,DEFAULT_PANEL_WIDTH=400,Pane2=newStyled.div({position:"absolute",boxSizing:"border-box",top:0,left:0,width:"100%",height:"100%"},({hidden})=>hidden?{opacity:0}:{opacity:1},({top})=>top?{zIndex:9}:{},({border,theme})=>{switch(border){case"left":return{borderLeft:`1px solid ${theme.appBorderColor}`};case"right":return{borderRight:`1px solid ${theme.appBorderColor}`};case"top":return{borderTop:`1px solid ${theme.appBorderColor}`};case"bottom":return{borderBottom:`1px solid ${theme.appBorderColor}`};default:return{}}},({animate})=>animate?{transition:["width","height","top","left","background","opacity","transform"].map(p2=>`${p2} 0.1s ease-out`).join(",")}:{}),Paper=newStyled.div({position:"absolute",top:0,left:0,width:"100%",height:"100%"},({isFullscreen,theme})=>isFullscreen?{boxShadow:"none",borderRadius:0}:{borderTopLeftRadius:theme.appBorderRadius===0?theme.appBorderRadius:theme.appBorderRadius+1,borderBottomLeftRadius:theme.appBorderRadius===0?theme.appBorderRadius:theme.appBorderRadius+1,overflow:"hidden",boxShadow:theme.base==="light"?"0 1px 3px 1px rgba(0, 0, 0, 0.05), 0px 0 0px 1px rgba(0, 0, 0, 0.05)":`0px 0 0px 1px ${theme.appBorderColor}`,transform:"translateZ(0)"}),Sidebar=({hidden=!1,children,position=void 0,...props})=>hidden?null:import_react8.default.createElement(Pane2,{style:position,...props},children),Main=({isFullscreen=!1,children,position=void 0,...props})=>import_react8.default.createElement(Pane2,{style:position,top:!0,...props,role:"main"},import_react8.default.createElement(Paper,{isFullscreen},children)),Preview=({hidden=!1,children,position=void 0,...props})=>import_react8.default.createElement(Pane2,{style:position,top:!0,hidden,...props},children),Panel=({hidden=!1,children,position=void 0,align="right",...props})=>import_react8.default.createElement(Pane2,{style:position,hidden,...props,border:align==="bottom"?"top":"left"},children),HoverBlocker=newStyled.div({position:"absolute",left:0,top:0,zIndex:15,height:"100vh",width:"100vw"}),getPreviewPosition=({panelPosition,isPanelHidden,isNavHidden,isFullscreen,bounds,resizerPanel,resizerNav,margin})=>{if(isFullscreen||isPanelHidden)return{};let navX=isNavHidden?0:resizerNav.x,panelX=resizerPanel.x,panelY=resizerPanel.y;return panelPosition==="bottom"?{height:panelY-margin,left:0,top:0,width:bounds.width-navX-2*margin}:{height:bounds.height-2*margin,left:0,top:0,width:panelX-navX-margin}},getMainPosition=({bounds,resizerNav,isNavHidden,isFullscreen,margin})=>{if(isFullscreen)return{};let navX=isNavHidden?0:resizerNav.x;return{height:bounds.height-margin*2,left:navX+margin,top:margin,width:bounds.width-navX-margin*2}},getPanelPosition=({isPanelBottom,isPanelHidden,isNavHidden,bounds,resizerPanel,resizerNav,margin})=>{let navX=isNavHidden?0:resizerNav.x,panelX=resizerPanel.x,panelY=resizerPanel.y;return isPanelBottom&&isPanelHidden?{height:bounds.height-panelY-margin,left:0,top:panelY-margin,width:bounds.width-navX-2*margin}:!isPanelBottom&&isPanelHidden?{height:bounds.height-2*margin,left:panelX-navX-margin,top:0,width:bounds.width-panelX-margin}:isPanelBottom?{height:bounds.height-panelY-margin,left:0,top:panelY-margin,width:bounds.width-navX-2*margin}:{height:bounds.height-2*margin,left:panelX-navX-margin,top:0,width:bounds.width-panelX-margin}},Layout=class extends import_react8.Component{constructor(props){super(props);this.resizeNav=(e3,data)=>{data.deltaX&&this.setState({resizerNav:{x:data.x,y:data.y}})};this.resizePanel=(e3,data)=>{let{options:options3}=this.props;(data.deltaY&&options3.panelPosition==="bottom"||data.deltaX&&options3.panelPosition==="right")&&this.setState({resizerPanel:{x:data.x,y:data.y}})};this.setDragNav=()=>{this.setState({isDragging:"nav"})};this.setDragPanel=()=>{this.setState({isDragging:"panel"})};this.unsetDrag=()=>{this.setState({isDragging:!1})};this.navRef=import_react8.default.createRef(),this.panelRef=import_react8.default.createRef();let{bounds,options:options3}=props,{resizerNav,resizerPanel}=get3();this.state={isDragging:!1,resizerNav:resizerNav||{x:DEFAULT_NAV_WIDTH,y:0},resizerPanel:resizerPanel||(options3.panelPosition==="bottom"?{x:0,y:Math.round(bounds.height*.6)}:{x:bounds.width-DEFAULT_PANEL_WIDTH,y:0})}}static getDerivedStateFromProps(props,state){let{bounds,options:options3}=props,{resizerPanel,resizerNav}=state,isNavHidden=options3.isFullscreen||!options3.showNav,isPanelHidden=options3.isFullscreen||!options3.showPanel,{panelPosition}=options3,isPanelRight=panelPosition==="right",isPanelBottom=panelPosition==="bottom",navX=resizerNav.x,panelX=resizerPanel.x,panelY=resizerPanel.y,mutation={};if(!isNavHidden){let minMainWidth=MIN_CANVAS_WIDTH+(!isPanelHidden&&isPanelRight?MIN_PANEL_WIDTH:0),maxNavX=bounds.width-minMainWidth,minNavX=MIN_NAV_WIDTH;navX>maxNavX?mutation.resizerNav={x:maxNavX,y:0}:(navX<minNavX||maxNavX<minNavX)&&(mutation.resizerNav={x:minNavX,y:0})}if(isPanelRight&&!isPanelHidden){let maxPanelX=bounds.width-MIN_PANEL_WIDTH,minPanelX=navX+MIN_CANVAS_WIDTH;panelX>maxPanelX||panelX===0?mutation.resizerPanel={x:maxPanelX,y:0}:panelX<minPanelX&&(mutation.resizerPanel={x:minPanelX,y:0})}if(isPanelBottom&&!isPanelHidden){let maxPanelY=bounds.height-MIN_PANEL_HEIGHT;(panelY>maxPanelY||panelY===0)&&(mutation.resizerPanel={x:0,y:bounds.height-200})}return mutation.resizerPanel||mutation.resizerNav?{...state,...mutation}:state}componentDidUpdate(prevProps,prevState){let{resizerPanel,resizerNav}=this.state;set2({resizerPanel,resizerNav});let{width:prevWidth,height:prevHeight}=prevProps.bounds,{bounds,options:options3}=this.props,{width,height}=bounds;if(width!==prevWidth||height!==prevHeight){let{panelPosition}=options3;panelPosition==="bottom"?this.setState({resizerPanel:{x:prevState.resizerPanel.x,y:prevState.resizerPanel.y-(prevHeight-height)}}):this.setState({resizerPanel:{x:prevState.resizerPanel.x-(prevWidth-width),y:prevState.resizerPanel.y}})}}render(){let{children,bounds,options:options3,viewMode,panelCount}=this.props,{isDragging,resizerNav,resizerPanel}=this.state,margin=0,isNavHidden=options3.isFullscreen||!options3.showNav,isPanelHidden=options3.isFullscreen||!options3.showPanel||viewMode!=="story"||panelCount===0,isFullscreen=options3.isFullscreen||isNavHidden&&isPanelHidden,{showToolbar}=options3,{panelPosition}=options3,isPanelBottom=panelPosition==="bottom",isPanelRight=panelPosition==="right",panelX=resizerPanel.x,navX=resizerNav.x;return bounds?import_react8.default.createElement(import_react8.Fragment,null,isNavHidden?null:import_react8.default.createElement(import_react_draggable.default,{axis:"x",position:resizerNav,bounds:{left:MIN_NAV_WIDTH,top:0,right:isPanelRight&&!isPanelHidden?panelX-MIN_CANVAS_WIDTH:bounds.width-MIN_CANVAS_WIDTH,bottom:0},onStart:this.setDragNav,onDrag:this.resizeNav,onStop:this.unsetDrag,nodeRef:this.navRef},import_react8.default.createElement(Handle,{ref:this.navRef,axis:"x",isDragging:isDragging==="nav"})),isPanelHidden?null:import_react8.default.createElement(import_react_draggable.default,{axis:isPanelBottom?"y":"x",position:resizerPanel,bounds:isPanelBottom?{left:0,top:MIN_CANVAS_HEIGHT,right:0,bottom:bounds.height-MIN_PANEL_HEIGHT}:{left:isNavHidden?MIN_CANVAS_WIDTH:navX+MIN_CANVAS_WIDTH,top:0,right:bounds.width-MIN_PANEL_WIDTH,bottom:0},onStart:this.setDragPanel,onDrag:this.resizePanel,onStop:this.unsetDrag,nodeRef:this.panelRef},import_react8.default.createElement(Handle,{ref:this.panelRef,isDragging:isDragging==="panel",style:isPanelBottom?{left:navX+margin,width:bounds.width-navX-2*margin,marginTop:-10}:{marginLeft:-10},axis:isPanelBottom?"y":"x"})),isDragging?import_react8.default.createElement(HoverBlocker,null):null,children({mainProps:{viewMode,animate:!isDragging,isFullscreen,position:getMainPosition({bounds,resizerNav,isNavHidden,isFullscreen,margin})},previewProps:{viewMode,animate:!isDragging,isFullscreen,showToolbar,position:getPreviewPosition({isFullscreen,isNavHidden,isPanelHidden,resizerNav,resizerPanel,bounds,panelPosition,margin})},navProps:{viewMode,animate:!isDragging,hidden:isNavHidden,position:{height:bounds.height,left:0,top:0,width:navX+margin}},panelProps:{viewMode,animate:!isDragging,align:options3.panelPosition,hidden:isPanelHidden,position:getPanelPosition({isPanelBottom,isPanelHidden,isNavHidden,bounds,resizerPanel,resizerNav,margin})}})):null}};Layout.defaultProps={viewMode:void 0};var ThemedLayout=withTheme(Layout);var Desktop=Object.assign(import_react9.default.memo(function({Panel:Panel3,Sidebar:Sidebar5,Preview:Preview4,Notifications,pages,options:options3,viewMode=void 0,width=0,height=0,panelCount}){return import_react9.default.createElement(import_react9.Fragment,null,import_react9.default.createElement(Notifications,{placement:{position:"fixed",bottom:20,left:20}}),width&&height?import_react9.default.createElement(ThemedLayout,{options:options3,bounds:{width,height,top:0,left:0},viewMode,panelCount},({navProps,mainProps,panelProps,previewProps})=>import_react9.default.createElement(import_react9.Fragment,null,import_react9.default.createElement(Sidebar,{...navProps},import_react9.default.createElement(Sidebar5,null)),import_react9.default.createElement(Main,{...mainProps,isFullscreen:!!mainProps.isFullscreen},import_react9.default.createElement(Route2,{path:/(^\/story|docs|onboarding\/|^\/$)/,hideOnly:!0},import_react9.default.createElement(Preview,{...previewProps,hidden:!1},import_react9.default.createElement(Preview4,{id:"main"})),import_react9.default.createElement(Route2,{path:"/story/",startsWith:!0,hideOnly:!0},import_react9.default.createElement(Panel,{...panelProps,hidden:!1},import_react9.default.createElement(Panel3,null)))),pages.map(({id,render:Content3})=>import_react9.default.createElement(import_react9.Fragment,{key:id},import_react9.default.createElement(Content3,null)))))):import_react9.default.createElement("div",{title:JSON.stringify({width,height})}))}),{displayName:"DesktopLayout"});var import_react30=__toESM(require_react());var import_react28=__toESM(require_react());var import_react12=__toESM(require_react());var import_react10=__toESM(require_react());var StorybookLogoStyled=newStyled(StorybookLogo)(({theme})=>({width:"auto",height:"22px !important",display:"block",color:theme.base==="light"?theme.color.defaultText:theme.color.lightest})),Img2=newStyled.img({display:"block",maxWidth:"150px",maxHeight:"100px"}),LogoLink=newStyled.a(({theme})=>({display:"inline-block",height:"100%",margin:"-3px -4px",padding:"2px 3px",border:"1px solid transparent",borderRadius:3,color:"inherit",textDecoration:"none","&:focus":{outline:0,borderColor:theme.color.secondary}})),Brand=withTheme(({theme})=>{let{title="Storybook",url="./",image,target}=theme.brand,targetValue=target||(url==="./"?"":"_blank");if(image===null)return title===null?null:url?import_react10.default.createElement(LogoLink,{href:url,target:targetValue,dangerouslySetInnerHTML:{__html:title}}):import_react10.default.createElement("div",{dangerouslySetInnerHTML:{__html:title}});let logo=image?import_react10.default.createElement(Img2,{src:image,alt:title}):import_react10.default.createElement(StorybookLogoStyled,{alt:title});return url?import_react10.default.createElement(LogoLink,{title,href:url,target:targetValue},logo):import_react10.default.createElement("div",null,logo)});var import_react11=__toESM(require_react());function _extends4(){return _extends4=Object.assign?Object.assign.bind():function(target){for(var i3=1;i3<arguments.length;i3++){var source2=arguments[i3];for(var key2 in source2)Object.prototype.hasOwnProperty.call(source2,key2)&&(target[key2]=source2[key2])}return target},_extends4.apply(this,arguments)}function _assertThisInitialized2(self2){if(self2===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self2}function _setPrototypeOf2(o2,p2){return _setPrototypeOf2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o3,p3){return o3.__proto__=p3,o3},_setPrototypeOf2(o2,p2)}function _inheritsLoose2(subClass,superClass){subClass.prototype=Object.create(superClass.prototype),subClass.prototype.constructor=subClass,_setPrototypeOf2(subClass,superClass)}function _getPrototypeOf2(o2){return _getPrototypeOf2=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(o3){return o3.__proto__||Object.getPrototypeOf(o3)},_getPrototypeOf2(o2)}function _isNativeFunction2(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _isNativeReflectConstruct2(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _construct2(Parent,args2,Class){return _isNativeReflectConstruct2()?_construct2=Reflect.construct.bind():_construct2=function(Parent2,args3,Class2){var a2=[null];a2.push.apply(a2,args3);var Constructor=Function.bind.apply(Parent2,a2),instance=new Constructor;return Class2&&_setPrototypeOf2(instance,Class2.prototype),instance},_construct2.apply(null,arguments)}function _wrapNativeSuper2(Class){var _cache=typeof Map=="function"?new Map:void 0;return _wrapNativeSuper2=function(Class2){if(Class2===null||!_isNativeFunction2(Class2))return Class2;if(typeof Class2!="function")throw new TypeError("Super expression must either be null or a function");if(typeof _cache<"u"){if(_cache.has(Class2))return _cache.get(Class2);_cache.set(Class2,Wrapper5)}function Wrapper5(){return _construct2(Class2,arguments,_getPrototypeOf2(this).constructor)}return Wrapper5.prototype=Object.create(Class2.prototype,{constructor:{value:Wrapper5,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf2(Wrapper5,Class2)},_wrapNativeSuper2(Class)}var ERRORS2={1:`Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).
249
249
 
250
250
  `,2:`Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).
251
251
 
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{Provider,Root,renderStorybookUI}from"./chunk-C2XQFGR4.js";import"./chunk-2IXBUOFS.js";import"./chunk-NGTUFCUO.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{Provider,Root,renderStorybookUI};
1
+ import{Provider,Root,renderStorybookUI}from"./chunk-SJUUEUXH.js";import"./chunk-2IXBUOFS.js";import"./chunk-NGTUFCUO.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{Provider,Root,renderStorybookUI};
package/dist/runtime.js CHANGED
@@ -1 +1 @@
1
- import{Addon_TypesEnum,CHANNEL_CREATED,Provider,TELEMETRY_ERROR,UncaughtManagerError,addons,createBrowserChannel,dist_exports as dist_exports2,dist_exports2 as dist_exports3,dist_exports3 as dist_exports4,dist_exports4 as dist_exports5,dist_exports5 as dist_exports7,mockChannel,renderStorybookUI}from"./chunk-C2XQFGR4.js";import"./chunk-2IXBUOFS.js";import"./chunk-NGTUFCUO.js";import{dist_exports,dist_exports2 as dist_exports6,require_react,require_react_dom,scope}from"./chunk-INSKDKQB.js";import{__commonJS,__toESM}from"./chunk-ZEU7PDD3.js";var require_browser_dtector_umd_min=__commonJS({"../../node_modules/browser-dtector/browser-dtector.umd.min.js"(exports,module){(function(e,o){typeof exports=="object"&&typeof module<"u"?module.exports=o():typeof define=="function"&&define.amd?define(o):(e=typeof globalThis<"u"?globalThis:e||self).BrowserDetector=o()})(exports,function(){"use strict";function e(e2,o2){for(var r2=0;r2<o2.length;r2++){var n2=o2[r2];n2.enumerable=n2.enumerable||!1,n2.configurable=!0,"value"in n2&&(n2.writable=!0),Object.defineProperty(e2,(i2=n2.key,t2=void 0,typeof(t2=function(e3,o3){if(typeof e3!="object"||e3===null)return e3;var r3=e3[Symbol.toPrimitive];if(r3!==void 0){var n3=r3.call(e3,o3||"default");if(typeof n3!="object")return n3;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o3==="string"?String:Number)(e3)}(i2,"string"))=="symbol"?t2:String(t2)),n2)}var i2,t2}var o={chrome:"Google Chrome",brave:"Brave",crios:"Google Chrome",edge:"Microsoft Edge",edg:"Microsoft Edge",edgios:"Microsoft Edge",fennec:"Mozilla Firefox",jsdom:"JsDOM",mozilla:"Mozilla Firefox",fxios:"Mozilla Firefox",msie:"Microsoft Internet Explorer",opera:"Opera",opios:"Opera",opr:"Opera",opt:"Opera",rv:"Microsoft Internet Explorer",safari:"Safari",samsungbrowser:"Samsung Browser",electron:"Electron"},r={android:"Android",androidTablet:"Android Tablet",cros:"Chrome OS",fennec:"Android Tablet",ipad:"IPad",iphone:"IPhone",jsdom:"JsDOM",linux:"Linux",mac:"Macintosh",tablet:"Android Tablet",win:"Windows","windows phone":"Windows Phone",xbox:"Microsoft Xbox"},n=function(e2){var o2=new RegExp("^-?\\d+(?:.\\d{0,".concat(arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,"})?")),r2=Number(e2).toString().match(o2);return r2?r2[0]:null},i=function(){return typeof window<"u"?window.navigator:null},t=function(){function t2(e2){var o2;(function(e3,o3){if(!(e3 instanceof o3))throw new TypeError("Cannot call a class as a function")})(this,t2),this.userAgent=e2||((o2=i())===null||o2===void 0?void 0:o2.userAgent)||null}var a,l,s;return a=t2,l=[{key:"parseUserAgent",value:function(e2){var t3,a2,l2,s2={},c=e2||this.userAgent||"",d=c.toLowerCase().replace(/\s\s+/g," "),u=/(edge)\/([\w.]+)/.exec(d)||/(edg)[/]([\w.]+)/.exec(d)||/(opr)[/]([\w.]+)/.exec(d)||/(opt)[/]([\w.]+)/.exec(d)||/(fxios)[/]([\w.]+)/.exec(d)||/(edgios)[/]([\w.]+)/.exec(d)||/(jsdom)[/]([\w.]+)/.exec(d)||/(samsungbrowser)[/]([\w.]+)/.exec(d)||/(electron)[/]([\w.]+)/.exec(d)||/(chrome)[/]([\w.]+)/.exec(d)||/(crios)[/]([\w.]+)/.exec(d)||/(opios)[/]([\w.]+)/.exec(d)||/(version)(applewebkit)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d)||/(webkit)[/]([\w.]+).*(version)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d)||/(applewebkit)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d)||/(webkit)[/]([\w.]+)/.exec(d)||/(opera)(?:.*version|)[/]([\w.]+)/.exec(d)||/(msie) ([\w.]+)/.exec(d)||/(fennec)[/]([\w.]+)/.exec(d)||d.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(d)||d.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d)||[],f=/(ipad)/.exec(d)||/(ipod)/.exec(d)||/(iphone)/.exec(d)||/(jsdom)/.exec(d)||/(windows phone)/.exec(d)||/(xbox)/.exec(d)||/(win)/.exec(d)||/(tablet)/.exec(d)||/(android)/.test(d)&&/(mobile)/.test(d)===!1&&["androidTablet"]||/(android)/.exec(d)||/(mac)/.exec(d)||/(linux)/.exec(d)||/(cros)/.exec(d)||[],p=u[5]||u[3]||u[1]||null,w=f[0]||null,x=u[4]||u[2]||null,b=i();p==="chrome"&&typeof(b==null||(t3=b.brave)===null||t3===void 0?void 0:t3.isBrave)=="function"&&(p="brave"),p&&(s2[p]=!0),w&&(s2[w]=!0);var v=!!(s2.tablet||s2.android||s2.androidTablet),m=!!(s2.ipad||s2.tablet||s2.androidTablet),g=!!(s2.android||s2.androidTablet||s2.tablet||s2.ipad||s2.ipod||s2.iphone||s2["windows phone"]),h=!!(s2.cros||s2.mac||s2.linux||s2.win),y=!!(s2.brave||s2.chrome||s2.crios||s2.opr||s2.safari||s2.edg||s2.electron),A=!!(s2.msie||s2.rv);return{name:(a2=o[p])!==null&&a2!==void 0?a2:null,platform:(l2=r[w])!==null&&l2!==void 0?l2:null,userAgent:c,version:x,shortVersion:x?n(parseFloat(x),2):null,isAndroid:v,isTablet:m,isMobile:g,isDesktop:h,isWebkit:y,isIE:A}}},{key:"getBrowserInfo",value:function(){var e2=this.parseUserAgent();return{name:e2.name,platform:e2.platform,userAgent:e2.userAgent,version:e2.version,shortVersion:e2.shortVersion}}}],s=[{key:"VERSION",get:function(){return"3.4.0"}}],l&&e(a.prototype,l),s&&e(a,s),Object.defineProperty(a,"prototype",{writable:!1}),t2}();return t})}});var REACT=__toESM(require_react()),REACTDOM=__toESM(require_react_dom());var values={react:REACT,"react-dom":REACTDOM,"@storybook/components":dist_exports7,"@storybook/channels":dist_exports4,"@storybook/core-events":dist_exports3,"@storybook/router":dist_exports2,"@storybook/theming":dist_exports6,"@storybook/api":dist_exports5,"@storybook/manager-api":dist_exports5,"@storybook/addons":{addons,types:Addon_TypesEnum,mockChannel},"@storybook/client-logger":dist_exports};var Keys=(Keys2=>(Keys2.react="__REACT__",Keys2["react-dom"]="__REACTDOM__",Keys2["@storybook/components"]="__STORYBOOKCOMPONENTS__",Keys2["@storybook/channels"]="__STORYBOOKCHANNELS__",Keys2["@storybook/core-events"]="__STORYBOOKCOREEVENTS__",Keys2["@storybook/router"]="__STORYBOOKROUTER__",Keys2["@storybook/theming"]="__STORYBOOKTHEMING__",Keys2["@storybook/api"]="__STORYBOOKAPI__",Keys2["@storybook/manager-api"]="__STORYBOOKAPI__",Keys2["@storybook/addons"]="__STORYBOOKADDONS__",Keys2["@storybook/client-logger"]="__STORYBOOKCLIENTLOGGER__",Keys2))(Keys||{});var import_browser_dtector=__toESM(require_browser_dtector_umd_min()),browserInfo;function getBrowserInfo(){return browserInfo||(browserInfo=new import_browser_dtector.default(scope.navigator?.userAgent).getBrowserInfo()),browserInfo}var errorMessages=["ResizeObserver loop completed with undelivered notifications.","ResizeObserver loop limit exceeded","Script error."],shouldSkipError=error=>errorMessages.includes(error?.message);function prepareForTelemetry(originalError){let error=originalError;return(originalError.target===scope||originalError.currentTarget===scope||originalError.srcElement===scope)&&(error=new Error(originalError.message),error.name=originalError.name||error.name),originalError.fromStorybook||(error=new UncaughtManagerError({error})),error.browserInfo=getBrowserInfo(),error}var{FEATURES,CONFIG_TYPE}=scope,ReactProvider=class extends Provider{constructor(){super();let channel=createBrowserChannel({page:"manager"});addons.setChannel(channel),channel.emit(CHANNEL_CREATED),this.addons=addons,this.channel=channel,scope.__STORYBOOK_ADDONS_CHANNEL__=channel,FEATURES?.storyStoreV7&&CONFIG_TYPE==="DEVELOPMENT"&&(this.serverChannel=this.channel,addons.setServerChannel(this.serverChannel))}getElements(type){return this.addons.getElements(type)}getConfig(){return this.addons.getConfig()}handleAPI(api){this.addons.loadAddons(api)}};Object.keys(Keys).forEach(key=>{scope[Keys[key]]=values[key]});scope.sendTelemetryError=error=>{shouldSkipError(error)||scope.__STORYBOOK_ADDONS_CHANNEL__.emit(TELEMETRY_ERROR,prepareForTelemetry(error))};scope.addEventListener("error",args=>{let error=args.error||args;scope.sendTelemetryError(error)});scope.addEventListener("unhandledrejection",({reason})=>{scope.sendTelemetryError(reason)});var{document}=scope,rootEl=document.getElementById("root");renderStorybookUI(rootEl,new ReactProvider);
1
+ import{Addon_TypesEnum,CHANNEL_CREATED,Provider,TELEMETRY_ERROR,UncaughtManagerError,addons,createBrowserChannel,dist_exports as dist_exports2,dist_exports2 as dist_exports3,dist_exports3 as dist_exports4,dist_exports4 as dist_exports5,dist_exports5 as dist_exports7,mockChannel,renderStorybookUI}from"./chunk-SJUUEUXH.js";import"./chunk-2IXBUOFS.js";import"./chunk-NGTUFCUO.js";import{dist_exports,dist_exports2 as dist_exports6,require_react,require_react_dom,scope}from"./chunk-INSKDKQB.js";import{__commonJS,__toESM}from"./chunk-ZEU7PDD3.js";var require_browser_dtector_umd_min=__commonJS({"../../node_modules/browser-dtector/browser-dtector.umd.min.js"(exports,module){(function(e,o){typeof exports=="object"&&typeof module<"u"?module.exports=o():typeof define=="function"&&define.amd?define(o):(e=typeof globalThis<"u"?globalThis:e||self).BrowserDetector=o()})(exports,function(){"use strict";function e(e2,o2){for(var r2=0;r2<o2.length;r2++){var n2=o2[r2];n2.enumerable=n2.enumerable||!1,n2.configurable=!0,"value"in n2&&(n2.writable=!0),Object.defineProperty(e2,(i2=n2.key,t2=void 0,typeof(t2=function(e3,o3){if(typeof e3!="object"||e3===null)return e3;var r3=e3[Symbol.toPrimitive];if(r3!==void 0){var n3=r3.call(e3,o3||"default");if(typeof n3!="object")return n3;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o3==="string"?String:Number)(e3)}(i2,"string"))=="symbol"?t2:String(t2)),n2)}var i2,t2}var o={chrome:"Google Chrome",brave:"Brave",crios:"Google Chrome",edge:"Microsoft Edge",edg:"Microsoft Edge",edgios:"Microsoft Edge",fennec:"Mozilla Firefox",jsdom:"JsDOM",mozilla:"Mozilla Firefox",fxios:"Mozilla Firefox",msie:"Microsoft Internet Explorer",opera:"Opera",opios:"Opera",opr:"Opera",opt:"Opera",rv:"Microsoft Internet Explorer",safari:"Safari",samsungbrowser:"Samsung Browser",electron:"Electron"},r={android:"Android",androidTablet:"Android Tablet",cros:"Chrome OS",fennec:"Android Tablet",ipad:"IPad",iphone:"IPhone",jsdom:"JsDOM",linux:"Linux",mac:"Macintosh",tablet:"Android Tablet",win:"Windows","windows phone":"Windows Phone",xbox:"Microsoft Xbox"},n=function(e2){var o2=new RegExp("^-?\\d+(?:.\\d{0,".concat(arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,"})?")),r2=Number(e2).toString().match(o2);return r2?r2[0]:null},i=function(){return typeof window<"u"?window.navigator:null},t=function(){function t2(e2){var o2;(function(e3,o3){if(!(e3 instanceof o3))throw new TypeError("Cannot call a class as a function")})(this,t2),this.userAgent=e2||((o2=i())===null||o2===void 0?void 0:o2.userAgent)||null}var a,l,s;return a=t2,l=[{key:"parseUserAgent",value:function(e2){var t3,a2,l2,s2={},c=e2||this.userAgent||"",d=c.toLowerCase().replace(/\s\s+/g," "),u=/(edge)\/([\w.]+)/.exec(d)||/(edg)[/]([\w.]+)/.exec(d)||/(opr)[/]([\w.]+)/.exec(d)||/(opt)[/]([\w.]+)/.exec(d)||/(fxios)[/]([\w.]+)/.exec(d)||/(edgios)[/]([\w.]+)/.exec(d)||/(jsdom)[/]([\w.]+)/.exec(d)||/(samsungbrowser)[/]([\w.]+)/.exec(d)||/(electron)[/]([\w.]+)/.exec(d)||/(chrome)[/]([\w.]+)/.exec(d)||/(crios)[/]([\w.]+)/.exec(d)||/(opios)[/]([\w.]+)/.exec(d)||/(version)(applewebkit)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d)||/(webkit)[/]([\w.]+).*(version)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d)||/(applewebkit)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d)||/(webkit)[/]([\w.]+)/.exec(d)||/(opera)(?:.*version|)[/]([\w.]+)/.exec(d)||/(msie) ([\w.]+)/.exec(d)||/(fennec)[/]([\w.]+)/.exec(d)||d.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(d)||d.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d)||[],f=/(ipad)/.exec(d)||/(ipod)/.exec(d)||/(iphone)/.exec(d)||/(jsdom)/.exec(d)||/(windows phone)/.exec(d)||/(xbox)/.exec(d)||/(win)/.exec(d)||/(tablet)/.exec(d)||/(android)/.test(d)&&/(mobile)/.test(d)===!1&&["androidTablet"]||/(android)/.exec(d)||/(mac)/.exec(d)||/(linux)/.exec(d)||/(cros)/.exec(d)||[],p=u[5]||u[3]||u[1]||null,w=f[0]||null,x=u[4]||u[2]||null,b=i();p==="chrome"&&typeof(b==null||(t3=b.brave)===null||t3===void 0?void 0:t3.isBrave)=="function"&&(p="brave"),p&&(s2[p]=!0),w&&(s2[w]=!0);var v=!!(s2.tablet||s2.android||s2.androidTablet),m=!!(s2.ipad||s2.tablet||s2.androidTablet),g=!!(s2.android||s2.androidTablet||s2.tablet||s2.ipad||s2.ipod||s2.iphone||s2["windows phone"]),h=!!(s2.cros||s2.mac||s2.linux||s2.win),y=!!(s2.brave||s2.chrome||s2.crios||s2.opr||s2.safari||s2.edg||s2.electron),A=!!(s2.msie||s2.rv);return{name:(a2=o[p])!==null&&a2!==void 0?a2:null,platform:(l2=r[w])!==null&&l2!==void 0?l2:null,userAgent:c,version:x,shortVersion:x?n(parseFloat(x),2):null,isAndroid:v,isTablet:m,isMobile:g,isDesktop:h,isWebkit:y,isIE:A}}},{key:"getBrowserInfo",value:function(){var e2=this.parseUserAgent();return{name:e2.name,platform:e2.platform,userAgent:e2.userAgent,version:e2.version,shortVersion:e2.shortVersion}}}],s=[{key:"VERSION",get:function(){return"3.4.0"}}],l&&e(a.prototype,l),s&&e(a,s),Object.defineProperty(a,"prototype",{writable:!1}),t2}();return t})}});var REACT=__toESM(require_react()),REACTDOM=__toESM(require_react_dom());var values={react:REACT,"react-dom":REACTDOM,"@storybook/components":dist_exports7,"@storybook/channels":dist_exports4,"@storybook/core-events":dist_exports3,"@storybook/router":dist_exports2,"@storybook/theming":dist_exports6,"@storybook/api":dist_exports5,"@storybook/manager-api":dist_exports5,"@storybook/addons":{addons,types:Addon_TypesEnum,mockChannel},"@storybook/client-logger":dist_exports};var Keys=(Keys2=>(Keys2.react="__REACT__",Keys2["react-dom"]="__REACTDOM__",Keys2["@storybook/components"]="__STORYBOOKCOMPONENTS__",Keys2["@storybook/channels"]="__STORYBOOKCHANNELS__",Keys2["@storybook/core-events"]="__STORYBOOKCOREEVENTS__",Keys2["@storybook/router"]="__STORYBOOKROUTER__",Keys2["@storybook/theming"]="__STORYBOOKTHEMING__",Keys2["@storybook/api"]="__STORYBOOKAPI__",Keys2["@storybook/manager-api"]="__STORYBOOKAPI__",Keys2["@storybook/addons"]="__STORYBOOKADDONS__",Keys2["@storybook/client-logger"]="__STORYBOOKCLIENTLOGGER__",Keys2))(Keys||{});var import_browser_dtector=__toESM(require_browser_dtector_umd_min()),browserInfo;function getBrowserInfo(){return browserInfo||(browserInfo=new import_browser_dtector.default(scope.navigator?.userAgent).getBrowserInfo()),browserInfo}var errorMessages=["ResizeObserver loop completed with undelivered notifications.","ResizeObserver loop limit exceeded","Script error."],shouldSkipError=error=>errorMessages.includes(error?.message);function prepareForTelemetry(originalError){let error=originalError;return(originalError.target===scope||originalError.currentTarget===scope||originalError.srcElement===scope)&&(error=new Error(originalError.message),error.name=originalError.name||error.name),originalError.fromStorybook||(error=new UncaughtManagerError({error})),error.browserInfo=getBrowserInfo(),error}var{FEATURES,CONFIG_TYPE}=scope,ReactProvider=class extends Provider{constructor(){super();let channel=createBrowserChannel({page:"manager"});addons.setChannel(channel),channel.emit(CHANNEL_CREATED),this.addons=addons,this.channel=channel,scope.__STORYBOOK_ADDONS_CHANNEL__=channel,FEATURES?.storyStoreV7&&CONFIG_TYPE==="DEVELOPMENT"&&(this.serverChannel=this.channel,addons.setServerChannel(this.serverChannel))}getElements(type){return this.addons.getElements(type)}getConfig(){return this.addons.getConfig()}handleAPI(api){this.addons.loadAddons(api)}};Object.keys(Keys).forEach(key=>{scope[Keys[key]]=values[key]});scope.sendTelemetryError=error=>{shouldSkipError(error)||scope.__STORYBOOK_ADDONS_CHANNEL__.emit(TELEMETRY_ERROR,prepareForTelemetry(error))};scope.addEventListener("error",args=>{let error=args.error||args;scope.sendTelemetryError(error)});scope.addEventListener("unhandledrejection",({reason})=>{scope.sendTelemetryError(reason)});var{document}=scope,rootEl=document.getElementById("root");renderStorybookUI(rootEl,new ReactProvider);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/manager",
3
- "version": "7.6.0-alpha.4",
3
+ "version": "7.6.0-alpha.6",
4
4
  "description": "Core Storybook UI",
5
5
  "keywords": [
6
6
  "storybook"
@@ -53,17 +53,17 @@
53
53
  "devDependencies": {
54
54
  "@fal-works/esbuild-plugin-global-externals": "^2.1.2",
55
55
  "@storybook/addon-designs": "^7.0.4",
56
- "@storybook/addons": "7.6.0-alpha.4",
57
- "@storybook/channels": "7.6.0-alpha.4",
58
- "@storybook/client-logger": "7.6.0-alpha.4",
59
- "@storybook/components": "7.6.0-alpha.4",
60
- "@storybook/core-events": "7.6.0-alpha.4",
56
+ "@storybook/addons": "7.6.0-alpha.6",
57
+ "@storybook/channels": "7.6.0-alpha.6",
58
+ "@storybook/client-logger": "7.6.0-alpha.6",
59
+ "@storybook/components": "7.6.0-alpha.6",
60
+ "@storybook/core-events": "7.6.0-alpha.6",
61
61
  "@storybook/global": "^5.0.0",
62
- "@storybook/manager-api": "7.6.0-alpha.4",
63
- "@storybook/router": "7.6.0-alpha.4",
64
- "@storybook/test": "7.6.0-alpha.4",
65
- "@storybook/theming": "7.6.0-alpha.4",
66
- "@storybook/types": "7.6.0-alpha.4",
62
+ "@storybook/manager-api": "7.6.0-alpha.6",
63
+ "@storybook/router": "7.6.0-alpha.6",
64
+ "@storybook/test": "7.6.0-alpha.6",
65
+ "@storybook/theming": "7.6.0-alpha.6",
66
+ "@storybook/types": "7.6.0-alpha.6",
67
67
  "@testing-library/react": "^11.2.2",
68
68
  "@types/semver": "^7.3.4",
69
69
  "browser-dtector": "^3.4.0",