@chromatic-com/storybook 5.2.0-next.3 → 5.2.0-next.4
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.
- package/dist/manager.mjs +1 -1
- package/package.json +1 -1
package/dist/manager.mjs
CHANGED
|
@@ -358,7 +358,7 @@ var _f=Object.create;var u1=Object.defineProperty;var Pf=Object.getOwnPropertyDe
|
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
|
-
`),ty=({lastBuildOnBranch:e,vtaOnboarding:t})=>{let r=useStorybookApi(),{notifications:n,storyId:a}=useStorybookState(),[o,i]=s__default.useState(!1),l=s__default.useCallback(()=>{i(!0),n.forEach(({id:v})=>r.clearNotification(v));},[r,n]),[d,c]=s__default.useState(!1),p=s__default.useCallback(()=>c(!0),[]),[u,f]=s__default.useState(!0);s__default.useEffect(()=>{if(r?.getUrlState?.().queryParams.vtaOnboarding==="true"){f(!1);return}t&&f(t==="COMPLETED"||t==="DISMISSED");},[r,t]);let[{fetching:m},h]=$1(ey),g=s__default.useCallback(async v=>{let C=v?"COMPLETED":"DISMISSED";await h({input:{vtaOnboarding:C}}),f(!0),c(!1);let b=new URL(window.location.href);b.searchParams.has("vtaOnboarding")&&(b.searchParams.delete("vtaOnboarding"),window.history.replaceState({},"",b.href));},[h]),w=s__default.useMemo(()=>(e&&"testsForStatus"in e&&e.testsForStatus?.nodes&&Kr(Fs,e.testsForStatus.nodes)||[]).some(C=>C?.status==="PENDING"&&C?.result==="CHANGED"&&C?.story?.storyId===a),[e,a]),y=!o&&!u&&!d;return {showOnboarding:y,showGuidedTour:!y&&!u,completeOnboarding:l,skipOnboarding:s__default.useCallback(()=>g(!1),[g]),completeWalkthrough:s__default.useCallback(()=>g(!0),[g]),skipWalkthrough:s__default.useCallback(()=>g(!1),[g]),startWalkthrough:p,lastBuildHasChangesForStory:w,isUpdating:m}},ry=({selectedBuildInfo:e,setSelectedBuildInfo:t,dismissBuildError:r,localBuildProgress:n,updateBuildStatus:a,projectId:o,gitInfo:i,storyId:l})=>{let d=useStorybookApi(),{addNotification:c,setOptions:p,togglePanel:u}=d,f=N2({projectId:o,storyId:l,gitInfo:i,selectedBuildInfo:e}),{account:m,features:h,manageUrl:g,hasData:w,hasProject:y,hasSelectedBuild:v,lastBuildOnBranch:C,lastBuildOnBranchIsReady:b,lastBuildOnBranchIsSelectable:E,selectedBuild:x,queryError:z,rerunQuery:ae,userCanReview:Me}=f,Ie=useCallback(({onDismiss:Xn})=>{Xn(),p({selectedPanel:zt}),u(!0);},[p,u]),dt=Xv({buildIsReviewable:!!x&&x.id===C?.id,userCanReview:Me,onReviewSuccess:ae,onReviewError:(Xn,Bf)=>{Xn instanceof Error&&c({id:`${N}/errorAccepting/${Date.now()}`,content:{headline:`Failed to ${Bf.status==="ACCEPTED"?"accept":"unaccept"} changes`,subHeadline:Xn.message},icon:s__default.createElement(vt,{color:color.negative}),duration:8e3,onClick:Ie});}}),It=C&&"testsForStatus"in C&&C.testsForStatus?.nodes&&Kr(Fs,C.testsForStatus.nodes),Et=E?$c(It||[]):[];useEffect(()=>{a(Et);},[JSON.stringify(Et),a]),useEffect(()=>{t(Xn=>Wc(Xn,{shouldSwitchToLastBuildOnBranch:E&&b,lastBuildOnBranchId:C?.id,storyId:l}));},[E,b,C?.id,t,l]);let Je=useCallback(()=>C?.id&&E&&t({buildId:C.id,storyId:l}),[t,E,C?.id,l]),{showOnboarding:gt,showGuidedTour:oo,completeOnboarding:Kn,completeWalkthrough:ct,skipOnboarding:c1,skipWalkthrough:Tt,startWalkthrough:Af,lastBuildHasChangesForStory:Lf}=ty(f);return h&&!h.uiTests?s__default.createElement(Gc,{manageUrl:g}):m?.suspensionReason?s__default.createElement(c0,{billingUrl:m.billingUrl,suspensionReason:m.suspensionReason}):gt&&y?s__default.createElement(s__default.Fragment,null,!w||z?s__default.createElement(s__default.Fragment,null):s__default.createElement(M0,{watchState:f},s__default.createElement(rp,{gitInfo:i,projectId:o,updateBuildStatus:a,dismissBuildError:r,localBuildProgress:n,showInitialBuildScreen:!x,onComplete:Kn,onSkip:c1,lastBuildHasChangesForStory:Lf}))):s__default.createElement(s__default.Fragment,null,!x||!v||!w||z?s__default.createElement(Gp,{queryError:z,hasData:w,hasProject:y,hasSelectedBuild:v,branch:i.branch,dismissBuildError:r,localBuildProgress:n,...E&&{switchToLastBuildOnBranch:Je}}):s__default.createElement(up,{watchState:dt},s__default.createElement(M0,{watchState:f},s__default.createElement(qp,{branch:i.branch,dismissBuildError:r,isOutdated:Na(x,i),localBuildProgress:n,...C&&{lastBuildOnBranch:C},...E&&{switchToLastBuildOnBranch:Je},userCanReview:Me,storyId:l}))),oo&&s__default.createElement(M0,{watchState:{selectedBuild:x}},s__default.createElement(Z2,{managerApi:d,skipWalkthrough:Tt,startWalkthrough:Af,completeWalkthrough:ct})))},Jp=e=>{let[t,r]=Ae("selectedBuildInfo");return s__default.createElement(ry,{selectedBuildInfo:t,setSelectedBuildInfo:r,...e})};var Q0=({localBuildProgress:e,accessToken:t})=>{let r=useChannel({}),n=useContext(ba),[a,o]=useState(!1),[i,l]=useState(!1),d=e?["initialize","build","upload"].includes(e?.currentStep):!1,c=e?!["aborted","complete","error","limited"].includes(e.currentStep):a,p=useMemo(()=>vo("startBuild",()=>{l(!1),o(!0),r(Rl,{accessToken:t}),n?.({action:"startBuild"});},1e3,!1),[t,r,n]),u=useMemo(()=>vo("startBuild",()=>{d?(o(!1),r(Hl),n?.({action:"stopBuild"})):l(!0);},1e3,!1),[d,r,n]);return useEffect(()=>{let f=a&&setTimeout(()=>o(!1),5e3);return ()=>{f&&clearTimeout(f);}},[a]),{isDisallowed:i,isRunning:c,startBuild:p,stopBuild:u}};var to=new Map,ef=()=>{let e=useChannel({[Yl]:t=>{let r=to.get(t.requestId);if(r)if(to.delete(t.requestId),"error"in t)r.reject(new Error(t.error));else {let{body:n,headers:a,status:o,statusText:i}=t.response,l=new Response(n,{headers:a,status:o,statusText:i});r.resolve(l);}}});return async(t,{signal:r,...n}={})=>{if(r?.aborted)return Promise.reject(r.reason);let a=Math.random().toString(36).slice(2);return r?.addEventListener("abort",()=>{e(ql,{requestId:a}),to.get(a)?.reject(r.reason),to.delete(a);}),e(Gl,{requestId:a,input:t,init:n}),new Promise((o,i)=>{to.set(a,{resolve:o,reject:i}),setTimeout(()=>{i(new Error("Request timed out")),to.delete(a);},3e4);})}};var J0=()=>{let[e,t]=be(si),{projectId:r,written:n,dismissed:a,configFile:o}=e||{};return {loading:!e,projectId:r,configFile:o,updateProject:useCallback(i=>t({...e,projectId:i,dismissed:!1}),[e,t]),projectUpdatingFailed:!a&&n===!1,projectIdUpdated:!a&&n===!0,clearProjectIdUpdated:useCallback(()=>t({...e,dismissed:!0}),[e,t])}};var nf=experimental_getStatusStore(N),af=({active:e})=>{let t=useStorybookApi(),[r,n]=Xr(),[,a]=be(na),o=useCallback(Tt=>{n(Tt);},[n]),i=s__default.useRef(r);useEffect(()=>{i.current!==null&&r===null&&(q5("authenticationScreen","exchangeParameters","shareReducer","shareLastCompletedUrl","shareLastCompletedGitInfo"),a(void 0)),i.current=r;},[r,a]);let{storyId:l}=useStorybookState(),[d]=be(ra),[c]=be(ii),[p]=be(li),[u,f]=be(di),m=useChannel({});useEffect(()=>{let Tt=()=>{t.addNotification({id:`${N}/error/session-expired/${Date.now()}`,content:{headline:"Session expired",subHeadline:"Please sign in again to continue."},icon:s__default.createElement(vt,{color:color.negative})});};return window.addEventListener(rs,Tt),()=>{window.removeEventListener(rs,Tt);}},[t]);let h=useCallback(Tt=>{nf.unset(),nf.set(Tt);},[]),{loading:g,projectId:w,configFile:y,updateProject:v,projectUpdatingFailed:C,projectIdUpdated:b,clearProjectIdUpdated:E}=J0(),[x,z]=Ae("createdProjectId"),[ae,Me]=be(ui),[Ie,dt]=Ae("subdomain","www"),It=useCallback(Tt=>m(ci,Tt),[m]),{isRunning:Et,startBuild:Je,stopBuild:gt}=Q0({localBuildProgress:u,accessToken:r}),oo=ef(),Kn=globalThis.LOGLEVEL==="debug"?globalThis.fetch:oo,ct=Tt=>s__default.createElement(xc,{value:ts({fetch:Kn})},s__default.createElement(U5,{value:It},s__default.createElement(Xl,{value:{accessToken:r,setAccessToken:o,subdomain:Ie,setSubdomain:dt}},s__default.createElement(Y5,{addonUninstalled:ae,setAddonUninstalled:Me},s__default.createElement(gd,null,s__default.createElement(Uc,{watchState:{isRunning:Et,startBuild:Je,stopBuild:gt}},s__default.createElement("div",{hidden:!e,style:{containerType:"size",height:"100%"}},Tt)))))));if(!e)return ct(null);if(globalThis.CONFIG_TYPE!=="DEVELOPMENT")return ct(s__default.createElement(Dc,null));if(ae)return ct(s__default.createElement(Vc,null));if(p)return ct(s__default.createElement(zc,{offline:p}));if(!r)return ct(s__default.createElement(Ic,{setAccessToken:o,setCreatedProjectId:z,hasProjectId:!!w}));if(c||!d)return ct(s__default.createElement(Lc,{gitInfoError:c}));if(g)return e?s__default.createElement(uo,null):null;if(!w)return ct(s__default.createElement(Hc,{createdProjectId:x,setCreatedProjectId:z,onUpdateProject:v}));if(C){if(!y)throw new Error("Missing config file after configuration failure");return ct(s__default.createElement(Oc,{projectId:w,configFile:y}))}if(b){if(!y)throw new Error("Missing config file after configuration success");return ct(s__default.createElement(_c,{projectId:w,configFile:y,goToNext:E}))}let c1=d.branch===u?.branch;return ct(s__default.createElement(Jp,{dismissBuildError:()=>f(void 0),localBuildProgress:c1?u:void 0,updateBuildStatus:h,projectId:w,gitInfo:d,storyId:l}))};var of={screen:{status:"welcome"},shareRequestId:null,shareTriggeredId:null};function sf(e,t,r,n){if(t.shareRequestId!==e.shareRequestId&&e.shareRequestId===null&&t.shareRequestId&&(t.status==="pending"||t.status==="uploading"?e={...e,shareRequestId:t.shareRequestId,shareTriggeredId:t.shareRequestId,screen:{status:"uploading",shareUrl:t.status==="uploading"?t.shareUrl??"":""}}:t.status==="complete"&&t.shareUrl!==n&&(e={...e,shareRequestId:t.shareRequestId,shareTriggeredId:t.shareRequestId})),t.shareRequestId!==e.shareRequestId)return {next:e,effect:{kind:"none"}};if(t.status==="uploading"&&t.shareUrl&&e.screen.status==="uploading"&&t.shareUrl!==e.screen.shareUrl)return {next:{...e,screen:{status:"uploading",shareUrl:t.shareUrl}},effect:{kind:"url-received"}};if(t.status==="complete"){let{shareUrl:a,daysToExpire:o}=t;return {next:{...e,screen:{status:"complete",shareUrl:a,publishedAt:Date.now(),daysToExpire:o},shareRequestId:null,shareTriggeredId:null},effect:{kind:"completed",shareUrl:a,gitInfo:r,isNew:a!==n}}}return t.status==="error"?t.canceled?{next:{...e,screen:{status:"error",reason:"upload-canceled"},shareRequestId:null,shareTriggeredId:null},effect:{kind:"failed"}}:/\b(401|403|unauthorized|expired)\b/i.test(t.error)?{next:{...e,screen:{status:"idle"},shareRequestId:null,shareTriggeredId:null},effect:{kind:"auth-error"}}:{next:{...e,screen:{status:"error",reason:"unknown",message:t.error||void 0},shareRequestId:null,shareTriggeredId:null},effect:{kind:"failed"}}:{next:e,effect:{kind:"none"}}}function lf(e,t){switch(t.type){case"SET_SCREEN":return {...e,screen:t.screen};case"PUBLISH_REQUESTED":return t.hasToken?{...e,screen:{status:"uploading",shareUrl:""},shareRequestId:t.newRequestId,shareTriggeredId:null}:{...e,screen:{status:"idle"}};case"PUBLISH_AGAIN":return {...e,screen:{status:"uploading",shareUrl:""},shareRequestId:t.newRequestId,shareTriggeredId:null};case"GO_SUBDOMAIN":return {...e,screen:{status:"subdomain"}};case"BACK_TO_IDLE":return {...e,screen:{status:"idle"}};case"AUTO_SKIP_TO_UPLOADING":return {...e,screen:{status:"uploading",shareUrl:""},shareRequestId:t.newRequestId,shareTriggeredId:null};case"START_SHARE_EMITTED":return {...e,shareRequestId:t.id,shareTriggeredId:t.id};case"APPLY_STATE":return t.next;default:return e}}var Nt=styled.div({display:"flex",flexDirection:"column",alignItems:"flex-start",padding:24,width:400,maxWidth:400,boxSizing:"border-box",gap:16}),ht=styled.h2(({theme:e})=>({margin:0,fontFamily:"inherit",fontWeight:e.typography.weight.bold,fontSize:e.typography.size.s2,color:e.color.defaultText,lineHeight:"20px"})),Rt=styled.div(({theme:e})=>({fontSize:e.typography.size.s2,color:e.textMutedColor,lineHeight:"20px",width:"100%"})),K0=styled.button(({theme:e})=>({fontSize:e.typography.size.s1,color:e.color.secondary,backgroundColor:"transparent",border:"none",cursor:"pointer",padding:0,lineHeight:"16px",textDecoration:"none"})),Ht=styled.div({display:"flex",flexDirection:"column"}),dn=styled.div({display:"flex",flexDirection:"column",alignItems:"flex-start",alignSelf:"stretch",gap:8}),X0=styled.div(({theme:e})=>({display:"flex",alignItems:"center",gap:8,fontSize:e.typography.size.s1,color:e.textMutedColor}));var wy=styled.div(({theme:e})=>({display:"flex",alignItems:"center",alignSelf:"stretch",border:`1px solid ${e.appBorderColor}`,borderRadius:4,minHeight:32})),df=styled.input(({theme:e})=>({fontFamily:"'SF Mono', SFMono-Regular, ui-monospace, monospace",fontSize:11,color:e.color.secondary,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",flex:1,paddingLeft:9,lineHeight:"16px",border:"none",background:"transparent",outline:"none",cursor:"default",width:0})),by=styled.span({position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0}),Sy=styled(df)(({theme:e})=>({color:e.textMutedColor})),xy=styled(Button)({margin:1}),e1=({url:e,placeholder:t,onCopy:r})=>{let[n,a]=useState(!1),o=useRef();useEffect(()=>()=>{o.current&&clearTimeout(o.current);},[]);let i=useCallback(async()=>{if(e)try{await navigator.clipboard.writeText(e),r?.(),a(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>a(!1),2e3);}catch(l){console.warn("Failed to copy to clipboard:",l);}},[e,r]);return s__default.createElement(wy,null,e?s__default.createElement(df,{readOnly:!0,value:e,"aria-label":"Shareable URL",onFocus:l=>l.target.select()}):s__default.createElement(Sy,{readOnly:!0,value:t??"Getting URL...","aria-label":"Shareable URL",tabIndex:-1}),e&&s__default.createElement(TooltipProvider,{tooltip:s__default.createElement(TooltipNote,{note:n?"Copied!":"Copy link to clipboard"}),placement:"top",visible:n||void 0},s__default.createElement(xy,{variant:"ghost",size:"small",padding:"small","aria-label":"Copy link",onClick:i},n?s__default.createElement(Nr,{color:"green"}):s__default.createElement(pl,null))),s__default.createElement(by,{"aria-live":"polite"},n?"Copied to clipboard":""))};var ky=styled.div({display:"flex",flexDirection:"column",alignSelf:"stretch",gap:8}),Iy=styled.div({display:"flex",flexDirection:"row",gap:8,alignItems:"center",width:"100%",overflow:"hidden",borderRadius:4}),Ey=styled.span(({theme:e})=>({fontSize:e.typography.size.s2,color:e.color.defaultText,flex:1,lineHeight:"20px"})),Ty=styled.a(({theme:e})=>({display:"flex",alignItems:"center",overflow:"hidden",flexShrink:0,color:e.color.secondary,fontSize:e.typography.size.s2,lineHeight:"20px",cursor:"pointer",textDecoration:"none"})),Dt=()=>{let e=useTheme();return s__default.createElement(ky,null,s__default.createElement(ht,{as:"h3"},"Who has access"),s__default.createElement(Iy,null,s__default.createElement(Pl,{size:14,color:e.textMutedColor,style:{flexShrink:0,borderRadius:6},"aria-hidden":"true"}),s__default.createElement(Ey,null,"Anyone with the link"),s__default.createElement(Ty,{href:"https://storybook.js.org/docs/sharing#quick-sharing",target:"_blank",rel:"noopener noreferrer"},"Learn more",s__default.createElement(Ll,{size:14,"aria-hidden":"true"}))))};var Ly=styled.div({display:"flex",flexDirection:"row",gap:6,alignItems:"center"}),By=styled.span(({theme:e})=>({fontSize:e.typography.size.s1,color:e.color.defaultText,lineHeight:"16px",flex:1})),_y=styled.div({display:"flex",flexDirection:"row",gap:6,alignItems:"center"}),Py=styled.span(({theme:e})=>({fontSize:e.typography.size.s1,color:e.color.defaultText,lineHeight:"16px",flexShrink:0})),Oy=styled.div(({theme:e})=>({backgroundColor:e.background.hoverable,border:`1px solid ${e.appBorderColor}`,borderRadius:4,display:"flex",gap:16,marginTop:8,padding:"8px 12px",alignItems:"center"})),Fy=styled.span(({theme:e})=>({fontSize:e.typography.size.s2,color:e.color.defaultText,flex:1,lineHeight:"20px"})),cf=5e3,uf=({shareUrl:e,publishedAt:t,daysToExpire:r,isOutdated:n,onPublishAgain:a,onCopy:o})=>{let[i,l]=useState(()=>Date.now()-t<cf);return useEffect(()=>{if(!i)return;let d=cf-(Date.now()-t);if(d<=0){l(!1);return}let c=setTimeout(()=>l(!1),d);return ()=>clearTimeout(c)},[t,i]),s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Copy link to published Storybook"),s__default.createElement(Rt,null,"Share with collaborators to get feedback or reproduce issues.")),s__default.createElement(dn,null,s__default.createElement(e1,{url:e,onCopy:o}),!n&&i?s__default.createElement(Ly,null,s__default.createElement("span",null,"\u{1F389}"),s__default.createElement(By,null,"Storybook published!")):s__default.createElement(_y,null,s__default.createElement("span",{style:{fontSize:12,flexShrink:0}},"\u23F3"),s__default.createElement(Py,null,"Published ",Y0(t),r!==void 0?(()=>{let d=U0(t,r).getTime()-Date.now(),c=Math.max(0,Math.ceil(d/864e5));return ` \u2013 expires in ${c} ${c===1?"day":"days"}`})():"")),n&&s__default.createElement(Oy,null,s__default.createElement(Fy,null,"Changes have been made since you last published this Storybook."),s__default.createElement(j,{size:"medium",variant:"solid",onClick:a},"Republish"))),s__default.createElement(Dt,null))};var pf=styled(Badge)({padding:"4px 8px",margin:"0 6px"});var Hy=styled(X0)({alignItems:"baseline"}),Dy=styled(pf)({margin:0,flexShrink:0}),zy=styled.span(({theme:e})=>({color:e.color.defaultText,fontSize:e.typography.size.s1,lineHeight:"16px"})),Vy={"upload-canceled":"Upload canceled",unknown:"An unexpected error occurred. Please try again."},ff=({reason:e,message:t,onRetry:r})=>{let n=e==="unknown"&&t?t:Vy[e];return s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publish a build to share"),s__default.createElement(Rt,null,"This Storybook will be uploaded and available to collaborators for feedback.")),s__default.createElement(dn,null,s__default.createElement(j,{size:"medium",variant:"solid",onClick:r},"Publish & copy link"),s__default.createElement(Hy,null,s__default.createElement(Dy,{status:"critical"},"Error"),s__default.createElement(zy,null,s__default.createElement("strong",null,"Publish failed",n&&":")," ",n))),s__default.createElement(Dt,null))};var mf=({onSignIn:e,onSignInWithSSO:t})=>s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publish and share builds"),s__default.createElement(Rt,null,"This Storybook will be uploaded and available to collaborators for feedback.")),s__default.createElement(dn,null,s__default.createElement(j,{size:"medium",variant:"solid",onClick:e},"Sign in with Chromatic"),s__default.createElement(K0,{onClick:t},"Connect with SAML SSO")),s__default.createElement(Dt,null));var Zy=styled.form({display:"flex",flexDirection:"column",alignSelf:"stretch"}),jy=styled.div({display:"flex",flexDirection:"row",alignItems:"center",gap:8,"& > :first-child":{flex:1,minWidth:0}}),Uy=styled(Nt)({position:"relative",paddingTop:42}),$y=styled(j)({position:"absolute",top:6,left:6}),vf=({onSubmit:e,onBack:t})=>{let[r,n]=useState(""),[a,o]=useState(null),i=useCallback(d=>{n(ho(d.target.value)),o(null);},[]),l=useCallback(d=>{d.preventDefault();let c=Ii(r);c?e(c):o("Please enter a subdomain");},[r,e]);return s__default.createElement(Uy,null,s__default.createElement($y,{variant:"ghost",onClick:t,"aria-label":"Back"},s__default.createElement(ni,{size:12,"aria-hidden":"true"}),"Back"),s__default.createElement(Ht,null,s__default.createElement(ht,null,"Sign in with SSO"),s__default.createElement(Rt,null,"Enter your team's Chromatic subdomain.")),s__default.createElement(Zy,{onSubmit:l},s__default.createElement(jy,null,s__default.createElement(Fi,{autoFocus:!0,icon:"users",value:r,placeholder:"yourteam",suffix:".chromatic.com",onChange:i,id:"share-subdomain-input",error:a,errorTooltipPlacement:"top"}),s__default.createElement(j,{size:"medium",variant:"solid",type:"submit",style:{flexShrink:0}},"Connect"))),s__default.createElement(Dt,null))};var Wy={pending:"Initializing build...",uploading:"Publishing Storybook...",complete:"Storybook published",error:"Publishing failed"},yf=({shareUrl:e,step:t="pending",onCopy:r,onCancel:n})=>{let a=n&&t!=="complete";return s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publishing\u2026"),s__default.createElement(Rt,null,"Please don't modify code or switch branches until upload is complete.")),s__default.createElement(dn,null,s__default.createElement(e1,{url:e||void 0,onCopy:r}),s__default.createElement(X0,{"aria-live":"polite"},s__default.createElement(gl,{size:12,"aria-hidden":"true"}),Wy[t]),a&&s__default.createElement(K0,{type:"button","aria-label":"Cancel publish",onClick:n},"Cancel")),s__default.createElement(Dt,null))};var wf=({onPublish:e})=>s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publish a build to share"),s__default.createElement(Rt,null,"This Storybook will be uploaded and available to collaborators for feedback.")),s__default.createElement(j,{size:"medium",variant:"solid",onClick:e},"Publish & copy link"),s__default.createElement(Dt,null));function bf(e){let[,t]=Xr(),{begin:r}=t0({onAuthenticated:(a,{closeDialog:o})=>{Co(a),o(),e({status:"uploading",shareUrl:""});},onError:()=>{e({status:"error",reason:"unknown"});}});return {startSignIn:useCallback(async a=>{try{let o=await Ei(a);r(o);}catch{e({status:"error",reason:"unknown"});}},[r,e]),updateToken:t}}function Sf({api:e,token:t,reducerState:r,shareProgress:n,gitInfo:a,lastCompletedShareUrl:o,setLastCompletedShareUrl:i,setLastCompletedGitInfo:l,updateToken:d,dispatch:c}){let p=useRef(!1),u=useRef(r.screen.status),f=useRef(!1),m=useCallback((x,z)=>{e.getChannel()?.emit(ci,{action:x,entryPoint:"toolbar",...z});},[e]),h=n?.status==="pending"||n?.status==="uploading";useEffect(()=>{let x=r.screen.status==="welcome"||r.screen.status==="idle"||r.screen.status==="subdomain";t&&x&&!h&&c({type:"AUTO_SKIP_TO_UPLOADING",newRequestId:crypto.randomUUID()});},[t,r.screen.status,h,c]);let g=r.screen.status,{shareRequestId:w,shareTriggeredId:y}=r;useEffect(()=>{if(g!=="uploading"||!t||h||y&&y===w||n?.shareRequestId===w&&n?.status==="complete")return;let x=w??crypto.randomUUID();c({type:"START_SHARE_EMITTED",id:x}),e.getChannel()?.emit(Dl,{accessToken:t,shareRequestId:x}),m("share-initiated",{isRepeatShare:p.current}),p.current=!1;},[e,c,m,g,w,y,n,h,t]),useEffect(()=>{u.current==="idle"&&r.screen.status==="uploading"&&m("share-auth-completed"),u.current=r.screen.status;},[m,r.screen.status]);let v=useRef({reducerState:r,gitInfo:a,lastCompletedShareUrl:o,setLastCompletedShareUrl:i,setLastCompletedGitInfo:l,updateToken:d,dispatch:c,emitTelemetry:m});v.current={reducerState:r,gitInfo:a,lastCompletedShareUrl:o,setLastCompletedShareUrl:i,setLastCompletedGitInfo:l,updateToken:d,dispatch:c,emitTelemetry:m},useEffect(()=>{if(!n)return;let x=v.current,{next:z,effect:ae}=sf(x.reducerState,n,x.gitInfo,x.lastCompletedShareUrl);switch(z!==x.reducerState&&x.dispatch({type:"APPLY_STATE",next:z}),ae.kind){case"url-received":x.emitTelemetry("share-url-received");break;case"completed":f.current=!1,ae.isNew&&(x.setLastCompletedShareUrl(ae.shareUrl),x.setLastCompletedGitInfo(ae.gitInfo),x.emitTelemetry("share-upload-completed"));break;case"auth-error":f.current?(f.current=!1,x.updateToken(null),x.emitTelemetry("share-failed")):(f.current=!0,x.emitTelemetry("share-auth-retry"),Ot.refresh().catch(()=>{}));break;case"failed":f.current=!1,x.emitTelemetry("share-failed");break;}},[n]);let C=useCallback(()=>{e.getChannel()?.emit(zl,{shareRequestId:r.shareRequestId}),m("share-canceled");},[e,m,r.shareRequestId]),b=useCallback(()=>{f.current=!1,c({type:"PUBLISH_REQUESTED",hasToken:!!t,newRequestId:crypto.randomUUID()});},[c,t]),E=useCallback(()=>{p.current=!0,c({type:"PUBLISH_AGAIN",newRequestId:crypto.randomUUID()});},[c]);return {emitTelemetry:m,handleCancel:C,handlePublish:b,handlePublishAgain:E}}var rl=!1,Cf=()=>rl,kf=({api:e})=>{let[t]=Xr(),[r]=be(ra),[n]=be(na),[a,o]=Ae("shareReducer",of),[i,l]=useReducer(lf,a),[d,c]=Ae("shareLastCompletedUrl",null),[p,u]=Ae("shareLastCompletedGitInfo",void 0);useEffect(()=>{o(i);},[i,o]),useEffect(()=>(rl=!0,()=>{rl=!1;}),[]);let f=useCallback(b=>l({type:"SET_SCREEN",screen:b}),[]),{startSignIn:m,updateToken:h}=bf(f),{emitTelemetry:g,handleCancel:w,handlePublish:y,handlePublishAgain:v}=Sf({api:e,token:t,reducerState:i,shareProgress:n,gitInfo:r,lastCompletedShareUrl:d,setLastCompletedShareUrl:c,setLastCompletedGitInfo:u,updateToken:h,dispatch:l}),C=i.screen;switch(C.status){case"welcome":return s__default.createElement(wf,{onPublish:y});case"idle":return s__default.createElement(mf,{onSignIn:()=>m(),onSignInWithSSO:()=>l({type:"GO_SUBDOMAIN"})});case"subdomain":return s__default.createElement(vf,{onSubmit:b=>m(b),onBack:()=>l({type:"BACK_TO_IDLE"})});case"uploading":return s__default.createElement(yf,{shareUrl:C.shareUrl,step:n?.status,onCopy:()=>g("share-url-copied"),onCancel:w});case"complete":return s__default.createElement(uf,{shareUrl:C.shareUrl,publishedAt:C.publishedAt,daysToExpire:C.daysToExpire,isOutdated:Na(p,r),onCopy:()=>g("share-url-copied"),onPublishAgain:v});case"error":return s__default.createElement(ff,{reason:C.reason,message:C.message,onRetry:y});default:return null}};var If=({api:e})=>s__default.createElement(PopoverProvider,{hasChrome:!0,hasCloseButton:!0,ariaLabel:"Share your Storybook",placement:"bottom",padding:0,popover:s__default.createElement(kf,{api:e})},s__default.createElement(Button,{variant:"ghost",padding:"small",id:"chromatic-share-button"},"Share"));var s1=sr(Bi());var sw=styled.div({display:"flex",justifyContent:"space-between",padding:"8px 0"}),lw=styled.div({display:"flex",flexDirection:"column",marginLeft:8}),dw=styled.div({display:"flex",gap:4}),cw=styled.div(({crashed:e,theme:t})=>({fontSize:t.typography.size.s1,fontWeight:e?"bold":"normal",color:e?t.color.negativeText:t.color.defaultText})),uw=styled.div(({theme:e})=>({fontSize:e.typography.size.s1,color:e.textMutedColor})),pw=styled(ProgressSpinner)({margin:4}),fw=styled(ll)({width:10}),Mf=()=>{let{addNotification:e,selectStory:t,setOptions:r,togglePanel:n}=useStorybookApi(),a=experimental_useStatusStore(Je=>Object.values(Je).map(gt=>gt[N]?.value).filter(gt=>gt==="status-value:warning").length),o=useContext(ba),{projectId:i}=J0(),[l]=Xr(),d=!!l,[c,p]=be(li),[u]=be(di),[f]=be(ta),m=Object.keys(f?.problems||{}).length>0,[h]=be(ra),[g]=be(ii),w=useRef(u?.currentStep),{index:y,storyId:v,viewMode:C}=useStorybookState(),b=experimental_useTestProviderStore(Je=>Je[io]??"test-provider-state:pending"),{startBuild:E,stopBuild:x}=Q0({localBuildProgress:u,accessToken:l}),z;c&&(z="Not available offline"),m&&(z="Configuration problem"),g&&(z="Git synchronization problem"),d||(z="Login required"),i||(z="Set up visual tests");let ae=!z&&b!=="test-provider-state:crashed",Me=useCallback(()=>{ae&&E();},[ae,E]);useEffect(()=>experimental_getTestProviderStore(io).onRunAll(Me),[Me]);let Ie=useCallback(Je=>{if(r({selectedPanel:zt}),n(!0),y&&C!=="story"){let gt=Object.keys(y).indexOf(v),oo=Object.entries(y).slice(gt>0?gt:0),[Kn]=oo.find(([,{type:ct}])=>ct==="story")||[];Kn&&t(Kn);}Je&&o?.({action:"openWarning",warning:Je});},[r,n,o,y,t,v,C]),dt=useCallback(({onDismiss:Je})=>{Je(),Ie();},[Ie]);useEffect(()=>{let Je=()=>p(!0),gt=()=>p(!1);return window.addEventListener("offline",Je),window.addEventListener("online",gt),()=>{window.removeEventListener("offline",Je),window.removeEventListener("online",gt);}},[p]),useEffect(()=>{u?.currentStep!==w.current&&(w.current=u?.currentStep,u?.currentStep==="error"&&e({id:`${N}/build-error/${Date.now()}`,content:{headline:"Build error",subHeadline:"Check the Storybook process on the command line for more details."},icon:s__default.createElement(vt,{color:color.negative}),onClick:dt}),u?.currentStep==="limited"&&e({id:`${N}/build-limited/${Date.now()}`,content:{headline:"Build limited",subHeadline:"Your account has insufficient snapshots remaining to run this build. Visit your billing page to find out more."},icon:s__default.createElement(vt,{color:color.negative}),onClick:dt}));},[e,dt,u?.currentStep]);let It=useCallback(()=>Ie(z),[Ie,z]),Et;switch(!0){case!!z:Et=s__default.createElement(Link,{onClick:It},z);break;case b==="test-provider-state:running":Et=u?Ja[u.currentStep].renderProgress(u):"Starting...";break;case Na(u,h):Et="Test results outdated";break;case u?.currentStep==="aborted":Et="Aborted by user";break;case u?.currentStep==="complete":Et=u.errorCount?`Encountered ${(0, s1.default)("component error",u.errorCount,!0)}`:a?`Found ${(0, s1.default)("story",a,!0)} with ${(0, s1.default)("change",a)}`:"No visual changes detected";break;default:Et="Not run";}return s__default.createElement(sw,null,s__default.createElement(lw,null,s__default.createElement(cw,{crashed:b==="test-provider-state:crashed"},u?.currentStep==="error"||u?.currentStep==="limited"?"Visual tests didn't complete":"Visual tests"),s__default.createElement(uw,null,Et)),s__default.createElement(dw,null,z?null:b==="test-provider-state:running"?s__default.createElement(Button,{ariaLabel:"Stop visual tests",size:"medium",variant:"ghost",padding:"none",onClick:x,disabled:!["initialize","build","upload"].includes(u?.currentStep??"")},s__default.createElement(pw,{percentage:u?.buildProgressPercentage},s__default.createElement(fw,null))):s__default.createElement(Button,{ariaLabel:"Start visual tests",size:"medium",variant:"ghost",padding:"small",disabled:!ae,onClick:Me},s__default.createElement(dl,null))))};if(window.opener&&!window.opener.closed){let e=new URLSearchParams(window.location.search),t=e.get("code"),r=e.get("state"),n=e.get("error");if(t&&r)window.opener.postMessage({message:"grant",code:t,state:r},window.location.origin),window.close();else if(n&&r){let a=e.get("error_description");window.opener.postMessage({message:"grant",error:n,state:r,...a?{error_description:a}:{}},window.location.origin),window.close();}}addons.register(N,e=>{e.on($l,(n,a)=>{let o=Wl.includes(a.selectors[0]);window.open(o?"https://www.chromatic.com/docs/ignoring-elements/#ignoring-elements-inline":"https://www.chromatic.com/docs/ignoring-elements/#ignoring-elements-via-test-configuration","_blank");}),addons.add(`${N}/ignore-highlight-tool`,{type:Addon_TypesEnum.TOOL,title:"Highlight ignored areas",match:({viewMode:n})=>n==="story",render:()=>s__default.createElement(Jl,null)}),addons.add(zt,{type:Addon_TypesEnum.PANEL,title:"Visual tests",paramKey:jl,match:({viewMode:n})=>n==="story",render:({active:n})=>s__default.createElement(af,{active:!!n})});let t=e.getChannel();if(t){let n=null;Wr.subscribe(na,t).on("change",o=>{if(o?.status!=="complete"||o.shareUrl===n||Cf())return;let{shareUrl:i}=o;n=i,e.addNotification({id:`${N}/share-published`,content:{headline:"Storybook published!",subHeadline:i},duration:8e3,onClick:({onDismiss:l})=>{navigator.clipboard.writeText(i).catch(()=>{}),l();}});});}if(globalThis.CONFIG_TYPE!=="DEVELOPMENT")return;experimental_getStatusStore(N).onSelect(()=>{e.setSelectedPanel(zt),e.togglePanel(!0);}),addons.add(io,{type:Addon_TypesEnum.experimental_TEST_PROVIDER,render:()=>s__default.createElement(Mf,null)}),addons.add(`${N}/share-tool`,{type:Addon_TypesEnum.TOOLEXTRA,title:"Share",render:()=>s__default.createElement(If,{api:e})});});
|
|
361
|
+
`),ty=({lastBuildOnBranch:e,vtaOnboarding:t})=>{let r=useStorybookApi(),{notifications:n,storyId:a}=useStorybookState(),[o,i]=s__default.useState(!1),l=s__default.useCallback(()=>{i(!0),n.forEach(({id:v})=>r.clearNotification(v));},[r,n]),[d,c]=s__default.useState(!1),p=s__default.useCallback(()=>c(!0),[]),[u,f]=s__default.useState(!0);s__default.useEffect(()=>{if(r?.getUrlState?.().queryParams.vtaOnboarding==="true"){f(!1);return}t&&f(t==="COMPLETED"||t==="DISMISSED");},[r,t]);let[{fetching:m},h]=$1(ey),g=s__default.useCallback(async v=>{let C=v?"COMPLETED":"DISMISSED";await h({input:{vtaOnboarding:C}}),f(!0),c(!1);let b=new URL(window.location.href);b.searchParams.has("vtaOnboarding")&&(b.searchParams.delete("vtaOnboarding"),window.history.replaceState({},"",b.href));},[h]),w=s__default.useMemo(()=>(e&&"testsForStatus"in e&&e.testsForStatus?.nodes&&Kr(Fs,e.testsForStatus.nodes)||[]).some(C=>C?.status==="PENDING"&&C?.result==="CHANGED"&&C?.story?.storyId===a),[e,a]),y=!o&&!u&&!d;return {showOnboarding:y,showGuidedTour:!y&&!u,completeOnboarding:l,skipOnboarding:s__default.useCallback(()=>g(!1),[g]),completeWalkthrough:s__default.useCallback(()=>g(!0),[g]),skipWalkthrough:s__default.useCallback(()=>g(!1),[g]),startWalkthrough:p,lastBuildHasChangesForStory:w,isUpdating:m}},ry=({selectedBuildInfo:e,setSelectedBuildInfo:t,dismissBuildError:r,localBuildProgress:n,updateBuildStatus:a,projectId:o,gitInfo:i,storyId:l})=>{let d=useStorybookApi(),{addNotification:c,setOptions:p,togglePanel:u}=d,f=N2({projectId:o,storyId:l,gitInfo:i,selectedBuildInfo:e}),{account:m,features:h,manageUrl:g,hasData:w,hasProject:y,hasSelectedBuild:v,lastBuildOnBranch:C,lastBuildOnBranchIsReady:b,lastBuildOnBranchIsSelectable:E,selectedBuild:x,queryError:z,rerunQuery:ae,userCanReview:Me}=f,Ie=useCallback(({onDismiss:Xn})=>{Xn(),p({selectedPanel:zt}),u(!0);},[p,u]),dt=Xv({buildIsReviewable:!!x&&x.id===C?.id,userCanReview:Me,onReviewSuccess:ae,onReviewError:(Xn,Bf)=>{Xn instanceof Error&&c({id:`${N}/errorAccepting/${Date.now()}`,content:{headline:`Failed to ${Bf.status==="ACCEPTED"?"accept":"unaccept"} changes`,subHeadline:Xn.message},icon:s__default.createElement(vt,{color:color.negative}),duration:8e3,onClick:Ie});}}),It=C&&"testsForStatus"in C&&C.testsForStatus?.nodes&&Kr(Fs,C.testsForStatus.nodes),Et=E?$c(It||[]):[];useEffect(()=>{a(Et);},[JSON.stringify(Et),a]),useEffect(()=>{t(Xn=>Wc(Xn,{shouldSwitchToLastBuildOnBranch:E&&b,lastBuildOnBranchId:C?.id,storyId:l}));},[E,b,C?.id,t,l]);let Je=useCallback(()=>C?.id&&E&&t({buildId:C.id,storyId:l}),[t,E,C?.id,l]),{showOnboarding:gt,showGuidedTour:oo,completeOnboarding:Kn,completeWalkthrough:ct,skipOnboarding:c1,skipWalkthrough:Tt,startWalkthrough:Af,lastBuildHasChangesForStory:Lf}=ty(f);return h&&!h.uiTests?s__default.createElement(Gc,{manageUrl:g}):m?.suspensionReason?s__default.createElement(c0,{billingUrl:m.billingUrl,suspensionReason:m.suspensionReason}):gt&&y?s__default.createElement(s__default.Fragment,null,!w||z?s__default.createElement(s__default.Fragment,null):s__default.createElement(M0,{watchState:f},s__default.createElement(rp,{gitInfo:i,projectId:o,updateBuildStatus:a,dismissBuildError:r,localBuildProgress:n,showInitialBuildScreen:!x,onComplete:Kn,onSkip:c1,lastBuildHasChangesForStory:Lf}))):s__default.createElement(s__default.Fragment,null,!x||!v||!w||z?s__default.createElement(Gp,{queryError:z,hasData:w,hasProject:y,hasSelectedBuild:v,branch:i.branch,dismissBuildError:r,localBuildProgress:n,...E&&{switchToLastBuildOnBranch:Je}}):s__default.createElement(up,{watchState:dt},s__default.createElement(M0,{watchState:f},s__default.createElement(qp,{branch:i.branch,dismissBuildError:r,isOutdated:Na(x,i),localBuildProgress:n,...C&&{lastBuildOnBranch:C},...E&&{switchToLastBuildOnBranch:Je},userCanReview:Me,storyId:l}))),oo&&s__default.createElement(M0,{watchState:{selectedBuild:x}},s__default.createElement(Z2,{managerApi:d,skipWalkthrough:Tt,startWalkthrough:Af,completeWalkthrough:ct})))},Jp=e=>{let[t,r]=Ae("selectedBuildInfo");return s__default.createElement(ry,{selectedBuildInfo:t,setSelectedBuildInfo:r,...e})};var Q0=({localBuildProgress:e,accessToken:t})=>{let r=useChannel({}),n=useContext(ba),[a,o]=useState(!1),[i,l]=useState(!1),d=e?["initialize","build","upload"].includes(e?.currentStep):!1,c=e?!["aborted","complete","error","limited"].includes(e.currentStep):a,p=useMemo(()=>vo("startBuild",()=>{l(!1),o(!0),r(Rl,{accessToken:t}),n?.({action:"startBuild"});},1e3,!1),[t,r,n]),u=useMemo(()=>vo("startBuild",()=>{d?(o(!1),r(Hl),n?.({action:"stopBuild"})):l(!0);},1e3,!1),[d,r,n]);return useEffect(()=>{let f=a&&setTimeout(()=>o(!1),5e3);return ()=>{f&&clearTimeout(f);}},[a]),{isDisallowed:i,isRunning:c,startBuild:p,stopBuild:u}};var to=new Map,ef=()=>{let e=useChannel({[Yl]:t=>{let r=to.get(t.requestId);if(r)if(to.delete(t.requestId),"error"in t)r.reject(new Error(t.error));else {let{body:n,headers:a,status:o,statusText:i}=t.response,l=new Response(n,{headers:a,status:o,statusText:i});r.resolve(l);}}});return async(t,{signal:r,...n}={})=>{if(r?.aborted)return Promise.reject(r.reason);let a=Math.random().toString(36).slice(2);return r?.addEventListener("abort",()=>{e(ql,{requestId:a}),to.get(a)?.reject(r.reason),to.delete(a);}),e(Gl,{requestId:a,input:t,init:n}),new Promise((o,i)=>{to.set(a,{resolve:o,reject:i}),setTimeout(()=>{i(new Error("Request timed out")),to.delete(a);},3e4);})}};var J0=()=>{let[e,t]=be(si),{projectId:r,written:n,dismissed:a,configFile:o}=e||{};return {loading:!e,projectId:r,configFile:o,updateProject:useCallback(i=>t({...e,projectId:i,dismissed:!1}),[e,t]),projectUpdatingFailed:!a&&n===!1,projectIdUpdated:!a&&n===!0,clearProjectIdUpdated:useCallback(()=>t({...e,dismissed:!0}),[e,t])}};var nf=experimental_getStatusStore(N),af=({active:e})=>{let t=useStorybookApi(),[r,n]=Xr(),[,a]=be(na),o=useCallback(Tt=>{n(Tt);},[n]),i=s__default.useRef(r);useEffect(()=>{i.current!==null&&r===null&&(q5("authenticationScreen","exchangeParameters","shareReducer","shareLastCompletedUrl","shareLastCompletedGitInfo"),a(void 0)),i.current=r;},[r,a]);let{storyId:l}=useStorybookState(),[d]=be(ra),[c]=be(ii),[p]=be(li),[u,f]=be(di),m=useChannel({});useEffect(()=>{let Tt=()=>{t.addNotification({id:`${N}/error/session-expired/${Date.now()}`,content:{headline:"Session expired",subHeadline:"Please sign in again to continue."},icon:s__default.createElement(vt,{color:color.negative})});};return window.addEventListener(rs,Tt),()=>{window.removeEventListener(rs,Tt);}},[t]);let h=useCallback(Tt=>{nf.unset(),nf.set(Tt);},[]),{loading:g,projectId:w,configFile:y,updateProject:v,projectUpdatingFailed:C,projectIdUpdated:b,clearProjectIdUpdated:E}=J0(),[x,z]=Ae("createdProjectId"),[ae,Me]=be(ui),[Ie,dt]=Ae("subdomain","www"),It=useCallback(Tt=>m(ci,Tt),[m]),{isRunning:Et,startBuild:Je,stopBuild:gt}=Q0({localBuildProgress:u,accessToken:r}),oo=ef(),Kn=globalThis.LOGLEVEL==="debug"?globalThis.fetch:oo,ct=Tt=>s__default.createElement(xc,{value:ts({fetch:Kn})},s__default.createElement(U5,{value:It},s__default.createElement(Xl,{value:{accessToken:r,setAccessToken:o,subdomain:Ie,setSubdomain:dt}},s__default.createElement(Y5,{addonUninstalled:ae,setAddonUninstalled:Me},s__default.createElement(gd,null,s__default.createElement(Uc,{watchState:{isRunning:Et,startBuild:Je,stopBuild:gt}},s__default.createElement("div",{hidden:!e,style:{containerType:"size",height:"100%"}},Tt)))))));if(!e)return ct(null);if(globalThis.CONFIG_TYPE!=="DEVELOPMENT")return ct(s__default.createElement(Dc,null));if(ae)return ct(s__default.createElement(Vc,null));if(p)return ct(s__default.createElement(zc,{offline:p}));if(!r)return ct(s__default.createElement(Ic,{setAccessToken:o,setCreatedProjectId:z,hasProjectId:!!w}));if(c||!d)return ct(s__default.createElement(Lc,{gitInfoError:c}));if(g)return e?s__default.createElement(uo,null):null;if(!w)return ct(s__default.createElement(Hc,{createdProjectId:x,setCreatedProjectId:z,onUpdateProject:v}));if(C){if(!y)throw new Error("Missing config file after configuration failure");return ct(s__default.createElement(Oc,{projectId:w,configFile:y}))}if(b){if(!y)throw new Error("Missing config file after configuration success");return ct(s__default.createElement(_c,{projectId:w,configFile:y,goToNext:E}))}let c1=d.branch===u?.branch;return ct(s__default.createElement(Jp,{dismissBuildError:()=>f(void 0),localBuildProgress:c1?u:void 0,updateBuildStatus:h,projectId:w,gitInfo:d,storyId:l}))};var of={screen:{status:"welcome"},shareRequestId:null,shareTriggeredId:null};function sf(e,t,r,n){if(t.shareRequestId!==e.shareRequestId&&e.shareRequestId===null&&t.shareRequestId&&(t.status==="pending"||t.status==="uploading"?e={...e,shareRequestId:t.shareRequestId,shareTriggeredId:t.shareRequestId,screen:{status:"uploading",shareUrl:t.status==="uploading"?t.shareUrl??"":""}}:t.status==="complete"&&t.shareUrl!==n&&(e={...e,shareRequestId:t.shareRequestId,shareTriggeredId:t.shareRequestId})),t.shareRequestId!==e.shareRequestId)return {next:e,effect:{kind:"none"}};if(t.status==="uploading"&&t.shareUrl&&e.screen.status==="uploading"&&t.shareUrl!==e.screen.shareUrl)return {next:{...e,screen:{status:"uploading",shareUrl:t.shareUrl}},effect:{kind:"url-received"}};if(t.status==="complete"){let{shareUrl:a,daysToExpire:o}=t;return {next:{...e,screen:{status:"complete",shareUrl:a,publishedAt:Date.now(),daysToExpire:o},shareRequestId:null,shareTriggeredId:null},effect:{kind:"completed",shareUrl:a,gitInfo:r,isNew:a!==n}}}return t.status==="error"?t.canceled?{next:{...e,screen:{status:"error",reason:"upload-canceled"},shareRequestId:null,shareTriggeredId:null},effect:{kind:"failed"}}:/\b(401|403|unauthorized|expired)\b/i.test(t.error)?{next:{...e,screen:{status:"idle"},shareRequestId:null,shareTriggeredId:null},effect:{kind:"auth-error"}}:{next:{...e,screen:{status:"error",reason:"unknown",message:t.error||void 0},shareRequestId:null,shareTriggeredId:null},effect:{kind:"failed"}}:{next:e,effect:{kind:"none"}}}function lf(e,t){switch(t.type){case"SET_SCREEN":return {...e,screen:t.screen};case"PUBLISH_REQUESTED":return t.hasToken?{...e,screen:{status:"uploading",shareUrl:""},shareRequestId:t.newRequestId,shareTriggeredId:null}:{...e,screen:{status:"idle"}};case"PUBLISH_AGAIN":return {...e,screen:{status:"uploading",shareUrl:""},shareRequestId:t.newRequestId,shareTriggeredId:null};case"GO_SUBDOMAIN":return {...e,screen:{status:"subdomain"}};case"BACK_TO_IDLE":return {...e,screen:{status:"idle"}};case"AUTO_SKIP_TO_UPLOADING":return {...e,screen:{status:"uploading",shareUrl:""},shareRequestId:t.newRequestId,shareTriggeredId:null};case"START_SHARE_EMITTED":return {...e,shareRequestId:t.id,shareTriggeredId:t.id};case"APPLY_STATE":return t.next;default:return e}}var Nt=styled.div({display:"flex",flexDirection:"column",alignItems:"flex-start",padding:24,width:400,maxWidth:400,boxSizing:"border-box",gap:16}),ht=styled.h2(({theme:e})=>({margin:0,fontFamily:"inherit",fontWeight:e.typography.weight.bold,fontSize:e.typography.size.s2,color:e.color.defaultText,lineHeight:"20px"})),Rt=styled.div(({theme:e})=>({fontSize:e.typography.size.s2,color:e.textMutedColor,lineHeight:"20px",width:"100%"})),K0=styled.button(({theme:e})=>({fontSize:e.typography.size.s1,color:e.color.secondary,backgroundColor:"transparent",border:"none",cursor:"pointer",padding:0,lineHeight:"16px",textDecoration:"none"})),Ht=styled.div({display:"flex",flexDirection:"column"}),dn=styled.div({display:"flex",flexDirection:"column",alignItems:"flex-start",alignSelf:"stretch",gap:8}),X0=styled.div(({theme:e})=>({display:"flex",alignItems:"center",gap:8,fontSize:e.typography.size.s1,color:e.textMutedColor}));var wy=styled.div(({theme:e})=>({display:"flex",alignItems:"center",alignSelf:"stretch",border:`1px solid ${e.appBorderColor}`,borderRadius:4,minHeight:32})),df=styled.input(({theme:e})=>({fontFamily:"'SF Mono', SFMono-Regular, ui-monospace, monospace",fontSize:11,color:e.color.secondary,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",flex:1,paddingLeft:9,lineHeight:"16px",border:"none",background:"transparent",outline:"none",cursor:"default",width:0})),by=styled.span({position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0}),Sy=styled(df)(({theme:e})=>({color:e.textMutedColor})),xy=styled(Button)({margin:1}),e1=({url:e,placeholder:t,onCopy:r})=>{let[n,a]=useState(!1),o=useRef();useEffect(()=>()=>{o.current&&clearTimeout(o.current);},[]);let i=useCallback(async()=>{if(e)try{await navigator.clipboard.writeText(e),r?.(),a(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>a(!1),2e3);}catch(l){console.warn("Failed to copy to clipboard:",l);}},[e,r]);return s__default.createElement(wy,null,e?s__default.createElement(df,{readOnly:!0,value:e,"aria-label":"Shareable URL",onFocus:l=>l.target.select()}):s__default.createElement(Sy,{readOnly:!0,value:t??"Getting URL...","aria-label":"Shareable URL",tabIndex:-1}),e&&s__default.createElement(TooltipProvider,{tooltip:s__default.createElement(TooltipNote,{note:n?"Copied!":"Copy link to clipboard"}),placement:"top",visible:n||void 0},s__default.createElement(xy,{variant:"ghost",size:"small",padding:"small","aria-label":"Copy link",onClick:i},n?s__default.createElement(Nr,{color:"green"}):s__default.createElement(pl,null))),s__default.createElement(by,{"aria-live":"polite"},n?"Copied to clipboard":""))};var ky=styled.div({display:"flex",flexDirection:"column",alignSelf:"stretch",gap:8}),Iy=styled.div({display:"flex",flexDirection:"row",gap:8,alignItems:"center",width:"100%",overflow:"hidden",borderRadius:4}),Ey=styled.span(({theme:e})=>({fontSize:e.typography.size.s2,color:e.color.defaultText,flex:1,lineHeight:"20px"})),Ty=styled.a(({theme:e})=>({display:"flex",alignItems:"center",overflow:"hidden",flexShrink:0,color:e.color.secondary,fontSize:e.typography.size.s2,lineHeight:"20px",cursor:"pointer",textDecoration:"none"})),Dt=()=>{let e=useTheme();return s__default.createElement(ky,null,s__default.createElement(ht,{as:"h3"},"Who has access"),s__default.createElement(Iy,null,s__default.createElement(Pl,{size:14,color:e.textMutedColor,style:{flexShrink:0,borderRadius:6},"aria-hidden":"true"}),s__default.createElement(Ey,null,"Anyone with the link"),s__default.createElement(Ty,{href:"https://storybook.js.org/docs/sharing#quick-sharing",target:"_blank",rel:"noopener noreferrer"},"Learn more",s__default.createElement(Ll,{size:14,"aria-hidden":"true"}))))};var Ly=styled.div({display:"flex",flexDirection:"row",gap:6,alignItems:"center"}),By=styled.span(({theme:e})=>({fontSize:e.typography.size.s1,color:e.color.defaultText,lineHeight:"16px",flex:1})),_y=styled.div({display:"flex",flexDirection:"row",gap:6,alignItems:"center"}),Py=styled.span(({theme:e})=>({fontSize:e.typography.size.s1,color:e.color.defaultText,lineHeight:"16px",flexShrink:0})),Oy=styled.div(({theme:e})=>({backgroundColor:e.background.hoverable,border:`1px solid ${e.appBorderColor}`,borderRadius:4,display:"flex",gap:16,marginTop:8,padding:"8px 12px",alignItems:"center"})),Fy=styled.span(({theme:e})=>({fontSize:e.typography.size.s2,color:e.color.defaultText,flex:1,lineHeight:"20px"})),cf=5e3,uf=({shareUrl:e,publishedAt:t,daysToExpire:r,isOutdated:n,onPublishAgain:a,onCopy:o})=>{let[i,l]=useState(()=>Date.now()-t<cf);return useEffect(()=>{if(!i)return;let d=cf-(Date.now()-t);if(d<=0){l(!1);return}let c=setTimeout(()=>l(!1),d);return ()=>clearTimeout(c)},[t,i]),s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Copy link to published Storybook"),s__default.createElement(Rt,null,"Share with collaborators to get feedback or reproduce issues.")),s__default.createElement(dn,null,s__default.createElement(e1,{url:e,onCopy:o}),!n&&i?s__default.createElement(Ly,null,s__default.createElement("span",null,"\u{1F389}"),s__default.createElement(By,null,"Storybook published!")):s__default.createElement(_y,null,s__default.createElement("span",{style:{fontSize:12,flexShrink:0}},"\u23F3"),s__default.createElement(Py,null,"Published ",Y0(t),r!==void 0?(()=>{let d=U0(t,r).getTime()-Date.now(),c=Math.max(0,Math.ceil(d/864e5));return ` \u2013 expires in ${c} ${c===1?"day":"days"}`})():"")),n&&s__default.createElement(Oy,null,s__default.createElement(Fy,null,"Changes have been made since you last published this Storybook."),s__default.createElement(j,{size:"medium",variant:"solid",onClick:a},"Republish"))),s__default.createElement(Dt,null))};var pf=styled(Badge)({padding:"4px 8px",margin:"0 6px"});var Hy=styled(X0)({alignItems:"baseline"}),Dy=styled(pf)({margin:0,flexShrink:0}),zy=styled.span(({theme:e})=>({color:e.color.defaultText,fontSize:e.typography.size.s1,lineHeight:"16px"})),Vy={"upload-canceled":"Upload canceled",unknown:"An unexpected error occurred. Please try again."},ff=({reason:e,message:t,onRetry:r})=>{let n=e==="unknown"&&t?t:Vy[e];return s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publish a build to share"),s__default.createElement(Rt,null,"This Storybook will be uploaded and available to collaborators for feedback.")),s__default.createElement(dn,null,s__default.createElement(j,{size:"medium",variant:"solid",onClick:r},"Publish & copy link"),s__default.createElement(Hy,null,s__default.createElement(Dy,{status:"critical"},"Error"),s__default.createElement(zy,null,s__default.createElement("strong",null,"Publish failed",n&&":")," ",n))),s__default.createElement(Dt,null))};var mf=({onSignIn:e,onSignInWithSSO:t})=>s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publish and share builds"),s__default.createElement(Rt,null,"This Storybook will be uploaded and available to collaborators for feedback.")),s__default.createElement(dn,null,s__default.createElement(j,{size:"medium",variant:"solid",onClick:e},"Sign in with Chromatic"),s__default.createElement(K0,{onClick:t},"Connect with SAML SSO")),s__default.createElement(Dt,null));var Zy=styled.form({display:"flex",flexDirection:"column",alignSelf:"stretch"}),jy=styled.div({display:"flex",flexDirection:"row",alignItems:"center",gap:8,"& > :first-child":{flex:1,minWidth:0}}),Uy=styled(Nt)({position:"relative",paddingTop:42}),$y=styled(j)({position:"absolute",top:6,left:6}),vf=({onSubmit:e,onBack:t})=>{let[r,n]=useState(""),[a,o]=useState(null),i=useCallback(d=>{n(ho(d.target.value)),o(null);},[]),l=useCallback(d=>{d.preventDefault();let c=Ii(r);c?e(c):o("Please enter a subdomain");},[r,e]);return s__default.createElement(Uy,null,s__default.createElement($y,{variant:"ghost",onClick:t,"aria-label":"Back"},s__default.createElement(ni,{size:12,"aria-hidden":"true"}),"Back"),s__default.createElement(Ht,null,s__default.createElement(ht,null,"Sign in with SSO"),s__default.createElement(Rt,null,"Enter your team's Chromatic subdomain.")),s__default.createElement(Zy,{onSubmit:l},s__default.createElement(jy,null,s__default.createElement(Fi,{autoFocus:!0,icon:"users",value:r,placeholder:"yourteam",suffix:".chromatic.com",onChange:i,id:"share-subdomain-input",error:a,errorTooltipPlacement:"top"}),s__default.createElement(j,{size:"medium",variant:"solid",type:"submit",style:{flexShrink:0}},"Connect"))),s__default.createElement(Dt,null))};var Wy={pending:"Initializing build...",uploading:"Publishing Storybook...",complete:"Storybook published",error:"Publishing failed"},yf=({shareUrl:e,step:t="pending",onCopy:r,onCancel:n})=>{let a=n&&t!=="complete";return s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publishing\u2026"),s__default.createElement(Rt,null,"Please don't modify code or switch branches until upload is complete.")),s__default.createElement(dn,null,s__default.createElement(e1,{url:e||void 0,onCopy:r}),s__default.createElement(X0,{"aria-live":"polite"},s__default.createElement(gl,{size:12,"aria-hidden":"true"}),Wy[t]),a&&s__default.createElement(K0,{type:"button","aria-label":"Cancel publish",onClick:n},"Cancel")),s__default.createElement(Dt,null))};var wf=({onPublish:e})=>s__default.createElement(Nt,null,s__default.createElement(Ht,null,s__default.createElement(ht,null,"Publish a build to share"),s__default.createElement(Rt,null,"This Storybook will be uploaded and available to collaborators for feedback.")),s__default.createElement(j,{size:"medium",variant:"solid",onClick:e},"Publish & copy link"),s__default.createElement(Dt,null));function bf(e){let[,t]=Xr(),{begin:r}=t0({onAuthenticated:(a,{closeDialog:o})=>{Co(a),o(),e({status:"uploading",shareUrl:""});},onError:()=>{e({status:"error",reason:"unknown"});}});return {startSignIn:useCallback(async a=>{try{let o=await Ei(a);r(o);}catch{e({status:"error",reason:"unknown"});}},[r,e]),updateToken:t}}function Sf({api:e,token:t,reducerState:r,shareProgress:n,gitInfo:a,lastCompletedShareUrl:o,setLastCompletedShareUrl:i,setLastCompletedGitInfo:l,updateToken:d,dispatch:c}){let p=useRef(!1),u=useRef(r.screen.status),f=useRef(!1),m=useCallback((x,z)=>{e.getChannel()?.emit(ci,{action:x,entryPoint:"toolbar",...z});},[e]),h=n?.status==="pending"||n?.status==="uploading";useEffect(()=>{let x=r.screen.status==="welcome"||r.screen.status==="idle"||r.screen.status==="subdomain";t&&x&&!h&&c({type:"AUTO_SKIP_TO_UPLOADING",newRequestId:crypto.randomUUID()});},[t,r.screen.status,h,c]);let g=r.screen.status,{shareRequestId:w,shareTriggeredId:y}=r;useEffect(()=>{if(g!=="uploading"||!t||h||y&&y===w||n?.shareRequestId===w&&n?.status==="complete")return;let x=w??crypto.randomUUID();c({type:"START_SHARE_EMITTED",id:x}),e.getChannel()?.emit(Dl,{accessToken:t,shareRequestId:x}),m("share-initiated",{isRepeatShare:p.current}),p.current=!1;},[e,c,m,g,w,y,n,h,t]),useEffect(()=>{u.current==="idle"&&r.screen.status==="uploading"&&m("share-auth-completed"),u.current=r.screen.status;},[m,r.screen.status]);let v=useRef({reducerState:r,gitInfo:a,lastCompletedShareUrl:o,setLastCompletedShareUrl:i,setLastCompletedGitInfo:l,updateToken:d,dispatch:c,emitTelemetry:m});v.current={reducerState:r,gitInfo:a,lastCompletedShareUrl:o,setLastCompletedShareUrl:i,setLastCompletedGitInfo:l,updateToken:d,dispatch:c,emitTelemetry:m},useEffect(()=>{if(!n)return;let x=v.current,{next:z,effect:ae}=sf(x.reducerState,n,x.gitInfo,x.lastCompletedShareUrl);switch(z!==x.reducerState&&x.dispatch({type:"APPLY_STATE",next:z}),ae.kind){case"url-received":x.emitTelemetry("share-url-received");break;case"completed":f.current=!1,ae.isNew&&(x.setLastCompletedShareUrl(ae.shareUrl),x.setLastCompletedGitInfo(ae.gitInfo),x.emitTelemetry("share-upload-completed"));break;case"auth-error":f.current?(f.current=!1,x.updateToken(null),x.emitTelemetry("share-failed")):(f.current=!0,x.emitTelemetry("share-auth-retry"),Ot.refresh().catch(()=>{}));break;case"failed":f.current=!1,x.emitTelemetry("share-failed");break;}},[n]);let C=useCallback(()=>{e.getChannel()?.emit(zl,{shareRequestId:r.shareRequestId}),m("share-canceled");},[e,m,r.shareRequestId]),b=useCallback(()=>{f.current=!1,c({type:"PUBLISH_REQUESTED",hasToken:!!t,newRequestId:crypto.randomUUID()});},[c,t]),E=useCallback(()=>{p.current=!0,c({type:"PUBLISH_AGAIN",newRequestId:crypto.randomUUID()});},[c]);return {emitTelemetry:m,handleCancel:C,handlePublish:b,handlePublishAgain:E}}var rl=!1,Cf=()=>rl,kf=({api:e})=>{let[t]=Xr(),[r]=be(ra),[n]=be(na),[a,o]=Ae("shareReducer",of),[i,l]=useReducer(lf,a),[d,c]=Ae("shareLastCompletedUrl",null),[p,u]=Ae("shareLastCompletedGitInfo",void 0);useEffect(()=>{o(i);},[i,o]),useEffect(()=>(rl=!0,()=>{rl=!1;}),[]);let f=useCallback(b=>l({type:"SET_SCREEN",screen:b}),[]),{startSignIn:m,updateToken:h}=bf(f),{emitTelemetry:g,handleCancel:w,handlePublish:y,handlePublishAgain:v}=Sf({api:e,token:t,reducerState:i,shareProgress:n,gitInfo:r,lastCompletedShareUrl:d,setLastCompletedShareUrl:c,setLastCompletedGitInfo:u,updateToken:h,dispatch:l}),C=i.screen;switch(C.status){case"welcome":return s__default.createElement(wf,{onPublish:y});case"idle":return s__default.createElement(mf,{onSignIn:()=>m(),onSignInWithSSO:()=>l({type:"GO_SUBDOMAIN"})});case"subdomain":return s__default.createElement(vf,{onSubmit:b=>m(b),onBack:()=>l({type:"BACK_TO_IDLE"})});case"uploading":return s__default.createElement(yf,{shareUrl:C.shareUrl,step:n?.status,onCopy:()=>g("share-url-copied"),onCancel:w});case"complete":return s__default.createElement(uf,{shareUrl:C.shareUrl,publishedAt:C.publishedAt,daysToExpire:C.daysToExpire,isOutdated:Na(p,r),onCopy:()=>g("share-url-copied"),onPublishAgain:v});case"error":return s__default.createElement(ff,{reason:C.reason,message:C.message,onRetry:y});default:return null}};var If=({api:e})=>s__default.createElement(PopoverProvider,{hasChrome:!0,hasCloseButton:!0,ariaLabel:"Share your Storybook",placement:"bottom",padding:0,popover:s__default.createElement(kf,{api:e})},s__default.createElement(Button,{variant:"ghost",padding:"small",id:"chromatic-share-button"},"Share"));var s1=sr(Bi());var sw=styled.div({display:"flex",justifyContent:"space-between",padding:"8px 0"}),lw=styled.div({display:"flex",flexDirection:"column",marginLeft:8}),dw=styled.div({display:"flex",gap:4}),cw=styled.div(({crashed:e,theme:t})=>({fontSize:t.typography.size.s1,fontWeight:e?"bold":"normal",color:e?t.color.negativeText:t.color.defaultText})),uw=styled.div(({theme:e})=>({fontSize:e.typography.size.s1,color:e.textMutedColor})),pw=styled(ProgressSpinner)({margin:4}),fw=styled(ll)({width:10}),Mf=()=>{let{addNotification:e,selectStory:t,setOptions:r,togglePanel:n}=useStorybookApi(),a=experimental_useStatusStore(Je=>Object.values(Je).map(gt=>gt[N]?.value).filter(gt=>gt==="status-value:warning").length),o=useContext(ba),{projectId:i}=J0(),[l]=Xr(),d=!!l,[c,p]=be(li),[u]=be(di),[f]=be(ta),m=Object.keys(f?.problems||{}).length>0,[h]=be(ra),[g]=be(ii),w=useRef(u?.currentStep),{index:y,storyId:v,viewMode:C}=useStorybookState(),b=experimental_useTestProviderStore(Je=>Je[io]??"test-provider-state:pending"),{startBuild:E,stopBuild:x}=Q0({localBuildProgress:u,accessToken:l}),z;c&&(z="Not available offline"),m&&(z="Configuration problem"),g&&(z="Git synchronization problem"),d||(z="Login required"),i||(z="Set up visual tests");let ae=!z&&b!=="test-provider-state:crashed",Me=useCallback(()=>{ae&&E();},[ae,E]);useEffect(()=>experimental_getTestProviderStore(io).onRunAll(Me),[Me]);let Ie=useCallback(Je=>{if(r({selectedPanel:zt}),n(!0),y&&C!=="story"){let gt=Object.keys(y).indexOf(v),oo=Object.entries(y).slice(gt>0?gt:0),[Kn]=oo.find(([,{type:ct}])=>ct==="story")||[];Kn&&t(Kn);}Je&&o?.({action:"openWarning",warning:Je});},[r,n,o,y,t,v,C]),dt=useCallback(({onDismiss:Je})=>{Je(),Ie();},[Ie]);useEffect(()=>{let Je=()=>p(!0),gt=()=>p(!1);return window.addEventListener("offline",Je),window.addEventListener("online",gt),()=>{window.removeEventListener("offline",Je),window.removeEventListener("online",gt);}},[p]),useEffect(()=>{u?.currentStep!==w.current&&(w.current=u?.currentStep,u?.currentStep==="error"&&e({id:`${N}/build-error/${Date.now()}`,content:{headline:"Build error",subHeadline:"Check the Storybook process on the command line for more details."},icon:s__default.createElement(vt,{color:color.negative}),onClick:dt}),u?.currentStep==="limited"&&e({id:`${N}/build-limited/${Date.now()}`,content:{headline:"Build limited",subHeadline:"Your account has insufficient snapshots remaining to run this build. Visit your billing page to find out more."},icon:s__default.createElement(vt,{color:color.negative}),onClick:dt}));},[e,dt,u?.currentStep]);let It=useCallback(()=>Ie(z),[Ie,z]),Et;switch(!0){case!!z:Et=s__default.createElement(Link,{onClick:It},z);break;case b==="test-provider-state:running":Et=u?Ja[u.currentStep].renderProgress(u):"Starting...";break;case Na(u,h):Et="Test results outdated";break;case u?.currentStep==="aborted":Et="Aborted by user";break;case u?.currentStep==="complete":Et=u.errorCount?`Encountered ${(0, s1.default)("component error",u.errorCount,!0)}`:a?`Found ${(0, s1.default)("story",a,!0)} with ${(0, s1.default)("change",a)}`:"No visual changes detected";break;default:Et="Not run";}return s__default.createElement(sw,null,s__default.createElement(lw,null,s__default.createElement(cw,{crashed:b==="test-provider-state:crashed"},u?.currentStep==="error"||u?.currentStep==="limited"?"Visual tests didn't complete":"Visual tests"),s__default.createElement(uw,null,Et)),s__default.createElement(dw,null,z?null:b==="test-provider-state:running"?s__default.createElement(Button,{ariaLabel:"Stop visual tests",size:"medium",variant:"ghost",padding:"none",onClick:x,disabled:!["initialize","build","upload"].includes(u?.currentStep??"")},s__default.createElement(pw,{percentage:u?.buildProgressPercentage},s__default.createElement(fw,null))):s__default.createElement(Button,{ariaLabel:"Start visual tests",size:"medium",variant:"ghost",padding:"small",disabled:!ae,onClick:Me},s__default.createElement(dl,null))))};if(window.opener&&!window.opener.closed){let e=new URLSearchParams(window.location.search),t=e.get("code"),r=e.get("state"),n=e.get("error");if(t&&r)window.opener.postMessage({message:"grant",code:t,state:r},window.location.origin),window.close();else if(n&&r){let a=e.get("error_description");window.opener.postMessage({message:"grant",error:n,state:r,...a?{error_description:a}:{}},window.location.origin),window.close();}}addons.register(N,e=>{e.on($l,(n,a)=>{let o=Wl.includes(a.selectors[0]);window.open(o?"https://www.chromatic.com/docs/ignoring-elements/#ignoring-elements-inline":"https://www.chromatic.com/docs/ignoring-elements/#ignoring-elements-via-test-configuration","_blank");}),addons.add(`${N}/ignore-highlight-tool`,{type:Addon_TypesEnum.TOOL,title:"Highlight ignored areas",match:({viewMode:n})=>n==="story",render:()=>s__default.createElement(Jl,null)}),addons.add(zt,{type:Addon_TypesEnum.PANEL,title:"Visual tests",paramKey:jl,match:({viewMode:n})=>n==="story",render:({active:n})=>s__default.createElement(af,{active:!!n})});let t=e.getChannel();if(t){let n=null;Wr.subscribe(na,t).on("change",o=>{if(o?.status!=="complete"||o.shareUrl===n||Cf())return;let{shareUrl:i}=o;n=i,e.addNotification({id:`${N}/share-published`,content:{headline:"Storybook published!",subHeadline:i},duration:8e3,onClick:({onDismiss:l})=>{navigator.clipboard.writeText(i).catch(()=>{}),l();}});});}if(globalThis.CONFIG_TYPE!=="DEVELOPMENT")return;let r=experimental_getStatusStore(N);r.onSelect(()=>{e.setSelectedPanel(zt),e.togglePanel(!0);}),addons.add(io,{type:Addon_TypesEnum.experimental_TEST_PROVIDER,clear:()=>{r.unset();},render:()=>s__default.createElement(Mf,null)}),addons.add(`${N}/share-tool`,{type:Addon_TypesEnum.TOOLEXTRA,title:"Share",render:()=>s__default.createElement(If,{api:e})});});
|
|
362
362
|
/*! Bundled license information:
|
|
363
363
|
|
|
364
364
|
popper.js/dist/esm/popper.js:
|