@frigade/react 2.5.19 → 2.5.20

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/index.js CHANGED
@@ -63,7 +63,7 @@ var it=Object.defineProperty,an=Object.defineProperties;var sn=Object.getOwnProp
63
63
  to {
64
64
  opacity: 1;
65
65
  }
66
- `;function fo(B){var S=B,{align:e,alignOffset:o,autoScroll:t,defaultOpen:n,dismissible:r,flow:i,handleDismiss:s,modal:l,onPrimary:d,onSecondary:u,part:m,side:g,sideOffset:b,spotlight:h,step:P}=S,T=f(S,["align","alignOffset","autoScroll","defaultOpen","dismissible","flow","handleDismiss","modal","onPrimary","onSecondary","part","side","sideOffset","spotlight","step"]);var M,k,H,A,J;let{handlePrimary:w,handleSecondary:v}=ue(P,{onPrimary:d,onSecondary:u}),F=(k=(M=P.primaryButton)==null?void 0:M.title)!=null?k:P.primaryButtonTitle,O=(A=(H=P.secondaryButton)==null?void 0:H.title)!=null?A:P.secondaryButtonTitle,D=!!P.$state.blocked;return jsx(Ko,p(a({align:e,alignOffset:o,anchor:P.selector,autoScroll:t,"data-step-id":P.id,defaultOpen:n,modal:l,part:m,side:g,sideOffset:b,spotlight:h},T),{children:jsxs(x,{animation:`${Ba} 300ms ease-out`,boxShadow:"md",maxWidth:"min(360px, calc(100vw - 25px))",children:[jsx(x.Media,{aspectRatio:"2",borderRadius:"md md 0 0",borderWidth:"0",margin:"-5 -5 0",objectFit:"cover",overflowClipMargin:"unset",src:(J=P.videoUri)!=null?J:P.imageUri,transform:"translate3d(0, 0, 1px)",type:P.videoUri?"video":"image"}),jsx(x.Header,{css:{".fr-dismiss":{position:"absolute",right:"12px",top:"12px"}},dismissible:r,handleDismiss:s,subtitle:P.subtitle,title:P.title}),jsxs(x.Footer,{children:[i.getNumberOfAvailableSteps()>1&&jsx(Ee,{current:i.getCurrentStepOrder()+1,marginRight:"auto",total:i.getNumberOfAvailableSteps()}),jsx(x.Secondary,{disabled:D,onClick:v,title:O}),jsx(x.Primary,{disabled:D,onClick:w,title:F})]})]})}))}function $r(r){var i=r,{children:e,container:o,flowId:t}=i,n=f(i,["children","container","flowId"]);return jsx(hr,{container:o,children:jsx(y,p(a({"data-flow-id":t,part:"tour"},n),{children:e}))})}function go(n){var r=n,{as:e,flowId:o}=r,t=f(r,["as","flowId"]);let{onDismiss:i,onPrimary:s,onSecondary:l}=t;return jsx(U,p(a({as:null,flowId:o},t),{children:({flow:d,handleDismiss:u,parentProps:m,step:g})=>{var Te;let Re=m.containerProps,{align:b="after",alignOffset:h=0,autoScroll:P=!1,container:T="body",defaultOpen:B,dismissible:S=!1,modal:w,part:v,sequential:F=!0,side:O="bottom",sideOffset:D=0,spotlight:M,zIndex:k=9999}=Re,H=f(Re,["align","alignOffset","autoScroll","container","defaultOpen","dismissible","modal","part","sequential","side","sideOffset","spotlight","zIndex"]),A=a({align:b,alignOffset:h,autoScroll:P,dismissible:S,flow:d,handleDismiss:u,modal:w,onPrimary:s,onSecondary:l,part:v,side:O,sideOffset:D,spotlight:M,step:g,zIndex:k},(Te=g.props)!=null?Te:{});if(F)return jsx($r,p(a({as:e,container:T,flowId:o,part:"tour",zIndex:k},H),{children:jsx(fo,a({defaultOpen:B!=null?B:!0},A),g.id)}));let J=Array.from(d.steps.values()).filter(j=>{let{blocked:re,completed:se,skipped:Y,visible:N}=j.$state;return !re&&!se&&!Y&&N}).map(j=>{var Q,le,ne,ye;function re(ie){return W(this,null,function*(){return (yield i==null?void 0:i(d,ie))===!1?(ie.preventDefault(),!1):(j.skip(),!0)})}let se=M&&j.id===g.id,Y=(le=(Q=j.props)==null?void 0:Q.zIndex)!=null?le:k,N=a({align:b,alignOffset:h,dismissible:S,flow:d,handleDismiss:re,onPrimary:s,onSecondary:l,part:v,side:O,sideOffset:D,spotlight:M,zIndex:Y},(ne=j.props)!=null?ne:{});return jsx(fo,a({css:{"&:has([aria-expanded=true])":{zIndex:Number(Y)+2},".fr-overlay":{zIndex:Number(Y)+1},".fr-progress-fraction":{display:"none"}},defaultOpen:(ye=B||se)!=null?ye:!1,step:j},N),`${j.id}-${se}`)});return jsx($r,p(a({as:e,container:T,flowId:o,part:"tour",zIndex:k},H),{children:J}))}}))}function yo(){let{frigade:e}=useContext(L),[,o]=useState(!1),t,n=useCallback(s=>{e==null||e.getCollections().then(()=>{s();});let l=()=>{clearTimeout(t),t=setTimeout(()=>{o(d=>!d),s();},0);};return e==null||e.onStateChange(l),()=>{e==null||e.removeStateChangeHandler(l);}},[]),r=()=>{let s;try{s=e==null?void 0:e.getCollectionsSync();}catch(l){}return s};return {collections:useSyncExternalStore(n,r,r)}}function xo(e){var l,d,u,m;let{frigade:o}=useContext(L),{collections:t}=yo(),n=t==null?void 0:t.get(e),i=(m=((u=(d=(l=t==null?void 0:t.get(e))==null?void 0:l.flows)==null?void 0:d.filter(g=>g.visible).map(g=>p(a({},g),{flow:o==null?void 0:o.getFlowSync(g.flowId)})))!=null?u:[]).find(({flow:g})=>g.isVisible))==null?void 0:m.flowId,{flow:s}=Fe(i);return useEffect(()=>{o==null||o.registerCollection(e);},[e]),{collection:n,currentFlow:s}}function jo(r){var i=r,{collectionId:e,part:o,variables:t={}}=i,n=f(i,["collectionId","part","variables"]);var u,m,g;let s={ANNOUNCEMENT:Xo,BANNER:Oo,CARD:x,CHECKLIST:ro,EMBEDDED_TIP:x,FORM:Me,NPS_SURVEY:Ge,SURVEY:Ge,TOUR:go},{currentFlow:l}=xo(e),d=(m=s[(u=l==null?void 0:l.rawData)==null?void 0:u.flowType])!=null?m:null;return l==null||d==null?null:((g=l==null?void 0:l.rawData)==null?void 0:g.flowType)===FlowType.FORM?jsx(y,p(a({part:["collection",o],"data-collection-id":e},n),{children:jsx(Me,{flowId:l.id,as:$,variables:t},l.id)})):jsx(y,p(a({part:["collection",o],"data-collection-id":e},n),{children:jsx(d,{flowId:l.id,variables:t},l.id)}))}function Ar(){var t,n;let{collections:e}=yo(),o=(n=Array.from((t=e==null?void 0:e.entries())!=null?t:[]).find(r=>r[1].collectionType==="DEFAULT"))==null?void 0:n[0];return xo(o),o==null?null:jsx(jo,{as:null,collectionId:o})}var L=createContext({apiKey:"",navigate:()=>{},hasInitialized:!1,registerComponent:()=>{},unregisterComponent:()=>{},variables:{}});function Jo(){let{frigade:e}=useContext(L);return {frigade:e,isLoading:!(e!=null&&e.isReady())}}function Mr(){let{frigade:e}=Jo();return useEffect(()=>{W(this,null,function*(){(yield e.getFlows()).forEach(t=>{t.steps.forEach(n=>{if(n.imageUri){let r=new Image;r.src=n.imageUri;}});});});},[]),null}var Wr="2.5.19";function zr(s){var l=s,{children:e,css:o={},defaultCollection:t=!0,navigate:n,theme:r}=l,i=f(l,["children","css","defaultCollection","navigate","theme"]);let d=r?vo(r):{},u=useRef(new Map),m=useRef(),[g,b]=useState(!1),h=useMemo(()=>(b(!1),m.current=void 0,new Frigade(i.apiKey,{apiKey:i.apiKey,apiUrl:i.apiUrl,userId:i.userId,groupId:i.groupId,userProperties:i.userProperties,groupProperties:i.groupProperties,generateGuestId:i.generateGuestId,syncOnWindowUpdates:i.syncOnWindowUpdates,__readOnly:i.__readOnly,__flowStateOverrides:i.__flowStateOverrides,__platformVersion:Wr,__platformName:"React"})),[i.userId,i.groupId,i.apiKey]);useEffect(()=>{if(i.__flowStateOverrides){let w=h.getConfig();w.__flowStateOverrides=i.__flowStateOverrides,h.reload(w);}},[i.__flowStateOverrides]);function P(){let w=[...u.current.entries()].map(([v,F])=>[v,F.callback]);h.batchRegister(w),b(!0);}function T(w,v){if(m.current&&clearTimeout(m.current),g){u.current.has(w)?h.getFlow(w).then(F=>v(F.isVisible)):(h.getFlow(w).then(F=>F.register(v)),u.current.set(w,{callback:v}));return}u.current.has(w)||u.current.set(w,{callback:v}),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>P(),0);}function B(w){u.current.has(w)&&h.getFlow(w).then(v=>{u.current.delete(w),v==null||v.unregister();});}let S=n!=null?n:(w,v="_self")=>{window.open(w,v);};return useEffect(()=>()=>{h.destroy();},[]),jsxs(L.Provider,{value:p(a({navigate:S},i),{frigade:h,registerComponent:T,unregisterComponent:B,hasInitialized:g,variables:i.variables||{}}),children:[jsx(Global,{styles:{":root":a(a(a({},Ro),d),o)}}),jsxs(ThemeProvider,{theme:E,children:[t&&jsx(Ar,{}),e]}),i.preloadImages!==!1&&jsx(Mr,{})]})}function Fe(e,o){let{frigade:t,variables:n}=useContext(L),[,r]=useState(!1),i=useCallback(l=>{t==null||t.getFlow(e).then(()=>{l();});let d=u=>{u.id===e&&setTimeout(()=>{r(m=>!m),l();},0);};return t==null||t.onStateChange(d),()=>{t==null||t.removeStateChangeHandler(d);}},[e,t]),s=useSyncExternalStore(i,()=>t==null?void 0:t.getFlowSync(e),()=>t==null?void 0:t.getFlowSync(e));return s==null||s.applyVariables(a(a({},n),o==null?void 0:o.variables)),{flow:s,isLoading:t!=null&&t.hasFailedToLoad()?!1:!s}}function Zo(e,{onComplete:o,onDismiss:t}={}){let n=useRef(null);return useEffect(()=>{if(e==null)return;function r(){return W(this,null,function*(){e.isCompleted&&n.current===!1&&(yield o==null?void 0:o(e));})}return r(),n.current=e==null?void 0:e.isCompleted,()=>{r();}},[e==null?void 0:e.isCompleted]),{handleDismiss:useCallback(r=>W(this,null,function*(){if((yield t==null?void 0:t(e,r))===!1)return r.preventDefault(),!1;e.skip();}),[e])}}var fe=new Set;function Yo(e,o=!0){let t=useCallback(()=>{fe.has(e==null?void 0:e.id)&&fe.delete(e==null?void 0:e.id);},[fe,o]),n=useCallback(()=>{o&&(e!=null&&e.isVisible)&&!fe.has(e.id)&&fe.add(e.id);},[fe,o]);useEffect(()=>()=>{t();},[]),useEffect(()=>{n();let i=()=>{t();};return window.addEventListener("popstate",i),window.addEventListener("beforeunload",i),()=>{t(),window.removeEventListener("popstate",i),window.removeEventListener("beforeunload",i);}},[n,t]),e!=null&&e.isVisible?n():t();let r=fe.size>0?fe.values().next().value:null;return {isCurrentModal:o?r===(e==null?void 0:e.id)||fe.size==0:!0}}function U(u){var m=u,{as:e,children:o,flowId:t,onComplete:n,onDismiss:r,onPrimary:i,onSecondary:s,variables:l}=m,d=f(m,["as","children","flowId","onComplete","onDismiss","onPrimary","onSecondary","variables"]);var k,A;let{flow:g}=Fe(t,{variables:l}),H=a(a({},d),(k=g==null?void 0:g.props)!=null?k:{}),{dismissible:b=!1,forceMount:h=!1}=H,P=f(H,["dismissible","forceMount"]),T=g==null?void 0:g.getCurrentStep(),{handleDismiss:B}=Zo(g,{onComplete:n,onDismiss:r}),{handlePrimary:S,handleSecondary:w}=ue(T,{onPrimary:i,onSecondary:s}),v=(P==null?void 0:P.modal)||typeof e=="function"&&(e==null?void 0:e.displayName)==="Dialog"||[FlowType.ANNOUNCEMENT,FlowType.TOUR].includes((A=g==null?void 0:g.rawData)==null?void 0:A.flowType),{isCurrentModal:F}=Yo(g,v),O=h&&((g==null?void 0:g.isCompleted)||(g==null?void 0:g.isSkipped));if(!g||!g.isVisible&&!O||!O&&!F)return null;(O||!g.isCompleted&&!g.isSkipped)&&(T==null||T.start());let D=e===null?Fragment$1:e!=null?e:y,M=p(a({},P),{"data-flow-id":g.id});return jsx(D,p(a({},e===null?{}:M),{children:o({flow:g,handleDismiss:B,handlePrimary:S,handleSecondary:w,parentProps:{dismissible:b,flowId:t,variables:l,containerProps:M},step:T})}))}function jr(t){var n=t,{part:e}=n,o=f(n,["part"]);return jsx(U,p(a({as:x,gap:5,borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",part:["card",e]},o),{children:({handleDismiss:r,handlePrimary:i,handleSecondary:s,parentProps:{dismissible:l},step:d})=>{var g,b,h,P;let u=(b=(g=d.primaryButton)==null?void 0:g.title)!=null?b:d.primaryButtonTitle,m=(P=(h=d.secondaryButton)==null?void 0:h.title)!=null?P:d.secondaryButtonTitle;return jsxs(Fragment,{children:[jsx(x.Header,{dismissible:l,handleDismiss:r,subtitle:d.subtitle,title:d.title}),jsx(x.Media,{src:d.imageUri,css:{objectFit:"contain",width:"100%"}}),jsxs(C.Row,{gap:3,justifyContent:"flex-end",part:"card-footer",children:[jsx(x.Secondary,{title:m,onClick:s}),jsx(x.Primary,{title:u,onClick:i})]})]})}}))}function bo(n){var r=n,{part:e,src:o}=r,t=f(r,["part","src"]);return jsx(y,a({as:"img",maxWidth:"unset",part:["image",e],src:o},t))}function ts(e){var o,t,n,r,i;return e.includes("youtube")?`https://www.youtube.com/embed/${(o=e.split("v=")[1])==null?void 0:o.split("&")[0]}`:e.includes("youtu.be")?`https://www.youtube.com/embed/${(t=e.split("youtu.be/")[1])==null?void 0:t.split("&")[0]}`:e.includes("vimeo")?`https://player.vimeo.com/video/${(n=e.split("vimeo.com/")[1])==null?void 0:n.split("&")[0]}`:e.includes("wistia")?`https://fast.wistia.net/embed/iframe/${(r=e.split("wistia.com/medias/")[1])==null?void 0:r.split("&")[0]}`:e.includes("loom")?`https://loom.com/embed/${(i=e.split("loom.com/share/")[1])==null?void 0:i.split("&")[0]}?hideEmbedTopBar=true&hide_title=true&hide_share=true&hide_owner=true`:null}function Po(n){var r=n,{part:e,src:o}=r,t=f(r,["part","src"]);let i=ts(o);return i?jsx(y,a({allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,as:"iframe",backgroundColor:"neutral.100",borderWidth:"0",part:["video",e],src:i},t)):o!=null&&o.endsWith(".mp4")?jsx(y,a({as:"video",controls:!0,part:["video",e],src:o},t)):(console.error(`Could not map videoUri ${o} to a known provider (Youtube, Vimeo, Wistia, Loom) or valid mp4 file.`),null)}function he(n){var r=n,{src:e,type:o}=r,t=f(r,["src","type"]);return jsx(o==="video"?Po:bo,a({src:e},t))}var x=Eo.forwardRef((i,r)=>{var s=i,{children:e,flowId:o,part:t}=s,n=f(s,["children","flowId","part"]);var d;if(o!=null)return jsx(jr,a({flowId:o},n));let l=(d=n.as)!=null?d:C.Column;return jsx(l,p(a({backgroundColor:"neutral.background",borderColor:"neutral.border",borderStyle:"solid",borderRadius:"md",borderWidth:"0",gap:5,p:5,part:["card",t]},n),{ref:r,children:e}))});x.Dismiss=e=>jsx(I.Plain,p(a({"aria-label":"Dismiss",part:"dismiss",padding:0},e),{children:jsx(Be,{height:"20",fill:"currentColor"})}));x.Footer=n=>{var r=n,{children:e,part:o}=r,t=f(r,["children","part"]);return jsx(C.Row,p(a({alignItems:"center",gap:3,justifyContent:"flex-end",part:["card-footer",o]},t),{children:e}))};x.Header=s=>{var l=s,{dismissible:e,handleDismiss:o,part:t,subtitle:n,title:r}=l,i=f(l,["dismissible","handleDismiss","part","subtitle","title"]);return jsxs(C.Row,p(a({alignItems:"flex-start",flexWrap:"wrap",gap:1,part:["card-header",t]},i),{children:[jsx(x.Title,{maxWidth:"calc(100% - 32px)",children:r}),e&&jsx(x.Dismiss,{onClick:o,marginLeft:"auto"}),jsx(x.Subtitle,{color:"neutral.400",flexBasis:"100%",children:n})]}))};x.Media=t=>{var n=t,{src:e}=n,o=f(n,["src"]);return e==null||(e==null?void 0:e.length)===0?null:jsx(he,a({borderRadius:"md",src:e},o))};x.Primary=n=>{var r=n,{onClick:e,title:o}=r,t=f(r,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsx(I.Primary,a({title:o,onClick:e},t))};x.Secondary=n=>{var r=n,{onClick:e,title:o}=r,t=f(r,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsx(I.Secondary,a({title:o,onClick:e},t))};x.Subtitle=n=>{var r=n,{children:e,part:o}=r,t=f(r,["children","part"]);return e==null?null:jsx(R.Body2,p(a({display:"block",color:"neutral.400",part:["subtitle",o]},t),{children:e}))};x.Title=n=>{var r=n,{children:e,part:o}=r,t=f(r,["children","part"]);return e==null?null:jsx(R.H4,p(a({display:"block",part:["title",o]},t),{children:e}))};var Co={content:["onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside"],root:["defaultOpen","modal","onOpenChange","open"]};function qr(e){let o=Object.fromEntries(Co.content.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0)),t=Object.fromEntries(Co.root.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0)),n={};for(let r of Object.keys(e))!Co.content.some(i=>i===r)&&!Co.root.some(i=>i===r)&&(n[r]=e[r]);return {contentProps:o,otherProps:n,rootProps:t}}var as=keyframes`
66
+ `;function fo(B){var S=B,{align:e,alignOffset:o,autoScroll:t,defaultOpen:n,dismissible:r,flow:i,handleDismiss:s,modal:l,onPrimary:d,onSecondary:u,part:m,side:g,sideOffset:b,spotlight:h,step:P}=S,T=f(S,["align","alignOffset","autoScroll","defaultOpen","dismissible","flow","handleDismiss","modal","onPrimary","onSecondary","part","side","sideOffset","spotlight","step"]);var M,k,H,A,J;let{handlePrimary:w,handleSecondary:v}=ue(P,{onPrimary:d,onSecondary:u}),F=(k=(M=P.primaryButton)==null?void 0:M.title)!=null?k:P.primaryButtonTitle,O=(A=(H=P.secondaryButton)==null?void 0:H.title)!=null?A:P.secondaryButtonTitle,D=!!P.$state.blocked;return jsx(Ko,p(a({align:e,alignOffset:o,anchor:P.selector,autoScroll:t,"data-step-id":P.id,defaultOpen:n,modal:l,part:m,side:g,sideOffset:b,spotlight:h},T),{children:jsxs(x,{animation:`${Ba} 300ms ease-out`,boxShadow:"md",maxWidth:"min(360px, calc(100vw - 25px))",children:[jsx(x.Media,{aspectRatio:"2",borderRadius:"md md 0 0",borderWidth:"0",margin:"-5 -5 0",objectFit:"cover",overflowClipMargin:"unset",src:(J=P.videoUri)!=null?J:P.imageUri,transform:"translate3d(0, 0, 1px)",type:P.videoUri?"video":"image"}),jsx(x.Header,{css:{".fr-dismiss":{position:"absolute",right:"12px",top:"12px"}},dismissible:r,handleDismiss:s,subtitle:P.subtitle,title:P.title}),jsxs(x.Footer,{children:[i.getNumberOfAvailableSteps()>1&&jsx(Ee,{current:i.getCurrentStepOrder()+1,marginRight:"auto",total:i.getNumberOfAvailableSteps()}),jsx(x.Secondary,{disabled:D,onClick:v,title:O}),jsx(x.Primary,{disabled:D,onClick:w,title:F})]})]})}))}function $r(r){var i=r,{children:e,container:o,flowId:t}=i,n=f(i,["children","container","flowId"]);return jsx(hr,{container:o,children:jsx(y,p(a({"data-flow-id":t,part:"tour"},n),{children:e}))})}function go(n){var r=n,{as:e,flowId:o}=r,t=f(r,["as","flowId"]);let{onDismiss:i,onPrimary:s,onSecondary:l}=t;return jsx(U,p(a({as:null,flowId:o},t),{children:({flow:d,handleDismiss:u,parentProps:m,step:g})=>{var Te;let Re=m.containerProps,{align:b="after",alignOffset:h=0,autoScroll:P=!1,container:T="body",defaultOpen:B,dismissible:S=!1,modal:w,part:v,sequential:F=!0,side:O="bottom",sideOffset:D=0,spotlight:M,zIndex:k=9999}=Re,H=f(Re,["align","alignOffset","autoScroll","container","defaultOpen","dismissible","modal","part","sequential","side","sideOffset","spotlight","zIndex"]),A=a({align:b,alignOffset:h,autoScroll:P,dismissible:S,flow:d,handleDismiss:u,modal:w,onPrimary:s,onSecondary:l,part:v,side:O,sideOffset:D,spotlight:M,step:g,zIndex:k},(Te=g.props)!=null?Te:{});if(F)return jsx($r,p(a({as:e,container:T,flowId:o,part:"tour",zIndex:k},H),{children:jsx(fo,a({defaultOpen:B!=null?B:!0},A),g.id)}));let J=Array.from(d.steps.values()).filter(j=>{let{blocked:re,completed:se,skipped:Y,visible:N}=j.$state;return !re&&!se&&!Y&&N}).map(j=>{var Q,le,ne,ye;function re(ie){return W(this,null,function*(){return (yield i==null?void 0:i(d,ie))===!1?(ie.preventDefault(),!1):(j.skip(),!0)})}let se=M&&j.id===g.id,Y=(le=(Q=j.props)==null?void 0:Q.zIndex)!=null?le:k,N=a({align:b,alignOffset:h,dismissible:S,flow:d,handleDismiss:re,onPrimary:s,onSecondary:l,part:v,side:O,sideOffset:D,spotlight:M,zIndex:Y},(ne=j.props)!=null?ne:{});return jsx(fo,a({css:{"&:has([aria-expanded=true])":{zIndex:Number(Y)+2},".fr-overlay":{zIndex:Number(Y)+1},".fr-progress-fraction":{display:"none"}},defaultOpen:(ye=B||se)!=null?ye:!1,step:j},N),`${j.id}-${se}`)});return jsx($r,p(a({as:e,container:T,flowId:o,part:"tour",zIndex:k},H),{children:J}))}}))}function yo(){let{frigade:e}=useContext(L),[,o]=useState(!1),t,n=useCallback(s=>{e==null||e.getCollections().then(()=>{s();});let l=()=>{clearTimeout(t),t=setTimeout(()=>{o(d=>!d),s();},0);};return e==null||e.onStateChange(l),()=>{e==null||e.removeStateChangeHandler(l);}},[]),r=()=>{let s;try{s=e==null?void 0:e.getCollectionsSync();}catch(l){}return s};return {collections:useSyncExternalStore(n,r,r)}}function xo(e){var l,d,u,m;let{frigade:o}=useContext(L),{collections:t}=yo(),n=t==null?void 0:t.get(e),i=(m=((u=(d=(l=t==null?void 0:t.get(e))==null?void 0:l.flows)==null?void 0:d.filter(g=>g.visible).map(g=>p(a({},g),{flow:o==null?void 0:o.getFlowSync(g.flowId)})))!=null?u:[]).find(({flow:g})=>g.isVisible))==null?void 0:m.flowId,{flow:s}=Fe(i);return useEffect(()=>{o==null||o.registerCollection(e);},[e]),{collection:n,currentFlow:s}}function jo(r){var i=r,{collectionId:e,part:o,variables:t={}}=i,n=f(i,["collectionId","part","variables"]);var u,m,g;let s={ANNOUNCEMENT:Xo,BANNER:Oo,CARD:x,CHECKLIST:ro,EMBEDDED_TIP:x,FORM:Me,NPS_SURVEY:Ge,SURVEY:Ge,TOUR:go},{currentFlow:l}=xo(e),d=(m=s[(u=l==null?void 0:l.rawData)==null?void 0:u.flowType])!=null?m:null;return l==null||d==null?null:((g=l==null?void 0:l.rawData)==null?void 0:g.flowType)===FlowType.FORM?jsx(y,p(a({part:["collection",o],"data-collection-id":e},n),{children:jsx(Me,{flowId:l.id,as:$,variables:t},l.id)})):jsx(y,p(a({part:["collection",o],"data-collection-id":e},n),{children:jsx(d,{flowId:l.id,variables:t},l.id)}))}function Ar(){var t,n;let{collections:e}=yo(),o=(n=Array.from((t=e==null?void 0:e.entries())!=null?t:[]).find(r=>r[1].collectionType==="DEFAULT"))==null?void 0:n[0];return xo(o),o==null?null:jsx(jo,{as:null,collectionId:o})}var L=createContext({apiKey:"",navigate:()=>{},hasInitialized:!1,registerComponent:()=>{},unregisterComponent:()=>{},variables:{}});function Jo(){let{frigade:e}=useContext(L);return {frigade:e,isLoading:!(e!=null&&e.isReady())}}function Mr(){let{frigade:e}=Jo();return useEffect(()=>{W(this,null,function*(){(yield e.getFlows()).forEach(t=>{t.steps.forEach(n=>{if(n.imageUri){let r=new Image;r.src=n.imageUri;}});});});},[]),null}var Wr="2.5.20";function zr(s){var l=s,{children:e,css:o={},defaultCollection:t=!0,navigate:n,theme:r}=l,i=f(l,["children","css","defaultCollection","navigate","theme"]);let d=r?vo(r):{},u=useRef(new Map),m=useRef(),[g,b]=useState(!1),h=useMemo(()=>(b(!1),m.current=void 0,new Frigade(i.apiKey,{apiKey:i.apiKey,apiUrl:i.apiUrl,userId:i.userId,groupId:i.groupId,userProperties:i.userProperties,groupProperties:i.groupProperties,generateGuestId:i.generateGuestId,syncOnWindowUpdates:i.syncOnWindowUpdates,__readOnly:i.__readOnly,__flowStateOverrides:i.__flowStateOverrides,__platformVersion:Wr,__platformName:"React"})),[i.userId,i.groupId,i.apiKey]);useEffect(()=>{if(i.__flowStateOverrides){let w=h.getConfig();w.__flowStateOverrides=i.__flowStateOverrides,h.reload(w);}},[i.__flowStateOverrides]);function P(){let w=[...u.current.entries()].map(([v,F])=>[v,F.callback]);h.batchRegister(w),b(!0);}function T(w,v){if(m.current&&clearTimeout(m.current),g){u.current.has(w)?h.getFlow(w).then(F=>v(F.isVisible)):(h.getFlow(w).then(F=>F.register(v)),u.current.set(w,{callback:v}));return}u.current.has(w)||u.current.set(w,{callback:v}),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>P(),0);}function B(w){u.current.has(w)&&h.getFlow(w).then(v=>{u.current.delete(w),v==null||v.unregister();});}let S=n!=null?n:(w,v="_self")=>{window.open(w,v);};return useEffect(()=>()=>{h.destroy();},[]),jsxs(L.Provider,{value:p(a({navigate:S},i),{frigade:h,registerComponent:T,unregisterComponent:B,hasInitialized:g,variables:i.variables||{}}),children:[jsx(Global,{styles:{":root":a(a(a({},Ro),d),o)}}),jsxs(ThemeProvider,{theme:E,children:[t&&jsx(Ar,{}),e]}),i.preloadImages!==!1&&jsx(Mr,{})]})}function Fe(e,o){let{frigade:t,variables:n}=useContext(L),[,r]=useState(!1),i=useCallback(l=>{t==null||t.getFlow(e).then(()=>{l();});let d=u=>{u.id===e&&setTimeout(()=>{r(m=>!m),l();},0);};return t==null||t.onStateChange(d),()=>{t==null||t.removeStateChangeHandler(d);}},[e,t]),s=useSyncExternalStore(i,()=>t==null?void 0:t.getFlowSync(e),()=>t==null?void 0:t.getFlowSync(e));return s==null||s.applyVariables(a(a({},n),o==null?void 0:o.variables)),{flow:s,isLoading:t!=null&&t.hasFailedToLoad()?!1:!s}}function Zo(e,{onComplete:o,onDismiss:t}={}){let n=useRef(null);return useEffect(()=>{if(e==null)return;function r(){return W(this,null,function*(){e.isCompleted&&n.current===!1&&(yield o==null?void 0:o(e));})}return r(),n.current=e==null?void 0:e.isCompleted,()=>{r();}},[e==null?void 0:e.isCompleted]),{handleDismiss:useCallback(r=>W(this,null,function*(){if((yield t==null?void 0:t(e,r))===!1)return r.preventDefault(),!1;e.skip();}),[e])}}var fe=new Set;function Yo(e,o=!0){let t=useCallback(()=>{fe.has(e==null?void 0:e.id)&&fe.delete(e==null?void 0:e.id);},[fe,o]),n=useCallback(()=>{o&&(e!=null&&e.isVisible)&&!fe.has(e.id)&&fe.add(e.id);},[fe,o]);useEffect(()=>()=>{t();},[]),useEffect(()=>{n();let i=()=>{t();};return window.addEventListener("popstate",i),window.addEventListener("beforeunload",i),()=>{t(),window.removeEventListener("popstate",i),window.removeEventListener("beforeunload",i);}},[n,t]),e!=null&&e.isVisible?n():t();let r=fe.size>0?fe.values().next().value:null;return {isCurrentModal:o?r===(e==null?void 0:e.id)||fe.size==0:!0}}function U(u){var m=u,{as:e,children:o,flowId:t,onComplete:n,onDismiss:r,onPrimary:i,onSecondary:s,variables:l}=m,d=f(m,["as","children","flowId","onComplete","onDismiss","onPrimary","onSecondary","variables"]);var k,A;let{flow:g}=Fe(t,{variables:l}),H=a(a({},d),(k=g==null?void 0:g.props)!=null?k:{}),{dismissible:b=!1,forceMount:h=!1}=H,P=f(H,["dismissible","forceMount"]),T=g==null?void 0:g.getCurrentStep(),{handleDismiss:B}=Zo(g,{onComplete:n,onDismiss:r}),{handlePrimary:S,handleSecondary:w}=ue(T,{onPrimary:i,onSecondary:s}),v=(P==null?void 0:P.modal)||typeof e=="function"&&(e==null?void 0:e.displayName)==="Dialog"||[FlowType.ANNOUNCEMENT,FlowType.TOUR].includes((A=g==null?void 0:g.rawData)==null?void 0:A.flowType),{isCurrentModal:F}=Yo(g,v),O=h&&((g==null?void 0:g.isCompleted)||(g==null?void 0:g.isSkipped));if(!g||!g.isVisible&&!O||!O&&!F)return null;(O||!g.isCompleted&&!g.isSkipped)&&(T==null||T.start());let D=e===null?Fragment$1:e!=null?e:y,M=p(a({},P),{"data-flow-id":g.id});return jsx(D,p(a({},e===null?{}:M),{children:o({flow:g,handleDismiss:B,handlePrimary:S,handleSecondary:w,parentProps:{dismissible:b,flowId:t,variables:l,containerProps:M},step:T})}))}function jr(t){var n=t,{part:e}=n,o=f(n,["part"]);return jsx(U,p(a({as:x,gap:5,borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",part:["card",e]},o),{children:({handleDismiss:r,handlePrimary:i,handleSecondary:s,parentProps:{dismissible:l},step:d})=>{var g,b,h,P;let u=(b=(g=d.primaryButton)==null?void 0:g.title)!=null?b:d.primaryButtonTitle,m=(P=(h=d.secondaryButton)==null?void 0:h.title)!=null?P:d.secondaryButtonTitle;return jsxs(Fragment,{children:[jsx(x.Header,{dismissible:l,handleDismiss:r,subtitle:d.subtitle,title:d.title}),jsx(x.Media,{src:d.imageUri,css:{objectFit:"contain",width:"100%"}}),jsxs(C.Row,{gap:3,justifyContent:"flex-end",part:"card-footer",children:[jsx(x.Secondary,{title:m,onClick:s}),jsx(x.Primary,{title:u,onClick:i})]})]})}}))}function bo(n){var r=n,{part:e,src:o}=r,t=f(r,["part","src"]);return jsx(y,a({as:"img",maxWidth:"unset",part:["image",e],src:o},t))}function ts(e){var o,t,n,r,i;return e.includes("youtube")?`https://www.youtube.com/embed/${(o=e.split("v=")[1])==null?void 0:o.split("&")[0]}`:e.includes("youtu.be")?`https://www.youtube.com/embed/${(t=e.split("youtu.be/")[1])==null?void 0:t.split("&")[0]}`:e.includes("vimeo")?`https://player.vimeo.com/video/${(n=e.split("vimeo.com/")[1])==null?void 0:n.split("&")[0]}`:e.includes("wistia")?`https://fast.wistia.net/embed/iframe/${(r=e.split("wistia.com/medias/")[1])==null?void 0:r.split("&")[0]}`:e.includes("loom")?`https://loom.com/embed/${(i=e.split("loom.com/share/")[1])==null?void 0:i.split("&")[0]}?hideEmbedTopBar=true&hide_title=true&hide_share=true&hide_owner=true`:null}function Po(n){var r=n,{part:e,src:o}=r,t=f(r,["part","src"]);let i=ts(o);return i?jsx(y,a({allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,as:"iframe",backgroundColor:"neutral.100",borderWidth:"0",part:["video",e],src:i},t)):o!=null&&o.endsWith(".mp4")?jsx(y,a({as:"video",controls:!0,part:["video",e],src:o},t)):(console.error(`Could not map videoUri ${o} to a known provider (Youtube, Vimeo, Wistia, Loom) or valid mp4 file.`),null)}function he(n){var r=n,{src:e,type:o}=r,t=f(r,["src","type"]);return jsx(o==="video"?Po:bo,a({src:e},t))}var x=Eo.forwardRef((i,r)=>{var s=i,{children:e,flowId:o,part:t}=s,n=f(s,["children","flowId","part"]);var d;if(o!=null)return jsx(jr,a({flowId:o},n));let l=(d=n.as)!=null?d:C.Column;return jsx(l,p(a({backgroundColor:"neutral.background",borderColor:"neutral.border",borderStyle:"solid",borderRadius:"md",borderWidth:"0",gap:5,p:5,part:["card",t]},n),{ref:r,children:e}))});x.Dismiss=e=>jsx(I.Plain,p(a({"aria-label":"Dismiss",part:"dismiss",padding:0},e),{children:jsx(Be,{height:"20",fill:"currentColor"})}));x.Footer=n=>{var r=n,{children:e,part:o}=r,t=f(r,["children","part"]);return jsx(C.Row,p(a({alignItems:"center",gap:3,justifyContent:"flex-end",part:["card-footer",o]},t),{children:e}))};x.Header=s=>{var l=s,{dismissible:e,handleDismiss:o,part:t,subtitle:n,title:r}=l,i=f(l,["dismissible","handleDismiss","part","subtitle","title"]);return jsxs(C.Row,p(a({alignItems:"flex-start",flexWrap:"wrap",gap:1,part:["card-header",t]},i),{children:[jsx(x.Title,{maxWidth:"calc(100% - 32px)",children:r}),e&&jsx(x.Dismiss,{onClick:o,marginLeft:"auto"}),jsx(x.Subtitle,{color:"neutral.400",flexBasis:"100%",children:n})]}))};x.Media=t=>{var n=t,{src:e}=n,o=f(n,["src"]);return e==null||(e==null?void 0:e.length)===0?null:jsx(he,a({borderRadius:"md",src:e},o))};x.Primary=n=>{var r=n,{onClick:e,title:o}=r,t=f(r,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsx(I.Primary,a({title:o,onClick:e},t))};x.Secondary=n=>{var r=n,{onClick:e,title:o}=r,t=f(r,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsx(I.Secondary,a({title:o,onClick:e},t))};x.Subtitle=n=>{var r=n,{children:e,part:o}=r,t=f(r,["children","part"]);return e==null?null:jsx(R.Body2,p(a({display:"block",color:"neutral.400",part:["subtitle",o]},t),{children:e}))};x.Title=n=>{var r=n,{children:e,part:o}=r,t=f(r,["children","part"]);return e==null?null:jsx(R.H4,p(a({display:"block",part:["title",o]},t),{children:e}))};var Co={content:["onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside"],root:["defaultOpen","modal","onOpenChange","open"]};function qr(e){let o=Object.fromEntries(Co.content.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0)),t=Object.fromEntries(Co.root.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0)),n={};for(let r of Object.keys(e))!Co.content.some(i=>i===r)&&!Co.root.some(i=>i===r)&&(n[r]=e[r]);return {contentProps:o,otherProps:n,rootProps:t}}var as=keyframes`
67
67
  from {
68
68
  opacity: 0;
69
69
  }