@mrrocket/sdk 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +36 -1
- package/dist/api-client.d.ts +5 -4
- package/dist/api-client.js +12 -8
- package/dist/api-client.js.map +1 -1
- package/dist/api.d.ts +4 -1
- package/dist/api.js +2 -1
- package/dist/api.js.map +1 -1
- package/dist/batch.d.ts +6 -4
- package/dist/batch.js +3 -3
- package/dist/batch.js.map +1 -1
- package/dist/browser/mrrocket-flows.js +2 -2
- package/dist/browser/mrrocket-forms.js +1 -1
- package/dist/browser/mrrocket-messenger.js +2 -2
- package/dist/browser/mrrocket-push.js +1 -1
- package/dist/browser/mrrocket-replay.js +3 -3
- package/dist/browser/mrrocket.js +1 -1
- package/dist/client.d.ts +10 -2
- package/dist/client.js +36 -15
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +5 -1
- package/dist/context.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/errors.d.ts +5 -1
- package/dist/errors.js +8 -2
- package/dist/errors.js.map +1 -1
- package/dist/flows-web.d.ts +2 -0
- package/dist/flows-web.js +4 -1
- package/dist/flows-web.js.map +1 -1
- package/dist/flows.d.ts +10 -0
- package/dist/flows.js +2 -0
- package/dist/flows.js.map +1 -1
- package/dist/forms.d.ts +4 -0
- package/dist/forms.js +4 -1
- package/dist/forms.js.map +1 -1
- package/dist/identity.d.ts +42 -0
- package/dist/identity.js +24 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js.map +1 -1
- package/dist/messenger-ui.d.ts +2 -0
- package/dist/messenger-ui.js +2 -2
- package/dist/messenger-ui.js.map +1 -1
- package/dist/messenger.js +3 -2
- package/dist/messenger.js.map +1 -1
- package/dist/push-web.d.ts +2 -13
- package/dist/push-web.js +4 -2
- package/dist/push-web.js.map +1 -1
- package/dist/react-native/index.d.cts +61 -9
- package/dist/react-native/index.d.ts +61 -9
- package/dist/react-native/index.js +107 -28
- package/dist/react-native/index.js.map +1 -1
- package/dist/replay.d.ts +4 -1
- package/dist/replay.js +8 -2
- package/dist/replay.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/user-hash.d.ts +27 -0
- package/dist/user-hash.js +24 -0
- package/dist/user-hash.js.map +1 -0
- package/package.json +5 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){'use strict';var
|
|
1
|
+
(function(){'use strict';var xr=Object.defineProperty;var vr=(a,n,s)=>n in a?xr(a,n,{enumerable:true,configurable:true,writable:true,value:s}):a[n]=s;var Wt=(a,n,s)=>vr(a,n+"",s);var yr="401: sign the user id on your server with userHash(id) from @mrrocket/sdk/next/server and pass identify(id, props, { hash }).",Gt=(a,n=s=>console.warn(s))=>{let s=globalThis;a!==401||s.__mrrocketUnsigned||(s.__mrrocketUnsigned=true,n(`[MRRocket] ${yr}`));};var ct=["image/png","image/jpeg","image/webp","image/gif","application/pdf"],Qt=10*1024*1024,lt=4;var Xt="https://mrrocket.dev/?utm_source=messenger&utm_medium=powered-by",Jt=a=>a==="minutes"?"We usually reply in a few minutes":a==="day"?"We usually reply within a day":"We usually reply in a few hours",Zt=a=>{let n=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(a);if(!n)return "#ffffff";let[s,p,w]=[n[1],n[2],n[3]].map(c=>{let g=parseInt(c,16)/255;return g<=.03928?g/12.92:((g+.055)/1.055)**2.4});return .2126*s+.7152*p+.0722*w>.45?"#111214":"#ffffff"},je=class extends Error{constructor(s,p){super(s);Wt(this,"status");this.status=p;}},O=a=>Object.entries(a).filter(n=>!!n[1]).map(([n,s])=>`${encodeURIComponent(n)}=${encodeURIComponent(s)}`).join("&"),F=async(a,n,s)=>{var w;let p;try{p=await fetch(a,{...n,signal:s,headers:typeof(n==null?void 0:n.body)=="string"?{"content-type":"application/json"}:void 0});}catch(c){throw c.name==="AbortError"?c:new je("Could not reach the server. Check your connection and try again.",0)}if(!p.ok){Gt(p.status);let c="";try{c=(w=(await p.json()).error)!=null?w:"";}catch(g){}throw new je(c||(p.status===429?"Too many requests. Try again in a minute.":"Something went wrong. Please try again."),p.status)}return await p.json()},dt=a=>{let n=`${a.host}/api/sdk`,s={key:a.apiKey,distinctId:a.distinctId,user:a.user,userHash:a.userHash},p={key:a.apiKey,distinctId:a.distinctId,userHash:a.userHash},w=(c,g,z)=>F(`${n}${c}`,{method:"POST",body:JSON.stringify({...s,...g})},z);return {list:(c,g)=>F(`${n}/feedback?${O({...p,board:c.board,sort:c.sort,q:c.q})}`,void 0,g),post:(c,g)=>F(`${n}/feedback/${encodeURIComponent(c)}?${O(p)}`,void 0,g),roadmap:c=>F(`${n}/feedback/roadmap?${O(p)}`,void 0,c),changelog:c=>F(`${n}/feedback/changelog?${O({key:a.apiKey})}`,void 0,c),submit:c=>w("/feedback",c),vote:c=>w(`/feedback/${encodeURIComponent(c)}/vote`,{}),comments:(c,g)=>F(`${n}/feedback/${encodeURIComponent(c)}/comments?${O({key:a.apiKey})}`,void 0,g),comment:(c,g)=>w(`/feedback/${encodeURIComponent(c)}/comments`,{body:g}),survey:(c,g)=>F(`${n}/surveys?${O({...p,url:c})}`,void 0,g),seen:c=>w(`/surveys/${encodeURIComponent(c)}/seen`,{user:void 0}),respond:(c,g)=>w(`/surveys/${encodeURIComponent(c)}/respond`,g),chat:c=>F(`${n}/messages?${O(p)}`,void 0,c),sendChat:c=>w("/messages",c),uploadChatFile:(c,g)=>{let z=new FormData;return z.append("key",a.apiKey),z.append("distinctId",a.distinctId),a.userHash&&z.append("userHash",a.userHash),"uri"in c?z.append("file",c):z.append("file",c,c.name||"file"),F(`${n}/messages/attachments`,{method:"POST",body:z},g)},attachmentUrl:c=>`${n}/messages/attachments/${encodeURIComponent(c)}?${O(p)}`,articles:(c,g)=>F(`${n}/articles?${O({key:a.apiKey,q:c})}`,void 0,g),article:(c,g)=>F(`${n}/articles/${encodeURIComponent(c)}?${O(p)}`,void 0,g),messengerLook:c=>F(`${n}/messenger?${O({key:a.apiKey})}`,void 0,c),rateArticle:(c,g)=>w(`/articles/${encodeURIComponent(c)}/rate`,{helpful:g})}};var er="ckw-styles",zr=`
|
|
2
2
|
.ckw-root{--ckw-accent:#3f76ff;--ckw-accent-ink:#fff;--ckw-bg:#fff;--ckw-bg2:#f7f7f8;--ckw-bg3:#eeeff1;--ckw-fg:#1c1d20;--ckw-fg2:#5d6068;--ckw-fg3:#8b8e96;--ckw-line:#e4e5e8;--ckw-danger:#d92d20;--ckw-shadow:0 8px 30px rgba(16,18,24,.16);--ckw-card:#fff;--ckw-col:#f5f6f7;--ckw-lift:0 1px 2px rgba(16,18,24,.06),0 0 0 1px rgba(16,18,24,.07);--ckw-raise:0 0 0 1px rgba(16,18,24,.05),0 1px 2px rgba(16,18,24,.05),0 6px 18px rgba(16,18,24,.06);--ckw-float:0 0 0 1px rgba(16,18,24,.06),0 18px 50px rgba(16,18,24,.2);--ckw-soft:0 2px 8px rgba(16,18,24,.05),0 18px 48px rgba(16,18,24,.15);
|
|
3
3
|
font-size:14px;line-height:1.45;font-family:inherit;color:var(--ckw-fg);box-sizing:border-box;-webkit-font-smoothing:antialiased}
|
|
4
4
|
.ckw-root[data-theme=dark]{--ckw-bg:#111214;--ckw-bg2:#1a1b1f;--ckw-bg3:#26272c;--ckw-fg:#f1f2f4;--ckw-fg2:#a9acb3;--ckw-fg3:#7a7d86;--ckw-line:#2a2b31;--ckw-shadow:0 8px 30px rgba(0,0,0,.5);--ckw-card:#1b1c20;--ckw-col:#16171a;--ckw-lift:0 0 0 1px rgba(255,255,255,.07);--ckw-raise:0 0 0 1px rgba(255,255,255,.07);--ckw-float:0 0 0 1px rgba(255,255,255,.09),0 18px 50px rgba(0,0,0,.55);--ckw-soft:0 0 0 1px rgba(255,255,255,.07),0 18px 50px rgba(0,0,0,.55)}
|
|
@@ -578,5 +578,5 @@ button.ckw-msgr-card:hover .ckw-msgr-go{transform:translateX(2px)}
|
|
|
578
578
|
.ckw-sv-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}
|
|
579
579
|
.ckw-thanks{text-align:center;padding:14px 0;display:flex;flex-direction:column;align-items:center;gap:8px}
|
|
580
580
|
.ckw-tick{width:32px;height:32px;border-radius:50%;background:var(--ckw-accent);color:var(--ckw-accent-ink);display:flex;align-items:center;justify-content:center}
|
|
581
|
-
`,er=()=>{if(typeof document=="undefined"||document.getElementById(Zt))return;let a=document.createElement("style");a.id=Zt,a.textContent=vr,document.head.appendChild(a);};var yr=4e3,zr=8e3,Mr=3e4,Cr=10*6e4,Er=/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/,or="ckw_msgr_seen",pt={visitor:"You",team:"Team",ai:"AI agent",auto:"Team"},Ar=()=>{var a;try{return (a=window.localStorage.getItem(or))!=null?a:""}catch(n){return ""}},Sr=a=>{try{window.localStorage.setItem(or,a);}catch(n){}},gt=a=>{let n=new Date(a).getTime();if(Number.isNaN(n))return "";let c=Math.max(0,Date.now()-n)/1e3;return c<60?"just now":c<3600?`${Math.floor(c/60)}m ago`:c<86400?`${Math.floor(c/3600)}h ago`:c<86400*30?`${Math.floor(c/86400)}d ago`:new Date(a).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})},t=(a,n={},...c)=>{let g=document.createElement(a);for(let[s,d]of Object.entries(n))g.setAttribute(s,d);for(let s of c)s!==null&&s!==false&&s!==void 0&&g.append(s);return g},he="http://www.w3.org/2000/svg",z=(a,n=16)=>{let c=document.createElementNS(he,"svg");for(let[s,d]of Object.entries({class:"ckw-icon",width:String(n),height:String(n),viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"}))c.setAttribute(s,d);let g=document.createElementNS(he,"path");return g.setAttribute("d",a),c.appendChild(g),c},u={cross:"M18 6 6 18M6 6l12 12",chat:"M7.9 20A9 9 0 1 0 4 16.1L2 22z",up:"M12 19V5M5 12l7-7 7 7",home:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",back:"m15 18-6-6 6-6",next:"m9 18 6-6-6-6",search:"M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0zM21 21l-4.3-4.3",doc:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7zM14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8",dots:"M13 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM13 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM13 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0z",expand:"M15 3h6v6M21 3l-7 7M3 21l7-7M9 21H3v-6",collapse:"m14 10 7-7M20 10h-6V4M3 21l7-7M4 14h6v6",minus:"M5 12h14",down:"m6 9 6 6 6-6",help:"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20zM9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01",clip:"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48",image:"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM9 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM21 15l-3.09-3.09a2 2 0 0 0-2.82 0L6 21",screen:"M20 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM8 21h8M12 17v4"},wt=a=>{var n,c;return a.body||(((n=a.attachments)==null?void 0:n.length)===1?`Sent ${a.attachments[0].name}`:(c=a.attachments)!=null&&c.length?`Sent ${a.attachments.length} files`:"")},Tr=()=>{var a;return typeof navigator!="undefined"&&typeof((a=navigator.mediaDevices)==null?void 0:a.getDisplayMedia)=="function"},tr="M7.9 20A9 9 0 1 0 4 16.1L2 22z",Lr=(a,n)=>{let c=document.createElementNS(he,"svg");for(let[s,d]of Object.entries({class:"ckw-icon",width:String(n),height:String(n),viewBox:"0 0 24 24",fill:"currentColor",stroke:"currentColor","stroke-width":"1.5","stroke-linejoin":"round","aria-hidden":"true"}))c.setAttribute(s,d);let g=document.createElementNS(he,"path");return g.setAttribute("d",a),c.appendChild(g),c},rr=(a,n,c,g=2)=>{let s=Lr(a,c),d=document.createElementNS(he,"path");for(let[b,H]of Object.entries({d:n,class:"ckw-cut",fill:"none","stroke-width":String(g),"stroke-linecap":"round","stroke-linejoin":"round"}))d.setAttribute(b,H);return s.appendChild(d),s},ar="M8 12h.01M12 12h.01M16 12h.01",$r="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",Ir="M9.5 15.5c1.4 1 3.6 1 5 0",jr="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z",Hr="M9.4 9.2a2.7 2.7 0 0 1 5.2 1c0 1.8-2.6 2.5-2.6 2.5M12 16.8h.01",ue=(()=>{let a=null,n=()=>{var g;let c=(g=window.AudioContext)!=null?g:window.webkitAudioContext;return c?(a!=null||(a=new c),a):null};return {unlock:()=>{try{let c=n();(c==null?void 0:c.state)==="suspended"&&c.resume();}catch(c){}},play:()=>{try{let c=n();if(!c||c.state!=="running")return;let g=c.currentTime;[880,1318.5].forEach((s,d)=>{let b=c.createOscillator(),H=c.createGain(),$=g+d*.11;b.type="sine",b.frequency.value=s,H.gain.setValueAtTime(1e-4,$),H.gain.exponentialRampToValueAtTime(.12,$+.012),H.gain.exponentialRampToValueAtTime(1e-4,$+.32),b.connect(H),H.connect(c.destination),b.start($),b.stop($+.34);});}catch(c){}}}})(),He=a=>a.map(n=>{let c=n.href?t("a",{href:n.href,target:"_blank",rel:"noopener noreferrer"},n.text):t("span",{},n.text);return n.code&&(c=t("code",{},c)),n.italic&&(c=t("em",{},c)),n.bold&&(c=t("strong",{},c)),c}),Pr=a=>{switch(a.type){case "h2":case "h3":return t(a.type,{},...He(a.spans));case "quote":return t("blockquote",{},...He(a.spans));case "ul":case "ol":return t(a.type,{},...a.items.map(n=>t("li",{},...He(n))));case "code":return t("pre",{},t("code",{},a.text));case "hr":return t("hr");default:return t("p",{},...He(a.spans))}},Rr=2500,nr=a=>{var $;let n=null,c=false,g=[],s=f=>n?f(n):g.push(f),d=new AbortController,b=f=>{var xe,_,I;if(n||c)return;let ie=Object.fromEntries(Object.entries(a).filter(([,v])=>v!==void 0));n=Or({...f!=null?f:{},...ie,accent:(xe=a.accent)!=null?xe:f==null?void 0:f.accent,theme:(_=a.theme)!=null?_:f==null?void 0:f.theme,branding:(I=f==null?void 0:f.branding)!=null?I:true});for(let v of g.splice(0))v(n);},H=setTimeout(()=>b(null),Rr);return (($=a.client)!=null?$:dt({host:a.host,apiKey:a.apiKey,distinctId:a.distinctId(),user:a.user()})).messengerLook(d.signal).then(f=>b(f)).catch(()=>b(null)).finally(()=>clearTimeout(H)),{open:f=>s(ie=>ie.open(f)),close:()=>n==null?void 0:n.close(),toggle:()=>s(f=>f.toggle()),destroy:()=>{c=true,d.abort(),clearTimeout(H),n==null||n.destroy();}}},Fr=["top-left","top-center","top-right","middle-left","middle-right","bottom-left","bottom-center","bottom-right"],Or=a=>{var Ft,Ot,qt,_t,Ut,Bt,Dt,Nt,Kt,Vt,Yt;er();let n=(Ft=Fr.find(e=>e===a.position))!=null?Ft:"bottom-right",c=a.title||"Support",g=a.greeting||"Hi! How can we help?",s=(Ot=a.askEmail)!=null?Ot:true,d=(qt=a.label)!=null?qt:"",b=Xt(a.replyTime),H=((_t=c.trim()[0])!=null?_t:"?").toUpperCase(),$=(Ut=a.launcher)!=null?Ut:true,f=(Bt=a.help)!=null?Bt:true,ie=(Dt=a.sound)!=null?Dt:true,xe=(Nt=a.preview)!=null?Nt:true,_=()=>{var e;return (e=a.client)!=null?e:dt({host:a.host,apiKey:a.apiKey,distinctId:a.distinctId(),user:a.user()})},I=t("div",{class:"ckw-root","data-theme":(Kt=a.theme)!=null?Kt:"auto","data-corners":a.corners==="soft"||a.corners==="square"?a.corners:"round","data-font":a.font==="system"?"system":"site","data-header":a.header==="color"?"color":"plain"});a.container&&I.setAttribute("data-contained",""),a.accent&&(I.style.setProperty("--ckw-accent",a.accent),I.style.setProperty("--ckw-accent-ink",Jt(a.accent))),(Vt=a.glow)==null||Vt.slice(0,2).forEach((e,r)=>/^#[0-9a-f]{6}$/i.test(e)&&I.style.setProperty(`--ckw-glow${r+2}`,e)),((Yt=a.container)!=null?Yt:document.body).appendChild(I);let v=false,m="home",x=null,kt=false,T="",P=null,Pe=null,E=[],ve=false,ye,V=null,S=null,D="",Re=new Set,ze=null,N=null,se=false,mt=e=>{var r;return ((r=e==null?void 0:e.messages)!=null?r:[]).filter(o=>o.from!=="visitor")},ft=e=>{var r,o;return (o=(r=mt(e).at(-1))==null?void 0:r.id)!=null?o:""},Fe=()=>v&&m==="messages"&&document.visibilityState!=="hidden",bt=e=>{let r=mt(e);if(Pe===null){let o=Ar(),l=r.findIndex(i=>i.id===o);E=e.messages.some(i=>i.from==="visitor")?r.slice(l+1).filter(i=>i.from!=="auto"):[];}else {let o=r.findIndex(i=>i.id===Pe),l=r.slice(o+1).filter(i=>i.from!=="auto");l.length&&(ie&&ue.play(),Fe()||(E=[...E,...l],ve=false));}Pe=ft(e),x=e,Fe()&&Oe();},Oe=()=>{E=[];let e=ft(x);e&&Sr(e);},ce=e=>t("span",{class:`ckw-msgr-av${e?" ckw-msgr-av-sm":""}`,"aria-hidden":"true"},H),Me=t("span",{class:"ckw-msgr-logo","aria-hidden":"true"});if(a.logo){let e=t("img",{src:a.logo,alt:""});e.addEventListener("error",()=>Me.replaceChildren(ce("sm"))),Me.append(e);}else Me.append(ce("sm"));let ir=t("div",{class:"ckw-msgr-sky","aria-hidden":"true"}),G=new Map,le=(e,r=I)=>{clearTimeout(G.get(e)),G.delete(e),e.removeAttribute("data-out"),e.isConnected||r.appendChild(e);},Q=(e,r=180)=>{!e.isConnected||G.has(e)||(e.setAttribute("data-out",""),G.set(e,setTimeout(()=>{G.delete(e),e.removeAttribute("data-out"),e.remove();},r)));},qe=(e,r)=>{e.classList.remove(r),e.offsetWidth,e.classList.add(r);},O=t("button",{type:"button",class:`ckw-fab ckw-msgr-fab${d?"":" ckw-msgr-round"}`,"data-pos":n,"aria-haspopup":"dialog"}),sr=t("span",{class:"ckw-msgr-fab-ic","aria-hidden":"true"},t("span",{class:"ckw-msgr-fab-i","data-i":"chat"},rr(tr,ar,d?20:27,2.6)),t("span",{class:"ckw-msgr-fab-i","data-i":"x"},z(u.down,d?18:24))),de=t("span",{class:"ckw-msgr-count","aria-hidden":"true"});O.append(sr),d&&O.append(t("span",{},d));let _e=t("div",{class:"ckw-msgr-preview","data-pos":n,role:"status"}),pe=()=>{if(O.toggleAttribute("data-open",v),E.length&&!v){let e=String(Math.min(E.length,9));de.textContent!==e&&(de.textContent=e),de.isConnected||O.append(de);}else de.remove();O.setAttribute("aria-expanded",String(v)),O.setAttribute("aria-label",v?"Close chat":E.length?`Open chat, ${E.length} new ${E.length===1?"reply":"replies"}`:"Open chat"),ht();},ut=()=>xe&&!v&&!ve&&!!E.length&&$,ht=()=>{let e=E.at(-1);if(!ut()||!e)return Q(_e);Ce(true);let r=t("button",{type:"button",class:"ckw-msgr-preview-x","aria-label":"Dismiss"},z(u.cross,14));r.addEventListener("click",l=>{l.stopPropagation(),ve=true,ht();});let o=t("button",{type:"button",class:"ckw-msgr-preview-card"},t("span",{class:"ckw-msgr-preview-main"},t("span",{class:"ckw-msgr-preview-who"},`${pt[e.from]}${E.length>1?` \xB7 ${E.length} new`:""}`),t("span",{class:"ckw-msgr-preview-text"},wt(e))));o.addEventListener("click",()=>W("messages")),_e.replaceChildren(o,r),le(_e);},ge=t("div",{class:"ckw-msgr-teaser","data-pos":n}),we,cr=()=>{if(clearTimeout(we),v||ut()||!$)return;let e=t("button",{type:"button",class:"ckw-msgr-teaser-b","data-main":""},z(u.chat),t("span",{},"Chat"));e.addEventListener("click",()=>W("messages"));let r=[e];if(f&&ze){let o=t("button",{type:"button",class:"ckw-msgr-teaser-b"},z(u.search),t("span",{},"Search"));o.addEventListener("click",()=>W("help")),r.push(o);}ge.replaceChildren(t("div",{class:"ckw-msgr-teaser-top"},t("span",{class:"ckw-msgr-teaser-t"},t("b",{},g),t("span",{class:"ckw-msgr-online"},b)),ce()),t("div",{class:"ckw-msgr-teaser-row"},...r)),le(ge);};function Ce(e=false){if(clearTimeout(we),e)return Q(ge,140);we=setTimeout(()=>Q(ge,140),260);}let xt=e=>e.pointerType==="mouse";for(let e of [O,ge])e.addEventListener("pointerenter",r=>xt(r)&&(e===O?cr():clearTimeout(we))),e.addEventListener("pointerleave",r=>xt(r)&&Ce());O.addEventListener("click",()=>{ue.unlock(),Ce(true),v?ne():W(E.length?"messages":"home");}),$&&I.appendChild(O);let M=t("div",{class:"ckw-pop ckw-msgr","data-pos":n,role:"dialog","aria-label":c}),Ue=t("div",{class:"ckw-msgr-bar"}),h=t("div",{class:"ckw-pop-body ckw-msgr-body"});M.addEventListener("click",()=>ue.unlock());let X=t("span",{class:"ckw-msgr-lead"}),Ee=t("span",{class:"ckw-msgr-mid"}),Be=t("nav",{class:"ckw-msgr-tabs","aria-label":"Messenger"}),De=(e,r,o,l,i)=>{let w=t("button",{type:"button",class:"ckw-msgr-tab"},t("span",{class:"ckw-msgr-tab-ic"},z(o,22),rr(l,i,22)),t("span",{},r));return w.addEventListener("click",()=>{N=null,A(e);}),w},Ne=De("home","Home",u.home,$r,Ir),Ae=De("messages","Messages",u.chat,tr,ar),vt=De("help","Help",u.help,jr,Hr),Se=t("span",{class:"ckw-msgr-count ckw-msgr-count-tab","aria-hidden":"true"}),ke=t("button",{type:"button",class:"ckw-msgr-ib","aria-label":"More","aria-haspopup":"menu","aria-expanded":"false"},z(u.dots,18)),yt=t("button",{type:"button",class:"ckw-msgr-ib ckw-msgr-x","aria-label":"Close messenger"},z(u.cross));yt.addEventListener("click",()=>ne()),Ue.append(X,Ee,t("span",{class:"ckw-msgr-trail"},ke,yt));let K=t("div",{class:"ckw-msgr-menu",role:"menu"}),Ke=()=>K.isConnected&&!K.hasAttribute("data-out"),me=()=>{ke.setAttribute("aria-expanded","false"),Q(K,120);},zt=(e,r,o)=>{let l=t("button",{type:"button",class:"ckw-msgr-menu-i",role:"menuitem"},z(e,15),t("span",{},r));return l.addEventListener("click",i=>{i.stopPropagation(),me(),o();}),l};ke.addEventListener("click",e=>{var r;if(e.stopPropagation(),Ke())return me();K.replaceChildren(t("span",{class:"ckw-msgr-menu-h"},"Quick actions"),zt(u.minus,"Minimize chat",()=>ne()),zt(se?u.collapse:u.expand,se?"Collapse view":"Expand view",()=>{se=!se,M.toggleAttribute("data-wide",se);})),ke.setAttribute("aria-expanded","true"),le(K,M),(r=K.querySelector("button"))==null||r.focus();}),M.addEventListener("click",()=>Ke()&&me());let lr=()=>{let e=(o,l)=>{let i=t("button",{type:"button",class:"ckw-msgr-ib","aria-label":l},z(u.back,18));return i.addEventListener("click",o),i};typeof m!="string"?X.replaceChildren(e(()=>A("help"),"Back to help")):m==="help"&&N&&!D.trim()?X.replaceChildren(e(()=>{N=null,A("help");},"All collections")):m==="messages"?X.replaceChildren(e(()=>A("home"),"Back to home")):m==="home"?X.replaceChildren(Me):X.replaceChildren(),m==="messages"?Ee.replaceChildren(ce("sm"),t("span",{class:"ckw-msgr-mid-t"},t("b",{},c),t("span",{class:"ckw-msgr-online"},b))):m==="help"?Ee.replaceChildren(t("b",{},"Help")):Ee.replaceChildren();let r=f&&ze!==false?[Ne,Ae,vt]:[Ne,Ae];Be.childNodes.length!==r.length&&Be.replaceChildren(...r),Ne.setAttribute("aria-current",m==="home"?"page":"false"),Ae.setAttribute("aria-current",m==="messages"?"page":"false"),vt.setAttribute("aria-current",m!=="home"&&m!=="messages"?"page":"false"),E.length&&m!=="messages"?(Se.textContent=String(Math.min(E.length,9)),Se.isConnected||Ae.firstChild.appendChild(Se)):Se.remove();},Y=t("form",{class:"ckw-msgr-compose"}),Te=t("p",{class:"ckw-msgr-error",role:"alert"}),U=t("input",{class:"ckw-input",type:"email",inputmode:"email",autocomplete:"email",placeholder:"Your email (optional), so we can follow up","aria-label":"Your email (optional)",maxlength:"200"}),J=t("div",{class:"ckw-msgr-box"}),L=t("textarea",{class:"ckw-textarea ckw-msgr-input",rows:"1",placeholder:"Write your message\u2026","aria-label":"Message",maxlength:"4000"}),Ve=t("button",{type:"submit",class:"ckw-msgr-send","aria-label":"Send"},z(u.up)),Ye=Tr(),fe=t("button",{type:"button",class:"ckw-msgr-clip","aria-label":Ye?"Attach a file or a screenshot":"Attach a file",...Ye?{"aria-haspopup":"menu","aria-expanded":"false"}:{}},z(u.clip,18));J.append(L,t("div",{class:"ckw-msgr-tools"},fe,t("span",{class:"ckw-msgr-sp"}),Ve)),J.addEventListener("click",e=>e.target===J&&L.focus()),Y.append(J);let Z=t("input",{type:"file",accept:ct.join(","),multiple:"",hidden:"",tabindex:"-1","aria-hidden":"true"});Y.append(Z);let ee=t("div",{class:"ckw-msgr-files",role:"list","aria-label":"Files to send"}),R=[],be=new Map,We=e=>{var r;return (r=be.get(e))!=null?r:_().attachmentUrl(e)},Mt=e=>{e.ctrl.abort(),[...be.values()].includes(e.local)||URL.revokeObjectURL(e.local);},Ct=e=>{R=R.filter(r=>r!==e),Mt(e);},Le=e=>{T="";for(let r of e){let o=r.name||"screenshot.png";if(R.length>=lt){T=`Up to ${lt} files per message.`;break}if(!ct.includes(r.type)){T="Only pictures (PNG, JPEG, WebP, GIF) and PDFs can be sent.";continue}if(r.size>Gt){T=`${o} is larger than 10 MB.`;continue}let l={key:`local-${Date.now().toString(36)}${Math.random().toString(36).slice(2,7)}`,name:o,type:r.type,size:r.size,local:URL.createObjectURL(r),up:Promise.resolve(),ctrl:new AbortController};l.up=_().uploadChatFile(r,l.ctrl.signal).then(i=>{l.id=i.id,j();},i=>{i.name!=="AbortError"&&(Ct(l),T=`${l.name}: ${i.message}`,j());}),R.push(l);}v&&m!=="messages"?A("messages"):j(),L.focus();},Et="",dr=()=>{let e=R.map(r=>`${r.key}:${r.id?1:0}`).join(",");e!==Et&&(Et=e,ee.replaceChildren(...R.map(r=>{let o=t("button",{type:"button",class:"ckw-msgr-file-x","aria-label":`Remove ${r.name}`},z(u.cross,12));o.addEventListener("click",()=>{Ct(r),j(),L.focus();});let l=r.type.startsWith("image/")?t("img",{src:r.local,alt:""}):t("span",{class:"ckw-msgr-file-doc"},z(u.doc,18),t("span",{},r.name));return t("div",{class:"ckw-msgr-file",role:"listitem",title:r.name,"aria-label":r.id?r.name:`${r.name}, uploading`,...r.id?{}:{"aria-busy":"true"}},l,o)}))),R.length?ee.isConnected||Y.insertBefore(ee,J):ee.remove();},pr=async()=>{var l;let e;try{e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser"},audio:!1,preferCurrentTab:!0,selfBrowserSurface:"include"});}catch(i){i.name!=="NotAllowedError"&&i.name!=="AbortError"&&(T="The screenshot did not work here. Attach a picture instead.",j());return}I.style.visibility="hidden";let r=null;try{let i=document.createElement("video");i.muted=!0,i.playsInline=!0,i.srcObject=e,await i.play(),await new Promise(p=>setTimeout(p,300));let w=i;await new Promise(p=>w.requestVideoFrameCallback?w.requestVideoFrameCallback(()=>p()):requestAnimationFrame(()=>p()));let k=document.createElement("canvas");k.width=i.videoWidth,k.height=i.videoHeight,(l=k.getContext("2d"))==null||l.drawImage(i,0,0);let y=(p,C)=>new Promise(B=>k.toBlob(B,p,C));r=await y("image/png"),r&&r.size>4.5*1024*1024&&(r=await y("image/jpeg",.9));}catch(i){r=null;}finally{for(let i of e.getTracks())i.stop();I.style.visibility="";}if(!r||!r.size)return T="The screenshot did not work here. Attach a picture instead.",j();let o=new Date().toISOString().slice(0,16).replace(/[:T]/g,"-");Le([Object.assign(r,{name:`screenshot-${o}.${r.type==="image/png"?"png":"jpg"}`})]);},te=t("div",{class:"ckw-msgr-menu ckw-msgr-amenu",role:"menu"}),Ge=()=>te.isConnected&&!te.hasAttribute("data-out"),$e=()=>{fe.setAttribute("aria-expanded","false"),Q(te,120);},At=(e,r,o)=>{let l=t("button",{type:"button",class:"ckw-msgr-menu-i",role:"menuitem"},z(e,15),t("span",{},r));return l.addEventListener("click",i=>{i.stopPropagation(),$e(),o();}),l};fe.addEventListener("click",e=>{var r;if(e.stopPropagation(),ue.unlock(),!Ye)return Z.click();if(Ge())return $e();te.replaceChildren(At(u.image,"Photo or file",()=>Z.click()),At(u.screen,"Screenshot of this page",()=>{pr();})),fe.setAttribute("aria-expanded","true"),le(te,Y),(r=te.querySelector("button"))==null||r.focus();}),Z.addEventListener("change",()=>{var e;Le([...(e=Z.files)!=null?e:[]]),Z.value="";});let gr=t("a",{class:"ckw-msgr-powered",href:Qt,target:"_blank",rel:"noopener"},"Powered by ",t("b",{},"MRRocket")),St=t("ol",{class:"ckw-msgs","aria-live":"polite","aria-label":"Messages"}),Tt=()=>{var e;return s&&!((e=a.user())!=null&&e.email)&&!(x!=null&&x.hasEmail)},Qe=()=>!U.value.trim()||Er.test(U.value.trim()),Xe=()=>(!!L.value.trim()||R.length>0)&&!P&&Qe(),A=e=>{let r=JSON.stringify(e)!==JSON.stringify(m);m=e,Ie=-1,j(),r&&qe(h,"ckw-msgr-enter"),e==="messages"?(Oe(),pe(),L.focus()):e==="help"&&Ze.focus(),oe(0);},wr=(e,r)=>{let o=t("img",{src:e,alt:r,loading:"lazy"});return o.addEventListener("load",()=>{h.scrollHeight-h.scrollTop-h.clientHeight<o.clientHeight+120&&(h.scrollTop=h.scrollHeight);}),o},Lt=(e,r=false)=>{var l,i,w;let o=t("li",{class:"ckw-msg","data-from":e.from==="visitor"?"me":"them"},e.body||!((l=e.attachments)!=null&&l.length)?t("div",{class:"ckw-bubble"},e.body):null);r&&o.setAttribute("aria-busy","true"),(i=e.attachments)!=null&&i.length&&o.append(t("div",{class:"ckw-msg-files"},...e.attachments.map(k=>k.type.startsWith("image/")?t("a",{class:"ckw-msg-img",href:We(k.id),target:"_blank",rel:"noopener",title:k.name},wr(We(k.id),k.name)):t("a",{class:"ckw-msgr-cite",href:We(k.id),target:"_blank",rel:"noopener"},z(u.doc,14),t("span",{},k.name)))));for(let k of (w=e.articles)!=null?w:[]){let y=t("button",{type:"button",class:"ckw-msgr-cite"},z(u.doc,14),t("span",{},k.title));y.addEventListener("click",()=>A({article:k.id})),o.append(y);}return o.append(t("span",{class:"ckw-msg-meta"},`${e.from!=="visitor"?`${pt[e.from]} \xB7 `:""}${r?"Sending\u2026":gt(e.at)}`)),o},kr=e=>{let r=t("button",{type:"button",class:"ckw-msgr-art"},t("span",{class:"ckw-msgr-art-t"},e.title),z(u.next,14));return r.addEventListener("click",()=>A({article:e.id})),r},$t=(e,r,o,l)=>{let i=t("button",{type:"button",class:"ckw-msgr-hrow"},t("span",{class:"ckw-msgr-hrow-main"},t("b",{},e),r?t("span",{class:"ckw-msgr-hrow-sub"},r):null,o?t("span",{class:"ckw-msgr-hrow-meta"},o):null),z(u.next,16));return i.addEventListener("click",l),i},Je=((e="Search for help")=>{let r=t("label",{class:"ckw-msgr-search"}),o=t("input",{class:"ckw-msgr-search-in",type:"search",placeholder:e,"aria-label":"Search for help",maxlength:"200"});o.value=D;let l;return o.addEventListener("input",()=>{D=o.value,clearTimeout(l),l=setTimeout(()=>{if(m!=="help")return A("help");tt(true);},250);}),o.addEventListener("keydown",i=>{i.key==="Enter"&&(i.preventDefault(),m!=="help"&&A("help"));}),r.append(z(u.search,16),o),r})("Search our help center\u2026"),Ze=Je.querySelector("input"),et=false,tt=async(e=false)=>{if(!f||et&&!e)return;et=true;let r=D.trim();try{let o=await _().articles(r||void 0);if(r!==D.trim())return;S=o.articles,r||(ze=o.articles.length>0);}catch(o){S=S!=null?S:[];}finally{et=false;}j();},rt=t("form",{class:"ckw-msgr-askq"}),re=t("input",{class:"ckw-msgr-askq-in",placeholder:"Ask a question","aria-label":"Ask a question",maxlength:"4000",autocomplete:"off"}),at=t("button",{type:"submit",class:"ckw-msgr-send","aria-label":"Send",disabled:""},z(u.up));rt.append(re,at),re.addEventListener("input",()=>at.disabled=!re.value.trim()),rt.addEventListener("submit",e=>{if(e.preventDefault(),!re.value.trim())return A("messages");L.value=re.value,re.value="",at.disabled=true,A("messages"),Xe()&&it();});let mr=()=>{var w,k,y;let e=(k=(w=a.user())==null?void 0:w.name)==null?void 0:k.trim().split(/\s+/)[0],r=g.replace(/^(hi|hello|hey|hallo)( there)?\s*[!,.]*\s*/i,"").trim()||"How can we help you today?",o=t("h2",{class:"ckw-msgr-hero ckw-msgr-hello"},t("span",{},e?`Hi, ${e} `:"Hi there ",t("span",{class:"ckw-msgr-wave","aria-hidden":"true"},"\u{1F44B}")),t("span",{class:"ckw-msgr-hello-sub"},r)),l=((y=x==null?void 0:x.messages)!=null?y:[]).at(-1),i=[o,rt];if(l){let p=t("button",{type:"button",class:"ckw-msgr-card ckw-msgr-recent","aria-label":`Recent message: ${wt(l)}`},t("span",{class:"ckw-msgr-recent-row"},ce("sm"),t("span",{class:"ckw-msgr-card-main"},t("span",{class:"ckw-msgr-card-sub ckw-msgr-recent-text"},wt(l)),t("span",{class:"ckw-msgr-card-meta"},`${l.from==="visitor"?"You":pt[l.from]} \xB7 ${gt(l.at)}`)),E.length?t("span",{class:"ckw-msgr-badge"},String(E.length)):z(u.next,14)));p.addEventListener("click",()=>A("messages")),i.push(p);}if(f&&ze!==false){let p=t("div",{class:"ckw-msgr-card ckw-msgr-card-col"}),C=(S!=null?S:[]).slice(0,3);C.length?p.append(...C.map(kr)):S===null&&p.append(t("div",{class:"ckw-skel ckw-msgr-skel"})),i.push(p);}h.replaceChildren(...i);},fr=()=>{var k,y;Ze.value!==D&&(Ze.value=D);let e=D.trim(),r=S!=null?S:[],o=new Map;for(let p of r)o.set(p.collection,[...(k=o.get(p.collection))!=null?k:[],p]);let l=!e&&N!==null?(y=o.get(N))!=null?y:[]:null,i=e?"Search results":l?N!=null?N:"":"Most read articles",w=[t("h2",{class:"ckw-msgr-help-h"},i),Je];if(S===null)w.push(t("div",{class:"ckw-skel"}));else if(r.length)e||l?w.push(t("div",{class:"ckw-msgr-hlist"},...(l!=null?l:r).map(p=>$t(p.title,p.excerpt.startsWith(p.title)?p.excerpt.slice(p.title.length).trim():p.excerpt,e?p.collection:"",()=>A({article:p.id}))))):w.push(t("div",{class:"ckw-msgr-hlist"},...[...o].map(([p,C])=>$t(p,C.map(B=>B.title).join(", "),`${C.length} ${C.length===1?"article":"articles"}`,()=>{N=p,A("help"),qe(h,"ckw-msgr-enter");}))));else {let p=t("button",{type:"button",class:"ckw-btn ckw-btn-primary"},"Send us a message");p.addEventListener("click",()=>A("messages")),w.push(t("div",{class:"ckw-msgr-empty"},t("p",{},e?`Nothing found for \u201C${e}\u201D.`:"No help articles yet."),p));}if(h.childNodes[1]!==Je)h.replaceChildren(...w);else {for(h.firstChild.replaceWith(w[0]);h.childNodes.length>2;)h.lastChild.remove();h.append(...w.slice(2));}},ae=null,br=e=>{if((ae==null?void 0:ae.id)===e)return h.replaceChildren(ae.node);let r=t("article",{class:"ckw-msgr-doc"},t("div",{class:"ckw-skel"}));ae={id:e,node:r},h.replaceChildren(r),_().article(e).then(o=>{let l=t("div",{class:"ckw-msgr-rate"}),i=()=>{if(Re.has(e))return l.replaceChildren(t("span",{},"Thanks for letting us know."));let k=t("button",{type:"button",class:"ckw-btn"},"Yes"),y=t("button",{type:"button",class:"ckw-btn"},"No"),p=C=>{Re=new Set(Re).add(e),i(),_().rateArticle(e,C).catch(()=>{}),C||A("messages");};k.addEventListener("click",()=>p(true)),y.addEventListener("click",()=>p(false)),l.replaceChildren(t("span",{},"Did this answer your question?"),t("span",{class:"ckw-msgr-rate-b"},k,y));};i();let w=t("button",{type:"button",class:"ckw-btn ckw-msgr-ask"},z(u.chat),"Still need help? Send us a message");w.addEventListener("click",()=>A("messages")),r.replaceChildren(t("p",{class:"ckw-msgr-doc-c"},o.collection),t("h2",{class:"ckw-msgr-doc-t"},o.title),t("p",{class:"ckw-msgr-doc-c"},`Updated ${gt(o.updatedAt)}`),t("div",{class:"ckw-msgr-doc-b"},...o.blocks.map(Pr)),l,w);}).catch(o=>{ae=null,r.replaceChildren(t("p",{class:"ckw-msgr-error"},o.message));});},Ie=-1,It="",ot=-1,nt=t("div",{class:"ckw-msgr-sugg"}),ur=()=>{var l,i,w,k;let e=(l=x==null?void 0:x.messages)!=null?l:[],r=[];if(!kt)r.push(t("div",{class:"ckw-skel"}));else {let y=`${e.map(C=>C.id).join(",")}|${P?`${P.body}+${(w=(i=P.attachments)==null?void 0:i.length)!=null?w:0}`:""}|${Math.floor(Date.now()/6e4)}`;if(y!==It){It=y;let B=[t("li",{class:"ckw-msg","data-from":"them"},t("div",{class:"ckw-bubble"},g)),...e.map(st=>Lt(st)),...P?[Lt(P,true)]:[]];ot>=0&&B.slice(ot).forEach(st=>st.setAttribute("data-new","")),ot=B.length,St.replaceChildren(...B);}r.push(St);let p=!e.some(C=>C.from==="visitor")&&!P?(S!=null?S:[]).slice(0,3):[];p.length&&(nt.childNodes.length!==p.length&&nt.replaceChildren(...p.map(C=>{let B=t("button",{type:"button",class:"ckw-msgr-sugg-b"},C.title);return B.addEventListener("click",()=>A({article:C.id})),B})),r.push(nt));}((k=x==null?void 0:x.conversation)==null?void 0:k.status)==="solved"&&!P&&r.push(t("p",{class:"ckw-fine ckw-msgr-note"},"This conversation is closed. Write to start a new one.")),(h.childNodes.length!==r.length||r.some((y,p)=>h.childNodes[p]!==y))&&h.replaceChildren(...r);let o=e.length+(P?1:0);o!==Ie&&(Ie=o,h.scrollTop=h.scrollHeight),Te.textContent=T,T&&!Te.isConnected?Y.prepend(Te):T||Te.remove(),Tt()?(Qe()?U.removeAttribute("aria-invalid"):U.setAttribute("aria-invalid","true"),U.isConnected||Y.insertBefore(U,ee.isConnected?ee:J)):U.remove(),dr(),Ve.disabled=!Xe();},j=()=>{if(!v)return;M.dataset.view=typeof m=="string"?m:"article",lr(),m==="home"?mr():m==="messages"?ur():m==="help"?fr():br(m.article);let e=m==="home"?[ir,Ue,h]:[Ue,h];e.push(m==="messages"?Y:Be),a.branding!==false&&e.push(gr),K.isConnected&&e.push(K),(M.childNodes.length!==e.length||e.some((r,o)=>M.childNodes[o]!==r))&&M.replaceChildren(...e);},jt=async()=>{V==null||V.abort(),V=new AbortController;try{bt(await _().chat(V.signal)),T="";}catch(e){if(e.name==="AbortError")return;v&&m==="messages"&&(T=e.message);}kt=true,j(),pe(),oe();};function oe(e){var w,k,y;clearTimeout(ye);let r=!!(x!=null&&x.messages.some(p=>p.from==="visitor"))&&((w=x==null?void 0:x.conversation)==null?void 0:w.status)!=="solved",o=(y=((k=x==null?void 0:x.messages)!=null?k:[]).filter(p=>p.from==="visitor").at(-1))==null?void 0:y.at,l=!!o&&Date.now()-new Date(o).getTime()<Cr,i=e!=null?e:Fe()?yr:r&&l?zr:v||r?Mr:0;(i||e===0)&&(ye=setTimeout(()=>{jt();},i));}let Ht=()=>{document.visibilityState==="visible"?oe(0):clearTimeout(ye);};document.addEventListener("visibilitychange",Ht);let it=async()=>{let e=L.value.trim(),r=R;if(!e&&!r.length||P||!Qe())return;ue.unlock();for(let i of r)be.set(i.key,i.local);P={id:"pending",from:"visitor",body:e,at:new Date().toISOString(),...r.length?{attachments:r.map(i=>({id:i.key,name:i.name,type:i.type,size:i.size}))}:{}},L.value="",R=[],T="",j(),await Promise.all(r.map(i=>i.up));let o=r.filter(i=>i.id).map(i=>i.id),l=false;try{if(!e&&!o.length)throw new Error(T||"The file could not be sent.");bt(await _().sendChat({body:e,email:Tt()&&U.value.trim()?U.value.trim():void 0,url:window.location.href.slice(0,500),...o.length?{attachments:o}:{},context:{viewport:`${window.innerWidth}\xD7${window.innerHeight}`}})),l=!0;}catch(i){L.value=e,R=r.filter(w=>w.id),T=i.message;}P=null;for(let i of r)be.delete(i.key);if(j(),l)for(let i of r)URL.revokeObjectURL(i.local);oe();};Y.addEventListener("submit",e=>{e.preventDefault(),it();}),L.addEventListener("keydown",e=>{e.key==="Enter"&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),it());}),L.addEventListener("input",()=>Ve.disabled=!Xe()),L.addEventListener("paste",e=>{var o,l;let r=[...(l=(o=e.clipboardData)==null?void 0:o.files)!=null?l:[]];r.length&&(e.preventDefault(),Le(r));});let Pt=e=>!!e.dataTransfer&&[...e.dataTransfer.types].includes("Files");M.addEventListener("dragover",e=>{Pt(e)&&(e.preventDefault(),M.setAttribute("data-drop",""));}),M.addEventListener("dragleave",e=>{(!e.relatedTarget||!M.contains(e.relatedTarget))&&M.removeAttribute("data-drop");}),M.addEventListener("drop",e=>{var r,o;Pt(e)&&(e.preventDefault(),M.removeAttribute("data-drop"),Le([...(o=(r=e.dataTransfer)==null?void 0:r.files)!=null?o:[]]));}),U.addEventListener("input",()=>j());function W(e="home",r=false){let o=v;v=true,m=e==="help"&&!f?"home":e,Ie=-1,ve=true,Ce(true),M.toggleAttribute("data-still",r),le(M),o&&qe(h,"ckw-msgr-enter"),(S===null||m==="help"&&D)&&tt(),j(),pe(),m==="messages"&&(Oe(),L.focus()),oe(0);}function ne(){v&&(v=false,K.isConnected&&me(),Q(M,200),pe(),oe(),$&&O.focus());}M.addEventListener("click",()=>Ge()&&$e());let Rt=e=>{e.key!=="Escape"||!v||(Ge()?($e(),fe.focus()):Ke()?(me(),ke.focus()):ne());};return document.addEventListener("keydown",Rt),jt(),f&&tt(),pe(),a.opened&&W(a.opened,true),{open:e=>W(e!=null?e:"home"),close:ne,toggle:()=>v?ne():W(),destroy:()=>{clearTimeout(ye),clearTimeout(we);for(let e of G.values())clearTimeout(e);V==null||V.abort();for(let e of R)Mt(e);for(let e of be.values())URL.revokeObjectURL(e);document.removeEventListener("keydown",Rt),document.removeEventListener("visibilitychange",Ht),I.remove();}}};window.__mrrocketMessenger={mountMessenger:nr};
|
|
581
|
+
`,tr=()=>{if(typeof document=="undefined"||document.getElementById(er))return;let a=document.createElement("style");a.id=er,a.textContent=zr,document.head.appendChild(a);};var Mr=4e3,Cr=8e3,Er=3e4,Sr=10*6e4,Ar=/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/,nr="ckw_msgr_seen",pt={visitor:"You",team:"Team",ai:"AI agent",auto:"Team"},Tr=()=>{var a;try{return (a=window.localStorage.getItem(nr))!=null?a:""}catch(n){return ""}},Lr=a=>{try{window.localStorage.setItem(nr,a);}catch(n){}},gt=a=>{let n=new Date(a).getTime();if(Number.isNaN(n))return "";let s=Math.max(0,Date.now()-n)/1e3;return s<60?"just now":s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:s<86400*30?`${Math.floor(s/86400)}d ago`:new Date(a).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})},r=(a,n={},...s)=>{let p=document.createElement(a);for(let[w,c]of Object.entries(n))p.setAttribute(w,c);for(let w of s)w!==null&&w!==false&&w!==void 0&&p.append(w);return p},xe="http://www.w3.org/2000/svg",y=(a,n=16)=>{let s=document.createElementNS(xe,"svg");for(let[w,c]of Object.entries({class:"ckw-icon",width:String(n),height:String(n),viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"}))s.setAttribute(w,c);let p=document.createElementNS(xe,"path");return p.setAttribute("d",a),s.appendChild(p),s},u={cross:"M18 6 6 18M6 6l12 12",chat:"M7.9 20A9 9 0 1 0 4 16.1L2 22z",up:"M12 19V5M5 12l7-7 7 7",home:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",back:"m15 18-6-6 6-6",next:"m9 18 6-6-6-6",search:"M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0zM21 21l-4.3-4.3",doc:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7zM14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8",dots:"M13 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM13 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM13 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0z",expand:"M15 3h6v6M21 3l-7 7M3 21l7-7M9 21H3v-6",collapse:"m14 10 7-7M20 10h-6V4M3 21l7-7M4 14h6v6",minus:"M5 12h14",down:"m6 9 6 6 6-6",help:"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20zM9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01",clip:"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48",image:"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM9 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM21 15l-3.09-3.09a2 2 0 0 0-2.82 0L6 21",screen:"M20 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM8 21h8M12 17v4"},wt=a=>{var n,s;return a.body||(((n=a.attachments)==null?void 0:n.length)===1?`Sent ${a.attachments[0].name}`:(s=a.attachments)!=null&&s.length?`Sent ${a.attachments.length} files`:"")},$r=()=>{var a;return typeof navigator!="undefined"&&typeof((a=navigator.mediaDevices)==null?void 0:a.getDisplayMedia)=="function"},rr="M7.9 20A9 9 0 1 0 4 16.1L2 22z",Hr=(a,n)=>{let s=document.createElementNS(xe,"svg");for(let[w,c]of Object.entries({class:"ckw-icon",width:String(n),height:String(n),viewBox:"0 0 24 24",fill:"currentColor",stroke:"currentColor","stroke-width":"1.5","stroke-linejoin":"round","aria-hidden":"true"}))s.setAttribute(w,c);let p=document.createElementNS(xe,"path");return p.setAttribute("d",a),s.appendChild(p),s},ar=(a,n,s,p=2)=>{let w=Hr(a,s),c=document.createElementNS(xe,"path");for(let[g,z]of Object.entries({d:n,class:"ckw-cut",fill:"none","stroke-width":String(p),"stroke-linecap":"round","stroke-linejoin":"round"}))c.setAttribute(g,z);return w.appendChild(c),w},or="M8 12h.01M12 12h.01M16 12h.01",jr="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",Ir="M9.5 15.5c1.4 1 3.6 1 5 0",Rr="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z",Pr="M9.4 9.2a2.7 2.7 0 0 1 5.2 1c0 1.8-2.6 2.5-2.6 2.5M12 16.8h.01",he=(()=>{let a=null,n=()=>{var p;let s=(p=window.AudioContext)!=null?p:window.webkitAudioContext;return s?(a!=null||(a=new s),a):null};return {unlock:()=>{try{let s=n();(s==null?void 0:s.state)==="suspended"&&s.resume();}catch(s){}},play:()=>{try{let s=n();if(!s||s.state!=="running")return;let p=s.currentTime;[880,1318.5].forEach((w,c)=>{let g=s.createOscillator(),z=s.createGain(),H=p+c*.11;g.type="sine",g.frequency.value=w,z.gain.setValueAtTime(1e-4,H),z.gain.exponentialRampToValueAtTime(.12,H+.012),z.gain.exponentialRampToValueAtTime(1e-4,H+.32),g.connect(z),z.connect(s.destination),g.start(H),g.stop(H+.34);});}catch(s){}}}})(),Ie=a=>a.map(n=>{let s=n.href?r("a",{href:n.href,target:"_blank",rel:"noopener noreferrer"},n.text):r("span",{},n.text);return n.code&&(s=r("code",{},s)),n.italic&&(s=r("em",{},s)),n.bold&&(s=r("strong",{},s)),s}),Fr=a=>{switch(a.type){case "h2":case "h3":return r(a.type,{},...Ie(a.spans));case "quote":return r("blockquote",{},...Ie(a.spans));case "ul":case "ol":return r(a.type,{},...a.items.map(n=>r("li",{},...Ie(n))));case "code":return r("pre",{},r("code",{},a.text));case "hr":return r("hr");default:return r("p",{},...Ie(a.spans))}},_r=2500,ir=a=>{var H,D;let n=null,s=false,p=[],w=h=>n?h(n):p.push(h),c=new AbortController,g=h=>{var q,j,M;if(n||s)return;let se=Object.fromEntries(Object.entries(a).filter(([,k])=>k!==void 0));n=qr({...h!=null?h:{},...se,accent:(q=a.accent)!=null?q:h==null?void 0:h.accent,theme:(j=a.theme)!=null?j:h==null?void 0:h.theme,branding:(M=h==null?void 0:h.branding)!=null?M:true});for(let k of p.splice(0))k(n);},z=setTimeout(()=>g(null),_r);return ((D=a.client)!=null?D:dt({host:a.host,apiKey:a.apiKey,distinctId:a.distinctId(),user:a.user(),userHash:(H=a.userHash)==null?void 0:H.call(a)})).messengerLook(c.signal).then(h=>g(h)).catch(()=>g(null)).finally(()=>clearTimeout(z)),{open:h=>w(se=>se.open(h)),close:()=>n==null?void 0:n.close(),toggle:()=>w(h=>h.toggle()),destroy:()=>{s=true,c.abort(),clearTimeout(z),n==null||n.destroy();}}},Or=["top-left","top-center","top-right","middle-left","middle-right","bottom-left","bottom-center","bottom-right"],qr=a=>{var Ft,_t,Ot,qt,Ut,Bt,Dt,Nt,Kt,Vt,Yt;tr();let n=(Ft=Or.find(e=>e===a.position))!=null?Ft:"bottom-right",s=a.title||"Support",p=a.greeting||"Hi! How can we help?",w=(_t=a.askEmail)!=null?_t:true,c=(Ot=a.label)!=null?Ot:"",g=Jt(a.replyTime),z=((qt=s.trim()[0])!=null?qt:"?").toUpperCase(),H=(Ut=a.launcher)!=null?Ut:true,D=(Bt=a.help)!=null?Bt:true,h=(Dt=a.sound)!=null?Dt:true,se=(Nt=a.preview)!=null?Nt:true,q=()=>{var e,t;return (t=a.client)!=null?t:dt({host:a.host,apiKey:a.apiKey,distinctId:a.distinctId(),user:a.user(),userHash:(e=a.userHash)==null?void 0:e.call(a)})},j=r("div",{class:"ckw-root","data-theme":(Kt=a.theme)!=null?Kt:"auto","data-corners":a.corners==="soft"||a.corners==="square"?a.corners:"round","data-font":a.font==="system"?"system":"site","data-header":a.header==="color"?"color":"plain"});a.container&&j.setAttribute("data-contained",""),a.accent&&(j.style.setProperty("--ckw-accent",a.accent),j.style.setProperty("--ckw-accent-ink",Zt(a.accent))),(Vt=a.glow)==null||Vt.slice(0,2).forEach((e,t)=>/^#[0-9a-f]{6}$/i.test(e)&&j.style.setProperty(`--ckw-glow${t+2}`,e)),((Yt=a.container)!=null?Yt:document.body).appendChild(j);let M=false,k="home",x=null,kt=false,L="",R=null,Re=null,S=[],ve=false,ye,Y=null,T=null,N="",Pe=new Set,ze=null,K=null,ce=false,mt=e=>{var t;return ((t=e==null?void 0:e.messages)!=null?t:[]).filter(o=>o.from!=="visitor")},ft=e=>{var t,o;return (o=(t=mt(e).at(-1))==null?void 0:t.id)!=null?o:""},Fe=()=>M&&k==="messages"&&document.visibilityState!=="hidden",ut=e=>{let t=mt(e);if(Re===null){let o=Tr(),l=t.findIndex(i=>i.id===o);S=e.messages.some(i=>i.from==="visitor")?t.slice(l+1).filter(i=>i.from!=="auto"):[];}else {let o=t.findIndex(i=>i.id===Re),l=t.slice(o+1).filter(i=>i.from!=="auto");l.length&&(h&&he.play(),Fe()||(S=[...S,...l],ve=false));}Re=ft(e),x=e,Fe()&&_e();},_e=()=>{S=[];let e=ft(x);e&&Lr(e);},le=e=>r("span",{class:`ckw-msgr-av${e?" ckw-msgr-av-sm":""}`,"aria-hidden":"true"},z),Me=r("span",{class:"ckw-msgr-logo","aria-hidden":"true"});if(a.logo){let e=r("img",{src:a.logo,alt:""});e.addEventListener("error",()=>Me.replaceChildren(le("sm"))),Me.append(e);}else Me.append(le("sm"));let sr=r("div",{class:"ckw-msgr-sky","aria-hidden":"true"}),Q=new Map,de=(e,t=j)=>{clearTimeout(Q.get(e)),Q.delete(e),e.removeAttribute("data-out"),e.isConnected||t.appendChild(e);},X=(e,t=180)=>{!e.isConnected||Q.has(e)||(e.setAttribute("data-out",""),Q.set(e,setTimeout(()=>{Q.delete(e),e.removeAttribute("data-out"),e.remove();},t)));},Oe=(e,t)=>{e.classList.remove(t),e.offsetWidth,e.classList.add(t);},_=r("button",{type:"button",class:`ckw-fab ckw-msgr-fab${c?"":" ckw-msgr-round"}`,"data-pos":n,"aria-haspopup":"dialog"}),cr=r("span",{class:"ckw-msgr-fab-ic","aria-hidden":"true"},r("span",{class:"ckw-msgr-fab-i","data-i":"chat"},ar(rr,or,c?20:27,2.6)),r("span",{class:"ckw-msgr-fab-i","data-i":"x"},y(u.down,c?18:24))),pe=r("span",{class:"ckw-msgr-count","aria-hidden":"true"});_.append(cr),c&&_.append(r("span",{},c));let qe=r("div",{class:"ckw-msgr-preview","data-pos":n,role:"status"}),ge=()=>{if(_.toggleAttribute("data-open",M),S.length&&!M){let e=String(Math.min(S.length,9));pe.textContent!==e&&(pe.textContent=e),pe.isConnected||_.append(pe);}else pe.remove();_.setAttribute("aria-expanded",String(M)),_.setAttribute("aria-label",M?"Close chat":S.length?`Open chat, ${S.length} new ${S.length===1?"reply":"replies"}`:"Open chat"),ht();},bt=()=>se&&!M&&!ve&&!!S.length&&H,ht=()=>{let e=S.at(-1);if(!bt()||!e)return X(qe);Ce(true);let t=r("button",{type:"button",class:"ckw-msgr-preview-x","aria-label":"Dismiss"},y(u.cross,14));t.addEventListener("click",l=>{l.stopPropagation(),ve=true,ht();});let o=r("button",{type:"button",class:"ckw-msgr-preview-card"},r("span",{class:"ckw-msgr-preview-main"},r("span",{class:"ckw-msgr-preview-who"},`${pt[e.from]}${S.length>1?` \xB7 ${S.length} new`:""}`),r("span",{class:"ckw-msgr-preview-text"},wt(e))));o.addEventListener("click",()=>G("messages")),qe.replaceChildren(o,t),de(qe);},we=r("div",{class:"ckw-msgr-teaser","data-pos":n}),ke,lr=()=>{if(clearTimeout(ke),M||bt()||!H)return;let e=r("button",{type:"button",class:"ckw-msgr-teaser-b","data-main":""},y(u.chat),r("span",{},"Chat"));e.addEventListener("click",()=>G("messages"));let t=[e];if(D&&ze){let o=r("button",{type:"button",class:"ckw-msgr-teaser-b"},y(u.search),r("span",{},"Search"));o.addEventListener("click",()=>G("help")),t.push(o);}we.replaceChildren(r("div",{class:"ckw-msgr-teaser-top"},r("span",{class:"ckw-msgr-teaser-t"},r("b",{},p),r("span",{class:"ckw-msgr-online"},g)),le()),r("div",{class:"ckw-msgr-teaser-row"},...t)),de(we);};function Ce(e=false){if(clearTimeout(ke),e)return X(we,140);ke=setTimeout(()=>X(we,140),260);}let xt=e=>e.pointerType==="mouse";for(let e of [_,we])e.addEventListener("pointerenter",t=>xt(t)&&(e===_?lr():clearTimeout(ke))),e.addEventListener("pointerleave",t=>xt(t)&&Ce());_.addEventListener("click",()=>{he.unlock(),Ce(true),M?ie():G(S.length?"messages":"home");}),H&&j.appendChild(_);let C=r("div",{class:"ckw-pop ckw-msgr","data-pos":n,role:"dialog","aria-label":s}),Ue=r("div",{class:"ckw-msgr-bar"}),b=r("div",{class:"ckw-pop-body ckw-msgr-body"});C.addEventListener("click",()=>he.unlock());let J=r("span",{class:"ckw-msgr-lead"}),Ee=r("span",{class:"ckw-msgr-mid"}),Be=r("nav",{class:"ckw-msgr-tabs","aria-label":"Messenger"}),De=(e,t,o,l,i)=>{let m=r("button",{type:"button",class:"ckw-msgr-tab"},r("span",{class:"ckw-msgr-tab-ic"},y(o,22),ar(l,i,22)),r("span",{},t));return m.addEventListener("click",()=>{K=null,A(e);}),m},Ne=De("home","Home",u.home,jr,Ir),Se=De("messages","Messages",u.chat,rr,or),vt=De("help","Help",u.help,Rr,Pr),Ae=r("span",{class:"ckw-msgr-count ckw-msgr-count-tab","aria-hidden":"true"}),me=r("button",{type:"button",class:"ckw-msgr-ib","aria-label":"More","aria-haspopup":"menu","aria-expanded":"false"},y(u.dots,18)),yt=r("button",{type:"button",class:"ckw-msgr-ib ckw-msgr-x","aria-label":"Close messenger"},y(u.cross));yt.addEventListener("click",()=>ie()),Ue.append(J,Ee,r("span",{class:"ckw-msgr-trail"},me,yt));let V=r("div",{class:"ckw-msgr-menu",role:"menu"}),Ke=()=>V.isConnected&&!V.hasAttribute("data-out"),fe=()=>{me.setAttribute("aria-expanded","false"),X(V,120);},zt=(e,t,o)=>{let l=r("button",{type:"button",class:"ckw-msgr-menu-i",role:"menuitem"},y(e,15),r("span",{},t));return l.addEventListener("click",i=>{i.stopPropagation(),fe(),o();}),l};me.addEventListener("click",e=>{var t;if(e.stopPropagation(),Ke())return fe();V.replaceChildren(r("span",{class:"ckw-msgr-menu-h"},"Quick actions"),zt(u.minus,"Minimize chat",()=>ie()),zt(ce?u.collapse:u.expand,ce?"Collapse view":"Expand view",()=>{ce=!ce,C.toggleAttribute("data-wide",ce);})),me.setAttribute("aria-expanded","true"),de(V,C),(t=V.querySelector("button"))==null||t.focus();}),C.addEventListener("click",()=>Ke()&&fe());let dr=()=>{let e=(o,l)=>{let i=r("button",{type:"button",class:"ckw-msgr-ib","aria-label":l},y(u.back,18));return i.addEventListener("click",o),i};typeof k!="string"?J.replaceChildren(e(()=>A("help"),"Back to help")):k==="help"&&K&&!N.trim()?J.replaceChildren(e(()=>{K=null,A("help");},"All collections")):k==="messages"?J.replaceChildren(e(()=>A("home"),"Back to home")):k==="home"?J.replaceChildren(Me):J.replaceChildren(),k==="messages"?Ee.replaceChildren(le("sm"),r("span",{class:"ckw-msgr-mid-t"},r("b",{},s),r("span",{class:"ckw-msgr-online"},g))):k==="help"?Ee.replaceChildren(r("b",{},"Help")):Ee.replaceChildren();let t=D&&ze!==false?[Ne,Se,vt]:[Ne,Se];Be.childNodes.length!==t.length&&Be.replaceChildren(...t),Ne.setAttribute("aria-current",k==="home"?"page":"false"),Se.setAttribute("aria-current",k==="messages"?"page":"false"),vt.setAttribute("aria-current",k!=="home"&&k!=="messages"?"page":"false"),S.length&&k!=="messages"?(Ae.textContent=String(Math.min(S.length,9)),Ae.isConnected||Se.firstChild.appendChild(Ae)):Ae.remove();},W=r("form",{class:"ckw-msgr-compose"}),Te=r("p",{class:"ckw-msgr-error",role:"alert"}),U=r("input",{class:"ckw-input",type:"email",inputmode:"email",autocomplete:"email",placeholder:"Your email (optional), so we can follow up","aria-label":"Your email (optional)",maxlength:"200"}),Z=r("div",{class:"ckw-msgr-box"}),$=r("textarea",{class:"ckw-textarea ckw-msgr-input",rows:"1",placeholder:"Write your message\u2026","aria-label":"Message",maxlength:"4000"}),Ve=r("button",{type:"submit",class:"ckw-msgr-send","aria-label":"Send"},y(u.up)),Ye=$r(),ue=r("button",{type:"button",class:"ckw-msgr-clip","aria-label":Ye?"Attach a file or a screenshot":"Attach a file",...Ye?{"aria-haspopup":"menu","aria-expanded":"false"}:{}},y(u.clip,18));Z.append($,r("div",{class:"ckw-msgr-tools"},ue,r("span",{class:"ckw-msgr-sp"}),Ve)),Z.addEventListener("click",e=>e.target===Z&&$.focus()),W.append(Z);let ee=r("input",{type:"file",accept:ct.join(","),multiple:"",hidden:"",tabindex:"-1","aria-hidden":"true"});W.append(ee);let te=r("div",{class:"ckw-msgr-files",role:"list","aria-label":"Files to send"}),P=[],be=new Map,We=e=>{var t;return (t=be.get(e))!=null?t:q().attachmentUrl(e)},Mt=e=>{e.ctrl.abort(),[...be.values()].includes(e.local)||URL.revokeObjectURL(e.local);},Ct=e=>{P=P.filter(t=>t!==e),Mt(e);},Le=e=>{L="";for(let t of e){let o=t.name||"screenshot.png";if(P.length>=lt){L=`Up to ${lt} files per message.`;break}if(!ct.includes(t.type)){L="Only pictures (PNG, JPEG, WebP, GIF) and PDFs can be sent.";continue}if(t.size>Qt){L=`${o} is larger than 10 MB.`;continue}let l={key:`local-${Date.now().toString(36)}${Math.random().toString(36).slice(2,7)}`,name:o,type:t.type,size:t.size,local:URL.createObjectURL(t),up:Promise.resolve(),ctrl:new AbortController};l.up=q().uploadChatFile(t,l.ctrl.signal).then(i=>{l.id=i.id,I();},i=>{i.name!=="AbortError"&&(Ct(l),L=`${l.name}: ${i.message}`,I());}),P.push(l);}M&&k!=="messages"?A("messages"):I(),$.focus();},Et="",pr=()=>{let e=P.map(t=>`${t.key}:${t.id?1:0}`).join(",");e!==Et&&(Et=e,te.replaceChildren(...P.map(t=>{let o=r("button",{type:"button",class:"ckw-msgr-file-x","aria-label":`Remove ${t.name}`},y(u.cross,12));o.addEventListener("click",()=>{Ct(t),I(),$.focus();});let l=t.type.startsWith("image/")?r("img",{src:t.local,alt:""}):r("span",{class:"ckw-msgr-file-doc"},y(u.doc,18),r("span",{},t.name));return r("div",{class:"ckw-msgr-file",role:"listitem",title:t.name,"aria-label":t.id?t.name:`${t.name}, uploading`,...t.id?{}:{"aria-busy":"true"}},l,o)}))),P.length?te.isConnected||W.insertBefore(te,Z):te.remove();},gr=async()=>{var l;let e;try{e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser"},audio:!1,preferCurrentTab:!0,selfBrowserSurface:"include"});}catch(i){i.name!=="NotAllowedError"&&i.name!=="AbortError"&&(L="The screenshot did not work here. Attach a picture instead.",I());return}j.style.visibility="hidden";let t=null;try{let i=document.createElement("video");i.muted=!0,i.playsInline=!0,i.srcObject=e,await i.play(),await new Promise(d=>setTimeout(d,300));let m=i;await new Promise(d=>m.requestVideoFrameCallback?m.requestVideoFrameCallback(()=>d()):requestAnimationFrame(()=>d()));let f=document.createElement("canvas");f.width=i.videoWidth,f.height=i.videoHeight,(l=f.getContext("2d"))==null||l.drawImage(i,0,0);let v=(d,E)=>new Promise(B=>f.toBlob(B,d,E));t=await v("image/png"),t&&t.size>4.5*1024*1024&&(t=await v("image/jpeg",.9));}catch(i){t=null;}finally{for(let i of e.getTracks())i.stop();j.style.visibility="";}if(!t||!t.size)return L="The screenshot did not work here. Attach a picture instead.",I();let o=new Date().toISOString().slice(0,16).replace(/[:T]/g,"-");Le([Object.assign(t,{name:`screenshot-${o}.${t.type==="image/png"?"png":"jpg"}`})]);},re=r("div",{class:"ckw-msgr-menu ckw-msgr-amenu",role:"menu"}),Ge=()=>re.isConnected&&!re.hasAttribute("data-out"),$e=()=>{ue.setAttribute("aria-expanded","false"),X(re,120);},St=(e,t,o)=>{let l=r("button",{type:"button",class:"ckw-msgr-menu-i",role:"menuitem"},y(e,15),r("span",{},t));return l.addEventListener("click",i=>{i.stopPropagation(),$e(),o();}),l};ue.addEventListener("click",e=>{var t;if(e.stopPropagation(),he.unlock(),!Ye)return ee.click();if(Ge())return $e();re.replaceChildren(St(u.image,"Photo or file",()=>ee.click()),St(u.screen,"Screenshot of this page",()=>{gr();})),ue.setAttribute("aria-expanded","true"),de(re,W),(t=re.querySelector("button"))==null||t.focus();}),ee.addEventListener("change",()=>{var e;Le([...(e=ee.files)!=null?e:[]]),ee.value="";});let wr=r("a",{class:"ckw-msgr-powered",href:Xt,target:"_blank",rel:"noopener"},"Powered by ",r("b",{},"MRRocket")),At=r("ol",{class:"ckw-msgs","aria-live":"polite","aria-label":"Messages"}),Tt=()=>{var e;return w&&!((e=a.user())!=null&&e.email)&&!(x!=null&&x.hasEmail)},Qe=()=>!U.value.trim()||Ar.test(U.value.trim()),Xe=()=>(!!$.value.trim()||P.length>0)&&!R&&Qe(),A=e=>{let t=JSON.stringify(e)!==JSON.stringify(k);k=e,He=-1,I(),t&&Oe(b,"ckw-msgr-enter"),e==="messages"?(_e(),ge(),$.focus()):e==="help"&&Ze.focus(),ne(0);},kr=(e,t)=>{let o=r("img",{src:e,alt:t,loading:"lazy"});return o.addEventListener("load",()=>{b.scrollHeight-b.scrollTop-b.clientHeight<o.clientHeight+120&&(b.scrollTop=b.scrollHeight);}),o},Lt=(e,t=false)=>{var l,i,m;let o=r("li",{class:"ckw-msg","data-from":e.from==="visitor"?"me":"them"},e.body||!((l=e.attachments)!=null&&l.length)?r("div",{class:"ckw-bubble"},e.body):null);t&&o.setAttribute("aria-busy","true"),(i=e.attachments)!=null&&i.length&&o.append(r("div",{class:"ckw-msg-files"},...e.attachments.map(f=>f.type.startsWith("image/")?r("a",{class:"ckw-msg-img",href:We(f.id),target:"_blank",rel:"noopener",title:f.name},kr(We(f.id),f.name)):r("a",{class:"ckw-msgr-cite",href:We(f.id),target:"_blank",rel:"noopener"},y(u.doc,14),r("span",{},f.name)))));for(let f of (m=e.articles)!=null?m:[]){let v=r("button",{type:"button",class:"ckw-msgr-cite"},y(u.doc,14),r("span",{},f.title));v.addEventListener("click",()=>A({article:f.id})),o.append(v);}return o.append(r("span",{class:"ckw-msg-meta"},`${e.from!=="visitor"?`${pt[e.from]} \xB7 `:""}${t?"Sending\u2026":gt(e.at)}`)),o},mr=e=>{let t=r("button",{type:"button",class:"ckw-msgr-art"},r("span",{class:"ckw-msgr-art-t"},e.title),y(u.next,14));return t.addEventListener("click",()=>A({article:e.id})),t},$t=(e,t,o,l)=>{let i=r("button",{type:"button",class:"ckw-msgr-hrow"},r("span",{class:"ckw-msgr-hrow-main"},r("b",{},e),t?r("span",{class:"ckw-msgr-hrow-sub"},t):null,o?r("span",{class:"ckw-msgr-hrow-meta"},o):null),y(u.next,16));return i.addEventListener("click",l),i},Je=((e="Search for help")=>{let t=r("label",{class:"ckw-msgr-search"}),o=r("input",{class:"ckw-msgr-search-in",type:"search",placeholder:e,"aria-label":"Search for help",maxlength:"200"});o.value=N;let l;return o.addEventListener("input",()=>{N=o.value,clearTimeout(l),l=setTimeout(()=>{if(k!=="help")return A("help");tt(true);},250);}),o.addEventListener("keydown",i=>{i.key==="Enter"&&(i.preventDefault(),k!=="help"&&A("help"));}),t.append(y(u.search,16),o),t})("Search our help center\u2026"),Ze=Je.querySelector("input"),et=false,tt=async(e=false)=>{if(!D||et&&!e)return;et=true;let t=N.trim();try{let o=await q().articles(t||void 0);if(t!==N.trim())return;T=o.articles,t||(ze=o.articles.length>0);}catch(o){T=T!=null?T:[];}finally{et=false;}I();},rt=r("form",{class:"ckw-msgr-askq"}),ae=r("input",{class:"ckw-msgr-askq-in",placeholder:"Ask a question","aria-label":"Ask a question",maxlength:"4000",autocomplete:"off"}),at=r("button",{type:"submit",class:"ckw-msgr-send","aria-label":"Send",disabled:""},y(u.up));rt.append(ae,at),ae.addEventListener("input",()=>at.disabled=!ae.value.trim()),rt.addEventListener("submit",e=>{if(e.preventDefault(),!ae.value.trim())return A("messages");$.value=ae.value,ae.value="",at.disabled=true,A("messages"),Xe()&&it();});let fr=()=>{var m,f,v;let e=(f=(m=a.user())==null?void 0:m.name)==null?void 0:f.trim().split(/\s+/)[0],t=p.replace(/^(hi|hello|hey|hallo)( there)?\s*[!,.]*\s*/i,"").trim()||"How can we help you today?",o=r("h2",{class:"ckw-msgr-hero ckw-msgr-hello"},r("span",{},e?`Hi, ${e} `:"Hi there ",r("span",{class:"ckw-msgr-wave","aria-hidden":"true"},"\u{1F44B}")),r("span",{class:"ckw-msgr-hello-sub"},t)),l=((v=x==null?void 0:x.messages)!=null?v:[]).at(-1),i=[o,rt];if(l){let d=r("button",{type:"button",class:"ckw-msgr-card ckw-msgr-recent","aria-label":`Recent message: ${wt(l)}`},r("span",{class:"ckw-msgr-recent-row"},le("sm"),r("span",{class:"ckw-msgr-card-main"},r("span",{class:"ckw-msgr-card-sub ckw-msgr-recent-text"},wt(l)),r("span",{class:"ckw-msgr-card-meta"},`${l.from==="visitor"?"You":pt[l.from]} \xB7 ${gt(l.at)}`)),S.length?r("span",{class:"ckw-msgr-badge"},String(S.length)):y(u.next,14)));d.addEventListener("click",()=>A("messages")),i.push(d);}if(D&&ze!==false){let d=r("div",{class:"ckw-msgr-card ckw-msgr-card-col"}),E=(T!=null?T:[]).slice(0,3);E.length?d.append(...E.map(mr)):T===null&&d.append(r("div",{class:"ckw-skel ckw-msgr-skel"})),i.push(d);}b.replaceChildren(...i);},ur=()=>{var f,v;Ze.value!==N&&(Ze.value=N);let e=N.trim(),t=T!=null?T:[],o=new Map;for(let d of t)o.set(d.collection,[...(f=o.get(d.collection))!=null?f:[],d]);let l=!e&&K!==null?(v=o.get(K))!=null?v:[]:null,i=e?"Search results":l?K!=null?K:"":"Most read articles",m=[r("h2",{class:"ckw-msgr-help-h"},i),Je];if(T===null)m.push(r("div",{class:"ckw-skel"}));else if(t.length)e||l?m.push(r("div",{class:"ckw-msgr-hlist"},...(l!=null?l:t).map(d=>$t(d.title,d.excerpt.startsWith(d.title)?d.excerpt.slice(d.title.length).trim():d.excerpt,e?d.collection:"",()=>A({article:d.id}))))):m.push(r("div",{class:"ckw-msgr-hlist"},...[...o].map(([d,E])=>$t(d,E.map(B=>B.title).join(", "),`${E.length} ${E.length===1?"article":"articles"}`,()=>{K=d,A("help"),Oe(b,"ckw-msgr-enter");}))));else {let d=r("button",{type:"button",class:"ckw-btn ckw-btn-primary"},"Send us a message");d.addEventListener("click",()=>A("messages")),m.push(r("div",{class:"ckw-msgr-empty"},r("p",{},e?`Nothing found for \u201C${e}\u201D.`:"No help articles yet."),d));}if(b.childNodes[1]!==Je)b.replaceChildren(...m);else {for(b.firstChild.replaceWith(m[0]);b.childNodes.length>2;)b.lastChild.remove();b.append(...m.slice(2));}},oe=null,br=e=>{if((oe==null?void 0:oe.id)===e)return b.replaceChildren(oe.node);let t=r("article",{class:"ckw-msgr-doc"},r("div",{class:"ckw-skel"}));oe={id:e,node:t},b.replaceChildren(t),q().article(e).then(o=>{let l=r("div",{class:"ckw-msgr-rate"}),i=()=>{if(Pe.has(e))return l.replaceChildren(r("span",{},"Thanks for letting us know."));let f=r("button",{type:"button",class:"ckw-btn"},"Yes"),v=r("button",{type:"button",class:"ckw-btn"},"No"),d=E=>{Pe=new Set(Pe).add(e),i(),q().rateArticle(e,E).catch(()=>{}),E||A("messages");};f.addEventListener("click",()=>d(true)),v.addEventListener("click",()=>d(false)),l.replaceChildren(r("span",{},"Did this answer your question?"),r("span",{class:"ckw-msgr-rate-b"},f,v));};i();let m=r("button",{type:"button",class:"ckw-btn ckw-msgr-ask"},y(u.chat),"Still need help? Send us a message");m.addEventListener("click",()=>A("messages")),t.replaceChildren(r("p",{class:"ckw-msgr-doc-c"},o.collection),r("h2",{class:"ckw-msgr-doc-t"},o.title),r("p",{class:"ckw-msgr-doc-c"},`Updated ${gt(o.updatedAt)}`),r("div",{class:"ckw-msgr-doc-b"},...o.blocks.map(Fr)),l,m);}).catch(o=>{oe=null,t.replaceChildren(r("p",{class:"ckw-msgr-error"},o.message));});},He=-1,Ht="",ot=-1,nt=r("div",{class:"ckw-msgr-sugg"}),hr=()=>{var l,i,m,f;let e=(l=x==null?void 0:x.messages)!=null?l:[],t=[];if(!kt)t.push(r("div",{class:"ckw-skel"}));else {let v=`${e.map(E=>E.id).join(",")}|${R?`${R.body}+${(m=(i=R.attachments)==null?void 0:i.length)!=null?m:0}`:""}|${Math.floor(Date.now()/6e4)}`;if(v!==Ht){Ht=v;let B=[r("li",{class:"ckw-msg","data-from":"them"},r("div",{class:"ckw-bubble"},p)),...e.map(st=>Lt(st)),...R?[Lt(R,true)]:[]];ot>=0&&B.slice(ot).forEach(st=>st.setAttribute("data-new","")),ot=B.length,At.replaceChildren(...B);}t.push(At);let d=!e.some(E=>E.from==="visitor")&&!R?(T!=null?T:[]).slice(0,3):[];d.length&&(nt.childNodes.length!==d.length&&nt.replaceChildren(...d.map(E=>{let B=r("button",{type:"button",class:"ckw-msgr-sugg-b"},E.title);return B.addEventListener("click",()=>A({article:E.id})),B})),t.push(nt));}((f=x==null?void 0:x.conversation)==null?void 0:f.status)==="solved"&&!R&&t.push(r("p",{class:"ckw-fine ckw-msgr-note"},"This conversation is closed. Write to start a new one.")),(b.childNodes.length!==t.length||t.some((v,d)=>b.childNodes[d]!==v))&&b.replaceChildren(...t);let o=e.length+(R?1:0);o!==He&&(He=o,b.scrollTop=b.scrollHeight),Te.textContent=L,L&&!Te.isConnected?W.prepend(Te):L||Te.remove(),Tt()?(Qe()?U.removeAttribute("aria-invalid"):U.setAttribute("aria-invalid","true"),U.isConnected||W.insertBefore(U,te.isConnected?te:Z)):U.remove(),pr(),Ve.disabled=!Xe();},I=()=>{if(!M)return;C.dataset.view=typeof k=="string"?k:"article",dr(),k==="home"?fr():k==="messages"?hr():k==="help"?ur():br(k.article);let e=k==="home"?[sr,Ue,b]:[Ue,b];e.push(k==="messages"?W:Be),a.branding!==false&&e.push(wr),V.isConnected&&e.push(V),(C.childNodes.length!==e.length||e.some((t,o)=>C.childNodes[o]!==t))&&C.replaceChildren(...e);},jt=async()=>{Y==null||Y.abort(),Y=new AbortController;try{ut(await q().chat(Y.signal)),L="";}catch(e){if(e.name==="AbortError")return;M&&k==="messages"&&(L=e.message);}kt=true,I(),ge(),ne();};function ne(e){var m,f,v;clearTimeout(ye);let t=!!(x!=null&&x.messages.some(d=>d.from==="visitor"))&&((m=x==null?void 0:x.conversation)==null?void 0:m.status)!=="solved",o=(v=((f=x==null?void 0:x.messages)!=null?f:[]).filter(d=>d.from==="visitor").at(-1))==null?void 0:v.at,l=!!o&&Date.now()-new Date(o).getTime()<Sr,i=e!=null?e:Fe()?Mr:t&&l?Cr:M||t?Er:0;(i||e===0)&&(ye=setTimeout(()=>{jt();},i));}let It=()=>{document.visibilityState==="visible"?ne(0):clearTimeout(ye);};document.addEventListener("visibilitychange",It);let it=async()=>{let e=$.value.trim(),t=P;if(!e&&!t.length||R||!Qe())return;he.unlock();for(let i of t)be.set(i.key,i.local);R={id:"pending",from:"visitor",body:e,at:new Date().toISOString(),...t.length?{attachments:t.map(i=>({id:i.key,name:i.name,type:i.type,size:i.size}))}:{}},$.value="",P=[],L="",I(),await Promise.all(t.map(i=>i.up));let o=t.filter(i=>i.id).map(i=>i.id),l=false;try{if(!e&&!o.length)throw new Error(L||"The file could not be sent.");ut(await q().sendChat({body:e,email:Tt()&&U.value.trim()?U.value.trim():void 0,url:window.location.href.slice(0,500),...o.length?{attachments:o}:{},context:{viewport:`${window.innerWidth}\xD7${window.innerHeight}`}})),l=!0;}catch(i){$.value=e,P=t.filter(m=>m.id),L=i.message;}R=null;for(let i of t)be.delete(i.key);if(I(),l)for(let i of t)URL.revokeObjectURL(i.local);ne();};W.addEventListener("submit",e=>{e.preventDefault(),it();}),$.addEventListener("keydown",e=>{e.key==="Enter"&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),it());}),$.addEventListener("input",()=>Ve.disabled=!Xe()),$.addEventListener("paste",e=>{var o,l;let t=[...(l=(o=e.clipboardData)==null?void 0:o.files)!=null?l:[]];t.length&&(e.preventDefault(),Le(t));});let Rt=e=>!!e.dataTransfer&&[...e.dataTransfer.types].includes("Files");C.addEventListener("dragover",e=>{Rt(e)&&(e.preventDefault(),C.setAttribute("data-drop",""));}),C.addEventListener("dragleave",e=>{(!e.relatedTarget||!C.contains(e.relatedTarget))&&C.removeAttribute("data-drop");}),C.addEventListener("drop",e=>{var t,o;Rt(e)&&(e.preventDefault(),C.removeAttribute("data-drop"),Le([...(o=(t=e.dataTransfer)==null?void 0:t.files)!=null?o:[]]));}),U.addEventListener("input",()=>I());function G(e="home",t=false){let o=M;M=true,k=e==="help"&&!D?"home":e,He=-1,ve=true,Ce(true),C.toggleAttribute("data-still",t),de(C),o&&Oe(b,"ckw-msgr-enter"),(T===null||k==="help"&&N)&&tt(),I(),ge(),k==="messages"&&(_e(),$.focus()),ne(0);}function ie(){M&&(M=false,V.isConnected&&fe(),X(C,200),ge(),ne(),H&&_.focus());}C.addEventListener("click",()=>Ge()&&$e());let Pt=e=>{e.key!=="Escape"||!M||(Ge()?($e(),ue.focus()):Ke()?(fe(),me.focus()):ie());};return document.addEventListener("keydown",Pt),jt(),D&&tt(),ge(),a.opened&&G(a.opened,true),{open:e=>G(e!=null?e:"home"),close:ie,toggle:()=>M?ie():G(),destroy:()=>{clearTimeout(ye),clearTimeout(ke);for(let e of Q.values())clearTimeout(e);Y==null||Y.abort();for(let e of P)Mt(e);for(let e of be.values())URL.revokeObjectURL(e);document.removeEventListener("keydown",Pt),document.removeEventListener("visibilitychange",It),j.remove();}}};window.__mrrocketMessenger={mountMessenger:ir};
|
|
582
582
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){'use strict';var
|
|
1
|
+
(function(){'use strict';var m="401: sign the user id on your server with userHash(id) from @mrrocket/sdk/next/server and pass identify(id, props, { hash }).",b=(e,t=s=>console.warn(s))=>{let s=globalThis;e!==401||s.__mrrocketUnsigned||(s.__mrrocketUnsigned=true,t(`[MRRocket] ${m}`));};var w=e=>{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/").padEnd(Math.ceil(e.length/4)*4,"=")),s=new Uint8Array(t.length);for(let r=0;r<t.length;r++)s[r]=t.charCodeAt(r);return s},k=(e,t)=>{if(!e)return false;let s=new Uint8Array(e);return s.length===t.length&&s.every((r,o)=>r===t[o])},u=()=>typeof window!="undefined"&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window,P=(e=true)=>{if(!u())return Promise.resolve("denied");if(Notification.permission!=="default"||!e)return Promise.resolve(Notification.permission);try{return Promise.resolve(Notification.requestPermission())}catch(t){return Promise.resolve("denied")}},v=async(e,t,s)=>{if(s!==false){let r=`${s}?key=${encodeURIComponent(t)}&host=${encodeURIComponent(e)}`;await navigator.serviceWorker.register(r);}return navigator.serviceWorker.ready},g=async(e,t={})=>{var o,d,c,h;if(!u())return {status:"unsupported",reason:"This browser has no web push."};if(!e.distinctId)return {status:"not-signed-in"};let s=t.ask!==false,r=await((o=e.permission)!=null?o:P(s));if(r==="denied")return {status:"denied"};if(r!=="granted")return {status:s?"denied":"not-asked"};try{let i=await fetch(`${e.host}/api/sdk/push?key=${encodeURIComponent(e.apiKey)}`),p=i.ok?(d=(await i.json()).web)==null?void 0:d.vapidKey:void 0;if(!p)return {status:"error",reason:`MRRocket answered ${i.status} for the push key.`};let f=w(p),l=await v(e.host,e.apiKey,(c=t.serviceWorker)!=null?c:"/mrrocket-sw.js"),n=await l.pushManager.getSubscription();n&&!k((h=n.options)==null?void 0:h.applicationServerKey,f)&&(await n.unsubscribe().catch(()=>!1),n=null),n!=null||(n=await l.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:f}));let a=await fetch(`${e.host}/api/sdk/push`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:e.apiKey,distinctId:e.distinctId,userHash:e.userHash,platform:"web",subscription:n.toJSON(),host:e.host})});return b(a.status),a.ok?{status:"subscribed"}:{status:"error",reason:`MRRocket answered ${a.status}.`}}catch(i){return {status:"error",reason:i instanceof Error?i.message:String(i)}}},y=async e=>{if(!u())return false;try{let t=await navigator.serviceWorker.getRegistration(),s=await(t==null?void 0:t.pushManager.getSubscription());return s?(await fetch(`${e.host}/api/sdk/push`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:e.apiKey,distinctId:e.distinctId,userHash:e.userHash,platform:"web",remove:!0,endpoint:s.endpoint})}).catch(()=>null),await s.unsubscribe()):!1}catch(t){return false}};window.__mrrocketPush={subscribeWebPush:g,unsubscribeWebPush:y};})();
|