@remit/web-client-dist 0.0.355 → 0.0.356

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 (97) hide show
  1. package/assets/{BriefPane-CYfwVL8Y.js → BriefPane-BS5Lq2MZ.js} +1 -1
  2. package/assets/{ErrorState-CJ2aoLG_.js → ErrorState-iyZ1eEDd.js} +1 -1
  3. package/assets/{FlaggedPane-Sleye2NB.js → FlaggedPane-ktX1AK6k.js} +1 -1
  4. package/assets/{MailListHeader-CiYx2Ro0.js → MailListHeader-DnFZsLU5.js} +3 -3
  5. package/assets/{MailViewChrome-4eYgZdUD.js → MailViewChrome-B1N4z7Pm.js} +1 -1
  6. package/assets/{MailboxPane-VSk6AMXL.js → MailboxPane-Dhw8QEvL.js} +1 -1
  7. package/assets/{NavMenuButton-DCYDMDv1.js → NavMenuButton-B8BvpOxY.js} +1 -1
  8. package/assets/{OnboardingWizard-DoBOq2ec.js → OnboardingWizard-D9QaA8wx.js} +1 -1
  9. package/assets/{OutboxPane-D0ChJoAd.js → OutboxPane-DTooYDng.js} +1 -1
  10. package/assets/_mailboxId-0F2OLVkY.js +1 -0
  11. package/assets/_messageId-797n8gDL.js +1 -0
  12. package/assets/_messageId-BCsdFUs5.js +1 -0
  13. package/assets/_messageId-DqgcwsEx.js +1 -0
  14. package/assets/_outboxMessageId-M08TVdJj.js +1 -0
  15. package/assets/_threadId-B8Yjkmi1.js +1 -0
  16. package/assets/_threadId-DpOQd5cl.js +1 -0
  17. package/assets/_threadId-PwoZ7s3D.js +1 -0
  18. package/assets/{account-form-helpers-DAuyJa3o.js → account-form-helpers-n79hZWCu.js} +1 -1
  19. package/assets/{accounts-CeDKOmD9.js → accounts-q2ynk-9Z.js} +1 -1
  20. package/assets/{advanced-hybSRTbS.js → advanced-_W0aJq6k.js} +1 -1
  21. package/assets/{appearance-BpvA9O2b.js → appearance-BWPFtAqS.js} +1 -1
  22. package/assets/{avatar-CmvuzecB.js → avatar-DRzAUKDn.js} +1 -1
  23. package/assets/{bottom-sheet-BYOjIdVx.js → bottom-sheet-CYAAzFs2.js} +1 -1
  24. package/assets/brief-BvwMo2hW.js +1 -0
  25. package/assets/{brief-BVPyzhNL.js → brief-CdIy0xvq.js} +1 -1
  26. package/assets/{browser-ponyfill-C0xW0XXl.js → browser-ponyfill-CwHMNp32.js} +1 -1
  27. package/assets/{bug-JM5TdK6J.js → bug-aX2zoKsl.js} +1 -1
  28. package/assets/{circle-check-DlmySaui.js → circle-check-BpuRlCwV.js} +1 -1
  29. package/assets/{circle-check-big-Cj9roMB7.js → circle-check-big-Ci4xk_eE.js} +1 -1
  30. package/assets/{circle-help-C_AXwAaV.js → circle-help-l4FI_9La.js} +1 -1
  31. package/assets/{clock-C4V2tcYN.js → clock-x43VdT-G.js} +1 -1
  32. package/assets/{confirm-dialog-DPkij3bo.js → confirm-dialog-DnhbOBfz.js} +1 -1
  33. package/assets/{download-ChGh-J5t.js → download-BDyamb4u.js} +1 -1
  34. package/assets/{filters-GacN8-tL.js → filters-Bi0ePbo2.js} +1 -1
  35. package/assets/{flagged-D5M0XeA-.js → flagged-Djecuxf8.js} +1 -1
  36. package/assets/flagged-wK3gOzjd.js +1 -0
  37. package/assets/{folders-BrH0h_oC.js → folders-DBvC38NY.js} +1 -1
  38. package/assets/index-B9KGalbh.js +1 -0
  39. package/assets/index-BCsdFUs5.js +1 -0
  40. package/assets/index-C5ZngjHG.js +1 -0
  41. package/assets/index-CBqbCion.js +1 -0
  42. package/assets/{index-Bqn7f16e.js → index-CpL4QoWb.js} +4 -4
  43. package/assets/index-CwyVlvub.js +1 -0
  44. package/assets/index-DqgcwsEx.js +1 -0
  45. package/assets/index-N4dCVq0Z.js +1 -0
  46. package/assets/index-vrrpqe4P.js +1 -0
  47. package/assets/{kbd-BG1I0chs.js → kbd-B-IGAdWZ.js} +1 -1
  48. package/assets/{labels-BavFLXMP.js → labels-a3WH1yri.js} +1 -1
  49. package/assets/{mail-2xAGIPds.js → mail-DT3RwCYm.js} +1 -1
  50. package/assets/{menu-vEH9STs_.js → menu-C-178_d_.js} +1 -1
  51. package/assets/{move-options-k5syuO4O.js → move-options-B-_O6Age.js} +1 -1
  52. package/assets/{nav-link-COOZsOLo.js → nav-link-CI-9pBff.js} +1 -1
  53. package/assets/{onboarding-B28Gihze.js → onboarding-QXH9AO9A.js} +1 -1
  54. package/assets/outbox-CUzX3SOD.js +1 -0
  55. package/assets/{pencil-CkIitMcy.js → pencil-CzkYibYm.js} +1 -1
  56. package/assets/{rich-text-CsEQAreR.js → rich-text-CJKa3GnU.js} +1 -1
  57. package/assets/{rich-text-spellcheck-worker-provider-x6rgxHWR.js → rich-text-spellcheck-worker-provider-j4LLOI60.js} +1 -1
  58. package/assets/{rotate-ccw-xiByt5L1.js → rotate-ccw-Cvd6l1Qc.js} +1 -1
  59. package/assets/{row-actions-t73y2fxd.js → row-actions-B7ZYbUlo.js} +1 -1
  60. package/assets/{search-token-index-D-3XiS1P.js → search-token-index-Bq5W3wIz.js} +1 -1
  61. package/assets/{search-view-B6uoqRaE.js → search-view-BY8cFYny.js} +1 -1
  62. package/assets/{senders-cIRRNPpD.js → senders-CWxy9PJx.js} +1 -1
  63. package/assets/settings-AZpV762F.js +1 -0
  64. package/assets/{settings-screen-CH2hBhXZ.js → settings-screen-3PVPPcG9.js} +1 -1
  65. package/assets/{shield-check-drtxfxOL.js → shield-check-DmRA-CPl.js} +1 -1
  66. package/assets/{suggested-vips-CNjxCtfh.js → suggested-vips-CFyVrNim.js} +1 -1
  67. package/assets/{useDebouncedValue-upT4qR9G.js → useDebouncedValue-CwStTMs3.js} +1 -1
  68. package/assets/{useFilters-SCAefE6U.js → useFilters-CZ4EVtAQ.js} +1 -1
  69. package/assets/{useLabels-EfJaVdWJ.js → useLabels-DsFfQJKo.js} +1 -1
  70. package/assets/{useMediaQuery-C47DmZA5.js → useMediaQuery-DsLp21rD.js} +1 -1
  71. package/assets/{useRefreshControl-DMQBrv7r.js → useRefreshControl-D0tR6FR3.js} +1 -1
  72. package/assets/{useSearchMirror-BaenAzTH.js → useSearchMirror-CadW6Xgb.js} +1 -1
  73. package/assets/{useSearchTokenContext-ki2AZ7p9.js → useSearchTokenContext-C5JJYphj.js} +1 -1
  74. package/assets/{useSemanticSearch-DoxylHxn.js → useSemanticSearch-BM68RrQf.js} +1 -1
  75. package/assets/{useSignature-6eMCtb3X.js → useSignature-Db5YhvC8.js} +1 -1
  76. package/index.html +1 -1
  77. package/package.json +1 -1
  78. package/assets/_mailboxId-CK7QowXy.js +0 -1
  79. package/assets/_messageId-Bw730qzW.js +0 -1
  80. package/assets/_messageId-DRTnEPcv.js +0 -1
  81. package/assets/_messageId-DeYJ2FsF.js +0 -1
  82. package/assets/_outboxMessageId-CECizJ1R.js +0 -1
  83. package/assets/_threadId-DgtAhuV_.js +0 -1
  84. package/assets/_threadId-Dj8HOsy1.js +0 -1
  85. package/assets/_threadId-I8eJqG4z.js +0 -1
  86. package/assets/brief-DF7GfO-r.js +0 -1
  87. package/assets/flagged-DRo_foUo.js +0 -1
  88. package/assets/index-0RAdsyez.js +0 -1
  89. package/assets/index-Csk5-jLk.js +0 -1
  90. package/assets/index-D6wIsDjM.js +0 -1
  91. package/assets/index-DRTnEPcv.js +0 -1
  92. package/assets/index-DeYJ2FsF.js +0 -1
  93. package/assets/index-W1wD_fe0.js +0 -1
  94. package/assets/index-hR0QoOpl.js +0 -1
  95. package/assets/index-u91rwMUb.js +0 -1
  96. package/assets/outbox-XuiN4du0.js +0 -1
  97. package/assets/settings-DzfdNeyv.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-spellcheck-worker-provider-x6rgxHWR.js","assets/index-Bqn7f16e.js","assets/index-Bn4mOVkF.css","assets/rich-text-spellcheck-provider-J8m9wz6A.js","assets/rich-text-CsEQAreR.js","assets/confirm-dialog-DPkij3bo.js","assets/useMediaQuery-C47DmZA5.js","assets/bottom-sheet-BYOjIdVx.js","assets/search-token-index-D-3XiS1P.js","assets/nav-link-COOZsOLo.js","assets/kbd-BG1I0chs.js","assets/account-form-helpers-DAuyJa3o.js","assets/avatar-CmvuzecB.js","assets/useSearchTokenContext-ki2AZ7p9.js","assets/enums-CCxx0t2v.js","assets/useSignature-6eMCtb3X.js","assets/useDebouncedValue-upT4qR9G.js","assets/ErrorState-CJ2aoLG_.js","assets/format-De9HZKjg.js","assets/download-ChGh-J5t.js","assets/shield-check-drtxfxOL.js","assets/move-options-k5syuO4O.js","assets/useFilters-SCAefE6U.js","assets/clock-C4V2tcYN.js","assets/menu-vEH9STs_.js"])))=>i.map(i=>d[i]);
2
- import{ab as $,bO as Ki,r as l,c as Me,j as a,C as bt,d as Ms,X as en,b as q,B as ne,aA as it,bP as Ca,a as Dt,S as Mt,a_ as Wi,bQ as qi,an as Rn,bh as As,T as tn,bR as Ea,b5 as Ds,bS as Vi,bT as Na,au as Qi,am as Ps,e as Gi,f as Yi,bU as ja,bV as Ta,aa as Xi,bW as Ji,bX as Zi,az as Ra,bY as el,bZ as tl,b_ as nl,b$ as sl,bN as rl,c0 as al,c1 as ol,c2 as il,c3 as ll,c4 as Ls,c5 as rt,c6 as Ia,c7 as cl,c8 as ul,s as Ae,ae as Ie,c9 as dl,ca as fl,y as ml,x as pe,bd as In,p as Os,cb as Ma,aM as Aa,aN as Da,Y as Pt,k as pl,ac as Xe,cc as hl,cd as gl,bu as Ke,ce as bl,af as hs,bg as vl,ad as xl,cf as yl,v as $s,w as nn,H as Pa,bm as La,bG as Oa,P as Lt,cg as Mn,ch as ut,ci as wl,cj as Sl,ck as kl,cl as Cl,cm as El,cn as Nl,co as jl,t as Tl,a$ as Rl,cp as Il,n as Ml,cq as Al,cr as Dl,cs as An,ct as Pl,cu as $a,bz as Ll,bq as or,cv as Ol,cw as $l,bc as Fl,R as _l,a1 as zl,J as Bl,bn as ir,b3 as Ul,cx as Hl,cy as Kl,bl as Wl,cz as ql,cA as Vl,o as Fs,cB as Ql,cC as Gl,cD as lr,cE as Yl,cF as Xl,cG as Jl,cH as _s,i as Zl,cI as ec,cJ as tc,cK as cr,g as nc}from"./index-Bqn7f16e.js";import{B as sc,l as rc,n as ac,S as Fa,e as oc,D as ic,b as dn,a as lc,f as cc,t as zt,g as uc,o as dc,p as fc,d as mc,u as pc,i as hc}from"./search-token-index-D-3XiS1P.js";import{K as gc}from"./kbd-BG1I0chs.js";import{M as bc,b as vc}from"./account-form-helpers-DAuyJa3o.js";import{A as Qt}from"./avatar-CmvuzecB.js";import{M as xc,c as yc,d as wc,e as _a,f as Sc,g as kc,h as za,i as Ba,a as Cc,b as Ec,S as ur,s as Ua,u as Ha,p as Nc,r as jc}from"./useSearchTokenContext-ki2AZ7p9.js";import{u as Tc}from"./useSignature-6eMCtb3X.js";import{u as zs}from"./useDebouncedValue-upT4qR9G.js";import{u as Dn}from"./useMediaQuery-C47DmZA5.js";import{E as sn}from"./ErrorState-CJ2aoLG_.js";import{e as Ka,b as Ot,a as Rc,c as vt,d as Ic}from"./format-De9HZKjg.js";import{P as dr,C as Mc,D as fr,M as Ze}from"./enums-CCxx0t2v.js";import{c as Ac,N as Wa,b as Dc,r as Pc,d as Lc}from"./nav-link-COOZsOLo.js";import{D as Oc}from"./download-ChGh-J5t.js";import{S as $c}from"./shield-check-drtxfxOL.js";import{a as qa,u as Va,b as Qa,f as Ga}from"./move-options-k5syuO4O.js";import{h as mr,u as Fc,a as _c,i as zc,n as Bc,o as Uc,j as Hc,k as Kc,S as Wc}from"./useFilters-SCAefE6U.js";import{C as qc}from"./confirm-dialog-DPkij3bo.js";import{C as Vc}from"./clock-C4V2tcYN.js";import{M as Qc}from"./menu-vEH9STs_.js";function Gt(e){if(Gc())e.focus({preventScroll:!0});else{let t=Yc(e);e.focus(),Xc(t)}}let fn=null;function Gc(){if(fn==null){fn=!1;try{document.createElement("div").focus({get preventScroll(){return fn=!0,!0}})}catch{}}return fn}function Yc(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 Xc(e){for(let{element:t,scrollTop:n,scrollLeft:s}of e)t.scrollTop=n,t.scrollLeft=s}const ot=e=>e?.ownerDocument??document,ct=e=>e&&"window"in e&&e.window===e?e:ot(e).defaultView||window;function Jc(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Zc(e){return Jc(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let eu=!1;function Ya(){return eu}function Ye(e,t){if(!Ya())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:Zc(n)?n=n.host:n=n.parentNode}return!1}function Ce(e){if(Ya()&&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 tu=typeof Element<"u"&&"checkVisibility"in Element.prototype;function nu(e){const t=ct(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}=ct(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function su(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 Xa(e,t){return tu?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&nu(e)&&su(e,t)&&(!e.parentElement||Xa(e.parentElement,e))}const Ja=["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"],ru=Ja.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";Ja.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function au(e,t){return e.matches(ru)&&!ou(e)&&(t?.skipVisibilityCheck||Xa(e))}function ou(e){let t=e;for(;t!=null;){if(t instanceof ct(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Bs=typeof document<"u"?$.useLayoutEffect:()=>{};function iu(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function lu(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function cu(e){for(;e&&!au(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=ct(e),n=t.document.activeElement;if(!n||n===e)return;let s=!1,r=f=>{(Ce(f)===n||s)&&f.stopImmediatePropagation()},o=f=>{(Ce(f)===n||s)&&(f.stopImmediatePropagation(),!e&&!s&&(s=!0,Gt(n),d()))},i=f=>{(Ce(f)===e||s)&&f.stopImmediatePropagation()},c=f=>{(Ce(f)===e||s)&&(f.stopImmediatePropagation(),s||(s=!0,Gt(n),d()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let d=()=>{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(d);return d}function Pn(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 Us(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function dt(e){let t=null;return()=>(t==null&&(t=e()),t)}const En=dt(function(){return Us(/^Mac/i)}),uu=dt(function(){return Us(/^iPhone/i)}),Za=dt(function(){return Us(/^iPad/i)||En()&&navigator.maxTouchPoints>1}),eo=dt(function(){return uu()||Za()}),du=dt(function(){return Pn(/AppleWebKit/i)&&!fu()}),fu=dt(function(){return Pn(/Chrome/i)}),to=dt(function(){return Pn(/Android/i)}),mu=dt(function(){return Pn(/Firefox/i)});function pu(e){return e.pointerType===""&&e.isTrusted?!0:to()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function hu(e){return!to()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function Yt(e,t,n=!0){let{metaKey:s,ctrlKey:r,altKey:o,shiftKey:i}=t;mu()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(En()?s=!0:r=!0);let c=du()&&En()&&!Za()?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});Yt.isOpening=n,Gt(e),e.dispatchEvent(c),Yt.isOpening=!1}Yt.isOpening=!1;let at=new Map,gs=new Set;function pr(){if(typeof window>"u")return;function e(s){return"propertyName"in s}let t=s=>{let r=Ce(s);if(!e(s)||!r)return;let o=at.get(r);o||(o=new Set,at.set(r,o),r.addEventListener("transitioncancel",n,{once:!0})),o.add(s.propertyName)},n=s=>{let r=Ce(s);if(!e(s)||!r)return;let o=at.get(r);if(o&&(o.delete(s.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",n),at.delete(r)),at.size===0)){for(let i of gs)i();gs.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?pr():document.addEventListener("DOMContentLoaded",pr));function gu(){for(const[e]of at)"isConnected"in e&&!e.isConnected&&at.delete(e)}function bu(e){requestAnimationFrame(()=>{gu(),at.size===0?e():gs.add(e)})}function no(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}let bs=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{bs.delete(e)});function vu(e,t){if(e===t)return e;let n=bs.get(e);if(n)return n.forEach(r=>r.current=t),t;let s=bs.get(t);return s?(s.forEach(r=>r.current=e),e):t}function xu(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const s=e.map(r=>{const o=hr(r,t);return n||=typeof o=="function",o});if(n)return()=>{s.forEach((r,o)=>{typeof r=="function"?r():hr(e[o],null)})}}}function hr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function rn(...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]=no(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=Ki(o,i):r==="id"&&o&&i?t.id=vu(o,i):r==="ref"&&o&&i?t.ref=xu(o,i):t[r]=i!==void 0?i:o}}return t}function yu(e,t){Bs(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const wu=$.useInsertionEffect??Bs;function qn(e){const t=l.useRef(null);return wu(()=>{t.current=e},[e]),l.useCallback((...n)=>{const s=t.current;return s?.(...n)},[])}let Tt="default",vs="",Sn=new WeakMap;function Su(e){if(eo()){if(Tt==="default"){const t=ot(e);vs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Tt="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Sn.set(e,e.style[t]),e.style[t]="none"}}function gr(e){if(eo()){if(Tt!=="disabled")return;Tt="restoring",setTimeout(()=>{bu(()=>{if(Tt==="restoring"){const t=ot(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=vs||""),vs="",Tt="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Sn.has(e)){let t=Sn.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Sn.delete(e)}}function br(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Vn=new WeakMap;function ku(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return br(t);if(Vn.has(t))return Vn.get(t);let n=t.querySelector('meta[property="csp-nonce"]'),s=n&&n instanceof ct(n).HTMLMetaElement&&(n.nonce||n.content)||br(t)||void 0;return s!==void 0&&Vn.set(t,s),s}const so=$.createContext({register:()=>{}});so.displayName="PressResponderContext";function ro(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let d=c?.once?(...h)=>{e.current.delete(i),i(...h)}:i;e.current.set(i,{type:o,eventTarget:r,fn:d,options:c}),r.addEventListener(o,d,c)},[]),n=l.useCallback((r,o,i,c)=>{let d=e.current.get(i)?.fn||i;r.removeEventListener(o,d,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 Cu(e){let t=l.useContext(so);if(t){let{register:n,ref:s,...r}=t;e=rn(r,e),n()}return yu(t,e.ref),e}class mn{#e;constructor(t,n,s,r){this.#e=!0;const i=(r?.target??s.currentTarget)?.getBoundingClientRect();let c,d=0,h,f=null;s.clientX!=null&&s.clientY!=null&&(h=s.clientX,f=s.clientY),i&&(h!=null&&f!=null?(c=h-i.left,d=f-i.top):(c=i.width/2,d=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=d,this.key=s.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const vr=Symbol("linkClicked"),xr="react-aria-pressable-style",yr="data-react-aria-pressable";function Eu(e){let{onPress:t,onPressChange:n,onPressStart:s,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:d,preventFocusOnPress:h,shouldCancelOnPointerExit:f,allowTextSelectionOnPress:m,ref:p,...v}=Cu(e),[y,u]=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}=ro(),b=l.useCallback((S,D)=>{let O=g.current;if(c||O.didFirePressStart)return!1;let C=!0;if(O.isTriggeringEvent=!0,s){let P=new mn("pressstart",D,S);s(P),C=P.shouldStopPropagation}return n&&n(!0),O.isTriggeringEvent=!1,O.didFirePressStart=!0,u(!0),C},[c,s,n]),w=l.useCallback((S,D,O=!0)=>{let C=g.current;if(!C.didFirePressStart)return!1;C.didFirePressStart=!1,C.isTriggeringEvent=!0;let P=!0;if(r){let N=new mn("pressend",D,S);r(N),P=N.shouldStopPropagation}if(n&&n(!1),u(!1),t&&O&&!c){let N=new mn("press",D,S);t(N),P&&=N.shouldStopPropagation}return C.isTriggeringEvent=!1,P},[c,r,n,t]),E=qn(w),j=l.useCallback((S,D)=>{let O=g.current;if(c)return!1;if(o){O.isTriggeringEvent=!0;let C=new mn("pressup",D,S);return o(C),O.isTriggeringEvent=!1,C.shouldStopPropagation}return!0},[c,o]),T=qn(j),R=l.useCallback(S=>{let D=g.current;if(D.isPressed&&D.target){D.didFirePressStart&&D.pointerType!=null&&w(pt(D.target,S),D.pointerType,!1),D.isPressed=!1,D.isOverTarget=!1,D.activePointerId=null,D.pointerType=null,k(),m||gr(D.target);for(let O of D.disposables)O();D.disposables=[]}},[m,k,w]),M=qn(R);l.useEffect(()=>{c&&g.current.isPressed&&M({currentTarget:g.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let F=l.useCallback(S=>{f&&R(S)},[f,R]),A=l.useCallback(S=>{c||i?.(S)},[c,i]),_=l.useCallback((S,D)=>{if(!c&&i){let O=new MouseEvent("click",S);lu(O,D),i(iu(O))}},[c,i]),I=l.useMemo(()=>{let S=g.current,D={onKeyDown(C){if(Qn(C.nativeEvent,C.currentTarget)&&Ye(C.currentTarget,Ce(C))){wr(Ce(C),C.key)&&C.preventDefault();let P=!0;!S.isPressed&&!C.repeat&&(S.target=C.currentTarget,S.isPressed=!0,S.pointerType="keyboard",P=b(C,"keyboard"));let N=C.currentTarget,K=G=>{Qn(G,N)&&!G.repeat&&Ye(N,Ce(G))&&S.target&&T(pt(S.target,G),"keyboard")};x(ot(C.currentTarget),"keyup",no(K,O),!0),P&&C.stopPropagation(),C.metaKey&&En()&&S.metaKeyEvents?.set(C.key,C.nativeEvent)}else C.key==="Meta"&&(S.metaKeyEvents=new Map)},onClick(C){if(!(C&&!Ye(C.currentTarget,Ce(C)))&&C&&C.button===0&&!S.isTriggeringEvent&&!Yt.isOpening){let P=!0;if(c&&C.preventDefault(),!S.ignoreEmulatedMouseEvents&&!S.isPressed&&(S.pointerType==="virtual"||pu(C.nativeEvent))){let N=b(C,"virtual"),K=T(C,"virtual"),G=E(C,"virtual");A(C),P=N&&K&&G}else if(S.isPressed&&S.pointerType!=="keyboard"){let N=S.pointerType||C.nativeEvent.pointerType||"virtual",K=T(pt(C.currentTarget,C),N),G=E(pt(C.currentTarget,C),N,!0);P=K&&G,S.isOverTarget=!1,A(C),M(C)}S.ignoreEmulatedMouseEvents=!1,P&&C.stopPropagation()}}},O=C=>{if(S.isPressed&&S.target&&Qn(C,S.target)){wr(Ce(C),C.key)&&C.preventDefault();let P=Ce(C),N=Ye(S.target,P);E(pt(S.target,C),"keyboard",N),N&&_(C,S.target),k(),C.key!=="Enter"&&Hs(S.target)&&Ye(S.target,P)&&!C[vr]&&(C[vr]=!0,Yt(S.target,C,!1)),S.isPressed=!1,S.metaKeyEvents?.delete(C.key)}else if(C.key==="Meta"&&S.metaKeyEvents?.size){let P=S.metaKeyEvents;S.metaKeyEvents=void 0;for(let N of P.values())S.target?.dispatchEvent(new KeyboardEvent("keyup",N))}};if(typeof PointerEvent<"u"){D.onPointerDown=N=>{if(N.button!==0||!Ye(N.currentTarget,Ce(N)))return;if(hu(N.nativeEvent)){S.pointerType="virtual";return}S.pointerType=N.pointerType;let K=!0;if(!S.isPressed){S.isPressed=!0,S.isOverTarget=!0,S.activePointerId=N.pointerId,S.target=N.currentTarget,m||Su(S.target),K=b(N,S.pointerType);let G=Ce(N);"releasePointerCapture"in G&&("hasPointerCapture"in G?G.hasPointerCapture(N.pointerId)&&G.releasePointerCapture(N.pointerId):G.releasePointerCapture(N.pointerId)),x(ot(N.currentTarget),"pointerup",C,!1),x(ot(N.currentTarget),"pointercancel",P,!1)}K&&N.stopPropagation()},D.onMouseDown=N=>{if(Ye(N.currentTarget,Ce(N))&&N.button===0){if(h){let K=cu(N.target);K&&S.disposables.push(K)}N.stopPropagation()}},D.onPointerUp=N=>{!Ye(N.currentTarget,Ce(N))||S.pointerType==="virtual"||N.button===0&&!S.isPressed&&T(N,S.pointerType||N.pointerType)},D.onPointerEnter=N=>{N.pointerId===S.activePointerId&&S.target&&!S.isOverTarget&&S.pointerType!=null&&(S.isOverTarget=!0,b(pt(S.target,N),S.pointerType))},D.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(Ye(S.target,Ce(N))&&S.pointerType!=null){let K=!1,G=setTimeout(()=>{S.isPressed&&S.target instanceof HTMLElement&&(K?M(N):(Gt(S.target),S.target.click()))},80);x(N.currentTarget,"click",()=>K=!0,!0),S.disposables.push(()=>clearTimeout(G))}else M(N);S.isOverTarget=!1}},P=N=>{M(N)};D.onDragStart=N=>{Ye(N.currentTarget,Ce(N))&&M(N)}}return D},[x,c,h,k,m,F,b,A,_]);return l.useEffect(()=>{if(!p)return;const S=ot(p.current);if(!S||!S.head||S.getElementById(xr))return;const D=S.createElement("style");D.id=xr;let O=ku(S);O&&(D.nonce=O),D.textContent=`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-spellcheck-worker-provider-j4LLOI60.js","assets/index-CpL4QoWb.js","assets/index-Bn4mOVkF.css","assets/rich-text-spellcheck-provider-J8m9wz6A.js","assets/rich-text-CJKa3GnU.js","assets/confirm-dialog-DnhbOBfz.js","assets/useMediaQuery-DsLp21rD.js","assets/bottom-sheet-CYAAzFs2.js","assets/search-token-index-Bq5W3wIz.js","assets/nav-link-CI-9pBff.js","assets/kbd-B-IGAdWZ.js","assets/account-form-helpers-n79hZWCu.js","assets/avatar-DRzAUKDn.js","assets/useSearchTokenContext-C5JJYphj.js","assets/enums-CCxx0t2v.js","assets/useSignature-Db5YhvC8.js","assets/useDebouncedValue-CwStTMs3.js","assets/ErrorState-iyZ1eEDd.js","assets/format-De9HZKjg.js","assets/download-BDyamb4u.js","assets/shield-check-DmRA-CPl.js","assets/move-options-B-_O6Age.js","assets/useFilters-CZ4EVtAQ.js","assets/clock-x43VdT-G.js","assets/menu-C-178_d_.js"])))=>i.map(i=>d[i]);
2
+ import{ab as $,bO as Ki,r as l,c as Me,j as a,C as bt,d as Ms,X as en,b as q,B as ne,aA as it,bP as Ca,a as Dt,S as Mt,a_ as Wi,bQ as qi,an as Rn,bh as As,T as tn,bR as Ea,b5 as Ds,bS as Vi,bT as Na,au as Qi,am as Ps,e as Gi,f as Yi,bU as ja,bV as Ta,aa as Xi,bW as Ji,bX as Zi,az as Ra,bY as el,bZ as tl,b_ as nl,b$ as sl,bN as rl,c0 as al,c1 as ol,c2 as il,c3 as ll,c4 as Ls,c5 as rt,c6 as Ia,c7 as cl,c8 as ul,s as Ae,ae as Ie,c9 as dl,ca as fl,y as ml,x as pe,bd as In,p as Os,cb as Ma,aM as Aa,aN as Da,Y as Pt,k as pl,ac as Xe,cc as hl,cd as gl,bu as Ke,ce as bl,af as hs,bg as vl,ad as xl,cf as yl,v as $s,w as nn,H as Pa,bm as La,bG as Oa,P as Lt,cg as Mn,ch as ut,ci as wl,cj as Sl,ck as kl,cl as Cl,cm as El,cn as Nl,co as jl,t as Tl,a$ as Rl,cp as Il,n as Ml,cq as Al,cr as Dl,cs as An,ct as Pl,cu as $a,bz as Ll,bq as or,cv as Ol,cw as $l,bc as Fl,R as _l,a1 as zl,J as Bl,bn as ir,b3 as Ul,cx as Hl,cy as Kl,bl as Wl,cz as ql,cA as Vl,o as Fs,cB as Ql,cC as Gl,cD as lr,cE as Yl,cF as Xl,cG as Jl,cH as _s,i as Zl,cI as ec,cJ as tc,cK as cr,g as nc}from"./index-CpL4QoWb.js";import{B as sc,l as rc,n as ac,S as Fa,e as oc,D as ic,b as dn,a as lc,f as cc,t as zt,g as uc,o as dc,p as fc,d as mc,u as pc,i as hc}from"./search-token-index-Bq5W3wIz.js";import{K as gc}from"./kbd-B-IGAdWZ.js";import{M as bc,b as vc}from"./account-form-helpers-n79hZWCu.js";import{A as Qt}from"./avatar-DRzAUKDn.js";import{M as xc,c as yc,d as wc,e as _a,f as Sc,g as kc,h as za,i as Ba,a as Cc,b as Ec,S as ur,s as Ua,u as Ha,p as Nc,r as jc}from"./useSearchTokenContext-C5JJYphj.js";import{u as Tc}from"./useSignature-Db5YhvC8.js";import{u as zs}from"./useDebouncedValue-CwStTMs3.js";import{u as Dn}from"./useMediaQuery-DsLp21rD.js";import{E as sn}from"./ErrorState-iyZ1eEDd.js";import{e as Ka,b as Ot,a as Rc,c as vt,d as Ic}from"./format-De9HZKjg.js";import{P as dr,C as Mc,D as fr,M as Ze}from"./enums-CCxx0t2v.js";import{c as Ac,N as Wa,b as Dc,r as Pc,d as Lc}from"./nav-link-CI-9pBff.js";import{D as Oc}from"./download-BDyamb4u.js";import{S as $c}from"./shield-check-DmRA-CPl.js";import{a as qa,u as Va,b as Qa,f as Ga}from"./move-options-B-_O6Age.js";import{h as mr,u as Fc,a as _c,i as zc,n as Bc,o as Uc,j as Hc,k as Kc,S as Wc}from"./useFilters-CZ4EVtAQ.js";import{C as qc}from"./confirm-dialog-DnhbOBfz.js";import{C as Vc}from"./clock-x43VdT-G.js";import{M as Qc}from"./menu-C-178_d_.js";function Gt(e){if(Gc())e.focus({preventScroll:!0});else{let t=Yc(e);e.focus(),Xc(t)}}let fn=null;function Gc(){if(fn==null){fn=!1;try{document.createElement("div").focus({get preventScroll(){return fn=!0,!0}})}catch{}}return fn}function Yc(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 Xc(e){for(let{element:t,scrollTop:n,scrollLeft:s}of e)t.scrollTop=n,t.scrollLeft=s}const ot=e=>e?.ownerDocument??document,ct=e=>e&&"window"in e&&e.window===e?e:ot(e).defaultView||window;function Jc(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Zc(e){return Jc(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let eu=!1;function Ya(){return eu}function Ye(e,t){if(!Ya())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:Zc(n)?n=n.host:n=n.parentNode}return!1}function Ce(e){if(Ya()&&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 tu=typeof Element<"u"&&"checkVisibility"in Element.prototype;function nu(e){const t=ct(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}=ct(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function su(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 Xa(e,t){return tu?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&nu(e)&&su(e,t)&&(!e.parentElement||Xa(e.parentElement,e))}const Ja=["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"],ru=Ja.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";Ja.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function au(e,t){return e.matches(ru)&&!ou(e)&&(t?.skipVisibilityCheck||Xa(e))}function ou(e){let t=e;for(;t!=null;){if(t instanceof ct(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Bs=typeof document<"u"?$.useLayoutEffect:()=>{};function iu(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function lu(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function cu(e){for(;e&&!au(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=ct(e),n=t.document.activeElement;if(!n||n===e)return;let s=!1,r=f=>{(Ce(f)===n||s)&&f.stopImmediatePropagation()},o=f=>{(Ce(f)===n||s)&&(f.stopImmediatePropagation(),!e&&!s&&(s=!0,Gt(n),d()))},i=f=>{(Ce(f)===e||s)&&f.stopImmediatePropagation()},c=f=>{(Ce(f)===e||s)&&(f.stopImmediatePropagation(),s||(s=!0,Gt(n),d()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let d=()=>{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(d);return d}function Pn(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 Us(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function dt(e){let t=null;return()=>(t==null&&(t=e()),t)}const En=dt(function(){return Us(/^Mac/i)}),uu=dt(function(){return Us(/^iPhone/i)}),Za=dt(function(){return Us(/^iPad/i)||En()&&navigator.maxTouchPoints>1}),eo=dt(function(){return uu()||Za()}),du=dt(function(){return Pn(/AppleWebKit/i)&&!fu()}),fu=dt(function(){return Pn(/Chrome/i)}),to=dt(function(){return Pn(/Android/i)}),mu=dt(function(){return Pn(/Firefox/i)});function pu(e){return e.pointerType===""&&e.isTrusted?!0:to()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function hu(e){return!to()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function Yt(e,t,n=!0){let{metaKey:s,ctrlKey:r,altKey:o,shiftKey:i}=t;mu()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(En()?s=!0:r=!0);let c=du()&&En()&&!Za()?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});Yt.isOpening=n,Gt(e),e.dispatchEvent(c),Yt.isOpening=!1}Yt.isOpening=!1;let at=new Map,gs=new Set;function pr(){if(typeof window>"u")return;function e(s){return"propertyName"in s}let t=s=>{let r=Ce(s);if(!e(s)||!r)return;let o=at.get(r);o||(o=new Set,at.set(r,o),r.addEventListener("transitioncancel",n,{once:!0})),o.add(s.propertyName)},n=s=>{let r=Ce(s);if(!e(s)||!r)return;let o=at.get(r);if(o&&(o.delete(s.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",n),at.delete(r)),at.size===0)){for(let i of gs)i();gs.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?pr():document.addEventListener("DOMContentLoaded",pr));function gu(){for(const[e]of at)"isConnected"in e&&!e.isConnected&&at.delete(e)}function bu(e){requestAnimationFrame(()=>{gu(),at.size===0?e():gs.add(e)})}function no(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}let bs=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{bs.delete(e)});function vu(e,t){if(e===t)return e;let n=bs.get(e);if(n)return n.forEach(r=>r.current=t),t;let s=bs.get(t);return s?(s.forEach(r=>r.current=e),e):t}function xu(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const s=e.map(r=>{const o=hr(r,t);return n||=typeof o=="function",o});if(n)return()=>{s.forEach((r,o)=>{typeof r=="function"?r():hr(e[o],null)})}}}function hr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function rn(...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]=no(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=Ki(o,i):r==="id"&&o&&i?t.id=vu(o,i):r==="ref"&&o&&i?t.ref=xu(o,i):t[r]=i!==void 0?i:o}}return t}function yu(e,t){Bs(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const wu=$.useInsertionEffect??Bs;function qn(e){const t=l.useRef(null);return wu(()=>{t.current=e},[e]),l.useCallback((...n)=>{const s=t.current;return s?.(...n)},[])}let Tt="default",vs="",Sn=new WeakMap;function Su(e){if(eo()){if(Tt==="default"){const t=ot(e);vs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Tt="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Sn.set(e,e.style[t]),e.style[t]="none"}}function gr(e){if(eo()){if(Tt!=="disabled")return;Tt="restoring",setTimeout(()=>{bu(()=>{if(Tt==="restoring"){const t=ot(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=vs||""),vs="",Tt="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Sn.has(e)){let t=Sn.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Sn.delete(e)}}function br(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Vn=new WeakMap;function ku(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return br(t);if(Vn.has(t))return Vn.get(t);let n=t.querySelector('meta[property="csp-nonce"]'),s=n&&n instanceof ct(n).HTMLMetaElement&&(n.nonce||n.content)||br(t)||void 0;return s!==void 0&&Vn.set(t,s),s}const so=$.createContext({register:()=>{}});so.displayName="PressResponderContext";function ro(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let d=c?.once?(...h)=>{e.current.delete(i),i(...h)}:i;e.current.set(i,{type:o,eventTarget:r,fn:d,options:c}),r.addEventListener(o,d,c)},[]),n=l.useCallback((r,o,i,c)=>{let d=e.current.get(i)?.fn||i;r.removeEventListener(o,d,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 Cu(e){let t=l.useContext(so);if(t){let{register:n,ref:s,...r}=t;e=rn(r,e),n()}return yu(t,e.ref),e}class mn{#e;constructor(t,n,s,r){this.#e=!0;const i=(r?.target??s.currentTarget)?.getBoundingClientRect();let c,d=0,h,f=null;s.clientX!=null&&s.clientY!=null&&(h=s.clientX,f=s.clientY),i&&(h!=null&&f!=null?(c=h-i.left,d=f-i.top):(c=i.width/2,d=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=d,this.key=s.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const vr=Symbol("linkClicked"),xr="react-aria-pressable-style",yr="data-react-aria-pressable";function Eu(e){let{onPress:t,onPressChange:n,onPressStart:s,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:d,preventFocusOnPress:h,shouldCancelOnPointerExit:f,allowTextSelectionOnPress:m,ref:p,...v}=Cu(e),[y,u]=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}=ro(),b=l.useCallback((S,D)=>{let O=g.current;if(c||O.didFirePressStart)return!1;let C=!0;if(O.isTriggeringEvent=!0,s){let P=new mn("pressstart",D,S);s(P),C=P.shouldStopPropagation}return n&&n(!0),O.isTriggeringEvent=!1,O.didFirePressStart=!0,u(!0),C},[c,s,n]),w=l.useCallback((S,D,O=!0)=>{let C=g.current;if(!C.didFirePressStart)return!1;C.didFirePressStart=!1,C.isTriggeringEvent=!0;let P=!0;if(r){let N=new mn("pressend",D,S);r(N),P=N.shouldStopPropagation}if(n&&n(!1),u(!1),t&&O&&!c){let N=new mn("press",D,S);t(N),P&&=N.shouldStopPropagation}return C.isTriggeringEvent=!1,P},[c,r,n,t]),E=qn(w),j=l.useCallback((S,D)=>{let O=g.current;if(c)return!1;if(o){O.isTriggeringEvent=!0;let C=new mn("pressup",D,S);return o(C),O.isTriggeringEvent=!1,C.shouldStopPropagation}return!0},[c,o]),T=qn(j),R=l.useCallback(S=>{let D=g.current;if(D.isPressed&&D.target){D.didFirePressStart&&D.pointerType!=null&&w(pt(D.target,S),D.pointerType,!1),D.isPressed=!1,D.isOverTarget=!1,D.activePointerId=null,D.pointerType=null,k(),m||gr(D.target);for(let O of D.disposables)O();D.disposables=[]}},[m,k,w]),M=qn(R);l.useEffect(()=>{c&&g.current.isPressed&&M({currentTarget:g.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let F=l.useCallback(S=>{f&&R(S)},[f,R]),A=l.useCallback(S=>{c||i?.(S)},[c,i]),_=l.useCallback((S,D)=>{if(!c&&i){let O=new MouseEvent("click",S);lu(O,D),i(iu(O))}},[c,i]),I=l.useMemo(()=>{let S=g.current,D={onKeyDown(C){if(Qn(C.nativeEvent,C.currentTarget)&&Ye(C.currentTarget,Ce(C))){wr(Ce(C),C.key)&&C.preventDefault();let P=!0;!S.isPressed&&!C.repeat&&(S.target=C.currentTarget,S.isPressed=!0,S.pointerType="keyboard",P=b(C,"keyboard"));let N=C.currentTarget,K=G=>{Qn(G,N)&&!G.repeat&&Ye(N,Ce(G))&&S.target&&T(pt(S.target,G),"keyboard")};x(ot(C.currentTarget),"keyup",no(K,O),!0),P&&C.stopPropagation(),C.metaKey&&En()&&S.metaKeyEvents?.set(C.key,C.nativeEvent)}else C.key==="Meta"&&(S.metaKeyEvents=new Map)},onClick(C){if(!(C&&!Ye(C.currentTarget,Ce(C)))&&C&&C.button===0&&!S.isTriggeringEvent&&!Yt.isOpening){let P=!0;if(c&&C.preventDefault(),!S.ignoreEmulatedMouseEvents&&!S.isPressed&&(S.pointerType==="virtual"||pu(C.nativeEvent))){let N=b(C,"virtual"),K=T(C,"virtual"),G=E(C,"virtual");A(C),P=N&&K&&G}else if(S.isPressed&&S.pointerType!=="keyboard"){let N=S.pointerType||C.nativeEvent.pointerType||"virtual",K=T(pt(C.currentTarget,C),N),G=E(pt(C.currentTarget,C),N,!0);P=K&&G,S.isOverTarget=!1,A(C),M(C)}S.ignoreEmulatedMouseEvents=!1,P&&C.stopPropagation()}}},O=C=>{if(S.isPressed&&S.target&&Qn(C,S.target)){wr(Ce(C),C.key)&&C.preventDefault();let P=Ce(C),N=Ye(S.target,P);E(pt(S.target,C),"keyboard",N),N&&_(C,S.target),k(),C.key!=="Enter"&&Hs(S.target)&&Ye(S.target,P)&&!C[vr]&&(C[vr]=!0,Yt(S.target,C,!1)),S.isPressed=!1,S.metaKeyEvents?.delete(C.key)}else if(C.key==="Meta"&&S.metaKeyEvents?.size){let P=S.metaKeyEvents;S.metaKeyEvents=void 0;for(let N of P.values())S.target?.dispatchEvent(new KeyboardEvent("keyup",N))}};if(typeof PointerEvent<"u"){D.onPointerDown=N=>{if(N.button!==0||!Ye(N.currentTarget,Ce(N)))return;if(hu(N.nativeEvent)){S.pointerType="virtual";return}S.pointerType=N.pointerType;let K=!0;if(!S.isPressed){S.isPressed=!0,S.isOverTarget=!0,S.activePointerId=N.pointerId,S.target=N.currentTarget,m||Su(S.target),K=b(N,S.pointerType);let G=Ce(N);"releasePointerCapture"in G&&("hasPointerCapture"in G?G.hasPointerCapture(N.pointerId)&&G.releasePointerCapture(N.pointerId):G.releasePointerCapture(N.pointerId)),x(ot(N.currentTarget),"pointerup",C,!1),x(ot(N.currentTarget),"pointercancel",P,!1)}K&&N.stopPropagation()},D.onMouseDown=N=>{if(Ye(N.currentTarget,Ce(N))&&N.button===0){if(h){let K=cu(N.target);K&&S.disposables.push(K)}N.stopPropagation()}},D.onPointerUp=N=>{!Ye(N.currentTarget,Ce(N))||S.pointerType==="virtual"||N.button===0&&!S.isPressed&&T(N,S.pointerType||N.pointerType)},D.onPointerEnter=N=>{N.pointerId===S.activePointerId&&S.target&&!S.isOverTarget&&S.pointerType!=null&&(S.isOverTarget=!0,b(pt(S.target,N),S.pointerType))},D.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(Ye(S.target,Ce(N))&&S.pointerType!=null){let K=!1,G=setTimeout(()=>{S.isPressed&&S.target instanceof HTMLElement&&(K?M(N):(Gt(S.target),S.target.click()))},80);x(N.currentTarget,"click",()=>K=!0,!0),S.disposables.push(()=>clearTimeout(G))}else M(N);S.isOverTarget=!1}},P=N=>{M(N)};D.onDragStart=N=>{Ye(N.currentTarget,Ce(N))&&M(N)}}return D},[x,c,h,k,m,F,b,A,_]);return l.useEffect(()=>{if(!p)return;const S=ot(p.current);if(!S||!S.head||S.getElementById(xr))return;const D=S.createElement("style");D.id=xr;let O=ku(S);O&&(D.nonce=O),D.textContent=`
3
3
  @layer {
4
4
  [${yr}] {
5
5
  touch-action: pan-x pan-y pinch-zoom;
@@ -46,7 +46,7 @@ import{ab as $,bO as Ki,r as l,c as Me,j as a,C as bt,d as Ms,X as en,b as q,B a
46
46
  `)},Xr=function(){var e=parseInt(document.body.getAttribute(It)||"0",10);return isFinite(e)?e:0},Wm=function(){l.useEffect(function(){return document.body.setAttribute(It,(Xr()+1).toString()),function(){var e=Xr()-1;e<=0?document.body.removeAttribute(It):document.body.setAttribute(It,e.toString())}},[])},qm=function(e){var t=e.noRelative,n=e.noImportant,s=e.gapMode,r=s===void 0?"margin":s;Wm();var o=l.useMemo(function(){return Um(r)},[r]);return l.createElement(Hm,{styles:Km(o,!t,r,n?"":"!important")})},ks=!1;if(typeof window<"u")try{var vn=Object.defineProperty({},"passive",{get:function(){return ks=!0,!0}});window.addEventListener("test",vn,vn),window.removeEventListener("test",vn,vn)}catch{ks=!1}var Et=ks?{passive:!1}:!1,Vm=function(e){return e.tagName==="TEXTAREA"},zo=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Vm(e)&&n[t]==="visible")},Qm=function(e){return zo(e,"overflowY")},Gm=function(e){return zo(e,"overflowX")},Jr=function(e,t){var n=t.ownerDocument,s=t;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var r=Bo(e,s);if(r){var o=Uo(e,s),i=o[1],c=o[2];if(i>c)return!0}s=s.parentNode}while(s&&s!==n.body);return!1},Ym=function(e){var t=e.scrollTop,n=e.scrollHeight,s=e.clientHeight;return[t,n,s]},Xm=function(e){var t=e.scrollLeft,n=e.scrollWidth,s=e.clientWidth;return[t,n,s]},Bo=function(e,t){return e==="v"?Qm(t):Gm(t)},Uo=function(e,t){return e==="v"?Ym(t):Xm(t)},Jm=function(e,t){return e==="h"&&t==="rtl"?-1:1},Zm=function(e,t,n,s,r){var o=Jm(e,window.getComputedStyle(t).direction),i=o*s,c=n.target,d=t.contains(c),h=!1,f=i>0,m=0,p=0;do{if(!c)break;var v=Uo(e,c),y=v[0],u=v[1],g=v[2],x=u-g-o*y;(y||x)&&Bo(e,c)&&(m+=x,p+=y);var k=c.parentNode;c=k&&k.nodeType===Node.DOCUMENT_FRAGMENT_NODE?k.host:k}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(f&&Math.abs(m)<1||!f&&Math.abs(p)<1)&&(h=!0),h},xn=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Zr=function(e){return[e.deltaX,e.deltaY]},ea=function(e){return e&&"current"in e?e.current:e},ep=function(e,t){return e[0]===t[0]&&e[1]===t[1]},tp=function(e){return`
47
47
  .block-interactivity-`.concat(e,` {pointer-events: none;}
48
48
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
49
- `)},np=0,Nt=[];function sp(e){var t=l.useRef([]),n=l.useRef([0,0]),s=l.useRef(),r=l.useState(np++)[0],o=l.useState(_o)[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 u=cl([e.lockRef.current],(e.shards||[]).map(ea),!0).filter(Boolean);return u.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),u.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var c=l.useCallback(function(u,g){if("touches"in u&&u.touches.length===2||u.type==="wheel"&&u.ctrlKey)return!i.current.allowPinchZoom;var x=xn(u),k=n.current,b="deltaX"in u?u.deltaX:k[0]-x[0],w="deltaY"in u?u.deltaY:k[1]-x[1],E,j=u.target,T=Math.abs(b)>Math.abs(w)?"h":"v";if("touches"in u&&T==="h"&&j.type==="range")return!1;var R=window.getSelection(),M=R&&R.anchorNode,F=M?M===j||M.contains(j):!1;if(F)return!1;var A=Jr(T,j);if(!A)return!0;if(A?E=T:(E=T==="v"?"h":"v",A=Jr(T,j)),!A)return!1;if(!s.current&&"changedTouches"in u&&(b||w)&&(s.current=E),!E)return!0;var _=s.current||E;return Zm(_,g,u,_==="h"?b:w)},[]),d=l.useCallback(function(u){var g=u;if(!(!Nt.length||Nt[Nt.length-1]!==o)){var x="deltaY"in g?Zr(g):xn(g),k=t.current.filter(function(E){return E.name===g.type&&(E.target===g.target||g.target===E.shadowParent)&&ep(E.delta,x)})[0];if(k&&k.should){g.cancelable&&g.preventDefault();return}if(!k){var b=(i.current.shards||[]).map(ea).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(u,g,x,k){var b={name:u,delta:g,target:x,should:k,shadowParent:rp(x)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(w){return w!==b})},1)},[]),f=l.useCallback(function(u){n.current=xn(u),s.current=void 0},[]),m=l.useCallback(function(u){h(u.type,Zr(u),u.target,c(u,e.lockRef.current))},[]),p=l.useCallback(function(u){h(u.type,xn(u),u.target,c(u,e.lockRef.current))},[]);l.useEffect(function(){return Nt.push(o),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:p}),document.addEventListener("wheel",d,Et),document.addEventListener("touchmove",d,Et),document.addEventListener("touchstart",f,Et),function(){Nt=Nt.filter(function(u){return u!==o}),document.removeEventListener("wheel",d,Et),document.removeEventListener("touchmove",d,Et),document.removeEventListener("touchstart",f,Et)}},[]);var v=e.removeScrollBar,y=e.inert;return l.createElement(l.Fragment,null,y?l.createElement(o,{styles:tp(r)}):null,v?l.createElement(qm,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function rp(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const ap=Dm(Fo,sp);var Ho=l.forwardRef(function(e,t){return l.createElement(zn,rt({},e,{ref:t,sideCar:ap}))});Ho.classNames=zn.classNames;function op(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 ip(e,t){const{shouldBlockFn:n,enableBeforeUnload:s=!0,disabled:r=!1,withResolver:o=!1}=op(e),i=ul(),{history:c}=i,[d,h]=l.useState({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return l.useEffect(()=>{const f=async m=>{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(m.currentLocation),y=p(m.nextLocation);if(v.routeId==="__notFound__"&&y.routeId!=="__notFound__")return!1;const u=await n({action:m.action,current:v,next:y});if(!o)return u;if(!u)return!1;const g=await new Promise(x=>{h({status:"blocked",current:v,next:y,action:m.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:f,enableBeforeUnload:s})},[n,s,r,o,c,i]),d}const lp=e=>e.then(()=>{},()=>{}),cp=({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),d=Ae(),h=l.useRef(e),f=l.useRef(e);h.current!==e&&(h.current=e,f.current=e);const m=Ie(dl()),p=Ie(fl()),v=l.useCallback(async b=>{s("saving"),o(null);const w=f.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 m.mutateAsync({body:{...b,sendImmediately:!1}});return f.current=E.outboxMessageId,t(E.outboxMessageId),s("saved"),d.invalidateQueries({queryKey:ml().queryKey}),E},[m,p,t,d]),y=l.useRef(Promise.resolve()),u=l.useCallback(b=>{const w=y.current.then(()=>v(b));return y.current=lp(w),w},[v]),g=l.useCallback(b=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{const w=f.current;w&&c.current.has(w)||u(b).catch(E=>{o(E),s("error")})},2e3)},[u]),x=l.useCallback(b=>(i.current&&clearTimeout(i.current),u(b).then(w=>({outcome:"saved",outboxMessageId:w.outboxMessageId})).catch(w=>(s("error"),{outcome:"failed",error:w}))),[u]),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}},os=({label:e,addresses:t,onChange:n,placeholder:s})=>{const[r,o]=l.useState(""),i=zs(r,200),{data:c}=pe({...In({query:{q:i,limit:8}}),enabled:i.length>=2}),d=l.useMemo(()=>(c?.items??[]).map(h=>({email:h.normalizedEmail,displayName:h.displayName})),[c]);return a.jsx(Td,{label:e,addresses:t,onChange:n,placeholder:s,suggestions:d,onQueryChange:o})},up=({accountId:e,configureRef:t})=>{const n=Os();return a.jsx(Dd,{configureRef:t,onConfigure:()=>{n({to:"/settings/accounts",search:{editAccountId:e,focusSmtp:!0}})}})},dp={download:"its dictionary could not be downloaded",engine:"the checker could not start",worker:"the checker stopped running"},fp=e=>{const t=`Spellcheck for ${e.language} is off: ${dp[e.reason]}.`;return{severity:"warning",title:"Spellcheck stopped",detail:`${t} Your browser is checking this message instead. ${e.detail}`,action:{label:"Report this",href:Aa(Da({title:`Spellcheck stopped: ${e.reason} (${e.language})`,errorMessage:`${t} ${e.detail}`}))}}},mp=e=>({provider:async t=>{const{openSpellcheckWorker:n}=await Ma(async()=>{const{openSpellcheckWorker:s}=await import("./rich-text-spellcheck-worker-provider-x6rgxHWR.js");return{openSpellcheckWorker:s}},__vite__mapDeps([0,1,2,3]));return n(t)},onStatus:t=>{t.state==="failed"&&e(fp(t))}}),ta=150,pp=()=>{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>ta}});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>ta})};return s(),n.addEventListener("resize",s),()=>n.removeEventListener("resize",s)},[]),e},hp=({selectedAccountId:e,onSelect:t})=>{const{data:n}=pe({...Pt(),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))})]})},gp=l.lazy(()=>Ma(()=>import("./rich-text-CsEQAreR.js"),__vite__mapDeps([4,1,2,5,6,7,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])).then(e=>({default:e.ComposeBody}))),bp=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),vp=e=>e.split(`
49
+ `)},np=0,Nt=[];function sp(e){var t=l.useRef([]),n=l.useRef([0,0]),s=l.useRef(),r=l.useState(np++)[0],o=l.useState(_o)[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 u=cl([e.lockRef.current],(e.shards||[]).map(ea),!0).filter(Boolean);return u.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),u.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var c=l.useCallback(function(u,g){if("touches"in u&&u.touches.length===2||u.type==="wheel"&&u.ctrlKey)return!i.current.allowPinchZoom;var x=xn(u),k=n.current,b="deltaX"in u?u.deltaX:k[0]-x[0],w="deltaY"in u?u.deltaY:k[1]-x[1],E,j=u.target,T=Math.abs(b)>Math.abs(w)?"h":"v";if("touches"in u&&T==="h"&&j.type==="range")return!1;var R=window.getSelection(),M=R&&R.anchorNode,F=M?M===j||M.contains(j):!1;if(F)return!1;var A=Jr(T,j);if(!A)return!0;if(A?E=T:(E=T==="v"?"h":"v",A=Jr(T,j)),!A)return!1;if(!s.current&&"changedTouches"in u&&(b||w)&&(s.current=E),!E)return!0;var _=s.current||E;return Zm(_,g,u,_==="h"?b:w)},[]),d=l.useCallback(function(u){var g=u;if(!(!Nt.length||Nt[Nt.length-1]!==o)){var x="deltaY"in g?Zr(g):xn(g),k=t.current.filter(function(E){return E.name===g.type&&(E.target===g.target||g.target===E.shadowParent)&&ep(E.delta,x)})[0];if(k&&k.should){g.cancelable&&g.preventDefault();return}if(!k){var b=(i.current.shards||[]).map(ea).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(u,g,x,k){var b={name:u,delta:g,target:x,should:k,shadowParent:rp(x)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(w){return w!==b})},1)},[]),f=l.useCallback(function(u){n.current=xn(u),s.current=void 0},[]),m=l.useCallback(function(u){h(u.type,Zr(u),u.target,c(u,e.lockRef.current))},[]),p=l.useCallback(function(u){h(u.type,xn(u),u.target,c(u,e.lockRef.current))},[]);l.useEffect(function(){return Nt.push(o),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:p}),document.addEventListener("wheel",d,Et),document.addEventListener("touchmove",d,Et),document.addEventListener("touchstart",f,Et),function(){Nt=Nt.filter(function(u){return u!==o}),document.removeEventListener("wheel",d,Et),document.removeEventListener("touchmove",d,Et),document.removeEventListener("touchstart",f,Et)}},[]);var v=e.removeScrollBar,y=e.inert;return l.createElement(l.Fragment,null,y?l.createElement(o,{styles:tp(r)}):null,v?l.createElement(qm,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function rp(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const ap=Dm(Fo,sp);var Ho=l.forwardRef(function(e,t){return l.createElement(zn,rt({},e,{ref:t,sideCar:ap}))});Ho.classNames=zn.classNames;function op(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 ip(e,t){const{shouldBlockFn:n,enableBeforeUnload:s=!0,disabled:r=!1,withResolver:o=!1}=op(e),i=ul(),{history:c}=i,[d,h]=l.useState({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return l.useEffect(()=>{const f=async m=>{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(m.currentLocation),y=p(m.nextLocation);if(v.routeId==="__notFound__"&&y.routeId!=="__notFound__")return!1;const u=await n({action:m.action,current:v,next:y});if(!o)return u;if(!u)return!1;const g=await new Promise(x=>{h({status:"blocked",current:v,next:y,action:m.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:f,enableBeforeUnload:s})},[n,s,r,o,c,i]),d}const lp=e=>e.then(()=>{},()=>{}),cp=({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),d=Ae(),h=l.useRef(e),f=l.useRef(e);h.current!==e&&(h.current=e,f.current=e);const m=Ie(dl()),p=Ie(fl()),v=l.useCallback(async b=>{s("saving"),o(null);const w=f.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 m.mutateAsync({body:{...b,sendImmediately:!1}});return f.current=E.outboxMessageId,t(E.outboxMessageId),s("saved"),d.invalidateQueries({queryKey:ml().queryKey}),E},[m,p,t,d]),y=l.useRef(Promise.resolve()),u=l.useCallback(b=>{const w=y.current.then(()=>v(b));return y.current=lp(w),w},[v]),g=l.useCallback(b=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{const w=f.current;w&&c.current.has(w)||u(b).catch(E=>{o(E),s("error")})},2e3)},[u]),x=l.useCallback(b=>(i.current&&clearTimeout(i.current),u(b).then(w=>({outcome:"saved",outboxMessageId:w.outboxMessageId})).catch(w=>(s("error"),{outcome:"failed",error:w}))),[u]),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}},os=({label:e,addresses:t,onChange:n,placeholder:s})=>{const[r,o]=l.useState(""),i=zs(r,200),{data:c}=pe({...In({query:{q:i,limit:8}}),enabled:i.length>=2}),d=l.useMemo(()=>(c?.items??[]).map(h=>({email:h.normalizedEmail,displayName:h.displayName})),[c]);return a.jsx(Td,{label:e,addresses:t,onChange:n,placeholder:s,suggestions:d,onQueryChange:o})},up=({accountId:e,configureRef:t})=>{const n=Os();return a.jsx(Dd,{configureRef:t,onConfigure:()=>{n({to:"/settings/accounts",search:{editAccountId:e,focusSmtp:!0}})}})},dp={download:"its dictionary could not be downloaded",engine:"the checker could not start",worker:"the checker stopped running"},fp=e=>{const t=`Spellcheck for ${e.language} is off: ${dp[e.reason]}.`;return{severity:"warning",title:"Spellcheck stopped",detail:`${t} Your browser is checking this message instead. ${e.detail}`,action:{label:"Report this",href:Aa(Da({title:`Spellcheck stopped: ${e.reason} (${e.language})`,errorMessage:`${t} ${e.detail}`}))}}},mp=e=>({provider:async t=>{const{openSpellcheckWorker:n}=await Ma(async()=>{const{openSpellcheckWorker:s}=await import("./rich-text-spellcheck-worker-provider-j4LLOI60.js");return{openSpellcheckWorker:s}},__vite__mapDeps([0,1,2,3]));return n(t)},onStatus:t=>{t.state==="failed"&&e(fp(t))}}),ta=150,pp=()=>{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>ta}});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>ta})};return s(),n.addEventListener("resize",s),()=>n.removeEventListener("resize",s)},[]),e},hp=({selectedAccountId:e,onSelect:t})=>{const{data:n}=pe({...Pt(),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))})]})},gp=l.lazy(()=>Ma(()=>import("./rich-text-CJKa3GnU.js"),__vite__mapDeps([4,1,2,5,6,7,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])).then(e=>({default:e.ComposeBody}))),bp=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),vp=e=>e.split(`
50
50
  `).map(t=>`<p>${bp(t)}</p>`).join(""),na=e=>e?`<p></p><p>-- </p>${vp(e)}`:"",xp=e=>e?/^re:\s/i.test(e)?e:`Re: ${e}`:"Re: ",yp=e=>e?/^fwd?:\s/i.test(e)?e:`Fwd: ${e}`:"Fwd: ",wp=(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())),d=[...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:d}},Sp=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}},sa=(e,t,n)=>({textBody:t.text||void 0,htmlBody:e==="plain"?"":t.html?yl(t.html,n):void 0}),kp=(e,t,n,s,r)=>e.length===0&&t.length===0&&n.length===0&&s.trim()===""&&r.text.trim()==="",Cp=({documentGeneration:e,selectedAccountId:t,onAccountChange:n,toAddresses:s,setToAddresses:r,ccAddresses:o,setCcAddresses:i,bccAddresses:c,setBccAddresses:d,showCc:h,setShowCc:f,showBcc:m,setShowBcc:p,subject:v,setSubject:y})=>{const u=Dn(),{isKeyboardOpen:g}=pp(),[x,k]=l.useState(void 0),b=x===e;return a.jsx(Ad,{collapsed:!u&&g&&!b,onExpand:()=>k(e),summary:Md({to:s,cc:o,bcc:c,subject:v}),from:a.jsx(hp,{selectedAccountId:t,onSelect:n}),to:a.jsx(os,{label:"To",addresses:s,onChange:r,placeholder:"Recipients"}),cc:h?a.jsx(os,{label:"Cc",addresses:o,onChange:i}):void 0,bcc:m?a.jsx(os,{label:"Bcc",addresses:c,onChange:d}):void 0,subject:a.jsx(Pd,{value:v,onChange:y}),onShowCc:()=>f(!0),onShowBcc:()=>p(!0)})},Ep=({mode:e,account:t,sourceMessage:n,onClose:s,onAccountChange:r,layout:o="fill"})=>{const{state:i,setOutboxMessageId:c,startSendPolling:d}=pl(),{pushError:h}=Xe(),{outboxMessageId:f}=i,[m,p]=l.useState([]),[v,y]=l.useState([]),[u,g]=l.useState([]),[x,k]=l.useState(""),[b,w]=l.useState(!1),[E,j]=l.useState(!1),[T,R]=l.useState(t?.accountId),[M,F]=l.useState(!1),A=l.useRef(null),_=l.useRef(f);l.useEffect(()=>{const Z=_.current;Z!==f&&(_.current=f,!(!f||Z===void 0)&&(p([]),y([]),g([]),k(""),w(!1),j(!1),C(""),N(""),G("rich"),oe(void 0),ce(Wd),D(z=>z+1),F(!1)))},[f]);const{signature:I}=Tc(T),[S,D]=l.useState(0),[O,C]=l.useState(()=>na(I.plainText)),[P,N]=l.useState(I.plainText),[K,G]=l.useState("rich"),[le,J]=l.useState("en"),[se,oe]=l.useState(),[de,ce]=l.useState(()=>({html:na(I.plainText),text:I.plainText,formatting:[]})),{data:X}=pe({...hl({path:{outboxMessageId:f??""}}),enabled:!!f&&!M});l.useEffect(()=>{if(!X||M)return;p(X.toAddresses.map(U=>({email:U,displayName:void 0}))),X.ccAddresses&&X.ccAddresses.length>0&&(y(X.ccAddresses.map(U=>({email:U,displayName:void 0}))),w(!0)),X.bccAddresses&&X.bccAddresses.length>0&&(g(X.bccAddresses.map(U=>({email:U,displayName:void 0}))),j(!0)),X.subject&&k(X.subject);const Z=gl(X.htmlBody??""),z=Z.html,W=X.textBody??"";G(sf(X.htmlBody)),oe(Z.language??void 0),C(z),N(W),ce({html:z,text:W,formatting:[]}),D(U=>U+1),R(X.accountId),F(!0)},[X,M]),l.useEffect(()=>{if(n){if(e==="reply"||e==="reply_all"){const{to:Z,cc:z}=wp(n,e,t?.email);p(Z),y(z),z.length>0&&w(!0),k(xp(n.envelope.subject))}e==="forward"&&k(yp(n.envelope.subject))}},[e,n,t?.email]);const ee=e==="reply"||e==="reply_all"||e==="forward",{data:ve}=wc({messageId:n?.message.messageId,bodyParts:n?.bodyParts,enabled:ee&&!!n}),xe=ve?.kind==="text"?ve.body:"",Ee=ve?.kind==="html"?nf(ve.body):void 0,je=n?.envelope.from[0]?.displayName??n?.envelope.from[0]?.normalizedEmail,H=l.useCallback(Z=>{F(!0),c(Z)},[c]),{saveStatus:Te,saveError:ke,saveDraft:Re,saveImmediately:Be,stopAutoSave:De}=cp({outboxMessageId:f,onDraftCreated:H});l.useEffect(()=>{ke&&h({title:"Couldn't save draft",detail:Ke(ke)??"Saving the draft failed.",error:ke})},[ke,h]);const Y=Ie(bl()),te=Ie({...vl(),onError:Z=>{h(hs("Couldn't discard draft","The draft wasn't discarded.",Z))}}),{data:ye}=pe({...Pt(),staleTime:1/0}),V=ye?.accounts.find(Z=>Z.accountId===T),qe=V?vc(V):!1,we=V?.composeLanguages,Fe=l.useMemo(()=>we&&we.length>0?we:xl(navigator.languages),[we]),Ue=l.useMemo(()=>mp(h),[h]),Pe=l.useRef(!1),[he,ae]=l.useState(!1),Ne=l.useMemo(()=>he?{status:"sending"}:T?qe?{status:"blocked",reason:ys}:m.length===0?{status:"blocked",reason:"Add at least one recipient."}:{status:"ready",accountId:T}:{status:"blocked",reason:"Choose an account to send from."},[he,T,qe,m.length]),Ve=Ne;l.useEffect(()=>{if(!T||f&&!M||kp(m,v,u,x,de))return;const{htmlBody:Z,textBody:z}=sa(K,de,le);Re({accountId:T,toAddresses:m.map(W=>W.email),ccAddresses:v.length>0?v.map(W=>W.email):void 0,bccAddresses:u.length>0?u.map(W=>W.email):void 0,subject:x||void 0,textBody:z,htmlBody:Z})},[T,f,M,m,v,u,x,de,K,le,Re]);const Oe=l.useCallback(async Z=>{if(!Pe.current){Pe.current=!0,ae(!0);try{De();const z=n&&(e==="reply"||e==="reply_all")?Sp(n):{},{htmlBody:W,textBody:U}=sa(K,de,le),Q=!f,re=await Be({accountId:Z,toAddresses:m.map(me=>me.email),ccAddresses:v.length>0?v.map(me=>me.email):void 0,bccAddresses:u.length>0?u.map(me=>me.email):void 0,subject:x||void 0,textBody:U,htmlBody:W,...z});if(re.outcome==="failed"){h({title:"Couldn't send message",detail:Ke(re.error)??"Saving the message failed, so nothing was sent. Try again.",error:re.error});return}const fe=re.outboxMessageId;if(await Y.mutateAsync({path:{outboxMessageId:fe}}).catch(me=>(h({title:"Couldn't send message",detail:Ke(me)??(Q?"The draft was saved but the send request failed. Try again from the Outbox.":"The send request failed. Try again."),error:me}),null))===null)return;De(fe),d(fe),s()}finally{Pe.current=!1,ae(!1)}}},[m,v,u,x,de,K,le,e,n,f,Be,Y,De,d,h,s]),Je=l.useCallback(()=>{De(f),f&&te.mutate({path:{outboxMessageId:f}}),s()},[De,f,te,s]),_e=l.useCallback(Z=>{h({title:"Can't send yet",detail:Z}),Z===ys&&A.current?.focus()},[h]),Qe=l.useCallback(()=>{if(Ne.status!=="sending"){if(Ne.status==="blocked"){_e(Ne.reason);return}Oe(Ne.accountId)}},[Ne,_e,Oe]),He=l.useCallback(Z=>{R(Z.accountId),r?.(Z)},[r]);return a.jsx(Id,{layout:o,banner:V&&qe?a.jsx(up,{accountId:V.accountId,configureRef:A}):void 0,header:a.jsx(Cp,{documentGeneration:S,selectedAccountId:T,onAccountChange:He,toAddresses:m,setToAddresses:p,ccAddresses:v,setCcAddresses:y,bccAddresses:u,setBccAddresses:g,showCc:b,setShowCc:w,showBcc:E,setShowBcc:j,subject:x,setSubject:k}),quoted:xe||Ee?a.jsx(Kd,{text:xe,html:Ee,senderName:je}):void 0,actionBar:a.jsx(Ed,{send:Ve,onSend:Qe,onBlocked:_e,onDiscard:Je,saveStatus:Te}),children:a.jsx(l.Suspense,{fallback:a.jsx(Rd,{}),children:a.jsx(gp,{mode:K,onModeChange:G,initialHtml:O,initialText:P,onChange:ce,onSubmit:Qe,initialCaret:e==="new"?"start":void 0,onConversionError:h,languages:Fe,initialLanguage:se,onLanguageChange:J,spellcheck:Ue},S)})})};var Bn="Dialog",[Ko]=Pf(Bn),[Np,We]=Ko(Bn),Wo=e=>{const{__scopeDialog:t,children:n,open:s,defaultOpen:r,onOpenChange:o,modal:i=!0}=e,c=l.useRef(null),d=l.useRef(null),[h,f]=$f({prop:s,defaultProp:r??!1,onChange:o,caller:Bn});return a.jsx(Np,{scope:t,triggerRef:c,contentRef:d,contentId:ts(),titleId:ts(),descriptionId:ts(),open:h,onOpenChange:f,onOpenToggle:l.useCallback(()=>f(m=>!m),[f]),modal:i,children:n})};Wo.displayName=Bn;var qo="DialogTrigger",jp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=We(qo,n),o=xt(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":Ys(r.open),...s,ref:o,onClick:lt(e.onClick,r.onOpenToggle)})});jp.displayName=qo;var Gs="DialogPortal",[Tp,Vo]=Ko(Gs,{forceMount:void 0}),Qo=e=>{const{__scopeDialog:t,forceMount:n,children:s,container:r}=e,o=We(Gs,t);return a.jsx(Tp,{scope:t,forceMount:n,children:l.Children.map(s,i=>a.jsx(_n,{present:n||o.open,children:a.jsx(Lo,{asChild:!0,container:r,children:i})}))})};Qo.displayName=Gs;var jn="DialogOverlay",Go=l.forwardRef((e,t)=>{const n=Vo(jn,e.__scopeDialog),{forceMount:s=n.forceMount,...r}=e,o=We(jn,e.__scopeDialog);return o.modal?a.jsx(_n,{present:s||o.open,children:a.jsx(Ip,{...r,ref:t})}):null});Go.displayName=jn;var Rp=Io("DialogOverlay.RemoveScroll"),Ip=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=We(jn,n),o=nm(),i=xt(t,o);return a.jsx(Ho,{as:Rp,allowPinchZoom:!0,shards:[r.contentRef],children:a.jsx(et.div,{"data-state":Ys(r.open),...s,ref:i,style:{pointerEvents:"auto",...s.style}})})}),At="DialogContent",Yo=l.forwardRef((e,t)=>{const n=Vo(At,e.__scopeDialog),{forceMount:s=n.forceMount,...r}=e,o=We(At,e.__scopeDialog);return a.jsx(_n,{present:s||o.open,children:o.modal?a.jsx(Mp,{...r,ref:t}):a.jsx(Ap,{...r,ref:t})})});Yo.displayName=At;var Mp=l.forwardRef((e,t)=>{const n=We(At,e.__scopeDialog),s=l.useRef(null),r=xt(t,n.contentRef,s);return l.useEffect(()=>{const o=s.current;if(o)return Cm(o)},[]),a.jsx(Xo,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:lt(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:lt(e.onPointerDownOutside,o=>{const i=o.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&o.preventDefault()}),onFocusOutside:lt(e.onFocusOutside,o=>o.preventDefault())})}),Ap=l.forwardRef((e,t)=>{const n=We(At,e.__scopeDialog),s=l.useRef(!1),r=l.useRef(!1);return a.jsx(Xo,{...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()}})}),Xo=l.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:o,...i}=e,c=We(At,n);return om(),a.jsx(a.Fragment,{children:a.jsx(Do,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:r,onUnmountAutoFocus:o,children:a.jsx(Mo,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Ys(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),Jo="DialogTitle",Zo=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=We(Jo,n);return a.jsx(et.h2,{id:r.titleId,...s,ref:t})});Zo.displayName=Jo;var ei="DialogDescription",Dp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=We(ei,n);return a.jsx(et.p,{id:r.descriptionId,...s,ref:t})});Dp.displayName=ei;var ti="DialogClose",Pp=l.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,r=We(ti,n);return a.jsx(et.button,{type:"button",...s,ref:t,onClick:lt(e.onClick,()=>r.onOpenChange(!1))})});Pp.displayName=ti;function Ys(e){return e?"open":"closed"}function Lp(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 ni=$.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}),an=()=>{const e=$.useContext(ni);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};Lp(`[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
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 Op(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function $p(){return Xs(/^Mac/)}function Fp(){return Xs(/^iPhone/)}function ra(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function _p(){return Xs(/^iPad/)||$p()&&navigator.maxTouchPoints>1}function si(){return Fp()||_p()}function Xs(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const zp=24,Bp=typeof window<"u"?l.useLayoutEffect:l.useEffect;function aa(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const is=typeof document<"u"&&window.visualViewport;function oa(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function ri(e){for(oa(e)&&(e=e.parentElement);e&&!oa(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const Up=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let yn=0,ls;function Hp(e={}){let{isDisabled:t}=e;Bp(()=>{if(!t)return yn++,yn===1&&si()&&(ls=Kp()),()=>{yn--,yn===0&&ls?.()}},[t])}function Kp(){let e,t=0,n=m=>{e=ri(m.target),!(e===document.documentElement&&e===document.body)&&(t=m.changedTouches[0].pageY)},s=m=>{if(!e||e===document.documentElement||e===document.body){m.preventDefault();return}let p=m.changedTouches[0].pageY,v=e.scrollTop,y=e.scrollHeight-e.clientHeight;y!==0&&((v<=0&&p>t||v>=y&&p<t)&&m.preventDefault(),t=p)},r=m=>{let p=m.target;Cs(p)&&p!==document.activeElement&&(m.preventDefault(),p.style.transform="translateY(-2000px)",p.focus(),requestAnimationFrame(()=>{p.style.transform=""}))},o=m=>{let p=m.target;Cs(p)&&(p.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{p.style.transform="",is&&(is.height<window.innerHeight?requestAnimationFrame(()=>{ia(p)}):is.addEventListener("resize",()=>ia(p),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},c=window.pageXOffset,d=window.pageYOffset,h=aa(Wp(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let f=aa(Wt(document,"touchstart",n,{passive:!1,capture:!0}),Wt(document,"touchmove",s,{passive:!1,capture:!0}),Wt(document,"touchend",r,{passive:!1,capture:!0}),Wt(document,"focus",o,!0),Wt(window,"scroll",i));return()=>{h(),f(),window.scrollTo(c,d)}}function Wp(e,t,n){let s=e.style[t];return e.style[t]=n,()=>{e.style[t]=s}}function Wt(e,t,n,s){return e.addEventListener(t,n,s),()=>{e.removeEventListener(t,n,s)}}function ia(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=ri(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+zp;o>i&&(n.scrollTop+=r-s)}e=n.parentElement}}function Cs(e){return e instanceof HTMLInputElement&&!Up.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function qp(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Vp(...e){return t=>e.forEach(n=>qp(n,t))}function ai(...e){return l.useCallback(Vp(...e),e)}const oi=new WeakMap;function Se(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&&oi.set(e,s)}function Qp(e,t){if(!e||!(e instanceof HTMLElement))return;let n=oi.get(e);n&&(e.style[t]=n[t])}const be=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function wn(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(", ")[be(t)?13:12]):(r=s.match(/^matrix\((.+)\)$/),r?parseFloat(r[1].split(", ")[be(t)?5:4]):null)}function Gp(e){return 8*(Math.log(e+1)-2)}function cs(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}function Yp(...e){return(...t)=>{for(const n of e)typeof n=="function"&&n(...t)}}const ue={DURATION:.5,EASE:[.32,.72,0,1]},ii=.4,Xp=.25,Jp=100,li=8,ht=16,Es=26,us="vaul-dragging";function ci(e){const t=$.useRef(e);return $.useEffect(()=>{t.current=e}),$.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function Zp({defaultProp:e,onChange:t}){const n=$.useState(e),[s]=n,r=$.useRef(s),o=ci(t);return $.useEffect(()=>{r.current!==s&&(o(s),r.current=s)},[s,r,o]),n}function ui({prop:e,defaultProp:t,onChange:n=()=>{}}){const[s,r]=Zp({defaultProp:t,onChange:n}),o=e!==void 0,i=o?e:s,c=ci(n),d=$.useCallback(h=>{if(o){const m=typeof h=="function"?h(e):h;m!==e&&c(m)}else r(h)},[o,e,r,c]);return[i,d]}function eh({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:s,overlayRef:r,fadeFromIndex:o,onSnapPointChange:i,direction:c="bottom",container:d,snapToSequentialPoint:h}){const[f,m]=ui({prop:e,defaultProp:n?.[0],onChange:t}),[p,v]=$.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);$.useEffect(()=>{function T(){v({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",T),()=>window.removeEventListener("resize",T)},[]);const y=$.useMemo(()=>f===n?.[n.length-1]||null,[n,f]),u=$.useMemo(()=>{var T;return(T=n?.findIndex(R=>R===f))!=null?T:null},[n,f]),g=n&&n.length>0&&(o||o===0)&&!Number.isNaN(o)&&n[o]===f||!n,x=$.useMemo(()=>{const T=d?{width:d.getBoundingClientRect().width,height:d.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var R;return(R=n?.map(M=>{const F=typeof M=="string";let A=0;if(F&&(A=parseInt(M,10)),be(c)){const I=F?A:p?M*T.height:0;return p?c==="bottom"?T.height-I:-T.height+I:I}const _=F?A:p?M*T.width:0;return p?c==="right"?T.width-_:-T.width+_:_}))!=null?R:[]},[n,p,d]),k=$.useMemo(()=>u!==null?x?.[u]:null,[x,u]),b=$.useCallback(T=>{var R;const M=(R=x?.findIndex(F=>F===T))!=null?R:null;i(M),Se(s.current,{transition:`transform ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`,transform:be(c)?`translate3d(0, ${T}px, 0)`:`translate3d(${T}px, 0, 0)`}),x&&M!==x.length-1&&o!==void 0&&M!==o&&M<o?Se(r.current,{transition:`opacity ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`,opacity:"0"}):Se(r.current,{transition:`opacity ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`,opacity:"1"}),m(n?.[Math.max(M,0)])},[s.current,n,x,o,r,m]);$.useEffect(()=>{if(f||e){var T;const R=(T=n?.findIndex(M=>M===e||M===f))!=null?T:-1;x&&R!==-1&&typeof x[R]=="number"&&b(x[R])}},[f,e,n,x,b]);function w({draggedDistance:T,closeDrawer:R,velocity:M,dismissible:F}){if(o===void 0)return;const A=c==="bottom"||c==="right"?(k??0)-T:(k??0)+T,_=u===o-1,I=u===0,S=T>0;if(_&&Se(r.current,{transition:`opacity ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`}),!h&&M>2&&!S){F?R():b(x[0]);return}if(!h&&M>2&&S&&x&&n){b(x[n.length-1]);return}const D=x?.reduce((C,P)=>typeof C!="number"||typeof P!="number"?C:Math.abs(P-A)<Math.abs(C-A)?P:C),O=be(c)?window.innerHeight:window.innerWidth;if(M>ii&&Math.abs(T)<O*.4){const C=S?1:-1;if(C>0&&y&&n){b(x[n.length-1]);return}if(I&&C<0&&F&&R(),u===null)return;b(x[u+C]);return}b(D)}function E({draggedDistance:T}){if(k===null)return;const R=c==="bottom"||c==="right"?k-T:k+T;(c==="bottom"||c==="right")&&R<x[x.length-1]||(c==="top"||c==="left")&&R>x[x.length-1]||Se(s.current,{transform:be(c)?`translate3d(0, ${R}px, 0)`:`translate3d(${R}px, 0, 0)`})}function j(T,R){if(!n||typeof u!="number"||!x||o===void 0)return null;const M=u===o-1;if(u>=o&&R)return 0;if(M&&!R)return 1;if(!g&&!M)return null;const A=M?u+1:u-1,_=M?x[A]-x[A-1]:x[A+1]-x[A],I=T/Math.abs(_);return M?1-I:I}return{isLastSnapPoint:y,activeSnapPoint:f,shouldFade:g,getPercentageDragged:j,setActiveSnapPoint:m,activeSnapPointIndex:u,onRelease:w,onDrag:E,snapPointsOffset:x}}const th=()=>()=>{};function nh(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:s,noBodyStyles:r}=an(),o=$.useRef(null),i=l.useMemo(()=>document.body.style.backgroundColor,[]);function c(){return(window.innerWidth-Es)/window.innerWidth}$.useEffect(()=>{if(t&&n){o.current&&clearTimeout(o.current);const d=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!d)return;Yp(s&&!r?cs(document.body,{background:"black"}):th,cs(d,{transformOrigin:be(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${ue.DURATION}s`,transitionTimingFunction:`cubic-bezier(${ue.EASE.join(",")})`}));const h=cs(d,{borderRadius:`${li}px`,overflow:"hidden",...be(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")},ue.DURATION*1e3)}}},[t,n,i])}let qt=null;function sh({isOpen:e,modal:t,nested:n,hasBeenOpened:s,preventScrollRestoration:r,noBodyStyles:o}){const[i,c]=$.useState(()=>typeof window<"u"?window.location.href:""),d=$.useRef(0),h=$.useCallback(()=>{if(ra()&&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:m,innerHeight:p}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-d.current}px`,left:`${-m}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const v=p-window.innerHeight;v&&d.current>=p&&(document.body.style.top=`${-(d.current+v)}px`)}),300)}},[e]),f=$.useCallback(()=>{if(ra()&&qt!==null&&!o){const m=-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,m)}),qt=null}},[i]);return $.useEffect(()=>{function m(){d.current=window.scrollY}return m(),window.addEventListener("scroll",m),()=>{window.removeEventListener("scroll",m)}},[]),$.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||f()}},[t,f]),$.useEffect(()=>{n||!s||(e?(!window.matchMedia("(display-mode: standalone)").matches&&h(),t||window.setTimeout(()=>{f()},500)):f())},[e,s,i,t,n,h,f]),{restorePositionSetting:f}}function rh({open:e,onOpenChange:t,children:n,onDrag:s,onRelease:r,snapPoints:o,shouldScaleBackground:i=!1,setBackgroundColorOnScale:c=!0,closeThreshold:d=Xp,scrollLockTimeout:h=Jp,dismissible:f=!0,handleOnly:m=!1,fadeFromIndex:p=o&&o.length-1,activeSnapPoint:v,setActiveSnapPoint:y,fixed:u,modal:g=!0,onClose:x,nested:k,noBodyStyles:b=!1,direction:w="bottom",defaultOpen:E=!1,disablePreventScroll:j=!0,snapToSequentialPoint:T=!1,preventScrollRestoration:R=!1,repositionInputs:M=!0,onAnimationEnd:F,container:A,autoFocus:_=!1}){var I,S;const[D=!1,O]=ui({defaultProp:E,prop:e,onChange:z=>{t?.(z),!z&&!k&&Ue(),setTimeout(()=>{F?.(z)},ue.DURATION*1e3),z&&!g&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),z||(document.body.style.pointerEvents="auto")}}),[C,P]=$.useState(!1),[N,K]=$.useState(!1),[G,le]=$.useState(!1),J=$.useRef(null),se=$.useRef(null),oe=$.useRef(null),de=$.useRef(null),ce=$.useRef(null),X=$.useRef(!1),ee=$.useRef(null),ve=$.useRef(0),xe=$.useRef(!1),Ee=$.useRef(!E),je=$.useRef(0),H=$.useRef(null),Te=$.useRef(((I=H.current)==null?void 0:I.getBoundingClientRect().height)||0),ke=$.useRef(((S=H.current)==null?void 0:S.getBoundingClientRect().width)||0),Re=$.useRef(0),Be=$.useCallback(z=>{o&&z===V.length-1&&(se.current=new Date)},[]),{activeSnapPoint:De,activeSnapPointIndex:Y,setActiveSnapPoint:te,onRelease:ye,snapPointsOffset:V,onDrag:qe,shouldFade:we,getPercentageDragged:Fe}=eh({snapPoints:o,activeSnapPointProp:v,setActiveSnapPointProp:y,drawerRef:H,fadeFromIndex:p,overlayRef:J,onSnapPointChange:Be,direction:w,container:A,snapToSequentialPoint:T});Hp({isDisabled:!D||N||!g||G||!C||!M||!j});const{restorePositionSetting:Ue}=sh({isOpen:D,modal:g,nested:k??!1,hasBeenOpened:C,preventScrollRestoration:R,noBodyStyles:b});function Pe(){return(window.innerWidth-Es)/window.innerWidth}function he(z){var W,U;!f&&!o||H.current&&!H.current.contains(z.target)||(Te.current=((W=H.current)==null?void 0:W.getBoundingClientRect().height)||0,ke.current=((U=H.current)==null?void 0:U.getBoundingClientRect().width)||0,K(!0),oe.current=new Date,si()&&window.addEventListener("touchend",()=>X.current=!1,{once:!0}),z.target.setPointerCapture(z.pointerId),ve.current=be(w)?z.pageY:z.pageX)}function ae(z,W){var U;let Q=z;const re=(U=window.getSelection())==null?void 0:U.toString(),fe=H.current?wn(H.current,w):null,ge=new Date;if(Q.tagName==="SELECT"||Q.hasAttribute("data-vaul-no-drag")||Q.closest("[data-vaul-no-drag]"))return!1;if(w==="right"||w==="left")return!0;if(se.current&&ge.getTime()-se.current.getTime()<500)return!1;if(fe!==null&&(w==="bottom"?fe>0:fe<0))return!0;if(re&&re.length>0)return!1;if(ce.current&&ge.getTime()-ce.current.getTime()<h&&fe===0||W)return ce.current=ge,!1;for(;Q;){if(Q.scrollHeight>Q.clientHeight){if(Q.scrollTop!==0)return ce.current=new Date,!1;if(Q.getAttribute("role")==="dialog")return!0}Q=Q.parentNode}return!0}function Ne(z){if(H.current&&N){const W=w==="bottom"||w==="right"?1:-1,U=(ve.current-(be(w)?z.pageY:z.pageX))*W,Q=U>0,re=o&&!f&&!Q;if(re&&Y===0)return;const fe=Math.abs(U),ge=document.querySelector("[data-vaul-drawer-wrapper]"),me=w==="bottom"||w==="top"?Te.current:ke.current;let Le=fe/me;const ze=Fe(fe,Q);if(ze!==null&&(Le=ze),re&&Le>=1||!X.current&&!ae(z.target,Q))return;if(H.current.classList.add(us),X.current=!0,Se(H.current,{transition:"none"}),Se(J.current,{transition:"none"}),o&&qe({draggedDistance:U}),Q&&!o){const $e=Gp(U),ft=Math.min($e*-1,0)*W;Se(H.current,{transform:be(w)?`translate3d(0, ${ft}px, 0)`:`translate3d(${ft}px, 0, 0)`});return}const Ge=1-Le;if((we||p&&Y===p-1)&&(s?.(z,Le),Se(J.current,{opacity:`${Ge}`,transition:"none"},!0)),ge&&J.current&&i){const $e=Math.min(Pe()+Le*(1-Pe()),1),ft=8-Le*8,Ft=Math.max(0,14-Le*14);Se(ge,{borderRadius:`${ft}px`,transform:be(w)?`scale(${$e}) translate3d(0, ${Ft}px, 0)`:`scale(${$e}) translate3d(${Ft}px, 0, 0)`,transition:"none"},!0)}if(!o){const $e=fe*W;Se(H.current,{transform:be(w)?`translate3d(0, ${$e}px, 0)`:`translate3d(${$e}px, 0, 0)`})}}}$.useEffect(()=>{window.requestAnimationFrame(()=>{Ee.current=!0})},[]),$.useEffect(()=>{var z;function W(){if(!H.current||!M)return;const U=document.activeElement;if(Cs(U)||xe.current){var Q;const re=((Q=window.visualViewport)==null?void 0:Q.height)||0,fe=window.innerHeight;let ge=fe-re;const me=H.current.getBoundingClientRect().height||0,Le=me>fe*.8;Re.current||(Re.current=me);const ze=H.current.getBoundingClientRect().top;if(Math.abs(je.current-ge)>60&&(xe.current=!xe.current),o&&o.length>0&&V&&Y){const Ge=V[Y]||0;ge+=Ge}if(je.current=ge,me>re||xe.current){const Ge=H.current.getBoundingClientRect().height;let $e=Ge;Ge>re&&($e=re-(Le?ze:Es)),u?H.current.style.height=`${Ge-Math.max(ge,0)}px`:H.current.style.height=`${Math.max($e,re-ze)}px`}else Op()||(H.current.style.height=`${Re.current}px`);o&&o.length>0&&!xe.current?H.current.style.bottom="0px":H.current.style.bottom=`${Math.max(ge,0)}px`}}return(z=window.visualViewport)==null||z.addEventListener("resize",W),()=>{var U;return(U=window.visualViewport)==null?void 0:U.removeEventListener("resize",W)}},[Y,o,V]);function Ve(z){Je(),x?.(),z||O(!1),setTimeout(()=>{o&&te(o[0])},ue.DURATION*1e3)}function Oe(){if(!H.current)return;const z=document.querySelector("[data-vaul-drawer-wrapper]"),W=wn(H.current,w);Se(H.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`}),Se(J.current,{transition:`opacity ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`,opacity:"1"}),i&&W&&W>0&&D&&Se(z,{borderRadius:`${li}px`,overflow:"hidden",...be(w)?{transform:`scale(${Pe()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${Pe()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${ue.DURATION}s`,transitionTimingFunction:`cubic-bezier(${ue.EASE.join(",")})`},!0)}function Je(){!N||!H.current||(H.current.classList.remove(us),X.current=!1,K(!1),de.current=new Date)}function _e(z){if(!N||!H.current)return;H.current.classList.remove(us),X.current=!1,K(!1),de.current=new Date;const W=wn(H.current,w);if(!z||!ae(z.target,!1)||!W||Number.isNaN(W)||oe.current===null)return;const U=de.current.getTime()-oe.current.getTime(),Q=ve.current-(be(w)?z.pageY:z.pageX),re=Math.abs(Q)/U;if(re>.05&&(le(!0),setTimeout(()=>{le(!1)},200)),o){ye({draggedDistance:Q*(w==="bottom"||w==="right"?1:-1),closeDrawer:Ve,velocity:re,dismissible:f}),r?.(z,!0);return}if(w==="bottom"||w==="right"?Q>0:Q<0){Oe(),r?.(z,!0);return}if(re>ii){Ve(),r?.(z,!1);return}var fe;const ge=Math.min((fe=H.current.getBoundingClientRect().height)!=null?fe:0,window.innerHeight);var me;const Le=Math.min((me=H.current.getBoundingClientRect().width)!=null?me:0,window.innerWidth),ze=w==="left"||w==="right";if(Math.abs(W)>=(ze?Le:ge)*d){Ve(),r?.(z,!1);return}r?.(z,!0),Oe()}$.useEffect(()=>(D&&(Se(document.documentElement,{scrollBehavior:"auto"}),se.current=new Date),()=>{Qp(document.documentElement,"scrollBehavior")}),[D]);function Qe(z){const W=z?(window.innerWidth-ht)/window.innerWidth:1,U=z?-ht:0;ee.current&&window.clearTimeout(ee.current),Se(H.current,{transition:`transform ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`,transform:be(w)?`scale(${W}) translate3d(0, ${U}px, 0)`:`scale(${W}) translate3d(${U}px, 0, 0)`}),!z&&H.current&&(ee.current=setTimeout(()=>{const Q=wn(H.current,w);Se(H.current,{transition:"none",transform:be(w)?`translate3d(0, ${Q}px, 0)`:`translate3d(${Q}px, 0, 0)`})},500))}function He(z,W){if(W<0)return;const U=(window.innerWidth-ht)/window.innerWidth,Q=U+W*(1-U),re=-ht+W*ht;Se(H.current,{transform:be(w)?`scale(${Q}) translate3d(0, ${re}px, 0)`:`scale(${Q}) translate3d(${re}px, 0, 0)`,transition:"none"})}function Z(z,W){const U=be(w)?window.innerHeight:window.innerWidth,Q=W?(U-ht)/U:1,re=W?-ht:0;W&&Se(H.current,{transition:`transform ${ue.DURATION}s cubic-bezier(${ue.EASE.join(",")})`,transform:be(w)?`scale(${Q}) translate3d(0, ${re}px, 0)`:`scale(${Q}) translate3d(${re}px, 0, 0)`})}return $.useEffect(()=>{g||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[g]),$.createElement(Wo,{defaultOpen:E,onOpenChange:z=>{!f&&!z||(z?P(!0):Ve(!0),O(z))},open:D},$.createElement(ni.Provider,{value:{activeSnapPoint:De,snapPoints:o,setActiveSnapPoint:te,drawerRef:H,overlayRef:J,onOpenChange:t,onPress:he,onRelease:_e,onDrag:Ne,dismissible:f,shouldAnimate:Ee,handleOnly:m,isOpen:D,isDragging:N,shouldFade:we,closeDrawer:Ve,onNestedDrag:He,onNestedOpenChange:Qe,onNestedRelease:Z,keyboardIsOpen:xe,modal:g,snapPointsOffset:V,activeSnapPointIndex:Y,direction:w,shouldScaleBackground:i,setBackgroundColorOnScale:c,noBodyStyles:b,container:A,autoFocus:_}},n))}const di=$.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:s,onRelease:r,shouldFade:o,isOpen:i,modal:c,shouldAnimate:d}=an(),h=ai(t,n),f=s&&s.length>0;if(!c)return null;const m=$.useCallback(p=>r(p),[r]);return $.createElement(Go,{onMouseUp:m,ref:h,"data-vaul-overlay":"","data-vaul-snap-points":i&&f?"true":"false","data-vaul-snap-points-overlay":i&&o?"true":"false","data-vaul-animate":d?.current?"true":"false",...e})});di.displayName="Drawer.Overlay";const fi=$.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...s},r){const{drawerRef:o,onPress:i,onRelease:c,onDrag:d,keyboardIsOpen:h,snapPointsOffset:f,activeSnapPointIndex:m,modal:p,isOpen:v,direction:y,snapPoints:u,container:g,handleOnly:x,shouldAnimate:k,autoFocus:b}=an(),[w,E]=$.useState(!1),j=ai(r,o),T=$.useRef(null),R=$.useRef(null),M=$.useRef(!1),F=u&&u.length>0;nh();const A=(I,S,D=0)=>{if(M.current)return!0;const O=Math.abs(I.y),C=Math.abs(I.x),P=C>O,N=["bottom","right"].includes(S)?1:-1;if(S==="left"||S==="right"){if(!(I.x*N<0)&&C>=0&&C<=D)return P}else if(!(I.y*N<0)&&O>=0&&O<=D)return!P;return M.current=!0,!0};$.useEffect(()=>{F&&window.requestAnimationFrame(()=>{E(!0)})},[]);function _(I){T.current=null,M.current=!1,c(I)}return $.createElement(Yo,{"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:f&&f.length>0?{"--snap-point-height":`${f[m??0]}px`,...t}:t,onPointerDown:I=>{x||(s.onPointerDown==null||s.onPointerDown.call(s,I),T.current={x:I.pageX,y:I.pageY},i(I))},onOpenAutoFocus:I=>{n?.(I),b||I.preventDefault()},onPointerDownOutside:I=>{if(e?.(I),!p||I.defaultPrevented){I.preventDefault();return}h.current&&(h.current=!1)},onFocusOutside:I=>{if(!p){I.preventDefault();return}},onPointerMove:I=>{if(R.current=I,x||(s.onPointerMove==null||s.onPointerMove.call(s,I),!T.current))return;const S=I.pageY-T.current.y,D=I.pageX-T.current.x,O=I.pointerType==="touch"?10:2;A({x:D,y:S},y,O)?d(I):(Math.abs(D)>O||Math.abs(S)>O)&&(T.current=null)},onPointerUp:I=>{s.onPointerUp==null||s.onPointerUp.call(s,I),T.current=null,M.current=!1,c(I)},onPointerOut:I=>{s.onPointerOut==null||s.onPointerOut.call(s,I),_(R.current)},onContextMenu:I=>{s.onContextMenu==null||s.onContextMenu.call(s,I),R.current&&_(R.current)}})});fi.displayName="Drawer.Content";const ah=250,oh=120,mi=$.forwardRef(function({preventCycle:e=!1,children:t,...n},s){const{closeDrawer:r,isDragging:o,snapPoints:i,activeSnapPoint:c,setActiveSnapPoint:d,dismissible:h,handleOnly:f,isOpen:m,onPress:p,onDrag:v}=an(),y=$.useRef(null),u=$.useRef(!1);function g(){if(u.current){b();return}window.setTimeout(()=>{x()},oh)}function x(){if(o||e||u.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(T=>T===c);if(E===-1)return;const j=i[E+1];d(j)}function k(){y.current=window.setTimeout(()=>{u.current=!0},ah)}function b(){y.current&&window.clearTimeout(y.current),u.current=!1}return $.createElement("div",{onClick:g,onPointerCancel:b,onPointerDown:w=>{f&&p(w),k()},onPointerMove:w=>{f&&v(w)},ref:s,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},$.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});mi.displayName="Drawer.Handle";function ih(e){const t=an(),{container:n=t.container,...s}=e;return $.createElement(Qo,{container:n,...s})}const jt={Root:rh,Content:fi,Overlay:di,Portal:ih,Handle:mi,Title:Zo},bv=({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 m=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",h),document.body.style.overflow=m,c.current?.focus()}},[e,t]),!e)return null;const d=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",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:q("safe-area-frame absolute top-0 bottom-0 bg-canvas border-line shadow-xl flex flex-col",o,d),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(en,{className:"size-5"})})}),a.jsx("div",{className:"flex-1 overflow-y-auto",children:n})]})]})},lh=({mode:e,account:t,sourceMessage:n,onClose:s})=>a.jsx("div",{className:"border-b border-line bg-canvas",children:a.jsx(Ep,{layout:"flow",mode:e,account:t,sourceMessage:n,onClose:s})}),pi=({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})]}),hi=e=>{const{data:t,isLoading:n}=pe({...Pt(),staleTime:1/0}),s=l.useMemo(()=>(t?.accounts??[]).map(c=>c.accountId),[t?.accounts]),r=$s({queries:s.map(c=>({...nn({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(f=>f.mailboxId===e))return s[c]}},[e,s,r]),isLoading:o}},ch=100,Ns=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},gi=async(e,t,n,s)=>{const r=uh(e),o=e.length;let i=0;const c=[];for(let d=0;d<r.length;d++){if(s())return c.push(...r.slice(d).flat()),{done:i,failedIds:c,cancelled:!0};const h=r[d],f=await Ns(t(h));if(!f.ok)return c.push(...r.slice(d).flat()),n({done:i,total:o}),{done:i,failedIds:c,cancelled:!1,error:f.error};i+=h.length,n({done:i,total:o})}return{done:i,failedIds:c,cancelled:!1}},Zt=async(e,t)=>{await gi(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 d=await Ns(e(c));if(!d.ok)return{done:o,failedIds:i,cancelled:!1,error:d.error};const h=d.value;if(h.ids.length>0){const f=await Ns(n(h.ids));if(!f.ok)return{done:o,failedIds:i,cancelled:!1,error:f.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)}),bi=e=>typeof e=="object"&&e!==null&&Array.isArray(e.pages),vi=e=>typeof e=="object"&&e!==null&&Array.isArray(e.items),xi=(e,t)=>e===void 0?e:bi(e)?{...e,pages:e.pages.map(n=>({...n,items:t(n.items)}))}:vi(e)?{...e,items:t(e.items)}:e,tt=e=>{const t=[];for(const n of new Set(e))t.push(Pa({path:{mailboxId:n}})),t.push(La({path:{mailboxId:n}}));return t.push(Oa()),t},on=(e,t)=>Promise.all(t.map(n=>e.cancelQueries({queryKey:n}))),ln=(e,t)=>t.flatMap(n=>e.getQueriesData({queryKey:n})).filter(n=>n[1]!==void 0).map(([n,s])=>({queryKey:n,data:s})),cn=(e,t,n)=>{const s=r=>xi(r,n);for(const r of t)e.setQueriesData({queryKey:r},s)},un=(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)},Js=(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]},Tn=(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=Ae(),{pushError:i}=Xe(),c=l.useRef(new Set),d=l.useRef(new Set),{mutate:h}=Ie({...Mn(),onMutate:async p=>{const v=new Set(p.body.messageIds??[]),y=p.body.isRead??!0,u=ut({path:{threadId:n}}),g=tt(Js(v,e,s));await Promise.all([o.cancelQueries({queryKey:u}),on(o,g)]);const x=o.getQueriesData({queryKey:u}).filter(b=>b[1]!==void 0).map(([b,w])=>({queryKey:b,data:w})),k=ln(o,g);return o.setQueriesData({queryKey:u},b=>b&&{...b,items:Tn(b.items,v,y)}),cn(o,g,b=>Tn(b,v,y)),{threadMessagesPrefix:u,listPrefixes:g,previousThreadMessages:x,previousThreadsList:k}},onSuccess:(p,v)=>{const y=v.body.messageIds??[];for(const u of y)c.current.add(u),d.current.delete(u)},onError:(p,v,y)=>{const u=v.body.messageIds??[];for(const x of u)d.current.delete(x);if(y){for(const x of y.previousThreadMessages)o.setQueryData(x.queryKey,x.data);un(o,y.previousThreadsList)}const g=v.body.isRead??!0;i({title:g?"Couldn't mark as read":"Couldn't mark as unread",detail:Ke(p),error:p})},onSettled:(p,v,y,u)=>{u&&(o.invalidateQueries({queryKey:u.threadMessagesPrefix}),nt(o,u.listPrefixes),r&&o.invalidateQueries({queryKey:Lt({path:{accountId:r}})}))}}),f=l.useCallback(p=>{const v=p.filter(y=>!c.current.has(y)&&!d.current.has(y));if(v.length!==0){for(const y of v)d.current.add(y);h({body:{messageIds:v,isRead:!0}})}},[h]),m=l.useMemo(()=>hh(e,t,c.current,d.current),[e,t]);l.useEffect(()=>ph(m,mh,f),[m,f]),l.useEffect(()=>{c.current.clear(),d.current.clear()},[n])},vv=e=>{const{mailboxId:t,accountId:n,messages:s}=e,r=Ae(),{pushError:o}=Xe(),{mutateAsync:i,isPending:c}=Ie({...Mn(),onError:(h,f)=>{const m=f.body.isRead??!0;o({title:m?"Couldn't mark as read":"Couldn't mark as unread",detail:Ke(h),error:h})},onSettled:(h,f,m)=>{nt(r,tt(Js(m.body.messageIds??[],s??[],t))),n&&r.invalidateQueries({queryKey:Lt({path:{accountId:n}})})}});return{toggleReadFor:l.useCallback((h,f)=>{h.length!==0&&Zt(h,m=>i({body:{messageIds:m,isRead:f}}))},[i]),isPending:c}},bh=60,vh=1.5,xh=(e,t,n)=>{const s=Math.abs(e),r=Math.abs(t);return s<n?{direction:null}:s<r*vh?{direction:null}:{direction:e<0?"left":"right"}},yh=({onSwipeLeft:e,onSwipeRight:t,thresholdPx:n=bh})=>{const s=l.useRef(null),r=l.useCallback(d=>{if(d.pointerType==="mouse"){s.current=null;return}s.current={x:d.clientX,y:d.clientY}},[]),o=l.useCallback(()=>{},[]),i=l.useCallback(d=>{const h=s.current;if(s.current=null,!h)return;const{direction:f}=xh(d.clientX-h.x,d.clientY-h.y,n);f==="left"&&e?.(),f==="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,la=(e,t,n)=>e.map(s=>s.messageId===t?{...s,hasStars:n}:s),yi=({threadId:e,mailboxId:t,messages:n})=>{const s=Ae(),{pushError:r}=Xe(),{mutate:o,isPending:i,variables:c}=Ie({...wl(),onMutate:async h=>{const f=h.path.messageId,m=h.body.isStarred??!1,p=ut({path:{threadId:e}}),v=tt([wh(f,n,t)]);await Promise.all([s.cancelQueries({queryKey:p}),on(s,v)]);const y=s.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,x])=>({queryKey:g,data:x})),u=ln(s,v);return s.setQueriesData({queryKey:p},g=>xi(g,x=>la(x,f,m))),cn(s,v,g=>la(g,f,m)),{threadMessagesPrefix:p,listPrefixes:v,previousThreadMessages:y,previousThreadsList:u}},onError:(h,f,m)=>{if(m){for(const v of m.previousThreadMessages)s.setQueryData(v.queryKey,v.data);un(s,m.previousThreadsList)}const p=f.body.isStarred??!1;r({title:p?"Couldn't star message":"Couldn't unstar message",detail:Ke(h),error:h})},onSettled:(h,f,m,p)=>{p&&(s.invalidateQueries({queryKey:p.threadMessagesPrefix}),nt(s,p.listPrefixes))}});return{toggleStar:(h,f)=>{o({path:{messageId:h},body:{isStarred:!f}})},isPending:i,pendingMessageId:i?c?.path.messageId:void 0}};function ca({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:"font-medium text-danger hover:underline",children:"Why?"})]})]}):null}function wi(e){return e===void 0?"uncategorized":e}const Sh={inbox:"Inbox",junk:"Junk"},Zs=e=>e.destinationMailboxId!==void 0,kh=(e,t)=>{if(Zs(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===dr.MoveToInbox)return t.inboxMailboxId;if(e===dr.MoveToJunk)return t.junkMailboxId},Eh=(e,t,n)=>{if(!e||!t)return!1;const s=Zs(e)?e.destinationMailboxId:Ch(e.action,n);return s!==void 0&&s===t},Nh="Reported as spam",jh=(e,t)=>{if(e){if(Zs(e))return e.fromMailboxId;if(e.fromPlacement==="inbox")return t.inboxMailboxId;if(e.fromPlacement==="junk")return t.junkMailboxId}},Un=(e,t)=>{const{data:n,isLoading:s}=pe({...Pt(),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}},xv=e=>{const{mailboxId:t,isLoading:n}=Un(e,"Archive");return{archiveMailboxId:t,isLoading:n}},yv=e=>{const{mailboxId:t,isLoading:n}=Un(e,"Drafts");return{draftsMailboxId:t,isLoading:n}},Th=e=>{const{mailboxId:t,isLoading:n}=Un(e,"Inbox");return{inboxMailboxId:t,isLoading:n}},Si=e=>{const{mailboxId:t,isLoading:n}=Un(e,"Junk");return{junkMailboxId:t,isLoading:n}},ki=e=>{const{data:t}=pe({...Pt(),staleTime:1/0,enabled:!!e});return l.useMemo(()=>t?.accounts.find(n=>n.accountId===e)?.folderAppointments??[],[t,e])},ua=(e,t)=>e.filter(n=>!t.has(n.messageId)),Hn=({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:s})=>{const r=Ae(),{pushError:o}=Xe(),{mutateAsync:i,isPending:c,isError:d}=Ie({...Sl(),onMutate:async f=>{const m=new Set(f.body.messageIds??[]),p=t?ut({path:{threadId:t}}):[],v=tt([e,f.body.destinationMailboxId]);await Promise.all([...t?[r.cancelQueries({queryKey:p})]:[],on(r,v)]);const y=t?r.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,x])=>({queryKey:g,data:x})):[],u=ln(r,v);return t&&r.setQueriesData({queryKey:p},g=>g&&{...g,items:ua(g.items,m)}),cn(r,v,g=>ua(g,m)),s?.(Array.from(m)),{threadMessagesPrefix:p,listPrefixes:v,previousThreadMessages:y,previousThreadsList:u}},onError:(f,m,p)=>{if(p){for(const y of p.previousThreadMessages)r.setQueryData(y.queryKey,y.data);un(r,p.previousThreadsList)}const v=m.body.messageIds?.length??0;o({title:v>1?`Couldn't move ${v} messages`:"Couldn't move this message",detail:Ke(f),error:f})},onSettled:(f,m,p,v)=>{v&&(t&&r.invalidateQueries({queryKey:v.threadMessagesPrefix}),nt(r,v.listPrefixes),n&&r.invalidateQueries({queryKey:Lt({path:{accountId:n}})}))}});return{moveMessages:l.useCallback((f,m)=>{f.length!==0&&Zt(f,p=>i({body:{messageIds:p,destinationMailboxId:m}}))},[i]),isPending:c,isError:d}},Rh="This message could not be processed. Please try again.",Ih=(e,t)=>e.replace(`Message ${t}'s`,"This message's"),da=e=>{if(e.failureCount===0)return;const t=e.failures?.[0],n=t?.reason??Rh,s=t?Ih(n,t.messageId):n;throw new El(s,422)};function Ci({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:s}){const r=Ae(),{pushError:o}=Xe(),i=tt([e]),c=t?ut({path:{threadId:t}}):[],d=()=>{t&&r.invalidateQueries({queryKey:c}),nt(r,i),n&&r.invalidateQueries({queryKey:Lt({path:{accountId:n}})})},h=()=>(u,g)=>{d(),s?.(g.body.messageIds)},f=u=>(g,x)=>{o({title:u(x.body.messageIds.length),detail:Ke(g),error:g})},m=Ie({mutationFn:async u=>{const{data:g}=await kl({...u,throwOnError:!0});return da(g),g},meta:{softError:!0},onSuccess:h(),onError:f(u=>u>1?`Couldn't report ${u} messages as spam`:"Couldn't report this message as spam")}),p=Ie({mutationFn:async u=>{const{data:g}=await Cl({...u,throwOnError:!0});return da(g),g},meta:{softError:!0},onSuccess:h(),onError:f(u=>u>1?`Couldn't undo the spam report for ${u} messages`:"Couldn't undo the spam report")}),v=l.useCallback(u=>{u.length!==0&&Zt(u,g=>m.mutateAsync({body:{messageIds:g}}))},[m.mutateAsync]),y=l.useCallback(u=>{u.length!==0&&Zt(u,g=>p.mutateAsync({body:{messageIds:g}}))},[p.mutateAsync]);return{reportSpam:v,notSpam:y,isReporting:m.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}=Si(e),{moveMessages:d,isPending:h}=Hn({mailboxId:s,threadId:n,accountId:e}),{notSpam:f,isRestoring:m}=Ci({mailboxId:s,threadId:n,accountId:e}),{data:p}=pe({...nn({path:{accountId:e??""}}),staleTime:1/0,enabled:!!e&&r?.fromMailboxId!==void 0}),v={inboxMailboxId:i,junkMailboxId:c},y=jh(r,v),u=l.useCallback(()=>{y&&d([t],y)},[d,t,y]),g=l.useCallback(()=>{f([t])},[f,t]);if(o)return{show:!0,label:Nh,onUndo:g,isUndoing:m};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=>Nl(b.fullPath))[0]:void 0;return{show:!0,label:kh(r,k),onUndo:y?u: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(wd,{label:i.label,onUndo:i.onUndo,undoLabel:i.isUndoing?"Undoing…":"Undo",filtersHref:i.filtersHref}):null}const fa=(e,t)=>e.filter(n=>!t.has(n.messageId)),wv=e=>e.filter(t=>t.isDeleted!==!0),er=({mailboxId:e,threadId:t,accountId:n,messages:s,onAfterOptimisticRemove:r})=>{const o=Ae(),{pushError:i}=Xe(),{mutateAsync:c,isPending:d}=Ie({...jl(),onMutate:async f=>{const m=new Set(f.body.messageIds??[]),p=t?ut({path:{threadId:t}}):[],v=tt(Js(m,s??[],e));await Promise.all([o.cancelQueries({queryKey:p}),on(o,v)]);const y=t?o.getQueriesData({queryKey:p}).filter(g=>g[1]!==void 0).map(([g,x])=>({queryKey:g,data:x})):[],u=ln(o,v);return t&&o.setQueriesData({queryKey:p},g=>g&&{...g,items:fa(g.items,m)}),cn(o,v,g=>fa(g,m)),r?.(Array.from(m)),{threadMessagesPrefix:p,listPrefixes:v,previousThreadMessages:y,previousThreadsList:u}},onError:(f,m,p)=>{if(p){for(const y of p.previousThreadMessages)o.setQueryData(y.queryKey,y.data);un(o,p.previousThreadsList)}const v=m.body.messageIds?.length??0;i({title:v>1?`Couldn't delete ${v} messages`:"Couldn't delete this message",detail:Ke(f),error:f})},onSettled:(f,m,p,v)=>{v&&(t&&o.invalidateQueries({queryKey:v.threadMessagesPrefix}),nt(o,v.listPrefixes),n&&o.invalidateQueries({queryKey:Lt({path:{accountId:n}})}))}});return{deleteMessages:l.useCallback(f=>{f.length!==0&&Zt(f,m=>c({body:{messageIds:m}}))},[c]),isPending:d}},Ei="inline-flex items-center justify-center transition-colors",Dh=q(Ei,"min-h-11 min-w-11 rounded hover:bg-surface-raised"),Ph=q(Ei,"min-h-11 gap-1.5 px-3 rounded text-sm font-medium hover:bg-surface-raised"),tr=({accountId:e,currentMailboxId:t,onMove:n,disabled:s=!1,disabledHint:r,variant:o="icon-only",label:i})=>{const[c,d]=l.useState(!1),[h,f]=l.useState(),m=Dn(),p=l.useRef(null),v=i??"Move to folder",y=l.useId(),{t:u}=Tl("mail",{useSuspense:!1}),g=qa(),{data:x,isLoading:k,isError:b,error:w,refetch:E}=pe({...nn({path:{accountId:e}}),staleTime:1/0,enabled:c}),j=ki(e),{createFolderIn:T}=Va(e),R=l.useMemo(()=>Qa({mailboxes:x?.items??[],folderAppointments:j,currentMailboxId:t,translator:g}),[x?.items,j,t,g]),M=Ga(x?.items??[]),F=R.find(C=>C.id===h),A=l.useCallback(()=>{d(!1),f(void 0)},[]),_=l.useCallback(()=>{F&&(A(),n(F.id))},[F,A,n]);l.useEffect(()=>{if(!c||!m)return;const C=N=>{p.current&&!p.current.contains(N.target)&&A()},P=N=>{N.key==="Escape"&&A()};return document.addEventListener("mousedown",C),document.addEventListener("keydown",P),()=>{document.removeEventListener("mousedown",C),document.removeEventListener("keydown",P)}},[c,m,A]);const I=s||!!r,S=a.jsxs("button",{type:"button",onClick:C=>{C.stopPropagation(),!I&&d(P=>!P)},"aria-label":v,"aria-haspopup":m?"tree":"dialog","aria-expanded":c,"aria-controls":c?y:void 0,title:r,className:o==="icon-only"?Dh:Ph,children:[a.jsx(Ds,{className:o==="icon-only"?"size-5":"size-4"}),o==="compact"&&a.jsx("span",{className:"hidden sm:inline",children:"Move"})]}),D=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(sn,{variant:"inline",title:"Couldn't load folders",error:w,onRetry:()=>E()})}):a.jsx(Rl,{folders:R,selectedId:h,delimiter:M,onSelect:f,onCreateFolder:T,onCancel:A,labels:{filterPlaceholder:u("move_picker_filter_placeholder",{defaultValue:"Filter folders…"}),filterAriaLabel:u("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:_,className:"h-11 w-full font-semibold",children:`Move to ${F.label}`})});return m?a.jsxs("div",{ref:p,className:"relative inline-block",children:[S,c&&a.jsxs("div",{id:y,className:q("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:[D,O]})]}):a.jsxs(a.Fragment,{children:[S,a.jsx(jt.Root,{open:c,onOpenChange:C=>C?d(!0):A(),children:a.jsxs(jt.Portal,{children:[a.jsx(jt.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),a.jsxs(jt.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(jt.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-subtle/30"}),a.jsx(jt.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:D}),O]})]})})]})},Lh=({messageId:e,threadId:t,mailboxId:n,isRead:s,accountId:r,fromAddressId:o,isTrusted:i=!1,showRaw:c=!1,onToggleRaw:d})=>{const h=Ae(),f=Os(),m=Ac(),{pushError:p}=Xe(),v=oc()?.messageId,{mutate:y,isPending:u}=Ie({...Mn(),onMutate:async O=>{const C=O.body.isRead??!0,P=new Set(O.body.messageIds??[]),N=ut({path:{threadId:t}}),K=tt([n]);await Promise.all([h.cancelQueries({queryKey:N}),on(h,K)]);const G=h.getQueriesData({queryKey:N}).filter(J=>J[1]!==void 0).map(([J,se])=>({queryKey:J,data:se})),le=ln(h,K);return h.setQueriesData({queryKey:N},J=>J&&{...J,items:Tn(J.items,P,C)}),cn(h,K,J=>Tn(J,P,C)),{threadMessagesPrefix:N,listPrefixes:K,previousThreadMessages:G,previousThreadsList:le}},onError:(O,C,P)=>{if(P){for(const K of P.previousThreadMessages)h.setQueryData(K.queryKey,K.data);un(h,P.previousThreadsList)}const N=C.body.isRead??!0;p({title:N?"Couldn't mark as read":"Couldn't mark as unread",detail:Ke(O),error:O})},onSettled:(O,C,P,N)=>{N&&(h.invalidateQueries({queryKey:N.threadMessagesPrefix}),nt(h,N.listPrefixes))}}),g=l.useCallback(O=>{v&&O.includes(v)&&f({to:"/mail/$mailboxId",params:{mailboxId:n},search:C=>C,hash:m})},[v,n,f,m]),{deleteMessages:x,isPending:k}=er({mailboxId:n,threadId:t,onAfterOptimisticRemove:g}),{moveMessages:b,isPending:w}=Hn({mailboxId:n,threadId:t,accountId:r,onAfterOptimisticRemove:g}),{toggleTrusted:E,isPending:j,error:T,reset:R}=_a({messageId:e}),M=()=>{y({body:{messageIds:[e],isRead:!1}})},F=()=>{x([e])},A=()=>{o&&E(o,i)},_=u||k||w||j,I=_||!o,S=l.useCallback(O=>{b([e],O)},[b,e]),D=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(tr,{accountId:r,currentMailboxId:n,onMove:S,disabled:_,label:"Move this message"}),a.jsxs(ic,{trigger:a.jsx(io,{className:"size-4"}),children:[a.jsxs(dn,{onClick:A,disabled:I,children:[i?a.jsx(Ln,{className:"size-4 text-positive"}):a.jsx(Rn,{className:"size-4 opacity-0"}),a.jsx("span",{title:D,children:"Trusted sender"})]}),s&&a.jsxs(dn,{onClick:M,disabled:_,children:[a.jsx(Ks,{className:"size-4"}),"Mark as unread"]}),d&&a.jsxs(dn,{onClick:d,children:[a.jsx(oo,{className:"size-4"}),c?"Show formatted":"Show raw email"]}),a.jsx(lc,{}),a.jsxs(dn,{onClick:F,disabled:_,destructive:!0,children:[a.jsx(tn,{className:"size-4"}),"Delete"]})]})]}),T&&a.jsx("div",{className:"w-64",children:a.jsx(sn,{variant:"inline",title:"Couldn't update trust",error:T,onRetry:()=>{R(),A()}})})]})},Oh=e=>e==="link-expired"||e==="not-ready";class js 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=Sc(e,t);return n==="auth"?"auth":n==="body-missing"?"missing":"generic"},zh=300*1e3,ma=async(e,t)=>{const n={},s=await t();s&&(n.Authorization=`Bearer ${s}`);const r=await Il(e,{headers:n,signal:AbortSignal.timeout(zh)});if(r.status===202)throw new js("not-ready","Attachment is still being fetched from the mail server",202);if(!r.ok)throw new js(_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}}},pa=e=>e instanceof js?e.reason:"generic",Uh=e=>e instanceof Error?e.message:typeof e=="string"?e:"An unexpected error occurred while downloading this attachment.",Hh=(e,t,n)=>{if(e!=="auth")return Aa(Da({title:`Bug: attachment download failed (${e})`,errorMessage:`Downloading "${t}" failed: ${n}`}))},Kh=(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"},ha=e=>e.filter(t=>!t.isMultipart&&t.disposition===Mc.Attachment&&t.contentUrl.length>0).map(t=>({bodyPartId:t.bodyPartId,filename:bd(t.dispositionFilename??"",qh(t.mediaSubtype)),typeLabel:Wh(t.mediaSubtype),sizeOctets:t.sizeOctets,contentUrl:t.contentUrl})),ga={status:"idle"},Vh=({messageId:e,bodyParts:t,hasAttachment:n=!1,className:s})=>{const{getToken:r}=Ml(),o=Ae(),[i,c]=l.useState({}),d=l.useMemo(()=>ha(t??[]),[t]),h=Al({path:{messageId:e}}),f=y=>ma(y.contentUrl,r).catch(u=>{if(!Oh(pa(u)))throw u;return o.refetchQueries({queryKey:h}).then(()=>{const g=o.getQueryData(h),x=g?ha(g.bodyParts).find(k=>k.bodyPartId===y.bodyPartId):void 0;return ma(x?.contentUrl??y.contentUrl,r)})}),m=(y,u)=>c(g=>({...g,[y]:u})),p=y=>{const u=d.find(g=>g.bodyPartId===y);if(!u)throw new Error(`No attachment part ${y} on message ${e}`);m(y,{status:"downloading"}),f(u).then(g=>{Kh(g,u.filename),m(y,ga)}).catch(g=>{const x=pa(g),k=Uh(g),{title:b,detail:w}=Bh(x,u.filename,k);m(y,{status:"failed",title:b,detail:w,reportUrl:Hh(x,u.filename,k)})})},v=n&&t!==void 0&&d.length===0;return a.jsx(yd,{className:s,attachments:d.map(y=>({attachmentId:y.bodyPartId,filename:y.filename,typeLabel:y.typeLabel,sizeOctets:y.sizeOctets,download:i[y.bodyPartId]??ga})),onDownload:p,hasUnlistedAttachment:v})},Qh=({messageId:e,threadId:t,mailboxId:n,accountId:s,isRead:r,isStarred:o,onToggleStar:i,fromAddressId:c,isTrusted:d,showRaw:h,onToggleRaw:f,onReply:m,onReplyAll:p,onForward:v})=>{const y=Ae(),{deleteMessages:u}=er({mailboxId:n,threadId:t}),{moveMessages:g}=Hn({mailboxId:n,threadId:t,accountId:s}),{toggleTrusted:x}=_a({messageId:e}),{mutate:k}=Ie({...Mn(),onSettled:()=>{y.invalidateQueries({queryKey:ut({path:{threadId:t}})}),nt(y,tt([n]))}}),b=l.useCallback(T=>{g([e],T)},[g,e]),w=l.useCallback(()=>{u([e])},[u,e]),E=l.useCallback(()=>{k({body:{messageIds:[e],isRead:!r}})},[k,e,r]),j=[];return c&&j.push({key:"trusted",label:d?"Trusted sender":"Mark sender trusted",icon:d?a.jsx(Ln,{className:"size-4 text-positive"}):a.jsx(Rn,{className:"size-4"}),onSelect:()=>x(c,d)}),f&&j.push({key:"raw",label:h?"Show formatted":"Show raw email",icon:a.jsx(oo,{className:"size-4"}),onSelect:f}),a.jsx(xo,{hasThread:!0,onReply:m,onReplyAll:p,onForward:v,isStarred:o,onToggleStar:i,onDelete:w,isRead:r,onToggleRead:E,overflowItems:j,moveSlot:s?a.jsx(tr,{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}=pe({...Dl({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(sn,{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(Ln,{className:"inline-block size-4 ml-1 -mt-0.5 text-positive align-middle","aria-label":"Trusted sender","data-testid":"trusted-sender-badge"}),Ni=(e,t)=>({id:e.messageId,fromName:e.fromName??e.fromEmail??"?",fromEmail:e.fromEmail??"",toLabel:"",dateLabel:t,snippet:e.snippet||"",bodyHtml:""}),ji=({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:q("shrink-0 p-0.5 rounded transition-colors",e?"text-warning":q("text-fg-subtle hover:text-warning",s&&"opacity-0 group-hover:opacity-100 focus:opacity-100"),n&&"opacity-50"),children:a.jsx(Dt,{className:q("size-3.5",e&&"fill-current")})}),Jh=({threadMessage:e,isFocused:t,onToggle:n,onToggleStar:s,isStarPending:r})=>{const o=Ka(e.sentDate,"datetime"),i=Ni(e,o);return a.jsx(yo,{message:i,onClick:n,isFocused:t,isUnread:!e.isRead,trailing:a.jsxs(a.Fragment,{children:[e.hasAttachment&&a.jsx(On,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"}),a.jsx(ji,{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:d,isStarPending:h,accountId:f,showRaw:m,onToggleRaw:p,mobile:v,onReply:y,onReplyAll:u,onForward:g})=>{const x=Ka(e.sentDate,"long"),k=!e.isRead,b=t?.envelope.from[0]?.flags?.trusted?.value===!0,w=t?.envelope.from[0]?.addressId,E=Ni(e,x),j=e.autoMoved||e.spamReport?a.jsx(Ah,{accountId:f,messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,autoMoved:e.autoMoved,spamReport:e.spamReport}):null;return a.jsx(wo,{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(_u,{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(ji,{isStarred:e.hasStars,onToggleStar:d,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:f,fromAddressId:w,isTrusted:b,showRaw:m,onToggleRaw:p}),actionBar:v?a.jsx(Qh,{messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,accountId:f,isRead:e.isRead,isStarred:e.hasStars,onToggleStar:d,fromAddressId:w,isTrusted:b,showRaw:m,onToggleRaw:p,onReply:y,onReplyAll:u,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&&Pl(r)?a.jsx("div",{className:"mt-3",children:a.jsx(pi,{message:"This message has been deleted"})}):s?a.jsx("div",{className:"mt-3",children:a.jsx(sn,{variant:"inline",title:"Couldn't load this message",error:r,onRetry:o})}):m?a.jsx("div",{className:"mt-3",children:a.jsx(Yh,{messageId:e.messageId})}):a.jsxs("div",{className:"mt-3",children:[a.jsx(kc,{bodyParts:t?.bodyParts,messageId:e.messageId,fromAddressId:t?.envelope.from[0]?.addressId,isTrusted:b,category:wi(e.category)}),a.jsx(Vh,{messageId:e.messageId,bodyParts:t?.bodyParts,hasAttachment:e.hasAttachment,className:"mt-4"})]})})},eg=({threadMessage:e,isExpanded:t,isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o,accountId:i,mobile:c,onReply:d,onReplyAll:h,onForward:f})=>{const[m,p]=l.useState(!1),{data:v,isLoading:y,isError:u,error:g,refetch:x}=pe({...An({path:{messageId:e.messageId}}),enabled:t,meta:{softError:!0}});return t?a.jsx(Zh,{threadMessage:e,messageData:v,isLoading:y,isError:u,error:g,onRetry:()=>x(),isFocused:n,onToggle:s,onToggleStar:r,isStarPending:o,accountId:i,showRaw:m,onToggleRaw:()=>p(k=>!k),mobile:c,onReply:d,onReplyAll:h,onForward:f}):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))})]}),Sv=({threadId:e,mailboxId:t,subject:n,selectedMessageId:s,authenticity:r,onOpenIntelligence:o,onBack:i,composeRequest:c,onComposeClose:d,onSwipeNext:h,onSwipePrevious:f,mobileIntelligenceOpen:m})=>{const p=Dn(),{handlers:v}=yh({onSwipeLeft:h,onSwipeRight:f}),{accountId:y}=hi(t),{data:u,isLoading:g,isError:x,error:k,refetch:b}=pe({...$a({path:{threadId:e}})}),w=l.useMemo(()=>u?.items??[],[u?.items]),E=w[w.length-1],j=l.useMemo(()=>[...w].reverse(),[w]),T=l.useRef(new Map),[R,M]=l.useState(new Set),[F,A]=l.useState(null),[_,I]=l.useState(0);l.useEffect(()=>{if(w.length>0&&e!==F){A(e);const Y=new Set([w[w.length-1].threadMessageId]);if(s){const te=w.find(ye=>ye.messageId===s);te&&Y.add(te.threadMessageId)}M(Y),I(0)}},[e,w,F,s]);const S=l.useCallback(Y=>{M(te=>{const ye=new Set(te);return ye.has(Y)?ye.delete(Y):ye.add(Y),ye})},[]),D=l.useCallback(Y=>{const te=j[Y];if(!te)return;T.current.get(te.threadMessageId)?.scrollIntoView({behavior:"smooth",block:"nearest"})},[j]),O=l.useCallback(()=>{if(j.length===0)return;const Y=Math.min(_+1,j.length-1);I(Y),D(Y)},[j.length,_,D]),C=l.useCallback(()=>{if(j.length===0)return;const Y=Math.max(_-1,0);I(Y),D(Y)},[j.length,_,D]),P=l.useCallback(()=>{const Y=j[_];Y&&S(Y.threadMessageId)},[j,_,S]),{data:N}=pe({...Pt(),staleTime:1/0}),K=N?.accounts?.[0];gh({messages:w,expandedIds:R,threadId:e,mailboxId:t,accountId:K?.accountId});const{toggleStar:G,isPending:le,pendingMessageId:J}=yi({threadId:e,mailboxId:t,messages:w}),[se,oe]=l.useState(null),[de,ce]=l.useState(0),X=l.useCallback(Y=>{oe(Y),ce(te=>te+1)},[]);l.useEffect(()=>{c&&c!=="new"&&(X(c),d?.())},[c,d,X]);const{data:ee}=pe({...An({path:{messageId:E?.messageId??""}}),enabled:!!E&&se!==null}),ve=l.useCallback(()=>X("reply"),[X]),xe=l.useCallback(()=>X("reply_all"),[X]),Ee=l.useCallback(()=>X("forward"),[X]),je=l.useCallback(()=>{oe(null),d?.()},[d]),H=l.useRef(null);if(l.useEffect(()=>{se===null||de===0||H.current?.scrollIntoView({behavior:"smooth",block:"start"})},[de,se]),cc({enabled:!g&&w.length>0&&se===null,bindings:[{key:"j",handler:O,preventDefault:!0},{key:"ArrowDown",handler:O,preventDefault:!0},{key:"k",handler:C,preventDefault:!0},{key:"ArrowUp",handler:C,preventDefault:!0},{key:"Enter",handler:P,preventDefault:!0},{key:"o",handler:P,preventDefault:!0},{key:"r",handler:ve,preventDefault:!0},{key:"R",handler:xe,noModifiers:!1,preventDefault:!0},{key:"f",handler:Ee,preventDefault:!0}]}),g)return a.jsx(tg,{});if(x)return a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(sn,{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(pi,{message:"No messages in this thread"})});const Te=n||w[0]?.subject||"(No subject)",ke=w.length,Re=Y=>a.jsx("div",{"data-testid":"conversation-messages",children:j.map((te,ye)=>a.jsx("div",{ref:V=>{V&&T.current.set(te.threadMessageId,V)},children:a.jsx(eg,{threadMessage:te,isExpanded:R.has(te.threadMessageId),isFocused:ye===_,onToggle:()=>S(te.threadMessageId),onToggleStar:()=>G(te.messageId,te.hasStars),isStarPending:le&&J===te.messageId,accountId:y,mobile:Y,onReply:Y?ve:void 0,onReplyAll:Y?xe:void 0,onForward:Y?Ee:void 0})},te.threadMessageId))}),Be=se!==null&&a.jsx("div",{ref:H,children:a.jsx(lh,{mode:se,account:K,sourceMessage:ee,onClose:je})}),De=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:Te}),a.jsxs("p",{className:"mt-1 text-2xs text-fg-subtle",children:[ke," ",ke===1?"message":"messages"]})]});return p?a.jsxs("article",{className:"h-full flex flex-col",children:[De,r?.dkimMismatch&&a.jsx(ca,{authenticity:r,onOpenIntelligence:o}),a.jsxs("div",{className:"min-h-0 flex-1 overflow-auto",children:[Be,Re(!1)]})]}):a.jsxs(dd,{thread:{subject:Te,messages:[]},onBack:i??(()=>{}),intelligenceOpen:m,onToggleIntelligence:o,touchHandlers:v,children:[r?.dkimMismatch&&a.jsx(ca,{authenticity:r,onOpenIntelligence:o}),Be,Re(!0)]})},ng=10,Ti=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":Rc(t,{month:"short",year:"numeric"})}function Ri(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:Ol(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:Ri(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 ba(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===fr.Unrelated?n.push(`The name it shows, "${t}", has nothing to do with ${e.fromDomain}.`):s===fr.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(Ri(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=ba(e),f=dg(s,h);return f.length>0?{verdict:"caution",fromDomain:s.fromDomain,dkimDomain:s.dkimDomain,claimedBrand:h,summary:f.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=ba(e),c=o?`it was actually sent from ${o}`:"its signature failed to verify",d=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:d,similarCount:n}}function pg(e,t){const n=e?.fromEmail??null,s=e?.subject??"",{data:r,error:o}=pe({...In({query:Ti(n??void 0)}),enabled:!!n,staleTime:3e4}),i=sg(r?.items,n??void 0),c=[s,n].filter(Boolean).join(" "),{data:d,isLoading:h,error:f}=pe({...Ll({query:{query:c,limit:5}}),enabled:!!(e&&c.length>3),staleTime:6e4,retry:1});return{data:l.useMemo(()=>{if(!e)return null;const p=(d?.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?Ot(x.sentDate*1e3):"",matched:x.matchedChunkType})),v=lg(e,i),y=mg(e,p.length),u=ig(e,i),g=cg(i);return{sender:v,authenticity:y,category:u,flags:g,similar:p}},[e,i,d,t]),isSimilarLoading:h,similarError:f,similarErrorIsFatal:or(f),addressErrorIsFatal:or(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=Ae(),{pushError:s}=Xe(),r=$l({query:Ti(t)}),{mutate:o,isPending:i}=Ie({...Fl(),onMutate:async d=>{const h=d.body.flags??{};await n.cancelQueries({queryKey:r});const f=n.getQueryData(r);return n.setQueryData(r,m=>m&&{...m,items:m.items.map(p=>p.addressId===d.path.addressId?{...p,flags:hg(p.flags,h)}:p)}),{previous:f}},onError:(d,h,f)=>{f?.previous!==void 0&&n.setQueryData(r,f.previous),s({title:"Couldn't update sender preference",detail:Ke(d),error:d})},onSettled:()=>{n.invalidateQueries({queryKey:r})}});return{updateFlags:l.useCallback(d=>{if(!e){_l(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:d}})},[e,o,t]),isPending:i}}const kv=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 Cv(e,t){e.recordEvent("rescue.candidates_surfaced",{count:String(t)})}function Ev(e,t){e.recordEvent("rescue.flow_opened",{count:String(t)})}function Nv(e,t){e.recordEvent("rescue.committed",{selected:String(t.selected),total:String(t.total),destination:t.toInbox?"inbox":"other"})}function vg(e,t){e.recordEvent("rescue.sent_to_junk",{count:String(t.count),senderTrust:t.senderTrust,wasRescuable:String(t.wasRescuable)})}const xg=["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(Mt,{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(Bl,{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:xg.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:d,similarError:h,similarErrorIsFatal:f}=pg(e,n),[m,p]=l.useState(!1),v=e.fromEmail??void 0,{updateFlags:y}=gg({addressId:c,senderEmail:v}),{reportSpam:u,notSpam:g,isReporting:x,isRestoring:k}=Ci({mailboxId:e.mailboxId,threadId:e.threadId,accountId:s,onAfterOptimisticRemove:o}),b=zl(),w=yg(e),E=l.useCallback(()=>{g([e.messageId])},[g,e.messageId]),j=l.useCallback(()=>{vg(b,{count:1,senderTrust:e.senderTrust,wasRescuable:bg(e)}),u([e.messageId])},[u,e,b]),T=l.useCallback(()=>{},[]),R=l.useCallback(()=>{const O=i?.flags?.vip!==!0;y({vip:{value:O}})},[i?.flags?.vip,y]),M=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]),A=l.useCallback(O=>{p(!1),y({category:{value:O}})},[y]),_=c!==void 0,I={onToggleVip:_?R:void 0,onToggleMute:_?M:void 0,onToggleUnsubscribe:_?F:void 0,onReclassify:_?()=>p(!0):void 0,onNotSpam:w==="notSpam"?E:void 0,onReportSpam:w==="reportSpam"?j:void 0},S=({mailboxId:O,threadId:C,messageId:P,className:N,ariaLabel:K,children:G})=>a.jsx(Wa,{to:"/mail/$mailboxId/$threadId/$messageId",params:{mailboxId:O,threadId:C,messageId:P},search:le=>le,variant:"row",className:N,"aria-label":K,children:G});if(!i)return a.jsx(Sg,{});const D=wg({similarError:h,similarErrorIsFatal:f,isSimilarLoading:d});return a.jsxs(a.Fragment,{children:[a.jsx(fo,{data:i,onClose:t,hideCloseButton:r,onShowSimilar:T,actions:I,similarState:D,similarLinkComponent:S,reportSpamPending:x,notSpamPending:k,className:"border-l-0 h-full w-full"}),a.jsx(kg,{isOpen:m,current:i.category.value,onSelect:A,onCancel:()=>p(!1)})]})}const jv=({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(Mt,{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(Mt,{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…`},Ii={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."},Tv=(e,t,n)=>Eg[e](vt(t),vt(n)),Rv=(e,t)=>`${vt(t)} ${Ii[e]}. Your mail server is still catching up.`,Iv=e=>`Stopped after ${vt(e)}`,Mv=(e,t,n)=>`${vt(t)} of ${vt(n)} ${Ii[e]}. Nothing was sent for the rest, so they are untouched.`,Rg=(e,t)=>t>0?`Stopped after ${vt(t)} — some messages ${Ng[e]}`:jg[e],Ig=e=>Tg[e],Av=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,d]=l.useState(void 0),[h,f]=l.useState(void 0),m=l.useRef(!1),p=l.useRef(!1),v=Ae(),{pushError:y}=Xe();l.useEffect(()=>{p.current||(m.current=!0),i({kind:"idle"})},[n,s]);const u=l.useRef(r);u.current=r;const g=l.useCallback(R=>async M=>{const{data:F}=await ir({path:{mailboxId:e},query:{...R,continuationToken:M,limit:Mg},throwOnError:!0});return{ids:(F.items??[]).map(A=>A.messageId),continuationToken:F.continuationToken}},[e]),x=l.useCallback(async()=>{const{data:R}=await ir({path:{mailboxId:e},query:{...u.current,count:!0,results:!1},throwOnError:!0});if(R.count===void 0)throw new Error("the search returned no count for the selection");return R.count},[e]),k=l.useCallback(R=>async M=>{if(R.kind==="move"){const{data:A}=await Ul({body:{messageIds:M,destinationMailboxId:R.destinationMailboxId},throwOnError:!0});return A}if(R.kind==="markRead"){const{data:A}=await Hl({body:{messageIds:M,isRead:!0},throwOnError:!0});return A}const{data:F}=await Kl({body:{messageIds:M},throwOnError:!0});return F},[]),b=l.useCallback(R=>{nt(v,tt(Ag(R,e))),t&&v.invalidateQueries({queryKey:Lt({path:{accountId:t}})})},[v,e,t]),w=l.useCallback(()=>{m.current=!1,i({kind:"counting"}),x().then(R=>{if(m.current){i({kind:"idle"});return}i({kind:"escalated",total:R})},R=>{y(hs("Couldn't count matching messages","The count didn't finish.",R)),i({kind:"idle"})})},[x,y]),E=l.useCallback(()=>{m.current=!0},[]),j=l.useCallback(()=>{p.current||(m.current=!0,i({kind:"idle"}))},[]),T=l.useCallback(async(R,M)=>{m.current=!1,p.current=!0,d(R);const F=S=>f(fh(S)),A=k(R),_=g(u.current);let I;try{I=M!==void 0?await gi(M,A,F,()=>m.current):await dh(_,o.kind==="escalated"?o.total:0,A,F,()=>m.current)}finally{p.current=!1}return d(void 0),f(void 0),i({kind:"idle"}),I.error&&y(hs(Rg(R.kind,I.done),Ig(R.kind),I.error)),I.done>0&&b(R),I},[k,g,o,y,b]);return{phase:o,escalate:w,stop:E,clear:j,isRunning:c!==void 0,runningAction:c,progress:h,runAction:T}},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 d=setTimeout(()=>o.current(c),r);return()=>clearTimeout(d)},[n,e,t,r])},Mi="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,Dv=(e,t)=>{if($g(e,t)===void 0)return e===void 0?Mi: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},Ts=l.createContext(_g),Ai=()=>l.useContext(Ts),Di=8,Pi=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=To(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),Hg=(e,t,n)=>{if(!Pi(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 d=c.value.toLowerCase();if(!(d===""||r.has(d))&&(r.add(d),d!==s&&!(s!==""&&!Ug(c,s))&&(o.push(c),o.length===Di)))break}return o},Kg=250,Wg=2,qg=(e,t,n)=>{const s=t.trim(),r=zs(s,Kg),o=e!==void 0&&Pi(e),{data:i}=pe({...In({query:{q:r,limit:Di}}),enabled:o&&r.length>=Wg});if(!o||e===void 0)return[];const c=[...n.map(d=>({email:d,fromSelection:!0})),...(i?.items??[]).map(d=>({email:d.normalizedEmail,...d.displayName?{displayName:d.displayName}:{}}))];return Hg(e,s,c)},Li=12,Vg=e=>{const{envelope:t}=e,n=t.from[0];return{id:t.messageId,sender:n?Ro({normalizedEmail:n.normalizedEmail,displayName:n.displayName}):"Unknown",subject:t.subject??"(No subject)",date:Ot(t.date)}},Qg=(e,t)=>{const n=e!==void 0&&t!==void 0,{data:s,isLoading:r}=pe({...Wl({path:{mailboxId:e??""},query:{...t,limit:Li}}),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:Ot(e.sentDate)}),Yg=e=>$s({queries:e.slice(0,Li).map(t=>({...An({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:Fn(e)}),Jg=(e,t,n)=>{const s=Ie(ql()),{mutate:r,reset:o}=s,[i,c]=l.useState(!1),d=l.useMemo(()=>$n(n),[n]),h=l.useCallback(()=>{!e||!t||(c(!1),r({path:{accountId:e},body:mr({anchorMessageId:t,matchOperator:"And",literalClauses:[]})}))},[e,t,r]),f=l.useCallback(()=>{c(!1),o()},[o]),m=s.data,p=m?.semanticUnavailable===!0&&!i&&d.length>0;l.useEffect(()=>{!p||!e||(c(!0),r({path:{accountId:e},body:mr(Xg(d))}))},[p,e,d,r]);const v=i||(m?.semanticUnavailable??!1),y=s.isPending||p,u=i?{matchOperator:"Or",literalClauses:Fn(d)}:{...t?{anchorMessageId:t}:{},matchOperator:"And",literalClauses:[]};return{preview:h,reset:f,matchedCount:y?void 0:m?.matchedCount,messageIds:y?void 0:m?.messageIds,semanticUnavailable:v,senderFallback:i,senders:d,matchPredicate:u,isPending:y,isError:s.isError,error:s.error}},Zg=()=>[Pa({path:{mailboxId:""}}),La({path:{mailboxId:""}}),Oa()].map(e=>[{_id:e[0]._id}]),eb=e=>bi(e)?e.pages:vi(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=Ae(),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 d of e.tokens){if(d.type==="from"){n.push({field:"From",value:d.value});continue}if(d.type==="subject"){n.push({field:"Subject",value:d.value});continue}if(d.type==="in"){r={mailboxId:d.mailboxId,label:d.value};continue}if(d.type==="account"){o=d.accountId;continue}ab(d.type)&&s.push({type:d.type,label:za(d)})}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:[]},ds=(e,t)=>e.map((n,s)=>({...n,id:`${t}-${s}`})),va=(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},fs=e=>e==="move"||e==="junk"||e==="organize",xa=e=>e==="junk"?Mi:"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,selectionRestriction:r,escalated:o,escalatedProgress:i,searchConversion:c,onFinished:d,onRunEnded:h,step:f,goToStep:m,goBack:p,closeWizard:v}){const[y]=l.useState(()=>c),[u]=l.useState(()=>o),g=y!==void 0,[x,k]=l.useState(g?"properties":"selected"),b=u?"escalated":x,[w,E]=l.useState(()=>y?{clauses:ds(y.clauses,"search"),matchOperator:y.matchOperator}:cb),[j,T]=l.useState(void 0),[R,M]=l.useState(void 0),[F,A]=l.useState(!1),[_,I]=l.useState(void 0),[S,D]=l.useState(void 0),[O,C]=l.useState(),P=l.useRef(!1),N=l.useRef(!1),K=l.useMemo(()=>s.map(L=>L.id),[s]),G=l.useMemo(()=>s.map(L=>L.email).filter(Boolean),[s]),le=K[0],J=sb(K),{junkMailboxId:se}=Si(t),oe=Jg(u?void 0:t,le,G),{preview:de}=oe;l.useEffect(()=>{de()},[de]);const ce=b==="similar"||b==="properties",X=l.useMemo(()=>({matchOperator:w.matchOperator==="all"?"And":"Or",literalClauses:w.clauses.map(L=>({field:L.field,value:L.value}))}),[w.clauses,w.matchOperator]),ee=b==="similar"?oe.matchPredicate:X,{count:ve,matchedIds:xe}=Fc(ce?t:void 0,ee),Ee=Yg(ce?xe:[]),je=Qg(u?n:void 0,u?.searchQuery),H=u?{status:"ready",count:u.total}:ce?ve:{status:"ready",count:s.length},{data:Te}=pe({...nn({path:{accountId:t??""}}),enabled:!!t,staleTime:Number.POSITIVE_INFINITY}),ke=ki(t),Re=qa(),Be=l.useMemo(()=>Qa({mailboxes:Te?.items??[],folderAppointments:ke,currentMailboxId:n,translator:Re}),[Te?.items,ke,n,Re]),{createFolderIn:De}=Va(t),Y=Be.find(L=>L.id===w.moveMailboxId)?.label,te=wf(s.map(L=>({normalizedEmail:L.email,displayName:L.sender}))),ye=Rf({match:b==="properties"&&w.clauses[0]?.value.trim()||void 0,sender:te?Ro(te):void 0,folder:Y}),V=l.useMemo(()=>({...w,name:w.name??ye}),[w,ye]),qe=qg(j?.draft.field,j?.draft.value??"",G),we=_c(t),Fe=zc(t),Ue=Dg({mailboxId:n??"",accountId:t,enabled:!1,predicateKey:"selection-wizard",searchQuery:{}}),{runAction:Pe}=Ue,he=Gl({verb:e,mode:b,scope:w.scope,fromSearch:g}),ae=he[lr(he,f)],Ne=Yl(t,r),Oe=(L=>{if(L==="folder")return Ne.destination;if(L==="rule")return V.scope==="standing"||V.scope==="until"?Ne.rule:void 0})(ae)??Xl(ae,V,H),Je=l.useCallback(()=>ds(Tf(G,J),"seed"),[G,J]),_e=l.useCallback(L=>{k(L),E(B=>({...B,widen:L==="similar"&&le?{anchorCount:Math.max(s.length,1)}:void 0,...L==="properties"&&B.clauses.length===0?{clauses:Je()}:{}}))},[le,s.length,Je]),Qe=l.useCallback(()=>{A(!0),k("properties"),E(L=>({...L,widen:void 0,clauses:ds(Fn(G),"sender"),matchOperator:"any"})),m("properties")},[G,m]),He=oe.semanticUnavailable||oe.isError;l.useEffect(()=>{ae==="match"&&(b!=="similar"||!He||F||Qe())},[ae,b,He,F,Qe]);const Z=l.useCallback(()=>{T({mode:"add",draft:{field:"From",value:""}})},[]),z=l.useCallback(L=>{const B=w.clauses.find(ie=>ie.id===L);B&&T({mode:"edit",clauseId:L,draft:{field:B.field,value:B.value}})},[w.clauses]),W=l.useCallback(L=>{E(B=>({...B,clauses:B.clauses.filter(ie=>ie.id!==L)}))},[]),U=l.useCallback(L=>{T(B=>B&&{...B,draft:L})},[]),Q=l.useCallback(()=>{T(L=>{if(!L)return;const B=Bc(L.draft.field,L.draft.value),ie={...L.draft,value:B};E(yt=>({...yt,clauses:L.clauseId?yt.clauses.map(_t=>_t.id===L.clauseId?{..._t,...ie}:_t):[...yt.clauses,{id:crypto.randomUUID(),...ie}]}))})},[]),re=l.useCallback(()=>{if(Oe){M(ae);return}M(void 0);const L=he[lr(he,ae)+1];L&&m(L)},[Oe,ae,he,m]),fe=l.useCallback(async L=>{const B=va(e,V.moveMailboxId,se);if(!B){D({matched:L.length,failureReason:xa(e)});return}D({matched:L.length});const ie=await Pe(B,[...L]);D({matched:L.length,outcome:ie}),N.current&&h?.(B.kind,L.length,ie)},[e,V.moveMailboxId,se,Pe,h]),ge=l.useCallback(async()=>{if(!u)return;const L=va(e,V.moveMailboxId,se);if(!L){D({matched:u.total,failureReason:xa(e)});return}D({matched:u.total});const B=await u.run(L);D({matched:u.total,outcome:B}),N.current&&h?.(L.kind,u.total,B)},[u,e,V.moveMailboxId,se,h]),{start:me}=we,{createFilterAsync:Le}=Fe,ze=l.useCallback(()=>{if(u){ge();return}const L=Uc({mode:x,ruleScope:V.scope}),B=Hc({mode:x,ruleScope:V.scope,anchorMessageId:le,clauses:V.clauses,matchOperator:V.matchOperator,moveMailboxId:V.moveMailboxId,until:V.until});if(I(L),L==="standing"||L==="temporary"){const ie=Kc(B)?B:void 0;C(ie),Le(B,L,(V.name??"").trim()).then(yt=>{yt&&ie&&me(ie)});return}if(L==="all-like-these"&&fs(e)){me(B);return}fe(L==="just-these"?K:xe)},[u,ge,x,V,le,e,K,xe,Le,me,fe]),Ge=l.useCallback(()=>{if(Oe){M(ae);return}P.current||(P.current=!0,m("run"),ze())},[Oe,ae,m,ze]),$e=l.useCallback(L=>{const B=we.progress,ie=lb({failure:we.failure,isStarting:we.isStarting,isRunning:we.isRunning,isDone:we.isDone,failedCount:B.failedCount,ruleSaved:L});return ie==="saving"||ie==="commitFailed"||ie==="backApplyStartFailed"?{...gt,state:ie}:{state:ie,matched:B.matchedCount,applied:B.appliedCount,failed:ie==="backApplyFailed"||ie==="backApplyRestartFailed"?B.failedCount:0,failures:[]}},[we]),ft=l.useMemo(()=>{const L=new Map;for(const B of[...s,...Ee.messages,...je.messages])L.set(B.id,B);return L},[s,Ee.messages,je.messages]),Ft=u?i:Ue.progress,rr=l.useCallback(()=>{if(!S)return gt;const{matched:L,outcome:B,failureReason:ie}=S;if(ie!==void 0)return{...gt,state:"commitFailed",failureReason:ie};if(!B){const wt=Ft?.done??0;return{state:"backApplyRunning",matched:Math.max(L,wt),applied:wt,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 _t=B.failedIds.map(wt=>ft.get(wt)).filter(wt=>wt!==void 0),Hi=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:Hi,failures:_t}},[S,Ft,ft]),mt=u?rr():_==="standing"||_==="temporary"?Fe.isError?{...gt,state:"commitFailed"}:Fe.isSuccess?O?$e(!0):{...gt,state:"filterSaved"}:gt:_==="all-like-these"&&fs(e)?$e(!1):rr(),_i=()=>{if(mt.state==="statusUnknown"){we.refreshStatus();return}if(u){ge();return}if(_==="standing"||_==="temporary"){if(Fe.isError){Fe.reset(),ze();return}O&&me(O);return}if(_==="all-like-these"&&fs(e)){ze();return}const L=S?.outcome?.failedIds??[];fe(L.length>0?L:K)},zi=l.useCallback(()=>{v(he,ae)},[v,he,ae]),Kn=l.useCallback(()=>{N.current=!0,v(he,ae),d()},[v,he,ae,d]),{stop:ar}=Ue,Bi=S!==void 0&&S.outcome===void 0&&S.failureReason===void 0,Ui=l.useCallback(()=>{if(u){u.stop();return}ar()},[u,ar]);ip({shouldBlockFn:({action:L})=>L!=="BACK"?!1:(Kn(),!0),enableBeforeUnload:!1,disabled:ae!=="run"});const Wn={messages:u?je.messages:ce?Ee.messages:s,count:H,label:b==="selected"?"Your selection":"A sample of what matches",emptyReason:b==="similar"&&He?"notIndexed":"noMatch",loading:u?je.isPending:ce&&(H.status==="loading"||Ee.isPending)};return a.jsx(Jl,{verb:e,steps:he,step:ae,blockedReason:Oe,nudged:R===ae,onBack:p,onExit:ae==="run"?Kn:zi,onContinue:re,onCommit:Ge,match:{selectedCount:s.length,mode:b,accountId:Ne.accountId,onModeChange:_e,semanticUnavailable:He,semanticErrorDetail:oe.error instanceof Error?oe.error.message:void 0,semanticFallbackTaken:F,onSemanticFallback:Qe,escalatedScope:u?.scope,sample:Wn},properties:{clauses:V.clauses,matchOperator:V.matchOperator,onMatchOperatorChange:L=>E(B=>({...B,matchOperator:L})),clauseEdit:j,onStartAddClause:Z,onStartEditClause:z,onRemoveClause:W,onChangeDraft:U,onSubmitClause:Q,onCancelClause:()=>T(void 0),clauseFields:Wc,clauseSuggestions:qe,conversionNotice:y?Mf(y):void 0,semanticFallbackTaken:F,sample:{...Wn,label:"What this matches"}},folder:{folders:Be,mailboxId:V.moveMailboxId,delimiter:Ga(Te?.items??[]),onSelect:L=>E(B=>({...B,moveMailboxId:L})),onCreateFolder:t?De:void 0,restriction:Ne.destination},rule:{draft:V,onScopeChange:L=>E(B=>({...B,scope:L})),onUntilChange:L=>E(B=>({...B,until:L})),restriction:Ne.rule},name:{name:V.name??"",onNameChange:L=>E(B=>({...B,name:L})),nudged:R===ae},review:{verb:e,mode:b,selectedCount:s.length,clauses:V.clauses,matchOperator:V.matchOperator,folder:Y,scope:V.scope,until:V.until,ruleName:he.includes("name")?V.name:void 0,escalatedScope:u?.scope,sample:Wn},run:{state:mt.state,verb:e,scope:V.scope,matched:mt.matched,applied:mt.applied,failedCount:mt.failed,failures:mt.failures,failureReason:mt.failureReason,onRetry:_i,onDismiss:Kn,onCancelRun:Bi?Ui:void 0}})}function Pv(e){const t=Vl()==="search",{searchConversion:n}=Ai(),{accounts:s}=Fs(),{step:r,goToStep:o,goBack:i,closeWizard:c}=Ql(t?"properties":"match");if(!r)return null;const d=t?n??ub:void 0;return a.jsx(fb,{...e,...d?{verb:"organize",accountId:ib(d,e.accountId,s),selection:db,selectionRestriction:void 0,escalated:void 0,searchConversion:d}:{},step:r,goToStep:o,goBack:i,closeWizard:c})}const nr=l.createContext(null),mb=e=>{const t=l.useContext(nr);return t?t.rowInteraction(e):null},pb=()=>{const e=l.useContext(nr);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]),vb=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 Lv({selectedMessageId:e,onOpen:t,onDeleteMessages:n,onSelectionVerb:s,wizardOpen:r=!1,isDeleting:o=!1,commandsRef:i,onTriageContextChange:c,children:d}){const h=Dn(),f=l.useRef(null),m=vb(f),p=Af({orderedIds:m,isDesktop:h,initialFocusedId:e}),{focusedMessageId:v,setFocusedMessageId:y,pendingDomFocusRef:u,cursorMovedByPointerRef:g,selection:x,isMultiSelectMode:k,exitSelection:b,handleRowSelect:w}=p,{selectedIds:E,selectedCount:j,isSelected:T,toggle:R,select:M,toggleAll:F}=x,A=m.length>0&&m.every(ee=>E.has(ee)),_=l.useCallback(()=>{m.length>0&&F(m)},[m,F]),{intersectWith:I}=x;l.useEffect(()=>{I(m)},[I,m]),l.useEffect(()=>{const ee=u.current;ee!==null&&(u.current=null,f.current?.querySelector(`[data-message-id="${ee}"]`)?.focus())});const S=l.useCallback(ee=>{g.current=!0,y(ee)},[g,y]),D=l.useCallback(ee=>{h||M(ee)},[h,M]),O=l.useCallback(()=>{v&&t(v)},[v,t]),C=l.useCallback(ee=>t(ee,{replace:!0}),[t]);Lg({keyboardFocusedMessageId:p.keyboardFocusedMessageId,openMessageId:e,enabled:h&&j===0,open:C});const[P,N]=l.useState(null),K=l.useCallback(ee=>P!==null?!0:j>0?(s(ee),!0):ee!=="delete"||!v?!1:(N([v]),!0),[P,j,s,v]),G=l.useCallback(()=>{P!==null&&(n(P),N(null),b())},[P,n,b]),le=l.useCallback(()=>N(null),[]),J=l.useCallback(()=>j===0?!1:(b(),!0),[j,b]),se=m.length>0;l.useEffect(()=>{if(i){if(!se){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:J,requestVerb:K,toggleDensity:()=>{}},()=>{i.current=null}}},[i,se,p.focusNext,p.focusPrevious,p.focusFirst,p.focusLast,p.toggleFocusedSelection,p.extendRangeDown,p.extendRangeUp,p.selectAllLoaded,O,J,K]);const oe=l.useMemo(()=>Array.from(E),[E]),de=P!==null;l.useEffect(()=>{c?.({focusedMessageId:v,selectedIds:oe,orderedIds:m,hasList:se,blocksKeyboard:de||r})},[c,v,oe,m,se,de,r]);const ce=Fg(m,v),X=l.useMemo(()=>({selectedIds:E,selectedCount:j,exitSelection:b,startSelectionVerb:s,orderedIds:m,allSelected:A,toggleAllLoaded:_,rowInteraction:ee=>({focused:ee===v,isTabStop:ee===ce,isDesktop:h,onFocusRow:S,selection:{isChecked:T(ee),onToggleCheck:R,onRowSelect:w,isMultiSelectMode:k,onLongPress:D}})}),[E,j,b,s,m,A,_,v,ce,h,S,T,R,w,k,D]);return a.jsxs(nr.Provider,{value:X,children:[a.jsx("div",{ref:f,className:"contents",children:d}),a.jsx(qc,{isOpen:de,title:Ic(P?.length??0),description:"You can restore them from Trash later.",confirmLabel:"Move to Trash",destructive:!0,isBusy:o,onConfirm:G,onCancel:le})]})}function Ov({title:e,isDeleting:t}){const n=Ai(),{selectedCount:s,exitSelection:r,startSelectionVerb:o,orderedIds:i,allSelected:c,toggleAllLoaded:d}=pb();return a.jsx(qd,{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:d}:void 0})}const ms=e=>{e.preventDefault(),e.stopPropagation()},xb=(e,t)=>{const n=l.useRef(!1),s=l.useCallback(i=>{if(n.current=!1,i.button!==0)return;const c=xs(i);Sr(c)&&t?.(e,c)&&(ms(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,ms(i),!0;const c=xs(i);return!Sr(c)||!t?.(e,c)?!1:(ms(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:d=!1,link:h,onClick:f,onFocusRow:m})=>{const p=Ae(),v=e.id,y=mb(v),u=n??y?.focused??!1,g=s??y?.isTabStop??!1,x=c??y?.selection,k=m??y?.onFocusRow,b=o??y?.isDesktop??!0,w=x?.isChecked??!1,E=x?.isMultiSelectMode??!1,j=x?.onToggleCheck,T=x?.onRowSelect,R=x?.onLongPress,M=l.useCallback(N=>{N.preventDefault(),N.stopPropagation(),j?.(v)},[j,v]),F=xb(v,T),A=l.useCallback(N=>{if(!F.claimClick(N)){if(!b){if(E){N.preventDefault(),N.stopPropagation(),j?.(v);return}f?.();return}T?.(v,xs(N)),f?.()}},[F,b,E,j,T,f,v]),_=l.useCallback(()=>{R?.(v)},[R,v]),{longPressProps:I}=sd({onLongPress:_,accessibilityDescription:w?"Deselect message":"Select message"}),S=l.useCallback(()=>{p.prefetchQuery(An({path:{messageId:v}}))},[p,v]),D=l.useCallback(()=>{S(),k?.(v)},[S,k,v]),O=rn({"data-list-row":"","data-message-row":!0,"data-message-id":v,...d?{role:"option","aria-selected":w}:{},tabIndex:g?0:-1,onClick:A,onMouseDown:F.onMouseDown,onContextMenu:F.onContextMenu,onMouseEnter:S,onFocus:D},b||!x?{}:I),C=q(r==="compact"?po({active:t,focused:u}):q("group",Ws({active:t,focused:u})),"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]"),P=r==="compact"?a.jsx(ho,{thread:e}):a.jsx(qs,{thread:e,badge:i,selection:x?{checked:w,alwaysVisible:E,onToggle:M}:void 0});return h===void 0?a.jsx("button",{type:"button",...O,className:C,children:P}):a.jsx(Wa,{to:"/mail/$mailboxId/$threadId/$messageId",params:{...h,messageId:v},search:N=>N,variant:"row",...O,className:C,children:P})},$v=l.memo(yb),ps="Open a message first",Fv=({hasThread:e,intelligenceOpen:t,canToggleIntelligence:n,onToggleIntelligence:s,onReply:r,onReplyAll:o,onForward:i,onDelete:c,canDelete:d,onToggleStar:h,isStarred:f,moveContext:m})=>{const[p,v]=l.useState(null),y=d??e,u=g=>()=>v(g);return a.jsx(ud,{hasThread:e,isStarred:f,onUnavailable:g=>v(ps),unavailableHint:p,replyTitle:`Reply ${zt("reply")}`,replyAllTitle:`Reply all ${zt("replyAll")}`,forwardTitle:`Forward ${zt("forward")}`,deleteTitle:`Move to Trash ${zt("delete")}`,flagTitle:`Star ${zt("toggleStar")}`,onReply:r,onReplyAll:o,onForward:i,onDelete:y?c:u(ps),onToggleStar:h,onMove:u(ps),moveSlot:m?a.jsx(tr,{accountId:m.accountId,currentMailboxId:m.currentMailboxId,onMove:m.onMove,label:"Move to mailbox"}):void 0,children:a.jsx(cd,{open:t,enabled:n,onToggle:s})})},wb=()=>{const e=Ae();return l.useCallback(t=>{const n=ut({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])},_v=({thread:e,mailboxId:t,accountId:n,onAfterOptimisticRemove:s})=>{const r=t??e?.mailboxId,o=n??e?.accountId,{accountId:i}=hi(o?void 0:r),c=o??i,d=wb(),{deleteMessages:h}=er({mailboxId:r??"",threadId:e?.threadId,accountId:c,onAfterOptimisticRemove:s}),{moveMessages:f}=Hn({mailboxId:r??"",threadId:e?.threadId,accountId:c,onAfterOptimisticRemove:s}),{toggleStar:m}=yi({threadId:e?.threadId??"",mailboxId:r??""}),p=l.useCallback(()=>{e&&h(d(e))},[e,d,h]),v=l.useCallback(k=>{e&&f(d(e),k)},[e,d,f]),y=l.useCallback(()=>{e&&m(e.messageId,e.hasStars)},[e,m]),[u,g]=l.useState(null),x=l.useCallback(()=>g(null),[]);return{mailboxId:r,accountId:c,isStarred:e?.hasStars,deleteThread:p,moveThread:v,toggleStar:y,composeRequest:u,requestCompose:g,clearComposeRequest:x}},zv=(e,t)=>{const{data:n}=pe({...$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},ya=(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]},Bv=()=>{const[e,t]=l.useState(void 0),[n,s]=l.useState([]),[r,o]=l.useState([]),i=l.useRef(null),[c,d]=l.useState(!1),[h,f]=l.useState(!1),m=l.useCallback(p=>{t(p.focusedMessageId),s(p.selectedIds),p.orderedIds&&o(p.orderedIds),d(p.hasList),f(p.blocksKeyboard)},[]);return{listCommandsRef:i,onTriageContextChange:m,focusedMessageId:e,selectedIds:n,orderedIds:r,hasList:c,blocksKeyboard:h}},Uv=({context:e,orderedIds:t,selectedMessageId:n,enabled:s=!0,onClose:r,handlers:o})=>{const{listCommandsRef:i,hasList:c,blocksKeyboard:d}=e,h=l.useCallback(()=>{i.current?.clearSelection()||n&&r()},[i,n,r]);return uc({enabled:s&&!d,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:ya(t,n,"next")??void 0,previousMessageId:ya(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 Hv(e,t){const{folder:n}=_s(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:Ot(e.sentDate),unread:!e.isRead,flagged:e.hasStars===!0,threadId:e.threadId,mailboxId:e.mailboxId,...n?{folder:n}:{}}}function Kv(e,t){const{folder:n}=_s(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}=_s(t,e.mailboxIds);return{id:e.messageId,sender:e.fromName??"Unknown",subject:e.subject??"(No subject)",snippet:"",date:e.sentDate!=null?Ot(e.sentDate*1e3):"",threadId:e.threadId,matchedChunkLabel:kb(e.matchedChunkType),score:e.score,...n?{mailboxId:n}:{},...s?{folder:s}:{}}}function Wv(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 qv(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:Ot(e.sentDate),sentDate:e.sentDate,isRead:e.isRead,hasAttachment:e.hasAttachment,starred:e.hasStars===!0,trust:e.senderTrust,category:wi(e.category),suspicious:t}}function Vv(e){return e.filter(t=>t.muted!==!0)}function Qv(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 wa=[{id:"personal",label:"Personal",category:Ze.personal},{id:"transactional",label:"Transactional",category:Ze.transactional},{id:"newsletter",label:"Newsletter",category:Ze.newsletter},{id:"marketing",label:"Marketing",category:Ze.marketing},{id:"social",label:"Social",category:Ze.social},{id:"automated",label:"Automated",category:Ze.automated},{id:"uncategorized",label:"Unclassified",category:Ze.uncategorized}];function Gv(e){const t=new Map(wa.map(s=>[s.category,[]]));for(const s of e){const r=s.category??Ze.uncategorized;(t.get(r)??t.get(Ze.uncategorized))?.push(s)}const n=[];for(const s of wa){const r=t.get(s.category);r&&r.length>0&&n.push({id:s.id,label:s.label,threads:r})}return n}function Yv(e,t){return e.fromName.toLowerCase().includes(t)||e.fromEmail.toLowerCase().includes(t)||e.subject.toLowerCase().includes(t)||e.snippet.toLowerCase().includes(t)}function Xv(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 Oi=8;function sr(e,t){const n=Math.max(0,Math.min(t,e.length)),s=Cc(e).find(o=>n>=o.start&&n<=o.end);if(!s)return{start:n,end:n,raw:""};const r=Ec(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=sr(e,t);if(n.name===void 0)return{kind:"token",query:n.raw};const s=Ba(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},Rs=(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,Oi).map(n=>n.suggestion)},Sa=e=>({value:`${e.name}:`,label:`${e.name}:`,hint:e.label});function Rb(e){const t=e.trim().toLowerCase();if(t==="")return ur.map(Sa);const n=[];for(const s of ur)if(n.push({rank:Rs(t,`${s.name}:`,s.label),suggestion:Sa(s)}),s.values==="fixed")for(const r of s.options??[]){const o=Ua(s.name,r.value);n.push({rank:Rs(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:Rs(s,o.value,o.label),suggestion:{value:Ua(e.name,o.value),label:o.label??o.value,...o.hint?{hint:o.hint}:{}}}));return $i(r)}function Mb(e,t,n={}){const s=sr(e,t);if(s.name===void 0)return Rb(s.raw);const r=Ba(s.name);return r?Ib(r,s.value??"",n):[]}function Ab(e,t,n){const s=sr(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}=Fs(),{mailboxesByName:r}=Ha(),o=r!==void 0,i=n?Eb(e,t):void 0,c=i?.source==="contact"?i.query.trim():"",d=zs(c,Pb),{data:h}=pe({...In({query:{q:d,limit:Oi}}),enabled:d.length>=Lb}),f=$s({queries:s.map(y=>({...nn({path:{accountId:y.accountId}}),staleTime:1/0}))}),m=l.useMemo(()=>o?dc(f.map(y=>y.data?.items??[]),s):[],[o,f,s]),p=l.useMemo(()=>fc(s),[s]),v=l.useMemo(()=>(h?.items??[]).map(Db),[h]);return l.useMemo(()=>{if(!n)return[];const y=Mb(e,t,{mailboxes:m,accounts:p,contacts:v});return o?y:y.filter(u=>u.value!=="in:")},[n,e,t,m,p,v,o])}const Fi="remit.recentSearches",$b=5;function Is(){try{const e=localStorage.getItem(Fi);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function ka(e){const t=e.trim();if(!t)return Is();const n=[t,...Is().filter(s=>s!==t)].slice(0,$b);try{localStorage.setItem(Fi,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}=So([...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 Jv({title:e,unreadCount:t,children:n,selectionBar:s,paneOverlay:r,footer:o,searchFilter:i,searchResults:c,searchLoading:d,relatedResults:h,relatedLoading:f,onSelectSearchResult:m,searchResultsLabel:p="Top matches",relatedResultsLabel:v="Related",searchResultsInBody:y=!1,refreshControl:u}){const{accounts:g,resultFolderIndex:x,searchQuery:k,searchInput:b,onSearchChange:w,onSearchClear:E,searchViewKey:j}=Fs(),T=Ha(),R=Os(),M=Zl(),F=mc(),[A,_]=l.useState(!1),[I,S]=l.useState(Is),D=ec(),O=l.useRef(j);l.useEffect(()=>{O.current!==j&&(O.current=j,_(!1))},[j]);const[C,P]=l.useState(0),[N,K]=l.useState(!1),[G,le]=l.useState(void 0),J=Ob({query:b,cursor:C,enabled:N&&b.trim().length>0}),se=l.useCallback(U=>{const Q=Ab(b,C,U);w(Q.query),le({cursor:Q.cursor})},[b,C,w]),oe=ja({count:J.length,onAccept:U=>{const Q=J[U];Q&&se(Q)}}),{comboboxProps:de,handleKeyDown:ce}=oe,X=l.useMemo(()=>({comboboxProps:de,onKeyDown:ce,onCaretChange:P,onFocusChange:K,...G?{caret:G}:{}}),[de,ce,G]),ee=oe.open?a.jsx(Ta,{id:oe.listId,suggestions:J,activeIndex:oe.activeIndex,optionId:oe.optionId,onPick:se,onHighlight:oe.setActiveIndex,label:"Search suggestions",className:"mx-row-inset mt-1 shrink-0"}):null,ve=b.trim().length>0,{mailboxesByName:xe,accountsByName:Ee}=T,je=l.useMemo(()=>Nc(b,{mailboxesByName:xe,accountsByName:Ee}),[b,xe,Ee]),H=je.tokens.map(U=>({label:za(U),onRemove:()=>w(jc(b,U))})),Te=c??[],ke=h??[],Re=ve?[{id:"top",label:p,results:Te},{id:"related",label:v,results:ke}]:[],De=!(Te.length+ke.length>0)&&(d===!0||f===!0),{scope:Y}=pc(g),te=Dc({select:U=>U.matches}),ye=Pc(te),V=Lc(te,Y,ye?x.get(ye)?.role:void 0),qe=V.kind==="global"?_b([...Te,...ke]):void 0,we=qe?{kind:"global",onScopeToSpam:()=>R({to:"/mail/$mailboxId",params:{mailboxId:qe.mailboxId},search:{q:k||void 0}})}:V,Fe=ke.length>0,Ue=l.useMemo(()=>ob(je,{searchHadSemanticReach:Fe}),[je,Fe]),Pe=ve?Ue:void 0,he=ve?{onClick:()=>{_(!1),D("properties","search")},blockedReason:If(Ue)?void 0:tc(Ue.droppedFacets.map(U=>U.label))}:void 0,ae=he?a.jsx(ko,{...he}):null,Ne=Fb({tier:F,hasLiveInput:ve,hasCommittedQuery:k.trim().length>0,bodyRendersCommittedResults:y}),Ve=U=>{S(ka(b)),m?.(U)},Oe=a.jsx(Co,{value:b,sections:Re,loading:De,onSelectResult:Ve,tokens:H,scope:we}),Je=s===void 0,_e=Ne?a.jsx("div",{className:"h-full overflow-y-auto",children:Oe}):null,Qe=_e&&!Je?_e:n,He=_e&&Je?_e:null,Z=hc(F),z=Z&&(A||ve),W=l.useMemo(()=>({title:e,searchResults:He,makeFilterSlot:ae,searchConversion:Pe,navSlot:M&&!M.showNavPane&&a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(Qc,{className:"size-5"}),onClick:()=>M.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(cr,{}),u]}),searchSlot:Z&&!z&&a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(nc,{className:"size-5"}),onClick:()=>_(!0),"aria-label":"Search",className:"shrink-0"}),searchField:z&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"min-w-0 flex-1",children:a.jsx(Fa,{value:b,onChange:w,onClear:E,globalFocusKey:!1,showClearButton:!1,suggest:X})}),a.jsx(ne,{variant:"ghost",size:"touch",icon:a.jsx(en,{className:"size-5"}),onClick:()=>{E(),_(!1)},"aria-label":"Close search",className:"shrink-0"}),a.jsx(cr,{})]})}),[e,t,M,Z,z,b,w,E,X,He,ae,Pe,u]);if(F==="phone"&&A){const U=Q=>{S(ka(b)),_(!1),m?.(Q)};return a.jsxs(Ts.Provider,{value:W,children:[a.jsx(Hd,{value:b,onChange:w,onClear:E,onCancel:()=>{_(!1),E()},filter:i,recentSearches:I,onPickRecent:w,makeFilter:he,sections:Re,loading:De,onSelectResult:U,tokens:H,scope:we,suggest:X,suggestList:ee}),r]})}return a.jsx(Ts.Provider,{value:W,children:a.jsxs("section",{className:"relative flex h-full w-full flex-col bg-surface",children:[s?.(W),ee,a.jsx("div",{className:"min-h-0 flex-1",children:Qe}),o,r]})})}export{jv as $,Ev as A,Nv as B,kd as C,jt as D,kv as E,qv as F,Xv as G,hi as H,wv as I,zv as J,er as K,Hn as L,$v as M,Bv as N,_v as O,yv as P,xv as Q,wb as R,qd as S,yi as T,pg as U,gg as V,vg as W,bg as X,Uv as Y,Sv as Z,bv as _,Ep as a,Fv as a0,fv as a1,Hv as a2,Wv as a3,Vv as a4,Qv as a5,Yv as a6,Kv as a7,So as a8,_b as a9,$u as aA,gv as aB,hv as aC,Wd as aD,Gv as aa,dv as ab,Fb as ac,Fd as ad,Lv as ae,lv as af,pb as ag,Jv as ah,nt as ai,tt as aj,Js as ak,Zt as al,vo as am,mv as an,Ov as ao,sd as ap,rn as aq,Ks as ar,xs as as,cv as at,uv as au,pv as av,od as aw,id as ax,ld as ay,vd as az,Zu as b,Ws as c,Ai as d,vv as e,Si as f,Xu as g,Dg as h,Mv as i,Dv as j,Iv as k,Rv as l,Lg as m,Yu as n,ip as o,Tv as p,Av as q,Fg as r,Pv as s,wi as t,xb as u,qu as v,$g as w,Th as x,ki as y,Cv as z};
@@ -1 +1 @@
1
- import{j as e,am as re,B as A,e as ie,r as x,b as Q,an as oe,T as ce,bH as le,u as ue,bI as U,bs as de,bJ as fe,bK as me,bL as xe,bM as ge,o as he,bt as pe,bN as be}from"./index-Bqn7f16e.js";import{R as ve,l as je,m as we}from"./search-token-index-D-3XiS1P.js";import{ap as Ne,aq as ye,c as Pe,b as q,ar as Ce,v as Re,as as ke,at as Se,au as Me,af as Ee,ah as Ie}from"./MailListHeader-CiYx2Ro0.js";import{A as ze}from"./avatar-CmvuzecB.js";import{M as Oe}from"./account-form-helpers-DAuyJa3o.js";import{M as Le}from"./menu-vEH9STs_.js";function De(){return e.jsx("div",{className:"space-y-0",role:"status","aria-busy":"true","aria-label":"Loading messages",children:Array.from({length:8}).map((s,n)=>e.jsxs("div",{className:"animate-pulse border-b border-line px-3 py-2",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("div",{className:"h-4 w-32 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-16 rounded bg-surface-sunken"})]}),e.jsx("div",{className:"mb-2 h-4 w-48 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-full rounded bg-surface-sunken"})]},n))})}function Te({filter:s,scopeLabel:n,searchQuery:r}){const f=r?.trim();return s?e.jsxs(G,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:_e[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(G,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const _e={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function G({children:s}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center",children:e.jsx("div",{className:"flex max-w-sm flex-col items-center justify-center p-8 text-center",children:s})})}function Ze(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const z=72,J=10,He=z/2,V="__swipeableRowAxisCancel";function Z(s){return s==="leading"?z:s==="trailing"?-z:0}function Xe(s){return s>=z/2?"leading":s<=-z/2?"trailing":"none"}function Be({thread:s,selectionMode:n,checked:r,active:f,peek:m,onPeek:g,onToggleCheck:y,onLongPress:j,onOpen:h,onAct:p}){const d=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=Ne({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[V]=!0,i.currentTarget.dispatchEvent(o)},a=ye(P,{onPointerDown:i=>{d.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=d.current;if(!o)return;const u=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>J&&Math.abs(M)>Math.abs(u)?o.axis="vertical":Math.abs(u)>J&&Math.abs(u)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(M);if(!o.escaped&&O>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),H=Math.max(-z,Math.min(z,F+u));v(H)},onPointerUp:i=>{const o=d.current;d.current=null;const u=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){u!==null&&g(Xe(u));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[V]||(d.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=Q("relative touch-pan-y bg-surface","select-none",Pe({active:r||f})),D={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(q,{thread:s})]}):e.jsxs(e.Fragment,{children:[$&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(q,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:D,children:T})]})}function Ke({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:d=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ve,{className:"size-4 animate-spin"}),e.jsx("span",{className:"text-xs",children:"Checking for new mail…"})]}),e.jsx("div",{className:"divide-y divide-line",children:w.map(a=>e.jsx("div",{className:d?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!d&&e.jsx("button",{type:"button",onClick:h,className:"w-full border-t border-line py-2 text-center text-2xs text-fg-subtle transition-colors hover:bg-surface-sunken",children:"Pull to refresh"})]})}const We=new Set;function es({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:d,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:D,hideHeader:$=!1}){const I=k==="compact"?Se:Me,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:U,enabled:!o});const u=o?l.focusedId:void 0,M=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${u}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[u]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[H,W]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{W(!0),setTimeout(()=>W(!1),1400)},_=a?.selectedIds??We,L=a?.onToggle,Y=a?.onRowSelect,te=Re(_.size,R),X=x.useCallback(t=>{if(L)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),L(t)}}},[_,L]),B=x.useCallback((t,c)=>Y?.(t,ke(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[Y]),ne=x.useCallback(({thread:t,active:c,onClick:K})=>e.jsx(I,{thread:t,active:c,focused:t.id===u,tabIndex:O(t.id),selection:X(t.id),onClick:ae=>{B(t.id,ae)||K?.()}}),[I,X,B,u,O]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(Le,{className:"size-4"}),onClick:S,"aria-label":"Open folders",className:"-ml-1 shrink-0"}),e.jsx("h1",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:s}),n&&e.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle",children:n})]})),g==="loading"?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(De,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):D??(F?e.jsx(Ke,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>L?.(t),onEnterSelection:t=>L?.(t),onOpenThread:t=>w?.(t),onRefresh:se,refreshing:H}):e.jsx("div",{ref:T,className:"flex-1 overflow-y-auto",children:r.map(t=>e.jsxs("div",{children:[!m&&t.label&&e.jsxs("div",{className:"sticky top-0 flex h-section-row items-center justify-between border-b border-line bg-surface-sunken px-row-inset",children:[e.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:t.label}),e.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:t.threads.length})]}),e.jsx("div",{className:"divide-y divide-line",children:t.threads.map(c=>e.jsx(I,{thread:c,active:c.id===P,focused:c.id===u,tabIndex:O(c.id),selection:X(c.id),onClick:K=>{B(c.id,K)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Ee,{hints:l?we(l.handlers):je}),C]})}var Ye=class extends fe{constructor(s,n){super(s,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(s){s._type="infinite",super.setOptions(s)}getOptimisticResult(s){return s._type="infinite",super.getOptimisticResult(s)}fetchNextPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"backward"}}})}createResult(s,n){const{state:r}=s,f=super.createResult(s,n),{isFetching:m,isRefetching:g,isError:y,isRefetchError:j}=f,h=r.fetchMeta?.fetchMore?.direction,p=y&&h==="forward",d=m&&h==="forward",b=y&&h==="backward",v=m&&h==="backward";return{...f,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:xe(n,r.data),hasPreviousPage:me(n,r.data),isFetchNextPageError:p,isFetchingNextPage:d,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!d&&!v}}};function ss(s,n){return ge(s,Ye)}function ts({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:d,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ie,{title:s,unreadCount:n,footer:d,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{Ze as M,Be as S,es as a,ts as b,ss as u};
1
+ import{j as e,am as re,B as A,e as ie,r as x,b as Q,an as oe,T as ce,bH as le,u as ue,bI as U,bs as de,bJ as fe,bK as me,bL as xe,bM as ge,o as he,bt as pe,bN as be}from"./index-CpL4QoWb.js";import{R as ve,l as je,m as we}from"./search-token-index-Bq5W3wIz.js";import{ap as Ne,aq as ye,c as Pe,b as q,ar as Ce,v as Re,as as ke,at as Se,au as Me,af as Ee,ah as Ie}from"./MailListHeader-DnFZsLU5.js";import{A as ze}from"./avatar-DRzAUKDn.js";import{M as Oe}from"./account-form-helpers-n79hZWCu.js";import{M as Le}from"./menu-C-178_d_.js";function De(){return e.jsx("div",{className:"space-y-0",role:"status","aria-busy":"true","aria-label":"Loading messages",children:Array.from({length:8}).map((s,n)=>e.jsxs("div",{className:"animate-pulse border-b border-line px-3 py-2",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("div",{className:"h-4 w-32 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-16 rounded bg-surface-sunken"})]}),e.jsx("div",{className:"mb-2 h-4 w-48 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-full rounded bg-surface-sunken"})]},n))})}function Te({filter:s,scopeLabel:n,searchQuery:r}){const f=r?.trim();return s?e.jsxs(G,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:_e[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(G,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const _e={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function G({children:s}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center",children:e.jsx("div",{className:"flex max-w-sm flex-col items-center justify-center p-8 text-center",children:s})})}function Ze(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const z=72,J=10,He=z/2,V="__swipeableRowAxisCancel";function Z(s){return s==="leading"?z:s==="trailing"?-z:0}function Xe(s){return s>=z/2?"leading":s<=-z/2?"trailing":"none"}function Be({thread:s,selectionMode:n,checked:r,active:f,peek:m,onPeek:g,onToggleCheck:y,onLongPress:j,onOpen:h,onAct:p}){const d=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=Ne({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[V]=!0,i.currentTarget.dispatchEvent(o)},a=ye(P,{onPointerDown:i=>{d.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=d.current;if(!o)return;const u=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>J&&Math.abs(M)>Math.abs(u)?o.axis="vertical":Math.abs(u)>J&&Math.abs(u)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(M);if(!o.escaped&&O>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),H=Math.max(-z,Math.min(z,F+u));v(H)},onPointerUp:i=>{const o=d.current;d.current=null;const u=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){u!==null&&g(Xe(u));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[V]||(d.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=Q("relative touch-pan-y bg-surface","select-none",Pe({active:r||f})),D={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(q,{thread:s})]}):e.jsxs(e.Fragment,{children:[$&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(q,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:D,children:T})]})}function Ke({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:d=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ve,{className:"size-4 animate-spin"}),e.jsx("span",{className:"text-xs",children:"Checking for new mail…"})]}),e.jsx("div",{className:"divide-y divide-line",children:w.map(a=>e.jsx("div",{className:d?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!d&&e.jsx("button",{type:"button",onClick:h,className:"w-full border-t border-line py-2 text-center text-2xs text-fg-subtle transition-colors hover:bg-surface-sunken",children:"Pull to refresh"})]})}const We=new Set;function es({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:d,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:D,hideHeader:$=!1}){const I=k==="compact"?Se:Me,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:U,enabled:!o});const u=o?l.focusedId:void 0,M=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${u}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[u]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[H,W]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{W(!0),setTimeout(()=>W(!1),1400)},_=a?.selectedIds??We,L=a?.onToggle,Y=a?.onRowSelect,te=Re(_.size,R),X=x.useCallback(t=>{if(L)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),L(t)}}},[_,L]),B=x.useCallback((t,c)=>Y?.(t,ke(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[Y]),ne=x.useCallback(({thread:t,active:c,onClick:K})=>e.jsx(I,{thread:t,active:c,focused:t.id===u,tabIndex:O(t.id),selection:X(t.id),onClick:ae=>{B(t.id,ae)||K?.()}}),[I,X,B,u,O]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(Le,{className:"size-4"}),onClick:S,"aria-label":"Open folders",className:"-ml-1 shrink-0"}),e.jsx("h1",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:s}),n&&e.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle",children:n})]})),g==="loading"?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(De,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):D??(F?e.jsx(Ke,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>L?.(t),onEnterSelection:t=>L?.(t),onOpenThread:t=>w?.(t),onRefresh:se,refreshing:H}):e.jsx("div",{ref:T,className:"flex-1 overflow-y-auto",children:r.map(t=>e.jsxs("div",{children:[!m&&t.label&&e.jsxs("div",{className:"sticky top-0 flex h-section-row items-center justify-between border-b border-line bg-surface-sunken px-row-inset",children:[e.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:t.label}),e.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:t.threads.length})]}),e.jsx("div",{className:"divide-y divide-line",children:t.threads.map(c=>e.jsx(I,{thread:c,active:c.id===P,focused:c.id===u,tabIndex:O(c.id),selection:X(c.id),onClick:K=>{B(c.id,K)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Ee,{hints:l?we(l.handlers):je}),C]})}var Ye=class extends fe{constructor(s,n){super(s,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(s){s._type="infinite",super.setOptions(s)}getOptimisticResult(s){return s._type="infinite",super.getOptimisticResult(s)}fetchNextPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"backward"}}})}createResult(s,n){const{state:r}=s,f=super.createResult(s,n),{isFetching:m,isRefetching:g,isError:y,isRefetchError:j}=f,h=r.fetchMeta?.fetchMore?.direction,p=y&&h==="forward",d=m&&h==="forward",b=y&&h==="backward",v=m&&h==="backward";return{...f,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:xe(n,r.data),hasPreviousPage:me(n,r.data),isFetchNextPageError:p,isFetchingNextPage:d,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!d&&!v}}};function ss(s,n){return ge(s,Ye)}function ts({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:d,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ie,{title:s,unreadCount:n,footer:d,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{Ze as M,Be as S,es as a,ts as b,ss as u};