@frigade/react 2.3.1 → 2.3.2
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.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -83,7 +83,7 @@ var Do=Object.defineProperty,nr=Object.defineProperties;var ir=Object.getOwnProp
|
|
|
83
83
|
to {
|
|
84
84
|
opacity: 1;
|
|
85
85
|
}
|
|
86
|
-
`;function Wt(e){return e instanceof HTMLElement?!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length):!1}function $(s){var l=s,{anchor:e,children:o,className:t,spotlight:r=!1,style:n}=l,i=f(l,["anchor","children","className","spotlight","style"]);let{node:c,rect:u,ref:g}=Xe(),{node:h,rect:x,ref:m}=Xe(),Ro=Ht(i,u),{contentProps:w,otherProps:Le}=Ro,we=Le,{part:S}=we,B=f(we,["part"]),{rootProps:E}=Ro,[v,H]=io.useState(w.align),[W,F]=io.useState(w.side),[R,k]=io.useState(0),[V,Se]=io.useState(0);if(c!==null){let _=c.getAttribute("data-align"),Q=c.getAttribute("data-side");v!==_&&H(_),W!==Q&&F(Q);}let se=io.useRef(null);if(io.useEffect(()=>{let _=document.querySelector(e);_!=null?(m(_),se.current=_):console.debug(`[frigade] Tooltip: No anchor found for query: ${e}`);},[e]),io.useEffect(()=>{function _(ye){if(ye.matches(e))return Wt(ye)?ye:null;let le=ye.querySelectorAll(e);return le.length>0&&Wt(le[0])?le[0]:null}let Q=new MutationObserver(ye=>{for(let le of ye)if(le.type==="childList"){for(let Te of le.addedNodes){if(Te.nodeType!==Node.ELEMENT_NODE)continue;let pe=_(Te);if(pe!=null){m(pe),se.current=pe,console.debug("[frigade] Tooltip: MutationObserver added anchor: ",pe);break}}for(let Te of le.removedNodes){if(Te.nodeType!==Node.ELEMENT_NODE)continue;let pe=_(Te);if(pe!=null){m(null),se.current=null,console.debug("[frigade] Tooltip: MutationObserver removed anchor: ",pe);break}}}});return Q.observe(document.querySelector("body"),{childList:!0,subtree:!0}),()=>Q.disconnect()},[]),io.useEffect(()=>{let{scrollX:_,scrollY:Q}=window;k(x.left+_),Se(x.top+Q);},[x.left,x.top]),h==null)return null;let We="0";typeof window!="undefined"&&(We=window.getComputedStyle(h).borderRadius);let Fe=It({props:i,alignAttr:v,sideAttr:W});return jsxRuntime.jsxs(Z__namespace.Root,d(a({defaultOpen:!0},E),{children:[jsxRuntime.jsx(Z__namespace.Anchor,{virtualRef:se}),jsxRuntime.jsx(Z__namespace.Portal,{children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r&&jsxRuntime.jsx(y,a({animation:`${Mt} 300ms ease-out`,boxShadow:"0 0 0 20000px rgb(0 0 0 / 0.5)",part:"tooltip-spotlight",pointerEvents:"none",position:"absolute",style:{borderRadius:We,height:x.height,left:R,top:V,width:x.width}},i.zIndex!=null?{zIndex:i.zIndex}:{})),jsxRuntime.jsx(Z__namespace.Content,d(a({asChild:!0},w),{ref:g,children:jsxRuntime.jsxs(b,d(a({animation:`${Mt} 300ms ease-out`,boxShadow:"md",position:"relative",className:t,maxWidth:"min(360px, calc(100vw - 25px))",part:["tooltip",S],pointerEvents:"auto",style:n},B),{children:[jsxRuntime.jsx(Et,{style:Fe}),o]}))}))]})})]}))}$.Close=e=>jsxRuntime.jsx(Z__namespace.Close,{"aria-label":"Close",asChild:!0,children:jsxRuntime.jsx(D.Plain,d(a({css:{top:"0px",right:"-6px"},part:"close",position:"absolute"},e),{children:jsxRuntime.jsx(solid.XMarkIcon,{height:"20",fill:"currentColor"})}))});$.Media=t=>{var r=t,{src:e}=r,o=f(r,["src"]);return e==null?null:jsxRuntime.jsx(fe,a({borderRadius:"md md 0 0",borderWidth:"0",css:{aspectRatio:"2",objectFit:"cover"},margin:"-5 -5 0",src:e},o))};$.Primary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null?null:jsxRuntime.jsx(D.Primary,a({title:o,onClick:e},t))};$.Progress=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.Body2,d(a({part:"progress"},o),{children:e}))};$.Secondary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null?null:jsxRuntime.jsx(D.Secondary,a({title:o,onClick:e},t))};$.Subtitle=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.Body2,d(a({part:"subtitle"},o),{children:e}))};$.Title=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.H4,d(a({part:"title"},o),{children:e}))};function Lt(c){var u=c,{dismissible:e=!0,flow:o,onDismiss:t,onEscapeKeyDown:r,onPrimary:n,onSecondary:i,step:s}=u,l=f(u,["dismissible","flow","onDismiss","onEscapeKeyDown","onPrimary","onSecondary","step"]);var E,v,H,W,F,R;let{handleDismiss:g}=me(o,{onDismiss:t}),{handlePrimary:h,handleSecondary:x}=re(s,{onPrimary:n,onSecondary:i}),m=(E=s.props)!=null?E:{},w=(H=(v=s.primaryButton)==null?void 0:v.title)!=null?H:s.primaryButtonTitle,S=(F=(W=s.secondaryButton)==null?void 0:W.title)!=null?F:s.secondaryButtonTitle,B=!!s.$state.blocked;return jsxRuntime.jsxs($,d(a(a({anchor:s.selector,collisionPadding:12,onOpenAutoFocus:k=>k.preventDefault(),onPointerDownOutside:k=>k.preventDefault(),onInteractOutside:k=>k.preventDefault()},l),m),{onEscapeKeyDown:k=>{typeof r=="function"&&r(k),k.defaultPrevented||g(k);},children:[e&&jsxRuntime.jsx($.Close,{onClick:g}),jsxRuntime.jsx($.Media,{src:(R=s.videoUri)!=null?R:s.imageUri,type:s.videoUri?"video":"image"}),jsxRuntime.jsxs(P.Column,{gap:1,part:"tooltip-header",children:[jsxRuntime.jsx($.Title,{children:s.title}),jsxRuntime.jsx($.Subtitle,{color:"neutral.400",children:s.subtitle})]}),jsxRuntime.jsxs(P.Row,{alignItems:"center",gap:3,justifyContent:"flex-end",part:"tooltip-footer",children:[o.getNumberOfAvailableSteps()>1&&jsxRuntime.jsx($.Progress,{marginRight:"auto",transform:"translateY(1px)",children:`${o.getCurrentStepIndex()+1}/${o.getNumberOfAvailableSteps()}`}),jsxRuntime.jsx($.Secondary,{disabled:B,onClick:x,title:S}),jsxRuntime.jsx($.Primary,{disabled:B,onClick:h,title:w})]})]}),s.id)}function Ie(e,o=!0){let{currentModal:t,modals:r,setModals:n}=io.useContext(O),[i,s]=io.useState(!1);io.useEffect(()=>{o&&(e!=null&&e.isVisible)&&e&&!r.has(e.id)&&n(c=>new Set(c).add(e.id));},[e==null?void 0:e.id,e==null?void 0:e.isVisible]),io.useEffect(()=>{let c=t===(e==null?void 0:e.id);o&&(e==null?void 0:e.id)!=null&&c!==i&&s(c);},[e==null?void 0:e.id,t]);function l(){o&&r.has(e==null?void 0:e.id)&&n(c=>{let u=new Set(c);return u.delete(e==null?void 0:e.id),u});}return {isCurrentModal:i||!o,removeModal:l}}function So(i){var s=i,{flowId:e,onComplete:o,variables:t,part:r}=s,n=f(s,["flowId","onComplete","variables","part"]);let[l,c]=io.useState(!1),{flow:u}=ie(e,{variables:t}),{hasInitialized:g,registerComponent:h,unregisterComponent:x}=io.useContext(O);me(u,{onComplete:o});let{isCurrentModal:m,removeModal:w}=Ie(u);if(io.useEffect(()=>{!(u!=null&&u.isVisible)&&m&&w();},[u==null?void 0:u.isVisible,m]),io.useEffect(()=>()=>{x(e);},[]),u==null||u.isVisible===!1||!m||(h(e,()=>{l||c(!0);}),!g||!l))return null;let S=u.getCurrentStep();return S==null||S.start(),jsxRuntime.jsx(Lt,a({"data-flow-id":u.id,flow:u,part:["tour",r],step:S},n))}function Vt(e){let[o,t]=io.useState(),[r,n]=io.useState(),{flow:i}=ie(r),{frigade:s}=io.useContext(O);return io.useEffect(()=>{I(this,null,function*(){var u;let l=yield s.getCollection(e);if(!l||s.hasFailedToLoad()){t(void 0);return}let c=(u=l.flows.find(({flow:g})=>g.isVisible))==null?void 0:u.flow;c!=null&&c.id!==r&&n(c.id),t(l);});},[e,i==null?void 0:i.isVisible]),{collection:o,currentFlow:i}}function Fo(r){var n=r,{collectionId:e,part:o}=n,t=f(n,["collectionId","part"]);var c,u;let i={ANNOUNCEMENT:wo,BANNER:ao,CARD:b,CHECKLIST:Ue,EMBEDDED_TIP:b,FORM:Oe,NPS_SURVEY:Ge,TOUR:So},{currentFlow:s}=Vt(e),l=(u=i[(c=s==null?void 0:s.rawData)==null?void 0:c.flowType])!=null?u:null;return s==null||l==null?null:jsxRuntime.jsx(y,d(a({part:["collection",o],"data-collection-id":e},t),{children:jsxRuntime.jsx(l,{flowId:s.id},s.id)}))}function He(){let{frigade:e}=io.useContext(O);return {frigade:e,isLoading:!(e!=null&&e.isReady())}}function zt(){let[e,o]=io.useState(),{frigade:t}=He();return io.useEffect(()=>{t.getCollections().then(r=>{r==null||r.forEach((n,i)=>{n.collectionType==="DEFAULT"&&o(i);});});},[]),e==null?null:jsxRuntime.jsx(Fo,{as:null,collectionId:e})}var O=io.createContext({apiKey:"",modals:new Set,setModals:()=>{},currentModal:null,navigate:()=>{},hasInitialized:!1,registerComponent:()=>{},unregisterComponent:()=>{}});function Ut(){let{frigade:e}=He();return io.useEffect(()=>{I(this,null,function*(){(yield e.getFlows()).forEach(t=>{t.steps.forEach(r=>{if(r.imageUri){let n=new Image;n.src=r.imageUri;}});});});},[]),null}function Xt(s){var l=s,{children:e,css:o={},defaultCollection:t=!0,navigate:r,theme:n}=l,i=f(l,["children","css","defaultCollection","navigate","theme"]);let c=n?eo(n):{},[u,g]=io.useState(new Set),h=io.useRef(new Map),x=io.useRef(),[m,w]=io.useState(!1),S=io.useMemo(()=>(w(!1),x.current=void 0,g(new Set),new js.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})),[i.userId,i.groupId,i.apiKey]);io.useEffect(()=>{if(i.__flowStateOverrides){let F=S.getConfig();F.__flowStateOverrides=i.__flowStateOverrides,S.reload(F);}},[i.__flowStateOverrides]);function B(){let F=[...h.current.entries()].map(([R,k])=>[R,k.callback]);S.batchRegister(F),w(!0);}function E(F,R){if(x.current&&clearTimeout(x.current),m){h.current.has(F)?S.getFlow(F).then(k=>R(k.isVisible)):(S.getFlow(F).then(k=>k.register(R)),h.current.set(F,{callback:R}));return}h.current.has(F)||h.current.set(F,{callback:R}),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>B(),0);}function v(F){h.current.has(F)&&S.getFlow(F).then(R=>{h.current.delete(F),R==null||R.unregister();});}let H=r!=null?r:(F,R="_self")=>{window.open(F,R);};io.useEffect(()=>()=>{S.destroy();},[]);let W=u.size>0?u.values().next().value:null;return jsxRuntime.jsxs(O.Provider,{value:d(a({modals:u,setModals:g,currentModal:W,navigate:H},i),{frigade:S,registerComponent:E,unregisterComponent:v,hasInitialized:m}),children:[jsxRuntime.jsx(react.Global,{styles:{":root":a(a(a({},oo),c),o)}}),jsxRuntime.jsxs(react.ThemeProvider,{theme:T,children:[t&&jsxRuntime.jsx(zt,{}),e]}),i.preloadImages!==!1&&jsxRuntime.jsx(Ut,{})]})}function ie(e,o){let[t,r]=io.useState(),[,n]=io.useState(""),{frigade:i}=io.useContext(O),s=io.useCallback(l=>{l.id===e&&(o!=null&&o.variables&&l.applyVariables(o.variables),setTimeout(()=>{r(l),n(Math.random().toString());},0));},[o==null?void 0:o.variables,e,i]);return io.useEffect(()=>{if(!(!(i!=null&&i.isReady())||e==null))return I(this,null,function*(){let l=yield i.getFlow(e);if(!l||i.hasFailedToLoad()){r(void 0);return}o!=null&&o.variables&&l.applyVariables(o.variables),r(l);}),i.onStateChange(s),()=>{i.removeStateChangeHandler(s);}},[e,i,s]),io.useEffect(()=>{!(o!=null&&o.variables)||!t||s(t);},[o==null?void 0:o.variables]),{flow:t}}function K(u){var g=u,{as:e,children:o,flowId:t,onComplete:r,onDismiss:n,onPrimary:i,onSecondary:s,variables:l}=g,c=f(g,["as","children","flowId","onComplete","onDismiss","onPrimary","onSecondary","variables"]);var we,Q;let[h,x]=io.useState(!1),{flow:m}=ie(t,{variables:l}),_=a(a({},(we=m==null?void 0:m.props)!=null?we:{}),c),{dismissible:w=!1,forceMount:S=!1,modal:B=!1}=_,E=f(_,["dismissible","forceMount","modal"]),{hasInitialized:v,registerComponent:H,unregisterComponent:W}=io.useContext(O),F=m==null?void 0:m.getCurrentStep(),{handleDismiss:R}=me(m,{onComplete:r,onDismiss:n}),{handlePrimary:k,handleSecondary:V}=re(F,{onPrimary:i,onSecondary:s}),Se=B||typeof e=="function"&&(e==null?void 0:e.displayName)==="Dialog"||[js.FlowType.ANNOUNCEMENT,js.FlowType.TOUR].includes((Q=m==null?void 0:m.rawData)==null?void 0:Q.flowType),{isCurrentModal:se,removeModal:We}=Ie(m,Se);io.useEffect(()=>{!(m!=null&&m.isVisible)&&se&&We();},[m==null?void 0:m.isVisible,se]),io.useEffect(()=>()=>{W(t);},[]),io.useEffect(()=>{(m!=null&&m.isCompleted||m!=null&&m.isSkipped)&&W(t);},[m==null?void 0:m.isCompleted,m==null?void 0:m.isSkipped]);let Fe=S&&((m==null?void 0:m.isCompleted)||(m==null?void 0:m.isSkipped));if(!m||!Fe&&!se||(H(t,()=>{h||x(!0);}),!m.isVisible&&!Fe)||!v||!h)return null;(Fe||!m.isCompleted&&!m.isSkipped)&&F.start();let Ro=e===null?io.Fragment:e!=null?e:y,Le=d(a({},E),{"data-flow-id":m.id});return jsxRuntime.jsx(Ro,d(a({},e===null?{}:Le),{children:o({flow:m,handleDismiss:R,handlePrimary:k,handleSecondary:V,parentProps:{dismissible:w,flowId:t,variables:l,containerProps:Le},step:F})}))}function er(t){var r=t,{part:e}=r,o=f(r,["part"]);return jsxRuntime.jsx(K,d(a({as:b,gap:5,borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",part:["card",e]},o),{children:({handleDismiss:n,handlePrimary:i,handleSecondary:s,parentProps:{dismissible:l},step:c})=>{var h,x,m,w;let u=(x=(h=c.primaryButton)==null?void 0:h.title)!=null?x:c.primaryButtonTitle,g=(w=(m=c.secondaryButton)==null?void 0:m.title)!=null?w:c.secondaryButtonTitle;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(b.Header,{dismissible:l,handleDismiss:n,subtitle:c.subtitle,title:c.title}),jsxRuntime.jsx(b.Media,{src:c.imageUri,css:{objectFit:"contain",width:"100%"}}),jsxRuntime.jsxs(P.Row,{gap:3,justifyContent:"flex-end",part:"card-footer",children:[jsxRuntime.jsx(b.Secondary,{title:g,onClick:s}),jsxRuntime.jsx(b.Primary,{title:u,onClick:i})]})]})}}))}var b=io__namespace.forwardRef((n,r)=>{var i=n,{children:e,flowId:o}=i,t=f(i,["children","flowId"]);var l;if(o!=null)return jsxRuntime.jsx(er,a({flowId:o},t));let s=(l=t.as)!=null?l:P.Column;return jsxRuntime.jsx(s,d(a({backgroundColor:"neutral.background",borderColor:"neutral.border",borderStyle:"solid",borderRadius:"md",borderWidth:"0",gap:5,p:5},t),{ref:r,children:e}))});b.Dismiss=e=>jsxRuntime.jsx(D.Plain,d(a({part:"dismiss",padding:0},e),{children:jsxRuntime.jsx(solid.XMarkIcon,{height:"20",fill:"currentColor"})}));b.Header=i=>{var s=i,{dismissible:e,handleDismiss:o,subtitle:t,title:r}=s,n=f(s,["dismissible","handleDismiss","subtitle","title"]);return jsxRuntime.jsxs(P.Row,d(a({alignItems:"flex-start",flexWrap:"wrap",gap:1,part:"card-header"},n),{children:[jsxRuntime.jsx(b.Title,{maxWidth:"calc(100% - 32px)",children:r}),e&&jsxRuntime.jsx(b.Dismiss,{onClick:o,marginLeft:"auto"}),jsxRuntime.jsx(b.Subtitle,{color:"neutral.400",flexBasis:"100%",children:t})]}))};b.Media=t=>{var r=t,{src:e}=r,o=f(r,["src"]);return e==null||(e==null?void 0:e.length)===0?null:jsxRuntime.jsx(fe,a({borderRadius:"md",src:e},o))};b.Primary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsxRuntime.jsx(D.Primary,a({title:o,onClick:e},t))};b.Secondary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsxRuntime.jsx(D.Secondary,a({title:o,onClick:e},t))};b.Subtitle=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.Body2,d(a({display:"block",color:"neutral.400",part:"subtitle"},o),{children:e}))};b.Title=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.H4,d(a({display:"block",part:"title"},o),{children:e}))};var Qe={content:["onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside"],root:["defaultOpen","modal","onOpenChange","open"]};function tr(e){let o=Object.fromEntries(Qe.content.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0)),t=Object.fromEntries(Qe.root.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0)),r={};for(let n of Object.keys(e))!Qe.content.some(i=>i===n)&&!Qe.root.some(i=>i===n)&&(r[n]=e[n]);return {contentProps:o,otherProps:r,rootProps:t}}var Ii=react.keyframes`
|
|
86
|
+
`;function Wt(e){return e instanceof HTMLElement?!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length):!1}function $(s){var l=s,{anchor:e,children:o,className:t,spotlight:r=!1,style:n}=l,i=f(l,["anchor","children","className","spotlight","style"]);let{node:c,rect:u,ref:g}=Xe(),{node:h,rect:x,ref:m}=Xe(),Ro=Ht(i,u),{contentProps:w,otherProps:Le}=Ro,we=Le,{part:S}=we,B=f(we,["part"]),{rootProps:E}=Ro,[v,H]=io.useState(w.align),[W,F]=io.useState(w.side),[R,k]=io.useState(0),[V,Se]=io.useState(0);if(c!==null){let _=c.getAttribute("data-align"),Q=c.getAttribute("data-side");v!==_&&H(_),W!==Q&&F(Q);}let se=io.useRef(null);if(io.useEffect(()=>{let _=document.querySelector(e);_!=null?(m(_),se.current=_):console.debug(`[frigade] Tooltip: No anchor found for query: ${e}`);},[e]),io.useEffect(()=>{function _(ye){if(ye.matches(e))return Wt(ye)?ye:null;let le=ye.querySelectorAll(e);return le.length>0&&Wt(le[0])?le[0]:null}let Q=new MutationObserver(ye=>{for(let le of ye)if(le.type==="childList"){for(let Te of le.addedNodes){if(Te.nodeType!==Node.ELEMENT_NODE)continue;let pe=_(Te);if(pe!=null){m(pe),se.current=pe,console.debug("[frigade] Tooltip: MutationObserver added anchor: ",pe);break}}for(let Te of le.removedNodes){if(Te.nodeType!==Node.ELEMENT_NODE)continue;let pe=_(Te);if(pe!=null){m(null),se.current=null,console.debug("[frigade] Tooltip: MutationObserver removed anchor: ",pe);break}}}});return Q.observe(document.querySelector("body"),{childList:!0,subtree:!0}),()=>Q.disconnect()},[]),io.useEffect(()=>{let{scrollX:_,scrollY:Q}=window;k(x.left+_),Se(x.top+Q);},[x.left,x.top]),h==null)return null;let We="0";typeof window!="undefined"&&(We=window.getComputedStyle(h).borderRadius);let Fe=It({props:i,alignAttr:v,sideAttr:W});return jsxRuntime.jsxs(Z__namespace.Root,d(a({defaultOpen:!0},E),{children:[jsxRuntime.jsx(Z__namespace.Anchor,{virtualRef:se}),jsxRuntime.jsx(Z__namespace.Portal,{children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r&&jsxRuntime.jsx(y,a({animation:`${Mt} 300ms ease-out`,boxShadow:"0 0 0 20000px rgb(0 0 0 / 0.5)",part:"tooltip-spotlight",pointerEvents:"none",position:"absolute",style:{borderRadius:We,height:x.height,left:R,top:V,width:x.width}},i.zIndex!=null?{zIndex:i.zIndex}:{})),jsxRuntime.jsx(Z__namespace.Content,d(a({asChild:!0},w),{ref:g,children:jsxRuntime.jsxs(b,d(a({animation:`${Mt} 300ms ease-out`,boxShadow:"md",position:"relative",className:t,maxWidth:"min(360px, calc(100vw - 25px))",part:["tooltip",S],pointerEvents:"auto",style:n},B),{children:[jsxRuntime.jsx(Et,{style:Fe}),o]}))}))]})})]}))}$.Close=e=>jsxRuntime.jsx(Z__namespace.Close,{"aria-label":"Close",asChild:!0,children:jsxRuntime.jsx(D.Plain,d(a({css:{top:"0px",right:"-6px"},part:"close",position:"absolute"},e),{children:jsxRuntime.jsx(solid.XMarkIcon,{height:"20",fill:"currentColor"})}))});$.Media=t=>{var r=t,{src:e}=r,o=f(r,["src"]);return e==null?null:jsxRuntime.jsx(fe,a({borderRadius:"md md 0 0",borderWidth:"0",css:{aspectRatio:"2",objectFit:"cover"},margin:"-5 -5 0",src:e},o))};$.Primary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null?null:jsxRuntime.jsx(D.Primary,a({title:o,onClick:e},t))};$.Progress=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.Body2,d(a({part:"progress"},o),{children:e}))};$.Secondary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null?null:jsxRuntime.jsx(D.Secondary,a({title:o,onClick:e},t))};$.Subtitle=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.Body2,d(a({part:"subtitle"},o),{children:e}))};$.Title=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.H4,d(a({part:"title"},o),{children:e}))};function Lt(c){var u=c,{dismissible:e=!0,flow:o,onDismiss:t,onEscapeKeyDown:r,onPrimary:n,onSecondary:i,step:s}=u,l=f(u,["dismissible","flow","onDismiss","onEscapeKeyDown","onPrimary","onSecondary","step"]);var E,v,H,W,F,R;let{handleDismiss:g}=me(o,{onDismiss:t}),{handlePrimary:h,handleSecondary:x}=re(s,{onPrimary:n,onSecondary:i}),m=(E=s.props)!=null?E:{},w=(H=(v=s.primaryButton)==null?void 0:v.title)!=null?H:s.primaryButtonTitle,S=(F=(W=s.secondaryButton)==null?void 0:W.title)!=null?F:s.secondaryButtonTitle,B=!!s.$state.blocked;return jsxRuntime.jsxs($,d(a(a({anchor:s.selector,collisionPadding:12,onOpenAutoFocus:k=>k.preventDefault(),onPointerDownOutside:k=>k.preventDefault(),onInteractOutside:k=>k.preventDefault()},l),m),{onEscapeKeyDown:k=>{typeof r=="function"&&r(k),k.defaultPrevented||g(k);},children:[e&&jsxRuntime.jsx($.Close,{onClick:g}),jsxRuntime.jsx($.Media,{src:(R=s.videoUri)!=null?R:s.imageUri,type:s.videoUri?"video":"image"}),jsxRuntime.jsxs(P.Column,{gap:1,part:"tooltip-header",children:[jsxRuntime.jsx($.Title,{children:s.title}),jsxRuntime.jsx($.Subtitle,{color:"neutral.400",children:s.subtitle})]}),jsxRuntime.jsxs(P.Row,{alignItems:"center",gap:3,justifyContent:"flex-end",part:"tooltip-footer",children:[o.getNumberOfAvailableSteps()>1&&jsxRuntime.jsx($.Progress,{marginRight:"auto",transform:"translateY(1px)",children:`${o.getCurrentStepOrder()+1}/${o.getNumberOfAvailableSteps()}`}),jsxRuntime.jsx($.Secondary,{disabled:B,onClick:x,title:S}),jsxRuntime.jsx($.Primary,{disabled:B,onClick:h,title:w})]})]}),s.id)}function Ie(e,o=!0){let{currentModal:t,modals:r,setModals:n}=io.useContext(O),[i,s]=io.useState(!1);io.useEffect(()=>{o&&(e!=null&&e.isVisible)&&e&&!r.has(e.id)&&n(c=>new Set(c).add(e.id));},[e==null?void 0:e.id,e==null?void 0:e.isVisible]),io.useEffect(()=>{let c=t===(e==null?void 0:e.id);o&&(e==null?void 0:e.id)!=null&&c!==i&&s(c);},[e==null?void 0:e.id,t]);function l(){o&&r.has(e==null?void 0:e.id)&&n(c=>{let u=new Set(c);return u.delete(e==null?void 0:e.id),u});}return {isCurrentModal:i||!o,removeModal:l}}function So(i){var s=i,{flowId:e,onComplete:o,variables:t,part:r}=s,n=f(s,["flowId","onComplete","variables","part"]);let[l,c]=io.useState(!1),{flow:u}=ie(e,{variables:t}),{hasInitialized:g,registerComponent:h,unregisterComponent:x}=io.useContext(O);me(u,{onComplete:o});let{isCurrentModal:m,removeModal:w}=Ie(u);if(io.useEffect(()=>{!(u!=null&&u.isVisible)&&m&&w();},[u==null?void 0:u.isVisible,m]),io.useEffect(()=>()=>{x(e);},[]),u==null||u.isVisible===!1||!m||(h(e,()=>{l||c(!0);}),!g||!l))return null;let S=u.getCurrentStep();return S==null||S.start(),jsxRuntime.jsx(Lt,a({"data-flow-id":u.id,flow:u,part:["tour",r],step:S},n))}function Vt(e){let[o,t]=io.useState(),[r,n]=io.useState(),{flow:i}=ie(r),{frigade:s}=io.useContext(O);return io.useEffect(()=>{I(this,null,function*(){var u;let l=yield s.getCollection(e);if(!l||s.hasFailedToLoad()){t(void 0);return}let c=(u=l.flows.find(({flow:g})=>g.isVisible))==null?void 0:u.flow;c!=null&&c.id!==r&&n(c.id),t(l);});},[e,i==null?void 0:i.isVisible]),{collection:o,currentFlow:i}}function Fo(r){var n=r,{collectionId:e,part:o}=n,t=f(n,["collectionId","part"]);var c,u;let i={ANNOUNCEMENT:wo,BANNER:ao,CARD:b,CHECKLIST:Ue,EMBEDDED_TIP:b,FORM:Oe,NPS_SURVEY:Ge,TOUR:So},{currentFlow:s}=Vt(e),l=(u=i[(c=s==null?void 0:s.rawData)==null?void 0:c.flowType])!=null?u:null;return s==null||l==null?null:jsxRuntime.jsx(y,d(a({part:["collection",o],"data-collection-id":e},t),{children:jsxRuntime.jsx(l,{flowId:s.id},s.id)}))}function He(){let{frigade:e}=io.useContext(O);return {frigade:e,isLoading:!(e!=null&&e.isReady())}}function zt(){let[e,o]=io.useState(),{frigade:t}=He();return io.useEffect(()=>{t.getCollections().then(r=>{r==null||r.forEach((n,i)=>{n.collectionType==="DEFAULT"&&o(i);});});},[]),e==null?null:jsxRuntime.jsx(Fo,{as:null,collectionId:e})}var O=io.createContext({apiKey:"",modals:new Set,setModals:()=>{},currentModal:null,navigate:()=>{},hasInitialized:!1,registerComponent:()=>{},unregisterComponent:()=>{}});function Ut(){let{frigade:e}=He();return io.useEffect(()=>{I(this,null,function*(){(yield e.getFlows()).forEach(t=>{t.steps.forEach(r=>{if(r.imageUri){let n=new Image;n.src=r.imageUri;}});});});},[]),null}function Xt(s){var l=s,{children:e,css:o={},defaultCollection:t=!0,navigate:r,theme:n}=l,i=f(l,["children","css","defaultCollection","navigate","theme"]);let c=n?eo(n):{},[u,g]=io.useState(new Set),h=io.useRef(new Map),x=io.useRef(),[m,w]=io.useState(!1),S=io.useMemo(()=>(w(!1),x.current=void 0,g(new Set),new js.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})),[i.userId,i.groupId,i.apiKey]);io.useEffect(()=>{if(i.__flowStateOverrides){let F=S.getConfig();F.__flowStateOverrides=i.__flowStateOverrides,S.reload(F);}},[i.__flowStateOverrides]);function B(){let F=[...h.current.entries()].map(([R,k])=>[R,k.callback]);S.batchRegister(F),w(!0);}function E(F,R){if(x.current&&clearTimeout(x.current),m){h.current.has(F)?S.getFlow(F).then(k=>R(k.isVisible)):(S.getFlow(F).then(k=>k.register(R)),h.current.set(F,{callback:R}));return}h.current.has(F)||h.current.set(F,{callback:R}),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>B(),0);}function v(F){h.current.has(F)&&S.getFlow(F).then(R=>{h.current.delete(F),R==null||R.unregister();});}let H=r!=null?r:(F,R="_self")=>{window.open(F,R);};io.useEffect(()=>()=>{S.destroy();},[]);let W=u.size>0?u.values().next().value:null;return jsxRuntime.jsxs(O.Provider,{value:d(a({modals:u,setModals:g,currentModal:W,navigate:H},i),{frigade:S,registerComponent:E,unregisterComponent:v,hasInitialized:m}),children:[jsxRuntime.jsx(react.Global,{styles:{":root":a(a(a({},oo),c),o)}}),jsxRuntime.jsxs(react.ThemeProvider,{theme:T,children:[t&&jsxRuntime.jsx(zt,{}),e]}),i.preloadImages!==!1&&jsxRuntime.jsx(Ut,{})]})}function ie(e,o){let[t,r]=io.useState(),[,n]=io.useState(""),{frigade:i}=io.useContext(O),s=io.useCallback(l=>{l.id===e&&(o!=null&&o.variables&&l.applyVariables(o.variables),setTimeout(()=>{r(l),n(Math.random().toString());},0));},[o==null?void 0:o.variables,e,i]);return io.useEffect(()=>{if(!(!(i!=null&&i.isReady())||e==null))return I(this,null,function*(){let l=yield i.getFlow(e);if(!l||i.hasFailedToLoad()){r(void 0);return}o!=null&&o.variables&&l.applyVariables(o.variables),r(l);}),i.onStateChange(s),()=>{i.removeStateChangeHandler(s);}},[e,i,s]),io.useEffect(()=>{!(o!=null&&o.variables)||!t||s(t);},[o==null?void 0:o.variables]),{flow:t}}function K(u){var g=u,{as:e,children:o,flowId:t,onComplete:r,onDismiss:n,onPrimary:i,onSecondary:s,variables:l}=g,c=f(g,["as","children","flowId","onComplete","onDismiss","onPrimary","onSecondary","variables"]);var we,Q;let[h,x]=io.useState(!1),{flow:m}=ie(t,{variables:l}),_=a(a({},(we=m==null?void 0:m.props)!=null?we:{}),c),{dismissible:w=!1,forceMount:S=!1,modal:B=!1}=_,E=f(_,["dismissible","forceMount","modal"]),{hasInitialized:v,registerComponent:H,unregisterComponent:W}=io.useContext(O),F=m==null?void 0:m.getCurrentStep(),{handleDismiss:R}=me(m,{onComplete:r,onDismiss:n}),{handlePrimary:k,handleSecondary:V}=re(F,{onPrimary:i,onSecondary:s}),Se=B||typeof e=="function"&&(e==null?void 0:e.displayName)==="Dialog"||[js.FlowType.ANNOUNCEMENT,js.FlowType.TOUR].includes((Q=m==null?void 0:m.rawData)==null?void 0:Q.flowType),{isCurrentModal:se,removeModal:We}=Ie(m,Se);io.useEffect(()=>{!(m!=null&&m.isVisible)&&se&&We();},[m==null?void 0:m.isVisible,se]),io.useEffect(()=>()=>{W(t);},[]),io.useEffect(()=>{(m!=null&&m.isCompleted||m!=null&&m.isSkipped)&&W(t);},[m==null?void 0:m.isCompleted,m==null?void 0:m.isSkipped]);let Fe=S&&((m==null?void 0:m.isCompleted)||(m==null?void 0:m.isSkipped));if(!m||!Fe&&!se||(H(t,()=>{h||x(!0);}),!m.isVisible&&!Fe)||!v||!h)return null;(Fe||!m.isCompleted&&!m.isSkipped)&&F.start();let Ro=e===null?io.Fragment:e!=null?e:y,Le=d(a({},E),{"data-flow-id":m.id});return jsxRuntime.jsx(Ro,d(a({},e===null?{}:Le),{children:o({flow:m,handleDismiss:R,handlePrimary:k,handleSecondary:V,parentProps:{dismissible:w,flowId:t,variables:l,containerProps:Le},step:F})}))}function er(t){var r=t,{part:e}=r,o=f(r,["part"]);return jsxRuntime.jsx(K,d(a({as:b,gap:5,borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",part:["card",e]},o),{children:({handleDismiss:n,handlePrimary:i,handleSecondary:s,parentProps:{dismissible:l},step:c})=>{var h,x,m,w;let u=(x=(h=c.primaryButton)==null?void 0:h.title)!=null?x:c.primaryButtonTitle,g=(w=(m=c.secondaryButton)==null?void 0:m.title)!=null?w:c.secondaryButtonTitle;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(b.Header,{dismissible:l,handleDismiss:n,subtitle:c.subtitle,title:c.title}),jsxRuntime.jsx(b.Media,{src:c.imageUri,css:{objectFit:"contain",width:"100%"}}),jsxRuntime.jsxs(P.Row,{gap:3,justifyContent:"flex-end",part:"card-footer",children:[jsxRuntime.jsx(b.Secondary,{title:g,onClick:s}),jsxRuntime.jsx(b.Primary,{title:u,onClick:i})]})]})}}))}var b=io__namespace.forwardRef((n,r)=>{var i=n,{children:e,flowId:o}=i,t=f(i,["children","flowId"]);var l;if(o!=null)return jsxRuntime.jsx(er,a({flowId:o},t));let s=(l=t.as)!=null?l:P.Column;return jsxRuntime.jsx(s,d(a({backgroundColor:"neutral.background",borderColor:"neutral.border",borderStyle:"solid",borderRadius:"md",borderWidth:"0",gap:5,p:5},t),{ref:r,children:e}))});b.Dismiss=e=>jsxRuntime.jsx(D.Plain,d(a({part:"dismiss",padding:0},e),{children:jsxRuntime.jsx(solid.XMarkIcon,{height:"20",fill:"currentColor"})}));b.Header=i=>{var s=i,{dismissible:e,handleDismiss:o,subtitle:t,title:r}=s,n=f(s,["dismissible","handleDismiss","subtitle","title"]);return jsxRuntime.jsxs(P.Row,d(a({alignItems:"flex-start",flexWrap:"wrap",gap:1,part:"card-header"},n),{children:[jsxRuntime.jsx(b.Title,{maxWidth:"calc(100% - 32px)",children:r}),e&&jsxRuntime.jsx(b.Dismiss,{onClick:o,marginLeft:"auto"}),jsxRuntime.jsx(b.Subtitle,{color:"neutral.400",flexBasis:"100%",children:t})]}))};b.Media=t=>{var r=t,{src:e}=r,o=f(r,["src"]);return e==null||(e==null?void 0:e.length)===0?null:jsxRuntime.jsx(fe,a({borderRadius:"md",src:e},o))};b.Primary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsxRuntime.jsx(D.Primary,a({title:o,onClick:e},t))};b.Secondary=r=>{var n=r,{onClick:e,title:o}=n,t=f(n,["onClick","title"]);return o==null||(o==null?void 0:o.length)===0?null:jsxRuntime.jsx(D.Secondary,a({title:o,onClick:e},t))};b.Subtitle=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.Body2,d(a({display:"block",color:"neutral.400",part:"subtitle"},o),{children:e}))};b.Title=t=>{var r=t,{children:e}=r,o=f(r,["children"]);return e==null?null:jsxRuntime.jsx(C.H4,d(a({display:"block",part:"title"},o),{children:e}))};var Qe={content:["onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside"],root:["defaultOpen","modal","onOpenChange","open"]};function tr(e){let o=Object.fromEntries(Qe.content.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0)),t=Object.fromEntries(Qe.root.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0)),r={};for(let n of Object.keys(e))!Qe.content.some(i=>i===n)&&!Qe.root.some(i=>i===n)&&(r[n]=e[n]);return {contentProps:o,otherProps:r,rootProps:t}}var Ii=react.keyframes`
|
|
87
87
|
from {
|
|
88
88
|
opacity: 0;
|
|
89
89
|
}
|