@remit/web-client-dist 0.0.330 → 0.0.331

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/assets/{BriefPane-C1eqvaCk.js → BriefPane-B4OnBw7A.js} +1 -1
  2. package/assets/{ErrorState-Xgz5SZ1i.js → ErrorState-9wFdKXpo.js} +1 -1
  3. package/assets/{FlaggedPane-CHjYkYPa.js → FlaggedPane-VNYPSCvj.js} +1 -1
  4. package/assets/{MailListHeader-XjtEHsNb.js → MailListHeader-CA5lvtZs.js} +8 -8
  5. package/assets/{MailViewChrome-DzdQIg9X.js → MailViewChrome-D-68x2uE.js} +1 -1
  6. package/assets/{MailboxPane-zOiUq9W3.js → MailboxPane-BWOjvlNs.js} +1 -1
  7. package/assets/{NavMenuButton-DoGvk8wx.js → NavMenuButton-cseqHrgr.js} +1 -1
  8. package/assets/{OnboardingWizard-C2iCTPCo.js → OnboardingWizard-DAdN9w-x.js} +1 -1
  9. package/assets/{OutboxPane-CAD8JF4k.js → OutboxPane-VocIZWXW.js} +1 -1
  10. package/assets/_mailboxId-BYy5x0wE.js +1 -0
  11. package/assets/_messageId-0tY_nYQ1.js +1 -0
  12. package/assets/_messageId-C7Dc1hnG.js +1 -0
  13. package/assets/_messageId-C8LAzwtA.js +1 -0
  14. package/assets/_outboxMessageId-BHx_kFyq.js +1 -0
  15. package/assets/_threadId-BpoqHy6Q.js +1 -0
  16. package/assets/_threadId-Dcpkewj-.js +1 -0
  17. package/assets/_threadId-QRWabVsi.js +1 -0
  18. package/assets/{account-form-helpers-Buy_HBYK.js → account-form-helpers-COfJkI9V.js} +1 -1
  19. package/assets/{accounts-BzJANMcx.js → accounts-CZ83UwON.js} +1 -1
  20. package/assets/{advanced-3PVpC1JX.js → advanced-CIk7-tvi.js} +1 -1
  21. package/assets/{appearance-irISnZrI.js → appearance-DamZUddD.js} +1 -1
  22. package/assets/{avatar-sJ32b2ZB.js → avatar-BvDbtKy6.js} +1 -1
  23. package/assets/{bottom-sheet-Du7lm3N2.js → bottom-sheet-0UhJ47Gv.js} +1 -1
  24. package/assets/brief-CAe8f7q6.js +1 -0
  25. package/assets/{brief-qI-Ns5Ua.js → brief-JcrOpUjt.js} +1 -1
  26. package/assets/{browser-ponyfill-IzUT47To.js → browser-ponyfill-CU-pwafu.js} +1 -1
  27. package/assets/{circle-check-B0efcy-K.js → circle-check-Bxbx7HfB.js} +1 -1
  28. package/assets/{circle-check-big-D3RJmZBi.js → circle-check-big-CjzecMB6.js} +1 -1
  29. package/assets/{circle-help-DNaIbW9w.js → circle-help-BK_hzj_i.js} +1 -1
  30. package/assets/{clock-CAIXj_wn.js → clock-B1X_i57Q.js} +1 -1
  31. package/assets/{confirm-dialog-tg4IO863.js → confirm-dialog-Dh8sRH0e.js} +1 -1
  32. package/assets/{download-CZYAEXR3.js → download-CZ0V6I3x.js} +1 -1
  33. package/assets/{filters-D_4-GKkF.js → filters-CdfgcLH2.js} +1 -1
  34. package/assets/flagged-5fgl4f2w.js +1 -0
  35. package/assets/{flagged-Cao7LXlK.js → flagged-DZMd8zSP.js} +1 -1
  36. package/assets/{folders-DdNR5vUs.js → folders-CWWWGsQ5.js} +1 -1
  37. package/assets/index-B3m_6Q-7.js +1 -0
  38. package/assets/index-C7Dc1hnG.js +1 -0
  39. package/assets/index-C8LAzwtA.js +1 -0
  40. package/assets/index-CHntB8XM.js +1 -0
  41. package/assets/index-DIEk2vzA.js +1 -0
  42. package/assets/index-DdWkZUge.js +1 -0
  43. package/assets/index-DgAf2bQz.js +1 -0
  44. package/assets/index-DuJrRaFE.js +1 -0
  45. package/assets/{index-B_E2UDsv.js → index-tka6wZr_.js} +4 -4
  46. package/assets/{kbd-BCoy2IeN.js → kbd-Dt_vzEGr.js} +1 -1
  47. package/assets/{labels-DEWxeP4-.js → labels-DIFvP3py.js} +1 -1
  48. package/assets/{mail-K056GElV.js → mail-O6_yrku3.js} +1 -1
  49. package/assets/{menu-CyQNIqgm.js → menu-DAXEVDbj.js} +1 -1
  50. package/assets/{move-options-BDhHrsb6.js → move-options-MgiRekSU.js} +1 -1
  51. package/assets/{nav-link-D2neGN8U.js → nav-link-CBO_nghm.js} +1 -1
  52. package/assets/{onboarding-gCMR_L2A.js → onboarding-BY09gnzV.js} +1 -1
  53. package/assets/outbox-CvxSD7ed.js +1 -0
  54. package/assets/{pencil-BTDLG6o9.js → pencil-B5Es_aSh.js} +1 -1
  55. package/assets/rich-text-DmHS1zFG.js +29 -0
  56. package/assets/rich-text-spellcheck-words-C1Zx88ZY.js +1 -0
  57. package/assets/rich-text-spellcheck-worker-C399ph5r.js +1 -0
  58. package/assets/rich-text-spellcheck-worker-provider-CYQ5Q4f9.js +1 -0
  59. package/assets/{rotate-ccw-CJ6ZyB3Y.js → rotate-ccw-Bez3srEV.js} +1 -1
  60. package/assets/{row-actions-D5tHz-Kt.js → row-actions-Bqp5HmTh.js} +1 -1
  61. package/assets/{search-scope-5RASGpum.js → search-scope-By6SdCOd.js} +1 -1
  62. package/assets/{search-token-index-C4Fe_kHI.js → search-token-index-Bw0eYLiL.js} +1 -1
  63. package/assets/{search-view-DMyiUtsQ.js → search-view-Cv6MXaNP.js} +1 -1
  64. package/assets/{senders-bpUhaM6M.js → senders-FBv_d32p.js} +1 -1
  65. package/assets/settings-C-JiUEpC.js +1 -0
  66. package/assets/{settings-screen-t6UPYsh-.js → settings-screen-ClWEZnOS.js} +1 -1
  67. package/assets/{shield-check-CdGNmVbB.js → shield-check-C78q6yIg.js} +1 -1
  68. package/assets/{suggested-vips-MyOxkJXk.js → suggested-vips-BFYmT1iv.js} +1 -1
  69. package/assets/{use-match-media-oLZSDQbf.js → use-match-media-BrJFrufZ.js} +1 -1
  70. package/assets/{useDebouncedValue-BFQNA4LE.js → useDebouncedValue-DiRlxnWS.js} +1 -1
  71. package/assets/{useFilters-Ch0Rz-QY.js → useFilters-Cafs9rMu.js} +1 -1
  72. package/assets/{useLabels-C_RuDPDr.js → useLabels-Dg_FXfB1.js} +1 -1
  73. package/assets/{useRefreshControl-B5Wc-mkG.js → useRefreshControl-BHJbdmbT.js} +1 -1
  74. package/assets/{useSearchMirror-4nvtBo0Y.js → useSearchMirror-Df_I-_ih.js} +1 -1
  75. package/assets/{useSearchTokenContext-DFAPyUzs.js → useSearchTokenContext-B60LlfMs.js} +1 -1
  76. package/assets/{useSemanticSearch-DpJZep87.js → useSemanticSearch-ocRX-T7M.js} +1 -1
  77. package/assets/{useSignature-CUY9s-pk.js → useSignature-BboURLQ5.js} +1 -1
  78. package/index.html +1 -1
  79. package/package.json +1 -1
  80. package/assets/_mailboxId-Btckx8tp.js +0 -1
  81. package/assets/_messageId-BDYmbwt3.js +0 -1
  82. package/assets/_messageId-DfrVM9nA.js +0 -1
  83. package/assets/_messageId-Dzj1PERE.js +0 -1
  84. package/assets/_outboxMessageId-DgEN5BZl.js +0 -1
  85. package/assets/_threadId-CR-7fZw6.js +0 -1
  86. package/assets/_threadId-DgpxvW8b.js +0 -1
  87. package/assets/_threadId-WgMhSWLQ.js +0 -1
  88. package/assets/brief-CzT_8oMU.js +0 -1
  89. package/assets/flagged-DgBNfl93.js +0 -1
  90. package/assets/index-BIP9pzjX.js +0 -1
  91. package/assets/index-C7lRyAZj.js +0 -1
  92. package/assets/index-DDYDIsO2.js +0 -1
  93. package/assets/index-DarLHUir.js +0 -1
  94. package/assets/index-DfrVM9nA.js +0 -1
  95. package/assets/index-DgcxbW2K.js +0 -1
  96. package/assets/index-Dzj1PERE.js +0 -1
  97. package/assets/index-T_2lKmJ5.js +0 -1
  98. package/assets/outbox-CyCx1pkU.js +0 -1
  99. package/assets/rich-text-6u8XzJZ0.js +0 -29
  100. package/assets/settings-CVQVSphQ.js +0 -1
@@ -1,12 +1,12 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-6u8XzJZ0.js","assets/index-B_E2UDsv.js","assets/index-DUKJ-tDb.css","assets/confirm-dialog-tg4IO863.js","assets/layout-breakpoints-BWjiUQKh.js","assets/use-match-media-oLZSDQbf.js","assets/bottom-sheet-Du7lm3N2.js","assets/search-token-index-C4Fe_kHI.js","assets/search-scope-5RASGpum.js","assets/kbd-BCoy2IeN.js","assets/account-form-helpers-Buy_HBYK.js","assets/avatar-sJ32b2ZB.js","assets/useSearchTokenContext-DFAPyUzs.js","assets/enums-CCxx0t2v.js","assets/useSignature-CUY9s-pk.js","assets/useDebouncedValue-BFQNA4LE.js","assets/useFilters-Ch0Rz-QY.js","assets/ErrorState-Xgz5SZ1i.js","assets/format-De9HZKjg.js","assets/nav-link-D2neGN8U.js","assets/download-CZYAEXR3.js","assets/shield-check-CdGNmVbB.js","assets/move-options-BDhHrsb6.js","assets/clock-CAIXj_wn.js","assets/menu-CyQNIqgm.js"])))=>i.map(i=>d[i]);
2
- import{ac as $,bO as qi,r as l,c as Ae,j as a,C as bt,d as Ds,X as nn,b as X,B as te,aB as lt,bP as Ra,a as Lt,S as Dt,aV as Vi,bQ as Qi,ao as Mn,bf as Ps,T as sn,bR as Ia,b2 as Ls,bS as Gi,bT as Ma,av as Yi,an as Os,e as Xi,f as Ji,bU as Aa,bV as Da,ab as Zi,bW as el,bX as tl,aA as Pa,bY as nl,bZ as sl,b_ as rl,b$ as al,bN as ol,c0 as il,c1 as ll,c2 as cl,c3 as ul,c4 as $s,c5 as at,c6 as La,c7 as dl,c8 as fl,D as kt,s as De,af as Me,c9 as ml,ca as pl,y as hl,x as me,bb as An,p as Fs,Z as Ot,k as gl,ad as Ye,cb as bl,cc as xl,bu as Ve,cd as vl,ag as bs,be as yl,ae as wl,ce as Sl,cf as kl,K as Ze,v as _s,w as rn,H as Oa,bm as $a,bG as Fa,Q as $t,cg as Dn,ch as dt,ci as Cl,cj as El,ck as Nl,cl as jl,cm as Tl,cn as Rl,co as Il,t as Ml,aW as Al,bi as Dl,bj as Pl,cp as Ll,n as Ol,cq as $l,cr as Fl,cs as Pn,ct as _l,cu as _a,bz as zl,bq as ur,cv as Bl,cw as Ul,ba as Kl,U as Hl,a2 as Wl,J as ql,bn as dr,b0 as Vl,cx as Ql,cy as Gl,bl as Yl,cz as Xl,cA as Jl,o as zs,cB as Zl,cC as ec,cD as fr,cE as tc,cF as nc,cG as sc,cH as rc,cI as Bs,i as ac,cJ as oc,cK as ic,cL as mr,g as lc}from"./index-B_E2UDsv.js";import{B as cc,k as uc,m as dc,S as za,D as fc,b as mn,a as mc,e as pc,t as Ut,f as hc,n as gc,o as bc,d as xc,u as vc,i as yc}from"./search-token-index-C4Fe_kHI.js";import{K as wc}from"./kbd-BCoy2IeN.js";import{M as Sc,b as kc}from"./account-form-helpers-Buy_HBYK.js";import{A as Yt}from"./avatar-sJ32b2ZB.js";import{M as Cc,c as Ec,d as Ba,e as Nc,f as jc,g as Ua,h as Ka,a as Tc,b as Rc,S as pr,s as Ha,u as Wa,p as Ic,r as Mc}from"./useSearchTokenContext-DFAPyUzs.js";import{u as Ac}from"./useSignature-CUY9s-pk.js";import{u as Us}from"./useDebouncedValue-BFQNA4LE.js";import{d as Ln,i as hr,u as Dc,a as Pc,j as Lc,n as Oc,o as $c,k as Fc,l as _c,S as zc}from"./useFilters-Ch0Rz-QY.js";import{E as an}from"./ErrorState-Xgz5SZ1i.js";import{e as qa,b as Ft,a as Bc,c as xt,d as Uc}from"./format-De9HZKjg.js";import{P as gr,C as Kc,D as br,M as Je}from"./enums-CCxx0t2v.js";import{N as Va}from"./nav-link-D2neGN8U.js";import{D as Hc}from"./download-CZYAEXR3.js";import{S as Wc}from"./shield-check-CdGNmVbB.js";import{a as Qa,u as Ga,b as Ya,f as Xa}from"./move-options-BDhHrsb6.js";import{C as qc}from"./confirm-dialog-tg4IO863.js";import{C as Vc}from"./clock-CAIXj_wn.js";import{u as Qc,r as Gc,a as Yc}from"./search-scope-5RASGpum.js";import{M as Xc}from"./menu-CyQNIqgm.js";function Xt(e){if(Jc())e.focus({preventScroll:!0});else{let t=Zc(e);e.focus(),eu(t)}}let pn=null;function Jc(){if(pn==null){pn=!1;try{document.createElement("div").focus({get preventScroll(){return pn=!0,!0}})}catch{}}return pn}function Zc(e){let t=e.parentNode,n=[],s=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==s;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return s instanceof HTMLElement&&n.push({element:s,scrollTop:s.scrollTop,scrollLeft:s.scrollLeft}),n}function eu(e){for(let{element:t,scrollTop:n,scrollLeft:s}of e)t.scrollTop=n,t.scrollLeft=s}const it=e=>e?.ownerDocument??document,ut=e=>e&&"window"in e&&e.window===e?e:it(e).defaultView||window;function tu(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function nu(e){return tu(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let su=!1;function Ja(){return su}function Ge(e,t){if(!Ja())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:nu(n)?n=n.host:n=n.parentNode}return!1}function Se(e){if(Ja()&&e.target instanceof Element&&e.target.shadowRoot){if("composedPath"in e)return e.composedPath()[0]??null;if("composedPath"in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}const ru=typeof Element<"u"&&"checkVisibility"in Element.prototype;function au(e){const t=ut(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:s}=e.style,r=n!=="none"&&s!=="hidden"&&s!=="collapse";if(r){const{getComputedStyle:o}=ut(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function ou(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Za(e,t){return ru?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&au(e)&&ou(e,t)&&(!e.parentElement||Za(e.parentElement,e))}const eo=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],iu=eo.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";eo.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function lu(e,t){return e.matches(iu)&&!cu(e)&&(t?.skipVisibilityCheck||Za(e))}function cu(e){let t=e;for(;t!=null;){if(t instanceof ut(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Ks=typeof document<"u"?$.useLayoutEffect:()=>{};function uu(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function du(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function fu(e){for(;e&&!lu(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=ut(e),n=t.document.activeElement;if(!n||n===e)return;let s=!1,r=m=>{(Se(m)===n||s)&&m.stopImmediatePropagation()},o=m=>{(Se(m)===n||s)&&(m.stopImmediatePropagation(),!e&&!s&&(s=!0,Xt(n),u()))},i=m=>{(Se(m)===e||s)&&m.stopImmediatePropagation()},c=m=>{(Se(m)===e||s)&&(m.stopImmediatePropagation(),s||(s=!0,Xt(n),u()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let u=()=>{cancelAnimationFrame(h),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),s=!1},h=requestAnimationFrame(u);return u}function On(e){if(typeof window>"u"||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(n=>e.test(n.brand))||e.test(window.navigator.userAgent)}function Hs(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function ft(e){let t=null;return()=>(t==null&&(t=e()),t)}const jn=ft(function(){return Hs(/^Mac/i)}),mu=ft(function(){return Hs(/^iPhone/i)}),to=ft(function(){return Hs(/^iPad/i)||jn()&&navigator.maxTouchPoints>1}),no=ft(function(){return mu()||to()}),pu=ft(function(){return On(/AppleWebKit/i)&&!hu()}),hu=ft(function(){return On(/Chrome/i)}),so=ft(function(){return On(/Android/i)}),gu=ft(function(){return On(/Firefox/i)});function bu(e){return e.pointerType===""&&e.isTrusted?!0:so()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function xu(e){return!so()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function Jt(e,t,n=!0){let{metaKey:s,ctrlKey:r,altKey:o,shiftKey:i}=t;gu()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(jn()?s=!0:r=!0);let c=pu()&&jn()&&!to()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:s,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:s,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});Jt.isOpening=n,Xt(e),e.dispatchEvent(c),Jt.isOpening=!1}Jt.isOpening=!1;let ot=new Map,xs=new Set;function xr(){if(typeof window>"u")return;function e(s){return"propertyName"in s}let t=s=>{let r=Se(s);if(!e(s)||!r)return;let o=ot.get(r);o||(o=new Set,ot.set(r,o),r.addEventListener("transitioncancel",n,{once:!0})),o.add(s.propertyName)},n=s=>{let r=Se(s);if(!e(s)||!r)return;let o=ot.get(r);if(o&&(o.delete(s.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",n),ot.delete(r)),ot.size===0)){for(let i of xs)i();xs.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?xr():document.addEventListener("DOMContentLoaded",xr));function vu(){for(const[e]of ot)"isConnected"in e&&!e.isConnected&&ot.delete(e)}function yu(e){requestAnimationFrame(()=>{vu(),ot.size===0?e():xs.add(e)})}function ro(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}let vs=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{vs.delete(e)});function wu(e,t){if(e===t)return e;let n=vs.get(e);if(n)return n.forEach(r=>r.current=t),t;let s=vs.get(t);return s?(s.forEach(r=>r.current=e),e):t}function Su(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const s=e.map(r=>{const o=vr(r,t);return n||=typeof o=="function",o});if(n)return()=>{s.forEach((r,o)=>{typeof r=="function"?r():vr(e[o],null)})}}}function vr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function on(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let s=e[n];for(let r in s){let o=t[r],i=s[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=ro(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=qi(o,i):r==="id"&&o&&i?t.id=wu(o,i):r==="ref"&&o&&i?t.ref=Su(o,i):t[r]=i!==void 0?i:o}}return t}function ku(e,t){Ks(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const Cu=$.useInsertionEffect??Ks;function Qn(e){const t=l.useRef(null);return Cu(()=>{t.current=e},[e]),l.useCallback((...n)=>{const s=t.current;return s?.(...n)},[])}let It="default",ys="",Cn=new WeakMap;function Eu(e){if(no()){if(It==="default"){const t=it(e);ys=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}It="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Cn.set(e,e.style[t]),e.style[t]="none"}}function yr(e){if(no()){if(It!=="disabled")return;It="restoring",setTimeout(()=>{yu(()=>{if(It==="restoring"){const t=it(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ys||""),ys="",It="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Cn.has(e)){let t=Cn.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Cn.delete(e)}}function wr(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Gn=new WeakMap;function Nu(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return wr(t);if(Gn.has(t))return Gn.get(t);let n=t.querySelector('meta[property="csp-nonce"]'),s=n&&n instanceof ut(n).HTMLMetaElement&&(n.nonce||n.content)||wr(t)||void 0;return s!==void 0&&Gn.set(t,s),s}const ao=$.createContext({register:()=>{}});ao.displayName="PressResponderContext";function oo(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let u=c?.once?(...h)=>{e.current.delete(i),i(...h)}:i;e.current.set(i,{type:o,eventTarget:r,fn:u,options:c}),r.addEventListener(o,u,c)},[]),n=l.useCallback((r,o,i,c)=>{let u=e.current.get(i)?.fn||i;r.removeEventListener(o,u,c),e.current.delete(i)},[]),s=l.useCallback(()=>{e.current.forEach((r,o)=>{n(r.eventTarget,r.type,o,r.options)})},[n]);return l.useEffect(()=>s,[s]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:s}}function ju(e){let t=l.useContext(ao);if(t){let{register:n,ref:s,...r}=t;e=on(r,e),n()}return ku(t,e.ref),e}class hn{#e;constructor(t,n,s,r){this.#e=!0;const i=(r?.target??s.currentTarget)?.getBoundingClientRect();let c,u=0,h,m=null;s.clientX!=null&&s.clientY!=null&&(h=s.clientX,m=s.clientY),i&&(h!=null&&m!=null?(c=h-i.left,u=m-i.top):(c=i.width/2,u=i.height/2)),this.type=t,this.pointerType=n,this.target=s.currentTarget,this.shiftKey=s.shiftKey,this.metaKey=s.metaKey,this.ctrlKey=s.ctrlKey,this.altKey=s.altKey,this.x=c,this.y=u,this.key=s.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const Sr=Symbol("linkClicked"),kr="react-aria-pressable-style",Cr="data-react-aria-pressable";function Tu(e){let{onPress:t,onPressChange:n,onPressStart:s,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:u,preventFocusOnPress:h,shouldCancelOnPointerExit:m,allowTextSelectionOnPress:f,ref:p,...v}=ju(e),[y,d]=l.useState(!1),g=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:x,removeAllGlobalListeners:k}=oo(),b=l.useCallback((S,M)=>{let O=g.current;if(c||O.didFirePressStart)return!1;let C=!0;if(O.isTriggeringEvent=!0,s){let D=new hn("pressstart",M,S);s(D),C=D.shouldStopPropagation}return n&&n(!0),O.isTriggeringEvent=!1,O.didFirePressStart=!0,d(!0),C},[c,s,n]),w=l.useCallback((S,M,O=!0)=>{let C=g.current;if(!C.didFirePressStart)return!1;C.didFirePressStart=!1,C.isTriggeringEvent=!0;let D=!0;if(r){let N=new hn("pressend",M,S);r(N),D=N.shouldStopPropagation}if(n&&n(!1),d(!1),t&&O&&!c){let N=new hn("press",M,S);t(N),D&&=N.shouldStopPropagation}return C.isTriggeringEvent=!1,D},[c,r,n,t]),E=Qn(w),j=l.useCallback((S,M)=>{let O=g.current;if(c)return!1;if(o){O.isTriggeringEvent=!0;let C=new hn("pressup",M,S);return o(C),O.isTriggeringEvent=!1,C.shouldStopPropagation}return!0},[c,o]),R=Qn(j),T=l.useCallback(S=>{let M=g.current;if(M.isPressed&&M.target){M.didFirePressStart&&M.pointerType!=null&&w(pt(M.target,S),M.pointerType,!1),M.isPressed=!1,M.isOverTarget=!1,M.activePointerId=null,M.pointerType=null,k(),f||yr(M.target);for(let O of M.disposables)O();M.disposables=[]}},[f,k,w]),P=Qn(T);l.useEffect(()=>{c&&g.current.isPressed&&P({currentTarget:g.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let F=l.useCallback(S=>{m&&T(S)},[m,T]),I=l.useCallback(S=>{c||i?.(S)},[c,i]),z=l.useCallback((S,M)=>{if(!c&&i){let O=new MouseEvent("click",S);du(O,M),i(uu(O))}},[c,i]),A=l.useMemo(()=>{let S=g.current,M={onKeyDown(C){if(Yn(C.nativeEvent,C.currentTarget)&&Ge(C.currentTarget,Se(C))){Er(Se(C),C.key)&&C.preventDefault();let D=!0;!S.isPressed&&!C.repeat&&(S.target=C.currentTarget,S.isPressed=!0,S.pointerType="keyboard",D=b(C,"keyboard"));let N=C.currentTarget,V=W=>{Yn(W,N)&&!W.repeat&&Ge(N,Se(W))&&S.target&&R(pt(S.target,W),"keyboard")};x(it(C.currentTarget),"keyup",ro(V,O),!0),D&&C.stopPropagation(),C.metaKey&&jn()&&S.metaKeyEvents?.set(C.key,C.nativeEvent)}else C.key==="Meta"&&(S.metaKeyEvents=new Map)},onClick(C){if(!(C&&!Ge(C.currentTarget,Se(C)))&&C&&C.button===0&&!S.isTriggeringEvent&&!Jt.isOpening){let D=!0;if(c&&C.preventDefault(),!S.ignoreEmulatedMouseEvents&&!S.isPressed&&(S.pointerType==="virtual"||bu(C.nativeEvent))){let N=b(C,"virtual"),V=R(C,"virtual"),W=E(C,"virtual");I(C),D=N&&V&&W}else if(S.isPressed&&S.pointerType!=="keyboard"){let N=S.pointerType||C.nativeEvent.pointerType||"virtual",V=R(pt(C.currentTarget,C),N),W=E(pt(C.currentTarget,C),N,!0);D=V&&W,S.isOverTarget=!1,I(C),P(C)}S.ignoreEmulatedMouseEvents=!1,D&&C.stopPropagation()}}},O=C=>{if(S.isPressed&&S.target&&Yn(C,S.target)){Er(Se(C),C.key)&&C.preventDefault();let D=Se(C),N=Ge(S.target,D);E(pt(S.target,C),"keyboard",N),N&&z(C,S.target),k(),C.key!=="Enter"&&Ws(S.target)&&Ge(S.target,D)&&!C[Sr]&&(C[Sr]=!0,Jt(S.target,C,!1)),S.isPressed=!1,S.metaKeyEvents?.delete(C.key)}else if(C.key==="Meta"&&S.metaKeyEvents?.size){let D=S.metaKeyEvents;S.metaKeyEvents=void 0;for(let N of D.values())S.target?.dispatchEvent(new KeyboardEvent("keyup",N))}};if(typeof PointerEvent<"u"){M.onPointerDown=N=>{if(N.button!==0||!Ge(N.currentTarget,Se(N)))return;if(xu(N.nativeEvent)){S.pointerType="virtual";return}S.pointerType=N.pointerType;let V=!0;if(!S.isPressed){S.isPressed=!0,S.isOverTarget=!0,S.activePointerId=N.pointerId,S.target=N.currentTarget,f||Eu(S.target),V=b(N,S.pointerType);let W=Se(N);"releasePointerCapture"in W&&("hasPointerCapture"in W?W.hasPointerCapture(N.pointerId)&&W.releasePointerCapture(N.pointerId):W.releasePointerCapture(N.pointerId)),x(it(N.currentTarget),"pointerup",C,!1),x(it(N.currentTarget),"pointercancel",D,!1)}V&&N.stopPropagation()},M.onMouseDown=N=>{if(Ge(N.currentTarget,Se(N))&&N.button===0){if(h){let V=fu(N.target);V&&S.disposables.push(V)}N.stopPropagation()}},M.onPointerUp=N=>{!Ge(N.currentTarget,Se(N))||S.pointerType==="virtual"||N.button===0&&!S.isPressed&&R(N,S.pointerType||N.pointerType)},M.onPointerEnter=N=>{N.pointerId===S.activePointerId&&S.target&&!S.isOverTarget&&S.pointerType!=null&&(S.isOverTarget=!0,b(pt(S.target,N),S.pointerType))},M.onPointerLeave=N=>{N.pointerId===S.activePointerId&&S.target&&S.isOverTarget&&S.pointerType!=null&&(S.isOverTarget=!1,E(pt(S.target,N),S.pointerType,!1),F(N))};let C=N=>{if(N.pointerId===S.activePointerId&&S.isPressed&&N.button===0&&S.target){if(Ge(S.target,Se(N))&&S.pointerType!=null){let V=!1,W=setTimeout(()=>{S.isPressed&&S.target instanceof HTMLElement&&(V?P(N):(Xt(S.target),S.target.click()))},80);x(N.currentTarget,"click",()=>V=!0,!0),S.disposables.push(()=>clearTimeout(W))}else P(N);S.isOverTarget=!1}},D=N=>{P(N)};M.onDragStart=N=>{Ge(N.currentTarget,Se(N))&&P(N)}}return M},[x,c,h,k,f,F,b,I,z]);return l.useEffect(()=>{if(!p)return;const S=it(p.current);if(!S||!S.head||S.getElementById(kr))return;const M=S.createElement("style");M.id=kr;let O=Nu(S);O&&(M.nonce=O),M.textContent=`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-spellcheck-worker-provider-CYQ5Q4f9.js","assets/rich-text-spellcheck-words-C1Zx88ZY.js","assets/rich-text-DmHS1zFG.js","assets/index-tka6wZr_.js","assets/index-DUKJ-tDb.css","assets/confirm-dialog-Dh8sRH0e.js","assets/layout-breakpoints-BWjiUQKh.js","assets/use-match-media-BrJFrufZ.js","assets/bottom-sheet-0UhJ47Gv.js","assets/search-token-index-Bw0eYLiL.js","assets/search-scope-By6SdCOd.js","assets/kbd-Dt_vzEGr.js","assets/account-form-helpers-COfJkI9V.js","assets/avatar-BvDbtKy6.js","assets/useSearchTokenContext-B60LlfMs.js","assets/enums-CCxx0t2v.js","assets/useSignature-BboURLQ5.js","assets/useDebouncedValue-DiRlxnWS.js","assets/useFilters-Cafs9rMu.js","assets/ErrorState-9wFdKXpo.js","assets/format-De9HZKjg.js","assets/nav-link-CBO_nghm.js","assets/download-CZ0V6I3x.js","assets/shield-check-C78q6yIg.js","assets/move-options-MgiRekSU.js","assets/clock-B1X_i57Q.js","assets/menu-DAXEVDbj.js"])))=>i.map(i=>d[i]);
2
+ import{ac as $,bO as Gi,r as l,c as Ae,j as a,C as bt,d as Ds,X as nn,b as X,B as ne,aB as lt,bP as Ra,a as Lt,S as Dt,aV as Yi,bQ as Xi,ao as Mn,bf as Ps,T as sn,bR as Ia,b2 as Ls,bS as Ji,bT as Ma,av as Zi,an as Os,e as el,f as tl,bU as Aa,bV as Da,ab as nl,bW as sl,bX as rl,aA as Pa,bY as al,bZ as ol,b_ as il,b$ as ll,bN as cl,c0 as ul,c1 as dl,c2 as fl,c3 as ml,c4 as $s,c5 as at,c6 as La,c7 as pl,c8 as hl,D as kt,s as De,af as Me,c9 as gl,ca as bl,y as vl,x as me,bb as An,p as Fs,cb as Oa,bi as $a,bj as Fa,Z as Ot,k as xl,ad as Qe,cc as yl,cd as wl,bu as We,ce as Sl,ag as bs,be as kl,ae as Cl,cf as El,K as Je,v as _s,w as rn,H as _a,bm as za,bG as Ba,Q as $t,cg as Dn,ch as dt,ci as Nl,cj as jl,ck as Tl,cl as Rl,cm as Il,cn as Ml,co as Al,t as Dl,aW as Pl,cp as Ll,n as Ol,cq as $l,cr as Fl,cs as Pn,ct as _l,cu as Ua,bz as zl,bq as ur,cv as Bl,cw as Ul,ba as Kl,U as Hl,a2 as Wl,J as ql,bn as dr,b0 as Vl,cx as Ql,cy as Gl,bl as Yl,cz as Xl,cA as Jl,o as zs,cB as Zl,cC as ec,cD as fr,cE as tc,cF as nc,cG as sc,cH as rc,cI as Bs,i as ac,cJ as oc,cK as ic,cL as mr,g as lc}from"./index-tka6wZr_.js";import{B as cc,k as uc,m as dc,S as Ka,D as fc,b as mn,a as mc,e as pc,t as Ut,f as hc,n as gc,o as bc,d as vc,u as xc,i as yc}from"./search-token-index-Bw0eYLiL.js";import{K as wc}from"./kbd-Dt_vzEGr.js";import{M as Sc,b as kc}from"./account-form-helpers-COfJkI9V.js";import{A as Yt}from"./avatar-BvDbtKy6.js";import{M as Cc,c as Ec,d as Ha,e as Nc,f as jc,g as Wa,h as qa,a as Tc,b as Rc,S as pr,s as Va,u as Qa,p as Ic,r as Mc}from"./useSearchTokenContext-B60LlfMs.js";import{u as Ac}from"./useSignature-BboURLQ5.js";import{u as Us}from"./useDebouncedValue-DiRlxnWS.js";import{d as Ln,i as hr,u as Dc,a as Pc,j as Lc,n as Oc,o as $c,k as Fc,l as _c,S as zc}from"./useFilters-Cafs9rMu.js";import{E as an}from"./ErrorState-9wFdKXpo.js";import{e as Ga,b as Ft,a as Bc,c as vt,d as Uc}from"./format-De9HZKjg.js";import{P as gr,C as Kc,D as br,M as Xe}from"./enums-CCxx0t2v.js";import{N as Ya}from"./nav-link-CBO_nghm.js";import{D as Hc}from"./download-CZ0V6I3x.js";import{S as Wc}from"./shield-check-C78q6yIg.js";import{a as Xa,u as Ja,b as Za,f as eo}from"./move-options-MgiRekSU.js";import{C as qc}from"./confirm-dialog-Dh8sRH0e.js";import{C as Vc}from"./clock-B1X_i57Q.js";import{u as Qc,r as Gc,a as Yc}from"./search-scope-By6SdCOd.js";import{M as Xc}from"./menu-DAXEVDbj.js";function Xt(e){if(Jc())e.focus({preventScroll:!0});else{let t=Zc(e);e.focus(),eu(t)}}let pn=null;function Jc(){if(pn==null){pn=!1;try{document.createElement("div").focus({get preventScroll(){return pn=!0,!0}})}catch{}}return pn}function Zc(e){let t=e.parentNode,n=[],s=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==s;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return s instanceof HTMLElement&&n.push({element:s,scrollTop:s.scrollTop,scrollLeft:s.scrollLeft}),n}function eu(e){for(let{element:t,scrollTop:n,scrollLeft:s}of e)t.scrollTop=n,t.scrollLeft=s}const it=e=>e?.ownerDocument??document,ut=e=>e&&"window"in e&&e.window===e?e:it(e).defaultView||window;function tu(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function nu(e){return tu(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let su=!1;function to(){return su}function Ve(e,t){if(!to())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:nu(n)?n=n.host:n=n.parentNode}return!1}function we(e){if(to()&&e.target instanceof Element&&e.target.shadowRoot){if("composedPath"in e)return e.composedPath()[0]??null;if("composedPath"in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}const ru=typeof Element<"u"&&"checkVisibility"in Element.prototype;function au(e){const t=ut(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:s}=e.style,r=n!=="none"&&s!=="hidden"&&s!=="collapse";if(r){const{getComputedStyle:o}=ut(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function ou(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function no(e,t){return ru?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&au(e)&&ou(e,t)&&(!e.parentElement||no(e.parentElement,e))}const so=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],iu=so.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";so.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function lu(e,t){return e.matches(iu)&&!cu(e)&&(t?.skipVisibilityCheck||no(e))}function cu(e){let t=e;for(;t!=null;){if(t instanceof ut(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Ks=typeof document<"u"?$.useLayoutEffect:()=>{};function uu(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function du(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function fu(e){for(;e&&!lu(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=ut(e),n=t.document.activeElement;if(!n||n===e)return;let s=!1,r=m=>{(we(m)===n||s)&&m.stopImmediatePropagation()},o=m=>{(we(m)===n||s)&&(m.stopImmediatePropagation(),!e&&!s&&(s=!0,Xt(n),u()))},i=m=>{(we(m)===e||s)&&m.stopImmediatePropagation()},c=m=>{(we(m)===e||s)&&(m.stopImmediatePropagation(),s||(s=!0,Xt(n),u()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let u=()=>{cancelAnimationFrame(h),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),s=!1},h=requestAnimationFrame(u);return u}function On(e){if(typeof window>"u"||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(n=>e.test(n.brand))||e.test(window.navigator.userAgent)}function Hs(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function ft(e){let t=null;return()=>(t==null&&(t=e()),t)}const jn=ft(function(){return Hs(/^Mac/i)}),mu=ft(function(){return Hs(/^iPhone/i)}),ro=ft(function(){return Hs(/^iPad/i)||jn()&&navigator.maxTouchPoints>1}),ao=ft(function(){return mu()||ro()}),pu=ft(function(){return On(/AppleWebKit/i)&&!hu()}),hu=ft(function(){return On(/Chrome/i)}),oo=ft(function(){return On(/Android/i)}),gu=ft(function(){return On(/Firefox/i)});function bu(e){return e.pointerType===""&&e.isTrusted?!0:oo()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function vu(e){return!oo()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function Jt(e,t,n=!0){let{metaKey:s,ctrlKey:r,altKey:o,shiftKey:i}=t;gu()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(jn()?s=!0:r=!0);let c=pu()&&jn()&&!ro()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:s,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:s,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});Jt.isOpening=n,Xt(e),e.dispatchEvent(c),Jt.isOpening=!1}Jt.isOpening=!1;let ot=new Map,vs=new Set;function vr(){if(typeof window>"u")return;function e(s){return"propertyName"in s}let t=s=>{let r=we(s);if(!e(s)||!r)return;let o=ot.get(r);o||(o=new Set,ot.set(r,o),r.addEventListener("transitioncancel",n,{once:!0})),o.add(s.propertyName)},n=s=>{let r=we(s);if(!e(s)||!r)return;let o=ot.get(r);if(o&&(o.delete(s.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",n),ot.delete(r)),ot.size===0)){for(let i of vs)i();vs.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?vr():document.addEventListener("DOMContentLoaded",vr));function xu(){for(const[e]of ot)"isConnected"in e&&!e.isConnected&&ot.delete(e)}function yu(e){requestAnimationFrame(()=>{xu(),ot.size===0?e():vs.add(e)})}function io(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}let xs=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{xs.delete(e)});function wu(e,t){if(e===t)return e;let n=xs.get(e);if(n)return n.forEach(r=>r.current=t),t;let s=xs.get(t);return s?(s.forEach(r=>r.current=e),e):t}function Su(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const s=e.map(r=>{const o=xr(r,t);return n||=typeof o=="function",o});if(n)return()=>{s.forEach((r,o)=>{typeof r=="function"?r():xr(e[o],null)})}}}function xr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function on(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let s=e[n];for(let r in s){let o=t[r],i=s[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=io(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=Gi(o,i):r==="id"&&o&&i?t.id=wu(o,i):r==="ref"&&o&&i?t.ref=Su(o,i):t[r]=i!==void 0?i:o}}return t}function ku(e,t){Ks(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const Cu=$.useInsertionEffect??Ks;function Qn(e){const t=l.useRef(null);return Cu(()=>{t.current=e},[e]),l.useCallback((...n)=>{const s=t.current;return s?.(...n)},[])}let It="default",ys="",Cn=new WeakMap;function Eu(e){if(ao()){if(It==="default"){const t=it(e);ys=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}It="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Cn.set(e,e.style[t]),e.style[t]="none"}}function yr(e){if(ao()){if(It!=="disabled")return;It="restoring",setTimeout(()=>{yu(()=>{if(It==="restoring"){const t=it(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ys||""),ys="",It="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Cn.has(e)){let t=Cn.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Cn.delete(e)}}function wr(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Gn=new WeakMap;function Nu(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return wr(t);if(Gn.has(t))return Gn.get(t);let n=t.querySelector('meta[property="csp-nonce"]'),s=n&&n instanceof ut(n).HTMLMetaElement&&(n.nonce||n.content)||wr(t)||void 0;return s!==void 0&&Gn.set(t,s),s}const lo=$.createContext({register:()=>{}});lo.displayName="PressResponderContext";function co(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let u=c?.once?(...h)=>{e.current.delete(i),i(...h)}:i;e.current.set(i,{type:o,eventTarget:r,fn:u,options:c}),r.addEventListener(o,u,c)},[]),n=l.useCallback((r,o,i,c)=>{let u=e.current.get(i)?.fn||i;r.removeEventListener(o,u,c),e.current.delete(i)},[]),s=l.useCallback(()=>{e.current.forEach((r,o)=>{n(r.eventTarget,r.type,o,r.options)})},[n]);return l.useEffect(()=>s,[s]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:s}}function ju(e){let t=l.useContext(lo);if(t){let{register:n,ref:s,...r}=t;e=on(r,e),n()}return ku(t,e.ref),e}class hn{#e;constructor(t,n,s,r){this.#e=!0;const i=(r?.target??s.currentTarget)?.getBoundingClientRect();let c,u=0,h,m=null;s.clientX!=null&&s.clientY!=null&&(h=s.clientX,m=s.clientY),i&&(h!=null&&m!=null?(c=h-i.left,u=m-i.top):(c=i.width/2,u=i.height/2)),this.type=t,this.pointerType=n,this.target=s.currentTarget,this.shiftKey=s.shiftKey,this.metaKey=s.metaKey,this.ctrlKey=s.ctrlKey,this.altKey=s.altKey,this.x=c,this.y=u,this.key=s.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const Sr=Symbol("linkClicked"),kr="react-aria-pressable-style",Cr="data-react-aria-pressable";function Tu(e){let{onPress:t,onPressChange:n,onPressStart:s,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:u,preventFocusOnPress:h,shouldCancelOnPointerExit:m,allowTextSelectionOnPress:f,ref:p,...x}=ju(e),[y,d]=l.useState(!1),g=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:v,removeAllGlobalListeners:k}=co(),b=l.useCallback((S,M)=>{let O=g.current;if(c||O.didFirePressStart)return!1;let C=!0;if(O.isTriggeringEvent=!0,s){let D=new hn("pressstart",M,S);s(D),C=D.shouldStopPropagation}return n&&n(!0),O.isTriggeringEvent=!1,O.didFirePressStart=!0,d(!0),C},[c,s,n]),w=l.useCallback((S,M,O=!0)=>{let C=g.current;if(!C.didFirePressStart)return!1;C.didFirePressStart=!1,C.isTriggeringEvent=!0;let D=!0;if(r){let N=new hn("pressend",M,S);r(N),D=N.shouldStopPropagation}if(n&&n(!1),d(!1),t&&O&&!c){let N=new hn("press",M,S);t(N),D&&=N.shouldStopPropagation}return C.isTriggeringEvent=!1,D},[c,r,n,t]),E=Qn(w),j=l.useCallback((S,M)=>{let O=g.current;if(c)return!1;if(o){O.isTriggeringEvent=!0;let C=new hn("pressup",M,S);return o(C),O.isTriggeringEvent=!1,C.shouldStopPropagation}return!0},[c,o]),R=Qn(j),T=l.useCallback(S=>{let M=g.current;if(M.isPressed&&M.target){M.didFirePressStart&&M.pointerType!=null&&w(pt(M.target,S),M.pointerType,!1),M.isPressed=!1,M.isOverTarget=!1,M.activePointerId=null,M.pointerType=null,k(),f||yr(M.target);for(let O of M.disposables)O();M.disposables=[]}},[f,k,w]),P=Qn(T);l.useEffect(()=>{c&&g.current.isPressed&&P({currentTarget:g.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let F=l.useCallback(S=>{m&&T(S)},[m,T]),I=l.useCallback(S=>{c||i?.(S)},[c,i]),z=l.useCallback((S,M)=>{if(!c&&i){let O=new MouseEvent("click",S);du(O,M),i(uu(O))}},[c,i]),A=l.useMemo(()=>{let S=g.current,M={onKeyDown(C){if(Yn(C.nativeEvent,C.currentTarget)&&Ve(C.currentTarget,we(C))){Er(we(C),C.key)&&C.preventDefault();let D=!0;!S.isPressed&&!C.repeat&&(S.target=C.currentTarget,S.isPressed=!0,S.pointerType="keyboard",D=b(C,"keyboard"));let N=C.currentTarget,Q=q=>{Yn(q,N)&&!q.repeat&&Ve(N,we(q))&&S.target&&R(pt(S.target,q),"keyboard")};v(it(C.currentTarget),"keyup",io(Q,O),!0),D&&C.stopPropagation(),C.metaKey&&jn()&&S.metaKeyEvents?.set(C.key,C.nativeEvent)}else C.key==="Meta"&&(S.metaKeyEvents=new Map)},onClick(C){if(!(C&&!Ve(C.currentTarget,we(C)))&&C&&C.button===0&&!S.isTriggeringEvent&&!Jt.isOpening){let D=!0;if(c&&C.preventDefault(),!S.ignoreEmulatedMouseEvents&&!S.isPressed&&(S.pointerType==="virtual"||bu(C.nativeEvent))){let N=b(C,"virtual"),Q=R(C,"virtual"),q=E(C,"virtual");I(C),D=N&&Q&&q}else if(S.isPressed&&S.pointerType!=="keyboard"){let N=S.pointerType||C.nativeEvent.pointerType||"virtual",Q=R(pt(C.currentTarget,C),N),q=E(pt(C.currentTarget,C),N,!0);D=Q&&q,S.isOverTarget=!1,I(C),P(C)}S.ignoreEmulatedMouseEvents=!1,D&&C.stopPropagation()}}},O=C=>{if(S.isPressed&&S.target&&Yn(C,S.target)){Er(we(C),C.key)&&C.preventDefault();let D=we(C),N=Ve(S.target,D);E(pt(S.target,C),"keyboard",N),N&&z(C,S.target),k(),C.key!=="Enter"&&Ws(S.target)&&Ve(S.target,D)&&!C[Sr]&&(C[Sr]=!0,Jt(S.target,C,!1)),S.isPressed=!1,S.metaKeyEvents?.delete(C.key)}else if(C.key==="Meta"&&S.metaKeyEvents?.size){let D=S.metaKeyEvents;S.metaKeyEvents=void 0;for(let N of D.values())S.target?.dispatchEvent(new KeyboardEvent("keyup",N))}};if(typeof PointerEvent<"u"){M.onPointerDown=N=>{if(N.button!==0||!Ve(N.currentTarget,we(N)))return;if(vu(N.nativeEvent)){S.pointerType="virtual";return}S.pointerType=N.pointerType;let Q=!0;if(!S.isPressed){S.isPressed=!0,S.isOverTarget=!0,S.activePointerId=N.pointerId,S.target=N.currentTarget,f||Eu(S.target),Q=b(N,S.pointerType);let q=we(N);"releasePointerCapture"in q&&("hasPointerCapture"in q?q.hasPointerCapture(N.pointerId)&&q.releasePointerCapture(N.pointerId):q.releasePointerCapture(N.pointerId)),v(it(N.currentTarget),"pointerup",C,!1),v(it(N.currentTarget),"pointercancel",D,!1)}Q&&N.stopPropagation()},M.onMouseDown=N=>{if(Ve(N.currentTarget,we(N))&&N.button===0){if(h){let Q=fu(N.target);Q&&S.disposables.push(Q)}N.stopPropagation()}},M.onPointerUp=N=>{!Ve(N.currentTarget,we(N))||S.pointerType==="virtual"||N.button===0&&!S.isPressed&&R(N,S.pointerType||N.pointerType)},M.onPointerEnter=N=>{N.pointerId===S.activePointerId&&S.target&&!S.isOverTarget&&S.pointerType!=null&&(S.isOverTarget=!0,b(pt(S.target,N),S.pointerType))},M.onPointerLeave=N=>{N.pointerId===S.activePointerId&&S.target&&S.isOverTarget&&S.pointerType!=null&&(S.isOverTarget=!1,E(pt(S.target,N),S.pointerType,!1),F(N))};let C=N=>{if(N.pointerId===S.activePointerId&&S.isPressed&&N.button===0&&S.target){if(Ve(S.target,we(N))&&S.pointerType!=null){let Q=!1,q=setTimeout(()=>{S.isPressed&&S.target instanceof HTMLElement&&(Q?P(N):(Xt(S.target),S.target.click()))},80);v(N.currentTarget,"click",()=>Q=!0,!0),S.disposables.push(()=>clearTimeout(q))}else P(N);S.isOverTarget=!1}},D=N=>{P(N)};M.onDragStart=N=>{Ve(N.currentTarget,we(N))&&P(N)}}return M},[v,c,h,k,f,F,b,I,z]);return l.useEffect(()=>{if(!p)return;const S=it(p.current);if(!S||!S.head||S.getElementById(kr))return;const M=S.createElement("style");M.id=kr;let O=Nu(S);O&&(M.nonce=O),M.textContent=`
3
3
  @layer {
4
4
  [${Cr}] {
5
5
  touch-action: pan-x pan-y pinch-zoom;
6
6
  }
7
7
  }
8
- `.trim(),S.head.prepend(M)},[p]),l.useEffect(()=>{let S=g.current;return()=>{f||yr(S.target??void 0);for(let M of S.disposables)M();S.disposables=[]}},[f]),{isPressed:u||y,pressProps:on(v,A,{[Cr]:!0})}}function Ws(e){return e.tagName==="A"&&e.hasAttribute("href")}function Yn(e,t){const{key:n,code:s}=e,r=t,o=r.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||s==="Space")&&!(r instanceof ut(r).HTMLInputElement&&!io(r,n)||r instanceof ut(r).HTMLTextAreaElement||r.isContentEditable)&&!((o==="link"||!o&&Ws(r))&&n!=="Enter")}function pt(e,t){let n=t.clientX,s=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:s,key:t.key}}function Ru(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Ws(e)}function Er(e,t){return e instanceof HTMLInputElement?!io(e,t):Ru(e)}const Iu=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function io(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":Iu.has(e.type)}let Mu=0;const Xn=new Map;function Au(e){let[t,n]=l.useState();return Ks(()=>{if(!e)return;let s=Xn.get(e);if(s)n(s.element.id);else{let r=`react-aria-description-${Mu++}`;n(r);let o=document.createElement("div");o.id=r,o.style.display="none",o.textContent=e,document.body.appendChild(o),s={refCount:0,element:o},Xn.set(e,s)}return s.refCount++,()=>{s&&--s.refCount===0&&(s.element.remove(),Xn.delete(e))}},[e]),{"aria-describedby":e?t:void 0}}const Du=500;function Pu(e){let{isDisabled:t,onLongPressStart:n,onLongPressEnd:s,onLongPress:r,threshold:o=Du,accessibilityDescription:i}=e;const c=l.useRef(void 0);let{addGlobalListener:u,removeGlobalListener:h}=oo(),{pressProps:m}=Tu({isDisabled:t,onPressStart(p){if(p.continuePropagation(),(p.pointerType==="mouse"||p.pointerType==="touch")&&(n&&n({...p,type:"longpressstart"}),c.current=setTimeout(()=>{p.target.dispatchEvent(new PointerEvent("pointercancel",{bubbles:!0})),it(p.target).activeElement!==p.target&&Xt(p.target),r&&r({...p,type:"longpress"}),c.current=void 0},o),p.pointerType==="touch")){let v=d=>{d.preventDefault()},y=ut(p.target);u(p.target,"contextmenu",v,{once:!0}),u(y,"pointerup",()=>{setTimeout(()=>{h(p.target,"contextmenu",v)},30)},{once:!0})}},onPressEnd(p){c.current&&clearTimeout(c.current),s&&(p.pointerType==="mouse"||p.pointerType==="touch")&&s({...p,type:"longpressend"})}}),f=Au(r&&!t?i:void 0);return{longPressProps:on(m,f)}}const $n=Ae("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);const lo=Ae("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);const co=Ae("EllipsisVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);const uo=Ae("Forward",[["polyline",{points:"15 17 20 12 15 7",key:"1w3sku"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]]);const Lu=Ae("MailCheck",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]);const qs=Ae("MailOpen",[["path",{d:"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z",key:"1jhwl8"}],["path",{d:"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10",key:"1qfld7"}]]);const Ou=Ae("MailX",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9",key:"1j9vog"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m17 17 4 4",key:"1b3523"}],["path",{d:"m21 17-4 4",key:"uinynz"}]]);const $u=Ae("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);const Fn=Ae("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);const fo=Ae("ReplyAll",[["polyline",{points:"7 17 2 12 7 7",key:"t83bqg"}],["polyline",{points:"12 17 7 12 12 7",key:"1g4ajm"}],["path",{d:"M22 18v-2a4 4 0 0 0-4-4H7",key:"1fcyog"}]]);const mo=Ae("Reply",[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]]);const _t=Ae("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);const Fu=Ae("ShieldQuestion",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const _u=Ae("ShieldX",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]);const zu=Ae("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),Bu=({address:e,showTrustedBadge:t=!1})=>{const n=t?a.jsx($n,{className:"inline-block size-4 ml-1 -mt-0.5 text-positive","aria-label":"Trusted sender","data-testid":"trusted-sender-badge"}):null;return e.displayName?a.jsxs("span",{children:[a.jsx("span",{className:"text-fg",children:e.displayName}),a.jsxs("span",{className:"text-fg-muted",children:[" ","<",e.normalizedEmail,">"]}),n]}):a.jsxs("span",{className:"text-fg",children:[e.normalizedEmail,n]})},Uu=({label:e,addresses:t,showTrustedBadge:n=!1})=>{const[s,r]=l.useState(!1);if(t.length===0)return null;const o=t.length>3,i=c=>{const u=n&&c.flags?.trusted?.value===!0;return a.jsx(Bu,{address:c,showTrustedBadge:u})};return a.jsxs("div",{className:"flex gap-2 text-sm",children:[a.jsxs("span",{className:"text-fg-muted shrink-0 w-12",children:[e,":"]}),a.jsx("div",{className:"flex-1 min-w-0",children:s?a.jsx("div",{className:"flex flex-wrap gap-1",children:t.map((c,u)=>a.jsxs("span",{children:[i(c),u<t.length-1&&", "]},u))}):a.jsx("div",{className:"truncate",children:t.map((c,u)=>a.jsxs("span",{children:[i(c),u<t.length-1&&", "]},u))})}),o&&a.jsx("button",{type:"button",onClick:c=>{c.stopPropagation(),r(!s)},className:"shrink-0 text-fg-muted hover:text-fg transition-colors","aria-label":s?"Collapse":"Expand",children:s?a.jsx(bt,{className:"h-4 w-4"}):a.jsx(Ds,{className:"h-4 w-4"})})]})},Ku=({email:e,displayName:t,onRemove:n,className:s})=>a.jsxs("span",{className:X("inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-accent-2-soft text-sm max-w-[200px]",s),children:[a.jsx("span",{className:"truncate",children:t||e}),a.jsx("button",{type:"button",onClick:n,className:"shrink-0 p-0.5 rounded-full hover:bg-fg-muted/20 transition-colors","aria-label":`Remove ${e}`,children:a.jsx(nn,{className:"size-3"})})]}),Hu={unknown:{label:"Unknown sender",tone:"neutral"},wellknown:{label:"Known sender",tone:"positive"},vip:{label:"VIP",tone:"accent"}};function Ct({label:e,children:t,className:n}){return a.jsxs("section",{className:X("border-b border-line px-row-inset py-3",n),children:[a.jsx("h3",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e}),a.jsx("div",{className:"mt-2",children:t})]})}function Wu({sender:e}){const t=Hu[e.trust],n=e.inboundCount==null?null:(e.replyCount??0)>0?`${e.inboundCount} received · you replied ${e.replyCount}×`:`${e.inboundCount} received · you've never replied`;return a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Yt,{name:e.name,email:e.email,size:"md"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"truncate text-sm font-semibold text-fg",children:e.name}),a.jsx("div",{className:"truncate text-2xs text-fg-subtle",children:e.email})]})]}),a.jsx("div",{className:"mt-2 flex items-center gap-2",children:e.addressUnverified?a.jsx(lt,{tone:"danger",dot:!0,children:"Address couldn't be verified"}):a.jsx(lt,{tone:t.tone,dot:!0,children:t.label})}),a.jsxs("p",{className:"mt-2 text-xs text-fg-muted",children:["First seen ",e.firstSeenLabel,n?` · ${n}`:""]})]})}function qu({auth:e,onShowSimilar:t}){if(e.verdict==="aligned")return a.jsxs("div",{className:"flex items-start gap-2 text-xs text-fg-muted",children:[a.jsx(Wc,{className:"mt-0.5 size-3.5 shrink-0 text-positive"}),a.jsx("span",{children:e.summary})]});if(e.verdict==="caution")return a.jsxs("div",{className:"flex items-start gap-2 rounded-md bg-warning/10 p-3 text-warning",children:[a.jsx(Fu,{className:"mt-0.5 size-4 shrink-0"}),a.jsx("p",{className:"text-xs leading-relaxed",children:e.summary})]});const n=e.addressUnreadable?"This sender can't be verified":"This message may be impersonating someone";return a.jsxs("div",{className:"rounded-md bg-danger-soft p-3",children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx(_t,{className:"mt-0.5 size-4 shrink-0 text-danger"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"text-sm font-semibold text-danger",children:n}),a.jsx("p",{className:"mt-1 text-xs leading-relaxed text-fg",children:e.summary}),!e.addressUnreadable&&e.dkimDomain&&a.jsxs("p",{className:"mt-1 text-2xs text-fg-muted",children:["Sent from"," ",a.jsx("code",{className:"rounded bg-surface px-1 py-0.5",children:e.dkimDomain}),", claims to be"," ",a.jsx("code",{className:"rounded bg-surface px-1 py-0.5",children:e.fromDomain})]})]})]}),e.similarCount!=null&&e.similarCount>0&&a.jsxs(te,{variant:"secondary",size:"sm",className:"mt-2 w-full border-danger/30 text-danger hover:bg-danger-soft",onClick:t,children:[e.similarCount," similar messages"]})]})}function Kt({icon:e,label:t,active:n,danger:s,onClick:r,pending:o}){const i=r===void 0||o===!0;return a.jsxs("button",{type:"button",onClick:r,disabled:i,className:X("flex items-center gap-2 rounded-md border px-2 py-1 text-xs transition-colors",n?"border-accent-2 bg-accent-2-soft text-accent-2":"border-line text-fg-muted hover:border-line-strong hover:text-fg",s&&!n&&"text-danger hover:bg-danger-soft",i&&"cursor-not-allowed opacity-50 hover:border-line"),children:[e,t]})}const Vu={sender:"matched: sender",recipient:"matched: recipient",subject:"matched: subject",attachment:"matched: attachment",body:"matched: body",entities:"matched: entities"};function po({data:e,onClose:t,onShowSimilar:n,actions:s,similarState:r="ready",similarLinkComponent:o,className:i,hideCloseButton:c=!1,reportSpamPending:u=!1,notSpamPending:h=!1}){const{sender:m,authenticity:f,category:p,flags:v={},similar:y}=e;return a.jsxs("aside",{className:X("flex w-76 shrink-0 flex-col overflow-y-auto border-l border-line bg-surface",i),children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center justify-between border-b border-line px-row-inset",children:[a.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"}),!c&&a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(nn,{className:"size-3.5"}),onClick:t,"aria-label":"Collapse intelligence sidebar"})]}),a.jsx(Ct,{label:"Sender",children:a.jsx(Wu,{sender:m})}),a.jsx(Ct,{label:"Authenticity",children:a.jsx(qu,{auth:f,onShowSimilar:n})}),a.jsx(Ct,{label:"Category",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(lt,{tone:Ra[p.value],children:p.value}),p.overridden&&a.jsx("span",{className:"text-2xs text-fg-subtle",children:"your override"}),a.jsx("button",{type:"button",className:X("ml-auto text-2xs text-accent hover:underline",!s?.onReclassify&&"cursor-not-allowed opacity-50 hover:no-underline"),disabled:!s?.onReclassify,onClick:s?.onReclassify,children:"reclassify"})]})}),a.jsxs(Ct,{label:"Quick actions",children:[a.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[a.jsx(Kt,{icon:a.jsx(Lt,{className:"size-3.5"}),label:"VIP",active:v.vip,onClick:s?.onToggleVip}),a.jsx(Kt,{icon:a.jsx(cc,{className:"size-3.5"}),label:"Mute",active:v.muted,onClick:s?.onToggleMute}),s?.onNotSpam&&a.jsx(Kt,{icon:a.jsx(Lu,{className:"size-3.5"}),label:h?"Undoing…":"Not spam",active:!0,onClick:s.onNotSpam,pending:h}),s?.onReportSpam&&a.jsx(Kt,{icon:a.jsx(_u,{className:"size-3.5"}),label:u?"Reporting…":"Report spam",danger:!0,onClick:s.onReportSpam,pending:u}),a.jsx(Kt,{icon:a.jsx(Ou,{className:"size-3.5"}),label:"Unsubscribe",active:v.unsubscribed,onClick:s?.onToggleUnsubscribe})]}),s?.onNotSpam&&a.jsx("p",{className:"mt-1.5 text-2xs text-fg-subtle",children:"You reported this message as spam"})]}),(r!=="ready"||y.length>0)&&a.jsx(Ct,{label:"Similar messages",children:r==="loading"?a.jsx("div",{className:"animate-pulse space-y-2",children:Array.from({length:3}).map((d,g)=>a.jsxs("div",{className:"space-y-1",children:[a.jsx("div",{className:"h-3 w-3/4 rounded bg-surface-sunken"}),a.jsx("div",{className:"h-2.5 w-1/2 rounded bg-surface-sunken"})]},g))}):r==="error"?a.jsx("p",{className:"text-xs text-fg-subtle",children:"Similarity search unavailable"}):a.jsx("ul",{className:"-mx-1 space-y-1",children:y.map(d=>{const g="block w-full rounded-md px-1 py-1 text-left hover:bg-surface-sunken",x=`Open message from ${d.fromName||"unknown sender"}: ${d.subject}`,k=a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[a.jsx("span",{className:"truncate text-xs font-medium text-fg",children:d.fromName}),a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:d.timeLabel})]}),a.jsx("div",{className:"truncate text-xs text-fg-muted",children:d.subject}),a.jsx("span",{className:"mt-1 inline-block rounded-full bg-surface-sunken px-1.5 py-px text-2xs text-fg-subtle",children:Vu[d.matched]})]});return a.jsx("li",{children:o?o({mailboxId:d.mailboxId,threadId:d.threadId,messageId:d.id,className:g,ariaLabel:x,children:k}):a.jsx("div",{className:g,children:k})},d.id)})})}),a.jsx(Ct,{label:"Coming soon",className:"border-b-0 opacity-70",children:a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-line p-2",children:[a.jsx(Dt,{className:"mt-0.5 size-3.5 shrink-0 text-fg-subtle"}),a.jsxs("div",{children:[a.jsx("div",{className:"text-xs font-medium text-fg-muted",children:"Suggested actions"}),a.jsx("div",{className:"text-2xs text-fg-subtle",children:'"Create a filter for messages like this" — on-device model'})]})]}),a.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-line p-2",children:[a.jsx(Dt,{className:"mt-0.5 size-3.5 shrink-0 text-fg-subtle"}),a.jsxs("div",{children:[a.jsx("div",{className:"text-xs font-medium text-fg-muted",children:"Thread summary"}),a.jsx("div",{className:"text-2xs text-fg-subtle",children:"One-paragraph digest — Bedrock"})]})]})]})})]})}const ws=e=>({shiftKey:e.shiftKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey}),Nr=e=>e.shiftKey||e.metaKey||e.ctrlKey,Qu=e=>e.shiftKey?"range":e.metaKey||e.ctrlKey?"toggle":"open",Gu=(e,t)=>!t&&e>0,Yu=(e,t,n)=>{const s=e.indexOf(n);if(s===-1)return[];const r=t===void 0?-1:e.indexOf(t);if(r===-1)return[n];const o=Math.min(r,s),i=Math.max(r,s);return e.slice(o,i+1)},Xu=(e,t,n,s)=>t!==void 0&&e.includes(t)?t:n!==void 0&&e.includes(n)?n:s,Ju=(e,t)=>{const n=new Set(t),s=new Set;for(const r of e)n.has(r)&&s.add(r);return s},Zu=(e,t,n)=>{if(e.length===0)return;const s=t===void 0?-1:e.indexOf(t);if(s===-1)return n>0?e[0]:e[e.length-1];const r=Math.min(Math.max(s+n,0),e.length-1);return e[r]},ed=e=>{const[t,n]=l.useState(()=>new Set(e?.initialSelectedIds)),[s,r]=l.useState(void 0),o=l.useCallback(d=>t.has(d),[t]),i=l.useCallback(d=>{r(d),n(g=>{const x=new Set(g);return x.has(d)?x.delete(d):x.add(d),x})},[]),c=l.useCallback(d=>{r(d),n(g=>{if(g.has(d))return g;const x=new Set(g);return x.add(d),x})},[]),u=l.useCallback(d=>{n(g=>{if(!g.has(d))return g;const x=new Set(g);return x.delete(d),x})},[]),h=l.useCallback(d=>{n(new Set(d))},[]),m=l.useCallback(()=>{r(void 0),n(new Set)},[]),f=l.useCallback(d=>{n(g=>d.every(k=>g.has(k))?new Set:new Set(d))},[]),p=l.useCallback(d=>{r(d)},[]),v=l.useCallback(d=>{n(g=>{if(g.size===0)return g;const x=Ju(g,d);return x.size===g.size?g:x})},[]),y=l.useCallback((d,g,x)=>{const k=Xu(d,s,x,g);n(b=>{const w=Yu(d,k,g);if(w.length===0)return b;const E=new Set(b);for(const j of w)E.add(j);return E}),r(k)},[s]);return{selectedIds:t,selectedCount:t.size,hasSelection:t.size>0,isSelected:o,toggle:i,select:c,deselect:u,selectAll:h,clearSelection:m,toggleAll:f,selectRange:y,setAnchor:p,anchorId:s,intersectWith:v}};function lx({hints:e=uc,className:t}){return e.length===0?null:a.jsx("footer",{className:X("flex items-center gap-2 border-t border-line px-row-inset py-1 text-2xs text-fg-subtle",t),children:e.map(n=>a.jsx(td,{hint:n},n.label))})}function td({hint:e}){return a.jsxs("span",{className:"flex items-center gap-1",children:[e.keys.map(t=>a.jsx(wc,{children:t},t)),a.jsx("span",{children:e.label})]})}const ho="outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",go=({active:e,focused:t})=>X("relative flex h-8 w-full items-center gap-2 px-row-inset text-left",ho,e?"bg-accent-2-soft":t?"bg-surface-sunken":"hover:bg-surface-sunken",t&&!e&&"before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-accent-2"),Vs=({active:e,focused:t})=>X("relative flex w-full items-start gap-3 py-2 pl-5 pr-row-inset text-left transition-colors",ho,e?"bg-accent-2-soft":t?"bg-surface-sunken":"hover:bg-surface-sunken",t&&!e&&"before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-accent-2");function bo({thread:e}){const t=!e.isRead;return a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"flex w-4 shrink-0 items-center justify-center",children:e.suspicious?a.jsx(_t,{className:"size-3.5 text-danger"}):e.starred?a.jsx(Lt,{className:"size-3 fill-warning text-warning"}):t?a.jsx("span",{className:"size-1.5 rounded-full bg-accent"}):null}),a.jsx("span",{className:X("w-36 shrink-0 truncate text-xs",t?"font-semibold text-fg":"text-fg-muted"),children:e.fromName}),a.jsxs("span",{className:"min-w-0 flex-1 truncate text-xs",children:[a.jsx("span",{className:X(t?"font-medium text-fg":"text-fg-muted"),children:e.subject}),a.jsxs("span",{className:"text-fg-subtle",children:[" — ",e.snippet]})]}),e.hasAttachment&&a.jsx(Fn,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"}),a.jsx("span",{className:"w-11 shrink-0 text-right text-2xs text-fg-subtle tabular-nums",children:e.timeLabel})]})}function jr(e,t){const n=t?.trim();if(!n)return e;const s=e.toLowerCase(),r=n.toLowerCase(),o=[];let i=0,c=s.indexOf(r,i),u=0;for(;c!==-1;)c>i&&o.push(e.slice(i,c)),o.push(a.jsx("mark",{className:"bg-transparent font-semibold text-fg",children:e.slice(c,c+r.length)},u++)),i=c+r.length,c=s.indexOf(r,i);return i<e.length&&o.push(e.slice(i)),o}function nd({thread:e,badge:t,highlightQuery:n}){const s=!e.isRead;return a.jsxs("span",{className:"min-w-0 flex-1",children:[a.jsxs("span",{className:"flex items-baseline justify-between gap-2",children:[a.jsxs("span",{className:X("flex min-w-0 items-center gap-1.5 truncate text-sm",s?"font-semibold text-fg":"font-medium text-fg-muted"),children:[e.trust==="vip"&&a.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-accent-2"}),a.jsx("span",{className:"truncate",children:e.fromName}),e.messageCount!=null&&e.messageCount>1&&a.jsx("span",{className:"shrink-0 text-2xs font-normal text-fg-subtle",children:e.messageCount})]}),a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.timeLabel})]}),a.jsxs("span",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:X("truncate text-sm",s?"text-fg":"text-fg-muted"),children:jr(e.subject,n)}),e.suspicious&&a.jsx(_t,{className:"size-3.5 shrink-0 text-danger"}),e.starred&&a.jsx(Lt,{className:"size-3 shrink-0 fill-warning text-warning"}),e.hasAttachment&&a.jsx(Fn,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"})]}),a.jsxs("span",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"line-clamp-1 min-w-0 flex-1 text-xs text-fg-subtle",children:jr(e.snippet,n)}),e.category&&e.category!=="personal"&&a.jsx(lt,{tone:Ra[e.category],className:"shrink-0",children:e.category}),e.labels?.map(r=>a.jsx(Vi,{label:r,className:"max-w-20"},r.labelId)),t]})]})}function sd({thread:e,selection:t}){if(!t)return a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"sm"});const{checked:n,alwaysVisible:s}=t;return a.jsxs("span",{className:"relative size-7 shrink-0",children:[a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"sm",className:X("absolute inset-0 transition-opacity sm:group-hover:opacity-0",(n||s)&&"opacity-0")}),a.jsx("span",{role:"button",tabIndex:-1,onClick:t.onToggle,onKeyDown:r=>{r.key!=="Enter"&&r.key!==" "||(r.preventDefault(),r.stopPropagation(),t.onToggle(r))},className:X("absolute inset-0 size-7 items-center justify-center rounded-full border transition-opacity",s?"flex":"hidden sm:flex",n?"bg-accent border-accent text-accent-fg opacity-100":s?"border-fg-subtle/40 bg-canvas opacity-100":"border-fg-subtle/40 bg-canvas opacity-0 group-hover:opacity-100"),"aria-label":n?"Deselect message":"Select message",children:n&&a.jsx(Mn,{className:"size-3"})})]})}function Qs({thread:e,selection:t,badge:n,highlightQuery:s}){const r=!e.isRead;return a.jsxs(a.Fragment,{children:[r&&a.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),a.jsx(sd,{thread:e,selection:t}),a.jsx(nd,{thread:e,badge:n,highlightQuery:s})]})}const xo=e=>({...Qi,[dc]:"","data-message-id":e.id});function cx({thread:e,active:t,focused:n,tabIndex:s,onClick:r}){return a.jsx("button",{type:"button",...xo(e),tabIndex:s,onClick:r,className:go({active:t,focused:n}),children:a.jsx(bo,{thread:e})})}function ux({thread:e,active:t,focused:n,tabIndex:s,selection:r,onClick:o}){return a.jsx("button",{type:"button",...xo(e),tabIndex:s,onClick:o,className:X("group",Vs({active:t,focused:n})),children:a.jsx(Qs,{thread:e,selection:r})})}let Mt;const rd=5e3;function vo(e){e.preventDefault(),Tn()}function Tn(){Mt!==void 0&&(clearTimeout(Mt),Mt=void 0,document.removeEventListener("contextmenu",vo,!0),document.removeEventListener("pointerup",Tn,!0))}function ad(){Mt===void 0?(document.addEventListener("contextmenu",vo,!0),document.addEventListener("pointerup",Tn,!0)):clearTimeout(Mt),Mt=setTimeout(Tn,rd)}function od({onLongPress:e,isDisabled:t,delayMs:n=500,accessibilityDescription:s}){const{longPressProps:r}=Pu({isDisabled:t,threshold:n,accessibilityDescription:s,onLongPress:e}),o=l.useCallback(i=>{i.pointerType!=="touch"&&i.pointerType!=="pen"||ad()},[]);return{longPressProps:on(r,{onPointerDown:o})}}const Tr=4,Ht=8;function id(e,t,n){const s=Math.max(Ht,window.innerWidth-t.width-Ht),r=n==="end"?e.right-t.width:e.left,o=Math.min(Math.max(r,Ht),s),i=e.bottom+Tr,c=e.top-Tr-t.height,h=i+t.height<=window.innerHeight-Ht||c<Ht?i:c;return{left:o,top:h}}function ld(e,t,n,s){const[r,o]=l.useState(null),i=l.useRef(s);return i.current=s,l.useLayoutEffect(()=>{if(!t){o(null);return}const c=()=>{const u=e.current,h=i.current();if(!u||!h)return;const m=u.getBoundingClientRect(),f={width:m.right-m.left,height:m.bottom-m.top},p=id(h,f,n);o(v=>v?.left===p.left&&v.top===p.top?v:{position:"fixed",left:p.left,top:p.top})};return c(),window.addEventListener("resize",c),window.addEventListener("scroll",c,!0),()=>{window.removeEventListener("resize",c),window.removeEventListener("scroll",c,!0)}},[t,n,e]),r}function cd({open:e,align:t="start",getAnchor:n,panelRef:s,children:r}){const o=ld(s,e,t,n);return e?Ps.createPortal(a.jsx("div",{style:o??{position:"fixed",visibility:"hidden"},children:r}),document.body):null}function ud({label:e,children:t,className:n,ref:s,onKeyDown:r,"data-testid":o}){return a.jsx("div",{ref:s,role:"menu","aria-label":e,tabIndex:-1,onKeyDown:r,"data-testid":o,className:X("z-50 flex max-h-[60dvh] min-w-44 flex-col overflow-y-auto overscroll-contain rounded-md border border-line bg-surface py-1 shadow-lg outline-none",n),children:t})}function dd({label:e,icon:t,onSelect:n,className:s,lang:r,"data-testid":o}){return a.jsxs("button",{type:"button",role:"menuitem",lang:r,onClick:n,"data-testid":o,className:X("flex min-h-11 items-center gap-3 px-4 py-2.5 text-left text-sm text-fg transition-colors hover:bg-surface-sunken",s),children:[t&&a.jsx("span",{className:"shrink-0 text-fg-subtle",children:t}),e]})}function yo({triggerLabel:e,triggerIcon:t,triggerText:n,items:s,align:r="end",touch:o=!0,className:i,triggerClassName:c,nested:u=!1,children:h}){const[m,f]=l.useState(!1),p=l.useRef(null),v=l.useRef(null);return l.useEffect(()=>{if(!m)return;const y=g=>{const x=g.target;p.current?.contains(x)||v.current?.contains(x)||f(!1)},d=g=>{g.key==="Escape"&&f(!1)};return document.addEventListener("mousedown",y),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",y),document.removeEventListener("keydown",d)}},[m]),s.length===0&&!h?null:a.jsxs("div",{ref:p,className:X("relative",i),...u?{role:"none"}:{},children:[a.jsx(te,{variant:"ghost",size:"sm",icon:t??a.jsx(co,{className:"size-5"}),onClick:()=>f(y=>!y),"aria-label":e,"aria-haspopup":"menu","aria-expanded":m,...u?{role:"menuitem"}:{},className:X(o&&"min-h-11 min-w-11 px-0",c),children:n}),a.jsx(cd,{open:m,align:r,panelRef:v,getAnchor:()=>p.current?.getBoundingClientRect()??null,children:a.jsxs(ud,{ref:v,children:[s.map(y=>a.jsx(dd,{label:y.label,icon:y.icon,onSelect:()=>{f(!1),y.onSelect()}},y.key)),h]})})]})}const Wt="min-h-11 min-w-11 px-0";function wo({hasThread:e,onReply:t,onReplyAll:n,onForward:s,isStarred:r,onToggleStar:o,onDelete:i,isRead:c,onToggleRead:u,moveSlot:h,overflowItems:m=[],onUnavailable:f,unavailableHint:p,className:v}){const y=(g,x)=>()=>{if(!e){f?.(g);return}x?.()},d=u?[{key:"toggle-read",label:c?"Mark as unread":"Mark as read",icon:c?a.jsx(Sc,{className:"size-4"}):a.jsx(qs,{className:"size-4"}),onSelect:y("toggleRead",u)}]:[];return a.jsxs("div",{className:X("relative",v),children:[a.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-0.5 bg-canvas px-1",children:[t&&a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(mo,{className:"size-5"}),onClick:y("reply",t),"aria-label":"Reply",title:"Reply",className:Wt}),n&&a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(fo,{className:"size-5"}),onClick:y("replyAll",n),"aria-label":"Reply all",title:"Reply all",className:Wt}),s&&a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(uo,{className:"size-5"}),onClick:y("forward",s),"aria-label":"Forward",title:"Forward",className:Wt}),a.jsx("div",{className:"flex-1"}),o&&a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Lt,{className:X("size-5",r&&"fill-warning text-warning")}),onClick:y("star",o),"aria-label":r?"Unstar":"Star","aria-pressed":r,title:r?"Unstar":"Star",className:Wt}),h,i&&a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(sn,{className:"size-5"}),onClick:y("delete",i),"aria-label":"Move to Trash",title:"Move to Trash",className:Wt}),a.jsx(yo,{triggerLabel:"More actions",items:[...d,...m]})]}),!e&&p&&a.jsx("p",{role:"status",className:"bg-surface-sunken px-3 py-1 text-2xs text-fg-subtle",children:p})]})}function fd({open:e=!1,enabled:t=!0,onToggle:n,className:s}){return a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ia,{className:"size-4"}),title:"Intelligence","aria-label":e?"Hide intelligence sidebar":"Show intelligence sidebar","aria-pressed":e,disabled:!t,onClick:n,className:X(e&&"bg-accent-2-soft text-accent-2",s)})}function md({hasThread:e,onUnavailable:t,unavailableHint:n,isStarred:s,showTriage:r=!0,onReply:o,onReplyAll:i,onForward:c,onDelete:u,onToggleStar:h,moveSlot:m,onMove:f,replyTitle:p="Reply (r)",replyAllTitle:v="Reply all (a)",forwardTitle:y="Forward (f)",deleteTitle:d="Move to Trash (#)",flagTitle:g="Star (s)",children:x,className:k}){const b=(w,E)=>()=>{if(!e){t?.(w);return}E?.()};return a.jsxs("div",{className:"relative",children:[a.jsxs("header",{className:X("flex h-pane-header shrink-0 items-center gap-1 border-b border-line bg-surface px-3",k),children:[a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(mo,{className:"size-4"}),title:p,"aria-label":"Reply",onClick:b("reply",o)}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(fo,{className:"size-4"}),title:v,"aria-label":"Reply all",onClick:b("replyAll",i)}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(uo,{className:"size-4"}),title:y,"aria-label":"Forward",onClick:b("forward",c)}),r&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"mx-1 h-4 w-px bg-line","aria-hidden":!0}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(sn,{className:"size-4"}),title:d,"aria-label":"Move to Trash",onClick:b("delete",u)}),m??a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ls,{className:"size-4"}),title:"Move to mailbox","aria-label":"Move to mailbox",onClick:b("move",f)}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Lt,{className:X("size-4",s&&"fill-warning text-warning")}),title:g,"aria-label":"Star",onClick:b("flag",h)})]}),a.jsx("div",{className:"flex-1"}),x]}),!e&&n&&a.jsx("p",{role:"status",className:"border-b border-line bg-surface-sunken px-3 py-1 text-2xs text-fg-subtle",children:n})]})}function So({message:e,onClick:t,isFocused:n,isUnread:s,trailing:r}){const o=a.jsxs(a.Fragment,{children:[a.jsx(Ds,{className:"size-3.5 shrink-0 text-fg-subtle"}),a.jsxs("div",{className:"relative shrink-0",children:[a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"md"}),s&&a.jsx("span",{className:"absolute -top-0.5 -right-0.5 size-2 rounded-full border border-canvas bg-accent"})]}),a.jsx("span",{className:X("w-36 shrink-0 truncate text-sm",s?"font-semibold text-fg":"font-medium text-fg-muted"),children:e.fromName}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-fg-subtle",children:e.snippet}),r??a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.dateLabel})]}),i=X("group flex h-section-row w-full items-center gap-3 border-b border-line px-2 text-left transition-colors hover:bg-surface-sunken lg:px-4",n&&"bg-surface-sunken ring-1 ring-inset ring-accent/30");return t?a.jsx("div",{role:"button",tabIndex:0,"aria-expanded":!1,onClick:t,onKeyDown:c=>{Gi(c)&&(c.preventDefault(),t())},className:X(i,"cursor-pointer"),children:o}):a.jsx("div",{className:i,children:o})}function ko({message:e,warning:t,onHeaderClick:n,isFocused:s,senderBadge:r,trailing:o,to:i,indicators:c,actionMenu:u,actionBar:h,body:m}){const f=a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-fg",children:[e.fromName,r]}),o??a.jsx("span",{className:"text-2xs text-fg-subtle",children:e.dateLabel})]}),a.jsx("div",{className:"text-xs text-fg-subtle",children:e.fromEmail}),i!==null&&a.jsx("div",{className:"text-xs text-fg-subtle",children:i??a.jsxs(a.Fragment,{children:["to ",e.toLabel]})})]});return a.jsxs("div",{className:X("px-2 py-3 lg:px-4",s&&"ring-1 ring-inset ring-accent/30"),children:[a.jsxs("div",{className:"flex items-start gap-3",children:[n?a.jsx("button",{type:"button",onClick:n,"aria-expanded":!0,"aria-label":"Collapse message",className:"mt-1 shrink-0 text-fg-subtle transition-colors hover:text-fg",children:a.jsx(bt,{className:"size-3.5"})}):a.jsx(bt,{className:"mt-1 size-3.5 shrink-0 text-fg-subtle"}),a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"md"}),a.jsxs("div",{className:"min-w-0 flex-1",children:[n?a.jsx("button",{type:"button",onClick:n,className:"w-full text-left",children:f}):f,c]}),u&&a.jsx("div",{className:"shrink-0",children:u})]}),t&&a.jsxs("div",{className:"mt-3 flex items-start gap-3 rounded-md bg-danger-soft p-3",children:[a.jsx(_t,{className:"mt-0.5 size-4 shrink-0 text-danger"}),a.jsxs("div",{className:"text-sm text-fg",children:[a.jsx("span",{className:"font-semibold text-danger",children:"Caution: "}),t," ",a.jsx("button",{type:"button",className:"text-accent underline",children:"Why?"})]})]}),h&&a.jsx("div",{className:"mt-3 -mx-2 lg:-mx-4",children:h}),a.jsx("div",{className:"-mx-2 [&_.message-body-notice]:px-2 lg:mx-0 lg:[&_.message-body-notice]:px-0",children:m??a.jsx(Cc,{className:"mt-3",html:e.bodyHtml,category:e.framed?"newsletter":"personal",allowImages:!0})})]})}function pd({thread:e,onBack:t,intelligence:n,intelligenceOpen:s,onToggleIntelligence:r,actions:o,children:i,touchHandlers:c}){const[u,h]=l.useState(!1),m=r!==void 0,f=m?s??!1:u,p=!!n||m,v=()=>{if(m){r?.();return}h(d=>!d)},y=()=>{if(m){f&&r?.();return}h(!1)};return a.jsxs("article",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line bg-surface px-row-inset",children:[a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ma,{className:"size-4"}),onClick:t,"aria-label":"Back to messages",className:"-ml-1 shrink-0"}),a.jsx("h2",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:e.subject}),p&&a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ia,{className:"size-4"}),onClick:v,"aria-label":f?"Hide intelligence panel":"Show intelligence panel","aria-pressed":f,title:"Intelligence",className:X("shrink-0",f&&"bg-accent-2-soft text-accent-2")})]}),a.jsx("div",{className:"flex-1 overflow-y-auto",style:c?{touchAction:"pan-y"}:void 0,...c,children:i??e.messages.map(d=>{const g=x=>x?()=>x(d.id):void 0;return d.expanded?a.jsx(ko,{message:d,warning:e.warning,onHeaderClick:g(o?.onToggleExpand),actionBar:a.jsx(wo,{hasThread:!0,onReply:g(o?.onReply),onReplyAll:g(o?.onReplyAll),onForward:g(o?.onForward),onToggleStar:g(o?.onToggleStar),onDelete:g(o?.onDelete),onToggleRead:g(o?.onToggleRead),moveSlot:o?.moveSlot?.(d.id)})},d.id):a.jsx(So,{message:d,onClick:g(o?.onToggleExpand)},d.id)})}),n&&!m&&a.jsx(Yi,{open:f,onClose:y,title:"Intelligence",anchor:"right",className:"p-0",children:a.jsx(po,{data:n,onClose:y,className:"h-full w-full border-l-0"})})]})}const hd=/[\u0000-\u001f\u007f-\u009f\u061c\u200b-\u200f\u2028\u2029\u202a-\u202e\u2066-\u2069\ufeff]/g,gd=/[<>:"|?*]/g,bd=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(\.|$)/i,Rr=120,xd=12,vd="attachment",Ir=e=>{const t=[...e];if(t.length<=Rr)return e;const n=e.lastIndexOf("."),s=n>0&&[...e.slice(n)].length<=xd?e.slice(n):"",r=Rr-[...s].length;return t.slice(0,r).join("")+s},yd=(e,t=vd)=>{const s=e.replace(hd,"").split(/[/\\]/),o=(s[s.length-1]??"").replace(gd,"_").replace(/^[.\s]+/,"").replace(/[.\s]+$/,"");if(o.length===0)return Ir(t);const i=bd.test(o)?`_${o}`:o;return Ir(i)},Mr=["KB","MB","GB","TB"],wd=e=>{if(!Number.isFinite(e)||e<0)return"unknown size";const t=Math.round(e);if(t<1024)return t===1?"1 byte":`${t} bytes`;const n=1023.95;let s=t/1024,r=0;for(;s>=n&&r<Mr.length-1;)s/=1024,r+=1;return`${s.toFixed(1).replace(/\.0$/,"")} ${Mr[r]}`};function Sd({state:e,onRetry:t}){return a.jsxs("div",{role:"alert","data-testid":"attachment-error",className:"flex items-start gap-2 border-t border-danger/30 bg-danger-soft px-2 py-2 text-xs",children:[a.jsx(Xi,{className:"mt-0.5 size-3.5 shrink-0 text-danger","aria-hidden":!0}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"font-medium text-danger",children:e.title}),a.jsx("p",{className:"mt-0.5 text-fg-muted",children:e.detail})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[a.jsx("button",{type:"button",onClick:t,className:"font-medium text-accent hover:underline",children:"Try again"}),e.reportUrl&&a.jsx("a",{href:e.reportUrl,target:"_blank",rel:"noreferrer",className:"font-medium text-accent hover:underline",children:"Report this"})]})]})}function kd({attachments:e,onDownload:t,hasUnlistedAttachment:n=!1,className:s}){return e.length===0&&!n?null:a.jsxs("section",{"aria-label":"Attachments","data-testid":"attachment-list",className:X("space-y-1.5",s),children:[a.jsxs("h3",{className:"flex items-center gap-1.5 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:[a.jsx(Fn,{className:"size-3","aria-hidden":!0}),e.length===0?"Attachment":e.length===1?"1 attachment":`${e.length} attachments`]}),e.length>0&&a.jsx("ul",{className:"overflow-hidden rounded-sm border border-line bg-surface",children:e.map(r=>{const o=r.download.status==="downloading";return a.jsxs("li",{className:"border-t border-line first:border-t-0",children:[a.jsxs("button",{type:"button",onClick:()=>t(r.attachmentId),disabled:o,"data-testid":"attachment-download","aria-label":`Download ${r.filename}`,className:"flex w-full items-center gap-2 px-2 py-2 text-left transition-colors hover:bg-surface-sunken disabled:cursor-progress disabled:opacity-60",children:[a.jsxs("span",{className:"min-w-0 flex-1",children:[a.jsx("bdi",{className:"block truncate text-sm text-fg",title:r.filename,children:r.filename}),a.jsxs("span",{className:"block truncate text-2xs text-fg-subtle",children:[r.typeLabel," ·"," ",wd(r.sizeOctets)]})]}),o?a.jsx(Os,{className:"size-4 shrink-0 animate-spin text-fg-subtle","aria-hidden":!0}):a.jsx(Hc,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0})]}),r.download.status==="failed"&&a.jsx(Sd,{state:r.download,onRetry:()=>t(r.attachmentId)})]},r.attachmentId)})}),n&&a.jsx("p",{role:"alert","data-testid":"attachment-unlisted",className:"rounded-sm border border-line bg-surface px-2 py-2 text-xs text-fg-muted",children:"The mail server says this message carries an attachment, but none of its parts describe one. Re-sync the account from Settings; if the attachment still does not appear, the message is worth reporting."})]})}function Cd({label:e,onUndo:t,undoLabel:n="Undo",filtersHref:s,className:r}){return a.jsxs(lt,{tone:"accent",className:X("py-1 text-xs",r),children:[a.jsx(zu,{className:"size-3.5 shrink-0","aria-hidden":!0}),a.jsx("span",{children:e}),t&&a.jsx("button",{type:"button",onClick:o=>{o.stopPropagation(),t()},className:"font-semibold underline decoration-dotted underline-offset-2 hover:decoration-solid",children:n}),s&&a.jsx("a",{href:s,onClick:o=>{o.stopPropagation()},className:"font-semibold underline decoration-dotted underline-offset-2 hover:decoration-solid",children:"Manage filter"})]})}const Ed="peer relative size-5 shrink-0 cursor-pointer appearance-none rounded-md border border-line-strong bg-surface outline-none transition-colors checked:border-positive checked:bg-positive indeterminate:border-positive indeterminate:bg-positive focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-surface",Ar="pointer-events-none absolute inset-0 m-auto size-3.5 text-accent-fg";function Nd({label:e,description:t,indeterminate:n=!1,checked:s,onChange:r,className:o,...i}){const c=l.useRef(null);l.useEffect(()=>{c.current&&(c.current.indeterminate=n)},[n]);const u=a.jsxs("span",{className:"relative inline-flex",children:[a.jsx("input",{ref:c,type:"checkbox",checked:s,onChange:r,className:Ed,...i}),a.jsx(Mn,{className:X(Ar,"hidden peer-checked:block"),"aria-hidden":!0}),a.jsx($u,{className:X(Ar,"hidden peer-indeterminate:block"),"aria-hidden":!0})]});return e===void 0&&t===void 0?a.jsx("span",{className:o,children:u}):a.jsxs("label",{className:X("flex min-h-11 cursor-pointer items-center gap-3 text-left",o),children:[u,a.jsxs("span",{className:"flex min-w-0 flex-col",children:[e!==void 0&&a.jsx("span",{className:"text-sm text-fg",children:e}),t!==void 0&&a.jsx("span",{className:"text-xs text-fg-subtle",children:t})]})]})}const jd=({status:e})=>e==="saving"?a.jsx("span",{className:"animate-pulse text-xs text-fg-muted",children:"Saving..."}):e==="saved"?a.jsx("span",{className:"text-xs text-fg-muted",children:"Draft saved"}):e==="error"?a.jsx("span",{className:"text-xs text-danger",children:"Save failed"}):null;function Td({send:e,onSend:t,onBlocked:n,onDiscard:s,saveStatus:r="idle"}){const o=e.status==="sending",i=e.status==="blocked"?e.reason:void 0;return a.jsxs("div",{className:"flex items-center justify-between border-t border-line px-3 py-2",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[a.jsx(te,{variant:"primary",size:"md","aria-busy":o,title:i,className:"min-h-11 shrink-0 rounded-full px-4","data-testid":"compose-send",icon:o?a.jsx(Os,{className:"size-4 animate-spin"}):a.jsx(Ji,{className:"size-4"}),onClick:()=>{if(!o){if(i!==void 0){n(i);return}t()}},children:"Send"}),a.jsx(jd,{status:r})]}),a.jsx(te,{variant:"ghost",size:"md","aria-busy":o,"aria-label":"Discard",className:"min-h-11 min-w-11 px-2 hover:text-danger",icon:a.jsx(sn,{className:"size-4"}),onClick:()=>{o||s()}})]})}const Rd=["Tab",","],Dr=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim()),Id=e=>{const t=e.trim();if(!t)return;const n=t.match(/^(.+?)\s*<([^>]+)>$/);if(n){const s=n[1].trim(),r=n[2].trim();if(Dr(r))return{email:r,displayName:s}}if(Dr(t))return{email:t}},Md=({label:e,addresses:t,onChange:n,placeholder:s,suggestions:r=[],onQueryChange:o})=>{const[i,c]=l.useState(""),u=l.useRef(null),h=new Set(t.map(b=>b.email.toLowerCase())),m=i.length>=2?r.filter(b=>!h.has(b.email.toLowerCase())):[],f=l.useCallback(b=>{h.has(b.email.toLowerCase())||(n([...t,b]),c(""),o?.(""))},[t,h,n,o]),p=l.useCallback(b=>{n(t.filter((w,E)=>E!==b))},[t,n]),v=l.useCallback(b=>{f(b),u.current?.focus()},[f]),y=l.useCallback(()=>{const b=Id(i);b&&f(b)},[i,f]),d=Aa({count:m.length,acceptKeys:Rd,onAccept:b=>v(m[b])}),g=l.useMemo(()=>m.map(b=>({value:b.email,label:b.displayName??b.email,...b.displayName?{hint:b.email}:{}})),[m]),x=l.useCallback(b=>{if(b.key==="Backspace"&&i===""&&t.length>0){p(t.length-1);return}d.handleKeyDown(b)||(b.key==="Enter"||b.key==="Tab"||b.key===",")&&i.trim()&&(b.preventDefault(),y())},[i,t.length,p,d.handleKeyDown,y]),k=l.useCallback(()=>{setTimeout(()=>{y(),d.dismiss()},150)},[y,d.dismiss]);return a.jsxs("div",{className:"relative",children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsxs("label",{htmlFor:`address-field-${e}`,className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:[e,":"]}),a.jsxs("div",{className:"flex-1 flex flex-wrap items-center gap-1 min-h-[36px] px-2 py-1 border rounded-md bg-canvas cursor-text",onClick:()=>u.current?.focus(),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&u.current?.focus()},children:[t.map((b,w)=>a.jsx(Ku,{email:b.email,displayName:b.displayName,onRemove:()=>p(w)},b.email)),a.jsx("input",{ref:u,id:`address-field-${e}`,type:"text",value:i,onChange:b=>{d.reopen(),c(b.target.value),o?.(b.target.value)},onKeyDown:x,onBlur:k,placeholder:t.length===0?s:"",className:"flex-1 min-w-[120px] bg-transparent outline-none text-sm py-0.5",autoComplete:"off",...d.comboboxProps})]})]}),d.open&&a.jsx(Da,{id:d.listId,suggestions:g,activeIndex:d.activeIndex,optionId:d.optionId,onPick:b=>{const w=m.find(E=>E.email===b.value);w&&v(w)},onHighlight:d.setActiveIndex,label:`${e} suggestions`,className:"absolute left-12 right-0 z-50 mt-1 max-h-[200px] shadow-lg"})]})},Ad=()=>a.jsxs("div",{"aria-hidden":"true","data-testid":"compose-body-skeleton",className:"min-h-[120px] px-3 py-2",children:[a.jsx("div",{className:"mb-2 h-8 animate-pulse rounded bg-surface-sunken"}),a.jsx("div",{className:"min-h-[80px] animate-pulse rounded bg-surface-sunken/50"})]});function Dd({banner:e,header:t,children:n,quoted:s,actionBar:r}){return a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[e,t,a.jsxs("div",{className:"flex min-h-0 flex-1 flex-col overflow-auto","data-testid":"compose-body-area",children:[n,s&&a.jsx("div",{className:"shrink-0 px-3 pb-2",children:s})]}),r]})}const Jn=({label:e,onClick:t})=>a.jsx("button",{type:"button",onClick:t,className:"text-xs text-fg-muted hover:text-fg transition-colors",children:e}),Pd=({to:e,cc:t,bcc:n,subject:s})=>{const r=[];return e.length>0&&r.push(`To: ${e.map(o=>o.displayName??o.email).join(", ")}`),t.length>0&&r.push(`Cc: ${t.length}`),n.length>0&&r.push(`Bcc: ${n.length}`),s&&r.push(s),r.join(" · ")},Ld=({collapsed:e=!1,summary:t="",onExpand:n,from:s,to:r,cc:o,bcc:i,subject:c,onShowCc:u,onShowBcc:h})=>e?a.jsxs("button",{type:"button",onClick:n,"aria-label":"Show recipients and subject",className:"flex min-h-11 w-full items-center gap-2 overflow-hidden border-b border-line px-3 py-1.5 text-left transition-colors hover:bg-surface-sunken","data-testid":"compose-header-collapsed",children:[a.jsx("span",{className:"truncate text-xs text-fg-muted",children:t||"…"}),a.jsx(bt,{className:"ml-auto size-4 shrink-0 text-fg-muted","aria-hidden":"true"})]}):a.jsxs("div",{className:"space-y-1 px-3 py-2 border-b border-line",children:[s,r,o??a.jsxs("div",{className:"flex gap-2 pl-14",children:[a.jsx(Jn,{label:"Cc",onClick:u}),a.jsx(Jn,{label:"Bcc",onClick:h})]}),o&&!i&&a.jsx("div",{className:"pl-14",children:a.jsx(Jn,{label:"Bcc",onClick:h})}),i,c]}),Ss="This account can't send mail until SMTP is configured.",Od=({onConfigure:e,configureRef:t})=>a.jsxs("div",{role:"alert","data-testid":"compose-smtp-missing-banner",className:"flex items-start gap-3 border-b border-warning/50 bg-warning/10 px-3 py-2",children:[a.jsx(Zi,{className:"size-5 shrink-0 mt-0.5 text-warning","aria-hidden":"true"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-sm font-medium text-warning",children:Ss}),a.jsxs("button",{ref:t,type:"button",onClick:e,"data-testid":"compose-smtp-configure",className:"mt-1 inline-flex items-center gap-1 text-xs font-medium text-warning hover:underline",children:["Configure SMTP",a.jsx(el,{className:"size-3","aria-hidden":"true"})]})]})]}),$d=({value:e,onChange:t})=>a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"Subj:"}),a.jsx("input",{type:"text",value:e,onChange:n=>t(n.target.value),className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",placeholder:"Subject","data-subject-field":!0})]});function Fd(e){return{id:e.id,fromName:e.sender,fromEmail:e.senderEmail??e.sender,subject:e.subject,snippet:e.snippet,timeLabel:e.date,isRead:!e.unread,starred:e.flagged,...e.mailboxId?{mailboxId:e.mailboxId}:{}}}function _d({result:e,onClick:t,query:n,showFolder:s=!0}){const r=s&&e.folder?tl(e.folder):void 0;return a.jsx("button",{type:"button",onClick:t,className:X("group",Vs({}),"border-b border-line"),children:a.jsx(Qs,{thread:Fd(e),highlightQuery:n,badge:a.jsxs(a.Fragment,{children:[r&&a.jsx(lt,{tone:"neutral",className:"shrink-0",children:r}),e.category&&a.jsx(lt,{tone:e.category.tone??"neutral",className:"shrink-0",children:e.category.label}),e.matchedChunkLabel&&a.jsx(lt,{tone:"neutral",className:"shrink-0",children:`matched: ${e.matchedChunkLabel}`}),e.score!=null&&a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.score.toFixed(2)})]})})})}const zd=e=>e===1?"result":"results";function Bd({count:e,onScopeToSpam:t}){return a.jsx(Pa,{tone:"info",variant:"soft",className:"items-center justify-between gap-3 rounded-none border-b border-line",children:a.jsxs("div",{className:"flex items-center justify-between gap-3",children:[a.jsxs("p",{className:"min-w-0 text-xs text-fg-muted",children:[a.jsx("span",{className:"font-semibold text-fg tabular-nums",children:e})," ",`${zd(e)} from Spam`]}),a.jsx(te,{variant:"ghost",size:"sm",onClick:t,className:"shrink-0 text-accent",children:"Go to Spam"})]})})}const Pr=6,Ud={kind:"global"},Kd=e=>e.kind==="folder"&&e.role==="junk",Hd=e=>e.folder?.role==="junk";function Co(e){const t=[],n=[];for(const s of e)Hd(s)?n.push(s):t.push(s);return{kept:t,spam:n}}function Eo({onClick:e,blockedReason:t}){const n=l.useId(),[s,r]=l.useState(!1);return a.jsxs("div",{className:"border-b border-line px-row-inset py-1.5",children:[a.jsxs("button",{type:"button",onClick:()=>{if(t){r(!0);return}e()},"aria-describedby":t?n:void 0,className:X("flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-left text-xs font-medium transition-colors",t?"text-fg-subtle opacity-55":"text-accent hover:bg-surface-sunken"),children:[a.jsx(nl,{className:"size-3.5 shrink-0","aria-hidden":"true"}),a.jsx("span",{children:"Make this a filter"})]}),t&&a.jsx(sl,{id:n,reason:t,nudged:s,className:"px-2 pt-1 text-2xs text-warning"})]})}function Wd({section:e,query:t,onSelectResult:n,showFolder:s}){const[r,o]=l.useState(e.initialCollapsed??!1),[i,c]=l.useState(!1),u=e.results.length>Pr,m=!i&&u?e.results.slice(0,Pr):e.results,f=e.results.length-m.length;return a.jsxs("div",{children:[a.jsxs("button",{type:"button","aria-expanded":!r,onClick:()=>o(p=>!p),className:"sticky top-0 z-10 flex h-section-row w-full items-center gap-1.5 border-b border-line bg-surface-sunken px-row-inset text-left transition-colors hover:bg-surface",children:[a.jsx("span",{className:"flex-1 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e.label}),a.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:e.results.length}),a.jsx(bt,{className:X("size-3 shrink-0 text-fg-subtle transition-transform duration-200",r?"rotate-0":"rotate-180")})]}),!r&&a.jsxs(a.Fragment,{children:[m.map(p=>a.jsx(_d,{result:p,query:t,showFolder:s,onClick:n?()=>n(p):void 0},p.id)),u&&a.jsxs("button",{type:"button",onClick:()=>c(p=>!p),className:"flex w-full items-center justify-center border-b border-line px-row-inset py-1.5 text-2xs font-medium text-accent transition-colors hover:bg-surface",children:[i?"Show less":`Show ${f} more`,!i&&a.jsx(bt,{className:"ml-1 size-3"})]})]})]})}function No({value:e,recentSearches:t,onPickRecent:n,sections:s,loading:r,onSelectResult:o,tokens:i,scope:c=Ud,makeFilter:u}){if(!(e.trim().length>0))return t&&t.length>0?a.jsxs("div",{className:"flex flex-col",children:[a.jsx("h3",{className:"px-row-inset pb-1 pt-3 text-2xs font-semibold uppercase tracking-wide text-fg-subtle",children:"Recent searches"}),t.map(w=>a.jsxs("button",{type:"button",onClick:()=>n?.(w),className:"flex w-full items-center gap-2.5 border-b border-line px-row-inset py-2.5 text-left transition-colors hover:bg-surface-sunken",children:[a.jsx(Vc,{className:"size-4 shrink-0 text-fg-subtle"}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-fg-muted",children:w})]},w))]}):a.jsx("p",{className:"px-row-inset py-6 text-center text-sm text-fg-subtle",children:"Search across your mail by sender, subject or words in the message."});const m=i&&i.length>0&&a.jsx(rl,{tokens:i}),f=u&&a.jsx(Eo,{...u});if(r)return a.jsxs("div",{className:"flex flex-col",children:[f,m,a.jsx("div",{className:"flex flex-col gap-3 px-row-inset py-4",children:[0,1,2,3].map(w=>a.jsxs("div",{className:"flex flex-col gap-1.5",children:[a.jsx("div",{className:"h-3 w-1/3 animate-pulse rounded bg-surface-sunken"}),a.jsx("div",{className:"h-3 w-2/3 animate-pulse rounded bg-surface-sunken"}),a.jsx("div",{className:"h-2.5 w-1/2 animate-pulse rounded bg-surface-sunken"})]},w))})]});const p=c.kind==="global",v=Kd(c)||c.kind==="collection",y=p||c.kind==="collection",d=(s??[]).map(w=>{if(v)return{section:w,spam:[]};const{kept:E,spam:j}=Co(w.results);return{section:{...w,results:E},spam:j}}),g=d.map(w=>w.section),x=d.reduce((w,E)=>w+E.spam.length,0),k=c.kind==="global"&&x>0&&c.onScopeToSpam!==void 0?a.jsx(Bd,{count:x,onScopeToSpam:c.onScopeToSpam}):void 0;return g.some(w=>w.results.length>0)?a.jsxs("div",{className:"flex flex-col",children:[f,m,k,g.filter(w=>w.results.length>0).map(w=>a.jsx(Wd,{section:w,query:e,showFolder:y,onSelectResult:o},w.id))]}):a.jsxs("div",{className:"flex flex-col",children:[f,m,k,a.jsxs("div",{className:"px-row-inset py-10 text-center",children:[a.jsxs("p",{className:"text-sm font-medium text-fg",children:["No matches for “",e,"”"]}),a.jsx("p",{className:"mt-1 text-xs text-fg-subtle",children:"Try a different word, or adjust the filters above."})]})]})}function qd({value:e,onChange:t,onClear:n,onCancel:s,filter:r,recentSearches:o,onPickRecent:i,sections:c,loading:u,onSelectResult:h,tokens:m,chips:f,onRemoveChip:p,scope:v,makeFilter:y,suggest:d,suggestList:g}){const x=a.jsx(No,{value:e,recentSearches:o,onPickRecent:i,sections:c,loading:u,onSelectResult:h,tokens:m,scope:v,makeFilter:y});return a.jsxs("article",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line bg-surface px-row-inset",children:[a.jsx("div",{className:"min-w-0 flex-1",children:a.jsx(za,{value:e,onChange:t,onClear:n,chips:f,onRemoveChip:p,globalFocusKey:!1,showClearButton:!1,suggest:d})}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(nn,{className:"size-4"}),onClick:s,"aria-label":"Clear and close search",className:"-mr-1 shrink-0"})]}),g,r&&e.trim().length===0?a.jsx(al,{children:a.jsx(ol,{...r,children:x})}):a.jsx("div",{className:"flex-1 overflow-y-auto",children:x})]})}const Vd=({text:e,html:t,senderName:n,date:s})=>{const[r,o]=l.useState(!1);if(!e&&!t)return null;const i=[n,s].filter(Boolean).join(" on ");return a.jsxs("div",{className:"mt-2 px-3 pb-2",children:[a.jsxs("button",{type:"button",onClick:()=>o(!r),"aria-expanded":r,className:"flex items-center gap-1 text-xs text-fg-muted hover:text-fg transition-colors",children:[r?a.jsx(bt,{className:"size-3"}):a.jsx(Ds,{className:"size-3"}),i?`${i} wrote:`:"Show quoted text"]}),r&&a.jsx("blockquote",{className:"mt-2 pl-3 border-l-2 border-fg-subtle/30 text-sm text-fg-muted [&_a]:text-accent [&_a]:underline [&_blockquote]:pl-3 [&_blockquote]:border-l-2 [&_blockquote]:border-fg-subtle/30",children:t?a.jsx("div",{dangerouslySetInnerHTML:{__html:t}}):e.split(`
9
- `).map((c,u)=>a.jsx("p",{className:"min-h-[1.2em]",children:c},u))})]})},Qd={html:"",text:"",formatting:[]},Lr=e=>e.toLocaleString();function Or({selectAll:e,selecting:t,className:n}){return a.jsx(Nd,{className:n,checked:e.checked,indeterminate:e.indeterminate,onChange:e.onChange,label:a.jsx("span",{className:"font-medium text-accent",children:e.checked&&t?"Deselect all":"Select all"})})}function Gd({title:e,count:t,onCancel:n,onDelete:s,onMove:r,onOrganize:o,onJunk:i,onMarkRead:c,navSlot:u,titleMeta:h,searchSlot:m,searchField:f,idleSlot:p,overflowSlot:v,isBusy:y=!1,isCounting:d=!1,selectAll:g,statusLabel:x,progress:k,notice:b}){const w=t>0||d,E=g?.checked?`All ${Lr(t)} loaded selected`:`${Lr(t)} ${t===1?"message":"messages"} selected`,j=[];return i&&!y&&!d&&j.push({key:"junk",label:"Junk",icon:a.jsx(_t,{className:"size-4"}),onSelect:i}),c&&!y&&!d&&j.push({key:"mark-read",label:"Mark read",icon:a.jsx(qs,{className:"size-4"}),onSelect:c}),a.jsxs("header",{"data-selection-bar":"",className:"flex shrink-0 flex-col border-b border-line bg-surface-sunken",children:[a.jsxs("div",{"data-selection-bar-row":"actions",className:"flex h-pane-header items-center gap-1 px-row-inset",children:[w?a.jsx(te,{variant:"ghost",size:"touch",icon:a.jsx(Ma,{className:"size-5"}),onClick:n,"aria-label":"Cancel selection",className:"-ml-2 shrink-0"}):u,g&&a.jsx(Or,{selectAll:g,selecting:w,className:"hidden shrink-0 pr-2 md:flex"}),w?a.jsx("span",{"data-selection-count":"",className:"min-w-0 flex-1 truncate px-1 text-sm font-medium text-fg",role:"status","aria-live":"polite",children:x??E}):f?a.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:f}):a.jsxs(a.Fragment,{children:[a.jsx("h1",{className:"min-w-0 flex-1 truncate px-1 text-sm font-semibold text-fg",children:e}),h,m]}),w&&!d&&a.jsxs(a.Fragment,{children:[a.jsx(te,{variant:"ghost",size:"touch",icon:y?a.jsx(Os,{className:"size-5 animate-spin"}):a.jsx(sn,{className:"size-5 text-danger"}),onClick:y?void 0:s,"aria-label":"Move selected messages to Trash","aria-busy":y||void 0,className:"shrink-0"}),!y&&r&&a.jsx(te,{variant:"ghost",size:"touch",icon:a.jsx(Ls,{className:"size-5"}),onClick:r,"aria-label":"Move selected messages",className:"shrink-0"}),!y&&o&&a.jsx(te,{variant:"ghost",size:"touch",icon:a.jsx(Dt,{className:"size-5"}),onClick:o,"aria-label":"Organize selected messages",className:"shrink-0"})]}),w&&a.jsx(yo,{triggerLabel:"More actions",items:j,className:"shrink-0",children:!y&&!d&&v})]}),!w&&p,w&&g&&a.jsx("div",{"data-selection-bar-row":"select-all",className:"px-row-inset pb-2 md:hidden",children:a.jsx(Or,{selectAll:g,selecting:w,className:"w-full"})}),k&&a.jsx("div",{className:"px-row-inset pb-2",children:a.jsx(il,{value:k.value,max:k.max,tone:k.tone})}),b&&a.jsx(Pa,{"data-selection-notice":"",tone:b.tone,variant:"soft",role:"status","aria-live":"polite",className:"mx-row-inset mb-2",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[b.text&&a.jsx("span",{children:b.text}),b.action&&a.jsx(te,{variant:"ghost",size:"md",onClick:b.action.onClick,className:"-my-1 min-h-11 shrink-0",children:b.action.label})]})})]})}const Gs=[{id:"all",label:"All",tone:"neutral"},{id:"personal",label:"Personal",tone:"accent"},{id:"uncategorized",label:"Unclassified",tone:"neutral"},{id:"transactional",label:"Transactional",tone:"positive"},{id:"newsletter",label:"Newsletter",tone:"neutral"},{id:"marketing",label:"Marketing",tone:"warning"},{id:"social",label:"Social",tone:"warning"},{id:"automated",label:"Automated",tone:"neutral"}],jo={id:"unread",label:"Unread"},Yd={id:"flagged",label:"Starred"},To={id:"attachment",label:"Has attachment"};function Xd(e){if(!(e.length<=1))return e.map(t=>({id:t.id,label:t.label,count:t.count,active:t.active}))}function dx(e=[]){return{categories:[...Gs],filters:ll,sources:Xd(e)}}function fx(){return{categories:[...Gs],filters:[jo,Yd,To]}}function mx(){return{categories:[...Gs],filters:[jo,To]}}const Jd=["p","br","div","h1","h2","h3","h4","h5","h6","strong","b","em","i","u","s","ul","ol","li","blockquote","pre","code","hr","table","thead","tbody","tr","th","td","a","img"],Zd=["href","src","alt","colspan","rowspan","lang","dir"],ef=/^(?:https?:|mailto:)/i,tf=/^(?:https:|data:image\/)/i,nf="max-width:100%;height:auto",sf=e=>{const t=cl();if(!t.isSupported)throw new Error("adopted HTML cannot be sanitized: no DOM is available");return t.addHook("afterSanitizeAttributes",n=>{if(n.tagName==="A"){ef.test(n.getAttribute("href")??"")||n.removeAttribute("href"),e==="quoted"&&(n.setAttribute("target","_blank"),n.setAttribute("rel","noopener noreferrer nofollow"));return}if(n.tagName==="IMG"){if(e==="quoted"){n.remove();return}if(!tf.test(n.getAttribute("src")??"")){n.remove();return}n.setAttribute("style",nf)}}),t},$r=new Map,rf=e=>{const t=$r.get(e);if(t)return t;const n=sf(e);return $r.set(e,n),n},Ro=(e,t)=>rf(t).sanitize(e,{ALLOWED_TAGS:Jd,ALLOWED_ATTR:Zd,ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1}),px=e=>Ro(e,"outgoing"),af=e=>Ro(e,"quoted"),of=e=>typeof e=="string"&&e.length>0?"rich":"plain",hx=(e,t)=>t.length>0,lf={plain:"Couldn't switch to plain text",rich:"Couldn't switch to rich text"},gx=(e,t,n)=>t.trim()===""||n.trim()!==""?{outcome:"switch"}:{outcome:"blocked",title:lf[e],detail:"The conversion came back empty, so your message is unchanged."};function cf(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function uf(e,t){const n=e.length-t.length-2,s=e.lastIndexOf(".",n);return s===-1?e:e.slice(s+1)}function df(e,t,n){if(n.validHosts!==null){const r=n.validHosts;for(const o of r)if(cf(t,o))return o}let s=0;if(t.startsWith("."))for(;s<t.length&&t[s]===".";)s+=1;return e.length===t.length-s?null:uf(t,e)}const Zn=/[\t\n\r]/g;let ks=!1;function Fr(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function _r(e,t,n){const s=n-t,r=e.charCodeAt(t)|32;if(s===2)return r===119&&(e.charCodeAt(t+1)|32)===115?1:0;if(s===3){const o=e.charCodeAt(t+1)|32,i=e.charCodeAt(t+2)|32;return r===119&&o===115&&i===115||r===102&&o===116&&i===112?1:0}else if(s===4){const o=e.charCodeAt(t+1)|32,i=e.charCodeAt(t+2)|32,c=e.charCodeAt(t+3)|32;return r===104&&o===116&&i===116&&c===112?1:r===102&&o===105&&i===108&&c===101?2:0}else if(s===5)return r===104&&(e.charCodeAt(t+1)|32)===116&&(e.charCodeAt(t+2)|32)===116&&(e.charCodeAt(t+3)|32)===112&&(e.charCodeAt(t+4)|32)===115?1:0;return 0}function Gt(e,t,n=!1){let s=0,r=e.length,o=!1,i=!1;if(ks=!1,!t){if(e.startsWith("data:"))return null;for(;s<e.length&&e.charCodeAt(s)<=32;)s+=1;for(;r>s+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(s)===47&&e.charCodeAt(s+1)===47)s+=2;else{const g=e.indexOf(":/",s);if(g!==-1){const x=_r(e,s,g);if(x===1)for(i=!0,s=g+2;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1;else if(x===2){i=!0,s=g+1;let k=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&k<2;)s+=1,k+=1;if(k<2)return null}else{for(let k=s;k<g;k+=1){const b=e.charCodeAt(k)|32;if(!(b>=97&&b<=122||b>=48&&b<=57||b===46||b===45||b===43)){const w=e.charCodeAt(k);return w===9||w===10||w===13?Gt(e.replace(Zn,""),t,n):null}}if(e.charCodeAt(g+2)===47)s=g+3;else return null}}else if(e.charCodeAt(s)!==91){let x=-1;for(let k=s;k<r;k+=1){const b=e.charCodeAt(k);if(b===9||b===10||b===13)return Gt(e.replace(Zn,""),t,n);if(b===58){x=k;break}if(b===47||b===92||b===63||b===35)break}if(x!==-1){let k=!1;for(let b=x+1;b<r;b+=1){const w=e.charCodeAt(b);if(w===47||w===92||w===63||w===35)break;if(w===64){k=!0;break}}if(!k){let b=!0,w=x+1;for(;w<r;w+=1){const E=e.charCodeAt(w);if(E===47||E===92||E===63||E===35)break;if(E<48||E>57){b=!1;break}}if(w===x+1&&(b=!1),!b){const E=_r(e,s,x);if(E===0){let j=!1;for(let R=x+1;R<r;R+=1){const T=e.charCodeAt(R);if(T===47||T===92||T===63||T===35)break;if(T===58){j=!0;break}}if(!j)return null}else if(i=!0,s=x+1,E===2){let j=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&j<2;)s+=1,j+=1;if(j<2)return null}else for(;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1}}}}}let u=-1,h=-1,m=-1,f=-1,p=!1,v=n,y=s-1,d=-1;if(n&&s<r){const g=e.charCodeAt(s);(!(Fr(g)||g===46||g===95)||g===45)&&(v=!1)}for(let g=s;g<r;g+=1){const x=e.charCodeAt(g);if(x<64)if(x===47||x===35||x===63){r=g;break}else x===58?(f===-1&&(f=g),m=g):x===9||x===10||x===13?p=!0:n&&(x===46?((g-y>64||d===46||d===45)&&(v=!1),y=g):(x<48||x>57)&&(x!==45||d===46)&&(v=!1));else if(i&&x===92){r=g;break}else x===64?(u=g,f=-1):x===93?h=g:x>=65&&x<=90?o=!0:n&&!Fr(x)&&(v=!1);n&&(d=x)}if(p)return Gt(e.replace(Zn,""),t,n);if(u!==-1&&u>=s&&u<r&&(s=u+1),e.charCodeAt(s)===91)return h!==-1?e.slice(s+1,h).toLowerCase():null;if(m!==-1&&m>s&&m<r&&f===m&&(r=m),s>=r)return null;n&&v&&u===-1&&m===-1&&h===-1&&e.charCodeAt(r-1)!==46&&r-s<=255&&r-y-1<=63&&d!==45&&(ks=!0)}for(;r>s+1&&e.charCodeAt(r-1)===46;)r-=1;const c=s!==0||r!==e.length?e.slice(s,r):e;return o?c.toLowerCase():c}function ff(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){const s=e.charCodeAt(n);if(s===46)t+=1;else if(s<48||s>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function mf(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let s=!1;for(;t<n;t+=1){const r=e.charCodeAt(t);if(r===58)s=!0;else if(!(r>=48&&r<=57||r>=97&&r<=102||r>=65&&r<=70))return!1}return s}function pf(e){return mf(e)||ff(e)}function zr(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Br(e){if(e.length>255||e.length===0||!zr(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1;const s=e.length;for(let r=0;r<s;r+=1){const o=e.charCodeAt(r);if(o===46){if(r-t>64||n===46||n===45)return!1;t=r}else if(!(zr(o)||o===45||o===95)||o===45&&n===46)return!1;n=o}return s-t-1<=63&&n!==45}function hf({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,detectSpecialUse:s=!1,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:c=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,detectSpecialUse:s,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:c}}const gf=hf({});function bf(e){return gf}function xf(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function vf(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function yf(e,t,n,s,r){const o=bf();if(typeof e!="string")return r;let i=!1;return o.extractHostname?o.mixedInputs?(i=Br(e),r.hostname=Gt(e,i,o.validateHostname)):r.hostname=Gt(e,!1,o.validateHostname):r.hostname=e,o.detectIp&&r.hostname!==null&&(r.isIp=pf(r.hostname),r.isIp)?r:o.validateHostname&&o.extractHostname&&r.hostname!==null&&!(i&&r.hostname===e)&&!ks&&!Br(r.hostname)?(r.hostname=null,r):(r.hostname===null||(n(r.hostname,o,r),r.publicSuffix===null)||(r.domain=df(r.publicSuffix,r.hostname,o)),r)}const Ur=xf();function wf(e,t){return vf(Ur),yf(e,3,ul,t,Ur).domain}const _n=e=>{const t=new Set,n=[];for(const s of e){const r=s.trim();if(r==="")continue;const o=r.toLowerCase();t.has(o)||(t.add(o),n.push(r))}return n},Sf=e=>{const t=e.lastIndexOf("@");return t>=0?e.slice(t+1):e},Io=e=>wf(Sf(e.trim())),kf=e=>{const t=_n(e);if(t.length<2)return null;let n=null;for(const s of t){const r=Io(s);if(r===null)return null;if(n===null)n=r;else if(n!==r)return null}return n},zn=e=>{const t=kf(e);return t!==null?[{field:"FromDomain",value:t}]:_n(e).map(n=>({field:"From",value:n}))},Cf=e=>{const t=new Map;for(const r of e){const o=r.normalizedEmail.trim().toLowerCase();if(o==="")continue;const i=t.get(o);i?i.count+=1:t.set(o,{sender:r,count:1})}let n,s=0;for(const{sender:r,count:o}of t.values())o<=s||(n=r,s=o);return n},Mo=e=>e.displayName?.trim()||e.normalizedEmail,Ef=/^\s*(?:(?:re|aw|fwd?|vs|sv|antw|res|enc|tr)\s*(?:\[\d+\])?\s*:|\[[^\]]{1,32}\])\s*/i,Nf=e=>{let t=e.replace(/\s+/g," ").trim();for(;;){const n=t.replace(Ef,"");if(n===t)return t.trim();t=n}},jf=new Set(["a","an","and","are","as","at","be","by","for","from","has","have","in","is","it","me","my","new","of","on","or","our","the","this","to","was","we","with","you","your"]),Tf=3,es=e=>e.split(" ").filter(t=>t!==""),Kr=e=>e.length===0||e.join(" ").length<Tf?!1:e.some(t=>!jf.has(t.toLowerCase())),Rf=(e,t)=>e.findIndex((n,s)=>t.every((r,o)=>e[s+o]?.toLowerCase()===r.toLowerCase())),If=e=>{const t=e.map(Nf).filter(o=>o!=="");if(t.length===0)return;const[n,...s]=t;if(s.length===0)return Kr(es(n))?n:void 0;const r=es(n);for(let o=r.length;o>0;o-=1)for(let i=0;i+o<=r.length;i+=1){const c=r.slice(i,i+o);if(Kr(c)&&s.every(u=>Rf(es(u),c)>=0))return c.join(" ")}},Mf=(e,t)=>{const n=zn(e);if(_n(e).length===1||n.length===1&&n[0].field==="FromDomain")return n;const s=If(t);return s!==void 0?[{field:"Subject",value:s}]:n},Af=({match:e,sender:t,folder:n})=>{const s=e??t;return s?n?`${s} → ${n}`:e?`Mail matching ${e}`:`Mail from ${s}`:n?`Mail to ${n}`:""},Df=e=>e.clauses.length>0,Pf=e=>({scopedOutFolder:e.scopedOut?.label,droppedFacets:e.droppedFacets.map(t=>t.label),droppedSemantic:e.droppedSemantic}),Lf=({orderedIds:e,isDesktop:t,initialFocusedId:n,initialSelectedIds:s,onExitSelection:r})=>{const[o,i]=l.useState(n),[c,u]=l.useState(),h=l.useCallback(C=>{u(D=>D===C?D:void 0),i(C)},[]),m=ed({initialSelectedIds:s}),{selectedCount:f,toggle:p,clearSelection:v,selectRange:y,setAnchor:d,selectAll:g}=m,x=Gu(f,t),k=l.useRef(null),b=l.useRef(!1),w=l.useCallback(()=>{r?.(),v()},[v,r]),E=l.useMemo(()=>o?e.indexOf(o):-1,[e,o]),j=l.useCallback(C=>{if(C<0||C>=e.length)return;const D=e[C];if(x){p(D);return}k.current=D,b.current=!1,u(D),i(D)},[e,x,p]),R=l.useCallback(()=>{e.length!==0&&j(E<0?0:Math.min(E+1,e.length-1))},[e.length,E,j]),T=l.useCallback(()=>{e.length!==0&&j(E<=0?0:E-1)},[e.length,E,j]),P=l.useCallback(()=>j(0),[j]),F=l.useCallback(()=>j(e.length-1),[j,e.length]),I=l.useCallback(()=>{o&&p(o)},[o,p]),z=l.useCallback((C,D)=>{const N=Qu(D);return N==="range"?(y(e,C,o),!0):N==="toggle"?(p(C),!0):(w(),d(C),!1)},[e,o,y,p,w,d]),A=l.useCallback(C=>{const D=Zu(e,o,C);D!==void 0&&(y(e,D),k.current=D,b.current=!1,u(void 0),i(D))},[e,o,y]),S=l.useCallback(()=>A(-1),[A]),M=l.useCallback(()=>A(1),[A]),O=l.useCallback(()=>{e.length>0&&g(e)},[e,g]);return{focusedMessageId:o,setFocusedMessageId:h,keyboardFocusedMessageId:c,focusIndex:E,pendingDomFocusRef:k,cursorMovedByPointerRef:b,selection:m,isMultiSelectMode:x,exitSelection:w,moveFocusToIndex:j,focusNext:R,focusPrevious:T,focusFirst:P,focusLast:F,toggleFocusedSelection:I,extendRangeUp:S,extendRangeDown:M,selectAllLoaded:O,handleRowSelect:z}};function ct(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function Hr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Of(...e){return t=>{let n=!1;const s=e.map(r=>{const o=Hr(r,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let r=0;r<s.length;r++){const o=s[r];typeof o=="function"?o():Hr(e[r],null)}}}}function vt(...e){return l.useCallback(Of(...e),e)}function $f(e,t=[]){let n=[];function s(o,i){const c=l.createContext(i);c.displayName=o+"Context";const u=n.length;n=[...n,i];const h=f=>{const{scope:p,children:v,...y}=f,d=p?.[e]?.[u]||c,g=l.useMemo(()=>y,Object.values(y));return a.jsx(d.Provider,{value:g,children:v})};h.displayName=o+"Provider";function m(f,p,v={}){const{optional:y=!1}=v,d=p?.[e]?.[u]||c,g=l.useContext(d);if(g)return g;if(i!==void 0)return i;if(!y)throw new Error(`\`${f}\` must be used within \`${o}\``)}return[h,m]}const r=()=>{const o=n.map(i=>l.createContext(i));return function(c){const u=c?.[e]||o;return l.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return r.scopeName=e,[s,Ff(r,...t)]}function Ff(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const s=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(o){const i=s.reduce((c,{useScope:u,scopeName:h})=>{const f=u(o)[`__scope${h}`];return{...c,...f}},{});return l.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var Zt=globalThis?.document?l.useLayoutEffect:()=>{},_f=$s[" useInsertionEffect ".trim().toString()]||Zt;function zf({prop:e,defaultProp:t,onChange:n=()=>{},caller:s}){const[r,o,i]=Bf({defaultProp:t,onChange:n}),c=e!==void 0,u=c?e:r;{const m=l.useRef(e!==void 0);l.useEffect(()=>{const f=m.current;f!==c&&console.warn(`${s} is changing from ${f?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=c},[c,s])}const h=l.useCallback(m=>{if(c){const f=Uf(m)?m(e):m;f!==e&&i.current?.(f)}else o(m)},[c,e,o,i]);return[u,h]}function Bf({defaultProp:e,onChange:t}){const[n,s]=l.useState(e),r=l.useRef(n),o=l.useRef(t);return _f(()=>{o.current=t},[t]),l.useEffect(()=>{r.current!==n&&(o.current?.(n),r.current=n)},[n,r]),[n,s,o]}function Uf(e){return typeof e=="function"}function Ao(e){const t=l.forwardRef((n,s)=>{let{children:r,...o}=n,i=null,c=!1;const u=[];Wr(r)&&typeof gn=="function"&&(r=gn(r._payload)),l.Children.forEach(r,p=>{if(Vf(p)){c=!0;const v=p;let y="child"in v.props?v.props.child:v.props.children;Wr(y)&&typeof gn=="function"&&(y=gn(y._payload)),i=Hf(v,y),u.push(i?.props?.children)}else u.push(p)}),i?i=l.cloneElement(i,void 0,u):!c&&l.Children.count(r)===1&&l.isValidElement(r)&&(i=r);const h=i?qf(i):void 0,m=vt(s,h);if(!i){if(r||r===0)throw new Error(c?Xf(e):Yf(e));return r}const f=Wf(o,i.props??{});return i.type!==l.Fragment&&(f.ref=s?m:h),l.cloneElement(i,f)});return t.displayName=`${e}.Slot`,t}var Kf=Symbol.for("radix.slottable"),Hf=(e,t)=>{if("child"in e.props){const n=e.props.child;return l.isValidElement(n)?l.cloneElement(n,void 0,e.props.children(n.props.children)):null}return l.isValidElement(t)?t:null};function Wf(e,t){const n={...t};for(const s in t){const r=e[s],o=t[s];/^on[A-Z]/.test(s)?r&&o?n[s]=(...c)=>{const u=o(...c);return r(...c),u}:r&&(n[s]=r):s==="style"?n[s]={...r,...o}:s==="className"&&(n[s]=[r,o].filter(Boolean).join(" "))}return{...e,...n}}function qf(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Vf(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Kf}var Qf=Symbol.for("react.lazy");function Wr(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Qf&&"_payload"in e&&Gf(e._payload)}function Gf(e){return typeof e=="object"&&e!==null&&"then"in e}var Yf=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Xf=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,gn=$s[" use ".trim().toString()],Jf=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],et=Jf.reduce((e,t)=>{const n=Ao(`Primitive.${t}`),s=l.forwardRef((r,o)=>{const{asChild:i,...c}=r,u=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(u,{...c,ref:o})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function Zf(e,t){e&&Ps.flushSync(()=>e.dispatchEvent(t))}function en(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),l.useMemo(()=>((...n)=>t.current?.(...n)),[])}var em="DismissableLayer",Cs="dismissableLayer.update",tm="dismissableLayer.pointerDownOutside",nm="dismissableLayer.focusOutside",qr,Ys=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Do=l.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:s=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:c,onDismiss:u,...h}=e,m=l.useContext(Ys),[f,p]=l.useState(null),v=f?.ownerDocument??globalThis?.document,[,y]=l.useState({}),d=vt(t,p),g=Array.from(m.layers),[x]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),k=x?g.indexOf(x):-1,b=f?g.indexOf(f):-1,w=m.layersWithOutsidePointerEventsDisabled.size>0,E=b>=k,j=l.useRef(!1),R=im(I=>{o?.(I),c?.(I),I.defaultPrevented||u?.()},{ownerDocument:v,deferPointerDownOutside:s,isDeferredPointerDownOutsideRef:j,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:l.useCallback(I=>{if(!(I instanceof Node))return!1;const z=[...m.branches].some(A=>A.contains(I));return E&&!z},[m.branches,E])}),T=lm(I=>{if(s&&j.current)return;const z=I.target;[...m.branches].some(S=>S.contains(z))||(i?.(I),c?.(I),I.defaultPrevented||u?.())},v),P=f?b===g.length-1:!1,F=en(I=>{I.key==="Escape"&&(r?.(I),!I.defaultPrevented&&u&&(I.preventDefault(),u()))});return l.useEffect(()=>{if(P)return v.addEventListener("keydown",F,{capture:!0}),()=>v.removeEventListener("keydown",F,{capture:!0})},[v,P,F]),l.useEffect(()=>{if(f)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(qr=v.body.style.pointerEvents,v.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(f)),m.layers.add(f),Vr(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(f),m.layersWithOutsidePointerEventsDisabled.size===0&&(v.body.style.pointerEvents=qr))}},[f,v,n,m]),l.useEffect(()=>()=>{f&&(m.layers.delete(f),m.layersWithOutsidePointerEventsDisabled.delete(f),Vr())},[f,m]),l.useEffect(()=>{const I=()=>y({});return document.addEventListener(Cs,I),()=>document.removeEventListener(Cs,I)},[]),a.jsx(et.div,{...h,ref:d,style:{pointerEvents:w?E?"auto":"none":void 0,...e.style},onFocusCapture:ct(e.onFocusCapture,T.onFocusCapture),onBlurCapture:ct(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:ct(e.onPointerDownCapture,R.onPointerDownCapture)})});Do.displayName=em;var sm="DismissableLayerBranch",rm=l.forwardRef((e,t)=>{const n=l.useContext(Ys),s=l.useRef(null),r=vt(t,s);return l.useEffect(()=>{const o=s.current;if(o)return n.branches.add(o),()=>{n.branches.delete(o)}},[n.branches]),a.jsx(et.div,{...e,ref:r})});rm.displayName=sm;function am(){const e=l.useContext(Ys),[t,n]=l.useState(null);return l.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var om=()=>!0;function im(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:s=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:o,shouldHandlePointerDownOutside:i=om}=t,c=en(e),u=l.useRef(!1),h=l.useRef(!1),m=l.useRef(new Map),f=l.useRef(()=>{});return l.useEffect(()=>{function p(){h.current=!1,r.current=!1,m.current.clear()}function v(){return Array.from(m.current.values()).some(Boolean)}function y(b){if(!h.current)return;const w=b.target;w instanceof Node&&[...o].some(j=>j.contains(w))||m.current.set(b.type,!0),b.type==="click"&&window.setTimeout(()=>{h.current&&f.current()},0)}function d(b){h.current&&m.current.set(b.type,!1)}const g=b=>{if(b.target&&!u.current){let w=function(){n.removeEventListener("click",f.current);const j=v();p(),j||Po(tm,c,E,{discrete:!0})};if(!i(b.target)){n.removeEventListener("click",f.current),p(),u.current=!1;return}const E={originalEvent:b};h.current=!0,r.current=s&&b.button===0,m.current.clear(),!s||b.button!==0?w():(n.removeEventListener("click",f.current),f.current=w,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),p();u.current=!1},x=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const b of x)n.addEventListener(b,y,!0),n.addEventListener(b,d);const k=window.setTimeout(()=>{n.addEventListener("pointerdown",g)},0);return()=>{window.clearTimeout(k),n.removeEventListener("pointerdown",g),n.removeEventListener("click",f.current);for(const b of x)n.removeEventListener(b,y,!0),n.removeEventListener(b,d)}},[n,c,s,r,o,i]),{onPointerDownCapture:()=>u.current=!0}}function lm(e,t=globalThis?.document){const n=en(e),s=l.useRef(!1);return l.useEffect(()=>{const r=o=>{o.target&&!s.current&&Po(nm,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function Vr(){const e=new CustomEvent(Cs);document.dispatchEvent(e)}function Po(e,t,n,{discrete:s}){const r=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),s?Zf(r,o):r.dispatchEvent(o)}var bn=0,Et=null;function cm(){l.useEffect(()=>{Et||(Et={start:Qr(),end:Qr()});const{start:e,end:t}=Et;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),bn++,()=>{bn===1&&(Et?.start.remove(),Et?.end.remove(),Et=null),bn=Math.max(0,bn-1)}},[])}function Qr(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ts="focusScope.autoFocusOnMount",ns="focusScope.autoFocusOnUnmount",Gr={bubbles:!1,cancelable:!0},um="FocusScope",Lo=l.forwardRef((e,t)=>{const{loop:n=!1,trapped:s=!1,onMountAutoFocus:r,onUnmountAutoFocus:o,...i}=e,[c,u]=l.useState(null),h=en(r),m=en(o),f=l.useRef(null),p=vt(t,u),v=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(s){let d=function(b){if(v.paused||!c)return;const w=b.target;c.contains(w)?f.current=w:rt(f.current,{select:!0})},g=function(b){if(v.paused||!c)return;const w=b.relatedTarget;w!==null&&(c.contains(w)||rt(f.current,{select:!0}))},x=function(b){if(document.activeElement===document.body)for(const E of b)E.removedNodes.length>0&&rt(c)};document.addEventListener("focusin",d),document.addEventListener("focusout",g);const k=new MutationObserver(x);return c&&k.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",d),document.removeEventListener("focusout",g),k.disconnect()}}},[s,c,v.paused]),l.useEffect(()=>{if(c){Xr.add(v);const d=document.activeElement;if(!c.contains(d)){const x=new CustomEvent(ts,Gr);c.addEventListener(ts,h),c.dispatchEvent(x),x.defaultPrevented||(dm(gm(Oo(c)),{select:!0}),document.activeElement===d&&rt(c))}return()=>{c.removeEventListener(ts,h),setTimeout(()=>{const x=new CustomEvent(ns,Gr);c.addEventListener(ns,m),c.dispatchEvent(x),x.defaultPrevented||rt(d??document.body,{select:!0}),c.removeEventListener(ns,m),Xr.remove(v)},0)}}},[c,h,m,v]);const y=l.useCallback(d=>{if(!n&&!s||v.paused)return;const g=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,x=document.activeElement;if(g&&x){const k=d.currentTarget,[b,w]=fm(k);b&&w?!d.shiftKey&&x===w?(d.preventDefault(),n&&rt(b,{select:!0})):d.shiftKey&&x===b&&(d.preventDefault(),n&&rt(w,{select:!0})):x===k&&d.preventDefault()}},[n,s,v.paused]);return a.jsx(et.div,{tabIndex:-1,...i,ref:p,onKeyDown:y})});Lo.displayName=um;function dm(e,{select:t=!1}={}){const n=document.activeElement;for(const s of e)if(rt(s,{select:t}),document.activeElement!==n)return}function fm(e){const t=Oo(e),n=Yr(t,e),s=Yr(t.reverse(),e);return[n,s]}function Oo(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const r=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||r?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Yr(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const s of e)if(!(n?!s.checkVisibility({checkVisibilityCSS:!0}):mm(s,{upTo:t})))return s}function mm(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function pm(e){return e instanceof HTMLInputElement&&"select"in e}function rt(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&pm(e)&&t&&e.select()}}var Xr=hm();function hm(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=Jr(e,t),e.unshift(t)},remove(t){e=Jr(e,t),e[0]?.resume()}}}function Jr(e,t){const n=[...e],s=n.indexOf(t);return s!==-1&&n.splice(s,1),n}function gm(e){return e.filter(t=>t.tagName!=="A")}var bm=$s[" useId ".trim().toString()]||(()=>{}),xm=0;function ss(e){const[t,n]=l.useState(bm());return Zt(()=>{n(s=>s??String(xm++))},[e]),e||(t?`radix-${t}`:"")}var vm="Portal",$o=l.forwardRef((e,t)=>{const{container:n,...s}=e,[r,o]=l.useState(!1);Zt(()=>o(!0),[]);const i=n||r&&globalThis?.document?.body;return i?Ps.createPortal(a.jsx(et.div,{...s,ref:t}),i):null});$o.displayName=vm;function ym(e,t){return l.useReducer((n,s)=>t[n][s]??n,e)}var Bn=e=>{const{present:t,children:n}=e,s=wm(t),r=typeof n=="function"?n({present:s.isPresent}):l.Children.only(n),o=Sm(s.ref,km(r));return typeof n=="function"||s.isPresent?l.cloneElement(r,{ref:o}):null};Bn.displayName="Presence";function wm(e){const[t,n]=l.useState(),s=l.useRef(null),r=l.useRef(e),o=l.useRef("none"),i=l.useRef(void 0),c=e?"mounted":"unmounted",[u,h]=ym(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return l.useEffect(()=>{u==="mounted"?(o.current=i.current??qt(s.current),i.current=void 0):o.current="none"},[u]),Zt(()=>{const m=s.current,f=r.current;if(f!==e){const v=o.current,y=qt(m);e?(i.current=y,h("MOUNT")):y==="none"||m?.display==="none"?h("UNMOUNT"):h(f&&v!==y?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,h]),Zt(()=>{if(t){let m;const f=t.ownerDocument.defaultView??window,p=y=>{const g=qt(s.current).includes(CSS.escape(y.animationName));if(y.target===t&&g&&(h("ANIMATION_END"),!r.current)){const x=t.style.animationFillMode;t.style.animationFillMode="forwards",m=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=x)})}},v=y=>{y.target===t&&(o.current=qt(s.current))};return t.addEventListener("animationstart",v),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{f.clearTimeout(m),t.removeEventListener("animationstart",v),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else h("ANIMATION_END")},[t,h]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:l.useCallback(m=>{if(m){const f=getComputedStyle(m);s.current=f,i.current=qt(f)}else s.current=null;n(m)},[])}}function Zr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Sm(...e){const t=l.useRef(e);return t.current=e,l.useCallback(n=>{const s=t.current;let r=!1;const o=s.map(i=>{const c=Zr(i,n);return!r&&typeof c=="function"&&(r=!0),c});if(r)return()=>{for(let i=0;i<o.length;i++){const c=o[i];typeof c=="function"?c():Zr(s[i],null)}}},[])}function qt(e){return e?.animationName||"none"}function km(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Cm=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Nt=new WeakMap,xn=new WeakMap,vn={},rs=0,Fo=function(e){return e&&(e.host||Fo(e.parentNode))},Em=function(e,t){return t.map(function(n){if(e.contains(n))return n;var s=Fo(n);return s&&e.contains(s)?s:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Nm=function(e,t,n,s){var r=Em(t,Array.isArray(e)?e:[e]);vn[n]||(vn[n]=new WeakMap);var o=vn[n],i=[],c=new Set,u=new Set(r),h=function(f){!f||c.has(f)||(c.add(f),h(f.parentNode))};r.forEach(h);var m=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(p){if(c.has(p))m(p);else try{var v=p.getAttribute(s),y=v!==null&&v!=="false",d=(Nt.get(p)||0)+1,g=(o.get(p)||0)+1;Nt.set(p,d),o.set(p,g),i.push(p),d===1&&y&&xn.set(p,!0),g===1&&p.setAttribute(n,"true"),y||p.setAttribute(s,"true")}catch(x){console.error("aria-hidden: cannot operate on ",p,x)}})};return m(t),c.clear(),rs++,function(){i.forEach(function(f){var p=Nt.get(f)-1,v=o.get(f)-1;Nt.set(f,p),o.set(f,v),p||(xn.has(f)||f.removeAttribute(s),xn.delete(f)),v||f.removeAttribute(n)}),rs--,rs||(Nt=new WeakMap,Nt=new WeakMap,xn=new WeakMap,vn={})}},jm=function(e,t,n){n===void 0&&(n="data-aria-hidden");var s=Array.from(Array.isArray(e)?e:[e]),r=Cm(e);return r?(s.push.apply(s,Array.from(r.querySelectorAll("[aria-live], script"))),Nm(s,r,n,"aria-hidden")):function(){return null}},En="right-scroll-bar-position",Nn="width-before-scroll-bar",Tm="with-scroll-bars-hidden",Rm="--removed-body-scroll-bar-size";function as(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Im(e,t){var n=l.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(s){var r=n.value;r!==s&&(n.value=s,n.callback(s,r))}}}})[0];return n.callback=t,n.facade}var Mm=typeof window<"u"?l.useLayoutEffect:l.useEffect,ea=new WeakMap;function Am(e,t){var n=Im(null,function(s){return e.forEach(function(r){return as(r,s)})});return Mm(function(){var s=ea.get(n);if(s){var r=new Set(s),o=new Set(e),i=n.current;r.forEach(function(c){o.has(c)||as(c,null)}),o.forEach(function(c){r.has(c)||as(c,i)})}ea.set(n,e)},[e]),n}function Dm(e){return e}function Pm(e,t){t===void 0&&(t=Dm);var n=[],s=!1,r={read:function(){if(s)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var i=t(o,s);return n.push(i),function(){n=n.filter(function(c){return c!==i})}},assignSyncMedium:function(o){for(s=!0;n.length;){var i=n;n=[],i.forEach(o)}n={push:function(c){return o(c)},filter:function(){return n}}},assignMedium:function(o){s=!0;var i=[];if(n.length){var c=n;n=[],c.forEach(o),i=n}var u=function(){var m=i;i=[],m.forEach(o)},h=function(){return Promise.resolve().then(u)};h(),n={push:function(m){i.push(m),h()},filter:function(m){return i=i.filter(m),n}}}};return r}function Lm(e){e===void 0&&(e={});var t=Pm(null);return t.options=at({async:!0,ssr:!1},e),t}var _o=function(e){var t=e.sideCar,n=La(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var s=t.read();if(!s)throw new Error("Sidecar medium not found");return l.createElement(s,at({},n))};_o.isSideCarExport=!0;function Om(e,t){return e.useMedium(t),_o}var zo=Lm(),os=function(){},Un=l.forwardRef(function(e,t){var n=l.useRef(null),s=l.useState({onScrollCapture:os,onWheelCapture:os,onTouchMoveCapture:os}),r=s[0],o=s[1],i=e.forwardProps,c=e.children,u=e.className,h=e.removeScrollBar,m=e.enabled,f=e.shards,p=e.sideCar,v=e.noRelative,y=e.noIsolation,d=e.inert,g=e.allowPinchZoom,x=e.as,k=x===void 0?"div":x,b=e.gapMode,w=La(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),E=p,j=Am([n,t]),R=at(at({},w),r);return l.createElement(l.Fragment,null,m&&l.createElement(E,{sideCar:zo,removeScrollBar:h,shards:f,noRelative:v,noIsolation:y,inert:d,setCallbacks:o,allowPinchZoom:!!g,lockRef:n,gapMode:b}),i?l.cloneElement(l.Children.only(c),at(at({},R),{ref:j})):l.createElement(k,at({},R,{className:u,ref:j}),c))});Un.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Un.classNames={fullWidth:Nn,zeroRight:En};var $m=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Fm(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=$m();return t&&e.setAttribute("nonce",t),e}function _m(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function zm(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Bm=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Fm())&&(_m(t,n),zm(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Um=function(){var e=Bm();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Bo=function(){var e=Um(),t=function(n){var s=n.styles,r=n.dynamic;return e(s,r),null};return t},Km={left:0,top:0,right:0,gap:0},is=function(e){return parseInt(e||"",10)||0},Hm=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],s=t[e==="padding"?"paddingTop":"marginTop"],r=t[e==="padding"?"paddingRight":"marginRight"];return[is(n),is(s),is(r)]},Wm=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Km;var t=Hm(e),n=document.documentElement.clientWidth,s=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,s-n+t[2]-t[0])}},qm=Bo(),At="data-scroll-locked",Vm=function(e,t,n,s){var r=e.left,o=e.top,i=e.right,c=e.gap;return n===void 0&&(n="margin"),`
8
+ `.trim(),S.head.prepend(M)},[p]),l.useEffect(()=>{let S=g.current;return()=>{f||yr(S.target??void 0);for(let M of S.disposables)M();S.disposables=[]}},[f]),{isPressed:u||y,pressProps:on(x,A,{[Cr]:!0})}}function Ws(e){return e.tagName==="A"&&e.hasAttribute("href")}function Yn(e,t){const{key:n,code:s}=e,r=t,o=r.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||s==="Space")&&!(r instanceof ut(r).HTMLInputElement&&!uo(r,n)||r instanceof ut(r).HTMLTextAreaElement||r.isContentEditable)&&!((o==="link"||!o&&Ws(r))&&n!=="Enter")}function pt(e,t){let n=t.clientX,s=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:s,key:t.key}}function Ru(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Ws(e)}function Er(e,t){return e instanceof HTMLInputElement?!uo(e,t):Ru(e)}const Iu=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function uo(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":Iu.has(e.type)}let Mu=0;const Xn=new Map;function Au(e){let[t,n]=l.useState();return Ks(()=>{if(!e)return;let s=Xn.get(e);if(s)n(s.element.id);else{let r=`react-aria-description-${Mu++}`;n(r);let o=document.createElement("div");o.id=r,o.style.display="none",o.textContent=e,document.body.appendChild(o),s={refCount:0,element:o},Xn.set(e,s)}return s.refCount++,()=>{s&&--s.refCount===0&&(s.element.remove(),Xn.delete(e))}},[e]),{"aria-describedby":e?t:void 0}}const Du=500;function Pu(e){let{isDisabled:t,onLongPressStart:n,onLongPressEnd:s,onLongPress:r,threshold:o=Du,accessibilityDescription:i}=e;const c=l.useRef(void 0);let{addGlobalListener:u,removeGlobalListener:h}=co(),{pressProps:m}=Tu({isDisabled:t,onPressStart(p){if(p.continuePropagation(),(p.pointerType==="mouse"||p.pointerType==="touch")&&(n&&n({...p,type:"longpressstart"}),c.current=setTimeout(()=>{p.target.dispatchEvent(new PointerEvent("pointercancel",{bubbles:!0})),it(p.target).activeElement!==p.target&&Xt(p.target),r&&r({...p,type:"longpress"}),c.current=void 0},o),p.pointerType==="touch")){let x=d=>{d.preventDefault()},y=ut(p.target);u(p.target,"contextmenu",x,{once:!0}),u(y,"pointerup",()=>{setTimeout(()=>{h(p.target,"contextmenu",x)},30)},{once:!0})}},onPressEnd(p){c.current&&clearTimeout(c.current),s&&(p.pointerType==="mouse"||p.pointerType==="touch")&&s({...p,type:"longpressend"})}}),f=Au(r&&!t?i:void 0);return{longPressProps:on(m,f)}}const $n=Ae("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);const fo=Ae("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);const mo=Ae("EllipsisVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);const po=Ae("Forward",[["polyline",{points:"15 17 20 12 15 7",key:"1w3sku"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]]);const Lu=Ae("MailCheck",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]);const qs=Ae("MailOpen",[["path",{d:"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z",key:"1jhwl8"}],["path",{d:"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10",key:"1qfld7"}]]);const Ou=Ae("MailX",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9",key:"1j9vog"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m17 17 4 4",key:"1b3523"}],["path",{d:"m21 17-4 4",key:"uinynz"}]]);const $u=Ae("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);const Fn=Ae("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);const ho=Ae("ReplyAll",[["polyline",{points:"7 17 2 12 7 7",key:"t83bqg"}],["polyline",{points:"12 17 7 12 12 7",key:"1g4ajm"}],["path",{d:"M22 18v-2a4 4 0 0 0-4-4H7",key:"1fcyog"}]]);const go=Ae("Reply",[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]]);const _t=Ae("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);const Fu=Ae("ShieldQuestion",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const _u=Ae("ShieldX",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]);const zu=Ae("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),Bu=({address:e,showTrustedBadge:t=!1})=>{const n=t?a.jsx($n,{className:"inline-block size-4 ml-1 -mt-0.5 text-positive","aria-label":"Trusted sender","data-testid":"trusted-sender-badge"}):null;return e.displayName?a.jsxs("span",{children:[a.jsx("span",{className:"text-fg",children:e.displayName}),a.jsxs("span",{className:"text-fg-muted",children:[" ","<",e.normalizedEmail,">"]}),n]}):a.jsxs("span",{className:"text-fg",children:[e.normalizedEmail,n]})},Uu=({label:e,addresses:t,showTrustedBadge:n=!1})=>{const[s,r]=l.useState(!1);if(t.length===0)return null;const o=t.length>3,i=c=>{const u=n&&c.flags?.trusted?.value===!0;return a.jsx(Bu,{address:c,showTrustedBadge:u})};return a.jsxs("div",{className:"flex gap-2 text-sm",children:[a.jsxs("span",{className:"text-fg-muted shrink-0 w-12",children:[e,":"]}),a.jsx("div",{className:"flex-1 min-w-0",children:s?a.jsx("div",{className:"flex flex-wrap gap-1",children:t.map((c,u)=>a.jsxs("span",{children:[i(c),u<t.length-1&&", "]},u))}):a.jsx("div",{className:"truncate",children:t.map((c,u)=>a.jsxs("span",{children:[i(c),u<t.length-1&&", "]},u))})}),o&&a.jsx("button",{type:"button",onClick:c=>{c.stopPropagation(),r(!s)},className:"shrink-0 text-fg-muted hover:text-fg transition-colors","aria-label":s?"Collapse":"Expand",children:s?a.jsx(bt,{className:"h-4 w-4"}):a.jsx(Ds,{className:"h-4 w-4"})})]})},Ku=({email:e,displayName:t,onRemove:n,className:s})=>a.jsxs("span",{className:X("inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-accent-2-soft text-sm max-w-[200px]",s),children:[a.jsx("span",{className:"truncate",children:t||e}),a.jsx("button",{type:"button",onClick:n,className:"shrink-0 p-0.5 rounded-full hover:bg-fg-muted/20 transition-colors","aria-label":`Remove ${e}`,children:a.jsx(nn,{className:"size-3"})})]}),Hu={unknown:{label:"Unknown sender",tone:"neutral"},wellknown:{label:"Known sender",tone:"positive"},vip:{label:"VIP",tone:"accent"}};function Ct({label:e,children:t,className:n}){return a.jsxs("section",{className:X("border-b border-line px-row-inset py-3",n),children:[a.jsx("h3",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e}),a.jsx("div",{className:"mt-2",children:t})]})}function Wu({sender:e}){const t=Hu[e.trust],n=e.inboundCount==null?null:(e.replyCount??0)>0?`${e.inboundCount} received · you replied ${e.replyCount}×`:`${e.inboundCount} received · you've never replied`;return a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Yt,{name:e.name,email:e.email,size:"md"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"truncate text-sm font-semibold text-fg",children:e.name}),a.jsx("div",{className:"truncate text-2xs text-fg-subtle",children:e.email})]})]}),a.jsx("div",{className:"mt-2 flex items-center gap-2",children:e.addressUnverified?a.jsx(lt,{tone:"danger",dot:!0,children:"Address couldn't be verified"}):a.jsx(lt,{tone:t.tone,dot:!0,children:t.label})}),a.jsxs("p",{className:"mt-2 text-xs text-fg-muted",children:["First seen ",e.firstSeenLabel,n?` · ${n}`:""]})]})}function qu({auth:e,onShowSimilar:t}){if(e.verdict==="aligned")return a.jsxs("div",{className:"flex items-start gap-2 text-xs text-fg-muted",children:[a.jsx(Wc,{className:"mt-0.5 size-3.5 shrink-0 text-positive"}),a.jsx("span",{children:e.summary})]});if(e.verdict==="caution")return a.jsxs("div",{className:"flex items-start gap-2 rounded-md bg-warning/10 p-3 text-warning",children:[a.jsx(Fu,{className:"mt-0.5 size-4 shrink-0"}),a.jsx("p",{className:"text-xs leading-relaxed",children:e.summary})]});const n=e.addressUnreadable?"This sender can't be verified":"This message may be impersonating someone";return a.jsxs("div",{className:"rounded-md bg-danger-soft p-3",children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx(_t,{className:"mt-0.5 size-4 shrink-0 text-danger"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"text-sm font-semibold text-danger",children:n}),a.jsx("p",{className:"mt-1 text-xs leading-relaxed text-fg",children:e.summary}),!e.addressUnreadable&&e.dkimDomain&&a.jsxs("p",{className:"mt-1 text-2xs text-fg-muted",children:["Sent from"," ",a.jsx("code",{className:"rounded bg-surface px-1 py-0.5",children:e.dkimDomain}),", claims to be"," ",a.jsx("code",{className:"rounded bg-surface px-1 py-0.5",children:e.fromDomain})]})]})]}),e.similarCount!=null&&e.similarCount>0&&a.jsxs(ne,{variant:"secondary",size:"sm",className:"mt-2 w-full border-danger/30 text-danger hover:bg-danger-soft",onClick:t,children:[e.similarCount," similar messages"]})]})}function Kt({icon:e,label:t,active:n,danger:s,onClick:r,pending:o}){const i=r===void 0||o===!0;return a.jsxs("button",{type:"button",onClick:r,disabled:i,className:X("flex items-center gap-2 rounded-md border px-2 py-1 text-xs transition-colors",n?"border-accent-2 bg-accent-2-soft text-accent-2":"border-line text-fg-muted hover:border-line-strong hover:text-fg",s&&!n&&"text-danger hover:bg-danger-soft",i&&"cursor-not-allowed opacity-50 hover:border-line"),children:[e,t]})}const Vu={sender:"matched: sender",recipient:"matched: recipient",subject:"matched: subject",attachment:"matched: attachment",body:"matched: body",entities:"matched: entities"};function bo({data:e,onClose:t,onShowSimilar:n,actions:s,similarState:r="ready",similarLinkComponent:o,className:i,hideCloseButton:c=!1,reportSpamPending:u=!1,notSpamPending:h=!1}){const{sender:m,authenticity:f,category:p,flags:x={},similar:y}=e;return a.jsxs("aside",{className:X("flex w-76 shrink-0 flex-col overflow-y-auto border-l border-line bg-surface",i),children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center justify-between border-b border-line px-row-inset",children:[a.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"}),!c&&a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(nn,{className:"size-3.5"}),onClick:t,"aria-label":"Collapse intelligence sidebar"})]}),a.jsx(Ct,{label:"Sender",children:a.jsx(Wu,{sender:m})}),a.jsx(Ct,{label:"Authenticity",children:a.jsx(qu,{auth:f,onShowSimilar:n})}),a.jsx(Ct,{label:"Category",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(lt,{tone:Ra[p.value],children:p.value}),p.overridden&&a.jsx("span",{className:"text-2xs text-fg-subtle",children:"your override"}),a.jsx("button",{type:"button",className:X("ml-auto text-2xs text-accent hover:underline",!s?.onReclassify&&"cursor-not-allowed opacity-50 hover:no-underline"),disabled:!s?.onReclassify,onClick:s?.onReclassify,children:"reclassify"})]})}),a.jsxs(Ct,{label:"Quick actions",children:[a.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[a.jsx(Kt,{icon:a.jsx(Lt,{className:"size-3.5"}),label:"VIP",active:x.vip,onClick:s?.onToggleVip}),a.jsx(Kt,{icon:a.jsx(cc,{className:"size-3.5"}),label:"Mute",active:x.muted,onClick:s?.onToggleMute}),s?.onNotSpam&&a.jsx(Kt,{icon:a.jsx(Lu,{className:"size-3.5"}),label:h?"Undoing…":"Not spam",active:!0,onClick:s.onNotSpam,pending:h}),s?.onReportSpam&&a.jsx(Kt,{icon:a.jsx(_u,{className:"size-3.5"}),label:u?"Reporting…":"Report spam",danger:!0,onClick:s.onReportSpam,pending:u}),a.jsx(Kt,{icon:a.jsx(Ou,{className:"size-3.5"}),label:"Unsubscribe",active:x.unsubscribed,onClick:s?.onToggleUnsubscribe})]}),s?.onNotSpam&&a.jsx("p",{className:"mt-1.5 text-2xs text-fg-subtle",children:"You reported this message as spam"})]}),(r!=="ready"||y.length>0)&&a.jsx(Ct,{label:"Similar messages",children:r==="loading"?a.jsx("div",{className:"animate-pulse space-y-2",children:Array.from({length:3}).map((d,g)=>a.jsxs("div",{className:"space-y-1",children:[a.jsx("div",{className:"h-3 w-3/4 rounded bg-surface-sunken"}),a.jsx("div",{className:"h-2.5 w-1/2 rounded bg-surface-sunken"})]},g))}):r==="error"?a.jsx("p",{className:"text-xs text-fg-subtle",children:"Similarity search unavailable"}):a.jsx("ul",{className:"-mx-1 space-y-1",children:y.map(d=>{const g="block w-full rounded-md px-1 py-1 text-left hover:bg-surface-sunken",v=`Open message from ${d.fromName||"unknown sender"}: ${d.subject}`,k=a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[a.jsx("span",{className:"truncate text-xs font-medium text-fg",children:d.fromName}),a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:d.timeLabel})]}),a.jsx("div",{className:"truncate text-xs text-fg-muted",children:d.subject}),a.jsx("span",{className:"mt-1 inline-block rounded-full bg-surface-sunken px-1.5 py-px text-2xs text-fg-subtle",children:Vu[d.matched]})]});return a.jsx("li",{children:o?o({mailboxId:d.mailboxId,threadId:d.threadId,messageId:d.id,className:g,ariaLabel:v,children:k}):a.jsx("div",{className:g,children:k})},d.id)})})}),a.jsx(Ct,{label:"Coming soon",className:"border-b-0 opacity-70",children:a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-line p-2",children:[a.jsx(Dt,{className:"mt-0.5 size-3.5 shrink-0 text-fg-subtle"}),a.jsxs("div",{children:[a.jsx("div",{className:"text-xs font-medium text-fg-muted",children:"Suggested actions"}),a.jsx("div",{className:"text-2xs text-fg-subtle",children:'"Create a filter for messages like this" — on-device model'})]})]}),a.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-line p-2",children:[a.jsx(Dt,{className:"mt-0.5 size-3.5 shrink-0 text-fg-subtle"}),a.jsxs("div",{children:[a.jsx("div",{className:"text-xs font-medium text-fg-muted",children:"Thread summary"}),a.jsx("div",{className:"text-2xs text-fg-subtle",children:"One-paragraph digest — Bedrock"})]})]})]})})]})}const ws=e=>({shiftKey:e.shiftKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey}),Nr=e=>e.shiftKey||e.metaKey||e.ctrlKey,Qu=e=>e.shiftKey?"range":e.metaKey||e.ctrlKey?"toggle":"open",Gu=(e,t)=>!t&&e>0,Yu=(e,t,n)=>{const s=e.indexOf(n);if(s===-1)return[];const r=t===void 0?-1:e.indexOf(t);if(r===-1)return[n];const o=Math.min(r,s),i=Math.max(r,s);return e.slice(o,i+1)},Xu=(e,t,n,s)=>t!==void 0&&e.includes(t)?t:n!==void 0&&e.includes(n)?n:s,Ju=(e,t)=>{const n=new Set(t),s=new Set;for(const r of e)n.has(r)&&s.add(r);return s},Zu=(e,t,n)=>{if(e.length===0)return;const s=t===void 0?-1:e.indexOf(t);if(s===-1)return n>0?e[0]:e[e.length-1];const r=Math.min(Math.max(s+n,0),e.length-1);return e[r]},ed=e=>{const[t,n]=l.useState(()=>new Set(e?.initialSelectedIds)),[s,r]=l.useState(void 0),o=l.useCallback(d=>t.has(d),[t]),i=l.useCallback(d=>{r(d),n(g=>{const v=new Set(g);return v.has(d)?v.delete(d):v.add(d),v})},[]),c=l.useCallback(d=>{r(d),n(g=>{if(g.has(d))return g;const v=new Set(g);return v.add(d),v})},[]),u=l.useCallback(d=>{n(g=>{if(!g.has(d))return g;const v=new Set(g);return v.delete(d),v})},[]),h=l.useCallback(d=>{n(new Set(d))},[]),m=l.useCallback(()=>{r(void 0),n(new Set)},[]),f=l.useCallback(d=>{n(g=>d.every(k=>g.has(k))?new Set:new Set(d))},[]),p=l.useCallback(d=>{r(d)},[]),x=l.useCallback(d=>{n(g=>{if(g.size===0)return g;const v=Ju(g,d);return v.size===g.size?g:v})},[]),y=l.useCallback((d,g,v)=>{const k=Xu(d,s,v,g);n(b=>{const w=Yu(d,k,g);if(w.length===0)return b;const E=new Set(b);for(const j of w)E.add(j);return E}),r(k)},[s]);return{selectedIds:t,selectedCount:t.size,hasSelection:t.size>0,isSelected:o,toggle:i,select:c,deselect:u,selectAll:h,clearSelection:m,toggleAll:f,selectRange:y,setAnchor:p,anchorId:s,intersectWith:x}};function dv({hints:e=uc,className:t}){return e.length===0?null:a.jsx("footer",{className:X("flex items-center gap-2 border-t border-line px-row-inset py-1 text-2xs text-fg-subtle",t),children:e.map(n=>a.jsx(td,{hint:n},n.label))})}function td({hint:e}){return a.jsxs("span",{className:"flex items-center gap-1",children:[e.keys.map(t=>a.jsx(wc,{children:t},t)),a.jsx("span",{children:e.label})]})}const vo="outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",xo=({active:e,focused:t})=>X("relative flex h-8 w-full items-center gap-2 px-row-inset text-left",vo,e?"bg-accent-2-soft":t?"bg-surface-sunken":"hover:bg-surface-sunken",t&&!e&&"before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-accent-2"),Vs=({active:e,focused:t})=>X("relative flex w-full items-start gap-3 py-2 pl-5 pr-row-inset text-left transition-colors",vo,e?"bg-accent-2-soft":t?"bg-surface-sunken":"hover:bg-surface-sunken",t&&!e&&"before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-accent-2");function yo({thread:e}){const t=!e.isRead;return a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"flex w-4 shrink-0 items-center justify-center",children:e.suspicious?a.jsx(_t,{className:"size-3.5 text-danger"}):e.starred?a.jsx(Lt,{className:"size-3 fill-warning text-warning"}):t?a.jsx("span",{className:"size-1.5 rounded-full bg-accent"}):null}),a.jsx("span",{className:X("w-36 shrink-0 truncate text-xs",t?"font-semibold text-fg":"text-fg-muted"),children:e.fromName}),a.jsxs("span",{className:"min-w-0 flex-1 truncate text-xs",children:[a.jsx("span",{className:X(t?"font-medium text-fg":"text-fg-muted"),children:e.subject}),a.jsxs("span",{className:"text-fg-subtle",children:[" — ",e.snippet]})]}),e.hasAttachment&&a.jsx(Fn,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"}),a.jsx("span",{className:"w-11 shrink-0 text-right text-2xs text-fg-subtle tabular-nums",children:e.timeLabel})]})}function jr(e,t){const n=t?.trim();if(!n)return e;const s=e.toLowerCase(),r=n.toLowerCase(),o=[];let i=0,c=s.indexOf(r,i),u=0;for(;c!==-1;)c>i&&o.push(e.slice(i,c)),o.push(a.jsx("mark",{className:"bg-transparent font-semibold text-fg",children:e.slice(c,c+r.length)},u++)),i=c+r.length,c=s.indexOf(r,i);return i<e.length&&o.push(e.slice(i)),o}function nd({thread:e,badge:t,highlightQuery:n}){const s=!e.isRead;return a.jsxs("span",{className:"min-w-0 flex-1",children:[a.jsxs("span",{className:"flex items-baseline justify-between gap-2",children:[a.jsxs("span",{className:X("flex min-w-0 items-center gap-1.5 truncate text-sm",s?"font-semibold text-fg":"font-medium text-fg-muted"),children:[e.trust==="vip"&&a.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-accent-2"}),a.jsx("span",{className:"truncate",children:e.fromName}),e.messageCount!=null&&e.messageCount>1&&a.jsx("span",{className:"shrink-0 text-2xs font-normal text-fg-subtle",children:e.messageCount})]}),a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.timeLabel})]}),a.jsxs("span",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:X("truncate text-sm",s?"text-fg":"text-fg-muted"),children:jr(e.subject,n)}),e.suspicious&&a.jsx(_t,{className:"size-3.5 shrink-0 text-danger"}),e.starred&&a.jsx(Lt,{className:"size-3 shrink-0 fill-warning text-warning"}),e.hasAttachment&&a.jsx(Fn,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"})]}),a.jsxs("span",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"line-clamp-1 min-w-0 flex-1 text-xs text-fg-subtle",children:jr(e.snippet,n)}),e.category&&e.category!=="personal"&&a.jsx(lt,{tone:Ra[e.category],className:"shrink-0",children:e.category}),e.labels?.map(r=>a.jsx(Yi,{label:r,className:"max-w-20"},r.labelId)),t]})]})}function sd({thread:e,selection:t}){if(!t)return a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"sm"});const{checked:n,alwaysVisible:s}=t;return a.jsxs("span",{className:"relative size-7 shrink-0",children:[a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"sm",className:X("absolute inset-0 transition-opacity sm:group-hover:opacity-0",(n||s)&&"opacity-0")}),a.jsx("span",{role:"button",tabIndex:-1,onClick:t.onToggle,onKeyDown:r=>{r.key!=="Enter"&&r.key!==" "||(r.preventDefault(),r.stopPropagation(),t.onToggle(r))},className:X("absolute inset-0 size-7 items-center justify-center rounded-full border transition-opacity",s?"flex":"hidden sm:flex",n?"bg-accent border-accent text-accent-fg opacity-100":s?"border-fg-subtle/40 bg-canvas opacity-100":"border-fg-subtle/40 bg-canvas opacity-0 group-hover:opacity-100"),"aria-label":n?"Deselect message":"Select message",children:n&&a.jsx(Mn,{className:"size-3"})})]})}function Qs({thread:e,selection:t,badge:n,highlightQuery:s}){const r=!e.isRead;return a.jsxs(a.Fragment,{children:[r&&a.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),a.jsx(sd,{thread:e,selection:t}),a.jsx(nd,{thread:e,badge:n,highlightQuery:s})]})}const wo=e=>({...Xi,[dc]:"","data-message-id":e.id});function fv({thread:e,active:t,focused:n,tabIndex:s,onClick:r}){return a.jsx("button",{type:"button",...wo(e),tabIndex:s,onClick:r,className:xo({active:t,focused:n}),children:a.jsx(yo,{thread:e})})}function mv({thread:e,active:t,focused:n,tabIndex:s,selection:r,onClick:o}){return a.jsx("button",{type:"button",...wo(e),tabIndex:s,onClick:o,className:X("group",Vs({active:t,focused:n})),children:a.jsx(Qs,{thread:e,selection:r})})}let Mt;const rd=5e3;function So(e){e.preventDefault(),Tn()}function Tn(){Mt!==void 0&&(clearTimeout(Mt),Mt=void 0,document.removeEventListener("contextmenu",So,!0),document.removeEventListener("pointerup",Tn,!0))}function ad(){Mt===void 0?(document.addEventListener("contextmenu",So,!0),document.addEventListener("pointerup",Tn,!0)):clearTimeout(Mt),Mt=setTimeout(Tn,rd)}function od({onLongPress:e,isDisabled:t,delayMs:n=500,accessibilityDescription:s}){const{longPressProps:r}=Pu({isDisabled:t,threshold:n,accessibilityDescription:s,onLongPress:e}),o=l.useCallback(i=>{i.pointerType!=="touch"&&i.pointerType!=="pen"||ad()},[]);return{longPressProps:on(r,{onPointerDown:o})}}const Tr=4,Ht=8;function id(e,t,n){const s=Math.max(Ht,window.innerWidth-t.width-Ht),r=n==="end"?e.right-t.width:e.left,o=Math.min(Math.max(r,Ht),s),i=e.bottom+Tr,c=e.top-Tr-t.height,h=i+t.height<=window.innerHeight-Ht||c<Ht?i:c;return{left:o,top:h}}function ld(e,t,n,s){const[r,o]=l.useState(null),i=l.useRef(s);return i.current=s,l.useLayoutEffect(()=>{if(!t){o(null);return}const c=()=>{const u=e.current,h=i.current();if(!u||!h)return;const m=u.getBoundingClientRect(),f={width:m.right-m.left,height:m.bottom-m.top},p=id(h,f,n);o(x=>x?.left===p.left&&x.top===p.top?x:{position:"fixed",left:p.left,top:p.top})};return c(),window.addEventListener("resize",c),window.addEventListener("scroll",c,!0),()=>{window.removeEventListener("resize",c),window.removeEventListener("scroll",c,!0)}},[t,n,e]),r}function cd({open:e,align:t="start",getAnchor:n,panelRef:s,children:r}){const o=ld(s,e,t,n);return e?Ps.createPortal(a.jsx("div",{style:o??{position:"fixed",visibility:"hidden"},children:r}),document.body):null}function ud({label:e,children:t,className:n,ref:s,onKeyDown:r,"data-testid":o}){return a.jsx("div",{ref:s,role:"menu","aria-label":e,tabIndex:-1,onKeyDown:r,"data-testid":o,className:X("z-50 flex max-h-[60dvh] min-w-44 flex-col overflow-y-auto overscroll-contain rounded-md border border-line bg-surface py-1 shadow-lg outline-none",n),children:t})}function dd({label:e,icon:t,onSelect:n,className:s,lang:r,"data-testid":o}){return a.jsxs("button",{type:"button",role:"menuitem",lang:r,onClick:n,"data-testid":o,className:X("flex min-h-11 items-center gap-3 px-4 py-2.5 text-left text-sm text-fg transition-colors hover:bg-surface-sunken",s),children:[t&&a.jsx("span",{className:"shrink-0 text-fg-subtle",children:t}),e]})}function ko({triggerLabel:e,triggerIcon:t,triggerText:n,items:s,align:r="end",touch:o=!0,className:i,triggerClassName:c,nested:u=!1,children:h}){const[m,f]=l.useState(!1),p=l.useRef(null),x=l.useRef(null);return l.useEffect(()=>{if(!m)return;const y=g=>{const v=g.target;p.current?.contains(v)||x.current?.contains(v)||f(!1)},d=g=>{g.key==="Escape"&&f(!1)};return document.addEventListener("mousedown",y),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",y),document.removeEventListener("keydown",d)}},[m]),s.length===0&&!h?null:a.jsxs("div",{ref:p,className:X("relative",i),...u?{role:"none"}:{},children:[a.jsx(ne,{variant:"ghost",size:"sm",icon:t??a.jsx(mo,{className:"size-5"}),onClick:()=>f(y=>!y),"aria-label":e,"aria-haspopup":"menu","aria-expanded":m,...u?{role:"menuitem"}:{},className:X(o&&"min-h-11 min-w-11 px-0",c),children:n}),a.jsx(cd,{open:m,align:r,panelRef:x,getAnchor:()=>p.current?.getBoundingClientRect()??null,children:a.jsxs(ud,{ref:x,children:[s.map(y=>a.jsx(dd,{label:y.label,icon:y.icon,onSelect:()=>{f(!1),y.onSelect()}},y.key)),h]})})]})}const Wt="min-h-11 min-w-11 px-0";function Co({hasThread:e,onReply:t,onReplyAll:n,onForward:s,isStarred:r,onToggleStar:o,onDelete:i,isRead:c,onToggleRead:u,moveSlot:h,overflowItems:m=[],onUnavailable:f,unavailableHint:p,className:x}){const y=(g,v)=>()=>{if(!e){f?.(g);return}v?.()},d=u?[{key:"toggle-read",label:c?"Mark as unread":"Mark as read",icon:c?a.jsx(Sc,{className:"size-4"}):a.jsx(qs,{className:"size-4"}),onSelect:y("toggleRead",u)}]:[];return a.jsxs("div",{className:X("relative",x),children:[a.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-0.5 bg-canvas px-1",children:[t&&a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(go,{className:"size-5"}),onClick:y("reply",t),"aria-label":"Reply",title:"Reply",className:Wt}),n&&a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(ho,{className:"size-5"}),onClick:y("replyAll",n),"aria-label":"Reply all",title:"Reply all",className:Wt}),s&&a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(po,{className:"size-5"}),onClick:y("forward",s),"aria-label":"Forward",title:"Forward",className:Wt}),a.jsx("div",{className:"flex-1"}),o&&a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(Lt,{className:X("size-5",r&&"fill-warning text-warning")}),onClick:y("star",o),"aria-label":r?"Unstar":"Star","aria-pressed":r,title:r?"Unstar":"Star",className:Wt}),h,i&&a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(sn,{className:"size-5"}),onClick:y("delete",i),"aria-label":"Move to Trash",title:"Move to Trash",className:Wt}),a.jsx(ko,{triggerLabel:"More actions",items:[...d,...m]})]}),!e&&p&&a.jsx("p",{role:"status",className:"bg-surface-sunken px-3 py-1 text-2xs text-fg-subtle",children:p})]})}function fd({open:e=!1,enabled:t=!0,onToggle:n,className:s}){return a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(Ia,{className:"size-4"}),title:"Intelligence","aria-label":e?"Hide intelligence sidebar":"Show intelligence sidebar","aria-pressed":e,disabled:!t,onClick:n,className:X(e&&"bg-accent-2-soft text-accent-2",s)})}function md({hasThread:e,onUnavailable:t,unavailableHint:n,isStarred:s,showTriage:r=!0,onReply:o,onReplyAll:i,onForward:c,onDelete:u,onToggleStar:h,moveSlot:m,onMove:f,replyTitle:p="Reply (r)",replyAllTitle:x="Reply all (a)",forwardTitle:y="Forward (f)",deleteTitle:d="Move to Trash (#)",flagTitle:g="Star (s)",children:v,className:k}){const b=(w,E)=>()=>{if(!e){t?.(w);return}E?.()};return a.jsxs("div",{className:"relative",children:[a.jsxs("header",{className:X("flex h-pane-header shrink-0 items-center gap-1 border-b border-line bg-surface px-3",k),children:[a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(go,{className:"size-4"}),title:p,"aria-label":"Reply",onClick:b("reply",o)}),a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(ho,{className:"size-4"}),title:x,"aria-label":"Reply all",onClick:b("replyAll",i)}),a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(po,{className:"size-4"}),title:y,"aria-label":"Forward",onClick:b("forward",c)}),r&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"mx-1 h-4 w-px bg-line","aria-hidden":!0}),a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(sn,{className:"size-4"}),title:d,"aria-label":"Move to Trash",onClick:b("delete",u)}),m??a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(Ls,{className:"size-4"}),title:"Move to mailbox","aria-label":"Move to mailbox",onClick:b("move",f)}),a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(Lt,{className:X("size-4",s&&"fill-warning text-warning")}),title:g,"aria-label":"Star",onClick:b("flag",h)})]}),a.jsx("div",{className:"flex-1"}),v]}),!e&&n&&a.jsx("p",{role:"status",className:"border-b border-line bg-surface-sunken px-3 py-1 text-2xs text-fg-subtle",children:n})]})}function Eo({message:e,onClick:t,isFocused:n,isUnread:s,trailing:r}){const o=a.jsxs(a.Fragment,{children:[a.jsx(Ds,{className:"size-3.5 shrink-0 text-fg-subtle"}),a.jsxs("div",{className:"relative shrink-0",children:[a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"md"}),s&&a.jsx("span",{className:"absolute -top-0.5 -right-0.5 size-2 rounded-full border border-canvas bg-accent"})]}),a.jsx("span",{className:X("w-36 shrink-0 truncate text-sm",s?"font-semibold text-fg":"font-medium text-fg-muted"),children:e.fromName}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-fg-subtle",children:e.snippet}),r??a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.dateLabel})]}),i=X("group flex h-section-row w-full items-center gap-3 border-b border-line px-2 text-left transition-colors hover:bg-surface-sunken lg:px-4",n&&"bg-surface-sunken ring-1 ring-inset ring-accent/30");return t?a.jsx("div",{role:"button",tabIndex:0,"aria-expanded":!1,onClick:t,onKeyDown:c=>{Ji(c)&&(c.preventDefault(),t())},className:X(i,"cursor-pointer"),children:o}):a.jsx("div",{className:i,children:o})}function No({message:e,warning:t,onHeaderClick:n,isFocused:s,senderBadge:r,trailing:o,to:i,indicators:c,actionMenu:u,actionBar:h,body:m}){const f=a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-fg",children:[e.fromName,r]}),o??a.jsx("span",{className:"text-2xs text-fg-subtle",children:e.dateLabel})]}),a.jsx("div",{className:"text-xs text-fg-subtle",children:e.fromEmail}),i!==null&&a.jsx("div",{className:"text-xs text-fg-subtle",children:i??a.jsxs(a.Fragment,{children:["to ",e.toLabel]})})]});return a.jsxs("div",{className:X("px-2 py-3 lg:px-4",s&&"ring-1 ring-inset ring-accent/30"),children:[a.jsxs("div",{className:"flex items-start gap-3",children:[n?a.jsx("button",{type:"button",onClick:n,"aria-expanded":!0,"aria-label":"Collapse message",className:"mt-1 shrink-0 text-fg-subtle transition-colors hover:text-fg",children:a.jsx(bt,{className:"size-3.5"})}):a.jsx(bt,{className:"mt-1 size-3.5 shrink-0 text-fg-subtle"}),a.jsx(Yt,{name:e.fromName,email:e.fromEmail,size:"md"}),a.jsxs("div",{className:"min-w-0 flex-1",children:[n?a.jsx("button",{type:"button",onClick:n,className:"w-full text-left",children:f}):f,c]}),u&&a.jsx("div",{className:"shrink-0",children:u})]}),t&&a.jsxs("div",{className:"mt-3 flex items-start gap-3 rounded-md bg-danger-soft p-3",children:[a.jsx(_t,{className:"mt-0.5 size-4 shrink-0 text-danger"}),a.jsxs("div",{className:"text-sm text-fg",children:[a.jsx("span",{className:"font-semibold text-danger",children:"Caution: "}),t," ",a.jsx("button",{type:"button",className:"text-accent underline",children:"Why?"})]})]}),h&&a.jsx("div",{className:"mt-3 -mx-2 lg:-mx-4",children:h}),a.jsx("div",{className:"-mx-2 [&_.message-body-notice]:px-2 lg:mx-0 lg:[&_.message-body-notice]:px-0",children:m??a.jsx(Cc,{className:"mt-3",html:e.bodyHtml,category:e.framed?"newsletter":"personal",allowImages:!0})})]})}function pd({thread:e,onBack:t,intelligence:n,intelligenceOpen:s,onToggleIntelligence:r,actions:o,children:i,touchHandlers:c}){const[u,h]=l.useState(!1),m=r!==void 0,f=m?s??!1:u,p=!!n||m,x=()=>{if(m){r?.();return}h(d=>!d)},y=()=>{if(m){f&&r?.();return}h(!1)};return a.jsxs("article",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line bg-surface px-row-inset",children:[a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(Ma,{className:"size-4"}),onClick:t,"aria-label":"Back to messages",className:"-ml-1 shrink-0"}),a.jsx("h2",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:e.subject}),p&&a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(Ia,{className:"size-4"}),onClick:x,"aria-label":f?"Hide intelligence panel":"Show intelligence panel","aria-pressed":f,title:"Intelligence",className:X("shrink-0",f&&"bg-accent-2-soft text-accent-2")})]}),a.jsx("div",{className:"flex-1 overflow-y-auto",style:c?{touchAction:"pan-y"}:void 0,...c,children:i??e.messages.map(d=>{const g=v=>v?()=>v(d.id):void 0;return d.expanded?a.jsx(No,{message:d,warning:e.warning,onHeaderClick:g(o?.onToggleExpand),actionBar:a.jsx(Co,{hasThread:!0,onReply:g(o?.onReply),onReplyAll:g(o?.onReplyAll),onForward:g(o?.onForward),onToggleStar:g(o?.onToggleStar),onDelete:g(o?.onDelete),onToggleRead:g(o?.onToggleRead),moveSlot:o?.moveSlot?.(d.id)})},d.id):a.jsx(Eo,{message:d,onClick:g(o?.onToggleExpand)},d.id)})}),n&&!m&&a.jsx(Zi,{open:f,onClose:y,title:"Intelligence",anchor:"right",className:"p-0",children:a.jsx(bo,{data:n,onClose:y,className:"h-full w-full border-l-0"})})]})}const hd=/[\u0000-\u001f\u007f-\u009f\u061c\u200b-\u200f\u2028\u2029\u202a-\u202e\u2066-\u2069\ufeff]/g,gd=/[<>:"|?*]/g,bd=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(\.|$)/i,Rr=120,vd=12,xd="attachment",Ir=e=>{const t=[...e];if(t.length<=Rr)return e;const n=e.lastIndexOf("."),s=n>0&&[...e.slice(n)].length<=vd?e.slice(n):"",r=Rr-[...s].length;return t.slice(0,r).join("")+s},yd=(e,t=xd)=>{const s=e.replace(hd,"").split(/[/\\]/),o=(s[s.length-1]??"").replace(gd,"_").replace(/^[.\s]+/,"").replace(/[.\s]+$/,"");if(o.length===0)return Ir(t);const i=bd.test(o)?`_${o}`:o;return Ir(i)},Mr=["KB","MB","GB","TB"],wd=e=>{if(!Number.isFinite(e)||e<0)return"unknown size";const t=Math.round(e);if(t<1024)return t===1?"1 byte":`${t} bytes`;const n=1023.95;let s=t/1024,r=0;for(;s>=n&&r<Mr.length-1;)s/=1024,r+=1;return`${s.toFixed(1).replace(/\.0$/,"")} ${Mr[r]}`};function Sd({state:e,onRetry:t}){return a.jsxs("div",{role:"alert","data-testid":"attachment-error",className:"flex items-start gap-2 border-t border-danger/30 bg-danger-soft px-2 py-2 text-xs",children:[a.jsx(el,{className:"mt-0.5 size-3.5 shrink-0 text-danger","aria-hidden":!0}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"font-medium text-danger",children:e.title}),a.jsx("p",{className:"mt-0.5 text-fg-muted",children:e.detail})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[a.jsx("button",{type:"button",onClick:t,className:"font-medium text-accent hover:underline",children:"Try again"}),e.reportUrl&&a.jsx("a",{href:e.reportUrl,target:"_blank",rel:"noreferrer",className:"font-medium text-accent hover:underline",children:"Report this"})]})]})}function kd({attachments:e,onDownload:t,hasUnlistedAttachment:n=!1,className:s}){return e.length===0&&!n?null:a.jsxs("section",{"aria-label":"Attachments","data-testid":"attachment-list",className:X("space-y-1.5",s),children:[a.jsxs("h3",{className:"flex items-center gap-1.5 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:[a.jsx(Fn,{className:"size-3","aria-hidden":!0}),e.length===0?"Attachment":e.length===1?"1 attachment":`${e.length} attachments`]}),e.length>0&&a.jsx("ul",{className:"overflow-hidden rounded-sm border border-line bg-surface",children:e.map(r=>{const o=r.download.status==="downloading";return a.jsxs("li",{className:"border-t border-line first:border-t-0",children:[a.jsxs("button",{type:"button",onClick:()=>t(r.attachmentId),disabled:o,"data-testid":"attachment-download","aria-label":`Download ${r.filename}`,className:"flex w-full items-center gap-2 px-2 py-2 text-left transition-colors hover:bg-surface-sunken disabled:cursor-progress disabled:opacity-60",children:[a.jsxs("span",{className:"min-w-0 flex-1",children:[a.jsx("bdi",{className:"block truncate text-sm text-fg",title:r.filename,children:r.filename}),a.jsxs("span",{className:"block truncate text-2xs text-fg-subtle",children:[r.typeLabel," ·"," ",wd(r.sizeOctets)]})]}),o?a.jsx(Os,{className:"size-4 shrink-0 animate-spin text-fg-subtle","aria-hidden":!0}):a.jsx(Hc,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0})]}),r.download.status==="failed"&&a.jsx(Sd,{state:r.download,onRetry:()=>t(r.attachmentId)})]},r.attachmentId)})}),n&&a.jsx("p",{role:"alert","data-testid":"attachment-unlisted",className:"rounded-sm border border-line bg-surface px-2 py-2 text-xs text-fg-muted",children:"The mail server says this message carries an attachment, but none of its parts describe one. Re-sync the account from Settings; if the attachment still does not appear, the message is worth reporting."})]})}function Cd({label:e,onUndo:t,undoLabel:n="Undo",filtersHref:s,className:r}){return a.jsxs(lt,{tone:"accent",className:X("py-1 text-xs",r),children:[a.jsx(zu,{className:"size-3.5 shrink-0","aria-hidden":!0}),a.jsx("span",{children:e}),t&&a.jsx("button",{type:"button",onClick:o=>{o.stopPropagation(),t()},className:"font-semibold underline decoration-dotted underline-offset-2 hover:decoration-solid",children:n}),s&&a.jsx("a",{href:s,onClick:o=>{o.stopPropagation()},className:"font-semibold underline decoration-dotted underline-offset-2 hover:decoration-solid",children:"Manage filter"})]})}const Ed="peer relative size-5 shrink-0 cursor-pointer appearance-none rounded-md border border-line-strong bg-surface outline-none transition-colors checked:border-positive checked:bg-positive indeterminate:border-positive indeterminate:bg-positive focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-surface",Ar="pointer-events-none absolute inset-0 m-auto size-3.5 text-accent-fg";function Nd({label:e,description:t,indeterminate:n=!1,checked:s,onChange:r,className:o,...i}){const c=l.useRef(null);l.useEffect(()=>{c.current&&(c.current.indeterminate=n)},[n]);const u=a.jsxs("span",{className:"relative inline-flex",children:[a.jsx("input",{ref:c,type:"checkbox",checked:s,onChange:r,className:Ed,...i}),a.jsx(Mn,{className:X(Ar,"hidden peer-checked:block"),"aria-hidden":!0}),a.jsx($u,{className:X(Ar,"hidden peer-indeterminate:block"),"aria-hidden":!0})]});return e===void 0&&t===void 0?a.jsx("span",{className:o,children:u}):a.jsxs("label",{className:X("flex min-h-11 cursor-pointer items-center gap-3 text-left",o),children:[u,a.jsxs("span",{className:"flex min-w-0 flex-col",children:[e!==void 0&&a.jsx("span",{className:"text-sm text-fg",children:e}),t!==void 0&&a.jsx("span",{className:"text-xs text-fg-subtle",children:t})]})]})}const jd=({status:e})=>e==="saving"?a.jsx("span",{className:"animate-pulse text-xs text-fg-muted",children:"Saving..."}):e==="saved"?a.jsx("span",{className:"text-xs text-fg-muted",children:"Draft saved"}):e==="error"?a.jsx("span",{className:"text-xs text-danger",children:"Save failed"}):null;function Td({send:e,onSend:t,onBlocked:n,onDiscard:s,saveStatus:r="idle"}){const o=e.status==="sending",i=e.status==="blocked"?e.reason:void 0;return a.jsxs("div",{className:"flex items-center justify-between border-t border-line px-3 py-2",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[a.jsx(ne,{variant:"primary",size:"md","aria-busy":o,title:i,className:"min-h-11 shrink-0 rounded-full px-4","data-testid":"compose-send",icon:o?a.jsx(Os,{className:"size-4 animate-spin"}):a.jsx(tl,{className:"size-4"}),onClick:()=>{if(!o){if(i!==void 0){n(i);return}t()}},children:"Send"}),a.jsx(jd,{status:r})]}),a.jsx(ne,{variant:"ghost",size:"md","aria-busy":o,"aria-label":"Discard",className:"min-h-11 min-w-11 px-2 hover:text-danger",icon:a.jsx(sn,{className:"size-4"}),onClick:()=>{o||s()}})]})}const Rd=["Tab",","],Dr=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim()),Id=e=>{const t=e.trim();if(!t)return;const n=t.match(/^(.+?)\s*<([^>]+)>$/);if(n){const s=n[1].trim(),r=n[2].trim();if(Dr(r))return{email:r,displayName:s}}if(Dr(t))return{email:t}},Md=({label:e,addresses:t,onChange:n,placeholder:s,suggestions:r=[],onQueryChange:o})=>{const[i,c]=l.useState(""),u=l.useRef(null),h=new Set(t.map(b=>b.email.toLowerCase())),m=i.length>=2?r.filter(b=>!h.has(b.email.toLowerCase())):[],f=l.useCallback(b=>{h.has(b.email.toLowerCase())||(n([...t,b]),c(""),o?.(""))},[t,h,n,o]),p=l.useCallback(b=>{n(t.filter((w,E)=>E!==b))},[t,n]),x=l.useCallback(b=>{f(b),u.current?.focus()},[f]),y=l.useCallback(()=>{const b=Id(i);b&&f(b)},[i,f]),d=Aa({count:m.length,acceptKeys:Rd,onAccept:b=>x(m[b])}),g=l.useMemo(()=>m.map(b=>({value:b.email,label:b.displayName??b.email,...b.displayName?{hint:b.email}:{}})),[m]),v=l.useCallback(b=>{if(b.key==="Backspace"&&i===""&&t.length>0){p(t.length-1);return}d.handleKeyDown(b)||(b.key==="Enter"||b.key==="Tab"||b.key===",")&&i.trim()&&(b.preventDefault(),y())},[i,t.length,p,d.handleKeyDown,y]),k=l.useCallback(()=>{setTimeout(()=>{y(),d.dismiss()},150)},[y,d.dismiss]);return a.jsxs("div",{className:"relative",children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsxs("label",{htmlFor:`address-field-${e}`,className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:[e,":"]}),a.jsxs("div",{className:"flex-1 flex flex-wrap items-center gap-1 min-h-[36px] px-2 py-1 border rounded-md bg-canvas cursor-text",onClick:()=>u.current?.focus(),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&u.current?.focus()},children:[t.map((b,w)=>a.jsx(Ku,{email:b.email,displayName:b.displayName,onRemove:()=>p(w)},b.email)),a.jsx("input",{ref:u,id:`address-field-${e}`,type:"text",value:i,onChange:b=>{d.reopen(),c(b.target.value),o?.(b.target.value)},onKeyDown:v,onBlur:k,placeholder:t.length===0?s:"",className:"flex-1 min-w-[120px] bg-transparent outline-none text-sm py-0.5",autoComplete:"off",...d.comboboxProps})]})]}),d.open&&a.jsx(Da,{id:d.listId,suggestions:g,activeIndex:d.activeIndex,optionId:d.optionId,onPick:b=>{const w=m.find(E=>E.email===b.value);w&&x(w)},onHighlight:d.setActiveIndex,label:`${e} suggestions`,className:"absolute left-12 right-0 z-50 mt-1 max-h-[200px] shadow-lg"})]})},Ad=()=>a.jsxs("div",{"aria-hidden":"true","data-testid":"compose-body-skeleton",className:"min-h-[120px] px-3 py-2",children:[a.jsx("div",{className:"mb-2 h-8 animate-pulse rounded bg-surface-sunken"}),a.jsx("div",{className:"min-h-[80px] animate-pulse rounded bg-surface-sunken/50"})]});function Dd({banner:e,header:t,children:n,quoted:s,actionBar:r}){return a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[e,t,a.jsxs("div",{className:"flex min-h-0 flex-1 flex-col overflow-auto","data-testid":"compose-body-area",children:[n,s&&a.jsx("div",{className:"shrink-0 px-3 pb-2",children:s})]}),r]})}const Jn=({label:e,onClick:t})=>a.jsx("button",{type:"button",onClick:t,className:"text-xs text-fg-muted hover:text-fg transition-colors",children:e}),Pd=({to:e,cc:t,bcc:n,subject:s})=>{const r=[];return e.length>0&&r.push(`To: ${e.map(o=>o.displayName??o.email).join(", ")}`),t.length>0&&r.push(`Cc: ${t.length}`),n.length>0&&r.push(`Bcc: ${n.length}`),s&&r.push(s),r.join(" · ")},Ld=({collapsed:e=!1,summary:t="",onExpand:n,from:s,to:r,cc:o,bcc:i,subject:c,onShowCc:u,onShowBcc:h})=>e?a.jsxs("button",{type:"button",onClick:n,"aria-label":"Show recipients and subject",className:"flex min-h-11 w-full items-center gap-2 overflow-hidden border-b border-line px-3 py-1.5 text-left transition-colors hover:bg-surface-sunken","data-testid":"compose-header-collapsed",children:[a.jsx("span",{className:"truncate text-xs text-fg-muted",children:t||"…"}),a.jsx(bt,{className:"ml-auto size-4 shrink-0 text-fg-muted","aria-hidden":"true"})]}):a.jsxs("div",{className:"space-y-1 px-3 py-2 border-b border-line",children:[s,r,o??a.jsxs("div",{className:"flex gap-2 pl-14",children:[a.jsx(Jn,{label:"Cc",onClick:u}),a.jsx(Jn,{label:"Bcc",onClick:h})]}),o&&!i&&a.jsx("div",{className:"pl-14",children:a.jsx(Jn,{label:"Bcc",onClick:h})}),i,c]}),Ss="This account can't send mail until SMTP is configured.",Od=({onConfigure:e,configureRef:t})=>a.jsxs("div",{role:"alert","data-testid":"compose-smtp-missing-banner",className:"flex items-start gap-3 border-b border-warning/50 bg-warning/10 px-3 py-2",children:[a.jsx(nl,{className:"size-5 shrink-0 mt-0.5 text-warning","aria-hidden":"true"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-sm font-medium text-warning",children:Ss}),a.jsxs("button",{ref:t,type:"button",onClick:e,"data-testid":"compose-smtp-configure",className:"mt-1 inline-flex items-center gap-1 text-xs font-medium text-warning hover:underline",children:["Configure SMTP",a.jsx(sl,{className:"size-3","aria-hidden":"true"})]})]})]}),$d=({value:e,onChange:t})=>a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"Subj:"}),a.jsx("input",{type:"text",value:e,onChange:n=>t(n.target.value),className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",placeholder:"Subject","data-subject-field":!0})]});function Fd(e){return{id:e.id,fromName:e.sender,fromEmail:e.senderEmail??e.sender,subject:e.subject,snippet:e.snippet,timeLabel:e.date,isRead:!e.unread,starred:e.flagged,...e.mailboxId?{mailboxId:e.mailboxId}:{}}}function _d({result:e,onClick:t,query:n,showFolder:s=!0}){const r=s&&e.folder?rl(e.folder):void 0;return a.jsx("button",{type:"button",onClick:t,className:X("group",Vs({}),"border-b border-line"),children:a.jsx(Qs,{thread:Fd(e),highlightQuery:n,badge:a.jsxs(a.Fragment,{children:[r&&a.jsx(lt,{tone:"neutral",className:"shrink-0",children:r}),e.category&&a.jsx(lt,{tone:e.category.tone??"neutral",className:"shrink-0",children:e.category.label}),e.matchedChunkLabel&&a.jsx(lt,{tone:"neutral",className:"shrink-0",children:`matched: ${e.matchedChunkLabel}`}),e.score!=null&&a.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.score.toFixed(2)})]})})})}const zd=e=>e===1?"result":"results";function Bd({count:e,onScopeToSpam:t}){return a.jsx(Pa,{tone:"info",variant:"soft",className:"items-center justify-between gap-3 rounded-none border-b border-line",children:a.jsxs("div",{className:"flex items-center justify-between gap-3",children:[a.jsxs("p",{className:"min-w-0 text-xs text-fg-muted",children:[a.jsx("span",{className:"font-semibold text-fg tabular-nums",children:e})," ",`${zd(e)} from Spam`]}),a.jsx(ne,{variant:"ghost",size:"sm",onClick:t,className:"shrink-0 text-accent",children:"Go to Spam"})]})})}const Pr=6,Ud={kind:"global"},Kd=e=>e.kind==="folder"&&e.role==="junk",Hd=e=>e.folder?.role==="junk";function jo(e){const t=[],n=[];for(const s of e)Hd(s)?n.push(s):t.push(s);return{kept:t,spam:n}}function To({onClick:e,blockedReason:t}){const n=l.useId(),[s,r]=l.useState(!1);return a.jsxs("div",{className:"border-b border-line px-row-inset py-1.5",children:[a.jsxs("button",{type:"button",onClick:()=>{if(t){r(!0);return}e()},"aria-describedby":t?n:void 0,className:X("flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-left text-xs font-medium transition-colors",t?"text-fg-subtle opacity-55":"text-accent hover:bg-surface-sunken"),children:[a.jsx(al,{className:"size-3.5 shrink-0","aria-hidden":"true"}),a.jsx("span",{children:"Make this a filter"})]}),t&&a.jsx(ol,{id:n,reason:t,nudged:s,className:"px-2 pt-1 text-2xs text-warning"})]})}function Wd({section:e,query:t,onSelectResult:n,showFolder:s}){const[r,o]=l.useState(e.initialCollapsed??!1),[i,c]=l.useState(!1),u=e.results.length>Pr,m=!i&&u?e.results.slice(0,Pr):e.results,f=e.results.length-m.length;return a.jsxs("div",{children:[a.jsxs("button",{type:"button","aria-expanded":!r,onClick:()=>o(p=>!p),className:"sticky top-0 z-10 flex h-section-row w-full items-center gap-1.5 border-b border-line bg-surface-sunken px-row-inset text-left transition-colors hover:bg-surface",children:[a.jsx("span",{className:"flex-1 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e.label}),a.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:e.results.length}),a.jsx(bt,{className:X("size-3 shrink-0 text-fg-subtle transition-transform duration-200",r?"rotate-0":"rotate-180")})]}),!r&&a.jsxs(a.Fragment,{children:[m.map(p=>a.jsx(_d,{result:p,query:t,showFolder:s,onClick:n?()=>n(p):void 0},p.id)),u&&a.jsxs("button",{type:"button",onClick:()=>c(p=>!p),className:"flex w-full items-center justify-center border-b border-line px-row-inset py-1.5 text-2xs font-medium text-accent transition-colors hover:bg-surface",children:[i?"Show less":`Show ${f} more`,!i&&a.jsx(bt,{className:"ml-1 size-3"})]})]})]})}function Ro({value:e,recentSearches:t,onPickRecent:n,sections:s,loading:r,onSelectResult:o,tokens:i,scope:c=Ud,makeFilter:u}){if(!(e.trim().length>0))return t&&t.length>0?a.jsxs("div",{className:"flex flex-col",children:[a.jsx("h3",{className:"px-row-inset pb-1 pt-3 text-2xs font-semibold uppercase tracking-wide text-fg-subtle",children:"Recent searches"}),t.map(w=>a.jsxs("button",{type:"button",onClick:()=>n?.(w),className:"flex w-full items-center gap-2.5 border-b border-line px-row-inset py-2.5 text-left transition-colors hover:bg-surface-sunken",children:[a.jsx(Vc,{className:"size-4 shrink-0 text-fg-subtle"}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-fg-muted",children:w})]},w))]}):a.jsx("p",{className:"px-row-inset py-6 text-center text-sm text-fg-subtle",children:"Search across your mail by sender, subject or words in the message."});const m=i&&i.length>0&&a.jsx(il,{tokens:i}),f=u&&a.jsx(To,{...u});if(r)return a.jsxs("div",{className:"flex flex-col",children:[f,m,a.jsx("div",{className:"flex flex-col gap-3 px-row-inset py-4",children:[0,1,2,3].map(w=>a.jsxs("div",{className:"flex flex-col gap-1.5",children:[a.jsx("div",{className:"h-3 w-1/3 animate-pulse rounded bg-surface-sunken"}),a.jsx("div",{className:"h-3 w-2/3 animate-pulse rounded bg-surface-sunken"}),a.jsx("div",{className:"h-2.5 w-1/2 animate-pulse rounded bg-surface-sunken"})]},w))})]});const p=c.kind==="global",x=Kd(c)||c.kind==="collection",y=p||c.kind==="collection",d=(s??[]).map(w=>{if(x)return{section:w,spam:[]};const{kept:E,spam:j}=jo(w.results);return{section:{...w,results:E},spam:j}}),g=d.map(w=>w.section),v=d.reduce((w,E)=>w+E.spam.length,0),k=c.kind==="global"&&v>0&&c.onScopeToSpam!==void 0?a.jsx(Bd,{count:v,onScopeToSpam:c.onScopeToSpam}):void 0;return g.some(w=>w.results.length>0)?a.jsxs("div",{className:"flex flex-col",children:[f,m,k,g.filter(w=>w.results.length>0).map(w=>a.jsx(Wd,{section:w,query:e,showFolder:y,onSelectResult:o},w.id))]}):a.jsxs("div",{className:"flex flex-col",children:[f,m,k,a.jsxs("div",{className:"px-row-inset py-10 text-center",children:[a.jsxs("p",{className:"text-sm font-medium text-fg",children:["No matches for “",e,"”"]}),a.jsx("p",{className:"mt-1 text-xs text-fg-subtle",children:"Try a different word, or adjust the filters above."})]})]})}function qd({value:e,onChange:t,onClear:n,onCancel:s,filter:r,recentSearches:o,onPickRecent:i,sections:c,loading:u,onSelectResult:h,tokens:m,chips:f,onRemoveChip:p,scope:x,makeFilter:y,suggest:d,suggestList:g}){const v=a.jsx(Ro,{value:e,recentSearches:o,onPickRecent:i,sections:c,loading:u,onSelectResult:h,tokens:m,scope:x,makeFilter:y});return a.jsxs("article",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line bg-surface px-row-inset",children:[a.jsx("div",{className:"min-w-0 flex-1",children:a.jsx(Ka,{value:e,onChange:t,onClear:n,chips:f,onRemoveChip:p,globalFocusKey:!1,showClearButton:!1,suggest:d})}),a.jsx(ne,{variant:"ghost",size:"sm",icon:a.jsx(nn,{className:"size-4"}),onClick:s,"aria-label":"Clear and close search",className:"-mr-1 shrink-0"})]}),g,r&&e.trim().length===0?a.jsx(ll,{children:a.jsx(cl,{...r,children:v})}):a.jsx("div",{className:"flex-1 overflow-y-auto",children:v})]})}const Vd=({text:e,html:t,senderName:n,date:s})=>{const[r,o]=l.useState(!1);if(!e&&!t)return null;const i=[n,s].filter(Boolean).join(" on ");return a.jsxs("div",{className:"mt-2 px-3 pb-2",children:[a.jsxs("button",{type:"button",onClick:()=>o(!r),"aria-expanded":r,className:"flex items-center gap-1 text-xs text-fg-muted hover:text-fg transition-colors",children:[r?a.jsx(bt,{className:"size-3"}):a.jsx(Ds,{className:"size-3"}),i?`${i} wrote:`:"Show quoted text"]}),r&&a.jsx("blockquote",{className:"mt-2 pl-3 border-l-2 border-fg-subtle/30 text-sm text-fg-muted [&_a]:text-accent [&_a]:underline [&_blockquote]:pl-3 [&_blockquote]:border-l-2 [&_blockquote]:border-fg-subtle/30",children:t?a.jsx("div",{dangerouslySetInnerHTML:{__html:t}}):e.split(`
9
+ `).map((c,u)=>a.jsx("p",{className:"min-h-[1.2em]",children:c},u))})]})},Qd={html:"",text:"",formatting:[]},Lr=e=>e.toLocaleString();function Or({selectAll:e,selecting:t,className:n}){return a.jsx(Nd,{className:n,checked:e.checked,indeterminate:e.indeterminate,onChange:e.onChange,label:a.jsx("span",{className:"font-medium text-accent",children:e.checked&&t?"Deselect all":"Select all"})})}function Gd({title:e,count:t,onCancel:n,onDelete:s,onMove:r,onOrganize:o,onJunk:i,onMarkRead:c,navSlot:u,titleMeta:h,searchSlot:m,searchField:f,idleSlot:p,overflowSlot:x,isBusy:y=!1,isCounting:d=!1,selectAll:g,statusLabel:v,progress:k,notice:b}){const w=t>0||d,E=g?.checked?`All ${Lr(t)} loaded selected`:`${Lr(t)} ${t===1?"message":"messages"} selected`,j=[];return i&&!y&&!d&&j.push({key:"junk",label:"Junk",icon:a.jsx(_t,{className:"size-4"}),onSelect:i}),c&&!y&&!d&&j.push({key:"mark-read",label:"Mark read",icon:a.jsx(qs,{className:"size-4"}),onSelect:c}),a.jsxs("header",{"data-selection-bar":"",className:"flex shrink-0 flex-col border-b border-line bg-surface-sunken",children:[a.jsxs("div",{"data-selection-bar-row":"actions",className:"flex h-pane-header items-center gap-1 px-row-inset",children:[w?a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(Ma,{className:"size-5"}),onClick:n,"aria-label":"Cancel selection",className:"-ml-2 shrink-0"}):u,g&&a.jsx(Or,{selectAll:g,selecting:w,className:"hidden shrink-0 pr-2 md:flex"}),w?a.jsx("span",{"data-selection-count":"",className:"min-w-0 flex-1 truncate px-1 text-sm font-medium text-fg",role:"status","aria-live":"polite",children:v??E}):f?a.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:f}):a.jsxs(a.Fragment,{children:[a.jsx("h1",{className:"min-w-0 flex-1 truncate px-1 text-sm font-semibold text-fg",children:e}),h,m]}),w&&!d&&a.jsxs(a.Fragment,{children:[a.jsx(ne,{variant:"ghost",size:"touch",icon:y?a.jsx(Os,{className:"size-5 animate-spin"}):a.jsx(sn,{className:"size-5 text-danger"}),onClick:y?void 0:s,"aria-label":"Move selected messages to Trash","aria-busy":y||void 0,className:"shrink-0"}),!y&&r&&a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(Ls,{className:"size-5"}),onClick:r,"aria-label":"Move selected messages",className:"shrink-0"}),!y&&o&&a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(Dt,{className:"size-5"}),onClick:o,"aria-label":"Organize selected messages",className:"shrink-0"})]}),w&&a.jsx(ko,{triggerLabel:"More actions",items:j,className:"shrink-0",children:!y&&!d&&x})]}),!w&&p,w&&g&&a.jsx("div",{"data-selection-bar-row":"select-all",className:"px-row-inset pb-2 md:hidden",children:a.jsx(Or,{selectAll:g,selecting:w,className:"w-full"})}),k&&a.jsx("div",{className:"px-row-inset pb-2",children:a.jsx(ul,{value:k.value,max:k.max,tone:k.tone})}),b&&a.jsx(Pa,{"data-selection-notice":"",tone:b.tone,variant:"soft",role:"status","aria-live":"polite",className:"mx-row-inset mb-2",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[b.text&&a.jsx("span",{children:b.text}),b.action&&a.jsx(ne,{variant:"ghost",size:"md",onClick:b.action.onClick,className:"-my-1 min-h-11 shrink-0",children:b.action.label})]})})]})}const Gs=[{id:"all",label:"All",tone:"neutral"},{id:"personal",label:"Personal",tone:"accent"},{id:"uncategorized",label:"Unclassified",tone:"neutral"},{id:"transactional",label:"Transactional",tone:"positive"},{id:"newsletter",label:"Newsletter",tone:"neutral"},{id:"marketing",label:"Marketing",tone:"warning"},{id:"social",label:"Social",tone:"warning"},{id:"automated",label:"Automated",tone:"neutral"}],Io={id:"unread",label:"Unread"},Yd={id:"flagged",label:"Starred"},Mo={id:"attachment",label:"Has attachment"};function Xd(e){if(!(e.length<=1))return e.map(t=>({id:t.id,label:t.label,count:t.count,active:t.active}))}function pv(e=[]){return{categories:[...Gs],filters:dl,sources:Xd(e)}}function hv(){return{categories:[...Gs],filters:[Io,Yd,Mo]}}function gv(){return{categories:[...Gs],filters:[Io,Mo]}}const Jd=["p","br","div","h1","h2","h3","h4","h5","h6","strong","b","em","i","u","s","ul","ol","li","blockquote","pre","code","hr","table","thead","tbody","tr","th","td","a","img"],Zd=["href","src","alt","colspan","rowspan","lang","dir"],ef=/^(?:https?:|mailto:)/i,tf=/^(?:https:|data:image\/)/i,nf="max-width:100%;height:auto",sf=e=>{const t=fl();if(!t.isSupported)throw new Error("adopted HTML cannot be sanitized: no DOM is available");return t.addHook("afterSanitizeAttributes",n=>{if(n.tagName==="A"){ef.test(n.getAttribute("href")??"")||n.removeAttribute("href"),e==="quoted"&&(n.setAttribute("target","_blank"),n.setAttribute("rel","noopener noreferrer nofollow"));return}if(n.tagName==="IMG"){if(e==="quoted"){n.remove();return}if(!tf.test(n.getAttribute("src")??"")){n.remove();return}n.setAttribute("style",nf)}}),t},$r=new Map,rf=e=>{const t=$r.get(e);if(t)return t;const n=sf(e);return $r.set(e,n),n},Ao=(e,t)=>rf(t).sanitize(e,{ALLOWED_TAGS:Jd,ALLOWED_ATTR:Zd,ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1}),bv=e=>Ao(e,"outgoing"),af=e=>Ao(e,"quoted"),of=e=>typeof e=="string"&&e.length>0?"rich":"plain",vv=(e,t)=>t.length>0,lf={plain:"Couldn't switch to plain text",rich:"Couldn't switch to rich text"},xv=(e,t,n)=>t.trim()===""||n.trim()!==""?{outcome:"switch"}:{outcome:"blocked",title:lf[e],detail:"The conversion came back empty, so your message is unchanged."};function cf(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function uf(e,t){const n=e.length-t.length-2,s=e.lastIndexOf(".",n);return s===-1?e:e.slice(s+1)}function df(e,t,n){if(n.validHosts!==null){const r=n.validHosts;for(const o of r)if(cf(t,o))return o}let s=0;if(t.startsWith("."))for(;s<t.length&&t[s]===".";)s+=1;return e.length===t.length-s?null:uf(t,e)}const Zn=/[\t\n\r]/g;let ks=!1;function Fr(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function _r(e,t,n){const s=n-t,r=e.charCodeAt(t)|32;if(s===2)return r===119&&(e.charCodeAt(t+1)|32)===115?1:0;if(s===3){const o=e.charCodeAt(t+1)|32,i=e.charCodeAt(t+2)|32;return r===119&&o===115&&i===115||r===102&&o===116&&i===112?1:0}else if(s===4){const o=e.charCodeAt(t+1)|32,i=e.charCodeAt(t+2)|32,c=e.charCodeAt(t+3)|32;return r===104&&o===116&&i===116&&c===112?1:r===102&&o===105&&i===108&&c===101?2:0}else if(s===5)return r===104&&(e.charCodeAt(t+1)|32)===116&&(e.charCodeAt(t+2)|32)===116&&(e.charCodeAt(t+3)|32)===112&&(e.charCodeAt(t+4)|32)===115?1:0;return 0}function Gt(e,t,n=!1){let s=0,r=e.length,o=!1,i=!1;if(ks=!1,!t){if(e.startsWith("data:"))return null;for(;s<e.length&&e.charCodeAt(s)<=32;)s+=1;for(;r>s+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(s)===47&&e.charCodeAt(s+1)===47)s+=2;else{const g=e.indexOf(":/",s);if(g!==-1){const v=_r(e,s,g);if(v===1)for(i=!0,s=g+2;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1;else if(v===2){i=!0,s=g+1;let k=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&k<2;)s+=1,k+=1;if(k<2)return null}else{for(let k=s;k<g;k+=1){const b=e.charCodeAt(k)|32;if(!(b>=97&&b<=122||b>=48&&b<=57||b===46||b===45||b===43)){const w=e.charCodeAt(k);return w===9||w===10||w===13?Gt(e.replace(Zn,""),t,n):null}}if(e.charCodeAt(g+2)===47)s=g+3;else return null}}else if(e.charCodeAt(s)!==91){let v=-1;for(let k=s;k<r;k+=1){const b=e.charCodeAt(k);if(b===9||b===10||b===13)return Gt(e.replace(Zn,""),t,n);if(b===58){v=k;break}if(b===47||b===92||b===63||b===35)break}if(v!==-1){let k=!1;for(let b=v+1;b<r;b+=1){const w=e.charCodeAt(b);if(w===47||w===92||w===63||w===35)break;if(w===64){k=!0;break}}if(!k){let b=!0,w=v+1;for(;w<r;w+=1){const E=e.charCodeAt(w);if(E===47||E===92||E===63||E===35)break;if(E<48||E>57){b=!1;break}}if(w===v+1&&(b=!1),!b){const E=_r(e,s,v);if(E===0){let j=!1;for(let R=v+1;R<r;R+=1){const T=e.charCodeAt(R);if(T===47||T===92||T===63||T===35)break;if(T===58){j=!0;break}}if(!j)return null}else if(i=!0,s=v+1,E===2){let j=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&j<2;)s+=1,j+=1;if(j<2)return null}else for(;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1}}}}}let u=-1,h=-1,m=-1,f=-1,p=!1,x=n,y=s-1,d=-1;if(n&&s<r){const g=e.charCodeAt(s);(!(Fr(g)||g===46||g===95)||g===45)&&(x=!1)}for(let g=s;g<r;g+=1){const v=e.charCodeAt(g);if(v<64)if(v===47||v===35||v===63){r=g;break}else v===58?(f===-1&&(f=g),m=g):v===9||v===10||v===13?p=!0:n&&(v===46?((g-y>64||d===46||d===45)&&(x=!1),y=g):(v<48||v>57)&&(v!==45||d===46)&&(x=!1));else if(i&&v===92){r=g;break}else v===64?(u=g,f=-1):v===93?h=g:v>=65&&v<=90?o=!0:n&&!Fr(v)&&(x=!1);n&&(d=v)}if(p)return Gt(e.replace(Zn,""),t,n);if(u!==-1&&u>=s&&u<r&&(s=u+1),e.charCodeAt(s)===91)return h!==-1?e.slice(s+1,h).toLowerCase():null;if(m!==-1&&m>s&&m<r&&f===m&&(r=m),s>=r)return null;n&&x&&u===-1&&m===-1&&h===-1&&e.charCodeAt(r-1)!==46&&r-s<=255&&r-y-1<=63&&d!==45&&(ks=!0)}for(;r>s+1&&e.charCodeAt(r-1)===46;)r-=1;const c=s!==0||r!==e.length?e.slice(s,r):e;return o?c.toLowerCase():c}function ff(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){const s=e.charCodeAt(n);if(s===46)t+=1;else if(s<48||s>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function mf(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let s=!1;for(;t<n;t+=1){const r=e.charCodeAt(t);if(r===58)s=!0;else if(!(r>=48&&r<=57||r>=97&&r<=102||r>=65&&r<=70))return!1}return s}function pf(e){return mf(e)||ff(e)}function zr(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Br(e){if(e.length>255||e.length===0||!zr(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1;const s=e.length;for(let r=0;r<s;r+=1){const o=e.charCodeAt(r);if(o===46){if(r-t>64||n===46||n===45)return!1;t=r}else if(!(zr(o)||o===45||o===95)||o===45&&n===46)return!1;n=o}return s-t-1<=63&&n!==45}function hf({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,detectSpecialUse:s=!1,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:c=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,detectSpecialUse:s,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:c}}const gf=hf({});function bf(e){return gf}function vf(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function xf(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function yf(e,t,n,s,r){const o=bf();if(typeof e!="string")return r;let i=!1;return o.extractHostname?o.mixedInputs?(i=Br(e),r.hostname=Gt(e,i,o.validateHostname)):r.hostname=Gt(e,!1,o.validateHostname):r.hostname=e,o.detectIp&&r.hostname!==null&&(r.isIp=pf(r.hostname),r.isIp)?r:o.validateHostname&&o.extractHostname&&r.hostname!==null&&!(i&&r.hostname===e)&&!ks&&!Br(r.hostname)?(r.hostname=null,r):(r.hostname===null||(n(r.hostname,o,r),r.publicSuffix===null)||(r.domain=df(r.publicSuffix,r.hostname,o)),r)}const Ur=vf();function wf(e,t){return xf(Ur),yf(e,3,ml,t,Ur).domain}const _n=e=>{const t=new Set,n=[];for(const s of e){const r=s.trim();if(r==="")continue;const o=r.toLowerCase();t.has(o)||(t.add(o),n.push(r))}return n},Sf=e=>{const t=e.lastIndexOf("@");return t>=0?e.slice(t+1):e},Do=e=>wf(Sf(e.trim())),kf=e=>{const t=_n(e);if(t.length<2)return null;let n=null;for(const s of t){const r=Do(s);if(r===null)return null;if(n===null)n=r;else if(n!==r)return null}return n},zn=e=>{const t=kf(e);return t!==null?[{field:"FromDomain",value:t}]:_n(e).map(n=>({field:"From",value:n}))},Cf=e=>{const t=new Map;for(const r of e){const o=r.normalizedEmail.trim().toLowerCase();if(o==="")continue;const i=t.get(o);i?i.count+=1:t.set(o,{sender:r,count:1})}let n,s=0;for(const{sender:r,count:o}of t.values())o<=s||(n=r,s=o);return n},Po=e=>e.displayName?.trim()||e.normalizedEmail,Ef=/^\s*(?:(?:re|aw|fwd?|vs|sv|antw|res|enc|tr)\s*(?:\[\d+\])?\s*:|\[[^\]]{1,32}\])\s*/i,Nf=e=>{let t=e.replace(/\s+/g," ").trim();for(;;){const n=t.replace(Ef,"");if(n===t)return t.trim();t=n}},jf=new Set(["a","an","and","are","as","at","be","by","for","from","has","have","in","is","it","me","my","new","of","on","or","our","the","this","to","was","we","with","you","your"]),Tf=3,es=e=>e.split(" ").filter(t=>t!==""),Kr=e=>e.length===0||e.join(" ").length<Tf?!1:e.some(t=>!jf.has(t.toLowerCase())),Rf=(e,t)=>e.findIndex((n,s)=>t.every((r,o)=>e[s+o]?.toLowerCase()===r.toLowerCase())),If=e=>{const t=e.map(Nf).filter(o=>o!=="");if(t.length===0)return;const[n,...s]=t;if(s.length===0)return Kr(es(n))?n:void 0;const r=es(n);for(let o=r.length;o>0;o-=1)for(let i=0;i+o<=r.length;i+=1){const c=r.slice(i,i+o);if(Kr(c)&&s.every(u=>Rf(es(u),c)>=0))return c.join(" ")}},Mf=(e,t)=>{const n=zn(e);if(_n(e).length===1||n.length===1&&n[0].field==="FromDomain")return n;const s=If(t);return s!==void 0?[{field:"Subject",value:s}]:n},Af=({match:e,sender:t,folder:n})=>{const s=e??t;return s?n?`${s} → ${n}`:e?`Mail matching ${e}`:`Mail from ${s}`:n?`Mail to ${n}`:""},Df=e=>e.clauses.length>0,Pf=e=>({scopedOutFolder:e.scopedOut?.label,droppedFacets:e.droppedFacets.map(t=>t.label),droppedSemantic:e.droppedSemantic}),Lf=({orderedIds:e,isDesktop:t,initialFocusedId:n,initialSelectedIds:s,onExitSelection:r})=>{const[o,i]=l.useState(n),[c,u]=l.useState(),h=l.useCallback(C=>{u(D=>D===C?D:void 0),i(C)},[]),m=ed({initialSelectedIds:s}),{selectedCount:f,toggle:p,clearSelection:x,selectRange:y,setAnchor:d,selectAll:g}=m,v=Gu(f,t),k=l.useRef(null),b=l.useRef(!1),w=l.useCallback(()=>{r?.(),x()},[x,r]),E=l.useMemo(()=>o?e.indexOf(o):-1,[e,o]),j=l.useCallback(C=>{if(C<0||C>=e.length)return;const D=e[C];if(v){p(D);return}k.current=D,b.current=!1,u(D),i(D)},[e,v,p]),R=l.useCallback(()=>{e.length!==0&&j(E<0?0:Math.min(E+1,e.length-1))},[e.length,E,j]),T=l.useCallback(()=>{e.length!==0&&j(E<=0?0:E-1)},[e.length,E,j]),P=l.useCallback(()=>j(0),[j]),F=l.useCallback(()=>j(e.length-1),[j,e.length]),I=l.useCallback(()=>{o&&p(o)},[o,p]),z=l.useCallback((C,D)=>{const N=Qu(D);return N==="range"?(y(e,C,o),!0):N==="toggle"?(p(C),!0):(w(),d(C),!1)},[e,o,y,p,w,d]),A=l.useCallback(C=>{const D=Zu(e,o,C);D!==void 0&&(y(e,D),k.current=D,b.current=!1,u(void 0),i(D))},[e,o,y]),S=l.useCallback(()=>A(-1),[A]),M=l.useCallback(()=>A(1),[A]),O=l.useCallback(()=>{e.length>0&&g(e)},[e,g]);return{focusedMessageId:o,setFocusedMessageId:h,keyboardFocusedMessageId:c,focusIndex:E,pendingDomFocusRef:k,cursorMovedByPointerRef:b,selection:m,isMultiSelectMode:v,exitSelection:w,moveFocusToIndex:j,focusNext:R,focusPrevious:T,focusFirst:P,focusLast:F,toggleFocusedSelection:I,extendRangeUp:S,extendRangeDown:M,selectAllLoaded:O,handleRowSelect:z}};function ct(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function Hr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Of(...e){return t=>{let n=!1;const s=e.map(r=>{const o=Hr(r,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let r=0;r<s.length;r++){const o=s[r];typeof o=="function"?o():Hr(e[r],null)}}}}function xt(...e){return l.useCallback(Of(...e),e)}function $f(e,t=[]){let n=[];function s(o,i){const c=l.createContext(i);c.displayName=o+"Context";const u=n.length;n=[...n,i];const h=f=>{const{scope:p,children:x,...y}=f,d=p?.[e]?.[u]||c,g=l.useMemo(()=>y,Object.values(y));return a.jsx(d.Provider,{value:g,children:x})};h.displayName=o+"Provider";function m(f,p,x={}){const{optional:y=!1}=x,d=p?.[e]?.[u]||c,g=l.useContext(d);if(g)return g;if(i!==void 0)return i;if(!y)throw new Error(`\`${f}\` must be used within \`${o}\``)}return[h,m]}const r=()=>{const o=n.map(i=>l.createContext(i));return function(c){const u=c?.[e]||o;return l.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return r.scopeName=e,[s,Ff(r,...t)]}function Ff(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const s=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(o){const i=s.reduce((c,{useScope:u,scopeName:h})=>{const f=u(o)[`__scope${h}`];return{...c,...f}},{});return l.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var Zt=globalThis?.document?l.useLayoutEffect:()=>{},_f=$s[" useInsertionEffect ".trim().toString()]||Zt;function zf({prop:e,defaultProp:t,onChange:n=()=>{},caller:s}){const[r,o,i]=Bf({defaultProp:t,onChange:n}),c=e!==void 0,u=c?e:r;{const m=l.useRef(e!==void 0);l.useEffect(()=>{const f=m.current;f!==c&&console.warn(`${s} is changing from ${f?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=c},[c,s])}const h=l.useCallback(m=>{if(c){const f=Uf(m)?m(e):m;f!==e&&i.current?.(f)}else o(m)},[c,e,o,i]);return[u,h]}function Bf({defaultProp:e,onChange:t}){const[n,s]=l.useState(e),r=l.useRef(n),o=l.useRef(t);return _f(()=>{o.current=t},[t]),l.useEffect(()=>{r.current!==n&&(o.current?.(n),r.current=n)},[n,r]),[n,s,o]}function Uf(e){return typeof e=="function"}function Lo(e){const t=l.forwardRef((n,s)=>{let{children:r,...o}=n,i=null,c=!1;const u=[];Wr(r)&&typeof gn=="function"&&(r=gn(r._payload)),l.Children.forEach(r,p=>{if(Vf(p)){c=!0;const x=p;let y="child"in x.props?x.props.child:x.props.children;Wr(y)&&typeof gn=="function"&&(y=gn(y._payload)),i=Hf(x,y),u.push(i?.props?.children)}else u.push(p)}),i?i=l.cloneElement(i,void 0,u):!c&&l.Children.count(r)===1&&l.isValidElement(r)&&(i=r);const h=i?qf(i):void 0,m=xt(s,h);if(!i){if(r||r===0)throw new Error(c?Xf(e):Yf(e));return r}const f=Wf(o,i.props??{});return i.type!==l.Fragment&&(f.ref=s?m:h),l.cloneElement(i,f)});return t.displayName=`${e}.Slot`,t}var Kf=Symbol.for("radix.slottable"),Hf=(e,t)=>{if("child"in e.props){const n=e.props.child;return l.isValidElement(n)?l.cloneElement(n,void 0,e.props.children(n.props.children)):null}return l.isValidElement(t)?t:null};function Wf(e,t){const n={...t};for(const s in t){const r=e[s],o=t[s];/^on[A-Z]/.test(s)?r&&o?n[s]=(...c)=>{const u=o(...c);return r(...c),u}:r&&(n[s]=r):s==="style"?n[s]={...r,...o}:s==="className"&&(n[s]=[r,o].filter(Boolean).join(" "))}return{...e,...n}}function qf(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Vf(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Kf}var Qf=Symbol.for("react.lazy");function Wr(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Qf&&"_payload"in e&&Gf(e._payload)}function Gf(e){return typeof e=="object"&&e!==null&&"then"in e}var Yf=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Xf=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,gn=$s[" use ".trim().toString()],Jf=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ze=Jf.reduce((e,t)=>{const n=Lo(`Primitive.${t}`),s=l.forwardRef((r,o)=>{const{asChild:i,...c}=r,u=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(u,{...c,ref:o})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function Zf(e,t){e&&Ps.flushSync(()=>e.dispatchEvent(t))}function en(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),l.useMemo(()=>((...n)=>t.current?.(...n)),[])}var em="DismissableLayer",Cs="dismissableLayer.update",tm="dismissableLayer.pointerDownOutside",nm="dismissableLayer.focusOutside",qr,Ys=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Oo=l.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:s=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:c,onDismiss:u,...h}=e,m=l.useContext(Ys),[f,p]=l.useState(null),x=f?.ownerDocument??globalThis?.document,[,y]=l.useState({}),d=xt(t,p),g=Array.from(m.layers),[v]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),k=v?g.indexOf(v):-1,b=f?g.indexOf(f):-1,w=m.layersWithOutsidePointerEventsDisabled.size>0,E=b>=k,j=l.useRef(!1),R=im(I=>{o?.(I),c?.(I),I.defaultPrevented||u?.()},{ownerDocument:x,deferPointerDownOutside:s,isDeferredPointerDownOutsideRef:j,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:l.useCallback(I=>{if(!(I instanceof Node))return!1;const z=[...m.branches].some(A=>A.contains(I));return E&&!z},[m.branches,E])}),T=lm(I=>{if(s&&j.current)return;const z=I.target;[...m.branches].some(S=>S.contains(z))||(i?.(I),c?.(I),I.defaultPrevented||u?.())},x),P=f?b===g.length-1:!1,F=en(I=>{I.key==="Escape"&&(r?.(I),!I.defaultPrevented&&u&&(I.preventDefault(),u()))});return l.useEffect(()=>{if(P)return x.addEventListener("keydown",F,{capture:!0}),()=>x.removeEventListener("keydown",F,{capture:!0})},[x,P,F]),l.useEffect(()=>{if(f)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(qr=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(f)),m.layers.add(f),Vr(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(f),m.layersWithOutsidePointerEventsDisabled.size===0&&(x.body.style.pointerEvents=qr))}},[f,x,n,m]),l.useEffect(()=>()=>{f&&(m.layers.delete(f),m.layersWithOutsidePointerEventsDisabled.delete(f),Vr())},[f,m]),l.useEffect(()=>{const I=()=>y({});return document.addEventListener(Cs,I),()=>document.removeEventListener(Cs,I)},[]),a.jsx(Ze.div,{...h,ref:d,style:{pointerEvents:w?E?"auto":"none":void 0,...e.style},onFocusCapture:ct(e.onFocusCapture,T.onFocusCapture),onBlurCapture:ct(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:ct(e.onPointerDownCapture,R.onPointerDownCapture)})});Oo.displayName=em;var sm="DismissableLayerBranch",rm=l.forwardRef((e,t)=>{const n=l.useContext(Ys),s=l.useRef(null),r=xt(t,s);return l.useEffect(()=>{const o=s.current;if(o)return n.branches.add(o),()=>{n.branches.delete(o)}},[n.branches]),a.jsx(Ze.div,{...e,ref:r})});rm.displayName=sm;function am(){const e=l.useContext(Ys),[t,n]=l.useState(null);return l.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var om=()=>!0;function im(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:s=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:o,shouldHandlePointerDownOutside:i=om}=t,c=en(e),u=l.useRef(!1),h=l.useRef(!1),m=l.useRef(new Map),f=l.useRef(()=>{});return l.useEffect(()=>{function p(){h.current=!1,r.current=!1,m.current.clear()}function x(){return Array.from(m.current.values()).some(Boolean)}function y(b){if(!h.current)return;const w=b.target;w instanceof Node&&[...o].some(j=>j.contains(w))||m.current.set(b.type,!0),b.type==="click"&&window.setTimeout(()=>{h.current&&f.current()},0)}function d(b){h.current&&m.current.set(b.type,!1)}const g=b=>{if(b.target&&!u.current){let w=function(){n.removeEventListener("click",f.current);const j=x();p(),j||$o(tm,c,E,{discrete:!0})};if(!i(b.target)){n.removeEventListener("click",f.current),p(),u.current=!1;return}const E={originalEvent:b};h.current=!0,r.current=s&&b.button===0,m.current.clear(),!s||b.button!==0?w():(n.removeEventListener("click",f.current),f.current=w,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),p();u.current=!1},v=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const b of v)n.addEventListener(b,y,!0),n.addEventListener(b,d);const k=window.setTimeout(()=>{n.addEventListener("pointerdown",g)},0);return()=>{window.clearTimeout(k),n.removeEventListener("pointerdown",g),n.removeEventListener("click",f.current);for(const b of v)n.removeEventListener(b,y,!0),n.removeEventListener(b,d)}},[n,c,s,r,o,i]),{onPointerDownCapture:()=>u.current=!0}}function lm(e,t=globalThis?.document){const n=en(e),s=l.useRef(!1);return l.useEffect(()=>{const r=o=>{o.target&&!s.current&&$o(nm,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function Vr(){const e=new CustomEvent(Cs);document.dispatchEvent(e)}function $o(e,t,n,{discrete:s}){const r=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),s?Zf(r,o):r.dispatchEvent(o)}var bn=0,Et=null;function cm(){l.useEffect(()=>{Et||(Et={start:Qr(),end:Qr()});const{start:e,end:t}=Et;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),bn++,()=>{bn===1&&(Et?.start.remove(),Et?.end.remove(),Et=null),bn=Math.max(0,bn-1)}},[])}function Qr(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ts="focusScope.autoFocusOnMount",ns="focusScope.autoFocusOnUnmount",Gr={bubbles:!1,cancelable:!0},um="FocusScope",Fo=l.forwardRef((e,t)=>{const{loop:n=!1,trapped:s=!1,onMountAutoFocus:r,onUnmountAutoFocus:o,...i}=e,[c,u]=l.useState(null),h=en(r),m=en(o),f=l.useRef(null),p=xt(t,u),x=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(s){let d=function(b){if(x.paused||!c)return;const w=b.target;c.contains(w)?f.current=w:rt(f.current,{select:!0})},g=function(b){if(x.paused||!c)return;const w=b.relatedTarget;w!==null&&(c.contains(w)||rt(f.current,{select:!0}))},v=function(b){if(document.activeElement===document.body)for(const E of b)E.removedNodes.length>0&&rt(c)};document.addEventListener("focusin",d),document.addEventListener("focusout",g);const k=new MutationObserver(v);return c&&k.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",d),document.removeEventListener("focusout",g),k.disconnect()}}},[s,c,x.paused]),l.useEffect(()=>{if(c){Xr.add(x);const d=document.activeElement;if(!c.contains(d)){const v=new CustomEvent(ts,Gr);c.addEventListener(ts,h),c.dispatchEvent(v),v.defaultPrevented||(dm(gm(_o(c)),{select:!0}),document.activeElement===d&&rt(c))}return()=>{c.removeEventListener(ts,h),setTimeout(()=>{const v=new CustomEvent(ns,Gr);c.addEventListener(ns,m),c.dispatchEvent(v),v.defaultPrevented||rt(d??document.body,{select:!0}),c.removeEventListener(ns,m),Xr.remove(x)},0)}}},[c,h,m,x]);const y=l.useCallback(d=>{if(!n&&!s||x.paused)return;const g=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,v=document.activeElement;if(g&&v){const k=d.currentTarget,[b,w]=fm(k);b&&w?!d.shiftKey&&v===w?(d.preventDefault(),n&&rt(b,{select:!0})):d.shiftKey&&v===b&&(d.preventDefault(),n&&rt(w,{select:!0})):v===k&&d.preventDefault()}},[n,s,x.paused]);return a.jsx(Ze.div,{tabIndex:-1,...i,ref:p,onKeyDown:y})});Fo.displayName=um;function dm(e,{select:t=!1}={}){const n=document.activeElement;for(const s of e)if(rt(s,{select:t}),document.activeElement!==n)return}function fm(e){const t=_o(e),n=Yr(t,e),s=Yr(t.reverse(),e);return[n,s]}function _o(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const r=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||r?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Yr(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const s of e)if(!(n?!s.checkVisibility({checkVisibilityCSS:!0}):mm(s,{upTo:t})))return s}function mm(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function pm(e){return e instanceof HTMLInputElement&&"select"in e}function rt(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&pm(e)&&t&&e.select()}}var Xr=hm();function hm(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=Jr(e,t),e.unshift(t)},remove(t){e=Jr(e,t),e[0]?.resume()}}}function Jr(e,t){const n=[...e],s=n.indexOf(t);return s!==-1&&n.splice(s,1),n}function gm(e){return e.filter(t=>t.tagName!=="A")}var bm=$s[" useId ".trim().toString()]||(()=>{}),vm=0;function ss(e){const[t,n]=l.useState(bm());return Zt(()=>{n(s=>s??String(vm++))},[e]),e||(t?`radix-${t}`:"")}var xm="Portal",zo=l.forwardRef((e,t)=>{const{container:n,...s}=e,[r,o]=l.useState(!1);Zt(()=>o(!0),[]);const i=n||r&&globalThis?.document?.body;return i?Ps.createPortal(a.jsx(Ze.div,{...s,ref:t}),i):null});zo.displayName=xm;function ym(e,t){return l.useReducer((n,s)=>t[n][s]??n,e)}var Bn=e=>{const{present:t,children:n}=e,s=wm(t),r=typeof n=="function"?n({present:s.isPresent}):l.Children.only(n),o=Sm(s.ref,km(r));return typeof n=="function"||s.isPresent?l.cloneElement(r,{ref:o}):null};Bn.displayName="Presence";function wm(e){const[t,n]=l.useState(),s=l.useRef(null),r=l.useRef(e),o=l.useRef("none"),i=l.useRef(void 0),c=e?"mounted":"unmounted",[u,h]=ym(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return l.useEffect(()=>{u==="mounted"?(o.current=i.current??qt(s.current),i.current=void 0):o.current="none"},[u]),Zt(()=>{const m=s.current,f=r.current;if(f!==e){const x=o.current,y=qt(m);e?(i.current=y,h("MOUNT")):y==="none"||m?.display==="none"?h("UNMOUNT"):h(f&&x!==y?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,h]),Zt(()=>{if(t){let m;const f=t.ownerDocument.defaultView??window,p=y=>{const g=qt(s.current).includes(CSS.escape(y.animationName));if(y.target===t&&g&&(h("ANIMATION_END"),!r.current)){const v=t.style.animationFillMode;t.style.animationFillMode="forwards",m=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},x=y=>{y.target===t&&(o.current=qt(s.current))};return t.addEventListener("animationstart",x),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{f.clearTimeout(m),t.removeEventListener("animationstart",x),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else h("ANIMATION_END")},[t,h]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:l.useCallback(m=>{if(m){const f=getComputedStyle(m);s.current=f,i.current=qt(f)}else s.current=null;n(m)},[])}}function Zr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Sm(...e){const t=l.useRef(e);return t.current=e,l.useCallback(n=>{const s=t.current;let r=!1;const o=s.map(i=>{const c=Zr(i,n);return!r&&typeof c=="function"&&(r=!0),c});if(r)return()=>{for(let i=0;i<o.length;i++){const c=o[i];typeof c=="function"?c():Zr(s[i],null)}}},[])}function qt(e){return e?.animationName||"none"}function km(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Cm=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Nt=new WeakMap,vn=new WeakMap,xn={},rs=0,Bo=function(e){return e&&(e.host||Bo(e.parentNode))},Em=function(e,t){return t.map(function(n){if(e.contains(n))return n;var s=Bo(n);return s&&e.contains(s)?s:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Nm=function(e,t,n,s){var r=Em(t,Array.isArray(e)?e:[e]);xn[n]||(xn[n]=new WeakMap);var o=xn[n],i=[],c=new Set,u=new Set(r),h=function(f){!f||c.has(f)||(c.add(f),h(f.parentNode))};r.forEach(h);var m=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(p){if(c.has(p))m(p);else try{var x=p.getAttribute(s),y=x!==null&&x!=="false",d=(Nt.get(p)||0)+1,g=(o.get(p)||0)+1;Nt.set(p,d),o.set(p,g),i.push(p),d===1&&y&&vn.set(p,!0),g===1&&p.setAttribute(n,"true"),y||p.setAttribute(s,"true")}catch(v){console.error("aria-hidden: cannot operate on ",p,v)}})};return m(t),c.clear(),rs++,function(){i.forEach(function(f){var p=Nt.get(f)-1,x=o.get(f)-1;Nt.set(f,p),o.set(f,x),p||(vn.has(f)||f.removeAttribute(s),vn.delete(f)),x||f.removeAttribute(n)}),rs--,rs||(Nt=new WeakMap,Nt=new WeakMap,vn=new WeakMap,xn={})}},jm=function(e,t,n){n===void 0&&(n="data-aria-hidden");var s=Array.from(Array.isArray(e)?e:[e]),r=Cm(e);return r?(s.push.apply(s,Array.from(r.querySelectorAll("[aria-live], script"))),Nm(s,r,n,"aria-hidden")):function(){return null}},En="right-scroll-bar-position",Nn="width-before-scroll-bar",Tm="with-scroll-bars-hidden",Rm="--removed-body-scroll-bar-size";function as(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Im(e,t){var n=l.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(s){var r=n.value;r!==s&&(n.value=s,n.callback(s,r))}}}})[0];return n.callback=t,n.facade}var Mm=typeof window<"u"?l.useLayoutEffect:l.useEffect,ea=new WeakMap;function Am(e,t){var n=Im(null,function(s){return e.forEach(function(r){return as(r,s)})});return Mm(function(){var s=ea.get(n);if(s){var r=new Set(s),o=new Set(e),i=n.current;r.forEach(function(c){o.has(c)||as(c,null)}),o.forEach(function(c){r.has(c)||as(c,i)})}ea.set(n,e)},[e]),n}function Dm(e){return e}function Pm(e,t){t===void 0&&(t=Dm);var n=[],s=!1,r={read:function(){if(s)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var i=t(o,s);return n.push(i),function(){n=n.filter(function(c){return c!==i})}},assignSyncMedium:function(o){for(s=!0;n.length;){var i=n;n=[],i.forEach(o)}n={push:function(c){return o(c)},filter:function(){return n}}},assignMedium:function(o){s=!0;var i=[];if(n.length){var c=n;n=[],c.forEach(o),i=n}var u=function(){var m=i;i=[],m.forEach(o)},h=function(){return Promise.resolve().then(u)};h(),n={push:function(m){i.push(m),h()},filter:function(m){return i=i.filter(m),n}}}};return r}function Lm(e){e===void 0&&(e={});var t=Pm(null);return t.options=at({async:!0,ssr:!1},e),t}var Uo=function(e){var t=e.sideCar,n=La(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var s=t.read();if(!s)throw new Error("Sidecar medium not found");return l.createElement(s,at({},n))};Uo.isSideCarExport=!0;function Om(e,t){return e.useMedium(t),Uo}var Ko=Lm(),os=function(){},Un=l.forwardRef(function(e,t){var n=l.useRef(null),s=l.useState({onScrollCapture:os,onWheelCapture:os,onTouchMoveCapture:os}),r=s[0],o=s[1],i=e.forwardProps,c=e.children,u=e.className,h=e.removeScrollBar,m=e.enabled,f=e.shards,p=e.sideCar,x=e.noRelative,y=e.noIsolation,d=e.inert,g=e.allowPinchZoom,v=e.as,k=v===void 0?"div":v,b=e.gapMode,w=La(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),E=p,j=Am([n,t]),R=at(at({},w),r);return l.createElement(l.Fragment,null,m&&l.createElement(E,{sideCar:Ko,removeScrollBar:h,shards:f,noRelative:x,noIsolation:y,inert:d,setCallbacks:o,allowPinchZoom:!!g,lockRef:n,gapMode:b}),i?l.cloneElement(l.Children.only(c),at(at({},R),{ref:j})):l.createElement(k,at({},R,{className:u,ref:j}),c))});Un.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Un.classNames={fullWidth:Nn,zeroRight:En};var $m=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Fm(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=$m();return t&&e.setAttribute("nonce",t),e}function _m(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function zm(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Bm=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Fm())&&(_m(t,n),zm(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Um=function(){var e=Bm();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Ho=function(){var e=Um(),t=function(n){var s=n.styles,r=n.dynamic;return e(s,r),null};return t},Km={left:0,top:0,right:0,gap:0},is=function(e){return parseInt(e||"",10)||0},Hm=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],s=t[e==="padding"?"paddingTop":"marginTop"],r=t[e==="padding"?"paddingRight":"marginRight"];return[is(n),is(s),is(r)]},Wm=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Km;var t=Hm(e),n=document.documentElement.clientWidth,s=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,s-n+t[2]-t[0])}},qm=Ho(),At="data-scroll-locked",Vm=function(e,t,n,s){var r=e.left,o=e.top,i=e.right,c=e.gap;return n===void 0&&(n="margin"),`
10
10
  .`.concat(Tm,` {
11
11
  overflow: hidden `).concat(s,`;
12
12
  padding-right: `).concat(c,"px ").concat(s,`;
@@ -43,10 +43,10 @@ import{ac as $,bO as qi,r as l,c as Ae,j as a,C as bt,d as Ds,X as nn,b as X,B a
43
43
  body[`).concat(At,`] {
44
44
  `).concat(Rm,": ").concat(c,`px;
45
45
  }
46
- `)},ta=function(){var e=parseInt(document.body.getAttribute(At)||"0",10);return isFinite(e)?e:0},Qm=function(){l.useEffect(function(){return document.body.setAttribute(At,(ta()+1).toString()),function(){var e=ta()-1;e<=0?document.body.removeAttribute(At):document.body.setAttribute(At,e.toString())}},[])},Gm=function(e){var t=e.noRelative,n=e.noImportant,s=e.gapMode,r=s===void 0?"margin":s;Qm();var o=l.useMemo(function(){return Wm(r)},[r]);return l.createElement(qm,{styles:Vm(o,!t,r,n?"":"!important")})},Es=!1;if(typeof window<"u")try{var yn=Object.defineProperty({},"passive",{get:function(){return Es=!0,!0}});window.addEventListener("test",yn,yn),window.removeEventListener("test",yn,yn)}catch{Es=!1}var jt=Es?{passive:!1}:!1,Ym=function(e){return e.tagName==="TEXTAREA"},Uo=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Ym(e)&&n[t]==="visible")},Xm=function(e){return Uo(e,"overflowY")},Jm=function(e){return Uo(e,"overflowX")},na=function(e,t){var n=t.ownerDocument,s=t;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var r=Ko(e,s);if(r){var o=Ho(e,s),i=o[1],c=o[2];if(i>c)return!0}s=s.parentNode}while(s&&s!==n.body);return!1},Zm=function(e){var t=e.scrollTop,n=e.scrollHeight,s=e.clientHeight;return[t,n,s]},ep=function(e){var t=e.scrollLeft,n=e.scrollWidth,s=e.clientWidth;return[t,n,s]},Ko=function(e,t){return e==="v"?Xm(t):Jm(t)},Ho=function(e,t){return e==="v"?Zm(t):ep(t)},tp=function(e,t){return e==="h"&&t==="rtl"?-1:1},np=function(e,t,n,s,r){var o=tp(e,window.getComputedStyle(t).direction),i=o*s,c=n.target,u=t.contains(c),h=!1,m=i>0,f=0,p=0;do{if(!c)break;var v=Ho(e,c),y=v[0],d=v[1],g=v[2],x=d-g-o*y;(y||x)&&Ko(e,c)&&(f+=x,p+=y);var k=c.parentNode;c=k&&k.nodeType===Node.DOCUMENT_FRAGMENT_NODE?k.host:k}while(!u&&c!==document.body||u&&(t.contains(c)||t===c));return(m&&Math.abs(f)<1||!m&&Math.abs(p)<1)&&(h=!0),h},wn=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},sa=function(e){return[e.deltaX,e.deltaY]},ra=function(e){return e&&"current"in e?e.current:e},sp=function(e,t){return e[0]===t[0]&&e[1]===t[1]},rp=function(e){return`
46
+ `)},ta=function(){var e=parseInt(document.body.getAttribute(At)||"0",10);return isFinite(e)?e:0},Qm=function(){l.useEffect(function(){return document.body.setAttribute(At,(ta()+1).toString()),function(){var e=ta()-1;e<=0?document.body.removeAttribute(At):document.body.setAttribute(At,e.toString())}},[])},Gm=function(e){var t=e.noRelative,n=e.noImportant,s=e.gapMode,r=s===void 0?"margin":s;Qm();var o=l.useMemo(function(){return Wm(r)},[r]);return l.createElement(qm,{styles:Vm(o,!t,r,n?"":"!important")})},Es=!1;if(typeof window<"u")try{var yn=Object.defineProperty({},"passive",{get:function(){return Es=!0,!0}});window.addEventListener("test",yn,yn),window.removeEventListener("test",yn,yn)}catch{Es=!1}var jt=Es?{passive:!1}:!1,Ym=function(e){return e.tagName==="TEXTAREA"},Wo=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Ym(e)&&n[t]==="visible")},Xm=function(e){return Wo(e,"overflowY")},Jm=function(e){return Wo(e,"overflowX")},na=function(e,t){var n=t.ownerDocument,s=t;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var r=qo(e,s);if(r){var o=Vo(e,s),i=o[1],c=o[2];if(i>c)return!0}s=s.parentNode}while(s&&s!==n.body);return!1},Zm=function(e){var t=e.scrollTop,n=e.scrollHeight,s=e.clientHeight;return[t,n,s]},ep=function(e){var t=e.scrollLeft,n=e.scrollWidth,s=e.clientWidth;return[t,n,s]},qo=function(e,t){return e==="v"?Xm(t):Jm(t)},Vo=function(e,t){return e==="v"?Zm(t):ep(t)},tp=function(e,t){return e==="h"&&t==="rtl"?-1:1},np=function(e,t,n,s,r){var o=tp(e,window.getComputedStyle(t).direction),i=o*s,c=n.target,u=t.contains(c),h=!1,m=i>0,f=0,p=0;do{if(!c)break;var x=Vo(e,c),y=x[0],d=x[1],g=x[2],v=d-g-o*y;(y||v)&&qo(e,c)&&(f+=v,p+=y);var k=c.parentNode;c=k&&k.nodeType===Node.DOCUMENT_FRAGMENT_NODE?k.host:k}while(!u&&c!==document.body||u&&(t.contains(c)||t===c));return(m&&Math.abs(f)<1||!m&&Math.abs(p)<1)&&(h=!0),h},wn=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},sa=function(e){return[e.deltaX,e.deltaY]},ra=function(e){return e&&"current"in e?e.current:e},sp=function(e,t){return e[0]===t[0]&&e[1]===t[1]},rp=function(e){return`
47
47
  .block-interactivity-`.concat(e,` {pointer-events: none;}
48
48
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
49
- `)},ap=0,Tt=[];function op(e){var t=l.useRef([]),n=l.useRef([0,0]),s=l.useRef(),r=l.useState(ap++)[0],o=l.useState(Bo)[0],i=l.useRef(e);l.useEffect(function(){i.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var d=dl([e.lockRef.current],(e.shards||[]).map(ra),!0).filter(Boolean);return d.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),d.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var c=l.useCallback(function(d,g){if("touches"in d&&d.touches.length===2||d.type==="wheel"&&d.ctrlKey)return!i.current.allowPinchZoom;var x=wn(d),k=n.current,b="deltaX"in d?d.deltaX:k[0]-x[0],w="deltaY"in d?d.deltaY:k[1]-x[1],E,j=d.target,R=Math.abs(b)>Math.abs(w)?"h":"v";if("touches"in d&&R==="h"&&j.type==="range")return!1;var T=window.getSelection(),P=T&&T.anchorNode,F=P?P===j||P.contains(j):!1;if(F)return!1;var I=na(R,j);if(!I)return!0;if(I?E=R:(E=R==="v"?"h":"v",I=na(R,j)),!I)return!1;if(!s.current&&"changedTouches"in d&&(b||w)&&(s.current=E),!E)return!0;var z=s.current||E;return np(z,g,d,z==="h"?b:w)},[]),u=l.useCallback(function(d){var g=d;if(!(!Tt.length||Tt[Tt.length-1]!==o)){var x="deltaY"in g?sa(g):wn(g),k=t.current.filter(function(E){return E.name===g.type&&(E.target===g.target||g.target===E.shadowParent)&&sp(E.delta,x)})[0];if(k&&k.should){g.cancelable&&g.preventDefault();return}if(!k){var b=(i.current.shards||[]).map(ra).filter(Boolean).filter(function(E){return E.contains(g.target)}),w=b.length>0?c(g,b[0]):!i.current.noIsolation;w&&g.cancelable&&g.preventDefault()}}},[]),h=l.useCallback(function(d,g,x,k){var b={name:d,delta:g,target:x,should:k,shadowParent:ip(x)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(w){return w!==b})},1)},[]),m=l.useCallback(function(d){n.current=wn(d),s.current=void 0},[]),f=l.useCallback(function(d){h(d.type,sa(d),d.target,c(d,e.lockRef.current))},[]),p=l.useCallback(function(d){h(d.type,wn(d),d.target,c(d,e.lockRef.current))},[]);l.useEffect(function(){return Tt.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,jt),document.addEventListener("touchmove",u,jt),document.addEventListener("touchstart",m,jt),function(){Tt=Tt.filter(function(d){return d!==o}),document.removeEventListener("wheel",u,jt),document.removeEventListener("touchmove",u,jt),document.removeEventListener("touchstart",m,jt)}},[]);var v=e.removeScrollBar,y=e.inert;return l.createElement(l.Fragment,null,y?l.createElement(o,{styles:rp(r)}):null,v?l.createElement(Gm,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ip(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const lp=Om(zo,op);var Wo=l.forwardRef(function(e,t){return l.createElement(Un,at({},e,{ref:t,sideCar:lp}))});Wo.classNames=Un.classNames;function cp(e,t){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if("shouldBlockFn"in e)return e;if(typeof e=="function")return{shouldBlockFn:async()=>await e(),enableBeforeUnload:!0,withResolver:!1};const n=!!(e.condition??!0),s=e.blockerFn;return{shouldBlockFn:async()=>n&&s!==void 0?await s():n,enableBeforeUnload:n,withResolver:s===void 0}}function up(e,t){const{shouldBlockFn:n,enableBeforeUnload:s=!0,disabled:r=!1,withResolver:o=!1}=cp(e),i=fl(),{history:c}=i,[u,h]=l.useState({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return l.useEffect(()=>{const m=async f=>{function p(x){const k=i.parseLocation(x),b=i.getMatchedRoutes(k.pathname);return b.foundRoute===void 0?{routeId:"__notFound__",fullPath:k.pathname,pathname:k.pathname,params:b.routeParams,search:i.options.parseSearch(x.search)}:{routeId:b.foundRoute.id,fullPath:b.foundRoute.fullPath,pathname:k.pathname,params:b.routeParams,search:i.options.parseSearch(x.search)}}const v=p(f.currentLocation),y=p(f.nextLocation);if(v.routeId==="__notFound__"&&y.routeId!=="__notFound__")return!1;const d=await n({action:f.action,current:v,next:y});if(!o)return d;if(!d)return!1;const g=await new Promise(x=>{h({status:"blocked",current:v,next:y,action:f.action,proceed:()=>x(!1),reset:()=>x(!0)})});return h({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),g};return r?void 0:c.block({blockerFn:m,enableBeforeUnload:s})},[n,s,r,o,c,i]),u}function dp(){const e=kt({from:"/mail/brief/$threadId",shouldThrow:!1}),t=kt({from:"/mail/brief/$threadId/$messageId",shouldThrow:!1}),n=kt({from:"/mail/flagged/$threadId",shouldThrow:!1}),s=kt({from:"/mail/flagged/$threadId/$messageId",shouldThrow:!1}),r=kt({from:"/mail/$mailboxId/$threadId",shouldThrow:!1}),o=kt({from:"/mail/$mailboxId/$threadId/$messageId",shouldThrow:!1}),i=e?.threadId??n?.threadId??r?.threadId,c=t?.messageId??s?.messageId??o?.messageId;return l.useMemo(()=>i?{threadId:i,messageId:c}:void 0,[i,c])}const fp=e=>e.then(()=>{},()=>{}),mp=({outboxMessageId:e,onDraftCreated:t})=>{const[n,s]=l.useState("idle"),[r,o]=l.useState(null),i=l.useRef(void 0),c=l.useRef(new Set),u=De(),h=l.useRef(e),m=l.useRef(e);h.current!==e&&(h.current=e,m.current=e);const f=Me(ml()),p=Me(pl()),v=l.useCallback(async b=>{s("saving"),o(null);const w=m.current;if(w){const j=await p.mutateAsync({path:{outboxMessageId:w},body:{toAddresses:b.toAddresses,ccAddresses:b.ccAddresses,bccAddresses:b.bccAddresses,subject:b.subject,textBody:b.textBody,htmlBody:b.htmlBody,inReplyTo:b.inReplyTo,references:b.references}});return s("saved"),j}const E=await f.mutateAsync({body:{...b,sendImmediately:!1}});return m.current=E.outboxMessageId,t(E.outboxMessageId),s("saved"),u.invalidateQueries({queryKey:hl().queryKey}),E},[f,p,t,u]),y=l.useRef(Promise.resolve()),d=l.useCallback(b=>{const w=y.current.then(()=>v(b));return y.current=fp(w),w},[v]),g=l.useCallback(b=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{const w=m.current;w&&c.current.has(w)||d(b).catch(E=>{o(E),s("error")})},2e3)},[d]),x=l.useCallback(b=>(i.current&&clearTimeout(i.current),d(b).then(w=>({outcome:"saved",outboxMessageId:w.outboxMessageId})).catch(w=>(s("error"),{outcome:"failed",error:w}))),[d]),k=l.useCallback(b=>{i.current&&clearTimeout(i.current),b&&c.current.add(b)},[]);return{saveStatus:n,saveError:r,saveDraft:g,saveImmediately:x,stopAutoSave:k}},ls=({label:e,addresses:t,onChange:n,placeholder:s})=>{const[r,o]=l.useState(""),i=Us(r,200),{data:c}=me({...An({query:{q:i,limit:8}}),enabled:i.length>=2}),u=l.useMemo(()=>(c?.items??[]).map(h=>({email:h.normalizedEmail,displayName:h.displayName})),[c]);return a.jsx(Md,{label:e,addresses:t,onChange:n,placeholder:s,suggestions:u,onQueryChange:o})},pp=({accountId:e,configureRef:t})=>{const n=Fs();return a.jsx(Od,{configureRef:t,onConfigure:()=>{n({to:"/settings/accounts",search:{editAccountId:e,focusSmtp:!0}})}})},aa=150,hp=()=>{const[e,t]=l.useState(()=>{if(typeof window>"u"||!window.visualViewport)return{viewportHeight:0,isKeyboardOpen:!1};const n=window.visualViewport.height;return{viewportHeight:n,isKeyboardOpen:window.innerHeight-n>aa}});return l.useEffect(()=>{if(typeof window>"u"||!window.visualViewport)return;const n=window.visualViewport,s=()=>{const r=n.height;t({viewportHeight:r,isKeyboardOpen:window.innerHeight-r>aa})};return s(),n.addEventListener("resize",s),()=>n.removeEventListener("resize",s)},[]),e},gp=({selectedAccountId:e,onSelect:t})=>{const{data:n}=me({...Ot(),staleTime:1/0}),s=n?.accounts??[];if(l.useEffect(()=>{!e&&s.length===1&&s[0]&&t(s[0])},[e,s,t]),s.length<=1){const r=s[0];return r?a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),a.jsx("div",{className:"text-sm py-1.5",children:r.email})]}):null}return a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("label",{htmlFor:"from-account-selector",className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),a.jsx("select",{id:"from-account-selector",value:e??"",onChange:r=>{const o=s.find(i=>i.accountId===r.target.value);o&&t(o)},className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",children:s.map(r=>a.jsx("option",{value:r.accountId,children:r.email},r.accountId))})]})},bp=l.lazy(()=>kl(()=>import("./rich-text-6u8XzJZ0.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])).then(e=>({default:e.ComposeBody}))),xp=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),vp=e=>e.split(`
50
- `).map(t=>`<p>${xp(t)}</p>`).join(""),oa=e=>e?`<p></p><p>-- </p>${vp(e)}`:"",yp=e=>e?/^re:\s/i.test(e)?e:`Re: ${e}`:"Re: ",wp=e=>e?/^fwd?:\s/i.test(e)?e:`Fwd: ${e}`:"Fwd: ",Sp=(e,t,n)=>{const{envelope:s}=e,o=(s.replyTo.length>0?s.replyTo:s.from).map(h=>({email:h.normalizedEmail,displayName:h.displayName}));if(t!=="reply_all")return{to:o,cc:[]};const i=n?.toLowerCase(),c=new Set(o.map(h=>h.email.toLowerCase())),u=[...s.to,...s.cc].filter(h=>h.normalizedEmail.toLowerCase()!==i&&!c.has(h.normalizedEmail.toLowerCase())).map(h=>({email:h.normalizedEmail,displayName:h.displayName}));return{to:o,cc:u}},kp=e=>{const t=e.envelope.messageIdValue,s=[...e.references.filter(r=>r.referenceType==="references").sort((r,o)=>r.referenceOrder-o.referenceOrder).map(r=>r.messageIdValue)];return t&&!s.includes(t)&&s.push(t),{inReplyTo:t,references:s}},ia=(e,t,n)=>({textBody:t.text||void 0,htmlBody:e==="plain"?"":t.html?Sl(t.html,n):void 0}),Cp=(e,t,n,s,r)=>e.length===0&&t.length===0&&n.length===0&&s.trim()===""&&r.text.trim()==="",Ep=({documentGeneration:e,selectedAccountId:t,onAccountChange:n,toAddresses:s,setToAddresses:r,ccAddresses:o,setCcAddresses:i,bccAddresses:c,setBccAddresses:u,showCc:h,setShowCc:m,showBcc:f,setShowBcc:p,subject:v,setSubject:y})=>{const d=Ln(),{isKeyboardOpen:g}=hp(),[x,k]=l.useState(void 0),b=x===e;return a.jsx(Ld,{collapsed:!d&&g&&!b,onExpand:()=>k(e),summary:Pd({to:s,cc:o,bcc:c,subject:v}),from:a.jsx(gp,{selectedAccountId:t,onSelect:n}),to:a.jsx(ls,{label:"To",addresses:s,onChange:r,placeholder:"Recipients"}),cc:h?a.jsx(ls,{label:"Cc",addresses:o,onChange:i}):void 0,bcc:f?a.jsx(ls,{label:"Bcc",addresses:c,onChange:u}):void 0,subject:a.jsx($d,{value:v,onChange:y}),onShowCc:()=>m(!0),onShowBcc:()=>p(!0)})},Np=({mode:e,account:t,sourceMessage:n,onClose:s,onAccountChange:r})=>{const{state:o,setOutboxMessageId:i,startSendPolling:c}=gl(),{pushError:u}=Ye(),{outboxMessageId:h}=o,[m,f]=l.useState([]),[p,v]=l.useState([]),[y,d]=l.useState([]),[g,x]=l.useState(""),[k,b]=l.useState(!1),[w,E]=l.useState(!1),[j,R]=l.useState(t?.accountId),[T,P]=l.useState(!1),F=l.useRef(null),I=l.useRef(h);l.useEffect(()=>{const ee=I.current;ee!==h&&(I.current=h,!(!h||ee===void 0)&&(f([]),v([]),d([]),x(""),b(!1),E(!1),O(""),D(""),V("rich"),de(void 0),ge(Qd),S(we=>we+1),P(!1)))},[h]);const{signature:z}=Ac(j),[A,S]=l.useState(0),[M,O]=l.useState(()=>oa(z.plainText)),[C,D]=l.useState(z.plainText),[N,V]=l.useState("rich"),[W,ne]=l.useState("en"),[se,de]=l.useState(),[re,ge]=l.useState(()=>({html:oa(z.plainText),text:z.plainText,formatting:[]})),{data:q}=me({...bl({path:{outboxMessageId:h??""}}),enabled:!!h&&!T});l.useEffect(()=>{if(!q||T)return;f(q.toAddresses.map(_=>({email:_,displayName:void 0}))),q.ccAddresses&&q.ccAddresses.length>0&&(v(q.ccAddresses.map(_=>({email:_,displayName:void 0}))),b(!0)),q.bccAddresses&&q.bccAddresses.length>0&&(d(q.bccAddresses.map(_=>({email:_,displayName:void 0}))),E(!0)),q.subject&&x(q.subject);const ee=xl(q.htmlBody??""),we=ee.html,pe=q.textBody??"";V(of(q.htmlBody)),de(ee.language??void 0),O(we),D(pe),ge({html:we,text:pe,formatting:[]}),S(_=>_+1),R(q.accountId),P(!0)},[q,T]),l.useEffect(()=>{if(n){if(e==="reply"||e==="reply_all"){const{to:ee,cc:we}=Sp(n,e,t?.email);f(ee),v(we),we.length>0&&b(!0),x(yp(n.envelope.subject))}e==="forward"&&x(wp(n.envelope.subject))}},[e,n,t?.email]);const ve=e==="reply"||e==="reply_all"||e==="forward",{data:J}=Ec({messageId:n?.message.messageId,bodyParts:n?.bodyParts,enabled:ve&&!!n}),ke=J?.kind==="text"?J.body:"",be=J?.kind==="html"?af(J.body):void 0,Te=n?.envelope.from[0]?.displayName??n?.envelope.from[0]?.normalizedEmail,Ce=l.useCallback(ee=>{P(!0),i(ee)},[i]),{saveStatus:U,saveError:ye,saveDraft:Ne,saveImmediately:Pe,stopAutoSave:Q}=mp({outboxMessageId:h,onDraftCreated:Ce});l.useEffect(()=>{ye&&u({title:"Couldn't save draft",detail:Ve(ye)??"Saving the draft failed.",error:ye})},[ye,u]);const Z=Me(vl()),ae=Me({...yl(),onError:ee=>{u(bs("Couldn't discard draft","The draft wasn't discarded.",ee))}}),{data:$e}=me({...Ot(),staleTime:1/0}),Fe=$e?.accounts.find(ee=>ee.accountId===j),G=Fe?kc(Fe):!1,He=Fe?.composeLanguages,je=l.useMemo(()=>He&&He.length>0?He:wl(navigator.languages),[He]),Le=l.useRef(!1),[ze,_e]=l.useState(!1),le=l.useMemo(()=>ze?{status:"sending"}:j?G?{status:"blocked",reason:Ss}:m.length===0?{status:"blocked",reason:"Add at least one recipient."}:{status:"ready",accountId:j}:{status:"blocked",reason:"Choose an account to send from."},[ze,j,G,m.length]),oe=le;l.useEffect(()=>{if(!j||h&&!T||Cp(m,p,y,g,re))return;const{htmlBody:ee,textBody:we}=ia(N,re,W);Ne({accountId:j,toAddresses:m.map(pe=>pe.email),ccAddresses:p.length>0?p.map(pe=>pe.email):void 0,bccAddresses:y.length>0?y.map(pe=>pe.email):void 0,subject:g||void 0,textBody:we,htmlBody:ee})},[j,h,T,m,p,y,g,re,N,W,Ne]);const Xe=l.useCallback(async ee=>{if(!Le.current){Le.current=!0,_e(!0);try{Q();const we=n&&(e==="reply"||e==="reply_all")?kp(n):{},{htmlBody:pe,textBody:_}=ia(N,re,W),Y=!h,K=await Pe({accountId:ee,toAddresses:m.map(ie=>ie.email),ccAddresses:p.length>0?p.map(ie=>ie.email):void 0,bccAddresses:y.length>0?y.map(ie=>ie.email):void 0,subject:g||void 0,textBody:_,htmlBody:pe,...we});if(K.outcome==="failed"){u({title:"Couldn't send message",detail:Ve(K.error)??"Saving the message failed, so nothing was sent. Try again.",error:K.error});return}const H=K.outboxMessageId;if(await Z.mutateAsync({path:{outboxMessageId:H}}).catch(ie=>(u({title:"Couldn't send message",detail:Ve(ie)??(Y?"The draft was saved but the send request failed. Try again from the Outbox.":"The send request failed. Try again."),error:ie}),null))===null)return;Q(H),c(H),s()}finally{Le.current=!1,_e(!1)}}},[m,p,y,g,re,N,W,e,n,h,Pe,Z,Q,c,u,s]),Be=l.useCallback(()=>{Q(h),h&&ae.mutate({path:{outboxMessageId:h}}),s()},[Q,h,ae,s]),We=l.useCallback(ee=>{u({title:"Can't send yet",detail:ee}),ee===Ss&&F.current?.focus()},[u]),st=l.useCallback(()=>{if(le.status!=="sending"){if(le.status==="blocked"){We(le.reason);return}Xe(le.accountId)}},[le,We,Xe]),Oe=l.useCallback(ee=>{R(ee.accountId),r?.(ee)},[r]);return a.jsx(Dd,{banner:Fe&&G?a.jsx(pp,{accountId:Fe.accountId,configureRef:F}):void 0,header:a.jsx(Ep,{documentGeneration:A,selectedAccountId:j,onAccountChange:Oe,toAddresses:m,setToAddresses:f,ccAddresses:p,setCcAddresses:v,bccAddresses:y,setBccAddresses:d,showCc:k,setShowCc:b,showBcc:w,setShowBcc:E,subject:g,setSubject:x}),quoted:ke||be?a.jsx(Vd,{text:ke,html:be,senderName:Te}):void 0,actionBar:a.jsx(Td,{send:oe,onSend:st,onBlocked:We,onDiscard:Be,saveStatus:U}),children:a.jsx(l.Suspense,{fallback:a.jsx(Ad,{}),children:a.jsx(bp,{mode:N,onModeChange:V,initialHtml:M,initialText:C,onChange:ge,onSubmit:st,initialCaret:e==="new"?"start":void 0,onConversionError:u,languages:je,initialLanguage:se,onLanguageChange:ne},A)})})};var Kn="Dialog",[qo]=$f(Kn),[jp,Qe]=qo(Kn),Vo=e=>{const{__scopeDialog:t,children:n,open:s,defaultOpen:r,onOpenChange:o,modal:i=!0}=e,c=l.useRef(null),u=l.useRef(null),[h,m]=zf({prop:s,defaultProp:r??!1,onChange:o,caller:Kn});return a.jsx(jp,{scope:t,triggerRef:c,contentRef:u,contentId:ss(),titleId:ss(),descriptionId:ss(),open:h,onOpenChange:m,onOpenToggle:l.useCallback(()=>m(f=>!f),[m]),modal:i,children:n})};Vo.displayName=Kn;var Qo="DialogTrigger",Tp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=Qe(Qo,n),o=vt(t,r.triggerRef);return a.jsx(et.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":Js(r.open),...s,ref:o,onClick:ct(e.onClick,r.onOpenToggle)})});Tp.displayName=Qo;var Xs="DialogPortal",[Rp,Go]=qo(Xs,{forceMount:void 0}),Yo=e=>{const{__scopeDialog:t,forceMount:n,children:s,container:r}=e,o=Qe(Xs,t);return a.jsx(Rp,{scope:t,forceMount:n,children:l.Children.map(s,i=>a.jsx(Bn,{present:n||o.open,children:a.jsx($o,{asChild:!0,container:r,children:i})}))})};Yo.displayName=Xs;var Rn="DialogOverlay",Xo=l.forwardRef((e,t)=>{const n=Go(Rn,e.__scopeDialog),{forceMount:s=n.forceMount,...r}=e,o=Qe(Rn,e.__scopeDialog);return o.modal?a.jsx(Bn,{present:s||o.open,children:a.jsx(Mp,{...r,ref:t})}):null});Xo.displayName=Rn;var Ip=Ao("DialogOverlay.RemoveScroll"),Mp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=Qe(Rn,n),o=am(),i=vt(t,o);return a.jsx(Wo,{as:Ip,allowPinchZoom:!0,shards:[r.contentRef],children:a.jsx(et.div,{"data-state":Js(r.open),...s,ref:i,style:{pointerEvents:"auto",...s.style}})})}),Pt="DialogContent",Jo=l.forwardRef((e,t)=>{const n=Go(Pt,e.__scopeDialog),{forceMount:s=n.forceMount,...r}=e,o=Qe(Pt,e.__scopeDialog);return a.jsx(Bn,{present:s||o.open,children:o.modal?a.jsx(Ap,{...r,ref:t}):a.jsx(Dp,{...r,ref:t})})});Jo.displayName=Pt;var Ap=l.forwardRef((e,t)=>{const n=Qe(Pt,e.__scopeDialog),s=l.useRef(null),r=vt(t,n.contentRef,s);return l.useEffect(()=>{const o=s.current;if(o)return jm(o)},[]),a.jsx(Zo,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:ct(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:ct(e.onPointerDownOutside,o=>{const i=o.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&o.preventDefault()}),onFocusOutside:ct(e.onFocusOutside,o=>o.preventDefault())})}),Dp=l.forwardRef((e,t)=>{const n=Qe(Pt,e.__scopeDialog),s=l.useRef(!1),r=l.useRef(!1);return a.jsx(Zo,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(s.current||n.triggerRef.current?.focus(),o.preventDefault()),s.current=!1,r.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(s.current=!0,o.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=o.target;n.triggerRef.current?.contains(i)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&r.current&&o.preventDefault()}})}),Zo=l.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:o,...i}=e,c=Qe(Pt,n);return cm(),a.jsx(a.Fragment,{children:a.jsx(Lo,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:r,onUnmountAutoFocus:o,children:a.jsx(Do,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Js(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),ei="DialogTitle",ti=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=Qe(ei,n);return a.jsx(et.h2,{id:r.titleId,...s,ref:t})});ti.displayName=ei;var ni="DialogDescription",Pp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=Qe(ni,n);return a.jsx(et.p,{id:r.descriptionId,...s,ref:t})});Pp.displayName=ni;var si="DialogClose",Lp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=Qe(si,n);return a.jsx(et.button,{type:"button",...s,ref:t,onClick:ct(e.onClick,()=>r.onOpenChange(!1))})});Lp.displayName=si;function Js(e){return e?"open":"closed"}function Op(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}const ri=$.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),ln=()=>{const e=$.useContext(ri);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};Op(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
49
+ `)},ap=0,Tt=[];function op(e){var t=l.useRef([]),n=l.useRef([0,0]),s=l.useRef(),r=l.useState(ap++)[0],o=l.useState(Ho)[0],i=l.useRef(e);l.useEffect(function(){i.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var d=pl([e.lockRef.current],(e.shards||[]).map(ra),!0).filter(Boolean);return d.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),d.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var c=l.useCallback(function(d,g){if("touches"in d&&d.touches.length===2||d.type==="wheel"&&d.ctrlKey)return!i.current.allowPinchZoom;var v=wn(d),k=n.current,b="deltaX"in d?d.deltaX:k[0]-v[0],w="deltaY"in d?d.deltaY:k[1]-v[1],E,j=d.target,R=Math.abs(b)>Math.abs(w)?"h":"v";if("touches"in d&&R==="h"&&j.type==="range")return!1;var T=window.getSelection(),P=T&&T.anchorNode,F=P?P===j||P.contains(j):!1;if(F)return!1;var I=na(R,j);if(!I)return!0;if(I?E=R:(E=R==="v"?"h":"v",I=na(R,j)),!I)return!1;if(!s.current&&"changedTouches"in d&&(b||w)&&(s.current=E),!E)return!0;var z=s.current||E;return np(z,g,d,z==="h"?b:w)},[]),u=l.useCallback(function(d){var g=d;if(!(!Tt.length||Tt[Tt.length-1]!==o)){var v="deltaY"in g?sa(g):wn(g),k=t.current.filter(function(E){return E.name===g.type&&(E.target===g.target||g.target===E.shadowParent)&&sp(E.delta,v)})[0];if(k&&k.should){g.cancelable&&g.preventDefault();return}if(!k){var b=(i.current.shards||[]).map(ra).filter(Boolean).filter(function(E){return E.contains(g.target)}),w=b.length>0?c(g,b[0]):!i.current.noIsolation;w&&g.cancelable&&g.preventDefault()}}},[]),h=l.useCallback(function(d,g,v,k){var b={name:d,delta:g,target:v,should:k,shadowParent:ip(v)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(w){return w!==b})},1)},[]),m=l.useCallback(function(d){n.current=wn(d),s.current=void 0},[]),f=l.useCallback(function(d){h(d.type,sa(d),d.target,c(d,e.lockRef.current))},[]),p=l.useCallback(function(d){h(d.type,wn(d),d.target,c(d,e.lockRef.current))},[]);l.useEffect(function(){return Tt.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,jt),document.addEventListener("touchmove",u,jt),document.addEventListener("touchstart",m,jt),function(){Tt=Tt.filter(function(d){return d!==o}),document.removeEventListener("wheel",u,jt),document.removeEventListener("touchmove",u,jt),document.removeEventListener("touchstart",m,jt)}},[]);var x=e.removeScrollBar,y=e.inert;return l.createElement(l.Fragment,null,y?l.createElement(o,{styles:rp(r)}):null,x?l.createElement(Gm,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ip(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const lp=Om(Ko,op);var Qo=l.forwardRef(function(e,t){return l.createElement(Un,at({},e,{ref:t,sideCar:lp}))});Qo.classNames=Un.classNames;function cp(e,t){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if("shouldBlockFn"in e)return e;if(typeof e=="function")return{shouldBlockFn:async()=>await e(),enableBeforeUnload:!0,withResolver:!1};const n=!!(e.condition??!0),s=e.blockerFn;return{shouldBlockFn:async()=>n&&s!==void 0?await s():n,enableBeforeUnload:n,withResolver:s===void 0}}function up(e,t){const{shouldBlockFn:n,enableBeforeUnload:s=!0,disabled:r=!1,withResolver:o=!1}=cp(e),i=hl(),{history:c}=i,[u,h]=l.useState({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return l.useEffect(()=>{const m=async f=>{function p(v){const k=i.parseLocation(v),b=i.getMatchedRoutes(k.pathname);return b.foundRoute===void 0?{routeId:"__notFound__",fullPath:k.pathname,pathname:k.pathname,params:b.routeParams,search:i.options.parseSearch(v.search)}:{routeId:b.foundRoute.id,fullPath:b.foundRoute.fullPath,pathname:k.pathname,params:b.routeParams,search:i.options.parseSearch(v.search)}}const x=p(f.currentLocation),y=p(f.nextLocation);if(x.routeId==="__notFound__"&&y.routeId!=="__notFound__")return!1;const d=await n({action:f.action,current:x,next:y});if(!o)return d;if(!d)return!1;const g=await new Promise(v=>{h({status:"blocked",current:x,next:y,action:f.action,proceed:()=>v(!1),reset:()=>v(!0)})});return h({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),g};return r?void 0:c.block({blockerFn:m,enableBeforeUnload:s})},[n,s,r,o,c,i]),u}function dp(){const e=kt({from:"/mail/brief/$threadId",shouldThrow:!1}),t=kt({from:"/mail/brief/$threadId/$messageId",shouldThrow:!1}),n=kt({from:"/mail/flagged/$threadId",shouldThrow:!1}),s=kt({from:"/mail/flagged/$threadId/$messageId",shouldThrow:!1}),r=kt({from:"/mail/$mailboxId/$threadId",shouldThrow:!1}),o=kt({from:"/mail/$mailboxId/$threadId/$messageId",shouldThrow:!1}),i=e?.threadId??n?.threadId??r?.threadId,c=t?.messageId??s?.messageId??o?.messageId;return l.useMemo(()=>i?{threadId:i,messageId:c}:void 0,[i,c])}const fp=e=>e.then(()=>{},()=>{}),mp=({outboxMessageId:e,onDraftCreated:t})=>{const[n,s]=l.useState("idle"),[r,o]=l.useState(null),i=l.useRef(void 0),c=l.useRef(new Set),u=De(),h=l.useRef(e),m=l.useRef(e);h.current!==e&&(h.current=e,m.current=e);const f=Me(gl()),p=Me(bl()),x=l.useCallback(async b=>{s("saving"),o(null);const w=m.current;if(w){const j=await p.mutateAsync({path:{outboxMessageId:w},body:{toAddresses:b.toAddresses,ccAddresses:b.ccAddresses,bccAddresses:b.bccAddresses,subject:b.subject,textBody:b.textBody,htmlBody:b.htmlBody,inReplyTo:b.inReplyTo,references:b.references}});return s("saved"),j}const E=await f.mutateAsync({body:{...b,sendImmediately:!1}});return m.current=E.outboxMessageId,t(E.outboxMessageId),s("saved"),u.invalidateQueries({queryKey:vl().queryKey}),E},[f,p,t,u]),y=l.useRef(Promise.resolve()),d=l.useCallback(b=>{const w=y.current.then(()=>x(b));return y.current=fp(w),w},[x]),g=l.useCallback(b=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{const w=m.current;w&&c.current.has(w)||d(b).catch(E=>{o(E),s("error")})},2e3)},[d]),v=l.useCallback(b=>(i.current&&clearTimeout(i.current),d(b).then(w=>({outcome:"saved",outboxMessageId:w.outboxMessageId})).catch(w=>(s("error"),{outcome:"failed",error:w}))),[d]),k=l.useCallback(b=>{i.current&&clearTimeout(i.current),b&&c.current.add(b)},[]);return{saveStatus:n,saveError:r,saveDraft:g,saveImmediately:v,stopAutoSave:k}},ls=({label:e,addresses:t,onChange:n,placeholder:s})=>{const[r,o]=l.useState(""),i=Us(r,200),{data:c}=me({...An({query:{q:i,limit:8}}),enabled:i.length>=2}),u=l.useMemo(()=>(c?.items??[]).map(h=>({email:h.normalizedEmail,displayName:h.displayName})),[c]);return a.jsx(Md,{label:e,addresses:t,onChange:n,placeholder:s,suggestions:u,onQueryChange:o})},pp=({accountId:e,configureRef:t})=>{const n=Fs();return a.jsx(Od,{configureRef:t,onConfigure:()=>{n({to:"/settings/accounts",search:{editAccountId:e,focusSmtp:!0}})}})},hp={download:"its dictionary could not be downloaded",engine:"the checker could not start",worker:"the checker stopped running"},gp=e=>{const t=`Spellcheck for ${e.language} is off: ${hp[e.reason]}.`;return{severity:"warning",title:"Spellcheck stopped",detail:`${t} Your browser is checking this message instead. ${e.detail}`,action:{label:"Report this",href:$a(Fa({title:`Spellcheck stopped: ${e.reason} (${e.language})`,errorMessage:`${t} ${e.detail}`}))}}},bp=e=>({provider:async t=>{const{openSpellcheckWorker:n}=await Oa(async()=>{const{openSpellcheckWorker:s}=await import("./rich-text-spellcheck-worker-provider-CYQ5Q4f9.js");return{openSpellcheckWorker:s}},__vite__mapDeps([0,1]));return n(t)},onStatus:t=>{t.state==="failed"&&e(gp(t))}}),aa=150,vp=()=>{const[e,t]=l.useState(()=>{if(typeof window>"u"||!window.visualViewport)return{viewportHeight:0,isKeyboardOpen:!1};const n=window.visualViewport.height;return{viewportHeight:n,isKeyboardOpen:window.innerHeight-n>aa}});return l.useEffect(()=>{if(typeof window>"u"||!window.visualViewport)return;const n=window.visualViewport,s=()=>{const r=n.height;t({viewportHeight:r,isKeyboardOpen:window.innerHeight-r>aa})};return s(),n.addEventListener("resize",s),()=>n.removeEventListener("resize",s)},[]),e},xp=({selectedAccountId:e,onSelect:t})=>{const{data:n}=me({...Ot(),staleTime:1/0}),s=n?.accounts??[];if(l.useEffect(()=>{!e&&s.length===1&&s[0]&&t(s[0])},[e,s,t]),s.length<=1){const r=s[0];return r?a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),a.jsx("div",{className:"text-sm py-1.5",children:r.email})]}):null}return a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("label",{htmlFor:"from-account-selector",className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),a.jsx("select",{id:"from-account-selector",value:e??"",onChange:r=>{const o=s.find(i=>i.accountId===r.target.value);o&&t(o)},className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",children:s.map(r=>a.jsx("option",{value:r.accountId,children:r.email},r.accountId))})]})},yp=l.lazy(()=>Oa(()=>import("./rich-text-DmHS1zFG.js"),__vite__mapDeps([2,3,4,5,6,7,8,1,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])).then(e=>({default:e.ComposeBody}))),wp=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),Sp=e=>e.split(`
50
+ `).map(t=>`<p>${wp(t)}</p>`).join(""),oa=e=>e?`<p></p><p>-- </p>${Sp(e)}`:"",kp=e=>e?/^re:\s/i.test(e)?e:`Re: ${e}`:"Re: ",Cp=e=>e?/^fwd?:\s/i.test(e)?e:`Fwd: ${e}`:"Fwd: ",Ep=(e,t,n)=>{const{envelope:s}=e,o=(s.replyTo.length>0?s.replyTo:s.from).map(h=>({email:h.normalizedEmail,displayName:h.displayName}));if(t!=="reply_all")return{to:o,cc:[]};const i=n?.toLowerCase(),c=new Set(o.map(h=>h.email.toLowerCase())),u=[...s.to,...s.cc].filter(h=>h.normalizedEmail.toLowerCase()!==i&&!c.has(h.normalizedEmail.toLowerCase())).map(h=>({email:h.normalizedEmail,displayName:h.displayName}));return{to:o,cc:u}},Np=e=>{const t=e.envelope.messageIdValue,s=[...e.references.filter(r=>r.referenceType==="references").sort((r,o)=>r.referenceOrder-o.referenceOrder).map(r=>r.messageIdValue)];return t&&!s.includes(t)&&s.push(t),{inReplyTo:t,references:s}},ia=(e,t,n)=>({textBody:t.text||void 0,htmlBody:e==="plain"?"":t.html?El(t.html,n):void 0}),jp=(e,t,n,s,r)=>e.length===0&&t.length===0&&n.length===0&&s.trim()===""&&r.text.trim()==="",Tp=({documentGeneration:e,selectedAccountId:t,onAccountChange:n,toAddresses:s,setToAddresses:r,ccAddresses:o,setCcAddresses:i,bccAddresses:c,setBccAddresses:u,showCc:h,setShowCc:m,showBcc:f,setShowBcc:p,subject:x,setSubject:y})=>{const d=Ln(),{isKeyboardOpen:g}=vp(),[v,k]=l.useState(void 0),b=v===e;return a.jsx(Ld,{collapsed:!d&&g&&!b,onExpand:()=>k(e),summary:Pd({to:s,cc:o,bcc:c,subject:x}),from:a.jsx(xp,{selectedAccountId:t,onSelect:n}),to:a.jsx(ls,{label:"To",addresses:s,onChange:r,placeholder:"Recipients"}),cc:h?a.jsx(ls,{label:"Cc",addresses:o,onChange:i}):void 0,bcc:f?a.jsx(ls,{label:"Bcc",addresses:c,onChange:u}):void 0,subject:a.jsx($d,{value:x,onChange:y}),onShowCc:()=>m(!0),onShowBcc:()=>p(!0)})},Rp=({mode:e,account:t,sourceMessage:n,onClose:s,onAccountChange:r})=>{const{state:o,setOutboxMessageId:i,startSendPolling:c}=xl(),{pushError:u}=Qe(),{outboxMessageId:h}=o,[m,f]=l.useState([]),[p,x]=l.useState([]),[y,d]=l.useState([]),[g,v]=l.useState(""),[k,b]=l.useState(!1),[w,E]=l.useState(!1),[j,R]=l.useState(t?.accountId),[T,P]=l.useState(!1),F=l.useRef(null),I=l.useRef(h);l.useEffect(()=>{const te=I.current;te!==h&&(I.current=h,!(!h||te===void 0)&&(f([]),x([]),d([]),v(""),b(!1),E(!1),O(""),D(""),Q("rich"),ue(void 0),ge(Qd),S(fe=>fe+1),P(!1)))},[h]);const{signature:z}=Ac(j),[A,S]=l.useState(0),[M,O]=l.useState(()=>oa(z.plainText)),[C,D]=l.useState(z.plainText),[N,Q]=l.useState("rich"),[q,se]=l.useState("en"),[re,ue]=l.useState(),[ae,ge]=l.useState(()=>({html:oa(z.plainText),text:z.plainText,formatting:[]})),{data:V}=me({...yl({path:{outboxMessageId:h??""}}),enabled:!!h&&!T});l.useEffect(()=>{if(!V||T)return;f(V.toAddresses.map(H=>({email:H,displayName:void 0}))),V.ccAddresses&&V.ccAddresses.length>0&&(x(V.ccAddresses.map(H=>({email:H,displayName:void 0}))),b(!0)),V.bccAddresses&&V.bccAddresses.length>0&&(d(V.bccAddresses.map(H=>({email:H,displayName:void 0}))),E(!0)),V.subject&&v(V.subject);const te=wl(V.htmlBody??""),fe=te.html,_=V.textBody??"";Q(of(V.htmlBody)),ue(te.language??void 0),O(fe),D(_),ge({html:fe,text:_,formatting:[]}),S(H=>H+1),R(V.accountId),P(!0)},[V,T]),l.useEffect(()=>{if(n){if(e==="reply"||e==="reply_all"){const{to:te,cc:fe}=Ep(n,e,t?.email);f(te),x(fe),fe.length>0&&b(!0),v(kp(n.envelope.subject))}e==="forward"&&v(Cp(n.envelope.subject))}},[e,n,t?.email]);const xe=e==="reply"||e==="reply_all"||e==="forward",{data:J}=Ec({messageId:n?.message.messageId,bodyParts:n?.bodyParts,enabled:xe&&!!n}),Se=J?.kind==="text"?J.body:"",be=J?.kind==="html"?af(J.body):void 0,je=n?.envelope.from[0]?.displayName??n?.envelope.from[0]?.normalizedEmail,ke=l.useCallback(te=>{P(!0),i(te)},[i]),{saveStatus:U,saveError:ye,saveDraft:Ee,saveImmediately:Pe,stopAutoSave:G}=mp({outboxMessageId:h,onDraftCreated:ke});l.useEffect(()=>{ye&&u({title:"Couldn't save draft",detail:We(ye)??"Saving the draft failed.",error:ye})},[ye,u]);const Z=Me(Sl()),oe=Me({...kl(),onError:te=>{u(bs("Couldn't discard draft","The draft wasn't discarded.",te))}}),{data:Le}=me({...Ot(),staleTime:1/0}),Oe=Le?.accounts.find(te=>te.accountId===j),Y=Oe?kc(Oe):!1,Ke=Oe?.composeLanguages,Ne=l.useMemo(()=>Ke&&Ke.length>0?Ke:Cl(navigator.languages),[Ke]),ze=l.useMemo(()=>bp(u),[u]),$e=l.useRef(!1),[Fe,pe]=l.useState(!1),ee=l.useMemo(()=>Fe?{status:"sending"}:j?Y?{status:"blocked",reason:Ss}:m.length===0?{status:"blocked",reason:"Add at least one recipient."}:{status:"ready",accountId:j}:{status:"blocked",reason:"Choose an account to send from."},[Fe,j,Y,m.length]),nt=ee;l.useEffect(()=>{if(!j||h&&!T||jp(m,p,y,g,ae))return;const{htmlBody:te,textBody:fe}=ia(N,ae,q);Ee({accountId:j,toAddresses:m.map(_=>_.email),ccAddresses:p.length>0?p.map(_=>_.email):void 0,bccAddresses:y.length>0?y.map(_=>_.email):void 0,subject:g||void 0,textBody:fe,htmlBody:te})},[j,h,T,m,p,y,g,ae,N,q,Ee]);const _e=l.useCallback(async te=>{if(!$e.current){$e.current=!0,pe(!0);try{G();const fe=n&&(e==="reply"||e==="reply_all")?Np(n):{},{htmlBody:_,textBody:H}=ia(N,ae,q),W=!h,K=await Pe({accountId:te,toAddresses:m.map(le=>le.email),ccAddresses:p.length>0?p.map(le=>le.email):void 0,bccAddresses:y.length>0?y.map(le=>le.email):void 0,subject:g||void 0,textBody:H,htmlBody:_,...fe});if(K.outcome==="failed"){u({title:"Couldn't send message",detail:We(K.error)??"Saving the message failed, so nothing was sent. Try again.",error:K.error});return}const ie=K.outboxMessageId;if(await Z.mutateAsync({path:{outboxMessageId:ie}}).catch(le=>(u({title:"Couldn't send message",detail:We(le)??(W?"The draft was saved but the send request failed. Try again from the Outbox.":"The send request failed. Try again."),error:le}),null))===null)return;G(ie),c(ie),s()}finally{$e.current=!1,pe(!1)}}},[m,p,y,g,ae,N,q,e,n,h,Pe,Z,G,c,u,s]),Ge=l.useCallback(()=>{G(h),h&&oe.mutate({path:{outboxMessageId:h}}),s()},[G,h,oe,s]),Ye=l.useCallback(te=>{u({title:"Can't send yet",detail:te}),te===Ss&&F.current?.focus()},[u]),Te=l.useCallback(()=>{if(ee.status!=="sending"){if(ee.status==="blocked"){Ye(ee.reason);return}_e(ee.accountId)}},[ee,Ye,_e]),st=l.useCallback(te=>{R(te.accountId),r?.(te)},[r]);return a.jsx(Dd,{banner:Oe&&Y?a.jsx(pp,{accountId:Oe.accountId,configureRef:F}):void 0,header:a.jsx(Tp,{documentGeneration:A,selectedAccountId:j,onAccountChange:st,toAddresses:m,setToAddresses:f,ccAddresses:p,setCcAddresses:x,bccAddresses:y,setBccAddresses:d,showCc:k,setShowCc:b,showBcc:w,setShowBcc:E,subject:g,setSubject:v}),quoted:Se||be?a.jsx(Vd,{text:Se,html:be,senderName:je}):void 0,actionBar:a.jsx(Td,{send:nt,onSend:Te,onBlocked:Ye,onDiscard:Ge,saveStatus:U}),children:a.jsx(l.Suspense,{fallback:a.jsx(Ad,{}),children:a.jsx(yp,{mode:N,onModeChange:Q,initialHtml:M,initialText:C,onChange:ge,onSubmit:Te,initialCaret:e==="new"?"start":void 0,onConversionError:u,languages:Ne,initialLanguage:re,onLanguageChange:se,spellcheck:ze},A)})})};var Kn="Dialog",[Go]=$f(Kn),[Ip,qe]=Go(Kn),Yo=e=>{const{__scopeDialog:t,children:n,open:s,defaultOpen:r,onOpenChange:o,modal:i=!0}=e,c=l.useRef(null),u=l.useRef(null),[h,m]=zf({prop:s,defaultProp:r??!1,onChange:o,caller:Kn});return a.jsx(Ip,{scope:t,triggerRef:c,contentRef:u,contentId:ss(),titleId:ss(),descriptionId:ss(),open:h,onOpenChange:m,onOpenToggle:l.useCallback(()=>m(f=>!f),[m]),modal:i,children:n})};Yo.displayName=Kn;var Xo="DialogTrigger",Mp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=qe(Xo,n),o=xt(t,r.triggerRef);return a.jsx(Ze.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":Js(r.open),...s,ref:o,onClick:ct(e.onClick,r.onOpenToggle)})});Mp.displayName=Xo;var Xs="DialogPortal",[Ap,Jo]=Go(Xs,{forceMount:void 0}),Zo=e=>{const{__scopeDialog:t,forceMount:n,children:s,container:r}=e,o=qe(Xs,t);return a.jsx(Ap,{scope:t,forceMount:n,children:l.Children.map(s,i=>a.jsx(Bn,{present:n||o.open,children:a.jsx(zo,{asChild:!0,container:r,children:i})}))})};Zo.displayName=Xs;var Rn="DialogOverlay",ei=l.forwardRef((e,t)=>{const n=Jo(Rn,e.__scopeDialog),{forceMount:s=n.forceMount,...r}=e,o=qe(Rn,e.__scopeDialog);return o.modal?a.jsx(Bn,{present:s||o.open,children:a.jsx(Pp,{...r,ref:t})}):null});ei.displayName=Rn;var Dp=Lo("DialogOverlay.RemoveScroll"),Pp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=qe(Rn,n),o=am(),i=xt(t,o);return a.jsx(Qo,{as:Dp,allowPinchZoom:!0,shards:[r.contentRef],children:a.jsx(Ze.div,{"data-state":Js(r.open),...s,ref:i,style:{pointerEvents:"auto",...s.style}})})}),Pt="DialogContent",ti=l.forwardRef((e,t)=>{const n=Jo(Pt,e.__scopeDialog),{forceMount:s=n.forceMount,...r}=e,o=qe(Pt,e.__scopeDialog);return a.jsx(Bn,{present:s||o.open,children:o.modal?a.jsx(Lp,{...r,ref:t}):a.jsx(Op,{...r,ref:t})})});ti.displayName=Pt;var Lp=l.forwardRef((e,t)=>{const n=qe(Pt,e.__scopeDialog),s=l.useRef(null),r=xt(t,n.contentRef,s);return l.useEffect(()=>{const o=s.current;if(o)return jm(o)},[]),a.jsx(ni,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:ct(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:ct(e.onPointerDownOutside,o=>{const i=o.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&o.preventDefault()}),onFocusOutside:ct(e.onFocusOutside,o=>o.preventDefault())})}),Op=l.forwardRef((e,t)=>{const n=qe(Pt,e.__scopeDialog),s=l.useRef(!1),r=l.useRef(!1);return a.jsx(ni,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(s.current||n.triggerRef.current?.focus(),o.preventDefault()),s.current=!1,r.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(s.current=!0,o.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=o.target;n.triggerRef.current?.contains(i)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&r.current&&o.preventDefault()}})}),ni=l.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:o,...i}=e,c=qe(Pt,n);return cm(),a.jsx(a.Fragment,{children:a.jsx(Fo,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:r,onUnmountAutoFocus:o,children:a.jsx(Oo,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Js(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),si="DialogTitle",ri=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=qe(si,n);return a.jsx(Ze.h2,{id:r.titleId,...s,ref:t})});ri.displayName=si;var ai="DialogDescription",$p=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=qe(ai,n);return a.jsx(Ze.p,{id:r.descriptionId,...s,ref:t})});$p.displayName=ai;var oi="DialogClose",Fp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=qe(oi,n);return a.jsx(Ze.button,{type:"button",...s,ref:t,onClick:ct(e.onClick,()=>r.onOpenChange(!1))})});Fp.displayName=oi;function Js(e){return e?"open":"closed"}function _p(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}const ii=$.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),ln=()=>{const e=$.useContext(ii);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};_p(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
51
51
  [data-state=closed]
52
- ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function $p(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function Fp(){return Zs(/^Mac/)}function _p(){return Zs(/^iPhone/)}function la(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function zp(){return Zs(/^iPad/)||Fp()&&navigator.maxTouchPoints>1}function ai(){return _p()||zp()}function Zs(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const Bp=24,Up=typeof window<"u"?l.useLayoutEffect:l.useEffect;function ca(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const cs=typeof document<"u"&&window.visualViewport;function ua(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function oi(e){for(ua(e)&&(e=e.parentElement);e&&!ua(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const Kp=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Sn=0,us;function Hp(e={}){let{isDisabled:t}=e;Up(()=>{if(!t)return Sn++,Sn===1&&ai()&&(us=Wp()),()=>{Sn--,Sn===0&&us?.()}},[t])}function Wp(){let e,t=0,n=f=>{e=oi(f.target),!(e===document.documentElement&&e===document.body)&&(t=f.changedTouches[0].pageY)},s=f=>{if(!e||e===document.documentElement||e===document.body){f.preventDefault();return}let p=f.changedTouches[0].pageY,v=e.scrollTop,y=e.scrollHeight-e.clientHeight;y!==0&&((v<=0&&p>t||v>=y&&p<t)&&f.preventDefault(),t=p)},r=f=>{let p=f.target;Ns(p)&&p!==document.activeElement&&(f.preventDefault(),p.style.transform="translateY(-2000px)",p.focus(),requestAnimationFrame(()=>{p.style.transform=""}))},o=f=>{let p=f.target;Ns(p)&&(p.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{p.style.transform="",cs&&(cs.height<window.innerHeight?requestAnimationFrame(()=>{da(p)}):cs.addEventListener("resize",()=>da(p),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},c=window.pageXOffset,u=window.pageYOffset,h=ca(qp(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let m=ca(Vt(document,"touchstart",n,{passive:!1,capture:!0}),Vt(document,"touchmove",s,{passive:!1,capture:!0}),Vt(document,"touchend",r,{passive:!1,capture:!0}),Vt(document,"focus",o,!0),Vt(window,"scroll",i));return()=>{h(),m(),window.scrollTo(c,u)}}function qp(e,t,n){let s=e.style[t];return e.style[t]=n,()=>{e.style[t]=s}}function Vt(e,t,n,s){return e.addEventListener(t,n,s),()=>{e.removeEventListener(t,n,s)}}function da(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=oi(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let s=n.getBoundingClientRect().top,r=e.getBoundingClientRect().top,o=e.getBoundingClientRect().bottom;const i=n.getBoundingClientRect().bottom+Bp;o>i&&(n.scrollTop+=r-s)}e=n.parentElement}}function Ns(e){return e instanceof HTMLInputElement&&!Kp.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function Vp(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Qp(...e){return t=>e.forEach(n=>Vp(n,t))}function ii(...e){return l.useCallback(Qp(...e),e)}const li=new WeakMap;function xe(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let s={};Object.entries(t).forEach(([r,o])=>{if(r.startsWith("--")){e.style.setProperty(r,o);return}s[r]=e.style[r],e.style[r]=o}),!n&&li.set(e,s)}function Gp(e,t){if(!e||!(e instanceof HTMLElement))return;let n=li.get(e);n&&(e.style[t]=n[t])}const he=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function kn(e,t){if(!e)return null;const n=window.getComputedStyle(e),s=n.transform||n.webkitTransform||n.mozTransform;let r=s.match(/^matrix3d\((.+)\)$/);return r?parseFloat(r[1].split(", ")[he(t)?13:12]):(r=s.match(/^matrix\((.+)\)$/),r?parseFloat(r[1].split(", ")[he(t)?5:4]):null)}function Yp(e){return 8*(Math.log(e+1)-2)}function ds(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}function Xp(...e){return(...t)=>{for(const n of e)typeof n=="function"&&n(...t)}}const fe={DURATION:.5,EASE:[.32,.72,0,1]},ci=.4,Jp=.25,Zp=100,ui=8,ht=16,js=26,fs="vaul-dragging";function di(e){const t=$.useRef(e);return $.useEffect(()=>{t.current=e}),$.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function eh({defaultProp:e,onChange:t}){const n=$.useState(e),[s]=n,r=$.useRef(s),o=di(t);return $.useEffect(()=>{r.current!==s&&(o(s),r.current=s)},[s,r,o]),n}function fi({prop:e,defaultProp:t,onChange:n=()=>{}}){const[s,r]=eh({defaultProp:t,onChange:n}),o=e!==void 0,i=o?e:s,c=di(n),u=$.useCallback(h=>{if(o){const f=typeof h=="function"?h(e):h;f!==e&&c(f)}else r(h)},[o,e,r,c]);return[i,u]}function th({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:s,overlayRef:r,fadeFromIndex:o,onSnapPointChange:i,direction:c="bottom",container:u,snapToSequentialPoint:h}){const[m,f]=fi({prop:e,defaultProp:n?.[0],onChange:t}),[p,v]=$.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);$.useEffect(()=>{function R(){v({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",R),()=>window.removeEventListener("resize",R)},[]);const y=$.useMemo(()=>m===n?.[n.length-1]||null,[n,m]),d=$.useMemo(()=>{var R;return(R=n?.findIndex(T=>T===m))!=null?R:null},[n,m]),g=n&&n.length>0&&(o||o===0)&&!Number.isNaN(o)&&n[o]===m||!n,x=$.useMemo(()=>{const R=u?{width:u.getBoundingClientRect().width,height:u.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var T;return(T=n?.map(P=>{const F=typeof P=="string";let I=0;if(F&&(I=parseInt(P,10)),he(c)){const A=F?I:p?P*R.height:0;return p?c==="bottom"?R.height-A:-R.height+A:A}const z=F?I:p?P*R.width:0;return p?c==="right"?R.width-z:-R.width+z:z}))!=null?T:[]},[n,p,u]),k=$.useMemo(()=>d!==null?x?.[d]:null,[x,d]),b=$.useCallback(R=>{var T;const P=(T=x?.findIndex(F=>F===R))!=null?T:null;i(P),xe(s.current,{transition:`transform ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`,transform:he(c)?`translate3d(0, ${R}px, 0)`:`translate3d(${R}px, 0, 0)`}),x&&P!==x.length-1&&o!==void 0&&P!==o&&P<o?xe(r.current,{transition:`opacity ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`,opacity:"0"}):xe(r.current,{transition:`opacity ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`,opacity:"1"}),f(n?.[Math.max(P,0)])},[s.current,n,x,o,r,f]);$.useEffect(()=>{if(m||e){var R;const T=(R=n?.findIndex(P=>P===e||P===m))!=null?R:-1;x&&T!==-1&&typeof x[T]=="number"&&b(x[T])}},[m,e,n,x,b]);function w({draggedDistance:R,closeDrawer:T,velocity:P,dismissible:F}){if(o===void 0)return;const I=c==="bottom"||c==="right"?(k??0)-R:(k??0)+R,z=d===o-1,A=d===0,S=R>0;if(z&&xe(r.current,{transition:`opacity ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`}),!h&&P>2&&!S){F?T():b(x[0]);return}if(!h&&P>2&&S&&x&&n){b(x[n.length-1]);return}const M=x?.reduce((C,D)=>typeof C!="number"||typeof D!="number"?C:Math.abs(D-I)<Math.abs(C-I)?D:C),O=he(c)?window.innerHeight:window.innerWidth;if(P>ci&&Math.abs(R)<O*.4){const C=S?1:-1;if(C>0&&y&&n){b(x[n.length-1]);return}if(A&&C<0&&F&&T(),d===null)return;b(x[d+C]);return}b(M)}function E({draggedDistance:R}){if(k===null)return;const T=c==="bottom"||c==="right"?k-R:k+R;(c==="bottom"||c==="right")&&T<x[x.length-1]||(c==="top"||c==="left")&&T>x[x.length-1]||xe(s.current,{transform:he(c)?`translate3d(0, ${T}px, 0)`:`translate3d(${T}px, 0, 0)`})}function j(R,T){if(!n||typeof d!="number"||!x||o===void 0)return null;const P=d===o-1;if(d>=o&&T)return 0;if(P&&!T)return 1;if(!g&&!P)return null;const I=P?d+1:d-1,z=P?x[I]-x[I-1]:x[I+1]-x[I],A=R/Math.abs(z);return P?1-A:A}return{isLastSnapPoint:y,activeSnapPoint:m,shouldFade:g,getPercentageDragged:j,setActiveSnapPoint:f,activeSnapPointIndex:d,onRelease:w,onDrag:E,snapPointsOffset:x}}const nh=()=>()=>{};function sh(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:s,noBodyStyles:r}=ln(),o=$.useRef(null),i=l.useMemo(()=>document.body.style.backgroundColor,[]);function c(){return(window.innerWidth-js)/window.innerWidth}$.useEffect(()=>{if(t&&n){o.current&&clearTimeout(o.current);const u=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!u)return;Xp(s&&!r?ds(document.body,{background:"black"}):nh,ds(u,{transformOrigin:he(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${fe.DURATION}s`,transitionTimingFunction:`cubic-bezier(${fe.EASE.join(",")})`}));const h=ds(u,{borderRadius:`${ui}px`,overflow:"hidden",...he(e)?{transform:`scale(${c()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${c()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{h(),o.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},fe.DURATION*1e3)}}},[t,n,i])}let Qt=null;function rh({isOpen:e,modal:t,nested:n,hasBeenOpened:s,preventScrollRestoration:r,noBodyStyles:o}){const[i,c]=$.useState(()=>typeof window<"u"?window.location.href:""),u=$.useRef(0),h=$.useCallback(()=>{if(la()&&Qt===null&&e&&!o){Qt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:f,innerHeight:p}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-u.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const v=p-window.innerHeight;v&&u.current>=p&&(document.body.style.top=`${-(u.current+v)}px`)}),300)}},[e]),m=$.useCallback(()=>{if(la()&&Qt!==null&&!o){const f=-parseInt(document.body.style.top,10),p=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Qt),window.requestAnimationFrame(()=>{if(r&&i!==window.location.href){c(window.location.href);return}window.scrollTo(p,f)}),Qt=null}},[i]);return $.useEffect(()=>{function f(){u.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),$.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||m()}},[t,m]),$.useEffect(()=>{n||!s||(e?(!window.matchMedia("(display-mode: standalone)").matches&&h(),t||window.setTimeout(()=>{m()},500)):m())},[e,s,i,t,n,h,m]),{restorePositionSetting:m}}function ah({open:e,onOpenChange:t,children:n,onDrag:s,onRelease:r,snapPoints:o,shouldScaleBackground:i=!1,setBackgroundColorOnScale:c=!0,closeThreshold:u=Jp,scrollLockTimeout:h=Zp,dismissible:m=!0,handleOnly:f=!1,fadeFromIndex:p=o&&o.length-1,activeSnapPoint:v,setActiveSnapPoint:y,fixed:d,modal:g=!0,onClose:x,nested:k,noBodyStyles:b=!1,direction:w="bottom",defaultOpen:E=!1,disablePreventScroll:j=!0,snapToSequentialPoint:R=!1,preventScrollRestoration:T=!1,repositionInputs:P=!0,onAnimationEnd:F,container:I,autoFocus:z=!1}){var A,S;const[M=!1,O]=fi({defaultProp:E,prop:e,onChange:_=>{t?.(_),!_&&!k&&ze(),setTimeout(()=>{F?.(_)},fe.DURATION*1e3),_&&!g&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),_||(document.body.style.pointerEvents="auto")}}),[C,D]=$.useState(!1),[N,V]=$.useState(!1),[W,ne]=$.useState(!1),se=$.useRef(null),de=$.useRef(null),re=$.useRef(null),ge=$.useRef(null),q=$.useRef(null),ve=$.useRef(!1),J=$.useRef(null),ke=$.useRef(0),be=$.useRef(!1),Te=$.useRef(!E),Ce=$.useRef(0),U=$.useRef(null),ye=$.useRef(((A=U.current)==null?void 0:A.getBoundingClientRect().height)||0),Ne=$.useRef(((S=U.current)==null?void 0:S.getBoundingClientRect().width)||0),Pe=$.useRef(0),Q=$.useCallback(_=>{o&&_===G.length-1&&(de.current=new Date)},[]),{activeSnapPoint:Z,activeSnapPointIndex:ae,setActiveSnapPoint:$e,onRelease:Fe,snapPointsOffset:G,onDrag:He,shouldFade:je,getPercentageDragged:Le}=th({snapPoints:o,activeSnapPointProp:v,setActiveSnapPointProp:y,drawerRef:U,fadeFromIndex:p,overlayRef:se,onSnapPointChange:Q,direction:w,container:I,snapToSequentialPoint:R});Hp({isDisabled:!M||N||!g||W||!C||!P||!j});const{restorePositionSetting:ze}=rh({isOpen:M,modal:g,nested:k??!1,hasBeenOpened:C,preventScrollRestoration:T,noBodyStyles:b});function _e(){return(window.innerWidth-js)/window.innerWidth}function le(_){var Y,K;!m&&!o||U.current&&!U.current.contains(_.target)||(ye.current=((Y=U.current)==null?void 0:Y.getBoundingClientRect().height)||0,Ne.current=((K=U.current)==null?void 0:K.getBoundingClientRect().width)||0,V(!0),re.current=new Date,ai()&&window.addEventListener("touchend",()=>ve.current=!1,{once:!0}),_.target.setPointerCapture(_.pointerId),ke.current=he(w)?_.pageY:_.pageX)}function oe(_,Y){var K;let H=_;const ce=(K=window.getSelection())==null?void 0:K.toString(),ie=U.current?kn(U.current,w):null,Ee=new Date;if(H.tagName==="SELECT"||H.hasAttribute("data-vaul-no-drag")||H.closest("[data-vaul-no-drag]"))return!1;if(w==="right"||w==="left")return!0;if(de.current&&Ee.getTime()-de.current.getTime()<500)return!1;if(ie!==null&&(w==="bottom"?ie>0:ie<0))return!0;if(ce&&ce.length>0)return!1;if(q.current&&Ee.getTime()-q.current.getTime()<h&&ie===0||Y)return q.current=Ee,!1;for(;H;){if(H.scrollHeight>H.clientHeight){if(H.scrollTop!==0)return q.current=new Date,!1;if(H.getAttribute("role")==="dialog")return!0}H=H.parentNode}return!0}function Xe(_){if(U.current&&N){const Y=w==="bottom"||w==="right"?1:-1,K=(ke.current-(he(w)?_.pageY:_.pageX))*Y,H=K>0,ce=o&&!m&&!H;if(ce&&ae===0)return;const ie=Math.abs(K),Ee=document.querySelector("[data-vaul-drawer-wrapper]"),Ue=w==="bottom"||w==="top"?ye.current:Ne.current;let Re=ie/Ue;const Ke=Le(ie,H);if(Ke!==null&&(Re=Ke),ce&&Re>=1||!ve.current&&!oe(_.target,H))return;if(U.current.classList.add(fs),ve.current=!0,xe(U.current,{transition:"none"}),xe(se.current,{transition:"none"}),o&&He({draggedDistance:K}),H&&!o){const Ie=Yp(K),yt=Math.min(Ie*-1,0)*Y;xe(U.current,{transform:he(w)?`translate3d(0, ${yt}px, 0)`:`translate3d(${yt}px, 0, 0)`});return}const qe=1-Re;if((je||p&&ae===p-1)&&(s?.(_,Re),xe(se.current,{opacity:`${qe}`,transition:"none"},!0)),Ee&&se.current&&i){const Ie=Math.min(_e()+Re*(1-_e()),1),yt=8-Re*8,zt=Math.max(0,14-Re*14);xe(Ee,{borderRadius:`${yt}px`,transform:he(w)?`scale(${Ie}) translate3d(0, ${zt}px, 0)`:`scale(${Ie}) translate3d(${zt}px, 0, 0)`,transition:"none"},!0)}if(!o){const Ie=ie*Y;xe(U.current,{transform:he(w)?`translate3d(0, ${Ie}px, 0)`:`translate3d(${Ie}px, 0, 0)`})}}}$.useEffect(()=>{window.requestAnimationFrame(()=>{Te.current=!0})},[]),$.useEffect(()=>{var _;function Y(){if(!U.current||!P)return;const K=document.activeElement;if(Ns(K)||be.current){var H;const ce=((H=window.visualViewport)==null?void 0:H.height)||0,ie=window.innerHeight;let Ee=ie-ce;const Ue=U.current.getBoundingClientRect().height||0,Re=Ue>ie*.8;Pe.current||(Pe.current=Ue);const Ke=U.current.getBoundingClientRect().top;if(Math.abs(Ce.current-Ee)>60&&(be.current=!be.current),o&&o.length>0&&G&&ae){const qe=G[ae]||0;Ee+=qe}if(Ce.current=Ee,Ue>ce||be.current){const qe=U.current.getBoundingClientRect().height;let Ie=qe;qe>ce&&(Ie=ce-(Re?Ke:js)),d?U.current.style.height=`${qe-Math.max(Ee,0)}px`:U.current.style.height=`${Math.max(Ie,ce-Ke)}px`}else $p()||(U.current.style.height=`${Pe.current}px`);o&&o.length>0&&!be.current?U.current.style.bottom="0px":U.current.style.bottom=`${Math.max(Ee,0)}px`}}return(_=window.visualViewport)==null||_.addEventListener("resize",Y),()=>{var K;return(K=window.visualViewport)==null?void 0:K.removeEventListener("resize",Y)}},[ae,o,G]);function Be(_){st(),x?.(),_||O(!1),setTimeout(()=>{o&&$e(o[0])},fe.DURATION*1e3)}function We(){if(!U.current)return;const _=document.querySelector("[data-vaul-drawer-wrapper]"),Y=kn(U.current,w);xe(U.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`}),xe(se.current,{transition:`opacity ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`,opacity:"1"}),i&&Y&&Y>0&&M&&xe(_,{borderRadius:`${ui}px`,overflow:"hidden",...he(w)?{transform:`scale(${_e()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${_e()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${fe.DURATION}s`,transitionTimingFunction:`cubic-bezier(${fe.EASE.join(",")})`},!0)}function st(){!N||!U.current||(U.current.classList.remove(fs),ve.current=!1,V(!1),ge.current=new Date)}function Oe(_){if(!N||!U.current)return;U.current.classList.remove(fs),ve.current=!1,V(!1),ge.current=new Date;const Y=kn(U.current,w);if(!_||!oe(_.target,!1)||!Y||Number.isNaN(Y)||re.current===null)return;const K=ge.current.getTime()-re.current.getTime(),H=ke.current-(he(w)?_.pageY:_.pageX),ce=Math.abs(H)/K;if(ce>.05&&(ne(!0),setTimeout(()=>{ne(!1)},200)),o){Fe({draggedDistance:H*(w==="bottom"||w==="right"?1:-1),closeDrawer:Be,velocity:ce,dismissible:m}),r?.(_,!0);return}if(w==="bottom"||w==="right"?H>0:H<0){We(),r?.(_,!0);return}if(ce>ci){Be(),r?.(_,!1);return}var ie;const Ee=Math.min((ie=U.current.getBoundingClientRect().height)!=null?ie:0,window.innerHeight);var Ue;const Re=Math.min((Ue=U.current.getBoundingClientRect().width)!=null?Ue:0,window.innerWidth),Ke=w==="left"||w==="right";if(Math.abs(Y)>=(Ke?Re:Ee)*u){Be(),r?.(_,!1);return}r?.(_,!0),We()}$.useEffect(()=>(M&&(xe(document.documentElement,{scrollBehavior:"auto"}),de.current=new Date),()=>{Gp(document.documentElement,"scrollBehavior")}),[M]);function ee(_){const Y=_?(window.innerWidth-ht)/window.innerWidth:1,K=_?-ht:0;J.current&&window.clearTimeout(J.current),xe(U.current,{transition:`transform ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`,transform:he(w)?`scale(${Y}) translate3d(0, ${K}px, 0)`:`scale(${Y}) translate3d(${K}px, 0, 0)`}),!_&&U.current&&(J.current=setTimeout(()=>{const H=kn(U.current,w);xe(U.current,{transition:"none",transform:he(w)?`translate3d(0, ${H}px, 0)`:`translate3d(${H}px, 0, 0)`})},500))}function we(_,Y){if(Y<0)return;const K=(window.innerWidth-ht)/window.innerWidth,H=K+Y*(1-K),ce=-ht+Y*ht;xe(U.current,{transform:he(w)?`scale(${H}) translate3d(0, ${ce}px, 0)`:`scale(${H}) translate3d(${ce}px, 0, 0)`,transition:"none"})}function pe(_,Y){const K=he(w)?window.innerHeight:window.innerWidth,H=Y?(K-ht)/K:1,ce=Y?-ht:0;Y&&xe(U.current,{transition:`transform ${fe.DURATION}s cubic-bezier(${fe.EASE.join(",")})`,transform:he(w)?`scale(${H}) translate3d(0, ${ce}px, 0)`:`scale(${H}) translate3d(${ce}px, 0, 0)`})}return $.useEffect(()=>{g||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[g]),$.createElement(Vo,{defaultOpen:E,onOpenChange:_=>{!m&&!_||(_?D(!0):Be(!0),O(_))},open:M},$.createElement(ri.Provider,{value:{activeSnapPoint:Z,snapPoints:o,setActiveSnapPoint:$e,drawerRef:U,overlayRef:se,onOpenChange:t,onPress:le,onRelease:Oe,onDrag:Xe,dismissible:m,shouldAnimate:Te,handleOnly:f,isOpen:M,isDragging:N,shouldFade:je,closeDrawer:Be,onNestedDrag:we,onNestedOpenChange:ee,onNestedRelease:pe,keyboardIsOpen:be,modal:g,snapPointsOffset:G,activeSnapPointIndex:ae,direction:w,shouldScaleBackground:i,setBackgroundColorOnScale:c,noBodyStyles:b,container:I,autoFocus:z}},n))}const mi=$.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:s,onRelease:r,shouldFade:o,isOpen:i,modal:c,shouldAnimate:u}=ln(),h=ii(t,n),m=s&&s.length>0;if(!c)return null;const f=$.useCallback(p=>r(p),[r]);return $.createElement(Xo,{onMouseUp:f,ref:h,"data-vaul-overlay":"","data-vaul-snap-points":i&&m?"true":"false","data-vaul-snap-points-overlay":i&&o?"true":"false","data-vaul-animate":u?.current?"true":"false",...e})});mi.displayName="Drawer.Overlay";const pi=$.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...s},r){const{drawerRef:o,onPress:i,onRelease:c,onDrag:u,keyboardIsOpen:h,snapPointsOffset:m,activeSnapPointIndex:f,modal:p,isOpen:v,direction:y,snapPoints:d,container:g,handleOnly:x,shouldAnimate:k,autoFocus:b}=ln(),[w,E]=$.useState(!1),j=ii(r,o),R=$.useRef(null),T=$.useRef(null),P=$.useRef(!1),F=d&&d.length>0;sh();const I=(A,S,M=0)=>{if(P.current)return!0;const O=Math.abs(A.y),C=Math.abs(A.x),D=C>O,N=["bottom","right"].includes(S)?1:-1;if(S==="left"||S==="right"){if(!(A.x*N<0)&&C>=0&&C<=M)return D}else if(!(A.y*N<0)&&O>=0&&O<=M)return!D;return P.current=!0,!0};$.useEffect(()=>{F&&window.requestAnimationFrame(()=>{E(!0)})},[]);function z(A){R.current=null,P.current=!1,c(A)}return $.createElement(Jo,{"data-vaul-drawer-direction":y,"data-vaul-drawer":"","data-vaul-delayed-snap-points":w?"true":"false","data-vaul-snap-points":v&&F?"true":"false","data-vaul-custom-container":g?"true":"false","data-vaul-animate":k?.current?"true":"false",...s,ref:j,style:m&&m.length>0?{"--snap-point-height":`${m[f??0]}px`,...t}:t,onPointerDown:A=>{x||(s.onPointerDown==null||s.onPointerDown.call(s,A),R.current={x:A.pageX,y:A.pageY},i(A))},onOpenAutoFocus:A=>{n?.(A),b||A.preventDefault()},onPointerDownOutside:A=>{if(e?.(A),!p||A.defaultPrevented){A.preventDefault();return}h.current&&(h.current=!1)},onFocusOutside:A=>{if(!p){A.preventDefault();return}},onPointerMove:A=>{if(T.current=A,x||(s.onPointerMove==null||s.onPointerMove.call(s,A),!R.current))return;const S=A.pageY-R.current.y,M=A.pageX-R.current.x,O=A.pointerType==="touch"?10:2;I({x:M,y:S},y,O)?u(A):(Math.abs(M)>O||Math.abs(S)>O)&&(R.current=null)},onPointerUp:A=>{s.onPointerUp==null||s.onPointerUp.call(s,A),R.current=null,P.current=!1,c(A)},onPointerOut:A=>{s.onPointerOut==null||s.onPointerOut.call(s,A),z(T.current)},onContextMenu:A=>{s.onContextMenu==null||s.onContextMenu.call(s,A),T.current&&z(T.current)}})});pi.displayName="Drawer.Content";const oh=250,ih=120,hi=$.forwardRef(function({preventCycle:e=!1,children:t,...n},s){const{closeDrawer:r,isDragging:o,snapPoints:i,activeSnapPoint:c,setActiveSnapPoint:u,dismissible:h,handleOnly:m,isOpen:f,onPress:p,onDrag:v}=ln(),y=$.useRef(null),d=$.useRef(!1);function g(){if(d.current){b();return}window.setTimeout(()=>{x()},ih)}function x(){if(o||e||d.current){b();return}if(b(),!i||i.length===0){h||r();return}if(c===i[i.length-1]&&h){r();return}const E=i.findIndex(R=>R===c);if(E===-1)return;const j=i[E+1];u(j)}function k(){y.current=window.setTimeout(()=>{d.current=!0},oh)}function b(){y.current&&window.clearTimeout(y.current),d.current=!1}return $.createElement("div",{onClick:g,onPointerCancel:b,onPointerDown:w=>{m&&p(w),k()},onPointerMove:w=>{m&&v(w)},ref:s,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},$.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});hi.displayName="Drawer.Handle";function lh(e){const t=ln(),{container:n=t.container,...s}=e;return $.createElement(Yo,{container:n,...s})}const Rt={Root:ah,Content:pi,Overlay:mi,Portal:lh,Handle:hi,Title:ti},bx=({isOpen:e,onClose:t,children:n,ariaLabel:s="Navigation",side:r="left",widthClassName:o="w-[80vw] max-w-[320px]"})=>{const i=l.useRef(null),c=l.useRef(null);if(l.useEffect(()=>{if(!e)return;c.current=document.activeElement;const h=p=>{p.key==="Escape"&&(p.preventDefault(),t())};document.addEventListener("keydown",h),i.current?.querySelector("button, [href], input, select, textarea, [tabindex]:not([tabindex='-1'])")?.focus();const f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",h),document.body.style.overflow=f,c.current?.focus()}},[e,t]),!e)return null;const u=r==="left"?"left-0 border-r animate-in slide-in-from-left duration-150":"right-0 border-l animate-in slide-in-from-right duration-150";return a.jsxs("div",{className:"fixed inset-0 z-50 lg:hidden",role:"dialog","aria-modal":"true","aria-label":s,children:[a.jsx("button",{type:"button","aria-label":"Close menu",onClick:t,className:"absolute inset-0 bg-black/40 animate-in fade-in duration-150 cursor-default"}),a.jsxs("div",{ref:i,className:Ze("safe-area-frame absolute top-0 bottom-0 bg-canvas border-line shadow-xl flex flex-col",o,u),children:[a.jsx("div",{className:"flex items-center justify-end h-12 px-2 border-b border-line shrink-0",children:a.jsx("button",{type:"button",onClick:t,className:"p-2 rounded-md hover:bg-surface-raised transition-colors min-h-11 min-w-11 inline-flex items-center justify-center","aria-label":"Close menu",children:a.jsx(nn,{className:"size-5"})})}),a.jsx("div",{className:"flex-1 overflow-y-auto",children:n})]})]})},fa=({mode:e,account:t,sourceMessage:n,onClose:s})=>a.jsx("div",{className:"border-t border-line bg-canvas max-h-[min(400px,60dvh)] flex flex-col lg:h-[min(560px,55dvh)] lg:max-h-none",children:a.jsx(Np,{mode:e,account:t,sourceMessage:n,onClose:s})}),gi=({message:e,icon:t})=>a.jsxs("div",{className:"flex flex-col items-center justify-center p-8 text-center",children:[t&&a.jsx("div",{className:"mb-4 text-fg-muted",children:t}),a.jsx("p",{className:"text-fg-muted",children:e})]}),bi=e=>{const{data:t,isLoading:n}=me({...Ot(),staleTime:1/0}),s=l.useMemo(()=>(t?.accounts??[]).map(c=>c.accountId),[t?.accounts]),r=_s({queries:s.map(c=>({...rn({path:{accountId:c}}),staleTime:1/0,enabled:!!e}))}),o=n||r.some(c=>c.isLoading);return{accountId:l.useMemo(()=>{if(e){for(let c=0;c<s.length;c++)if((r[c].data?.items??[]).some(m=>m.mailboxId===e))return s[c]}},[e,s,r]),isLoading:o}},ch=100,Ts=async e=>e.then(t=>({ok:!0,value:t}),t=>({ok:!1,error:t})),uh=(e,t=ch)=>{if(e.length===0)return[];const n=[];for(let s=0;s<e.length;s+=t)n.push(e.slice(s,s+t));return n},xi=async(e,t,n,s)=>{const r=uh(e),o=e.length;let i=0;const c=[];for(let u=0;u<r.length;u++){if(s())return c.push(...r.slice(u).flat()),{done:i,failedIds:c,cancelled:!0};const h=r[u],m=await Ts(t(h));if(!m.ok)return c.push(...r.slice(u).flat()),n({done:i,total:o}),{done:i,failedIds:c,cancelled:!1,error:m.error};i+=h.length,n({done:i,total:o})}return{done:i,failedIds:c,cancelled:!1}},tn=async(e,t)=>{await xi(e,async n=>(await t(n),{successCount:n.length,failureCount:0}),()=>{},()=>!1)},dh=async(e,t,n,s,r)=>{let o=0;const i=[];let c;do{if(r())return{done:o,failedIds:i,cancelled:!0};const u=await Ts(e(c));if(!u.ok)return{done:o,failedIds:i,cancelled:!1,error:u.error};const h=u.value;if(h.ids.length>0){const m=await Ts(n(h.ids));if(!m.ok)return{done:o,failedIds:i,cancelled:!1,error:m.error};o+=h.ids.length,s({done:o,total:t})}c=h.continuationToken}while(c);return{done:o,failedIds:i,cancelled:!1}},fh=e=>({done:e.done,total:Math.max(e.total,e.done)}),vi=e=>typeof e=="object"&&e!==null&&Array.isArray(e.pages),yi=e=>typeof e=="object"&&e!==null&&Array.isArray(e.items),wi=(e,t)=>e===void 0?e:vi(e)?{...e,pages:e.pages.map(n=>({...n,items:t(n.items)}))}:yi(e)?{...e,items:t(e.items)}:e,tt=e=>{const t=[];for(const n of new Set(e))t.push(Oa({path:{mailboxId:n}})),t.push($a({path:{mailboxId:n}}));return t.push(Fa()),t},cn=(e,t)=>Promise.all(t.map(n=>e.cancelQueries({queryKey:n}))),un=(e,t)=>t.flatMap(n=>e.getQueriesData({queryKey:n})).filter(n=>n[1]!==void 0).map(([n,s])=>({queryKey:n,data:s})),dn=(e,t,n)=>{const s=r=>wi(r,n);for(const r of t)e.setQueriesData({queryKey:r},s)},fn=(e,t)=>{for(const n of t)e.setQueryData(n.queryKey,n.data)},nt=(e,t)=>{for(const n of t)e.invalidateQueries({queryKey:n})},mh=3e3,ph=(e,t,n)=>{if(e.length===0)return()=>{};const s=setTimeout(()=>n(e),t);return()=>clearTimeout(s)},er=(e,t,n)=>{const s=new Map(t.map(o=>[o.messageId,o.mailboxId])),r=new Set;for(const o of e)r.add(s.get(o)??n);return[...r]},In=(e,t,n)=>e.map(s=>t.has(s.messageId)?{...s,isRead:n}:s),hh=(e,t,n,s)=>e.filter(r=>!r.isRead&&t.has(r.threadMessageId)&&!n.has(r.messageId)&&!s.has(r.messageId)).map(r=>r.messageId),gh=({messages:e,expandedIds:t,threadId:n,mailboxId:s,accountId:r})=>{const o=De(),{pushError:i}=Ye(),c=l.useRef(new Set),u=l.useRef(new Set),{mutate:h}=Me({...Dn(),onMutate:async p=>{const v=new Set(p.body.messageIds??[]),y=p.body.isRead??!0,d=dt({path:{threadId:n}}),g=tt(er(v,e,s));await Promise.all([o.cancelQueries({queryKey:d}),cn(o,g)]);const x=o.getQueriesData({queryKey:d}).filter(b=>b[1]!==void 0).map(([b,w])=>({queryKey:b,data:w})),k=un(o,g);return o.setQueriesData({queryKey:d},b=>b&&{...b,items:In(b.items,v,y)}),dn(o,g,b=>In(b,v,y)),{threadMessagesPrefix:d,listPrefixes:g,previousThreadMessages:x,previousThreadsList:k}},onSuccess:(p,v)=>{const y=v.body.messageIds??[];for(const d of y)c.current.add(d),u.current.delete(d)},onError:(p,v,y)=>{const d=v.body.messageIds??[];for(const x of d)u.current.delete(x);if(y){for(const x of y.previousThreadMessages)o.setQueryData(x.queryKey,x.data);fn(o,y.previousThreadsList)}const g=v.body.isRead??!0;i({title:g?"Couldn't mark as read":"Couldn't mark as unread",detail:Ve(p),error:p})},onSettled:(p,v,y,d)=>{d&&(o.invalidateQueries({queryKey:d.threadMessagesPrefix}),nt(o,d.listPrefixes),r&&o.invalidateQueries({queryKey:$t({path:{accountId:r}})}))}}),m=l.useCallback(p=>{const v=p.filter(y=>!c.current.has(y)&&!u.current.has(y));if(v.length!==0){for(const y of v)u.current.add(y);h({body:{messageIds:v,isRead:!0}})}},[h]),f=l.useMemo(()=>hh(e,t,c.current,u.current),[e,t]);l.useEffect(()=>ph(f,mh,m),[f,m]),l.useEffect(()=>{c.current.clear(),u.current.clear()},[n])},xx=e=>{const{mailboxId:t,accountId:n,messages:s}=e,r=De(),{pushError:o}=Ye(),{mutateAsync:i,isPending:c}=Me({...Dn(),onError:(h,m)=>{const f=m.body.isRead??!0;o({title:f?"Couldn't mark as read":"Couldn't mark as unread",detail:Ve(h),error:h})},onSettled:(h,m,f)=>{nt(r,tt(er(f.body.messageIds??[],s??[],t))),n&&r.invalidateQueries({queryKey:$t({path:{accountId:n}})})}});return{toggleReadFor:l.useCallback((h,m)=>{h.length!==0&&tn(h,f=>i({body:{messageIds:f,isRead:m}}))},[i]),isPending:c}},bh=60,xh=1.5,vh=(e,t,n)=>{const s=Math.abs(e),r=Math.abs(t);return s<n?{direction:null}:s<r*xh?{direction:null}:{direction:e<0?"left":"right"}},yh=({onSwipeLeft:e,onSwipeRight:t,thresholdPx:n=bh})=>{const s=l.useRef(null),r=l.useCallback(u=>{if(u.pointerType==="mouse"){s.current=null;return}s.current={x:u.clientX,y:u.clientY}},[]),o=l.useCallback(()=>{},[]),i=l.useCallback(u=>{const h=s.current;if(s.current=null,!h)return;const{direction:m}=vh(u.clientX-h.x,u.clientY-h.y,n);m==="left"&&e?.(),m==="right"&&t?.()},[e,t,n]),c=l.useCallback(()=>{s.current=null},[]);return{handlers:{onPointerDown:r,onPointerMove:o,onPointerUp:i,onPointerCancel:c}}},wh=(e,t,n)=>t?.find(s=>s.messageId===e)?.mailboxId??n,ma=(e,t,n)=>e.map(s=>s.messageId===t?{...s,hasStars:n}:s),Si=({threadId:e,mailboxId:t,messages:n})=>{const s=De(),{pushError:r}=Ye(),{mutate:o,isPending:i,variables:c}=Me({...Cl(),onMutate:async h=>{const m=h.path.messageId,f=h.body.isStarred??!1,p=dt({path:{threadId:e}}),v=tt([wh(m,n,t)]);await Promise.all([s.cancelQueries({queryKey:p}),cn(s,v)]);const y=s.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,x])=>({queryKey:g,data:x})),d=un(s,v);return s.setQueriesData({queryKey:p},g=>wi(g,x=>ma(x,m,f))),dn(s,v,g=>ma(g,m,f)),{threadMessagesPrefix:p,listPrefixes:v,previousThreadMessages:y,previousThreadsList:d}},onError:(h,m,f)=>{if(f){for(const v of f.previousThreadMessages)s.setQueryData(v.queryKey,v.data);fn(s,f.previousThreadsList)}const p=m.body.isStarred??!1;r({title:p?"Couldn't star message":"Couldn't unstar message",detail:Ve(h),error:h})},onSettled:(h,m,f,p)=>{p&&(s.invalidateQueries({queryKey:p.threadMessagesPrefix}),nt(s,p.listPrefixes))}});return{toggleStar:(h,m)=>{o({path:{messageId:h},body:{isStarred:!m}})},isPending:i,pendingMessageId:i?c?.path.messageId:void 0}};function ki(e){return e===void 0?"uncategorized":e}const Sh={inbox:"Inbox",junk:"Junk"},tr=e=>e.destinationMailboxId!==void 0,kh=(e,t)=>{if(tr(e))return`Moved from ${t??"another folder"} by Remit`;const n=e.fromPlacement??"";return`Moved from ${Sh[n]??"another folder"} by Remit`},Ch=(e,t)=>{if(e===gr.MoveToInbox)return t.inboxMailboxId;if(e===gr.MoveToJunk)return t.junkMailboxId},Eh=(e,t,n)=>{if(!e||!t)return!1;const s=tr(e)?e.destinationMailboxId:Ch(e.action,n);return s!==void 0&&s===t},Nh="Reported as spam",jh=(e,t)=>{if(e){if(tr(e))return e.fromMailboxId;if(e.fromPlacement==="inbox")return t.inboxMailboxId;if(e.fromPlacement==="junk")return t.junkMailboxId}},Hn=(e,t)=>{const{data:n,isLoading:s}=me({...Ot(),staleTime:1/0,enabled:!!e});return{mailboxId:l.useMemo(()=>e?n?.accounts.find(i=>i.accountId===e)?.folderAppointments.find(i=>i.role===t)?.mailboxId:void 0,[n,e,t]),isLoading:s}},vx=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Archive");return{archiveMailboxId:t,isLoading:n}},yx=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Drafts");return{draftsMailboxId:t,isLoading:n}},Th=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Inbox");return{inboxMailboxId:t,isLoading:n}},Ci=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Junk");return{junkMailboxId:t,isLoading:n}},Ei=e=>{const{data:t}=me({...Ot(),staleTime:1/0,enabled:!!e});return l.useMemo(()=>t?.accounts.find(n=>n.accountId===e)?.folderAppointments??[],[t,e])},pa=(e,t)=>e.filter(n=>!t.has(n.messageId)),Wn=({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:s})=>{const r=De(),{pushError:o}=Ye(),{mutateAsync:i,isPending:c,isError:u}=Me({...El(),onMutate:async m=>{const f=new Set(m.body.messageIds??[]),p=t?dt({path:{threadId:t}}):[],v=tt([e,m.body.destinationMailboxId]);await Promise.all([...t?[r.cancelQueries({queryKey:p})]:[],cn(r,v)]);const y=t?r.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,x])=>({queryKey:g,data:x})):[],d=un(r,v);return t&&r.setQueriesData({queryKey:p},g=>g&&{...g,items:pa(g.items,f)}),dn(r,v,g=>pa(g,f)),s?.(Array.from(f)),{threadMessagesPrefix:p,listPrefixes:v,previousThreadMessages:y,previousThreadsList:d}},onError:(m,f,p)=>{if(p){for(const y of p.previousThreadMessages)r.setQueryData(y.queryKey,y.data);fn(r,p.previousThreadsList)}const v=f.body.messageIds?.length??0;o({title:v>1?`Couldn't move ${v} messages`:"Couldn't move this message",detail:Ve(m),error:m})},onSettled:(m,f,p,v)=>{v&&(t&&r.invalidateQueries({queryKey:v.threadMessagesPrefix}),nt(r,v.listPrefixes),n&&r.invalidateQueries({queryKey:$t({path:{accountId:n}})}))}});return{moveMessages:l.useCallback((m,f)=>{m.length!==0&&tn(m,p=>i({body:{messageIds:p,destinationMailboxId:f}}))},[i]),isPending:c,isError:u}},Rh="This message could not be processed. Please try again.",Ih=(e,t)=>e.replace(`Message ${t}'s`,"This message's"),ha=e=>{if(e.failureCount===0)return;const t=e.failures?.[0],n=t?.reason??Rh,s=t?Ih(n,t.messageId):n;throw new Tl(s,422)};function Ni({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:s}){const r=De(),{pushError:o}=Ye(),i=tt([e]),c=t?dt({path:{threadId:t}}):[],u=()=>{t&&r.invalidateQueries({queryKey:c}),nt(r,i),n&&r.invalidateQueries({queryKey:$t({path:{accountId:n}})})},h=()=>(d,g)=>{u(),s?.(g.body.messageIds)},m=d=>(g,x)=>{o({title:d(x.body.messageIds.length),detail:Ve(g),error:g})},f=Me({mutationFn:async d=>{const{data:g}=await Nl({...d,throwOnError:!0});return ha(g),g},meta:{softError:!0},onSuccess:h(),onError:m(d=>d>1?`Couldn't report ${d} messages as spam`:"Couldn't report this message as spam")}),p=Me({mutationFn:async d=>{const{data:g}=await jl({...d,throwOnError:!0});return ha(g),g},meta:{softError:!0},onSuccess:h(),onError:m(d=>d>1?`Couldn't undo the spam report for ${d} messages`:"Couldn't undo the spam report")}),v=l.useCallback(d=>{d.length!==0&&tn(d,g=>f.mutateAsync({body:{messageIds:g}}))},[f.mutateAsync]),y=l.useCallback(d=>{d.length!==0&&tn(d,g=>p.mutateAsync({body:{messageIds:g}}))},[p.mutateAsync]);return{reportSpam:v,notSpam:y,isReporting:f.isPending,isRestoring:p.isPending}}const Mh=({accountId:e,messageId:t,threadId:n,mailboxId:s,autoMoved:r,spamReport:o})=>{const{inboxMailboxId:i}=Th(e),{junkMailboxId:c}=Ci(e),{moveMessages:u,isPending:h}=Wn({mailboxId:s,threadId:n,accountId:e}),{notSpam:m,isRestoring:f}=Ni({mailboxId:s,threadId:n,accountId:e}),{data:p}=me({...rn({path:{accountId:e??""}}),staleTime:1/0,enabled:!!e&&r?.fromMailboxId!==void 0}),v={inboxMailboxId:i,junkMailboxId:c},y=jh(r,v),d=l.useCallback(()=>{y&&u([t],y)},[u,t,y]),g=l.useCallback(()=>{m([t])},[m,t]);if(o)return{show:!0,label:Nh,onUndo:g,isUndoing:f};if(!Eh(r,s,v)||!r)return{show:!1,label:"",isUndoing:!1};const k=r.fromMailboxId?p?.items.filter(b=>b.mailboxId===r.fromMailboxId).map(b=>Rl(b.fullPath))[0]:void 0;return{show:!0,label:kh(r,k),onUndo:y?d:void 0,isUndoing:h,...r.filterId?{filtersHref:"/settings/filters"}:{}}};function Ah({accountId:e,messageId:t,threadId:n,mailboxId:s,autoMoved:r,spamReport:o}){const i=Mh({accountId:e,messageId:t,threadId:n,mailboxId:s,autoMoved:r,spamReport:o});return i.show?a.jsx(Cd,{label:i.label,onUndo:i.onUndo,undoLabel:i.isUndoing?"Undoing…":"Undo",filtersHref:i.filtersHref}):null}const ga=(e,t)=>e.filter(n=>!t.has(n.messageId)),wx=e=>e.filter(t=>t.isDeleted!==!0),nr=({mailboxId:e,threadId:t,accountId:n,messages:s,onAfterOptimisticRemove:r})=>{const o=De(),{pushError:i}=Ye(),{mutateAsync:c,isPending:u}=Me({...Il(),onMutate:async m=>{const f=new Set(m.body.messageIds??[]),p=t?dt({path:{threadId:t}}):[],v=tt(er(f,s??[],e));await Promise.all([o.cancelQueries({queryKey:p}),cn(o,v)]);const y=t?o.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,x])=>({queryKey:g,data:x})):[],d=un(o,v);return t&&o.setQueriesData({queryKey:p},g=>g&&{...g,items:ga(g.items,f)}),dn(o,v,g=>ga(g,f)),r?.(Array.from(f)),{threadMessagesPrefix:p,listPrefixes:v,previousThreadMessages:y,previousThreadsList:d}},onError:(m,f,p)=>{if(p){for(const y of p.previousThreadMessages)o.setQueryData(y.queryKey,y.data);fn(o,p.previousThreadsList)}const v=f.body.messageIds?.length??0;i({title:v>1?`Couldn't delete ${v} messages`:"Couldn't delete this message",detail:Ve(m),error:m})},onSettled:(m,f,p,v)=>{v&&(t&&o.invalidateQueries({queryKey:v.threadMessagesPrefix}),nt(o,v.listPrefixes),n&&o.invalidateQueries({queryKey:$t({path:{accountId:n}})}))}});return{deleteMessages:l.useCallback(m=>{m.length!==0&&tn(m,f=>c({body:{messageIds:f}}))},[c]),isPending:u}},ji="inline-flex items-center justify-center transition-colors",Dh=Ze(ji,"min-h-11 min-w-11 rounded hover:bg-surface-raised"),Ph=Ze(ji,"min-h-11 gap-1.5 px-3 rounded text-sm font-medium hover:bg-surface-raised"),sr=({accountId:e,currentMailboxId:t,onMove:n,disabled:s=!1,disabledHint:r,variant:o="icon-only",label:i})=>{const[c,u]=l.useState(!1),[h,m]=l.useState(),f=Ln(),p=l.useRef(null),v=i??"Move to folder",y=l.useId(),{t:d}=Ml("mail",{useSuspense:!1}),g=Qa(),{data:x,isLoading:k,isError:b,error:w,refetch:E}=me({...rn({path:{accountId:e}}),staleTime:1/0,enabled:c}),j=Ei(e),{createFolderIn:R}=Ga(e),T=l.useMemo(()=>Ya({mailboxes:x?.items??[],folderAppointments:j,currentMailboxId:t,translator:g}),[x?.items,j,t,g]),P=Xa(x?.items??[]),F=T.find(C=>C.id===h),I=l.useCallback(()=>{u(!1),m(void 0)},[]),z=l.useCallback(()=>{F&&(I(),n(F.id))},[F,I,n]);l.useEffect(()=>{if(!c||!f)return;const C=N=>{p.current&&!p.current.contains(N.target)&&I()},D=N=>{N.key==="Escape"&&I()};return document.addEventListener("mousedown",C),document.addEventListener("keydown",D),()=>{document.removeEventListener("mousedown",C),document.removeEventListener("keydown",D)}},[c,f,I]);const A=s||!!r,S=a.jsxs("button",{type:"button",onClick:C=>{C.stopPropagation(),!A&&u(D=>!D)},"aria-label":v,"aria-haspopup":f?"tree":"dialog","aria-expanded":c,"aria-controls":c?y:void 0,title:r,className:o==="icon-only"?Dh:Ph,children:[a.jsx(Ls,{className:o==="icon-only"?"size-5":"size-4"}),o==="compact"&&a.jsx("span",{className:"hidden sm:inline",children:"Move"})]}),M=k?a.jsx("div",{className:"px-3 py-5 text-sm text-fg-muted",children:"Loading folders…"}):b?a.jsx("div",{className:"p-3",children:a.jsx(an,{variant:"inline",title:"Couldn't load folders",error:w,onRetry:()=>E()})}):a.jsx(Al,{folders:T,selectedId:h,delimiter:P,onSelect:m,onCreateFolder:R,onCancel:I,labels:{filterPlaceholder:d("move_picker_filter_placeholder",{defaultValue:"Filter folders…"}),filterAriaLabel:d("move_picker_filter_label",{defaultValue:"Filter folders"})}}),O=F&&a.jsx("div",{className:"shrink-0 border-t border-line p-2",children:a.jsx(te,{variant:"primary",onClick:z,className:"h-11 w-full font-semibold",children:`Move to ${F.label}`})});return f?a.jsxs("div",{ref:p,className:"relative inline-block",children:[S,c&&a.jsxs("div",{id:y,className:Ze("absolute right-0 mt-1 z-50 w-72 max-h-96 flex flex-col","bg-surface border border-line rounded-md shadow-lg"),children:[M,O]})]}):a.jsxs(a.Fragment,{children:[S,a.jsx(Rt.Root,{open:c,onOpenChange:C=>C?u(!0):I(),children:a.jsxs(Rt.Portal,{children:[a.jsx(Rt.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),a.jsxs(Rt.Content,{className:"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-lg bg-canvas pb-[env(safe-area-inset-bottom,0px)]",style:{maxHeight:"85dvh"},id:y,children:[a.jsx(Rt.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-subtle/30"}),a.jsx(Rt.Title,{className:"px-4 py-2 text-base font-semibold border-b border-line",children:"Move to folder"}),a.jsx("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:M}),O]})]})})]})},Lh=({messageId:e,threadId:t,mailboxId:n,isRead:s,accountId:r,fromAddressId:o,isTrusted:i=!1,showRaw:c=!1,onToggleRaw:u})=>{const h=De(),m=Fs(),{pushError:f}=Ye(),p=dp()?.messageId,{mutate:v,isPending:y}=Me({...Dn(),onMutate:async M=>{const O=M.body.isRead??!0,C=new Set(M.body.messageIds??[]),D=dt({path:{threadId:t}}),N=tt([n]);await Promise.all([h.cancelQueries({queryKey:D}),cn(h,N)]);const V=h.getQueriesData({queryKey:D}).filter(ne=>ne[1]!==void 0).map(([ne,se])=>({queryKey:ne,data:se})),W=un(h,N);return h.setQueriesData({queryKey:D},ne=>ne&&{...ne,items:In(ne.items,C,O)}),dn(h,N,ne=>In(ne,C,O)),{threadMessagesPrefix:D,listPrefixes:N,previousThreadMessages:V,previousThreadsList:W}},onError:(M,O,C)=>{if(C){for(const N of C.previousThreadMessages)h.setQueryData(N.queryKey,N.data);fn(h,C.previousThreadsList)}const D=O.body.isRead??!0;f({title:D?"Couldn't mark as read":"Couldn't mark as unread",detail:Ve(M),error:M})},onSettled:(M,O,C,D)=>{D&&(h.invalidateQueries({queryKey:D.threadMessagesPrefix}),nt(h,D.listPrefixes))}}),d=l.useCallback(M=>{p&&M.includes(p)&&m({to:"/mail/$mailboxId",params:{mailboxId:n},search:O=>O})},[p,n,m]),{deleteMessages:g,isPending:x}=nr({mailboxId:n,threadId:t,onAfterOptimisticRemove:d}),{moveMessages:k,isPending:b}=Wn({mailboxId:n,threadId:t,accountId:r,onAfterOptimisticRemove:d}),{toggleTrusted:w,isPending:E,error:j,reset:R}=Ba({messageId:e}),T=()=>{v({body:{messageIds:[e],isRead:!1}})},P=()=>{g([e])},F=()=>{o&&w(o,i)},I=y||x||b||E,z=I||!o,A=l.useCallback(M=>{k([e],M)},[k,e]),S=o?void 0:"Sender has no parseable address";return a.jsxs("div",{className:"flex flex-col items-end gap-1",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[r&&a.jsx(sr,{accountId:r,currentMailboxId:n,onMove:A,disabled:I,label:"Move this message"}),a.jsxs(fc,{trigger:a.jsx(co,{className:"size-4"}),children:[a.jsxs(mn,{onClick:F,disabled:z,children:[i?a.jsx($n,{className:"size-4 text-positive"}):a.jsx(Mn,{className:"size-4 opacity-0"}),a.jsx("span",{title:S,children:"Trusted sender"})]}),s&&a.jsxs(mn,{onClick:T,disabled:I,children:[a.jsx(qs,{className:"size-4"}),"Mark as unread"]}),u&&a.jsxs(mn,{onClick:u,children:[a.jsx(lo,{className:"size-4"}),c?"Show formatted":"Show raw email"]}),a.jsx(mc,{}),a.jsxs(mn,{onClick:P,disabled:I,destructive:!0,children:[a.jsx(sn,{className:"size-4"}),"Delete"]})]})]}),j&&a.jsx("div",{className:"w-64",children:a.jsx(an,{variant:"inline",title:"Couldn't update trust",error:j,onRetry:()=>{R(),F()}})})]})},Oh=e=>e==="link-expired"||e==="not-ready";class Rs extends Error{reason;status;constructor(t,n,s){super(n),this.name="AttachmentFetchError",this.reason=t,this.status=s}}const $h="x-remit-403-reason",Fh="expired",_h=(e,t)=>{if(t?.trim()===Fh)return"link-expired";const n=Nc(e,t);return n==="auth"?"auth":n==="body-missing"?"missing":"generic"},zh=300*1e3,ba=async(e,t)=>{const n={},s=await t();s&&(n.Authorization=`Bearer ${s}`);const r=await Ll(e,{headers:n,signal:AbortSignal.timeout(zh)});if(r.status===202)throw new Rs("not-ready","Attachment is still being fetched from the mail server",202);if(!r.ok)throw new Rs(_h(r.status,r.headers.get($h)),`Failed to download attachment (${r.status} ${r.statusText})`,r.status);return r.blob()},Bh=(e,t,n)=>{switch(e){case"auth":return{title:"Your session expired",detail:`Sign in again, then download ${t} once more. Other parts of the app may also stop responding until you do.`};case"link-expired":return{title:"This download link expired and could not be renewed",detail:`Reload the page, then download ${t} again. If that keeps failing, this is worth reporting.`};case"missing":return{title:"This attachment is missing from storage",detail:"Remit has the message but not the file. Re-sync the account from Settings, then try again."};case"not-ready":return{title:"Still fetching this attachment",detail:"Remit is downloading it from the mail server now. Try again in a few seconds."};default:return{title:"Couldn't download this attachment",detail:n}}},xa=e=>e instanceof Rs?e.reason:"generic",Uh=e=>e instanceof Error?e.message:typeof e=="string"?e:"An unexpected error occurred while downloading this attachment.",Kh=(e,t,n)=>{if(e!=="auth")return Dl(Pl({title:`Bug: attachment download failed (${e})`,errorMessage:`Downloading "${t}" failed: ${n}`}))},Hh=(e,t)=>{const n=URL.createObjectURL(e),s=document.createElement("a");s.href=n,s.download=t,s.rel="noopener",document.body.append(s),s.click(),s.remove(),setTimeout(()=>URL.revokeObjectURL(n),0)},Wh=e=>{const t=e.toUpperCase();return t==="OCTET-STREAM"?"FILE":t},qh=e=>{const t=e.toLowerCase().replace(/[^a-z0-9]/g,"");return t.length>0?`attachment.${t}`:"attachment"},va=e=>e.filter(t=>!t.isMultipart&&t.disposition===Kc.Attachment&&t.contentUrl.length>0).map(t=>({bodyPartId:t.bodyPartId,filename:yd(t.dispositionFilename??"",qh(t.mediaSubtype)),typeLabel:Wh(t.mediaSubtype),sizeOctets:t.sizeOctets,contentUrl:t.contentUrl})),ya={status:"idle"},Vh=({messageId:e,bodyParts:t,hasAttachment:n=!1,className:s})=>{const{getToken:r}=Ol(),o=De(),[i,c]=l.useState({}),u=l.useMemo(()=>va(t??[]),[t]),h=$l({path:{messageId:e}}),m=y=>ba(y.contentUrl,r).catch(d=>{if(!Oh(xa(d)))throw d;return o.refetchQueries({queryKey:h}).then(()=>{const g=o.getQueryData(h),x=g?va(g.bodyParts).find(k=>k.bodyPartId===y.bodyPartId):void 0;return ba(x?.contentUrl??y.contentUrl,r)})}),f=(y,d)=>c(g=>({...g,[y]:d})),p=y=>{const d=u.find(g=>g.bodyPartId===y);if(!d)throw new Error(`No attachment part ${y} on message ${e}`);f(y,{status:"downloading"}),m(d).then(g=>{Hh(g,d.filename),f(y,ya)}).catch(g=>{const x=xa(g),k=Uh(g),{title:b,detail:w}=Bh(x,d.filename,k);f(y,{status:"failed",title:b,detail:w,reportUrl:Kh(x,d.filename,k)})})},v=n&&t!==void 0&&u.length===0;return a.jsx(kd,{className:s,attachments:u.map(y=>({attachmentId:y.bodyPartId,filename:y.filename,typeLabel:y.typeLabel,sizeOctets:y.sizeOctets,download:i[y.bodyPartId]??ya})),onDownload:p,hasUnlistedAttachment:v})},Qh=({messageId:e,threadId:t,mailboxId:n,accountId:s,isRead:r,isStarred:o,onToggleStar:i,fromAddressId:c,isTrusted:u,showRaw:h,onToggleRaw:m,onReply:f,onReplyAll:p,onForward:v})=>{const y=De(),{deleteMessages:d}=nr({mailboxId:n,threadId:t}),{moveMessages:g}=Wn({mailboxId:n,threadId:t,accountId:s}),{toggleTrusted:x}=Ba({messageId:e}),{mutate:k}=Me({...Dn(),onSettled:()=>{y.invalidateQueries({queryKey:dt({path:{threadId:t}})}),nt(y,tt([n]))}}),b=l.useCallback(R=>{g([e],R)},[g,e]),w=l.useCallback(()=>{d([e])},[d,e]),E=l.useCallback(()=>{k({body:{messageIds:[e],isRead:!r}})},[k,e,r]),j=[];return c&&j.push({key:"trusted",label:u?"Trusted sender":"Mark sender trusted",icon:u?a.jsx($n,{className:"size-4 text-positive"}):a.jsx(Mn,{className:"size-4"}),onSelect:()=>x(c,u)}),m&&j.push({key:"raw",label:h?"Show formatted":"Show raw email",icon:a.jsx(lo,{className:"size-4"}),onSelect:m}),a.jsx(wo,{hasThread:!0,onReply:f,onReplyAll:p,onForward:v,isStarred:o,onToggleStar:i,onDelete:w,isRead:r,onToggleRead:E,overflowItems:j,moveSlot:s?a.jsx(sr,{accountId:s,currentMailboxId:n,onMove:b,label:"Move this message"}):void 0})},Gh=()=>a.jsxs("div",{className:"animate-pulse space-y-2",role:"status","aria-label":"Loading raw email",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-11/12"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-5/6"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"})]}),Yh=({messageId:e,enabled:t=!0})=>{const{data:n,isLoading:s,isError:r,error:o,refetch:i}=me({...Fl({path:{messageId:e}}),enabled:t});if(s)return a.jsx("div",{className:"message-body",children:a.jsx(Gh,{})});if(r)return a.jsx("div",{className:"message-body",children:a.jsx(an,{variant:"inline",title:"Couldn't load the raw email",error:o,onRetry:()=>i()})});const c=n?.raw??"";return c===""?a.jsx("div",{className:"message-body",children:a.jsx("p",{className:"text-fg-muted text-sm italic",children:"No raw source available for this message."})}):a.jsx("div",{className:"message-body",children:a.jsx("pre",{className:"email-text whitespace-pre-wrap break-words text-sm leading-relaxed bg-surface-sunken rounded-md p-3 max-h-[32rem] overflow-auto",children:c})})},Xh=()=>a.jsx($n,{className:"inline-block size-4 ml-1 -mt-0.5 text-positive align-middle","aria-label":"Trusted sender","data-testid":"trusted-sender-badge"}),Ti=(e,t)=>({id:e.messageId,fromName:e.fromName??e.fromEmail??"?",fromEmail:e.fromEmail??"",toLabel:"",dateLabel:t,snippet:e.snippet||"",bodyHtml:""}),Ri=({isStarred:e,onToggleStar:t,isStarPending:n,hoverReveal:s})=>a.jsx("button",{type:"button",onClick:r=>{r.stopPropagation(),t()},disabled:n,"aria-label":e?"Remove star":"Add star",className:Ze("shrink-0 p-0.5 rounded transition-colors",e?"text-warning":Ze("text-fg-subtle hover:text-warning",s&&"opacity-0 group-hover:opacity-100 focus:opacity-100"),n&&"opacity-50"),children:a.jsx(Lt,{className:Ze("size-3.5",e&&"fill-current")})}),Jh=({threadMessage:e,isFocused:t,onToggle:n,onToggleStar:s,isStarPending:r})=>{const o=qa(e.sentDate,"datetime"),i=Ti(e,o);return a.jsx(So,{message:i,onClick:n,isFocused:t,isUnread:!e.isRead,trailing:a.jsxs(a.Fragment,{children:[e.hasAttachment&&a.jsx(Fn,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"}),a.jsx(Ri,{isStarred:e.hasStars,onToggleStar:s,isStarPending:r,hoverReveal:!0}),a.jsx("span",{"data-testid":"message-date",className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:o})]})})},Zh=({threadMessage:e,messageData:t,isLoading:n,isError:s,error:r,onRetry:o,isFocused:i,onToggle:c,onToggleStar:u,isStarPending:h,accountId:m,showRaw:f,onToggleRaw:p,mobile:v,onReply:y,onReplyAll:d,onForward:g})=>{const x=qa(e.sentDate,"long"),k=!e.isRead,b=t?.envelope.from[0]?.flags?.trusted?.value===!0,w=t?.envelope.from[0]?.addressId,E=Ti(e,x),j=e.autoMoved||e.spamReport?a.jsx(Ah,{accountId:m,messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,autoMoved:e.autoMoved,spamReport:e.spamReport}):null;return a.jsx(ko,{message:E,isFocused:v?!1:i,onHeaderClick:c,senderBadge:b?a.jsx(Xh,{}):void 0,trailing:a.jsx("span",{"data-testid":"message-date",className:"text-2xs text-fg-subtle",children:x}),to:t?a.jsx(Uu,{label:"To",addresses:t.envelope.to}):null,indicators:j||!v?a.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-0.5",children:[j,!v&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex items-center justify-end gap-1",children:a.jsx(Ri,{isStarred:e.hasStars,onToggleStar:u,isStarPending:h})}),k&&a.jsx("span",{className:"size-1.5 rounded-full bg-accent","aria-label":"Unread"})]})]}):void 0,actionMenu:v?void 0:a.jsx(Lh,{messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,isRead:e.isRead,accountId:m,fromAddressId:w,isTrusted:b,showRaw:f,onToggleRaw:p}),actionBar:v?a.jsx(Qh,{messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,accountId:m,isRead:e.isRead,isStarred:e.hasStars,onToggleStar:u,fromAddressId:w,isTrusted:b,showRaw:f,onToggleRaw:p,onReply:y,onReplyAll:d,onForward:g}):void 0,body:n?a.jsxs("div",{className:"mt-3 animate-pulse space-y-2",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-1/2"})]}):s&&_l(r)?a.jsx("div",{className:"mt-3",children:a.jsx(gi,{message:"This message has been deleted"})}):s?a.jsx("div",{className:"mt-3",children:a.jsx(an,{variant:"inline",title:"Couldn't load this message",error:r,onRetry:o})}):f?a.jsx("div",{className:"mt-3",children:a.jsx(Yh,{messageId:e.messageId})}):a.jsxs("div",{className:"mt-3",children:[a.jsx(jc,{bodyParts:t?.bodyParts,messageId:e.messageId,fromAddressId:t?.envelope.from[0]?.addressId,isTrusted:b,category:ki(e.category)}),a.jsx(Vh,{messageId:e.messageId,bodyParts:t?.bodyParts,hasAttachment:e.hasAttachment,className:"mt-4 px-2 lg:px-0"})]})})},eg=({threadMessage:e,isExpanded:t,isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o,accountId:i,mobile:c,onReply:u,onReplyAll:h,onForward:m})=>{const[f,p]=l.useState(!1),{data:v,isLoading:y,isError:d,error:g,refetch:x}=me({...Pn({path:{messageId:e.messageId}}),enabled:t,meta:{softError:!0}});return t?a.jsx(Zh,{threadMessage:e,messageData:v,isLoading:y,isError:d,error:g,onRetry:()=>x(),isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o,accountId:i,showRaw:f,onToggleRaw:()=>p(k=>!k),mobile:c,onReply:u,onReplyAll:h,onForward:m}):a.jsx(Jh,{threadMessage:e,isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o})},tg=()=>a.jsxs("div",{className:"animate-pulse p-4",children:[a.jsx("div",{className:"h-6 bg-surface-sunken rounded w-3/4 mb-5"}),a.jsx("div",{className:"space-y-4",children:Array.from({length:2}).map((e,t)=>a.jsxs("div",{className:"flex gap-3 py-3",children:[a.jsx("div",{className:"size-10 bg-surface-sunken rounded-full shrink-0"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-32 mb-2"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-48"})]})]},t))})]});function wa({authenticity:e,onOpenIntelligence:t}){return e.dkimMismatch?a.jsxs("div",{className:"flex items-start gap-2 rounded-none border-b border-danger/20 bg-danger-soft px-5 py-2.5 text-sm",children:[a.jsx(_t,{className:"mt-0.5 size-4 shrink-0 text-danger"}),a.jsxs("p",{className:"flex-1 leading-snug text-fg",children:["This message claims to be from"," ",a.jsx("span",{className:"font-semibold",children:e.fromDomain})," but was sent",e.dkimDomain?` via ${e.dkimDomain}`:" from a different domain","."]}),t&&a.jsx("button",{type:"button",onClick:t,className:"shrink-0 text-2xs font-medium text-danger hover:underline",children:"Why?"})]}):null}const Sx=({threadId:e,mailboxId:t,subject:n,selectedMessageId:s,authenticity:r,onOpenIntelligence:o,onBack:i,composeRequest:c,onComposeClose:u,onSwipeNext:h,onSwipePrevious:m,mobileIntelligenceOpen:f})=>{const p=Ln(),{handlers:v}=yh({onSwipeLeft:h,onSwipeRight:m}),{accountId:y}=bi(t),{data:d,isLoading:g,isError:x,error:k,refetch:b}=me({..._a({path:{threadId:e}})}),w=l.useMemo(()=>d?.items??[],[d?.items]),E=w[w.length-1],j=l.useRef(new Map),[R,T]=l.useState(new Set),[P,F]=l.useState(null),[I,z]=l.useState(0);l.useEffect(()=>{if(w.length>0&&e!==P){F(e);const Q=new Set([w[w.length-1].threadMessageId]);if(s){const Z=w.find(ae=>ae.messageId===s);Z&&Q.add(Z.threadMessageId)}T(Q),z(w.length-1)}},[e,w,P,s]);const A=l.useCallback(Q=>{T(Z=>{const ae=new Set(Z);return ae.has(Q)?ae.delete(Q):ae.add(Q),ae})},[]),S=l.useCallback(Q=>{const Z=w[Q];if(!Z)return;j.current.get(Z.threadMessageId)?.scrollIntoView({behavior:"smooth",block:"nearest"})},[w]),M=l.useCallback(()=>{if(w.length===0)return;const Q=Math.min(I+1,w.length-1);z(Q),S(Q)},[w.length,I,S]),O=l.useCallback(()=>{if(w.length===0)return;const Q=Math.max(I-1,0);z(Q),S(Q)},[w.length,I,S]),C=l.useCallback(()=>{const Q=w[I];Q&&A(Q.threadMessageId)},[w,I,A]),{data:D}=me({...Ot(),staleTime:1/0}),N=D?.accounts?.[0];gh({messages:w,expandedIds:R,threadId:e,mailboxId:t,accountId:N?.accountId});const{toggleStar:V,isPending:W,pendingMessageId:ne}=Si({threadId:e,mailboxId:t,messages:w}),[se,de]=l.useState(null),[re,ge]=l.useState(0),q=l.useCallback(Q=>{de(Q),ge(Z=>Z+1)},[]);l.useEffect(()=>{c&&c!=="new"&&(q(c),u?.())},[c,u,q]);const{data:ve}=me({...Pn({path:{messageId:E?.messageId??""}}),enabled:!!E&&se!==null}),J=l.useCallback(()=>q("reply"),[q]),ke=l.useCallback(()=>q("reply_all"),[q]),be=l.useCallback(()=>q("forward"),[q]),Te=l.useCallback(()=>{de(null),u?.()},[u]),Ce=l.useRef(null);if(l.useEffect(()=>{if(se===null||re===0)return;const Q=Ce.current;if(!Q)return;const Z=()=>Q.scrollIntoView({behavior:"smooth",block:"end"});if(Z(),typeof ResizeObserver>"u")return;const ae=new ResizeObserver(Z);return ae.observe(Q),()=>ae.disconnect()},[re,se]),pc({enabled:!g&&w.length>0&&se===null,bindings:[{key:"j",handler:M,preventDefault:!0},{key:"ArrowDown",handler:M,preventDefault:!0},{key:"k",handler:O,preventDefault:!0},{key:"ArrowUp",handler:O,preventDefault:!0},{key:"Enter",handler:C,preventDefault:!0},{key:"o",handler:C,preventDefault:!0},{key:"r",handler:J,preventDefault:!0},{key:"R",handler:ke,noModifiers:!1,preventDefault:!0},{key:"f",handler:be,preventDefault:!0}]}),g)return a.jsx(tg,{});if(x)return a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(an,{title:"Couldn't load this conversation",error:k,onRetry:()=>b()})});if(w.length===0)return a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(gi,{message:"No messages in this thread"})});const U=n||w[0]?.subject||"(No subject)",ye=w.length,Ne=Q=>a.jsx("div",{children:w.map((Z,ae)=>a.jsx("div",{ref:$e=>{$e&&j.current.set(Z.threadMessageId,$e)},children:a.jsx(eg,{threadMessage:Z,isExpanded:R.has(Z.threadMessageId),isFocused:ae===I,onToggle:()=>A(Z.threadMessageId),onToggleStar:()=>V(Z.messageId,Z.hasStars),isStarPending:W&&ne===Z.messageId,accountId:y,mobile:Q,onReply:Q?J:void 0,onReplyAll:Q?ke:void 0,onForward:Q?be:void 0})},Z.threadMessageId))}),Pe=a.jsxs("header",{className:"border-b border-line px-5 pt-5 pb-3",children:[a.jsx("h1",{className:"max-w-2xl text-lg font-semibold leading-snug text-fg",children:U}),a.jsxs("p",{className:"mt-1 text-2xs text-fg-subtle",children:[ye," ",ye===1?"message":"messages"]})]});return p?a.jsxs("article",{className:"h-full flex flex-col",children:[Pe,r?.dkimMismatch&&a.jsx(wa,{authenticity:r,onOpenIntelligence:o}),a.jsxs("div",{className:"min-h-0 flex-1 overflow-auto",children:[Ne(!1),se!==null&&a.jsx("div",{ref:Ce,children:a.jsx(fa,{mode:se,account:N,sourceMessage:ve,onClose:Te})})]})]}):a.jsxs(pd,{thread:{subject:U,messages:[]},onBack:i??(()=>{}),intelligenceOpen:f,onToggleIntelligence:o,touchHandlers:v,children:[r?.dkimMismatch&&a.jsx(wa,{authenticity:r,onOpenIntelligence:o}),Ne(!0),se!==null&&a.jsx("div",{ref:Ce,children:a.jsx(fa,{mode:se,account:N,sourceMessage:ve,onClose:Te})})]})},ng=10,Ii=e=>({q:e?.toLowerCase()??"",limit:ng}),sg=(e,t)=>{if(!t)return;const n=t.toLowerCase();return e?.find(s=>s.normalizedEmail===n)};function rg(e){const t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?"today":Bc(t,{month:"short",year:"numeric"})}function Mi(e){if(!e)return!0;const[,t]=e.split("@");return t?!t.includes("."):!0}const ag="We can't verify the sender of this email, which could mean it's from an insecure source.",og="We couldn't read this sender's address, so we can't confirm who really sent this message.";function ig(e,t){const n=e.category??"personal";return{value:Bl(n)?n:"uncategorized",overridden:t?.flags?.category?.value!=null&&t.flags.category.value!==e.category}}function lg(e,t){return{name:e.fromName??e.fromEmail??"Unknown",email:e.fromEmail??"",trust:e.senderTrust,firstSeenLabel:t?rg(t.createdAt):"unknown",inboundCount:t?.inboundCount,replyCount:t?.replyCount,addressUnverified:Mi(e.fromEmail)}}function cg(e){return e?.flags?{vip:e.flags.vip?.value===!0,muted:e.flags.muted?.value===!0,blocked:e.flags.blocked?.value===!0,unsubscribed:e.flags.unsubscribed?.value===!0}:{}}function Sa(e){if(e.fromName&&e.fromName!==e.fromEmail)return e.fromName}function ug(e){return e.length===1?e[0]:`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`}function dg(e,t){const n=[],s=e.displayNameCorrespondence;t&&(s===br.Unrelated?n.push(`The name it shows, "${t}", has nothing to do with ${e.fromDomain}.`):s===br.Lookalike&&n.push(`The name it shows, "${t}", only looks like ${e.fromDomain}.`));const r=fg(e.offDomainLinkDomains);return r.length>0&&n.push(`Its links go to ${ug(r.slice(0,3))}.`),n}function fg(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function mg(e,t){const n=t>0?t:void 0;if(Mi(e.fromEmail))return{verdict:"mismatch",fromDomain:"",addressUnreadable:!0,summary:og,similarCount:n};const s=e.authenticity;if(!s)return{verdict:"caution",fromDomain:e.fromEmail?.split("@")[1]??"",summary:ag};if(!s.dkimMismatch){const h=Sa(e),m=dg(s,h);return m.length>0?{verdict:"caution",fromDomain:s.fromDomain,dkimDomain:s.dkimDomain,claimedBrand:h,summary:m.join(" ")}:{verdict:"aligned",fromDomain:s.fromDomain,dkimDomain:s.dkimDomain,summary:s.dkimDomain?`This message was signed by ${s.dkimDomain}.`:"Nothing looks unusual about this sender."}}const r=s.fromDomain,o=s.dkimDomain,i=Sa(e),c=o?`it was actually sent from ${o}`:"its signature failed to verify",u=i?`The display name claims "${i}", but ${c}${o?` — not ${r}`:""}. Real senders use their own address.`:`This message claims to be from ${r}, but ${c}.`;return{verdict:"mismatch",fromDomain:r,dkimDomain:o,claimedBrand:i,summary:u,similarCount:n}}function pg(e,t){const n=e?.fromEmail??null,s=e?.subject??"",{data:r,error:o}=me({...An({query:Ii(n??void 0)}),enabled:!!n,staleTime:3e4}),i=sg(r?.items,n??void 0),c=[s,n].filter(Boolean).join(" "),{data:u,isLoading:h,error:m}=me({...zl({query:{query:c,limit:5}}),enabled:!!(e&&c.length>3),staleTime:6e4,retry:1});return{data:l.useMemo(()=>{if(!e)return null;const p=(u?.items??[]).filter(x=>x.messageId!==e.messageId).map(x=>({id:x.messageId,threadId:x.threadId,mailboxId:t!=null&&x.mailboxIds.includes(t)?t:x.mailboxIds[0]??"",fromName:x.fromName??"",subject:x.subject??"(No subject)",timeLabel:x.sentDate!=null?Ft(x.sentDate*1e3):"",matched:x.matchedChunkType})),v=lg(e,i),y=mg(e,p.length),d=ig(e,i),g=cg(i);return{sender:v,authenticity:y,category:d,flags:g,similar:p}},[e,i,u,t]),isSimilarLoading:h,similarError:m,similarErrorIsFatal:ur(m),addressErrorIsFatal:ur(o),addressId:i?.addressId,address:i}}function hg(e,t){const n={...e??{}};for(const[s,r]of Object.entries(t))r==null?delete n[s]:n[s]={...r,setAt:r.setAt??Date.now()};return n}function gg({addressId:e,senderEmail:t}){const n=De(),{pushError:s}=Ye(),r=Ul({query:Ii(t)}),{mutate:o,isPending:i}=Me({...Kl(),onMutate:async u=>{const h=u.body.flags??{};await n.cancelQueries({queryKey:r});const m=n.getQueryData(r);return n.setQueryData(r,f=>f&&{...f,items:f.items.map(p=>p.addressId===u.path.addressId?{...p,flags:hg(p.flags,h)}:p)}),{previous:m}},onError:(u,h,m)=>{m?.previous!==void 0&&n.setQueryData(r,m.previous),s({title:"Couldn't update sender preference",detail:Ve(u),error:u})},onSettled:()=>{n.invalidateQueries({queryKey:r})}});return{updateFlags:l.useCallback(u=>{if(!e){Hl(new Error(`Quick action fired but the sender's address record did not resolve (sender: ${t??"unknown"}). This should never happen — the address row exists.`));return}o({path:{addressId:e},body:{flags:u}})},[e,o,t]),isPending:i}}const kx=e=>e==="vip"?"A sender you know":e==="wellknown"?"You've emailed them before":"Passed authentication",bg=e=>e.senderTrust!=="vip"&&e.senderTrust!=="wellknown"?!1:e.authenticity?.dkimMismatch!==!0;function Cx(e,t){e.recordEvent("rescue.candidates_surfaced",{count:String(t)})}function Ex(e,t){e.recordEvent("rescue.flow_opened",{count:String(t)})}function Nx(e,t){e.recordEvent("rescue.committed",{selected:String(t.selected),total:String(t.total),destination:t.toInbox?"inbox":"other"})}function xg(e,t){e.recordEvent("rescue.sent_to_junk",{count:String(t.count),senderTrust:t.senderTrust,wasRescuable:String(t.wasRescuable)})}const vg=["personal","newsletter","marketing","automated","transactional","social"],yg=e=>e.spamReport?"notSpam":"reportSpam",wg=e=>{const{similarError:t,similarErrorIsFatal:n,isSimilarLoading:s}=e;return t&&!n?"error":s?"loading":"ready"};function Sg(){return a.jsxs("aside",{className:"flex h-full w-full flex-col bg-surface-sunken",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-1.5 border-b border-line px-row-inset",children:[a.jsx(Dt,{className:"size-3.5 text-fg-subtle"}),a.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"})]}),a.jsxs("div",{className:"flex-1 animate-pulse space-y-4 p-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),a.jsxs("div",{className:"flex gap-3",children:[a.jsx("div",{className:"size-10 rounded-full bg-surface shrink-0"}),a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsx("div",{className:"h-3 rounded bg-surface w-3/4"}),a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/2"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),a.jsx("div",{className:"h-8 rounded bg-surface"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),a.jsx("div",{className:"flex gap-1.5 flex-wrap",children:Array.from({length:5}).map((e,t)=>a.jsx("div",{className:"h-6 w-16 rounded bg-surface"},t))})]})]})]})}function kg({isOpen:e,current:t,onSelect:n,onCancel:s}){return e?a.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[a.jsx(ql,{label:"Dismiss reclassify sender",onDismiss:s,className:"backdrop-blur-sm"}),a.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":"Reclassify sender",className:"relative z-10 w-full max-w-sm rounded-sm border border-line bg-surface p-6 shadow-lg",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Reclassify this sender"}),a.jsx("p",{className:"mt-2 text-sm text-fg-muted",children:"Set a category override for future messages from this sender."}),a.jsx("div",{className:"mt-4 flex flex-col gap-1",children:vg.map(r=>a.jsxs("button",{type:"button",onClick:()=>n(r),className:`flex min-h-11 items-center justify-between rounded px-3 text-left text-sm capitalize transition-colors hover:bg-surface-raised ${r===t?"font-semibold text-accent":"text-fg"}`,children:[r,r===t&&a.jsx("span",{className:"text-2xs text-fg-subtle",children:"current"})]},r))}),a.jsx("div",{className:"mt-6 flex justify-end",children:a.jsx("button",{type:"button",onClick:s,className:"inline-flex min-h-11 items-center justify-center rounded border border-line px-4 text-sm font-medium transition-colors hover:bg-surface-raised",children:"Cancel"})})]})]}):null}function Cg({thread:e,onClose:t,mailboxId:n,accountId:s,hideCloseButton:r,onAfterOptimisticRemove:o}){const{data:i,addressId:c,isSimilarLoading:u,similarError:h,similarErrorIsFatal:m}=pg(e,n),[f,p]=l.useState(!1),v=e.fromEmail??void 0,{updateFlags:y}=gg({addressId:c,senderEmail:v}),{reportSpam:d,notSpam:g,isReporting:x,isRestoring:k}=Ni({mailboxId:e.mailboxId,threadId:e.threadId,accountId:s,onAfterOptimisticRemove:o}),b=Wl(),w=yg(e),E=l.useCallback(()=>{g([e.messageId])},[g,e.messageId]),j=l.useCallback(()=>{xg(b,{count:1,senderTrust:e.senderTrust,wasRescuable:bg(e)}),d([e.messageId])},[d,e,b]),R=l.useCallback(()=>{},[]),T=l.useCallback(()=>{const O=i?.flags?.vip!==!0;y({vip:{value:O}})},[i?.flags?.vip,y]),P=l.useCallback(()=>{const O=i?.flags?.muted!==!0;y({muted:{value:O}})},[i?.flags?.muted,y]),F=l.useCallback(()=>{const O=i?.flags?.unsubscribed!==!0;y({unsubscribed:{value:O}})},[i?.flags?.unsubscribed,y]),I=l.useCallback(O=>{p(!1),y({category:{value:O}})},[y]),z=c!==void 0,A={onToggleVip:z?T:void 0,onToggleMute:z?P:void 0,onToggleUnsubscribe:z?F:void 0,onReclassify:z?()=>p(!0):void 0,onNotSpam:w==="notSpam"?E:void 0,onReportSpam:w==="reportSpam"?j:void 0},S=({mailboxId:O,threadId:C,messageId:D,className:N,ariaLabel:V,children:W})=>a.jsx(Va,{to:"/mail/$mailboxId/$threadId/$messageId",params:{mailboxId:O,threadId:C,messageId:D},search:ne=>ne,variant:"row",className:N,"aria-label":V,children:W});if(!i)return a.jsx(Sg,{});const M=wg({similarError:h,similarErrorIsFatal:m,isSimilarLoading:u});return a.jsxs(a.Fragment,{children:[a.jsx(po,{data:i,onClose:t,hideCloseButton:r,onShowSimilar:R,actions:A,similarState:M,similarLinkComponent:S,reportSpamPending:x,notSpamPending:k,className:"border-l-0 h-full w-full"}),a.jsx(kg,{isOpen:f,current:i.category.value,onSelect:I,onCancel:()=>p(!1)})]})}const jx=({onClose:e,thread:t,mailboxId:n,accountId:s,hideCloseButton:r,onAfterOptimisticRemove:o})=>t?a.jsx(Cg,{thread:t,onClose:e,mailboxId:n,accountId:s,hideCloseButton:r,onAfterOptimisticRemove:o}):a.jsxs("aside",{className:"flex h-full w-full flex-col bg-surface-sunken",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-1.5 border-b border-line px-row-inset",children:[a.jsx(Dt,{className:"size-3.5 text-fg-subtle"}),a.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"})]}),a.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center px-row-inset text-center",children:[a.jsx(Dt,{className:"size-8 text-fg-subtle"}),a.jsx("p",{className:"mt-3 text-sm text-fg-muted",children:"Intelligence"}),a.jsx("p",{className:"mt-1 text-2xs text-fg-subtle",children:"Sender trust, authenticity and similar messages will appear here."})]})]}),Eg={delete:(e,t)=>`Deleting ${e} of ${t}…`,move:(e,t)=>`Moving ${e} of ${t}…`,markRead:(e,t)=>`Marking ${e} of ${t} as read…`},Ai={delete:"moved to Trash",move:"moved",markRead:"marked as read"},Ng={delete:"couldn't be deleted",move:"couldn't be moved",markRead:"couldn't be marked as read"},jg={delete:"Couldn't delete these messages",move:"Couldn't move these messages",markRead:"Couldn't mark these messages as read"},Tg={delete:"The delete didn't finish.",move:"The move didn't finish.",markRead:"The update didn't finish."},Tx=(e,t,n)=>Eg[e](xt(t),xt(n)),Rx=(e,t)=>`${xt(t)} ${Ai[e]}. Your mail server is still catching up.`,Ix=e=>`Stopped after ${xt(e)}`,Mx=(e,t,n)=>`${xt(t)} of ${xt(n)} ${Ai[e]}. Nothing was sent for the rest, so they are untouched.`,Rg=(e,t)=>t>0?`Stopped after ${xt(t)} — some messages ${Ng[e]}`:jg[e],Ig=e=>Tg[e],Ax=e=>e==="delete"?"danger":"info",Mg=100,Ag=(e,t)=>e.kind==="move"?[t,e.destinationMailboxId]:[t],Dg=({mailboxId:e,accountId:t,enabled:n,predicateKey:s,searchQuery:r})=>{const[o,i]=l.useState({kind:"idle"}),[c,u]=l.useState(void 0),[h,m]=l.useState(void 0),f=l.useRef(!1),p=l.useRef(!1),v=De(),{pushError:y}=Ye();l.useEffect(()=>{p.current||(f.current=!0),i({kind:"idle"})},[n,s]);const d=l.useRef(r);d.current=r;const g=l.useCallback(T=>async P=>{const{data:F}=await dr({path:{mailboxId:e},query:{...T,continuationToken:P,limit:Mg},throwOnError:!0});return{ids:(F.items??[]).map(I=>I.messageId),continuationToken:F.continuationToken}},[e]),x=l.useCallback(async()=>{const{data:T}=await dr({path:{mailboxId:e},query:{...d.current,count:!0,results:!1},throwOnError:!0});if(T.count===void 0)throw new Error("the search returned no count for the selection");return T.count},[e]),k=l.useCallback(T=>async P=>{if(T.kind==="move"){const{data:I}=await Vl({body:{messageIds:P,destinationMailboxId:T.destinationMailboxId},throwOnError:!0});return I}if(T.kind==="markRead"){const{data:I}=await Ql({body:{messageIds:P,isRead:!0},throwOnError:!0});return I}const{data:F}=await Gl({body:{messageIds:P},throwOnError:!0});return F},[]),b=l.useCallback(T=>{nt(v,tt(Ag(T,e))),t&&v.invalidateQueries({queryKey:$t({path:{accountId:t}})})},[v,e,t]),w=l.useCallback(()=>{f.current=!1,i({kind:"counting"}),x().then(T=>{if(f.current){i({kind:"idle"});return}i({kind:"escalated",total:T})},T=>{y(bs("Couldn't count matching messages","The count didn't finish.",T)),i({kind:"idle"})})},[x,y]),E=l.useCallback(()=>{f.current=!0},[]),j=l.useCallback(()=>{p.current||(f.current=!0,i({kind:"idle"}))},[]),R=l.useCallback(async(T,P)=>{f.current=!1,p.current=!0,u(T);const F=S=>m(fh(S)),I=k(T),z=g(d.current);let A;try{A=P!==void 0?await xi(P,I,F,()=>f.current):await dh(z,o.kind==="escalated"?o.total:0,I,F,()=>f.current)}finally{p.current=!1}return u(void 0),m(void 0),i({kind:"idle"}),A.error&&y(bs(Rg(T.kind,A.done),Ig(T.kind),A.error)),A.done>0&&b(T),A},[k,g,o,y,b]);return{phase:o,escalate:w,stop:E,clear:j,isRunning:c!==void 0,runningAction:c,progress:h,runAction:R}},Pg=120,Lg=({keyboardFocusedMessageId:e,openMessageId:t,enabled:n,open:s,delayMs:r=Pg})=>{const o=l.useRef(s);o.current=s;const i=l.useRef(void 0);l.useEffect(()=>{const c=e;if(!n){i.current=c;return}if(c===void 0||c===t)return;if(c===i.current){i.current=void 0;return}const u=setTimeout(()=>o.current(c),r);return()=>clearTimeout(u)},[n,e,t,r])},Di="This account has no Junk folder appointed, so there is nowhere to file these. Appoint one under Settings › Folders.",Og="These are already in Junk, so there is nowhere to file them.",$g=(e,t)=>e!==void 0&&e!==t?e:void 0,Dx=(e,t)=>{if($g(e,t)===void 0)return e===void 0?Di:Og};function Fg(e,t){if(e.length!==0)return t!==void 0&&e.includes(t)?t:e[0]}const _g={title:"",navSlot:null,titleMeta:null,searchSlot:null,searchField:null,searchResults:null,makeFilterSlot:null},Is=l.createContext(_g),Pi=()=>l.useContext(Is),Li=8,Oi=e=>e==="From"||e==="FromDomain",zg=e=>({value:e.email,label:e.displayName??e.email,...e.displayName?{hint:e.email}:{},...e.fromSelection?{source:"selected"}:{}}),Bg=e=>{const t=Io(e.email);if(t!==null)return{value:t,...e.fromSelection?{source:"selected"}:{}}},Ug=(e,t)=>e.value.toLowerCase().includes(t)||(e.label??"").toLowerCase().includes(t),Kg=(e,t,n)=>{if(!Oi(e))return[];const s=t.trim().toLowerCase(),r=new Set,o=[];for(const i of n){if(i.email.trim()==="")continue;const c=e==="From"?zg(i):Bg(i);if(!c)continue;const u=c.value.toLowerCase();if(!(u===""||r.has(u))&&(r.add(u),u!==s&&!(s!==""&&!Ug(c,s))&&(o.push(c),o.length===Li)))break}return o},Hg=250,Wg=2,qg=(e,t,n)=>{const s=t.trim(),r=Us(s,Hg),o=e!==void 0&&Oi(e),{data:i}=me({...An({query:{q:r,limit:Li}}),enabled:o&&r.length>=Wg});if(!o||e===void 0)return[];const c=[...n.map(u=>({email:u,fromSelection:!0})),...(i?.items??[]).map(u=>({email:u.normalizedEmail,...u.displayName?{displayName:u.displayName}:{}}))];return Kg(e,s,c)},$i=12,Vg=e=>{const{envelope:t}=e,n=t.from[0];return{id:t.messageId,sender:n?Mo({normalizedEmail:n.normalizedEmail,displayName:n.displayName}):"Unknown",subject:t.subject??"(No subject)",date:Ft(t.date)}},Qg=(e,t)=>{const n=e!==void 0&&t!==void 0,{data:s,isLoading:r}=me({...Yl({path:{mailboxId:e??""},query:{...t,limit:$i}}),enabled:n,staleTime:3e4});return{messages:(s?.items??[]).map(Gg),isPending:n&&r}},Gg=e=>({id:e.messageId,sender:e.fromName||e.fromEmail||"Unknown",subject:e.subject??"(No subject)",date:Ft(e.sentDate)}),Yg=e=>_s({queries:e.slice(0,$i).map(t=>({...Pn({path:{messageId:t}}),staleTime:Number.POSITIVE_INFINITY})),combine:t=>({messages:t.map(n=>n.data).filter(n=>n!==void 0).map(Vg),isPending:t.some(n=>n.isPending)})}),Xg=e=>({matchOperator:"Or",literalClauses:zn(e)}),Jg=(e,t,n)=>{const s=Me(Xl()),{mutate:r,reset:o}=s,[i,c]=l.useState(!1),u=l.useMemo(()=>_n(n),[n]),h=l.useCallback(()=>{!e||!t||(c(!1),r({path:{accountId:e},body:hr({anchorMessageId:t,matchOperator:"And",literalClauses:[]})}))},[e,t,r]),m=l.useCallback(()=>{c(!1),o()},[o]),f=s.data,p=f?.semanticUnavailable===!0&&!i&&u.length>0;l.useEffect(()=>{!p||!e||(c(!0),r({path:{accountId:e},body:hr(Xg(u))}))},[p,e,u,r]);const v=i||(f?.semanticUnavailable??!1),y=s.isPending||p,d=i?{matchOperator:"Or",literalClauses:zn(u)}:{...t?{anchorMessageId:t}:{},matchOperator:"And",literalClauses:[]};return{preview:h,reset:m,matchedCount:y?void 0:f?.matchedCount,messageIds:y?void 0:f?.messageIds,semanticUnavailable:v,senderFallback:i,senders:u,matchPredicate:d,isPending:y,isError:s.isError,error:s.error}},Zg=()=>[Oa({path:{mailboxId:""}}),$a({path:{mailboxId:""}}),Fa()].map(e=>[{_id:e[0]._id}]),eb=e=>vi(e)?e.pages:yi(e)?[e]:[],tb=e=>typeof e=="object"&&e!==null&&typeof e.messageId=="string",nb=(e,t)=>{const n=new Set(t),s=new Map;for(const r of e)for(const o of eb(r))for(const i of o.items){if(!tb(i)||!n.has(i.messageId))continue;const c=i.subject?.trim();c&&s.set(i.messageId,c)}return t.map(r=>s.get(r)).filter(r=>r!==void 0)},sb=e=>{const t=De(),n=e.join("\0");return l.useMemo(()=>{const s=Zg().flatMap(r=>t.getQueriesData({queryKey:r}).map(([,o])=>o));return nb(s,e)},[t,n])},rb=new Set(["hasAttachment","isUnread","isRead","isStarred","category","before","after"]),ab=e=>rb.has(e),ob=(e,{searchHadSemanticReach:t})=>{const n=[],s=[];let r,o;for(const u of e.tokens){if(u.type==="from"){n.push({field:"From",value:u.value});continue}if(u.type==="subject"){n.push({field:"Subject",value:u.value});continue}if(u.type==="in"){r={mailboxId:u.mailboxId,label:u.value};continue}if(u.type==="account"){o=u.accountId;continue}ab(u.type)&&s.push({type:u.type,label:Ua(u)})}const i=e.freeText.trim(),c=i.length>0;return c&&n.push({field:"HasWords",value:i}),{clauses:n,matchOperator:"all",scopedOut:r,droppedFacets:s,targetAccountId:o,keptTerms:c,droppedSemantic:c&&t}},ib=(e,t,n)=>e.targetAccountId??t??n[0]?.accountId,lb=({failure:e,isStarting:t,isRunning:n,isDone:s,failedCount:r,ruleSaved:o})=>e?.kind==="restartFailed"?"backApplyRestartFailed":e?.kind==="startFailed"?o?"backApplyStartFailed":"commitFailed":s?r>0?"backApplyFailed":"backApplyComplete":e?.kind==="statusUnreadable"?"statusUnknown":t||n?"backApplyRunning":"saving",cb={clauses:[],matchOperator:"any"},ub={clauses:[],matchOperator:"all",droppedFacets:[],keptTerms:!1,droppedSemantic:!1},db=[],gt={state:"saving",matched:0,applied:0,failed:0,failures:[]},ms=(e,t)=>e.map((n,s)=>({...n,id:`${t}-${s}`})),ka=(e,t,n)=>{if(e==="delete")return{kind:"delete"};if(e==="markRead")return{kind:"markRead"};const s=e==="junk"?n:t;return s?{kind:"move",destinationMailboxId:s}:void 0},ps=e=>e==="move"||e==="junk"||e==="organize",Ca=e=>e==="junk"?Di:"No destination was chosen, so there is nowhere to file these. Go back and pick a folder.";function fb({verb:e,accountId:t,mailboxId:n,selection:s,crossAccount:r=!1,escalated:o,escalatedProgress:i,searchConversion:c,onFinished:u,onRunEnded:h,step:m,goToStep:f,goBack:p,closeWizard:v}){const[y]=l.useState(()=>c),[d]=l.useState(()=>o),g=y!==void 0,[x,k]=l.useState(g?"properties":"selected"),b=d?"escalated":x,[w,E]=l.useState(()=>y?{clauses:ms(y.clauses,"search"),matchOperator:y.matchOperator}:cb),[j,R]=l.useState(void 0),[T,P]=l.useState(void 0),[F,I]=l.useState(!1),[z,A]=l.useState(void 0),[S,M]=l.useState(void 0),[O,C]=l.useState(),D=l.useRef(!1),N=l.useRef(!1),V=l.useMemo(()=>s.map(L=>L.id),[s]),W=l.useMemo(()=>s.map(L=>L.email).filter(Boolean),[s]),ne=V[0],se=sb(V),{junkMailboxId:de}=Ci(t),re=Jg(d?void 0:t,ne,W),{preview:ge}=re;l.useEffect(()=>{ge()},[ge]);const q=b==="similar"||b==="properties",ve=l.useMemo(()=>({matchOperator:w.matchOperator==="all"?"And":"Or",literalClauses:w.clauses.map(L=>({field:L.field,value:L.value}))}),[w.clauses,w.matchOperator]),J=b==="similar"?re.matchPredicate:ve,{count:ke,matchedIds:be}=Dc(q?t:void 0,J),Te=Yg(q?be:[]),Ce=Qg(d?n:void 0,d?.searchQuery),U=d?{status:"ready",count:d.total}:q?ke:{status:"ready",count:s.length},{data:ye}=me({...rn({path:{accountId:t??""}}),enabled:!!t,staleTime:Number.POSITIVE_INFINITY}),Ne=Ei(t),Pe=Qa(),Q=l.useMemo(()=>Ya({mailboxes:ye?.items??[],folderAppointments:Ne,currentMailboxId:n,translator:Pe}),[ye?.items,Ne,n,Pe]),{createFolderIn:Z}=Ga(t),ae=Q.find(L=>L.id===w.moveMailboxId)?.label,$e=Cf(s.map(L=>({normalizedEmail:L.email,displayName:L.sender}))),Fe=Af({match:b==="properties"&&w.clauses[0]?.value.trim()||void 0,sender:$e?Mo($e):void 0,folder:ae}),G=l.useMemo(()=>({...w,name:w.name??Fe}),[w,Fe]),He=qg(j?.draft.field,j?.draft.value??"",W),je=Pc(t),Le=Lc(t),ze=Dg({mailboxId:n??"",accountId:t,enabled:!1,predicateKey:"selection-wizard",searchQuery:{}}),{runAction:_e}=ze,le=ec({verb:e,mode:b,scope:w.scope,fromSearch:g}),oe=le[fr(le,m)],Xe=!r&&!!t,Be=Xe?void 0:sc,We=Xe?void 0:rc,Oe=(L=>{if(L==="folder")return We;if(L==="rule")return G.scope==="standing"||G.scope==="until"?Be:void 0})(oe)??tc(oe,G,U),ee=l.useCallback(()=>ms(Mf(W,se),"seed"),[W,se]),we=l.useCallback(L=>{k(L),E(B=>({...B,widen:L==="similar"&&ne?{anchorCount:Math.max(s.length,1)}:void 0,...L==="properties"&&B.clauses.length===0?{clauses:ee()}:{}}))},[ne,s.length,ee]),pe=l.useCallback(()=>{I(!0),k("properties"),E(L=>({...L,widen:void 0,clauses:ms(zn(W),"sender"),matchOperator:"any"})),f("properties")},[W,f]),_=re.semanticUnavailable||re.isError;l.useEffect(()=>{oe==="match"&&(b!=="similar"||!_||F||pe())},[oe,b,_,F,pe]);const Y=l.useCallback(()=>{R({mode:"add",draft:{field:"From",value:""}})},[]),K=l.useCallback(L=>{const B=w.clauses.find(ue=>ue.id===L);B&&R({mode:"edit",clauseId:L,draft:{field:B.field,value:B.value}})},[w.clauses]),H=l.useCallback(L=>{E(B=>({...B,clauses:B.clauses.filter(ue=>ue.id!==L)}))},[]),ce=l.useCallback(L=>{R(B=>B&&{...B,draft:L})},[]),ie=l.useCallback(()=>{R(L=>{if(!L)return;const B=Oc(L.draft.field,L.draft.value),ue={...L.draft,value:B};E(wt=>({...wt,clauses:L.clauseId?wt.clauses.map(Bt=>Bt.id===L.clauseId?{...Bt,...ue}:Bt):[...wt.clauses,{id:crypto.randomUUID(),...ue}]}))})},[]),Ee=l.useCallback(()=>{if(Oe){P(oe);return}P(void 0);const L=le[fr(le,oe)+1];L&&f(L)},[Oe,oe,le,f]),Ue=l.useCallback(async L=>{const B=ka(e,G.moveMailboxId,de);if(!B){M({matched:L.length,failureReason:Ca(e)});return}M({matched:L.length});const ue=await _e(B,[...L]);M({matched:L.length,outcome:ue}),N.current&&h?.(B.kind,L.length,ue)},[e,G.moveMailboxId,de,_e,h]),Re=l.useCallback(async()=>{if(!d)return;const L=ka(e,G.moveMailboxId,de);if(!L){M({matched:d.total,failureReason:Ca(e)});return}M({matched:d.total});const B=await d.run(L);M({matched:d.total,outcome:B}),N.current&&h?.(L.kind,d.total,B)},[d,e,G.moveMailboxId,de,h]),{start:Ke}=je,{createFilterAsync:qe}=Le,Ie=l.useCallback(()=>{if(d){Re();return}const L=$c({mode:x,ruleScope:G.scope}),B=Fc({mode:x,ruleScope:G.scope,anchorMessageId:ne,clauses:G.clauses,matchOperator:G.matchOperator,moveMailboxId:G.moveMailboxId,until:G.until});if(A(L),L==="standing"||L==="temporary"){const ue=_c(B)?B:void 0;C(ue),qe(B,L,(G.name??"").trim()).then(wt=>{wt&&ue&&Ke(ue)});return}if(L==="all-like-these"&&ps(e)){Ke(B);return}Ue(L==="just-these"?V:be)},[d,Re,x,G,ne,e,V,be,qe,Ke,Ue]),yt=l.useCallback(()=>{if(Oe){P(oe);return}D.current||(D.current=!0,f("run"),Ie())},[Oe,oe,f,Ie]),zt=l.useCallback(L=>{const B=je.progress,ue=lb({failure:je.failure,isStarting:je.isStarting,isRunning:je.isRunning,isDone:je.isDone,failedCount:B.failedCount,ruleSaved:L});return ue==="saving"||ue==="commitFailed"||ue==="backApplyStartFailed"?{...gt,state:ue}:{state:ue,matched:B.matchedCount,applied:B.appliedCount,failed:ue==="backApplyFailed"||ue==="backApplyRestartFailed"?B.failedCount:0,failures:[]}},[je]),or=l.useMemo(()=>{const L=new Map;for(const B of[...s,...Te.messages,...Ce.messages])L.set(B.id,B);return L},[s,Te.messages,Ce.messages]),ir=d?i:ze.progress,lr=l.useCallback(()=>{if(!S)return gt;const{matched:L,outcome:B,failureReason:ue}=S;if(ue!==void 0)return{...gt,state:"commitFailed",failureReason:ue};if(!B){const St=ir?.done??0;return{state:"backApplyRunning",matched:Math.max(L,St),applied:St,failed:0,failures:[]}}if(!(B.cancelled||B.error!==void 0))return{state:"backApplyComplete",matched:Math.max(L,B.done),applied:B.done,failed:0,failures:[]};if(B.done===0)return{...gt,state:"commitFailed"};const Bt=B.failedIds.map(St=>or.get(St)).filter(St=>St!==void 0),Wi=B.failedIds.length>0?B.failedIds.length:Math.max(L-B.done,1);return{state:"runStopped",matched:Math.max(L,B.done),applied:B.done,failed:Wi,failures:Bt}},[S,ir,or]),mt=d?lr():z==="standing"||z==="temporary"?Le.isError?{...gt,state:"commitFailed"}:Le.isSuccess?O?zt(!0):{...gt,state:"filterSaved"}:gt:z==="all-like-these"&&ps(e)?zt(!1):lr(),Bi=()=>{if(mt.state==="statusUnknown"){je.refreshStatus();return}if(d){Re();return}if(z==="standing"||z==="temporary"){if(Le.isError){Le.reset(),Ie();return}O&&Ke(O);return}if(z==="all-like-these"&&ps(e)){Ie();return}const L=S?.outcome?.failedIds??[];Ue(L.length>0?L:V)},Ui=l.useCallback(()=>{v(le,oe)},[v,le,oe]),qn=l.useCallback(()=>{N.current=!0,v(le,oe),u()},[v,le,oe,u]),{stop:cr}=ze,Ki=S!==void 0&&S.outcome===void 0&&S.failureReason===void 0,Hi=l.useCallback(()=>{if(d){d.stop();return}cr()},[d,cr]);up({shouldBlockFn:({action:L})=>L!=="BACK"?!1:(qn(),!0),enableBeforeUnload:!1,disabled:oe!=="run"});const Vn={messages:d?Ce.messages:q?Te.messages:s,count:U,label:b==="selected"?"Your selection":"A sample of what matches",emptyReason:b==="similar"&&_?"notIndexed":"noMatch",loading:d?Ce.isPending:q&&(U.status==="loading"||Te.isPending)};return a.jsx(nc,{verb:e,steps:le,step:oe,blockedReason:Oe,nudged:T===oe,onBack:p,onExit:oe==="run"?qn:Ui,onContinue:Ee,onCommit:yt,match:{selectedCount:s.length,mode:b,onModeChange:we,semanticUnavailable:_,semanticErrorDetail:re.error instanceof Error?re.error.message:void 0,semanticFallbackTaken:F,onSemanticFallback:pe,escalatedScope:d?.scope,sample:Vn},properties:{clauses:G.clauses,matchOperator:G.matchOperator,onMatchOperatorChange:L=>E(B=>({...B,matchOperator:L})),clauseEdit:j,onStartAddClause:Y,onStartEditClause:K,onRemoveClause:H,onChangeDraft:ce,onSubmitClause:ie,onCancelClause:()=>R(void 0),clauseFields:zc,clauseSuggestions:He,conversionNotice:y?Pf(y):void 0,semanticFallbackTaken:F,sample:{...Vn,label:"What this matches"}},folder:{folders:Q,mailboxId:G.moveMailboxId,delimiter:Xa(ye?.items??[]),onSelect:L=>E(B=>({...B,moveMailboxId:L})),onCreateFolder:t?Z:void 0,restriction:We},rule:{draft:G,onScopeChange:L=>E(B=>({...B,scope:L})),onUntilChange:L=>E(B=>({...B,until:L})),restriction:Be},name:{name:G.name??"",onNameChange:L=>E(B=>({...B,name:L})),nudged:T===oe},review:{verb:e,mode:b,selectedCount:s.length,clauses:G.clauses,matchOperator:G.matchOperator,folder:ae,scope:G.scope,until:G.until,ruleName:le.includes("name")?G.name:void 0,escalatedScope:d?.scope,sample:Vn},run:{state:mt.state,verb:e,scope:G.scope,matched:mt.matched,applied:mt.applied,failedCount:mt.failed,failures:mt.failures,failureReason:mt.failureReason,onRetry:Bi,onDismiss:qn,onCancelRun:Ki?Hi:void 0}})}function Px(e){const t=Jl()==="search",{searchConversion:n}=Pi(),{accounts:s}=zs(),{step:r,goToStep:o,goBack:i,closeWizard:c}=Zl(t?"properties":"match");if(!r)return null;const u=t?n??ub:void 0;return a.jsx(fb,{...e,...u?{verb:"organize",accountId:ib(u,e.accountId,s),selection:db,crossAccount:!1,escalated:void 0,searchConversion:u}:{},step:r,goToStep:o,goBack:i,closeWizard:c})}const rr=l.createContext(null),mb=e=>{const t=l.useContext(rr);return t?t.rowInteraction(e):null},pb=()=>{const e=l.useContext(rr);if(!e)throw new Error("useThreadListSelection must be used inside <ThreadListInteraction>");return e},hb="[data-message-id]",gb=e=>Array.from(e.querySelectorAll(hb)).map(t=>t.dataset.messageId).filter(t=>t!==void 0),bb=(e,t)=>e.length===t.length&&e.every((n,s)=>n===t[s]),xb=e=>{const[t,n]=l.useState([]);return l.useEffect(()=>{const s=e.current;if(!s)return;const r=()=>{const i=gb(s);n(c=>bb(c,i)?c:i)};r();const o=new MutationObserver(r);return o.observe(s,{childList:!0,subtree:!0}),()=>o.disconnect()},[e]),t};function Lx({selectedMessageId:e,onOpen:t,onDeleteMessages:n,onSelectionVerb:s,wizardOpen:r=!1,isDeleting:o=!1,commandsRef:i,onTriageContextChange:c,children:u}){const h=Ln(),m=l.useRef(null),f=xb(m),p=Lf({orderedIds:f,isDesktop:h,initialFocusedId:e}),{focusedMessageId:v,setFocusedMessageId:y,pendingDomFocusRef:d,cursorMovedByPointerRef:g,selection:x,isMultiSelectMode:k,exitSelection:b,handleRowSelect:w}=p,{selectedIds:E,selectedCount:j,isSelected:R,toggle:T,select:P,toggleAll:F}=x,I=f.length>0&&f.every(J=>E.has(J)),z=l.useCallback(()=>{f.length>0&&F(f)},[f,F]),{intersectWith:A}=x;l.useEffect(()=>{A(f)},[A,f]),l.useEffect(()=>{const J=d.current;J!==null&&(d.current=null,m.current?.querySelector(`[data-message-id="${J}"]`)?.focus())});const S=l.useCallback(J=>{g.current=!0,y(J)},[g,y]),M=l.useCallback(J=>{h||P(J)},[h,P]),O=l.useCallback(()=>{v&&t(v)},[v,t]),C=l.useCallback(J=>t(J,{replace:!0}),[t]);Lg({keyboardFocusedMessageId:p.keyboardFocusedMessageId,openMessageId:e,enabled:h&&j===0,open:C});const[D,N]=l.useState(null),V=l.useCallback(J=>D!==null?!0:j>0?(s(J),!0):J!=="delete"||!v?!1:(N([v]),!0),[D,j,s,v]),W=l.useCallback(()=>{D!==null&&(n(D),N(null),b())},[D,n,b]),ne=l.useCallback(()=>N(null),[]),se=l.useCallback(()=>j===0?!1:(b(),!0),[j,b]),de=f.length>0;l.useEffect(()=>{if(i){if(!de){i.current=null;return}return i.current={focusNext:p.focusNext,focusPrevious:p.focusPrevious,focusFirst:p.focusFirst,focusLast:p.focusLast,openFocused:O,toggleSelect:p.toggleFocusedSelection,extendSelectDown:p.extendRangeDown,extendSelectUp:p.extendRangeUp,selectAll:p.selectAllLoaded,clearSelection:se,requestVerb:V,toggleDensity:()=>{}},()=>{i.current=null}}},[i,de,p.focusNext,p.focusPrevious,p.focusFirst,p.focusLast,p.toggleFocusedSelection,p.extendRangeDown,p.extendRangeUp,p.selectAllLoaded,O,se,V]);const re=l.useMemo(()=>Array.from(E),[E]),ge=D!==null;l.useEffect(()=>{c?.({focusedMessageId:v,selectedIds:re,orderedIds:f,hasList:de,blocksKeyboard:ge||r})},[c,v,re,f,de,ge,r]);const q=Fg(f,v),ve=l.useMemo(()=>({selectedIds:E,selectedCount:j,exitSelection:b,startSelectionVerb:s,orderedIds:f,allSelected:I,toggleAllLoaded:z,rowInteraction:J=>({focused:J===v,isTabStop:J===q,isDesktop:h,onFocusRow:S,selection:{isChecked:R(J),onToggleCheck:T,onRowSelect:w,isMultiSelectMode:k,onLongPress:M}})}),[E,j,b,s,f,I,z,v,q,h,S,R,T,w,k,M]);return a.jsxs(rr.Provider,{value:ve,children:[a.jsx("div",{ref:m,className:"contents",children:u}),a.jsx(qc,{isOpen:ge,title:Uc(D?.length??0),description:"You can restore them from Trash later.",confirmLabel:"Move to Trash",destructive:!0,isBusy:o,onConfirm:W,onCancel:ne})]})}function Ox({title:e,isDeleting:t}){const n=Pi(),{selectedCount:s,exitSelection:r,startSelectionVerb:o,orderedIds:i,allSelected:c,toggleAllLoaded:u}=pb();return a.jsx(Gd,{title:n.title||e,navSlot:n.navSlot,titleMeta:n.titleMeta,searchSlot:n.searchSlot,searchField:n.searchField,idleSlot:n.makeFilterSlot,count:s,onCancel:r,onDelete:()=>o("delete"),onMarkRead:()=>o("markRead"),isBusy:t,selectAll:i.length>0?{checked:c,indeterminate:s>0&&!c,onChange:u}:void 0})}const hs=e=>{e.preventDefault(),e.stopPropagation()},vb=(e,t)=>{const n=l.useRef(!1),s=l.useCallback(i=>{if(n.current=!1,i.button!==0)return;const c=ws(i);Nr(c)&&t?.(e,c)&&(hs(i),n.current=!0,i.currentTarget.focus(),c.shiftKey&&window.getSelection()?.removeAllRanges())},[t,e]),r=l.useCallback(i=>{!i.ctrlKey||!t||i.preventDefault()},[t]),o=l.useCallback(i=>{if(n.current)return n.current=!1,hs(i),!0;const c=ws(i);return!Nr(c)||!t?.(e,c)?!1:(hs(i),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0)},[t,e]);return{onMouseDown:s,onContextMenu:r,claimClick:o}},yb=({thread:e,active:t=!1,focused:n,isTabStop:s,density:r="comfortable",isDesktop:o,badge:i,selection:c,inListbox:u=!1,link:h,onClick:m,onFocusRow:f})=>{const p=De(),v=e.id,y=mb(v),d=n??y?.focused??!1,g=s??y?.isTabStop??!1,x=c??y?.selection,k=f??y?.onFocusRow,b=o??y?.isDesktop??!0,w=x?.isChecked??!1,E=x?.isMultiSelectMode??!1,j=x?.onToggleCheck,R=x?.onRowSelect,T=x?.onLongPress,P=l.useCallback(N=>{N.preventDefault(),N.stopPropagation(),j?.(v)},[j,v]),F=vb(v,R),I=l.useCallback(N=>{if(!F.claimClick(N)){if(!b){if(E){N.preventDefault(),N.stopPropagation(),j?.(v);return}m?.();return}R?.(v,ws(N)),m?.()}},[F,b,E,j,R,m,v]),z=l.useCallback(()=>{T?.(v)},[T,v]),{longPressProps:A}=od({onLongPress:z,accessibilityDescription:w?"Deselect message":"Select message"}),S=l.useCallback(()=>{p.prefetchQuery(Pn({path:{messageId:v}}))},[p,v]),M=l.useCallback(()=>{S(),k?.(v)},[S,k,v]),O=on({"data-list-row":"","data-message-row":!0,"data-message-id":v,...u?{role:"option","aria-selected":w}:{},tabIndex:g?0:-1,onClick:I,onMouseDown:F.onMouseDown,onContextMenu:F.onContextMenu,onMouseEnter:S,onFocus:M},b||!x?{}:A),C=Ze(r==="compact"?go({active:t,focused:d}):Ze("group",Vs({active:t,focused:d})),"outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-inset",w&&"bg-accent-soft",!b&&"min-h-11 select-none [-webkit-touch-callout:none]"),D=r==="compact"?a.jsx(bo,{thread:e}):a.jsx(Qs,{thread:e,badge:i,selection:x?{checked:w,alwaysVisible:E,onToggle:P}:void 0});return h===void 0?a.jsx("button",{type:"button",...O,className:C,children:D}):a.jsx(Va,{to:"/mail/$mailboxId/$threadId/$messageId",params:{...h,messageId:v},search:N=>N,variant:"row",...O,className:C,children:D})},$x=l.memo(yb),gs="Open a message first",Fx=({hasThread:e,intelligenceOpen:t,canToggleIntelligence:n,onToggleIntelligence:s,onReply:r,onReplyAll:o,onForward:i,onDelete:c,canDelete:u,onToggleStar:h,isStarred:m,moveContext:f})=>{const[p,v]=l.useState(null),y=u??e,d=g=>()=>v(g);return a.jsx(md,{hasThread:e,isStarred:m,onUnavailable:g=>v(gs),unavailableHint:p,replyTitle:`Reply ${Ut("reply")}`,replyAllTitle:`Reply all ${Ut("replyAll")}`,forwardTitle:`Forward ${Ut("forward")}`,deleteTitle:`Move to Trash ${Ut("delete")}`,flagTitle:`Star ${Ut("toggleStar")}`,onReply:r,onReplyAll:o,onForward:i,onDelete:y?c:d(gs),onToggleStar:h,onMove:d(gs),moveSlot:f?a.jsx(sr,{accountId:f.accountId,currentMailboxId:f.currentMailboxId,onMove:f.onMove,label:"Move to mailbox"}):void 0,children:a.jsx(fd,{open:t,enabled:n,onToggle:s})})},wb=()=>{const e=De();return l.useCallback(t=>{const n=dt({path:{threadId:t.threadId}}),r=e.getQueriesData({queryKey:n}).flatMap(([,o])=>o?.items.map(i=>i.messageId)??[]);return r.length>0?r:[t.messageId]},[e])},_x=({thread:e,mailboxId:t,accountId:n,onAfterOptimisticRemove:s})=>{const r=t??e?.mailboxId,o=n??e?.accountId,{accountId:i}=bi(o?void 0:r),c=o??i,u=wb(),{deleteMessages:h}=nr({mailboxId:r??"",threadId:e?.threadId,accountId:c,onAfterOptimisticRemove:s}),{moveMessages:m}=Wn({mailboxId:r??"",threadId:e?.threadId,accountId:c,onAfterOptimisticRemove:s}),{toggleStar:f}=Si({threadId:e?.threadId??"",mailboxId:r??""}),p=l.useCallback(()=>{e&&h(u(e))},[e,u,h]),v=l.useCallback(k=>{e&&m(u(e),k)},[e,u,m]),y=l.useCallback(()=>{e&&f(e.messageId,e.hasStars)},[e,f]),[d,g]=l.useState(null),x=l.useCallback(()=>g(null),[]);return{mailboxId:r,accountId:c,isStarred:e?.hasStars,deleteThread:p,moveThread:v,toggleStar:y,composeRequest:d,requestCompose:g,clearComposeRequest:x}},zx=(e,t)=>{const{data:n}=me({..._a({path:{threadId:e??""}}),enabled:!!e}),s=n?.items??[],r=t?s.find(i=>i.messageId===t):void 0,o=s.length>0?s[s.length-1]:void 0;return r??o},Ea=(e,t,n)=>{if(!t)return null;const s=e.indexOf(t);if(s===-1)return null;const r=n==="next"?s+1:s-1;return r<0||r>=e.length?null:e[r]},Bx=()=>{const[e,t]=l.useState(void 0),[n,s]=l.useState([]),[r,o]=l.useState([]),i=l.useRef(null),[c,u]=l.useState(!1),[h,m]=l.useState(!1),f=l.useCallback(p=>{t(p.focusedMessageId),s(p.selectedIds),p.orderedIds&&o(p.orderedIds),u(p.hasList),m(p.blocksKeyboard)},[]);return{listCommandsRef:i,onTriageContextChange:f,focusedMessageId:e,selectedIds:n,orderedIds:r,hasList:c,blocksKeyboard:h}},Ux=({context:e,orderedIds:t,selectedMessageId:n,enabled:s=!0,onClose:r,handlers:o})=>{const{listCommandsRef:i,hasList:c,blocksKeyboard:u}=e,h=l.useCallback(()=>{i.current?.clearSelection()||n&&r()},[i,n,r]);return hc({enabled:s&&!u,handlers:{...c?{focusNext:()=>i.current?.focusNext(),focusPrevious:()=>i.current?.focusPrevious(),focusFirst:()=>i.current?.focusFirst(),focusLast:()=>i.current?.focusLast(),openFocused:()=>i.current?.openFocused(),toggleSelect:()=>i.current?.toggleSelect(),extendSelectDown:()=>i.current?.extendSelectDown(),extendSelectUp:()=>i.current?.extendSelectUp(),selectAll:()=>i.current?.selectAll(),toggleDensity:()=>i.current?.toggleDensity()}:{},back:h,...o}}),{goBack:h,nextMessageId:Ea(t,n,"next")??void 0,previousMessageId:Ea(t,n,"previous")??void 0}},Sb={sender:"sender",recipient:"recipient",subject:"subject",attachment:"attachment",body:"body",entities:"entities"};function kb(e){return Sb[e]??e}function Kx(e,t){const{folder:n}=Bs(t,[e.mailboxId]);return{id:e.messageId,sender:e.fromName??e.fromEmail??"Unknown",...e.fromEmail?{senderEmail:e.fromEmail}:{},subject:e.subject??"(No subject)",snippet:e.snippet??"",date:Ft(e.sentDate),unread:!e.isRead,flagged:e.hasStars===!0,threadId:e.threadId,mailboxId:e.mailboxId,...n?{folder:n}:{}}}function Hx(e,t){const{folder:n}=Bs(t,e.mailboxId?[e.mailboxId]:[]);return{id:e.id,sender:e.fromName,...e.fromEmail?{senderEmail:e.fromEmail}:{},subject:e.subject,snippet:e.snippet,date:e.timeLabel,unread:!e.isRead,flagged:e.starred===!0,...e.threadId?{threadId:e.threadId}:{},...e.mailboxId?{mailboxId:e.mailboxId}:{},...n?{folder:n}:{}}}function Cb(e,t){const{mailboxId:n,folder:s}=Bs(t,e.mailboxIds);return{id:e.messageId,sender:e.fromName??"Unknown",subject:e.subject??"(No subject)",snippet:"",date:e.sentDate!=null?Ft(e.sentDate*1e3):"",threadId:e.threadId,matchedChunkLabel:kb(e.matchedChunkType),score:e.score,...n?{mailboxId:n}:{},...s?{folder:s}:{}}}function Wx(e,t,n){const s=new Set(t),r=[];for(const o of[...e].sort((i,c)=>c.score-i.score))s.has(o.threadId)||(s.add(o.threadId),r.push(Cb(o,n)));return r}function qx(e){const t=e.authenticity?.dkimMismatch===!0;return{id:e.messageId,accountId:e.accountId,mailboxId:e.mailboxId,threadId:e.threadId,fromName:e.fromName??e.fromEmail??"Unknown",fromEmail:e.fromEmail??"",subject:e.subject??"(No subject)",snippet:e.snippet??"",timeLabel:Ft(e.sentDate),sentDate:e.sentDate,isRead:e.isRead,hasAttachment:e.hasAttachment,starred:e.hasStars===!0,trust:e.senderTrust,category:ki(e.category),suspicious:t}}function Vx(e){return e.filter(t=>t.muted!==!0)}function Qx(e,t){const n=new Set,s=[];for(const r of[...e,...t])n.has(r.id)||(n.add(r.id),s.push(r));return s.sort((r,o)=>(o.sentDate??0)-(r.sentDate??0))}const Na=[{id:"personal",label:"Personal",category:Je.personal},{id:"transactional",label:"Transactional",category:Je.transactional},{id:"newsletter",label:"Newsletter",category:Je.newsletter},{id:"marketing",label:"Marketing",category:Je.marketing},{id:"social",label:"Social",category:Je.social},{id:"automated",label:"Automated",category:Je.automated},{id:"uncategorized",label:"Unclassified",category:Je.uncategorized}];function Gx(e){const t=new Map(Na.map(s=>[s.category,[]]));for(const s of e){const r=s.category??Je.uncategorized;(t.get(r)??t.get(Je.uncategorized))?.push(s)}const n=[];for(const s of Na){const r=t.get(s.category);r&&r.length>0&&n.push({id:s.id,label:s.label,threads:r})}return n}function Yx(e,t){return e.fromName.toLowerCase().includes(t)||e.fromEmail.toLowerCase().includes(t)||e.subject.toLowerCase().includes(t)||e.snippet.toLowerCase().includes(t)}function Xx(e,t){return t.every(n=>{switch(n.type){case"from":{const s=n.value.toLowerCase();return e.fromEmail.toLowerCase().includes(s)||e.fromName.toLowerCase().includes(s)}case"subject":return e.subject.toLowerCase().includes(n.value.toLowerCase());case"category":return(e.category??"uncategorized")===n.category;case"hasAttachment":return e.hasAttachment===!0;case"isUnread":return!e.isRead;case"isRead":return e.isRead===!0;case"isStarred":return e.starred===!0;case"after":return e.sentDate!=null&&e.sentDate>=n.epochSeconds*1e3;case"before":return e.sentDate!=null&&e.sentDate<n.epochSeconds*1e3;case"in":return e.mailboxId===n.mailboxId;case"account":return e.accountId===n.accountId;default:return!1}})}const Fi=8;function ar(e,t){const n=Math.max(0,Math.min(t,e.length)),s=Tc(e).find(o=>n>=o.start&&n<=o.end);if(!s)return{start:n,end:n,raw:""};const r=Rc(s.raw);return r?{start:s.start,end:s.end,raw:s.raw,name:r.name,value:r.value}:{start:s.start,end:s.end,raw:s.raw}}function Eb(e,t){const n=ar(e,t);if(n.name===void 0)return{kind:"token",query:n.raw};const s=Ka(n.name);if(s)return{kind:"value",token:s.name,source:s.values,query:n.value??""}}const Nb={mailbox:"mailboxes",account:"accounts",contact:"contacts"},jb=(e,t)=>{if(e.values==="fixed")return e.options??[];const n=Nb[e.values];return n?t[n]??[]:[]},Tb=(e,t)=>{if(t==="")return 1;const n=e.toLowerCase();return n.startsWith(t)?0:n.includes(t)?1:-1},Ms=(e,...t)=>{let n=-1;for(const s of t){if(s===void 0)continue;const r=Tb(s,e);r<0||(n<0||r<n)&&(n=r)}return n},_i=e=>{const t=new Set;return e.filter(n=>n.rank>=0).sort((n,s)=>n.rank-s.rank).filter(n=>{const s=n.suggestion.value.toLowerCase();return t.has(s)?!1:(t.add(s),!0)}).slice(0,Fi).map(n=>n.suggestion)},ja=e=>({value:`${e.name}:`,label:`${e.name}:`,hint:e.label});function Rb(e){const t=e.trim().toLowerCase();if(t==="")return pr.map(ja);const n=[];for(const s of pr)if(n.push({rank:Ms(t,`${s.name}:`,s.label),suggestion:ja(s)}),s.values==="fixed")for(const r of s.options??[]){const o=Ha(s.name,r.value);n.push({rank:Ms(t,o,r.label),suggestion:{value:o,label:r.label??o,hint:o}})}return _i(n)}function Ib(e,t,n){const s=t.trim().toLowerCase(),r=jb(e,n).map(o=>({rank:Ms(s,o.value,o.label),suggestion:{value:Ha(e.name,o.value),label:o.label??o.value,...o.hint?{hint:o.hint}:{}}}));return _i(r)}function Mb(e,t,n={}){const s=ar(e,t);if(s.name===void 0)return Rb(s.raw);const r=Ka(s.name);return r?Ib(r,s.value??"",n):[]}function Ab(e,t,n){const s=ar(e,t),r=!n.value.endsWith(":"),o=/\s/.test(e.slice(s.end,s.end+1)),i=r&&!o?`${n.value} `:n.value;return{query:e.slice(0,s.start)+i+e.slice(s.end),cursor:s.start+i.length+(r&&o?1:0)}}const Db=e=>({value:e.normalizedEmail,...e.displayName?{label:e.displayName,hint:e.normalizedEmail}:{}}),Pb=250,Lb=2;function Ob({query:e,cursor:t,enabled:n}){const{accounts:s}=zs(),{mailboxesByName:r}=Wa(),o=r!==void 0,i=n?Eb(e,t):void 0,c=i?.source==="contact"?i.query.trim():"",u=Us(c,Pb),{data:h}=me({...An({query:{q:u,limit:Fi}}),enabled:u.length>=Lb}),m=_s({queries:s.map(y=>({...rn({path:{accountId:y.accountId}}),staleTime:1/0}))}),f=l.useMemo(()=>o?gc(m.map(y=>y.data?.items??[]),s):[],[o,m,s]),p=l.useMemo(()=>bc(s),[s]),v=l.useMemo(()=>(h?.items??[]).map(Db),[h]);return l.useMemo(()=>{if(!n)return[];const y=Mb(e,t,{mailboxes:f,accounts:p,contacts:v});return o?y:y.filter(d=>d.value!=="in:")},[n,e,t,f,p,v,o])}const zi="remit.recentSearches",$b=5;function As(){try{const e=localStorage.getItem(zi);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function Ta(e){const t=e.trim();if(!t)return As();const n=[t,...As().filter(s=>s!==t)].slice(0,$b);try{localStorage.setItem(zi,JSON.stringify(n))}catch{return n}return n}const Fb=e=>e.tier!=="phone"&&e.hasLiveInput&&!(e.bodyRendersCommittedResults&&e.hasCommittedQuery);function _b(e){const{spam:t}=Co([...e]),n=new Map;for(const r of t)r.mailboxId&&n.set(r.mailboxId,(n.get(r.mailboxId)??0)+1);let s;for(const[r,o]of n)(!s||o>s.count)&&(s={mailboxId:r,count:o});return s}function Jx({title:e,unreadCount:t,children:n,selectionBar:s,paneOverlay:r,footer:o,searchFilter:i,searchResults:c,searchLoading:u,relatedResults:h,relatedLoading:m,onSelectSearchResult:f,searchResultsLabel:p="Top matches",relatedResultsLabel:v="Related",searchResultsInBody:y=!1,refreshControl:d}){const{accounts:g,resultFolderIndex:x,searchQuery:k,searchInput:b,onSearchChange:w,onSearchClear:E,searchViewKey:j}=zs(),R=Wa(),T=Fs(),P=ac(),F=xc(),[I,z]=l.useState(!1),[A,S]=l.useState(As),M=oc(),O=l.useRef(j);l.useEffect(()=>{O.current!==j&&(O.current=j,z(!1))},[j]);const[C,D]=l.useState(0),[N,V]=l.useState(!1),[W,ne]=l.useState(void 0),se=Ob({query:b,cursor:C,enabled:N&&b.trim().length>0}),de=l.useCallback(K=>{const H=Ab(b,C,K);w(H.query),ne({cursor:H.cursor})},[b,C,w]),re=Aa({count:se.length,onAccept:K=>{const H=se[K];H&&de(H)}}),{comboboxProps:ge,handleKeyDown:q}=re,ve=l.useMemo(()=>({comboboxProps:ge,onKeyDown:q,onCaretChange:D,onFocusChange:V,...W?{caret:W}:{}}),[ge,q,W]),J=re.open?a.jsx(Da,{id:re.listId,suggestions:se,activeIndex:re.activeIndex,optionId:re.optionId,onPick:de,onHighlight:re.setActiveIndex,label:"Search suggestions",className:"mx-row-inset mt-1 shrink-0"}):null,ke=b.trim().length>0,{mailboxesByName:be,accountsByName:Te}=R,Ce=l.useMemo(()=>Ic(b,{mailboxesByName:be,accountsByName:Te}),[b,be,Te]),U=Ce.tokens.map(K=>({label:Ua(K),onRemove:()=>w(Mc(b,K))})),ye=c??[],Ne=h??[],Pe=ke?[{id:"top",label:p,results:ye},{id:"related",label:v,results:Ne}]:[],Z=!(ye.length+Ne.length>0)&&(u===!0||m===!0),{scope:ae}=vc(g),$e=Qc({select:K=>K.matches}),Fe=Gc($e),G=Yc($e,ae,Fe?x.get(Fe)?.role:void 0),He=G.kind==="global"?_b([...ye,...Ne]):void 0,je=He?{kind:"global",onScopeToSpam:()=>T({to:"/mail/$mailboxId",params:{mailboxId:He.mailboxId},search:{q:k||void 0}})}:G,Le=Ne.length>0,ze=l.useMemo(()=>ob(Ce,{searchHadSemanticReach:Le}),[Ce,Le]),_e=ke?ze:void 0,le=ke?{onClick:()=>{z(!1),M("properties","search")},blockedReason:Df(ze)?void 0:ic(ze.droppedFacets.map(K=>K.label))}:void 0,oe=le?a.jsx(Eo,{...le}):null,Xe=Fb({tier:F,hasLiveInput:ke,hasCommittedQuery:k.trim().length>0,bodyRendersCommittedResults:y}),Be=K=>{S(Ta(b)),f?.(K)},We=a.jsx(No,{value:b,sections:Pe,loading:Z,onSelectResult:Be,tokens:U,scope:je}),st=s===void 0,Oe=Xe?a.jsx("div",{className:"h-full overflow-y-auto",children:We}):null,ee=Oe&&!st?Oe:n,we=Oe&&st?Oe:null,pe=yc(F),_=pe&&(I||ke),Y=l.useMemo(()=>({title:e,searchResults:we,makeFilterSlot:oe,searchConversion:_e,navSlot:P&&!P.showNavPane&&a.jsx(te,{variant:"ghost",size:"touch",icon:a.jsx(Xc,{className:"size-5"}),onClick:()=>P.openNav(),"aria-label":"Menu",className:"-ml-2 shrink-0"}),titleMeta:a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"shrink-0 text-2xs text-fg-subtle",children:[t.toLocaleString()," unread"]}),a.jsx(mr,{}),d]}),searchSlot:pe&&!_&&a.jsx(te,{variant:"ghost",size:"touch",icon:a.jsx(lc,{className:"size-5"}),onClick:()=>z(!0),"aria-label":"Search",className:"shrink-0"}),searchField:_&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"min-w-0 flex-1",children:a.jsx(za,{value:b,onChange:w,onClear:E,globalFocusKey:!1,showClearButton:!1,suggest:ve})}),a.jsx(te,{variant:"ghost",size:"touch",icon:a.jsx(nn,{className:"size-5"}),onClick:()=>{E(),z(!1)},"aria-label":"Close search",className:"shrink-0"}),a.jsx(mr,{})]})}),[e,t,P,pe,_,b,w,E,ve,we,oe,_e,d]);if(F==="phone"&&I){const K=H=>{S(Ta(b)),z(!1),f?.(H)};return a.jsxs(Is.Provider,{value:Y,children:[a.jsx(qd,{value:b,onChange:w,onClear:E,onCancel:()=>{z(!1),E()},filter:i,recentSearches:A,onPickRecent:w,makeFilter:le,sections:Pe,loading:Z,onSelectResult:K,tokens:U,scope:je,suggest:ve,suggestList:J}),r]})}return a.jsx(Is.Provider,{value:Y,children:a.jsxs("section",{className:"relative flex h-full w-full flex-col bg-surface",children:[s?.(Y),J,a.jsx("div",{className:"min-h-0 flex-1",children:ee}),o,r]})})}export{bx as $,Cx as A,Ex as B,Nd as C,Rt as D,Nx as E,kx as F,qx as G,Xx as H,bi as I,wx as J,zx as K,nr as L,$x as M,Wn as N,Bx as O,_x as P,yx as Q,vx as R,Gd as S,wb as T,Si as U,pg as V,gg as W,xg as X,bg as Y,Ux as Z,Sx as _,Np as a,jx as a0,Fx as a1,fx as a2,Kx as a3,Wx as a4,Vx as a5,Qx as a6,Yx as a7,Hx as a8,Co as a9,zu as aA,gx as aB,hx as aC,Qd as aD,_b as aa,Gx as ab,dx as ac,Fb as ad,Bd as ae,Lx as af,lx as ag,pb as ah,Jx as ai,nt as aj,tt as ak,er as al,tn as am,yo as an,mx as ao,Ox as ap,od as aq,on as ar,qs as as,ws as at,cx as au,ux as av,px as aw,cd as ax,ud as ay,dd as az,nd as b,Vs as c,vb as d,Pi as e,xx as f,Ci as g,ed as h,Dg as i,Dx as j,Mx as k,Ix as l,Rx as m,Zu as n,Lg as o,up as p,Tx as q,Ax as r,Fg as s,ki as t,dp as u,Px as v,Gu as w,$g as x,Th as y,Ei as z};
52
+ ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function zp(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function Bp(){return Zs(/^Mac/)}function Up(){return Zs(/^iPhone/)}function la(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Kp(){return Zs(/^iPad/)||Bp()&&navigator.maxTouchPoints>1}function li(){return Up()||Kp()}function Zs(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const Hp=24,Wp=typeof window<"u"?l.useLayoutEffect:l.useEffect;function ca(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const cs=typeof document<"u"&&window.visualViewport;function ua(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function ci(e){for(ua(e)&&(e=e.parentElement);e&&!ua(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const qp=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Sn=0,us;function Vp(e={}){let{isDisabled:t}=e;Wp(()=>{if(!t)return Sn++,Sn===1&&li()&&(us=Qp()),()=>{Sn--,Sn===0&&us?.()}},[t])}function Qp(){let e,t=0,n=f=>{e=ci(f.target),!(e===document.documentElement&&e===document.body)&&(t=f.changedTouches[0].pageY)},s=f=>{if(!e||e===document.documentElement||e===document.body){f.preventDefault();return}let p=f.changedTouches[0].pageY,x=e.scrollTop,y=e.scrollHeight-e.clientHeight;y!==0&&((x<=0&&p>t||x>=y&&p<t)&&f.preventDefault(),t=p)},r=f=>{let p=f.target;Ns(p)&&p!==document.activeElement&&(f.preventDefault(),p.style.transform="translateY(-2000px)",p.focus(),requestAnimationFrame(()=>{p.style.transform=""}))},o=f=>{let p=f.target;Ns(p)&&(p.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{p.style.transform="",cs&&(cs.height<window.innerHeight?requestAnimationFrame(()=>{da(p)}):cs.addEventListener("resize",()=>da(p),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},c=window.pageXOffset,u=window.pageYOffset,h=ca(Gp(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let m=ca(Vt(document,"touchstart",n,{passive:!1,capture:!0}),Vt(document,"touchmove",s,{passive:!1,capture:!0}),Vt(document,"touchend",r,{passive:!1,capture:!0}),Vt(document,"focus",o,!0),Vt(window,"scroll",i));return()=>{h(),m(),window.scrollTo(c,u)}}function Gp(e,t,n){let s=e.style[t];return e.style[t]=n,()=>{e.style[t]=s}}function Vt(e,t,n,s){return e.addEventListener(t,n,s),()=>{e.removeEventListener(t,n,s)}}function da(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=ci(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let s=n.getBoundingClientRect().top,r=e.getBoundingClientRect().top,o=e.getBoundingClientRect().bottom;const i=n.getBoundingClientRect().bottom+Hp;o>i&&(n.scrollTop+=r-s)}e=n.parentElement}}function Ns(e){return e instanceof HTMLInputElement&&!qp.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function Yp(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Xp(...e){return t=>e.forEach(n=>Yp(n,t))}function ui(...e){return l.useCallback(Xp(...e),e)}const di=new WeakMap;function ve(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let s={};Object.entries(t).forEach(([r,o])=>{if(r.startsWith("--")){e.style.setProperty(r,o);return}s[r]=e.style[r],e.style[r]=o}),!n&&di.set(e,s)}function Jp(e,t){if(!e||!(e instanceof HTMLElement))return;let n=di.get(e);n&&(e.style[t]=n[t])}const he=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function kn(e,t){if(!e)return null;const n=window.getComputedStyle(e),s=n.transform||n.webkitTransform||n.mozTransform;let r=s.match(/^matrix3d\((.+)\)$/);return r?parseFloat(r[1].split(", ")[he(t)?13:12]):(r=s.match(/^matrix\((.+)\)$/),r?parseFloat(r[1].split(", ")[he(t)?5:4]):null)}function Zp(e){return 8*(Math.log(e+1)-2)}function ds(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}function eh(...e){return(...t)=>{for(const n of e)typeof n=="function"&&n(...t)}}const de={DURATION:.5,EASE:[.32,.72,0,1]},fi=.4,th=.25,nh=100,mi=8,ht=16,js=26,fs="vaul-dragging";function pi(e){const t=$.useRef(e);return $.useEffect(()=>{t.current=e}),$.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function sh({defaultProp:e,onChange:t}){const n=$.useState(e),[s]=n,r=$.useRef(s),o=pi(t);return $.useEffect(()=>{r.current!==s&&(o(s),r.current=s)},[s,r,o]),n}function hi({prop:e,defaultProp:t,onChange:n=()=>{}}){const[s,r]=sh({defaultProp:t,onChange:n}),o=e!==void 0,i=o?e:s,c=pi(n),u=$.useCallback(h=>{if(o){const f=typeof h=="function"?h(e):h;f!==e&&c(f)}else r(h)},[o,e,r,c]);return[i,u]}function rh({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:s,overlayRef:r,fadeFromIndex:o,onSnapPointChange:i,direction:c="bottom",container:u,snapToSequentialPoint:h}){const[m,f]=hi({prop:e,defaultProp:n?.[0],onChange:t}),[p,x]=$.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);$.useEffect(()=>{function R(){x({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",R),()=>window.removeEventListener("resize",R)},[]);const y=$.useMemo(()=>m===n?.[n.length-1]||null,[n,m]),d=$.useMemo(()=>{var R;return(R=n?.findIndex(T=>T===m))!=null?R:null},[n,m]),g=n&&n.length>0&&(o||o===0)&&!Number.isNaN(o)&&n[o]===m||!n,v=$.useMemo(()=>{const R=u?{width:u.getBoundingClientRect().width,height:u.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var T;return(T=n?.map(P=>{const F=typeof P=="string";let I=0;if(F&&(I=parseInt(P,10)),he(c)){const A=F?I:p?P*R.height:0;return p?c==="bottom"?R.height-A:-R.height+A:A}const z=F?I:p?P*R.width:0;return p?c==="right"?R.width-z:-R.width+z:z}))!=null?T:[]},[n,p,u]),k=$.useMemo(()=>d!==null?v?.[d]:null,[v,d]),b=$.useCallback(R=>{var T;const P=(T=v?.findIndex(F=>F===R))!=null?T:null;i(P),ve(s.current,{transition:`transform ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`,transform:he(c)?`translate3d(0, ${R}px, 0)`:`translate3d(${R}px, 0, 0)`}),v&&P!==v.length-1&&o!==void 0&&P!==o&&P<o?ve(r.current,{transition:`opacity ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`,opacity:"0"}):ve(r.current,{transition:`opacity ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`,opacity:"1"}),f(n?.[Math.max(P,0)])},[s.current,n,v,o,r,f]);$.useEffect(()=>{if(m||e){var R;const T=(R=n?.findIndex(P=>P===e||P===m))!=null?R:-1;v&&T!==-1&&typeof v[T]=="number"&&b(v[T])}},[m,e,n,v,b]);function w({draggedDistance:R,closeDrawer:T,velocity:P,dismissible:F}){if(o===void 0)return;const I=c==="bottom"||c==="right"?(k??0)-R:(k??0)+R,z=d===o-1,A=d===0,S=R>0;if(z&&ve(r.current,{transition:`opacity ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`}),!h&&P>2&&!S){F?T():b(v[0]);return}if(!h&&P>2&&S&&v&&n){b(v[n.length-1]);return}const M=v?.reduce((C,D)=>typeof C!="number"||typeof D!="number"?C:Math.abs(D-I)<Math.abs(C-I)?D:C),O=he(c)?window.innerHeight:window.innerWidth;if(P>fi&&Math.abs(R)<O*.4){const C=S?1:-1;if(C>0&&y&&n){b(v[n.length-1]);return}if(A&&C<0&&F&&T(),d===null)return;b(v[d+C]);return}b(M)}function E({draggedDistance:R}){if(k===null)return;const T=c==="bottom"||c==="right"?k-R:k+R;(c==="bottom"||c==="right")&&T<v[v.length-1]||(c==="top"||c==="left")&&T>v[v.length-1]||ve(s.current,{transform:he(c)?`translate3d(0, ${T}px, 0)`:`translate3d(${T}px, 0, 0)`})}function j(R,T){if(!n||typeof d!="number"||!v||o===void 0)return null;const P=d===o-1;if(d>=o&&T)return 0;if(P&&!T)return 1;if(!g&&!P)return null;const I=P?d+1:d-1,z=P?v[I]-v[I-1]:v[I+1]-v[I],A=R/Math.abs(z);return P?1-A:A}return{isLastSnapPoint:y,activeSnapPoint:m,shouldFade:g,getPercentageDragged:j,setActiveSnapPoint:f,activeSnapPointIndex:d,onRelease:w,onDrag:E,snapPointsOffset:v}}const ah=()=>()=>{};function oh(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:s,noBodyStyles:r}=ln(),o=$.useRef(null),i=l.useMemo(()=>document.body.style.backgroundColor,[]);function c(){return(window.innerWidth-js)/window.innerWidth}$.useEffect(()=>{if(t&&n){o.current&&clearTimeout(o.current);const u=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!u)return;eh(s&&!r?ds(document.body,{background:"black"}):ah,ds(u,{transformOrigin:he(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${de.DURATION}s`,transitionTimingFunction:`cubic-bezier(${de.EASE.join(",")})`}));const h=ds(u,{borderRadius:`${mi}px`,overflow:"hidden",...he(e)?{transform:`scale(${c()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${c()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{h(),o.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},de.DURATION*1e3)}}},[t,n,i])}let Qt=null;function ih({isOpen:e,modal:t,nested:n,hasBeenOpened:s,preventScrollRestoration:r,noBodyStyles:o}){const[i,c]=$.useState(()=>typeof window<"u"?window.location.href:""),u=$.useRef(0),h=$.useCallback(()=>{if(la()&&Qt===null&&e&&!o){Qt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:f,innerHeight:p}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-u.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const x=p-window.innerHeight;x&&u.current>=p&&(document.body.style.top=`${-(u.current+x)}px`)}),300)}},[e]),m=$.useCallback(()=>{if(la()&&Qt!==null&&!o){const f=-parseInt(document.body.style.top,10),p=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Qt),window.requestAnimationFrame(()=>{if(r&&i!==window.location.href){c(window.location.href);return}window.scrollTo(p,f)}),Qt=null}},[i]);return $.useEffect(()=>{function f(){u.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),$.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||m()}},[t,m]),$.useEffect(()=>{n||!s||(e?(!window.matchMedia("(display-mode: standalone)").matches&&h(),t||window.setTimeout(()=>{m()},500)):m())},[e,s,i,t,n,h,m]),{restorePositionSetting:m}}function lh({open:e,onOpenChange:t,children:n,onDrag:s,onRelease:r,snapPoints:o,shouldScaleBackground:i=!1,setBackgroundColorOnScale:c=!0,closeThreshold:u=th,scrollLockTimeout:h=nh,dismissible:m=!0,handleOnly:f=!1,fadeFromIndex:p=o&&o.length-1,activeSnapPoint:x,setActiveSnapPoint:y,fixed:d,modal:g=!0,onClose:v,nested:k,noBodyStyles:b=!1,direction:w="bottom",defaultOpen:E=!1,disablePreventScroll:j=!0,snapToSequentialPoint:R=!1,preventScrollRestoration:T=!1,repositionInputs:P=!0,onAnimationEnd:F,container:I,autoFocus:z=!1}){var A,S;const[M=!1,O]=hi({defaultProp:E,prop:e,onChange:_=>{t?.(_),!_&&!k&&$e(),setTimeout(()=>{F?.(_)},de.DURATION*1e3),_&&!g&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),_||(document.body.style.pointerEvents="auto")}}),[C,D]=$.useState(!1),[N,Q]=$.useState(!1),[q,se]=$.useState(!1),re=$.useRef(null),ue=$.useRef(null),ae=$.useRef(null),ge=$.useRef(null),V=$.useRef(null),xe=$.useRef(!1),J=$.useRef(null),Se=$.useRef(0),be=$.useRef(!1),je=$.useRef(!E),ke=$.useRef(0),U=$.useRef(null),ye=$.useRef(((A=U.current)==null?void 0:A.getBoundingClientRect().height)||0),Ee=$.useRef(((S=U.current)==null?void 0:S.getBoundingClientRect().width)||0),Pe=$.useRef(0),G=$.useCallback(_=>{o&&_===Y.length-1&&(ue.current=new Date)},[]),{activeSnapPoint:Z,activeSnapPointIndex:oe,setActiveSnapPoint:Le,onRelease:Oe,snapPointsOffset:Y,onDrag:Ke,shouldFade:Ne,getPercentageDragged:ze}=rh({snapPoints:o,activeSnapPointProp:x,setActiveSnapPointProp:y,drawerRef:U,fadeFromIndex:p,overlayRef:re,onSnapPointChange:G,direction:w,container:I,snapToSequentialPoint:R});Vp({isDisabled:!M||N||!g||q||!C||!P||!j});const{restorePositionSetting:$e}=ih({isOpen:M,modal:g,nested:k??!1,hasBeenOpened:C,preventScrollRestoration:T,noBodyStyles:b});function Fe(){return(window.innerWidth-js)/window.innerWidth}function pe(_){var H,W;!m&&!o||U.current&&!U.current.contains(_.target)||(ye.current=((H=U.current)==null?void 0:H.getBoundingClientRect().height)||0,Ee.current=((W=U.current)==null?void 0:W.getBoundingClientRect().width)||0,Q(!0),ae.current=new Date,li()&&window.addEventListener("touchend",()=>xe.current=!1,{once:!0}),_.target.setPointerCapture(_.pointerId),Se.current=he(w)?_.pageY:_.pageX)}function ee(_,H){var W;let K=_;const ie=(W=window.getSelection())==null?void 0:W.toString(),Ce=U.current?kn(U.current,w):null,le=new Date;if(K.tagName==="SELECT"||K.hasAttribute("data-vaul-no-drag")||K.closest("[data-vaul-no-drag]"))return!1;if(w==="right"||w==="left")return!0;if(ue.current&&le.getTime()-ue.current.getTime()<500)return!1;if(Ce!==null&&(w==="bottom"?Ce>0:Ce<0))return!0;if(ie&&ie.length>0)return!1;if(V.current&&le.getTime()-V.current.getTime()<h&&Ce===0||H)return V.current=le,!1;for(;K;){if(K.scrollHeight>K.clientHeight){if(K.scrollTop!==0)return V.current=new Date,!1;if(K.getAttribute("role")==="dialog")return!0}K=K.parentNode}return!0}function nt(_){if(U.current&&N){const H=w==="bottom"||w==="right"?1:-1,W=(Se.current-(he(w)?_.pageY:_.pageX))*H,K=W>0,ie=o&&!m&&!K;if(ie&&oe===0)return;const Ce=Math.abs(W),le=document.querySelector("[data-vaul-drawer-wrapper]"),Be=w==="bottom"||w==="top"?ye.current:Ee.current;let Re=Ce/Be;const Ue=ze(Ce,K);if(Ue!==null&&(Re=Ue),ie&&Re>=1||!xe.current&&!ee(_.target,K))return;if(U.current.classList.add(fs),xe.current=!0,ve(U.current,{transition:"none"}),ve(re.current,{transition:"none"}),o&&Ke({draggedDistance:W}),K&&!o){const Ie=Zp(W),yt=Math.min(Ie*-1,0)*H;ve(U.current,{transform:he(w)?`translate3d(0, ${yt}px, 0)`:`translate3d(${yt}px, 0, 0)`});return}const He=1-Re;if((Ne||p&&oe===p-1)&&(s?.(_,Re),ve(re.current,{opacity:`${He}`,transition:"none"},!0)),le&&re.current&&i){const Ie=Math.min(Fe()+Re*(1-Fe()),1),yt=8-Re*8,zt=Math.max(0,14-Re*14);ve(le,{borderRadius:`${yt}px`,transform:he(w)?`scale(${Ie}) translate3d(0, ${zt}px, 0)`:`scale(${Ie}) translate3d(${zt}px, 0, 0)`,transition:"none"},!0)}if(!o){const Ie=Ce*H;ve(U.current,{transform:he(w)?`translate3d(0, ${Ie}px, 0)`:`translate3d(${Ie}px, 0, 0)`})}}}$.useEffect(()=>{window.requestAnimationFrame(()=>{je.current=!0})},[]),$.useEffect(()=>{var _;function H(){if(!U.current||!P)return;const W=document.activeElement;if(Ns(W)||be.current){var K;const ie=((K=window.visualViewport)==null?void 0:K.height)||0,Ce=window.innerHeight;let le=Ce-ie;const Be=U.current.getBoundingClientRect().height||0,Re=Be>Ce*.8;Pe.current||(Pe.current=Be);const Ue=U.current.getBoundingClientRect().top;if(Math.abs(ke.current-le)>60&&(be.current=!be.current),o&&o.length>0&&Y&&oe){const He=Y[oe]||0;le+=He}if(ke.current=le,Be>ie||be.current){const He=U.current.getBoundingClientRect().height;let Ie=He;He>ie&&(Ie=ie-(Re?Ue:js)),d?U.current.style.height=`${He-Math.max(le,0)}px`:U.current.style.height=`${Math.max(Ie,ie-Ue)}px`}else zp()||(U.current.style.height=`${Pe.current}px`);o&&o.length>0&&!be.current?U.current.style.bottom="0px":U.current.style.bottom=`${Math.max(le,0)}px`}}return(_=window.visualViewport)==null||_.addEventListener("resize",H),()=>{var W;return(W=window.visualViewport)==null?void 0:W.removeEventListener("resize",H)}},[oe,o,Y]);function _e(_){Ye(),v?.(),_||O(!1),setTimeout(()=>{o&&Le(o[0])},de.DURATION*1e3)}function Ge(){if(!U.current)return;const _=document.querySelector("[data-vaul-drawer-wrapper]"),H=kn(U.current,w);ve(U.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`}),ve(re.current,{transition:`opacity ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`,opacity:"1"}),i&&H&&H>0&&M&&ve(_,{borderRadius:`${mi}px`,overflow:"hidden",...he(w)?{transform:`scale(${Fe()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${Fe()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${de.DURATION}s`,transitionTimingFunction:`cubic-bezier(${de.EASE.join(",")})`},!0)}function Ye(){!N||!U.current||(U.current.classList.remove(fs),xe.current=!1,Q(!1),ge.current=new Date)}function Te(_){if(!N||!U.current)return;U.current.classList.remove(fs),xe.current=!1,Q(!1),ge.current=new Date;const H=kn(U.current,w);if(!_||!ee(_.target,!1)||!H||Number.isNaN(H)||ae.current===null)return;const W=ge.current.getTime()-ae.current.getTime(),K=Se.current-(he(w)?_.pageY:_.pageX),ie=Math.abs(K)/W;if(ie>.05&&(se(!0),setTimeout(()=>{se(!1)},200)),o){Oe({draggedDistance:K*(w==="bottom"||w==="right"?1:-1),closeDrawer:_e,velocity:ie,dismissible:m}),r?.(_,!0);return}if(w==="bottom"||w==="right"?K>0:K<0){Ge(),r?.(_,!0);return}if(ie>fi){_e(),r?.(_,!1);return}var Ce;const le=Math.min((Ce=U.current.getBoundingClientRect().height)!=null?Ce:0,window.innerHeight);var Be;const Re=Math.min((Be=U.current.getBoundingClientRect().width)!=null?Be:0,window.innerWidth),Ue=w==="left"||w==="right";if(Math.abs(H)>=(Ue?Re:le)*u){_e(),r?.(_,!1);return}r?.(_,!0),Ge()}$.useEffect(()=>(M&&(ve(document.documentElement,{scrollBehavior:"auto"}),ue.current=new Date),()=>{Jp(document.documentElement,"scrollBehavior")}),[M]);function st(_){const H=_?(window.innerWidth-ht)/window.innerWidth:1,W=_?-ht:0;J.current&&window.clearTimeout(J.current),ve(U.current,{transition:`transform ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`,transform:he(w)?`scale(${H}) translate3d(0, ${W}px, 0)`:`scale(${H}) translate3d(${W}px, 0, 0)`}),!_&&U.current&&(J.current=setTimeout(()=>{const K=kn(U.current,w);ve(U.current,{transition:"none",transform:he(w)?`translate3d(0, ${K}px, 0)`:`translate3d(${K}px, 0, 0)`})},500))}function te(_,H){if(H<0)return;const W=(window.innerWidth-ht)/window.innerWidth,K=W+H*(1-W),ie=-ht+H*ht;ve(U.current,{transform:he(w)?`scale(${K}) translate3d(0, ${ie}px, 0)`:`scale(${K}) translate3d(${ie}px, 0, 0)`,transition:"none"})}function fe(_,H){const W=he(w)?window.innerHeight:window.innerWidth,K=H?(W-ht)/W:1,ie=H?-ht:0;H&&ve(U.current,{transition:`transform ${de.DURATION}s cubic-bezier(${de.EASE.join(",")})`,transform:he(w)?`scale(${K}) translate3d(0, ${ie}px, 0)`:`scale(${K}) translate3d(${ie}px, 0, 0)`})}return $.useEffect(()=>{g||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[g]),$.createElement(Yo,{defaultOpen:E,onOpenChange:_=>{!m&&!_||(_?D(!0):_e(!0),O(_))},open:M},$.createElement(ii.Provider,{value:{activeSnapPoint:Z,snapPoints:o,setActiveSnapPoint:Le,drawerRef:U,overlayRef:re,onOpenChange:t,onPress:pe,onRelease:Te,onDrag:nt,dismissible:m,shouldAnimate:je,handleOnly:f,isOpen:M,isDragging:N,shouldFade:Ne,closeDrawer:_e,onNestedDrag:te,onNestedOpenChange:st,onNestedRelease:fe,keyboardIsOpen:be,modal:g,snapPointsOffset:Y,activeSnapPointIndex:oe,direction:w,shouldScaleBackground:i,setBackgroundColorOnScale:c,noBodyStyles:b,container:I,autoFocus:z}},n))}const gi=$.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:s,onRelease:r,shouldFade:o,isOpen:i,modal:c,shouldAnimate:u}=ln(),h=ui(t,n),m=s&&s.length>0;if(!c)return null;const f=$.useCallback(p=>r(p),[r]);return $.createElement(ei,{onMouseUp:f,ref:h,"data-vaul-overlay":"","data-vaul-snap-points":i&&m?"true":"false","data-vaul-snap-points-overlay":i&&o?"true":"false","data-vaul-animate":u?.current?"true":"false",...e})});gi.displayName="Drawer.Overlay";const bi=$.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...s},r){const{drawerRef:o,onPress:i,onRelease:c,onDrag:u,keyboardIsOpen:h,snapPointsOffset:m,activeSnapPointIndex:f,modal:p,isOpen:x,direction:y,snapPoints:d,container:g,handleOnly:v,shouldAnimate:k,autoFocus:b}=ln(),[w,E]=$.useState(!1),j=ui(r,o),R=$.useRef(null),T=$.useRef(null),P=$.useRef(!1),F=d&&d.length>0;oh();const I=(A,S,M=0)=>{if(P.current)return!0;const O=Math.abs(A.y),C=Math.abs(A.x),D=C>O,N=["bottom","right"].includes(S)?1:-1;if(S==="left"||S==="right"){if(!(A.x*N<0)&&C>=0&&C<=M)return D}else if(!(A.y*N<0)&&O>=0&&O<=M)return!D;return P.current=!0,!0};$.useEffect(()=>{F&&window.requestAnimationFrame(()=>{E(!0)})},[]);function z(A){R.current=null,P.current=!1,c(A)}return $.createElement(ti,{"data-vaul-drawer-direction":y,"data-vaul-drawer":"","data-vaul-delayed-snap-points":w?"true":"false","data-vaul-snap-points":x&&F?"true":"false","data-vaul-custom-container":g?"true":"false","data-vaul-animate":k?.current?"true":"false",...s,ref:j,style:m&&m.length>0?{"--snap-point-height":`${m[f??0]}px`,...t}:t,onPointerDown:A=>{v||(s.onPointerDown==null||s.onPointerDown.call(s,A),R.current={x:A.pageX,y:A.pageY},i(A))},onOpenAutoFocus:A=>{n?.(A),b||A.preventDefault()},onPointerDownOutside:A=>{if(e?.(A),!p||A.defaultPrevented){A.preventDefault();return}h.current&&(h.current=!1)},onFocusOutside:A=>{if(!p){A.preventDefault();return}},onPointerMove:A=>{if(T.current=A,v||(s.onPointerMove==null||s.onPointerMove.call(s,A),!R.current))return;const S=A.pageY-R.current.y,M=A.pageX-R.current.x,O=A.pointerType==="touch"?10:2;I({x:M,y:S},y,O)?u(A):(Math.abs(M)>O||Math.abs(S)>O)&&(R.current=null)},onPointerUp:A=>{s.onPointerUp==null||s.onPointerUp.call(s,A),R.current=null,P.current=!1,c(A)},onPointerOut:A=>{s.onPointerOut==null||s.onPointerOut.call(s,A),z(T.current)},onContextMenu:A=>{s.onContextMenu==null||s.onContextMenu.call(s,A),T.current&&z(T.current)}})});bi.displayName="Drawer.Content";const ch=250,uh=120,vi=$.forwardRef(function({preventCycle:e=!1,children:t,...n},s){const{closeDrawer:r,isDragging:o,snapPoints:i,activeSnapPoint:c,setActiveSnapPoint:u,dismissible:h,handleOnly:m,isOpen:f,onPress:p,onDrag:x}=ln(),y=$.useRef(null),d=$.useRef(!1);function g(){if(d.current){b();return}window.setTimeout(()=>{v()},uh)}function v(){if(o||e||d.current){b();return}if(b(),!i||i.length===0){h||r();return}if(c===i[i.length-1]&&h){r();return}const E=i.findIndex(R=>R===c);if(E===-1)return;const j=i[E+1];u(j)}function k(){y.current=window.setTimeout(()=>{d.current=!0},ch)}function b(){y.current&&window.clearTimeout(y.current),d.current=!1}return $.createElement("div",{onClick:g,onPointerCancel:b,onPointerDown:w=>{m&&p(w),k()},onPointerMove:w=>{m&&x(w)},ref:s,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},$.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});vi.displayName="Drawer.Handle";function dh(e){const t=ln(),{container:n=t.container,...s}=e;return $.createElement(Zo,{container:n,...s})}const Rt={Root:lh,Content:bi,Overlay:gi,Portal:dh,Handle:vi,Title:ri},yv=({isOpen:e,onClose:t,children:n,ariaLabel:s="Navigation",side:r="left",widthClassName:o="w-[80vw] max-w-[320px]"})=>{const i=l.useRef(null),c=l.useRef(null);if(l.useEffect(()=>{if(!e)return;c.current=document.activeElement;const h=p=>{p.key==="Escape"&&(p.preventDefault(),t())};document.addEventListener("keydown",h),i.current?.querySelector("button, [href], input, select, textarea, [tabindex]:not([tabindex='-1'])")?.focus();const f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",h),document.body.style.overflow=f,c.current?.focus()}},[e,t]),!e)return null;const u=r==="left"?"left-0 border-r animate-in slide-in-from-left duration-150":"right-0 border-l animate-in slide-in-from-right duration-150";return a.jsxs("div",{className:"fixed inset-0 z-50 lg:hidden",role:"dialog","aria-modal":"true","aria-label":s,children:[a.jsx("button",{type:"button","aria-label":"Close menu",onClick:t,className:"absolute inset-0 bg-black/40 animate-in fade-in duration-150 cursor-default"}),a.jsxs("div",{ref:i,className:Je("safe-area-frame absolute top-0 bottom-0 bg-canvas border-line shadow-xl flex flex-col",o,u),children:[a.jsx("div",{className:"flex items-center justify-end h-12 px-2 border-b border-line shrink-0",children:a.jsx("button",{type:"button",onClick:t,className:"p-2 rounded-md hover:bg-surface-raised transition-colors min-h-11 min-w-11 inline-flex items-center justify-center","aria-label":"Close menu",children:a.jsx(nn,{className:"size-5"})})}),a.jsx("div",{className:"flex-1 overflow-y-auto",children:n})]})]})},fa=({mode:e,account:t,sourceMessage:n,onClose:s})=>a.jsx("div",{className:"border-t border-line bg-canvas max-h-[min(400px,60dvh)] flex flex-col lg:h-[min(560px,55dvh)] lg:max-h-none",children:a.jsx(Rp,{mode:e,account:t,sourceMessage:n,onClose:s})}),xi=({message:e,icon:t})=>a.jsxs("div",{className:"flex flex-col items-center justify-center p-8 text-center",children:[t&&a.jsx("div",{className:"mb-4 text-fg-muted",children:t}),a.jsx("p",{className:"text-fg-muted",children:e})]}),yi=e=>{const{data:t,isLoading:n}=me({...Ot(),staleTime:1/0}),s=l.useMemo(()=>(t?.accounts??[]).map(c=>c.accountId),[t?.accounts]),r=_s({queries:s.map(c=>({...rn({path:{accountId:c}}),staleTime:1/0,enabled:!!e}))}),o=n||r.some(c=>c.isLoading);return{accountId:l.useMemo(()=>{if(e){for(let c=0;c<s.length;c++)if((r[c].data?.items??[]).some(m=>m.mailboxId===e))return s[c]}},[e,s,r]),isLoading:o}},fh=100,Ts=async e=>e.then(t=>({ok:!0,value:t}),t=>({ok:!1,error:t})),mh=(e,t=fh)=>{if(e.length===0)return[];const n=[];for(let s=0;s<e.length;s+=t)n.push(e.slice(s,s+t));return n},wi=async(e,t,n,s)=>{const r=mh(e),o=e.length;let i=0;const c=[];for(let u=0;u<r.length;u++){if(s())return c.push(...r.slice(u).flat()),{done:i,failedIds:c,cancelled:!0};const h=r[u],m=await Ts(t(h));if(!m.ok)return c.push(...r.slice(u).flat()),n({done:i,total:o}),{done:i,failedIds:c,cancelled:!1,error:m.error};i+=h.length,n({done:i,total:o})}return{done:i,failedIds:c,cancelled:!1}},tn=async(e,t)=>{await wi(e,async n=>(await t(n),{successCount:n.length,failureCount:0}),()=>{},()=>!1)},ph=async(e,t,n,s,r)=>{let o=0;const i=[];let c;do{if(r())return{done:o,failedIds:i,cancelled:!0};const u=await Ts(e(c));if(!u.ok)return{done:o,failedIds:i,cancelled:!1,error:u.error};const h=u.value;if(h.ids.length>0){const m=await Ts(n(h.ids));if(!m.ok)return{done:o,failedIds:i,cancelled:!1,error:m.error};o+=h.ids.length,s({done:o,total:t})}c=h.continuationToken}while(c);return{done:o,failedIds:i,cancelled:!1}},hh=e=>({done:e.done,total:Math.max(e.total,e.done)}),Si=e=>typeof e=="object"&&e!==null&&Array.isArray(e.pages),ki=e=>typeof e=="object"&&e!==null&&Array.isArray(e.items),Ci=(e,t)=>e===void 0?e:Si(e)?{...e,pages:e.pages.map(n=>({...n,items:t(n.items)}))}:ki(e)?{...e,items:t(e.items)}:e,et=e=>{const t=[];for(const n of new Set(e))t.push(_a({path:{mailboxId:n}})),t.push(za({path:{mailboxId:n}}));return t.push(Ba()),t},cn=(e,t)=>Promise.all(t.map(n=>e.cancelQueries({queryKey:n}))),un=(e,t)=>t.flatMap(n=>e.getQueriesData({queryKey:n})).filter(n=>n[1]!==void 0).map(([n,s])=>({queryKey:n,data:s})),dn=(e,t,n)=>{const s=r=>Ci(r,n);for(const r of t)e.setQueriesData({queryKey:r},s)},fn=(e,t)=>{for(const n of t)e.setQueryData(n.queryKey,n.data)},tt=(e,t)=>{for(const n of t)e.invalidateQueries({queryKey:n})},gh=3e3,bh=(e,t,n)=>{if(e.length===0)return()=>{};const s=setTimeout(()=>n(e),t);return()=>clearTimeout(s)},er=(e,t,n)=>{const s=new Map(t.map(o=>[o.messageId,o.mailboxId])),r=new Set;for(const o of e)r.add(s.get(o)??n);return[...r]},In=(e,t,n)=>e.map(s=>t.has(s.messageId)?{...s,isRead:n}:s),vh=(e,t,n,s)=>e.filter(r=>!r.isRead&&t.has(r.threadMessageId)&&!n.has(r.messageId)&&!s.has(r.messageId)).map(r=>r.messageId),xh=({messages:e,expandedIds:t,threadId:n,mailboxId:s,accountId:r})=>{const o=De(),{pushError:i}=Qe(),c=l.useRef(new Set),u=l.useRef(new Set),{mutate:h}=Me({...Dn(),onMutate:async p=>{const x=new Set(p.body.messageIds??[]),y=p.body.isRead??!0,d=dt({path:{threadId:n}}),g=et(er(x,e,s));await Promise.all([o.cancelQueries({queryKey:d}),cn(o,g)]);const v=o.getQueriesData({queryKey:d}).filter(b=>b[1]!==void 0).map(([b,w])=>({queryKey:b,data:w})),k=un(o,g);return o.setQueriesData({queryKey:d},b=>b&&{...b,items:In(b.items,x,y)}),dn(o,g,b=>In(b,x,y)),{threadMessagesPrefix:d,listPrefixes:g,previousThreadMessages:v,previousThreadsList:k}},onSuccess:(p,x)=>{const y=x.body.messageIds??[];for(const d of y)c.current.add(d),u.current.delete(d)},onError:(p,x,y)=>{const d=x.body.messageIds??[];for(const v of d)u.current.delete(v);if(y){for(const v of y.previousThreadMessages)o.setQueryData(v.queryKey,v.data);fn(o,y.previousThreadsList)}const g=x.body.isRead??!0;i({title:g?"Couldn't mark as read":"Couldn't mark as unread",detail:We(p),error:p})},onSettled:(p,x,y,d)=>{d&&(o.invalidateQueries({queryKey:d.threadMessagesPrefix}),tt(o,d.listPrefixes),r&&o.invalidateQueries({queryKey:$t({path:{accountId:r}})}))}}),m=l.useCallback(p=>{const x=p.filter(y=>!c.current.has(y)&&!u.current.has(y));if(x.length!==0){for(const y of x)u.current.add(y);h({body:{messageIds:x,isRead:!0}})}},[h]),f=l.useMemo(()=>vh(e,t,c.current,u.current),[e,t]);l.useEffect(()=>bh(f,gh,m),[f,m]),l.useEffect(()=>{c.current.clear(),u.current.clear()},[n])},wv=e=>{const{mailboxId:t,accountId:n,messages:s}=e,r=De(),{pushError:o}=Qe(),{mutateAsync:i,isPending:c}=Me({...Dn(),onError:(h,m)=>{const f=m.body.isRead??!0;o({title:f?"Couldn't mark as read":"Couldn't mark as unread",detail:We(h),error:h})},onSettled:(h,m,f)=>{tt(r,et(er(f.body.messageIds??[],s??[],t))),n&&r.invalidateQueries({queryKey:$t({path:{accountId:n}})})}});return{toggleReadFor:l.useCallback((h,m)=>{h.length!==0&&tn(h,f=>i({body:{messageIds:f,isRead:m}}))},[i]),isPending:c}},yh=60,wh=1.5,Sh=(e,t,n)=>{const s=Math.abs(e),r=Math.abs(t);return s<n?{direction:null}:s<r*wh?{direction:null}:{direction:e<0?"left":"right"}},kh=({onSwipeLeft:e,onSwipeRight:t,thresholdPx:n=yh})=>{const s=l.useRef(null),r=l.useCallback(u=>{if(u.pointerType==="mouse"){s.current=null;return}s.current={x:u.clientX,y:u.clientY}},[]),o=l.useCallback(()=>{},[]),i=l.useCallback(u=>{const h=s.current;if(s.current=null,!h)return;const{direction:m}=Sh(u.clientX-h.x,u.clientY-h.y,n);m==="left"&&e?.(),m==="right"&&t?.()},[e,t,n]),c=l.useCallback(()=>{s.current=null},[]);return{handlers:{onPointerDown:r,onPointerMove:o,onPointerUp:i,onPointerCancel:c}}},Ch=(e,t,n)=>t?.find(s=>s.messageId===e)?.mailboxId??n,ma=(e,t,n)=>e.map(s=>s.messageId===t?{...s,hasStars:n}:s),Ei=({threadId:e,mailboxId:t,messages:n})=>{const s=De(),{pushError:r}=Qe(),{mutate:o,isPending:i,variables:c}=Me({...Nl(),onMutate:async h=>{const m=h.path.messageId,f=h.body.isStarred??!1,p=dt({path:{threadId:e}}),x=et([Ch(m,n,t)]);await Promise.all([s.cancelQueries({queryKey:p}),cn(s,x)]);const y=s.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,v])=>({queryKey:g,data:v})),d=un(s,x);return s.setQueriesData({queryKey:p},g=>Ci(g,v=>ma(v,m,f))),dn(s,x,g=>ma(g,m,f)),{threadMessagesPrefix:p,listPrefixes:x,previousThreadMessages:y,previousThreadsList:d}},onError:(h,m,f)=>{if(f){for(const x of f.previousThreadMessages)s.setQueryData(x.queryKey,x.data);fn(s,f.previousThreadsList)}const p=m.body.isStarred??!1;r({title:p?"Couldn't star message":"Couldn't unstar message",detail:We(h),error:h})},onSettled:(h,m,f,p)=>{p&&(s.invalidateQueries({queryKey:p.threadMessagesPrefix}),tt(s,p.listPrefixes))}});return{toggleStar:(h,m)=>{o({path:{messageId:h},body:{isStarred:!m}})},isPending:i,pendingMessageId:i?c?.path.messageId:void 0}};function Ni(e){return e===void 0?"uncategorized":e}const Eh={inbox:"Inbox",junk:"Junk"},tr=e=>e.destinationMailboxId!==void 0,Nh=(e,t)=>{if(tr(e))return`Moved from ${t??"another folder"} by Remit`;const n=e.fromPlacement??"";return`Moved from ${Eh[n]??"another folder"} by Remit`},jh=(e,t)=>{if(e===gr.MoveToInbox)return t.inboxMailboxId;if(e===gr.MoveToJunk)return t.junkMailboxId},Th=(e,t,n)=>{if(!e||!t)return!1;const s=tr(e)?e.destinationMailboxId:jh(e.action,n);return s!==void 0&&s===t},Rh="Reported as spam",Ih=(e,t)=>{if(e){if(tr(e))return e.fromMailboxId;if(e.fromPlacement==="inbox")return t.inboxMailboxId;if(e.fromPlacement==="junk")return t.junkMailboxId}},Hn=(e,t)=>{const{data:n,isLoading:s}=me({...Ot(),staleTime:1/0,enabled:!!e});return{mailboxId:l.useMemo(()=>e?n?.accounts.find(i=>i.accountId===e)?.folderAppointments.find(i=>i.role===t)?.mailboxId:void 0,[n,e,t]),isLoading:s}},Sv=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Archive");return{archiveMailboxId:t,isLoading:n}},kv=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Drafts");return{draftsMailboxId:t,isLoading:n}},Mh=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Inbox");return{inboxMailboxId:t,isLoading:n}},ji=e=>{const{mailboxId:t,isLoading:n}=Hn(e,"Junk");return{junkMailboxId:t,isLoading:n}},Ti=e=>{const{data:t}=me({...Ot(),staleTime:1/0,enabled:!!e});return l.useMemo(()=>t?.accounts.find(n=>n.accountId===e)?.folderAppointments??[],[t,e])},pa=(e,t)=>e.filter(n=>!t.has(n.messageId)),Wn=({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:s})=>{const r=De(),{pushError:o}=Qe(),{mutateAsync:i,isPending:c,isError:u}=Me({...jl(),onMutate:async m=>{const f=new Set(m.body.messageIds??[]),p=t?dt({path:{threadId:t}}):[],x=et([e,m.body.destinationMailboxId]);await Promise.all([...t?[r.cancelQueries({queryKey:p})]:[],cn(r,x)]);const y=t?r.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,v])=>({queryKey:g,data:v})):[],d=un(r,x);return t&&r.setQueriesData({queryKey:p},g=>g&&{...g,items:pa(g.items,f)}),dn(r,x,g=>pa(g,f)),s?.(Array.from(f)),{threadMessagesPrefix:p,listPrefixes:x,previousThreadMessages:y,previousThreadsList:d}},onError:(m,f,p)=>{if(p){for(const y of p.previousThreadMessages)r.setQueryData(y.queryKey,y.data);fn(r,p.previousThreadsList)}const x=f.body.messageIds?.length??0;o({title:x>1?`Couldn't move ${x} messages`:"Couldn't move this message",detail:We(m),error:m})},onSettled:(m,f,p,x)=>{x&&(t&&r.invalidateQueries({queryKey:x.threadMessagesPrefix}),tt(r,x.listPrefixes),n&&r.invalidateQueries({queryKey:$t({path:{accountId:n}})}))}});return{moveMessages:l.useCallback((m,f)=>{m.length!==0&&tn(m,p=>i({body:{messageIds:p,destinationMailboxId:f}}))},[i]),isPending:c,isError:u}},Ah="This message could not be processed. Please try again.",Dh=(e,t)=>e.replace(`Message ${t}'s`,"This message's"),ha=e=>{if(e.failureCount===0)return;const t=e.failures?.[0],n=t?.reason??Ah,s=t?Dh(n,t.messageId):n;throw new Il(s,422)};function Ri({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:s}){const r=De(),{pushError:o}=Qe(),i=et([e]),c=t?dt({path:{threadId:t}}):[],u=()=>{t&&r.invalidateQueries({queryKey:c}),tt(r,i),n&&r.invalidateQueries({queryKey:$t({path:{accountId:n}})})},h=()=>(d,g)=>{u(),s?.(g.body.messageIds)},m=d=>(g,v)=>{o({title:d(v.body.messageIds.length),detail:We(g),error:g})},f=Me({mutationFn:async d=>{const{data:g}=await Tl({...d,throwOnError:!0});return ha(g),g},meta:{softError:!0},onSuccess:h(),onError:m(d=>d>1?`Couldn't report ${d} messages as spam`:"Couldn't report this message as spam")}),p=Me({mutationFn:async d=>{const{data:g}=await Rl({...d,throwOnError:!0});return ha(g),g},meta:{softError:!0},onSuccess:h(),onError:m(d=>d>1?`Couldn't undo the spam report for ${d} messages`:"Couldn't undo the spam report")}),x=l.useCallback(d=>{d.length!==0&&tn(d,g=>f.mutateAsync({body:{messageIds:g}}))},[f.mutateAsync]),y=l.useCallback(d=>{d.length!==0&&tn(d,g=>p.mutateAsync({body:{messageIds:g}}))},[p.mutateAsync]);return{reportSpam:x,notSpam:y,isReporting:f.isPending,isRestoring:p.isPending}}const Ph=({accountId:e,messageId:t,threadId:n,mailboxId:s,autoMoved:r,spamReport:o})=>{const{inboxMailboxId:i}=Mh(e),{junkMailboxId:c}=ji(e),{moveMessages:u,isPending:h}=Wn({mailboxId:s,threadId:n,accountId:e}),{notSpam:m,isRestoring:f}=Ri({mailboxId:s,threadId:n,accountId:e}),{data:p}=me({...rn({path:{accountId:e??""}}),staleTime:1/0,enabled:!!e&&r?.fromMailboxId!==void 0}),x={inboxMailboxId:i,junkMailboxId:c},y=Ih(r,x),d=l.useCallback(()=>{y&&u([t],y)},[u,t,y]),g=l.useCallback(()=>{m([t])},[m,t]);if(o)return{show:!0,label:Rh,onUndo:g,isUndoing:f};if(!Th(r,s,x)||!r)return{show:!1,label:"",isUndoing:!1};const k=r.fromMailboxId?p?.items.filter(b=>b.mailboxId===r.fromMailboxId).map(b=>Ml(b.fullPath))[0]:void 0;return{show:!0,label:Nh(r,k),onUndo:y?d:void 0,isUndoing:h,...r.filterId?{filtersHref:"/settings/filters"}:{}}};function Lh({accountId:e,messageId:t,threadId:n,mailboxId:s,autoMoved:r,spamReport:o}){const i=Ph({accountId:e,messageId:t,threadId:n,mailboxId:s,autoMoved:r,spamReport:o});return i.show?a.jsx(Cd,{label:i.label,onUndo:i.onUndo,undoLabel:i.isUndoing?"Undoing…":"Undo",filtersHref:i.filtersHref}):null}const ga=(e,t)=>e.filter(n=>!t.has(n.messageId)),Cv=e=>e.filter(t=>t.isDeleted!==!0),nr=({mailboxId:e,threadId:t,accountId:n,messages:s,onAfterOptimisticRemove:r})=>{const o=De(),{pushError:i}=Qe(),{mutateAsync:c,isPending:u}=Me({...Al(),onMutate:async m=>{const f=new Set(m.body.messageIds??[]),p=t?dt({path:{threadId:t}}):[],x=et(er(f,s??[],e));await Promise.all([o.cancelQueries({queryKey:p}),cn(o,x)]);const y=t?o.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,v])=>({queryKey:g,data:v})):[],d=un(o,x);return t&&o.setQueriesData({queryKey:p},g=>g&&{...g,items:ga(g.items,f)}),dn(o,x,g=>ga(g,f)),r?.(Array.from(f)),{threadMessagesPrefix:p,listPrefixes:x,previousThreadMessages:y,previousThreadsList:d}},onError:(m,f,p)=>{if(p){for(const y of p.previousThreadMessages)o.setQueryData(y.queryKey,y.data);fn(o,p.previousThreadsList)}const x=f.body.messageIds?.length??0;i({title:x>1?`Couldn't delete ${x} messages`:"Couldn't delete this message",detail:We(m),error:m})},onSettled:(m,f,p,x)=>{x&&(t&&o.invalidateQueries({queryKey:x.threadMessagesPrefix}),tt(o,x.listPrefixes),n&&o.invalidateQueries({queryKey:$t({path:{accountId:n}})}))}});return{deleteMessages:l.useCallback(m=>{m.length!==0&&tn(m,f=>c({body:{messageIds:f}}))},[c]),isPending:u}},Ii="inline-flex items-center justify-center transition-colors",Oh=Je(Ii,"min-h-11 min-w-11 rounded hover:bg-surface-raised"),$h=Je(Ii,"min-h-11 gap-1.5 px-3 rounded text-sm font-medium hover:bg-surface-raised"),sr=({accountId:e,currentMailboxId:t,onMove:n,disabled:s=!1,disabledHint:r,variant:o="icon-only",label:i})=>{const[c,u]=l.useState(!1),[h,m]=l.useState(),f=Ln(),p=l.useRef(null),x=i??"Move to folder",y=l.useId(),{t:d}=Dl("mail",{useSuspense:!1}),g=Xa(),{data:v,isLoading:k,isError:b,error:w,refetch:E}=me({...rn({path:{accountId:e}}),staleTime:1/0,enabled:c}),j=Ti(e),{createFolderIn:R}=Ja(e),T=l.useMemo(()=>Za({mailboxes:v?.items??[],folderAppointments:j,currentMailboxId:t,translator:g}),[v?.items,j,t,g]),P=eo(v?.items??[]),F=T.find(C=>C.id===h),I=l.useCallback(()=>{u(!1),m(void 0)},[]),z=l.useCallback(()=>{F&&(I(),n(F.id))},[F,I,n]);l.useEffect(()=>{if(!c||!f)return;const C=N=>{p.current&&!p.current.contains(N.target)&&I()},D=N=>{N.key==="Escape"&&I()};return document.addEventListener("mousedown",C),document.addEventListener("keydown",D),()=>{document.removeEventListener("mousedown",C),document.removeEventListener("keydown",D)}},[c,f,I]);const A=s||!!r,S=a.jsxs("button",{type:"button",onClick:C=>{C.stopPropagation(),!A&&u(D=>!D)},"aria-label":x,"aria-haspopup":f?"tree":"dialog","aria-expanded":c,"aria-controls":c?y:void 0,title:r,className:o==="icon-only"?Oh:$h,children:[a.jsx(Ls,{className:o==="icon-only"?"size-5":"size-4"}),o==="compact"&&a.jsx("span",{className:"hidden sm:inline",children:"Move"})]}),M=k?a.jsx("div",{className:"px-3 py-5 text-sm text-fg-muted",children:"Loading folders…"}):b?a.jsx("div",{className:"p-3",children:a.jsx(an,{variant:"inline",title:"Couldn't load folders",error:w,onRetry:()=>E()})}):a.jsx(Pl,{folders:T,selectedId:h,delimiter:P,onSelect:m,onCreateFolder:R,onCancel:I,labels:{filterPlaceholder:d("move_picker_filter_placeholder",{defaultValue:"Filter folders…"}),filterAriaLabel:d("move_picker_filter_label",{defaultValue:"Filter folders"})}}),O=F&&a.jsx("div",{className:"shrink-0 border-t border-line p-2",children:a.jsx(ne,{variant:"primary",onClick:z,className:"h-11 w-full font-semibold",children:`Move to ${F.label}`})});return f?a.jsxs("div",{ref:p,className:"relative inline-block",children:[S,c&&a.jsxs("div",{id:y,className:Je("absolute right-0 mt-1 z-50 w-72 max-h-96 flex flex-col","bg-surface border border-line rounded-md shadow-lg"),children:[M,O]})]}):a.jsxs(a.Fragment,{children:[S,a.jsx(Rt.Root,{open:c,onOpenChange:C=>C?u(!0):I(),children:a.jsxs(Rt.Portal,{children:[a.jsx(Rt.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),a.jsxs(Rt.Content,{className:"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-lg bg-canvas pb-[env(safe-area-inset-bottom,0px)]",style:{maxHeight:"85dvh"},id:y,children:[a.jsx(Rt.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-subtle/30"}),a.jsx(Rt.Title,{className:"px-4 py-2 text-base font-semibold border-b border-line",children:"Move to folder"}),a.jsx("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:M}),O]})]})})]})},Fh=({messageId:e,threadId:t,mailboxId:n,isRead:s,accountId:r,fromAddressId:o,isTrusted:i=!1,showRaw:c=!1,onToggleRaw:u})=>{const h=De(),m=Fs(),{pushError:f}=Qe(),p=dp()?.messageId,{mutate:x,isPending:y}=Me({...Dn(),onMutate:async M=>{const O=M.body.isRead??!0,C=new Set(M.body.messageIds??[]),D=dt({path:{threadId:t}}),N=et([n]);await Promise.all([h.cancelQueries({queryKey:D}),cn(h,N)]);const Q=h.getQueriesData({queryKey:D}).filter(se=>se[1]!==void 0).map(([se,re])=>({queryKey:se,data:re})),q=un(h,N);return h.setQueriesData({queryKey:D},se=>se&&{...se,items:In(se.items,C,O)}),dn(h,N,se=>In(se,C,O)),{threadMessagesPrefix:D,listPrefixes:N,previousThreadMessages:Q,previousThreadsList:q}},onError:(M,O,C)=>{if(C){for(const N of C.previousThreadMessages)h.setQueryData(N.queryKey,N.data);fn(h,C.previousThreadsList)}const D=O.body.isRead??!0;f({title:D?"Couldn't mark as read":"Couldn't mark as unread",detail:We(M),error:M})},onSettled:(M,O,C,D)=>{D&&(h.invalidateQueries({queryKey:D.threadMessagesPrefix}),tt(h,D.listPrefixes))}}),d=l.useCallback(M=>{p&&M.includes(p)&&m({to:"/mail/$mailboxId",params:{mailboxId:n},search:O=>O})},[p,n,m]),{deleteMessages:g,isPending:v}=nr({mailboxId:n,threadId:t,onAfterOptimisticRemove:d}),{moveMessages:k,isPending:b}=Wn({mailboxId:n,threadId:t,accountId:r,onAfterOptimisticRemove:d}),{toggleTrusted:w,isPending:E,error:j,reset:R}=Ha({messageId:e}),T=()=>{x({body:{messageIds:[e],isRead:!1}})},P=()=>{g([e])},F=()=>{o&&w(o,i)},I=y||v||b||E,z=I||!o,A=l.useCallback(M=>{k([e],M)},[k,e]),S=o?void 0:"Sender has no parseable address";return a.jsxs("div",{className:"flex flex-col items-end gap-1",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[r&&a.jsx(sr,{accountId:r,currentMailboxId:n,onMove:A,disabled:I,label:"Move this message"}),a.jsxs(fc,{trigger:a.jsx(mo,{className:"size-4"}),children:[a.jsxs(mn,{onClick:F,disabled:z,children:[i?a.jsx($n,{className:"size-4 text-positive"}):a.jsx(Mn,{className:"size-4 opacity-0"}),a.jsx("span",{title:S,children:"Trusted sender"})]}),s&&a.jsxs(mn,{onClick:T,disabled:I,children:[a.jsx(qs,{className:"size-4"}),"Mark as unread"]}),u&&a.jsxs(mn,{onClick:u,children:[a.jsx(fo,{className:"size-4"}),c?"Show formatted":"Show raw email"]}),a.jsx(mc,{}),a.jsxs(mn,{onClick:P,disabled:I,destructive:!0,children:[a.jsx(sn,{className:"size-4"}),"Delete"]})]})]}),j&&a.jsx("div",{className:"w-64",children:a.jsx(an,{variant:"inline",title:"Couldn't update trust",error:j,onRetry:()=>{R(),F()}})})]})},_h=e=>e==="link-expired"||e==="not-ready";class Rs extends Error{reason;status;constructor(t,n,s){super(n),this.name="AttachmentFetchError",this.reason=t,this.status=s}}const zh="x-remit-403-reason",Bh="expired",Uh=(e,t)=>{if(t?.trim()===Bh)return"link-expired";const n=Nc(e,t);return n==="auth"?"auth":n==="body-missing"?"missing":"generic"},Kh=300*1e3,ba=async(e,t)=>{const n={},s=await t();s&&(n.Authorization=`Bearer ${s}`);const r=await Ll(e,{headers:n,signal:AbortSignal.timeout(Kh)});if(r.status===202)throw new Rs("not-ready","Attachment is still being fetched from the mail server",202);if(!r.ok)throw new Rs(Uh(r.status,r.headers.get(zh)),`Failed to download attachment (${r.status} ${r.statusText})`,r.status);return r.blob()},Hh=(e,t,n)=>{switch(e){case"auth":return{title:"Your session expired",detail:`Sign in again, then download ${t} once more. Other parts of the app may also stop responding until you do.`};case"link-expired":return{title:"This download link expired and could not be renewed",detail:`Reload the page, then download ${t} again. If that keeps failing, this is worth reporting.`};case"missing":return{title:"This attachment is missing from storage",detail:"Remit has the message but not the file. Re-sync the account from Settings, then try again."};case"not-ready":return{title:"Still fetching this attachment",detail:"Remit is downloading it from the mail server now. Try again in a few seconds."};default:return{title:"Couldn't download this attachment",detail:n}}},va=e=>e instanceof Rs?e.reason:"generic",Wh=e=>e instanceof Error?e.message:typeof e=="string"?e:"An unexpected error occurred while downloading this attachment.",qh=(e,t,n)=>{if(e!=="auth")return $a(Fa({title:`Bug: attachment download failed (${e})`,errorMessage:`Downloading "${t}" failed: ${n}`}))},Vh=(e,t)=>{const n=URL.createObjectURL(e),s=document.createElement("a");s.href=n,s.download=t,s.rel="noopener",document.body.append(s),s.click(),s.remove(),setTimeout(()=>URL.revokeObjectURL(n),0)},Qh=e=>{const t=e.toUpperCase();return t==="OCTET-STREAM"?"FILE":t},Gh=e=>{const t=e.toLowerCase().replace(/[^a-z0-9]/g,"");return t.length>0?`attachment.${t}`:"attachment"},xa=e=>e.filter(t=>!t.isMultipart&&t.disposition===Kc.Attachment&&t.contentUrl.length>0).map(t=>({bodyPartId:t.bodyPartId,filename:yd(t.dispositionFilename??"",Gh(t.mediaSubtype)),typeLabel:Qh(t.mediaSubtype),sizeOctets:t.sizeOctets,contentUrl:t.contentUrl})),ya={status:"idle"},Yh=({messageId:e,bodyParts:t,hasAttachment:n=!1,className:s})=>{const{getToken:r}=Ol(),o=De(),[i,c]=l.useState({}),u=l.useMemo(()=>xa(t??[]),[t]),h=$l({path:{messageId:e}}),m=y=>ba(y.contentUrl,r).catch(d=>{if(!_h(va(d)))throw d;return o.refetchQueries({queryKey:h}).then(()=>{const g=o.getQueryData(h),v=g?xa(g.bodyParts).find(k=>k.bodyPartId===y.bodyPartId):void 0;return ba(v?.contentUrl??y.contentUrl,r)})}),f=(y,d)=>c(g=>({...g,[y]:d})),p=y=>{const d=u.find(g=>g.bodyPartId===y);if(!d)throw new Error(`No attachment part ${y} on message ${e}`);f(y,{status:"downloading"}),m(d).then(g=>{Vh(g,d.filename),f(y,ya)}).catch(g=>{const v=va(g),k=Wh(g),{title:b,detail:w}=Hh(v,d.filename,k);f(y,{status:"failed",title:b,detail:w,reportUrl:qh(v,d.filename,k)})})},x=n&&t!==void 0&&u.length===0;return a.jsx(kd,{className:s,attachments:u.map(y=>({attachmentId:y.bodyPartId,filename:y.filename,typeLabel:y.typeLabel,sizeOctets:y.sizeOctets,download:i[y.bodyPartId]??ya})),onDownload:p,hasUnlistedAttachment:x})},Xh=({messageId:e,threadId:t,mailboxId:n,accountId:s,isRead:r,isStarred:o,onToggleStar:i,fromAddressId:c,isTrusted:u,showRaw:h,onToggleRaw:m,onReply:f,onReplyAll:p,onForward:x})=>{const y=De(),{deleteMessages:d}=nr({mailboxId:n,threadId:t}),{moveMessages:g}=Wn({mailboxId:n,threadId:t,accountId:s}),{toggleTrusted:v}=Ha({messageId:e}),{mutate:k}=Me({...Dn(),onSettled:()=>{y.invalidateQueries({queryKey:dt({path:{threadId:t}})}),tt(y,et([n]))}}),b=l.useCallback(R=>{g([e],R)},[g,e]),w=l.useCallback(()=>{d([e])},[d,e]),E=l.useCallback(()=>{k({body:{messageIds:[e],isRead:!r}})},[k,e,r]),j=[];return c&&j.push({key:"trusted",label:u?"Trusted sender":"Mark sender trusted",icon:u?a.jsx($n,{className:"size-4 text-positive"}):a.jsx(Mn,{className:"size-4"}),onSelect:()=>v(c,u)}),m&&j.push({key:"raw",label:h?"Show formatted":"Show raw email",icon:a.jsx(fo,{className:"size-4"}),onSelect:m}),a.jsx(Co,{hasThread:!0,onReply:f,onReplyAll:p,onForward:x,isStarred:o,onToggleStar:i,onDelete:w,isRead:r,onToggleRead:E,overflowItems:j,moveSlot:s?a.jsx(sr,{accountId:s,currentMailboxId:n,onMove:b,label:"Move this message"}):void 0})},Jh=()=>a.jsxs("div",{className:"animate-pulse space-y-2",role:"status","aria-label":"Loading raw email",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-11/12"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-5/6"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"})]}),Zh=({messageId:e,enabled:t=!0})=>{const{data:n,isLoading:s,isError:r,error:o,refetch:i}=me({...Fl({path:{messageId:e}}),enabled:t});if(s)return a.jsx("div",{className:"message-body",children:a.jsx(Jh,{})});if(r)return a.jsx("div",{className:"message-body",children:a.jsx(an,{variant:"inline",title:"Couldn't load the raw email",error:o,onRetry:()=>i()})});const c=n?.raw??"";return c===""?a.jsx("div",{className:"message-body",children:a.jsx("p",{className:"text-fg-muted text-sm italic",children:"No raw source available for this message."})}):a.jsx("div",{className:"message-body",children:a.jsx("pre",{className:"email-text whitespace-pre-wrap break-words text-sm leading-relaxed bg-surface-sunken rounded-md p-3 max-h-[32rem] overflow-auto",children:c})})},eg=()=>a.jsx($n,{className:"inline-block size-4 ml-1 -mt-0.5 text-positive align-middle","aria-label":"Trusted sender","data-testid":"trusted-sender-badge"}),Mi=(e,t)=>({id:e.messageId,fromName:e.fromName??e.fromEmail??"?",fromEmail:e.fromEmail??"",toLabel:"",dateLabel:t,snippet:e.snippet||"",bodyHtml:""}),Ai=({isStarred:e,onToggleStar:t,isStarPending:n,hoverReveal:s})=>a.jsx("button",{type:"button",onClick:r=>{r.stopPropagation(),t()},disabled:n,"aria-label":e?"Remove star":"Add star",className:Je("shrink-0 p-0.5 rounded transition-colors",e?"text-warning":Je("text-fg-subtle hover:text-warning",s&&"opacity-0 group-hover:opacity-100 focus:opacity-100"),n&&"opacity-50"),children:a.jsx(Lt,{className:Je("size-3.5",e&&"fill-current")})}),tg=({threadMessage:e,isFocused:t,onToggle:n,onToggleStar:s,isStarPending:r})=>{const o=Ga(e.sentDate,"datetime"),i=Mi(e,o);return a.jsx(Eo,{message:i,onClick:n,isFocused:t,isUnread:!e.isRead,trailing:a.jsxs(a.Fragment,{children:[e.hasAttachment&&a.jsx(Fn,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"}),a.jsx(Ai,{isStarred:e.hasStars,onToggleStar:s,isStarPending:r,hoverReveal:!0}),a.jsx("span",{"data-testid":"message-date",className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:o})]})})},ng=({threadMessage:e,messageData:t,isLoading:n,isError:s,error:r,onRetry:o,isFocused:i,onToggle:c,onToggleStar:u,isStarPending:h,accountId:m,showRaw:f,onToggleRaw:p,mobile:x,onReply:y,onReplyAll:d,onForward:g})=>{const v=Ga(e.sentDate,"long"),k=!e.isRead,b=t?.envelope.from[0]?.flags?.trusted?.value===!0,w=t?.envelope.from[0]?.addressId,E=Mi(e,v),j=e.autoMoved||e.spamReport?a.jsx(Lh,{accountId:m,messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,autoMoved:e.autoMoved,spamReport:e.spamReport}):null;return a.jsx(No,{message:E,isFocused:x?!1:i,onHeaderClick:c,senderBadge:b?a.jsx(eg,{}):void 0,trailing:a.jsx("span",{"data-testid":"message-date",className:"text-2xs text-fg-subtle",children:v}),to:t?a.jsx(Uu,{label:"To",addresses:t.envelope.to}):null,indicators:j||!x?a.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-0.5",children:[j,!x&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex items-center justify-end gap-1",children:a.jsx(Ai,{isStarred:e.hasStars,onToggleStar:u,isStarPending:h})}),k&&a.jsx("span",{className:"size-1.5 rounded-full bg-accent","aria-label":"Unread"})]})]}):void 0,actionMenu:x?void 0:a.jsx(Fh,{messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,isRead:e.isRead,accountId:m,fromAddressId:w,isTrusted:b,showRaw:f,onToggleRaw:p}),actionBar:x?a.jsx(Xh,{messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,accountId:m,isRead:e.isRead,isStarred:e.hasStars,onToggleStar:u,fromAddressId:w,isTrusted:b,showRaw:f,onToggleRaw:p,onReply:y,onReplyAll:d,onForward:g}):void 0,body:n?a.jsxs("div",{className:"mt-3 animate-pulse space-y-2",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-1/2"})]}):s&&_l(r)?a.jsx("div",{className:"mt-3",children:a.jsx(xi,{message:"This message has been deleted"})}):s?a.jsx("div",{className:"mt-3",children:a.jsx(an,{variant:"inline",title:"Couldn't load this message",error:r,onRetry:o})}):f?a.jsx("div",{className:"mt-3",children:a.jsx(Zh,{messageId:e.messageId})}):a.jsxs("div",{className:"mt-3",children:[a.jsx(jc,{bodyParts:t?.bodyParts,messageId:e.messageId,fromAddressId:t?.envelope.from[0]?.addressId,isTrusted:b,category:Ni(e.category)}),a.jsx(Yh,{messageId:e.messageId,bodyParts:t?.bodyParts,hasAttachment:e.hasAttachment,className:"mt-4 px-2 lg:px-0"})]})})},sg=({threadMessage:e,isExpanded:t,isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o,accountId:i,mobile:c,onReply:u,onReplyAll:h,onForward:m})=>{const[f,p]=l.useState(!1),{data:x,isLoading:y,isError:d,error:g,refetch:v}=me({...Pn({path:{messageId:e.messageId}}),enabled:t,meta:{softError:!0}});return t?a.jsx(ng,{threadMessage:e,messageData:x,isLoading:y,isError:d,error:g,onRetry:()=>v(),isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o,accountId:i,showRaw:f,onToggleRaw:()=>p(k=>!k),mobile:c,onReply:u,onReplyAll:h,onForward:m}):a.jsx(tg,{threadMessage:e,isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o})},rg=()=>a.jsxs("div",{className:"animate-pulse p-4",children:[a.jsx("div",{className:"h-6 bg-surface-sunken rounded w-3/4 mb-5"}),a.jsx("div",{className:"space-y-4",children:Array.from({length:2}).map((e,t)=>a.jsxs("div",{className:"flex gap-3 py-3",children:[a.jsx("div",{className:"size-10 bg-surface-sunken rounded-full shrink-0"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-32 mb-2"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-48"})]})]},t))})]});function wa({authenticity:e,onOpenIntelligence:t}){return e.dkimMismatch?a.jsxs("div",{className:"flex items-start gap-2 rounded-none border-b border-danger/20 bg-danger-soft px-5 py-2.5 text-sm",children:[a.jsx(_t,{className:"mt-0.5 size-4 shrink-0 text-danger"}),a.jsxs("p",{className:"flex-1 leading-snug text-fg",children:["This message claims to be from"," ",a.jsx("span",{className:"font-semibold",children:e.fromDomain})," but was sent",e.dkimDomain?` via ${e.dkimDomain}`:" from a different domain","."]}),t&&a.jsx("button",{type:"button",onClick:t,className:"shrink-0 text-2xs font-medium text-danger hover:underline",children:"Why?"})]}):null}const Ev=({threadId:e,mailboxId:t,subject:n,selectedMessageId:s,authenticity:r,onOpenIntelligence:o,onBack:i,composeRequest:c,onComposeClose:u,onSwipeNext:h,onSwipePrevious:m,mobileIntelligenceOpen:f})=>{const p=Ln(),{handlers:x}=kh({onSwipeLeft:h,onSwipeRight:m}),{accountId:y}=yi(t),{data:d,isLoading:g,isError:v,error:k,refetch:b}=me({...Ua({path:{threadId:e}})}),w=l.useMemo(()=>d?.items??[],[d?.items]),E=w[w.length-1],j=l.useRef(new Map),[R,T]=l.useState(new Set),[P,F]=l.useState(null),[I,z]=l.useState(0);l.useEffect(()=>{if(w.length>0&&e!==P){F(e);const G=new Set([w[w.length-1].threadMessageId]);if(s){const Z=w.find(oe=>oe.messageId===s);Z&&G.add(Z.threadMessageId)}T(G),z(w.length-1)}},[e,w,P,s]);const A=l.useCallback(G=>{T(Z=>{const oe=new Set(Z);return oe.has(G)?oe.delete(G):oe.add(G),oe})},[]),S=l.useCallback(G=>{const Z=w[G];if(!Z)return;j.current.get(Z.threadMessageId)?.scrollIntoView({behavior:"smooth",block:"nearest"})},[w]),M=l.useCallback(()=>{if(w.length===0)return;const G=Math.min(I+1,w.length-1);z(G),S(G)},[w.length,I,S]),O=l.useCallback(()=>{if(w.length===0)return;const G=Math.max(I-1,0);z(G),S(G)},[w.length,I,S]),C=l.useCallback(()=>{const G=w[I];G&&A(G.threadMessageId)},[w,I,A]),{data:D}=me({...Ot(),staleTime:1/0}),N=D?.accounts?.[0];xh({messages:w,expandedIds:R,threadId:e,mailboxId:t,accountId:N?.accountId});const{toggleStar:Q,isPending:q,pendingMessageId:se}=Ei({threadId:e,mailboxId:t,messages:w}),[re,ue]=l.useState(null),[ae,ge]=l.useState(0),V=l.useCallback(G=>{ue(G),ge(Z=>Z+1)},[]);l.useEffect(()=>{c&&c!=="new"&&(V(c),u?.())},[c,u,V]);const{data:xe}=me({...Pn({path:{messageId:E?.messageId??""}}),enabled:!!E&&re!==null}),J=l.useCallback(()=>V("reply"),[V]),Se=l.useCallback(()=>V("reply_all"),[V]),be=l.useCallback(()=>V("forward"),[V]),je=l.useCallback(()=>{ue(null),u?.()},[u]),ke=l.useRef(null);if(l.useEffect(()=>{if(re===null||ae===0)return;const G=ke.current;if(!G)return;const Z=()=>G.scrollIntoView({behavior:"smooth",block:"end"});if(Z(),typeof ResizeObserver>"u")return;const oe=new ResizeObserver(Z);return oe.observe(G),()=>oe.disconnect()},[ae,re]),pc({enabled:!g&&w.length>0&&re===null,bindings:[{key:"j",handler:M,preventDefault:!0},{key:"ArrowDown",handler:M,preventDefault:!0},{key:"k",handler:O,preventDefault:!0},{key:"ArrowUp",handler:O,preventDefault:!0},{key:"Enter",handler:C,preventDefault:!0},{key:"o",handler:C,preventDefault:!0},{key:"r",handler:J,preventDefault:!0},{key:"R",handler:Se,noModifiers:!1,preventDefault:!0},{key:"f",handler:be,preventDefault:!0}]}),g)return a.jsx(rg,{});if(v)return a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(an,{title:"Couldn't load this conversation",error:k,onRetry:()=>b()})});if(w.length===0)return a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(xi,{message:"No messages in this thread"})});const U=n||w[0]?.subject||"(No subject)",ye=w.length,Ee=G=>a.jsx("div",{children:w.map((Z,oe)=>a.jsx("div",{ref:Le=>{Le&&j.current.set(Z.threadMessageId,Le)},children:a.jsx(sg,{threadMessage:Z,isExpanded:R.has(Z.threadMessageId),isFocused:oe===I,onToggle:()=>A(Z.threadMessageId),onToggleStar:()=>Q(Z.messageId,Z.hasStars),isStarPending:q&&se===Z.messageId,accountId:y,mobile:G,onReply:G?J:void 0,onReplyAll:G?Se:void 0,onForward:G?be:void 0})},Z.threadMessageId))}),Pe=a.jsxs("header",{className:"border-b border-line px-5 pt-5 pb-3",children:[a.jsx("h1",{className:"max-w-2xl text-lg font-semibold leading-snug text-fg",children:U}),a.jsxs("p",{className:"mt-1 text-2xs text-fg-subtle",children:[ye," ",ye===1?"message":"messages"]})]});return p?a.jsxs("article",{className:"h-full flex flex-col",children:[Pe,r?.dkimMismatch&&a.jsx(wa,{authenticity:r,onOpenIntelligence:o}),a.jsxs("div",{className:"min-h-0 flex-1 overflow-auto",children:[Ee(!1),re!==null&&a.jsx("div",{ref:ke,children:a.jsx(fa,{mode:re,account:N,sourceMessage:xe,onClose:je})})]})]}):a.jsxs(pd,{thread:{subject:U,messages:[]},onBack:i??(()=>{}),intelligenceOpen:f,onToggleIntelligence:o,touchHandlers:x,children:[r?.dkimMismatch&&a.jsx(wa,{authenticity:r,onOpenIntelligence:o}),Ee(!0),re!==null&&a.jsx("div",{ref:ke,children:a.jsx(fa,{mode:re,account:N,sourceMessage:xe,onClose:je})})]})},ag=10,Di=e=>({q:e?.toLowerCase()??"",limit:ag}),og=(e,t)=>{if(!t)return;const n=t.toLowerCase();return e?.find(s=>s.normalizedEmail===n)};function ig(e){const t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?"today":Bc(t,{month:"short",year:"numeric"})}function Pi(e){if(!e)return!0;const[,t]=e.split("@");return t?!t.includes("."):!0}const lg="We can't verify the sender of this email, which could mean it's from an insecure source.",cg="We couldn't read this sender's address, so we can't confirm who really sent this message.";function ug(e,t){const n=e.category??"personal";return{value:Bl(n)?n:"uncategorized",overridden:t?.flags?.category?.value!=null&&t.flags.category.value!==e.category}}function dg(e,t){return{name:e.fromName??e.fromEmail??"Unknown",email:e.fromEmail??"",trust:e.senderTrust,firstSeenLabel:t?ig(t.createdAt):"unknown",inboundCount:t?.inboundCount,replyCount:t?.replyCount,addressUnverified:Pi(e.fromEmail)}}function fg(e){return e?.flags?{vip:e.flags.vip?.value===!0,muted:e.flags.muted?.value===!0,blocked:e.flags.blocked?.value===!0,unsubscribed:e.flags.unsubscribed?.value===!0}:{}}function Sa(e){if(e.fromName&&e.fromName!==e.fromEmail)return e.fromName}function mg(e){return e.length===1?e[0]:`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`}function pg(e,t){const n=[],s=e.displayNameCorrespondence;t&&(s===br.Unrelated?n.push(`The name it shows, "${t}", has nothing to do with ${e.fromDomain}.`):s===br.Lookalike&&n.push(`The name it shows, "${t}", only looks like ${e.fromDomain}.`));const r=hg(e.offDomainLinkDomains);return r.length>0&&n.push(`Its links go to ${mg(r.slice(0,3))}.`),n}function hg(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function gg(e,t){const n=t>0?t:void 0;if(Pi(e.fromEmail))return{verdict:"mismatch",fromDomain:"",addressUnreadable:!0,summary:cg,similarCount:n};const s=e.authenticity;if(!s)return{verdict:"caution",fromDomain:e.fromEmail?.split("@")[1]??"",summary:lg};if(!s.dkimMismatch){const h=Sa(e),m=pg(s,h);return m.length>0?{verdict:"caution",fromDomain:s.fromDomain,dkimDomain:s.dkimDomain,claimedBrand:h,summary:m.join(" ")}:{verdict:"aligned",fromDomain:s.fromDomain,dkimDomain:s.dkimDomain,summary:s.dkimDomain?`This message was signed by ${s.dkimDomain}.`:"Nothing looks unusual about this sender."}}const r=s.fromDomain,o=s.dkimDomain,i=Sa(e),c=o?`it was actually sent from ${o}`:"its signature failed to verify",u=i?`The display name claims "${i}", but ${c}${o?` — not ${r}`:""}. Real senders use their own address.`:`This message claims to be from ${r}, but ${c}.`;return{verdict:"mismatch",fromDomain:r,dkimDomain:o,claimedBrand:i,summary:u,similarCount:n}}function bg(e,t){const n=e?.fromEmail??null,s=e?.subject??"",{data:r,error:o}=me({...An({query:Di(n??void 0)}),enabled:!!n,staleTime:3e4}),i=og(r?.items,n??void 0),c=[s,n].filter(Boolean).join(" "),{data:u,isLoading:h,error:m}=me({...zl({query:{query:c,limit:5}}),enabled:!!(e&&c.length>3),staleTime:6e4,retry:1});return{data:l.useMemo(()=>{if(!e)return null;const p=(u?.items??[]).filter(v=>v.messageId!==e.messageId).map(v=>({id:v.messageId,threadId:v.threadId,mailboxId:t!=null&&v.mailboxIds.includes(t)?t:v.mailboxIds[0]??"",fromName:v.fromName??"",subject:v.subject??"(No subject)",timeLabel:v.sentDate!=null?Ft(v.sentDate*1e3):"",matched:v.matchedChunkType})),x=dg(e,i),y=gg(e,p.length),d=ug(e,i),g=fg(i);return{sender:x,authenticity:y,category:d,flags:g,similar:p}},[e,i,u,t]),isSimilarLoading:h,similarError:m,similarErrorIsFatal:ur(m),addressErrorIsFatal:ur(o),addressId:i?.addressId,address:i}}function vg(e,t){const n={...e??{}};for(const[s,r]of Object.entries(t))r==null?delete n[s]:n[s]={...r,setAt:r.setAt??Date.now()};return n}function xg({addressId:e,senderEmail:t}){const n=De(),{pushError:s}=Qe(),r=Ul({query:Di(t)}),{mutate:o,isPending:i}=Me({...Kl(),onMutate:async u=>{const h=u.body.flags??{};await n.cancelQueries({queryKey:r});const m=n.getQueryData(r);return n.setQueryData(r,f=>f&&{...f,items:f.items.map(p=>p.addressId===u.path.addressId?{...p,flags:vg(p.flags,h)}:p)}),{previous:m}},onError:(u,h,m)=>{m?.previous!==void 0&&n.setQueryData(r,m.previous),s({title:"Couldn't update sender preference",detail:We(u),error:u})},onSettled:()=>{n.invalidateQueries({queryKey:r})}});return{updateFlags:l.useCallback(u=>{if(!e){Hl(new Error(`Quick action fired but the sender's address record did not resolve (sender: ${t??"unknown"}). This should never happen — the address row exists.`));return}o({path:{addressId:e},body:{flags:u}})},[e,o,t]),isPending:i}}const Nv=e=>e==="vip"?"A sender you know":e==="wellknown"?"You've emailed them before":"Passed authentication",yg=e=>e.senderTrust!=="vip"&&e.senderTrust!=="wellknown"?!1:e.authenticity?.dkimMismatch!==!0;function jv(e,t){e.recordEvent("rescue.candidates_surfaced",{count:String(t)})}function Tv(e,t){e.recordEvent("rescue.flow_opened",{count:String(t)})}function Rv(e,t){e.recordEvent("rescue.committed",{selected:String(t.selected),total:String(t.total),destination:t.toInbox?"inbox":"other"})}function wg(e,t){e.recordEvent("rescue.sent_to_junk",{count:String(t.count),senderTrust:t.senderTrust,wasRescuable:String(t.wasRescuable)})}const Sg=["personal","newsletter","marketing","automated","transactional","social"],kg=e=>e.spamReport?"notSpam":"reportSpam",Cg=e=>{const{similarError:t,similarErrorIsFatal:n,isSimilarLoading:s}=e;return t&&!n?"error":s?"loading":"ready"};function Eg(){return a.jsxs("aside",{className:"flex h-full w-full flex-col bg-surface-sunken",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-1.5 border-b border-line px-row-inset",children:[a.jsx(Dt,{className:"size-3.5 text-fg-subtle"}),a.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"})]}),a.jsxs("div",{className:"flex-1 animate-pulse space-y-4 p-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),a.jsxs("div",{className:"flex gap-3",children:[a.jsx("div",{className:"size-10 rounded-full bg-surface shrink-0"}),a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsx("div",{className:"h-3 rounded bg-surface w-3/4"}),a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/2"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),a.jsx("div",{className:"h-8 rounded bg-surface"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),a.jsx("div",{className:"flex gap-1.5 flex-wrap",children:Array.from({length:5}).map((e,t)=>a.jsx("div",{className:"h-6 w-16 rounded bg-surface"},t))})]})]})]})}function Ng({isOpen:e,current:t,onSelect:n,onCancel:s}){return e?a.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[a.jsx(ql,{label:"Dismiss reclassify sender",onDismiss:s,className:"backdrop-blur-sm"}),a.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":"Reclassify sender",className:"relative z-10 w-full max-w-sm rounded-sm border border-line bg-surface p-6 shadow-lg",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Reclassify this sender"}),a.jsx("p",{className:"mt-2 text-sm text-fg-muted",children:"Set a category override for future messages from this sender."}),a.jsx("div",{className:"mt-4 flex flex-col gap-1",children:Sg.map(r=>a.jsxs("button",{type:"button",onClick:()=>n(r),className:`flex min-h-11 items-center justify-between rounded px-3 text-left text-sm capitalize transition-colors hover:bg-surface-raised ${r===t?"font-semibold text-accent":"text-fg"}`,children:[r,r===t&&a.jsx("span",{className:"text-2xs text-fg-subtle",children:"current"})]},r))}),a.jsx("div",{className:"mt-6 flex justify-end",children:a.jsx("button",{type:"button",onClick:s,className:"inline-flex min-h-11 items-center justify-center rounded border border-line px-4 text-sm font-medium transition-colors hover:bg-surface-raised",children:"Cancel"})})]})]}):null}function jg({thread:e,onClose:t,mailboxId:n,accountId:s,hideCloseButton:r,onAfterOptimisticRemove:o}){const{data:i,addressId:c,isSimilarLoading:u,similarError:h,similarErrorIsFatal:m}=bg(e,n),[f,p]=l.useState(!1),x=e.fromEmail??void 0,{updateFlags:y}=xg({addressId:c,senderEmail:x}),{reportSpam:d,notSpam:g,isReporting:v,isRestoring:k}=Ri({mailboxId:e.mailboxId,threadId:e.threadId,accountId:s,onAfterOptimisticRemove:o}),b=Wl(),w=kg(e),E=l.useCallback(()=>{g([e.messageId])},[g,e.messageId]),j=l.useCallback(()=>{wg(b,{count:1,senderTrust:e.senderTrust,wasRescuable:yg(e)}),d([e.messageId])},[d,e,b]),R=l.useCallback(()=>{},[]),T=l.useCallback(()=>{const O=i?.flags?.vip!==!0;y({vip:{value:O}})},[i?.flags?.vip,y]),P=l.useCallback(()=>{const O=i?.flags?.muted!==!0;y({muted:{value:O}})},[i?.flags?.muted,y]),F=l.useCallback(()=>{const O=i?.flags?.unsubscribed!==!0;y({unsubscribed:{value:O}})},[i?.flags?.unsubscribed,y]),I=l.useCallback(O=>{p(!1),y({category:{value:O}})},[y]),z=c!==void 0,A={onToggleVip:z?T:void 0,onToggleMute:z?P:void 0,onToggleUnsubscribe:z?F:void 0,onReclassify:z?()=>p(!0):void 0,onNotSpam:w==="notSpam"?E:void 0,onReportSpam:w==="reportSpam"?j:void 0},S=({mailboxId:O,threadId:C,messageId:D,className:N,ariaLabel:Q,children:q})=>a.jsx(Ya,{to:"/mail/$mailboxId/$threadId/$messageId",params:{mailboxId:O,threadId:C,messageId:D},search:se=>se,variant:"row",className:N,"aria-label":Q,children:q});if(!i)return a.jsx(Eg,{});const M=Cg({similarError:h,similarErrorIsFatal:m,isSimilarLoading:u});return a.jsxs(a.Fragment,{children:[a.jsx(bo,{data:i,onClose:t,hideCloseButton:r,onShowSimilar:R,actions:A,similarState:M,similarLinkComponent:S,reportSpamPending:v,notSpamPending:k,className:"border-l-0 h-full w-full"}),a.jsx(Ng,{isOpen:f,current:i.category.value,onSelect:I,onCancel:()=>p(!1)})]})}const Iv=({onClose:e,thread:t,mailboxId:n,accountId:s,hideCloseButton:r,onAfterOptimisticRemove:o})=>t?a.jsx(jg,{thread:t,onClose:e,mailboxId:n,accountId:s,hideCloseButton:r,onAfterOptimisticRemove:o}):a.jsxs("aside",{className:"flex h-full w-full flex-col bg-surface-sunken",children:[a.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-1.5 border-b border-line px-row-inset",children:[a.jsx(Dt,{className:"size-3.5 text-fg-subtle"}),a.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"})]}),a.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center px-row-inset text-center",children:[a.jsx(Dt,{className:"size-8 text-fg-subtle"}),a.jsx("p",{className:"mt-3 text-sm text-fg-muted",children:"Intelligence"}),a.jsx("p",{className:"mt-1 text-2xs text-fg-subtle",children:"Sender trust, authenticity and similar messages will appear here."})]})]}),Tg={delete:(e,t)=>`Deleting ${e} of ${t}…`,move:(e,t)=>`Moving ${e} of ${t}…`,markRead:(e,t)=>`Marking ${e} of ${t} as read…`},Li={delete:"moved to Trash",move:"moved",markRead:"marked as read"},Rg={delete:"couldn't be deleted",move:"couldn't be moved",markRead:"couldn't be marked as read"},Ig={delete:"Couldn't delete these messages",move:"Couldn't move these messages",markRead:"Couldn't mark these messages as read"},Mg={delete:"The delete didn't finish.",move:"The move didn't finish.",markRead:"The update didn't finish."},Mv=(e,t,n)=>Tg[e](vt(t),vt(n)),Av=(e,t)=>`${vt(t)} ${Li[e]}. Your mail server is still catching up.`,Dv=e=>`Stopped after ${vt(e)}`,Pv=(e,t,n)=>`${vt(t)} of ${vt(n)} ${Li[e]}. Nothing was sent for the rest, so they are untouched.`,Ag=(e,t)=>t>0?`Stopped after ${vt(t)} — some messages ${Rg[e]}`:Ig[e],Dg=e=>Mg[e],Lv=e=>e==="delete"?"danger":"info",Pg=100,Lg=(e,t)=>e.kind==="move"?[t,e.destinationMailboxId]:[t],Og=({mailboxId:e,accountId:t,enabled:n,predicateKey:s,searchQuery:r})=>{const[o,i]=l.useState({kind:"idle"}),[c,u]=l.useState(void 0),[h,m]=l.useState(void 0),f=l.useRef(!1),p=l.useRef(!1),x=De(),{pushError:y}=Qe();l.useEffect(()=>{p.current||(f.current=!0),i({kind:"idle"})},[n,s]);const d=l.useRef(r);d.current=r;const g=l.useCallback(T=>async P=>{const{data:F}=await dr({path:{mailboxId:e},query:{...T,continuationToken:P,limit:Pg},throwOnError:!0});return{ids:(F.items??[]).map(I=>I.messageId),continuationToken:F.continuationToken}},[e]),v=l.useCallback(async()=>{const{data:T}=await dr({path:{mailboxId:e},query:{...d.current,count:!0,results:!1},throwOnError:!0});if(T.count===void 0)throw new Error("the search returned no count for the selection");return T.count},[e]),k=l.useCallback(T=>async P=>{if(T.kind==="move"){const{data:I}=await Vl({body:{messageIds:P,destinationMailboxId:T.destinationMailboxId},throwOnError:!0});return I}if(T.kind==="markRead"){const{data:I}=await Ql({body:{messageIds:P,isRead:!0},throwOnError:!0});return I}const{data:F}=await Gl({body:{messageIds:P},throwOnError:!0});return F},[]),b=l.useCallback(T=>{tt(x,et(Lg(T,e))),t&&x.invalidateQueries({queryKey:$t({path:{accountId:t}})})},[x,e,t]),w=l.useCallback(()=>{f.current=!1,i({kind:"counting"}),v().then(T=>{if(f.current){i({kind:"idle"});return}i({kind:"escalated",total:T})},T=>{y(bs("Couldn't count matching messages","The count didn't finish.",T)),i({kind:"idle"})})},[v,y]),E=l.useCallback(()=>{f.current=!0},[]),j=l.useCallback(()=>{p.current||(f.current=!0,i({kind:"idle"}))},[]),R=l.useCallback(async(T,P)=>{f.current=!1,p.current=!0,u(T);const F=S=>m(hh(S)),I=k(T),z=g(d.current);let A;try{A=P!==void 0?await wi(P,I,F,()=>f.current):await ph(z,o.kind==="escalated"?o.total:0,I,F,()=>f.current)}finally{p.current=!1}return u(void 0),m(void 0),i({kind:"idle"}),A.error&&y(bs(Ag(T.kind,A.done),Dg(T.kind),A.error)),A.done>0&&b(T),A},[k,g,o,y,b]);return{phase:o,escalate:w,stop:E,clear:j,isRunning:c!==void 0,runningAction:c,progress:h,runAction:R}},$g=120,Fg=({keyboardFocusedMessageId:e,openMessageId:t,enabled:n,open:s,delayMs:r=$g})=>{const o=l.useRef(s);o.current=s;const i=l.useRef(void 0);l.useEffect(()=>{const c=e;if(!n){i.current=c;return}if(c===void 0||c===t)return;if(c===i.current){i.current=void 0;return}const u=setTimeout(()=>o.current(c),r);return()=>clearTimeout(u)},[n,e,t,r])},Oi="This account has no Junk folder appointed, so there is nowhere to file these. Appoint one under Settings › Folders.",_g="These are already in Junk, so there is nowhere to file them.",zg=(e,t)=>e!==void 0&&e!==t?e:void 0,Ov=(e,t)=>{if(zg(e,t)===void 0)return e===void 0?Oi:_g};function Bg(e,t){if(e.length!==0)return t!==void 0&&e.includes(t)?t:e[0]}const Ug={title:"",navSlot:null,titleMeta:null,searchSlot:null,searchField:null,searchResults:null,makeFilterSlot:null},Is=l.createContext(Ug),$i=()=>l.useContext(Is),Fi=8,_i=e=>e==="From"||e==="FromDomain",Kg=e=>({value:e.email,label:e.displayName??e.email,...e.displayName?{hint:e.email}:{},...e.fromSelection?{source:"selected"}:{}}),Hg=e=>{const t=Do(e.email);if(t!==null)return{value:t,...e.fromSelection?{source:"selected"}:{}}},Wg=(e,t)=>e.value.toLowerCase().includes(t)||(e.label??"").toLowerCase().includes(t),qg=(e,t,n)=>{if(!_i(e))return[];const s=t.trim().toLowerCase(),r=new Set,o=[];for(const i of n){if(i.email.trim()==="")continue;const c=e==="From"?Kg(i):Hg(i);if(!c)continue;const u=c.value.toLowerCase();if(!(u===""||r.has(u))&&(r.add(u),u!==s&&!(s!==""&&!Wg(c,s))&&(o.push(c),o.length===Fi)))break}return o},Vg=250,Qg=2,Gg=(e,t,n)=>{const s=t.trim(),r=Us(s,Vg),o=e!==void 0&&_i(e),{data:i}=me({...An({query:{q:r,limit:Fi}}),enabled:o&&r.length>=Qg});if(!o||e===void 0)return[];const c=[...n.map(u=>({email:u,fromSelection:!0})),...(i?.items??[]).map(u=>({email:u.normalizedEmail,...u.displayName?{displayName:u.displayName}:{}}))];return qg(e,s,c)},zi=12,Yg=e=>{const{envelope:t}=e,n=t.from[0];return{id:t.messageId,sender:n?Po({normalizedEmail:n.normalizedEmail,displayName:n.displayName}):"Unknown",subject:t.subject??"(No subject)",date:Ft(t.date)}},Xg=(e,t)=>{const n=e!==void 0&&t!==void 0,{data:s,isLoading:r}=me({...Yl({path:{mailboxId:e??""},query:{...t,limit:zi}}),enabled:n,staleTime:3e4});return{messages:(s?.items??[]).map(Jg),isPending:n&&r}},Jg=e=>({id:e.messageId,sender:e.fromName||e.fromEmail||"Unknown",subject:e.subject??"(No subject)",date:Ft(e.sentDate)}),Zg=e=>_s({queries:e.slice(0,zi).map(t=>({...Pn({path:{messageId:t}}),staleTime:Number.POSITIVE_INFINITY})),combine:t=>({messages:t.map(n=>n.data).filter(n=>n!==void 0).map(Yg),isPending:t.some(n=>n.isPending)})}),eb=e=>({matchOperator:"Or",literalClauses:zn(e)}),tb=(e,t,n)=>{const s=Me(Xl()),{mutate:r,reset:o}=s,[i,c]=l.useState(!1),u=l.useMemo(()=>_n(n),[n]),h=l.useCallback(()=>{!e||!t||(c(!1),r({path:{accountId:e},body:hr({anchorMessageId:t,matchOperator:"And",literalClauses:[]})}))},[e,t,r]),m=l.useCallback(()=>{c(!1),o()},[o]),f=s.data,p=f?.semanticUnavailable===!0&&!i&&u.length>0;l.useEffect(()=>{!p||!e||(c(!0),r({path:{accountId:e},body:hr(eb(u))}))},[p,e,u,r]);const x=i||(f?.semanticUnavailable??!1),y=s.isPending||p,d=i?{matchOperator:"Or",literalClauses:zn(u)}:{...t?{anchorMessageId:t}:{},matchOperator:"And",literalClauses:[]};return{preview:h,reset:m,matchedCount:y?void 0:f?.matchedCount,messageIds:y?void 0:f?.messageIds,semanticUnavailable:x,senderFallback:i,senders:u,matchPredicate:d,isPending:y,isError:s.isError,error:s.error}},nb=()=>[_a({path:{mailboxId:""}}),za({path:{mailboxId:""}}),Ba()].map(e=>[{_id:e[0]._id}]),sb=e=>Si(e)?e.pages:ki(e)?[e]:[],rb=e=>typeof e=="object"&&e!==null&&typeof e.messageId=="string",ab=(e,t)=>{const n=new Set(t),s=new Map;for(const r of e)for(const o of sb(r))for(const i of o.items){if(!rb(i)||!n.has(i.messageId))continue;const c=i.subject?.trim();c&&s.set(i.messageId,c)}return t.map(r=>s.get(r)).filter(r=>r!==void 0)},ob=e=>{const t=De(),n=e.join("\0");return l.useMemo(()=>{const s=nb().flatMap(r=>t.getQueriesData({queryKey:r}).map(([,o])=>o));return ab(s,e)},[t,n])},ib=new Set(["hasAttachment","isUnread","isRead","isStarred","category","before","after"]),lb=e=>ib.has(e),cb=(e,{searchHadSemanticReach:t})=>{const n=[],s=[];let r,o;for(const u of e.tokens){if(u.type==="from"){n.push({field:"From",value:u.value});continue}if(u.type==="subject"){n.push({field:"Subject",value:u.value});continue}if(u.type==="in"){r={mailboxId:u.mailboxId,label:u.value};continue}if(u.type==="account"){o=u.accountId;continue}lb(u.type)&&s.push({type:u.type,label:Wa(u)})}const i=e.freeText.trim(),c=i.length>0;return c&&n.push({field:"HasWords",value:i}),{clauses:n,matchOperator:"all",scopedOut:r,droppedFacets:s,targetAccountId:o,keptTerms:c,droppedSemantic:c&&t}},ub=(e,t,n)=>e.targetAccountId??t??n[0]?.accountId,db=({failure:e,isStarting:t,isRunning:n,isDone:s,failedCount:r,ruleSaved:o})=>e?.kind==="restartFailed"?"backApplyRestartFailed":e?.kind==="startFailed"?o?"backApplyStartFailed":"commitFailed":s?r>0?"backApplyFailed":"backApplyComplete":e?.kind==="statusUnreadable"?"statusUnknown":t||n?"backApplyRunning":"saving",fb={clauses:[],matchOperator:"any"},mb={clauses:[],matchOperator:"all",droppedFacets:[],keptTerms:!1,droppedSemantic:!1},pb=[],gt={state:"saving",matched:0,applied:0,failed:0,failures:[]},ms=(e,t)=>e.map((n,s)=>({...n,id:`${t}-${s}`})),ka=(e,t,n)=>{if(e==="delete")return{kind:"delete"};if(e==="markRead")return{kind:"markRead"};const s=e==="junk"?n:t;return s?{kind:"move",destinationMailboxId:s}:void 0},ps=e=>e==="move"||e==="junk"||e==="organize",Ca=e=>e==="junk"?Oi:"No destination was chosen, so there is nowhere to file these. Go back and pick a folder.";function hb({verb:e,accountId:t,mailboxId:n,selection:s,crossAccount:r=!1,escalated:o,escalatedProgress:i,searchConversion:c,onFinished:u,onRunEnded:h,step:m,goToStep:f,goBack:p,closeWizard:x}){const[y]=l.useState(()=>c),[d]=l.useState(()=>o),g=y!==void 0,[v,k]=l.useState(g?"properties":"selected"),b=d?"escalated":v,[w,E]=l.useState(()=>y?{clauses:ms(y.clauses,"search"),matchOperator:y.matchOperator}:fb),[j,R]=l.useState(void 0),[T,P]=l.useState(void 0),[F,I]=l.useState(!1),[z,A]=l.useState(void 0),[S,M]=l.useState(void 0),[O,C]=l.useState(),D=l.useRef(!1),N=l.useRef(!1),Q=l.useMemo(()=>s.map(L=>L.id),[s]),q=l.useMemo(()=>s.map(L=>L.email).filter(Boolean),[s]),se=Q[0],re=ob(Q),{junkMailboxId:ue}=ji(t),ae=tb(d?void 0:t,se,q),{preview:ge}=ae;l.useEffect(()=>{ge()},[ge]);const V=b==="similar"||b==="properties",xe=l.useMemo(()=>({matchOperator:w.matchOperator==="all"?"And":"Or",literalClauses:w.clauses.map(L=>({field:L.field,value:L.value}))}),[w.clauses,w.matchOperator]),J=b==="similar"?ae.matchPredicate:xe,{count:Se,matchedIds:be}=Dc(V?t:void 0,J),je=Zg(V?be:[]),ke=Xg(d?n:void 0,d?.searchQuery),U=d?{status:"ready",count:d.total}:V?Se:{status:"ready",count:s.length},{data:ye}=me({...rn({path:{accountId:t??""}}),enabled:!!t,staleTime:Number.POSITIVE_INFINITY}),Ee=Ti(t),Pe=Xa(),G=l.useMemo(()=>Za({mailboxes:ye?.items??[],folderAppointments:Ee,currentMailboxId:n,translator:Pe}),[ye?.items,Ee,n,Pe]),{createFolderIn:Z}=Ja(t),oe=G.find(L=>L.id===w.moveMailboxId)?.label,Le=Cf(s.map(L=>({normalizedEmail:L.email,displayName:L.sender}))),Oe=Af({match:b==="properties"&&w.clauses[0]?.value.trim()||void 0,sender:Le?Po(Le):void 0,folder:oe}),Y=l.useMemo(()=>({...w,name:w.name??Oe}),[w,Oe]),Ke=Gg(j?.draft.field,j?.draft.value??"",q),Ne=Pc(t),ze=Lc(t),$e=Og({mailboxId:n??"",accountId:t,enabled:!1,predicateKey:"selection-wizard",searchQuery:{}}),{runAction:Fe}=$e,pe=ec({verb:e,mode:b,scope:w.scope,fromSearch:g}),ee=pe[fr(pe,m)],nt=!r&&!!t,_e=nt?void 0:sc,Ge=nt?void 0:rc,Te=(L=>{if(L==="folder")return Ge;if(L==="rule")return Y.scope==="standing"||Y.scope==="until"?_e:void 0})(ee)??tc(ee,Y,U),st=l.useCallback(()=>ms(Mf(q,re),"seed"),[q,re]),te=l.useCallback(L=>{k(L),E(B=>({...B,widen:L==="similar"&&se?{anchorCount:Math.max(s.length,1)}:void 0,...L==="properties"&&B.clauses.length===0?{clauses:st()}:{}}))},[se,s.length,st]),fe=l.useCallback(()=>{I(!0),k("properties"),E(L=>({...L,widen:void 0,clauses:ms(zn(q),"sender"),matchOperator:"any"})),f("properties")},[q,f]),_=ae.semanticUnavailable||ae.isError;l.useEffect(()=>{ee==="match"&&(b!=="similar"||!_||F||fe())},[ee,b,_,F,fe]);const H=l.useCallback(()=>{R({mode:"add",draft:{field:"From",value:""}})},[]),W=l.useCallback(L=>{const B=w.clauses.find(ce=>ce.id===L);B&&R({mode:"edit",clauseId:L,draft:{field:B.field,value:B.value}})},[w.clauses]),K=l.useCallback(L=>{E(B=>({...B,clauses:B.clauses.filter(ce=>ce.id!==L)}))},[]),ie=l.useCallback(L=>{R(B=>B&&{...B,draft:L})},[]),Ce=l.useCallback(()=>{R(L=>{if(!L)return;const B=Oc(L.draft.field,L.draft.value),ce={...L.draft,value:B};E(wt=>({...wt,clauses:L.clauseId?wt.clauses.map(Bt=>Bt.id===L.clauseId?{...Bt,...ce}:Bt):[...wt.clauses,{id:crypto.randomUUID(),...ce}]}))})},[]),le=l.useCallback(()=>{if(Te){P(ee);return}P(void 0);const L=pe[fr(pe,ee)+1];L&&f(L)},[Te,ee,pe,f]),Be=l.useCallback(async L=>{const B=ka(e,Y.moveMailboxId,ue);if(!B){M({matched:L.length,failureReason:Ca(e)});return}M({matched:L.length});const ce=await Fe(B,[...L]);M({matched:L.length,outcome:ce}),N.current&&h?.(B.kind,L.length,ce)},[e,Y.moveMailboxId,ue,Fe,h]),Re=l.useCallback(async()=>{if(!d)return;const L=ka(e,Y.moveMailboxId,ue);if(!L){M({matched:d.total,failureReason:Ca(e)});return}M({matched:d.total});const B=await d.run(L);M({matched:d.total,outcome:B}),N.current&&h?.(L.kind,d.total,B)},[d,e,Y.moveMailboxId,ue,h]),{start:Ue}=Ne,{createFilterAsync:He}=ze,Ie=l.useCallback(()=>{if(d){Re();return}const L=$c({mode:v,ruleScope:Y.scope}),B=Fc({mode:v,ruleScope:Y.scope,anchorMessageId:se,clauses:Y.clauses,matchOperator:Y.matchOperator,moveMailboxId:Y.moveMailboxId,until:Y.until});if(A(L),L==="standing"||L==="temporary"){const ce=_c(B)?B:void 0;C(ce),He(B,L,(Y.name??"").trim()).then(wt=>{wt&&ce&&Ue(ce)});return}if(L==="all-like-these"&&ps(e)){Ue(B);return}Be(L==="just-these"?Q:be)},[d,Re,v,Y,se,e,Q,be,He,Ue,Be]),yt=l.useCallback(()=>{if(Te){P(ee);return}D.current||(D.current=!0,f("run"),Ie())},[Te,ee,f,Ie]),zt=l.useCallback(L=>{const B=Ne.progress,ce=db({failure:Ne.failure,isStarting:Ne.isStarting,isRunning:Ne.isRunning,isDone:Ne.isDone,failedCount:B.failedCount,ruleSaved:L});return ce==="saving"||ce==="commitFailed"||ce==="backApplyStartFailed"?{...gt,state:ce}:{state:ce,matched:B.matchedCount,applied:B.appliedCount,failed:ce==="backApplyFailed"||ce==="backApplyRestartFailed"?B.failedCount:0,failures:[]}},[Ne]),or=l.useMemo(()=>{const L=new Map;for(const B of[...s,...je.messages,...ke.messages])L.set(B.id,B);return L},[s,je.messages,ke.messages]),ir=d?i:$e.progress,lr=l.useCallback(()=>{if(!S)return gt;const{matched:L,outcome:B,failureReason:ce}=S;if(ce!==void 0)return{...gt,state:"commitFailed",failureReason:ce};if(!B){const St=ir?.done??0;return{state:"backApplyRunning",matched:Math.max(L,St),applied:St,failed:0,failures:[]}}if(!(B.cancelled||B.error!==void 0))return{state:"backApplyComplete",matched:Math.max(L,B.done),applied:B.done,failed:0,failures:[]};if(B.done===0)return{...gt,state:"commitFailed"};const Bt=B.failedIds.map(St=>or.get(St)).filter(St=>St!==void 0),Qi=B.failedIds.length>0?B.failedIds.length:Math.max(L-B.done,1);return{state:"runStopped",matched:Math.max(L,B.done),applied:B.done,failed:Qi,failures:Bt}},[S,ir,or]),mt=d?lr():z==="standing"||z==="temporary"?ze.isError?{...gt,state:"commitFailed"}:ze.isSuccess?O?zt(!0):{...gt,state:"filterSaved"}:gt:z==="all-like-these"&&ps(e)?zt(!1):lr(),Hi=()=>{if(mt.state==="statusUnknown"){Ne.refreshStatus();return}if(d){Re();return}if(z==="standing"||z==="temporary"){if(ze.isError){ze.reset(),Ie();return}O&&Ue(O);return}if(z==="all-like-these"&&ps(e)){Ie();return}const L=S?.outcome?.failedIds??[];Be(L.length>0?L:Q)},Wi=l.useCallback(()=>{x(pe,ee)},[x,pe,ee]),qn=l.useCallback(()=>{N.current=!0,x(pe,ee),u()},[x,pe,ee,u]),{stop:cr}=$e,qi=S!==void 0&&S.outcome===void 0&&S.failureReason===void 0,Vi=l.useCallback(()=>{if(d){d.stop();return}cr()},[d,cr]);up({shouldBlockFn:({action:L})=>L!=="BACK"?!1:(qn(),!0),enableBeforeUnload:!1,disabled:ee!=="run"});const Vn={messages:d?ke.messages:V?je.messages:s,count:U,label:b==="selected"?"Your selection":"A sample of what matches",emptyReason:b==="similar"&&_?"notIndexed":"noMatch",loading:d?ke.isPending:V&&(U.status==="loading"||je.isPending)};return a.jsx(nc,{verb:e,steps:pe,step:ee,blockedReason:Te,nudged:T===ee,onBack:p,onExit:ee==="run"?qn:Wi,onContinue:le,onCommit:yt,match:{selectedCount:s.length,mode:b,onModeChange:te,semanticUnavailable:_,semanticErrorDetail:ae.error instanceof Error?ae.error.message:void 0,semanticFallbackTaken:F,onSemanticFallback:fe,escalatedScope:d?.scope,sample:Vn},properties:{clauses:Y.clauses,matchOperator:Y.matchOperator,onMatchOperatorChange:L=>E(B=>({...B,matchOperator:L})),clauseEdit:j,onStartAddClause:H,onStartEditClause:W,onRemoveClause:K,onChangeDraft:ie,onSubmitClause:Ce,onCancelClause:()=>R(void 0),clauseFields:zc,clauseSuggestions:Ke,conversionNotice:y?Pf(y):void 0,semanticFallbackTaken:F,sample:{...Vn,label:"What this matches"}},folder:{folders:G,mailboxId:Y.moveMailboxId,delimiter:eo(ye?.items??[]),onSelect:L=>E(B=>({...B,moveMailboxId:L})),onCreateFolder:t?Z:void 0,restriction:Ge},rule:{draft:Y,onScopeChange:L=>E(B=>({...B,scope:L})),onUntilChange:L=>E(B=>({...B,until:L})),restriction:_e},name:{name:Y.name??"",onNameChange:L=>E(B=>({...B,name:L})),nudged:T===ee},review:{verb:e,mode:b,selectedCount:s.length,clauses:Y.clauses,matchOperator:Y.matchOperator,folder:oe,scope:Y.scope,until:Y.until,ruleName:pe.includes("name")?Y.name:void 0,escalatedScope:d?.scope,sample:Vn},run:{state:mt.state,verb:e,scope:Y.scope,matched:mt.matched,applied:mt.applied,failedCount:mt.failed,failures:mt.failures,failureReason:mt.failureReason,onRetry:Hi,onDismiss:qn,onCancelRun:qi?Vi:void 0}})}function $v(e){const t=Jl()==="search",{searchConversion:n}=$i(),{accounts:s}=zs(),{step:r,goToStep:o,goBack:i,closeWizard:c}=Zl(t?"properties":"match");if(!r)return null;const u=t?n??mb:void 0;return a.jsx(hb,{...e,...u?{verb:"organize",accountId:ub(u,e.accountId,s),selection:pb,crossAccount:!1,escalated:void 0,searchConversion:u}:{},step:r,goToStep:o,goBack:i,closeWizard:c})}const rr=l.createContext(null),gb=e=>{const t=l.useContext(rr);return t?t.rowInteraction(e):null},bb=()=>{const e=l.useContext(rr);if(!e)throw new Error("useThreadListSelection must be used inside <ThreadListInteraction>");return e},vb="[data-message-id]",xb=e=>Array.from(e.querySelectorAll(vb)).map(t=>t.dataset.messageId).filter(t=>t!==void 0),yb=(e,t)=>e.length===t.length&&e.every((n,s)=>n===t[s]),wb=e=>{const[t,n]=l.useState([]);return l.useEffect(()=>{const s=e.current;if(!s)return;const r=()=>{const i=xb(s);n(c=>yb(c,i)?c:i)};r();const o=new MutationObserver(r);return o.observe(s,{childList:!0,subtree:!0}),()=>o.disconnect()},[e]),t};function Fv({selectedMessageId:e,onOpen:t,onDeleteMessages:n,onSelectionVerb:s,wizardOpen:r=!1,isDeleting:o=!1,commandsRef:i,onTriageContextChange:c,children:u}){const h=Ln(),m=l.useRef(null),f=wb(m),p=Lf({orderedIds:f,isDesktop:h,initialFocusedId:e}),{focusedMessageId:x,setFocusedMessageId:y,pendingDomFocusRef:d,cursorMovedByPointerRef:g,selection:v,isMultiSelectMode:k,exitSelection:b,handleRowSelect:w}=p,{selectedIds:E,selectedCount:j,isSelected:R,toggle:T,select:P,toggleAll:F}=v,I=f.length>0&&f.every(J=>E.has(J)),z=l.useCallback(()=>{f.length>0&&F(f)},[f,F]),{intersectWith:A}=v;l.useEffect(()=>{A(f)},[A,f]),l.useEffect(()=>{const J=d.current;J!==null&&(d.current=null,m.current?.querySelector(`[data-message-id="${J}"]`)?.focus())});const S=l.useCallback(J=>{g.current=!0,y(J)},[g,y]),M=l.useCallback(J=>{h||P(J)},[h,P]),O=l.useCallback(()=>{x&&t(x)},[x,t]),C=l.useCallback(J=>t(J,{replace:!0}),[t]);Fg({keyboardFocusedMessageId:p.keyboardFocusedMessageId,openMessageId:e,enabled:h&&j===0,open:C});const[D,N]=l.useState(null),Q=l.useCallback(J=>D!==null?!0:j>0?(s(J),!0):J!=="delete"||!x?!1:(N([x]),!0),[D,j,s,x]),q=l.useCallback(()=>{D!==null&&(n(D),N(null),b())},[D,n,b]),se=l.useCallback(()=>N(null),[]),re=l.useCallback(()=>j===0?!1:(b(),!0),[j,b]),ue=f.length>0;l.useEffect(()=>{if(i){if(!ue){i.current=null;return}return i.current={focusNext:p.focusNext,focusPrevious:p.focusPrevious,focusFirst:p.focusFirst,focusLast:p.focusLast,openFocused:O,toggleSelect:p.toggleFocusedSelection,extendSelectDown:p.extendRangeDown,extendSelectUp:p.extendRangeUp,selectAll:p.selectAllLoaded,clearSelection:re,requestVerb:Q,toggleDensity:()=>{}},()=>{i.current=null}}},[i,ue,p.focusNext,p.focusPrevious,p.focusFirst,p.focusLast,p.toggleFocusedSelection,p.extendRangeDown,p.extendRangeUp,p.selectAllLoaded,O,re,Q]);const ae=l.useMemo(()=>Array.from(E),[E]),ge=D!==null;l.useEffect(()=>{c?.({focusedMessageId:x,selectedIds:ae,orderedIds:f,hasList:ue,blocksKeyboard:ge||r})},[c,x,ae,f,ue,ge,r]);const V=Bg(f,x),xe=l.useMemo(()=>({selectedIds:E,selectedCount:j,exitSelection:b,startSelectionVerb:s,orderedIds:f,allSelected:I,toggleAllLoaded:z,rowInteraction:J=>({focused:J===x,isTabStop:J===V,isDesktop:h,onFocusRow:S,selection:{isChecked:R(J),onToggleCheck:T,onRowSelect:w,isMultiSelectMode:k,onLongPress:M}})}),[E,j,b,s,f,I,z,x,V,h,S,R,T,w,k,M]);return a.jsxs(rr.Provider,{value:xe,children:[a.jsx("div",{ref:m,className:"contents",children:u}),a.jsx(qc,{isOpen:ge,title:Uc(D?.length??0),description:"You can restore them from Trash later.",confirmLabel:"Move to Trash",destructive:!0,isBusy:o,onConfirm:q,onCancel:se})]})}function _v({title:e,isDeleting:t}){const n=$i(),{selectedCount:s,exitSelection:r,startSelectionVerb:o,orderedIds:i,allSelected:c,toggleAllLoaded:u}=bb();return a.jsx(Gd,{title:n.title||e,navSlot:n.navSlot,titleMeta:n.titleMeta,searchSlot:n.searchSlot,searchField:n.searchField,idleSlot:n.makeFilterSlot,count:s,onCancel:r,onDelete:()=>o("delete"),onMarkRead:()=>o("markRead"),isBusy:t,selectAll:i.length>0?{checked:c,indeterminate:s>0&&!c,onChange:u}:void 0})}const hs=e=>{e.preventDefault(),e.stopPropagation()},Sb=(e,t)=>{const n=l.useRef(!1),s=l.useCallback(i=>{if(n.current=!1,i.button!==0)return;const c=ws(i);Nr(c)&&t?.(e,c)&&(hs(i),n.current=!0,i.currentTarget.focus(),c.shiftKey&&window.getSelection()?.removeAllRanges())},[t,e]),r=l.useCallback(i=>{!i.ctrlKey||!t||i.preventDefault()},[t]),o=l.useCallback(i=>{if(n.current)return n.current=!1,hs(i),!0;const c=ws(i);return!Nr(c)||!t?.(e,c)?!1:(hs(i),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0)},[t,e]);return{onMouseDown:s,onContextMenu:r,claimClick:o}},kb=({thread:e,active:t=!1,focused:n,isTabStop:s,density:r="comfortable",isDesktop:o,badge:i,selection:c,inListbox:u=!1,link:h,onClick:m,onFocusRow:f})=>{const p=De(),x=e.id,y=gb(x),d=n??y?.focused??!1,g=s??y?.isTabStop??!1,v=c??y?.selection,k=f??y?.onFocusRow,b=o??y?.isDesktop??!0,w=v?.isChecked??!1,E=v?.isMultiSelectMode??!1,j=v?.onToggleCheck,R=v?.onRowSelect,T=v?.onLongPress,P=l.useCallback(N=>{N.preventDefault(),N.stopPropagation(),j?.(x)},[j,x]),F=Sb(x,R),I=l.useCallback(N=>{if(!F.claimClick(N)){if(!b){if(E){N.preventDefault(),N.stopPropagation(),j?.(x);return}m?.();return}R?.(x,ws(N)),m?.()}},[F,b,E,j,R,m,x]),z=l.useCallback(()=>{T?.(x)},[T,x]),{longPressProps:A}=od({onLongPress:z,accessibilityDescription:w?"Deselect message":"Select message"}),S=l.useCallback(()=>{p.prefetchQuery(Pn({path:{messageId:x}}))},[p,x]),M=l.useCallback(()=>{S(),k?.(x)},[S,k,x]),O=on({"data-list-row":"","data-message-row":!0,"data-message-id":x,...u?{role:"option","aria-selected":w}:{},tabIndex:g?0:-1,onClick:I,onMouseDown:F.onMouseDown,onContextMenu:F.onContextMenu,onMouseEnter:S,onFocus:M},b||!v?{}:A),C=Je(r==="compact"?xo({active:t,focused:d}):Je("group",Vs({active:t,focused:d})),"outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-inset",w&&"bg-accent-soft",!b&&"min-h-11 select-none [-webkit-touch-callout:none]"),D=r==="compact"?a.jsx(yo,{thread:e}):a.jsx(Qs,{thread:e,badge:i,selection:v?{checked:w,alwaysVisible:E,onToggle:P}:void 0});return h===void 0?a.jsx("button",{type:"button",...O,className:C,children:D}):a.jsx(Ya,{to:"/mail/$mailboxId/$threadId/$messageId",params:{...h,messageId:x},search:N=>N,variant:"row",...O,className:C,children:D})},zv=l.memo(kb),gs="Open a message first",Bv=({hasThread:e,intelligenceOpen:t,canToggleIntelligence:n,onToggleIntelligence:s,onReply:r,onReplyAll:o,onForward:i,onDelete:c,canDelete:u,onToggleStar:h,isStarred:m,moveContext:f})=>{const[p,x]=l.useState(null),y=u??e,d=g=>()=>x(g);return a.jsx(md,{hasThread:e,isStarred:m,onUnavailable:g=>x(gs),unavailableHint:p,replyTitle:`Reply ${Ut("reply")}`,replyAllTitle:`Reply all ${Ut("replyAll")}`,forwardTitle:`Forward ${Ut("forward")}`,deleteTitle:`Move to Trash ${Ut("delete")}`,flagTitle:`Star ${Ut("toggleStar")}`,onReply:r,onReplyAll:o,onForward:i,onDelete:y?c:d(gs),onToggleStar:h,onMove:d(gs),moveSlot:f?a.jsx(sr,{accountId:f.accountId,currentMailboxId:f.currentMailboxId,onMove:f.onMove,label:"Move to mailbox"}):void 0,children:a.jsx(fd,{open:t,enabled:n,onToggle:s})})},Cb=()=>{const e=De();return l.useCallback(t=>{const n=dt({path:{threadId:t.threadId}}),r=e.getQueriesData({queryKey:n}).flatMap(([,o])=>o?.items.map(i=>i.messageId)??[]);return r.length>0?r:[t.messageId]},[e])},Uv=({thread:e,mailboxId:t,accountId:n,onAfterOptimisticRemove:s})=>{const r=t??e?.mailboxId,o=n??e?.accountId,{accountId:i}=yi(o?void 0:r),c=o??i,u=Cb(),{deleteMessages:h}=nr({mailboxId:r??"",threadId:e?.threadId,accountId:c,onAfterOptimisticRemove:s}),{moveMessages:m}=Wn({mailboxId:r??"",threadId:e?.threadId,accountId:c,onAfterOptimisticRemove:s}),{toggleStar:f}=Ei({threadId:e?.threadId??"",mailboxId:r??""}),p=l.useCallback(()=>{e&&h(u(e))},[e,u,h]),x=l.useCallback(k=>{e&&m(u(e),k)},[e,u,m]),y=l.useCallback(()=>{e&&f(e.messageId,e.hasStars)},[e,f]),[d,g]=l.useState(null),v=l.useCallback(()=>g(null),[]);return{mailboxId:r,accountId:c,isStarred:e?.hasStars,deleteThread:p,moveThread:x,toggleStar:y,composeRequest:d,requestCompose:g,clearComposeRequest:v}},Kv=(e,t)=>{const{data:n}=me({...Ua({path:{threadId:e??""}}),enabled:!!e}),s=n?.items??[],r=t?s.find(i=>i.messageId===t):void 0,o=s.length>0?s[s.length-1]:void 0;return r??o},Ea=(e,t,n)=>{if(!t)return null;const s=e.indexOf(t);if(s===-1)return null;const r=n==="next"?s+1:s-1;return r<0||r>=e.length?null:e[r]},Hv=()=>{const[e,t]=l.useState(void 0),[n,s]=l.useState([]),[r,o]=l.useState([]),i=l.useRef(null),[c,u]=l.useState(!1),[h,m]=l.useState(!1),f=l.useCallback(p=>{t(p.focusedMessageId),s(p.selectedIds),p.orderedIds&&o(p.orderedIds),u(p.hasList),m(p.blocksKeyboard)},[]);return{listCommandsRef:i,onTriageContextChange:f,focusedMessageId:e,selectedIds:n,orderedIds:r,hasList:c,blocksKeyboard:h}},Wv=({context:e,orderedIds:t,selectedMessageId:n,enabled:s=!0,onClose:r,handlers:o})=>{const{listCommandsRef:i,hasList:c,blocksKeyboard:u}=e,h=l.useCallback(()=>{i.current?.clearSelection()||n&&r()},[i,n,r]);return hc({enabled:s&&!u,handlers:{...c?{focusNext:()=>i.current?.focusNext(),focusPrevious:()=>i.current?.focusPrevious(),focusFirst:()=>i.current?.focusFirst(),focusLast:()=>i.current?.focusLast(),openFocused:()=>i.current?.openFocused(),toggleSelect:()=>i.current?.toggleSelect(),extendSelectDown:()=>i.current?.extendSelectDown(),extendSelectUp:()=>i.current?.extendSelectUp(),selectAll:()=>i.current?.selectAll(),toggleDensity:()=>i.current?.toggleDensity()}:{},back:h,...o}}),{goBack:h,nextMessageId:Ea(t,n,"next")??void 0,previousMessageId:Ea(t,n,"previous")??void 0}},Eb={sender:"sender",recipient:"recipient",subject:"subject",attachment:"attachment",body:"body",entities:"entities"};function Nb(e){return Eb[e]??e}function qv(e,t){const{folder:n}=Bs(t,[e.mailboxId]);return{id:e.messageId,sender:e.fromName??e.fromEmail??"Unknown",...e.fromEmail?{senderEmail:e.fromEmail}:{},subject:e.subject??"(No subject)",snippet:e.snippet??"",date:Ft(e.sentDate),unread:!e.isRead,flagged:e.hasStars===!0,threadId:e.threadId,mailboxId:e.mailboxId,...n?{folder:n}:{}}}function Vv(e,t){const{folder:n}=Bs(t,e.mailboxId?[e.mailboxId]:[]);return{id:e.id,sender:e.fromName,...e.fromEmail?{senderEmail:e.fromEmail}:{},subject:e.subject,snippet:e.snippet,date:e.timeLabel,unread:!e.isRead,flagged:e.starred===!0,...e.threadId?{threadId:e.threadId}:{},...e.mailboxId?{mailboxId:e.mailboxId}:{},...n?{folder:n}:{}}}function jb(e,t){const{mailboxId:n,folder:s}=Bs(t,e.mailboxIds);return{id:e.messageId,sender:e.fromName??"Unknown",subject:e.subject??"(No subject)",snippet:"",date:e.sentDate!=null?Ft(e.sentDate*1e3):"",threadId:e.threadId,matchedChunkLabel:Nb(e.matchedChunkType),score:e.score,...n?{mailboxId:n}:{},...s?{folder:s}:{}}}function Qv(e,t,n){const s=new Set(t),r=[];for(const o of[...e].sort((i,c)=>c.score-i.score))s.has(o.threadId)||(s.add(o.threadId),r.push(jb(o,n)));return r}function Gv(e){const t=e.authenticity?.dkimMismatch===!0;return{id:e.messageId,accountId:e.accountId,mailboxId:e.mailboxId,threadId:e.threadId,fromName:e.fromName??e.fromEmail??"Unknown",fromEmail:e.fromEmail??"",subject:e.subject??"(No subject)",snippet:e.snippet??"",timeLabel:Ft(e.sentDate),sentDate:e.sentDate,isRead:e.isRead,hasAttachment:e.hasAttachment,starred:e.hasStars===!0,trust:e.senderTrust,category:Ni(e.category),suspicious:t}}function Yv(e){return e.filter(t=>t.muted!==!0)}function Xv(e,t){const n=new Set,s=[];for(const r of[...e,...t])n.has(r.id)||(n.add(r.id),s.push(r));return s.sort((r,o)=>(o.sentDate??0)-(r.sentDate??0))}const Na=[{id:"personal",label:"Personal",category:Xe.personal},{id:"transactional",label:"Transactional",category:Xe.transactional},{id:"newsletter",label:"Newsletter",category:Xe.newsletter},{id:"marketing",label:"Marketing",category:Xe.marketing},{id:"social",label:"Social",category:Xe.social},{id:"automated",label:"Automated",category:Xe.automated},{id:"uncategorized",label:"Unclassified",category:Xe.uncategorized}];function Jv(e){const t=new Map(Na.map(s=>[s.category,[]]));for(const s of e){const r=s.category??Xe.uncategorized;(t.get(r)??t.get(Xe.uncategorized))?.push(s)}const n=[];for(const s of Na){const r=t.get(s.category);r&&r.length>0&&n.push({id:s.id,label:s.label,threads:r})}return n}function Zv(e,t){return e.fromName.toLowerCase().includes(t)||e.fromEmail.toLowerCase().includes(t)||e.subject.toLowerCase().includes(t)||e.snippet.toLowerCase().includes(t)}function ex(e,t){return t.every(n=>{switch(n.type){case"from":{const s=n.value.toLowerCase();return e.fromEmail.toLowerCase().includes(s)||e.fromName.toLowerCase().includes(s)}case"subject":return e.subject.toLowerCase().includes(n.value.toLowerCase());case"category":return(e.category??"uncategorized")===n.category;case"hasAttachment":return e.hasAttachment===!0;case"isUnread":return!e.isRead;case"isRead":return e.isRead===!0;case"isStarred":return e.starred===!0;case"after":return e.sentDate!=null&&e.sentDate>=n.epochSeconds*1e3;case"before":return e.sentDate!=null&&e.sentDate<n.epochSeconds*1e3;case"in":return e.mailboxId===n.mailboxId;case"account":return e.accountId===n.accountId;default:return!1}})}const Bi=8;function ar(e,t){const n=Math.max(0,Math.min(t,e.length)),s=Tc(e).find(o=>n>=o.start&&n<=o.end);if(!s)return{start:n,end:n,raw:""};const r=Rc(s.raw);return r?{start:s.start,end:s.end,raw:s.raw,name:r.name,value:r.value}:{start:s.start,end:s.end,raw:s.raw}}function Tb(e,t){const n=ar(e,t);if(n.name===void 0)return{kind:"token",query:n.raw};const s=qa(n.name);if(s)return{kind:"value",token:s.name,source:s.values,query:n.value??""}}const Rb={mailbox:"mailboxes",account:"accounts",contact:"contacts"},Ib=(e,t)=>{if(e.values==="fixed")return e.options??[];const n=Rb[e.values];return n?t[n]??[]:[]},Mb=(e,t)=>{if(t==="")return 1;const n=e.toLowerCase();return n.startsWith(t)?0:n.includes(t)?1:-1},Ms=(e,...t)=>{let n=-1;for(const s of t){if(s===void 0)continue;const r=Mb(s,e);r<0||(n<0||r<n)&&(n=r)}return n},Ui=e=>{const t=new Set;return e.filter(n=>n.rank>=0).sort((n,s)=>n.rank-s.rank).filter(n=>{const s=n.suggestion.value.toLowerCase();return t.has(s)?!1:(t.add(s),!0)}).slice(0,Bi).map(n=>n.suggestion)},ja=e=>({value:`${e.name}:`,label:`${e.name}:`,hint:e.label});function Ab(e){const t=e.trim().toLowerCase();if(t==="")return pr.map(ja);const n=[];for(const s of pr)if(n.push({rank:Ms(t,`${s.name}:`,s.label),suggestion:ja(s)}),s.values==="fixed")for(const r of s.options??[]){const o=Va(s.name,r.value);n.push({rank:Ms(t,o,r.label),suggestion:{value:o,label:r.label??o,hint:o}})}return Ui(n)}function Db(e,t,n){const s=t.trim().toLowerCase(),r=Ib(e,n).map(o=>({rank:Ms(s,o.value,o.label),suggestion:{value:Va(e.name,o.value),label:o.label??o.value,...o.hint?{hint:o.hint}:{}}}));return Ui(r)}function Pb(e,t,n={}){const s=ar(e,t);if(s.name===void 0)return Ab(s.raw);const r=qa(s.name);return r?Db(r,s.value??"",n):[]}function Lb(e,t,n){const s=ar(e,t),r=!n.value.endsWith(":"),o=/\s/.test(e.slice(s.end,s.end+1)),i=r&&!o?`${n.value} `:n.value;return{query:e.slice(0,s.start)+i+e.slice(s.end),cursor:s.start+i.length+(r&&o?1:0)}}const Ob=e=>({value:e.normalizedEmail,...e.displayName?{label:e.displayName,hint:e.normalizedEmail}:{}}),$b=250,Fb=2;function _b({query:e,cursor:t,enabled:n}){const{accounts:s}=zs(),{mailboxesByName:r}=Qa(),o=r!==void 0,i=n?Tb(e,t):void 0,c=i?.source==="contact"?i.query.trim():"",u=Us(c,$b),{data:h}=me({...An({query:{q:u,limit:Bi}}),enabled:u.length>=Fb}),m=_s({queries:s.map(y=>({...rn({path:{accountId:y.accountId}}),staleTime:1/0}))}),f=l.useMemo(()=>o?gc(m.map(y=>y.data?.items??[]),s):[],[o,m,s]),p=l.useMemo(()=>bc(s),[s]),x=l.useMemo(()=>(h?.items??[]).map(Ob),[h]);return l.useMemo(()=>{if(!n)return[];const y=Pb(e,t,{mailboxes:f,accounts:p,contacts:x});return o?y:y.filter(d=>d.value!=="in:")},[n,e,t,f,p,x,o])}const Ki="remit.recentSearches",zb=5;function As(){try{const e=localStorage.getItem(Ki);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function Ta(e){const t=e.trim();if(!t)return As();const n=[t,...As().filter(s=>s!==t)].slice(0,zb);try{localStorage.setItem(Ki,JSON.stringify(n))}catch{return n}return n}const Bb=e=>e.tier!=="phone"&&e.hasLiveInput&&!(e.bodyRendersCommittedResults&&e.hasCommittedQuery);function Ub(e){const{spam:t}=jo([...e]),n=new Map;for(const r of t)r.mailboxId&&n.set(r.mailboxId,(n.get(r.mailboxId)??0)+1);let s;for(const[r,o]of n)(!s||o>s.count)&&(s={mailboxId:r,count:o});return s}function tx({title:e,unreadCount:t,children:n,selectionBar:s,paneOverlay:r,footer:o,searchFilter:i,searchResults:c,searchLoading:u,relatedResults:h,relatedLoading:m,onSelectSearchResult:f,searchResultsLabel:p="Top matches",relatedResultsLabel:x="Related",searchResultsInBody:y=!1,refreshControl:d}){const{accounts:g,resultFolderIndex:v,searchQuery:k,searchInput:b,onSearchChange:w,onSearchClear:E,searchViewKey:j}=zs(),R=Qa(),T=Fs(),P=ac(),F=vc(),[I,z]=l.useState(!1),[A,S]=l.useState(As),M=oc(),O=l.useRef(j);l.useEffect(()=>{O.current!==j&&(O.current=j,z(!1))},[j]);const[C,D]=l.useState(0),[N,Q]=l.useState(!1),[q,se]=l.useState(void 0),re=_b({query:b,cursor:C,enabled:N&&b.trim().length>0}),ue=l.useCallback(W=>{const K=Lb(b,C,W);w(K.query),se({cursor:K.cursor})},[b,C,w]),ae=Aa({count:re.length,onAccept:W=>{const K=re[W];K&&ue(K)}}),{comboboxProps:ge,handleKeyDown:V}=ae,xe=l.useMemo(()=>({comboboxProps:ge,onKeyDown:V,onCaretChange:D,onFocusChange:Q,...q?{caret:q}:{}}),[ge,V,q]),J=ae.open?a.jsx(Da,{id:ae.listId,suggestions:re,activeIndex:ae.activeIndex,optionId:ae.optionId,onPick:ue,onHighlight:ae.setActiveIndex,label:"Search suggestions",className:"mx-row-inset mt-1 shrink-0"}):null,Se=b.trim().length>0,{mailboxesByName:be,accountsByName:je}=R,ke=l.useMemo(()=>Ic(b,{mailboxesByName:be,accountsByName:je}),[b,be,je]),U=ke.tokens.map(W=>({label:Wa(W),onRemove:()=>w(Mc(b,W))})),ye=c??[],Ee=h??[],Pe=Se?[{id:"top",label:p,results:ye},{id:"related",label:x,results:Ee}]:[],Z=!(ye.length+Ee.length>0)&&(u===!0||m===!0),{scope:oe}=xc(g),Le=Qc({select:W=>W.matches}),Oe=Gc(Le),Y=Yc(Le,oe,Oe?v.get(Oe)?.role:void 0),Ke=Y.kind==="global"?Ub([...ye,...Ee]):void 0,Ne=Ke?{kind:"global",onScopeToSpam:()=>T({to:"/mail/$mailboxId",params:{mailboxId:Ke.mailboxId},search:{q:k||void 0}})}:Y,ze=Ee.length>0,$e=l.useMemo(()=>cb(ke,{searchHadSemanticReach:ze}),[ke,ze]),Fe=Se?$e:void 0,pe=Se?{onClick:()=>{z(!1),M("properties","search")},blockedReason:Df($e)?void 0:ic($e.droppedFacets.map(W=>W.label))}:void 0,ee=pe?a.jsx(To,{...pe}):null,nt=Bb({tier:F,hasLiveInput:Se,hasCommittedQuery:k.trim().length>0,bodyRendersCommittedResults:y}),_e=W=>{S(Ta(b)),f?.(W)},Ge=a.jsx(Ro,{value:b,sections:Pe,loading:Z,onSelectResult:_e,tokens:U,scope:Ne}),Ye=s===void 0,Te=nt?a.jsx("div",{className:"h-full overflow-y-auto",children:Ge}):null,st=Te&&!Ye?Te:n,te=Te&&Ye?Te:null,fe=yc(F),_=fe&&(I||Se),H=l.useMemo(()=>({title:e,searchResults:te,makeFilterSlot:ee,searchConversion:Fe,navSlot:P&&!P.showNavPane&&a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(Xc,{className:"size-5"}),onClick:()=>P.openNav(),"aria-label":"Menu",className:"-ml-2 shrink-0"}),titleMeta:a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"shrink-0 text-2xs text-fg-subtle",children:[t.toLocaleString()," unread"]}),a.jsx(mr,{}),d]}),searchSlot:fe&&!_&&a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(lc,{className:"size-5"}),onClick:()=>z(!0),"aria-label":"Search",className:"shrink-0"}),searchField:_&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"min-w-0 flex-1",children:a.jsx(Ka,{value:b,onChange:w,onClear:E,globalFocusKey:!1,showClearButton:!1,suggest:xe})}),a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(nn,{className:"size-5"}),onClick:()=>{E(),z(!1)},"aria-label":"Close search",className:"shrink-0"}),a.jsx(mr,{})]})}),[e,t,P,fe,_,b,w,E,xe,te,ee,Fe,d]);if(F==="phone"&&I){const W=K=>{S(Ta(b)),z(!1),f?.(K)};return a.jsxs(Is.Provider,{value:H,children:[a.jsx(qd,{value:b,onChange:w,onClear:E,onCancel:()=>{z(!1),E()},filter:i,recentSearches:A,onPickRecent:w,makeFilter:pe,sections:Pe,loading:Z,onSelectResult:W,tokens:U,scope:Ne,suggest:xe,suggestList:J}),r]})}return a.jsx(Is.Provider,{value:H,children:a.jsxs("section",{className:"relative flex h-full w-full flex-col bg-surface",children:[s?.(H),J,a.jsx("div",{className:"min-h-0 flex-1",children:st}),o,r]})})}export{yv as $,jv as A,Tv as B,Nd as C,Rt as D,Rv as E,Nv as F,Gv as G,ex as H,yi as I,Cv as J,Kv as K,nr as L,zv as M,Wn as N,Hv as O,Uv as P,kv as Q,Sv as R,Gd as S,Cb as T,Ei as U,bg as V,xg as W,wg as X,yg as Y,Wv as Z,Ev as _,Rp as a,Iv as a0,Bv as a1,hv as a2,qv as a3,Qv as a4,Yv as a5,Xv as a6,Zv as a7,Vv as a8,jo as a9,zu as aA,xv as aB,vv as aC,Qd as aD,Ub as aa,Jv as ab,pv as ac,Bb as ad,Bd as ae,Fv as af,dv as ag,bb as ah,tx as ai,tt as aj,et as ak,er as al,tn as am,ko as an,gv as ao,_v as ap,od as aq,on as ar,qs as as,ws as at,fv as au,mv as av,bv as aw,cd as ax,ud as ay,dd as az,nd as b,Vs as c,Sb as d,$i as e,wv as f,ji as g,ed as h,Og as i,Ov as j,Pv as k,Dv as l,Av as m,Zu as n,Fg as o,up as p,Mv as q,Lv as r,Bg as s,Ni as t,dp as u,$v as v,Gu as w,zg as x,Mh as y,Ti as z};