uapp-communication-sdk 1.0.0-dev.113 → 1.0.0-dev.114

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.
@@ -2097,5 +2097,5 @@ header h3 {
2097
2097
  rgb(var(--rtk-colors-background-1000, 8 8 8))
2098
2098
  );--icon-size:var(--rtk-controlbar-button-icon-size, var(--rtk-space-7, 28px));position:relative;box-sizing:border-box;display:inline-flex;height:100%;width:auto;min-width:var(--rtk-space-20, 80px);-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--rtk-border-radius-md, 8px);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:rgb(var(--rtk-colors-text-1000, 255 255 255));background-color:var(--background-color)}button{padding:var(--rtk-space-1, 4px)}:host(.red-icon) #icon{--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}:host([disabled]){color:rgb(var(--rtk-colors-text-600, 255 255 255 / 0.52))}button{box-sizing:border-box;display:inline-flex;height:100%;width:100%;flex:1 1 0%;flex-direction:column;gap:var(--rtk-space-1, 4px);padding-left:var(--rtk-space-1, 4px);padding-right:var(--rtk-space-1, 4px);align-items:center;justify-content:center;cursor:pointer;border-radius:var(--rtk-border-radius-md, 8px);border-width:var(--rtk-border-width-none, 0);border-style:none;background-color:transparent;color:inherit;outline-offset:-2px;border:var(--rtk-border-width-md, 2px) solid transparent}.label{text-align:center;font-size:12px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}#warning-indicator{position:absolute;top:var(--rtk-space-1, 4px);right:var(--rtk-space-2, 8px);height:var(--rtk-space-4, 16px);width:var(--rtk-space-4, 16px);--tw-text-opacity:1;color:rgba(var(--rtk-colors-warning, 255 205 7) / var(--tw-text-opacity))}:host([size='sm']) #warning-indicator{right:var(--rtk-space-0, 0px);top:var(--rtk-space-0, 0px);height:var(--rtk-space-3, 12px);width:var(--rtk-space-3, 12px)}:host(:hover) button{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity))}#icon{width:var(--icon-size);height:var(--icon-size)}:host(.leave:hover) button{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity));border:var(--rtk-border-width-md, 2px) solid rgb(var(--rtk-colors-danger, 255 45 45))}:host(.active) button{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-400, 53 110 253) / var(--tw-text-opacity));border:var(--rtk-border-width-md, 2px) solid rgb(var(--rtk-colors-brand-400, 53 110 253))}button:focus-visible{outline:2px solid rgb(var(--rtk-colors-brand-400, 53 110 253))}:host(.active-livestream){--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}:host([size='sm']){min-width:var(--rtk-space-14, 56px)}:host([size='sm']) .label{display:none}:host([variant='horizontal']){width:100%}:host([variant='horizontal']) button{border-radius:7px;height:var(--rtk-space-12, 48px);width:100%;padding-left:var(--rtk-space-5, 20px);padding-right:var(--rtk-space-5, 20px);padding-top:var(--rtk-space-3, 12px);padding-bottom:var(--rtk-space-3, 12px);flex-direction:row;justify-content:flex-start;gap:var(--rtk-space-3, 12px)}:host([variant='horizontal']) #icon{width:var(--rtk-space-6, 24px)}:host([variant='horizontal']) .label{display:block;font-size:14px;line-height:1.25rem}:host([variant='horizontal']) #warning-indicator{right:auto;left:var(--rtk-space-4, 16px)}:host([brand-icon]) rtk-icon#icon{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-text-opacity))}@media only screen and (max-device-height: 480px) and (orientation: landscape){:host .label{display:none}:slotted(rtk-icon){height:var(--rtk-space-4, 16px);width:var(--rtk-space-4, 16px)}}`,EYt=function(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},L5=class{constructor(e){J(this,e),this.variant=`button`,this.showWarning=!1,this.disabled=!1,this.iconPack=u0,this.brandIcon=!1}render(){return Y(X,{key:`90cbc7f04dd7975ef7331aace992aeadd1fdba52`},Y(`button`,{key:`36ea971cf7d69742346dd6a65b41ef57def59a40`,"aria-label":this.label,part:`button`},this.isLoading?Y(`rtk-spinner`,{id:`icon`,part:`spinner`,iconPack:this.iconPack}):Y(`rtk-icon`,{id:`icon`,icon:this.icon,tabIndex:-1,"aria-hidden":!0,part:`icon`}),Y(`span`,{key:`83dda2888c01eec119c1cc21921a682cc2111307`,class:`label`,part:`label`},this.label),this.showWarning&&Y(`rtk-icon`,{key:`abddcd4d3c81f7ba09cc4595c98cb55c76d678ad`,id:`warning-indicator`,icon:this.iconPack.warning,part:`warning-indicator`})))}static get delegatesFocus(){return!0}},EYt([K()],L5.prototype,`iconPack`,void 0),L5.style=TYt,DYt=Object.freeze({__proto__:null,rtk_controlbar_button:L5})})),kYt=s((()=>{OYt(),(function(){if(typeof window<`u`&&window.Reflect!==void 0&&window.customElements!==void 0){var e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)},HTMLElement.prototype=e.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,e)}})()})),AYt,jYt,MYt=s((()=>{zCt(),kYt(),GPt(),AYt=YY(`rtk-meeting`),jYt=YY(`rtk-participants-audio`)})),NYt=s((()=>{MYt()})),PYt=s((()=>{wCt(),NYt()})),FYt=l({EMPTY_ROOM_GRACE_MS:()=>IYt,RealtimeKitCallMedia:()=>RYt}),R5,z5,IYt,LYt,RYt,zYt=s((()=>{R5=d(m(),1),m7e(),PYt(),z5=Mo(),IYt=4e3,LYt=(e,t)=>{(0,R5.useEffect)(()=>{if(e===void 0)return;let n=e.participants.joined.size>0,r,i=()=>{r!==void 0&&(window.clearTimeout(r),r=void 0)},a=()=>{n=!0,i()},o=()=>{!n||e.participants.joined.size>0||r!==void 0||(r=window.setTimeout(()=>{r=void 0,e.participants.joined.size===0&&t()},IYt))};return e.participants.joined.on(`participantJoined`,a),e.participants.joined.on(`participantLeft`,o),()=>{i(),e.participants.joined.off(`participantJoined`,a),e.participants.joined.off(`participantLeft`,o)}},[e,t])},RYt=({ticket:e,muted:t,onConnected:n,onEnded:r})=>{let[,i]=p7e(),[a,o]=(0,R5.useState)(void 0),s=(0,R5.useRef)(!1);return(0,R5.useEffect)(()=>{s.current||(s.current=!0,i({authToken:e.token,defaults:{audio:!0,video:!1}}).then(async e=>{if(e===void 0){r();return}o(e);try{await e.joinRoom()}catch{r()}}).catch(()=>{r()}))},[i,e.token,r]),(0,R5.useEffect)(()=>{if(a===void 0)return;let e=()=>{n?.()},t=()=>{r()};return a.self.on(`roomJoined`,e),a.self.on(`roomLeft`,t),()=>{a.self.off(`roomJoined`,e),a.self.off(`roomLeft`,t)}},[a,n,r]),LYt(a,r),(0,R5.useEffect)(()=>{a!==void 0&&(t?a.self.disableAudio():a.self.enableAudio()).catch(()=>void 0)},[a,t]),(0,R5.useEffect)(()=>{if(a!==void 0)return()=>{a.leaveRoom().catch(()=>void 0)}},[a]),a===void 0?(0,z5.jsx)(z5.Fragment,{}):(0,z5.jsx)(c7e,{value:a,children:(0,z5.jsx)(jYt,{meeting:a})})}})),BYt=(0,E.lazy)(()=>Promise.resolve().then(()=>(zYt(),FYt)).then(e=>({default:e.RealtimeKitCallMedia}))),VYt=e=>{let t=e.ticket.providerType;return(0,D.jsx)(E.Suspense,{fallback:null,children:t===`cloudflare`?(0,D.jsx)(BYt,{...e}):null})},HYt=(e=window)=>e.documentPictureInPicture!==void 0,UYt=(e=window)=>e.documentPictureInPicture?.window??null,WYt=(e,t)=>{let n=Reflect.get(e,t);return n===void 0?[]:Array.from(n)},GYt=e=>[...WYt(e,`styleSheets`),...WYt(e,`adoptedStyleSheets`)],KYt=e=>{try{return Array.from(e.cssRules).map(e=>e.cssText).join(`
2099
2099
  `)}catch{return null}},qYt=(e,t=document)=>{for(let n of GYt(t)){let t=KYt(n);if(t!==null){let n=e.document.createElement(`style`);n.textContent=t,e.document.head.append(n)}else if(n.href!==null){let t=e.document.createElement(`link`);t.rel=`stylesheet`,t.href=n.href,e.document.head.append(t)}}},JYt=(e,t=document)=>{let n=t.documentElement,r=n.getAttribute(`data-theme`);r!==null&&e.document.documentElement.setAttribute(`data-theme`,r),e.document.documentElement.setAttribute(`class`,n.className),e.document.body.setAttribute(`class`,t.body.className)},YYt=(e,t)=>{let n=e.document.createElement(`div`);e.document.body.append(n);let r=n.attachShadow({mode:`open`}),i=GYt(t).map(KYt).filter(e=>e!==null).join(`
2100
- `),a=Reflect.get(e,`CSSStyleSheet`);if(typeof a?.prototype.replaceSync!=`function`){let t=e.document.createElement(`style`);t.textContent=i,r.append(t)}else{let e=new a;e.replaceSync(i),r.adoptedStyleSheets=[e]}let o=t.host,s=o.getAttribute(`data-theme`);return s!==null&&n.setAttribute(`data-theme`,s),n.setAttribute(`style`,o.getAttribute(`style`)??``),r},XYt=async(e={},t=document,n=window)=>{let r=n.documentPictureInPicture;if(r===void 0)return null;try{let n=await r.requestWindow({width:e.width??320,height:e.height??220});return t instanceof ShadowRoot?{window:n,container:YYt(n,t)}:(qYt(n,t),JYt(n,t),{window:n,container:n.document.body})}catch{return null}},ZYt=(e,t)=>{let[n,r]=(0,E.useState)(null),i=(0,E.useRef)(null);i.current=n;let a=(0,E.useRef)(t);a.current=t;let o=(0,E.useCallback)(()=>{i.current?.window.close(),r(null)},[]),s=(0,E.useCallback)(async()=>{if(i.current!==null)return;let e=a.current.current?.getRootNode(),t=await XYt({},e instanceof ShadowRoot||e instanceof Document?e:document);t!==null&&(t.window.addEventListener(`pagehide`,()=>{r(null)}),r(t))},[]),c=(0,E.useCallback)(()=>{s()},[s]);return(0,E.useEffect)(()=>{let t=Reflect.get(navigator,`mediaSession`);if(!e||!HYt()||t===void 0)return;let n=`enterpictureinpicture`;try{t.setActionHandler(n,()=>{s()})}catch{return}return()=>{try{t.setActionHandler(n,null)}catch{}}},[e,s]),(0,E.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&o()};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[o]),(0,E.useEffect)(()=>{e||(o(),UYt()?.close())},[e,o]),(0,E.useEffect)(()=>o,[o]),{mount:n,popOut:c}},B5={overlay:`_overlay_1agsz_5`,card:`_card_1agsz_12`,draggable:`_draggable_1agsz_30`,head:`_head_1agsz_40`,info:`_info_1agsz_46`,avatarRing:`_avatarRing_1agsz_53`,avatarRingPulse:`_avatarRingPulse_1agsz_65`,callPulse:`_callPulse_1agsz_1`,avatar:`_avatar_1agsz_53`,name:`_name_1agsz_107`,status:`_status_1agsz_117`,timer:`_timer_1agsz_123`,actions:`_actions_1agsz_130`,btn:`_btn_1agsz_137`,accept:`_accept_1agsz_163`,acceptBob:`_acceptBob_1agsz_1`,decline:`_decline_1agsz_178`,mute:`_mute_1agsz_182`,muteOn:`_muteOn_1agsz_191`,popped:`_popped_1agsz_208`,popOut:`_popOut_1agsz_224`};hh(),fo(),Fy(),Do();var QYt=e=>{let t=e.trim().split(/\s+/).filter(e=>e.length>0);if(t.length===0)return`?`;let n=t[0]??``,r=t.length>1?t[t.length-1]??``:``;return(n.charAt(0)+r.charAt(0)).toUpperCase()},$Yt=e=>e===`unavailable`?`Unavailable`:e===`busy`?`Busy`:e===`failed`?`Call failed`:`Call ended`,eXt=(e,t,n,r)=>{let i=t===`video`?`video`:`voice`;switch(e){case`incoming`:return`Incoming ${i} call`;case`outgoing`:return n?`Ringing…`:`Calling…`;case`active`:return`Connecting…`;case`ended`:return $Yt(r);case`idle`:return``}},tXt=({sinceMs:e})=>{let[t,n]=(0,E.useState)(()=>Date.now());(0,E.useEffect)(()=>{let e=window.setInterval(()=>{n(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]);let r=Math.max(0,Math.floor((t-e)/1e3)),i=String(Math.floor(r/60)).padStart(2,`0`),a=String(r%60).padStart(2,`0`);return(0,D.jsxs)(`span`,{className:B5.timer,children:[i,`:`,a]})},nXt=({phase:e,muted:t,actions:n})=>e===`ended`?null:e===`incoming`?(0,D.jsxs)(`div`,{className:B5.actions,children:[(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.decline),onClick:()=>{n.decline()},"aria-label":`Decline call`,children:(0,D.jsx)(Ei,{size:24})}),(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.accept),onClick:()=>{n.accept()},"aria-label":`Accept call`,children:(0,D.jsx)(ki,{size:24})})]}):(0,D.jsxs)(`div`,{className:B5.actions,children:[e===`active`&&(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.mute,t&&B5.muteOn),onClick:()=>{n.toggleMute()},"aria-label":t?`Unmute`:`Mute`,children:t?(0,D.jsx)(si,{size:20}):(0,D.jsx)(ui,{size:20})}),(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.decline),onClick:()=>{n.hangup()},"aria-label":`Hang up`,children:(0,D.jsx)(Ei,{size:24})})]}),rXt=e=>{let t=e.phase===`outgoing`&&e.callId!==null,n=e.phase===`active`&&e.connected&&e.activeSinceMs!==null;return{ringing:e.phase===`incoming`||e.phase===`outgoing`,initials:e.peerInitials===``?QYt(e.peerName):e.peerInitials,status:n?(0,D.jsx)(tXt,{sinceMs:e.activeSinceMs}):eXt(e.phase,e.mediaType,t,e.endReason)}},iXt=({peerName:e,initials:t,peerColor:n,ringing:r,status:i,onPopOut:a})=>(0,D.jsxs)(`div`,{className:B5.head,children:[(0,D.jsx)(`div`,{className:T(B5.avatarRing,r&&B5.avatarRingPulse),children:(0,D.jsx)(`div`,{className:B5.avatar,style:n===``?void 0:yo({"--avatar-color":n}),"aria-hidden":`true`,children:t})}),(0,D.jsxs)(`div`,{className:B5.info,children:[(0,D.jsx)(`div`,{className:B5.name,children:e===``?`Unknown caller`:e}),(0,D.jsx)(`div`,{className:B5.status,children:i})]}),a!==null&&(0,D.jsx)(`button`,{type:`button`,className:B5.popOut,onClick:a,"aria-label":`Keep call on top`,title:`Keep call on top`,children:(0,D.jsx)(Mi,{size:16})})]}),aXt=({actions:e})=>{let t=nC(e=>e.phase),n=nC(e=>e.callId),r=nC(e=>e.peerName),i=nC(e=>e.peerInitials),a=nC(e=>e.peerColor),o=nC(e=>e.mediaType),s=nC(e=>e.muted),c=nC(e=>e.connected),l=nC(e=>e.activeSinceMs),u=nC(e=>e.endReason),d=(0,E.useRef)(null),{mount:f,popOut:p}=ZYt(t===`incoming`||t===`outgoing`||t===`active`,d);if(t===`idle`)return null;let m=f!==null,h=t===`active`&&!m,{ringing:g,initials:_,status:v}=rXt({phase:t,callId:n,peerName:r,peerInitials:i,mediaType:o,connected:c,activeSinceMs:l,endReason:u}),y=(0,D.jsx)(`div`,{className:T(B5.overlay,m&&B5.popped),ref:d,role:`dialog`,"aria-label":`Call`,children:(0,D.jsxs)(Gm.div,{className:T(B5.card,h&&B5.draggable),variants:_h,initial:`hidden`,animate:`visible`,drag:h,dragConstraints:d,dragElastic:.12,dragMomentum:!1,children:[(0,D.jsx)(iXt,{peerName:r,initials:_,peerColor:a,ringing:g,status:v,onPopOut:!m&&HYt()?p:null}),(0,D.jsx)(nXt,{phase:t,muted:s,actions:e})]})});return f===null?y:(0,zy.createPortal)(y,f.container)},oXt=()=>typeof window<`u`&&`Notification`in window,sXt=async()=>{if(!oXt())return`denied`;if(Notification.permission==="default")try{return await Notification.requestPermission()}catch{return`denied`}return Notification.permission},cXt=({callerName:e,mediaType:t,onAccept:n,onDecline:r})=>{if(!oXt()||Notification.permission!==`granted`)return null;let i=`Incoming ${t===`video`?`video`:`voice`} call`,a=`${e||`Someone`} is calling you...`;try{let e=new Notification(i,{body:a,icon:`/favicon.ico`,tag:`incoming-call`,requireInteraction:!0});return e.onclick=()=>{window.focus(),e.close()},e}catch{return null}},lXt=({phase:e,peerName:t,mediaType:n})=>{(0,E.useEffect)(()=>{if(e!==`incoming`)return;let r=null,i=null,a=document.title,o=()=>{if(document.visibilityState===`hidden`){if(r??=cXt({callerName:t,mediaType:n}),i===null){let e=!1;i=window.setInterval(()=>{e=!e,document.title=e?`📞 Incoming call (${t||`Calling`})...`:a},1e3)}}else r!==null&&(r.close(),r=null),i!==null&&(window.clearInterval(i),i=null,document.title=a)};o();let s=()=>{o()};return document.addEventListener(`visibilitychange`,s),()=>{document.removeEventListener(`visibilitychange`,s),i!==null&&window.clearInterval(i),document.title=a,r!==null&&r.close()}},[e,t,n])},uXt=0,dXt=(e,t)=>{let n=e.getState();return n.direction===`outgoing`&&n.phase===`outgoing`&&n.callId===null&&n.dialId===t},fXt=async({store:e,cancelCall:t,dialId:n,result:r})=>{let i=dXt(e,n);if(!r.ok){i&&e.getState().ended(`failed`);return}let a=r.value;if(a.status===`callee_busy`){i&&e.getState().ended(`busy`);return}if(a.status===`callee_unavailable`||a.joinTicket===null){i&&e.getState().ended(`unavailable`);return}if(!i){await t.execute(a.callId);return}e.getState().attachOutgoing({callId:a.callId,ticket:a.joinTicket})},pXt=()=>{let{store:e,startCall:t,acceptCall:n,declineCall:r,cancelCall:i,endCall:a}=tC();return{startCall:(0,E.useCallback)(async n=>{if(n.userId===``)return;let r=e.getState().phase;if(r!==`idle`&&r!==`ended`)return;let a=String(uXt+=1);e.getState().dialing({peer:n,mediaType:`audio`,dialId:a}),await fXt({store:e,cancelCall:i,dialId:a,result:await t.execute(n.userId,`audio`)})},[e,t,i]),accept:(0,E.useCallback)(async()=>{let{callId:t,direction:r}=e.getState();if(t===null||r!==`incoming`)return;e.getState().activate(null,Date.now());let i=await n.execute(t);if(!i.ok){e.getState().ended(`failed`);return}e.getState().activate(i.value,Date.now())},[e,n]),decline:(0,E.useCallback)(async()=>{let{callId:t}=e.getState();e.getState().reset(),t!==null&&await r.execute(t)},[e,r]),hangup:(0,E.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`hung_up`),t!==null&&(n===`active`?await a.execute(t):await i.execute(t))},[e,a,i]),mediaEnded:(0,E.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`ended`),!(t===null||n!==`active`)&&await a.execute(t)},[e,a]),toggleMute:(0,E.useCallback)(()=>{let t=e.getState();t.setMuted(!t.muted)},[e])}},mXt=15e3,hXt=3e3,gXt=e=>{switch(e){case`outgoing`:case`incoming`:return hXt;case`active`:return mXt;case`idle`:case`ended`:return null}},_Xt=(e,t)=>{let{store:n,heartbeatCall:r}=tC(),i=gXt(t);(0,E.useEffect)(()=>{if(e===null||i===null)return;let t=!1,a=!1,o=async()=>{if(!a){a=!0;try{let i=await r.execute(e);if(t||!i.ok||i.value.active)return;let a=n.getState();a.callId===e&&a.ended(`ended`)}finally{a=!1}}},s=window.setInterval(()=>{o()},i);return()=>{t=!0,window.clearInterval(s)}},[e,i,n,r])},vXt=()=>{let e=nC(e=>e.phase),t=nC(e=>e.callId),n=nC(e=>e.ticket),r=nC(e=>e.muted),i=nC(e=>e.peerName),a=nC(e=>e.mediaType),o=tC().store,s=pXt(),c=(0,E.useRef)(null);c.current??=ZRe();let l=c.current;return(0,E.useEffect)(()=>{sXt();let e=()=>{l.unlock(),sXt()};return window.addEventListener(`pointerdown`,e,{once:!0}),()=>{window.removeEventListener(`pointerdown`,e)}},[l]),lXt({phase:e,peerName:i,mediaType:a}),_Xt(t,e),(0,E.useEffect)(()=>{e===`incoming`?l.playRing():e===`outgoing`?l.playRingback():l.stop()},[e,l]),(0,E.useEffect)(()=>()=>{l.dispose()},[l]),(0,E.useEffect)(()=>{if(e!==`ended`)return;let t=window.setTimeout(()=>{o.getState().reset()},2500);return()=>{window.clearTimeout(t)}},[e,o]),e===`idle`?null:(0,D.jsxs)(D.Fragment,{children:[n!==null&&(e===`outgoing`||e===`active`)&&(0,D.jsx)(VYt,{ticket:n,muted:r,onConnected:()=>{o.getState().markConnected()},onEnded:()=>{s.mediaEnded()}}),(0,D.jsx)(aXt,{actions:s})]})},yXt=()=>{let{startCall:e}=pXt(),t=nC(e=>e.phase);return{start:t=>{e(t)},busy:t!==`idle`&&t!==`ended`}},bXt={callBtn:`_callBtn_1q44j_1`};fo(),Do();var xXt=({calleeUserId:e,calleeName:t,calleeInitials:n=``,calleeColor:r=``,className:i,canCalls:a,canStartCall:o})=>{let{hasPermission:s}=wS(),{start:c,busy:l}=yXt(),u=a??s(CS.calls),d=o??s(CS.callsStart);return e===``||!u?null:(0,D.jsx)(`button`,{type:`button`,className:T(bXt.callBtn,i),disabled:l||!d,onClick:()=>{d&&c({userId:e,name:t,initials:n,color:r})},"aria-label":`Call ${t}`,title:d?`Call ${t}`:`Permission Denied`,children:(0,D.jsx)(ki,{size:18})})},SXt=({conversation:e})=>e.isGroup||e.peerUserId===null?null:(0,D.jsx)(`div`,{className:A.headEnd,children:(0,D.jsx)(xXt,{calleeUserId:e.peerUserId,calleeName:e.title,calleeInitials:e.initials,calleeColor:e.color})}),CXt=6e4,wXt=36e5,TXt=864e5,EXt=(e,t)=>{if(e===null)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=Math.max(0,t-n);return r<CXt?`Last seen just now`:r<wXt?`Last seen ${String(Math.floor(r/CXt))}m ago`:r<TXt?`Last seen ${String(Math.floor(r/wXt))}h ago`:`Last seen ${String(Math.floor(r/TXt))}d ago`},DXt=({conversation:e,live:t,liveStatus:n,nowMs:r})=>{if(t?.online??(n===void 0?e.online:n.status!==`offline`)){let t=n?.status??e.status;return{online:!0,subtitle:`Online`,status:t!==`offline`&&t!==`available`?t:null}}return{online:!1,subtitle:(t===void 0?null:EXt(t.lastSeenUtc,r))??`Offline`,status:null}},OXt=`This message was deleted`,kXt=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22);return JSON.parse(t)}catch{return null}return null},AXt=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`)){let t=kXt(e);if(t!==null){let e=t.card.title;return e.length>0?`Shared Post: ${e}`:`Shared Post`}return`Shared Post`}return e},jXt=(e,t=null)=>t?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:t.authorName,text:t.text}:e.replyTo?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:e.replyTo.authorName,text:e.replyTo.text}:{messageId:e.id,authorName:e.authorName,text:e.text},MXt=(e,t)=>{if(e.replyTo===null)return null;let n=t.get(e.replyTo.messageId),r=n?.deletedForEveryone?OXt:n?.text??e.replyTo.text,i=n?.authorName??e.replyTo.authorName;return r.startsWith(`__UAPP_SHARED_CARD__::`)?{author:i,text:r}:null},NXt=(e,t)=>{if(e===null)return null;if(e.authorName.length>0||e.text.length>0)return e;let n=t.get(e.messageId);if(n===void 0)return e;let r=n.authorName,i=n.deletedForEveryone?OXt:n.text,a=MXt(n,t);return a!==null&&(r=a.author,i=a.text),{messageId:e.messageId,authorName:r,text:i}},V5=(e,t)=>e.some(e=>e.id===t.id)?e:t.clientMessageId!==null&&e.some(e=>e.clientMessageId===t.clientMessageId)?e.map(e=>e.clientMessageId===t.clientMessageId?t.withFallbackSentAt(e.sentAt):e):[...e,t].sort((e,t)=>e.sequence-t.sequence),PXt=`pending:`,FXt=e=>`${PXt}${e}`,H5=e=>e.id.startsWith(PXt),IXt=e=>e.reduce((e,t)=>Math.max(e,t.sequence),0),LXt=e=>e.filter(e=>!H5(e)).reduce((e,t)=>Math.max(e,t.sequence),0),RXt=e=>new INe({id:FXt(e.clientMessageId),kind:`text`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.text.trim(),time:e.timeLabel,sentAt:e.sentAt??``,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:null,isEdited:!1}),zXt=e=>new INe({id:FXt(e.clientMessageId),kind:`media`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.caption.trim(),time:``,sentAt:e.sentAt,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:e.fileUrl,mediaContentType:e.contentType,mediaFileName:e.fileName,isEdited:!1}),BXt=(e,t)=>V5(e??[],t),VXt=(e,t)=>V5(e??[],t);fo(),Do();var HXt=({selectedMessage:e,onClearSelection:t,onReply:n,onStartEdit:r,onDelete:i})=>{let a=H5(e),o=e.fromViewer&&!e.deletedForEveryone&&e.canEdit(Date.now());return(0,D.jsxs)(`div`,{className:A.mobileSelectionHeader,children:[(0,D.jsxs)(`div`,{className:A.selectionLeft,children:[(0,D.jsx)(`button`,{type:`button`,className:A.selectionActionBtn,"aria-label":`Clear selection`,onClick:t,children:(0,D.jsx)(lo,{size:18})}),(0,D.jsx)(`span`,{className:A.selectionTitle,children:`1 Selected`})]}),(0,D.jsxs)(`div`,{className:A.selectionActions,children:[!a&&n!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:A.selectionActionBtn,title:`Reply`,"aria-label":`Reply`,onClick:()=>{n(jXt(e)),t!==void 0&&t()},children:(0,D.jsx)(ea,{size:17})}),!a&&o&&r!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:A.selectionActionBtn,title:`Edit message`,"aria-label":`Edit message`,onClick:()=>{r(e),t!==void 0&&t()},children:(0,D.jsx)(Ci,{size:17})}),!a&&e.fromViewer&&i!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:T(A.selectionActionBtn,A.selectionActionDanger),title:`Delete message`,"aria-label":`Delete message`,onClick:()=>{i(e.id),t!==void 0&&t()},children:(0,D.jsx)(Ka,{size:17})})]})]})};fo();var UXt=(e,t,n,r={})=>{let i=r.canManageMembers??!0,a=r.canDelete??!0;return[...e.lastSynced===null?[]:[{label:`Last synced ${e.lastSynced}`,icon:(0,D.jsx)(Ui,{size:14}),onSelect:()=>{t.refresh(e)}}],...i?[{label:`Manage members`,icon:(0,D.jsx)(to,{size:14}),onSelect:n.onManageMembers}]:[],{label:e.favourite?`Remove from Favourites`:`Add to Favourites`,icon:(0,D.jsx)(Ma,{size:14}),onSelect:()=>{t.toggleFavourite(e)}},{label:e.pinned?`Unpin`:`Pin to top`,icon:(0,D.jsx)(Fi,{size:14}),onSelect:()=>{t.togglePin(e)}},{label:e.archived?`Unarchive`:`Archive`,icon:e.archived?(0,D.jsx)(qt,{size:14}):(0,D.jsx)(Xt,{size:14}),onSelect:()=>{t.toggleArchive(e)}},{label:`Leave group`,icon:(0,D.jsx)(Wr,{size:14}),onSelect:()=>{n.onRequestLeave(e)}},...a?[{label:`Delete group`,icon:(0,D.jsx)(Ka,{size:14}),danger:!0,onSelect:()=>{n.onRequestDelete(e)}}]:[]]},WXt=(e,t)=>{let n=t.find(t=>t.id===e.categoryId&&t.tenantId===e.tenantId);return n===void 0?t.find(t=>t.locked&&t.tenantId===e.tenantId)??null:n},GXt=e=>{let t=Object.entries(e.data).filter(([e,t])=>e!==`statusColor`&&t!==``).map(([,e])=>e);return t.length>0?t.join(` · `):e.subtitle},KXt=(e,t)=>{let n=WXt(e,t);if(n===null)return{icon:null,accent:e.color,pill:null,subtitle:e.subtitle};let r=t=>e.data[t]??``,i=n.fields.filter(e=>e.visible&&r(e.key)!==``);if(i.length===0)return{icon:n.icon,accent:n.accent,pill:null,subtitle:GXt(e)};let a=i.find(e=>e.type===`pill`),o=i.filter(e=>e.type!==`pill`).map(e=>r(e.key));return{icon:n.icon,accent:n.accent,pill:a===void 0?null:{value:r(a.key),color:e.data.statusColor??n.accent},subtitle:o.length>0?o.join(` · `):e.subtitle}},qXt=[`override`,`activity`,`calendar`,`connection`],JXt=e=>qXt[e??-1]??`connection`;_o();var U5=class extends mo{code=`PRESENCE_UNAVAILABLE`;constructor(e){super(`Your status is unavailable right now. Please try again.`,{cause:e})}},YXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.getMine()}},XXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.setMine(e)}},ZXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.clearMine()}},QXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.getOf(e)}};yx();var $Xt=hx({status:fx(),source:fx(),untilUtc:k().nullish(),note:k().nullish(),hasOverride:px()}),eZt=hx({userId:k(),online:px(),status:fx(),untilUtc:k().nullish()}),tZt=mx(eZt),W5={mine:`/api/app/presence/mine`,setMine:`/api/app/presence/set-mine`,clearMine:`/api/app/presence/clear-mine`,of:e=>`/api/app/presence/of?${e.map(e=>`Ids=${encodeURIComponent(e)}`).join(`&`)}`},nZt=e=>({status:WS(e.status),source:JXt(e.source),untilUtc:e.untilUtc??null,note:e.note??null,hasOverride:e.hasOverride}),rZt=e=>({status:CLe(e.status),minutes:e.minutes,...e.note===void 0?{}:{note:e.note}}),iZt=e=>({userId:e.userId,online:e.online,status:WS(e.status),untilUtc:e.untilUtc??null});Uy();var aZt=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-presence-gateway`)}getMine(){return this.request(()=>this.http.get(W5.mine),`getMine`)}setMine(e){return this.request(()=>this.http.post(W5.setMine,rZt(e)),`setMine`)}async getOf(e){if(e.length===0)return By([]);try{let t=tZt.safeParse(await this.http.get(W5.of(e)));return t.success?By(t.data.map(iZt)):(this.logger.error(`getOf: unexpected response shape`,t.error),O(new U5(t.error)))}catch(e){return this.logger.error(`getOf failed`,e),O(new U5(e))}}clearMine(){return this.request(()=>this.http.post(W5.clearMine,{}),`clearMine`)}async request(e,t){try{let n=$Xt.safeParse(await e());return n.success?By(nZt(n.data)):(this.logger.error(`${t}: unexpected response shape`,n.error),O(new U5(n.error)))}catch(e){return this.logger.error(`${t} failed`,e),O(new U5(e))}}},oZt=e=>{let t={presenceGateway:new aZt({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{getMyPresence:new YXt(t),setMyPresence:new XXt(t),clearMyPresence:new ZXt(t),getPresenceOf:new QXt(t),logger:e.logger}},sZt=(0,E.createContext)(null),cZt=()=>{let e=(0,E.useContext)(sZt);if(e===null)throw Error(`Presence hooks must be used within <PresenceModuleProvider>.`);return e};tS(),Uy();var lZt=3e4,uZt=()=>{let{getPresenceOf:e}=cZt(),t=kLe(),n=(0,E.useMemo)(()=>t===``?[]:t.split(`,`),[t]),{data:r}=Qx({queryKey:[`presence`,`of`,t],enabled:n.length>0,queryFn:()=>Hy(e.execute(n)),refetchInterval:lZt,refetchOnWindowFocus:!0,retry:!1});(0,E.useEffect)(()=>{r!==void 0&&jLe(r)},[r])},dZt=()=>(uZt(),null),fZt=({module:e,children:t})=>(0,D.jsxs)(sZt.Provider,{value:e,children:[(0,D.jsx)(dZt,{}),t]});Uy(),Fy(),gS(),wLe.filter(e=>e.id!==`offline`),gS();var pZt=({status:e,untilUtc:t,size:n})=>{let r=hS();return(0,D.jsx)(NLe,{status:e,untilUtc:t??null,formatUntil:e=>r.formatUntil(e),...n===void 0?{}:{size:n}})};fo(),Fy(),Do();var mZt=4,hZt={Hash:Er,GraduationCap:Cr,Users:to,Building2:_n,Briefcase:mn,BookOpen:gee,Globe:br},gZt=({conversation:e,header:t,dmOnline:n})=>{let r=t?.icon??null,i=r===null?void 0:hZt[r];return i===void 0?(0,D.jsxs)(`span`,{className:A.viewAvatarWrap,children:[(0,D.jsx)(`span`,{className:A.viewAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),n===!0&&(0,D.jsx)(`span`,{className:T(A.presenceDot,A.viewPresenceDot),"aria-label":`Online`})]}):(0,D.jsx)(`span`,{className:A.viewIcon,style:yo({"--avatar-color":t?.accent??e.color}),children:(0,D.jsx)(i,{size:18})})},_Zt=({members:e})=>{if(e.length===0)return null;let t=e.length-mZt;return(0,D.jsxs)(`div`,{className:A.memberStack,children:[e.slice(0,mZt).map(e=>(0,D.jsx)(`span`,{className:A.memberAvatar,title:e.name,children:(0,D.jsx)(OTe,{initials:e.initials,color:e.color,size:`xs`})},e.id)),t>0&&(0,D.jsxs)(`span`,{className:A.memberMore,children:[`+`,t]})]})},vZt=({conversation:e,pill:t,presence:n,statusPill:r,subtitle:i})=>(0,D.jsxs)(`span`,{className:A.viewHeadText,children:[(0,D.jsxs)(`span`,{className:A.viewTitleRow,children:[(0,D.jsx)(`span`,{className:A.viewTitle,children:e.title}),e.admin&&(0,D.jsx)(`span`,{className:A.adminBadge,children:`You're admin`}),t?(0,D.jsx)(`span`,{className:A.statusPill,style:yo({"--pill":t.color}),children:t.value}):null,n!==null&&(0,D.jsx)(pZt,{untilUtc:e.statusUntilUtc,status:n}),r]}),(0,D.jsx)(`span`,{className:A.viewSub,children:i})]});Dt(),fo(),Fy(),Do();var yZt=(e,t)=>{let n=`${String(e.memberCount)} member${e.memberCount===1?``:`s`}`,r=t?.subtitle??e.subtitle;return r===``||r===e.title?n:`${n} · ${r}`},bZt=({conversation:e,actions:t,canManageMembers:n,canDelete:r,onManageMembers:i,onRequestDelete:a,onRequestLeave:o})=>(0,D.jsxs)(`div`,{className:A.headEnd,children:[n&&(0,D.jsx)(`button`,{type:`button`,className:A.memberStackBtn,"aria-label":`Manage members`,onClick:i,children:(0,D.jsx)(_Zt,{members:e.members})}),(0,D.jsx)(s_,{align:`end`,trigger:(0,D.jsx)(`button`,{type:`button`,className:A.headMenuBtn,"aria-label":`Group options`,children:(0,D.jsx)(nr,{size:16})}),items:UXt(e,t,{onManageMembers:i,onRequestDelete:a,onRequestLeave:o},{canManageMembers:n,canDelete:r})})]}),xZt=({conversation:e,header:t,dmOnline:n,dmStatus:r,pill:i,statusPill:a,subtitle:o,actions:s,onManageMembers:c,onRequestDelete:l,onRequestLeave:u})=>{let d=We(),{hasPermission:f}=wS(),p=f(CS.chatManageMembers),m=f(CS.chatDelete);return(0,D.jsxs)(`div`,{className:A.standardHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:A.backBtn,"aria-label":`Back to conversations`,onClick:()=>{d(`/comms/chats`)},children:(0,D.jsx)($t,{size:18})}),(0,D.jsx)(gZt,{conversation:e,header:t,dmOnline:n}),(0,D.jsx)(vZt,{conversation:e,pill:i,presence:r,statusPill:a,subtitle:o}),e.isGroup&&(0,D.jsx)(bZt,{conversation:e,actions:s,canManageMembers:p,canDelete:m,onManageMembers:c,onRequestDelete:l,onRequestLeave:u}),(0,D.jsx)(SXt,{conversation:e})]})},SZt=({conversation:e,categories:t,actions:n,statusPill:r,onManageMembers:i,onRequestDelete:a,onRequestLeave:o,selectedMessage:s=null,onClearSelection:c,onReply:l,onStartEdit:u,onDelete:d})=>{let f=e.isGroup?KXt(e,t):null,p=f?.pill??null,m=e.peerUserId,h=DXt({conversation:e,live:vS(e=>m===null?void 0:e.presence[m]),liveStatus:OLe(m),nowMs:Date.now()}),g=e.isGroup?yZt(e,f):h.subtitle;return(0,D.jsxs)(`header`,{className:T(A.viewHead,s!==null&&A.hasMobileSelection),children:[s!==null&&(0,D.jsx)(HXt,{selectedMessage:s,onClearSelection:c,onReply:l,onStartEdit:u,onDelete:d}),(0,D.jsx)(xZt,{conversation:e,header:f,dmOnline:e.isGroup?null:h.online,dmStatus:e.isGroup?null:h.status,pill:p,statusPill:r,subtitle:g,actions:n,onManageMembers:i,onRequestDelete:a,onRequestLeave:o})]})};hh(),fo(),Fy(),Do();var CZt=({excludeIds:e,onAdd:t,onBack:n})=>{let{search:r,setSearch:i,results:a,loading:o,hasQuery:s}=PS(e,`groupPool`);return(0,D.jsxs)(`div`,{className:A.addPanel,children:[(0,D.jsxs)(`div`,{className:A.addPanelHead,children:[(0,D.jsx)(`button`,{type:`button`,className:A.memberRowMenuBtn,"aria-label":`Back to members`,onClick:n,children:(0,D.jsx)($t,{size:15})}),(0,D.jsx)(`span`,{className:A.addPanelTitle,children:`Add member`})]}),(0,D.jsxs)(`div`,{className:A.addPanelSearch,children:[(0,D.jsx)(oa,{size:14}),(0,D.jsx)(`input`,{className:A.searchInput,placeholder:`Search staff`,value:r,onChange:e=>{i(e.target.value)}}),o&&(0,D.jsx)(Vo,{size:`sm`,label:`Searching staff`})]}),(0,D.jsxs)(`div`,{className:A.addPanelList,children:[(0,D.jsx)(vm,{initial:!1,children:a.map(e=>(0,D.jsxs)(Gm.div,{layout:!0,variants:gh,initial:`hidden`,animate:`visible`,exit:`exit`,className:A.memberRow,children:[(0,D.jsx)(`span`,{className:A.memberRowAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:A.memberRowBody,children:[(0,D.jsx)(`span`,{className:A.memberRowName,children:e.name}),(0,D.jsx)(`span`,{className:A.memberRowRole,children:e.role})]}),(0,D.jsxs)(`button`,{type:`button`,className:A.addMemberBtn,onClick:()=>{t(e)},children:[(0,D.jsx)(Ri,{size:13}),` Add`]})]},e.id))}),a.length===0&&!o&&(0,D.jsx)(`p`,{className:A.addPanelEmpty,children:s?`No staff match your search.`:`Everyone is already in this group.`})]})]})};hh(),fo(),Fy(),Do();var wZt=e=>{let{member:t,isAdmin:n,adminCount:r,onMakeAdmin:i,onRemoveAdmin:a,onRemove:o}=e,s=[];return n||s.push({label:`Make admin`,icon:(0,D.jsx)(_a,{size:14}),onSelect:()=>{i(t.id)}}),n&&r>1&&s.push({label:`Remove admin`,icon:(0,D.jsx)(ma,{size:14}),onSelect:()=>{a(t.id)}}),s.push({label:`Remove from group`,icon:(0,D.jsx)(Ka,{size:14}),danger:!0,onSelect:()=>{o(t.id)}}),s},TZt=({member:e})=>{let t=OLe(e.id),n=t?.status??e.status??`offline`;return n===`offline`?null:(0,D.jsx)(pZt,{status:n,untilUtc:t===void 0?e.statusUntilUtc??null:t.untilUtc})},EZt=e=>{let{member:t,isAdmin:n,isSelf:r,isNew:i,isPromoted:a,isDemoted:o,canManage:s}=e,c=vS(e=>e.presence[t.id]?.online??!1);return(0,D.jsxs)(Gm.div,{layout:!0,variants:gh,initial:`hidden`,animate:`visible`,className:T(A.memberRow,i&&A.memberRowNew),children:[(0,D.jsxs)(`span`,{className:A.memberRowAvatarWrap,children:[(0,D.jsx)(`span`,{className:A.memberRowAvatar,style:yo({"--avatar-color":t.color}),children:t.initials}),c&&(0,D.jsx)(`span`,{className:A.presenceDot,"aria-label":`Online`})]}),(0,D.jsxs)(`span`,{className:A.memberRowBody,children:[(0,D.jsxs)(`span`,{className:A.memberRowName,children:[t.name,r&&(0,D.jsx)(`span`,{className:A.memberRowYou,children:` (You)`}),n?(0,D.jsx)(`span`,{className:A.memberBadgeAdmin,children:`ADMIN`}):(0,D.jsx)(`span`,{className:A.memberBadge,children:`MEMBER`}),i&&(0,D.jsx)(`span`,{className:A.memberPillNew,children:`+ NEW`}),a&&!i&&(0,D.jsx)(`span`,{className:A.memberPillUp,children:`↑ PROMOTED`}),o&&(0,D.jsx)(`span`,{className:A.memberPillDown,children:`↓ DEMOTED`})]}),(0,D.jsxs)(`span`,{className:A.memberRowRole,children:[t.role,(0,D.jsx)(TZt,{member:t})]})]}),s&&!r&&(0,D.jsx)(s_,{align:`end`,trigger:(0,D.jsx)(`button`,{type:`button`,className:A.memberRowMenuBtn,"aria-label":`Actions for ${t.name}`,children:(0,D.jsx)(nr,{size:14})}),items:wZt(e)})]})},DZt=(e,t,n,r)=>{let i=e.map(e=>e.id),a=n.map(e=>e.id),o=a.filter(e=>!i.includes(e)),s=i.filter(e=>!a.includes(e)),c=r.filter(e=>!t.includes(e)&&a.includes(e)),l=t.filter(e=>!r.includes(e)&&a.includes(e));return{addedIds:o,removedIds:s,promotedIds:c,demotedIds:l,total:o.length+s.length+c.length+l.length}},OZt=(e,t)=>t.some(t=>e.some(e=>e.id===t)),kZt=e=>{let{addedIds:t,removedIds:n,promotedIds:r,demotedIds:i,total:a}=e;if(a===0)return`Save changes`;if(t.length===a)return t.length===1?`Add member`:`Add ${String(t.length)}`;if(n.length===a)return n.length===1?`Remove member`:`Remove ${String(n.length)}`;let o=r.length+i.length;return o===a?o===1?`Confirm`:`Confirm ${String(o)}`:`Save changes (${String(a)})`},AZt=(e,t)=>{let[n,r]=(0,E.useState)(e.members),[i,a]=(0,E.useState)(e.adminIds),[o,s]=(0,E.useState)(!1);return(0,E.useEffect)(()=>{t&&(r(e.members),a(e.adminIds),s(!1))},[t,e.id,e.members,e.adminIds]),{members:n,adminIds:i,adding:o,diff:DZt(e.members,e.adminIds,n,i),adminCount:i.filter(e=>n.some(t=>t.id===e)).length,setAdding:s,addMember:e=>{r(t=>[...t,e]),s(!1)},removeMember:e=>{r(t=>t.filter(t=>t.id!==e)),a(t=>t.filter(t=>t!==e))},makeAdmin:e=>{a(t=>t.includes(e)?t:[...t,e])},removeAdmin:e=>{a(t=>t.filter(t=>t!==e))},undoRemove:e=>{r(t=>[...t,e])}}};hh(),fo(),Fy(),Do();var jZt=({member:e,onUndo:t})=>(0,D.jsxs)(`div`,{className:A.removedRow,children:[(0,D.jsx)(`span`,{className:A.memberRowAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:A.memberRowBody,children:[(0,D.jsx)(`span`,{className:A.removedName,children:e.name}),(0,D.jsx)(`span`,{className:A.memberRowRole,children:e.role})]}),(0,D.jsxs)(`button`,{type:`button`,className:A.undoBtn,onClick:t,children:[(0,D.jsx)(ra,{size:12}),` Undo`]})]}),MZt=e=>{let{conversation:t,draftMembers:n,draftAdminIds:r,diff:i,adminCount:a,iAmAdmin:o}=e,{viewerId:s}=e;return(0,D.jsxs)(`div`,{className:A.membersBody,children:[i.total>0&&(0,D.jsxs)(`div`,{className:A.unsavedBar,children:[i.total,` unsaved `,i.total===1?`change`:`changes`]}),o&&(0,D.jsxs)(`button`,{type:`button`,className:A.addMemberCta,onClick:e.onAddClick,children:[(0,D.jsx)(Qa,{size:14}),` Add member`]}),(0,D.jsxs)(`div`,{className:A.membersSectionLabel,children:[`MEMBERS · `,n.length]}),(0,D.jsxs)(`div`,{className:A.membersList,children:[(0,D.jsx)(vm,{initial:!1,children:n.map(t=>(0,D.jsx)(EZt,{member:t,isAdmin:r.includes(t.id),isSelf:t.id===s,isNew:i.addedIds.includes(t.id),isPromoted:i.promotedIds.includes(t.id),isDemoted:i.demotedIds.includes(t.id),canManage:o,adminCount:a,onMakeAdmin:e.onMakeAdmin,onRemoveAdmin:e.onRemoveAdmin,onRemove:e.onRemove},t.id))}),i.removedIds.length>0&&(0,D.jsxs)(Gm.div,{variants:gh,initial:`hidden`,animate:`visible`,children:[(0,D.jsxs)(`div`,{className:A.removedLabel,children:[`WILL BE REMOVED · `,i.removedIds.length]}),i.removedIds.map(n=>{let r=t.members.find(e=>e.id===n);return r===void 0?null:(0,D.jsx)(jZt,{member:r,onUndo:()=>{e.onUndoRemove(r)}},n)})]})]})]})},NZt=({diff:e,saving:t,onCancel:n,onSave:r})=>{let i=e.removedIds.length===e.total&&e.total>0;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`ghost`,onClick:n,children:`Cancel`}),(0,D.jsx)(es,{variant:i?`danger`:`primary`,isLoading:t,disabled:e.total===0,onClick:r,children:kZt(e)})]})},PZt=({conversation:e,open:t,onClose:n})=>{let r=EPe(e.id),i=AZt(e,t),{data:a}=NS(),o=a?.id??``,s=()=>{if(i.diff.total===0){n();return}if(!OZt(i.members,i.adminIds)){my.error(`A group must keep at least one admin`);return}r.mutate({members:i.members,adminIds:i.adminIds},{onSuccess:()=>{my.success(`Members updated`),n()}})},c=i.members.length===1?`member`:`members`,l=i.adminCount===1?`admin`:`admins`;return(0,D.jsx)(xh,{open:t,onOpenChange:e=>{e||n()},title:`Manage members`,description:`${e.title} · ${String(i.members.length)} ${c} · ${String(i.adminCount)} ${l}`,footer:i.adding?void 0:(0,D.jsx)(NZt,{diff:i.diff,saving:r.isPending,onCancel:n,onSave:s}),children:i.adding?(0,D.jsx)(CZt,{excludeIds:i.members.map(e=>e.id),onAdd:i.addMember,onBack:()=>{i.setAdding(!1)}}):(0,D.jsx)(MZt,{conversation:e,draftMembers:i.members,draftAdminIds:i.adminIds,diff:i.diff,adminCount:i.adminCount,iAmAdmin:e.canManageMembers(o),viewerId:o,onAddClick:()=>{i.setAdding(!0)},onMakeAdmin:i.makeAdmin,onRemoveAdmin:i.removeAdmin,onRemove:i.removeMember,onUndoRemove:i.undoRemove})})};Fy();var FZt=({open:e,canDeleteForEveryone:t,onDeleteForMe:n,onDeleteForEveryone:r,onCancel:i})=>(0,D.jsx)(xh,{open:e,onOpenChange:e=>{e||i()},title:`Delete message?`,footer:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`ghost`,onClick:i,children:`Cancel`}),(0,D.jsx)(es,{variant:`secondary`,onClick:n,children:`Delete for me`}),t&&(0,D.jsx)(es,{variant:`danger`,onClick:r,children:`Delete for everyone`})]}),children:t?`Delete this message for everyone, or just remove it from this device?`:`This message can only be removed from this device — the time limit to delete it for everyone has passed.`});hh(),fo(),Fy();var IZt=e=>e===1?`typing…`:`${String(e)} people typing…`,LZt=({conversationId:e})=>{let t=vS(t=>t.typingUserIds(e,Date.now()).length);return(0,D.jsx)(vm,{children:t>0&&(0,D.jsxs)(Gm.div,{className:A.typingRow,variants:vh,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,D.jsxs)(`span`,{className:A.typingDots,"aria-hidden":!0,children:[(0,D.jsx)(`span`,{}),(0,D.jsx)(`span`,{}),(0,D.jsx)(`span`,{})]}),(0,D.jsx)(`span`,{className:A.typingText,children:IZt(t)})]})})},RZt=()=>{let e=vS(e=>e.status);if(e===`connected`||e===`connecting`)return null;let t=e===`reconnecting`?`Reconnecting…`:`Offline`;return(0,D.jsxs)(`span`,{className:A.connPill,children:[(0,D.jsx)(oo,{size:12}),` `,t]})},zZt=20*1024*1024,BZt=(e,t,n)=>{let r=[],i=!1;for(let a of e){if(r.length>=t)break;if(a.size>n){i=!0;continue}r.push(a)}let a=e.reduce((e,t)=>e+ +(t.size<=n),0);return{accepted:r,skippedOversize:i,overflowed:a>t}};Fy();var VZt=()=>{let[e,t]=(0,E.useState)([]),n=(0,E.useRef)([]);return n.current=e,(0,E.useEffect)(()=>()=>{for(let e of n.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl)},[]),{items:e,add:e=>{let r=10-n.current.length;if(r<=0){my.error(`You can attach up to 10 files at once.`);return}let{accepted:i,skippedOversize:a,overflowed:o}=BZt(Array.from(e),r,zZt);if(a&&my.error(`That file is over the 20 MB limit — please send a smaller file.`),o&&my.error(`You can attach up to 10 files at once.`),i.length===0)return;let s=i.map(e=>({id:crypto.randomUUID(),file:e,previewUrl:e.type.startsWith(`image/`)?URL.createObjectURL(e):null}));t(e=>[...e,...s])},remove:e=>{let r=n.current.find(t=>t.id===e);r!==void 0&&r.previewUrl!==null&&URL.revokeObjectURL(r.previewUrl),t(t=>t.filter(t=>t.id!==e))},clear:()=>{for(let e of n.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl);t([])}}},HZt=(e,t,n,r)=>{let i=r.canSendMessage??!0,a=()=>{n.current?.click()},o=()=>{i&&(e.items.length>0?(r.onSendMedia(e.items.map(e=>e.file),t),e.clear()):r.onSubmit())};return{openPicker:a,send:o,handleKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),i&&o())},handlePaste:t=>{let n=t.clipboardData.files;n.length>0&&(t.preventDefault(),e.add(n))},onFileChange:t=>{t.target.files!==null&&t.target.files.length>0&&e.add(t.target.files);let r=n.current;r!==null&&(r.value=``)}}},UZt=[`👍`,`🎉`,`❤️`,`😂`,`🙌`,`👏`],WZt=[`😀`,`😄`,`😁`,`😂`,`😍`,`😎`,`🤝`,`🙏`,`👍`,`👏`,`🙌`,`🔥`,`🎉`,`⭐`,`✅`,`❤️`,`💡`,`📌`,`🚀`,`😢`];hh(),fo(),Fy();var GZt=({onPick:e})=>{let[t,n]=(0,E.useState)(!1);return(0,D.jsxs)(`div`,{className:A.emojiWrap,children:[(0,D.jsx)(`button`,{type:`button`,className:A.composerIcon,"aria-label":`Insert emoji`,"aria-expanded":t,onClick:()=>{n(e=>!e)},children:(0,D.jsx)(Ea,{size:18})}),(0,D.jsx)(vm,{children:t&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:A.emojiBackdrop,"aria-label":`Close emoji picker`,onClick:()=>{n(!1)}}),(0,D.jsx)(Gm.div,{className:A.emojiPop,variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:WZt.map(t=>(0,D.jsx)(`button`,{type:`button`,className:A.emojiBtn,onClick:()=>{e(t),n(!1)},children:t},t))})]})})]})};hh(),fo(),Fy();var KZt=({replyTo:e,onClear:t})=>(0,D.jsxs)(`div`,{className:A.replyBar,children:[(0,D.jsxs)(`span`,{className:A.replyBarText,children:[`Replying to `,e.authorName,`: `,AXt(e.text)]}),(0,D.jsx)(`button`,{type:`button`,className:A.replyBarClose,"aria-label":`Cancel reply`,onClick:t,children:(0,D.jsx)(lo,{size:16})})]}),qZt=({attachments:e,onRemove:t,onAddMore:n})=>(0,D.jsxs)(Gm.div,{className:A.attachTray,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.16},children:[e.map(e=>(0,D.jsxs)(`div`,{className:A.attachItem,children:[e.previewUrl===null?(0,D.jsxs)(`div`,{className:A.attachFile,children:[(0,D.jsx)(hr,{size:20}),(0,D.jsx)(`span`,{className:A.attachFileName,children:e.file.name})]}):(0,D.jsx)(`img`,{className:A.attachThumb,src:e.previewUrl,alt:e.file.name}),(0,D.jsx)(`button`,{type:`button`,className:A.attachRemove,"aria-label":`Remove ${e.file.name}`,onClick:()=>{t(e.id)},children:(0,D.jsx)(lo,{size:13})})]},e.id)),(0,D.jsx)(`button`,{type:`button`,className:A.attachAdd,"aria-label":`Add more files`,onClick:n,children:(0,D.jsx)(Ri,{size:20})})]}),JZt=({fileRef:e,onAttach:t,onFileChange:n})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`input`,{ref:e,type:`file`,multiple:!0,className:A.hiddenFileInput,accept:`image/*,video/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip`,onChange:n}),(0,D.jsx)(`button`,{type:`button`,className:A.composerIcon,"aria-label":`Attach files`,onClick:t,children:(0,D.jsx)(Vee,{size:18})})]}),YZt=({hasAttachments:e,disabled:t,canSendMessage:n,onSend:r})=>{let i=(0,D.jsx)(`button`,{type:`button`,className:A.sendBtn,"aria-label":e?`Send attachments`:`Send message`,disabled:t,onClick:r,children:(0,D.jsx)(la,{size:16})});return n?i:(0,D.jsx)(iy,{label:`Permission Denied`,children:(0,D.jsx)(`span`,{style:{display:`inline-flex`},children:i})})},XZt=({editingText:e,onClear:t})=>(0,D.jsxs)(`div`,{className:A.replyBar,children:[(0,D.jsx)(Ci,{size:15,style:{marginRight:6}}),(0,D.jsxs)(`span`,{className:A.replyBarText,children:[`Editing message: `,AXt(e)]}),(0,D.jsx)(`button`,{type:`button`,className:A.replyBarClose,"aria-label":`Cancel edit`,onClick:t,children:(0,D.jsx)(lo,{size:16})})]});Fy(),Do();var ZZt=({value:e,title:t,hasAttachments:n,isSending:r,canSend:i,canSendMessage:a,fileRef:o,onChange:s,onTyping:c,onKeyDown:l,onPaste:u,onAttach:d,onFileChange:f,onSend:p})=>{let m=ko(`(max-width: 1024px)`),h=wo(e,4e3),g=n?`Add a caption…`:m?`Message ${t}…`:`Message ${t}… (Shift+Enter for new line)`;return(0,D.jsxs)(`div`,{className:A.composer,children:[(0,D.jsx)(GZt,{onPick:t=>{s(e+t)}}),(0,D.jsx)(JZt,{fileRef:o,onAttach:d,onFileChange:f}),(0,D.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`},children:[(0,D.jsx)(`textarea`,{className:T(A.composerInput,h.isOverLimit&&A.composerInputError),rows:1,placeholder:g,value:e,onChange:e=>{s(e.target.value),c()},onKeyDown:l,onPaste:u}),h.showCounter&&(0,D.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:h.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[h.length,` / 4000`]})]}),(0,D.jsx)(YZt,{hasAttachments:n,disabled:r||!i||h.isOverLimit||!a,canSendMessage:a,onSend:p})]})},QZt=({value:e,isSending:t,title:n,replyTo:r,editingMessage:i=null,onChange:a,onSubmit:o,onClearReply:s,onClearEditing:c,onSendMedia:l,onTyping:u,canSendMessage:d})=>{let{hasPermission:f}=wS(),p=d??f(CS.chatSendMessage),m=(0,E.useRef)(null),h=VZt(),g=h.items.length>0,_=g||e.trim().length>0,{openPicker:v,send:y,handleKeyDown:b,handlePaste:x,onFileChange:S}=HZt(h,e,m,{onSubmit:o,onSendMedia:l,canSendMessage:p});return(0,D.jsxs)(D.Fragment,{children:[i!==null&&c!==void 0&&(0,D.jsx)(XZt,{editingText:i.text,onClear:c}),r!==null&&(0,D.jsx)(KZt,{replyTo:r,onClear:s}),g&&(0,D.jsx)(qZt,{attachments:h.items,onRemove:h.remove,onAddMore:v}),(0,D.jsx)(ZZt,{value:e,title:n,hasAttachments:g,isSending:t,canSend:_,canSendMessage:p,fileRef:m,onChange:a,onTyping:u,onKeyDown:b,onPaste:x,onAttach:v,onFileChange:S,onSend:y})]})},$Zt=({conversation:e,conversationId:t,text:n,replyTo:r,editingMessage:i=null,isSending:a,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(LZt,{conversationId:t}),(0,D.jsx)(QZt,{value:n,isSending:a,title:e.title,replyTo:r,editingMessage:i,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})]}),G5=(e,t,n,r)=>(e[t]?.[n]??0)>=r,eQt=(e,t,n)=>G5(t,e,`read`,n)?`read`:G5(t,e,`delivered`,n)?`delivered`:`sent`,tQt=(e,t,n)=>e.length===0?`sent`:e.every(e=>G5(t,e,`read`,n))?`read`:e.every(e=>G5(t,e,`delivered`,n))?`delivered`:`sent`,nQt=(e,t)=>t.peerUserId===null?tQt(t.otherMemberIds,t.receipts,e.sequence):eQt(t.peerUserId,t.receipts,e.sequence),rQt=(e,t)=>{if(t.length===0)return e;let n=new Map;for(let r of[...t,...e])n.set(r.id,r);return[...n.values()].sort((e,t)=>e.sequence-t.sequence)},iQt=e=>{let t=e[0];return t===void 0?null:e.reduce((e,t)=>Math.min(e,t.sequence),t.sequence)};tS(),Uy();var aQt=e=>{let{getMessagesBefore:t}=TS(),n=Xx(),[r,i]=(0,E.useState)(!0),[a,o]=(0,E.useState)(!1),s=(0,E.useRef)(!1);return(0,E.useEffect)(()=>{i(!0),o(!1),s.current=!1},[e]),{loadOlder:(0,E.useCallback)(()=>{if(e===null||s.current||!r)return;let a=MS(e),c=iQt(n.getQueryData(a)??[]);c!==null&&(s.current=!0,o(!0),Hy(t.execute(e,c,50)).then(e=>{n.setQueryData(a,t=>rQt(t??[],e)),e.length<50&&i(!1)}).catch(()=>{}).finally(()=>{s.current=!1,o(!1)}))},[e,t,r,n]),hasMore:r,isLoadingOlder:a}},oQt=80,sQt=60,cQt={tailKey:``,headKey:``,count:0,lastFromViewer:!1},lQt=e=>{let t=e.at(-1);return{tailKey:t?.id??``,headKey:e[0]?.id??``,count:e.length,lastFromViewer:t?.fromViewer??!1}},uQt=(e,t)=>{e!==null&&e.scrollTo({top:e.scrollHeight,behavior:t?`smooth`:`auto`})},dQt=(e,t,n)=>{let r=(0,E.useRef)(null),[i,a]=(0,E.useState)(!0),[o,s]=(0,E.useState)(!1),c=(0,E.useRef)(cQt),l=(0,E.useRef)(!0),u=(0,E.useRef)(null),d=(0,E.useRef)(n);d.current=n;let f=(0,E.useCallback)(e=>{uQt(r.current,e),s(!1)},[]),p=(0,E.useCallback)(()=>{let e=r.current;if(e===null)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<oQt;l.current=t,a(t),t&&s(!1),e.scrollTop<sQt&&(u.current=e.scrollHeight,d.current())},[]);return(0,E.useLayoutEffect)(()=>{c.current=cQt,l.current=!0,u.current=null,a(!0),s(!1)},[e]),(0,E.useLayoutEffect)(()=>{let e=lQt(t),n=c.current;c.current=e;let i=r.current;if(e.tailKey===``||i===null)return;if(n.tailKey===``){uQt(i,!1);return}let a=e.count>n.count,o=a&&e.tailKey!==n.tailKey;a&&e.headKey!==n.headKey&&u.current!==null&&(i.scrollTop+=i.scrollHeight-u.current,u.current=null),o&&(l.current||e.lastFromViewer)?(uQt(i,!0),s(!1)):o&&s(!0)},[t]),(0,E.useEffect)(()=>{p()},[p]),{scrollRef:r,isAtBottom:i,hasNewBelow:o,scrollToBottom:f,onScroll:p}},K5={card:`_card_1bdwl_1`,header:`_header_1bdwl_29`,body:`_body_1bdwl_43`,authorRow:`_authorRow_1bdwl_47`,avatar:`_avatar_1bdwl_54`,authorInfo:`_authorInfo_1bdwl_68`,authorName:`_authorName_1bdwl_73`,category:`_category_1bdwl_80`,catDot:`_catDot_1bdwl_90`,title:`_title_1bdwl_97`,snippet:`_snippet_1bdwl_105`,footer:`_footer_1bdwl_116`};fo(),Dt(),Do();var fQt=/\/feed\/posts\/([a-zA-Z0-9-]+)$/,pQt=({title:e,body:t,authorName:n,authorInitials:r,authorColor:i,categoryLabel:a,categoryColor:o,link:s})=>{let c=We();return(0,D.jsxs)(`button`,{type:`button`,onClick:e=>{e.preventDefault();let t=fQt.exec(s);if(t?.[1]!==void 0){let e=t[1];c(`/comms/feed?postId=${e}`)}else (s.startsWith(`/`)||s.toLowerCase().startsWith(`http://`)||s.toLowerCase().startsWith(`https://`))&&window.open(s,`_blank`,`noopener,noreferrer`)},className:K5.card,style:{textAlign:`left`},children:[(0,D.jsxs)(`div`,{className:K5.header,children:[(0,D.jsx)(pi,{size:10}),`Shared from News Feed`]}),(0,D.jsxs)(`div`,{className:K5.body,children:[(0,D.jsxs)(`div`,{className:K5.authorRow,children:[(0,D.jsx)(`span`,{className:K5.avatar,style:yo({"--avatar-color":i}),children:r}),(0,D.jsxs)(`div`,{className:K5.authorInfo,children:[(0,D.jsx)(`div`,{className:K5.authorName,children:n}),a!==null&&o!==null&&(0,D.jsxs)(`div`,{className:K5.category,style:yo({"--cat-color":o}),children:[(0,D.jsx)(`span`,{className:K5.catDot}),a]})]})]}),(0,D.jsx)(`div`,{className:K5.title,children:e}),(0,D.jsx)(`div`,{className:K5.snippet,children:t}),(0,D.jsx)(`div`,{className:K5.footer,children:`Open in News Feed >`})]})]})};tS(),Uy();var mQt=e=>e.startsWith(`blob:`),hQt=e=>e.type.length>0?URL.createObjectURL(e):URL.createObjectURL(new Blob([e],{type:`image/jpeg`})),gQt=e=>{let{downloadChatMedia:t}=TS(),[n,r]=(0,E.useState)(!1),i=e!==null&&mQt(e),a=e!==null&&!i?e:null,o=Qx({queryKey:[`chat-media`,a],queryFn:()=>Hy(t.execute(a??``)),enabled:a!==null&&a.length>0,staleTime:1/0,gcTime:12e4,retry:1}),[s,c]=(0,E.useState)(null);(0,E.useEffect)(()=>{r(!1),c(null)},[e]),(0,E.useEffect)(()=>{let e=o.data;if(e===void 0)return;let t=hQt(e);return c(t),()=>{URL.revokeObjectURL(t)}},[o.data]);let l=(0,E.useCallback)(()=>{r(!0)},[]);if(i)return{src:n?null:e,isLoading:!1,isError:n,onImageError:l};let u=o.isPending||o.isFetching;return{src:n?null:s,isLoading:u,isError:o.isError||n,onImageError:l}};fy();var q5=dy(e=>({open:!1,urls:[],index:0,openViewer:(t,n)=>{t.length!==0&&e({open:!0,urls:t,index:Math.max(0,Math.min(n,t.length-1))})},close:()=>{e({open:!1})},next:()=>{e(e=>({index:Math.min(e.index+1,e.urls.length-1)}))},prev:()=>{e(e=>({index:Math.max(e.index-1,0)}))}}));fo(),Fy(),Do();var _Qt=({mediaUrl:e,album:t,index:n=0})=>{let{src:r,isLoading:i,isError:a,onImageError:o}=gQt(e),s=q5(e=>e.openViewer);return a?(0,D.jsxs)(`div`,{className:A.msgMediaFallback,children:[(0,D.jsx)(Or,{size:18}),(0,D.jsx)(`span`,{children:`Image unavailable`})]}):r===null||i?(0,D.jsx)(`div`,{className:A.msgMediaLoading,children:(0,D.jsx)(Vo,{size:`sm`})}):(0,D.jsx)(`button`,{type:`button`,className:T(A.mediaButton,t!==void 0&&A.mediaButtonFill),"aria-label":`Open image preview`,onClick:()=>{s(t??[e],n)},children:(0,D.jsx)(`img`,{className:A.msgMedia,src:r,alt:``,onError:o})})},vQt=e=>(e??``).toLowerCase().split(`.`).pop()??``,yQt=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`bmp`,`svg`,`avif`,`heic`],bQt=(e,t)=>e!==null&&e.length>0?e.startsWith(`image/`):yQt.includes(vQt(t)),xQt={pdf:`pdf`,zip:`archive`,rar:`archive`,"7z":`archive`,gz:`archive`,tar:`archive`,doc:`document`,docx:`document`,txt:`document`,rtf:`document`,odt:`document`,xls:`spreadsheet`,xlsx:`spreadsheet`,csv:`spreadsheet`,ods:`spreadsheet`,ppt:`presentation`,pptx:`presentation`,odp:`presentation`,mp3:`audio`,wav:`audio`,ogg:`audio`,m4a:`audio`,aac:`audio`,mp4:`video`,mov:`video`,webm:`video`,mkv:`video`,avi:`video`},SQt=e=>{if(e===`application/pdf`)return`pdf`;if(e.startsWith(`audio/`))return`audio`;if(e.startsWith(`video/`))return`video`;if(e.startsWith(`text/`))return`document`;if(/zip|compressed|tar/.test(e))return`archive`;if(/spreadsheet|excel/.test(e))return`spreadsheet`;if(/presentation|powerpoint/.test(e))return`presentation`;if(e.includes(`word`))return`document`},CQt=(e,t)=>bQt(e,t)?`image`:SQt(e??``)??xQt[vQt(t)]??`generic`,wQt={image:`Image`,pdf:`PDF Document`,archive:`Archive`,document:`Document`,spreadsheet:`Spreadsheet`,presentation:`Presentation`,audio:`Audio`,video:`Video`,generic:`File`},TQt=e=>wQt[e];fo(),Fy(),Do();var EQt={image:lr,pdf:hr,archive:ir,document:hr,spreadsheet:pr,presentation:Bi,audio:sr,video:dr,generic:vr},DQt=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t.length>0?t:`download`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)},OQt=({mediaUrl:e,contentType:t,fileName:n,fromViewer:r})=>{let{downloadChatMedia:i}=TS(),[a,o]=(0,E.useState)(!1),s=CQt(t,n),c=EQt[s],l=n!==null&&n.length>0?n:`Attachment`,u=(0,E.useCallback)(()=>{o(!0),i.execute(e).then(e=>{o(!1),e.ok?DQt(e.value,l):my.error(`Could not download the file.`)})},[i,e,l]);return(0,D.jsxs)(`button`,{type:`button`,className:T(A.fileCard,r?A.fileCardMe:A.fileCardThem),onClick:u,disabled:a,"aria-label":`Download ${l}`,children:[(0,D.jsx)(`span`,{className:A.fileCardIcon,children:(0,D.jsx)(c,{size:22})}),(0,D.jsxs)(`span`,{className:A.fileCardInfo,children:[(0,D.jsx)(`span`,{className:A.fileCardName,children:l}),(0,D.jsx)(`span`,{className:A.fileCardMetaLabel,children:TQt(s)})]}),(0,D.jsx)(`span`,{className:A.fileCardDownload,children:a?(0,D.jsx)(Vo,{size:`sm`}):(0,D.jsx)($n,{size:16})})]})};fo(),Do();var kQt=({tick:e})=>e===`read`?(0,D.jsx)(`span`,{className:T(A.tick,A.tickRead),"aria-label":`Read`,children:(0,D.jsx)(An,{size:13})}):e===`delivered`?(0,D.jsx)(`span`,{className:A.tick,"aria-label":`Delivered`,children:(0,D.jsx)(An,{size:13})}):(0,D.jsx)(`span`,{className:A.tick,"aria-label":`Sent`,children:(0,D.jsx)(Nn,{size:13})});fo();var AQt=({message:e,pending:t,tick:n,onRetry:r})=>t===`sending`?(0,D.jsx)(`span`,{className:A.tick,"aria-label":`Sending`,children:(0,D.jsx)(Xn,{size:13})}):t===`failed`?(0,D.jsxs)(`span`,{className:A.sendFailed,children:[(0,D.jsx)(`span`,{className:A.sendFailedText,children:`Not delivered`}),(0,D.jsx)(`button`,{type:`button`,className:A.retryBtn,onClick:()=>{e.clientMessageId!==null&&r(e.clientMessageId,e.text)},children:`Retry`})]}):n===null?null:(0,D.jsx)(kQt,{tick:n}),jQt=({initial:e,onSave:t})=>{let[n,r]=(0,E.useState)(e);return(0,D.jsxs)(`span`,{className:A.msgActions,children:[(0,D.jsx)(`input`,{className:A.composerInput,value:n,onChange:e=>{r(e.target.value)}}),(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{n.trim().length>0&&t(n.trim())},children:`Save`})]})},MQt=({message:e,fromViewer:t,onReply:n,onEdit:r,onDelete:i,resolvedReplyTo:a=null})=>{let[o,s]=(0,E.useState)(!1),c=jXt(e,a);return H5(e)?(0,D.jsx)(`span`,{className:A.msgActions}):t?o?(0,D.jsx)(jQt,{initial:e.text,onSave:t=>{r(e.id,t),s(!1)}}):(0,D.jsxs)(`span`,{className:A.msgActions,children:[(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{n(c)},children:`Reply`}),e.canEdit(Date.now())&&(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{s(!0)},children:`Edit`}),(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{i(e.id)},children:`Delete`})]}):(0,D.jsx)(`span`,{className:A.msgActions,children:(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{n(c)},children:`Reply`})})},NQt=`comms:chat:jump-to-message`,PQt=e=>{if(typeof window>`u`||e.length===0)return;let t=new CustomEvent(NQt,{detail:{messageId:e},bubbles:!0});window.dispatchEvent(t)},FQt=(e,t,n=`msg-highlight-flash`)=>{let r=e.closest(t)??e.parentElement;if(r!==null){let t=r.getBoundingClientRect(),n=e.getBoundingClientRect(),i=r.scrollTop+(n.top-t.top)-t.height/2+n.height/2;typeof r.scrollTo==`function`&&r.scrollTo({top:Math.max(0,i),behavior:`smooth`})}e.classList.remove(n),e.offsetWidth,e.classList.add(n),window.setTimeout(()=>{e.classList.remove(n)},1600)},IQt=({replyTo:e})=>{let t=kXt(e.text);if(t!==null)return(0,D.jsx)(`div`,{style:{marginBottom:6,display:`block`,width:`100%`},children:(0,D.jsx)(pQt,{...t.card})});let n=e.text.trim().length>0;return(0,D.jsxs)(`span`,{role:`button`,tabIndex:0,className:A.replyPreview,onClick:t=>{t.stopPropagation(),PQt(e.messageId)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),PQt(e.messageId))},children:[e.authorName.length>0&&(0,D.jsx)(`span`,{className:A.replyPreviewAuthor,children:e.authorName}),(0,D.jsx)(`span`,{className:A.replyPreviewText,children:n?AXt(e.text):`Message`})]})};gS(),Do();var LQt=`This message was deleted`,RQt=({message:e})=>{let t=e.mediaUrl;return t===null||t.length===0?null:bQt(e.mediaContentType,e.mediaFileName)?(0,D.jsx)(_Qt,{mediaUrl:t}):(0,D.jsx)(OQt,{mediaUrl:t,contentType:e.mediaContentType,fileName:e.mediaFileName,fromViewer:e.fromViewer})},zQt=({message:e,fromViewer:t,deletedForEveryone:n,pending:r,tick:i,onRetry:a})=>{let o=hS();return(0,D.jsxs)(`span`,{className:A.msgMeta,children:[(0,D.jsx)(`span`,{className:A.msgTime,children:RNe(e.sentAt,o.display)||e.time}),!n&&e.isEdited&&(0,D.jsx)(`span`,{className:A.editedLabel,children:`edited`}),t&&(e.kind===`text`||e.kind===`media`)&&(0,D.jsx)(AQt,{message:e,pending:r,tick:i,onRetry:a})]})},BQt=/(https?:\/\/[^\s]+)/g,VQt=({text:e})=>e?(0,D.jsx)(D.Fragment,{children:e.split(BQt).map((e,t)=>e.match(BQt)?(0,D.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:A.msgLink,children:e},t):(0,D.jsx)(E.Fragment,{children:e},t))}):(0,D.jsx)(D.Fragment,{children:e}),HQt=({sharedComment:e,sharedCardProps:t})=>(0,D.jsxs)(D.Fragment,{children:[e.length>0&&(0,D.jsx)(`span`,{className:T(A.msgText,A.msgTextWithCard),children:(0,D.jsx)(VQt,{text:e})}),(0,D.jsx)(pQt,{...t})]}),UQt=({messageText:e,deletedForEveryone:t})=>(0,D.jsx)(`span`,{className:T(A.msgText,t&&A.msgTextDeleted),children:t?LQt:(0,D.jsx)(VQt,{text:e})}),WQt=({message:e,authorName:t,showAuthor:n,replyTo:r,fromViewer:i,deletedForEveryone:a,pending:o,tick:s,onRetry:c,isSelected:l,onSelect:u})=>{let d=a?null:kXt(e.text);return(0,D.jsxs)(`div`,{className:T(A.bubble,i?A.bubbleMe:A.bubbleThem,l&&A.bubbleSelected),onClick:()=>{u!==void 0&&u(e)},children:[n&&(0,D.jsx)(`span`,{className:A.msgAuthor,children:t}),!a&&r!==null&&(0,D.jsx)(IQt,{replyTo:r}),!a&&(0,D.jsx)(RQt,{message:e}),d===null?(0,D.jsx)(UQt,{messageText:e.text,deletedForEveryone:a}):(0,D.jsx)(HQt,{sharedComment:d.comment,sharedCardProps:d.card}),(0,D.jsx)(zQt,{message:e,fromViewer:i,deletedForEveryone:a,pending:o,tick:s,onRetry:c})]})},GQt=({message:e,identity:t,replyTo:n,isSelected:r,onSelect:i,showAvatar:a,showAuthor:o,tick:s,pending:c,onRetry:l,onReply:u,onEdit:d,onDelete:f,quickReact:p,reactions:m})=>{let{fromViewer:h,deletedForEveryone:g}=e,_=!H5(e)&&!g,v=m!==null;return(0,D.jsxs)(D.Fragment,{children:[!h&&(a?(0,D.jsx)(`span`,{className:A.msgAvatar,style:yo({"--avatar-color":t.color}),children:t.initials}):(0,D.jsx)(`span`,{className:A.msgAvatarSpacer,"aria-hidden":`true`})),(0,D.jsx)(`div`,{className:T(A.msgCol,v&&A.msgColWithReactions),children:(0,D.jsxs)(`div`,{className:A.msgBubbleWrap,children:[(0,D.jsx)(WQt,{message:e,authorName:t.name,showAuthor:o,replyTo:n,fromViewer:h,deletedForEveryone:g,pending:c,tick:s,onRetry:l,isSelected:r,onSelect:i}),v&&m,_&&p,_&&(0,D.jsx)(MQt,{message:e,fromViewer:h,onReply:u,onEdit:d,onDelete:f,resolvedReplyTo:n})]})})]})},KQt=e=>e.trim().toLowerCase(),qQt=(e,t)=>KQt(e)===KQt(t),JQt=(e,t)=>{if(e.fromViewer)return{name:e.authorName,initials:e.authorInitials,color:e.authorColor};let n=t.members.find(t=>qQt(t.id,e.senderId));return n===void 0?t.kind===`dm`&&t.peerUserId!==null&&qQt(t.peerUserId,e.senderId)?{name:t.title,initials:t.initials,color:t.color}:{name:e.authorName,initials:e.authorInitials,color:e.authorColor}:{name:n.name,initials:n.initials,color:n.color}};hh(),fo(),Fy(),Do();var YQt=({align:e,onPick:t})=>{let[n,r]=(0,E.useState)(!1);return(0,D.jsxs)(`div`,{className:A.reactWrap,children:[(0,D.jsx)(`button`,{type:`button`,className:A.reactBtn,"aria-label":`Add reaction`,onClick:()=>{r(e=>!e)},children:(0,D.jsx)(Ca,{size:14})}),(0,D.jsx)(vm,{children:n&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:A.emojiBackdrop,"aria-label":`Close reaction picker`,onClick:()=>{r(!1)}}),(0,D.jsx)(Gm.div,{className:T(A.reactPop,e===`right`?A.reactPopRight:A.reactPopLeft),variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:UZt.map(e=>(0,D.jsx)(`button`,{type:`button`,className:A.reactPopBtn,onClick:()=>{t(e),r(!1)},children:e},e))})]})})]})},XQt=({message:e,onReact:t,fromViewer:n})=>{let r=e.reactions.reduce((e,t)=>e+t.count,0);if(r===0)return null;let i=e.reactions.find(e=>e.reacted);return(0,D.jsxs)(`button`,{type:`button`,className:T(A.reactionPill,n?A.reactionsMe:A.reactionsThem,i!==void 0&&A.reactionPillActive),onClick:()=>{if(i!==void 0)t(e.id,i.emoji);else if(e.reactions.length>0){let n=e.reactions[0]?.emoji;n!==void 0&&t(e.id,n)}},"aria-label":`Reactions`,children:[(0,D.jsx)(`span`,{className:A.reactionEmojis,children:e.reactions.map(e=>e.emoji).join(``)}),r>1&&(0,D.jsx)(`span`,{className:A.reactionCount,children:r})]})};hh(),Fy(),Do();var ZQt=({text:e})=>(0,D.jsx)(Gm.div,{className:A.systemRow,variants:gh,initial:`hidden`,animate:`visible`,children:(0,D.jsx)(`span`,{className:A.systemPill,children:e})}),QQt=(e,t,n)=>!e.deletedForEveryone&&e.reactions.length>0?(0,D.jsx)(XQt,{message:e,onReact:n,fromViewer:t}):null,$Qt=({conversation:e,message:t,layoutStatic:n=!1,firstOfGroup:r=!0,lastOfGroup:i=!0,replyTo:a,isSelected:o,onSelect:s,onReact:c,tick:l,pending:u,onRetry:d,onReply:f,onEdit:p,onDelete:m})=>{if(t.isSystem)return(0,D.jsx)(ZQt,{text:t.text});let{fromViewer:h}=t,g=JQt(t,e),_=T(A.msgRow,h&&A.msgRowMe,r&&A.msgRowGroupStart),v=(0,D.jsx)(GQt,{message:t,identity:g,replyTo:a??t.replyTo,isSelected:o,onSelect:s,showAvatar:i,showAuthor:r&&e.isGroup,tick:l,pending:u,onRetry:d,onReply:f,onEdit:p,onDelete:m,quickReact:(0,D.jsx)(YQt,{align:h?`right`:`left`,onPick:e=>{c(t.id,e)}}),reactions:QQt(t,h,c)});return n?(0,D.jsx)(`div`,{id:`msg-${t.id}`,className:_,children:v}):(0,D.jsx)(Gm.div,{id:`msg-${t.id}`,className:_,variants:gh,initial:`hidden`,animate:`visible`,whileHover:{y:-1,scale:1.005},transition:{type:`spring`,stiffness:500,damping:30},children:v})};gS(),fo(),Do();var e$t=()=>void 0,t$t=e=>e.find(e=>e.text.trim().length>0)?.text??``,n$t=({fromViewer:e,lastOfGroup:t,identity:n})=>e?null:t?(0,D.jsx)(`span`,{className:A.msgAvatar,style:yo({"--avatar-color":n.color}),children:n.initials}):(0,D.jsx)(`span`,{className:A.msgAvatarSpacer,"aria-hidden":`true`}),r$t=({message:e,onReact:t,onReply:n,onDelete:r})=>(0,D.jsxs)(`div`,{className:A.albumCellActions,children:[(0,D.jsx)(YQt,{align:e.fromViewer?`right`:`left`,onPick:n=>{t(e.id,n)}}),(0,D.jsx)(`button`,{type:`button`,className:A.albumActionBtn,"aria-label":`Reply`,onClick:()=>{n(jXt(e))},children:(0,D.jsx)(ea,{size:13})}),e.fromViewer&&(0,D.jsx)(`button`,{type:`button`,className:A.albumActionBtn,"aria-label":`Delete`,onClick:()=>{r(e.id)},children:(0,D.jsx)(Ka,{size:13})})]}),i$t=e=>{let{message:t,album:n,index:r}=e,i=!H5(t)&&!t.deletedForEveryone,a=!t.deletedForEveryone&&t.reactions.length>0;return(0,D.jsxs)(`div`,{id:`msg-${t.id}`,className:A.albumCell,children:[(0,D.jsx)(`div`,{className:A.albumCellMedia,children:t.mediaUrl!==null&&t.mediaUrl.length>0&&(0,D.jsx)(_Qt,{mediaUrl:t.mediaUrl,album:n,index:r})}),i&&(0,D.jsx)(r$t,{...e}),a&&(0,D.jsx)(`div`,{className:A.albumCellReactions,children:(0,D.jsx)(XQt,{message:t,onReact:e.onReact,fromViewer:t.fromViewer})})]})},a$t=({last:e,fromViewer:t,tick:n,pending:r})=>{let i=hS();return(0,D.jsxs)(`span`,{className:A.msgMeta,children:[(0,D.jsx)(`span`,{className:A.msgTime,children:RNe(e.sentAt,i.display)||e.time}),t&&(0,D.jsx)(AQt,{message:e,pending:r,tick:n,onRetry:e$t})]})},o$t=({conversation:e,messages:t,firstOfGroup:n,lastOfGroup:r,tick:i,pending:a,onReact:o,onReply:s,onDelete:c})=>{let l=t.at(0),u=t.at(-1);if(l===void 0||u===void 0)return(0,D.jsx)(D.Fragment,{});let{fromViewer:d}=l,f=JQt(l,e),p=t$t(t),m=n&&e.isGroup,h=t.map(e=>e.mediaUrl??``);return(0,D.jsxs)(`div`,{id:`msg-${u.id}`,className:T(A.msgRow,d&&A.msgRowMe,n&&A.msgRowGroupStart),children:[(0,D.jsx)(n$t,{fromViewer:d,lastOfGroup:r,identity:f}),(0,D.jsx)(`div`,{className:A.msgCol,children:(0,D.jsx)(`div`,{className:A.msgBubbleWrap,children:(0,D.jsxs)(`div`,{className:T(A.bubble,d?A.bubbleMe:A.bubbleThem),children:[m&&(0,D.jsx)(`span`,{className:A.msgAuthor,children:f.name}),(0,D.jsx)(`div`,{className:A.albumGrid,children:t.map((e,t)=>(0,D.jsx)(i$t,{message:e,album:h,index:t,onReact:o,onReply:s,onDelete:c},e.id))}),p.length>0&&(0,D.jsx)(`span`,{className:A.msgText,children:p}),(0,D.jsx)(a$t,{last:u,fromViewer:d,tick:i,pending:a})]})})})]})};mS();var s$t=(e,t)=>{if(e.length===0)return null;let n=xS(e);if(Number.isNaN(n.getTime()))return null;if(t&&t.length>0){let e=uS(n,t),r=String(e.month).padStart(2,`0`),i=String(e.day).padStart(2,`0`);return`${String(e.year)}-${r}-${i}`}let r=String(n.getMonth()+1).padStart(2,`0`),i=String(n.getDate()).padStart(2,`0`);return`${String(n.getFullYear())}-${r}-${i}`},c$t=(e,t)=>{let[n,r,i]=e.split(`-`);return new Date(Date.UTC(Number(n),Number(r)-1,Number(i))).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`,timeZone:`UTC`})},l$t=(e,t)=>!e.isSystem&&!t.isSystem&&e.senderId===t.senderId,u$t=(e,t)=>{let n=[],r=null;return e.forEach((i,a)=>{let o=s$t(i.sentAt,t),s=o!==null&&o!==r;s&&n.push({kind:`date`,key:`date:${o}`,label:c$t(o,t)}),r=o??r;let c=e[a-1],l=e[a+1],u=s||c===void 0||!l$t(c,i),d=l===void 0||!l$t(i,l)||s$t(l.sentAt,t)!==o;n.push({kind:`message`,key:i.id,row:{message:i,firstOfGroup:u,lastOfGroup:d}})}),n},d$t=2,f$t=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&!e.row.message.deletedForEveryone&&(e.row.message.mediaUrl??``).length>0&&bQt(e.row.message.mediaContentType,e.row.message.mediaFileName),p$t=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&e.row.message.deletedForEveryone,m$t=e=>f$t(e)||p$t(e),h$t=(e,t,n)=>({kind:`album`,key:`album:${(e[0]??t).row.message.id}`,messages:e.map(e=>e.row.message),firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}),g$t=(e,t,n)=>({kind:`message`,key:e.key,row:{message:e.row.message,firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}}),_$t=(e,t)=>{let n=e[0],r=e[e.length-1];if(n===void 0||r===void 0)return;let i=e.filter(f$t);if(i.length>=d$t){t.push(h$t(i,n,r));return}if(i.length===1&&i[0]!==void 0){t.push(g$t(i[0],n,r));return}t.push(g$t(n,n,r))},v$t=e=>{let t=[],n=[];for(let r of e){if(m$t(r)){let e=n.at(-1);e!==void 0&&e.row.message.senderId!==r.row.message.senderId&&(_$t(n,t),n=[]),n.push(r);continue}_$t(n,t),n=[],t.push(r)}return _$t(n,t),t};gS();var y$t=(e,t)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||e.clientMessageId===null?null:t[e.clientMessageId]??null,b$t=({label:e})=>(0,D.jsx)(`div`,{className:A.dateSep,children:(0,D.jsx)(`span`,{className:A.dateSepPill,children:e})}),x$t=({conversation:e,messages:t,pending:n,selectedMessageId:r,onSelectMessage:i,onReact:a,onRetry:o,onReply:s,onEdit:c,onDelete:l,tickFor:u})=>{let d=hS(),f=(0,E.useMemo)(()=>new Map(t.map(e=>[e.id,e])),[t]);return(0,D.jsx)(D.Fragment,{children:v$t(u$t(t,d.display)).map(t=>{if(t.kind===`date`)return(0,D.jsx)(b$t,{label:t.label},t.key);if(t.kind===`album`){let r=t.messages.at(-1);return(0,D.jsx)(o$t,{conversation:e,messages:t.messages,firstOfGroup:t.firstOfGroup,lastOfGroup:t.lastOfGroup,tick:r===void 0?null:u(r),pending:r===void 0?null:y$t(r,n),onReact:a,onReply:s,onDelete:l},t.key)}return(0,D.jsx)($Qt,{layoutStatic:!0,firstOfGroup:t.row.firstOfGroup,lastOfGroup:t.row.lastOfGroup,conversation:e,message:t.row.message,isSelected:r===t.row.message.id,onSelect:i,replyTo:NXt(t.row.message.replyTo,f),onReact:a,pending:y$t(t.row.message,n),tick:u(t.row.message),onRetry:o,onReply:s,onEdit:c,onDelete:l},t.key)})})},J5={id:`u-shamim`,name:`Shamim Rahman`,initials:`SR`,color:`#e9445a`},S$t=`t-uapp`,C$t={id:`u-andreea`,name:`Andreea Cinpoi`,initials:`AN`,color:`#7c3aed`,role:`Sales Manager`},w$t={id:`u-laura`,name:`Laura Tomova`,initials:`LA`,color:`#3a7bd5`,role:`Compliance Officer`},T$t={id:`s-mahmud`,name:`Mahmud Hasan`,initials:`MH`,color:`#16a34a`,role:`Student`},E$t={id:`u-mihadul`,name:`Mihadul Islam`,initials:`MI`,color:`#65a30d`,role:`Admission Officer`},D$t={id:`u-nur`,name:`Nur Mohammad`,initials:`NM`,color:`#8b5cf6`,role:`Team Leader`},O$t={id:`u-md-shamim`,name:`Md Shamim`,initials:`MS`,color:`#0a6e6f`,role:`Sales Lead`};J5.id,J5.name,J5.initials,J5.color;var Y5=(e,t)=>({...t,admin:!1,lastSynced:null,tenantId:S$t,categoryId:null,members:[],adminIds:[],data:{},peerUserId:e,memberReceipts:[]});J5.id,T$t.id,J5.id,E$t.id,D$t.id,T$t.id,J5.id,O$t.id,C$t.id,J5.id,C$t.id,w$t.id,{...Y5(`u-tousif`,{id:`c-tousif`,kind:`dm`,title:`Tousif Sadman`,subtitle:`Consultant`,initials:`TS`,color:`#0e7c66`,online:!0,unread:2,pinned:!1,favourite:!0,archived:!1,lastMessage:`Sure, I'll send the documents`,lastTime:`5m`})},J5.id,Y5(`u-raj`,{id:`c-raj`,kind:`dm`,title:`Raj Ahmed`,subtitle:`Global Admission Manager`,initials:`RA`,color:`#0ea5e9`,online:!0,unread:1,pinned:!1,favourite:!1,archived:!1,lastMessage:`The offer letter is ready`,lastTime:`1h`}),Y5(`u-andreea`,{id:`c-andreea`,kind:`dm`,title:`Andreea Cinpoi`,subtitle:`Sales Manager`,initials:`AN`,color:`#7c3aed`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Thanks for the update`,lastTime:`2h`}),Y5(`u-jennifer`,{id:`c-jennifer`,kind:`dm`,title:`Jennifer Aboje`,subtitle:`Branch Manager`,initials:`JA`,color:`#fc7300`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Let me check with the team`,lastTime:`Yesterday`}),Y5(`u-laura`,{id:`c-laura`,kind:`dm`,title:`Laura Tomova`,subtitle:`Compliance Officer`,initials:`LA`,color:`#3a7bd5`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!0,lastMessage:`Archived — visa file closed`,lastTime:`3d`}),Uy(),Uy(),yx();var k$t=hx({id:k(),name:k(),initials:k(),color:k(),role:k(),status:fx().optional(),statusUntilUtc:k().nullish()}),A$t=hx({userId:k(),deliveredUpto:fx(),readUpto:fx()}),j$t=hx({id:k(),type:fx(),title:k(),subtitle:k(),initials:k(),color:k(),online:px(),status:fx().optional(),statusUntilUtc:k().nullish(),unread:fx(),pinned:px(),favourite:px(),archived:px(),unreadCount:fx(),admin:px(),lastMessage:k(),lastTime:k(),lastMessageAt:k().nullable().optional(),lastSyncedAt:k().nullable(),categoryId:k().nullable(),headerFields:_x(k(),k()).optional(),members:mx(k$t),adminIds:mx(k()),peerUserId:k().nullable().optional().default(null),memberReceipts:mx(A$t).optional().default([])}).passthrough(),M$t=hx({emoji:k(),count:fx(),reacted:px()}),X5=hx({id:k(),conversationId:k(),kind:fx(),senderId:k(),authorName:k(),authorInitials:k(),authorColor:k(),text:k(),sentAt:k(),time:k(),sequence:fx(),clientMessageId:k().nullable(),fromViewer:px(),reactions:mx(M$t),replyToMessageId:k().nullable().optional().default(null),replyToAuthorName:k().optional().default(``),replyToText:k().optional().default(``),mediaUrl:k().nullable().optional().default(null),mediaContentType:k().nullable().optional().default(null),mediaFileName:k().nullable().optional().default(null),editedAt:k().nullable().optional().default(null),isEdited:px().optional().default(!1),deletedForEveryone:px().optional().default(!1)}),N$t=hx({id:k(),name:k(),initials:k(),color:k()}),P$t=mx(j$t),F$t=mx(k$t),I$t=hx({totalCount:fx(),items:P$t}),L$t=hx({unread:fx(),favourites:fx(),groups:fx(),archived:fx()}),R$t=hx({blobName:k(),url:k(),contentType:k().optional().default(`application/octet-stream`),fileName:k().nullable().optional().default(null)}),z$t=mx(X5),B$t=6e4,V$t=60*B$t,H$t=24*V$t,U$t=(e,t)=>{let n=t.getTime()-e.getTime();return n<B$t?`just now`:n<V$t?`${String(Math.floor(n/B$t))}m`:n<H$t?`${String(Math.floor(n/V$t))}h`:`${String(Math.floor(n/H$t))}d`},W$t=e=>e===0?`dm`:`group`,G$t=e=>e===1?`system`:e===2?`media`:`text`,K$t=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role,status:WS(e.status),statusUntilUtc:e.statusUntilUtc??null}),q$t=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color}),J$t=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22),n=JSON.parse(t).card?.title??``;return n.length>0?`Shared Post: ${n}`:`Shared Post`}catch{return`Shared Post`}return e},Y$t=(e,t)=>new LNe({id:e.id,kind:W$t(e.type),title:e.title,subtitle:e.subtitle,initials:e.initials,color:e.color,online:e.online,status:WS(e.status),statusUntilUtc:e.statusUntilUtc??null,unread:e.unreadCount,pinned:e.pinned,favourite:e.favourite,archived:e.archived,admin:e.admin,lastMessage:J$t(e.lastMessage),lastTime:e.lastTime,lastMessageAt:e.lastMessageAt??null,lastSynced:e.lastSyncedAt===null?null:U$t(new Date(e.lastSyncedAt),t),tenantId:``,categoryId:e.categoryId,members:e.members.map(K$t),adminIds:e.adminIds,data:e.headerFields??{},peerUserId:e.peerUserId,memberReceipts:e.memberReceipts.map(e=>({userId:e.userId,deliveredUpto:e.deliveredUpto,readUpto:e.readUpto}))}),Z5=e=>{let t=e.replyToMessageId!==null&&e.replyToMessageId.length>0?{messageId:e.replyToMessageId,authorName:e.replyToAuthorName,text:e.replyToText}:null;return new INe({id:e.id,kind:G$t(e.kind),authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,sentAt:e.sentAt,fromViewer:e.fromViewer,reactions:e.reactions.map(e=>({emoji:e.emoji,count:e.count,reacted:e.reacted})),sequence:e.sequence,senderId:e.senderId,clientMessageId:e.clientMessageId,replyTo:t,mediaUrl:e.mediaUrl,mediaContentType:e.mediaContentType,mediaFileName:e.mediaFileName,isEdited:e.deletedForEveryone?!1:(e.editedAt??``).length>0||e.isEdited,deletedForEveryone:e.deletedForEveryone})};Uy();var Q5=(e,t,n)=>(e.error(`Chat ${t} returned an unexpected shape`,n),O(new bS(n))),X$t=e=>{if(e.length===0)return;let t=e[0];if(t&&typeof t==`object`&&`message`in t){let e=t.message;if(typeof e==`string`&&e.trim().length>0)return e}},Z$t=e=>{if(Array.isArray(e.validationErrors)){let t=X$t(e.validationErrors);if(t!==void 0)return t}if(typeof e.details==`string`&&e.details.trim().length>0&&!e.details.includes(`The following errors were detected`))return e.details;if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},Q$t=e=>{if(!e||typeof e!=`object`||!(`body`in e))return;let t=e.body;if(!t||typeof t!=`object`)return;let n=t;return Z$t(`error`in n&&n.error&&typeof n.error==`object`?n.error:n)},$5=(e,t)=>(e.error(`Chat request failed`,t),new bS(t,Q$t(t))),$$t=(e,t,n)=>{let r=z$t.safeParse(n);return r.success?By(r.data.map(Z5)):Q5(e,t,r.error)},e1t=(e,t,n,r)=>{let i=j$t.safeParse(r);return i.success?By(Y$t(i.data,t.now())):Q5(e,n,i.error)},t1t=`/api/app/chat-media/download?blobName=`,n1t=e=>`${t1t}${encodeURIComponent(decodeURIComponent(e))}`,r1t=e=>{if(!e.startsWith(`http://`)&&!e.startsWith(`https://`))return e;try{let t=new URL(e);return`${t.pathname}${t.search}`}catch{return e}},i1t=e=>{let t=/^\/api\/app\/chat-media\/download\?blobName=([^&]+)/.exec(e);if(t?.[1]!==void 0)return t[1];let n=/^\/api\/app\/chat-media\?blobName=([^&]+)/.exec(e);if(n?.[1]!==void 0)return n[1];let r=/^\/api\/app\/chat-media\/([^/?]+)/.exec(e)?.[1];if(r!==void 0&&r!==`upload`&&r!==`download`)return r},a1t=e=>{let t=e.trim();if(t.length===0)return t;let n=r1t(t),r=i1t(n);return r===void 0?n.startsWith(`/`)?n:`/${n}`:n1t(r)},e7={conversations:`/api/app/chat/conversations`,conversationCounts:`/api/app/chat/conversation-scope-counts`,listStaff:`/api/app/chat/list-staff`,groupMemberPool:`/api/app/chat/group-member-pool`,viewer:`/api/app/chat/viewer`,createGroup:`/api/app/chat/group`,uploadChatMedia:`/api/app/chat-media/upload`,subscribePush:`/api/app/web-push/subscribe`},t7={afterSequence:`afterSequence`,beforeSequence:`beforeSequence`,skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,scope:`scope`,uptoSequence:`uptoSequence`,favourite:`favourite`,archived:`archived`,pinned:`pinned`},n7=e=>encodeURIComponent(e),r7={conversation:e=>`/api/app/chat/conversation/${n7(e)}`,messages:e=>`/api/app/chat/messages/${n7(e)}`,messagesBefore:e=>`/api/app/chat/messages-before/${n7(e)}`,messagesSince:e=>`/api/app/chat/messages-since/${n7(e)}`,sendMessage:e=>`/api/app/chat/send-message/${n7(e)}`,sendMediaMessage:e=>`/api/app/chat/send-media-message/${n7(e)}`,markDelivered:e=>`/api/app/chat/mark-delivered/${n7(e)}`,markRead:e=>`/api/app/chat/mark-read/${n7(e)}`,reactToMessage:e=>`/api/app/chat/react-to-message/${n7(e)}`,saveMembers:e=>`/api/app/chat/save-members/${n7(e)}`,leaveConversation:e=>`/api/app/chat/leave-conversation/${n7(e)}`,setFavourite:e=>`/api/app/chat/set-favourite/${n7(e)}`,setArchived:e=>`/api/app/chat/set-archived/${n7(e)}`,setPinned:e=>`/api/app/chat/set-pinned/${n7(e)}`,deleteConversation:e=>`/api/app/chat/conversation/${n7(e)}`,refreshPortal:e=>`/api/app/chat/refresh-portal/${n7(e)}`,startDirect:e=>`/api/app/chat/start-direct/${n7(e)}`,editMessage:e=>`/api/app/chat/edit-message/${n7(e)}`,deleteMessage:e=>`/api/app/chat/message/${n7(e)}`,deleteMessageForMe:e=>`/api/app/chat/message-for-me/${n7(e)}`};lb(),Uy();var o1t=async(e,t,n,r)=>{try{let i=new FormData;i.append(`file`,n,r);let a=await e.httpClient.post(e7.uploadChatMedia,i,{query:{conversationId:t}}),o=R$t.safeParse(a);return o.success?By({mediaId:o.data.blobName,url:o.data.url}):Q5(e.logger,`upload-media`,o.error)}catch(t){return O($5(e.logger,t))}},s1t=async(e,t)=>{try{let n=await o1t(e,t.conversationId,t.file,t.fileName);if(!n.ok)return n;let r={blobName:n.value.mediaId,clientMessageId:t.clientMessageId};t.file.type.length>0&&(r.contentType=t.file.type),t.fileName.length>0&&(r.fileName=t.fileName),t.caption!==void 0&&t.caption.trim().length>0&&(r.caption=t.caption.trim()),t.replyToMessageId!==void 0&&t.replyToMessageId!==null&&(r.replyToMessageId=t.replyToMessageId);let i=await e.httpClient.post(r7.sendMediaMessage(t.conversationId),r),a=X5.safeParse(i);return a.success?By(Z5(a.data)):Q5(e.logger,`send-media-message`,a.error)}catch(t){return O($5(e.logger,t))}},c1t=async(e,t)=>{try{let n=a1t(t),r=await e.httpClient.getBlob(n,{headers:{Accept:`image/*,*/*`}});return r.size===0?O(new bS(`Chat media response was empty`)):By(r)}catch(t){return O($5(e.logger,t))}},l1t=async(e,t,n,r)=>{try{let t=await e.httpClient.post(r7.editMessage(n),{text:r}),i=X5.safeParse(t);return i.success?By(Z5(i.data)):Q5(e.logger,`edit-message`,i.error)}catch(t){return O($5(e.logger,t))}},u1t=async(e,t,n)=>{try{return await e.httpClient.delete(r7.deleteMessage(n)),By(void 0)}catch(t){return O($5(e.logger,t))}},d1t=async(e,t,n)=>{try{return await e.httpClient.delete(r7.deleteMessageForMe(n)),By(void 0)}catch(t){return O($5(e.logger,t))}},f1t=async(e,t)=>{try{return await e.httpClient.post(e7.subscribePush,{endpoint:t.endpoint,p256dh:t.p256dh,auth:t.auth}),By(void 0)}catch(t){return O($5(e.logger,t))}};lb(),Uy();var i7=async(e,t,n,r)=>{try{return await e.post(n,void 0,{query:r}),By(void 0)}catch(e){return O($5(t,e))}},p1t=async e=>{try{return await e.httpClient.post(e.path,e.body,{query:e.query}),By(void 0)}catch(t){return O($5(e.logger,t))}},m1t=async(e,t,n)=>{try{return await e.delete(n),By(void 0)}catch(e){return O($5(t,e))}},h1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.markDelivered(t),{[t7.uptoSequence]:n}),g1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.markRead(t),{[t7.uptoSequence]:n}),_1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.setFavourite(t),{[t7.favourite]:n}),v1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.setArchived(t),{[t7.archived]:n}),y1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.setPinned(t),{[t7.pinned]:n}),b1t=(e,t)=>i7(e.httpClient,e.logger,r7.leaveConversation(t),{}),x1t=(e,t)=>i7(e.httpClient,e.logger,r7.refreshPortal(t),{}),S1t=(e,t,n)=>p1t({httpClient:e.httpClient,logger:e.logger,path:r7.reactToMessage(t),query:{},body:{emoji:n}}),C1t=(e,t,n,r)=>p1t({httpClient:e.httpClient,logger:e.logger,path:r7.saveMembers(t),query:{},body:{members:n.map(e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role})),adminIds:[...r]}}),w1t=(e,t)=>m1t(e.httpClient,e.logger,r7.deleteConversation(t));lb(),fb(),mS(),Uy();var T1t={all:`All`,unread:`Unread`,favourites:`Favourites`,groups:`Groups`,archive:`Archive`},E1t=async(e,t)=>{let n=t.filter?.trim();try{let r=await e.httpClient.get(e7.conversations,{query:{[t7.scope]:T1t[t.scope],[t7.filter]:n===void 0||n===``?void 0:n,[t7.skipCount]:t.skipCount,[t7.maxResultCount]:t.maxResultCount}}),i=I$t.safeParse(r);if(!i.success)return Q5(e.logger,`conversations`,i.error);let a=e.clock.now();return By({items:i.data.items.map(e=>Y$t(e,a)),totalCount:i.data.totalCount})}catch(t){return O($5(e.logger,t))}},D1t=async e=>{try{let t=await e.httpClient.get(e7.conversationCounts),n=L$t.safeParse(t);return n.success?By(n.data):Q5(e.logger,`conversation-counts`,n.error)}catch(t){return O($5(e.logger,t))}},O1t=async(e,t)=>{try{let n=await e.httpClient.get(r7.conversation(t));return e1t(e.logger,e.clock,`conversation`,n)}catch(t){return O($5(e.logger,t))}},k1t=async(e,t)=>{let n=t?.trim();try{let t=await e.httpClient.post(e7.listStaff,void 0,{query:{[t7.filter]:n===void 0||n===``?void 0:n}}),r=F$t.safeParse(t);return r.success?By(r.data.map(K$t)):Q5(e.logger,`list-staff`,r.error)}catch(t){return O($5(e.logger,t))}},A1t=async(e,t)=>{let n=t?.trim();try{let t=await e.httpClient.get(e7.groupMemberPool,{query:{[t7.filter]:n===void 0||n===``?void 0:n}}),r=F$t.safeParse(t);return r.success?By(r.data.map(K$t)):Q5(e.logger,`group-member-pool`,r.error)}catch(t){return O($5(e.logger,t))}},j1t=async e=>{try{let t=await e.httpClient.get(e7.viewer),n=N$t.safeParse(t);return n.success?By(q$t(n.data)):Q5(e.logger,`viewer`,n.error)}catch(t){return O($5(e.logger,t))}},M1t=async(e,t,n)=>{try{let r=n===void 0?void 0:{query:{[t7.maxResultCount]:n}},i=await e.httpClient.get(r7.messages(t),r);return $$t(e.logger,`messages`,i)}catch(t){return O($5(e.logger,t))}},N1t=async(e,t,n,r)=>{try{let i=await e.httpClient.get(r7.messagesSince(t),{query:{[t7.afterSequence]:n,[t7.maxResultCount]:r}});return $$t(e.logger,`messages-since`,i)}catch(t){return O($5(e.logger,t))}},P1t=async(e,t,n,r)=>{try{let i=await e.httpClient.get(r7.messagesBefore(t),{query:{[t7.beforeSequence]:n,[t7.maxResultCount]:r}});return $$t(e.logger,`messages-before`,i)}catch(t){return O($5(e.logger,t))}},F1t=async(e,t)=>{try{let n=await e.httpClient.post(r7.startDirect(t),void 0);return e1t(e.logger,e.clock,`start-direct`,n)}catch(t){return O($5(e.logger,t))}},I1t=async(e,t,n)=>{try{let r={title:t,memberIds:[...n]},i=await e.httpClient.post(e7.createGroup,r);return e1t(e.logger,e.clock,`group`,i)}catch(t){return O($5(e.logger,t))}},L1t=async e=>{let{deps:t,conversationId:n,text:r,clientMessageId:i,replyToMessageId:a}=e;try{let e={text:r,clientMessageId:i};a!=null&&(e.replyToMessageId=a);let o=await t.httpClient.post(r7.sendMessage(n),e),s=X5.safeParse(o);return s.success?By(Z5(s.data)):Q5(t.logger,`send-message`,s.error)}catch(e){return O($5(t.logger,e))}};lb(),fb(),mS(),Uy();var R1t=class{httpClient;clock;logger;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`http-chat-gateway`)}deps(){return{httpClient:this.httpClient,logger:this.logger}}queryDeps(){return{httpClient:this.httpClient,clock:this.clock,logger:this.logger}}listConversations(e){return E1t(this.queryDeps(),e)}getConversationCounts(){return D1t(this.deps())}getConversation(e){return O1t(this.queryDeps(),e)}listStaff(e){return k1t(this.deps(),e)}getGroupMemberPool(e){return A1t(this.deps(),e)}getViewer(){return j1t(this.deps())}getMessages(e,t){return M1t(this.deps(),e,t)}getMessagesSince(e,t,n){return N1t(this.deps(),e,t,n)}getMessagesBefore(e,t,n){return P1t(this.deps(),e,t,n)}startDirect(e){return F1t(this.queryDeps(),e)}createGroup(e,t){return I1t(this.queryDeps(),e,t)}sendMessage(e,t,n,r){return L1t({deps:this.deps(),conversationId:e,text:t,clientMessageId:n,replyToMessageId:r})}uploadChatMedia(e,t,n){return o1t(this.deps(),e,t,n)}sendMediaMessage(e){return s1t(this.deps(),e)}downloadMedia(e){return c1t(this.deps(),e)}editMessage(e,t,n){return l1t(this.deps(),e,t,n)}deleteMessage(e,t){return u1t(this.deps(),e,t)}deleteMessageForMe(e,t){return d1t(this.deps(),e,t)}subscribePush(e){return f1t(this.deps(),e)}markDelivered(e,t){return h1t(this.deps(),e,t)}markRead(e,t){return g1t(this.deps(),e,t)}setFavourite(e,t){return _1t(this.deps(),e,t)}setArchived(e,t){return v1t(this.deps(),e,t)}setPinned(e,t){return y1t(this.deps(),e,t)}deleteConversation(e){return w1t(this.deps(),e)}leaveConversation(e){return b1t(this.deps(),e)}refreshPortal(e){return x1t(this.deps(),e)}reactToMessage(e,t,n){return S1t(this.deps(),t,n)}saveMembers(e,t,n){return C1t(this.deps(),e,t,n)}};function a7(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function z1t(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=a7(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var B1t;function o7(){return B1t||=z1t(`keyval-store`,`keyval`),B1t}function V1t(e,t=o7()){return t(`readonly`,t=>a7(t.get(e)))}function H1t(e,t,n=o7()){return n(`readwrite`,n=>(n.put(t,e),a7(n.transaction)))}function U1t(e,t=o7()){return t(`readwrite`,t=>(t.delete(e),a7(t.transaction)))}function W1t(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},a7(e.transaction)}function G1t(e=o7()){return e(`readonly`,e=>{if(e.getAllKeys)return a7(e.getAllKeys());let t=[];return W1t(e,e=>t.push(e.key)).then(()=>t)})}var s7=z1t(`chat-outbox`,`pending-sends`),K1t=e=>`send:${e}`,q1t=()=>({put:async e=>{await H1t(K1t(e.clientMessageId),e,s7)},remove:async e=>{await U1t(K1t(e),s7)},listAll:async()=>{let e=await G1t(s7);return(await Promise.all(e.map(async e=>V1t(e,s7)))).filter(e=>e!==void 0)},listByConversation:async e=>{let t=await G1t(s7);return(await Promise.all(t.map(async e=>V1t(e,s7)))).filter(t=>t?.conversationId===e)}});yx();var c7={MessageReceived:`MessageReceived`,MessageEdited:`MessageEdited`,MessageDeleted:`MessageDeleted`,MessageDelivered:`MessageDelivered`,MessageRead:`MessageRead`,Typing:`Typing`,PresenceChanged:`PresenceChanged`,StatusChanged:`StatusChanged`,ReactionToggled:`ReactionToggled`,RemovedFromConversation:`RemovedFromConversation`},J1t={MarkRead:`MarkRead`,MarkDelivered:`MarkDelivered`,Typing:`Typing`},Y1t=hx({conversationId:k(),byUserId:k(),uptoSequence:fx()}),X1t=hx({conversationId:k(),userId:k(),isTyping:px()}),Z1t=hx({userId:k(),online:px(),lastSeenUtc:k().nullable()}),Q1t=hx({userId:k(),status:fx(),untilUtc:k().nullish()}),$1t=hx({conversationId:k(),messageId:k(),byUserId:k(),emoji:k(),added:px()}),e0t=hx({conversationId:k(),messageId:k()}),t0t=hx({conversationId:k()});fb();var l7=(e,t,n,r)=>{let i=e.safeParse(t);return!i.success||i.data===void 0?(r.warn(`Ignoring malformed realtime payload`,{event:n}),null):i.data},n0t=(e,t,n)=>l7(X5,e,t,n),r0t=(e,t,n)=>l7(Y1t,e,t,n),i0t=(e,t,n)=>l7(X1t,e,t,n),a0t=(e,t,n)=>l7(Z1t,e,t,n),o0t=(e,t,n)=>l7(Q1t,e,t,n),s0t=(e,t,n)=>l7($1t,e,t,n),c0t=(e,t,n)=>l7(e0t,e,t,n),l0t=(e,t,n)=>l7(t0t,e,t,n);yx();var u0t=`chat.hidden-messages`,d0t=mx(k()),f0t=()=>{try{let e=window.localStorage.getItem(u0t);if(e===null)return[];let t=d0t.safeParse(JSON.parse(e));return t.success?t.data:[]}catch{return[]}},p0t=e=>{try{window.localStorage.setItem(u0t,JSON.stringify(e))}catch{}};fy();var m0t=dy((e,t)=>({hidden:new Set(f0t()),hideForMe:n=>{if(t().hidden.has(n))return;let r=new Set(t().hidden);r.add(n),p0t([...r]),e({hidden:r})}})),h0t=(e,t)=>t.length>0&&qQt(e,t),g0t=(e,t)=>{let n=h0t(e.senderId,t),r=n?e.reactions:e.reactions.map(e=>e.reacted?{...e,reacted:!1}:e),i=r.length===e.reactions.length&&r.every((t,n)=>{let r=e.reactions[n];return r===void 0?!1:t.reacted===r.reacted&&t.emoji===r.emoji&&t.count===r.count});return n===e.fromViewer&&i?e:e.with({fromViewer:n,reactions:r})},_0t=(e,t)=>t.length===0?e:e.map(e=>g0t(e,t)),v0t=(e,t,n)=>{let r=(0,E.useRef)(null);(0,E.useEffect)(()=>{let t=r.current;if(t===null)return;let i=document.getElementById(`msg-${t}`);i===null?n.hasMore&&!n.isLoadingOlder?n.loadOlder():r.current=null:(r.current=null,FQt(i,e))},[t,n,e]),(0,E.useEffect)(()=>{let t=t=>{let i=t.detail.messageId;if(typeof i!=`string`||i.length===0)return;let a=document.getElementById(`msg-${i}`);a===null?n.hasMore&&(r.current=i,n.loadOlder()):(r.current=null,FQt(a,e))};return window.addEventListener(NQt,t),()=>{window.removeEventListener(NQt,t)}},[n,e])};fo(),Fy(),Do();var y0t=[],b0t=({isLoadingOlder:e,hasMessages:t})=>!t||!e?null:(0,D.jsx)(`div`,{className:A.olderRow,children:(0,D.jsx)(Vo,{size:`sm`,label:`Loading older messages`})}),x0t=(e,t,n,r)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||H5(e)?null:nQt(e,{peerUserId:t,otherMemberIds:n,receipts:r}),S0t=({messages:e,older:t,hasMessages:n})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(b0t,{isLoadingOlder:t.isLoadingOlder,hasMessages:n}),e.isPending&&(0,D.jsx)(`div`,{className:A.center,children:(0,D.jsx)(Vo,{label:`Loading messages`})}),e.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not load messages`,children:e.error.message})]}),C0t=({conversation:e,viewerId:t,messages:n,selectedMessageId:r,onSelectMessage:i,onReact:a,onRetry:o,onReply:s,onEdit:c,onDelete:l})=>{let u=e.id,d=m0t(e=>e.hidden),f=(0,E.useMemo)(()=>_0t(n.data??y0t,t).filter(e=>!d.has(e.id)),[n.data,t,d]),p=vS(e=>e.receipts[u]),m=vS(e=>e.pending),h=e.members.map(e=>e.id).filter(e=>e!==t),g=aQt(u),_=dQt(u,f,g.loadOlder);return v0t(`.${A.messages??`messages`}`,f,g),(0,D.jsxs)(`div`,{className:A.threadWrap,children:[(0,D.jsx)(`div`,{className:A.messages,ref:_.scrollRef,onScroll:_.onScroll,children:(0,D.jsxs)(`div`,{className:A.thread,children:[(0,D.jsx)(S0t,{messages:n,older:g,hasMessages:f.length>0}),f.length>0&&(0,D.jsx)(x$t,{conversation:e,messages:f,pending:m,selectedMessageId:r,onSelectMessage:i,tickFor:t=>x0t(t,e.peerUserId,h,p??{}),onReact:a,onRetry:o,onReply:s,onEdit:c,onDelete:l})]})}),_.hasNewBelow&&(0,D.jsxs)(`button`,{type:`button`,className:T(A.newPill),onClick:()=>{_.scrollToBottom(!0)},children:[(0,D.jsx)(Fn,{size:14}),`New messages`]})]})},w0t=e=>(0,D.jsx)(C0t,{...e}),T0t=(e,t,n,r)=>{let[i,a]=(0,E.useState)(null),o=()=>{a(null)};return{requestDelete:t=>{a(e.find(e=>e.id===t)??null)},dialogProps:{open:i!==null,canDeleteForEveryone:i?.canDeleteForEveryone(r.now().getTime())??!1,onDeleteForMe:()=>{i!==null&&n(i.id),o()},onDeleteForEveryone:()=>{i!==null&&t(i.id),o()},onCancel:o}}};Fy(),tS(),Uy();var E0t=`now`,D0t=(e,t,n)=>{e.outbox.put({clientMessageId:t.clientMessageId,conversationId:e.conversationId,text:t.text,failedAt:n})},O0t=(e,t,n)=>{e.queryClient.setQueryData(MS(e.conversationId),r=>BXt(r,RXt({viewer:t,text:n.text,clientMessageId:n.clientMessageId,sequence:IXt(r??[])+1,timeLabel:E0t,sentAt:e.clock.now().toISOString(),replyTo:n.replyTo??null}))),e.store.getState().markSending(n.clientMessageId),D0t(e,n,null)},k0t=(e,t,n)=>{e.queryClient.setQueryData(MS(e.conversationId),e=>VXt(e,t)),e.store.getState().clearPending(n),e.outbox.remove(n),kS(e.queryClient)},A0t=(e,t,n)=>Hy(t.execute(e.conversationId,n.text,n.clientMessageId,n.replyToMessageId)),j0t=e=>{let{sendMessage:t,outbox:n,clock:r}=TS(),i=Xx(),a=_S(),o=NS().data??null,s={queryClient:i,store:a,outbox:n,conversationId:e,clock:r},c=$x({mutationFn:e=>A0t(s,t,e),onMutate:e=>{o!==null&&O0t(s,o,e)},onSuccess:(e,t)=>{k0t(s,e,t.clientMessageId)},onError:(e,t)=>{my.error(e instanceof Error?e.message:`Failed to send message`),a.getState().markFailed(t.clientMessageId),D0t(s,t,s.clock.now().toISOString()),my.error(e.message)}}),l=(0,E.useCallback)(()=>{n.listByConversation(e).then(e=>{for(let t of e)t.failedAt!==null&&(a.getState().markSending(t.clientMessageId),c.mutate({text:t.text,clientMessageId:t.clientMessageId}))})},[e,c,n,a]);return(0,E.useEffect)(()=>{let e=()=>{l()};return window.addEventListener(`online`,e),()=>{window.removeEventListener(`online`,e)}},[l]),{send:(0,E.useCallback)((e,t=null)=>{c.mutate({text:e,clientMessageId:crypto.randomUUID(),replyToMessageId:t?.messageId??null,replyTo:t})},[c]),retry:(0,E.useCallback)((e,t)=>{a.getState().markSending(e),c.mutate({text:t,clientMessageId:e})},[c,a]),isSending:c.isPending}};tS(),Uy(),Fy();var M0t=(e,t)=>{let n=e.then(t,t);return{run:n,next:n.then(()=>void 0,()=>void 0)}},N0t=(e,t)=>{let n=e.get(t);n!==void 0&&(e.delete(t),globalThis.setTimeout(()=>{URL.revokeObjectURL(n)},250))},P0t=(e,t)=>{let n=e.viewer;if(n===null)return;let r=URL.createObjectURL(t.file);e.urls.set(t.clientMessageId,r);let i=e.nowIso();e.queryClient.setQueryData(MS(e.conversationId),e=>BXt(e,zXt({viewer:n,fileUrl:r,caption:t.caption??``,clientMessageId:t.clientMessageId,sequence:IXt(e??[])+1,sentAt:i,contentType:t.file.type,fileName:t.fileName}))),e.store.getState().markSending(t.clientMessageId)},F0t=(e,t,n)=>{e.queryClient.setQueryData(MS(e.conversationId),e=>VXt(e,t)),e.store.getState().clearPending(n),N0t(e.urls,n),kS(e.queryClient)},I0t=(e,t)=>{let n=FXt(t.clientMessageId);e.queryClient.setQueryData(MS(e.conversationId),e=>e?.filter(e=>e.id!==n)??[]),e.store.getState().clearPending(t.clientMessageId),N0t(e.urls,t.clientMessageId),my.error(`Couldn't send ${t.fileName}.`)},L0t=e=>{let{sendMediaMessage:t,clock:n}=TS(),r=Xx(),i=_S(),a=NS().data??null,o=(0,E.useRef)(new Map),s=(0,E.useRef)(Promise.resolve()),c={queryClient:r,store:i,viewer:a,conversationId:e,nowIso:()=>n.now().toISOString(),urls:o.current},l=$x({mutationFn:e=>{let{run:n,next:r}=M0t(s.current,()=>Hy(t.execute(e)));return s.current=r,n},onMutate:e=>{P0t(c,e)},onSuccess:(e,t)=>{F0t(c,e,t.clientMessageId)},onError:(e,t)=>{I0t(c,t)}});return{sendMedia:(0,E.useCallback)((t,n,r)=>{let i={conversationId:e,file:t,fileName:t.name,clientMessageId:crypto.randomUUID(),...n!==void 0&&n.trim().length>0?{caption:n}:{},...r===void 0?{}:{replyToMessageId:r}};l.mutate(i)},[e,l]),isSending:l.isPending}},R0t=(e,t)=>{let n=mPe(),r=(0,E.useRef)({conversationId:null,upto:0,acknowledge:(e,t)=>{}});r.current.acknowledge=(e,t)=>{n.mutate({conversationId:e,uptoSequence:t})},(0,E.useEffect)(()=>{if(e===null||t===void 0||t.length===0)return;let n=LXt(t),i=r.current;i.conversationId===e&&n<=i.upto||(i.conversationId=e,i.upto=n,i.acknowledge(e,n))},[e,t])},z0t=2e3,B0t=3e3,V0t=e=>{let{realtime:t,logger:n}=TS(),r=vS(e=>e.status===`connected`),i=(0,E.useRef)(0),a=(0,E.useRef)(!1),o=(0,E.useRef)(null),s=(0,E.useCallback)(i=>{e===null||!r||t.invoke(J1t.Typing,e,i).catch(()=>{n.debug(`Typing signal dropped (best-effort)`)})},[e,r,t,n]),c=(0,E.useCallback)(()=>{o.current!==null&&(clearTimeout(o.current),o.current=null)},[]),l=(0,E.useCallback)(()=>{c(),a.current&&(a.current=!1,i.current=0,s(!1))},[c,s]),u=(0,E.useCallback)(()=>{let e=Date.now();(!a.current||e-i.current>z0t)&&(a.current=!0,i.current=e,s(!0)),c(),o.current=setTimeout(l,B0t)},[c,s,l]);return(0,E.useEffect)(()=>l,[e,l]),{onInput:u,stop:l}};Uy();var H0t=e=>{let{subscribePush:t}=TS();(0,E.useEffect)(()=>{!e||!(`serviceWorker`in navigator)||`PushManager`in window},[e,t])},U0t=()=>{let[e,t]=(0,E.useState)(``),[n,r]=(0,E.useState)(null),[i,a]=(0,E.useState)(null);return{text:e,setText:t,replyTo:n,setReplyTo:r,editingMessage:i,setEditingMessage:a}},W0t=({messages:e,send:t,media:n,draft:r,actions:i})=>({messages:e,send:t,media:n,text:r.text,setText:r.setText,replyTo:r.replyTo,setReplyTo:r.setReplyTo,editingMessage:r.editingMessage,startEdit:i.startEdit,clearEditing:i.clearEditing,onReact:i.onReact,onEdit:i.onEdit,onDelete:i.onDelete,onDeleteForMe:i.onDeleteForMe,submit:i.submit,onSendMedia:i.onSendMedia,onTyping:i.onTyping,isSending:t.isSending||n.isSending}),G0t=e=>{let t=vPe(e),n=j0t(e),r=L0t(e),i=kPe(e),a=APe(e),o=jPe(e),s=MPe(e),c=m0t(e=>e.hideForMe),l=V0t(e),u=U0t();return H0t(!0),R0t(e,t.data),W0t({messages:t,send:n,media:r,draft:u,actions:{startEdit:e=>{u.setEditingMessage({id:e.id,text:e.text}),u.setText(e.text),u.setReplyTo(null)},clearEditing:()=>{u.setEditingMessage(null),u.setText(``)},onReact:(e,t)=>{i.mutate({messageId:e,emoji:t})},onEdit:(e,t)=>{a.mutate({messageId:e,text:t})},onDelete:e=>{o.mutate(e)},onDeleteForMe:e=>{c(e),s.mutate(e)},submit:()=>{if(u.text.trim().length!==0){if(l.stop(),u.editingMessage!==null){a.mutate({messageId:u.editingMessage.id,text:u.text.trim()}),u.setEditingMessage(null),u.setText(``);return}n.send(u.text,u.replyTo),u.setText(``),u.setReplyTo(null)}},onSendMedia:(e,t)=>{e.forEach((e,n)=>{r.sendMedia(e,n===0?t:void 0,n===0?u.replyTo?.messageId??null:null)}),u.setText(``),u.setReplyTo(null)},onTyping:l.onInput}})};fo();var K0t=()=>(0,D.jsxs)(`div`,{className:A.removedComposer,children:[(0,D.jsx)(an,{size:15}),(0,D.jsx)(`span`,{children:`You can no longer send messages here — you’re no longer a member of this group.`})]}),q0t=({conversation:e,conversationId:t,active:n,removed:r})=>r?(0,D.jsx)(K0t,{}):(0,D.jsx)($Zt,{conversation:e,conversationId:t,text:n.text,replyTo:n.replyTo,editingMessage:n.editingMessage,isSending:n.isSending,onChange:n.setText,onSubmit:n.submit,onClearReply:()=>{n.setReplyTo(null)},onClearEditing:n.clearEditing,onSendMedia:n.onSendMedia,onTyping:n.onTyping}),J0t=({conversation:e,conversationId:t,actions:n,onRequestDelete:r,onRequestLeave:i})=>{let a=mLe(),o=NS(),{clock:s}=TS(),c=G0t(t),l=T0t(c.messages.data??[],c.onDelete,c.onDeleteForMe,s),u=vS(e=>e.isRemovedFromConversation(t)),[d,f]=(0,E.useState)(!1),[p,m]=(0,E.useState)(null);return(0,E.useEffect)(()=>{m(null)},[t]),(0,D.jsxs)(`div`,{className:A.view,children:[(0,D.jsx)(SZt,{conversation:e,categories:a.data??[],actions:n,statusPill:(0,D.jsx)(RZt,{}),onManageMembers:()=>{f(!0)},onRequestDelete:r,onRequestLeave:i,selectedMessage:p,onClearSelection:()=>{m(null)},onReply:c.setReplyTo,onStartEdit:c.startEdit,onDelete:l.requestDelete}),(0,D.jsx)(w0t,{conversation:e,viewerId:o.data?.id??``,messages:c.messages,selectedMessageId:p?.id??null,onSelectMessage:e=>{m(t=>t?.id===e.id?null:e)},onReact:c.onReact,onRetry:c.send.retry,onReply:c.setReplyTo,onEdit:c.onEdit,onDelete:l.requestDelete}),(0,D.jsx)(q0t,{conversation:e,conversationId:t,active:c,removed:u}),e.isGroup&&(0,D.jsx)(PZt,{conversation:e,open:d,onClose:()=>{f(!1)}}),(0,D.jsx)(FZt,{...l.dialogProps})]})};hh(),fo();var Y0t=()=>(0,D.jsxs)(`div`,{className:A.viewEmpty,children:[(0,D.jsx)(`div`,{className:A.emptyIconWrap,children:(0,D.jsx)(an,{size:32})}),(0,D.jsx)(`h3`,{className:A.emptyTitle,children:`No longer available`}),(0,D.jsx)(`p`,{className:A.emptyText,children:`You no longer have access to this conversation — you may have been removed from the group, or it was deleted. You can no longer read or send messages here.`})]}),X0t=()=>{let e=lh(0),t=lh(0),n=uge(e,{stiffness:60,damping:20}),r=uge(t,{stiffness:60,damping:20}),i=ph(n,[-1,1],[-25,25]),a=ph(r,[-1,1],[-25,25]),o=ph(n,[-1,1],[20,-20]),s=ph(r,[-1,1],[-15,15]),c=ph(n,[-1,1],[-15,15]),l=ph(r,[-1,1],[20,-20]);return(0,D.jsxs)(`div`,{className:A.viewEmpty,onMouseMove:n=>{let r=n.currentTarget.getBoundingClientRect(),i=(n.clientX-r.left-r.width/2)/(r.width/2),a=(n.clientY-r.top-r.height/2)/(r.height/2);e.set(i),t.set(a)},onMouseLeave:()=>{e.set(0),t.set(0)},children:[(0,D.jsx)(Gm.div,{className:A.emptyFloating1,style:{x:i,y:a},children:(0,D.jsx)(ai,{size:24})}),(0,D.jsx)(Gm.div,{className:A.emptyFloating2,style:{x:o,y:s},children:(0,D.jsx)(ka,{size:20})}),(0,D.jsx)(Gm.div,{className:A.emptyFloating3,style:{x:c,y:l},children:(0,D.jsx)(la,{size:16})}),(0,D.jsx)(`div`,{className:A.emptyIconWrap,children:(0,D.jsx)(ni,{size:32})}),(0,D.jsx)(`h3`,{className:A.emptyTitle,children:`Your Messages`}),(0,D.jsx)(`p`,{className:A.emptyText,children:`Select a conversation from the sidebar or start a new chat.`})]})},Z0t=({conversation:e,conversationId:t,lostAccess:n,actions:r,onRequestDelete:i,onRequestLeave:a})=>{let o=_S();return(0,E.useEffect)(()=>(o.getState().setActiveConversationId(t),()=>{o.getState().setActiveConversationId(null)}),[t,o]),e===void 0||t===null?n?(0,D.jsx)(Y0t,{}):(0,D.jsx)(X0t,{}):(0,D.jsx)(Gm.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{type:`spring`,stiffness:350,damping:28},className:A.viewPaneWrapper,children:(0,D.jsx)(J0t,{conversation:e,conversationId:t,actions:r,onRequestDelete:i,onRequestLeave:a})},t)};fo(),Fy(),Do();var Q0t=({mediaUrl:e})=>{let{src:t,isLoading:n,isError:r,onImageError:i}=gQt(e);return r?(0,D.jsxs)(`div`,{className:A.viewerFallback,children:[(0,D.jsx)(Or,{size:30}),(0,D.jsx)(`span`,{children:`Image unavailable`})]}):t===null||n?(0,D.jsx)(Vo,{label:`Loading image`}):(0,D.jsx)(`img`,{className:A.viewerImg,src:t,alt:``,onError:i})},$0t=(e,t,n,r)=>{(0,E.useEffect)(()=>{if(!e)return;let i=e=>{e.key===`Escape`?t():e.key===`ArrowRight`?n():e.key===`ArrowLeft`&&r()};return window.addEventListener(`keydown`,i),()=>{window.removeEventListener(`keydown`,i)}},[e,t,n,r])},e2t=()=>{let e=q5(e=>e.open),t=q5(e=>e.urls),n=q5(e=>e.index),r=q5(e=>e.close),i=q5(e=>e.next),a=q5(e=>e.prev),o=fu();$0t(e,r,i,a);let s=t[n];if(!e||s===void 0)return null;let c=t.length>1;return(0,zy.createPortal)((0,D.jsxs)(`div`,{className:A.viewerBackdrop,role:`dialog`,"aria-modal":`true`,"aria-label":`Image preview`,children:[(0,D.jsx)(`button`,{type:`button`,className:A.viewerScrim,"aria-label":`Close preview`,onClick:r}),(0,D.jsx)(`button`,{type:`button`,className:A.viewerClose,"aria-label":`Close preview`,onClick:r,children:(0,D.jsx)(lo,{size:22})}),c&&(0,D.jsx)(`button`,{type:`button`,className:T(A.viewerNav,A.viewerNavPrev),"aria-label":`Previous image`,disabled:n===0,onClick:a,children:(0,D.jsx)(Ln,{size:26})}),(0,D.jsx)(`div`,{className:A.viewerStage,children:(0,D.jsx)(Q0t,{mediaUrl:s})}),c&&(0,D.jsx)(`button`,{type:`button`,className:T(A.viewerNav,A.viewerNavNext),"aria-label":`Next image`,disabled:n===t.length-1,onClick:i,children:(0,D.jsx)(zn,{size:26})}),c&&(0,D.jsxs)(`span`,{className:A.viewerCount,children:[n+1,` / `,t.length]})]}),o??document.body)};Fy();var t2t=()=>{let e=bPe(),t=SPe(),n=xPe(),r=CPe(),i=wPe(),a=TPe();return{toggleFavourite:t=>{e.mutate({id:t.id,value:!t.favourite},{onSuccess:()=>{my.success(t.favourite?`Removed from Favourites`:`Added to Favourites`)}})},togglePin:e=>{t.mutate({id:e.id,value:!e.pinned},{onSuccess:()=>{my.success(e.pinned?`Unpinned`:`Pinned to top`)}})},toggleArchive:e=>{n.mutate({id:e.id,value:!e.archived},{onSuccess:()=>{my.success(e.archived?`Chat unarchived`:`Chat archived`)}})},remove:e=>{r.mutate(e,{onSuccess:()=>{my.success(`Chat deleted`)}})},leave:e=>{i.mutate(e.id,{onSuccess:()=>{my.success(`You left "${e.title}"`)}})},refresh:e=>{a.mutate(e.id,{onSuccess:()=>{my.success(`Portal data refreshed`)}})}}},n2t=e=>{let t=_S();(0,E.useEffect)(()=>{let{seedReceipts:n}=t.getState();for(let t of e)n(t.id,t.memberReceipts)},[t,e])},r2t=[],i2t=(e,t,n)=>{let r=ePe(e,t),i=ePe(e,``),a=tPe(),o=r.data??r2t,s=i.data??r2t,c=n??s[0]?.id??o[0]?.id??null,l=rPe(c);return n2t(o),{conversations:r,counts:a.data,list:o,activeId:c,active:l.data??o.find(e=>e.id===c),lostAccess:n!==null&&l.isError}},a2t=`/comms/chats`,o2t=(e,t,n)=>{let[r,i]=(0,E.useState)(null),[a,o]=(0,E.useState)(null);return{pendingDelete:r,pendingLeave:a,requestDelete:i,requestLeave:o,confirmDelete:()=>{r!==null&&(e.remove(r.id),r.id===t&&n(a2t)),i(null)},confirmLeave:()=>{a!==null&&(e.leave(a),a.id===t&&n(a2t)),o(null)},cancelDelete:()=>{i(null)},cancelLeave:()=>{o(null)}}},s2t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,c2t=`--`,l2t=e=>e.replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/u,``),u2t=e=>{let t=e.replace(/-/g,`+`).replace(/_/g,`/`);return t+`=`.repeat((4-t.length%4)%4)},d2t=e=>{let t=e.replace(/-/g,``),n=``;for(let e=0;e<t.length;e+=2)n+=String.fromCharCode(Number.parseInt(t.slice(e,e+2),16));return l2t(btoa(n))},f2t=e=>{let t;try{t=atob(u2t(e))}catch{return null}if(t.length!==16)return null;let n=``;for(let e=0;e<t.length;e+=1)n+=t.charCodeAt(e).toString(16).padStart(2,`0`);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`},p2t=e=>s2t.test(e)?d2t(e):`~${l2t(btoa(e))}`,m2t=e=>{if(e.startsWith(`~`))try{return atob(u2t(e.slice(1)))}catch{return null}return f2t(e)},h2t=e=>{let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40);return t.length>0?t:`chat`},g2t=(e,t)=>`/comms/chats/${h2t(t)}${c2t}${p2t(e)}`,_2t=e=>{let t=e.indexOf(c2t),n=t>=0?e.slice(t+2):e;return s2t.test(n)?n:m2t(n)};Dt(),Fy(),Do();var v2t=()=>{let e=eee(),[t,n]=(0,E.useState)(`all`),[r,i]=(0,E.useState)(``),a=FPe(r,250),{conversationId:o}=Ke(),s=o===void 0?null:_2t(o),{conversations:c,counts:l,list:u,activeId:d,active:f,lostAccess:p}=i2t(t,a,s),m=t2t(),h=We(),g=o2t(m,s,h);return c.isPending?(0,D.jsx)(ZPe,{}):c.isSuccess?(0,D.jsxs)(`div`,{className:T(A.root,s!==null&&A.hasActiveChat),children:[(0,D.jsx)(XPe,{conversations:u,activeId:d,actions:m,filter:{tab:t,onTabChange:n,search:r,onSearchChange:i,counts:l},hasNextPage:c.hasNextPage,isFetchingNextPage:c.isFetchingNextPage,onLoadMore:c.fetchNextPage,onRequestDelete:g.requestDelete,onSelect:e=>{h(g2t(e,u.find(t=>t.id===e)?.title??``))}}),(0,D.jsx)(Z0t,{conversation:f,conversationId:d,lostAccess:p,actions:m,onRequestDelete:g.requestDelete,onRequestLeave:g.requestLeave}),(0,D.jsx)(BEe,{pendingDelete:g.pendingDelete,pendingLeave:g.pendingLeave,onConfirmDelete:g.confirmDelete,onConfirmLeave:g.confirmLeave,onCancelDelete:g.cancelDelete,onCancelLeave:g.cancelLeave}),(0,D.jsx)(e2t,{}),e]}):(0,D.jsx)(`div`,{className:A.fullCenter,children:(0,D.jsx)(ls,{tone:`error`,title:`Could not load chats`,children:c.error?.message??`Please try again.`})})};Dt();var y2t=`/comms/chats`,b2t=()=>(0,D.jsxs)(at,{children:[(0,D.jsxs)(rt,{path:y2t,element:(0,D.jsx)(v2t,{}),children:[(0,D.jsx)(rt,{index:!0,element:null}),(0,D.jsx)(rt,{path:`:conversationId`,element:null})]}),(0,D.jsx)(rt,{path:`*`,element:(0,D.jsx)(nt,{to:y2t,replace:!0})})]}),x2t=c((e=>{var t=v();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot}))(),S2t=`__COMMHUB_SDK_CSS__`,u7,C2t=()=>{let e=globalThis[S2t];return typeof e==`string`?e:``},w2t=()=>typeof CSSStyleSheet==`function`&&typeof CSSStyleSheet.prototype.replaceSync==`function`,T2t=()=>{let e=C2t();if(e===``||!w2t())return[];if(u7===void 0)try{let t=new CSSStyleSheet;t.replaceSync(e),u7=t}catch{u7=null}return u7===null?[]:[u7]},E2t=()=>{let e=C2t();if(e===``)return null;let t=document.createElement(`style`);return t.textContent=e,t},D2t=`commhub-widget-root`;function O2t(e,t,n=[]){if(customElements.get(e))return;class r extends HTMLElement{reactRoot=null;mountPoint;configValue={};static get observedAttributes(){return n}get config(){return this.configValue}set config(e){this.configValue=e,this.render()}constructor(){super();let e=this.attachShadow({mode:`open`}),t=T2t();if(t.length>0)e.adoptedStyleSheets=[...t];else{let t=E2t();t!==null&&e.appendChild(t)}this.mountPoint=document.createElement(`div`),this.mountPoint.className=D2t,e.appendChild(this.mountPoint)}connectedCallback(){this.render()}disconnectedCallback(){let e=this.reactRoot;e!==null&&(this.reactRoot=null,queueMicrotask(()=>{if(this.isConnected){this.reactRoot??=e;return}e.unmount()}))}attributeChangedCallback(){this.reactRoot!==null&&this.render()}render(){this.isConnected&&(this.reactRoot??=(0,x2t.createRoot)(this.mountPoint),this.reactRoot.render(t(this)))}}customElements.define(e,r)}var k2t={notice:`_notice_184jj_6`,title:`_title_184jj_23`,detail:`_detail_184jj_29`},A2t=({tagName:e,detail:t})=>(0,D.jsxs)(`div`,{className:k2t.notice,role:`alert`,children:[(0,D.jsxs)(`strong`,{className:k2t.title,children:[`<`,e,`> could not start: invalid configuration`]}),(0,D.jsx)(`span`,{className:k2t.detail,children:t})]}),j2t=class{entries=new Map;getItem(e){return this.entries.get(e)??null}setItem(e,t){this.entries.set(e,t)}removeItem(e){this.entries.delete(e)}},M2t=e=>{let t=new VRe({storage:new j2t,logger:e.logger,namespace:e.storageNamespace});return HRe({completeSsoLoginUseCase:new yRe({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),logoutUseCase:new bRe({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),restoreSessionUseCase:new xRe({authGateway:e.authGateway,sessionStore:t,clock:e.clock,logger:e.logger}),refreshSessionUseCase:new SRe({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),setAccessToken:e.setAccessToken,loginUrl:``})},N2t=`sdk_signed`,P2t=`assertion`,F2t=`CommunicationHub`;lb(),Uy();var I2t=class{httpClient;clock;logger;clientKey;scope;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`sdk-signed-gateway`),this.clientKey=e.clientKey,this.scope=[F2t,...e.modules].join(` `)}exchangeSsoSecret(e){return e.trim().length===0||this.clientKey.trim().length===0?Promise.resolve(O(new ZS)):this.requestToken({grant_type:N2t,client_id:this.clientKey,[P2t]:e,scope:this.scope})}refresh(e){return Promise.resolve(O(new QS(`sdk_signed re-authenticates with a fresh host assertion, not a refresh token.`)))}signOut(e){return Promise.resolve()}async requestToken(e){try{let t=await this.httpClient.postForm(ARe,e,{anonymous:!0}),n=CRe.safeParse(t);return n.success?kRe(n.data,this.clock.now()):(this.logger.error(`Token endpoint returned an unexpected shape`,n.error),O(new QS(n.error)))}catch(e){return e instanceof ab&&e.isClientError()?(this.logger.warn(`Signed assertion was rejected`,{status:e.status}),O(new ZS)):(this.logger.error(`Failed to exchange signed assertion`,{error:e}),O(new QS(e)))}}};Uy();var L2t=class{clock;logger;constructor(e){this.clock=e.clock,this.logger=e.logger.child(`sdk-host-token-gateway`)}exchangeSsoSecret(e){if(e.trim().length===0)return Promise.resolve(O(new ZS));try{let t=DRe(e);if(Vy(t))return this.logger.error(`Invalid JWT token provided by host`,t.error),Promise.resolve(O(new QS(`Invalid host token provided.`)));let n=t.value.exp;if(typeof n!=`number`)return Promise.resolve(O(new QS(`Host token missing or invalid exp claim.`)));let r=n-Math.floor(this.clock.now().getTime()/1e3);return r<=0?Promise.resolve(O(new QS(`Host token is already expired.`))):Promise.resolve(kRe({access_token:e,token_type:`Bearer`,expires_in:r,refresh_token:null},this.clock.now()))}catch(e){return this.logger.error(`Failed to parse host token`,{error:e}),Promise.resolve(O(new QS(e)))}}refresh(e){return Promise.resolve(O(new QS(`host-token does not support traditional refresh tokens.`)))}signOut(e){return Promise.resolve()}},R2t=[`commhub.chat`,`commhub.bookings`,`commhub.schedule`,`commhub.feed`],d7={"commhub.chat":SS.chat,"commhub.feed":SS.feed,"commhub.schedule":SS.schedule,"commhub.bookings":SS.meetings},z2t=e=>Object.hasOwn(d7,e),B2t=e=>R2t.filter(t=>e.has(d7[t])),V2t=(e,t)=>e.filter(e=>!t.has(d7[e])),H2t=1e4,U2t=1e3,W2t=6e4,G2t=class{deps;timer=null;unwatch=null;started=!1;disposed=!1;inFlight=!1;failures=0;authenticated=!1;constructor(e){this.deps=e}start(){this.started||this.isDisposed()||(this.started=!0,this.watchSession(),this.run())}isDisposed(){return this.disposed}dispose(){this.disposed=!0,this.clearTimer(),this.unwatch?.(),this.unwatch=null}async run(){if(!(this.isDisposed()||this.inFlight)){this.inFlight=!0;try{let e=await this.deps.requestCredential(),t=await this.deps.authStore.getState().completeLogin(e);if(this.isDisposed())return;if(t){await this.onAuthenticated();return}this.onExpired()}catch(e){if(this.isDisposed())return;let t=e instanceof Error?e.message:String(e);this.deps.logger.error(`SDK handshake failed`,{error:e}),this.deps.emit({type:`error`,payload:{code:`HANDSHAKE_FAILED`,message:t}}),this.scheduleRetry()}finally{this.inFlight=!1}}}async onAuthenticated(){this.failures=0,this.authenticated=!0;let e=await this.deps.moduleAccessModule.getModuleAccess.execute();if(!this.isDisposed()){if(e.ok){let t=e.value.grantedModules;this.deps.emit({type:`ready`,payload:{apiVersion:`1.0`,modules:B2t(t)}});let n=V2t(this.deps.requestedModules,t);n.length>0&&this.deps.emit({type:`scope-denied`,payload:{required:[...n],granted:B2t(t)}})}this.scheduleRenewal()}}onExpired(){(this.authenticated||this.failures===0)&&this.deps.emit({type:`auth-expired`,payload:{}}),this.authenticated=!1,this.scheduleRetry()}scheduleRetry(){let e=Math.min(W2t,U2t*2**this.failures);this.failures+=1,this.scheduleAt(e)}scheduleRenewal(){if(!this.deps.renewable)return;let e=this.deps.authStore.getState().session;if(!e)return;let t=e.expiresAt.getTime()-Date.now();this.scheduleAt(Math.max(0,t-H2t))}scheduleAt(e){this.clearTimer(),!this.isDisposed()&&(this.timer=setTimeout(()=>{this.timer=null,this.run()},e))}clearTimer(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null)}watchSession(){this.unwatch=this.deps.authStore.subscribe(e=>{this.inFlight||e.status===`unauthenticated`&&this.authenticated&&(this.deps.logger.warn(`SDK session expired mid-session; re-handshaking`),this.onExpired())})}},K2t=class{createRunner;eventListeners=new Set;statusListeners=new Set;runner=null;currentStatus=`pending`;constructor(e){this.createRunner=e}get status(){return this.currentStatus}attach(e){let t=e;t!==void 0&&this.eventListeners.add(t),this.runner??=this.createRunner(e=>{this.emit(e)}),this.runner.start();let n=!1;return()=>{n||(n=!0,t!==void 0&&this.eventListeners.delete(t),this.eventListeners.size===0&&this.statusListeners.size===0&&(this.runner?.dispose(),this.runner=null,this.setStatus(`pending`)))}}subscribeStatus(e){return this.statusListeners.add(e),()=>{this.statusListeners.delete(e)}}dispose(){this.runner?.dispose(),this.runner=null,this.eventListeners.clear(),this.statusListeners.clear(),this.currentStatus=`pending`}emit(e){e.type===`ready`?this.setStatus(`ready`):e.type===`error`?this.setStatus(`failed`):e.type===`auth-expired`&&this.setStatus(`pending`);for(let t of[...this.eventListeners])t(e)}setStatus(e){if(this.currentStatus!==e){this.currentStatus=e;for(let e of[...this.statusListeners])e()}}},f7=class extends Error{constructor(e,t){let n=new.target.prototype;super(`${e}: Status code '${t}'`),this.statusCode=t,this.__proto__=n}},q2t=class extends Error{constructor(e=`A timeout occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},p7=class extends Error{constructor(e=`An abort occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},J2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`UnsupportedTransportError`,this.__proto__=n}},Y2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`DisabledTransportError`,this.__proto__=n}},X2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`FailedToStartTransportError`,this.__proto__=n}},Z2t=class extends Error{constructor(e){let t=new.target.prototype;super(e),this.errorType=`FailedToNegotiateWithServerError`,this.__proto__=t}},Q2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.innerErrors=t,this.__proto__=n}},$2t=class{constructor(e,t,n){this.statusCode=e,this.statusText=t,this.content=n}},m7=class{get(e,t){return this.send({...t,method:`GET`,url:e})}post(e,t){return this.send({...t,method:`POST`,url:e})}delete(e,t){return this.send({...t,method:`DELETE`,url:e})}getCookieString(e){return``}},h7;(function(e){e[e.Trace=0]=`Trace`,e[e.Debug=1]=`Debug`,e[e.Information=2]=`Information`,e[e.Warning=3]=`Warning`,e[e.Error=4]=`Error`,e[e.Critical=5]=`Critical`,e[e.None=6]=`None`})(h7||={});var g7=class{constructor(){}log(e,t){}};g7.instance=new g7;var e4t=`10.0.0`,_7=class{static isRequired(e,t){if(e==null)throw Error(`The '${t}' argument is required.`)}static isNotEmpty(e,t){if(!e||e.match(/^\s*$/))throw Error(`The '${t}' argument should not be empty.`)}static isIn(e,t,n){if(!(e in t))throw Error(`Unknown ${n} value: ${e}.`)}},v7=class e{static get isBrowser(){return!e.isNode&&typeof window==`object`&&typeof window.document==`object`}static get isWebWorker(){return!e.isNode&&typeof self==`object`&&`importScripts`in self}static get isReactNative(){return!e.isNode&&typeof window==`object`&&window.document===void 0}static get isNode(){return typeof process<`u`&&process.release&&process.release.name===`node`}};function y7(e,t){let n=``;return b7(e)?(n=`Binary data of length ${e.byteLength}`,t&&(n+=`. Content: '${t4t(e)}'`)):typeof e==`string`&&(n=`String data of length ${e.length}`,t&&(n+=`. Content: '${e}'`)),n}function t4t(e){let t=new Uint8Array(e),n=``;return t.forEach(e=>{n+=`0x${e<16?`0`:``}${e.toString(16)} `}),n.substring(0,n.length-1)}function b7(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name===`ArrayBuffer`)}async function n4t(e,t,n,r,i,a){let o={},[s,c]=S7();o[s]=c,e.log(h7.Trace,`(${t} transport) sending data. ${y7(i,a.logMessageContent)}.`);let l=b7(i)?`arraybuffer`:`text`,u=await n.post(r,{content:i,headers:{...o,...a.headers},responseType:l,timeout:a.timeout,withCredentials:a.withCredentials});e.log(h7.Trace,`(${t} transport) request complete. Response status: ${u.statusCode}.`)}function r4t(e){return e===void 0?new x7(h7.Information):e===null?g7.instance:e.log===void 0?new x7(e):e}var i4t=class{constructor(e,t){this._subject=e,this._observer=t}dispose(){let e=this._subject.observers.indexOf(this._observer);e>-1&&this._subject.observers.splice(e,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(e=>{})}},x7=class{constructor(e){this._minLevel=e,this.out=console}log(e,t){if(e>=this._minLevel){let n=`[${new Date().toISOString()}] ${h7[e]}: ${t}`;switch(e){case h7.Critical:case h7.Error:this.out.error(n);break;case h7.Warning:this.out.warn(n);break;case h7.Information:this.out.info(n);break;default:this.out.log(n);break}}}};function S7(){let e=`X-SignalR-User-Agent`;return v7.isNode&&(e=`User-Agent`),[e,a4t(e4t,o4t(),c4t(),s4t())]}function a4t(e,t,n,r){let i=`Microsoft SignalR/`,a=e.split(`.`);return i+=`${a[0]}.${a[1]}`,i+=` (${e}; `,t&&t!==``?i+=`${t}; `:i+=`Unknown OS; `,i+=`${n}`,r?i+=`; ${r}`:i+=`; Unknown Runtime Version`,i+=`)`,i}function o4t(){if(v7.isNode)switch(process.platform){case`win32`:return`Windows NT`;case`darwin`:return`macOS`;case`linux`:return`Linux`;default:return process.platform}else return``}function s4t(){if(v7.isNode)return process.versions.node}function c4t(){return v7.isNode?`NodeJS`:`Browser`}function l4t(e){return e.stack?e.stack:e.message?e.message:`${e}`}function u4t(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`could not find global`)}var d4t=class extends m7{constructor(e){if(super(),this._logger=e,typeof fetch>`u`||v7.isNode){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._jar=new(e(`tough-cookie`)).CookieJar,typeof fetch>`u`?this._fetchType=e(`node-fetch`):this._fetchType=fetch,this._fetchType=e(`fetch-cookie`)(this._fetchType,this._jar)}else this._fetchType=fetch.bind(u4t());if(typeof AbortController>`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._abortControllerType=e(`abort-controller`)}else this._abortControllerType=AbortController}async send(e){if(e.abortSignal&&e.abortSignal.aborted)throw new p7;if(!e.method)throw Error(`No method defined.`);if(!e.url)throw Error(`No url defined.`);let t=new this._abortControllerType,n;e.abortSignal&&(e.abortSignal.onabort=()=>{t.abort(),n=new p7});let r=null;if(e.timeout){let i=e.timeout;r=setTimeout(()=>{t.abort(),this._logger.log(h7.Warning,`Timeout from HTTP request.`),n=new q2t},i)}e.content===``&&(e.content=void 0),e.content&&(e.headers=e.headers||{},b7(e.content)?e.headers[`Content-Type`]=`application/octet-stream`:e.headers[`Content-Type`]=`text/plain;charset=UTF-8`);let i;try{i=await this._fetchType(e.url,{body:e.content,cache:`no-cache`,credentials:e.withCredentials===!0?`include`:`same-origin`,headers:{"X-Requested-With":`XMLHttpRequest`,...e.headers},method:e.method,mode:`cors`,redirect:`follow`,signal:t.signal})}catch(e){throw n||(this._logger.log(h7.Warning,`Error from HTTP request. ${e}.`),e)}finally{r&&clearTimeout(r),e.abortSignal&&(e.abortSignal.onabort=null)}if(!i.ok)throw new f7(await f4t(i,`text`)||i.statusText,i.status);let a=await f4t(i,e.responseType);return new $2t(i.status,i.statusText,a)}getCookieString(e){let t=``;return v7.isNode&&this._jar&&this._jar.getCookies(e,(e,n)=>t=n.join(`; `)),t}};function f4t(e,t){let n;switch(t){case`arraybuffer`:n=e.arrayBuffer();break;case`text`:n=e.text();break;case`blob`:case`document`:case`json`:throw Error(`${t} is not supported.`);default:n=e.text();break}return n}var p4t=class extends m7{constructor(e){super(),this._logger=e}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new p7):e.method?e.url?new Promise((t,n)=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),r.withCredentials=e.withCredentials===void 0?!0:e.withCredentials,r.setRequestHeader(`X-Requested-With`,`XMLHttpRequest`),e.content===``&&(e.content=void 0),e.content&&(b7(e.content)?r.setRequestHeader(`Content-Type`,`application/octet-stream`):r.setRequestHeader(`Content-Type`,`text/plain;charset=UTF-8`));let i=e.headers;i&&Object.keys(i).forEach(e=>{r.setRequestHeader(e,i[e])}),e.responseType&&(r.responseType=e.responseType),e.abortSignal&&(e.abortSignal.onabort=()=>{r.abort(),n(new p7)}),e.timeout&&(r.timeout=e.timeout),r.onload=()=>{e.abortSignal&&(e.abortSignal.onabort=null),r.status>=200&&r.status<300?t(new $2t(r.status,r.statusText,r.response||r.responseText)):n(new f7(r.response||r.responseText||r.statusText,r.status))},r.onerror=()=>{this._logger.log(h7.Warning,`Error from HTTP request. ${r.status}: ${r.statusText}.`),n(new f7(r.statusText,r.status))},r.ontimeout=()=>{this._logger.log(h7.Warning,`Timeout from HTTP request.`),n(new q2t)},r.send(e.content)}):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}},m4t=class extends m7{constructor(e){if(super(),typeof fetch<`u`||v7.isNode)this._httpClient=new d4t(e);else if(typeof XMLHttpRequest<`u`)this._httpClient=new p4t(e);else throw Error(`No usable HttpClient found.`)}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new p7):e.method?e.url?this._httpClient.send(e):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}getCookieString(e){return this._httpClient.getCookieString(e)}},C7=class e{static write(t){return`${t}${e.RecordSeparator}`}static parse(t){if(t[t.length-1]!==e.RecordSeparator)throw Error(`Message is incomplete.`);let n=t.split(e.RecordSeparator);return n.pop(),n}};C7.RecordSeparatorCode=30,C7.RecordSeparator=String.fromCharCode(C7.RecordSeparatorCode);var h4t=class{writeHandshakeRequest(e){return C7.write(JSON.stringify(e))}parseHandshakeResponse(e){let t,n;if(b7(e)){let r=new Uint8Array(e),i=r.indexOf(C7.RecordSeparatorCode);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=String.fromCharCode.apply(null,Array.prototype.slice.call(r.slice(0,a))),n=r.byteLength>a?r.slice(a).buffer:null}else{let r=e,i=r.indexOf(C7.RecordSeparator);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=r.substring(0,a),n=r.length>a?r.substring(a):null}let r=C7.parse(t),i=JSON.parse(r[0]);if(i.type)throw Error(`Expected a handshake response from the server.`);return[n,i]}},w7;(function(e){e[e.Invocation=1]=`Invocation`,e[e.StreamItem=2]=`StreamItem`,e[e.Completion=3]=`Completion`,e[e.StreamInvocation=4]=`StreamInvocation`,e[e.CancelInvocation=5]=`CancelInvocation`,e[e.Ping=6]=`Ping`,e[e.Close=7]=`Close`,e[e.Ack=8]=`Ack`,e[e.Sequence=9]=`Sequence`})(w7||={});var g4t=class{constructor(){this.observers=[]}next(e){for(let t of this.observers)t.next(e)}error(e){for(let t of this.observers)t.error&&t.error(e)}complete(){for(let e of this.observers)e.complete&&e.complete()}subscribe(e){return this.observers.push(e),new i4t(this,e)}},_4t=class{constructor(e,t,n){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=e,this._connection=t,this._bufferSize=n}async _send(e){let t=this._protocol.writeMessage(e),n=Promise.resolve();if(this._isInvocationMessage(e)){this._totalMessageCount++;let e=()=>{},r=()=>{};b7(t)?this._bufferedByteCount+=t.byteLength:this._bufferedByteCount+=t.length,this._bufferedByteCount>=this._bufferSize&&(n=new Promise((t,n)=>{e=t,r=n})),this._messages.push(new v4t(t,this._totalMessageCount,e,r))}try{this._reconnectInProgress||await this._connection.send(t)}catch{this._disconnected()}await n}_ack(e){let t=-1;for(let n=0;n<this._messages.length;n++){let r=this._messages[n];if(r._id<=e.sequenceId)t=n,b7(r._message)?this._bufferedByteCount-=r._message.byteLength:this._bufferedByteCount-=r._message.length,r._resolver();else if(this._bufferedByteCount<this._bufferSize)r._resolver();else break}t!==-1&&(this._messages=this._messages.slice(t+1))}_shouldProcessMessage(e){if(this._waitForSequenceMessage)return e.type===w7.Sequence?(this._waitForSequenceMessage=!1,!0):!1;if(!this._isInvocationMessage(e))return!0;let t=this._nextReceivingSequenceId;return this._nextReceivingSequenceId++,t<=this._latestReceivedSequenceId?(t===this._latestReceivedSequenceId&&this._ackTimer(),!1):(this._latestReceivedSequenceId=t,this._ackTimer(),!0)}_resetSequence(e){if(e.sequenceId>this._nextReceivingSequenceId){this._connection.stop(Error(`Sequence ID greater than amount of messages we've received.`));return}this._nextReceivingSequenceId=e.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}async _resend(){let e=this._messages.length===0?this._totalMessageCount+1:this._messages[0]._id;await this._connection.send(this._protocol.writeMessage({type:w7.Sequence,sequenceId:e}));let t=this._messages;for(let e of t)await this._connection.send(e._message);this._reconnectInProgress=!1}_dispose(e){e??=Error(`Unable to reconnect to server.`);for(let t of this._messages)t._rejector(e)}_isInvocationMessage(e){switch(e.type){case w7.Invocation:case w7.StreamItem:case w7.Completion:case w7.StreamInvocation:case w7.CancelInvocation:return!0;case w7.Close:case w7.Sequence:case w7.Ping:case w7.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(async()=>{try{this._reconnectInProgress||await this._connection.send(this._protocol.writeMessage({type:w7.Ack,sequenceId:this._latestReceivedSequenceId}))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0},1e3))}},v4t=class{constructor(e,t,n,r){this._message=e,this._id=t,this._resolver=n,this._rejector=r}},y4t=30*1e3,b4t=15*1e3,x4t=1e5,T7;(function(e){e.Disconnected=`Disconnected`,e.Connecting=`Connecting`,e.Connected=`Connected`,e.Disconnecting=`Disconnecting`,e.Reconnecting=`Reconnecting`})(T7||={});var S4t=class e{static create(t,n,r,i,a,o,s){return new e(t,n,r,i,a,o,s)}constructor(e,t,n,r,i,a,o){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(h7.Warning,`The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep`)},_7.isRequired(e,`connection`),_7.isRequired(t,`logger`),_7.isRequired(n,`protocol`),this.serverTimeoutInMilliseconds=i??y4t,this.keepAliveIntervalInMilliseconds=a??b4t,this._statefulReconnectBufferSize=o??x4t,this._logger=t,this._protocol=n,this.connection=e,this._reconnectPolicy=r,this._handshakeProtocol=new h4t,this.connection.onreceive=e=>this._processIncomingData(e),this.connection.onclose=e=>this._connectionClosed(e),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=T7.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:w7.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||``}set baseUrl(e){if(this._connectionState!==T7.Disconnected&&this._connectionState!==T7.Reconnecting)throw Error(`The HubConnection must be in the Disconnected or Reconnecting state to change the url.`);if(!e)throw Error(`The HubConnection url must be a valid url.`);this.connection.baseUrl=e}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}async _startWithStateTransitions(){if(this._connectionState!==T7.Disconnected)return Promise.reject(Error(`Cannot start a HubConnection that is not in the 'Disconnected' state.`));this._connectionState=T7.Connecting,this._logger.log(h7.Debug,`Starting HubConnection.`);try{await this._startInternal(),v7.isBrowser&&window.document.addEventListener(`freeze`,this._freezeEventListener),this._connectionState=T7.Connected,this._connectionStarted=!0,this._logger.log(h7.Debug,`HubConnection connected successfully.`)}catch(e){return this._connectionState=T7.Disconnected,this._logger.log(h7.Debug,`HubConnection failed to start successfully because of error '${e}'.`),Promise.reject(e)}}async _startInternal(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let e=new Promise((e,t)=>{this._handshakeResolver=e,this._handshakeRejecter=t});await this.connection.start(this._protocol.transferFormat);try{let t=this._protocol.version;this.connection.features.reconnect||(t=1);let n={protocol:this._protocol.name,version:t};if(this._logger.log(h7.Debug,`Sending handshake request.`),await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(n)),this._logger.log(h7.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),await e,this._stopDuringStartError)throw this._stopDuringStartError;this.connection.features.reconnect&&(this._messageBuffer=new _4t(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||await this._sendMessage(this._cachedPingMessage)}catch(e){throw this._logger.log(h7.Debug,`Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),await this.connection.stop(e),e}}async stop(){let e=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),await this._stopPromise;try{await e}catch{}}_stopInternal(e){if(this._connectionState===T7.Disconnected)return this._logger.log(h7.Debug,`Call to HubConnection.stop(${e}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===T7.Disconnecting)return this._logger.log(h7.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let t=this._connectionState;return this._connectionState=T7.Disconnecting,this._logger.log(h7.Debug,`Stopping HubConnection.`),this._reconnectDelayHandle?(this._logger.log(h7.Debug,`Connection stopped during reconnect delay. Done reconnecting.`),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(t===T7.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=e||new p7(`The connection was stopped before the hub handshake could complete.`),this.connection.stop(e))}async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage())}catch{}}stream(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createStreamInvocation(e,t,r),a,o=new g4t;return o.cancelCallback=()=>{let e=this._createCancelInvocation(i.invocationId);return delete this._callbacks[i.invocationId],a.then(()=>this._sendWithProtocol(e))},this._callbacks[i.invocationId]=(e,t)=>{if(t){o.error(t);return}else e&&(e.type===w7.Completion?e.error?o.error(Error(e.error)):o.complete():o.next(e.item))},a=this._sendWithProtocol(i).catch(e=>{o.error(e),delete this._callbacks[i.invocationId]}),this._launchStreams(n,a),o}_sendMessage(e){return this._resetKeepAliveInterval(),this.connection.send(e)}_sendWithProtocol(e){return this._messageBuffer?this._messageBuffer._send(e):this._sendMessage(this._protocol.writeMessage(e))}send(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._sendWithProtocol(this._createInvocation(e,t,!0,r));return this._launchStreams(n,i),i}invoke(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createInvocation(e,t,!1,r);return new Promise((e,t)=>{this._callbacks[i.invocationId]=(n,r)=>{if(r){t(r);return}else n&&(n.type===w7.Completion?n.error?t(Error(n.error)):e(n.result):t(Error(`Unexpected message type: ${n.type}`)))};let r=this._sendWithProtocol(i).catch(e=>{t(e),delete this._callbacks[i.invocationId]});this._launchStreams(n,r)})}on(e,t){!e||!t||(e=e.toLowerCase(),this._methods[e]||(this._methods[e]=[]),this._methods[e].indexOf(t)===-1&&this._methods[e].push(t))}off(e,t){if(!e)return;e=e.toLowerCase();let n=this._methods[e];if(n)if(t){let r=n.indexOf(t);r!==-1&&(n.splice(r,1),n.length===0&&delete this._methods[e])}else delete this._methods[e]}onclose(e){e&&this._closedCallbacks.push(e)}onreconnecting(e){e&&this._reconnectingCallbacks.push(e)}onreconnected(e){e&&this._reconnectedCallbacks.push(e)}_processIncomingData(e){if(this._cleanupTimeout(),this._receivedHandshakeResponse||=(e=this._processHandshakeResponse(e),!0),e){let t=this._protocol.parseMessages(e,this._logger);for(let e of t)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(e)))switch(e.type){case w7.Invocation:this._invokeClientMethod(e).catch(e=>{this._logger.log(h7.Error,`Invoke client method threw error: ${l4t(e)}`)});break;case w7.StreamItem:case w7.Completion:{let t=this._callbacks[e.invocationId];if(t){e.type===w7.Completion&&delete this._callbacks[e.invocationId];try{t(e)}catch(e){this._logger.log(h7.Error,`Stream callback threw error: ${l4t(e)}`)}}break}case w7.Ping:break;case w7.Close:{this._logger.log(h7.Information,`Close message received from server.`);let t=e.error?Error(`Server returned an error on close: `+e.error):void 0;e.allowReconnect===!0?this.connection.stop(t):this._stopPromise=this._stopInternal(t);break}case w7.Ack:this._messageBuffer&&this._messageBuffer._ack(e);break;case w7.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(e);break;default:this._logger.log(h7.Warning,`Invalid message type: ${e.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(e){let t,n;try{[n,t]=this._handshakeProtocol.parseHandshakeResponse(e)}catch(e){let t=`Error parsing handshake response: `+e;this._logger.log(h7.Error,t);let n=Error(t);throw this._handshakeRejecter(n),n}if(t.error){let e=`Server returned handshake error: `+t.error;this._logger.log(h7.Error,e);let n=Error(e);throw this._handshakeRejecter(n),n}else this._logger.log(h7.Debug,`Server handshake complete.`);return this._handshakeResolver(),n}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if(!this.connection.features||!this.connection.features.inherentKeepAlive){this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds);let e=this._nextKeepAlive-new Date().getTime();if(e<0){this._connectionState===T7.Connected&&this._trySendPingMessage();return}this._pingServerHandle===void 0&&(e<0&&(e=0),this._pingServerHandle=setTimeout(async()=>{this._connectionState===T7.Connected&&await this._trySendPingMessage()},e))}}serverTimeout(){this.connection.stop(Error(`Server timeout elapsed without receiving a message from the server.`))}async _invokeClientMethod(e){let t=e.target.toLowerCase(),n=this._methods[t];if(!n){this._logger.log(h7.Warning,`No client method with the name '${t}' found.`),e.invocationId&&(this._logger.log(h7.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),await this._sendWithProtocol(this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)));return}let r=n.slice(),i=!!e.invocationId,a,o,s;for(let n of r)try{let r=a;a=await n.apply(this,e.arguments),i&&a&&r&&(this._logger.log(h7.Error,`Multiple results provided for '${t}'. Sending error to server.`),s=this._createCompletionMessage(e.invocationId,`Client provided multiple results.`,null)),o=void 0}catch(e){o=e,this._logger.log(h7.Error,`A callback for the method '${t}' threw error '${e}'.`)}s?await this._sendWithProtocol(s):i?(o?s=this._createCompletionMessage(e.invocationId,`${o}`,null):a===void 0?(this._logger.log(h7.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),s=this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)):s=this._createCompletionMessage(e.invocationId,null,a),await this._sendWithProtocol(s)):a&&this._logger.log(h7.Error,`Result given for '${t}' method but server is not expecting a result.`)}_connectionClosed(e){this._logger.log(h7.Debug,`HubConnection.connectionClosed(${e}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||e||new p7(`The underlying connection was closed before the hub handshake could complete.`),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(e||Error(`Invocation canceled due to the underlying connection being closed.`)),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===T7.Disconnecting?this._completeClose(e):this._connectionState===T7.Connected&&this._reconnectPolicy?this._reconnect(e):this._connectionState===T7.Connected&&this._completeClose(e)}_completeClose(e){if(this._connectionStarted){this._connectionState=T7.Disconnected,this._connectionStarted=!1,this._messageBuffer&&=(this._messageBuffer._dispose(e??Error(`Connection closed.`)),void 0),v7.isBrowser&&window.document.removeEventListener(`freeze`,this._freezeEventListener);try{this._closedCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(h7.Error,`An onclose callback called with error '${e}' threw error '${t}'.`)}}}async _reconnect(e){let t=Date.now(),n=0,r=e===void 0?Error(`Attempting to reconnect due to a unknown error.`):e,i=this._getNextRetryDelay(n,0,r);if(i===null){this._logger.log(h7.Debug,`Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.`),this._completeClose(e);return}if(this._connectionState=T7.Reconnecting,e?this._logger.log(h7.Information,`Connection reconnecting because of error '${e}'.`):this._logger.log(h7.Information,`Connection reconnecting.`),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(h7.Error,`An onreconnecting callback called with error '${e}' threw error '${t}'.`)}if(this._connectionState!==T7.Reconnecting){this._logger.log(h7.Debug,`Connection left the reconnecting state in onreconnecting callback. Done reconnecting.`);return}}for(;i!==null;){if(this._logger.log(h7.Information,`Reconnect attempt number ${n+1} will start in ${i} ms.`),await new Promise(e=>{this._reconnectDelayHandle=setTimeout(e,i)}),this._reconnectDelayHandle=void 0,this._connectionState!==T7.Reconnecting){this._logger.log(h7.Debug,`Connection left the reconnecting state during reconnect delay. Done reconnecting.`);return}try{if(await this._startInternal(),this._connectionState=T7.Connected,this._logger.log(h7.Information,`HubConnection reconnected successfully.`),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(e=>e.apply(this,[this.connection.connectionId]))}catch(e){this._logger.log(h7.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`)}return}catch(e){if(this._logger.log(h7.Information,`Reconnect attempt failed because of error '${e}'.`),this._connectionState!==T7.Reconnecting){this._logger.log(h7.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===T7.Disconnecting&&this._completeClose();return}n++,r=e instanceof Error?e:Error(e.toString()),i=this._getNextRetryDelay(n,Date.now()-t,r)}}this._logger.log(h7.Information,`Reconnect retries have been exhausted after ${Date.now()-t} ms and ${n} failed attempts. Connection disconnecting.`),this._completeClose()}_getNextRetryDelay(e,t,n){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:t,previousRetryCount:e,retryReason:n})}catch(n){return this._logger.log(h7.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${e}, ${t}) threw error '${n}'.`),null}}_cancelCallbacksWithError(e){let t=this._callbacks;this._callbacks={},Object.keys(t).forEach(n=>{let r=t[n];try{r(null,e)}catch(t){this._logger.log(h7.Error,`Stream 'error' callback called with '${e}' threw error: ${l4t(t)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&=(clearTimeout(this._pingServerHandle),void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(e,t,n,r){if(n)return r.length===0?{target:e,arguments:t,type:w7.Invocation}:{target:e,arguments:t,streamIds:r,type:w7.Invocation};{let n=this._invocationId;return this._invocationId++,r.length===0?{target:e,arguments:t,invocationId:n.toString(),type:w7.Invocation}:{target:e,arguments:t,invocationId:n.toString(),streamIds:r,type:w7.Invocation}}}_launchStreams(e,t){if(e.length!==0){t||=Promise.resolve();for(let n in e)e[n].subscribe({complete:()=>{t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n)))},error:e=>{let r;r=e instanceof Error?e.message:e&&e.toString?e.toString():`Unknown error`,t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n,r)))},next:e=>{t=t.then(()=>this._sendWithProtocol(this._createStreamItemMessage(n,e)))}})}}_replaceStreamingParams(e){let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r];if(this._isObservable(i)){let a=this._invocationId;this._invocationId++,t[a]=i,n.push(a.toString()),e.splice(r,1)}}return[t,n]}_isObservable(e){return e&&e.subscribe&&typeof e.subscribe==`function`}_createStreamInvocation(e,t,n){let r=this._invocationId;return this._invocationId++,n.length===0?{target:e,arguments:t,invocationId:r.toString(),type:w7.StreamInvocation}:{target:e,arguments:t,invocationId:r.toString(),streamIds:n,type:w7.StreamInvocation}}_createCancelInvocation(e){return{invocationId:e,type:w7.CancelInvocation}}_createStreamItemMessage(e,t){return{invocationId:e,item:t,type:w7.StreamItem}}_createCompletionMessage(e,t,n){return t?{error:t,invocationId:e,type:w7.Completion}:{invocationId:e,result:n,type:w7.Completion}}_createCloseMessage(){return{type:w7.Close}}async _trySendPingMessage(){try{await this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}}},C4t=[0,2e3,1e4,3e4,null],w4t=class{constructor(e){this._retryDelays=e===void 0?C4t:[...e,null]}nextRetryDelayInMilliseconds(e){return this._retryDelays[e.previousRetryCount]}},E7=class{};E7.Authorization=`Authorization`,E7.Cookie=`Cookie`;var T4t=class extends m7{constructor(e,t){super(),this._innerClient=e,this._accessTokenFactory=t}async send(e){let t=!0;this._accessTokenFactory&&(!this._accessToken||e.url&&e.url.indexOf(`/negotiate?`)>0)&&(t=!1,this._accessToken=await this._accessTokenFactory()),this._setAuthorizationHeader(e);let n=await this._innerClient.send(e);return t&&n.statusCode===401&&this._accessTokenFactory?(this._accessToken=await this._accessTokenFactory(),this._setAuthorizationHeader(e),await this._innerClient.send(e)):n}_setAuthorizationHeader(e){e.headers||={},this._accessToken?e.headers[E7.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&e.headers[E7.Authorization]&&delete e.headers[E7.Authorization]}getCookieString(e){return this._innerClient.getCookieString(e)}},D7;(function(e){e[e.None=0]=`None`,e[e.WebSockets=1]=`WebSockets`,e[e.ServerSentEvents=2]=`ServerSentEvents`,e[e.LongPolling=4]=`LongPolling`})(D7||={});var O7;(function(e){e[e.Text=1]=`Text`,e[e.Binary=2]=`Binary`})(O7||={});var E4t=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}},D4t=class{get pollAborted(){return this._pollAbort.aborted}constructor(e,t,n){this._httpClient=e,this._logger=t,this._pollAbort=new E4t,this._options=n,this._running=!1,this.onreceive=null,this.onclose=null}async connect(e,t){if(_7.isRequired(e,`url`),_7.isRequired(t,`transferFormat`),_7.isIn(t,O7,`transferFormat`),this._url=e,this._logger.log(h7.Trace,`(LongPolling transport) Connecting.`),t===O7.Binary&&typeof XMLHttpRequest<`u`&&typeof new XMLHttpRequest().responseType!=`string`)throw Error(`Binary protocols over XmlHttpRequest not implementing advanced features are not supported.`);let[n,r]=S7(),i={[n]:r,...this._options.headers},a={abortSignal:this._pollAbort.signal,headers:i,timeout:1e5,withCredentials:this._options.withCredentials};t===O7.Binary&&(a.responseType=`arraybuffer`);let o=`${e}&_=${Date.now()}`;this._logger.log(h7.Trace,`(LongPolling transport) polling: ${o}.`);let s=await this._httpClient.get(o,a);s.statusCode===200?this._running=!0:(this._logger.log(h7.Error,`(LongPolling transport) Unexpected response code: ${s.statusCode}.`),this._closeError=new f7(s.statusText||``,s.statusCode),this._running=!1),this._receiving=this._poll(this._url,a)}async _poll(e,t){try{for(;this._running;)try{let n=`${e}&_=${Date.now()}`;this._logger.log(h7.Trace,`(LongPolling transport) polling: ${n}.`);let r=await this._httpClient.get(n,t);r.statusCode===204?(this._logger.log(h7.Information,`(LongPolling transport) Poll terminated by server.`),this._running=!1):r.statusCode===200?r.content?(this._logger.log(h7.Trace,`(LongPolling transport) data received. ${y7(r.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(r.content)):this._logger.log(h7.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._logger.log(h7.Error,`(LongPolling transport) Unexpected response code: ${r.statusCode}.`),this._closeError=new f7(r.statusText||``,r.statusCode),this._running=!1)}catch(e){this._running?e instanceof q2t?this._logger.log(h7.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._closeError=e,this._running=!1):this._logger.log(h7.Trace,`(LongPolling transport) Poll errored after shutdown: ${e.message}`)}}finally{this._logger.log(h7.Trace,`(LongPolling transport) Polling complete.`),this.pollAborted||this._raiseOnClose()}}async send(e){return this._running?n4t(this._logger,`LongPolling`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}async stop(){this._logger.log(h7.Trace,`(LongPolling transport) Stopping polling.`),this._running=!1,this._pollAbort.abort();try{await this._receiving,this._logger.log(h7.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let e={},[t,n]=S7();e[t]=n;let r={headers:{...e,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials},i;try{await this._httpClient.delete(this._url,r)}catch(e){i=e}i?i instanceof f7&&(i.statusCode===404?this._logger.log(h7.Trace,`(LongPolling transport) A 404 response was returned from sending a DELETE request.`):this._logger.log(h7.Trace,`(LongPolling transport) Error sending a DELETE request: ${i}`)):this._logger.log(h7.Trace,`(LongPolling transport) DELETE request accepted.`)}finally{this._logger.log(h7.Trace,`(LongPolling transport) Stop finished.`),this._raiseOnClose()}}_raiseOnClose(){if(this.onclose){let e=`(LongPolling transport) Firing onclose event.`;this._closeError&&(e+=` Error: `+this._closeError),this._logger.log(h7.Trace,e),this.onclose(this._closeError)}}},O4t=class{constructor(e,t,n,r){this._httpClient=e,this._accessToken=t,this._logger=n,this._options=r,this.onreceive=null,this.onclose=null}async connect(e,t){return _7.isRequired(e,`url`),_7.isRequired(t,`transferFormat`),_7.isIn(t,O7,`transferFormat`),this._logger.log(h7.Trace,`(SSE transport) Connecting.`),this._url=e,this._accessToken&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((n,r)=>{let i=!1;if(t!==O7.Text){r(Error(`The Server-Sent Events transport only supports the 'Text' transfer format`));return}let a;if(v7.isBrowser||v7.isWebWorker)a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials});else{let t=this._httpClient.getCookieString(e),n={};n.Cookie=t;let[r,i]=S7();n[r]=i,a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials,headers:{...n,...this._options.headers}})}try{a.onmessage=e=>{if(this.onreceive)try{this._logger.log(h7.Trace,`(SSE transport) data received. ${y7(e.data,this._options.logMessageContent)}.`),this.onreceive(e.data)}catch(e){this._close(e);return}},a.onerror=e=>{i?this._close():r(Error(`EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled.`))},a.onopen=()=>{this._logger.log(h7.Information,`SSE connected to ${this._url}`),this._eventSource=a,i=!0,n()}}catch(e){r(e);return}})}async send(e){return this._eventSource?n4t(this._logger,`SSE`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}stop(){return this._close(),Promise.resolve()}_close(e){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(e))}},k4t=class{constructor(e,t,n,r,i,a){this._logger=n,this._accessTokenFactory=t,this._logMessageContent=r,this._webSocketConstructor=i,this._httpClient=e,this.onreceive=null,this.onclose=null,this._headers=a}async connect(e,t){_7.isRequired(e,`url`),_7.isRequired(t,`transferFormat`),_7.isIn(t,O7,`transferFormat`),this._logger.log(h7.Trace,`(WebSockets transport) Connecting.`);let n;return this._accessTokenFactory&&(n=await this._accessTokenFactory()),new Promise((r,i)=>{e=e.replace(/^http/,`ws`);let a,o=this._httpClient.getCookieString(e),s=!1;if(v7.isNode||v7.isReactNative){let t={},[r,i]=S7();t[r]=i,n&&(t[E7.Authorization]=`Bearer ${n}`),o&&(t[E7.Cookie]=o),a=new this._webSocketConstructor(e,void 0,{headers:{...t,...this._headers}})}else n&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(n)}`);a||=new this._webSocketConstructor(e),t===O7.Binary&&(a.binaryType=`arraybuffer`),a.onopen=t=>{this._logger.log(h7.Information,`WebSocket connected to ${e}.`),this._webSocket=a,s=!0,r()},a.onerror=e=>{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`There was an error with the transport`,this._logger.log(h7.Information,`(WebSockets transport) ${t}.`)},a.onmessage=e=>{if(this._logger.log(h7.Trace,`(WebSockets transport) data received. ${y7(e.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(e.data)}catch(e){this._close(e);return}},a.onclose=e=>{if(s)this._close(e);else{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.`,i(Error(t))}}})}send(e){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(h7.Trace,`(WebSockets transport) sending data. ${y7(e,this._logMessageContent)}.`),this._webSocket.send(e),Promise.resolve()):Promise.reject(`WebSocket is not in the OPEN state`)}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(e){this._webSocket&&=(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),void 0),this._logger.log(h7.Trace,`(WebSockets transport) socket closed.`),this.onclose&&(this._isCloseEvent(e)&&(e.wasClean===!1||e.code!==1e3)?this.onclose(Error(`WebSocket closed with status code: ${e.code} (${e.reason||`no reason given`}).`)):e instanceof Error?this.onclose(e):this.onclose())}_isCloseEvent(e){return e&&typeof e.wasClean==`boolean`&&typeof e.code==`number`}},A4t=100,j4t=class{constructor(e,t={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,_7.isRequired(e,`url`),this._logger=r4t(t.logger),this.baseUrl=this._resolveUrl(e),t||={},t.logMessageContent=t.logMessageContent===void 0?!1:t.logMessageContent,typeof t.withCredentials==`boolean`||t.withCredentials===void 0)t.withCredentials=t.withCredentials===void 0?!0:t.withCredentials;else throw Error(`withCredentials option was not a 'boolean' or 'undefined' value`);t.timeout=t.timeout===void 0?100*1e3:t.timeout;let n=null,r=null;if(v7.isNode&&typeof require<`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;n=e(`ws`),r=e(`eventsource`)}!v7.isNode&&typeof WebSocket<`u`&&!t.WebSocket?t.WebSocket=WebSocket:v7.isNode&&!t.WebSocket&&n&&(t.WebSocket=n),!v7.isNode&&typeof EventSource<`u`&&!t.EventSource?t.EventSource=EventSource:v7.isNode&&!t.EventSource&&r!==void 0&&(t.EventSource=r),this._httpClient=new T4t(t.httpClient||new m4t(this._logger),t.accessTokenFactory),this._connectionState=`Disconnected`,this._connectionStarted=!1,this._options=t,this.onreceive=null,this.onclose=null}async start(e){if(e||=O7.Binary,_7.isIn(e,O7,`transferFormat`),this._logger.log(h7.Debug,`Starting connection with transfer format '${O7[e]}'.`),this._connectionState!==`Disconnected`)return Promise.reject(Error(`Cannot start an HttpConnection that is not in the 'Disconnected' state.`));if(this._connectionState=`Connecting`,this._startInternalPromise=this._startInternal(e),await this._startInternalPromise,this._connectionState===`Disconnecting`){let e=`Failed to start the HttpConnection before stop() was called.`;return this._logger.log(h7.Error,e),await this._stopPromise,Promise.reject(new p7(e))}else if(this._connectionState!==`Connected`){let e=`HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!`;return this._logger.log(h7.Error,e),Promise.reject(new p7(e))}this._connectionStarted=!0}send(e){return this._connectionState===`Connected`?(this._sendQueue||=new N4t(this.transport),this._sendQueue.send(e)):Promise.reject(Error(`Cannot send data if the connection is not in the 'Connected' State.`))}async stop(e){if(this._connectionState===`Disconnected`)return this._logger.log(h7.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState===`Disconnecting`)return this._logger.log(h7.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState=`Disconnecting`,this._stopPromise=new Promise(e=>{this._stopPromiseResolver=e}),await this._stopInternal(e),await this._stopPromise}async _stopInternal(e){this._stopError=e;try{await this._startInternalPromise}catch{}if(this.transport){try{await this.transport.stop()}catch(e){this._logger.log(h7.Error,`HttpConnection.transport.stop() threw error '${e}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(h7.Debug,`HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.`)}async _startInternal(e){let t=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===D7.WebSockets)this.transport=this._constructTransport(D7.WebSockets),await this._startTransport(t,e);else throw Error(`Negotiation can only be skipped when using the WebSocket transport directly.`);else{let n=null,r=0;do{if(n=await this._getNegotiationResponse(t),this._connectionState===`Disconnecting`||this._connectionState===`Disconnected`)throw new p7(`The connection was stopped during negotiation.`);if(n.error)throw Error(n.error);if(n.ProtocolVersion)throw Error(`Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.`);if(n.url&&(t=n.url),n.accessToken){let e=n.accessToken;this._accessTokenFactory=()=>e,this._httpClient._accessToken=e,this._httpClient._accessTokenFactory=void 0}r++}while(n.url&&r<A4t);if(r===A4t&&n.url)throw Error(`Negotiate redirection limit exceeded.`);await this._createTransport(t,this._options.transport,n,e)}this.transport instanceof D4t&&(this.features.inherentKeepAlive=!0),this._connectionState===`Connecting`&&(this._logger.log(h7.Debug,`The HttpConnection connected successfully.`),this._connectionState=`Connected`)}catch(e){return this._logger.log(h7.Error,`Failed to start the connection: `+e),this._connectionState=`Disconnected`,this.transport=void 0,this._stopPromiseResolver(),Promise.reject(e)}}async _getNegotiationResponse(e){let t={},[n,r]=S7();t[n]=r;let i=this._resolveNegotiateUrl(e);this._logger.log(h7.Debug,`Sending negotiation request: ${i}.`);try{let e=await this._httpClient.post(i,{content:``,headers:{...t,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials});if(e.statusCode!==200)return Promise.reject(Error(`Unexpected status code returned from negotiate '${e.statusCode}'`));let n=JSON.parse(e.content);return(!n.negotiateVersion||n.negotiateVersion<1)&&(n.connectionToken=n.connectionId),n.useStatefulReconnect&&this._options._useStatefulReconnect!==!0?Promise.reject(new Z2t(`Client didn't negotiate Stateful Reconnect but the server did.`)):n}catch(e){let t=`Failed to complete negotiation with the server: `+e;return e instanceof f7&&e.statusCode===404&&(t+=` Either this is not a SignalR endpoint or there is a proxy blocking the connection.`),this._logger.log(h7.Error,t),Promise.reject(new Z2t(t))}}_createConnectUrl(e,t){return t?e+(e.indexOf(`?`)===-1?`?`:`&`)+`id=${t}`:e}async _createTransport(e,t,n,r){let i=this._createConnectUrl(e,n.connectionToken);if(this._isITransport(t)){this._logger.log(h7.Debug,`Connection was provided an instance of ITransport, using that directly.`),this.transport=t,await this._startTransport(i,r),this.connectionId=n.connectionId;return}let a=[],o=n.availableTransports||[],s=n;for(let n of o){let o=this._resolveTransportOrError(n,t,r,s?.useStatefulReconnect===!0);if(o instanceof Error)a.push(`${n.transport} failed:`),a.push(o);else if(this._isITransport(o)){if(this.transport=o,!s){try{s=await this._getNegotiationResponse(e)}catch(e){return Promise.reject(e)}i=this._createConnectUrl(e,s.connectionToken)}try{await this._startTransport(i,r),this.connectionId=s.connectionId;return}catch(e){if(this._logger.log(h7.Error,`Failed to start the transport '${n.transport}': ${e}`),s=void 0,a.push(new X2t(`${n.transport} failed: ${e}`,D7[n.transport])),this._connectionState!==`Connecting`){let e=`Failed to select transport before stop() was called.`;return this._logger.log(h7.Debug,e),Promise.reject(new p7(e))}}}}return a.length>0?Promise.reject(new Q2t(`Unable to connect to the server with any of the available transports. ${a.join(` `)}`,a)):Promise.reject(Error(`None of the transports supported by the client are supported by the server.`))}_constructTransport(e){switch(e){case D7.WebSockets:if(!this._options.WebSocket)throw Error(`'WebSocket' is not supported in your environment.`);return new k4t(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case D7.ServerSentEvents:if(!this._options.EventSource)throw Error(`'EventSource' is not supported in your environment.`);return new O4t(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case D7.LongPolling:return new D4t(this._httpClient,this._logger,this._options);default:throw Error(`Unknown transport: ${e}.`)}}_startTransport(e,t){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=async n=>{let r=!1;if(this.features.reconnect)try{this.features.disconnected(),await this.transport.connect(e,t),await this.features.resend()}catch{r=!0}else{this._stopConnection(n);return}r&&this._stopConnection(n)}:this.transport.onclose=e=>this._stopConnection(e),this.transport.connect(e,t)}_resolveTransportOrError(e,t,n,r){let i=D7[e.transport];if(i==null)return this._logger.log(h7.Debug,`Skipping transport '${e.transport}' because it is not supported by this client.`),Error(`Skipping transport '${e.transport}' because it is not supported by this client.`);if(M4t(t,i))if(e.transferFormats.map(e=>O7[e]).indexOf(n)>=0){if(i===D7.WebSockets&&!this._options.WebSocket||i===D7.ServerSentEvents&&!this._options.EventSource)return this._logger.log(h7.Debug,`Skipping transport '${D7[i]}' because it is not supported in your environment.'`),new J2t(`'${D7[i]}' is not supported in your environment.`,i);this._logger.log(h7.Debug,`Selecting transport '${D7[i]}'.`);try{return this.features.reconnect=i===D7.WebSockets?r:void 0,this._constructTransport(i)}catch(e){return e}}else return this._logger.log(h7.Debug,`Skipping transport '${D7[i]}' because it does not support the requested transfer format '${O7[n]}'.`),Error(`'${D7[i]}' does not support ${O7[n]}.`);else return this._logger.log(h7.Debug,`Skipping transport '${D7[i]}' because it was disabled by the client.`),new Y2t(`'${D7[i]}' is disabled by the client.`,i)}_isITransport(e){return e&&typeof e==`object`&&`connect`in e}_stopConnection(e){if(this._logger.log(h7.Debug,`HttpConnection.stopConnection(${e}) called while in state ${this._connectionState}.`),this.transport=void 0,e=this._stopError||e,this._stopError=void 0,this._connectionState===`Disconnected`){this._logger.log(h7.Debug,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState===`Connecting`)throw this._logger.log(h7.Warning,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is still in the connecting state.`),Error(`HttpConnection.stopConnection(${e}) was called while the connection is still in the connecting state.`);if(this._connectionState===`Disconnecting`&&this._stopPromiseResolver(),e?this._logger.log(h7.Error,`Connection disconnected with error '${e}'.`):this._logger.log(h7.Information,`Connection disconnected.`),this._sendQueue&&=(this._sendQueue.stop().catch(e=>{this._logger.log(h7.Error,`TransportSendQueue.stop() threw error '${e}'.`)}),void 0),this.connectionId=void 0,this._connectionState=`Disconnected`,this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(e)}catch(t){this._logger.log(h7.Error,`HttpConnection.onclose(${e}) threw error '${t}'.`)}}}_resolveUrl(e){if(e.lastIndexOf(`https://`,0)===0||e.lastIndexOf(`http://`,0)===0)return e;if(!v7.isBrowser)throw Error(`Cannot resolve '${e}'.`);let t=window.document.createElement(`a`);return t.href=e,this._logger.log(h7.Information,`Normalizing '${e}' to '${t.href}'.`),t.href}_resolveNegotiateUrl(e){let t=new URL(e);t.pathname.endsWith(`/`)?t.pathname+=`negotiate`:t.pathname+=`/negotiate`;let n=new URLSearchParams(t.searchParams);return n.has(`negotiateVersion`)||n.append(`negotiateVersion`,this._negotiateVersion.toString()),n.has(`useStatefulReconnect`)?n.get(`useStatefulReconnect`)===`true`&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&n.append(`useStatefulReconnect`,`true`),t.search=n.toString(),t.toString()}};function M4t(e,t){return!e||(t&e)!==0}var N4t=class e{constructor(e){this._transport=e,this._buffer=[],this._executing=!0,this._sendBufferedData=new k7,this._transportResult=new k7,this._sendLoopPromise=this._sendLoop()}send(e){return this._bufferData(e),this._transportResult||=new k7,this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(e){if(this._buffer.length&&typeof this._buffer[0]!=typeof e)throw Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof e}`);this._buffer.push(e),this._sendBufferedData.resolve()}async _sendLoop(){for(;;){if(await this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject(`Connection stopped.`);break}this._sendBufferedData=new k7;let t=this._transportResult;this._transportResult=void 0;let n=typeof this._buffer[0]==`string`?this._buffer.join(``):e._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(n),t.resolve()}catch(e){t.reject(e)}}}static _concatBuffers(e){let t=e.map(e=>e.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(t),r=0;for(let t of e)n.set(new Uint8Array(t),r),r+=t.byteLength;return n.buffer}},k7=class{constructor(){this.promise=new Promise((e,t)=>[this._resolver,this._rejecter]=[e,t])}resolve(){this._resolver()}reject(e){this._rejecter(e)}},P4t=`json`,F4t=class{constructor(){this.name=P4t,this.version=2,this.transferFormat=O7.Text}parseMessages(e,t){if(typeof e!=`string`)throw Error(`Invalid input for JSON hub protocol. Expected a string.`);if(!e)return[];t===null&&(t=g7.instance);let n=C7.parse(e),r=[];for(let e of n){let n=JSON.parse(e);if(typeof n.type!=`number`)throw Error(`Invalid payload.`);switch(n.type){case w7.Invocation:this._isInvocationMessage(n);break;case w7.StreamItem:this._isStreamItemMessage(n);break;case w7.Completion:this._isCompletionMessage(n);break;case w7.Ping:break;case w7.Close:break;case w7.Ack:this._isAckMessage(n);break;case w7.Sequence:this._isSequenceMessage(n);break;default:t.log(h7.Information,`Unknown message type '`+n.type+`' ignored.`);continue}r.push(n)}return r}writeMessage(e){return C7.write(JSON.stringify(e))}_isInvocationMessage(e){this._assertNotEmptyString(e.target,`Invalid payload for Invocation message.`),e.invocationId!==void 0&&this._assertNotEmptyString(e.invocationId,`Invalid payload for Invocation message.`)}_isStreamItemMessage(e){if(this._assertNotEmptyString(e.invocationId,`Invalid payload for StreamItem message.`),e.item===void 0)throw Error(`Invalid payload for StreamItem message.`)}_isCompletionMessage(e){if(e.result&&e.error)throw Error(`Invalid payload for Completion message.`);!e.result&&e.error&&this._assertNotEmptyString(e.error,`Invalid payload for Completion message.`),this._assertNotEmptyString(e.invocationId,`Invalid payload for Completion message.`)}_isAckMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Ack message.`)}_isSequenceMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Sequence message.`)}_assertNotEmptyString(e,t){if(typeof e!=`string`||e===``)throw Error(t)}},I4t={trace:h7.Trace,debug:h7.Debug,info:h7.Information,information:h7.Information,warn:h7.Warning,warning:h7.Warning,error:h7.Error,critical:h7.Critical,none:h7.None};function L4t(e){let t=I4t[e.toLowerCase()];if(t!==void 0)return t;throw Error(`Unknown log level: ${e}`)}var R4t=class{configureLogging(e){if(_7.isRequired(e,`logging`),z4t(e))this.logger=e;else if(typeof e==`string`){let t=L4t(e);this.logger=new x7(t)}else this.logger=new x7(e);return this}withUrl(e,t){return _7.isRequired(e,`url`),_7.isNotEmpty(e,`url`),this.url=e,typeof t==`object`?this.httpConnectionOptions={...this.httpConnectionOptions,...t}:this.httpConnectionOptions={...this.httpConnectionOptions,transport:t},this}withHubProtocol(e){return _7.isRequired(e,`protocol`),this.protocol=e,this}withAutomaticReconnect(e){if(this.reconnectPolicy)throw Error(`A reconnectPolicy has already been set.`);return e?Array.isArray(e)?this.reconnectPolicy=new w4t(e):this.reconnectPolicy=e:this.reconnectPolicy=new w4t,this}withServerTimeout(e){return _7.isRequired(e,`milliseconds`),this._serverTimeoutInMilliseconds=e,this}withKeepAliveInterval(e){return _7.isRequired(e,`milliseconds`),this._keepAliveIntervalInMilliseconds=e,this}withStatefulReconnect(e){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=e?.bufferSize,this}build(){let e=this.httpConnectionOptions||{};if(e.logger===void 0&&(e.logger=this.logger),!this.url)throw Error(`The 'HubConnectionBuilder.withUrl' method must be called before building the connection.`);let t=new j4t(this.url,e);return S4t.create(t,this.logger||g7.instance,this.protocol||new F4t,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function z4t(e){return e.log!==void 0}var B4t=15e3,V4t=5,H4t=(e,t=Math.random)=>{let n=Math.min(B4t,1e3*2**Math.min(Math.max(e,0),V4t));return Math.round(t()*n)},U4t=class{nextRetryDelayInMilliseconds(e){return H4t(e.previousRetryCount)}},W4t=e=>({log(t,n){t>=h7.Error?e.error(n):t>=h7.Warning?e.warn(n):e.debug(n)}}),G4t=e=>{switch(e){case T7.Connected:return`connected`;case T7.Connecting:return`connecting`;case T7.Reconnecting:return`reconnecting`;case T7.Disconnected:case T7.Disconnecting:return`disconnected`;default:return`disconnected`}},K4t=class{connection;logger;statusHandlers=new Set;starting=null;intentionallyStopped=!0;reconnectTimer=null;reconnectAttempt=0;constructor(e,t){this.logger=t.child(`realtime`),this.connection=new R4t().withUrl(e.url,{accessTokenFactory:()=>e.accessTokenProvider()??``}).withAutomaticReconnect(new U4t).configureLogging(W4t(this.logger)).build(),this.connection.onreconnecting(()=>{this.emitStatus(`reconnecting`)}),this.connection.onreconnected(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}),this.connection.onclose(()=>{this.emitStatus(`disconnected`),this.scheduleReconnect()})}get status(){return G4t(this.connection.state)}async start(){if(this.intentionallyStopped=!1,this.clearReconnectTimer(),this.connection.state===T7.Disconnecting)for(;this.connection.state===T7.Disconnecting;)await new Promise(e=>setTimeout(e,50));if(this.connection.state===T7.Disconnected)return this.starting===null?(this.emitStatus(`connecting`),this.starting=this.connection.start().then(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}).catch(e=>{throw this.emitStatus(`disconnected`),this.logger.warn(`Realtime connection failed to start`),e}).finally(()=>{this.starting=null}),this.starting):this.starting}async stop(){this.intentionallyStopped=!0,this.clearReconnectTimer(),await this.connection.stop(),this.emitStatus(`disconnected`)}on(e,t){let n=e=>{t(e)};return this.connection.on(e,n),()=>{this.connection.off(e,n)}}invoke(e,...t){return this.connection.invoke(e,...t)}onStatusChange(e){return this.statusHandlers.add(e),e(this.status),()=>{this.statusHandlers.delete(e)}}scheduleReconnect(){if(this.intentionallyStopped)return;this.clearReconnectTimer();let e=H4t(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectNow()},e)}async reconnectNow(){if(this.reconnectTimer=null,!(this.intentionallyStopped||this.connection.state!==T7.Disconnected)){if(!this.isOnline()){this.scheduleReconnect();return}this.emitStatus(`reconnecting`);try{await this.connection.start(),this.reconnectAttempt=0,this.emitStatus(`connected`)}catch{this.emitStatus(`disconnected`),this.scheduleReconnect()}}}clearReconnectTimer(){this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}isOnline(){return typeof navigator>`u`?!0:navigator.onLine}emitStatus(e){for(let t of this.statusHandlers)t(e)}},q4t=class{logger;constructor(e){this.logger=e.logger}create(e){return new K4t(e,this.logger)}},J4t=class{status=`disconnected`;async start(){return Promise.resolve()}async stop(){return Promise.resolve()}on(e,t){return()=>{}}async invoke(e,...t){return Promise.reject(Error(`Cannot invoke method on NullRealtimeConnection`))}onStatusChange(e){return()=>{}}};yx(),Uy();var Y4t=`/api/app/sdk-capabilities`,X4t=`/api/app/my-module-access`,Z4t=hx({apiVersion:k(),modules:mx(k())}),Q4t=hx({grantedModules:mx(k()).nullish(),grantedPolicies:mx(k()).nullish(),canManageUserAccess:px().nullish()}),$4t=(e,t)=>{let n=new Set;for(let t of e.modules)z2t(t)&&n.add(d7[t]);return{grantedModules:n,grantedPolicies:new Set(t?.grantedPolicies??[]),canManageUserAccess:t?.canManageUserAccess??!1}},e3t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`sdk-module-access`)}async getModuleAccess(){let e;try{e=await this.httpClient.get(Y4t)}catch(e){return this.logger.error(`Failed to fetch SDK capabilities`,{error:e}),O(new UNe(e))}let t=Z4t.safeParse(e);if(!t.success)return this.logger.error(`Malformed capabilities response`,{error:t.error}),O(new UNe(t.error));let n=null;try{let e=await this.httpClient.get(X4t),t=Q4t.safeParse(e);t.success&&(n=t.data)}catch(e){this.logger.warn(`Could not fetch user module access policies; falling back to capabilities only`,{error:e})}return By($4t(t.data,n))}},t3t=e=>({getModuleAccess:new BNe({moduleAccessGateway:new e3t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger}),gateMode:`fail-closed`}),n3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-conversations`)}async execute(e){let t=await this.chatGateway.listConversations(e);return t.ok||this.logger.warn(`Listing conversations failed`,{code:t.error.code}),t}},r3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation`)}async execute(e){let t=await this.chatGateway.getConversation(e);return t.ok||this.logger.warn(`Fetching conversation failed`,{code:t.error.code}),t}},i3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation-counts`)}async execute(){let e=await this.chatGateway.getConversationCounts();return e.ok||this.logger.warn(`Fetching conversation counts failed`,{code:e.error.code}),e}},a3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-staff`)}async execute(e){let t=await this.chatGateway.listStaff(e);return t.ok||this.logger.warn(`Listing staff failed`,{code:t.error.code}),t}},o3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-group-member-pool`)}async execute(e){let t=await this.chatGateway.getGroupMemberPool(e);return t.ok||this.logger.warn(`Fetching the group member pool failed`,{code:t.error.code}),t}},s3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-viewer`)}async execute(){let e=await this.chatGateway.getViewer();return e.ok||this.logger.warn(`Loading viewer failed`,{code:e.error.code}),e}},c3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages`)}async execute(e){let t=await this.chatGateway.getMessages(e,50);return t.ok||this.logger.warn(`Loading messages failed`,{code:t.error.code}),t}},l3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-since`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesSince(e,t,n);return r.ok||this.logger.warn(`Loading messages since cursor failed`,{code:r.error.code}),r}},u3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-before`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesBefore(e,t,n);return r.ok||this.logger.warn(`Loading messages before cursor failed`,{code:r.error.code}),r}};Uy();var d3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`start-direct`)}async execute(e){let t=e.trim();return t.length===0?(this.logger.warn(`Rejected start-direct with no recipient`),O(new MNe)):this.chatGateway.startDirect(t)}};Uy();var f3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`create-group`)}async execute(e,t){let n=e.trim();return n.length===0?(this.logger.warn(`Rejected group with no title`),O(new ANe)):t.length===0?(this.logger.warn(`Rejected group with no members`),O(new jNe)):this.chatGateway.createGroup(n,t)}};Uy();var p3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-message`)}async execute(e,t,n,r){let i=t.trim();return i.length===0?(this.logger.warn(`Rejected empty message`,{conversationId:e}),O(new ONe)):i.length>4e3?(this.logger.warn(`Rejected oversized message`,{conversationId:e}),O(new kNe(4e3))):this.chatGateway.sendMessage(e,i,n,r)}},m3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-delivered`)}execute(e,t){return this.logger.debug(`Mark delivered`,{conversationId:e,uptoSequence:t}),this.chatGateway.markDelivered(e,t)}},h3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-read`)}execute(e,t){return this.logger.debug(`Mark read`,{conversationId:e,uptoSequence:t}),this.chatGateway.markRead(e,t)}},g3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-favourite`)}async execute(e,t){return this.logger.info(`Set favourite`,{conversationId:e,favourite:t}),this.chatGateway.setFavourite(e,t)}},_3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-archived`)}async execute(e,t){return this.logger.info(`Set archived`,{conversationId:e,archived:t}),this.chatGateway.setArchived(e,t)}},v3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-pinned`)}async execute(e,t){return this.logger.info(`Set pinned`,{conversationId:e,pinned:t}),this.chatGateway.setPinned(e,t)}},y3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-conversation`)}async execute(e){return this.logger.info(`Delete conversation`,{conversationId:e}),this.chatGateway.deleteConversation(e)}},b3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`leave-conversation`)}async execute(e){return this.logger.info(`Leave conversation`,{conversationId:e}),this.chatGateway.leaveConversation(e)}},x3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`refresh-portal`)}async execute(e){return this.logger.info(`Refresh portal data`,{conversationId:e}),this.chatGateway.refreshPortal(e)}};Uy();var S3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`react-to-message`)}async execute(e,t,n){return n.trim().length===0?(this.logger.warn(`Rejected empty reaction`,{conversationId:e,messageId:t}),O(new bS)):this.chatGateway.reactToMessage(e,t,n)}},C3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`save-members`)}async execute(e,t,n){return this.logger.info(`Save members`,{conversationId:e,members:t.length,admins:n.length}),this.chatGateway.saveMembers(e,t,n)}},w3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`edit-message`)}async execute(e,t,n){let r=n.trim(),i=await this.chatGateway.editMessage(e,t,r);return i.ok||this.logger.warn(`Edit message failed`,{code:i.error.code}),i}},T3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message`)}async execute(e,t){let n=await this.chatGateway.deleteMessage(e,t);return n.ok||this.logger.warn(`Delete message failed`,{code:n.error.code}),n}},E3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message-for-me`)}async execute(e,t){let n=await this.chatGateway.deleteMessageForMe(e,t);return n.ok||this.logger.warn(`Delete message for me failed`,{code:n.error.code}),n}},D3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-media-message`)}async execute(e){let t=await this.chatGateway.sendMediaMessage(e);return t.ok||this.logger.warn(`Send media message failed`,{code:t.error.code}),t}},O3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`download-chat-media`)}async execute(e){let t=await this.chatGateway.downloadMedia(e);return t.ok||this.logger.warn(`Downloading media failed`,{code:t.error.code}),t}},k3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`subscribe-push`)}async execute(e){let t=await this.chatGateway.subscribePush(e);return t.ok||this.logger.warn(`Subscribe push failed`,{code:t.error.code}),t}},A3t=e=>{let t={chatGateway:new R1t({httpClient:e.httpClient,clock:e.clock,logger:e.logger}),logger:e.logger},n=q1t();return{listConversations:new n3t(t),getConversation:new r3t(t),getConversationCounts:new i3t(t),listStaff:new a3t(t),getGroupMemberPool:new o3t(t),getViewer:new s3t(t),getMessages:new c3t(t),getMessagesSince:new l3t(t),getMessagesBefore:new u3t(t),startDirect:new d3t(t),createGroup:new f3t(t),sendMessage:new p3t(t),sendMediaMessage:new D3t(t),downloadChatMedia:new O3t(t),editMessage:new w3t(t),deleteMessage:new T3t(t),deleteMessageForMe:new E3t(t),subscribePush:new k3t(t),markDelivered:new m3t(t),markRead:new h3t(t),setFavourite:new g3t(t),setArchived:new _3t(t),setPinned:new v3t(t),deleteConversation:new y3t(t),leaveConversation:new b3t(t),refreshPortal:new x3t(t),reactToMessage:new S3t(t),saveMembers:new C3t(t),clock:e.clock,realtime:e.realtime,realtimeStore:ENe(),logger:e.logger.child(`chat-realtime`),outbox:n}},j3t=({module:e,children:t})=>(0,D.jsx)(QNe.Provider,{value:e,children:(0,D.jsx)(DNe.Provider,{value:e.realtimeStore,children:t})}),M3t=e=>e.connection.on(c7.MessageReceived,t=>{let n=n0t(t,c7.MessageReceived,e.logger);if(n===null)return;let r=e.viewerId()??``,i=g0t(Z5(n),r);if(e.queryClient.setQueryData(MS(n.conversationId),e=>V5(e??[],i)),kS(e.queryClient),i.kind===`system`){if(i.text.endsWith(` left the group`)){let t=i.text.slice(0,-15).trim().toLowerCase();jS(e.queryClient,n.conversationId,e=>{let n=e.members.find(e=>e.name.toLowerCase()===t);return n===void 0?e:e.with({members:e.members.filter(e=>e.id!==n.id),adminIds:e.adminIds.filter(e=>e!==n.id)})})}e.queryClient.refetchQueries({queryKey:OS(n.conversationId)})}}),N3t=(e,t,n)=>e.connection.on(t,r=>{let i=r0t(r,t,e.logger);i===null||i.byUserId===e.viewerId()||e.store.getState().applyReceipt(i.conversationId,i.byUserId,n,i.uptoSequence)}),P3t=e=>e.connection.on(c7.Typing,t=>{let n=i0t(t,c7.Typing,e.logger);n===null||n.userId===e.viewerId()||e.store.getState().applyTyping(n.conversationId,n.userId,n.isTyping,Date.now())}),F3t=e=>e.connection.on(c7.ReactionToggled,t=>{let n=s0t(t,c7.ReactionToggled,e.logger),r=e.viewerId();n===null||n.byUserId===r||e.queryClient.setQueryData(MS(n.conversationId),e=>e?.map(e=>e.id===n.messageId?lPe(e,n,r??``):e))}),I3t=e=>e.connection.on(c7.MessageEdited,t=>{let n=n0t(t,c7.MessageEdited,e.logger);if(n===null)return;let r=e.viewerId()??``,i=g0t(Z5(n),r);e.queryClient.setQueryData(MS(n.conversationId),e=>e?.map(e=>e.id===i.id?i:e)??[i])}),L3t=e=>e.connection.on(c7.MessageDeleted,t=>{let n=c0t(t,c7.MessageDeleted,e.logger);n!==null&&(e.queryClient.setQueryData(MS(n.conversationId),e=>e?.map(e=>e.id===n.messageId?e.asDeletedForEveryone():e)??[]),kS(e.queryClient))}),R3t=e=>e.connection.on(c7.RemovedFromConversation,t=>{let n=l0t(t,c7.RemovedFromConversation,e.logger);n!==null&&e.store.getState().markRemovedFromConversation(n.conversationId)}),z3t=e=>e.connection.on(c7.PresenceChanged,t=>{let n=a0t(t,c7.PresenceChanged,e.logger);n!==null&&e.store.getState().applyPresence(n.userId,n.online,n.lastSeenUtc)}),B3t=e=>e.connection.on(c7.StatusChanged,t=>{let n=o0t(t,c7.StatusChanged,e.logger);n!==null&&ALe(n.userId,WS(n.status),n.untilUtc??null)}),V3t=e=>{let t=[M3t(e),I3t(e),L3t(e),N3t(e,c7.MessageDelivered,`delivered`),N3t(e,c7.MessageRead,`read`),P3t(e),z3t(e),B3t(e),F3t(e),R3t(e)];return()=>{for(let e of t)e()}};tS(),Uy();var H3t=(e,t,n)=>{n.length!==0&&e.setQueryData(MS(t),e=>n.reduce((e,t)=>V5(e,t),e??[]))},U3t=async(e,t,n,r)=>{let i=e.getState().activeConversationId;if(i===null){AS(t);return}let a=LXt(t.getQueryData(MS(i))??[]);try{H3t(t,i,await Hy(n.execute(i,a,50)))}catch{r.warn(`Reconnect sync failed; conversation list will still refresh`)}AS(t)},W3t=()=>{let{realtime:e,getMessagesSince:t,logger:n}=TS(),r=_S(),i=Xx();(0,E.useEffect)(()=>{let a=e.status;return e.onStatusChange(e=>{e===`connected`&&a!==`connected`&&U3t(r,i,t,n),a=e})},[e,r,i,t,n])};tS();var G3t=()=>{let{isAuthenticated:e}=eC(),{realtime:t,logger:n}=TS(),r=_S(),i=Xx(),a=NS();W3t();let o=(0,E.useRef)(null);o.current=a.data?.id??null,(0,E.useEffect)(()=>t.onStatusChange(e=>{r.getState().setStatus(e)}),[t,r]),(0,E.useEffect)(()=>V3t({connection:t,store:r,queryClient:i,viewerId:()=>o.current,logger:n}),[t,r,i,n]),(0,E.useEffect)(()=>{if(!e){t.stop(),r.getState().clear(),MLe();return}return t.start().catch(()=>{}),()=>{t.stop()}},[e,t,r])},K3t=({children:e})=>(G3t(),(0,D.jsx)(D.Fragment,{children:e})),q3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`get-post`)}async execute(e){let t=await this.feedGateway.getPost(e);return t.ok||this.logger.warn(`Fetching post by id failed`,{code:t.error.code}),t}},J3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`list-feed`)}async execute(e){let t=await this.feedGateway.listPosts(e.scope,e.skipCount,e.maxResultCount);return t.ok||this.logger.warn(`Listing feed failed`,{code:t.error.code,scope:e.scope}),t}};_o();var Y3t=class extends ho{},A7=class extends Y3t{code=`FEED_UNAVAILABLE`;constructor(e){super(`The news feed is currently unavailable. Please try again.`,{cause:e})}},X3t=class extends Y3t{code=`FEED_EMPTY_POST`;constructor(){super(`Write something before posting.`)}},Z3t=class{id;authorUserId;authorName;authorInitials;authorColor;authorRole;categoryLabel;categoryColor;audienceLabel;timestamp;createdAt;pinned;mustAcknowledge;acknowledged;title;body;reactions;myReaction;commentCount;comments;seenCount;bookmarked;taggedUserIds;locationLabel;imageUrls;department;audienceId;feelingId;feelingLabel;feelingEmoji;scheduledAt;isRecurring;recurrenceFrequency;constructor(e){this.id=e.id,this.authorUserId=e.authorUserId,this.authorName=e.authorName,this.authorInitials=e.authorInitials,this.authorColor=e.authorColor,this.authorRole=e.authorRole,this.categoryLabel=e.categoryLabel,this.categoryColor=e.categoryColor,this.audienceLabel=e.audienceLabel,this.timestamp=e.timestamp,this.createdAt=e.createdAt,this.pinned=e.pinned,this.mustAcknowledge=e.mustAcknowledge,this.acknowledged=e.acknowledged,this.title=e.title,this.body=e.body,this.reactions=e.reactions,this.myReaction=e.myReaction,this.commentCount=e.commentCount,this.comments=e.comments,this.seenCount=e.seenCount,this.bookmarked=e.bookmarked,this.taggedUserIds=e.taggedUserIds,this.locationLabel=e.locationLabel,this.imageUrls=e.imageUrls,this.department=e.department,this.audienceId=e.audienceId,this.feelingId=e.feelingId,this.feelingLabel=e.feelingLabel,this.feelingEmoji=e.feelingEmoji,this.scheduledAt=e.scheduledAt??null,this.isRecurring=e.isRecurring??!1,this.recurrenceFrequency=e.recurrenceFrequency??null}get totalReactions(){return this.reactions.like+this.reactions.insightful+this.reactions.celebrate}get needsAcknowledgement(){return this.mustAcknowledge&&!this.acknowledged}};Uy();var Q3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`create-post`)}async execute(e){return e.body.trim().length===0?(this.logger.warn(`Rejected empty post`),O(new X3t)):this.feedGateway.createPost({...e,body:e.body.trim()})}};Uy();var $3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`update-post`)}async execute(e,t){return t.body.trim().length===0?(this.logger.warn(`Rejected empty body for post update`),O(new X3t)):this.feedGateway.updatePost(e,{...t,body:t.body.trim()})}},e6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`delete-post`)}async execute(e){let t=await this.feedGateway.deletePost(e);return t.ok||this.logger.warn(`Deleting post failed`,{code:t.error.code}),t}},t6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`react-to-post`)}async execute(e,t){let n=await this.feedGateway.react(e,t);return n.ok||this.logger.warn(`Reacting to post failed`,{code:n.error.code}),n}},n6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`toggle-bookmark`)}async execute(e){let t=await this.feedGateway.toggleBookmark(e);return t.ok||this.logger.warn(`Bookmarking post failed`,{code:t.error.code}),t}},r6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`acknowledge-post`)}async execute(e){let t=await this.feedGateway.acknowledge(e);return t.ok||this.logger.warn(`Acknowledging post failed`,{code:t.error.code}),t}};Uy();var i6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`add-comment`)}async execute({postId:e,text:t}){if(t.trim().length===0)return this.logger.warn(`Rejected empty comment`,{postId:e}),O(new A7);let n=await this.feedGateway.addComment(e,t.trim());return n.ok||this.logger.warn(`Adding comment failed`,{code:n.error.code}),n}};Uy();var a6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listCategories()}};Uy();var o6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listAudiences()}};Uy();var s6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listFeelings()}};Uy();var c6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.searchUsers(e)}};Uy();var l6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.detectLocation()}},u6t=class{gateway;logger;constructor(e){this.gateway=e.feedGateway,this.logger=e.logger.child(`upload-feed-image-use-case`)}async execute(e){return this.logger.debug(`Uploading feed image`),this.gateway.uploadImage(e)}},d6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`mark-seen`)}async execute(e){let t=await this.feedGateway.markSeen(e);return t.ok||this.logger.warn(`Marking post as seen failed`,{code:t.error.code}),t}},f6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`set-post-pinned`)}async execute(e,t){let n=await this.feedGateway.setPinned(e,t);return n.ok||this.logger.warn(`Pinning post failed`,{code:n.error.code,pinned:t}),n}};Uy();var p6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.getNotifications()}};Uy();var m6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.markNotificationAsRead(e)}};Uy();function h6t(e){return e.replace(/\s+(division|province|district|state|region)$/i,``).trim()}function g6t(e){let t=h6t(e.regionName??e.region??``),n=t.length>0?t:(e.cityName??e.city??``).trim(),r=(e.countryName??e.country_name??``).trim();return n.length>0&&r.length>0?`${n}, ${r}`:r.length>0?r:null}function _6t(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e){let t=e.split(`/`),n=t[t.length-1];if(n)return n.replace(/_/g,` `)}}catch{}return`London Office`}async function v6t(e){try{let t=await fetch(`/ip-geolocation`);if(t.ok){let e=g6t(await t.json());if(e!==null)return By(e)}e.warn(`Proxy location fetch returned unexpected response, falling back to local timezone`)}catch(t){e.warn(`Failed to fetch location via dev proxy, falling back to local timezone`,{error:t})}return By(_6t())}yx();var y6t=hx({type:fx(),count:fx(),reacted:px()}),b6t=hx({id:k(),authorUserId:k(),authorName:k(),authorInitials:k(),authorColor:k(),text:k(),createdAt:k(),time:k()}),x6t=hx({id:k(),authorUserId:k(),authorName:k(),authorInitials:k(),authorColor:k(),authorRole:k(),department:k().nullable().optional(),categoryLabel:k(),categoryColor:k(),audienceLabel:k(),createdAt:k(),timestamp:k(),pinned:px(),mustAcknowledge:px(),acknowledged:px(),title:k().nullable(),body:k(),reactions:mx(y6t),myReaction:fx().nullable().optional(),commentCount:fx(),comments:mx(b6t),seenCount:fx(),bookmarked:px(),audienceId:k(),taggedUserIds:mx(k()).optional(),scheduledAt:k().nullable().optional(),isRecurring:px().optional(),recurrenceFrequency:k().nullable().optional(),nextOccurrenceTime:k().nullable().optional(),feelingId:k().nullable().optional(),feelingLabel:k().nullable().optional(),feelingEmoji:k().nullable().optional(),locationLabel:k().nullable().optional(),imageUrls:mx(k()).optional()}).passthrough();mx(x6t);var S6t=hx({totalCount:fx(),items:mx(x6t)}),C6t=hx({id:k(),name:k(),email:k(),userName:k(),role:k(),initials:k(),color:k()}),w6t=mx(C6t),T6t=hx({id:k(),key:k().optional(),label:k(),color:k(),templateIds:mx(k()).optional(),dataTemplateIds:mx(k()).optional(),webhookId:k().nullable().optional()}),E6t=mx(T6t),D6t=hx({key:k(),label:k()}),O6t=mx(D6t),k6t=hx({id:k(),label:k(),emoji:k()}),A6t=mx(k6t),j6t=e=>e===1?`insightful`:e===2?`celebrate`:`like`,M6t=e=>{let t={like:0,insightful:0,celebrate:0};for(let n of e){let e=j6t(n.type);t[e]=n.count}return t},N6t=e=>({id:e.id,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,createdAt:e.createdAt}),P6t=e=>e==null?null:j6t(e),F6t=e=>({department:e.department??null,feelingId:e.feelingId??null,feelingLabel:e.feelingLabel??null,feelingEmoji:e.feelingEmoji??null,locationLabel:e.locationLabel??null}),I6t=e=>{let t=F6t(e);return new Z3t({id:e.id,authorUserId:e.authorUserId,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,authorRole:e.authorRole,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,audienceLabel:e.audienceLabel,createdAt:e.createdAt,timestamp:e.timestamp,pinned:e.pinned,mustAcknowledge:e.mustAcknowledge,acknowledged:e.acknowledged,title:e.title,body:e.body,reactions:M6t(e.reactions),myReaction:P6t(e.myReaction),commentCount:e.commentCount,comments:e.comments.map(N6t),seenCount:e.seenCount,bookmarked:e.bookmarked,taggedUserIds:e.taggedUserIds??[],imageUrls:e.imageUrls??[],audienceId:e.audienceId,scheduledAt:e.scheduledAt??null,isRecurring:e.isRecurring??!1,recurrenceFrequency:e.recurrenceFrequency??null,...t})},L6t=e=>({id:e.key??e.id,label:e.label,color:e.color,categoryKey:e.key??e.id,templateIds:e.templateIds??[],dataTemplateIds:e.dataTemplateIds??[],webhookId:e.webhookId??void 0}),R6t=e=>({id:e.key,label:e.label}),z6t=e=>({id:e.id,label:e.label,emoji:e.emoji});Uy();var j7=(e,t,n)=>(e.error(`Feed ${t} returned an unexpected shape`,n),O(new A7(n))),M7=(e,t)=>(e.error(`Feed request failed`,t),new A7(t)),B6t=(e,t,n)=>{let r=S6t.safeParse(n);return r.success?By({totalCount:r.data.totalCount,items:r.data.items.map(I6t)}):j7(e,t,r.error)},N7=(e,t,n)=>{let r=x6t.safeParse(n);return r.success?By(I6t(r.data)):j7(e,t,r.error)},V6t=(e,t,n)=>{let r=E6t.safeParse(n);return r.success?By(r.data.map(L6t)):j7(e,t,r.error)},H6t=(e,t,n)=>{let r=O6t.safeParse(n);return r.success?By(r.data.map(R6t)):j7(e,t,r.error)},U6t=(e,t,n)=>{let r=A6t.safeParse(n);return r.success?By(r.data.map(z6t)):j7(e,t,r.error)},W6t=(e,t,n)=>{let r=w6t.safeParse(n);return r.success?By(r.data):j7(e,t,r.error)};yx();var G6t=hx({id:k(),userId:k(),kind:vx([`meeting`,`group`,`feed`,`member`]),actorName:k(),initials:k(),color:k(),message:k(),detail:k().nullable().optional(),postId:k().nullable().optional(),isRead:px(),creationTime:k()}),K6t=mx(G6t);lb(),Uy();var q6t={for_you:0,team:1,company:2,saved:3},J6t={like:0,insightful:1,celebrate:2},Y6t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-feed-gateway`)}async listPosts(e,t,n){try{let r=q6t[e],i=await this.httpClient.get(`/api/app/feed/posts`,{query:{scope:r,...t!==void 0&&{skipCount:t},...n!==void 0&&{maxResultCount:n}}});return B6t(this.logger,`listPosts`,i)}catch(e){return O(M7(this.logger,e))}}async getPost(e){try{let t=await this.httpClient.get(`/api/app/feed/post/${e}`);return N7(this.logger,`getPost`,t)}catch(e){return O(M7(this.logger,e))}}async createPost(e){try{let t=await this.httpClient.post(`/api/app/feed/post`,e);return N7(this.logger,`createPost`,t)}catch(e){return O(M7(this.logger,e))}}async updatePost(e,t){try{let n=await this.httpClient.put(`/api/app/feed/post/${e}`,t);return N7(this.logger,`updatePost`,n)}catch(e){return O(M7(this.logger,e))}}async deletePost(e){try{return await this.httpClient.delete(`/api/app/feed/post/${e}`),By(void 0)}catch(e){return O(M7(this.logger,e))}}async react(e,t){try{let n=await this.httpClient.post(`/api/app/feed/react-to-post/${e}`,{type:J6t[t]});return N7(this.logger,`react`,n)}catch(e){return O(M7(this.logger,e))}}async toggleBookmark(e){try{let t=await this.httpClient.post(`/api/app/feed/toggle-bookmark/${e}`,void 0);return N7(this.logger,`toggleBookmark`,t)}catch(e){return O(M7(this.logger,e))}}async setPinned(e,t){try{let n=await this.httpClient.post(`/api/app/feed/set-pinned/${e}`,{pinned:t});return N7(this.logger,`setPinned`,n)}catch(e){return O(M7(this.logger,e))}}async acknowledge(e){try{let t=await this.httpClient.post(`/api/app/feed/acknowledge/${e}`,void 0);return N7(this.logger,`acknowledge`,t)}catch(e){return O(M7(this.logger,e))}}async markSeen(e){try{let t=await this.httpClient.post(`/api/app/feed/mark-seen/${e}`,void 0);return N7(this.logger,`markSeen`,t)}catch(e){return O(M7(this.logger,e))}}async addComment(e,t){try{let n=await this.httpClient.post(`/api/app/feed/comment/${e}`,{text:t});return N7(this.logger,`addComment`,n)}catch(e){return O(M7(this.logger,e))}}async listCategories(){try{let e=await this.httpClient.get(`/api/app/feed/feed-categories`);return V6t(this.logger,`listCategories`,e)}catch(e){return O(M7(this.logger,e))}}async listAudiences(){try{let e=await this.httpClient.get(`/api/app/feed/feed-audiences`);return H6t(this.logger,`listAudiences`,e)}catch(e){return O(M7(this.logger,e))}}async listFeelings(){try{let e=await this.httpClient.get(`/api/app/feed/feed-feelings`);return U6t(this.logger,`listFeelings`,e)}catch(e){return O(M7(this.logger,e))}}async searchUsers(e){try{let t=await this.httpClient.get(`/api/app/feed/search-users`,{query:{filter:e}});return W6t(this.logger,`searchUsers`,t)}catch(e){return O(M7(this.logger,e))}}async detectLocation(){return v6t(this.logger)}async uploadImage(e){try{let t=new FormData;t.append(`file`,e);let n=await this.httpClient.post(`/api/app/file/upload?category=FeedPost`,t);return typeof n==`object`&&n&&`id`in n&&typeof n.id==`string`?By(n.id):O(new A7(`Invalid response shape`))}catch(e){return O(M7(this.logger,e))}}async getNotifications(){try{let e=await this.httpClient.get(`/api/app/notification`);return By(K6t.parse(e).map(e=>({id:e.id,kind:e.kind,initials:e.initials,color:e.color,actor:e.actorName,message:e.message,creationTime:e.creationTime,...e.detail!==null&&e.detail!==void 0?{detail:e.detail}:{},...e.postId!==null&&e.postId!==void 0?{postId:e.postId}:{}})))}catch(e){return O(M7(this.logger,e))}}async markNotificationAsRead(e){try{return await this.httpClient.post(`/api/app/notification/${e}/mark-as-read`,void 0),By(void 0)}catch(e){return O(M7(this.logger,e))}}async deleteNotification(e){try{return await this.httpClient.delete(`/api/app/notification/${e}`),By(void 0)}catch(e){return O(M7(this.logger,e))}}},X6t=e=>{let t={feedGateway:new Y6t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listFeed:new J3t(t),getPost:new q3t(t),createPost:new Q3t(t),updatePost:new $3t(t),deletePost:new e6t(t),reactToPost:new t6t(t),toggleBookmark:new n6t(t),acknowledgePost:new r6t(t),addComment:new i6t(t),listFeedCategories:new a6t(t),listFeedAudiences:new o6t(t),listFeedFeelings:new s6t(t),searchFeedUsers:new c6t(t),detectLocation:new l6t(t),uploadFeedImage:new u6t(t),setPostPinned:new f6t(t),markSeen:new d6t(t),getNotifications:new p6t(t),markNotificationRead:new m6t(t),notificationRealtime:e.notificationRealtime,logger:e.logger}},Z6t=(0,E.createContext)(null),Q6t=({module:e,children:t})=>(0,D.jsx)(Z6t.Provider,{value:e,children:t}),P7=()=>{let e=(0,E.useContext)(Z6t);if(e===null)throw Error(`Feed hooks must be used within <FeedModuleProvider>.`);return e};tS(),Uy();var $6t=e=>[`feed`,e],e8t=e=>{e.invalidateQueries({queryKey:[`feed`]})},F7=(e,t)=>{e.setQueriesData({queryKey:[`feed`]},e=>e&&{...e,pages:e.pages.map(e=>({...e,items:e.items.map(e=>e.id===t.id?t:e)}))}),e.setQueryData([`feed-post`,t.id],t)},t8t=e=>{let{listFeed:t}=P7();return zMe({queryKey:$6t(e),queryFn:({pageParam:n})=>Hy(t.execute({scope:e,skipCount:n,maxResultCount:10})),initialPageParam:0,getNextPageParam:(e,t)=>{let n=t.reduce((e,t)=>e+t.items.length,0);if(!(n>=e.totalCount))return n}})},n8t=()=>{let{createPost:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:()=>{e8t(t)}})},r8t=()=>{let{updatePost:e}=P7(),t=Xx();return $x({mutationFn:({postId:t,input:n})=>Hy(e.execute(t,n)),onSuccess:e=>{F7(t,e)}})},i8t=()=>{let{deletePost:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:()=>{e8t(t)}})},a8t=()=>{let{reactToPost:e}=P7(),t=Xx();return $x({mutationFn:({postId:t,type:n})=>Hy(e.execute(t,n)),onSuccess:e=>{F7(t,e)}})},o8t=()=>{let{toggleBookmark:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e),t.invalidateQueries({queryKey:$6t(`saved`)})}})},s8t=()=>{let{acknowledgePost:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e)}})},c8t=()=>{let{markSeen:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e)}})},l8t=()=>{let{addComment:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e)}})},u8t=()=>{let{setPostPinned:e}=P7(),t=Xx();return $x({mutationFn:({postId:t,pinned:n})=>Hy(e.execute(t,n)),onSuccess:e=>{F7(t,e)}})},I7=()=>{let{listFeedCategories:e}=P7();return Qx({queryKey:[`feed-categories`],queryFn:()=>Hy(e.execute())})},d8t=()=>{let{listFeedAudiences:e}=P7();return Qx({queryKey:[`feed-audiences`],queryFn:()=>Hy(e.execute())})},f8t=()=>{let{listFeedFeelings:e}=P7();return Qx({queryKey:[`feed-feelings`],queryFn:()=>Hy(e.execute())})},p8t=e=>{let{searchFeedUsers:t}=P7();return Qx({queryKey:[`feed-search-users`,e],queryFn:()=>Hy(t.execute(e)),enabled:e.trim().length>0})},m8t=()=>{let{uploadFeedImage:e}=P7();return $x({mutationFn:t=>Hy(e.execute(t))})},h8t=e=>{let{getPost:t}=P7();return Qx({queryKey:[`feed-post`,e],queryFn:()=>Hy(t.execute(e??``)),enabled:e!==null})},g8t=e=>{let{data:t=[]}=I7(),n=t.find(t=>t.id===e.department);return{categoryLabel:n?.label??e.categoryLabel,categoryColor:n?.color??e.categoryColor}};mS();var _8t=e=>{if(e.length===0)return[];let t=e[0]?.fullName??e[0]?.name??``;if(e.length===1)return[{text:`with `,bold:!1},{text:t,bold:!0}];let n=e[1]?.fullName??e[1]?.name??``;return e.length===2?[{text:`with `,bold:!1},{text:t,bold:!0},{text:` and `,bold:!1},{text:n,bold:!0}]:[{text:`with `,bold:!1},{text:t,bold:!0},{text:`, `,bold:!1},{text:n,bold:!0},{text:` and `,bold:!1},{text:`${String(e.length-2)} others`,bold:!0}]},L7=e=>{let t=e;return/^\d{4}-\d{2}-\d{2}T/.test(e)&&!e.endsWith(`Z`)&&!/[+-]\d{2}:?\d{2}$/.test(e)&&(t=`${e}Z`),new Date(t)},R7=e=>{let t=String(e.minute).padStart(2,`0`),n=e.hour>=12?`PM`:`AM`,r=e.hour%12;return`${String(r===0?12:r)}:${t} ${n}`},v8t=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],y8t=(e,t)=>e.year===t.year&&e.month===t.month&&e.day===t.day,b8t=(e,t,n)=>{let r=n.getTime()-t.getTime();if(r<0){let t=new Date(e);if(!Number.isNaN(t.getTime())){let e=n.getTime()-t.getTime();if(e>=0)return e}}return r},x8t=(e,t,n)=>{let r=L7(e);if(Number.isNaN(r.getTime()))return null;let i=r.getTime()-t.getTime();if(i<=0)return null;let a=60*1e3,o=60*a,s=24*o;if(i<a)return`Publishes shortly`;if(i<o){let e=Math.floor(i/a);return`Publishes in ${String(e)}m`}if(i<s){let e=Math.floor(i/o);return`Publishes in ${String(e)} ${e===1?`hour`:`hours`}`}let c=uS(r,n);return y8t(c,uS(new Date(t.getTime()+s),n))?`Scheduled for tomorrow at ${R7(c)}`:`Scheduled for ${v8t[c.month-1]??``} ${String(c.day)} at ${R7(c)}`},S8t=(e,t,n)=>t&&L7(t).getTime()<=n.getTime()?t:e,C8t=(e,t,n,r)=>{let i=60*1e3,a=60*i,o=24*a;if(e<i)return`now`;if(e<a)return`${String(Math.floor(e/i))}m ago`;if(e<o){let t=Math.floor(e/a);return`${String(t)} ${t===1?`hour`:`hours`} ago`}let s=uS(t,n);return y8t(s,uS(new Date(r.getTime()-o),n))?`Yesterday at ${R7(s)}`:`${v8t[s.month-1]??``} ${String(s.day)} at ${R7(s)}`},w8t=(e,t,n=null,r=new Date)=>{if(n&&L7(n).getTime()>r.getTime()){let e=x8t(n,r,t);if(e!==null)return e}let i=S8t(e,n,r),a=L7(i);return Number.isNaN(a.getTime())?`now`:C8t(b8t(i,a,r),a,t,r)},T8t=(e,t,n)=>{let r=document.getElementById(e),i=document.getElementById(t);if(r&&i){let e=i.getBoundingClientRect(),t=r.getBoundingClientRect(),a=t.top-e.top,o=i.scrollTop+a;n===`center`&&(o=o-e.height/2+t.height/2),i.scrollTo({top:o,behavior:`smooth`})}},E8t=(e,t=1600,n=1600,r=.8)=>new Promise(i=>{if(!e.type.startsWith(`image/`)){i(e);return}let a=new Image;a.src=URL.createObjectURL(e),a.onload=()=>{URL.revokeObjectURL(a.src);let o=a.width,s=a.height;if(o>t||s>n){let e=Math.min(t/o,n/s);o=Math.round(o*e),s=Math.round(s*e)}let c=document.createElement(`canvas`);c.width=o,c.height=s;let l=c.getContext(`2d`);if(!l){i(e);return}l.drawImage(a,0,0,o,s),c.toBlob(t=>{if(!t){i(e);return}i(new File([t],e.name.replace(/\.[^/.]+$/,``)+`.jpg`,{type:`image/jpeg`,lastModified:Date.now()}))},`image/jpeg`,r)},a.onerror=()=>{i(e)}});yx();var D8t={ReceiveNotification:`ReceiveNotification`},O8t=hx({id:k(),kind:vx([`meeting`,`group`,`feed`,`member`]),initials:k(),color:k(),actor:k(),time:k(),message:k().nullable().optional(),detail:k().nullable().optional(),postId:k().nullable().optional()}),k8t,A8t=s((()=>{k8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-contacts`)}async execute(e){let t=await this.meetingGateway.listContacts(e);return t.ok||this.logger.warn(`Listing booking contacts failed`,{code:t.error.code}),t}}})),j8t,M8t=s((()=>{j8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-available-slots`)}async execute(e){let t=await this.meetingGateway.getAvailableSlots(e);return t.ok||this.logger.warn(`Listing available slots failed`,{code:t.error.code}),t}}})),N8t,P8t=s((()=>{N8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-attendee-availability`)}async execute(e){let t=await this.meetingGateway.listAttendeeAvailability(e);return t.ok||this.logger.warn(`Listing attendee availability failed`,{code:t.error.code}),t}}})),F8t,I8t=s((()=>{F8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-meetings`)}async execute(){let e=await this.meetingGateway.listMeetings();return e.ok||this.logger.warn(`Listing meetings failed`,{code:e.error.code}),e}}})),z7,L8t,R8t,z8t,B8t=s((()=>{_o(),z7=class extends ho{},L8t=class extends z7{code=`MEETINGS_UNAVAILABLE`;constructor(e){super(`Meetings are currently unavailable. Please try again.`,{cause:e})}},R8t=class extends z7{code=`MEETINGS_INCOMPLETE_BOOKING`;constructor(){super(`Pick a person, a date, and a time slot to book a meeting.`)}},z8t=class extends z7{code=`MEETINGS_SLOT_UNAVAILABLE`;constructor(e,t){super(typeof e==`string`&&e.trim().length>0?e:`That time can no longer be booked — please pick another time.`,{cause:t})}}})),V8t,H8t=s((()=>{V8t=class{id;title;withName;withInitials;withColor;dateLabel;startUtc;endUtc;location;isOrganizer;myStatus;bucket;isGroup;attendeeIds;participants;description;awaitingResponse;constructor(e){this.id=e.id,this.title=e.title,this.withName=e.withName,this.withInitials=e.withInitials,this.withColor=e.withColor,this.dateLabel=e.dateLabel,this.startUtc=e.startUtc,this.endUtc=e.endUtc,this.location=e.location,this.isOrganizer=e.isOrganizer,this.myStatus=e.myStatus,this.bucket=e.bucket,this.isGroup=e.isGroup,this.attendeeIds=e.attendeeIds,this.participants=e.participants??[],this.description=e.description,this.awaitingResponse=e.awaitingResponse}}})),B7,U8t,W8t,G8t,V7,K8t=s((()=>{B7=[{id:`Pacific/Honolulu`,city:`Honolulu`,offset:`GMT-10`},{id:`America/Anchorage`,city:`Anchorage`,offset:`GMT-9`},{id:`America/Los_Angeles`,city:`Los Angeles`,offset:`GMT-8`},{id:`America/Denver`,city:`Denver`,offset:`GMT-7`},{id:`America/Chicago`,city:`Chicago`,offset:`GMT-6`},{id:`America/New_York`,city:`New York`,offset:`GMT-5`},{id:`America/Sao_Paulo`,city:`São Paulo`,offset:`GMT-3`},{id:`Atlantic/Reykjavik`,city:`Reykjavik`,offset:`GMT+0`},{id:`Europe/London`,city:`London`,offset:`GMT+1`},{id:`Europe/Paris`,city:`Paris`,offset:`GMT+2`},{id:`Europe/Athens`,city:`Athens`,offset:`GMT+3`},{id:`Africa/Nairobi`,city:`Nairobi`,offset:`GMT+3`},{id:`Asia/Dubai`,city:`Dubai`,offset:`GMT+4`},{id:`Asia/Karachi`,city:`Karachi`,offset:`GMT+5`},{id:`Asia/Kolkata`,city:`Mumbai`,offset:`GMT+5:30`},{id:`Asia/Dhaka`,city:`Dhaka`,offset:`GMT+6`},{id:`Asia/Bangkok`,city:`Bangkok`,offset:`GMT+7`},{id:`Asia/Singapore`,city:`Singapore`,offset:`GMT+8`},{id:`Asia/Shanghai`,city:`Shanghai`,offset:`GMT+8`},{id:`Asia/Tokyo`,city:`Tokyo`,offset:`GMT+9`},{id:`Australia/Sydney`,city:`Sydney`,offset:`GMT+11`},{id:`Pacific/Auckland`,city:`Auckland`,offset:`GMT+13`}],U8t={id:`Europe/London`,city:`London`,offset:`GMT+1`},U8t.id,W8t=e=>{try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`);if(t){let e=t.value;if(e===`GMT`)return`GMT+0`;e=e.replace(/^GMT/,``);let n=e.startsWith(`-`)?`-`:`+`,[r=`0`,i=`0`]=e.replace(/^[+-]/,``).split(`:`),a=parseInt(r,10),o=parseInt(i,10);return o===0?`GMT${n}${String(a)}`:`GMT${n}${String(a)}:${String(o)}`}}catch{}return`GMT+0`},G8t=e=>{let t=B7.find(t=>t.id===e);if(t)return t;try{let t=W8t(e),n=e.split(`/`);return{id:e,city:(n[n.length-1]??``).replace(/_/g,` `),offset:t}}catch{return U8t}},V7=e=>G8t(e)})),q8t,J8t,Y8t,X8t,Z8t,Q8t,$8t=s((()=>{gS(),q8t=(e,t,n)=>{let r=new Date(n.start).getTime(),i=new Date(n.end).getTime();return e.getTime()<i&&t.getTime()>r},J8t=(e,t,n)=>e.userId===t||t===n&&n!==``&&e.userId===void 0,Y8t=(e,t)=>e.allBlocks.filter(t=>J8t(t,e.userId,e.selfUserId)&&t.status!==`available`).flatMap(e=>$y(e,t.start,t.end)),X8t=(e,t)=>e.allBlocks.filter(t=>J8t(t,e.userId,e.selfUserId)&&t.status===`available`).flatMap(e=>$y(e,t.start,t.end)).map(e=>({start:new Date(e.start),end:new Date(e.end)})),Z8t=(e,t,n)=>t.getTime()>=e.start.getTime()&&n.getTime()<=e.end.getTime(),Q8t=e=>{let t={start:e.rangeStart,end:e.rangeEnd},n={userId:e.userId,selfUserId:e.selfUserId,allBlocks:e.allBlocks},r=e.workWindows.some(t=>Z8t(t,e.slotStart,e.slotEnd)),i=X8t(n,t).some(t=>Z8t(t,e.slotStart,e.slotEnd));return!r&&!i?`ooh`:Y8t(n,t).some(t=>q8t(e.slotStart,e.slotEnd,t))?`busy`:`available`}})),H7=s((()=>{B8t(),H8t(),K8t(),$8t()})),e5t,t5t=s((()=>{Uy(),H7(),e5t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`book-meeting`)}async execute(e){return e.contactId.length===0||e.dateLabel.length===0||e.slot.length===0?(this.logger.warn(`Rejected incomplete booking`),O(new R8t)):this.meetingGateway.book(e)}}})),n5t,r5t=s((()=>{n5t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`respond-to-meeting`)}async execute(e,t){let n=await this.meetingGateway.respond(e,t);return n.ok||this.logger.warn(`Responding to meeting failed`,{code:n.error.code}),n}}})),i5t,a5t=s((()=>{i5t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`cancel-meeting`)}async execute(e){let t=await this.meetingGateway.cancel(e);return t.ok||this.logger.warn(`Cancelling meeting failed`,{code:t.error.code}),t}}})),o5t=s((()=>{A8t(),M8t(),P8t(),I8t(),t5t(),r5t(),a5t()})),U7,s5t,c5t,l5t=s((()=>{H7(),U7=`Online — link generated automatically`,s5t=null,c5t=()=>(s5t??=[{id:`mt-1`,title:`1:1 Catch-up`,withName:`Andreea Cinpoi`,withInitials:`AN`,withColor:`#7c3aed`,dateLabel:`Tue, 24 Jun`,startUtc:`2026-06-24T14:00:00Z`,endUtc:`2026-06-24T15:00:00Z`,location:U7,isOrganizer:!0,myStatus:`accepted`,bucket:`upcoming`},{id:`mt-2`,title:`Application review`,withName:`Raj Ahmed`,withInitials:`RA`,withColor:`#0ea5e9`,dateLabel:`Wed, 25 Jun`,startUtc:`2026-06-25T11:00:00Z`,endUtc:`2026-06-25T12:00:00Z`,location:U7,isOrganizer:!1,myStatus:`pending`,bucket:`upcoming`},{id:`mt-3`,title:`Visa cases sync`,withName:`Jennifer Aboje`,withInitials:`JA`,withColor:`#fc7300`,dateLabel:`Thu, 26 Jun`,startUtc:`2026-06-26T10:00:00Z`,endUtc:`2026-06-26T10:30:00Z`,location:U7,isOrganizer:!1,myStatus:`accepted`,bucket:`upcoming`},{id:`mt-4`,title:`Consultant onboarding`,withName:`Tousif Sadman`,withInitials:`TS`,withColor:`#0e7c66`,dateLabel:`Mon, 16 Jun`,startUtc:`2026-06-16T09:00:00Z`,endUtc:`2026-06-16T09:30:00Z`,location:U7,isOrganizer:!0,myStatus:`accepted`,bucket:`passed`},{id:`mt-5`,title:`Compliance check`,withName:`Nur Mohammad`,withInitials:`NM`,withColor:`#8b5cf6`,dateLabel:`Fri, 13 Jun`,startUtc:`2026-06-13T15:00:00Z`,endUtc:`2026-06-13T16:00:00Z`,location:U7,isOrganizer:!0,myStatus:`accepted`,bucket:`canceled`}],s5t),c5t()})),u5t=s((()=>{Uy(),H7(),l5t()})),d5t,W7,f5t=s((()=>{d5t=encodeURIComponent,W7={list:`/api/app/meeting`,contacts:`/api/app/meeting/list-contacts`,availableSlots:`/api/app/meeting/list-available-slots`,attendeeAvailability:`/api/app/meeting/list-attendee-availability`,book:`/api/app/meeting/book`,respond:e=>`/api/app/meeting/${d5t(e)}/respond`,cancel:e=>`/api/app/meeting/${d5t(e)}/cancel`}})),p5t,m5t,h5t,g5t=s((()=>{lb(),H7(),p5t=e=>{if(typeof e!=`object`||!e)return null;let t=e,n=`error`in t&&typeof t.error==`object`&&t.error!==null?t.error:t;return typeof n.message==`string`&&n.message.trim().length>0?n.message.trim():null},m5t=e=>e instanceof ab&&(e.status===400||e.status===403||e.status===409),h5t=(e,t)=>{if(m5t(t)){let n=p5t(t.body);if(n!==null)return e.warn(`Booking rejected by the server`,{message:n}),new z8t(n,t)}return e.error(`Book meeting failed`,t),new L8t(t)}})),_5t,v5t,y5t,b5t,x5t,S5t,C5t,w5t,T5t,E5t=s((()=>{yx(),_5t=hx({userId:k(),name:k(),initials:k(),color:k(),status:fx(),isOrganizer:px()}).passthrough(),v5t=hx({id:k(),organizerUserId:k(),title:k(),withName:k(),withInitials:k(),withColor:k(),dateLabel:k(),start:k(),end:k(),location:k(),isOrganizer:px(),myStatus:fx(),bucket:fx(),awaitingResponse:px().optional(),isGroup:px(),attendeeIds:mx(k()),participants:mx(_5t).optional(),description:k()}).passthrough(),y5t=mx(v5t),b5t=hx({id:k(),name:k(),initials:k(),color:k(),role:k()}).passthrough(),x5t=mx(b5t),S5t=hx({label:k(),startUtc:k(),endUtc:k(),conflicts:mx(k())}).passthrough(),C5t=mx(S5t),w5t=hx({userId:k(),busy:mx(hx({startUtc:k(),endUtc:k()})),workingHours:mx(hx({startUtc:k(),endUtc:k()})).optional()}).passthrough(),T5t=mx(w5t)})),D5t,O5t,k5t,A5t,j5t,M5t,N5t,P5t,F5t,I5t=s((()=>{H7(),D5t={0:`pending`,1:`accepted`,2:`rejected`},O5t={0:`upcoming`,1:`passed`,2:`canceled`},k5t=/[zZ]|[+-]\d{2}:?\d{2}$/,A5t=e=>k5t.test(e)?e:`${e}Z`,j5t=e=>new V8t({id:e.id,title:e.title,withName:e.withName,withInitials:e.withInitials,withColor:e.withColor,dateLabel:e.dateLabel,startUtc:A5t(e.start),endUtc:A5t(e.end),location:e.location,isOrganizer:e.isOrganizer,myStatus:D5t[e.myStatus]??`pending`,bucket:O5t[e.bucket]??`upcoming`,isGroup:e.isGroup,attendeeIds:e.attendeeIds,participants:(e.participants??[]).map(e=>({userId:e.userId,name:e.name,initials:e.initials,color:e.color,status:D5t[e.status]??`pending`,isOrganizer:e.isOrganizer})),description:e.description,awaitingResponse:e.awaitingResponse??!1}),M5t=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role}),N5t=e=>({label:e.label,startUtc:e.startUtc,endUtc:e.endUtc,conflicts:e.conflicts}),P5t=e=>({userId:e.userId,busy:e.busy.map(e=>({startUtc:e.startUtc,endUtc:e.endUtc})),workingHours:(e.workingHours??[]).map(e=>({startUtc:e.startUtc,endUtc:e.endUtc}))}),F5t=e=>({contactId:e.isGroup===!0?null:e.contactId,attendeeIds:e.attendeeIds??[],dateLabel:e.dateLabel,slot:e.slot,isoDate:e.isoDate,startUtc:e.startUtc,endUtc:e.endUtc,isGroup:e.isGroup??!1,title:e.title,location:e.location,description:e.description})})),L5t,R5t=s((()=>{lb(),Uy(),H7(),f5t(),g5t(),E5t(),I5t(),L5t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-meeting-gateway`)}async listContacts(e){try{let t=e?.trim(),n=await this.httpClient.post(W7.contacts,void 0,{query:{search:t===void 0||t===``?void 0:t}}),r=x5t.safeParse(n);return r.success?By(r.data.map(M5t)):this.fail(`List contacts returned an unexpected shape`,r.error)}catch(e){return this.fail(`List contacts failed`,e)}}async getAvailableSlots(e){try{let t=await this.httpClient.post(W7.availableSlots,{isoDate:e.isoDate,timeZone:e.timeZone??void 0,isGroup:e.isGroup,contactId:e.contactId??void 0,attendeeIds:e.attendeeIds}),n=C5t.safeParse(t);return n.success?By(n.data.map(N5t)):this.fail(`Available slots returned an unexpected shape`,n.error)}catch(e){return this.fail(`Available slots failed`,e)}}async listAttendeeAvailability(e){try{let t=await this.httpClient.post(W7.attendeeAvailability,{isoDate:e.isoDate,attendeeIds:e.attendeeIds}),n=T5t.safeParse(t);return n.success?By(n.data.map(P5t)):this.fail(`Attendee availability returned an unexpected shape`,n.error)}catch(e){return this.fail(`Attendee availability failed`,e)}}async listMeetings(){try{let e=await this.httpClient.get(W7.list),t=y5t.safeParse(e);return t.success?By(t.data.map(j5t)):this.fail(`List meetings returned an unexpected shape`,t.error)}catch(e){return this.fail(`List meetings failed`,e)}}async book(e){try{let t=await this.httpClient.post(W7.book,F5t(e));return this.parseMeeting(t,`Book meeting`)}catch(e){return O(h5t(this.logger,e))}}async respond(e,t){try{let n=await this.httpClient.post(W7.respond(e),void 0,{query:{accept:t}});return this.parseMeeting(n,`Respond to meeting`)}catch(e){return this.fail(`Respond to meeting failed`,e)}}async cancel(e){try{let t=await this.httpClient.post(W7.cancel(e));return this.parseMeeting(t,`Cancel meeting`)}catch(e){return this.fail(`Cancel meeting failed`,e)}}parseMeeting(e,t){let n=v5t.safeParse(e);return n.success?By(j5t(n.data)):this.fail(`${t} returned an unexpected shape`,n.error)}fail(e,t){return this.logger.error(e,t),O(new L8t(t))}}})),z5t=s((()=>{l5t(),u5t(),R5t()})),B5t,V5t=s((()=>{o5t(),z5t(),B5t=e=>{let t={meetingGateway:new L5t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listContacts:new k8t(t),listAvailableSlots:new j8t(t),listAttendeeAvailability:new N8t(t),listMeetings:new F8t(t),bookMeeting:new e5t(t),respondToMeeting:new n5t(t),cancelMeeting:new i5t(t)}}})),H5t,U5t,W5t=s((()=>{H5t=d(m(),1),U5t=(0,H5t.createContext)(null)})),G5t,K5t,q5t=s((()=>{W5t(),G5t=Mo(),K5t=({module:e,children:t})=>(0,G5t.jsx)(U5t.Provider,{value:e,children:t})})),J5t,G7,Y5t=s((()=>{J5t=d(m(),1),W5t(),G7=()=>{let e=(0,J5t.useContext)(U5t);if(e===null)throw Error(`Meetings hooks must be used within <MeetingsModuleProvider>.`);return e}})),K7,X5t,Z5t,Q5t,$5t,e7t,q7,t7t,n7t,r7t,i7t,a7t,J7=s((()=>{tS(),Uy(),Y5t(),K7=[`meetings`,`list`],X5t=[`meetings`,`contacts`],Z5t=[`meetings`,`available-slots`],Q5t=[`meetings`,`attendee-availability`],$5t=(e,t)=>{e.setQueryData(K7,e=>e===void 0?[t]:e.map(e=>e.id===t.id?t:e))},e7t=e=>{let{listContacts:t}=G7(),n=e?.trim()??``;return Qx({queryKey:[...X5t,n],queryFn:()=>Hy(t.execute(n||void 0)),placeholderData:fje})},q7=e=>{let{listMeetings:t}=G7();return Qx({queryKey:K7,queryFn:()=>Hy(t.execute()),staleTime:0,refetchOnWindowFocus:!0,...e===void 0?{}:{refetchInterval:e}})},t7t=e=>{let{listAvailableSlots:t}=G7();return Qx({queryKey:[...Z5t,e],queryFn:()=>e===null?Promise.resolve([]):Hy(t.execute(e)),enabled:e!==null,staleTime:0,refetchOnWindowFocus:!0})},n7t=(e,t)=>{let{listAttendeeAvailability:n}=G7(),r=t!==null&&e.length>0;return Qx({queryKey:[...Q5t,t,[...e].sort()],queryFn:()=>r?Hy(n.execute({isoDate:t,attendeeIds:e})):Promise.resolve([]),enabled:r,staleTime:0,refetchOnWindowFocus:!0})},r7t=()=>{let{bookMeeting:e}=G7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:()=>{t.invalidateQueries({queryKey:K7})}})},i7t=()=>{let{respondToMeeting:e}=G7(),t=Xx();return $x({mutationFn:({meetingId:t,accept:n})=>Hy(e.execute(t,n)),onSuccess:e=>{$5t(t,e)}})},a7t=()=>{let{cancelMeeting:e}=G7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{$5t(t,e)}})}})),o7t=s((()=>{q5t(),J7(),Y5t()})),s7t=s((()=>{V5t(),o7t()}));s7t();var c7t=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-users`)}async execute(e){let t=await this.userGateway.list(e);return t.ok||this.logger.warn(`Listing users failed`,{code:t.error.code}),t}};Uy();var l7t=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-directory-facets`)}async execute(){let[e,t,n]=await Promise.all([this.userGateway.getDepartments(),this.userGateway.getAccessRoles(),this.userGateway.getBranches()]);return e.ok?t.ok?n.ok?By({departments:e.value,accessRoles:t.value,branches:n.value}):(this.logger.warn(`Loading directory facets failed`,{code:n.error.code}),O(n.error)):(this.logger.warn(`Loading directory facets failed`,{code:t.error.code}),O(t.error)):(this.logger.warn(`Loading directory facets failed`,{code:e.error.code}),O(e.error))}};_o();var u7t=class extends ho{},Y7=class extends u7t{code=`USERS_UNAVAILABLE`;constructor(e){super(`The users directory is currently unavailable. Please try again.`,{cause:e})}},d7t=class{id;fullName;email;roleName;department;branchKey;branchName;level;online;status;statusUntilUtc;hasAccount;initials;color;permissionSetName;permissionSetColor;constructor(e){this.id=e.id,this.fullName=e.fullName,this.email=e.email,this.roleName=e.roleName,this.department=e.department,this.branchKey=e.branchKey,this.branchName=e.branchName,this.level=e.level,this.online=e.online,this.status=e.status??`offline`,this.statusUntilUtc=e.statusUntilUtc??null,this.hasAccount=e.hasAccount??!0,this.initials=e.initials,this.color=e.color,this.permissionSetName=e.permissionSetName,this.permissionSetColor=e.permissionSetColor}get isSenior(){return this.level<=3}};yx();var f7t=hx({id:k(),fullName:k(),email:k(),roleName:k(),department:k(),branchKey:k().nullish(),branchName:k().nullish(),level:fx(),online:px(),status:fx().nullish(),statusUntilUtc:k().nullish(),hasAccount:px().nullish(),initials:k(),color:k(),permissionSetName:k().nullish(),permissionSetColor:k().nullish()}),p7t=hx({totalCount:fx(),items:mx(f7t)});Uy();var m7t=(e,t)=>(e.error(`Users request failed`,t),new Y7(t)),X7={staffMembers:`/api/app/staff-member`,departments:`/api/app/staff-member/departments`,accessRoles:`/api/app/staff-member/access-roles`,branches:`/api/app/staff-member/branches`},Z7={skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,department:`department`,accessRole:`accessRole`,branch:`branch`,online:`online`},h7t=e=>new d7t({id:e.id,fullName:e.fullName,email:e.email,roleName:e.roleName,department:e.department,branchKey:e.branchKey??``,branchName:e.branchName??``,level:e.level,online:e.online,status:WS(e.status),statusUntilUtc:e.statusUntilUtc??null,hasAccount:e.hasAccount??!0,initials:e.initials,color:e.color,permissionSetName:e.permissionSetName??void 0,permissionSetColor:e.permissionSetColor??void 0});yx(),lb(),Uy();var g7t=mx(k()),_7t=mx(hx({key:k(),name:k()})),v7t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger}async list(e){try{let t={[Z7.skipCount]:(e.page-1)*e.pageSize,[Z7.maxResultCount]:e.pageSize};e.filter!==``&&(t[Z7.filter]=e.filter),e.department!==``&&(t[Z7.department]=e.department),e.accessRole!==``&&(t[Z7.accessRole]=e.accessRole),e.branch!==``&&(t[Z7.branch]=e.branch),e.status!==`all`&&(t[Z7.online]=e.status===`online`);let n=await this.httpClient.get(X7.staffMembers,{query:t}),r=p7t.safeParse(n);if(!r.success)throw this.logger.error(`Users staff-member list returned an unexpected shape`,r.error),new Y7(r.error);return By({users:r.data.items.map(h7t),totalCount:r.data.totalCount})}catch(e){return O(m7t(this.logger,e))}}async getDepartments(){return this.getStringList(X7.departments,`departments`)}async getAccessRoles(){return this.getStringList(X7.accessRoles,`access roles`)}async getBranches(){try{let e=await this.httpClient.get(X7.branches),t=_7t.safeParse(e);if(!t.success)throw this.logger.error(`Users branches returned an unexpected shape`,t.error),new Y7(t.error);return By(t.data)}catch(e){return O(m7t(this.logger,e))}}async getStringList(e,t){try{let n=await this.httpClient.get(e),r=g7t.safeParse(n);if(!r.success)throw this.logger.error(`Users ${t} returned an unexpected shape`,r.error),new Y7(r.error);return By(r.data)}catch(e){return O(m7t(this.logger,e))}}};Uy();var y7t=e=>{let t={userGateway:new v7t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listUsers:new c7t(t),listDirectoryFacets:new l7t(t)}},b7t=(0,E.createContext)(null),x7t=({module:e,children:t})=>(0,D.jsx)(b7t.Provider,{value:e,children:t}),S7t=()=>{let e=(0,E.useContext)(b7t);if(e===null)throw Error(`Users hooks must be used within <UsersModuleProvider>.`);return e};tS(),Uy();var C7t=[`users`],w7t=e=>{let{listUsers:t}=S7t();return Qx({queryKey:[...C7t,e],queryFn:()=>Hy(t.execute(e)),placeholderData:fje,staleTime:3e4})},T7t=class{gateway;logger;constructor(e){this.gateway=e.meetingVideoGateway,this.logger=e.logger.child(`join-meeting-video`)}async execute(e){let t=await this.gateway.join(e);return t.ok||this.logger.warn(`Joining meeting video failed`,{code:t.error.code}),t}},E7t=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`get-meeting-room-status`)}async execute(e){let t=await this.meetingVideoGateway.getRoomStatus(e);return t.ok||this.logger.debug(`Meeting status poll failed`,{code:t.error.code}),t}},D7t=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`extend-meeting`)}async execute(e,t){let n=await this.meetingVideoGateway.extendMeeting(e,t);return n.ok?this.logger.info(`Meeting extended`,{meetingId:e,minutes:t}):this.logger.warn(`Extending the meeting failed`,{code:n.error.code}),n}},O7t=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`end-meeting-now`)}async execute(e){let t=await this.meetingVideoGateway.endMeetingNow(e);return t.ok?this.logger.info(`Meeting ended for everyone`,{meetingId:e}):this.logger.warn(`Ending the meeting failed`,{code:t.error.code}),t}};_o();var k7t=class extends ho{},A7t=class extends k7t{code=`MEETING_VIDEO_UNAVAILABLE`;constructor(e){super(`This meeting could not be joined right now. Please try again.`,{cause:e})}};yx();var j7t=hx({token:k(),providerType:k(),roomId:k(),participantName:k(),title:k().nullish(),startUtc:k().nullish(),endUtc:k().nullish(),isOrganizer:px().nullish()}).passthrough(),M7t=hx({bucket:fx(),end:k(),isEnded:px().nullish()}).passthrough(),Q7=encodeURIComponent,$7={join:e=>`/api/app/meeting-video/${Q7(e)}/join`,meeting:e=>`/api/app/meeting/${Q7(e)}`,extend:e=>`/api/app/meeting/${Q7(e)}/extend`,endNow:e=>`/api/app/meeting/${Q7(e)}/end-now`},N7t=/[zZ]|[+-]\d{2}:?\d{2}$/,P7t=e=>N7t.test(e)?e:`${e}Z`,F7t=e=>typeof e==`string`?P7t(e):null,I7t=e=>({token:e.token,providerType:e.providerType,roomId:e.roomId,participantName:e.participantName,title:e.title??``,startUtc:F7t(e.startUtc),endUtc:F7t(e.endUtc),isOrganizer:e.isOrganizer??!1}),L7t=2,R7t=e=>({canceled:e.bucket===L7t,ended:e.isEnded??!1,endUtc:P7t(e.end)});Uy();var z7t=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-meeting-video-gateway`)}async join(e){try{let t=await this.http.post($7.join(e)),n=j7t.safeParse(t);return n.success?By(I7t(n.data)):this.fail(`Join returned an unexpected shape`,n.error)}catch(e){return this.fail(`Joining meeting video failed`,e)}}async getRoomStatus(e){try{let t=await this.http.get($7.meeting(e)),n=M7t.safeParse(t);return n.success?By(R7t(n.data)):this.fail(`Meeting status returned an unexpected shape`,n.error)}catch(e){return this.fail(`Reading the meeting status failed`,e)}}async extendMeeting(e,t){try{let n=await this.http.post($7.extend(e),{minutes:t});return this.parseStatus(n,`Extending the meeting`)}catch(e){return this.fail(`Extending the meeting failed`,e)}}async endMeetingNow(e){try{let t=await this.http.post($7.endNow(e));return this.parseStatus(t,`Ending the meeting`)}catch(e){return this.fail(`Ending the meeting failed`,e)}}parseStatus(e,t){let n=M7t.safeParse(e);return n.success?By(R7t(n.data)):this.fail(`${t} returned an unexpected shape`,n.error)}fail(e,t){return this.logger.error(e,t),O(new A7t(t))}},B7t=e=>{let t=new z7t({httpClient:e.httpClient,logger:e.logger});return{joinMeetingVideo:new T7t({meetingVideoGateway:t,logger:e.logger}),getMeetingRoomStatus:new E7t({meetingVideoGateway:t,logger:e.logger}),extendMeeting:new D7t({meetingVideoGateway:t,logger:e.logger}),endMeetingNow:new O7t({meetingVideoGateway:t,logger:e.logger})}},V7t=(0,E.createContext)(null),H7t=({module:e,children:t})=>(0,D.jsx)(V7t.Provider,{value:e,children:t}),U7t=()=>{let e=(0,E.useContext)(V7t);if(e===null)throw Error(`Meeting-video hooks must be used within <MeetingVideoModuleProvider>.`);return e};tS(),Uy();var W7t=e=>[`meeting-video`,`join`,e],G7t=e=>{let{joinMeetingVideo:t}=U7t();return Qx({queryKey:W7t(e),queryFn:()=>{if(e===null)throw new A7t;return Hy(t.execute(e))},enabled:e!==null,staleTime:1/0,gcTime:0,retry:!1,refetchOnWindowFocus:!1})},e9,t9=s((()=>{fy(),e9=dy(e=>({activeMeeting:null,isJoined:!1,requestedMeetingId:null,setActiveMeeting:t=>{e({activeMeeting:t})},setJoined:t=>{e({isJoined:t})},setRequestedMeetingId:t=>{e({requestedMeetingId:t})},leaveActiveMeeting:()=>{e({activeMeeting:null,isJoined:!1,requestedMeetingId:null})}}))}));t9();var n9={floatingWidget:`_floatingWidget_933j8_1`,floatingInfo:`_floatingInfo_933j8_17`,floatingTitle:`_floatingTitle_933j8_25`,floatingStatus:`_floatingStatus_933j8_34`,statusDot:`_statusDot_933j8_43`,pulse:`_pulse_933j8_1`,floatingActions:`_floatingActions_933j8_63`};Dt(),hh(),fo(),Fy();var K7t=()=>{let{pathname:e}=He(),t=We(),n=e9(e=>e.activeMeeting),r=e9(e=>e.isJoined),i=e9(e=>e.leaveActiveMeeting),a=n?`/comms/meetings/${n.meetingId}/room`:``,o=n!==null&&(e===a||e.endsWith(`/room`)||e.includes(`/comms/meetings/`)),s=(0,E.useCallback)(()=>{n&&t(a)},[n,t,a]),c=(0,E.useCallback)(()=>{i()},[i]);if(n===null||!r||o)return null;let{ticket:l}=n,u=l.title===``?l.roomId:l.title;return(0,D.jsx)(vm,{children:(0,D.jsxs)(Gm.div,{className:n9.floatingWidget,initial:{opacity:0,y:20,scale:.92},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.92},transition:{duration:.2,ease:[.22,1,.36,1]},children:[(0,D.jsx)(io,{size:18,style:{color:`var(--color-primary)`}}),(0,D.jsxs)(`div`,{className:n9.floatingInfo,children:[(0,D.jsx)(`span`,{className:n9.floatingTitle,children:u}),(0,D.jsxs)(`span`,{className:n9.floatingStatus,children:[(0,D.jsx)(`span`,{className:n9.statusDot}),`Meeting in progress`]})]}),(0,D.jsxs)(`div`,{className:n9.floatingActions,children:[(0,D.jsx)(iy,{label:`Return to meeting`,side:`top`,children:(0,D.jsx)(es,{variant:`ghost`,size:`sm`,"aria-label":`Return to meeting`,onClick:s,children:(0,D.jsx)(Xr,{size:14})})}),(0,D.jsx)(iy,{label:`Leave call`,side:`top`,children:(0,D.jsx)(es,{variant:`danger`,size:`sm`,"aria-label":`Leave call`,onClick:c,children:(0,D.jsx)(Ei,{size:14})})})]})]})})},q7t=15e3,J7t=(e,t,n,r)=>{let[i,a]=(0,E.useState)(e.endUtc),[o,s]=(0,E.useState)(null),c=(0,E.useRef)(r);c.current=r;let l=(0,E.useRef)(!1),u=(0,E.useRef)(!1);return(0,E.useEffect)(()=>{if(i===null){s(null);return}let e=new Date(i).getTime();e>Date.now()&&(u.current=!1);let t=()=>{let t=e-Date.now();s(Math.max(0,t)),t<=0&&!u.current&&!l.current&&(u.current=!0,c.current.onTimeUp())};t();let n=window.setInterval(t,1e3);return()=>{window.clearInterval(n)}},[i]),(0,E.useEffect)(()=>{let e=!1,r=!1,i=async()=>{if(!(r||l.current)){r=!0;try{let r=await n.execute(t);if(e||!r.ok)return;if(r.value.ended){l.current=!0,c.current.onEnded();return}if(r.value.canceled){l.current=!0,c.current.onCanceled();return}a(r.value.endUtc)}finally{r=!1}}},o=window.setInterval(()=>{i()},q7t);return()=>{e=!0,window.clearInterval(o)}},[t,n]),{remainingMs:o,adoptEnd:(0,E.useCallback)(e=>{a(e)},[])}},r9={room:`_room_118cm_1`,center:`_center_118cm_12`,topBar:`_topBar_118cm_25`,clockChip:`_clockChip_118cm_38`,clockWarn:`_clockWarn_118cm_51`,clockDanger:`_clockDanger_118cm_56`,clockButton:`_clockButton_118cm_62`,extendChoices:`_extendChoices_118cm_69`};fo(),Fy(),Do();var Y7t=5*6e4,X7t=6e4,Z7t=[15,30],Q7t=e=>{let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${String(n)}:${a(r)}:${a(i)}`:`${String(r)}:${a(i)}`},$7t=({remainingMs:e,isOrganizer:t,onOpenControls:n})=>{if(e===null)return null;let r=e<=0?`Time over`:`${Q7t(e)} left`,i=T(r9.clockChip,e<=Y7t&&r9.clockWarn,e<=X7t&&r9.clockDanger);return(0,D.jsx)(`div`,{className:r9.topBar,children:t?(0,D.jsxs)(`button`,{type:`button`,className:T(i,r9.clockButton),title:`Extend or end the meeting`,onClick:n,children:[(0,D.jsx)(Xn,{size:12}),` `,r]}):(0,D.jsxs)(`span`,{className:i,children:[(0,D.jsx)(Xn,{size:12}),` `,r]})})},e9t=({open:e,onOpenChange:t,overtime:n,busy:r,onExtend:i,onEnd:a})=>(0,D.jsx)(xh,{open:e,onOpenChange:t,title:n?`The scheduled time is over`:`Meeting time`,description:n?`Nobody has been disconnected — add more time, or end the meeting for everyone.`:`Add more time now, or end the meeting for everyone.`,footer:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`secondary`,disabled:r,onClick:()=>{t(!1)},children:`Keep going`}),(0,D.jsx)(es,{variant:`danger`,disabled:r,onClick:a,children:`End meeting for everyone`})]}),children:(0,D.jsx)(`div`,{className:r9.extendChoices,children:Z7t.map(e=>(0,D.jsxs)(es,{variant:`secondary`,disabled:r,onClick:()=>{i(e)},children:[`+`,e,` minutes`]},e))})}),t9t=(e,t,n)=>({onTimeUp:()=>{e?t():my.info(`The scheduled time is over — the organizer can extend or end the meeting.`)},onCanceled:()=>{my.info(`This meeting was canceled.`),n()},onEnded:()=>{my.info(`The organizer ended this meeting.`),n()}}),n9t=({ticket:e,meetingId:t,onLeft:n})=>{let{getMeetingRoomStatus:r,extendMeeting:i,endMeetingNow:a}=U7t(),[o,s]=(0,E.useState)(!1),[c,l]=(0,E.useState)(!1),{remainingMs:u,adoptEnd:d}=J7t(e,t,r,t9t(e.isOrganizer,()=>{s(!0)},n));return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)($7t,{remainingMs:u,isOrganizer:e.isOrganizer,onOpenControls:()=>{s(!0)}}),e.isOrganizer&&(0,D.jsx)(e9t,{open:o,onOpenChange:s,overtime:u!==null&&u<=0,busy:c,onExtend:e=>{(async()=>{l(!0);let n=await i.execute(t,e);l(!1),n.ok?(d(n.value.endUtc),s(!1),my.success(`Meeting extended by ${String(e)} minutes.`)):my.error(n.error.message)})()},onEnd:()=>{(async()=>{l(!0);let e=await a.execute(t);l(!1),e.ok?(s(!1),my.info(`Meeting ended.`),n()):my.error(e.error.message)})()}})]})},r9t,i9t,a9t,i9,o9t=s((()=>{r9t=`_fill_qtoxk_1`,i9t=`_center_qtoxk_7`,a9t=`_rtkTheme_qtoxk_16`,i9={fill:r9t,center:i9t,rtkTheme:a9t}})),a9,s9t,c9t=s((()=>{Fy(),o9t(),a9=Mo(),s9t=({onLeave:e})=>(0,a9.jsxs)(`div`,{className:i9.center,children:[(0,a9.jsx)(ls,{tone:`error`,title:`Could not connect to the call`,children:`The meeting could not be started. Please go back and try again.`}),(0,a9.jsx)(es,{variant:`secondary`,onClick:e,children:`Back to bookings`})]})})),l9t=l({CloudflareMeetingExperience:()=>m9t}),o9,s9,u9t,d9t,f9t,p9t,m9t,h9t=s((()=>{o9=d(m(),1),m7e(),PYt(),Fy(),c9t(),t9(),o9t(),s9=Mo(),u9t=8e3,d9t=(e,t,n)=>{let r=q7(e===void 0?void 0:u9t);(0,o9.useEffect)(()=>{e===void 0||t===null||r.data===void 0||r.data.find(e=>e.id===t)?.bucket===`canceled`&&(e.leaveRoom().catch(()=>void 0),n())},[e,t,r.data,n])},f9t=(e,t)=>{(0,o9.useEffect)(()=>{if(e===void 0||t.current===null)return;let n=()=>{if(t.current===null)return;let e=document.documentElement.getAttribute(`data-theme`)===`light`;DF(t.current,{theme:e?`light`:`dark`})};n();let r=new MutationObserver(n);return r.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`]}),()=>{r.disconnect()}},[e,t])},p9t=(e,t)=>{let n=e9(e=>e.setJoined);(0,o9.useEffect)(()=>{if(e===void 0)return;let r=()=>{n(!0)},i=()=>{n(!1),t()};return e.self.on(`roomJoined`,r),e.self.on(`roomLeft`,i),()=>{e.self.off(`roomJoined`,r),e.self.off(`roomLeft`,i)}},[e,t,n])},m9t=({ticket:e,onLeft:t})=>{let[,n]=p7e(),[r,i]=(0,o9.useState)(void 0),[a,o]=(0,o9.useState)(!1),s=(0,o9.useRef)(!1),c=(0,o9.useRef)(null);return d9t(r,e9(e=>e.activeMeeting)?.meetingId??null,t),p9t(r,t),f9t(r,c),(0,o9.useEffect)(()=>{s.current||(s.current=!0,n({authToken:e.token,defaults:{audio:!1,video:!1}}).then(t=>{if(t===void 0){o(!0);return}let n=t;e.title!==``&&(n.meta.meetingTitle=e.title),i(n)}).catch(()=>{o(!0)}))},[n,e.token,e.title]),(0,o9.useEffect)(()=>{if(r!==void 0)return()=>{r.leaveRoom().catch(()=>void 0)}},[r]),a?(0,s9.jsx)(s9t,{onLeave:t}):r===void 0?(0,s9.jsx)(`div`,{className:i9.center,children:(0,s9.jsx)(Vo,{size:`lg`,label:`Connecting to the meeting…`})}):(0,s9.jsx)(c7e,{value:r,children:(0,s9.jsx)(`div`,{ref:c,className:i9.rtkTheme,children:(0,s9.jsx)(AYt,{mode:`fill`,meeting:r,showSetupScreen:!0})})})}}));Dt(),Fy(),t9();var g9t=`/comms/bookings`,_9t=new Map([[`cloudflare`,(0,E.lazy)(async()=>({default:(await Promise.resolve().then(()=>(h9t(),l9t))).CloudflareMeetingExperience}))]]),v9t=({ticket:e,meetingId:t,Experience:n,onLeft:r})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(n9t,{ticket:e,meetingId:t,onLeft:r}),(0,D.jsx)(E.Suspense,{fallback:(0,D.jsx)(y9t,{children:(0,D.jsx)(Vo,{size:`lg`,label:`Loading…`})}),children:(0,D.jsx)(n,{ticket:e,onLeft:r})})]}),y9t=({children:e})=>(0,D.jsx)(`div`,{className:r9.center,children:e}),b9t=({title:e,message:t,onBack:n})=>(0,D.jsxs)(`div`,{className:r9.center,children:[(0,D.jsx)(ls,{tone:`error`,title:e,children:t}),(0,D.jsx)(es,{variant:`secondary`,onClick:n,children:`Back to bookings`})]}),x9t=({meetingId:e})=>{let t=We(),n=G7t(e),r=e9(e=>e.setActiveMeeting),i=e9(e=>e.leaveActiveMeeting);(0,E.useEffect)(()=>{n.data&&r({ticket:n.data,meetingId:e})},[n.data,e,r]);let a=(0,E.useCallback)(()=>{i(),t(g9t)},[i,t]);if(n.isPending)return(0,D.jsx)(y9t,{children:(0,D.jsx)(Vo,{size:`lg`,label:`Joining the meeting…`})});if(n.isError)return(0,D.jsx)(b9t,{title:`Could not join this meeting`,message:n.error.message,onBack:a});let o=_9t.get(n.data.providerType.toLowerCase());return o===void 0?(0,D.jsx)(b9t,{title:`Unsupported meeting provider`,message:`This meeting uses a provider this app cannot open yet.`,onBack:a}):(0,D.jsx)(`div`,{className:r9.room,children:(0,D.jsx)(v9t,{ticket:n.data,meetingId:e,Experience:o,onLeft:a})})},S9t={meetingOverlay:`_meetingOverlay_1ykdp_1`,meetingTakeover:`_meetingTakeover_1ykdp_12`,meetingHidden:`_meetingHidden_1ykdp_18`};Dt(),Do(),t9();var C9t=({takeover:e=!1})=>{let{pathname:t}=He(),n=e9(e=>e.requestedMeetingId),r=t.includes(`/meetings/`)&&t.endsWith(`/room`);return n===null?null:(0,D.jsx)(`div`,{className:T(S9t.meetingOverlay,e&&S9t.meetingTakeover,!r&&S9t.meetingHidden),children:(0,D.jsx)(x9t,{meetingId:n})})};t9(),tS(),fb(),mS(),lb(),s7t(),gS();var w9t=15e3,T9t=5*6e4,E9t=(e,t,n)=>{let r=new q4t({logger:t}),i=t=>e.modules===void 0||e.modules.includes(t);return{chat:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/chat`,accessTokenProvider:n}):new J4t,calls:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/calls`,accessTokenProvider:n}):new J4t,notifications:i(`commhub.feed`)?r.create({url:`${e.apiBaseUrl}/signalr/notifications`,accessTokenProvider:n}):new J4t}},D9t=e=>{let t=e.logger??new db(`info`),n=new cS,r=e.authStore,i=r.getState().session?.accessToken??null,a=r.subscribe(e=>{i=e.session?.accessToken??null}),o=()=>i??void 0,s=new ike(new nke(new ZOe(new cb({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:o}),{timeoutMs:w9t,logger:t}),{logger:t}),{logger:t,refresh:()=>r.getState().refreshSession()}),c=new cMe({defaultOptions:{queries:{staleTime:T9t,retry:1,refetchOnWindowFocus:!0}}}),l=E9t(e,t,o);return{logger:t,authStore:r,moduleAccessModule:t3t({httpClient:s,logger:t}),chatModule:A3t({logger:t,httpClient:s,realtime:l.chat,clock:n}),feedModule:X6t({logger:t,httpClient:s,notificationRealtime:l.notifications}),meetingsModule:B5t({logger:t,httpClient:s}),meetingVideoModule:B7t({logger:t,httpClient:s}),scheduleModule:VAe({logger:t,httpClient:s,clock:n}),settingsModule:sLe({logger:t,httpClient:s}),usersModule:y7t({logger:t,httpClient:s}),presenceModule:oZt({logger:t,httpClient:s}),callsModule:fRe({logger:t,httpClient:s,realtime:l.calls}),queryClient:c,dispose:async()=>{a(),c.clear(),await Promise.all([l.chat.stop(),l.calls.stop(),l.notifications.stop()])}}},c9=new Map,O9t=e=>`${e.apiBaseUrl}|${e.clientKey}|${e.authKind}`,k9t=(e,t,n)=>{let r=c9.get(e);if(r===void 0){let n=t();r={composition:n.composition,handshake:n.handshake,refCount:0},c9.set(e,r)}r.refCount+=1;let i=!1,a=r;return{composition:a.composition,handshake:a.handshake,release:()=>{i||(i=!0,--a.refCount,!(a.refCount>0)&&(c9.get(e)===a&&c9.delete(e),a.handshake.dispose(),a.composition.dispose().catch(e=>{n?.warn(`Disposing the shared SDK runtime failed`,{error:e})})))}}};fb(),mS(),lb();var A9t=`*`,j9t=e=>{switch(e.kind){case`sso`:return e.getSecret();case`signed`:return e.getAssertion();case`host-token`:return e.getToken()}},M9t=e=>{let t=new cS,n=new cb({logger:e.logger,baseUrl:e.apiBaseUrl,getAuthToken:()=>void 0});switch(e.kind){case`sso`:return new IRe({httpClient:n,clock:t,logger:e.logger});case`signed`:return new I2t({httpClient:n,clock:t,logger:e.logger,clientKey:e.clientKey,modules:e.modules});case`host-token`:return new L2t({clock:t,logger:e.logger})}},N9t=e=>{let{apiBaseUrl:t,clientKey:n,authKind:r}=e,i=e.modules===void 0?A9t:e.modules.join(`,`),a=(0,E.useRef)(e.logger);a.current=e.logger;let o=(0,E.useMemo)(()=>i===A9t?void 0:P9t(i),[i]),s=(0,E.useRef)(e.requestCredential);s.current=e.requestCredential;let c=O9t({apiBaseUrl:t,clientKey:n,authKind:r}),[l]=(0,E.useState)(()=>k9t(c,()=>{let e=a.current??new db(`info`,`commhub-sdk`),i=M9t({kind:r,clientKey:n,apiBaseUrl:t,logger:e,modules:o??[]}),c=D9t({apiBaseUrl:t,authStore:M2t({clock:new cS,logger:e,storageNamespace:`sdk:${n}`,authGateway:i,setAccessToken:()=>{}}),modules:o,logger:e});return{composition:c,handshake:new K2t(t=>new G2t({authStore:c.authStore,moduleAccessModule:c.moduleAccessModule,requestCredential:()=>s.current(),requestedModules:o??[],emit:t,logger:e,renewable:r!==`sso`}))}},a.current));return(0,E.useEffect)(()=>()=>{l.release()},[l]),{composition:l.composition,handshake:l.handshake}},P9t=e=>e===``?[]:e.split(`,`),F9t=({handshake:e,auth:t,onEvent:n})=>{let r=(0,E.useRef)(n);r.current=n;let i=(0,E.useRef)(t);return i.current=t,(0,E.useEffect)(()=>e.attach(e=>{r.current?.(e)}),[e]),(0,E.useSyncExternalStore)(t=>e.subscribeStatus(t),()=>e.status,()=>e.status)},l9=e=>Math.min(100,Math.max(0,e)),u9=([e,t,n],r=0)=>`hsl(${String(e)} ${String(l9(t))}% ${String(l9(n+r))}%)`,d9=([e,t,n],r)=>`hsl(${String(e)} ${String(l9(t))}% ${String(l9(n))}% / ${String(r)})`,I9t=60,L9t=e=>e[2]>I9t?`#0f172a`:`#ffffff`,f9={a30:.18,a20:.12,a10:.06,a05:.035,border:.22},p9=e=>`${String(Math.max(0,Math.round(e)))}px`,R9t=e=>({"--color-primary":u9(e),"--color-primary-strong":u9(e,-12),"--color-primary-light":u9(e,12),"--color-primary-30":d9(e,f9.a30),"--color-primary-20":d9(e,f9.a20),"--color-primary-10":d9(e,f9.a10),"--color-primary-05":d9(e,f9.a05),"--color-primary-border":d9(e,f9.border),"--color-on-primary":L9t(e)}),z9t=e=>({"--color-secondary":u9(e),"--color-secondary-strong":u9(e,-12),"--color-secondary-30":d9(e,.3),"--color-secondary-20":d9(e,f9.a20),"--color-secondary-10":d9(e,.07),"--color-secondary-border":d9(e,.3)}),B9t=e=>({"--radius-sm":p9(e-4),"--radius-md":p9(e),"--radius-lg":p9(e+4),"--radius-xl":p9(e+6)}),V9t=[4,6,9,12,15,18,24],H9t=()=>{let e={"--height-btn":p9(32),"--height-input":p9(34),"--height-row":p9(44),"--height-nav":p9(36)};return V9t.forEach((t,n)=>{e[`--space-${String(n+1)}`]=p9(t)}),e},U9t=e=>e?{...e.brand?R9t(e.brand):{},...e.accent?z9t(e.accent):{},...e.radius===void 0?{}:B9t(e.radius),...e.font===void 0?{}:{"--font-sans":e.font},...e.density===`compact`?H9t():{}}:{},W9t=e=>{let t=e?.mode??`system`;return t===`system`?null:t},G9t=`data-theme`,K9t=e=>{let t=e.getRootNode();return t instanceof ShadowRoot?t.host:e},q9t=e=>{let t=(0,E.useRef)(null),n=JSON.stringify(e??null),r=(0,E.useMemo)(()=>JSON.parse(n),[n]);return(0,E.useEffect)(()=>{let e=t.current;if(e===null)return;let n=K9t(e),i=U9t(r??void 0),a=W9t(r??void 0);for(let[e,t]of Object.entries(i))n.style.setProperty(e,t);return a===null?n.removeAttribute(G9t):n.setAttribute(G9t,a),()=>{for(let e of Object.keys(i))n.style.removeProperty(e);n.removeAttribute(G9t)}},[r]),t},J9t=e=>{if(e)return e;try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e)return e}catch{}return`UTC`};Fy();var Y9t=class extends E.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.logger.error(`Unhandled error inside the Communication Hub widget`,e,{componentStack:t.componentStack}),this.props.onEvent?.({type:`error`,payload:{code:`WIDGET_CRASHED`,message:e.message}})}render(){let{error:e}=this.state;return e===null?this.props.children:(0,D.jsx)(ls,{tone:`error`,title:`This widget could not be displayed`,children:`Something went wrong inside the Communication Hub widget. Reloading the page usually fixes it.`})}},X9t=e=>{let t=O8t.safeParse(e);if(!t.success)return null;let{id:n,kind:r,actor:i,message:a,detail:o,time:s,postId:c}=t.data;return{id:n,kind:r,actor:i,occurredAt:s,...a==null?{}:{message:a},...o==null?{}:{detail:o},...c==null?{}:{postId:c}}},Z9t=({onEvent:e})=>{let{notificationRealtime:t,logger:n}=P7();return(0,E.useEffect)(()=>{if(e===void 0)return;let r=t.on(D8t.ReceiveNotification,t=>{let r=X9t(t);if(r===null){n.error(`Discarded a malformed notification payload`,{rawPayload:t});return}e({type:`notification`,payload:r})});return t.start().catch(e=>{n.error(`Could not open the notification connection`,e)}),()=>{r()}},[t,n,e]),null};tS(),hh(),s7t(),gS(),Fy();var Q9t=({composition:e,children:t,onEvent:n})=>(0,D.jsx)(mMe,{client:e.queryClient,children:(0,D.jsx)(Kfe,{reducedMotion:`user`,children:(0,D.jsx)(Lwe,{children:(0,D.jsx)(WRe,{store:e.authStore,children:(0,D.jsx)(GNe,{module:e.moduleAccessModule,children:(0,D.jsx)(j3t,{module:e.chatModule,children:(0,D.jsx)(K3t,{children:(0,D.jsx)(Q6t,{module:e.feedModule,children:(0,D.jsx)(K5t,{module:e.meetingsModule,children:(0,D.jsx)(H7t,{module:e.meetingVideoModule,children:(0,D.jsx)(qAe,{module:e.scheduleModule,children:(0,D.jsx)(lLe,{module:e.settingsModule,children:(0,D.jsx)(x7t,{module:e.usersModule,children:(0,D.jsx)(fZt,{module:e.presenceModule,children:(0,D.jsx)(mRe,{module:e.callsModule,children:(0,D.jsxs)(JRe,{children:[t,(0,D.jsx)(vXt,{}),(0,D.jsx)(Z9t,{onEvent:n}),(0,D.jsx)($we,{})]})})})})})})})})})})})})})})})}),$9t={scope:`_scope_p8b6f_6`};Fy();var een=e=>{let{auth:t,apiBaseUrl:n,clientKey:r,modules:i,theme:a,timezone:o,logger:s,onEvent:c}=e,{composition:l,handshake:u}=N9t({apiBaseUrl:n,clientKey:r,authKind:t.kind,modules:i,logger:s,requestCredential:()=>j9t(t)}),d=F9t({handshake:u,auth:t,onEvent:c}),f=q9t(a),[p,m]=(0,E.useState)(null);return(0,D.jsx)(`div`,{ref:e=>{f.current=e,m(e)},className:$9t.scope,"data-timezone":J9t(o),"data-handshake":d,children:(0,D.jsx)(REe,{container:p,children:(0,D.jsx)(Y9t,{logger:l.logger,onEvent:c,children:d===`ready`?(0,D.jsx)(Q9t,{composition:l,onEvent:c,children:e.children}):null})})})};Dt();var ten=({children:e,initialRoute:t,...n})=>(0,D.jsx)(een,{...n,children:(0,D.jsx)(tt,{initialEntries:[t??`/`],children:e})});yx(),_o(),Uy();var nen=class extends mo{code=`SDK_WIDGET_CONFIG_INVALID`},ren=()=>Oke(e=>typeof e==`function`,{message:`Expected a function`}),ien=eAe(`kind`,[hx({kind:nAe(`signed`),getAssertion:ren()})]),aen=tAe([fx(),fx(),fx()]),oen=hx({brand:aen.optional(),accent:aen.optional(),radius:fx().optional(),font:k().optional(),density:vx([`comfortable`,`compact`]).optional(),mode:vx([`light`,`dark`,`system`]).optional()}),sen=hx({apiBaseUrl:k().url(),clientKey:k().min(1),auth:ien,modules:mx(vx(R2t)).optional(),theme:oen.optional(),timezone:k().optional(),locale:k().optional(),logger:Oke().optional(),onEvent:ren().optional()}),cen=e=>{let t=sen.safeParse(e);return t.success?By(t.data):O(new nen(t.error.issues.map(e=>`${e.path.join(`.`)||`(root)`}: ${e.message}`).join(`; `)))},len=`route`,m9=(e,t,n=[])=>{O2t(e,n=>{let r=cen(n.config);if(!r.ok)return(0,D.jsx)(A2t,{tagName:e,detail:r.error.message});let i=n.getAttribute(len);return(0,D.jsx)(ten,{...r.value,...i===null?{}:{initialRoute:i},children:t()})},[len,...n])},uen=()=>{m9(`uapp-chat`,()=>(0,D.jsx)(b2t,{}))},den={date:``,time:``,recurring:!1,frequency:`weekly`},fen=[{value:`now`,label:`Post now`},{value:`schedule`,label:`Schedule`}],pen=[{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],men={photo:`Add photos`,tag:`Tag people`,feeling:`How are you feeling?`,category:`POST CATEGORY`,item:`Select Item`,template:`Choose Template`},$={screen:`_screen_19h5l_1`,toolbar:`_toolbar_19h5l_8`,toolbarContainer:`_toolbarContainer_19h5l_14`,search:`_search_19h5l_23`,toolbarRailSpacer:`_toolbarRailSpacer_19h5l_31`,searchIcon:`_searchIcon_19h5l_36`,searchInput:`_searchInput_19h5l_44`,textareaError:`_textareaError_19h5l_59`,commentComposerError:`_commentComposerError_19h5l_60`,shareCommentError:`_shareCommentError_19h5l_61`,wrapper:`_wrapper_19h5l_70`,column:`_column_19h5l_80`,rail:`_rail_19h5l_91`,railHead:`_railHead_19h5l_102`,railHeadTitle:`_railHeadTitle_19h5l_109`,railSeeAll:`_railSeeAll_19h5l_123`,railList:`_railList_19h5l_132`,cardBody:`_cardBody_19h5l_142`,seeMoreBtn:`_seeMoreBtn_19h5l_151`,railFoot:`_railFoot_19h5l_166`,missed:`_missed_19h5l_177`,missedHead:`_missedHead_19h5l_184`,missedSpark:`_missedSpark_19h5l_192`,missedTitle:`_missedTitle_19h5l_196`,missedBadge:`_missedBadge_19h5l_203`,missedScroller:`_missedScroller_19h5l_212`,missedScrollerFade:`_missedScrollerFade_19h5l_217`,missedTrack:`_missedTrack_19h5l_217`,missedNav:`_missedNav_19h5l_229`,missedNavLeft:`_missedNavLeft_19h5l_264`,missedNavRight:`_missedNavRight_19h5l_268`,missedCard:`_missedCard_19h5l_272`,missedCardTop:`_missedCardTop_19h5l_282`,missedDot:`_missedDot_19h5l_289`,missedCat:`_missedCat_19h5l_297`,missedTime:`_missedTime_19h5l_304`,missedSummary:`_missedSummary_19h5l_311`,missedFoot:`_missedFoot_19h5l_323`,missedCta:`_missedCta_19h5l_329`,missedPriority:`_missedPriority_19h5l_338`,compChips:`_compChips_19h5l_354`,compChip:`_compChip_19h5l_354`,actionBar:`_actionBar_19h5l_374`,actionBarLabel:`_actionBarLabel_19h5l_386`,actionBarBtns:`_actionBarBtns_19h5l_392`,actionIcon:`_actionIcon_19h5l_397`,actionIconActive:`_actionIconActive_19h5l_414`,sheet:`_sheet_19h5l_419`,sheetHead:`_sheetHead_19h5l_427`,sheetLabel:`_sheetLabel_19h5l_435`,sheetClose:`_sheetClose_19h5l_443`,sheetChips:`_sheetChips_19h5l_465`,catChip:`_catChip_19h5l_471`,catChipOn:`_catChipOn_19h5l_483`,feelGrid:`_feelGrid_19h5l_488`,feelBtn:`_feelBtn_19h5l_494`,feelBtnOn:`_feelBtnOn_19h5l_509`,feelEmoji:`_feelEmoji_19h5l_515`,photoInput:`_photoInput_19h5l_519`,photoZone:`_photoZone_19h5l_523`,photoZoneDrag:`_photoZoneDrag_19h5l_528`,dropzone:`_dropzone_19h5l_533`,dropIcon:`_dropIcon_19h5l_554`,dropTitle:`_dropTitle_19h5l_566`,dropHint:`_dropHint_19h5l_572`,photoGrid:`_photoGrid_19h5l_577`,photoThumb:`_photoThumb_19h5l_584`,photoImg:`_photoImg_19h5l_592`,photoRemove:`_photoRemove_19h5l_599`,photoAddMore:`_photoAddMore_19h5l_619`,mobilePromoTrigger:`_mobilePromoTrigger_19h5l_642`,promoPulseGlow:`_promoPulseGlow_19h5l_1`,mobilePromoTriggerBarHidden:`_mobilePromoTriggerBarHidden_19h5l_739`,mobilePromoExpanded:`_mobilePromoExpanded_19h5l_745`,promoShimmerSweep:`_promoShimmerSweep_19h5l_758`,promoShimmer:`_promoShimmer_19h5l_758`,promoIconWrap:`_promoIconWrap_19h5l_774`,sparkleIcon:`_sparkleIcon_19h5l_787`,sparkleTwinkle:`_sparkleTwinkle_19h5l_1`,promoBtnText:`_promoBtnText_19h5l_791`,mobilePromoBadge:`_mobilePromoBadge_19h5l_810`,promoPopoverOverlay:`_promoPopoverOverlay_19h5l_827`,promoPopoverCard:`_promoPopoverCard_19h5l_839`,popoverHeader:`_popoverHeader_19h5l_853`,popoverCloseX:`_popoverCloseX_19h5l_862`,popoverBadgeIcon:`_popoverBadgeIcon_19h5l_883`,popoverTitleRow:`_popoverTitleRow_19h5l_895`,popoverTitle:`_popoverTitle_19h5l_895`,popoverSeeAllBtn:`_popoverSeeAllBtn_19h5l_911`,popoverSub:`_popoverSub_19h5l_927`,popoverContent:`_popoverContent_19h5l_934`,popoverEmpty:`_popoverEmpty_19h5l_943`,missedClose:`_missedClose_19h5l_992`,missedRead:`_missedRead_19h5l_1029`,comments:`_comments_19h5l_1055`,commentRow:`_commentRow_19h5l_1064`,commentAvatar:`_commentAvatar_19h5l_1069`,commentBubble:`_commentBubble_19h5l_1083`,commentAuthor:`_commentAuthor_19h5l_1091`,commentTime:`_commentTime_19h5l_1097`,commentText:`_commentText_19h5l_1102`,commentComposer:`_commentComposer_19h5l_60`,commentComposerDisabled:`_commentComposerDisabled_19h5l_1123`,commentInput:`_commentInput_19h5l_1134`,commentSend:`_commentSend_19h5l_1148`,sharePreviewWrap:`_sharePreviewWrap_19h5l_1178`,sharePreview:`_sharePreview_19h5l_1178`,sharePreviewAvatar:`_sharePreviewAvatar_19h5l_1194`,sharePreviewBody:`_sharePreviewBody_19h5l_1208`,sharePreviewMeta:`_sharePreviewMeta_19h5l_1213`,sharePreviewCat:`_sharePreviewCat_19h5l_1219`,sharePreviewTitle:`_sharePreviewTitle_19h5l_1224`,shareField:`_shareField_19h5l_1234`,shareComment:`_shareComment_19h5l_61`,shareSearchWrap:`_shareSearchWrap_19h5l_1258`,shareSearch:`_shareSearch_19h5l_1258`,shareSearchInput:`_shareSearchInput_19h5l_1274`,shareList:`_shareList_19h5l_1291`,shareSectionLabel:`_shareSectionLabel_19h5l_1298`,shareRow:`_shareRow_19h5l_1307`,shareRowOn:`_shareRowOn_19h5l_1325`,shareAvatar:`_shareAvatar_19h5l_1331`,shareAvatarSquare:`_shareAvatarSquare_19h5l_1345`,shareRowBody:`_shareRowBody_19h5l_1349`,shareRowName:`_shareRowName_19h5l_1356`,shareRowSub:`_shareRowSub_19h5l_1362`,shareCheck:`_shareCheck_19h5l_1367`,shareCheckOn:`_shareCheckOn_19h5l_1380`,shareEmpty:`_shareEmpty_19h5l_1385`,shareFootText:`_shareFootText_19h5l_1393`,shareFootBtns:`_shareFootBtns_19h5l_1398`,shareCancelBtn:`_shareCancelBtn_19h5l_1403`,shareSendBtn:`_shareSendBtn_19h5l_1418`,shareRoot:`_shareRoot_19h5l_1439`,shareBackdrop:`_shareBackdrop_19h5l_1449`,shareFade:`_shareFade_19h5l_1`,shareModal:`_shareModal_19h5l_1459`,shareIn:`_shareIn_19h5l_1`,shareHead:`_shareHead_19h5l_1493`,shareHeadIcon:`_shareHeadIcon_19h5l_1501`,shareHeadText:`_shareHeadText_19h5l_1513`,shareTitle:`_shareTitle_19h5l_1518`,shareDesc:`_shareDesc_19h5l_1525`,shareCloseBtn:`_shareCloseBtn_19h5l_1531`,shareFooter:`_shareFooter_19h5l_1550`,ppRoot:`_ppRoot_19h5l_1561`,ppOverlay:`_ppOverlay_19h5l_1569`,ppFade:`_ppFade_19h5l_1`,ppPanel:`_ppPanel_19h5l_1579`,ppSlide:`_ppSlide_19h5l_1`,ppHead:`_ppHead_19h5l_1611`,ppHeadIcon:`_ppHeadIcon_19h5l_1620`,ppHeadText:`_ppHeadText_19h5l_1631`,ppTitle:`_ppTitle_19h5l_1636`,ppSubtitle:`_ppSubtitle_19h5l_1653`,ppManaged:`_ppManaged_19h5l_1659`,ppClose:`_ppClose_19h5l_1664`,ppTabs:`_ppTabs_19h5l_1684`,ppTab:`_ppTab_19h5l_1684`,ppSearch:`_ppSearch_19h5l_1693`,ppTabActive:`_ppTabActive_19h5l_1714`,ppTabBg:`_ppTabBg_19h5l_1718`,ppTabLabel:`_ppTabLabel_19h5l_1726`,ppSearchIcon:`_ppSearchIcon_19h5l_1736`,ppSearchInput:`_ppSearchInput_19h5l_1744`,ppList:`_ppList_19h5l_1763`,ppListInner:`_ppListInner_19h5l_1771`,ppEmpty:`_ppEmpty_19h5l_1786`,emptyState:`_emptyState_19h5l_1800`,emptyIconWrap:`_emptyIconWrap_19h5l_1812`,emptyTitle:`_emptyTitle_19h5l_1824`,emptyText:`_emptyText_19h5l_1831`,tabs:`_tabs_19h5l_1840`,tab:`_tab_19h5l_1840`,tabActive:`_tabActive_19h5l_1862`,tabBadge:`_tabBadge_19h5l_1868`,composerCollapsed:`_composerCollapsed_19h5l_1876`,ccAvatar:`_ccAvatar_19h5l_1886`,compAvatar:`_compAvatar_19h5l_1887`,avatar:`_avatar_19h5l_1888`,ccInput:`_ccInput_19h5l_1905`,composer:`_composer_19h5l_1876`,compHead:`_compHead_19h5l_1931`,compAvatarWrapper:`_compAvatarWrapper_19h5l_1938`,statusDot:`_statusDot_19h5l_1943`,compHeaderTagline:`_compHeaderTagline_19h5l_1960`,compMutedText:`_compMutedText_19h5l_1966`,taggedTagline:`_taggedTagline_19h5l_1971`,audiencePill:`_audiencePill_19h5l_1983`,audienceSection:`_audienceSection_19h5l_2002`,audienceLabel:`_audienceLabel_19h5l_2013`,audienceRow:`_audienceRow_19h5l_2021`,audienceBtn:`_audienceBtn_19h5l_2027`,audienceBtnActive:`_audienceBtnActive_19h5l_2045`,compClose:`_compClose_19h5l_2051`,titleInput:`_titleInput_19h5l_2070`,textarea:`_textarea_19h5l_59`,compOption:`_compOption_19h5l_2103`,compOptionLabel:`_compOptionLabel_19h5l_2115`,compFooter:`_compFooter_19h5l_2128`,submitRight:`_submitRight_19h5l_2137`,modeToggle:`_modeToggle_19h5l_2143`,cancelBtn:`_cancelBtn_19h5l_2147`,postBtn:`_postBtn_19h5l_2162`,card:`_card_19h5l_142`,urgentStripe:`_urgentStripe_19h5l_2196`,pinnedRow:`_pinnedRow_19h5l_2207`,pin:`_pin_19h5l_2207`,cardHead:`_cardHead_19h5l_2222`,cardAuthor:`_cardAuthor_19h5l_2234`,authorName:`_authorName_19h5l_2239`,metaRow:`_metaRow_19h5l_2249`,cardRight:`_cardRight_19h5l_2259`,badge:`_badge_19h5l_2267`,badgeDot:`_badgeDot_19h5l_2280`,bookmarkBtn:`_bookmarkBtn_19h5l_2287`,bookmarkActive:`_bookmarkActive_19h5l_2305`,pinBtn:`_pinBtn_19h5l_2310`,pinActive:`_pinActive_19h5l_2328`,editBtn:`_editBtn_19h5l_2333`,deleteBtn:`_deleteBtn_19h5l_2351`,cardActions:`_cardActions_19h5l_2369`,cardTitle:`_cardTitle_19h5l_2375`,ackBanner:`_ackBanner_19h5l_2395`,ackBtn:`_ackBtn_19h5l_2410`,ackDone:`_ackDone_19h5l_2422`,summary:`_summary_19h5l_2436`,summaryLeft:`_summaryLeft_19h5l_2446`,summaryIcons:`_summaryIcons_19h5l_2452`,summaryDot:`_summaryDot_19h5l_2457`,summaryCount:`_summaryCount_19h5l_2473`,summaryComments:`_summaryComments_19h5l_2478`,summaryCommentsClickable:`_summaryCommentsClickable_19h5l_2482`,postBar:`_postBar_19h5l_2492`,reactWrap:`_reactWrap_19h5l_2500`,actionBtn:`_actionBtn_19h5l_2506`,actionActive:`_actionActive_19h5l_2544`,picker:`_picker_19h5l_2561`,pickerVisible:`_pickerVisible_19h5l_2593`,pickerBtn:`_pickerBtn_19h5l_2599`,pickerActive:`_pickerActive_19h5l_2621`,schedule:`_schedule_19h5l_2664`,scheduleHead:`_scheduleHead_19h5l_2675`,scheduleGrid:`_scheduleGrid_19h5l_2689`,scheduleField:`_scheduleField_19h5l_2695`,scheduleLabel:`_scheduleLabel_19h5l_2701`,scheduleInput:`_scheduleInput_19h5l_2707`,scheduleRow:`_scheduleRow_19h5l_2724`,scheduleRowLabel:`_scheduleRowLabel_19h5l_2734`,switch:`_switch_19h5l_2747`,switchOn:`_switchOn_19h5l_2759`,switchKnob:`_switchKnob_19h5l_2763`,scheduleFreq:`_scheduleFreq_19h5l_2778`,scheduleTz:`_scheduleTz_19h5l_2782`,tagSearch:`_tagSearch_19h5l_2796`,tagSearchInput:`_tagSearchInput_19h5l_2807`,tagList:`_tagList_19h5l_2816`,tagRow:`_tagRow_19h5l_2824`,tagRowActive:`_tagRowActive_19h5l_2841`,tagRowContent:`_tagRowContent_19h5l_2846`,tagAvatar:`_tagAvatar_19h5l_2852`,tagInfo:`_tagInfo_19h5l_2865`,tagName:`_tagName_19h5l_2870`,tagRole:`_tagRole_19h5l_2876`,tagCheckbox:`_tagCheckbox_19h5l_2881`,tagCheckboxActive:`_tagCheckboxActive_19h5l_2892`,postImagesGrid:`_postImagesGrid_19h5l_2899`,grid1:`_grid1_19h5l_2918`,grid2:`_grid2_19h5l_2922`,grid3:`_grid3_19h5l_2926`,grid4:`_grid4_19h5l_2931`,gridImageWrap:`_gridImageWrap_19h5l_2936`,gridImage:`_gridImage_19h5l_2936`,moreImagesOverlay:`_moreImagesOverlay_19h5l_2962`,lightboxOverlay:`_lightboxOverlay_19h5l_2985`,lightboxContainer:`_lightboxContainer_19h5l_3002`,lightboxLeft:`_lightboxLeft_19h5l_3015`,lightboxRight:`_lightboxRight_19h5l_3025`,lightboxScrollableContent:`_lightboxScrollableContent_19h5l_3035`,lightboxDivider:`_lightboxDivider_19h5l_3046`,lightboxClose:`_lightboxClose_19h5l_3070`,lightboxImage:`_lightboxImage_19h5l_3083`,lightboxArrow:`_lightboxArrow_19h5l_3119`,lightboxArrowLeft:`_lightboxArrowLeft_19h5l_3141`,lightboxArrowRight:`_lightboxArrowRight_19h5l_3149`,lightboxCounter:`_lightboxCounter_19h5l_3157`,templateSheet:`_templateSheet_19h5l_3175`,templateSheetHeader:`_templateSheetHeader_19h5l_3181`,templateBackBtn:`_templateBackBtn_19h5l_3189`,templateSheetTitle:`_templateSheetTitle_19h5l_3212`,templateSheetMeta:`_templateSheetMeta_19h5l_3221`,templateSearch:`_templateSearch_19h5l_3233`,templateSearchIcon:`_templateSearchIcon_19h5l_3239`,templateSearchInput:`_templateSearchInput_19h5l_3248`,templateList:`_templateList_19h5l_3265`,templateItem:`_templateItem_19h5l_3272`,templateItemBody:`_templateItemBody_19h5l_3296`,templateItemTitle:`_templateItemTitle_19h5l_3304`,templateItemSub:`_templateItemSub_19h5l_3313`,templateUseBtn:`_templateUseBtn_19h5l_3321`,templateEmpty:`_templateEmpty_19h5l_3342`,itemIconContainer:`_itemIconContainer_19h5l_3349`,itemBadge:`_itemBadge_19h5l_3361`,itemMetaRow:`_itemMetaRow_19h5l_3371`};fo(),Fy(),Do(),mS();var hen=({on:e,label:t,onToggle:n})=>(0,D.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":t,className:T($.switch,e&&$.switchOn),onClick:n,children:(0,D.jsx)(`span`,{className:$.switchKnob})}),gen=e=>{let t=uS(new Date,e),n=t.hour*60+t.minute+1,r=Math.floor(n/60)%24,i=n%60;return`${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`},_en=({value:e,todayStr:t,clampTime:n,onChange:r})=>(0,D.jsxs)(`label`,{className:$.scheduleField,children:[(0,D.jsx)(`span`,{className:$.scheduleLabel,children:`Date`}),(0,D.jsx)(`input`,{type:`date`,className:$.scheduleInput,value:e.date,min:t,onChange:i=>{let a=i.target.value;r({...e,date:a,time:a===t?n(e.time):e.time})}})]}),ven=({value:e,minTimeStr:t,isPastTime:n,clampTime:r,onChange:i})=>(0,D.jsxs)(`label`,{className:$.scheduleField,children:[(0,D.jsx)(`span`,{className:$.scheduleLabel,children:`Time`}),(0,D.jsx)(`input`,{type:`time`,className:T($.scheduleInput,n&&$.scheduleInputError),"aria-invalid":n,"aria-describedby":n?`schedule-time-error`:void 0,value:e.time,min:t,onChange:t=>{i({...e,time:r(t.target.value)})},onBlur:()=>{n&&i({...e,time:t})}}),n&&(0,D.jsx)(`span`,{id:`schedule-time-error`,className:$.scheduleTimeError,role:`alert`,children:`Past time — snapped to earliest available time.`})]}),yen=({value:e,onChange:t,timezone:n})=>{let r=uS(new Date,n),i=`${String(r.year)}-${String(r.month).padStart(2,`0`)}-${String(r.day).padStart(2,`0`)}`,a=e.date===i,o=gen(n),s=e=>a&&e<o?o:e,c=a&&e.time<o;return(0,D.jsxs)(`div`,{className:$.schedule,children:[(0,D.jsxs)(`div`,{className:$.scheduleHead,children:[(0,D.jsx)(yn,{size:13}),` SCHEDULE THIS POST`]}),(0,D.jsxs)(`div`,{className:$.scheduleGrid,children:[(0,D.jsx)(_en,{value:e,todayStr:i,clampTime:s,onChange:t}),(0,D.jsx)(ven,{value:e,minTimeStr:o,isPastTime:c,clampTime:s,onChange:t})]}),(0,D.jsxs)(`div`,{className:$.scheduleRow,children:[(0,D.jsxs)(`span`,{className:$.scheduleRowLabel,children:[(0,D.jsx)(ra,{size:13}),` Recurring`]}),(0,D.jsx)(hen,{on:e.recurring,label:`Repeat this post`,onToggle:()=>{t({...e,recurring:!e.recurring})}})]}),e.recurring&&(0,D.jsx)(Ey,{ariaLabel:`Repeat frequency`,className:$.scheduleFreq??``,options:pen,value:e.frequency,onChange:n=>{t({...e,frequency:n})}}),(0,D.jsxs)(`div`,{className:$.scheduleTz,children:[(0,D.jsx)(br,{size:12}),` Timezone: `,(0,D.jsx)(`strong`,{children:n})]})]})},ben=({mode:e,disabled:t,submitLabels:n,hideToggle:r,onMode:i,onCancel:a,onSubmit:o})=>(0,D.jsxs)(`div`,{className:$.compFooter,children:[(0,D.jsx)(`button`,{type:`button`,className:$.cancelBtn,onClick:a,children:`Cancel`}),(0,D.jsxs)(`div`,{className:$.submitRight,children:[!r&&(0,D.jsx)(Ey,{ariaLabel:`Publish timing`,className:$.modeToggle??``,options:fen,value:e,onChange:i}),(0,D.jsx)(`button`,{type:`button`,className:$.postBtn,disabled:t,onClick:o,children:e===`schedule`?n?.schedule??(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Xn,{size:12}),` Schedule post`]}):n?.now??(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(la,{size:12}),` Post now`]})})]})]});Fy(),mS(),gS();function xen(e,t,n){if(e===`schedule`)return fS(t.date,t.time,n)}function Sen(){let[e,t]=(0,E.useState)(``),[n,r]=(0,E.useState)(``),[i,a]=(0,E.useState)(!1),[o,s]=(0,E.useState)(`general`),[c,l]=(0,E.useState)(`all`),[u,d]=(0,E.useState)(null),[f,p]=(0,E.useState)(null),[m,h]=(0,E.useState)(null),[g,_]=(0,E.useState)(`now`),[v,y]=(0,E.useState)(den),[b,x]=(0,E.useState)([]),[S,C]=(0,E.useState)([]),[w,ee]=(0,E.useState)(null);return{body:e,setBody:t,title:n,setTitle:r,mustRead:i,setMustRead:a,categoryId:o,setCategoryId:s,audienceId:c,setAudienceId:l,feeling:u,setFeeling:d,location:f,setLocation:p,sheet:m,setSheet:h,mode:g,setMode:_,schedule:v,setSchedule:y,taggedUsers:b,setTaggedUsers:x,photos:S,setPhotos:C,selectedItem:w,setSelectedItem:ee}}function Cen(e,t){return e.title.trim().length>300?`Post title cannot exceed 300 characters.`:e.body.trim().length>8e3?`Post body cannot exceed 8000 characters.`:e.mode===`schedule`&&t&&Date.parse(t)<Date.now()?`Schedule time must be in the future.`:null}function wen(e,t,n){let r=n8t(),i=m8t(),a=e.body.trim().length===0||r.isPending||i.isPending||e.mode===`schedule`&&(!e.schedule.date||!e.schedule.time);return{submitDisabled:a,submit:async()=>{if(a)return;let o=xen(e.mode,e.schedule,n),s=Cen(e,o);if(s){my.error(s);return}try{let n=[];e.photos.length>0&&(n=await Promise.all(e.photos.map(e=>i.mutateAsync(e)))),r.mutate({body:e.body,categoryId:e.categoryId,audienceId:e.audienceId,mustAcknowledge:e.mustRead,taggedUserIds:e.taggedUsers.map(e=>e.id),...e.title.trim()?{title:e.title.trim()}:{},scheduledAt:o,isRecurring:e.mode===`schedule`?e.schedule.recurring:!1,recurrenceFrequency:e.mode===`schedule`&&e.schedule.recurring?e.schedule.frequency:void 0,locationLabel:e.location??void 0,imageIds:n.length>0?n:void 0},{onSuccess:()=>{e.mode===`schedule`&&my.success(`Post scheduled for ${e.schedule.date} at ${e.schedule.time}`),t()},onError:()=>{my.error(`Failed to publish post. Please try again.`)}})}catch{my.error(`Invalid schedule date or time, or image upload failed.`)}}}}function Ten(e,t){let n=Sen(),r=hS().display,{submitDisabled:i,submit:a}=wen(n,e,r),o=e=>{n.setTaggedUsers(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},s=(e,t)=>{n.setTitle(e),n.setBody(t),n.setSheet(null),n.setSelectedItem(null)},c=e=>{let t=typeof e==`function`?e(n.mode):e;if(n.setMode(t),t===`schedule`&&!n.schedule.date){let e=uS(new Date,r),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,i=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;n.setSchedule({...n.schedule,date:t,time:i})}};return{...n,setMode:c,category:t.find(e=>e.id===n.categoryId),timezone:r,submitDisabled:i,toggleTag:o,applyTemplate:s,submit:a}}var Een=e=>{let t=e.values,n=[`item_title`,`student_name`,`university_name`,`course_name`,`name`,`title`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),r=n===void 0?void 0:t[n],i=Object.entries(t).find(([e,t])=>t.trim()!==``),a=r??i?.[1]??e.id,o=n??i?.[0],s=[`item_description`,`university`,`status`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),c=s===void 0?void 0:t[s],l=Object.entries(t).find(([e,t])=>e!==o&&t.trim()!==``),u=c??l?.[1]??``;return{id:e.id,label:a,sublabel:u,values:t}},Den=(e,t)=>e===void 0?[]:t.filter(t=>e.templateIds.includes(t.id)||e.dataTemplateIds.includes(t.id)),Oen=(e,t)=>{let n=!!e?.webhookId,r=_Le(n?void 0:e?.categoryKey),i=vLe(e?.categoryKey??``,t,n),a=n?i:r;return{rawItems:a.data??[],isLoadingItems:a.isPending,hasWebhook:n}};fo(),Fy(),Do();var ken={all:to,sales:mn,admission:Cr,leadership:Ma},Aen=e=>ken[e]??to,jen=({audienceId:e,onChange:t})=>{let{data:n=[]}=d8t(),r=n.find(t=>t.id===e)??n[0],i=Aen(r?.id??`all`);return(0,D.jsx)(s_,{align:`start`,trigger:(0,D.jsxs)(`button`,{type:`button`,className:$.audiencePill,"aria-label":`Audience`,children:[(0,D.jsx)(i,{size:12}),` `,r?.label??`Everyone`,(0,D.jsx)(Fn,{size:12})]}),items:n.map(e=>{let n=Aen(e.id);return{label:e.label,icon:(0,D.jsx)(n,{size:14}),onSelect:()=>{t(e.id)}}})})},Men=({audienceId:e,onChange:t})=>{let{data:n=[]}=d8t();return(0,D.jsxs)(`div`,{className:$.audienceSection,children:[(0,D.jsx)(`span`,{className:$.audienceLabel,children:`Who can see this post?`}),(0,D.jsx)(`div`,{className:$.audienceRow,children:n.map(n=>{let r=Aen(n.id),i=n.id===e;return(0,D.jsxs)(`button`,{type:`button`,className:T($.audienceBtn,i&&$.audienceBtnActive),"aria-pressed":i,onClick:()=>{t(n.id)},children:[(0,D.jsx)(r,{size:14}),` `,n.label,i&&(0,D.jsx)(Nn,{size:13})]},n.id)})})]})};fo(),Do();var Nen=({user:e,isSelected:t,onToggleTag:n})=>(0,D.jsxs)(`button`,{type:`button`,className:T($.tagRow,t&&$.tagRowActive),onClick:()=>{n(e)},children:[(0,D.jsxs)(`div`,{className:$.tagRowContent,children:[(0,D.jsx)(`span`,{className:$.tagAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`div`,{className:$.tagInfo,children:[(0,D.jsx)(`span`,{className:$.tagName,children:e.name}),(0,D.jsx)(`span`,{className:$.tagRole,children:e.role})]})]}),(0,D.jsx)(`div`,{className:T($.tagCheckbox,t&&$.tagCheckboxActive),children:(0,D.jsx)(Nn,{size:12})})]}),Pen=({isSearching:e,isPending:t,search:n,activeList:r,taggedUsers:i=[],taggedUserIds:a,onToggleTag:o})=>e?t?(0,D.jsx)(`span`,{className:$.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Searching...`}):r.length===0?(0,D.jsxs)(`span`,{className:$.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:[`No teammates found matching "`,n,`".`]}):(0,D.jsx)(D.Fragment,{children:r.map(e=>(0,D.jsx)(Nen,{user:e,isSelected:a.includes(e.id),onToggleTag:o},e.id))}):i.length===0?(0,D.jsx)(`span`,{className:$.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Type a name or email to search teammates.`}):(0,D.jsx)(D.Fragment,{children:i.map(e=>(0,D.jsx)(Nen,{user:e,isSelected:!0,onToggleTag:o},e.id))}),Fen=({taggedUsers:e=[],taggedUserIds:t,onToggleTag:n})=>{let[r,i]=(0,E.useState)(``),a=p8t(r),{user:o}=eC(),s=r.trim().length>0,c=(a.data??[]).filter(e=>e.id!==o?.id);return(0,D.jsxs)(`div`,{children:[(0,D.jsxs)(`div`,{className:$.tagSearch,children:[(0,D.jsx)(oa,{size:14,className:$.actionBarLabel}),(0,D.jsx)(`input`,{type:`text`,className:$.tagSearchInput,placeholder:`Search teammates`,value:r,onChange:e=>{i(e.target.value)}}),r&&(0,D.jsx)(`button`,{type:`button`,onClick:()=>{i(``)},style:{border:`none`,background:`transparent`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`2px`,color:`var(--color-text-soft)`,borderRadius:`50%`},"aria-label":`Clear search`,children:(0,D.jsx)(lo,{size:14})})]}),(0,D.jsx)(`div`,{className:$.tagList,children:(0,D.jsx)(Pen,{isSearching:s,isPending:a.isPending,search:r,activeList:c,taggedUsers:e,taggedUserIds:t,onToggleTag:n})})]})};Do();var Ien=({categoryId:e,onCategory:t})=>{let{data:n=[]}=I7();return(0,D.jsx)(`div`,{className:$.sheetChips,children:n.map(n=>(0,D.jsx)(`button`,{type:`button`,className:T($.catChip,e===n.id&&$.catChipOn),style:yo({"--chip":n.color}),onClick:()=>{t(n)},children:n.label},n.id))})},Len=({feeling:e,onFeeling:t})=>{let{data:n=[]}=f8t();return(0,D.jsx)(`div`,{className:$.feelGrid,children:n.map(n=>(0,D.jsxs)(`button`,{type:`button`,className:T($.feelBtn,e===n.id&&$.feelBtnOn),onClick:()=>{t(n.id)},children:[(0,D.jsx)(`span`,{className:$.feelEmoji,children:n.emoji}),n.label]},n.id))})},h9=(e,t)=>{let n={};return Object.entries(t).forEach(([e,t])=>{n[e.toLowerCase()]=t}),e.replace(/\{\{\s*([a-z0-9_]+)\s*\}\}/gi,(e,t)=>n[t.toLowerCase()]??``)},Ren=e=>e.length>120?`${e.slice(0,120)}…`:e,zen=(e,t,n,r)=>{t(e),e.dataTemplateIds.length>0||e.templateIds.length>0?n(`item`):r()},Ben=(e,t)=>{t(`item`)};fo(),Fy();var Ven=e=>{let t=new Set,n=/\{\{\s*([a-z0-9_]+)\s*\}\}/gi;return e.forEach(e=>{let r=`${e.postTitle} ${e.postBody}`.matchAll(n);for(let e of r)e[1]!==void 0&&t.add(e[1].toLowerCase())}),t},Hen=({item:e,templates:t})=>{let n=Ven(t),r=Object.entries(e.values).filter(([e,t])=>(n.size===0||n.has(e.toLowerCase()))&&e!==`item_title`&&e!==`student_name`&&e!==`university_name`&&e!==`course_name`&&e!==`name`&&e!==`title`&&e!==`item_description`&&e!==`university`&&e!==`status`&&t.trim()!==``);return r.length===0?null:(0,D.jsx)(`div`,{className:$.itemMetaRow,children:r.map(([e,t])=>(0,D.jsxs)(`span`,{className:$.itemBadge,children:[e.replace(/_/g,` `),`: `,t]},e))})},Uen=({item:e,templates:t,onSelect:n})=>{let r=e.label,i=(0,D.jsxs)(D.Fragment,{children:[e.sublabel!==``&&(0,D.jsx)(`span`,{className:$.templateItemSub,children:e.sublabel}),(0,D.jsx)(Hen,{item:e,templates:t})]});if(t.length>0&&t[0]!==void 0){let n=t[0],a=new Date,o={item_count:`1`,current_year:String(a.getFullYear()),current_date:a.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values};r=h9(n.postTitle,o),i=(0,D.jsx)(`span`,{className:$.templateItemSub,children:Ren(h9(n.postBody,o))})}return(0,D.jsxs)(`button`,{type:`button`,className:$.templateItem,onClick:()=>{n(e)},children:[(0,D.jsx)(`div`,{className:$.itemIconContainer,children:(0,D.jsx)(hr,{size:16})}),(0,D.jsxs)(`div`,{className:$.templateItemBody,children:[(0,D.jsx)(`span`,{className:$.templateItemTitle,children:r}),i]}),(0,D.jsx)(`span`,{className:$.templateUseBtn,children:`SELECT`})]})},Wen=({category:e,items:t,templates:n,searchQuery:r,onSearchQuery:i,isLoading:a,onBack:o,onSelectItem:s})=>{let[c,l]=(0,E.useState)(``),u=i!==void 0,d=u?r??``:c,f=u?i:l,p=u||d.trim()===``?t:t.filter(e=>[e.label,e.sublabel,e.id].join(` `).toLowerCase().includes(d.toLowerCase()));return(0,D.jsxs)(`div`,{className:$.templateSheet,children:[(0,D.jsxs)(`div`,{className:$.templateSheetHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:$.templateBackBtn,onClick:o,children:(0,D.jsx)($t,{size:14})}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`span`,{className:$.templateSheetTitle,children:`Select Item`}),(0,D.jsxs)(`span`,{className:$.templateSheetMeta,children:[`Showing items for `,(0,D.jsx)(`strong`,{children:e.label})]})]})]}),(0,D.jsxs)(`div`,{className:$.templateSearch,children:[(0,D.jsx)(oa,{size:13,className:$.templateSearchIcon}),(0,D.jsx)(`input`,{type:`text`,className:$.templateSearchInput,placeholder:`Search items…`,value:d,onChange:e=>{f(e.target.value)}}),a&&p.length>0&&(0,D.jsx)(`div`,{style:{marginLeft:`8px`,display:`flex`,alignItems:`center`},children:(0,D.jsx)(Vo,{size:`sm`})})]}),(0,D.jsx)(`div`,{className:$.templateList,children:a&&p.length===0?(0,D.jsx)(`div`,{style:{padding:`2rem`,display:`flex`,justifyContent:`center`},children:(0,D.jsx)(Vo,{})}):p.length===0?(0,D.jsx)(`p`,{className:$.templateEmpty,children:`No items found.`}):p.map(e=>(0,D.jsx)(Uen,{item:e,templates:n,onSelect:s},e.id))})]})},Gen=({selectedItem:e,templates:t,onBack:n,onUse:r})=>(0,D.jsxs)(`div`,{className:$.templateSheet,children:[(0,D.jsxs)(`div`,{className:$.templateSheetHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:$.templateBackBtn,onClick:n,children:(0,D.jsx)($t,{size:14})}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`span`,{className:$.templateSheetTitle,children:`Choose Template`}),(0,D.jsxs)(`span`,{className:$.templateSheetMeta,children:[e.label,` · `,(0,D.jsx)(`strong`,{children:e.sublabel})]})]})]}),(0,D.jsx)(`div`,{className:$.templateList,children:t.length===0?(0,D.jsx)(`p`,{className:$.templateEmpty,children:`No templates linked to this category.`}):t.map(t=>{let n=new Date,i={item_count:`1`,current_year:String(n.getFullYear()),current_date:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values},a=h9(t.postBody,i),o=h9(t.postTitle,i);return(0,D.jsxs)(`button`,{type:`button`,className:$.templateItem,onClick:()=>{r(o,a)},children:[(0,D.jsxs)(`div`,{className:$.templateItemBody,children:[(0,D.jsx)(`span`,{className:$.templateItemTitle,children:t.name}),(0,D.jsx)(`span`,{className:$.templateItemSub,children:Ren(a)})]}),(0,D.jsxs)(`span`,{className:$.templateUseBtn,children:[(0,D.jsx)(Nn,{size:11}),`USE`]})]},t.id)})})]});fo(),Do();var Ken=({category:e})=>e===void 0?null:(0,D.jsx)(`div`,{className:$.compChips,children:(0,D.jsxs)(`span`,{className:$.compChip,children:[`🏷️ `,e.label]})}),qen=({sheet:e,location:t,onSheet:n,onToggleLocation:r,showPhoto:i=!0})=>(0,D.jsxs)(`div`,{className:$.actionBar,children:[(0,D.jsx)(`span`,{className:$.actionBarLabel,children:`Add to your post`}),(0,D.jsxs)(`div`,{className:$.actionBarBtns,children:[i&&(0,D.jsx)(`button`,{type:`button`,title:`Photo/video`,className:T($.actionIcon,e===`photo`&&$.actionIconActive),onClick:()=>{n(`photo`)},children:(0,D.jsx)(Nr,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Tag people`,className:T($.actionIcon,e===`tag`&&$.actionIconActive),onClick:()=>{n(`tag`)},children:(0,D.jsx)(Qa,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Feeling/activity`,className:T($.actionIcon,e===`feeling`&&$.actionIconActive),onClick:()=>{n(`feeling`)},children:(0,D.jsx)(Ea,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Location`,className:T($.actionIcon,t!==null&&$.actionIconActive),onClick:r,children:(0,D.jsx)(qr,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Category`,className:T($.actionIcon,(e===`category`||e===`item`||e===`template`)&&$.actionIconActive),onClick:()=>{n(`category`)},children:(0,D.jsx)(Fa,{size:15})})]})]}),Jen=({currentCategory:e,categoryItems:t,categoryTemplates:n,searchQuery:r,onSearchQuery:i,isLoadingItems:a,onSetSheet:o,onSelectItem:s})=>(0,D.jsx)(Wen,{category:e,items:t,templates:n.filter(t=>e.dataTemplateIds.includes(t.id)),searchQuery:r,onSearchQuery:i,isLoading:a,onBack:()=>{o(`category`)},onSelectItem:e=>{s(e),o(`template`)}}),Yen=({currentCategory:e,categoryTemplates:t,selectedItem:n,onSetSheet:r,onApplyTemplate:i})=>n===null?null:(0,D.jsx)(Gen,{selectedItem:n,templates:t.filter(t=>e?.templateIds.includes(t.id)),onBack:()=>{Ben(e,r)},onUse:i}),Xen=e=>{let{sheet:t,categoryId:n,feeling:r,taggedUsers:i,taggedUserIds:a,selectedItem:o,categoryItems:s,categoryTemplates:c,currentCategory:l,onCategory:u,onFeeling:d,onToggleTag:f,onSelectItem:p,onApplyTemplate:m,onClose:h,onSetSheet:g,searchQuery:_,onSearchQuery:v,isLoadingItems:y}=e;switch(t){case`category`:return(0,D.jsx)(Ien,{categoryId:n,onCategory:e=>{zen(e,u,g,h)}});case`feeling`:return(0,D.jsx)(Len,{feeling:r,onFeeling:d});case`tag`:return(0,D.jsx)(Fen,{taggedUsers:i,taggedUserIds:a,onToggleTag:f});case`item`:return l===void 0?null:(0,D.jsx)(Jen,{currentCategory:l,categoryItems:s,categoryTemplates:c,searchQuery:_,onSearchQuery:v,isLoadingItems:y,onSetSheet:g,onSelectItem:p});case`template`:return(0,D.jsx)(Yen,{currentCategory:l,categoryTemplates:c,selectedItem:o,onSetSheet:g,onApplyTemplate:m});case null:case`photo`:return null;default:return null}},Zen=e=>{let{sheet:t,onClose:n}=e;if(t===null||t===`photo`)return null;let r=t!==`item`&&t!==`template`;return(0,D.jsxs)(`div`,{className:$.sheet,children:[r&&(0,D.jsxs)(`div`,{className:$.sheetHead,children:[(0,D.jsx)(`span`,{className:$.sheetLabel,children:men[t]}),(0,D.jsx)(`button`,{type:`button`,className:$.sheetClose,"aria-label":`Close`,onClick:n,children:(0,D.jsx)(lo,{size:14})})]}),(0,D.jsx)(Xen,{...e})]})};fo(),Do(),Fy();var Qen=e=>e.map(e=>({url:URL.createObjectURL(e),name:e.name,size:e.size,file:e})),$en=({onOpen:e})=>(0,D.jsxs)(`button`,{type:`button`,className:$.dropzone,onClick:e,children:[(0,D.jsx)(`span`,{className:$.dropIcon,children:(0,D.jsx)(Oee,{size:20})}),(0,D.jsx)(`span`,{className:$.dropTitle,children:`Click to upload or drag & drop`}),(0,D.jsx)(`span`,{className:$.dropHint,children:`Supported image formats: PNG, JPG, JPEG, GIF, WEBP, HEIC (Max 10MB)`})]}),etn=({photos:e,onOpen:t,onRemove:n})=>(0,D.jsxs)(`div`,{className:$.photoGrid,children:[e.map(e=>(0,D.jsxs)(`div`,{className:$.photoThumb,children:[(0,D.jsx)(`img`,{src:e.url,alt:e.name,className:$.photoImg}),(0,D.jsx)(`button`,{type:`button`,className:$.photoRemove,"aria-label":`Remove ${e.name}`,onClick:()=>{n(e.id)},children:(0,D.jsx)(lo,{size:12})})]},e.id)),(0,D.jsx)(`button`,{type:`button`,className:$.photoAddMore,"aria-label":`Add more photos`,onClick:t,children:(0,D.jsx)(Ar,{size:18})})]}),ttn=(e,t)=>Qen(e).map((e,n)=>({id:`${e.name}-${String(e.size)}-${String(t+n)}`,url:e.url,name:e.name,file:e.file})),ntn=async e=>{if(e.files===null)return;let t=5-e.currentCount;if(t<=0){my.error(`You can only upload a maximum of 5 images.`);return}let n=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/heic`,`image/heif`],r=e=>{if(n.includes(e.type))return!0;let t=e.name.split(`.`).pop()?.toLowerCase();return t===`heic`||t===`heif`},i=10*1024*1024,a=Array.from(e.files);a.some(e=>!r(e))&&my.error(`Only PNG, JPG, JPEG, GIF, WEBP, and HEIC images are supported.`);let o=a.filter(r);o.filter(e=>e.size>i).length>0&&my.error(`Some images exceed the 10MB limit and were skipped.`);let s=o.filter(e=>e.size<=i).slice(0,t);if(s.length===0)return;o.length>t&&my.error(`Only the first ${String(t)} images were added. Maximum limit is 5.`);let c=ttn(await Promise.all(s.map(e=>E8t(e))),e.existingPicked.length);if(c.length===0)return;let l=[...e.existingPicked,...c];e.onResult(l,l.map(e=>e.file))},rtn=({photos:e,setPhotos:t})=>{let[n,r]=(0,E.useState)([]),[i,a]=(0,E.useState)(!1),o=(0,E.useRef)(null),s=(0,E.useRef)([]);s.current=n,(0,E.useEffect)(()=>()=>{for(let e of s.current)URL.revokeObjectURL(e.url)},[]);let c=i=>{ntn({files:i,currentCount:e.length,existingPicked:n,onResult:(e,n)=>{r(e),t(n)}})};return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`input`,{ref:o,type:`file`,accept:`image/*`,multiple:!0,className:$.photoInput,onChange:e=>{c(e.target.files),o.current!==null&&(o.current.value=``)}}),(0,D.jsx)(`div`,{className:T($.photoZone,i&&$.photoZoneDrag),onDragOver:e=>{e.preventDefault(),a(!0)},onDragLeave:()=>{a(!1)},onDrop:e=>{e.preventDefault(),a(!1),c(e.dataTransfer.files)},children:n.length===0?(0,D.jsx)($en,{onOpen:()=>o.current?.click()}):(0,D.jsx)(etn,{photos:n,onOpen:()=>o.current?.click(),onRemove:e=>{r(n=>{let r=n.find(t=>t.id===e);r!==void 0&&URL.revokeObjectURL(r.url);let i=n.filter(t=>t.id!==e);return t(i.map(e=>e.file)),i})}})})]})};fo(),Do();var itn=({value:e,onChange:t,className:n})=>(0,D.jsx)(`input`,{className:T($.titleInput,n),placeholder:`Add a headline (optional)`,value:e,onChange:e=>{t(e.target.value)}}),atn=({on:e,onToggle:t})=>(0,D.jsxs)(`div`,{className:$.compOption,children:[(0,D.jsxs)(`span`,{className:$.compOptionLabel,children:[(0,D.jsx)(Gn,{size:14}),` Must-read — require acknowledgement`]}),(0,D.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":`Require acknowledgement`,className:T($.switch,e&&$.switchOn),onClick:t,children:(0,D.jsx)(`span`,{className:$.switchKnob})})]});Do();var otn=(e,t)=>{let{detectLocation:n}=P7();return()=>{if(e!==null){t(null);return}t(`Detecting location...`),n.execute().then(e=>{t(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})}},stn=e=>{let{category:t,location:n,sheet:r,audienceId:i,mustRead:a,setSheet:o,setLocation:s,setCategoryId:c,setFeeling:l,setAudienceId:u,setMustRead:d,photos:f,setPhotos:p,isEditMode:m,editImagesNode:h}=e,g=otn(n,s);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Ken,{category:t}),m?h:(r===`photo`||f.length>0)&&(0,D.jsx)(rtn,{photos:f,setPhotos:p}),(0,D.jsx)(qen,{sheet:r,location:n,onSheet:e=>{o(t=>t===e?null:e)},onToggleLocation:g,showPhoto:!m||h===void 0||r===`photo`}),(0,D.jsx)(Zen,{...e,currentCategory:t,onCategory:c,onFeeling:e=>{l(t=>t===e?null:e)},onClose:()=>{o(null)},onSetSheet:o}),(0,D.jsx)(Men,{audienceId:i,onChange:u}),(0,D.jsx)(atn,{on:a,onToggle:()=>{d(e=>!e)}})]})},ctn=({length:e,limit:t,color:n,fontSize:r,padding:i})=>(0,D.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,fontSize:r,color:n===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,padding:i,fontWeight:500},children:[e,` / `,t]}),ltn=e=>{let{title:t,setTitle:n,body:r,setBody:i,bodyPlaceholder:a,isEditMode:o=!1,editImagesNode:s}=e,c=wo(t,300,250),l=wo(r,8e3,7e3);return(0,D.jsxs)(D.Fragment,{children:[o?(0,D.jsx)(`input`,{type:`text`,className:T($.titleInput,c.isOverLimit&&$.textareaError),value:t,placeholder:`Add a headline (optional)...`,onChange:e=>{n(e.target.value)},style:{width:`100%`}}):(0,D.jsx)(itn,{value:t,onChange:n,className:c.isOverLimit?$.textareaError:void 0}),c.showCounter&&(0,D.jsx)(ctn,{length:c.length,limit:300,color:c.counterColor,fontSize:`11px`,padding:`2px 16px 4px`}),(0,D.jsx)(`textarea`,{className:T($.textarea,l.isOverLimit&&$.textareaError),placeholder:a,value:r,onChange:e=>{i(e.target.value)},style:o?{width:`100%`,minHeight:`100px`}:void 0}),l.showCounter&&(0,D.jsx)(ctn,{length:l.length,limit:8e3,color:l.counterColor,fontSize:`12px`,padding:`2px 16px 6px`}),(0,D.jsx)(stn,{...e,isEditMode:o,...s===void 0?{}:{editImagesNode:s}})]})};fo(),Do();var utn=({authorInfo:e,audienceId:t,taggedUsers:n,feeling:r,location:i,onAudience:a,onClose:o})=>{let{data:s=[]}=f8t(),c=s.find(e=>e.id===r);return(0,D.jsxs)(`div`,{className:$.compHead,style:o?void 0:{borderBottom:`none`,padding:`0 0 10px`},children:[(0,D.jsxs)(`div`,{className:$.compAvatarWrapper,children:[(0,D.jsx)(`span`,{className:$.compAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),o&&(0,D.jsx)(`span`,{className:$.statusDot})]}),(0,D.jsxs)(`div`,{children:[(0,D.jsxs)(`div`,{className:$.compHeaderTagline,children:[(0,D.jsx)(`strong`,{children:e.name}),c&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:$.compMutedText,children:` is feeling `}),(0,D.jsxs)(`strong`,{children:[c.emoji,` `,c.label]})]}),i&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:$.compMutedText,children:r||n.length>0?n.length>0?` at `:` — at `:` is at `}),(0,D.jsx)(`strong`,{children:i===`Detecting location...`?`Detecting...`:i})]})]}),n.length>0&&(0,D.jsx)(`div`,{className:$.taggedTagline,children:_8t(n).map((e,t)=>{let n=!o&&t===0&&e.text.startsWith(`with `)&&!r?`is ${e.text}`:e.text;return e.bold?(0,D.jsx)(`strong`,{children:n},t):n})}),(0,D.jsx)(jen,{audienceId:t,onChange:a})]}),o&&(0,D.jsx)(`button`,{type:`button`,className:$.compClose,"aria-label":`Close`,onClick:o,children:(0,D.jsx)(lo,{size:16})})]})};Do();var dtn=e=>e.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `),ftn=e=>dtn((e.split(`@`)[0]??e).replace(/[._-]+/g,` `)),ptn=(e,t)=>{let n=e.length>0?e:t;return n.includes(`@`)?ftn(n):n},mtn=(e,t,n)=>{let r=e.length>0?e:t;return r.length===0||r.includes(`@`)?ptn(t,n):r},htn=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?xo(n):`?`,gtn=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?So(n):`#6b7280`,_tn=(e,t)=>{if(!t)return{name:``,initials:`?`,color:`#6b7280`};let n=mtn(e?e.name:``,t.fullName,t.email.value);return{name:n,initials:htn(e?e.initials:void 0,!0,n),color:gtn(e?e.color:void 0,!0,t.id)}};Fy(),Do();function vtn({profile:e,onClose:t}){let{data:n=[]}=I7(),r=Ten(t,n),i=r.category,[a,o]=(0,E.useState)(``),{rawItems:s,isLoadingItems:c,hasWebhook:l}=Oen(i,a),{data:u=[]}=gLe(),d=Den(i,u),f=s.map(Een);return(0,D.jsxs)(`div`,{className:$.composer,children:[(0,D.jsx)(utn,{authorInfo:e,audienceId:r.audienceId,taggedUsers:r.taggedUsers,feeling:r.feeling,location:r.location,onAudience:r.setAudienceId,onClose:t}),(0,D.jsx)(ltn,{title:r.title,setTitle:r.setTitle,body:r.body,setBody:r.setBody,bodyPlaceholder:`What's on your mind, ${e.name.split(` `)[0]??``}?`,category:r.category,feeling:r.feeling,location:r.location,sheet:r.sheet,categoryId:r.categoryId,audienceId:r.audienceId,mustRead:r.mustRead,taggedUsers:r.taggedUsers,taggedUserIds:r.taggedUsers.map(e=>e.id),selectedItem:r.selectedItem,categoryItems:f,categoryTemplates:d,setSheet:r.setSheet,setLocation:r.setLocation,setCategoryId:e=>{o(``),r.setCategoryId(e.id)},setFeeling:r.setFeeling,setAudienceId:r.setAudienceId,setMustRead:r.setMustRead,onToggleTag:r.toggleTag,onSelectItem:r.setSelectedItem,onApplyTemplate:r.applyTemplate,photos:r.photos,setPhotos:r.setPhotos,isEditMode:!1,searchQuery:a,onSearchQuery:l?o:void 0,isLoadingItems:c}),r.mode===`schedule`&&(0,D.jsx)(yen,{value:r.schedule,onChange:r.setSchedule,timezone:r.timezone}),(0,D.jsx)(ben,{mode:r.mode,disabled:r.submitDisabled,onMode:r.setMode,onCancel:t,onSubmit:()=>{r.submit()}})]})}var ytn=()=>{let[e,t]=(0,E.useState)(!1),{user:n}=eC(),r=NS(),i=_tn(r.data,n),a=r.isPending;if(!e){let e=a?``:i.name.split(` `)[0]??``,n=e.length>0?`What's on your mind, ${e}?`:`What's on your mind?`;return(0,D.jsxs)(`div`,{className:$.composerCollapsed,children:[a?(0,D.jsx)(Cy,{variant:`circle`,width:`36px`,height:`36px`}):(0,D.jsx)(`span`,{className:$.ccAvatar,style:yo({"--avatar-color":i.color}),children:i.initials}),(0,D.jsx)(`button`,{type:`button`,className:$.ccInput,onClick:()=>{t(!0)},children:n})]})}return(0,D.jsx)(vtn,{profile:i,onClose:()=>{t(!1)}})};fo();var btn=()=>(0,D.jsxs)(`div`,{className:$.emptyState,children:[(0,D.jsx)(`div`,{className:$.emptyIconWrap,children:(0,D.jsx)(Ir,{size:32})}),(0,D.jsx)(`h3`,{className:$.emptyTitle,children:`It's quiet in here`}),(0,D.jsx)(`p`,{className:$.emptyText,children:`There are no posts in this feed yet. Be the first to share an update!`})]});Uy(),mS(),Fy();var xtn=e=>({id:e.id,name:e.fullName,email:e.email,userName:e.fullName,role:e.roleName,initials:e.initials,color:e.color}),Stn=e=>{let[t,n]=(0,E.useState)(e),[r,i]=(0,E.useState)([]);return{existingImages:t,setExistingImages:n,newPhotos:r,setNewPhotos:i,handleAddPhotos:async e=>{let n=5-(t.length+r.length);if(n<=0){my.error(`You can only have a maximum of 5 images.`);return}let a=Array.from(e).filter(e=>e.type.startsWith(`image/`)||e.name.toLowerCase().endsWith(`.heic`)||e.name.toLowerCase().endsWith(`.heif`)),o=10*1024*1024;a.filter(e=>e.size>o).length>0&&my.error(`Some images exceed the 10MB limit and were skipped.`);let s=a.filter(e=>e.size<=o),c=s.slice(0,n);s.length>n&&my.error(`Only the first ${String(n)} images were added. Maximum limit is 5.`);let l=await Promise.all(c.map(e=>E8t(e)));i(e=>[...e,...l])},handleRemoveExisting:e=>{n(t=>t.filter(t=>t!==e))},handleRemoveNew:e=>{i(t=>t.filter((t,n)=>n!==e))}}},Ctn=(e,t)=>{if(e.scheduledAt){let n=uS(new Date(e.scheduledAt),t);return{date:`${String(n.year)}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`,time:`${String(n.hour).padStart(2,`0`)}:${String(n.minute).padStart(2,`0`)}`,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`}}return den},wtn=(e,t,n,r)=>{let[i,a]=(0,E.useState)(e.department??`general`),[o,s]=(0,E.useState)(e.audienceId),[c,l]=(0,E.useState)(e.feelingId),[u,d]=(0,E.useState)(e.locationLabel),[f,p]=(0,E.useState)(e.mustAcknowledge),[m,h]=(0,E.useState)(null),[g,_]=(0,E.useState)(null),v=!e.scheduledAt||new Date(e.scheduledAt).getTime()<=Date.now(),[y,b]=(0,E.useState)(v?`now`:`schedule`),[x,S]=(0,E.useState)(()=>Ctn(e,r)),C=e=>{let t=typeof e==`function`?e(y):e;if(b(t),t===`schedule`&&!x.date){let e=uS(new Date,r),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,n=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;S({...x,date:t,time:n})}},[w,ee]=(0,E.useState)(t.filter(t=>e.taggedUserIds.includes(t.id)).map(xtn));return{categoryId:i,setCategoryId:a,audienceId:o,setAudienceId:s,feeling:c,setFeeling:l,location:u,setLocation:d,mustRead:f,setMustRead:p,taggedUsers:w,setTaggedUsers:ee,sheet:m,setSheet:h,selectedItem:g,setSelectedItem:_,mode:y,setMode:C,schedule:x,setSchedule:S,toggleTag:e=>{ee(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},handleToggleLocation:()=>{if(u!==null){d(null);return}d(`Detecting location...`),n.execute().then(e=>{d(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})},isAlreadyPublished:v}};mS(),Fy();var Ttn=e=>{let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,n=e.indexOf(`#`);if(n!==-1){let r=e.substring(n+1);if(t.test(r))return r}let r=(e.split(`?`)[0]??e).split(`/`).pop()??``;return t.test(r)?r:null},Etn=e=>e.map(e=>Ttn(e)).filter(e=>e!==null),Dtn=async(e,t)=>{if(e.length===0)return[];let n=await Promise.allSettled(e.map(e=>t(e))),r=[],i=0;for(let e of n)e.status===`fulfilled`?r.push(e.value):i+=1;return i>0&&my.error(`${String(i)} image${i>1?`s`:``} failed to upload.`),r},Otn=async({post:e,editTitle:t,editBody:n,photosState:r,composerState:i,updatePostMutation:a,uploadImageMutation:o,setIsEditing:s,timezone:c})=>{if(t.trim().length>300){my.error(`Post title cannot exceed 300 characters.`);return}if(n.trim().length>8e3){my.error(`Post body cannot exceed 8000 characters.`);return}let l;if(i.mode===`schedule`&&(l=fS(i.schedule.date,i.schedule.time,c),l&&Date.parse(l)<Date.now())){my.error(`Schedule time must be in the future.`);return}try{let c=await Dtn(r.newPhotos,e=>o.mutateAsync(e)),u=Etn(r.existingImages);a.mutate({postId:e.id,input:{title:t.trim()||null,body:n,imageIds:[...u,...c],categoryId:i.categoryId,audienceId:i.audienceId,mustAcknowledge:i.mustRead,taggedUserIds:i.taggedUsers.map(e=>e.id),feelingId:i.feeling,locationLabel:i.location,scheduledAt:l,isRecurring:i.mode===`schedule`?i.schedule.recurring:!1,recurrenceFrequency:i.mode===`schedule`&&i.schedule.recurring?i.schedule.frequency:void 0}},{onSuccess:()=>{s(!1),r.setNewPhotos([])},onError:()=>{my.error(`Failed to update the post. Please try again.`)}})}catch{my.error(`Failed to process post images. Please try again.`)}};gS(),mS();var ktn=({post:e,setTitle:t,setBody:n,photos:r,composer:i,allUsers:a,timezone:o})=>{if(t(e.title??``),n(e.body),r.setExistingImages(e.imageUrls),r.setNewPhotos([]),i.setCategoryId(e.department??`general`),i.setAudienceId(e.audienceId),i.setFeeling(e.feelingId),i.setLocation(e.locationLabel),i.setMustRead(e.mustAcknowledge),i.setSheet(null),i.setSelectedItem(null),i.setMode(i.isAlreadyPublished?`now`:`schedule`),e.scheduledAt){let t=uS(new Date(e.scheduledAt),o),n=`${String(t.year)}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`,r=`${String(t.hour).padStart(2,`0`)}:${String(t.minute).padStart(2,`0`)}`;i.setSchedule({date:n,time:r,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`})}else i.setSchedule(den);i.setTaggedUsers(a.filter(t=>e.taggedUserIds.includes(t.id)).map(xtn))},Atn=()=>{let[e,t]=(0,E.useState)(!1),[n,r]=(0,E.useState)(!1),[i,a]=(0,E.useState)(null),[o,s]=(0,E.useState)(!1);return{commentsOpen:e,setCommentsOpen:t,shareOpen:n,setShareOpen:r,lightboxIndex:i,setLightboxIndex:a,isEditing:o,setIsEditing:s}},jtn={page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`},Mtn=e=>({...e.ui,editTitle:e.editTitle,setEditTitle:e.setEditTitle,editBody:e.editBody,setEditBody:e.setEditBody,existingImages:e.photosState.existingImages,newPhotos:e.photosState.newPhotos,isPending:e.isPending,timezone:e.timezone,handleAddPhotos:t=>{e.photosState.handleAddPhotos(t)},handleRemoveExisting:e.photosState.handleRemoveExisting,handleRemoveNew:e.photosState.handleRemoveNew,handleSave:()=>{Otn({post:e.post,editTitle:e.editTitle,editBody:e.editBody,photosState:e.photosState,composerState:e.composerState,updatePostMutation:e.updatePostMutation,uploadImageMutation:e.uploadImageMutation,setIsEditing:e.ui.setIsEditing,timezone:e.timezone})},handleCancel:()=>{ktn({post:e.post,setTitle:e.setEditTitle,setBody:e.setEditBody,photos:e.photosState,composer:e.composerState,allUsers:e.allUsers,timezone:e.timezone}),e.ui.setIsEditing(!1)},categoryId:e.composerState.categoryId,setCategoryId:e.composerState.setCategoryId,audienceId:e.composerState.audienceId,setAudienceId:e.composerState.setAudienceId,feeling:e.composerState.feeling,setFeeling:e.composerState.setFeeling,location:e.composerState.location,setLocation:e.composerState.setLocation,mustRead:e.composerState.mustRead,setMustRead:e.composerState.setMustRead,taggedUsers:e.composerState.taggedUsers,sheet:e.composerState.sheet,setSheet:e.composerState.setSheet,selectedItem:e.composerState.selectedItem,setSelectedItem:e.composerState.setSelectedItem,mode:e.composerState.mode,setMode:e.composerState.setMode,schedule:e.composerState.schedule,setSchedule:e.composerState.setSchedule,isAlreadyPublished:e.composerState.isAlreadyPublished,toggleTag:e.composerState.toggleTag,handleToggleLocation:e.composerState.handleToggleLocation}),Ntn=e=>{let t=Atn(),[n,r]=(0,E.useState)(e.title??``),[i,a]=(0,E.useState)(e.body),o=hS().display,s=w7t(jtn).data?.users??[],{detectLocation:c}=P7(),l=Stn(e.imageUrls),u=wtn(e,s,c,o),d=r8t(),f=m8t();return(0,E.useEffect)(()=>{t.isEditing||ktn({post:e,setTitle:r,setBody:a,photos:l,composer:u,allUsers:s,timezone:o})},[t.isEditing,e,s,o]),Mtn({ui:t,editTitle:n,setEditTitle:r,editBody:i,setEditBody:a,timezone:o,photosState:l,composerState:u,isPending:d.isPending||f.isPending,post:e,allUsers:s,updatePostMutation:d,uploadImageMutation:f})};fo();var Ptn=({url:e,onRemove:t})=>(0,D.jsxs)(`div`,{className:$.photoThumb,children:[(0,D.jsx)(`img`,{src:e,alt:`thumbnail`,className:$.photoImg}),(0,D.jsx)(`button`,{type:`button`,onClick:t,className:$.photoRemove,children:(0,D.jsx)(lo,{size:12})})]}),Ftn=({file:e,onRemove:t})=>{let[n,r]=(0,E.useState)(``);return(0,E.useEffect)(()=>{let t=URL.createObjectURL(e);return r(t),()=>{URL.revokeObjectURL(t)}},[e]),n?(0,D.jsx)(Ptn,{url:n,onRemove:t}):null},Itn=({existingImages:e,newPhotos:t,onAddPhotos:n,onRemoveExisting:r,onRemoveNew:i})=>{let a=(0,E.useRef)(null);return e.length===0&&t.length===0?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`input`,{ref:a,type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}}),(0,D.jsx)($en,{onOpen:()=>a.current?.click()})]}):(0,D.jsxs)(`div`,{className:$.photoGrid,children:[e.map(e=>(0,D.jsx)(Ptn,{url:e,onRemove:()=>{r(e)}},e)),t.map((e,t)=>(0,D.jsx)(Ftn,{file:e,onRemove:()=>{i(t)}},t)),(0,D.jsxs)(`label`,{className:$.photoAddMore,children:[(0,D.jsx)(Ar,{size:18}),(0,D.jsx)(`input`,{type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}})]})]})};fo(),gS(),Fy(),Do();var Ltn=({comment:e,displayZone:t})=>(0,D.jsxs)(`div`,{className:$.commentRow,children:[(0,D.jsx)(`span`,{className:$.commentAvatar,style:yo({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,D.jsxs)(`div`,{className:$.commentBubble,children:[(0,D.jsxs)(`div`,{className:$.commentAuthor,children:[e.authorName,` `,(0,D.jsxs)(`span`,{className:$.commentTime,children:[`· `,w8t(e.createdAt,t)]})]}),(0,D.jsx)(`div`,{className:$.commentText,children:e.text})]})]}),Rtn=({canComment:e,text:t,pending:n,isOverLimit:r,onChangeText:i,onSubmit:a})=>(0,D.jsxs)(`div`,{className:T($.commentComposer,!e&&$.commentComposerDisabled,r&&$.commentComposerError),children:[(0,D.jsx)(`input`,{className:$.commentInput,placeholder:e?`Write a comment…`:`Permission Denied`,value:t,disabled:!e,onChange:e=>{i(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&!r&&a()}}),(0,D.jsx)(`button`,{type:`button`,className:$.commentSend,disabled:!e||t.trim()===``||n||r,onClick:a,children:(0,D.jsx)(la,{size:13})})]}),ztn=({profile:e,isViewerLoading:t,pending:n,canComment:r,onAdd:i})=>{let[a,o]=(0,E.useState)(``),s=wo(a,4e3),c=(0,D.jsx)(Rtn,{canComment:r,text:a,pending:n,isOverLimit:s.isOverLimit,onChangeText:o,onSubmit:()=>{!r||a.trim()===``||(i(a.trim()),o(``))}});return(0,D.jsxs)(`div`,{className:$.commentRow,children:[t?(0,D.jsx)(Cy,{variant:`circle`,width:`26px`,height:`26px`}):(0,D.jsx)(`span`,{className:$.commentAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:`4px`},children:[r?c:(0,D.jsx)(iy,{label:`Permission Denied`,children:c}),s.showCounter&&(0,D.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:s.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[s.length,` / 4000`]})]})]})},Btn=({comments:e,pending:t,canComment:n=!0,onAdd:r})=>{let{user:i}=eC(),a=NS(),o=hS().display,s=_tn(a.data,i);return(0,D.jsxs)(`div`,{className:$.comments,children:[e.map(e=>(0,D.jsx)(Ltn,{comment:e,displayZone:o},e.id)),(0,D.jsx)(ztn,{profile:s,isViewerLoading:a.isPending,pending:t,canComment:n,onAdd:r})]})},Vtn=({url:e,alt:t,className:n})=>(0,D.jsx)(`img`,{src:e,alt:t,className:n,loading:`lazy`});Do();var Htn=({urls:e,onImageClick:t})=>{let n=e.length;if(n===0)return null;let r=$.grid1;n===2&&(r=$.grid2),n===3&&(r=$.grid3),n>=4&&(r=$.grid4);let i=n>4?e.slice(0,4):e;return(0,D.jsx)(`div`,{className:T($.postImagesGrid,r),children:i.map((e,r)=>{let i=r===3&&n>4;return(0,D.jsx)(`div`,{className:T($.gridImageWrap,i&&$.moreImagesOverlay),"data-more":i?`+${String(n-4)}`:void 0,onClick:()=>{t(r)},role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t(r)},children:(0,D.jsx)(Vtn,{url:e,alt:`Attached`,className:$.gridImage})},r)})})};Fy();var Utn=(e,t,n)=>e===``||t.toLowerCase().includes(e)||n.toLowerCase().includes(e),Wtn=e=>({id:`conv_${e.id}`,name:e.title,subtitle:e.subtitle||(e.kind===`group`?`${String(e.memberCount)} members`:``),initials:e.initials,color:e.color,square:e.kind===`group`,targetType:`conversation`,originalId:e.id}),Gtn=e=>({id:`user_${e.id}`,name:e.name,subtitle:e.role,initials:e.initials,color:e.color,square:!1,targetType:`user`,originalId:e.id}),Ktn=({post:e,comment:t,selected:n,sendMessage:r,startDirect:i,setIsSending:a,close:o,count:s,allTargets:c})=>{a(!0);let l=`${window.location.origin}/feed/posts/${e.postId}`,u={comment:t.trim(),card:{title:e.title,body:e.bodySnippet,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,link:l}},d=`__UAPP_SHARED_CARD__::${JSON.stringify(u)}`,f=Array.from(n).map(async e=>{let t=c.get(e);if(!t)return;let n=t.originalId;if(t.targetType===`user`){let e=await i.execute(n);if(e.ok)n=e.value.id;else throw Error(`Could not create DM`)}return r.execute(n,d,crypto.randomUUID())});Promise.allSettled(f).then(()=>{my.success(`Shared to ${String(s)} ${s===1?`chat`:`chats`}`),o()}).catch(()=>{my.error(`Failed to share post`),a(!1)})},qtn=(e,t,n)=>{let[r,i]=(0,E.useState)(``),[a,o]=(0,E.useState)(``),[s,c]=(0,E.useState)(()=>new Set),[l,u]=(0,E.useState)(!1),{sendMessage:d,startDirect:f}=TS(),{data:p}=NS(),{data:m=[]}=ePe(`all`,``,{enabled:n}),h=m.filter(e=>e.kind===`dm`&&e.peerUserId!==null).map(e=>e.peerUserId??``),g=PS(p?[p.id,...h]:h,`directory`),_=a.trim().toLowerCase(),v=e=>{o(e),g.setSearch(e)},y=[...m.filter(e=>e.kind===`dm`).map(Wtn).filter(e=>Utn(_,e.name,e.subtitle)),...g.results.map(Gtn)],b=m.filter(e=>e.kind===`group`).map(Wtn).filter(e=>Utn(_,e.name,e.subtitle)),x=e=>{c(t=>{let n=new Set(t);return n.delete(e)?n:n.add(e)})},S=()=>{i(``),o(``),g.setSearch(``),c(new Set),u(!1),t()},C=new Map([...b,...y].map(e=>[e.id,e])),w=s.size;return{comment:r,setComment:i,query:a,setQuery:v,selected:s,isSending:l,dms:y,groups:b,count:w,toggle:x,close:S,send:()=>{w===0||l||r.length>1e3||Ktn({post:e,comment:r,selected:s,sendMessage:d,startDirect:f,setIsSending:u,close:S,count:w,allTargets:C})}}};fo(),Do();var Jtn=({onClose:e})=>(0,D.jsxs)(`div`,{className:$.shareHead,children:[(0,D.jsx)(`div`,{className:$.shareHeadIcon,children:(0,D.jsx)(Yi,{size:15})}),(0,D.jsxs)(`div`,{className:$.shareHeadText,children:[(0,D.jsx)(`h3`,{className:$.shareTitle,children:`Share Post`}),(0,D.jsx)(`p`,{className:$.shareDesc,children:`Share this post to chat conversations`})]}),(0,D.jsx)(`button`,{type:`button`,className:$.shareCloseBtn,"aria-label":`Close`,onClick:e,children:(0,D.jsx)(lo,{size:18})})]}),Ytn=({count:e,disabled:t,onCancel:n,onSend:r})=>(0,D.jsxs)(`div`,{className:$.shareFooter,children:[(0,D.jsx)(`span`,{className:$.shareFootText,children:e===0?`Select at least one chat`:`${String(e)} ${e===1?`chat`:`chats`} selected`}),(0,D.jsxs)(`div`,{className:$.shareFootBtns,children:[(0,D.jsx)(`button`,{type:`button`,className:$.shareCancelBtn,onClick:n,children:`Cancel`}),(0,D.jsxs)(`button`,{type:`button`,className:$.shareSendBtn,disabled:e===0||t,onClick:r,children:[(0,D.jsx)(la,{size:12}),` Send`]})]})]}),Xtn=({post:e})=>(0,D.jsx)(`div`,{className:$.sharePreviewWrap,children:(0,D.jsxs)(`div`,{className:$.sharePreview,children:[(0,D.jsx)(`span`,{className:$.sharePreviewAvatar,style:yo({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,D.jsxs)(`div`,{className:$.sharePreviewBody,children:[(0,D.jsxs)(`div`,{className:$.sharePreviewMeta,children:[e.authorName,` ·`,` `,(0,D.jsx)(`span`,{className:$.sharePreviewCat,style:yo({"--cat":e.categoryColor}),children:e.categoryLabel})]}),e.authorRole?(0,D.jsx)(`div`,{style:{fontSize:`11px`,color:`var(--color-text-soft)`,marginTop:`1px`,marginBottom:`2px`},children:e.authorRole}):null,(0,D.jsx)(`div`,{className:$.sharePreviewTitle,children:e.title})]})]})}),Ztn=({target:e,selected:t,onToggle:n})=>(0,D.jsxs)(`button`,{type:`button`,className:T($.shareRow,t&&$.shareRowOn),"aria-pressed":t,onClick:()=>{n(e.id)},children:[(0,D.jsx)(`span`,{className:T($.shareAvatar,e.square&&$.shareAvatarSquare),style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:$.shareRowBody,children:[(0,D.jsx)(`span`,{className:$.shareRowName,children:e.name}),(0,D.jsx)(`span`,{className:$.shareRowSub,children:e.subtitle})]}),(0,D.jsx)(`span`,{className:T($.shareCheck,t&&$.shareCheckOn),children:t&&(0,D.jsx)(Nn,{size:11,strokeWidth:3})})]}),Qtn=({label:e,targets:t,selected:n,onToggle:r})=>t.length===0?null:(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:$.shareSectionLabel,children:e}),t.map(e=>(0,D.jsx)(Ztn,{target:e,selected:n.has(e.id),onToggle:r},e.id))]});fo(),Fy(),Do();var $tn=({comment:e,query:t,onComment:n,onQuery:r})=>{let i=wo(e,1e3);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:$.shareField,style:{display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,D.jsx)(`input`,{className:T($.shareComment,i.isOverLimit&&$.shareCommentError),placeholder:`Add a comment (optional)`,value:e,onChange:e=>{n(e.target.value)}}),i.showCounter&&(0,D.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:i.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[i.length,` / 1000`]})]}),(0,D.jsx)(`div`,{className:$.shareSearchWrap,children:(0,D.jsxs)(`div`,{className:$.shareSearch,children:[(0,D.jsx)(oa,{size:13}),(0,D.jsx)(`input`,{className:$.shareSearchInput,placeholder:`Search people or groups…`,value:t,onChange:e=>{r(e.target.value)}})]})})]})},enn=({groups:e,dms:t,selected:n,onToggle:r})=>(0,D.jsxs)(`div`,{className:$.shareList,children:[(0,D.jsx)(Qtn,{label:`Groups`,targets:e,selected:n,onToggle:r}),(0,D.jsx)(Qtn,{label:`People`,targets:t,selected:n,onToggle:r}),e.length===0&&t.length===0&&(0,D.jsx)(`div`,{className:$.shareEmpty,children:`No matches.`})]}),tnn=({open:e,post:t,onClose:n})=>{let r=qtn(t,n,e),i=fu();return e?(0,zy.createPortal)((0,D.jsxs)(`div`,{className:$.shareRoot,children:[(0,D.jsx)(`button`,{type:`button`,className:$.shareBackdrop,"aria-label":`Close`,onClick:r.close}),(0,D.jsxs)(`div`,{className:$.shareModal,role:`dialog`,"aria-label":`Share post`,children:[(0,D.jsx)(Jtn,{onClose:r.close}),(0,D.jsx)(Xtn,{post:t}),(0,D.jsx)($tn,{comment:r.comment,query:r.query,onComment:r.setComment,onQuery:r.setQuery}),(0,D.jsx)(enn,{groups:r.groups,dms:r.dms,selected:r.selected,onToggle:r.toggle}),(0,D.jsx)(Ytn,{count:r.count,disabled:r.comment.length>1e3,onCancel:r.close,onSend:r.send})]})]}),i??document.body):null};fo(),Do(),Fy(),gS();var nnn=({post:e,taggedUsers:t})=>(0,D.jsxs)(`div`,{className:$.compHeaderTagline,style:{display:`block`,fontSize:`14px`,lineHeight:`1.4`},children:[(0,D.jsx)(`span`,{className:$.authorName,style:{fontWeight:600,color:`var(--color-text-main)`},children:e.authorName}),e.feelingEmoji&&e.feelingLabel&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:` is feeling `}),(0,D.jsxs)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:[e.feelingEmoji,` `,e.feelingLabel]})]}),t.length>0&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{children:` `}),_8t(t).map((t,n)=>{let r=n===0&&t.text.startsWith(`with `)&&!e.feelingId?`is ${t.text}`:t.text;return(0,D.jsx)(`span`,{style:{fontWeight:t.bold?600:`normal`,color:t.bold?`var(--color-text-main)`:`var(--color-text-soft)`},children:r},n)})]}),e.locationLabel&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:e.feelingId||t.length>0?t.length>0?` at `:` — at `:` is at `}),(0,D.jsx)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:e.locationLabel})]})]}),rnn=({post:e,taggedUsers:t})=>{let n=hS().display;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:$.avatar,style:yo({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,D.jsxs)(`div`,{className:$.cardAuthor,children:[(0,D.jsx)(nnn,{post:e,taggedUsers:t}),(0,D.jsxs)(`div`,{className:$.metaRow,style:{marginTop:`4px`,display:`flex`,alignItems:`center`,gap:`6px`,fontSize:`12px`,color:`var(--color-text-soft)`},children:[e.authorRole&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{children:e.authorRole}),(0,D.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`})]}),(0,D.jsx)(`span`,{children:w8t(e.createdAt,n,e.scheduledAt)}),(0,D.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,D.jsx)(`span`,{children:e.audienceLabel}),(0,D.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,D.jsxs)(`span`,{children:[e.seenCount,` `,e.seenCount===1?`view`:`views`]})]})]})]})},inn=e=>{let t=w7t({page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`}).data;return t?t.users.filter(t=>e.includes(t.id)):[]},ann=({post:e,show:t,onBookmark:n})=>t?(0,D.jsx)(`button`,{type:`button`,className:T($.bookmarkBtn,e.bookmarked&&$.bookmarkActive),"aria-label":e.bookmarked?`Remove bookmark`:`Save post`,onClick:n,children:(0,D.jsx)(fn,{size:15,fill:e.bookmarked?`currentColor`:`none`})}):null,onn=({post:e,show:t,onPin:n})=>!t||!n?null:(0,D.jsx)(`button`,{type:`button`,className:T($.pinBtn,e.pinned&&$.pinActive),"aria-label":e.pinned?`Unpin post`:`Pin post`,onClick:n,children:(0,D.jsx)(Fi,{size:15,fill:e.pinned?`currentColor`:`none`})}),snn=({show:e,onEdit:t})=>!e||!t?null:(0,D.jsx)(`button`,{type:`button`,className:$.editBtn,"aria-label":`Edit post`,onClick:t,children:(0,D.jsx)(Ci,{size:15})}),cnn=({show:e,onDelete:t})=>{let[n,r]=(0,E.useState)(!1);return!e||!t?null:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:$.deleteBtn,"aria-label":`Delete post`,onClick:()=>{r(!0)},children:(0,D.jsx)(Ka,{size:15})}),(0,D.jsx)(Ch,{open:n,title:`Delete Post`,message:`Are you sure you want to delete this post? This action cannot be undone.`,confirmLabel:`Delete`,elevated:!0,onConfirm:()=>{r(!1),t()},onCancel:()=>{r(!1)}})]})},lnn=({showBookmarkButton:e=!0,...t})=>(0,D.jsxs)(`div`,{className:$.cardActions,children:[(0,D.jsx)(cnn,{show:t.showDeleteButton,onDelete:t.onDelete}),(0,D.jsx)(ann,{post:t.post,show:e,onBookmark:t.onBookmark}),(0,D.jsx)(onn,{post:t.post,show:t.showPinButton,onPin:t.onPin}),(0,D.jsx)(snn,{show:t.showEditButton,onEdit:t.onEdit})]}),unn=e=>{let t=inn(e.post.taggedUserIds),{categoryLabel:n,categoryColor:r}=g8t(e.post);return(0,D.jsxs)(`header`,{className:$.cardHead,children:[(0,D.jsx)(rnn,{post:e.post,taggedUsers:t}),(0,D.jsxs)(`div`,{className:$.cardRight,children:[(0,D.jsxs)(`span`,{className:$.badge,style:yo({"--badge-color":r}),children:[(0,D.jsx)(`span`,{className:$.badgeDot}),n]}),(0,D.jsx)(lnn,{...e})]})]})};fo(),Fy(),Do();var dnn=e=>{let[t,n]=(0,E.useState)(0);return(0,D.jsx)(Cnn,{post:e.post,urls:e.post.imageUrls,index:t,onChange:n,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton})},fnn=[{id:`like`,label:`Like`,Icon:Ua,color:`#2563eb`},{id:`insightful`,label:`Insightful`,Icon:Vr,color:`#f59e0b`},{id:`celebrate`,label:`Celebrate`,Icon:_i,color:`#ec4899`}],pnn=({post:e,onCommentClick:t})=>{if(e.totalReactions===0&&e.commentCount===0)return null;let n=fnn.filter(t=>e.reactions[t.id]>0).slice(0,3);return(0,D.jsxs)(`div`,{className:$.summary,children:[(0,D.jsxs)(`div`,{className:$.summaryLeft,children:[n.length>0&&(0,D.jsx)(`span`,{className:$.summaryIcons,children:n.map(({id:e,Icon:t,color:n})=>(0,D.jsx)(`span`,{className:$.summaryDot,style:yo({"--react-color":n}),children:(0,D.jsx)(t,{size:10})},e))}),e.totalReactions>0&&(0,D.jsx)(`span`,{className:$.summaryCount,children:e.totalReactions})]}),e.commentCount>0&&(0,D.jsxs)(`span`,{className:T($.summaryComments,t!==void 0&&$.summaryCommentsClickable),onClick:t,role:t===void 0?void 0:`button`,tabIndex:t===void 0?void 0:0,onKeyDown:t===void 0?void 0:e=>{(e.key===`Enter`||e.key===` `)&&t()},children:[e.commentCount,` `,e.commentCount===1?`comment`:`comments`]})]})},mnn=({post:e,canReact:t,onReact:n})=>{let[r,i]=(0,E.useState)(!1),a=fnn.find(t=>t.id===e.myReaction),o=a?.Icon??Ua,s=(0,D.jsxs)(`button`,{type:`button`,disabled:!t,className:T($.actionBtn,a!==void 0&&$.actionActive),style:a===void 0?void 0:yo({"--react-color":a.color}),onClick:()=>{t&&(n(e.myReaction??`like`),i(!1))},children:[(0,D.jsx)(o,{size:16}),` `,a?.label??`Like`]});return(0,D.jsxs)(`div`,{className:$.reactWrap,onMouseEnter:()=>{t&&i(!0)},onMouseLeave:()=>{i(!1)},children:[t?s:(0,D.jsx)(iy,{label:`Permission Denied`,children:s}),t&&(0,D.jsx)(`div`,{className:T($.picker,r&&$.pickerVisible),children:fnn.map(({id:t,label:r,Icon:a,color:o})=>(0,D.jsx)(`button`,{type:`button`,className:T($.pickerBtn,e.myReaction===t&&$.pickerActive),style:yo({"--react-color":o}),title:r,onClick:()=>{n(t),i(!1)},children:(0,D.jsx)(a,{size:18})},t))})]})},hnn=({post:e,commentsOpen:t,onReact:n,onComment:r,onShare:i,canReact:a=!0,canComment:o=!0})=>(0,D.jsxs)(`div`,{className:$.postBar,children:[(0,D.jsx)(mnn,{post:e,canReact:a,onReact:n}),o?(0,D.jsxs)(`button`,{type:`button`,disabled:!1,className:T($.actionBtn,t&&$.actionActive),onClick:r,children:[(0,D.jsx)(ai,{size:16}),` Comment`]}):(0,D.jsx)(iy,{label:`Permission Denied`,children:(0,D.jsxs)(`button`,{type:`button`,disabled:!0,className:T($.actionBtn,t&&$.actionActive),children:[(0,D.jsx)(ai,{size:16}),` Comment`]})}),(0,D.jsxs)(`button`,{type:`button`,className:$.actionBtn,onClick:i,children:[(0,D.jsx)(da,{size:16}),` Share`]})]}),gnn=({post:e,onAcknowledge:t,showAcknowledge:n=!0})=>!n||!e.mustAcknowledge?null:e.acknowledged?(0,D.jsx)(`div`,{className:$.ackDone,children:`✓ You acknowledged this`}):(0,D.jsxs)(`div`,{className:$.ackBanner,children:[(0,D.jsx)(`span`,{children:`Must read — please confirm you have seen this.`}),(0,D.jsx)(`button`,{type:`button`,className:$.ackBtn,onClick:t,children:`Acknowledge`})]}),_nn=({title:e,onOpenDetail:t})=>(0,D.jsx)(`h2`,{className:$.cardTitle,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:e}),vnn=e=>e.isEditing?null:(0,D.jsx)(unn,{post:e.post,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,showEditButton:e.isAuthor,onEdit:e.onEdit,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),g9={lightboxOverlay:`_lightboxOverlay_z9s6t_5`,lightboxContainer:`_lightboxContainer_z9s6t_20`,lightboxContainerTextOnly:`_lightboxContainerTextOnly_z9s6t_33`,lightboxLeft:`_lightboxLeft_z9s6t_48`,lightboxRight:`_lightboxRight_z9s6t_58`,lightboxRightFull:`_lightboxRightFull_z9s6t_69`,lightboxHeaderWrapper:`_lightboxHeaderWrapper_z9s6t_82`,lightboxScrollableContent:`_lightboxScrollableContent_z9s6t_91`,lightboxDivider:`_lightboxDivider_z9s6t_108`,lightboxClose:`_lightboxClose_z9s6t_138`,lightboxImage:`_lightboxImage_z9s6t_151`,lightboxArrow:`_lightboxArrow_z9s6t_186`,lightboxArrowLeft:`_lightboxArrowLeft_z9s6t_208`,lightboxArrowRight:`_lightboxArrowRight_z9s6t_216`,lightboxCounter:`_lightboxCounter_z9s6t_224`};Fy(),fo(),Do();var ynn=({urls:e,index:t,onPrev:n,onNext:r})=>(0,D.jsxs)(`div`,{className:g9.lightboxLeft,children:[e.length>1&&(0,D.jsx)(`button`,{type:`button`,className:T(g9.lightboxArrow,g9.lightboxArrowLeft),onClick:n,"aria-label":`Previous image`,children:(0,D.jsx)(Ln,{size:24})}),(0,D.jsx)(Vtn,{url:e[t]??``,alt:`Fullscreen view`,className:g9.lightboxImage}),e.length>1&&(0,D.jsx)(`button`,{type:`button`,className:T(g9.lightboxArrow,g9.lightboxArrowRight),onClick:r,"aria-label":`Next image`,children:(0,D.jsx)(zn,{size:24})}),(0,D.jsxs)(`div`,{className:g9.lightboxCounter,children:[t+1,` / `,e.length]})]}),bnn=({post:e,commentPending:t,onReact:n,onBookmark:r,showBookmarkButton:i,onAcknowledge:a,showAcknowledgeSection:o,onAddComment:s,onShare:c,canReact:l,canComment:u,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g,fullWidth:_=!1})=>(0,D.jsxs)(`div`,{className:_?g9.lightboxRightFull:g9.lightboxRight,children:[(0,D.jsx)(`div`,{className:g9.lightboxHeaderWrapper,children:(0,D.jsx)(unn,{post:e,onBookmark:r,showBookmarkButton:i,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g})}),(0,D.jsxs)(`div`,{className:g9.lightboxScrollableContent,children:[e.title!==null&&(0,D.jsx)(`h2`,{className:$.cardTitle,children:e.title}),(0,D.jsx)(`p`,{className:$.cardBody,children:e.body}),(0,D.jsx)(gnn,{post:e,onAcknowledge:a,showAcknowledge:o}),(0,D.jsx)(`div`,{className:g9.lightboxDivider}),(0,D.jsx)(pnn,{post:e}),(0,D.jsx)(hnn,{post:e,commentsOpen:!0,onReact:n,canReact:l,canComment:u,onComment:()=>{},onShare:c}),(0,D.jsx)(`div`,{className:g9.lightboxDivider}),(0,D.jsx)(Btn,{comments:e.comments,pending:t,canComment:u,onAdd:s})]})]}),xnn=({hasImages:e,index:t,urlsLength:n,onClose:r,onChange:i})=>{(0,E.useEffect)(()=>{let a=a=>{a.key===`Escape`&&r(),e&&i!==void 0&&(a.key===`ArrowLeft`&&i((t-1+n)%n),a.key===`ArrowRight`&&i((t+1)%n))};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`keydown`,a)}},[e,t,r,i,n])},Snn=({urls:e=[],index:t=0,onClose:n,post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,hasImages:b,handlePrev:x,handleNext:S})=>(0,D.jsxs)(`div`,{className:b?g9.lightboxContainer:g9.lightboxContainerTextOnly,onClick:e=>{e.stopPropagation()},role:`presentation`,children:[(0,D.jsx)(`button`,{type:`button`,className:g9.lightboxClose,onClick:n,"aria-label":`Close lightbox`,children:(0,D.jsx)(lo,{size:20})}),b&&(0,D.jsx)(ynn,{urls:e,index:t,onPrev:x,onNext:S}),(0,D.jsx)(bnn,{post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,fullWidth:!b})]}),Cnn=e=>{let{urls:t=[],index:n=0,onClose:r,onChange:i,post:a}=e,{data:o}=h8t(a.id),s=o??a,c=t.length>0,l=fu();xnn({hasImages:c,index:n,urlsLength:t.length,onClose:r,onChange:i});let u=()=>{i!==void 0&&i((n-1+t.length)%t.length)},d=()=>{i!==void 0&&i((n+1)%t.length)};return(0,zy.createPortal)((0,D.jsx)(`div`,{className:g9.lightboxOverlay,onClick:r,role:`presentation`,children:(0,D.jsx)(Snn,{...e,post:s,hasImages:c,handlePrev:u,handleNext:d})}),l??document.body)},wnn=({open:e,post:t,onClose:n})=>{let{categoryLabel:r,categoryColor:i}=g8t(t);return(0,D.jsx)(tnn,{open:e,post:{postId:t.id,authorName:t.authorName,authorRole:t.authorRole,authorInitials:t.authorInitials,authorColor:t.authorColor,categoryLabel:r,categoryColor:i,title:t.title??t.body,bodySnippet:t.body.length>150?`${t.body.slice(0,150)}...`:t.body},onClose:n})},Tnn=e=>e.index===null?null:(0,D.jsx)(Cnn,{urls:e.post.imageUrls,index:e.index,post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onChange:e.onChange,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),Enn=({body:e,onOpenDetail:t})=>{let[n,r]=(0,E.useState)(!1),i=e.length>200;return(0,D.jsxs)(`p`,{className:$.cardBody,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:[i&&!n?`${e.slice(0,200)}...`:e,i&&(0,D.jsx)(`button`,{type:`button`,className:$.seeMoreBtn,onClick:e=>{e.stopPropagation(),n||t(),r(e=>!e)},children:n?` See less`:` See more`})]})},Dnn=(e,t,n,r)=>{let i=c8t();return{handleShare:()=>{t(!0),i.mutate(e.id)},handleImageClick:t=>{n(t),t!==null&&i.mutate(e.id)},handleOpenDetail:()=>{r(),i.mutate(e.id)}}},Onn=({post:e,onAcknowledge:t,showAcknowledgeSection:n,toggleComments:r,handleImageClick:i,handleOpenDetail:a})=>(0,D.jsxs)(D.Fragment,{children:[e.title!==null&&(0,D.jsx)(_nn,{title:e.title,onOpenDetail:a}),(0,D.jsx)(Enn,{body:e.body,onOpenDetail:a}),(0,D.jsx)(Htn,{urls:e.imageUrls,onImageClick:i}),(0,D.jsx)(gnn,{post:e,onAcknowledge:t,showAcknowledge:n}),(0,D.jsx)(pnn,{post:e,onCommentClick:r})]}),knn=e=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Onn,{post:e.post,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,toggleComments:e.toggleComments,handleImageClick:e.handleImageClick,handleOpenDetail:e.handleOpenDetail}),(0,D.jsx)(hnn,{post:e.post,commentsOpen:e.commentsOpen,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onComment:e.toggleComments,onShare:e.handleShare}),e.commentsOpen&&(0,D.jsx)(Btn,{comments:e.post.comments,pending:e.commentPending,canComment:e.canComment,onAdd:e.onAddComment}),(0,D.jsx)(wnn,{open:e.shareOpen,post:e.post,onClose:()=>{e.setShareOpen(!1)}}),(0,D.jsx)(Tnn,{index:e.lightboxIndex,post:e.post,commentPending:e.commentPending,onReact:e.onReact,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.handleShare,onClose:()=>{e.setLightboxIndex(null)},onChange:e.setLightboxIndex,canReact:e.canReact,canComment:e.canComment,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton})]}),Ann=e=>{let{post:t,setShareOpen:n,setLightboxIndex:r,onOpenDetail:i}=e,a=Dnn(t,n,r,i);return(0,D.jsx)(knn,{...e,...a})},jnn=()=>{},Mnn=e=>{if(!(e.existingImages.length===0&&e.newPhotos.length===0&&e.sheet!==`photo`))return(0,D.jsx)(Itn,{existingImages:e.existingImages,newPhotos:e.newPhotos,onAddPhotos:t=>{e.handleAddPhotos(t)},onRemoveExisting:e.handleRemoveExisting,onRemoveNew:e.handleRemoveNew})},Nnn=e=>{let{data:t=[]}=I7(),n=t.find(t=>t.id===e),[r,i]=(0,E.useState)(``),{rawItems:a,isLoadingItems:o,hasWebhook:s}=Oen(n,r),{data:c=[]}=gLe();return{category:n,searchQuery:r,setSearchQuery:i,isLoadingItems:o,hasWebhook:s,categoryTemplates:Den(n,c),categoryItems:a.map(Een)}},Pnn=e=>{let t=Nnn(e.categoryId),n=n=>{t.setSearchQuery(``),e.setCategoryId(n.id)},r=(t,n)=>{e.setEditTitle(t),e.setEditBody(n),e.setSheet(null),e.setSelectedItem(null)};return{...t,handleSetCategory:n,handleApplyTemplate:r}},Fnn=({post:e,state:t})=>{let n=Pnn(t),{hasPermission:r}=wS(),i=r(CS.feedUpdate);return(0,D.jsxs)(`div`,{style:{padding:`20px`,display:`flex`,flexDirection:`column`,gap:`12px`},children:[(0,D.jsx)(utn,{authorInfo:{name:e.authorName,initials:e.authorInitials,color:e.authorColor},audienceId:t.audienceId,taggedUsers:t.taggedUsers,feeling:t.feeling,location:t.location,onAudience:t.setAudienceId}),(0,D.jsx)(ltn,{title:t.editTitle,setTitle:t.setEditTitle,body:t.editBody,setBody:t.setEditBody,bodyPlaceholder:`What's on your mind?`,category:n.category,feeling:t.feeling,location:t.location,sheet:t.sheet,categoryId:t.categoryId,audienceId:t.audienceId,mustRead:t.mustRead,taggedUsers:t.taggedUsers,taggedUserIds:t.taggedUsers.map(e=>e.id),setSheet:t.setSheet,setLocation:t.setLocation,setCategoryId:n.handleSetCategory,selectedItem:t.selectedItem,categoryItems:n.categoryItems,categoryTemplates:n.categoryTemplates,onSelectItem:t.setSelectedItem,onApplyTemplate:n.handleApplyTemplate,setFeeling:t.setFeeling,setAudienceId:t.setAudienceId,setMustRead:t.setMustRead,onToggleTag:t.toggleTag,photos:[],setPhotos:jnn,isEditMode:!0,searchQuery:n.searchQuery,onSearchQuery:n.hasWebhook?n.setSearchQuery:void 0,isLoadingItems:n.isLoadingItems,editImagesNode:Mnn(t)}),t.mode===`schedule`&&(0,D.jsx)(yen,{value:t.schedule,timezone:t.timezone,onChange:t.setSchedule}),(0,D.jsx)(ben,{mode:t.mode,hideToggle:t.isAlreadyPublished,disabled:!i||t.isPending||!t.editBody.trim(),submitLabels:{schedule:t.isPending?`Saving...`:`Save schedule`,now:t.isPending?`Saving...`:`Save`},onMode:t.setMode,onCancel:t.handleCancel,onSubmit:t.handleSave})]})},Inn=({post:e,commentPending:t,onReact:n,onBookmark:r,onAcknowledge:i,onAddComment:a,state:o,onOpenDetail:s,showAcknowledgeSection:c,canReact:l,canComment:u,showBookmarkButton:d,onPin:f,showPinButton:p,onEdit:m,showEditButton:h})=>o.isEditing?(0,D.jsx)(Fnn,{post:e,state:o}):(0,D.jsx)(Ann,{post:e,commentsOpen:o.commentsOpen,commentPending:t,shareOpen:o.shareOpen,lightboxIndex:o.lightboxIndex,onReact:n,canReact:l,canComment:u,showAcknowledgeSection:c,onBookmark:r,showBookmarkButton:d,onAcknowledge:i,onAddComment:a,toggleComments:()=>{o.setCommentsOpen(e=>!e)},setShareOpen:o.setShareOpen,setLightboxIndex:o.setLightboxIndex,onOpenDetail:s,onPin:f,showPinButton:p,onEdit:m,showEditButton:h});hh(),fo();var Lnn=(e,t)=>({handleEdit:()=>{e.setIsEditing(!0)},handleOpenDetail:()=>{t(!0)},handleEditFromDetail:()=>{e.setIsEditing(!0),t(!1)},handleShare:()=>{e.setShareOpen(!0)},handleCloseDetail:()=>{t(!1)}}),Rnn=e=>e.detailOpen?(0,D.jsx)(dnn,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.isAuthor,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose}):null,znn=e=>{let[t,n]=(0,E.useState)(!1),r=Lnn(e.state,n);return(0,D.jsxs)(Gm.article,{layout:`position`,id:`feed-post-${e.post.id}`,ref:e.elementRef,style:{y:e.cardY},className:$.card,children:[e.post.needsAcknowledgement&&(0,D.jsx)(`span`,{className:$.urgentStripe}),e.post.pinned&&(0,D.jsxs)(`div`,{className:$.pinnedRow,children:[(0,D.jsx)(Fi,{size:10,className:$.pin}),` Pinned`]}),(0,D.jsx)(vnn,{post:e.post,isAuthor:e.isAuthor,isEditing:e.state.isEditing,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:r.handleEdit,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),(0,D.jsx)(Inn,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,state:e.state,onOpenDetail:r.handleOpenDetail,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:r.handleEdit,showEditButton:e.isAuthor}),(0,D.jsx)(Rnn,{post:e.post,detailOpen:t,commentPending:e.commentPending,isAuthor:e.isAuthor,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,showBookmarkButton:e.showBookmarkButton,showPinButton:e.showPinButton,onReact:e.onReact,onBookmark:e.onBookmark,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onPin:e.onPin,onEdit:r.handleEditFromDetail,onShare:r.handleShare,onClose:r.handleCloseDetail})]})};hh();var Bnn=e=>{let t=(0,E.useRef)(null);(0,E.useEffect)(()=>{t.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:n}=$he({target:e,container:t,offset:[`start end`,`end start`]});return ph(n,[0,1],[-12,12])},Vnn=({post:e,commentPending:t,onReact:n,onBookmark:r,onAcknowledge:i,onAddComment:a})=>{let o=Ntn(e),{user:s}=eC(),{hasPermission:c}=wS(),l=e.authorUserId===s?.id,u=u8t(),d=i8t(),f=c(CS.feedPin),p=c(CS.feedReact),m=c(CS.feedComment),h=c(CS.feedBookmark),g=c(CS.feedAcknowledge),_=c(CS.feedDelete),v=()=>{u.mutateAsync({postId:e.id,pinned:!e.pinned})},y=()=>{d.mutateAsync(e.id)},b=(0,E.useRef)(null);return(0,D.jsx)(znn,{post:e,isAuthor:l,commentPending:t,onBookmark:r,showBookmarkButton:h,onPin:v,showPinButton:f,onDelete:y,showDeleteButton:_,showAcknowledgeSection:g,canReact:p,canComment:m,onReact:n,onAcknowledge:i,onAddComment:a,state:o,cardY:Bnn(b),elementRef:b})};Fy();var Hnn=({posts:e})=>{let t=a8t(),n=o8t(),r=s8t(),i=l8t();return(0,D.jsx)(D.Fragment,{children:e.map(e=>(0,D.jsx)(Vnn,{post:e,commentPending:i.isPending,onReact:n=>{t.mutate({postId:e.id,type:n})},onBookmark:()=>{n.mutate(e.id),my.success(e.bookmarked?`Bookmark removed`:`Post saved to bookmarks`)},onAcknowledge:()=>{r.mutate(e.id),my.success(`Post acknowledged`)},onAddComment:t=>{i.mutate({postId:e.id,text:t})}},e.id))})},Unn=2,Wnn=e=>[...e].filter(e=>e.active).sort((e,t)=>e.priority-t.priority),Gnn=(e,t)=>e.find(e=>e.id===t.templateId),Knn=(e,t,n)=>Wnn(e).map(e=>{let r=t.filter(t=>t.categoryId===e.id);return{id:e.id,name:e.name,color:e.color,count:r.length,template:Gnn(n,e),items:r.slice(0,Unn)}}).filter(e=>e.count>0),qnn=e=>[{id:`all`,label:`All`},...Wnn(e).map(e=>({id:e.id,label:e.name}))],Jnn=e=>Object.values(e.values).join(` `).toLowerCase();hh(),fo(),Do();var Ynn=(e,t,n)=>{let r=[];for(let i of Wnn(e.categories)){if(t!==`all`&&i.id!==t)continue;let a=Gnn(e.templates,i);if(a===void 0)continue;let o=e.promotions.filter(e=>e.categoryId===i.id),s=n===``?o:o.filter(e=>Jnn(e).includes(n));s.length>0&&r.push({category:i,template:a,items:s,count:o.length})}return r},Xnn=({onClose:e})=>(0,D.jsxs)(`div`,{className:$.ppHead,children:[(0,D.jsx)(`span`,{className:$.ppHeadIcon,children:(0,D.jsx)($r,{size:18})}),(0,D.jsxs)(`div`,{className:$.ppHeadText,children:[(0,D.jsx)(`h2`,{className:$.ppTitle,children:`Promotions & Campaigns`}),(0,D.jsx)(`p`,{className:$.ppSubtitle,children:`Latest campaigns, university updates, intake alerts and events.`}),(0,D.jsx)(`span`,{className:$.ppManaged,children:`Read-only · Managed by System Admin`})]}),(0,D.jsx)(`button`,{type:`button`,className:$.ppClose,"aria-label":`Close`,onClick:e,children:(0,D.jsx)(lo,{size:18})})]}),Znn=({tabs:e,active:t,onSelect:n})=>(0,D.jsx)(`div`,{className:$.ppTabs,children:e.map(e=>{let r=e.id===t;return(0,D.jsxs)(`button`,{type:`button`,className:T($.ppTab,r&&$.ppTabActive),onClick:()=>{n(e.id)},children:[r&&(0,D.jsx)(Gm.span,{layoutId:`ppTabBg`,className:$.ppTabBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,D.jsx)(`span`,{className:$.ppTabLabel,children:e.label})]},e.id)})}),Qnn=({categories:e,promotions:t,templates:n,initialTab:r,onClose:i})=>{let[a,o]=(0,E.useState)(r),[s,c]=(0,E.useState)(``),l=qnn(e),u=Ynn({categories:e,promotions:t,templates:n},a,s.trim().toLowerCase());return(0,D.jsxs)(`div`,{className:$.ppRoot,children:[(0,D.jsx)(`button`,{type:`button`,className:$.ppOverlay,"aria-label":`Close promotions`,onClick:i}),(0,D.jsxs)(`div`,{className:$.ppPanel,role:`dialog`,"aria-label":`Promotions & Campaigns`,children:[(0,D.jsx)(Xnn,{onClose:i}),(0,D.jsx)(Znn,{tabs:l,active:a,onSelect:o}),(0,D.jsxs)(`div`,{className:$.ppSearch,children:[(0,D.jsx)(oa,{size:14,className:$.ppSearchIcon}),(0,D.jsx)(`input`,{type:`search`,className:$.ppSearchInput,placeholder:`Search promotions…`,value:s,onChange:e=>{c(e.target.value)}})]}),(0,D.jsx)(`div`,{className:$.ppList,children:(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Gm.div,{className:$.ppListInner,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.18,ease:`easeOut`},children:u.length===0?(0,D.jsx)(`p`,{className:$.ppEmpty,children:s.trim()===``?`No active promotions right now.`:`No promotions match.`}):u.map(e=>(0,D.jsx)(xLe,{template:e.template,color:e.category.color,name:e.category.name,count:e.count,items:e.items},e.category.id))},a)})})]})]})};hh(),fo(),Do();var $nn=({sections:e,onClose:t,onSeeAll:n,onSelectTab:r})=>(0,D.jsx)(Gm.div,{className:$.promoPopoverOverlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:e=>{e.target===e.currentTarget&&t()},children:(0,D.jsxs)(Gm.div,{className:$.promoPopoverCard,initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:20},transition:{type:`spring`,damping:25,stiffness:300},children:[(0,D.jsxs)(`div`,{className:$.popoverHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:$.popoverCloseX,onClick:t,"aria-label":`Close promotions modal`,children:(0,D.jsx)(lo,{size:18})}),(0,D.jsx)(`div`,{className:$.popoverBadgeIcon,children:(0,D.jsx)($r,{size:24})}),(0,D.jsxs)(`div`,{className:$.popoverTitleRow,children:[(0,D.jsx)(`h3`,{className:$.popoverTitle,children:`Promotions & Campaigns`}),(0,D.jsx)(`button`,{type:`button`,className:$.popoverSeeAllBtn,onClick:()=>{t(),n()},children:`See all`})]}),(0,D.jsx)(`p`,{className:$.popoverSub,children:`Stay updated with active promotions and university campaigns`})]}),(0,D.jsx)(`div`,{className:$.popoverContent,children:e.length===0?(0,D.jsx)(`p`,{className:$.popoverEmpty,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,D.jsx)(xLe,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{t(),r(e.id)}},e.id))})]})}),ern=({sections:e,onSeeAll:t,onSelectTab:n})=>(0,D.jsxs)(`aside`,{className:$.rail,children:[(0,D.jsxs)(`div`,{className:$.railHead,children:[(0,D.jsxs)(`span`,{className:$.railHeadTitle,children:[(0,D.jsx)($r,{size:11}),` PROMOTIONS & CAMPAIGNS`]}),(0,D.jsx)(`button`,{type:`button`,className:$.railSeeAll,onClick:t,children:`See all`})]}),(0,D.jsx)(`div`,{className:$.railList,children:e.length===0?(0,D.jsx)(`p`,{className:$.railFoot,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,D.jsx)(xLe,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{n(e.id)}},e.id))}),(0,D.jsx)(`div`,{className:$.railFoot,children:`Managed by System Admin`})]}),trn=({onOpen:e})=>{let[t,n]=(0,E.useState)(!1),[r,i]=(0,E.useState)(!1),a=(0,E.useRef)(0);return(0,E.useEffect)(()=>{let e=document.getElementById(`app-scroll-container`);if(!e)return;let t=()=>{let t=e.scrollTop;t<=4||t<a.current?i(!1):i(!0),a.current=t};return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[]),(0,E.useEffect)(()=>{if(!t)return;let e=setTimeout(()=>{n(!1)},4e3);return()=>{clearTimeout(e)}},[t]),(0,D.jsxs)(`button`,{type:`button`,className:T($.mobilePromoTrigger,t&&$.mobilePromoExpanded,r&&$.mobilePromoTriggerBarHidden),onClick:()=>{t?(n(!1),e()):n(!0)},"aria-label":`Promotions & Campaigns`,children:[(0,D.jsx)(`span`,{className:$.promoShimmerSweep}),(0,D.jsx)(`span`,{className:$.promoIconWrap,children:(0,D.jsx)($r,{size:15,className:$.sparkleIcon})}),(0,D.jsx)(`span`,{className:$.promoBtnText,children:`Promotions & Campaigns`})]})},nrn=()=>{let e=dLe(),t=pLe(),n=fLe(),[r,i]=(0,E.useState)(null),[a,o]=(0,E.useState)(!1),s=e.data??[],c=t.data??[],l=n.data??[],u=Knn(s,c,l);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ern,{sections:u,onSeeAll:()=>{i(`all`)},onSelectTab:e=>{i(e)}}),(0,D.jsx)(trn,{onOpen:()=>{o(!0)}}),(0,D.jsx)(vm,{children:a&&(0,D.jsx)($nn,{sections:u,onClose:()=>{o(!1)},onSeeAll:()=>{i(`all`)},onSelectTab:e=>{i(e)}})}),r!==null&&(0,D.jsx)(Qnn,{categories:s,promotions:c,templates:l,initialTab:r,onClose:()=>{i(null)}})]})};fo(),Do();var rrn=[{id:`for_you`,label:`For You`},{id:`team`,label:`Team Updates`},{id:`company`,label:`Company Wide`},{id:`saved`,label:`Saved Posts`,icon:fn}],irn=({scope:e,onChange:t})=>{let n=t8t(`saved`).data?.pages[0]?.totalCount;return(0,D.jsx)(`div`,{className:$.tabs,children:rrn.map(r=>{let i=r.icon;return(0,D.jsxs)(`button`,{type:`button`,className:T($.tab,e===r.id&&$.tabActive),onClick:()=>{t(r.id)},children:[i!==void 0&&(0,D.jsx)(i,{size:13}),r.label,r.id===`saved`&&n!==void 0&&n>0&&(0,D.jsx)(`span`,{className:$.tabBadge,children:n})]},r.id)})})},_9={skeletonCard:`_skeletonCard_7d381_1`,skeletonHeader:`_skeletonHeader_7d381_11`,skeletonAvatar:`_skeletonAvatar_7d381_17`,pulse:`_pulse_7d381_1`,skeletonMeta:`_skeletonMeta_7d381_25`,skeletonLine:`_skeletonLine_7d381_32`,short:`_short_7d381_39`,medium:`_medium_7d381_43`,full:`_full_7d381_47`,skeletonBody:`_skeletonBody_7d381_51`};Do();var arn=({count:e=3})=>(0,D.jsx)(D.Fragment,{children:Array.from({length:e}).map((e,t)=>(0,D.jsxs)(`div`,{className:_9.skeletonCard,children:[(0,D.jsxs)(`div`,{className:_9.skeletonHeader,children:[(0,D.jsx)(`div`,{className:_9.skeletonAvatar}),(0,D.jsxs)(`div`,{className:_9.skeletonMeta,children:[(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.medium)}),(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.short)})]})]}),(0,D.jsxs)(`div`,{className:_9.skeletonBody,children:[(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.full)}),(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.full)}),(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.medium)})]})]},t))});Fy();var orn=(e,t,n)=>{let r=a8t(),i=o8t(),a=s8t(),o=l8t(),s=u8t(),c=i8t();return{handleReact:t=>{r.mutateAsync({postId:e.id,type:t})},handleBookmark:()=>{i.mutateAsync(e.id)},handleAcknowledge:()=>{a.mutateAsync(e.id)},handleAddComment:t=>{o.mutateAsync({postId:e.id,text:t})},handlePin:()=>{s.mutateAsync({postId:e.id,pinned:!e.pinned})},handleEdit:()=>{t.setIsEditing(!0)},handleDelete:()=>{c.mutateAsync(e.id),n()},handleShare:()=>{t.setShareOpen(!0)},handleCloseShare:()=>{t.setShareOpen(!1)},commentPending:o.isPending}},srn=({post:e,state:t})=>(0,D.jsx)(`div`,{className:g9.lightboxOverlay,children:(0,D.jsxs)(`div`,{className:g9.lightboxContainerTextOnly,style:{padding:0},children:[(0,D.jsx)(`button`,{type:`button`,className:g9.lightboxClose,onClick:()=>{t.setIsEditing(!1)},"aria-label":`Close edit`,children:(0,D.jsxs)(`svg`,{width:`24`,height:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,D.jsx)(`path`,{d:`M18 6 6 18`}),(0,D.jsx)(`path`,{d:`m6 6 12 12`})]})}),(0,D.jsx)(`div`,{style:{flex:1,overflowY:`auto`},children:(0,D.jsx)(Fnn,{post:e,state:t})})]})}),crn=({post:e,onClose:t})=>{let[n,r]=(0,E.useState)(0),{data:i}=h8t(e.id),a=i??e,o=Ntn(a),s=orn(a,o,t),c=fu(),{user:l}=eC(),{hasPermission:u}=wS(),d=a.authorUserId===l?.id,f=u(CS.feedPin),p=u(CS.feedReact),m=u(CS.feedComment),h=u(CS.feedBookmark),g=u(CS.feedAcknowledge),_=u(CS.feedDelete);return o.isEditing?(0,zy.createPortal)((0,D.jsx)(srn,{post:a,state:o}),c??document.body):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Cnn,{post:a,urls:a.imageUrls,index:n,onChange:r,commentPending:s.commentPending,onReact:s.handleReact,canReact:p,canComment:m,onBookmark:s.handleBookmark,showBookmarkButton:h,onAcknowledge:s.handleAcknowledge,showAcknowledgeSection:g,onAddComment:s.handleAddComment,onPin:s.handlePin,showPinButton:f,onEdit:s.handleEdit,showEditButton:d,onDelete:s.handleDelete,showDeleteButton:_,onShare:s.handleShare,onClose:t}),(0,D.jsx)(wnn,{post:a,open:o.shareOpen,onClose:s.handleCloseShare})]})};fo(),Do(),gS();var lrn=e=>{T8t(`feed-post-${e}`,`app-scroll-container`,`start`)},urn=({post:e,onView:t,onDismiss:n,displayZone:r})=>{let{categoryLabel:i,categoryColor:a}=g8t(e);return(0,D.jsxs)(`div`,{className:$.missedCard,children:[(0,D.jsx)(`button`,{type:`button`,className:$.missedClose,"aria-label":`Dismiss`,onClick:n,children:(0,D.jsx)(lo,{size:11,strokeWidth:2.5})}),(0,D.jsxs)(`div`,{className:$.missedCardTop,children:[(0,D.jsx)(`span`,{className:$.missedDot,style:yo({"--dot":a})}),(0,D.jsx)(`span`,{className:$.missedCat,children:i}),(0,D.jsx)(`span`,{className:$.missedTime,children:w8t(e.createdAt,r,e.scheduledAt)})]}),(0,D.jsx)(`p`,{className:$.missedSummary,children:e.title??e.body}),(0,D.jsxs)(`div`,{className:$.missedFoot,children:[(0,D.jsxs)(`button`,{type:`button`,className:$.missedCta,onClick:t,children:[`View post `,(0,D.jsx)(zn,{size:10,strokeWidth:3})]}),e.mustAcknowledge&&(0,D.jsxs)(`span`,{className:$.missedPriority,children:[(0,D.jsx)(Un,{size:8}),` Priority`]})]})]})},drn=({posts:e})=>{let[t,n]=(0,E.useState)(new Set),[r,i]=(0,E.useState)(!1),a=(0,E.useRef)(null),o=hS().display,s=e.filter(e=>e.mustAcknowledge&&!t.has(e.id)&&!e.acknowledged);if(r||s.length===0)return null;let c=e=>{a.current?.scrollBy({left:e*300,behavior:`smooth`})},l=s.length>2;return(0,D.jsxs)(`div`,{className:$.missed,children:[(0,D.jsxs)(`div`,{className:$.missedHead,children:[(0,D.jsx)(sn,{size:14,className:$.missedSpark}),(0,D.jsx)(`span`,{className:$.missedTitle,children:`WHAT YOU MISSED`}),(0,D.jsx)(`span`,{className:$.missedBadge,children:s.length}),(0,D.jsx)(`button`,{type:`button`,className:$.missedRead,onClick:()=>{i(!0)},children:`Mark all read`})]}),(0,D.jsxs)(`div`,{className:T($.missedScroller,l&&$.missedScrollerFade),children:[l&&(0,D.jsx)(`button`,{type:`button`,className:T($.missedNav,$.missedNavLeft),"aria-label":`Scroll left`,onClick:()=>{c(-1)},children:(0,D.jsx)(Ln,{size:16})}),(0,D.jsx)(`div`,{className:$.missedTrack,ref:a,children:s.map(e=>(0,D.jsx)(urn,{post:e,displayZone:o,onView:()=>{lrn(e.id)},onDismiss:()=>{n(t=>new Set(t).add(e.id))}},e.id))}),l&&(0,D.jsx)(`button`,{type:`button`,className:T($.missedNav,$.missedNavRight),"aria-label":`Scroll right`,onClick:()=>{c(1)},children:(0,D.jsx)(zn,{size:16})})]})]})};Dt(),fo(),Fy();var frn=(e,t)=>{let n=t.trim();if(n===``)return e;let r=n.replace(/\s+/g,` `).toLowerCase();return e.filter(e=>[e.authorName,e.authorRole,e.audienceLabel,e.timestamp,e.title,e.body].filter(Boolean).join(` `).replace(/\s+/g,` `).toLowerCase().includes(r))},prn=(e,t,n)=>{let r=(0,E.useRef)(null),i=(0,E.useCallback)(r=>{r[0]?.isIntersecting&&e&&!t&&n()},[e,t,n]);return(0,E.useEffect)(()=>{let e=r.current;if(!e)return;let t=new IntersectionObserver(i,{rootMargin:`2000px`});return t.observe(e),()=>{t.disconnect()}},[i]),r},mrn=e=>{let[t,n]=cee(),r=h8t(t.get(`postId`));(0,E.useEffect)(()=>{if(r.data===void 0)return;e(r.data);let t=new URLSearchParams(window.location.search);t.has(`postId`)&&(t.delete(`postId`),n(t,{replace:!0}))},[r.data])},hrn=()=>{let[e,t]=(0,E.useState)(`for_you`),[n,r]=(0,E.useState)(``),[i,a]=(0,E.useState)(null),o=t8t(e),{hasPermission:s}=wS(),c=s(CS.feedPost),{hasNextPage:l,isFetchingNextPage:u,fetchNextPage:d}=o,f=frn(o.data?o.data.pages.flatMap(e=>e.items):[],n);mrn(e=>{a(e)});let p=prn(l,u,d);return(0,D.jsxs)(`div`,{className:$.screen,children:[(0,D.jsx)(`div`,{className:$.toolbar,children:(0,D.jsxs)(`div`,{className:$.toolbarContainer,children:[(0,D.jsxs)(`div`,{className:$.search,children:[(0,D.jsx)(oa,{size:14,className:$.searchIcon}),(0,D.jsx)(`input`,{type:`search`,className:$.searchInput,placeholder:`Search posts by keyword, title, author, or role…`,value:n,onChange:e=>{r(e.target.value)}})]}),(0,D.jsx)(`div`,{className:$.toolbarRailSpacer})]})}),(0,D.jsxs)(`div`,{className:$.wrapper,children:[(0,D.jsxs)(`div`,{className:$.column,children:[(0,D.jsx)(irn,{scope:e,onChange:e=>{t(e)}}),(0,D.jsx)(drn,{posts:f}),c&&(0,D.jsx)(ytn,{}),o.isPending&&(0,D.jsx)(arn,{count:3}),o.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not load the feed`,children:o.error.message}),o.isSuccess&&f.length===0&&(0,D.jsx)(btn,{}),(0,D.jsx)(Hnn,{posts:f}),(0,D.jsx)(`div`,{ref:p,style:{height:`20px`,width:`100%`},children:o.isFetchingNextPage&&(0,D.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`1rem`},children:(0,D.jsx)(Vo,{})})})]}),(0,D.jsx)(nrn,{})]}),i!==null&&(0,D.jsx)(crn,{post:i,onClose:()=>{a(null)}})]})};Dt();var grn=({path:e,children:t})=>(0,D.jsxs)(at,{children:[(0,D.jsx)(rt,{path:e,element:(0,D.jsx)(D.Fragment,{children:t})}),(0,D.jsx)(rt,{path:`*`,element:(0,D.jsx)(nt,{to:e,replace:!0})})]}),_rn=()=>{m9(`uapp-feed`,()=>(0,D.jsx)(grn,{path:`/comms/feed`,children:(0,D.jsx)(hrn,{})}))},vrn=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:((t[0]?.[0]??``)+(t.length>1?t[t.length-1]?.[0]??``:``)).toUpperCase()},yrn=()=>{let{user:e}=eC(),t=e?.fullName??``;return{id:e?.id??``,name:t,initials:vrn(t),color:`#0f1f1f`,role:`Organizer`}};H7(),gS(),mS();var brn=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<i&&new Date(e.endUtc).getTime()>r)},xrn=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<=r&&new Date(e.endUtc).getTime()>=i)},Srn=(e,t=30)=>{let n=t>0?t:30,r=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},i=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`,a=r(e.end),o=[];for(let t=r(e.start);t+n<=a;t+=n)o.push({start:i(t),end:i(t+n),label:`${i(t)} – ${i(t+n)}`});return o},Crn=(e,t)=>{let n=e??t,r=n.getFullYear(),i=String(n.getMonth()+1).padStart(2,`0`),a=String(n.getDate()).padStart(2,`0`);return`${String(r)}-${i}-${a}`},wrn=(e,t)=>new Date(e).toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`,hour12:!0,timeZone:t}),v9=(e,t,n)=>!e||!t?``:`${wrn(e,n)} – ${wrn(t,n)}`,Trn=(e,t)=>e?new Date(e).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,timeZone:t}):``,Ern=(e,t)=>t.id!==``&&e===t.id,Drn=(e,t,n)=>{if(Ern(e,n))return n.name.split(` `)[0]??n.name;let r=t.find(t=>t.id===e);return r===void 0?``:r.name.split(` `)[0]??``},Orn=(e,t,n)=>{if(Ern(e,n))return{name:`${n.name} (You)`,role:n.role,initials:n.initials,color:n.color};let r=t.find(t=>t.id===e);return{name:r?.name??``,role:r?.role??``,initials:r?.initials??``,color:r?.color??`#555`}},krn=(e,t,n)=>{let r=new Date(fS(e,`00:00`,t));return{rangeStart:r,rangeEnd:new Date(r.getTime()+1440*60*1e3),workWindows:n?.active?n.slots.map(n=>({start:new Date(fS(e,n.from,t)),end:new Date(fS(e,n.to,t))})):[]}},Arn=(e,t,n,r)=>{let i=[],a=(e,t)=>{i.push({startUtc:new Date(e).getTime(),endUtc:new Date(t).getTime()})};r.workWindows.forEach(e=>{a(e.start,e.end)}),n.forEach(e=>{$y(e,r.rangeStart,r.rangeEnd).forEach(e=>{a(e.start,e.end)})}),e.forEach(e=>{let n=t.get(e);n&&(n.workingHours.forEach(e=>{a(e.startUtc,e.endUtc)}),n.busy.forEach(e=>{a(e.startUtc,e.endUtc)}))});let o=r.rangeStart.getTime(),s=r.rangeEnd.getTime(),c=i.filter(e=>e.startUtc<s&&e.endUtc>o).map(e=>({startOffsetMs:Math.max(e.startUtc,o)-o,endOffsetMs:Math.min(e.endUtc,s)-o}));if(c.length===0)return{start:`09:00`,end:`17:00`};let l=1440*60*1e3,u=0;c.forEach(e=>{e.startOffsetMs<l&&(l=e.startOffsetMs),e.endOffsetMs>u&&(u=e.endOffsetMs)});let d=Math.floor(Math.max(0,l/6e4-60)/30)*30,f=Math.ceil(Math.min(1440,u/6e4+60)/30)*30,p=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`;return{start:p(d),end:p(f)}},jrn=2*6e4,Mrn=e=>new Date(e).getTime()<Date.now()-jrn,y9={bookCard:`_bookCard_11n7l_7`,bookTopBar:`_bookTopBar_11n7l_16`,bookGrid:`_bookGrid_11n7l_26`,colCalendar:`_colCalendar_11n7l_31`,search:`_search_11n7l_37`,searchIcon:`_searchIcon_11n7l_42`,searchInput:`_searchInput_11n7l_50`,contactList:`_contactList_11n7l_61`,contactRow:`_contactRow_11n7l_72`,contactActive:`_contactActive_11n7l_91`,contactAvatar:`_contactAvatar_11n7l_96`,contactText:`_contactText_11n7l_112`,contactName:`_contactName_11n7l_120`,contactRole:`_contactRole_11n7l_135`,contactCheck:`_contactCheck_11n7l_144`,contactCheckOn:`_contactCheckOn_11n7l_158`,contactCheckIcon:`_contactCheckIcon_11n7l_164`,contactEmpty:`_contactEmpty_11n7l_170`,calHead:`_calHead_11n7l_177`,calMonth:`_calMonth_11n7l_184`,calNav:`_calNav_11n7l_190`,calNavBtn:`_calNavBtn_11n7l_195`,calDays:`_calDays_11n7l_208`,calDayLabel:`_calDayLabel_11n7l_214`,calGrid:`_calGrid_11n7l_222`,calCell:`_calCell_11n7l_228`,calCellToday:`_calCellToday_11n7l_248`,calCellSelected:`_calCellSelected_11n7l_254`,calCellPast:`_calCellPast_11n7l_262`,calCellBlank:`_calCellBlank_11n7l_267`,bookBar:`_bookBar_11n7l_272`,bookHint:`_bookHint_11n7l_282`,bookSummary:`_bookSummary_11n7l_287`,bookSummaryName:`_bookSummaryName_11n7l_295`,bookSummarySlot:`_bookSummarySlot_11n7l_300`,bookBtn:`_bookBtn_11n7l_305`,disabledBtnWrapper:`_disabledBtnWrapper_11n7l_326`,confirmBody:`_confirmBody_11n7l_331`,confirmWho:`_confirmWho_11n7l_337`,confirmAvatar:`_confirmAvatar_11n7l_347`,confirmWhoText:`_confirmWhoText_11n7l_361`,confirmName:`_confirmName_11n7l_368`,confirmRole:`_confirmRole_11n7l_374`,confirmRows:`_confirmRows_11n7l_379`,confirmRow:`_confirmRow_11n7l_379`,confirmRowIcon:`_confirmRowIcon_11n7l_396`,confirmRowLabel:`_confirmRowLabel_11n7l_408`,confirmRowValue:`_confirmRowValue_11n7l_416`,bookedNote:`_bookedNote_11n7l_424`,typeSelector:`_typeSelector_11n7l_434`,typeBtn:`_typeBtn_11n7l_442`,typeBtnActive:`_typeBtnActive_11n7l_460`};hh(),fo(),H7();var Nrn=({spanKey:e,name:t,dateLabel:n,formattedSlot:r})=>(0,D.jsxs)(Gm.span,{className:y9.bookSummary,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,D.jsx)(`span`,{className:y9.bookSummaryName,children:t}),` · `,n,` ·`,` `,(0,D.jsx)(`span`,{className:y9.bookSummarySlot,children:r})]},e),Prn=({meetingType:e,contact:t,dateLabel:n,slot:r,selectedContactIds:i,groupTitle:a,formattedSlot:o})=>e===`1:1`?t!==null&&n!==``&&r!==null?(0,D.jsx)(Nrn,{spanKey:`summary`,name:t.name,dateLabel:n,formattedSlot:o}):null:i.length>0&&n!==``&&r!==null?(0,D.jsx)(Nrn,{spanKey:`group-summary`,name:`${a||`Group Meeting`} (${String(i.length)} guests)`,dateLabel:n,formattedSlot:o}):null,Frn=({success:e,meetingType:t,contact:n,dateLabel:r,slot:i,selectedContactIds:a,groupTitle:o,selectedSlot:s,tzId:c})=>{if(e)return(0,D.jsxs)(Gm.span,{className:y9.bookedNote,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,D.jsx)(Nn,{size:14,strokeWidth:3}),` Meeting booked — see the Scheduled tab.`]},`done`);let l=Prn({meetingType:t,contact:n,dateLabel:r,slot:i,selectedContactIds:a,groupTitle:o,formattedSlot:s?v9(s.startUtc,s.endUtc,c):``});return l===null?(0,D.jsx)(`span`,{className:y9.bookHint,children:t===`1:1`?`Pick a person, a date, and a time to book.`:`Select participants, set group title, pick a date and a time to book.`},`hint`):l},Irn=({contact:e,dateLabel:t,slot:n,canBook:r,success:i,meetingType:a,selectedContactIds:o,groupTitle:s,onBook:c,selectedSlot:l,tzId:u})=>(0,D.jsxs)(`div`,{className:y9.bookBar,children:[(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Frn,{success:i,meetingType:a,contact:e,dateLabel:t,slot:n,selectedContactIds:o,groupTitle:s,selectedSlot:l,tzId:u})}),(0,D.jsxs)(Gm.button,{type:`button`,className:y9.bookBtn,disabled:!r,...r?{whileTap:{scale:.97}}:{},onClick:()=>{c()},children:[`Confirm booking `,(0,D.jsx)(nn,{size:15})]})]}),Lrn=[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],Rrn=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],zrn=e=>e.toLocaleDateString(`en-GB`,{weekday:`short`,day:`2-digit`,month:`short`}),Brn=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),Vrn=(e,t,n)=>{let r=new Date(e,t,1).getDay(),i=new Date(e,t+1,0).getDate(),a=new Date(n.getFullYear(),n.getMonth(),n.getDate()),o=Array.from({length:r},()=>null);for(let r=1;r<=i;r+=1){let i=new Date(e,t,r);o.push({day:r,date:i,past:i<a,today:Brn(i,n)})}return o},b9={col:`_col_18ut1_6`,colTitle:`_colTitle_18ut1_13`,stepDot:`_stepDot_18ut1_22`};hh(),fo(),Do();var Hrn=({cell:e,selected:t,onPick:n})=>(0,D.jsx)(Gm.button,{type:`button`,disabled:e.past,...e.past?{}:{whileHover:{scale:1.12},whileTap:{scale:.9}},className:T(y9.calCell,e.past&&y9.calCellPast,e.today&&y9.calCellToday,t?.toDateString()===e.date.toDateString()&&y9.calCellSelected),onClick:()=>{n(e.date)},children:e.day}),Urn=({view:e,today:t,selected:n,onShift:r,onPick:i})=>(0,D.jsxs)(`div`,{className:y9.colCalendar,children:[(0,D.jsxs)(`div`,{className:b9.colTitle,children:[(0,D.jsx)(`span`,{className:b9.stepDot,children:`2`}),` Pick a date`]}),(0,D.jsxs)(`div`,{className:y9.calHead,children:[(0,D.jsxs)(`span`,{className:y9.calMonth,children:[Rrn[e.month],` `,e.year]}),(0,D.jsxs)(`div`,{className:y9.calNav,children:[(0,D.jsx)(Gm.button,{type:`button`,"aria-label":`Previous month`,className:y9.calNavBtn,whileTap:{scale:.88},onClick:()=>{r(-1)},children:(0,D.jsx)(Ln,{size:15})}),(0,D.jsx)(Gm.button,{type:`button`,"aria-label":`Next month`,className:y9.calNavBtn,whileTap:{scale:.88},onClick:()=>{r(1)},children:(0,D.jsx)(zn,{size:15})})]})]}),(0,D.jsx)(`div`,{className:y9.calDays,children:Lrn.map(e=>(0,D.jsx)(`span`,{className:y9.calDayLabel,children:e},e))}),(0,D.jsx)(Gm.div,{className:y9.calGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.18,ease:[.22,1,.36,1]},children:Vrn(e.year,e.month,t).map((e,t)=>e===null?(0,D.jsx)(`span`,{className:y9.calCellBlank},`blank-${String(t)}`):(0,D.jsx)(Hrn,{cell:e,selected:n,onPick:i},e.day))},`${String(e.year)}-${String(e.month)}`)]});hh(),fo(),Fy(),Do();var Wrn={hidden:{},visible:{transition:{staggerChildren:.05,delayChildren:.05}}},Grn={hidden:{opacity:0,x:-8},visible:{opacity:1,x:0,transition:{duration:.18,ease:`easeOut`}}},x9=({icon:e,label:t,value:n})=>(0,D.jsxs)(Gm.div,{className:y9.confirmRow,variants:Grn,children:[(0,D.jsx)(`span`,{className:y9.confirmRowIcon,children:e}),(0,D.jsx)(`span`,{className:y9.confirmRowLabel,children:t}),(0,D.jsx)(`span`,{className:y9.confirmRowValue,children:n})]}),Krn=({contact:e,dateLabel:t,formattedSlot:n,zone:r})=>(0,D.jsxs)(`div`,{className:y9.confirmBody,children:[(0,D.jsxs)(`div`,{className:y9.confirmWho,children:[(0,D.jsx)(`span`,{className:y9.confirmAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:y9.confirmWhoText,children:[(0,D.jsx)(`span`,{className:y9.confirmName,children:e.name}),(0,D.jsx)(`span`,{className:y9.confirmRole,children:e.role})]})]}),(0,D.jsxs)(Gm.div,{className:y9.confirmRows,variants:Wrn,initial:`hidden`,animate:`visible`,children:[(0,D.jsx)(x9,{icon:(0,D.jsx)(Sn,{size:15}),label:`Date`,value:t}),(0,D.jsx)(x9,{icon:(0,D.jsx)(Xn,{size:15}),label:`Time`,value:n}),(0,D.jsx)(x9,{icon:(0,D.jsx)(br,{size:15}),label:`Timezone`,value:`${r.city} · ${r.offset}`}),(0,D.jsx)(x9,{icon:(0,D.jsx)(io,{size:15}),label:`Location`,value:`Online — link generated automatically`})]})]}),qrn=({open:e,contact:t,dateLabel:n,slot:r,zone:i,pending:a,onConfirm:o,onClose:s,selectedSlot:c,tzId:l})=>{let{hasPermission:u}=wS(),d=u(CS.meetingsBook),f=v9(c?.startUtc,c?.endUtc,l);return(0,D.jsx)(xh,{open:e&&t!==null&&r!==null&&n!==``,onOpenChange:e=>{e||s()},title:`Confirm your booking`,description:`A calendar invite is sent to both of you once confirmed.`,footer:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`ghost`,onClick:s,children:`Back`}),d?(0,D.jsx)(es,{isLoading:a,disabled:a,onClick:o,children:`Confirm booking`}):(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:(0,D.jsx)(`span`,{className:y9.disabledBtnWrapper,children:(0,D.jsx)(es,{isLoading:a,disabled:!0,onClick:o,children:`Confirm booking`})})})]}),children:t!==null&&r!==null?(0,D.jsx)(Krn,{contact:t,dateLabel:n,formattedSlot:f,zone:i}):null})},Jrn={titleWrap:`_titleWrap_18nb9_3`,titleInput:`_titleInput_18nb9_7`};hh(),fo(),Do(),Fy();var Yrn={hidden:{},visible:{transition:{staggerChildren:.04}}},Xrn=({contact:e,active:t,onSelect:n})=>(0,D.jsxs)(Gm.button,{type:`button`,layout:!0,variants:gh,whileHover:{x:3},whileTap:{scale:.985},transition:{type:`spring`,stiffness:500,damping:34},className:T(y9.contactRow,t&&y9.contactActive),onClick:n,children:[(0,D.jsx)(`span`,{className:y9.contactAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:y9.contactText,children:[(0,D.jsx)(`span`,{className:y9.contactName,children:e.name}),(0,D.jsx)(`span`,{className:y9.contactRole,children:e.role})]}),(0,D.jsx)(`span`,{className:T(y9.contactCheck,t&&y9.contactCheckOn),children:(0,D.jsx)(vm,{children:t&&(0,D.jsx)(Gm.span,{className:y9.contactCheckIcon,initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,D.jsx)(Nn,{size:11,strokeWidth:3})})})})]}),Zrn=({contacts:e,selectedId:t,search:n,onSearch:r,onSelect:i,mode:a=`1:1`,selectedIds:o=[],onSelectGroup:s,groupTitle:c=``,onGroupTitleChange:l})=>(0,D.jsxs)(`div`,{className:b9.col,children:[(0,D.jsxs)(`div`,{className:b9.colTitle,children:[(0,D.jsx)(`span`,{className:b9.stepDot,children:`1`}),` `,a===`group`?`Configure Group Event`:`Choose a person`]}),a===`group`&&l&&(0,D.jsx)(`div`,{className:Jrn.titleWrap,children:(0,D.jsx)(`input`,{type:`text`,className:T(y9.searchInput,Jrn.titleInput),placeholder:`Group Event Title (e.g. Team Sync)`,value:c,onChange:e=>{l(e.target.value)}})}),(0,D.jsxs)(`div`,{className:y9.search,children:[(0,D.jsx)(oa,{size:14,className:y9.searchIcon}),(0,D.jsx)(`input`,{type:`search`,className:y9.searchInput,placeholder:`Search people…`,value:n,onChange:e=>{r(e.target.value)}})]}),(0,D.jsxs)(Gm.div,{className:y9.contactList,variants:Yrn,initial:`hidden`,animate:`visible`,children:[(0,D.jsx)(vm,{initial:!1,children:e.map(e=>(0,D.jsx)(Xrn,{contact:e,active:a===`group`?o.includes(e.id):t===e.id,onSelect:()=>{a===`group`&&s?s(o.includes(e.id)?o.filter(t=>t!==e.id):[...o,e.id]):i(e.id)}},e.id))}),e.length===0&&(0,D.jsx)(`p`,{className:y9.contactEmpty,children:`No people match.`})]})]}),S9={wizardContainer:`_wizardContainer_pyr7v_8`,stepper:`_stepper_pyr7v_17`,stepItem:`_stepItem_pyr7v_27`,stepLine:`_stepLine_pyr7v_34`,stepLineActive:`_stepLineActive_pyr7v_40`,stepCircle:`_stepCircle_pyr7v_44`,stepCircleActive:`_stepCircleActive_pyr7v_60`,stepCircleDone:`_stepCircleDone_pyr7v_66`,stepText:`_stepText_pyr7v_72`,stepTextActive:`_stepTextActive_pyr7v_78`,wizardContent:`_wizardContent_pyr7v_83`,wizardRow:`_wizardRow_pyr7v_90`,wizardPanelLeft:`_wizardPanelLeft_pyr7v_96`,wizardPanelRight:`_wizardPanelRight_pyr7v_106`,timePanelLeft:`_timePanelLeft_pyr7v_114`,wizardList:`_wizardList_pyr7v_118`,timePanelRight:`_timePanelRight_pyr7v_128`,panelHeading:`_panelHeading_pyr7v_132`,wizardSearch:`_wizardSearch_pyr7v_139`,wizardListBtn:`_wizardListBtn_pyr7v_159`,wizardListBtnActive:`_wizardListBtnActive_pyr7v_176`,avatar:`_avatar_pyr7v_181`,avatarSmall:`_avatarSmall_pyr7v_193`,contactName:`_contactName_pyr7v_205`,contactRole:`_contactRole_pyr7v_211`,checkbox:`_checkbox_pyr7v_217`,checkboxActive:`_checkboxActive_pyr7v_228`,panelHeader:`_panelHeader_pyr7v_234`,badge:`_badge_pyr7v_246`,selectedGrid:`_selectedGrid_pyr7v_254`,selectedEmpty:`_selectedEmpty_pyr7v_274`,selectedEmptyIcon:`_selectedEmptyIcon_pyr7v_285`,selectedItemCard:`_selectedItemCard_pyr7v_291`,cardName:`_cardName_pyr7v_301`,cardRole:`_cardRole_pyr7v_310`,removeBtn:`_removeBtn_pyr7v_318`,attendeeStatusItem:`_attendeeStatusItem_pyr7v_337`,statusIndicator:`_statusIndicator_pyr7v_346`,statusIndicatorAvail:`_statusIndicatorAvail_pyr7v_353`,statusIndicatorBusy:`_statusIndicatorBusy_pyr7v_357`,statusIndicatorOoh:`_statusIndicatorOoh_pyr7v_361`,gridToolbar:`_gridToolbar_pyr7v_366`,datePickerInput:`_datePickerInput_pyr7v_377`,durationSelector:`_durationSelector_pyr7v_386`,durBtn:`_durBtn_pyr7v_394`,durBtnActive:`_durBtnActive_pyr7v_405`,legend:`_legend_pyr7v_411`,legendItem:`_legendItem_pyr7v_418`,dotAvail:`_dotAvail_pyr7v_425`,dotBusy:`_dotBusy_pyr7v_426`,dotOoh:`_dotOoh_pyr7v_427`,suggestedStrip:`_suggestedStrip_pyr7v_443`,suggestedRow:`_suggestedRow_pyr7v_449`,suggestedCard:`_suggestedCard_pyr7v_456`,suggestedCardActive:`_suggestedCardActive_pyr7v_472`,suggestedCardFree:`_suggestedCardFree_pyr7v_479`,gridEmpty:`_gridEmpty_pyr7v_489`,wizardConfirmContainer:`_wizardConfirmContainer_pyr7v_501`,confirmHeading:`_confirmHeading_pyr7v_509`,confirmSub:`_confirmSub_pyr7v_516`,confirmCard:`_confirmCard_pyr7v_522`,confirmRow:`_confirmRow_pyr7v_532`,confirmLabel:`_confirmLabel_pyr7v_540`,confirmVal:`_confirmVal_pyr7v_548`,confirmAttendeeBadge:`_confirmAttendeeBadge_pyr7v_554`,avatarTiny:`_avatarTiny_pyr7v_567`,wizardFooter:`_wizardFooter_pyr7v_580`,wizardBackBtn:`_wizardBackBtn_pyr7v_589`,wizardNextBtn:`_wizardNextBtn_pyr7v_609`,selectedStatusAlert:`_selectedStatusAlert_pyr7v_634`,successContainer:`_successContainer_pyr7v_647`,successHeader:`_successHeader_pyr7v_659`,successTitle:`_successTitle_pyr7v_667`,successSub:`_successSub_pyr7v_674`,successCard:`_successCard_pyr7v_680`,successRow:`_successRow_pyr7v_694`,successLabel:`_successLabel_pyr7v_707`,successVal:`_successVal_pyr7v_716`,successActions:`_successActions_pyr7v_725`,successBtn:`_successBtn_pyr7v_733`,successBtnPrimary:`_successBtnPrimary_pyr7v_743`,successBtnSecondary:`_successBtnSecondary_pyr7v_752`},C9={titleVal:`_titleVal_195yt_3`,inlineIcon:`_inlineIcon_195yt_8`,agendaVal:`_agendaVal_195yt_13`,lastRow:`_lastRow_195yt_17`,guestList:`_guestList_195yt_21`};fo(),Do();var Qrn=({d:e})=>{let t=e.selectedContactIds.map(t=>e.list.find(e=>e.id===t)),n=e.groupTitle.trim()===``?`Group Meeting`:e.groupTitle,r=e.selectedSlot?v9(e.selectedSlot.startUtc,e.selectedSlot.endUtc,e.tzId):`No time selected`,i=e.selectedSlot?Trn(e.selectedSlot.startUtc,e.tzId):e.dateLabel;return(0,D.jsxs)(`div`,{className:S9.wizardConfirmContainer,children:[(0,D.jsx)(`h3`,{className:S9.confirmHeading,children:`Review group meeting`}),(0,D.jsx)(`p`,{className:S9.confirmSub,children:`Ensure everything is correct before sending invitations.`}),(0,D.jsxs)(`div`,{className:S9.confirmCard,children:[(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Title`}),(0,D.jsx)(`span`,{className:T(S9.confirmVal,C9.titleVal),children:n})]}),(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Date & Time`}),(0,D.jsxs)(`span`,{className:S9.confirmVal,children:[i,` @ `,r,` (`,e.zone.offset,`)`]})]}),(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Location`}),(0,D.jsxs)(`span`,{className:S9.confirmVal,children:[(0,D.jsx)(qr,{size:13,className:C9.inlineIcon}),e.groupLocation]})]}),e.groupDescription.trim()&&(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Agenda`}),(0,D.jsx)(`span`,{className:T(S9.confirmVal,C9.agendaVal),children:e.groupDescription})]}),(0,D.jsxs)(`div`,{className:T(S9.confirmRow,C9.lastRow),children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Invited Guests`}),(0,D.jsx)(`div`,{className:T(S9.confirmVal,C9.guestList),children:t.map(e=>e===void 0?null:(0,D.jsxs)(`span`,{className:S9.confirmAttendeeBadge,children:[(0,D.jsx)(`span`,{className:S9.avatarTiny,style:{backgroundColor:e.color},children:e.initials}),e.name]},e.id))})]})]})]})},w9={wizardDetailsForm:`_wizardDetailsForm_79bfd_3`,detailsHeading:`_detailsHeading_79bfd_11`,detailsSub:`_detailsSub_79bfd_18`,formGroup:`_formGroup_79bfd_24`,formLabel:`_formLabel_79bfd_28`,formInput:`_formInput_79bfd_37`,formTextarea:`_formTextarea_79bfd_54`},$rn=({d:e})=>(0,D.jsxs)(`div`,{className:w9.wizardDetailsForm,children:[(0,D.jsx)(`h3`,{className:w9.detailsHeading,children:`Meeting details`}),(0,D.jsx)(`p`,{className:w9.detailsSub,children:`Add context to the invite so attendees know what to expect.`}),(0,D.jsxs)(`div`,{className:w9.formGroup,children:[(0,D.jsx)(`label`,{className:w9.formLabel,children:`MEETING TITLE *`}),(0,D.jsx)(`input`,{type:`text`,className:w9.formInput,placeholder:`e.g. Weekly Admissions Alignment`,value:e.groupTitle,onChange:t=>{e.setGroupTitle(t.target.value)}})]}),(0,D.jsxs)(`div`,{className:w9.formGroup,children:[(0,D.jsx)(`label`,{className:w9.formLabel,children:`LOCATION / TYPE *`}),(0,D.jsx)(`input`,{type:`text`,className:w9.formInput,placeholder:`e.g. Google Meet, Room 402`,value:e.groupLocation,onChange:t=>{e.setGroupLocation(t.target.value)}})]}),(0,D.jsxs)(`div`,{className:w9.formGroup,children:[(0,D.jsx)(`label`,{className:w9.formLabel,children:`AGENDA / DESCRIPTION`}),(0,D.jsx)(`textarea`,{className:w9.formTextarea,rows:5,placeholder:`What will you cover in this meeting? (optional)`,value:e.groupDescription,onChange:t=>{e.setGroupDescription(t.target.value)}})]})]}),ein={searchWrap:`_searchWrap_3i51q_3`,contactMeta:`_contactMeta_3i51q_7`,selectedMeta:`_selectedMeta_3i51q_13`};hh(),fo(),Do();var tin=({d:e,isSelected:t,onToggle:n})=>(0,D.jsxs)(`div`,{className:S9.wizardPanelLeft,children:[(0,D.jsxs)(`div`,{className:ein.searchWrap,children:[(0,D.jsx)(`h3`,{className:S9.panelHeading,children:`Add participants`}),(0,D.jsx)(`input`,{type:`text`,className:S9.wizardSearch,placeholder:`Search by name, role or department...`,value:e.search,onChange:t=>{e.setSearch(t.target.value)}})]}),(0,D.jsx)(`div`,{className:S9.wizardList,children:e.searchResults.map(e=>(0,D.jsxs)(`button`,{type:`button`,className:T(S9.wizardListBtn,t(e.id)&&S9.wizardListBtnActive),onClick:()=>{n(e.id)},children:[(0,D.jsx)(`span`,{className:S9.avatar,style:{backgroundColor:e.color},children:e.initials}),(0,D.jsxs)(`div`,{className:ein.contactMeta,children:[(0,D.jsx)(`div`,{className:S9.contactName,children:e.name}),(0,D.jsx)(`div`,{className:S9.contactRole,children:e.role})]}),(0,D.jsx)(`div`,{className:T(S9.checkbox,t(e.id)&&S9.checkboxActive),children:t(e.id)&&(0,D.jsx)(Nn,{size:10,strokeWidth:3})})]},e.id))})]}),nin=({d:e,onToggle:t})=>(0,D.jsxs)(`div`,{className:S9.wizardPanelRight,children:[(0,D.jsxs)(`div`,{className:S9.panelHeader,children:[(0,D.jsx)(`span`,{children:`SELECTED`}),(0,D.jsxs)(`span`,{className:S9.badge,children:[String(e.selectedContactIds.length),` guests`]})]}),(0,D.jsx)(`div`,{className:S9.selectedGrid,children:(0,D.jsx)(vm,{initial:!1,children:e.selectedContactIds.length===0?(0,D.jsxs)(Gm.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:S9.selectedEmpty,children:[(0,D.jsx)(to,{size:22,className:S9.selectedEmptyIcon}),(0,D.jsx)(`span`,{children:`Select people on the left to add them to the meeting.`})]},`empty`):e.selectedContactIds.map(n=>{let r=e.list.find(e=>e.id===n);return r===void 0?null:(0,D.jsxs)(Gm.div,{layout:!0,initial:{opacity:0,y:10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.9,x:20},transition:{type:`spring`,stiffness:300,damping:25},className:S9.selectedItemCard,children:[(0,D.jsx)(`span`,{className:S9.avatarSmall,style:{backgroundColor:r.color},children:r.initials}),(0,D.jsxs)(`div`,{className:ein.selectedMeta,children:[(0,D.jsx)(`div`,{className:S9.cardName,children:r.name}),(0,D.jsx)(`div`,{className:S9.cardRole,children:r.role})]}),(0,D.jsx)(`button`,{type:`button`,className:S9.removeBtn,onClick:()=>{t(n)},children:(0,D.jsx)(Ka,{size:13})})]},n)})})})]}),rin=({d:e})=>{let t=t=>e.selectedContactIds.includes(t),n=n=>{t(n)?e.setSelectedContactIds(e.selectedContactIds.filter(e=>e!==n)):e.setSelectedContactIds([...e.selectedContactIds,n])};return(0,D.jsxs)(`div`,{className:S9.wizardRow,children:[(0,D.jsx)(tin,{d:e,isSelected:t,onToggle:n}),(0,D.jsx)(nin,{d:e,onToggle:n})]})},T9={timelineContainer:`_timelineContainer_1799e_3`,timelineHeaderRow:`_timelineHeaderRow_1799e_18`,timelineTimeCell:`_timelineTimeCell_1799e_27`,timelineHeaderCell:`_timelineHeaderCell_1799e_38`,timelineBody:`_timelineBody_1799e_52`,timelineRow:`_timelineRow_1799e_57`,timelineTimeCellActive:`_timelineTimeCellActive_1799e_75`,timelineCell:`_timelineCell_1799e_81`,cellAvail:`_cellAvail_1799e_90`,cellBusy:`_cellBusy_1799e_94`,cellOoh:`_cellOoh_1799e_98`,cellSelected:`_cellSelected_1799e_109`,gridTooltip:`_gridTooltip_1799e_114`,cellPast:`_cellPast_1799e_133`};Do(),mS(),gS(),H7();var iin=(e,t,n,r)=>{let i=fS(t,e.start,n);return{startUtc:i,endUtc:new Date(new Date(i).getTime()+r*6e4).toISOString()}},ain=(e,t,n)=>{e.pickSlot({label:t,startUtc:n.startUtc,endUtc:n.endUtc,conflicts:[]})},oin=({id:e,d:t,rowInstants:n,serverBusy:r,selfBounds:i,allBlocks:a})=>{let o=r.get(e);return o===void 0?t.selected===null?`ooh`:Q8t({userId:e,selfUserId:t.viewer.id,slotStart:new Date(n.startUtc),slotEnd:new Date(n.endUtc),allBlocks:a,rangeStart:i.rangeStart,rangeEnd:i.rangeEnd,workWindows:i.workWindows}):brn(n.startUtc,n.endUtc,o.busy)?`busy`:o.workingHours.length>0&&!xrn(n.startUtc,n.endUtc,o.workingHours)?`ooh`:`available`},sin=({id:e,slotItem:t,d:n,allBlocks:r,serverBusy:i,rowInstants:a,selfBounds:o,isSelected:s,isPast:c,hoverCell:l,setHoverCell:u})=>{let d=oin({id:e,d:n,rowInstants:a,serverBusy:i,selfBounds:o,allBlocks:r}),f=l!==null&&l.userId===e&&l.slotLabel===t.label;return(0,D.jsx)(`div`,{className:T(T9.timelineCell,d===`available`&&T9.cellAvail,d===`busy`&&T9.cellBusy,d===`ooh`&&T9.cellOoh,s&&T9.cellSelected,c&&T9.cellPast),onClick:c?void 0:()=>{ain(n,t.label,a)},onMouseEnter:()=>{u({userId:e,slotLabel:t.label})},onMouseLeave:()=>{u(null)},children:f&&(0,D.jsxs)(`div`,{className:T9.gridTooltip,children:[(0,D.jsx)(`strong`,{children:Drn(e,n.list,n.viewer)}),` ·`,` `,c?`PAST`:d.toUpperCase()]})})},cin=({slotItem:e,d:t,activeAttendees:n,allBlocks:r,serverBusy:i,isoDate:a,displayZone:o,selfBounds:s,hoverCell:c,setHoverCell:l})=>{let u=t.slot===e.label,d=iin(e,a,o,t.groupDuration),f=Mrn(d.startUtc),p=pS.from({pick:o}).formatTime(d.startUtc);return(0,D.jsxs)(`div`,{className:T9.timelineRow,children:[(0,D.jsx)(`button`,{type:`button`,disabled:f,className:T(T9.timelineTimeCell,u&&T9.timelineTimeCellActive),onClick:()=>{ain(t,e.label,d)},children:p}),n.map(n=>(0,D.jsx)(sin,{id:n,slotItem:e,d:t,allBlocks:r,serverBusy:i,rowInstants:d,selfBounds:s,isSelected:u,isPast:f,hoverCell:c,setHoverCell:l},n+`-`+e.label))]})},lin=({d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o})=>{let s=e.tzId,c=krn(i,s,e.hostDayWindow),l=Srn(Arn(t,r,n,c),e.groupDuration);return(0,D.jsxs)(`div`,{className:T9.timelineContainer,children:[(0,D.jsxs)(`div`,{className:T9.timelineHeaderRow,children:[(0,D.jsx)(`div`,{className:T9.timelineTimeCell}),t.map(t=>(0,D.jsx)(`div`,{className:T9.timelineHeaderCell,children:Drn(t,e.list,e.viewer)},t))]}),(0,D.jsx)(`div`,{className:T9.timelineBody,children:l.map(l=>(0,D.jsx)(cin,{slotItem:l,d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,displayZone:s,selfBounds:c,hoverCell:a,setHoverCell:o},l.label))})]})},uin={header:`_header_1afpk_3`,slotNote:`_slotNote_1afpk_7`,cardMeta:`_cardMeta_1afpk_12`};Do(),mS(),gS(),H7();var din=({userId:e,selfUserId:t,startStr:n,endStr:r,anchorTzId:i,isoDate:a,allBlocks:o,dayWindow:s})=>{let c=s?.active?s.slots.map(e=>({start:new Date(fS(a,e.from,i)),end:new Date(fS(a,e.to,i))})):[],l=new Date(fS(a,`00:00`,i)),u=new Date(l.getTime()+1440*60*1e3);return Q8t({userId:e,selfUserId:t,slotStart:new Date(fS(a,n,i)),slotEnd:new Date(fS(a,r,i)),allBlocks:o,rangeStart:l,rangeEnd:u,workWindows:c})},fin=(e,t,n)=>{let{id:r,d:i,allBlocks:a,serverBusy:o,anchorTzId:s,isoDate:c}=e,l=i.hostDayWindow;if(i.selected===null||l===null)return`available`;let u=o.get(r);if(u!==void 0){let e=fS(c,t,s),r=fS(c,n,s);return brn(e,r,u.busy)?`busy`:u.workingHours.length>0&&!xrn(e,r,u.workingHours)?`ooh`:`available`}return din({userId:r,selfUserId:i.viewer.id,startStr:t,endStr:n,anchorTzId:s,isoDate:c,allBlocks:a,dayWindow:l})},pin=e=>{let{id:t,d:n,curSlot:r}=e,i=Orn(t,n.list,n.viewer),[a,o]=r?r.split(` – `):[null,null],s=a&&o?fin(e,a,o):`available`;return(0,D.jsxs)(`div`,{className:S9.attendeeStatusItem,children:[(0,D.jsx)(`span`,{className:S9.avatarSmall,style:{backgroundColor:i.color},children:i.initials}),(0,D.jsxs)(`div`,{className:uin.cardMeta,children:[(0,D.jsx)(`div`,{className:S9.cardName,children:i.name}),(0,D.jsx)(`div`,{className:S9.cardRole,children:i.role})]}),(0,D.jsx)(`span`,{className:T(S9.statusIndicator,s===`available`&&S9.statusIndicatorAvail,s===`busy`&&S9.statusIndicatorBusy,s===`ooh`&&S9.statusIndicatorOoh)})]})},min=({d:e,activeAttendees:t,curSlot:n,allBlocks:r,serverBusy:i,anchorTzId:a,isoDate:o})=>(0,D.jsxs)(`div`,{className:T(S9.wizardPanelLeft,S9.timePanelLeft),children:[(0,D.jsxs)(`div`,{className:uin.header,children:[(0,D.jsx)(`h3`,{className:S9.panelHeading,children:`Attendees Availability`}),(0,D.jsxs)(`span`,{className:uin.slotNote,children:[`For selected slot: `,n??`None`]})]}),(0,D.jsx)(`div`,{className:S9.wizardList,children:t.map(t=>(0,D.jsx)(pin,{id:t,d:e,curSlot:n,allBlocks:r,serverBusy:i,anchorTzId:a,isoDate:o},t))})]}),E9={toolbarGroup:`_toolbarGroup_1hpun_3`,toolbarLabel:`_toolbarLabel_1hpun_9`,suggestedHeader:`_suggestedHeader_1hpun_15`,suggestedTitle:`_suggestedTitle_1hpun_22`,freeBadge:`_freeBadge_1hpun_29`,slotTime:`_slotTime_1hpun_34`,noSlots:`_noSlots_1hpun_40`,emptyIcon:`_emptyIcon_1hpun_46`};fo(),Do(),gS(),H7(),J7();var hin=({suggestedOptions:e,slot:t,activeAttendeesCount:n,setSlot:r,tzId:i})=>(0,D.jsxs)(`div`,{className:S9.suggestedRow,children:[e.map(e=>{let a=t===e.label,o=n-e.conflicts.length,s=v9(e.startUtc,e.endUtc,i);return(0,D.jsxs)(`button`,{type:`button`,className:T(S9.suggestedCard,a&&S9.suggestedCardActive,e.conflicts.length===0&&S9.suggestedCardFree),onClick:()=>{r(e.label)},children:[(0,D.jsx)(`div`,{className:E9.freeBadge,children:e.conflicts.length===0?`Max Available User`:`${String(o)}/${String(n)} FREE`}),(0,D.jsx)(`div`,{className:E9.slotTime,children:s})]},e.label)}),e.length===0&&(0,D.jsx)(`div`,{className:E9.noSlots,children:`No suggested slots found.`})]}),gin=({d:e})=>(0,D.jsxs)(`div`,{className:S9.gridToolbar,children:[(0,D.jsxs)(`div`,{className:E9.toolbarGroup,children:[(0,D.jsx)(Sn,{size:14,color:`var(--color-primary)`}),(0,D.jsx)(`input`,{type:`date`,className:S9.datePickerInput,value:e.selected?e.selected.toISOString().substring(0,10):``,onChange:t=>{t.target.value&&e.pickDate(new Date(t.target.value))}})]}),(0,D.jsxs)(`div`,{className:E9.toolbarGroup,children:[(0,D.jsx)(`span`,{className:E9.toolbarLabel,children:`DURATION`}),(0,D.jsx)(`div`,{className:S9.durationSelector,children:[15,30,60,90,120].map(t=>(0,D.jsx)(`button`,{type:`button`,className:T(S9.durBtn,e.groupDuration===t&&S9.durBtnActive),onClick:()=>{e.setGroupDuration(t)},children:t<60?`${String(t)}m`:`${String(t/60)}h`},t))})]}),(0,D.jsxs)(`div`,{className:S9.legend,children:[(0,D.jsxs)(`span`,{className:S9.legendItem,children:[(0,D.jsx)(`span`,{className:S9.dotAvail}),` Free`]}),(0,D.jsxs)(`span`,{className:S9.legendItem,children:[(0,D.jsx)(`span`,{className:S9.dotBusy}),` Busy`]}),(0,D.jsxs)(`span`,{className:S9.legendItem,children:[(0,D.jsx)(`span`,{className:S9.dotOoh}),` Out of hours`]})]})]}),_in=({d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o})=>e.selected===null?(0,D.jsxs)(`div`,{className:S9.gridEmpty,children:[(0,D.jsx)(Xn,{size:28,className:E9.emptyIcon}),(0,D.jsx)(`span`,{children:`Select a date above to display the availability grid.`})]}):(0,D.jsx)(lin,{d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o}),vin=e=>{let t=iS().data??[],n=hS().anchor,r=e.selected===null?null:Crn(e.selected,e.today),i=n7t(e.selectedContactIds,r);return{allBlocks:t,anchorTzId:n,isoDate:r,serverBusy:(0,E.useMemo)(()=>{let e=new Map;for(let t of i.data??[])e.set(t.userId,{busy:t.busy,workingHours:t.workingHours});return e},[i.data]),activeAttendees:e.viewer.id===``?[...e.selectedContactIds]:[e.viewer.id,...e.selectedContactIds],curSlot:e.slot}},yin=({d:e})=>{let{allBlocks:t,anchorTzId:n,isoDate:r,serverBusy:i,activeAttendees:a,curSlot:o}=vin(e),[s,c]=(0,E.useState)(null);return(0,D.jsxs)(`div`,{className:S9.wizardRow,children:[(0,D.jsx)(min,{d:e,activeAttendees:a,curSlot:o,allBlocks:t,serverBusy:i,anchorTzId:n,isoDate:r??``}),(0,D.jsxs)(`div`,{className:T(S9.wizardPanelRight,S9.timePanelRight),children:[(0,D.jsx)(gin,{d:e}),(0,D.jsxs)(`div`,{className:S9.suggestedStrip,children:[(0,D.jsxs)(`div`,{className:E9.suggestedHeader,children:[(0,D.jsx)(Xn,{size:12,color:`var(--color-secondary)`}),(0,D.jsx)(`span`,{className:E9.suggestedTitle,children:`SUGGESTED TIMESLOTS`})]}),(0,D.jsx)(hin,{suggestedOptions:e.availableSlots.slice(0,4),slot:e.slot,activeAttendeesCount:a.length,setSlot:e.setSlot,tzId:e.tzId})]}),(0,D.jsx)(_in,{d:e,activeAttendees:a,allBlocks:t,serverBusy:i,isoDate:r??``,hoverCell:s,setHoverCell:c})]})]})},bin=()=>{let[e,t]=(0,E.useState)(`participants`),[n,r]=(0,E.useState)(30),[i,a]=(0,E.useState)(`Online Meeting`),[o,s]=(0,E.useState)(``);return{groupStep:e,groupDuration:n,groupLocation:i,groupDescription:o,setGroupStep:t,setGroupDuration:r,setGroupLocation:a,setGroupDescription:s,resetGroupWizardState:()=>{t(`participants`),r(30),a(`Online Meeting`),s(``)}}};Fy(),gS(),H7(),J7();var xin=(e,t,n,r)=>{let i=e.s.meetingType===`group`;return{contactId:i?e.s.selectedContactIds[0]??``:e.s.contactId??``,dateLabel:zrn(t),slot:n,title:i?e.s.groupTitle||`Group Meeting`:void 0,isGroup:i,attendeeIds:i?e.s.selectedContactIds:void 0,location:i?e.gw.groupLocation:void 0,description:i?e.gw.groupDescription:void 0,isoDate:Crn(t,e.today),startUtc:r?.startUtc,endUtc:r?.endUtc}},Sin=e=>e.s.pickedSlot??(e.s.slot===null?null:e.availableSlots.find(t=>t.label===e.s.slot)??null),Cin=e=>()=>{if(e.s.slot===null||e.s.selected===null)return;let t=Sin(e);e.book.mutate(xin(e,e.s.selected,e.s.slot,t),{onSuccess:()=>{e.s.setBookedSlot(t),e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1)},onError:t=>{my.error(t.message),t instanceof z8t&&(e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1),e.s.meetingType===`group`&&e.gw.setGroupStep(`time`))}})},win=e=>({setMeetingType:t=>{e.s.setMeetingType(t),t===`group`&&e.resetGroupWizard()},setContactId:t=>{e.s.setContactId(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setSelectedContactIds:t=>{e.s.setSelectedContactIds(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupTitle:e.s.setGroupTitle,setSearch:e.s.setSearch,setTzId:e.setTzId,setSlot:t=>{e.s.setSlot(t),e.s.setPickedSlot(null)},pickSlot:t=>{e.s.setSlot(t.label),e.s.setPickedSlot(t)},setConfirmOpen:e.s.setConfirmOpen,shift:t=>{e.s.setView(e=>({year:e.year+Math.floor((e.month+t)/12),month:((e.month+t)%12+12)%12}))},pickDate:t=>{e.s.setSelected(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupStep:e.gw.setGroupStep,setGroupDuration:t=>{e.gw.setGroupDuration(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupLocation:e.gw.setGroupLocation,setGroupDescription:e.gw.setGroupDescription,resetGroupWizard:e.resetGroupWizard,reset:e.reset,confirm:Cin(e)}),Tin=e=>{let t=win(e);return{today:e.today,viewer:e.viewer,meetingType:e.s.meetingType,contactId:e.s.contactId,selectedContactIds:e.s.selectedContactIds,groupTitle:e.s.groupTitle,search:e.s.search,tzId:e.tzId,view:e.s.view,selected:e.s.selected,slot:e.s.slot,selectedSlot:Sin(e),bookedSlot:e.s.bookedSlot,confirmOpen:e.s.confirmOpen,list:e.list,searchResults:e.searchResults,contact:e.contact,dateLabel:e.s.selected===null?``:zrn(e.s.selected),zone:V7(e.tzId),canBook:(e.s.meetingType===`1:1`?e.s.contactId!==null:e.s.selectedContactIds.length>0)&&e.s.selected!==null&&e.s.slot!==null&&!e.book.isPending,pending:e.book.isPending,success:e.book.isSuccess,availableSlots:e.availableSlots,hostDayWindow:e.hostDayWindow,groupStep:e.gw.groupStep,groupDuration:e.gw.groupDuration,groupLocation:e.gw.groupLocation,groupDescription:e.gw.groupDescription,...t}},Ein=(e,t)=>{let[n,r]=(0,E.useState)(e);return(0,E.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(n)}},[e,t]),n};mS(),gS(),H7(),J7();var Din=e=>`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Oin=e=>{let t=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],n={};for(let r of t)n[r]={active:e[r].active,slots:e[r].active?[{id:r+`-default`,from:e[r].from,to:e[r].to}]:[]};return n},kin=(e,t)=>e.selected===null?null:e.meetingType===`group`?e.selectedContactIds.length===0?null:{isoDate:Din(e.selected),timeZone:t,isGroup:!0,contactId:void 0,attendeeIds:[...e.selectedContactIds].sort()}:e.contactId===null?null:{isoDate:Din(e.selected),timeZone:t,isGroup:!1,contactId:e.contactId,attendeeIds:void 0},Ain=e=>{let[t,n]=(0,E.useState)(`1:1`),[r,i]=(0,E.useState)(null),[a,o]=(0,E.useState)([]),[s,c]=(0,E.useState)(``),[l,u]=(0,E.useState)(``),[d,f]=(0,E.useState)(``),[p,m]=(0,E.useState)({year:e.getFullYear(),month:e.getMonth()}),[h,g]=(0,E.useState)(null),[_,v]=(0,E.useState)(null),[y,b]=(0,E.useState)(null),[x,S]=(0,E.useState)(null),[C,w]=(0,E.useState)(!1);return{meetingType:t,setMeetingType:n,contactId:r,setContactId:i,selectedContactIds:a,setSelectedContactIds:o,groupTitle:s,setGroupTitle:c,search:l,setSearch:u,tzId:d,setTzIdState:f,view:p,setView:m,selected:h,setSelected:g,slot:_,setSlot:v,pickedSlot:y,setPickedSlot:b,bookedSlot:x,setBookedSlot:S,confirmOpen:C,setConfirmOpen:w}},jin=()=>{let e=r7t(),t=yrn(),n=new Date,r=bin(),i=Ain(n),a=Ein(i.search,250),o=e7t(),s=e7t(a),c=oS(),l=KMe(),u=hLe(),d=o.data??[],f=d,p=s.data??[],m=d.find(e=>e.id===i.contactId)??null,h=c.data??{meetingDuration:r.groupDuration,bufferMinutes:5,workStart:`09:00`,workEnd:`17:00`,timezone:`Europe/London`,branchId:`uk`,availabilityTimezone:`Europe/London`},g=pS.from({pick:i.tzId,personal:h.timezone,anchor:h.availabilityTimezone}).display,_=u.data?Oin(PFe(u.data,h.branchId)):null,v=BDe(l.data??null,_),y=i.selected===null?null:VDe(v,i.selected);return Tin({today:n,viewer:t,s:i,gw:r,book:e,list:f,searchResults:p,contact:m,availableSlots:t7t(kin(i,g)).data??[],hostDayWindow:y,tzId:g,setTzId:e=>{i.setTzIdState(e)},resetGroupWizard:()=>{r.resetGroupWizardState(),i.setSelectedContactIds([]),i.setGroupTitle(``),i.setSlot(null),i.setPickedSlot(null),i.setSelected(null)},reset:()=>{e.reset(),i.setContactId(null),i.setSelectedContactIds([]),i.setGroupTitle(``),i.setSlot(null),i.setPickedSlot(null),i.setBookedSlot(null),i.setSelected(null),r.resetGroupWizardState()}})},Min={wizardContentClip:`_wizardContentClip_14i7n_3`,wizardStep:`_wizardStep_14i7n_8`};hh(),fo(),Do(),Fy();var Nin=({currentStep:e})=>{let t=[{id:`participants`,label:`Participants`},{id:`time`,label:`Find a time`},{id:`details`,label:`Details`},{id:`confirm`,label:`Confirm`}],n=(e=>t.findIndex(t=>t.id===e))(e);return(0,D.jsx)(`div`,{className:S9.stepper,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,D.jsxs)(E.Fragment,{children:[t>0&&(0,D.jsx)(`div`,{className:T(S9.stepLine,t<=n&&S9.stepLineActive)}),(0,D.jsxs)(`div`,{className:S9.stepItem,children:[(0,D.jsx)(`div`,{className:T(S9.stepCircle,i&&S9.stepCircleActive,r&&S9.stepCircleDone),children:r?(0,D.jsx)(Nn,{size:12,strokeWidth:3}):t+1}),(0,D.jsx)(`span`,{className:T(S9.stepText,i&&S9.stepTextActive),children:e.label})]})]},e.id)})})},Pin=e=>e===`participants`?`time`:e===`time`?`details`:e===`details`?`confirm`:null,Fin=e=>e===`time`?`participants`:e===`details`?`time`:e===`confirm`?`details`:null,Iin=({step:e,selectedContactIds:t,slot:n,title:r,location:i,pending:a})=>e===`participants`?t.length===0:e===`time`?n===null:e===`details`?r.trim()===``||i.trim()===``:a,Lin=e=>e===`participants`?`Next: Find a time`:e===`time`?`Next: Details`:e===`details`?`Next: Confirm`:`Confirm Booking`,Rin=({step:e,slot:t,pending:n,disabled:r,confirmDisabled:i,nextLabel:a,onBack:o,onNext:s})=>{let c=(0,D.jsxs)(`button`,{type:`button`,className:S9.wizardNextBtn,disabled:r||n||i,onClick:s,children:[n?`Booking...`:a,!n&&(0,D.jsx)(zn,{size:16})]});return(0,D.jsxs)(`div`,{className:S9.wizardFooter,children:[(0,D.jsxs)(`button`,{type:`button`,className:S9.wizardBackBtn,onClick:o,disabled:n,children:[(0,D.jsx)(Ln,{size:16}),` Back`]}),e===`time`&&t&&(0,D.jsxs)(`div`,{className:S9.selectedStatusAlert,children:[(0,D.jsx)(Un,{size:14,color:`var(--color-primary)`}),(0,D.jsxs)(`span`,{children:[`Selected: `,t]})]}),i?(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:c}):c]})},zin=({d:e})=>{let t=()=>{let t=Fin(e.groupStep);t?e.setGroupStep(t):e.setMeetingType(`1:1`)},n=()=>{let t=Pin(e.groupStep);t?e.setGroupStep(t):e.confirm()},{hasPermission:r}=wS(),i=r(CS.meetingsBook),a=Iin({step:e.groupStep,selectedContactIds:e.selectedContactIds,slot:e.slot,title:e.groupTitle,location:e.groupLocation,pending:e.pending}),o=Lin(e.groupStep),s=e.groupStep===`confirm`&&!i;return(0,D.jsxs)(`div`,{className:S9.wizardContainer,children:[(0,D.jsx)(Nin,{currentStep:e.groupStep}),(0,D.jsx)(`div`,{className:T(S9.wizardContent,Min.wizardContentClip),children:(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsxs)(Gm.div,{initial:{opacity:0,x:15},animate:{opacity:1,x:0},exit:{opacity:0,x:-15},transition:{duration:.18,ease:`easeInOut`},className:Min.wizardStep,children:[e.groupStep===`participants`&&(0,D.jsx)(rin,{d:e}),e.groupStep===`time`&&(0,D.jsx)(yin,{d:e}),e.groupStep===`details`&&(0,D.jsx)($rn,{d:e}),e.groupStep===`confirm`&&(0,D.jsx)(Qrn,{d:e})]},e.groupStep)})}),(0,D.jsx)(Rin,{step:e.groupStep,slot:e.slot,pending:e.pending,disabled:a,confirmDisabled:s,nextLabel:o,onBack:t,onNext:n})]})},D9={slotsDate:`_slotsDate_1rdif_3`,slotsEmpty:`_slotsEmpty_1rdif_10`,slotsEmptyIcon:`_slotsEmptyIcon_1rdif_24`,slotsEmptyTitle:`_slotsEmptyTitle_1rdif_36`,slotList:`_slotList_1rdif_42`,slot:`_slot_1rdif_3`,slotActive:`_slotActive_1rdif_86`,slotWithConflicts:`_slotWithConflicts_1rdif_102`,slotMain:`_slotMain_1rdif_113`,slotConflictList:`_slotConflictList_1rdif_120`,conflictLabel:`_conflictLabel_1rdif_131`,conflictAvatar:`_conflictAvatar_1rdif_136`,noSlots:`_noSlots_1rdif_162`};hh(),fo(),Do(),Fy(),H7();var Bin={hidden:{},visible:{transition:{staggerChildren:.03}}},Vin=`You're not available at this time — you can still book.`,Hin=({option:e,isSelected:t,onSlot:n,contactsList:r,viewer:i,tzId:a})=>{let o=v9(e.startUtc,e.endUtc,a),s=e.conflicts.length>0,c=e.conflicts.includes(i.id);return(0,D.jsxs)(Gm.button,{type:`button`,variants:gh,whileTap:{scale:.97},className:T(D9.slot,t&&D9.slotActive,s&&!t&&D9.slotWithConflicts),title:c?Vin:void 0,onClick:()=>{n(e.label)},children:[(0,D.jsxs)(`div`,{className:D9.slotMain,children:[(0,D.jsx)(`span`,{children:o}),t&&(0,D.jsx)(Nn,{size:14,strokeWidth:3})]}),s&&(0,D.jsxs)(`div`,{className:D9.slotConflictList,children:[(0,D.jsx)(`span`,{className:D9.conflictLabel,children:c?`You're busy —`:`Conflict:`}),e.conflicts.map(e=>{let t=e===i.id,n=r.find(t=>t.id===e);return(0,D.jsx)(`span`,{className:D9.conflictAvatar,title:t?Vin:`${n?.name??``} is busy / unavailable`,children:t?i.initials||`YOU`:n?.initials??``},e)})]})]})},Uin=({dateLabel:e,slot:t,offset:n,onSlot:r,slots:i,contactsList:a,viewer:o,tzId:s})=>(0,D.jsxs)(`div`,{className:b9.col,children:[(0,D.jsxs)(`div`,{className:b9.colTitle,children:[(0,D.jsx)(`span`,{className:b9.stepDot,children:`3`}),` Available times`]}),e===``?(0,D.jsxs)(`div`,{className:D9.slotsEmpty,children:[(0,D.jsx)(`span`,{className:D9.slotsEmptyIcon,children:(0,D.jsx)(Xn,{size:28})}),(0,D.jsx)(`span`,{className:D9.slotsEmptyTitle,children:`Pick a date`}),(0,D.jsx)(`span`,{children:`Choose a day to see open times.`})]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:D9.slotsDate,children:[e,` · times in `,n]}),(0,D.jsxs)(Gm.div,{className:D9.slotList,variants:Bin,initial:`hidden`,animate:`visible`,children:[i.map(e=>(0,D.jsx)(Hin,{option:e,isSelected:t===e.label,onSlot:r,contactsList:a,viewer:o,tzId:s},e.label)),i.length===0&&(0,D.jsx)(`div`,{className:D9.noSlots,children:`No available timeslots found for this day.`})]})]})]}),O9={tzWrap:`_tzWrap_n6w9w_3`,tzBtn:`_tzBtn_n6w9w_8`,tzBtnOffset:`_tzBtnOffset_n6w9w_30`,tzChevron:`_tzChevron_n6w9w_36`,tzBackdrop:`_tzBackdrop_n6w9w_40`,tzPop:`_tzPop_n6w9w_49`,tzSearch:`_tzSearch_n6w9w_62`,tzSearchInput:`_tzSearchInput_n6w9w_74`,tzList:`_tzList_n6w9w_84`,tzRow:`_tzRow_n6w9w_119`,tzRowActive:`_tzRowActive_n6w9w_138`,tzCity:`_tzCity_n6w9w_142`,tzRowOffset:`_tzRowOffset_n6w9w_151`,tzCheck:`_tzCheck_n6w9w_157`,tzEmpty:`_tzEmpty_n6w9w_161`};hh(),fo(),Fy(),Do(),H7();var Win=({search:e,list:t,value:n,onSearch:r,onPick:i})=>(0,D.jsxs)(Gm.div,{className:O9.tzPop,variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,D.jsxs)(`div`,{className:O9.tzSearch,children:[(0,D.jsx)(oa,{size:13}),(0,D.jsx)(`input`,{className:O9.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{r(e.target.value)}})]}),(0,D.jsxs)(`div`,{className:O9.tzList,children:[t.map(e=>(0,D.jsxs)(`button`,{type:`button`,className:T(O9.tzRow,e.id===n&&O9.tzRowActive),onClick:()=>{i(e.id)},children:[(0,D.jsx)(`span`,{className:O9.tzCity,children:e.city}),(0,D.jsx)(`span`,{className:O9.tzRowOffset,children:e.offset}),e.id===n&&(0,D.jsx)(Nn,{size:13,className:O9.tzCheck})]},e.id)),t.length===0&&(0,D.jsx)(`p`,{className:O9.tzEmpty,children:`No timezones match.`})]})]}),Gin=({value:e,onChange:t})=>{let[n,r]=(0,E.useState)(!1),[i,a]=(0,E.useState)(``),o=V7(e),s=i.trim().toLowerCase(),c=(B7.some(e=>e.id===o.id)?B7:[o,...B7]).filter(e=>s===``||e.city.toLowerCase().includes(s)||e.offset.toLowerCase().includes(s)||e.id.toLowerCase().includes(s));return(0,D.jsxs)(`div`,{className:O9.tzWrap,children:[(0,D.jsxs)(`button`,{type:`button`,className:O9.tzBtn,"aria-expanded":n,"aria-label":`Change timezone`,onClick:()=>{r(e=>!e)},children:[(0,D.jsx)(br,{size:13}),(0,D.jsx)(`span`,{className:O9.tzBtnCity,children:o.city}),(0,D.jsx)(`span`,{className:O9.tzBtnOffset,children:o.offset}),(0,D.jsx)(Fn,{size:13,className:O9.tzChevron})]}),(0,D.jsx)(vm,{children:n&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:O9.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{r(!1)}}),(0,D.jsx)(Win,{search:i,list:c,value:e,onSearch:a,onPick:e=>{t(e),a(``),r(!1)}})]})})]})},k9={badgeWrap:`_badgeWrap_swq6w_3`,badgeCircle:`_badgeCircle_swq6w_10`,guestRow:`_guestRow_swq6w_21`,eventVal:`_eventVal_swq6w_28`,iconRow:`_iconRow_swq6w_33`,iconRowMuted:`_iconRowMuted_swq6w_39`,iconRowTop:`_iconRowTop_swq6w_47`,agendaVal:`_agendaVal_swq6w_53`,iconTop:`_iconTop_swq6w_58`};hh(),fo(),Do();var Kin=()=>(0,D.jsxs)(`div`,{className:S9.successHeader,children:[(0,D.jsx)(`div`,{className:k9.badgeWrap,children:(0,D.jsx)(Gm.div,{initial:{scale:0},animate:{scale:1},transition:{type:`spring`,stiffness:260,damping:20},className:k9.badgeCircle,children:(0,D.jsx)(Gm.div,{initial:{scale:0,rotate:-45},animate:{scale:1,rotate:0},transition:{delay:.2,type:`spring`,stiffness:200,damping:15},children:(0,D.jsx)(Nn,{size:32,color:`var(--color-success)`,strokeWidth:3})})})}),(0,D.jsx)(`h2`,{className:S9.successTitle,children:`Booking Confirmed!`}),(0,D.jsx)(`p`,{className:S9.successSub,children:`A calendar invite has been sent to all participants.`})]}),qin=({d:e})=>{let t=e.meetingType===`group`;return(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:t?`Invited Guests`:`Attendee`}),(0,D.jsx)(`div`,{className:T(S9.successVal,k9.guestRow),children:t?e.selectedContactIds.map(t=>{let n=e.list.find(e=>e.id===t);return n===void 0?null:(0,D.jsxs)(`span`,{className:S9.confirmAttendeeBadge,children:[(0,D.jsx)(`span`,{className:S9.avatarTiny,style:{backgroundColor:n.color},children:n.initials}),n.name]},n.id)}):e.contact?(0,D.jsxs)(`span`,{className:S9.confirmAttendeeBadge,children:[(0,D.jsx)(`span`,{className:S9.avatarTiny,style:{backgroundColor:e.contact.color},children:e.contact.initials}),e.contact.name]}):`None`})]})},Jin=({d:e})=>{let t=e.meetingType===`group`,n=t?e.groupTitle||`Group Meeting`:`1:1 with ${e.contact?.name??`Attendee`}`,r=t?e.groupLocation:`Online — link generated automatically`,i=t?e.groupDescription:``,a=v9(e.bookedSlot?.startUtc,e.bookedSlot?.endUtc,e.tzId);return(0,D.jsxs)(Gm.div,{className:S9.successCard,initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{delay:.3,duration:.25,ease:`easeOut`},children:[(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Event`}),(0,D.jsx)(`span`,{className:T(S9.successVal,k9.eventVal),children:n})]}),(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Date & Time`}),(0,D.jsxs)(`span`,{className:S9.successVal,children:[(0,D.jsxs)(`span`,{className:k9.iconRow,children:[(0,D.jsx)(Sn,{size:14,color:`var(--color-primary)`}),e.dateLabel]}),(0,D.jsxs)(`span`,{className:k9.iconRowMuted,children:[(0,D.jsx)(Xn,{size:14}),a,` (`,e.zone.offset,`)`]})]})]}),(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Location`}),(0,D.jsx)(`span`,{className:S9.successVal,children:(0,D.jsxs)(`span`,{className:k9.iconRow,children:[(0,D.jsx)(qr,{size:14,color:`var(--color-primary)`}),r]})})]}),(0,D.jsx)(qin,{d:e}),t&&i.trim()!==``&&(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Agenda`}),(0,D.jsx)(`span`,{className:T(S9.successVal,k9.agendaVal),children:(0,D.jsxs)(`span`,{className:k9.iconRowTop,children:[(0,D.jsx)(Ba,{size:14,className:k9.iconTop}),i]})})]})]})},Yin=({d:e,onViewScheduled:t})=>(0,D.jsxs)(`div`,{className:S9.successActions,children:[(0,D.jsx)(`button`,{type:`button`,className:T(S9.successBtn,S9.successBtnPrimary),onClick:()=>{t!==void 0&&t()},children:`View Scheduled Meetings`}),(0,D.jsx)(`button`,{type:`button`,className:T(S9.successBtn,S9.successBtnSecondary),onClick:()=>{e.reset()},children:`Book Another Meeting`})]}),Xin=({d:e,onViewScheduled:t})=>(0,D.jsxs)(`div`,{className:S9.successContainer,children:[(0,D.jsx)(Kin,{}),(0,D.jsx)(Jin,{d:e}),(0,D.jsx)(Yin,{d:e,onViewScheduled:t})]});Do();var Zin=({d:e})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:y9.bookGrid,children:[(0,D.jsx)(Zrn,{contacts:e.searchResults,selectedId:e.contactId,search:e.search,onSearch:t=>{e.setSearch(t)},onSelect:t=>{e.setContactId(t)},mode:e.meetingType,selectedIds:e.selectedContactIds,onSelectGroup:t=>{e.setSelectedContactIds(t)},groupTitle:e.groupTitle,onGroupTitleChange:t=>{e.setGroupTitle(t)}}),(0,D.jsx)(Urn,{view:e.view,today:e.today,selected:e.selected,onShift:t=>{e.shift(t)},onPick:t=>{e.pickDate(t)}}),(0,D.jsx)(Uin,{dateLabel:e.dateLabel,slot:e.slot,offset:e.zone.offset,onSlot:t=>{e.setSlot(t)},slots:e.availableSlots,contactsList:e.list,viewer:e.viewer,tzId:e.tzId})]}),(0,D.jsx)(Irn,{contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,canBook:e.canBook,success:e.success,meetingType:e.meetingType,selectedContactIds:e.selectedContactIds,groupTitle:e.groupTitle,onBook:()=>{e.setConfirmOpen(!0)},selectedSlot:e.selectedSlot,tzId:e.tzId}),(0,D.jsx)(qrn,{open:e.confirmOpen,contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,zone:e.zone,pending:e.pending,onConfirm:()=>{e.confirm()},onClose:()=>{e.setConfirmOpen(!1)},selectedSlot:e.selectedSlot,tzId:e.tzId})]}),Qin=({onViewScheduled:e})=>{let t=jin();return t.success?(0,D.jsx)(Xin,{d:t,onViewScheduled:e}):(0,D.jsxs)(`div`,{className:y9.bookCard,children:[(0,D.jsxs)(`div`,{className:y9.bookTopBar,children:[(0,D.jsxs)(`div`,{className:y9.typeSelector,children:[(0,D.jsx)(`button`,{type:`button`,className:T(y9.typeBtn,t.meetingType===`1:1`&&y9.typeBtnActive),onClick:()=>{t.setMeetingType(`1:1`)},children:`1:1 Meeting`}),(0,D.jsx)(`button`,{type:`button`,className:T(y9.typeBtn,t.meetingType===`group`&&y9.typeBtnActive),onClick:()=>{t.setMeetingType(`group`)},children:`Group Meeting (1:Many)`})]}),(0,D.jsx)(Gin,{value:t.tzId,onChange:e=>{t.setTzId(e)}})]}),t.meetingType===`group`?(0,D.jsx)(zin,{d:t}):(0,D.jsx)(Zin,{d:t})]})},A9={schedWrap:`_schedWrap_d5mtd_4`,bucketTabs:`_bucketTabs_d5mtd_11`,bucketTab:`_bucketTab_d5mtd_11`,bucketTabActive:`_bucketTabActive_d5mtd_38`,bucketBg:`_bucketBg_d5mtd_45`,bucketLabel:`_bucketLabel_d5mtd_53`,bucketCount:`_bucketCount_d5mtd_58`,meetingList:`_meetingList_d5mtd_76`,meeting:`_meeting_d5mtd_76`,datePlate:`_datePlate_d5mtd_101`,datePlatePassed:`_datePlatePassed_d5mtd_114`,datePlateCanceled:`_datePlateCanceled_d5mtd_118`,datePlateMonth:`_datePlateMonth_d5mtd_122`,datePlateDay:`_datePlateDay_d5mtd_129`,meetingAvatar:`_meetingAvatar_d5mtd_141`,meetingBody:`_meetingBody_d5mtd_155`,meetingTitle:`_meetingTitle_d5mtd_163`,meetingMeta:`_meetingMeta_d5mtd_174`,meetingMetaItem:`_meetingMetaItem_d5mtd_183`,meetingActions:`_meetingActions_d5mtd_189`,acceptBtn:`_acceptBtn_d5mtd_196`,joinBtn:`_joinBtn_d5mtd_197`,acceptBtnDisabled:`_acceptBtnDisabled_d5mtd_214`,joinBtnDisabled:`_joinBtnDisabled_d5mtd_216`,declineBtn:`_declineBtn_d5mtd_224`,declineBtnDisabled:`_declineBtnDisabled_d5mtd_235`,cancelBtn:`_cancelBtn_d5mtd_241`,cancelBtnDisabled:`_cancelBtnDisabled_d5mtd_252`,statusPill:`_statusPill_d5mtd_260`,statusAccepted:`_statusAccepted_d5mtd_270`,statusPending:`_statusPending_d5mtd_275`,statusRejected:`_statusRejected_d5mtd_280`,statusCanceled:`_statusCanceled_d5mtd_281`,liveNow:`_liveNow_d5mtd_288`,liveNowDot:`_liveNowDot_d5mtd_293`,"live-now-breathe":`_live-now-breathe_d5mtd_1`,statusCompleted:`_statusCompleted_d5mtd_319`,empty:`_empty_d5mtd_324`,emptyIconWrap:`_emptyIconWrap_d5mtd_334`,emptyTitle:`_emptyTitle_d5mtd_346`,emptyText:`_emptyText_d5mtd_353`,participantsChip:`_participantsChip_d5mtd_389`,participantsPanel:`_participantsPanel_d5mtd_409`,participantRow:`_participantRow_d5mtd_416`,participantAvatar:`_participantAvatar_d5mtd_428`,participantName:`_participantName_d5mtd_442`,participantOrganizer:`_participantOrganizer_d5mtd_453`,participantStatus:`_participantStatus_d5mtd_458`,participantAccepted:`_participantAccepted_d5mtd_464`,participantRejected:`_participantRejected_d5mtd_468`,participantPending:`_participantPending_d5mtd_472`};fo(),Fy(),Do();var $in=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,ean=e=>e===`accepted`?A9.participantAccepted??!1:e===`rejected`?A9.participantRejected??!1:A9.participantPending??!1,tan=({participants:e})=>e.length===0?null:(0,D.jsx)(rwe,{ariaLabel:`Meeting participants`,contentClassName:A9.participantsPanel,trigger:(0,D.jsxs)(`button`,{type:`button`,className:A9.participantsChip,"aria-label":`${String(e.length)} participants — show who is in this meeting`,children:[(0,D.jsx)(to,{size:11}),` `,e.length]}),children:e.map(e=>(0,D.jsxs)(`div`,{className:A9.participantRow,children:[(0,D.jsx)(`span`,{className:A9.participantAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:A9.participantName,children:[e.name,e.isOrganizer&&(0,D.jsx)(`span`,{className:A9.participantOrganizer,children:` · organizer`})]}),(0,D.jsx)(`span`,{className:T(A9.participantStatus,ean(e.status)),children:$in(e.status)})]},e.userId))});fo(),Do(),Fy(),H7();var nan=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,ran=e=>e===`accepted`?A9.statusAccepted??!1:e===`rejected`?A9.statusRejected??!1:A9.statusPending??!1,ian=(e,t)=>e?`Leave the active call before canceling`:t?`Cancel meeting`:`Permission Denied`,aan=e=>{if(!e.isOrganizer||e.participants.length===0)return{label:nan(e.myStatus),status:e.myStatus};let t=e.participants.filter(e=>!e.isOrganizer);if(t.length===1){let e=t[0];if(e!==void 0)return e.status===`pending`?{label:`Awaiting reply`,status:`pending`}:{label:nan(e.status),status:e.status}}let n=t.filter(e=>e.status===`accepted`).length;return{label:`${String(n)}/${String(t.length)} accepted`,status:n>0?`accepted`:`pending`}},oan=({onRespond:e,canRespond:t})=>{let n=(0,D.jsxs)(`button`,{type:`button`,className:T(A9.acceptBtn,!t&&A9.acceptBtnDisabled),disabled:!t,onClick:()=>{e(!0)},children:[(0,D.jsx)(Nn,{size:12,strokeWidth:3}),` Accept`]}),r=(0,D.jsx)(`button`,{type:`button`,className:T(A9.declineBtn,!t&&A9.declineBtnDisabled),disabled:!t,onClick:()=>{e(!1)},children:`Decline`});return(0,D.jsxs)(`div`,{className:A9.meetingActions,children:[t?n:(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:n}),t?r:(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:r})]})},san=({meeting:e,onCancel:t,onJoin:n,canJoin:r,joinHint:i,canCancel:a})=>{let o=e9(e=>e.activeMeeting),s=e9(e=>e.isJoined)&&o!==null&&o.meetingId===e.id,c=e.myStatus===`accepted`,l=!r||s,u=s?`You are currently in this meeting`:i,d=ian(s,a),f=aan(e);return(0,D.jsxs)(`div`,{className:A9.meetingActions,children:[(0,D.jsx)(tan,{participants:e.participants}),(0,D.jsx)(`span`,{className:T(A9.statusPill,ran(f.status)),children:f.label}),c&&(0,D.jsx)(iy,{label:u,side:`top`,children:(0,D.jsxs)(`button`,{type:`button`,className:T(A9.joinBtn,l&&A9.joinBtnDisabled),disabled:l,"aria-label":u,onClick:n,children:[(0,D.jsx)(io,{size:13}),` `,s?`Joined`:`Join`]})}),e.isOrganizer&&(0,D.jsx)(iy,{label:d,side:`top`,children:(0,D.jsx)(`button`,{type:`button`,className:T(A9.cancelBtn,(s||!a)&&A9.cancelBtnDisabled),disabled:s||!a,"aria-label":d,onClick:t,children:`Cancel`})})]})},can=e=>{let{meeting:t,onRespond:n,canRespond:r}=e;return t.awaitingResponse?(0,D.jsx)(oan,{onRespond:n,canRespond:r}):t.bucket===`canceled`?(0,D.jsx)(`span`,{className:T(A9.statusPill,A9.statusCanceled),children:`Canceled`}):t.bucket===`passed`?(0,D.jsx)(`span`,{className:T(A9.statusPill,A9.statusCompleted),children:`Completed`}):(0,D.jsx)(san,{...e})};hh(),fo(),Do(),Fy(),gS(),H7();var lan=e=>e.isGroup?e.title===``||/^group (meeting|event)$/i.test(e.title.trim())?`Group Meeting`:`${e.title} · Group Meeting`:/^1:1\b/i.test(e.title.trim())||e.title===``?`1:1 with ${e.withName}`:e.withName===``?e.title:`${e.title} · ${e.withName}`,uan=1800*1e3,dan=e=>{let t=Math.max(1,Math.ceil(e/6e4)),n=Math.floor(t/1440);if(n>=1){let e=Math.floor((t-n*60*24)/60);return e>0?`in ${String(n)}d ${String(e)}h`:`in ${String(n)}d`}let r=Math.floor(t/60),i=t%60;return r>=1?i>0?`in ${String(r)}h ${String(i)}m`:`in ${String(r)}h`:`in ${String(i)}m`},fan=(e,t)=>({month:e.toLocaleDateString(`en-US`,{month:`short`,timeZone:t}).toUpperCase(),day:e.toLocaleDateString(`en-US`,{day:`numeric`,timeZone:t})}),pan=(e,t)=>{let[n,r]=(0,E.useState)(()=>Date.now());(0,E.useEffect)(()=>{let e=setInterval(()=>{r(Date.now())},3e4);return()=>{clearInterval(e)}},[]);let i=n>=e-uan&&n<=t;return{canJoin:i,joinHint:i?`Join the meeting`:n>t?`This meeting has ended`:`Join opens 30 min before — starts ${dan(e-n)}`,isHappeningNow:n>=e&&n<=t}},man=({meeting:e,showLiveBadge:t,displayStart:n,displayEnd:r,tzSuffix:i})=>(0,D.jsxs)(`div`,{className:A9.meetingBody,children:[(0,D.jsxs)(`span`,{className:A9.meetingTitle,children:[lan(e),t&&(0,D.jsxs)(`span`,{className:T(A9.statusPill,A9.liveNow),children:[(0,D.jsx)(`span`,{className:A9.liveNowDot,"aria-hidden":`true`}),`Happening now`]})]}),(0,D.jsxs)(`div`,{className:A9.meetingMeta,children:[(0,D.jsxs)(`span`,{className:A9.meetingMetaItem,children:[(0,D.jsx)(Xn,{size:11}),` `,n,`–`,r,i]}),(0,D.jsxs)(`span`,{className:A9.meetingMetaItem,children:[(0,D.jsx)(qr,{size:11}),` `,e.location]})]})]}),han=e=>{let{meeting:t}=e,n=hS(),{hasPermission:r}=wS(),i=r(CS.meetingsRespond),a=r(CS.meetingsCancel),o=new Date(t.startUtc),s=new Date(t.endUtc),c=n.formatTime(t.startUtc),l=n.formatTime(t.endUtc),u=fan(o,n.display),d=` (${V7(n.display).offset})`,{canJoin:f,joinHint:p,isHappeningNow:m}=pan(o.getTime(),s.getTime()),h=m&&t.bucket===`upcoming`,g=(0,E.useRef)(null),_=(0,E.useRef)(null);(0,E.useEffect)(()=>{_.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:v}=$he({target:g,container:_,offset:[`start end`,`end start`]}),y=ph(v,[0,1],[-8,8]);return(0,D.jsxs)(Gm.article,{ref:g,style:{y},className:A9.meeting,variants:gh,whileHover:{y:-2},transition:{type:`spring`,stiffness:400,damping:30},children:[(0,D.jsxs)(`div`,{className:T(A9.datePlate,t.bucket===`passed`&&A9.datePlatePassed,t.bucket===`canceled`&&A9.datePlateCanceled),children:[(0,D.jsx)(`span`,{className:A9.datePlateMonth,children:u.month}),(0,D.jsx)(`span`,{className:A9.datePlateDay,children:u.day})]}),(0,D.jsx)(`span`,{className:A9.meetingAvatar,style:yo({"--avatar-color":t.withColor}),children:t.withInitials}),(0,D.jsx)(man,{meeting:t,showLiveBadge:h,displayStart:c,displayEnd:l,tzSuffix:d}),(0,D.jsx)(can,{...e,canJoin:f,joinHint:p,canRespond:i,canCancel:a})]})},j9={list:`_list_1vv5w_1`,meeting:`_meeting_1vv5w_7`,datePlate:`_datePlate_1vv5w_17`,pulse:`_pulse_1vv5w_1`,avatar:`_avatar_1vv5w_26`,body:`_body_1vv5w_35`,title:`_title_1vv5w_43`,meta:`_meta_1vv5w_51`,actions:`_actions_1vv5w_59`,btn:`_btn_1vv5w_66`},gan=()=>(0,D.jsx)(`div`,{className:j9.list,children:Array.from({length:3}).map((e,t)=>(0,D.jsxs)(`div`,{className:j9.meeting,children:[(0,D.jsx)(`div`,{className:j9.datePlate}),(0,D.jsx)(`div`,{className:j9.avatar}),(0,D.jsxs)(`div`,{className:j9.body,children:[(0,D.jsx)(`div`,{className:j9.title}),(0,D.jsx)(`div`,{className:j9.meta})]}),(0,D.jsxs)(`div`,{className:j9.actions,children:[(0,D.jsx)(`div`,{className:j9.btn}),(0,D.jsx)(`div`,{className:j9.btn})]})]},`skel-${String(t)}`))});Dt(),hh(),fo(),Fy(),Do(),J7();var _an=[{id:`upcoming`,label:`Upcoming`},{id:`passed`,label:`Past`},{id:`canceled`,label:`Canceled`}],van={type:`spring`,stiffness:420,damping:34},yan={hidden:{},visible:{transition:{staggerChildren:.05}}},ban=({bucket:e,counts:t,onSelect:n})=>(0,D.jsx)(`div`,{className:A9.bucketTabs,children:_an.map(r=>{let i=e===r.id;return(0,D.jsxs)(`button`,{type:`button`,className:T(A9.bucketTab,i&&A9.bucketTabActive),onClick:()=>{n(r.id)},children:[i&&(0,D.jsx)(Gm.span,{layoutId:`bucketBg`,className:A9.bucketBg,transition:van}),(0,D.jsx)(`span`,{className:A9.bucketLabel,children:r.label}),(0,D.jsx)(`span`,{className:A9.bucketCount,children:t[r.id]})]},r.id)})}),xan=1e4,San=()=>{let e=We(),t=q7(xan),n=i7t(),r=a7t(),[i,a]=(0,E.useState)(`upcoming`),o=t.data??[],s=t.data===void 0,c=[...o].filter(e=>e.bucket===i).sort((e,t)=>new Date(e.startUtc).getTime()-new Date(t.startUtc).getTime()),l={upcoming:o.filter(e=>e.bucket===`upcoming`).length,passed:o.filter(e=>e.bucket===`passed`).length,canceled:o.filter(e=>e.bucket===`canceled`).length};return(0,D.jsxs)(`div`,{className:A9.schedWrap,children:[(0,D.jsx)(ban,{bucket:i,counts:l,onSelect:a}),t.isPending?(0,D.jsx)(gan,{}):null,t.isError&&s?(0,D.jsx)(ls,{tone:`error`,title:`Could not load meetings`,children:t.error.message}):null,t.isError&&!s?(0,D.jsx)(ls,{tone:`info`,title:`Showing the last known meetings`,children:`Could not refresh just now. This will update on its own.`}):null,!s&&c.length===0?(0,D.jsxs)(`div`,{className:A9.empty,children:[(0,D.jsx)(`div`,{className:A9.emptyIconWrap,children:(0,D.jsx)(Tn,{size:32})}),(0,D.jsxs)(`span`,{className:A9.emptyTitle,children:[`No `,i,` meetings`]}),(0,D.jsx)(`span`,{className:A9.emptyText,children:`Nothing scheduled here yet.`})]}):null,!s&&c.length>0?(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Gm.div,{className:A9.meetingList,variants:yan,initial:`hidden`,animate:`visible`,children:c.map(t=>(0,D.jsx)(han,{meeting:t,onRespond:e=>{n.mutate({meetingId:t.id,accept:e})},onCancel:()=>{r.mutate(t.id)},onJoin:()=>{e(`/comms/meetings/${t.id}/room`)}},t.id))},i)}):null]})},M9={screen:`_screen_18kgg_6`,head:`_head_18kgg_13`,headTop:`_headTop_18kgg_19`,title:`_title_18kgg_27`,subtitle:`_subtitle_18kgg_35`,headBadge:`_headBadge_18kgg_41`,headBadgeNum:`_headBadgeNum_18kgg_47`,headBadgeLabel:`_headBadgeLabel_18kgg_53`,tabs:`_tabs_18kgg_59`,tab:`_tab_18kgg_59`,tabActive:`_tabActive_18kgg_84`,tabUnderline:`_tabUnderline_18kgg_90`,body:`_body_18kgg_100`,tabContent:`_tabContent_18kgg_107`};fo(),hh(),Do(),J7();var Can=()=>{let[e,t]=(0,E.useState)(`scheduled`),n=(q7().data??[]).filter(e=>e.bucket===`upcoming`).length;return(0,D.jsxs)(`div`,{className:M9.screen,children:[(0,D.jsxs)(`header`,{className:M9.head,children:[(0,D.jsxs)(`div`,{className:M9.headTop,children:[(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h1`,{className:M9.title,children:`Meetings`}),(0,D.jsx)(`p`,{className:M9.subtitle,children:`Book 1:1 meetings and manage your invitations.`})]}),(0,D.jsxs)(`div`,{className:M9.headBadge,children:[(0,D.jsx)(`span`,{className:M9.headBadgeNum,children:n}),(0,D.jsx)(`span`,{className:M9.headBadgeLabel,children:`upcoming`})]})]}),(0,D.jsxs)(`div`,{className:M9.tabs,children:[(0,D.jsxs)(`button`,{type:`button`,className:T(M9.tab,e===`book`&&M9.tabActive),onClick:()=>{t(`book`)},children:[(0,D.jsx)(Sn,{size:15}),` Book a Meeting`,e===`book`&&(0,D.jsx)(Gm.span,{layoutId:`bookTabUnderline`,className:M9.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]}),(0,D.jsxs)(`button`,{type:`button`,className:T(M9.tab,e===`scheduled`&&M9.tabActive),onClick:()=>{t(`scheduled`)},children:[(0,D.jsx)(Xn,{size:15}),` Scheduled`,e===`scheduled`&&(0,D.jsx)(Gm.span,{layoutId:`bookTabUnderline`,className:M9.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]})]})]}),(0,D.jsx)(`div`,{className:M9.body,children:(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Gm.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2,ease:`easeOut`},className:M9.tabContent,children:e===`book`?(0,D.jsx)(Qin,{onViewScheduled:()=>{t(`scheduled`)}}):(0,D.jsx)(San,{})},e)})})]})};Dt(),t9();var wan=()=>{let{meetingId:e}=Ke(),t=e9(e=>e.setRequestedMeetingId);return(0,E.useEffect)(()=>{e!==void 0&&t(e)},[e,t]),(0,D.jsx)(D.Fragment,{})};Dt();var Tan=`/comms/bookings`,Ean=`/comms/meetings/:meetingId/room`,Dan=()=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(at,{children:[(0,D.jsx)(rt,{path:Tan,element:(0,D.jsx)(Can,{})}),(0,D.jsx)(rt,{path:Ean,element:(0,D.jsx)(wan,{})}),(0,D.jsx)(rt,{path:`*`,element:(0,D.jsx)(nt,{to:Tan,replace:!0})})]}),(0,D.jsx)(C9t,{takeover:!0}),(0,D.jsx)(K7t,{})]}),Oan=()=>{m9(`uapp-bookings`,()=>(0,D.jsx)(Dan,{}))};ib();var N9=(e,t=0)=>{let n=new Date(e);return n.setHours(0,0,0,0),n.setDate(e.getDate()-(e.getDay()+6)%7+t*7),Array.from({length:7},(e,t)=>{let r=new Date(n);return r.setDate(n.getDate()+t),r})},kan=(e,t)=>{let n=Xy(e);return N9(e,t).map(e=>({date:e,dayNumber:e.getDate(),isToday:Xy(e)===n}))},P9=(e,t)=>e.toLocaleDateString(void 0,t),Aan=(e,t)=>{let n=N9(e,t),r=n[0]??e,i=n[6]??e,a=r.getFullYear()===i.getFullYear();return a&&r.getMonth()===i.getMonth()?`${String(r.getDate())} – ${P9(i,{day:`numeric`,month:`long`,year:`numeric`})}`:a?`${P9(r,{day:`numeric`,month:`short`})} – ${P9(i,{day:`numeric`,month:`short`,year:`numeric`})}`:`${P9(r,{day:`numeric`,month:`short`,year:`numeric`})} – ${P9(i,{day:`numeric`,month:`short`,year:`numeric`})}`},jan=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),Man=(e,t)=>jan(e,t).toLocaleDateString(void 0,{month:`long`,year:`numeric`}),Nan=(e,t)=>{let n=jan(e,t),r=(n.getDay()+6)%7,i=new Date(n.getFullYear(),n.getMonth()+1,0).getDate(),a=Math.ceil((r+i)/7),o=new Date(n);return o.setDate(n.getDate()-r),Array.from({length:a*7},(e,t)=>{let n=new Date(o);return n.setDate(o.getDate()+t),n})},Pan=e=>{if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),n=e%60;return n===0?`${String(t)}h`:`${String(t)}h ${String(n)}m`},F9=e=>{let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`},Fan=e=>new Date(e).toLocaleDateString(void 0,{weekday:`short`,day:`numeric`,month:`short`}),I9=e=>Xy(e),L9=e=>F9(e),R9=(e,t)=>{let[n,r,i]=e.split(`-`),[a,o]=t.split(`:`);return new Date(Number(n??`1970`),Number(r??`1`)-1,Number(i??`1`),Number(a??`0`),Number(o??`0`),0,0).toISOString()};fo(),ib();var z9={available:{label:`Available`,color:`#22c55e`,Icon:Nn},busy:{label:`Busy`,color:`#ef4444`,Icon:an},meeting:{label:`Meeting`,color:`#3b82f6`,Icon:io},focus:{label:`Focus`,color:`#8b5cf6`,Icon:La},away:{label:`Away`,color:`#94a3b8`,Icon:Xn}},B9=e=>e===0||e===24?`12 AM`:e===12?`12 PM`:e<12?`${String(e)} AM`:`${String(e-12)} PM`,V9=(e,t)=>{let n=Jy(e),r=Jy(t);return r<=n?1440:r},Ian=(e,t)=>{let n=rb(t);return n<=rb(e)?1440:n},Lan=(e,t,n)=>{let r=rb(n)<=rb(t)?0:Math.max(0,Math.floor(rb(t)/60)-1),i=Math.min(24,Math.ceil(Ian(t,n)/60)+1);for(let t of e){let e=t.block.status===`available`&&(t.continuesFromPrevDay===!0||t.continuesToNextDay===!0);t.block.allDay&&!e||(r=Math.min(r,Math.floor(Jy(t.start)/60)),i=Math.max(i,Math.ceil(V9(t.start,t.end)/60)))}return r=Math.max(0,Math.min(r,22)),i=Math.min(24,Math.max(i,r+2)),{startHour:r,endHour:i}},Ran=e=>Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n),zan=e=>(e.endHour-e.startHour)*52,Ban=(e,t,n)=>{let r=Jy(e),i=V9(e,t);return{top:(r-n.startHour*60)*52/60,height:Math.max(20,(i-r)*52/60-2)}},Van=(e,t,n)=>{let r=n.startHour*60,i=Math.max(e,r),a=Math.min(t,n.endHour*60);return a<=i?null:{top:(i-r)*52/60,height:(a-i)*52/60}},Han=(e,t,n)=>e?t.flatMap(e=>{let t=rb(e.from),r=rb(e.to);if(r<=t)return[Van(t,1440,n),Van(0,r,n)].filter(e=>e!==null);let i=Van(t,r,n);return i===null?[]:[i]}):[],Uan=(e,t)=>{let n=e.getHours()*60+e.getMinutes();return n<t.startHour*60||n>t.endHour*60?null:(n-t.startHour*60)*52/60},Wan=(e,t,n,r=90)=>((rb(t)<=rb(e)?0:rb(e))-n*60)*52/60-r*52/60,Gan=(e,t,n=90)=>(e.getHours()*60+e.getMinutes()-t*60)*52/60-n*52/60,Kan=e=>{let t=[...e].sort((e,t)=>Jy(e.start)-Jy(t.start)||V9(e.start,e.end)-V9(t.start,t.end)),n=[],r=[],i=[],a=()=>{let e=Math.max(1,i.length);for(let t of r)n.push({occurrence:t.occurrence,lane:t.lane,lanes:e});r=[],i=[]};for(let e of t){let t=Jy(e.start),n=V9(e.start,e.end);r.length>0&&t>=Math.max(...i)&&a();let o=i.findIndex(e=>e<=t);o===-1?(o=i.length,i.push(n)):i[o]=n,r.push({occurrence:e,lane:o})}return a(),n},qan=e=>{let t=e.filter(e=>e.end>e.start).slice().sort((e,t)=>e.start-t.start),n=[];for(let e of t){let t=n[n.length-1];t!==void 0&&e.start<=t.end?n[n.length-1]={start:t.start,end:Math.max(t.end,e.end)}:n.push(e)}return n},Jan=e=>e.reduce((e,t)=>e+(t.end-t.start),0),Yan=(e,t,n)=>{let r=Xy(t),i=e.filter(e=>e.date===r&&!e.block.allDay),a=qan([...n.map(e=>{let t=rb(e.from),n=rb(e.to);return{start:t,end:n<=t?1440:n}}),...i.filter(e=>e.block.status===`available`).map(e=>({start:Jy(e.start),end:V9(e.start,e.end)}))]),o=i.filter(e=>e.block.status!==`available`).map(e=>({start:Jy(e.start),end:V9(e.start,e.end)})),s=0;for(let e of a){let t=qan(o.map(t=>({start:Math.max(e.start,t.start),end:Math.min(e.end,t.end)})));s+=e.end-e.start-Jan(t)}return Math.max(0,Math.round(s/60))};ib(),mS();var Xan=(e,t)=>new Date(new Date(e).getTime()+t*6e4).toISOString(),Zan=(e,t)=>{let n=new Date(e),r=dS(t,n)-dS(lS(),n);return r===0?e:new Date(n.getTime()-r*6e4).toISOString()},Qan=(e,t)=>{let n=new Date(e),r=dS(t,n)-dS(lS(),n);return r===0?e:new Date(n.getTime()+r*6e4).toISOString()},H9=(e,t)=>({...e,start:Zan(e.start,t),end:Zan(e.end,t)}),$an=e=>{if(e.mode===`edit`){let{block:t}=e;return{title:t.title,status:t.status,start:t.start,end:t.allDay?t.end:R9(I9(t.start),L9(t.end)),allDay:t.allDay,notes:t.notes,recurrence:t.recurrence}}let t=e.start,n=e.end??Xan(t,60),r=null,i=Xy(t);if(i!==Xy(n)){n=R9(i,L9(n));let a=new Date(t),o=new Date(e.end??n),s=[],c=new Date(a),l=0;for(;Xy(c)<=Xy(o)&&l<100;)l++,s.push(c.getDay()),c.setDate(c.getDate()+1);r={freq:`weekly`,interval:1,weekdays:s,monthlyMode:`dayOfMonth`,endType:`on`,endCount:13,endDate:Xy(o),exceptions:[]}}return{title:e.title??``,status:e.status??`available`,start:t,end:n,allDay:!1,notes:``,recurrence:r}},eon=e=>({...e,recurrence:e.recurrence===null?nOe(e.start):null}),ton=(e,t)=>({...e,recurrence:t}),non=(e,t)=>({...e,start:R9(t,L9(e.start)),end:R9(t,L9(e.end))}),ron=(e,t)=>{let n=R9(I9(e.start),t),r=new Date(n).getTime()-new Date(e.start).getTime();return{...e,start:n,end:new Date(new Date(e.end).getTime()+r).toISOString()}},ion=(e,t)=>({...e,end:R9(I9(e.start),t)}),aon=(e,t)=>{let n=I9(e.start);return t?{...e,allDay:!0,start:R9(n,`00:00`),end:R9(n,`23:59`)}:{...e,allDay:!1,start:R9(n,`09:00`),end:R9(n,`10:00`)}},U9={notesInput:`_notesInput_1oymt_7`,actionSpacer:`_actionSpacer_1oymt_24`,panelHead:`_panelHead_1oymt_29`,panelTitle:`_panelTitle_1oymt_41`,panelForm:`_panelForm_1oymt_47`,microLabel:`_microLabel_1oymt_54`,panelInput:`_panelInput_1oymt_62`,inputError:`_inputError_1oymt_79`,fieldError:`_fieldError_1oymt_84`,statusPills:`_statusPills_1oymt_90`,statusPill:`_statusPill_1oymt_90`,statusPillActive:`_statusPillActive_1oymt_110`,dtGrid:`_dtGrid_1oymt_116`,checkRow:`_checkRow_1oymt_133`,checkbox:`_checkbox_1oymt_143`,recurToggle:`_recurToggle_1oymt_150`,recurToggleOn:`_recurToggleOn_1oymt_163`,recurToggleLabel:`_recurToggleLabel_1oymt_168`,recurSwitch:`_recurSwitch_1oymt_181`,recurSwitchOn:`_recurSwitchOn_1oymt_191`,recurKnob:`_recurKnob_1oymt_195`,panelFooter:`_panelFooter_1oymt_210`,panelSummary:`_panelSummary_1oymt_215`,panelActions:`_panelActions_1oymt_226`,recurSection:`_recurSection_1oymt_234`,recurBuilder:`_recurBuilder_1oymt_240`,recurChips:`_recurChips_1oymt_250`,recurChip:`_recurChip_1oymt_250`,recurChipActive:`_recurChipActive_1oymt_267`,recurInline:`_recurInline_1oymt_273`,recurInlineLabel:`_recurInlineLabel_1oymt_281`,recurNumber:`_recurNumber_1oymt_286`,recurWeekdays:`_recurWeekdays_1oymt_297`,recurDay:`_recurDay_1oymt_303`,recurDayActive:`_recurDayActive_1oymt_315`,recurEnds:`_recurEnds_1oymt_321`,recurRadio:`_recurRadio_1oymt_327`,recurDate:`_recurDate_1oymt_339`,recurSummaryBox:`_recurSummaryBox_1oymt_349`,recurErrorText:`_recurErrorText_1oymt_359`,panelSummaryError:`_panelSummaryError_1oymt_368`,disabledButtonWrapper:`_disabledButtonWrapper_1oymt_376`,resolveConflictBtn:`_resolveConflictBtn_1oymt_381`,upcomingCard:`_upcomingCard_1oymt_402`,upcomingHeader:`_upcomingHeader_1oymt_410`,upcomingRow:`_upcomingRow_1oymt_422`,upcomingRowDate:`_upcomingRowDate_1oymt_435`,upcomingRowTime:`_upcomingRowTime_1oymt_439`,upcomingMore:`_upcomingMore_1oymt_444`,differentTimeRow:`_differentTimeRow_1oymt_453`,differentTimeList:`_differentTimeList_1oymt_464`,differentTimeRowItem:`_differentTimeRowItem_1oymt_475`,differentTimeDayLabel:`_differentTimeDayLabel_1oymt_487`,differentTimeNote:`_differentTimeNote_1oymt_496`,differentTimeRowGroup:`_differentTimeRowGroup_1oymt_503`,differentTimeDayLabelSpacer:`_differentTimeDayLabelSpacer_1oymt_509`,slotActionBtn:`_slotActionBtn_1oymt_515`,slotActionBtnTrash:`_slotActionBtnTrash_1oymt_538`},W9={center:`_center_10cfo_6`,field:`_field_10cfo_12`,dash:`_dash_10cfo_18`},oon={timePickerWrap:`_timePickerWrap_oiapt_3`};fo(),Fy(),ib();var son=[{wd:1,label:`M`,longLabel:`Mon`},{wd:2,label:`T`,longLabel:`Tue`},{wd:3,label:`W`,longLabel:`Wed`},{wd:4,label:`T`,longLabel:`Thu`},{wd:5,label:`F`,longLabel:`Fri`},{wd:6,label:`S`,longLabel:`Sat`},{wd:0,label:`S`,longLabel:`Sun`}],con=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},lon=e=>{let t=Math.floor(e/60),n=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},uon=e=>{if(!e)return{start:`09:00`,end:`17:00`};let t=con(e.start),n=con(e.end),r=n>t?n-t:60,i=n,a=i+r;return i>=1439?{start:`23:00`,end:`23:59`}:(a>1439&&(a=1439),{start:lon(i),end:lon(a)})},don=({slot:e,index:t,dayMeta:n,dayName:r,showTrash:i,onUpdateStart:a,onUpdateEnd:o,onAdd:s,onRemove:c})=>(0,D.jsxs)(`div`,{className:U9.differentTimeRowItem,children:[t===0?(0,D.jsx)(`span`,{className:U9.differentTimeDayLabel,children:n?.longLabel??r}):(0,D.jsx)(`span`,{className:U9.differentTimeDayLabelSpacer}),(0,D.jsx)(`div`,{className:oon.timePickerWrap,children:(0,D.jsx)(Py,{value:e.start,onChange:e=>{a(e)}})}),(0,D.jsx)(`span`,{className:W9.dash,children:`–`}),(0,D.jsx)(`div`,{className:oon.timePickerWrap,children:(0,D.jsx)(Py,{align:`end`,value:e.end,onChange:e=>{o(e)}})}),(0,D.jsx)(`button`,{type:`button`,className:U9.slotActionBtn,onClick:s,children:(0,D.jsx)(Ri,{size:14})}),i&&(0,D.jsx)(`button`,{type:`button`,className:U9.slotActionBtnTrash,onClick:c,children:(0,D.jsx)(Ka,{size:12})})]}),fon=({dayMeta:e,dayName:t,slots:n,startIso:r,endIso:i,onChangeSlots:a})=>{let o=n.length>0?n:[{start:L9(r),end:L9(i??r)}];return(0,D.jsx)(`div`,{className:U9.differentTimeRowGroup,children:o.map((n,r)=>(0,D.jsx)(don,{slot:n,index:r,dayMeta:e,dayName:t,showTrash:o.length>1,onUpdateStart:e=>{let t=[...o];t[r]={...n,start:e},a(t)},onUpdateEnd:e=>{let t=[...o];t[r]={...n,end:e},a(t)},onAdd:()=>{let e=o[o.length-1];a([...o,uon(e)])},onRemove:()=>{a(o.filter((e,t)=>t!==r))}},r))})},pon=({rec:e,onChange:t,startIso:n,endIso:r})=>e.weekdays.length===0?(0,D.jsx)(D.Fragment,{}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`label`,{className:U9.differentTimeRow,children:[(0,D.jsx)(`input`,{type:`checkbox`,checked:e.differentTimes??!1,onChange:n=>{t({...e,differentTimes:n.target.checked})}}),(0,D.jsx)(`span`,{children:`Different time per day`})]}),e.differentTimes&&(0,D.jsxs)(`div`,{className:U9.differentTimeList,children:[e.weekdays.map(i=>{let a=son.find(e=>e.wd===i);return(0,D.jsx)(fon,{dayMeta:a,dayName:a?a.longLabel:``,slots:e.weekdayTimes?.[i]??[],startIso:n,endIso:r,onChangeSlots:n=>{let r={...e.weekdayTimes,[i]:n};t({...e,weekdayTimes:r})}},i)}),(0,D.jsx)(`div`,{className:U9.differentTimeNote,children:`Defaults to the base event time when not overridden. Use + to add multiple slots per day.`})]})]});fo(),ib();var mon=({recurrence:e,startIso:t,endIso:n})=>{let r=new Date(t),i=n===void 0?new Date(r.getTime()+1800*1e3):new Date(n),a=r,o=new Date(r.getTime()+2160*60*60*1e3),s=lOe({start:t,end:i.toISOString(),recurrence:e},a,o),c=s.slice(0,5);return c.length===0?(0,D.jsx)(D.Fragment,{}):(0,D.jsxs)(`div`,{className:U9.upcomingCard,children:[(0,D.jsxs)(`div`,{className:U9.upcomingHeader,children:[(0,D.jsx)(On,{size:12}),` Upcoming Occurrences`]}),(0,D.jsx)(`div`,{children:c.map((e,t)=>{let n=new Date(e.start).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`}),r=`${F9(e.start)} – ${F9(e.end)}`;return(0,D.jsxs)(`div`,{className:U9.upcomingRow,children:[(0,D.jsx)(`span`,{className:U9.upcomingRowDate,children:n}),(0,D.jsx)(`span`,{className:U9.upcomingRowTime,children:r})]},t)})}),s.length>5&&(0,D.jsx)(`div`,{className:U9.upcomingMore,children:`...and more beyond`})]})};Do(),ib();var hon=[{wd:1,label:`M`},{wd:2,label:`T`},{wd:3,label:`W`},{wd:4,label:`T`},{wd:5,label:`F`},{wd:6,label:`S`},{wd:0,label:`S`}],gon={daily:`day`,weekly:`week`,monthly:`month`,yearly:`year`},_on=[{id:`dayOfMonth`,label:`Day of month`},{id:`nthWeekday`,label:`Day of week`}],von=({rec:e,onChange:t})=>(0,D.jsx)(`div`,{className:U9.recurChips,children:$De.map(n=>(0,D.jsx)(`button`,{type:`button`,className:T(U9.recurChip,e.freq===n.id&&U9.recurChipActive),"aria-pressed":e.freq===n.id,onClick:()=>{t({...e,freq:n.id})},children:n.label},n.id))}),yon=({rec:e,onChange:t})=>(0,D.jsxs)(`label`,{className:U9.recurInline,children:[(0,D.jsx)(`span`,{className:U9.recurInlineLabel,children:`Every`}),(0,D.jsx)(`input`,{type:`number`,min:1,max:99,className:U9.recurNumber,value:e.interval,onChange:n=>{t({...e,interval:Math.max(1,Number(n.target.value)||1)})}}),(0,D.jsxs)(`span`,{className:U9.recurInlineLabel,children:[gon[e.freq],e.interval>1?`s`:``]})]}),bon=({rec:e,onChange:t})=>(0,D.jsx)(`div`,{className:U9.recurWeekdays,children:hon.map(({wd:n,label:r})=>{let i=e.weekdays.includes(n);return(0,D.jsx)(`button`,{type:`button`,className:T(U9.recurDay,i&&U9.recurDayActive),"aria-pressed":i,onClick:()=>{t({...e,weekdays:i?e.weekdays.filter(e=>e!==n):[...e.weekdays,n]})},children:r},n)})}),xon=({rec:e,onChange:t})=>(0,D.jsx)(`div`,{className:U9.recurChips,children:_on.map(n=>(0,D.jsx)(`button`,{type:`button`,className:T(U9.recurChip,e.monthlyMode===n.id&&U9.recurChipActive),onClick:()=>{t({...e,monthlyMode:n.id})},children:n.label},n.id))}),Son=({rec:e,startIso:t,onChange:n})=>{let r=e.endType===`after`&&(e.endCount<1||Number.isNaN(e.endCount));return(0,D.jsxs)(`div`,{className:U9.recurEnds,children:[(0,D.jsxs)(`label`,{className:U9.recurRadio,children:[(0,D.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`never`,onChange:()=>{n({...e,endType:`never`})}}),(0,D.jsx)(`span`,{children:`Never ends`})]}),(0,D.jsxs)(`div`,{children:[(0,D.jsxs)(`label`,{className:U9.recurRadio,children:[(0,D.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`after`,onChange:()=>{n({...e,endType:`after`})}}),(0,D.jsx)(`span`,{children:`After`}),(0,D.jsx)(`input`,{type:`number`,min:1,max:365,className:U9.recurNumber,value:e.endCount===0?``:e.endCount,disabled:e.endType!==`after`,onChange:t=>{let r=t.target.value,i=r===``?0:parseInt(r,10);n({...e,endType:`after`,endCount:Number.isNaN(i)?0:Math.max(0,i)})}}),(0,D.jsx)(`span`,{children:`times`})]}),r&&(0,D.jsx)(`div`,{className:U9.recurErrorText,children:`Occurrences must be at least 1.`})]}),(0,D.jsxs)(`label`,{className:U9.recurRadio,children:[(0,D.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`on`,onChange:()=>{n({...e,endType:`on`})}}),(0,D.jsx)(`span`,{children:`On`}),(0,D.jsx)(`input`,{type:`date`,className:U9.recurDate,min:t.slice(0,10),value:e.endDate,disabled:e.endType!==`on`,onChange:t=>{n({...e,endType:`on`,endDate:t.target.value})}})]})]})},Con=({recurrence:e,startIso:t,endIso:n,onChange:r})=>{let i=e.freq===`weekly`,a=e.freq===`monthly`||e.freq===`yearly`;return(0,D.jsxs)(`div`,{className:U9.recurBuilder,children:[(0,D.jsx)(von,{rec:e,onChange:r}),(0,D.jsx)(yon,{rec:e,onChange:r}),i&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(bon,{rec:e,onChange:r}),(0,D.jsx)(pon,{rec:e,onChange:r,startIso:t,endIso:n})]}),a&&(0,D.jsx)(xon,{rec:e,onChange:r}),(0,D.jsx)(Son,{rec:e,startIso:t,onChange:r}),(0,D.jsx)(`div`,{className:U9.recurSummaryBox,children:pOe(e,t)}),(0,D.jsx)(mon,{recurrence:e,startIso:t,endIso:n})]})};fo(),Do(),ib(),Fy();var won=({draft:e,onChange:t})=>(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Status`}),(0,D.jsx)(`div`,{className:U9.statusPills,children:tb.map(n=>{let r=z9[n.id],i=e.status===n.id;return(0,D.jsxs)(`button`,{type:`button`,className:T(U9.statusPill,i&&U9.statusPillActive),style:yo({"--status-color":r.color}),"aria-pressed":i,onClick:()=>{t({...e,status:n.id})},children:[(0,D.jsx)(r.Icon,{size:13}),` `,n.label]},n.id)})})]}),Ton=({draft:e,onChange:t})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:e.allDay?W9.field:U9.dtGrid,children:[(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Date`}),(0,D.jsx)(`input`,{type:`date`,className:U9.panelInput,value:I9(e.start),onChange:n=>{t(non(e,n.target.value))}})]}),!e.allDay&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Start`}),(0,D.jsx)(Py,{value:L9(e.start),onChange:n=>{t(ron(e,n))}})]}),(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`End`}),(0,D.jsx)(Py,{align:`end`,value:L9(e.end),onChange:n=>{t(ion(e,n))}})]})]})]}),(0,D.jsxs)(`label`,{className:U9.checkRow,children:[(0,D.jsx)(`input`,{type:`checkbox`,className:U9.checkbox,checked:e.allDay,onChange:n=>{t(aon(e,n.target.checked))}}),(0,D.jsx)(`span`,{children:`All-day`})]})]}),Eon=({draft:e,onChange:t})=>{let n=e.recurrence!==null;return(0,D.jsxs)(`div`,{className:U9.recurSection,children:[(0,D.jsxs)(`button`,{type:`button`,className:T(U9.recurToggle,n&&U9.recurToggleOn),"aria-pressed":n,onClick:()=>{t(eon(e))},children:[(0,D.jsxs)(`span`,{className:U9.recurToggleLabel,children:[(0,D.jsx)(ra,{size:13}),` Recurring`]}),(0,D.jsx)(`span`,{className:T(U9.recurSwitch,n&&U9.recurSwitchOn),children:(0,D.jsx)(`span`,{className:U9.recurKnob})})]}),e.recurrence!==null&&(0,D.jsx)(Con,{recurrence:e.recurrence,startIso:e.start,endIso:e.end,onChange:n=>{t(ton(e,n))}})]})},Don=({draft:e,onChange:t})=>(0,D.jsxs)(`div`,{className:U9.panelForm,children:[(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Title`}),(0,D.jsx)(`input`,{type:`text`,className:T(U9.panelInput,e.title.length>200&&U9.inputError),value:e.title,placeholder:`e.g. Morning availability`,onChange:n=>{t({...e,title:n.target.value})}}),e.title.length>200&&(0,D.jsx)(`span`,{className:U9.fieldError,children:`The field Title must be a string with a maximum length of 200.`})]}),(0,D.jsx)(won,{draft:e,onChange:t}),(0,D.jsx)(Ton,{draft:e,onChange:t}),(0,D.jsx)(Eon,{draft:e,onChange:t}),(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Notes`}),(0,D.jsx)(`textarea`,{className:U9.notesInput,rows:3,value:e.notes,placeholder:`Optional notes`,onChange:n=>{t({...e,notes:n.target.value})}})]})]});Fy(),ib(),sS();var Oon=(e,t,n,r)=>{let i=YMe(),a=aS(),o=XMe();return{busy:i.isPending||a.isPending||o.isPending,onSave:()=>{let o=H9(t,n),s=e=>{my.success(e),r()};if(e.mode===`edit`){a.mutate({id:e.block.id,draft:o},{onSuccess:()=>{s(`Event updated`)},onError:e=>{my.error(e.message)}});return}i.mutate(o,{onSuccess:()=>{s(`Event added`)},onError:e=>{my.error(e.message)}})},onDelete:()=>{if(e.mode!==`edit`)return;let t=e.block.sourceMeetingId!==null;o.mutate(e.block.id,{onSuccess:()=>{my.success(t?`Meeting cancelled for everyone`:`Event removed`),r()},onError:e=>{my.error(e.message)}})}}};ib();var kon=(e,t,n,r)=>{let i=new Date(e).getTime(),a=new Date(t).getTime(),o=new Date(n).getTime(),s=new Date(r).getTime();return i<=o&&a>=s?{type:`delete`}:i>o&&a<s?{type:`split`,updateEnd:new Date(i).toISOString(),createStart:new Date(a).toISOString(),createEnd:new Date(s).toISOString()}:i<=o&&a>o&&a<s?{type:`update`,start:new Date(a).toISOString(),end:r}:i>o&&i<s&&a>=s?{type:`update`,start:n,end:new Date(i).toISOString()}:null},Aon=(e,t)=>{let n=new Date(e.start).getTime(),r=new Date(e.end).getTime(),i=new Date(t.start).getTime();return n<new Date(t.end).getTime()&&r>i},jon=(e,t)=>{let n=e.block.status===`available`&&t.block.status===`available`,r=e.block.status!==`available`&&t.block.status!==`available`;return(n||r)&&Aon(e,t)},Mon=(e,t,n)=>{let r=nb([new eb({id:`draft`,...e})],n),i=nb(t,n),a=[];for(let e of i)r.some(t=>jon(t,e))&&a.push(e);return a},Non=e=>({userId:e.userId,title:e.title,status:e.status,start:e.start,end:e.end,allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}),G9=(e,t,n)=>({...Non(e),start:t,end:n,recurrence:null}),Pon=(e,t)=>{let n=e.recurrence;if(n===null)return Non(e);let r=Array.from(new Set([...n.exceptions,...t]));return{...Non(e),recurrence:{...n,exceptions:r}}},Fon=(e,t,n)=>n.type===`delete`?[]:n.type===`update`?[G9(e,n.start,n.end)]:[G9(e,t.start,n.updateEnd),G9(e,n.createStart,n.createEnd)],Ion=(e,t,n)=>{let r=kon(n.start,n.end,t.start,t.end);return r===null?[]:r.type===`delete`?[{kind:`delete`,blockId:e.id}]:r.type===`update`?[{kind:`update`,blockId:e.id,draft:G9(e,r.start,r.end)}]:[{kind:`update`,blockId:e.id,draft:G9(e,t.start,r.updateEnd)},{kind:`create`,draft:G9(e,r.createStart,r.createEnd)}]},Lon=(e,t,n)=>{let r=[],i=[];for(let a of t){let t=kon(n.start,n.end,a.start,a.end);if(t!==null){r.push(a.date);for(let n of Fon(e,a,t))i.push({kind:`create`,draft:n})}}return r.length===0?[]:[{kind:`update`,blockId:e.id,draft:Pon(e,r)},...i]},Ron=(e,t)=>{let n=new Map;for(let e of t){let t=n.get(e.block.id)??[];t.push(e),n.set(e.block.id,t)}let r=[];for(let t of n.values()){let n=t[0];if(n===void 0)continue;let i=n.block.recurrence===null?Ion(n.block,n,e):Lon(n.block,t,e);r.push(...i)}return r};ib(),sS(),Zy(),Fy();var zon=(e,t)=>e.filter(e=>t.mode!==`edit`||e.id!==t.block.id),Bon=(e,t,n)=>{let r=new Map;for(let i of Mon(e,t,n))r.set(i.block.id,i.block);return[...r.values()]},Von=300*1e3,Hon=(e,t,n,r)=>{if(!(n.mode!==`edit`||t.start!==H9({...e,start:n.block.start,end:n.block.end},r).start)||new Date(t.start).getTime()>=Date.now()-Von)return null;let i=new Date(t.end).getTime();return e.allDay&&i>Date.now()?`All-day events cannot be scheduled for today as part of the day has passed. Please uncheck 'All-day' to select a specific time.`:`Cannot schedule an event in the past.`},Uon=(e,t)=>{if(t.length===0)return null;let n=t[0];if(n===void 0)return null;let r=t.some(e=>e.status===`meeting`);return e===`available`&&n.status===`available`?{error:`This block overlaps with an existing availability.`,code:`overlap_availability`,hasMeetingConflict:r}:{error:r?`This block overlaps with a scheduled Meeting. Meetings cannot be auto-adjusted or overwritten.`:`This block overlaps with an existing event.`,code:`overlap_event`,hasMeetingConflict:r}},Won=(e,t,n,r)=>{if(e.title.trim().length===0)return{error:`Event title is required.`,code:`empty_title`};if(e.title.length>200)return{error:`The field Title must be a string with a maximum length of 200.`,code:`title_too_long`};if(!MDe(e.start,e.end))return{error:`End time must be after start time.`,code:`invalid_time`};if(e.recurrence!==null&&e.recurrence.endType===`after`&&(e.recurrence.endCount<1||Number.isNaN(e.recurrence.endCount)))return{error:`Occurrences must be at least 1.`,code:`invalid_time`};let i=H9(e,r),a=Hon(e,i,n,r);if(a!==null)return{error:a,code:`invalid_time`};let o=N9(new Date(i.start),0),s=Bon(i,zon(t,n),o);return Uon(e.status,s)??{error:null}},Gon=(e,t,n)=>{let r=YMe(),i=aS(),a=XMe(),o=async e=>{if(e.kind===`delete`){await a.mutateAsync(e.blockId);return}if(e.kind===`update`){await i.mutateAsync({id:e.blockId,draft:e.draft});return}await r.mutateAsync(e.draft)};return{resolve:async(r,i)=>{let a=H9(e,n),s=N9(new Date(a.start),0),c=Ron(a,Mon(a,zon(r,t),s));try{await Promise.all(c.map(o)),my.success(`Conflicts resolved successfully!`),i()}catch(e){let t=e instanceof Error?e.message:String(e);my.error(`Failed to resolve conflicts: ${t}`)}}}},Kon={errorStack:`_errorStack_q9qoj_4`,errorLine:`_errorLine_q9qoj_11`};fo(),Fy(),Do();var qon=`Permission Denied`,Jon=`Permission Denied`,Yon=`Permission Denied`,Xon=({isEdit:e,canSave:t,canCreate:n,canUpdate:r,busy:i,validationError:a,onSave:o})=>{let s=e?`Save changes`:`Create`,c=e?r:n,l=e?Jon:qon;return c?t?(0,D.jsx)(es,{onClick:o,isLoading:i,children:s}):(0,D.jsx)(iy,{label:a??`Cannot save`,side:`top`,children:(0,D.jsx)(`span`,{className:U9.disabledButtonWrapper,children:(0,D.jsx)(es,{onClick:o,isLoading:i,disabled:!0,children:s})})}):(0,D.jsx)(iy,{label:l,side:`top`,children:(0,D.jsx)(`span`,{className:U9.disabledButtonWrapper,children:(0,D.jsx)(es,{disabled:!0,isLoading:i,children:s})})})},Zon=({canDelete:e,busy:t,onDelete:n})=>e?(0,D.jsxs)(es,{variant:`ghost`,onClick:n,disabled:t,children:[(0,D.jsx)(Ka,{size:15}),` Delete`]}):(0,D.jsx)(iy,{label:Yon,side:`top`,children:(0,D.jsx)(`span`,{className:U9.disabledButtonWrapper,children:(0,D.jsxs)(es,{variant:`ghost`,disabled:!0,children:[(0,D.jsx)(Ka,{size:15}),` Delete`]})})}),Qon=({isEdit:e,busy:t,canSave:n,validationError:r,isConflict:i,summary:a,canCreateEvent:o,canUpdateEvent:s,canDeleteEvent:c,onSave:l,onDelete:u,onCancel:d,onResolveConflicts:f})=>(0,D.jsxs)(`div`,{className:U9.panelFooter,children:[(0,D.jsx)(`div`,{className:T(U9.panelSummary,r!==null&&U9.panelSummaryError),children:r===null?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Sn,{size:14}),` `,a]}):(0,D.jsxs)(`div`,{className:Kon.errorStack,children:[(0,D.jsxs)(`span`,{className:Kon.errorLine,children:[(0,D.jsx)(Un,{size:14}),` `,r]}),i&&(0,D.jsxs)(`button`,{type:`button`,className:U9.resolveConflictBtn,onClick:f,disabled:t,children:[(0,D.jsx)(Ki,{size:11}),` Auto-adjust blocks to fit`]})]})}),(0,D.jsxs)(`div`,{className:U9.panelActions,children:[e&&(0,D.jsx)(Zon,{canDelete:c,busy:t,onDelete:u}),(0,D.jsx)(`span`,{className:U9.actionSpacer}),(0,D.jsx)(es,{variant:`secondary`,onClick:d,disabled:t,children:`Cancel`}),(0,D.jsx)(Xon,{isEdit:e,canSave:n,canCreate:o,canUpdate:s,busy:t,validationError:r,onSave:l})]})]});fo(),Fy(),ib(),sS();var K9=` · `,$on=` – `,esn=e=>{let t=Xy(e.start)===Xy(e.end)?Fan(e.start):`${Fan(e.start)}${$on}${Fan(e.end)}`,n=e.recurrence===null?``:`${K9}${pOe(e.recurrence,e.start)}`;return e.allDay?`${t}${K9}All day${n}`:e.recurrence?.differentTimes?`${t}${n}`:`${t}${K9}${`${F9(e.start)}${$on}${F9(e.end)}`}${K9}${Pan(Yy(e.start,e.end))}${n}`},tsn=({open:e,onConfirm:t,onCancel:n})=>(0,D.jsx)(Ch,{open:e,elevated:!0,title:`Cancel this meeting?`,message:`This event came from a booking. Removing it cancels the meeting and frees the time on everyone's calendar, not just yours.`,confirmLabel:`Cancel meeting`,onConfirm:t,onCancel:n}),nsn=({state:e,timezone:t,onClose:n})=>{let{hasPermission:r}=wS(),i=r(CS.scheduleCreate),a=r(CS.scheduleUpdate),o=r(CS.scheduleDelete),[s,c]=(0,E.useState)(()=>$an(e)),{busy:l,onSave:u,onDelete:d}=Oon(e,s,t,n),[f,p]=(0,E.useState)(!1),m=e.mode===`edit`&&e.block.sourceMeetingId!==null,{data:h=[]}=iS(),g=Gon(s,e,t),_=e.mode===`edit`,v=Won(s,h,e,t),y=v.code===`title_too_long`?null:v.error,b=v.error===null,x=(v.code===`overlap_availability`||v.code===`overlap_event`)&&!v.hasMeetingConflict;return(0,D.jsxs)(Eh,{open:!0,side:`right`,title:_?`Edit Event`:`New Event`,onOpenChange:e=>{e||n()},footer:(0,D.jsx)(Qon,{isEdit:_,busy:l,canSave:b,validationError:y,isConflict:x,summary:esn(s),canCreateEvent:i,canUpdateEvent:a,canDeleteEvent:o,onSave:u,onDelete:()=>{if(m){p(!0);return}d()},onCancel:n,onResolveConflicts:()=>{g.resolve(h,u)}}),children:[(0,D.jsxs)(`header`,{className:U9.panelHead,children:[(0,D.jsx)(`span`,{className:U9.panelTitle,children:_?`Edit Event`:`New Event`}),(0,D.jsx)(Ns,{label:`Close`,onClick:n,children:(0,D.jsx)(lo,{size:18})})]}),(0,D.jsx)(Don,{draft:s,onChange:c}),(0,D.jsx)(tsn,{open:f,onConfirm:()=>{p(!1),d()},onCancel:()=>{p(!1)}})]})};mS(),ib();var rsn=()=>{let e=Intl.supportedValuesOf;return typeof e==`function`?e(`timeZone`):yOe},isn=/^(\d{1,2}):(\d{2})$/,asn=e=>String(e).padStart(2,`0`),osn=e=>{let t=isn.exec(e);return t===null?0:Number(t[1])*60+Number(t[2])},ssn=e=>{let t=Math.max(0,Math.min(1439,e)),n=Math.floor(t/60),r=t%60;return`${asn(n)}:${asn(r)}`},csn=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],lsn=e=>csn[(e+6)%7]??`sun`,usn=e=>csn[(e+1)%7]??`mon`,dsn=e=>csn[e]??`mon`,fsn=(e,t,n)=>{if(e>=0)return null;let r=e+1440,i=Math.min(0,t)+1440;return i<=r?null:{targetDay:lsn(n),from:r,to:i,id:crypto.randomUUID()}},psn=(e,t,n)=>{if(t<=1440)return null;let r=Math.max(1440,e)-1440,i=t-1440;return i<=r?null:{targetDay:usn(n),from:r,to:i,id:crypto.randomUUID()}},msn=(e,t,n,r)=>{let i=Math.max(0,e),a=Math.min(1440,t);return a<=i?null:{targetDay:dsn(n),from:i,to:a,id:r}},hsn=(e,t,n)=>{let r=osn(e.from),i=e.to===`23:59`||e.to===`24:00`||e.to===`00:00`?1440:osn(e.to);if(i<=r)return[];let a=r+n,o=i+n;return[fsn(a,o,t),msn(a,o,t,e.id),psn(a,o,t)].filter(e=>e!==null)},q9=(e,t,n)=>{e.sort((e,t)=>e.from-t.from);let r=[];for(let t of e){let e=r[r.length-1];e!==void 0&&t.from<=e.to+1?e.to=Math.max(e.to,t.to):r.push({...t})}let i=r.map(e=>({id:e.id,from:ssn(e.from),to:e.to>=1440?`23:59`:ssn(e.to)}));return{active:i.length>0&&t,slots:i.length>0?i:n.map(e=>({...e}))}},J9=(e,t,n,r)=>{if(t===n)return e;let i=dS(n,r)-dS(t,r);if(i===0)return e;let a={mon:[],tue:[],wed:[],thu:[],fri:[],sat:[],sun:[]},o={mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1};return Wy.forEach((t,n)=>{let r=e[t.id];r.active&&r.slots.length>0&&r.slots.forEach(e=>{hsn(e,n,i).forEach(e=>{a[e.targetDay].push({from:e.from,to:e.to,id:e.id}),o[e.targetDay]=!0})})}),{mon:q9(a.mon,o.mon,e.mon.slots),tue:q9(a.tue,o.tue,e.tue.slots),wed:q9(a.wed,o.wed,e.wed.slots),thu:q9(a.thu,o.thu,e.thu.slots),fri:q9(a.fri,o.fri,e.fri.slots),sat:q9(a.sat,o.sat,e.sat.slots),sun:q9(a.sun,o.sun,e.sun.slots)}},gsn=(e,t)=>{let n=rsn();return(n.includes(t)?n:[t,...n]).map(t=>({id:t,offset:eNe(dS(t,e))}))},Y9={tzWrap:`_tzWrap_horpb_4`,tzTrigger:`_tzTrigger_horpb_8`,tzGlobe:`_tzGlobe_horpb_30`,tzTriggerLabel:`_tzTriggerLabel_horpb_35`,tzTriggerOffset:`_tzTriggerOffset_horpb_44`,tzChevron:`_tzChevron_horpb_51`,tzBackdrop:`_tzBackdrop_horpb_56`,tzPop:`_tzPop_horpb_65`,tzSearch:`_tzSearch_horpb_78`,tzSearchInput:`_tzSearchInput_horpb_90`,tzList:`_tzList_horpb_100`,tzRow:`_tzRow_horpb_135`,tzRowActive:`_tzRowActive_horpb_154`,tzRowLabel:`_tzRowLabel_horpb_158`,tzRowOffset:`_tzRowOffset_horpb_171`,tzCheck:`_tzCheck_horpb_178`,tzEmpty:`_tzEmpty_horpb_183`};hh(),fo(),Fy(),Do();var _sn=(e,t)=>t===``||e.id.toLowerCase().includes(t)||e.offset.toLowerCase().includes(t),vsn=({search:e,list:t,value:n,onSearch:r,onPick:i})=>(0,D.jsxs)(Gm.div,{className:Y9.tzPop,variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,D.jsxs)(`div`,{className:Y9.tzSearch,children:[(0,D.jsx)(oa,{size:13}),(0,D.jsx)(`input`,{className:Y9.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{r(e.target.value)}})]}),(0,D.jsxs)(`div`,{className:Y9.tzList,children:[t.map(e=>(0,D.jsxs)(`button`,{type:`button`,className:T(Y9.tzRow,e.id===n&&Y9.tzRowActive),onClick:()=>{i(e.id)},children:[(0,D.jsx)(`span`,{className:Y9.tzRowLabel,children:e.id}),(0,D.jsx)(`span`,{className:Y9.tzRowOffset,children:e.offset}),e.id===n&&(0,D.jsx)(Nn,{size:13,className:Y9.tzCheck})]},e.id)),t.length===0&&(0,D.jsx)(`p`,{className:Y9.tzEmpty,children:`No timezones match.`})]})]}),ysn=({value:e,now:t,onChange:n})=>{let[r,i]=(0,E.useState)(!1),[a,o]=(0,E.useState)(``),s=(0,E.useMemo)(()=>gsn(t,e),[t,e]),c=s.find(t=>t.id===e)??{id:e,offset:``},l=a.trim().toLowerCase(),u=s.filter(e=>_sn(e,l));return(0,D.jsxs)(`div`,{className:Y9.tzWrap,children:[(0,D.jsxs)(`button`,{type:`button`,className:Y9.tzTrigger,"aria-expanded":r,"aria-label":`Change timezone`,onClick:()=>{i(e=>!e)},children:[(0,D.jsx)(br,{size:14,className:Y9.tzGlobe}),(0,D.jsx)(`span`,{className:Y9.tzTriggerLabel,children:c.id}),(0,D.jsx)(`span`,{className:Y9.tzTriggerOffset,children:c.offset}),(0,D.jsx)(Fn,{size:15,className:Y9.tzChevron})]}),(0,D.jsx)(vm,{children:r&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:Y9.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{i(!1)}}),(0,D.jsx)(vsn,{search:a,list:u,value:e,onSearch:o,onPick:e=>{n(e),o(``),i(!1)}})]})})]})},X9={gridScroll:`_gridScroll_1vnsd_7`,gridInner:`_gridInner_1vnsd_33`,gutter:`_gutter_1vnsd_38`,gutterHead:`_gutterHead_1vnsd_44`,gutterAllDay:`_gutterAllDay_1vnsd_48`,gutterHour:`_gutterHour_1vnsd_62`,dayCol:`_dayCol_1vnsd_73`,dayHeader:`_dayHeader_1vnsd_79`,colDay:`_colDay_1vnsd_93`,colDayToday:`_colDayToday_1vnsd_101`,dayNum:`_dayNum_1vnsd_105`,dayNumToday:`_dayNumToday_1vnsd_125`,dayCount:`_dayCount_1vnsd_131`,allDayBand:`_allDayBand_1vnsd_137`,allDayChip:`_allDayChip_1vnsd_148`,hoursWrap:`_hoursWrap_1vnsd_168`,workBand:`_workBand_1vnsd_174`,hourRow:`_hourRow_1vnsd_184`,nowLine:`_nowLine_1vnsd_203`,nowDot:`_nowDot_1vnsd_214`,block:`_block_1vnsd_224`,blockTitle:`_blockTitle_1vnsd_261`,blockTime:`_blockTime_1vnsd_279`,monthScroll:`_monthScroll_1vnsd_293`,monthHead:`_monthHead_1vnsd_302`,monthHeadCell:`_monthHeadCell_1vnsd_309`,monthGrid:`_monthGrid_1vnsd_319`,monthCell:`_monthCell_1vnsd_326`,monthCellOff:`_monthCellOff_1vnsd_347`,monthDayNum:`_monthDayNum_1vnsd_351`,monthCellToday:`_monthCellToday_1vnsd_355`,monthDayNumToday:`_monthDayNumToday_1vnsd_366`,monthChip:`_monthChip_1vnsd_379`,monthMore:`_monthMore_1vnsd_402`,agendaScroll:`_agendaScroll_1vnsd_410`,agendaGroup:`_agendaGroup_1vnsd_418`,agendaDay:`_agendaDay_1vnsd_422`,agendaItems:`_agendaItems_1vnsd_432`,agendaRow:`_agendaRow_1vnsd_438`,agendaAccent:`_agendaAccent_1vnsd_459`,agendaBody:`_agendaBody_1vnsd_467`,agendaTitle:`_agendaTitle_1vnsd_475`,agendaMeta:`_agendaMeta_1vnsd_484`,agendaPill:`_agendaPill_1vnsd_493`,agendaEmpty:`_agendaEmpty_1vnsd_506`,agendaEmptyIcon:`_agendaEmptyIcon_1vnsd_517`,agendaEmptyTitle:`_agendaEmptyTitle_1vnsd_522`,agendaEmptyText:`_agendaEmptyText_1vnsd_528`,agendaEmptyBtn:`_agendaEmptyBtn_1vnsd_533`,availabilityBand:`_availabilityBand_1vnsd_546`,availabilityBandLabel:`_availabilityBandLabel_1vnsd_579`,availabilityBandEditBtn:`_availabilityBandEditBtn_1vnsd_589`,dragSelectionHighlight:`_dragSelectionHighlight_1vnsd_612`,dragSelectionLabel:`_dragSelectionLabel_1vnsd_631`};hh(),fo(),Fy(),Do(),ib();var bsn={hidden:{},visible:{transition:{staggerChildren:.04}}},xsn=e=>{let t=[...e].sort((e,t)=>e.start<t.start?-1:1),n=new Map;for(let e of t){let t=n.get(e.date);t===void 0?n.set(e.date,{key:e.date,label:new Date(e.start).toLocaleDateString(void 0,{weekday:`long`,day:`numeric`,month:`long`}),items:[e]}):t.items.push(e)}return[...n.values()]},Ssn=({occurrence:e,onSelect:t})=>{let{block:n}=e,r=z9[n.status],i=n.allDay?`All day`:`${F9(e.start)} – ${F9(e.end)}`;return(0,D.jsxs)(Gm.button,{type:`button`,variants:gh,whileHover:{x:3},className:X9.agendaRow,style:yo({"--status-color":r.color}),onClick:()=>{t(n)},children:[(0,D.jsx)(`span`,{className:X9.agendaAccent}),(0,D.jsxs)(`span`,{className:X9.agendaBody,children:[(0,D.jsx)(`span`,{className:X9.agendaTitle,children:n.title}),(0,D.jsxs)(`span`,{className:X9.agendaMeta,children:[i,n.recurrence!==null&&(0,D.jsxs)(D.Fragment,{children:[` · `,(0,D.jsx)(Zi,{size:10}),` Recurring`]})]})]}),(0,D.jsxs)(`span`,{className:X9.agendaPill,children:[(0,D.jsx)(r.Icon,{size:10}),` `,r.label]})]})},Csn=({occurrences:e,onSelectBlock:t,onCreate:n})=>{let r=xsn(e);return r.length===0?(0,D.jsxs)(`div`,{className:X9.agendaEmpty,children:[(0,D.jsx)(`span`,{className:X9.agendaEmptyIcon,children:(0,D.jsx)(Tn,{size:30})}),(0,D.jsx)(`span`,{className:X9.agendaEmptyTitle,children:`Nothing scheduled this month`}),(0,D.jsx)(`span`,{className:X9.agendaEmptyText,children:`Create a block to fill your week.`}),(0,D.jsx)(`button`,{type:`button`,className:X9.agendaEmptyBtn,onClick:n,children:`Create New Event`})]}):(0,D.jsx)(`div`,{className:X9.agendaScroll,children:r.map(e=>(0,D.jsxs)(`div`,{className:X9.agendaGroup,children:[(0,D.jsx)(`div`,{className:X9.agendaDay,children:e.label}),(0,D.jsx)(Gm.div,{className:X9.agendaItems,variants:bsn,initial:`hidden`,animate:`visible`,children:e.items.map(e=>(0,D.jsx)(Ssn,{occurrence:e,onSelect:t},e.key))})]},e.key))})};hh(),Do(),ib();var wsn=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],Tsn=3,Esn=e=>{let t=new Map;for(let n of e){let e=t.get(n.date)??[];e.push(n),t.set(n.date,e)}for(let e of t.values())e.sort((e,t)=>e.start<t.start?-1:1);return t},Dsn=e=>{let{date:t,inMonth:n,isToday:r,occs:i}=e,a=i.length-Tsn;return(0,D.jsxs)(`div`,{className:T(X9.monthCell,!n&&X9.monthCellOff,r&&X9.monthCellToday),onClick:()=>{e.onSelectSlot(R9(Xy(t),`09:00`))},children:[(0,D.jsx)(`span`,{className:T(X9.monthDayNum,r&&X9.monthDayNumToday),children:t.getDate()}),i.slice(0,Tsn).map(t=>(0,D.jsx)(`button`,{type:`button`,className:X9.monthChip,style:yo({"--status-color":z9[t.block.status].color}),onClick:n=>{n.stopPropagation(),e.onSelectBlock(t.block)},children:t.block.title},t.key)),a>0&&(0,D.jsxs)(`span`,{className:X9.monthMore,children:[`+`,a,` more`]})]})},Osn=({dates:e,anchor:t,occurrences:n,today:r,onSelectBlock:i,onSelectSlot:a})=>{let o=Esn(n),s=Xy(r);return(0,D.jsxs)(`div`,{className:X9.monthScroll,children:[(0,D.jsx)(`div`,{className:X9.monthHead,children:wsn.map(e=>(0,D.jsx)(`span`,{className:X9.monthHeadCell,children:e},e))}),(0,D.jsx)(Gm.div,{className:X9.monthGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:[.22,1,.36,1]},children:e.map(e=>{let n=Xy(e);return(0,D.jsx)(Dsn,{date:e,inMonth:e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear(),isToday:n===s,occs:o.get(n)??[],onSelectBlock:i,onSelectSlot:a},n)})})]})},Z9={sidebar:`_sidebar_p4iov_4`,summaryGrid:`_summaryGrid_p4iov_36`,summaryCard:`_summaryCard_p4iov_42`,summaryTop:`_summaryTop_p4iov_54`,summaryTopIcon:`_summaryTopIcon_p4iov_60`,summaryValue:`_summaryValue_p4iov_65`,summaryLabel:`_summaryLabel_p4iov_73`,sideHeader:`_sideHeader_p4iov_82`,quickRow:`_quickRow_p4iov_92`,quickBtn:`_quickBtn_p4iov_97`,legendIcon:`_legendIcon_p4iov_118`,legend:`_legend_p4iov_118`,legendItem:`_legendItem_p4iov_129`,legendItemOn:`_legendItemOn_p4iov_151`,legendOff:`_legendOff_p4iov_156`,legendSwatch:`_legendSwatch_p4iov_160`,legendSwatchOff:`_legendSwatchOff_p4iov_172`,drawerHeader:`_drawerHeader_p4iov_177`,drawerTitle:`_drawerTitle_p4iov_185`,drawerCloseBtn:`_drawerCloseBtn_p4iov_191`};hh(),fo(),Fy(),Do(),ib();var ksn={hidden:{},visible:{transition:{staggerChildren:.05}}},Asn=({occurrences:e,today:t,availability:n})=>{let r=wOe(e,t),i=Wy[(t.getDay()+6)%7]?.id??`mon`,a=n?.[i],o=a?.active?a.slots:[],s=[{label:`Free`,value:`${String(Yan(e,t,o))}h`,color:`var(--color-primary)`,Icon:Xn},{label:`Busy`,value:`${String(r.busyHours)}h`,color:z9.busy.color,Icon:z9.busy.Icon},{label:`Meetings`,value:String(r.meetingCount),color:z9.meeting.color,Icon:z9.meeting.Icon},{label:`Focus`,value:`${String(r.focusHours)}h`,color:z9.focus.color,Icon:z9.focus.Icon}];return(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:Z9.sideHeader,children:`Today`}),(0,D.jsx)(Gm.div,{className:Z9.summaryGrid,variants:ksn,initial:`hidden`,animate:`visible`,children:s.map(e=>(0,D.jsxs)(Gm.div,{className:Z9.summaryCard,style:yo({"--v":e.color}),variants:gh,whileHover:{y:-2},children:[(0,D.jsxs)(`span`,{className:Z9.summaryTop,children:[(0,D.jsx)(e.Icon,{size:12,strokeWidth:2.4,className:Z9.summaryTopIcon}),(0,D.jsx)(`span`,{className:Z9.summaryLabel,children:e.label})]}),(0,D.jsx)(`span`,{className:Z9.summaryValue,children:e.value})]},e.label))})]})},jsn=({onQuickAdd:e})=>(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:Z9.sideHeader,children:`Quick add`}),(0,D.jsx)(`div`,{className:Z9.quickRow,children:[{status:`focus`,minutes:60,title:`Deep work`,label:`Focus 1h`},{status:`busy`,minutes:30,title:`Busy`,label:`Busy 30m`}].map(t=>{let n=z9[t.status];return(0,D.jsxs)(Gm.button,{type:`button`,whileTap:{scale:.96},className:Z9.quickBtn,style:yo({"--status-color":n.color}),onClick:()=>{e(t.status,t.minutes,t.title)},children:[(0,D.jsx)(n.Icon,{size:11}),` `,t.label]},t.label)})})]}),Msn=({activeStatuses:e,onToggleStatus:t})=>(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:Z9.sideHeader,children:`Status legend`}),(0,D.jsx)(`div`,{className:Z9.legend,children:tb.map(n=>{let r=z9[n.id],i=e.has(n.id);return(0,D.jsxs)(Gm.button,{type:`button`,whileTap:{scale:.97},className:T(Z9.legendItem,i?Z9.legendItemOn:Z9.legendOff),style:yo({"--status-color":r.color}),onClick:()=>{t(n.id)},children:[(0,D.jsx)(`span`,{className:T(Z9.legendSwatch,!i&&Z9.legendSwatchOff),children:(0,D.jsx)(vm,{children:i&&(0,D.jsx)(Gm.span,{initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,D.jsx)(Nn,{size:11,strokeWidth:3})})})}),(0,D.jsx)(r.Icon,{size:12,className:Z9.legendIcon}),n.label]},n.id)})})]}),Nsn=e=>(0,D.jsxs)(`aside`,{className:Z9.sidebar,children:[e.onClose!==void 0&&(0,D.jsxs)(`div`,{className:Z9.drawerHeader,children:[(0,D.jsx)(`span`,{className:Z9.drawerTitle,children:`Schedule Settings`}),(0,D.jsx)(`button`,{type:`button`,className:Z9.drawerCloseBtn,onClick:e.onClose,"aria-label":`Close schedule settings`,children:(0,D.jsx)(lo,{size:16})})]}),(0,D.jsx)(Asn,{occurrences:e.occurrences,today:e.today,availability:e.availability}),(0,D.jsx)(jsn,{onQuickAdd:e.onQuickAdd}),(0,D.jsx)(Msn,{activeStatuses:e.activeStatuses,onToggleStatus:e.onToggleStatus})]}),Psn=(e,t,n,r)=>{let i=Math.min(e,t),a=Math.max(e,t);if(e===t){let e=r-1;return{firstDayIdx:i,lastDayIdx:a,startHour:Math.min(n,e),endHour:Math.max(n,e)+1}}return e>t?{firstDayIdx:i,lastDayIdx:a,startHour:r-1,endHour:n}:{firstDayIdx:i,lastDayIdx:a,startHour:n,endHour:r}};hh(),fo(),Do(),ib();var Fsn=({item:e,range:t,onSelect:n})=>{let{occurrence:r}=e,{block:i}=r,a=z9[i.status],o=Ban(r.start,r.end,t),s=r.continuesFromPrevDay===!0,c=r.continuesToNextDay===!0,l=s?`Continued from the previous day`:c?`Continues into the next day`:void 0;return(0,D.jsxs)(Gm.button,{type:`button`,draggable:!0,title:l,onDragStartCapture:e=>{e.dataTransfer.setData(`text/plain`,i.id)},initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.18,ease:[.22,1,.36,1]},className:X9.block,style:{...yo({"--status-color":a.color,"--top":`${String(o.top)}px`,"--h":`${String(o.height)}px`,"--lane":e.lane,"--lanes":e.lanes}),...s?{borderTopLeftRadius:0,borderTopRightRadius:0}:{},...c?{borderBottomLeftRadius:0,borderBottomRightRadius:0}:{}},onClick:()=>{n(i)},children:[(0,D.jsxs)(`span`,{className:X9.blockTitle,children:[s&&(0,D.jsx)(Vn,{size:10,"aria-hidden":!0}),` `,(0,D.jsx)(a.Icon,{size:10}),` `,i.title]}),o.height>=30&&(0,D.jsxs)(`span`,{className:X9.blockTime,children:[F9(r.start),` – `,F9(r.end),c&&(0,D.jsx)(Fn,{size:10,"aria-hidden":!0})]})]})},Isn=({occurrence:e,onSelect:t})=>{let{block:n}=e,r=z9[n.status];return(0,D.jsxs)(`button`,{type:`button`,className:X9.allDayChip,style:yo({"--status-color":r.color}),onClick:()=>{t(n)},children:[(0,D.jsx)(r.Icon,{size:10}),` `,n.title]})};fo(),Do(),ib();var Lsn=e=>`${String(e).padStart(2,`0`)}:00`,Rsn=({bands:e,range:t,onSelectSlot:n,onSelectBlock:r})=>(0,D.jsx)(D.Fragment,{children:e.map(e=>{let i=e.block.allDay&&e.continuesFromPrevDay!==!0&&e.continuesToNextDay!==!0?{top:0,height:zan(t)}:Ban(e.start,e.end,t);return(0,D.jsxs)(`div`,{className:X9.availabilityBand,style:yo({"--top":`${String(i.top)}px`,"--h":`${String(i.height)}px`}),onClick:()=>{n(e.start,e.end)},children:[(0,D.jsxs)(`span`,{className:X9.availabilityBandLabel,children:[(0,D.jsx)(Nn,{size:11,strokeWidth:3}),` Available`]}),(0,D.jsx)(`button`,{type:`button`,className:X9.availabilityBandEditBtn,onClick:t=>{t.stopPropagation(),r(e.block)},children:`Edit`})]},e.key)})}),zsn=({day:e,cell:t,dayIndex:n,range:r,onDragSelectStart:i,onDragSelectEnter:a,onDropBlock:o,onSelectSlot:s})=>(0,D.jsx)(D.Fragment,{children:Ran(r).map(r=>(0,D.jsx)(`button`,{type:`button`,className:X9.hourRow,"aria-label":`Add a block on ${e.long} at ${B9(r)}`,onMouseDown:e=>{e.button===0&&(e.preventDefault(),i(n,r))},onMouseEnter:e=>{a(n,r,e.buttons)},onDragOver:e=>{e.preventDefault()},onDrop:e=>{let n=e.dataTransfer.getData(`text/plain`);n&&o(n,R9(Xy(t.date),Lsn(r)))},onClick:()=>{s(R9(Xy(t.date),Lsn(r)))}},r))});Do(),ib();var Bsn=e=>e===0?``:e===1?`1 event`:`${String(e)} events`,Vsn=({day:e,cell:t,count:n,off:r})=>(0,D.jsxs)(`div`,{className:X9.dayHeader,children:[(0,D.jsx)(`span`,{className:T(X9.colDay,t.isToday&&X9.colDayToday),children:e.short}),(0,D.jsx)(`span`,{className:T(X9.dayNum,t.isToday&&X9.dayNumToday),children:t.dayNumber}),(0,D.jsx)(`span`,{className:X9.dayCount,children:r?`Day off`:Bsn(n)})]}),Hsn=({allDay:e,onSelectBlock:t})=>(0,D.jsx)(`div`,{className:X9.allDayBand,children:e.map(e=>(0,D.jsx)(Isn,{occurrence:e,onSelect:t},e.key))}),Usn=({dayIndex:e,dragSelect:t,rangeStartHour:n})=>t===null||e<Math.min(t.startDayIndex,t.endDayIndex)||e>Math.max(t.startDayIndex,t.endDayIndex)?null:(0,D.jsx)(`div`,{className:X9.dragSelectionHighlight,style:yo({"--top":`${String((Math.min(t.startHour,t.endHour-1)-n)*52)}px`,"--h":`${String(Math.abs(t.endHour-t.startHour)*52)}px`}),children:(0,D.jsxs)(`span`,{className:X9.dragSelectionLabel,children:[B9(Math.min(t.startHour,t.endHour)),` –`,` `,B9(Math.max(t.startHour,t.endHour))]})}),Wsn=(e,t)=>{let n=e.filter(e=>e.dayIndex===t);return{dayOccs:n,allDay:n.filter(e=>e.block.allDay&&e.block.status!==`available`),availabilityBands:n.filter(e=>e.block.status===`available`),laid:Kan(n.filter(e=>!e.block.allDay&&e.block.status!==`available`))}},Gsn=({active:e,slots:t,range:n,cell:r,day:i,dayIndex:a,now:o,availabilityBands:s,laid:c,dragSelect:l,onDragSelectStart:u,onDragSelectEnter:d,onDropBlock:f,onSelectSlot:p,onSelectBlock:m})=>{let h=Han(e,t,n),g=r.isToday?Uan(o,n):null;return(0,D.jsxs)(`div`,{className:X9.hoursWrap,style:yo({"--grid-h":`${String(zan(n))}px`}),children:[h.map(e=>(0,D.jsx)(`div`,{className:X9.workBand,style:yo({"--top":`${String(e.top)}px`,"--h":`${String(e.height)}px`})},e.top)),(0,D.jsx)(Rsn,{bands:s,range:n,onSelectSlot:p,onSelectBlock:m}),(0,D.jsx)(zsn,{day:i,cell:r,dayIndex:a,range:n,onDragSelectStart:u,onDragSelectEnter:d,onDropBlock:f,onSelectSlot:p}),(0,D.jsx)(Usn,{dayIndex:a,dragSelect:l,rangeStartHour:n.startHour}),g!==null&&(0,D.jsx)(`div`,{className:X9.nowLine,style:yo({"--top":`${String(g)}px`}),children:(0,D.jsx)(`span`,{className:X9.nowDot})}),c.map(e=>(0,D.jsx)(Fsn,{item:e,range:n,onSelect:m},e.occurrence.key))]})},Ksn=e=>{let{day:t,cell:n,dayIndex:r,occurrences:i,onSelectBlock:a,active:o}=e,{dayOccs:s,allDay:c,availabilityBands:l,laid:u}=Wsn(i,r),d=!o;return(0,D.jsxs)(`div`,{className:T(X9.dayCol,n.isToday&&X9.dayColToday),children:[(0,D.jsx)(Vsn,{day:t,cell:n,count:s.length,off:d}),(0,D.jsx)(Hsn,{allDay:c,onSelectBlock:a}),(0,D.jsx)(Gsn,{...e,availabilityBands:l,laid:u})]})};Do(),ib(),sS();var qsn=({range:e})=>(0,D.jsxs)(`div`,{className:X9.gutter,children:[(0,D.jsx)(`div`,{className:X9.gutterHead}),(0,D.jsx)(`div`,{className:X9.gutterAllDay,children:`all-day`}),Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n).map(e=>(0,D.jsx)(`div`,{className:X9.gutterHour,children:B9(e)},e))]}),Jsn=(e,t)=>{let[n,r]=(0,E.useState)(null);return(0,E.useEffect)(()=>{let i=()=>{if(n!==null){let{firstDayIdx:i,lastDayIdx:a,startHour:o,endHour:s}=Psn(n.startDayIndex,n.endDayIndex,n.startHour,n.endHour),c=e[i],l=e[a];c&&l&&t(R9(Xy(c.date),`${String(o).padStart(2,`0`)}:00`),R9(Xy(l.date),`${String(s).padStart(2,`0`)}:00`)),r(null)}};return window.addEventListener(`mouseup`,i),()=>{window.removeEventListener(`mouseup`,i)}},[n,e,t]),{dragSelect:n,startDrag:(e,t)=>{r({startDayIndex:e,endDayIndex:e,startHour:t,endHour:t+1})},enterDrag:(e,t,i)=>{if(n!==null){if(i!==1){r(null);return}r({...n,endDayIndex:e,endHour:t+1})}}}},Ysn=e=>{let t=aS();return{dropBlock:(n,r)=>{let i=e.find(e=>e.block.id===n);if(!i)return;let a=i.block.durationMinutes,o=new Date(new Date(r).getTime()+a*6e4).toISOString();t.mutate({id:n,draft:{title:i.block.title,status:i.block.status,start:r,end:o,allDay:i.block.allDay,notes:i.block.notes,recurrence:i.block.recurrence}})}}},Xsn=e=>({active:e?e.active:!0,slots:e?.slots??[{from:`09:00`,to:`17:00`}]}),Zsn=({days:e,cells:t,occurrences:n,availability:r,workStart:i,workEnd:a,range:o,now:s,onSelectBlock:c,onSelectSlot:l})=>{let u=(0,E.useRef)(null),{dragSelect:d,startDrag:f,enterDrag:p}=Jsn(t,l),{dropBlock:m}=Ysn(n),h=(0,E.useRef)(s);h.current=s;let{startHour:g,endHour:_}=o,v=s.getHours()*60+s.getMinutes(),y=t.some(e=>e.isToday)&&v>=g*60&&v<=_*60;(0,E.useEffect)(()=>{let e=u.current;if(e===null)return;let t=y?Gan(h.current,g):Wan(i,a,g);e.scrollTo({top:Math.max(0,Math.min(t,e.scrollHeight-e.clientHeight))})},[g,i,a,y]);let b=Math.max(1,...e.map(e=>{let t=Wy.findIndex(t=>t.id===e.id);return n.filter(e=>e.dayIndex===t&&e.block.allDay).length}));return(0,D.jsx)(`div`,{className:X9.gridScroll,ref:u,children:(0,D.jsxs)(`div`,{className:X9.gridInner,style:yo({"--all-day-rows":b}),children:[(0,D.jsx)(qsn,{range:o}),e.map(e=>{let i=Wy.findIndex(t=>t.id===e.id),a=t[i]??t[0];if(a===void 0)return null;let{active:u,slots:h}=Xsn(r?r[e.id]:null);return(0,D.jsx)(Ksn,{day:e,cell:a,dayIndex:i,active:u,slots:h,range:o,now:s,occurrences:n,dragSelect:d,onDragSelectStart:f,onDragSelectEnter:p,onDropBlock:m,onSelectBlock:c,onSelectSlot:l},e.id)})]})})};ib(),iNe();var Qsn=[{id:`day`,label:`Day`},{id:`week`,label:`Week`},{id:`workweek`,label:`Work Week`},{id:`month`,label:`Month`},{id:`agenda`,label:`Agenda`},{id:`hours`,label:`Working Hours`}],$sn=e=>e===`month`||e===`agenda`,ecn=(e,t)=>{let n=new Set(e);return t===`agenda`?n.delete(`available`):t!==`hours`&&n.add(`available`),n},tcn=(e,t)=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n},ncn=()=>{let[e,t]=(0,E.useState)(`week`),[n,r]=(0,E.useState)(0),[i,a]=(0,E.useState)(0),[o,s]=(0,E.useState)(null),[c,l]=(0,E.useState)(()=>new Set(tb.map(e=>e.id))),[u,d]=(0,E.useState)(``),f=hS(u).display;return{view:e,setView:e=>{t(e),l(t=>ecn(t,e))},dayOffset:n,monthOffset:i,goPrev:()=>{$sn(e)?a(e=>e-1):r(e===`day`?e=>e-1:e=>e-7)},goNext:()=>{$sn(e)?a(e=>e+1):r(e===`day`?e=>e+1:e=>e+7)},goToday:()=>{r(0),a(0)},active:c,toggle:e=>{l(t=>tcn(t,e))},editor:o,openCreate:(e,t)=>{s({mode:`create`,start:e,...t===void 0?{}:{end:t}})},openQuick:(e,t,n)=>{let r=new Date(Qan(new Date().toISOString(),f));r.setSeconds(0,0),r.setMinutes(Math.ceil(r.getMinutes()/5)*5);let i=new Date(r.getTime()+t*6e4);s({mode:`create`,start:r.toISOString(),end:i.toISOString(),status:e,title:n})},openEdit:e=>{s({mode:`edit`,block:e})},closeEditor:()=>{s(null)},timezone:f,setTimezone:d}},Q9={scheduleRoot:`_scheduleRoot_5za8e_7`,toolbar:`_toolbar_5za8e_16`,scheduleSelect:`_scheduleSelect_5za8e_27`,weekNav:`_weekNav_5za8e_39`,dateLabel:`_dateLabel_5za8e_45`,navBtn:`_navBtn_5za8e_54`,todayBtn:`_todayBtn_5za8e_75`,viewChips:`_viewChips_5za8e_92`,viewChip:`_viewChip_5za8e_92`,viewChipBg:`_viewChipBg_5za8e_119`,viewChipLabel:`_viewChipLabel_5za8e_128`,viewChipActive:`_viewChipActive_5za8e_134`,newBtn:`_newBtn_5za8e_140`,main:`_main_5za8e_156`,calArea:`_calArea_5za8e_163`,hoursArea:`_hoursArea_5za8e_172`,sidebarToggleBtn:`_sidebarToggleBtn_5za8e_181`,sidebarToggleBtnActive:`_sidebarToggleBtnActive_5za8e_199`};Fy();var rcn=e=>e.view===`month`?(0,D.jsx)(Osn,{dates:e.monthDates,anchor:e.monthAnchor,occurrences:e.monthOccurrences,today:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}):e.view===`agenda`?(0,D.jsx)(Csn,{occurrences:e.monthOccurrences,onSelectBlock:e.onSelectBlock,onCreate:e.onCreate}):(0,D.jsx)(Zsn,{days:e.days,cells:e.cells,occurrences:e.weekOccurrences,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,range:e.range,now:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}),icn=e=>{let t=ko(`(max-width: 1024px)`);return(0,D.jsxs)(`div`,{className:Q9.main,children:[(0,D.jsxs)(`div`,{className:Q9.calArea,children:[e.query.isPending&&(0,D.jsx)(`div`,{className:W9.center,children:(0,D.jsx)(Vo,{label:`Loading schedule`})}),e.query.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not load schedule`,children:e.query.error.message}),e.query.isSuccess&&rcn(e)]}),!t&&(0,D.jsx)(Nsn,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd}),t&&(0,D.jsx)(Eh,{open:e.isSidebarOpen??!1,onOpenChange:t=>{!t&&e.onCloseSidebar!==void 0&&e.onCloseSidebar()},title:`Schedule Settings`,side:`right`,children:(0,D.jsx)(Nsn,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd,onClose:e.onCloseSidebar})})]})};Fy(),mS(),ib(),sS();var acn=(e,t)=>e.meetingDuration!==t.meetingDuration||e.bufferMinutes!==t.bufferMinutes,ocn=(e,t,n)=>{let r=pS.from({personal:t.timezone,anchor:t.availabilityTimezone});return{anchorZone:r.anchor,initialTimezone:r.display,initialInZone:J9(e,r.anchor,r.display,n)}},scn=e=>{let t={};for(let[n,r]of Object.entries(e))t[n]={active:r.active,slots:r.slots.map(e=>({from:e.from,to:e.to}))};return t},ccn=(e,t,n)=>{let r=JMe(),i=ZMe(),[a]=(0,E.useState)(()=>n.now()),[{anchorZone:o,initialTimezone:s,initialInZone:c}]=(0,E.useState)(()=>ocn(e,t,a)),[l,u]=(0,E.useState)(c),[d,f]=(0,E.useState)(s),[p,m]=(0,E.useState)(t.meetingDuration),[h,g]=(0,E.useState)(t.bufferMinutes),_=J9(l,d,o,a),v=JSON.stringify(scn(_))!==JSON.stringify(scn(e)),y=acn({meetingDuration:p,bufferMinutes:h},t);return(0,E.useEffect)(()=>{r.isSuccess&&u(J9(e,o,d,a))},[e,r.isSuccess,o,d,a]),(0,E.useEffect)(()=>{i.isSuccess&&(m(t.meetingDuration),g(t.bufferMinutes))},[t,i.isSuccess]),{draft:l,timezone:d,meetingDuration:p,bufferMinutes:h,now:a,dirty:v||y,isSaving:r.isPending||i.isPending,isSuccess:r.isSuccess||i.isSuccess,isError:r.isError||i.isError,errorMsg:r.error?.message??i.error?.message??``,setMeetingDuration:m,setBufferMinutes:g,patchDay:(e,t)=>{r.reset(),i.reset(),u(n=>({...n,[e]:{...n[e],...t}}))},changeTimezone:e=>{r.reset(),i.reset(),u(t=>J9(t,d,e,a)),f(e)},reset:()=>{r.mutate(null,{onSuccess:()=>{my.success(`Reverted to your branch default hours.`)},onError:()=>{my.error(`Could not revert to branch defaults. Please try again.`)}})},onSave:()=>{r.reset(),i.reset(),v&&r.mutate(_),y&&i.mutate({...t,meetingDuration:p,bufferMinutes:h})}}},$9={hours:`_hours_ftj0h_5`,fieldLabel:`_fieldLabel_ftj0h_18`,chips:`_chips_ftj0h_24`,chipBtn:`_chipBtn_ftj0h_30`,chipBtnActive:`_chipBtnActive_ftj0h_50`,chipBg:`_chipBg_ftj0h_56`,chipLabel:`_chipLabel_ftj0h_64`,dayRow:`_dayRow_ftj0h_69`,toggle:`_toggle_ftj0h_77`,toggleOn:`_toggleOn_ftj0h_90`,toggleKnob:`_toggleKnob_ftj0h_95`,dayName:`_dayName_ftj0h_102`,overflowLabel:`_overflowLabel_ftj0h_112`,dayTimes:`_dayTimes_ftj0h_119`,timeInput:`_timeInput_ftj0h_127`,resetBtn:`_resetBtn_ftj0h_144`,readonlyField:`_readonlyField_ftj0h_162`,fieldHint:`_fieldHint_ftj0h_175`,formFooter:`_formFooter_ftj0h_180`,formStatus:`_formStatus_ftj0h_188`,saveBtn:`_saveBtn_ftj0h_194`,inheritedBanner:`_inheritedBanner_ftj0h_212`,inheritedBadge:`_inheritedBadge_ftj0h_218`,badgeSub:`_badgeSub_ftj0h_229`,customBadge:`_customBadge_ftj0h_234`,customBadgeText:`_customBadgeText_ftj0h_247`,resetToBranchBtn:`_resetToBranchBtn_ftj0h_251`,settingsGrid:`_settingsGrid_ftj0h_271`};hh(),Do(),ib();var lcn=({name:e,options:t,selected:n,onSelect:r})=>(0,D.jsx)(`div`,{className:$9.chips,children:t.map(t=>{let i=n===t;return(0,D.jsxs)(`button`,{type:`button`,className:T($9.chipBtn,i&&$9.chipBtnActive),onClick:()=>{r(t)},children:[i&&(0,D.jsx)(Gm.span,{layoutId:`chip-${e}`,className:$9.chipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,D.jsxs)(`span`,{className:$9.chipLabel,children:[t,`m`]})]},t)})}),ucn=({meetingDuration:e,bufferMinutes:t,onDurationChange:n,onBufferChange:r})=>(0,D.jsxs)(`div`,{className:$9.settingsGrid,children:[(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Meeting duration`}),(0,D.jsx)(lcn,{name:`duration`,options:_Oe,selected:e,onSelect:n})]}),(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Buffer between meetings`}),(0,D.jsx)(lcn,{name:`buffer`,options:vOe,selected:t,onSelect:r})]})]});fo(),Fy(),Do(),ib(),HMe();var dcn=({slot:e,index:t,slots:n,active:r,onChange:i})=>{let a=n[t-1],o=n[t+1],s=a===void 0?void 0:a.to,c=e.to,l=e.from,u=o===void 0?void 0:o.from;return(0,D.jsxs)(`div`,{className:$9.dayTimes,children:[(0,D.jsx)(Py,{value:e.from,minTime:s,maxTime:c,disabled:!r,onChange:r=>{let a=[...n];a[t]={...e,from:r},i(a)}}),(0,D.jsx)(`span`,{className:W9.dash,children:`–`}),(0,D.jsx)(Py,{value:e.to,minTime:l,maxTime:u,disabled:!r,align:`end`,onChange:r=>{let a=[...n];a[t]={...e,to:r},i(a)}}),(0,D.jsx)(`button`,{type:`button`,className:$9.resetBtn,disabled:!r||n.length===1,onClick:()=>{i(n.filter((e,n)=>n!==t))},children:`Delete`})]})},fcn=({day:e,value:t,onChange:n})=>(0,D.jsxs)(`div`,{className:$9.dayRow,children:[(0,D.jsx)(`button`,{type:`button`,className:T($9.toggle,t.active&&$9.toggleOn),"aria-pressed":t.active,onClick:()=>{n({active:!t.active})},children:(0,D.jsx)(`span`,{className:$9.toggleKnob})}),(0,D.jsx)(`span`,{className:$9.dayName,children:e.long}),(0,D.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,flex:1},children:[t.slots.map((e,r)=>(0,D.jsx)(dcn,{slot:e,index:r,slots:t.slots,active:t.active,onChange:e=>{n({slots:e})}},e.id)),(0,D.jsx)(`button`,{type:`button`,className:$9.resetBtn,style:{alignSelf:`flex-start`,margin:0},disabled:!t.active,onClick:()=>{let e=t.slots[t.slots.length-1],r=`09:00`,i=`17:00`;e!==void 0&&e.to<`22:00`&&(r=e.to,i=`23:00`),n({slots:[...t.slots,{id:crypto.randomUUID(),from:r,to:i}]})},children:`+ Add Time`})]}),(0,D.jsxs)(`button`,{type:`button`,className:$9.resetBtn,onClick:()=>{n({active:!0,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]})},children:[(0,D.jsx)(Ui,{size:13}),` Reset`]})]}),pcn=({timezone:e,branchName:t,now:n,onTimezoneChange:r})=>(0,D.jsxs)(`div`,{className:$9.settingsGrid,children:[(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Timezone`}),(0,D.jsx)(ysn,{value:e,now:n,onChange:r}),(0,D.jsx)(`span`,{className:$9.fieldHint,children:`Preview only — set your saved timezone in Profile`})]}),(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Home Branch`}),(0,D.jsx)(`div`,{className:$9.readonlyField,children:t}),(0,D.jsx)(`span`,{className:$9.fieldHint,children:`Assigned from your UAPP account`})]})]}),mcn=({isOverride:e,branchName:t,onReset:n})=>(0,D.jsx)(`div`,{className:$9.inheritedBanner,children:e?(0,D.jsxs)(`div`,{className:$9.customBadge,children:[(0,D.jsxs)(`span`,{className:$9.customBadgeText,children:[`Customized Working Hours (overrides `,t,`)`]}),(0,D.jsxs)(`button`,{type:`button`,className:$9.resetToBranchBtn,onClick:n,children:[(0,D.jsx)(Ya,{size:13}),` Use Branch Defaults`]})]}):(0,D.jsxs)(`div`,{className:$9.inheritedBadge,children:[(0,D.jsxs)(`span`,{children:[`Inheriting default hours from `,(0,D.jsx)(`strong`,{children:t})]}),(0,D.jsx)(`span`,{className:$9.badgeSub,children:`Modifying the hours below will create a personal override.`})]})}),hcn=({statusText:e,disabled:t,onClick:n})=>(0,D.jsxs)(`div`,{className:$9.formFooter,children:[(0,D.jsx)(`span`,{className:$9.formStatus,children:e}),(0,D.jsx)(`button`,{type:`button`,className:$9.saveBtn,disabled:t,onClick:n,children:`Save changes`})]}),gcn=(e,t)=>e?`Unsaved changes`:t?`Saved`:``,_cn=({initial:e,isOverride:t,branchName:n,prefs:r})=>{let{clock:i}=nS(),a=ccn(e,r,i),o=gcn(a.dirty,a.isSuccess);return(0,D.jsxs)(`div`,{className:$9.hours,children:[(0,D.jsx)(pcn,{timezone:a.timezone,branchName:n,now:a.now,onTimezoneChange:a.changeTimezone}),(0,D.jsx)(ucn,{meetingDuration:a.meetingDuration,bufferMinutes:a.bufferMinutes,onDurationChange:a.setMeetingDuration,onBufferChange:a.setBufferMinutes}),(0,D.jsx)(mcn,{isOverride:t,branchName:n,onReset:a.reset}),Wy.map(e=>(0,D.jsx)(fcn,{day:e,value:a.draft[e.id],onChange:t=>{a.patchDay(e.id,t)}},e.id)),a.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not save`,children:a.errorMsg}),(0,D.jsx)(hcn,{statusText:o,disabled:!a.dirty||a.isSaving,onClick:a.onSave})]})};Fy(),sS();var vcn=(e,t,n)=>e?.message??t?.message??n?.message??`Unknown error`,ycn=(e,t)=>e?.branches.find(e=>e.id===t)?.name??`your branch`,bcn=()=>{let e=qMe(),t=hLe(),n=oS();if(e.isPending||t.isPending||n.isPending)return(0,D.jsx)(`div`,{className:W9.center,children:(0,D.jsx)(Vo,{label:`Loading working hours`})});if(e.isError||t.isError||n.isError)return(0,D.jsx)(ls,{tone:`error`,title:`Could not load working hours`,children:vcn(e.error,t.error,n.error)});let r=ycn(t.data,n.data.branchId);return(0,D.jsx)(_cn,{initial:e.data.weekly,isOverride:e.data.isOverride,branchName:r,prefs:n.data},`${String(e.data.isOverride)}:${e.data.source}`)};mS(),ib(),sS();var xcn={workStart:`09:00`,workEnd:`17:00`,branchId:`uk`},Scn=(e,t)=>e===`day`?Wy.slice(t,t+1):e===`workweek`?Wy.slice(0,5):Wy,Ccn=e=>{let[t]=e.split(`:`);return Number(t??`0`)},wcn=(e,t,n)=>{if(e!==null)return e;if(t){let e=PFe(t,n),r={};for(let t of Wy){let n=e[t.id];r[t.id]={active:n.active,slots:[{id:crypto.randomUUID(),from:n.from,to:n.to}]}}return r}let r={};for(let e of Wy)r[e.id]={active:e.id!==`sat`&&e.id!==`sun`,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]};return r},Tcn=(e,t,n,r)=>t!==``&&t!==n?J9(e,t,n,r):e,Ecn=e=>{let t=Object.values(e).filter(e=>e.active).flatMap(e=>e.slots),n=t.length>0?Math.min(...t.map(e=>Ccn(e.from))):9,r=t.length>0?Math.max(...t.map(e=>Ccn(e.to))):17;return{workStart:`${String(Math.max(0,n)).padStart(2,`0`)}:00`,workEnd:`${String(Math.min(24,r)).padStart(2,`0`)}:00`}},Dcn=(e,t)=>(0,E.useMemo)(()=>{let n=e??[],r=lS();if(t===r)return n;let i=e=>{let n=new Date(e),i=dS(t,n)-dS(r,n);return i===0?e:new Date(n.getTime()+i*6e4).toISOString()};return n.map(e=>new eb({id:e.id,userId:e.userId,title:e.title,status:e.status,start:i(e.start),end:i(e.end),allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}))},[e,t]),Ocn=e=>{let t=iS(),n=KMe().data??null,r=oS().data,i=r??xcn,a=hLe(),o=new Date,s=dS(e.timezone,o)-dS(lS(),o),c=new Date(o.getTime()+s*6e4),l=e.view===`month`||e.view===`agenda`,u=t=>e.active.has(t.block.status),d=i.branchId,f=Tcn((0,E.useMemo)(()=>wcn(n,a.data,d),[n,a.data,d]),r?.availabilityTimezone??``,e.timezone,o),{workStart:p,workEnd:m}=Ecn(f),h=e.timezone,g=Dcn(t.data,h),_=(c.getDay()+6)%7,v=Math.floor((e.dayOffset+_)/7),y=((e.dayOffset+_)%7+7)%7,b=nb(g,N9(c,v)),x=Nan(c,e.monthOffset),S=kOe(x[0]??c,x[x.length-1]??c,g),C=new Date(c);return C.setSeconds(0,0),C.setMinutes(Math.ceil(C.getMinutes()/30)*30),{query:t,today:c,days:Scn(e.view,y),cells:kan(c,v),weekOccurrences:b.filter(u),availability:f,workStart:p,workEnd:m,range:Lan(b,p,m),monthDates:x,monthAnchor:jan(c,e.monthOffset),monthOccurrences:S.filter(u),summary:l?S:b,rangeText:l?Man(c,e.monthOffset):Aan(c,v),defaultStart:C.toISOString()}};hh(),fo(),Do();var kcn=({view:e,onView:t})=>(0,D.jsx)(`div`,{className:Q9.viewChips,children:Qsn.map(n=>{let r=e===n.id;return(0,D.jsxs)(`button`,{type:`button`,className:T(Q9.viewChip,r&&Q9.viewChipActive),onClick:()=>{t(n.id)},children:[r&&(0,D.jsx)(Gm.span,{layoutId:`schedViewBg`,className:Q9.viewChipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,D.jsx)(`span`,{className:Q9.viewChipLabel,children:n.label})]},n.id)})}),Acn=({view:e,onView:t,rangeText:n,showNav:r,onPrev:i,onNext:a,onToday:o,onNew:s,timezone:c,setTimezone:l,todayDate:u,onToggleSidebar:d,isSidebarOpen:f})=>(0,D.jsxs)(`div`,{className:Q9.toolbar,children:[(0,D.jsx)(`select`,{className:Q9.scheduleSelect,"aria-label":`Calendar`,defaultValue:`my`,children:(0,D.jsx)(`option`,{value:`my`,children:`My Schedule`})}),e!==`hours`&&(0,D.jsx)(ysn,{value:c,onChange:l,now:u}),r&&(0,D.jsxs)(`div`,{className:Q9.weekNav,children:[(0,D.jsx)(`button`,{type:`button`,className:Q9.todayBtn,onClick:o,children:`Today`}),(0,D.jsx)(`button`,{type:`button`,className:Q9.navBtn,"aria-label":`Previous week`,onClick:i,children:(0,D.jsx)(Ln,{size:16})}),(0,D.jsx)(`button`,{type:`button`,className:Q9.navBtn,"aria-label":`Next week`,onClick:a,children:(0,D.jsx)(zn,{size:16})}),(0,D.jsx)(`span`,{className:Q9.dateLabel,children:n})]}),e!==`hours`&&d!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:T(Q9.sidebarToggleBtn,f&&Q9.sidebarToggleBtnActive),"aria-label":`Schedule settings`,title:`Schedule settings`,onClick:d,children:(0,D.jsx)(ba,{size:15})}),(0,D.jsx)(kcn,{view:e,onView:t}),(0,D.jsxs)(`button`,{type:`button`,className:Q9.newBtn,onClick:s,children:[(0,D.jsx)(Ri,{size:14,strokeWidth:2.5}),` New`]})]}),jcn=()=>{let[e,t]=(0,E.useState)(!1),n=ncn(),r=Ocn(n),i=()=>{n.openCreate(r.defaultStart)};return(0,D.jsxs)(`div`,{className:Q9.scheduleRoot,children:[(0,D.jsx)(Acn,{view:n.view,onView:n.setView,rangeText:r.rangeText,showNav:n.view!==`hours`,onPrev:n.goPrev,onNext:n.goNext,onToday:n.goToday,onNew:i,timezone:n.timezone,setTimezone:n.setTimezone,todayDate:r.today,onToggleSidebar:()=>{t(e=>!e)},isSidebarOpen:e}),n.view===`hours`?(0,D.jsx)(`div`,{className:Q9.hoursArea,children:(0,D.jsx)(bcn,{})}):(0,D.jsx)(icn,{query:r.query,view:n.view,today:r.today,days:r.days,cells:r.cells,weekOccurrences:r.weekOccurrences,availability:r.availability,workStart:r.workStart,workEnd:r.workEnd,range:r.range,monthDates:r.monthDates,monthAnchor:r.monthAnchor,monthOccurrences:r.monthOccurrences,summary:r.summary,active:n.active,onToggle:n.toggle,onSelectBlock:n.openEdit,onSelectSlot:n.openCreate,onCreate:i,onQuickAdd:n.openQuick,isSidebarOpen:e,onCloseSidebar:()=>{t(!1)}}),n.editor!==null&&(0,D.jsx)(nsn,{state:n.editor,timezone:n.timezone,onClose:n.closeEditor})]})},Mcn=()=>{m9(`uapp-schedule`,()=>(0,D.jsx)(grn,{path:`/comms/schedule`,children:(0,D.jsx)(jcn,{})}))};lb(),fb(),mS();var Ncn=6e4,Pcn=e=>{let t=e.logger??new db(`info`),n=new cS,r,i=0,a=new nke(new ZOe(new cb({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:()=>r}),{timeoutMs:2e4,logger:t}),{logger:t}),o=new I2t({httpClient:a,clock:n,logger:t,clientKey:e.clientKey,modules:e.modules});return{httpClient:a,logger:t,token:async()=>{if(r!==void 0&&n.now().getTime()<i-Ncn)return r;let a=await e.getAssertion(),s=await o.exchangeSsoSecret(a);if(!s.ok){t.error(`Could not exchange the assertion for a token`,s.error);return}return r=s.value.accessToken,i=s.value.expiresAt.getTime(),r},currentToken:()=>r}},Fcn=`/api/app/notification`,Icn=async(e,t)=>{try{let t=await e.get(Fcn);return(Array.isArray(t)?t:[]).map(X9t).filter(e=>e!==null)}catch(e){return t.error(`Could not load unread notifications`,e),[]}},Lcn=(e,t,n)=>new q4t({logger:t}).create({url:`${e}/signalr/notifications`,accessTokenProvider:n});Uy(),e.CommsProvider=een,e.SDK_MODULE_SCOPES=R2t,e.WidgetRoot=ten,e.createNotificationClient=e=>{let t=Pcn({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.feed`],...e.logger===void 0?{}:{logger:e.logger}}),{httpClient:n,logger:r,token:i}=t,a=null,o=null,s=[];return{start:async()=>{a===null&&await i()!==void 0&&(s=await Icn(n,r),s.forEach(e.onNotification),a=Lcn(e.apiBaseUrl,r,t.currentToken),o=a.on(D8t.ReceiveNotification,t=>{let n=X9t(t);if(n===null){r.error(`Discarded a malformed notification payload`,{rawPayload:t});return}s=[n,...s.filter(e=>e.id!==n.id)],e.onNotification(n)}),await a.start())},stop:async()=>{o?.(),o=null,await a?.stop(),a=null},markAsRead:async e=>{await i()!==void 0&&(await n.post(`${Fcn}/${e}/mark-as-read`,{}),s=s.filter(t=>t.id!==e))},unread:()=>s}},e.createPresenceClient=e=>{let t=Pcn({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.chat`],...e.logger===void 0?{}:{logger:e.logger}}),n=new aZt({httpClient:t.httpClient,logger:t.logger}),r=async e=>{if(await t.token()===void 0)return null;let n=await e();return dDe(n)?n.value:null};return{getMine:()=>r(()=>n.getMine()),setMine:e=>r(()=>n.setMine(e)),clearMine:()=>r(()=>n.clearMine()),getOf:async e=>{if(await t.token()===void 0)return null;let r=await n.getOf(e);return dDe(r)?r.value:null}}},e.defineCustomElements=()=>{uen(),_rn(),Oan(),Mcn()},e.registerBookingsWidget=Oan,e.registerChatWidget=uen,e.registerFeedWidget=_rn,e.registerScheduleWidget=Mcn});
2100
+ `),a=Reflect.get(e,`CSSStyleSheet`);if(typeof a?.prototype.replaceSync!=`function`){let t=e.document.createElement(`style`);t.textContent=i,r.append(t)}else{let e=new a;e.replaceSync(i),r.adoptedStyleSheets=[e]}let o=t.host,s=o.getAttribute(`data-theme`);return s!==null&&n.setAttribute(`data-theme`,s),n.setAttribute(`style`,o.getAttribute(`style`)??``),r},XYt=async(e={},t=document,n=window)=>{let r=n.documentPictureInPicture;if(r===void 0)return null;try{let n=await r.requestWindow({width:e.width??320,height:e.height??220});return t instanceof ShadowRoot?{window:n,container:YYt(n,t)}:(qYt(n,t),JYt(n,t),{window:n,container:n.document.body})}catch{return null}},ZYt=(e,t)=>{let[n,r]=(0,E.useState)(null),i=(0,E.useRef)(null);i.current=n;let a=(0,E.useRef)(t);a.current=t;let o=(0,E.useCallback)(()=>{i.current?.window.close(),r(null)},[]),s=(0,E.useCallback)(async()=>{if(i.current!==null)return;let e=a.current.current?.getRootNode(),t=await XYt({},e instanceof ShadowRoot||e instanceof Document?e:document);t!==null&&(t.window.addEventListener(`pagehide`,()=>{r(null)}),r(t))},[]),c=(0,E.useCallback)(()=>{s()},[s]);return(0,E.useEffect)(()=>{let t=Reflect.get(navigator,`mediaSession`);if(!e||!HYt()||t===void 0)return;let n=`enterpictureinpicture`;try{t.setActionHandler(n,()=>{s()})}catch{return}return()=>{try{t.setActionHandler(n,null)}catch{}}},[e,s]),(0,E.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&o()};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[o]),(0,E.useEffect)(()=>{e||(o(),UYt()?.close())},[e,o]),(0,E.useEffect)(()=>o,[o]),{mount:n,popOut:c}},B5={overlay:`_overlay_1agsz_5`,card:`_card_1agsz_12`,draggable:`_draggable_1agsz_30`,head:`_head_1agsz_40`,info:`_info_1agsz_46`,avatarRing:`_avatarRing_1agsz_53`,avatarRingPulse:`_avatarRingPulse_1agsz_65`,callPulse:`_callPulse_1agsz_1`,avatar:`_avatar_1agsz_53`,name:`_name_1agsz_107`,status:`_status_1agsz_117`,timer:`_timer_1agsz_123`,actions:`_actions_1agsz_130`,btn:`_btn_1agsz_137`,accept:`_accept_1agsz_163`,acceptBob:`_acceptBob_1agsz_1`,decline:`_decline_1agsz_178`,mute:`_mute_1agsz_182`,muteOn:`_muteOn_1agsz_191`,popped:`_popped_1agsz_208`,popOut:`_popOut_1agsz_224`};hh(),fo(),Fy(),Do();var QYt=e=>{let t=e.trim().split(/\s+/).filter(e=>e.length>0);if(t.length===0)return`?`;let n=t[0]??``,r=t.length>1?t[t.length-1]??``:``;return(n.charAt(0)+r.charAt(0)).toUpperCase()},$Yt=e=>e===`unavailable`?`Unavailable`:e===`busy`?`Busy`:e===`failed`?`Call failed`:`Call ended`,eXt=(e,t,n,r)=>{let i=t===`video`?`video`:`voice`;switch(e){case`incoming`:return`Incoming ${i} call`;case`outgoing`:return n?`Ringing…`:`Calling…`;case`active`:return`Connecting…`;case`ended`:return $Yt(r);case`idle`:return``}},tXt=({sinceMs:e})=>{let[t,n]=(0,E.useState)(()=>Date.now());(0,E.useEffect)(()=>{let e=window.setInterval(()=>{n(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]);let r=Math.max(0,Math.floor((t-e)/1e3)),i=String(Math.floor(r/60)).padStart(2,`0`),a=String(r%60).padStart(2,`0`);return(0,D.jsxs)(`span`,{className:B5.timer,children:[i,`:`,a]})},nXt=({phase:e,muted:t,actions:n})=>e===`ended`?null:e===`incoming`?(0,D.jsxs)(`div`,{className:B5.actions,children:[(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.decline),onClick:()=>{n.decline()},"aria-label":`Decline call`,children:(0,D.jsx)(Ei,{size:24})}),(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.accept),onClick:()=>{n.accept()},"aria-label":`Accept call`,children:(0,D.jsx)(ki,{size:24})})]}):(0,D.jsxs)(`div`,{className:B5.actions,children:[e===`active`&&(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.mute,t&&B5.muteOn),onClick:()=>{n.toggleMute()},"aria-label":t?`Unmute`:`Mute`,children:t?(0,D.jsx)(si,{size:20}):(0,D.jsx)(ui,{size:20})}),(0,D.jsx)(`button`,{type:`button`,className:T(B5.btn,B5.decline),onClick:()=>{n.hangup()},"aria-label":`Hang up`,children:(0,D.jsx)(Ei,{size:24})})]}),rXt=e=>{let t=e.phase===`outgoing`&&e.callId!==null,n=e.phase===`active`&&e.connected&&e.activeSinceMs!==null;return{ringing:e.phase===`incoming`||e.phase===`outgoing`,initials:e.peerInitials===``?QYt(e.peerName):e.peerInitials,status:n?(0,D.jsx)(tXt,{sinceMs:e.activeSinceMs}):eXt(e.phase,e.mediaType,t,e.endReason)}},iXt=({peerName:e,initials:t,peerColor:n,ringing:r,status:i,onPopOut:a})=>(0,D.jsxs)(`div`,{className:B5.head,children:[(0,D.jsx)(`div`,{className:T(B5.avatarRing,r&&B5.avatarRingPulse),children:(0,D.jsx)(`div`,{className:B5.avatar,style:n===``?void 0:yo({"--avatar-color":n}),"aria-hidden":`true`,children:t})}),(0,D.jsxs)(`div`,{className:B5.info,children:[(0,D.jsx)(`div`,{className:B5.name,children:e===``?`Unknown caller`:e}),(0,D.jsx)(`div`,{className:B5.status,children:i})]}),a!==null&&(0,D.jsx)(`button`,{type:`button`,className:B5.popOut,onClick:a,"aria-label":`Keep call on top`,title:`Keep call on top`,children:(0,D.jsx)(Mi,{size:16})})]}),aXt=({actions:e})=>{let t=nC(e=>e.phase),n=nC(e=>e.callId),r=nC(e=>e.peerName),i=nC(e=>e.peerInitials),a=nC(e=>e.peerColor),o=nC(e=>e.mediaType),s=nC(e=>e.muted),c=nC(e=>e.connected),l=nC(e=>e.activeSinceMs),u=nC(e=>e.endReason),d=(0,E.useRef)(null),{mount:f,popOut:p}=ZYt(t===`incoming`||t===`outgoing`||t===`active`,d);if(t===`idle`)return null;let m=f!==null,h=t===`active`&&!m,{ringing:g,initials:_,status:v}=rXt({phase:t,callId:n,peerName:r,peerInitials:i,mediaType:o,connected:c,activeSinceMs:l,endReason:u}),y=(0,D.jsx)(`div`,{className:T(B5.overlay,m&&B5.popped),ref:d,role:`dialog`,"aria-label":`Call`,children:(0,D.jsxs)(Gm.div,{className:T(B5.card,h&&B5.draggable),variants:_h,initial:`hidden`,animate:`visible`,drag:h,dragConstraints:d,dragElastic:.12,dragMomentum:!1,children:[(0,D.jsx)(iXt,{peerName:r,initials:_,peerColor:a,ringing:g,status:v,onPopOut:!m&&HYt()?p:null}),(0,D.jsx)(nXt,{phase:t,muted:s,actions:e})]})});return f===null?y:(0,zy.createPortal)(y,f.container)},oXt=()=>typeof window<`u`&&`Notification`in window,sXt=async()=>{if(!oXt())return`denied`;if(Notification.permission==="default")try{return await Notification.requestPermission()}catch{return`denied`}return Notification.permission},cXt=({callerName:e,mediaType:t,onAccept:n,onDecline:r})=>{if(!oXt()||Notification.permission!==`granted`)return null;let i=`Incoming ${t===`video`?`video`:`voice`} call`,a=`${e||`Someone`} is calling you...`;try{let e=new Notification(i,{body:a,icon:`/favicon.ico`,tag:`incoming-call`,requireInteraction:!0});return e.onclick=()=>{window.focus(),e.close()},e}catch{return null}},lXt=({phase:e,peerName:t,mediaType:n})=>{(0,E.useEffect)(()=>{if(e!==`incoming`)return;let r=null,i=null,a=document.title,o=()=>{if(document.visibilityState===`hidden`){if(r??=cXt({callerName:t,mediaType:n}),i===null){let e=!1;i=window.setInterval(()=>{e=!e,document.title=e?`📞 Incoming call (${t||`Calling`})...`:a},1e3)}}else r!==null&&(r.close(),r=null),i!==null&&(window.clearInterval(i),i=null,document.title=a)};o();let s=()=>{o()};return document.addEventListener(`visibilitychange`,s),()=>{document.removeEventListener(`visibilitychange`,s),i!==null&&window.clearInterval(i),document.title=a,r!==null&&r.close()}},[e,t,n])},uXt=0,dXt=(e,t)=>{let n=e.getState();return n.direction===`outgoing`&&n.phase===`outgoing`&&n.callId===null&&n.dialId===t},fXt=async({store:e,cancelCall:t,dialId:n,result:r})=>{let i=dXt(e,n);if(!r.ok){i&&e.getState().ended(`failed`);return}let a=r.value;if(a.status===`callee_busy`){i&&e.getState().ended(`busy`);return}if(a.status===`callee_unavailable`||a.joinTicket===null){i&&e.getState().ended(`unavailable`);return}if(!i){await t.execute(a.callId);return}e.getState().attachOutgoing({callId:a.callId,ticket:a.joinTicket})},pXt=()=>{let{store:e,startCall:t,acceptCall:n,declineCall:r,cancelCall:i,endCall:a}=tC();return{startCall:(0,E.useCallback)(async n=>{if(n.userId===``)return;let r=e.getState().phase;if(r!==`idle`&&r!==`ended`)return;let a=String(uXt+=1);e.getState().dialing({peer:n,mediaType:`audio`,dialId:a}),await fXt({store:e,cancelCall:i,dialId:a,result:await t.execute(n.userId,`audio`)})},[e,t,i]),accept:(0,E.useCallback)(async()=>{let{callId:t,direction:r}=e.getState();if(t===null||r!==`incoming`)return;e.getState().activate(null,Date.now());let i=await n.execute(t);if(!i.ok){e.getState().ended(`failed`);return}e.getState().activate(i.value,Date.now())},[e,n]),decline:(0,E.useCallback)(async()=>{let{callId:t}=e.getState();e.getState().reset(),t!==null&&await r.execute(t)},[e,r]),hangup:(0,E.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`hung_up`),t!==null&&(n===`active`?await a.execute(t):await i.execute(t))},[e,a,i]),mediaEnded:(0,E.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`ended`),!(t===null||n!==`active`)&&await a.execute(t)},[e,a]),toggleMute:(0,E.useCallback)(()=>{let t=e.getState();t.setMuted(!t.muted)},[e])}},mXt=15e3,hXt=3e3,gXt=e=>{switch(e){case`outgoing`:case`incoming`:return hXt;case`active`:return mXt;case`idle`:case`ended`:return null}},_Xt=(e,t)=>{let{store:n,heartbeatCall:r}=tC(),i=gXt(t);(0,E.useEffect)(()=>{if(e===null||i===null)return;let t=!1,a=!1,o=async()=>{if(!a){a=!0;try{let i=await r.execute(e);if(t||!i.ok||i.value.active)return;let a=n.getState();a.callId===e&&a.ended(`ended`)}finally{a=!1}}},s=window.setInterval(()=>{o()},i);return()=>{t=!0,window.clearInterval(s)}},[e,i,n,r])},vXt=()=>{let e=nC(e=>e.phase),t=nC(e=>e.callId),n=nC(e=>e.ticket),r=nC(e=>e.muted),i=nC(e=>e.peerName),a=nC(e=>e.mediaType),o=tC().store,s=pXt(),c=(0,E.useRef)(null);c.current??=ZRe();let l=c.current;return(0,E.useEffect)(()=>{sXt();let e=()=>{l.unlock(),sXt()};return window.addEventListener(`pointerdown`,e,{once:!0}),()=>{window.removeEventListener(`pointerdown`,e)}},[l]),lXt({phase:e,peerName:i,mediaType:a}),_Xt(t,e),(0,E.useEffect)(()=>{e===`incoming`?l.playRing():e===`outgoing`?l.playRingback():l.stop()},[e,l]),(0,E.useEffect)(()=>()=>{l.dispose()},[l]),(0,E.useEffect)(()=>{if(e!==`ended`)return;let t=window.setTimeout(()=>{o.getState().reset()},2500);return()=>{window.clearTimeout(t)}},[e,o]),e===`idle`?null:(0,D.jsxs)(D.Fragment,{children:[n!==null&&(e===`outgoing`||e===`active`)&&(0,D.jsx)(VYt,{ticket:n,muted:r,onConnected:()=>{o.getState().markConnected()},onEnded:()=>{s.mediaEnded()}}),(0,D.jsx)(aXt,{actions:s})]})},yXt=()=>{let{startCall:e}=pXt(),t=nC(e=>e.phase);return{start:t=>{e(t)},busy:t!==`idle`&&t!==`ended`}},bXt={callBtn:`_callBtn_1q44j_1`};fo(),Do();var xXt=({calleeUserId:e,calleeName:t,calleeInitials:n=``,calleeColor:r=``,className:i,canCalls:a,canStartCall:o})=>{let{hasPermission:s}=wS(),{start:c,busy:l}=yXt(),u=a??s(CS.calls),d=o??s(CS.callsStart);return e===``||!u?null:(0,D.jsx)(`button`,{type:`button`,className:T(bXt.callBtn,i),disabled:l||!d,onClick:()=>{d&&c({userId:e,name:t,initials:n,color:r})},"aria-label":`Call ${t}`,title:d?`Call ${t}`:`Permission Denied`,children:(0,D.jsx)(ki,{size:18})})},SXt=({conversation:e})=>e.isGroup||e.peerUserId===null?null:(0,D.jsx)(`div`,{className:A.headEnd,children:(0,D.jsx)(xXt,{calleeUserId:e.peerUserId,calleeName:e.title,calleeInitials:e.initials,calleeColor:e.color})}),CXt=6e4,wXt=36e5,TXt=864e5,EXt=(e,t)=>{if(e===null)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=Math.max(0,t-n);return r<CXt?`Last seen just now`:r<wXt?`Last seen ${String(Math.floor(r/CXt))}m ago`:r<TXt?`Last seen ${String(Math.floor(r/wXt))}h ago`:`Last seen ${String(Math.floor(r/TXt))}d ago`},DXt=({conversation:e,live:t,liveStatus:n,nowMs:r})=>{if(t?.online??(n===void 0?e.online:n.status!==`offline`)){let t=n?.status??e.status;return{online:!0,subtitle:`Online`,status:t!==`offline`&&t!==`available`?t:null}}return{online:!1,subtitle:(t===void 0?null:EXt(t.lastSeenUtc,r))??`Offline`,status:null}},OXt=`This message was deleted`,kXt=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22);return JSON.parse(t)}catch{return null}return null},AXt=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`)){let t=kXt(e);if(t!==null){let e=t.card.title;return e.length>0?`Shared Post: ${e}`:`Shared Post`}return`Shared Post`}return e},jXt=(e,t=null)=>t?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:t.authorName,text:t.text}:e.replyTo?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:e.replyTo.authorName,text:e.replyTo.text}:{messageId:e.id,authorName:e.authorName,text:e.text},MXt=(e,t)=>{if(e.replyTo===null)return null;let n=t.get(e.replyTo.messageId),r=n?.deletedForEveryone?OXt:n?.text??e.replyTo.text,i=n?.authorName??e.replyTo.authorName;return r.startsWith(`__UAPP_SHARED_CARD__::`)?{author:i,text:r}:null},NXt=(e,t)=>{if(e===null)return null;if(e.authorName.length>0||e.text.length>0)return e;let n=t.get(e.messageId);if(n===void 0)return e;let r=n.authorName,i=n.deletedForEveryone?OXt:n.text,a=MXt(n,t);return a!==null&&(r=a.author,i=a.text),{messageId:e.messageId,authorName:r,text:i}},V5=(e,t)=>e.some(e=>e.id===t.id)?e:t.clientMessageId!==null&&e.some(e=>e.clientMessageId===t.clientMessageId)?e.map(e=>e.clientMessageId===t.clientMessageId?t.withFallbackSentAt(e.sentAt):e):[...e,t].sort((e,t)=>e.sequence-t.sequence),PXt=`pending:`,FXt=e=>`${PXt}${e}`,H5=e=>e.id.startsWith(PXt),IXt=e=>e.reduce((e,t)=>Math.max(e,t.sequence),0),LXt=e=>e.filter(e=>!H5(e)).reduce((e,t)=>Math.max(e,t.sequence),0),RXt=e=>new INe({id:FXt(e.clientMessageId),kind:`text`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.text.trim(),time:e.timeLabel,sentAt:e.sentAt??``,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:null,isEdited:!1}),zXt=e=>new INe({id:FXt(e.clientMessageId),kind:`media`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.caption.trim(),time:``,sentAt:e.sentAt,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:e.fileUrl,mediaContentType:e.contentType,mediaFileName:e.fileName,isEdited:!1}),BXt=(e,t)=>V5(e??[],t),VXt=(e,t)=>V5(e??[],t);fo(),Do();var HXt=({selectedMessage:e,onClearSelection:t,onReply:n,onStartEdit:r,onDelete:i})=>{let a=H5(e),o=e.fromViewer&&!e.deletedForEveryone&&e.canEdit(Date.now());return(0,D.jsxs)(`div`,{className:A.mobileSelectionHeader,children:[(0,D.jsxs)(`div`,{className:A.selectionLeft,children:[(0,D.jsx)(`button`,{type:`button`,className:A.selectionActionBtn,"aria-label":`Clear selection`,onClick:t,children:(0,D.jsx)(lo,{size:18})}),(0,D.jsx)(`span`,{className:A.selectionTitle,children:`1 Selected`})]}),(0,D.jsxs)(`div`,{className:A.selectionActions,children:[!a&&n!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:A.selectionActionBtn,title:`Reply`,"aria-label":`Reply`,onClick:()=>{n(jXt(e)),t!==void 0&&t()},children:(0,D.jsx)(ea,{size:17})}),!a&&o&&r!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:A.selectionActionBtn,title:`Edit message`,"aria-label":`Edit message`,onClick:()=>{r(e),t!==void 0&&t()},children:(0,D.jsx)(Ci,{size:17})}),!a&&e.fromViewer&&i!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:T(A.selectionActionBtn,A.selectionActionDanger),title:`Delete message`,"aria-label":`Delete message`,onClick:()=>{i(e.id),t!==void 0&&t()},children:(0,D.jsx)(Ka,{size:17})})]})]})};fo();var UXt=(e,t,n,r={})=>{let i=r.canManageMembers??!0,a=r.canDelete??!0;return[...e.lastSynced===null?[]:[{label:`Last synced ${e.lastSynced}`,icon:(0,D.jsx)(Ui,{size:14}),onSelect:()=>{t.refresh(e)}}],...i?[{label:`Manage members`,icon:(0,D.jsx)(to,{size:14}),onSelect:n.onManageMembers}]:[],{label:e.favourite?`Remove from Favourites`:`Add to Favourites`,icon:(0,D.jsx)(Ma,{size:14}),onSelect:()=>{t.toggleFavourite(e)}},{label:e.pinned?`Unpin`:`Pin to top`,icon:(0,D.jsx)(Fi,{size:14}),onSelect:()=>{t.togglePin(e)}},{label:e.archived?`Unarchive`:`Archive`,icon:e.archived?(0,D.jsx)(qt,{size:14}):(0,D.jsx)(Xt,{size:14}),onSelect:()=>{t.toggleArchive(e)}},{label:`Leave group`,icon:(0,D.jsx)(Wr,{size:14}),onSelect:()=>{n.onRequestLeave(e)}},...a?[{label:`Delete group`,icon:(0,D.jsx)(Ka,{size:14}),danger:!0,onSelect:()=>{n.onRequestDelete(e)}}]:[]]},WXt=(e,t)=>{let n=t.find(t=>t.id===e.categoryId&&t.tenantId===e.tenantId);return n===void 0?t.find(t=>t.locked&&t.tenantId===e.tenantId)??null:n},GXt=e=>{let t=Object.entries(e.data).filter(([e,t])=>e!==`statusColor`&&t!==``).map(([,e])=>e);return t.length>0?t.join(` · `):e.subtitle},KXt=(e,t)=>{let n=WXt(e,t);if(n===null)return{icon:null,accent:e.color,pill:null,subtitle:e.subtitle};let r=t=>e.data[t]??``,i=n.fields.filter(e=>e.visible&&r(e.key)!==``);if(i.length===0)return{icon:n.icon,accent:n.accent,pill:null,subtitle:GXt(e)};let a=i.find(e=>e.type===`pill`),o=i.filter(e=>e.type!==`pill`).map(e=>r(e.key));return{icon:n.icon,accent:n.accent,pill:a===void 0?null:{value:r(a.key),color:e.data.statusColor??n.accent},subtitle:o.length>0?o.join(` · `):e.subtitle}},qXt=[`override`,`activity`,`calendar`,`connection`],JXt=e=>qXt[e??-1]??`connection`;_o();var U5=class extends mo{code=`PRESENCE_UNAVAILABLE`;constructor(e){super(`Your status is unavailable right now. Please try again.`,{cause:e})}},YXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.getMine()}},XXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.setMine(e)}},ZXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.clearMine()}},QXt=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.getOf(e)}};yx();var $Xt=hx({status:fx(),source:fx(),untilUtc:k().nullish(),note:k().nullish(),hasOverride:px()}),eZt=hx({userId:k(),online:px(),status:fx(),untilUtc:k().nullish()}),tZt=mx(eZt),W5={mine:`/api/app/presence/mine`,setMine:`/api/app/presence/set-mine`,clearMine:`/api/app/presence/clear-mine`,of:e=>`/api/app/presence/of?${e.map(e=>`Ids=${encodeURIComponent(e)}`).join(`&`)}`},nZt=e=>({status:WS(e.status),source:JXt(e.source),untilUtc:e.untilUtc??null,note:e.note??null,hasOverride:e.hasOverride}),rZt=e=>({status:CLe(e.status),minutes:e.minutes,...e.note===void 0?{}:{note:e.note}}),iZt=e=>({userId:e.userId,online:e.online,status:WS(e.status),untilUtc:e.untilUtc??null});Uy();var aZt=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-presence-gateway`)}getMine(){return this.request(()=>this.http.get(W5.mine),`getMine`)}setMine(e){return this.request(()=>this.http.post(W5.setMine,rZt(e)),`setMine`)}async getOf(e){if(e.length===0)return By([]);try{let t=tZt.safeParse(await this.http.get(W5.of(e)));return t.success?By(t.data.map(iZt)):(this.logger.error(`getOf: unexpected response shape`,t.error),O(new U5(t.error)))}catch(e){return this.logger.error(`getOf failed`,e),O(new U5(e))}}clearMine(){return this.request(()=>this.http.post(W5.clearMine,{}),`clearMine`)}async request(e,t){try{let n=$Xt.safeParse(await e());return n.success?By(nZt(n.data)):(this.logger.error(`${t}: unexpected response shape`,n.error),O(new U5(n.error)))}catch(e){return this.logger.error(`${t} failed`,e),O(new U5(e))}}},oZt=e=>{let t={presenceGateway:new aZt({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{getMyPresence:new YXt(t),setMyPresence:new XXt(t),clearMyPresence:new ZXt(t),getPresenceOf:new QXt(t),logger:e.logger}},sZt=(0,E.createContext)(null),cZt=()=>{let e=(0,E.useContext)(sZt);if(e===null)throw Error(`Presence hooks must be used within <PresenceModuleProvider>.`);return e};tS(),Uy();var lZt=3e4,uZt=()=>{let{getPresenceOf:e}=cZt(),t=kLe(),n=(0,E.useMemo)(()=>t===``?[]:t.split(`,`),[t]),{data:r}=Qx({queryKey:[`presence`,`of`,t],enabled:n.length>0,queryFn:()=>Hy(e.execute(n)),refetchInterval:lZt,refetchOnWindowFocus:!0,retry:!1});(0,E.useEffect)(()=>{r!==void 0&&jLe(r)},[r])},dZt=()=>(uZt(),null),fZt=({module:e,children:t})=>(0,D.jsxs)(sZt.Provider,{value:e,children:[(0,D.jsx)(dZt,{}),t]});Uy(),Fy(),gS(),wLe.filter(e=>e.id!==`offline`),gS();var pZt=({status:e,untilUtc:t,size:n})=>{let r=hS();return(0,D.jsx)(NLe,{status:e,untilUtc:t??null,formatUntil:e=>r.formatUntil(e),...n===void 0?{}:{size:n}})};fo(),Fy(),Do();var mZt=4,hZt={Hash:Er,GraduationCap:Cr,Users:to,Building2:_n,Briefcase:mn,BookOpen:gee,Globe:br},gZt=({conversation:e,header:t,dmOnline:n})=>{let r=t?.icon??null,i=r===null?void 0:hZt[r];return i===void 0?(0,D.jsxs)(`span`,{className:A.viewAvatarWrap,children:[(0,D.jsx)(`span`,{className:A.viewAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),n===!0&&(0,D.jsx)(`span`,{className:T(A.presenceDot,A.viewPresenceDot),"aria-label":`Online`})]}):(0,D.jsx)(`span`,{className:A.viewIcon,style:yo({"--avatar-color":t?.accent??e.color}),children:(0,D.jsx)(i,{size:18})})},_Zt=({members:e})=>{if(e.length===0)return null;let t=e.length-mZt;return(0,D.jsxs)(`div`,{className:A.memberStack,children:[e.slice(0,mZt).map(e=>(0,D.jsx)(`span`,{className:A.memberAvatar,title:e.name,children:(0,D.jsx)(OTe,{initials:e.initials,color:e.color,size:`xs`})},e.id)),t>0&&(0,D.jsxs)(`span`,{className:A.memberMore,children:[`+`,t]})]})},vZt=({conversation:e,pill:t,presence:n,statusPill:r,subtitle:i})=>(0,D.jsxs)(`span`,{className:A.viewHeadText,children:[(0,D.jsxs)(`span`,{className:A.viewTitleRow,children:[(0,D.jsx)(`span`,{className:A.viewTitle,children:e.title}),e.admin&&(0,D.jsx)(`span`,{className:A.adminBadge,children:`You're admin`}),t?(0,D.jsx)(`span`,{className:A.statusPill,style:yo({"--pill":t.color}),children:t.value}):null,n!==null&&(0,D.jsx)(pZt,{untilUtc:e.statusUntilUtc,status:n}),r]}),(0,D.jsx)(`span`,{className:A.viewSub,children:i})]});Dt(),fo(),Fy(),Do();var yZt=(e,t)=>{let n=`${String(e.memberCount)} member${e.memberCount===1?``:`s`}`,r=t?.subtitle??e.subtitle;return r===``||r===e.title?n:`${n} · ${r}`},bZt=({conversation:e,actions:t,canManageMembers:n,canDelete:r,onManageMembers:i,onRequestDelete:a,onRequestLeave:o})=>(0,D.jsxs)(`div`,{className:A.headEnd,children:[n&&(0,D.jsx)(`button`,{type:`button`,className:A.memberStackBtn,"aria-label":`Manage members`,onClick:i,children:(0,D.jsx)(_Zt,{members:e.members})}),(0,D.jsx)(s_,{align:`end`,trigger:(0,D.jsx)(`button`,{type:`button`,className:A.headMenuBtn,"aria-label":`Group options`,children:(0,D.jsx)(nr,{size:16})}),items:UXt(e,t,{onManageMembers:i,onRequestDelete:a,onRequestLeave:o},{canManageMembers:n,canDelete:r})})]}),xZt=({conversation:e,header:t,dmOnline:n,dmStatus:r,pill:i,statusPill:a,subtitle:o,actions:s,onManageMembers:c,onRequestDelete:l,onRequestLeave:u})=>{let d=We(),{hasPermission:f}=wS(),p=f(CS.chatManageMembers),m=f(CS.chatDelete);return(0,D.jsxs)(`div`,{className:A.standardHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:A.backBtn,"aria-label":`Back to conversations`,onClick:()=>{d(`/comms/chats`)},children:(0,D.jsx)($t,{size:18})}),(0,D.jsx)(gZt,{conversation:e,header:t,dmOnline:n}),(0,D.jsx)(vZt,{conversation:e,pill:i,presence:r,statusPill:a,subtitle:o}),e.isGroup&&(0,D.jsx)(bZt,{conversation:e,actions:s,canManageMembers:p,canDelete:m,onManageMembers:c,onRequestDelete:l,onRequestLeave:u}),(0,D.jsx)(SXt,{conversation:e})]})},SZt=({conversation:e,categories:t,actions:n,statusPill:r,onManageMembers:i,onRequestDelete:a,onRequestLeave:o,selectedMessage:s=null,onClearSelection:c,onReply:l,onStartEdit:u,onDelete:d})=>{let f=e.isGroup?KXt(e,t):null,p=f?.pill??null,m=e.peerUserId,h=DXt({conversation:e,live:vS(e=>m===null?void 0:e.presence[m]),liveStatus:OLe(m),nowMs:Date.now()}),g=e.isGroup?yZt(e,f):h.subtitle;return(0,D.jsxs)(`header`,{className:T(A.viewHead,s!==null&&A.hasMobileSelection),children:[s!==null&&(0,D.jsx)(HXt,{selectedMessage:s,onClearSelection:c,onReply:l,onStartEdit:u,onDelete:d}),(0,D.jsx)(xZt,{conversation:e,header:f,dmOnline:e.isGroup?null:h.online,dmStatus:e.isGroup?null:h.status,pill:p,statusPill:r,subtitle:g,actions:n,onManageMembers:i,onRequestDelete:a,onRequestLeave:o})]})};hh(),fo(),Fy(),Do();var CZt=({excludeIds:e,onAdd:t,onBack:n})=>{let{search:r,setSearch:i,results:a,loading:o,hasQuery:s}=PS(e,`groupPool`);return(0,D.jsxs)(`div`,{className:A.addPanel,children:[(0,D.jsxs)(`div`,{className:A.addPanelHead,children:[(0,D.jsx)(`button`,{type:`button`,className:A.memberRowMenuBtn,"aria-label":`Back to members`,onClick:n,children:(0,D.jsx)($t,{size:15})}),(0,D.jsx)(`span`,{className:A.addPanelTitle,children:`Add member`})]}),(0,D.jsxs)(`div`,{className:A.addPanelSearch,children:[(0,D.jsx)(oa,{size:14}),(0,D.jsx)(`input`,{className:A.searchInput,placeholder:`Search staff`,value:r,onChange:e=>{i(e.target.value)}}),o&&(0,D.jsx)(Vo,{size:`sm`,label:`Searching staff`})]}),(0,D.jsxs)(`div`,{className:A.addPanelList,children:[(0,D.jsx)(vm,{initial:!1,children:a.map(e=>(0,D.jsxs)(Gm.div,{layout:!0,variants:gh,initial:`hidden`,animate:`visible`,exit:`exit`,className:A.memberRow,children:[(0,D.jsx)(`span`,{className:A.memberRowAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:A.memberRowBody,children:[(0,D.jsx)(`span`,{className:A.memberRowName,children:e.name}),(0,D.jsx)(`span`,{className:A.memberRowRole,children:e.role})]}),(0,D.jsxs)(`button`,{type:`button`,className:A.addMemberBtn,onClick:()=>{t(e)},children:[(0,D.jsx)(Ri,{size:13}),` Add`]})]},e.id))}),a.length===0&&!o&&(0,D.jsx)(`p`,{className:A.addPanelEmpty,children:s?`No staff match your search.`:`Everyone is already in this group.`})]})]})};hh(),fo(),Fy(),Do();var wZt=e=>{let{member:t,isAdmin:n,adminCount:r,onMakeAdmin:i,onRemoveAdmin:a,onRemove:o}=e,s=[];return n||s.push({label:`Make admin`,icon:(0,D.jsx)(_a,{size:14}),onSelect:()=>{i(t.id)}}),n&&r>1&&s.push({label:`Remove admin`,icon:(0,D.jsx)(ma,{size:14}),onSelect:()=>{a(t.id)}}),s.push({label:`Remove from group`,icon:(0,D.jsx)(Ka,{size:14}),danger:!0,onSelect:()=>{o(t.id)}}),s},TZt=({member:e})=>{let t=OLe(e.id),n=t?.status??e.status??`offline`;return n===`offline`?null:(0,D.jsx)(pZt,{status:n,untilUtc:t===void 0?e.statusUntilUtc??null:t.untilUtc})},EZt=e=>{let{member:t,isAdmin:n,isSelf:r,isNew:i,isPromoted:a,isDemoted:o,canManage:s}=e,c=vS(e=>e.presence[t.id]?.online??!1);return(0,D.jsxs)(Gm.div,{layout:!0,variants:gh,initial:`hidden`,animate:`visible`,className:T(A.memberRow,i&&A.memberRowNew),children:[(0,D.jsxs)(`span`,{className:A.memberRowAvatarWrap,children:[(0,D.jsx)(`span`,{className:A.memberRowAvatar,style:yo({"--avatar-color":t.color}),children:t.initials}),c&&(0,D.jsx)(`span`,{className:A.presenceDot,"aria-label":`Online`})]}),(0,D.jsxs)(`span`,{className:A.memberRowBody,children:[(0,D.jsxs)(`span`,{className:A.memberRowName,children:[t.name,r&&(0,D.jsx)(`span`,{className:A.memberRowYou,children:` (You)`}),n?(0,D.jsx)(`span`,{className:A.memberBadgeAdmin,children:`ADMIN`}):(0,D.jsx)(`span`,{className:A.memberBadge,children:`MEMBER`}),i&&(0,D.jsx)(`span`,{className:A.memberPillNew,children:`+ NEW`}),a&&!i&&(0,D.jsx)(`span`,{className:A.memberPillUp,children:`↑ PROMOTED`}),o&&(0,D.jsx)(`span`,{className:A.memberPillDown,children:`↓ DEMOTED`})]}),(0,D.jsxs)(`span`,{className:A.memberRowRole,children:[t.role,(0,D.jsx)(TZt,{member:t})]})]}),s&&!r&&(0,D.jsx)(s_,{align:`end`,trigger:(0,D.jsx)(`button`,{type:`button`,className:A.memberRowMenuBtn,"aria-label":`Actions for ${t.name}`,children:(0,D.jsx)(nr,{size:14})}),items:wZt(e)})]})},DZt=(e,t,n,r)=>{let i=e.map(e=>e.id),a=n.map(e=>e.id),o=a.filter(e=>!i.includes(e)),s=i.filter(e=>!a.includes(e)),c=r.filter(e=>!t.includes(e)&&a.includes(e)),l=t.filter(e=>!r.includes(e)&&a.includes(e));return{addedIds:o,removedIds:s,promotedIds:c,demotedIds:l,total:o.length+s.length+c.length+l.length}},OZt=(e,t)=>t.some(t=>e.some(e=>e.id===t)),kZt=e=>{let{addedIds:t,removedIds:n,promotedIds:r,demotedIds:i,total:a}=e;if(a===0)return`Save changes`;if(t.length===a)return t.length===1?`Add member`:`Add ${String(t.length)}`;if(n.length===a)return n.length===1?`Remove member`:`Remove ${String(n.length)}`;let o=r.length+i.length;return o===a?o===1?`Confirm`:`Confirm ${String(o)}`:`Save changes (${String(a)})`},AZt=(e,t)=>{let[n,r]=(0,E.useState)(e.members),[i,a]=(0,E.useState)(e.adminIds),[o,s]=(0,E.useState)(!1);return(0,E.useEffect)(()=>{t&&(r(e.members),a(e.adminIds),s(!1))},[t,e.id,e.members,e.adminIds]),{members:n,adminIds:i,adding:o,diff:DZt(e.members,e.adminIds,n,i),adminCount:i.filter(e=>n.some(t=>t.id===e)).length,setAdding:s,addMember:e=>{r(t=>[...t,e]),s(!1)},removeMember:e=>{r(t=>t.filter(t=>t.id!==e)),a(t=>t.filter(t=>t!==e))},makeAdmin:e=>{a(t=>t.includes(e)?t:[...t,e])},removeAdmin:e=>{a(t=>t.filter(t=>t!==e))},undoRemove:e=>{r(t=>[...t,e])}}};hh(),fo(),Fy(),Do();var jZt=({member:e,onUndo:t})=>(0,D.jsxs)(`div`,{className:A.removedRow,children:[(0,D.jsx)(`span`,{className:A.memberRowAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:A.memberRowBody,children:[(0,D.jsx)(`span`,{className:A.removedName,children:e.name}),(0,D.jsx)(`span`,{className:A.memberRowRole,children:e.role})]}),(0,D.jsxs)(`button`,{type:`button`,className:A.undoBtn,onClick:t,children:[(0,D.jsx)(ra,{size:12}),` Undo`]})]}),MZt=e=>{let{conversation:t,draftMembers:n,draftAdminIds:r,diff:i,adminCount:a,iAmAdmin:o}=e,{viewerId:s}=e;return(0,D.jsxs)(`div`,{className:A.membersBody,children:[i.total>0&&(0,D.jsxs)(`div`,{className:A.unsavedBar,children:[i.total,` unsaved `,i.total===1?`change`:`changes`]}),o&&(0,D.jsxs)(`button`,{type:`button`,className:A.addMemberCta,onClick:e.onAddClick,children:[(0,D.jsx)(Qa,{size:14}),` Add member`]}),(0,D.jsxs)(`div`,{className:A.membersSectionLabel,children:[`MEMBERS · `,n.length]}),(0,D.jsxs)(`div`,{className:A.membersList,children:[(0,D.jsx)(vm,{initial:!1,children:n.map(t=>(0,D.jsx)(EZt,{member:t,isAdmin:r.includes(t.id),isSelf:t.id===s,isNew:i.addedIds.includes(t.id),isPromoted:i.promotedIds.includes(t.id),isDemoted:i.demotedIds.includes(t.id),canManage:o,adminCount:a,onMakeAdmin:e.onMakeAdmin,onRemoveAdmin:e.onRemoveAdmin,onRemove:e.onRemove},t.id))}),i.removedIds.length>0&&(0,D.jsxs)(Gm.div,{variants:gh,initial:`hidden`,animate:`visible`,children:[(0,D.jsxs)(`div`,{className:A.removedLabel,children:[`WILL BE REMOVED · `,i.removedIds.length]}),i.removedIds.map(n=>{let r=t.members.find(e=>e.id===n);return r===void 0?null:(0,D.jsx)(jZt,{member:r,onUndo:()=>{e.onUndoRemove(r)}},n)})]})]})]})},NZt=({diff:e,saving:t,onCancel:n,onSave:r})=>{let i=e.removedIds.length===e.total&&e.total>0;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`ghost`,onClick:n,children:`Cancel`}),(0,D.jsx)(es,{variant:i?`danger`:`primary`,isLoading:t,disabled:e.total===0,onClick:r,children:kZt(e)})]})},PZt=({conversation:e,open:t,onClose:n})=>{let r=EPe(e.id),i=AZt(e,t),{data:a}=NS(),o=a?.id??``,s=()=>{if(i.diff.total===0){n();return}if(!OZt(i.members,i.adminIds)){my.error(`A group must keep at least one admin`);return}r.mutate({members:i.members,adminIds:i.adminIds},{onSuccess:()=>{my.success(`Members updated`),n()}})},c=i.members.length===1?`member`:`members`,l=i.adminCount===1?`admin`:`admins`;return(0,D.jsx)(xh,{open:t,onOpenChange:e=>{e||n()},title:`Manage members`,description:`${e.title} · ${String(i.members.length)} ${c} · ${String(i.adminCount)} ${l}`,footer:i.adding?void 0:(0,D.jsx)(NZt,{diff:i.diff,saving:r.isPending,onCancel:n,onSave:s}),children:i.adding?(0,D.jsx)(CZt,{excludeIds:i.members.map(e=>e.id),onAdd:i.addMember,onBack:()=>{i.setAdding(!1)}}):(0,D.jsx)(MZt,{conversation:e,draftMembers:i.members,draftAdminIds:i.adminIds,diff:i.diff,adminCount:i.adminCount,iAmAdmin:e.canManageMembers(o),viewerId:o,onAddClick:()=>{i.setAdding(!0)},onMakeAdmin:i.makeAdmin,onRemoveAdmin:i.removeAdmin,onRemove:i.removeMember,onUndoRemove:i.undoRemove})})};Fy();var FZt=({open:e,canDeleteForEveryone:t,onDeleteForMe:n,onDeleteForEveryone:r,onCancel:i})=>(0,D.jsx)(xh,{open:e,onOpenChange:e=>{e||i()},title:`Delete message?`,footer:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`ghost`,onClick:i,children:`Cancel`}),(0,D.jsx)(es,{variant:`secondary`,onClick:n,children:`Delete for me`}),t&&(0,D.jsx)(es,{variant:`danger`,onClick:r,children:`Delete for everyone`})]}),children:t?`Delete this message for everyone, or just remove it from this device?`:`This message can only be removed from this device — the time limit to delete it for everyone has passed.`});hh(),fo(),Fy();var IZt=e=>e===1?`typing…`:`${String(e)} people typing…`,LZt=({conversationId:e})=>{let t=vS(t=>t.typingUserIds(e,Date.now()).length);return(0,D.jsx)(vm,{children:t>0&&(0,D.jsxs)(Gm.div,{className:A.typingRow,variants:vh,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,D.jsxs)(`span`,{className:A.typingDots,"aria-hidden":!0,children:[(0,D.jsx)(`span`,{}),(0,D.jsx)(`span`,{}),(0,D.jsx)(`span`,{})]}),(0,D.jsx)(`span`,{className:A.typingText,children:IZt(t)})]})})},RZt=()=>{let e=vS(e=>e.status);if(e===`connected`||e===`connecting`)return null;let t=e===`reconnecting`?`Reconnecting…`:`Offline`;return(0,D.jsxs)(`span`,{className:A.connPill,children:[(0,D.jsx)(oo,{size:12}),` `,t]})},zZt=20*1024*1024,BZt=(e,t,n)=>{let r=[],i=!1;for(let a of e){if(r.length>=t)break;if(a.size>n){i=!0;continue}r.push(a)}let a=e.reduce((e,t)=>e+ +(t.size<=n),0);return{accepted:r,skippedOversize:i,overflowed:a>t}};Fy();var VZt=()=>{let[e,t]=(0,E.useState)([]),n=(0,E.useRef)([]);return n.current=e,(0,E.useEffect)(()=>()=>{for(let e of n.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl)},[]),{items:e,add:e=>{let r=10-n.current.length;if(r<=0){my.error(`You can attach up to 10 files at once.`);return}let{accepted:i,skippedOversize:a,overflowed:o}=BZt(Array.from(e),r,zZt);if(a&&my.error(`That file is over the 20 MB limit — please send a smaller file.`),o&&my.error(`You can attach up to 10 files at once.`),i.length===0)return;let s=i.map(e=>({id:crypto.randomUUID(),file:e,previewUrl:e.type.startsWith(`image/`)?URL.createObjectURL(e):null}));t(e=>[...e,...s])},remove:e=>{let r=n.current.find(t=>t.id===e);r!==void 0&&r.previewUrl!==null&&URL.revokeObjectURL(r.previewUrl),t(t=>t.filter(t=>t.id!==e))},clear:()=>{for(let e of n.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl);t([])}}},HZt=(e,t,n,r)=>{let i=r.canSendMessage??!0,a=()=>{n.current?.click()},o=()=>{i&&(e.items.length>0?(r.onSendMedia(e.items.map(e=>e.file),t),e.clear()):r.onSubmit())};return{openPicker:a,send:o,handleKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),i&&o())},handlePaste:t=>{let n=t.clipboardData.files;n.length>0&&(t.preventDefault(),e.add(n))},onFileChange:t=>{t.target.files!==null&&t.target.files.length>0&&e.add(t.target.files);let r=n.current;r!==null&&(r.value=``)}}},UZt=[`👍`,`🎉`,`❤️`,`😂`,`🙌`,`👏`],WZt=[`😀`,`😄`,`😁`,`😂`,`😍`,`😎`,`🤝`,`🙏`,`👍`,`👏`,`🙌`,`🔥`,`🎉`,`⭐`,`✅`,`❤️`,`💡`,`📌`,`🚀`,`😢`];hh(),fo(),Fy();var GZt=({onPick:e})=>{let[t,n]=(0,E.useState)(!1);return(0,D.jsxs)(`div`,{className:A.emojiWrap,children:[(0,D.jsx)(`button`,{type:`button`,className:A.composerIcon,"aria-label":`Insert emoji`,"aria-expanded":t,onClick:()=>{n(e=>!e)},children:(0,D.jsx)(Ea,{size:18})}),(0,D.jsx)(vm,{children:t&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:A.emojiBackdrop,"aria-label":`Close emoji picker`,onClick:()=>{n(!1)}}),(0,D.jsx)(Gm.div,{className:A.emojiPop,variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:WZt.map(t=>(0,D.jsx)(`button`,{type:`button`,className:A.emojiBtn,onClick:()=>{e(t),n(!1)},children:t},t))})]})})]})};hh(),fo(),Fy();var KZt=({replyTo:e,onClear:t})=>(0,D.jsxs)(`div`,{className:A.replyBar,children:[(0,D.jsxs)(`span`,{className:A.replyBarText,children:[`Replying to `,e.authorName,`: `,AXt(e.text)]}),(0,D.jsx)(`button`,{type:`button`,className:A.replyBarClose,"aria-label":`Cancel reply`,onClick:t,children:(0,D.jsx)(lo,{size:16})})]}),qZt=({attachments:e,onRemove:t,onAddMore:n})=>(0,D.jsxs)(Gm.div,{className:A.attachTray,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.16},children:[e.map(e=>(0,D.jsxs)(`div`,{className:A.attachItem,children:[e.previewUrl===null?(0,D.jsxs)(`div`,{className:A.attachFile,children:[(0,D.jsx)(hr,{size:20}),(0,D.jsx)(`span`,{className:A.attachFileName,children:e.file.name})]}):(0,D.jsx)(`img`,{className:A.attachThumb,src:e.previewUrl,alt:e.file.name}),(0,D.jsx)(`button`,{type:`button`,className:A.attachRemove,"aria-label":`Remove ${e.file.name}`,onClick:()=>{t(e.id)},children:(0,D.jsx)(lo,{size:13})})]},e.id)),(0,D.jsx)(`button`,{type:`button`,className:A.attachAdd,"aria-label":`Add more files`,onClick:n,children:(0,D.jsx)(Ri,{size:20})})]}),JZt=({fileRef:e,onAttach:t,onFileChange:n})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`input`,{ref:e,type:`file`,multiple:!0,className:A.hiddenFileInput,accept:`image/*,video/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip`,onChange:n}),(0,D.jsx)(`button`,{type:`button`,className:A.composerIcon,"aria-label":`Attach files`,onClick:t,children:(0,D.jsx)(Vee,{size:18})})]}),YZt=({hasAttachments:e,disabled:t,canSendMessage:n,onSend:r})=>{let i=(0,D.jsx)(`button`,{type:`button`,className:A.sendBtn,"aria-label":e?`Send attachments`:`Send message`,disabled:t,onClick:r,children:(0,D.jsx)(la,{size:16})});return n?i:(0,D.jsx)(iy,{label:`Permission Denied`,children:(0,D.jsx)(`span`,{style:{display:`inline-flex`},children:i})})},XZt=({editingText:e,onClear:t})=>(0,D.jsxs)(`div`,{className:A.replyBar,children:[(0,D.jsx)(Ci,{size:15,style:{marginRight:6}}),(0,D.jsxs)(`span`,{className:A.replyBarText,children:[`Editing message: `,AXt(e)]}),(0,D.jsx)(`button`,{type:`button`,className:A.replyBarClose,"aria-label":`Cancel edit`,onClick:t,children:(0,D.jsx)(lo,{size:16})})]});Fy(),Do();var ZZt=({value:e,title:t,hasAttachments:n,isSending:r,canSend:i,canSendMessage:a,fileRef:o,onChange:s,onTyping:c,onKeyDown:l,onPaste:u,onAttach:d,onFileChange:f,onSend:p})=>{let m=ko(`(max-width: 1024px)`),h=wo(e,4e3),g=n?`Add a caption…`:m?`Message ${t}…`:`Message ${t}… (Shift+Enter for new line)`;return(0,D.jsxs)(`div`,{className:A.composer,children:[(0,D.jsx)(GZt,{onPick:t=>{s(e+t)}}),(0,D.jsx)(JZt,{fileRef:o,onAttach:d,onFileChange:f}),(0,D.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`},children:[(0,D.jsx)(`textarea`,{className:T(A.composerInput,h.isOverLimit&&A.composerInputError),rows:1,placeholder:g,value:e,onChange:e=>{s(e.target.value),c()},onKeyDown:l,onPaste:u}),h.showCounter&&(0,D.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:h.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[h.length,` / 4000`]})]}),(0,D.jsx)(YZt,{hasAttachments:n,disabled:r||!i||h.isOverLimit||!a,canSendMessage:a,onSend:p})]})},QZt=({value:e,isSending:t,title:n,replyTo:r,editingMessage:i=null,onChange:a,onSubmit:o,onClearReply:s,onClearEditing:c,onSendMedia:l,onTyping:u,canSendMessage:d})=>{let{hasPermission:f}=wS(),p=d??f(CS.chatSendMessage),m=(0,E.useRef)(null),h=VZt(),g=h.items.length>0,_=g||e.trim().length>0,{openPicker:v,send:y,handleKeyDown:b,handlePaste:x,onFileChange:S}=HZt(h,e,m,{onSubmit:o,onSendMedia:l,canSendMessage:p});return(0,D.jsxs)(D.Fragment,{children:[i!==null&&c!==void 0&&(0,D.jsx)(XZt,{editingText:i.text,onClear:c}),r!==null&&(0,D.jsx)(KZt,{replyTo:r,onClear:s}),g&&(0,D.jsx)(qZt,{attachments:h.items,onRemove:h.remove,onAddMore:v}),(0,D.jsx)(ZZt,{value:e,title:n,hasAttachments:g,isSending:t,canSend:_,canSendMessage:p,fileRef:m,onChange:a,onTyping:u,onKeyDown:b,onPaste:x,onAttach:v,onFileChange:S,onSend:y})]})},$Zt=({conversation:e,conversationId:t,text:n,replyTo:r,editingMessage:i=null,isSending:a,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(LZt,{conversationId:t}),(0,D.jsx)(QZt,{value:n,isSending:a,title:e.title,replyTo:r,editingMessage:i,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})]}),G5=(e,t,n,r)=>(e[t]?.[n]??0)>=r,eQt=(e,t,n)=>G5(t,e,`read`,n)?`read`:G5(t,e,`delivered`,n)?`delivered`:`sent`,tQt=(e,t,n)=>e.length===0?`sent`:e.every(e=>G5(t,e,`read`,n))?`read`:e.every(e=>G5(t,e,`delivered`,n))?`delivered`:`sent`,nQt=(e,t)=>t.peerUserId===null?tQt(t.otherMemberIds,t.receipts,e.sequence):eQt(t.peerUserId,t.receipts,e.sequence),rQt=(e,t)=>{if(t.length===0)return e;let n=new Map;for(let r of[...t,...e])n.set(r.id,r);return[...n.values()].sort((e,t)=>e.sequence-t.sequence)},iQt=e=>{let t=e[0];return t===void 0?null:e.reduce((e,t)=>Math.min(e,t.sequence),t.sequence)};tS(),Uy();var aQt=e=>{let{getMessagesBefore:t}=TS(),n=Xx(),[r,i]=(0,E.useState)(!0),[a,o]=(0,E.useState)(!1),s=(0,E.useRef)(!1);return(0,E.useEffect)(()=>{i(!0),o(!1),s.current=!1},[e]),{loadOlder:(0,E.useCallback)(()=>{if(e===null||s.current||!r)return;let a=MS(e),c=iQt(n.getQueryData(a)??[]);c!==null&&(s.current=!0,o(!0),Hy(t.execute(e,c,50)).then(e=>{n.setQueryData(a,t=>rQt(t??[],e)),e.length<50&&i(!1)}).catch(()=>{}).finally(()=>{s.current=!1,o(!1)}))},[e,t,r,n]),hasMore:r,isLoadingOlder:a}},oQt=80,sQt=60,cQt={tailKey:``,headKey:``,count:0,lastFromViewer:!1},lQt=e=>{let t=e.at(-1);return{tailKey:t?.id??``,headKey:e[0]?.id??``,count:e.length,lastFromViewer:t?.fromViewer??!1}},uQt=(e,t)=>{e!==null&&e.scrollTo({top:e.scrollHeight,behavior:t?`smooth`:`auto`})},dQt=(e,t,n)=>{let r=(0,E.useRef)(null),[i,a]=(0,E.useState)(!0),[o,s]=(0,E.useState)(!1),c=(0,E.useRef)(cQt),l=(0,E.useRef)(!0),u=(0,E.useRef)(null),d=(0,E.useRef)(n);d.current=n;let f=(0,E.useCallback)(e=>{uQt(r.current,e),s(!1)},[]),p=(0,E.useCallback)(()=>{let e=r.current;if(e===null)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<oQt;l.current=t,a(t),t&&s(!1),e.scrollTop<sQt&&(u.current=e.scrollHeight,d.current())},[]);return(0,E.useLayoutEffect)(()=>{c.current=cQt,l.current=!0,u.current=null,a(!0),s(!1)},[e]),(0,E.useLayoutEffect)(()=>{let e=lQt(t),n=c.current;c.current=e;let i=r.current;if(e.tailKey===``||i===null)return;if(n.tailKey===``){uQt(i,!1);return}let a=e.count>n.count,o=a&&e.tailKey!==n.tailKey;a&&e.headKey!==n.headKey&&u.current!==null&&(i.scrollTop+=i.scrollHeight-u.current,u.current=null),o&&(l.current||e.lastFromViewer)?(uQt(i,!0),s(!1)):o&&s(!0)},[t]),(0,E.useEffect)(()=>{p()},[p]),{scrollRef:r,isAtBottom:i,hasNewBelow:o,scrollToBottom:f,onScroll:p}},K5={card:`_card_1bdwl_1`,header:`_header_1bdwl_29`,body:`_body_1bdwl_43`,authorRow:`_authorRow_1bdwl_47`,avatar:`_avatar_1bdwl_54`,authorInfo:`_authorInfo_1bdwl_68`,authorName:`_authorName_1bdwl_73`,category:`_category_1bdwl_80`,catDot:`_catDot_1bdwl_90`,title:`_title_1bdwl_97`,snippet:`_snippet_1bdwl_105`,footer:`_footer_1bdwl_116`};fo(),Dt(),Do();var fQt=/\/feed\/posts\/([a-zA-Z0-9-]+)$/,pQt=({title:e,body:t,authorName:n,authorInitials:r,authorColor:i,categoryLabel:a,categoryColor:o,link:s})=>{let c=We();return(0,D.jsxs)(`button`,{type:`button`,onClick:e=>{e.preventDefault();let t=fQt.exec(s);if(t?.[1]!==void 0){let e=t[1];c(`/comms/feed?postId=${e}`)}else (s.startsWith(`/`)||s.toLowerCase().startsWith(`http://`)||s.toLowerCase().startsWith(`https://`))&&window.open(s,`_blank`,`noopener,noreferrer`)},className:K5.card,style:{textAlign:`left`},children:[(0,D.jsxs)(`div`,{className:K5.header,children:[(0,D.jsx)(pi,{size:10}),`Shared from News Feed`]}),(0,D.jsxs)(`div`,{className:K5.body,children:[(0,D.jsxs)(`div`,{className:K5.authorRow,children:[(0,D.jsx)(`span`,{className:K5.avatar,style:yo({"--avatar-color":i}),children:r}),(0,D.jsxs)(`div`,{className:K5.authorInfo,children:[(0,D.jsx)(`div`,{className:K5.authorName,children:n}),a!==null&&o!==null&&(0,D.jsxs)(`div`,{className:K5.category,style:yo({"--cat-color":o}),children:[(0,D.jsx)(`span`,{className:K5.catDot}),a]})]})]}),(0,D.jsx)(`div`,{className:K5.title,children:e}),(0,D.jsx)(`div`,{className:K5.snippet,children:t}),(0,D.jsx)(`div`,{className:K5.footer,children:`Open in News Feed >`})]})]})};tS(),Uy();var mQt=e=>e.startsWith(`blob:`),hQt=e=>e.type.length>0?URL.createObjectURL(e):URL.createObjectURL(new Blob([e],{type:`image/jpeg`})),gQt=e=>{let{downloadChatMedia:t}=TS(),[n,r]=(0,E.useState)(!1),i=e!==null&&mQt(e),a=e!==null&&!i?e:null,o=Qx({queryKey:[`chat-media`,a],queryFn:()=>Hy(t.execute(a??``)),enabled:a!==null&&a.length>0,staleTime:1/0,gcTime:12e4,retry:1}),[s,c]=(0,E.useState)(null);(0,E.useEffect)(()=>{r(!1),c(null)},[e]),(0,E.useEffect)(()=>{let e=o.data;if(e===void 0)return;let t=hQt(e);return c(t),()=>{URL.revokeObjectURL(t)}},[o.data]);let l=(0,E.useCallback)(()=>{r(!0)},[]);if(i)return{src:n?null:e,isLoading:!1,isError:n,onImageError:l};let u=o.isPending||o.isFetching;return{src:n?null:s,isLoading:u,isError:o.isError||n,onImageError:l}};fy();var q5=dy(e=>({open:!1,urls:[],index:0,openViewer:(t,n)=>{t.length!==0&&e({open:!0,urls:t,index:Math.max(0,Math.min(n,t.length-1))})},close:()=>{e({open:!1})},next:()=>{e(e=>({index:Math.min(e.index+1,e.urls.length-1)}))},prev:()=>{e(e=>({index:Math.max(e.index-1,0)}))}}));fo(),Fy(),Do();var _Qt=({mediaUrl:e,album:t,index:n=0})=>{let{src:r,isLoading:i,isError:a,onImageError:o}=gQt(e),s=q5(e=>e.openViewer);return a?(0,D.jsxs)(`div`,{className:A.msgMediaFallback,children:[(0,D.jsx)(Or,{size:18}),(0,D.jsx)(`span`,{children:`Image unavailable`})]}):r===null||i?(0,D.jsx)(`div`,{className:A.msgMediaLoading,children:(0,D.jsx)(Vo,{size:`sm`})}):(0,D.jsx)(`button`,{type:`button`,className:T(A.mediaButton,t!==void 0&&A.mediaButtonFill),"aria-label":`Open image preview`,onClick:()=>{s(t??[e],n)},children:(0,D.jsx)(`img`,{className:A.msgMedia,src:r,alt:``,onError:o})})},vQt=e=>(e??``).toLowerCase().split(`.`).pop()??``,yQt=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`bmp`,`svg`,`avif`,`heic`],bQt=(e,t)=>e!==null&&e.length>0?e.startsWith(`image/`):yQt.includes(vQt(t)),xQt={pdf:`pdf`,zip:`archive`,rar:`archive`,"7z":`archive`,gz:`archive`,tar:`archive`,doc:`document`,docx:`document`,txt:`document`,rtf:`document`,odt:`document`,xls:`spreadsheet`,xlsx:`spreadsheet`,csv:`spreadsheet`,ods:`spreadsheet`,ppt:`presentation`,pptx:`presentation`,odp:`presentation`,mp3:`audio`,wav:`audio`,ogg:`audio`,m4a:`audio`,aac:`audio`,mp4:`video`,mov:`video`,webm:`video`,mkv:`video`,avi:`video`},SQt=e=>{if(e===`application/pdf`)return`pdf`;if(e.startsWith(`audio/`))return`audio`;if(e.startsWith(`video/`))return`video`;if(e.startsWith(`text/`))return`document`;if(/zip|compressed|tar/.test(e))return`archive`;if(/spreadsheet|excel/.test(e))return`spreadsheet`;if(/presentation|powerpoint/.test(e))return`presentation`;if(e.includes(`word`))return`document`},CQt=(e,t)=>bQt(e,t)?`image`:SQt(e??``)??xQt[vQt(t)]??`generic`,wQt={image:`Image`,pdf:`PDF Document`,archive:`Archive`,document:`Document`,spreadsheet:`Spreadsheet`,presentation:`Presentation`,audio:`Audio`,video:`Video`,generic:`File`},TQt=e=>wQt[e];fo(),Fy(),Do();var EQt={image:lr,pdf:hr,archive:ir,document:hr,spreadsheet:pr,presentation:Bi,audio:sr,video:dr,generic:vr},DQt=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t.length>0?t:`download`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)},OQt=({mediaUrl:e,contentType:t,fileName:n,fromViewer:r})=>{let{downloadChatMedia:i}=TS(),[a,o]=(0,E.useState)(!1),s=CQt(t,n),c=EQt[s],l=n!==null&&n.length>0?n:`Attachment`,u=(0,E.useCallback)(()=>{o(!0),i.execute(e).then(e=>{o(!1),e.ok?DQt(e.value,l):my.error(`Could not download the file.`)})},[i,e,l]);return(0,D.jsxs)(`button`,{type:`button`,className:T(A.fileCard,r?A.fileCardMe:A.fileCardThem),onClick:u,disabled:a,"aria-label":`Download ${l}`,children:[(0,D.jsx)(`span`,{className:A.fileCardIcon,children:(0,D.jsx)(c,{size:22})}),(0,D.jsxs)(`span`,{className:A.fileCardInfo,children:[(0,D.jsx)(`span`,{className:A.fileCardName,children:l}),(0,D.jsx)(`span`,{className:A.fileCardMetaLabel,children:TQt(s)})]}),(0,D.jsx)(`span`,{className:A.fileCardDownload,children:a?(0,D.jsx)(Vo,{size:`sm`}):(0,D.jsx)($n,{size:16})})]})};fo(),Do();var kQt=({tick:e})=>e===`read`?(0,D.jsx)(`span`,{className:T(A.tick,A.tickRead),"aria-label":`Read`,children:(0,D.jsx)(An,{size:13})}):e===`delivered`?(0,D.jsx)(`span`,{className:A.tick,"aria-label":`Delivered`,children:(0,D.jsx)(An,{size:13})}):(0,D.jsx)(`span`,{className:A.tick,"aria-label":`Sent`,children:(0,D.jsx)(Nn,{size:13})});fo();var AQt=({message:e,pending:t,tick:n,onRetry:r})=>t===`sending`?(0,D.jsx)(`span`,{className:A.tick,"aria-label":`Sending`,children:(0,D.jsx)(Xn,{size:13})}):t===`failed`?(0,D.jsxs)(`span`,{className:A.sendFailed,children:[(0,D.jsx)(`span`,{className:A.sendFailedText,children:`Not delivered`}),(0,D.jsx)(`button`,{type:`button`,className:A.retryBtn,onClick:()=>{e.clientMessageId!==null&&r(e.clientMessageId,e.text)},children:`Retry`})]}):n===null?null:(0,D.jsx)(kQt,{tick:n}),jQt=({initial:e,onSave:t})=>{let[n,r]=(0,E.useState)(e);return(0,D.jsxs)(`span`,{className:A.msgActions,children:[(0,D.jsx)(`input`,{className:A.composerInput,value:n,onChange:e=>{r(e.target.value)}}),(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{n.trim().length>0&&t(n.trim())},children:`Save`})]})},MQt=({message:e,fromViewer:t,onReply:n,onEdit:r,onDelete:i,resolvedReplyTo:a=null})=>{let[o,s]=(0,E.useState)(!1),c=jXt(e,a);return H5(e)?(0,D.jsx)(`span`,{className:A.msgActions}):t?o?(0,D.jsx)(jQt,{initial:e.text,onSave:t=>{r(e.id,t),s(!1)}}):(0,D.jsxs)(`span`,{className:A.msgActions,children:[(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{n(c)},children:`Reply`}),e.canEdit(Date.now())&&(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{s(!0)},children:`Edit`}),(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{i(e.id)},children:`Delete`})]}):(0,D.jsx)(`span`,{className:A.msgActions,children:(0,D.jsx)(`button`,{type:`button`,className:A.msgActionBtn,onClick:()=>{n(c)},children:`Reply`})})},NQt=`comms:chat:jump-to-message`,PQt=e=>{if(typeof window>`u`||e.length===0)return;let t=new CustomEvent(NQt,{detail:{messageId:e},bubbles:!0});window.dispatchEvent(t)},FQt=(e,t,n=`msg-highlight-flash`)=>{let r=e.closest(t)??e.parentElement;if(r!==null){let t=r.getBoundingClientRect(),n=e.getBoundingClientRect(),i=r.scrollTop+(n.top-t.top)-t.height/2+n.height/2;typeof r.scrollTo==`function`&&r.scrollTo({top:Math.max(0,i),behavior:`smooth`})}e.classList.remove(n),e.offsetWidth,e.classList.add(n),window.setTimeout(()=>{e.classList.remove(n)},1600)},IQt=({replyTo:e})=>{let t=kXt(e.text);if(t!==null)return(0,D.jsx)(`div`,{style:{marginBottom:6,display:`block`,width:`100%`},children:(0,D.jsx)(pQt,{...t.card})});let n=e.text.trim().length>0;return(0,D.jsxs)(`span`,{role:`button`,tabIndex:0,className:A.replyPreview,onClick:t=>{t.stopPropagation(),PQt(e.messageId)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),PQt(e.messageId))},children:[e.authorName.length>0&&(0,D.jsx)(`span`,{className:A.replyPreviewAuthor,children:e.authorName}),(0,D.jsx)(`span`,{className:A.replyPreviewText,children:n?AXt(e.text):`Message`})]})};gS(),Do();var LQt=`This message was deleted`,RQt=({message:e})=>{let t=e.mediaUrl;return t===null||t.length===0?null:bQt(e.mediaContentType,e.mediaFileName)?(0,D.jsx)(_Qt,{mediaUrl:t}):(0,D.jsx)(OQt,{mediaUrl:t,contentType:e.mediaContentType,fileName:e.mediaFileName,fromViewer:e.fromViewer})},zQt=({message:e,fromViewer:t,deletedForEveryone:n,pending:r,tick:i,onRetry:a})=>{let o=hS();return(0,D.jsxs)(`span`,{className:A.msgMeta,children:[(0,D.jsx)(`span`,{className:A.msgTime,children:RNe(e.sentAt,o.display)||e.time}),!n&&e.isEdited&&(0,D.jsx)(`span`,{className:A.editedLabel,children:`edited`}),t&&(e.kind===`text`||e.kind===`media`)&&(0,D.jsx)(AQt,{message:e,pending:r,tick:i,onRetry:a})]})},BQt=/(https?:\/\/[^\s]+)/g,VQt=({text:e})=>e?(0,D.jsx)(D.Fragment,{children:e.split(BQt).map((e,t)=>e.match(BQt)?(0,D.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:A.msgLink,children:e},t):(0,D.jsx)(E.Fragment,{children:e},t))}):(0,D.jsx)(D.Fragment,{children:e}),HQt=({sharedComment:e,sharedCardProps:t})=>(0,D.jsxs)(D.Fragment,{children:[e.length>0&&(0,D.jsx)(`span`,{className:T(A.msgText,A.msgTextWithCard),children:(0,D.jsx)(VQt,{text:e})}),(0,D.jsx)(pQt,{...t})]}),UQt=({messageText:e,deletedForEveryone:t})=>(0,D.jsx)(`span`,{className:T(A.msgText,t&&A.msgTextDeleted),children:t?LQt:(0,D.jsx)(VQt,{text:e})}),WQt=({message:e,authorName:t,showAuthor:n,replyTo:r,fromViewer:i,deletedForEveryone:a,pending:o,tick:s,onRetry:c,isSelected:l,onSelect:u})=>{let d=a?null:kXt(e.text);return(0,D.jsxs)(`div`,{className:T(A.bubble,i?A.bubbleMe:A.bubbleThem,l&&A.bubbleSelected),onClick:()=>{u!==void 0&&u(e)},children:[n&&(0,D.jsx)(`span`,{className:A.msgAuthor,children:t}),!a&&r!==null&&(0,D.jsx)(IQt,{replyTo:r}),!a&&(0,D.jsx)(RQt,{message:e}),d===null?(0,D.jsx)(UQt,{messageText:e.text,deletedForEveryone:a}):(0,D.jsx)(HQt,{sharedComment:d.comment,sharedCardProps:d.card}),(0,D.jsx)(zQt,{message:e,fromViewer:i,deletedForEveryone:a,pending:o,tick:s,onRetry:c})]})},GQt=({message:e,identity:t,replyTo:n,isSelected:r,onSelect:i,showAvatar:a,showAuthor:o,tick:s,pending:c,onRetry:l,onReply:u,onEdit:d,onDelete:f,quickReact:p,reactions:m})=>{let{fromViewer:h,deletedForEveryone:g}=e,_=!H5(e)&&!g,v=m!==null;return(0,D.jsxs)(D.Fragment,{children:[!h&&(a?(0,D.jsx)(`span`,{className:A.msgAvatar,style:yo({"--avatar-color":t.color}),children:t.initials}):(0,D.jsx)(`span`,{className:A.msgAvatarSpacer,"aria-hidden":`true`})),(0,D.jsx)(`div`,{className:T(A.msgCol,v&&A.msgColWithReactions),children:(0,D.jsxs)(`div`,{className:A.msgBubbleWrap,children:[(0,D.jsx)(WQt,{message:e,authorName:t.name,showAuthor:o,replyTo:n,fromViewer:h,deletedForEveryone:g,pending:c,tick:s,onRetry:l,isSelected:r,onSelect:i}),v&&m,_&&p,_&&(0,D.jsx)(MQt,{message:e,fromViewer:h,onReply:u,onEdit:d,onDelete:f,resolvedReplyTo:n})]})})]})},KQt=e=>e.trim().toLowerCase(),qQt=(e,t)=>KQt(e)===KQt(t),JQt=(e,t)=>{if(e.fromViewer)return{name:e.authorName,initials:e.authorInitials,color:e.authorColor};let n=t.members.find(t=>qQt(t.id,e.senderId));return n===void 0?t.kind===`dm`&&t.peerUserId!==null&&qQt(t.peerUserId,e.senderId)?{name:t.title,initials:t.initials,color:t.color}:{name:e.authorName,initials:e.authorInitials,color:e.authorColor}:{name:n.name,initials:n.initials,color:n.color}};hh(),fo(),Fy(),Do();var YQt=({align:e,onPick:t})=>{let[n,r]=(0,E.useState)(!1);return(0,D.jsxs)(`div`,{className:A.reactWrap,children:[(0,D.jsx)(`button`,{type:`button`,className:A.reactBtn,"aria-label":`Add reaction`,onClick:()=>{r(e=>!e)},children:(0,D.jsx)(Ca,{size:14})}),(0,D.jsx)(vm,{children:n&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:A.emojiBackdrop,"aria-label":`Close reaction picker`,onClick:()=>{r(!1)}}),(0,D.jsx)(Gm.div,{className:T(A.reactPop,e===`right`?A.reactPopRight:A.reactPopLeft),variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:UZt.map(e=>(0,D.jsx)(`button`,{type:`button`,className:A.reactPopBtn,onClick:()=>{t(e),r(!1)},children:e},e))})]})})]})},XQt=({message:e,onReact:t,fromViewer:n})=>{let r=e.reactions.reduce((e,t)=>e+t.count,0);if(r===0)return null;let i=e.reactions.find(e=>e.reacted);return(0,D.jsxs)(`button`,{type:`button`,className:T(A.reactionPill,n?A.reactionsMe:A.reactionsThem,i!==void 0&&A.reactionPillActive),onClick:()=>{if(i!==void 0)t(e.id,i.emoji);else if(e.reactions.length>0){let n=e.reactions[0]?.emoji;n!==void 0&&t(e.id,n)}},"aria-label":`Reactions`,children:[(0,D.jsx)(`span`,{className:A.reactionEmojis,children:e.reactions.map(e=>e.emoji).join(``)}),r>1&&(0,D.jsx)(`span`,{className:A.reactionCount,children:r})]})};hh(),Fy(),Do();var ZQt=({text:e})=>(0,D.jsx)(Gm.div,{className:A.systemRow,variants:gh,initial:`hidden`,animate:`visible`,children:(0,D.jsx)(`span`,{className:A.systemPill,children:e})}),QQt=(e,t,n)=>!e.deletedForEveryone&&e.reactions.length>0?(0,D.jsx)(XQt,{message:e,onReact:n,fromViewer:t}):null,$Qt=({conversation:e,message:t,layoutStatic:n=!1,firstOfGroup:r=!0,lastOfGroup:i=!0,replyTo:a,isSelected:o,onSelect:s,onReact:c,tick:l,pending:u,onRetry:d,onReply:f,onEdit:p,onDelete:m})=>{if(t.isSystem)return(0,D.jsx)(ZQt,{text:t.text});let{fromViewer:h}=t,g=JQt(t,e),_=T(A.msgRow,h&&A.msgRowMe,r&&A.msgRowGroupStart),v=(0,D.jsx)(GQt,{message:t,identity:g,replyTo:a??t.replyTo,isSelected:o,onSelect:s,showAvatar:i,showAuthor:r&&e.isGroup,tick:l,pending:u,onRetry:d,onReply:f,onEdit:p,onDelete:m,quickReact:(0,D.jsx)(YQt,{align:h?`right`:`left`,onPick:e=>{c(t.id,e)}}),reactions:QQt(t,h,c)});return n?(0,D.jsx)(`div`,{id:`msg-${t.id}`,className:_,children:v}):(0,D.jsx)(Gm.div,{id:`msg-${t.id}`,className:_,variants:gh,initial:`hidden`,animate:`visible`,whileHover:{y:-1,scale:1.005},transition:{type:`spring`,stiffness:500,damping:30},children:v})};gS(),fo(),Do();var e$t=()=>void 0,t$t=e=>e.find(e=>e.text.trim().length>0)?.text??``,n$t=({fromViewer:e,lastOfGroup:t,identity:n})=>e?null:t?(0,D.jsx)(`span`,{className:A.msgAvatar,style:yo({"--avatar-color":n.color}),children:n.initials}):(0,D.jsx)(`span`,{className:A.msgAvatarSpacer,"aria-hidden":`true`}),r$t=({message:e,onReact:t,onReply:n,onDelete:r})=>(0,D.jsxs)(`div`,{className:A.albumCellActions,children:[(0,D.jsx)(YQt,{align:e.fromViewer?`right`:`left`,onPick:n=>{t(e.id,n)}}),(0,D.jsx)(`button`,{type:`button`,className:A.albumActionBtn,"aria-label":`Reply`,onClick:()=>{n(jXt(e))},children:(0,D.jsx)(ea,{size:13})}),e.fromViewer&&(0,D.jsx)(`button`,{type:`button`,className:A.albumActionBtn,"aria-label":`Delete`,onClick:()=>{r(e.id)},children:(0,D.jsx)(Ka,{size:13})})]}),i$t=e=>{let{message:t,album:n,index:r}=e,i=!H5(t)&&!t.deletedForEveryone,a=!t.deletedForEveryone&&t.reactions.length>0;return(0,D.jsxs)(`div`,{id:`msg-${t.id}`,className:A.albumCell,children:[(0,D.jsx)(`div`,{className:A.albumCellMedia,children:t.mediaUrl!==null&&t.mediaUrl.length>0&&(0,D.jsx)(_Qt,{mediaUrl:t.mediaUrl,album:n,index:r})}),i&&(0,D.jsx)(r$t,{...e}),a&&(0,D.jsx)(`div`,{className:A.albumCellReactions,children:(0,D.jsx)(XQt,{message:t,onReact:e.onReact,fromViewer:t.fromViewer})})]})},a$t=({last:e,fromViewer:t,tick:n,pending:r})=>{let i=hS();return(0,D.jsxs)(`span`,{className:A.msgMeta,children:[(0,D.jsx)(`span`,{className:A.msgTime,children:RNe(e.sentAt,i.display)||e.time}),t&&(0,D.jsx)(AQt,{message:e,pending:r,tick:n,onRetry:e$t})]})},o$t=({conversation:e,messages:t,firstOfGroup:n,lastOfGroup:r,tick:i,pending:a,onReact:o,onReply:s,onDelete:c})=>{let l=t.at(0),u=t.at(-1);if(l===void 0||u===void 0)return(0,D.jsx)(D.Fragment,{});let{fromViewer:d}=l,f=JQt(l,e),p=t$t(t),m=n&&e.isGroup,h=t.map(e=>e.mediaUrl??``);return(0,D.jsxs)(`div`,{id:`msg-${u.id}`,className:T(A.msgRow,d&&A.msgRowMe,n&&A.msgRowGroupStart),children:[(0,D.jsx)(n$t,{fromViewer:d,lastOfGroup:r,identity:f}),(0,D.jsx)(`div`,{className:A.msgCol,children:(0,D.jsx)(`div`,{className:A.msgBubbleWrap,children:(0,D.jsxs)(`div`,{className:T(A.bubble,d?A.bubbleMe:A.bubbleThem),children:[m&&(0,D.jsx)(`span`,{className:A.msgAuthor,children:f.name}),(0,D.jsx)(`div`,{className:A.albumGrid,children:t.map((e,t)=>(0,D.jsx)(i$t,{message:e,album:h,index:t,onReact:o,onReply:s,onDelete:c},e.id))}),p.length>0&&(0,D.jsx)(`span`,{className:A.msgText,children:p}),(0,D.jsx)(a$t,{last:u,fromViewer:d,tick:i,pending:a})]})})})]})};mS();var s$t=(e,t)=>{if(e.length===0)return null;let n=xS(e);if(Number.isNaN(n.getTime()))return null;if(t&&t.length>0){let e=uS(n,t),r=String(e.month).padStart(2,`0`),i=String(e.day).padStart(2,`0`);return`${String(e.year)}-${r}-${i}`}let r=String(n.getMonth()+1).padStart(2,`0`),i=String(n.getDate()).padStart(2,`0`);return`${String(n.getFullYear())}-${r}-${i}`},c$t=(e,t)=>{let[n,r,i]=e.split(`-`);return new Date(Date.UTC(Number(n),Number(r)-1,Number(i))).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`,timeZone:`UTC`})},l$t=(e,t)=>!e.isSystem&&!t.isSystem&&e.senderId===t.senderId,u$t=(e,t)=>{let n=[],r=null;return e.forEach((i,a)=>{let o=s$t(i.sentAt,t),s=o!==null&&o!==r;s&&n.push({kind:`date`,key:`date:${o}`,label:c$t(o,t)}),r=o??r;let c=e[a-1],l=e[a+1],u=s||c===void 0||!l$t(c,i),d=l===void 0||!l$t(i,l)||s$t(l.sentAt,t)!==o;n.push({kind:`message`,key:i.id,row:{message:i,firstOfGroup:u,lastOfGroup:d}})}),n},d$t=2,f$t=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&!e.row.message.deletedForEveryone&&(e.row.message.mediaUrl??``).length>0&&bQt(e.row.message.mediaContentType,e.row.message.mediaFileName),p$t=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&e.row.message.deletedForEveryone,m$t=e=>f$t(e)||p$t(e),h$t=(e,t,n)=>({kind:`album`,key:`album:${(e[0]??t).row.message.id}`,messages:e.map(e=>e.row.message),firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}),g$t=(e,t,n)=>({kind:`message`,key:e.key,row:{message:e.row.message,firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}}),_$t=(e,t)=>{let n=e[0],r=e[e.length-1];if(n===void 0||r===void 0)return;let i=e.filter(f$t);if(i.length>=d$t){t.push(h$t(i,n,r));return}if(i.length===1&&i[0]!==void 0){t.push(g$t(i[0],n,r));return}t.push(g$t(n,n,r))},v$t=e=>{let t=[],n=[];for(let r of e){if(m$t(r)){let e=n.at(-1);e!==void 0&&e.row.message.senderId!==r.row.message.senderId&&(_$t(n,t),n=[]),n.push(r);continue}_$t(n,t),n=[],t.push(r)}return _$t(n,t),t};gS();var y$t=(e,t)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||e.clientMessageId===null?null:t[e.clientMessageId]??null,b$t=({label:e})=>(0,D.jsx)(`div`,{className:A.dateSep,children:(0,D.jsx)(`span`,{className:A.dateSepPill,children:e})}),x$t=({conversation:e,messages:t,pending:n,selectedMessageId:r,onSelectMessage:i,onReact:a,onRetry:o,onReply:s,onEdit:c,onDelete:l,tickFor:u})=>{let d=hS(),f=(0,E.useMemo)(()=>new Map(t.map(e=>[e.id,e])),[t]);return(0,D.jsx)(D.Fragment,{children:v$t(u$t(t,d.display)).map(t=>{if(t.kind===`date`)return(0,D.jsx)(b$t,{label:t.label},t.key);if(t.kind===`album`){let r=t.messages.at(-1);return(0,D.jsx)(o$t,{conversation:e,messages:t.messages,firstOfGroup:t.firstOfGroup,lastOfGroup:t.lastOfGroup,tick:r===void 0?null:u(r),pending:r===void 0?null:y$t(r,n),onReact:a,onReply:s,onDelete:l},t.key)}return(0,D.jsx)($Qt,{layoutStatic:!0,firstOfGroup:t.row.firstOfGroup,lastOfGroup:t.row.lastOfGroup,conversation:e,message:t.row.message,isSelected:r===t.row.message.id,onSelect:i,replyTo:NXt(t.row.message.replyTo,f),onReact:a,pending:y$t(t.row.message,n),tick:u(t.row.message),onRetry:o,onReply:s,onEdit:c,onDelete:l},t.key)})})},J5={id:`u-shamim`,name:`Shamim Rahman`,initials:`SR`,color:`#e9445a`},S$t=`t-uapp`,C$t={id:`u-andreea`,name:`Andreea Cinpoi`,initials:`AN`,color:`#7c3aed`,role:`Sales Manager`},w$t={id:`u-laura`,name:`Laura Tomova`,initials:`LA`,color:`#3a7bd5`,role:`Compliance Officer`},T$t={id:`s-mahmud`,name:`Mahmud Hasan`,initials:`MH`,color:`#16a34a`,role:`Student`},E$t={id:`u-mihadul`,name:`Mihadul Islam`,initials:`MI`,color:`#65a30d`,role:`Admission Officer`},D$t={id:`u-nur`,name:`Nur Mohammad`,initials:`NM`,color:`#8b5cf6`,role:`Team Leader`},O$t={id:`u-md-shamim`,name:`Md Shamim`,initials:`MS`,color:`#0a6e6f`,role:`Sales Lead`};J5.id,J5.name,J5.initials,J5.color;var Y5=(e,t)=>({...t,admin:!1,lastSynced:null,tenantId:S$t,categoryId:null,members:[],adminIds:[],data:{},peerUserId:e,memberReceipts:[]});J5.id,T$t.id,J5.id,E$t.id,D$t.id,T$t.id,J5.id,O$t.id,C$t.id,J5.id,C$t.id,w$t.id,{...Y5(`u-tousif`,{id:`c-tousif`,kind:`dm`,title:`Tousif Sadman`,subtitle:`Consultant`,initials:`TS`,color:`#0e7c66`,online:!0,unread:2,pinned:!1,favourite:!0,archived:!1,lastMessage:`Sure, I'll send the documents`,lastTime:`5m`})},J5.id,Y5(`u-raj`,{id:`c-raj`,kind:`dm`,title:`Raj Ahmed`,subtitle:`Global Admission Manager`,initials:`RA`,color:`#0ea5e9`,online:!0,unread:1,pinned:!1,favourite:!1,archived:!1,lastMessage:`The offer letter is ready`,lastTime:`1h`}),Y5(`u-andreea`,{id:`c-andreea`,kind:`dm`,title:`Andreea Cinpoi`,subtitle:`Sales Manager`,initials:`AN`,color:`#7c3aed`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Thanks for the update`,lastTime:`2h`}),Y5(`u-jennifer`,{id:`c-jennifer`,kind:`dm`,title:`Jennifer Aboje`,subtitle:`Branch Manager`,initials:`JA`,color:`#fc7300`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Let me check with the team`,lastTime:`Yesterday`}),Y5(`u-laura`,{id:`c-laura`,kind:`dm`,title:`Laura Tomova`,subtitle:`Compliance Officer`,initials:`LA`,color:`#3a7bd5`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!0,lastMessage:`Archived — visa file closed`,lastTime:`3d`}),Uy(),Uy(),yx();var k$t=hx({id:k(),name:k(),initials:k(),color:k(),role:k(),status:fx().optional(),statusUntilUtc:k().nullish()}),A$t=hx({userId:k(),deliveredUpto:fx(),readUpto:fx()}),j$t=hx({id:k(),type:fx(),title:k(),subtitle:k(),initials:k(),color:k(),online:px(),status:fx().optional(),statusUntilUtc:k().nullish(),unread:fx(),pinned:px(),favourite:px(),archived:px(),unreadCount:fx(),admin:px(),lastMessage:k(),lastTime:k(),lastMessageAt:k().nullable().optional(),lastSyncedAt:k().nullable(),categoryId:k().nullable(),headerFields:_x(k(),k()).optional(),members:mx(k$t),adminIds:mx(k()),peerUserId:k().nullable().optional().default(null),memberReceipts:mx(A$t).optional().default([])}).passthrough(),M$t=hx({emoji:k(),count:fx(),reacted:px()}),X5=hx({id:k(),conversationId:k(),kind:fx(),senderId:k(),authorName:k(),authorInitials:k(),authorColor:k(),text:k(),sentAt:k(),time:k(),sequence:fx(),clientMessageId:k().nullable(),fromViewer:px(),reactions:mx(M$t),replyToMessageId:k().nullable().optional().default(null),replyToAuthorName:k().optional().default(``),replyToText:k().optional().default(``),mediaUrl:k().nullable().optional().default(null),mediaContentType:k().nullable().optional().default(null),mediaFileName:k().nullable().optional().default(null),editedAt:k().nullable().optional().default(null),isEdited:px().optional().default(!1),deletedForEveryone:px().optional().default(!1)}),N$t=hx({id:k(),name:k(),initials:k(),color:k()}),P$t=mx(j$t),F$t=mx(k$t),I$t=hx({totalCount:fx(),items:P$t}),L$t=hx({unread:fx(),favourites:fx(),groups:fx(),archived:fx()}),R$t=hx({blobName:k(),url:k(),contentType:k().optional().default(`application/octet-stream`),fileName:k().nullable().optional().default(null)}),z$t=mx(X5),B$t=6e4,V$t=60*B$t,H$t=24*V$t,U$t=(e,t)=>{let n=t.getTime()-e.getTime();return n<B$t?`just now`:n<V$t?`${String(Math.floor(n/B$t))}m`:n<H$t?`${String(Math.floor(n/V$t))}h`:`${String(Math.floor(n/H$t))}d`},W$t=e=>e===0?`dm`:`group`,G$t=e=>e===1?`system`:e===2?`media`:`text`,K$t=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role,status:WS(e.status),statusUntilUtc:e.statusUntilUtc??null}),q$t=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color}),J$t=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22),n=JSON.parse(t).card?.title??``;return n.length>0?`Shared Post: ${n}`:`Shared Post`}catch{return`Shared Post`}return e},Y$t=(e,t)=>new LNe({id:e.id,kind:W$t(e.type),title:e.title,subtitle:e.subtitle,initials:e.initials,color:e.color,online:e.online,status:WS(e.status),statusUntilUtc:e.statusUntilUtc??null,unread:e.unreadCount,pinned:e.pinned,favourite:e.favourite,archived:e.archived,admin:e.admin,lastMessage:J$t(e.lastMessage),lastTime:e.lastTime,lastMessageAt:e.lastMessageAt??null,lastSynced:e.lastSyncedAt===null?null:U$t(new Date(e.lastSyncedAt),t),tenantId:``,categoryId:e.categoryId,members:e.members.map(K$t),adminIds:e.adminIds,data:e.headerFields??{},peerUserId:e.peerUserId,memberReceipts:e.memberReceipts.map(e=>({userId:e.userId,deliveredUpto:e.deliveredUpto,readUpto:e.readUpto}))}),Z5=e=>{let t=e.replyToMessageId!==null&&e.replyToMessageId.length>0?{messageId:e.replyToMessageId,authorName:e.replyToAuthorName,text:e.replyToText}:null;return new INe({id:e.id,kind:G$t(e.kind),authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,sentAt:e.sentAt,fromViewer:e.fromViewer,reactions:e.reactions.map(e=>({emoji:e.emoji,count:e.count,reacted:e.reacted})),sequence:e.sequence,senderId:e.senderId,clientMessageId:e.clientMessageId,replyTo:t,mediaUrl:e.mediaUrl,mediaContentType:e.mediaContentType,mediaFileName:e.mediaFileName,isEdited:e.deletedForEveryone?!1:(e.editedAt??``).length>0||e.isEdited,deletedForEveryone:e.deletedForEveryone})};Uy();var Q5=(e,t,n)=>(e.error(`Chat ${t} returned an unexpected shape`,n),O(new bS(n))),X$t=e=>{if(e.length===0)return;let t=e[0];if(t&&typeof t==`object`&&`message`in t){let e=t.message;if(typeof e==`string`&&e.trim().length>0)return e}},Z$t=e=>{if(Array.isArray(e.validationErrors)){let t=X$t(e.validationErrors);if(t!==void 0)return t}if(typeof e.details==`string`&&e.details.trim().length>0&&!e.details.includes(`The following errors were detected`))return e.details;if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},Q$t=e=>{if(!e||typeof e!=`object`||!(`body`in e))return;let t=e.body;if(!t||typeof t!=`object`)return;let n=t;return Z$t(`error`in n&&n.error&&typeof n.error==`object`?n.error:n)},$5=(e,t)=>(e.error(`Chat request failed`,t),new bS(t,Q$t(t))),$$t=(e,t,n)=>{let r=z$t.safeParse(n);return r.success?By(r.data.map(Z5)):Q5(e,t,r.error)},e1t=(e,t,n,r)=>{let i=j$t.safeParse(r);return i.success?By(Y$t(i.data,t.now())):Q5(e,n,i.error)},t1t=`/api/app/chat-media/download?blobName=`,n1t=e=>`${t1t}${encodeURIComponent(decodeURIComponent(e))}`,r1t=e=>{if(!e.startsWith(`http://`)&&!e.startsWith(`https://`))return e;try{let t=new URL(e);return`${t.pathname}${t.search}`}catch{return e}},i1t=e=>{let t=/^\/api\/app\/chat-media\/download\?blobName=([^&]+)/.exec(e);if(t?.[1]!==void 0)return t[1];let n=/^\/api\/app\/chat-media\?blobName=([^&]+)/.exec(e);if(n?.[1]!==void 0)return n[1];let r=/^\/api\/app\/chat-media\/([^/?]+)/.exec(e)?.[1];if(r!==void 0&&r!==`upload`&&r!==`download`)return r},a1t=e=>{let t=e.trim();if(t.length===0)return t;let n=r1t(t),r=i1t(n);return r===void 0?n.startsWith(`/`)?n:`/${n}`:n1t(r)},e7={conversations:`/api/app/chat/conversations`,conversationCounts:`/api/app/chat/conversation-scope-counts`,listStaff:`/api/app/chat/list-staff`,groupMemberPool:`/api/app/chat/group-member-pool`,viewer:`/api/app/chat/viewer`,createGroup:`/api/app/chat/group`,uploadChatMedia:`/api/app/chat-media/upload`,subscribePush:`/api/app/web-push/subscribe`},t7={afterSequence:`afterSequence`,beforeSequence:`beforeSequence`,skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,scope:`scope`,uptoSequence:`uptoSequence`,favourite:`favourite`,archived:`archived`,pinned:`pinned`},n7=e=>encodeURIComponent(e),r7={conversation:e=>`/api/app/chat/conversation/${n7(e)}`,messages:e=>`/api/app/chat/messages/${n7(e)}`,messagesBefore:e=>`/api/app/chat/messages-before/${n7(e)}`,messagesSince:e=>`/api/app/chat/messages-since/${n7(e)}`,sendMessage:e=>`/api/app/chat/send-message/${n7(e)}`,sendMediaMessage:e=>`/api/app/chat/send-media-message/${n7(e)}`,markDelivered:e=>`/api/app/chat/mark-delivered/${n7(e)}`,markRead:e=>`/api/app/chat/mark-read/${n7(e)}`,reactToMessage:e=>`/api/app/chat/react-to-message/${n7(e)}`,saveMembers:e=>`/api/app/chat/save-members/${n7(e)}`,leaveConversation:e=>`/api/app/chat/leave-conversation/${n7(e)}`,setFavourite:e=>`/api/app/chat/set-favourite/${n7(e)}`,setArchived:e=>`/api/app/chat/set-archived/${n7(e)}`,setPinned:e=>`/api/app/chat/set-pinned/${n7(e)}`,deleteConversation:e=>`/api/app/chat/conversation/${n7(e)}`,refreshPortal:e=>`/api/app/chat/refresh-portal/${n7(e)}`,startDirect:e=>`/api/app/chat/start-direct/${n7(e)}`,editMessage:e=>`/api/app/chat/edit-message/${n7(e)}`,deleteMessage:e=>`/api/app/chat/message/${n7(e)}`,deleteMessageForMe:e=>`/api/app/chat/message-for-me/${n7(e)}`};lb(),Uy();var o1t=async(e,t,n,r)=>{try{let i=new FormData;i.append(`file`,n,r);let a=await e.httpClient.post(e7.uploadChatMedia,i,{query:{conversationId:t}}),o=R$t.safeParse(a);return o.success?By({mediaId:o.data.blobName,url:o.data.url}):Q5(e.logger,`upload-media`,o.error)}catch(t){return O($5(e.logger,t))}},s1t=async(e,t)=>{try{let n=await o1t(e,t.conversationId,t.file,t.fileName);if(!n.ok)return n;let r={blobName:n.value.mediaId,clientMessageId:t.clientMessageId};t.file.type.length>0&&(r.contentType=t.file.type),t.fileName.length>0&&(r.fileName=t.fileName),t.caption!==void 0&&t.caption.trim().length>0&&(r.caption=t.caption.trim()),t.replyToMessageId!==void 0&&t.replyToMessageId!==null&&(r.replyToMessageId=t.replyToMessageId);let i=await e.httpClient.post(r7.sendMediaMessage(t.conversationId),r),a=X5.safeParse(i);return a.success?By(Z5(a.data)):Q5(e.logger,`send-media-message`,a.error)}catch(t){return O($5(e.logger,t))}},c1t=async(e,t)=>{try{let n=a1t(t),r=await e.httpClient.getBlob(n,{headers:{Accept:`image/*,*/*`}});return r.size===0?O(new bS(`Chat media response was empty`)):By(r)}catch(t){return O($5(e.logger,t))}},l1t=async(e,t,n,r)=>{try{let t=await e.httpClient.post(r7.editMessage(n),{text:r}),i=X5.safeParse(t);return i.success?By(Z5(i.data)):Q5(e.logger,`edit-message`,i.error)}catch(t){return O($5(e.logger,t))}},u1t=async(e,t,n)=>{try{return await e.httpClient.delete(r7.deleteMessage(n)),By(void 0)}catch(t){return O($5(e.logger,t))}},d1t=async(e,t,n)=>{try{return await e.httpClient.delete(r7.deleteMessageForMe(n)),By(void 0)}catch(t){return O($5(e.logger,t))}},f1t=async(e,t)=>{try{return await e.httpClient.post(e7.subscribePush,{endpoint:t.endpoint,p256dh:t.p256dh,auth:t.auth}),By(void 0)}catch(t){return O($5(e.logger,t))}};lb(),Uy();var i7=async(e,t,n,r)=>{try{return await e.post(n,void 0,{query:r}),By(void 0)}catch(e){return O($5(t,e))}},p1t=async e=>{try{return await e.httpClient.post(e.path,e.body,{query:e.query}),By(void 0)}catch(t){return O($5(e.logger,t))}},m1t=async(e,t,n)=>{try{return await e.delete(n),By(void 0)}catch(e){return O($5(t,e))}},h1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.markDelivered(t),{[t7.uptoSequence]:n}),g1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.markRead(t),{[t7.uptoSequence]:n}),_1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.setFavourite(t),{[t7.favourite]:n}),v1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.setArchived(t),{[t7.archived]:n}),y1t=(e,t,n)=>i7(e.httpClient,e.logger,r7.setPinned(t),{[t7.pinned]:n}),b1t=(e,t)=>i7(e.httpClient,e.logger,r7.leaveConversation(t),{}),x1t=(e,t)=>i7(e.httpClient,e.logger,r7.refreshPortal(t),{}),S1t=(e,t,n)=>p1t({httpClient:e.httpClient,logger:e.logger,path:r7.reactToMessage(t),query:{},body:{emoji:n}}),C1t=(e,t,n,r)=>p1t({httpClient:e.httpClient,logger:e.logger,path:r7.saveMembers(t),query:{},body:{members:n.map(e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role})),adminIds:[...r]}}),w1t=(e,t)=>m1t(e.httpClient,e.logger,r7.deleteConversation(t));lb(),fb(),mS(),Uy();var T1t={all:`All`,unread:`Unread`,favourites:`Favourites`,groups:`Groups`,archive:`Archive`},E1t=async(e,t)=>{let n=t.filter?.trim();try{let r=await e.httpClient.get(e7.conversations,{query:{[t7.scope]:T1t[t.scope],[t7.filter]:n===void 0||n===``?void 0:n,[t7.skipCount]:t.skipCount,[t7.maxResultCount]:t.maxResultCount}}),i=I$t.safeParse(r);if(!i.success)return Q5(e.logger,`conversations`,i.error);let a=e.clock.now();return By({items:i.data.items.map(e=>Y$t(e,a)),totalCount:i.data.totalCount})}catch(t){return O($5(e.logger,t))}},D1t=async e=>{try{let t=await e.httpClient.get(e7.conversationCounts),n=L$t.safeParse(t);return n.success?By(n.data):Q5(e.logger,`conversation-counts`,n.error)}catch(t){return O($5(e.logger,t))}},O1t=async(e,t)=>{try{let n=await e.httpClient.get(r7.conversation(t));return e1t(e.logger,e.clock,`conversation`,n)}catch(t){return O($5(e.logger,t))}},k1t=async(e,t)=>{let n=t?.trim();try{let t=await e.httpClient.post(e7.listStaff,void 0,{query:{[t7.filter]:n===void 0||n===``?void 0:n}}),r=F$t.safeParse(t);return r.success?By(r.data.map(K$t)):Q5(e.logger,`list-staff`,r.error)}catch(t){return O($5(e.logger,t))}},A1t=async(e,t)=>{let n=t?.trim();try{let t=await e.httpClient.get(e7.groupMemberPool,{query:{[t7.filter]:n===void 0||n===``?void 0:n}}),r=F$t.safeParse(t);return r.success?By(r.data.map(K$t)):Q5(e.logger,`group-member-pool`,r.error)}catch(t){return O($5(e.logger,t))}},j1t=async e=>{try{let t=await e.httpClient.get(e7.viewer),n=N$t.safeParse(t);return n.success?By(q$t(n.data)):Q5(e.logger,`viewer`,n.error)}catch(t){return O($5(e.logger,t))}},M1t=async(e,t,n)=>{try{let r=n===void 0?void 0:{query:{[t7.maxResultCount]:n}},i=await e.httpClient.get(r7.messages(t),r);return $$t(e.logger,`messages`,i)}catch(t){return O($5(e.logger,t))}},N1t=async(e,t,n,r)=>{try{let i=await e.httpClient.get(r7.messagesSince(t),{query:{[t7.afterSequence]:n,[t7.maxResultCount]:r}});return $$t(e.logger,`messages-since`,i)}catch(t){return O($5(e.logger,t))}},P1t=async(e,t,n,r)=>{try{let i=await e.httpClient.get(r7.messagesBefore(t),{query:{[t7.beforeSequence]:n,[t7.maxResultCount]:r}});return $$t(e.logger,`messages-before`,i)}catch(t){return O($5(e.logger,t))}},F1t=async(e,t)=>{try{let n=await e.httpClient.post(r7.startDirect(t),void 0);return e1t(e.logger,e.clock,`start-direct`,n)}catch(t){return O($5(e.logger,t))}},I1t=async(e,t,n)=>{try{let r={title:t,memberIds:[...n]},i=await e.httpClient.post(e7.createGroup,r);return e1t(e.logger,e.clock,`group`,i)}catch(t){return O($5(e.logger,t))}},L1t=async e=>{let{deps:t,conversationId:n,text:r,clientMessageId:i,replyToMessageId:a}=e;try{let e={text:r,clientMessageId:i};a!=null&&(e.replyToMessageId=a);let o=await t.httpClient.post(r7.sendMessage(n),e),s=X5.safeParse(o);return s.success?By(Z5(s.data)):Q5(t.logger,`send-message`,s.error)}catch(e){return O($5(t.logger,e))}};lb(),fb(),mS(),Uy();var R1t=class{httpClient;clock;logger;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`http-chat-gateway`)}deps(){return{httpClient:this.httpClient,logger:this.logger}}queryDeps(){return{httpClient:this.httpClient,clock:this.clock,logger:this.logger}}listConversations(e){return E1t(this.queryDeps(),e)}getConversationCounts(){return D1t(this.deps())}getConversation(e){return O1t(this.queryDeps(),e)}listStaff(e){return k1t(this.deps(),e)}getGroupMemberPool(e){return A1t(this.deps(),e)}getViewer(){return j1t(this.deps())}getMessages(e,t){return M1t(this.deps(),e,t)}getMessagesSince(e,t,n){return N1t(this.deps(),e,t,n)}getMessagesBefore(e,t,n){return P1t(this.deps(),e,t,n)}startDirect(e){return F1t(this.queryDeps(),e)}createGroup(e,t){return I1t(this.queryDeps(),e,t)}sendMessage(e,t,n,r){return L1t({deps:this.deps(),conversationId:e,text:t,clientMessageId:n,replyToMessageId:r})}uploadChatMedia(e,t,n){return o1t(this.deps(),e,t,n)}sendMediaMessage(e){return s1t(this.deps(),e)}downloadMedia(e){return c1t(this.deps(),e)}editMessage(e,t,n){return l1t(this.deps(),e,t,n)}deleteMessage(e,t){return u1t(this.deps(),e,t)}deleteMessageForMe(e,t){return d1t(this.deps(),e,t)}subscribePush(e){return f1t(this.deps(),e)}markDelivered(e,t){return h1t(this.deps(),e,t)}markRead(e,t){return g1t(this.deps(),e,t)}setFavourite(e,t){return _1t(this.deps(),e,t)}setArchived(e,t){return v1t(this.deps(),e,t)}setPinned(e,t){return y1t(this.deps(),e,t)}deleteConversation(e){return w1t(this.deps(),e)}leaveConversation(e){return b1t(this.deps(),e)}refreshPortal(e){return x1t(this.deps(),e)}reactToMessage(e,t,n){return S1t(this.deps(),t,n)}saveMembers(e,t,n){return C1t(this.deps(),e,t,n)}};function a7(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function z1t(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=a7(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var B1t;function o7(){return B1t||=z1t(`keyval-store`,`keyval`),B1t}function V1t(e,t=o7()){return t(`readonly`,t=>a7(t.get(e)))}function H1t(e,t,n=o7()){return n(`readwrite`,n=>(n.put(t,e),a7(n.transaction)))}function U1t(e,t=o7()){return t(`readwrite`,t=>(t.delete(e),a7(t.transaction)))}function W1t(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},a7(e.transaction)}function G1t(e=o7()){return e(`readonly`,e=>{if(e.getAllKeys)return a7(e.getAllKeys());let t=[];return W1t(e,e=>t.push(e.key)).then(()=>t)})}var s7=z1t(`chat-outbox`,`pending-sends`),K1t=e=>`send:${e}`,q1t=()=>({put:async e=>{await H1t(K1t(e.clientMessageId),e,s7)},remove:async e=>{await U1t(K1t(e),s7)},listAll:async()=>{let e=await G1t(s7);return(await Promise.all(e.map(async e=>V1t(e,s7)))).filter(e=>e!==void 0)},listByConversation:async e=>{let t=await G1t(s7);return(await Promise.all(t.map(async e=>V1t(e,s7)))).filter(t=>t?.conversationId===e)}});yx();var c7={MessageReceived:`MessageReceived`,MessageEdited:`MessageEdited`,MessageDeleted:`MessageDeleted`,MessageDelivered:`MessageDelivered`,MessageRead:`MessageRead`,Typing:`Typing`,PresenceChanged:`PresenceChanged`,StatusChanged:`StatusChanged`,ReactionToggled:`ReactionToggled`,RemovedFromConversation:`RemovedFromConversation`},J1t={MarkRead:`MarkRead`,MarkDelivered:`MarkDelivered`,Typing:`Typing`},Y1t=hx({conversationId:k(),byUserId:k(),uptoSequence:fx()}),X1t=hx({conversationId:k(),userId:k(),isTyping:px()}),Z1t=hx({userId:k(),online:px(),lastSeenUtc:k().nullable()}),Q1t=hx({userId:k(),status:fx(),untilUtc:k().nullish()}),$1t=hx({conversationId:k(),messageId:k(),byUserId:k(),emoji:k(),added:px()}),e0t=hx({conversationId:k(),messageId:k()}),t0t=hx({conversationId:k()});fb();var l7=(e,t,n,r)=>{let i=e.safeParse(t);return!i.success||i.data===void 0?(r.warn(`Ignoring malformed realtime payload`,{event:n}),null):i.data},n0t=(e,t,n)=>l7(X5,e,t,n),r0t=(e,t,n)=>l7(Y1t,e,t,n),i0t=(e,t,n)=>l7(X1t,e,t,n),a0t=(e,t,n)=>l7(Z1t,e,t,n),o0t=(e,t,n)=>l7(Q1t,e,t,n),s0t=(e,t,n)=>l7($1t,e,t,n),c0t=(e,t,n)=>l7(e0t,e,t,n),l0t=(e,t,n)=>l7(t0t,e,t,n);yx();var u0t=`chat.hidden-messages`,d0t=mx(k()),f0t=()=>{try{let e=window.localStorage.getItem(u0t);if(e===null)return[];let t=d0t.safeParse(JSON.parse(e));return t.success?t.data:[]}catch{return[]}},p0t=e=>{try{window.localStorage.setItem(u0t,JSON.stringify(e))}catch{}};fy();var m0t=dy((e,t)=>({hidden:new Set(f0t()),hideForMe:n=>{if(t().hidden.has(n))return;let r=new Set(t().hidden);r.add(n),p0t([...r]),e({hidden:r})}})),h0t=(e,t)=>t.length>0&&qQt(e,t),g0t=(e,t)=>{let n=h0t(e.senderId,t),r=n?e.reactions:e.reactions.map(e=>e.reacted?{...e,reacted:!1}:e),i=r.length===e.reactions.length&&r.every((t,n)=>{let r=e.reactions[n];return r===void 0?!1:t.reacted===r.reacted&&t.emoji===r.emoji&&t.count===r.count});return n===e.fromViewer&&i?e:e.with({fromViewer:n,reactions:r})},_0t=(e,t)=>t.length===0?e:e.map(e=>g0t(e,t)),v0t=(e,t,n)=>{let r=(0,E.useRef)(null);(0,E.useEffect)(()=>{let t=r.current;if(t===null)return;let i=document.getElementById(`msg-${t}`);i===null?n.hasMore&&!n.isLoadingOlder?n.loadOlder():r.current=null:(r.current=null,FQt(i,e))},[t,n,e]),(0,E.useEffect)(()=>{let t=t=>{let i=t.detail.messageId;if(typeof i!=`string`||i.length===0)return;let a=document.getElementById(`msg-${i}`);a===null?n.hasMore&&(r.current=i,n.loadOlder()):(r.current=null,FQt(a,e))};return window.addEventListener(NQt,t),()=>{window.removeEventListener(NQt,t)}},[n,e])};fo(),Fy(),Do();var y0t=[],b0t=({isLoadingOlder:e,hasMessages:t})=>!t||!e?null:(0,D.jsx)(`div`,{className:A.olderRow,children:(0,D.jsx)(Vo,{size:`sm`,label:`Loading older messages`})}),x0t=(e,t,n,r)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||H5(e)?null:nQt(e,{peerUserId:t,otherMemberIds:n,receipts:r}),S0t=({messages:e,older:t,hasMessages:n})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(b0t,{isLoadingOlder:t.isLoadingOlder,hasMessages:n}),e.isPending&&(0,D.jsx)(`div`,{className:A.center,children:(0,D.jsx)(Vo,{label:`Loading messages`})}),e.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not load messages`,children:e.error.message})]}),C0t=({conversation:e,viewerId:t,messages:n,selectedMessageId:r,onSelectMessage:i,onReact:a,onRetry:o,onReply:s,onEdit:c,onDelete:l})=>{let u=e.id,d=m0t(e=>e.hidden),f=(0,E.useMemo)(()=>_0t(n.data??y0t,t).filter(e=>!d.has(e.id)),[n.data,t,d]),p=vS(e=>e.receipts[u]),m=vS(e=>e.pending),h=e.members.map(e=>e.id).filter(e=>e!==t),g=aQt(u),_=dQt(u,f,g.loadOlder);return v0t(`.${A.messages??`messages`}`,f,g),(0,D.jsxs)(`div`,{className:A.threadWrap,children:[(0,D.jsx)(`div`,{className:A.messages,ref:_.scrollRef,onScroll:_.onScroll,children:(0,D.jsxs)(`div`,{className:A.thread,children:[(0,D.jsx)(S0t,{messages:n,older:g,hasMessages:f.length>0}),f.length>0&&(0,D.jsx)(x$t,{conversation:e,messages:f,pending:m,selectedMessageId:r,onSelectMessage:i,tickFor:t=>x0t(t,e.peerUserId,h,p??{}),onReact:a,onRetry:o,onReply:s,onEdit:c,onDelete:l})]})}),_.hasNewBelow&&(0,D.jsxs)(`button`,{type:`button`,className:T(A.newPill),onClick:()=>{_.scrollToBottom(!0)},children:[(0,D.jsx)(Fn,{size:14}),`New messages`]})]})},w0t=e=>(0,D.jsx)(C0t,{...e}),T0t=(e,t,n,r)=>{let[i,a]=(0,E.useState)(null),o=()=>{a(null)};return{requestDelete:t=>{a(e.find(e=>e.id===t)??null)},dialogProps:{open:i!==null,canDeleteForEveryone:i?.canDeleteForEveryone(r.now().getTime())??!1,onDeleteForMe:()=>{i!==null&&n(i.id),o()},onDeleteForEveryone:()=>{i!==null&&t(i.id),o()},onCancel:o}}};Fy(),tS(),Uy();var E0t=`now`,D0t=(e,t,n)=>{e.outbox.put({clientMessageId:t.clientMessageId,conversationId:e.conversationId,text:t.text,failedAt:n})},O0t=(e,t,n)=>{e.queryClient.setQueryData(MS(e.conversationId),r=>BXt(r,RXt({viewer:t,text:n.text,clientMessageId:n.clientMessageId,sequence:IXt(r??[])+1,timeLabel:E0t,sentAt:e.clock.now().toISOString(),replyTo:n.replyTo??null}))),e.store.getState().markSending(n.clientMessageId),D0t(e,n,null)},k0t=(e,t,n)=>{e.queryClient.setQueryData(MS(e.conversationId),e=>VXt(e,t)),e.store.getState().clearPending(n),e.outbox.remove(n),kS(e.queryClient)},A0t=(e,t,n)=>Hy(t.execute(e.conversationId,n.text,n.clientMessageId,n.replyToMessageId)),j0t=e=>{let{sendMessage:t,outbox:n,clock:r}=TS(),i=Xx(),a=_S(),o=NS().data??null,s={queryClient:i,store:a,outbox:n,conversationId:e,clock:r},c=$x({mutationFn:e=>A0t(s,t,e),onMutate:e=>{o!==null&&O0t(s,o,e)},onSuccess:(e,t)=>{k0t(s,e,t.clientMessageId)},onError:(e,t)=>{my.error(e instanceof Error?e.message:`Failed to send message`),a.getState().markFailed(t.clientMessageId),D0t(s,t,s.clock.now().toISOString()),my.error(e.message)}}),l=(0,E.useCallback)(()=>{n.listByConversation(e).then(e=>{for(let t of e)t.failedAt!==null&&(a.getState().markSending(t.clientMessageId),c.mutate({text:t.text,clientMessageId:t.clientMessageId}))})},[e,c,n,a]);return(0,E.useEffect)(()=>{let e=()=>{l()};return window.addEventListener(`online`,e),()=>{window.removeEventListener(`online`,e)}},[l]),{send:(0,E.useCallback)((e,t=null)=>{c.mutate({text:e,clientMessageId:crypto.randomUUID(),replyToMessageId:t?.messageId??null,replyTo:t})},[c]),retry:(0,E.useCallback)((e,t)=>{a.getState().markSending(e),c.mutate({text:t,clientMessageId:e})},[c,a]),isSending:c.isPending}};tS(),Uy(),Fy();var M0t=(e,t)=>{let n=e.then(t,t);return{run:n,next:n.then(()=>void 0,()=>void 0)}},N0t=(e,t)=>{let n=e.get(t);n!==void 0&&(e.delete(t),globalThis.setTimeout(()=>{URL.revokeObjectURL(n)},250))},P0t=(e,t)=>{let n=e.viewer;if(n===null)return;let r=URL.createObjectURL(t.file);e.urls.set(t.clientMessageId,r);let i=e.nowIso();e.queryClient.setQueryData(MS(e.conversationId),e=>BXt(e,zXt({viewer:n,fileUrl:r,caption:t.caption??``,clientMessageId:t.clientMessageId,sequence:IXt(e??[])+1,sentAt:i,contentType:t.file.type,fileName:t.fileName}))),e.store.getState().markSending(t.clientMessageId)},F0t=(e,t,n)=>{e.queryClient.setQueryData(MS(e.conversationId),e=>VXt(e,t)),e.store.getState().clearPending(n),N0t(e.urls,n),kS(e.queryClient)},I0t=(e,t)=>{let n=FXt(t.clientMessageId);e.queryClient.setQueryData(MS(e.conversationId),e=>e?.filter(e=>e.id!==n)??[]),e.store.getState().clearPending(t.clientMessageId),N0t(e.urls,t.clientMessageId),my.error(`Couldn't send ${t.fileName}.`)},L0t=e=>{let{sendMediaMessage:t,clock:n}=TS(),r=Xx(),i=_S(),a=NS().data??null,o=(0,E.useRef)(new Map),s=(0,E.useRef)(Promise.resolve()),c={queryClient:r,store:i,viewer:a,conversationId:e,nowIso:()=>n.now().toISOString(),urls:o.current},l=$x({mutationFn:e=>{let{run:n,next:r}=M0t(s.current,()=>Hy(t.execute(e)));return s.current=r,n},onMutate:e=>{P0t(c,e)},onSuccess:(e,t)=>{F0t(c,e,t.clientMessageId)},onError:(e,t)=>{I0t(c,t)}});return{sendMedia:(0,E.useCallback)((t,n,r)=>{let i={conversationId:e,file:t,fileName:t.name,clientMessageId:crypto.randomUUID(),...n!==void 0&&n.trim().length>0?{caption:n}:{},...r===void 0?{}:{replyToMessageId:r}};l.mutate(i)},[e,l]),isSending:l.isPending}},R0t=(e,t)=>{let n=mPe(),r=(0,E.useRef)({conversationId:null,upto:0,acknowledge:(e,t)=>{}});r.current.acknowledge=(e,t)=>{n.mutate({conversationId:e,uptoSequence:t})},(0,E.useEffect)(()=>{if(e===null||t===void 0||t.length===0)return;let n=LXt(t),i=r.current;i.conversationId===e&&n<=i.upto||(i.conversationId=e,i.upto=n,i.acknowledge(e,n))},[e,t])},z0t=2e3,B0t=3e3,V0t=e=>{let{realtime:t,logger:n}=TS(),r=vS(e=>e.status===`connected`),i=(0,E.useRef)(0),a=(0,E.useRef)(!1),o=(0,E.useRef)(null),s=(0,E.useCallback)(i=>{e===null||!r||t.invoke(J1t.Typing,e,i).catch(()=>{n.debug(`Typing signal dropped (best-effort)`)})},[e,r,t,n]),c=(0,E.useCallback)(()=>{o.current!==null&&(clearTimeout(o.current),o.current=null)},[]),l=(0,E.useCallback)(()=>{c(),a.current&&(a.current=!1,i.current=0,s(!1))},[c,s]),u=(0,E.useCallback)(()=>{let e=Date.now();(!a.current||e-i.current>z0t)&&(a.current=!0,i.current=e,s(!0)),c(),o.current=setTimeout(l,B0t)},[c,s,l]);return(0,E.useEffect)(()=>l,[e,l]),{onInput:u,stop:l}};Uy();var H0t=e=>{let{subscribePush:t}=TS();(0,E.useEffect)(()=>{!e||!(`serviceWorker`in navigator)||`PushManager`in window},[e,t])},U0t=()=>{let[e,t]=(0,E.useState)(``),[n,r]=(0,E.useState)(null),[i,a]=(0,E.useState)(null);return{text:e,setText:t,replyTo:n,setReplyTo:r,editingMessage:i,setEditingMessage:a}},W0t=({messages:e,send:t,media:n,draft:r,actions:i})=>({messages:e,send:t,media:n,text:r.text,setText:r.setText,replyTo:r.replyTo,setReplyTo:r.setReplyTo,editingMessage:r.editingMessage,startEdit:i.startEdit,clearEditing:i.clearEditing,onReact:i.onReact,onEdit:i.onEdit,onDelete:i.onDelete,onDeleteForMe:i.onDeleteForMe,submit:i.submit,onSendMedia:i.onSendMedia,onTyping:i.onTyping,isSending:t.isSending||n.isSending}),G0t=e=>{let t=vPe(e),n=j0t(e),r=L0t(e),i=kPe(e),a=APe(e),o=jPe(e),s=MPe(e),c=m0t(e=>e.hideForMe),l=V0t(e),u=U0t();return H0t(!0),R0t(e,t.data),W0t({messages:t,send:n,media:r,draft:u,actions:{startEdit:e=>{u.setEditingMessage({id:e.id,text:e.text}),u.setText(e.text),u.setReplyTo(null)},clearEditing:()=>{u.setEditingMessage(null),u.setText(``)},onReact:(e,t)=>{i.mutate({messageId:e,emoji:t})},onEdit:(e,t)=>{a.mutate({messageId:e,text:t})},onDelete:e=>{o.mutate(e)},onDeleteForMe:e=>{c(e),s.mutate(e)},submit:()=>{if(u.text.trim().length!==0){if(l.stop(),u.editingMessage!==null){a.mutate({messageId:u.editingMessage.id,text:u.text.trim()}),u.setEditingMessage(null),u.setText(``);return}n.send(u.text,u.replyTo),u.setText(``),u.setReplyTo(null)}},onSendMedia:(e,t)=>{e.forEach((e,n)=>{r.sendMedia(e,n===0?t:void 0,n===0?u.replyTo?.messageId??null:null)}),u.setText(``),u.setReplyTo(null)},onTyping:l.onInput}})};fo();var K0t=()=>(0,D.jsxs)(`div`,{className:A.removedComposer,children:[(0,D.jsx)(an,{size:15}),(0,D.jsx)(`span`,{children:`You can no longer send messages here — you’re no longer a member of this group.`})]}),q0t=({conversation:e,conversationId:t,active:n,removed:r})=>r?(0,D.jsx)(K0t,{}):(0,D.jsx)($Zt,{conversation:e,conversationId:t,text:n.text,replyTo:n.replyTo,editingMessage:n.editingMessage,isSending:n.isSending,onChange:n.setText,onSubmit:n.submit,onClearReply:()=>{n.setReplyTo(null)},onClearEditing:n.clearEditing,onSendMedia:n.onSendMedia,onTyping:n.onTyping}),J0t=({conversation:e,conversationId:t,actions:n,onRequestDelete:r,onRequestLeave:i})=>{let a=mLe(),o=NS(),{clock:s}=TS(),c=G0t(t),l=T0t(c.messages.data??[],c.onDelete,c.onDeleteForMe,s),u=vS(e=>e.isRemovedFromConversation(t)),[d,f]=(0,E.useState)(!1),[p,m]=(0,E.useState)(null);return(0,E.useEffect)(()=>{m(null)},[t]),(0,D.jsxs)(`div`,{className:A.view,children:[(0,D.jsx)(SZt,{conversation:e,categories:a.data??[],actions:n,statusPill:(0,D.jsx)(RZt,{}),onManageMembers:()=>{f(!0)},onRequestDelete:r,onRequestLeave:i,selectedMessage:p,onClearSelection:()=>{m(null)},onReply:c.setReplyTo,onStartEdit:c.startEdit,onDelete:l.requestDelete}),(0,D.jsx)(w0t,{conversation:e,viewerId:o.data?.id??``,messages:c.messages,selectedMessageId:p?.id??null,onSelectMessage:e=>{m(t=>t?.id===e.id?null:e)},onReact:c.onReact,onRetry:c.send.retry,onReply:c.setReplyTo,onEdit:c.onEdit,onDelete:l.requestDelete}),(0,D.jsx)(q0t,{conversation:e,conversationId:t,active:c,removed:u}),e.isGroup&&(0,D.jsx)(PZt,{conversation:e,open:d,onClose:()=>{f(!1)}}),(0,D.jsx)(FZt,{...l.dialogProps})]})};hh(),fo();var Y0t=()=>(0,D.jsxs)(`div`,{className:A.viewEmpty,children:[(0,D.jsx)(`div`,{className:A.emptyIconWrap,children:(0,D.jsx)(an,{size:32})}),(0,D.jsx)(`h3`,{className:A.emptyTitle,children:`No longer available`}),(0,D.jsx)(`p`,{className:A.emptyText,children:`You no longer have access to this conversation — you may have been removed from the group, or it was deleted. You can no longer read or send messages here.`})]}),X0t=()=>{let e=lh(0),t=lh(0),n=uge(e,{stiffness:60,damping:20}),r=uge(t,{stiffness:60,damping:20}),i=ph(n,[-1,1],[-25,25]),a=ph(r,[-1,1],[-25,25]),o=ph(n,[-1,1],[20,-20]),s=ph(r,[-1,1],[-15,15]),c=ph(n,[-1,1],[-15,15]),l=ph(r,[-1,1],[20,-20]);return(0,D.jsxs)(`div`,{className:A.viewEmpty,onMouseMove:n=>{let r=n.currentTarget.getBoundingClientRect(),i=(n.clientX-r.left-r.width/2)/(r.width/2),a=(n.clientY-r.top-r.height/2)/(r.height/2);e.set(i),t.set(a)},onMouseLeave:()=>{e.set(0),t.set(0)},children:[(0,D.jsx)(Gm.div,{className:A.emptyFloating1,style:{x:i,y:a},children:(0,D.jsx)(ai,{size:24})}),(0,D.jsx)(Gm.div,{className:A.emptyFloating2,style:{x:o,y:s},children:(0,D.jsx)(ka,{size:20})}),(0,D.jsx)(Gm.div,{className:A.emptyFloating3,style:{x:c,y:l},children:(0,D.jsx)(la,{size:16})}),(0,D.jsx)(`div`,{className:A.emptyIconWrap,children:(0,D.jsx)(ni,{size:32})}),(0,D.jsx)(`h3`,{className:A.emptyTitle,children:`Your Messages`}),(0,D.jsx)(`p`,{className:A.emptyText,children:`Select a conversation from the sidebar or start a new chat.`})]})},Z0t=({conversation:e,conversationId:t,lostAccess:n,actions:r,onRequestDelete:i,onRequestLeave:a})=>{let o=_S();return(0,E.useEffect)(()=>(o.getState().setActiveConversationId(t),()=>{o.getState().setActiveConversationId(null)}),[t,o]),e===void 0||t===null?n?(0,D.jsx)(Y0t,{}):(0,D.jsx)(X0t,{}):(0,D.jsx)(Gm.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{type:`spring`,stiffness:350,damping:28},className:A.viewPaneWrapper,children:(0,D.jsx)(J0t,{conversation:e,conversationId:t,actions:r,onRequestDelete:i,onRequestLeave:a})},t)};fo(),Fy(),Do();var Q0t=({mediaUrl:e})=>{let{src:t,isLoading:n,isError:r,onImageError:i}=gQt(e);return r?(0,D.jsxs)(`div`,{className:A.viewerFallback,children:[(0,D.jsx)(Or,{size:30}),(0,D.jsx)(`span`,{children:`Image unavailable`})]}):t===null||n?(0,D.jsx)(Vo,{label:`Loading image`}):(0,D.jsx)(`img`,{className:A.viewerImg,src:t,alt:``,onError:i})},$0t=(e,t,n,r)=>{(0,E.useEffect)(()=>{if(!e)return;let i=e=>{e.key===`Escape`?t():e.key===`ArrowRight`?n():e.key===`ArrowLeft`&&r()};return window.addEventListener(`keydown`,i),()=>{window.removeEventListener(`keydown`,i)}},[e,t,n,r])},e2t=()=>{let e=q5(e=>e.open),t=q5(e=>e.urls),n=q5(e=>e.index),r=q5(e=>e.close),i=q5(e=>e.next),a=q5(e=>e.prev),o=fu();$0t(e,r,i,a);let s=t[n];if(!e||s===void 0)return null;let c=t.length>1;return(0,zy.createPortal)((0,D.jsxs)(`div`,{className:A.viewerBackdrop,role:`dialog`,"aria-modal":`true`,"aria-label":`Image preview`,children:[(0,D.jsx)(`button`,{type:`button`,className:A.viewerScrim,"aria-label":`Close preview`,onClick:r}),(0,D.jsx)(`button`,{type:`button`,className:A.viewerClose,"aria-label":`Close preview`,onClick:r,children:(0,D.jsx)(lo,{size:22})}),c&&(0,D.jsx)(`button`,{type:`button`,className:T(A.viewerNav,A.viewerNavPrev),"aria-label":`Previous image`,disabled:n===0,onClick:a,children:(0,D.jsx)(Ln,{size:26})}),(0,D.jsx)(`div`,{className:A.viewerStage,children:(0,D.jsx)(Q0t,{mediaUrl:s})}),c&&(0,D.jsx)(`button`,{type:`button`,className:T(A.viewerNav,A.viewerNavNext),"aria-label":`Next image`,disabled:n===t.length-1,onClick:i,children:(0,D.jsx)(zn,{size:26})}),c&&(0,D.jsxs)(`span`,{className:A.viewerCount,children:[n+1,` / `,t.length]})]}),o??document.body)};Fy();var t2t=()=>{let e=bPe(),t=SPe(),n=xPe(),r=CPe(),i=wPe(),a=TPe();return{toggleFavourite:t=>{e.mutate({id:t.id,value:!t.favourite},{onSuccess:()=>{my.success(t.favourite?`Removed from Favourites`:`Added to Favourites`)}})},togglePin:e=>{t.mutate({id:e.id,value:!e.pinned},{onSuccess:()=>{my.success(e.pinned?`Unpinned`:`Pinned to top`)}})},toggleArchive:e=>{n.mutate({id:e.id,value:!e.archived},{onSuccess:()=>{my.success(e.archived?`Chat unarchived`:`Chat archived`)}})},remove:e=>{r.mutate(e,{onSuccess:()=>{my.success(`Chat deleted`)}})},leave:e=>{i.mutate(e.id,{onSuccess:()=>{my.success(`You left "${e.title}"`)}})},refresh:e=>{a.mutate(e.id,{onSuccess:()=>{my.success(`Portal data refreshed`)}})}}},n2t=e=>{let t=_S();(0,E.useEffect)(()=>{let{seedReceipts:n}=t.getState();for(let t of e)n(t.id,t.memberReceipts)},[t,e])},r2t=[],i2t=(e,t,n)=>{let r=ePe(e,t),i=ePe(e,``),a=tPe(),o=r.data??r2t,s=i.data??r2t,c=n??s[0]?.id??o[0]?.id??null,l=rPe(c);return n2t(o),{conversations:r,counts:a.data,list:o,activeId:c,active:l.data??o.find(e=>e.id===c),lostAccess:n!==null&&l.isError}},a2t=`/comms/chats`,o2t=(e,t,n)=>{let[r,i]=(0,E.useState)(null),[a,o]=(0,E.useState)(null);return{pendingDelete:r,pendingLeave:a,requestDelete:i,requestLeave:o,confirmDelete:()=>{r!==null&&(e.remove(r.id),r.id===t&&n(a2t)),i(null)},confirmLeave:()=>{a!==null&&(e.leave(a),a.id===t&&n(a2t)),o(null)},cancelDelete:()=>{i(null)},cancelLeave:()=>{o(null)}}},s2t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,c2t=`--`,l2t=e=>e.replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/u,``),u2t=e=>{let t=e.replace(/-/g,`+`).replace(/_/g,`/`);return t+`=`.repeat((4-t.length%4)%4)},d2t=e=>{let t=e.replace(/-/g,``),n=``;for(let e=0;e<t.length;e+=2)n+=String.fromCharCode(Number.parseInt(t.slice(e,e+2),16));return l2t(btoa(n))},f2t=e=>{let t;try{t=atob(u2t(e))}catch{return null}if(t.length!==16)return null;let n=``;for(let e=0;e<t.length;e+=1)n+=t.charCodeAt(e).toString(16).padStart(2,`0`);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`},p2t=e=>s2t.test(e)?d2t(e):`~${l2t(btoa(e))}`,m2t=e=>{if(e.startsWith(`~`))try{return atob(u2t(e.slice(1)))}catch{return null}return f2t(e)},h2t=e=>{let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40);return t.length>0?t:`chat`},g2t=(e,t)=>`/comms/chats/${h2t(t)}${c2t}${p2t(e)}`,_2t=e=>{let t=e.indexOf(c2t),n=t>=0?e.slice(t+2):e;return s2t.test(n)?n:m2t(n)};Dt(),Fy(),Do();var v2t=()=>{let e=eee(),[t,n]=(0,E.useState)(`all`),[r,i]=(0,E.useState)(``),a=FPe(r,250),{conversationId:o}=Ke(),s=o===void 0?null:_2t(o),{conversations:c,counts:l,list:u,activeId:d,active:f,lostAccess:p}=i2t(t,a,s),m=t2t(),h=We(),g=o2t(m,s,h);return c.isPending?(0,D.jsx)(ZPe,{}):c.isSuccess?(0,D.jsxs)(`div`,{className:T(A.root,s!==null&&A.hasActiveChat),children:[(0,D.jsx)(XPe,{conversations:u,activeId:d,actions:m,filter:{tab:t,onTabChange:n,search:r,onSearchChange:i,counts:l},hasNextPage:c.hasNextPage,isFetchingNextPage:c.isFetchingNextPage,onLoadMore:c.fetchNextPage,onRequestDelete:g.requestDelete,onSelect:e=>{h(g2t(e,u.find(t=>t.id===e)?.title??``))}}),(0,D.jsx)(Z0t,{conversation:f,conversationId:d,lostAccess:p,actions:m,onRequestDelete:g.requestDelete,onRequestLeave:g.requestLeave}),(0,D.jsx)(BEe,{pendingDelete:g.pendingDelete,pendingLeave:g.pendingLeave,onConfirmDelete:g.confirmDelete,onConfirmLeave:g.confirmLeave,onCancelDelete:g.cancelDelete,onCancelLeave:g.cancelLeave}),(0,D.jsx)(e2t,{}),e]}):(0,D.jsx)(`div`,{className:A.fullCenter,children:(0,D.jsx)(ls,{tone:`error`,title:`Could not load chats`,children:c.error?.message??`Please try again.`})})};Dt();var y2t=`/comms/chats`,b2t=()=>(0,D.jsxs)(at,{children:[(0,D.jsxs)(rt,{path:y2t,element:(0,D.jsx)(v2t,{}),children:[(0,D.jsx)(rt,{index:!0,element:null}),(0,D.jsx)(rt,{path:`:conversationId`,element:null})]}),(0,D.jsx)(rt,{path:`*`,element:(0,D.jsx)(nt,{to:y2t,replace:!0})})]}),x2t=c((e=>{var t=v();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot}))(),S2t=`__COMMHUB_SDK_CSS__`,u7,C2t=()=>{let e=globalThis[S2t];return typeof e==`string`?e:``},w2t=()=>typeof CSSStyleSheet==`function`&&typeof CSSStyleSheet.prototype.replaceSync==`function`,T2t=()=>{let e=C2t();if(e===``||!w2t())return[];if(u7===void 0)try{let t=new CSSStyleSheet;t.replaceSync(e),u7=t}catch{u7=null}return u7===null?[]:[u7]},E2t=()=>{let e=C2t();if(e===``)return null;let t=document.createElement(`style`);return t.textContent=e,t},D2t=`commhub-widget-root`;function O2t(e,t,n=[]){if(customElements.get(e))return;class r extends HTMLElement{reactRoot=null;mountPoint;configValue={};static get observedAttributes(){return n}get config(){return this.configValue}set config(e){this.configValue=e,this.render()}constructor(){super();let e=this.attachShadow({mode:`open`}),t=T2t();if(t.length>0)e.adoptedStyleSheets=[...t];else{let t=E2t();t!==null&&e.appendChild(t)}this.mountPoint=document.createElement(`div`),this.mountPoint.className=D2t,e.appendChild(this.mountPoint)}connectedCallback(){this.render()}disconnectedCallback(){let e=this.reactRoot;e!==null&&(this.reactRoot=null,queueMicrotask(()=>{if(this.isConnected){this.reactRoot??=e;return}e.unmount()}))}attributeChangedCallback(){this.reactRoot!==null&&this.render()}render(){this.isConnected&&(this.reactRoot??=(0,x2t.createRoot)(this.mountPoint),this.reactRoot.render(t(this)))}}customElements.define(e,r)}var k2t={notice:`_notice_184jj_6`,title:`_title_184jj_23`,detail:`_detail_184jj_29`},A2t=({tagName:e,detail:t})=>(0,D.jsxs)(`div`,{className:k2t.notice,role:`alert`,children:[(0,D.jsxs)(`strong`,{className:k2t.title,children:[`<`,e,`> could not start: invalid configuration`]}),(0,D.jsx)(`span`,{className:k2t.detail,children:t})]}),j2t=class{entries=new Map;getItem(e){return this.entries.get(e)??null}setItem(e,t){this.entries.set(e,t)}removeItem(e){this.entries.delete(e)}},M2t=e=>{let t=new VRe({storage:new j2t,logger:e.logger,namespace:e.storageNamespace});return HRe({completeSsoLoginUseCase:new yRe({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),logoutUseCase:new bRe({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),restoreSessionUseCase:new xRe({authGateway:e.authGateway,sessionStore:t,clock:e.clock,logger:e.logger}),refreshSessionUseCase:new SRe({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),setAccessToken:e.setAccessToken,loginUrl:``})},N2t=`sdk_signed`,P2t=`assertion`,F2t=`CommunicationHub`;lb(),Uy();var I2t=class{httpClient;clock;logger;clientKey;scope;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`sdk-signed-gateway`),this.clientKey=e.clientKey,this.scope=[F2t,...e.modules].join(` `)}exchangeSsoSecret(e){return e.trim().length===0||this.clientKey.trim().length===0?Promise.resolve(O(new ZS)):this.requestToken({grant_type:N2t,client_id:this.clientKey,[P2t]:e,scope:this.scope})}refresh(e){return Promise.resolve(O(new QS(`sdk_signed re-authenticates with a fresh host assertion, not a refresh token.`)))}signOut(e){return Promise.resolve()}async requestToken(e){try{let t=await this.httpClient.postForm(ARe,e,{anonymous:!0}),n=CRe.safeParse(t);return n.success?kRe(n.data,this.clock.now()):(this.logger.error(`Token endpoint returned an unexpected shape`,n.error),O(new QS(n.error)))}catch(e){return e instanceof ab&&e.isClientError()?(this.logger.warn(`Signed assertion was rejected`,{status:e.status}),O(new ZS)):(this.logger.error(`Failed to exchange signed assertion`,{error:e}),O(new QS(e)))}}};Uy();var L2t=class{clock;logger;constructor(e){this.clock=e.clock,this.logger=e.logger.child(`sdk-host-token-gateway`)}exchangeSsoSecret(e){if(e.trim().length===0)return Promise.resolve(O(new ZS));try{let t=DRe(e);if(Vy(t))return this.logger.error(`Invalid JWT token provided by host`,t.error),Promise.resolve(O(new QS(`Invalid host token provided.`)));let n=t.value.exp;if(typeof n!=`number`)return Promise.resolve(O(new QS(`Host token missing or invalid exp claim.`)));let r=n-Math.floor(this.clock.now().getTime()/1e3);return r<=0?Promise.resolve(O(new QS(`Host token is already expired.`))):Promise.resolve(kRe({access_token:e,token_type:`Bearer`,expires_in:r,refresh_token:null},this.clock.now()))}catch(e){return this.logger.error(`Failed to parse host token`,{error:e}),Promise.resolve(O(new QS(e)))}}refresh(e){return Promise.resolve(O(new QS(`host-token does not support traditional refresh tokens.`)))}signOut(e){return Promise.resolve()}},R2t=[`commhub.chat`,`commhub.bookings`,`commhub.schedule`,`commhub.feed`],d7={"commhub.chat":SS.chat,"commhub.feed":SS.feed,"commhub.schedule":SS.schedule,"commhub.bookings":SS.meetings},z2t=e=>Object.hasOwn(d7,e),B2t=e=>R2t.filter(t=>e.has(d7[t])),V2t=(e,t)=>e.filter(e=>!t.has(d7[e])),H2t=1e4,U2t=1e3,W2t=6e4,G2t=class{deps;timer=null;unwatch=null;started=!1;disposed=!1;inFlight=!1;failures=0;authenticated=!1;constructor(e){this.deps=e}start(){this.started||this.isDisposed()||(this.started=!0,this.watchSession(),this.run())}isDisposed(){return this.disposed}dispose(){this.disposed=!0,this.clearTimer(),this.unwatch?.(),this.unwatch=null}async run(){if(!(this.isDisposed()||this.inFlight)){this.inFlight=!0;try{let e=await this.deps.requestCredential(),t=await this.deps.authStore.getState().completeLogin(e);if(this.isDisposed())return;if(t){await this.onAuthenticated();return}this.onExpired()}catch(e){if(this.isDisposed())return;let t=e instanceof Error?e.message:String(e);this.deps.logger.error(`SDK handshake failed`,{error:e}),this.deps.emit({type:`error`,payload:{code:`HANDSHAKE_FAILED`,message:t}}),this.scheduleRetry()}finally{this.inFlight=!1}}}async onAuthenticated(){this.failures=0,this.authenticated=!0;let e=await this.deps.moduleAccessModule.getModuleAccess.execute();if(!this.isDisposed()){if(e.ok){let t=e.value.grantedModules;this.deps.emit({type:`ready`,payload:{apiVersion:`1.0`,modules:B2t(t)}});let n=V2t(this.deps.requestedModules,t);n.length>0&&this.deps.emit({type:`scope-denied`,payload:{required:[...n],granted:B2t(t)}})}this.scheduleRenewal()}}onExpired(){(this.authenticated||this.failures===0)&&this.deps.emit({type:`auth-expired`,payload:{}}),this.authenticated=!1,this.scheduleRetry()}scheduleRetry(){let e=Math.min(W2t,U2t*2**this.failures);this.failures+=1,this.scheduleAt(e)}scheduleRenewal(){if(!this.deps.renewable)return;let e=this.deps.authStore.getState().session;if(!e)return;let t=e.expiresAt.getTime()-Date.now();this.scheduleAt(Math.max(0,t-H2t))}scheduleAt(e){this.clearTimer(),!this.isDisposed()&&(this.timer=setTimeout(()=>{this.timer=null,this.run()},e))}clearTimer(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null)}watchSession(){this.unwatch=this.deps.authStore.subscribe(e=>{this.inFlight||e.status===`unauthenticated`&&this.authenticated&&(this.deps.logger.warn(`SDK session expired mid-session; re-handshaking`),this.onExpired())})}},K2t=class{createRunner;eventListeners=new Set;statusListeners=new Set;runner=null;currentStatus=`pending`;constructor(e){this.createRunner=e}get status(){return this.currentStatus}attach(e){let t=e;t!==void 0&&this.eventListeners.add(t),this.runner??=this.createRunner(e=>{this.emit(e)}),this.runner.start();let n=!1;return()=>{n||(n=!0,t!==void 0&&this.eventListeners.delete(t),this.eventListeners.size===0&&this.statusListeners.size===0&&(this.runner?.dispose(),this.runner=null,this.setStatus(`pending`)))}}subscribeStatus(e){return this.statusListeners.add(e),()=>{this.statusListeners.delete(e)}}dispose(){this.runner?.dispose(),this.runner=null,this.eventListeners.clear(),this.statusListeners.clear(),this.currentStatus=`pending`}emit(e){e.type===`ready`?this.setStatus(`ready`):e.type===`error`?this.setStatus(`failed`):e.type===`auth-expired`&&this.setStatus(`pending`);for(let t of[...this.eventListeners])t(e)}setStatus(e){if(this.currentStatus!==e){this.currentStatus=e;for(let e of[...this.statusListeners])e()}}},f7=class extends Error{constructor(e,t){let n=new.target.prototype;super(`${e}: Status code '${t}'`),this.statusCode=t,this.__proto__=n}},q2t=class extends Error{constructor(e=`A timeout occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},p7=class extends Error{constructor(e=`An abort occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},J2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`UnsupportedTransportError`,this.__proto__=n}},Y2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`DisabledTransportError`,this.__proto__=n}},X2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`FailedToStartTransportError`,this.__proto__=n}},Z2t=class extends Error{constructor(e){let t=new.target.prototype;super(e),this.errorType=`FailedToNegotiateWithServerError`,this.__proto__=t}},Q2t=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.innerErrors=t,this.__proto__=n}},$2t=class{constructor(e,t,n){this.statusCode=e,this.statusText=t,this.content=n}},m7=class{get(e,t){return this.send({...t,method:`GET`,url:e})}post(e,t){return this.send({...t,method:`POST`,url:e})}delete(e,t){return this.send({...t,method:`DELETE`,url:e})}getCookieString(e){return``}},h7;(function(e){e[e.Trace=0]=`Trace`,e[e.Debug=1]=`Debug`,e[e.Information=2]=`Information`,e[e.Warning=3]=`Warning`,e[e.Error=4]=`Error`,e[e.Critical=5]=`Critical`,e[e.None=6]=`None`})(h7||={});var g7=class{constructor(){}log(e,t){}};g7.instance=new g7;var e4t=`10.0.0`,_7=class{static isRequired(e,t){if(e==null)throw Error(`The '${t}' argument is required.`)}static isNotEmpty(e,t){if(!e||e.match(/^\s*$/))throw Error(`The '${t}' argument should not be empty.`)}static isIn(e,t,n){if(!(e in t))throw Error(`Unknown ${n} value: ${e}.`)}},v7=class e{static get isBrowser(){return!e.isNode&&typeof window==`object`&&typeof window.document==`object`}static get isWebWorker(){return!e.isNode&&typeof self==`object`&&`importScripts`in self}static get isReactNative(){return!e.isNode&&typeof window==`object`&&window.document===void 0}static get isNode(){return typeof process<`u`&&process.release&&process.release.name===`node`}};function y7(e,t){let n=``;return b7(e)?(n=`Binary data of length ${e.byteLength}`,t&&(n+=`. Content: '${t4t(e)}'`)):typeof e==`string`&&(n=`String data of length ${e.length}`,t&&(n+=`. Content: '${e}'`)),n}function t4t(e){let t=new Uint8Array(e),n=``;return t.forEach(e=>{n+=`0x${e<16?`0`:``}${e.toString(16)} `}),n.substring(0,n.length-1)}function b7(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name===`ArrayBuffer`)}async function n4t(e,t,n,r,i,a){let o={},[s,c]=S7();o[s]=c,e.log(h7.Trace,`(${t} transport) sending data. ${y7(i,a.logMessageContent)}.`);let l=b7(i)?`arraybuffer`:`text`,u=await n.post(r,{content:i,headers:{...o,...a.headers},responseType:l,timeout:a.timeout,withCredentials:a.withCredentials});e.log(h7.Trace,`(${t} transport) request complete. Response status: ${u.statusCode}.`)}function r4t(e){return e===void 0?new x7(h7.Information):e===null?g7.instance:e.log===void 0?new x7(e):e}var i4t=class{constructor(e,t){this._subject=e,this._observer=t}dispose(){let e=this._subject.observers.indexOf(this._observer);e>-1&&this._subject.observers.splice(e,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(e=>{})}},x7=class{constructor(e){this._minLevel=e,this.out=console}log(e,t){if(e>=this._minLevel){let n=`[${new Date().toISOString()}] ${h7[e]}: ${t}`;switch(e){case h7.Critical:case h7.Error:this.out.error(n);break;case h7.Warning:this.out.warn(n);break;case h7.Information:this.out.info(n);break;default:this.out.log(n);break}}}};function S7(){let e=`X-SignalR-User-Agent`;return v7.isNode&&(e=`User-Agent`),[e,a4t(e4t,o4t(),c4t(),s4t())]}function a4t(e,t,n,r){let i=`Microsoft SignalR/`,a=e.split(`.`);return i+=`${a[0]}.${a[1]}`,i+=` (${e}; `,t&&t!==``?i+=`${t}; `:i+=`Unknown OS; `,i+=`${n}`,r?i+=`; ${r}`:i+=`; Unknown Runtime Version`,i+=`)`,i}function o4t(){if(v7.isNode)switch(process.platform){case`win32`:return`Windows NT`;case`darwin`:return`macOS`;case`linux`:return`Linux`;default:return process.platform}else return``}function s4t(){if(v7.isNode)return process.versions.node}function c4t(){return v7.isNode?`NodeJS`:`Browser`}function l4t(e){return e.stack?e.stack:e.message?e.message:`${e}`}function u4t(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`could not find global`)}var d4t=class extends m7{constructor(e){if(super(),this._logger=e,typeof fetch>`u`||v7.isNode){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._jar=new(e(`tough-cookie`)).CookieJar,typeof fetch>`u`?this._fetchType=e(`node-fetch`):this._fetchType=fetch,this._fetchType=e(`fetch-cookie`)(this._fetchType,this._jar)}else this._fetchType=fetch.bind(u4t());if(typeof AbortController>`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._abortControllerType=e(`abort-controller`)}else this._abortControllerType=AbortController}async send(e){if(e.abortSignal&&e.abortSignal.aborted)throw new p7;if(!e.method)throw Error(`No method defined.`);if(!e.url)throw Error(`No url defined.`);let t=new this._abortControllerType,n;e.abortSignal&&(e.abortSignal.onabort=()=>{t.abort(),n=new p7});let r=null;if(e.timeout){let i=e.timeout;r=setTimeout(()=>{t.abort(),this._logger.log(h7.Warning,`Timeout from HTTP request.`),n=new q2t},i)}e.content===``&&(e.content=void 0),e.content&&(e.headers=e.headers||{},b7(e.content)?e.headers[`Content-Type`]=`application/octet-stream`:e.headers[`Content-Type`]=`text/plain;charset=UTF-8`);let i;try{i=await this._fetchType(e.url,{body:e.content,cache:`no-cache`,credentials:e.withCredentials===!0?`include`:`same-origin`,headers:{"X-Requested-With":`XMLHttpRequest`,...e.headers},method:e.method,mode:`cors`,redirect:`follow`,signal:t.signal})}catch(e){throw n||(this._logger.log(h7.Warning,`Error from HTTP request. ${e}.`),e)}finally{r&&clearTimeout(r),e.abortSignal&&(e.abortSignal.onabort=null)}if(!i.ok)throw new f7(await f4t(i,`text`)||i.statusText,i.status);let a=await f4t(i,e.responseType);return new $2t(i.status,i.statusText,a)}getCookieString(e){let t=``;return v7.isNode&&this._jar&&this._jar.getCookies(e,(e,n)=>t=n.join(`; `)),t}};function f4t(e,t){let n;switch(t){case`arraybuffer`:n=e.arrayBuffer();break;case`text`:n=e.text();break;case`blob`:case`document`:case`json`:throw Error(`${t} is not supported.`);default:n=e.text();break}return n}var p4t=class extends m7{constructor(e){super(),this._logger=e}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new p7):e.method?e.url?new Promise((t,n)=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),r.withCredentials=e.withCredentials===void 0?!0:e.withCredentials,r.setRequestHeader(`X-Requested-With`,`XMLHttpRequest`),e.content===``&&(e.content=void 0),e.content&&(b7(e.content)?r.setRequestHeader(`Content-Type`,`application/octet-stream`):r.setRequestHeader(`Content-Type`,`text/plain;charset=UTF-8`));let i=e.headers;i&&Object.keys(i).forEach(e=>{r.setRequestHeader(e,i[e])}),e.responseType&&(r.responseType=e.responseType),e.abortSignal&&(e.abortSignal.onabort=()=>{r.abort(),n(new p7)}),e.timeout&&(r.timeout=e.timeout),r.onload=()=>{e.abortSignal&&(e.abortSignal.onabort=null),r.status>=200&&r.status<300?t(new $2t(r.status,r.statusText,r.response||r.responseText)):n(new f7(r.response||r.responseText||r.statusText,r.status))},r.onerror=()=>{this._logger.log(h7.Warning,`Error from HTTP request. ${r.status}: ${r.statusText}.`),n(new f7(r.statusText,r.status))},r.ontimeout=()=>{this._logger.log(h7.Warning,`Timeout from HTTP request.`),n(new q2t)},r.send(e.content)}):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}},m4t=class extends m7{constructor(e){if(super(),typeof fetch<`u`||v7.isNode)this._httpClient=new d4t(e);else if(typeof XMLHttpRequest<`u`)this._httpClient=new p4t(e);else throw Error(`No usable HttpClient found.`)}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new p7):e.method?e.url?this._httpClient.send(e):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}getCookieString(e){return this._httpClient.getCookieString(e)}},C7=class e{static write(t){return`${t}${e.RecordSeparator}`}static parse(t){if(t[t.length-1]!==e.RecordSeparator)throw Error(`Message is incomplete.`);let n=t.split(e.RecordSeparator);return n.pop(),n}};C7.RecordSeparatorCode=30,C7.RecordSeparator=String.fromCharCode(C7.RecordSeparatorCode);var h4t=class{writeHandshakeRequest(e){return C7.write(JSON.stringify(e))}parseHandshakeResponse(e){let t,n;if(b7(e)){let r=new Uint8Array(e),i=r.indexOf(C7.RecordSeparatorCode);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=String.fromCharCode.apply(null,Array.prototype.slice.call(r.slice(0,a))),n=r.byteLength>a?r.slice(a).buffer:null}else{let r=e,i=r.indexOf(C7.RecordSeparator);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=r.substring(0,a),n=r.length>a?r.substring(a):null}let r=C7.parse(t),i=JSON.parse(r[0]);if(i.type)throw Error(`Expected a handshake response from the server.`);return[n,i]}},w7;(function(e){e[e.Invocation=1]=`Invocation`,e[e.StreamItem=2]=`StreamItem`,e[e.Completion=3]=`Completion`,e[e.StreamInvocation=4]=`StreamInvocation`,e[e.CancelInvocation=5]=`CancelInvocation`,e[e.Ping=6]=`Ping`,e[e.Close=7]=`Close`,e[e.Ack=8]=`Ack`,e[e.Sequence=9]=`Sequence`})(w7||={});var g4t=class{constructor(){this.observers=[]}next(e){for(let t of this.observers)t.next(e)}error(e){for(let t of this.observers)t.error&&t.error(e)}complete(){for(let e of this.observers)e.complete&&e.complete()}subscribe(e){return this.observers.push(e),new i4t(this,e)}},_4t=class{constructor(e,t,n){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=e,this._connection=t,this._bufferSize=n}async _send(e){let t=this._protocol.writeMessage(e),n=Promise.resolve();if(this._isInvocationMessage(e)){this._totalMessageCount++;let e=()=>{},r=()=>{};b7(t)?this._bufferedByteCount+=t.byteLength:this._bufferedByteCount+=t.length,this._bufferedByteCount>=this._bufferSize&&(n=new Promise((t,n)=>{e=t,r=n})),this._messages.push(new v4t(t,this._totalMessageCount,e,r))}try{this._reconnectInProgress||await this._connection.send(t)}catch{this._disconnected()}await n}_ack(e){let t=-1;for(let n=0;n<this._messages.length;n++){let r=this._messages[n];if(r._id<=e.sequenceId)t=n,b7(r._message)?this._bufferedByteCount-=r._message.byteLength:this._bufferedByteCount-=r._message.length,r._resolver();else if(this._bufferedByteCount<this._bufferSize)r._resolver();else break}t!==-1&&(this._messages=this._messages.slice(t+1))}_shouldProcessMessage(e){if(this._waitForSequenceMessage)return e.type===w7.Sequence?(this._waitForSequenceMessage=!1,!0):!1;if(!this._isInvocationMessage(e))return!0;let t=this._nextReceivingSequenceId;return this._nextReceivingSequenceId++,t<=this._latestReceivedSequenceId?(t===this._latestReceivedSequenceId&&this._ackTimer(),!1):(this._latestReceivedSequenceId=t,this._ackTimer(),!0)}_resetSequence(e){if(e.sequenceId>this._nextReceivingSequenceId){this._connection.stop(Error(`Sequence ID greater than amount of messages we've received.`));return}this._nextReceivingSequenceId=e.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}async _resend(){let e=this._messages.length===0?this._totalMessageCount+1:this._messages[0]._id;await this._connection.send(this._protocol.writeMessage({type:w7.Sequence,sequenceId:e}));let t=this._messages;for(let e of t)await this._connection.send(e._message);this._reconnectInProgress=!1}_dispose(e){e??=Error(`Unable to reconnect to server.`);for(let t of this._messages)t._rejector(e)}_isInvocationMessage(e){switch(e.type){case w7.Invocation:case w7.StreamItem:case w7.Completion:case w7.StreamInvocation:case w7.CancelInvocation:return!0;case w7.Close:case w7.Sequence:case w7.Ping:case w7.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(async()=>{try{this._reconnectInProgress||await this._connection.send(this._protocol.writeMessage({type:w7.Ack,sequenceId:this._latestReceivedSequenceId}))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0},1e3))}},v4t=class{constructor(e,t,n,r){this._message=e,this._id=t,this._resolver=n,this._rejector=r}},y4t=30*1e3,b4t=15*1e3,x4t=1e5,T7;(function(e){e.Disconnected=`Disconnected`,e.Connecting=`Connecting`,e.Connected=`Connected`,e.Disconnecting=`Disconnecting`,e.Reconnecting=`Reconnecting`})(T7||={});var S4t=class e{static create(t,n,r,i,a,o,s){return new e(t,n,r,i,a,o,s)}constructor(e,t,n,r,i,a,o){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(h7.Warning,`The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep`)},_7.isRequired(e,`connection`),_7.isRequired(t,`logger`),_7.isRequired(n,`protocol`),this.serverTimeoutInMilliseconds=i??y4t,this.keepAliveIntervalInMilliseconds=a??b4t,this._statefulReconnectBufferSize=o??x4t,this._logger=t,this._protocol=n,this.connection=e,this._reconnectPolicy=r,this._handshakeProtocol=new h4t,this.connection.onreceive=e=>this._processIncomingData(e),this.connection.onclose=e=>this._connectionClosed(e),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=T7.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:w7.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||``}set baseUrl(e){if(this._connectionState!==T7.Disconnected&&this._connectionState!==T7.Reconnecting)throw Error(`The HubConnection must be in the Disconnected or Reconnecting state to change the url.`);if(!e)throw Error(`The HubConnection url must be a valid url.`);this.connection.baseUrl=e}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}async _startWithStateTransitions(){if(this._connectionState!==T7.Disconnected)return Promise.reject(Error(`Cannot start a HubConnection that is not in the 'Disconnected' state.`));this._connectionState=T7.Connecting,this._logger.log(h7.Debug,`Starting HubConnection.`);try{await this._startInternal(),v7.isBrowser&&window.document.addEventListener(`freeze`,this._freezeEventListener),this._connectionState=T7.Connected,this._connectionStarted=!0,this._logger.log(h7.Debug,`HubConnection connected successfully.`)}catch(e){return this._connectionState=T7.Disconnected,this._logger.log(h7.Debug,`HubConnection failed to start successfully because of error '${e}'.`),Promise.reject(e)}}async _startInternal(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let e=new Promise((e,t)=>{this._handshakeResolver=e,this._handshakeRejecter=t});await this.connection.start(this._protocol.transferFormat);try{let t=this._protocol.version;this.connection.features.reconnect||(t=1);let n={protocol:this._protocol.name,version:t};if(this._logger.log(h7.Debug,`Sending handshake request.`),await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(n)),this._logger.log(h7.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),await e,this._stopDuringStartError)throw this._stopDuringStartError;this.connection.features.reconnect&&(this._messageBuffer=new _4t(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||await this._sendMessage(this._cachedPingMessage)}catch(e){throw this._logger.log(h7.Debug,`Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),await this.connection.stop(e),e}}async stop(){let e=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),await this._stopPromise;try{await e}catch{}}_stopInternal(e){if(this._connectionState===T7.Disconnected)return this._logger.log(h7.Debug,`Call to HubConnection.stop(${e}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===T7.Disconnecting)return this._logger.log(h7.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let t=this._connectionState;return this._connectionState=T7.Disconnecting,this._logger.log(h7.Debug,`Stopping HubConnection.`),this._reconnectDelayHandle?(this._logger.log(h7.Debug,`Connection stopped during reconnect delay. Done reconnecting.`),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(t===T7.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=e||new p7(`The connection was stopped before the hub handshake could complete.`),this.connection.stop(e))}async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage())}catch{}}stream(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createStreamInvocation(e,t,r),a,o=new g4t;return o.cancelCallback=()=>{let e=this._createCancelInvocation(i.invocationId);return delete this._callbacks[i.invocationId],a.then(()=>this._sendWithProtocol(e))},this._callbacks[i.invocationId]=(e,t)=>{if(t){o.error(t);return}else e&&(e.type===w7.Completion?e.error?o.error(Error(e.error)):o.complete():o.next(e.item))},a=this._sendWithProtocol(i).catch(e=>{o.error(e),delete this._callbacks[i.invocationId]}),this._launchStreams(n,a),o}_sendMessage(e){return this._resetKeepAliveInterval(),this.connection.send(e)}_sendWithProtocol(e){return this._messageBuffer?this._messageBuffer._send(e):this._sendMessage(this._protocol.writeMessage(e))}send(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._sendWithProtocol(this._createInvocation(e,t,!0,r));return this._launchStreams(n,i),i}invoke(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createInvocation(e,t,!1,r);return new Promise((e,t)=>{this._callbacks[i.invocationId]=(n,r)=>{if(r){t(r);return}else n&&(n.type===w7.Completion?n.error?t(Error(n.error)):e(n.result):t(Error(`Unexpected message type: ${n.type}`)))};let r=this._sendWithProtocol(i).catch(e=>{t(e),delete this._callbacks[i.invocationId]});this._launchStreams(n,r)})}on(e,t){!e||!t||(e=e.toLowerCase(),this._methods[e]||(this._methods[e]=[]),this._methods[e].indexOf(t)===-1&&this._methods[e].push(t))}off(e,t){if(!e)return;e=e.toLowerCase();let n=this._methods[e];if(n)if(t){let r=n.indexOf(t);r!==-1&&(n.splice(r,1),n.length===0&&delete this._methods[e])}else delete this._methods[e]}onclose(e){e&&this._closedCallbacks.push(e)}onreconnecting(e){e&&this._reconnectingCallbacks.push(e)}onreconnected(e){e&&this._reconnectedCallbacks.push(e)}_processIncomingData(e){if(this._cleanupTimeout(),this._receivedHandshakeResponse||=(e=this._processHandshakeResponse(e),!0),e){let t=this._protocol.parseMessages(e,this._logger);for(let e of t)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(e)))switch(e.type){case w7.Invocation:this._invokeClientMethod(e).catch(e=>{this._logger.log(h7.Error,`Invoke client method threw error: ${l4t(e)}`)});break;case w7.StreamItem:case w7.Completion:{let t=this._callbacks[e.invocationId];if(t){e.type===w7.Completion&&delete this._callbacks[e.invocationId];try{t(e)}catch(e){this._logger.log(h7.Error,`Stream callback threw error: ${l4t(e)}`)}}break}case w7.Ping:break;case w7.Close:{this._logger.log(h7.Information,`Close message received from server.`);let t=e.error?Error(`Server returned an error on close: `+e.error):void 0;e.allowReconnect===!0?this.connection.stop(t):this._stopPromise=this._stopInternal(t);break}case w7.Ack:this._messageBuffer&&this._messageBuffer._ack(e);break;case w7.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(e);break;default:this._logger.log(h7.Warning,`Invalid message type: ${e.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(e){let t,n;try{[n,t]=this._handshakeProtocol.parseHandshakeResponse(e)}catch(e){let t=`Error parsing handshake response: `+e;this._logger.log(h7.Error,t);let n=Error(t);throw this._handshakeRejecter(n),n}if(t.error){let e=`Server returned handshake error: `+t.error;this._logger.log(h7.Error,e);let n=Error(e);throw this._handshakeRejecter(n),n}else this._logger.log(h7.Debug,`Server handshake complete.`);return this._handshakeResolver(),n}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if(!this.connection.features||!this.connection.features.inherentKeepAlive){this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds);let e=this._nextKeepAlive-new Date().getTime();if(e<0){this._connectionState===T7.Connected&&this._trySendPingMessage();return}this._pingServerHandle===void 0&&(e<0&&(e=0),this._pingServerHandle=setTimeout(async()=>{this._connectionState===T7.Connected&&await this._trySendPingMessage()},e))}}serverTimeout(){this.connection.stop(Error(`Server timeout elapsed without receiving a message from the server.`))}async _invokeClientMethod(e){let t=e.target.toLowerCase(),n=this._methods[t];if(!n){this._logger.log(h7.Warning,`No client method with the name '${t}' found.`),e.invocationId&&(this._logger.log(h7.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),await this._sendWithProtocol(this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)));return}let r=n.slice(),i=!!e.invocationId,a,o,s;for(let n of r)try{let r=a;a=await n.apply(this,e.arguments),i&&a&&r&&(this._logger.log(h7.Error,`Multiple results provided for '${t}'. Sending error to server.`),s=this._createCompletionMessage(e.invocationId,`Client provided multiple results.`,null)),o=void 0}catch(e){o=e,this._logger.log(h7.Error,`A callback for the method '${t}' threw error '${e}'.`)}s?await this._sendWithProtocol(s):i?(o?s=this._createCompletionMessage(e.invocationId,`${o}`,null):a===void 0?(this._logger.log(h7.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),s=this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)):s=this._createCompletionMessage(e.invocationId,null,a),await this._sendWithProtocol(s)):a&&this._logger.log(h7.Error,`Result given for '${t}' method but server is not expecting a result.`)}_connectionClosed(e){this._logger.log(h7.Debug,`HubConnection.connectionClosed(${e}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||e||new p7(`The underlying connection was closed before the hub handshake could complete.`),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(e||Error(`Invocation canceled due to the underlying connection being closed.`)),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===T7.Disconnecting?this._completeClose(e):this._connectionState===T7.Connected&&this._reconnectPolicy?this._reconnect(e):this._connectionState===T7.Connected&&this._completeClose(e)}_completeClose(e){if(this._connectionStarted){this._connectionState=T7.Disconnected,this._connectionStarted=!1,this._messageBuffer&&=(this._messageBuffer._dispose(e??Error(`Connection closed.`)),void 0),v7.isBrowser&&window.document.removeEventListener(`freeze`,this._freezeEventListener);try{this._closedCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(h7.Error,`An onclose callback called with error '${e}' threw error '${t}'.`)}}}async _reconnect(e){let t=Date.now(),n=0,r=e===void 0?Error(`Attempting to reconnect due to a unknown error.`):e,i=this._getNextRetryDelay(n,0,r);if(i===null){this._logger.log(h7.Debug,`Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.`),this._completeClose(e);return}if(this._connectionState=T7.Reconnecting,e?this._logger.log(h7.Information,`Connection reconnecting because of error '${e}'.`):this._logger.log(h7.Information,`Connection reconnecting.`),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(h7.Error,`An onreconnecting callback called with error '${e}' threw error '${t}'.`)}if(this._connectionState!==T7.Reconnecting){this._logger.log(h7.Debug,`Connection left the reconnecting state in onreconnecting callback. Done reconnecting.`);return}}for(;i!==null;){if(this._logger.log(h7.Information,`Reconnect attempt number ${n+1} will start in ${i} ms.`),await new Promise(e=>{this._reconnectDelayHandle=setTimeout(e,i)}),this._reconnectDelayHandle=void 0,this._connectionState!==T7.Reconnecting){this._logger.log(h7.Debug,`Connection left the reconnecting state during reconnect delay. Done reconnecting.`);return}try{if(await this._startInternal(),this._connectionState=T7.Connected,this._logger.log(h7.Information,`HubConnection reconnected successfully.`),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(e=>e.apply(this,[this.connection.connectionId]))}catch(e){this._logger.log(h7.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`)}return}catch(e){if(this._logger.log(h7.Information,`Reconnect attempt failed because of error '${e}'.`),this._connectionState!==T7.Reconnecting){this._logger.log(h7.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===T7.Disconnecting&&this._completeClose();return}n++,r=e instanceof Error?e:Error(e.toString()),i=this._getNextRetryDelay(n,Date.now()-t,r)}}this._logger.log(h7.Information,`Reconnect retries have been exhausted after ${Date.now()-t} ms and ${n} failed attempts. Connection disconnecting.`),this._completeClose()}_getNextRetryDelay(e,t,n){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:t,previousRetryCount:e,retryReason:n})}catch(n){return this._logger.log(h7.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${e}, ${t}) threw error '${n}'.`),null}}_cancelCallbacksWithError(e){let t=this._callbacks;this._callbacks={},Object.keys(t).forEach(n=>{let r=t[n];try{r(null,e)}catch(t){this._logger.log(h7.Error,`Stream 'error' callback called with '${e}' threw error: ${l4t(t)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&=(clearTimeout(this._pingServerHandle),void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(e,t,n,r){if(n)return r.length===0?{target:e,arguments:t,type:w7.Invocation}:{target:e,arguments:t,streamIds:r,type:w7.Invocation};{let n=this._invocationId;return this._invocationId++,r.length===0?{target:e,arguments:t,invocationId:n.toString(),type:w7.Invocation}:{target:e,arguments:t,invocationId:n.toString(),streamIds:r,type:w7.Invocation}}}_launchStreams(e,t){if(e.length!==0){t||=Promise.resolve();for(let n in e)e[n].subscribe({complete:()=>{t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n)))},error:e=>{let r;r=e instanceof Error?e.message:e&&e.toString?e.toString():`Unknown error`,t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n,r)))},next:e=>{t=t.then(()=>this._sendWithProtocol(this._createStreamItemMessage(n,e)))}})}}_replaceStreamingParams(e){let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r];if(this._isObservable(i)){let a=this._invocationId;this._invocationId++,t[a]=i,n.push(a.toString()),e.splice(r,1)}}return[t,n]}_isObservable(e){return e&&e.subscribe&&typeof e.subscribe==`function`}_createStreamInvocation(e,t,n){let r=this._invocationId;return this._invocationId++,n.length===0?{target:e,arguments:t,invocationId:r.toString(),type:w7.StreamInvocation}:{target:e,arguments:t,invocationId:r.toString(),streamIds:n,type:w7.StreamInvocation}}_createCancelInvocation(e){return{invocationId:e,type:w7.CancelInvocation}}_createStreamItemMessage(e,t){return{invocationId:e,item:t,type:w7.StreamItem}}_createCompletionMessage(e,t,n){return t?{error:t,invocationId:e,type:w7.Completion}:{invocationId:e,result:n,type:w7.Completion}}_createCloseMessage(){return{type:w7.Close}}async _trySendPingMessage(){try{await this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}}},C4t=[0,2e3,1e4,3e4,null],w4t=class{constructor(e){this._retryDelays=e===void 0?C4t:[...e,null]}nextRetryDelayInMilliseconds(e){return this._retryDelays[e.previousRetryCount]}},E7=class{};E7.Authorization=`Authorization`,E7.Cookie=`Cookie`;var T4t=class extends m7{constructor(e,t){super(),this._innerClient=e,this._accessTokenFactory=t}async send(e){let t=!0;this._accessTokenFactory&&(!this._accessToken||e.url&&e.url.indexOf(`/negotiate?`)>0)&&(t=!1,this._accessToken=await this._accessTokenFactory()),this._setAuthorizationHeader(e);let n=await this._innerClient.send(e);return t&&n.statusCode===401&&this._accessTokenFactory?(this._accessToken=await this._accessTokenFactory(),this._setAuthorizationHeader(e),await this._innerClient.send(e)):n}_setAuthorizationHeader(e){e.headers||={},this._accessToken?e.headers[E7.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&e.headers[E7.Authorization]&&delete e.headers[E7.Authorization]}getCookieString(e){return this._innerClient.getCookieString(e)}},D7;(function(e){e[e.None=0]=`None`,e[e.WebSockets=1]=`WebSockets`,e[e.ServerSentEvents=2]=`ServerSentEvents`,e[e.LongPolling=4]=`LongPolling`})(D7||={});var O7;(function(e){e[e.Text=1]=`Text`,e[e.Binary=2]=`Binary`})(O7||={});var E4t=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}},D4t=class{get pollAborted(){return this._pollAbort.aborted}constructor(e,t,n){this._httpClient=e,this._logger=t,this._pollAbort=new E4t,this._options=n,this._running=!1,this.onreceive=null,this.onclose=null}async connect(e,t){if(_7.isRequired(e,`url`),_7.isRequired(t,`transferFormat`),_7.isIn(t,O7,`transferFormat`),this._url=e,this._logger.log(h7.Trace,`(LongPolling transport) Connecting.`),t===O7.Binary&&typeof XMLHttpRequest<`u`&&typeof new XMLHttpRequest().responseType!=`string`)throw Error(`Binary protocols over XmlHttpRequest not implementing advanced features are not supported.`);let[n,r]=S7(),i={[n]:r,...this._options.headers},a={abortSignal:this._pollAbort.signal,headers:i,timeout:1e5,withCredentials:this._options.withCredentials};t===O7.Binary&&(a.responseType=`arraybuffer`);let o=`${e}&_=${Date.now()}`;this._logger.log(h7.Trace,`(LongPolling transport) polling: ${o}.`);let s=await this._httpClient.get(o,a);s.statusCode===200?this._running=!0:(this._logger.log(h7.Error,`(LongPolling transport) Unexpected response code: ${s.statusCode}.`),this._closeError=new f7(s.statusText||``,s.statusCode),this._running=!1),this._receiving=this._poll(this._url,a)}async _poll(e,t){try{for(;this._running;)try{let n=`${e}&_=${Date.now()}`;this._logger.log(h7.Trace,`(LongPolling transport) polling: ${n}.`);let r=await this._httpClient.get(n,t);r.statusCode===204?(this._logger.log(h7.Information,`(LongPolling transport) Poll terminated by server.`),this._running=!1):r.statusCode===200?r.content?(this._logger.log(h7.Trace,`(LongPolling transport) data received. ${y7(r.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(r.content)):this._logger.log(h7.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._logger.log(h7.Error,`(LongPolling transport) Unexpected response code: ${r.statusCode}.`),this._closeError=new f7(r.statusText||``,r.statusCode),this._running=!1)}catch(e){this._running?e instanceof q2t?this._logger.log(h7.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._closeError=e,this._running=!1):this._logger.log(h7.Trace,`(LongPolling transport) Poll errored after shutdown: ${e.message}`)}}finally{this._logger.log(h7.Trace,`(LongPolling transport) Polling complete.`),this.pollAborted||this._raiseOnClose()}}async send(e){return this._running?n4t(this._logger,`LongPolling`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}async stop(){this._logger.log(h7.Trace,`(LongPolling transport) Stopping polling.`),this._running=!1,this._pollAbort.abort();try{await this._receiving,this._logger.log(h7.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let e={},[t,n]=S7();e[t]=n;let r={headers:{...e,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials},i;try{await this._httpClient.delete(this._url,r)}catch(e){i=e}i?i instanceof f7&&(i.statusCode===404?this._logger.log(h7.Trace,`(LongPolling transport) A 404 response was returned from sending a DELETE request.`):this._logger.log(h7.Trace,`(LongPolling transport) Error sending a DELETE request: ${i}`)):this._logger.log(h7.Trace,`(LongPolling transport) DELETE request accepted.`)}finally{this._logger.log(h7.Trace,`(LongPolling transport) Stop finished.`),this._raiseOnClose()}}_raiseOnClose(){if(this.onclose){let e=`(LongPolling transport) Firing onclose event.`;this._closeError&&(e+=` Error: `+this._closeError),this._logger.log(h7.Trace,e),this.onclose(this._closeError)}}},O4t=class{constructor(e,t,n,r){this._httpClient=e,this._accessToken=t,this._logger=n,this._options=r,this.onreceive=null,this.onclose=null}async connect(e,t){return _7.isRequired(e,`url`),_7.isRequired(t,`transferFormat`),_7.isIn(t,O7,`transferFormat`),this._logger.log(h7.Trace,`(SSE transport) Connecting.`),this._url=e,this._accessToken&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((n,r)=>{let i=!1;if(t!==O7.Text){r(Error(`The Server-Sent Events transport only supports the 'Text' transfer format`));return}let a;if(v7.isBrowser||v7.isWebWorker)a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials});else{let t=this._httpClient.getCookieString(e),n={};n.Cookie=t;let[r,i]=S7();n[r]=i,a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials,headers:{...n,...this._options.headers}})}try{a.onmessage=e=>{if(this.onreceive)try{this._logger.log(h7.Trace,`(SSE transport) data received. ${y7(e.data,this._options.logMessageContent)}.`),this.onreceive(e.data)}catch(e){this._close(e);return}},a.onerror=e=>{i?this._close():r(Error(`EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled.`))},a.onopen=()=>{this._logger.log(h7.Information,`SSE connected to ${this._url}`),this._eventSource=a,i=!0,n()}}catch(e){r(e);return}})}async send(e){return this._eventSource?n4t(this._logger,`SSE`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}stop(){return this._close(),Promise.resolve()}_close(e){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(e))}},k4t=class{constructor(e,t,n,r,i,a){this._logger=n,this._accessTokenFactory=t,this._logMessageContent=r,this._webSocketConstructor=i,this._httpClient=e,this.onreceive=null,this.onclose=null,this._headers=a}async connect(e,t){_7.isRequired(e,`url`),_7.isRequired(t,`transferFormat`),_7.isIn(t,O7,`transferFormat`),this._logger.log(h7.Trace,`(WebSockets transport) Connecting.`);let n;return this._accessTokenFactory&&(n=await this._accessTokenFactory()),new Promise((r,i)=>{e=e.replace(/^http/,`ws`);let a,o=this._httpClient.getCookieString(e),s=!1;if(v7.isNode||v7.isReactNative){let t={},[r,i]=S7();t[r]=i,n&&(t[E7.Authorization]=`Bearer ${n}`),o&&(t[E7.Cookie]=o),a=new this._webSocketConstructor(e,void 0,{headers:{...t,...this._headers}})}else n&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(n)}`);a||=new this._webSocketConstructor(e),t===O7.Binary&&(a.binaryType=`arraybuffer`),a.onopen=t=>{this._logger.log(h7.Information,`WebSocket connected to ${e}.`),this._webSocket=a,s=!0,r()},a.onerror=e=>{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`There was an error with the transport`,this._logger.log(h7.Information,`(WebSockets transport) ${t}.`)},a.onmessage=e=>{if(this._logger.log(h7.Trace,`(WebSockets transport) data received. ${y7(e.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(e.data)}catch(e){this._close(e);return}},a.onclose=e=>{if(s)this._close(e);else{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.`,i(Error(t))}}})}send(e){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(h7.Trace,`(WebSockets transport) sending data. ${y7(e,this._logMessageContent)}.`),this._webSocket.send(e),Promise.resolve()):Promise.reject(`WebSocket is not in the OPEN state`)}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(e){this._webSocket&&=(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),void 0),this._logger.log(h7.Trace,`(WebSockets transport) socket closed.`),this.onclose&&(this._isCloseEvent(e)&&(e.wasClean===!1||e.code!==1e3)?this.onclose(Error(`WebSocket closed with status code: ${e.code} (${e.reason||`no reason given`}).`)):e instanceof Error?this.onclose(e):this.onclose())}_isCloseEvent(e){return e&&typeof e.wasClean==`boolean`&&typeof e.code==`number`}},A4t=100,j4t=class{constructor(e,t={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,_7.isRequired(e,`url`),this._logger=r4t(t.logger),this.baseUrl=this._resolveUrl(e),t||={},t.logMessageContent=t.logMessageContent===void 0?!1:t.logMessageContent,typeof t.withCredentials==`boolean`||t.withCredentials===void 0)t.withCredentials=t.withCredentials===void 0?!0:t.withCredentials;else throw Error(`withCredentials option was not a 'boolean' or 'undefined' value`);t.timeout=t.timeout===void 0?100*1e3:t.timeout;let n=null,r=null;if(v7.isNode&&typeof require<`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;n=e(`ws`),r=e(`eventsource`)}!v7.isNode&&typeof WebSocket<`u`&&!t.WebSocket?t.WebSocket=WebSocket:v7.isNode&&!t.WebSocket&&n&&(t.WebSocket=n),!v7.isNode&&typeof EventSource<`u`&&!t.EventSource?t.EventSource=EventSource:v7.isNode&&!t.EventSource&&r!==void 0&&(t.EventSource=r),this._httpClient=new T4t(t.httpClient||new m4t(this._logger),t.accessTokenFactory),this._connectionState=`Disconnected`,this._connectionStarted=!1,this._options=t,this.onreceive=null,this.onclose=null}async start(e){if(e||=O7.Binary,_7.isIn(e,O7,`transferFormat`),this._logger.log(h7.Debug,`Starting connection with transfer format '${O7[e]}'.`),this._connectionState!==`Disconnected`)return Promise.reject(Error(`Cannot start an HttpConnection that is not in the 'Disconnected' state.`));if(this._connectionState=`Connecting`,this._startInternalPromise=this._startInternal(e),await this._startInternalPromise,this._connectionState===`Disconnecting`){let e=`Failed to start the HttpConnection before stop() was called.`;return this._logger.log(h7.Error,e),await this._stopPromise,Promise.reject(new p7(e))}else if(this._connectionState!==`Connected`){let e=`HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!`;return this._logger.log(h7.Error,e),Promise.reject(new p7(e))}this._connectionStarted=!0}send(e){return this._connectionState===`Connected`?(this._sendQueue||=new N4t(this.transport),this._sendQueue.send(e)):Promise.reject(Error(`Cannot send data if the connection is not in the 'Connected' State.`))}async stop(e){if(this._connectionState===`Disconnected`)return this._logger.log(h7.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState===`Disconnecting`)return this._logger.log(h7.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState=`Disconnecting`,this._stopPromise=new Promise(e=>{this._stopPromiseResolver=e}),await this._stopInternal(e),await this._stopPromise}async _stopInternal(e){this._stopError=e;try{await this._startInternalPromise}catch{}if(this.transport){try{await this.transport.stop()}catch(e){this._logger.log(h7.Error,`HttpConnection.transport.stop() threw error '${e}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(h7.Debug,`HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.`)}async _startInternal(e){let t=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===D7.WebSockets)this.transport=this._constructTransport(D7.WebSockets),await this._startTransport(t,e);else throw Error(`Negotiation can only be skipped when using the WebSocket transport directly.`);else{let n=null,r=0;do{if(n=await this._getNegotiationResponse(t),this._connectionState===`Disconnecting`||this._connectionState===`Disconnected`)throw new p7(`The connection was stopped during negotiation.`);if(n.error)throw Error(n.error);if(n.ProtocolVersion)throw Error(`Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.`);if(n.url&&(t=n.url),n.accessToken){let e=n.accessToken;this._accessTokenFactory=()=>e,this._httpClient._accessToken=e,this._httpClient._accessTokenFactory=void 0}r++}while(n.url&&r<A4t);if(r===A4t&&n.url)throw Error(`Negotiate redirection limit exceeded.`);await this._createTransport(t,this._options.transport,n,e)}this.transport instanceof D4t&&(this.features.inherentKeepAlive=!0),this._connectionState===`Connecting`&&(this._logger.log(h7.Debug,`The HttpConnection connected successfully.`),this._connectionState=`Connected`)}catch(e){return this._logger.log(h7.Error,`Failed to start the connection: `+e),this._connectionState=`Disconnected`,this.transport=void 0,this._stopPromiseResolver(),Promise.reject(e)}}async _getNegotiationResponse(e){let t={},[n,r]=S7();t[n]=r;let i=this._resolveNegotiateUrl(e);this._logger.log(h7.Debug,`Sending negotiation request: ${i}.`);try{let e=await this._httpClient.post(i,{content:``,headers:{...t,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials});if(e.statusCode!==200)return Promise.reject(Error(`Unexpected status code returned from negotiate '${e.statusCode}'`));let n=JSON.parse(e.content);return(!n.negotiateVersion||n.negotiateVersion<1)&&(n.connectionToken=n.connectionId),n.useStatefulReconnect&&this._options._useStatefulReconnect!==!0?Promise.reject(new Z2t(`Client didn't negotiate Stateful Reconnect but the server did.`)):n}catch(e){let t=`Failed to complete negotiation with the server: `+e;return e instanceof f7&&e.statusCode===404&&(t+=` Either this is not a SignalR endpoint or there is a proxy blocking the connection.`),this._logger.log(h7.Error,t),Promise.reject(new Z2t(t))}}_createConnectUrl(e,t){return t?e+(e.indexOf(`?`)===-1?`?`:`&`)+`id=${t}`:e}async _createTransport(e,t,n,r){let i=this._createConnectUrl(e,n.connectionToken);if(this._isITransport(t)){this._logger.log(h7.Debug,`Connection was provided an instance of ITransport, using that directly.`),this.transport=t,await this._startTransport(i,r),this.connectionId=n.connectionId;return}let a=[],o=n.availableTransports||[],s=n;for(let n of o){let o=this._resolveTransportOrError(n,t,r,s?.useStatefulReconnect===!0);if(o instanceof Error)a.push(`${n.transport} failed:`),a.push(o);else if(this._isITransport(o)){if(this.transport=o,!s){try{s=await this._getNegotiationResponse(e)}catch(e){return Promise.reject(e)}i=this._createConnectUrl(e,s.connectionToken)}try{await this._startTransport(i,r),this.connectionId=s.connectionId;return}catch(e){if(this._logger.log(h7.Error,`Failed to start the transport '${n.transport}': ${e}`),s=void 0,a.push(new X2t(`${n.transport} failed: ${e}`,D7[n.transport])),this._connectionState!==`Connecting`){let e=`Failed to select transport before stop() was called.`;return this._logger.log(h7.Debug,e),Promise.reject(new p7(e))}}}}return a.length>0?Promise.reject(new Q2t(`Unable to connect to the server with any of the available transports. ${a.join(` `)}`,a)):Promise.reject(Error(`None of the transports supported by the client are supported by the server.`))}_constructTransport(e){switch(e){case D7.WebSockets:if(!this._options.WebSocket)throw Error(`'WebSocket' is not supported in your environment.`);return new k4t(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case D7.ServerSentEvents:if(!this._options.EventSource)throw Error(`'EventSource' is not supported in your environment.`);return new O4t(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case D7.LongPolling:return new D4t(this._httpClient,this._logger,this._options);default:throw Error(`Unknown transport: ${e}.`)}}_startTransport(e,t){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=async n=>{let r=!1;if(this.features.reconnect)try{this.features.disconnected(),await this.transport.connect(e,t),await this.features.resend()}catch{r=!0}else{this._stopConnection(n);return}r&&this._stopConnection(n)}:this.transport.onclose=e=>this._stopConnection(e),this.transport.connect(e,t)}_resolveTransportOrError(e,t,n,r){let i=D7[e.transport];if(i==null)return this._logger.log(h7.Debug,`Skipping transport '${e.transport}' because it is not supported by this client.`),Error(`Skipping transport '${e.transport}' because it is not supported by this client.`);if(M4t(t,i))if(e.transferFormats.map(e=>O7[e]).indexOf(n)>=0){if(i===D7.WebSockets&&!this._options.WebSocket||i===D7.ServerSentEvents&&!this._options.EventSource)return this._logger.log(h7.Debug,`Skipping transport '${D7[i]}' because it is not supported in your environment.'`),new J2t(`'${D7[i]}' is not supported in your environment.`,i);this._logger.log(h7.Debug,`Selecting transport '${D7[i]}'.`);try{return this.features.reconnect=i===D7.WebSockets?r:void 0,this._constructTransport(i)}catch(e){return e}}else return this._logger.log(h7.Debug,`Skipping transport '${D7[i]}' because it does not support the requested transfer format '${O7[n]}'.`),Error(`'${D7[i]}' does not support ${O7[n]}.`);else return this._logger.log(h7.Debug,`Skipping transport '${D7[i]}' because it was disabled by the client.`),new Y2t(`'${D7[i]}' is disabled by the client.`,i)}_isITransport(e){return e&&typeof e==`object`&&`connect`in e}_stopConnection(e){if(this._logger.log(h7.Debug,`HttpConnection.stopConnection(${e}) called while in state ${this._connectionState}.`),this.transport=void 0,e=this._stopError||e,this._stopError=void 0,this._connectionState===`Disconnected`){this._logger.log(h7.Debug,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState===`Connecting`)throw this._logger.log(h7.Warning,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is still in the connecting state.`),Error(`HttpConnection.stopConnection(${e}) was called while the connection is still in the connecting state.`);if(this._connectionState===`Disconnecting`&&this._stopPromiseResolver(),e?this._logger.log(h7.Error,`Connection disconnected with error '${e}'.`):this._logger.log(h7.Information,`Connection disconnected.`),this._sendQueue&&=(this._sendQueue.stop().catch(e=>{this._logger.log(h7.Error,`TransportSendQueue.stop() threw error '${e}'.`)}),void 0),this.connectionId=void 0,this._connectionState=`Disconnected`,this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(e)}catch(t){this._logger.log(h7.Error,`HttpConnection.onclose(${e}) threw error '${t}'.`)}}}_resolveUrl(e){if(e.lastIndexOf(`https://`,0)===0||e.lastIndexOf(`http://`,0)===0)return e;if(!v7.isBrowser)throw Error(`Cannot resolve '${e}'.`);let t=window.document.createElement(`a`);return t.href=e,this._logger.log(h7.Information,`Normalizing '${e}' to '${t.href}'.`),t.href}_resolveNegotiateUrl(e){let t=new URL(e);t.pathname.endsWith(`/`)?t.pathname+=`negotiate`:t.pathname+=`/negotiate`;let n=new URLSearchParams(t.searchParams);return n.has(`negotiateVersion`)||n.append(`negotiateVersion`,this._negotiateVersion.toString()),n.has(`useStatefulReconnect`)?n.get(`useStatefulReconnect`)===`true`&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&n.append(`useStatefulReconnect`,`true`),t.search=n.toString(),t.toString()}};function M4t(e,t){return!e||(t&e)!==0}var N4t=class e{constructor(e){this._transport=e,this._buffer=[],this._executing=!0,this._sendBufferedData=new k7,this._transportResult=new k7,this._sendLoopPromise=this._sendLoop()}send(e){return this._bufferData(e),this._transportResult||=new k7,this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(e){if(this._buffer.length&&typeof this._buffer[0]!=typeof e)throw Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof e}`);this._buffer.push(e),this._sendBufferedData.resolve()}async _sendLoop(){for(;;){if(await this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject(`Connection stopped.`);break}this._sendBufferedData=new k7;let t=this._transportResult;this._transportResult=void 0;let n=typeof this._buffer[0]==`string`?this._buffer.join(``):e._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(n),t.resolve()}catch(e){t.reject(e)}}}static _concatBuffers(e){let t=e.map(e=>e.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(t),r=0;for(let t of e)n.set(new Uint8Array(t),r),r+=t.byteLength;return n.buffer}},k7=class{constructor(){this.promise=new Promise((e,t)=>[this._resolver,this._rejecter]=[e,t])}resolve(){this._resolver()}reject(e){this._rejecter(e)}},P4t=`json`,F4t=class{constructor(){this.name=P4t,this.version=2,this.transferFormat=O7.Text}parseMessages(e,t){if(typeof e!=`string`)throw Error(`Invalid input for JSON hub protocol. Expected a string.`);if(!e)return[];t===null&&(t=g7.instance);let n=C7.parse(e),r=[];for(let e of n){let n=JSON.parse(e);if(typeof n.type!=`number`)throw Error(`Invalid payload.`);switch(n.type){case w7.Invocation:this._isInvocationMessage(n);break;case w7.StreamItem:this._isStreamItemMessage(n);break;case w7.Completion:this._isCompletionMessage(n);break;case w7.Ping:break;case w7.Close:break;case w7.Ack:this._isAckMessage(n);break;case w7.Sequence:this._isSequenceMessage(n);break;default:t.log(h7.Information,`Unknown message type '`+n.type+`' ignored.`);continue}r.push(n)}return r}writeMessage(e){return C7.write(JSON.stringify(e))}_isInvocationMessage(e){this._assertNotEmptyString(e.target,`Invalid payload for Invocation message.`),e.invocationId!==void 0&&this._assertNotEmptyString(e.invocationId,`Invalid payload for Invocation message.`)}_isStreamItemMessage(e){if(this._assertNotEmptyString(e.invocationId,`Invalid payload for StreamItem message.`),e.item===void 0)throw Error(`Invalid payload for StreamItem message.`)}_isCompletionMessage(e){if(e.result&&e.error)throw Error(`Invalid payload for Completion message.`);!e.result&&e.error&&this._assertNotEmptyString(e.error,`Invalid payload for Completion message.`),this._assertNotEmptyString(e.invocationId,`Invalid payload for Completion message.`)}_isAckMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Ack message.`)}_isSequenceMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Sequence message.`)}_assertNotEmptyString(e,t){if(typeof e!=`string`||e===``)throw Error(t)}},I4t={trace:h7.Trace,debug:h7.Debug,info:h7.Information,information:h7.Information,warn:h7.Warning,warning:h7.Warning,error:h7.Error,critical:h7.Critical,none:h7.None};function L4t(e){let t=I4t[e.toLowerCase()];if(t!==void 0)return t;throw Error(`Unknown log level: ${e}`)}var R4t=class{configureLogging(e){if(_7.isRequired(e,`logging`),z4t(e))this.logger=e;else if(typeof e==`string`){let t=L4t(e);this.logger=new x7(t)}else this.logger=new x7(e);return this}withUrl(e,t){return _7.isRequired(e,`url`),_7.isNotEmpty(e,`url`),this.url=e,typeof t==`object`?this.httpConnectionOptions={...this.httpConnectionOptions,...t}:this.httpConnectionOptions={...this.httpConnectionOptions,transport:t},this}withHubProtocol(e){return _7.isRequired(e,`protocol`),this.protocol=e,this}withAutomaticReconnect(e){if(this.reconnectPolicy)throw Error(`A reconnectPolicy has already been set.`);return e?Array.isArray(e)?this.reconnectPolicy=new w4t(e):this.reconnectPolicy=e:this.reconnectPolicy=new w4t,this}withServerTimeout(e){return _7.isRequired(e,`milliseconds`),this._serverTimeoutInMilliseconds=e,this}withKeepAliveInterval(e){return _7.isRequired(e,`milliseconds`),this._keepAliveIntervalInMilliseconds=e,this}withStatefulReconnect(e){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=e?.bufferSize,this}build(){let e=this.httpConnectionOptions||{};if(e.logger===void 0&&(e.logger=this.logger),!this.url)throw Error(`The 'HubConnectionBuilder.withUrl' method must be called before building the connection.`);let t=new j4t(this.url,e);return S4t.create(t,this.logger||g7.instance,this.protocol||new F4t,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function z4t(e){return e.log!==void 0}var B4t=15e3,V4t=5,H4t=(e,t=Math.random)=>{let n=Math.min(B4t,1e3*2**Math.min(Math.max(e,0),V4t));return Math.round(t()*n)},U4t=class{nextRetryDelayInMilliseconds(e){return H4t(e.previousRetryCount)}},W4t=e=>({log(t,n){t>=h7.Error?e.error(n):t>=h7.Warning?e.warn(n):e.debug(n)}}),G4t=e=>{switch(e){case T7.Connected:return`connected`;case T7.Connecting:return`connecting`;case T7.Reconnecting:return`reconnecting`;case T7.Disconnected:case T7.Disconnecting:return`disconnected`;default:return`disconnected`}},K4t=class{connection;logger;statusHandlers=new Set;starting=null;intentionallyStopped=!0;reconnectTimer=null;reconnectAttempt=0;constructor(e,t){this.logger=t.child(`realtime`),this.connection=new R4t().withUrl(e.url,{accessTokenFactory:()=>e.accessTokenProvider()??``}).withAutomaticReconnect(new U4t).configureLogging(W4t(this.logger)).build(),this.connection.onreconnecting(()=>{this.emitStatus(`reconnecting`)}),this.connection.onreconnected(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}),this.connection.onclose(()=>{this.emitStatus(`disconnected`),this.scheduleReconnect()})}get status(){return G4t(this.connection.state)}async start(){if(this.intentionallyStopped=!1,this.clearReconnectTimer(),this.connection.state===T7.Disconnecting)for(;this.connection.state===T7.Disconnecting;)await new Promise(e=>setTimeout(e,50));if(this.connection.state===T7.Disconnected)return this.starting===null?(this.emitStatus(`connecting`),this.starting=this.connection.start().then(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}).catch(e=>{throw this.emitStatus(`disconnected`),this.logger.warn(`Realtime connection failed to start`),e}).finally(()=>{this.starting=null}),this.starting):this.starting}async stop(){this.intentionallyStopped=!0,this.clearReconnectTimer(),await this.connection.stop(),this.emitStatus(`disconnected`)}on(e,t){let n=e=>{t(e)};return this.connection.on(e,n),()=>{this.connection.off(e,n)}}invoke(e,...t){return this.connection.invoke(e,...t)}onStatusChange(e){return this.statusHandlers.add(e),e(this.status),()=>{this.statusHandlers.delete(e)}}scheduleReconnect(){if(this.intentionallyStopped)return;this.clearReconnectTimer();let e=H4t(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectNow()},e)}async reconnectNow(){if(this.reconnectTimer=null,!(this.intentionallyStopped||this.connection.state!==T7.Disconnected)){if(!this.isOnline()){this.scheduleReconnect();return}this.emitStatus(`reconnecting`);try{await this.connection.start(),this.reconnectAttempt=0,this.emitStatus(`connected`)}catch{this.emitStatus(`disconnected`),this.scheduleReconnect()}}}clearReconnectTimer(){this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}isOnline(){return typeof navigator>`u`?!0:navigator.onLine}emitStatus(e){for(let t of this.statusHandlers)t(e)}},q4t=class{logger;constructor(e){this.logger=e.logger}create(e){return new K4t(e,this.logger)}},J4t=class{status=`disconnected`;async start(){return Promise.resolve()}async stop(){return Promise.resolve()}on(e,t){return()=>{}}async invoke(e,...t){return Promise.reject(Error(`Cannot invoke method on NullRealtimeConnection`))}onStatusChange(e){return()=>{}}};yx(),Uy();var Y4t=`/api/app/sdk-capabilities`,X4t=`/api/app/my-module-access`,Z4t=hx({apiVersion:k(),modules:mx(k())}),Q4t=hx({grantedModules:mx(k()).nullish(),grantedPolicies:mx(k()).nullish(),canManageUserAccess:px().nullish()}),$4t=(e,t)=>{let n=new Set;for(let t of e.modules)z2t(t)&&n.add(d7[t]);return{grantedModules:n,grantedPolicies:new Set(t?.grantedPolicies??[]),canManageUserAccess:t?.canManageUserAccess??!1}},e3t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`sdk-module-access`)}async getModuleAccess(){let e;try{e=await this.httpClient.get(Y4t)}catch(e){return this.logger.error(`Failed to fetch SDK capabilities`,{error:e}),O(new UNe(e))}let t=Z4t.safeParse(e);if(!t.success)return this.logger.error(`Malformed capabilities response`,{error:t.error}),O(new UNe(t.error));let n=null;try{let e=await this.httpClient.get(X4t),t=Q4t.safeParse(e);t.success&&(n=t.data)}catch(e){this.logger.warn(`Could not fetch user module access policies; falling back to capabilities only`,{error:e})}return By($4t(t.data,n))}},t3t=e=>({getModuleAccess:new BNe({moduleAccessGateway:new e3t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger}),gateMode:`fail-closed`}),n3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-conversations`)}async execute(e){let t=await this.chatGateway.listConversations(e);return t.ok||this.logger.warn(`Listing conversations failed`,{code:t.error.code}),t}},r3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation`)}async execute(e){let t=await this.chatGateway.getConversation(e);return t.ok||this.logger.warn(`Fetching conversation failed`,{code:t.error.code}),t}},i3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation-counts`)}async execute(){let e=await this.chatGateway.getConversationCounts();return e.ok||this.logger.warn(`Fetching conversation counts failed`,{code:e.error.code}),e}},a3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-staff`)}async execute(e){let t=await this.chatGateway.listStaff(e);return t.ok||this.logger.warn(`Listing staff failed`,{code:t.error.code}),t}},o3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-group-member-pool`)}async execute(e){let t=await this.chatGateway.getGroupMemberPool(e);return t.ok||this.logger.warn(`Fetching the group member pool failed`,{code:t.error.code}),t}},s3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-viewer`)}async execute(){let e=await this.chatGateway.getViewer();return e.ok||this.logger.warn(`Loading viewer failed`,{code:e.error.code}),e}},c3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages`)}async execute(e){let t=await this.chatGateway.getMessages(e,50);return t.ok||this.logger.warn(`Loading messages failed`,{code:t.error.code}),t}},l3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-since`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesSince(e,t,n);return r.ok||this.logger.warn(`Loading messages since cursor failed`,{code:r.error.code}),r}},u3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-before`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesBefore(e,t,n);return r.ok||this.logger.warn(`Loading messages before cursor failed`,{code:r.error.code}),r}};Uy();var d3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`start-direct`)}async execute(e){let t=e.trim();return t.length===0?(this.logger.warn(`Rejected start-direct with no recipient`),O(new MNe)):this.chatGateway.startDirect(t)}};Uy();var f3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`create-group`)}async execute(e,t){let n=e.trim();return n.length===0?(this.logger.warn(`Rejected group with no title`),O(new ANe)):t.length===0?(this.logger.warn(`Rejected group with no members`),O(new jNe)):this.chatGateway.createGroup(n,t)}};Uy();var p3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-message`)}async execute(e,t,n,r){let i=t.trim();return i.length===0?(this.logger.warn(`Rejected empty message`,{conversationId:e}),O(new ONe)):i.length>4e3?(this.logger.warn(`Rejected oversized message`,{conversationId:e}),O(new kNe(4e3))):this.chatGateway.sendMessage(e,i,n,r)}},m3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-delivered`)}execute(e,t){return this.logger.debug(`Mark delivered`,{conversationId:e,uptoSequence:t}),this.chatGateway.markDelivered(e,t)}},h3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-read`)}execute(e,t){return this.logger.debug(`Mark read`,{conversationId:e,uptoSequence:t}),this.chatGateway.markRead(e,t)}},g3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-favourite`)}async execute(e,t){return this.logger.info(`Set favourite`,{conversationId:e,favourite:t}),this.chatGateway.setFavourite(e,t)}},_3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-archived`)}async execute(e,t){return this.logger.info(`Set archived`,{conversationId:e,archived:t}),this.chatGateway.setArchived(e,t)}},v3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-pinned`)}async execute(e,t){return this.logger.info(`Set pinned`,{conversationId:e,pinned:t}),this.chatGateway.setPinned(e,t)}},y3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-conversation`)}async execute(e){return this.logger.info(`Delete conversation`,{conversationId:e}),this.chatGateway.deleteConversation(e)}},b3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`leave-conversation`)}async execute(e){return this.logger.info(`Leave conversation`,{conversationId:e}),this.chatGateway.leaveConversation(e)}},x3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`refresh-portal`)}async execute(e){return this.logger.info(`Refresh portal data`,{conversationId:e}),this.chatGateway.refreshPortal(e)}};Uy();var S3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`react-to-message`)}async execute(e,t,n){return n.trim().length===0?(this.logger.warn(`Rejected empty reaction`,{conversationId:e,messageId:t}),O(new bS)):this.chatGateway.reactToMessage(e,t,n)}},C3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`save-members`)}async execute(e,t,n){return this.logger.info(`Save members`,{conversationId:e,members:t.length,admins:n.length}),this.chatGateway.saveMembers(e,t,n)}},w3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`edit-message`)}async execute(e,t,n){let r=n.trim(),i=await this.chatGateway.editMessage(e,t,r);return i.ok||this.logger.warn(`Edit message failed`,{code:i.error.code}),i}},T3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message`)}async execute(e,t){let n=await this.chatGateway.deleteMessage(e,t);return n.ok||this.logger.warn(`Delete message failed`,{code:n.error.code}),n}},E3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message-for-me`)}async execute(e,t){let n=await this.chatGateway.deleteMessageForMe(e,t);return n.ok||this.logger.warn(`Delete message for me failed`,{code:n.error.code}),n}},D3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-media-message`)}async execute(e){let t=await this.chatGateway.sendMediaMessage(e);return t.ok||this.logger.warn(`Send media message failed`,{code:t.error.code}),t}},O3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`download-chat-media`)}async execute(e){let t=await this.chatGateway.downloadMedia(e);return t.ok||this.logger.warn(`Downloading media failed`,{code:t.error.code}),t}},k3t=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`subscribe-push`)}async execute(e){let t=await this.chatGateway.subscribePush(e);return t.ok||this.logger.warn(`Subscribe push failed`,{code:t.error.code}),t}},A3t=e=>{let t={chatGateway:new R1t({httpClient:e.httpClient,clock:e.clock,logger:e.logger}),logger:e.logger},n=q1t();return{listConversations:new n3t(t),getConversation:new r3t(t),getConversationCounts:new i3t(t),listStaff:new a3t(t),getGroupMemberPool:new o3t(t),getViewer:new s3t(t),getMessages:new c3t(t),getMessagesSince:new l3t(t),getMessagesBefore:new u3t(t),startDirect:new d3t(t),createGroup:new f3t(t),sendMessage:new p3t(t),sendMediaMessage:new D3t(t),downloadChatMedia:new O3t(t),editMessage:new w3t(t),deleteMessage:new T3t(t),deleteMessageForMe:new E3t(t),subscribePush:new k3t(t),markDelivered:new m3t(t),markRead:new h3t(t),setFavourite:new g3t(t),setArchived:new _3t(t),setPinned:new v3t(t),deleteConversation:new y3t(t),leaveConversation:new b3t(t),refreshPortal:new x3t(t),reactToMessage:new S3t(t),saveMembers:new C3t(t),clock:e.clock,realtime:e.realtime,realtimeStore:ENe(),logger:e.logger.child(`chat-realtime`),outbox:n}},j3t=({module:e,children:t})=>(0,D.jsx)(QNe.Provider,{value:e,children:(0,D.jsx)(DNe.Provider,{value:e.realtimeStore,children:t})}),M3t=e=>e.connection.on(c7.MessageReceived,t=>{let n=n0t(t,c7.MessageReceived,e.logger);if(n===null)return;let r=e.viewerId()??``,i=g0t(Z5(n),r);if(e.queryClient.setQueryData(MS(n.conversationId),e=>V5(e??[],i)),kS(e.queryClient),i.kind===`system`){if(i.text.endsWith(` left the group`)){let t=i.text.slice(0,-15).trim().toLowerCase();jS(e.queryClient,n.conversationId,e=>{let n=e.members.find(e=>e.name.toLowerCase()===t);return n===void 0?e:e.with({members:e.members.filter(e=>e.id!==n.id),adminIds:e.adminIds.filter(e=>e!==n.id)})})}e.queryClient.refetchQueries({queryKey:OS(n.conversationId)})}}),N3t=(e,t,n)=>e.connection.on(t,r=>{let i=r0t(r,t,e.logger);i===null||i.byUserId===e.viewerId()||e.store.getState().applyReceipt(i.conversationId,i.byUserId,n,i.uptoSequence)}),P3t=e=>e.connection.on(c7.Typing,t=>{let n=i0t(t,c7.Typing,e.logger);n===null||n.userId===e.viewerId()||e.store.getState().applyTyping(n.conversationId,n.userId,n.isTyping,Date.now())}),F3t=e=>e.connection.on(c7.ReactionToggled,t=>{let n=s0t(t,c7.ReactionToggled,e.logger),r=e.viewerId();n===null||n.byUserId===r||e.queryClient.setQueryData(MS(n.conversationId),e=>e?.map(e=>e.id===n.messageId?lPe(e,n,r??``):e))}),I3t=e=>e.connection.on(c7.MessageEdited,t=>{let n=n0t(t,c7.MessageEdited,e.logger);if(n===null)return;let r=e.viewerId()??``,i=g0t(Z5(n),r);e.queryClient.setQueryData(MS(n.conversationId),e=>e?.map(e=>e.id===i.id?i:e)??[i])}),L3t=e=>e.connection.on(c7.MessageDeleted,t=>{let n=c0t(t,c7.MessageDeleted,e.logger);n!==null&&(e.queryClient.setQueryData(MS(n.conversationId),e=>e?.map(e=>e.id===n.messageId?e.asDeletedForEveryone():e)??[]),kS(e.queryClient))}),R3t=e=>e.connection.on(c7.RemovedFromConversation,t=>{let n=l0t(t,c7.RemovedFromConversation,e.logger);n!==null&&e.store.getState().markRemovedFromConversation(n.conversationId)}),z3t=e=>e.connection.on(c7.PresenceChanged,t=>{let n=a0t(t,c7.PresenceChanged,e.logger);n!==null&&e.store.getState().applyPresence(n.userId,n.online,n.lastSeenUtc)}),B3t=e=>e.connection.on(c7.StatusChanged,t=>{let n=o0t(t,c7.StatusChanged,e.logger);n!==null&&ALe(n.userId,WS(n.status),n.untilUtc??null)}),V3t=e=>{let t=[M3t(e),I3t(e),L3t(e),N3t(e,c7.MessageDelivered,`delivered`),N3t(e,c7.MessageRead,`read`),P3t(e),z3t(e),B3t(e),F3t(e),R3t(e)];return()=>{for(let e of t)e()}};tS(),Uy();var H3t=(e,t,n)=>{n.length!==0&&e.setQueryData(MS(t),e=>n.reduce((e,t)=>V5(e,t),e??[]))},U3t=async(e,t,n,r)=>{let i=e.getState().activeConversationId;if(i===null){AS(t);return}let a=LXt(t.getQueryData(MS(i))??[]);try{H3t(t,i,await Hy(n.execute(i,a,50)))}catch{r.warn(`Reconnect sync failed; conversation list will still refresh`)}AS(t)},W3t=()=>{let{realtime:e,getMessagesSince:t,logger:n}=TS(),r=_S(),i=Xx();(0,E.useEffect)(()=>{let a=e.status;return e.onStatusChange(e=>{e===`connected`&&a!==`connected`&&U3t(r,i,t,n),a=e})},[e,r,i,t,n])};tS();var G3t=()=>{let{isAuthenticated:e}=eC(),{realtime:t,logger:n}=TS(),r=_S(),i=Xx(),a=NS();W3t();let o=(0,E.useRef)(null);o.current=a.data?.id??null,(0,E.useEffect)(()=>t.onStatusChange(e=>{r.getState().setStatus(e)}),[t,r]),(0,E.useEffect)(()=>V3t({connection:t,store:r,queryClient:i,viewerId:()=>o.current,logger:n}),[t,r,i,n]),(0,E.useEffect)(()=>{if(!e){t.stop(),r.getState().clear(),MLe();return}return t.start().catch(()=>{}),()=>{t.stop()}},[e,t,r])},K3t=({children:e})=>(G3t(),(0,D.jsx)(D.Fragment,{children:e})),q3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`get-post`)}async execute(e){let t=await this.feedGateway.getPost(e);return t.ok||this.logger.warn(`Fetching post by id failed`,{code:t.error.code}),t}},J3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`list-feed`)}async execute(e){let t=await this.feedGateway.listPosts(e.scope,e.skipCount,e.maxResultCount);return t.ok||this.logger.warn(`Listing feed failed`,{code:t.error.code,scope:e.scope}),t}};_o();var Y3t=class extends ho{},A7=class extends Y3t{code=`FEED_UNAVAILABLE`;constructor(e){super(`The news feed is currently unavailable. Please try again.`,{cause:e})}},X3t=class extends Y3t{code=`FEED_EMPTY_POST`;constructor(){super(`Write something before posting.`)}},Z3t=class{id;authorUserId;authorName;authorInitials;authorColor;authorRole;categoryLabel;categoryColor;audienceLabel;timestamp;createdAt;pinned;mustAcknowledge;acknowledged;title;body;reactions;myReaction;commentCount;comments;seenCount;bookmarked;taggedUserIds;locationLabel;imageUrls;department;audienceId;feelingId;feelingLabel;feelingEmoji;scheduledAt;isRecurring;recurrenceFrequency;constructor(e){this.id=e.id,this.authorUserId=e.authorUserId,this.authorName=e.authorName,this.authorInitials=e.authorInitials,this.authorColor=e.authorColor,this.authorRole=e.authorRole,this.categoryLabel=e.categoryLabel,this.categoryColor=e.categoryColor,this.audienceLabel=e.audienceLabel,this.timestamp=e.timestamp,this.createdAt=e.createdAt,this.pinned=e.pinned,this.mustAcknowledge=e.mustAcknowledge,this.acknowledged=e.acknowledged,this.title=e.title,this.body=e.body,this.reactions=e.reactions,this.myReaction=e.myReaction,this.commentCount=e.commentCount,this.comments=e.comments,this.seenCount=e.seenCount,this.bookmarked=e.bookmarked,this.taggedUserIds=e.taggedUserIds,this.locationLabel=e.locationLabel,this.imageUrls=e.imageUrls,this.department=e.department,this.audienceId=e.audienceId,this.feelingId=e.feelingId,this.feelingLabel=e.feelingLabel,this.feelingEmoji=e.feelingEmoji,this.scheduledAt=e.scheduledAt??null,this.isRecurring=e.isRecurring??!1,this.recurrenceFrequency=e.recurrenceFrequency??null}get totalReactions(){return this.reactions.like+this.reactions.insightful+this.reactions.celebrate}get needsAcknowledgement(){return this.mustAcknowledge&&!this.acknowledged}};Uy();var Q3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`create-post`)}async execute(e){return e.body.trim().length===0?(this.logger.warn(`Rejected empty post`),O(new X3t)):this.feedGateway.createPost({...e,body:e.body.trim()})}};Uy();var $3t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`update-post`)}async execute(e,t){return t.body.trim().length===0?(this.logger.warn(`Rejected empty body for post update`),O(new X3t)):this.feedGateway.updatePost(e,{...t,body:t.body.trim()})}},e6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`delete-post`)}async execute(e){let t=await this.feedGateway.deletePost(e);return t.ok||this.logger.warn(`Deleting post failed`,{code:t.error.code}),t}},t6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`react-to-post`)}async execute(e,t){let n=await this.feedGateway.react(e,t);return n.ok||this.logger.warn(`Reacting to post failed`,{code:n.error.code}),n}},n6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`toggle-bookmark`)}async execute(e){let t=await this.feedGateway.toggleBookmark(e);return t.ok||this.logger.warn(`Bookmarking post failed`,{code:t.error.code}),t}},r6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`acknowledge-post`)}async execute(e){let t=await this.feedGateway.acknowledge(e);return t.ok||this.logger.warn(`Acknowledging post failed`,{code:t.error.code}),t}};Uy();var i6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`add-comment`)}async execute({postId:e,text:t}){if(t.trim().length===0)return this.logger.warn(`Rejected empty comment`,{postId:e}),O(new A7);let n=await this.feedGateway.addComment(e,t.trim());return n.ok||this.logger.warn(`Adding comment failed`,{code:n.error.code}),n}};Uy();var a6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listCategories()}};Uy();var o6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listAudiences()}};Uy();var s6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listFeelings()}};Uy();var c6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.searchUsers(e)}};Uy();var l6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.detectLocation()}},u6t=class{gateway;logger;constructor(e){this.gateway=e.feedGateway,this.logger=e.logger.child(`upload-feed-image-use-case`)}async execute(e){return this.logger.debug(`Uploading feed image`),this.gateway.uploadImage(e)}},d6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`mark-seen`)}async execute(e){let t=await this.feedGateway.markSeen(e);return t.ok||this.logger.warn(`Marking post as seen failed`,{code:t.error.code}),t}},f6t=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`set-post-pinned`)}async execute(e,t){let n=await this.feedGateway.setPinned(e,t);return n.ok||this.logger.warn(`Pinning post failed`,{code:n.error.code,pinned:t}),n}};Uy();var p6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.getNotifications()}};Uy();var m6t=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.markNotificationAsRead(e)}};Uy();function h6t(e){return e.replace(/\s+(division|province|district|state|region)$/i,``).trim()}function g6t(e){let t=h6t(e.regionName??e.region??``),n=t.length>0?t:(e.cityName??e.city??``).trim(),r=(e.countryName??e.country_name??``).trim();return n.length>0&&r.length>0?`${n}, ${r}`:r.length>0?r:null}function _6t(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e){let t=e.split(`/`),n=t[t.length-1];if(n)return n.replace(/_/g,` `)}}catch{}return`London Office`}async function v6t(e){try{let t=await fetch(`/ip-geolocation`);if(t.ok){let e=g6t(await t.json());if(e!==null)return By(e)}e.warn(`Proxy location fetch returned unexpected response, falling back to local timezone`)}catch(t){e.warn(`Failed to fetch location via dev proxy, falling back to local timezone`,{error:t})}return By(_6t())}yx();var y6t=hx({type:fx(),count:fx(),reacted:px()}),b6t=hx({id:k(),authorUserId:k(),authorName:k(),authorInitials:k(),authorColor:k(),text:k(),createdAt:k(),time:k()}),x6t=hx({id:k(),authorUserId:k(),authorName:k(),authorInitials:k(),authorColor:k(),authorRole:k(),department:k().nullable().optional(),categoryLabel:k(),categoryColor:k(),audienceLabel:k(),createdAt:k(),timestamp:k(),pinned:px(),mustAcknowledge:px(),acknowledged:px(),title:k().nullable(),body:k(),reactions:mx(y6t),myReaction:fx().nullable().optional(),commentCount:fx(),comments:mx(b6t),seenCount:fx(),bookmarked:px(),audienceId:k(),taggedUserIds:mx(k()).optional(),scheduledAt:k().nullable().optional(),isRecurring:px().optional(),recurrenceFrequency:k().nullable().optional(),nextOccurrenceTime:k().nullable().optional(),feelingId:k().nullable().optional(),feelingLabel:k().nullable().optional(),feelingEmoji:k().nullable().optional(),locationLabel:k().nullable().optional(),imageUrls:mx(k()).optional()}).passthrough();mx(x6t);var S6t=hx({totalCount:fx(),items:mx(x6t)}),C6t=hx({id:k(),name:k(),email:k(),userName:k(),role:k(),initials:k(),color:k()}),w6t=mx(C6t),T6t=hx({id:k(),key:k().optional(),label:k(),color:k(),templateIds:mx(k()).optional(),dataTemplateIds:mx(k()).optional(),webhookId:k().nullable().optional()}),E6t=mx(T6t),D6t=hx({key:k(),label:k()}),O6t=mx(D6t),k6t=hx({id:k(),label:k(),emoji:k()}),A6t=mx(k6t),j6t=e=>e===1?`insightful`:e===2?`celebrate`:`like`,M6t=e=>{let t={like:0,insightful:0,celebrate:0};for(let n of e){let e=j6t(n.type);t[e]=n.count}return t},N6t=e=>({id:e.id,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,createdAt:e.createdAt}),P6t=e=>e==null?null:j6t(e),F6t=e=>({department:e.department??null,feelingId:e.feelingId??null,feelingLabel:e.feelingLabel??null,feelingEmoji:e.feelingEmoji??null,locationLabel:e.locationLabel??null}),I6t=e=>{let t=F6t(e);return new Z3t({id:e.id,authorUserId:e.authorUserId,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,authorRole:e.authorRole,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,audienceLabel:e.audienceLabel,createdAt:e.createdAt,timestamp:e.timestamp,pinned:e.pinned,mustAcknowledge:e.mustAcknowledge,acknowledged:e.acknowledged,title:e.title,body:e.body,reactions:M6t(e.reactions),myReaction:P6t(e.myReaction),commentCount:e.commentCount,comments:e.comments.map(N6t),seenCount:e.seenCount,bookmarked:e.bookmarked,taggedUserIds:e.taggedUserIds??[],imageUrls:e.imageUrls??[],audienceId:e.audienceId,scheduledAt:e.scheduledAt??null,isRecurring:e.isRecurring??!1,recurrenceFrequency:e.recurrenceFrequency??null,...t})},L6t=e=>({id:e.key??e.id,label:e.label,color:e.color,categoryKey:e.key??e.id,templateIds:e.templateIds??[],dataTemplateIds:e.dataTemplateIds??[],webhookId:e.webhookId??void 0}),R6t=e=>({id:e.key,label:e.label}),z6t=e=>({id:e.id,label:e.label,emoji:e.emoji});Uy();var j7=(e,t,n)=>(e.error(`Feed ${t} returned an unexpected shape`,n),O(new A7(n))),M7=(e,t)=>(e.error(`Feed request failed`,t),new A7(t)),B6t=(e,t,n)=>{let r=S6t.safeParse(n);return r.success?By({totalCount:r.data.totalCount,items:r.data.items.map(I6t)}):j7(e,t,r.error)},N7=(e,t,n)=>{let r=x6t.safeParse(n);return r.success?By(I6t(r.data)):j7(e,t,r.error)},V6t=(e,t,n)=>{let r=E6t.safeParse(n);return r.success?By(r.data.map(L6t)):j7(e,t,r.error)},H6t=(e,t,n)=>{let r=O6t.safeParse(n);return r.success?By(r.data.map(R6t)):j7(e,t,r.error)},U6t=(e,t,n)=>{let r=A6t.safeParse(n);return r.success?By(r.data.map(z6t)):j7(e,t,r.error)},W6t=(e,t,n)=>{let r=w6t.safeParse(n);return r.success?By(r.data):j7(e,t,r.error)};yx();var G6t=hx({id:k(),userId:k(),kind:vx([`meeting`,`group`,`feed`,`member`]),actorName:k(),initials:k(),color:k(),message:k(),detail:k().nullable().optional(),postId:k().nullable().optional(),isRead:px(),creationTime:k()}),K6t=mx(G6t);lb(),Uy();var q6t={for_you:0,team:1,company:2,saved:3},J6t={like:0,insightful:1,celebrate:2},Y6t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-feed-gateway`)}async listPosts(e,t,n){try{let r=q6t[e],i=await this.httpClient.get(`/api/app/feed/posts`,{query:{scope:r,...t!==void 0&&{skipCount:t},...n!==void 0&&{maxResultCount:n}}});return B6t(this.logger,`listPosts`,i)}catch(e){return O(M7(this.logger,e))}}async getPost(e){try{let t=await this.httpClient.get(`/api/app/feed/post/${e}`);return N7(this.logger,`getPost`,t)}catch(e){return O(M7(this.logger,e))}}async createPost(e){try{let t=await this.httpClient.post(`/api/app/feed/post`,e);return N7(this.logger,`createPost`,t)}catch(e){return O(M7(this.logger,e))}}async updatePost(e,t){try{let n=await this.httpClient.put(`/api/app/feed/post/${e}`,t);return N7(this.logger,`updatePost`,n)}catch(e){return O(M7(this.logger,e))}}async deletePost(e){try{return await this.httpClient.delete(`/api/app/feed/post/${e}`),By(void 0)}catch(e){return O(M7(this.logger,e))}}async react(e,t){try{let n=await this.httpClient.post(`/api/app/feed/react-to-post/${e}`,{type:J6t[t]});return N7(this.logger,`react`,n)}catch(e){return O(M7(this.logger,e))}}async toggleBookmark(e){try{let t=await this.httpClient.post(`/api/app/feed/toggle-bookmark/${e}`,void 0);return N7(this.logger,`toggleBookmark`,t)}catch(e){return O(M7(this.logger,e))}}async setPinned(e,t){try{let n=await this.httpClient.post(`/api/app/feed/set-pinned/${e}`,{pinned:t});return N7(this.logger,`setPinned`,n)}catch(e){return O(M7(this.logger,e))}}async acknowledge(e){try{let t=await this.httpClient.post(`/api/app/feed/acknowledge/${e}`,void 0);return N7(this.logger,`acknowledge`,t)}catch(e){return O(M7(this.logger,e))}}async markSeen(e){try{let t=await this.httpClient.post(`/api/app/feed/mark-seen/${e}`,void 0);return N7(this.logger,`markSeen`,t)}catch(e){return O(M7(this.logger,e))}}async addComment(e,t){try{let n=await this.httpClient.post(`/api/app/feed/comment/${e}`,{text:t});return N7(this.logger,`addComment`,n)}catch(e){return O(M7(this.logger,e))}}async listCategories(){try{let e=await this.httpClient.get(`/api/app/feed/feed-categories`);return V6t(this.logger,`listCategories`,e)}catch(e){return O(M7(this.logger,e))}}async listAudiences(){try{let e=await this.httpClient.get(`/api/app/feed/feed-audiences`);return H6t(this.logger,`listAudiences`,e)}catch(e){return O(M7(this.logger,e))}}async listFeelings(){try{let e=await this.httpClient.get(`/api/app/feed/feed-feelings`);return U6t(this.logger,`listFeelings`,e)}catch(e){return O(M7(this.logger,e))}}async searchUsers(e){try{let t=await this.httpClient.get(`/api/app/feed/search-users`,{query:{filter:e}});return W6t(this.logger,`searchUsers`,t)}catch(e){return O(M7(this.logger,e))}}async detectLocation(){return v6t(this.logger)}async uploadImage(e){try{let t=new FormData;t.append(`file`,e);let n=await this.httpClient.post(`/api/app/file/upload?category=FeedPost`,t);return typeof n==`object`&&n&&`id`in n&&typeof n.id==`string`?By(n.id):O(new A7(`Invalid response shape`))}catch(e){return O(M7(this.logger,e))}}async getNotifications(){try{let e=await this.httpClient.get(`/api/app/notification`);return By(K6t.parse(e).map(e=>({id:e.id,kind:e.kind,initials:e.initials,color:e.color,actor:e.actorName,message:e.message,creationTime:e.creationTime,...e.detail!==null&&e.detail!==void 0?{detail:e.detail}:{},...e.postId!==null&&e.postId!==void 0?{postId:e.postId}:{}})))}catch(e){return O(M7(this.logger,e))}}async markNotificationAsRead(e){try{return await this.httpClient.post(`/api/app/notification/${e}/mark-as-read`,void 0),By(void 0)}catch(e){return O(M7(this.logger,e))}}async deleteNotification(e){try{return await this.httpClient.delete(`/api/app/notification/${e}`),By(void 0)}catch(e){return O(M7(this.logger,e))}}},X6t=e=>{let t={feedGateway:new Y6t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listFeed:new J3t(t),getPost:new q3t(t),createPost:new Q3t(t),updatePost:new $3t(t),deletePost:new e6t(t),reactToPost:new t6t(t),toggleBookmark:new n6t(t),acknowledgePost:new r6t(t),addComment:new i6t(t),listFeedCategories:new a6t(t),listFeedAudiences:new o6t(t),listFeedFeelings:new s6t(t),searchFeedUsers:new c6t(t),detectLocation:new l6t(t),uploadFeedImage:new u6t(t),setPostPinned:new f6t(t),markSeen:new d6t(t),getNotifications:new p6t(t),markNotificationRead:new m6t(t),notificationRealtime:e.notificationRealtime,logger:e.logger}},Z6t=(0,E.createContext)(null),Q6t=({module:e,children:t})=>(0,D.jsx)(Z6t.Provider,{value:e,children:t}),P7=()=>{let e=(0,E.useContext)(Z6t);if(e===null)throw Error(`Feed hooks must be used within <FeedModuleProvider>.`);return e};tS(),Uy();var $6t=e=>[`feed`,e],e8t=e=>{e.invalidateQueries({queryKey:[`feed`]})},F7=(e,t)=>{e.setQueriesData({queryKey:[`feed`]},e=>e&&{...e,pages:e.pages.map(e=>({...e,items:e.items.map(e=>e.id===t.id?t:e)}))}),e.setQueryData([`feed-post`,t.id],t)},t8t=e=>{let{listFeed:t}=P7();return zMe({queryKey:$6t(e),queryFn:({pageParam:n})=>Hy(t.execute({scope:e,skipCount:n,maxResultCount:10})),initialPageParam:0,getNextPageParam:(e,t)=>{let n=t.reduce((e,t)=>e+t.items.length,0);if(!(n>=e.totalCount))return n}})},n8t=()=>{let{createPost:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:()=>{e8t(t)}})},r8t=()=>{let{updatePost:e}=P7(),t=Xx();return $x({mutationFn:({postId:t,input:n})=>Hy(e.execute(t,n)),onSuccess:e=>{F7(t,e)}})},i8t=()=>{let{deletePost:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:()=>{e8t(t)}})},a8t=()=>{let{reactToPost:e}=P7(),t=Xx();return $x({mutationFn:({postId:t,type:n})=>Hy(e.execute(t,n)),onSuccess:e=>{F7(t,e)}})},o8t=()=>{let{toggleBookmark:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e),t.invalidateQueries({queryKey:$6t(`saved`)})}})},s8t=()=>{let{acknowledgePost:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e)}})},c8t=()=>{let{markSeen:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e)}})},l8t=()=>{let{addComment:e}=P7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{F7(t,e)}})},u8t=()=>{let{setPostPinned:e}=P7(),t=Xx();return $x({mutationFn:({postId:t,pinned:n})=>Hy(e.execute(t,n)),onSuccess:e=>{F7(t,e)}})},I7=()=>{let{listFeedCategories:e}=P7();return Qx({queryKey:[`feed-categories`],queryFn:()=>Hy(e.execute())})},d8t=()=>{let{listFeedAudiences:e}=P7();return Qx({queryKey:[`feed-audiences`],queryFn:()=>Hy(e.execute())})},f8t=()=>{let{listFeedFeelings:e}=P7();return Qx({queryKey:[`feed-feelings`],queryFn:()=>Hy(e.execute())})},p8t=e=>{let{searchFeedUsers:t}=P7();return Qx({queryKey:[`feed-search-users`,e],queryFn:()=>Hy(t.execute(e)),enabled:e.trim().length>0})},m8t=()=>{let{uploadFeedImage:e}=P7();return $x({mutationFn:t=>Hy(e.execute(t))})},h8t=e=>{let{getPost:t}=P7();return Qx({queryKey:[`feed-post`,e],queryFn:()=>Hy(t.execute(e??``)),enabled:e!==null})},g8t=e=>{let{data:t=[]}=I7(),n=t.find(t=>t.id===e.department);return{categoryLabel:n?.label??e.categoryLabel,categoryColor:n?.color??e.categoryColor}};mS();var _8t=e=>{if(e.length===0)return[];let t=e[0]?.fullName??e[0]?.name??``;if(e.length===1)return[{text:`with `,bold:!1},{text:t,bold:!0}];let n=e[1]?.fullName??e[1]?.name??``;return e.length===2?[{text:`with `,bold:!1},{text:t,bold:!0},{text:` and `,bold:!1},{text:n,bold:!0}]:[{text:`with `,bold:!1},{text:t,bold:!0},{text:`, `,bold:!1},{text:n,bold:!0},{text:` and `,bold:!1},{text:`${String(e.length-2)} others`,bold:!0}]},L7=e=>{let t=e;return/^\d{4}-\d{2}-\d{2}T/.test(e)&&!e.endsWith(`Z`)&&!/[+-]\d{2}:?\d{2}$/.test(e)&&(t=`${e}Z`),new Date(t)},R7=e=>{let t=String(e.minute).padStart(2,`0`),n=e.hour>=12?`PM`:`AM`,r=e.hour%12;return`${String(r===0?12:r)}:${t} ${n}`},v8t=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],y8t=(e,t)=>e.year===t.year&&e.month===t.month&&e.day===t.day,b8t=(e,t,n)=>{let r=n.getTime()-t.getTime();if(r<0){let t=new Date(e);if(!Number.isNaN(t.getTime())){let e=n.getTime()-t.getTime();if(e>=0)return e}}return r},x8t=(e,t,n)=>{let r=L7(e);if(Number.isNaN(r.getTime()))return null;let i=r.getTime()-t.getTime();if(i<=0)return null;let a=60*1e3,o=60*a,s=24*o;if(i<a)return`Publishes shortly`;if(i<o){let e=Math.floor(i/a);return`Publishes in ${String(e)}m`}if(i<s){let e=Math.floor(i/o);return`Publishes in ${String(e)} ${e===1?`hour`:`hours`}`}let c=uS(r,n);return y8t(c,uS(new Date(t.getTime()+s),n))?`Scheduled for tomorrow at ${R7(c)}`:`Scheduled for ${v8t[c.month-1]??``} ${String(c.day)} at ${R7(c)}`},S8t=(e,t,n)=>t&&L7(t).getTime()<=n.getTime()?t:e,C8t=(e,t,n,r)=>{let i=60*1e3,a=60*i,o=24*a;if(e<i)return`now`;if(e<a)return`${String(Math.floor(e/i))}m ago`;if(e<o){let t=Math.floor(e/a);return`${String(t)} ${t===1?`hour`:`hours`} ago`}let s=uS(t,n);return y8t(s,uS(new Date(r.getTime()-o),n))?`Yesterday at ${R7(s)}`:`${v8t[s.month-1]??``} ${String(s.day)} at ${R7(s)}`},w8t=(e,t,n=null,r=new Date)=>{if(n&&L7(n).getTime()>r.getTime()){let e=x8t(n,r,t);if(e!==null)return e}let i=S8t(e,n,r),a=L7(i);return Number.isNaN(a.getTime())?`now`:C8t(b8t(i,a,r),a,t,r)},T8t=e=>{let t=document.getElementById(e);if(t!==null)return t;let n=document.querySelectorAll(`uapp-feed, uapp-chat, uapp-bookings, uapp-schedule, .commhub-widget-root`);for(let t of n){let n=t.shadowRoot?.getElementById(e)??null;if(n!==null)return n}return null},E8t=(e,t)=>{let n=T8t(t);if(n!==null)return n;let r=e.parentElement;for(;r!==null;){let e=window.getComputedStyle(r).overflowY;if((e===`auto`||e===`scroll`)&&r.scrollHeight>r.clientHeight)return r;r=r.parentElement}return null},D8t=(e,t,n)=>{let r=T8t(e);if(r===null)return;let i=E8t(r,t);if(i!==null){let e=i.getBoundingClientRect(),t=r.getBoundingClientRect(),a=t.top-e.top,o=i.scrollTop+a;n===`center`&&(o=o-e.height/2+t.height/2),i.scrollTo({top:o,behavior:`smooth`})}else typeof r.scrollIntoView==`function`&&r.scrollIntoView({behavior:`smooth`,block:n===`center`?`center`:`start`})},O8t=(e,t=1600,n=1600,r=.8)=>new Promise(i=>{if(!e.type.startsWith(`image/`)){i(e);return}let a=new Image;a.src=URL.createObjectURL(e),a.onload=()=>{URL.revokeObjectURL(a.src);let o=a.width,s=a.height;if(o>t||s>n){let e=Math.min(t/o,n/s);o=Math.round(o*e),s=Math.round(s*e)}let c=document.createElement(`canvas`);c.width=o,c.height=s;let l=c.getContext(`2d`);if(!l){i(e);return}l.drawImage(a,0,0,o,s),c.toBlob(t=>{if(!t){i(e);return}i(new File([t],e.name.replace(/\.[^/.]+$/,``)+`.jpg`,{type:`image/jpeg`,lastModified:Date.now()}))},`image/jpeg`,r)},a.onerror=()=>{i(e)}});yx();var k8t={ReceiveNotification:`ReceiveNotification`},A8t=hx({id:k(),kind:vx([`meeting`,`group`,`feed`,`member`]),initials:k(),color:k(),actor:k(),time:k(),message:k().nullable().optional(),detail:k().nullable().optional(),postId:k().nullable().optional()}),j8t,M8t=s((()=>{j8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-contacts`)}async execute(e){let t=await this.meetingGateway.listContacts(e);return t.ok||this.logger.warn(`Listing booking contacts failed`,{code:t.error.code}),t}}})),N8t,P8t=s((()=>{N8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-available-slots`)}async execute(e){let t=await this.meetingGateway.getAvailableSlots(e);return t.ok||this.logger.warn(`Listing available slots failed`,{code:t.error.code}),t}}})),F8t,I8t=s((()=>{F8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-attendee-availability`)}async execute(e){let t=await this.meetingGateway.listAttendeeAvailability(e);return t.ok||this.logger.warn(`Listing attendee availability failed`,{code:t.error.code}),t}}})),L8t,R8t=s((()=>{L8t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`list-meetings`)}async execute(){let e=await this.meetingGateway.listMeetings();return e.ok||this.logger.warn(`Listing meetings failed`,{code:e.error.code}),e}}})),z7,z8t,B8t,V8t,H8t=s((()=>{_o(),z7=class extends ho{},z8t=class extends z7{code=`MEETINGS_UNAVAILABLE`;constructor(e){super(`Meetings are currently unavailable. Please try again.`,{cause:e})}},B8t=class extends z7{code=`MEETINGS_INCOMPLETE_BOOKING`;constructor(){super(`Pick a person, a date, and a time slot to book a meeting.`)}},V8t=class extends z7{code=`MEETINGS_SLOT_UNAVAILABLE`;constructor(e,t){super(typeof e==`string`&&e.trim().length>0?e:`That time can no longer be booked — please pick another time.`,{cause:t})}}})),U8t,W8t=s((()=>{U8t=class{id;title;withName;withInitials;withColor;dateLabel;startUtc;endUtc;location;isOrganizer;myStatus;bucket;isGroup;attendeeIds;participants;description;awaitingResponse;constructor(e){this.id=e.id,this.title=e.title,this.withName=e.withName,this.withInitials=e.withInitials,this.withColor=e.withColor,this.dateLabel=e.dateLabel,this.startUtc=e.startUtc,this.endUtc=e.endUtc,this.location=e.location,this.isOrganizer=e.isOrganizer,this.myStatus=e.myStatus,this.bucket=e.bucket,this.isGroup=e.isGroup,this.attendeeIds=e.attendeeIds,this.participants=e.participants??[],this.description=e.description,this.awaitingResponse=e.awaitingResponse}}})),B7,G8t,K8t,q8t,V7,J8t=s((()=>{B7=[{id:`Pacific/Honolulu`,city:`Honolulu`,offset:`GMT-10`},{id:`America/Anchorage`,city:`Anchorage`,offset:`GMT-9`},{id:`America/Los_Angeles`,city:`Los Angeles`,offset:`GMT-8`},{id:`America/Denver`,city:`Denver`,offset:`GMT-7`},{id:`America/Chicago`,city:`Chicago`,offset:`GMT-6`},{id:`America/New_York`,city:`New York`,offset:`GMT-5`},{id:`America/Sao_Paulo`,city:`São Paulo`,offset:`GMT-3`},{id:`Atlantic/Reykjavik`,city:`Reykjavik`,offset:`GMT+0`},{id:`Europe/London`,city:`London`,offset:`GMT+1`},{id:`Europe/Paris`,city:`Paris`,offset:`GMT+2`},{id:`Europe/Athens`,city:`Athens`,offset:`GMT+3`},{id:`Africa/Nairobi`,city:`Nairobi`,offset:`GMT+3`},{id:`Asia/Dubai`,city:`Dubai`,offset:`GMT+4`},{id:`Asia/Karachi`,city:`Karachi`,offset:`GMT+5`},{id:`Asia/Kolkata`,city:`Mumbai`,offset:`GMT+5:30`},{id:`Asia/Dhaka`,city:`Dhaka`,offset:`GMT+6`},{id:`Asia/Bangkok`,city:`Bangkok`,offset:`GMT+7`},{id:`Asia/Singapore`,city:`Singapore`,offset:`GMT+8`},{id:`Asia/Shanghai`,city:`Shanghai`,offset:`GMT+8`},{id:`Asia/Tokyo`,city:`Tokyo`,offset:`GMT+9`},{id:`Australia/Sydney`,city:`Sydney`,offset:`GMT+11`},{id:`Pacific/Auckland`,city:`Auckland`,offset:`GMT+13`}],G8t={id:`Europe/London`,city:`London`,offset:`GMT+1`},G8t.id,K8t=e=>{try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`);if(t){let e=t.value;if(e===`GMT`)return`GMT+0`;e=e.replace(/^GMT/,``);let n=e.startsWith(`-`)?`-`:`+`,[r=`0`,i=`0`]=e.replace(/^[+-]/,``).split(`:`),a=parseInt(r,10),o=parseInt(i,10);return o===0?`GMT${n}${String(a)}`:`GMT${n}${String(a)}:${String(o)}`}}catch{}return`GMT+0`},q8t=e=>{let t=B7.find(t=>t.id===e);if(t)return t;try{let t=K8t(e),n=e.split(`/`);return{id:e,city:(n[n.length-1]??``).replace(/_/g,` `),offset:t}}catch{return G8t}},V7=e=>q8t(e)})),Y8t,X8t,Z8t,Q8t,$8t,e5t,t5t=s((()=>{gS(),Y8t=(e,t,n)=>{let r=new Date(n.start).getTime(),i=new Date(n.end).getTime();return e.getTime()<i&&t.getTime()>r},X8t=(e,t,n)=>e.userId===t||t===n&&n!==``&&e.userId===void 0,Z8t=(e,t)=>e.allBlocks.filter(t=>X8t(t,e.userId,e.selfUserId)&&t.status!==`available`).flatMap(e=>$y(e,t.start,t.end)),Q8t=(e,t)=>e.allBlocks.filter(t=>X8t(t,e.userId,e.selfUserId)&&t.status===`available`).flatMap(e=>$y(e,t.start,t.end)).map(e=>({start:new Date(e.start),end:new Date(e.end)})),$8t=(e,t,n)=>t.getTime()>=e.start.getTime()&&n.getTime()<=e.end.getTime(),e5t=e=>{let t={start:e.rangeStart,end:e.rangeEnd},n={userId:e.userId,selfUserId:e.selfUserId,allBlocks:e.allBlocks},r=e.workWindows.some(t=>$8t(t,e.slotStart,e.slotEnd)),i=Q8t(n,t).some(t=>$8t(t,e.slotStart,e.slotEnd));return!r&&!i?`ooh`:Z8t(n,t).some(t=>Y8t(e.slotStart,e.slotEnd,t))?`busy`:`available`}})),H7=s((()=>{H8t(),W8t(),J8t(),t5t()})),n5t,r5t=s((()=>{Uy(),H7(),n5t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`book-meeting`)}async execute(e){return e.contactId.length===0||e.dateLabel.length===0||e.slot.length===0?(this.logger.warn(`Rejected incomplete booking`),O(new B8t)):this.meetingGateway.book(e)}}})),i5t,a5t=s((()=>{i5t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`respond-to-meeting`)}async execute(e,t){let n=await this.meetingGateway.respond(e,t);return n.ok||this.logger.warn(`Responding to meeting failed`,{code:n.error.code}),n}}})),o5t,s5t=s((()=>{o5t=class{meetingGateway;logger;constructor(e){this.meetingGateway=e.meetingGateway,this.logger=e.logger.child(`cancel-meeting`)}async execute(e){let t=await this.meetingGateway.cancel(e);return t.ok||this.logger.warn(`Cancelling meeting failed`,{code:t.error.code}),t}}})),c5t=s((()=>{M8t(),P8t(),I8t(),R8t(),r5t(),a5t(),s5t()})),U7,l5t,u5t,d5t=s((()=>{H7(),U7=`Online — link generated automatically`,l5t=null,u5t=()=>(l5t??=[{id:`mt-1`,title:`1:1 Catch-up`,withName:`Andreea Cinpoi`,withInitials:`AN`,withColor:`#7c3aed`,dateLabel:`Tue, 24 Jun`,startUtc:`2026-06-24T14:00:00Z`,endUtc:`2026-06-24T15:00:00Z`,location:U7,isOrganizer:!0,myStatus:`accepted`,bucket:`upcoming`},{id:`mt-2`,title:`Application review`,withName:`Raj Ahmed`,withInitials:`RA`,withColor:`#0ea5e9`,dateLabel:`Wed, 25 Jun`,startUtc:`2026-06-25T11:00:00Z`,endUtc:`2026-06-25T12:00:00Z`,location:U7,isOrganizer:!1,myStatus:`pending`,bucket:`upcoming`},{id:`mt-3`,title:`Visa cases sync`,withName:`Jennifer Aboje`,withInitials:`JA`,withColor:`#fc7300`,dateLabel:`Thu, 26 Jun`,startUtc:`2026-06-26T10:00:00Z`,endUtc:`2026-06-26T10:30:00Z`,location:U7,isOrganizer:!1,myStatus:`accepted`,bucket:`upcoming`},{id:`mt-4`,title:`Consultant onboarding`,withName:`Tousif Sadman`,withInitials:`TS`,withColor:`#0e7c66`,dateLabel:`Mon, 16 Jun`,startUtc:`2026-06-16T09:00:00Z`,endUtc:`2026-06-16T09:30:00Z`,location:U7,isOrganizer:!0,myStatus:`accepted`,bucket:`passed`},{id:`mt-5`,title:`Compliance check`,withName:`Nur Mohammad`,withInitials:`NM`,withColor:`#8b5cf6`,dateLabel:`Fri, 13 Jun`,startUtc:`2026-06-13T15:00:00Z`,endUtc:`2026-06-13T16:00:00Z`,location:U7,isOrganizer:!0,myStatus:`accepted`,bucket:`canceled`}],l5t),u5t()})),f5t=s((()=>{Uy(),H7(),d5t()})),p5t,W7,m5t=s((()=>{p5t=encodeURIComponent,W7={list:`/api/app/meeting`,contacts:`/api/app/meeting/list-contacts`,availableSlots:`/api/app/meeting/list-available-slots`,attendeeAvailability:`/api/app/meeting/list-attendee-availability`,book:`/api/app/meeting/book`,respond:e=>`/api/app/meeting/${p5t(e)}/respond`,cancel:e=>`/api/app/meeting/${p5t(e)}/cancel`}})),h5t,g5t,_5t,v5t=s((()=>{lb(),H7(),h5t=e=>{if(typeof e!=`object`||!e)return null;let t=e,n=`error`in t&&typeof t.error==`object`&&t.error!==null?t.error:t;return typeof n.message==`string`&&n.message.trim().length>0?n.message.trim():null},g5t=e=>e instanceof ab&&(e.status===400||e.status===403||e.status===409),_5t=(e,t)=>{if(g5t(t)){let n=h5t(t.body);if(n!==null)return e.warn(`Booking rejected by the server`,{message:n}),new V8t(n,t)}return e.error(`Book meeting failed`,t),new z8t(t)}})),y5t,b5t,x5t,S5t,C5t,w5t,T5t,E5t,D5t,O5t=s((()=>{yx(),y5t=hx({userId:k(),name:k(),initials:k(),color:k(),status:fx(),isOrganizer:px()}).passthrough(),b5t=hx({id:k(),organizerUserId:k(),title:k(),withName:k(),withInitials:k(),withColor:k(),dateLabel:k(),start:k(),end:k(),location:k(),isOrganizer:px(),myStatus:fx(),bucket:fx(),awaitingResponse:px().optional(),isGroup:px(),attendeeIds:mx(k()),participants:mx(y5t).optional(),description:k()}).passthrough(),x5t=mx(b5t),S5t=hx({id:k(),name:k(),initials:k(),color:k(),role:k()}).passthrough(),C5t=mx(S5t),w5t=hx({label:k(),startUtc:k(),endUtc:k(),conflicts:mx(k())}).passthrough(),T5t=mx(w5t),E5t=hx({userId:k(),busy:mx(hx({startUtc:k(),endUtc:k()})),workingHours:mx(hx({startUtc:k(),endUtc:k()})).optional()}).passthrough(),D5t=mx(E5t)})),k5t,A5t,j5t,M5t,N5t,P5t,F5t,I5t,L5t,R5t=s((()=>{H7(),k5t={0:`pending`,1:`accepted`,2:`rejected`},A5t={0:`upcoming`,1:`passed`,2:`canceled`},j5t=/[zZ]|[+-]\d{2}:?\d{2}$/,M5t=e=>j5t.test(e)?e:`${e}Z`,N5t=e=>new U8t({id:e.id,title:e.title,withName:e.withName,withInitials:e.withInitials,withColor:e.withColor,dateLabel:e.dateLabel,startUtc:M5t(e.start),endUtc:M5t(e.end),location:e.location,isOrganizer:e.isOrganizer,myStatus:k5t[e.myStatus]??`pending`,bucket:A5t[e.bucket]??`upcoming`,isGroup:e.isGroup,attendeeIds:e.attendeeIds,participants:(e.participants??[]).map(e=>({userId:e.userId,name:e.name,initials:e.initials,color:e.color,status:k5t[e.status]??`pending`,isOrganizer:e.isOrganizer})),description:e.description,awaitingResponse:e.awaitingResponse??!1}),P5t=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role}),F5t=e=>({label:e.label,startUtc:e.startUtc,endUtc:e.endUtc,conflicts:e.conflicts}),I5t=e=>({userId:e.userId,busy:e.busy.map(e=>({startUtc:e.startUtc,endUtc:e.endUtc})),workingHours:(e.workingHours??[]).map(e=>({startUtc:e.startUtc,endUtc:e.endUtc}))}),L5t=e=>({contactId:e.isGroup===!0?null:e.contactId,attendeeIds:e.attendeeIds??[],dateLabel:e.dateLabel,slot:e.slot,isoDate:e.isoDate,startUtc:e.startUtc,endUtc:e.endUtc,isGroup:e.isGroup??!1,title:e.title,location:e.location,description:e.description})})),z5t,B5t=s((()=>{lb(),Uy(),H7(),m5t(),v5t(),O5t(),R5t(),z5t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-meeting-gateway`)}async listContacts(e){try{let t=e?.trim(),n=await this.httpClient.post(W7.contacts,void 0,{query:{search:t===void 0||t===``?void 0:t}}),r=C5t.safeParse(n);return r.success?By(r.data.map(P5t)):this.fail(`List contacts returned an unexpected shape`,r.error)}catch(e){return this.fail(`List contacts failed`,e)}}async getAvailableSlots(e){try{let t=await this.httpClient.post(W7.availableSlots,{isoDate:e.isoDate,timeZone:e.timeZone??void 0,isGroup:e.isGroup,contactId:e.contactId??void 0,attendeeIds:e.attendeeIds}),n=T5t.safeParse(t);return n.success?By(n.data.map(F5t)):this.fail(`Available slots returned an unexpected shape`,n.error)}catch(e){return this.fail(`Available slots failed`,e)}}async listAttendeeAvailability(e){try{let t=await this.httpClient.post(W7.attendeeAvailability,{isoDate:e.isoDate,attendeeIds:e.attendeeIds}),n=D5t.safeParse(t);return n.success?By(n.data.map(I5t)):this.fail(`Attendee availability returned an unexpected shape`,n.error)}catch(e){return this.fail(`Attendee availability failed`,e)}}async listMeetings(){try{let e=await this.httpClient.get(W7.list),t=x5t.safeParse(e);return t.success?By(t.data.map(N5t)):this.fail(`List meetings returned an unexpected shape`,t.error)}catch(e){return this.fail(`List meetings failed`,e)}}async book(e){try{let t=await this.httpClient.post(W7.book,L5t(e));return this.parseMeeting(t,`Book meeting`)}catch(e){return O(_5t(this.logger,e))}}async respond(e,t){try{let n=await this.httpClient.post(W7.respond(e),void 0,{query:{accept:t}});return this.parseMeeting(n,`Respond to meeting`)}catch(e){return this.fail(`Respond to meeting failed`,e)}}async cancel(e){try{let t=await this.httpClient.post(W7.cancel(e));return this.parseMeeting(t,`Cancel meeting`)}catch(e){return this.fail(`Cancel meeting failed`,e)}}parseMeeting(e,t){let n=b5t.safeParse(e);return n.success?By(N5t(n.data)):this.fail(`${t} returned an unexpected shape`,n.error)}fail(e,t){return this.logger.error(e,t),O(new z8t(t))}}})),V5t=s((()=>{d5t(),f5t(),B5t()})),H5t,U5t=s((()=>{c5t(),V5t(),H5t=e=>{let t={meetingGateway:new z5t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listContacts:new j8t(t),listAvailableSlots:new N8t(t),listAttendeeAvailability:new F8t(t),listMeetings:new L8t(t),bookMeeting:new n5t(t),respondToMeeting:new i5t(t),cancelMeeting:new o5t(t)}}})),W5t,G5t,K5t=s((()=>{W5t=d(m(),1),G5t=(0,W5t.createContext)(null)})),q5t,J5t,Y5t=s((()=>{K5t(),q5t=Mo(),J5t=({module:e,children:t})=>(0,q5t.jsx)(G5t.Provider,{value:e,children:t})})),X5t,G7,Z5t=s((()=>{X5t=d(m(),1),K5t(),G7=()=>{let e=(0,X5t.useContext)(G5t);if(e===null)throw Error(`Meetings hooks must be used within <MeetingsModuleProvider>.`);return e}})),K7,Q5t,$5t,e7t,t7t,n7t,q7,r7t,i7t,a7t,o7t,s7t,J7=s((()=>{tS(),Uy(),Z5t(),K7=[`meetings`,`list`],Q5t=[`meetings`,`contacts`],$5t=[`meetings`,`available-slots`],e7t=[`meetings`,`attendee-availability`],t7t=(e,t)=>{e.setQueryData(K7,e=>e===void 0?[t]:e.map(e=>e.id===t.id?t:e))},n7t=e=>{let{listContacts:t}=G7(),n=e?.trim()??``;return Qx({queryKey:[...Q5t,n],queryFn:()=>Hy(t.execute(n||void 0)),placeholderData:fje})},q7=e=>{let{listMeetings:t}=G7();return Qx({queryKey:K7,queryFn:()=>Hy(t.execute()),staleTime:0,refetchOnWindowFocus:!0,...e===void 0?{}:{refetchInterval:e}})},r7t=e=>{let{listAvailableSlots:t}=G7();return Qx({queryKey:[...$5t,e],queryFn:()=>e===null?Promise.resolve([]):Hy(t.execute(e)),enabled:e!==null,staleTime:0,refetchOnWindowFocus:!0})},i7t=(e,t)=>{let{listAttendeeAvailability:n}=G7(),r=t!==null&&e.length>0;return Qx({queryKey:[...e7t,t,[...e].sort()],queryFn:()=>r?Hy(n.execute({isoDate:t,attendeeIds:e})):Promise.resolve([]),enabled:r,staleTime:0,refetchOnWindowFocus:!0})},a7t=()=>{let{bookMeeting:e}=G7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:()=>{t.invalidateQueries({queryKey:K7})}})},o7t=()=>{let{respondToMeeting:e}=G7(),t=Xx();return $x({mutationFn:({meetingId:t,accept:n})=>Hy(e.execute(t,n)),onSuccess:e=>{t7t(t,e)}})},s7t=()=>{let{cancelMeeting:e}=G7(),t=Xx();return $x({mutationFn:t=>Hy(e.execute(t)),onSuccess:e=>{t7t(t,e)}})}})),c7t=s((()=>{Y5t(),J7(),Z5t()})),l7t=s((()=>{U5t(),c7t()}));l7t();var u7t=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-users`)}async execute(e){let t=await this.userGateway.list(e);return t.ok||this.logger.warn(`Listing users failed`,{code:t.error.code}),t}};Uy();var d7t=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-directory-facets`)}async execute(){let[e,t,n]=await Promise.all([this.userGateway.getDepartments(),this.userGateway.getAccessRoles(),this.userGateway.getBranches()]);return e.ok?t.ok?n.ok?By({departments:e.value,accessRoles:t.value,branches:n.value}):(this.logger.warn(`Loading directory facets failed`,{code:n.error.code}),O(n.error)):(this.logger.warn(`Loading directory facets failed`,{code:t.error.code}),O(t.error)):(this.logger.warn(`Loading directory facets failed`,{code:e.error.code}),O(e.error))}};_o();var f7t=class extends ho{},Y7=class extends f7t{code=`USERS_UNAVAILABLE`;constructor(e){super(`The users directory is currently unavailable. Please try again.`,{cause:e})}},p7t=class{id;fullName;email;roleName;department;branchKey;branchName;level;online;status;statusUntilUtc;hasAccount;initials;color;permissionSetName;permissionSetColor;constructor(e){this.id=e.id,this.fullName=e.fullName,this.email=e.email,this.roleName=e.roleName,this.department=e.department,this.branchKey=e.branchKey,this.branchName=e.branchName,this.level=e.level,this.online=e.online,this.status=e.status??`offline`,this.statusUntilUtc=e.statusUntilUtc??null,this.hasAccount=e.hasAccount??!0,this.initials=e.initials,this.color=e.color,this.permissionSetName=e.permissionSetName,this.permissionSetColor=e.permissionSetColor}get isSenior(){return this.level<=3}};yx();var m7t=hx({id:k(),fullName:k(),email:k(),roleName:k(),department:k(),branchKey:k().nullish(),branchName:k().nullish(),level:fx(),online:px(),status:fx().nullish(),statusUntilUtc:k().nullish(),hasAccount:px().nullish(),initials:k(),color:k(),permissionSetName:k().nullish(),permissionSetColor:k().nullish()}),h7t=hx({totalCount:fx(),items:mx(m7t)});Uy();var g7t=(e,t)=>(e.error(`Users request failed`,t),new Y7(t)),X7={staffMembers:`/api/app/staff-member`,departments:`/api/app/staff-member/departments`,accessRoles:`/api/app/staff-member/access-roles`,branches:`/api/app/staff-member/branches`},Z7={skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,department:`department`,accessRole:`accessRole`,branch:`branch`,online:`online`},_7t=e=>new p7t({id:e.id,fullName:e.fullName,email:e.email,roleName:e.roleName,department:e.department,branchKey:e.branchKey??``,branchName:e.branchName??``,level:e.level,online:e.online,status:WS(e.status),statusUntilUtc:e.statusUntilUtc??null,hasAccount:e.hasAccount??!0,initials:e.initials,color:e.color,permissionSetName:e.permissionSetName??void 0,permissionSetColor:e.permissionSetColor??void 0});yx(),lb(),Uy();var v7t=mx(k()),y7t=mx(hx({key:k(),name:k()})),b7t=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger}async list(e){try{let t={[Z7.skipCount]:(e.page-1)*e.pageSize,[Z7.maxResultCount]:e.pageSize};e.filter!==``&&(t[Z7.filter]=e.filter),e.department!==``&&(t[Z7.department]=e.department),e.accessRole!==``&&(t[Z7.accessRole]=e.accessRole),e.branch!==``&&(t[Z7.branch]=e.branch),e.status!==`all`&&(t[Z7.online]=e.status===`online`);let n=await this.httpClient.get(X7.staffMembers,{query:t}),r=h7t.safeParse(n);if(!r.success)throw this.logger.error(`Users staff-member list returned an unexpected shape`,r.error),new Y7(r.error);return By({users:r.data.items.map(_7t),totalCount:r.data.totalCount})}catch(e){return O(g7t(this.logger,e))}}async getDepartments(){return this.getStringList(X7.departments,`departments`)}async getAccessRoles(){return this.getStringList(X7.accessRoles,`access roles`)}async getBranches(){try{let e=await this.httpClient.get(X7.branches),t=y7t.safeParse(e);if(!t.success)throw this.logger.error(`Users branches returned an unexpected shape`,t.error),new Y7(t.error);return By(t.data)}catch(e){return O(g7t(this.logger,e))}}async getStringList(e,t){try{let n=await this.httpClient.get(e),r=v7t.safeParse(n);if(!r.success)throw this.logger.error(`Users ${t} returned an unexpected shape`,r.error),new Y7(r.error);return By(r.data)}catch(e){return O(g7t(this.logger,e))}}};Uy();var x7t=e=>{let t={userGateway:new b7t({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listUsers:new u7t(t),listDirectoryFacets:new d7t(t)}},S7t=(0,E.createContext)(null),C7t=({module:e,children:t})=>(0,D.jsx)(S7t.Provider,{value:e,children:t}),w7t=()=>{let e=(0,E.useContext)(S7t);if(e===null)throw Error(`Users hooks must be used within <UsersModuleProvider>.`);return e};tS(),Uy();var T7t=[`users`],E7t=e=>{let{listUsers:t}=w7t();return Qx({queryKey:[...T7t,e],queryFn:()=>Hy(t.execute(e)),placeholderData:fje,staleTime:3e4})},D7t=class{gateway;logger;constructor(e){this.gateway=e.meetingVideoGateway,this.logger=e.logger.child(`join-meeting-video`)}async execute(e){let t=await this.gateway.join(e);return t.ok||this.logger.warn(`Joining meeting video failed`,{code:t.error.code}),t}},O7t=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`get-meeting-room-status`)}async execute(e){let t=await this.meetingVideoGateway.getRoomStatus(e);return t.ok||this.logger.debug(`Meeting status poll failed`,{code:t.error.code}),t}},k7t=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`extend-meeting`)}async execute(e,t){let n=await this.meetingVideoGateway.extendMeeting(e,t);return n.ok?this.logger.info(`Meeting extended`,{meetingId:e,minutes:t}):this.logger.warn(`Extending the meeting failed`,{code:n.error.code}),n}},A7t=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`end-meeting-now`)}async execute(e){let t=await this.meetingVideoGateway.endMeetingNow(e);return t.ok?this.logger.info(`Meeting ended for everyone`,{meetingId:e}):this.logger.warn(`Ending the meeting failed`,{code:t.error.code}),t}};_o();var j7t=class extends ho{},M7t=class extends j7t{code=`MEETING_VIDEO_UNAVAILABLE`;constructor(e){super(`This meeting could not be joined right now. Please try again.`,{cause:e})}};yx();var N7t=hx({token:k(),providerType:k(),roomId:k(),participantName:k(),title:k().nullish(),startUtc:k().nullish(),endUtc:k().nullish(),isOrganizer:px().nullish()}).passthrough(),P7t=hx({bucket:fx(),end:k(),isEnded:px().nullish()}).passthrough(),Q7=encodeURIComponent,$7={join:e=>`/api/app/meeting-video/${Q7(e)}/join`,meeting:e=>`/api/app/meeting/${Q7(e)}`,extend:e=>`/api/app/meeting/${Q7(e)}/extend`,endNow:e=>`/api/app/meeting/${Q7(e)}/end-now`},F7t=/[zZ]|[+-]\d{2}:?\d{2}$/,I7t=e=>F7t.test(e)?e:`${e}Z`,L7t=e=>typeof e==`string`?I7t(e):null,R7t=e=>({token:e.token,providerType:e.providerType,roomId:e.roomId,participantName:e.participantName,title:e.title??``,startUtc:L7t(e.startUtc),endUtc:L7t(e.endUtc),isOrganizer:e.isOrganizer??!1}),z7t=2,B7t=e=>({canceled:e.bucket===z7t,ended:e.isEnded??!1,endUtc:I7t(e.end)});Uy();var V7t=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-meeting-video-gateway`)}async join(e){try{let t=await this.http.post($7.join(e)),n=N7t.safeParse(t);return n.success?By(R7t(n.data)):this.fail(`Join returned an unexpected shape`,n.error)}catch(e){return this.fail(`Joining meeting video failed`,e)}}async getRoomStatus(e){try{let t=await this.http.get($7.meeting(e)),n=P7t.safeParse(t);return n.success?By(B7t(n.data)):this.fail(`Meeting status returned an unexpected shape`,n.error)}catch(e){return this.fail(`Reading the meeting status failed`,e)}}async extendMeeting(e,t){try{let n=await this.http.post($7.extend(e),{minutes:t});return this.parseStatus(n,`Extending the meeting`)}catch(e){return this.fail(`Extending the meeting failed`,e)}}async endMeetingNow(e){try{let t=await this.http.post($7.endNow(e));return this.parseStatus(t,`Ending the meeting`)}catch(e){return this.fail(`Ending the meeting failed`,e)}}parseStatus(e,t){let n=P7t.safeParse(e);return n.success?By(B7t(n.data)):this.fail(`${t} returned an unexpected shape`,n.error)}fail(e,t){return this.logger.error(e,t),O(new M7t(t))}},H7t=e=>{let t=new V7t({httpClient:e.httpClient,logger:e.logger});return{joinMeetingVideo:new D7t({meetingVideoGateway:t,logger:e.logger}),getMeetingRoomStatus:new O7t({meetingVideoGateway:t,logger:e.logger}),extendMeeting:new k7t({meetingVideoGateway:t,logger:e.logger}),endMeetingNow:new A7t({meetingVideoGateway:t,logger:e.logger})}},U7t=(0,E.createContext)(null),W7t=({module:e,children:t})=>(0,D.jsx)(U7t.Provider,{value:e,children:t}),G7t=()=>{let e=(0,E.useContext)(U7t);if(e===null)throw Error(`Meeting-video hooks must be used within <MeetingVideoModuleProvider>.`);return e};tS(),Uy();var K7t=e=>[`meeting-video`,`join`,e],q7t=e=>{let{joinMeetingVideo:t}=G7t();return Qx({queryKey:K7t(e),queryFn:()=>{if(e===null)throw new M7t;return Hy(t.execute(e))},enabled:e!==null,staleTime:1/0,gcTime:0,retry:!1,refetchOnWindowFocus:!1})},e9,t9=s((()=>{fy(),e9=dy(e=>({activeMeeting:null,isJoined:!1,requestedMeetingId:null,setActiveMeeting:t=>{e({activeMeeting:t})},setJoined:t=>{e({isJoined:t})},setRequestedMeetingId:t=>{e({requestedMeetingId:t})},leaveActiveMeeting:()=>{e({activeMeeting:null,isJoined:!1,requestedMeetingId:null})}}))}));t9();var n9={floatingWidget:`_floatingWidget_933j8_1`,floatingInfo:`_floatingInfo_933j8_17`,floatingTitle:`_floatingTitle_933j8_25`,floatingStatus:`_floatingStatus_933j8_34`,statusDot:`_statusDot_933j8_43`,pulse:`_pulse_933j8_1`,floatingActions:`_floatingActions_933j8_63`};Dt(),hh(),fo(),Fy();var J7t=()=>{let{pathname:e}=He(),t=We(),n=e9(e=>e.activeMeeting),r=e9(e=>e.isJoined),i=e9(e=>e.leaveActiveMeeting),a=n?`/comms/meetings/${n.meetingId}/room`:``,o=n!==null&&(e===a||e.endsWith(`/room`)||e.includes(`/comms/meetings/`)),s=(0,E.useCallback)(()=>{n&&t(a)},[n,t,a]),c=(0,E.useCallback)(()=>{i()},[i]);if(n===null||!r||o)return null;let{ticket:l}=n,u=l.title===``?l.roomId:l.title;return(0,D.jsx)(vm,{children:(0,D.jsxs)(Gm.div,{className:n9.floatingWidget,initial:{opacity:0,y:20,scale:.92},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.92},transition:{duration:.2,ease:[.22,1,.36,1]},children:[(0,D.jsx)(io,{size:18,style:{color:`var(--color-primary)`}}),(0,D.jsxs)(`div`,{className:n9.floatingInfo,children:[(0,D.jsx)(`span`,{className:n9.floatingTitle,children:u}),(0,D.jsxs)(`span`,{className:n9.floatingStatus,children:[(0,D.jsx)(`span`,{className:n9.statusDot}),`Meeting in progress`]})]}),(0,D.jsxs)(`div`,{className:n9.floatingActions,children:[(0,D.jsx)(iy,{label:`Return to meeting`,side:`top`,children:(0,D.jsx)(es,{variant:`ghost`,size:`sm`,"aria-label":`Return to meeting`,onClick:s,children:(0,D.jsx)(Xr,{size:14})})}),(0,D.jsx)(iy,{label:`Leave call`,side:`top`,children:(0,D.jsx)(es,{variant:`danger`,size:`sm`,"aria-label":`Leave call`,onClick:c,children:(0,D.jsx)(Ei,{size:14})})})]})]})})},Y7t=15e3,X7t=(e,t,n,r)=>{let[i,a]=(0,E.useState)(e.endUtc),[o,s]=(0,E.useState)(null),c=(0,E.useRef)(r);c.current=r;let l=(0,E.useRef)(!1),u=(0,E.useRef)(!1);return(0,E.useEffect)(()=>{if(i===null){s(null);return}let e=new Date(i).getTime();e>Date.now()&&(u.current=!1);let t=()=>{let t=e-Date.now();s(Math.max(0,t)),t<=0&&!u.current&&!l.current&&(u.current=!0,c.current.onTimeUp())};t();let n=window.setInterval(t,1e3);return()=>{window.clearInterval(n)}},[i]),(0,E.useEffect)(()=>{let e=!1,r=!1,i=async()=>{if(!(r||l.current)){r=!0;try{let r=await n.execute(t);if(e||!r.ok)return;if(r.value.ended){l.current=!0,c.current.onEnded();return}if(r.value.canceled){l.current=!0,c.current.onCanceled();return}a(r.value.endUtc)}finally{r=!1}}},o=window.setInterval(()=>{i()},Y7t);return()=>{e=!0,window.clearInterval(o)}},[t,n]),{remainingMs:o,adoptEnd:(0,E.useCallback)(e=>{a(e)},[])}},r9={room:`_room_118cm_1`,center:`_center_118cm_12`,topBar:`_topBar_118cm_25`,clockChip:`_clockChip_118cm_38`,clockWarn:`_clockWarn_118cm_51`,clockDanger:`_clockDanger_118cm_56`,clockButton:`_clockButton_118cm_62`,extendChoices:`_extendChoices_118cm_69`};fo(),Fy(),Do();var Z7t=5*6e4,Q7t=6e4,$7t=[15,30],e9t=e=>{let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${String(n)}:${a(r)}:${a(i)}`:`${String(r)}:${a(i)}`},t9t=({remainingMs:e,isOrganizer:t,onOpenControls:n})=>{if(e===null)return null;let r=e<=0?`Time over`:`${e9t(e)} left`,i=T(r9.clockChip,e<=Z7t&&r9.clockWarn,e<=Q7t&&r9.clockDanger);return(0,D.jsx)(`div`,{className:r9.topBar,children:t?(0,D.jsxs)(`button`,{type:`button`,className:T(i,r9.clockButton),title:`Extend or end the meeting`,onClick:n,children:[(0,D.jsx)(Xn,{size:12}),` `,r]}):(0,D.jsxs)(`span`,{className:i,children:[(0,D.jsx)(Xn,{size:12}),` `,r]})})},n9t=({open:e,onOpenChange:t,overtime:n,busy:r,onExtend:i,onEnd:a})=>(0,D.jsx)(xh,{open:e,onOpenChange:t,title:n?`The scheduled time is over`:`Meeting time`,description:n?`Nobody has been disconnected — add more time, or end the meeting for everyone.`:`Add more time now, or end the meeting for everyone.`,footer:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`secondary`,disabled:r,onClick:()=>{t(!1)},children:`Keep going`}),(0,D.jsx)(es,{variant:`danger`,disabled:r,onClick:a,children:`End meeting for everyone`})]}),children:(0,D.jsx)(`div`,{className:r9.extendChoices,children:$7t.map(e=>(0,D.jsxs)(es,{variant:`secondary`,disabled:r,onClick:()=>{i(e)},children:[`+`,e,` minutes`]},e))})}),r9t=(e,t,n)=>({onTimeUp:()=>{e?t():my.info(`The scheduled time is over — the organizer can extend or end the meeting.`)},onCanceled:()=>{my.info(`This meeting was canceled.`),n()},onEnded:()=>{my.info(`The organizer ended this meeting.`),n()}}),i9t=({ticket:e,meetingId:t,onLeft:n})=>{let{getMeetingRoomStatus:r,extendMeeting:i,endMeetingNow:a}=G7t(),[o,s]=(0,E.useState)(!1),[c,l]=(0,E.useState)(!1),{remainingMs:u,adoptEnd:d}=X7t(e,t,r,r9t(e.isOrganizer,()=>{s(!0)},n));return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(t9t,{remainingMs:u,isOrganizer:e.isOrganizer,onOpenControls:()=>{s(!0)}}),e.isOrganizer&&(0,D.jsx)(n9t,{open:o,onOpenChange:s,overtime:u!==null&&u<=0,busy:c,onExtend:e=>{(async()=>{l(!0);let n=await i.execute(t,e);l(!1),n.ok?(d(n.value.endUtc),s(!1),my.success(`Meeting extended by ${String(e)} minutes.`)):my.error(n.error.message)})()},onEnd:()=>{(async()=>{l(!0);let e=await a.execute(t);l(!1),e.ok?(s(!1),my.info(`Meeting ended.`),n()):my.error(e.error.message)})()}})]})},a9t,o9t,s9t,i9,c9t=s((()=>{a9t=`_fill_qtoxk_1`,o9t=`_center_qtoxk_7`,s9t=`_rtkTheme_qtoxk_16`,i9={fill:a9t,center:o9t,rtkTheme:s9t}})),a9,l9t,u9t=s((()=>{Fy(),c9t(),a9=Mo(),l9t=({onLeave:e})=>(0,a9.jsxs)(`div`,{className:i9.center,children:[(0,a9.jsx)(ls,{tone:`error`,title:`Could not connect to the call`,children:`The meeting could not be started. Please go back and try again.`}),(0,a9.jsx)(es,{variant:`secondary`,onClick:e,children:`Back to bookings`})]})})),d9t=l({CloudflareMeetingExperience:()=>g9t}),o9,s9,f9t,p9t,m9t,h9t,g9t,_9t=s((()=>{o9=d(m(),1),m7e(),PYt(),Fy(),u9t(),t9(),c9t(),s9=Mo(),f9t=8e3,p9t=(e,t,n)=>{let r=q7(e===void 0?void 0:f9t);(0,o9.useEffect)(()=>{e===void 0||t===null||r.data===void 0||r.data.find(e=>e.id===t)?.bucket===`canceled`&&(e.leaveRoom().catch(()=>void 0),n())},[e,t,r.data,n])},m9t=(e,t)=>{(0,o9.useEffect)(()=>{if(e===void 0||t.current===null)return;let n=()=>{if(t.current===null)return;let e=document.documentElement.getAttribute(`data-theme`)===`light`;DF(t.current,{theme:e?`light`:`dark`})};n();let r=new MutationObserver(n);return r.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`]}),()=>{r.disconnect()}},[e,t])},h9t=(e,t)=>{let n=e9(e=>e.setJoined);(0,o9.useEffect)(()=>{if(e===void 0)return;let r=()=>{n(!0)},i=()=>{n(!1),t()};return e.self.on(`roomJoined`,r),e.self.on(`roomLeft`,i),()=>{e.self.off(`roomJoined`,r),e.self.off(`roomLeft`,i)}},[e,t,n])},g9t=({ticket:e,onLeft:t})=>{let[,n]=p7e(),[r,i]=(0,o9.useState)(void 0),[a,o]=(0,o9.useState)(!1),s=(0,o9.useRef)(!1),c=(0,o9.useRef)(null);return p9t(r,e9(e=>e.activeMeeting)?.meetingId??null,t),h9t(r,t),m9t(r,c),(0,o9.useEffect)(()=>{s.current||(s.current=!0,n({authToken:e.token,defaults:{audio:!1,video:!1}}).then(t=>{if(t===void 0){o(!0);return}let n=t;e.title!==``&&(n.meta.meetingTitle=e.title),i(n)}).catch(()=>{o(!0)}))},[n,e.token,e.title]),(0,o9.useEffect)(()=>{if(r!==void 0)return()=>{r.leaveRoom().catch(()=>void 0)}},[r]),a?(0,s9.jsx)(l9t,{onLeave:t}):r===void 0?(0,s9.jsx)(`div`,{className:i9.center,children:(0,s9.jsx)(Vo,{size:`lg`,label:`Connecting to the meeting…`})}):(0,s9.jsx)(c7e,{value:r,children:(0,s9.jsx)(`div`,{ref:c,className:i9.rtkTheme,children:(0,s9.jsx)(AYt,{mode:`fill`,meeting:r,showSetupScreen:!0})})})}}));Dt(),Fy(),t9();var v9t=`/comms/bookings`,y9t=new Map([[`cloudflare`,(0,E.lazy)(async()=>({default:(await Promise.resolve().then(()=>(_9t(),d9t))).CloudflareMeetingExperience}))]]),b9t=({ticket:e,meetingId:t,Experience:n,onLeft:r})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(i9t,{ticket:e,meetingId:t,onLeft:r}),(0,D.jsx)(E.Suspense,{fallback:(0,D.jsx)(x9t,{children:(0,D.jsx)(Vo,{size:`lg`,label:`Loading…`})}),children:(0,D.jsx)(n,{ticket:e,onLeft:r})})]}),x9t=({children:e})=>(0,D.jsx)(`div`,{className:r9.center,children:e}),S9t=({title:e,message:t,onBack:n})=>(0,D.jsxs)(`div`,{className:r9.center,children:[(0,D.jsx)(ls,{tone:`error`,title:e,children:t}),(0,D.jsx)(es,{variant:`secondary`,onClick:n,children:`Back to bookings`})]}),C9t=({meetingId:e})=>{let t=We(),n=q7t(e),r=e9(e=>e.setActiveMeeting),i=e9(e=>e.leaveActiveMeeting);(0,E.useEffect)(()=>{n.data&&r({ticket:n.data,meetingId:e})},[n.data,e,r]);let a=(0,E.useCallback)(()=>{i(),t(v9t)},[i,t]);if(n.isPending)return(0,D.jsx)(x9t,{children:(0,D.jsx)(Vo,{size:`lg`,label:`Joining the meeting…`})});if(n.isError)return(0,D.jsx)(S9t,{title:`Could not join this meeting`,message:n.error.message,onBack:a});let o=y9t.get(n.data.providerType.toLowerCase());return o===void 0?(0,D.jsx)(S9t,{title:`Unsupported meeting provider`,message:`This meeting uses a provider this app cannot open yet.`,onBack:a}):(0,D.jsx)(`div`,{className:r9.room,children:(0,D.jsx)(b9t,{ticket:n.data,meetingId:e,Experience:o,onLeft:a})})},w9t={meetingOverlay:`_meetingOverlay_1ykdp_1`,meetingTakeover:`_meetingTakeover_1ykdp_12`,meetingHidden:`_meetingHidden_1ykdp_18`};Dt(),Do(),t9();var T9t=({takeover:e=!1})=>{let{pathname:t}=He(),n=e9(e=>e.requestedMeetingId),r=t.includes(`/meetings/`)&&t.endsWith(`/room`);return n===null?null:(0,D.jsx)(`div`,{className:T(w9t.meetingOverlay,e&&w9t.meetingTakeover,!r&&w9t.meetingHidden),children:(0,D.jsx)(C9t,{meetingId:n})})};t9(),tS(),fb(),mS(),lb(),l7t(),gS();var E9t=15e3,D9t=5*6e4,O9t=(e,t,n)=>{let r=new q4t({logger:t}),i=t=>e.modules===void 0||e.modules.includes(t);return{chat:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/chat`,accessTokenProvider:n}):new J4t,calls:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/calls`,accessTokenProvider:n}):new J4t,notifications:i(`commhub.feed`)?r.create({url:`${e.apiBaseUrl}/signalr/notifications`,accessTokenProvider:n}):new J4t}},k9t=e=>{let t=e.logger??new db(`info`),n=new cS,r=e.authStore,i=r.getState().session?.accessToken??null,a=r.subscribe(e=>{i=e.session?.accessToken??null}),o=()=>i??void 0,s=new ike(new nke(new ZOe(new cb({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:o}),{timeoutMs:E9t,logger:t}),{logger:t}),{logger:t,refresh:()=>r.getState().refreshSession()}),c=new cMe({defaultOptions:{queries:{staleTime:D9t,retry:1,refetchOnWindowFocus:!0}}}),l=O9t(e,t,o);return{logger:t,authStore:r,moduleAccessModule:t3t({httpClient:s,logger:t}),chatModule:A3t({logger:t,httpClient:s,realtime:l.chat,clock:n}),feedModule:X6t({logger:t,httpClient:s,notificationRealtime:l.notifications}),meetingsModule:H5t({logger:t,httpClient:s}),meetingVideoModule:H7t({logger:t,httpClient:s}),scheduleModule:VAe({logger:t,httpClient:s,clock:n}),settingsModule:sLe({logger:t,httpClient:s}),usersModule:x7t({logger:t,httpClient:s}),presenceModule:oZt({logger:t,httpClient:s}),callsModule:fRe({logger:t,httpClient:s,realtime:l.calls}),queryClient:c,dispose:async()=>{a(),c.clear(),await Promise.all([l.chat.stop(),l.calls.stop(),l.notifications.stop()])}}},c9=new Map,A9t=e=>`${e.apiBaseUrl}|${e.clientKey}|${e.authKind}`,j9t=(e,t,n)=>{let r=c9.get(e);if(r===void 0){let n=t();r={composition:n.composition,handshake:n.handshake,refCount:0},c9.set(e,r)}r.refCount+=1;let i=!1,a=r;return{composition:a.composition,handshake:a.handshake,release:()=>{i||(i=!0,--a.refCount,!(a.refCount>0)&&(c9.get(e)===a&&c9.delete(e),a.handshake.dispose(),a.composition.dispose().catch(e=>{n?.warn(`Disposing the shared SDK runtime failed`,{error:e})})))}}};fb(),mS(),lb();var M9t=`*`,N9t=e=>{switch(e.kind){case`sso`:return e.getSecret();case`signed`:return e.getAssertion();case`host-token`:return e.getToken()}},P9t=e=>{let t=new cS,n=new cb({logger:e.logger,baseUrl:e.apiBaseUrl,getAuthToken:()=>void 0});switch(e.kind){case`sso`:return new IRe({httpClient:n,clock:t,logger:e.logger});case`signed`:return new I2t({httpClient:n,clock:t,logger:e.logger,clientKey:e.clientKey,modules:e.modules});case`host-token`:return new L2t({clock:t,logger:e.logger})}},F9t=e=>{let{apiBaseUrl:t,clientKey:n,authKind:r}=e,i=e.modules===void 0?M9t:e.modules.join(`,`),a=(0,E.useRef)(e.logger);a.current=e.logger;let o=(0,E.useMemo)(()=>i===M9t?void 0:I9t(i),[i]),s=(0,E.useRef)(e.requestCredential);s.current=e.requestCredential;let c=A9t({apiBaseUrl:t,clientKey:n,authKind:r}),[l]=(0,E.useState)(()=>j9t(c,()=>{let e=a.current??new db(`info`,`commhub-sdk`),i=P9t({kind:r,clientKey:n,apiBaseUrl:t,logger:e,modules:o??[]}),c=k9t({apiBaseUrl:t,authStore:M2t({clock:new cS,logger:e,storageNamespace:`sdk:${n}`,authGateway:i,setAccessToken:()=>{}}),modules:o,logger:e});return{composition:c,handshake:new K2t(t=>new G2t({authStore:c.authStore,moduleAccessModule:c.moduleAccessModule,requestCredential:()=>s.current(),requestedModules:o??[],emit:t,logger:e,renewable:r!==`sso`}))}},a.current));return(0,E.useEffect)(()=>()=>{l.release()},[l]),{composition:l.composition,handshake:l.handshake}},I9t=e=>e===``?[]:e.split(`,`),L9t=({handshake:e,auth:t,onEvent:n})=>{let r=(0,E.useRef)(n);r.current=n;let i=(0,E.useRef)(t);return i.current=t,(0,E.useEffect)(()=>e.attach(e=>{r.current?.(e)}),[e]),(0,E.useSyncExternalStore)(t=>e.subscribeStatus(t),()=>e.status,()=>e.status)},l9=e=>Math.min(100,Math.max(0,e)),u9=([e,t,n],r=0)=>`hsl(${String(e)} ${String(l9(t))}% ${String(l9(n+r))}%)`,d9=([e,t,n],r)=>`hsl(${String(e)} ${String(l9(t))}% ${String(l9(n))}% / ${String(r)})`,R9t=60,z9t=e=>e[2]>R9t?`#0f172a`:`#ffffff`,f9={a30:.18,a20:.12,a10:.06,a05:.035,border:.22},p9=e=>`${String(Math.max(0,Math.round(e)))}px`,B9t=e=>({"--color-primary":u9(e),"--color-primary-strong":u9(e,-12),"--color-primary-light":u9(e,12),"--color-primary-30":d9(e,f9.a30),"--color-primary-20":d9(e,f9.a20),"--color-primary-10":d9(e,f9.a10),"--color-primary-05":d9(e,f9.a05),"--color-primary-border":d9(e,f9.border),"--color-on-primary":z9t(e)}),V9t=e=>({"--color-secondary":u9(e),"--color-secondary-strong":u9(e,-12),"--color-secondary-30":d9(e,.3),"--color-secondary-20":d9(e,f9.a20),"--color-secondary-10":d9(e,.07),"--color-secondary-border":d9(e,.3)}),H9t=e=>({"--radius-sm":p9(e-4),"--radius-md":p9(e),"--radius-lg":p9(e+4),"--radius-xl":p9(e+6)}),U9t=[4,6,9,12,15,18,24],W9t=()=>{let e={"--height-btn":p9(32),"--height-input":p9(34),"--height-row":p9(44),"--height-nav":p9(36)};return U9t.forEach((t,n)=>{e[`--space-${String(n+1)}`]=p9(t)}),e},G9t=e=>e?{...e.brand?B9t(e.brand):{},...e.accent?V9t(e.accent):{},...e.radius===void 0?{}:H9t(e.radius),...e.font===void 0?{}:{"--font-sans":e.font},...e.density===`compact`?W9t():{}}:{},K9t=e=>{let t=e?.mode??`system`;return t===`system`?null:t},q9t=`data-theme`,J9t=e=>{let t=e.getRootNode();return t instanceof ShadowRoot?t.host:e},Y9t=e=>{let t=(0,E.useRef)(null),n=JSON.stringify(e??null),r=(0,E.useMemo)(()=>JSON.parse(n),[n]);return(0,E.useEffect)(()=>{let e=t.current;if(e===null)return;let n=J9t(e),i=G9t(r??void 0),a=K9t(r??void 0);for(let[e,t]of Object.entries(i))n.style.setProperty(e,t);return a===null?n.removeAttribute(q9t):n.setAttribute(q9t,a),()=>{for(let e of Object.keys(i))n.style.removeProperty(e);n.removeAttribute(q9t)}},[r]),t},X9t=e=>{if(e)return e;try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e)return e}catch{}return`UTC`};Fy();var Z9t=class extends E.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.logger.error(`Unhandled error inside the Communication Hub widget`,e,{componentStack:t.componentStack}),this.props.onEvent?.({type:`error`,payload:{code:`WIDGET_CRASHED`,message:e.message}})}render(){let{error:e}=this.state;return e===null?this.props.children:(0,D.jsx)(ls,{tone:`error`,title:`This widget could not be displayed`,children:`Something went wrong inside the Communication Hub widget. Reloading the page usually fixes it.`})}},Q9t=e=>{let t=A8t.safeParse(e);if(!t.success)return null;let{id:n,kind:r,actor:i,message:a,detail:o,time:s,postId:c}=t.data;return{id:n,kind:r,actor:i,occurredAt:s,...a==null?{}:{message:a},...o==null?{}:{detail:o},...c==null?{}:{postId:c}}},$9t=({onEvent:e})=>{let{notificationRealtime:t,logger:n}=P7();return(0,E.useEffect)(()=>{if(e===void 0)return;let r=t.on(k8t.ReceiveNotification,t=>{let r=Q9t(t);if(r===null){n.error(`Discarded a malformed notification payload`,{rawPayload:t});return}e({type:`notification`,payload:r})});return t.start().catch(e=>{n.error(`Could not open the notification connection`,e)}),()=>{r()}},[t,n,e]),null};tS(),hh(),l7t(),gS(),Fy();var een=({composition:e,children:t,onEvent:n})=>(0,D.jsx)(mMe,{client:e.queryClient,children:(0,D.jsx)(Kfe,{reducedMotion:`user`,children:(0,D.jsx)(Lwe,{children:(0,D.jsx)(WRe,{store:e.authStore,children:(0,D.jsx)(GNe,{module:e.moduleAccessModule,children:(0,D.jsx)(j3t,{module:e.chatModule,children:(0,D.jsx)(K3t,{children:(0,D.jsx)(Q6t,{module:e.feedModule,children:(0,D.jsx)(J5t,{module:e.meetingsModule,children:(0,D.jsx)(W7t,{module:e.meetingVideoModule,children:(0,D.jsx)(qAe,{module:e.scheduleModule,children:(0,D.jsx)(lLe,{module:e.settingsModule,children:(0,D.jsx)(C7t,{module:e.usersModule,children:(0,D.jsx)(fZt,{module:e.presenceModule,children:(0,D.jsx)(mRe,{module:e.callsModule,children:(0,D.jsxs)(JRe,{children:[t,(0,D.jsx)(vXt,{}),(0,D.jsx)($9t,{onEvent:n}),(0,D.jsx)($we,{})]})})})})})})})})})})})})})})})}),ten={scope:`_scope_p8b6f_6`};Fy();var nen=e=>{let{auth:t,apiBaseUrl:n,clientKey:r,modules:i,theme:a,timezone:o,logger:s,onEvent:c}=e,{composition:l,handshake:u}=F9t({apiBaseUrl:n,clientKey:r,authKind:t.kind,modules:i,logger:s,requestCredential:()=>N9t(t)}),d=L9t({handshake:u,auth:t,onEvent:c}),f=Y9t(a),[p,m]=(0,E.useState)(null);return(0,D.jsx)(`div`,{ref:e=>{f.current=e,m(e)},className:ten.scope,"data-timezone":X9t(o),"data-handshake":d,children:(0,D.jsx)(REe,{container:p,children:(0,D.jsx)(Z9t,{logger:l.logger,onEvent:c,children:d===`ready`?(0,D.jsx)(een,{composition:l,onEvent:c,children:e.children}):null})})})};Dt();var ren=({children:e,initialRoute:t,...n})=>(0,D.jsx)(nen,{...n,children:(0,D.jsx)(tt,{initialEntries:[t??`/`],children:e})});yx(),_o(),Uy();var ien=class extends mo{code=`SDK_WIDGET_CONFIG_INVALID`},aen=()=>Oke(e=>typeof e==`function`,{message:`Expected a function`}),oen=eAe(`kind`,[hx({kind:nAe(`signed`),getAssertion:aen()})]),sen=tAe([fx(),fx(),fx()]),cen=hx({brand:sen.optional(),accent:sen.optional(),radius:fx().optional(),font:k().optional(),density:vx([`comfortable`,`compact`]).optional(),mode:vx([`light`,`dark`,`system`]).optional()}),len=hx({apiBaseUrl:k().url(),clientKey:k().min(1),auth:oen,modules:mx(vx(R2t)).optional(),theme:cen.optional(),timezone:k().optional(),locale:k().optional(),logger:Oke().optional(),onEvent:aen().optional()}),uen=e=>{let t=len.safeParse(e);return t.success?By(t.data):O(new ien(t.error.issues.map(e=>`${e.path.join(`.`)||`(root)`}: ${e.message}`).join(`; `)))},den=`route`,m9=(e,t,n=[])=>{O2t(e,n=>{let r=uen(n.config);if(!r.ok)return(0,D.jsx)(A2t,{tagName:e,detail:r.error.message});let i=n.getAttribute(den);return(0,D.jsx)(ren,{...r.value,...i===null?{}:{initialRoute:i},children:t()})},[den,...n])},fen=()=>{m9(`uapp-chat`,()=>(0,D.jsx)(b2t,{}))},pen={date:``,time:``,recurring:!1,frequency:`weekly`},men=[{value:`now`,label:`Post now`},{value:`schedule`,label:`Schedule`}],hen=[{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],gen={photo:`Add photos`,tag:`Tag people`,feeling:`How are you feeling?`,category:`POST CATEGORY`,item:`Select Item`,template:`Choose Template`},$={screen:`_screen_19h5l_1`,toolbar:`_toolbar_19h5l_8`,toolbarContainer:`_toolbarContainer_19h5l_14`,search:`_search_19h5l_23`,toolbarRailSpacer:`_toolbarRailSpacer_19h5l_31`,searchIcon:`_searchIcon_19h5l_36`,searchInput:`_searchInput_19h5l_44`,textareaError:`_textareaError_19h5l_59`,commentComposerError:`_commentComposerError_19h5l_60`,shareCommentError:`_shareCommentError_19h5l_61`,wrapper:`_wrapper_19h5l_70`,column:`_column_19h5l_80`,rail:`_rail_19h5l_91`,railHead:`_railHead_19h5l_102`,railHeadTitle:`_railHeadTitle_19h5l_109`,railSeeAll:`_railSeeAll_19h5l_123`,railList:`_railList_19h5l_132`,cardBody:`_cardBody_19h5l_142`,seeMoreBtn:`_seeMoreBtn_19h5l_151`,railFoot:`_railFoot_19h5l_166`,missed:`_missed_19h5l_177`,missedHead:`_missedHead_19h5l_184`,missedSpark:`_missedSpark_19h5l_192`,missedTitle:`_missedTitle_19h5l_196`,missedBadge:`_missedBadge_19h5l_203`,missedScroller:`_missedScroller_19h5l_212`,missedScrollerFade:`_missedScrollerFade_19h5l_217`,missedTrack:`_missedTrack_19h5l_217`,missedNav:`_missedNav_19h5l_229`,missedNavLeft:`_missedNavLeft_19h5l_264`,missedNavRight:`_missedNavRight_19h5l_268`,missedCard:`_missedCard_19h5l_272`,missedCardTop:`_missedCardTop_19h5l_282`,missedDot:`_missedDot_19h5l_289`,missedCat:`_missedCat_19h5l_297`,missedTime:`_missedTime_19h5l_304`,missedSummary:`_missedSummary_19h5l_311`,missedFoot:`_missedFoot_19h5l_323`,missedCta:`_missedCta_19h5l_329`,missedPriority:`_missedPriority_19h5l_338`,compChips:`_compChips_19h5l_354`,compChip:`_compChip_19h5l_354`,actionBar:`_actionBar_19h5l_374`,actionBarLabel:`_actionBarLabel_19h5l_386`,actionBarBtns:`_actionBarBtns_19h5l_392`,actionIcon:`_actionIcon_19h5l_397`,actionIconActive:`_actionIconActive_19h5l_414`,sheet:`_sheet_19h5l_419`,sheetHead:`_sheetHead_19h5l_427`,sheetLabel:`_sheetLabel_19h5l_435`,sheetClose:`_sheetClose_19h5l_443`,sheetChips:`_sheetChips_19h5l_465`,catChip:`_catChip_19h5l_471`,catChipOn:`_catChipOn_19h5l_483`,feelGrid:`_feelGrid_19h5l_488`,feelBtn:`_feelBtn_19h5l_494`,feelBtnOn:`_feelBtnOn_19h5l_509`,feelEmoji:`_feelEmoji_19h5l_515`,photoInput:`_photoInput_19h5l_519`,photoZone:`_photoZone_19h5l_523`,photoZoneDrag:`_photoZoneDrag_19h5l_528`,dropzone:`_dropzone_19h5l_533`,dropIcon:`_dropIcon_19h5l_554`,dropTitle:`_dropTitle_19h5l_566`,dropHint:`_dropHint_19h5l_572`,photoGrid:`_photoGrid_19h5l_577`,photoThumb:`_photoThumb_19h5l_584`,photoImg:`_photoImg_19h5l_592`,photoRemove:`_photoRemove_19h5l_599`,photoAddMore:`_photoAddMore_19h5l_619`,mobilePromoTrigger:`_mobilePromoTrigger_19h5l_642`,promoPulseGlow:`_promoPulseGlow_19h5l_1`,mobilePromoTriggerBarHidden:`_mobilePromoTriggerBarHidden_19h5l_739`,mobilePromoExpanded:`_mobilePromoExpanded_19h5l_745`,promoShimmerSweep:`_promoShimmerSweep_19h5l_758`,promoShimmer:`_promoShimmer_19h5l_758`,promoIconWrap:`_promoIconWrap_19h5l_774`,sparkleIcon:`_sparkleIcon_19h5l_787`,sparkleTwinkle:`_sparkleTwinkle_19h5l_1`,promoBtnText:`_promoBtnText_19h5l_791`,mobilePromoBadge:`_mobilePromoBadge_19h5l_810`,promoPopoverOverlay:`_promoPopoverOverlay_19h5l_827`,promoPopoverCard:`_promoPopoverCard_19h5l_839`,popoverHeader:`_popoverHeader_19h5l_853`,popoverCloseX:`_popoverCloseX_19h5l_862`,popoverBadgeIcon:`_popoverBadgeIcon_19h5l_883`,popoverTitleRow:`_popoverTitleRow_19h5l_895`,popoverTitle:`_popoverTitle_19h5l_895`,popoverSeeAllBtn:`_popoverSeeAllBtn_19h5l_911`,popoverSub:`_popoverSub_19h5l_927`,popoverContent:`_popoverContent_19h5l_934`,popoverEmpty:`_popoverEmpty_19h5l_943`,missedClose:`_missedClose_19h5l_992`,missedRead:`_missedRead_19h5l_1029`,comments:`_comments_19h5l_1055`,commentRow:`_commentRow_19h5l_1064`,commentAvatar:`_commentAvatar_19h5l_1069`,commentBubble:`_commentBubble_19h5l_1083`,commentAuthor:`_commentAuthor_19h5l_1091`,commentTime:`_commentTime_19h5l_1097`,commentText:`_commentText_19h5l_1102`,commentComposer:`_commentComposer_19h5l_60`,commentComposerDisabled:`_commentComposerDisabled_19h5l_1123`,commentInput:`_commentInput_19h5l_1134`,commentSend:`_commentSend_19h5l_1148`,sharePreviewWrap:`_sharePreviewWrap_19h5l_1178`,sharePreview:`_sharePreview_19h5l_1178`,sharePreviewAvatar:`_sharePreviewAvatar_19h5l_1194`,sharePreviewBody:`_sharePreviewBody_19h5l_1208`,sharePreviewMeta:`_sharePreviewMeta_19h5l_1213`,sharePreviewCat:`_sharePreviewCat_19h5l_1219`,sharePreviewTitle:`_sharePreviewTitle_19h5l_1224`,shareField:`_shareField_19h5l_1234`,shareComment:`_shareComment_19h5l_61`,shareSearchWrap:`_shareSearchWrap_19h5l_1258`,shareSearch:`_shareSearch_19h5l_1258`,shareSearchInput:`_shareSearchInput_19h5l_1274`,shareList:`_shareList_19h5l_1291`,shareSectionLabel:`_shareSectionLabel_19h5l_1298`,shareRow:`_shareRow_19h5l_1307`,shareRowOn:`_shareRowOn_19h5l_1325`,shareAvatar:`_shareAvatar_19h5l_1331`,shareAvatarSquare:`_shareAvatarSquare_19h5l_1345`,shareRowBody:`_shareRowBody_19h5l_1349`,shareRowName:`_shareRowName_19h5l_1356`,shareRowSub:`_shareRowSub_19h5l_1362`,shareCheck:`_shareCheck_19h5l_1367`,shareCheckOn:`_shareCheckOn_19h5l_1380`,shareEmpty:`_shareEmpty_19h5l_1385`,shareFootText:`_shareFootText_19h5l_1393`,shareFootBtns:`_shareFootBtns_19h5l_1398`,shareCancelBtn:`_shareCancelBtn_19h5l_1403`,shareSendBtn:`_shareSendBtn_19h5l_1418`,shareRoot:`_shareRoot_19h5l_1439`,shareBackdrop:`_shareBackdrop_19h5l_1449`,shareFade:`_shareFade_19h5l_1`,shareModal:`_shareModal_19h5l_1459`,shareIn:`_shareIn_19h5l_1`,shareHead:`_shareHead_19h5l_1493`,shareHeadIcon:`_shareHeadIcon_19h5l_1501`,shareHeadText:`_shareHeadText_19h5l_1513`,shareTitle:`_shareTitle_19h5l_1518`,shareDesc:`_shareDesc_19h5l_1525`,shareCloseBtn:`_shareCloseBtn_19h5l_1531`,shareFooter:`_shareFooter_19h5l_1550`,ppRoot:`_ppRoot_19h5l_1561`,ppOverlay:`_ppOverlay_19h5l_1569`,ppFade:`_ppFade_19h5l_1`,ppPanel:`_ppPanel_19h5l_1579`,ppSlide:`_ppSlide_19h5l_1`,ppHead:`_ppHead_19h5l_1611`,ppHeadIcon:`_ppHeadIcon_19h5l_1620`,ppHeadText:`_ppHeadText_19h5l_1631`,ppTitle:`_ppTitle_19h5l_1636`,ppSubtitle:`_ppSubtitle_19h5l_1653`,ppManaged:`_ppManaged_19h5l_1659`,ppClose:`_ppClose_19h5l_1664`,ppTabs:`_ppTabs_19h5l_1684`,ppTab:`_ppTab_19h5l_1684`,ppSearch:`_ppSearch_19h5l_1693`,ppTabActive:`_ppTabActive_19h5l_1714`,ppTabBg:`_ppTabBg_19h5l_1718`,ppTabLabel:`_ppTabLabel_19h5l_1726`,ppSearchIcon:`_ppSearchIcon_19h5l_1736`,ppSearchInput:`_ppSearchInput_19h5l_1744`,ppList:`_ppList_19h5l_1763`,ppListInner:`_ppListInner_19h5l_1771`,ppEmpty:`_ppEmpty_19h5l_1786`,emptyState:`_emptyState_19h5l_1800`,emptyIconWrap:`_emptyIconWrap_19h5l_1812`,emptyTitle:`_emptyTitle_19h5l_1824`,emptyText:`_emptyText_19h5l_1831`,tabs:`_tabs_19h5l_1840`,tab:`_tab_19h5l_1840`,tabActive:`_tabActive_19h5l_1862`,tabBadge:`_tabBadge_19h5l_1868`,composerCollapsed:`_composerCollapsed_19h5l_1876`,ccAvatar:`_ccAvatar_19h5l_1886`,compAvatar:`_compAvatar_19h5l_1887`,avatar:`_avatar_19h5l_1888`,ccInput:`_ccInput_19h5l_1905`,composer:`_composer_19h5l_1876`,compHead:`_compHead_19h5l_1931`,compAvatarWrapper:`_compAvatarWrapper_19h5l_1938`,statusDot:`_statusDot_19h5l_1943`,compHeaderTagline:`_compHeaderTagline_19h5l_1960`,compMutedText:`_compMutedText_19h5l_1966`,taggedTagline:`_taggedTagline_19h5l_1971`,audiencePill:`_audiencePill_19h5l_1983`,audienceSection:`_audienceSection_19h5l_2002`,audienceLabel:`_audienceLabel_19h5l_2013`,audienceRow:`_audienceRow_19h5l_2021`,audienceBtn:`_audienceBtn_19h5l_2027`,audienceBtnActive:`_audienceBtnActive_19h5l_2045`,compClose:`_compClose_19h5l_2051`,titleInput:`_titleInput_19h5l_2070`,textarea:`_textarea_19h5l_59`,compOption:`_compOption_19h5l_2103`,compOptionLabel:`_compOptionLabel_19h5l_2115`,compFooter:`_compFooter_19h5l_2128`,submitRight:`_submitRight_19h5l_2137`,modeToggle:`_modeToggle_19h5l_2143`,cancelBtn:`_cancelBtn_19h5l_2147`,postBtn:`_postBtn_19h5l_2162`,card:`_card_19h5l_142`,urgentStripe:`_urgentStripe_19h5l_2196`,pinnedRow:`_pinnedRow_19h5l_2207`,pin:`_pin_19h5l_2207`,cardHead:`_cardHead_19h5l_2222`,cardAuthor:`_cardAuthor_19h5l_2234`,authorName:`_authorName_19h5l_2239`,metaRow:`_metaRow_19h5l_2249`,cardRight:`_cardRight_19h5l_2259`,badge:`_badge_19h5l_2267`,badgeDot:`_badgeDot_19h5l_2280`,bookmarkBtn:`_bookmarkBtn_19h5l_2287`,bookmarkActive:`_bookmarkActive_19h5l_2305`,pinBtn:`_pinBtn_19h5l_2310`,pinActive:`_pinActive_19h5l_2328`,editBtn:`_editBtn_19h5l_2333`,deleteBtn:`_deleteBtn_19h5l_2351`,cardActions:`_cardActions_19h5l_2369`,cardTitle:`_cardTitle_19h5l_2375`,ackBanner:`_ackBanner_19h5l_2395`,ackBtn:`_ackBtn_19h5l_2410`,ackDone:`_ackDone_19h5l_2422`,summary:`_summary_19h5l_2436`,summaryLeft:`_summaryLeft_19h5l_2446`,summaryIcons:`_summaryIcons_19h5l_2452`,summaryDot:`_summaryDot_19h5l_2457`,summaryCount:`_summaryCount_19h5l_2473`,summaryComments:`_summaryComments_19h5l_2478`,summaryCommentsClickable:`_summaryCommentsClickable_19h5l_2482`,postBar:`_postBar_19h5l_2492`,reactWrap:`_reactWrap_19h5l_2500`,actionBtn:`_actionBtn_19h5l_2506`,actionActive:`_actionActive_19h5l_2544`,picker:`_picker_19h5l_2561`,pickerVisible:`_pickerVisible_19h5l_2593`,pickerBtn:`_pickerBtn_19h5l_2599`,pickerActive:`_pickerActive_19h5l_2621`,schedule:`_schedule_19h5l_2664`,scheduleHead:`_scheduleHead_19h5l_2675`,scheduleGrid:`_scheduleGrid_19h5l_2689`,scheduleField:`_scheduleField_19h5l_2695`,scheduleLabel:`_scheduleLabel_19h5l_2701`,scheduleInput:`_scheduleInput_19h5l_2707`,scheduleRow:`_scheduleRow_19h5l_2724`,scheduleRowLabel:`_scheduleRowLabel_19h5l_2734`,switch:`_switch_19h5l_2747`,switchOn:`_switchOn_19h5l_2759`,switchKnob:`_switchKnob_19h5l_2763`,scheduleFreq:`_scheduleFreq_19h5l_2778`,scheduleTz:`_scheduleTz_19h5l_2782`,tagSearch:`_tagSearch_19h5l_2796`,tagSearchInput:`_tagSearchInput_19h5l_2807`,tagList:`_tagList_19h5l_2816`,tagRow:`_tagRow_19h5l_2824`,tagRowActive:`_tagRowActive_19h5l_2841`,tagRowContent:`_tagRowContent_19h5l_2846`,tagAvatar:`_tagAvatar_19h5l_2852`,tagInfo:`_tagInfo_19h5l_2865`,tagName:`_tagName_19h5l_2870`,tagRole:`_tagRole_19h5l_2876`,tagCheckbox:`_tagCheckbox_19h5l_2881`,tagCheckboxActive:`_tagCheckboxActive_19h5l_2892`,postImagesGrid:`_postImagesGrid_19h5l_2899`,grid1:`_grid1_19h5l_2918`,grid2:`_grid2_19h5l_2922`,grid3:`_grid3_19h5l_2926`,grid4:`_grid4_19h5l_2931`,gridImageWrap:`_gridImageWrap_19h5l_2936`,gridImage:`_gridImage_19h5l_2936`,moreImagesOverlay:`_moreImagesOverlay_19h5l_2962`,lightboxOverlay:`_lightboxOverlay_19h5l_2985`,lightboxContainer:`_lightboxContainer_19h5l_3002`,lightboxLeft:`_lightboxLeft_19h5l_3015`,lightboxRight:`_lightboxRight_19h5l_3025`,lightboxScrollableContent:`_lightboxScrollableContent_19h5l_3035`,lightboxDivider:`_lightboxDivider_19h5l_3046`,lightboxClose:`_lightboxClose_19h5l_3070`,lightboxImage:`_lightboxImage_19h5l_3083`,lightboxArrow:`_lightboxArrow_19h5l_3119`,lightboxArrowLeft:`_lightboxArrowLeft_19h5l_3141`,lightboxArrowRight:`_lightboxArrowRight_19h5l_3149`,lightboxCounter:`_lightboxCounter_19h5l_3157`,templateSheet:`_templateSheet_19h5l_3175`,templateSheetHeader:`_templateSheetHeader_19h5l_3181`,templateBackBtn:`_templateBackBtn_19h5l_3189`,templateSheetTitle:`_templateSheetTitle_19h5l_3212`,templateSheetMeta:`_templateSheetMeta_19h5l_3221`,templateSearch:`_templateSearch_19h5l_3233`,templateSearchIcon:`_templateSearchIcon_19h5l_3239`,templateSearchInput:`_templateSearchInput_19h5l_3248`,templateList:`_templateList_19h5l_3265`,templateItem:`_templateItem_19h5l_3272`,templateItemBody:`_templateItemBody_19h5l_3296`,templateItemTitle:`_templateItemTitle_19h5l_3304`,templateItemSub:`_templateItemSub_19h5l_3313`,templateUseBtn:`_templateUseBtn_19h5l_3321`,templateEmpty:`_templateEmpty_19h5l_3342`,itemIconContainer:`_itemIconContainer_19h5l_3349`,itemBadge:`_itemBadge_19h5l_3361`,itemMetaRow:`_itemMetaRow_19h5l_3371`};fo(),Fy(),Do(),mS();var _en=({on:e,label:t,onToggle:n})=>(0,D.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":t,className:T($.switch,e&&$.switchOn),onClick:n,children:(0,D.jsx)(`span`,{className:$.switchKnob})}),ven=e=>{let t=uS(new Date,e),n=t.hour*60+t.minute+1,r=Math.floor(n/60)%24,i=n%60;return`${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`},yen=({value:e,todayStr:t,clampTime:n,onChange:r})=>(0,D.jsxs)(`label`,{className:$.scheduleField,children:[(0,D.jsx)(`span`,{className:$.scheduleLabel,children:`Date`}),(0,D.jsx)(`input`,{type:`date`,className:$.scheduleInput,value:e.date,min:t,onChange:i=>{let a=i.target.value;r({...e,date:a,time:a===t?n(e.time):e.time})}})]}),ben=({value:e,minTimeStr:t,isPastTime:n,clampTime:r,onChange:i})=>(0,D.jsxs)(`label`,{className:$.scheduleField,children:[(0,D.jsx)(`span`,{className:$.scheduleLabel,children:`Time`}),(0,D.jsx)(`input`,{type:`time`,className:T($.scheduleInput,n&&$.scheduleInputError),"aria-invalid":n,"aria-describedby":n?`schedule-time-error`:void 0,value:e.time,min:t,onChange:t=>{i({...e,time:r(t.target.value)})},onBlur:()=>{n&&i({...e,time:t})}}),n&&(0,D.jsx)(`span`,{id:`schedule-time-error`,className:$.scheduleTimeError,role:`alert`,children:`Past time — snapped to earliest available time.`})]}),xen=({value:e,onChange:t,timezone:n})=>{let r=uS(new Date,n),i=`${String(r.year)}-${String(r.month).padStart(2,`0`)}-${String(r.day).padStart(2,`0`)}`,a=e.date===i,o=ven(n),s=e=>a&&e<o?o:e,c=a&&e.time<o;return(0,D.jsxs)(`div`,{className:$.schedule,children:[(0,D.jsxs)(`div`,{className:$.scheduleHead,children:[(0,D.jsx)(yn,{size:13}),` SCHEDULE THIS POST`]}),(0,D.jsxs)(`div`,{className:$.scheduleGrid,children:[(0,D.jsx)(yen,{value:e,todayStr:i,clampTime:s,onChange:t}),(0,D.jsx)(ben,{value:e,minTimeStr:o,isPastTime:c,clampTime:s,onChange:t})]}),(0,D.jsxs)(`div`,{className:$.scheduleRow,children:[(0,D.jsxs)(`span`,{className:$.scheduleRowLabel,children:[(0,D.jsx)(ra,{size:13}),` Recurring`]}),(0,D.jsx)(_en,{on:e.recurring,label:`Repeat this post`,onToggle:()=>{t({...e,recurring:!e.recurring})}})]}),e.recurring&&(0,D.jsx)(Ey,{ariaLabel:`Repeat frequency`,className:$.scheduleFreq??``,options:hen,value:e.frequency,onChange:n=>{t({...e,frequency:n})}}),(0,D.jsxs)(`div`,{className:$.scheduleTz,children:[(0,D.jsx)(br,{size:12}),` Timezone: `,(0,D.jsx)(`strong`,{children:n})]})]})},Sen=({mode:e,disabled:t,submitLabels:n,hideToggle:r,onMode:i,onCancel:a,onSubmit:o})=>(0,D.jsxs)(`div`,{className:$.compFooter,children:[(0,D.jsx)(`button`,{type:`button`,className:$.cancelBtn,onClick:a,children:`Cancel`}),(0,D.jsxs)(`div`,{className:$.submitRight,children:[!r&&(0,D.jsx)(Ey,{ariaLabel:`Publish timing`,className:$.modeToggle??``,options:men,value:e,onChange:i}),(0,D.jsx)(`button`,{type:`button`,className:$.postBtn,disabled:t,onClick:o,children:e===`schedule`?n?.schedule??(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Xn,{size:12}),` Schedule post`]}):n?.now??(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(la,{size:12}),` Post now`]})})]})]});Fy(),mS(),gS();function Cen(e,t,n){if(e===`schedule`)return fS(t.date,t.time,n)}function wen(){let[e,t]=(0,E.useState)(``),[n,r]=(0,E.useState)(``),[i,a]=(0,E.useState)(!1),[o,s]=(0,E.useState)(`general`),[c,l]=(0,E.useState)(`all`),[u,d]=(0,E.useState)(null),[f,p]=(0,E.useState)(null),[m,h]=(0,E.useState)(null),[g,_]=(0,E.useState)(`now`),[v,y]=(0,E.useState)(pen),[b,x]=(0,E.useState)([]),[S,C]=(0,E.useState)([]),[w,ee]=(0,E.useState)(null);return{body:e,setBody:t,title:n,setTitle:r,mustRead:i,setMustRead:a,categoryId:o,setCategoryId:s,audienceId:c,setAudienceId:l,feeling:u,setFeeling:d,location:f,setLocation:p,sheet:m,setSheet:h,mode:g,setMode:_,schedule:v,setSchedule:y,taggedUsers:b,setTaggedUsers:x,photos:S,setPhotos:C,selectedItem:w,setSelectedItem:ee}}function Ten(e,t){return e.title.trim().length>300?`Post title cannot exceed 300 characters.`:e.body.trim().length>8e3?`Post body cannot exceed 8000 characters.`:e.mode===`schedule`&&t&&Date.parse(t)<Date.now()?`Schedule time must be in the future.`:null}function Een(e,t,n){let r=n8t(),i=m8t(),a=e.body.trim().length===0||r.isPending||i.isPending||e.mode===`schedule`&&(!e.schedule.date||!e.schedule.time);return{submitDisabled:a,submit:async()=>{if(a)return;let o=Cen(e.mode,e.schedule,n),s=Ten(e,o);if(s){my.error(s);return}try{let n=[];e.photos.length>0&&(n=await Promise.all(e.photos.map(e=>i.mutateAsync(e)))),r.mutate({body:e.body,categoryId:e.categoryId,audienceId:e.audienceId,mustAcknowledge:e.mustRead,taggedUserIds:e.taggedUsers.map(e=>e.id),...e.title.trim()?{title:e.title.trim()}:{},scheduledAt:o,isRecurring:e.mode===`schedule`?e.schedule.recurring:!1,recurrenceFrequency:e.mode===`schedule`&&e.schedule.recurring?e.schedule.frequency:void 0,locationLabel:e.location??void 0,imageIds:n.length>0?n:void 0},{onSuccess:()=>{e.mode===`schedule`&&my.success(`Post scheduled for ${e.schedule.date} at ${e.schedule.time}`),t()},onError:()=>{my.error(`Failed to publish post. Please try again.`)}})}catch{my.error(`Invalid schedule date or time, or image upload failed.`)}}}}function Den(e,t){let n=wen(),r=hS().display,{submitDisabled:i,submit:a}=Een(n,e,r),o=e=>{n.setTaggedUsers(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},s=(e,t)=>{n.setTitle(e),n.setBody(t),n.setSheet(null),n.setSelectedItem(null)},c=e=>{let t=typeof e==`function`?e(n.mode):e;if(n.setMode(t),t===`schedule`&&!n.schedule.date){let e=uS(new Date,r),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,i=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;n.setSchedule({...n.schedule,date:t,time:i})}};return{...n,setMode:c,category:t.find(e=>e.id===n.categoryId),timezone:r,submitDisabled:i,toggleTag:o,applyTemplate:s,submit:a}}var Oen=e=>{let t=e.values,n=[`item_title`,`student_name`,`university_name`,`course_name`,`name`,`title`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),r=n===void 0?void 0:t[n],i=Object.entries(t).find(([e,t])=>t.trim()!==``),a=r??i?.[1]??e.id,o=n??i?.[0],s=[`item_description`,`university`,`status`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),c=s===void 0?void 0:t[s],l=Object.entries(t).find(([e,t])=>e!==o&&t.trim()!==``),u=c??l?.[1]??``;return{id:e.id,label:a,sublabel:u,values:t}},ken=(e,t)=>e===void 0?[]:t.filter(t=>e.templateIds.includes(t.id)||e.dataTemplateIds.includes(t.id)),Aen=(e,t)=>{let n=!!e?.webhookId,r=_Le(n?void 0:e?.categoryKey),i=vLe(e?.categoryKey??``,t,n),a=n?i:r;return{rawItems:a.data??[],isLoadingItems:a.isPending,hasWebhook:n}};fo(),Fy(),Do();var jen={all:to,sales:mn,admission:Cr,leadership:Ma},Men=e=>jen[e]??to,Nen=({audienceId:e,onChange:t})=>{let{data:n=[]}=d8t(),r=n.find(t=>t.id===e)??n[0],i=Men(r?.id??`all`);return(0,D.jsx)(s_,{align:`start`,trigger:(0,D.jsxs)(`button`,{type:`button`,className:$.audiencePill,"aria-label":`Audience`,children:[(0,D.jsx)(i,{size:12}),` `,r?.label??`Everyone`,(0,D.jsx)(Fn,{size:12})]}),items:n.map(e=>{let n=Men(e.id);return{label:e.label,icon:(0,D.jsx)(n,{size:14}),onSelect:()=>{t(e.id)}}})})},Pen=({audienceId:e,onChange:t})=>{let{data:n=[]}=d8t();return(0,D.jsxs)(`div`,{className:$.audienceSection,children:[(0,D.jsx)(`span`,{className:$.audienceLabel,children:`Who can see this post?`}),(0,D.jsx)(`div`,{className:$.audienceRow,children:n.map(n=>{let r=Men(n.id),i=n.id===e;return(0,D.jsxs)(`button`,{type:`button`,className:T($.audienceBtn,i&&$.audienceBtnActive),"aria-pressed":i,onClick:()=>{t(n.id)},children:[(0,D.jsx)(r,{size:14}),` `,n.label,i&&(0,D.jsx)(Nn,{size:13})]},n.id)})})]})};fo(),Do();var Fen=({user:e,isSelected:t,onToggleTag:n})=>(0,D.jsxs)(`button`,{type:`button`,className:T($.tagRow,t&&$.tagRowActive),onClick:()=>{n(e)},children:[(0,D.jsxs)(`div`,{className:$.tagRowContent,children:[(0,D.jsx)(`span`,{className:$.tagAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`div`,{className:$.tagInfo,children:[(0,D.jsx)(`span`,{className:$.tagName,children:e.name}),(0,D.jsx)(`span`,{className:$.tagRole,children:e.role})]})]}),(0,D.jsx)(`div`,{className:T($.tagCheckbox,t&&$.tagCheckboxActive),children:(0,D.jsx)(Nn,{size:12})})]}),Ien=({isSearching:e,isPending:t,search:n,activeList:r,taggedUsers:i=[],taggedUserIds:a,onToggleTag:o})=>e?t?(0,D.jsx)(`span`,{className:$.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Searching...`}):r.length===0?(0,D.jsxs)(`span`,{className:$.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:[`No teammates found matching "`,n,`".`]}):(0,D.jsx)(D.Fragment,{children:r.map(e=>(0,D.jsx)(Fen,{user:e,isSelected:a.includes(e.id),onToggleTag:o},e.id))}):i.length===0?(0,D.jsx)(`span`,{className:$.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Type a name or email to search teammates.`}):(0,D.jsx)(D.Fragment,{children:i.map(e=>(0,D.jsx)(Fen,{user:e,isSelected:!0,onToggleTag:o},e.id))}),Len=({taggedUsers:e=[],taggedUserIds:t,onToggleTag:n})=>{let[r,i]=(0,E.useState)(``),a=p8t(r),{user:o}=eC(),s=r.trim().length>0,c=(a.data??[]).filter(e=>e.id!==o?.id);return(0,D.jsxs)(`div`,{children:[(0,D.jsxs)(`div`,{className:$.tagSearch,children:[(0,D.jsx)(oa,{size:14,className:$.actionBarLabel}),(0,D.jsx)(`input`,{type:`text`,className:$.tagSearchInput,placeholder:`Search teammates`,value:r,onChange:e=>{i(e.target.value)}}),r&&(0,D.jsx)(`button`,{type:`button`,onClick:()=>{i(``)},style:{border:`none`,background:`transparent`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`2px`,color:`var(--color-text-soft)`,borderRadius:`50%`},"aria-label":`Clear search`,children:(0,D.jsx)(lo,{size:14})})]}),(0,D.jsx)(`div`,{className:$.tagList,children:(0,D.jsx)(Ien,{isSearching:s,isPending:a.isPending,search:r,activeList:c,taggedUsers:e,taggedUserIds:t,onToggleTag:n})})]})};Do();var Ren=({categoryId:e,onCategory:t})=>{let{data:n=[]}=I7();return(0,D.jsx)(`div`,{className:$.sheetChips,children:n.map(n=>(0,D.jsx)(`button`,{type:`button`,className:T($.catChip,e===n.id&&$.catChipOn),style:yo({"--chip":n.color}),onClick:()=>{t(n)},children:n.label},n.id))})},zen=({feeling:e,onFeeling:t})=>{let{data:n=[]}=f8t();return(0,D.jsx)(`div`,{className:$.feelGrid,children:n.map(n=>(0,D.jsxs)(`button`,{type:`button`,className:T($.feelBtn,e===n.id&&$.feelBtnOn),onClick:()=>{t(n.id)},children:[(0,D.jsx)(`span`,{className:$.feelEmoji,children:n.emoji}),n.label]},n.id))})},h9=(e,t)=>{let n={};return Object.entries(t).forEach(([e,t])=>{n[e.toLowerCase()]=t}),e.replace(/\{\{\s*([a-z0-9_]+)\s*\}\}/gi,(e,t)=>n[t.toLowerCase()]??``)},Ben=e=>e.length>120?`${e.slice(0,120)}…`:e,Ven=(e,t,n,r)=>{t(e),e.dataTemplateIds.length>0||e.templateIds.length>0?n(`item`):r()},Hen=(e,t)=>{t(`item`)};fo(),Fy();var Uen=e=>{let t=new Set,n=/\{\{\s*([a-z0-9_]+)\s*\}\}/gi;return e.forEach(e=>{let r=`${e.postTitle} ${e.postBody}`.matchAll(n);for(let e of r)e[1]!==void 0&&t.add(e[1].toLowerCase())}),t},Wen=({item:e,templates:t})=>{let n=Uen(t),r=Object.entries(e.values).filter(([e,t])=>(n.size===0||n.has(e.toLowerCase()))&&e!==`item_title`&&e!==`student_name`&&e!==`university_name`&&e!==`course_name`&&e!==`name`&&e!==`title`&&e!==`item_description`&&e!==`university`&&e!==`status`&&t.trim()!==``);return r.length===0?null:(0,D.jsx)(`div`,{className:$.itemMetaRow,children:r.map(([e,t])=>(0,D.jsxs)(`span`,{className:$.itemBadge,children:[e.replace(/_/g,` `),`: `,t]},e))})},Gen=({item:e,templates:t,onSelect:n})=>{let r=e.label,i=(0,D.jsxs)(D.Fragment,{children:[e.sublabel!==``&&(0,D.jsx)(`span`,{className:$.templateItemSub,children:e.sublabel}),(0,D.jsx)(Wen,{item:e,templates:t})]});if(t.length>0&&t[0]!==void 0){let n=t[0],a=new Date,o={item_count:`1`,current_year:String(a.getFullYear()),current_date:a.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values};r=h9(n.postTitle,o),i=(0,D.jsx)(`span`,{className:$.templateItemSub,children:Ben(h9(n.postBody,o))})}return(0,D.jsxs)(`button`,{type:`button`,className:$.templateItem,onClick:()=>{n(e)},children:[(0,D.jsx)(`div`,{className:$.itemIconContainer,children:(0,D.jsx)(hr,{size:16})}),(0,D.jsxs)(`div`,{className:$.templateItemBody,children:[(0,D.jsx)(`span`,{className:$.templateItemTitle,children:r}),i]}),(0,D.jsx)(`span`,{className:$.templateUseBtn,children:`SELECT`})]})},Ken=({category:e,items:t,templates:n,searchQuery:r,onSearchQuery:i,isLoading:a,onBack:o,onSelectItem:s})=>{let[c,l]=(0,E.useState)(``),u=i!==void 0,d=u?r??``:c,f=u?i:l,p=u||d.trim()===``?t:t.filter(e=>[e.label,e.sublabel,e.id].join(` `).toLowerCase().includes(d.toLowerCase()));return(0,D.jsxs)(`div`,{className:$.templateSheet,children:[(0,D.jsxs)(`div`,{className:$.templateSheetHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:$.templateBackBtn,onClick:o,children:(0,D.jsx)($t,{size:14})}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`span`,{className:$.templateSheetTitle,children:`Select Item`}),(0,D.jsxs)(`span`,{className:$.templateSheetMeta,children:[`Showing items for `,(0,D.jsx)(`strong`,{children:e.label})]})]})]}),(0,D.jsxs)(`div`,{className:$.templateSearch,children:[(0,D.jsx)(oa,{size:13,className:$.templateSearchIcon}),(0,D.jsx)(`input`,{type:`text`,className:$.templateSearchInput,placeholder:`Search items…`,value:d,onChange:e=>{f(e.target.value)}}),a&&p.length>0&&(0,D.jsx)(`div`,{style:{marginLeft:`8px`,display:`flex`,alignItems:`center`},children:(0,D.jsx)(Vo,{size:`sm`})})]}),(0,D.jsx)(`div`,{className:$.templateList,children:a&&p.length===0?(0,D.jsx)(`div`,{style:{padding:`2rem`,display:`flex`,justifyContent:`center`},children:(0,D.jsx)(Vo,{})}):p.length===0?(0,D.jsx)(`p`,{className:$.templateEmpty,children:`No items found.`}):p.map(e=>(0,D.jsx)(Gen,{item:e,templates:n,onSelect:s},e.id))})]})},qen=({selectedItem:e,templates:t,onBack:n,onUse:r})=>(0,D.jsxs)(`div`,{className:$.templateSheet,children:[(0,D.jsxs)(`div`,{className:$.templateSheetHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:$.templateBackBtn,onClick:n,children:(0,D.jsx)($t,{size:14})}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`span`,{className:$.templateSheetTitle,children:`Choose Template`}),(0,D.jsxs)(`span`,{className:$.templateSheetMeta,children:[e.label,` · `,(0,D.jsx)(`strong`,{children:e.sublabel})]})]})]}),(0,D.jsx)(`div`,{className:$.templateList,children:t.length===0?(0,D.jsx)(`p`,{className:$.templateEmpty,children:`No templates linked to this category.`}):t.map(t=>{let n=new Date,i={item_count:`1`,current_year:String(n.getFullYear()),current_date:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values},a=h9(t.postBody,i),o=h9(t.postTitle,i);return(0,D.jsxs)(`button`,{type:`button`,className:$.templateItem,onClick:()=>{r(o,a)},children:[(0,D.jsxs)(`div`,{className:$.templateItemBody,children:[(0,D.jsx)(`span`,{className:$.templateItemTitle,children:t.name}),(0,D.jsx)(`span`,{className:$.templateItemSub,children:Ben(a)})]}),(0,D.jsxs)(`span`,{className:$.templateUseBtn,children:[(0,D.jsx)(Nn,{size:11}),`USE`]})]},t.id)})})]});fo(),Do();var Jen=({category:e})=>e===void 0?null:(0,D.jsx)(`div`,{className:$.compChips,children:(0,D.jsxs)(`span`,{className:$.compChip,children:[`🏷️ `,e.label]})}),Yen=({sheet:e,location:t,onSheet:n,onToggleLocation:r,showPhoto:i=!0})=>(0,D.jsxs)(`div`,{className:$.actionBar,children:[(0,D.jsx)(`span`,{className:$.actionBarLabel,children:`Add to your post`}),(0,D.jsxs)(`div`,{className:$.actionBarBtns,children:[i&&(0,D.jsx)(`button`,{type:`button`,title:`Photo/video`,className:T($.actionIcon,e===`photo`&&$.actionIconActive),onClick:()=>{n(`photo`)},children:(0,D.jsx)(Nr,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Tag people`,className:T($.actionIcon,e===`tag`&&$.actionIconActive),onClick:()=>{n(`tag`)},children:(0,D.jsx)(Qa,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Feeling/activity`,className:T($.actionIcon,e===`feeling`&&$.actionIconActive),onClick:()=>{n(`feeling`)},children:(0,D.jsx)(Ea,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Location`,className:T($.actionIcon,t!==null&&$.actionIconActive),onClick:r,children:(0,D.jsx)(qr,{size:15})}),(0,D.jsx)(`button`,{type:`button`,title:`Category`,className:T($.actionIcon,(e===`category`||e===`item`||e===`template`)&&$.actionIconActive),onClick:()=>{n(`category`)},children:(0,D.jsx)(Fa,{size:15})})]})]}),Xen=({currentCategory:e,categoryItems:t,categoryTemplates:n,searchQuery:r,onSearchQuery:i,isLoadingItems:a,onSetSheet:o,onSelectItem:s})=>(0,D.jsx)(Ken,{category:e,items:t,templates:n.filter(t=>e.dataTemplateIds.includes(t.id)),searchQuery:r,onSearchQuery:i,isLoading:a,onBack:()=>{o(`category`)},onSelectItem:e=>{s(e),o(`template`)}}),Zen=({currentCategory:e,categoryTemplates:t,selectedItem:n,onSetSheet:r,onApplyTemplate:i})=>n===null?null:(0,D.jsx)(qen,{selectedItem:n,templates:t.filter(t=>e?.templateIds.includes(t.id)),onBack:()=>{Hen(e,r)},onUse:i}),Qen=e=>{let{sheet:t,categoryId:n,feeling:r,taggedUsers:i,taggedUserIds:a,selectedItem:o,categoryItems:s,categoryTemplates:c,currentCategory:l,onCategory:u,onFeeling:d,onToggleTag:f,onSelectItem:p,onApplyTemplate:m,onClose:h,onSetSheet:g,searchQuery:_,onSearchQuery:v,isLoadingItems:y}=e;switch(t){case`category`:return(0,D.jsx)(Ren,{categoryId:n,onCategory:e=>{Ven(e,u,g,h)}});case`feeling`:return(0,D.jsx)(zen,{feeling:r,onFeeling:d});case`tag`:return(0,D.jsx)(Len,{taggedUsers:i,taggedUserIds:a,onToggleTag:f});case`item`:return l===void 0?null:(0,D.jsx)(Xen,{currentCategory:l,categoryItems:s,categoryTemplates:c,searchQuery:_,onSearchQuery:v,isLoadingItems:y,onSetSheet:g,onSelectItem:p});case`template`:return(0,D.jsx)(Zen,{currentCategory:l,categoryTemplates:c,selectedItem:o,onSetSheet:g,onApplyTemplate:m});case null:case`photo`:return null;default:return null}},$en=e=>{let{sheet:t,onClose:n}=e;if(t===null||t===`photo`)return null;let r=t!==`item`&&t!==`template`;return(0,D.jsxs)(`div`,{className:$.sheet,children:[r&&(0,D.jsxs)(`div`,{className:$.sheetHead,children:[(0,D.jsx)(`span`,{className:$.sheetLabel,children:gen[t]}),(0,D.jsx)(`button`,{type:`button`,className:$.sheetClose,"aria-label":`Close`,onClick:n,children:(0,D.jsx)(lo,{size:14})})]}),(0,D.jsx)(Qen,{...e})]})};fo(),Do(),Fy();var etn=e=>e.map(e=>({url:URL.createObjectURL(e),name:e.name,size:e.size,file:e})),ttn=({onOpen:e})=>(0,D.jsxs)(`button`,{type:`button`,className:$.dropzone,onClick:e,children:[(0,D.jsx)(`span`,{className:$.dropIcon,children:(0,D.jsx)(Oee,{size:20})}),(0,D.jsx)(`span`,{className:$.dropTitle,children:`Click to upload or drag & drop`}),(0,D.jsx)(`span`,{className:$.dropHint,children:`Supported image formats: PNG, JPG, JPEG, GIF, WEBP, HEIC (Max 10MB)`})]}),ntn=({photos:e,onOpen:t,onRemove:n})=>(0,D.jsxs)(`div`,{className:$.photoGrid,children:[e.map(e=>(0,D.jsxs)(`div`,{className:$.photoThumb,children:[(0,D.jsx)(`img`,{src:e.url,alt:e.name,className:$.photoImg}),(0,D.jsx)(`button`,{type:`button`,className:$.photoRemove,"aria-label":`Remove ${e.name}`,onClick:()=>{n(e.id)},children:(0,D.jsx)(lo,{size:12})})]},e.id)),(0,D.jsx)(`button`,{type:`button`,className:$.photoAddMore,"aria-label":`Add more photos`,onClick:t,children:(0,D.jsx)(Ar,{size:18})})]}),rtn=(e,t)=>etn(e).map((e,n)=>({id:`${e.name}-${String(e.size)}-${String(t+n)}`,url:e.url,name:e.name,file:e.file})),itn=async e=>{if(e.files===null)return;let t=5-e.currentCount;if(t<=0){my.error(`You can only upload a maximum of 5 images.`);return}let n=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/heic`,`image/heif`],r=e=>{if(n.includes(e.type))return!0;let t=e.name.split(`.`).pop()?.toLowerCase();return t===`heic`||t===`heif`},i=10*1024*1024,a=Array.from(e.files);a.some(e=>!r(e))&&my.error(`Only PNG, JPG, JPEG, GIF, WEBP, and HEIC images are supported.`);let o=a.filter(r);o.filter(e=>e.size>i).length>0&&my.error(`Some images exceed the 10MB limit and were skipped.`);let s=o.filter(e=>e.size<=i).slice(0,t);if(s.length===0)return;o.length>t&&my.error(`Only the first ${String(t)} images were added. Maximum limit is 5.`);let c=rtn(await Promise.all(s.map(e=>O8t(e))),e.existingPicked.length);if(c.length===0)return;let l=[...e.existingPicked,...c];e.onResult(l,l.map(e=>e.file))},atn=({photos:e,setPhotos:t})=>{let[n,r]=(0,E.useState)([]),[i,a]=(0,E.useState)(!1),o=(0,E.useRef)(null),s=(0,E.useRef)([]);s.current=n,(0,E.useEffect)(()=>()=>{for(let e of s.current)URL.revokeObjectURL(e.url)},[]);let c=i=>{itn({files:i,currentCount:e.length,existingPicked:n,onResult:(e,n)=>{r(e),t(n)}})};return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`input`,{ref:o,type:`file`,accept:`image/*`,multiple:!0,className:$.photoInput,onChange:e=>{c(e.target.files),o.current!==null&&(o.current.value=``)}}),(0,D.jsx)(`div`,{className:T($.photoZone,i&&$.photoZoneDrag),onDragOver:e=>{e.preventDefault(),a(!0)},onDragLeave:()=>{a(!1)},onDrop:e=>{e.preventDefault(),a(!1),c(e.dataTransfer.files)},children:n.length===0?(0,D.jsx)(ttn,{onOpen:()=>o.current?.click()}):(0,D.jsx)(ntn,{photos:n,onOpen:()=>o.current?.click(),onRemove:e=>{r(n=>{let r=n.find(t=>t.id===e);r!==void 0&&URL.revokeObjectURL(r.url);let i=n.filter(t=>t.id!==e);return t(i.map(e=>e.file)),i})}})})]})};fo(),Do();var otn=({value:e,onChange:t,className:n})=>(0,D.jsx)(`input`,{className:T($.titleInput,n),placeholder:`Add a headline (optional)`,value:e,onChange:e=>{t(e.target.value)}}),stn=({on:e,onToggle:t})=>(0,D.jsxs)(`div`,{className:$.compOption,children:[(0,D.jsxs)(`span`,{className:$.compOptionLabel,children:[(0,D.jsx)(Gn,{size:14}),` Must-read — require acknowledgement`]}),(0,D.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":`Require acknowledgement`,className:T($.switch,e&&$.switchOn),onClick:t,children:(0,D.jsx)(`span`,{className:$.switchKnob})})]});Do();var ctn=(e,t)=>{let{detectLocation:n}=P7();return()=>{if(e!==null){t(null);return}t(`Detecting location...`),n.execute().then(e=>{t(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})}},ltn=e=>{let{category:t,location:n,sheet:r,audienceId:i,mustRead:a,setSheet:o,setLocation:s,setCategoryId:c,setFeeling:l,setAudienceId:u,setMustRead:d,photos:f,setPhotos:p,isEditMode:m,editImagesNode:h}=e,g=ctn(n,s);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Jen,{category:t}),m?h:(r===`photo`||f.length>0)&&(0,D.jsx)(atn,{photos:f,setPhotos:p}),(0,D.jsx)(Yen,{sheet:r,location:n,onSheet:e=>{o(t=>t===e?null:e)},onToggleLocation:g,showPhoto:!m||h===void 0||r===`photo`}),(0,D.jsx)($en,{...e,currentCategory:t,onCategory:c,onFeeling:e=>{l(t=>t===e?null:e)},onClose:()=>{o(null)},onSetSheet:o}),(0,D.jsx)(Pen,{audienceId:i,onChange:u}),(0,D.jsx)(stn,{on:a,onToggle:()=>{d(e=>!e)}})]})},utn=({length:e,limit:t,color:n,fontSize:r,padding:i})=>(0,D.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,fontSize:r,color:n===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,padding:i,fontWeight:500},children:[e,` / `,t]}),dtn=e=>{let{title:t,setTitle:n,body:r,setBody:i,bodyPlaceholder:a,isEditMode:o=!1,editImagesNode:s}=e,c=wo(t,300,250),l=wo(r,8e3,7e3);return(0,D.jsxs)(D.Fragment,{children:[o?(0,D.jsx)(`input`,{type:`text`,className:T($.titleInput,c.isOverLimit&&$.textareaError),value:t,placeholder:`Add a headline (optional)...`,onChange:e=>{n(e.target.value)},style:{width:`100%`}}):(0,D.jsx)(otn,{value:t,onChange:n,className:c.isOverLimit?$.textareaError:void 0}),c.showCounter&&(0,D.jsx)(utn,{length:c.length,limit:300,color:c.counterColor,fontSize:`11px`,padding:`2px 16px 4px`}),(0,D.jsx)(`textarea`,{className:T($.textarea,l.isOverLimit&&$.textareaError),placeholder:a,value:r,onChange:e=>{i(e.target.value)},style:o?{width:`100%`,minHeight:`100px`}:void 0}),l.showCounter&&(0,D.jsx)(utn,{length:l.length,limit:8e3,color:l.counterColor,fontSize:`12px`,padding:`2px 16px 6px`}),(0,D.jsx)(ltn,{...e,isEditMode:o,...s===void 0?{}:{editImagesNode:s}})]})};fo(),Do();var ftn=({authorInfo:e,audienceId:t,taggedUsers:n,feeling:r,location:i,onAudience:a,onClose:o})=>{let{data:s=[]}=f8t(),c=s.find(e=>e.id===r);return(0,D.jsxs)(`div`,{className:$.compHead,style:o?void 0:{borderBottom:`none`,padding:`0 0 10px`},children:[(0,D.jsxs)(`div`,{className:$.compAvatarWrapper,children:[(0,D.jsx)(`span`,{className:$.compAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),o&&(0,D.jsx)(`span`,{className:$.statusDot})]}),(0,D.jsxs)(`div`,{children:[(0,D.jsxs)(`div`,{className:$.compHeaderTagline,children:[(0,D.jsx)(`strong`,{children:e.name}),c&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:$.compMutedText,children:` is feeling `}),(0,D.jsxs)(`strong`,{children:[c.emoji,` `,c.label]})]}),i&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:$.compMutedText,children:r||n.length>0?n.length>0?` at `:` — at `:` is at `}),(0,D.jsx)(`strong`,{children:i===`Detecting location...`?`Detecting...`:i})]})]}),n.length>0&&(0,D.jsx)(`div`,{className:$.taggedTagline,children:_8t(n).map((e,t)=>{let n=!o&&t===0&&e.text.startsWith(`with `)&&!r?`is ${e.text}`:e.text;return e.bold?(0,D.jsx)(`strong`,{children:n},t):n})}),(0,D.jsx)(Nen,{audienceId:t,onChange:a})]}),o&&(0,D.jsx)(`button`,{type:`button`,className:$.compClose,"aria-label":`Close`,onClick:o,children:(0,D.jsx)(lo,{size:16})})]})};Do();var ptn=e=>e.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `),mtn=e=>ptn((e.split(`@`)[0]??e).replace(/[._-]+/g,` `)),htn=(e,t)=>{let n=e.length>0?e:t;return n.includes(`@`)?mtn(n):n},gtn=(e,t,n)=>{let r=e.length>0?e:t;return r.length===0||r.includes(`@`)?htn(t,n):r},_tn=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?xo(n):`?`,vtn=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?So(n):`#6b7280`,ytn=(e,t)=>{if(!t)return{name:``,initials:`?`,color:`#6b7280`};let n=gtn(e?e.name:``,t.fullName,t.email.value);return{name:n,initials:_tn(e?e.initials:void 0,!0,n),color:vtn(e?e.color:void 0,!0,t.id)}};Fy(),Do();function btn({profile:e,onClose:t}){let{data:n=[]}=I7(),r=Den(t,n),i=r.category,[a,o]=(0,E.useState)(``),{rawItems:s,isLoadingItems:c,hasWebhook:l}=Aen(i,a),{data:u=[]}=gLe(),d=ken(i,u),f=s.map(Oen);return(0,D.jsxs)(`div`,{className:$.composer,children:[(0,D.jsx)(ftn,{authorInfo:e,audienceId:r.audienceId,taggedUsers:r.taggedUsers,feeling:r.feeling,location:r.location,onAudience:r.setAudienceId,onClose:t}),(0,D.jsx)(dtn,{title:r.title,setTitle:r.setTitle,body:r.body,setBody:r.setBody,bodyPlaceholder:`What's on your mind, ${e.name.split(` `)[0]??``}?`,category:r.category,feeling:r.feeling,location:r.location,sheet:r.sheet,categoryId:r.categoryId,audienceId:r.audienceId,mustRead:r.mustRead,taggedUsers:r.taggedUsers,taggedUserIds:r.taggedUsers.map(e=>e.id),selectedItem:r.selectedItem,categoryItems:f,categoryTemplates:d,setSheet:r.setSheet,setLocation:r.setLocation,setCategoryId:e=>{o(``),r.setCategoryId(e.id)},setFeeling:r.setFeeling,setAudienceId:r.setAudienceId,setMustRead:r.setMustRead,onToggleTag:r.toggleTag,onSelectItem:r.setSelectedItem,onApplyTemplate:r.applyTemplate,photos:r.photos,setPhotos:r.setPhotos,isEditMode:!1,searchQuery:a,onSearchQuery:l?o:void 0,isLoadingItems:c}),r.mode===`schedule`&&(0,D.jsx)(xen,{value:r.schedule,onChange:r.setSchedule,timezone:r.timezone}),(0,D.jsx)(Sen,{mode:r.mode,disabled:r.submitDisabled,onMode:r.setMode,onCancel:t,onSubmit:()=>{r.submit()}})]})}var xtn=()=>{let[e,t]=(0,E.useState)(!1),{user:n}=eC(),r=NS(),i=ytn(r.data,n),a=r.isPending;if(!e){let e=a?``:i.name.split(` `)[0]??``,n=e.length>0?`What's on your mind, ${e}?`:`What's on your mind?`;return(0,D.jsxs)(`div`,{className:$.composerCollapsed,children:[a?(0,D.jsx)(Cy,{variant:`circle`,width:`36px`,height:`36px`}):(0,D.jsx)(`span`,{className:$.ccAvatar,style:yo({"--avatar-color":i.color}),children:i.initials}),(0,D.jsx)(`button`,{type:`button`,className:$.ccInput,onClick:()=>{t(!0)},children:n})]})}return(0,D.jsx)(btn,{profile:i,onClose:()=>{t(!1)}})};fo();var Stn=()=>(0,D.jsxs)(`div`,{className:$.emptyState,children:[(0,D.jsx)(`div`,{className:$.emptyIconWrap,children:(0,D.jsx)(Ir,{size:32})}),(0,D.jsx)(`h3`,{className:$.emptyTitle,children:`It's quiet in here`}),(0,D.jsx)(`p`,{className:$.emptyText,children:`There are no posts in this feed yet. Be the first to share an update!`})]});Uy(),mS(),Fy();var Ctn=e=>({id:e.id,name:e.fullName,email:e.email,userName:e.fullName,role:e.roleName,initials:e.initials,color:e.color}),wtn=e=>{let[t,n]=(0,E.useState)(e),[r,i]=(0,E.useState)([]);return{existingImages:t,setExistingImages:n,newPhotos:r,setNewPhotos:i,handleAddPhotos:async e=>{let n=5-(t.length+r.length);if(n<=0){my.error(`You can only have a maximum of 5 images.`);return}let a=Array.from(e).filter(e=>e.type.startsWith(`image/`)||e.name.toLowerCase().endsWith(`.heic`)||e.name.toLowerCase().endsWith(`.heif`)),o=10*1024*1024;a.filter(e=>e.size>o).length>0&&my.error(`Some images exceed the 10MB limit and were skipped.`);let s=a.filter(e=>e.size<=o),c=s.slice(0,n);s.length>n&&my.error(`Only the first ${String(n)} images were added. Maximum limit is 5.`);let l=await Promise.all(c.map(e=>O8t(e)));i(e=>[...e,...l])},handleRemoveExisting:e=>{n(t=>t.filter(t=>t!==e))},handleRemoveNew:e=>{i(t=>t.filter((t,n)=>n!==e))}}},Ttn=(e,t)=>{if(e.scheduledAt){let n=uS(new Date(e.scheduledAt),t);return{date:`${String(n.year)}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`,time:`${String(n.hour).padStart(2,`0`)}:${String(n.minute).padStart(2,`0`)}`,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`}}return pen},Etn=(e,t,n,r)=>{let[i,a]=(0,E.useState)(e.department??`general`),[o,s]=(0,E.useState)(e.audienceId),[c,l]=(0,E.useState)(e.feelingId),[u,d]=(0,E.useState)(e.locationLabel),[f,p]=(0,E.useState)(e.mustAcknowledge),[m,h]=(0,E.useState)(null),[g,_]=(0,E.useState)(null),v=!e.scheduledAt||new Date(e.scheduledAt).getTime()<=Date.now(),[y,b]=(0,E.useState)(v?`now`:`schedule`),[x,S]=(0,E.useState)(()=>Ttn(e,r)),C=e=>{let t=typeof e==`function`?e(y):e;if(b(t),t===`schedule`&&!x.date){let e=uS(new Date,r),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,n=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;S({...x,date:t,time:n})}},[w,ee]=(0,E.useState)(t.filter(t=>e.taggedUserIds.includes(t.id)).map(Ctn));return{categoryId:i,setCategoryId:a,audienceId:o,setAudienceId:s,feeling:c,setFeeling:l,location:u,setLocation:d,mustRead:f,setMustRead:p,taggedUsers:w,setTaggedUsers:ee,sheet:m,setSheet:h,selectedItem:g,setSelectedItem:_,mode:y,setMode:C,schedule:x,setSchedule:S,toggleTag:e=>{ee(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},handleToggleLocation:()=>{if(u!==null){d(null);return}d(`Detecting location...`),n.execute().then(e=>{d(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})},isAlreadyPublished:v}};mS(),Fy();var Dtn=e=>{let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,n=e.indexOf(`#`);if(n!==-1){let r=e.substring(n+1);if(t.test(r))return r}let r=(e.split(`?`)[0]??e).split(`/`).pop()??``;return t.test(r)?r:null},Otn=e=>e.map(e=>Dtn(e)).filter(e=>e!==null),ktn=async(e,t)=>{if(e.length===0)return[];let n=await Promise.allSettled(e.map(e=>t(e))),r=[],i=0;for(let e of n)e.status===`fulfilled`?r.push(e.value):i+=1;return i>0&&my.error(`${String(i)} image${i>1?`s`:``} failed to upload.`),r},Atn=async({post:e,editTitle:t,editBody:n,photosState:r,composerState:i,updatePostMutation:a,uploadImageMutation:o,setIsEditing:s,timezone:c})=>{if(t.trim().length>300){my.error(`Post title cannot exceed 300 characters.`);return}if(n.trim().length>8e3){my.error(`Post body cannot exceed 8000 characters.`);return}let l;if(i.mode===`schedule`&&(l=fS(i.schedule.date,i.schedule.time,c),l&&Date.parse(l)<Date.now())){my.error(`Schedule time must be in the future.`);return}try{let c=await ktn(r.newPhotos,e=>o.mutateAsync(e)),u=Otn(r.existingImages);a.mutate({postId:e.id,input:{title:t.trim()||null,body:n,imageIds:[...u,...c],categoryId:i.categoryId,audienceId:i.audienceId,mustAcknowledge:i.mustRead,taggedUserIds:i.taggedUsers.map(e=>e.id),feelingId:i.feeling,locationLabel:i.location,scheduledAt:l,isRecurring:i.mode===`schedule`?i.schedule.recurring:!1,recurrenceFrequency:i.mode===`schedule`&&i.schedule.recurring?i.schedule.frequency:void 0}},{onSuccess:()=>{s(!1),r.setNewPhotos([])},onError:()=>{my.error(`Failed to update the post. Please try again.`)}})}catch{my.error(`Failed to process post images. Please try again.`)}};gS(),mS();var jtn=({post:e,setTitle:t,setBody:n,photos:r,composer:i,allUsers:a,timezone:o})=>{if(t(e.title??``),n(e.body),r.setExistingImages(e.imageUrls),r.setNewPhotos([]),i.setCategoryId(e.department??`general`),i.setAudienceId(e.audienceId),i.setFeeling(e.feelingId),i.setLocation(e.locationLabel),i.setMustRead(e.mustAcknowledge),i.setSheet(null),i.setSelectedItem(null),i.setMode(i.isAlreadyPublished?`now`:`schedule`),e.scheduledAt){let t=uS(new Date(e.scheduledAt),o),n=`${String(t.year)}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`,r=`${String(t.hour).padStart(2,`0`)}:${String(t.minute).padStart(2,`0`)}`;i.setSchedule({date:n,time:r,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`})}else i.setSchedule(pen);i.setTaggedUsers(a.filter(t=>e.taggedUserIds.includes(t.id)).map(Ctn))},Mtn=()=>{let[e,t]=(0,E.useState)(!1),[n,r]=(0,E.useState)(!1),[i,a]=(0,E.useState)(null),[o,s]=(0,E.useState)(!1);return{commentsOpen:e,setCommentsOpen:t,shareOpen:n,setShareOpen:r,lightboxIndex:i,setLightboxIndex:a,isEditing:o,setIsEditing:s}},Ntn={page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`},Ptn=e=>({...e.ui,editTitle:e.editTitle,setEditTitle:e.setEditTitle,editBody:e.editBody,setEditBody:e.setEditBody,existingImages:e.photosState.existingImages,newPhotos:e.photosState.newPhotos,isPending:e.isPending,timezone:e.timezone,handleAddPhotos:t=>{e.photosState.handleAddPhotos(t)},handleRemoveExisting:e.photosState.handleRemoveExisting,handleRemoveNew:e.photosState.handleRemoveNew,handleSave:()=>{Atn({post:e.post,editTitle:e.editTitle,editBody:e.editBody,photosState:e.photosState,composerState:e.composerState,updatePostMutation:e.updatePostMutation,uploadImageMutation:e.uploadImageMutation,setIsEditing:e.ui.setIsEditing,timezone:e.timezone})},handleCancel:()=>{jtn({post:e.post,setTitle:e.setEditTitle,setBody:e.setEditBody,photos:e.photosState,composer:e.composerState,allUsers:e.allUsers,timezone:e.timezone}),e.ui.setIsEditing(!1)},categoryId:e.composerState.categoryId,setCategoryId:e.composerState.setCategoryId,audienceId:e.composerState.audienceId,setAudienceId:e.composerState.setAudienceId,feeling:e.composerState.feeling,setFeeling:e.composerState.setFeeling,location:e.composerState.location,setLocation:e.composerState.setLocation,mustRead:e.composerState.mustRead,setMustRead:e.composerState.setMustRead,taggedUsers:e.composerState.taggedUsers,sheet:e.composerState.sheet,setSheet:e.composerState.setSheet,selectedItem:e.composerState.selectedItem,setSelectedItem:e.composerState.setSelectedItem,mode:e.composerState.mode,setMode:e.composerState.setMode,schedule:e.composerState.schedule,setSchedule:e.composerState.setSchedule,isAlreadyPublished:e.composerState.isAlreadyPublished,toggleTag:e.composerState.toggleTag,handleToggleLocation:e.composerState.handleToggleLocation}),Ftn=e=>{let t=Mtn(),[n,r]=(0,E.useState)(e.title??``),[i,a]=(0,E.useState)(e.body),o=hS().display,s=E7t(Ntn).data?.users??[],{detectLocation:c}=P7(),l=wtn(e.imageUrls),u=Etn(e,s,c,o),d=r8t(),f=m8t();return(0,E.useEffect)(()=>{t.isEditing||jtn({post:e,setTitle:r,setBody:a,photos:l,composer:u,allUsers:s,timezone:o})},[t.isEditing,e,s,o]),Ptn({ui:t,editTitle:n,setEditTitle:r,editBody:i,setEditBody:a,timezone:o,photosState:l,composerState:u,isPending:d.isPending||f.isPending,post:e,allUsers:s,updatePostMutation:d,uploadImageMutation:f})};fo();var Itn=({url:e,onRemove:t})=>(0,D.jsxs)(`div`,{className:$.photoThumb,children:[(0,D.jsx)(`img`,{src:e,alt:`thumbnail`,className:$.photoImg}),(0,D.jsx)(`button`,{type:`button`,onClick:t,className:$.photoRemove,children:(0,D.jsx)(lo,{size:12})})]}),Ltn=({file:e,onRemove:t})=>{let[n,r]=(0,E.useState)(``);return(0,E.useEffect)(()=>{let t=URL.createObjectURL(e);return r(t),()=>{URL.revokeObjectURL(t)}},[e]),n?(0,D.jsx)(Itn,{url:n,onRemove:t}):null},Rtn=({existingImages:e,newPhotos:t,onAddPhotos:n,onRemoveExisting:r,onRemoveNew:i})=>{let a=(0,E.useRef)(null);return e.length===0&&t.length===0?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`input`,{ref:a,type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}}),(0,D.jsx)(ttn,{onOpen:()=>a.current?.click()})]}):(0,D.jsxs)(`div`,{className:$.photoGrid,children:[e.map(e=>(0,D.jsx)(Itn,{url:e,onRemove:()=>{r(e)}},e)),t.map((e,t)=>(0,D.jsx)(Ltn,{file:e,onRemove:()=>{i(t)}},t)),(0,D.jsxs)(`label`,{className:$.photoAddMore,children:[(0,D.jsx)(Ar,{size:18}),(0,D.jsx)(`input`,{type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}})]})]})};fo(),gS(),Fy(),Do();var ztn=({comment:e,displayZone:t})=>(0,D.jsxs)(`div`,{className:$.commentRow,children:[(0,D.jsx)(`span`,{className:$.commentAvatar,style:yo({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,D.jsxs)(`div`,{className:$.commentBubble,children:[(0,D.jsxs)(`div`,{className:$.commentAuthor,children:[e.authorName,` `,(0,D.jsxs)(`span`,{className:$.commentTime,children:[`· `,w8t(e.createdAt,t)]})]}),(0,D.jsx)(`div`,{className:$.commentText,children:e.text})]})]}),Btn=({canComment:e,text:t,pending:n,isOverLimit:r,onChangeText:i,onSubmit:a})=>(0,D.jsxs)(`div`,{className:T($.commentComposer,!e&&$.commentComposerDisabled,r&&$.commentComposerError),children:[(0,D.jsx)(`input`,{className:$.commentInput,placeholder:e?`Write a comment…`:`Permission Denied`,value:t,disabled:!e,onChange:e=>{i(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&!r&&a()}}),(0,D.jsx)(`button`,{type:`button`,className:$.commentSend,disabled:!e||t.trim()===``||n||r,onClick:a,children:(0,D.jsx)(la,{size:13})})]}),Vtn=({profile:e,isViewerLoading:t,pending:n,canComment:r,onAdd:i})=>{let[a,o]=(0,E.useState)(``),s=wo(a,4e3),c=(0,D.jsx)(Btn,{canComment:r,text:a,pending:n,isOverLimit:s.isOverLimit,onChangeText:o,onSubmit:()=>{!r||a.trim()===``||(i(a.trim()),o(``))}});return(0,D.jsxs)(`div`,{className:$.commentRow,children:[t?(0,D.jsx)(Cy,{variant:`circle`,width:`26px`,height:`26px`}):(0,D.jsx)(`span`,{className:$.commentAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:`4px`},children:[r?c:(0,D.jsx)(iy,{label:`Permission Denied`,children:c}),s.showCounter&&(0,D.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:s.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[s.length,` / 4000`]})]})]})},Htn=({comments:e,pending:t,canComment:n=!0,onAdd:r})=>{let{user:i}=eC(),a=NS(),o=hS().display,s=ytn(a.data,i);return(0,D.jsxs)(`div`,{className:$.comments,children:[e.map(e=>(0,D.jsx)(ztn,{comment:e,displayZone:o},e.id)),(0,D.jsx)(Vtn,{profile:s,isViewerLoading:a.isPending,pending:t,canComment:n,onAdd:r})]})},Utn=({url:e,alt:t,className:n})=>(0,D.jsx)(`img`,{src:e,alt:t,className:n,loading:`lazy`});Do();var Wtn=({urls:e,onImageClick:t})=>{let n=e.length;if(n===0)return null;let r=$.grid1;n===2&&(r=$.grid2),n===3&&(r=$.grid3),n>=4&&(r=$.grid4);let i=n>4?e.slice(0,4):e;return(0,D.jsx)(`div`,{className:T($.postImagesGrid,r),children:i.map((e,r)=>{let i=r===3&&n>4;return(0,D.jsx)(`div`,{className:T($.gridImageWrap,i&&$.moreImagesOverlay),"data-more":i?`+${String(n-4)}`:void 0,onClick:()=>{t(r)},role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t(r)},children:(0,D.jsx)(Utn,{url:e,alt:`Attached`,className:$.gridImage})},r)})})};Fy();var Gtn=(e,t,n)=>e===``||t.toLowerCase().includes(e)||n.toLowerCase().includes(e),Ktn=e=>({id:`conv_${e.id}`,name:e.title,subtitle:e.subtitle||(e.kind===`group`?`${String(e.memberCount)} members`:``),initials:e.initials,color:e.color,square:e.kind===`group`,targetType:`conversation`,originalId:e.id}),qtn=e=>({id:`user_${e.id}`,name:e.name,subtitle:e.role,initials:e.initials,color:e.color,square:!1,targetType:`user`,originalId:e.id}),Jtn=({post:e,comment:t,selected:n,sendMessage:r,startDirect:i,setIsSending:a,close:o,count:s,allTargets:c})=>{a(!0);let l=`${window.location.origin}/feed/posts/${e.postId}`,u={comment:t.trim(),card:{title:e.title,body:e.bodySnippet,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,link:l}},d=`__UAPP_SHARED_CARD__::${JSON.stringify(u)}`,f=Array.from(n).map(async e=>{let t=c.get(e);if(!t)return;let n=t.originalId;if(t.targetType===`user`){let e=await i.execute(n);if(e.ok)n=e.value.id;else throw Error(`Could not create DM`)}return r.execute(n,d,crypto.randomUUID())});Promise.allSettled(f).then(()=>{my.success(`Shared to ${String(s)} ${s===1?`chat`:`chats`}`),o()}).catch(()=>{my.error(`Failed to share post`),a(!1)})},Ytn=(e,t,n)=>{let[r,i]=(0,E.useState)(``),[a,o]=(0,E.useState)(``),[s,c]=(0,E.useState)(()=>new Set),[l,u]=(0,E.useState)(!1),{sendMessage:d,startDirect:f}=TS(),{data:p}=NS(),{data:m=[]}=ePe(`all`,``,{enabled:n}),h=m.filter(e=>e.kind===`dm`&&e.peerUserId!==null).map(e=>e.peerUserId??``),g=PS(p?[p.id,...h]:h,`directory`),_=a.trim().toLowerCase(),v=e=>{o(e),g.setSearch(e)},y=[...m.filter(e=>e.kind===`dm`).map(Ktn).filter(e=>Gtn(_,e.name,e.subtitle)),...g.results.map(qtn)],b=m.filter(e=>e.kind===`group`).map(Ktn).filter(e=>Gtn(_,e.name,e.subtitle)),x=e=>{c(t=>{let n=new Set(t);return n.delete(e)?n:n.add(e)})},S=()=>{i(``),o(``),g.setSearch(``),c(new Set),u(!1),t()},C=new Map([...b,...y].map(e=>[e.id,e])),w=s.size;return{comment:r,setComment:i,query:a,setQuery:v,selected:s,isSending:l,dms:y,groups:b,count:w,toggle:x,close:S,send:()=>{w===0||l||r.length>1e3||Jtn({post:e,comment:r,selected:s,sendMessage:d,startDirect:f,setIsSending:u,close:S,count:w,allTargets:C})}}};fo(),Do();var Xtn=({onClose:e})=>(0,D.jsxs)(`div`,{className:$.shareHead,children:[(0,D.jsx)(`div`,{className:$.shareHeadIcon,children:(0,D.jsx)(Yi,{size:15})}),(0,D.jsxs)(`div`,{className:$.shareHeadText,children:[(0,D.jsx)(`h3`,{className:$.shareTitle,children:`Share Post`}),(0,D.jsx)(`p`,{className:$.shareDesc,children:`Share this post to chat conversations`})]}),(0,D.jsx)(`button`,{type:`button`,className:$.shareCloseBtn,"aria-label":`Close`,onClick:e,children:(0,D.jsx)(lo,{size:18})})]}),Ztn=({count:e,disabled:t,onCancel:n,onSend:r})=>(0,D.jsxs)(`div`,{className:$.shareFooter,children:[(0,D.jsx)(`span`,{className:$.shareFootText,children:e===0?`Select at least one chat`:`${String(e)} ${e===1?`chat`:`chats`} selected`}),(0,D.jsxs)(`div`,{className:$.shareFootBtns,children:[(0,D.jsx)(`button`,{type:`button`,className:$.shareCancelBtn,onClick:n,children:`Cancel`}),(0,D.jsxs)(`button`,{type:`button`,className:$.shareSendBtn,disabled:e===0||t,onClick:r,children:[(0,D.jsx)(la,{size:12}),` Send`]})]})]}),Qtn=({post:e})=>(0,D.jsx)(`div`,{className:$.sharePreviewWrap,children:(0,D.jsxs)(`div`,{className:$.sharePreview,children:[(0,D.jsx)(`span`,{className:$.sharePreviewAvatar,style:yo({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,D.jsxs)(`div`,{className:$.sharePreviewBody,children:[(0,D.jsxs)(`div`,{className:$.sharePreviewMeta,children:[e.authorName,` ·`,` `,(0,D.jsx)(`span`,{className:$.sharePreviewCat,style:yo({"--cat":e.categoryColor}),children:e.categoryLabel})]}),e.authorRole?(0,D.jsx)(`div`,{style:{fontSize:`11px`,color:`var(--color-text-soft)`,marginTop:`1px`,marginBottom:`2px`},children:e.authorRole}):null,(0,D.jsx)(`div`,{className:$.sharePreviewTitle,children:e.title})]})]})}),$tn=({target:e,selected:t,onToggle:n})=>(0,D.jsxs)(`button`,{type:`button`,className:T($.shareRow,t&&$.shareRowOn),"aria-pressed":t,onClick:()=>{n(e.id)},children:[(0,D.jsx)(`span`,{className:T($.shareAvatar,e.square&&$.shareAvatarSquare),style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:$.shareRowBody,children:[(0,D.jsx)(`span`,{className:$.shareRowName,children:e.name}),(0,D.jsx)(`span`,{className:$.shareRowSub,children:e.subtitle})]}),(0,D.jsx)(`span`,{className:T($.shareCheck,t&&$.shareCheckOn),children:t&&(0,D.jsx)(Nn,{size:11,strokeWidth:3})})]}),enn=({label:e,targets:t,selected:n,onToggle:r})=>t.length===0?null:(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:$.shareSectionLabel,children:e}),t.map(e=>(0,D.jsx)($tn,{target:e,selected:n.has(e.id),onToggle:r},e.id))]});fo(),Fy(),Do();var tnn=({comment:e,query:t,onComment:n,onQuery:r})=>{let i=wo(e,1e3);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:$.shareField,style:{display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,D.jsx)(`input`,{className:T($.shareComment,i.isOverLimit&&$.shareCommentError),placeholder:`Add a comment (optional)`,value:e,onChange:e=>{n(e.target.value)}}),i.showCounter&&(0,D.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:i.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[i.length,` / 1000`]})]}),(0,D.jsx)(`div`,{className:$.shareSearchWrap,children:(0,D.jsxs)(`div`,{className:$.shareSearch,children:[(0,D.jsx)(oa,{size:13}),(0,D.jsx)(`input`,{className:$.shareSearchInput,placeholder:`Search people or groups…`,value:t,onChange:e=>{r(e.target.value)}})]})})]})},nnn=({groups:e,dms:t,selected:n,onToggle:r})=>(0,D.jsxs)(`div`,{className:$.shareList,children:[(0,D.jsx)(enn,{label:`Groups`,targets:e,selected:n,onToggle:r}),(0,D.jsx)(enn,{label:`People`,targets:t,selected:n,onToggle:r}),e.length===0&&t.length===0&&(0,D.jsx)(`div`,{className:$.shareEmpty,children:`No matches.`})]}),rnn=({open:e,post:t,onClose:n})=>{let r=Ytn(t,n,e),i=fu();return e?(0,zy.createPortal)((0,D.jsxs)(`div`,{className:$.shareRoot,children:[(0,D.jsx)(`button`,{type:`button`,className:$.shareBackdrop,"aria-label":`Close`,onClick:r.close}),(0,D.jsxs)(`div`,{className:$.shareModal,role:`dialog`,"aria-label":`Share post`,children:[(0,D.jsx)(Xtn,{onClose:r.close}),(0,D.jsx)(Qtn,{post:t}),(0,D.jsx)(tnn,{comment:r.comment,query:r.query,onComment:r.setComment,onQuery:r.setQuery}),(0,D.jsx)(nnn,{groups:r.groups,dms:r.dms,selected:r.selected,onToggle:r.toggle}),(0,D.jsx)(Ztn,{count:r.count,disabled:r.comment.length>1e3,onCancel:r.close,onSend:r.send})]})]}),i??document.body):null};fo(),Do(),Fy(),gS();var inn=({post:e,taggedUsers:t})=>(0,D.jsxs)(`div`,{className:$.compHeaderTagline,style:{display:`block`,fontSize:`14px`,lineHeight:`1.4`},children:[(0,D.jsx)(`span`,{className:$.authorName,style:{fontWeight:600,color:`var(--color-text-main)`},children:e.authorName}),e.feelingEmoji&&e.feelingLabel&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:` is feeling `}),(0,D.jsxs)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:[e.feelingEmoji,` `,e.feelingLabel]})]}),t.length>0&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{children:` `}),_8t(t).map((t,n)=>{let r=n===0&&t.text.startsWith(`with `)&&!e.feelingId?`is ${t.text}`:t.text;return(0,D.jsx)(`span`,{style:{fontWeight:t.bold?600:`normal`,color:t.bold?`var(--color-text-main)`:`var(--color-text-soft)`},children:r},n)})]}),e.locationLabel&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:e.feelingId||t.length>0?t.length>0?` at `:` — at `:` is at `}),(0,D.jsx)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:e.locationLabel})]})]}),ann=({post:e,taggedUsers:t})=>{let n=hS().display;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:$.avatar,style:yo({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,D.jsxs)(`div`,{className:$.cardAuthor,children:[(0,D.jsx)(inn,{post:e,taggedUsers:t}),(0,D.jsxs)(`div`,{className:$.metaRow,style:{marginTop:`4px`,display:`flex`,alignItems:`center`,gap:`6px`,fontSize:`12px`,color:`var(--color-text-soft)`},children:[e.authorRole&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{children:e.authorRole}),(0,D.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`})]}),(0,D.jsx)(`span`,{children:w8t(e.createdAt,n,e.scheduledAt)}),(0,D.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,D.jsx)(`span`,{children:e.audienceLabel}),(0,D.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,D.jsxs)(`span`,{children:[e.seenCount,` `,e.seenCount===1?`view`:`views`]})]})]})]})},onn=e=>{let t=E7t({page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`}).data;return t?t.users.filter(t=>e.includes(t.id)):[]},snn=({post:e,show:t,onBookmark:n})=>t?(0,D.jsx)(`button`,{type:`button`,className:T($.bookmarkBtn,e.bookmarked&&$.bookmarkActive),"aria-label":e.bookmarked?`Remove bookmark`:`Save post`,onClick:n,children:(0,D.jsx)(fn,{size:15,fill:e.bookmarked?`currentColor`:`none`})}):null,cnn=({post:e,show:t,onPin:n})=>!t||!n?null:(0,D.jsx)(`button`,{type:`button`,className:T($.pinBtn,e.pinned&&$.pinActive),"aria-label":e.pinned?`Unpin post`:`Pin post`,onClick:n,children:(0,D.jsx)(Fi,{size:15,fill:e.pinned?`currentColor`:`none`})}),lnn=({show:e,onEdit:t})=>!e||!t?null:(0,D.jsx)(`button`,{type:`button`,className:$.editBtn,"aria-label":`Edit post`,onClick:t,children:(0,D.jsx)(Ci,{size:15})}),unn=({show:e,onDelete:t})=>{let[n,r]=(0,E.useState)(!1);return!e||!t?null:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:$.deleteBtn,"aria-label":`Delete post`,onClick:()=>{r(!0)},children:(0,D.jsx)(Ka,{size:15})}),(0,D.jsx)(Ch,{open:n,title:`Delete Post`,message:`Are you sure you want to delete this post? This action cannot be undone.`,confirmLabel:`Delete`,elevated:!0,onConfirm:()=>{r(!1),t()},onCancel:()=>{r(!1)}})]})},dnn=({showBookmarkButton:e=!0,...t})=>(0,D.jsxs)(`div`,{className:$.cardActions,children:[(0,D.jsx)(unn,{show:t.showDeleteButton,onDelete:t.onDelete}),(0,D.jsx)(snn,{post:t.post,show:e,onBookmark:t.onBookmark}),(0,D.jsx)(cnn,{post:t.post,show:t.showPinButton,onPin:t.onPin}),(0,D.jsx)(lnn,{show:t.showEditButton,onEdit:t.onEdit})]}),fnn=e=>{let t=onn(e.post.taggedUserIds),{categoryLabel:n,categoryColor:r}=g8t(e.post);return(0,D.jsxs)(`header`,{className:$.cardHead,children:[(0,D.jsx)(ann,{post:e.post,taggedUsers:t}),(0,D.jsxs)(`div`,{className:$.cardRight,children:[(0,D.jsxs)(`span`,{className:$.badge,style:yo({"--badge-color":r}),children:[(0,D.jsx)(`span`,{className:$.badgeDot}),n]}),(0,D.jsx)(dnn,{...e})]})]})};fo(),Fy(),Do();var pnn=e=>{let[t,n]=(0,E.useState)(0);return(0,D.jsx)(Tnn,{post:e.post,urls:e.post.imageUrls,index:t,onChange:n,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton})},mnn=[{id:`like`,label:`Like`,Icon:Ua,color:`#2563eb`},{id:`insightful`,label:`Insightful`,Icon:Vr,color:`#f59e0b`},{id:`celebrate`,label:`Celebrate`,Icon:_i,color:`#ec4899`}],hnn=({post:e,onCommentClick:t})=>{if(e.totalReactions===0&&e.commentCount===0)return null;let n=mnn.filter(t=>e.reactions[t.id]>0).slice(0,3);return(0,D.jsxs)(`div`,{className:$.summary,children:[(0,D.jsxs)(`div`,{className:$.summaryLeft,children:[n.length>0&&(0,D.jsx)(`span`,{className:$.summaryIcons,children:n.map(({id:e,Icon:t,color:n})=>(0,D.jsx)(`span`,{className:$.summaryDot,style:yo({"--react-color":n}),children:(0,D.jsx)(t,{size:10})},e))}),e.totalReactions>0&&(0,D.jsx)(`span`,{className:$.summaryCount,children:e.totalReactions})]}),e.commentCount>0&&(0,D.jsxs)(`span`,{className:T($.summaryComments,t!==void 0&&$.summaryCommentsClickable),onClick:t,role:t===void 0?void 0:`button`,tabIndex:t===void 0?void 0:0,onKeyDown:t===void 0?void 0:e=>{(e.key===`Enter`||e.key===` `)&&t()},children:[e.commentCount,` `,e.commentCount===1?`comment`:`comments`]})]})},gnn=({post:e,canReact:t,onReact:n})=>{let[r,i]=(0,E.useState)(!1),a=mnn.find(t=>t.id===e.myReaction),o=a?.Icon??Ua,s=(0,D.jsxs)(`button`,{type:`button`,disabled:!t,className:T($.actionBtn,a!==void 0&&$.actionActive),style:a===void 0?void 0:yo({"--react-color":a.color}),onClick:()=>{t&&(n(e.myReaction??`like`),i(!1))},children:[(0,D.jsx)(o,{size:16}),` `,a?.label??`Like`]});return(0,D.jsxs)(`div`,{className:$.reactWrap,onMouseEnter:()=>{t&&i(!0)},onMouseLeave:()=>{i(!1)},children:[t?s:(0,D.jsx)(iy,{label:`Permission Denied`,children:s}),t&&(0,D.jsx)(`div`,{className:T($.picker,r&&$.pickerVisible),children:mnn.map(({id:t,label:r,Icon:a,color:o})=>(0,D.jsx)(`button`,{type:`button`,className:T($.pickerBtn,e.myReaction===t&&$.pickerActive),style:yo({"--react-color":o}),title:r,onClick:()=>{n(t),i(!1)},children:(0,D.jsx)(a,{size:18})},t))})]})},_nn=({post:e,commentsOpen:t,onReact:n,onComment:r,onShare:i,canReact:a=!0,canComment:o=!0})=>(0,D.jsxs)(`div`,{className:$.postBar,children:[(0,D.jsx)(gnn,{post:e,canReact:a,onReact:n}),o?(0,D.jsxs)(`button`,{type:`button`,disabled:!1,className:T($.actionBtn,t&&$.actionActive),onClick:r,children:[(0,D.jsx)(ai,{size:16}),` Comment`]}):(0,D.jsx)(iy,{label:`Permission Denied`,children:(0,D.jsxs)(`button`,{type:`button`,disabled:!0,className:T($.actionBtn,t&&$.actionActive),children:[(0,D.jsx)(ai,{size:16}),` Comment`]})}),(0,D.jsxs)(`button`,{type:`button`,className:$.actionBtn,onClick:i,children:[(0,D.jsx)(da,{size:16}),` Share`]})]}),vnn=({post:e,onAcknowledge:t,showAcknowledge:n=!0})=>!n||!e.mustAcknowledge?null:e.acknowledged?(0,D.jsx)(`div`,{className:$.ackDone,children:`✓ You acknowledged this`}):(0,D.jsxs)(`div`,{className:$.ackBanner,children:[(0,D.jsx)(`span`,{children:`Must read — please confirm you have seen this.`}),(0,D.jsx)(`button`,{type:`button`,className:$.ackBtn,onClick:t,children:`Acknowledge`})]}),ynn=({title:e,onOpenDetail:t})=>(0,D.jsx)(`h2`,{className:$.cardTitle,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:e}),bnn=e=>e.isEditing?null:(0,D.jsx)(fnn,{post:e.post,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,showEditButton:e.isAuthor,onEdit:e.onEdit,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),g9={lightboxOverlay:`_lightboxOverlay_z9s6t_5`,lightboxContainer:`_lightboxContainer_z9s6t_20`,lightboxContainerTextOnly:`_lightboxContainerTextOnly_z9s6t_33`,lightboxLeft:`_lightboxLeft_z9s6t_48`,lightboxRight:`_lightboxRight_z9s6t_58`,lightboxRightFull:`_lightboxRightFull_z9s6t_69`,lightboxHeaderWrapper:`_lightboxHeaderWrapper_z9s6t_82`,lightboxScrollableContent:`_lightboxScrollableContent_z9s6t_91`,lightboxDivider:`_lightboxDivider_z9s6t_108`,lightboxClose:`_lightboxClose_z9s6t_138`,lightboxImage:`_lightboxImage_z9s6t_151`,lightboxArrow:`_lightboxArrow_z9s6t_186`,lightboxArrowLeft:`_lightboxArrowLeft_z9s6t_208`,lightboxArrowRight:`_lightboxArrowRight_z9s6t_216`,lightboxCounter:`_lightboxCounter_z9s6t_224`};Fy(),fo(),Do();var xnn=({urls:e,index:t,onPrev:n,onNext:r})=>(0,D.jsxs)(`div`,{className:g9.lightboxLeft,children:[e.length>1&&(0,D.jsx)(`button`,{type:`button`,className:T(g9.lightboxArrow,g9.lightboxArrowLeft),onClick:n,"aria-label":`Previous image`,children:(0,D.jsx)(Ln,{size:24})}),(0,D.jsx)(Utn,{url:e[t]??``,alt:`Fullscreen view`,className:g9.lightboxImage}),e.length>1&&(0,D.jsx)(`button`,{type:`button`,className:T(g9.lightboxArrow,g9.lightboxArrowRight),onClick:r,"aria-label":`Next image`,children:(0,D.jsx)(zn,{size:24})}),(0,D.jsxs)(`div`,{className:g9.lightboxCounter,children:[t+1,` / `,e.length]})]}),Snn=({post:e,commentPending:t,onReact:n,onBookmark:r,showBookmarkButton:i,onAcknowledge:a,showAcknowledgeSection:o,onAddComment:s,onShare:c,canReact:l,canComment:u,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g,fullWidth:_=!1})=>(0,D.jsxs)(`div`,{className:_?g9.lightboxRightFull:g9.lightboxRight,children:[(0,D.jsx)(`div`,{className:g9.lightboxHeaderWrapper,children:(0,D.jsx)(fnn,{post:e,onBookmark:r,showBookmarkButton:i,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g})}),(0,D.jsxs)(`div`,{className:g9.lightboxScrollableContent,children:[e.title!==null&&(0,D.jsx)(`h2`,{className:$.cardTitle,children:e.title}),(0,D.jsx)(`p`,{className:$.cardBody,children:e.body}),(0,D.jsx)(vnn,{post:e,onAcknowledge:a,showAcknowledge:o}),(0,D.jsx)(`div`,{className:g9.lightboxDivider}),(0,D.jsx)(hnn,{post:e}),(0,D.jsx)(_nn,{post:e,commentsOpen:!0,onReact:n,canReact:l,canComment:u,onComment:()=>{},onShare:c}),(0,D.jsx)(`div`,{className:g9.lightboxDivider}),(0,D.jsx)(Htn,{comments:e.comments,pending:t,canComment:u,onAdd:s})]})]}),Cnn=({hasImages:e,index:t,urlsLength:n,onClose:r,onChange:i})=>{(0,E.useEffect)(()=>{let a=a=>{a.key===`Escape`&&r(),e&&i!==void 0&&(a.key===`ArrowLeft`&&i((t-1+n)%n),a.key===`ArrowRight`&&i((t+1)%n))};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`keydown`,a)}},[e,t,r,i,n])},wnn=({urls:e=[],index:t=0,onClose:n,post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,hasImages:b,handlePrev:x,handleNext:S})=>(0,D.jsxs)(`div`,{className:b?g9.lightboxContainer:g9.lightboxContainerTextOnly,onClick:e=>{e.stopPropagation()},role:`presentation`,children:[(0,D.jsx)(`button`,{type:`button`,className:g9.lightboxClose,onClick:n,"aria-label":`Close lightbox`,children:(0,D.jsx)(lo,{size:20})}),b&&(0,D.jsx)(xnn,{urls:e,index:t,onPrev:x,onNext:S}),(0,D.jsx)(Snn,{post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,fullWidth:!b})]}),Tnn=e=>{let{urls:t=[],index:n=0,onClose:r,onChange:i,post:a}=e,{data:o}=h8t(a.id),s=o??a,c=t.length>0,l=fu();Cnn({hasImages:c,index:n,urlsLength:t.length,onClose:r,onChange:i});let u=()=>{i!==void 0&&i((n-1+t.length)%t.length)},d=()=>{i!==void 0&&i((n+1)%t.length)};return(0,zy.createPortal)((0,D.jsx)(`div`,{className:g9.lightboxOverlay,onClick:r,role:`presentation`,children:(0,D.jsx)(wnn,{...e,post:s,hasImages:c,handlePrev:u,handleNext:d})}),l??document.body)},Enn=({open:e,post:t,onClose:n})=>{let{categoryLabel:r,categoryColor:i}=g8t(t);return(0,D.jsx)(rnn,{open:e,post:{postId:t.id,authorName:t.authorName,authorRole:t.authorRole,authorInitials:t.authorInitials,authorColor:t.authorColor,categoryLabel:r,categoryColor:i,title:t.title??t.body,bodySnippet:t.body.length>150?`${t.body.slice(0,150)}...`:t.body},onClose:n})},Dnn=e=>e.index===null?null:(0,D.jsx)(Tnn,{urls:e.post.imageUrls,index:e.index,post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onChange:e.onChange,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),Onn=({body:e,onOpenDetail:t})=>{let[n,r]=(0,E.useState)(!1),i=e.length>200;return(0,D.jsxs)(`p`,{className:$.cardBody,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:[i&&!n?`${e.slice(0,200)}...`:e,i&&(0,D.jsx)(`button`,{type:`button`,className:$.seeMoreBtn,onClick:e=>{e.stopPropagation(),n||t(),r(e=>!e)},children:n?` See less`:` See more`})]})},knn=(e,t,n,r)=>{let i=c8t();return{handleShare:()=>{t(!0),i.mutate(e.id)},handleImageClick:t=>{n(t),t!==null&&i.mutate(e.id)},handleOpenDetail:()=>{r(),i.mutate(e.id)}}},Ann=({post:e,onAcknowledge:t,showAcknowledgeSection:n,toggleComments:r,handleImageClick:i,handleOpenDetail:a})=>(0,D.jsxs)(D.Fragment,{children:[e.title!==null&&(0,D.jsx)(ynn,{title:e.title,onOpenDetail:a}),(0,D.jsx)(Onn,{body:e.body,onOpenDetail:a}),(0,D.jsx)(Wtn,{urls:e.imageUrls,onImageClick:i}),(0,D.jsx)(vnn,{post:e,onAcknowledge:t,showAcknowledge:n}),(0,D.jsx)(hnn,{post:e,onCommentClick:r})]}),jnn=e=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Ann,{post:e.post,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,toggleComments:e.toggleComments,handleImageClick:e.handleImageClick,handleOpenDetail:e.handleOpenDetail}),(0,D.jsx)(_nn,{post:e.post,commentsOpen:e.commentsOpen,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onComment:e.toggleComments,onShare:e.handleShare}),e.commentsOpen&&(0,D.jsx)(Htn,{comments:e.post.comments,pending:e.commentPending,canComment:e.canComment,onAdd:e.onAddComment}),(0,D.jsx)(Enn,{open:e.shareOpen,post:e.post,onClose:()=>{e.setShareOpen(!1)}}),(0,D.jsx)(Dnn,{index:e.lightboxIndex,post:e.post,commentPending:e.commentPending,onReact:e.onReact,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.handleShare,onClose:()=>{e.setLightboxIndex(null)},onChange:e.setLightboxIndex,canReact:e.canReact,canComment:e.canComment,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton})]}),Mnn=e=>{let{post:t,setShareOpen:n,setLightboxIndex:r,onOpenDetail:i}=e,a=knn(t,n,r,i);return(0,D.jsx)(jnn,{...e,...a})},Nnn=()=>{},Pnn=e=>{if(!(e.existingImages.length===0&&e.newPhotos.length===0&&e.sheet!==`photo`))return(0,D.jsx)(Rtn,{existingImages:e.existingImages,newPhotos:e.newPhotos,onAddPhotos:t=>{e.handleAddPhotos(t)},onRemoveExisting:e.handleRemoveExisting,onRemoveNew:e.handleRemoveNew})},Fnn=e=>{let{data:t=[]}=I7(),n=t.find(t=>t.id===e),[r,i]=(0,E.useState)(``),{rawItems:a,isLoadingItems:o,hasWebhook:s}=Aen(n,r),{data:c=[]}=gLe();return{category:n,searchQuery:r,setSearchQuery:i,isLoadingItems:o,hasWebhook:s,categoryTemplates:ken(n,c),categoryItems:a.map(Oen)}},Inn=e=>{let t=Fnn(e.categoryId),n=n=>{t.setSearchQuery(``),e.setCategoryId(n.id)},r=(t,n)=>{e.setEditTitle(t),e.setEditBody(n),e.setSheet(null),e.setSelectedItem(null)};return{...t,handleSetCategory:n,handleApplyTemplate:r}},Lnn=({post:e,state:t})=>{let n=Inn(t),{hasPermission:r}=wS(),i=r(CS.feedUpdate);return(0,D.jsxs)(`div`,{style:{padding:`20px`,display:`flex`,flexDirection:`column`,gap:`12px`},children:[(0,D.jsx)(ftn,{authorInfo:{name:e.authorName,initials:e.authorInitials,color:e.authorColor},audienceId:t.audienceId,taggedUsers:t.taggedUsers,feeling:t.feeling,location:t.location,onAudience:t.setAudienceId}),(0,D.jsx)(dtn,{title:t.editTitle,setTitle:t.setEditTitle,body:t.editBody,setBody:t.setEditBody,bodyPlaceholder:`What's on your mind?`,category:n.category,feeling:t.feeling,location:t.location,sheet:t.sheet,categoryId:t.categoryId,audienceId:t.audienceId,mustRead:t.mustRead,taggedUsers:t.taggedUsers,taggedUserIds:t.taggedUsers.map(e=>e.id),setSheet:t.setSheet,setLocation:t.setLocation,setCategoryId:n.handleSetCategory,selectedItem:t.selectedItem,categoryItems:n.categoryItems,categoryTemplates:n.categoryTemplates,onSelectItem:t.setSelectedItem,onApplyTemplate:n.handleApplyTemplate,setFeeling:t.setFeeling,setAudienceId:t.setAudienceId,setMustRead:t.setMustRead,onToggleTag:t.toggleTag,photos:[],setPhotos:Nnn,isEditMode:!0,searchQuery:n.searchQuery,onSearchQuery:n.hasWebhook?n.setSearchQuery:void 0,isLoadingItems:n.isLoadingItems,editImagesNode:Pnn(t)}),t.mode===`schedule`&&(0,D.jsx)(xen,{value:t.schedule,timezone:t.timezone,onChange:t.setSchedule}),(0,D.jsx)(Sen,{mode:t.mode,hideToggle:t.isAlreadyPublished,disabled:!i||t.isPending||!t.editBody.trim(),submitLabels:{schedule:t.isPending?`Saving...`:`Save schedule`,now:t.isPending?`Saving...`:`Save`},onMode:t.setMode,onCancel:t.handleCancel,onSubmit:t.handleSave})]})},Rnn=({post:e,commentPending:t,onReact:n,onBookmark:r,onAcknowledge:i,onAddComment:a,state:o,onOpenDetail:s,showAcknowledgeSection:c,canReact:l,canComment:u,showBookmarkButton:d,onPin:f,showPinButton:p,onEdit:m,showEditButton:h})=>o.isEditing?(0,D.jsx)(Lnn,{post:e,state:o}):(0,D.jsx)(Mnn,{post:e,commentsOpen:o.commentsOpen,commentPending:t,shareOpen:o.shareOpen,lightboxIndex:o.lightboxIndex,onReact:n,canReact:l,canComment:u,showAcknowledgeSection:c,onBookmark:r,showBookmarkButton:d,onAcknowledge:i,onAddComment:a,toggleComments:()=>{o.setCommentsOpen(e=>!e)},setShareOpen:o.setShareOpen,setLightboxIndex:o.setLightboxIndex,onOpenDetail:s,onPin:f,showPinButton:p,onEdit:m,showEditButton:h});hh(),fo();var znn=(e,t)=>({handleEdit:()=>{e.setIsEditing(!0)},handleOpenDetail:()=>{t(!0)},handleEditFromDetail:()=>{e.setIsEditing(!0),t(!1)},handleShare:()=>{e.setShareOpen(!0)},handleCloseDetail:()=>{t(!1)}}),Bnn=e=>e.detailOpen?(0,D.jsx)(pnn,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.isAuthor,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose}):null,Vnn=e=>{let[t,n]=(0,E.useState)(!1),r=znn(e.state,n);return(0,D.jsxs)(Gm.article,{layout:`position`,id:`feed-post-${e.post.id}`,ref:e.elementRef,style:{y:e.cardY},className:$.card,children:[e.post.needsAcknowledgement&&(0,D.jsx)(`span`,{className:$.urgentStripe}),e.post.pinned&&(0,D.jsxs)(`div`,{className:$.pinnedRow,children:[(0,D.jsx)(Fi,{size:10,className:$.pin}),` Pinned`]}),(0,D.jsx)(bnn,{post:e.post,isAuthor:e.isAuthor,isEditing:e.state.isEditing,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:r.handleEdit,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),(0,D.jsx)(Rnn,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,state:e.state,onOpenDetail:r.handleOpenDetail,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:r.handleEdit,showEditButton:e.isAuthor}),(0,D.jsx)(Bnn,{post:e.post,detailOpen:t,commentPending:e.commentPending,isAuthor:e.isAuthor,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,showBookmarkButton:e.showBookmarkButton,showPinButton:e.showPinButton,onReact:e.onReact,onBookmark:e.onBookmark,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onPin:e.onPin,onEdit:r.handleEditFromDetail,onShare:r.handleShare,onClose:r.handleCloseDetail})]})};hh();var Hnn=e=>{let t=(0,E.useRef)(null);(0,E.useEffect)(()=>{t.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:n}=$he({target:e,container:t,offset:[`start end`,`end start`]});return ph(n,[0,1],[-12,12])},Unn=({post:e,commentPending:t,onReact:n,onBookmark:r,onAcknowledge:i,onAddComment:a})=>{let o=Ftn(e),{user:s}=eC(),{hasPermission:c}=wS(),l=e.authorUserId===s?.id,u=u8t(),d=i8t(),f=c(CS.feedPin),p=c(CS.feedReact),m=c(CS.feedComment),h=c(CS.feedBookmark),g=c(CS.feedAcknowledge),_=c(CS.feedDelete),v=()=>{u.mutateAsync({postId:e.id,pinned:!e.pinned})},y=()=>{d.mutateAsync(e.id)},b=(0,E.useRef)(null);return(0,D.jsx)(Vnn,{post:e,isAuthor:l,commentPending:t,onBookmark:r,showBookmarkButton:h,onPin:v,showPinButton:f,onDelete:y,showDeleteButton:_,showAcknowledgeSection:g,canReact:p,canComment:m,onReact:n,onAcknowledge:i,onAddComment:a,state:o,cardY:Hnn(b),elementRef:b})};Fy();var Wnn=({posts:e})=>{let t=a8t(),n=o8t(),r=s8t(),i=l8t();return(0,D.jsx)(D.Fragment,{children:e.map(e=>(0,D.jsx)(Unn,{post:e,commentPending:i.isPending,onReact:n=>{t.mutate({postId:e.id,type:n})},onBookmark:()=>{n.mutate(e.id),my.success(e.bookmarked?`Bookmark removed`:`Post saved to bookmarks`)},onAcknowledge:()=>{r.mutate(e.id),my.success(`Post acknowledged`)},onAddComment:t=>{i.mutate({postId:e.id,text:t})}},e.id))})},Gnn=2,Knn=e=>[...e].filter(e=>e.active).sort((e,t)=>e.priority-t.priority),qnn=(e,t)=>e.find(e=>e.id===t.templateId),Jnn=(e,t,n)=>Knn(e).map(e=>{let r=t.filter(t=>t.categoryId===e.id);return{id:e.id,name:e.name,color:e.color,count:r.length,template:qnn(n,e),items:r.slice(0,Gnn)}}).filter(e=>e.count>0),Ynn=e=>[{id:`all`,label:`All`},...Knn(e).map(e=>({id:e.id,label:e.name}))],Xnn=e=>Object.values(e.values).join(` `).toLowerCase();hh(),fo(),Do();var Znn=(e,t,n)=>{let r=[];for(let i of Knn(e.categories)){if(t!==`all`&&i.id!==t)continue;let a=qnn(e.templates,i);if(a===void 0)continue;let o=e.promotions.filter(e=>e.categoryId===i.id),s=n===``?o:o.filter(e=>Xnn(e).includes(n));s.length>0&&r.push({category:i,template:a,items:s,count:o.length})}return r},Qnn=({onClose:e})=>(0,D.jsxs)(`div`,{className:$.ppHead,children:[(0,D.jsx)(`span`,{className:$.ppHeadIcon,children:(0,D.jsx)($r,{size:18})}),(0,D.jsxs)(`div`,{className:$.ppHeadText,children:[(0,D.jsx)(`h2`,{className:$.ppTitle,children:`Promotions & Campaigns`}),(0,D.jsx)(`p`,{className:$.ppSubtitle,children:`Latest campaigns, university updates, intake alerts and events.`}),(0,D.jsx)(`span`,{className:$.ppManaged,children:`Read-only · Managed by System Admin`})]}),(0,D.jsx)(`button`,{type:`button`,className:$.ppClose,"aria-label":`Close`,onClick:e,children:(0,D.jsx)(lo,{size:18})})]}),$nn=({tabs:e,active:t,onSelect:n})=>(0,D.jsx)(`div`,{className:$.ppTabs,children:e.map(e=>{let r=e.id===t;return(0,D.jsxs)(`button`,{type:`button`,className:T($.ppTab,r&&$.ppTabActive),onClick:()=>{n(e.id)},children:[r&&(0,D.jsx)(Gm.span,{layoutId:`ppTabBg`,className:$.ppTabBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,D.jsx)(`span`,{className:$.ppTabLabel,children:e.label})]},e.id)})}),ern=({categories:e,promotions:t,templates:n,initialTab:r,onClose:i})=>{let[a,o]=(0,E.useState)(r),[s,c]=(0,E.useState)(``),l=Ynn(e),u=Znn({categories:e,promotions:t,templates:n},a,s.trim().toLowerCase());return(0,D.jsxs)(`div`,{className:$.ppRoot,children:[(0,D.jsx)(`button`,{type:`button`,className:$.ppOverlay,"aria-label":`Close promotions`,onClick:i}),(0,D.jsxs)(`div`,{className:$.ppPanel,role:`dialog`,"aria-label":`Promotions & Campaigns`,children:[(0,D.jsx)(Qnn,{onClose:i}),(0,D.jsx)($nn,{tabs:l,active:a,onSelect:o}),(0,D.jsxs)(`div`,{className:$.ppSearch,children:[(0,D.jsx)(oa,{size:14,className:$.ppSearchIcon}),(0,D.jsx)(`input`,{type:`search`,className:$.ppSearchInput,placeholder:`Search promotions…`,value:s,onChange:e=>{c(e.target.value)}})]}),(0,D.jsx)(`div`,{className:$.ppList,children:(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Gm.div,{className:$.ppListInner,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.18,ease:`easeOut`},children:u.length===0?(0,D.jsx)(`p`,{className:$.ppEmpty,children:s.trim()===``?`No active promotions right now.`:`No promotions match.`}):u.map(e=>(0,D.jsx)(xLe,{template:e.template,color:e.category.color,name:e.category.name,count:e.count,items:e.items},e.category.id))},a)})})]})]})};hh(),fo(),Do();var trn=({sections:e,onClose:t,onSeeAll:n,onSelectTab:r})=>(0,D.jsx)(Gm.div,{className:$.promoPopoverOverlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:e=>{e.target===e.currentTarget&&t()},children:(0,D.jsxs)(Gm.div,{className:$.promoPopoverCard,initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:20},transition:{type:`spring`,damping:25,stiffness:300},children:[(0,D.jsxs)(`div`,{className:$.popoverHeader,children:[(0,D.jsx)(`button`,{type:`button`,className:$.popoverCloseX,onClick:t,"aria-label":`Close promotions modal`,children:(0,D.jsx)(lo,{size:18})}),(0,D.jsx)(`div`,{className:$.popoverBadgeIcon,children:(0,D.jsx)($r,{size:24})}),(0,D.jsxs)(`div`,{className:$.popoverTitleRow,children:[(0,D.jsx)(`h3`,{className:$.popoverTitle,children:`Promotions & Campaigns`}),(0,D.jsx)(`button`,{type:`button`,className:$.popoverSeeAllBtn,onClick:()=>{t(),n()},children:`See all`})]}),(0,D.jsx)(`p`,{className:$.popoverSub,children:`Stay updated with active promotions and university campaigns`})]}),(0,D.jsx)(`div`,{className:$.popoverContent,children:e.length===0?(0,D.jsx)(`p`,{className:$.popoverEmpty,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,D.jsx)(xLe,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{t(),r(e.id)}},e.id))})]})}),nrn=({sections:e,onSeeAll:t,onSelectTab:n})=>(0,D.jsxs)(`aside`,{className:$.rail,children:[(0,D.jsxs)(`div`,{className:$.railHead,children:[(0,D.jsxs)(`span`,{className:$.railHeadTitle,children:[(0,D.jsx)($r,{size:11}),` PROMOTIONS & CAMPAIGNS`]}),(0,D.jsx)(`button`,{type:`button`,className:$.railSeeAll,onClick:t,children:`See all`})]}),(0,D.jsx)(`div`,{className:$.railList,children:e.length===0?(0,D.jsx)(`p`,{className:$.railFoot,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,D.jsx)(xLe,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{n(e.id)}},e.id))}),(0,D.jsx)(`div`,{className:$.railFoot,children:`Managed by System Admin`})]}),rrn=({onOpen:e})=>{let[t,n]=(0,E.useState)(!1),[r,i]=(0,E.useState)(!1),a=(0,E.useRef)(0);return(0,E.useEffect)(()=>{let e=document.getElementById(`app-scroll-container`);if(!e)return;let t=()=>{let t=e.scrollTop;t<=4||t<a.current?i(!1):i(!0),a.current=t};return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[]),(0,E.useEffect)(()=>{if(!t)return;let e=setTimeout(()=>{n(!1)},4e3);return()=>{clearTimeout(e)}},[t]),(0,D.jsxs)(`button`,{type:`button`,className:T($.mobilePromoTrigger,t&&$.mobilePromoExpanded,r&&$.mobilePromoTriggerBarHidden),onClick:()=>{t?(n(!1),e()):n(!0)},"aria-label":`Promotions & Campaigns`,children:[(0,D.jsx)(`span`,{className:$.promoShimmerSweep}),(0,D.jsx)(`span`,{className:$.promoIconWrap,children:(0,D.jsx)($r,{size:15,className:$.sparkleIcon})}),(0,D.jsx)(`span`,{className:$.promoBtnText,children:`Promotions & Campaigns`})]})},irn=()=>{let e=dLe(),t=pLe(),n=fLe(),[r,i]=(0,E.useState)(null),[a,o]=(0,E.useState)(!1),s=e.data??[],c=t.data??[],l=n.data??[],u=Jnn(s,c,l);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(nrn,{sections:u,onSeeAll:()=>{i(`all`)},onSelectTab:e=>{i(e)}}),(0,D.jsx)(rrn,{onOpen:()=>{o(!0)}}),(0,D.jsx)(vm,{children:a&&(0,D.jsx)(trn,{sections:u,onClose:()=>{o(!1)},onSeeAll:()=>{i(`all`)},onSelectTab:e=>{i(e)}})}),r!==null&&(0,D.jsx)(ern,{categories:s,promotions:c,templates:l,initialTab:r,onClose:()=>{i(null)}})]})};fo(),Do();var arn=[{id:`for_you`,label:`For You`},{id:`team`,label:`Team Updates`},{id:`company`,label:`Company Wide`},{id:`saved`,label:`Saved Posts`,icon:fn}],orn=({scope:e,onChange:t})=>{let n=t8t(`saved`).data?.pages[0]?.totalCount;return(0,D.jsx)(`div`,{className:$.tabs,children:arn.map(r=>{let i=r.icon;return(0,D.jsxs)(`button`,{type:`button`,className:T($.tab,e===r.id&&$.tabActive),onClick:()=>{t(r.id)},children:[i!==void 0&&(0,D.jsx)(i,{size:13}),r.label,r.id===`saved`&&n!==void 0&&n>0&&(0,D.jsx)(`span`,{className:$.tabBadge,children:n})]},r.id)})})},_9={skeletonCard:`_skeletonCard_7d381_1`,skeletonHeader:`_skeletonHeader_7d381_11`,skeletonAvatar:`_skeletonAvatar_7d381_17`,pulse:`_pulse_7d381_1`,skeletonMeta:`_skeletonMeta_7d381_25`,skeletonLine:`_skeletonLine_7d381_32`,short:`_short_7d381_39`,medium:`_medium_7d381_43`,full:`_full_7d381_47`,skeletonBody:`_skeletonBody_7d381_51`};Do();var srn=({count:e=3})=>(0,D.jsx)(D.Fragment,{children:Array.from({length:e}).map((e,t)=>(0,D.jsxs)(`div`,{className:_9.skeletonCard,children:[(0,D.jsxs)(`div`,{className:_9.skeletonHeader,children:[(0,D.jsx)(`div`,{className:_9.skeletonAvatar}),(0,D.jsxs)(`div`,{className:_9.skeletonMeta,children:[(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.medium)}),(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.short)})]})]}),(0,D.jsxs)(`div`,{className:_9.skeletonBody,children:[(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.full)}),(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.full)}),(0,D.jsx)(`div`,{className:T(_9.skeletonLine,_9.medium)})]})]},t))});Fy();var crn=(e,t,n)=>{let r=a8t(),i=o8t(),a=s8t(),o=l8t(),s=u8t(),c=i8t();return{handleReact:t=>{r.mutateAsync({postId:e.id,type:t})},handleBookmark:()=>{i.mutateAsync(e.id)},handleAcknowledge:()=>{a.mutateAsync(e.id)},handleAddComment:t=>{o.mutateAsync({postId:e.id,text:t})},handlePin:()=>{s.mutateAsync({postId:e.id,pinned:!e.pinned})},handleEdit:()=>{t.setIsEditing(!0)},handleDelete:()=>{c.mutateAsync(e.id),n()},handleShare:()=>{t.setShareOpen(!0)},handleCloseShare:()=>{t.setShareOpen(!1)},commentPending:o.isPending}},lrn=({post:e,state:t})=>(0,D.jsx)(`div`,{className:g9.lightboxOverlay,children:(0,D.jsxs)(`div`,{className:g9.lightboxContainerTextOnly,style:{padding:0},children:[(0,D.jsx)(`button`,{type:`button`,className:g9.lightboxClose,onClick:()=>{t.setIsEditing(!1)},"aria-label":`Close edit`,children:(0,D.jsxs)(`svg`,{width:`24`,height:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,D.jsx)(`path`,{d:`M18 6 6 18`}),(0,D.jsx)(`path`,{d:`m6 6 12 12`})]})}),(0,D.jsx)(`div`,{style:{flex:1,overflowY:`auto`},children:(0,D.jsx)(Lnn,{post:e,state:t})})]})}),urn=({post:e,onClose:t})=>{let[n,r]=(0,E.useState)(0),{data:i}=h8t(e.id),a=i??e,o=Ftn(a),s=crn(a,o,t),c=fu(),{user:l}=eC(),{hasPermission:u}=wS(),d=a.authorUserId===l?.id,f=u(CS.feedPin),p=u(CS.feedReact),m=u(CS.feedComment),h=u(CS.feedBookmark),g=u(CS.feedAcknowledge),_=u(CS.feedDelete);return o.isEditing?(0,zy.createPortal)((0,D.jsx)(lrn,{post:a,state:o}),c??document.body):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Tnn,{post:a,urls:a.imageUrls,index:n,onChange:r,commentPending:s.commentPending,onReact:s.handleReact,canReact:p,canComment:m,onBookmark:s.handleBookmark,showBookmarkButton:h,onAcknowledge:s.handleAcknowledge,showAcknowledgeSection:g,onAddComment:s.handleAddComment,onPin:s.handlePin,showPinButton:f,onEdit:s.handleEdit,showEditButton:d,onDelete:s.handleDelete,showDeleteButton:_,onShare:s.handleShare,onClose:t}),(0,D.jsx)(Enn,{post:a,open:o.shareOpen,onClose:s.handleCloseShare})]})};fo(),Do(),gS();var drn=e=>{D8t(`feed-post-${e}`,`app-scroll-container`,`start`)},frn=({post:e,onView:t,onDismiss:n,displayZone:r})=>{let{categoryLabel:i,categoryColor:a}=g8t(e);return(0,D.jsxs)(`div`,{className:$.missedCard,children:[(0,D.jsx)(`button`,{type:`button`,className:$.missedClose,"aria-label":`Dismiss`,onClick:n,children:(0,D.jsx)(lo,{size:11,strokeWidth:2.5})}),(0,D.jsxs)(`div`,{className:$.missedCardTop,children:[(0,D.jsx)(`span`,{className:$.missedDot,style:yo({"--dot":a})}),(0,D.jsx)(`span`,{className:$.missedCat,children:i}),(0,D.jsx)(`span`,{className:$.missedTime,children:w8t(e.createdAt,r,e.scheduledAt)})]}),(0,D.jsx)(`p`,{className:$.missedSummary,children:e.title??e.body}),(0,D.jsxs)(`div`,{className:$.missedFoot,children:[(0,D.jsxs)(`button`,{type:`button`,className:$.missedCta,onClick:t,children:[`View post `,(0,D.jsx)(zn,{size:10,strokeWidth:3})]}),e.mustAcknowledge&&(0,D.jsxs)(`span`,{className:$.missedPriority,children:[(0,D.jsx)(Un,{size:8}),` Priority`]})]})]})},prn=({posts:e})=>{let[t,n]=(0,E.useState)(new Set),[r,i]=(0,E.useState)(!1),a=(0,E.useRef)(null),o=hS().display,s=e.filter(e=>e.mustAcknowledge&&!t.has(e.id)&&!e.acknowledged);if(r||s.length===0)return null;let c=e=>{a.current?.scrollBy({left:e*300,behavior:`smooth`})},l=s.length>2;return(0,D.jsxs)(`div`,{className:$.missed,children:[(0,D.jsxs)(`div`,{className:$.missedHead,children:[(0,D.jsx)(sn,{size:14,className:$.missedSpark}),(0,D.jsx)(`span`,{className:$.missedTitle,children:`WHAT YOU MISSED`}),(0,D.jsx)(`span`,{className:$.missedBadge,children:s.length}),(0,D.jsx)(`button`,{type:`button`,className:$.missedRead,onClick:()=>{i(!0)},children:`Mark all read`})]}),(0,D.jsxs)(`div`,{className:T($.missedScroller,l&&$.missedScrollerFade),children:[l&&(0,D.jsx)(`button`,{type:`button`,className:T($.missedNav,$.missedNavLeft),"aria-label":`Scroll left`,onClick:()=>{c(-1)},children:(0,D.jsx)(Ln,{size:16})}),(0,D.jsx)(`div`,{className:$.missedTrack,ref:a,children:s.map(e=>(0,D.jsx)(frn,{post:e,displayZone:o,onView:()=>{drn(e.id)},onDismiss:()=>{n(t=>new Set(t).add(e.id))}},e.id))}),l&&(0,D.jsx)(`button`,{type:`button`,className:T($.missedNav,$.missedNavRight),"aria-label":`Scroll right`,onClick:()=>{c(1)},children:(0,D.jsx)(zn,{size:16})})]})]})};Dt(),fo(),Fy();var mrn=(e,t)=>{let n=t.trim();if(n===``)return e;let r=n.replace(/\s+/g,` `).toLowerCase();return e.filter(e=>[e.authorName,e.authorRole,e.audienceLabel,e.timestamp,e.title,e.body].filter(Boolean).join(` `).replace(/\s+/g,` `).toLowerCase().includes(r))},hrn=(e,t,n)=>{let r=(0,E.useRef)(null),i=(0,E.useCallback)(r=>{r[0]?.isIntersecting&&e&&!t&&n()},[e,t,n]);return(0,E.useEffect)(()=>{let e=r.current;if(!e)return;let t=new IntersectionObserver(i,{rootMargin:`2000px`});return t.observe(e),()=>{t.disconnect()}},[i]),r},grn=e=>{let[t,n]=cee(),r=h8t(t.get(`postId`));(0,E.useEffect)(()=>{if(r.data===void 0)return;e(r.data);let t=new URLSearchParams(window.location.search);t.has(`postId`)&&(t.delete(`postId`),n(t,{replace:!0}))},[r.data])},_rn=()=>{let[e,t]=(0,E.useState)(`for_you`),[n,r]=(0,E.useState)(``),[i,a]=(0,E.useState)(null),o=t8t(e),{hasPermission:s}=wS(),c=s(CS.feedPost),{hasNextPage:l,isFetchingNextPage:u,fetchNextPage:d}=o,f=mrn(o.data?o.data.pages.flatMap(e=>e.items):[],n);grn(e=>{a(e)});let p=hrn(l,u,d);return(0,D.jsxs)(`div`,{className:$.screen,children:[(0,D.jsx)(`div`,{className:$.toolbar,children:(0,D.jsxs)(`div`,{className:$.toolbarContainer,children:[(0,D.jsxs)(`div`,{className:$.search,children:[(0,D.jsx)(oa,{size:14,className:$.searchIcon}),(0,D.jsx)(`input`,{type:`search`,className:$.searchInput,placeholder:`Search posts by keyword, title, author, or role…`,value:n,onChange:e=>{r(e.target.value)}})]}),(0,D.jsx)(`div`,{className:$.toolbarRailSpacer})]})}),(0,D.jsxs)(`div`,{className:$.wrapper,children:[(0,D.jsxs)(`div`,{className:$.column,children:[(0,D.jsx)(orn,{scope:e,onChange:e=>{t(e)}}),(0,D.jsx)(prn,{posts:f}),c&&(0,D.jsx)(xtn,{}),o.isPending&&(0,D.jsx)(srn,{count:3}),o.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not load the feed`,children:o.error.message}),o.isSuccess&&f.length===0&&(0,D.jsx)(Stn,{}),(0,D.jsx)(Wnn,{posts:f}),(0,D.jsx)(`div`,{ref:p,style:{height:`20px`,width:`100%`},children:o.isFetchingNextPage&&(0,D.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`1rem`},children:(0,D.jsx)(Vo,{})})})]}),(0,D.jsx)(irn,{})]}),i!==null&&(0,D.jsx)(urn,{post:i,onClose:()=>{a(null)}})]})};Dt();var vrn=({path:e,children:t})=>(0,D.jsxs)(at,{children:[(0,D.jsx)(rt,{path:e,element:(0,D.jsx)(D.Fragment,{children:t})}),(0,D.jsx)(rt,{path:`*`,element:(0,D.jsx)(nt,{to:e,replace:!0})})]}),yrn=()=>{m9(`uapp-feed`,()=>(0,D.jsx)(vrn,{path:`/comms/feed`,children:(0,D.jsx)(_rn,{})}))},brn=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:((t[0]?.[0]??``)+(t.length>1?t[t.length-1]?.[0]??``:``)).toUpperCase()},xrn=()=>{let{user:e}=eC(),t=e?.fullName??``;return{id:e?.id??``,name:t,initials:brn(t),color:`#0f1f1f`,role:`Organizer`}};H7(),gS(),mS();var Srn=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<i&&new Date(e.endUtc).getTime()>r)},Crn=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<=r&&new Date(e.endUtc).getTime()>=i)},wrn=(e,t=30)=>{let n=t>0?t:30,r=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},i=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`,a=r(e.end),o=[];for(let t=r(e.start);t+n<=a;t+=n)o.push({start:i(t),end:i(t+n),label:`${i(t)} – ${i(t+n)}`});return o},Trn=(e,t)=>{let n=e??t,r=n.getFullYear(),i=String(n.getMonth()+1).padStart(2,`0`),a=String(n.getDate()).padStart(2,`0`);return`${String(r)}-${i}-${a}`},Ern=(e,t)=>new Date(e).toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`,hour12:!0,timeZone:t}),v9=(e,t,n)=>!e||!t?``:`${Ern(e,n)} – ${Ern(t,n)}`,Drn=(e,t)=>e?new Date(e).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,timeZone:t}):``,Orn=(e,t)=>t.id!==``&&e===t.id,krn=(e,t,n)=>{if(Orn(e,n))return n.name.split(` `)[0]??n.name;let r=t.find(t=>t.id===e);return r===void 0?``:r.name.split(` `)[0]??``},Arn=(e,t,n)=>{if(Orn(e,n))return{name:`${n.name} (You)`,role:n.role,initials:n.initials,color:n.color};let r=t.find(t=>t.id===e);return{name:r?.name??``,role:r?.role??``,initials:r?.initials??``,color:r?.color??`#555`}},jrn=(e,t,n)=>{let r=new Date(fS(e,`00:00`,t));return{rangeStart:r,rangeEnd:new Date(r.getTime()+1440*60*1e3),workWindows:n?.active?n.slots.map(n=>({start:new Date(fS(e,n.from,t)),end:new Date(fS(e,n.to,t))})):[]}},Mrn=(e,t,n,r)=>{let i=[],a=(e,t)=>{i.push({startUtc:new Date(e).getTime(),endUtc:new Date(t).getTime()})};r.workWindows.forEach(e=>{a(e.start,e.end)}),n.forEach(e=>{$y(e,r.rangeStart,r.rangeEnd).forEach(e=>{a(e.start,e.end)})}),e.forEach(e=>{let n=t.get(e);n&&(n.workingHours.forEach(e=>{a(e.startUtc,e.endUtc)}),n.busy.forEach(e=>{a(e.startUtc,e.endUtc)}))});let o=r.rangeStart.getTime(),s=r.rangeEnd.getTime(),c=i.filter(e=>e.startUtc<s&&e.endUtc>o).map(e=>({startOffsetMs:Math.max(e.startUtc,o)-o,endOffsetMs:Math.min(e.endUtc,s)-o}));if(c.length===0)return{start:`09:00`,end:`17:00`};let l=1440*60*1e3,u=0;c.forEach(e=>{e.startOffsetMs<l&&(l=e.startOffsetMs),e.endOffsetMs>u&&(u=e.endOffsetMs)});let d=Math.floor(Math.max(0,l/6e4-60)/30)*30,f=Math.ceil(Math.min(1440,u/6e4+60)/30)*30,p=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`;return{start:p(d),end:p(f)}},Nrn=2*6e4,Prn=e=>new Date(e).getTime()<Date.now()-Nrn,y9={bookCard:`_bookCard_11n7l_7`,bookTopBar:`_bookTopBar_11n7l_16`,bookGrid:`_bookGrid_11n7l_26`,colCalendar:`_colCalendar_11n7l_31`,search:`_search_11n7l_37`,searchIcon:`_searchIcon_11n7l_42`,searchInput:`_searchInput_11n7l_50`,contactList:`_contactList_11n7l_61`,contactRow:`_contactRow_11n7l_72`,contactActive:`_contactActive_11n7l_91`,contactAvatar:`_contactAvatar_11n7l_96`,contactText:`_contactText_11n7l_112`,contactName:`_contactName_11n7l_120`,contactRole:`_contactRole_11n7l_135`,contactCheck:`_contactCheck_11n7l_144`,contactCheckOn:`_contactCheckOn_11n7l_158`,contactCheckIcon:`_contactCheckIcon_11n7l_164`,contactEmpty:`_contactEmpty_11n7l_170`,calHead:`_calHead_11n7l_177`,calMonth:`_calMonth_11n7l_184`,calNav:`_calNav_11n7l_190`,calNavBtn:`_calNavBtn_11n7l_195`,calDays:`_calDays_11n7l_208`,calDayLabel:`_calDayLabel_11n7l_214`,calGrid:`_calGrid_11n7l_222`,calCell:`_calCell_11n7l_228`,calCellToday:`_calCellToday_11n7l_248`,calCellSelected:`_calCellSelected_11n7l_254`,calCellPast:`_calCellPast_11n7l_262`,calCellBlank:`_calCellBlank_11n7l_267`,bookBar:`_bookBar_11n7l_272`,bookHint:`_bookHint_11n7l_282`,bookSummary:`_bookSummary_11n7l_287`,bookSummaryName:`_bookSummaryName_11n7l_295`,bookSummarySlot:`_bookSummarySlot_11n7l_300`,bookBtn:`_bookBtn_11n7l_305`,disabledBtnWrapper:`_disabledBtnWrapper_11n7l_326`,confirmBody:`_confirmBody_11n7l_331`,confirmWho:`_confirmWho_11n7l_337`,confirmAvatar:`_confirmAvatar_11n7l_347`,confirmWhoText:`_confirmWhoText_11n7l_361`,confirmName:`_confirmName_11n7l_368`,confirmRole:`_confirmRole_11n7l_374`,confirmRows:`_confirmRows_11n7l_379`,confirmRow:`_confirmRow_11n7l_379`,confirmRowIcon:`_confirmRowIcon_11n7l_396`,confirmRowLabel:`_confirmRowLabel_11n7l_408`,confirmRowValue:`_confirmRowValue_11n7l_416`,bookedNote:`_bookedNote_11n7l_424`,typeSelector:`_typeSelector_11n7l_434`,typeBtn:`_typeBtn_11n7l_442`,typeBtnActive:`_typeBtnActive_11n7l_460`};hh(),fo(),H7();var Frn=({spanKey:e,name:t,dateLabel:n,formattedSlot:r})=>(0,D.jsxs)(Gm.span,{className:y9.bookSummary,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,D.jsx)(`span`,{className:y9.bookSummaryName,children:t}),` · `,n,` ·`,` `,(0,D.jsx)(`span`,{className:y9.bookSummarySlot,children:r})]},e),Irn=({meetingType:e,contact:t,dateLabel:n,slot:r,selectedContactIds:i,groupTitle:a,formattedSlot:o})=>e===`1:1`?t!==null&&n!==``&&r!==null?(0,D.jsx)(Frn,{spanKey:`summary`,name:t.name,dateLabel:n,formattedSlot:o}):null:i.length>0&&n!==``&&r!==null?(0,D.jsx)(Frn,{spanKey:`group-summary`,name:`${a||`Group Meeting`} (${String(i.length)} guests)`,dateLabel:n,formattedSlot:o}):null,Lrn=({success:e,meetingType:t,contact:n,dateLabel:r,slot:i,selectedContactIds:a,groupTitle:o,selectedSlot:s,tzId:c})=>{if(e)return(0,D.jsxs)(Gm.span,{className:y9.bookedNote,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,D.jsx)(Nn,{size:14,strokeWidth:3}),` Meeting booked — see the Scheduled tab.`]},`done`);let l=Irn({meetingType:t,contact:n,dateLabel:r,slot:i,selectedContactIds:a,groupTitle:o,formattedSlot:s?v9(s.startUtc,s.endUtc,c):``});return l===null?(0,D.jsx)(`span`,{className:y9.bookHint,children:t===`1:1`?`Pick a person, a date, and a time to book.`:`Select participants, set group title, pick a date and a time to book.`},`hint`):l},Rrn=({contact:e,dateLabel:t,slot:n,canBook:r,success:i,meetingType:a,selectedContactIds:o,groupTitle:s,onBook:c,selectedSlot:l,tzId:u})=>(0,D.jsxs)(`div`,{className:y9.bookBar,children:[(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Lrn,{success:i,meetingType:a,contact:e,dateLabel:t,slot:n,selectedContactIds:o,groupTitle:s,selectedSlot:l,tzId:u})}),(0,D.jsxs)(Gm.button,{type:`button`,className:y9.bookBtn,disabled:!r,...r?{whileTap:{scale:.97}}:{},onClick:()=>{c()},children:[`Confirm booking `,(0,D.jsx)(nn,{size:15})]})]}),zrn=[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],Brn=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Vrn=e=>e.toLocaleDateString(`en-GB`,{weekday:`short`,day:`2-digit`,month:`short`}),Hrn=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),Urn=(e,t,n)=>{let r=new Date(e,t,1).getDay(),i=new Date(e,t+1,0).getDate(),a=new Date(n.getFullYear(),n.getMonth(),n.getDate()),o=Array.from({length:r},()=>null);for(let r=1;r<=i;r+=1){let i=new Date(e,t,r);o.push({day:r,date:i,past:i<a,today:Hrn(i,n)})}return o},b9={col:`_col_18ut1_6`,colTitle:`_colTitle_18ut1_13`,stepDot:`_stepDot_18ut1_22`};hh(),fo(),Do();var Wrn=({cell:e,selected:t,onPick:n})=>(0,D.jsx)(Gm.button,{type:`button`,disabled:e.past,...e.past?{}:{whileHover:{scale:1.12},whileTap:{scale:.9}},className:T(y9.calCell,e.past&&y9.calCellPast,e.today&&y9.calCellToday,t?.toDateString()===e.date.toDateString()&&y9.calCellSelected),onClick:()=>{n(e.date)},children:e.day}),Grn=({view:e,today:t,selected:n,onShift:r,onPick:i})=>(0,D.jsxs)(`div`,{className:y9.colCalendar,children:[(0,D.jsxs)(`div`,{className:b9.colTitle,children:[(0,D.jsx)(`span`,{className:b9.stepDot,children:`2`}),` Pick a date`]}),(0,D.jsxs)(`div`,{className:y9.calHead,children:[(0,D.jsxs)(`span`,{className:y9.calMonth,children:[Brn[e.month],` `,e.year]}),(0,D.jsxs)(`div`,{className:y9.calNav,children:[(0,D.jsx)(Gm.button,{type:`button`,"aria-label":`Previous month`,className:y9.calNavBtn,whileTap:{scale:.88},onClick:()=>{r(-1)},children:(0,D.jsx)(Ln,{size:15})}),(0,D.jsx)(Gm.button,{type:`button`,"aria-label":`Next month`,className:y9.calNavBtn,whileTap:{scale:.88},onClick:()=>{r(1)},children:(0,D.jsx)(zn,{size:15})})]})]}),(0,D.jsx)(`div`,{className:y9.calDays,children:zrn.map(e=>(0,D.jsx)(`span`,{className:y9.calDayLabel,children:e},e))}),(0,D.jsx)(Gm.div,{className:y9.calGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.18,ease:[.22,1,.36,1]},children:Urn(e.year,e.month,t).map((e,t)=>e===null?(0,D.jsx)(`span`,{className:y9.calCellBlank},`blank-${String(t)}`):(0,D.jsx)(Wrn,{cell:e,selected:n,onPick:i},e.day))},`${String(e.year)}-${String(e.month)}`)]});hh(),fo(),Fy(),Do();var Krn={hidden:{},visible:{transition:{staggerChildren:.05,delayChildren:.05}}},qrn={hidden:{opacity:0,x:-8},visible:{opacity:1,x:0,transition:{duration:.18,ease:`easeOut`}}},x9=({icon:e,label:t,value:n})=>(0,D.jsxs)(Gm.div,{className:y9.confirmRow,variants:qrn,children:[(0,D.jsx)(`span`,{className:y9.confirmRowIcon,children:e}),(0,D.jsx)(`span`,{className:y9.confirmRowLabel,children:t}),(0,D.jsx)(`span`,{className:y9.confirmRowValue,children:n})]}),Jrn=({contact:e,dateLabel:t,formattedSlot:n,zone:r})=>(0,D.jsxs)(`div`,{className:y9.confirmBody,children:[(0,D.jsxs)(`div`,{className:y9.confirmWho,children:[(0,D.jsx)(`span`,{className:y9.confirmAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:y9.confirmWhoText,children:[(0,D.jsx)(`span`,{className:y9.confirmName,children:e.name}),(0,D.jsx)(`span`,{className:y9.confirmRole,children:e.role})]})]}),(0,D.jsxs)(Gm.div,{className:y9.confirmRows,variants:Krn,initial:`hidden`,animate:`visible`,children:[(0,D.jsx)(x9,{icon:(0,D.jsx)(Sn,{size:15}),label:`Date`,value:t}),(0,D.jsx)(x9,{icon:(0,D.jsx)(Xn,{size:15}),label:`Time`,value:n}),(0,D.jsx)(x9,{icon:(0,D.jsx)(br,{size:15}),label:`Timezone`,value:`${r.city} · ${r.offset}`}),(0,D.jsx)(x9,{icon:(0,D.jsx)(io,{size:15}),label:`Location`,value:`Online — link generated automatically`})]})]}),Yrn=({open:e,contact:t,dateLabel:n,slot:r,zone:i,pending:a,onConfirm:o,onClose:s,selectedSlot:c,tzId:l})=>{let{hasPermission:u}=wS(),d=u(CS.meetingsBook),f=v9(c?.startUtc,c?.endUtc,l);return(0,D.jsx)(xh,{open:e&&t!==null&&r!==null&&n!==``,onOpenChange:e=>{e||s()},title:`Confirm your booking`,description:`A calendar invite is sent to both of you once confirmed.`,footer:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(es,{variant:`ghost`,onClick:s,children:`Back`}),d?(0,D.jsx)(es,{isLoading:a,disabled:a,onClick:o,children:`Confirm booking`}):(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:(0,D.jsx)(`span`,{className:y9.disabledBtnWrapper,children:(0,D.jsx)(es,{isLoading:a,disabled:!0,onClick:o,children:`Confirm booking`})})})]}),children:t!==null&&r!==null?(0,D.jsx)(Jrn,{contact:t,dateLabel:n,formattedSlot:f,zone:i}):null})},Xrn={titleWrap:`_titleWrap_18nb9_3`,titleInput:`_titleInput_18nb9_7`};hh(),fo(),Do(),Fy();var Zrn={hidden:{},visible:{transition:{staggerChildren:.04}}},Qrn=({contact:e,active:t,onSelect:n})=>(0,D.jsxs)(Gm.button,{type:`button`,layout:!0,variants:gh,whileHover:{x:3},whileTap:{scale:.985},transition:{type:`spring`,stiffness:500,damping:34},className:T(y9.contactRow,t&&y9.contactActive),onClick:n,children:[(0,D.jsx)(`span`,{className:y9.contactAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:y9.contactText,children:[(0,D.jsx)(`span`,{className:y9.contactName,children:e.name}),(0,D.jsx)(`span`,{className:y9.contactRole,children:e.role})]}),(0,D.jsx)(`span`,{className:T(y9.contactCheck,t&&y9.contactCheckOn),children:(0,D.jsx)(vm,{children:t&&(0,D.jsx)(Gm.span,{className:y9.contactCheckIcon,initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,D.jsx)(Nn,{size:11,strokeWidth:3})})})})]}),$rn=({contacts:e,selectedId:t,search:n,onSearch:r,onSelect:i,mode:a=`1:1`,selectedIds:o=[],onSelectGroup:s,groupTitle:c=``,onGroupTitleChange:l})=>(0,D.jsxs)(`div`,{className:b9.col,children:[(0,D.jsxs)(`div`,{className:b9.colTitle,children:[(0,D.jsx)(`span`,{className:b9.stepDot,children:`1`}),` `,a===`group`?`Configure Group Event`:`Choose a person`]}),a===`group`&&l&&(0,D.jsx)(`div`,{className:Xrn.titleWrap,children:(0,D.jsx)(`input`,{type:`text`,className:T(y9.searchInput,Xrn.titleInput),placeholder:`Group Event Title (e.g. Team Sync)`,value:c,onChange:e=>{l(e.target.value)}})}),(0,D.jsxs)(`div`,{className:y9.search,children:[(0,D.jsx)(oa,{size:14,className:y9.searchIcon}),(0,D.jsx)(`input`,{type:`search`,className:y9.searchInput,placeholder:`Search people…`,value:n,onChange:e=>{r(e.target.value)}})]}),(0,D.jsxs)(Gm.div,{className:y9.contactList,variants:Zrn,initial:`hidden`,animate:`visible`,children:[(0,D.jsx)(vm,{initial:!1,children:e.map(e=>(0,D.jsx)(Qrn,{contact:e,active:a===`group`?o.includes(e.id):t===e.id,onSelect:()=>{a===`group`&&s?s(o.includes(e.id)?o.filter(t=>t!==e.id):[...o,e.id]):i(e.id)}},e.id))}),e.length===0&&(0,D.jsx)(`p`,{className:y9.contactEmpty,children:`No people match.`})]})]}),S9={wizardContainer:`_wizardContainer_pyr7v_8`,stepper:`_stepper_pyr7v_17`,stepItem:`_stepItem_pyr7v_27`,stepLine:`_stepLine_pyr7v_34`,stepLineActive:`_stepLineActive_pyr7v_40`,stepCircle:`_stepCircle_pyr7v_44`,stepCircleActive:`_stepCircleActive_pyr7v_60`,stepCircleDone:`_stepCircleDone_pyr7v_66`,stepText:`_stepText_pyr7v_72`,stepTextActive:`_stepTextActive_pyr7v_78`,wizardContent:`_wizardContent_pyr7v_83`,wizardRow:`_wizardRow_pyr7v_90`,wizardPanelLeft:`_wizardPanelLeft_pyr7v_96`,wizardPanelRight:`_wizardPanelRight_pyr7v_106`,timePanelLeft:`_timePanelLeft_pyr7v_114`,wizardList:`_wizardList_pyr7v_118`,timePanelRight:`_timePanelRight_pyr7v_128`,panelHeading:`_panelHeading_pyr7v_132`,wizardSearch:`_wizardSearch_pyr7v_139`,wizardListBtn:`_wizardListBtn_pyr7v_159`,wizardListBtnActive:`_wizardListBtnActive_pyr7v_176`,avatar:`_avatar_pyr7v_181`,avatarSmall:`_avatarSmall_pyr7v_193`,contactName:`_contactName_pyr7v_205`,contactRole:`_contactRole_pyr7v_211`,checkbox:`_checkbox_pyr7v_217`,checkboxActive:`_checkboxActive_pyr7v_228`,panelHeader:`_panelHeader_pyr7v_234`,badge:`_badge_pyr7v_246`,selectedGrid:`_selectedGrid_pyr7v_254`,selectedEmpty:`_selectedEmpty_pyr7v_274`,selectedEmptyIcon:`_selectedEmptyIcon_pyr7v_285`,selectedItemCard:`_selectedItemCard_pyr7v_291`,cardName:`_cardName_pyr7v_301`,cardRole:`_cardRole_pyr7v_310`,removeBtn:`_removeBtn_pyr7v_318`,attendeeStatusItem:`_attendeeStatusItem_pyr7v_337`,statusIndicator:`_statusIndicator_pyr7v_346`,statusIndicatorAvail:`_statusIndicatorAvail_pyr7v_353`,statusIndicatorBusy:`_statusIndicatorBusy_pyr7v_357`,statusIndicatorOoh:`_statusIndicatorOoh_pyr7v_361`,gridToolbar:`_gridToolbar_pyr7v_366`,datePickerInput:`_datePickerInput_pyr7v_377`,durationSelector:`_durationSelector_pyr7v_386`,durBtn:`_durBtn_pyr7v_394`,durBtnActive:`_durBtnActive_pyr7v_405`,legend:`_legend_pyr7v_411`,legendItem:`_legendItem_pyr7v_418`,dotAvail:`_dotAvail_pyr7v_425`,dotBusy:`_dotBusy_pyr7v_426`,dotOoh:`_dotOoh_pyr7v_427`,suggestedStrip:`_suggestedStrip_pyr7v_443`,suggestedRow:`_suggestedRow_pyr7v_449`,suggestedCard:`_suggestedCard_pyr7v_456`,suggestedCardActive:`_suggestedCardActive_pyr7v_472`,suggestedCardFree:`_suggestedCardFree_pyr7v_479`,gridEmpty:`_gridEmpty_pyr7v_489`,wizardConfirmContainer:`_wizardConfirmContainer_pyr7v_501`,confirmHeading:`_confirmHeading_pyr7v_509`,confirmSub:`_confirmSub_pyr7v_516`,confirmCard:`_confirmCard_pyr7v_522`,confirmRow:`_confirmRow_pyr7v_532`,confirmLabel:`_confirmLabel_pyr7v_540`,confirmVal:`_confirmVal_pyr7v_548`,confirmAttendeeBadge:`_confirmAttendeeBadge_pyr7v_554`,avatarTiny:`_avatarTiny_pyr7v_567`,wizardFooter:`_wizardFooter_pyr7v_580`,wizardBackBtn:`_wizardBackBtn_pyr7v_589`,wizardNextBtn:`_wizardNextBtn_pyr7v_609`,selectedStatusAlert:`_selectedStatusAlert_pyr7v_634`,successContainer:`_successContainer_pyr7v_647`,successHeader:`_successHeader_pyr7v_659`,successTitle:`_successTitle_pyr7v_667`,successSub:`_successSub_pyr7v_674`,successCard:`_successCard_pyr7v_680`,successRow:`_successRow_pyr7v_694`,successLabel:`_successLabel_pyr7v_707`,successVal:`_successVal_pyr7v_716`,successActions:`_successActions_pyr7v_725`,successBtn:`_successBtn_pyr7v_733`,successBtnPrimary:`_successBtnPrimary_pyr7v_743`,successBtnSecondary:`_successBtnSecondary_pyr7v_752`},C9={titleVal:`_titleVal_195yt_3`,inlineIcon:`_inlineIcon_195yt_8`,agendaVal:`_agendaVal_195yt_13`,lastRow:`_lastRow_195yt_17`,guestList:`_guestList_195yt_21`};fo(),Do();var ein=({d:e})=>{let t=e.selectedContactIds.map(t=>e.list.find(e=>e.id===t)),n=e.groupTitle.trim()===``?`Group Meeting`:e.groupTitle,r=e.selectedSlot?v9(e.selectedSlot.startUtc,e.selectedSlot.endUtc,e.tzId):`No time selected`,i=e.selectedSlot?Drn(e.selectedSlot.startUtc,e.tzId):e.dateLabel;return(0,D.jsxs)(`div`,{className:S9.wizardConfirmContainer,children:[(0,D.jsx)(`h3`,{className:S9.confirmHeading,children:`Review group meeting`}),(0,D.jsx)(`p`,{className:S9.confirmSub,children:`Ensure everything is correct before sending invitations.`}),(0,D.jsxs)(`div`,{className:S9.confirmCard,children:[(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Title`}),(0,D.jsx)(`span`,{className:T(S9.confirmVal,C9.titleVal),children:n})]}),(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Date & Time`}),(0,D.jsxs)(`span`,{className:S9.confirmVal,children:[i,` @ `,r,` (`,e.zone.offset,`)`]})]}),(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Location`}),(0,D.jsxs)(`span`,{className:S9.confirmVal,children:[(0,D.jsx)(qr,{size:13,className:C9.inlineIcon}),e.groupLocation]})]}),e.groupDescription.trim()&&(0,D.jsxs)(`div`,{className:S9.confirmRow,children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Agenda`}),(0,D.jsx)(`span`,{className:T(S9.confirmVal,C9.agendaVal),children:e.groupDescription})]}),(0,D.jsxs)(`div`,{className:T(S9.confirmRow,C9.lastRow),children:[(0,D.jsx)(`span`,{className:S9.confirmLabel,children:`Invited Guests`}),(0,D.jsx)(`div`,{className:T(S9.confirmVal,C9.guestList),children:t.map(e=>e===void 0?null:(0,D.jsxs)(`span`,{className:S9.confirmAttendeeBadge,children:[(0,D.jsx)(`span`,{className:S9.avatarTiny,style:{backgroundColor:e.color},children:e.initials}),e.name]},e.id))})]})]})]})},w9={wizardDetailsForm:`_wizardDetailsForm_79bfd_3`,detailsHeading:`_detailsHeading_79bfd_11`,detailsSub:`_detailsSub_79bfd_18`,formGroup:`_formGroup_79bfd_24`,formLabel:`_formLabel_79bfd_28`,formInput:`_formInput_79bfd_37`,formTextarea:`_formTextarea_79bfd_54`},tin=({d:e})=>(0,D.jsxs)(`div`,{className:w9.wizardDetailsForm,children:[(0,D.jsx)(`h3`,{className:w9.detailsHeading,children:`Meeting details`}),(0,D.jsx)(`p`,{className:w9.detailsSub,children:`Add context to the invite so attendees know what to expect.`}),(0,D.jsxs)(`div`,{className:w9.formGroup,children:[(0,D.jsx)(`label`,{className:w9.formLabel,children:`MEETING TITLE *`}),(0,D.jsx)(`input`,{type:`text`,className:w9.formInput,placeholder:`e.g. Weekly Admissions Alignment`,value:e.groupTitle,onChange:t=>{e.setGroupTitle(t.target.value)}})]}),(0,D.jsxs)(`div`,{className:w9.formGroup,children:[(0,D.jsx)(`label`,{className:w9.formLabel,children:`LOCATION / TYPE *`}),(0,D.jsx)(`input`,{type:`text`,className:w9.formInput,placeholder:`e.g. Google Meet, Room 402`,value:e.groupLocation,onChange:t=>{e.setGroupLocation(t.target.value)}})]}),(0,D.jsxs)(`div`,{className:w9.formGroup,children:[(0,D.jsx)(`label`,{className:w9.formLabel,children:`AGENDA / DESCRIPTION`}),(0,D.jsx)(`textarea`,{className:w9.formTextarea,rows:5,placeholder:`What will you cover in this meeting? (optional)`,value:e.groupDescription,onChange:t=>{e.setGroupDescription(t.target.value)}})]})]}),nin={searchWrap:`_searchWrap_3i51q_3`,contactMeta:`_contactMeta_3i51q_7`,selectedMeta:`_selectedMeta_3i51q_13`};hh(),fo(),Do();var rin=({d:e,isSelected:t,onToggle:n})=>(0,D.jsxs)(`div`,{className:S9.wizardPanelLeft,children:[(0,D.jsxs)(`div`,{className:nin.searchWrap,children:[(0,D.jsx)(`h3`,{className:S9.panelHeading,children:`Add participants`}),(0,D.jsx)(`input`,{type:`text`,className:S9.wizardSearch,placeholder:`Search by name, role or department...`,value:e.search,onChange:t=>{e.setSearch(t.target.value)}})]}),(0,D.jsx)(`div`,{className:S9.wizardList,children:e.searchResults.map(e=>(0,D.jsxs)(`button`,{type:`button`,className:T(S9.wizardListBtn,t(e.id)&&S9.wizardListBtnActive),onClick:()=>{n(e.id)},children:[(0,D.jsx)(`span`,{className:S9.avatar,style:{backgroundColor:e.color},children:e.initials}),(0,D.jsxs)(`div`,{className:nin.contactMeta,children:[(0,D.jsx)(`div`,{className:S9.contactName,children:e.name}),(0,D.jsx)(`div`,{className:S9.contactRole,children:e.role})]}),(0,D.jsx)(`div`,{className:T(S9.checkbox,t(e.id)&&S9.checkboxActive),children:t(e.id)&&(0,D.jsx)(Nn,{size:10,strokeWidth:3})})]},e.id))})]}),iin=({d:e,onToggle:t})=>(0,D.jsxs)(`div`,{className:S9.wizardPanelRight,children:[(0,D.jsxs)(`div`,{className:S9.panelHeader,children:[(0,D.jsx)(`span`,{children:`SELECTED`}),(0,D.jsxs)(`span`,{className:S9.badge,children:[String(e.selectedContactIds.length),` guests`]})]}),(0,D.jsx)(`div`,{className:S9.selectedGrid,children:(0,D.jsx)(vm,{initial:!1,children:e.selectedContactIds.length===0?(0,D.jsxs)(Gm.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:S9.selectedEmpty,children:[(0,D.jsx)(to,{size:22,className:S9.selectedEmptyIcon}),(0,D.jsx)(`span`,{children:`Select people on the left to add them to the meeting.`})]},`empty`):e.selectedContactIds.map(n=>{let r=e.list.find(e=>e.id===n);return r===void 0?null:(0,D.jsxs)(Gm.div,{layout:!0,initial:{opacity:0,y:10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.9,x:20},transition:{type:`spring`,stiffness:300,damping:25},className:S9.selectedItemCard,children:[(0,D.jsx)(`span`,{className:S9.avatarSmall,style:{backgroundColor:r.color},children:r.initials}),(0,D.jsxs)(`div`,{className:nin.selectedMeta,children:[(0,D.jsx)(`div`,{className:S9.cardName,children:r.name}),(0,D.jsx)(`div`,{className:S9.cardRole,children:r.role})]}),(0,D.jsx)(`button`,{type:`button`,className:S9.removeBtn,onClick:()=>{t(n)},children:(0,D.jsx)(Ka,{size:13})})]},n)})})})]}),ain=({d:e})=>{let t=t=>e.selectedContactIds.includes(t),n=n=>{t(n)?e.setSelectedContactIds(e.selectedContactIds.filter(e=>e!==n)):e.setSelectedContactIds([...e.selectedContactIds,n])};return(0,D.jsxs)(`div`,{className:S9.wizardRow,children:[(0,D.jsx)(rin,{d:e,isSelected:t,onToggle:n}),(0,D.jsx)(iin,{d:e,onToggle:n})]})},T9={timelineContainer:`_timelineContainer_1799e_3`,timelineHeaderRow:`_timelineHeaderRow_1799e_18`,timelineTimeCell:`_timelineTimeCell_1799e_27`,timelineHeaderCell:`_timelineHeaderCell_1799e_38`,timelineBody:`_timelineBody_1799e_52`,timelineRow:`_timelineRow_1799e_57`,timelineTimeCellActive:`_timelineTimeCellActive_1799e_75`,timelineCell:`_timelineCell_1799e_81`,cellAvail:`_cellAvail_1799e_90`,cellBusy:`_cellBusy_1799e_94`,cellOoh:`_cellOoh_1799e_98`,cellSelected:`_cellSelected_1799e_109`,gridTooltip:`_gridTooltip_1799e_114`,cellPast:`_cellPast_1799e_133`};Do(),mS(),gS(),H7();var oin=(e,t,n,r)=>{let i=fS(t,e.start,n);return{startUtc:i,endUtc:new Date(new Date(i).getTime()+r*6e4).toISOString()}},sin=(e,t,n)=>{e.pickSlot({label:t,startUtc:n.startUtc,endUtc:n.endUtc,conflicts:[]})},cin=({id:e,d:t,rowInstants:n,serverBusy:r,selfBounds:i,allBlocks:a})=>{let o=r.get(e);return o===void 0?t.selected===null?`ooh`:e5t({userId:e,selfUserId:t.viewer.id,slotStart:new Date(n.startUtc),slotEnd:new Date(n.endUtc),allBlocks:a,rangeStart:i.rangeStart,rangeEnd:i.rangeEnd,workWindows:i.workWindows}):Srn(n.startUtc,n.endUtc,o.busy)?`busy`:o.workingHours.length>0&&!Crn(n.startUtc,n.endUtc,o.workingHours)?`ooh`:`available`},lin=({id:e,slotItem:t,d:n,allBlocks:r,serverBusy:i,rowInstants:a,selfBounds:o,isSelected:s,isPast:c,hoverCell:l,setHoverCell:u})=>{let d=cin({id:e,d:n,rowInstants:a,serverBusy:i,selfBounds:o,allBlocks:r}),f=l!==null&&l.userId===e&&l.slotLabel===t.label;return(0,D.jsx)(`div`,{className:T(T9.timelineCell,d===`available`&&T9.cellAvail,d===`busy`&&T9.cellBusy,d===`ooh`&&T9.cellOoh,s&&T9.cellSelected,c&&T9.cellPast),onClick:c?void 0:()=>{sin(n,t.label,a)},onMouseEnter:()=>{u({userId:e,slotLabel:t.label})},onMouseLeave:()=>{u(null)},children:f&&(0,D.jsxs)(`div`,{className:T9.gridTooltip,children:[(0,D.jsx)(`strong`,{children:krn(e,n.list,n.viewer)}),` ·`,` `,c?`PAST`:d.toUpperCase()]})})},uin=({slotItem:e,d:t,activeAttendees:n,allBlocks:r,serverBusy:i,isoDate:a,displayZone:o,selfBounds:s,hoverCell:c,setHoverCell:l})=>{let u=t.slot===e.label,d=oin(e,a,o,t.groupDuration),f=Prn(d.startUtc),p=pS.from({pick:o}).formatTime(d.startUtc);return(0,D.jsxs)(`div`,{className:T9.timelineRow,children:[(0,D.jsx)(`button`,{type:`button`,disabled:f,className:T(T9.timelineTimeCell,u&&T9.timelineTimeCellActive),onClick:()=>{sin(t,e.label,d)},children:p}),n.map(n=>(0,D.jsx)(lin,{id:n,slotItem:e,d:t,allBlocks:r,serverBusy:i,rowInstants:d,selfBounds:s,isSelected:u,isPast:f,hoverCell:c,setHoverCell:l},n+`-`+e.label))]})},din=({d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o})=>{let s=e.tzId,c=jrn(i,s,e.hostDayWindow),l=wrn(Mrn(t,r,n,c),e.groupDuration);return(0,D.jsxs)(`div`,{className:T9.timelineContainer,children:[(0,D.jsxs)(`div`,{className:T9.timelineHeaderRow,children:[(0,D.jsx)(`div`,{className:T9.timelineTimeCell}),t.map(t=>(0,D.jsx)(`div`,{className:T9.timelineHeaderCell,children:krn(t,e.list,e.viewer)},t))]}),(0,D.jsx)(`div`,{className:T9.timelineBody,children:l.map(l=>(0,D.jsx)(uin,{slotItem:l,d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,displayZone:s,selfBounds:c,hoverCell:a,setHoverCell:o},l.label))})]})},fin={header:`_header_1afpk_3`,slotNote:`_slotNote_1afpk_7`,cardMeta:`_cardMeta_1afpk_12`};Do(),mS(),gS(),H7();var pin=({userId:e,selfUserId:t,startStr:n,endStr:r,anchorTzId:i,isoDate:a,allBlocks:o,dayWindow:s})=>{let c=s?.active?s.slots.map(e=>({start:new Date(fS(a,e.from,i)),end:new Date(fS(a,e.to,i))})):[],l=new Date(fS(a,`00:00`,i)),u=new Date(l.getTime()+1440*60*1e3);return e5t({userId:e,selfUserId:t,slotStart:new Date(fS(a,n,i)),slotEnd:new Date(fS(a,r,i)),allBlocks:o,rangeStart:l,rangeEnd:u,workWindows:c})},min=(e,t,n)=>{let{id:r,d:i,allBlocks:a,serverBusy:o,anchorTzId:s,isoDate:c}=e,l=i.hostDayWindow;if(i.selected===null||l===null)return`available`;let u=o.get(r);if(u!==void 0){let e=fS(c,t,s),r=fS(c,n,s);return Srn(e,r,u.busy)?`busy`:u.workingHours.length>0&&!Crn(e,r,u.workingHours)?`ooh`:`available`}return pin({userId:r,selfUserId:i.viewer.id,startStr:t,endStr:n,anchorTzId:s,isoDate:c,allBlocks:a,dayWindow:l})},hin=e=>{let{id:t,d:n,curSlot:r}=e,i=Arn(t,n.list,n.viewer),[a,o]=r?r.split(` – `):[null,null],s=a&&o?min(e,a,o):`available`;return(0,D.jsxs)(`div`,{className:S9.attendeeStatusItem,children:[(0,D.jsx)(`span`,{className:S9.avatarSmall,style:{backgroundColor:i.color},children:i.initials}),(0,D.jsxs)(`div`,{className:fin.cardMeta,children:[(0,D.jsx)(`div`,{className:S9.cardName,children:i.name}),(0,D.jsx)(`div`,{className:S9.cardRole,children:i.role})]}),(0,D.jsx)(`span`,{className:T(S9.statusIndicator,s===`available`&&S9.statusIndicatorAvail,s===`busy`&&S9.statusIndicatorBusy,s===`ooh`&&S9.statusIndicatorOoh)})]})},gin=({d:e,activeAttendees:t,curSlot:n,allBlocks:r,serverBusy:i,anchorTzId:a,isoDate:o})=>(0,D.jsxs)(`div`,{className:T(S9.wizardPanelLeft,S9.timePanelLeft),children:[(0,D.jsxs)(`div`,{className:fin.header,children:[(0,D.jsx)(`h3`,{className:S9.panelHeading,children:`Attendees Availability`}),(0,D.jsxs)(`span`,{className:fin.slotNote,children:[`For selected slot: `,n??`None`]})]}),(0,D.jsx)(`div`,{className:S9.wizardList,children:t.map(t=>(0,D.jsx)(hin,{id:t,d:e,curSlot:n,allBlocks:r,serverBusy:i,anchorTzId:a,isoDate:o},t))})]}),E9={toolbarGroup:`_toolbarGroup_1hpun_3`,toolbarLabel:`_toolbarLabel_1hpun_9`,suggestedHeader:`_suggestedHeader_1hpun_15`,suggestedTitle:`_suggestedTitle_1hpun_22`,freeBadge:`_freeBadge_1hpun_29`,slotTime:`_slotTime_1hpun_34`,noSlots:`_noSlots_1hpun_40`,emptyIcon:`_emptyIcon_1hpun_46`};fo(),Do(),gS(),H7(),J7();var _in=({suggestedOptions:e,slot:t,activeAttendeesCount:n,setSlot:r,tzId:i})=>(0,D.jsxs)(`div`,{className:S9.suggestedRow,children:[e.map(e=>{let a=t===e.label,o=n-e.conflicts.length,s=v9(e.startUtc,e.endUtc,i);return(0,D.jsxs)(`button`,{type:`button`,className:T(S9.suggestedCard,a&&S9.suggestedCardActive,e.conflicts.length===0&&S9.suggestedCardFree),onClick:()=>{r(e.label)},children:[(0,D.jsx)(`div`,{className:E9.freeBadge,children:e.conflicts.length===0?`Max Available User`:`${String(o)}/${String(n)} FREE`}),(0,D.jsx)(`div`,{className:E9.slotTime,children:s})]},e.label)}),e.length===0&&(0,D.jsx)(`div`,{className:E9.noSlots,children:`No suggested slots found.`})]}),vin=({d:e})=>(0,D.jsxs)(`div`,{className:S9.gridToolbar,children:[(0,D.jsxs)(`div`,{className:E9.toolbarGroup,children:[(0,D.jsx)(Sn,{size:14,color:`var(--color-primary)`}),(0,D.jsx)(`input`,{type:`date`,className:S9.datePickerInput,value:e.selected?e.selected.toISOString().substring(0,10):``,onChange:t=>{t.target.value&&e.pickDate(new Date(t.target.value))}})]}),(0,D.jsxs)(`div`,{className:E9.toolbarGroup,children:[(0,D.jsx)(`span`,{className:E9.toolbarLabel,children:`DURATION`}),(0,D.jsx)(`div`,{className:S9.durationSelector,children:[15,30,60,90,120].map(t=>(0,D.jsx)(`button`,{type:`button`,className:T(S9.durBtn,e.groupDuration===t&&S9.durBtnActive),onClick:()=>{e.setGroupDuration(t)},children:t<60?`${String(t)}m`:`${String(t/60)}h`},t))})]}),(0,D.jsxs)(`div`,{className:S9.legend,children:[(0,D.jsxs)(`span`,{className:S9.legendItem,children:[(0,D.jsx)(`span`,{className:S9.dotAvail}),` Free`]}),(0,D.jsxs)(`span`,{className:S9.legendItem,children:[(0,D.jsx)(`span`,{className:S9.dotBusy}),` Busy`]}),(0,D.jsxs)(`span`,{className:S9.legendItem,children:[(0,D.jsx)(`span`,{className:S9.dotOoh}),` Out of hours`]})]})]}),yin=({d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o})=>e.selected===null?(0,D.jsxs)(`div`,{className:S9.gridEmpty,children:[(0,D.jsx)(Xn,{size:28,className:E9.emptyIcon}),(0,D.jsx)(`span`,{children:`Select a date above to display the availability grid.`})]}):(0,D.jsx)(din,{d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o}),bin=e=>{let t=iS().data??[],n=hS().anchor,r=e.selected===null?null:Trn(e.selected,e.today),i=i7t(e.selectedContactIds,r);return{allBlocks:t,anchorTzId:n,isoDate:r,serverBusy:(0,E.useMemo)(()=>{let e=new Map;for(let t of i.data??[])e.set(t.userId,{busy:t.busy,workingHours:t.workingHours});return e},[i.data]),activeAttendees:e.viewer.id===``?[...e.selectedContactIds]:[e.viewer.id,...e.selectedContactIds],curSlot:e.slot}},xin=({d:e})=>{let{allBlocks:t,anchorTzId:n,isoDate:r,serverBusy:i,activeAttendees:a,curSlot:o}=bin(e),[s,c]=(0,E.useState)(null);return(0,D.jsxs)(`div`,{className:S9.wizardRow,children:[(0,D.jsx)(gin,{d:e,activeAttendees:a,curSlot:o,allBlocks:t,serverBusy:i,anchorTzId:n,isoDate:r??``}),(0,D.jsxs)(`div`,{className:T(S9.wizardPanelRight,S9.timePanelRight),children:[(0,D.jsx)(vin,{d:e}),(0,D.jsxs)(`div`,{className:S9.suggestedStrip,children:[(0,D.jsxs)(`div`,{className:E9.suggestedHeader,children:[(0,D.jsx)(Xn,{size:12,color:`var(--color-secondary)`}),(0,D.jsx)(`span`,{className:E9.suggestedTitle,children:`SUGGESTED TIMESLOTS`})]}),(0,D.jsx)(_in,{suggestedOptions:e.availableSlots.slice(0,4),slot:e.slot,activeAttendeesCount:a.length,setSlot:e.setSlot,tzId:e.tzId})]}),(0,D.jsx)(yin,{d:e,activeAttendees:a,allBlocks:t,serverBusy:i,isoDate:r??``,hoverCell:s,setHoverCell:c})]})]})},Sin=()=>{let[e,t]=(0,E.useState)(`participants`),[n,r]=(0,E.useState)(30),[i,a]=(0,E.useState)(`Online Meeting`),[o,s]=(0,E.useState)(``);return{groupStep:e,groupDuration:n,groupLocation:i,groupDescription:o,setGroupStep:t,setGroupDuration:r,setGroupLocation:a,setGroupDescription:s,resetGroupWizardState:()=>{t(`participants`),r(30),a(`Online Meeting`),s(``)}}};Fy(),gS(),H7(),J7();var Cin=(e,t,n,r)=>{let i=e.s.meetingType===`group`;return{contactId:i?e.s.selectedContactIds[0]??``:e.s.contactId??``,dateLabel:Vrn(t),slot:n,title:i?e.s.groupTitle||`Group Meeting`:void 0,isGroup:i,attendeeIds:i?e.s.selectedContactIds:void 0,location:i?e.gw.groupLocation:void 0,description:i?e.gw.groupDescription:void 0,isoDate:Trn(t,e.today),startUtc:r?.startUtc,endUtc:r?.endUtc}},win=e=>e.s.pickedSlot??(e.s.slot===null?null:e.availableSlots.find(t=>t.label===e.s.slot)??null),Tin=e=>()=>{if(e.s.slot===null||e.s.selected===null)return;let t=win(e);e.book.mutate(Cin(e,e.s.selected,e.s.slot,t),{onSuccess:()=>{e.s.setBookedSlot(t),e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1)},onError:t=>{my.error(t.message),t instanceof V8t&&(e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1),e.s.meetingType===`group`&&e.gw.setGroupStep(`time`))}})},Ein=e=>({setMeetingType:t=>{e.s.setMeetingType(t),t===`group`&&e.resetGroupWizard()},setContactId:t=>{e.s.setContactId(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setSelectedContactIds:t=>{e.s.setSelectedContactIds(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupTitle:e.s.setGroupTitle,setSearch:e.s.setSearch,setTzId:e.setTzId,setSlot:t=>{e.s.setSlot(t),e.s.setPickedSlot(null)},pickSlot:t=>{e.s.setSlot(t.label),e.s.setPickedSlot(t)},setConfirmOpen:e.s.setConfirmOpen,shift:t=>{e.s.setView(e=>({year:e.year+Math.floor((e.month+t)/12),month:((e.month+t)%12+12)%12}))},pickDate:t=>{e.s.setSelected(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupStep:e.gw.setGroupStep,setGroupDuration:t=>{e.gw.setGroupDuration(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupLocation:e.gw.setGroupLocation,setGroupDescription:e.gw.setGroupDescription,resetGroupWizard:e.resetGroupWizard,reset:e.reset,confirm:Tin(e)}),Din=e=>{let t=Ein(e);return{today:e.today,viewer:e.viewer,meetingType:e.s.meetingType,contactId:e.s.contactId,selectedContactIds:e.s.selectedContactIds,groupTitle:e.s.groupTitle,search:e.s.search,tzId:e.tzId,view:e.s.view,selected:e.s.selected,slot:e.s.slot,selectedSlot:win(e),bookedSlot:e.s.bookedSlot,confirmOpen:e.s.confirmOpen,list:e.list,searchResults:e.searchResults,contact:e.contact,dateLabel:e.s.selected===null?``:Vrn(e.s.selected),zone:V7(e.tzId),canBook:(e.s.meetingType===`1:1`?e.s.contactId!==null:e.s.selectedContactIds.length>0)&&e.s.selected!==null&&e.s.slot!==null&&!e.book.isPending,pending:e.book.isPending,success:e.book.isSuccess,availableSlots:e.availableSlots,hostDayWindow:e.hostDayWindow,groupStep:e.gw.groupStep,groupDuration:e.gw.groupDuration,groupLocation:e.gw.groupLocation,groupDescription:e.gw.groupDescription,...t}},Oin=(e,t)=>{let[n,r]=(0,E.useState)(e);return(0,E.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(n)}},[e,t]),n};mS(),gS(),H7(),J7();var kin=e=>`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Ain=e=>{let t=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],n={};for(let r of t)n[r]={active:e[r].active,slots:e[r].active?[{id:r+`-default`,from:e[r].from,to:e[r].to}]:[]};return n},jin=(e,t)=>e.selected===null?null:e.meetingType===`group`?e.selectedContactIds.length===0?null:{isoDate:kin(e.selected),timeZone:t,isGroup:!0,contactId:void 0,attendeeIds:[...e.selectedContactIds].sort()}:e.contactId===null?null:{isoDate:kin(e.selected),timeZone:t,isGroup:!1,contactId:e.contactId,attendeeIds:void 0},Min=e=>{let[t,n]=(0,E.useState)(`1:1`),[r,i]=(0,E.useState)(null),[a,o]=(0,E.useState)([]),[s,c]=(0,E.useState)(``),[l,u]=(0,E.useState)(``),[d,f]=(0,E.useState)(``),[p,m]=(0,E.useState)({year:e.getFullYear(),month:e.getMonth()}),[h,g]=(0,E.useState)(null),[_,v]=(0,E.useState)(null),[y,b]=(0,E.useState)(null),[x,S]=(0,E.useState)(null),[C,w]=(0,E.useState)(!1);return{meetingType:t,setMeetingType:n,contactId:r,setContactId:i,selectedContactIds:a,setSelectedContactIds:o,groupTitle:s,setGroupTitle:c,search:l,setSearch:u,tzId:d,setTzIdState:f,view:p,setView:m,selected:h,setSelected:g,slot:_,setSlot:v,pickedSlot:y,setPickedSlot:b,bookedSlot:x,setBookedSlot:S,confirmOpen:C,setConfirmOpen:w}},Nin=()=>{let e=a7t(),t=xrn(),n=new Date,r=Sin(),i=Min(n),a=Oin(i.search,250),o=n7t(),s=n7t(a),c=oS(),l=KMe(),u=hLe(),d=o.data??[],f=d,p=s.data??[],m=d.find(e=>e.id===i.contactId)??null,h=c.data??{meetingDuration:r.groupDuration,bufferMinutes:5,workStart:`09:00`,workEnd:`17:00`,timezone:`Europe/London`,branchId:`uk`,availabilityTimezone:`Europe/London`},g=pS.from({pick:i.tzId,personal:h.timezone,anchor:h.availabilityTimezone}).display,_=u.data?Ain(PFe(u.data,h.branchId)):null,v=BDe(l.data??null,_),y=i.selected===null?null:VDe(v,i.selected);return Din({today:n,viewer:t,s:i,gw:r,book:e,list:f,searchResults:p,contact:m,availableSlots:r7t(jin(i,g)).data??[],hostDayWindow:y,tzId:g,setTzId:e=>{i.setTzIdState(e)},resetGroupWizard:()=>{r.resetGroupWizardState(),i.setSelectedContactIds([]),i.setGroupTitle(``),i.setSlot(null),i.setPickedSlot(null),i.setSelected(null)},reset:()=>{e.reset(),i.setContactId(null),i.setSelectedContactIds([]),i.setGroupTitle(``),i.setSlot(null),i.setPickedSlot(null),i.setBookedSlot(null),i.setSelected(null),r.resetGroupWizardState()}})},Pin={wizardContentClip:`_wizardContentClip_14i7n_3`,wizardStep:`_wizardStep_14i7n_8`};hh(),fo(),Do(),Fy();var Fin=({currentStep:e})=>{let t=[{id:`participants`,label:`Participants`},{id:`time`,label:`Find a time`},{id:`details`,label:`Details`},{id:`confirm`,label:`Confirm`}],n=(e=>t.findIndex(t=>t.id===e))(e);return(0,D.jsx)(`div`,{className:S9.stepper,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,D.jsxs)(E.Fragment,{children:[t>0&&(0,D.jsx)(`div`,{className:T(S9.stepLine,t<=n&&S9.stepLineActive)}),(0,D.jsxs)(`div`,{className:S9.stepItem,children:[(0,D.jsx)(`div`,{className:T(S9.stepCircle,i&&S9.stepCircleActive,r&&S9.stepCircleDone),children:r?(0,D.jsx)(Nn,{size:12,strokeWidth:3}):t+1}),(0,D.jsx)(`span`,{className:T(S9.stepText,i&&S9.stepTextActive),children:e.label})]})]},e.id)})})},Iin=e=>e===`participants`?`time`:e===`time`?`details`:e===`details`?`confirm`:null,Lin=e=>e===`time`?`participants`:e===`details`?`time`:e===`confirm`?`details`:null,Rin=({step:e,selectedContactIds:t,slot:n,title:r,location:i,pending:a})=>e===`participants`?t.length===0:e===`time`?n===null:e===`details`?r.trim()===``||i.trim()===``:a,zin=e=>e===`participants`?`Next: Find a time`:e===`time`?`Next: Details`:e===`details`?`Next: Confirm`:`Confirm Booking`,Bin=({step:e,slot:t,pending:n,disabled:r,confirmDisabled:i,nextLabel:a,onBack:o,onNext:s})=>{let c=(0,D.jsxs)(`button`,{type:`button`,className:S9.wizardNextBtn,disabled:r||n||i,onClick:s,children:[n?`Booking...`:a,!n&&(0,D.jsx)(zn,{size:16})]});return(0,D.jsxs)(`div`,{className:S9.wizardFooter,children:[(0,D.jsxs)(`button`,{type:`button`,className:S9.wizardBackBtn,onClick:o,disabled:n,children:[(0,D.jsx)(Ln,{size:16}),` Back`]}),e===`time`&&t&&(0,D.jsxs)(`div`,{className:S9.selectedStatusAlert,children:[(0,D.jsx)(Un,{size:14,color:`var(--color-primary)`}),(0,D.jsxs)(`span`,{children:[`Selected: `,t]})]}),i?(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:c}):c]})},Vin=({d:e})=>{let t=()=>{let t=Lin(e.groupStep);t?e.setGroupStep(t):e.setMeetingType(`1:1`)},n=()=>{let t=Iin(e.groupStep);t?e.setGroupStep(t):e.confirm()},{hasPermission:r}=wS(),i=r(CS.meetingsBook),a=Rin({step:e.groupStep,selectedContactIds:e.selectedContactIds,slot:e.slot,title:e.groupTitle,location:e.groupLocation,pending:e.pending}),o=zin(e.groupStep),s=e.groupStep===`confirm`&&!i;return(0,D.jsxs)(`div`,{className:S9.wizardContainer,children:[(0,D.jsx)(Fin,{currentStep:e.groupStep}),(0,D.jsx)(`div`,{className:T(S9.wizardContent,Pin.wizardContentClip),children:(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsxs)(Gm.div,{initial:{opacity:0,x:15},animate:{opacity:1,x:0},exit:{opacity:0,x:-15},transition:{duration:.18,ease:`easeInOut`},className:Pin.wizardStep,children:[e.groupStep===`participants`&&(0,D.jsx)(ain,{d:e}),e.groupStep===`time`&&(0,D.jsx)(xin,{d:e}),e.groupStep===`details`&&(0,D.jsx)(tin,{d:e}),e.groupStep===`confirm`&&(0,D.jsx)(ein,{d:e})]},e.groupStep)})}),(0,D.jsx)(Bin,{step:e.groupStep,slot:e.slot,pending:e.pending,disabled:a,confirmDisabled:s,nextLabel:o,onBack:t,onNext:n})]})},D9={slotsDate:`_slotsDate_1rdif_3`,slotsEmpty:`_slotsEmpty_1rdif_10`,slotsEmptyIcon:`_slotsEmptyIcon_1rdif_24`,slotsEmptyTitle:`_slotsEmptyTitle_1rdif_36`,slotList:`_slotList_1rdif_42`,slot:`_slot_1rdif_3`,slotActive:`_slotActive_1rdif_86`,slotWithConflicts:`_slotWithConflicts_1rdif_102`,slotMain:`_slotMain_1rdif_113`,slotConflictList:`_slotConflictList_1rdif_120`,conflictLabel:`_conflictLabel_1rdif_131`,conflictAvatar:`_conflictAvatar_1rdif_136`,noSlots:`_noSlots_1rdif_162`};hh(),fo(),Do(),Fy(),H7();var Hin={hidden:{},visible:{transition:{staggerChildren:.03}}},Uin=`You're not available at this time — you can still book.`,Win=({option:e,isSelected:t,onSlot:n,contactsList:r,viewer:i,tzId:a})=>{let o=v9(e.startUtc,e.endUtc,a),s=e.conflicts.length>0,c=e.conflicts.includes(i.id);return(0,D.jsxs)(Gm.button,{type:`button`,variants:gh,whileTap:{scale:.97},className:T(D9.slot,t&&D9.slotActive,s&&!t&&D9.slotWithConflicts),title:c?Uin:void 0,onClick:()=>{n(e.label)},children:[(0,D.jsxs)(`div`,{className:D9.slotMain,children:[(0,D.jsx)(`span`,{children:o}),t&&(0,D.jsx)(Nn,{size:14,strokeWidth:3})]}),s&&(0,D.jsxs)(`div`,{className:D9.slotConflictList,children:[(0,D.jsx)(`span`,{className:D9.conflictLabel,children:c?`You're busy —`:`Conflict:`}),e.conflicts.map(e=>{let t=e===i.id,n=r.find(t=>t.id===e);return(0,D.jsx)(`span`,{className:D9.conflictAvatar,title:t?Uin:`${n?.name??``} is busy / unavailable`,children:t?i.initials||`YOU`:n?.initials??``},e)})]})]})},Gin=({dateLabel:e,slot:t,offset:n,onSlot:r,slots:i,contactsList:a,viewer:o,tzId:s})=>(0,D.jsxs)(`div`,{className:b9.col,children:[(0,D.jsxs)(`div`,{className:b9.colTitle,children:[(0,D.jsx)(`span`,{className:b9.stepDot,children:`3`}),` Available times`]}),e===``?(0,D.jsxs)(`div`,{className:D9.slotsEmpty,children:[(0,D.jsx)(`span`,{className:D9.slotsEmptyIcon,children:(0,D.jsx)(Xn,{size:28})}),(0,D.jsx)(`span`,{className:D9.slotsEmptyTitle,children:`Pick a date`}),(0,D.jsx)(`span`,{children:`Choose a day to see open times.`})]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:D9.slotsDate,children:[e,` · times in `,n]}),(0,D.jsxs)(Gm.div,{className:D9.slotList,variants:Hin,initial:`hidden`,animate:`visible`,children:[i.map(e=>(0,D.jsx)(Win,{option:e,isSelected:t===e.label,onSlot:r,contactsList:a,viewer:o,tzId:s},e.label)),i.length===0&&(0,D.jsx)(`div`,{className:D9.noSlots,children:`No available timeslots found for this day.`})]})]})]}),O9={tzWrap:`_tzWrap_n6w9w_3`,tzBtn:`_tzBtn_n6w9w_8`,tzBtnOffset:`_tzBtnOffset_n6w9w_30`,tzChevron:`_tzChevron_n6w9w_36`,tzBackdrop:`_tzBackdrop_n6w9w_40`,tzPop:`_tzPop_n6w9w_49`,tzSearch:`_tzSearch_n6w9w_62`,tzSearchInput:`_tzSearchInput_n6w9w_74`,tzList:`_tzList_n6w9w_84`,tzRow:`_tzRow_n6w9w_119`,tzRowActive:`_tzRowActive_n6w9w_138`,tzCity:`_tzCity_n6w9w_142`,tzRowOffset:`_tzRowOffset_n6w9w_151`,tzCheck:`_tzCheck_n6w9w_157`,tzEmpty:`_tzEmpty_n6w9w_161`};hh(),fo(),Fy(),Do(),H7();var Kin=({search:e,list:t,value:n,onSearch:r,onPick:i})=>(0,D.jsxs)(Gm.div,{className:O9.tzPop,variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,D.jsxs)(`div`,{className:O9.tzSearch,children:[(0,D.jsx)(oa,{size:13}),(0,D.jsx)(`input`,{className:O9.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{r(e.target.value)}})]}),(0,D.jsxs)(`div`,{className:O9.tzList,children:[t.map(e=>(0,D.jsxs)(`button`,{type:`button`,className:T(O9.tzRow,e.id===n&&O9.tzRowActive),onClick:()=>{i(e.id)},children:[(0,D.jsx)(`span`,{className:O9.tzCity,children:e.city}),(0,D.jsx)(`span`,{className:O9.tzRowOffset,children:e.offset}),e.id===n&&(0,D.jsx)(Nn,{size:13,className:O9.tzCheck})]},e.id)),t.length===0&&(0,D.jsx)(`p`,{className:O9.tzEmpty,children:`No timezones match.`})]})]}),qin=({value:e,onChange:t})=>{let[n,r]=(0,E.useState)(!1),[i,a]=(0,E.useState)(``),o=V7(e),s=i.trim().toLowerCase(),c=(B7.some(e=>e.id===o.id)?B7:[o,...B7]).filter(e=>s===``||e.city.toLowerCase().includes(s)||e.offset.toLowerCase().includes(s)||e.id.toLowerCase().includes(s));return(0,D.jsxs)(`div`,{className:O9.tzWrap,children:[(0,D.jsxs)(`button`,{type:`button`,className:O9.tzBtn,"aria-expanded":n,"aria-label":`Change timezone`,onClick:()=>{r(e=>!e)},children:[(0,D.jsx)(br,{size:13}),(0,D.jsx)(`span`,{className:O9.tzBtnCity,children:o.city}),(0,D.jsx)(`span`,{className:O9.tzBtnOffset,children:o.offset}),(0,D.jsx)(Fn,{size:13,className:O9.tzChevron})]}),(0,D.jsx)(vm,{children:n&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:O9.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{r(!1)}}),(0,D.jsx)(Kin,{search:i,list:c,value:e,onSearch:a,onPick:e=>{t(e),a(``),r(!1)}})]})})]})},k9={badgeWrap:`_badgeWrap_swq6w_3`,badgeCircle:`_badgeCircle_swq6w_10`,guestRow:`_guestRow_swq6w_21`,eventVal:`_eventVal_swq6w_28`,iconRow:`_iconRow_swq6w_33`,iconRowMuted:`_iconRowMuted_swq6w_39`,iconRowTop:`_iconRowTop_swq6w_47`,agendaVal:`_agendaVal_swq6w_53`,iconTop:`_iconTop_swq6w_58`};hh(),fo(),Do();var Jin=()=>(0,D.jsxs)(`div`,{className:S9.successHeader,children:[(0,D.jsx)(`div`,{className:k9.badgeWrap,children:(0,D.jsx)(Gm.div,{initial:{scale:0},animate:{scale:1},transition:{type:`spring`,stiffness:260,damping:20},className:k9.badgeCircle,children:(0,D.jsx)(Gm.div,{initial:{scale:0,rotate:-45},animate:{scale:1,rotate:0},transition:{delay:.2,type:`spring`,stiffness:200,damping:15},children:(0,D.jsx)(Nn,{size:32,color:`var(--color-success)`,strokeWidth:3})})})}),(0,D.jsx)(`h2`,{className:S9.successTitle,children:`Booking Confirmed!`}),(0,D.jsx)(`p`,{className:S9.successSub,children:`A calendar invite has been sent to all participants.`})]}),Yin=({d:e})=>{let t=e.meetingType===`group`;return(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:t?`Invited Guests`:`Attendee`}),(0,D.jsx)(`div`,{className:T(S9.successVal,k9.guestRow),children:t?e.selectedContactIds.map(t=>{let n=e.list.find(e=>e.id===t);return n===void 0?null:(0,D.jsxs)(`span`,{className:S9.confirmAttendeeBadge,children:[(0,D.jsx)(`span`,{className:S9.avatarTiny,style:{backgroundColor:n.color},children:n.initials}),n.name]},n.id)}):e.contact?(0,D.jsxs)(`span`,{className:S9.confirmAttendeeBadge,children:[(0,D.jsx)(`span`,{className:S9.avatarTiny,style:{backgroundColor:e.contact.color},children:e.contact.initials}),e.contact.name]}):`None`})]})},Xin=({d:e})=>{let t=e.meetingType===`group`,n=t?e.groupTitle||`Group Meeting`:`1:1 with ${e.contact?.name??`Attendee`}`,r=t?e.groupLocation:`Online — link generated automatically`,i=t?e.groupDescription:``,a=v9(e.bookedSlot?.startUtc,e.bookedSlot?.endUtc,e.tzId);return(0,D.jsxs)(Gm.div,{className:S9.successCard,initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{delay:.3,duration:.25,ease:`easeOut`},children:[(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Event`}),(0,D.jsx)(`span`,{className:T(S9.successVal,k9.eventVal),children:n})]}),(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Date & Time`}),(0,D.jsxs)(`span`,{className:S9.successVal,children:[(0,D.jsxs)(`span`,{className:k9.iconRow,children:[(0,D.jsx)(Sn,{size:14,color:`var(--color-primary)`}),e.dateLabel]}),(0,D.jsxs)(`span`,{className:k9.iconRowMuted,children:[(0,D.jsx)(Xn,{size:14}),a,` (`,e.zone.offset,`)`]})]})]}),(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Location`}),(0,D.jsx)(`span`,{className:S9.successVal,children:(0,D.jsxs)(`span`,{className:k9.iconRow,children:[(0,D.jsx)(qr,{size:14,color:`var(--color-primary)`}),r]})})]}),(0,D.jsx)(Yin,{d:e}),t&&i.trim()!==``&&(0,D.jsxs)(`div`,{className:S9.successRow,children:[(0,D.jsx)(`span`,{className:S9.successLabel,children:`Agenda`}),(0,D.jsx)(`span`,{className:T(S9.successVal,k9.agendaVal),children:(0,D.jsxs)(`span`,{className:k9.iconRowTop,children:[(0,D.jsx)(Ba,{size:14,className:k9.iconTop}),i]})})]})]})},Zin=({d:e,onViewScheduled:t})=>(0,D.jsxs)(`div`,{className:S9.successActions,children:[(0,D.jsx)(`button`,{type:`button`,className:T(S9.successBtn,S9.successBtnPrimary),onClick:()=>{t!==void 0&&t()},children:`View Scheduled Meetings`}),(0,D.jsx)(`button`,{type:`button`,className:T(S9.successBtn,S9.successBtnSecondary),onClick:()=>{e.reset()},children:`Book Another Meeting`})]}),Qin=({d:e,onViewScheduled:t})=>(0,D.jsxs)(`div`,{className:S9.successContainer,children:[(0,D.jsx)(Jin,{}),(0,D.jsx)(Xin,{d:e}),(0,D.jsx)(Zin,{d:e,onViewScheduled:t})]});Do();var $in=({d:e})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:y9.bookGrid,children:[(0,D.jsx)($rn,{contacts:e.searchResults,selectedId:e.contactId,search:e.search,onSearch:t=>{e.setSearch(t)},onSelect:t=>{e.setContactId(t)},mode:e.meetingType,selectedIds:e.selectedContactIds,onSelectGroup:t=>{e.setSelectedContactIds(t)},groupTitle:e.groupTitle,onGroupTitleChange:t=>{e.setGroupTitle(t)}}),(0,D.jsx)(Grn,{view:e.view,today:e.today,selected:e.selected,onShift:t=>{e.shift(t)},onPick:t=>{e.pickDate(t)}}),(0,D.jsx)(Gin,{dateLabel:e.dateLabel,slot:e.slot,offset:e.zone.offset,onSlot:t=>{e.setSlot(t)},slots:e.availableSlots,contactsList:e.list,viewer:e.viewer,tzId:e.tzId})]}),(0,D.jsx)(Rrn,{contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,canBook:e.canBook,success:e.success,meetingType:e.meetingType,selectedContactIds:e.selectedContactIds,groupTitle:e.groupTitle,onBook:()=>{e.setConfirmOpen(!0)},selectedSlot:e.selectedSlot,tzId:e.tzId}),(0,D.jsx)(Yrn,{open:e.confirmOpen,contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,zone:e.zone,pending:e.pending,onConfirm:()=>{e.confirm()},onClose:()=>{e.setConfirmOpen(!1)},selectedSlot:e.selectedSlot,tzId:e.tzId})]}),ean=({onViewScheduled:e})=>{let t=Nin();return t.success?(0,D.jsx)(Qin,{d:t,onViewScheduled:e}):(0,D.jsxs)(`div`,{className:y9.bookCard,children:[(0,D.jsxs)(`div`,{className:y9.bookTopBar,children:[(0,D.jsxs)(`div`,{className:y9.typeSelector,children:[(0,D.jsx)(`button`,{type:`button`,className:T(y9.typeBtn,t.meetingType===`1:1`&&y9.typeBtnActive),onClick:()=>{t.setMeetingType(`1:1`)},children:`1:1 Meeting`}),(0,D.jsx)(`button`,{type:`button`,className:T(y9.typeBtn,t.meetingType===`group`&&y9.typeBtnActive),onClick:()=>{t.setMeetingType(`group`)},children:`Group Meeting (1:Many)`})]}),(0,D.jsx)(qin,{value:t.tzId,onChange:e=>{t.setTzId(e)}})]}),t.meetingType===`group`?(0,D.jsx)(Vin,{d:t}):(0,D.jsx)($in,{d:t})]})},A9={schedWrap:`_schedWrap_d5mtd_4`,bucketTabs:`_bucketTabs_d5mtd_11`,bucketTab:`_bucketTab_d5mtd_11`,bucketTabActive:`_bucketTabActive_d5mtd_38`,bucketBg:`_bucketBg_d5mtd_45`,bucketLabel:`_bucketLabel_d5mtd_53`,bucketCount:`_bucketCount_d5mtd_58`,meetingList:`_meetingList_d5mtd_76`,meeting:`_meeting_d5mtd_76`,datePlate:`_datePlate_d5mtd_101`,datePlatePassed:`_datePlatePassed_d5mtd_114`,datePlateCanceled:`_datePlateCanceled_d5mtd_118`,datePlateMonth:`_datePlateMonth_d5mtd_122`,datePlateDay:`_datePlateDay_d5mtd_129`,meetingAvatar:`_meetingAvatar_d5mtd_141`,meetingBody:`_meetingBody_d5mtd_155`,meetingTitle:`_meetingTitle_d5mtd_163`,meetingMeta:`_meetingMeta_d5mtd_174`,meetingMetaItem:`_meetingMetaItem_d5mtd_183`,meetingActions:`_meetingActions_d5mtd_189`,acceptBtn:`_acceptBtn_d5mtd_196`,joinBtn:`_joinBtn_d5mtd_197`,acceptBtnDisabled:`_acceptBtnDisabled_d5mtd_214`,joinBtnDisabled:`_joinBtnDisabled_d5mtd_216`,declineBtn:`_declineBtn_d5mtd_224`,declineBtnDisabled:`_declineBtnDisabled_d5mtd_235`,cancelBtn:`_cancelBtn_d5mtd_241`,cancelBtnDisabled:`_cancelBtnDisabled_d5mtd_252`,statusPill:`_statusPill_d5mtd_260`,statusAccepted:`_statusAccepted_d5mtd_270`,statusPending:`_statusPending_d5mtd_275`,statusRejected:`_statusRejected_d5mtd_280`,statusCanceled:`_statusCanceled_d5mtd_281`,liveNow:`_liveNow_d5mtd_288`,liveNowDot:`_liveNowDot_d5mtd_293`,"live-now-breathe":`_live-now-breathe_d5mtd_1`,statusCompleted:`_statusCompleted_d5mtd_319`,empty:`_empty_d5mtd_324`,emptyIconWrap:`_emptyIconWrap_d5mtd_334`,emptyTitle:`_emptyTitle_d5mtd_346`,emptyText:`_emptyText_d5mtd_353`,participantsChip:`_participantsChip_d5mtd_389`,participantsPanel:`_participantsPanel_d5mtd_409`,participantRow:`_participantRow_d5mtd_416`,participantAvatar:`_participantAvatar_d5mtd_428`,participantName:`_participantName_d5mtd_442`,participantOrganizer:`_participantOrganizer_d5mtd_453`,participantStatus:`_participantStatus_d5mtd_458`,participantAccepted:`_participantAccepted_d5mtd_464`,participantRejected:`_participantRejected_d5mtd_468`,participantPending:`_participantPending_d5mtd_472`};fo(),Fy(),Do();var tan=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,nan=e=>e===`accepted`?A9.participantAccepted??!1:e===`rejected`?A9.participantRejected??!1:A9.participantPending??!1,ran=({participants:e})=>e.length===0?null:(0,D.jsx)(rwe,{ariaLabel:`Meeting participants`,contentClassName:A9.participantsPanel,trigger:(0,D.jsxs)(`button`,{type:`button`,className:A9.participantsChip,"aria-label":`${String(e.length)} participants — show who is in this meeting`,children:[(0,D.jsx)(to,{size:11}),` `,e.length]}),children:e.map(e=>(0,D.jsxs)(`div`,{className:A9.participantRow,children:[(0,D.jsx)(`span`,{className:A9.participantAvatar,style:yo({"--avatar-color":e.color}),children:e.initials}),(0,D.jsxs)(`span`,{className:A9.participantName,children:[e.name,e.isOrganizer&&(0,D.jsx)(`span`,{className:A9.participantOrganizer,children:` · organizer`})]}),(0,D.jsx)(`span`,{className:T(A9.participantStatus,nan(e.status)),children:tan(e.status)})]},e.userId))});fo(),Do(),Fy(),H7();var ian=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,aan=e=>e===`accepted`?A9.statusAccepted??!1:e===`rejected`?A9.statusRejected??!1:A9.statusPending??!1,oan=(e,t)=>e?`Leave the active call before canceling`:t?`Cancel meeting`:`Permission Denied`,san=e=>{if(!e.isOrganizer||e.participants.length===0)return{label:ian(e.myStatus),status:e.myStatus};let t=e.participants.filter(e=>!e.isOrganizer);if(t.length===1){let e=t[0];if(e!==void 0)return e.status===`pending`?{label:`Awaiting reply`,status:`pending`}:{label:ian(e.status),status:e.status}}let n=t.filter(e=>e.status===`accepted`).length;return{label:`${String(n)}/${String(t.length)} accepted`,status:n>0?`accepted`:`pending`}},can=({onRespond:e,canRespond:t})=>{let n=(0,D.jsxs)(`button`,{type:`button`,className:T(A9.acceptBtn,!t&&A9.acceptBtnDisabled),disabled:!t,onClick:()=>{e(!0)},children:[(0,D.jsx)(Nn,{size:12,strokeWidth:3}),` Accept`]}),r=(0,D.jsx)(`button`,{type:`button`,className:T(A9.declineBtn,!t&&A9.declineBtnDisabled),disabled:!t,onClick:()=>{e(!1)},children:`Decline`});return(0,D.jsxs)(`div`,{className:A9.meetingActions,children:[t?n:(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:n}),t?r:(0,D.jsx)(iy,{label:`Permission Denied`,side:`top`,children:r})]})},lan=({meeting:e,onCancel:t,onJoin:n,canJoin:r,joinHint:i,canCancel:a})=>{let o=e9(e=>e.activeMeeting),s=e9(e=>e.isJoined)&&o!==null&&o.meetingId===e.id,c=e.myStatus===`accepted`,l=!r||s,u=s?`You are currently in this meeting`:i,d=oan(s,a),f=san(e);return(0,D.jsxs)(`div`,{className:A9.meetingActions,children:[(0,D.jsx)(ran,{participants:e.participants}),(0,D.jsx)(`span`,{className:T(A9.statusPill,aan(f.status)),children:f.label}),c&&(0,D.jsx)(iy,{label:u,side:`top`,children:(0,D.jsxs)(`button`,{type:`button`,className:T(A9.joinBtn,l&&A9.joinBtnDisabled),disabled:l,"aria-label":u,onClick:n,children:[(0,D.jsx)(io,{size:13}),` `,s?`Joined`:`Join`]})}),e.isOrganizer&&(0,D.jsx)(iy,{label:d,side:`top`,children:(0,D.jsx)(`button`,{type:`button`,className:T(A9.cancelBtn,(s||!a)&&A9.cancelBtnDisabled),disabled:s||!a,"aria-label":d,onClick:t,children:`Cancel`})})]})},uan=e=>{let{meeting:t,onRespond:n,canRespond:r}=e;return t.awaitingResponse?(0,D.jsx)(can,{onRespond:n,canRespond:r}):t.bucket===`canceled`?(0,D.jsx)(`span`,{className:T(A9.statusPill,A9.statusCanceled),children:`Canceled`}):t.bucket===`passed`?(0,D.jsx)(`span`,{className:T(A9.statusPill,A9.statusCompleted),children:`Completed`}):(0,D.jsx)(lan,{...e})};hh(),fo(),Do(),Fy(),gS(),H7();var dan=e=>e.isGroup?e.title===``||/^group (meeting|event)$/i.test(e.title.trim())?`Group Meeting`:`${e.title} · Group Meeting`:/^1:1\b/i.test(e.title.trim())||e.title===``?`1:1 with ${e.withName}`:e.withName===``?e.title:`${e.title} · ${e.withName}`,fan=1800*1e3,pan=e=>{let t=Math.max(1,Math.ceil(e/6e4)),n=Math.floor(t/1440);if(n>=1){let e=Math.floor((t-n*60*24)/60);return e>0?`in ${String(n)}d ${String(e)}h`:`in ${String(n)}d`}let r=Math.floor(t/60),i=t%60;return r>=1?i>0?`in ${String(r)}h ${String(i)}m`:`in ${String(r)}h`:`in ${String(i)}m`},man=(e,t)=>({month:e.toLocaleDateString(`en-US`,{month:`short`,timeZone:t}).toUpperCase(),day:e.toLocaleDateString(`en-US`,{day:`numeric`,timeZone:t})}),han=(e,t)=>{let[n,r]=(0,E.useState)(()=>Date.now());(0,E.useEffect)(()=>{let e=setInterval(()=>{r(Date.now())},3e4);return()=>{clearInterval(e)}},[]);let i=n>=e-fan&&n<=t;return{canJoin:i,joinHint:i?`Join the meeting`:n>t?`This meeting has ended`:`Join opens 30 min before — starts ${pan(e-n)}`,isHappeningNow:n>=e&&n<=t}},gan=({meeting:e,showLiveBadge:t,displayStart:n,displayEnd:r,tzSuffix:i})=>(0,D.jsxs)(`div`,{className:A9.meetingBody,children:[(0,D.jsxs)(`span`,{className:A9.meetingTitle,children:[dan(e),t&&(0,D.jsxs)(`span`,{className:T(A9.statusPill,A9.liveNow),children:[(0,D.jsx)(`span`,{className:A9.liveNowDot,"aria-hidden":`true`}),`Happening now`]})]}),(0,D.jsxs)(`div`,{className:A9.meetingMeta,children:[(0,D.jsxs)(`span`,{className:A9.meetingMetaItem,children:[(0,D.jsx)(Xn,{size:11}),` `,n,`–`,r,i]}),(0,D.jsxs)(`span`,{className:A9.meetingMetaItem,children:[(0,D.jsx)(qr,{size:11}),` `,e.location]})]})]}),_an=e=>{let{meeting:t}=e,n=hS(),{hasPermission:r}=wS(),i=r(CS.meetingsRespond),a=r(CS.meetingsCancel),o=new Date(t.startUtc),s=new Date(t.endUtc),c=n.formatTime(t.startUtc),l=n.formatTime(t.endUtc),u=man(o,n.display),d=` (${V7(n.display).offset})`,{canJoin:f,joinHint:p,isHappeningNow:m}=han(o.getTime(),s.getTime()),h=m&&t.bucket===`upcoming`,g=(0,E.useRef)(null),_=(0,E.useRef)(null);(0,E.useEffect)(()=>{_.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:v}=$he({target:g,container:_,offset:[`start end`,`end start`]}),y=ph(v,[0,1],[-8,8]);return(0,D.jsxs)(Gm.article,{ref:g,style:{y},className:A9.meeting,variants:gh,whileHover:{y:-2},transition:{type:`spring`,stiffness:400,damping:30},children:[(0,D.jsxs)(`div`,{className:T(A9.datePlate,t.bucket===`passed`&&A9.datePlatePassed,t.bucket===`canceled`&&A9.datePlateCanceled),children:[(0,D.jsx)(`span`,{className:A9.datePlateMonth,children:u.month}),(0,D.jsx)(`span`,{className:A9.datePlateDay,children:u.day})]}),(0,D.jsx)(`span`,{className:A9.meetingAvatar,style:yo({"--avatar-color":t.withColor}),children:t.withInitials}),(0,D.jsx)(gan,{meeting:t,showLiveBadge:h,displayStart:c,displayEnd:l,tzSuffix:d}),(0,D.jsx)(uan,{...e,canJoin:f,joinHint:p,canRespond:i,canCancel:a})]})},j9={list:`_list_1vv5w_1`,meeting:`_meeting_1vv5w_7`,datePlate:`_datePlate_1vv5w_17`,pulse:`_pulse_1vv5w_1`,avatar:`_avatar_1vv5w_26`,body:`_body_1vv5w_35`,title:`_title_1vv5w_43`,meta:`_meta_1vv5w_51`,actions:`_actions_1vv5w_59`,btn:`_btn_1vv5w_66`},van=()=>(0,D.jsx)(`div`,{className:j9.list,children:Array.from({length:3}).map((e,t)=>(0,D.jsxs)(`div`,{className:j9.meeting,children:[(0,D.jsx)(`div`,{className:j9.datePlate}),(0,D.jsx)(`div`,{className:j9.avatar}),(0,D.jsxs)(`div`,{className:j9.body,children:[(0,D.jsx)(`div`,{className:j9.title}),(0,D.jsx)(`div`,{className:j9.meta})]}),(0,D.jsxs)(`div`,{className:j9.actions,children:[(0,D.jsx)(`div`,{className:j9.btn}),(0,D.jsx)(`div`,{className:j9.btn})]})]},`skel-${String(t)}`))});Dt(),hh(),fo(),Fy(),Do(),J7();var yan=[{id:`upcoming`,label:`Upcoming`},{id:`passed`,label:`Past`},{id:`canceled`,label:`Canceled`}],ban={type:`spring`,stiffness:420,damping:34},xan={hidden:{},visible:{transition:{staggerChildren:.05}}},San=({bucket:e,counts:t,onSelect:n})=>(0,D.jsx)(`div`,{className:A9.bucketTabs,children:yan.map(r=>{let i=e===r.id;return(0,D.jsxs)(`button`,{type:`button`,className:T(A9.bucketTab,i&&A9.bucketTabActive),onClick:()=>{n(r.id)},children:[i&&(0,D.jsx)(Gm.span,{layoutId:`bucketBg`,className:A9.bucketBg,transition:ban}),(0,D.jsx)(`span`,{className:A9.bucketLabel,children:r.label}),(0,D.jsx)(`span`,{className:A9.bucketCount,children:t[r.id]})]},r.id)})}),Can=1e4,wan=()=>{let e=We(),t=q7(Can),n=o7t(),r=s7t(),[i,a]=(0,E.useState)(`upcoming`),o=t.data??[],s=t.data===void 0,c=[...o].filter(e=>e.bucket===i).sort((e,t)=>new Date(e.startUtc).getTime()-new Date(t.startUtc).getTime()),l={upcoming:o.filter(e=>e.bucket===`upcoming`).length,passed:o.filter(e=>e.bucket===`passed`).length,canceled:o.filter(e=>e.bucket===`canceled`).length};return(0,D.jsxs)(`div`,{className:A9.schedWrap,children:[(0,D.jsx)(San,{bucket:i,counts:l,onSelect:a}),t.isPending?(0,D.jsx)(van,{}):null,t.isError&&s?(0,D.jsx)(ls,{tone:`error`,title:`Could not load meetings`,children:t.error.message}):null,t.isError&&!s?(0,D.jsx)(ls,{tone:`info`,title:`Showing the last known meetings`,children:`Could not refresh just now. This will update on its own.`}):null,!s&&c.length===0?(0,D.jsxs)(`div`,{className:A9.empty,children:[(0,D.jsx)(`div`,{className:A9.emptyIconWrap,children:(0,D.jsx)(Tn,{size:32})}),(0,D.jsxs)(`span`,{className:A9.emptyTitle,children:[`No `,i,` meetings`]}),(0,D.jsx)(`span`,{className:A9.emptyText,children:`Nothing scheduled here yet.`})]}):null,!s&&c.length>0?(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Gm.div,{className:A9.meetingList,variants:xan,initial:`hidden`,animate:`visible`,children:c.map(t=>(0,D.jsx)(_an,{meeting:t,onRespond:e=>{n.mutate({meetingId:t.id,accept:e})},onCancel:()=>{r.mutate(t.id)},onJoin:()=>{e(`/comms/meetings/${t.id}/room`)}},t.id))},i)}):null]})},M9={screen:`_screen_18kgg_6`,head:`_head_18kgg_13`,headTop:`_headTop_18kgg_19`,title:`_title_18kgg_27`,subtitle:`_subtitle_18kgg_35`,headBadge:`_headBadge_18kgg_41`,headBadgeNum:`_headBadgeNum_18kgg_47`,headBadgeLabel:`_headBadgeLabel_18kgg_53`,tabs:`_tabs_18kgg_59`,tab:`_tab_18kgg_59`,tabActive:`_tabActive_18kgg_84`,tabUnderline:`_tabUnderline_18kgg_90`,body:`_body_18kgg_100`,tabContent:`_tabContent_18kgg_107`};fo(),hh(),Do(),J7();var Tan=()=>{let[e,t]=(0,E.useState)(`scheduled`),n=(q7().data??[]).filter(e=>e.bucket===`upcoming`).length;return(0,D.jsxs)(`div`,{className:M9.screen,children:[(0,D.jsxs)(`header`,{className:M9.head,children:[(0,D.jsxs)(`div`,{className:M9.headTop,children:[(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h1`,{className:M9.title,children:`Meetings`}),(0,D.jsx)(`p`,{className:M9.subtitle,children:`Book 1:1 meetings and manage your invitations.`})]}),(0,D.jsxs)(`div`,{className:M9.headBadge,children:[(0,D.jsx)(`span`,{className:M9.headBadgeNum,children:n}),(0,D.jsx)(`span`,{className:M9.headBadgeLabel,children:`upcoming`})]})]}),(0,D.jsxs)(`div`,{className:M9.tabs,children:[(0,D.jsxs)(`button`,{type:`button`,className:T(M9.tab,e===`book`&&M9.tabActive),onClick:()=>{t(`book`)},children:[(0,D.jsx)(Sn,{size:15}),` Book a Meeting`,e===`book`&&(0,D.jsx)(Gm.span,{layoutId:`bookTabUnderline`,className:M9.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]}),(0,D.jsxs)(`button`,{type:`button`,className:T(M9.tab,e===`scheduled`&&M9.tabActive),onClick:()=>{t(`scheduled`)},children:[(0,D.jsx)(Xn,{size:15}),` Scheduled`,e===`scheduled`&&(0,D.jsx)(Gm.span,{layoutId:`bookTabUnderline`,className:M9.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]})]})]}),(0,D.jsx)(`div`,{className:M9.body,children:(0,D.jsx)(vm,{mode:`wait`,children:(0,D.jsx)(Gm.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2,ease:`easeOut`},className:M9.tabContent,children:e===`book`?(0,D.jsx)(ean,{onViewScheduled:()=>{t(`scheduled`)}}):(0,D.jsx)(wan,{})},e)})})]})};Dt(),t9();var Ean=()=>{let{meetingId:e}=Ke(),t=e9(e=>e.setRequestedMeetingId);return(0,E.useEffect)(()=>{e!==void 0&&t(e)},[e,t]),(0,D.jsx)(D.Fragment,{})};Dt();var Dan=`/comms/bookings`,Oan=`/comms/meetings/:meetingId/room`,kan=()=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(at,{children:[(0,D.jsx)(rt,{path:Dan,element:(0,D.jsx)(Tan,{})}),(0,D.jsx)(rt,{path:Oan,element:(0,D.jsx)(Ean,{})}),(0,D.jsx)(rt,{path:`*`,element:(0,D.jsx)(nt,{to:Dan,replace:!0})})]}),(0,D.jsx)(T9t,{takeover:!0}),(0,D.jsx)(J7t,{})]}),Aan=()=>{m9(`uapp-bookings`,()=>(0,D.jsx)(kan,{}))};ib();var N9=(e,t=0)=>{let n=new Date(e);return n.setHours(0,0,0,0),n.setDate(e.getDate()-(e.getDay()+6)%7+t*7),Array.from({length:7},(e,t)=>{let r=new Date(n);return r.setDate(n.getDate()+t),r})},jan=(e,t)=>{let n=Xy(e);return N9(e,t).map(e=>({date:e,dayNumber:e.getDate(),isToday:Xy(e)===n}))},P9=(e,t)=>e.toLocaleDateString(void 0,t),Man=(e,t)=>{let n=N9(e,t),r=n[0]??e,i=n[6]??e,a=r.getFullYear()===i.getFullYear();return a&&r.getMonth()===i.getMonth()?`${String(r.getDate())} – ${P9(i,{day:`numeric`,month:`long`,year:`numeric`})}`:a?`${P9(r,{day:`numeric`,month:`short`})} – ${P9(i,{day:`numeric`,month:`short`,year:`numeric`})}`:`${P9(r,{day:`numeric`,month:`short`,year:`numeric`})} – ${P9(i,{day:`numeric`,month:`short`,year:`numeric`})}`},Nan=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),Pan=(e,t)=>Nan(e,t).toLocaleDateString(void 0,{month:`long`,year:`numeric`}),Fan=(e,t)=>{let n=Nan(e,t),r=(n.getDay()+6)%7,i=new Date(n.getFullYear(),n.getMonth()+1,0).getDate(),a=Math.ceil((r+i)/7),o=new Date(n);return o.setDate(n.getDate()-r),Array.from({length:a*7},(e,t)=>{let n=new Date(o);return n.setDate(o.getDate()+t),n})},Ian=e=>{if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),n=e%60;return n===0?`${String(t)}h`:`${String(t)}h ${String(n)}m`},F9=e=>{let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`},Lan=e=>new Date(e).toLocaleDateString(void 0,{weekday:`short`,day:`numeric`,month:`short`}),I9=e=>Xy(e),L9=e=>F9(e),R9=(e,t)=>{let[n,r,i]=e.split(`-`),[a,o]=t.split(`:`);return new Date(Number(n??`1970`),Number(r??`1`)-1,Number(i??`1`),Number(a??`0`),Number(o??`0`),0,0).toISOString()};fo(),ib();var z9={available:{label:`Available`,color:`#22c55e`,Icon:Nn},busy:{label:`Busy`,color:`#ef4444`,Icon:an},meeting:{label:`Meeting`,color:`#3b82f6`,Icon:io},focus:{label:`Focus`,color:`#8b5cf6`,Icon:La},away:{label:`Away`,color:`#94a3b8`,Icon:Xn}},B9=e=>e===0||e===24?`12 AM`:e===12?`12 PM`:e<12?`${String(e)} AM`:`${String(e-12)} PM`,V9=(e,t)=>{let n=Jy(e),r=Jy(t);return r<=n?1440:r},Ran=(e,t)=>{let n=rb(t);return n<=rb(e)?1440:n},zan=(e,t,n)=>{let r=rb(n)<=rb(t)?0:Math.max(0,Math.floor(rb(t)/60)-1),i=Math.min(24,Math.ceil(Ran(t,n)/60)+1);for(let t of e){let e=t.block.status===`available`&&(t.continuesFromPrevDay===!0||t.continuesToNextDay===!0);t.block.allDay&&!e||(r=Math.min(r,Math.floor(Jy(t.start)/60)),i=Math.max(i,Math.ceil(V9(t.start,t.end)/60)))}return r=Math.max(0,Math.min(r,22)),i=Math.min(24,Math.max(i,r+2)),{startHour:r,endHour:i}},Ban=e=>Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n),Van=e=>(e.endHour-e.startHour)*52,Han=(e,t,n)=>{let r=Jy(e),i=V9(e,t);return{top:(r-n.startHour*60)*52/60,height:Math.max(20,(i-r)*52/60-2)}},Uan=(e,t,n)=>{let r=n.startHour*60,i=Math.max(e,r),a=Math.min(t,n.endHour*60);return a<=i?null:{top:(i-r)*52/60,height:(a-i)*52/60}},Wan=(e,t,n)=>e?t.flatMap(e=>{let t=rb(e.from),r=rb(e.to);if(r<=t)return[Uan(t,1440,n),Uan(0,r,n)].filter(e=>e!==null);let i=Uan(t,r,n);return i===null?[]:[i]}):[],Gan=(e,t)=>{let n=e.getHours()*60+e.getMinutes();return n<t.startHour*60||n>t.endHour*60?null:(n-t.startHour*60)*52/60},Kan=(e,t,n,r=90)=>((rb(t)<=rb(e)?0:rb(e))-n*60)*52/60-r*52/60,qan=(e,t,n=90)=>(e.getHours()*60+e.getMinutes()-t*60)*52/60-n*52/60,Jan=e=>{let t=[...e].sort((e,t)=>Jy(e.start)-Jy(t.start)||V9(e.start,e.end)-V9(t.start,t.end)),n=[],r=[],i=[],a=()=>{let e=Math.max(1,i.length);for(let t of r)n.push({occurrence:t.occurrence,lane:t.lane,lanes:e});r=[],i=[]};for(let e of t){let t=Jy(e.start),n=V9(e.start,e.end);r.length>0&&t>=Math.max(...i)&&a();let o=i.findIndex(e=>e<=t);o===-1?(o=i.length,i.push(n)):i[o]=n,r.push({occurrence:e,lane:o})}return a(),n},Yan=e=>{let t=e.filter(e=>e.end>e.start).slice().sort((e,t)=>e.start-t.start),n=[];for(let e of t){let t=n[n.length-1];t!==void 0&&e.start<=t.end?n[n.length-1]={start:t.start,end:Math.max(t.end,e.end)}:n.push(e)}return n},Xan=e=>e.reduce((e,t)=>e+(t.end-t.start),0),Zan=(e,t,n)=>{let r=Xy(t),i=e.filter(e=>e.date===r&&!e.block.allDay),a=Yan([...n.map(e=>{let t=rb(e.from),n=rb(e.to);return{start:t,end:n<=t?1440:n}}),...i.filter(e=>e.block.status===`available`).map(e=>({start:Jy(e.start),end:V9(e.start,e.end)}))]),o=i.filter(e=>e.block.status!==`available`).map(e=>({start:Jy(e.start),end:V9(e.start,e.end)})),s=0;for(let e of a){let t=Yan(o.map(t=>({start:Math.max(e.start,t.start),end:Math.min(e.end,t.end)})));s+=e.end-e.start-Xan(t)}return Math.max(0,Math.round(s/60))};ib(),mS();var Qan=(e,t)=>new Date(new Date(e).getTime()+t*6e4).toISOString(),$an=(e,t)=>{let n=new Date(e),r=dS(t,n)-dS(lS(),n);return r===0?e:new Date(n.getTime()-r*6e4).toISOString()},eon=(e,t)=>{let n=new Date(e),r=dS(t,n)-dS(lS(),n);return r===0?e:new Date(n.getTime()+r*6e4).toISOString()},H9=(e,t)=>({...e,start:$an(e.start,t),end:$an(e.end,t)}),ton=e=>{if(e.mode===`edit`){let{block:t}=e;return{title:t.title,status:t.status,start:t.start,end:t.allDay?t.end:R9(I9(t.start),L9(t.end)),allDay:t.allDay,notes:t.notes,recurrence:t.recurrence}}let t=e.start,n=e.end??Qan(t,60),r=null,i=Xy(t);if(i!==Xy(n)){n=R9(i,L9(n));let a=new Date(t),o=new Date(e.end??n),s=[],c=new Date(a),l=0;for(;Xy(c)<=Xy(o)&&l<100;)l++,s.push(c.getDay()),c.setDate(c.getDate()+1);r={freq:`weekly`,interval:1,weekdays:s,monthlyMode:`dayOfMonth`,endType:`on`,endCount:13,endDate:Xy(o),exceptions:[]}}return{title:e.title??``,status:e.status??`available`,start:t,end:n,allDay:!1,notes:``,recurrence:r}},non=e=>({...e,recurrence:e.recurrence===null?nOe(e.start):null}),ron=(e,t)=>({...e,recurrence:t}),ion=(e,t)=>({...e,start:R9(t,L9(e.start)),end:R9(t,L9(e.end))}),aon=(e,t)=>{let n=R9(I9(e.start),t),r=new Date(n).getTime()-new Date(e.start).getTime();return{...e,start:n,end:new Date(new Date(e.end).getTime()+r).toISOString()}},oon=(e,t)=>({...e,end:R9(I9(e.start),t)}),son=(e,t)=>{let n=I9(e.start);return t?{...e,allDay:!0,start:R9(n,`00:00`),end:R9(n,`23:59`)}:{...e,allDay:!1,start:R9(n,`09:00`),end:R9(n,`10:00`)}},U9={notesInput:`_notesInput_1oymt_7`,actionSpacer:`_actionSpacer_1oymt_24`,panelHead:`_panelHead_1oymt_29`,panelTitle:`_panelTitle_1oymt_41`,panelForm:`_panelForm_1oymt_47`,microLabel:`_microLabel_1oymt_54`,panelInput:`_panelInput_1oymt_62`,inputError:`_inputError_1oymt_79`,fieldError:`_fieldError_1oymt_84`,statusPills:`_statusPills_1oymt_90`,statusPill:`_statusPill_1oymt_90`,statusPillActive:`_statusPillActive_1oymt_110`,dtGrid:`_dtGrid_1oymt_116`,checkRow:`_checkRow_1oymt_133`,checkbox:`_checkbox_1oymt_143`,recurToggle:`_recurToggle_1oymt_150`,recurToggleOn:`_recurToggleOn_1oymt_163`,recurToggleLabel:`_recurToggleLabel_1oymt_168`,recurSwitch:`_recurSwitch_1oymt_181`,recurSwitchOn:`_recurSwitchOn_1oymt_191`,recurKnob:`_recurKnob_1oymt_195`,panelFooter:`_panelFooter_1oymt_210`,panelSummary:`_panelSummary_1oymt_215`,panelActions:`_panelActions_1oymt_226`,recurSection:`_recurSection_1oymt_234`,recurBuilder:`_recurBuilder_1oymt_240`,recurChips:`_recurChips_1oymt_250`,recurChip:`_recurChip_1oymt_250`,recurChipActive:`_recurChipActive_1oymt_267`,recurInline:`_recurInline_1oymt_273`,recurInlineLabel:`_recurInlineLabel_1oymt_281`,recurNumber:`_recurNumber_1oymt_286`,recurWeekdays:`_recurWeekdays_1oymt_297`,recurDay:`_recurDay_1oymt_303`,recurDayActive:`_recurDayActive_1oymt_315`,recurEnds:`_recurEnds_1oymt_321`,recurRadio:`_recurRadio_1oymt_327`,recurDate:`_recurDate_1oymt_339`,recurSummaryBox:`_recurSummaryBox_1oymt_349`,recurErrorText:`_recurErrorText_1oymt_359`,panelSummaryError:`_panelSummaryError_1oymt_368`,disabledButtonWrapper:`_disabledButtonWrapper_1oymt_376`,resolveConflictBtn:`_resolveConflictBtn_1oymt_381`,upcomingCard:`_upcomingCard_1oymt_402`,upcomingHeader:`_upcomingHeader_1oymt_410`,upcomingRow:`_upcomingRow_1oymt_422`,upcomingRowDate:`_upcomingRowDate_1oymt_435`,upcomingRowTime:`_upcomingRowTime_1oymt_439`,upcomingMore:`_upcomingMore_1oymt_444`,differentTimeRow:`_differentTimeRow_1oymt_453`,differentTimeList:`_differentTimeList_1oymt_464`,differentTimeRowItem:`_differentTimeRowItem_1oymt_475`,differentTimeDayLabel:`_differentTimeDayLabel_1oymt_487`,differentTimeNote:`_differentTimeNote_1oymt_496`,differentTimeRowGroup:`_differentTimeRowGroup_1oymt_503`,differentTimeDayLabelSpacer:`_differentTimeDayLabelSpacer_1oymt_509`,slotActionBtn:`_slotActionBtn_1oymt_515`,slotActionBtnTrash:`_slotActionBtnTrash_1oymt_538`},W9={center:`_center_10cfo_6`,field:`_field_10cfo_12`,dash:`_dash_10cfo_18`},con={timePickerWrap:`_timePickerWrap_oiapt_3`};fo(),Fy(),ib();var lon=[{wd:1,label:`M`,longLabel:`Mon`},{wd:2,label:`T`,longLabel:`Tue`},{wd:3,label:`W`,longLabel:`Wed`},{wd:4,label:`T`,longLabel:`Thu`},{wd:5,label:`F`,longLabel:`Fri`},{wd:6,label:`S`,longLabel:`Sat`},{wd:0,label:`S`,longLabel:`Sun`}],uon=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},don=e=>{let t=Math.floor(e/60),n=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},fon=e=>{if(!e)return{start:`09:00`,end:`17:00`};let t=uon(e.start),n=uon(e.end),r=n>t?n-t:60,i=n,a=i+r;return i>=1439?{start:`23:00`,end:`23:59`}:(a>1439&&(a=1439),{start:don(i),end:don(a)})},pon=({slot:e,index:t,dayMeta:n,dayName:r,showTrash:i,onUpdateStart:a,onUpdateEnd:o,onAdd:s,onRemove:c})=>(0,D.jsxs)(`div`,{className:U9.differentTimeRowItem,children:[t===0?(0,D.jsx)(`span`,{className:U9.differentTimeDayLabel,children:n?.longLabel??r}):(0,D.jsx)(`span`,{className:U9.differentTimeDayLabelSpacer}),(0,D.jsx)(`div`,{className:con.timePickerWrap,children:(0,D.jsx)(Py,{value:e.start,onChange:e=>{a(e)}})}),(0,D.jsx)(`span`,{className:W9.dash,children:`–`}),(0,D.jsx)(`div`,{className:con.timePickerWrap,children:(0,D.jsx)(Py,{align:`end`,value:e.end,onChange:e=>{o(e)}})}),(0,D.jsx)(`button`,{type:`button`,className:U9.slotActionBtn,onClick:s,children:(0,D.jsx)(Ri,{size:14})}),i&&(0,D.jsx)(`button`,{type:`button`,className:U9.slotActionBtnTrash,onClick:c,children:(0,D.jsx)(Ka,{size:12})})]}),mon=({dayMeta:e,dayName:t,slots:n,startIso:r,endIso:i,onChangeSlots:a})=>{let o=n.length>0?n:[{start:L9(r),end:L9(i??r)}];return(0,D.jsx)(`div`,{className:U9.differentTimeRowGroup,children:o.map((n,r)=>(0,D.jsx)(pon,{slot:n,index:r,dayMeta:e,dayName:t,showTrash:o.length>1,onUpdateStart:e=>{let t=[...o];t[r]={...n,start:e},a(t)},onUpdateEnd:e=>{let t=[...o];t[r]={...n,end:e},a(t)},onAdd:()=>{let e=o[o.length-1];a([...o,fon(e)])},onRemove:()=>{a(o.filter((e,t)=>t!==r))}},r))})},hon=({rec:e,onChange:t,startIso:n,endIso:r})=>e.weekdays.length===0?(0,D.jsx)(D.Fragment,{}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`label`,{className:U9.differentTimeRow,children:[(0,D.jsx)(`input`,{type:`checkbox`,checked:e.differentTimes??!1,onChange:n=>{t({...e,differentTimes:n.target.checked})}}),(0,D.jsx)(`span`,{children:`Different time per day`})]}),e.differentTimes&&(0,D.jsxs)(`div`,{className:U9.differentTimeList,children:[e.weekdays.map(i=>{let a=lon.find(e=>e.wd===i);return(0,D.jsx)(mon,{dayMeta:a,dayName:a?a.longLabel:``,slots:e.weekdayTimes?.[i]??[],startIso:n,endIso:r,onChangeSlots:n=>{let r={...e.weekdayTimes,[i]:n};t({...e,weekdayTimes:r})}},i)}),(0,D.jsx)(`div`,{className:U9.differentTimeNote,children:`Defaults to the base event time when not overridden. Use + to add multiple slots per day.`})]})]});fo(),ib();var gon=({recurrence:e,startIso:t,endIso:n})=>{let r=new Date(t),i=n===void 0?new Date(r.getTime()+1800*1e3):new Date(n),a=r,o=new Date(r.getTime()+2160*60*60*1e3),s=lOe({start:t,end:i.toISOString(),recurrence:e},a,o),c=s.slice(0,5);return c.length===0?(0,D.jsx)(D.Fragment,{}):(0,D.jsxs)(`div`,{className:U9.upcomingCard,children:[(0,D.jsxs)(`div`,{className:U9.upcomingHeader,children:[(0,D.jsx)(On,{size:12}),` Upcoming Occurrences`]}),(0,D.jsx)(`div`,{children:c.map((e,t)=>{let n=new Date(e.start).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`}),r=`${F9(e.start)} – ${F9(e.end)}`;return(0,D.jsxs)(`div`,{className:U9.upcomingRow,children:[(0,D.jsx)(`span`,{className:U9.upcomingRowDate,children:n}),(0,D.jsx)(`span`,{className:U9.upcomingRowTime,children:r})]},t)})}),s.length>5&&(0,D.jsx)(`div`,{className:U9.upcomingMore,children:`...and more beyond`})]})};Do(),ib();var _on=[{wd:1,label:`M`},{wd:2,label:`T`},{wd:3,label:`W`},{wd:4,label:`T`},{wd:5,label:`F`},{wd:6,label:`S`},{wd:0,label:`S`}],von={daily:`day`,weekly:`week`,monthly:`month`,yearly:`year`},yon=[{id:`dayOfMonth`,label:`Day of month`},{id:`nthWeekday`,label:`Day of week`}],bon=({rec:e,onChange:t})=>(0,D.jsx)(`div`,{className:U9.recurChips,children:$De.map(n=>(0,D.jsx)(`button`,{type:`button`,className:T(U9.recurChip,e.freq===n.id&&U9.recurChipActive),"aria-pressed":e.freq===n.id,onClick:()=>{t({...e,freq:n.id})},children:n.label},n.id))}),xon=({rec:e,onChange:t})=>(0,D.jsxs)(`label`,{className:U9.recurInline,children:[(0,D.jsx)(`span`,{className:U9.recurInlineLabel,children:`Every`}),(0,D.jsx)(`input`,{type:`number`,min:1,max:99,className:U9.recurNumber,value:e.interval,onChange:n=>{t({...e,interval:Math.max(1,Number(n.target.value)||1)})}}),(0,D.jsxs)(`span`,{className:U9.recurInlineLabel,children:[von[e.freq],e.interval>1?`s`:``]})]}),Son=({rec:e,onChange:t})=>(0,D.jsx)(`div`,{className:U9.recurWeekdays,children:_on.map(({wd:n,label:r})=>{let i=e.weekdays.includes(n);return(0,D.jsx)(`button`,{type:`button`,className:T(U9.recurDay,i&&U9.recurDayActive),"aria-pressed":i,onClick:()=>{t({...e,weekdays:i?e.weekdays.filter(e=>e!==n):[...e.weekdays,n]})},children:r},n)})}),Con=({rec:e,onChange:t})=>(0,D.jsx)(`div`,{className:U9.recurChips,children:yon.map(n=>(0,D.jsx)(`button`,{type:`button`,className:T(U9.recurChip,e.monthlyMode===n.id&&U9.recurChipActive),onClick:()=>{t({...e,monthlyMode:n.id})},children:n.label},n.id))}),won=({rec:e,startIso:t,onChange:n})=>{let r=e.endType===`after`&&(e.endCount<1||Number.isNaN(e.endCount));return(0,D.jsxs)(`div`,{className:U9.recurEnds,children:[(0,D.jsxs)(`label`,{className:U9.recurRadio,children:[(0,D.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`never`,onChange:()=>{n({...e,endType:`never`})}}),(0,D.jsx)(`span`,{children:`Never ends`})]}),(0,D.jsxs)(`div`,{children:[(0,D.jsxs)(`label`,{className:U9.recurRadio,children:[(0,D.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`after`,onChange:()=>{n({...e,endType:`after`})}}),(0,D.jsx)(`span`,{children:`After`}),(0,D.jsx)(`input`,{type:`number`,min:1,max:365,className:U9.recurNumber,value:e.endCount===0?``:e.endCount,disabled:e.endType!==`after`,onChange:t=>{let r=t.target.value,i=r===``?0:parseInt(r,10);n({...e,endType:`after`,endCount:Number.isNaN(i)?0:Math.max(0,i)})}}),(0,D.jsx)(`span`,{children:`times`})]}),r&&(0,D.jsx)(`div`,{className:U9.recurErrorText,children:`Occurrences must be at least 1.`})]}),(0,D.jsxs)(`label`,{className:U9.recurRadio,children:[(0,D.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`on`,onChange:()=>{n({...e,endType:`on`})}}),(0,D.jsx)(`span`,{children:`On`}),(0,D.jsx)(`input`,{type:`date`,className:U9.recurDate,min:t.slice(0,10),value:e.endDate,disabled:e.endType!==`on`,onChange:t=>{n({...e,endType:`on`,endDate:t.target.value})}})]})]})},Ton=({recurrence:e,startIso:t,endIso:n,onChange:r})=>{let i=e.freq===`weekly`,a=e.freq===`monthly`||e.freq===`yearly`;return(0,D.jsxs)(`div`,{className:U9.recurBuilder,children:[(0,D.jsx)(bon,{rec:e,onChange:r}),(0,D.jsx)(xon,{rec:e,onChange:r}),i&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Son,{rec:e,onChange:r}),(0,D.jsx)(hon,{rec:e,onChange:r,startIso:t,endIso:n})]}),a&&(0,D.jsx)(Con,{rec:e,onChange:r}),(0,D.jsx)(won,{rec:e,startIso:t,onChange:r}),(0,D.jsx)(`div`,{className:U9.recurSummaryBox,children:pOe(e,t)}),(0,D.jsx)(gon,{recurrence:e,startIso:t,endIso:n})]})};fo(),Do(),ib(),Fy();var Eon=({draft:e,onChange:t})=>(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Status`}),(0,D.jsx)(`div`,{className:U9.statusPills,children:tb.map(n=>{let r=z9[n.id],i=e.status===n.id;return(0,D.jsxs)(`button`,{type:`button`,className:T(U9.statusPill,i&&U9.statusPillActive),style:yo({"--status-color":r.color}),"aria-pressed":i,onClick:()=>{t({...e,status:n.id})},children:[(0,D.jsx)(r.Icon,{size:13}),` `,n.label]},n.id)})})]}),Don=({draft:e,onChange:t})=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:e.allDay?W9.field:U9.dtGrid,children:[(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Date`}),(0,D.jsx)(`input`,{type:`date`,className:U9.panelInput,value:I9(e.start),onChange:n=>{t(ion(e,n.target.value))}})]}),!e.allDay&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Start`}),(0,D.jsx)(Py,{value:L9(e.start),onChange:n=>{t(aon(e,n))}})]}),(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`End`}),(0,D.jsx)(Py,{align:`end`,value:L9(e.end),onChange:n=>{t(oon(e,n))}})]})]})]}),(0,D.jsxs)(`label`,{className:U9.checkRow,children:[(0,D.jsx)(`input`,{type:`checkbox`,className:U9.checkbox,checked:e.allDay,onChange:n=>{t(son(e,n.target.checked))}}),(0,D.jsx)(`span`,{children:`All-day`})]})]}),Oon=({draft:e,onChange:t})=>{let n=e.recurrence!==null;return(0,D.jsxs)(`div`,{className:U9.recurSection,children:[(0,D.jsxs)(`button`,{type:`button`,className:T(U9.recurToggle,n&&U9.recurToggleOn),"aria-pressed":n,onClick:()=>{t(non(e))},children:[(0,D.jsxs)(`span`,{className:U9.recurToggleLabel,children:[(0,D.jsx)(ra,{size:13}),` Recurring`]}),(0,D.jsx)(`span`,{className:T(U9.recurSwitch,n&&U9.recurSwitchOn),children:(0,D.jsx)(`span`,{className:U9.recurKnob})})]}),e.recurrence!==null&&(0,D.jsx)(Ton,{recurrence:e.recurrence,startIso:e.start,endIso:e.end,onChange:n=>{t(ron(e,n))}})]})},kon=({draft:e,onChange:t})=>(0,D.jsxs)(`div`,{className:U9.panelForm,children:[(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Title`}),(0,D.jsx)(`input`,{type:`text`,className:T(U9.panelInput,e.title.length>200&&U9.inputError),value:e.title,placeholder:`e.g. Morning availability`,onChange:n=>{t({...e,title:n.target.value})}}),e.title.length>200&&(0,D.jsx)(`span`,{className:U9.fieldError,children:`The field Title must be a string with a maximum length of 200.`})]}),(0,D.jsx)(Eon,{draft:e,onChange:t}),(0,D.jsx)(Don,{draft:e,onChange:t}),(0,D.jsx)(Oon,{draft:e,onChange:t}),(0,D.jsxs)(`label`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:U9.microLabel,children:`Notes`}),(0,D.jsx)(`textarea`,{className:U9.notesInput,rows:3,value:e.notes,placeholder:`Optional notes`,onChange:n=>{t({...e,notes:n.target.value})}})]})]});Fy(),ib(),sS();var Aon=(e,t,n,r)=>{let i=YMe(),a=aS(),o=XMe();return{busy:i.isPending||a.isPending||o.isPending,onSave:()=>{let o=H9(t,n),s=e=>{my.success(e),r()};if(e.mode===`edit`){a.mutate({id:e.block.id,draft:o},{onSuccess:()=>{s(`Event updated`)},onError:e=>{my.error(e.message)}});return}i.mutate(o,{onSuccess:()=>{s(`Event added`)},onError:e=>{my.error(e.message)}})},onDelete:()=>{if(e.mode!==`edit`)return;let t=e.block.sourceMeetingId!==null;o.mutate(e.block.id,{onSuccess:()=>{my.success(t?`Meeting cancelled for everyone`:`Event removed`),r()},onError:e=>{my.error(e.message)}})}}};ib();var jon=(e,t,n,r)=>{let i=new Date(e).getTime(),a=new Date(t).getTime(),o=new Date(n).getTime(),s=new Date(r).getTime();return i<=o&&a>=s?{type:`delete`}:i>o&&a<s?{type:`split`,updateEnd:new Date(i).toISOString(),createStart:new Date(a).toISOString(),createEnd:new Date(s).toISOString()}:i<=o&&a>o&&a<s?{type:`update`,start:new Date(a).toISOString(),end:r}:i>o&&i<s&&a>=s?{type:`update`,start:n,end:new Date(i).toISOString()}:null},Mon=(e,t)=>{let n=new Date(e.start).getTime(),r=new Date(e.end).getTime(),i=new Date(t.start).getTime();return n<new Date(t.end).getTime()&&r>i},Non=(e,t)=>{let n=e.block.status===`available`&&t.block.status===`available`,r=e.block.status!==`available`&&t.block.status!==`available`;return(n||r)&&Mon(e,t)},Pon=(e,t,n)=>{let r=nb([new eb({id:`draft`,...e})],n),i=nb(t,n),a=[];for(let e of i)r.some(t=>Non(t,e))&&a.push(e);return a},Fon=e=>({userId:e.userId,title:e.title,status:e.status,start:e.start,end:e.end,allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}),G9=(e,t,n)=>({...Fon(e),start:t,end:n,recurrence:null}),Ion=(e,t)=>{let n=e.recurrence;if(n===null)return Fon(e);let r=Array.from(new Set([...n.exceptions,...t]));return{...Fon(e),recurrence:{...n,exceptions:r}}},Lon=(e,t,n)=>n.type===`delete`?[]:n.type===`update`?[G9(e,n.start,n.end)]:[G9(e,t.start,n.updateEnd),G9(e,n.createStart,n.createEnd)],Ron=(e,t,n)=>{let r=jon(n.start,n.end,t.start,t.end);return r===null?[]:r.type===`delete`?[{kind:`delete`,blockId:e.id}]:r.type===`update`?[{kind:`update`,blockId:e.id,draft:G9(e,r.start,r.end)}]:[{kind:`update`,blockId:e.id,draft:G9(e,t.start,r.updateEnd)},{kind:`create`,draft:G9(e,r.createStart,r.createEnd)}]},zon=(e,t,n)=>{let r=[],i=[];for(let a of t){let t=jon(n.start,n.end,a.start,a.end);if(t!==null){r.push(a.date);for(let n of Lon(e,a,t))i.push({kind:`create`,draft:n})}}return r.length===0?[]:[{kind:`update`,blockId:e.id,draft:Ion(e,r)},...i]},Bon=(e,t)=>{let n=new Map;for(let e of t){let t=n.get(e.block.id)??[];t.push(e),n.set(e.block.id,t)}let r=[];for(let t of n.values()){let n=t[0];if(n===void 0)continue;let i=n.block.recurrence===null?Ron(n.block,n,e):zon(n.block,t,e);r.push(...i)}return r};ib(),sS(),Zy(),Fy();var Von=(e,t)=>e.filter(e=>t.mode!==`edit`||e.id!==t.block.id),Hon=(e,t,n)=>{let r=new Map;for(let i of Pon(e,t,n))r.set(i.block.id,i.block);return[...r.values()]},Uon=300*1e3,Won=(e,t,n,r)=>{if(!(n.mode!==`edit`||t.start!==H9({...e,start:n.block.start,end:n.block.end},r).start)||new Date(t.start).getTime()>=Date.now()-Uon)return null;let i=new Date(t.end).getTime();return e.allDay&&i>Date.now()?`All-day events cannot be scheduled for today as part of the day has passed. Please uncheck 'All-day' to select a specific time.`:`Cannot schedule an event in the past.`},Gon=(e,t)=>{if(t.length===0)return null;let n=t[0];if(n===void 0)return null;let r=t.some(e=>e.status===`meeting`);return e===`available`&&n.status===`available`?{error:`This block overlaps with an existing availability.`,code:`overlap_availability`,hasMeetingConflict:r}:{error:r?`This block overlaps with a scheduled Meeting. Meetings cannot be auto-adjusted or overwritten.`:`This block overlaps with an existing event.`,code:`overlap_event`,hasMeetingConflict:r}},Kon=(e,t,n,r)=>{if(e.title.trim().length===0)return{error:`Event title is required.`,code:`empty_title`};if(e.title.length>200)return{error:`The field Title must be a string with a maximum length of 200.`,code:`title_too_long`};if(!MDe(e.start,e.end))return{error:`End time must be after start time.`,code:`invalid_time`};if(e.recurrence!==null&&e.recurrence.endType===`after`&&(e.recurrence.endCount<1||Number.isNaN(e.recurrence.endCount)))return{error:`Occurrences must be at least 1.`,code:`invalid_time`};let i=H9(e,r),a=Won(e,i,n,r);if(a!==null)return{error:a,code:`invalid_time`};let o=N9(new Date(i.start),0),s=Hon(i,Von(t,n),o);return Gon(e.status,s)??{error:null}},qon=(e,t,n)=>{let r=YMe(),i=aS(),a=XMe(),o=async e=>{if(e.kind===`delete`){await a.mutateAsync(e.blockId);return}if(e.kind===`update`){await i.mutateAsync({id:e.blockId,draft:e.draft});return}await r.mutateAsync(e.draft)};return{resolve:async(r,i)=>{let a=H9(e,n),s=N9(new Date(a.start),0),c=Bon(a,Pon(a,Von(r,t),s));try{await Promise.all(c.map(o)),my.success(`Conflicts resolved successfully!`),i()}catch(e){let t=e instanceof Error?e.message:String(e);my.error(`Failed to resolve conflicts: ${t}`)}}}},Jon={errorStack:`_errorStack_q9qoj_4`,errorLine:`_errorLine_q9qoj_11`};fo(),Fy(),Do();var Yon=`Permission Denied`,Xon=`Permission Denied`,Zon=`Permission Denied`,Qon=({isEdit:e,canSave:t,canCreate:n,canUpdate:r,busy:i,validationError:a,onSave:o})=>{let s=e?`Save changes`:`Create`,c=e?r:n,l=e?Xon:Yon;return c?t?(0,D.jsx)(es,{onClick:o,isLoading:i,children:s}):(0,D.jsx)(iy,{label:a??`Cannot save`,side:`top`,children:(0,D.jsx)(`span`,{className:U9.disabledButtonWrapper,children:(0,D.jsx)(es,{onClick:o,isLoading:i,disabled:!0,children:s})})}):(0,D.jsx)(iy,{label:l,side:`top`,children:(0,D.jsx)(`span`,{className:U9.disabledButtonWrapper,children:(0,D.jsx)(es,{disabled:!0,isLoading:i,children:s})})})},$on=({canDelete:e,busy:t,onDelete:n})=>e?(0,D.jsxs)(es,{variant:`ghost`,onClick:n,disabled:t,children:[(0,D.jsx)(Ka,{size:15}),` Delete`]}):(0,D.jsx)(iy,{label:Zon,side:`top`,children:(0,D.jsx)(`span`,{className:U9.disabledButtonWrapper,children:(0,D.jsxs)(es,{variant:`ghost`,disabled:!0,children:[(0,D.jsx)(Ka,{size:15}),` Delete`]})})}),esn=({isEdit:e,busy:t,canSave:n,validationError:r,isConflict:i,summary:a,canCreateEvent:o,canUpdateEvent:s,canDeleteEvent:c,onSave:l,onDelete:u,onCancel:d,onResolveConflicts:f})=>(0,D.jsxs)(`div`,{className:U9.panelFooter,children:[(0,D.jsx)(`div`,{className:T(U9.panelSummary,r!==null&&U9.panelSummaryError),children:r===null?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(Sn,{size:14}),` `,a]}):(0,D.jsxs)(`div`,{className:Jon.errorStack,children:[(0,D.jsxs)(`span`,{className:Jon.errorLine,children:[(0,D.jsx)(Un,{size:14}),` `,r]}),i&&(0,D.jsxs)(`button`,{type:`button`,className:U9.resolveConflictBtn,onClick:f,disabled:t,children:[(0,D.jsx)(Ki,{size:11}),` Auto-adjust blocks to fit`]})]})}),(0,D.jsxs)(`div`,{className:U9.panelActions,children:[e&&(0,D.jsx)($on,{canDelete:c,busy:t,onDelete:u}),(0,D.jsx)(`span`,{className:U9.actionSpacer}),(0,D.jsx)(es,{variant:`secondary`,onClick:d,disabled:t,children:`Cancel`}),(0,D.jsx)(Qon,{isEdit:e,canSave:n,canCreate:o,canUpdate:s,busy:t,validationError:r,onSave:l})]})]});fo(),Fy(),ib(),sS();var K9=` · `,tsn=` – `,nsn=e=>{let t=Xy(e.start)===Xy(e.end)?Lan(e.start):`${Lan(e.start)}${tsn}${Lan(e.end)}`,n=e.recurrence===null?``:`${K9}${pOe(e.recurrence,e.start)}`;return e.allDay?`${t}${K9}All day${n}`:e.recurrence?.differentTimes?`${t}${n}`:`${t}${K9}${`${F9(e.start)}${tsn}${F9(e.end)}`}${K9}${Ian(Yy(e.start,e.end))}${n}`},rsn=({open:e,onConfirm:t,onCancel:n})=>(0,D.jsx)(Ch,{open:e,elevated:!0,title:`Cancel this meeting?`,message:`This event came from a booking. Removing it cancels the meeting and frees the time on everyone's calendar, not just yours.`,confirmLabel:`Cancel meeting`,onConfirm:t,onCancel:n}),isn=({state:e,timezone:t,onClose:n})=>{let{hasPermission:r}=wS(),i=r(CS.scheduleCreate),a=r(CS.scheduleUpdate),o=r(CS.scheduleDelete),[s,c]=(0,E.useState)(()=>ton(e)),{busy:l,onSave:u,onDelete:d}=Aon(e,s,t,n),[f,p]=(0,E.useState)(!1),m=e.mode===`edit`&&e.block.sourceMeetingId!==null,{data:h=[]}=iS(),g=qon(s,e,t),_=e.mode===`edit`,v=Kon(s,h,e,t),y=v.code===`title_too_long`?null:v.error,b=v.error===null,x=(v.code===`overlap_availability`||v.code===`overlap_event`)&&!v.hasMeetingConflict;return(0,D.jsxs)(Eh,{open:!0,side:`right`,title:_?`Edit Event`:`New Event`,onOpenChange:e=>{e||n()},footer:(0,D.jsx)(esn,{isEdit:_,busy:l,canSave:b,validationError:y,isConflict:x,summary:nsn(s),canCreateEvent:i,canUpdateEvent:a,canDeleteEvent:o,onSave:u,onDelete:()=>{if(m){p(!0);return}d()},onCancel:n,onResolveConflicts:()=>{g.resolve(h,u)}}),children:[(0,D.jsxs)(`header`,{className:U9.panelHead,children:[(0,D.jsx)(`span`,{className:U9.panelTitle,children:_?`Edit Event`:`New Event`}),(0,D.jsx)(Ns,{label:`Close`,onClick:n,children:(0,D.jsx)(lo,{size:18})})]}),(0,D.jsx)(kon,{draft:s,onChange:c}),(0,D.jsx)(rsn,{open:f,onConfirm:()=>{p(!1),d()},onCancel:()=>{p(!1)}})]})};mS(),ib();var asn=()=>{let e=Intl.supportedValuesOf;return typeof e==`function`?e(`timeZone`):yOe},osn=/^(\d{1,2}):(\d{2})$/,ssn=e=>String(e).padStart(2,`0`),csn=e=>{let t=osn.exec(e);return t===null?0:Number(t[1])*60+Number(t[2])},lsn=e=>{let t=Math.max(0,Math.min(1439,e)),n=Math.floor(t/60),r=t%60;return`${ssn(n)}:${ssn(r)}`},usn=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],dsn=e=>usn[(e+6)%7]??`sun`,fsn=e=>usn[(e+1)%7]??`mon`,psn=e=>usn[e]??`mon`,msn=(e,t,n)=>{if(e>=0)return null;let r=e+1440,i=Math.min(0,t)+1440;return i<=r?null:{targetDay:dsn(n),from:r,to:i,id:crypto.randomUUID()}},hsn=(e,t,n)=>{if(t<=1440)return null;let r=Math.max(1440,e)-1440,i=t-1440;return i<=r?null:{targetDay:fsn(n),from:r,to:i,id:crypto.randomUUID()}},gsn=(e,t,n,r)=>{let i=Math.max(0,e),a=Math.min(1440,t);return a<=i?null:{targetDay:psn(n),from:i,to:a,id:r}},_sn=(e,t,n)=>{let r=csn(e.from),i=e.to===`23:59`||e.to===`24:00`||e.to===`00:00`?1440:csn(e.to);if(i<=r)return[];let a=r+n,o=i+n;return[msn(a,o,t),gsn(a,o,t,e.id),hsn(a,o,t)].filter(e=>e!==null)},q9=(e,t,n)=>{e.sort((e,t)=>e.from-t.from);let r=[];for(let t of e){let e=r[r.length-1];e!==void 0&&t.from<=e.to+1?e.to=Math.max(e.to,t.to):r.push({...t})}let i=r.map(e=>({id:e.id,from:lsn(e.from),to:e.to>=1440?`23:59`:lsn(e.to)}));return{active:i.length>0&&t,slots:i.length>0?i:n.map(e=>({...e}))}},J9=(e,t,n,r)=>{if(t===n)return e;let i=dS(n,r)-dS(t,r);if(i===0)return e;let a={mon:[],tue:[],wed:[],thu:[],fri:[],sat:[],sun:[]},o={mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1};return Wy.forEach((t,n)=>{let r=e[t.id];r.active&&r.slots.length>0&&r.slots.forEach(e=>{_sn(e,n,i).forEach(e=>{a[e.targetDay].push({from:e.from,to:e.to,id:e.id}),o[e.targetDay]=!0})})}),{mon:q9(a.mon,o.mon,e.mon.slots),tue:q9(a.tue,o.tue,e.tue.slots),wed:q9(a.wed,o.wed,e.wed.slots),thu:q9(a.thu,o.thu,e.thu.slots),fri:q9(a.fri,o.fri,e.fri.slots),sat:q9(a.sat,o.sat,e.sat.slots),sun:q9(a.sun,o.sun,e.sun.slots)}},vsn=(e,t)=>{let n=asn();return(n.includes(t)?n:[t,...n]).map(t=>({id:t,offset:eNe(dS(t,e))}))},Y9={tzWrap:`_tzWrap_horpb_4`,tzTrigger:`_tzTrigger_horpb_8`,tzGlobe:`_tzGlobe_horpb_30`,tzTriggerLabel:`_tzTriggerLabel_horpb_35`,tzTriggerOffset:`_tzTriggerOffset_horpb_44`,tzChevron:`_tzChevron_horpb_51`,tzBackdrop:`_tzBackdrop_horpb_56`,tzPop:`_tzPop_horpb_65`,tzSearch:`_tzSearch_horpb_78`,tzSearchInput:`_tzSearchInput_horpb_90`,tzList:`_tzList_horpb_100`,tzRow:`_tzRow_horpb_135`,tzRowActive:`_tzRowActive_horpb_154`,tzRowLabel:`_tzRowLabel_horpb_158`,tzRowOffset:`_tzRowOffset_horpb_171`,tzCheck:`_tzCheck_horpb_178`,tzEmpty:`_tzEmpty_horpb_183`};hh(),fo(),Fy(),Do();var ysn=(e,t)=>t===``||e.id.toLowerCase().includes(t)||e.offset.toLowerCase().includes(t),bsn=({search:e,list:t,value:n,onSearch:r,onPick:i})=>(0,D.jsxs)(Gm.div,{className:Y9.tzPop,variants:_h,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,D.jsxs)(`div`,{className:Y9.tzSearch,children:[(0,D.jsx)(oa,{size:13}),(0,D.jsx)(`input`,{className:Y9.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{r(e.target.value)}})]}),(0,D.jsxs)(`div`,{className:Y9.tzList,children:[t.map(e=>(0,D.jsxs)(`button`,{type:`button`,className:T(Y9.tzRow,e.id===n&&Y9.tzRowActive),onClick:()=>{i(e.id)},children:[(0,D.jsx)(`span`,{className:Y9.tzRowLabel,children:e.id}),(0,D.jsx)(`span`,{className:Y9.tzRowOffset,children:e.offset}),e.id===n&&(0,D.jsx)(Nn,{size:13,className:Y9.tzCheck})]},e.id)),t.length===0&&(0,D.jsx)(`p`,{className:Y9.tzEmpty,children:`No timezones match.`})]})]}),xsn=({value:e,now:t,onChange:n})=>{let[r,i]=(0,E.useState)(!1),[a,o]=(0,E.useState)(``),s=(0,E.useMemo)(()=>vsn(t,e),[t,e]),c=s.find(t=>t.id===e)??{id:e,offset:``},l=a.trim().toLowerCase(),u=s.filter(e=>ysn(e,l));return(0,D.jsxs)(`div`,{className:Y9.tzWrap,children:[(0,D.jsxs)(`button`,{type:`button`,className:Y9.tzTrigger,"aria-expanded":r,"aria-label":`Change timezone`,onClick:()=>{i(e=>!e)},children:[(0,D.jsx)(br,{size:14,className:Y9.tzGlobe}),(0,D.jsx)(`span`,{className:Y9.tzTriggerLabel,children:c.id}),(0,D.jsx)(`span`,{className:Y9.tzTriggerOffset,children:c.offset}),(0,D.jsx)(Fn,{size:15,className:Y9.tzChevron})]}),(0,D.jsx)(vm,{children:r&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`button`,{type:`button`,className:Y9.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{i(!1)}}),(0,D.jsx)(bsn,{search:a,list:u,value:e,onSearch:o,onPick:e=>{n(e),o(``),i(!1)}})]})})]})},X9={gridScroll:`_gridScroll_1vnsd_7`,gridInner:`_gridInner_1vnsd_33`,gutter:`_gutter_1vnsd_38`,gutterHead:`_gutterHead_1vnsd_44`,gutterAllDay:`_gutterAllDay_1vnsd_48`,gutterHour:`_gutterHour_1vnsd_62`,dayCol:`_dayCol_1vnsd_73`,dayHeader:`_dayHeader_1vnsd_79`,colDay:`_colDay_1vnsd_93`,colDayToday:`_colDayToday_1vnsd_101`,dayNum:`_dayNum_1vnsd_105`,dayNumToday:`_dayNumToday_1vnsd_125`,dayCount:`_dayCount_1vnsd_131`,allDayBand:`_allDayBand_1vnsd_137`,allDayChip:`_allDayChip_1vnsd_148`,hoursWrap:`_hoursWrap_1vnsd_168`,workBand:`_workBand_1vnsd_174`,hourRow:`_hourRow_1vnsd_184`,nowLine:`_nowLine_1vnsd_203`,nowDot:`_nowDot_1vnsd_214`,block:`_block_1vnsd_224`,blockTitle:`_blockTitle_1vnsd_261`,blockTime:`_blockTime_1vnsd_279`,monthScroll:`_monthScroll_1vnsd_293`,monthHead:`_monthHead_1vnsd_302`,monthHeadCell:`_monthHeadCell_1vnsd_309`,monthGrid:`_monthGrid_1vnsd_319`,monthCell:`_monthCell_1vnsd_326`,monthCellOff:`_monthCellOff_1vnsd_347`,monthDayNum:`_monthDayNum_1vnsd_351`,monthCellToday:`_monthCellToday_1vnsd_355`,monthDayNumToday:`_monthDayNumToday_1vnsd_366`,monthChip:`_monthChip_1vnsd_379`,monthMore:`_monthMore_1vnsd_402`,agendaScroll:`_agendaScroll_1vnsd_410`,agendaGroup:`_agendaGroup_1vnsd_418`,agendaDay:`_agendaDay_1vnsd_422`,agendaItems:`_agendaItems_1vnsd_432`,agendaRow:`_agendaRow_1vnsd_438`,agendaAccent:`_agendaAccent_1vnsd_459`,agendaBody:`_agendaBody_1vnsd_467`,agendaTitle:`_agendaTitle_1vnsd_475`,agendaMeta:`_agendaMeta_1vnsd_484`,agendaPill:`_agendaPill_1vnsd_493`,agendaEmpty:`_agendaEmpty_1vnsd_506`,agendaEmptyIcon:`_agendaEmptyIcon_1vnsd_517`,agendaEmptyTitle:`_agendaEmptyTitle_1vnsd_522`,agendaEmptyText:`_agendaEmptyText_1vnsd_528`,agendaEmptyBtn:`_agendaEmptyBtn_1vnsd_533`,availabilityBand:`_availabilityBand_1vnsd_546`,availabilityBandLabel:`_availabilityBandLabel_1vnsd_579`,availabilityBandEditBtn:`_availabilityBandEditBtn_1vnsd_589`,dragSelectionHighlight:`_dragSelectionHighlight_1vnsd_612`,dragSelectionLabel:`_dragSelectionLabel_1vnsd_631`};hh(),fo(),Fy(),Do(),ib();var Ssn={hidden:{},visible:{transition:{staggerChildren:.04}}},Csn=e=>{let t=[...e].sort((e,t)=>e.start<t.start?-1:1),n=new Map;for(let e of t){let t=n.get(e.date);t===void 0?n.set(e.date,{key:e.date,label:new Date(e.start).toLocaleDateString(void 0,{weekday:`long`,day:`numeric`,month:`long`}),items:[e]}):t.items.push(e)}return[...n.values()]},wsn=({occurrence:e,onSelect:t})=>{let{block:n}=e,r=z9[n.status],i=n.allDay?`All day`:`${F9(e.start)} – ${F9(e.end)}`;return(0,D.jsxs)(Gm.button,{type:`button`,variants:gh,whileHover:{x:3},className:X9.agendaRow,style:yo({"--status-color":r.color}),onClick:()=>{t(n)},children:[(0,D.jsx)(`span`,{className:X9.agendaAccent}),(0,D.jsxs)(`span`,{className:X9.agendaBody,children:[(0,D.jsx)(`span`,{className:X9.agendaTitle,children:n.title}),(0,D.jsxs)(`span`,{className:X9.agendaMeta,children:[i,n.recurrence!==null&&(0,D.jsxs)(D.Fragment,{children:[` · `,(0,D.jsx)(Zi,{size:10}),` Recurring`]})]})]}),(0,D.jsxs)(`span`,{className:X9.agendaPill,children:[(0,D.jsx)(r.Icon,{size:10}),` `,r.label]})]})},Tsn=({occurrences:e,onSelectBlock:t,onCreate:n})=>{let r=Csn(e);return r.length===0?(0,D.jsxs)(`div`,{className:X9.agendaEmpty,children:[(0,D.jsx)(`span`,{className:X9.agendaEmptyIcon,children:(0,D.jsx)(Tn,{size:30})}),(0,D.jsx)(`span`,{className:X9.agendaEmptyTitle,children:`Nothing scheduled this month`}),(0,D.jsx)(`span`,{className:X9.agendaEmptyText,children:`Create a block to fill your week.`}),(0,D.jsx)(`button`,{type:`button`,className:X9.agendaEmptyBtn,onClick:n,children:`Create New Event`})]}):(0,D.jsx)(`div`,{className:X9.agendaScroll,children:r.map(e=>(0,D.jsxs)(`div`,{className:X9.agendaGroup,children:[(0,D.jsx)(`div`,{className:X9.agendaDay,children:e.label}),(0,D.jsx)(Gm.div,{className:X9.agendaItems,variants:Ssn,initial:`hidden`,animate:`visible`,children:e.items.map(e=>(0,D.jsx)(wsn,{occurrence:e,onSelect:t},e.key))})]},e.key))})};hh(),Do(),ib();var Esn=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],Dsn=3,Osn=e=>{let t=new Map;for(let n of e){let e=t.get(n.date)??[];e.push(n),t.set(n.date,e)}for(let e of t.values())e.sort((e,t)=>e.start<t.start?-1:1);return t},ksn=e=>{let{date:t,inMonth:n,isToday:r,occs:i}=e,a=i.length-Dsn;return(0,D.jsxs)(`div`,{className:T(X9.monthCell,!n&&X9.monthCellOff,r&&X9.monthCellToday),onClick:()=>{e.onSelectSlot(R9(Xy(t),`09:00`))},children:[(0,D.jsx)(`span`,{className:T(X9.monthDayNum,r&&X9.monthDayNumToday),children:t.getDate()}),i.slice(0,Dsn).map(t=>(0,D.jsx)(`button`,{type:`button`,className:X9.monthChip,style:yo({"--status-color":z9[t.block.status].color}),onClick:n=>{n.stopPropagation(),e.onSelectBlock(t.block)},children:t.block.title},t.key)),a>0&&(0,D.jsxs)(`span`,{className:X9.monthMore,children:[`+`,a,` more`]})]})},Asn=({dates:e,anchor:t,occurrences:n,today:r,onSelectBlock:i,onSelectSlot:a})=>{let o=Osn(n),s=Xy(r);return(0,D.jsxs)(`div`,{className:X9.monthScroll,children:[(0,D.jsx)(`div`,{className:X9.monthHead,children:Esn.map(e=>(0,D.jsx)(`span`,{className:X9.monthHeadCell,children:e},e))}),(0,D.jsx)(Gm.div,{className:X9.monthGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:[.22,1,.36,1]},children:e.map(e=>{let n=Xy(e);return(0,D.jsx)(ksn,{date:e,inMonth:e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear(),isToday:n===s,occs:o.get(n)??[],onSelectBlock:i,onSelectSlot:a},n)})})]})},Z9={sidebar:`_sidebar_p4iov_4`,summaryGrid:`_summaryGrid_p4iov_36`,summaryCard:`_summaryCard_p4iov_42`,summaryTop:`_summaryTop_p4iov_54`,summaryTopIcon:`_summaryTopIcon_p4iov_60`,summaryValue:`_summaryValue_p4iov_65`,summaryLabel:`_summaryLabel_p4iov_73`,sideHeader:`_sideHeader_p4iov_82`,quickRow:`_quickRow_p4iov_92`,quickBtn:`_quickBtn_p4iov_97`,legendIcon:`_legendIcon_p4iov_118`,legend:`_legend_p4iov_118`,legendItem:`_legendItem_p4iov_129`,legendItemOn:`_legendItemOn_p4iov_151`,legendOff:`_legendOff_p4iov_156`,legendSwatch:`_legendSwatch_p4iov_160`,legendSwatchOff:`_legendSwatchOff_p4iov_172`,drawerHeader:`_drawerHeader_p4iov_177`,drawerTitle:`_drawerTitle_p4iov_185`,drawerCloseBtn:`_drawerCloseBtn_p4iov_191`};hh(),fo(),Fy(),Do(),ib();var jsn={hidden:{},visible:{transition:{staggerChildren:.05}}},Msn=({occurrences:e,today:t,availability:n})=>{let r=wOe(e,t),i=Wy[(t.getDay()+6)%7]?.id??`mon`,a=n?.[i],o=a?.active?a.slots:[],s=[{label:`Free`,value:`${String(Zan(e,t,o))}h`,color:`var(--color-primary)`,Icon:Xn},{label:`Busy`,value:`${String(r.busyHours)}h`,color:z9.busy.color,Icon:z9.busy.Icon},{label:`Meetings`,value:String(r.meetingCount),color:z9.meeting.color,Icon:z9.meeting.Icon},{label:`Focus`,value:`${String(r.focusHours)}h`,color:z9.focus.color,Icon:z9.focus.Icon}];return(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:Z9.sideHeader,children:`Today`}),(0,D.jsx)(Gm.div,{className:Z9.summaryGrid,variants:jsn,initial:`hidden`,animate:`visible`,children:s.map(e=>(0,D.jsxs)(Gm.div,{className:Z9.summaryCard,style:yo({"--v":e.color}),variants:gh,whileHover:{y:-2},children:[(0,D.jsxs)(`span`,{className:Z9.summaryTop,children:[(0,D.jsx)(e.Icon,{size:12,strokeWidth:2.4,className:Z9.summaryTopIcon}),(0,D.jsx)(`span`,{className:Z9.summaryLabel,children:e.label})]}),(0,D.jsx)(`span`,{className:Z9.summaryValue,children:e.value})]},e.label))})]})},Nsn=({onQuickAdd:e})=>(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:Z9.sideHeader,children:`Quick add`}),(0,D.jsx)(`div`,{className:Z9.quickRow,children:[{status:`focus`,minutes:60,title:`Deep work`,label:`Focus 1h`},{status:`busy`,minutes:30,title:`Busy`,label:`Busy 30m`}].map(t=>{let n=z9[t.status];return(0,D.jsxs)(Gm.button,{type:`button`,whileTap:{scale:.96},className:Z9.quickBtn,style:yo({"--status-color":n.color}),onClick:()=>{e(t.status,t.minutes,t.title)},children:[(0,D.jsx)(n.Icon,{size:11}),` `,t.label]},t.label)})})]}),Psn=({activeStatuses:e,onToggleStatus:t})=>(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:Z9.sideHeader,children:`Status legend`}),(0,D.jsx)(`div`,{className:Z9.legend,children:tb.map(n=>{let r=z9[n.id],i=e.has(n.id);return(0,D.jsxs)(Gm.button,{type:`button`,whileTap:{scale:.97},className:T(Z9.legendItem,i?Z9.legendItemOn:Z9.legendOff),style:yo({"--status-color":r.color}),onClick:()=>{t(n.id)},children:[(0,D.jsx)(`span`,{className:T(Z9.legendSwatch,!i&&Z9.legendSwatchOff),children:(0,D.jsx)(vm,{children:i&&(0,D.jsx)(Gm.span,{initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,D.jsx)(Nn,{size:11,strokeWidth:3})})})}),(0,D.jsx)(r.Icon,{size:12,className:Z9.legendIcon}),n.label]},n.id)})})]}),Fsn=e=>(0,D.jsxs)(`aside`,{className:Z9.sidebar,children:[e.onClose!==void 0&&(0,D.jsxs)(`div`,{className:Z9.drawerHeader,children:[(0,D.jsx)(`span`,{className:Z9.drawerTitle,children:`Schedule Settings`}),(0,D.jsx)(`button`,{type:`button`,className:Z9.drawerCloseBtn,onClick:e.onClose,"aria-label":`Close schedule settings`,children:(0,D.jsx)(lo,{size:16})})]}),(0,D.jsx)(Msn,{occurrences:e.occurrences,today:e.today,availability:e.availability}),(0,D.jsx)(Nsn,{onQuickAdd:e.onQuickAdd}),(0,D.jsx)(Psn,{activeStatuses:e.activeStatuses,onToggleStatus:e.onToggleStatus})]}),Isn=(e,t,n,r)=>{let i=Math.min(e,t),a=Math.max(e,t);if(e===t){let e=r-1;return{firstDayIdx:i,lastDayIdx:a,startHour:Math.min(n,e),endHour:Math.max(n,e)+1}}return e>t?{firstDayIdx:i,lastDayIdx:a,startHour:r-1,endHour:n}:{firstDayIdx:i,lastDayIdx:a,startHour:n,endHour:r}};hh(),fo(),Do(),ib();var Lsn=({item:e,range:t,onSelect:n})=>{let{occurrence:r}=e,{block:i}=r,a=z9[i.status],o=Han(r.start,r.end,t),s=r.continuesFromPrevDay===!0,c=r.continuesToNextDay===!0,l=s?`Continued from the previous day`:c?`Continues into the next day`:void 0;return(0,D.jsxs)(Gm.button,{type:`button`,draggable:!0,title:l,onDragStartCapture:e=>{e.dataTransfer.setData(`text/plain`,i.id)},initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.18,ease:[.22,1,.36,1]},className:X9.block,style:{...yo({"--status-color":a.color,"--top":`${String(o.top)}px`,"--h":`${String(o.height)}px`,"--lane":e.lane,"--lanes":e.lanes}),...s?{borderTopLeftRadius:0,borderTopRightRadius:0}:{},...c?{borderBottomLeftRadius:0,borderBottomRightRadius:0}:{}},onClick:()=>{n(i)},children:[(0,D.jsxs)(`span`,{className:X9.blockTitle,children:[s&&(0,D.jsx)(Vn,{size:10,"aria-hidden":!0}),` `,(0,D.jsx)(a.Icon,{size:10}),` `,i.title]}),o.height>=30&&(0,D.jsxs)(`span`,{className:X9.blockTime,children:[F9(r.start),` – `,F9(r.end),c&&(0,D.jsx)(Fn,{size:10,"aria-hidden":!0})]})]})},Rsn=({occurrence:e,onSelect:t})=>{let{block:n}=e,r=z9[n.status];return(0,D.jsxs)(`button`,{type:`button`,className:X9.allDayChip,style:yo({"--status-color":r.color}),onClick:()=>{t(n)},children:[(0,D.jsx)(r.Icon,{size:10}),` `,n.title]})};fo(),Do(),ib();var zsn=e=>`${String(e).padStart(2,`0`)}:00`,Bsn=({bands:e,range:t,onSelectSlot:n,onSelectBlock:r})=>(0,D.jsx)(D.Fragment,{children:e.map(e=>{let i=e.block.allDay&&e.continuesFromPrevDay!==!0&&e.continuesToNextDay!==!0?{top:0,height:Van(t)}:Han(e.start,e.end,t);return(0,D.jsxs)(`div`,{className:X9.availabilityBand,style:yo({"--top":`${String(i.top)}px`,"--h":`${String(i.height)}px`}),onClick:()=>{n(e.start,e.end)},children:[(0,D.jsxs)(`span`,{className:X9.availabilityBandLabel,children:[(0,D.jsx)(Nn,{size:11,strokeWidth:3}),` Available`]}),(0,D.jsx)(`button`,{type:`button`,className:X9.availabilityBandEditBtn,onClick:t=>{t.stopPropagation(),r(e.block)},children:`Edit`})]},e.key)})}),Vsn=({day:e,cell:t,dayIndex:n,range:r,onDragSelectStart:i,onDragSelectEnter:a,onDropBlock:o,onSelectSlot:s})=>(0,D.jsx)(D.Fragment,{children:Ban(r).map(r=>(0,D.jsx)(`button`,{type:`button`,className:X9.hourRow,"aria-label":`Add a block on ${e.long} at ${B9(r)}`,onMouseDown:e=>{e.button===0&&(e.preventDefault(),i(n,r))},onMouseEnter:e=>{a(n,r,e.buttons)},onDragOver:e=>{e.preventDefault()},onDrop:e=>{let n=e.dataTransfer.getData(`text/plain`);n&&o(n,R9(Xy(t.date),zsn(r)))},onClick:()=>{s(R9(Xy(t.date),zsn(r)))}},r))});Do(),ib();var Hsn=e=>e===0?``:e===1?`1 event`:`${String(e)} events`,Usn=({day:e,cell:t,count:n,off:r})=>(0,D.jsxs)(`div`,{className:X9.dayHeader,children:[(0,D.jsx)(`span`,{className:T(X9.colDay,t.isToday&&X9.colDayToday),children:e.short}),(0,D.jsx)(`span`,{className:T(X9.dayNum,t.isToday&&X9.dayNumToday),children:t.dayNumber}),(0,D.jsx)(`span`,{className:X9.dayCount,children:r?`Day off`:Hsn(n)})]}),Wsn=({allDay:e,onSelectBlock:t})=>(0,D.jsx)(`div`,{className:X9.allDayBand,children:e.map(e=>(0,D.jsx)(Rsn,{occurrence:e,onSelect:t},e.key))}),Gsn=({dayIndex:e,dragSelect:t,rangeStartHour:n})=>t===null||e<Math.min(t.startDayIndex,t.endDayIndex)||e>Math.max(t.startDayIndex,t.endDayIndex)?null:(0,D.jsx)(`div`,{className:X9.dragSelectionHighlight,style:yo({"--top":`${String((Math.min(t.startHour,t.endHour-1)-n)*52)}px`,"--h":`${String(Math.abs(t.endHour-t.startHour)*52)}px`}),children:(0,D.jsxs)(`span`,{className:X9.dragSelectionLabel,children:[B9(Math.min(t.startHour,t.endHour)),` –`,` `,B9(Math.max(t.startHour,t.endHour))]})}),Ksn=(e,t)=>{let n=e.filter(e=>e.dayIndex===t);return{dayOccs:n,allDay:n.filter(e=>e.block.allDay&&e.block.status!==`available`),availabilityBands:n.filter(e=>e.block.status===`available`),laid:Jan(n.filter(e=>!e.block.allDay&&e.block.status!==`available`))}},qsn=({active:e,slots:t,range:n,cell:r,day:i,dayIndex:a,now:o,availabilityBands:s,laid:c,dragSelect:l,onDragSelectStart:u,onDragSelectEnter:d,onDropBlock:f,onSelectSlot:p,onSelectBlock:m})=>{let h=Wan(e,t,n),g=r.isToday?Gan(o,n):null;return(0,D.jsxs)(`div`,{className:X9.hoursWrap,style:yo({"--grid-h":`${String(Van(n))}px`}),children:[h.map(e=>(0,D.jsx)(`div`,{className:X9.workBand,style:yo({"--top":`${String(e.top)}px`,"--h":`${String(e.height)}px`})},e.top)),(0,D.jsx)(Bsn,{bands:s,range:n,onSelectSlot:p,onSelectBlock:m}),(0,D.jsx)(Vsn,{day:i,cell:r,dayIndex:a,range:n,onDragSelectStart:u,onDragSelectEnter:d,onDropBlock:f,onSelectSlot:p}),(0,D.jsx)(Gsn,{dayIndex:a,dragSelect:l,rangeStartHour:n.startHour}),g!==null&&(0,D.jsx)(`div`,{className:X9.nowLine,style:yo({"--top":`${String(g)}px`}),children:(0,D.jsx)(`span`,{className:X9.nowDot})}),c.map(e=>(0,D.jsx)(Lsn,{item:e,range:n,onSelect:m},e.occurrence.key))]})},Jsn=e=>{let{day:t,cell:n,dayIndex:r,occurrences:i,onSelectBlock:a,active:o}=e,{dayOccs:s,allDay:c,availabilityBands:l,laid:u}=Ksn(i,r),d=!o;return(0,D.jsxs)(`div`,{className:T(X9.dayCol,n.isToday&&X9.dayColToday),children:[(0,D.jsx)(Usn,{day:t,cell:n,count:s.length,off:d}),(0,D.jsx)(Wsn,{allDay:c,onSelectBlock:a}),(0,D.jsx)(qsn,{...e,availabilityBands:l,laid:u})]})};Do(),ib(),sS();var Ysn=({range:e})=>(0,D.jsxs)(`div`,{className:X9.gutter,children:[(0,D.jsx)(`div`,{className:X9.gutterHead}),(0,D.jsx)(`div`,{className:X9.gutterAllDay,children:`all-day`}),Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n).map(e=>(0,D.jsx)(`div`,{className:X9.gutterHour,children:B9(e)},e))]}),Xsn=(e,t)=>{let[n,r]=(0,E.useState)(null);return(0,E.useEffect)(()=>{let i=()=>{if(n!==null){let{firstDayIdx:i,lastDayIdx:a,startHour:o,endHour:s}=Isn(n.startDayIndex,n.endDayIndex,n.startHour,n.endHour),c=e[i],l=e[a];c&&l&&t(R9(Xy(c.date),`${String(o).padStart(2,`0`)}:00`),R9(Xy(l.date),`${String(s).padStart(2,`0`)}:00`)),r(null)}};return window.addEventListener(`mouseup`,i),()=>{window.removeEventListener(`mouseup`,i)}},[n,e,t]),{dragSelect:n,startDrag:(e,t)=>{r({startDayIndex:e,endDayIndex:e,startHour:t,endHour:t+1})},enterDrag:(e,t,i)=>{if(n!==null){if(i!==1){r(null);return}r({...n,endDayIndex:e,endHour:t+1})}}}},Zsn=e=>{let t=aS();return{dropBlock:(n,r)=>{let i=e.find(e=>e.block.id===n);if(!i)return;let a=i.block.durationMinutes,o=new Date(new Date(r).getTime()+a*6e4).toISOString();t.mutate({id:n,draft:{title:i.block.title,status:i.block.status,start:r,end:o,allDay:i.block.allDay,notes:i.block.notes,recurrence:i.block.recurrence}})}}},Qsn=e=>({active:e?e.active:!0,slots:e?.slots??[{from:`09:00`,to:`17:00`}]}),$sn=({days:e,cells:t,occurrences:n,availability:r,workStart:i,workEnd:a,range:o,now:s,onSelectBlock:c,onSelectSlot:l})=>{let u=(0,E.useRef)(null),{dragSelect:d,startDrag:f,enterDrag:p}=Xsn(t,l),{dropBlock:m}=Zsn(n),h=(0,E.useRef)(s);h.current=s;let{startHour:g,endHour:_}=o,v=s.getHours()*60+s.getMinutes(),y=t.some(e=>e.isToday)&&v>=g*60&&v<=_*60;(0,E.useEffect)(()=>{let e=u.current;if(e===null)return;let t=y?qan(h.current,g):Kan(i,a,g);e.scrollTo({top:Math.max(0,Math.min(t,e.scrollHeight-e.clientHeight))})},[g,i,a,y]);let b=Math.max(1,...e.map(e=>{let t=Wy.findIndex(t=>t.id===e.id);return n.filter(e=>e.dayIndex===t&&e.block.allDay).length}));return(0,D.jsx)(`div`,{className:X9.gridScroll,ref:u,children:(0,D.jsxs)(`div`,{className:X9.gridInner,style:yo({"--all-day-rows":b}),children:[(0,D.jsx)(Ysn,{range:o}),e.map(e=>{let i=Wy.findIndex(t=>t.id===e.id),a=t[i]??t[0];if(a===void 0)return null;let{active:u,slots:h}=Qsn(r?r[e.id]:null);return(0,D.jsx)(Jsn,{day:e,cell:a,dayIndex:i,active:u,slots:h,range:o,now:s,occurrences:n,dragSelect:d,onDragSelectStart:f,onDragSelectEnter:p,onDropBlock:m,onSelectBlock:c,onSelectSlot:l},e.id)})]})})};ib(),iNe();var ecn=[{id:`day`,label:`Day`},{id:`week`,label:`Week`},{id:`workweek`,label:`Work Week`},{id:`month`,label:`Month`},{id:`agenda`,label:`Agenda`},{id:`hours`,label:`Working Hours`}],tcn=e=>e===`month`||e===`agenda`,ncn=(e,t)=>{let n=new Set(e);return t===`agenda`?n.delete(`available`):t!==`hours`&&n.add(`available`),n},rcn=(e,t)=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n},icn=()=>{let[e,t]=(0,E.useState)(`week`),[n,r]=(0,E.useState)(0),[i,a]=(0,E.useState)(0),[o,s]=(0,E.useState)(null),[c,l]=(0,E.useState)(()=>new Set(tb.map(e=>e.id))),[u,d]=(0,E.useState)(``),f=hS(u).display;return{view:e,setView:e=>{t(e),l(t=>ncn(t,e))},dayOffset:n,monthOffset:i,goPrev:()=>{tcn(e)?a(e=>e-1):r(e===`day`?e=>e-1:e=>e-7)},goNext:()=>{tcn(e)?a(e=>e+1):r(e===`day`?e=>e+1:e=>e+7)},goToday:()=>{r(0),a(0)},active:c,toggle:e=>{l(t=>rcn(t,e))},editor:o,openCreate:(e,t)=>{s({mode:`create`,start:e,...t===void 0?{}:{end:t}})},openQuick:(e,t,n)=>{let r=new Date(eon(new Date().toISOString(),f));r.setSeconds(0,0),r.setMinutes(Math.ceil(r.getMinutes()/5)*5);let i=new Date(r.getTime()+t*6e4);s({mode:`create`,start:r.toISOString(),end:i.toISOString(),status:e,title:n})},openEdit:e=>{s({mode:`edit`,block:e})},closeEditor:()=>{s(null)},timezone:f,setTimezone:d}},Q9={scheduleRoot:`_scheduleRoot_5za8e_7`,toolbar:`_toolbar_5za8e_16`,scheduleSelect:`_scheduleSelect_5za8e_27`,weekNav:`_weekNav_5za8e_39`,dateLabel:`_dateLabel_5za8e_45`,navBtn:`_navBtn_5za8e_54`,todayBtn:`_todayBtn_5za8e_75`,viewChips:`_viewChips_5za8e_92`,viewChip:`_viewChip_5za8e_92`,viewChipBg:`_viewChipBg_5za8e_119`,viewChipLabel:`_viewChipLabel_5za8e_128`,viewChipActive:`_viewChipActive_5za8e_134`,newBtn:`_newBtn_5za8e_140`,main:`_main_5za8e_156`,calArea:`_calArea_5za8e_163`,hoursArea:`_hoursArea_5za8e_172`,sidebarToggleBtn:`_sidebarToggleBtn_5za8e_181`,sidebarToggleBtnActive:`_sidebarToggleBtnActive_5za8e_199`};Fy();var acn=e=>e.view===`month`?(0,D.jsx)(Asn,{dates:e.monthDates,anchor:e.monthAnchor,occurrences:e.monthOccurrences,today:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}):e.view===`agenda`?(0,D.jsx)(Tsn,{occurrences:e.monthOccurrences,onSelectBlock:e.onSelectBlock,onCreate:e.onCreate}):(0,D.jsx)($sn,{days:e.days,cells:e.cells,occurrences:e.weekOccurrences,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,range:e.range,now:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}),ocn=e=>{let t=ko(`(max-width: 1024px)`);return(0,D.jsxs)(`div`,{className:Q9.main,children:[(0,D.jsxs)(`div`,{className:Q9.calArea,children:[e.query.isPending&&(0,D.jsx)(`div`,{className:W9.center,children:(0,D.jsx)(Vo,{label:`Loading schedule`})}),e.query.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not load schedule`,children:e.query.error.message}),e.query.isSuccess&&acn(e)]}),!t&&(0,D.jsx)(Fsn,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd}),t&&(0,D.jsx)(Eh,{open:e.isSidebarOpen??!1,onOpenChange:t=>{!t&&e.onCloseSidebar!==void 0&&e.onCloseSidebar()},title:`Schedule Settings`,side:`right`,children:(0,D.jsx)(Fsn,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd,onClose:e.onCloseSidebar})})]})};Fy(),mS(),ib(),sS();var scn=(e,t)=>e.meetingDuration!==t.meetingDuration||e.bufferMinutes!==t.bufferMinutes,ccn=(e,t,n)=>{let r=pS.from({personal:t.timezone,anchor:t.availabilityTimezone});return{anchorZone:r.anchor,initialTimezone:r.display,initialInZone:J9(e,r.anchor,r.display,n)}},lcn=e=>{let t={};for(let[n,r]of Object.entries(e))t[n]={active:r.active,slots:r.slots.map(e=>({from:e.from,to:e.to}))};return t},ucn=(e,t,n)=>{let r=JMe(),i=ZMe(),[a]=(0,E.useState)(()=>n.now()),[{anchorZone:o,initialTimezone:s,initialInZone:c}]=(0,E.useState)(()=>ccn(e,t,a)),[l,u]=(0,E.useState)(c),[d,f]=(0,E.useState)(s),[p,m]=(0,E.useState)(t.meetingDuration),[h,g]=(0,E.useState)(t.bufferMinutes),_=J9(l,d,o,a),v=JSON.stringify(lcn(_))!==JSON.stringify(lcn(e)),y=scn({meetingDuration:p,bufferMinutes:h},t);return(0,E.useEffect)(()=>{r.isSuccess&&u(J9(e,o,d,a))},[e,r.isSuccess,o,d,a]),(0,E.useEffect)(()=>{i.isSuccess&&(m(t.meetingDuration),g(t.bufferMinutes))},[t,i.isSuccess]),{draft:l,timezone:d,meetingDuration:p,bufferMinutes:h,now:a,dirty:v||y,isSaving:r.isPending||i.isPending,isSuccess:r.isSuccess||i.isSuccess,isError:r.isError||i.isError,errorMsg:r.error?.message??i.error?.message??``,setMeetingDuration:m,setBufferMinutes:g,patchDay:(e,t)=>{r.reset(),i.reset(),u(n=>({...n,[e]:{...n[e],...t}}))},changeTimezone:e=>{r.reset(),i.reset(),u(t=>J9(t,d,e,a)),f(e)},reset:()=>{r.mutate(null,{onSuccess:()=>{my.success(`Reverted to your branch default hours.`)},onError:()=>{my.error(`Could not revert to branch defaults. Please try again.`)}})},onSave:()=>{r.reset(),i.reset(),v&&r.mutate(_),y&&i.mutate({...t,meetingDuration:p,bufferMinutes:h})}}},$9={hours:`_hours_ftj0h_5`,fieldLabel:`_fieldLabel_ftj0h_18`,chips:`_chips_ftj0h_24`,chipBtn:`_chipBtn_ftj0h_30`,chipBtnActive:`_chipBtnActive_ftj0h_50`,chipBg:`_chipBg_ftj0h_56`,chipLabel:`_chipLabel_ftj0h_64`,dayRow:`_dayRow_ftj0h_69`,toggle:`_toggle_ftj0h_77`,toggleOn:`_toggleOn_ftj0h_90`,toggleKnob:`_toggleKnob_ftj0h_95`,dayName:`_dayName_ftj0h_102`,overflowLabel:`_overflowLabel_ftj0h_112`,dayTimes:`_dayTimes_ftj0h_119`,timeInput:`_timeInput_ftj0h_127`,resetBtn:`_resetBtn_ftj0h_144`,readonlyField:`_readonlyField_ftj0h_162`,fieldHint:`_fieldHint_ftj0h_175`,formFooter:`_formFooter_ftj0h_180`,formStatus:`_formStatus_ftj0h_188`,saveBtn:`_saveBtn_ftj0h_194`,inheritedBanner:`_inheritedBanner_ftj0h_212`,inheritedBadge:`_inheritedBadge_ftj0h_218`,badgeSub:`_badgeSub_ftj0h_229`,customBadge:`_customBadge_ftj0h_234`,customBadgeText:`_customBadgeText_ftj0h_247`,resetToBranchBtn:`_resetToBranchBtn_ftj0h_251`,settingsGrid:`_settingsGrid_ftj0h_271`};hh(),Do(),ib();var dcn=({name:e,options:t,selected:n,onSelect:r})=>(0,D.jsx)(`div`,{className:$9.chips,children:t.map(t=>{let i=n===t;return(0,D.jsxs)(`button`,{type:`button`,className:T($9.chipBtn,i&&$9.chipBtnActive),onClick:()=>{r(t)},children:[i&&(0,D.jsx)(Gm.span,{layoutId:`chip-${e}`,className:$9.chipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,D.jsxs)(`span`,{className:$9.chipLabel,children:[t,`m`]})]},t)})}),fcn=({meetingDuration:e,bufferMinutes:t,onDurationChange:n,onBufferChange:r})=>(0,D.jsxs)(`div`,{className:$9.settingsGrid,children:[(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Meeting duration`}),(0,D.jsx)(dcn,{name:`duration`,options:_Oe,selected:e,onSelect:n})]}),(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Buffer between meetings`}),(0,D.jsx)(dcn,{name:`buffer`,options:vOe,selected:t,onSelect:r})]})]});fo(),Fy(),Do(),ib(),HMe();var pcn=({slot:e,index:t,slots:n,active:r,onChange:i})=>{let a=n[t-1],o=n[t+1],s=a===void 0?void 0:a.to,c=e.to,l=e.from,u=o===void 0?void 0:o.from;return(0,D.jsxs)(`div`,{className:$9.dayTimes,children:[(0,D.jsx)(Py,{value:e.from,minTime:s,maxTime:c,disabled:!r,onChange:r=>{let a=[...n];a[t]={...e,from:r},i(a)}}),(0,D.jsx)(`span`,{className:W9.dash,children:`–`}),(0,D.jsx)(Py,{value:e.to,minTime:l,maxTime:u,disabled:!r,align:`end`,onChange:r=>{let a=[...n];a[t]={...e,to:r},i(a)}}),(0,D.jsx)(`button`,{type:`button`,className:$9.resetBtn,disabled:!r||n.length===1,onClick:()=>{i(n.filter((e,n)=>n!==t))},children:`Delete`})]})},mcn=({day:e,value:t,onChange:n})=>(0,D.jsxs)(`div`,{className:$9.dayRow,children:[(0,D.jsx)(`button`,{type:`button`,className:T($9.toggle,t.active&&$9.toggleOn),"aria-pressed":t.active,onClick:()=>{n({active:!t.active})},children:(0,D.jsx)(`span`,{className:$9.toggleKnob})}),(0,D.jsx)(`span`,{className:$9.dayName,children:e.long}),(0,D.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,flex:1},children:[t.slots.map((e,r)=>(0,D.jsx)(pcn,{slot:e,index:r,slots:t.slots,active:t.active,onChange:e=>{n({slots:e})}},e.id)),(0,D.jsx)(`button`,{type:`button`,className:$9.resetBtn,style:{alignSelf:`flex-start`,margin:0},disabled:!t.active,onClick:()=>{let e=t.slots[t.slots.length-1],r=`09:00`,i=`17:00`;e!==void 0&&e.to<`22:00`&&(r=e.to,i=`23:00`),n({slots:[...t.slots,{id:crypto.randomUUID(),from:r,to:i}]})},children:`+ Add Time`})]}),(0,D.jsxs)(`button`,{type:`button`,className:$9.resetBtn,onClick:()=>{n({active:!0,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]})},children:[(0,D.jsx)(Ui,{size:13}),` Reset`]})]}),hcn=({timezone:e,branchName:t,now:n,onTimezoneChange:r})=>(0,D.jsxs)(`div`,{className:$9.settingsGrid,children:[(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Timezone`}),(0,D.jsx)(xsn,{value:e,now:n,onChange:r}),(0,D.jsx)(`span`,{className:$9.fieldHint,children:`Preview only — set your saved timezone in Profile`})]}),(0,D.jsxs)(`div`,{className:W9.field,children:[(0,D.jsx)(`span`,{className:$9.fieldLabel,children:`Home Branch`}),(0,D.jsx)(`div`,{className:$9.readonlyField,children:t}),(0,D.jsx)(`span`,{className:$9.fieldHint,children:`Assigned from your UAPP account`})]})]}),gcn=({isOverride:e,branchName:t,onReset:n})=>(0,D.jsx)(`div`,{className:$9.inheritedBanner,children:e?(0,D.jsxs)(`div`,{className:$9.customBadge,children:[(0,D.jsxs)(`span`,{className:$9.customBadgeText,children:[`Customized Working Hours (overrides `,t,`)`]}),(0,D.jsxs)(`button`,{type:`button`,className:$9.resetToBranchBtn,onClick:n,children:[(0,D.jsx)(Ya,{size:13}),` Use Branch Defaults`]})]}):(0,D.jsxs)(`div`,{className:$9.inheritedBadge,children:[(0,D.jsxs)(`span`,{children:[`Inheriting default hours from `,(0,D.jsx)(`strong`,{children:t})]}),(0,D.jsx)(`span`,{className:$9.badgeSub,children:`Modifying the hours below will create a personal override.`})]})}),_cn=({statusText:e,disabled:t,onClick:n})=>(0,D.jsxs)(`div`,{className:$9.formFooter,children:[(0,D.jsx)(`span`,{className:$9.formStatus,children:e}),(0,D.jsx)(`button`,{type:`button`,className:$9.saveBtn,disabled:t,onClick:n,children:`Save changes`})]}),vcn=(e,t)=>e?`Unsaved changes`:t?`Saved`:``,ycn=({initial:e,isOverride:t,branchName:n,prefs:r})=>{let{clock:i}=nS(),a=ucn(e,r,i),o=vcn(a.dirty,a.isSuccess);return(0,D.jsxs)(`div`,{className:$9.hours,children:[(0,D.jsx)(hcn,{timezone:a.timezone,branchName:n,now:a.now,onTimezoneChange:a.changeTimezone}),(0,D.jsx)(fcn,{meetingDuration:a.meetingDuration,bufferMinutes:a.bufferMinutes,onDurationChange:a.setMeetingDuration,onBufferChange:a.setBufferMinutes}),(0,D.jsx)(gcn,{isOverride:t,branchName:n,onReset:a.reset}),Wy.map(e=>(0,D.jsx)(mcn,{day:e,value:a.draft[e.id],onChange:t=>{a.patchDay(e.id,t)}},e.id)),a.isError&&(0,D.jsx)(ls,{tone:`error`,title:`Could not save`,children:a.errorMsg}),(0,D.jsx)(_cn,{statusText:o,disabled:!a.dirty||a.isSaving,onClick:a.onSave})]})};Fy(),sS();var bcn=(e,t,n)=>e?.message??t?.message??n?.message??`Unknown error`,xcn=(e,t)=>e?.branches.find(e=>e.id===t)?.name??`your branch`,Scn=()=>{let e=qMe(),t=hLe(),n=oS();if(e.isPending||t.isPending||n.isPending)return(0,D.jsx)(`div`,{className:W9.center,children:(0,D.jsx)(Vo,{label:`Loading working hours`})});if(e.isError||t.isError||n.isError)return(0,D.jsx)(ls,{tone:`error`,title:`Could not load working hours`,children:bcn(e.error,t.error,n.error)});let r=xcn(t.data,n.data.branchId);return(0,D.jsx)(ycn,{initial:e.data.weekly,isOverride:e.data.isOverride,branchName:r,prefs:n.data},`${String(e.data.isOverride)}:${e.data.source}`)};mS(),ib(),sS();var Ccn={workStart:`09:00`,workEnd:`17:00`,branchId:`uk`},wcn=(e,t)=>e===`day`?Wy.slice(t,t+1):e===`workweek`?Wy.slice(0,5):Wy,Tcn=e=>{let[t]=e.split(`:`);return Number(t??`0`)},Ecn=(e,t,n)=>{if(e!==null)return e;if(t){let e=PFe(t,n),r={};for(let t of Wy){let n=e[t.id];r[t.id]={active:n.active,slots:[{id:crypto.randomUUID(),from:n.from,to:n.to}]}}return r}let r={};for(let e of Wy)r[e.id]={active:e.id!==`sat`&&e.id!==`sun`,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]};return r},Dcn=(e,t,n,r)=>t!==``&&t!==n?J9(e,t,n,r):e,Ocn=e=>{let t=Object.values(e).filter(e=>e.active).flatMap(e=>e.slots),n=t.length>0?Math.min(...t.map(e=>Tcn(e.from))):9,r=t.length>0?Math.max(...t.map(e=>Tcn(e.to))):17;return{workStart:`${String(Math.max(0,n)).padStart(2,`0`)}:00`,workEnd:`${String(Math.min(24,r)).padStart(2,`0`)}:00`}},kcn=(e,t)=>(0,E.useMemo)(()=>{let n=e??[],r=lS();if(t===r)return n;let i=e=>{let n=new Date(e),i=dS(t,n)-dS(r,n);return i===0?e:new Date(n.getTime()+i*6e4).toISOString()};return n.map(e=>new eb({id:e.id,userId:e.userId,title:e.title,status:e.status,start:i(e.start),end:i(e.end),allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}))},[e,t]),Acn=e=>{let t=iS(),n=KMe().data??null,r=oS().data,i=r??Ccn,a=hLe(),o=new Date,s=dS(e.timezone,o)-dS(lS(),o),c=new Date(o.getTime()+s*6e4),l=e.view===`month`||e.view===`agenda`,u=t=>e.active.has(t.block.status),d=i.branchId,f=Dcn((0,E.useMemo)(()=>Ecn(n,a.data,d),[n,a.data,d]),r?.availabilityTimezone??``,e.timezone,o),{workStart:p,workEnd:m}=Ocn(f),h=e.timezone,g=kcn(t.data,h),_=(c.getDay()+6)%7,v=Math.floor((e.dayOffset+_)/7),y=((e.dayOffset+_)%7+7)%7,b=nb(g,N9(c,v)),x=Fan(c,e.monthOffset),S=kOe(x[0]??c,x[x.length-1]??c,g),C=new Date(c);return C.setSeconds(0,0),C.setMinutes(Math.ceil(C.getMinutes()/30)*30),{query:t,today:c,days:wcn(e.view,y),cells:jan(c,v),weekOccurrences:b.filter(u),availability:f,workStart:p,workEnd:m,range:zan(b,p,m),monthDates:x,monthAnchor:Nan(c,e.monthOffset),monthOccurrences:S.filter(u),summary:l?S:b,rangeText:l?Pan(c,e.monthOffset):Man(c,v),defaultStart:C.toISOString()}};hh(),fo(),Do();var jcn=({view:e,onView:t})=>(0,D.jsx)(`div`,{className:Q9.viewChips,children:ecn.map(n=>{let r=e===n.id;return(0,D.jsxs)(`button`,{type:`button`,className:T(Q9.viewChip,r&&Q9.viewChipActive),onClick:()=>{t(n.id)},children:[r&&(0,D.jsx)(Gm.span,{layoutId:`schedViewBg`,className:Q9.viewChipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,D.jsx)(`span`,{className:Q9.viewChipLabel,children:n.label})]},n.id)})}),Mcn=({view:e,onView:t,rangeText:n,showNav:r,onPrev:i,onNext:a,onToday:o,onNew:s,timezone:c,setTimezone:l,todayDate:u,onToggleSidebar:d,isSidebarOpen:f})=>(0,D.jsxs)(`div`,{className:Q9.toolbar,children:[(0,D.jsx)(`select`,{className:Q9.scheduleSelect,"aria-label":`Calendar`,defaultValue:`my`,children:(0,D.jsx)(`option`,{value:`my`,children:`My Schedule`})}),e!==`hours`&&(0,D.jsx)(xsn,{value:c,onChange:l,now:u}),r&&(0,D.jsxs)(`div`,{className:Q9.weekNav,children:[(0,D.jsx)(`button`,{type:`button`,className:Q9.todayBtn,onClick:o,children:`Today`}),(0,D.jsx)(`button`,{type:`button`,className:Q9.navBtn,"aria-label":`Previous week`,onClick:i,children:(0,D.jsx)(Ln,{size:16})}),(0,D.jsx)(`button`,{type:`button`,className:Q9.navBtn,"aria-label":`Next week`,onClick:a,children:(0,D.jsx)(zn,{size:16})}),(0,D.jsx)(`span`,{className:Q9.dateLabel,children:n})]}),e!==`hours`&&d!==void 0&&(0,D.jsx)(`button`,{type:`button`,className:T(Q9.sidebarToggleBtn,f&&Q9.sidebarToggleBtnActive),"aria-label":`Schedule settings`,title:`Schedule settings`,onClick:d,children:(0,D.jsx)(ba,{size:15})}),(0,D.jsx)(jcn,{view:e,onView:t}),(0,D.jsxs)(`button`,{type:`button`,className:Q9.newBtn,onClick:s,children:[(0,D.jsx)(Ri,{size:14,strokeWidth:2.5}),` New`]})]}),Ncn=()=>{let[e,t]=(0,E.useState)(!1),n=icn(),r=Acn(n),i=()=>{n.openCreate(r.defaultStart)};return(0,D.jsxs)(`div`,{className:Q9.scheduleRoot,children:[(0,D.jsx)(Mcn,{view:n.view,onView:n.setView,rangeText:r.rangeText,showNav:n.view!==`hours`,onPrev:n.goPrev,onNext:n.goNext,onToday:n.goToday,onNew:i,timezone:n.timezone,setTimezone:n.setTimezone,todayDate:r.today,onToggleSidebar:()=>{t(e=>!e)},isSidebarOpen:e}),n.view===`hours`?(0,D.jsx)(`div`,{className:Q9.hoursArea,children:(0,D.jsx)(Scn,{})}):(0,D.jsx)(ocn,{query:r.query,view:n.view,today:r.today,days:r.days,cells:r.cells,weekOccurrences:r.weekOccurrences,availability:r.availability,workStart:r.workStart,workEnd:r.workEnd,range:r.range,monthDates:r.monthDates,monthAnchor:r.monthAnchor,monthOccurrences:r.monthOccurrences,summary:r.summary,active:n.active,onToggle:n.toggle,onSelectBlock:n.openEdit,onSelectSlot:n.openCreate,onCreate:i,onQuickAdd:n.openQuick,isSidebarOpen:e,onCloseSidebar:()=>{t(!1)}}),n.editor!==null&&(0,D.jsx)(isn,{state:n.editor,timezone:n.timezone,onClose:n.closeEditor})]})},Pcn=()=>{m9(`uapp-schedule`,()=>(0,D.jsx)(vrn,{path:`/comms/schedule`,children:(0,D.jsx)(Ncn,{})}))};lb(),fb(),mS();var Fcn=6e4,Icn=e=>{let t=e.logger??new db(`info`),n=new cS,r,i=0,a=new nke(new ZOe(new cb({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:()=>r}),{timeoutMs:2e4,logger:t}),{logger:t}),o=new I2t({httpClient:a,clock:n,logger:t,clientKey:e.clientKey,modules:e.modules});return{httpClient:a,logger:t,token:async()=>{if(r!==void 0&&n.now().getTime()<i-Fcn)return r;let a=await e.getAssertion(),s=await o.exchangeSsoSecret(a);if(!s.ok){t.error(`Could not exchange the assertion for a token`,s.error);return}return r=s.value.accessToken,i=s.value.expiresAt.getTime(),r},currentToken:()=>r}},Lcn=`/api/app/notification`,Rcn=async(e,t)=>{try{let t=await e.get(Lcn);return(Array.isArray(t)?t:[]).map(Q9t).filter(e=>e!==null)}catch(e){return t.error(`Could not load unread notifications`,e),[]}},zcn=(e,t,n)=>new q4t({logger:t}).create({url:`${e}/signalr/notifications`,accessTokenProvider:n});Uy(),e.CommsProvider=nen,e.SDK_MODULE_SCOPES=R2t,e.WidgetRoot=ren,e.createNotificationClient=e=>{let t=Icn({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.feed`],...e.logger===void 0?{}:{logger:e.logger}}),{httpClient:n,logger:r,token:i}=t,a=null,o=null,s=[];return{start:async()=>{a===null&&await i()!==void 0&&(s=await Rcn(n,r),s.forEach(e.onNotification),a=zcn(e.apiBaseUrl,r,t.currentToken),o=a.on(k8t.ReceiveNotification,t=>{let n=Q9t(t);if(n===null){r.error(`Discarded a malformed notification payload`,{rawPayload:t});return}s=[n,...s.filter(e=>e.id!==n.id)],e.onNotification(n)}),await a.start())},stop:async()=>{o?.(),o=null,await a?.stop(),a=null},markAsRead:async e=>{await i()!==void 0&&(await n.post(`${Lcn}/${e}/mark-as-read`,{}),s=s.filter(t=>t.id!==e))},unread:()=>s}},e.createPresenceClient=e=>{let t=Icn({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.chat`],...e.logger===void 0?{}:{logger:e.logger}}),n=new aZt({httpClient:t.httpClient,logger:t.logger}),r=async e=>{if(await t.token()===void 0)return null;let n=await e();return dDe(n)?n.value:null};return{getMine:()=>r(()=>n.getMine()),setMine:e=>r(()=>n.setMine(e)),clearMine:()=>r(()=>n.clearMine()),getOf:async e=>{if(await t.token()===void 0)return null;let r=await n.getOf(e);return dDe(r)?r.value:null}}},e.defineCustomElements=()=>{fen(),yrn(),Aan(),Pcn()},e.registerBookingsWidget=Aan,e.registerChatWidget=fen,e.registerFeedWidget=yrn,e.registerScheduleWidget=Pcn});
2101
2101
  //# sourceMappingURL=communication-sdk.standalone.js.map