@mrrocket/sdk 0.14.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.
Files changed (70) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +45 -4
  3. package/dist/api-client.d.ts +67 -5
  4. package/dist/api-client.js +39 -8
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/api.d.ts +4 -1
  7. package/dist/api.js +2 -1
  8. package/dist/api.js.map +1 -1
  9. package/dist/batch.d.ts +6 -4
  10. package/dist/batch.js +3 -3
  11. package/dist/batch.js.map +1 -1
  12. package/dist/browser/mrrocket-flows.js +2 -2
  13. package/dist/browser/mrrocket-forms.js +1 -1
  14. package/dist/browser/mrrocket-messenger.js +202 -46
  15. package/dist/browser/mrrocket-push.js +1 -1
  16. package/dist/browser/mrrocket-replay.js +3 -3
  17. package/dist/browser/mrrocket.js +1 -1
  18. package/dist/client.d.ts +10 -2
  19. package/dist/client.js +36 -15
  20. package/dist/client.js.map +1 -1
  21. package/dist/context.d.ts +5 -1
  22. package/dist/context.js.map +1 -1
  23. package/dist/core.d.ts +1 -1
  24. package/dist/core.js +1 -1
  25. package/dist/core.js.map +1 -1
  26. package/dist/errors.d.ts +5 -1
  27. package/dist/errors.js +8 -2
  28. package/dist/errors.js.map +1 -1
  29. package/dist/flows-ui.js +48 -1
  30. package/dist/flows-ui.js.map +1 -1
  31. package/dist/flows-web.d.ts +2 -0
  32. package/dist/flows-web.js +4 -1
  33. package/dist/flows-web.js.map +1 -1
  34. package/dist/flows.d.ts +61 -1
  35. package/dist/flows.js +64 -21
  36. package/dist/flows.js.map +1 -1
  37. package/dist/forms.d.ts +4 -0
  38. package/dist/forms.js +4 -1
  39. package/dist/forms.js.map +1 -1
  40. package/dist/identity.d.ts +42 -0
  41. package/dist/identity.js +24 -0
  42. package/dist/identity.js.map +1 -0
  43. package/dist/index.d.ts +2 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/messenger-ui.d.ts +21 -6
  46. package/dist/messenger-ui.js +334 -80
  47. package/dist/messenger-ui.js.map +1 -1
  48. package/dist/messenger.d.ts +11 -3
  49. package/dist/messenger.js +9 -5
  50. package/dist/messenger.js.map +1 -1
  51. package/dist/push-web.d.ts +2 -13
  52. package/dist/push-web.js +4 -2
  53. package/dist/push-web.js.map +1 -1
  54. package/dist/react-native/index.d.cts +162 -14
  55. package/dist/react-native/index.d.ts +162 -14
  56. package/dist/react-native/index.js +552 -207
  57. package/dist/react-native/index.js.map +1 -1
  58. package/dist/replay.d.ts +4 -1
  59. package/dist/replay.js +8 -2
  60. package/dist/replay.js.map +1 -1
  61. package/dist/server.d.ts +2 -0
  62. package/dist/server.js +2 -0
  63. package/dist/server.js.map +1 -1
  64. package/dist/styles-css.d.ts +1 -1
  65. package/dist/styles-css.js +200 -44
  66. package/dist/styles-css.js.map +1 -1
  67. package/dist/user-hash.d.ts +27 -0
  68. package/dist/user-hash.js +24 -0
  69. package/dist/user-hash.js.map +1 -0
  70. package/package.json +9 -1
@@ -1,9 +1,13 @@
1
- (function(){'use strict';var Kt=Object.defineProperty;var qt=(r,n,o)=>n in r?Kt(r,n,{enumerable:true,configurable:true,writable:true,value:o}):r[n]=o;var zt=(r,n,o)=>qt(r,n+"",o);var Mt=r=>r==="minutes"?"We usually reply in a few minutes":r==="day"?"We usually reply within a day":"We usually reply in a few hours",Ct=r=>{let n=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(r);if(!n)return "#ffffff";let[o,l,s]=[n[1],n[2],n[3]].map(c=>{let f=parseInt(c,16)/255;return f<=.03928?f/12.92:((f+.055)/1.055)**2.4});return .2126*o+.7152*l+.0722*s>.45?"#111214":"#ffffff"},he=class extends Error{constructor(o,l){super(o);zt(this,"status");this.status=l;}},P=r=>Object.entries(r).filter(n=>!!n[1]).map(([n,o])=>`${encodeURIComponent(n)}=${encodeURIComponent(o)}`).join("&"),I=async(r,n,o)=>{var s;let l;try{l=await fetch(r,{...n,signal:o,headers:n!=null&&n.body?{"content-type":"application/json"}:void 0});}catch(c){throw c.name==="AbortError"?c:new he("Could not reach the server. Check your connection and try again.",0)}if(!l.ok){let c="";try{c=(s=(await l.json()).error)!=null?s:"";}catch(f){}throw new he(c||(l.status===429?"Too many requests. Try again in a minute.":"Something went wrong. Please try again."),l.status)}return await l.json()},qe=r=>{let n=`${r.host}/api/sdk`,o={key:r.apiKey,distinctId:r.distinctId,user:r.user},l=(s,c,f)=>I(`${n}${s}`,{method:"POST",body:JSON.stringify({...o,...c})},f);return {list:(s,c)=>I(`${n}/feedback?${P({key:r.apiKey,distinctId:r.distinctId,board:s.board,sort:s.sort,q:s.q})}`,void 0,c),post:(s,c)=>I(`${n}/feedback/${encodeURIComponent(s)}?${P({key:r.apiKey,distinctId:r.distinctId})}`,void 0,c),roadmap:s=>I(`${n}/feedback/roadmap?${P({key:r.apiKey,distinctId:r.distinctId})}`,void 0,s),changelog:s=>I(`${n}/feedback/changelog?${P({key:r.apiKey})}`,void 0,s),submit:s=>l("/feedback",s),vote:s=>l(`/feedback/${encodeURIComponent(s)}/vote`,{}),comments:(s,c)=>I(`${n}/feedback/${encodeURIComponent(s)}/comments?${P({key:r.apiKey})}`,void 0,c),comment:(s,c)=>l(`/feedback/${encodeURIComponent(s)}/comments`,{body:c}),survey:(s,c)=>I(`${n}/surveys?${P({key:r.apiKey,distinctId:r.distinctId,url:s})}`,void 0,c),seen:s=>l(`/surveys/${encodeURIComponent(s)}/seen`,{user:void 0}),respond:(s,c)=>l(`/surveys/${encodeURIComponent(s)}/respond`,c),chat:s=>I(`${n}/messages?${P({key:r.apiKey,distinctId:r.distinctId})}`,void 0,s),sendChat:s=>l("/messages",s),articles:(s,c)=>I(`${n}/articles?${P({key:r.apiKey,q:s})}`,void 0,c),article:(s,c)=>I(`${n}/articles/${encodeURIComponent(s)}?${P({key:r.apiKey,distinctId:r.distinctId})}`,void 0,c),messengerLook:s=>I(`${n}/messenger?${P({key:r.apiKey})}`,void 0,s),rateArticle:(s,c)=>l(`/articles/${encodeURIComponent(s)}/rate`,{helpful:c})}};var At="ckw-styles",_t=`
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);
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
+ .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
- .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)}
5
- @media (prefers-color-scheme:dark){.ckw-root[data-theme=auto]{--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)}}
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)}
5
+ @media (prefers-color-scheme:dark){.ckw-root[data-theme=auto]{--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)}}
6
6
  .ckw-root *,.ckw-root *::before,.ckw-root *::after{box-sizing:border-box}
7
+ .ckw-root{--ckw-r-panel:22px;--ckw-r-bubble:18px;--ckw-r-tail:6px;--ckw-r-card:16px;--ckw-r-field:20px;--ckw-r-pill:999px;--ckw-r-fab:999px}
8
+ .ckw-root[data-corners=soft]{--ckw-r-panel:14px;--ckw-r-bubble:12px;--ckw-r-tail:4px;--ckw-r-card:10px;--ckw-r-field:10px;--ckw-r-pill:10px;--ckw-r-fab:18px}
9
+ .ckw-root[data-corners=square]{--ckw-r-panel:6px;--ckw-r-bubble:6px;--ckw-r-tail:2px;--ckw-r-card:4px;--ckw-r-field:4px;--ckw-r-pill:4px;--ckw-r-fab:8px}
10
+ .ckw-root[data-font=system]{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
7
11
  :where(.ckw-root) :where(button,input,select,textarea){font:inherit;color:inherit;margin:0}
8
12
  .ckw-root button{cursor:pointer}
9
13
  .ckw-root :focus-visible{outline:2px solid var(--ckw-accent);outline-offset:2px}
@@ -204,19 +208,21 @@ font-size:14px;line-height:1.45;font-family:inherit;color:var(--ckw-fg);box-sizi
204
208
  .ckw-pop .ckw-form{border:0;padding:0;margin:12px 0 0}
205
209
  @media (max-width:520px){.ckw-pop{left:0!important;right:0!important;bottom:0;width:100%;max-width:100%;border-radius:12px 12px 0 0;max-height:85vh}.ckw-fab{bottom:14px}.ckw-fab[data-pos=bottom-right]{right:14px}.ckw-fab[data-pos=bottom-left]{left:14px}}
206
210
  /* Messenger (messenger-ui.ts). Motion: one soft ease (.32,.72,0,1) for things that arrive, a quick ease-in for things that leave. */
207
- .ckw-msgr-fab{position:fixed;bottom:20px;height:52px;padding:0 20px 0 16px;gap:8px;font-size:15px;box-shadow:0 2px 6px rgba(16,18,24,.14),0 10px 28px color-mix(in srgb,var(--ckw-accent) 38%,transparent);transition:transform .28s cubic-bezier(.32,.72,0,1),box-shadow .2s linear}
208
- .ckw-msgr-fab:hover{transform:scale(1.06);box-shadow:0 2px 6px rgba(16,18,24,.14),0 14px 34px color-mix(in srgb,var(--ckw-accent) 46%,transparent)}
211
+ .ckw-msgr-fab{position:fixed;bottom:20px;height:52px;padding:0 20px 0 16px;gap:8px;font-size:15px;box-shadow:0 1px 2px rgba(16,18,24,.1),0 6px 20px rgba(16,18,24,.16);transition:transform .3s cubic-bezier(.32,.72,0,1),box-shadow .2s linear}
212
+ .ckw-msgr-fab:hover{transform:scale(1.05);box-shadow:0 1px 2px rgba(16,18,24,.1),0 10px 28px rgba(16,18,24,.2)}
209
213
  .ckw-msgr-fab:active{transform:scale(.94);transition-duration:.1s}
210
- .ckw-msgr-round{width:60px;height:60px;padding:0;justify-content:center}
214
+ .ckw-msgr-round{width:56px;height:56px;padding:0;justify-content:center}
215
+ .ckw-msgr-fab{border-radius:var(--ckw-r-fab)}
211
216
  .ckw-msgr-fab-ic{position:relative;display:block;width:20px;height:20px;flex:none}
212
- .ckw-msgr-round .ckw-msgr-fab-ic{width:28px;height:28px}
217
+ .ckw-msgr-round .ckw-msgr-fab-ic{width:27px;height:27px}
218
+ .ckw-msgr-fab .ckw-cut{stroke:var(--ckw-accent)}
213
219
  .ckw-msgr-fab-i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .38s cubic-bezier(.32,.72,0,1),opacity .2s linear}
214
220
  .ckw-msgr-fab-i .ckw-icon{width:auto;height:auto}
215
221
  .ckw-msgr-fab-i[data-i=x],.ckw-msgr-fab[data-open] .ckw-msgr-fab-i[data-i=chat]{opacity:0;transform:rotate(-90deg) scale(.4)}
216
222
  .ckw-msgr-fab[data-open] .ckw-msgr-fab-i[data-i=chat]{transform:rotate(90deg) scale(.4)}
217
223
  .ckw-msgr-fab[data-open] .ckw-msgr-fab-i[data-i=x]{opacity:1;transform:none}
218
- .ckw-msgr-fab-i[data-i=x] .ckw-icon{stroke-width:2}
219
- .ckw-msgr-count{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--ckw-danger);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px var(--ckw-bg);font-variant-numeric:tabular-nums;animation:ckw-badge .4s cubic-bezier(.34,1.56,.64,1)}
224
+ .ckw-msgr-fab-i[data-i=x] .ckw-icon{stroke-width:2.2}
225
+ .ckw-msgr-count{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--ckw-bg);font-variant-numeric:tabular-nums;animation:ckw-badge .4s cubic-bezier(.34,1.56,.64,1)}
220
226
  @keyframes ckw-badge{from{transform:scale(0)}}
221
227
  .ckw-msgr-av{width:36px;height:36px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--ckw-accent);color:var(--ckw-accent-ink);font-size:15px;font-weight:700;line-height:1}
222
228
  .ckw-msgr-av-sm{width:26px;height:26px;font-size:12px}
@@ -229,23 +235,24 @@ font-size:14px;line-height:1.45;font-family:inherit;color:var(--ckw-fg);box-sizi
229
235
  .ckw-msgr-preview[data-out],.ckw-msgr-teaser[data-out]{animation:ckw-sink .16s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}
230
236
  @keyframes ckw-rise{from{opacity:0;transform:translateY(10px) scale(.94)}}
231
237
  @keyframes ckw-sink{to{opacity:0;transform:translateY(6px) scale(.97)}}
232
- .ckw-msgr-preview-card{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:14px 16px;border:0;border-radius:18px;background:var(--ckw-bg);box-shadow:var(--ckw-float);transition:transform .2s cubic-bezier(.32,.72,0,1)}
238
+ .ckw-msgr-preview-card{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:14px 40px 14px 16px;border:0;border-radius:calc(var(--ckw-r-card) + 2px);background:var(--ckw-bg);box-shadow:var(--ckw-soft);transition:transform .2s cubic-bezier(.32,.72,0,1)}
233
239
  .ckw-msgr-preview-card:hover{transform:translateY(-2px)}
234
240
  .ckw-msgr-preview-main{display:flex;flex-direction:column;gap:2px;min-width:0}
235
241
  .ckw-msgr-preview-who{font-size:12px;font-weight:600;color:var(--ckw-fg3)}
236
242
  .ckw-msgr-preview-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}
237
- .ckw-msgr-preview-x{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:0;background:var(--ckw-bg);color:var(--ckw-fg2);display:flex;align-items:center;justify-content:center;padding:0;box-shadow:var(--ckw-lift)}
238
- .ckw-msgr-teaser{width:340px;padding:16px;border-radius:20px;background:var(--ckw-bg);box-shadow:var(--ckw-float);display:flex;flex-direction:column;gap:14px}
243
+ .ckw-msgr-preview-x{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;border:0;background:transparent;color:var(--ckw-fg3);display:flex;align-items:center;justify-content:center;padding:0;transition:background-color .12s linear,color .12s linear}
244
+ .ckw-msgr-preview-x:hover{background:var(--ckw-bg2);color:var(--ckw-fg)}
245
+ .ckw-msgr-teaser{width:340px;padding:16px;border-radius:calc(var(--ckw-r-card) + 4px);background:var(--ckw-bg);box-shadow:var(--ckw-soft);display:flex;flex-direction:column;gap:14px}
239
246
  .ckw-msgr-teaser-top{display:flex;align-items:center;gap:12px}
240
247
  .ckw-msgr-teaser-t{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
241
248
  .ckw-msgr-teaser-t b{font-size:15px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
242
249
  .ckw-msgr-teaser-row{display:flex;gap:8px}
243
- .ckw-msgr-teaser-b{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 14px;border:0;border-radius:999px;background:var(--ckw-bg3);color:var(--ckw-fg);font-size:14px;font-weight:600;white-space:nowrap;transition:transform .2s cubic-bezier(.32,.72,0,1),filter .1s linear}
250
+ .ckw-msgr-teaser-b{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 14px;border:0;border-radius:var(--ckw-r-pill);background:var(--ckw-bg3);color:var(--ckw-fg);font-size:14px;font-weight:600;white-space:nowrap;transition:transform .2s cubic-bezier(.32,.72,0,1),filter .1s linear}
244
251
  .ckw-msgr-teaser-b[data-main]{flex:1.4;background:var(--ckw-accent);color:var(--ckw-accent-ink)}
245
252
  .ckw-msgr-teaser-b:hover{filter:brightness(1.06)}
246
253
  .ckw-msgr-teaser-b:active{transform:scale(.96)}
247
254
  /* The panel */
248
- .ckw-msgr{bottom:92px;width:400px;height:min(680px,calc(100vh - 112px));max-height:none;border:0;border-radius:22px;box-shadow:var(--ckw-float);transform-origin:bottom right;animation:ckw-msgr-in .42s cubic-bezier(.32,.72,0,1);transition:width .36s cubic-bezier(.32,.72,0,1),height .36s cubic-bezier(.32,.72,0,1)}
255
+ .ckw-msgr{bottom:92px;width:400px;height:min(680px,calc(100vh - 112px));max-height:none;border:0;border-radius:var(--ckw-r-panel);box-shadow:var(--ckw-soft);transform-origin:bottom right;animation:ckw-msgr-in .42s cubic-bezier(.32,.72,0,1);transition:width .36s cubic-bezier(.32,.72,0,1),height .36s cubic-bezier(.32,.72,0,1)}
249
256
  .ckw-msgr[data-pos=bottom-left]{transform-origin:bottom left}
250
257
  .ckw-msgr[data-wide]{width:680px;height:calc(100vh - 112px);max-height:860px}
251
258
  .ckw-msgr[data-still]{animation:none}
@@ -260,14 +267,7 @@ font-size:14px;line-height:1.45;font-family:inherit;color:var(--ckw-fg);box-sizi
260
267
  .ckw-msgr-ib:active{transform:scale(.9)}
261
268
  .ckw-msgr-ib[aria-current=page]{color:var(--ckw-fg)}
262
269
  .ckw-msgr-x{display:none}
263
- .ckw-msgr-seg{position:relative;display:flex;padding:4px;border-radius:999px;background:var(--ckw-bg3);flex:none}
264
- .ckw-msgr-seg-mark{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--ckw-accent);box-shadow:0 1px 3px color-mix(in srgb,var(--ckw-accent) 40%,transparent);opacity:0;transition:transform .38s cubic-bezier(.32,.72,0,1),width .38s cubic-bezier(.32,.72,0,1),opacity .2s linear}
265
- .ckw-msgr-seg-mark[data-on]{opacity:1}
266
- .ckw-msgr-seg-mark[data-still]{transition:opacity .2s linear}
267
- .ckw-msgr-seg-b{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--ckw-fg2);font-size:13.5px;font-weight:650;white-space:nowrap;transition:color .25s linear}
268
- .ckw-msgr-seg-b:hover{color:var(--ckw-fg)}
269
- .ckw-msgr-seg-b[aria-current=page]{color:var(--ckw-accent-ink)}
270
- .ckw-msgr-count-tab{top:8px;right:4px;min-width:0;width:7px;height:7px;padding:0;font-size:0;line-height:0;box-shadow:0 0 0 2px var(--ckw-bg3)}
270
+ .ckw-msgr-count-tab{top:-1px;right:-3px;min-width:0;width:8px;height:8px;padding:0;font-size:0;line-height:0;box-shadow:0 0 0 2px var(--ckw-bg)}
271
271
  .ckw-msgr-menu{position:absolute;z-index:3;top:52px;right:12px;min-width:200px;padding:6px;border-radius:14px;background:var(--ckw-bg);box-shadow:var(--ckw-float);display:flex;flex-direction:column;transform-origin:top right;animation:ckw-menu-in .2s cubic-bezier(.32,.72,0,1)}
272
272
  .ckw-msgr-menu[data-out]{animation:ckw-menu-out .12s cubic-bezier(.4,0,1,1) forwards}
273
273
  @keyframes ckw-menu-in{from{opacity:0;transform:translateY(-4px) scale(.94)}}
@@ -283,12 +283,14 @@ font-size:14px;line-height:1.45;font-family:inherit;color:var(--ckw-fg);box-sizi
283
283
  .ckw-msgr-enter>:nth-child(n+4){animation-delay:.09s}
284
284
  @keyframes ckw-view{from{opacity:0;transform:translateY(8px)}}
285
285
  /* Home */
286
- .ckw-msgr-hero{display:flex;flex-direction:column;gap:8px;padding:14px 4px 10px}
286
+ .ckw-msgr-hero{display:flex;flex-direction:column;gap:6px;padding:10px 4px 8px}
287
287
  .ckw-msgr-brand{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ckw-fg2);min-width:0}
288
288
  .ckw-msgr-brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
289
- .ckw-msgr-hello{margin:4px 0 0;font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:1.15;text-wrap:balance;overflow-wrap:anywhere}
290
- .ckw-msgr-card{position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;border:0;border-radius:16px;background:var(--ckw-card);box-shadow:0 0 0 1px var(--ckw-line),0 1px 2px rgba(16,18,24,.04);transition:box-shadow .15s linear,transform .25s cubic-bezier(.32,.72,0,1)}
291
- button.ckw-msgr-card:hover{transform:translateY(-1px);box-shadow:0 0 0 1px color-mix(in srgb,var(--ckw-accent) 35%,var(--ckw-line)),0 6px 16px rgba(16,18,24,.06)}
289
+ .ckw-msgr-hello{margin:14px 0 0;font-size:28px;font-weight:650;letter-spacing:-.03em;line-height:1.12;text-wrap:balance;overflow-wrap:anywhere}
290
+ .ckw-msgr-card{position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;border:0;border-radius:var(--ckw-r-card);background:var(--ckw-bg2);transition:background-color .15s linear,box-shadow .15s linear,transform .25s cubic-bezier(.32,.72,0,1)}
291
+ button.ckw-msgr-card:hover{background:var(--ckw-bg3)}
292
+ .ckw-msgr-card-col .ckw-msgr-search{background:var(--ckw-bg)}
293
+ .ckw-msgr-card .ckw-msgr-art:hover{background:var(--ckw-bg3)}
292
294
  button.ckw-msgr-card:active{transform:scale(.985)}
293
295
  .ckw-msgr-card-col{flex-direction:column;align-items:stretch;gap:2px;padding:8px}
294
296
  .ckw-msgr-card-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
@@ -305,7 +307,7 @@ button.ckw-msgr-card:hover .ckw-msgr-go{transform:translateX(2px)}
305
307
  .ckw-msgr-card .ckw-msgr-go .ckw-icon{color:var(--ckw-accent)}
306
308
  .ckw-msgr-badge{width:8px;height:8px;flex:none;border-radius:50%;background:var(--ckw-danger);font-size:0}
307
309
  /* Search */
308
- .ckw-msgr-search{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border:1px solid transparent;border-radius:14px;background:var(--ckw-bg2);color:var(--ckw-fg3);cursor:text;transition:border-color .15s linear,box-shadow .15s linear,background-color .15s linear}
310
+ .ckw-msgr-search{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border:1px solid transparent;border-radius:var(--ckw-r-field);background:var(--ckw-bg2);color:var(--ckw-fg3);cursor:text;transition:border-color .15s linear,box-shadow .15s linear,background-color .15s linear}
309
311
  .ckw-msgr-card-col .ckw-msgr-search{margin-bottom:4px;height:42px}
310
312
  .ckw-msgr-search:focus-within{border-color:var(--ckw-accent);background:var(--ckw-bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--ckw-accent) 16%,transparent);color:var(--ckw-accent)}
311
313
  .ckw-msgr-search-in{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:14.5px;color:var(--ckw-fg)}
@@ -350,52 +352,206 @@ button.ckw-msgr-card:hover .ckw-msgr-go{transform:translateX(2px)}
350
352
  .ckw-msgr-rate-b{display:flex;gap:6px}
351
353
  .ckw-msgr-ask{margin-top:6px;width:100%;height:40px;border-radius:12px}
352
354
  /* Chat */
353
- .ckw-msgr-intro{display:flex;align-items:center;gap:12px;padding:6px 2px 14px;border-bottom:1px solid var(--ckw-line)}
354
- .ckw-msgr-intro-av .ckw-msgr-av{width:44px;height:44px;font-size:18px;box-shadow:0 4px 12px color-mix(in srgb,var(--ckw-accent) 30%,transparent)}
355
- .ckw-msgr-intro-t{display:flex;flex-direction:column;gap:3px;min-width:0}
356
- .ckw-msgr-intro-t b{font-size:15.5px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
357
355
  .ckw-msgr-cite{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border:1px solid var(--ckw-line);border-radius:12px;background:var(--ckw-bg);font-size:13px;text-align:left}
358
356
  .ckw-msgr-cite .ckw-icon{color:var(--ckw-accent)}
359
357
  .ckw-msgr-cite span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
360
- .ckw-msgs{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
358
+ .ckw-msgs{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
361
359
  .ckw-msg{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:82%;transform-origin:bottom left}
362
360
  .ckw-msg[data-from=me]{align-self:flex-end;align-items:flex-end;transform-origin:bottom right}
363
361
  .ckw-msg[data-new]{animation:ckw-bub .4s cubic-bezier(.32,.72,0,1)}
364
362
  @keyframes ckw-bub{from{opacity:0;transform:translateY(10px) scale(.92)}}
365
- .ckw-bubble{padding:10px 14px;border-radius:18px 18px 18px 6px;background:var(--ckw-bg3);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45;text-wrap:pretty}
366
- .ckw-msg[data-from=me] .ckw-bubble{background:var(--ckw-accent);color:var(--ckw-accent-ink);border-radius:18px 18px 6px 18px}
363
+ .ckw-bubble{padding:10px 14px;border-radius:var(--ckw-r-bubble) var(--ckw-r-bubble) var(--ckw-r-bubble) var(--ckw-r-tail);background:var(--ckw-bg3);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45;text-wrap:pretty}
364
+ .ckw-msg[data-from=me] .ckw-bubble{background:var(--ckw-accent);color:var(--ckw-accent-ink);border-radius:var(--ckw-r-bubble) var(--ckw-r-bubble) var(--ckw-r-tail) var(--ckw-r-bubble)}
367
365
  .ckw-msg[aria-busy=true] .ckw-bubble{opacity:.7}
368
366
  .ckw-msg-meta{font-size:11px;color:var(--ckw-fg3);font-variant-numeric:tabular-nums;padding:0 6px}
369
367
  .ckw-msgr-sugg{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:12px}
370
- .ckw-msgr-sugg-b{max-width:100%;padding:9px 14px;border:1px solid var(--ckw-line);border-radius:14px;background:var(--ckw-bg);font-size:13.5px;text-align:left;color:var(--ckw-fg);transition:border-color .12s linear,color .12s linear,transform .2s cubic-bezier(.32,.72,0,1)}
371
- .ckw-msgr-sugg-b:hover{border-color:var(--ckw-accent);color:var(--ckw-accent)}
368
+ .ckw-msgr-sugg-b{max-width:100%;padding:9px 14px;border:0;border-radius:var(--ckw-r-card);background:var(--ckw-bg2);font-size:13.5px;text-align:left;color:var(--ckw-fg);transition:background-color .12s linear,color .12s linear,transform .2s cubic-bezier(.32,.72,0,1)}
369
+ .ckw-msgr-sugg-b:hover{background:var(--ckw-bg3);color:var(--ckw-accent)}
372
370
  .ckw-msgr-sugg-b:active{transform:scale(.96)}
373
371
  .ckw-msgr-enter .ckw-msgr-sugg-b{animation:ckw-view .34s cubic-bezier(.32,.72,0,1) backwards}
374
372
  .ckw-msgr-enter .ckw-msgr-sugg-b:nth-child(2){animation-delay:.12s}
375
373
  .ckw-msgr-enter .ckw-msgr-sugg-b:nth-child(3){animation-delay:.18s}
376
374
  .ckw-msgr-note{margin:4px 0 0;text-align:center}
377
375
  .ckw-msgr-compose{display:flex;flex-direction:column;gap:8px;padding:4px 14px 14px;background:var(--ckw-bg);flex:none}
378
- .ckw-msgr-compose .ckw-input{border:0;border-radius:12px;background:var(--ckw-bg2);min-height:38px;padding:8px 14px}
379
- .ckw-msgr-box{display:flex;flex-direction:column;gap:2px;padding:10px 10px 8px 14px;border:1.5px solid var(--ckw-line);border-radius:16px;background:var(--ckw-bg);cursor:text;transition:border-color .15s linear,box-shadow .15s linear}
380
- .ckw-msgr-box:focus-within{border-color:var(--ckw-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ckw-accent) 14%,transparent)}
381
- .ckw-msgr-input{min-height:24px;max-height:140px;padding:2px 0;border:0;border-radius:0;background:transparent;resize:none;field-sizing:content;font-size:14.5px}
376
+ .ckw-msgr-compose .ckw-input{border:0;border-radius:var(--ckw-r-field);background:var(--ckw-bg2);min-height:40px;padding:8px 16px}
377
+ .ckw-root .ckw-msgr-compose .ckw-input:focus-visible{outline:none;background:var(--ckw-bg3)}
378
+ .ckw-msgr-box{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:12px 8px 8px 16px;border:0;border-radius:calc(var(--ckw-r-card) + 4px);background:var(--ckw-bg2);box-shadow:0 0 0 1px color-mix(in srgb,var(--ckw-line) 70%,transparent);cursor:text;transition:background-color .15s linear,box-shadow .15s linear}
379
+ .ckw-msgr-box:focus-within{background:var(--ckw-bg);box-shadow:0 0 0 1px var(--ckw-line),0 6px 18px rgba(16,18,24,.07)}
380
+ .ckw-msgr-tools{display:flex;align-items:center;gap:2px;margin-left:-8px}
381
+ .ckw-msgr-sp{flex:1}
382
+ .ckw-msgr-input{flex:1;min-width:0;min-height:24px;max-height:140px;padding:2px 8px 2px 0;border:0;border-radius:0;background:transparent;resize:none;field-sizing:content;font-size:14.5px}
382
383
  .ckw-root .ckw-msgr-input:focus-visible{outline:none}
383
- .ckw-msgr-box-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
384
- .ckw-msgr-hint{font-size:11.5px;color:var(--ckw-fg3);opacity:0;transition:opacity .15s linear}
385
- .ckw-msgr-box:focus-within .ckw-msgr-hint{opacity:1}
386
384
  .ckw-msgr-send{width:32px;height:32px;padding:0;flex:none;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--ckw-accent);color:var(--ckw-accent-ink);transition:background-color .15s linear,color .15s linear,transform .25s cubic-bezier(.34,1.56,.64,1)}
387
385
  .ckw-msgr-send:not(:disabled):hover{transform:scale(1.08)}
388
386
  .ckw-msgr-send:not(:disabled):active{transform:scale(.9)}
389
387
  .ckw-msgr-send:disabled{background:var(--ckw-bg3);color:var(--ckw-fg3);cursor:default}
388
+ /* Files: the paperclip in the field, picked files above it, sent ones in the bubbles, dropping onto the panel */
389
+ .ckw-msgr-compose{position:relative}
390
+ .ckw-msgr-clip{width:32px;height:32px;padding:0;flex:none;display:flex;align-items:center;justify-content:center;border:0;border-radius:calc(var(--ckw-r-field) - 4px);background:transparent;color:var(--ckw-fg3);transition:color .12s linear,background-color .12s linear,transform .2s cubic-bezier(.32,.72,0,1)}
391
+ .ckw-msgr-clip:hover,.ckw-msgr-clip[aria-expanded=true]{color:var(--ckw-fg);background:color-mix(in srgb,var(--ckw-fg) 7%,transparent)}
392
+ .ckw-msgr-clip:active{transform:scale(.9)}
393
+
394
+ .ckw-msgr-amenu{top:auto;bottom:calc(100% - 4px);right:14px;transform-origin:bottom right}
395
+ .ckw-msgr-files{display:flex;flex-wrap:wrap;gap:10px;padding:6px 2px 0}
396
+ .ckw-msgr-file{position:relative;width:56px;height:56px;border-radius:calc(var(--ckw-r-card) - 4px);background:var(--ckw-bg2);box-shadow:0 0 0 1px var(--ckw-line)}
397
+ .ckw-msgr-file img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
398
+ .ckw-msgr-file[aria-busy=true] img,.ckw-msgr-file[aria-busy=true] .ckw-msgr-file-doc{opacity:.45}
399
+ .ckw-msgr-file[aria-busy=true]::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid var(--ckw-fg2);border-right-color:transparent;border-radius:50%;animation:ckw-spin .8s linear infinite}
400
+ @keyframes ckw-spin{to{transform:rotate(360deg)}}
401
+ .ckw-msgr-file-doc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:100%;padding:4px;color:var(--ckw-fg2);font-size:10px;line-height:1.2}
402
+ .ckw-msgr-file-doc span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
403
+ .ckw-msgr-file-x{position:absolute;top:-7px;right:-7px;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--ckw-bg);border-radius:50%;background:var(--ckw-fg);color:var(--ckw-bg)}
404
+ .ckw-msgr-file-x .ckw-icon{width:10px;height:10px}
405
+ .ckw-msg-files{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}
406
+ .ckw-msg[data-from=me] .ckw-msg-files{justify-content:flex-end}
407
+ .ckw-msg-img{display:block;overflow:hidden;border-radius:var(--ckw-r-bubble);background:var(--ckw-bg3);box-shadow:0 0 0 1px var(--ckw-line)}
408
+ .ckw-msg-img img{display:block;max-width:220px;max-height:200px;min-width:48px;min-height:48px;object-fit:cover}
409
+ .ckw-msg-files a.ckw-msgr-cite{color:var(--ckw-fg);text-decoration:none}
410
+ .ckw-msgr[data-drop]::after{content:"Drop to attach";position:absolute;inset:8px;z-index:5;display:flex;align-items:center;justify-content:center;border:2px dashed var(--ckw-accent);border-radius:calc(var(--ckw-r-panel) - 6px);background:color-mix(in srgb,var(--ckw-bg) 90%,transparent);color:var(--ckw-fg);font-size:15px;font-weight:600;pointer-events:none}
411
+ /* Powered by */
412
+ .ckw-msgr-powered{flex:none;display:block;padding:2px 0 10px;text-align:center;font-size:11.5px;color:var(--ckw-fg3);text-decoration:none;background:var(--ckw-bg)}
413
+ .ckw-msgr-powered b{font-weight:650;color:var(--ckw-fg2)}
414
+ .ckw-msgr-powered:hover b{color:var(--ckw-fg)}
415
+ .ckw-msgr-compose:has(+.ckw-msgr-powered){padding-bottom:8px}
390
416
  .ckw-msgr-error{margin:0;font-size:12px;color:var(--ckw-danger)}
391
417
  .ckw-msgr .ckw-input[aria-invalid=true]{box-shadow:0 0 0 1px var(--ckw-danger)}
418
+ /* Bar middle, tab bar, Home's glow and "Ask a question" (Featurebase-like) */
419
+ .ckw-msgr-mid{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;max-width:62%;flex:none}
420
+ .ckw-msgr-mid b{font-size:15px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
421
+ .ckw-msgr-mid-t{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.25}
422
+ .ckw-msgr-mid-t .ckw-msgr-online{font-size:11.5px;white-space:nowrap}
423
+ .ckw-msgr-mid-t .ckw-msgr-online::before{width:6px;height:6px;box-shadow:none}
424
+ .ckw-msgr-tabs{flex:none;display:flex;padding:6px 10px 4px;background:var(--ckw-bg);box-shadow:0 -1px 0 color-mix(in srgb,var(--ckw-line) 60%,transparent)}
425
+ .ckw-msgr-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 4px;border:0;border-radius:12px;background:none;color:var(--ckw-fg3);font-size:12px;font-weight:550;transition:color .15s linear}
426
+ .ckw-msgr-tab:hover{color:var(--ckw-fg2)}
427
+ .ckw-msgr-tab[aria-current=page]{color:var(--ckw-fg)}
428
+ .ckw-msgr-tab-ic{position:relative;display:block;width:22px;height:22px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
429
+ .ckw-msgr-tab:active .ckw-msgr-tab-ic{transform:scale(.88)}
430
+ .ckw-msgr-tab-ic>.ckw-icon{position:absolute;inset:0;transition:opacity .15s linear,transform .3s cubic-bezier(.34,1.56,.64,1)}
431
+ .ckw-msgr-tab-ic>.ckw-icon+.ckw-icon{opacity:0;transform:scale(.75)}
432
+ .ckw-msgr-tab[aria-current=page] .ckw-msgr-tab-ic>.ckw-icon:first-child{opacity:0}
433
+ .ckw-msgr-tab[aria-current=page] .ckw-msgr-tab-ic>.ckw-icon+.ckw-icon{opacity:1;transform:none}
434
+ .ckw-cut{stroke:var(--ckw-bg)}
435
+ .ckw-root:not([data-header=color]) .ckw-msgr[data-view=home] :is(.ckw-msgr-bar,.ckw-msgr-body){background:transparent}
436
+ .ckw-msgr-askq{display:flex;align-items:center;gap:8px;height:52px;margin:6px 0 4px;padding:0 7px 0 18px;border-radius:var(--ckw-r-field);background:var(--ckw-bg2);box-shadow:0 0 0 1px color-mix(in srgb,var(--ckw-line) 70%,transparent);transition:background-color .15s linear,box-shadow .15s linear}
437
+ .ckw-msgr-askq:focus-within{background:var(--ckw-bg);box-shadow:0 0 0 1px var(--ckw-line),0 6px 18px rgba(16,18,24,.07)}
438
+ .ckw-msgr-askq-in{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:15px;color:var(--ckw-fg)}
439
+ .ckw-msgr-askq-in::placeholder{color:var(--ckw-fg3)}
440
+ .ckw-root .ckw-msgr-askq-in:focus-visible{outline:none}
441
+ .ckw-msgr-askq .ckw-msgr-send{width:38px;height:38px}
442
+ .ckw-root[data-header=color] .ckw-msgr-askq{background:var(--ckw-card);box-shadow:var(--ckw-raise)}
443
+ /* Home in the accent color (look: header "color"): the bar and the top in the accent, raised cards over its edge */
444
+ .ckw-root[data-header=color] .ckw-msgr[data-view=home] .ckw-msgr-bar{background:var(--ckw-accent);color:var(--ckw-accent-ink)}
445
+ .ckw-root[data-header=color] .ckw-msgr[data-view=home] .ckw-msgr-ib{color:color-mix(in srgb,var(--ckw-accent-ink) 80%,transparent)}
446
+ .ckw-root[data-header=color] .ckw-msgr[data-view=home] .ckw-msgr-ib:hover,.ckw-root[data-header=color] .ckw-msgr[data-view=home] .ckw-msgr-ib[aria-expanded=true]{background:color-mix(in srgb,var(--ckw-accent-ink) 14%,transparent);color:var(--ckw-accent-ink)}
447
+ .ckw-root[data-header=color] .ckw-msgr[data-view=home] .ckw-msgr-body,.ckw-root[data-header=color] .ckw-msgr[data-view=home] .ckw-msgr-powered{background:var(--ckw-bg2)}
448
+ .ckw-root[data-header=color] .ckw-msgr[data-view=home] .ckw-msgr-body{scrollbar-width:none}
449
+ .ckw-root[data-header=color] .ckw-msgr-hero{margin:-4px -16px 0;padding:14px 20px 64px;background:var(--ckw-accent);color:var(--ckw-accent-ink)}
450
+ .ckw-root[data-header=color] .ckw-msgr-hero .ckw-msgr-brand,.ckw-root[data-header=color] .ckw-msgr-hero .ckw-msgr-online{color:color-mix(in srgb,var(--ckw-accent-ink) 82%,transparent)}
451
+ .ckw-root[data-header=color] .ckw-msgr-hero .ckw-msgr-av{background:var(--ckw-accent-ink);color:var(--ckw-accent)}
452
+ .ckw-root[data-header=color] .ckw-msgr-hero+*{margin-top:-58px}
453
+ .ckw-root[data-header=color] .ckw-msgr-card{background:var(--ckw-card);box-shadow:var(--ckw-raise)}
454
+ .ckw-root[data-header=color] button.ckw-msgr-card:hover{background:var(--ckw-card);transform:translateY(-1px)}
455
+ .ckw-root[data-header=color] .ckw-msgr-card-col .ckw-msgr-search{background:var(--ckw-bg2)}
456
+ .ckw-root[data-header=color] .ckw-msgr-card .ckw-msgr-art:hover{background:var(--ckw-bg2)}
457
+ /* Where it sits: a corner, the middle of the top or bottom edge, or the middle of a side; panel and cards open from the launcher */
458
+ .ckw-msgr-fab[data-pos$=left],.ckw-msgr[data-pos$=left],.ckw-msgr-preview[data-pos$=left],.ckw-msgr-teaser[data-pos$=left]{left:20px;right:auto}
459
+ .ckw-msgr-fab[data-pos$=right],.ckw-msgr[data-pos$=right],.ckw-msgr-preview[data-pos$=right],.ckw-msgr-teaser[data-pos$=right]{right:20px;left:auto}
460
+ .ckw-msgr-fab[data-pos$=center],.ckw-msgr[data-pos$=center],.ckw-msgr-preview[data-pos$=center],.ckw-msgr-teaser[data-pos$=center]{left:50%;right:auto;translate:-50% 0}
461
+ .ckw-msgr-fab[data-pos^=top]{top:20px;bottom:auto}
462
+ .ckw-msgr[data-pos^=top],.ckw-msgr-preview[data-pos^=top],.ckw-msgr-teaser[data-pos^=top]{top:92px;bottom:auto}
463
+ .ckw-msgr-fab[data-pos^=middle],.ckw-msgr[data-pos^=middle],.ckw-msgr-preview[data-pos^=middle],.ckw-msgr-teaser[data-pos^=middle]{top:50%;bottom:auto;translate:0 -50%}
464
+ .ckw-msgr[data-pos=middle-left],.ckw-msgr-preview[data-pos=middle-left],.ckw-msgr-teaser[data-pos=middle-left]{left:92px}
465
+ .ckw-msgr[data-pos=middle-right],.ckw-msgr-preview[data-pos=middle-right],.ckw-msgr-teaser[data-pos=middle-right]{right:92px}
466
+ .ckw-msgr[data-pos^=middle]{height:min(680px,calc(100vh - 40px))}
467
+ .ckw-msgr[data-pos=top-right],.ckw-msgr-preview[data-pos=top-right],.ckw-msgr-teaser[data-pos=top-right]{transform-origin:top right}
468
+ .ckw-msgr[data-pos=top-left],.ckw-msgr-preview[data-pos=top-left],.ckw-msgr-teaser[data-pos=top-left]{transform-origin:top left}
469
+ .ckw-msgr[data-pos=top-center],.ckw-msgr-preview[data-pos=top-center],.ckw-msgr-teaser[data-pos=top-center]{transform-origin:top center}
470
+ .ckw-msgr[data-pos=bottom-center],.ckw-msgr-preview[data-pos=bottom-center],.ckw-msgr-teaser[data-pos=bottom-center]{transform-origin:bottom center}
471
+ .ckw-msgr[data-pos=middle-left],.ckw-msgr-preview[data-pos=middle-left],.ckw-msgr-teaser[data-pos=middle-left]{transform-origin:center left}
472
+ .ckw-msgr[data-pos=middle-right],.ckw-msgr-preview[data-pos=middle-right],.ckw-msgr-teaser[data-pos=middle-right]{transform-origin:center right}
473
+ @media (max-width:520px){.ckw-root:not([data-contained]) .ckw-msgr{top:0;translate:none}.ckw-msgr-fab[data-pos$=left]{left:14px}.ckw-msgr-fab[data-pos$=right]{right:14px}.ckw-msgr-fab[data-pos^=top]{top:14px}.ckw-msgr-preview[data-pos^=top],.ckw-msgr-teaser[data-pos^=top]{top:84px}.ckw-msgr-preview[data-pos^=middle],.ckw-msgr-teaser[data-pos^=middle]{top:auto;bottom:20px;left:16px;right:16px;width:auto;translate:none}}
392
474
  /* Inside MRRocket's preview: placed in its frame, not the page */
393
475
  .ckw-root[data-contained]{position:absolute;inset:0;pointer-events:none;overflow:hidden}
394
476
  .ckw-root[data-contained]>*{position:absolute;pointer-events:auto}
395
477
  .ckw-root[data-contained] .ckw-msgr{height:min(680px,calc(100% - 112px));max-width:calc(100% - 40px)}
396
478
  .ckw-root[data-contained] .ckw-msgr[data-wide]{height:calc(100% - 112px)}
479
+ .ckw-root[data-contained] .ckw-msgr[data-pos^=middle]{height:min(680px,calc(100% - 40px));max-width:calc(100% - 112px)}
480
+ .ckw-root[data-contained] .ckw-msgr-preview[data-pos^=middle],.ckw-root[data-contained] .ckw-msgr-teaser[data-pos^=middle]{max-width:calc(100% - 112px)}
397
481
  @media (max-width:520px){.ckw-root:not([data-contained]) .ckw-msgr{width:100%;height:100dvh;bottom:0;border-radius:0;transform-origin:bottom center}.ckw-root:not([data-contained]) .ckw-msgr-x{display:flex}.ckw-msgr-preview,.ckw-msgr-teaser{bottom:84px}}
398
- @media (prefers-reduced-motion:reduce){.ckw-msgr,.ckw-msgr[data-out],.ckw-msgr-preview,.ckw-msgr-teaser,.ckw-msgr-menu,.ckw-msgr-count,.ckw-msg[data-new],.ckw-msgr-enter>*,.ckw-msgr-enter .ckw-msgr-sugg-b{animation:none}.ckw-msgr-fab,.ckw-msgr-fab-i,.ckw-msgr-seg-mark,.ckw-msgr{transition:none}}
482
+ @media (prefers-reduced-motion:reduce){.ckw-msgr,.ckw-msgr[data-out],.ckw-msgr-preview,.ckw-msgr-teaser,.ckw-msgr-menu,.ckw-msgr-count,.ckw-msg[data-new],.ckw-msgr-enter>*,.ckw-msgr-enter .ckw-msgr-sugg-b{animation:none}.ckw-msgr-fab,.ckw-msgr-fab-i,.ckw-msgr-tab-ic,.ckw-msgr-tab-ic>.ckw-icon,.ckw-msgr{transition:none}}
483
+ /* The messenger in HeroUI v3's look (heroui.com, its free components): a soft gray ground, white surfaces with a hairline
484
+ shadow, white fields, pill buttons and a pill tab switch, a 2px ring in the accent on focus. Its tokens (--hu-*) map onto
485
+ the widget's own, inside the messenger only, so the other widgets keep theirs. */
486
+ .ckw-root{--hu-bg:#fff;--hu-surface:#f4f4f5;--hu-default:#ececee;--hu-default-hover:#e4e4e7;--hu-segment:#fff;--hu-muted:#71717a;--hu-fg:#18181b;--hu-border:#e4e4e7;--hu-shadow:0 0 0 0 transparent;--hu-lift:0 1px 2px rgba(0,0,0,.08),0 0 1px rgba(0,0,0,.1);--hu-overlay:0 0 0 1px rgba(0,0,0,.05),0 2px 8px rgba(0,0,0,.05),0 18px 40px rgba(0,0,0,.1)}
487
+ .ckw-root[data-theme=dark]{--hu-bg:#111113;--hu-surface:#1c1c1f;--hu-default:#26262a;--hu-default-hover:#2e2e33;--hu-segment:#3a3a40;--hu-muted:#a1a1aa;--hu-fg:#fafafa;--hu-border:#27272a;--hu-shadow:0 0 0 0 transparent;--hu-lift:0 0 0 1px rgba(255,255,255,.06);--hu-overlay:0 0 0 1px rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.55)}
488
+ @media (prefers-color-scheme:dark){.ckw-root[data-theme=auto]{--hu-bg:#111113;--hu-surface:#1c1c1f;--hu-default:#26262a;--hu-default-hover:#2e2e33;--hu-segment:#3a3a40;--hu-muted:#a1a1aa;--hu-fg:#fafafa;--hu-border:#27272a;--hu-shadow:0 0 0 0 transparent;--hu-lift:0 0 0 1px rgba(255,255,255,.06);--hu-overlay:0 0 0 1px rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.55)}}
489
+ .ckw-msgr,.ckw-msgr-preview,.ckw-msgr-teaser{--ckw-bg:var(--hu-bg);--ckw-bg2:var(--hu-surface);--ckw-bg3:var(--hu-default);--ckw-card:var(--hu-surface);--ckw-fg:var(--hu-fg);--ckw-fg2:var(--hu-muted);--ckw-fg3:var(--hu-muted);--ckw-line:var(--hu-border);--ckw-soft:var(--hu-overlay);--ckw-raise:var(--hu-shadow)}
490
+ .ckw-root .ckw-msgr-preview-card,.ckw-root .ckw-msgr-teaser{background:var(--hu-surface)}
491
+ .ckw-root .ckw-msgr-card,.ckw-root .ckw-msgr-sugg-b,.ckw-root .ckw-msgr-rate,.ckw-root .ckw-msgr-cite{background:var(--hu-surface);box-shadow:var(--hu-shadow);border:0}
492
+ .ckw-root button.ckw-msgr-card:hover{background:var(--hu-default)}
493
+ .ckw-root .ckw-msgr-card-col{padding:6px}
494
+ .ckw-root .ckw-msgr-card .ckw-msgr-art:hover,.ckw-root .ckw-msgr-hrow:hover{background:var(--hu-default)}
495
+ .ckw-root .ckw-msgr-hrow+.ckw-msgr-hrow{box-shadow:0 -1px 0 var(--hu-border)}
496
+ .ckw-root .ckw-msgr-search,.ckw-root .ckw-msgr-askq,.ckw-root .ckw-msgr-box,.ckw-root .ckw-msgr-compose .ckw-input{background:var(--hu-surface);border:0;box-shadow:var(--hu-shadow)}
497
+ .ckw-root .ckw-msgr-search:focus-within,.ckw-root .ckw-msgr-askq:focus-within,.ckw-root .ckw-msgr-box:focus-within,.ckw-root .ckw-msgr-compose .ckw-input:focus-visible{background:var(--hu-surface);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--ckw-accent) 55%,transparent),0 0 0 5px color-mix(in srgb,var(--ckw-accent) 12%,transparent);color:var(--ckw-fg3)}
498
+ .ckw-root .ckw-msgr-askq{height:48px;border-radius:24px}
499
+ .ckw-root .ckw-msgr-box{border-radius:20px}
500
+ .ckw-root .ckw-msgr-send{border-radius:999px}
501
+ .ckw-root .ckw-msgr-send:disabled{background:var(--hu-default);color:var(--hu-muted)}
502
+ .ckw-root .ckw-msgr-send:not(:disabled):hover{transform:none;filter:brightness(1.08)}
503
+ .ckw-root .ckw-msgr-send:not(:disabled):active{transform:scale(.97)}
504
+ .ckw-root .ckw-bubble{background:var(--hu-surface);box-shadow:var(--hu-shadow)}
505
+ .ckw-root .ckw-msg[data-from=me] .ckw-bubble{box-shadow:none}
506
+ .ckw-root .ckw-msgr-av{background:color-mix(in srgb,var(--ckw-accent) 16%,var(--hu-surface));color:var(--ckw-accent);font-weight:600}
507
+ .ckw-root .ckw-msgr-ib:hover,.ckw-root .ckw-msgr-ib[aria-expanded=true]{background:var(--hu-default)}
508
+ .ckw-root .ckw-msgr-menu{background:var(--hu-surface);box-shadow:var(--hu-overlay);border-radius:16px}
509
+ .ckw-root .ckw-msgr-menu-i{border-radius:10px}
510
+ .ckw-root .ckw-msgr-menu-i:hover,.ckw-root .ckw-msgr-menu-i:focus-visible{background:var(--hu-default)}
511
+ .ckw-root .ckw-msgr .ckw-btn,.ckw-root .ckw-msgr-teaser-b{height:36px;padding:0 16px;border:0;border-radius:999px;background:var(--hu-default);color:var(--hu-fg);font-size:14px;font-weight:500;box-shadow:none;transition:transform .25s cubic-bezier(.32,.72,0,1),background-color .1s linear}
512
+ .ckw-root .ckw-msgr .ckw-btn:hover,.ckw-root .ckw-msgr-teaser-b:hover{background:var(--hu-default-hover);filter:none}
513
+ .ckw-root .ckw-msgr .ckw-btn:active,.ckw-root .ckw-msgr-teaser-b:active{transform:scale(.97)}
514
+ .ckw-root .ckw-msgr .ckw-btn-primary,.ckw-root .ckw-msgr-teaser-b[data-main]{background:var(--ckw-accent);color:var(--ckw-accent-ink)}
515
+ .ckw-root .ckw-msgr .ckw-btn-primary:hover,.ckw-root .ckw-msgr-teaser-b[data-main]:hover{background:var(--ckw-accent);filter:brightness(1.08)}
516
+ .ckw-root .ckw-msgr-sugg-b{border-radius:999px}
517
+ .ckw-root .ckw-msgr-ask{height:40px;border-radius:999px}
518
+ /* Home like Featurebase: the product's icon top left, "Hi, Lukas \u{1F44B}" over the greeting in gray, a silk of the accent
519
+ with drifting dots behind the top right (.ckw-msgr-sky, also drawn by MRRocket's phone preview) */
520
+ .ckw-msgr-logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;margin-left:6px}
521
+ .ckw-msgr-logo img{width:28px;height:28px;border-radius:8px;object-fit:contain}
522
+ .ckw-root .ckw-msgr[data-view=home] .ckw-msgr-bar{padding-top:16px}
523
+ .ckw-root .ckw-msgr[data-view=home] .ckw-msgr-body{position:relative;z-index:1;gap:10px;padding-top:0}
524
+ .ckw-root .ckw-msgr-hero.ckw-msgr-hello{display:flex;flex-direction:column;gap:1px;margin:22px 0 10px;padding:0 4px;font-size:25px;font-weight:600;letter-spacing:-.028em;line-height:1.2;color:var(--hu-fg)}
525
+ .ckw-msgr-hello-sub{color:var(--hu-muted);font-weight:500}
526
+ .ckw-msgr-wave{display:inline-block;transform-origin:70% 75%;animation:ckw-wave 2.4s ease-in-out .6s 1 both}
527
+ @keyframes ckw-wave{0%,60%,100%{transform:none}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}
528
+ .ckw-root .ckw-msgr[data-view=home] .ckw-msgr-askq{margin:0 0 6px}
529
+ .ckw-msgr-sky{position:absolute;z-index:0;top:0;left:0;right:0;height:250px;pointer-events:none;overflow:hidden;border-radius:inherit;-webkit-mask-image:linear-gradient(to bottom,#000 25%,transparent 92%);mask-image:linear-gradient(to bottom,#000 25%,transparent 92%)}
530
+ .ckw-msgr-sky::before{content:"";position:absolute;top:-45%;right:-25%;width:115%;height:135%;background:radial-gradient(36% 40% at 62% 46%,color-mix(in srgb,var(--ckw-accent) 92%,#fff) 0%,transparent 70%),radial-gradient(32% 36% at 86% 24%,color-mix(in srgb,var(--ckw-glow2,var(--ckw-accent)) 70%,#fff) 0%,transparent 72%),radial-gradient(46% 30% at 36% 64%,color-mix(in srgb,var(--ckw-glow3,var(--ckw-glow2,var(--ckw-accent))) 50%,#fff) 0%,transparent 70%);filter:blur(20px);opacity:.75;animation:ckw-silk 16s cubic-bezier(.45,0,.55,1) infinite alternate}
531
+ @keyframes ckw-silk{to{transform:translate(-7%,5%) rotate(8deg) scale(1.08)}}
532
+ .ckw-msgr-sky::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--ckw-accent) 85%,#fff) .9px,transparent 1.4px);background-size:5px 5px;-webkit-mask-image:linear-gradient(110deg,transparent 0%,#000 18%,transparent 34%,#000 52%,transparent 70%),radial-gradient(70% 85% at 88% 12%,#000 15%,transparent 75%);-webkit-mask-size:220% 100%,100% 100%;-webkit-mask-repeat:repeat-x,no-repeat;-webkit-mask-composite:source-in;mask-image:linear-gradient(110deg,transparent 0%,#000 18%,transparent 34%,#000 52%,transparent 70%),radial-gradient(70% 85% at 88% 12%,#000 15%,transparent 75%);mask-size:220% 100%,100% 100%;mask-repeat:repeat-x,no-repeat;mask-composite:intersect;opacity:.6;animation:ckw-dots 11s linear infinite}
533
+ @keyframes ckw-dots{from{-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0}to{-webkit-mask-position:-220% 0,0 0;mask-position:-220% 0,0 0}}
534
+ .ckw-root[data-theme=dark] .ckw-msgr-sky::before{opacity:.4}
535
+ .ckw-root[data-theme=dark] .ckw-msgr-sky::after{opacity:.4}
536
+ @media (prefers-color-scheme:dark){.ckw-root[data-theme=auto] .ckw-msgr-sky::before{opacity:.4}.ckw-root[data-theme=auto] .ckw-msgr-sky::after{opacity:.4}}
537
+ .ckw-root[data-header=color] .ckw-msgr-sky{display:none}
538
+ @media (prefers-reduced-motion:reduce){.ckw-msgr-sky::before,.ckw-msgr-sky::after,.ckw-msgr-wave{animation:none}}
539
+ /* Home's latest message: one quiet row, the small mark, the words, who and when */
540
+ .ckw-root .ckw-msgr-recent{padding:10px 12px;gap:0}
541
+ .ckw-root .ckw-msgr-recent .ckw-msgr-recent-row{gap:10px}
542
+ .ckw-root .ckw-msgr-recent .ckw-msgr-card-main{gap:1px}
543
+ .ckw-root .ckw-msgr-recent-text{font-size:13.5px;font-weight:500}
544
+ .ckw-root .ckw-msgr-recent .ckw-msgr-card-meta{font-size:11.5px}
545
+ /* The tab switch: HeroUI's Tabs, a gray pill with the current tab on a raised white one */
546
+ .ckw-root .ckw-msgr-tabs{position:relative;z-index:1;margin:2px 12px 8px;padding:4px;gap:0;border-radius:999px;background:var(--hu-surface);box-shadow:none}
547
+ .ckw-root .ckw-msgr-tab{flex-direction:row;justify-content:center;gap:7px;height:36px;padding:0 10px;border-radius:999px;color:var(--hu-muted);font-size:13.5px;font-weight:500;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease,opacity .15s ease}
548
+ .ckw-root .ckw-msgr-tab:not([aria-current=page]):hover{color:var(--hu-muted);opacity:.7}
549
+ .ckw-root .ckw-msgr-tab[aria-current=page]{background:var(--hu-segment);color:var(--hu-fg);box-shadow:var(--hu-lift)}
550
+ .ckw-root .ckw-msgr-tab-ic{width:18px;height:18px}
551
+ .ckw-root .ckw-msgr-tab .ckw-cut{stroke:var(--hu-segment)}
552
+ .ckw-root .ckw-msgr-count-tab{box-shadow:0 0 0 2px var(--hu-default)}
553
+ .ckw-root .ckw-msgr-tab[aria-current=page] .ckw-msgr-count-tab{box-shadow:0 0 0 2px var(--hu-segment)}
554
+ .ckw-root .ckw-msgr-powered{background:var(--hu-bg);padding-top:0}
399
555
  /* Survey */
400
556
  .ckw-survey{position:fixed;z-index:2147483000;left:20px;bottom:20px;width:360px;max-width:calc(100vw - 24px);background:var(--ckw-bg);border:1px solid var(--ckw-line);border-radius:12px;box-shadow:var(--ckw-shadow);padding:14px;animation:ckw-in .2s ease-out}
401
557
  @keyframes ckw-in{from{opacity:0;transform:translateY(8px)}}
@@ -422,5 +578,5 @@ button.ckw-msgr-card:hover .ckw-msgr-go{transform:translateX(2px)}
422
578
  .ckw-sv-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}
423
579
  .ckw-thanks{text-align:center;padding:14px 0;display:flex;flex-direction:column;align-items:center;gap:8px}
424
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}
425
- `,St=()=>{if(typeof document=="undefined"||document.getElementById(At))return;let r=document.createElement("style");r.id=At,r.textContent=_t,document.head.appendChild(r);};var Bt=4e3,Ut=8e3,Dt=3e4,Yt=10*6e4,Vt=/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/,Et="ckw_msgr_seen",_e={visitor:"You",team:"Team",ai:"AI agent",auto:"Team"},Wt=()=>{var r;try{return (r=window.localStorage.getItem(Et))!=null?r:""}catch(n){return ""}},Gt=r=>{try{window.localStorage.setItem(Et,r);}catch(n){}},Be=r=>{let n=new Date(r).getTime();if(Number.isNaN(n))return "";let o=Math.max(0,Date.now()-n)/1e3;return o<60?"just now":o<3600?`${Math.floor(o/60)}m ago`:o<86400?`${Math.floor(o/3600)}h ago`:o<86400*30?`${Math.floor(o/86400)}d ago`:new Date(r).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})},t=(r,n={},...o)=>{let l=document.createElement(r);for(let[s,c]of Object.entries(n))l.setAttribute(s,c);for(let s of o)s!==null&&s!==false&&s!==void 0&&l.append(s);return l},ze="http://www.w3.org/2000/svg",v=(r,n=16)=>{let o=document.createElementNS(ze,"svg");for(let[s,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"}))o.setAttribute(s,c);let l=document.createElementNS(ze,"path");return l.setAttribute("d",r),o.appendChild(l),o},b={cross:"M18 6 6 18M6 6l12 12",chat:"M7.9 20A9 9 0 1 0 4 16.1L2 22z",send:"M5 12h14M12 5l7 7-7 7",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",book:"M12 7v14M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",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"},Qt="M7.9 20A9 9 0 1 0 4 16.1L2 22z",Xt=(r,n)=>{let o=document.createElementNS(ze,"svg");for(let[s,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"}))o.setAttribute(s,c);let l=document.createElementNS(ze,"path");return l.setAttribute("d",r),o.appendChild(l),o},ve=(()=>{let r=null,n=()=>{var l;let o=(l=window.AudioContext)!=null?l:window.webkitAudioContext;return o?(r!=null||(r=new o),r):null};return {unlock:()=>{try{let o=n();(o==null?void 0:o.state)==="suspended"&&o.resume();}catch(o){}},play:()=>{try{let o=n();if(!o||o.state!=="running")return;let l=o.currentTime;[880,1318.5].forEach((s,c)=>{let f=o.createOscillator(),j=o.createGain(),S=l+c*.11;f.type="sine",f.frequency.value=s,j.gain.setValueAtTime(1e-4,S),j.gain.exponentialRampToValueAtTime(.12,S+.012),j.gain.exponentialRampToValueAtTime(1e-4,S+.32),f.connect(j),j.connect(o.destination),f.start(S),f.stop(S+.34);});}catch(o){}}}})(),ye=r=>r.map(n=>{let o=n.href?t("a",{href:n.href,target:"_blank",rel:"noopener noreferrer"},n.text):t("span",{},n.text);return n.code&&(o=t("code",{},o)),n.italic&&(o=t("em",{},o)),n.bold&&(o=t("strong",{},o)),o}),Jt=r=>{switch(r.type){case "h2":case "h3":return t(r.type,{},...ye(r.spans));case "quote":return t("blockquote",{},...ye(r.spans));case "ul":case "ol":return t(r.type,{},...r.items.map(n=>t("li",{},...ye(n))));case "code":return t("pre",{},t("code",{},r.text));case "hr":return t("hr");default:return t("p",{},...ye(r.spans))}},Zt=2500,Tt=r=>{var S;let n=null,o=false,l=[],s=k=>n?k(n):l.push(k),c=new AbortController,f=k=>{var pe,_;if(n||o)return;let X=Object.fromEntries(Object.entries(r).filter(([,E])=>E!==void 0));n=er({...k!=null?k:{},...X,accent:(pe=r.accent)!=null?pe:k==null?void 0:k.accent,theme:(_=r.theme)!=null?_:k==null?void 0:k.theme});for(let E of l.splice(0))E(n);},j=setTimeout(()=>f(null),Zt);return ((S=r.client)!=null?S:qe({host:r.host,apiKey:r.apiKey,distinctId:r.distinctId(),user:r.user()})).messengerLook(c.signal).then(k=>f(k)).catch(()=>f(null)).finally(()=>clearTimeout(j)),{open:k=>s(X=>X.open(k)),close:()=>n==null?void 0:n.close(),toggle:()=>s(k=>k.toggle()),destroy:()=>{o=true,c.abort(),clearTimeout(j),n==null||n.destroy();}}},er=r=>{var wt,kt,mt,xt,ft,bt,ut,ht,vt,yt;St();let n=(wt=r.position)!=null?wt:"bottom-right",o=r.title||"Chat with us",l=r.greeting||"Hi! How can we help?",s=(kt=r.askEmail)!=null?kt:true,c=(mt=r.label)!=null?mt:"",f=Mt(r.replyTime),j=((xt=o.trim()[0])!=null?xt:"?").toUpperCase(),S=(ft=r.launcher)!=null?ft:true,k=(bt=r.help)!=null?bt:true,X=(ut=r.sound)!=null?ut:true,pe=(ht=r.preview)!=null?ht:true,_=()=>{var e;return (e=r.client)!=null?e:qe({host:r.host,apiKey:r.apiKey,distinctId:r.distinctId(),user:r.user()})},E=t("div",{class:"ckw-root","data-theme":(vt=r.theme)!=null?vt:"auto"});r.container&&E.setAttribute("data-contained",""),r.accent&&(E.style.setProperty("--ckw-accent",r.accent),E.style.setProperty("--ckw-accent-ink",Ct(r.accent))),((yt=r.container)!=null?yt:document.body).appendChild(E);let y=false,m="home",x=null,Ue=false,U="",T=null,Me=null,u=[],de=false,ge,B=null,z=null,N="",Ce=new Set,we=null,F=null,J=false,De=e=>{var a;return ((a=e==null?void 0:e.messages)!=null?a:[]).filter(i=>i.from!=="visitor")},Ye=e=>{var a,i;return (i=(a=De(e).at(-1))==null?void 0:a.id)!=null?i:""},Ae=()=>y&&m==="messages"&&document.visibilityState!=="hidden",Ve=e=>{let a=De(e);if(Me===null){let i=Wt(),p=a.findIndex(d=>d.id===i);u=e.messages.some(d=>d.from==="visitor")?a.slice(p+1).filter(d=>d.from!=="auto"):[];}else {let i=a.findIndex(d=>d.id===Me),p=a.slice(i+1).filter(d=>d.from!=="auto");p.length&&(X&&ve.play(),Ae()||(u=[...u,...p],de=false));}Me=Ye(e),x=e,Ae()&&Se();},Se=()=>{u=[];let e=Ye(x);e&&Gt(e);},Z=e=>t("span",{class:`ckw-msgr-av${e?" ckw-msgr-av-sm":""}`,"aria-hidden":"true"},j),V=new Map,ke=(e,a=E)=>{clearTimeout(V.get(e)),V.delete(e),e.removeAttribute("data-out"),e.isConnected||a.appendChild(e);},ee=(e,a=180)=>{!e.isConnected||V.has(e)||(e.setAttribute("data-out",""),V.set(e,setTimeout(()=>{V.delete(e),e.removeAttribute("data-out"),e.remove();},a)));},Ee=(e,a)=>{e.classList.remove(a),e.offsetWidth,e.classList.add(a);},L=t("button",{type:"button",class:`ckw-fab ckw-msgr-fab${c?"":" ckw-msgr-round"}`,"data-pos":n,"aria-haspopup":"dialog"}),Lt=t("span",{class:"ckw-msgr-fab-ic","aria-hidden":"true"},t("span",{class:"ckw-msgr-fab-i","data-i":"chat"},Xt(Qt,c?20:28)),t("span",{class:"ckw-msgr-fab-i","data-i":"x"},v(b.cross,c?16:22))),te=t("span",{class:"ckw-msgr-count","aria-hidden":"true"});L.append(Lt),c&&L.append(t("span",{},c));let Te=t("div",{class:"ckw-msgr-preview","data-pos":n,role:"status"}),re=()=>{if(L.toggleAttribute("data-open",y),u.length&&!y){let e=String(Math.min(u.length,9));te.textContent!==e&&(te.textContent=e),te.isConnected||L.append(te);}else te.remove();L.setAttribute("aria-expanded",String(y)),L.setAttribute("aria-label",y?"Close chat":u.length?`Open chat, ${u.length} new ${u.length===1?"reply":"replies"}`:"Open chat"),Ge();},We=()=>pe&&!y&&!de&&!!u.length&&S,Ge=()=>{let e=u.at(-1);if(!We()||!e)return ee(Te);me(true);let a=t("button",{type:"button",class:"ckw-msgr-preview-x","aria-label":"Dismiss"},v(b.cross,12));a.addEventListener("click",p=>{p.stopPropagation(),de=true,Ge();});let i=t("button",{type:"button",class:"ckw-msgr-preview-card"},Z(),t("span",{class:"ckw-msgr-preview-main"},t("span",{class:"ckw-msgr-preview-who"},`${_e[e.from]}${u.length>1?` \xB7 ${u.length} new`:""}`),t("span",{class:"ckw-msgr-preview-text"},e.body)));i.addEventListener("click",()=>Y("messages")),Te.replaceChildren(i,a),ke(Te);},ae=t("div",{class:"ckw-msgr-teaser","data-pos":n}),ne,$t=()=>{if(clearTimeout(ne),y||We()||!S)return;let e=t("button",{type:"button",class:"ckw-msgr-teaser-b","data-main":""},v(b.chat),t("span",{},"Chat with us"));e.addEventListener("click",()=>Y("messages"));let a=[e];if(k&&we){let i=t("button",{type:"button",class:"ckw-msgr-teaser-b"},v(b.search),t("span",{},"Search"));i.addEventListener("click",()=>Y("help")),a.push(i);}ae.replaceChildren(t("div",{class:"ckw-msgr-teaser-top"},t("span",{class:"ckw-msgr-teaser-t"},t("b",{},l),t("span",{class:"ckw-msgr-online"},f)),Z()),t("div",{class:"ckw-msgr-teaser-row"},...a)),ke(ae);};function me(e=false){if(clearTimeout(ne),e)return ee(ae,140);ne=setTimeout(()=>ee(ae,140),260);}let Qe=e=>e.pointerType==="mouse";for(let e of [L,ae])e.addEventListener("pointerenter",a=>Qe(a)&&(e===L?$t():clearTimeout(ne))),e.addEventListener("pointerleave",a=>Qe(a)&&me());L.addEventListener("click",()=>{ve.unlock(),me(true),y?Q():Y(u.length?"messages":"home");}),S&&E.appendChild(L);let $=t("div",{class:"ckw-pop ckw-msgr","data-pos":n,role:"dialog","aria-label":o}),Xe=t("div",{class:"ckw-msgr-bar"}),h=t("div",{class:"ckw-pop-body ckw-msgr-body"});$.addEventListener("click",()=>ve.unlock());let xe=t("span",{class:"ckw-msgr-lead"}),Le=t("nav",{class:"ckw-msgr-seg","aria-label":"Messenger"}),K=t("span",{class:"ckw-msgr-seg-mark","aria-hidden":"true"}),Je=(e,a,i)=>{let p=t("button",{type:"button",class:"ckw-msgr-seg-b"},v(i,15),t("span",{},a));return p.addEventListener("click",()=>{F=null,C(e);}),p},ie=Je("messages","Chat",b.chat),$e=Je("help","Help",b.book),fe=t("span",{class:"ckw-msgr-count ckw-msgr-count-tab","aria-hidden":"true"}),oe=t("button",{type:"button",class:"ckw-msgr-ib","aria-label":"More","aria-haspopup":"menu","aria-expanded":"false"},v(b.dots,18)),Ze=t("button",{type:"button",class:"ckw-msgr-ib ckw-msgr-x","aria-label":"Close messenger"},v(b.cross));Ze.addEventListener("click",()=>Q()),Xe.append(xe,Le,t("span",{class:"ckw-msgr-trail"},oe,Ze));let q=t("div",{class:"ckw-msgr-menu",role:"menu"}),Ie=()=>q.isConnected&&!q.hasAttribute("data-out"),se=()=>{oe.setAttribute("aria-expanded","false"),ee(q,120);},et=(e,a,i)=>{let p=t("button",{type:"button",class:"ckw-msgr-menu-i",role:"menuitem"},v(e,15),t("span",{},a));return p.addEventListener("click",d=>{d.stopPropagation(),se(),i();}),p};oe.addEventListener("click",e=>{var a;if(e.stopPropagation(),Ie())return se();q.replaceChildren(t("span",{class:"ckw-msgr-menu-h"},"Quick actions"),et(b.minus,"Minimize chat",()=>Q()),et(J?b.collapse:b.expand,J?"Collapse view":"Expand view",()=>{J=!J,$.toggleAttribute("data-wide",J),requestAnimationFrame(tt);})),oe.setAttribute("aria-expanded","true"),ke(q,$),(a=q.querySelector("button"))==null||a.focus();}),$.addEventListener("click",()=>Ie()&&se());function tt(){let e=m==="messages"?ie:m!=="home"?$e:null;if(!e||!e.isConnected)return K.removeAttribute("data-on");let a=!K.hasAttribute("data-on");a&&K.setAttribute("data-still",""),K.style.width=`${e.offsetWidth}px`,K.style.transform=`translateX(${e.offsetLeft}px)`,K.setAttribute("data-on",""),a&&requestAnimationFrame(()=>K.removeAttribute("data-still"));}let It=()=>{let e=(i,p)=>{let d=t("button",{type:"button",class:"ckw-msgr-ib","aria-label":p},v(b.back,18));return d.addEventListener("click",i),d};if(typeof m!="string")xe.replaceChildren(e(()=>C("help"),"Back to help"));else if(m==="help"&&F&&!N.trim())xe.replaceChildren(e(()=>{F=null,C("help");},"All collections"));else {let i=t("button",{type:"button",class:"ckw-msgr-ib","aria-label":"Home","aria-current":m==="home"?"page":"false"},v(b.home,17));i.addEventListener("click",()=>C("home")),xe.replaceChildren(i);}let a=k&&we!==false?[K,ie,$e]:[K,ie];Le.childNodes.length!==a.length&&Le.replaceChildren(...a),ie.setAttribute("aria-current",m==="messages"?"page":"false"),$e.setAttribute("aria-current",m!=="home"&&m!=="messages"?"page":"false"),u.length&&m!=="messages"?(fe.textContent=String(Math.min(u.length,9)),fe.isConnected||ie.append(fe)):fe.remove();},ce=t("form",{class:"ckw-msgr-compose"}),be=t("p",{class:"ckw-msgr-error",role:"alert"}),H=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"}),le=t("div",{class:"ckw-msgr-box"}),R=t("textarea",{class:"ckw-textarea ckw-msgr-input",rows:"1",placeholder:"Write your message\u2026","aria-label":"Message",maxlength:"4000"}),je=t("button",{type:"submit",class:"ckw-msgr-send","aria-label":"Send"},v(b.up));le.append(R,t("div",{class:"ckw-msgr-box-foot"},t("span",{class:"ckw-msgr-hint"},"Enter to send"),je)),le.addEventListener("click",e=>e.target===le&&R.focus()),ce.append(le);let rt=t("ol",{class:"ckw-msgs","aria-live":"polite","aria-label":"Messages"}),at=()=>{var e;return s&&!((e=r.user())!=null&&e.email)&&!(x!=null&&x.hasEmail)},He=()=>!H.value.trim()||Vt.test(H.value.trim()),nt=()=>!!R.value.trim()&&!T&&He(),C=e=>{let a=JSON.stringify(e)!==JSON.stringify(m);m=e,ue=-1,D(),a&&Ee(h,"ckw-msgr-enter"),e==="messages"?(Se(),re(),R.focus()):e==="help"&&Oe.focus(),G(0);},it=(e,a=false)=>{var p;let i=t("li",{class:"ckw-msg","data-from":e.from==="visitor"?"me":"them"},t("div",{class:"ckw-bubble"},e.body));a&&i.setAttribute("aria-busy","true");for(let d of (p=e.articles)!=null?p:[]){let w=t("button",{type:"button",class:"ckw-msgr-cite"},v(b.doc,14),t("span",{},d.title));w.addEventListener("click",()=>C({article:d.id})),i.append(w);}return i.append(t("span",{class:"ckw-msg-meta"},`${e.from!=="visitor"?`${_e[e.from]} \xB7 `:""}${a?"Sending\u2026":Be(e.at)}`)),i},jt=e=>{let a=t("button",{type:"button",class:"ckw-msgr-art"},t("span",{class:"ckw-msgr-art-t"},e.title),v(b.next,14));return a.addEventListener("click",()=>C({article:e.id})),a},ot=(e,a,i,p)=>{let d=t("button",{type:"button",class:"ckw-msgr-hrow"},t("span",{class:"ckw-msgr-hrow-main"},t("b",{},e),a?t("span",{class:"ckw-msgr-hrow-sub"},a):null,i?t("span",{class:"ckw-msgr-hrow-meta"},i):null),v(b.next,16));return d.addEventListener("click",p),d},st=(e="Search for help")=>{let a=t("label",{class:"ckw-msgr-search"}),i=t("input",{class:"ckw-msgr-search-in",type:"search",placeholder:e,"aria-label":"Search for help",maxlength:"200"});i.value=N;let p;return i.addEventListener("input",()=>{N=i.value,clearTimeout(p),p=setTimeout(()=>{if(m!=="help")return C("help");Ne(true);},250);}),i.addEventListener("keydown",d=>{d.key==="Enter"&&(d.preventDefault(),m!=="help"&&C("help"));}),a.append(v(b.search,16),i),a},Re=st("Search our help center\u2026"),Oe=Re.querySelector("input"),Pe=false,Ne=async(e=false)=>{if(!k||Pe&&!e)return;Pe=true;let a=N.trim();try{let i=await _().articles(a||void 0);if(a!==N.trim())return;z=i.articles,a||(we=i.articles.length>0);}catch(i){z=z!=null?z:[];}finally{Pe=false;}D();},Ht=()=>{var d;let e=t("div",{class:"ckw-msgr-hero"},t("span",{class:"ckw-msgr-brand"},Z("sm"),t("span",{},o)),t("p",{class:"ckw-msgr-hello"},l),t("span",{class:"ckw-msgr-online"},f)),a=((d=x==null?void 0:x.messages)!=null?d:[]).at(-1),i=[e];if(a){let w=t("button",{type:"button",class:"ckw-msgr-card ckw-msgr-recent"},t("span",{class:"ckw-msgr-card-label"},"Recent message"),t("span",{class:"ckw-msgr-recent-row"},Z(),t("span",{class:"ckw-msgr-card-main"},t("span",{class:"ckw-msgr-card-sub ckw-msgr-recent-text"},a.body),t("span",{class:"ckw-msgr-card-meta"},`${a.from==="visitor"?"You":_e[a.from]} \xB7 ${Be(a.at)}`)),u.length?t("span",{class:"ckw-msgr-badge"},String(u.length)):v(b.next,14)));w.addEventListener("click",()=>C("messages")),i.push(w);}let p=t("button",{type:"button",class:"ckw-msgr-card"},t("span",{class:"ckw-msgr-card-main"},t("b",{},"Send us a message"),t("span",{class:"ckw-msgr-card-sub"},f)),t("span",{class:"ckw-msgr-go"},v(b.send)));if(p.addEventListener("click",()=>C("messages")),i.push(p),k&&we!==false){let w=t("div",{class:"ckw-msgr-card ckw-msgr-card-col"},st()),M=(z!=null?z:[]).slice(0,4);M.length?w.append(...M.map(jt)):z===null&&w.append(t("div",{class:"ckw-skel ckw-msgr-skel"})),i.push(w);}h.replaceChildren(...i);},Rt=()=>{var M,A;Oe.value!==N&&(Oe.value=N);let e=N.trim(),a=z!=null?z:[],i=new Map;for(let g of a)i.set(g.collection,[...(M=i.get(g.collection))!=null?M:[],g]);let p=!e&&F!==null?(A=i.get(F))!=null?A:[]:null,d=e?"Search results":p?F!=null?F:"":"Most read articles",w=[t("h2",{class:"ckw-msgr-help-h"},d),Re];if(z===null)w.push(t("div",{class:"ckw-skel"}));else if(a.length)e||p?w.push(t("div",{class:"ckw-msgr-hlist"},...(p!=null?p:a).map(g=>ot(g.title,g.excerpt.startsWith(g.title)?g.excerpt.slice(g.title.length).trim():g.excerpt,e?g.collection:"",()=>C({article:g.id}))))):w.push(t("div",{class:"ckw-msgr-hlist"},...[...i].map(([g,O])=>ot(g,O.map(Ft=>Ft.title).join(", "),`${O.length} ${O.length===1?"article":"articles"}`,()=>{F=g,C("help"),Ee(h,"ckw-msgr-enter");}))));else {let g=t("button",{type:"button",class:"ckw-btn ckw-btn-primary"},"Send us a message");g.addEventListener("click",()=>C("messages")),w.push(t("div",{class:"ckw-msgr-empty"},t("p",{},e?`Nothing found for \u201C${e}\u201D.`:"No help articles yet."),g));}if(h.childNodes[1]!==Re)h.replaceChildren(...w);else {for(h.firstChild.replaceWith(w[0]);h.childNodes.length>2;)h.lastChild.remove();h.append(...w.slice(2));}},W=null,Ot=e=>{if((W==null?void 0:W.id)===e)return h.replaceChildren(W.node);let a=t("article",{class:"ckw-msgr-doc"},t("div",{class:"ckw-skel"}));W={id:e,node:a},h.replaceChildren(a),_().article(e).then(i=>{let p=t("div",{class:"ckw-msgr-rate"}),d=()=>{if(Ce.has(e))return p.replaceChildren(t("span",{},"Thanks for letting us know."));let M=t("button",{type:"button",class:"ckw-btn"},"Yes"),A=t("button",{type:"button",class:"ckw-btn"},"No"),g=O=>{Ce=new Set(Ce).add(e),d(),_().rateArticle(e,O).catch(()=>{}),O||C("messages");};M.addEventListener("click",()=>g(true)),A.addEventListener("click",()=>g(false)),p.replaceChildren(t("span",{},"Did this answer your question?"),t("span",{class:"ckw-msgr-rate-b"},M,A));};d();let w=t("button",{type:"button",class:"ckw-btn ckw-msgr-ask"},v(b.chat),"Still need help? Send us a message");w.addEventListener("click",()=>C("messages")),a.replaceChildren(t("p",{class:"ckw-msgr-doc-c"},i.collection),t("h2",{class:"ckw-msgr-doc-t"},i.title),t("p",{class:"ckw-msgr-doc-c"},`Updated ${Be(i.updatedAt)}`),t("div",{class:"ckw-msgr-doc-b"},...i.blocks.map(Jt)),p,w);}).catch(i=>{W=null,a.replaceChildren(t("p",{class:"ckw-msgr-error"},i.message));});},ue=-1,ct="",Fe=-1,Pt=t("div",{class:"ckw-msgr-intro"},t("span",{class:"ckw-msgr-intro-av"},Z()),t("span",{class:"ckw-msgr-intro-t"},t("b",{},o),t("span",{class:"ckw-msgr-online"},f))),Ke=t("div",{class:"ckw-msgr-sugg"}),Nt=()=>{var p,d;let e=(p=x==null?void 0:x.messages)!=null?p:[],a=[Pt];if(!Ue)a.push(t("div",{class:"ckw-skel"}));else {let w=`${e.map(A=>A.id).join(",")}|${T?T.body:""}|${Math.floor(Date.now()/6e4)}`;if(w!==ct){ct=w;let g=[t("li",{class:"ckw-msg","data-from":"them"},t("div",{class:"ckw-bubble"},l)),...e.map(O=>it(O)),...T?[it(T,true)]:[]];Fe>=0&&g.slice(Fe).forEach(O=>O.setAttribute("data-new","")),Fe=g.length,rt.replaceChildren(...g);}a.push(rt);let M=!e.some(A=>A.from==="visitor")&&!T?(z!=null?z:[]).slice(0,3):[];M.length&&(Ke.childNodes.length!==M.length&&Ke.replaceChildren(...M.map(A=>{let g=t("button",{type:"button",class:"ckw-msgr-sugg-b"},A.title);return g.addEventListener("click",()=>C({article:A.id})),g})),a.push(Ke));}((d=x==null?void 0:x.conversation)==null?void 0:d.status)==="solved"&&!T&&a.push(t("p",{class:"ckw-fine ckw-msgr-note"},"This conversation is closed. Write to start a new one.")),(h.childNodes.length!==a.length||a.some((w,M)=>h.childNodes[M]!==w))&&h.replaceChildren(...a);let i=e.length+(T?1:0);i!==ue&&(ue=i,h.scrollTop=h.scrollHeight),be.textContent=U,U&&!be.isConnected?ce.prepend(be):U||be.remove(),at()?(He()?H.removeAttribute("aria-invalid"):H.setAttribute("aria-invalid","true"),H.isConnected||ce.insertBefore(H,le)):H.remove(),je.disabled=!nt();},D=()=>{if(!y)return;$.dataset.view=typeof m=="string"?m:"article",It(),m==="home"?Ht():m==="messages"?Nt():m==="help"?Rt():Ot(m.article);let e=[Xe,h];m==="messages"&&e.push(ce),q.isConnected&&e.push(q),($.childNodes.length!==e.length||e.some((a,i)=>$.childNodes[i]!==a))&&$.replaceChildren(...e),tt();},lt=async()=>{B==null||B.abort(),B=new AbortController;try{Ve(await _().chat(B.signal)),U="";}catch(e){if(e.name==="AbortError")return;y&&m==="messages"&&(U=e.message);}Ue=true,D(),re(),G();};function G(e){var w,M,A;clearTimeout(ge);let a=!!(x!=null&&x.messages.some(g=>g.from==="visitor"))&&((w=x==null?void 0:x.conversation)==null?void 0:w.status)!=="solved",i=(A=((M=x==null?void 0:x.messages)!=null?M:[]).filter(g=>g.from==="visitor").at(-1))==null?void 0:A.at,p=!!i&&Date.now()-new Date(i).getTime()<Yt,d=e!=null?e:Ae()?Bt:a&&p?Ut:y||a?Dt:0;(d||e===0)&&(ge=setTimeout(()=>{lt();},d));}let pt=()=>{document.visibilityState==="visible"?G(0):clearTimeout(ge);};document.addEventListener("visibilitychange",pt);let dt=async()=>{let e=R.value.trim();if(!(!e||T||!He())){ve.unlock(),T={id:"pending",from:"visitor",body:e,at:new Date().toISOString()},R.value="",U="",D();try{Ve(await _().sendChat({body:e,email:at()&&H.value.trim()?H.value.trim():void 0,url:window.location.href.slice(0,500)}));}catch(a){R.value=e,U=a.message;}T=null,D(),G();}};ce.addEventListener("submit",e=>{e.preventDefault(),dt();}),R.addEventListener("keydown",e=>{e.key==="Enter"&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),dt());}),R.addEventListener("input",()=>je.disabled=!nt()),H.addEventListener("input",()=>D());function Y(e="home",a=false){let i=y;y=true,m=e==="help"&&!k?"home":e,ue=-1,de=true,me(true),$.toggleAttribute("data-still",a),ke($),i&&Ee(h,"ckw-msgr-enter"),(z===null||m==="help"&&N)&&Ne(),D(),re(),m==="messages"&&(Se(),R.focus()),G(0);}function Q(){y&&(y=false,q.isConnected&&se(),ee($,200),re(),G(),S&&L.focus());}let gt=e=>{e.key!=="Escape"||!y||(Ie()?(se(),oe.focus()):Q());};return document.addEventListener("keydown",gt),lt(),k&&Ne(),re(),r.opened&&Y(r.opened,true),{open:e=>Y(e!=null?e:"home"),close:Q,toggle:()=>y?Q():Y(),destroy:()=>{clearTimeout(ge),clearTimeout(ne);for(let e of V.values())clearTimeout(e);B==null||B.abort(),document.removeEventListener("keydown",gt),document.removeEventListener("visibilitychange",pt),E.remove();}}};window.__mrrocketMessenger={mountMessenger:Tt};
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};
426
582
  })();
@@ -1 +1 @@
1
- (function(){'use strict';var g=e=>{let s=atob(e.replace(/-/g,"+").replace(/_/g,"/").padEnd(Math.ceil(e.length/4)*4,"=")),t=new Uint8Array(s.length);for(let r=0;r<s.length;r++)t[r]=s.charCodeAt(r);return t},P=(e,s)=>{if(!e)return false;let t=new Uint8Array(e);return t.length===s.length&&t.every((r,o)=>r===s[o])},a=()=>typeof window!="undefined"&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window,w=(e=true)=>{if(!a())return Promise.resolve("denied");if(Notification.permission!=="default"||!e)return Promise.resolve(Notification.permission);try{return Promise.resolve(Notification.requestPermission())}catch(s){return Promise.resolve("denied")}},m=async(e,s,t)=>{if(t!==false){let r=`${t}?key=${encodeURIComponent(s)}&host=${encodeURIComponent(e)}`;await navigator.serviceWorker.register(r);}return navigator.serviceWorker.ready},l=async(e,s={})=>{var o,u,c,d;if(!a())return {status:"unsupported",reason:"This browser has no web push."};if(!e.distinctId)return {status:"not-signed-in"};let t=s.ask!==false,r=await((o=e.permission)!=null?o:w(t));if(r==="denied")return {status:"denied"};if(r!=="granted")return {status:t?"denied":"not-asked"};try{let n=await fetch(`${e.host}/api/sdk/push?key=${encodeURIComponent(e.apiKey)}`),p=n.ok?(u=(await n.json()).web)==null?void 0:u.vapidKey:void 0;if(!p)return {status:"error",reason:`MRRocket answered ${n.status} for the push key.`};let h=g(p),b=await m(e.host,e.apiKey,(c=s.serviceWorker)!=null?c:"/mrrocket-sw.js"),i=await b.pushManager.getSubscription();i&&!P((d=i.options)==null?void 0:d.applicationServerKey,h)&&(await i.unsubscribe().catch(()=>!1),i=null),i!=null||(i=await b.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:h}));let f=await fetch(`${e.host}/api/sdk/push`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:e.apiKey,distinctId:e.distinctId,platform:"web",subscription:i.toJSON(),host:e.host})});return f.ok?{status:"subscribed"}:{status:"error",reason:`MRRocket answered ${f.status}.`}}catch(n){return {status:"error",reason:n instanceof Error?n.message:String(n)}}},y=async e=>{if(!a())return false;try{let s=await navigator.serviceWorker.getRegistration(),t=await(s==null?void 0:s.pushManager.getSubscription());return t?(await fetch(`${e.host}/api/sdk/push`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:e.apiKey,distinctId:e.distinctId,platform:"web",remove:!0,endpoint:t.endpoint})}).catch(()=>null),await t.unsubscribe()):!1}catch(s){return false}};window.__mrrocketPush={subscribeWebPush:l,unsubscribeWebPush:y};})();
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};})();