@popgrids/embed 0.0.4 → 1.0.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 (49) hide show
  1. package/AGENTS.md +14 -0
  2. package/dist/assets/wordmark-svg.d.ts +7 -0
  3. package/dist/assets/wordmark-svg.d.ts.map +1 -0
  4. package/dist/components/pop-account-switcher.d.ts +31 -0
  5. package/dist/components/pop-account-switcher.d.ts.map +1 -0
  6. package/dist/components/pop-auth-code.d.ts +22 -0
  7. package/dist/components/pop-auth-code.d.ts.map +1 -0
  8. package/dist/components/pop-auth-email.d.ts +18 -0
  9. package/dist/components/pop-auth-email.d.ts.map +1 -0
  10. package/dist/components/pop-auth-join.d.ts +20 -0
  11. package/dist/components/pop-auth-join.d.ts.map +1 -0
  12. package/dist/components/pop-auth-no-code.d.ts +14 -0
  13. package/dist/components/pop-auth-no-code.d.ts.map +1 -0
  14. package/dist/components/pop-auth-panel.d.ts +17 -7
  15. package/dist/components/pop-auth-panel.d.ts.map +1 -1
  16. package/dist/components/pop-button-link.d.ts +43 -0
  17. package/dist/components/pop-button-link.d.ts.map +1 -0
  18. package/dist/components/pop-comment-bar.d.ts +2 -0
  19. package/dist/components/pop-comment-bar.d.ts.map +1 -1
  20. package/dist/components/pop-comment-thread.d.ts.map +1 -1
  21. package/dist/components/pop-comment.d.ts +2 -0
  22. package/dist/components/pop-comment.d.ts.map +1 -1
  23. package/dist/components/pop-feed.d.ts +15 -0
  24. package/dist/components/pop-feed.d.ts.map +1 -1
  25. package/dist/components/pop-grid.d.ts +1 -0
  26. package/dist/components/pop-grid.d.ts.map +1 -1
  27. package/dist/components/refs.d.ts +8 -0
  28. package/dist/components/refs.d.ts.map +1 -0
  29. package/dist/embed.js +2572 -1755
  30. package/dist/embed.js.map +1 -1
  31. package/dist/index.cjs +999 -118
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1360 -547
  36. package/dist/index.js.map +1 -1
  37. package/dist/lib/backoff.d.ts +11 -0
  38. package/dist/lib/backoff.d.ts.map +1 -0
  39. package/dist/lib/popup-auth.d.ts +10 -4
  40. package/dist/lib/popup-auth.d.ts.map +1 -1
  41. package/dist/store/embed-auth-store.d.ts +201 -0
  42. package/dist/store/embed-auth-store.d.ts.map +1 -0
  43. package/dist/store/grid-store.d.ts +3 -0
  44. package/dist/store/grid-store.d.ts.map +1 -1
  45. package/dist/types/models.d.ts +12 -0
  46. package/dist/types/models.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/store/auth-store.d.ts +0 -8
  49. package/dist/store/auth-store.d.ts.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,106 +1,893 @@
1
- let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embed/auth/login`,r=`popgrids-auth`,i=`popup,width=480,height=640`,a=300*1e3,o=250,s=class extends Error{constructor(e){super(e),this.name=`PopupAuthError`}},c=(e,t,r)=>{let i=new URL(n,e);return i.searchParams.set(`publicKey`,t),i.searchParams.set(`returnOrigin`,r),i.toString()},l=(e,t)=>{let n=window.open(c(e,t,window.location.origin),r,i);if(!n)throw new s(`Popup blocked. Allow popups for this site and try again.`);return n},u=(e,t)=>typeof e==`object`&&!!e&&`type`in e&&`source`in e&&e.type===t&&e.source===`popgrids-embed`,ee=e=>{if(typeof e!=`object`||!e||!(`user`in e))return null;let t=e.user;if(typeof t!=`object`||!t||!(`id`in t))return null;let n=t;return typeof n.id==`string`?{id:n.id,name:typeof n.name==`string`?n.name:``,email:typeof n.email==`string`?n.email:``,image:typeof n.image==`string`?n.image:null}:null},d=(e,t,n)=>new Promise((r,i)=>{let c=new URL(e).origin,l=!1,d=!1,f=!1,p=(e,t)=>{if(!l){if(l=!0,_(),e===`resolve`){r();return}i(t??new s(`Sign-in failed`))}},m=e=>{if(e.origin===c){if(u(e.data,`popgrids:auth:success`)){d=!0;let t=ee(e.data);t&&n?.onAuthUser?.(t),p(`resolve`);return}u(e.data,`popgrids:auth:error`)&&(d=!0,p(`reject`,new s(typeof e.data==`object`&&e.data!==null&&`error`in e.data&&typeof e.data.error==`string`?e.data.error:`Sign-in failed`)))}},h=window.setInterval(()=>{t.closed&&(f||(f=!0,(async()=>{if(await new Promise(e=>window.setTimeout(e,o)),!(d||l)){if(n?.verifySignedIn&&await n.verifySignedIn()){p(`resolve`);return}p(`reject`,new s(`Sign-in was cancelled`))}})()))},300),g=window.setTimeout(()=>{try{t.close()}catch{}p(`reject`,new s(`Sign-in timed out`))},a),_=()=>{window.removeEventListener(`message`,m),clearInterval(h),clearTimeout(g)};window.addEventListener(`message`,m)}),f=async(e,t,n)=>{await d(e,l(e,t),n)},p=(0,e.signal)(null),m=(0,e.signal)(null),h=(0,e.signal)(!1),g=[0,150,400],_=[0,100,200,400,800,1500,2500,4e3];async function v(e,t,n=g){if(!e||!t)return p.value=null,!1;let r=new URL(`/api/v1/embed/grids/${t}/session`,e);r.searchParams.set(`pageUrl`,window.location.href);for(let e=0;e<n.length;e++){let t=n[e]??0;t>0&&await new Promise(e=>window.setTimeout(e,t));try{let e=await fetch(r,{credentials:`include`});if(!e.ok)continue;if(p.value=(await e.json()).user??null,p.value!==null)return!0}catch{}}return p.value=null,!1}async function y(e,t){m.value=null,h.value=!0;try{return await f(e,t,{onAuthUser:e=>{p.value=e},verifySignedIn:()=>v(e,t,_)}),p.value?!0:await v(e,t,_)}catch(e){return m.value=e instanceof Error?e.message:`Sign-in failed`,!1}finally{h.value=!1}}function te(){m.value=null}var b=new WeakMap,ne=(e,t,n=t.constructor)=>{let r=b.get(e);r||(r=new Map,b.set(e,r)),r.set(n,t)},re=e=>{b.delete(e)},ie=(e,t)=>{let n=e;for(;n;){let e=b.get(n)?.get(t);if(e)return e;let r=n.getRootNode();if(!(r instanceof ShadowRoot))break;n=r.host}return null};function x(e){return function(t,n){let r=Symbol(`context_`+(e.name||`store`));Object.defineProperty(t,n,{get(){if(this[r])return this[r];let t=ie(this,e);if(!t)throw console.error(`[Context] resolveStore failed! isConnected: ${this.isConnected}`,this),Error(`[Context] Store for key "${e.name||e}" not resolved on <${this.localName}>.`);return this[r]=t,t},enumerable:!0,configurable:!0})}}var S=3e4,C=3,w=e=>{let t=typeof e.createdAt==`number`?e.createdAt:Date.parse(String(e.createdAt));return Number.isFinite(t)?t:0},T=(e,t)=>{let n=e?.previewCount??t;return n>0?n:C},ae=(e,t)=>e&&{...e,...t},E=class{constructor(t){this.previewCount=C,this._fetchedGrid=(0,e.signal)(null),this._overrides=(0,e.signal)({}),this.grid=(0,e.computed)(()=>ae(this._fetchedGrid.value,this._overrides.value)),this.comments=(0,e.signal)([]),this.loading=(0,e.signal)(!0),this.error=(0,e.signal)(null),this.open=(0,e.signal)(!1),this.replyingTo=(0,e.signal)(null),this.editingCommentId=(0,e.signal)(null),this.scrollingCommentId=(0,e.signal)(null),this.socket=null,this.reconnectAttempt=0,this.reconnectTimer=null,this.disposed=!1,this.topLevelComments=(0,e.computed)(()=>this.comments.value.filter(e=>e.parentCommentId===null).sort((e,t)=>String(e.sortKey).localeCompare(String(t.sortKey)))),this.replyingToComment=(0,e.computed)(()=>{let e=this.replyingTo.value;return e?this.comments.value.find(t=>t.id===e)??null:null}),this.editingComment=(0,e.computed)(()=>{let e=this.editingCommentId.value;return e?this.comments.value.find(t=>t.id===e)??null:null}),this.previewComments=(0,e.computed)(()=>this.topLevelComments.value.slice(0,T(this.grid.value,this.previewCount))),this.previewAvatars=(0,e.computed)(()=>{let e=T(this.grid.value,this.previewCount),t=new Set,n=[],r=[...this.comments.value].sort((e,t)=>w(t)-w(e));for(let i of r){let r=i.author;if(!(!r?.id||t.has(r.id))&&(t.add(r.id),n.push(r),n.length>=e))break}return n.reverse()}),this.apiUrl=t.apiUrl,this.publicKey=t.publicKey,this.pageUrl=t.pageUrl,this.externalId=t.externalId?.trim()||null}setOverrides(e){this._overrides.value=e}identityParams(){let e=new URLSearchParams({pageUrl:this.pageUrl});return this.externalId&&e.set(`externalId`,this.externalId),e.toString()}repliesFor(e){let t=this.comments.value.find(t=>t.id===e);return t?this.comments.value.filter(n=>n.id!==e&&(n.sortKey===t.sortKey||n.sortKey.startsWith(t.sortKey+`/`))).sort((e,t)=>String(e.sortKey).localeCompare(String(t.sortKey))):[]}async load(){this.loading.value=!0,this.error.value=null;try{let e=await fetch(`${this.apiUrl}/api/v1/embed/grids/${this.publicKey}`,{credentials:`include`});if(!e.ok)return this.error.value=`There was a problem loading the PopGrid`,!1;let t=await e.json();this._fetchedGrid.value=t.grid,this.connectRealtime();let n=await fetch(`${this.apiUrl}/api/v1/embed/grids/${this.publicKey}/comments?${this.identityParams()}`,{credentials:`include`});if(n.ok){let e=await n.json();this.comments.value=e.comments}return!0}catch{return console.error(`Failed to load PopGrid`),this.error.value=`There was a problem loading the PopGrid`,!1}finally{this.loading.value=!1}}async postComment(e,t){let n=async()=>fetch(`${this.apiUrl}/api/v1/embed/grids/${this.publicKey}/comments`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:e,pageUrl:this.pageUrl,externalId:this.externalId??void 0,parentCommentId:t})}),r=await n();if(r.status===401){if(!await y(this.apiUrl,this.publicKey))return null;r=await n()}if(!r.ok)return null;let i=await r.json();return this.upsertComment(i.comment),i.comment.author&&!p.value&&(p.value={id:i.comment.author.id,name:i.comment.author.name??``,email:``,image:i.comment.author.image}),i.comment}destroy(){this.disposed=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.socket&&=(this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close(),null)}connectRealtime(){let e=this.grid.value?.connectUrl;if(!e||this.disposed)return;this.socket&&=(this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close(),null);let t=new URL(e,this.apiUrl);t.protocol=t.protocol===`https:`?`wss:`:`ws:`,t.searchParams.set(`pageUrl`,this.pageUrl),this.externalId&&t.searchParams.set(`externalId`,this.externalId);let n=new WebSocket(t.toString());this.socket=n,n.onopen=()=>{this.reconnectAttempt=0},n.onmessage=e=>{try{let t=JSON.parse(String(e.data));t.type===`comment.created`&&t.comment?this.upsertComment(t.comment):t.type===`comment.updated`&&t.comment&&this.updateCommentInList(t.comment)}catch{}},n.onclose=()=>{this.disposed||this.scheduleReconnect()},n.onerror=()=>{n.close()}}scheduleReconnect(){if(this.disposed||this.reconnectTimer)return;let e=Math.min(1e3*2**this.reconnectAttempt,S);this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connectRealtime()},e)}upsertComment(e){this.comments.value.some(t=>t.id===e.id)||(this.comments.value=[...this.comments.value,e])}async editComment(e,t){let n=async()=>fetch(`${this.apiUrl}/api/v1/embed/grids/${this.publicKey}/comments/${e}`,{method:`PATCH`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,pageUrl:this.pageUrl,externalId:this.externalId??void 0})}),r=await n();if(r.status===401){if(!await y(this.apiUrl,this.publicKey))return null;r=await n()}if(!r.ok)return null;let i=await r.json();return this.updateCommentInList(i.comment),i.comment}async deleteComment(e){let t=async()=>fetch(`${this.apiUrl}/api/v1/embed/grids/${this.publicKey}/comments/${e}?${this.identityParams()}`,{method:`DELETE`,credentials:`include`}),n=await t();if(n.status===401){if(!await y(this.apiUrl,this.publicKey))return null;n=await t()}if(!n.ok)return null;let r=await n.json();return this.updateCommentInList(r.comment),r.comment}async flagComment(e){let t=async()=>fetch(`${this.apiUrl}/api/v1/embed/grids/${this.publicKey}/comments/${e}/flag?${this.identityParams()}`,{method:`POST`,credentials:`include`}),n=await t();if(n.status===401){if(!await y(this.apiUrl,this.publicKey))return!1;n=await t()}return n.ok}updateCommentInList(e){this.comments.value=this.comments.value.map(t=>t.id===e.id?e:t)}},oe=`@layer base{:host{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--pop-color-brand-midnight-100:oklch(96.58% .0161 262.75);--pop-color-brand-midnight-900:oklch(15% .03 255.43);--pop-color-brand-midnight-800:oklch(19% .05 255.43);--pop-color-brand-ocean-400:oklch(63% .19 255.43);--pop-color-brand-ocean-100:oklch(91% .05 255.43);--pop-color-brand-forest-900:oklch(38.66% .0698 180.75);--pop-color-brand-forest-700:oklch(45% .15 165.43);--pop-color-brand-forest-100:oklch(97% .04 165.43);--pop-color-brand-highlight-400:oklch(88% .25 105.43);--pop-color-brand-pumpkin-500:oklch(62% .18 45.43);--pop-color-brand-pumpkin-200:oklch(89% .08 45.43);--pop-color-brand-lemon-300:oklch(91% .12 85.43);--pop-color-brand-lemon-100:oklch(97% .04 85.43);--pop-duration-bouncy:1s;--pop-duration-card-highlight:.6s;--pop-duration-gentle:.833s;--pop-duration-menu:.4s;--pop-duration-pop-hover:.6s;--pop-duration-pop-text:.3s;--pop-duration-quick:.833s;--pop-duration-slow:1.167s;--pop-ease-bouncy:linear(0, .011, .045 1.3%, .184 2.7%, .911 7.4%, 1.153 9.4%, 1.301 11.2%, 1.342, 1.362 13%, 1.363, 1.355 14.4%, 1.306 16%, 1.028 21%, .939 23%, .89 24.7%, .876, .868 26.4%, .869, .882 29%, .907 30.5%, 1.014 35.9%, 1.038, 1.048 39.8% 41.1%, 1.043 42.5%, .995 49.3%, .987, .983 53.2%, .984 55.9%, 1.002 62.7%, 1.006 66.4%, .998 79.7%, 1);--pop-ease-card-highlight:linear(0, .008, .031 1.8%, .127 3.9%, .671 11.8%, .881 15.5%, .959, 1.02 19.2%, 1.064, 1.093 23.2%, 1.102, 1.108, 1.108, 1.104 28.7%, 1.089 31.4%, 1.038 38.1%, 1.016 41.5%, .999 45.4%, .99 49.6%, .989 55.3%, 1.001 74.9%, 1);--pop-ease-gentle:linear(0, .007, .026, .059 4.5%, .106 6.3%, .209 9.5%, .558 19.3%, .658, .742, .812, .87, .918, .957, .986 41.6%, 1.007 45.3%, 1.021 49.4%, 1.027 54% 60.9%, 1.007 83.2%, 1);--pop-ease-menu:linear(0, .0034 0.81%, .0278 2.42%, .097 4.84%, .5361 15.32%, .655 18.55%, .7314, .7964 23.39%, .8662, .9185, .9561, .9818, .9984, 1.0083 42.74%, 1.014 46.77%, 1.0145 53.22%, 1.0053 68.55%, 1.0019 77.42%, .9998 100%);--pop-ease-pop-hover:linear(0, .008, .031 1.8%, .127 3.9%, .671 11.8%, .881 15.5%, .959, 1.02 19.2%, 1.064, 1.093 23.2%, 1.102, 1.108, 1.108, 1.104 28.7%, 1.089 31.4%, 1.038 38.1%, 1.016 41.5%, .999 45.4%, .99 49.6%, .989 55.3%, 1.001 74.9%, 1);--pop-ease-pop-text:linear(0, .0051 0.99%, .0261, .0607 3.61%, .1192 5.26%, .2531 8.21%, .6509 16.1%, .7652 18.73%, .8512, .9232 23.33%, .9881 25.96%, 1.0305 28.26%, 1.0642 30.88%, 1.0782 32.53%, 1.089, 1.094 36.47%, 1.0942, 1.0896 41.07%, 1.0804 43.7%, 1.0354 53.23%, 1.0181 57.5%, 1.0061 61.44%, .9974 65.71%, .9925 70.31%, .991 75.9%, .9996 99.88%);--pop-ease-quick:linear(0, .008, .031 1.8%, .127 3.9%, .671 11.8%, .881 15.5%, .959, 1.02 19.2%, 1.064, 1.093 23.2%, 1.102, 1.108, 1.108, 1.104 28.7%, 1.089 31.4%, 1.038 38.1%, 1.016 41.5%, .999 45.4%, .99 49.6%, .989 55.3%, 1.001 74.9%, 1);--pop-ease-slow:linear(0, .005, .02 2%, .081 4.5%, .469 15.2%, .567, .65, .722 24.4%, .784, .835 31.1%, .878 34.9%, .914 39.1%, .942 43.8%, .964 49.1%, .979 55.4%, .989 62.4%, .995 71.1%, 1);--pop-shadow-xs:0px 1px 2px 0px #1018280d;--pop-shadow-sm:0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f;--pop-shadow-md:0px 4px 8px -2px #1018281a, 0px 2px 4px -2px #1018280f;--pop-shadow-lg:0px 12px 16px -4px #10182814, 0px 4px 6px -2px #10182808;--pop-shadow-xl:0px 20px 24px -4px #10182814, 0px 8px 8px -4px #10182808;--pop-shadow-2xl:0px 24px 48px -12px #1018282e;--pop-shadow-3xl:0px 32px 48px -12px #10182852;--pop-shadow-4xl:0px 24px 32px -12px #10182847;--pop-radius-none:0;--pop-radius-xxs:.125rem;--pop-radius-xs:.25rem;--pop-radius-sm:.375rem;--pop-radius-md:.5rem;--pop-radius-lg:.625rem;--pop-radius-xl:.75rem;--pop-radius-2xl:1rem;--pop-radius-3xl:1.25rem;--pop-radius-4xl:1.5rem;--pop-radius-full:9999px;--pop-radius:.625rem;--pop-background:oklch(100% 0 0);--pop-foreground:oklch(0% 0 0);--pop-card:oklch(100% 0 0);--pop-card-foreground:oklch(14.5% 0 0);--pop-popover:oklch(100% 0 0);--pop-popover-foreground:oklch(0% 0 0);--pop-primary:oklch(20.5% 0 0);--pop-primary-foreground:oklch(98.5% 0 0);--pop-secondary:oklch(97% 0 0);--pop-secondary-foreground:oklch(20.5% 0 0);--pop-muted:oklch(97% 0 0);--pop-muted-foreground:oklch(71.52% .0233 256.76);--pop-accent:oklch(97% 0 0);--pop-accent-foreground:oklch(20.5% 0 0);--pop-destructive:var(--color-error-600);--pop-border:oklch(11.01% .0763 264.05/.102);--pop-input:oklch(92.2% 0 0);--pop-ring:oklch(62.3% .214 259.815);--pop-chart-1:oklch(64.6% .222 41.116);--pop-chart-2:oklch(60% .118 184.704);--pop-chart-3:oklch(39.8% .07 227.392);--pop-chart-4:oklch(82.8% .189 84.429);--pop-chart-5:oklch(76.9% .188 70.08);--pop-sidebar:oklch(98.5% 0 0);--pop-sidebar-foreground:oklch(14.5% 0 0);--pop-sidebar-primary:oklch(20.5% 0 0);--pop-sidebar-primary-foreground:oklch(98.5% 0 0);--pop-sidebar-accent:oklch(97% 0 0);--pop-sidebar-accent-foreground:oklch(20.5% 0 0);--pop-sidebar-border:oklch(92.2% 0 0);--pop-sidebar-ring:oklch(70.8% 0 0);font-family:Inter,sans-serif;font-size:16px}@media (prefers-color-scheme:dark){:host{--pop-background:oklch(15% .03 255.43);--pop-foreground:oklch(66% .006 255.43);--pop-card:oklch(20.5% 0 0);--pop-card-foreground:oklch(98.5% 0 0);--pop-popover:oklch(15% .03 255.43);--pop-popover-foreground:oklch(66% .006 255.43);--pop-primary:oklch(92.2% 0 0);--pop-primary-foreground:oklch(20.5% 0 0);--pop-secondary:oklch(26.9% 0 0);--pop-secondary-foreground:oklch(98.5% 0 0);--pop-muted:oklch(26.9% 0 0);--pop-muted-foreground:oklch(66% .006 255.43);--pop-accent:oklch(26.9% 0 0);--pop-accent-foreground:oklch(98.5% 0 0);--pop-destructive:var(--color-error-400);--pop-border:oklch(100% 0 0/.1);--pop-input:oklch(100% 0 0/.15);--pop-ring:oklch(62.3% .214 259.815);--pop-chart-1:oklch(48.8% .243 264.376);--pop-chart-2:oklch(69.6% .17 162.48);--pop-chart-3:oklch(76.9% .188 70.08);--pop-chart-4:oklch(62.7% .265 303.9);--pop-chart-5:oklch(64.5% .246 16.439);--pop-sidebar:oklch(20.5% 0 0);--pop-sidebar-foreground:oklch(98.5% 0 0);--pop-sidebar-primary:oklch(48.8% .243 264.376);--pop-sidebar-primary-foreground:oklch(98.5% 0 0);--pop-sidebar-accent:oklch(26.9% 0 0);--pop-sidebar-accent-foreground:oklch(98.5% 0 0);--pop-sidebar-border:oklch(100% 0 0/.1);--pop-sidebar-ring:oklch(55.6% 0 0)}}:host(.dark){--pop-background:oklch(15% .03 255.43);--pop-foreground:oklch(66% .006 255.43);--pop-card:oklch(20.5% 0 0);--pop-card-foreground:oklch(98.5% 0 0);--pop-popover:oklch(15% .03 255.43);--pop-popover-foreground:oklch(66% .006 255.43);--pop-primary:oklch(92.2% 0 0);--pop-primary-foreground:oklch(20.5% 0 0);--pop-secondary:oklch(26.9% 0 0);--pop-secondary-foreground:oklch(98.5% 0 0);--pop-muted:oklch(26.9% 0 0);--pop-muted-foreground:oklch(66% .006 255.43);--pop-accent:oklch(26.9% 0 0);--pop-accent-foreground:oklch(98.5% 0 0);--pop-destructive:var(--color-error-400);--pop-border:oklch(100% 0 0/.1);--pop-input:oklch(100% 0 0/.15);--pop-ring:oklch(62.3% .214 259.815);--pop-chart-1:oklch(48.8% .243 264.376);--pop-chart-2:oklch(69.6% .17 162.48);--pop-chart-3:oklch(76.9% .188 70.08);--pop-chart-4:oklch(62.7% .265 303.9);--pop-chart-5:oklch(64.5% .246 16.439);--pop-sidebar:oklch(20.5% 0 0);--pop-sidebar-foreground:oklch(98.5% 0 0);--pop-sidebar-primary:oklch(48.8% .243 264.376);--pop-sidebar-primary-foreground:oklch(98.5% 0 0);--pop-sidebar-accent:oklch(26.9% 0 0);--pop-sidebar-accent-foreground:oklch(98.5% 0 0);--pop-sidebar-border:oklch(100% 0 0/.1);--pop-sidebar-ring:oklch(55.6% 0 0)}*,:before,:after{box-sizing:inherit}html,body{margin:0;padding:0}svg{display:block}p{margin:0;padding:0}button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}}`,se=`@layer components{.btn{text-align:center;cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:.625rem;height:auto;padding:.625rem 1.25rem;transition:background-color .2s,color .2s;display:flex}.btn-link{border-radius:var(--pop-radius-xs,4px);cursor:pointer;background-color:#0000;border-style:solid;border-color:#0000;justify-content:center;align-items:center;gap:2px;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn-link--size-sm{letter-spacing:-.08px;border-width:1px 2px;font-size:13px;line-height:18px}.btn-link--size-md{letter-spacing:0;border-width:1px 3px;font-size:14px;line-height:20px}.btn-link--size-lg{letter-spacing:0;border-width:1px 4px;font-size:16px;line-height:24px}.btn-link--theme-default{color:color-mix(in srgb, var(--pop-foreground) 50%, transparent)}.btn-link--theme-default.btn-link--primary{color:var(--pop-foreground)}.btn-link--theme-white{color:#fff}.btn-link--theme-black{color:#000}.btn-link--theme-default:hover,.btn-link--theme-black:hover{background-color:color-mix(in srgb, var(--pop-foreground) 10%, transparent);border-color:color-mix(in srgb, var(--pop-foreground) 10%, transparent)}.btn-link--theme-default:not(.btn-link--primary):hover{color:var(--pop-foreground)}.btn-link--theme-white:hover{background-color:#ffffff29;border-color:#ffffff29}.btn-link:active{background-color:#0000;border-color:#0000}.btn-link--theme-default:not(.btn-link--primary):active{color:color-mix(in srgb, var(--pop-foreground) 50%, transparent)}.btn-link:focus-visible{background-color:var(--pop-ring,#155eef);border-color:var(--pop-ring,#155eef);outline:none;color:#fff!important}.btn-link:disabled,.btn-link.is-disabled{cursor:not-allowed;pointer-events:none;color:color-mix(in srgb, var(--pop-foreground) 35%, transparent)!important;background-color:#0000!important;border-color:#0000!important}.btn:focus-visible{outline-offset:2px;outline:2px solid}}`,ce=`@layer components{.mask{-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mask-squircle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M 0 80 C 0 14.12 14.12 0 80 0 C 145.88 0 160 14.12 160 80 C 160 145.88 145.88 160 80 160 C 14.12 160 0 145.88 0 80 Z'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M 0 80 C 0 14.12 14.12 0 80 0 C 145.88 0 160 14.12 160 80 C 160 145.88 145.88 160 80 160 C 14.12 160 0 145.88 0 80 Z'/%3e%3c/svg%3e")}}`,D=!1,O=new Set,k=null,A=null;function j(){if(typeof window>`u`||typeof document>`u`)return!1;let e=document.documentElement.classList.contains(`dark`)||document.body.classList.contains(`dark`),t=document.documentElement.classList.contains(`light`)||document.body.classList.contains(`light`);return e?!0:t?!1:(A||=window.matchMedia(`(prefers-color-scheme: dark)`),A.matches)}function M(){let e=j();e!==D&&(D=e,O.forEach(e=>{let t=D||!!e.closest(`.dark`);e.classList.toggle(`dark`,t)}))}var N=()=>{M()};function le(e){if(typeof window>`u`||typeof document>`u`)return;O.size===0&&(D=j(),k=new MutationObserver(()=>{M()}),k.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),k.observe(document.body,{attributes:!0,attributeFilter:[`class`]}),A=window.matchMedia(`(prefers-color-scheme: dark)`),A.addEventListener(`change`,N)),O.add(e);let t=D||!!e.closest(`.dark`);e.classList.toggle(`dark`,t)}function ue(e){O.delete(e),O.size===0&&(k&&=(k.disconnect(),null),A&&=(A.removeEventListener(`change`,N),null))}function P(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var de=P(oe),fe=P(se),pe=P(ce),F=class extends HTMLElement{get styleSheets(){return[]}constructor(){super(),this.baseStyleSheets=[de,fe,pe],this._hasRendered=!1,this._disposables=[],this.events={},this.attachShadow({mode:`open`}),this.shadowRoot&&(this.shadowRoot.adoptedStyleSheets=this.styles)}attributeChangedCallback(e,t,n){if(t===n)return;let r=`on${e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}Changed`;typeof this[r]==`function`&&this[r](n,t)}addEffect(t){this._disposables.push((0,e.effect)(t))}connectedCallback(){le(this),(0,e.untracked)(()=>{this.render(),this._bindEvents(),this.setupEffects()})}disconnectedCallback(){ue(this),this._disposables.forEach(e=>e()),this._disposables=[]}_bindEvents(){let e=this.shadowRoot;e&&Object.keys(this.events).forEach(t=>{e.addEventListener(t,this)})}handleEvent(e){let t=this.events[e.type];t&&typeof this[t]==`function`&&this[t](e)}emit(e,t={}){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,...t}))}get styles(){return[...this.baseStyleSheets,...this.styleSheets]}setupEffects(){}render(){this.shadowRoot&&(this.shadowRoot.innerHTML=this.getTemplate(),this._hasRendered=!0)}hideElement(e,t,n=!0){if(!this.shadowRoot||!this._hasRendered)return;let r=this.shadowRoot.querySelector(e);if(!r){console.warn(`Element not found for selector: ${e}`);return}n?r.classList.toggle(`hidden`,t):r.classList.toggle(`invisible`,t)}setText(e,t){let n=this.shadowRoot?.querySelector(e);n&&n.textContent!==String(t)&&(n.textContent=String(t))}setAttr(e,t,n){let r=this.shadowRoot?.querySelector(e);r&&(n===null?r.removeAttribute(t):r.getAttribute(t)!==n&&r.setAttribute(t,n))}toggleClass(e,t,n){let r=this.shadowRoot?.querySelector(e);r&&r.classList.toggle(t,n)}getElement(e){return this.shadowRoot?.querySelector(e)??null}};function I(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var me=P(`
1
+ let e=require("@floating-ui/dom"),t=require("@preact/signals-core");function n(e){return e?e.split(` `).map(e=>e[0]??``).join(``).toUpperCase().slice(0,2):`?`}function r(e,t,n){let r=Math.min(t*2**e,n);return Math.floor(Math.random()*r)}var i=`/embed/auth/login`,a=`popgrids-auth`,o=`popup,width=480,height=640`,s=300*1e3,c=250,l=class extends Error{constructor(e){super(e),this.name=`PopupAuthError`}},u=class extends l{constructor(e=`Sign-in was cancelled`){super(e),this.name=`PopupAuthCancelledError`}},d=(e,t,n)=>{let r=new URL(i,e);return r.searchParams.set(`publicKey`,t),r.searchParams.set(`returnOrigin`,n),r.toString()},f=(e,t)=>{let n=window.open(d(e,t,window.location.origin),a,o);if(!n)throw new l(`Popup blocked. Allow popups for this site and try again.`);return n},p=(e,t)=>typeof e==`object`&&!!e&&`type`in e&&`source`in e&&e.type===t&&e.source===`popgrids-embed`,ee=e=>{if(typeof e!=`object`||!e||!(`user`in e))return null;let t=e,n=t.user;if(typeof n!=`object`||!n||!(`id`in n))return null;let r=n;return typeof r.id!=`string`||typeof t.token!=`string`||typeof t.expiresAt!=`number`?null:{user:{id:r.id,name:typeof r.name==`string`?r.name:``,email:typeof r.email==`string`?r.email:``,image:typeof r.image==`string`?r.image:null},token:t.token,expiresAt:t.expiresAt}},m=(e,t,n)=>new Promise((r,i)=>{let a=new URL(e).origin,o=!1,d=(e,t)=>{if(!o){if(o=!0,te(),e===`resolve`){r();return}i(t??new l(`Sign-in failed`))}},f=e=>{if(e.origin===a){if(p(e.data,`popgrids:auth:success`)){let t=ee(e.data);if(!t){d(`reject`,new l(`Sign-in failed`));return}n?.onAuthSuccess?.(t),d(`resolve`);return}p(e.data,`popgrids:auth:error`)&&d(`reject`,new l(typeof e.data==`object`&&e.data!==null&&`error`in e.data&&typeof e.data.error==`string`?e.data.error:`Sign-in failed`))}},m=window.setInterval(()=>{!t.closed||o||(clearInterval(m),window.setTimeout(()=>{o||d(`reject`,new u)},c))},300),h=window.setTimeout(()=>{try{t.close()}catch{}d(`reject`,new l(`Sign-in timed out`))},s),te=()=>{window.removeEventListener(`message`,f),clearInterval(m),clearTimeout(h)};window.addEventListener(`message`,f)}),h=async(e,t,n)=>{await m(e,f(e,t),n)},te=`X-PopGrids-Embed-Token`,ne=300*1e3,re=`OTP_EXPIRED`,ie=`TOO_MANY_ATTEMPTS`,ae=`INVALID_OTP`,g=`Dismiss`,oe=60,_=`Can’t reach PopGrids. Check your connection and try again.`,se=3e4,v=e=>`popgrids:embed-session:${e}`,y=e=>typeof e==`object`&&!!e&&typeof e.token==`string`&&typeof e.expiresAt==`number`&&!!e.user,b=class e{static{this.instances=new Set}static{this.syncing=!1}applyExternalChange(e){if(e===null){this.currentUser.value&&this.handleSignedOut();return}try{let t=JSON.parse(e);y(t)&&t.expiresAt>Date.now()&&this.writeStoredSession(t)}catch{}}notifySiblings(t){if(!e.syncing){e.syncing=!0;try{for(let n of e.instances)n!==this&&n.publicKey===this.publicKey&&n.applyExternalChange(t)}finally{e.syncing=!1}}}constructor(n){this.currentUser=(0,t.signal)(null),this.authError=(0,t.signal)(null),this.authErrorAction=(0,t.signal)(g),this.authNoticeDismissals=(0,t.signal)(0),this.authErrorRetryAt=(0,t.signal)(null),this.authPending=(0,t.signal)(!1),this.organizations=(0,t.signal)([]),this.organizationsLoading=(0,t.signal)(!1),this.authView=(0,t.signal)(`idle`),this.otpEmail=(0,t.signal)(``),this.otpPending=(0,t.signal)(!1),this.otpError=(0,t.signal)(null),this.otpExpiresAt=(0,t.signal)(null),this.authSocket=null,this.authReconnectAttempt=0,this.authReconnectTimer=null,this.destroyed=!1,this.onStorageEvent=e=>{e.storageArea!==window.localStorage||e.key!==v(this.publicKey)||this.applyExternalChange(e.newValue)},this.resolveInlineSignIn=null,this.inlineSignInPromise=null,this.apiUrl=n.apiUrl,this.publicKey=n.publicKey,this.session=this.readStoredSession(),this.currentUser.value=this.session?.user??null,window.addEventListener(`storage`,this.onStorageEvent),e.instances.add(this)}destroy(){this.destroyed=!0,this.closeAuthChannel(),window.removeEventListener(`storage`,this.onStorageEvent),e.instances.delete(this)}readStoredSession(){try{let e=window.localStorage.getItem(v(this.publicKey));if(!e)return null;let t=JSON.parse(e);return y(t)?t.expiresAt<=Date.now()?(this.clearStoredSession(),null):t:null}catch{return null}}persistSession(e){this.session=e;try{window.localStorage.setItem(v(this.publicKey),JSON.stringify(e))}catch{}this.notifySiblings(JSON.stringify(e))}writeStoredSession(e){this.persistSession(e),this.currentUser.value=e.user,this.authError.value=null,this.organizations.value=[];let t=this.authSocket!==null||this.authReconnectTimer!==null;this.closeAuthChannel(),t&&this.connectAuthChannel()}clearStoredSession(){this.session=null;try{window.localStorage.removeItem(v(this.publicKey))}catch{}this.notifySiblings(null),this.organizations.value=[],this.closeAuthChannel()}get token(){return this.session?this.session.expiresAt<=Date.now()?(this.handleSignedOut(),null):this.session.token:null}async fetchWithToken(e,t={}){let n=new Headers(t.headers),r=this.token;return r&&n.set(te,r),fetch(new URL(e,this.apiUrl),{...t,headers:n})}async authorizedFetch(e,t={}){let n=await this.fetchWithToken(e,t);if(n.status===401){if(!await this.requestInlineSignIn())return n;n=await this.fetchWithToken(e,t)}return n}async readError(e){try{let t=await e.json();return{message:typeof t.error==`string`&&t.error?t.error:`Something went wrong. Please try again.`,code:typeof t.code==`string`?t.code:void 0,retryAfter:typeof t.retryAfter==`number`?t.retryAfter:void 0}}catch{}return{message:`Something went wrong. Please try again.`}}startEmailSignIn(){this.otpError.value=null,this.authView.value=`email`}backToIdle(){this.otpError.value=null,this.otpEmail.value=``,this.otpExpiresAt.value=null,this.authView.value=`idle`,this.resolveInlineSignIn?.(!1)}backToEmail(){this.otpError.value=null,this.authView.value=`email`}expireOtp(){this.authView.value=`email`,this.otpExpiresAt.value=null,this.otpError.value=null}backToCode(){this.authView.value=`code`}showNoCode(){this.authView.value=`no-code`}async sendOtp(e){this.otpPending.value=!0,this.otpError.value=null;try{let t=await fetch(new URL(`/api/v1/embed/grids/${this.publicKey}/auth/otp/send`,this.apiUrl),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({email:e})});if(!t.ok){let{message:e,retryAfter:n}=await this.readError(t);return t.status===429?this.showRateLimited(n):this.otpError.value=e,!1}return this.otpEmail.value=e,this.otpExpiresAt.value=Date.now()+ne,this.authView.value=`code`,!0}catch{return this.showAuthError(_),!1}finally{this.otpPending.value=!1}}async resendOtp(){return this.otpEmail.value?this.sendOtp(this.otpEmail.value):!1}async verifyOtp(e){this.otpPending.value=!0,this.otpError.value=null;try{let t=await fetch(new URL(`/api/v1/embed/grids/${this.publicKey}/auth/otp/verify`,this.apiUrl),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({email:this.otpEmail.value,otp:e})});if(!t.ok){let{message:e,code:n,retryAfter:r}=await this.readError(t);return t.status===429?this.showRateLimited(r):n===ie?(this.expireOtp(),this.showAuthError(`Too many attempts.`,`Request a new code`)):n===re?this.expireOtp():n===ae?this.otpError.value=`Invalid code`:this.otpError.value=e,!1}let n=await t.json();return this.writeStoredSession(n),this.authView.value=`idle`,this.otpEmail.value=``,this.otpExpiresAt.value=null,this.resolveInlineSignIn?.(!0),!0}catch{return this.showAuthError(_),!1}finally{this.otpPending.value=!1}}async requestSignIn(){this.authError.value=null,this.authPending.value=!0;try{return await h(this.apiUrl,this.publicKey,{onAuthSuccess:({user:e,token:t,expiresAt:n})=>{this.writeStoredSession({token:t,expiresAt:n,user:e})}}),this.currentUser.value!==null}catch(e){return e instanceof u||this.showAuthError(e instanceof Error?e.message:`Sign-in failed`),!1}finally{this.authPending.value=!1}}requestInlineSignIn(){return this.inlineSignInPromise?this.inlineSignInPromise:(this.startEmailSignIn(),this.inlineSignInPromise=new Promise(e=>{this.resolveInlineSignIn=t=>{this.inlineSignInPromise=null,this.resolveInlineSignIn=null,e(t)}}),this.inlineSignInPromise)}showAuthError(e,t=g,n){this.authErrorAction.value=t,this.authErrorRetryAt.value=n===void 0?null:Date.now()+n*1e3,this.authError.value=e}showRateLimited(e){this.showAuthError(`Too many requests.`,g,e??oe)}dismissAuthError(){this.clearAuthError(),this.authNoticeDismissals.value+=1}clearAuthError(){this.authError.value=null}async loadOrganizations(){if(!this.currentUser.value){this.organizations.value=[];return}if(!this.organizationsLoading.value){this.organizationsLoading.value=!0;try{let e=await this.fetchWithToken(`/api/v1/embed/grids/${this.publicKey}/auth/organizations`);if(!e.ok)return;let t=await e.json();this.organizations.value=t.organizations}catch{}finally{this.organizationsLoading.value=!1}}}async switchOrganization(e){let t=await this.fetchWithToken(`/api/v1/embed/grids/${this.publicKey}/auth/organizations/${e}`,{method:`POST`});if(!t.ok)return t.status===401&&this.handleSignedOut(),!1;let n=await t.json();return this.currentUser.value=n.user,this.session&&this.persistSession({...this.session,user:n.user}),!0}async signOutEverywhere(){let e=await this.fetchWithToken(`/api/v1/embed/grids/${this.publicKey}/auth/sign-out`,{method:`POST`});return e.ok&&this.handleSignedOut({silent:!0}),e.ok}handleSignedOut(e){let t=this.currentUser.value!==null;this.clearStoredSession(),this.currentUser.value=null,this.authView.value=`idle`,t&&!e?.silent&&this.showAuthError(`You were signed out. Sign in again to keep commenting.`)}async connectAuthChannel(){if(this.destroyed||this.authSocket||!this.currentUser.value)return;let e=null,t=!1;try{let n=await this.fetchWithToken(`/api/v1/embed/grids/${this.publicKey}/auth/connect-ticket`,{method:`POST`});if(n.ok){let t=await n.json();e=t.ticket,this.currentUser.value=t.user,this.session&&t.expiresAt&&t.expiresAt!==this.session.expiresAt&&this.persistSession({...this.session,user:t.user,expiresAt:t.expiresAt})}else n.status===401&&(t=!0)}catch{}if(t){this.handleSignedOut();return}if(!e||this.destroyed||!this.currentUser.value){this.scheduleAuthReconnect();return}let n=new URL(`/api/v1/embed/grids/${this.publicKey}/auth/connect`,this.apiUrl);n.protocol=n.protocol===`https:`?`wss:`:`ws:`,n.searchParams.set(`ticket`,e);let r=new WebSocket(n.toString());this.authSocket=r,r.onopen=()=>{this.authReconnectAttempt=0},r.onmessage=e=>{try{JSON.parse(String(e.data)).type===`session.revoked`&&this.handleSignedOut()}catch{}},r.onclose=()=>{this.authSocket=null,!(this.destroyed||!this.currentUser.value)&&this.scheduleAuthReconnect()},r.onerror=()=>{r.close()}}scheduleAuthReconnect(){if(this.destroyed||this.authReconnectTimer||!this.currentUser.value)return;let e=r(this.authReconnectAttempt,1e3,se);this.authReconnectAttempt+=1,this.authReconnectTimer=setTimeout(()=>{this.authReconnectTimer=null,this.connectAuthChannel()},e)}closeAuthChannel(){this.authReconnectTimer&&=(clearTimeout(this.authReconnectTimer),null),this.authSocket&&=(this.authSocket.onopen=null,this.authSocket.onmessage=null,this.authSocket.onclose=null,this.authSocket.onerror=null,this.authSocket.close(),null)}},x=new WeakMap,ce=(e,t,n=t.constructor)=>{let r=x.get(e);r||(r=new Map,x.set(e,r)),r.set(n,t)},le=e=>{x.delete(e)},ue=(e,t)=>{let n=e;for(;n;){let e=x.get(n)?.get(t);if(e)return e;let r=n.getRootNode();if(!(r instanceof ShadowRoot))break;n=r.host}return null};function S(e){return function(t,n){let r=Symbol(`context_`+(e.name||`store`));Object.defineProperty(t,n,{get(){if(this[r])return this[r];let t=ue(this,e);if(!t)throw console.error(`[Context] resolveStore failed! isConnected: ${this.isConnected}`,this),Error(`[Context] Store for key "${e.name||e}" not resolved on <${this.localName}>.`);return this[r]=t,t},enumerable:!0,configurable:!0})}}var de=`@layer base{:host{box-sizing:border-box;color:var(--pop-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--pop-color-brand-midnight-100:oklch(96.58% .0161 262.75);--pop-color-brand-midnight-900:oklch(15% .03 255.43);--pop-color-brand-midnight-800:oklch(19% .05 255.43);--pop-color-brand-ocean-400:oklch(63% .19 255.43);--pop-color-brand-ocean-100:oklch(91% .05 255.43);--pop-color-brand-forest-900:oklch(38.66% .0698 180.75);--pop-color-brand-forest-700:oklch(45% .15 165.43);--pop-color-brand-forest-100:oklch(97% .04 165.43);--pop-color-brand-highlight-400:oklch(88% .25 105.43);--pop-color-brand-pumpkin-500:oklch(62% .18 45.43);--pop-color-brand-pumpkin-200:oklch(89% .08 45.43);--pop-color-brand-lemon-300:oklch(91% .12 85.43);--pop-color-brand-lemon-100:oklch(97% .04 85.43);--pop-duration-bouncy:1s;--pop-duration-card-highlight:.6s;--pop-duration-gentle:.833s;--pop-duration-menu:.4s;--pop-duration-pop-hover:.6s;--pop-duration-pop-text:.3s;--pop-duration-quick:.833s;--pop-duration-slow:1.167s;--pop-ease-bouncy:linear(0, .011, .045 1.3%, .184 2.7%, .911 7.4%, 1.153 9.4%, 1.301 11.2%, 1.342, 1.362 13%, 1.363, 1.355 14.4%, 1.306 16%, 1.028 21%, .939 23%, .89 24.7%, .876, .868 26.4%, .869, .882 29%, .907 30.5%, 1.014 35.9%, 1.038, 1.048 39.8% 41.1%, 1.043 42.5%, .995 49.3%, .987, .983 53.2%, .984 55.9%, 1.002 62.7%, 1.006 66.4%, .998 79.7%, 1);--pop-ease-card-highlight:linear(0, .008, .031 1.8%, .127 3.9%, .671 11.8%, .881 15.5%, .959, 1.02 19.2%, 1.064, 1.093 23.2%, 1.102, 1.108, 1.108, 1.104 28.7%, 1.089 31.4%, 1.038 38.1%, 1.016 41.5%, .999 45.4%, .99 49.6%, .989 55.3%, 1.001 74.9%, 1);--pop-ease-gentle:linear(0, .007, .026, .059 4.5%, .106 6.3%, .209 9.5%, .558 19.3%, .658, .742, .812, .87, .918, .957, .986 41.6%, 1.007 45.3%, 1.021 49.4%, 1.027 54% 60.9%, 1.007 83.2%, 1);--pop-ease-menu:linear(0, .0034 0.81%, .0278 2.42%, .097 4.84%, .5361 15.32%, .655 18.55%, .7314, .7964 23.39%, .8662, .9185, .9561, .9818, .9984, 1.0083 42.74%, 1.014 46.77%, 1.0145 53.22%, 1.0053 68.55%, 1.0019 77.42%, .9998 100%);--pop-ease-pop-hover:linear(0, .008, .031 1.8%, .127 3.9%, .671 11.8%, .881 15.5%, .959, 1.02 19.2%, 1.064, 1.093 23.2%, 1.102, 1.108, 1.108, 1.104 28.7%, 1.089 31.4%, 1.038 38.1%, 1.016 41.5%, .999 45.4%, .99 49.6%, .989 55.3%, 1.001 74.9%, 1);--pop-ease-pop-text:linear(0, .0051 0.99%, .0261, .0607 3.61%, .1192 5.26%, .2531 8.21%, .6509 16.1%, .7652 18.73%, .8512, .9232 23.33%, .9881 25.96%, 1.0305 28.26%, 1.0642 30.88%, 1.0782 32.53%, 1.089, 1.094 36.47%, 1.0942, 1.0896 41.07%, 1.0804 43.7%, 1.0354 53.23%, 1.0181 57.5%, 1.0061 61.44%, .9974 65.71%, .9925 70.31%, .991 75.9%, .9996 99.88%);--pop-ease-quick:linear(0, .008, .031 1.8%, .127 3.9%, .671 11.8%, .881 15.5%, .959, 1.02 19.2%, 1.064, 1.093 23.2%, 1.102, 1.108, 1.108, 1.104 28.7%, 1.089 31.4%, 1.038 38.1%, 1.016 41.5%, .999 45.4%, .99 49.6%, .989 55.3%, 1.001 74.9%, 1);--pop-ease-slow:linear(0, .005, .02 2%, .081 4.5%, .469 15.2%, .567, .65, .722 24.4%, .784, .835 31.1%, .878 34.9%, .914 39.1%, .942 43.8%, .964 49.1%, .979 55.4%, .989 62.4%, .995 71.1%, 1);--pop-shadow-xs:0px 1px 2px 0px #1018280d;--pop-shadow-sm:0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f;--pop-shadow-md:0px 4px 8px -2px #1018281a, 0px 2px 4px -2px #1018280f;--pop-shadow-lg:0px 12px 16px -4px #10182814, 0px 4px 6px -2px #10182808;--pop-shadow-xl:0px 20px 24px -4px #10182814, 0px 8px 8px -4px #10182808;--pop-shadow-2xl:0px 24px 48px -12px #1018282e;--pop-shadow-3xl:0px 32px 48px -12px #10182852;--pop-shadow-4xl:0px 24px 32px -12px #10182847;--pop-radius-none:0;--pop-radius-xxs:.125rem;--pop-radius-xs:.25rem;--pop-radius-sm:.375rem;--pop-radius-md:.5rem;--pop-radius-lg:.625rem;--pop-radius-xl:.75rem;--pop-radius-2xl:1rem;--pop-radius-3xl:1.25rem;--pop-radius-4xl:1.5rem;--pop-radius-full:9999px;--pop-radius:.625rem;--pop-background:oklch(100% 0 0);--pop-foreground:oklch(0% 0 0);--pop-card:oklch(100% 0 0);--pop-card-foreground:oklch(14.5% 0 0);--pop-popover:oklch(100% 0 0);--pop-popover-foreground:oklch(0% 0 0);--pop-primary:var(--pop-color-brand-forest-900);--pop-primary-foreground:oklch(98.5% 0 0);--pop-secondary:oklch(97% 0 0);--pop-secondary-foreground:oklch(20.5% 0 0);--pop-muted:oklch(97% 0 0);--pop-muted-foreground:oklch(71.52% .0233 256.76);--pop-accent:oklch(97% 0 0);--pop-accent-foreground:oklch(20.5% 0 0);--pop-destructive:var(--color-error-600);--pop-border:oklch(11.01% .0763 264.05/.102);--pop-input:oklch(92.2% 0 0);--pop-ring:oklch(53.67% .2286 262.17);--pop-chart-1:oklch(64.6% .222 41.116);--pop-chart-2:oklch(60% .118 184.704);--pop-chart-3:oklch(39.8% .07 227.392);--pop-chart-4:oklch(82.8% .189 84.429);--pop-chart-5:oklch(76.9% .188 70.08);--pop-sidebar:oklch(98.5% 0 0);--pop-sidebar-foreground:oklch(14.5% 0 0);--pop-sidebar-primary:oklch(20.5% 0 0);--pop-sidebar-primary-foreground:oklch(98.5% 0 0);--pop-sidebar-accent:oklch(97% 0 0);--pop-sidebar-accent-foreground:oklch(20.5% 0 0);--pop-sidebar-border:oklch(92.2% 0 0);--pop-sidebar-ring:oklch(70.8% 0 0);font-family:Inter,sans-serif;font-size:16px}@media (prefers-color-scheme:dark){:host{--pop-background:oklch(15% .03 255.43);--pop-foreground:oklch(66% .006 255.43);--pop-card:oklch(20.5% 0 0);--pop-card-foreground:oklch(98.5% 0 0);--pop-popover:oklch(15% .03 255.43);--pop-popover-foreground:oklch(66% .006 255.43);--pop-primary:oklch(92.2% 0 0);--pop-primary-foreground:oklch(20.5% 0 0);--pop-secondary:oklch(26.9% 0 0);--pop-secondary-foreground:oklch(98.5% 0 0);--pop-muted:oklch(26.9% 0 0);--pop-muted-foreground:oklch(66% .006 255.43);--pop-accent:oklch(26.9% 0 0);--pop-accent-foreground:oklch(98.5% 0 0);--pop-destructive:var(--color-error-400);--pop-border:oklch(100% 0 0/.1);--pop-input:oklch(100% 0 0/.15);--pop-ring:oklch(53.67% .2286 262.17);--pop-chart-1:oklch(48.8% .243 264.376);--pop-chart-2:oklch(69.6% .17 162.48);--pop-chart-3:oklch(76.9% .188 70.08);--pop-chart-4:oklch(62.7% .265 303.9);--pop-chart-5:oklch(64.5% .246 16.439);--pop-sidebar:oklch(20.5% 0 0);--pop-sidebar-foreground:oklch(98.5% 0 0);--pop-sidebar-primary:oklch(48.8% .243 264.376);--pop-sidebar-primary-foreground:oklch(98.5% 0 0);--pop-sidebar-accent:oklch(26.9% 0 0);--pop-sidebar-accent-foreground:oklch(98.5% 0 0);--pop-sidebar-border:oklch(100% 0 0/.1);--pop-sidebar-ring:oklch(55.6% 0 0)}}:host(.dark){--pop-background:oklch(15% .03 255.43);--pop-foreground:oklch(66% .006 255.43);--pop-card:oklch(20.5% 0 0);--pop-card-foreground:oklch(98.5% 0 0);--pop-popover:oklch(15% .03 255.43);--pop-popover-foreground:oklch(66% .006 255.43);--pop-primary:oklch(92.2% 0 0);--pop-primary-foreground:oklch(20.5% 0 0);--pop-secondary:oklch(26.9% 0 0);--pop-secondary-foreground:oklch(98.5% 0 0);--pop-muted:oklch(26.9% 0 0);--pop-muted-foreground:oklch(66% .006 255.43);--pop-accent:oklch(26.9% 0 0);--pop-accent-foreground:oklch(98.5% 0 0);--pop-destructive:var(--color-error-400);--pop-border:oklch(100% 0 0/.1);--pop-input:oklch(100% 0 0/.15);--pop-ring:oklch(53.67% .2286 262.17);--pop-chart-1:oklch(48.8% .243 264.376);--pop-chart-2:oklch(69.6% .17 162.48);--pop-chart-3:oklch(76.9% .188 70.08);--pop-chart-4:oklch(62.7% .265 303.9);--pop-chart-5:oklch(64.5% .246 16.439);--pop-sidebar:oklch(20.5% 0 0);--pop-sidebar-foreground:oklch(98.5% 0 0);--pop-sidebar-primary:oklch(48.8% .243 264.376);--pop-sidebar-primary-foreground:oklch(98.5% 0 0);--pop-sidebar-accent:oklch(26.9% 0 0);--pop-sidebar-accent-foreground:oklch(98.5% 0 0);--pop-sidebar-border:oklch(100% 0 0/.1);--pop-sidebar-ring:oklch(55.6% 0 0)}*,:before,:after{box-sizing:inherit}html,body{margin:0;padding:0}svg{display:block}strong{font-weight:600}p{margin:0;padding:0}button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.m-0{margin:0}.text-heading{font-feature-settings:"liga" off, "clig" off;letter-spacing:-.08px;text-align:center;align-self:stretch;max-width:320px;font-size:13px;font-style:normal;font-weight:600;line-height:18px}.text-xs{font-size:12px;line-height:18px}.w-full{width:100%}}`,fe=`@layer components{.btn{background-color:var(--pop-primary);color:var(--pop-primary-foreground);cursor:pointer;text-align:center;border:0;border-radius:4px;justify-content:center;align-items:center;gap:.625rem;height:auto;padding:.625rem 1.25rem;font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px;transition:background-color .2s,color .2s;display:flex}.btn:focus-visible{outline:2px solid var(--pop-ring);outline-offset:2px}}`,pe=`@layer components{.mask{-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mask-squircle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M 0 80 C 0 14.12 14.12 0 80 0 C 145.88 0 160 14.12 160 80 C 160 145.88 145.88 160 80 160 C 14.12 160 0 145.88 0 80 Z'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M 0 80 C 0 14.12 14.12 0 80 0 C 145.88 0 160 14.12 160 80 C 160 145.88 145.88 160 80 160 C 14.12 160 0 145.88 0 80 Z'/%3e%3c/svg%3e")}}`,C=!1,w=new Set,T=null,E=null;function D(){if(typeof window>`u`||typeof document>`u`)return!1;let e=document.documentElement.classList.contains(`dark`)||document.body.classList.contains(`dark`),t=document.documentElement.classList.contains(`light`)||document.body.classList.contains(`light`);return e?!0:t?!1:(E||=window.matchMedia(`(prefers-color-scheme: dark)`),E.matches)}function O(){let e=D();e!==C&&(C=e,w.forEach(e=>{let t=C||!!e.closest(`.dark`);e.classList.toggle(`dark`,t)}))}var k=()=>{O()};function me(e){if(typeof window>`u`||typeof document>`u`)return;w.size===0&&(C=D(),T=new MutationObserver(()=>{O()}),T.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),T.observe(document.body,{attributes:!0,attributeFilter:[`class`]}),E=window.matchMedia(`(prefers-color-scheme: dark)`),E.addEventListener(`change`,k)),w.add(e);let t=C||!!e.closest(`.dark`);e.classList.toggle(`dark`,t)}function he(e){w.delete(e),w.size===0&&(T&&=(T.disconnect(),null),E&&=(E.removeEventListener(`change`,k),null))}function A(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var ge=A(de),_e=A(fe),ve=A(pe),j=class extends HTMLElement{get styleSheets(){return[]}constructor(){super(),this.baseStyleSheets=[ge,_e,ve],this._hasRendered=!1,this._disposables=[],this.events={},this.attachShadow({mode:`open`}),this.shadowRoot&&(this.shadowRoot.adoptedStyleSheets=this.styles)}attributeChangedCallback(e,t,n){if(t===n)return;let r=`on${e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}Changed`;typeof this[r]==`function`&&this[r](n,t)}addEffect(e){this._disposables.push((0,t.effect)(e))}connectedCallback(){me(this),(0,t.untracked)(()=>{this.render(),this._bindEvents(),this.setupEffects()})}disconnectedCallback(){he(this),this._disposables.forEach(e=>e()),this._disposables=[]}_bindEvents(){let e=this.shadowRoot;e&&Object.keys(this.events).forEach(t=>{e.addEventListener(t,this)})}handleEvent(e){let t=this.events[e.type];t&&typeof this[t]==`function`&&this[t](e)}emit(e,t={}){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,...t}))}get styles(){return[...this.baseStyleSheets,...this.styleSheets]}setupEffects(){}render(){this.shadowRoot&&(this.shadowRoot.innerHTML=this.getTemplate(),this._hasRendered=!0)}hideElement(e,t,n=!0){if(!this.shadowRoot||!this._hasRendered)return;let r=this.shadowRoot.querySelector(e);if(!r){console.warn(`Element not found for selector: ${e}`);return}n?r.classList.toggle(`hidden`,t):r.classList.toggle(`invisible`,t)}setText(e,t){let n=this.shadowRoot?.querySelector(e);n&&n.textContent!==String(t)&&(n.textContent=String(t))}setAttr(e,t,n){let r=this.shadowRoot?.querySelector(e);r&&(n===null?r.removeAttribute(t):r.getAttribute(t)!==n&&r.setAttribute(t,n))}toggleClass(e,t,n){let r=this.shadowRoot?.querySelector(e);r&&r.classList.toggle(t,n)}getElement(e){return this.shadowRoot?.querySelector(e)??null}},M=e=>`[data-ref="${e}"]`;function N(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var ye=A(`
2
2
  :host {
3
3
  display: block;
4
- position: relative;
5
4
 
6
- --pop-auth-border: var(--pop-border, rgba(0, 0, 32, 0.04));
7
- --pop-auth-watermark: rgba(0, 0, 32, 0.4);
8
- --pop-auth-btn: #000000;
9
- --pop-auth-logo: rgba(0, 0, 32, 0.35);
10
- --pop-auth-error: #dc2626;
5
+ --pop-switcher-hover: rgba(0, 0, 32, 0.04);
11
6
  }
12
7
 
13
8
  @media (prefers-color-scheme: dark) {
14
9
  :host {
15
- --pop-auth-border: var(--pop-border, rgba(255, 255, 255, 0.1));
16
- --pop-auth-watermark: rgba(255, 255, 255, 0.4);
17
- --pop-auth-btn: #ffffff;
18
- --pop-auth-logo: rgba(255, 255, 255, 0.35);
19
- --pop-auth-error: var(--pop-destructive, #f87171);
10
+ --pop-switcher-hover: rgba(255, 255, 255, 0.06);
20
11
  }
21
12
  }
22
13
 
23
14
  :host(.dark) {
24
- --pop-auth-border: var(--pop-border, rgba(255, 255, 255, 0.1));
25
- --pop-auth-watermark: rgba(255, 255, 255, 0.4);
26
- --pop-auth-btn: #ffffff;
27
- --pop-auth-logo: rgba(255, 255, 255, 0.35);
28
- --pop-auth-error: var(--pop-destructive, #f87171);
15
+ --pop-switcher-hover: rgba(255, 255, 255, 0.06);
29
16
  }
30
17
 
31
- .panel {
18
+ .switcher {
32
19
  position: relative;
33
- border-top: 1px solid var(--pop-auth-border);
34
20
  }
35
21
 
36
- .watermark {
37
- position: absolute;
38
- top: -16px;
39
- left: 8px;
40
- font-family: Inter, sans-serif;
41
- font-size: 8px;
42
- font-weight: 700;
43
- letter-spacing: 1px;
44
- color: var(--pop-auth-watermark);
45
- text-transform: uppercase;
46
- backdrop-filter: blur(4px);
22
+ .switcher__trigger {
23
+ background: none;
47
24
  border-radius: 9999px;
48
- padding: 2px 6px;
25
+ border: none;
26
+ cursor: pointer;
27
+ display: block;
28
+ padding: 0;
29
+ }
30
+
31
+ .switcher__dropdown {
32
+ /* Overridden inline once floating-ui resolves an actual side (see
33
+ openDropdown) — these defaults match this trigger's common case: an
34
+ avatar near the bottom of the widget, menu opening upward above it. */
35
+ --switcher-origin: bottom left;
36
+ --switcher-slide-y: 6px;
37
+
38
+ background-color: var(--pop-background);
39
+ border-radius: 6px;
40
+ box-shadow: var(--pop-shadow-xl);
41
+ display: flex;
42
+ flex-direction: column;
43
+ font-family: Inter, sans-serif;
44
+ gap: 2px;
45
+ opacity: 0;
46
+ padding: 6px;
49
47
  pointer-events: none;
48
+ position: fixed;
49
+ transform: scale(0.95) translateY(var(--switcher-slide-y));
50
+ transform-origin: var(--switcher-origin);
51
+ transition:
52
+ opacity var(--pop-duration-quick) var(--pop-ease-quick),
53
+ transform var(--pop-duration-quick) var(--pop-ease-quick),
54
+ visibility 0s linear var(--pop-duration-quick);
55
+ visibility: hidden;
56
+ width: 200px;
57
+ z-index: 1000;
58
+ }
59
+
60
+ .switcher__dropdown.is-open {
61
+ opacity: 1;
62
+ pointer-events: auto;
63
+ transform: scale(1) translateY(0);
64
+ transition:
65
+ opacity var(--pop-duration-quick) var(--pop-ease-quick),
66
+ transform var(--pop-duration-quick) var(--pop-ease-quick),
67
+ visibility 0s linear 0s;
68
+ visibility: visible;
50
69
  }
51
70
 
52
- .actions {
71
+ .switcher__item {
72
+ align-items: center;
73
+ background: none;
74
+ border-radius: 4px;
75
+ border: none;
76
+ color: var(--pop-foreground);
77
+ cursor: pointer;
53
78
  display: flex;
79
+ font-size: 13px;
80
+ font-weight: 500;
81
+ gap: 8px;
82
+ overflow: hidden;
83
+ padding: 6px 8px;
84
+ text-align: left;
85
+ text-overflow: ellipsis;
86
+ white-space: nowrap;
87
+ width: 100%;
88
+ }
89
+
90
+ .switcher__item:hover {
91
+ background-color: var(--pop-switcher-hover);
92
+ }
93
+
94
+ .switcher__item.is-active {
95
+ font-weight: 700;
96
+ }
97
+
98
+ .switcher__divider {
99
+ background-color: var(--pop-border);
100
+ height: 1px;
101
+ margin: 4px 2px;
102
+ }
103
+
104
+ .switcher__item--sign-out {
105
+ color: var(--pop-destructive);
106
+ }
107
+
108
+ .switcher__loading {
54
109
  align-items: center;
55
- justify-content: space-between;
56
- padding: 16px;
110
+ color: var(--pop-muted-foreground);
111
+ display: flex;
112
+ font-size: 13px;
113
+ font-weight: 500;
114
+ gap: 8px;
115
+ padding: 6px 8px;
116
+ }
117
+
118
+ .switcher__spinner {
119
+ animation: pop-switcher-spin 0.6s linear infinite;
120
+ border: 2px solid var(--pop-border);
121
+ border-radius: 9999px;
122
+ border-top-color: var(--pop-foreground);
123
+ flex-shrink: 0;
124
+ height: 12px;
125
+ width: 12px;
57
126
  }
58
127
 
59
- .join-btn {
128
+ @keyframes pop-switcher-spin {
129
+ to {
130
+ transform: rotate(360deg);
131
+ }
132
+ }
133
+ `),P=class extends j{constructor(...e){super(...e),this.events={click:`onClick`},this._dropdownOpen=!1,this._onOutsideClick=e=>{let t=e.composedPath(),n=this.getElement(M(`dropdown`)),r=this.getElement(M(`trigger`));n&&r&&!t.includes(n)&&!t.includes(r)&&this.closeDropdown()}}get styleSheets(){return[ye]}disconnectedCallback(){this.closeDropdown(),super.disconnectedCallback()}setupEffects(){this.addEffect(()=>{let e=this.authStore.currentUser.value,t=this.authStore.organizations.value,r=this.getElement(M(`avatar`));if(r&&(r.setAttribute(`data-color-key`,e?.id??e?.name??``),r.innerHTML=e?.image?`<img src="${e.image}" alt="${e.name??`User`}'s avatar">`:n(e?.name)),!e){this.closeDropdown();return}let i=this.authStore.organizationsLoading.value,a=this.getElement(M(`dropdown`));a&&(a.innerHTML=`
134
+ ${t.length===0&&i?`<div class="switcher__loading"><span class="switcher__spinner"></span>Loading accounts…</div>`:t.map(t=>`
135
+ <button class="switcher__item${t.id===e.id?` is-active`:``}" data-ref="item" type="button" data-org-id="${t.id}">
136
+ ${t.name}
137
+ </button>
138
+ `).join(``)}
139
+ ${t.length>0?`<div class="switcher__divider"></div>`:``}
140
+ <button class="switcher__item switcher__item--sign-out" data-ref="item" type="button" data-action="sign-out">Sign out</button>
141
+ `)})}toggleDropdown(){this._dropdownOpen?this.closeDropdown():this.openDropdown()}openDropdown(){if(!this.authStore.currentUser.value)return;this.authStore.organizations.value.length===0&&this.authStore.loadOrganizations(),this._dropdownOpen=!0;let t=this.getElement(M(`dropdown`)),n=this.getElement(M(`trigger`));if(t&&n){t.classList.add(`is-open`);let r=()=>{(0,e.computePosition)(n,t,{placement:`bottom-start`,middleware:[(0,e.offset)(4),(0,e.flip)(),(0,e.shift)({padding:8})],strategy:`fixed`}).then(({x:e,y:n,placement:r})=>{Object.assign(t.style,{left:`${e}px`,top:`${n}px`,position:`fixed`});let i=r.startsWith(`top`);t.style.setProperty(`--switcher-origin`,i?`bottom left`:`top left`),t.style.setProperty(`--switcher-slide-y`,i?`6px`:`-6px`)})};this._floatingCleanup=(0,e.autoUpdate)(n,t,r),document.addEventListener(`mousedown`,this._onOutsideClick)}}closeDropdown(){this._dropdownOpen=!1;let e=this.getElement(M(`dropdown`));e&&e.classList.remove(`is-open`),this._floatingCleanup&&=(this._floatingCleanup(),void 0),document.removeEventListener(`mousedown`,this._onOutsideClick)}onClick(e){let t=e.target;if(t.closest(M(`trigger`))){e.stopPropagation(),this.toggleDropdown();return}let n=t.closest(M(`item`));if(n){if(e.stopPropagation(),this.closeDropdown(),n.getAttribute(`data-action`)===`sign-out`){this.authStore.signOutEverywhere();return}let t=n.getAttribute(`data-org-id`);t&&this.authStore.switchOrganization(t)}}getTemplate(){return`
142
+ <div class="switcher">
143
+ <button
144
+ class="switcher__trigger"
145
+ data-ref="trigger"
146
+ type="button"
147
+ aria-label="Account options"
148
+ >
149
+ <pop-comment-avatar size="xs" data-ref="avatar"></pop-comment-avatar>
150
+ </button>
151
+ <div class="switcher__dropdown" data-ref="dropdown"></div>
152
+ </div>
153
+ `}};N([S(b)],P.prototype,`authStore`,void 0),customElements.get(`pop-account-switcher`)||customElements.define(`pop-account-switcher`,P);var F=6,be=A(`
154
+ :host {
155
+ border-top: 1px solid var(--pop-sidebar-border);
156
+ display: block;
157
+ padding: 20px 24px;
60
158
  font-family: Inter, sans-serif;
159
+ text-align: center;
160
+ }
161
+
162
+ .code__body {
163
+ align-items: center;
164
+ align-self: stretch;
165
+ display: flex;
166
+ flex-direction: column;
167
+ gap: 8px;
168
+ justify-content: center;
169
+ }
170
+
171
+ .code__container {
172
+ align-items: center;
173
+ display: flex;
174
+ flex-direction: column;
175
+ gap: 16px;
176
+ justify-content: center;
177
+ }
178
+
179
+ .code__heading {
180
+ color: var(--pop-foreground);
181
+ font-feature-settings:
182
+ "liga" off,
183
+ "clig" off;
61
184
  font-size: 13px;
62
185
  font-weight: 600;
63
- color: var(--pop-auth-btn);
64
- background: none;
65
- border: none;
66
- cursor: pointer;
67
- padding: 0;
68
186
  letter-spacing: -0.08px;
69
187
  line-height: 18px;
188
+ margin: 0;
70
189
  }
71
190
 
72
- .join-btn:disabled {
191
+ .code__digits {
192
+ display: flex;
193
+ gap: 6px;
194
+ justify-content: center;
195
+ }
196
+
197
+ .code__digits .code__digit:nth-child(3) {
198
+ margin-right: 10px;
199
+ }
200
+
201
+ .code__digit {
202
+ -webkit-appearance: none;
203
+ appearance: none;
204
+ background: var(--pop-background);
205
+ border-radius: var(--pop-radius-md, 8px);
206
+ border: 1px solid color-mix(in srgb, var(--pop-foreground) 56%, transparent);
207
+ color: var(--pop-foreground);
208
+ font-family: inherit;
209
+ font-size: 24px;
210
+ font-weight: 500;
211
+ height: 40px;
212
+ line-height: 36px;
213
+ text-align: center;
214
+ width: 40px;
215
+ }
216
+
217
+ .code__digit:focus-visible {
218
+ border: 2px solid var(--pop-foreground);
219
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--pop-ring, #155eef) 60%, transparent);
220
+ outline: none;
221
+ }
222
+
223
+ .code__digit:disabled {
73
224
  opacity: 0.6;
74
- cursor: default;
75
225
  }
76
226
 
77
- .logo {
78
- font-family: Inter, sans-serif;
79
- font-size: 9px;
80
- font-weight: 700;
81
- letter-spacing: 1.5px;
82
- color: var(--pop-auth-logo);
83
- text-transform: uppercase;
227
+ .code__copy,
228
+ .code__expiry {
229
+ color: var(--pop-foreground);
230
+ font-size: 12px;
231
+ line-height: 18px;
232
+ margin: 0;
84
233
  }
85
234
 
86
- .error {
87
- padding: 0 16px 12px;
88
- font-family: Inter, sans-serif;
235
+ .code__error {
236
+ color: var(--pop-auth-error, #dc2626);
89
237
  font-size: 12px;
90
238
  line-height: 16px;
91
- color: var(--pop-auth-error);
239
+ }
240
+
241
+ .code__footer {
242
+ align-items: center;
243
+ display: flex;
244
+ justify-content: space-between;
245
+ width: 100%;
246
+ }
247
+
248
+ .code__expiry strong {
249
+ font-weight: 600;
250
+ }
251
+ `),I=class extends j{constructor(...e){super(...e),this.events={input:`onInput`,keydown:`onKeyDown`,click:`onClick`}}get styleSheets(){return[be]}connectedCallback(){super.connectedCallback(),this.getDigitInputs()[0]?.focus()}getDigitInputs(){return Array.from(this.shadowRoot?.querySelectorAll(M(`digit`))??[])}onInput(e){let t=e.target;t.matches(M(`digit`))&&(t.value=t.value.replace(/[^0-9]/g,``).slice(0,1),t.value&&t.nextElementSibling?.focus(),this.maybeSubmit())}onKeyDown(e){let t=e.target;t.matches(M(`digit`))&&e.key===`Backspace`&&!t.value&&t.previousElementSibling?.focus()}onClick(e){let t=e.target;if(t.closest(M(`no-code`))){this.authStore.showNoCode();return}if(t.closest(M(`back`))){this.authStore.backToEmail();return}}maybeSubmit(){let e=this.getDigitInputs().map(e=>e.value);e.some(e=>!e)||this.authStore.verifyOtp(e.join(``))}renderCountdown(e){let t=e-Date.now();if(t<=0)return!0;let n=this.getElement(M(`expiry`));if(!n)return!1;let r=Math.ceil(t/1e3),i=Math.floor(r/60),a=r%60;return n.innerHTML=`Code expires in <strong>${i}:${String(a).padStart(2,`0`)}</strong>`,!1}setupEffects(){let e=this.authStore.authNoticeDismissals.peek();this.addEffect(()=>{let t=this.authStore.authNoticeDismissals.value;t!==e&&(e=t,queueMicrotask(()=>{let e=this.getDigitInputs();(e.find(e=>!e.value)??e[0])?.focus({preventScroll:!0})}))}),this.addEffect(()=>{let e=this.authStore.otpExpiresAt.value;if(!e)return;this.renderCountdown(e);let t=window.setInterval(()=>{this.renderCountdown(e)&&(window.clearInterval(t),this.authStore.expireOtp())},1e3);return()=>window.clearInterval(t)}),this.addEffect(()=>{let e=this.authStore.otpPending.value,t=this.getDigitInputs();t.forEach(t=>{t.disabled=e}),!e&&!this.shadowRoot?.activeElement&&(t.find(e=>!e.value)??t[0])?.focus({preventScroll:!0})}),this.addEffect(()=>{let e=this.authStore.otpError.value,t=this.getElement(M(`error`));if(t&&(t.hidden=!e,t.textContent=e??``),e){let e=this.getDigitInputs();e.forEach(e=>{e.value=``}),e[0]?.focus()}})}getTemplate(){return`
252
+ <div class="code__container" role="group" aria-labelledby="code-title">
253
+ <p class="code__heading" id="code-title">Enter Verification Code</p>
254
+ <div class="code__digits" role="group" aria-labelledby="code-title">${Array.from({length:F}).map((e,t)=>`<input class="code__digit" data-ref="digit" type="text" inputmode="numeric" maxlength="1" autocomplete="one-time-code" aria-label="Digit ${t+1} of ${F}" />`).join(``)}</div>
255
+ <div class="code__body">
256
+ <p class="code__copy">
257
+ A verification code has been sent to your email. Enter code to continue.
258
+ </p>
259
+ <p class="code__expiry" data-ref="expiry" role="timer"></p>
260
+ </div>
261
+ <div class="code__error" data-ref="error" role="alert" hidden></div>
262
+ <div class="code__footer">
263
+ <pop-button-link data-ref="back" size="sm" theme="default">Back</pop-button-link>
264
+ <pop-button-link data-ref="no-code" size="sm" theme="default" primary>
265
+ No verification code?
266
+ </pop-button-link>
267
+ </div>
268
+ </div>
269
+ `}};N([S(b)],I.prototype,`authStore`,void 0),customElements.get(`pop-auth-code`)||customElements.define(`pop-auth-code`,I);var xe=`data:image/png;base64,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`,Se=`data:image/png;base64,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`,L=`<svg
270
+ width="100"
271
+ height="16"
272
+ viewBox="0 0 75 12"
273
+ fill="none"
274
+ xmlns="http://www.w3.org/2000/svg"
275
+ >
276
+ <path
277
+ d="M4.58333 0.265686C1.0463 0.265686 0 2.5714 0 5.47711C0 6.55283 0.115741 7.6114 0.25 8.67426C0.300926 9.08997 0.282407 9.54854 0.365741 9.96426C0.583333 11.0571 1.69444 11.5628 2.77315 11.5628C4.25 11.5628 5.23148 10.7014 5.23148 9.3214C5.23148 8.52426 4.94907 8.0014 4.13426 7.69283C4.08333 7.67569 4.03241 7.66283 4.03241 7.59854C4.03241 7.4914 4.21759 7.41426 4.33333 7.41426C4.73148 7.41426 5.36111 7.78283 5.91204 7.78283C8.06944 7.78283 9.26389 5.86283 9.26389 4.06283C9.26389 1.44854 7.18518 0.265686 4.58333 0.265686ZM4.56481 5.91854C4.43056 5.91854 4.31481 5.8114 4.31481 5.68711C4.31481 5.51997 4.56481 5.39569 4.64815 5.25854C4.8287 4.94997 4.87963 4.42711 4.87963 4.07569C4.87963 3.65997 4.76389 2.89283 4.48148 2.58426C4.39815 2.49426 4.28241 2.44711 4.28241 2.32283C4.28241 2.19854 4.41667 2.0914 4.5463 2.0914C5.11111 2.0914 5.39352 3.62997 5.39352 4.02854C5.39352 4.45711 5.24537 5.91854 4.56481 5.91854Z"
278
+ fill="currentColor"
279
+ />
280
+ <path
281
+ d="M14.9259 0.527108C11.4074 0.527108 9.2963 2.83282 9.2963 5.99568C9.2963 9.15854 11.4028 11.4643 14.9259 11.4643C18.4491 11.4643 20.537 9.12854 20.537 5.99568C20.537 2.86282 18.412 0.527108 14.9259 0.527108ZM15.0787 9.89997C15.0232 9.96425 14.912 10.0843 14.7778 10.0843C14.6435 10.0843 14.5139 9.97711 14.5139 9.85282C14.5139 9.80568 14.9445 9.20568 15.0139 9.02139C15.2778 8.29711 15.3287 7.51282 15.3287 6.74568C15.3287 5.71711 15.1296 4.39282 14.4491 3.54854C14.3148 3.39425 13.9028 3.10282 13.9028 2.93568C13.9028 2.81139 14.0185 2.70425 14.1528 2.70425C14.2685 2.70425 14.3843 2.79854 14.4676 2.85854C15.5278 3.67282 15.8472 5.53282 15.8472 6.74568C15.8472 7.69711 15.8056 9.08568 15.0833 9.89568L15.0787 9.89997Z"
282
+ fill="currentColor"
283
+ />
284
+ <path
285
+ d="M25.375 0.265686C21.838 0.265686 20.7917 2.5714 20.7917 5.47711C20.7917 6.55283 20.9074 7.6114 21.0417 8.67426C21.0926 9.08997 21.0741 9.54854 21.1574 9.96426C21.375 11.0571 22.4861 11.5628 23.5648 11.5628C25.0417 11.5628 26.0231 10.7014 26.0231 9.3214C26.0231 8.52426 25.7407 8.0014 24.9259 7.69283C24.875 7.67569 24.8241 7.66283 24.8241 7.59854C24.8241 7.4914 25.0092 7.41426 25.125 7.41426C25.5231 7.41426 26.1528 7.78283 26.7037 7.78283C28.8611 7.78283 30.0555 5.86283 30.0555 4.06283C30.0555 1.44854 27.9815 0.265686 25.375 0.265686ZM25.3611 5.91854C25.2268 5.91854 25.1111 5.8114 25.1111 5.68711C25.1111 5.51997 25.3611 5.39569 25.4444 5.25854C25.625 4.94997 25.6759 4.42711 25.6759 4.07569C25.6759 3.65997 25.5602 2.89283 25.2778 2.58426C25.1944 2.49426 25.0787 2.44711 25.0787 2.32283C25.0787 2.19854 25.213 2.0914 25.3426 2.0914C25.9074 2.0914 26.1898 3.62997 26.1898 4.02854C26.1898 4.45711 26.0417 5.91854 25.3611 5.91854Z"
286
+ fill="currentColor"
287
+ />
288
+ <path
289
+ d="M37.3843 4.81284C36.1898 4.81284 34.5278 5.31855 34.5278 6.64284C34.5278 7.39713 35.125 8.5157 36.0741 8.5157C36.6713 8.5157 37.0556 8.08713 37.2546 8.08713C37.3056 8.08713 37.3519 8.11713 37.3519 8.16427C37.3519 8.60998 36.4213 8.81141 36.0556 8.81141C34.7778 8.81141 34.0972 7.7957 34.0972 6.71998C34.0972 5.39998 35.4398 4.38427 36.8009 4.38427C37.1991 4.38427 37.6158 4.49141 38.0139 4.49141C39.1945 4.49141 40.0371 3.50998 40.0371 2.46427C40.0371 0.728554 37.8148 0.329982 36.3333 0.329982C32.3982 0.329982 30.1065 2.6957 30.1065 6.29141C30.1065 9.61284 31.9676 11.73 35.6528 11.73C38.0417 11.73 40.6482 10.7786 40.6482 8.19427C40.6482 6.42855 39.4028 4.81284 37.3796 4.81284H37.3843Z"
290
+ fill="currentColor"
291
+ />
292
+ <path
293
+ d="M48.3611 7.42711C48.0602 7.42711 47.8148 7.53426 47.5648 7.53426C47.5139 7.53426 47.5 7.48711 47.5 7.45712C47.5 7.34997 47.5509 7.30283 47.6342 7.27283C47.9167 7.18283 48.2176 7.11854 48.4954 6.99426C49.7592 6.4414 50.5046 5.45569 50.5046 4.15283C50.5046 1.79997 48.3287 0.372829 45.9398 0.372829C45.0741 0.372829 44.2315 0.604257 43.5 0.972829C41.5092 1.9714 41.125 3.40283 41.0092 5.35283C40.9583 6.11997 40.9583 6.8914 40.9583 7.65854V9.51854C40.9583 10.6843 41.787 11.6228 43.0972 11.6228C44.0416 11.6228 44.8889 10.9928 45.1065 10.1614C45.2222 9.66854 45.1574 9.08569 45.1574 8.60997C45.1574 8.56283 45.1759 8.54997 45.2222 8.54997C45.2685 8.54997 45.3241 8.57997 45.3565 8.59711C45.9398 9.90426 46.7361 11.5628 48.5417 11.5628C49.787 11.5628 50.8148 10.7485 50.8148 9.56569C50.8148 8.38283 49.6204 7.4314 48.3565 7.4314L48.3611 7.42711ZM45.6574 5.91854C45.5231 5.91854 45.4074 5.8114 45.4074 5.68711C45.4074 5.51997 45.6574 5.39569 45.7407 5.25854C45.9213 4.94997 45.9722 4.42711 45.9722 4.07569C45.9722 3.65997 45.8565 2.89283 45.5741 2.58426C45.4907 2.49426 45.3935 2.44711 45.3935 2.32283C45.3935 2.19854 45.5092 2.0914 45.6435 2.0914C46.2083 2.0914 46.4907 3.62997 46.4907 4.02854C46.4907 4.45711 46.3565 5.91854 45.662 5.91854H45.6574Z"
294
+ fill="currentColor"
295
+ />
296
+ <path
297
+ d="M54.8056 0.865677C54.4074 0.621391 53.8426 0.497105 53.3611 0.497105C52.3148 0.497105 51.4167 1.26425 51.3009 2.21996C51.2685 2.49853 51.2824 2.75996 51.2824 3.05139V5.66139L51.2315 8.41282V9.77996C51.2315 10.8557 52.2269 11.7 53.375 11.7C54.2222 11.7 55.1528 11.2071 55.4676 10.47C55.6482 10.0542 55.6667 9.47139 55.6667 9.02568V7.82568L55.6852 5.42996V3.03425C55.6852 2.14282 55.6667 1.43568 54.8056 0.865677Z"
298
+ fill="currentColor"
299
+ />
300
+ <path
301
+ d="M58.9445 0.402828C57.25 0.402828 56.4028 1.13997 56.4028 2.7214V3.3514L56.4213 4.59426V5.22426C56.4213 5.69997 56.4213 6.14568 56.4028 6.6214C56.3704 7.1914 56.287 7.75711 56.287 8.34426C56.287 10.4957 57.4815 11.5414 59.7917 11.5414C63.3426 11.5414 65.75 10.1271 65.75 6.60854C65.75 2.36568 63.5417 0.398542 58.9445 0.398542V0.402828ZM60.537 8.9014C60.4028 8.9014 60.287 8.79426 60.287 8.66997C60.287 8.62283 60.3056 8.59283 60.338 8.54568C60.7685 7.88568 60.8843 6.96426 60.8843 6.20997C60.8843 5.50283 60.8009 4.45711 60.3194 3.90426C60.2361 3.77997 60.0695 3.68997 60.0695 3.53569C60.0695 3.4114 60.1852 3.30426 60.3194 3.30426C60.5694 3.30426 60.9167 3.88711 61.0185 4.08854C61.3333 4.76569 61.3843 5.50283 61.3843 6.22283C61.3843 6.66854 61.1343 8.89711 60.537 8.89711V8.9014Z"
302
+ fill="currentColor"
303
+ />
304
+ <path
305
+ d="M73.5046 5.85855C72.5417 5.78141 71.162 5.47284 70.4167 4.88998C70.3194 4.81284 70.1528 4.7057 70.1528 4.56855C70.1528 4.52141 70.1713 4.44427 70.2361 4.44427C70.4167 4.44427 71.5787 5.3057 72.5787 5.3057C73.8426 5.3057 75 4.39713 75 3.20141C75 1.23427 72.1806 0.437125 70.4676 0.437125C67.9259 0.437125 66.037 1.95855 66.037 4.37141C66.037 4.89427 66.1204 5.61427 66.537 6.01713C66.7361 6.21855 67.0694 6.21855 67.3333 6.21855C68.3287 6.21855 69.5926 6.50998 70.1204 7.35427C70.1713 7.43141 70.2176 7.5557 70.2176 7.6457C70.2176 7.6757 70.2176 7.72284 70.1852 7.7057C70.088 7.6757 70.0046 7.59855 69.9352 7.53855C69.3519 7.0157 68.5555 6.49284 67.713 6.49284C66.4491 6.49284 66.0046 7.6157 66.0046 8.59713C66.0046 10.5771 67.9306 11.67 69.8889 11.67C72.213 11.67 75 10.2557 75 7.84284C75 6.95141 74.5833 5.95284 73.5046 5.86284V5.85855Z"
306
+ fill="currentColor"
307
+ />
308
+ </svg>`,Ce=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,we=A(`
309
+ :host {
310
+ display: block;
311
+ padding: 20px 24px;
312
+ border-top: 1px solid var(--pop-sidebar-border);
313
+ background: var(--pop-background);
314
+ }
315
+
316
+ .email__container {
317
+ align-items: center;
318
+ display: flex;
319
+ flex-direction: column;
320
+ gap: 1rem;
321
+ }
322
+
323
+ .email__logo {
324
+ color: var(--pop-foreground);
325
+ display: flex;
326
+ justify-content: center;
327
+ }
328
+
329
+ .email__form {
330
+ display: flex;
331
+ flex-direction: column;
332
+ gap: 8px;
333
+ }
334
+
335
+ .email__input {
336
+ -webkit-appearance: none;
337
+ appearance: none;
338
+ background: var(--pop-background);
339
+ border: 1px solid var(--pop-input);
340
+ border-radius: 6px;
341
+ color: var(--pop-foreground);
342
+ font-family: inherit;
343
+ font-size: 14px;
344
+ padding: 10px 12px;
345
+ width: 100%;
346
+ height: 40px;
347
+ }
348
+
349
+ .email__input::placeholder {
350
+ color: var(--pop-muted-foreground);
351
+ }
352
+
353
+ .email__input:focus-visible {
354
+ outline: 2px solid var(--pop-ring);
355
+ outline-offset: -1px;
356
+ }
357
+
358
+ .email__submit {
359
+ width: 100%;
360
+ }
361
+
362
+ .email__socials {
363
+ align-items: center;
364
+ display: flex;
365
+ gap: 32px;
366
+ justify-content: center;
367
+ }
368
+
369
+ .email__social {
370
+ align-items: center;
371
+ cursor: pointer;
372
+ display: flex;
373
+ height: 32px;
374
+ justify-content: center;
375
+ padding: 0;
376
+ width: 32px;
377
+ transition: transform 0.15s ease-out;
378
+ }
379
+
380
+ .email__social:hover {
381
+ transform: scale(1.125);
382
+ }
383
+
384
+ .email__social img {
385
+ width: 100%;
386
+ height: 100%;
387
+ }
388
+
389
+ .email__error {
390
+ color: var(--pop-auth-error, #dc2626);
391
+ font-size: 12px;
392
+ line-height: 16px;
393
+ text-align: center;
394
+ }
395
+
396
+ .email__about {
397
+ display: block;
398
+ color: var(--pop-muted-foreground);
399
+ font-size: 12px;
400
+ text-align: center;
401
+ margin-top: 14px;
402
+ text-decoration: none;
403
+ }
404
+
405
+ .email__about:hover {
406
+ color: var(--pop-foreground);
407
+ }
408
+ `),R=class extends j{constructor(...e){super(...e),this.events={click:`onClick`,submit:`onSubmit`}}get styleSheets(){return[we]}connectedCallback(){super.connectedCallback();let e=this.getElement(M(`input`));e&&(e.value=this.authStore.otpEmail.value),this.focusEmailInputWhenVisible()}focusEmailInputWhenVisible(){let e=this.getElement(M(`input`));if(!e)return;let t=()=>{e.isConnected&&e.focus({preventScroll:!0})},n=this.closest(`.panel__card`)?.getAnimations()??[];if(n.length===0){t();return}Promise.allSettled(n.map(e=>e.finished)).then(t)}onClick(e){let t=e.target;if(t.closest(M(`google`))){this.authStore.requestSignIn();return}if(t.closest(M(`apple`))){this.authStore.requestSignIn();return}}onSubmit(e){e.preventDefault(),this.handleContinue()}async handleContinue(){let e=this.getElement(M(`input`));if(!e)return;let t=e.value.trim();if(!Ce.test(t)){this.authStore.otpError.value=`Enter a valid email address.`;return}await this.authStore.sendOtp(t)}setupEffects(){let e=this.authStore.authNoticeDismissals.peek();this.addEffect(()=>{let t=this.authStore.authNoticeDismissals.value;t!==e&&(e=t,queueMicrotask(()=>{this.getElement(M(`input`))?.focus({preventScroll:!0})}))}),this.addEffect(()=>{let e=this.authStore.otpPending.value,t=this.authStore.otpError.value,n=this.getElement(M(`submit`));n&&(n.disabled=e,n.textContent=e?`Sending code…`:`Continue`);let r=this.getElement(M(`error`));r&&(r.hidden=!t,r.textContent=t??``)})}getTemplate(){return`
409
+ <form class="email__container">
410
+ <div class="email__logo" role="img" aria-label="PopGrids">${L}</div>
411
+ <p class="text-heading">Small communities, big connections 👋</p>
412
+ <input
413
+ class="email__input"
414
+ data-ref="input"
415
+ type="email"
416
+ aria-label="Email address"
417
+ placeholder="Email"
418
+ autocomplete="email"
419
+ required
420
+ />
421
+ <button class="btn email__submit" data-ref="submit" type="submit">Continue</button>
422
+ <div class="email__error" data-ref="error" role="alert" hidden></div>
423
+ <div class="email__socials">
424
+ <button
425
+ class="email__social email__social--apple"
426
+ data-ref="apple"
427
+ type="button"
428
+ aria-label="Continue with Apple"
429
+ >
430
+ <img src="${xe}" alt="" width="64" height="64" loading="lazy" />
431
+ </button>
432
+ <button
433
+ class="email__social email__social--google"
434
+ data-ref="google"
435
+ type="button"
436
+ aria-label="Continue with Google"
437
+ >
438
+ <img src="${Se}" alt="" width="64" height="64" loading="lazy" />
439
+ </button>
440
+ </div>
441
+ <pop-button-link href="https://www.popgrids.io" target="_blank" rel="noopener noreferrer">
442
+ What’s PopGrids?
443
+ </pop-button-link>
444
+ </form>
445
+ `}};N([S(b)],R.prototype,`authStore`,void 0),customElements.get(`pop-auth-email`)||customElements.define(`pop-auth-email`,R);var Te=A(`
446
+ :host {
447
+ display: flex;
448
+ flex-direction: column;
449
+ width: 100%;
450
+ }
451
+
452
+ .auth-join {
453
+ -webkit-appearance: none;
454
+ align-items: flex-start;
455
+ appearance: none;
456
+ background-color: lightgray;
457
+ background-color: var(--pop-background, #fff);
458
+ background-image: url("data:image/gif;base64,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"), none;
459
+ background-position: calc(100% - 88px) center;
460
+ background-repeat: no-repeat, repeat;
461
+ background-size:
462
+ 8.215% 59.149%,
463
+ auto;
464
+ border: none;
465
+ cursor: pointer;
466
+ display: flex;
467
+ flex-direction: column;
468
+ gap: var(--spacing-sm, 6px);
469
+ justify-content: flex-end;
470
+ padding: 16px 8px;
471
+ width: 100%;
472
+ }
473
+
474
+ /* Keyboard users still get a ring when they Tab here, drawn inside the bar
475
+ so the feed's overflow:hidden can't clip it. A programmatic hand-back
476
+ of focus (restoreFocus, after Esc/Back from a card) opts out via
477
+ data-restored: the visitor didn't navigate here, and the ring around
478
+ the whole bar read as an error state. */
479
+ .auth-join:focus-visible {
480
+ outline: 2px solid var(--pop-ring);
481
+ outline-offset: -2px;
482
+ }
483
+
484
+ :host([data-restored]) .auth-join:focus-visible {
485
+ outline: none;
486
+ }
487
+
488
+ .auth-join__actions {
489
+ align-items: center;
490
+ align-self: stretch;
491
+ color: var(--pop-foreground, #000);
492
+ display: flex;
493
+ font-family: Inter, sans-serif;
494
+ font-feature-settings:
495
+ "liga" off,
496
+ "clig" off;
497
+ font-size: 13px;
498
+ font-weight: 600;
499
+ justify-content: space-between;
500
+ letter-spacing: -0.08px;
501
+ line-height: 18px;
502
+ padding: 0px 8px;
503
+ }
504
+
505
+ .auth-join__logo {
506
+ align-items: center;
507
+ color: var(--pop-foreground, #000);
508
+ display: flex;
509
+ flex-direction: column;
510
+ height: 12px;
511
+ justify-content: center;
512
+ padding: 0;
513
+ pointer-events: none;
514
+ width: 75px;
515
+ }
516
+ `),z=class extends j{constructor(...e){super(...e),this.events={click:`onClick`,keydown:`onKeyDown`,focusout:`onFocusOut`}}get styleSheets(){return[Te]}restoreFocus(){this.setAttribute(`data-restored`,``),this.getElement(M(`join`))?.focus({preventScroll:!0})}onKeyDown(){this.removeAttribute(`data-restored`)}onFocusOut(){this.removeAttribute(`data-restored`)}onClick(e){e.target.closest(M(`join`))&&this.handleJoin()}setupEffects(){this.addEffect(()=>{let e=this.authStore.authPending.value,t=this.getElement(M(`join`));t&&(t.disabled=e),this.setText(M(`label`),e?`Signing in…`:`Join the Conversation`)})}handleJoin(){this.authStore.clearAuthError(),this.authStore.startEmailSignIn()}getTemplate(){return`
517
+ <button class="auth-join" data-ref="join" type="button">
518
+ <div class="auth-join__actions">
519
+ <span data-ref="label">Join the Conversation</span>
520
+ <span class="auth-join__logo" aria-hidden="true">${L}</span>
521
+ </div>
522
+ </button>
523
+ `}};N([S(b)],z.prototype,`authStore`,void 0),customElements.get(`pop-auth-join`)||customElements.define(`pop-auth-join`,z);var Ee=A(`
524
+ :host {
525
+ border-top: 1px solid var(--pop-sidebar-border);
526
+ display: block;
527
+ padding: 20px 24px;
528
+ font-family: Inter, sans-serif;
92
529
  text-align: center;
93
530
  }
94
- `),L=class extends F{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[me]}onClick(e){e.target.closest(`.join-btn`)&&this.handleJoin()}setupEffects(){this.addEffect(()=>{let e=h.value,t=m.value,n=this.getElement(`.join-btn`);n&&(n.disabled=e,n.textContent=e?`Signing in…`:`Join the Conversation`);let r=this.getElement(`.error`);r&&(t?(r.hidden=!1,r.textContent=t):(r.hidden=!0,r.textContent=``))})}async handleJoin(){te(),await y(this.gridStore.apiUrl,this.gridStore.publicKey)}getTemplate(){return`
95
- <div class="panel">
96
- <div class="watermark">Popgrids</div>
97
- <div class="actions">
98
- <button class="join-btn" type="button">Join the Conversation</button>
99
- <span class="logo">POPGRIDS</span>
531
+
532
+ .no-code__body {
533
+ align-items: flex-start;
534
+ align-self: stretch;
535
+ display: flex;
536
+ flex-direction: column;
537
+ gap: 8px;
538
+ }
539
+
540
+ .no-code__container {
541
+ display: flex;
542
+ flex-direction: column;
543
+ gap: 16px;
544
+ justify-content: center;
545
+ align-items: center;
546
+ }
547
+
548
+ .no-code__list {
549
+ list-style: none;
550
+ margin: 0;
551
+ padding: 0;
552
+ text-align: left;
553
+ }
554
+
555
+ .no-code__footer {
556
+ align-items: center;
557
+ display: flex;
558
+ justify-content: space-between;
559
+ width: 100%;
560
+ }
561
+ `),B=class extends j{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[Ee]}connectedCallback(){super.connectedCallback(),this.getElement(`#no-code-title`)?.focus()}setupEffects(){let e=this.authStore.authNoticeDismissals.peek();this.addEffect(()=>{let t=this.authStore.authNoticeDismissals.value;t!==e&&(e=t,queueMicrotask(()=>this.getElement(`#no-code-title`)?.focus({preventScroll:!0})))})}onClick(e){let t=e.target;if(t.closest(M(`resend`))){this.authStore.resendOtp();return}if(t.closest(M(`back`))){this.authStore.backToCode();return}}getTemplate(){return`
562
+ <div
563
+ class="no-code__container text-xs"
564
+ role="group"
565
+ aria-labelledby="no-code-title"
566
+ >
567
+ <p class="text-heading m-0" id="no-code-title" tabindex="-1">Steps to Take</p>
568
+ <div class="no-code__body">
569
+ <ul class="no-code__list">
570
+ <li><strong>Check spam/junk</strong> – it might be there.</li>
571
+ <li><strong>Verify email</strong> – check your email for typos.</li>
572
+ <li><strong>Wait a moment</strong> – emails take a few mins.</li>
573
+ <li><strong>Whitelist us</strong> – it may be blocked.</li>
574
+ </ul>
575
+ <p class="m-0">Still no code?</p>
576
+ </div>
577
+ <div class="no-code__footer">
578
+ <pop-button-link data-ref="back" size="sm" theme="default">Back</pop-button-link>
579
+ <pop-button-link
580
+ class="no-code__contact"
581
+ size="sm"
582
+ theme="default"
583
+ href="mailto:hello@popgrids.io?subject=Verification%20Code%20Issue"
584
+ >Contact Support</pop-button-link
585
+ >
586
+ <pop-button-link data-ref="resend" size="sm" theme="default" primary>
587
+ Resend Code
588
+ </pop-button-link>
100
589
  </div>
101
- <div class="error" hidden></div>
102
590
  </div>
103
- `}};I([x(E)],L.prototype,`gridStore`,void 0),customElements.get(`pop-auth-panel`)||customElements.define(`pop-auth-panel`,L);var R=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAABMCAYAAADa6W+wAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUuSURBVHgB5ZyBceIwEEX3bq4AOsAdQAdxKggl+Co4rgKcCkgqgFRAUgGkAqACOxVAKvDpg+VRHEmWQSubuTezg8Ega7UrebWS+UG8jIXEQoZCovI9lcd1ciHHUnZCPsrXXflZ7xkISYSshByEFJ5kLWRO54bsHRGdK+dTYZNkQhbUg4aI6FyRoiNBQyQUGLj3jMJYuleNMC4v1gel67Ig/WCq5Qe144+QlM6Wb2QwGNB4PD7JaDQ6veIzKZLj8XiSPM9Pr/v9nna73UnwWUtyIb+FbMgjM3K0QBzHxXq9Lg6HQ3Et2+22WCwWpzJdr1/KjDzRqLiwZDGbzbwobCLLslNDRFEUrAEmTReBVVCxkLRohIsbICLLiA5roxJdAm9zaIAJXUBmKhCtHtraJjAuNHjBgVrcBcDsFhSXoD4NDbB2VTyyFNI7xSUODTB1UX5hKmA+nxd9Bl0AYxGZ3X9wkdWTJCluARjIYv2ULrG6T3eHhabT6SkY4sASFB1aWx23FJ+IULcqm6MBUKbF+rFO+ZQCje6qa6J8jsjQYv2FTvmMAvb1yWRSXePp6anwzWq1cnb9MQXo6yqwthyZ0Q04y9e5/k9F+VjnCpiGCrckDjCtFV51OpZTWN/lo/4Gxqryd7pvCNckTkS/rI7f39/JN5b6j1TltU10d3dHnKjl+7Y8sHhtpS+iHm3f4JyfS2RIytHvMV4ZdMt+1lvhS9OUaSdu5DUuSFk5l60hksoPWv7QK9I1kb/zjU2HRsuHIFQj17FanusWV4fD4i5I5Ye6k8PhkELAqbxlHDn2os9L5Tm6mUX5vBfKy/s7x/U+Pz9Np7q3/GazqY7VaI+j/Br7zpV/e3urjjmiSUvUWJ3QRkHcqAlHzL58g+iUzAmNLxOboGAgur+/rwYkjgnU6+ur6VROXVpezbLA6hw5A9dMTnDlZRoLinPk8CwTmm85vE76PCdIvRn0ympdQL8YGWI6y0GD1atVGzngaePLrmLua8FAaqEaBTsb7bl4fHy0hbTPdB7pv7AmjYtwraZw0eDu6OuRqrTV7T8+PuhWkHGDhUeqWV0qr43+b6XPI4RVAyYNGyHL+odS+Vz3i1tQ/vn5uUlxnPitO/FL+cL3XzEkFAFmWsjRY28eZnKXTKBQBgY3y6xN8pcM+km0O66wlhZiUMJ1lstlY1yB8y335KU2peUOTKRQtvWTyOGJypJv4FGwmlD42zl4Aq6rZnQhFyxnYYBLXb4YEemXpjlx2ENziSBaTaglncT3nhtgTS23nEkyXYEhdl417KJwtfaUrkCrPPbOhEDdqNBS6ZQcd4HbWOkugN0NIWhhfRhpQR4eM/mlHGujPEvq1ysNOXu4tHzaKidPqLO6XPcFrkCnDgIdy/IYUryYiubkEVV5bSwbSnlgW04mBhqVDxnfh16tVZXXhk8hLW9bVCQGemV5y7VyCkAnUR5APEHmezkL9RxeZ4Oey5qab5yUVxcTuXh5eTGd2lMgnkjjepg/c9JmdYWT2FQJjo3BEsusLqPAbHUV4VpMTNPUZvUFBSYxVMT7vvsGxWH1iDpgTYbbDjzg2i6AXBweMSH77C2hjsAUy/psPLwASce2OD4GuqIA2B4hxzRyrrzHbfBb8I2ZGJKODw8PVeJRxujysXDcw/FYOBKWDhFjLuSeAkV1NlJqn125RjLqqJ+bSOk/VVwSEe9fRSzJQx6Om4T8NgLKiunGSMh8O3QR/Damjmn7hyF14KpxKSM6d49IOa/7u6dX6snfPf0DiVL6IWhCmZ4AAAAASUVORK5CYII=`,z=`#DDD0BE.#E9DCBB.#E9DCBB.#C7D1B0.#C6D0CB.#E9DCBB.#C7D1B0.#E9DCBB.#DFC2C0.#CFD4C6.#D7E3E8.#CFD4C6.#D6B3B3.#E9DCBB.#CFCBDC.#BFD6D7.#E3D2C6.#D1E2E7.#D6B3B3.#BFD6D7.#E9DCBB.#C7D1B0.#DFC2C0.#D1E2E7.#CFD4C6.#E9DCBB.#D7E3E8.#CFD4C6.#C6D0CB.#E9DCBB.#C7D1B0.#E9DCBB.#CFCBDC.#E3D2C6.#E9DCBB`.split(`.`),he=e=>typeof e==`number`?z[e%z.length]??`#e5e7eb`:z[Math.floor(Math.random()*z.length)];function ge(e){let t=new TextEncoder().encode(e),n=2166136261;for(let e=0;e<t.length;e++){let r=t[e]??0;n^=r,n=Math.imul(n,16777619)}return n>>>0}function _e(e){return z[ge(e)%z.length]??`#e5e7eb`}var ve=P(`
591
+ `}};N([S(b)],B.prototype,`authStore`,void 0),customElements.get(`pop-auth-no-code`)||customElements.define(`pop-auth-no-code`,B);var De=`data:image/png;base64,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`,Oe=A(`
592
+ :host {
593
+ display: block;
594
+ position: relative;
595
+
596
+ --pop-auth-border: var(--pop-border, rgba(0, 0, 32, 0.04));
597
+ --pop-auth-logo: rgba(0, 0, 32, 0.35);
598
+ }
599
+
600
+ @media (prefers-color-scheme: dark) {
601
+ :host {
602
+ --pop-auth-border: var(--pop-border, rgba(255, 255, 255, 0.1));
603
+ --pop-auth-logo: rgba(255, 255, 255, 0.35);
604
+ }
605
+ }
606
+
607
+ :host(.dark) {
608
+ --pop-auth-border: var(--pop-border, rgba(255, 255, 255, 0.1));
609
+ --pop-auth-logo: rgba(255, 255, 255, 0.35);
610
+ }
611
+
612
+ /* Deliberately no background here. .panel's own box grows to match
613
+ whichever of panel__join/panel__card is taller for the duration of a
614
+ transition (the exiting one stays display:block until it finishes
615
+ sliding away), so an opaque .panel would cover the comment list behind
616
+ it for that whole 833ms. Leaving it transparent lets join/card's own
617
+ (opaque) boxes show through everywhere except where they themselves
618
+ render, so the comment list stays visible around them mid-transition. */
619
+ .panel {
620
+ position: relative;
621
+ }
622
+
623
+ /* Positioned relative to panel__join-group (below), not .panel — .panel's
624
+ own box grows to match whichever of join/card is taller mid-transition,
625
+ so a fixed offset from *it* would float away from the join bar it's
626
+ meant to sit above. Anchoring to the group instead means it's part of
627
+ the same box that's actually animating, so it stays put above the join
628
+ bar and fades/slides with it, in sync, the same as border-top below. */
629
+ .watermark {
630
+ position: absolute;
631
+ top: -22px;
632
+ left: 2px;
633
+ padding: 2px 6px;
634
+ }
635
+
636
+ /* pop-auth-join (+ its watermark) and the card (email/code/no-code) are
637
+ two independent, always-mounted elements stacked in the same grid cell
638
+ so they can overlap mid-transition — one slides down off-screen while
639
+ the other slides up into place, instead of one instantly replacing the
640
+ other. */
641
+ .panel__stack {
642
+ display: grid;
643
+ grid-template-columns: 1fr;
644
+ grid-template-rows: 1fr;
645
+ }
646
+
647
+ .panel__join-group,
648
+ .panel__card {
649
+ /* Grid items default to align-self: stretch — during the brief window
650
+ where both are display:block at once (mid-transition), the row
651
+ auto-sizes to the taller of the two and would stretch the shorter
652
+ one's box to match, pinning its content at the top instead of the
653
+ bottom until the row shrinks back down. Anchor both to the end
654
+ (bottom) of the shared cell instead, matching .feed__footer's own
655
+ grid-stack treatment in pop-feed.ts. */
656
+ grid-area: 1 / 1;
657
+ align-self: end;
658
+ }
659
+
660
+ .panel__card {
661
+ position: relative;
662
+ }
663
+
664
+ /* The transform/opacity/display transition lives on this wrapper, not
665
+ directly on <pop-auth-join>, so the watermark (absolutely positioned
666
+ inside it) rides along as part of the same animating box instead of
667
+ needing its own separate, easy-to-desync transition. */
668
+ .panel__join-group {
669
+ position: relative;
670
+ transform: translateY(0);
671
+ opacity: 1;
672
+ transition:
673
+ transform var(--pop-duration-quick) var(--pop-ease-quick),
674
+ opacity var(--pop-duration-quick) var(--pop-ease-quick),
675
+ display var(--pop-duration-quick) allow-discrete;
676
+
677
+ @starting-style {
678
+ transform: translateY(100%);
679
+ opacity: 0;
680
+ }
681
+ }
682
+
683
+ .panel--card .panel__join-group {
684
+ display: none;
685
+ transform: translateY(100%);
686
+ opacity: 0;
687
+ }
688
+
689
+ /* border-top lives on the join bar's own box (not the outer .panel) so it
690
+ enters/leaves in lockstep with the bar itself — it used to live on
691
+ .panel, toggled instantly by the panel--card class while the actual
692
+ slide took 833ms, so the border would snap on/off out of sync with
693
+ the content still animating underneath it. */
694
+ .panel__join {
695
+ border-top: 1px solid var(--pop-auth-border);
696
+ }
697
+
698
+ /* Same reasoning as border-top above: the card's own background/radius
699
+ live on its own box (not toggled via panel--card on the static outer
700
+ .panel) so they're always in sync with its display/opacity/transform
701
+ state instead of snapping the instant the view changes. */
702
+ .panel__card {
703
+ display: none;
704
+ background: var(--pop-background);
705
+ border-radius: var(--pop-radius-2xl) var(--pop-radius-2xl) 0 0;
706
+ transform: translateY(100%);
707
+ opacity: 0;
708
+ transition:
709
+ transform var(--pop-duration-quick) var(--pop-ease-quick),
710
+ opacity var(--pop-duration-quick) var(--pop-ease-quick),
711
+ height var(--pop-duration-quick) var(--pop-ease-quick),
712
+ display var(--pop-duration-quick) allow-discrete;
713
+ }
714
+
715
+ /* --pop-ease-quick overshoots 1 (peaks ~1.1), so the card's translateY and
716
+ height briefly travel past their resting values and lift its bottom edge
717
+ off the feed's bottom, exposing the comment list underneath. This
718
+ backing extends the card's background below its box to cover that gap;
719
+ the feed host's overflow:hidden clips it once the card settles. A
720
+ box-shadow rather than a pseudo-element on purpose: an absolutely
721
+ positioned descendant below the card counts toward its scrollHeight,
722
+ which swapCardContent measures to animate the card's height — a shadow
723
+ doesn't. */
724
+ .panel__card {
725
+ box-shadow: 0 100px 0 0 var(--pop-background);
726
+ }
727
+
728
+ .panel--card .panel__card {
729
+ display: block;
730
+ transform: translateY(0);
731
+ opacity: 1;
732
+
733
+ @starting-style {
734
+ transform: translateY(100%);
735
+ opacity: 0;
736
+ }
737
+ }
738
+ `),V=class extends j{constructor(...e){super(...e),this._child=null,this._prevView=`idle`,this._heightAnimationFrame=null,this._heightTransitionEnd=null}get styleSheets(){return[Oe]}disconnectedCallback(){this.cancelCardHeightAnimation(),super.disconnectedCallback()}cancelCardHeightAnimation(){this._heightAnimationFrame!==null&&(window.cancelAnimationFrame(this._heightAnimationFrame),this._heightAnimationFrame=null);let e=this.getElement(M(`card`));this._heightTransitionEnd&&=(e?.removeEventListener(`transitionend`,this._heightTransitionEnd),null)}swapCardContent(e,t,n){this.cancelCardHeightAnimation();let r=e.getBoundingClientRect().height;e.style.height=`${r}px`,t.innerHTML=`<${n}></${n}>`,this._heightAnimationFrame=window.requestAnimationFrame(()=>{this._heightAnimationFrame=null;let n=t.getBoundingClientRect().height;if(Math.abs(n-r)<1){e.style.height=``;return}this._heightTransitionEnd=t=>{t.target!==e||t.propertyName!==`height`||(e.style.height=``,e.removeEventListener(`transitionend`,this._heightTransitionEnd),this._heightTransitionEnd=null)},e.addEventListener(`transitionend`,this._heightTransitionEnd),e.style.height=`${n}px`})}setupEffects(){this.addEffect(()=>{let e=this.authStore.authView.value,t=e===`email`?`pop-auth-email`:e===`code`?`pop-auth-code`:e===`no-code`?`pop-auth-no-code`:null,n=e===`idle`&&this._prevView!==`idle`&&this.getElement(M(`card`))?.matches(`:focus-within`);this.toggleClass(M(`panel`),`panel--card`,t!==null),n&&this.getElement(`pop-auth-join`)?.restoreFocus();let r=this._prevView===`idle`&&e!==`idle`,i=this.getElement(M(`card-content`));if(i&&t&&(this._child!==t||r)){let e=this.getElement(M(`card`));this._child=t,e&&this._prevView!==`idle`?this.swapCardContent(e,i,t):i.innerHTML=`<${t}></${t}>`}this._prevView=e})}getTemplate(){return`
739
+ <div class="panel" data-ref="panel">
740
+ <div class="panel__stack">
741
+ <div class="panel__join-group">
742
+ <div class="watermark">
743
+ <img src="${De}" alt="PopGrids Watermark" width="64" height="11" />
744
+ </div>
745
+ <pop-auth-join class="panel__join"></pop-auth-join>
746
+ </div>
747
+ <div class="panel__card" data-ref="card">
748
+ <div data-ref="card-content"></div>
749
+ </div>
750
+ </div>
751
+ </div>
752
+ `}};N([S(b)],V.prototype,`authStore`,void 0),customElements.get(`pop-auth-panel`)||customElements.define(`pop-auth-panel`,V);var ke=A(`
753
+ :host {
754
+ display: inline-flex;
755
+ max-width: 100%;
756
+ }
757
+
758
+ .btn-link {
759
+ position: relative;
760
+ align-items: center;
761
+ background-color: transparent;
762
+ border-style: solid;
763
+ border-color: transparent;
764
+ border-top-width: 1px;
765
+ border-bottom-width: 1px;
766
+ border-left-width: 4px;
767
+ border-right-width: 4px;
768
+ border-radius: var(--pop-radius-xs, 4px);
769
+ cursor: pointer;
770
+ display: inline-flex;
771
+ flex-shrink: 0;
772
+ font-weight: 500;
773
+ gap: 6px;
774
+ justify-content: center;
775
+ max-width: 100%;
776
+ outline: none;
777
+ text-decoration: none;
778
+ transform: translateY(-1px);
779
+ transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
780
+ white-space: nowrap;
781
+ }
782
+
783
+ /* Sizes */
784
+ .btn-link--size-sm,
785
+ .btn-link--size-md {
786
+ font-size: 14px;
787
+ line-height: 20px;
788
+ letter-spacing: 0;
789
+ }
790
+
791
+ .btn-link--size-lg {
792
+ font-size: 16px;
793
+ line-height: 24px;
794
+ letter-spacing: 0;
795
+ }
796
+
797
+ /* Themes */
798
+ .btn-link--theme-default {
799
+ color: var(--pop-foreground);
800
+ }
801
+
802
+ .btn-link--theme-default.btn-link--primary {
803
+ color: var(--pop-foreground);
804
+ }
805
+
806
+ .btn-link--theme-white {
807
+ color: white;
808
+ }
809
+
810
+ .btn-link--theme-black {
811
+ color: black;
812
+ }
813
+
814
+ /* Hover State */
815
+ .btn-link--theme-default:hover,
816
+ .btn-link--theme-black:hover {
817
+ background-color: color-mix(in srgb, var(--pop-foreground) 10%, transparent);
818
+ }
819
+
820
+ .btn-link--theme-white:hover {
821
+ background-color: color-mix(in srgb, white 16%, transparent);
822
+ }
823
+
824
+ /* Focus State */
825
+ .btn-link:focus-visible {
826
+ background-color: var(--pop-ring);
827
+ color: white !important;
828
+ }
829
+
830
+ /* Disabled State */
831
+ .btn-link:disabled,
832
+ .btn-link.is-disabled {
833
+ color: color-mix(in srgb, var(--pop-foreground) 35%, transparent) !important;
834
+ background-color: transparent !important;
835
+ border-color: transparent !important;
836
+ cursor: not-allowed;
837
+ pointer-events: none;
838
+ }
839
+
840
+ .btn-link__icon {
841
+ align-items: center;
842
+ display: inline-flex;
843
+ flex-shrink: 0;
844
+ justify-content: center;
845
+ }
846
+
847
+ .btn-link__icon ::slotted(*) {
848
+ display: block;
849
+ height: 18px;
850
+ pointer-events: none;
851
+ width: 18px;
852
+ }
853
+
854
+ :host([size="sm"]) .btn-link__icon ::slotted(*) {
855
+ height: 16px;
856
+ width: 16px;
857
+ }
858
+
859
+ :host([size="lg"]) .btn-link__icon ::slotted(*) {
860
+ height: 20px;
861
+ width: 20px;
862
+ }
863
+
864
+ .btn-link__label {
865
+ min-width: 0;
866
+ overflow: hidden;
867
+ position: relative;
868
+ text-overflow: ellipsis;
869
+ white-space: nowrap;
870
+ }
871
+ `),Ae=new Set([`sm`,`md`,`lg`]),je=new Set([`default`,`white`,`black`]),Me=class extends j{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[ke]}static get observedAttributes(){return[`href`,`size`,`theme`,`primary`,`disabled`,`type`,`target`,`rel`]}onHrefChanged(){this.render()}onSizeChanged(){this.render()}onThemeChanged(){this.render()}onPrimaryChanged(){this.render()}onDisabledChanged(){this.render()}onTypeChanged(){this.render()}onTargetChanged(){this.render()}onRelChanged(){this.render()}get href(){return this.getAttribute(`href`)}set href(e){e===null?this.removeAttribute(`href`):this.setAttribute(`href`,e)}get size(){let e=this.getAttribute(`size`);return e&&Ae.has(e)?e:`md`}set size(e){this.setAttribute(`size`,e)}get theme(){let e=this.getAttribute(`theme`);return e&&je.has(e)?e:`default`}set theme(e){this.setAttribute(`theme`,e)}get primary(){return this.hasAttribute(`primary`)}set primary(e){e?this.setAttribute(`primary`,``):this.removeAttribute(`primary`)}get disabled(){return this.hasAttribute(`disabled`)}set disabled(e){e?this.setAttribute(`disabled`,``):this.removeAttribute(`disabled`)}get type(){let e=this.getAttribute(`type`);return e===`submit`||e===`reset`?e:`button`}set type(e){this.setAttribute(`type`,e)}onClick(e){this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}hasSlotted(e){return this.querySelector(`:scope > [slot="${e}"]`)!==null}hasLabel(){return Array.from(this.childNodes).some(e=>e.nodeType===Node.ELEMENT_NODE?!e.hasAttribute(`slot`):e.nodeType===Node.TEXT_NODE&&!!e.textContent?.trim())}getTemplate(){let e=[`btn-link`,`btn-link--size-${this.size}`,`btn-link--theme-${this.theme}`,this.primary?`btn-link--primary`:``,this.disabled?`is-disabled`:``].filter(Boolean).join(` `),t=this.hasSlotted(`leading`)?`<span class="btn-link__icon"><slot name="leading"></slot></span>`:``,n=this.hasSlotted(`trailing`)?`<span class="btn-link__icon"><slot name="trailing"></slot></span>`:``,r=`${t}${this.hasLabel()?`<span class="btn-link__label"><slot></slot></span>`:``}${n}`;if(this.href!==null){let t=this.disabled?`aria-disabled="true" tabindex="-1"`:``,n=this.getAttribute(`target`),i=this.getAttribute(`rel`);return`
872
+ <a
873
+ class="${e}"
874
+ part="link"
875
+ href="${this.href}"
876
+ ${n?`target="${n}"`:``}
877
+ ${i?`rel="${i}"`:``}
878
+ ${t}
879
+ >${r}</a
880
+ >
881
+ `}return`
882
+ <button
883
+ class="${e}"
884
+ part="link"
885
+ type="${this.type}"
886
+ ${this.disabled?`disabled`:``}
887
+ >
888
+ ${r}
889
+ </button>
890
+ `}};customElements.get(`pop-button-link`)||customElements.define(`pop-button-link`,Me);var Ne=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAABMCAYAAADa6W+wAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUuSURBVHgB5ZyBceIwEEX3bq4AOsAdQAdxKggl+Co4rgKcCkgqgFRAUgGkAqACOxVAKvDpg+VRHEmWQSubuTezg8Ega7UrebWS+UG8jIXEQoZCovI9lcd1ciHHUnZCPsrXXflZ7xkISYSshByEFJ5kLWRO54bsHRGdK+dTYZNkQhbUg4aI6FyRoiNBQyQUGLj3jMJYuleNMC4v1gel67Ig/WCq5Qe144+QlM6Wb2QwGNB4PD7JaDQ6veIzKZLj8XiSPM9Pr/v9nna73UnwWUtyIb+FbMgjM3K0QBzHxXq9Lg6HQ3Et2+22WCwWpzJdr1/KjDzRqLiwZDGbzbwobCLLslNDRFEUrAEmTReBVVCxkLRohIsbICLLiA5roxJdAm9zaIAJXUBmKhCtHtraJjAuNHjBgVrcBcDsFhSXoD4NDbB2VTyyFNI7xSUODTB1UX5hKmA+nxd9Bl0AYxGZ3X9wkdWTJCluARjIYv2ULrG6T3eHhabT6SkY4sASFB1aWx23FJ+IULcqm6MBUKbF+rFO+ZQCje6qa6J8jsjQYv2FTvmMAvb1yWRSXePp6anwzWq1cnb9MQXo6yqwthyZ0Q04y9e5/k9F+VjnCpiGCrckDjCtFV51OpZTWN/lo/4Gxqryd7pvCNckTkS/rI7f39/JN5b6j1TltU10d3dHnKjl+7Y8sHhtpS+iHm3f4JyfS2RIytHvMV4ZdMt+1lvhS9OUaSdu5DUuSFk5l60hksoPWv7QK9I1kb/zjU2HRsuHIFQj17FanusWV4fD4i5I5Ye6k8PhkELAqbxlHDn2os9L5Tm6mUX5vBfKy/s7x/U+Pz9Np7q3/GazqY7VaI+j/Br7zpV/e3urjjmiSUvUWJ3QRkHcqAlHzL58g+iUzAmNLxOboGAgur+/rwYkjgnU6+ur6VROXVpezbLA6hw5A9dMTnDlZRoLinPk8CwTmm85vE76PCdIvRn0ympdQL8YGWI6y0GD1atVGzngaePLrmLua8FAaqEaBTsb7bl4fHy0hbTPdB7pv7AmjYtwraZw0eDu6OuRqrTV7T8+PuhWkHGDhUeqWV0qr43+b6XPI4RVAyYNGyHL+odS+Vz3i1tQ/vn5uUlxnPitO/FL+cL3XzEkFAFmWsjRY28eZnKXTKBQBgY3y6xN8pcM+km0O66wlhZiUMJ1lstlY1yB8y335KU2peUOTKRQtvWTyOGJypJv4FGwmlD42zl4Aq6rZnQhFyxnYYBLXb4YEemXpjlx2ENziSBaTaglncT3nhtgTS23nEkyXYEhdl417KJwtfaUrkCrPPbOhEDdqNBS6ZQcd4HbWOkugN0NIWhhfRhpQR4eM/mlHGujPEvq1ysNOXu4tHzaKidPqLO6XPcFrkCnDgIdy/IYUryYiubkEVV5bSwbSnlgW04mBhqVDxnfh16tVZXXhk8hLW9bVCQGemV5y7VyCkAnUR5APEHmezkL9RxeZ4Oey5qab5yUVxcTuXh5eTGd2lMgnkjjepg/c9JmdYWT2FQJjo3BEsusLqPAbHUV4VpMTNPUZvUFBSYxVMT7vvsGxWH1iDpgTYbbDjzg2i6AXBweMSH77C2hjsAUy/psPLwASce2OD4GuqIA2B4hxzRyrrzHbfBb8I2ZGJKODw8PVeJRxujysXDcw/FYOBKWDhFjLuSeAkV1NlJqn125RjLqqJ+bSOk/VVwSEe9fRSzJQx6Om4T8NgLKiunGSMh8O3QR/Damjmn7hyF14KpxKSM6d49IOa/7u6dX6snfPf0DiVL6IWhCmZ4AAAAASUVORK5CYII=`,H=`#DDD0BE.#E9DCBB.#E9DCBB.#C7D1B0.#C6D0CB.#E9DCBB.#C7D1B0.#E9DCBB.#DFC2C0.#CFD4C6.#D7E3E8.#CFD4C6.#D6B3B3.#E9DCBB.#CFCBDC.#BFD6D7.#E3D2C6.#D1E2E7.#D6B3B3.#BFD6D7.#E9DCBB.#C7D1B0.#DFC2C0.#D1E2E7.#CFD4C6.#E9DCBB.#D7E3E8.#CFD4C6.#C6D0CB.#E9DCBB.#C7D1B0.#E9DCBB.#CFCBDC.#E3D2C6.#E9DCBB`.split(`.`),Pe=e=>typeof e==`number`?H[e%H.length]??`#e5e7eb`:H[Math.floor(Math.random()*H.length)];function Fe(e){let t=new TextEncoder().encode(e),n=2166136261;for(let e=0;e<t.length;e++){let r=t[e]??0;n^=r,n=Math.imul(n,16777619)}return n>>>0}function Ie(e){return H[Fe(e)%H.length]??`#e5e7eb`}var Le=A(`
104
891
  :host {
105
892
  display: block;
106
893
 
@@ -197,20 +984,20 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
197
984
  width: 100%;
198
985
  transform: scale(0.57);
199
986
  }
200
- `),ye=class extends F{constructor(){super(),this._backgroundColor=he()??`#e5e7eb`}static get observedAttributes(){return[`size`,`data-color-key`,`deleted`]}onSizeChanged(){this.render()}onDataColorKeyChanged(){this.render()}onDeletedChanged(){this.render()}get styleSheets(){return[ve]}get size(){return this.getAttribute(`size`)||`md`}set size(e){this.setAttribute(`size`,e)}get deleted(){return this.hasAttribute(`deleted`)}set deleted(e){e?this.setAttribute(`deleted`,``):this.removeAttribute(`deleted`)}getTemplate(){let e=this.size,t=this.deleted,n=this.getAttribute(`data-color-key`),r=t?`var(--pop-muted-foreground, #e5e7eb)`:n?_e(n):this._backgroundColor;return`
987
+ `),Re=class extends j{constructor(){super(),this._backgroundColor=Pe()??`#e5e7eb`}static get observedAttributes(){return[`size`,`data-color-key`,`deleted`]}onSizeChanged(){this.render()}onDataColorKeyChanged(){this.render()}onDeletedChanged(){this.render()}get styleSheets(){return[Le]}get size(){return this.getAttribute(`size`)||`md`}set size(e){this.setAttribute(`size`,e)}get deleted(){return this.hasAttribute(`deleted`)}set deleted(e){e?this.setAttribute(`deleted`,``):this.removeAttribute(`deleted`)}getTemplate(){let e=this.size,t=this.deleted,n=this.getAttribute(`data-color-key`),r=t?`var(--pop-muted-foreground, #e5e7eb)`:n?Ie(n):this._backgroundColor;return`
201
988
  <div class="comment-avatar comment-avatar--size-${e}" part="base">
202
989
  <div class="comment-avatar__background mask mask-squircle" part="background"></div>
203
990
  ${t?`<div
204
991
  class="comment-avatar__content mask mask-squircle"
205
992
  part="content"
206
993
  style="background-color: ${r}; opacity: 0.15"
207
- ><img class="comment-avatar__deleted-mark" src="${R}" alt="Deleted user" /></div>`:`<slot
994
+ ><img class="comment-avatar__deleted-mark" src="${Ne}" alt="Deleted user" /></div>`:`<slot
208
995
  class="comment-avatar__content mask mask-squircle"
209
996
  part="content"
210
997
  style="background-color: ${r};"
211
998
  ></slot>`}
212
999
  </div>
213
- `}};customElements.get(`pop-comment-avatar`)||customElements.define(`pop-comment-avatar`,ye);function B(e){return e?e.split(` `).map(e=>e[0]??``).join(``).toUpperCase().slice(0,2):`?`}var be=P(`
1000
+ `}};customElements.get(`pop-comment-avatar`)||customElements.define(`pop-comment-avatar`,Re);var ze=3e4,U=3,W=e=>{let t=typeof e.createdAt==`number`?e.createdAt:Date.parse(String(e.createdAt));return Number.isFinite(t)?t:0},G=(e,t)=>{let n=e?.previewCount??t;return n>0?n:U},Be=(e,t)=>e&&{...e,...t},K=class{constructor(e){this.previewCount=U,this._fetchedGrid=(0,t.signal)(null),this._overrides=(0,t.signal)({}),this.grid=(0,t.computed)(()=>Be(this._fetchedGrid.value,this._overrides.value)),this.comments=(0,t.signal)([]),this.loading=(0,t.signal)(!0),this.error=(0,t.signal)(null),this.open=(0,t.signal)(!1),this.replyingTo=(0,t.signal)(null),this.editingCommentId=(0,t.signal)(null),this.scrollingCommentId=(0,t.signal)(null),this.socket=null,this.reconnectAttempt=0,this.reconnectTimer=null,this.disposed=!1,this.topLevelComments=(0,t.computed)(()=>this.comments.value.filter(e=>e.parentCommentId===null).sort((e,t)=>String(e.sortKey).localeCompare(String(t.sortKey)))),this.replyingToComment=(0,t.computed)(()=>{let e=this.replyingTo.value;return e?this.comments.value.find(t=>t.id===e)??null:null}),this.editingComment=(0,t.computed)(()=>{let e=this.editingCommentId.value;return e?this.comments.value.find(t=>t.id===e)??null:null}),this.previewComments=(0,t.computed)(()=>this.topLevelComments.value.slice(0,G(this.grid.value,this.previewCount))),this.previewAvatars=(0,t.computed)(()=>{let e=G(this.grid.value,this.previewCount),t=new Set,n=[],r=[...this.comments.value].sort((e,t)=>W(t)-W(e));for(let i of r){let r=i.author;if(!(!r?.id||t.has(r.id))&&(t.add(r.id),n.push(r),n.length>=e))break}return n.reverse()}),this.apiUrl=e.apiUrl,this.publicKey=e.publicKey,this.pageUrl=e.pageUrl,this.externalId=e.externalId?.trim()||null,this.authStore=e.authStore}setOverrides(e){this._overrides.value=e}identityParams(){let e=new URLSearchParams({pageUrl:this.pageUrl});return this.externalId&&e.set(`externalId`,this.externalId),e.toString()}repliesFor(e){let t=this.comments.value.find(t=>t.id===e);return t?this.comments.value.filter(n=>n.id!==e&&(n.sortKey===t.sortKey||n.sortKey.startsWith(t.sortKey+`/`))).sort((e,t)=>String(e.sortKey).localeCompare(String(t.sortKey))):[]}async load(){this.loading.value=!0,this.error.value=null;try{let e=await this.authStore.fetchWithToken(`/api/v1/embed/grids/${this.publicKey}`);if(!e.ok)return this.error.value=`There was a problem loading the PopGrid`,!1;let t=await e.json();this._fetchedGrid.value=t.grid,this.connectRealtime();let n=await this.authStore.fetchWithToken(`/api/v1/embed/grids/${this.publicKey}/comments?${this.identityParams()}`);if(n.ok){let e=await n.json();this.comments.value=e.comments}return!0}catch{return console.error(`Failed to load PopGrid`),this.error.value=`There was a problem loading the PopGrid`,!1}finally{this.loading.value=!1}}async postComment(e,t){let n=await this.authStore.authorizedFetch(`/api/v1/embed/grids/${this.publicKey}/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:e,pageUrl:this.pageUrl,externalId:this.externalId??void 0,parentCommentId:t})});if(!n.ok)return null;let r=await n.json();return this.upsertComment(r.comment),r.comment.author&&!this.authStore.currentUser.value&&(this.authStore.currentUser.value={id:r.comment.author.id,name:r.comment.author.name??``,email:``,image:r.comment.author.image}),r.comment}destroy(){this.disposed=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.socket&&=(this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close(),null)}async connectRealtime(){let e=this.grid.value?.connectUrl;if(!e||this.disposed)return;this.socket&&=(this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close(),null);let t=null;try{let e=await this.authStore.fetchWithToken(`/api/v1/embed/grids/${this.publicKey}/connect-ticket`,{method:`POST`});e.ok&&(t=(await e.json()).ticket)}catch{}if(!t||this.disposed){this.scheduleReconnect();return}let n=new URL(e,this.apiUrl);n.protocol=n.protocol===`https:`?`wss:`:`ws:`,n.searchParams.set(`ticket`,t),n.searchParams.set(`pageUrl`,this.pageUrl),this.externalId&&n.searchParams.set(`externalId`,this.externalId);let r=new WebSocket(n.toString());this.socket=r,r.onopen=()=>{this.reconnectAttempt=0},r.onmessage=e=>{try{let t=JSON.parse(String(e.data));t.type===`comment.created`&&t.comment?this.upsertComment(t.comment):t.type===`comment.updated`&&t.comment&&this.updateCommentInList(t.comment)}catch{}},r.onclose=()=>{this.disposed||this.scheduleReconnect()},r.onerror=()=>{r.close()}}scheduleReconnect(){if(this.disposed||this.reconnectTimer)return;let e=r(this.reconnectAttempt,1e3,ze);this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connectRealtime()},e)}upsertComment(e){this.comments.value.some(t=>t.id===e.id)||(this.comments.value=[...this.comments.value,e])}async editComment(e,t){let n=await this.authStore.authorizedFetch(`/api/v1/embed/grids/${this.publicKey}/comments/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,pageUrl:this.pageUrl,externalId:this.externalId??void 0})});if(!n.ok)return null;let r=await n.json();return this.updateCommentInList(r.comment),r.comment}async deleteComment(e){let t=await this.authStore.authorizedFetch(`/api/v1/embed/grids/${this.publicKey}/comments/${e}?${this.identityParams()}`,{method:`DELETE`});if(!t.ok)return null;let n=await t.json();return this.updateCommentInList(n.comment),n.comment}async flagComment(e){return(await this.authStore.authorizedFetch(`/api/v1/embed/grids/${this.publicKey}/comments/${e}/flag?${this.identityParams()}`,{method:`POST`})).ok}updateCommentInList(e){this.comments.value=this.comments.value.map(t=>t.id===e.id?e:t)}},Ve=A(`
214
1001
  :host {
215
1002
  background: var(--pop-background);
216
1003
  border-top: 1px solid var(--pop-bar-input-bg);
@@ -273,6 +1060,10 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
273
1060
  z-index: 1;
274
1061
  }
275
1062
 
1063
+ .bar__avatar--reply.hidden {
1064
+ display: none;
1065
+ }
1066
+
276
1067
  .bar__avatar--user {
277
1068
  z-index: 2;
278
1069
  }
@@ -320,7 +1111,7 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
320
1111
  pointer-events: none;
321
1112
  user-select: none;
322
1113
  }
323
- `),xe=`<svg width="64" height="11" viewBox="0 0 64 11" fill="none" xmlns="http://www.w3.org/2000/svg">
1114
+ `),He=`<svg width="64" height="11" viewBox="0 0 64 11" fill="none" xmlns="http://www.w3.org/2000/svg">
324
1115
  <path d="M3.91111 0C0.892839 0 0 2.11357 0 4.77714C0 5.76321 0.0987654 6.73357 0.213333 7.70786C0.25679 8.08893 0.240988 8.50929 0.312099 8.89036C0.497778 9.89214 1.44593 10.3557 2.36642 10.3557C3.62667 10.3557 4.4642 9.56607 4.4642 8.30107C4.4642 7.57036 4.22321 7.09107 3.5279 6.80821C3.48444 6.7925 3.44099 6.78071 3.44099 6.72179C3.44099 6.62357 3.59901 6.55286 3.69778 6.55286C4.03753 6.55286 4.57481 6.89071 5.04494 6.89071C6.88593 6.89071 7.90519 5.13071 7.90519 3.48071C7.90519 1.08429 6.13136 0 3.91111 0ZM3.89531 5.18179C3.78074 5.18179 3.68198 5.08357 3.68198 4.96964C3.68198 4.81643 3.89531 4.7025 3.96642 4.57679C4.12049 4.29393 4.16395 3.81464 4.16395 3.4925C4.16395 3.11143 4.06519 2.40821 3.8242 2.12536C3.75309 2.04286 3.65432 1.99964 3.65432 1.88571C3.65432 1.77179 3.76889 1.67357 3.87951 1.67357C4.36148 1.67357 4.60247 3.08393 4.60247 3.44929C4.60247 3.84214 4.47605 5.18179 3.89531 5.18179Z" fill="#000020" fill-opacity="0.1"/>
325
1116
  <path d="M12.7368 0.239637C9.73433 0.239637 7.93285 2.35321 7.93285 5.25249C7.93285 8.15178 9.73038 10.2654 12.7368 10.2654C15.7432 10.2654 17.5249 8.12428 17.5249 5.25249C17.5249 2.38071 15.7116 0.239637 12.7368 0.239637ZM12.8672 8.83142C12.8198 8.89035 12.7249 9.00035 12.6104 9.00035C12.4958 9.00035 12.3852 8.90214 12.3852 8.78821C12.3852 8.74499 12.7526 8.19499 12.8119 8.02607C13.037 7.36214 13.0805 6.64321 13.0805 5.93999C13.0805 4.99714 12.9106 3.78321 12.3299 3.00928C12.2153 2.86785 11.8637 2.60071 11.8637 2.44749C11.8637 2.33357 11.9625 2.23535 12.077 2.23535C12.1758 2.23535 12.2746 2.32178 12.3457 2.37678C13.2504 3.12321 13.523 4.82821 13.523 5.93999C13.523 6.81214 13.4874 8.08499 12.8711 8.82749L12.8672 8.83142Z" fill="#000020" fill-opacity="0.1"/>
326
1117
  <path d="M21.6533 0C18.6351 0 17.7422 2.11357 17.7422 4.77714C17.7422 5.76321 17.841 6.73357 17.9555 7.70786C17.999 8.08893 17.9832 8.50929 18.0543 8.89036C18.24 9.89214 19.1881 10.3557 20.1086 10.3557C21.3689 10.3557 22.2064 9.56607 22.2064 8.30107C22.2064 7.57036 21.9654 7.09107 21.2701 6.80821C21.2267 6.7925 21.1832 6.78071 21.1832 6.72179C21.1832 6.62357 21.3412 6.55286 21.44 6.55286C21.7797 6.55286 22.317 6.89071 22.7871 6.89071C24.6281 6.89071 25.6474 5.13071 25.6474 3.48071C25.6474 1.08429 23.8775 0 21.6533 0ZM21.6415 5.18179C21.5269 5.18179 21.4281 5.08357 21.4281 4.96964C21.4281 4.81643 21.6415 4.7025 21.7126 4.57679C21.8667 4.29393 21.9101 3.81464 21.9101 3.4925C21.9101 3.11143 21.8113 2.40821 21.5704 2.12536C21.4992 2.04286 21.4005 1.99964 21.4005 1.88571C21.4005 1.77179 21.5151 1.67357 21.6257 1.67357C22.1076 1.67357 22.3486 3.08393 22.3486 3.44929C22.3486 3.84214 22.2222 5.18179 21.6415 5.18179Z" fill="#000020" fill-opacity="0.1"/>
@@ -329,23 +1120,29 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
329
1120
  <path d="M46.7674 0.549991C46.4277 0.326063 45.9457 0.212134 45.5348 0.212134C44.642 0.212134 43.8756 0.915349 43.7768 1.79142C43.7491 2.04678 43.761 2.28642 43.761 2.55356V4.94606L43.7175 7.46821V8.72142C43.7175 9.70749 44.5669 10.4814 45.5467 10.4814C46.2696 10.4814 47.0637 10.0296 47.3324 9.35392C47.4864 8.97285 47.5022 8.43856 47.5022 8.02999V6.92999L47.518 4.73392V2.53785C47.518 1.72071 47.5022 1.07249 46.7674 0.549991Z" fill="#000020" fill-opacity="0.1"/>
330
1121
  <path d="M50.2993 0.125713C48.8533 0.125713 48.1304 0.801428 48.1304 2.25107V2.82857L48.1462 3.96786V4.54536C48.1462 4.98143 48.1462 5.39 48.1304 5.82607C48.1027 6.34857 48.0316 6.86714 48.0316 7.40536C48.0316 9.3775 49.0509 10.3361 51.0222 10.3361C54.0523 10.3361 56.1067 9.03964 56.1067 5.81429C56.1067 1.925 54.2222 0.121785 50.2993 0.121785V0.125713ZM51.6583 7.91607C51.5437 7.91607 51.4449 7.81786 51.4449 7.70393C51.4449 7.66071 51.4608 7.83352 51.4884 7.59C51.8558 6.985 51.9546 6.14036 51.9546 5.44893C51.9546 4.80071 51.8835 3.84214 51.4726 3.33536C51.4015 3.22143 51.2593 3.13893 51.2593 2.9975C51.2593 2.88357 51.358 2.78536 51.4726 2.78536C51.6859 2.78536 51.9822 3.31964 52.0691 3.50428C52.3378 4.125 52.3812 4.80071 52.3812 5.46071C52.3812 5.86928 52.1679 7.91214 51.6583 7.91214V7.91607Z" fill="#000020" fill-opacity="0.1"/>
331
1122
  <path d="M62.7239 5.1268C61.9022 5.05608 60.7249 4.77322 60.0889 4.23894C60.0059 4.16822 59.8637 4.07001 59.8637 3.9443C59.8637 3.90108 59.8795 3.83037 59.9348 3.83037C60.0889 3.83037 61.0805 4.62001 61.9338 4.62001C63.0123 4.62001 64 3.78715 64 2.69108C64 0.887867 61.5941 0.157152 60.1324 0.157152C57.9635 0.157152 56.3516 1.5518 56.3516 3.76358C56.3516 4.24287 56.4227 4.90287 56.7783 5.27215C56.9482 5.4568 57.2326 5.4568 57.4578 5.4568C58.3072 5.4568 59.3857 5.72394 59.836 6.49787C59.8795 6.56858 59.919 6.68251 59.919 6.76501C59.919 6.79251 59.919 6.83572 59.8914 6.82001C59.8084 6.79251 59.7373 6.7218 59.678 6.6668C59.1802 6.18751 58.5007 5.70822 57.7817 5.70822C56.7032 5.70822 56.324 6.73751 56.324 7.63715C56.324 9.45215 57.9674 10.4539 59.6385 10.4539C61.6217 10.4539 64 9.15751 64 6.94572C64 6.12858 63.6444 5.21322 62.7239 5.13072V5.1268Z" fill="#000020" fill-opacity="0.1"/>
332
- </svg>`,V=class extends F{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[be]}onClick(e){e.target.closest(`.bar__send`)&&this.handleSend()}setupEffects(){let e=null,t=null;this.addEffect(()=>{let t=this.gridStore.replyingTo.value;if(t&&t!==e){let e=this.getElement(`pop-comment-input`);e&&setTimeout(()=>e.focus(),0)}e=t}),this.addEffect(()=>{let e=this.gridStore.editingComment.value;if(e&&e.id!==t){let t=this.getElement(`pop-comment-input`);t&&(t.setValue(e.body),setTimeout(()=>t.focus(),0))}else if(!e&&t){let e=this.getElement(`pop-comment-input`);e&&e.clear()}t=e?.id??null}),this.addEffect(()=>{let e=p.value,t=this.getElement(`.bar__user`);if(!t)return;let n=this.gridStore.replyingToComment.value?.author;if(this.gridStore.editingComment.value){t.classList.remove(`has-reply`);let n=e?.id??e?.name??``;t.innerHTML=e?.image?`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--user" data-color-key="${n}"><img src="${e.image}" alt="${e.name??`User`}'s avatar"></pop-comment-avatar>`:`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--user" data-color-key="${n}">${B(e?.name)}</pop-comment-avatar>`}else if(n){t.classList.add(`has-reply`);let r=n.id??n.name??``,i=e?.id??e?.name??``;t.innerHTML=(n.image?`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--reply" data-color-key="${r}"><img src="${n.image}" alt="${n.name??`User`}'s avatar"></pop-comment-avatar>`:`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--reply" data-color-key="${r}">${B(n.name)}</pop-comment-avatar>`)+(e?.image?`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--user" data-color-key="${i}"><img src="${e.image}" alt="${e.name??`User`}'s avatar"></pop-comment-avatar>`:`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--user" data-color-key="${i}">${B(e?.name)}</pop-comment-avatar>`)}else{t.classList.remove(`has-reply`);let n=e?.id??e?.name??``;t.innerHTML=e?.image?`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--user" data-color-key="${n}"><img src="${e.image}" alt="${e.name??`User`}'s avatar"></pop-comment-avatar>`:`<pop-comment-avatar size="xs" class="bar__avatar bar__avatar--user" data-color-key="${n}">${B(e?.name)}</pop-comment-avatar>`}})}async handleSend(){let e=this.getElement(`pop-comment-input`);if(!e)return;let t=e.getValue().trim();if(!t)return;let n=this.gridStore.editingCommentId.value;if(n)e.clear(),this.gridStore.editingCommentId.value=null,await this.gridStore.editComment(n,t);else{e.clear();let n=await this.gridStore.postComment(t,this.gridStore.replyingTo.value??void 0);this.gridStore.replyingTo.value=null,n&&(this.gridStore.scrollingCommentId.value=n.id)}}getTemplate(){return`
333
- <div class="logo-watermark">${xe}</div>
1123
+ </svg>`,q=class extends j{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[Ve]}onClick(e){e.target.closest(M(`send`))&&this.handleSend()}setupEffects(){let e=null,t=null;this.addEffect(()=>{let t=this.gridStore.replyingTo.value;if(t&&t!==e){let e=this.getElement(`pop-comment-input`);e&&setTimeout(()=>e.focus(),0)}e=t}),this.addEffect(()=>{let e=this.gridStore.editingComment.value;if(e&&e.id!==t){let t=this.getElement(`pop-comment-input`);t&&(t.setValue(e.body),setTimeout(()=>t.focus(),0))}else if(!e&&t){let e=this.getElement(`pop-comment-input`);e&&e.clear()}t=e?.id??null}),this.addEffect(()=>{let e=this.getElement(M(`user`)),t=this.getElement(M(`avatar-reply`));if(!e||!t)return;let r=this.gridStore.editingComment.value?null:this.gridStore.replyingToComment.value?.author;if(e.classList.toggle(`has-reply`,!!r),t.classList.toggle(`hidden`,!r),r){let e=r.id??r.name??``;t.setAttribute(`data-color-key`,e),t.innerHTML=r.image?`<img src="${r.image}" alt="${r.name??`User`}'s avatar">`:n(r.name)}})}async handleSend(){let e=this.getElement(`pop-comment-input`);if(!e)return;let t=e.getValue().trim();if(!t)return;let n=this.gridStore.editingCommentId.value;if(n)e.clear(),this.gridStore.editingCommentId.value=null,await this.gridStore.editComment(n,t);else{e.clear();let n=await this.gridStore.postComment(t,this.gridStore.replyingTo.value??void 0);this.gridStore.replyingTo.value=null,n&&(this.gridStore.scrollingCommentId.value=n.id)}}getTemplate(){return`
1124
+ <div class="logo-watermark">${He}</div>
334
1125
  <div class="bar">
335
- <div class="bar__user">
336
- <pop-comment-avatar size="xs" class="bar__avatar bar__avatar--user">?</pop-comment-avatar>
1126
+ <div class="bar__user" data-ref="user">
1127
+ <pop-comment-avatar
1128
+ size="xs"
1129
+ class="bar__avatar bar__avatar--reply hidden"
1130
+ data-ref="avatar-reply"
1131
+ ></pop-comment-avatar>
1132
+ <pop-account-switcher class="bar__avatar bar__avatar--user"></pop-account-switcher>
337
1133
  </div>
338
1134
  <div class="bar__input-wrap">
339
1135
  <pop-comment-input></pop-comment-input>
340
1136
  </div>
341
1137
  <pop-comment-icon
342
1138
  class="bar__send"
1139
+ data-ref="send"
343
1140
  theme="neutral"
344
1141
  variant="send"
345
1142
  aria-label="Send comment"
346
1143
  ></pop-comment-icon>
347
1144
  </div>
348
- `}};I([x(E)],V.prototype,`gridStore`,void 0),customElements.get(`pop-comment-bar`)||customElements.define(`pop-comment-bar`,V);var Se=P(`
1145
+ `}};N([S(K)],q.prototype,`gridStore`,void 0),N([S(b)],q.prototype,`authStore`,void 0),customElements.get(`pop-comment-bar`)||customElements.define(`pop-comment-bar`,q);var Ue=A(`
349
1146
  :host {
350
1147
  /* Mode-level theme colors (defaults for light mode) */
351
1148
  --pop-comment-color-black: #000000;
@@ -617,7 +1414,7 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
617
1414
  --pop-comment-icon-background-active: var(--pop-comment-bg-reversed);
618
1415
  --pop-comment-icon-background-focused: var(--pop-comment-bg-blank-resting);
619
1416
  }
620
- `),Ce=class extends F{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[Se]}static get observedAttributes(){return[`counter`,`icon-url`,`size`,`theme`,`variant`,`type`,`disabled`,`aria-label`]}onAriaLabelChanged(){this.render()}onCounterChanged(){this.render()}onIconUrlChanged(){this.render()}onSizeChanged(){this.render()}onThemeChanged(){this.render()}onVariantChanged(){this.render()}onTypeChanged(){this.render()}onDisabledChanged(){this.render()}get counter(){return Number(this.getAttribute(`counter`)||`0`)}set counter(e){this.setAttribute(`counter`,String(e))}get iconUrl(){return this.getAttribute(`icon-url`)||void 0}set iconUrl(e){e===void 0?this.removeAttribute(`icon-url`):this.setAttribute(`icon-url`,e)}get size(){return this.getAttribute(`size`)||`md`}set size(e){this.setAttribute(`size`,e)}get theme(){return this.getAttribute(`theme`)||`brand`}set theme(e){this.setAttribute(`theme`,e)}get variant(){return this.getAttribute(`variant`)||`add`}set variant(e){this.setAttribute(`variant`,e)}get type(){return this.getAttribute(`type`)||`button`}set type(e){this.setAttribute(`type`,e)}get disabled(){return this.hasAttribute(`disabled`)}set disabled(e){e?this.setAttribute(`disabled`,``):this.removeAttribute(`disabled`)}get ariaLabel(){return this.getAttribute(`aria-label`)}set ariaLabel(e){e===null?this.removeAttribute(`aria-label`):this.setAttribute(`aria-label`,e)}onClick(e){if(this.disabled){e.preventDefault(),e.stopImmediatePropagation();return}this.emit(`pop-click`)}get icon(){let e=``;return this.theme===`brand`?this.variant===`add`?e=`
1417
+ `),We=class extends j{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[Ue]}static get observedAttributes(){return[`counter`,`icon-url`,`size`,`theme`,`variant`,`type`,`disabled`,`aria-label`]}onAriaLabelChanged(){this.render()}onCounterChanged(){this.render()}onIconUrlChanged(){this.render()}onSizeChanged(){this.render()}onThemeChanged(){this.render()}onVariantChanged(){this.render()}onTypeChanged(){this.render()}onDisabledChanged(){this.render()}get counter(){return Number(this.getAttribute(`counter`)||`0`)}set counter(e){this.setAttribute(`counter`,String(e))}get iconUrl(){return this.getAttribute(`icon-url`)||void 0}set iconUrl(e){e===void 0?this.removeAttribute(`icon-url`):this.setAttribute(`icon-url`,e)}get size(){return this.getAttribute(`size`)||`md`}set size(e){this.setAttribute(`size`,e)}get theme(){return this.getAttribute(`theme`)||`brand`}set theme(e){this.setAttribute(`theme`,e)}get variant(){return this.getAttribute(`variant`)||`add`}set variant(e){this.setAttribute(`variant`,e)}get type(){return this.getAttribute(`type`)||`button`}set type(e){this.setAttribute(`type`,e)}get disabled(){return this.hasAttribute(`disabled`)}set disabled(e){e?this.setAttribute(`disabled`,``):this.removeAttribute(`disabled`)}get ariaLabel(){return this.getAttribute(`aria-label`)}set ariaLabel(e){e===null?this.removeAttribute(`aria-label`):this.setAttribute(`aria-label`,e)}onClick(e){if(this.disabled){e.preventDefault(),e.stopImmediatePropagation();return}this.emit(`pop-click`)}get icon(){let e=``;return this.theme===`brand`?this.variant===`add`?e=`
621
1418
  <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
622
1419
  <path
623
1420
  d="M11 4.58331V17.4166M4.58333 11H17.4167"
@@ -700,7 +1497,7 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
700
1497
  <div class="comment-icon__icon-container" part="icon">${n}</div>
701
1498
  </div>
702
1499
  </button>
703
- `}};customElements.get(`pop-comment-icon`)||customElements.define(`pop-comment-icon`,Ce);var we=P(`
1500
+ `}};customElements.get(`pop-comment-icon`)||customElements.define(`pop-comment-icon`,We);var Ge=A(`
704
1501
  :host {
705
1502
  display: flex;
706
1503
  flex: 1;
@@ -729,9 +1526,9 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
729
1526
  textarea::placeholder {
730
1527
  color: #697586;
731
1528
  }
732
- `),H=class extends F{constructor(...e){super(...e),this.events={input:`onInput`,keydown:`onKeyDown`}}get styleSheets(){return[we]}onInput(e){let t=e.target;t.style.height=`auto`,t.style.height=`${t.scrollHeight}px`}onKeyDown(e){e.key===`Escape`&&(this.gridStore.editingCommentId.value||this.gridStore.replyingTo.value)&&(e.stopPropagation(),this.gridStore.editingCommentId.value=null,this.gridStore.replyingTo.value=null)}getValue(){return this.getElement(`textarea`)?.value??``}setValue(e){let t=this.getElement(`textarea`);t&&(t.value=e,t.style.height=`auto`,t.style.height=`${t.scrollHeight}px`)}clear(){let e=this.getElement(`textarea`);e&&(e.value=``,e.style.height=`auto`)}focus(){this.getElement(`textarea`)?.focus()}setupEffects(){this.addEffect(()=>{let e=this.gridStore.replyingToComment.value,t=this.gridStore.editingComment.value,n=`Comment`;t?n=`Edit comment...`:e?.author?.name&&(n=`Reply to ${e.author.name}`),this.setAttr(`textarea`,`placeholder`,n)})}getTemplate(){return`
1529
+ `),J=class extends j{constructor(...e){super(...e),this.events={input:`onInput`,keydown:`onKeyDown`}}get styleSheets(){return[Ge]}onInput(e){let t=e.target;t.style.height=`auto`,t.style.height=`${t.scrollHeight}px`}onKeyDown(e){e.key===`Escape`&&(this.gridStore.editingCommentId.value||this.gridStore.replyingTo.value)&&(e.stopPropagation(),this.gridStore.editingCommentId.value=null,this.gridStore.replyingTo.value=null)}getValue(){return this.getElement(`textarea`)?.value??``}setValue(e){let t=this.getElement(`textarea`);t&&(t.value=e,t.style.height=`auto`,t.style.height=`${t.scrollHeight}px`)}clear(){let e=this.getElement(`textarea`);e&&(e.value=``,e.style.height=`auto`)}focus(){this.getElement(`textarea`)?.focus()}setupEffects(){this.addEffect(()=>{let e=this.gridStore.replyingToComment.value,t=this.gridStore.editingComment.value,n=`Comment`;t?n=`Edit comment...`:e?.author?.name&&(n=`Reply to ${e.author.name}`),this.setAttr(`textarea`,`placeholder`,n)})}getTemplate(){return`
733
1530
  <textarea rows="1" placeholder="Comment"></textarea>
734
- `}};I([x(E)],H.prototype,`gridStore`,void 0),customElements.get(`pop-comment-input`)||customElements.define(`pop-comment-input`,H);var Te=P(`
1531
+ `}};N([S(K)],J.prototype,`gridStore`,void 0),customElements.get(`pop-comment-input`)||customElements.define(`pop-comment-input`,J);var Ke=A(`
735
1532
  :host {
736
1533
  display: block;
737
1534
 
@@ -788,11 +1585,11 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
788
1585
  flex-shrink: 0;
789
1586
  opacity: 0.1;
790
1587
  }
791
- `),U=2,W=class extends F{constructor(...e){super(...e),this._showAll=!1,this.events={click:`onClick`}}get styleSheets(){return[Te]}onClick(e){e.target.closest(`.thread__more-btn`)&&(this._showAll=!0,this.render())}setupEffects(){this.addEffect(()=>{let e=this.getAttribute(`comment-id`),t=this.gridStore.scrollingCommentId.value;e&&t&&this.gridStore.repliesFor(e).some(e=>e.id===t)&&(this._showAll=!0),this.gridStore.comments.value,this.render()})}getTemplate(){let e=this.getAttribute(`comment-id`);if(!e)return``;let t=this.gridStore.repliesFor(e),n=this._showAll||t.length<=U?t:t.slice(0,U),r=t.length-n.length,i=r>0?`<div class="thread__more">
1588
+ `),qe=2,Je=class extends j{constructor(...e){super(...e),this._showAll=!1,this.events={click:`onClick`}}get styleSheets(){return[Ke]}onClick(e){e.target.closest(M(`more`))&&(this._showAll=!0,this.render())}setupEffects(){this.addEffect(()=>{let e=this.getAttribute(`comment-id`),t=this.gridStore.scrollingCommentId.value;e&&t&&this.gridStore.repliesFor(e).some(e=>e.id===t)&&(this._showAll=!0),this.gridStore.comments.value,this.render()})}getTemplate(){let e=this.getAttribute(`comment-id`);if(!e)return``;let t=this.gridStore.repliesFor(e),n=this._showAll||t.length<=qe?t:t.slice(0,qe),r=t.length-n.length,i=r>0?`<div class="thread__more">
792
1589
  <div class="thread__more-dot"></div>
793
- <button class="thread__more-btn btn-link btn-link--size-sm btn-link--theme-default" type="button">
1590
+ <pop-button-link data-ref="more" size="sm" theme="default">
794
1591
  Show ${r} more ${r===1?`reply`:`replies`}
795
- </button>
1592
+ </pop-button-link>
796
1593
  </div>`:``;return`
797
1594
  <div class="thread">
798
1595
  <pop-comment comment-id="${e}"></pop-comment>
@@ -801,7 +1598,7 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
801
1598
  ${i}
802
1599
  </div>`:``}
803
1600
  </div>
804
- `}};I([x(E)],W.prototype,`gridStore`,void 0),customElements.get(`pop-comment-thread`)||customElements.define(`pop-comment-thread`,W);function G(e){let t=e instanceof Date?e:new Date(e),n=(Date.now()-t.getTime())/1e3;return n<1?`now`:n<60?`${Math.floor(n)}s`:n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.floor(n/3600)}h`:n<604800?`${Math.floor(n/86400)}d`:`${Math.floor(n/604800)}w`}var Ee=P(`
1601
+ `}};N([S(K)],Je.prototype,`gridStore`,void 0),customElements.get(`pop-comment-thread`)||customElements.define(`pop-comment-thread`,Je);function Ye(e){let t=e instanceof Date?e:new Date(e),n=(Date.now()-t.getTime())/1e3;return n<1?`now`:n<60?`${Math.floor(n)}s`:n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.floor(n/3600)}h`:n<604800?`${Math.floor(n/86400)}d`:`${Math.floor(n/604800)}w`}var Xe=A(`
805
1602
  :host {
806
1603
  display: block;
807
1604
  width: 100%;
@@ -1093,8 +1890,8 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1093
1890
  font-style: italic;
1094
1891
  opacity: 0.8;
1095
1892
  }
1096
- `),K=class extends F{constructor(...e){super(...e),this.events={click:`onClick`},this._expanded=!1,this._dropdownOpen=!1,this._onOutsideClick=e=>{let t=e.composedPath(),n=this.getElement(`.comment__dropdown`),r=this.getElement(`.comment__menu-trigger`);n&&r&&!t.includes(n)&&!t.includes(r)&&this.closeDropdown()},this._timeUpdateTimer=null}static get observedAttributes(){return[`data-size`,`comment-id`]}onDataSizeChanged(){this.render()}onCommentIdChanged(){this.render()}get size(){return this.getAttribute(`data-size`)||`sm`}get commentAvatarSize(){return this.size===`sm`?`xs`:`sm`}get styleSheets(){return[Ee]}toggleDropdown(){this._dropdownOpen?this.closeDropdown():this.openDropdown()}openDropdown(){this._dropdownOpen=!0;let e=this.getElement(`.comment__dropdown`),n=this.getElement(`.comment__menu-trigger`);if(e&&n){e.classList.add(`is-open`);let r=()=>{(0,t.computePosition)(n,e,{placement:`bottom-end`,middleware:[(0,t.offset)(4),(0,t.flip)(),(0,t.shift)({padding:8})],strategy:`fixed`}).then(({x:t,y:n})=>{Object.assign(e.style,{left:`${t}px`,top:`${n}px`,position:`fixed`})})};this._floatingCleanup=(0,t.autoUpdate)(n,e,r),document.addEventListener(`mousedown`,this._onOutsideClick)}}closeDropdown(){this._dropdownOpen=!1;let e=this.getElement(`.comment__dropdown`);e&&e.classList.remove(`is-open`),this._floatingCleanup&&=(this._floatingCleanup(),void 0),document.removeEventListener(`mousedown`,this._onOutsideClick)}async deleteComment(){let e=this.getAttribute(`comment-id`);e&&confirm(`Are you sure you want to delete this comment?`)&&await this.gridStore.deleteComment(e)}async flagComment(){let e=this.getAttribute(`comment-id`);e&&(await this.gridStore.flagComment(e)?alert(`Comment flagged successfully.`):alert(`Failed to flag comment.`))}onClick(e){let t=e.target;if(t.closest(`.comment__menu-trigger`)){e.stopPropagation(),this.toggleDropdown();return}let n=t.closest(`.comment__dropdown-item`);if(n){e.stopPropagation();let t=n.getAttribute(`data-action`),r=this.getAttribute(`comment-id`);t===`edit`&&r?(this.gridStore.replyingTo.value=null,this.gridStore.editingCommentId.value=r):t===`delete`?this.deleteComment():t===`flag`&&this.flagComment(),this.closeDropdown();return}if(t.closest(`.comment__dropdown`)){e.stopPropagation();return}if(!p.value)return;let r=this.getAttribute(`comment-id`);r&&this.gridStore.comments.value.find(e=>e.id===r)?.status!==`deleted`&&(this.gridStore.replyingTo.value===r?this.gridStore.replyingTo.value=null:this.gridStore.replyingTo.value=r,this.expandText())}expandText(){let e=this.getElement(`.comment__text`);if(!this._expanded&&e){let t=e.offsetHeight;this._expanded=!0,this.render();let n=this.getElement(`.comment__text`);if(n){let e=n.scrollHeight;n.style.height=`${t}px`,n.style.overflow=`hidden`,n.offsetHeight,n.style.transition=`height var(--pop-duration-quick) var(--pop-ease-quick)`,n.style.height=`${e}px`,setTimeout(()=>{n.style.height=``,n.style.overflow=``},300)}}}disconnectedCallback(){this.closeDropdown(),this.stopTimeUpdates(),super.disconnectedCallback()}startTimeUpdates(){this.stopTimeUpdates();let e=this.getAttribute(`comment-id`);if(!e)return;let t=this.gridStore.comments.value.find(t=>t.id===e);if(!t)return;let n=()=>{let e=this.getElement(`.comment__timestamp`);e&&(e.textContent=G(t.createdAt));let r=Date.now()-(typeof t.createdAt==`number`?t.createdAt:Date.parse(String(t.createdAt))),i=6e4;i=r<6e4?5e3:r<36e5?6e4:18e5,this._timeUpdateTimer=setTimeout(n,i)},r=Date.now()-(typeof t.createdAt==`number`?t.createdAt:Date.parse(String(t.createdAt)))<6e4?5e3:6e4;this._timeUpdateTimer=setTimeout(n,r)}stopTimeUpdates(){this._timeUpdateTimer&&=(clearTimeout(this._timeUpdateTimer),null)}setupEffects(){this.addEffect(()=>{let e=this.getAttribute(`comment-id`),t=p.value,n=this.gridStore.replyingTo.value,r=this.gridStore.editingCommentId.value,i=this.gridStore.scrollingCommentId.value;this.classList.toggle(`is-signed-in`,t!==null),this.classList.toggle(`is-replying`,e!==null&&n===e),this.classList.toggle(`is-editing`,e!==null&&r===e),this.gridStore.comments.value,this.render(),this.startTimeUpdates(),e&&i===e&&setTimeout(()=>{let t=this.shadowRoot?.querySelector(`#comment-${e}`);t?t.scrollIntoView({behavior:`smooth`,block:`center`}):this.scrollIntoView({behavior:`smooth`,block:`center`}),this.gridStore.scrollingCommentId.value=null},50)})}getTemplate(){let e=this.getAttribute(`comment-id`);if(!e)return``;let t=this.gridStore.comments.value.find(t=>t.id===e);if(!t)return``;let n=t.status===`deleted`,r=t.authorDeleted===!0,i=n||r,a=i?``:t.author?.image?`<img src="${t.author.image}" alt="${t.author.name??`User avatar`}" />`:B(t.author?.name),o=this.gridStore.replyingTo.value,s=e!==null&&o===e,c=this.size,l=p.value&&t.author&&p.value.id===t.author.id,u=p.value&&!n?`<div class="comment__menu">
1097
- <button class="comment__menu-trigger" type="button">
1893
+ `),Y=class extends j{constructor(...e){super(...e),this.events={click:`onClick`},this._expanded=!1,this._dropdownOpen=!1,this._onOutsideClick=e=>{let t=e.composedPath(),n=this.getElement(M(`dropdown`)),r=this.getElement(M(`menu-trigger`));n&&r&&!t.includes(n)&&!t.includes(r)&&this.closeDropdown()},this._timeUpdateTimer=null}static get observedAttributes(){return[`data-size`,`comment-id`]}onDataSizeChanged(){this.render()}onCommentIdChanged(){this.render()}get size(){return this.getAttribute(`data-size`)||`sm`}get commentAvatarSize(){return this.size===`sm`?`xs`:`sm`}get styleSheets(){return[Xe]}toggleDropdown(){this._dropdownOpen?this.closeDropdown():this.openDropdown()}openDropdown(){this._dropdownOpen=!0;let t=this.getElement(M(`dropdown`)),n=this.getElement(M(`menu-trigger`));if(t&&n){t.classList.add(`is-open`);let r=()=>{(0,e.computePosition)(n,t,{placement:`bottom-end`,middleware:[(0,e.offset)(4),(0,e.flip)(),(0,e.shift)({padding:8})],strategy:`fixed`}).then(({x:e,y:n})=>{Object.assign(t.style,{left:`${e}px`,top:`${n}px`,position:`fixed`})})};this._floatingCleanup=(0,e.autoUpdate)(n,t,r),document.addEventListener(`mousedown`,this._onOutsideClick)}}closeDropdown(){this._dropdownOpen=!1;let e=this.getElement(M(`dropdown`));e&&e.classList.remove(`is-open`),this._floatingCleanup&&=(this._floatingCleanup(),void 0),document.removeEventListener(`mousedown`,this._onOutsideClick)}async deleteComment(){let e=this.getAttribute(`comment-id`);e&&confirm(`Are you sure you want to delete this comment?`)&&await this.gridStore.deleteComment(e)}async flagComment(){let e=this.getAttribute(`comment-id`);e&&(await this.gridStore.flagComment(e)?alert(`Comment flagged successfully.`):alert(`Failed to flag comment.`))}onClick(e){let t=e.target;if(t.closest(M(`menu-trigger`))){e.stopPropagation(),this.toggleDropdown();return}let n=t.closest(M(`dropdown-item`));if(n){e.stopPropagation();let t=n.getAttribute(`data-action`),r=this.getAttribute(`comment-id`);t===`edit`&&r?(this.gridStore.replyingTo.value=null,this.gridStore.editingCommentId.value=r):t===`delete`?this.deleteComment():t===`flag`&&this.flagComment(),this.closeDropdown();return}if(t.closest(M(`dropdown`))){e.stopPropagation();return}if(!this.authStore.currentUser.value)return;let r=this.getAttribute(`comment-id`);r&&this.gridStore.comments.value.find(e=>e.id===r)?.status!==`deleted`&&(this.gridStore.replyingTo.value===r?this.gridStore.replyingTo.value=null:this.gridStore.replyingTo.value=r,this.expandText())}expandText(){let e=this.getElement(M(`text`));if(!this._expanded&&e){let t=e.offsetHeight;this._expanded=!0,this.render();let n=this.getElement(M(`text`));if(n){let e=n.scrollHeight;n.style.height=`${t}px`,n.style.overflow=`hidden`,n.offsetHeight,n.style.transition=`height var(--pop-duration-quick) var(--pop-ease-quick)`,n.style.height=`${e}px`,setTimeout(()=>{n.style.height=``,n.style.overflow=``},300)}}}disconnectedCallback(){this.closeDropdown(),this.stopTimeUpdates(),super.disconnectedCallback()}startTimeUpdates(){this.stopTimeUpdates();let e=this.getAttribute(`comment-id`);if(!e)return;let t=this.gridStore.comments.value.find(t=>t.id===e);if(!t)return;let n=()=>{let e=this.getElement(M(`timestamp`));e&&(e.textContent=Ye(t.createdAt));let r=Date.now()-(typeof t.createdAt==`number`?t.createdAt:Date.parse(String(t.createdAt))),i=6e4;i=r<6e4?5e3:r<36e5?6e4:18e5,this._timeUpdateTimer=setTimeout(n,i)},r=Date.now()-(typeof t.createdAt==`number`?t.createdAt:Date.parse(String(t.createdAt)))<6e4?5e3:6e4;this._timeUpdateTimer=setTimeout(n,r)}stopTimeUpdates(){this._timeUpdateTimer&&=(clearTimeout(this._timeUpdateTimer),null)}setupEffects(){this.addEffect(()=>{let e=this.getAttribute(`comment-id`),t=this.authStore.currentUser.value,n=this.gridStore.replyingTo.value,r=this.gridStore.editingCommentId.value,i=this.gridStore.scrollingCommentId.value;this.classList.toggle(`is-signed-in`,t!==null),this.classList.toggle(`is-replying`,e!==null&&n===e),this.classList.toggle(`is-editing`,e!==null&&r===e),this.gridStore.comments.value,this.render(),this.startTimeUpdates(),e&&i===e&&setTimeout(()=>{let t=this.shadowRoot?.querySelector(`#comment-${e}`);t?t.scrollIntoView({behavior:`smooth`,block:`center`}):this.scrollIntoView({behavior:`smooth`,block:`center`}),this.gridStore.scrollingCommentId.value=null},50)})}getTemplate(){let e=this.getAttribute(`comment-id`);if(!e)return``;let t=this.gridStore.comments.value.find(t=>t.id===e);if(!t)return``;let r=t.status===`deleted`,i=t.authorDeleted===!0,a=r||i,o=a?``:t.author?.image?`<img src="${t.author.image}" alt="${t.author.name??`User avatar`}" />`:n(t.author?.name),s=this.gridStore.replyingTo.value,c=e!==null&&s===e,l=this.size,u=this.authStore.currentUser.value,d=u&&t.author&&u.id===t.author.id,f=u&&!r?`<div class="comment__menu">
1894
+ <button class="comment__menu-trigger" data-ref="menu-trigger" type="button">
1098
1895
  <svg
1099
1896
  width="18"
1100
1897
  height="18"
@@ -1137,14 +1934,14 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1137
1934
  />
1138
1935
  </svg>
1139
1936
  </button>
1140
- <div class="comment__dropdown">
1141
- ${l?`<button class="comment__dropdown-item" type="button" data-action="edit">Edit</button>
1142
- <button class="comment__dropdown-item comment__dropdown-item--danger" type="button" data-action="delete">Delete</button>`:``}
1143
- <button class="comment__dropdown-item" type="button" data-action="flag">Flag</button>
1937
+ <div class="comment__dropdown" data-ref="dropdown">
1938
+ ${d?`<button class="comment__dropdown-item" data-ref="dropdown-item" type="button" data-action="edit">Edit</button>
1939
+ <button class="comment__dropdown-item comment__dropdown-item--danger" data-ref="dropdown-item" type="button" data-action="delete">Delete</button>`:``}
1940
+ <button class="comment__dropdown-item" data-ref="dropdown-item" type="button" data-action="flag">Flag</button>
1144
1941
  </div>
1145
1942
  </div>`:``;return`
1146
1943
  <div
1147
- class="comment comment--size-${c}${s?` comment--is-selected`:``}${n?` comment--deleted`:``}"
1944
+ class="comment comment--size-${l}${c?` comment--is-selected`:``}${r?` comment--deleted`:``}"
1148
1945
  id="comment-${e}"
1149
1946
  >
1150
1947
  <div class="comment__user">
@@ -1152,39 +1949,39 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1152
1949
  class="comment__avatar"
1153
1950
  size="${this.commentAvatarSize}"
1154
1951
  data-color-key="${t.author?.id??t.author?.name??``}"
1155
- ${i?`deleted`:``}
1952
+ ${a?`deleted`:``}
1156
1953
  >
1157
- ${a}
1954
+ ${o}
1158
1955
  </pop-comment-avatar>
1159
1956
  </div>
1160
1957
  <div class="comment__content">
1161
1958
  <div class="comment__info">
1162
1959
  <div class="comment__user-meta">
1163
1960
  <div class="comment__user-name">
1164
- ${n?`[Deleted]`:r?`[Deleted user]`:t.author?.name??``}
1961
+ ${r?`[Deleted]`:i?`[Deleted user]`:t.author?.name??``}
1165
1962
  </div>
1166
- <div class="comment__timestamp">${G(t.createdAt)}</div>
1963
+ <div class="comment__timestamp" data-ref="timestamp">${Ye(t.createdAt)}</div>
1167
1964
  </div>
1168
- ${u}
1965
+ ${f}
1169
1966
  </div>
1170
- <div class="comment__text${this._expanded?` expanded`:``}">${t.body}</div>
1967
+ <div class="comment__text${this._expanded?` expanded`:``}" data-ref="text">${t.body}</div>
1171
1968
  </div>
1172
1969
  </div>
1173
- `}};I([x(E)],K.prototype,`gridStore`,void 0),customElements.get(`pop-comment`)||customElements.define(`pop-comment`,K);var De=P(`
1970
+ `}};N([S(K)],Y.prototype,`gridStore`,void 0),N([S(b)],Y.prototype,`authStore`,void 0),customElements.get(`pop-comment`)||customElements.define(`pop-comment`,Y);var Ze=A(`
1174
1971
  :host {
1175
1972
  display: flex;
1176
1973
  background: var(--pop-background);
1177
1974
  border-radius: var(--pop-radius-2xl);
1178
- border: 1px solid var(--pop-background);
1975
+ /* border: 1px solid var(--pop-background); */
1179
1976
  box-shadow: var(--pop-shadow-3xl);
1180
1977
  display: block;
1181
1978
  left: 0;
1182
- max-height: 400px;
1979
+ max-height: 340px;
1183
1980
  max-width: 400px;
1184
1981
  min-width: 343px;
1185
1982
  opacity: 0;
1186
1983
  overflow: hidden;
1187
- padding: 0 4px 0 0;
1984
+ padding: 0;
1188
1985
  pointer-events: none;
1189
1986
  position: fixed;
1190
1987
  top: 0;
@@ -1233,18 +2030,35 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1233
2030
  }
1234
2031
  }
1235
2032
 
2033
+ /* .feed__content and .feed__footer are stacked in the same grid cell
2034
+ (see grid-area below) rather than laid out as flex siblings, so the
2035
+ footer can grow taller (email/code/no-code states) and overlay the
2036
+ comment list instead of pushing it — the grid row auto-sizes to
2037
+ whichever of the two is taller, which a manual absolute-position +
2038
+ fixed-height-reservation approach can't do without clipping against
2039
+ :host's overflow:hidden when the footer is the tall one. */
1236
2040
  .feed {
1237
2041
  display: grid;
1238
- grid-template-rows: 1fr 50px;
2042
+ grid-template-columns: 1fr;
2043
+ grid-template-rows: 1fr;
2044
+ /* height (not just max-height) gives the grid row a definite size to
2045
+ shrink to — otherwise an auto-height grid container sizes its 1fr
2046
+ row to content's max-content height regardless of max-height,
2047
+ clipping instead of scrolling. */
2048
+ height: fit-content(340px);
2049
+ max-height: 340px;
1239
2050
  }
1240
2051
 
1241
2052
  .feed__content {
1242
2053
  align-items: flex-start;
2054
+ /* stretch (not start) so .feed__main inherits a bounded height to
2055
+ scroll within, instead of growing to fit all comments. */
1243
2056
  align-self: stretch;
1244
2057
  display: flex;
1245
2058
  gap: 8px;
1246
- min-height: 80px;
1247
- max-height: 290px;
2059
+ grid-area: 1 / 1;
2060
+ min-height: 0;
2061
+ width: 100%;
1248
2062
  }
1249
2063
 
1250
2064
  .feed__empty {
@@ -1257,10 +2071,65 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1257
2071
  }
1258
2072
 
1259
2073
  .feed__footer {
1260
- position: absolute;
1261
- bottom: 0;
1262
- min-height: 50px;
2074
+ align-self: end;
2075
+ grid-area: 1 / 1;
1263
2076
  width: 100%;
2077
+ z-index: 1;
2078
+ }
2079
+
2080
+ /* Full-widget scrim for auth errors (e.g. "You were signed out"). Sits in
2081
+ the same grid cell as the content and footer, above both, so the message
2082
+ never takes layout space from the join bar. Click to dismiss. */
2083
+ .feed__notice {
2084
+ align-items: center;
2085
+ background: color-mix(in srgb, var(--pop-background) 80%, transparent);
2086
+ color: var(--pop-foreground);
2087
+ cursor: pointer;
2088
+ display: flex;
2089
+ font-family: Inter, sans-serif;
2090
+ font-size: 13px;
2091
+ grid-area: 1 / 1;
2092
+ justify-content: center;
2093
+ line-height: 18px;
2094
+ padding: 24px;
2095
+ text-align: center;
2096
+ z-index: 2;
2097
+ }
2098
+
2099
+ .feed__notice-box {
2100
+ align-items: center;
2101
+ background: var(--pop-background);
2102
+ border: 1px solid var(--pop-border);
2103
+ border-radius: var(--pop-radius-sm);
2104
+ cursor: default;
2105
+ display: flex;
2106
+ flex-direction: column;
2107
+ gap: 12px;
2108
+ padding: 16px;
2109
+ }
2110
+
2111
+ .feed__notice-box:focus {
2112
+ outline: none;
2113
+ }
2114
+
2115
+ .feed__notice[hidden] {
2116
+ display: none;
2117
+ }
2118
+
2119
+ .feed__notice-dismiss {
2120
+ background: var(--pop-foreground);
2121
+ border: none;
2122
+ border-radius: var(--pop-radius-xs);
2123
+ color: var(--pop-background);
2124
+ cursor: pointer;
2125
+ font: inherit;
2126
+ font-weight: 600;
2127
+ padding: 6px 12px;
2128
+ }
2129
+
2130
+ .feed__notice-dismiss:focus-visible {
2131
+ outline: 2px solid var(--pop-ring);
2132
+ outline-offset: 2px;
1264
2133
  }
1265
2134
 
1266
2135
  .feed__main {
@@ -1268,11 +2137,14 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1268
2137
  align-self: stretch;
1269
2138
  display: flex;
1270
2139
  flex-direction: column;
1271
- flex: 1 0 0;
2140
+ flex: 1 1 0;
1272
2141
  gap: 16px;
1273
- min-height: 100%;
2142
+ min-height: 0;
1274
2143
  overflow: hidden auto;
1275
- padding: 8px 10px 8px 8px;
2144
+ /* Bottom padding reserves space for the idle "Join the Conversation"
2145
+ bar (~50px) so comments end above it, same as before this became an
2146
+ overlay — a taller auth-panel state then naturally covers more. */
2147
+ padding: 8px 10px 58px 8px;
1276
2148
  }
1277
2149
 
1278
2150
  .feed__main::-webkit-scrollbar {
@@ -1287,14 +2159,23 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1287
2159
  background: var(--pop-border);
1288
2160
  border-radius: 100px;
1289
2161
  }
1290
- `),q=class extends F{constructor(...e){super(...e),this._footerChild=null,this._wasOpen=!1}get styleSheets(){return[De]}connectedCallback(){super.connectedCallback(),document.addEventListener(`mousedown`,this),document.addEventListener(`keydown`,this)}disconnectedCallback(){document.removeEventListener(`mousedown`,this),document.removeEventListener(`keydown`,this),super.disconnectedCallback()}handleEvent(e){if(e.type===`mousedown`){this.onOutsideClick(e);return}if(e.type===`keydown`){this.onKeyDown(e);return}super.handleEvent(e)}onOutsideClick(e){if(!this.gridStore.open.value)return;let t=e.composedPath(),n=this.getRootNode(),r=n instanceof ShadowRoot?n.host:null;!t.includes(this)&&(!r||!t.includes(r))&&(this.gridStore.open.value=!1)}onKeyDown(e){e.key===`Escape`&&(this.gridStore.open.value=!1)}setupEffects(){this.addEffect(()=>{let e=this.gridStore.open.value;e&&!this._wasOpen&&this.gridStore.grid.value&&v(this.gridStore.apiUrl,this.gridStore.publicKey),this._wasOpen=e,this.update()})}update(){this.gridStore.open.value?this.setAttribute(`open`,``):this.removeAttribute(`open`);let e=this.getElement(`.feed__main`);if(e){let t=this.gridStore.topLevelComments.value;if(t.length===0)e.querySelector(`.feed__empty`)||(e.innerHTML=`<div class="feed__empty">Waiting for your thoughts…</div>`);else{let n=Array.from(e.querySelectorAll(`pop-comment-thread`)).map(e=>e.getAttribute(`comment-id`)),r=t.map(e=>e.id);(n.length!==r.length||n.some((e,t)=>e!==r[t]))&&(e.innerHTML=t.map(e=>`<pop-comment-thread comment-id="${e.id}"></pop-comment-thread>`).join(``))}}let t=this.getElement(`.feed__footer`);if(t){let e=p.value===null?`pop-auth-panel`:`pop-comment-bar`;this._footerChild!==e&&(this._footerChild=e,t.innerHTML=`<${e}></${e}>`)}}getTemplate(){return`
2162
+ `),X=class extends j{constructor(...e){super(...e),this._footerChild=null,this._wasOpen=!1,this._noticeRetryAt=null,this.events={click:`onClick`}}get styleSheets(){return[Ze]}onClick(e){e.target.closest(M(`notice`))&&this.authStore.authErrorRetryAt.value===null&&this.authStore.dismissAuthError()}connectedCallback(){super.connectedCallback(),document.addEventListener(`mousedown`,this),document.addEventListener(`keydown`,this)}disconnectedCallback(){document.removeEventListener(`mousedown`,this),document.removeEventListener(`keydown`,this),window.clearInterval(this._noticeTimer),super.disconnectedCallback()}handleEvent(e){if(e.type===`mousedown`){this.onOutsideClick(e);return}if(e.type===`keydown`){this.onKeyDown(e);return}super.handleEvent(e)}onOutsideClick(e){if(!this.gridStore.open.value)return;let t=e.composedPath(),n=this.getRootNode(),r=n instanceof ShadowRoot?n.host:null;if(!t.includes(this)&&(!r||!t.includes(r))){if(this.authStore.authView.value!==`idle`){this.authStore.backToIdle();return}this.gridStore.open.value=!1}}onKeyDown(e){if(e.key===`Escape`){if(this.authStore.authError.value){this.authStore.clearAuthError();return}if(this.authStore.authView.value!==`idle`){this.authStore.backToIdle();return}this.gridStore.open.value=!1}}setupEffects(){this.addEffect(()=>{let e=this.gridStore.open.value;e&&!this._wasOpen&&this.gridStore.grid.value&&this.authStore.connectAuthChannel(),!e&&this._wasOpen&&this.authStore.clearAuthError(),this._wasOpen=e,this.update()})}syncNoticeCountdown(e){if(e===this._noticeRetryAt)return;this._noticeRetryAt=e,window.clearInterval(this._noticeTimer);let t=this.getElement(M(`notice-dismiss`));t&&(t.hidden=e!==null);let n=this.getElement(M(`notice-countdown`));if(n&&(n.hidden=e===null),!n||e===null)return;let r=()=>{let t=Math.max(0,Math.ceil((e-Date.now())/1e3));return n.textContent=`Try again in ${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`,t===0};r(),this._noticeTimer=window.setInterval(()=>{r()&&(window.clearInterval(this._noticeTimer),this.authStore.dismissAuthError())},1e3)}update(){this.gridStore.open.value?this.setAttribute(`open`,``):this.removeAttribute(`open`);let e=this.getElement(M(`main`));if(e){let t=this.gridStore.topLevelComments.value;if(t.length===0)e.querySelector(M(`empty`))||(e.innerHTML=`<div class="feed__empty" data-ref="empty">Waiting for your thoughts…</div>`);else{let n=Array.from(e.querySelectorAll(`pop-comment-thread`)).map(e=>e.getAttribute(`comment-id`)),r=t.map(e=>e.id);(n.length!==r.length||n.some((e,t)=>e!==r[t]))&&(e.innerHTML=t.map(e=>`<pop-comment-thread comment-id="${e.id}"></pop-comment-thread>`).join(``))}}let t=this.authStore.authError.value,n=this.getElement(M(`notice`));if(n){let e=n.hidden;n.hidden=!t,this.setText(M(`notice-message`),t??``);let r=t?this.authStore.authErrorRetryAt.value:null;t&&this.setText(M(`notice-dismiss`),this.authStore.authErrorAction.value),this.syncNoticeCountdown(r),this.getElement(M(`content`))?.toggleAttribute(`inert`,!!t),this.getElement(M(`footer`))?.toggleAttribute(`inert`,!!t),t&&e&&this.gridStore.open.value&&this.getElement(M(r===null?`notice-dismiss`:`notice-box`))?.focus()}let r=this.getElement(M(`footer`));if(r){let e=this.authStore.currentUser.value===null?`pop-auth-panel`:`pop-comment-bar`;this._footerChild!==e&&(this._footerChild=e,r.innerHTML=`<${e}></${e}>`)}}getTemplate(){return`
1291
2163
  <div class="feed">
1292
- <div class="feed__content">
1293
- <div class="feed__main"></div>
2164
+ <div class="feed__content" data-ref="content">
2165
+ <div class="feed__main" data-ref="main"></div>
2166
+ </div>
2167
+ <div class="feed__footer" data-ref="footer"></div>
2168
+ <div class="feed__notice" data-ref="notice" role="alert" hidden>
2169
+ <div class="feed__notice-box" data-ref="notice-box" tabindex="-1">
2170
+ <span data-ref="notice-message"></span>
2171
+ <span data-ref="notice-countdown" role="timer" hidden></span>
2172
+ <button class="feed__notice-dismiss" data-ref="notice-dismiss" type="button">
2173
+ Dismiss
2174
+ </button>
2175
+ </div>
1294
2176
  </div>
1295
- <div class="feed__footer"></div>
1296
2177
  </div>
1297
- `}};I([x(E)],q.prototype,`gridStore`,void 0),customElements.get(`pop-feed`)||customElements.define(`pop-feed`,q);function Oe(){return typeof window<`u`}function J(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ke(e){return Oe()?e instanceof Element||e instanceof J(e).Element:!1}var Ae=/transform|translate|scale|rotate|perspective|filter/,je=/paint|layout|strict|content/,Y=e=>!!e&&e!==`none`,X;function Me(e){let t=ke(e)?Pe(e):e;return Y(t.transform)||Y(t.translate)||Y(t.scale)||Y(t.rotate)||Y(t.perspective)||!Ne()&&(Y(t.backdropFilter)||Y(t.filter))||Ae.test(t.willChange||``)||je.test(t.contain||``)}function Ne(){return X??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),X}function Pe(e){return J(e).getComputedStyle(e)}function Fe(e){return Q(e)}function Z(e){return e.assignedSlot?e.assignedSlot:e.parentNode instanceof ShadowRoot?e.parentNode.host:e.parentNode}function Q(e){for(let t=e;t;t=Z(t))if(t instanceof Element&&getComputedStyle(t).display===`none`)return null;for(let t=Z(e);t;t=Z(t)){if(!(t instanceof Element))continue;let e=getComputedStyle(t);if(e.display!==`contents`&&(e.position!==`static`||Me(e)||t.tagName===`BODY`))return t}return null}var Ie=`https://www.popgrids.io`,Le=new Set([`start`,`center`,`end`]),Re=new Set([`sm`,`lg`]),ze=new Set([`auto`,`up`,`down`]),Be=P(`
2178
+ `}};N([S(K)],X.prototype,`gridStore`,void 0),N([S(b)],X.prototype,`authStore`,void 0),customElements.get(`pop-feed`)||customElements.define(`pop-feed`,X);function Qe(){return typeof window<`u`}function $e(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function et(e){return Qe()?e instanceof Element||e instanceof $e(e).Element:!1}var tt=/transform|translate|scale|rotate|perspective|filter/,nt=/paint|layout|strict|content/,Z=e=>!!e&&e!==`none`,rt;function it(e){let t=et(e)?ot(e):e;return Z(t.transform)||Z(t.translate)||Z(t.scale)||Z(t.rotate)||Z(t.perspective)||!at()&&(Z(t.backdropFilter)||Z(t.filter))||tt.test(t.willChange||``)||nt.test(t.contain||``)}function at(){return rt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),rt}function ot(e){return $e(e).getComputedStyle(e)}function st(e){return ct(e)}function Q(e){return e.assignedSlot?e.assignedSlot:e.parentNode instanceof ShadowRoot?e.parentNode.host:e.parentNode}function ct(e){for(let t=e;t;t=Q(t))if(t instanceof Element&&getComputedStyle(t).display===`none`)return null;for(let t=Q(e);t;t=Q(t)){if(!(t instanceof Element))continue;let e=getComputedStyle(t);if(e.display!==`contents`&&(e.position!==`static`||it(e)||t.tagName===`BODY`))return t}return null}var lt=`https://www.popgrids.io`,ut=new Set([`start`,`center`,`end`]),dt=new Set([`sm`,`lg`]),ft=new Set([`auto`,`up`,`down`]),pt=A(`
1298
2179
  :host {
1299
2180
  display: block;
1300
2181
  position: relative;
@@ -1318,12 +2199,12 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1318
2199
  .grid--align-end {
1319
2200
  justify-content: flex-end;
1320
2201
  }
1321
- `),Ve=class extends F{constructor(...e){super(...e),this._initialized=!1}get styleSheets(){return[Be]}static get observedAttributes(){return[`data-align`,`data-layout`,`data-position`,`data-icon`,`data-preview-count`]}connectedCallback(){if(this._initialized)return;this._initialized=!0;let e=this.getAttribute(`data-key`)??this.getAttribute(`public-key`)??``,t=this.getAttribute(`data-api-url`)??this.getAttribute(`api-url`)??Ie,n=this.getAttribute(`data-page-url`)??this.getAttribute(`page-url`)??location.href,r=this.getAttribute(`data-id`);this._store=new E({apiUrl:t,publicKey:e,pageUrl:n,externalId:r}),ne(this,this._store),super.connectedCallback(),this._store.setOverrides(this._readOverridesFromAttributes()),this._store.load().then(n=>{n&&v(t,e)})}_readOverridesFromAttributes(){let e={},t=this.getAttribute(`data-align`);t&&Le.has(t)&&(e.align=t);let n=this.getAttribute(`data-layout`);n&&Re.has(n)&&(e.layout=n);let r=this.getAttribute(`data-position`);r&&ze.has(r)&&(e.position=r);let i=this.getAttribute(`data-icon`);i&&(e.icon=i);let a=this.getAttribute(`data-preview-count`);if(a!==null){let t=Number(a);Number.isInteger(t)&&t>0&&(e.previewCount=t)}return e}_applyOverridesFromAttributes(){this._store&&this._store.setOverrides(this._readOverridesFromAttributes())}onDataAlignChanged(){this._applyOverridesFromAttributes()}onDataLayoutChanged(){this._applyOverridesFromAttributes()}onDataPositionChanged(){this._applyOverridesFromAttributes()}onDataIconChanged(){this._applyOverridesFromAttributes()}onDataPreviewCountChanged(){this._applyOverridesFromAttributes()}disconnectedCallback(){this._floatingCleanup?.(),this._store.destroy(),re(this),super.disconnectedCallback()}setupEffects(){this.addEffect(()=>{let e=this._store.grid.value,t=this.getElement(`.grid`);if(!t)return;let n=Array.from(t.classList).filter(e=>e.startsWith(`grid--`));if(n.length>0&&t.classList.remove(...n),e){e.align&&t.classList.add(`grid--align-${e.align}`),e.appearance&&t.classList.add(`grid--appearance-${e.appearance}`),e.icon&&t.classList.add(`grid--icon-${e.icon}`),e.layout&&t.classList.add(`grid--layout-${e.layout}`),e.position&&t.classList.add(`grid--position-${e.position}`);let n=e.previewCount??this._store.previewCount;t.classList.add(`grid--preview-${n}`)}}),this.addEffect(()=>{let e=this._store.open.value;if(this._floatingCleanup&&=(this._floatingCleanup(),void 0),!e)return;let n=this.getElement(`pop-widget`),r=this.getElement(`pop-feed`);if(!n||!r)return;let i=this._store.grid.value;if(!i)return;let a=[];a=[(0,t.offset)({mainAxis:i.position===`down`?-16:-54,crossAxis:-18})],(!i.position||i.position===`auto`)&&a.push((0,t.flip)({fallbackPlacements:[`bottom-start`,`top-start`],fallbackStrategy:`bestFit`,padding:16}));let o=e=>t.platform.getOffsetParent(e,Fe),s=()=>{(0,t.computePosition)(n,r,{placement:i.position===`down`?`bottom-start`:`top-start`,middleware:a,strategy:`fixed`,platform:{...t.platform,getOffsetParent:o}}).then(({x:e,y:t,placement:n})=>{r.setAttribute(`data-current-placement`,n),Object.assign(r.style,{left:`${e}px`,top:`${t}px`})})};this._floatingCleanup=(0,t.autoUpdate)(n,r,s)})}getTemplate(){return`
1322
- <div class="grid">
2202
+ `),mt=class extends j{constructor(...e){super(...e),this._initialized=!1}get styleSheets(){return[pt]}static get observedAttributes(){return[`data-align`,`data-layout`,`data-position`,`data-icon`,`data-preview-count`]}connectedCallback(){if(this._initialized)return;this._initialized=!0;let e=this.getAttribute(`data-key`)??this.getAttribute(`public-key`)??``,t=this.getAttribute(`data-api-url`)??this.getAttribute(`api-url`)??lt,n=this.getAttribute(`data-page-url`)??this.getAttribute(`page-url`)??location.href,r=this.getAttribute(`data-id`);this._authStore=new b({apiUrl:t,publicKey:e}),ce(this,this._authStore),this._store=new K({apiUrl:t,publicKey:e,pageUrl:n,externalId:r,authStore:this._authStore}),ce(this,this._store),super.connectedCallback(),this._store.setOverrides(this._readOverridesFromAttributes()),this._store.load()}_readOverridesFromAttributes(){let e={},t=this.getAttribute(`data-align`);t&&ut.has(t)&&(e.align=t);let n=this.getAttribute(`data-layout`);n&&dt.has(n)&&(e.layout=n);let r=this.getAttribute(`data-position`);r&&ft.has(r)&&(e.position=r);let i=this.getAttribute(`data-icon`);i&&(e.icon=i);let a=this.getAttribute(`data-preview-count`);if(a!==null){let t=Number(a);Number.isInteger(t)&&t>0&&(e.previewCount=t)}return e}_applyOverridesFromAttributes(){this._store&&this._store.setOverrides(this._readOverridesFromAttributes())}onDataAlignChanged(){this._applyOverridesFromAttributes()}onDataLayoutChanged(){this._applyOverridesFromAttributes()}onDataPositionChanged(){this._applyOverridesFromAttributes()}onDataIconChanged(){this._applyOverridesFromAttributes()}onDataPreviewCountChanged(){this._applyOverridesFromAttributes()}disconnectedCallback(){this._floatingCleanup?.(),this._store.destroy(),this._authStore.destroy(),le(this),super.disconnectedCallback()}setupEffects(){this.addEffect(()=>{let e=this._store.grid.value,t=this.getElement(M(`grid`));if(!t)return;let n=Array.from(t.classList).filter(e=>e.startsWith(`grid--`));if(n.length>0&&t.classList.remove(...n),e){e.align&&t.classList.add(`grid--align-${e.align}`),e.appearance&&t.classList.add(`grid--appearance-${e.appearance}`),e.icon&&t.classList.add(`grid--icon-${e.icon}`),e.layout&&t.classList.add(`grid--layout-${e.layout}`),e.position&&t.classList.add(`grid--position-${e.position}`);let n=e.previewCount??this._store.previewCount;t.classList.add(`grid--preview-${n}`)}}),this.addEffect(()=>{let t=this._store.open.value;if(this._floatingCleanup&&=(this._floatingCleanup(),void 0),!t)return;let n=this.getElement(`pop-widget`),r=this.getElement(`pop-feed`);if(!n||!r)return;let i=this._store.grid.value;if(!i)return;let a=[];a=[(0,e.offset)({mainAxis:i.position===`down`?-16:-54,crossAxis:-18})],(!i.position||i.position===`auto`)&&a.push((0,e.flip)({fallbackPlacements:[`bottom-start`,`top-start`],fallbackStrategy:`bestFit`,padding:16}));let o=t=>e.platform.getOffsetParent(t,st),s=()=>{(0,e.computePosition)(n,r,{placement:i.position===`down`?`bottom-start`:`top-start`,middleware:a,strategy:`fixed`,platform:{...e.platform,getOffsetParent:o}}).then(({x:e,y:t,placement:n})=>{r.setAttribute(`data-current-placement`,n),Object.assign(r.style,{left:`${e}px`,top:`${t}px`})})};this._floatingCleanup=(0,e.autoUpdate)(n,r,s)})}getTemplate(){return`
2203
+ <div class="grid" data-ref="grid">
1323
2204
  <pop-widget></pop-widget>
1324
2205
  <pop-feed></pop-feed>
1325
2206
  </div>
1326
- `}};customElements.get(`pop-grid`)||customElements.define(`pop-grid`,Ve);var He=P(`
2207
+ `}};customElements.get(`pop-grid`)||customElements.define(`pop-grid`,mt);var ht=A(`
1327
2208
  :host {
1328
2209
  --error-badge-bg: #fef2f2;
1329
2210
  --error-badge-text: #991b1b;
@@ -1465,12 +2346,12 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1465
2346
  z-index: 20;
1466
2347
  top: 1px;
1467
2348
  }
1468
- `),$=class extends F{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[He]}onClick(){this.gridStore.error.value||(this.gridStore.open.value=!this.gridStore.open.value)}setupEffects(){this.addEffect(()=>{this.gridStore.loading.value,this.gridStore.error.value,this.gridStore.previewAvatars.value,this.gridStore.comments.value,this.gridStore.grid.value;let e=!!this.gridStore.error.value;this.toggleAttribute(`data-error`,e),e&&this.gridStore.open.value&&(this.gridStore.open.value=!1),this.render()})}getTemplate(){if(this.gridStore.loading.value)return`<div class="widget"><div class="skeleton mask mask-squircle"></div></div>`;if(this.gridStore.error.value)return`<div class="error-badge">Error: there was a problem loading the PopGrid</div>`;let e=this.gridStore.previewAvatars.value,t=this.gridStore.comments.value.length,n=this.gridStore.grid.value,r=n?.layout===`lg`?`md`:`xs`,i=n?.icon===`brand`?`brand`:`neutral`;return`
2349
+ `),$=class extends j{constructor(...e){super(...e),this.events={click:`onClick`}}get styleSheets(){return[ht]}onClick(){this.gridStore.error.value||(this.gridStore.open.value=!this.gridStore.open.value)}setupEffects(){this.addEffect(()=>{this.gridStore.loading.value,this.gridStore.error.value,this.gridStore.previewAvatars.value,this.gridStore.comments.value,this.gridStore.grid.value;let e=!!this.gridStore.error.value;this.toggleAttribute(`data-error`,e),e&&this.gridStore.open.value&&(this.gridStore.open.value=!1),this.render()})}getTemplate(){if(this.gridStore.loading.value)return`<div class="widget"><div class="skeleton mask mask-squircle"></div></div>`;if(this.gridStore.error.value)return`<div class="error-badge">Error: there was a problem loading the PopGrid</div>`;let e=this.gridStore.previewAvatars.value,t=this.gridStore.comments.value.length,r=this.gridStore.grid.value,i=r?.layout===`lg`?`md`:`xs`,a=r?.icon===`brand`?`brand`:`neutral`;return`
1469
2350
  <div class="widget">
1470
- ${e.map((t,n)=>{let i=e.length+n,a=t?.id??t?.name??``;return t?.image?`<pop-comment-avatar size="${r}" style="z-index: ${i}" data-color-key="${a}">
2351
+ ${e.map((t,r)=>{let a=e.length+r,o=t?.id??t?.name??``;return t?.image?`<pop-comment-avatar size="${i}" style="z-index: ${a}" data-color-key="${o}">
1471
2352
  <img src="${t.image}" alt="${t.name??`User`}" />
1472
- </pop-comment-avatar>`:`<pop-comment-avatar size="${r}" style="z-index: ${i}" data-color-key="${a}">
1473
- ${B(t?.name)}
2353
+ </pop-comment-avatar>`:`<pop-comment-avatar size="${i}" style="z-index: ${a}" data-color-key="${o}">
2354
+ ${n(t?.name)}
1474
2355
  </pop-comment-avatar>`}).join(``)}
1475
2356
  <div class="count mask mask-squircle">
1476
2357
  <span class="count__content mask mask-squircle">
@@ -1480,7 +2361,7 @@ let e=require("@preact/signals-core"),t=require("@floating-ui/dom");var n=`/embe
1480
2361
  </div>
1481
2362
  </span>
1482
2363
  </div>
1483
- <pop-comment-icon variant="add" theme="${i}" size="xs"></pop-comment-icon>
2364
+ <pop-comment-icon variant="add" theme="${a}" size="xs"></pop-comment-icon>
1484
2365
  </div>
1485
- `}};if(I([x(E)],$.prototype,`gridStore`,void 0),customElements.get(`pop-widget`)||customElements.define(`pop-widget`,$),typeof document<`u`){let e=`https://rsms.me/inter/inter.css`;if(!document.querySelector(`link[href="${e}"]`)){let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t)}}
2366
+ `}};if(N([S(K)],$.prototype,`gridStore`,void 0),customElements.get(`pop-widget`)||customElements.define(`pop-widget`,$),typeof document<`u`){let e=`https://rsms.me/inter/inter.css`;if(!document.querySelector(`link[href="${e}"]`)){let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t)}}
1486
2367
  //# sourceMappingURL=index.cjs.map