userflow.js-self-hosted 0.1.1023492 → 0.1.1023558

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.
@@ -1,3 +1,3 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["sad.js","vendor.react.js","vendor.core-js.js","vendor.object-assign.js","neutral.js","happy.js"])))=>i.map(i=>d[i]);
2
- import{o as A}from"./vendor.obj-str.js";import{R as n,r as s}from"./vendor.react.js";import"./vendor.core-js.js";import{u as D}from"./client-context.js";import{_ as x,$ as N,K as L}from"./userflow.js";import{D as M}from"./stylesheets.js";import{e as V,g as F,f as Q}from"./vendor.fortawesome.pro-solid-svg-icons.js";import{f as B}from"./use-confetti.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},r=new Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="f6cc7bd2-6e7f-49b3-98a3-7d7ccddb7c80",e._sentryDebugIdIdentifier="sentry-dbid-f6cc7bd2-6e7f-49b3-98a3-7d7ccddb7c80")}catch{}})();const se=({center:e,fadeIn:r})=>n.createElement("div",{className:A({"userflowjs-spinner":!0,"userflowjs-spinner--center":!!e,"userflowjs-spinner--fade-in":!!r})},n.createElement("svg",{viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n.createElement("circle",{className:"userflowjs-spinner__bg",fill:"none",cx:12,cy:12,r:10,style:{strokeWidth:"4px"}}),n.createElement("circle",{className:"userflowjs-spinner__fill",fill:"none",cx:12,cy:12,r:10,transform:"translate(12, 12) rotate(-90) translate(-12, -12)",style:{strokeWidth:"4px",strokeDasharray:10*2*Math.PI*.25+"px, 1000"}})));function oe({message:e,skip:r}){const u=D(),[p,d]=s.useState(!0),[i,f]=s.useState(!1),[k,m]=s.useState(null),[w,v]=s.useState(null),[g,y]=s.useState(null),b=s.useRef(0),h=s.useRef(null),E=s.useRef(()=>{});return s.useEffect(()=>{if(r)return;const t=JSON.stringify(e);if(t===h.current)return;h.current=t;const o=++b.current;let a,l;const _=async()=>{d(!0);try{l=e;const j=await u.send(e,{handlesRejection:!0});if(o!==b.current)return;a=j,m(a),v(e),y(null)}catch(j){if(o!==b.current)return;y(j)}finally{d(!1)}};let S=!1;E.current=async(j,T)=>{if(!S){S=!0,f(!0);try{const I=j(a,l);l=I;const C=await u.send(I,{handlesRejection:!0});if(o!==b.current)return;a=T(a,C),m(a),y(null)}catch(I){if(o!==b.current)return;y(I)}finally{S=!1,f(!1)}}},_()},[r,u,e]),{loading:p,loadingMore:i,data:k,messageForData:w,error:g,loadMore:E.current}}const P=n.createContext(null),ce=({children:e})=>{const r=K();return n.createElement(P.Provider,{value:r},e)},ue=()=>{const e=n.useContext(P);if(!e)throw new Error("useAnnouncementQueryContext must be used within an AnnouncementQueryProvider");return e},K=()=>{const e=D(),[r,u]=s.useState([]),[p,d]=s.useState(!0),[i,f]=s.useState(!1),[k,m]=s.useState(null),[w,v]=s.useState({truncated:!1,pageSize:0}),g=s.useCallback(async()=>{d(!0),m(null);try{const t=await e.send({kind:"ListAnnouncements",beforeAnnouncementId:null});v({truncated:t.truncated,pageSize:t.pageSize}),u(t.announcements)}catch(t){m(t)}finally{d(!1)}},[e]);s.useEffect(()=>{e&&g()},[e]);const y=s.useCallback(async t=>{try{const o=await e.send({kind:"GetAnnouncement",announcementId:t},{handlesRejection:!0});return u(a=>a.map(l=>l.id===t?o.announcement:l)),o.announcement}catch(o){return m(o),r.find(a=>a.id===t)??null}},[e,r]),b=s.useCallback(async()=>{if(!e||i||w.truncated)return;const t=r[r.length-1];if(t){f(!0);try{const o=await e.send({kind:"ListAnnouncements",beforeAnnouncementId:t.id});v(a=>({...a,truncated:o.truncated})),o.announcements.length>0&&u(a=>[...a,...o.announcements])}catch(o){m(o)}finally{f(!1)}}},[e,i,w.truncated,r]),h=s.useCallback(async(t,o)=>{const a=r.find(l=>l.id===t);if(!a)return null;u(l=>l.map(_=>_.id===t?{...a,reaction:o}:_));try{return await e.send({kind:"SubmitAnnouncementReaction",announcementId:t,versionId:a.versionId,reaction:o},{batch:!0,handlesRejection:!0}),y(t)}catch{return u(l=>l.map(_=>_.id===t?a:_)),null}},[e,r,y]),E=s.useCallback(async(t,o)=>{const a=r.find(l=>l.id===t);if(!a)return!1;try{return await e.send({kind:"SubmitAnnouncementComment",announcementId:t,versionId:a.versionId,comment:o},{batch:!0,handlesRejection:!0}),!0}catch{return!1}},[e,r]);return{announcements:r,loading:p,loadingMore:i,error:k,truncated:w.truncated,pageSize:w.pageSize,fetchAnnouncement:y,loadMore:b,submitReaction:h,submitComment:E}},q={sad:n.lazy(()=>x(()=>import("./sad.js"),__vite__mapDeps([0,1,2,3]))),neutral:n.lazy(()=>x(()=>import("./neutral.js"),__vite__mapDeps([4,1,2,3]))),happy:n.lazy(()=>x(()=>import("./happy.js"),__vite__mapDeps([5,1,2,3])))},G={particleCount:70,spread:45,startVelocity:30,gravity:.8,scalar:.6,ticks:70,zIndex:2147483647},U=[{reaction:N.NEGATIVE,emoji:"sad"},{reaction:N.NEUTRAL,emoji:"neutral"},{reaction:N.POSITIVE,emoji:"happy"}],H=({option:e,isSelected:r,confettiEnabled:u,confettiColors:p,onSelect:d})=>{const i=s.useRef(null),f=q[e.emoji],k=()=>{r||(e.reaction===N.POSITIVE&&u&&i.current&&B(i.current,p,G),d(e.reaction))};return n.createElement("button",{ref:i,className:A({"userflowjs-announcement-engagement__emoji-container":!0,"userflowjs-announcement-engagement__emoji-container--selected":r}),onClick:k},n.createElement("span",{className:"userflowjs-announcement-engagement__emoji-icon"},n.createElement(n.Suspense,{fallback:null},n.createElement(f,null))),r&&n.createElement("span",{className:"userflowjs-announcement-engagement__check"},n.createElement(M,{icon:F})))},W=1e3,le=({announcement:e,onMoreClick:r,onReactionChange:u,onCommentSubmit:p,onSubmitSuccess:d,confettiColors:i,showMoreButton:f=!0,children:k})=>{const m=D(),[w,v]=s.useState(e.reaction??null),[g,y]=s.useState(null),[b,h]=s.useState(!1),{reactionEnabled:E,commentsEnabled:t,confettiEnabled:o,moreEnabled:a,moreButtonText:l,level:_}=e,S=f&&E&&a,j=f&&!E&&a,T=e.commentPlaceholder||"Have feedback? Send it our way.",I=e.commentThanksText||"Thank you for your feedback!",C=c=>{if(v(c),u){u(e.id,c);return}if(m)try{m.send({kind:"SubmitAnnouncementReaction",announcementId:e.id,versionId:e.versionId,reaction:c},{batch:!0,handlesRejection:!0}),d?.()}catch{v(null)}},O=async()=>{if(!g)return;const c=g.trim();if(c!==""){if(y(null),p){p(e.id,c),h(!0);return}if(m)try{m.send({kind:"SubmitAnnouncementComment",announcementId:e.id,versionId:e.versionId,comment:c},{batch:!0,handlesRejection:!0}),h(!0),d?.()}catch{h(!1)}}},z=c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),O())};if(!E&&!t&&!S&&!j)return null;const $=_===L.TOAST&&!E&&a,R=S?n.createElement("button",{className:"userflowjs-tertiary-button",onClick:r},n.createElement("div",null,l||"Read more"),n.createElement("span",{className:"userflowjs-rtl-mirrored userflowjs-tertiary-button__icon"},n.createElement(M,{icon:Q}))):null;return n.createElement("div",{className:A({"userflowjs-announcement-engagement":!0,"mb-8":_===L.TOAST})},E?n.createElement("div",{className:"userflowjs-announcement-engagement__reactions-row"},n.createElement("div",{className:"userflowjs-announcement-engagement__emoji-buttons"},U.map(c=>n.createElement(H,{key:c.reaction,option:c,isSelected:w===c.reaction,confettiEnabled:o,confettiColors:i,onSelect:C}))),R&&n.createElement("div",{className:"userflowjs-announcement-engagement__more-inline"},R)):R&&n.createElement("div",{className:"userflowjs-announcement-more"},R),j&&k,t&&n.createElement("div",{className:A({"userflowjs-announcement-engagement__feedback":!0,"userflowjs-announcement-engagement__feedback--toast-padding":$??!1})},n.createElement("div",{className:"userflowjs-announcement-engagement__input-wrapper"},n.createElement("input",{type:"text",className:"userflowjs-announcement-engagement__input",placeholder:T,value:b?I:g??"",onChange:c=>y(c.target.value||null),onKeyDown:z,disabled:b,maxLength:W}),!b&&n.createElement("button",{className:A({"userflowjs-announcement-engagement__send-button":!0,"userflowjs-announcement-engagement__send-button--active":g!==null&&g.trim()!==""}),onClick:O,disabled:g===null||g.trim()===""},n.createElement(M,{icon:V})))))};export{ce as A,se as S,le as a,oe as b,ue as u};
2
+ import{o as A}from"./vendor.obj-str.js";import{R as n,r as s}from"./vendor.react.js";import"./vendor.core-js.js";import{u as D}from"./client-context.js";import{_ as x,a0 as N,L as O}from"./userflow.js";import{D as M}from"./stylesheets.js";import{e as $,g as F,f as Q}from"./vendor.fortawesome.pro-solid-svg-icons.js";import{f as B}from"./use-confetti.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},r=new Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="660e45c4-9bc4-49bd-9937-119575cd2103",e._sentryDebugIdIdentifier="sentry-dbid-660e45c4-9bc4-49bd-9937-119575cd2103")}catch{}})();const se=({center:e,fadeIn:r})=>n.createElement("div",{className:A({"userflowjs-spinner":!0,"userflowjs-spinner--center":!!e,"userflowjs-spinner--fade-in":!!r})},n.createElement("svg",{viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n.createElement("circle",{className:"userflowjs-spinner__bg",fill:"none",cx:12,cy:12,r:10,style:{strokeWidth:"4px"}}),n.createElement("circle",{className:"userflowjs-spinner__fill",fill:"none",cx:12,cy:12,r:10,transform:"translate(12, 12) rotate(-90) translate(-12, -12)",style:{strokeWidth:"4px",strokeDasharray:10*2*Math.PI*.25+"px, 1000"}})));function oe({message:e,skip:r}){const u=D(),[p,d]=s.useState(!0),[i,f]=s.useState(!1),[k,m]=s.useState(null),[w,v]=s.useState(null),[g,y]=s.useState(null),b=s.useRef(0),h=s.useRef(null),E=s.useRef(()=>{});return s.useEffect(()=>{if(r)return;const t=JSON.stringify(e);if(t===h.current)return;h.current=t;const o=++b.current;let a,l;const _=async()=>{d(!0);try{l=e;const j=await u.send(e,{handlesRejection:!0});if(o!==b.current)return;a=j,m(a),v(e),y(null)}catch(j){if(o!==b.current)return;y(j)}finally{d(!1)}};let S=!1;E.current=async(j,T)=>{if(!S){S=!0,f(!0);try{const I=j(a,l);l=I;const C=await u.send(I,{handlesRejection:!0});if(o!==b.current)return;a=T(a,C),m(a),y(null)}catch(I){if(o!==b.current)return;y(I)}finally{S=!1,f(!1)}}},_()},[r,u,e]),{loading:p,loadingMore:i,data:k,messageForData:w,error:g,loadMore:E.current}}const P=n.createContext(null),ce=({children:e})=>{const r=q();return n.createElement(P.Provider,{value:r},e)},ue=()=>{const e=n.useContext(P);if(!e)throw new Error("useAnnouncementQueryContext must be used within an AnnouncementQueryProvider");return e},q=()=>{const e=D(),[r,u]=s.useState([]),[p,d]=s.useState(!0),[i,f]=s.useState(!1),[k,m]=s.useState(null),[w,v]=s.useState({truncated:!1,pageSize:0}),g=s.useCallback(async()=>{d(!0),m(null);try{const t=await e.send({kind:"ListAnnouncements",beforeAnnouncementId:null});v({truncated:t.truncated,pageSize:t.pageSize}),u(t.announcements)}catch(t){m(t)}finally{d(!1)}},[e]);s.useEffect(()=>{e&&g()},[e]);const y=s.useCallback(async t=>{try{const o=await e.send({kind:"GetAnnouncement",announcementId:t},{handlesRejection:!0});return u(a=>a.map(l=>l.id===t?o.announcement:l)),o.announcement}catch(o){return m(o),r.find(a=>a.id===t)??null}},[e,r]),b=s.useCallback(async()=>{if(!e||i||w.truncated)return;const t=r[r.length-1];if(t){f(!0);try{const o=await e.send({kind:"ListAnnouncements",beforeAnnouncementId:t.id});v(a=>({...a,truncated:o.truncated})),o.announcements.length>0&&u(a=>[...a,...o.announcements])}catch(o){m(o)}finally{f(!1)}}},[e,i,w.truncated,r]),h=s.useCallback(async(t,o)=>{const a=r.find(l=>l.id===t);if(!a)return null;u(l=>l.map(_=>_.id===t?{...a,reaction:o}:_));try{return await e.send({kind:"SubmitAnnouncementReaction",announcementId:t,versionId:a.versionId,reaction:o},{batch:!0,handlesRejection:!0}),y(t)}catch{return u(l=>l.map(_=>_.id===t?a:_)),null}},[e,r,y]),E=s.useCallback(async(t,o)=>{const a=r.find(l=>l.id===t);if(!a)return!1;try{return await e.send({kind:"SubmitAnnouncementComment",announcementId:t,versionId:a.versionId,comment:o},{batch:!0,handlesRejection:!0}),!0}catch{return!1}},[e,r]);return{announcements:r,loading:p,loadingMore:i,error:k,truncated:w.truncated,pageSize:w.pageSize,fetchAnnouncement:y,loadMore:b,submitReaction:h,submitComment:E}},G={sad:n.lazy(()=>x(()=>import("./sad.js"),__vite__mapDeps([0,1,2,3]))),neutral:n.lazy(()=>x(()=>import("./neutral.js"),__vite__mapDeps([4,1,2,3]))),happy:n.lazy(()=>x(()=>import("./happy.js"),__vite__mapDeps([5,1,2,3])))},K={particleCount:70,spread:45,startVelocity:30,gravity:.8,scalar:.6,ticks:70,zIndex:2147483647},U=[{reaction:N.NEGATIVE,emoji:"sad"},{reaction:N.NEUTRAL,emoji:"neutral"},{reaction:N.POSITIVE,emoji:"happy"}],H=({option:e,isSelected:r,confettiEnabled:u,confettiColors:p,onSelect:d})=>{const i=s.useRef(null),f=G[e.emoji],k=()=>{r||(e.reaction===N.POSITIVE&&u&&i.current&&B(i.current,p,K),d(e.reaction))};return n.createElement("button",{ref:i,className:A({"userflowjs-announcement-engagement__emoji-container":!0,"userflowjs-announcement-engagement__emoji-container--selected":r}),onClick:k},n.createElement("span",{className:"userflowjs-announcement-engagement__emoji-icon"},n.createElement(n.Suspense,{fallback:null},n.createElement(f,null))),r&&n.createElement("span",{className:"userflowjs-announcement-engagement__check"},n.createElement(M,{icon:F})))},W=1e3,le=({announcement:e,onMoreClick:r,onReactionChange:u,onCommentSubmit:p,onSubmitSuccess:d,confettiColors:i,showMoreButton:f=!0,children:k})=>{const m=D(),[w,v]=s.useState(e.reaction??null),[g,y]=s.useState(null),[b,h]=s.useState(!1),{reactionEnabled:E,commentsEnabled:t,confettiEnabled:o,moreEnabled:a,moreButtonText:l,level:_}=e,S=f&&E&&a,j=f&&!E&&a,T=e.commentPlaceholder||"Have feedback? Send it our way.",I=e.commentThanksText||"Thank you for your feedback!",C=c=>{if(v(c),u){u(e.id,c);return}if(m)try{m.send({kind:"SubmitAnnouncementReaction",announcementId:e.id,versionId:e.versionId,reaction:c},{batch:!0,handlesRejection:!0}),d?.()}catch{v(null)}},L=async()=>{if(!g)return;const c=g.trim();if(c!==""){if(y(null),p){p(e.id,c),h(!0);return}if(m)try{m.send({kind:"SubmitAnnouncementComment",announcementId:e.id,versionId:e.versionId,comment:c},{batch:!0,handlesRejection:!0}),h(!0),d?.()}catch{h(!1)}}},z=c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),L())};if(!E&&!t&&!S&&!j)return null;const V=_===O.TOAST&&!E&&a,R=S?n.createElement("button",{className:"userflowjs-tertiary-button",onClick:r},n.createElement("div",null,l||"Read more"),n.createElement("span",{className:"userflowjs-rtl-mirrored userflowjs-tertiary-button__icon"},n.createElement(M,{icon:Q}))):null;return n.createElement("div",{className:A({"userflowjs-announcement-engagement":!0,"mb-8":_===O.TOAST})},E?n.createElement("div",{className:"userflowjs-announcement-engagement__reactions-row"},n.createElement("div",{className:"userflowjs-announcement-engagement__emoji-buttons"},U.map(c=>n.createElement(H,{key:c.reaction,option:c,isSelected:w===c.reaction,confettiEnabled:o,confettiColors:i,onSelect:C}))),R&&n.createElement("div",{className:"userflowjs-announcement-engagement__more-inline"},R)):R&&n.createElement("div",{className:"userflowjs-announcement-more"},R),j&&k,t&&n.createElement("div",{className:A({"userflowjs-announcement-engagement__feedback":!0,"userflowjs-announcement-engagement__feedback--toast-padding":V??!1})},n.createElement("div",{className:"userflowjs-announcement-engagement__input-wrapper"},n.createElement("input",{type:"text",className:"userflowjs-announcement-engagement__input",placeholder:T,value:b?I:g??"",onChange:c=>y(c.target.value||null),onKeyDown:z,disabled:b,maxLength:W}),!b&&n.createElement("button",{className:A({"userflowjs-announcement-engagement__send-button":!0,"userflowjs-announcement-engagement__send-button--active":g!==null&&g.trim()!==""}),onClick:L,disabled:g===null||g.trim()===""},n.createElement(M,{icon:$})))))};export{ce as A,se as S,le as a,oe as b,ue as u};
3
3
  //# sourceMappingURL=AnnouncementEngagement.js.map
package/ChecklistApp.js CHANGED
@@ -1,2 +1,2 @@
1
- import{r as s,R as c}from"./vendor.react.js";import{z as b,v as R,r as F,C as B}from"./userflow.js";import{F as _,B as N}from"./FlowChrome.js";import{i as D,u as C}from"./client-context.js";import{f as P,w as j,C as U,S as A}from"./flow-host.styl.js";import{u as H,D as z,a as I}from"./stylesheets.js";import{F as O}from"./Frame.js";import{o as Z}from"./vendor.obj-str.js";import{z as W}from"./roots.js";import{a as X}from"./vendor.fortawesome.pro-regular-svg-icons.js";import"./vendor.core-js.js";import{u as M}from"./vendor.react-i18next.js";import{C as Y}from"./ChecklistUI.js";import"./vendor.object-assign.js";import"./vendor.phoenix.js";import"./vendor.uuid.js";import"./use-selector-element-monitoring.js";import"./flow-condition-types.js";import"./vendor.date-fns.js";import"./vendor.babel.runtime.js";import"./use-window-resize.js";import"./logomark.js";import"./use-confetti.js";import"./vendor.canvas-confetti.js";import"./vendor.i18next.js";import"./vendor.fortawesome.pro-solid-svg-icons.js";import"./vendor.react-dom.js";import"./vendor.scheduler.js";import"./iframe-reset.styl.js";import"./TreeDoc.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="63a52344-db27-499f-8eaa-b81a4971ae14",t._sentryDebugIdIdentifier="sentry-dbid-63a52344-db27-499f-8eaa-b81a4971ae14")}catch{}})();const G=new URL("checklist-launcher-frame.css",import.meta.url).href,K=({position:t,theme:e,onClick:n,onVisibleChange:r,buttonRef:l,text:u,uncompletedCount:o})=>{const d=t||"absolute",{i18n:a}=M(),m=a.dir(),{loaded:i}=H(window,P,e),[h,k]=s.useState(!1),f=i&&h;s.useEffect(()=>{r&&r(f)},[r,f]);const w=s.useRef(null),L=s.useRef(0),[v,S]=s.useState(null);s.useLayoutEffect(()=>{const E=w.current;if(!E||!v)return;const y=v.clientWidth;y!==L.current&&(L.current=y,E.style.setProperty("width",W(y)+"px","important"),E.style.setProperty("height",e.checklistLauncherHeight+"px","important"))});const p=e.checklistLauncherPlacement,x=p===b.TOP_LEFT||p===b.TOP_RIGHT,g=p===b.TOP_LEFT||p===b.BOTTOM_LEFT,T={zIndex:d==="fixed"?e.checklistZIndex!=null?e.checklistZIndex:j(U):1,top:x?e.checklistLauncherY+"px":void 0,bottom:x?void 0:e.checklistLauncherY+"px",[m==="ltr"?"left":"right"]:g?e.checklistLauncherX+"px":void 0,[m==="ltr"?"right":"left"]:g?void 0:e.checklistLauncherX+"px",height:e.checklistLauncherHeight+"px",borderRadius:e.checklistLauncherBorderRadius+"px",position:f?void 0:"absolute",visibility:f?void 0:"hidden",animation:f?void 0:"none"};return c.createElement(O,{elRef:w,testId:"checklist-launcher-app",className:Z({"userflowjs-checklist-launcher":!0,[`userflowjs-checklist-launcher--position-${d}`]:!0}),style:T,stylesheet:G,theme:e,onStylesheetsLoad:k,title:"Checklist launcher"},c.createElement("button",{ref:l,className:"userflowjs-checklist-launcher-frame-root",onClick:n},c.createElement("div",{ref:S,className:"userflowjs-checklist-launcher-content"},c.createElement("div",{className:"userflowjs-checklist-launcher-text"},u||"Get Started"),c.createElement("div",{"data-testid":"checklist-launcher-uncompleted-count",className:"userflowjs-checklist-launcher-uncompleted-count"},o===0?c.createElement(z,{icon:X}):o,c.createElement("div",{className:"userflowjs-a11y-only"},"uncompleted tasks")))))},Se=({session:t,checklistExpanded:e})=>{const{version:n}=t,r=n.checklist,l=t.locale?t.locale.standardLocaleId:t.version.theme.languageId;s.useEffect(()=>{D.changeLanguage(l)},[l]);const[u,o]=s.useState(!1);return e?c.createElement(V,{session:t,initialAutoFocus:u,setInitialAutoFocus:o}):r.launcherEnabled?c.createElement($,{session:t,initialAutoFocus:u,setInitialAutoFocus:o}):null},V=({session:t,initialAutoFocus:e,setInitialAutoFocus:n})=>{const r=C(),[l,u]=s.useState(null),{version:o}=t,d=o.checklist,a=I(o.theme),m=s.useMemo(()=>({...a,avatarType:R.NONE,bubblePlacement:a.checklistPlacement,bubbleX:a.checklistX,bubbleY:a.checklistY,bubbleWidth:a.checklistWidth}),[a]);return s.useEffect(()=>{const i=l?.ownerDocument.defaultView;if(!i)return;const h=k=>{k.key==="Escape"&&(n(!0),r.hideChecklist())};return i.addEventListener("keydown",h),()=>i.removeEventListener("keydown",h)},[l,n,r]),c.createElement(A,null,c.createElement(_,{company:t.flow.company,theme:m,position:"fixed",stepAppearance:F.BUBBLE,zIndex:a.checklistZIndex,autoHide3pEnabled:!0,backgroundImageUrl:d.backgroundAsset&&d.backgroundAsset.assetUrl,bubbleFrameRootRef:u},c.createElement("div",{role:"dialog","aria-label":"Checklist"},c.createElement(Y,{session:t,initialAutoFocus:e}),c.createElement(N,{draftMode:t.draftMode,minimize:i=>{n(i.detail===0),r.hideChecklist()}}))))},$=({session:t,initialAutoFocus:e,setInitialAutoFocus:n})=>{const r=C(),[l,u]=s.useState(!1),[o,d]=s.useState(null),{version:a}=t,m=a.checklist,i=I(a.theme);return s.useEffect(()=>{!l||!o||!e||o.focus()},[r,o,l,e]),c.createElement(K,{position:"fixed",theme:i,onClick:h=>{n(h.detail===0),r.showChecklist()},onVisibleChange:u,buttonRef:d,text:m.launcherText,uncompletedCount:B(t)})};export{Se as ChecklistApp,Se as default};
1
+ import{r as s,R as c}from"./vendor.react.js";import{D as b,v as R,r as F,G as B}from"./userflow.js";import{F as _,B as D}from"./FlowChrome.js";import{i as N,u as C}from"./client-context.js";import{f as P,w as j,C as U,S as A}from"./flow-host.styl.js";import{u as H,D as O,a as I}from"./stylesheets.js";import{F as Z}from"./Frame.js";import{o as z}from"./vendor.obj-str.js";import{z as W}from"./roots.js";import{a as X}from"./vendor.fortawesome.pro-regular-svg-icons.js";import"./vendor.core-js.js";import{u as M}from"./vendor.react-i18next.js";import{C as Y}from"./ChecklistUI.js";import"./vendor.object-assign.js";import"./vendor.phoenix.js";import"./vendor.uuid.js";import"./use-selector-element-monitoring.js";import"./flow-condition-types.js";import"./vendor.date-fns.js";import"./vendor.babel.runtime.js";import"./use-window-resize.js";import"./logomark.js";import"./use-confetti.js";import"./vendor.canvas-confetti.js";import"./vendor.i18next.js";import"./vendor.fortawesome.pro-solid-svg-icons.js";import"./vendor.react-dom.js";import"./vendor.scheduler.js";import"./iframe-reset.styl.js";import"./TreeDoc.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="971e6ca5-aae4-47ed-950e-d13fb00eb302",t._sentryDebugIdIdentifier="sentry-dbid-971e6ca5-aae4-47ed-950e-d13fb00eb302")}catch{}})();const G=new URL("checklist-launcher-frame.css",import.meta.url).href,K=({position:t,theme:e,onClick:a,onVisibleChange:r,buttonRef:l,text:u,uncompletedCount:o})=>{const d=t||"absolute",{i18n:n}=M(),m=n.dir(),{loaded:i}=H(window,P,e),[h,k]=s.useState(!1),f=i&&h;s.useEffect(()=>{r&&r(f)},[r,f]);const w=s.useRef(null),L=s.useRef(0),[v,S]=s.useState(null);s.useLayoutEffect(()=>{const E=w.current;if(!E||!v)return;const y=v.clientWidth;y!==L.current&&(L.current=y,E.style.setProperty("width",W(y)+"px","important"),E.style.setProperty("height",e.checklistLauncherHeight+"px","important"))});const p=e.checklistLauncherPlacement,x=p===b.TOP_LEFT||p===b.TOP_RIGHT,g=p===b.TOP_LEFT||p===b.BOTTOM_LEFT,T={zIndex:d==="fixed"?e.checklistZIndex!=null?e.checklistZIndex:j(U):1,top:x?e.checklistLauncherY+"px":void 0,bottom:x?void 0:e.checklistLauncherY+"px",[m==="ltr"?"left":"right"]:g?e.checklistLauncherX+"px":void 0,[m==="ltr"?"right":"left"]:g?void 0:e.checklistLauncherX+"px",height:e.checklistLauncherHeight+"px",borderRadius:e.checklistLauncherBorderRadius+"px",position:f?void 0:"absolute",visibility:f?void 0:"hidden",animation:f?void 0:"none"};return c.createElement(Z,{elRef:w,testId:"checklist-launcher-app",className:z({"userflowjs-checklist-launcher":!0,[`userflowjs-checklist-launcher--position-${d}`]:!0}),style:T,stylesheet:G,theme:e,onStylesheetsLoad:k,title:"Checklist launcher"},c.createElement("button",{ref:l,className:"userflowjs-checklist-launcher-frame-root",onClick:a},c.createElement("div",{ref:S,className:"userflowjs-checklist-launcher-content"},c.createElement("div",{className:"userflowjs-checklist-launcher-text"},u||"Get Started"),c.createElement("div",{"data-testid":"checklist-launcher-uncompleted-count",className:"userflowjs-checklist-launcher-uncompleted-count"},o===0?c.createElement(O,{icon:X}):o,c.createElement("div",{className:"userflowjs-a11y-only"},"uncompleted tasks")))))},Se=({session:t,checklistExpanded:e})=>{const{version:a}=t,r=a.checklist,l=t.locale?t.locale.standardLocaleId:t.version.theme.languageId;s.useEffect(()=>{N.changeLanguage(l)},[l]);const[u,o]=s.useState(!1);return e?c.createElement(V,{session:t,initialAutoFocus:u,setInitialAutoFocus:o}):r.launcherEnabled?c.createElement($,{session:t,initialAutoFocus:u,setInitialAutoFocus:o}):null},V=({session:t,initialAutoFocus:e,setInitialAutoFocus:a})=>{const r=C(),[l,u]=s.useState(null),{version:o}=t,d=o.checklist,n=I(o.theme),m=s.useMemo(()=>({...n,avatarType:R.NONE,bubblePlacement:n.checklistPlacement,bubbleX:n.checklistX,bubbleY:n.checklistY,bubbleWidth:n.checklistWidth}),[n]);return s.useEffect(()=>{const i=l?.ownerDocument.defaultView;if(!i)return;const h=k=>{k.key==="Escape"&&(a(!0),r.hideChecklist())};return i.addEventListener("keydown",h),()=>i.removeEventListener("keydown",h)},[l,a,r]),c.createElement(A,null,c.createElement(_,{company:t.flow.company,theme:m,position:"fixed",stepAppearance:F.BUBBLE,zIndex:n.checklistZIndex,autoHide3pEnabled:!0,backgroundImageUrl:d.backgroundAsset&&d.backgroundAsset.assetUrl,bubbleFrameRootRef:u},c.createElement("div",{role:"dialog","aria-label":"Checklist"},c.createElement(Y,{session:t,initialAutoFocus:e}),c.createElement(D,{draftMode:t.draftMode,minimize:i=>{a(i.detail===0),r.hideChecklist()}}))))},$=({session:t,initialAutoFocus:e,setInitialAutoFocus:a})=>{const r=C(),[l,u]=s.useState(!1),[o,d]=s.useState(null),{version:n}=t,m=n.checklist,i=I(n.theme);return s.useEffect(()=>{!l||!o||!e||o.focus()},[r,o,l,e]),c.createElement(K,{position:"fixed",theme:i,onClick:h=>{a(h.detail===0),r.showChecklist()},onVisibleChange:u,buttonRef:d,text:m.launcherText,uncompletedCount:B(t)})};export{Se as ChecklistApp,Se as default};
2
2
  //# sourceMappingURL=ChecklistApp.js.map
package/EmbedApp.js CHANGED
@@ -1,2 +1,2 @@
1
- import{r as o,R as l}from"./vendor.react.js";import{D as m,E as K}from"./userflow.js";import{u as P,i as k}from"./client-context.js";import{o as M}from"./vendor.obj-str.js";import{a as U,u as Y,g as q,D as Z}from"./stylesheets.js";import{D as G}from"./vendor.fortawesome.pro-regular-svg-icons.js";import{S as J}from"./TreeDoc.js";import{w as Q,f as V}from"./flow-host.styl.js";import{u as X,b as ee}from"./use-selector-element-monitoring.js";import{r as te}from"./vendor.react-dom.js";import{F as re}from"./Frame.js";import{d}from"./roots.js";import{u as ne}from"./use-element-rect.js";import{C as oe}from"./ChecklistUI.js";import"./vendor.core-js.js";import"./vendor.object-assign.js";import"./vendor.phoenix.js";import"./vendor.uuid.js";import"./vendor.i18next.js";import"./vendor.babel.runtime.js";import"./vendor.react-i18next.js";import"./vendor.fortawesome.pro-solid-svg-icons.js";import"./flow-condition-types.js";import"./vendor.date-fns.js";import"./vendor.scheduler.js";import"./iframe-reset.styl.js";import"./use-window-resize.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},a=new Error().stack;a&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[a]="e8d9f21a-e2c9-4efc-b2d1-8bec2b9e059e",r._sentryDebugIdIdentifier="sentry-dbid-e8d9f21a-e2c9-4efc-b2d1-8bec2b9e059e")}catch{}})();const De=({session:r,checklistSession:a})=>{const p=P(),{version:i}=r,t=i.embed,y=U(i.theme),L=r.locale?r.locale.standardLocaleId:r.version.theme.languageId,b=r.version.embed?.blocks||[],S=b.length===1&&b[0]?.type==="CHECKLIST";o.useEffect(()=>{k.changeLanguage(L)},[L]);const e=o.useRef(null);o.useLayoutEffect(()=>{e.current=document.createElement("div")},[]);const[D,v]=o.useState(!1),{loaded:N}=Y(window,V,y),[F,I]=o.useState(!1),g=N&&F,[A,_]=o.useState(0),j=o.useCallback(()=>{I(!1),_(n=>n+1)},[]),E=![m.BODY_FIRST,m.BODY_LAST].includes(t.embedMode),[f,x]=o.useState(null),B=o.useCallback(({targetEl:n})=>{x(n)},[]),O=o.useCallback(()=>{E&&console.warn(`Userflow.js: Could not find embed element for banner "${r.flow.name||r.flow.id}"`),x(null)},[E,r.flow.name,r.flow.id]);X({selector:t.embedSelector,targetMoved:B,targetLost:O});const[T,$]=o.useState(!1),c=o.useCallback(()=>{const n=e.current;n&&n.parentElement&&(n.parentElement.removeChild(n),v(!1))},[e]),W=o.useCallback(()=>{r.kind==="embed"&&($(!0),p.endFlow(r,{endReason:K.USER_CLOSED}),c())},[c,r,p]);o.useLayoutEffect(()=>{try{if(S&&!a){c();return}if(!e.current?.parentElement){if(E&&!f){c();return}switch(t.embedMode){case m.BODY_FIRST:document.body.insertAdjacentElement("afterbegin",e.current);break;case m.BODY_LAST:document.body.insertAdjacentElement("beforeend",e.current);break;case m.ELEMENT_FIRST:f.insertAdjacentElement("afterbegin",e.current);break;case m.ELEMENT_LAST:f.insertAdjacentElement("beforeend",e.current);break;case m.ELEMENT_BEFORE:f.insertAdjacentElement("beforebegin",e.current);break;case m.ELEMENT_AFTER:f.insertAdjacentElement("afterend",e.current);break;default:document.body.insertAdjacentElement("afterbegin",e.current)}v(!0),j()}}catch(n){console.error("Error during element insertion:",n)}},[c,e,E,f,i.embed?.overlay,i.embed?.sticky,t.embedMode,j,a]);const h=n=>M({"userflowjs-embed":!0,[`userflowjs-embed--embed-mode-${t.embedMode}`]:!0,[`userflowjs-embed--animate-${String(t.animate)}`]:n&&t.animate});o.useLayoutEffect(()=>{e.current&&(e.current.className=h(!1))},[e,t.embedMode,t.animate]);const w=t.zIndex||Q(0);o.useLayoutEffect(()=>{e.current&&(e.current.style.zIndex=w==null?"":String(w),e.current.style.position=g?"":"absolute",e.current.style.visibility=g?"":"hidden")},[e,w,g]);const{height:u,setEl:H}=ne();o.useLayoutEffect(()=>{e.current&&e.current.style.setProperty("--userflowjs-embed-height",u&&d(u+(t.marginTop||0)+(t.marginBottom||0))||"0px")},[e,u,t.marginTop,t.marginBottom]);const z=()=>{if(!r.version.embed?.blocks?.length)return null;const n=(s,C)=>l.createElement("div",{className:"userflowjs-embed-wrapper",key:C},l.createElement("div",{className:"userflowjs-bubble-toolbar"},r.draftMode&&l.createElement("div",{className:"userflowjs-bubble-draft"},"Preview"),!i.closeDisabled&&l.createElement("button",{"data-testid":"userflow-embed-dismiss",className:"userflowjs-bubble-toolbar-button",onClick:W,"aria-label":"Close embed"},l.createElement(Z,{icon:G}))),s);return b.map(s=>{switch(s.type){case"CHECKLIST":return a?n(l.createElement("div",{style:{...q(y),paddingTop:i.closeDisabled?"0px":"32px"},className:"userflowjs-embedded-checklist"},l.createElement(oe,{session:a})),s.id):null;default:return console.warn(`Unknown embed block type: ${s.type}`),null}})};return o.useLayoutEffect(()=>{const n=`userflow-${r.id}`;return e.current.id=n,()=>{T||document.getElementById(n)===e.current&&c()}},[e,r.id,c,T]),o.useLayoutEffect(()=>{const n=r.version.embed?.blocks?.length&&r.version.embed.blocks.some(s=>s.type==="CHECKLIST"?a:!1);u&&u>0&&n?(e.current.style.height=`${u}px`,e.current.className=h(t.animate)):(e.current.style.height="0px",e.current.className=h(!1))},[e,u,a,t.animate]),o.useEffect(()=>{if(!e.current)return;const n=new ResizeObserver(C=>{for(const R of C)R.contentRect&&!t.embedMode&&(e.current.style.height=`${R.contentRect.height}px`)}),s=e.current.querySelector("iframe");return s&&n.observe(s),()=>{n.disconnect()}},[e,t.embedMode]),!D||!b.length||S&&!a?null:te.createPortal(l.createElement(J.Provider,{value:r},l.createElement(re,{key:A,className:"userflowjs-embed-frame",style:{maxWidth:t.maxWidth?d(t.maxWidth):"100%",width:"100%",height:r.version.embed?.blocks?.length?"100%":"auto",minHeight:0,marginTop:d(t.marginTop),marginRight:d(t.marginRight),marginBottom:d(t.marginBottom),marginLeft:d(t.marginLeft),borderRadius:d(t.borderRadius)},stylesheet:ee,theme:y,onStylesheetsLoad:I,title:"Embedded Content"},l.createElement("div",{ref:H,className:M({"userflowjs-embed-root":!0,[`userflowjs-embed-root--content-layout-${t.contentLayout}`]:!0,"userflowjs-theme-root":!0,"userflowjs-embed-root-blocks":b.length>0}),dir:k.dir(),style:{width:"100%",maxWidth:t.maxContentWidth?d(t.maxContentWidth):"100%",margin:"0 auto"}},z()))),e.current)};export{De as EmbedApp,De as default};
1
+ import{r as o,R as l}from"./vendor.react.js";import{H as m,E as K}from"./userflow.js";import{u as P,i as k}from"./client-context.js";import{o as M}from"./vendor.obj-str.js";import{a as U,u as Y,g as q,D as Z}from"./stylesheets.js";import{D as G}from"./vendor.fortawesome.pro-regular-svg-icons.js";import{S as J}from"./TreeDoc.js";import{w as Q,f as V}from"./flow-host.styl.js";import{u as X,b as ee}from"./use-selector-element-monitoring.js";import{r as te}from"./vendor.react-dom.js";import{F as re}from"./Frame.js";import{d}from"./roots.js";import{u as ne}from"./use-element-rect.js";import{C as oe}from"./ChecklistUI.js";import"./vendor.core-js.js";import"./vendor.object-assign.js";import"./vendor.phoenix.js";import"./vendor.uuid.js";import"./vendor.i18next.js";import"./vendor.babel.runtime.js";import"./vendor.react-i18next.js";import"./vendor.fortawesome.pro-solid-svg-icons.js";import"./flow-condition-types.js";import"./vendor.date-fns.js";import"./vendor.scheduler.js";import"./iframe-reset.styl.js";import"./use-window-resize.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},a=new Error().stack;a&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[a]="0adf83cd-f19e-4c51-8f39-0da39af710dd",r._sentryDebugIdIdentifier="sentry-dbid-0adf83cd-f19e-4c51-8f39-0da39af710dd")}catch{}})();const De=({session:r,checklistSession:a})=>{const p=P(),{version:i}=r,t=i.embed,y=U(i.theme),L=r.locale?r.locale.standardLocaleId:r.version.theme.languageId,b=r.version.embed?.blocks||[],S=b.length===1&&b[0]?.type==="CHECKLIST";o.useEffect(()=>{k.changeLanguage(L)},[L]);const e=o.useRef(null);o.useLayoutEffect(()=>{e.current=document.createElement("div")},[]);const[D,v]=o.useState(!1),{loaded:N}=Y(window,V,y),[F,I]=o.useState(!1),g=N&&F,[A,_]=o.useState(0),j=o.useCallback(()=>{I(!1),_(n=>n+1)},[]),E=![m.BODY_FIRST,m.BODY_LAST].includes(t.embedMode),[f,x]=o.useState(null),B=o.useCallback(({targetEl:n})=>{x(n)},[]),O=o.useCallback(()=>{E&&console.warn(`Userflow.js: Could not find embed element for banner "${r.flow.name||r.flow.id}"`),x(null)},[E,r.flow.name,r.flow.id]);X({selector:t.embedSelector,targetMoved:B,targetLost:O});const[T,$]=o.useState(!1),c=o.useCallback(()=>{const n=e.current;n&&n.parentElement&&(n.parentElement.removeChild(n),v(!1))},[e]),H=o.useCallback(()=>{r.kind==="embed"&&($(!0),p.endFlow(r,{endReason:K.USER_CLOSED}),c())},[c,r,p]);o.useLayoutEffect(()=>{try{if(S&&!a){c();return}if(!e.current?.parentElement){if(E&&!f){c();return}switch(t.embedMode){case m.BODY_FIRST:document.body.insertAdjacentElement("afterbegin",e.current);break;case m.BODY_LAST:document.body.insertAdjacentElement("beforeend",e.current);break;case m.ELEMENT_FIRST:f.insertAdjacentElement("afterbegin",e.current);break;case m.ELEMENT_LAST:f.insertAdjacentElement("beforeend",e.current);break;case m.ELEMENT_BEFORE:f.insertAdjacentElement("beforebegin",e.current);break;case m.ELEMENT_AFTER:f.insertAdjacentElement("afterend",e.current);break;default:document.body.insertAdjacentElement("afterbegin",e.current)}v(!0),j()}}catch(n){console.error("Error during element insertion:",n)}},[c,e,E,f,i.embed?.overlay,i.embed?.sticky,t.embedMode,j,a]);const h=n=>M({"userflowjs-embed":!0,[`userflowjs-embed--embed-mode-${t.embedMode}`]:!0,[`userflowjs-embed--animate-${String(t.animate)}`]:n&&t.animate});o.useLayoutEffect(()=>{e.current&&(e.current.className=h(!1))},[e,t.embedMode,t.animate]);const w=t.zIndex||Q(0);o.useLayoutEffect(()=>{e.current&&(e.current.style.zIndex=w==null?"":String(w),e.current.style.position=g?"":"absolute",e.current.style.visibility=g?"":"hidden")},[e,w,g]);const{height:u,setEl:W}=ne();o.useLayoutEffect(()=>{e.current&&e.current.style.setProperty("--userflowjs-embed-height",u&&d(u+(t.marginTop||0)+(t.marginBottom||0))||"0px")},[e,u,t.marginTop,t.marginBottom]);const z=()=>{if(!r.version.embed?.blocks?.length)return null;const n=(s,C)=>l.createElement("div",{className:"userflowjs-embed-wrapper",key:C},l.createElement("div",{className:"userflowjs-bubble-toolbar"},r.draftMode&&l.createElement("div",{className:"userflowjs-bubble-draft"},"Preview"),!i.closeDisabled&&l.createElement("button",{"data-testid":"userflow-embed-dismiss",className:"userflowjs-bubble-toolbar-button",onClick:H,"aria-label":"Close embed"},l.createElement(Z,{icon:G}))),s);return b.map(s=>{switch(s.type){case"CHECKLIST":return a?n(l.createElement("div",{style:{...q(y),paddingTop:i.closeDisabled?"0px":"32px"},className:"userflowjs-embedded-checklist"},l.createElement(oe,{session:a})),s.id):null;default:return console.warn(`Unknown embed block type: ${s.type}`),null}})};return o.useLayoutEffect(()=>{const n=`userflow-${r.id}`;return e.current.id=n,()=>{T||document.getElementById(n)===e.current&&c()}},[e,r.id,c,T]),o.useLayoutEffect(()=>{const n=r.version.embed?.blocks?.length&&r.version.embed.blocks.some(s=>s.type==="CHECKLIST"?a:!1);u&&u>0&&n?(e.current.style.height=`${u}px`,e.current.className=h(t.animate)):(e.current.style.height="0px",e.current.className=h(!1))},[e,u,a,t.animate]),o.useEffect(()=>{if(!e.current)return;const n=new ResizeObserver(C=>{for(const R of C)R.contentRect&&!t.embedMode&&(e.current.style.height=`${R.contentRect.height}px`)}),s=e.current.querySelector("iframe");return s&&n.observe(s),()=>{n.disconnect()}},[e,t.embedMode]),!D||!b.length||S&&!a?null:te.createPortal(l.createElement(J.Provider,{value:r},l.createElement(re,{key:A,className:"userflowjs-embed-frame",style:{maxWidth:t.maxWidth?d(t.maxWidth):"100%",width:"100%",height:r.version.embed?.blocks?.length?"100%":"auto",minHeight:0,marginTop:d(t.marginTop),marginRight:d(t.marginRight),marginBottom:d(t.marginBottom),marginLeft:d(t.marginLeft),borderRadius:d(t.borderRadius)},stylesheet:ee,theme:y,onStylesheetsLoad:I,title:"Embedded Content"},l.createElement("div",{ref:W,className:M({"userflowjs-embed-root":!0,[`userflowjs-embed-root--content-layout-${t.contentLayout}`]:!0,"userflowjs-theme-root":!0,"userflowjs-embed-root-blocks":b.length>0}),dir:k.dir(),style:{width:"100%",maxWidth:t.maxContentWidth?d(t.maxContentWidth):"100%",margin:"0 auto"}},z()))),e.current)};export{De as EmbedApp,De as default};
2
2
  //# sourceMappingURL=EmbedApp.js.map
package/FlowChrome.js CHANGED
@@ -1,3 +1,3 @@
1
- import{S as ye,T as Le,N as ve,D as Be}from"./vendor.fortawesome.pro-regular-svg-icons.js";import{R as p,r as s}from"./vendor.react.js";import{D as Ht,u as Me,g as ke}from"./stylesheets.js";import"./vendor.core-js.js";import{u as de}from"./vendor.react-i18next.js";import{F as ie}from"./Frame.js";import{J as G,r as L,v as ft,F as Re,z as O,a7 as je,a6 as f}from"./userflow.js";import{u as Pe,f as Oe}from"./flow-host.styl.js";import{u as Ne,b as xe}from"./use-selector-element-monitoring.js";import{u as Ie}from"./use-window-resize.js";import{S as _e}from"./logomark.js";import{o as $t}from"./vendor.obj-str.js";import{h as Xt,e as Ct,j as ct,w as De,x as He,l as ue,y as Fe,M as ce,s as Ft,A as Ce,q as Se,p as Ue,B as Ve}from"./roots.js";import{u as We}from"./use-confetti.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eba27759-b21c-4062-88f5-ed6a1322cbe4",e._sentryDebugIdIdentifier="sentry-dbid-eba27759-b21c-4062-88f5-ed6a1322cbe4")}catch{}})();const bo=({draftMode:e,muted:t,toggleMuted:o,close:w,minimize:E})=>{const{t:c}=de();return p.createElement("div",{className:"userflowjs-bubble-toolbar"},e&&p.createElement("div",{className:"userflowjs-bubble-draft"},typeof e=="string"?e:"Preview"),o&&p.createElement("button",{className:"userflowjs-bubble-toolbar-button",onClick:o,"aria-label":t?"Unmute":"Mute"},t?p.createElement(Ht,{icon:ye}):p.createElement(Ht,{icon:Le})),E&&p.createElement("button",{"data-testid":"minimize-button",className:"userflowjs-bubble-toolbar-button",onClick:E,"aria-label":"Minimize checklist"},p.createElement(Ht,{icon:ve})),w&&p.createElement("button",{"data-testid":"close-button",className:"userflowjs-bubble-toolbar-button",onClick:w,"aria-label":c("menu.close")},p.createElement(Ht,{icon:Be})))},Ae=new URL("avatar-frame.css",import.meta.url).href;function ze(e,t){const o=window.Intercom;s.useEffect(()=>{if(!(!t||!e.autoHideIntercom||typeof o!="function"||G.autoHide3pDisabled)){try{o("update",{hide_default_launcher:!0})}catch(l){console.warn("Userflow.js: Error when hiding Intercom launcher",l)}return()=>{if(!G.autoHide3pDisabled)try{o("update",{hide_default_launcher:!1})}catch(l){console.warn("Userflow.js: Error when unhiding Intercom launcher",l)}}}},[o,e.autoHideIntercom,t]);const w=window.$crisp;s.useEffect(()=>{if(!(!t||!e.autoHideCrisp||!w||G.autoHide3pDisabled)){try{w.push(["do","chat:hide"])}catch(l){console.warn("Userflow.js: Error when hiding Crisp Chat",l)}return()=>{if(!G.autoHide3pDisabled)try{w.push(["do","chat:show"])}catch(l){console.warn("Userflow.js: Error when unhiding Crisp Chat",l)}}}},[w,e.autoHideCrisp,t]);const E=window.HubSpotConversations;s.useEffect(()=>{if(!(!t||!e.autoHideHubspot||!E||G.autoHide3pDisabled)){try{E.widget.remove()}catch(l){console.warn("Userflow.js: Error when hiding HubSpot Chat",l)}return()=>{if(!G.autoHide3pDisabled)try{E.widget.load()}catch(l){console.warn("Userflow.js: Error when unhiding HubSpot Chat",l)}}}},[E,e.autoHideHubspot,t]);const c=window.drift;s.useEffect(()=>{if(!(!t||!e.autoHideDrift||!c||G.autoHide3pDisabled)){try{c.api.widget.hide()}catch(l){console.warn("Userflow.js: Error when hiding Drift Chat",l)}return()=>{if(!G.autoHide3pDisabled)try{c.api.widget.show()}catch(l){console.warn("Userflow.js: Error when unhiding Drift Chat",l)}}}},[c,e.autoHideDrift,t])}const Yt=16,Rt=20,mo=({company:e,theme:t,position:o,absoluteWidth:w,absoluteHeight:E,stepKey:c,stepAppearance:l,width:m,backgroundImageUrl:T,tooltipSelector:d,allowMissingTooltipTarget:y,tooltipPlacement:R,backdrop:D,tooltipTargetBlocked:A,backdropPadding:Q,zIndex:N,onTooltipTargetClick:v,onTooltipTargetMissingChange:H,onModalBackdropClick:J,onVisibleChange:tt,speaking:C,noIframe:j,MadeWithUserflow:i,minimizeOnAvatarClick:S,autoHide3pEnabled:M,bubbleFrameRootRef:B,frameWrapperHtmlAttributes:P,rootChildren:x,children:r,isModalAnnouncement:u,confettiEnabled:et})=>{const F=o||"absolute",U=R||null,$=Q||"0",ot=i||$e,nt=Pe(),dt=F==="fixed"?N??nt+1:1,K=dt-1,jt=dt-2,{i18n:Pt}=de(),it=Pt.dir(),bt=s.useRef(null),at=s.useRef(null),lt=s.useRef(null),[X,Ot]=s.useState(null),gt=s.useRef(null),wt=s.useRef(null),Tt=s.useRef(null),Et=s.useRef(null),yt=s.useRef(null),Lt=s.useRef(null),vt=s.useRef(null),Bt=s.useRef(null),mt=s.useRef(null);s.useLayoutEffect(()=>{const a=bt.current.style;a.animation="none",a.visibility="hidden",a.position="absolute",a.top="-99999px",a.left="-99999px"},[]);const{loaded:Nt}=Me(window,Oe,t),[xt,St]=s.useState(!1),[Ut,g]=s.useState(!1),n=Nt&&xt&&Ut;let[V,st]=s.useState(!1);l!==L.BUBBLE&&(S=!1,V=!1),s.useEffect(()=>{st(!1)},[c]);const k=s.useRef({appearance:null,width:null,theme:t,bubbleFrameHeight:0,backdrop:!1,backdropPadding:"0",prevTooltipTargetParams:null,tooltipTargetParams:null,desiredTooltipPlacement:null,tooltipPlacement:null,lastReportedTooltipTargetMissing:!1,tooltipTargetMissing:!1,tooltipTargetMissingTimeout:void 0,stepKeyScrolledIntoView:void 0,targetScrolledIntoView:null}),[Y,_]=s.useState(null),Z=Y!=null&&n;s.useEffect(()=>{tt&&tt(Z)},[tt,Z]);const pt=s.useCallback(a=>{k.current.lastReportedTooltipTargetMissing!==a&&(k.current.lastReportedTooltipTargetMissing=a,H&&H(a))},[H]),z=s.useCallback(({forceAppearanceLayout:a,forceUpdatePosition:I}={})=>{const rt=bt.current,Dt=at.current,kt=lt.current,qt=wt.current,Jt=gt.current,Kt=Tt.current,Qt=Et.current,te=yt.current,ee=Lt.current,oe=vt.current,ae=Bt.current,le=mt.current;if(!rt||!Dt||!kt||!X||!qt||!Jt||!Kt||!Qt||!te||!ee||!oe||!ae||!le||!n)return;const h=k.current,{tooltipTargetParams:Wt}=h;Se();let W=l,se=!1;W===L.TOOLTIP&&!y&&!Wt&&(h.tooltipTargetMissing?(W=L.BUBBLE,se=!0):W=null);const re=W!==h.appearance,we=m!==h.width;if((a||re||we||t!==h.theme||D!=h.backdrop||$!=h.backdropPadding||U!==h.desiredTooltipPlacement)&&(h.appearance=W,h.width=m,h.theme=t,h.backdrop=D,h.backdropPadding=$,h.desiredTooltipPlacement=U,I=!0,Xe({layoutState:h,width:m,position:F,absoluteWidth:w,root:rt,bubble:Dt,bubbleFrameRoot:X,avatar:qt,avatarNotch:Jt,modalBackdrop:le,dir:it})),!j){const q=X.offsetHeight,At=Xt(),zt=Ct()<800?0:Yt,Te=t.avatarType===ft.NONE?0:W===L.BUBBLE?Rt+t.avatarSize:W===L.MODAL?t.avatarSize/2:0,ne=At-2*zt-Te,Gt=Math.min(q,ne);if(W&&Gt!==h.bubbleFrameHeight){if(h.bubbleFrameHeight=Gt,b(kt,"height",ct(Gt)),De(kt)&&kt.contentDocument){const Ee=kt.contentDocument.documentElement;Ee.style.overflowY=q<=ne?"hidden":"scroll"}I=!0}}if(I&&W){let q=re;if(W===L.TOOLTIP){const At=h.tooltipTargetParams&&h.tooltipTargetParams.targetEl,zt=h.prevTooltipTargetParams&&h.prevTooltipTargetParams.targetEl;At!==zt&&(q=!0)}h.prevTooltipTargetParams=h.tooltipTargetParams,Ye({layoutState:h,animateIn:q,position:F,absoluteWidth:w,absoluteHeight:E,desiredTooltipPlacement:U,root:rt,bubble:Dt,tooltipNotch:Kt,tooltipBackdrop:Qt,tooltipBlockTop:te,tooltipBlockRight:ee,tooltipBlockBottom:oe,tooltipBlockLeft:ae,dir:it})}if(W===L.TOOLTIP){const q=Wt&&Wt.targetEl;q&&h.stepKeyScrolledIntoView!==c&&h.targetScrolledIntoView!==q&&(h.stepKeyScrolledIntoView=c,h.targetScrolledIntoView=q,qe(q))}else h.stepKeyScrolledIntoView=void 0,h.targetScrolledIntoView=null;pt(se),_(W)},[n,X,c,l,m,t,F,w,E,y,U,D,$,j,pt,it]),Mt=s.useRef(z);Mt.current=z;const Zt=s.useRef(!1);s.useEffect(()=>{const a=()=>{Zt.current=!0};return window.addEventListener("pagehide",a),()=>window.removeEventListener("pagehide",a)},[]);const It=()=>{window.clearTimeout(k.current.tooltipTargetMissingTimeout),k.current.tooltipTargetMissingTimeout=void 0};s.useLayoutEffect(()=>It,[]);const _t=s.useRef(!1),be=()=>{const a=at.current;_t.current||!a||(Ue(a),_t.current=!0)},Vt=()=>{const a=at.current;!_t.current||!a||(Ve(a),_t.current=!1)};s.useLayoutEffect(()=>Vt,[]),s.useLayoutEffect(()=>{if(l!==L.MODAL||F!=="fixed")return;const a=mt.current,I=at.current;if(!a||!I)return;const rt=He(a,I);return()=>rt()},[l,F]);const me=s.useCallback(()=>{Vt();const a=k.current;if(a.tooltipTargetParams=null,y||(a.tooltipPlacement=null),l!==L.TOOLTIP){It(),a.tooltipTargetMissing=!1;return}if(!y&&!a.tooltipTargetMissingTimeout){a.tooltipTargetMissing=!1;const I=d&&!ue(d)&&d.type===Re.AUTO&&!d.autoData?1:parseFloat(t.tooltipMissingToleranceSeconds)*1e3;a.tooltipTargetMissingTimeout=window.setTimeout(()=>{if(!Zt.current){if(d&&!ue(d)){let rt=d.autoData;if(d.autoData)try{rt=JSON.parse(d.autoData)}catch{}console.warn(`Userflow.js: Tooltip target not found on page.
1
+ import{S as ye,T as Le,N as ve,D as Be}from"./vendor.fortawesome.pro-regular-svg-icons.js";import{R as p,r as s}from"./vendor.react.js";import{D as Ht,u as Me,g as ke}from"./stylesheets.js";import"./vendor.core-js.js";import{u as de}from"./vendor.react-i18next.js";import{F as ie}from"./Frame.js";import{K as G,r as L,v as ft,F as Re,D as O,a8 as je,a7 as f}from"./userflow.js";import{u as Pe,f as Oe}from"./flow-host.styl.js";import{u as Ne,b as xe}from"./use-selector-element-monitoring.js";import{u as Ie}from"./use-window-resize.js";import{S as _e}from"./logomark.js";import{o as $t}from"./vendor.obj-str.js";import{h as Xt,e as Ct,j as ct,w as De,x as He,l as ue,y as Fe,M as ce,s as Ft,A as Ce,q as Se,p as Ue,B as Ve}from"./roots.js";import{u as We}from"./use-confetti.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0fbc8b6a-3a33-4738-ad07-76046237e1be",e._sentryDebugIdIdentifier="sentry-dbid-0fbc8b6a-3a33-4738-ad07-76046237e1be")}catch{}})();const bo=({draftMode:e,muted:t,toggleMuted:o,close:w,minimize:E})=>{const{t:c}=de();return p.createElement("div",{className:"userflowjs-bubble-toolbar"},e&&p.createElement("div",{className:"userflowjs-bubble-draft"},typeof e=="string"?e:"Preview"),o&&p.createElement("button",{className:"userflowjs-bubble-toolbar-button",onClick:o,"aria-label":t?"Unmute":"Mute"},t?p.createElement(Ht,{icon:ye}):p.createElement(Ht,{icon:Le})),E&&p.createElement("button",{"data-testid":"minimize-button",className:"userflowjs-bubble-toolbar-button",onClick:E,"aria-label":"Minimize checklist"},p.createElement(Ht,{icon:ve})),w&&p.createElement("button",{"data-testid":"close-button",className:"userflowjs-bubble-toolbar-button",onClick:w,"aria-label":c("menu.close")},p.createElement(Ht,{icon:Be})))},Ae=new URL("avatar-frame.css",import.meta.url).href;function ze(e,t){const o=window.Intercom;s.useEffect(()=>{if(!(!t||!e.autoHideIntercom||typeof o!="function"||G.autoHide3pDisabled)){try{o("update",{hide_default_launcher:!0})}catch(l){console.warn("Userflow.js: Error when hiding Intercom launcher",l)}return()=>{if(!G.autoHide3pDisabled)try{o("update",{hide_default_launcher:!1})}catch(l){console.warn("Userflow.js: Error when unhiding Intercom launcher",l)}}}},[o,e.autoHideIntercom,t]);const w=window.$crisp;s.useEffect(()=>{if(!(!t||!e.autoHideCrisp||!w||G.autoHide3pDisabled)){try{w.push(["do","chat:hide"])}catch(l){console.warn("Userflow.js: Error when hiding Crisp Chat",l)}return()=>{if(!G.autoHide3pDisabled)try{w.push(["do","chat:show"])}catch(l){console.warn("Userflow.js: Error when unhiding Crisp Chat",l)}}}},[w,e.autoHideCrisp,t]);const E=window.HubSpotConversations;s.useEffect(()=>{if(!(!t||!e.autoHideHubspot||!E||G.autoHide3pDisabled)){try{E.widget.remove()}catch(l){console.warn("Userflow.js: Error when hiding HubSpot Chat",l)}return()=>{if(!G.autoHide3pDisabled)try{E.widget.load()}catch(l){console.warn("Userflow.js: Error when unhiding HubSpot Chat",l)}}}},[E,e.autoHideHubspot,t]);const c=window.drift;s.useEffect(()=>{if(!(!t||!e.autoHideDrift||!c||G.autoHide3pDisabled)){try{c.api.widget.hide()}catch(l){console.warn("Userflow.js: Error when hiding Drift Chat",l)}return()=>{if(!G.autoHide3pDisabled)try{c.api.widget.show()}catch(l){console.warn("Userflow.js: Error when unhiding Drift Chat",l)}}}},[c,e.autoHideDrift,t])}const Yt=16,Rt=20,mo=({company:e,theme:t,position:o,absoluteWidth:w,absoluteHeight:E,stepKey:c,stepAppearance:l,width:m,backgroundImageUrl:T,tooltipSelector:d,allowMissingTooltipTarget:y,tooltipPlacement:R,backdrop:D,tooltipTargetBlocked:A,backdropPadding:Q,zIndex:N,onTooltipTargetClick:v,onTooltipTargetMissingChange:H,onModalBackdropClick:J,onVisibleChange:tt,speaking:C,noIframe:j,MadeWithUserflow:i,minimizeOnAvatarClick:S,autoHide3pEnabled:M,bubbleFrameRootRef:B,frameWrapperHtmlAttributes:P,rootChildren:x,children:r,isModalAnnouncement:u,confettiEnabled:et})=>{const F=o||"absolute",U=R||null,$=Q||"0",ot=i||$e,nt=Pe(),dt=F==="fixed"?N??nt+1:1,K=dt-1,jt=dt-2,{i18n:Pt}=de(),it=Pt.dir(),bt=s.useRef(null),at=s.useRef(null),lt=s.useRef(null),[X,Ot]=s.useState(null),gt=s.useRef(null),wt=s.useRef(null),Tt=s.useRef(null),Et=s.useRef(null),yt=s.useRef(null),Lt=s.useRef(null),vt=s.useRef(null),Bt=s.useRef(null),mt=s.useRef(null);s.useLayoutEffect(()=>{const a=bt.current.style;a.animation="none",a.visibility="hidden",a.position="absolute",a.top="-99999px",a.left="-99999px"},[]);const{loaded:Nt}=Me(window,Oe,t),[xt,St]=s.useState(!1),[Ut,g]=s.useState(!1),n=Nt&&xt&&Ut;let[V,st]=s.useState(!1);l!==L.BUBBLE&&(S=!1,V=!1),s.useEffect(()=>{st(!1)},[c]);const k=s.useRef({appearance:null,width:null,theme:t,bubbleFrameHeight:0,backdrop:!1,backdropPadding:"0",prevTooltipTargetParams:null,tooltipTargetParams:null,desiredTooltipPlacement:null,tooltipPlacement:null,lastReportedTooltipTargetMissing:!1,tooltipTargetMissing:!1,tooltipTargetMissingTimeout:void 0,stepKeyScrolledIntoView:void 0,targetScrolledIntoView:null}),[Y,_]=s.useState(null),Z=Y!=null&&n;s.useEffect(()=>{tt&&tt(Z)},[tt,Z]);const pt=s.useCallback(a=>{k.current.lastReportedTooltipTargetMissing!==a&&(k.current.lastReportedTooltipTargetMissing=a,H&&H(a))},[H]),z=s.useCallback(({forceAppearanceLayout:a,forceUpdatePosition:I}={})=>{const rt=bt.current,Dt=at.current,kt=lt.current,qt=wt.current,Jt=gt.current,Kt=Tt.current,Qt=Et.current,te=yt.current,ee=Lt.current,oe=vt.current,ae=Bt.current,le=mt.current;if(!rt||!Dt||!kt||!X||!qt||!Jt||!Kt||!Qt||!te||!ee||!oe||!ae||!le||!n)return;const h=k.current,{tooltipTargetParams:Wt}=h;Se();let W=l,se=!1;W===L.TOOLTIP&&!y&&!Wt&&(h.tooltipTargetMissing?(W=L.BUBBLE,se=!0):W=null);const re=W!==h.appearance,we=m!==h.width;if((a||re||we||t!==h.theme||D!=h.backdrop||$!=h.backdropPadding||U!==h.desiredTooltipPlacement)&&(h.appearance=W,h.width=m,h.theme=t,h.backdrop=D,h.backdropPadding=$,h.desiredTooltipPlacement=U,I=!0,Xe({layoutState:h,width:m,position:F,absoluteWidth:w,root:rt,bubble:Dt,bubbleFrameRoot:X,avatar:qt,avatarNotch:Jt,modalBackdrop:le,dir:it})),!j){const q=X.offsetHeight,At=Xt(),zt=Ct()<800?0:Yt,Te=t.avatarType===ft.NONE?0:W===L.BUBBLE?Rt+t.avatarSize:W===L.MODAL?t.avatarSize/2:0,ne=At-2*zt-Te,Gt=Math.min(q,ne);if(W&&Gt!==h.bubbleFrameHeight){if(h.bubbleFrameHeight=Gt,b(kt,"height",ct(Gt)),De(kt)&&kt.contentDocument){const Ee=kt.contentDocument.documentElement;Ee.style.overflowY=q<=ne?"hidden":"scroll"}I=!0}}if(I&&W){let q=re;if(W===L.TOOLTIP){const At=h.tooltipTargetParams&&h.tooltipTargetParams.targetEl,zt=h.prevTooltipTargetParams&&h.prevTooltipTargetParams.targetEl;At!==zt&&(q=!0)}h.prevTooltipTargetParams=h.tooltipTargetParams,Ye({layoutState:h,animateIn:q,position:F,absoluteWidth:w,absoluteHeight:E,desiredTooltipPlacement:U,root:rt,bubble:Dt,tooltipNotch:Kt,tooltipBackdrop:Qt,tooltipBlockTop:te,tooltipBlockRight:ee,tooltipBlockBottom:oe,tooltipBlockLeft:ae,dir:it})}if(W===L.TOOLTIP){const q=Wt&&Wt.targetEl;q&&h.stepKeyScrolledIntoView!==c&&h.targetScrolledIntoView!==q&&(h.stepKeyScrolledIntoView=c,h.targetScrolledIntoView=q,qe(q))}else h.stepKeyScrolledIntoView=void 0,h.targetScrolledIntoView=null;pt(se),_(W)},[n,X,c,l,m,t,F,w,E,y,U,D,$,j,pt,it]),Mt=s.useRef(z);Mt.current=z;const Zt=s.useRef(!1);s.useEffect(()=>{const a=()=>{Zt.current=!0};return window.addEventListener("pagehide",a),()=>window.removeEventListener("pagehide",a)},[]);const It=()=>{window.clearTimeout(k.current.tooltipTargetMissingTimeout),k.current.tooltipTargetMissingTimeout=void 0};s.useLayoutEffect(()=>It,[]);const _t=s.useRef(!1),be=()=>{const a=at.current;_t.current||!a||(Ue(a),_t.current=!0)},Vt=()=>{const a=at.current;!_t.current||!a||(Ve(a),_t.current=!1)};s.useLayoutEffect(()=>Vt,[]),s.useLayoutEffect(()=>{if(l!==L.MODAL||F!=="fixed")return;const a=mt.current,I=at.current;if(!a||!I)return;const rt=He(a,I);return()=>rt()},[l,F]);const me=s.useCallback(()=>{Vt();const a=k.current;if(a.tooltipTargetParams=null,y||(a.tooltipPlacement=null),l!==L.TOOLTIP){It(),a.tooltipTargetMissing=!1;return}if(!y&&!a.tooltipTargetMissingTimeout){a.tooltipTargetMissing=!1;const I=d&&!ue(d)&&d.type===Re.AUTO&&!d.autoData?1:parseFloat(t.tooltipMissingToleranceSeconds)*1e3;a.tooltipTargetMissingTimeout=window.setTimeout(()=>{if(!Zt.current){if(d&&!ue(d)){let rt=d.autoData;if(d.autoData)try{rt=JSON.parse(d.autoData)}catch{}console.warn(`Userflow.js: Tooltip target not found on page.
2
2
  `,{type:d.type,autoData:rt,excludeText:d.excludeText,precision:d.precision,text:d.text,css:d.css})}It(),a.tooltipTargetMissing=!0,Mt.current()}},I)}Mt.current()},[l,y,d,t.tooltipMissingToleranceSeconds]),pe=s.useCallback(a=>{const I=k.current;It(),Fe(a.targetEl)?be():Vt(),I.tooltipTargetParams&&I.tooltipTargetParams.targetEl!==a.targetEl&&(I.tooltipPlacement=null),I.tooltipTargetParams=a,z({forceUpdatePosition:!0})},[z]);Ne({selector:l===L.TOOLTIP&&d||null,targetMoved:pe,targetLost:me,onTargetClick:v});const he=s.useCallback(()=>z({forceAppearanceLayout:!0}),[z]);Ie(he),s.useEffect(()=>{if(!X||j||typeof ce!="function")return;let a;const I=new ce(()=>{a||(a=window.requestAnimationFrame(()=>{a=void 0,Mt.current()}))});return I.observe(X,{childList:!0,attributes:!0,subtree:!0}),()=>{I.disconnect(),a&&window.cancelAnimationFrame(a)}},[X,j]);const{startConfetti:ge}=We({stepType:l,theme:t,bubbleFrame:lt.current,isBubbleVisible:Z,confettiDelay:400,zIndex:jt});s.useEffect(()=>{Z&&et&&lt.current&&ge(!0)},[et,c,Z]),s.useLayoutEffect(()=>{Mt.current()}),s.useLayoutEffect(()=>{F==="absolute"&&z({forceAppearanceLayout:!0})},[F,w,E]);const ht=a=>{a.preventDefault(),a.stopPropagation()};return ze(t,!!M&&Y===L.BUBBLE),p.createElement("div",{ref:bt,"data-testid":"flow-chrome",className:"userflowjs-flow-chrome userflowjs-theme-root",style:ke(t),dir:it},p.createElement("div",{className:"userflowjs-bubble",ref:at,style:{zIndex:dt}},p.createElement("div",{className:$t({"userflowjs-bubble-outline":!0,[`userflowjs-bubble-outline--bubble-placement-${(t.bubblePlacement||"").toLowerCase().replace(/_/,"-")}`]:!0,"userflowjs-bubble-outline--minimizable":!!S,"userflowjs-bubble-outline--minimized":V})},p.createElement("div",{className:"userflowjs-bubble__frame-wrapper",...P},p.createElement(ie,{className:"userflowjs-bubble__frame",elRef:lt,stylesheet:xe,theme:t,onStylesheetsLoad:St,noIframe:j,title:l.toLowerCase()},p.createElement("div",{className:"userflowjs-bubble-frame-root",ref:a=>{B&&B(a),Ot(a)},style:T?{backgroundImage:`url("${encodeURI(T)}")`}:void 0},r,e.flowBranding&&!u&&p.createElement("div",{className:"userflowjs-bubble-made-with-userflow"},p.createElement("div",{className:"userflowjs-bubble-made-with-userflow__absolute"},p.createElement(ot,{company:e},p.createElement(_e,null),p.createElement("div",null,"Made with Userflow"))))))),p.createElement("div",{ref:gt,className:"userflowjs-bubble__avatar-notch"})),p.createElement(ie,{className:$t({"userflowjs-bubble__avatar":!0,"userflowjs-bubble__avatar--minimizable":!!S,"userflowjs-bubble__avatar--speaking":!!C}),elRef:wt,stylesheet:Ae,theme:t,onStylesheetsLoad:g,noIframe:j,ariaHidden:!0,title:l.toLowerCase()},p.createElement("div",{className:$t({"userflowjs-avatar-frame-root":!0,"userflowjs-avatar-frame-root--minimizable":!!S}),onClick:S?()=>st(a=>!a):void 0},p.createElement(Ge,{theme:t}))),p.createElement("div",{ref:Tt,className:"userflowjs-bubble__tooltip-notch"})),p.createElement("div",{ref:Et,className:"userflowjs-tooltip-backdrop",onMouseDown:ht,style:{zIndex:K,pointerEvents:A?void 0:"none"}}),p.createElement("div",{ref:yt,className:"userflowjs-tooltip-block",onMouseDown:ht,style:{zIndex:K}}),p.createElement("div",{ref:Lt,className:"userflowjs-tooltip-block",onMouseDown:ht,style:{zIndex:K}}),p.createElement("div",{ref:vt,className:"userflowjs-tooltip-block",onMouseDown:ht,style:{zIndex:K}}),p.createElement("div",{ref:Bt,className:"userflowjs-tooltip-block",onMouseDown:ht,style:{zIndex:K}}),p.createElement("div",{ref:mt,className:"userflowjs-modal-backdrop",onMouseDown:ht,onClick:J,style:{zIndex:K}}),x&&x({visible:Z,bubbleFrame:lt.current}))},Ge=({theme:e})=>{const t="https://js.userflow.com/cartoon-avatars-no-bg/";let o;return e.avatarType===ft.ASSET&&e.avatarAsset?o=e.avatarAsset.assetUrl:e.avatarType===ft.CARTOON&&e.avatarName?o=t+e.avatarName+".svg?3":e.avatarType===ft.URL&&e.avatarUrl?o=e.avatarUrl:o=t+"none.svg",p.createElement("img",{src:o,alt:""})},$e=({company:e,children:t})=>p.createElement("a",{href:"https://userflow.com/?utm_source=made-with-userflow&utm_medium=link&utm_campaign=made-with-userflow-"+e.slug,target:"_blank",rel:"noopener noreferrer"},t);function Xe({layoutState:{appearance:e,theme:t,backdrop:o,tooltipTargetMissing:w},width:E,position:c,absoluteWidth:l,root:m,bubble:T,bubbleFrameRoot:d,avatar:y,avatarNotch:R,modalBackdrop:D,dir:A}){const Q=c==="absolute"?l||1024:ct(Ct()),{avatarSize:N,bubblePlacement:v}=t;let H=t.bubbleWidth,J=null,tt=null,C=`userflowjs-bubble-frame-root userflowjs-bubble-frame-root--appearance-${e?.toLowerCase()}`,j="hidden",i=null,S=null,M=null,B=null,P="userflowjs-bubble__avatar-notch",x="hidden",r=null,u=null,et=null,F=null,U="userflowjs-modal-backdrop";switch((e===L.MODAL||!w&&e===L.BUBBLE&&o)&&(U+=" userflowjs-modal-backdrop--visible"),e){case L.BUBBLE:if(t.avatarType!==ft.NONE){j="",x="",v===O.TOP_LEFT||v===O.TOP_CENTER||v===O.TOP_RIGHT?(J=N+Rt,i=0,r=-2*Rt,P+=" userflowjs-bubble__avatar-notch--top"):(tt=N+Rt,M=0,et=-2*Rt,P+=" userflowjs-bubble__avatar-notch--bottom");const ot=v===O.TOP_LEFT||v===O.TOP_CENTER||v===O.BOTTOM_LEFT||v===O.BOTTOM_CENTER||v===O.CENTER;A==="ltr"&&ot||A==="rtl"&&!ot?(B=0,F=N,P+=" userflowjs-bubble__avatar-notch--left"):(S=0,u=N,P+=" userflowjs-bubble__avatar-notch--right")}break;case L.MODAL:H=t.modalWidth,t.avatarType!==ft.NONE&&(j="",B=`calc(50% - ${N/2}px)`,i=-N/2);break;case L.TOOLTIP:H=t.tooltipWidth;break}E!=null&&(H=E),H=Math.min(H,Q-2*Yt),m.classList.toggle("userflowjs-flow-chrome--position-absolute",c==="absolute"),m.classList.toggle("userflowjs-flow-chrome--position-relative",c==="relative"),m.classList.toggle("userflowjs-flow-chrome--position-fixed",c==="fixed"),m.classList.toggle("userflowjs-flow-chrome--appearance-modal",e===L.MODAL);const $=e!=null&&e!==L.HIDDEN;m.style.position="",m.style.top="",m.style.left="",m.style.visibility=$?"":"hidden",m.style.animation=$?"":"none",b(T,"width",ct(H)),b(T,"padding-top",J),b(T,"padding-bottom",tt),d.className=C,b(y,"width",ct(t.avatarSize)),b(y,"height",ct(t.avatarSize)),y.style.visibility=j,b(y,"top",i),b(y,"right",S),b(y,"bottom",M),b(y,"left",B),R.className=P,R.style.visibility=x,b(R,"top",r),b(R,"right",u),b(R,"bottom",et),b(R,"left",F),D.className=U}function Ye({layoutState:e,animateIn:t,position:o,absoluteWidth:w,absoluteHeight:E,desiredTooltipPlacement:c,root:l,bubble:m,tooltipNotch:T,tooltipBackdrop:d,tooltipBlockTop:y,tooltipBlockRight:R,tooltipBlockBottom:D,tooltipBlockLeft:A,dir:Q}){const{appearance:N,theme:v,tooltipTargetParams:H,backdrop:J,backdropPadding:tt}=e,{bubblePlacement:C}=v,j=Yt,i=v.tooltipNotchSize,S=10,{width:M,height:B}=m.getBoundingClientRect(),P=o==="absolute"?w||1024:ct(Ct()),x=o==="absolute"?E||768:ct(Xt());let r=0,u=0,et="userflowjs-bubble__tooltip-notch",F="hidden",U=null,$=null,ot=null,nt=null,dt="userflowjs-tooltip-backdrop",K=null,jt=null,Pt=null,it=null,bt=null,at=null,lt=null,X=null,Ot="userflowjs-tooltip-block userflowjs-tooltip-block--top",gt=null,wt=null,Tt="userflowjs-tooltip-block userflowjs-tooltip-block--right",Et=null,yt=null,Lt="userflowjs-tooltip-block userflowjs-tooltip-block--bottom",vt=null,Bt=null,mt="userflowjs-tooltip-block userflowjs-tooltip-block--left",Nt=null,xt=null;switch(N){case L.BUBBLE:{C===O.TOP_LEFT||C===O.BOTTOM_LEFT?r=v.bubbleX:C===O.TOP_CENTER||C===O.CENTER||C===O.BOTTOM_CENTER?r=(P-M)/2:r=P-M-v.bubbleX,C===O.TOP_LEFT||C===O.TOP_CENTER||C===O.TOP_RIGHT?u=v.bubbleY:C===O.CENTER?u=(x-B)/2:u=x-B-v.bubbleY,Q==="rtl"&&(r=P-r-M),r=Math.max(0,Math.min(P-M,r)),u=Math.max(0,Math.min(x-B,u));break}case L.MODAL:{let g=j;v.avatarType!==ft.NONE&&(g+=v.avatarSize/2),r=j+(P-j*2-M)/2,u=g+(x-g-j-B)/2;break}case L.TOOLTIP:{let g;if(H){let{targetRect:n,viewportClipRect:V}=H;if(o==="absolute"){const _=l.offsetParent.getBoundingClientRect();V={top:0,right:P,bottom:x,left:0},n={top:n.top-_.top,right:n.right-_.left,bottom:n.bottom-_.top,left:n.left-_.left,width:n.width,height:n.height}}let st=0;if(J){const{paddingTop:_,paddingRight:Z,paddingBottom:pt,paddingLeft:z}=Je(tt);n={top:n.top-_,right:n.right+Z,bottom:n.bottom+pt,left:n.left-z,width:n.width+z+Z,height:n.height+_+pt},st=Math.min(_,Z,pt,z)}const k=n,Y=v.backdropHighlightType==je.OUTSIDE?v.backdropHighlightSpread:0;if(J&&Y&&(n={top:n.top-Y,right:n.right+Y,bottom:n.bottom+Y,left:n.left-Y,width:n.width+2*Y,height:n.height+2*Y}),g=Ze({targetRect:n,bubbleWidth:M,bubbleHeight:B,containerWidth:P,containerHeight:x,viewportClipRect:V,tooltipNotchSize:i,currentTooltipPlacement:e.tooltipPlacement,desiredTooltipPlacement:c}),g===f.BELOW||g===f.ABOVE?(r=n.left+n.width/2-M/2,r=Math.max(j,Math.min(P-M-j,r)),nt=Math.max(S,Math.min(M-S-i*2,n.left+n.width/2-i-r)),g===f.BELOW?U=-i*2:ot=-i*2):g===f.RIGHT?(r=n.right+i,r=Math.max(r,V.left+i),r=Math.min(r,V.right+i),r=Math.max(r,i),r=Math.min(r,P-M)):(r=n.left-i-M,r=Math.max(r,V.left-M-i),r=Math.min(r,V.right-M-i),r=Math.max(r,0),r=Math.min(r,P-M-i)),g===f.LEFT||g===f.RIGHT?(u=n.top+n.height/2-B/2,u=Math.max(j,Math.min(x-B-j,u)),U=Math.max(S,Math.min(B-S-i*2,n.top+n.height/2-i-u)),g===f.LEFT?$=-i*2:nt=-i*2):g===f.BELOW?(u=n.bottom+i,u=Math.max(u,V.top+i),u=Math.min(u,V.bottom+i),u=Math.max(u,i),u=Math.min(u,x-B)):(u=n.top-i-B,u=Math.max(u,V.top-B-i),u=Math.min(u,V.bottom-B-i),u=Math.max(u,0),u=Math.min(u,x-B-i)),J){const _=window.getComputedStyle(H.targetEl);K=Math.max(0,k.top),jt=Math.max(0,P-k.right),Pt=Math.max(0,x-k.bottom),it=Math.max(0,k.left),bt=Math.max(0,Ft(_.borderTopLeftRadius)+st),at=Math.max(0,Ft(_.borderTopRightRadius)+st),lt=Math.max(0,Ft(_.borderBottomRightRadius)+st),X=Math.max(0,Ft(_.borderBottomLeftRadius)+st),gt=Math.max(0,k.right),wt=Math.max(0,k.top),Et=Math.max(0,k.right),yt=Math.max(0,k.bottom),vt=Math.max(0,k.left),Bt=Math.max(0,k.bottom),Nt=Math.max(0,k.left),xt=Math.max(0,k.top)}}else g=c||f.BELOW,(g===f.BELOW||g===f.ABOVE)&&(nt=M/2-i,g===f.BELOW?U=-i*2:ot=-i*2),(g===f.LEFT||g===f.RIGHT)&&(U=B/2-i,g===f.LEFT?$=-i*2:nt=-i*2);e.tooltipPlacement=g,et+=` userflowjs-bubble__tooltip-notch--${g.toLowerCase()}`,F="",J&&(dt+=" userflowjs-tooltip-backdrop--visible",Ot+=" userflowjs-tooltip-block--visible",Tt+=" userflowjs-tooltip-block--visible",Lt+=" userflowjs-tooltip-block--visible",mt+=" userflowjs-tooltip-block--visible");break}}m.style.transition="";let St=r,Ut=u;if(t&&(m.style.opacity="0",N===L.TOOLTIP))switch(e.tooltipPlacement){case f.BELOW:u+=24;break;case f.ABOVE:u-=24;break;case f.RIGHT:r+=24;break;case f.LEFT:r-=24;break}if(o!=="relative"&&fe(m,r,u),T.className=et,T.style.visibility=F,b(T,"top",U),b(T,"right",$),b(T,"bottom",ot),b(T,"left",nt),d.className=dt,b(d,"top",K),b(d,"right",jt),b(d,"bottom",Pt),b(d,"left",it),b(d,"border-top-left-radius",bt),b(d,"border-top-right-radius",at),b(d,"border-bottom-right-radius",lt),b(d,"border-bottom-left-radius",X),y.className=Ot,b(y,"width",gt),b(y,"height",wt),R.className=Tt,b(R,"left",Et),b(R,"height",yt),D.className=Lt,b(D,"left",vt),b(D,"top",Bt),A.className=mt,b(A,"width",Nt),b(A,"top",xt),t){m.offsetWidth;const g="opacity 250ms linear";N===L.TOOLTIP?m.style.transition=`${g}, transform 500ms cubic-bezier(0.25, 0.8, 0.5, 1)`:m.style.transition=g,m.style.opacity="1",o!=="relative"&&fe(m,St,Ut)}}function Ze({targetRect:e,bubbleWidth:t,bubbleHeight:o,containerWidth:w,containerHeight:E,viewportClipRect:c,tooltipNotchSize:l,currentTooltipPlacement:m,desiredTooltipPlacement:T}){if(e.bottom<=c.top)return o+l<=E-c.top?f.BELOW:f.ABOVE;if(e.top>=c.bottom)return o+l<=c.bottom?f.ABOVE:f.BELOW;if(e.right<=c.left)return t+l<=w-c.left?f.RIGHT:f.LEFT;if(e.left>=c.right)return t+l<=c.right?f.LEFT:f.RIGHT;const d=R=>{const D=e.left+e.width/2,A=D>=c.left&&D<=c.right,Q=e.top+e.height/2,N=Q>=c.top&&Q<=c.bottom;switch(R){case f.BELOW:return E-e.bottom>o+l&&A;case f.ABOVE:return e.top>o+l&&A;case f.RIGHT:return w-e.right>t+l&&N;case f.LEFT:return e.left>t+l&&N}};if(T&&d(T))return T;if(m&&d(m))return m;const y=[{placement:f.BELOW,dist:e.top},{placement:f.ABOVE,dist:E-e.bottom},{placement:f.RIGHT,dist:e.left},{placement:f.LEFT,dist:w-e.right}];y.sort((R,D)=>R.dist-D.dist);for(const{placement:R}of y)if(d(R))return R;return f.BELOW}function b(e,t,o){o==null?e.style.removeProperty(t):e.style.setProperty(t,typeof o=="number"?o+"px":o,"important")}function fe(e,t,o){t=Math.round(t),o=Math.round(o),e.style.transform=`translate3d(${t}px, ${o}px, 0px)`}function qe(e){if(G.customScrollIntoView){G.customScrollIntoView(e);return}const{scrollPadding:t}=G;if(t&&Ce(e)===document.scrollingElement){const o=t.top||0,w=t.right||0,E=t.bottom||0,c=t.left||0;let l=0,m=0;const T=e.getBoundingClientRect(),d=Ct(),y=Xt();if(T.top<o?l=T.top-o:T.bottom>y-E&&(l=T.bottom-y+E),T.left<c?m=T.left-c:T.right>d-w&&(m=T.right-d+w),l!=0||m!=0){window.scrollBy({top:l,left:m,behavior:"smooth"});return}}try{e.scrollIntoView({behavior:"smooth",block:"nearest"})}catch(o){console.warn("Userflow.js: scrollIntoView error (falling back to no options).",o),e.scrollIntoView()}}function Je(e){if(!e||e==="0")return{paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0};const t=e.trim().split(" ");if(t.length===1){const o=ut(t[0]);return{paddingTop:o,paddingRight:o,paddingBottom:o,paddingLeft:o}}else if(t.length===2){const o=ut(t[0]),w=ut(t[1]);return{paddingTop:o,paddingRight:w,paddingBottom:o,paddingLeft:w}}else return{paddingTop:ut(t[0]),paddingRight:ut(t[1]),paddingBottom:ut(t[2]),paddingLeft:ut(t[3])}}function ut(e){const t=parseInt(e,10);return isNaN(t)?0:t}export{bo as B,mo as F};
3
3
  //# sourceMappingURL=FlowChrome.js.map
package/LauncherApp.js CHANGED
@@ -1,2 +1,2 @@
1
- import{R as i,r as u}from"./vendor.react.js";import{a0 as L,a1 as l,a2 as a,r as te,a3 as re,a4 as p,a5 as K,a6 as N}from"./userflow.js";import{u as ne,r as oe}from"./use-selector-element-monitoring.js";import{m as ae,d as ce,S as se,R as le,h as ie}from"./TreeDoc.js";import{u as ue,i as de}from"./client-context.js";import{o as U}from"./vendor.obj-str.js";import{u as fe,b as he,g as Ee,D as me,a as Te}from"./stylesheets.js";import{w as pe,f as be,L as ge,S as Ce}from"./flow-host.styl.js";import"./vendor.core-js.js";import{F as Re,B as Le}from"./FlowChrome.js";import{g as we}from"./flow-condition-types.js";import{T as Ae}from"./Trigger.js";import{r as V}from"./roots.js";import"./vendor.object-assign.js";import"./vendor.phoenix.js";import"./vendor.uuid.js";import"./vendor.fortawesome.pro-solid-svg-icons.js";import"./vendor.react-i18next.js";import"./vendor.babel.runtime.js";import"./vendor.i18next.js";import"./vendor.fortawesome.pro-regular-svg-icons.js";import"./Frame.js";import"./vendor.react-dom.js";import"./vendor.scheduler.js";import"./iframe-reset.styl.js";import"./use-window-resize.js";import"./logomark.js";import"./use-confetti.js";import"./vendor.canvas-confetti.js";import"./vendor.date-fns.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},c=new Error().stack;c&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[c]="51abd956-c57b-4a7b-b31c-29409ca9f4d5",t._sentryDebugIdIdentifier="sentry-dbid-51abd956-c57b-4a7b-b31c-29409ca9f4d5")}catch{}})();const ve=i.forwardRef(({appearance:t,icon:c,buttonText:d,theme:m,noAnimation:E,noFixed:w,onClick:e,onMouseEnter:s,onMouseLeave:o,noPointerEvents:n,zIndex:T},r)=>{const{loaded:C}=fe(window,be,m),k=m&&t===L.BUTTON?m:null,{loaded:H}=he(window,k),I={"userflowjs-launcher":!0,"userflowjs-launcher--activate-on-click":!!e,"userflowjs-fixed-widget":!w},f={ref:r,style:{...Ee(m),zIndex:T||pe(ge),pointerEvents:n?"none":void 0},onClick:e,onMouseEnter:s,onMouseLeave:o};if(!C||!H)return null;switch(t){case L.BEACON:return i.createElement("div",{className:U({...I,"userflowjs-beacon":!0,"userflowjs-beacon--pulse":!E,"userflowjs-beacon--pulse-still":!!E}),...f},i.createElement("div",{className:"userflowjs-beacon__ring"}),i.createElement("div",{className:"userflowjs-beacon__ring"}));case L.BUTTON:return i.createElement("div",{className:U({...I,"userflowjs-launcher--button":!0}),...f},d);case L.HIDDEN:return null;case L.ICON:return i.createElement("div",{className:U({...I,"userflowjs-launcher--icon":!0}),...f},i.createElement(me,{icon:c||"solid/info-circle",size:m.launcherIconSize}))}}),Ie="userflowjs-fixed-widget--visible",ct=({session:t,active:c})=>{const d=ue(),{version:m}=t,E=t.id,w=t.flow.id,e=t.version.launcher,[s,o]=u.useState(null),n=Te(m.theme),T=t.locale?t.locale.standardLocaleId:n.languageId;u.useEffect(()=>{de.changeLanguage(T)},[T]);const{activateOn:r}=e,C=e.activeWhileTooltipHover||e.buttons.length>0,k=e.hiddenWhileActive&&r!==l.LAUNCHER_HOVER,H=!c||!k,I=r===l.LAUNCHER_CLICK||r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK||C,f=u.useRef({}),A=u.useCallback(()=>{let h=null;const{targetEl:b,clipEl:g,viewportClipRect:F}=f.current,S=s;S&&(b&&g&&F&&(h=ke({targetEl:b,subjectEl:S,clipEl:g,viewportClipRect:F,position:e.targetPosition,subjectAnchor:e.appearance===L.BEACON?"center":"side"})),oe(()=>{Oe(S,h)}));let M;e.appearance===L.HIDDEN?M=!!b:M=!!h,M&&!f.current.seenTriggered&&!E&&(f.current.seenTriggered=!0,d.launcherSeen(w))},[s,e,d,E,w]);u.useLayoutEffect(()=>{A()},[A]);const _=u.useRef(!1),y=u.useRef(!1),P=u.useRef(!1),x=u.useRef(),W=()=>{_.current=!0,v()},z=()=>{_.current=!1,v()},Z=()=>{y.current=!0,v()},$=()=>{y.current=!1,v()},X=()=>{P.current=!0,v()},q=()=>{P.current=!1,v()},v=()=>{O();const h=250;x.current=window.setTimeout(()=>B.current(),h)},O=u.useCallback(()=>{window.clearTimeout(x.current)},[]),G=()=>{if(r===l.LAUNCHER_CLICK||r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK)return;const h=r===l.LAUNCHER_HOVER||r===l.LAUNCHER_TARGET_HOVER,b=r===l.TARGET_HOVER||r===l.LAUNCHER_TARGET_HOVER;_.current&&(!k||!c)&&h||y.current&&b||P.current&&C?D():R()},B=u.useRef(G);B.current=G;const D=()=>{c||(O(),e.tooltipEnabled?d.activateLauncher(t):(d.activateLauncher(t),d.deactivateLauncher(t)),ie(d,t,e.actions))},R=u.useCallback(()=>{c&&(O(),d.deactivateLauncher(t))},[c,d,t,O]),j=()=>{c?R():D()},J=u.useCallback(({targetEl:h,clipEl:b,viewportClipRect:g})=>{f.current.targetEl=h,f.current.clipEl=b,f.current.viewportClipRect=g,A()},[A]),Q=u.useCallback(()=>{f.current.targetEl=void 0,f.current.clipEl=void 0,A(),R()},[A,R]);ne({selector:e.targetSelector,targetMoved:J,targetLost:Q,onTargetMouseEnter:Z,onTargetMouseLeave:$,onTargetClick:r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK?j:void 0}),u.useEffect(()=>{if(!c)return;const h=b=>{const g=b.target;s&&s.contains(g)||(r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK)&&f.current.targetEl&&f.current.targetEl.contains(g)||R()};return window.addEventListener("click",h,{capture:!0}),()=>window.removeEventListener("click",h,{capture:!0})},[c,r,s,R]);const Y=Ne(e.tooltipPosition.side===a.AUTO?e.targetPosition:e.tooltipPosition),ee=u.useMemo(()=>e.content&&ae(ce(e.content),{buttons:e.buttons}),[e.content,e.buttons]);return i.createElement(se.Provider,{value:t},H&&i.createElement(ve,{ref:o,appearance:e.appearance,icon:e.icon,buttonText:e.buttonText,theme:n,onClick:r===l.LAUNCHER_CLICK||r===l.LAUNCHER_TARGET_CLICK?j:void 0,onMouseEnter:W,onMouseLeave:z,noPointerEvents:r===l.TARGET_HOVER,zIndex:e.zIndex}),c&&i.createElement(Ce,null,i.createElement(Re,{company:t.flow.company,theme:n,position:"fixed",stepAppearance:te.TOOLTIP,width:e.tooltipWidth,tooltipSelector:e.tooltipAnchor===re.TARGET?f.current.targetEl:s,tooltipPlacement:Y,frameWrapperHtmlAttributes:{onMouseEnter:X,onMouseLeave:q},rootChildren:()=>i.createElement(i.Fragment,null,e.triggers.map(h=>i.createElement(Ae,{key:h.id,trigger:h})))},i.createElement(Le,{draftMode:t.draftMode,close:I?R:void 0}),i.createElement("div",{className:"userflowjs-bubble-content"},i.createElement(le,{doc:ee,lookupAttribute:we(t.data),buttons:e.buttons})))))};function ke({targetEl:t,subjectEl:c,clipEl:d,viewportClipRect:m,position:E,subjectAnchor:w}){const e=V(t);if(e.width===0||e.height===0)return null;const s=c.getBoundingClientRect();let o=0,n=0,{side:T,align:r}=E;switch(T===a.AUTO&&(T=a.TOP,r=p.END),T){case a.TOP:n=e.top;break;case a.BOTTOM:n=e.bottom;break;case a.LEFT:o=e.left;break;case a.RIGHT:o=e.right;break}switch(T){case a.TOP:case a.BOTTOM:switch(r){case p.START:o=e.left;break;case p.CENTER:o=e.left+e.width/2;break;case p.END:o=e.right;break}break;case a.LEFT:case a.RIGHT:switch(r){case p.START:n=e.top;break;case p.CENTER:n=e.top+e.height/2;break;case p.END:n=e.bottom;break}break}switch(E.xUnit===K.PERCENT?o+=E.xOffset/100*e.width:o+=E.xOffset,E.yUnit===K.PERCENT?n+=E.yOffset/100*e.height:n+=E.yOffset,w){case"center":o-=s.width/2,n-=s.height/2;break;case"side":switch(T){case a.TOP:n-=s.height;break;case a.LEFT:o-=s.width;break}switch(T){case a.TOP:case a.BOTTOM:switch(r){case p.CENTER:o-=s.width/2;break;case p.END:o-=s.width;break}break;case a.LEFT:case a.RIGHT:switch(r){case p.CENTER:n-=s.height/2;break;case p.END:n-=s.height;break}break}}if(o+s.width<m.left||o>m.right||n+s.height<m.top||n>m.bottom)return null;const C=V(d);return o=Math.max(o,C.left-d.scrollLeft),n=Math.max(n,C.top-d.scrollTop),o=Math.round(o),n=Math.round(n),{left:o,top:n}}function Oe(t,c){t.classList.toggle(Ie,c!=null),c&&(t.style.transform=`translate3d(${c.left}px, ${c.top}px, 0)`)}function Ne(t){switch(t.side){case a.AUTO:return null;case a.TOP:return N.ABOVE;case a.BOTTOM:return N.BELOW;case a.LEFT:return N.LEFT;case a.RIGHT:return N.RIGHT}}export{ct as LauncherApp,ct as default};
1
+ import{R as i,r as u}from"./vendor.react.js";import{a1 as L,a2 as l,a3 as a,r as te,a4 as re,a5 as p,a6 as K,a7 as N}from"./userflow.js";import{u as ne,r as oe}from"./use-selector-element-monitoring.js";import{m as ae,d as ce,S as se,R as le,h as ie}from"./TreeDoc.js";import{u as ue,i as fe}from"./client-context.js";import{o as U}from"./vendor.obj-str.js";import{u as de,b as he,g as Ee,D as me,a as Te}from"./stylesheets.js";import{w as pe,f as ge,L as be,S as Ce}from"./flow-host.styl.js";import"./vendor.core-js.js";import{F as Re,B as Le}from"./FlowChrome.js";import{g as we}from"./flow-condition-types.js";import{T as Ae}from"./Trigger.js";import{r as V}from"./roots.js";import"./vendor.object-assign.js";import"./vendor.phoenix.js";import"./vendor.uuid.js";import"./vendor.fortawesome.pro-solid-svg-icons.js";import"./vendor.react-i18next.js";import"./vendor.babel.runtime.js";import"./vendor.i18next.js";import"./vendor.fortawesome.pro-regular-svg-icons.js";import"./Frame.js";import"./vendor.react-dom.js";import"./vendor.scheduler.js";import"./iframe-reset.styl.js";import"./use-window-resize.js";import"./logomark.js";import"./use-confetti.js";import"./vendor.canvas-confetti.js";import"./vendor.date-fns.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},c=new Error().stack;c&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[c]="b58cc091-641c-49fd-a705-30f663744611",t._sentryDebugIdIdentifier="sentry-dbid-b58cc091-641c-49fd-a705-30f663744611")}catch{}})();const ve=i.forwardRef(({appearance:t,icon:c,buttonText:f,theme:m,noAnimation:E,noFixed:w,onClick:e,onMouseEnter:s,onMouseLeave:o,noPointerEvents:n,zIndex:T},r)=>{const{loaded:C}=de(window,ge,m),k=m&&t===L.BUTTON?m:null,{loaded:H}=he(window,k),I={"userflowjs-launcher":!0,"userflowjs-launcher--activate-on-click":!!e,"userflowjs-fixed-widget":!w},d={ref:r,style:{...Ee(m),zIndex:T||pe(be),pointerEvents:n?"none":void 0},onClick:e,onMouseEnter:s,onMouseLeave:o};if(!C||!H)return null;switch(t){case L.BEACON:return i.createElement("div",{className:U({...I,"userflowjs-beacon":!0,"userflowjs-beacon--pulse":!E,"userflowjs-beacon--pulse-still":!!E}),...d},i.createElement("div",{className:"userflowjs-beacon__ring"}),i.createElement("div",{className:"userflowjs-beacon__ring"}));case L.BUTTON:return i.createElement("div",{className:U({...I,"userflowjs-launcher--button":!0}),...d},f);case L.HIDDEN:return null;case L.ICON:return i.createElement("div",{className:U({...I,"userflowjs-launcher--icon":!0}),...d},i.createElement(me,{icon:c||"solid/info-circle",size:m.launcherIconSize}))}}),Ie="userflowjs-fixed-widget--visible",ct=({session:t,active:c})=>{const f=ue(),{version:m}=t,E=t.id,w=t.flow.id,e=t.version.launcher,[s,o]=u.useState(null),n=Te(m.theme),T=t.locale?t.locale.standardLocaleId:n.languageId;u.useEffect(()=>{fe.changeLanguage(T)},[T]);const{activateOn:r}=e,C=e.activeWhileTooltipHover||e.buttons.length>0,k=e.hiddenWhileActive&&r!==l.LAUNCHER_HOVER,H=!c||!k,I=r===l.LAUNCHER_CLICK||r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK||C,d=u.useRef({}),A=u.useCallback(()=>{let h=null;const{targetEl:g,clipEl:b,viewportClipRect:F}=d.current,S=s;S&&(g&&b&&F&&(h=ke({targetEl:g,subjectEl:S,clipEl:b,viewportClipRect:F,position:e.targetPosition,subjectAnchor:e.appearance===L.BEACON?"center":"side"})),oe(()=>{Oe(S,h)}));let M;e.appearance===L.HIDDEN?M=!!g:M=!!h,M&&!d.current.seenTriggered&&!E&&(d.current.seenTriggered=!0,f.launcherSeen(w))},[s,e,f,E,w]);u.useLayoutEffect(()=>{A()},[A]);const _=u.useRef(!1),y=u.useRef(!1),P=u.useRef(!1),x=u.useRef(),W=()=>{_.current=!0,v()},z=()=>{_.current=!1,v()},Z=()=>{y.current=!0,v()},$=()=>{y.current=!1,v()},X=()=>{P.current=!0,v()},q=()=>{P.current=!1,v()},v=()=>{O();const h=250;x.current=window.setTimeout(()=>B.current(),h)},O=u.useCallback(()=>{window.clearTimeout(x.current)},[]),G=()=>{if(r===l.LAUNCHER_CLICK||r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK)return;const h=r===l.LAUNCHER_HOVER||r===l.LAUNCHER_TARGET_HOVER,g=r===l.TARGET_HOVER||r===l.LAUNCHER_TARGET_HOVER;_.current&&(!k||!c)&&h||y.current&&g||P.current&&C?D():R()},B=u.useRef(G);B.current=G;const D=()=>{c||(O(),e.tooltipEnabled?f.activateLauncher(t):(f.activateLauncher(t),f.deactivateLauncher(t)),ie(f,t,e.actions))},R=u.useCallback(()=>{c&&(O(),f.deactivateLauncher(t))},[c,f,t,O]),j=()=>{c?R():D()},J=u.useCallback(({targetEl:h,clipEl:g,viewportClipRect:b})=>{d.current.targetEl=h,d.current.clipEl=g,d.current.viewportClipRect=b,A()},[A]),Q=u.useCallback(()=>{d.current.targetEl=void 0,d.current.clipEl=void 0,A(),R()},[A,R]);ne({selector:e.targetSelector,targetMoved:J,targetLost:Q,onTargetMouseEnter:Z,onTargetMouseLeave:$,onTargetClick:r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK?j:void 0}),u.useEffect(()=>{if(!c)return;const h=g=>{const b=g.target;s&&s.contains(b)||(r===l.TARGET_CLICK||r===l.LAUNCHER_TARGET_CLICK)&&d.current.targetEl&&d.current.targetEl.contains(b)||R()};return window.addEventListener("click",h,{capture:!0}),()=>window.removeEventListener("click",h,{capture:!0})},[c,r,s,R]);const Y=Ne(e.tooltipPosition.side===a.AUTO?e.targetPosition:e.tooltipPosition),ee=u.useMemo(()=>e.content&&ae(ce(e.content),{buttons:e.buttons}),[e.content,e.buttons]);return i.createElement(se.Provider,{value:t},H&&i.createElement(ve,{ref:o,appearance:e.appearance,icon:e.icon,buttonText:e.buttonText,theme:n,onClick:r===l.LAUNCHER_CLICK||r===l.LAUNCHER_TARGET_CLICK?j:void 0,onMouseEnter:W,onMouseLeave:z,noPointerEvents:r===l.TARGET_HOVER,zIndex:e.zIndex}),c&&i.createElement(Ce,null,i.createElement(Re,{company:t.flow.company,theme:n,position:"fixed",stepAppearance:te.TOOLTIP,width:e.tooltipWidth,tooltipSelector:e.tooltipAnchor===re.TARGET?d.current.targetEl:s,tooltipPlacement:Y,frameWrapperHtmlAttributes:{onMouseEnter:X,onMouseLeave:q},rootChildren:()=>i.createElement(i.Fragment,null,e.triggers.map(h=>i.createElement(Ae,{key:h.id,trigger:h})))},i.createElement(Le,{draftMode:t.draftMode,close:I?R:void 0}),i.createElement("div",{className:"userflowjs-bubble-content"},i.createElement(le,{doc:ee,lookupAttribute:we(t.data),buttons:e.buttons})))))};function ke({targetEl:t,subjectEl:c,clipEl:f,viewportClipRect:m,position:E,subjectAnchor:w}){const e=V(t);if(e.width===0||e.height===0)return null;const s=c.getBoundingClientRect();let o=0,n=0,{side:T,align:r}=E;switch(T===a.AUTO&&(T=a.TOP,r=p.END),T){case a.TOP:n=e.top;break;case a.BOTTOM:n=e.bottom;break;case a.LEFT:o=e.left;break;case a.RIGHT:o=e.right;break}switch(T){case a.TOP:case a.BOTTOM:switch(r){case p.START:o=e.left;break;case p.CENTER:o=e.left+e.width/2;break;case p.END:o=e.right;break}break;case a.LEFT:case a.RIGHT:switch(r){case p.START:n=e.top;break;case p.CENTER:n=e.top+e.height/2;break;case p.END:n=e.bottom;break}break}switch(E.xUnit===K.PERCENT?o+=E.xOffset/100*e.width:o+=E.xOffset,E.yUnit===K.PERCENT?n+=E.yOffset/100*e.height:n+=E.yOffset,w){case"center":o-=s.width/2,n-=s.height/2;break;case"side":switch(T){case a.TOP:n-=s.height;break;case a.LEFT:o-=s.width;break}switch(T){case a.TOP:case a.BOTTOM:switch(r){case p.CENTER:o-=s.width/2;break;case p.END:o-=s.width;break}break;case a.LEFT:case a.RIGHT:switch(r){case p.CENTER:n-=s.height/2;break;case p.END:n-=s.height;break}break}}if(o+s.width<m.left||o>m.right||n+s.height<m.top||n>m.bottom)return null;const C=V(f);return o=Math.max(o,C.left-f.scrollLeft),n=Math.max(n,C.top-f.scrollTop),o=Math.round(o),n=Math.round(n),{left:o,top:n}}function Oe(t,c){t.classList.toggle(Ie,c!=null),c&&(t.style.transform=`translate3d(${c.left}px, ${c.top}px, 0)`)}function Ne(t){switch(t.side){case a.AUTO:return null;case a.TOP:return N.ABOVE;case a.BOTTOM:return N.BELOW;case a.LEFT:return N.LEFT;case a.RIGHT:return N.RIGHT}}export{ct as LauncherApp,ct as default};
2
2
  //# sourceMappingURL=LauncherApp.js.map
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["ResourceCenterAssistantChat.js","vendor.react.js","vendor.core-js.js","vendor.object-assign.js","userflow.js","vendor.phoenix.js","vendor.uuid.js","client-context.js","vendor.i18next.js","vendor.babel.runtime.js","vendor.react-i18next.js","vendor.fortawesome.pro-regular-svg-icons.js","vendor.dompurify.js","vendor.marked.js","vendor.obj-str.js","TreeDoc.js","flow-condition-types.js","vendor.date-fns.js","roots.js","stylesheets.js","vendor.fortawesome.pro-solid-svg-icons.js","vendor.react-dom.js","vendor.scheduler.js","AnnouncementEngagement.js","use-confetti.js","vendor.canvas-confetti.js","flow-host.styl.js","use-selector-element-monitoring.js","Frame.js","iframe-reset.styl.js","use-window-resize.js","logomark.js","ChecklistUI.js","FlowChrome.js","vendor.memoize-one.js","vendor.bignumber.js.js","use-element-rect.js"])))=>i.map(i=>d[i]);
2
- import{G as k,I as W,J as Fe,k as Se,H as ce,C as yn,K as B,L as gt,N as Ct,E as An,r as In,O as Tn,Q as Rn,a as kt,X as St,Y as _n,Z as Nt,_ as Ln}from"./userflow.js";import{r as l,R as e}from"./vendor.react.js";import{u as x,i as Ne}from"./client-context.js";import{f as jt,a as xn,w as yt,C as Bn,N as Mn}from"./flow-host.styl.js";import{S as ae,s as je,c as le,R as H,h as Dn,n as Fn,u as zt}from"./TreeDoc.js";import{g as L}from"./flow-condition-types.js";import{D as y,a as ne,u as At,g as Pe}from"./stylesheets.js";import{b as Je}from"./use-selector-element-monitoring.js";import{F as Ye}from"./Frame.js";import{o as F}from"./vendor.obj-str.js";import{M as Oe,e as It,h as Tt}from"./roots.js";import{u as Pn}from"./use-window-resize.js";import{S as On}from"./logomark.js";import"./vendor.core-js.js";import{f as Un,C as Wn}from"./ChecklistUI.js";import{L as Hn,D as et,b as $n,M as zn,N as Vn,K as Vt,O as te,B as Kn,P as Qn,Q as qn,R as Zn}from"./vendor.fortawesome.pro-regular-svg-icons.js";import{F as Gn,B as Xn}from"./FlowChrome.js";import{a as ie,S as P,b as Kt,A as Jn,u as tt}from"./AnnouncementEngagement.js";import{m as Rt}from"./vendor.memoize-one.js";import{B as Qt}from"./vendor.bignumber.js.js";import{u as Yn}from"./use-element-rect.js";import{u as re}from"./vendor.react-i18next.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},n=new Error().stack;n&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[n]="5201c60e-ae33-4626-927e-efb5d8fda396",t._sentryDebugIdIdentifier="sentry-dbid-5201c60e-ae33-4626-927e-efb5d8fda396")}catch{}})();function er(t,n,r){return!t.resourceCenterAutoDividers||n===k.DIVIDER||r===k.DIVIDER?!1:_t(n)||_t(r)}function _t(t){return t!==k.ACTION&&t!==k.ANNOUNCEMENTS&&t!==k.ASSISTANT&&t!==k.CONTACT&&t!==k.FLOWS&&t!==k.KNOWLEDGE_BASE&&t!==k.SUBPAGE}const f=window,Ue={[W.CRISP]:{configure:({onShow:t,onHide:n})=>{tr();let r=!1,s=!1;const o=()=>{r||s?(f.$crisp.push(["do","chat:show"]),t()):(f.$crisp.push(["do","chat:hide"]),n())},c=()=>{r=!0,o()};f.$crisp.push(["on","chat:opened",c]);const a=()=>{r=!1,o()};f.$crisp.push(["on","chat:closed",a]);const i=()=>{s=!0,o()};f.$crisp.push(["on","message:received",i]);const w=()=>{const h=document.getElementById("crisp-chatbox");if(!h||window.getComputedStyle(h).display!=="block")return!1;const p=h.querySelector('[data-id="new_messages"]');return!(!p||window.getComputedStyle(p).display!=="block")},m=()=>{const h=w();h!==s&&(s=h,o())},u=window.setInterval(m,200);return()=>{f.$crisp.push(["off","chat:opened",c]),f.$crisp.push(["off","chat:closed",a]),f.$crisp.push(["off","message:received",i]),window.clearInterval(u)}},show:()=>{f.$crisp.push(["do","chat:show"]),f.$crisp.push(["do","chat:open"])},hide:()=>{f.$crisp.push(["do","chat:hide"]),f.$crisp.push(["do","chat:close"])}},[W.CUSTOM]:{configure:()=>()=>{},show:({block:t})=>{try{new Function(`"use strict";
3
- `+t.chatCode)()}catch(n){console.error(`Userflow.js: Showing custom chat provider failed. Code: ${t.chatCode}`,n)}},hide:()=>{}},[W.FRESHCHAT]:{configure:({onShow:t,onHide:n})=>{if(!f.fcWidget)throw new Error("Freshchat is not installed");let r=!1,s=!1;const o=()=>{r||s?t():n()},c=()=>{r=!0,o()};f.fcWidget.on("widget:opened",c);const a=()=>{r=!1,o()};f.fcWidget.on("widget:closed",a);const i=()=>{const m=!!document.querySelector("#fc_frame.h-open-notify");m!==s&&(s=m,o())},w=window.setInterval(i,200);return f.fcWidget.on("unreadCount:notify",i),()=>{f.fcWidget.off("widget:opened",c),f.fcWidget.off("widget:closed",a),f.fcWidget.off("unreadCount:notify",i),window.clearInterval(w)}},show:()=>{f.fcWidget.open()},hide:()=>{f.fcWidget.close()}},[W.HELPSCOUT]:{configure:({onShow:t,onHide:n})=>{if(!f.Beacon)throw new Error("Help Scout is not installed");nr();let r=!1,s=!1;const o=()=>{r||s?(Bt(),t()):(We(),n())},c=()=>{r=!0,o()};f.Beacon("on","open",c),f.Beacon("info")?.status.isOpened&&c();const a=()=>{r=!1,o()};f.Beacon("on","close",a);const i=()=>{const m=!!document.querySelector(".BeaconNotificationsFrame");m!==s&&(s=m,o())},w=window.setInterval(i,200);return()=>{f.Beacon("off","open",c),f.Beacon("off","close",a),window.clearInterval(w)}},show:()=>{Bt(),f.Beacon("open")},hide:()=>{We(),f.Beacon("close")}},[W.HUBSPOT]:{configure:({onShow:t,onHide:n})=>{const r=()=>{const c=document.getElementById("hubspot-messages-iframe-container");if(!f.HubSpotConversations||!c)return;window.clearInterval(o),rr();let a=!1,i=!1;const w=()=>{a||i?(He(),t()):($e(),n())},m=()=>{const p=!!document.querySelector("#hubspot-messages-iframe-container .hs-shadow-container.active");p!==a&&(a=p,w())},u=new Oe(m);u.observe(c,{attributes:!0,subtree:!0,attributeFilter:["class"]}),m();const h=({unreadCount:p})=>{const E=p>0;E!==i&&(i=E,w())};f.HubSpotConversations.on("unreadConversationCountChanged",h),s=()=>{u.disconnect(),f.HubSpotConversations.off("unreadConversationCountChanged",h)}};let s=()=>{window.clearInterval(o)};const o=window.setInterval(r,100);return r(),()=>{s()}},show:()=>{He(),f.HubSpotConversations.widget.open()},hide:()=>{$e(),f.HubSpotConversations.widget.close()}},[W.INTERCOM]:{configure:({onShow:t,onHide:n})=>{if(!f.Intercom)throw new Error("Intercom is not installed");return sr(),ze.add(t),Ve.add(n),()=>{ze.delete(t),Ve.delete(n)}},show:()=>{qt(),f.Intercom("show")},hide:()=>{Ke(),f.Intercom("hide")}},[W.ZENDESK]:{configure:({onShow:t,onHide:n})=>{if(!f.zE)throw new Error("Zendesk is not installed");or();let r=!1,s=!1;const o=()=>{r||s?(f.zE("webWidget","show"),t()):(f.zE("webWidget","hide"),n())},c=()=>{r=!0,s=!1,o()};Qe.add(c);const a=()=>{r=!1,s=!1,o()};qe.add(a);const i=w=>{const m=w>0;m!==s&&(s=m,o())};return Ze.add(i),()=>{Qe.delete(c),qe.delete(a),Ze.delete(i)}},show:()=>{f.zE("webWidget","show"),f.zE("webWidget","open")},hide:()=>{f.zE("webWidget","hide"),f.zE("webWidget","close")}},[W.ZENDESK_MESSENGER]:{configure:({onShow:t,onHide:n})=>{if(!f.zE)throw new Error("Zendesk is not installed");const r=()=>{t()},s=()=>{n()};return Ge.add(r),Xe.add(s),cr(),()=>{Ge.delete(r),Xe.delete(s)}},show:()=>{f.zE("messenger","open")},hide:()=>{f.zE("messenger","close")}}};let Lt=!1;function tr(){Lt||(Lt=!0,f.$crisp||(f.$crisp=[]),f.$crisp.push(["do","chat:hide"]))}let xt=!1;function nr(){xt||(xt=!0,We())}function Bt(){f.Beacon("config",{display:{style:"icon"}})}function We(){f.Beacon("config",{display:{style:"manual"}})}let Mt=!1,nt=!1;function rr(){Mt||(Mt=!0,nt?He():$e())}function He(){nt=!0,document.getElementById("hubspot-messages-iframe-container")?.style.setProperty("visibility","visible","important")}function $e(){nt=!1,document.getElementById("hubspot-messages-iframe-container")?.style.setProperty("visibility","hidden","important")}let Dt=!1,ze=new Set,Ve=new Set;function sr(){if(Dt)return;Dt=!0,Ke();let t=!1,n=!1;const r=()=>{qt();for(const a of ze)a()},s=()=>{Ke();for(const a of Ve)a()},o=()=>{t||n?r():s()};f.Intercom("onShow",()=>{t=!0,o()}),f.Intercom("onHide",()=>{t=!1,o()});const c=()=>{const a=!!document.querySelector('iframe[name="intercom-borderless-frame"], iframe[name="intercom-notifications-frame"]');n!==a&&(n=a,o())};f.Intercom("onUnreadCountChange",()=>{c()}),window.setInterval(c,200)}function qt(){f.Intercom("update",{hide_default_launcher:!1,vertical_padding:20})}function Ke(){f.Intercom("update",{hide_default_launcher:!0,vertical_padding:100})}let Ft=!1,Qe=new Set,qe=new Set,Ze=new Set;function or(){Ft||(Ft=!0,f.zE("webWidget","hide"),f.zE("webWidget","close"),f.zE("webWidget:on","open",()=>{for(const t of Qe)t()}),f.zE("webWidget:on","close",()=>{for(const t of qe)t()}),f.zE("webWidget:on","chat:unreadMessages",t=>{for(const n of Ze)n(t)}))}let Pt=!1,Ge=new Set,Xe=new Set;function cr(){Pt||(Pt=!0,f.zE("messenger:on","open",function(){for(const t of Ge)t()}),f.zE("messenger:on","close",function(){for(const t of Xe)t()}))}const ar=t=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100"},t),l.createElement("path",{fill:"currentColor",d:"M24.049 79.74h36.003c8.185 0 15.985-6.621 17.43-14.814l6.091-34.556h3.997c8.149 0 13.645 6.63 12.2 14.815l-7.051 40C91.274 93.363 83.474 100 75.288 100h-40c-8.185 0-13.645-6.667-12.2-14.815l.96-5.444Z"}),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.437 69.63h40c8.148 0 15.978-6.637 17.422-14.815l7.052-40C78.355 6.63 72.896 0 64.711 0h-40C16.533 0 8.726 6.63 7.281 14.815l-7.052 40C-1.215 62.963 4.252 69.63 12.437 69.63Zm33.628-33.798c3.756-2.064 8.725-4.795 9.907-11.844C57.385 15.458 50.065 8.983 42.168 9c-7.452 0-12.771 3.195-17.508 8.892-.858 1.034-.884 2.45-.053 3.212l3.472 3.196c.847.767 2.25.589 3.176-.406 2.842-3.068 4.869-4.83 8.51-4.83 2.864 0 6.077 1.934 5.59 4.847-.37 2.223-2.292 3.334-5.4 5.001l-.28.151c-3.582 1.92-8.134 4.362-9.124 10.247l-.16.956c-.055.28-.05.571.014.85.065.278.188.538.362.76.173.222.391.4.639.522.247.121.518.183.79.18h6.744a2.709 2.709 0 0 0 1.712-.688c.481-.426.81-1.01.934-1.657l.095-.556c.266-1.582 2.101-2.59 4.384-3.845ZM32.837 59c3.552 0 6.955-3.034 7.58-6.769.63-3.729-1.742-6.763-5.293-6.763-3.552 0-6.934 3.028-7.58 6.763C26.9 55.966 29.286 59 32.837 59Z"})),lr=200;function rt(t,n){const[r,s]=l.useState(t),o=l.useRef(void 0),c=l.useCallback(i=>{window.clearTimeout(o.current),s(i),n(i)},[n]),a=l.useCallback(i=>{window.clearTimeout(o.current),s(i),o.current=window.setTimeout(()=>{n(i)},lr)},[n]);return l.useEffect(()=>()=>{window.clearTimeout(o.current)},[]),[r,a,c]}const ir={xs:[16,3],sm:[24,4],md32:[32,4],md:[40,4],lg:[56,4]};class ur extends e.PureComponent{constructor(){super(...arguments),this.memoizedBgStyle=Rt(n=>({strokeWidth:`${n}px`})),this.memoizedFillStyle=Rt((n,r,s)=>({strokeWidth:`${n}px`,strokeDasharray:r*2*Math.PI*new Qt(s).toNumber()+"px, 1000"}))}render(){const{props:n}=this,{size:r,indeterminate:s,className:o,center:c,right:a,color:i}=this.props,w=["progress-spinner"];r&&w.push(`progress-spinner--${r}`),s&&w.push("progress-spinner--indeterminate"),o&&w.push(o);const m=s?.25:n.progress||0,[u,h]=ir[r||"md"],p=u/2,E=(u-h)/2;let S=e.createElement("div",{className:w.join(" ")},e.createElement("svg",{viewBox:`0 0 ${u} ${u}`,version:"1.1",xmlns:"http://www.w3.org/2000/svg"},e.createElement("circle",{className:"progress-spinner__bg",fill:"none",cx:p,cy:p,r:E,style:this.memoizedBgStyle(h)}),e.createElement("circle",{className:i==="purple"?"progress-spinner__fill-purple":"progress-spinner__fill",fill:"none",cx:p,cy:p,r:E,transform:`translate(${p}, ${p}) rotate(-90) translate(-${p}, -${p})`,style:this.memoizedFillStyle(h,E,m)})));return c?S=e.createElement("div",{className:"progress-spinner-center-aligner"},S):a&&(S=e.createElement("div",{className:"progress-spinner-right-aligner"},S)),S}}const dr=({textareaRef:t,value:n,onChange:r,onBlur:s,onKeyDown:o,onMouseDown:c,placeholder:a,maxLength:i,disabled:w,readOnly:m,className:u,mirrorClassName:h,textareaClassName:p,icon:E,onIconClick:S,loading:C=!1,children:v})=>{let j=n||a||"";(j===""||j.endsWith(`
4
- `))&&(j+=" "),u=u||"growing-textarea",h=h||u+"__mirror";const[R,N]=l.useState(!1);return e.createElement("div",{className:F({[u]:!0,[`${u}__loading`]:C})},e.createElement("div",{className:h+" "+(p||"")},j),e.createElement("textarea",{ref:t,value:n,onChange:T=>r&&r(T.target.value),onBlur:s,onKeyDown:T=>{if(T.key==="Enter"&&R){T.preventDefault();return}o&&o(T)},onMouseDown:c,placeholder:a,maxLength:i,disabled:w||C,readOnly:m,className:F({"growing-textarea__input":!0,[p||""]:!0,[`${u}__with-icon`]:!!E,[`${u}__loading-input`]:C}),onCompositionStart:()=>N(!0),onCompositionEnd:()=>N(!1)}),E&&!C&&e.createElement("div",{className:`${u}__icon`},e.createElement("button",{className:"btn btn--plain-blue btn--square btn--md32",onClick:S},e.createElement(y,{icon:E}))),C&&e.createElement("div",{className:`${u}__loader`},e.createElement(ur,{indeterminate:!0,size:"xs",color:"purple"})),v)},mr=({textareaRef:t,value:n,onChange:r,onSubmit:s,placeholder:o,readOnly:c})=>{const a=()=>{s&&s()};return e.createElement("div",{className:"userflowjs-assistant-chat-input"},e.createElement(dr,{textareaRef:t,className:"userflowjs-growing-textarea",mirrorClassName:"userflowjs-growing-textarea__mirror",textareaClassName:"userflowjs-textarea userflowjs-assistant-chat-input__textarea",placeholder:o,readOnly:c,value:n||"",onChange:r,onKeyDown:i=>{!i.shiftKey&&i.key==="Enter"&&(i.preventDefault(),a())}}),e.createElement("button",{"data-testid":"assistant-chat-input-submit",className:"userflowjs-assistant-chat-input__submit",onClick:()=>a()},e.createElement(y,{icon:Hn})))};function fr(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}function Zt(t){return Fe.linkUrlDecorator?Fe.linkUrlDecorator(t):t}function hr(t){if(!t)return null;let n;"block"in t&&t.block!=null&&(n=t.block.cvid);const r={kind:t.kind,blockCvid:n};switch(t.kind){case"announcementShow":r.announcementId=t.announcementId;break}return JSON.stringify(r)}function Ot(t,n){if(!n)return null;const r=JSON.parse(n);let s;if(r.blockCvid&&(s=t.version.resourceCenter?.blocks.find(c=>c.cvid===r.blockCvid)),!s&&r.kind!=="search")return null;const o={kind:r.kind,block:s};switch(o.kind){case"announcementShow":o.announcementId=r.announcementId;break}return o}const Ut=5,wr=async()=>(await Ln(async()=>{const{ResourceCenterAssistantChat:t}=await import("./ResourceCenterAssistantChat.js");return{ResourceCenterAssistantChat:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]))).ResourceCenterAssistantChat,Wt=({session:t,isOpen:n,flowSession:r,checklistSession:s,resourceCenterLauncherHidden:o})=>{const c=x(),{t:a}=re(),{company:i}=t.flow,{version:w}=t,m=w.resourceCenter,u=ne(w.theme),h=m.launcherType??Se.DEFAULT,p=l.useMemo(()=>h===Se.CUSTOM?!1:o===!1?!0:o===!0?!1:h===Se.DEFAULT,[h,o]),E=t.locale?t.locale.standardLocaleId:t.version.theme.languageId;l.useEffect(()=>{Ne.changeLanguage(E)},[E]);const{loaded:S}=At(window,jt,u),[C,v]=l.useState(!1),j=S&&C,[R,N]=l.useState(It()),[T,O]=l.useState(Tt()),Ae=l.useCallback(()=>{N(It()),O(Tt())},[]);Pn(Ae);const{zIndex:se,bringToFront:oe}=xn(),[$,Ie]=l.useState(null),[K,Q]=l.useState(null),[X,de]=l.useState(null),me=l.useRef(null),[z,an]=l.useState(null),[ot,ln]=l.useState(null),[ct,un]=l.useState(null),[dn,mn]=l.useState(0),[fn,hn]=l.useState(0),fe=l.useCallback(()=>{K&&mn(Math.round(K?.offsetWidth||0)),hn(Math.round((X?.offsetHeight||0)+(z?.offsetHeight||0)+(ot?.offsetHeight||0)+(ct?.offsetHeight||0)))},[K,X,z,ot,ct]);l.useLayoutEffect(()=>{if(!$||typeof Oe!="function")return;const d=new Oe(()=>{fe()});return d.observe($,{childList:!0,attributes:!0,subtree:!0}),()=>{d.disconnect()}},[$,fe]),l.useLayoutEffect(()=>{fe()},[fe]);const[at,lt]=l.useState(!1),Te=l.useRef(),he=l.useCallback(()=>{lt(!0),window.clearTimeout(Te.current),Te.current=window.setTimeout(()=>{lt(!1)},u.resourceCenterTransitionDuration)},[u.resourceCenterTransitionDuration]);l.useEffect(()=>()=>{window.clearTimeout(Te.current)},[]);const we=l.useCallback(()=>{oe(),he(),c.openResourceCenter()},[oe,c,he]),Re=l.useCallback(()=>{he(),c.closeResourceCenter()},[c,he]),[it,J]=l.useState(!1);l.useEffect(()=>{if(it){if(!fr())if(n){const d='button:not([tabindex="-1"]), [tabindex]:not([tabindex="-1"]), input, textarea';let g=z?.querySelector(".userflowjs-assistant-chat-input textarea")||z?.querySelector(d)||X?.querySelector(d);if(g){const I=g.closest&&g.closest(".userflowjs-resource-center-checklist")||null;I?Un(I):g.focus({preventScroll:!0})}}else K?.focus({preventScroll:!0});J(!1)}},[it,n,z,X,K]),l.useEffect(()=>{const d=$?.ownerDocument.defaultView;if(!n||!d)return;const g=I=>{I.key==="Escape"&&(Re(),J(!0))};return d.addEventListener("keydown",g),()=>d.removeEventListener("keydown",g)},[n,$,J,Re]);const[b,Ee]=l.useState(()=>Ot(t,ce.getItem(`resourceCenterRoute:v1:${t.id}`))),M=l.useCallback((d,g)=>{Ee(d);const I=hr(d);I?ce.setItem(`resourceCenterRoute:v1:${t.id}`,I):ce.removeItem(`resourceCenterRoute:v1:${t.id}`),g?.detail===0&&J(!0)},[t.id]),[wn,En]=l.useState();l.useEffect(()=>{const d=g=>{const I=t.version.resourceCenter?.blocks.find(V=>V.type===k.ASSISTANT);I&&(En(g),M({kind:"assistant",block:I}))};return c.on("private:workflowFillStep",d),()=>c.off("private:workflowFillStep",d)},[c,t,M]),l.useEffect(()=>{const d=ce.getItem(`resourceCenterRoute:v1:${t.id}`);Ee(Ot(t,d))},[t]),l.useEffect(()=>{if(!t.draftMode||!b||!("block"in b)||!b.block)return;const d=m.blocks.find(g=>g.cvid===b.block.cvid);d?JSON.stringify(d)!==JSON.stringify(b.block)&&Ee({...b,block:d}):Ee(null),b.block},[t.draftMode,m,b]);const q=l.useMemo(()=>m.blocks.filter(d=>!(d.type===k.CHECKLIST&&!s||d.type===k.DIVIDER&&u.resourceCenterAutoDividers||d.hiddenWhenFlowsActive&&d.hiddenWhenFlowsActive.some(g=>g===r?.flow.id||g===s?.flow.id))),[m,r,s,u.resourceCenterAutoDividers]),Y=q.length===1,_e=l.useMemo(()=>en(q),[q]);l.useEffect(()=>{if(!n||!Y)return;const d=q[0];let g=null;switch(d.type){case k.ANNOUNCEMENTS:g={kind:"announcementList",block:d};break;case k.FLOWS:g={kind:"flows",block:d};break;case k.KNOWLEDGE_BASE:g={kind:"knowledgeBase",block:d};break;case k.SUBPAGE:g={kind:"subpage",block:d};break;case k.ASSISTANT:g={kind:"assistant",block:d,initialUserContent:""};break}g&&M(g)},[n,q,M,Y]);const Le=l.useMemo(()=>!s||!m.blocks.some(d=>d.type===k.CHECKLIST)?0:yn(s),[m,s]),D=l.useMemo(()=>m.blocks.find(d=>d.type===k.CONTACT&&d.chatEnabled&&d.chatProvider),[m]),[pn,ut]=l.useState(!1),pe=l.useCallback(()=>{c.closeResourceCenter(),D&&D.chatProvider!==W.CUSTOM&&ut(!0)},[c,D]),be=l.useCallback(()=>{ut(!1)},[]),dt=l.useCallback(()=>{if(D)try{Ue[D.chatProvider].hide({block:D}),be()}catch(d){console.error(`Userflow.js: Error when hiding ${D.chatProvider}:`,d)}},[D,be]);l.useEffect(()=>{if(!D)return;Fe.autoHide3pDisabled=!0;const d=Ue[D.chatProvider];try{const g=d.configure({block:D,onShow:pe,onHide:be});return()=>{g()}}catch(g){console.error(`Userflow.js: Error when configuring ${D.chatProvider}:`,g);return}},[D,pe,be]),l.useEffect(()=>{n&&dt()},[dt,n]);const A=cn(t),ve=l.useMemo(()=>{if(!A)return null;if(A.boosterAnnouncement){const d=A.boosterAnnouncement;if(!d.seen&&(d.level===B.TOAST||d.level===B.MODAL))return d}return A.popoutAnnouncement&&!A.popoutAnnouncement.seen?A.popoutAnnouncement:null},[A]),mt=ne(ve?.theme||w.theme);At(window,jt,p?void 0:mt);const ge=l.useCallback((d,g,I,V,ke)=>{const vt=()=>{st(c,d)};return e.createElement(ae.Provider,{value:{...I,data:d.data}},d.level===B.MODAL&&e.createElement(Yt,{session:I,open:we,navigate:M,block:g,announcement:d,onDismiss:vt}),(d.level===B.TOAST||d.level===B.POPOUT)&&e.createElement(Jt,{session:I,open:we,navigate:M,block:g,announcement:d,onDismiss:vt,isStandalonePopout:ke?.isStandalonePopout,rcPlacement:V.resourceCenterPlacement}))},[c,we,M]),bn=(d,g,I)=>{const V={...Pe(I),zIndex:yt(Mn),position:"fixed",top:0,left:0,width:"100vw",height:"100vh",pointerEvents:d.level===B.MODAL?"auto":"none"},ke={...t,data:{...t.data,...d.data||{}}};return e.createElement(ae.Provider,{value:ke},e.createElement("div",{className:"userflowjs-theme-root",style:V,id:"userflowjs-announcement-app"},ge(d,g,ke,I,{isStandalonePopout:d.level===B.POPOUT})))},vn=!!b&&(b.kind==="search"||b.kind==="flows"||b.kind==="knowledgeBase"),ft=b?.kind==="assistant"||b?.kind==="announcementList"||b?.kind==="announcementShow",xe=Math.min(ft?u.resourceCenterFullWidth:u.resourceCenterWidth,R-2*u.resourceCenterPaddingX),gn=540,Cn=720,kn={zIndex:u.resourceCenterZIndex!=null?u.resourceCenterZIndex:n?se:yt(Bn),position:j?void 0:"absolute",visibility:j&&!pn?void 0:"hidden"},Sn={width:(n?xe:dn)+"px",height:n?Math.min(vn?gn:ft?Cn:fn,T-2*u.resourceCenterPaddingY,u.resourceCenterMaxHeight==null?Number.MAX_VALUE:u.resourceCenterMaxHeight)+"px":void 0,display:!p&&!n?"none":void 0},[Nn,ht]=l.useState(!1),wt=()=>{we(),J(!0)},Et=b!=null&&(!Y||b.kind==="announcementShow"),Z=b&&"block"in b?b.block:null;let pt=m.headerText;b!=null&&!Et&&Z&&(pt=je(Z.name,{lookupAttribute:L(t.data)}));const Be=!Y&&Z?e.createElement("div",{className:"userflowjs-resource-center-list-route-title"},e.createElement(le,{doc:Z.name,lookupAttribute:L(t.data)})):null,bt=u.resourceCenterDisplayChecklistProgress&&s&&Le>0?e.createElement("div",{"data-testid":"resource-center-launcher-badge",className:"userflowjs-resource-center-launcher-badge"},Le,e.createElement("div",{className:"userflowjs-a11y-only"},"uncompleted tasks")):null;let Ce="",Me="";u.resourceCenterLauncherTextMode===gt.CHECKLIST_OVERRIDE&&s&&Le>0?Ce=s.version.checklist?.launcherText||"Get Started":u.resourceCenterLauncherTextMode!==gt.NONE&&(Me=m.buttonText);const De=ve?.level,jn=De===B.MODAL||De===B.TOAST||De===B.POPOUT&&(h!==Se.CUSTOM||o===!0);return!p&&!n&&ve&&A&&jn?bn(ve,A,mt):e.createElement(ae.Provider,{value:t},e.createElement("div",{"data-testid":"resource-center-app",className:"userflowjs-resource-center-app userflowjs-theme-root",style:Pe(u),dir:Ne.dir()},e.createElement("div",{className:F({"userflowjs-resource-center":!0,"userflowjs-resource-center--fixed":!0,[`userflowjs-resource-center--placement-${u.resourceCenterPlacement.toLowerCase().replace(/_/g,"-")}`]:!0}),style:kn},e.createElement("div",{className:"userflowjs-resource-center-frame-wrapper",onMouseEnter:()=>ht(!0),onMouseLeave:()=>ht(!1)},e.createElement(Ye,{className:F({"userflowjs-resource-center-frame":!0,"userflowjs-resource-center-frame--animating":at,"userflowjs-resource-center-frame--open":n,"userflowjs-resource-center-frame--closed":!n}),style:Sn,stylesheet:Je,theme:u,onStylesheetsLoad:v,title:"Resource center"},j&&e.createElement(e.Fragment,null,e.createElement("div",{ref:Ie,className:F({"userflowjs-resource-center-frame-root":!0,[`userflowjs-resource-center-frame-root--placement-${u.resourceCenterPlacement.toLowerCase().replace(/_/g,"-")}`]:!0,"userflowjs-resource-center-frame-root--animating":at,"userflowjs-resource-center-frame-root--open":n,"userflowjs-resource-center-frame-root--closed":!n}),role:n?"dialog":void 0,"aria-label":n?m.headerText:void 0},p&&e.createElement("div",{className:"userflowjs-resource-center-launcher-container"},e.createElement("button",{ref:Q,className:F({"userflowjs-resource-center-launcher-button":!0,"userflowjs-resource-center-launcher-button--hover":Nn}),onClick:wt,"aria-label":`Open ${m.headerText}`},bt,Ce&&e.createElement("div",{"data-testid":"resource-center-launcher-text",className:"userflowjs-resource-center-launcher-text"},Ce),(bt||Ce)&&e.createElement("div",{className:"userflowjs-resource-center-launcher-divider"}),Me&&e.createElement("div",{"data-testid":"resource-center-launcher-text",className:"userflowjs-resource-center-launcher-text"},Me),e.createElement("div",{className:"userflowjs-resource-center-launcher-icon"},u.resourceCenterLauncherIconType===Ct.PLAINTEXT?"?":u.resourceCenterLauncherIconType===Ct.DEFAULT?e.createElement(ar,null):u.rcIconAsset&&u.rcIconAsset.assetUrl?e.createElement("img",{src:u.rcIconAsset.assetUrl,className:"company-icon",style:{height:`${u.rcIconSize}px`,width:`${u.rcIconSize}px`}}):e.createElement("span",null)))),e.createElement("div",{ref:me,className:"userflowjs-resource-center-body",style:{width:xe+"px"}},e.createElement("div",{ref:an,className:F({"userflowjs-resource-center-body-content":!0,"userflowjs-resource-center-body-content--padding":b?.kind!=="assistant","userflowjs-resource-center-body-content--same-background":u.sameBackground,"userflowjs-resource-center-body-content--with-made-with-userflow":i.resourceCenterBranding})},n&&e.createElement(e.Fragment,null,b?b.kind==="search"?e.createElement(Er,{session:t,navigate:M}):b.kind==="email"?e.createElement(pr,{block:b.block,session:t}):b.kind==="phone"?e.createElement(br,{block:b.block,session:t}):b.kind==="flows"?e.createElement(vr,{block:b.block,initialQ:b.initialQ,session:t,navigate:M,title:Be}):b.kind==="knowledgeBase"?e.createElement(gr,{block:b.block,initialQ:b.initialQ,session:t,bodyRef:me,title:Be}):b.kind==="subpage"?e.createElement(Cr,{block:b.block,session:t}):b.kind==="announcementList"||b.kind==="announcementShow"?e.createElement(kr,{bodyRef:me,session:t,route:b,navigate:M,title:Be}):b.kind==="assistant"?e.createElement(jr,{block:b.block,workflow:wn,initialUserContent:b.initialUserContent,session:t,navigate:M,chatBlock:D,onChatShow:pe}):null:e.createElement(e.Fragment,null,q.map((d,g)=>{const I=ue[d.type],V=q[g+1];return I?e.createElement(e.Fragment,{key:d.id},e.createElement(I.View,{session:t,flowSession:r,checklistSession:s,block:d,navigate:M,onChatShow:pe}),V&&er(u,d.type,V.type)&&e.createElement("div",{className:"userflowjs-resource-center-divider"})):null}))))),i.resourceCenterBranding&&e.createElement("div",{className:"userflowjs-resource-center-made-with-userflow"},e.createElement("div",{className:"userflowjs-resource-center-made-with-userflow-content",ref:ln},e.createElement("a",{href:"https://userflow.com/?utm_source=made-with-userflow&utm_medium=link&utm_campaign=made-with-userflow-"+i.slug+"&utm_content=resource-center",target:"_blank",rel:"noopener noreferrer"},e.createElement(On,null),e.createElement("div",null,"Made with Userflow")))),t.draftMode&&e.createElement("div",{className:"userflowjs-resource-center-preview"},e.createElement("div",{ref:un,className:"userflowjs-resource-center-preview-content"},e.createElement("div",{className:"userflowjs-resource-center-preview-text"},"Preview"),e.createElement("button",{className:"userflowjs-resource-center-preview-button",onClick:()=>{c.endFlow(t,{endReason:An.USER_CLOSED})}},e.createElement(y,{icon:et})))),e.createElement("div",{className:"userflowjs-resource-center-header",style:{width:xe+"px"}},e.createElement("div",{ref:de,className:"userflowjs-resource-center-header-content"},Et?e.createElement("button",{className:"userflowjs-resource-center-icon-button",onClick:d=>M(b?.kind==="announcementShow"?{kind:"announcementList",block:b.block}:null,d)},e.createElement("div",{className:"userflowjs-rtl-mirrored"},e.createElement(y,{icon:$n})),e.createElement("div",{className:"userflowjs-resource-center-icon-button__text"},a("resource_center.back"))):e.createElement("div",{className:F({"userflowjs-resource-center-header-text":!0,"userflowjs-resource-center-header-text--with-icon":!!(Y&&Z?.icon)})},Y&&Z?.icon&&e.createElement(y,{icon:Z.icon,size:16}),pt),e.createElement("div",{className:"flex-1"}),_e.length>0&&e.createElement("button",{className:"userflowjs-resource-center-icon-button",onClick:()=>{let d={kind:"search"};if(_e.length===1){const g=_e[0],I=ue[g.type];I.routeTo&&(d=I.routeTo({block:g}))}b?.kind==="search"?M(null):(_(c,t,null,"Search icon"),M(d))},"aria-label":"Search"},e.createElement(y,{icon:zn})),e.createElement("button",{className:"userflowjs-resource-center-icon-button userflowjs-resource-center-close-button",onClick:d=>{Re(),d.detail===0&&J(!0)},"aria-label":`Close ${m.headerText}`},e.createElement(y,{icon:Vn}))))))),!n&&!r&&p&&A&&A.unreadAnnouncementCount>0&&e.createElement(Gt,{theme:u,count:A.unreadAnnouncementCount,onClick:wt})),!n&&!r&&p&&A?.popoutAnnouncement&&ge(A.popoutAnnouncement,A,t,u),!n&&!r&&p&&A?.boosterAnnouncement&&A.boosterAnnouncement.level===B.MODAL&&ge(A.boosterAnnouncement,A,t,u),!n&&!r&&p&&A?.boosterAnnouncement&&A.boosterAnnouncement.level===B.TOAST&&ge(A.boosterAnnouncement,A,t,u))))},Gt=({theme:t,count:n,onClick:r,style:s})=>{const[o,c]=l.useState(!1);return e.createElement(Ye,{className:F({"userflowjs-resource-center-launcher-unread-badge":!0}),noScroll:!0,style:{position:o?void 0:"absolute",visibility:o?void 0:"hidden",...s},stylesheet:Je,theme:t,onStylesheetsLoad:c,title:"Resource center unread badge"},e.createElement(Xt,{count:n,onClick:r}))},Xt=({count:t,onClick:n})=>{let r=null;return t>9&&(t=9,r=e.createElement("span",{className:"userflowjs-unread-badge-plus"},"+")),e.createElement("div",{className:F({"userflowjs-unread-badge":!0,"userflowjs-unread-badge--clickable":!!n}),onClick:n},e.createElement("span",null,t),r)},Jt=({session:t,open:n,navigate:r,announcement:s,block:o,rcPlacement:c,onDismiss:a,isStandalonePopout:i})=>{const w=l.useRef(null),m=ne(s.theme),u=m.toastPlacement,h=!!o.boosterAnnouncement||i!==void 0&&s?.level===B.TOAST,p=u===c;let E=null,S=null;s&&(E=s.toastAutoDismiss??m.toastAutoDismiss,S=s.toastWidth?s.toastWidth:m.toastWidth);const C=x(),[v,j]=l.useState(!1),{height:R,setEl:N}=Yn();l.useEffect(()=>{const Q=w.current;if(!Q||E===null)return;const X=Date.now(),de=()=>{const z=1-(Date.now()-X)/(new Qt(E||0).toNumber()*1e3);z<=0?(Q.style.width="0%",s&&U(C,s)):(Q.style.width=`${z*100}%`,requestAnimationFrame(de))};return requestAnimationFrame(de),()=>{Q&&(Q.style.width="0%")}},[w.current,E,C,s,U]);const T=a||(()=>{s&&U(C,s)}),O=20,Ae=l.useMemo(()=>CSS.supports("height: 100dvh")?"dvh":"vh",[]),se=()=>{h&&s&&(U(C,s),_(C,t,o,s.title),r({kind:"announcementShow",block:o,announcementId:s.id}),n())},oe=()=>{s&&(U(C,s),_(C,t,o,s.title),r({kind:"announcementShow",block:o,announcementId:s.id}),n())},$=()=>{r({kind:"announcementShow",block:o,announcementId:s.id}),n()};if(!s)return null;const Ie=!!i&&!!c,K=(i!==void 0||!p)&&!!u&&h;return e.createElement("div",{className:F({"userflowjs-resource-center-popout":!h,"userflowjs-resource-center-toast":h,[`userflowjs-resource-center-popout-standalone--${c?.toLowerCase()?.replace(/_/g,"-")}`]:Ie,[`userflowjs-resource-center-toast--${u?.toLowerCase()?.replace(/_/g,"-")}`]:K}),style:Pe(m)},e.createElement(Ye,{className:F({"userflowjs-resource-center-popout-frame":!0}),style:{height:`calc(min(${R}px, 100${Ae} - 2 * var(--userflow-resource-center-padding-y) - var(--userflow-resource-center-collapsed-height) - ${O}px)`,position:v?void 0:"absolute",visibility:v?void 0:"hidden",...S&&h?{width:S}:{}},stylesheet:Je,theme:m,onStylesheetsLoad:j,title:"Resource center popout"},h&&e.createElement("div",{className:"userflowjs-bubble-progress--default"},e.createElement("div",{className:"userflowjs-bubble-progress__fill",ref:w})),e.createElement("div",{ref:N,className:"userflowjs-resource-center-popout-frame-root",style:{cursor:h?"pointer":"auto",padding:h&&m.toastPadding||void 0}},e.createElement("div",{onClick:se},e.createElement("h2",{className:"userflowjs-announcement-title"},e.createElement("span",{className:"userflowjs-unread-dot"}),e.createElement("span",null,s.title)),e.createElement("div",{className:"userflowjs-announcement-time"},e.createElement("div",{className:"userflowjs-announcement-time-text"},ye(s.time))),e.createElement("div",{className:"userflowjs-announcement-content userflowjs-bubble-content"},e.createElement(H,{doc:s.content,buttons:s.buttons,lookupAttribute:L(s.data)})),!h&&e.createElement(ie,{announcement:s,onMoreClick:oe,confettiColors:m.confettiColors,onSubmitSuccess:$},e.createElement("div",{className:"userflowjs-announcement-more"},e.createElement("button",{className:"userflowjs-tertiary-button",onClick:oe},e.createElement("div",null,s.moreButtonText||"Read more"),e.createElement("span",{className:"userflowjs-rtl-mirrored userflowjs-tertiary-button__icon"},e.createElement(y,{icon:Vt})))))),h&&e.createElement(e.Fragment,null,!s.reactionEnabled&&s.moreEnabled&&e.createElement("div",{onClick:se,className:"userflowjs-announcement-more--toast"},s.moreButtonText||"Read more"),e.createElement(ie,{announcement:s,onMoreClick:se,confettiColors:m.confettiColors,onSubmitSuccess:$})),e.createElement("div",{className:"userflowjs-bubble-toolbar"},e.createElement("button",{className:"userflowjs-bubble-toolbar-button",onClick:T,"aria-label":"Dismiss announcement"},e.createElement(y,{icon:et}))))),!h&&!i&&e.createElement("div",{className:"userflowjs-resource-center-popout-notch"}))},Yt=({session:t,open:n,navigate:r,announcement:s,block:o,onDismiss:c})=>{const a=x(),i=ne(s.theme),m=c||(()=>{U(a,s)}),u=()=>{U(a,s),_(a,t,o,s.title),r({kind:"announcementShow",block:o,announcementId:s.id}),n()},h=()=>{r({kind:"announcementShow",block:o,announcementId:s.id}),n()};return e.createElement(Gn,{company:t.flow.company,theme:i,position:"fixed",width:s.modalWidth,stepAppearance:In.MODAL,zIndex:i.checklistZIndex,autoHide3pEnabled:!0,onModalBackdropClick:m,noIframe:!0,isModalAnnouncement:!0},e.createElement("div",{id:"userflowjs-bubble-content",className:"userflowjs-bubble-content"},e.createElement("h1",null,s.title),e.createElement(H,{doc:s.content,buttons:s.buttons,lookupAttribute:L(s.data)}),e.createElement(ie,{announcement:s,onMoreClick:u,confettiColors:i.confettiColors,onSubmitSuccess:h},e.createElement("div",{className:"userflowjs-announcement-more--modal"},e.createElement("button",{className:"userflowjs-bubble-button--primary",onClick:u},s.moreButtonText||"Read more")))),e.createElement("div",{className:"userflowjs-bubble-toolbar"},e.createElement("button",{className:"userflowjs-bubble-toolbar-button",onClick:m,"aria-label":"Dismiss announcement"},e.createElement(y,{icon:et}))))};function en(t){return t.filter(n=>{const r=ue[n.type];return r.isSearchable?r.isSearchable(n):!!r.search})}const ue={[k.ACTION]:{View:t=>{const{block:n,session:r,flowSession:s,checklistSession:o}=t,c=x(),[a,i]=l.useState(!1),w=s?.id,m=o?.id;return l.useEffect(()=>{i(!1)},[w,m]),e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:a?void 0:()=>{_(c,r,n);const u=n.actions.find(h=>h.type===Tn.START_FLOW);u?u.otherFlow?.id!==o?.flow.id&&i(!0):c.closeResourceCenter(),Dn(c,r,n.actions)},disabled:a},e.createElement(ee,{...t}),e.createElement(G,{...t}),a&&e.createElement(P,null))}},[k.ANNOUNCEMENTS]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{_(o,r,n),s({kind:"announcementList",block:n},c)}},n.unreadAnnouncementCount>0?e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(Xt,{count:n.unreadAnnouncementCount})):e.createElement(ee,{...t}),e.createElement(G,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))}},[k.ASSISTANT]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x(),[c,a]=l.useState("");return n.assistantAppearance===Rn.INPUT?e.createElement("div",{className:"userflowjs-resource-center-assistant-block"},e.createElement(mr,{value:c,onChange:a,placeholder:je(n.name,{lookupAttribute:L(r.data)}),onSubmit:()=>{_(o,r,n),s({kind:"assistant",block:n,initialUserContent:c})}})):e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:()=>{_(o,r,n),s({kind:"assistant",block:n,initialUserContent:""})}},e.createElement(ee,{...t}),e.createElement(G,{...t}))}},[k.CHECKLIST]:{View:({checklistSession:t})=>e.createElement("div",{"data-testid":"resource-center-checklist",className:"userflowjs-resource-center-checklist"},e.createElement(Wn,{session:t}),e.createElement(Xn,{draftMode:t.draftMode?"CHECKLIST PREVIEW":!1}))},[k.CONTACT]:{View:t=>{const{block:n,session:r,navigate:s,onChatShow:o}=t,c=x(),a=[];return n.emailEnabled&&a.push({icon:Qn,label:"Email",isRoute:!0,onClick:i=>{_(c,r,n,"Email"),s({kind:"email",block:n},i)}}),n.phoneEnabled&&a.push({icon:qn,label:"Phone",isRoute:!0,onClick:i=>{_(c,r,n,"Phone"),s({kind:"phone",block:n},i)}}),n.chatEnabled&&a.push({icon:Zn,label:"Live-chat",isRoute:!1,onClick:()=>{_(c,r,n,"Chat"),on(r,n,o)}}),e.createElement("div",{className:F({"userflowjs-resource-center-block":!0,"userflowjs-resource-center-block--clickable":a.length===1}),onClick:a.length===1?a[0].onClick:void 0},a.length===1&&e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(y,{icon:a[0].icon})),e.createElement(G,{...t}),a.length>1&&a.map(({icon:i,label:w,onClick:m},u)=>e.createElement("button",{key:u,className:"userflowjs-resource-center-icon-button",onClick:m,"aria-label":w},e.createElement(y,{icon:i}))),a.length===1&&a[0].isRoute&&e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))}},[k.DIVIDER]:{View:()=>e.createElement("div",{className:"userflowjs-resource-center-divider"})},[k.FLOWS]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{_(o,r,n),s({kind:"flows",block:n},c)}},e.createElement(ee,{...t}),e.createElement(G,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))},routeTo:({block:t,initialQ:n})=>({kind:"flows",block:t,initialQ:n}),isSearchable:t=>!!t.searchEnabled,search:async({client:t,session:n,block:r,q:s})=>{const{flows:o}=await t.send({kind:"ListResourceCenterBlockFlows",sessionId:n.id,blockCvid:r.cvid},{handlesRejection:!0}),c=tn(o,s),a=c.slice(0,Ut);return{block:r,truncated:a.length===c.length,results:a.map(i=>({kind:"flow",flow:i}))}}},[k.KNOWLEDGE_BASE]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{_(o,r,n),s({kind:"knowledgeBase",block:n},c)}},e.createElement(ee,{...t}),e.createElement(G,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))},routeTo:({block:t,initialQ:n})=>({kind:"knowledgeBase",block:t,initialQ:n}),search:async({client:t,session:n,block:r,q:s})=>{const{truncated:o,articles:c}=await t.send({kind:"SearchKnowledgeBase",sessionId:n.id,blockCvid:r.cvid,q:s,offset:0,limit:Ut},{handlesRejection:!0});return{block:r,truncated:o,results:c.map(a=>({kind:"article",article:a}))}}},[k.MESSAGE]:{View:({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-block"},e.createElement("div",{className:"userflowjs-resource-center-block-text userflowjs-bubble-content"},e.createElement(H,{doc:t.content,lookupAttribute:L(n.data)})))},[k.SUBPAGE]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{_(o,r,n),s({kind:"subpage",block:n},c)}},e.createElement(ee,{...t}),e.createElement(G,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))}}},ee=({block:t})=>t.icon?e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(y,{icon:t.icon,size:16})):null,G=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-block-text"},e.createElement(le,{doc:t.name,lookupAttribute:L(n.data)})),Er=({session:t,navigate:n})=>{const r=x(),s=t.version.resourceCenter.blocks,o=en(s),{t:c}=re(),a=l.useRef(null),[i,w]=l.useState(""),[m,u]=rt(i,w),[h,p]=l.useState(null);return l.useEffect(()=>{if(i.trim()===""){p(null);return}let E=!1;return(async()=>{p(null);const C=await Promise.all(s.map(async v=>{const{search:j}=ue[v.type];if(!j)return null;try{return await j({client:r,session:t,block:v,q:i})}catch(R){return console.error(`Userflow.js: Global search failed for ${v.type} block=`,v,"error=",R),null}}));E||p(C.filter(v=>v!=null&&v.results.length>0))})(),()=>{E=!0}},[r,t,s,i]),l.useEffect(()=>{a.current?.focus({preventScroll:!0})},[]),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-search"},e.createElement("input",{ref:a,className:"userflowjs-text-input",type:"text",value:m,onChange:E=>u(E.target.value),placeholder:c("resource_center.search_placeholder")})),i.trim()===""?e.createElement("div",{"data-testid":"resource-center-empty-query",className:"userflowjs-resource-center-list-route-error"},c("resource_center.search_in")," ",o.map((E,S)=>e.createElement(e.Fragment,{key:E.cvid},S>0&&(S===o.length-1?` ${c("and")} `:", "),e.createElement("b",null,e.createElement(le,{doc:E.name,lookupAttribute:L(t.data)})))),"."):h?h.length===0?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.no_results_found")):h.map(({block:E,truncated:S,results:C},v)=>{const j=ue[E.type],R=j.routeTo&&j.routeTo({block:E,initialQ:i});return e.createElement(e.Fragment,{key:E.cvid},v>0&&e.createElement("div",{className:"userflowjs-resource-center-divider"}),e.createElement("div",{className:"userflowjs-resource-center-label"},e.createElement(le,{doc:E.name,lookupAttribute:L(t.data)})),C.map((N,T)=>N.kind==="flow"?e.createElement(nn,{key:N.flow.id,block:E,session:t,flow:N.flow,navigate:n}):N.kind==="article"?e.createElement(rn,{key:T,block:E,session:t,article:N.article}):null),!S&&R&&e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:N=>{_(r,t,E),n(R,N)}},e.createElement("div",{className:"userflowjs-resource-center-block-text"},c("more"),":"," ",e.createElement(le,{doc:E.name,lookupAttribute:L(t.data)})),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te}))))}):e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)))},pr=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-content-route userflowjs-bubble-content"},e.createElement(H,{doc:t.emailContent,lookupAttribute:L(n.data)})),br=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-content-route userflowjs-bubble-content"},e.createElement(H,{doc:t.phoneContent,lookupAttribute:L(n.data)})),vr=({block:t,initialQ:n,session:r,navigate:s,title:o})=>{const{t:c}=re(),a=l.useRef(null),[i,w]=l.useState(n||""),[m,u]=rt(i,w),{data:h,error:p}=Kt({message:{kind:"ListResourceCenterBlockFlows",sessionId:r.id,blockCvid:t.cvid}}),E=h?.flows,S=l.useMemo(()=>E?tn(E,i):null,[E,i]);return l.useEffect(()=>{a.current?.focus({preventScroll:!0})},[]),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-header"},o),t.searchEnabled&&e.createElement("div",{className:"userflowjs-resource-center-list-route-search"},e.createElement("input",{ref:a,className:"userflowjs-text-input",type:"text",value:m,onChange:C=>u(C.target.value),placeholder:c("resource_center.search_placeholder")})),p?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.generic_error")):S?S.length===0?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.no_results_found")):S.map(C=>e.createElement(nn,{key:C.id,block:t,session:r,flow:C,navigate:s})):e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,{fadeIn:!0})))};function tn(t,n){const r=n.toLowerCase().trim();return r===""?t:t.filter(s=>s.name.toLowerCase().includes(r))}const nn=({block:t,session:n,flow:r,navigate:s})=>{const o=x(),[c,a]=l.useState(!1);return l.useEffect(()=>{if(!c||r.type!==kt.CHECKLIST)return;const i=()=>{o.checklistSession?.flow.id===r.id&&(w(),s(null))},w=()=>{o.off("checklistChanged",i)};return o.on("checklistChanged",i),w},[o,c,r.type,r.id,s]),e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:()=>{if(_(o,n,t,r.name),o.checklistSession?.flow.id===r.id){s(null);return}o.startFlow({flowId:r.id,startReason:n.draftMode?St.DRAFT:St.RESOURCE_CENTER,replaceCurrent:!0}),a(!0);const i=je(r.url,{lookupAttribute:L(n.data)});i&&Fn(i)},disabled:c},r.iconSetting!==_n.HIDE&&e.createElement("div",{className:"userflowjs-resource-center-block-icon"},r.icon?e.createElement(y,{icon:r.icon,size:16}):e.createElement(y,{icon:r.type===kt.CHECKLIST?"regular/tasks":"regular/shoe-prints",size:16})),n.draftMode&&!r.published&&e.createElement("div",{className:"userflowjs-resource-center-code-block"},e.createElement("div",{title:"Unpublished. Preview only"},e.createElement("code",null,"P"))),e.createElement("div",{className:"userflowjs-resource-center-block-text"},r.name),c&&e.createElement(P,null))},gr=({block:t,initialQ:n,session:r,bodyRef:s,title:o})=>{const{t:c}=re(),a=l.useRef(null),[i,w]=l.useState(n||""),[m,u]=rt(i,w),{loading:h,loadingMore:p,data:E,messageForData:S,error:C,loadMore:v}=Kt({message:{kind:"SearchKnowledgeBase",sessionId:r.id,blockCvid:t.cvid,q:i,offset:0}}),j=E?.truncated,R=l.useCallback(()=>{v((T,O)=>({...O,offset:T.articles.length}),(T,O)=>({...O,articles:[...T.articles,...O.articles]}))},[v]);sn({bodyRef:s,loading:h,loadingMore:p,truncated:j,loadMoreHelper:R}),l.useEffect(()=>{a.current?.focus({preventScroll:!0})},[]);let N=t.knowledgeBaseUrl||"";return N.match(/^https?:\/\//)||(N=`http://${N}`),N=Zt(N),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-header"},o,e.createElement("a",{className:"userflowjs-resource-center-icon-button",href:N,target:"_blank",rel:"noopener noreferrer"},e.createElement(y,{icon:Kn}))),e.createElement("div",{className:"userflowjs-resource-center-list-route-search"},e.createElement("input",{ref:a,className:"userflowjs-text-input",type:"text",value:m,onChange:T=>u(T.target.value),placeholder:c("resource_center.search_placeholder")})),C?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},C.code==="quota_exceeded"?"Sorry, this company has reached its max number of searches. Consider asking Userflow to be moved to a dedicated search engine for a higher quota.":C.humanMessage||c("resource_center.generic_error")):h||!E?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):E.articles.length===0?S?.q===""?null:e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.no_results_found")):e.createElement(e.Fragment,null,S?.q===""&&e.createElement("div",{className:"userflowjs-resource-center-label"},c("resource_center.suggested_articles")),E.articles.map((T,O)=>e.createElement(rn,{key:O,block:t,session:r,article:T})),p&&e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null))))},rn=({block:t,article:n,session:r})=>{const s=x();return e.createElement("a",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:()=>{_(s,r,t,n.title)},href:Zt(n.url),target:"_blank",rel:"noopener noreferrer"},e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(y,{icon:"regular/file-alt",size:16})),e.createElement("div",{className:"userflowjs-resource-center-block-text"},e.createElement("span",{dangerouslySetInnerHTML:{__html:n.htmlTitle}}),e.createElement("div",{className:"userflowjs-resource-center-block-subtext",dangerouslySetInnerHTML:{__html:n.htmlSnippet}})))},Cr=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-content-route userflowjs-bubble-content"},e.createElement(H,{doc:t.content,lookupAttribute:L(n.data)})),kr=({bodyRef:t,session:n,route:r,navigate:s,title:o})=>{const c=x(),[a,i]=l.useState(void 0);return l.useLayoutEffect(()=>{t.current&&a!=null&&r?.kind==="announcementList"&&(t.current.scrollTop=a)},[t,a,r?.kind]),!r||r?.kind!=="announcementList"&&r?.kind!=="announcementShow"?null:e.createElement(Jn,null,r.kind==="announcementList"&&e.createElement(Sr,{bodyRef:t,session:n,block:r.block,onMoreClick:w=>{i(t.current?.scrollTop),_(c,n,r.block,w.title),s({kind:"announcementShow",block:r.block,announcementId:w.id})},title:o}),r.kind==="announcementShow"&&e.createElement(Nr,{announcementId:r.announcementId}))},Sr=({bodyRef:t,block:n,session:r,onMoreClick:s,title:o})=>{const{t:c}=re(),{announcements:a,error:i,loading:w,loadingMore:m,truncated:u,pageSize:h,loadMore:p}=tt(),[E,S]=l.useMemo(()=>{const v=[],j=[];if(a){let R=-1;for(const N of a)R++,R<h&&!N.seen&&N.level!==B.SILENT?v.push(N):j.push(N)}return[v,j]},[a,h]),C=E.length;return sn({bodyRef:t,loading:w,loadingMore:m,truncated:u,loadMoreHelper:p}),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-header"},o),i?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.generic_error")):w?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):a.length===0?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},Ne.exists("resource_center.no_announcements",{fallbackLng:[]})?c("resource_center.no_announcements"):c("resource_center.no_results_found")):e.createElement(e.Fragment,null,C>0&&e.createElement("div",{className:"userflowjs-announcement-unread-header"},c("resource_center.unread",{count:C})),E.map(v=>e.createElement($t,{key:v.id,bodyRef:t,announcement:v,onMoreClick:()=>s(v)})),S.map(v=>e.createElement($t,{key:v.id,bodyRef:t,announcement:v,onMoreClick:()=>s(v)})),m&&e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null))))},Ht=new Set;function U(t,n){n.seen||Ht.has(n.id)||(Ht.add(n.id),st(t,n))}const $t=({bodyRef:t,onMoreClick:n,announcement:r})=>{const s=x(),o=zt(),c=ne(o.version.theme),a=l.useRef(null),{submitReaction:i,submitComment:w}=tt(),m=l.useRef(!1);return l.useEffect(()=>{if(m.current||r.seen)return;const u=new IntersectionObserver(p=>{const E=p[0];E&&E.isIntersecting&&(U(s,r),m.current=!0,h())},{root:t.current,threshold:1}),h=()=>{u.disconnect()};return u.observe(a.current),h},[t,s,r]),e.createElement("div",{className:"userflowjs-announcement-list-item"},e.createElement("div",{className:"userflowjs-announcement-time-divider"},e.createElement("div",{className:"userflowjs-announcement-time-divider-line"}),e.createElement("div",{className:"userflowjs-announcement-time-text"},ye(r.time)),e.createElement("div",{className:"userflowjs-announcement-time-divider-line"})),e.createElement("h2",{ref:a,className:"userflowjs-announcement-title"},!r.seen&&r.level!==B.SILENT&&e.createElement("span",{className:"userflowjs-unread-dot"}),e.createElement("span",null,r.title)),e.createElement("div",{className:"userflowjs-announcement-content userflowjs-bubble-content"},e.createElement(ae.Provider,{value:{...o,data:r.data}},e.createElement(H,{doc:r.content,buttons:r.buttons,lookupAttribute:L(r.data)}))),e.createElement(ie,{announcement:r,onMoreClick:n,confettiColors:c.confettiColors,onReactionChange:i,onCommentSubmit:w},e.createElement("div",{className:"userflowjs-announcement-more"},e.createElement("button",{className:"userflowjs-tertiary-button",onClick:n},e.createElement("div",null,r.moreButtonText||"Read more"),e.createElement("span",{className:"userflowjs-rtl-mirrored"},e.createElement(y,{icon:Vt}))))))},Nr=({announcementId:t})=>{const n=x(),r=zt(),s=ne(r.version.theme),[o,c]=l.useState(null),{fetchAnnouncement:a,loading:i,error:w,submitComment:m,submitReaction:u}=tt(),{t:h}=re();return l.useEffect(()=>{a(t).then(c)},[t]),l.useEffect(()=>{!o||o.seen||U(n,o)},[n,o]),i?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):e.createElement(e.Fragment,null,w?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},w.humanMessage||h("resource_center.generic_error")):i||!o?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-announcement-show"},e.createElement("h2",{className:"userflowjs-announcement-title"},o.title),e.createElement("div",{className:"userflowjs-announcement-time"},e.createElement("div",{className:"userflowjs-announcement-time-text"},ye(o.time))),e.createElement("div",{className:"userflowjs-bubble-content"},e.createElement(ae.Provider,{value:{...r,data:o.data}},e.createElement(H,{doc:o.content,buttons:o.buttons,lookupAttribute:L(o.data)}),o.moreEnabled&&e.createElement(H,{doc:o.moreContent,buttons:o.moreButtons,lookupAttribute:L(o.data)}))),e.createElement(ie,{announcement:o,confettiColors:s.confettiColors,showMoreButton:!1,onCommentSubmit:m,onReactionChange:u}))))},jr=({block:t,workflow:n,initialUserContent:r,session:s,navigate:o,onChatShow:c})=>{const a=t.assistantFlowId,i=x(),[w,m]=l.useState(null),[u,h]=l.useState(null),[p,E]=l.useState(null),[S]=l.useState(r);l.useEffect(()=>{r&&o({kind:"assistant",block:t,initialUserContent:""})},[r,t,o]),l.useEffect(()=>{let v=!1;return(async()=>{try{const R=ce.getItem("assistantConversationId:"+a),[N,T]=await Promise.all([wr(),i.send({kind:"GetAssistant",assistantFlowId:a,conversationId:R},{handlesRejection:!0,endBatch:!0})]);if(v)return;m(()=>N),h(T)}catch(R){console.error("Resource center assistant route failed to load:",R),E(R.humanMessage||"Sorry, something went wrong. Please try again or contact my human friends.")}})(),()=>{v=!0}},[i,a]);const C=l.useMemo(()=>{if(!t.assistantContactEnabled)return;const v=s.version.resourceCenter?.blocks.find(j=>j.type===k.CONTACT);if(v)return()=>{switch(_(i,s,t,t.assistantContactButtonText||void 0),t.assistantContactMethod){case Nt.EMAIL:o({kind:"email",block:v});break;case Nt.PHONE:o({kind:"phone",block:v});break;default:o(null),on(s,v,c);break}}},[i,s,t,c,o]);return p?e.createElement("div",{className:"userflowjs-assistant-chat"},e.createElement("div",{className:"userflowjs-assistant-chat__content"},e.createElement("div",{className:"userflowjs-assistant-chat__error"},p))):!w||!u?e.createElement(P,{center:!0,fadeIn:!0}):e.createElement(w,{block:t,session:s,workflow:n,assistantReply:u,initialUserContent:S,onContactClick:C,contactButtonText:t.assistantContactButtonText||void 0})};function _(t,n,r,s){t.send({kind:"ClickResourceCenter",sessionId:n.id,description:r?je(r.name,{lookupAttribute:L(n.data)})+(s?` - ${s}`:""):s},{batch:!0})}function sn({bodyRef:t,loading:n,loadingMore:r,truncated:s,loadMoreHelper:o}){l.useEffect(()=>{const c=t.current;if(!c||n||r||s)return;const a=()=>{c.scrollHeight-c.clientHeight-c.scrollTop>400||o()};return c.addEventListener("scroll",a),()=>{c.removeEventListener("scroll",a)}},[t,n,r,s,o])}function on(t,n,r){if(n.chatProvider){const s=Ue[n.chatProvider];try{s.show({block:n})}catch(o){console.error(`Userflow.js: Error when showing ${n.chatProvider}:`,o)}r()}else t.draftMode&&window.alert("You have not selected a chat provider. Go to the resource center builder in Userflow. Click the Contact block. Pick a chat provider in the side panel.")}function st(t,n){t.setResourceCenterSession(r=>r?{...r,version:{...r.version,resourceCenter:{...r.version.resourceCenter,blocks:r.version.resourceCenter.blocks.map(s=>s.type===k.ANNOUNCEMENTS?{...s,unreadAnnouncementCount:n.level===B.SILENT?s.unreadAnnouncementCount:s.unreadAnnouncementCount-1,popoutAnnouncement:s.popoutAnnouncement?.id===n.id?null:s.popoutAnnouncement,boosterAnnouncement:s.boosterAnnouncement?.id===n.id?null:s.boosterAnnouncement}:s)}}}:null),t.send({kind:"MarkAnnouncementSeen",announcementId:n.id,versionId:n.versionId}),t.toggleUI()}function cn(t){return t?.version.resourceCenter?.blocks.find(n=>n.type===k.ANNOUNCEMENTS)||null}function ye(t){const n=t?new Date(t):new Date;let r=new Intl.DateTimeFormat(Ne.language,{weekday:"long",day:"numeric",month:"short",year:n.getFullYear()===new Date().getFullYear()?void 0:"numeric"}).format(n);return r.substring(0,1).toUpperCase()+r.substring(1)}const qr=Object.freeze(Object.defineProperty({__proto__:null,FloatingAnnouncements:Jt,LauncherUnreadBadge:Gt,ModalAnnouncement:Yt,ResourceCenterApp:Wt,default:Wt,formatAnnouncementTime:ye,getAnnouncementsBlock:cn,markAnnouncementSeen:U,syncAnnouncementSeen:st},Symbol.toStringTag,{value:"Module"}));export{mr as A,dr as G,Gt as L,qr as R,Zt as d,ye as f,U as m,hr as s};
2
+ import{x as k,J as W,K as Fe,k as Se,I as ce,G as Nn,L as B,N as gt,O as Ct,E as jn,r as yn,Q as An,X as In,a as kt,Y as St,Z as Tn,$ as Nt,_ as Rn}from"./userflow.js";import{r as l,R as e}from"./vendor.react.js";import{u as x,i as Ne}from"./client-context.js";import{f as jt,a as _n,w as yt,C as Ln,N as xn}from"./flow-host.styl.js";import{S as ae,s as je,c as le,R as H,h as Bn,n as Mn,u as zt}from"./TreeDoc.js";import{g as _}from"./flow-condition-types.js";import{D as y,a as ne,u as At,g as Pe}from"./stylesheets.js";import{b as Je}from"./use-selector-element-monitoring.js";import{F as Ye}from"./Frame.js";import{o as F}from"./vendor.obj-str.js";import{M as Oe,e as It,h as Tt}from"./roots.js";import{u as Dn}from"./use-window-resize.js";import{S as Fn}from"./logomark.js";import"./vendor.core-js.js";import{f as Pn,C as On}from"./ChecklistUI.js";import{L as Un,D as et,b as Wn,M as Hn,N as $n,K as Vt,O as te,B as zn,P as Vn,Q as Kn,R as Qn}from"./vendor.fortawesome.pro-regular-svg-icons.js";import{F as qn,B as Zn}from"./FlowChrome.js";import{a as ie,S as P,b as Kt,A as Gn,u as tt}from"./AnnouncementEngagement.js";import{m as Rt}from"./vendor.memoize-one.js";import{B as Qt}from"./vendor.bignumber.js.js";import{u as Xn}from"./use-element-rect.js";import{u as re}from"./vendor.react-i18next.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},n=new Error().stack;n&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[n]="90f5d251-9544-4785-995c-f5b63b5715f5",t._sentryDebugIdIdentifier="sentry-dbid-90f5d251-9544-4785-995c-f5b63b5715f5")}catch{}})();function Jn(t,n,r){return!t.resourceCenterAutoDividers||n===k.DIVIDER||r===k.DIVIDER?!1:_t(n)||_t(r)}function _t(t){return t!==k.ACTION&&t!==k.ANNOUNCEMENTS&&t!==k.ASSISTANT&&t!==k.CONTACT&&t!==k.FLOWS&&t!==k.KNOWLEDGE_BASE&&t!==k.SUBPAGE}const f=window,Ue={[W.CRISP]:{configure:({onShow:t,onHide:n})=>{Yn();let r=!1,s=!1;const o=()=>{r||s?(f.$crisp.push(["do","chat:show"]),t()):(f.$crisp.push(["do","chat:hide"]),n())},c=()=>{r=!0,o()};f.$crisp.push(["on","chat:opened",c]);const a=()=>{r=!1,o()};f.$crisp.push(["on","chat:closed",a]);const i=()=>{s=!0,o()};f.$crisp.push(["on","message:received",i]);const w=()=>{const h=document.getElementById("crisp-chatbox");if(!h||window.getComputedStyle(h).display!=="block")return!1;const p=h.querySelector('[data-id="new_messages"]');return!(!p||window.getComputedStyle(p).display!=="block")},m=()=>{const h=w();h!==s&&(s=h,o())},u=window.setInterval(m,200);return()=>{f.$crisp.push(["off","chat:opened",c]),f.$crisp.push(["off","chat:closed",a]),f.$crisp.push(["off","message:received",i]),window.clearInterval(u)}},show:()=>{f.$crisp.push(["do","chat:show"]),f.$crisp.push(["do","chat:open"])},hide:()=>{f.$crisp.push(["do","chat:hide"]),f.$crisp.push(["do","chat:close"])}},[W.CUSTOM]:{configure:()=>()=>{},show:({block:t})=>{try{new Function(`"use strict";
3
+ `+t.chatCode)()}catch(n){console.error(`Userflow.js: Showing custom chat provider failed. Code: ${t.chatCode}`,n)}},hide:()=>{}},[W.FRESHCHAT]:{configure:({onShow:t,onHide:n})=>{if(!f.fcWidget)throw new Error("Freshchat is not installed");let r=!1,s=!1;const o=()=>{r||s?t():n()},c=()=>{r=!0,o()};f.fcWidget.on("widget:opened",c);const a=()=>{r=!1,o()};f.fcWidget.on("widget:closed",a);const i=()=>{const m=!!document.querySelector("#fc_frame.h-open-notify");m!==s&&(s=m,o())},w=window.setInterval(i,200);return f.fcWidget.on("unreadCount:notify",i),()=>{f.fcWidget.off("widget:opened",c),f.fcWidget.off("widget:closed",a),f.fcWidget.off("unreadCount:notify",i),window.clearInterval(w)}},show:()=>{f.fcWidget.open()},hide:()=>{f.fcWidget.close()}},[W.HELPSCOUT]:{configure:({onShow:t,onHide:n})=>{if(!f.Beacon)throw new Error("Help Scout is not installed");er();let r=!1,s=!1;const o=()=>{r||s?(Bt(),t()):(We(),n())},c=()=>{r=!0,o()};f.Beacon("on","open",c),f.Beacon("info")?.status.isOpened&&c();const a=()=>{r=!1,o()};f.Beacon("on","close",a);const i=()=>{const m=!!document.querySelector(".BeaconNotificationsFrame");m!==s&&(s=m,o())},w=window.setInterval(i,200);return()=>{f.Beacon("off","open",c),f.Beacon("off","close",a),window.clearInterval(w)}},show:()=>{Bt(),f.Beacon("open")},hide:()=>{We(),f.Beacon("close")}},[W.HUBSPOT]:{configure:({onShow:t,onHide:n})=>{const r=()=>{const c=document.getElementById("hubspot-messages-iframe-container");if(!f.HubSpotConversations||!c)return;window.clearInterval(o),tr();let a=!1,i=!1;const w=()=>{a||i?(He(),t()):($e(),n())},m=()=>{const p=!!document.querySelector("#hubspot-messages-iframe-container .hs-shadow-container.active");p!==a&&(a=p,w())},u=new Oe(m);u.observe(c,{attributes:!0,subtree:!0,attributeFilter:["class"]}),m();const h=({unreadCount:p})=>{const E=p>0;E!==i&&(i=E,w())};f.HubSpotConversations.on("unreadConversationCountChanged",h),s=()=>{u.disconnect(),f.HubSpotConversations.off("unreadConversationCountChanged",h)}};let s=()=>{window.clearInterval(o)};const o=window.setInterval(r,100);return r(),()=>{s()}},show:()=>{He(),f.HubSpotConversations.widget.open()},hide:()=>{$e(),f.HubSpotConversations.widget.close()}},[W.INTERCOM]:{configure:({onShow:t,onHide:n})=>{if(!f.Intercom)throw new Error("Intercom is not installed");return nr(),ze.add(t),Ve.add(n),()=>{ze.delete(t),Ve.delete(n)}},show:()=>{qt(),f.Intercom("show")},hide:()=>{Ke(),f.Intercom("hide")}},[W.ZENDESK]:{configure:({onShow:t,onHide:n})=>{if(!f.zE)throw new Error("Zendesk is not installed");rr();let r=!1,s=!1;const o=()=>{r||s?(f.zE("webWidget","show"),t()):(f.zE("webWidget","hide"),n())},c=()=>{r=!0,s=!1,o()};Qe.add(c);const a=()=>{r=!1,s=!1,o()};qe.add(a);const i=w=>{const m=w>0;m!==s&&(s=m,o())};return Ze.add(i),()=>{Qe.delete(c),qe.delete(a),Ze.delete(i)}},show:()=>{f.zE("webWidget","show"),f.zE("webWidget","open")},hide:()=>{f.zE("webWidget","hide"),f.zE("webWidget","close")}},[W.ZENDESK_MESSENGER]:{configure:({onShow:t,onHide:n})=>{if(!f.zE)throw new Error("Zendesk is not installed");const r=()=>{t()},s=()=>{n()};return Ge.add(r),Xe.add(s),sr(),()=>{Ge.delete(r),Xe.delete(s)}},show:()=>{f.zE("messenger","open")},hide:()=>{f.zE("messenger","close")}}};let Lt=!1;function Yn(){Lt||(Lt=!0,f.$crisp||(f.$crisp=[]),f.$crisp.push(["do","chat:hide"]))}let xt=!1;function er(){xt||(xt=!0,We())}function Bt(){f.Beacon("config",{display:{style:"icon"}})}function We(){f.Beacon("config",{display:{style:"manual"}})}let Mt=!1,nt=!1;function tr(){Mt||(Mt=!0,nt?He():$e())}function He(){nt=!0,document.getElementById("hubspot-messages-iframe-container")?.style.setProperty("visibility","visible","important")}function $e(){nt=!1,document.getElementById("hubspot-messages-iframe-container")?.style.setProperty("visibility","hidden","important")}let Dt=!1,ze=new Set,Ve=new Set;function nr(){if(Dt)return;Dt=!0,Ke();let t=!1,n=!1;const r=()=>{qt();for(const a of ze)a()},s=()=>{Ke();for(const a of Ve)a()},o=()=>{t||n?r():s()};f.Intercom("onShow",()=>{t=!0,o()}),f.Intercom("onHide",()=>{t=!1,o()});const c=()=>{const a=!!document.querySelector('iframe[name="intercom-borderless-frame"], iframe[name="intercom-notifications-frame"]');n!==a&&(n=a,o())};f.Intercom("onUnreadCountChange",()=>{c()}),window.setInterval(c,200)}function qt(){f.Intercom("update",{hide_default_launcher:!1,vertical_padding:20})}function Ke(){f.Intercom("update",{hide_default_launcher:!0,vertical_padding:100})}let Ft=!1,Qe=new Set,qe=new Set,Ze=new Set;function rr(){Ft||(Ft=!0,f.zE("webWidget","hide"),f.zE("webWidget","close"),f.zE("webWidget:on","open",()=>{for(const t of Qe)t()}),f.zE("webWidget:on","close",()=>{for(const t of qe)t()}),f.zE("webWidget:on","chat:unreadMessages",t=>{for(const n of Ze)n(t)}))}let Pt=!1,Ge=new Set,Xe=new Set;function sr(){Pt||(Pt=!0,f.zE("messenger:on","open",function(){for(const t of Ge)t()}),f.zE("messenger:on","close",function(){for(const t of Xe)t()}))}const or=t=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100"},t),l.createElement("path",{fill:"currentColor",d:"M24.049 79.74h36.003c8.185 0 15.985-6.621 17.43-14.814l6.091-34.556h3.997c8.149 0 13.645 6.63 12.2 14.815l-7.051 40C91.274 93.363 83.474 100 75.288 100h-40c-8.185 0-13.645-6.667-12.2-14.815l.96-5.444Z"}),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.437 69.63h40c8.148 0 15.978-6.637 17.422-14.815l7.052-40C78.355 6.63 72.896 0 64.711 0h-40C16.533 0 8.726 6.63 7.281 14.815l-7.052 40C-1.215 62.963 4.252 69.63 12.437 69.63Zm33.628-33.798c3.756-2.064 8.725-4.795 9.907-11.844C57.385 15.458 50.065 8.983 42.168 9c-7.452 0-12.771 3.195-17.508 8.892-.858 1.034-.884 2.45-.053 3.212l3.472 3.196c.847.767 2.25.589 3.176-.406 2.842-3.068 4.869-4.83 8.51-4.83 2.864 0 6.077 1.934 5.59 4.847-.37 2.223-2.292 3.334-5.4 5.001l-.28.151c-3.582 1.92-8.134 4.362-9.124 10.247l-.16.956c-.055.28-.05.571.014.85.065.278.188.538.362.76.173.222.391.4.639.522.247.121.518.183.79.18h6.744a2.709 2.709 0 0 0 1.712-.688c.481-.426.81-1.01.934-1.657l.095-.556c.266-1.582 2.101-2.59 4.384-3.845ZM32.837 59c3.552 0 6.955-3.034 7.58-6.769.63-3.729-1.742-6.763-5.293-6.763-3.552 0-6.934 3.028-7.58 6.763C26.9 55.966 29.286 59 32.837 59Z"})),cr=200;function rt(t,n){const[r,s]=l.useState(t),o=l.useRef(void 0),c=l.useCallback(i=>{window.clearTimeout(o.current),s(i),n(i)},[n]),a=l.useCallback(i=>{window.clearTimeout(o.current),s(i),o.current=window.setTimeout(()=>{n(i)},cr)},[n]);return l.useEffect(()=>()=>{window.clearTimeout(o.current)},[]),[r,a,c]}const ar={xs:[16,3],sm:[24,4],md32:[32,4],md:[40,4],lg:[56,4]};class lr extends e.PureComponent{constructor(){super(...arguments),this.memoizedBgStyle=Rt(n=>({strokeWidth:`${n}px`})),this.memoizedFillStyle=Rt((n,r,s)=>({strokeWidth:`${n}px`,strokeDasharray:r*2*Math.PI*new Qt(s).toNumber()+"px, 1000"}))}render(){const{props:n}=this,{size:r,indeterminate:s,className:o,center:c,right:a,color:i}=this.props,w=["progress-spinner"];r&&w.push(`progress-spinner--${r}`),s&&w.push("progress-spinner--indeterminate"),o&&w.push(o);const m=s?.25:n.progress||0,[u,h]=ar[r||"md"],p=u/2,E=(u-h)/2;let S=e.createElement("div",{className:w.join(" ")},e.createElement("svg",{viewBox:`0 0 ${u} ${u}`,version:"1.1",xmlns:"http://www.w3.org/2000/svg"},e.createElement("circle",{className:"progress-spinner__bg",fill:"none",cx:p,cy:p,r:E,style:this.memoizedBgStyle(h)}),e.createElement("circle",{className:i==="purple"?"progress-spinner__fill-purple":"progress-spinner__fill",fill:"none",cx:p,cy:p,r:E,transform:`translate(${p}, ${p}) rotate(-90) translate(-${p}, -${p})`,style:this.memoizedFillStyle(h,E,m)})));return c?S=e.createElement("div",{className:"progress-spinner-center-aligner"},S):a&&(S=e.createElement("div",{className:"progress-spinner-right-aligner"},S)),S}}const ir=({textareaRef:t,value:n,onChange:r,onBlur:s,onKeyDown:o,onMouseDown:c,placeholder:a,maxLength:i,disabled:w,readOnly:m,className:u,mirrorClassName:h,textareaClassName:p,icon:E,onIconClick:S,loading:v=!1,children:C})=>{let j=n||a||"";(j===""||j.endsWith(`
4
+ `))&&(j+=" "),u=u||"growing-textarea",h=h||u+"__mirror";const[L,N]=l.useState(!1);return e.createElement("div",{className:F({[u]:!0,[`${u}__loading`]:v})},e.createElement("div",{className:h+" "+(p||"")},j),e.createElement("textarea",{ref:t,value:n,onChange:T=>r&&r(T.target.value),onBlur:s,onKeyDown:T=>{if(T.key==="Enter"&&L){T.preventDefault();return}o&&o(T)},onMouseDown:c,placeholder:a,maxLength:i,disabled:w||v,readOnly:m,className:F({"growing-textarea__input":!0,[p||""]:!0,[`${u}__with-icon`]:!!E,[`${u}__loading-input`]:v}),onCompositionStart:()=>N(!0),onCompositionEnd:()=>N(!1)}),E&&!v&&e.createElement("div",{className:`${u}__icon`},e.createElement("button",{className:"btn btn--plain-blue btn--square btn--md32",onClick:S},e.createElement(y,{icon:E}))),v&&e.createElement("div",{className:`${u}__loader`},e.createElement(lr,{indeterminate:!0,size:"xs",color:"purple"})),C)},ur=({textareaRef:t,value:n,onChange:r,onSubmit:s,placeholder:o,readOnly:c})=>{const a=()=>{s&&s()};return e.createElement("div",{className:"userflowjs-assistant-chat-input"},e.createElement(ir,{textareaRef:t,className:"userflowjs-growing-textarea",mirrorClassName:"userflowjs-growing-textarea__mirror",textareaClassName:"userflowjs-textarea userflowjs-assistant-chat-input__textarea",placeholder:o,readOnly:c,value:n||"",onChange:r,onKeyDown:i=>{!i.shiftKey&&i.key==="Enter"&&(i.preventDefault(),a())}}),e.createElement("button",{"data-testid":"assistant-chat-input-submit",className:"userflowjs-assistant-chat-input__submit",onClick:()=>a()},e.createElement(y,{icon:Un})))};function dr(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}function Zt(t){return Fe.linkUrlDecorator?Fe.linkUrlDecorator(t):t}function mr(t){if(!t)return null;let n;"block"in t&&t.block!=null&&(n=t.block.cvid);const r={kind:t.kind,blockCvid:n};switch(t.kind){case"announcementShow":r.announcementId=t.announcementId;break}return JSON.stringify(r)}function Ot(t,n){if(!n)return null;const r=JSON.parse(n);let s;if(r.blockCvid&&(s=t.version.resourceCenter?.blocks.find(c=>c.cvid===r.blockCvid)),!s&&r.kind!=="search")return null;const o={kind:r.kind,block:s};switch(o.kind){case"announcementShow":o.announcementId=r.announcementId;break}return o}const Ut=5,fr=async()=>(await Rn(async()=>{const{ResourceCenterAssistantChat:t}=await import("./ResourceCenterAssistantChat.js");return{ResourceCenterAssistantChat:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]))).ResourceCenterAssistantChat,Wt=({session:t,isOpen:n,flowSession:r,checklistSession:s,resourceCenterLauncherHidden:o})=>{const c=x(),{t:a}=re(),{company:i}=t.flow,{version:w}=t,m=w.resourceCenter,u=ne(w.theme),h=m.launcherType??Se.DEFAULT,p=l.useMemo(()=>h===Se.CUSTOM?!1:o===!1?!0:o===!0?!1:h===Se.DEFAULT,[h,o]),E=t.locale?t.locale.standardLocaleId:t.version.theme.languageId;l.useEffect(()=>{Ne.changeLanguage(E)},[E]);const{loaded:S}=At(window,jt,u),[v,C]=l.useState(!1),j=S&&v,[L,N]=l.useState(It()),[T,O]=l.useState(Tt()),Ae=l.useCallback(()=>{N(It()),O(Tt())},[]);Dn(Ae);const{zIndex:se,bringToFront:oe}=_n(),[$,Ie]=l.useState(null),[V,K]=l.useState(null),[G,de]=l.useState(null),me=l.useRef(null),[z,an]=l.useState(null),[ot,ln]=l.useState(null),[ct,un]=l.useState(null),[dn,mn]=l.useState(0),[fn,hn]=l.useState(0),fe=l.useCallback(()=>{V&&mn(Math.round(V?.offsetWidth||0)),hn(Math.round((G?.offsetHeight||0)+(z?.offsetHeight||0)+(ot?.offsetHeight||0)+(ct?.offsetHeight||0)))},[V,G,z,ot,ct]);l.useLayoutEffect(()=>{if(!$||typeof Oe!="function")return;const d=new Oe(()=>{fe()});return d.observe($,{childList:!0,attributes:!0,subtree:!0}),()=>{d.disconnect()}},[$,fe]),l.useLayoutEffect(()=>{fe()},[fe]);const[at,lt]=l.useState(!1),Te=l.useRef(),he=l.useCallback(()=>{lt(!0),window.clearTimeout(Te.current),Te.current=window.setTimeout(()=>{lt(!1)},u.resourceCenterTransitionDuration)},[u.resourceCenterTransitionDuration]);l.useEffect(()=>()=>{window.clearTimeout(Te.current)},[]);const we=l.useCallback(()=>{oe(),he(),c.openResourceCenter()},[oe,c,he]),Re=l.useCallback(()=>{he(),c.closeResourceCenter()},[c,he]),[it,X]=l.useState(!1);l.useEffect(()=>{if(it){if(!dr())if(n){const d='button:not([tabindex="-1"]), [tabindex]:not([tabindex="-1"]), input, textarea';let g=z?.querySelector(".userflowjs-assistant-chat-input textarea")||z?.querySelector(d)||G?.querySelector(d);if(g){const I=g.closest&&g.closest(".userflowjs-resource-center-checklist")||null;I?Pn(I):g.focus({preventScroll:!0})}}else V?.focus({preventScroll:!0});X(!1)}},[it,n,z,G,V]),l.useEffect(()=>{const d=$?.ownerDocument.defaultView;if(!n||!d)return;const g=I=>{I.key==="Escape"&&(Re(),X(!0))};return d.addEventListener("keydown",g),()=>d.removeEventListener("keydown",g)},[n,$,X,Re]);const[b,Ee]=l.useState(()=>Ot(t,ce.getItem(`resourceCenterRoute:v1:${t.id}`))),M=l.useCallback((d,g)=>{Ee(d);const I=mr(d);I?ce.setItem(`resourceCenterRoute:v1:${t.id}`,I):ce.removeItem(`resourceCenterRoute:v1:${t.id}`),g?.detail===0&&X(!0)},[t.id]);l.useEffect(()=>{const d=g=>{M(g)};return c.on("private:resourceCenterNavigate",d),()=>c.off("private:resourceCenterNavigate",d)},[c,t,M]),l.useEffect(()=>{const d=ce.getItem(`resourceCenterRoute:v1:${t.id}`);Ee(Ot(t,d))},[t]),l.useEffect(()=>{if(!t.draftMode||!b||!("block"in b)||!b.block)return;const d=m.blocks.find(g=>g.cvid===b.block.cvid);d?JSON.stringify(d)!==JSON.stringify(b.block)&&Ee({...b,block:d}):Ee(null),b.block},[t.draftMode,m,b]);const Q=l.useMemo(()=>m.blocks.filter(d=>!(d.type===k.CHECKLIST&&!s||d.type===k.DIVIDER&&u.resourceCenterAutoDividers||d.hiddenWhenFlowsActive&&d.hiddenWhenFlowsActive.some(g=>g===r?.flow.id||g===s?.flow.id))),[m,r,s,u.resourceCenterAutoDividers]),J=Q.length===1,_e=l.useMemo(()=>en(Q),[Q]);l.useEffect(()=>{if(!n||!J)return;const d=Q[0];let g=null;switch(d.type){case k.ANNOUNCEMENTS:g={kind:"announcementList",block:d};break;case k.FLOWS:g={kind:"flows",block:d};break;case k.KNOWLEDGE_BASE:g={kind:"knowledgeBase",block:d};break;case k.SUBPAGE:g={kind:"subpage",block:d};break;case k.ASSISTANT:g={kind:"assistant",block:d,initialUserContent:""};break}g&&M(g)},[n,Q,M,J]);const Le=l.useMemo(()=>!s||!m.blocks.some(d=>d.type===k.CHECKLIST)?0:Nn(s),[m,s]),D=l.useMemo(()=>m.blocks.find(d=>d.type===k.CONTACT&&d.chatEnabled&&d.chatProvider),[m]),[wn,ut]=l.useState(!1),pe=l.useCallback(()=>{c.closeResourceCenter(),D&&D.chatProvider!==W.CUSTOM&&ut(!0)},[c,D]),be=l.useCallback(()=>{ut(!1)},[]),dt=l.useCallback(()=>{if(D)try{Ue[D.chatProvider].hide({block:D}),be()}catch(d){console.error(`Userflow.js: Error when hiding ${D.chatProvider}:`,d)}},[D,be]);l.useEffect(()=>{if(!D)return;Fe.autoHide3pDisabled=!0;const d=Ue[D.chatProvider];try{const g=d.configure({block:D,onShow:pe,onHide:be});return()=>{g()}}catch(g){console.error(`Userflow.js: Error when configuring ${D.chatProvider}:`,g);return}},[D,pe,be]),l.useEffect(()=>{n&&dt()},[dt,n]);const A=cn(t),ve=l.useMemo(()=>{if(!A)return null;if(A.boosterAnnouncement){const d=A.boosterAnnouncement;if(!d.seen&&(d.level===B.TOAST||d.level===B.MODAL))return d}return A.popoutAnnouncement&&!A.popoutAnnouncement.seen?A.popoutAnnouncement:null},[A]),mt=ne(ve?.theme||w.theme);At(window,jt,p?void 0:mt);const ge=l.useCallback((d,g,I,Y,ke)=>{const vt=()=>{st(c,d)};return e.createElement(ae.Provider,{value:{...I,data:d.data}},d.level===B.MODAL&&e.createElement(Yt,{session:I,open:we,navigate:M,block:g,announcement:d,onDismiss:vt}),(d.level===B.TOAST||d.level===B.POPOUT)&&e.createElement(Jt,{session:I,open:we,navigate:M,block:g,announcement:d,onDismiss:vt,isStandalonePopout:ke?.isStandalonePopout,rcPlacement:Y.resourceCenterPlacement}))},[c,we,M]),En=(d,g,I)=>{const Y={...Pe(I),zIndex:yt(xn),position:"fixed",top:0,left:0,width:"100vw",height:"100vh",pointerEvents:d.level===B.MODAL?"auto":"none"},ke={...t,data:{...t.data,...d.data||{}}};return e.createElement(ae.Provider,{value:ke},e.createElement("div",{className:"userflowjs-theme-root",style:Y,id:"userflowjs-announcement-app"},ge(d,g,ke,I,{isStandalonePopout:d.level===B.POPOUT})))},pn=!!b&&(b.kind==="search"||b.kind==="flows"||b.kind==="knowledgeBase"),ft=b?.kind==="assistant"||b?.kind==="announcementList"||b?.kind==="announcementShow",xe=Math.min(ft?u.resourceCenterFullWidth:u.resourceCenterWidth,L-2*u.resourceCenterPaddingX),bn=540,vn=720,gn={zIndex:u.resourceCenterZIndex!=null?u.resourceCenterZIndex:n?se:yt(Ln),position:j?void 0:"absolute",visibility:j&&!wn?void 0:"hidden"},Cn={width:(n?xe:dn)+"px",height:n?Math.min(pn?bn:ft?vn:fn,T-2*u.resourceCenterPaddingY,u.resourceCenterMaxHeight==null?Number.MAX_VALUE:u.resourceCenterMaxHeight)+"px":void 0,display:!p&&!n?"none":void 0},[kn,ht]=l.useState(!1),wt=()=>{we(),X(!0)},Et=b!=null&&(!J||b.kind==="announcementShow"),q=b&&"block"in b?b.block:null;let pt=m.headerText;b!=null&&!Et&&q&&(pt=je(q.name,{lookupAttribute:_(t.data)}));const Be=!J&&q?e.createElement("div",{className:"userflowjs-resource-center-list-route-title"},e.createElement(le,{doc:q.name,lookupAttribute:_(t.data)})):null,bt=u.resourceCenterDisplayChecklistProgress&&s&&Le>0?e.createElement("div",{"data-testid":"resource-center-launcher-badge",className:"userflowjs-resource-center-launcher-badge"},Le,e.createElement("div",{className:"userflowjs-a11y-only"},"uncompleted tasks")):null;let Ce="",Me="";u.resourceCenterLauncherTextMode===gt.CHECKLIST_OVERRIDE&&s&&Le>0?Ce=s.version.checklist?.launcherText||"Get Started":u.resourceCenterLauncherTextMode!==gt.NONE&&(Me=m.buttonText);const De=ve?.level,Sn=De===B.MODAL||De===B.TOAST||De===B.POPOUT&&(h!==Se.CUSTOM||o===!0);return!p&&!n&&ve&&A&&Sn?En(ve,A,mt):e.createElement(ae.Provider,{value:t},e.createElement("div",{"data-testid":"resource-center-app",className:"userflowjs-resource-center-app userflowjs-theme-root",style:Pe(u),dir:Ne.dir()},e.createElement("div",{className:F({"userflowjs-resource-center":!0,"userflowjs-resource-center--fixed":!0,[`userflowjs-resource-center--placement-${u.resourceCenterPlacement.toLowerCase().replace(/_/g,"-")}`]:!0}),style:gn},e.createElement("div",{className:"userflowjs-resource-center-frame-wrapper",onMouseEnter:()=>ht(!0),onMouseLeave:()=>ht(!1)},e.createElement(Ye,{className:F({"userflowjs-resource-center-frame":!0,"userflowjs-resource-center-frame--animating":at,"userflowjs-resource-center-frame--open":n,"userflowjs-resource-center-frame--closed":!n}),style:Cn,stylesheet:Je,theme:u,onStylesheetsLoad:C,title:"Resource center"},j&&e.createElement(e.Fragment,null,e.createElement("div",{ref:Ie,className:F({"userflowjs-resource-center-frame-root":!0,[`userflowjs-resource-center-frame-root--placement-${u.resourceCenterPlacement.toLowerCase().replace(/_/g,"-")}`]:!0,"userflowjs-resource-center-frame-root--animating":at,"userflowjs-resource-center-frame-root--open":n,"userflowjs-resource-center-frame-root--closed":!n}),role:n?"dialog":void 0,"aria-label":n?m.headerText:void 0},p&&e.createElement("div",{className:"userflowjs-resource-center-launcher-container"},e.createElement("button",{ref:K,className:F({"userflowjs-resource-center-launcher-button":!0,"userflowjs-resource-center-launcher-button--hover":kn}),onClick:wt,"aria-label":`Open ${m.headerText}`},bt,Ce&&e.createElement("div",{"data-testid":"resource-center-launcher-text",className:"userflowjs-resource-center-launcher-text"},Ce),(bt||Ce)&&e.createElement("div",{className:"userflowjs-resource-center-launcher-divider"}),Me&&e.createElement("div",{"data-testid":"resource-center-launcher-text",className:"userflowjs-resource-center-launcher-text"},Me),e.createElement("div",{className:"userflowjs-resource-center-launcher-icon"},u.resourceCenterLauncherIconType===Ct.PLAINTEXT?"?":u.resourceCenterLauncherIconType===Ct.DEFAULT?e.createElement(or,null):u.rcIconAsset&&u.rcIconAsset.assetUrl?e.createElement("img",{src:u.rcIconAsset.assetUrl,className:"company-icon",style:{height:`${u.rcIconSize}px`,width:`${u.rcIconSize}px`}}):e.createElement("span",null)))),e.createElement("div",{ref:me,className:"userflowjs-resource-center-body",style:{width:xe+"px"}},e.createElement("div",{ref:an,className:F({"userflowjs-resource-center-body-content":!0,"userflowjs-resource-center-body-content--padding":b?.kind!=="assistant","userflowjs-resource-center-body-content--same-background":u.sameBackground,"userflowjs-resource-center-body-content--with-made-with-userflow":i.resourceCenterBranding})},n&&e.createElement(e.Fragment,null,b?b.kind==="search"?e.createElement(hr,{session:t,navigate:M}):b.kind==="email"?e.createElement(wr,{block:b.block,session:t}):b.kind==="phone"?e.createElement(Er,{block:b.block,session:t}):b.kind==="flows"?e.createElement(pr,{block:b.block,initialQ:b.initialQ,session:t,navigate:M,title:Be}):b.kind==="knowledgeBase"?e.createElement(br,{block:b.block,initialQ:b.initialQ,session:t,bodyRef:me,title:Be}):b.kind==="subpage"?e.createElement(vr,{block:b.block,session:t}):b.kind==="announcementList"||b.kind==="announcementShow"?e.createElement(gr,{bodyRef:me,session:t,route:b,navigate:M,title:Be}):b.kind==="assistant"?e.createElement(Sr,{block:b.block,initialUserContent:b.initialUserContent,session:t,navigate:M,chatBlock:D,onChatShow:pe}):null:e.createElement(e.Fragment,null,Q.map((d,g)=>{const I=ue[d.type],Y=Q[g+1];return I?e.createElement(e.Fragment,{key:d.id},e.createElement(I.View,{session:t,flowSession:r,checklistSession:s,block:d,navigate:M,onChatShow:pe}),Y&&Jn(u,d.type,Y.type)&&e.createElement("div",{className:"userflowjs-resource-center-divider"})):null}))))),i.resourceCenterBranding&&e.createElement("div",{className:"userflowjs-resource-center-made-with-userflow"},e.createElement("div",{className:"userflowjs-resource-center-made-with-userflow-content",ref:ln},e.createElement("a",{href:"https://userflow.com/?utm_source=made-with-userflow&utm_medium=link&utm_campaign=made-with-userflow-"+i.slug+"&utm_content=resource-center",target:"_blank",rel:"noopener noreferrer"},e.createElement(Fn,null),e.createElement("div",null,"Made with Userflow")))),t.draftMode&&e.createElement("div",{className:"userflowjs-resource-center-preview"},e.createElement("div",{ref:un,className:"userflowjs-resource-center-preview-content"},e.createElement("div",{className:"userflowjs-resource-center-preview-text"},"Preview"),e.createElement("button",{className:"userflowjs-resource-center-preview-button",onClick:()=>{c.endFlow(t,{endReason:jn.USER_CLOSED})}},e.createElement(y,{icon:et})))),e.createElement("div",{className:"userflowjs-resource-center-header",style:{width:xe+"px"}},e.createElement("div",{ref:de,className:"userflowjs-resource-center-header-content"},Et?e.createElement("button",{className:"userflowjs-resource-center-icon-button",onClick:d=>M(b?.kind==="announcementShow"?{kind:"announcementList",block:b.block}:null,d)},e.createElement("div",{className:"userflowjs-rtl-mirrored"},e.createElement(y,{icon:Wn})),e.createElement("div",{className:"userflowjs-resource-center-icon-button__text"},a("resource_center.back"))):e.createElement("div",{className:F({"userflowjs-resource-center-header-text":!0,"userflowjs-resource-center-header-text--with-icon":!!(J&&q?.icon)})},J&&q?.icon&&e.createElement(y,{icon:q.icon,size:16}),pt),e.createElement("div",{className:"flex-1"}),_e.length>0&&e.createElement("button",{className:"userflowjs-resource-center-icon-button",onClick:()=>{let d={kind:"search"};if(_e.length===1){const g=_e[0],I=ue[g.type];I.routeTo&&(d=I.routeTo({block:g}))}b?.kind==="search"?M(null):(R(c,t,null,"Search icon"),M(d))},"aria-label":"Search"},e.createElement(y,{icon:Hn})),e.createElement("button",{className:"userflowjs-resource-center-icon-button userflowjs-resource-center-close-button",onClick:d=>{Re(),d.detail===0&&X(!0)},"aria-label":`Close ${m.headerText}`},e.createElement(y,{icon:$n}))))))),!n&&!r&&p&&A&&A.unreadAnnouncementCount>0&&e.createElement(Gt,{theme:u,count:A.unreadAnnouncementCount,onClick:wt})),!n&&!r&&p&&A?.popoutAnnouncement&&ge(A.popoutAnnouncement,A,t,u),!n&&!r&&p&&A?.boosterAnnouncement&&A.boosterAnnouncement.level===B.MODAL&&ge(A.boosterAnnouncement,A,t,u),!n&&!r&&p&&A?.boosterAnnouncement&&A.boosterAnnouncement.level===B.TOAST&&ge(A.boosterAnnouncement,A,t,u))))},Gt=({theme:t,count:n,onClick:r,style:s})=>{const[o,c]=l.useState(!1);return e.createElement(Ye,{className:F({"userflowjs-resource-center-launcher-unread-badge":!0}),noScroll:!0,style:{position:o?void 0:"absolute",visibility:o?void 0:"hidden",...s},stylesheet:Je,theme:t,onStylesheetsLoad:c,title:"Resource center unread badge"},e.createElement(Xt,{count:n,onClick:r}))},Xt=({count:t,onClick:n})=>{let r=null;return t>9&&(t=9,r=e.createElement("span",{className:"userflowjs-unread-badge-plus"},"+")),e.createElement("div",{className:F({"userflowjs-unread-badge":!0,"userflowjs-unread-badge--clickable":!!n}),onClick:n},e.createElement("span",null,t),r)},Jt=({session:t,open:n,navigate:r,announcement:s,block:o,rcPlacement:c,onDismiss:a,isStandalonePopout:i})=>{const w=l.useRef(null),m=ne(s.theme),u=m.toastPlacement,h=!!o.boosterAnnouncement||i!==void 0&&s?.level===B.TOAST,p=u===c;let E=null,S=null;s&&(E=s.toastAutoDismiss??m.toastAutoDismiss,S=s.toastWidth?s.toastWidth:m.toastWidth);const v=x(),[C,j]=l.useState(!1),{height:L,setEl:N}=Xn();l.useEffect(()=>{const K=w.current;if(!K||E===null)return;const G=Date.now(),de=()=>{const z=1-(Date.now()-G)/(new Qt(E||0).toNumber()*1e3);z<=0?(K.style.width="0%",s&&U(v,s)):(K.style.width=`${z*100}%`,requestAnimationFrame(de))};return requestAnimationFrame(de),()=>{K&&(K.style.width="0%")}},[w.current,E,v,s,U]);const T=a||(()=>{s&&U(v,s)}),O=20,Ae=l.useMemo(()=>CSS.supports("height: 100dvh")?"dvh":"vh",[]),se=()=>{h&&s&&(U(v,s),R(v,t,o,s.title),r({kind:"announcementShow",block:o,announcementId:s.id}),n())},oe=()=>{s&&(U(v,s),R(v,t,o,s.title),r({kind:"announcementShow",block:o,announcementId:s.id}),n())},$=()=>{r({kind:"announcementShow",block:o,announcementId:s.id}),n()};if(!s)return null;const Ie=!!i&&!!c,V=(i!==void 0||!p)&&!!u&&h;return e.createElement("div",{className:F({"userflowjs-resource-center-popout":!h,"userflowjs-resource-center-toast":h,[`userflowjs-resource-center-popout-standalone--${c?.toLowerCase()?.replace(/_/g,"-")}`]:Ie,[`userflowjs-resource-center-toast--${u?.toLowerCase()?.replace(/_/g,"-")}`]:V}),style:Pe(m)},e.createElement(Ye,{className:F({"userflowjs-resource-center-popout-frame":!0}),style:{height:`calc(min(${L}px, 100${Ae} - 2 * var(--userflow-resource-center-padding-y) - var(--userflow-resource-center-collapsed-height) - ${O}px)`,position:C?void 0:"absolute",visibility:C?void 0:"hidden",...S&&h?{width:S}:{}},stylesheet:Je,theme:m,onStylesheetsLoad:j,title:"Resource center popout"},h&&e.createElement("div",{className:"userflowjs-bubble-progress--default"},e.createElement("div",{className:"userflowjs-bubble-progress__fill",ref:w})),e.createElement("div",{ref:N,className:"userflowjs-resource-center-popout-frame-root",style:{cursor:h?"pointer":"auto",padding:h&&m.toastPadding||void 0}},e.createElement("div",{onClick:se},e.createElement("h2",{className:"userflowjs-announcement-title"},e.createElement("span",{className:"userflowjs-unread-dot"}),e.createElement("span",null,s.title)),e.createElement("div",{className:"userflowjs-announcement-time"},e.createElement("div",{className:"userflowjs-announcement-time-text"},ye(s.time))),e.createElement("div",{className:"userflowjs-announcement-content userflowjs-bubble-content"},e.createElement(H,{doc:s.content,buttons:s.buttons,lookupAttribute:_(s.data)})),!h&&e.createElement(ie,{announcement:s,onMoreClick:oe,confettiColors:m.confettiColors,onSubmitSuccess:$},e.createElement("div",{className:"userflowjs-announcement-more"},e.createElement("button",{className:"userflowjs-tertiary-button",onClick:oe},e.createElement("div",null,s.moreButtonText||"Read more"),e.createElement("span",{className:"userflowjs-rtl-mirrored userflowjs-tertiary-button__icon"},e.createElement(y,{icon:Vt})))))),h&&e.createElement(e.Fragment,null,!s.reactionEnabled&&s.moreEnabled&&e.createElement("div",{onClick:se,className:"userflowjs-announcement-more--toast"},s.moreButtonText||"Read more"),e.createElement(ie,{announcement:s,onMoreClick:se,confettiColors:m.confettiColors,onSubmitSuccess:$})),e.createElement("div",{className:"userflowjs-bubble-toolbar"},e.createElement("button",{className:"userflowjs-bubble-toolbar-button",onClick:T,"aria-label":"Dismiss announcement"},e.createElement(y,{icon:et}))))),!h&&!i&&e.createElement("div",{className:"userflowjs-resource-center-popout-notch"}))},Yt=({session:t,open:n,navigate:r,announcement:s,block:o,onDismiss:c})=>{const a=x(),i=ne(s.theme),m=c||(()=>{U(a,s)}),u=()=>{U(a,s),R(a,t,o,s.title),r({kind:"announcementShow",block:o,announcementId:s.id}),n()},h=()=>{r({kind:"announcementShow",block:o,announcementId:s.id}),n()};return e.createElement(qn,{company:t.flow.company,theme:i,position:"fixed",width:s.modalWidth,stepAppearance:yn.MODAL,zIndex:i.checklistZIndex,autoHide3pEnabled:!0,onModalBackdropClick:m,noIframe:!0,isModalAnnouncement:!0},e.createElement("div",{id:"userflowjs-bubble-content",className:"userflowjs-bubble-content"},e.createElement("h1",null,s.title),e.createElement(H,{doc:s.content,buttons:s.buttons,lookupAttribute:_(s.data)}),e.createElement(ie,{announcement:s,onMoreClick:u,confettiColors:i.confettiColors,onSubmitSuccess:h},e.createElement("div",{className:"userflowjs-announcement-more--modal"},e.createElement("button",{className:"userflowjs-bubble-button--primary",onClick:u},s.moreButtonText||"Read more")))),e.createElement("div",{className:"userflowjs-bubble-toolbar"},e.createElement("button",{className:"userflowjs-bubble-toolbar-button",onClick:m,"aria-label":"Dismiss announcement"},e.createElement(y,{icon:et}))))};function en(t){return t.filter(n=>{const r=ue[n.type];return r.isSearchable?r.isSearchable(n):!!r.search})}const ue={[k.ACTION]:{View:t=>{const{block:n,session:r,flowSession:s,checklistSession:o}=t,c=x(),[a,i]=l.useState(!1),w=s?.id,m=o?.id;return l.useEffect(()=>{i(!1)},[w,m]),e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:a?void 0:()=>{R(c,r,n);const u=n.actions.find(h=>h.type===An.START_FLOW);u?u.otherFlow?.id!==o?.flow.id&&i(!0):c.closeResourceCenter(),Bn(c,r,n.actions)},disabled:a},e.createElement(ee,{...t}),e.createElement(Z,{...t}),a&&e.createElement(P,null))}},[k.ANNOUNCEMENTS]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{R(o,r,n),s({kind:"announcementList",block:n},c)}},n.unreadAnnouncementCount>0?e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(Xt,{count:n.unreadAnnouncementCount})):e.createElement(ee,{...t}),e.createElement(Z,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))}},[k.ASSISTANT]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x(),[c,a]=l.useState("");return n.assistantAppearance===In.INPUT?e.createElement("div",{className:"userflowjs-resource-center-assistant-block"},e.createElement(ur,{value:c,onChange:a,placeholder:je(n.name,{lookupAttribute:_(r.data)}),onSubmit:()=>{R(o,r,n),s({kind:"assistant",block:n,initialUserContent:c})}})):e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:()=>{R(o,r,n),s({kind:"assistant",block:n,initialUserContent:""})}},e.createElement(ee,{...t}),e.createElement(Z,{...t}))}},[k.CHECKLIST]:{View:({checklistSession:t})=>e.createElement("div",{"data-testid":"resource-center-checklist",className:"userflowjs-resource-center-checklist"},e.createElement(On,{session:t}),e.createElement(Zn,{draftMode:t.draftMode?"CHECKLIST PREVIEW":!1}))},[k.CONTACT]:{View:t=>{const{block:n,session:r,navigate:s,onChatShow:o}=t,c=x(),a=[];return n.emailEnabled&&a.push({icon:Vn,label:"Email",isRoute:!0,onClick:i=>{R(c,r,n,"Email"),s({kind:"email",block:n},i)}}),n.phoneEnabled&&a.push({icon:Kn,label:"Phone",isRoute:!0,onClick:i=>{R(c,r,n,"Phone"),s({kind:"phone",block:n},i)}}),n.chatEnabled&&a.push({icon:Qn,label:"Live-chat",isRoute:!1,onClick:()=>{R(c,r,n,"Chat"),on(r,n,o)}}),e.createElement("div",{className:F({"userflowjs-resource-center-block":!0,"userflowjs-resource-center-block--clickable":a.length===1}),onClick:a.length===1?a[0].onClick:void 0},a.length===1&&e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(y,{icon:a[0].icon})),e.createElement(Z,{...t}),a.length>1&&a.map(({icon:i,label:w,onClick:m},u)=>e.createElement("button",{key:u,className:"userflowjs-resource-center-icon-button",onClick:m,"aria-label":w},e.createElement(y,{icon:i}))),a.length===1&&a[0].isRoute&&e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))}},[k.DIVIDER]:{View:()=>e.createElement("div",{className:"userflowjs-resource-center-divider"})},[k.FLOWS]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{R(o,r,n),s({kind:"flows",block:n},c)}},e.createElement(ee,{...t}),e.createElement(Z,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))},routeTo:({block:t,initialQ:n})=>({kind:"flows",block:t,initialQ:n}),isSearchable:t=>!!t.searchEnabled,search:async({client:t,session:n,block:r,q:s})=>{const{flows:o}=await t.send({kind:"ListResourceCenterBlockFlows",sessionId:n.id,blockCvid:r.cvid},{handlesRejection:!0}),c=tn(o,s),a=c.slice(0,Ut);return{block:r,truncated:a.length===c.length,results:a.map(i=>({kind:"flow",flow:i}))}}},[k.KNOWLEDGE_BASE]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{R(o,r,n),s({kind:"knowledgeBase",block:n},c)}},e.createElement(ee,{...t}),e.createElement(Z,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))},routeTo:({block:t,initialQ:n})=>({kind:"knowledgeBase",block:t,initialQ:n}),search:async({client:t,session:n,block:r,q:s})=>{const{truncated:o,articles:c}=await t.send({kind:"SearchKnowledgeBase",sessionId:n.id,blockCvid:r.cvid,q:s,offset:0,limit:Ut},{handlesRejection:!0});return{block:r,truncated:o,results:c.map(a=>({kind:"article",article:a}))}}},[k.MESSAGE]:{View:({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-block"},e.createElement("div",{className:"userflowjs-resource-center-block-text userflowjs-bubble-content"},e.createElement(H,{doc:t.content,lookupAttribute:_(n.data)})))},[k.SUBPAGE]:{View:t=>{const{block:n,session:r,navigate:s}=t,o=x();return e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:c=>{R(o,r,n),s({kind:"subpage",block:n},c)}},e.createElement(ee,{...t}),e.createElement(Z,{...t}),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te})))}}},ee=({block:t})=>t.icon?e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(y,{icon:t.icon,size:16})):null,Z=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-block-text"},e.createElement(le,{doc:t.name,lookupAttribute:_(n.data)})),hr=({session:t,navigate:n})=>{const r=x(),s=t.version.resourceCenter.blocks,o=en(s),{t:c}=re(),a=l.useRef(null),[i,w]=l.useState(""),[m,u]=rt(i,w),[h,p]=l.useState(null);return l.useEffect(()=>{if(i.trim()===""){p(null);return}let E=!1;return(async()=>{p(null);const v=await Promise.all(s.map(async C=>{const{search:j}=ue[C.type];if(!j)return null;try{return await j({client:r,session:t,block:C,q:i})}catch(L){return console.error(`Userflow.js: Global search failed for ${C.type} block=`,C,"error=",L),null}}));E||p(v.filter(C=>C!=null&&C.results.length>0))})(),()=>{E=!0}},[r,t,s,i]),l.useEffect(()=>{a.current?.focus({preventScroll:!0})},[]),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-search"},e.createElement("input",{ref:a,className:"userflowjs-text-input",type:"text",value:m,onChange:E=>u(E.target.value),placeholder:c("resource_center.search_placeholder")})),i.trim()===""?e.createElement("div",{"data-testid":"resource-center-empty-query",className:"userflowjs-resource-center-list-route-error"},c("resource_center.search_in")," ",o.map((E,S)=>e.createElement(e.Fragment,{key:E.cvid},S>0&&(S===o.length-1?` ${c("and")} `:", "),e.createElement("b",null,e.createElement(le,{doc:E.name,lookupAttribute:_(t.data)})))),"."):h?h.length===0?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.no_results_found")):h.map(({block:E,truncated:S,results:v},C)=>{const j=ue[E.type],L=j.routeTo&&j.routeTo({block:E,initialQ:i});return e.createElement(e.Fragment,{key:E.cvid},C>0&&e.createElement("div",{className:"userflowjs-resource-center-divider"}),e.createElement("div",{className:"userflowjs-resource-center-label"},e.createElement(le,{doc:E.name,lookupAttribute:_(t.data)})),v.map((N,T)=>N.kind==="flow"?e.createElement(nn,{key:N.flow.id,block:E,session:t,flow:N.flow,navigate:n}):N.kind==="article"?e.createElement(rn,{key:T,block:E,session:t,article:N.article}):null),!S&&L&&e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:N=>{R(r,t,E),n(L,N)}},e.createElement("div",{className:"userflowjs-resource-center-block-text"},c("more"),":"," ",e.createElement(le,{doc:E.name,lookupAttribute:_(t.data)})),e.createElement("div",{className:"userflowjs-resource-center-block-nav-icon"},e.createElement(y,{icon:te}))))}):e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)))},wr=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-content-route userflowjs-bubble-content"},e.createElement(H,{doc:t.emailContent,lookupAttribute:_(n.data)})),Er=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-content-route userflowjs-bubble-content"},e.createElement(H,{doc:t.phoneContent,lookupAttribute:_(n.data)})),pr=({block:t,initialQ:n,session:r,navigate:s,title:o})=>{const{t:c}=re(),a=l.useRef(null),[i,w]=l.useState(n||""),[m,u]=rt(i,w),{data:h,error:p}=Kt({message:{kind:"ListResourceCenterBlockFlows",sessionId:r.id,blockCvid:t.cvid}}),E=h?.flows,S=l.useMemo(()=>E?tn(E,i):null,[E,i]);return l.useEffect(()=>{a.current?.focus({preventScroll:!0})},[]),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-header"},o),t.searchEnabled&&e.createElement("div",{className:"userflowjs-resource-center-list-route-search"},e.createElement("input",{ref:a,className:"userflowjs-text-input",type:"text",value:m,onChange:v=>u(v.target.value),placeholder:c("resource_center.search_placeholder")})),p?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.generic_error")):S?S.length===0?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.no_results_found")):S.map(v=>e.createElement(nn,{key:v.id,block:t,session:r,flow:v,navigate:s})):e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,{fadeIn:!0})))};function tn(t,n){const r=n.toLowerCase().trim();return r===""?t:t.filter(s=>s.name.toLowerCase().includes(r))}const nn=({block:t,session:n,flow:r,navigate:s})=>{const o=x(),[c,a]=l.useState(!1);return l.useEffect(()=>{if(!c||r.type!==kt.CHECKLIST)return;const i=()=>{o.checklistSession?.flow.id===r.id&&(w(),s(null))},w=()=>{o.off("checklistChanged",i)};return o.on("checklistChanged",i),w},[o,c,r.type,r.id,s]),e.createElement("button",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:()=>{if(R(o,n,t,r.name),o.checklistSession?.flow.id===r.id){s(null);return}o.startFlow({flowId:r.id,startReason:n.draftMode?St.DRAFT:St.RESOURCE_CENTER,replaceCurrent:!0}),a(!0);const i=je(r.url,{lookupAttribute:_(n.data)});i&&Mn(i)},disabled:c},r.iconSetting!==Tn.HIDE&&e.createElement("div",{className:"userflowjs-resource-center-block-icon"},r.icon?e.createElement(y,{icon:r.icon,size:16}):e.createElement(y,{icon:r.type===kt.CHECKLIST?"regular/tasks":"regular/shoe-prints",size:16})),n.draftMode&&!r.published&&e.createElement("div",{className:"userflowjs-resource-center-code-block"},e.createElement("div",{title:"Unpublished. Preview only"},e.createElement("code",null,"P"))),e.createElement("div",{className:"userflowjs-resource-center-block-text"},r.name),c&&e.createElement(P,null))},br=({block:t,initialQ:n,session:r,bodyRef:s,title:o})=>{const{t:c}=re(),a=l.useRef(null),[i,w]=l.useState(n||""),[m,u]=rt(i,w),{loading:h,loadingMore:p,data:E,messageForData:S,error:v,loadMore:C}=Kt({message:{kind:"SearchKnowledgeBase",sessionId:r.id,blockCvid:t.cvid,q:i,offset:0}}),j=E?.truncated,L=l.useCallback(()=>{C((T,O)=>({...O,offset:T.articles.length}),(T,O)=>({...O,articles:[...T.articles,...O.articles]}))},[C]);sn({bodyRef:s,loading:h,loadingMore:p,truncated:j,loadMoreHelper:L}),l.useEffect(()=>{a.current?.focus({preventScroll:!0})},[]);let N=t.knowledgeBaseUrl||"";return N.match(/^https?:\/\//)||(N=`http://${N}`),N=Zt(N),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-header"},o,e.createElement("a",{className:"userflowjs-resource-center-icon-button",href:N,target:"_blank",rel:"noopener noreferrer"},e.createElement(y,{icon:zn}))),e.createElement("div",{className:"userflowjs-resource-center-list-route-search"},e.createElement("input",{ref:a,className:"userflowjs-text-input",type:"text",value:m,onChange:T=>u(T.target.value),placeholder:c("resource_center.search_placeholder")})),v?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},v.code==="quota_exceeded"?"Sorry, this company has reached its max number of searches. Consider asking Userflow to be moved to a dedicated search engine for a higher quota.":v.humanMessage||c("resource_center.generic_error")):h||!E?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):E.articles.length===0?S?.q===""?null:e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.no_results_found")):e.createElement(e.Fragment,null,S?.q===""&&e.createElement("div",{className:"userflowjs-resource-center-label"},c("resource_center.suggested_articles")),E.articles.map((T,O)=>e.createElement(rn,{key:O,block:t,session:r,article:T})),p&&e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null))))},rn=({block:t,article:n,session:r})=>{const s=x();return e.createElement("a",{className:"userflowjs-resource-center-block userflowjs-resource-center-block--clickable",onClick:()=>{R(s,r,t,n.title)},href:Zt(n.url),target:"_blank",rel:"noopener noreferrer"},e.createElement("div",{className:"userflowjs-resource-center-block-icon"},e.createElement(y,{icon:"regular/file-alt",size:16})),e.createElement("div",{className:"userflowjs-resource-center-block-text"},e.createElement("span",{dangerouslySetInnerHTML:{__html:n.htmlTitle}}),e.createElement("div",{className:"userflowjs-resource-center-block-subtext",dangerouslySetInnerHTML:{__html:n.htmlSnippet}})))},vr=({block:t,session:n})=>e.createElement("div",{className:"userflowjs-resource-center-content-route userflowjs-bubble-content"},e.createElement(H,{doc:t.content,lookupAttribute:_(n.data)})),gr=({bodyRef:t,session:n,route:r,navigate:s,title:o})=>{const c=x(),[a,i]=l.useState(void 0);return l.useLayoutEffect(()=>{t.current&&a!=null&&r?.kind==="announcementList"&&(t.current.scrollTop=a)},[t,a,r?.kind]),!r||r?.kind!=="announcementList"&&r?.kind!=="announcementShow"?null:e.createElement(Gn,null,r.kind==="announcementList"&&e.createElement(Cr,{bodyRef:t,session:n,block:r.block,onMoreClick:w=>{i(t.current?.scrollTop),R(c,n,r.block,w.title),s({kind:"announcementShow",block:r.block,announcementId:w.id})},title:o}),r.kind==="announcementShow"&&e.createElement(kr,{announcementId:r.announcementId}))},Cr=({bodyRef:t,block:n,session:r,onMoreClick:s,title:o})=>{const{t:c}=re(),{announcements:a,error:i,loading:w,loadingMore:m,truncated:u,pageSize:h,loadMore:p}=tt(),[E,S]=l.useMemo(()=>{const C=[],j=[];if(a){let L=-1;for(const N of a)L++,L<h&&!N.seen&&N.level!==B.SILENT?C.push(N):j.push(N)}return[C,j]},[a,h]),v=E.length;return sn({bodyRef:t,loading:w,loadingMore:m,truncated:u,loadMoreHelper:p}),e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-resource-center-list-route-header"},o),i?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},c("resource_center.generic_error")):w?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):a.length===0?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},Ne.exists("resource_center.no_announcements",{fallbackLng:[]})?c("resource_center.no_announcements"):c("resource_center.no_results_found")):e.createElement(e.Fragment,null,v>0&&e.createElement("div",{className:"userflowjs-announcement-unread-header"},c("resource_center.unread",{count:v})),E.map(C=>e.createElement($t,{key:C.id,bodyRef:t,announcement:C,onMoreClick:()=>s(C)})),S.map(C=>e.createElement($t,{key:C.id,bodyRef:t,announcement:C,onMoreClick:()=>s(C)})),m&&e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null))))},Ht=new Set;function U(t,n){n.seen||Ht.has(n.id)||(Ht.add(n.id),st(t,n))}const $t=({bodyRef:t,onMoreClick:n,announcement:r})=>{const s=x(),o=zt(),c=ne(o.version.theme),a=l.useRef(null),{submitReaction:i,submitComment:w}=tt(),m=l.useRef(!1);return l.useEffect(()=>{if(m.current||r.seen)return;const u=new IntersectionObserver(p=>{const E=p[0];E&&E.isIntersecting&&(U(s,r),m.current=!0,h())},{root:t.current,threshold:1}),h=()=>{u.disconnect()};return u.observe(a.current),h},[t,s,r]),e.createElement("div",{className:"userflowjs-announcement-list-item"},e.createElement("div",{className:"userflowjs-announcement-time-divider"},e.createElement("div",{className:"userflowjs-announcement-time-divider-line"}),e.createElement("div",{className:"userflowjs-announcement-time-text"},ye(r.time)),e.createElement("div",{className:"userflowjs-announcement-time-divider-line"})),e.createElement("h2",{ref:a,className:"userflowjs-announcement-title"},!r.seen&&r.level!==B.SILENT&&e.createElement("span",{className:"userflowjs-unread-dot"}),e.createElement("span",null,r.title)),e.createElement("div",{className:"userflowjs-announcement-content userflowjs-bubble-content"},e.createElement(ae.Provider,{value:{...o,data:r.data}},e.createElement(H,{doc:r.content,buttons:r.buttons,lookupAttribute:_(r.data)}))),e.createElement(ie,{announcement:r,onMoreClick:n,confettiColors:c.confettiColors,onReactionChange:i,onCommentSubmit:w},e.createElement("div",{className:"userflowjs-announcement-more"},e.createElement("button",{className:"userflowjs-tertiary-button",onClick:n},e.createElement("div",null,r.moreButtonText||"Read more"),e.createElement("span",{className:"userflowjs-rtl-mirrored"},e.createElement(y,{icon:Vt}))))))},kr=({announcementId:t})=>{const n=x(),r=zt(),s=ne(r.version.theme),[o,c]=l.useState(null),{fetchAnnouncement:a,loading:i,error:w,submitComment:m,submitReaction:u}=tt(),{t:h}=re();return l.useEffect(()=>{a(t).then(c)},[t]),l.useEffect(()=>{!o||o.seen||U(n,o)},[n,o]),i?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):e.createElement(e.Fragment,null,w?e.createElement("div",{className:"userflowjs-resource-center-list-route-error"},w.humanMessage||h("resource_center.generic_error")):i||!o?e.createElement("div",{className:"userflowjs-resource-center-list-route-spinner"},e.createElement(P,null)):e.createElement(e.Fragment,null,e.createElement("div",{className:"userflowjs-announcement-show"},e.createElement("h2",{className:"userflowjs-announcement-title"},o.title),e.createElement("div",{className:"userflowjs-announcement-time"},e.createElement("div",{className:"userflowjs-announcement-time-text"},ye(o.time))),e.createElement("div",{className:"userflowjs-bubble-content"},e.createElement(ae.Provider,{value:{...r,data:o.data}},e.createElement(H,{doc:o.content,buttons:o.buttons,lookupAttribute:_(o.data)}),o.moreEnabled&&e.createElement(H,{doc:o.moreContent,buttons:o.moreButtons,lookupAttribute:_(o.data)}))),e.createElement(ie,{announcement:o,confettiColors:s.confettiColors,showMoreButton:!1,onCommentSubmit:m,onReactionChange:u}))))},Sr=({block:t,initialUserContent:n,session:r,navigate:s,onChatShow:o})=>{const c=t.assistantFlowId,a=x(),[i,w]=l.useState(null),[m,u]=l.useState(null),[h,p]=l.useState(null),[E]=l.useState(n);l.useEffect(()=>{n&&s({kind:"assistant",block:t,initialUserContent:""})},[n,t,s]),l.useEffect(()=>{let v=!1;return(async()=>{try{const j=ce.getItem("assistantConversationId:"+c),[L,N]=await Promise.all([fr(),a.send({kind:"GetAssistant",assistantFlowId:c,conversationId:j},{handlesRejection:!0,endBatch:!0})]);if(v)return;w(()=>L),u(N)}catch(j){console.error("Resource center assistant route failed to load:",j),p(j.humanMessage||"Sorry, something went wrong. Please try again or contact my human friends.")}})(),()=>{v=!0}},[a,c]);const S=l.useMemo(()=>{if(!t.assistantContactEnabled)return;const v=r.version.resourceCenter?.blocks.find(C=>C.type===k.CONTACT);if(v)return()=>{switch(R(a,r,t,t.assistantContactButtonText||void 0),t.assistantContactMethod){case Nt.EMAIL:s({kind:"email",block:v});break;case Nt.PHONE:s({kind:"phone",block:v});break;default:s(null),on(r,v,o);break}}},[a,r,t,o,s]);return h?e.createElement("div",{className:"userflowjs-assistant-chat"},e.createElement("div",{className:"userflowjs-assistant-chat__content"},e.createElement("div",{className:"userflowjs-assistant-chat__error"},h))):!i||!m?e.createElement(P,{center:!0,fadeIn:!0}):e.createElement(i,{block:t,session:r,assistantReply:m,initialUserContent:E,onContactClick:S,contactButtonText:t.assistantContactButtonText||void 0})};function R(t,n,r,s){t.send({kind:"ClickResourceCenter",sessionId:n.id,description:r?je(r.name,{lookupAttribute:_(n.data)})+(s?` - ${s}`:""):s},{batch:!0})}function sn({bodyRef:t,loading:n,loadingMore:r,truncated:s,loadMoreHelper:o}){l.useEffect(()=>{const c=t.current;if(!c||n||r||s)return;const a=()=>{c.scrollHeight-c.clientHeight-c.scrollTop>400||o()};return c.addEventListener("scroll",a),()=>{c.removeEventListener("scroll",a)}},[t,n,r,s,o])}function on(t,n,r){if(n.chatProvider){const s=Ue[n.chatProvider];try{s.show({block:n})}catch(o){console.error(`Userflow.js: Error when showing ${n.chatProvider}:`,o)}r()}else t.draftMode&&window.alert("You have not selected a chat provider. Go to the resource center builder in Userflow. Click the Contact block. Pick a chat provider in the side panel.")}function st(t,n){t.setResourceCenterSession(r=>r?{...r,version:{...r.version,resourceCenter:{...r.version.resourceCenter,blocks:r.version.resourceCenter.blocks.map(s=>s.type===k.ANNOUNCEMENTS?{...s,unreadAnnouncementCount:n.level===B.SILENT?s.unreadAnnouncementCount:s.unreadAnnouncementCount-1,popoutAnnouncement:s.popoutAnnouncement?.id===n.id?null:s.popoutAnnouncement,boosterAnnouncement:s.boosterAnnouncement?.id===n.id?null:s.boosterAnnouncement}:s)}}}:null),t.send({kind:"MarkAnnouncementSeen",announcementId:n.id,versionId:n.versionId}),t.toggleUI()}function cn(t){return t?.version.resourceCenter?.blocks.find(n=>n.type===k.ANNOUNCEMENTS)||null}function ye(t){const n=t?new Date(t):new Date;let r=new Intl.DateTimeFormat(Ne.language,{weekday:"long",day:"numeric",month:"short",year:n.getFullYear()===new Date().getFullYear()?void 0:"numeric"}).format(n);return r.substring(0,1).toUpperCase()+r.substring(1)}const Kr=Object.freeze(Object.defineProperty({__proto__:null,FloatingAnnouncements:Jt,LauncherUnreadBadge:Gt,ModalAnnouncement:Yt,ResourceCenterApp:Wt,default:Wt,formatAnnouncementTime:ye,getAnnouncementsBlock:cn,markAnnouncementSeen:U,syncAnnouncementSeen:st},Symbol.toStringTag,{value:"Module"}));export{ur as A,ir as G,Gt as L,Kr as R,Zt as d,ye as f,U as m,mr as s};
5
5
  //# sourceMappingURL=ResourceCenterApp.js.map