@remit/web-client-dist 0.0.635 → 0.0.636

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 (156) hide show
  1. package/assets/{BriefPane-CcPGCsdQ.js → BriefPane-D75cGk9R.js} +1 -1
  2. package/assets/{CalendarComposePane-CS0JzQe5.js → CalendarComposePane-CQPTeieA.js} +1 -1
  3. package/assets/{CalendarComposeSeed-DiWHEwyG.js → CalendarComposeSeed-YcnTcc9q.js} +1 -1
  4. package/assets/{CalendarShell-B3kqh203.js → CalendarShell-C5-6_oQz.js} +1 -1
  5. package/assets/{EmptyState-D0-8vkl7.js → EmptyState-CwwN8uxT.js} +1 -1
  6. package/assets/{ErrorState-VVAbrV2n.js → ErrorState-DWzQfscg.js} +1 -1
  7. package/assets/{FlaggedPane-C10WBIzH.js → FlaggedPane-Jts36qML.js} +1 -1
  8. package/assets/{FullCompose-BPnHusXz.js → FullCompose-CPT2R-pn.js} +1 -1
  9. package/assets/{MailListHeader-nOmDteIr.js → MailListHeader-BVdr1xz_.js} +1 -1
  10. package/assets/{MailNav-CgR3wyoa.js → MailNav-CmvgCpY4.js} +1 -1
  11. package/assets/{MailShell-Pr322jmK.js → MailShell-DpEV7moX.js} +1 -1
  12. package/assets/{MailViewChrome-BQ6rm7E7.js → MailViewChrome-DO8IvQ0g.js} +1 -1
  13. package/assets/{MailboxPane-BXtDimzQ.js → MailboxPane-BsR7VsfJ.js} +1 -1
  14. package/assets/{NavMenuButton-RbQrIxF8.js → NavMenuButton-6SG5syJx.js} +1 -1
  15. package/assets/{OnboardingWizard-BFedeDPT.js → OnboardingWizard-CSUHbolo.js} +1 -1
  16. package/assets/{OpenCalendarEvent-BHw5I86C.js → OpenCalendarEvent-CeB7apup.js} +1 -1
  17. package/assets/{OutboxPane-CTseFzTa.js → OutboxPane-y8lpgoA7.js} +1 -1
  18. package/assets/_calendarObjectId-CIuW-Ie5.js +1 -0
  19. package/assets/_mailboxId-5RNGPJGS.js +1 -0
  20. package/assets/_messageId-BuD0qcm0.js +1 -0
  21. package/assets/_messageId-DUkglFhL.js +1 -0
  22. package/assets/_messageId-DfTFQr44.js +1 -0
  23. package/assets/_outboxMessageId-jTJb98_M.js +1 -0
  24. package/assets/_recurrenceId-CKRdebZ4.js +1 -0
  25. package/assets/_threadId-9TH68C7M.js +1 -0
  26. package/assets/_threadId-BzUUgT3O.js +1 -0
  27. package/assets/_threadId-CqA1Cn_c.js +1 -0
  28. package/assets/_view._date-DZANiEIP.js +1 -0
  29. package/assets/{accounts-CJxJvm7i.js → accounts-BNbNVL6a.js} +1 -1
  30. package/assets/{advanced-DlUXSovP.js → advanced-jKFdPJg9.js} +1 -1
  31. package/assets/{appearance-C974dCog.js → appearance-szgjdrBE.js} +1 -1
  32. package/assets/{attendee-row-DjEgLprV.js → attendee-row-BMb3eM14.js} +1 -1
  33. package/assets/{avatar-C2fjt5Oo.js → avatar-BI9-h2CG.js} +1 -1
  34. package/assets/{bell-off-DAf1mpP9.js → bell-off-CC53fBB2.js} +1 -1
  35. package/assets/{bottom-sheet-V9w5p7mb.js → bottom-sheet-D8oEb9Zv.js} +1 -1
  36. package/assets/brief-Bd33YTD_.js +1 -0
  37. package/assets/{brief-B0ofNfT2.js → brief-DE8_cylr.js} +1 -1
  38. package/assets/{browser-ponyfill-BQRK5_Us.js → browser-ponyfill-CRcfJGCX.js} +2 -2
  39. package/assets/{bug-ChX59CrI.js → bug-Dh0UIzTd.js} +1 -1
  40. package/assets/{calendar-CJmjuskA.js → calendar-DI1uSMAF.js} +1 -1
  41. package/assets/{calendar-clash-strip-DFE2SLBf.js → calendar-clash-strip-BeF8DhB-.js} +1 -1
  42. package/assets/{calendar-format-DLCAmYF3.js → calendar-format-nYSxDVLX.js} +1 -1
  43. package/assets/{calendar-report--e3n3TXF.js → calendar-report-_QLAbdRS.js} +1 -1
  44. package/assets/{calendar-suggestion-Bey-p_uQ.js → calendar-suggestion-E9w2nRWu.js} +1 -1
  45. package/assets/{calendars-IOjKgVC9.js → calendars-Boz0CIFB.js} +1 -1
  46. package/assets/{card-DR5Bp3Kv.js → card-BmYyqZU8.js} +1 -1
  47. package/assets/{checkbox-rzdV9G0C.js → checkbox-CZD6i6IR.js} +1 -1
  48. package/assets/chevron-left-B1U3lovQ.js +1 -0
  49. package/assets/{circle-check-BniV5uth.js → circle-check-Bpm-cdIg.js} +1 -1
  50. package/assets/{circle-check-big-DdHuPOQ8.js → circle-check-big-CA-bYUtr.js} +1 -1
  51. package/assets/{circle-help-CxYf0rqb.js → circle-help-gF5YAjts.js} +1 -1
  52. package/assets/{clock-DMOwCMnh.js → clock-CHCFgl4d.js} +1 -1
  53. package/assets/compose._-_outboxMessageId_-BH8gcpDj.js +1 -0
  54. package/assets/compose._-_outboxMessageId_-D3WpZSA8.js +1 -0
  55. package/assets/compose._-_outboxMessageId_-DI8h85aO.js +1 -0
  56. package/assets/compose._-_outboxMessageId_-WBhljHnY.js +1 -0
  57. package/assets/{config-import-xKkBqDs3.js → config-import-D9ehhdRH.js} +1 -1
  58. package/assets/{confirm-dialog-Cfujg7eJ.js → confirm-dialog-CocDko9U.js} +1 -1
  59. package/assets/{copy-CkTTUrrp.js → copy-DgGekFwr.js} +1 -1
  60. package/assets/{credential-steps-DRNC_g97.js → credential-steps-C6B4LLDZ.js} +1 -1
  61. package/assets/{download-BQh_pCga.js → download-CHu9yf-9.js} +1 -1
  62. package/assets/{file-json-BlL9tl5c.js → file-json-lCoJ4MMG.js} +1 -1
  63. package/assets/{filters-DOtkcHka.js → filters-CgNi0_GK.js} +1 -1
  64. package/assets/flagged-BRQyqp_w.js +1 -0
  65. package/assets/{flagged-BrPpE3Sc.js → flagged-C06PvFbr.js} +1 -1
  66. package/assets/{folders-DurPEuZa.js → folders-BC2O8pN-.js} +1 -1
  67. package/assets/{help-copy-uYovF378.js → help-copy-0vW7Uvdo.js} +1 -1
  68. package/assets/{import-DMXkiU6R.js → import-BJiWqnIA.js} +1 -1
  69. package/assets/index-6DAZlug3.js +1 -0
  70. package/assets/index-B4H0cbaA.js +1 -0
  71. package/assets/{index-BZsbyrwY.css → index-BOf0CjTQ.css} +1 -1
  72. package/assets/index-BuD0qcm0.js +1 -0
  73. package/assets/index-CEzeDIpM.js +1 -0
  74. package/assets/{index-DIEie7Yj.js → index-CTrN7dU7.js} +59 -59
  75. package/assets/index-CdEqoUhn.js +1 -0
  76. package/assets/index-CxnKAlnw.js +1 -0
  77. package/assets/{index-Bsm5MTTG.js → index-DMA0YSsS.js} +4 -4
  78. package/assets/{index-B3zzgv4e.js → index-DdmJVTyk.js} +1 -1
  79. package/assets/index-DfTFQr44.js +1 -0
  80. package/assets/index-XCWyX4Nu.js +1 -0
  81. package/assets/index-jeAFdPQ9.js +1 -0
  82. package/assets/{kbd-lDzxHVCS.js → kbd-DNmTK9ke.js} +1 -1
  83. package/assets/{labels-DNITzKN5.js → labels-1K3nCcmA.js} +1 -1
  84. package/assets/{mail-1A5f6iAE.js → mail-2Lzca0sU.js} +1 -1
  85. package/assets/{mail-BeoUl3Ta.js → mail-DverAFVu.js} +1 -1
  86. package/assets/{menu-C21gm-LC.js → menu-AiRz5rLS.js} +1 -1
  87. package/assets/minus-QLsR9rVM.js +1 -0
  88. package/assets/{new-DnBb5DN4.js → new-DHyHJz8l.js} +1 -1
  89. package/assets/onboarding-CRGGfEXZ.js +1 -0
  90. package/assets/{onboarding-completion-Bmd-HN_3.js → onboarding-completion-Bgona01R.js} +1 -1
  91. package/assets/outbox-egss0WYm.js +1 -0
  92. package/assets/{pane-header-B3IIk3fJ.js → pane-header-C6F97UxO.js} +1 -1
  93. package/assets/{pencil-D2ugaHF8.js → pencil-DpZEcc9Q.js} +1 -1
  94. package/assets/{popover-menu-BzPU2XRv.js → popover-menu-I_p7C4RX.js} +1 -1
  95. package/assets/{refresh-cw-Ckd0XdaA.js → refresh-cw-CrSEtN0j.js} +1 -1
  96. package/assets/{rich-text-Rzrxb7e0.js → rich-text-BY2WyJzR.js} +1 -1
  97. package/assets/{rich-text-spellcheck-worker-provider-CqKdM7_E.js → rich-text-spellcheck-worker-provider-C53QtR8U.js} +1 -1
  98. package/assets/{rotate-ccw-BeK7IKWo.js → rotate-ccw-BwoJPdTA.js} +1 -1
  99. package/assets/{roving-focus-CB0KLgKq.js → roving-focus-BYBMU9YM.js} +1 -1
  100. package/assets/{row-actions-Dig-tNEz.js → row-actions-M9Ety9op.js} +1 -1
  101. package/assets/{search-mirror-Bt_QYWap.js → search-mirror-C1R24HUl.js} +1 -1
  102. package/assets/{search-token-index-CclyV_x2.js → search-token-index-BinolOMC.js} +1 -1
  103. package/assets/{sections-n58EA842.js → sections-CfTDsSEu.js} +1 -1
  104. package/assets/{senders-WSsq5WoC.js → senders-CxFpOLNR.js} +1 -1
  105. package/assets/settings-I6fzE2gz.js +1 -0
  106. package/assets/{settings-screen-xG7ySj9h.js → settings-screen-BVPfYXKu.js} +1 -1
  107. package/assets/{shield-check-Bl7sJ69b.js → shield-check-B8NtyqSa.js} +1 -1
  108. package/assets/{suggested-vips-Bl6VCH8I.js → suggested-vips-CvGUhfMR.js} +1 -1
  109. package/assets/{undo-2-CXpll-5G.js → undo-2-DafMLJl8.js} +1 -1
  110. package/assets/{useCalendarData-CBlxoUbW.js → useCalendarData-CEqOF86-.js} +1 -1
  111. package/assets/{useCalendarWrites-LDB7-Ss2.js → useCalendarWrites-B66T9V8C.js} +1 -1
  112. package/assets/{useCalendars-CLOowhmo.js → useCalendars-DSVgnNGS.js} +1 -1
  113. package/assets/{useDebouncedValue-CkCDwwGn.js → useDebouncedValue-DgoW2gtH.js} +1 -1
  114. package/assets/{useFilters-Dog2qi1C.js → useFilters-CI6nPI8A.js} +1 -1
  115. package/assets/{useLabels-BJtlozty.js → useLabels-BLAR4UCi.js} +1 -1
  116. package/assets/{useLayoutTier-nR-X4oh4.js → useLayoutTier-Cs2hRSyr.js} +1 -1
  117. package/assets/{useMessageBodyContent-DaCPQpX3.js → useMessageBodyContent-C6WheWR5.js} +1 -1
  118. package/assets/{useQueries-DfoafMCX.js → useQueries-8ibIA6jj.js} +1 -1
  119. package/assets/{useRefreshControl-CHw1FCdw.js → useRefreshControl-BHFXn1pg.js} +1 -1
  120. package/assets/{useResultFolderIndex-BwoZm495.js → useResultFolderIndex-BhA2C88T.js} +1 -1
  121. package/assets/{useSearchTokenContext-MVchIFCF.js → useSearchTokenContext-BZ3hasAQ.js} +3 -3
  122. package/assets/{useSemanticSearch-BVBm7ORD.js → useSemanticSearch-BPL9gQ__.js} +1 -1
  123. package/assets/{useSignature-D4rel0VO.js → useSignature-COUd5paq.js} +1 -1
  124. package/index.html +2 -2
  125. package/package.json +1 -1
  126. package/assets/_calendarObjectId-DJdM4tzN.js +0 -1
  127. package/assets/_mailboxId-BLQlyM6f.js +0 -1
  128. package/assets/_messageId-B04z2hI3.js +0 -1
  129. package/assets/_messageId-CB5hv97O.js +0 -1
  130. package/assets/_messageId-LXUUSaOB.js +0 -1
  131. package/assets/_outboxMessageId-B9tYWk_8.js +0 -1
  132. package/assets/_recurrenceId-BiHsfCKf.js +0 -1
  133. package/assets/_threadId-6k0O2tZu.js +0 -1
  134. package/assets/_threadId-BQm-zwWW.js +0 -1
  135. package/assets/_threadId-oj5Cr5Su.js +0 -1
  136. package/assets/_view._date-D-aH9vb8.js +0 -1
  137. package/assets/brief-jd-FT6Hv.js +0 -1
  138. package/assets/chevron-left-wWboU2sl.js +0 -1
  139. package/assets/compose._-_outboxMessageId_-BiXse-xz.js +0 -1
  140. package/assets/compose._-_outboxMessageId_-DGECiGv0.js +0 -1
  141. package/assets/compose._-_outboxMessageId_-Oje2LYqv.js +0 -1
  142. package/assets/compose._-_outboxMessageId_-jGe5jfaP.js +0 -1
  143. package/assets/flagged-C4VIjSex.js +0 -1
  144. package/assets/index-B1vstv9o.js +0 -1
  145. package/assets/index-BMDcfxBa.js +0 -1
  146. package/assets/index-BhWy8P2E.js +0 -1
  147. package/assets/index-Bu1epPot.js +0 -1
  148. package/assets/index-CB5hv97O.js +0 -1
  149. package/assets/index-CbT_w2eV.js +0 -1
  150. package/assets/index-CvYaSCJa.js +0 -1
  151. package/assets/index-D6xImJHd.js +0 -1
  152. package/assets/index-LXUUSaOB.js +0 -1
  153. package/assets/minus-BYvW5VdR.js +0 -1
  154. package/assets/onboarding-D_uulq54.js +0 -1
  155. package/assets/outbox-Dc0K4OF8.js +0 -1
  156. package/assets/settings-kGy860Jm.js +0 -1
@@ -0,0 +1 @@
1
+ import{eU as o,j as r}from"./index-CTrN7dU7.js";import{O as m}from"./OpenCalendarEvent-CeB7apup.js";import"./CalendarComposePane-CQPTeieA.js";import"./calendar-format-nYSxDVLX.js";import"./useQueries-8ibIA6jj.js";import"./useCalendars-DSVgnNGS.js";import"./calendar-clash-strip-BeF8DhB-.js";import"./attendee-row-BMb3eM14.js";import"./avatar-BI9-h2CG.js";import"./minus-QLsR9rVM.js";import"./clock-CHCFgl4d.js";import"./calendar-report-_QLAbdRS.js";import"./mail-2Lzca0sU.js";import"./pencil-DpZEcc9Q.js";import"./useCalendarWrites-B66T9V8C.js";import"./ErrorState-DWzQfscg.js";import"./useCalendarData-CEqOF86-.js";import"./calendar-subscription-B-aAc2Gy.js";function b(){const{calendarObjectId:t}=o.useParams();return r.jsx(m,{calendarObjectId:t})}export{b as component};
@@ -0,0 +1 @@
1
+ import{j as o}from"./index-CTrN7dU7.js";import{F as r}from"./FlaggedPane-Jts36qML.js";import"./useSearchTokenContext-BZ3hasAQ.js";import"./kbd-DNmTK9ke.js";import"./useMessageBodyContent-C6WheWR5.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-BVdr1xz_.js";import"./roving-focus-BYBMU9YM.js";import"./search-token-index-BinolOMC.js";import"./useQueries-8ibIA6jj.js";import"./popover-menu-I_p7C4RX.js";import"./mail-2Lzca0sU.js";import"./avatar-BI9-h2CG.js";import"./index-DMA0YSsS.js";import"./useSignature-COUd5paq.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-DgoW2gtH.js";import"./sections-CfTDsSEu.js";import"./EmptyState-CwwN8uxT.js";import"./ErrorState-DWzQfscg.js";import"./undo-2-DafMLJl8.js";import"./download-CHu9yf-9.js";import"./calendar-suggestion-E9w2nRWu.js";import"./calendar-format-nYSxDVLX.js";import"./useCalendars-DSVgnNGS.js";import"./calendar-report-_QLAbdRS.js";import"./attendee-row-BMb3eM14.js";import"./minus-QLsR9rVM.js";import"./clock-CHCFgl4d.js";import"./calendar-clash-strip-BeF8DhB-.js";import"./bell-off-CC53fBB2.js";import"./copy-DgGekFwr.js";import"./shield-check-B8NtyqSa.js";import"./useFilters-CI6nPI8A.js";import"./checkbox-CZD6i6IR.js";import"./confirm-dialog-CocDko9U.js";import"./useLayoutTier-Cs2hRSyr.js";import"./menu-AiRz5rLS.js";import"./MailViewChrome-DO8IvQ0g.js";import"./refresh-cw-CrSEtN0j.js";import"./wizard-selection-DxUM65kM.js";function Q(){return o.jsx(r.Reading,{})}export{Q as component};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-spellcheck-worker-provider-CqKdM7_E.js","assets/index-DIEie7Yj.js","assets/index-BZsbyrwY.css","assets/rich-text-spellcheck-provider-J8m9wz6A.js","assets/rich-text-Rzrxb7e0.js","assets/roving-focus-CB0KLgKq.js","assets/confirm-dialog-Cfujg7eJ.js","assets/bottom-sheet-V9w5p7mb.js","assets/popover-menu-BzPU2XRv.js","assets/undo-2-CXpll-5G.js","assets/useMessageBodyContent-DaCPQpX3.js","assets/useSignature-D4rel0VO.js","assets/account-form-helpers-DhckT_PN.js","assets/useDebouncedValue-CkCDwwGn.js","assets/sections-n58EA842.js"])))=>i.map(i=>d[i]);
2
- import{e as ha,j as d,X as ir,t as sn,f as cn,L as cr,a1 as pa,a3 as va,r as s,cr as ga,cs as ya,a0 as wa,_ as ur,B as lr,ar as ba,ct as Ea,$ as xa,cu as Sa,cv as pn,bY as dr,cw as Re,cx as fr,cy as Ra,ci as Ca,cz as Ce,i as Pe,aJ as Le,cA as Ta,cB as Aa,cC as mr,h as Da,cD as Na,ad as Oa,c as Ot,bR as ka,cE as hr,aH as Ia,aI as Pa,cF as La,cG as _a,bT as Ma,d as pr,cH as ja,at as Fa,cI as $a,bk as Nn,cJ as Ba,cK as Ha,av as Ua,cL as Wa,au as za,bq as Va,cM as qa,as as C}from"./index-DIEie7Yj.js";import{b as Ka}from"./useMessageBodyContent-DaCPQpX3.js";import{u as Ya}from"./useSignature-D4rel0VO.js";import{b as Ga}from"./account-form-helpers-DhckT_PN.js";import{u as Xa}from"./useDebouncedValue-CkCDwwGn.js";import{a as Qa}from"./sections-n58EA842.js";const vr=ha("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]),Za=({email:e,displayName:t,onRemove:n,className:r})=>d.jsxs("span",{className:sn("inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-accent-2-soft text-sm max-w-[200px]",r),children:[d.jsx("span",{className:"truncate",children:t||e}),d.jsx("button",{type:"button",onClick:n,className:"shrink-0 p-0.5 rounded-full hover:bg-fg-muted/20 transition-colors","aria-label":`Remove ${e}`,children:d.jsx(ir,{className:"size-3"})})]}),Ja=/[\u0000-\u001f\u007f-\u009f\u061c\u200b-\u200f\u2028\u2029\u202a-\u202e\u2066-\u2069\ufeff]/g,eo=/[<>:"|?*]/g,to=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(\.|$)/i,On=120,no=12,ro="attachment",kn=e=>{const t=[...e];if(t.length<=On)return e;const n=e.lastIndexOf("."),r=n>0&&[...e.slice(n)].length<=no?e.slice(n):"",a=On-[...r].length;return t.slice(0,a).join("")+r},Hc=(e,t=ro)=>{const r=e.replace(Ja,"").split(/[/\\]/),o=(r[r.length-1]??"").replace(eo,"_").replace(/^[.\s]+/,"").replace(/[.\s]+$/,"");if(o.length===0)return kn(t);const i=to.test(o)?`_${o}`:o;return kn(i)},In=["KB","MB","GB","TB"],ao=e=>{if(!Number.isFinite(e)||e<0)return"unknown size";const t=Math.round(e);if(t<1024)return t===1?"1 byte":`${t} bytes`;const n=1023.95;let r=t/1024,a=0;for(;r>=n&&a<In.length-1;)r/=1024,a+=1;return`${r.toFixed(1).replace(/\.0$/,"")} ${In[a]}`},oo=({disabled:e,onAttach:t})=>{const n=s.useRef(null);return d.jsxs(d.Fragment,{children:[d.jsx(cn,{variant:"ghost",size:"md","aria-label":"Attach files",title:"Attach files","aria-busy":e,className:"min-h-11 min-w-11 px-2","data-testid":"compose-attach",icon:d.jsx(vr,{className:"size-4"}),onClick:()=>{e||n.current?.click()}}),d.jsx("input",{ref:n,type:"file",multiple:!0,hidden:!0,"data-testid":"compose-attach-input",onChange:r=>{const a=Array.from(r.currentTarget.files??[]);r.currentTarget.value="",a.length>0&&t(a)}})]})},so=({save:e})=>e.status==="saving"?d.jsx("output",{className:"animate-pulse text-xs text-fg-muted",children:"Saving..."}):e.status==="saved"?d.jsx("output",{className:"text-xs text-fg-muted",children:"Draft saved"}):e.status==="error"?d.jsx("output",{className:"text-xs text-danger",children:"Save failed"}):e.status==="unsaved"?d.jsx("output",{className:"truncate text-xs text-warning",children:e.reason}):null;function io({send:e,onSend:t,onBlocked:n,onDiscard:r,save:a={status:"idle"},onAttach:o}){const i=e.status==="sending",c=e.status==="blocked"?e.reason:void 0;return d.jsxs("div",{className:"flex items-center justify-between border-t border-line px-3 py-2",children:[d.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[d.jsx(cn,{variant:"primary",size:"md","aria-busy":i,title:c,className:"min-h-11 shrink-0 rounded-full px-4","data-testid":"compose-send",icon:i?d.jsx(cr,{className:"size-4 animate-spin"}):d.jsx(pa,{className:"size-4"}),onClick:()=>{if(!i){if(c!==void 0){n(c);return}t()}},children:"Send"}),o&&d.jsx(oo,{disabled:i,onAttach:o}),d.jsx(so,{save:a})]}),d.jsx(cn,{variant:"ghost",size:"md","aria-busy":i,"aria-label":"Discard",className:"min-h-11 min-w-11 px-2 hover:text-danger",icon:d.jsx(va,{className:"size-4"}),onClick:()=>{i||r()}})]})}const Pn=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim()),co=e=>{const t=e.trim();if(!t)return;const n=t.match(/^(.+?)\s*<([^>]+)>$/);if(n){const r=n[1].trim().replace(/^"(.*)"$/,"$1"),a=n[2].trim();if(Pn(a))return{email:a,displayName:r}}if(Pn(t))return{email:t}},uo=e=>{const t=[];let n="",r=!1,a=!1;for(const o of e){if(o==='"'&&(r=!r),o==="<"&&(a=!0),o===">"&&(a=!1),(o===","||o===";")&&!r&&!a){t.push(n),n="";continue}n+=o}return t.push(n),t},lo=e=>{const t=[],n=[];for(const r of uo(e)){const a=co(r);if(a){t.push(a);continue}r.trim()&&n.push(r.trim())}return{entries:t,unparsed:n.join(", ")}},fo=["Tab",","],mo=150,ho=({label:e,addresses:t,onChange:n,placeholder:r,suggestions:a=[],onQueryChange:o,onPendingChange:i,ref:c})=>{const[m,f]=s.useState(""),l=s.useRef(null),u=s.useMemo(()=>lo(m),[m]);s.useEffect(()=>{i?.(u)},[u,i]);const p=s.useRef(void 0),y=s.useCallback(()=>{p.current!==void 0&&(clearTimeout(p.current),p.current=void 0)},[]);s.useEffect(()=>y,[y]);const x=new Set(t.map(w=>w.email.toLowerCase())),h=m.length>=2?a.filter(w=>!x.has(w.email.toLowerCase())):[],E=s.useCallback(w=>{f(w),o?.(w)},[o]),b=s.useCallback(w=>{y(),!x.has(w.email.toLowerCase())&&(n([...t,w]),E(""))},[t,x,n,E,y]),T=s.useCallback(w=>{n(t.filter((_,R)=>R!==w))},[t,n]),g=s.useCallback(w=>{b(w),l.current?.focus()},[b]),v=s.useCallback(()=>{if(y(),u.entries.length===0)return{addresses:t,unparsed:u.unparsed};const w=new Set(x),_=[...t];for(const R of u.entries){const W=R.email.toLowerCase();w.has(W)||(w.add(W),_.push(R))}return n(_),E(u.unparsed),{addresses:_,unparsed:u.unparsed}},[u,t,x,n,E,y]),D=s.useCallback(()=>{y(),E("")},[E,y]);s.useImperativeHandle(c,()=>({commitPending:v,clearPending:D}),[v,D]);const L=s.useRef(v);s.useEffect(()=>{L.current=v},[v]);const S=ga({count:h.length,acceptKeys:fo,onAccept:w=>g(h[w])}),O=s.useMemo(()=>h.map(w=>({value:w.email,label:w.displayName??w.email,...w.displayName?{hint:w.email}:{}})),[h]),k=s.useCallback(w=>{if(w.key==="Backspace"&&m===""&&t.length>0){T(t.length-1);return}S.handleKeyDown(w)||(w.key==="Enter"||w.key==="Tab"||w.key===",")&&m.trim()&&(w.preventDefault(),v())},[m,t.length,T,S.handleKeyDown,v]),j=s.useCallback(()=>{y(),p.current=setTimeout(()=>{p.current=void 0,L.current(),S.dismiss()},mo)},[y,S.dismiss]);return d.jsxs("div",{className:"relative","data-address-field":e,children:[d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsxs("label",{htmlFor:`address-field-${e}`,className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:[e,":"]}),d.jsxs("div",{className:"flex-1 flex flex-wrap items-center gap-1 min-h-[36px] px-2 py-1 border rounded-md bg-canvas cursor-text",onClick:()=>l.current?.focus(),onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&l.current?.focus()},children:[t.map((w,_)=>d.jsx(Za,{email:w.email,displayName:w.displayName,onRemove:()=>T(_)},w.email)),d.jsx("input",{ref:l,id:`address-field-${e}`,type:"text",value:m,onChange:w=>{S.reopen(),E(w.target.value)},onKeyDown:k,onBlur:j,placeholder:t.length===0?r:"",className:"flex-1 min-w-[120px] bg-transparent outline-none text-sm py-0.5",autoComplete:"off",...S.comboboxProps})]})]}),S.open&&d.jsx(ya,{id:S.listId,suggestions:O,activeIndex:S.activeIndex,optionId:S.optionId,onPick:w=>{const _=h.find(R=>R.email===w.value);_&&g(_)},onHighlight:S.setActiveIndex,label:`${e} suggestions`,className:"absolute left-12 right-0 z-50 mt-1 max-h-[200px] shadow-lg"})]})},po=({state:e})=>e.status==="uploading"?d.jsx(cr,{className:"size-4 shrink-0 animate-spin text-fg-subtle","aria-hidden":!0}):e.status==="failed"?d.jsx(wa,{className:"size-4 shrink-0 text-danger","aria-hidden":!0}):d.jsx(vr,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0});function vo({items:e,onRemove:t,onRetry:n,className:r}){return e.length===0?null:d.jsx("ul",{"aria-label":"Attached files","data-testid":"compose-attachments",className:sn("flex flex-col gap-1 px-3 py-2",r),children:e.map(a=>d.jsxs("li",{"data-testid":"compose-attachment","data-state":a.state.status,className:sn("rounded-sm border bg-surface",a.state.status==="failed"?"border-danger/40":"border-line"),children:[d.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5",children:[d.jsx(po,{state:a.state}),d.jsxs("span",{className:"min-w-0 flex-1",children:[d.jsx("bdi",{className:"block truncate text-sm text-fg",title:a.filename,children:a.filename}),d.jsxs("span",{className:"block text-2xs text-fg-subtle",children:[ao(a.sizeBytes),a.state.status==="uploading"?" · Uploading…":""]})]}),a.state.status==="failed"&&a.state.retryable&&d.jsx("button",{type:"button",onClick:()=>n(a.key),className:"text-xs font-medium text-accent hover:underline",children:"Try again"}),d.jsx("button",{type:"button","aria-label":`Remove ${a.filename}`,onClick:()=>t(a.key),className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-sunken hover:text-fg",children:d.jsx(ir,{className:"size-4","aria-hidden":!0})})]}),a.state.status==="failed"&&d.jsx("p",{role:"alert","data-testid":"compose-attachment-error",className:"border-t border-danger/30 bg-danger-soft px-2 py-1.5 text-xs text-danger",children:a.state.reason})]},a.key))})}const go=()=>d.jsxs("div",{"aria-hidden":"true","data-testid":"compose-body-skeleton",className:"min-h-[120px] px-3 py-2",children:[d.jsx("div",{className:"mb-2 h-8 animate-pulse rounded bg-surface-sunken"}),d.jsx("div",{className:"min-h-[80px] animate-pulse rounded bg-surface-sunken/50"})]});function yo({banner:e,header:t,children:n,quoted:r,attachments:a,actionBar:o,layout:i="fill"}){const c=i==="fill";return d.jsxs("div",{className:c?"flex h-full min-h-0 flex-col":"flex flex-col",children:[e,t,d.jsxs("div",{className:c?"flex min-h-0 flex-1 flex-col overflow-auto":"flex flex-col","data-testid":"compose-body-area",children:[n,r&&d.jsx("div",{className:"shrink-0 px-3 pb-2",children:r})]}),a&&d.jsx("div",{className:"shrink-0",children:a}),c?o:d.jsx("div",{className:"sticky bottom-0 z-10 bg-canvas",children:o})]})}const zt=({label:e,onClick:t})=>d.jsx("button",{type:"button",onClick:t,className:"text-xs text-fg-muted hover:text-fg transition-colors",children:e}),wo=({to:e,cc:t,bcc:n,subject:r})=>{const a=[];return e.length>0&&a.push(`To: ${e.map(o=>o.displayName??o.email).join(", ")}`),t.length>0&&a.push(`Cc: ${t.length}`),n.length>0&&a.push(`Bcc: ${n.length}`),r&&a.push(r),a.join(" · ")},bo=({collapsed:e=!1,summary:t="",onExpand:n,from:r,to:a,cc:o,bcc:i,subject:c,onShowCc:m,onShowBcc:f})=>e?d.jsxs("button",{type:"button",onClick:n,"aria-label":"Show recipients and subject",className:"flex min-h-11 w-full items-center gap-2 overflow-hidden border-b border-line px-3 py-1.5 text-left transition-colors hover:bg-surface-sunken","data-testid":"compose-header-collapsed",children:[d.jsx("span",{className:"truncate text-xs text-fg-muted",children:t||"…"}),d.jsx(ur,{className:"ml-auto size-4 shrink-0 text-fg-muted","aria-hidden":"true"})]}):d.jsxs("div",{className:"space-y-1 px-3 py-2 border-b border-line",children:[r,a,o??d.jsxs("div",{className:"flex gap-2 pl-14",children:[d.jsx(zt,{label:"Cc",onClick:m}),d.jsx(zt,{label:"Bcc",onClick:f})]}),o&&!i&&d.jsx("div",{className:"pl-14",children:d.jsx(zt,{label:"Bcc",onClick:f})}),i,c]}),gr="This message is attachments only, and attachments aren't forwarded — a forward would arrive with nothing of the original in it.",Eo="This message is attachments only, so there's nothing to quote and your reply goes out without the original.",xo=e=>e==="forward"?gr:Eo,So=({mode:e})=>d.jsx(lr,{tone:"warning","data-testid":"compose-quote-missing",children:d.jsx("span",{children:xo(e)})}),un="This account can't send mail until SMTP is configured.",Ro=({onConfigure:e,configureRef:t})=>d.jsxs("div",{role:"alert","data-testid":"compose-smtp-missing-banner",className:"flex items-start gap-3 border-b border-warning/50 bg-warning/10 px-3 py-2",children:[d.jsx(ba,{className:"size-5 shrink-0 mt-0.5 text-warning","aria-hidden":"true"}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx("p",{className:"text-sm font-medium text-warning",children:un}),d.jsxs("button",{ref:t,type:"button",onClick:e,"data-testid":"compose-smtp-configure",className:"mt-1 inline-flex items-center gap-1 text-xs font-medium text-warning hover:underline",children:["Configure SMTP",d.jsx(Ea,{className:"size-3","aria-hidden":"true"})]})]})]}),Co=({value:e,onChange:t})=>d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"Subj:"}),d.jsx("input",{type:"text",value:e,onChange:n=>t(n.target.value),className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",placeholder:"Subject","data-subject-field":!0})]}),To=({text:e,html:t,senderName:n,date:r})=>{const[a,o]=s.useState(!1);if(!e&&!t)return null;const i=[n,r].filter(Boolean).join(" on ");return d.jsxs("div",{className:"mt-2 px-3 pb-2",children:[d.jsxs("button",{type:"button",onClick:()=>o(!a),"aria-expanded":a,className:"flex items-center gap-1 text-xs text-fg-muted hover:text-fg transition-colors",children:[a?d.jsx(ur,{className:"size-3"}):d.jsx(xa,{className:"size-3"}),i?`${i} wrote:`:"Show quoted text"]}),a&&d.jsx("blockquote",{className:"mt-2 pl-3 border-l-2 border-fg-subtle/30 text-sm text-fg-muted [&_a]:text-accent [&_a]:underline [&_blockquote]:pl-3 [&_blockquote]:border-l-2 [&_blockquote]:border-fg-subtle/30",children:t?d.jsx("div",{dangerouslySetInnerHTML:{__html:t}}):e.split(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-spellcheck-worker-provider-C53QtR8U.js","assets/index-CTrN7dU7.js","assets/index-BOf0CjTQ.css","assets/rich-text-spellcheck-provider-J8m9wz6A.js","assets/rich-text-BY2WyJzR.js","assets/roving-focus-BYBMU9YM.js","assets/confirm-dialog-CocDko9U.js","assets/bottom-sheet-D8oEb9Zv.js","assets/popover-menu-I_p7C4RX.js","assets/undo-2-DafMLJl8.js","assets/useMessageBodyContent-C6WheWR5.js","assets/useSignature-COUd5paq.js","assets/account-form-helpers-DhckT_PN.js","assets/useDebouncedValue-DgoW2gtH.js","assets/sections-CfTDsSEu.js"])))=>i.map(i=>d[i]);
2
+ import{e as ha,j as d,X as ir,t as sn,f as cn,L as cr,a1 as pa,a3 as va,r as s,cq as ga,cr as ya,a0 as wa,_ as ur,B as lr,ar as ba,cs as Ea,$ as xa,ct as Sa,cu as pn,bY as dr,cv as Re,cw as fr,cx as Ra,ch as Ca,cy as Ce,i as Pe,aJ as Le,cz as Ta,cA as Aa,cB as mr,h as Da,cC as Na,ad as Oa,c as Ot,bR as ka,cD as hr,aH as Ia,aI as Pa,cE as La,cF as _a,bT as Ma,d as pr,cG as ja,at as Fa,cH as $a,bk as Nn,cI as Ba,cJ as Ha,av as Ua,cK as Wa,au as za,bq as Va,cL as qa,as as C}from"./index-CTrN7dU7.js";import{b as Ka}from"./useMessageBodyContent-C6WheWR5.js";import{u as Ya}from"./useSignature-COUd5paq.js";import{b as Ga}from"./account-form-helpers-DhckT_PN.js";import{u as Xa}from"./useDebouncedValue-DgoW2gtH.js";import{a as Qa}from"./sections-CfTDsSEu.js";const vr=ha("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]),Za=({email:e,displayName:t,onRemove:n,className:r})=>d.jsxs("span",{className:sn("inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-accent-2-soft text-sm max-w-[200px]",r),children:[d.jsx("span",{className:"truncate",children:t||e}),d.jsx("button",{type:"button",onClick:n,className:"shrink-0 p-0.5 rounded-full hover:bg-fg-muted/20 transition-colors","aria-label":`Remove ${e}`,children:d.jsx(ir,{className:"size-3"})})]}),Ja=/[\u0000-\u001f\u007f-\u009f\u061c\u200b-\u200f\u2028\u2029\u202a-\u202e\u2066-\u2069\ufeff]/g,eo=/[<>:"|?*]/g,to=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(\.|$)/i,On=120,no=12,ro="attachment",kn=e=>{const t=[...e];if(t.length<=On)return e;const n=e.lastIndexOf("."),r=n>0&&[...e.slice(n)].length<=no?e.slice(n):"",a=On-[...r].length;return t.slice(0,a).join("")+r},Hc=(e,t=ro)=>{const r=e.replace(Ja,"").split(/[/\\]/),o=(r[r.length-1]??"").replace(eo,"_").replace(/^[.\s]+/,"").replace(/[.\s]+$/,"");if(o.length===0)return kn(t);const i=to.test(o)?`_${o}`:o;return kn(i)},In=["KB","MB","GB","TB"],ao=e=>{if(!Number.isFinite(e)||e<0)return"unknown size";const t=Math.round(e);if(t<1024)return t===1?"1 byte":`${t} bytes`;const n=1023.95;let r=t/1024,a=0;for(;r>=n&&a<In.length-1;)r/=1024,a+=1;return`${r.toFixed(1).replace(/\.0$/,"")} ${In[a]}`},oo=({disabled:e,onAttach:t})=>{const n=s.useRef(null);return d.jsxs(d.Fragment,{children:[d.jsx(cn,{variant:"ghost",size:"md","aria-label":"Attach files",title:"Attach files","aria-busy":e,className:"min-h-11 min-w-11 px-2","data-testid":"compose-attach",icon:d.jsx(vr,{className:"size-4"}),onClick:()=>{e||n.current?.click()}}),d.jsx("input",{ref:n,type:"file",multiple:!0,hidden:!0,"data-testid":"compose-attach-input",onChange:r=>{const a=Array.from(r.currentTarget.files??[]);r.currentTarget.value="",a.length>0&&t(a)}})]})},so=({save:e})=>e.status==="saving"?d.jsx("output",{className:"animate-pulse text-xs text-fg-muted",children:"Saving..."}):e.status==="saved"?d.jsx("output",{className:"text-xs text-fg-muted",children:"Draft saved"}):e.status==="error"?d.jsx("output",{className:"text-xs text-danger",children:"Save failed"}):e.status==="unsaved"?d.jsx("output",{className:"truncate text-xs text-warning",children:e.reason}):null;function io({send:e,onSend:t,onBlocked:n,onDiscard:r,save:a={status:"idle"},onAttach:o}){const i=e.status==="sending",c=e.status==="blocked"?e.reason:void 0;return d.jsxs("div",{className:"flex items-center justify-between border-t border-line px-3 py-2",children:[d.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[d.jsx(cn,{variant:"primary",size:"md","aria-busy":i,title:c,className:"min-h-11 shrink-0 rounded-full px-4","data-testid":"compose-send",icon:i?d.jsx(cr,{className:"size-4 animate-spin"}):d.jsx(pa,{className:"size-4"}),onClick:()=>{if(!i){if(c!==void 0){n(c);return}t()}},children:"Send"}),o&&d.jsx(oo,{disabled:i,onAttach:o}),d.jsx(so,{save:a})]}),d.jsx(cn,{variant:"ghost",size:"md","aria-busy":i,"aria-label":"Discard",className:"min-h-11 min-w-11 px-2 hover:text-danger",icon:d.jsx(va,{className:"size-4"}),onClick:()=>{i||r()}})]})}const Pn=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim()),co=e=>{const t=e.trim();if(!t)return;const n=t.match(/^(.+?)\s*<([^>]+)>$/);if(n){const r=n[1].trim().replace(/^"(.*)"$/,"$1"),a=n[2].trim();if(Pn(a))return{email:a,displayName:r}}if(Pn(t))return{email:t}},uo=e=>{const t=[];let n="",r=!1,a=!1;for(const o of e){if(o==='"'&&(r=!r),o==="<"&&(a=!0),o===">"&&(a=!1),(o===","||o===";")&&!r&&!a){t.push(n),n="";continue}n+=o}return t.push(n),t},lo=e=>{const t=[],n=[];for(const r of uo(e)){const a=co(r);if(a){t.push(a);continue}r.trim()&&n.push(r.trim())}return{entries:t,unparsed:n.join(", ")}},fo=["Tab",","],mo=150,ho=({label:e,addresses:t,onChange:n,placeholder:r,suggestions:a=[],onQueryChange:o,onPendingChange:i,ref:c})=>{const[m,f]=s.useState(""),l=s.useRef(null),u=s.useMemo(()=>lo(m),[m]);s.useEffect(()=>{i?.(u)},[u,i]);const p=s.useRef(void 0),y=s.useCallback(()=>{p.current!==void 0&&(clearTimeout(p.current),p.current=void 0)},[]);s.useEffect(()=>y,[y]);const x=new Set(t.map(w=>w.email.toLowerCase())),h=m.length>=2?a.filter(w=>!x.has(w.email.toLowerCase())):[],E=s.useCallback(w=>{f(w),o?.(w)},[o]),b=s.useCallback(w=>{y(),!x.has(w.email.toLowerCase())&&(n([...t,w]),E(""))},[t,x,n,E,y]),T=s.useCallback(w=>{n(t.filter((_,R)=>R!==w))},[t,n]),g=s.useCallback(w=>{b(w),l.current?.focus()},[b]),v=s.useCallback(()=>{if(y(),u.entries.length===0)return{addresses:t,unparsed:u.unparsed};const w=new Set(x),_=[...t];for(const R of u.entries){const W=R.email.toLowerCase();w.has(W)||(w.add(W),_.push(R))}return n(_),E(u.unparsed),{addresses:_,unparsed:u.unparsed}},[u,t,x,n,E,y]),D=s.useCallback(()=>{y(),E("")},[E,y]);s.useImperativeHandle(c,()=>({commitPending:v,clearPending:D}),[v,D]);const L=s.useRef(v);s.useEffect(()=>{L.current=v},[v]);const S=ga({count:h.length,acceptKeys:fo,onAccept:w=>g(h[w])}),O=s.useMemo(()=>h.map(w=>({value:w.email,label:w.displayName??w.email,...w.displayName?{hint:w.email}:{}})),[h]),k=s.useCallback(w=>{if(w.key==="Backspace"&&m===""&&t.length>0){T(t.length-1);return}S.handleKeyDown(w)||(w.key==="Enter"||w.key==="Tab"||w.key===",")&&m.trim()&&(w.preventDefault(),v())},[m,t.length,T,S.handleKeyDown,v]),j=s.useCallback(()=>{y(),p.current=setTimeout(()=>{p.current=void 0,L.current(),S.dismiss()},mo)},[y,S.dismiss]);return d.jsxs("div",{className:"relative","data-address-field":e,children:[d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsxs("label",{htmlFor:`address-field-${e}`,className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:[e,":"]}),d.jsxs("div",{className:"flex-1 flex flex-wrap items-center gap-1 min-h-[36px] px-2 py-1 border rounded-md bg-canvas cursor-text",onClick:()=>l.current?.focus(),onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&l.current?.focus()},children:[t.map((w,_)=>d.jsx(Za,{email:w.email,displayName:w.displayName,onRemove:()=>T(_)},w.email)),d.jsx("input",{ref:l,id:`address-field-${e}`,type:"text",value:m,onChange:w=>{S.reopen(),E(w.target.value)},onKeyDown:k,onBlur:j,placeholder:t.length===0?r:"",className:"flex-1 min-w-[120px] bg-transparent outline-none text-sm py-0.5",autoComplete:"off",...S.comboboxProps})]})]}),S.open&&d.jsx(ya,{id:S.listId,suggestions:O,activeIndex:S.activeIndex,optionId:S.optionId,onPick:w=>{const _=h.find(R=>R.email===w.value);_&&g(_)},onHighlight:S.setActiveIndex,label:`${e} suggestions`,className:"absolute left-12 right-0 z-50 mt-1 max-h-[200px] shadow-lg"})]})},po=({state:e})=>e.status==="uploading"?d.jsx(cr,{className:"size-4 shrink-0 animate-spin text-fg-subtle","aria-hidden":!0}):e.status==="failed"?d.jsx(wa,{className:"size-4 shrink-0 text-danger","aria-hidden":!0}):d.jsx(vr,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0});function vo({items:e,onRemove:t,onRetry:n,className:r}){return e.length===0?null:d.jsx("ul",{"aria-label":"Attached files","data-testid":"compose-attachments",className:sn("flex flex-col gap-1 px-3 py-2",r),children:e.map(a=>d.jsxs("li",{"data-testid":"compose-attachment","data-state":a.state.status,className:sn("rounded-sm border bg-surface",a.state.status==="failed"?"border-danger/40":"border-line"),children:[d.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5",children:[d.jsx(po,{state:a.state}),d.jsxs("span",{className:"min-w-0 flex-1",children:[d.jsx("bdi",{className:"block truncate text-sm text-fg",title:a.filename,children:a.filename}),d.jsxs("span",{className:"block text-2xs text-fg-subtle",children:[ao(a.sizeBytes),a.state.status==="uploading"?" · Uploading…":""]})]}),a.state.status==="failed"&&a.state.retryable&&d.jsx("button",{type:"button",onClick:()=>n(a.key),className:"text-xs font-medium text-accent hover:underline",children:"Try again"}),d.jsx("button",{type:"button","aria-label":`Remove ${a.filename}`,onClick:()=>t(a.key),className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-sunken hover:text-fg",children:d.jsx(ir,{className:"size-4","aria-hidden":!0})})]}),a.state.status==="failed"&&d.jsx("p",{role:"alert","data-testid":"compose-attachment-error",className:"border-t border-danger/30 bg-danger-soft px-2 py-1.5 text-xs text-danger",children:a.state.reason})]},a.key))})}const go=()=>d.jsxs("div",{"aria-hidden":"true","data-testid":"compose-body-skeleton",className:"min-h-[120px] px-3 py-2",children:[d.jsx("div",{className:"mb-2 h-8 animate-pulse rounded bg-surface-sunken"}),d.jsx("div",{className:"min-h-[80px] animate-pulse rounded bg-surface-sunken/50"})]});function yo({banner:e,header:t,children:n,quoted:r,attachments:a,actionBar:o,layout:i="fill"}){const c=i==="fill";return d.jsxs("div",{className:c?"flex h-full min-h-0 flex-col":"flex flex-col",children:[e,t,d.jsxs("div",{className:c?"flex min-h-0 flex-1 flex-col overflow-auto":"flex flex-col","data-testid":"compose-body-area",children:[n,r&&d.jsx("div",{className:"shrink-0 px-3 pb-2",children:r})]}),a&&d.jsx("div",{className:"shrink-0",children:a}),c?o:d.jsx("div",{className:"sticky bottom-0 z-10 bg-canvas",children:o})]})}const zt=({label:e,onClick:t})=>d.jsx("button",{type:"button",onClick:t,className:"text-xs text-fg-muted hover:text-fg transition-colors",children:e}),wo=({to:e,cc:t,bcc:n,subject:r})=>{const a=[];return e.length>0&&a.push(`To: ${e.map(o=>o.displayName??o.email).join(", ")}`),t.length>0&&a.push(`Cc: ${t.length}`),n.length>0&&a.push(`Bcc: ${n.length}`),r&&a.push(r),a.join(" · ")},bo=({collapsed:e=!1,summary:t="",onExpand:n,from:r,to:a,cc:o,bcc:i,subject:c,onShowCc:m,onShowBcc:f})=>e?d.jsxs("button",{type:"button",onClick:n,"aria-label":"Show recipients and subject",className:"flex min-h-11 w-full items-center gap-2 overflow-hidden border-b border-line px-3 py-1.5 text-left transition-colors hover:bg-surface-sunken","data-testid":"compose-header-collapsed",children:[d.jsx("span",{className:"truncate text-xs text-fg-muted",children:t||"…"}),d.jsx(ur,{className:"ml-auto size-4 shrink-0 text-fg-muted","aria-hidden":"true"})]}):d.jsxs("div",{className:"space-y-1 px-3 py-2 border-b border-line",children:[r,a,o??d.jsxs("div",{className:"flex gap-2 pl-14",children:[d.jsx(zt,{label:"Cc",onClick:m}),d.jsx(zt,{label:"Bcc",onClick:f})]}),o&&!i&&d.jsx("div",{className:"pl-14",children:d.jsx(zt,{label:"Bcc",onClick:f})}),i,c]}),gr="This message is attachments only, and attachments aren't forwarded — a forward would arrive with nothing of the original in it.",Eo="This message is attachments only, so there's nothing to quote and your reply goes out without the original.",xo=e=>e==="forward"?gr:Eo,So=({mode:e})=>d.jsx(lr,{tone:"warning","data-testid":"compose-quote-missing",children:d.jsx("span",{children:xo(e)})}),un="This account can't send mail until SMTP is configured.",Ro=({onConfigure:e,configureRef:t})=>d.jsxs("div",{role:"alert","data-testid":"compose-smtp-missing-banner",className:"flex items-start gap-3 border-b border-warning/50 bg-warning/10 px-3 py-2",children:[d.jsx(ba,{className:"size-5 shrink-0 mt-0.5 text-warning","aria-hidden":"true"}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx("p",{className:"text-sm font-medium text-warning",children:un}),d.jsxs("button",{ref:t,type:"button",onClick:e,"data-testid":"compose-smtp-configure",className:"mt-1 inline-flex items-center gap-1 text-xs font-medium text-warning hover:underline",children:["Configure SMTP",d.jsx(Ea,{className:"size-3","aria-hidden":"true"})]})]})]}),Co=({value:e,onChange:t})=>d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"Subj:"}),d.jsx("input",{type:"text",value:e,onChange:n=>t(n.target.value),className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",placeholder:"Subject","data-subject-field":!0})]}),To=({text:e,html:t,senderName:n,date:r})=>{const[a,o]=s.useState(!1);if(!e&&!t)return null;const i=[n,r].filter(Boolean).join(" on ");return d.jsxs("div",{className:"mt-2 px-3 pb-2",children:[d.jsxs("button",{type:"button",onClick:()=>o(!a),"aria-expanded":a,className:"flex items-center gap-1 text-xs text-fg-muted hover:text-fg transition-colors",children:[a?d.jsx(ur,{className:"size-3"}):d.jsx(xa,{className:"size-3"}),i?`${i} wrote:`:"Show quoted text"]}),a&&d.jsx("blockquote",{className:"mt-2 pl-3 border-l-2 border-fg-subtle/30 text-sm text-fg-muted [&_a]:text-accent [&_a]:underline [&_blockquote]:pl-3 [&_blockquote]:border-l-2 [&_blockquote]:border-fg-subtle/30",children:t?d.jsx("div",{dangerouslySetInnerHTML:{__html:t}}):e.split(`
3
3
  `).map((c,m)=>d.jsx("p",{className:"min-h-[1.2em]",children:c},m))})]})},Ao=["p","br","div","h1","h2","h3","h4","h5","h6","strong","b","em","i","u","s","ul","ol","li","blockquote","pre","code","hr","table","thead","tbody","tr","th","td","a","img"],Do=["href","src","alt","colspan","rowspan","lang","dir"],No=/^(?:https?:|mailto:)/i,Oo=/^(?:https:|data:image\/)/i,ko="max-width:100%;height:auto",Io=e=>{const t=Sa();if(!t.isSupported)throw new Error("adopted HTML cannot be sanitized: no DOM is available");return t.addHook("afterSanitizeAttributes",n=>{if(n.tagName==="A"){No.test(n.getAttribute("href")??"")||n.removeAttribute("href"),e==="quoted"&&(n.setAttribute("target","_blank"),n.setAttribute("rel","noopener noreferrer nofollow"));return}if(n.tagName==="IMG"){if(e==="quoted"){n.remove();return}if(!Oo.test(n.getAttribute("src")??"")){n.remove();return}n.setAttribute("style",ko)}}),t},Ln=new Map,Po=e=>{const t=Ln.get(e);if(t)return t;const n=Io(e);return Ln.set(e,n),n},yr=(e,t)=>Po(t).sanitize(e,{ALLOWED_TAGS:Ao,ALLOWED_ATTR:Do,ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1}),Uc=e=>yr(e,"outgoing"),Lo=e=>yr(e,"quoted"),_o=e=>typeof e=="string"&&e.length>0?"rich":"plain",Wc=(e,t)=>t.length>0,Mo={plain:"Couldn't switch to plain text",rich:"Couldn't switch to rich text"},zc=(e,t,n)=>t.trim()===""||n.trim()!==""?{outcome:"switch"}:{outcome:"blocked",title:Mo[e],detail:"The conversion came back empty, so your message is unchanged."};function Te(e,t,{checkForDefaultPrevented:n=!0}={}){return function(a){if(e?.(a),n===!1||!a||!a.defaultPrevented)return t?.(a)}}function _n(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function jo(...e){return t=>{let n=!1;const r=e.map(a=>{const o=_n(a,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let a=0;a<r.length;a++){const o=r[a];typeof o=="function"?o():_n(e[a],null)}}}}function _e(...e){return s.useCallback(jo(...e),e)}function Fo(e,t=[]){let n=[];function r(o,i){const c=s.createContext(i);c.displayName=o+"Context";const m=n.length;n=[...n,i];const f=u=>{const{scope:p,children:y,...x}=u,h=p?.[e]?.[m]||c,E=s.useMemo(()=>x,Object.values(x));return d.jsx(h.Provider,{value:E,children:y})};f.displayName=o+"Provider";function l(u,p,y={}){const{optional:x=!1}=y,h=p?.[e]?.[m]||c,E=s.useContext(h);if(E)return E;if(i!==void 0)return i;if(!x)throw new Error(`\`${u}\` must be used within \`${o}\``)}return[f,l]}const a=()=>{const o=n.map(i=>s.createContext(i));return function(c){const m=c?.[e]||o;return s.useMemo(()=>({[`__scope${e}`]:{...c,[e]:m}}),[c,m])}};return a.scopeName=e,[r,$o(a,...t)]}function $o(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(o){const i=r.reduce((c,{useScope:m,scopeName:f})=>{const u=m(o)[`__scope${f}`];return{...c,...u}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var rt=globalThis?.document?s.useLayoutEffect:()=>{},Bo=pn[" useInsertionEffect ".trim().toString()]||rt;function Ho({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[a,o,i]=Uo({defaultProp:t,onChange:n}),c=e!==void 0,m=c?e:a;{const l=s.useRef(e!==void 0);s.useEffect(()=>{const u=l.current;u!==c&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),l.current=c},[c,r])}const f=s.useCallback(l=>{if(c){const u=Wo(l)?l(e):l;u!==e&&i.current?.(u)}else o(l)},[c,e,o,i]);return[m,f]}function Uo({defaultProp:e,onChange:t}){const[n,r]=s.useState(e),a=s.useRef(n),o=s.useRef(t);return Bo(()=>{o.current=t},[t]),s.useEffect(()=>{a.current!==n&&(o.current?.(n),a.current=n)},[n,a]),[n,r,o]}function Wo(e){return typeof e=="function"}function wr(e){const t=s.forwardRef((n,r)=>{let{children:a,...o}=n,i=null,c=!1;const m=[];Mn(a)&&typeof wt=="function"&&(a=wt(a._payload)),s.Children.forEach(a,p=>{if(Yo(p)){c=!0;const y=p;let x="child"in y.props?y.props.child:y.props.children;Mn(x)&&typeof wt=="function"&&(x=wt(x._payload)),i=Vo(y,x),m.push(i?.props?.children)}else m.push(p)}),i?i=s.cloneElement(i,void 0,m):!c&&s.Children.count(a)===1&&s.isValidElement(a)&&(i=a);const f=i?Ko(i):void 0,l=_e(r,f);if(!i){if(a||a===0)throw new Error(c?Zo(e):Qo(e));return a}const u=qo(o,i.props??{});return i.type!==s.Fragment&&(u.ref=r?l:f),s.cloneElement(i,u)});return t.displayName=`${e}.Slot`,t}var zo=Symbol.for("radix.slottable"),Vo=(e,t)=>{if("child"in e.props){const n=e.props.child;return s.isValidElement(n)?s.cloneElement(n,void 0,e.props.children(n.props.children)):null}return s.isValidElement(t)?t:null};function qo(e,t){const n={...t};for(const r in t){const a=e[r],o=t[r];/^on[A-Z]/.test(r)?a&&o?n[r]=(...c)=>{const m=o(...c);return a(...c),m}:a&&(n[r]=a):r==="style"?n[r]={...a,...o}:r==="className"&&(n[r]=[a,o].filter(Boolean).join(" "))}return{...e,...n}}function Ko(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Yo(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===zo}var Go=Symbol.for("react.lazy");function Mn(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Go&&"_payload"in e&&Xo(e._payload)}function Xo(e){return typeof e=="object"&&e!==null&&"then"in e}var Qo=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Zo=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,wt=pn[" use ".trim().toString()],Jo=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],we=Jo.reduce((e,t)=>{const n=wr(`Primitive.${t}`),r=s.forwardRef((a,o)=>{const{asChild:i,...c}=a,m=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(m,{...c,ref:o})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function es(e,t){e&&dr.flushSync(()=>e.dispatchEvent(t))}function at(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>((...n)=>t.current?.(...n)),[])}var ts="DismissableLayer",ln="dismissableLayer.update",ns="dismissableLayer.pointerDownOutside",rs="dismissableLayer.focusOutside",jn,vn=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),br=s.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:c,onDismiss:m,...f}=e,l=s.useContext(vn),[u,p]=s.useState(null),y=u?.ownerDocument??globalThis?.document,[,x]=s.useState({}),h=_e(t,p),E=Array.from(l.layers),[b]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),T=b?E.indexOf(b):-1,g=u?E.indexOf(u):-1,v=l.layersWithOutsidePointerEventsDisabled.size>0,D=g>=T,L=s.useRef(!1),S=cs(w=>{o?.(w),c?.(w),w.defaultPrevented||m?.()},{ownerDocument:y,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:L,dismissableSurfaces:l.dismissableSurfaces,shouldHandlePointerDownOutside:s.useCallback(w=>{if(!(w instanceof Node))return!1;const _=[...l.branches].some(R=>R.contains(w));return D&&!_},[l.branches,D])}),O=us(w=>{if(r&&L.current)return;const _=w.target;[...l.branches].some(W=>W.contains(_))||(i?.(w),c?.(w),w.defaultPrevented||m?.())},y),k=u?g===E.length-1:!1,j=at(w=>{w.key==="Escape"&&(a?.(w),!w.defaultPrevented&&m&&(w.preventDefault(),m()))});return s.useEffect(()=>{if(k)return y.addEventListener("keydown",j,{capture:!0}),()=>y.removeEventListener("keydown",j,{capture:!0})},[y,k,j]),s.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(jn=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),Fn(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(u),l.layersWithOutsidePointerEventsDisabled.size===0&&(y.body.style.pointerEvents=jn))}},[u,y,n,l]),s.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),Fn())},[u,l]),s.useEffect(()=>{const w=()=>x({});return document.addEventListener(ln,w),()=>document.removeEventListener(ln,w)},[]),d.jsx(we.div,{...f,ref:h,style:{pointerEvents:v?D?"auto":"none":void 0,...e.style},onFocusCapture:Te(e.onFocusCapture,O.onFocusCapture),onBlurCapture:Te(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:Te(e.onPointerDownCapture,S.onPointerDownCapture)})});br.displayName=ts;var as="DismissableLayerBranch",os=s.forwardRef((e,t)=>{const n=s.useContext(vn),r=s.useRef(null),a=_e(t,r);return s.useEffect(()=>{const o=r.current;if(o)return n.branches.add(o),()=>{n.branches.delete(o)}},[n.branches]),d.jsx(we.div,{...e,ref:a})});os.displayName=as;function ss(){const e=s.useContext(vn),[t,n]=s.useState(null);return s.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var is=()=>!0;function cs(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:a,dismissableSurfaces:o,shouldHandlePointerDownOutside:i=is}=t,c=at(e),m=s.useRef(!1),f=s.useRef(!1),l=s.useRef(new Map),u=s.useRef(()=>{});return s.useEffect(()=>{function p(){f.current=!1,a.current=!1,l.current.clear()}function y(){return Array.from(l.current.values()).some(Boolean)}function x(g){if(!f.current)return;const v=g.target;v instanceof Node&&[...o].some(L=>L.contains(v))||l.current.set(g.type,!0),g.type==="click"&&window.setTimeout(()=>{f.current&&u.current()},0)}function h(g){f.current&&l.current.set(g.type,!1)}const E=g=>{if(g.target&&!m.current){let v=function(){n.removeEventListener("click",u.current);const L=y();p(),L||Er(ns,c,D,{discrete:!0})};if(!i(g.target)){n.removeEventListener("click",u.current),p(),m.current=!1;return}const D={originalEvent:g};f.current=!0,a.current=r&&g.button===0,l.current.clear(),!r||g.button!==0?v():(n.removeEventListener("click",u.current),u.current=v,n.addEventListener("click",u.current,{once:!0}))}else n.removeEventListener("click",u.current),p();m.current=!1},b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const g of b)n.addEventListener(g,x,!0),n.addEventListener(g,h);const T=window.setTimeout(()=>{n.addEventListener("pointerdown",E)},0);return()=>{window.clearTimeout(T),n.removeEventListener("pointerdown",E),n.removeEventListener("click",u.current);for(const g of b)n.removeEventListener(g,x,!0),n.removeEventListener(g,h)}},[n,c,r,a,o,i]),{onPointerDownCapture:()=>m.current=!0}}function us(e,t=globalThis?.document){const n=at(e),r=s.useRef(!1);return s.useEffect(()=>{const a=o=>{o.target&&!r.current&&Er(rs,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Fn(){const e=new CustomEvent(ln);document.dispatchEvent(e)}function Er(e,t,n,{discrete:r}){const a=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?es(a,o):a.dispatchEvent(o)}var bt=0,$e=null;function ls(){s.useEffect(()=>{$e||($e={start:$n(),end:$n()});const{start:e,end:t}=$e;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),bt++,()=>{bt===1&&($e?.start.remove(),$e?.end.remove(),$e=null),bt=Math.max(0,bt-1)}},[])}function $n(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Vt="focusScope.autoFocusOnMount",qt="focusScope.autoFocusOnUnmount",Bn={bubbles:!1,cancelable:!0},ds="FocusScope",xr=s.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:o,...i}=e,[c,m]=s.useState(null),f=at(a),l=at(o),u=s.useRef(null),p=_e(t,m),y=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(r){let h=function(g){if(y.paused||!c)return;const v=g.target;c.contains(v)?u.current=v:Se(u.current,{select:!0})},E=function(g){if(y.paused||!c)return;const v=g.relatedTarget;v!==null&&(c.contains(v)||Se(u.current,{select:!0}))},b=function(g){if(document.activeElement===document.body)for(const D of g)D.removedNodes.length>0&&Se(c)};document.addEventListener("focusin",h),document.addEventListener("focusout",E);const T=new MutationObserver(b);return c&&T.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",h),document.removeEventListener("focusout",E),T.disconnect()}}},[r,c,y.paused]),s.useEffect(()=>{if(c){Un.add(y);const h=document.activeElement;if(!c.contains(h)){const b=new CustomEvent(Vt,Bn);c.addEventListener(Vt,f),c.dispatchEvent(b),b.defaultPrevented||(fs(gs(Sr(c)),{select:!0}),document.activeElement===h&&Se(c))}return()=>{c.removeEventListener(Vt,f),setTimeout(()=>{const b=new CustomEvent(qt,Bn);c.addEventListener(qt,l),c.dispatchEvent(b),b.defaultPrevented||Se(h??document.body,{select:!0}),c.removeEventListener(qt,l),Un.remove(y)},0)}}},[c,f,l,y]);const x=s.useCallback(h=>{if(!n&&!r||y.paused)return;const E=h.key==="Tab"&&!h.altKey&&!h.ctrlKey&&!h.metaKey,b=document.activeElement;if(E&&b){const T=h.currentTarget,[g,v]=ms(T);g&&v?!h.shiftKey&&b===v?(h.preventDefault(),n&&Se(g,{select:!0})):h.shiftKey&&b===g&&(h.preventDefault(),n&&Se(v,{select:!0})):b===T&&h.preventDefault()}},[n,r,y.paused]);return d.jsx(we.div,{tabIndex:-1,...i,ref:p,onKeyDown:x})});xr.displayName=ds;function fs(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Se(r,{select:t}),document.activeElement!==n)return}function ms(e){const t=Sr(e),n=Hn(t,e),r=Hn(t.reverse(),e);return[n,r]}function Sr(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Hn(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):hs(r,{upTo:t})))return r}function hs(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ps(e){return e instanceof HTMLInputElement&&"select"in e}function Se(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&ps(e)&&t&&e.select()}}var Un=vs();function vs(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=Wn(e,t),e.unshift(t)},remove(t){e=Wn(e,t),e[0]?.resume()}}}function Wn(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function gs(e){return e.filter(t=>t.tagName!=="A")}var ys=pn[" useId ".trim().toString()]||(()=>{}),ws=0;function Kt(e){const[t,n]=s.useState(ys());return rt(()=>{n(r=>r??String(ws++))},[e]),e||(t?`radix-${t}`:"")}var bs="Portal",Rr=s.forwardRef((e,t)=>{const{container:n,...r}=e,[a,o]=s.useState(!1);rt(()=>o(!0),[]);const i=n||a&&globalThis?.document?.body;return i?dr.createPortal(d.jsx(we.div,{...r,ref:t}),i):null});Rr.displayName=bs;function Es(e,t){return s.useReducer((n,r)=>t[n][r]??n,e)}var It=e=>{const{present:t,children:n}=e,r=xs(t),a=typeof n=="function"?n({present:r.isPresent}):s.Children.only(n),o=Ss(r.ref,Rs(a));return typeof n=="function"||r.isPresent?s.cloneElement(a,{ref:o}):null};It.displayName="Presence";function xs(e){const[t,n]=s.useState(),r=s.useRef(null),a=s.useRef(e),o=s.useRef("none"),i=s.useRef(void 0),c=e?"mounted":"unmounted",[m,f]=Es(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{m==="mounted"?(o.current=i.current??et(r.current),i.current=void 0):o.current="none"},[m]),rt(()=>{const l=r.current,u=a.current;if(u!==e){const y=o.current,x=et(l);e?(i.current=x,f("MOUNT")):x==="none"||l?.display==="none"?f("UNMOUNT"):f(u&&y!==x?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,f]),rt(()=>{if(t){let l;const u=t.ownerDocument.defaultView??window,p=x=>{const E=et(r.current).includes(CSS.escape(x.animationName));if(x.target===t&&E&&(f("ANIMATION_END"),!a.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",l=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},y=x=>{x.target===t&&(o.current=et(r.current))};return t.addEventListener("animationstart",y),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(l),t.removeEventListener("animationstart",y),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:s.useCallback(l=>{if(l){const u=getComputedStyle(l);r.current=u,i.current=et(u)}else r.current=null;n(l)},[])}}function zn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ss(...e){const t=s.useRef(e);return t.current=e,s.useCallback(n=>{const r=t.current;let a=!1;const o=r.map(i=>{const c=zn(i,n);return!a&&typeof c=="function"&&(a=!0),c});if(a)return()=>{for(let i=0;i<o.length;i++){const c=o[i];typeof c=="function"?c():zn(r[i],null)}}},[])}function et(e){return e?.animationName||"none"}function Rs(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Cs=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Be=new WeakMap,Et=new WeakMap,xt={},Yt=0,Cr=function(e){return e&&(e.host||Cr(e.parentNode))},Ts=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=Cr(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},As=function(e,t,n,r){var a=Ts(t,Array.isArray(e)?e:[e]);xt[n]||(xt[n]=new WeakMap);var o=xt[n],i=[],c=new Set,m=new Set(a),f=function(u){!u||c.has(u)||(c.add(u),f(u.parentNode))};a.forEach(f);var l=function(u){!u||m.has(u)||Array.prototype.forEach.call(u.children,function(p){if(c.has(p))l(p);else try{var y=p.getAttribute(r),x=y!==null&&y!=="false",h=(Be.get(p)||0)+1,E=(o.get(p)||0)+1;Be.set(p,h),o.set(p,E),i.push(p),h===1&&x&&Et.set(p,!0),E===1&&p.setAttribute(n,"true"),x||p.setAttribute(r,"true")}catch(b){console.error("aria-hidden: cannot operate on ",p,b)}})};return l(t),c.clear(),Yt++,function(){i.forEach(function(u){var p=Be.get(u)-1,y=o.get(u)-1;Be.set(u,p),o.set(u,y),p||(Et.has(u)||u.removeAttribute(r),Et.delete(u)),y||u.removeAttribute(n)}),Yt--,Yt||(Be=new WeakMap,Be=new WeakMap,Et=new WeakMap,xt={})}},Ds=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),a=Cs(e);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live], script"))),As(r,a,n,"aria-hidden")):function(){return null}},At="right-scroll-bar-position",Dt="width-before-scroll-bar",Ns="with-scroll-bars-hidden",Os="--removed-body-scroll-bar-size";function Gt(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function ks(e,t){var n=s.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var a=n.value;a!==r&&(n.value=r,n.callback(r,a))}}}})[0];return n.callback=t,n.facade}var Is=typeof window<"u"?s.useLayoutEffect:s.useEffect,Vn=new WeakMap;function Ps(e,t){var n=ks(null,function(r){return e.forEach(function(a){return Gt(a,r)})});return Is(function(){var r=Vn.get(n);if(r){var a=new Set(r),o=new Set(e),i=n.current;a.forEach(function(c){o.has(c)||Gt(c,null)}),o.forEach(function(c){a.has(c)||Gt(c,i)})}Vn.set(n,e)},[e]),n}function Ls(e){return e}function _s(e,t){t===void 0&&(t=Ls);var n=[],r=!1,a={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var i=t(o,r);return n.push(i),function(){n=n.filter(function(c){return c!==i})}},assignSyncMedium:function(o){for(r=!0;n.length;){var i=n;n=[],i.forEach(o)}n={push:function(c){return o(c)},filter:function(){return n}}},assignMedium:function(o){r=!0;var i=[];if(n.length){var c=n;n=[],c.forEach(o),i=n}var m=function(){var l=i;i=[],l.forEach(o)},f=function(){return Promise.resolve().then(m)};f(),n={push:function(l){i.push(l),f()},filter:function(l){return i=i.filter(l),n}}}};return a}function Ms(e){e===void 0&&(e={});var t=_s(null);return t.options=Re({async:!0,ssr:!1},e),t}var Tr=function(e){var t=e.sideCar,n=fr(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return s.createElement(r,Re({},n))};Tr.isSideCarExport=!0;function js(e,t){return e.useMedium(t),Tr}var Ar=Ms(),Xt=function(){},Pt=s.forwardRef(function(e,t){var n=s.useRef(null),r=s.useState({onScrollCapture:Xt,onWheelCapture:Xt,onTouchMoveCapture:Xt}),a=r[0],o=r[1],i=e.forwardProps,c=e.children,m=e.className,f=e.removeScrollBar,l=e.enabled,u=e.shards,p=e.sideCar,y=e.noRelative,x=e.noIsolation,h=e.inert,E=e.allowPinchZoom,b=e.as,T=b===void 0?"div":b,g=e.gapMode,v=fr(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),D=p,L=Ps([n,t]),S=Re(Re({},v),a);return s.createElement(s.Fragment,null,l&&s.createElement(D,{sideCar:Ar,removeScrollBar:f,shards:u,noRelative:y,noIsolation:x,inert:h,setCallbacks:o,allowPinchZoom:!!E,lockRef:n,gapMode:g}),i?s.cloneElement(s.Children.only(c),Re(Re({},S),{ref:L})):s.createElement(T,Re({},S,{className:m,ref:L}),c))});Pt.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Pt.classNames={fullWidth:Dt,zeroRight:At};var Fs=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $s(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Fs();return t&&e.setAttribute("nonce",t),e}function Bs(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Hs(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Us=function(){var e=0,t=null;return{add:function(n){e==0&&(t=$s())&&(Bs(t,n),Hs(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Ws=function(){var e=Us();return function(t,n){s.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Dr=function(){var e=Ws(),t=function(n){var r=n.styles,a=n.dynamic;return e(r,a),null};return t},zs={left:0,top:0,right:0,gap:0},Qt=function(e){return parseInt(e||"",10)||0},Vs=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],a=t[e==="padding"?"paddingRight":"marginRight"];return[Qt(n),Qt(r),Qt(a)]},qs=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return zs;var t=Vs(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ks=Dr(),We="data-scroll-locked",Ys=function(e,t,n,r){var a=e.left,o=e.top,i=e.right,c=e.gap;return n===void 0&&(n="margin"),`
4
4
  .`.concat(Ns,` {
5
5
  overflow: hidden `).concat(r,`;
@@ -40,7 +40,7 @@ import{e as ha,j as d,X as ir,t as sn,f as cn,L as cr,a1 as pa,a3 as va,r as s,c
40
40
  `)},qn=function(){var e=parseInt(document.body.getAttribute(We)||"0",10);return isFinite(e)?e:0},Gs=function(){s.useEffect(function(){return document.body.setAttribute(We,(qn()+1).toString()),function(){var e=qn()-1;e<=0?document.body.removeAttribute(We):document.body.setAttribute(We,e.toString())}},[])},Xs=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?"margin":r;Gs();var o=s.useMemo(function(){return qs(a)},[a]);return s.createElement(Ks,{styles:Ys(o,!t,a,n?"":"!important")})},dn=!1;if(typeof window<"u")try{var St=Object.defineProperty({},"passive",{get:function(){return dn=!0,!0}});window.addEventListener("test",St,St),window.removeEventListener("test",St,St)}catch{dn=!1}var He=dn?{passive:!1}:!1,Qs=function(e){return e.tagName==="TEXTAREA"},Nr=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Qs(e)&&n[t]==="visible")},Zs=function(e){return Nr(e,"overflowY")},Js=function(e){return Nr(e,"overflowX")},Kn=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var a=Or(e,r);if(a){var o=kr(e,r),i=o[1],c=o[2];if(i>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},ei=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},ti=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Or=function(e,t){return e==="v"?Zs(t):Js(t)},kr=function(e,t){return e==="v"?ei(t):ti(t)},ni=function(e,t){return e==="h"&&t==="rtl"?-1:1},ri=function(e,t,n,r,a){var o=ni(e,window.getComputedStyle(t).direction),i=o*r,c=n.target,m=t.contains(c),f=!1,l=i>0,u=0,p=0;do{if(!c)break;var y=kr(e,c),x=y[0],h=y[1],E=y[2],b=h-E-o*x;(x||b)&&Or(e,c)&&(u+=b,p+=x);var T=c.parentNode;c=T&&T.nodeType===Node.DOCUMENT_FRAGMENT_NODE?T.host:T}while(!m&&c!==document.body||m&&(t.contains(c)||t===c));return(l&&Math.abs(u)<1||!l&&Math.abs(p)<1)&&(f=!0),f},Rt=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Yn=function(e){return[e.deltaX,e.deltaY]},Gn=function(e){return e&&"current"in e?e.current:e},ai=function(e,t){return e[0]===t[0]&&e[1]===t[1]},oi=function(e){return`
41
41
  .block-interactivity-`.concat(e,` {pointer-events: none;}
42
42
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
43
- `)},si=0,Ue=[];function ii(e){var t=s.useRef([]),n=s.useRef([0,0]),r=s.useRef(),a=s.useState(si++)[0],o=s.useState(Dr)[0],i=s.useRef(e);s.useEffect(function(){i.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var h=Ra([e.lockRef.current],(e.shards||[]).map(Gn),!0).filter(Boolean);return h.forEach(function(E){return E.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),h.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var c=s.useCallback(function(h,E){if("touches"in h&&h.touches.length===2||h.type==="wheel"&&h.ctrlKey)return!i.current.allowPinchZoom;var b=Rt(h),T=n.current,g="deltaX"in h?h.deltaX:T[0]-b[0],v="deltaY"in h?h.deltaY:T[1]-b[1],D,L=h.target,S=Math.abs(g)>Math.abs(v)?"h":"v";if("touches"in h&&S==="h"&&L.type==="range")return!1;var O=window.getSelection(),k=O&&O.anchorNode,j=k?k===L||k.contains(L):!1;if(j)return!1;var w=Kn(S,L);if(!w)return!0;if(w?D=S:(D=S==="v"?"h":"v",w=Kn(S,L)),!w)return!1;if(!r.current&&"changedTouches"in h&&(g||v)&&(r.current=D),!D)return!0;var _=r.current||D;return ri(_,E,h,_==="h"?g:v)},[]),m=s.useCallback(function(h){var E=h;if(!(!Ue.length||Ue[Ue.length-1]!==o)){var b="deltaY"in E?Yn(E):Rt(E),T=t.current.filter(function(D){return D.name===E.type&&(D.target===E.target||E.target===D.shadowParent)&&ai(D.delta,b)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var g=(i.current.shards||[]).map(Gn).filter(Boolean).filter(function(D){return D.contains(E.target)}),v=g.length>0?c(E,g[0]):!i.current.noIsolation;v&&E.cancelable&&E.preventDefault()}}},[]),f=s.useCallback(function(h,E,b,T){var g={name:h,delta:E,target:b,should:T,shadowParent:ci(b)};t.current.push(g),setTimeout(function(){t.current=t.current.filter(function(v){return v!==g})},1)},[]),l=s.useCallback(function(h){n.current=Rt(h),r.current=void 0},[]),u=s.useCallback(function(h){f(h.type,Yn(h),h.target,c(h,e.lockRef.current))},[]),p=s.useCallback(function(h){f(h.type,Rt(h),h.target,c(h,e.lockRef.current))},[]);s.useEffect(function(){return Ue.push(o),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:p}),document.addEventListener("wheel",m,He),document.addEventListener("touchmove",m,He),document.addEventListener("touchstart",l,He),function(){Ue=Ue.filter(function(h){return h!==o}),document.removeEventListener("wheel",m,He),document.removeEventListener("touchmove",m,He),document.removeEventListener("touchstart",l,He)}},[]);var y=e.removeScrollBar,x=e.inert;return s.createElement(s.Fragment,null,x?s.createElement(o,{styles:oi(a)}):null,y?s.createElement(Xs,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ci(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const ui=js(Ar,ii);var Ir=s.forwardRef(function(e,t){return s.createElement(Pt,Re({},e,{ref:t,sideCar:ui}))});Ir.classNames=Pt.classNames;const Vc=({enabled:e=!0,bindings:t,capture:n=!1})=>{const r=s.useCallback(a=>{const o=a.target;if(!(o.tagName==="INPUT"||o.tagName==="TEXTAREA"||o.isContentEditable))for(const i of t){if(!(a.key.toLowerCase()===i.key.toLowerCase())||i.action&&Ca(i.action)||i.requireShift!==void 0&&i.requireShift!==a.shiftKey)continue;const m=a.ctrlKey||a.metaKey;if(i.requireMeta!==void 0){if(i.requireMeta!==m)continue}else{const f=i.noModifiers??!0,l=m||a.altKey||i.requireShift===void 0&&a.shiftKey;if(f&&l)continue}i.preventDefault&&a.preventDefault(),i.stopPropagation&&(a.stopPropagation(),a.stopImmediatePropagation()),i.handler(a);return}},[t]);s.useEffect(()=>{if(e)return window.addEventListener("keydown",r,n),()=>window.removeEventListener("keydown",r,n)},[e,r,n])},li=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code==="attachment_rejected"&&"message"in e&&typeof e.message=="string",di=new Set(["EmptyFile","UnusableFilename","FileTooLarge","TooManyAttachments"]),Xn={status:"uploading"},Pr={status:"attached"},Ie=(e,t)=>({status:"failed",reason:e,retryable:t}),Zt=(e,t)=>li(t)?Ie(t.message,!di.has(t.reason)):Ie(`"${e}" could not be attached: ${Ce(t)??"the request failed"}. Try again.`,!0),fi=e=>({key:e.outboxAttachmentId,serverId:e.outboxAttachmentId,file:null,filename:e.filename,sizeBytes:e.sizeBytes,state:e.state==="Stored"?Pr:Ie(`"${e.filename}" did not finish uploading. Remove it and attach it again.`,!1)});class mi{constructor(t){this.deps=t}deps;entries=[];snapshot=[];listeners=new Set;generation=0;draftId;nextKey=0;reservationsInFlight=new Set;inFlight=new Map;mintedAfterRemoval=new Map;removing=new Map;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));getSnapshot=()=>this.snapshot;blockingReason=()=>{const[t]=this.removing.values();if(t!==void 0)return`Removing "${t}"…`;const n=this.entries.find(a=>a.state.status==="uploading");if(n)return`"${n.filename}" is still uploading.`;const r=this.entries.find(a=>a.state.status==="failed");if(r)return`"${r.filename}" is not attached. Try it again or remove it before sending.`};set(t){this.entries=t,this.snapshot=t.map(({key:n,filename:r,sizeBytes:a,state:o})=>({key:n,filename:r,sizeBytes:a,state:o}));for(const n of this.listeners)n()}patch(t,n,r){t===this.generation&&this.entries.some(a=>a.key===n)&&this.set(this.entries.map(a=>a.key===n?{...a,...r}:a))}reserve(t,n){let r=()=>{};const a=new Promise(o=>{r=()=>{this.reservationsInFlight.delete(a),o()}});return this.reservationsInFlight.add(a),{minted:this.deps.transport().mint(t,n),settle:r}}upload=async(t,n,r,a,o)=>{if(o.aborted)return;const i=this.deps.transport(),{minted:c,settle:m}=this.reserve(a,r),f=await c.catch(p=>(this.patch(t,n,{state:Zt(r.name,p)}),null));if(f!==null&&o.aborted&&this.mintedAfterRemoval.set(n,f.outboxAttachmentId),f!==null&&!o.aborted&&this.patch(t,n,{serverId:f.outboxAttachmentId,filename:f.filename}),m(),f===null||o.aborted)return;const l=await i.put(f.uploadUrl,r,o).then(()=>null,p=>Ce(p)??"the connection dropped");if(o.aborted)return;if(l!==null){this.patch(t,n,{state:Ie(`"${f.filename}" did not finish uploading: ${l}. Try again.`,!0)});return}!await i.complete(a,f.outboxAttachmentId).then(()=>!0,p=>(this.patch(t,n,{state:Zt(f.filename,p)}),!1))||o.aborted||this.patch(t,n,{state:Pr})};run=async(t,n,r,a,o)=>{await this.upload(t,n,r,a,o),this.inFlight.get(n)?.signal===o&&this.inFlight.delete(n)};syncKept=async t=>{for(;this.reservationsInFlight.size>0;)await Promise.all([...this.reservationsInFlight]);const n=this.draftId;return t!==this.generation||n===void 0?null:this.deps.transport().keep(n,this.entries.flatMap(r=>r.serverId===null?[]:[r.serverId])).then(()=>null,r=>r??new Error("the request failed"))};attach=async t=>{const n=this.generation,r=t.map(o=>{this.nextKey+=1;const i={key:`local-${this.nextKey}`,serverId:null,file:o,filename:o.name,sizeBytes:o.size,state:Xn},c=new AbortController;return this.inFlight.set(i.key,c),{entry:i,file:o,signal:c.signal}});this.set([...this.entries,...r.map(({entry:o})=>o)]);const a=await this.deps.ensureDraft();if(a.outcome==="refused"){for(const{entry:o}of r)this.inFlight.delete(o.key),this.patch(n,o.key,{state:Ie(a.reason,!0)});return}n===this.generation&&(this.draftId=a.outboxMessageId,await Promise.all(r.map(({entry:o,file:i,signal:c})=>this.run(n,o.key,i,a.outboxMessageId,c))))};retry=async t=>{const n=this.entries.find(c=>c.key===t);if(!n||n.file===null||this.inFlight.has(t))return;const r=n.file,a=this.generation,o=new AbortController;this.inFlight.set(t,o),this.patch(a,t,{state:Xn,serverId:null});const i=await this.deps.ensureDraft();if(i.outcome==="refused"){this.inFlight.delete(t),this.patch(a,t,{state:Ie(i.reason,!0)});return}if(this.draftId=i.outboxMessageId,n.serverId!==null){const c=await this.syncKept(a);if(c!==null){this.inFlight.delete(t),this.patch(a,t,{serverId:n.serverId,state:Zt(r.name,c)});return}}await this.run(a,t,r,i.outboxMessageId,o.signal)};remove=async t=>{const n=this.entries.find(c=>c.key===t);if(!n)return;const r=this.generation,a=this.inFlight.get(t);if(this.set(this.entries.filter(c=>c.key!==t)),a&&(this.inFlight.delete(t),a.abort()),n.serverId===null&&!a)return;this.removing.set(t,n.filename),this.set(this.entries);const o=await this.syncKept(r);this.removing.delete(t),this.set(this.entries);const i=n.serverId??this.mintedAfterRemoval.get(t)??null;this.mintedAfterRemoval.delete(t),!(o===null||r!==this.generation)&&i!==null&&this.set([...this.entries,{...n,serverId:i,file:null,state:Ie(`"${n.filename}" could not be removed: ${Ce(o)??"the request failed"}. It is still on the draft — remove it again.`,!1)}])};load=(t,n)=>{this.draftId=t,this.set(n.map(fi))};reset=t=>{this.generation+=1;for(const n of this.inFlight.values())n.abort();this.inFlight.clear(),this.mintedAfterRemoval.clear(),this.removing.clear(),this.draftId=t,this.set([])}}const hi=(e,t,n)=>fetch(e,{method:"PUT",body:t,signal:n}).then(r=>{if(!r.ok)throw new Error(`the server answered ${r.status}`)}),pi=({ensureDraft:e})=>{const t=Pe({...Ta(),meta:Le}),n=Pe({...Aa(),meta:Le}),r=Pe({...mr(),meta:Le}),a=s.useRef(null);a.current={mint:(m,f)=>t.mutateAsync({path:{outboxMessageId:m},body:{filename:f.name,contentType:f.type||"application/octet-stream",sizeBytes:f.size}}),put:hi,complete:(m,f)=>n.mutateAsync({path:{outboxMessageId:m,outboxAttachmentId:f}}).then(()=>{}),keep:(m,f)=>r.mutateAsync({path:{outboxMessageId:m},body:{attachmentIds:f}}).then(()=>{})};const o=s.useRef(e);o.current=e;const[i]=s.useState(()=>new mi({transport:()=>{const m=a.current;if(!m)throw new Error("attachment transport not ready");return m},ensureDraft:()=>o.current()}));return{items:s.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getSnapshot),attach:i.attach,retry:i.retry,remove:i.remove,load:i.load,reset:i.reset,blockingReason:i.blockingReason()}},vi=(e,t)=>e===void 0&&t.toAddresses.length===0,gi={status:"unsaved",reason:"Not saved — add a To address to keep this draft."},Qn={status:"idle"},yi={status:"saving"},Zn={status:"saved"},Jn={status:"error"},wi=e=>e.then(()=>{},()=>{}),bi=({outboxMessageId:e,onDraftCreated:t})=>{const[n,r]=s.useState(Qn),[a,o]=s.useState(null),i=s.useRef(void 0),c=s.useRef(new Set),m=Da(),f=s.useRef(e),l=s.useRef(e);if(f.current!==e){const g=f.current!==void 0;f.current=e,l.current=e,g&&i.current&&clearTimeout(i.current)}const u=Pe({...Na(),meta:Le}),p=Pe({...mr(),meta:Le}),y=s.useCallback(async g=>{r(yi),o(null);const v=l.current;if(v){const L=await p.mutateAsync({path:{outboxMessageId:v},body:{toAddresses:g.toAddresses,ccAddresses:g.ccAddresses,bccAddresses:g.bccAddresses,subject:g.subject,textBody:g.textBody,htmlBody:g.htmlBody,inReplyTo:g.inReplyTo,references:g.references}});return r(Zn),L}const D=await u.mutateAsync({body:{...g,sendImmediately:!1}});return l.current=D.outboxMessageId,t(D.outboxMessageId),r(Zn),m.invalidateQueries({queryKey:Oa().queryKey}),D},[u.mutateAsync,p.mutateAsync,t,m]),x=s.useRef(Promise.resolve()),h=s.useCallback(g=>{const v=x.current.then(()=>y(g));return x.current=wi(v),v},[y]),E=s.useCallback(g=>{if(i.current&&clearTimeout(i.current),vi(l.current,g)){r(gi);return}r(v=>v.status==="unsaved"?Qn:v),i.current=setTimeout(()=>{const v=l.current;v&&c.current.has(v)||h(g).catch(D=>{o(D),r(Jn)})},2e3)},[h]),b=s.useCallback(g=>(i.current&&clearTimeout(i.current),h(g).then(v=>({outcome:"saved",outboxMessageId:v.outboxMessageId})).catch(v=>(r(Jn),{outcome:"failed",error:v}))),[h]),T=s.useCallback(g=>{i.current&&clearTimeout(i.current),g&&c.current.add(g)},[]);return{saveState:n,saveError:a,saveDraft:E,saveImmediately:b,stopAutoSave:T}},Ei=e=>e.outboundCount>0||e.replyCount>0||e.flags?.vip?.value===!0||e.flags?.trusted?.value===!0,xi=e=>e.flags?.blocked?.value===!0?!1:e.flags?.junkOnly?.value!==!0?!0:Ei(e),Jt=({label:e,addresses:t,onChange:n,placeholder:r,onPendingChange:a,ref:o})=>{const[i,c]=s.useState(""),m=Xa(i,200),{data:f}=Ot({...ka({query:{q:m,limit:8}}),enabled:m.length>=2}),l=s.useMemo(()=>(f?.items??[]).filter(xi).map(u=>({email:u.normalizedEmail,displayName:u.displayName})),[f]);return d.jsx(ho,{label:e,addresses:t,onChange:n,placeholder:r,suggestions:l,onQueryChange:c,onPendingChange:a,ref:o})},Si=({accountId:e,configureRef:t})=>{const n=Qa();return d.jsx(Ro,{configureRef:t,onConfigure:()=>{n(e)}})},Ri={download:"its dictionary could not be downloaded",engine:"the checker could not start",worker:"the checker stopped running"},Ci=e=>{const t=`Spellcheck for ${e.language} is off: ${Ri[e.reason]}.`;return{severity:"warning",title:"Spellcheck stopped",detail:`${t} Your browser is checking this message instead. ${e.detail}`,action:{label:"Report this",href:Ia(Pa({title:`Spellcheck stopped: ${e.reason} (${e.language})`,errorMessage:`${t} ${e.detail}`}))}}},Ti=e=>({provider:async t=>{const{openSpellcheckWorker:n}=await hr(async()=>{const{openSpellcheckWorker:r}=await import("./rich-text-spellcheck-worker-provider-CqKdM7_E.js");return{openSpellcheckWorker:r}},__vite__mapDeps([0,1,2,3]));return n(t)},onStatus:t=>{t.state==="failed"&&e(Ci(t))}}),Ai=e=>{if(La(e)?.code==="mail_sync_off")return Ce(e)},Lr=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),fn=e=>e.split(`
43
+ `)},si=0,Ue=[];function ii(e){var t=s.useRef([]),n=s.useRef([0,0]),r=s.useRef(),a=s.useState(si++)[0],o=s.useState(Dr)[0],i=s.useRef(e);s.useEffect(function(){i.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var h=Ra([e.lockRef.current],(e.shards||[]).map(Gn),!0).filter(Boolean);return h.forEach(function(E){return E.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),h.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var c=s.useCallback(function(h,E){if("touches"in h&&h.touches.length===2||h.type==="wheel"&&h.ctrlKey)return!i.current.allowPinchZoom;var b=Rt(h),T=n.current,g="deltaX"in h?h.deltaX:T[0]-b[0],v="deltaY"in h?h.deltaY:T[1]-b[1],D,L=h.target,S=Math.abs(g)>Math.abs(v)?"h":"v";if("touches"in h&&S==="h"&&L.type==="range")return!1;var O=window.getSelection(),k=O&&O.anchorNode,j=k?k===L||k.contains(L):!1;if(j)return!1;var w=Kn(S,L);if(!w)return!0;if(w?D=S:(D=S==="v"?"h":"v",w=Kn(S,L)),!w)return!1;if(!r.current&&"changedTouches"in h&&(g||v)&&(r.current=D),!D)return!0;var _=r.current||D;return ri(_,E,h,_==="h"?g:v)},[]),m=s.useCallback(function(h){var E=h;if(!(!Ue.length||Ue[Ue.length-1]!==o)){var b="deltaY"in E?Yn(E):Rt(E),T=t.current.filter(function(D){return D.name===E.type&&(D.target===E.target||E.target===D.shadowParent)&&ai(D.delta,b)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var g=(i.current.shards||[]).map(Gn).filter(Boolean).filter(function(D){return D.contains(E.target)}),v=g.length>0?c(E,g[0]):!i.current.noIsolation;v&&E.cancelable&&E.preventDefault()}}},[]),f=s.useCallback(function(h,E,b,T){var g={name:h,delta:E,target:b,should:T,shadowParent:ci(b)};t.current.push(g),setTimeout(function(){t.current=t.current.filter(function(v){return v!==g})},1)},[]),l=s.useCallback(function(h){n.current=Rt(h),r.current=void 0},[]),u=s.useCallback(function(h){f(h.type,Yn(h),h.target,c(h,e.lockRef.current))},[]),p=s.useCallback(function(h){f(h.type,Rt(h),h.target,c(h,e.lockRef.current))},[]);s.useEffect(function(){return Ue.push(o),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:p}),document.addEventListener("wheel",m,He),document.addEventListener("touchmove",m,He),document.addEventListener("touchstart",l,He),function(){Ue=Ue.filter(function(h){return h!==o}),document.removeEventListener("wheel",m,He),document.removeEventListener("touchmove",m,He),document.removeEventListener("touchstart",l,He)}},[]);var y=e.removeScrollBar,x=e.inert;return s.createElement(s.Fragment,null,x?s.createElement(o,{styles:oi(a)}):null,y?s.createElement(Xs,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ci(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const ui=js(Ar,ii);var Ir=s.forwardRef(function(e,t){return s.createElement(Pt,Re({},e,{ref:t,sideCar:ui}))});Ir.classNames=Pt.classNames;const Vc=({enabled:e=!0,bindings:t,capture:n=!1})=>{const r=s.useCallback(a=>{const o=a.target;if(!(o.tagName==="INPUT"||o.tagName==="TEXTAREA"||o.isContentEditable))for(const i of t){if(!(a.key.toLowerCase()===i.key.toLowerCase())||i.action&&Ca(i.action)||i.requireShift!==void 0&&i.requireShift!==a.shiftKey)continue;const m=a.ctrlKey||a.metaKey;if(i.requireMeta!==void 0){if(i.requireMeta!==m)continue}else{const f=i.noModifiers??!0,l=m||a.altKey||i.requireShift===void 0&&a.shiftKey;if(f&&l)continue}i.preventDefault&&a.preventDefault(),i.stopPropagation&&(a.stopPropagation(),a.stopImmediatePropagation()),i.handler(a);return}},[t]);s.useEffect(()=>{if(e)return window.addEventListener("keydown",r,n),()=>window.removeEventListener("keydown",r,n)},[e,r,n])},li=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code==="attachment_rejected"&&"message"in e&&typeof e.message=="string",di=new Set(["EmptyFile","UnusableFilename","FileTooLarge","TooManyAttachments"]),Xn={status:"uploading"},Pr={status:"attached"},Ie=(e,t)=>({status:"failed",reason:e,retryable:t}),Zt=(e,t)=>li(t)?Ie(t.message,!di.has(t.reason)):Ie(`"${e}" could not be attached: ${Ce(t)??"the request failed"}. Try again.`,!0),fi=e=>({key:e.outboxAttachmentId,serverId:e.outboxAttachmentId,file:null,filename:e.filename,sizeBytes:e.sizeBytes,state:e.state==="Stored"?Pr:Ie(`"${e.filename}" did not finish uploading. Remove it and attach it again.`,!1)});class mi{constructor(t){this.deps=t}deps;entries=[];snapshot=[];listeners=new Set;generation=0;draftId;nextKey=0;reservationsInFlight=new Set;inFlight=new Map;mintedAfterRemoval=new Map;removing=new Map;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));getSnapshot=()=>this.snapshot;blockingReason=()=>{const[t]=this.removing.values();if(t!==void 0)return`Removing "${t}"…`;const n=this.entries.find(a=>a.state.status==="uploading");if(n)return`"${n.filename}" is still uploading.`;const r=this.entries.find(a=>a.state.status==="failed");if(r)return`"${r.filename}" is not attached. Try it again or remove it before sending.`};set(t){this.entries=t,this.snapshot=t.map(({key:n,filename:r,sizeBytes:a,state:o})=>({key:n,filename:r,sizeBytes:a,state:o}));for(const n of this.listeners)n()}patch(t,n,r){t===this.generation&&this.entries.some(a=>a.key===n)&&this.set(this.entries.map(a=>a.key===n?{...a,...r}:a))}reserve(t,n){let r=()=>{};const a=new Promise(o=>{r=()=>{this.reservationsInFlight.delete(a),o()}});return this.reservationsInFlight.add(a),{minted:this.deps.transport().mint(t,n),settle:r}}upload=async(t,n,r,a,o)=>{if(o.aborted)return;const i=this.deps.transport(),{minted:c,settle:m}=this.reserve(a,r),f=await c.catch(p=>(this.patch(t,n,{state:Zt(r.name,p)}),null));if(f!==null&&o.aborted&&this.mintedAfterRemoval.set(n,f.outboxAttachmentId),f!==null&&!o.aborted&&this.patch(t,n,{serverId:f.outboxAttachmentId,filename:f.filename}),m(),f===null||o.aborted)return;const l=await i.put(f.uploadUrl,r,o).then(()=>null,p=>Ce(p)??"the connection dropped");if(o.aborted)return;if(l!==null){this.patch(t,n,{state:Ie(`"${f.filename}" did not finish uploading: ${l}. Try again.`,!0)});return}!await i.complete(a,f.outboxAttachmentId).then(()=>!0,p=>(this.patch(t,n,{state:Zt(f.filename,p)}),!1))||o.aborted||this.patch(t,n,{state:Pr})};run=async(t,n,r,a,o)=>{await this.upload(t,n,r,a,o),this.inFlight.get(n)?.signal===o&&this.inFlight.delete(n)};syncKept=async t=>{for(;this.reservationsInFlight.size>0;)await Promise.all([...this.reservationsInFlight]);const n=this.draftId;return t!==this.generation||n===void 0?null:this.deps.transport().keep(n,this.entries.flatMap(r=>r.serverId===null?[]:[r.serverId])).then(()=>null,r=>r??new Error("the request failed"))};attach=async t=>{const n=this.generation,r=t.map(o=>{this.nextKey+=1;const i={key:`local-${this.nextKey}`,serverId:null,file:o,filename:o.name,sizeBytes:o.size,state:Xn},c=new AbortController;return this.inFlight.set(i.key,c),{entry:i,file:o,signal:c.signal}});this.set([...this.entries,...r.map(({entry:o})=>o)]);const a=await this.deps.ensureDraft();if(a.outcome==="refused"){for(const{entry:o}of r)this.inFlight.delete(o.key),this.patch(n,o.key,{state:Ie(a.reason,!0)});return}n===this.generation&&(this.draftId=a.outboxMessageId,await Promise.all(r.map(({entry:o,file:i,signal:c})=>this.run(n,o.key,i,a.outboxMessageId,c))))};retry=async t=>{const n=this.entries.find(c=>c.key===t);if(!n||n.file===null||this.inFlight.has(t))return;const r=n.file,a=this.generation,o=new AbortController;this.inFlight.set(t,o),this.patch(a,t,{state:Xn,serverId:null});const i=await this.deps.ensureDraft();if(i.outcome==="refused"){this.inFlight.delete(t),this.patch(a,t,{state:Ie(i.reason,!0)});return}if(this.draftId=i.outboxMessageId,n.serverId!==null){const c=await this.syncKept(a);if(c!==null){this.inFlight.delete(t),this.patch(a,t,{serverId:n.serverId,state:Zt(r.name,c)});return}}await this.run(a,t,r,i.outboxMessageId,o.signal)};remove=async t=>{const n=this.entries.find(c=>c.key===t);if(!n)return;const r=this.generation,a=this.inFlight.get(t);if(this.set(this.entries.filter(c=>c.key!==t)),a&&(this.inFlight.delete(t),a.abort()),n.serverId===null&&!a)return;this.removing.set(t,n.filename),this.set(this.entries);const o=await this.syncKept(r);this.removing.delete(t),this.set(this.entries);const i=n.serverId??this.mintedAfterRemoval.get(t)??null;this.mintedAfterRemoval.delete(t),!(o===null||r!==this.generation)&&i!==null&&this.set([...this.entries,{...n,serverId:i,file:null,state:Ie(`"${n.filename}" could not be removed: ${Ce(o)??"the request failed"}. It is still on the draft — remove it again.`,!1)}])};load=(t,n)=>{this.draftId=t,this.set(n.map(fi))};reset=t=>{this.generation+=1;for(const n of this.inFlight.values())n.abort();this.inFlight.clear(),this.mintedAfterRemoval.clear(),this.removing.clear(),this.draftId=t,this.set([])}}const hi=(e,t,n)=>fetch(e,{method:"PUT",body:t,signal:n}).then(r=>{if(!r.ok)throw new Error(`the server answered ${r.status}`)}),pi=({ensureDraft:e})=>{const t=Pe({...Ta(),meta:Le}),n=Pe({...Aa(),meta:Le}),r=Pe({...mr(),meta:Le}),a=s.useRef(null);a.current={mint:(m,f)=>t.mutateAsync({path:{outboxMessageId:m},body:{filename:f.name,contentType:f.type||"application/octet-stream",sizeBytes:f.size}}),put:hi,complete:(m,f)=>n.mutateAsync({path:{outboxMessageId:m,outboxAttachmentId:f}}).then(()=>{}),keep:(m,f)=>r.mutateAsync({path:{outboxMessageId:m},body:{attachmentIds:f}}).then(()=>{})};const o=s.useRef(e);o.current=e;const[i]=s.useState(()=>new mi({transport:()=>{const m=a.current;if(!m)throw new Error("attachment transport not ready");return m},ensureDraft:()=>o.current()}));return{items:s.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getSnapshot),attach:i.attach,retry:i.retry,remove:i.remove,load:i.load,reset:i.reset,blockingReason:i.blockingReason()}},vi=(e,t)=>e===void 0&&t.toAddresses.length===0,gi={status:"unsaved",reason:"Not saved — add a To address to keep this draft."},Qn={status:"idle"},yi={status:"saving"},Zn={status:"saved"},Jn={status:"error"},wi=e=>e.then(()=>{},()=>{}),bi=({outboxMessageId:e,onDraftCreated:t})=>{const[n,r]=s.useState(Qn),[a,o]=s.useState(null),i=s.useRef(void 0),c=s.useRef(new Set),m=Da(),f=s.useRef(e),l=s.useRef(e);if(f.current!==e){const g=f.current!==void 0;f.current=e,l.current=e,g&&i.current&&clearTimeout(i.current)}const u=Pe({...Na(),meta:Le}),p=Pe({...mr(),meta:Le}),y=s.useCallback(async g=>{r(yi),o(null);const v=l.current;if(v){const L=await p.mutateAsync({path:{outboxMessageId:v},body:{toAddresses:g.toAddresses,ccAddresses:g.ccAddresses,bccAddresses:g.bccAddresses,subject:g.subject,textBody:g.textBody,htmlBody:g.htmlBody,inReplyTo:g.inReplyTo,references:g.references}});return r(Zn),L}const D=await u.mutateAsync({body:{...g,sendImmediately:!1}});return l.current=D.outboxMessageId,t(D.outboxMessageId),r(Zn),m.invalidateQueries({queryKey:Oa().queryKey}),D},[u.mutateAsync,p.mutateAsync,t,m]),x=s.useRef(Promise.resolve()),h=s.useCallback(g=>{const v=x.current.then(()=>y(g));return x.current=wi(v),v},[y]),E=s.useCallback(g=>{if(i.current&&clearTimeout(i.current),vi(l.current,g)){r(gi);return}r(v=>v.status==="unsaved"?Qn:v),i.current=setTimeout(()=>{const v=l.current;v&&c.current.has(v)||h(g).catch(D=>{o(D),r(Jn)})},2e3)},[h]),b=s.useCallback(g=>(i.current&&clearTimeout(i.current),h(g).then(v=>({outcome:"saved",outboxMessageId:v.outboxMessageId})).catch(v=>(r(Jn),{outcome:"failed",error:v}))),[h]),T=s.useCallback(g=>{i.current&&clearTimeout(i.current),g&&c.current.add(g)},[]);return{saveState:n,saveError:a,saveDraft:E,saveImmediately:b,stopAutoSave:T}},Ei=e=>e.outboundCount>0||e.replyCount>0||e.flags?.vip?.value===!0||e.flags?.trusted?.value===!0,xi=e=>e.flags?.blocked?.value===!0?!1:e.flags?.junkOnly?.value!==!0?!0:Ei(e),Jt=({label:e,addresses:t,onChange:n,placeholder:r,onPendingChange:a,ref:o})=>{const[i,c]=s.useState(""),m=Xa(i,200),{data:f}=Ot({...ka({query:{q:m,limit:8}}),enabled:m.length>=2}),l=s.useMemo(()=>(f?.items??[]).filter(xi).map(u=>({email:u.normalizedEmail,displayName:u.displayName})),[f]);return d.jsx(ho,{label:e,addresses:t,onChange:n,placeholder:r,suggestions:l,onQueryChange:c,onPendingChange:a,ref:o})},Si=({accountId:e,configureRef:t})=>{const n=Qa();return d.jsx(Ro,{configureRef:t,onConfigure:()=>{n(e)}})},Ri={download:"its dictionary could not be downloaded",engine:"the checker could not start",worker:"the checker stopped running"},Ci=e=>{const t=`Spellcheck for ${e.language} is off: ${Ri[e.reason]}.`;return{severity:"warning",title:"Spellcheck stopped",detail:`${t} Your browser is checking this message instead. ${e.detail}`,action:{label:"Report this",href:Ia(Pa({title:`Spellcheck stopped: ${e.reason} (${e.language})`,errorMessage:`${t} ${e.detail}`}))}}},Ti=e=>({provider:async t=>{const{openSpellcheckWorker:n}=await hr(async()=>{const{openSpellcheckWorker:r}=await import("./rich-text-spellcheck-worker-provider-C53QtR8U.js");return{openSpellcheckWorker:r}},__vite__mapDeps([0,1,2,3]));return n(t)},onStatus:t=>{t.state==="failed"&&e(Ci(t))}}),Ai=e=>{if(La(e)?.code==="mail_sync_off")return Ce(e)},Lr=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),fn=e=>e.split(`
44
44
  `).map(t=>`<p>${Lr(t)}</p>`).join(""),Di=new Set(["ADDRESS","ARTICLE","BLOCKQUOTE","BR","DIV","H1","H2","H3","H4","H5","H6","HR","LI","OL","P","PRE","SECTION","TABLE","TR","UL"]),Ni=e=>{const t=new DOMParser().parseFromString(e,"text/html"),n=[];let r="";const a=()=>{n.push(r.trim()),r=""},o=i=>{if(i.nodeType===i.TEXT_NODE){r+=(i.textContent??"").replace(/\s+/g," ");return}if(i.nodeType!==i.ELEMENT_NODE)return;const c=Di.has(i.tagName);c&&r!==""&&a();for(const m of i.childNodes)o(m);c&&a()};return o(t.body),r!==""&&a(),n.join(`
45
45
  `).replace(/\n{3,}/g,`
46
46
 
@@ -50,6 +50,6 @@ import{e as ha,j as d,X as ir,t as sn,f as cn,L as cr,a1 as pa,a3 as va,r as s,c
50
50
  `))}${a}`}}const o=ki(t);return{text:[o,...Li(r)].join(`
51
51
  `),html:`<p>${Lr(o)}</p><blockquote type="cite">${a}</blockquote>`}},Mi=(e,t)=>e===""?t:`${e}
52
52
 
53
- ${t}`,en=(e,t,n,r)=>{const a=r?Mi(t.text,r.text):t.text;if(e==="plain")return{textBody:a||void 0,htmlBody:""};const o=r?`${t.html}${r.html}`:t.html;return{textBody:a||void 0,htmlBody:o?_a(o,n):void 0}},er=150,ji=()=>{const[e,t]=s.useState(()=>{if(typeof window>"u"||!window.visualViewport)return{viewportHeight:0,isKeyboardOpen:!1};const n=window.visualViewport.height;return{viewportHeight:n,isKeyboardOpen:window.innerHeight-n>er}});return s.useEffect(()=>{if(typeof window>"u"||!window.visualViewport)return;const n=window.visualViewport,r=()=>{const a=n.height;t({viewportHeight:a,isKeyboardOpen:window.innerHeight-a>er})};return r(),n.addEventListener("resize",r),()=>n.removeEventListener("resize",r)},[]),e},Fi=({selectedAccountId:e,onSelect:t})=>{const{data:n}=Ot({...pr(),staleTime:1/0}),r=n?.accounts??[];if(s.useEffect(()=>{!e&&r.length===1&&r[0]&&t(r[0])},[e,r,t]),r.length<=1){const o=r[0];return o?d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),d.jsx("div",{className:"text-sm py-1.5",children:o.email})]}):null}const a=r.some(o=>o.accountId===e);return d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsx("label",{htmlFor:"from-account-selector",className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),d.jsxs("select",{id:"from-account-selector",value:a?e:"",onChange:o=>{const i=r.find(c=>c.accountId===o.target.value);i&&t(i)},className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",children:[!a&&d.jsx("option",{value:"",disabled:!0,children:"Choose an account"}),r.map(o=>d.jsx("option",{value:o.accountId,children:o.email},o.accountId))]})]})},$i=s.lazy(()=>hr(()=>import("./rich-text-Rzrxb7e0.js"),__vite__mapDeps([4,1,2,5,6,7,8,9,3,10,11,12,13,14])).then(e=>({default:e.ComposeBody}))),Bi=e=>e?`<p></p><p>-- </p>${fn(e)}`:"",tn=e=>({html:Bi(e),text:e}),Hi=e=>e?/^re:\s/i.test(e)?e:`Re: ${e}`:"Re: ",Ui=e=>e?/^fwd?:\s/i.test(e)?e:`Fwd: ${e}`:"Fwd: ",Wi=(e,t,n)=>{const{envelope:r}=e,o=(r.replyTo.length>0?r.replyTo:r.from).map(f=>({email:f.normalizedEmail,displayName:f.displayName}));if(t!=="reply-all")return{to:o,cc:[]};const i=n?.toLowerCase(),c=new Set(o.map(f=>f.email.toLowerCase())),m=[...r.to,...r.cc].filter(f=>f.normalizedEmail.toLowerCase()!==i&&!c.has(f.normalizedEmail.toLowerCase())).map(f=>({email:f.normalizedEmail,displayName:f.displayName}));return{to:o,cc:m}},tr=e=>{const t=e.envelope.messageIdValue,r=[...e.references.filter(a=>a.referenceType==="references").sort((a,o)=>a.referenceOrder-o.referenceOrder).map(a=>a.messageIdValue)];return t&&!r.includes(t)&&r.push(t),{inReplyTo:t,references:r}},zi="Add a To address before sending.",Vi="Loading the message you're quoting.",qi="The message you're quoting couldn't be loaded, so it won't be included.",Ki="Add a To address before attaching a file — the draft the file is kept with is saved against it.",Yi=({label:e,text:t})=>`${e} holds "${t}", which is not an address.`,nr=e=>e.find(t=>t.text.trim()!==""),Gi={entries:[],unparsed:""},Xi=(e,t,n,r,a)=>e.length===0&&t.length===0&&n.length===0&&r.trim()===""&&a.text.trim()==="",Qi=({documentGeneration:e,selectedAccountId:t,onAccountChange:n,toAddresses:r,setToAddresses:a,ccAddresses:o,setCcAddresses:i,bccAddresses:c,setBccAddresses:m,showCc:f,setShowCc:l,showBcc:u,setShowBcc:p,subject:y,setSubject:x,fieldHandles:h,onToPendingChange:E})=>{const b=Va(),{isKeyboardOpen:T}=ji(),[g,v]=s.useState(void 0),D=g===e;return d.jsx(bo,{collapsed:!b&&T&&!D,onExpand:()=>v(e),summary:wo({to:r,cc:o,bcc:c,subject:y}),from:d.jsx(Fi,{selectedAccountId:t,onSelect:n}),to:d.jsx(Jt,{label:"To",addresses:r,onChange:a,placeholder:"Recipients",onPendingChange:E,ref:h.to}),cc:f?d.jsx(Jt,{label:"Cc",addresses:o,onChange:i,ref:h.cc}):void 0,bcc:u?d.jsx(Jt,{label:"Bcc",addresses:c,onChange:m,ref:h.bcc}):void 0,subject:d.jsx(Co,{value:y,onChange:x}),onShowCc:()=>l(!0),onShowBcc:()=>p(!0)})},qc=({mode:e,account:t,sourceMessage:n,outboxMessageId:r,onDraftCreated:a,onClose:o,onAccountChange:i,layout:c="fill"})=>{const{startSendPolling:m}=ja(),{pushError:f}=Fa(),[l,u]=s.useState([]),[p,y]=s.useState([]),[x,h]=s.useState([]),[E,b]=s.useState(Gi),T=s.useRef(null),g=s.useRef(null),v=s.useRef(null),D=s.useMemo(()=>({to:T,cc:g,bcc:v}),[]),L=s.useCallback(()=>{T.current?.clearPending(),g.current?.clearPending(),v.current?.clearPending()},[]),[S,O]=s.useState(""),[k,j]=s.useState(!1),[w,_]=s.useState(!1),[R,W]=s.useState(t?.accountId),[z,Q]=s.useState(!1),[K,te]=s.useState(r),ne=s.useRef(void 0),ie=s.useRef(!1),st=s.useRef(null),Ve=s.useRef(r),ce=s.useRef(r!==void 0),[be,qe]=s.useState(r!==void 0),Ae=s.useRef(r!==void 0?e:void 0),fe=s.useRef(void 0),Ee=s.useRef(e);Ee.current=e;const Me=s.useRef(t?.accountId);s.useEffect(()=>{const A=t?.accountId;!A||Me.current===A||(Me.current=A,!ce.current&&W(A))},[t?.accountId]),s.useEffect(()=>{const A=Ve.current;if(A===r||(Ve.current=r,A===void 0))return;ce.current=r!==void 0,qe(r!==void 0),Ae.current=r!==void 0?Ee.current:void 0,fe.current=void 0;const $=r?{html:"",text:""}:tn(he.current);u([]),y([]),h([]),L(),O(""),j(!1),_(!1),Ge($.html),je($.text),Xe("rich"),xe(void 0),Fe({...$,formatting:[]}),Ye(Z=>Z+1),Q(!1),ne.current=void 0,ie.current=!1,te(r)},[r,L]);const{signature:me}=Ya(R),he=s.useRef(me.plainText);he.current=me.plainText;const[Ke,Ye]=s.useState(0),[I,Ge]=s.useState(()=>tn(me.plainText).html),[it,je]=s.useState(me.plainText),[pe,Xe]=s.useState("rich"),[J,ct]=s.useState("en"),[_t,xe]=s.useState(),[ve,Fe]=s.useState(()=>({...tn(me.plainText),formatting:[]})),{data:B,error:ut}=Ot({...$a({path:{outboxMessageId:r??""}}),enabled:!!r&&!z,meta:qa,retry:(A,$)=>!Nn($)&&A<1});s.useEffect(()=>{Nn(ut)&&o()},[ut,o]),s.useEffect(()=>{if(!B||z)return;u(B.toAddresses.map(q=>({email:q,displayName:void 0}))),B.ccAddresses&&B.ccAddresses.length>0&&(y(B.ccAddresses.map(q=>({email:q,displayName:void 0}))),j(!0)),B.bccAddresses&&B.bccAddresses.length>0&&(h(B.bccAddresses.map(q=>({email:q,displayName:void 0}))),_(!0)),B.subject&&O(B.subject);const A=Ba(B.htmlBody??""),$=A.html,Z=B.textBody??"";Xe(_o(B.htmlBody)),xe(A.language??void 0),Ge($),je(Z),Fe({html:$,text:Z,formatting:[]}),Ye(q=>q+1),W(B.accountId),Q(!0),ie.current=!0},[B,z]),s.useEffect(()=>{if(n){if(ce.current&&Ae.current===e){const A=fe.current;if(!A||A.myEmail===t?.email)return}if(Ae.current=e,fe.current={myEmail:t?.email},L(),e==="reply"||e==="reply-all"){const{to:A,cc:$}=Wi(n,e,t?.email);u(A),y($),$.length>0&&j(!0),O(Hi(n.envelope.subject))}e==="forward"&&(u([]),y([]),h([]),O(Ui(n.envelope.subject)))}},[e,n,t?.email,L]);const ue=e==="reply"||e==="reply-all"||e==="forward",{data:De,isLoading:Qe,isError:Mt,hasNoRenderablePart:Ne,refetch:lt}=Ka({messageId:n?.message.messageId,bodyParts:n?.bodyParts,enabled:ue&&!!n}),dt=e==="forward"?"forward":"reply",ft=ue&&!n,mt=ue&&!be&&Ne,ht=mt&&dt==="forward",oe=s.useMemo(()=>{if(!ue||!n||be||!De)return;const A=De.kind==="html"?{kind:"html",content:Lo(De.body)}:{kind:"text",content:De.body};return _i(e==="forward"?"forward":"reply",n.envelope,A)},[ue,n,be,De,e]),N=n?.envelope.from[0]?.displayName??n?.envelope.from[0]?.normalizedEmail,M=s.useCallback(A=>{Q(!0),te(A),a(A)},[a]),{saveState:F,saveError:P,saveDraft:H,saveImmediately:G,stopAutoSave:V}=bi({outboxMessageId:r,onDraftCreated:M}),le=s.useCallback(async()=>{if(r)return{outcome:"ready",outboxMessageId:r};if(!R)return{outcome:"refused",reason:"Choose an account to send from before attaching a file."};if(l.length===0)return{outcome:"refused",reason:Ki};const{htmlBody:A,textBody:$}=en(pe,ve,J,oe),Z=await G({accountId:R,toAddresses:l.map(q=>q.email),ccAddresses:p.length>0?p.map(q=>q.email):void 0,bccAddresses:x.length>0?x.map(q=>q.email):void 0,subject:S||void 0,textBody:$,htmlBody:A,...n&&(e==="reply"||e==="reply-all")?tr(n):{}});return Z.outcome==="failed"?{outcome:"refused",reason:`The draft could not be saved, so the file was not attached: ${Ce(Z.error)??"the request failed"}.`}:{outcome:"ready",outboxMessageId:Z.outboxMessageId}},[r,R,l,p,x,S,ve,pe,J,oe,n,e,G]),{items:ee,attach:ge,retry:de,remove:re,load:Oe,reset:Ze,blockingReason:jt}=pi({ensureDraft:le}),bn=s.useRef(r);s.useEffect(()=>{const A=bn.current;A!==r&&(bn.current=r,A!==void 0&&Ze(r))},[r,Ze]);const En=s.useRef(void 0);s.useEffect(()=>{!B||B.outboxMessageId!==r||En.current!==B.outboxMessageId&&(En.current=B.outboxMessageId,Oe(B.outboxMessageId,B.attachments))},[B,r,Oe]),s.useEffect(()=>{P&&f({title:"Couldn't save draft",detail:Ce(P)??"Saving the draft failed.",error:P})},[P,f]);const xn=Pe({...Ha(),meta:Le}),Sn=Pe({...Wa(),meta:Le,onError:A=>{f(Ua("Couldn't discard draft","The draft wasn't discarded.",A))}}),{data:sa}=Ot({...pr(),staleTime:1/0}),Je=sa?.accounts.find(A=>A.accountId===R),Ft=Je?Ga(Je):!1,[$t,ia]=s.useState(),Bt=$t&&$t.accountId===R?$t.reason:void 0,pt=Je?.composeLanguages,ca=s.useMemo(()=>pt&&pt.length>0?pt:za(navigator.languages),[pt]),ua=s.useMemo(()=>Ti(f),[f]),vt=s.useRef(!1),[Rn,Cn]=s.useState(!1),gt=s.useCallback((A,$)=>Rn?{status:"sending"}:R?Bt?{status:"blocked",reason:Bt}:Ft?{status:"blocked",reason:un}:Qe||ft?{status:"blocked",reason:Vi}:jt?{status:"blocked",reason:jt}:$?{status:"blocked",reason:Yi($)}:A===0?{status:"blocked",reason:zi}:ht?{status:"blocked",reason:gr}:{status:"ready",accountId:R}:{status:"blocked",reason:"Choose an account to send from."},[Rn,R,Bt,Ft,Qe,ft,jt,ht]),Ht=s.useMemo(()=>gt(l.length+E.entries.length,nr([{label:"To",text:E.unparsed}])),[gt,l.length,E]),la=Ht;s.useEffect(()=>{if(!R||vt.current||K!==void 0&&K!==r||r&&!z||Xi(l,p,x,S,ve))return;const{htmlBody:A,textBody:$}=en(pe,ve,J,oe),Z={accountId:R,toAddresses:l.map(ae=>ae.email),ccAddresses:p.length>0?p.map(ae=>ae.email):void 0,bccAddresses:x.length>0?x.map(ae=>ae.email):void 0,subject:S||void 0,textBody:$,htmlBody:A},q=JSON.stringify(Z);if(ie.current){ie.current=!1,ne.current=q;return}ne.current!==q&&H(Z)},[R,r,K,z,l,p,x,S,ve,pe,J,oe,H]);const Tn=s.useCallback(async(A,$)=>{if(!vt.current){vt.current=!0,Cn(!0);try{V();const Z=n&&(e==="reply"||e==="reply-all")?tr(n):{},{htmlBody:q,textBody:ae}=en(pe,ve,J,oe),ma=!r,yt=await G({accountId:A,toAddresses:$.to.map(ye=>ye.email),ccAddresses:$.cc.length>0?$.cc.map(ye=>ye.email):void 0,bccAddresses:$.bcc.length>0?$.bcc.map(ye=>ye.email):void 0,subject:S||void 0,textBody:ae,htmlBody:q,...Z});if(yt.outcome==="failed"){f({title:"Couldn't send message",detail:Ce(yt.error)??"Saving the message failed, so nothing was sent. Try again.",error:yt.error});return}const Wt=yt.outboxMessageId;if(await xn.mutateAsync({path:{outboxMessageId:Wt}}).catch(ye=>{const Dn=Ai(ye);return Dn&&ia({accountId:A,reason:Dn}),f({title:"Couldn't send message",detail:Ce(ye)??(ma?"The draft was saved but the send request failed. Try again from the Outbox.":"The send request failed. Try again."),error:ye}),null})===null)return;V(Wt),m(Wt),o()}finally{vt.current=!1,Cn(!1)}}},[S,ve,pe,J,oe,e,n,r,G,xn,V,m,f,o]),da=s.useCallback(()=>{V(r),r&&Sn.mutate({path:{outboxMessageId:r}}),o()},[V,r,Sn,o]),Ut=s.useCallback(A=>{f({title:"Can't send yet",detail:A}),A===un&&st.current?.focus()},[f]),An=s.useCallback(()=>{if(Ht.status==="sending")return;const A=D.to.current?.commitPending(),$=D.cc.current?.commitPending(),Z=D.bcc.current?.commitPending(),q={to:A?.addresses??l,cc:$?.addresses??p,bcc:Z?.addresses??x},ae=gt(q.to.length,nr([{label:"To",text:A?.unparsed??""},{label:"Cc",text:$?.unparsed??""},{label:"Bcc",text:Z?.unparsed??""}]));if(ae.status!=="sending"){if(ae.status==="blocked"){Ut(ae.reason);return}Tn(ae.accountId,q)}},[Ht.status,D,l,p,x,gt,Ut,Tn]),fa=s.useCallback(A=>{W(A.accountId),i?.(A)},[i]);return d.jsx(yo,{layout:c,banner:d.jsxs(d.Fragment,{children:[Je&&Ft?d.jsx(Si,{accountId:Je.accountId,configureRef:st}):null,mt?d.jsx(So,{mode:dt}):null,Mt?d.jsxs(lr,{tone:"warning","data-testid":"compose-quote-failed",children:[d.jsx("span",{children:qi})," ",d.jsx("button",{type:"button",className:"underline",onClick:()=>{lt()},children:"Try again"})]}):null]}),header:d.jsx(Qi,{documentGeneration:Ke,selectedAccountId:R,onAccountChange:fa,toAddresses:l,setToAddresses:u,ccAddresses:p,setCcAddresses:y,bccAddresses:x,setBccAddresses:h,showCc:k,setShowCc:j,showBcc:w,setShowBcc:_,subject:S,setSubject:O,fieldHandles:D,onToPendingChange:b}),quoted:oe?d.jsx(To,{text:oe.text,html:oe.html,senderName:N}):void 0,attachments:d.jsx(vo,{items:ee,onRemove:A=>{re(A)},onRetry:A=>{de(A)}}),actionBar:d.jsx(io,{send:la,onSend:An,onBlocked:Ut,onDiscard:da,save:F,onAttach:A=>{ge(A)}}),children:d.jsx(s.Suspense,{fallback:d.jsx(go,{}),children:d.jsx($i,{mode:pe,onModeChange:Xe,initialHtml:I,initialText:it,onChange:Fe,onSubmit:An,initialCaret:e==="new"?"start":void 0,onConversionError:f,languages:ca,initialLanguage:_t,onLanguageChange:ct,spellcheck:ua},Ke)})})};var Lt="Dialog",[Mr]=Fo(Lt),[Zi,se]=Mr(Lt),jr=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:o,modal:i=!0}=e,c=s.useRef(null),m=s.useRef(null),[f,l]=Ho({prop:r,defaultProp:a??!1,onChange:o,caller:Lt});return d.jsx(Zi,{scope:t,triggerRef:c,contentRef:m,contentId:Kt(),titleId:Kt(),descriptionId:Kt(),open:f,onOpenChange:l,onOpenToggle:s.useCallback(()=>l(u=>!u),[l]),modal:i,children:n})};jr.displayName=Lt;var Fr="DialogTrigger",Ji=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(Fr,n),o=_e(t,a.triggerRef);return d.jsx(we.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":yn(a.open),...r,ref:o,onClick:Te(e.onClick,a.onOpenToggle)})});Ji.displayName=Fr;var gn="DialogPortal",[ec,$r]=Mr(gn,{forceMount:void 0}),Br=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:a}=e,o=se(gn,t);return d.jsx(ec,{scope:t,forceMount:n,children:s.Children.map(r,i=>d.jsx(It,{present:n||o.open,children:d.jsx(Rr,{asChild:!0,container:a,children:i})}))})};Br.displayName=gn;var kt="DialogOverlay",Hr=s.forwardRef((e,t)=>{const n=$r(kt,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,o=se(kt,e.__scopeDialog);return o.modal?d.jsx(It,{present:r||o.open,children:d.jsx(nc,{...a,ref:t})}):null});Hr.displayName=kt;var tc=wr("DialogOverlay.RemoveScroll"),nc=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(kt,n),o=ss(),i=_e(t,o);return d.jsx(Ir,{as:tc,allowPinchZoom:!0,shards:[a.contentRef],children:d.jsx(we.div,{"data-state":yn(a.open),...r,ref:i,style:{pointerEvents:"auto",...r.style}})})}),ze="DialogContent",Ur=s.forwardRef((e,t)=>{const n=$r(ze,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,o=se(ze,e.__scopeDialog);return d.jsx(It,{present:r||o.open,children:o.modal?d.jsx(rc,{...a,ref:t}):d.jsx(ac,{...a,ref:t})})});Ur.displayName=ze;var rc=s.forwardRef((e,t)=>{const n=se(ze,e.__scopeDialog),r=s.useRef(null),a=_e(t,n.contentRef,r);return s.useEffect(()=>{const o=r.current;if(o)return Ds(o)},[]),d.jsx(Wr,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Te(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Te(e.onPointerDownOutside,o=>{const i=o.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&o.preventDefault()}),onFocusOutside:Te(e.onFocusOutside,o=>o.preventDefault())})}),ac=s.forwardRef((e,t)=>{const n=se(ze,e.__scopeDialog),r=s.useRef(!1),a=s.useRef(!1);return d.jsx(Wr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const i=o.target;n.triggerRef.current?.contains(i)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&a.current&&o.preventDefault()}})}),Wr=s.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:o,...i}=e,c=se(ze,n);return ls(),d.jsx(d.Fragment,{children:d.jsx(xr,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:o,children:d.jsx(br,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":yn(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),zr="DialogTitle",Vr=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(zr,n);return d.jsx(we.h2,{id:a.titleId,...r,ref:t})});Vr.displayName=zr;var qr="DialogDescription",oc=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(qr,n);return d.jsx(we.p,{id:a.descriptionId,...r,ref:t})});oc.displayName=qr;var Kr="DialogClose",sc=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(Kr,n);return d.jsx(we.button,{type:"button",...r,ref:t,onClick:Te(e.onClick,()=>a.onOpenChange(!1))})});sc.displayName=Kr;function yn(e){return e?"open":"closed"}function ic(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 Yr=C.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}),ot=()=>{const e=C.useContext(Yr);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};ic(`[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(
53
+ ${t}`,en=(e,t,n,r)=>{const a=r?Mi(t.text,r.text):t.text;if(e==="plain")return{textBody:a||void 0,htmlBody:""};const o=r?`${t.html}${r.html}`:t.html;return{textBody:a||void 0,htmlBody:o?_a(o,n):void 0}},er=150,ji=()=>{const[e,t]=s.useState(()=>{if(typeof window>"u"||!window.visualViewport)return{viewportHeight:0,isKeyboardOpen:!1};const n=window.visualViewport.height;return{viewportHeight:n,isKeyboardOpen:window.innerHeight-n>er}});return s.useEffect(()=>{if(typeof window>"u"||!window.visualViewport)return;const n=window.visualViewport,r=()=>{const a=n.height;t({viewportHeight:a,isKeyboardOpen:window.innerHeight-a>er})};return r(),n.addEventListener("resize",r),()=>n.removeEventListener("resize",r)},[]),e},Fi=({selectedAccountId:e,onSelect:t})=>{const{data:n}=Ot({...pr(),staleTime:1/0}),r=n?.accounts??[];if(s.useEffect(()=>{!e&&r.length===1&&r[0]&&t(r[0])},[e,r,t]),r.length<=1){const o=r[0];return o?d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),d.jsx("div",{className:"text-sm py-1.5",children:o.email})]}):null}const a=r.some(o=>o.accountId===e);return d.jsxs("div",{className:"flex items-start gap-2",children:[d.jsx("label",{htmlFor:"from-account-selector",className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),d.jsxs("select",{id:"from-account-selector",value:a?e:"",onChange:o=>{const i=r.find(c=>c.accountId===o.target.value);i&&t(i)},className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",children:[!a&&d.jsx("option",{value:"",disabled:!0,children:"Choose an account"}),r.map(o=>d.jsx("option",{value:o.accountId,children:o.email},o.accountId))]})]})},$i=s.lazy(()=>hr(()=>import("./rich-text-BY2WyJzR.js"),__vite__mapDeps([4,1,2,5,6,7,8,9,3,10,11,12,13,14])).then(e=>({default:e.ComposeBody}))),Bi=e=>e?`<p></p><p>-- </p>${fn(e)}`:"",tn=e=>({html:Bi(e),text:e}),Hi=e=>e?/^re:\s/i.test(e)?e:`Re: ${e}`:"Re: ",Ui=e=>e?/^fwd?:\s/i.test(e)?e:`Fwd: ${e}`:"Fwd: ",Wi=(e,t,n)=>{const{envelope:r}=e,o=(r.replyTo.length>0?r.replyTo:r.from).map(f=>({email:f.normalizedEmail,displayName:f.displayName}));if(t!=="reply-all")return{to:o,cc:[]};const i=n?.toLowerCase(),c=new Set(o.map(f=>f.email.toLowerCase())),m=[...r.to,...r.cc].filter(f=>f.normalizedEmail.toLowerCase()!==i&&!c.has(f.normalizedEmail.toLowerCase())).map(f=>({email:f.normalizedEmail,displayName:f.displayName}));return{to:o,cc:m}},tr=e=>{const t=e.envelope.messageIdValue,r=[...e.references.filter(a=>a.referenceType==="references").sort((a,o)=>a.referenceOrder-o.referenceOrder).map(a=>a.messageIdValue)];return t&&!r.includes(t)&&r.push(t),{inReplyTo:t,references:r}},zi="Add a To address before sending.",Vi="Loading the message you're quoting.",qi="The message you're quoting couldn't be loaded, so it won't be included.",Ki="Add a To address before attaching a file — the draft the file is kept with is saved against it.",Yi=({label:e,text:t})=>`${e} holds "${t}", which is not an address.`,nr=e=>e.find(t=>t.text.trim()!==""),Gi={entries:[],unparsed:""},Xi=(e,t,n,r,a)=>e.length===0&&t.length===0&&n.length===0&&r.trim()===""&&a.text.trim()==="",Qi=({documentGeneration:e,selectedAccountId:t,onAccountChange:n,toAddresses:r,setToAddresses:a,ccAddresses:o,setCcAddresses:i,bccAddresses:c,setBccAddresses:m,showCc:f,setShowCc:l,showBcc:u,setShowBcc:p,subject:y,setSubject:x,fieldHandles:h,onToPendingChange:E})=>{const b=Va(),{isKeyboardOpen:T}=ji(),[g,v]=s.useState(void 0),D=g===e;return d.jsx(bo,{collapsed:!b&&T&&!D,onExpand:()=>v(e),summary:wo({to:r,cc:o,bcc:c,subject:y}),from:d.jsx(Fi,{selectedAccountId:t,onSelect:n}),to:d.jsx(Jt,{label:"To",addresses:r,onChange:a,placeholder:"Recipients",onPendingChange:E,ref:h.to}),cc:f?d.jsx(Jt,{label:"Cc",addresses:o,onChange:i,ref:h.cc}):void 0,bcc:u?d.jsx(Jt,{label:"Bcc",addresses:c,onChange:m,ref:h.bcc}):void 0,subject:d.jsx(Co,{value:y,onChange:x}),onShowCc:()=>l(!0),onShowBcc:()=>p(!0)})},qc=({mode:e,account:t,sourceMessage:n,outboxMessageId:r,onDraftCreated:a,onClose:o,onAccountChange:i,layout:c="fill"})=>{const{startSendPolling:m}=ja(),{pushError:f}=Fa(),[l,u]=s.useState([]),[p,y]=s.useState([]),[x,h]=s.useState([]),[E,b]=s.useState(Gi),T=s.useRef(null),g=s.useRef(null),v=s.useRef(null),D=s.useMemo(()=>({to:T,cc:g,bcc:v}),[]),L=s.useCallback(()=>{T.current?.clearPending(),g.current?.clearPending(),v.current?.clearPending()},[]),[S,O]=s.useState(""),[k,j]=s.useState(!1),[w,_]=s.useState(!1),[R,W]=s.useState(t?.accountId),[z,Q]=s.useState(!1),[K,te]=s.useState(r),ne=s.useRef(void 0),ie=s.useRef(!1),st=s.useRef(null),Ve=s.useRef(r),ce=s.useRef(r!==void 0),[be,qe]=s.useState(r!==void 0),Ae=s.useRef(r!==void 0?e:void 0),fe=s.useRef(void 0),Ee=s.useRef(e);Ee.current=e;const Me=s.useRef(t?.accountId);s.useEffect(()=>{const A=t?.accountId;!A||Me.current===A||(Me.current=A,!ce.current&&W(A))},[t?.accountId]),s.useEffect(()=>{const A=Ve.current;if(A===r||(Ve.current=r,A===void 0))return;ce.current=r!==void 0,qe(r!==void 0),Ae.current=r!==void 0?Ee.current:void 0,fe.current=void 0;const $=r?{html:"",text:""}:tn(he.current);u([]),y([]),h([]),L(),O(""),j(!1),_(!1),Ge($.html),je($.text),Xe("rich"),xe(void 0),Fe({...$,formatting:[]}),Ye(Z=>Z+1),Q(!1),ne.current=void 0,ie.current=!1,te(r)},[r,L]);const{signature:me}=Ya(R),he=s.useRef(me.plainText);he.current=me.plainText;const[Ke,Ye]=s.useState(0),[I,Ge]=s.useState(()=>tn(me.plainText).html),[it,je]=s.useState(me.plainText),[pe,Xe]=s.useState("rich"),[J,ct]=s.useState("en"),[_t,xe]=s.useState(),[ve,Fe]=s.useState(()=>({...tn(me.plainText),formatting:[]})),{data:B,error:ut}=Ot({...$a({path:{outboxMessageId:r??""}}),enabled:!!r&&!z,meta:qa,retry:(A,$)=>!Nn($)&&A<1});s.useEffect(()=>{Nn(ut)&&o()},[ut,o]),s.useEffect(()=>{if(!B||z)return;u(B.toAddresses.map(q=>({email:q,displayName:void 0}))),B.ccAddresses&&B.ccAddresses.length>0&&(y(B.ccAddresses.map(q=>({email:q,displayName:void 0}))),j(!0)),B.bccAddresses&&B.bccAddresses.length>0&&(h(B.bccAddresses.map(q=>({email:q,displayName:void 0}))),_(!0)),B.subject&&O(B.subject);const A=Ba(B.htmlBody??""),$=A.html,Z=B.textBody??"";Xe(_o(B.htmlBody)),xe(A.language??void 0),Ge($),je(Z),Fe({html:$,text:Z,formatting:[]}),Ye(q=>q+1),W(B.accountId),Q(!0),ie.current=!0},[B,z]),s.useEffect(()=>{if(n){if(ce.current&&Ae.current===e){const A=fe.current;if(!A||A.myEmail===t?.email)return}if(Ae.current=e,fe.current={myEmail:t?.email},L(),e==="reply"||e==="reply-all"){const{to:A,cc:$}=Wi(n,e,t?.email);u(A),y($),$.length>0&&j(!0),O(Hi(n.envelope.subject))}e==="forward"&&(u([]),y([]),h([]),O(Ui(n.envelope.subject)))}},[e,n,t?.email,L]);const ue=e==="reply"||e==="reply-all"||e==="forward",{data:De,isLoading:Qe,isError:Mt,hasNoRenderablePart:Ne,refetch:lt}=Ka({messageId:n?.message.messageId,bodyParts:n?.bodyParts,enabled:ue&&!!n}),dt=e==="forward"?"forward":"reply",ft=ue&&!n,mt=ue&&!be&&Ne,ht=mt&&dt==="forward",oe=s.useMemo(()=>{if(!ue||!n||be||!De)return;const A=De.kind==="html"?{kind:"html",content:Lo(De.body)}:{kind:"text",content:De.body};return _i(e==="forward"?"forward":"reply",n.envelope,A)},[ue,n,be,De,e]),N=n?.envelope.from[0]?.displayName??n?.envelope.from[0]?.normalizedEmail,M=s.useCallback(A=>{Q(!0),te(A),a(A)},[a]),{saveState:F,saveError:P,saveDraft:H,saveImmediately:G,stopAutoSave:V}=bi({outboxMessageId:r,onDraftCreated:M}),le=s.useCallback(async()=>{if(r)return{outcome:"ready",outboxMessageId:r};if(!R)return{outcome:"refused",reason:"Choose an account to send from before attaching a file."};if(l.length===0)return{outcome:"refused",reason:Ki};const{htmlBody:A,textBody:$}=en(pe,ve,J,oe),Z=await G({accountId:R,toAddresses:l.map(q=>q.email),ccAddresses:p.length>0?p.map(q=>q.email):void 0,bccAddresses:x.length>0?x.map(q=>q.email):void 0,subject:S||void 0,textBody:$,htmlBody:A,...n&&(e==="reply"||e==="reply-all")?tr(n):{}});return Z.outcome==="failed"?{outcome:"refused",reason:`The draft could not be saved, so the file was not attached: ${Ce(Z.error)??"the request failed"}.`}:{outcome:"ready",outboxMessageId:Z.outboxMessageId}},[r,R,l,p,x,S,ve,pe,J,oe,n,e,G]),{items:ee,attach:ge,retry:de,remove:re,load:Oe,reset:Ze,blockingReason:jt}=pi({ensureDraft:le}),bn=s.useRef(r);s.useEffect(()=>{const A=bn.current;A!==r&&(bn.current=r,A!==void 0&&Ze(r))},[r,Ze]);const En=s.useRef(void 0);s.useEffect(()=>{!B||B.outboxMessageId!==r||En.current!==B.outboxMessageId&&(En.current=B.outboxMessageId,Oe(B.outboxMessageId,B.attachments))},[B,r,Oe]),s.useEffect(()=>{P&&f({title:"Couldn't save draft",detail:Ce(P)??"Saving the draft failed.",error:P})},[P,f]);const xn=Pe({...Ha(),meta:Le}),Sn=Pe({...Wa(),meta:Le,onError:A=>{f(Ua("Couldn't discard draft","The draft wasn't discarded.",A))}}),{data:sa}=Ot({...pr(),staleTime:1/0}),Je=sa?.accounts.find(A=>A.accountId===R),Ft=Je?Ga(Je):!1,[$t,ia]=s.useState(),Bt=$t&&$t.accountId===R?$t.reason:void 0,pt=Je?.composeLanguages,ca=s.useMemo(()=>pt&&pt.length>0?pt:za(navigator.languages),[pt]),ua=s.useMemo(()=>Ti(f),[f]),vt=s.useRef(!1),[Rn,Cn]=s.useState(!1),gt=s.useCallback((A,$)=>Rn?{status:"sending"}:R?Bt?{status:"blocked",reason:Bt}:Ft?{status:"blocked",reason:un}:Qe||ft?{status:"blocked",reason:Vi}:jt?{status:"blocked",reason:jt}:$?{status:"blocked",reason:Yi($)}:A===0?{status:"blocked",reason:zi}:ht?{status:"blocked",reason:gr}:{status:"ready",accountId:R}:{status:"blocked",reason:"Choose an account to send from."},[Rn,R,Bt,Ft,Qe,ft,jt,ht]),Ht=s.useMemo(()=>gt(l.length+E.entries.length,nr([{label:"To",text:E.unparsed}])),[gt,l.length,E]),la=Ht;s.useEffect(()=>{if(!R||vt.current||K!==void 0&&K!==r||r&&!z||Xi(l,p,x,S,ve))return;const{htmlBody:A,textBody:$}=en(pe,ve,J,oe),Z={accountId:R,toAddresses:l.map(ae=>ae.email),ccAddresses:p.length>0?p.map(ae=>ae.email):void 0,bccAddresses:x.length>0?x.map(ae=>ae.email):void 0,subject:S||void 0,textBody:$,htmlBody:A},q=JSON.stringify(Z);if(ie.current){ie.current=!1,ne.current=q;return}ne.current!==q&&H(Z)},[R,r,K,z,l,p,x,S,ve,pe,J,oe,H]);const Tn=s.useCallback(async(A,$)=>{if(!vt.current){vt.current=!0,Cn(!0);try{V();const Z=n&&(e==="reply"||e==="reply-all")?tr(n):{},{htmlBody:q,textBody:ae}=en(pe,ve,J,oe),ma=!r,yt=await G({accountId:A,toAddresses:$.to.map(ye=>ye.email),ccAddresses:$.cc.length>0?$.cc.map(ye=>ye.email):void 0,bccAddresses:$.bcc.length>0?$.bcc.map(ye=>ye.email):void 0,subject:S||void 0,textBody:ae,htmlBody:q,...Z});if(yt.outcome==="failed"){f({title:"Couldn't send message",detail:Ce(yt.error)??"Saving the message failed, so nothing was sent. Try again.",error:yt.error});return}const Wt=yt.outboxMessageId;if(await xn.mutateAsync({path:{outboxMessageId:Wt}}).catch(ye=>{const Dn=Ai(ye);return Dn&&ia({accountId:A,reason:Dn}),f({title:"Couldn't send message",detail:Ce(ye)??(ma?"The draft was saved but the send request failed. Try again from the Outbox.":"The send request failed. Try again."),error:ye}),null})===null)return;V(Wt),m(Wt),o()}finally{vt.current=!1,Cn(!1)}}},[S,ve,pe,J,oe,e,n,r,G,xn,V,m,f,o]),da=s.useCallback(()=>{V(r),r&&Sn.mutate({path:{outboxMessageId:r}}),o()},[V,r,Sn,o]),Ut=s.useCallback(A=>{f({title:"Can't send yet",detail:A}),A===un&&st.current?.focus()},[f]),An=s.useCallback(()=>{if(Ht.status==="sending")return;const A=D.to.current?.commitPending(),$=D.cc.current?.commitPending(),Z=D.bcc.current?.commitPending(),q={to:A?.addresses??l,cc:$?.addresses??p,bcc:Z?.addresses??x},ae=gt(q.to.length,nr([{label:"To",text:A?.unparsed??""},{label:"Cc",text:$?.unparsed??""},{label:"Bcc",text:Z?.unparsed??""}]));if(ae.status!=="sending"){if(ae.status==="blocked"){Ut(ae.reason);return}Tn(ae.accountId,q)}},[Ht.status,D,l,p,x,gt,Ut,Tn]),fa=s.useCallback(A=>{W(A.accountId),i?.(A)},[i]);return d.jsx(yo,{layout:c,banner:d.jsxs(d.Fragment,{children:[Je&&Ft?d.jsx(Si,{accountId:Je.accountId,configureRef:st}):null,mt?d.jsx(So,{mode:dt}):null,Mt?d.jsxs(lr,{tone:"warning","data-testid":"compose-quote-failed",children:[d.jsx("span",{children:qi})," ",d.jsx("button",{type:"button",className:"underline",onClick:()=>{lt()},children:"Try again"})]}):null]}),header:d.jsx(Qi,{documentGeneration:Ke,selectedAccountId:R,onAccountChange:fa,toAddresses:l,setToAddresses:u,ccAddresses:p,setCcAddresses:y,bccAddresses:x,setBccAddresses:h,showCc:k,setShowCc:j,showBcc:w,setShowBcc:_,subject:S,setSubject:O,fieldHandles:D,onToPendingChange:b}),quoted:oe?d.jsx(To,{text:oe.text,html:oe.html,senderName:N}):void 0,attachments:d.jsx(vo,{items:ee,onRemove:A=>{re(A)},onRetry:A=>{de(A)}}),actionBar:d.jsx(io,{send:la,onSend:An,onBlocked:Ut,onDiscard:da,save:F,onAttach:A=>{ge(A)}}),children:d.jsx(s.Suspense,{fallback:d.jsx(go,{}),children:d.jsx($i,{mode:pe,onModeChange:Xe,initialHtml:I,initialText:it,onChange:Fe,onSubmit:An,initialCaret:e==="new"?"start":void 0,onConversionError:f,languages:ca,initialLanguage:_t,onLanguageChange:ct,spellcheck:ua},Ke)})})};var Lt="Dialog",[Mr]=Fo(Lt),[Zi,se]=Mr(Lt),jr=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:o,modal:i=!0}=e,c=s.useRef(null),m=s.useRef(null),[f,l]=Ho({prop:r,defaultProp:a??!1,onChange:o,caller:Lt});return d.jsx(Zi,{scope:t,triggerRef:c,contentRef:m,contentId:Kt(),titleId:Kt(),descriptionId:Kt(),open:f,onOpenChange:l,onOpenToggle:s.useCallback(()=>l(u=>!u),[l]),modal:i,children:n})};jr.displayName=Lt;var Fr="DialogTrigger",Ji=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(Fr,n),o=_e(t,a.triggerRef);return d.jsx(we.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":yn(a.open),...r,ref:o,onClick:Te(e.onClick,a.onOpenToggle)})});Ji.displayName=Fr;var gn="DialogPortal",[ec,$r]=Mr(gn,{forceMount:void 0}),Br=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:a}=e,o=se(gn,t);return d.jsx(ec,{scope:t,forceMount:n,children:s.Children.map(r,i=>d.jsx(It,{present:n||o.open,children:d.jsx(Rr,{asChild:!0,container:a,children:i})}))})};Br.displayName=gn;var kt="DialogOverlay",Hr=s.forwardRef((e,t)=>{const n=$r(kt,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,o=se(kt,e.__scopeDialog);return o.modal?d.jsx(It,{present:r||o.open,children:d.jsx(nc,{...a,ref:t})}):null});Hr.displayName=kt;var tc=wr("DialogOverlay.RemoveScroll"),nc=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(kt,n),o=ss(),i=_e(t,o);return d.jsx(Ir,{as:tc,allowPinchZoom:!0,shards:[a.contentRef],children:d.jsx(we.div,{"data-state":yn(a.open),...r,ref:i,style:{pointerEvents:"auto",...r.style}})})}),ze="DialogContent",Ur=s.forwardRef((e,t)=>{const n=$r(ze,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,o=se(ze,e.__scopeDialog);return d.jsx(It,{present:r||o.open,children:o.modal?d.jsx(rc,{...a,ref:t}):d.jsx(ac,{...a,ref:t})})});Ur.displayName=ze;var rc=s.forwardRef((e,t)=>{const n=se(ze,e.__scopeDialog),r=s.useRef(null),a=_e(t,n.contentRef,r);return s.useEffect(()=>{const o=r.current;if(o)return Ds(o)},[]),d.jsx(Wr,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Te(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Te(e.onPointerDownOutside,o=>{const i=o.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&o.preventDefault()}),onFocusOutside:Te(e.onFocusOutside,o=>o.preventDefault())})}),ac=s.forwardRef((e,t)=>{const n=se(ze,e.__scopeDialog),r=s.useRef(!1),a=s.useRef(!1);return d.jsx(Wr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const i=o.target;n.triggerRef.current?.contains(i)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&a.current&&o.preventDefault()}})}),Wr=s.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:o,...i}=e,c=se(ze,n);return ls(),d.jsx(d.Fragment,{children:d.jsx(xr,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:o,children:d.jsx(br,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":yn(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),zr="DialogTitle",Vr=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(zr,n);return d.jsx(we.h2,{id:a.titleId,...r,ref:t})});Vr.displayName=zr;var qr="DialogDescription",oc=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(qr,n);return d.jsx(we.p,{id:a.descriptionId,...r,ref:t})});oc.displayName=qr;var Kr="DialogClose",sc=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=se(Kr,n);return d.jsx(we.button,{type:"button",...r,ref:t,onClick:Te(e.onClick,()=>a.onOpenChange(!1))})});sc.displayName=Kr;function yn(e){return e?"open":"closed"}function ic(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 Yr=C.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}),ot=()=>{const e=C.useContext(Yr);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};ic(`[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(
54
54
  [data-state=closed]
55
55
  ){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 cc(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function uc(){return wn(/^Mac/)}function lc(){return wn(/^iPhone/)}function rr(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function dc(){return wn(/^iPad/)||uc()&&navigator.maxTouchPoints>1}function Gr(){return lc()||dc()}function wn(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const fc=24,mc=typeof window<"u"?s.useLayoutEffect:s.useEffect;function ar(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const nn=typeof document<"u"&&window.visualViewport;function or(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function Xr(e){for(or(e)&&(e=e.parentElement);e&&!or(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const hc=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Ct=0,rn;function pc(e={}){let{isDisabled:t}=e;mc(()=>{if(!t)return Ct++,Ct===1&&Gr()&&(rn=vc()),()=>{Ct--,Ct===0&&rn?.()}},[t])}function vc(){let e,t=0,n=u=>{e=Xr(u.target),!(e===document.documentElement&&e===document.body)&&(t=u.changedTouches[0].pageY)},r=u=>{if(!e||e===document.documentElement||e===document.body){u.preventDefault();return}let p=u.changedTouches[0].pageY,y=e.scrollTop,x=e.scrollHeight-e.clientHeight;x!==0&&((y<=0&&p>t||y>=x&&p<t)&&u.preventDefault(),t=p)},a=u=>{let p=u.target;mn(p)&&p!==document.activeElement&&(u.preventDefault(),p.style.transform="translateY(-2000px)",p.focus(),requestAnimationFrame(()=>{p.style.transform=""}))},o=u=>{let p=u.target;mn(p)&&(p.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{p.style.transform="",nn&&(nn.height<window.innerHeight?requestAnimationFrame(()=>{sr(p)}):nn.addEventListener("resize",()=>sr(p),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},c=window.pageXOffset,m=window.pageYOffset,f=ar(gc(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let l=ar(tt(document,"touchstart",n,{passive:!1,capture:!0}),tt(document,"touchmove",r,{passive:!1,capture:!0}),tt(document,"touchend",a,{passive:!1,capture:!0}),tt(document,"focus",o,!0),tt(window,"scroll",i));return()=>{f(),l(),window.scrollTo(c,m)}}function gc(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function tt(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function sr(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=Xr(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let r=n.getBoundingClientRect().top,a=e.getBoundingClientRect().top,o=e.getBoundingClientRect().bottom;const i=n.getBoundingClientRect().bottom+fc;o>i&&(n.scrollTop+=a-r)}e=n.parentElement}}function mn(e){return e instanceof HTMLInputElement&&!hc.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function yc(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function wc(...e){return t=>e.forEach(n=>yc(n,t))}function Qr(...e){return s.useCallback(wc(...e),e)}const Zr=new WeakMap;function X(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([a,o])=>{if(a.startsWith("--")){e.style.setProperty(a,o);return}r[a]=e.style[a],e.style[a]=o}),!n&&Zr.set(e,r)}function bc(e,t){if(!e||!(e instanceof HTMLElement))return;let n=Zr.get(e);n&&(e.style[t]=n[t])}const Y=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function Tt(e,t){if(!e)return null;const n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform;let a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[Y(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/),a?parseFloat(a[1].split(", ")[Y(t)?5:4]):null)}function Ec(e){return 8*(Math.log(e+1)-2)}function an(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}function xc(...e){return(...t)=>{for(const n of e)typeof n=="function"&&n(...t)}}const U={DURATION:.5,EASE:[.32,.72,0,1]},Jr=.4,Sc=.25,Rc=100,ea=8,ke=16,hn=26,on="vaul-dragging";function ta(e){const t=C.useRef(e);return C.useEffect(()=>{t.current=e}),C.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function Cc({defaultProp:e,onChange:t}){const n=C.useState(e),[r]=n,a=C.useRef(r),o=ta(t);return C.useEffect(()=>{a.current!==r&&(o(r),a.current=r)},[r,a,o]),n}function na({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,a]=Cc({defaultProp:t,onChange:n}),o=e!==void 0,i=o?e:r,c=ta(n),m=C.useCallback(f=>{if(o){const u=typeof f=="function"?f(e):f;u!==e&&c(u)}else a(f)},[o,e,a,c]);return[i,m]}function Tc({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:a,fadeFromIndex:o,onSnapPointChange:i,direction:c="bottom",container:m,snapToSequentialPoint:f}){const[l,u]=na({prop:e,defaultProp:n?.[0],onChange:t}),[p,y]=C.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);C.useEffect(()=>{function S(){y({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",S),()=>window.removeEventListener("resize",S)},[]);const x=C.useMemo(()=>l===n?.[n.length-1]||null,[n,l]),h=C.useMemo(()=>{var S;return(S=n?.findIndex(O=>O===l))!=null?S:null},[n,l]),E=n&&n.length>0&&(o||o===0)&&!Number.isNaN(o)&&n[o]===l||!n,b=C.useMemo(()=>{const S=m?{width:m.getBoundingClientRect().width,height:m.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var O;return(O=n?.map(k=>{const j=typeof k=="string";let w=0;if(j&&(w=parseInt(k,10)),Y(c)){const R=j?w:p?k*S.height:0;return p?c==="bottom"?S.height-R:-S.height+R:R}const _=j?w:p?k*S.width:0;return p?c==="right"?S.width-_:-S.width+_:_}))!=null?O:[]},[n,p,m]),T=C.useMemo(()=>h!==null?b?.[h]:null,[b,h]),g=C.useCallback(S=>{var O;const k=(O=b?.findIndex(j=>j===S))!=null?O:null;i(k),X(r.current,{transition:`transform ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`,transform:Y(c)?`translate3d(0, ${S}px, 0)`:`translate3d(${S}px, 0, 0)`}),b&&k!==b.length-1&&o!==void 0&&k!==o&&k<o?X(a.current,{transition:`opacity ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`,opacity:"0"}):X(a.current,{transition:`opacity ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`,opacity:"1"}),u(n?.[Math.max(k,0)])},[r.current,n,b,o,a,u]);C.useEffect(()=>{if(l||e){var S;const O=(S=n?.findIndex(k=>k===e||k===l))!=null?S:-1;b&&O!==-1&&typeof b[O]=="number"&&g(b[O])}},[l,e,n,b,g]);function v({draggedDistance:S,closeDrawer:O,velocity:k,dismissible:j}){if(o===void 0)return;const w=c==="bottom"||c==="right"?(T??0)-S:(T??0)+S,_=h===o-1,R=h===0,W=S>0;if(_&&X(a.current,{transition:`opacity ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`}),!f&&k>2&&!W){j?O():g(b[0]);return}if(!f&&k>2&&W&&b&&n){g(b[n.length-1]);return}const z=b?.reduce((K,te)=>typeof K!="number"||typeof te!="number"?K:Math.abs(te-w)<Math.abs(K-w)?te:K),Q=Y(c)?window.innerHeight:window.innerWidth;if(k>Jr&&Math.abs(S)<Q*.4){const K=W?1:-1;if(K>0&&x&&n){g(b[n.length-1]);return}if(R&&K<0&&j&&O(),h===null)return;g(b[h+K]);return}g(z)}function D({draggedDistance:S}){if(T===null)return;const O=c==="bottom"||c==="right"?T-S:T+S;(c==="bottom"||c==="right")&&O<b[b.length-1]||(c==="top"||c==="left")&&O>b[b.length-1]||X(r.current,{transform:Y(c)?`translate3d(0, ${O}px, 0)`:`translate3d(${O}px, 0, 0)`})}function L(S,O){if(!n||typeof h!="number"||!b||o===void 0)return null;const k=h===o-1;if(h>=o&&O)return 0;if(k&&!O)return 1;if(!E&&!k)return null;const w=k?h+1:h-1,_=k?b[w]-b[w-1]:b[w+1]-b[w],R=S/Math.abs(_);return k?1-R:R}return{isLastSnapPoint:x,activeSnapPoint:l,shouldFade:E,getPercentageDragged:L,setActiveSnapPoint:u,activeSnapPointIndex:h,onRelease:v,onDrag:D,snapPointsOffset:b}}const Ac=()=>()=>{};function Dc(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:a}=ot(),o=C.useRef(null),i=s.useMemo(()=>document.body.style.backgroundColor,[]);function c(){return(window.innerWidth-hn)/window.innerWidth}C.useEffect(()=>{if(t&&n){o.current&&clearTimeout(o.current);const m=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!m)return;xc(r&&!a?an(document.body,{background:"black"}):Ac,an(m,{transformOrigin:Y(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${U.DURATION}s`,transitionTimingFunction:`cubic-bezier(${U.EASE.join(",")})`}));const f=an(m,{borderRadius:`${ea}px`,overflow:"hidden",...Y(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()=>{f(),o.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},U.DURATION*1e3)}}},[t,n,i])}let nt=null;function Nc({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:a,noBodyStyles:o}){const[i,c]=C.useState(()=>typeof window<"u"?window.location.href:""),m=C.useRef(0),f=C.useCallback(()=>{if(rr()&&nt===null&&e&&!o){nt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:u,innerHeight:p}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-m.current}px`,left:`${-u}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const y=p-window.innerHeight;y&&m.current>=p&&(document.body.style.top=`${-(m.current+y)}px`)}),300)}},[e]),l=C.useCallback(()=>{if(rr()&&nt!==null&&!o){const u=-parseInt(document.body.style.top,10),p=-parseInt(document.body.style.left,10);Object.assign(document.body.style,nt),window.requestAnimationFrame(()=>{if(a&&i!==window.location.href){c(window.location.href);return}window.scrollTo(p,u)}),nt=null}},[i]);return C.useEffect(()=>{function u(){m.current=window.scrollY}return u(),window.addEventListener("scroll",u),()=>{window.removeEventListener("scroll",u)}},[]),C.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||l()}},[t,l]),C.useEffect(()=>{n||!r||(e?(!window.matchMedia("(display-mode: standalone)").matches&&f(),t||window.setTimeout(()=>{l()},500)):l())},[e,r,i,t,n,f,l]),{restorePositionSetting:l}}function Oc({open:e,onOpenChange:t,children:n,onDrag:r,onRelease:a,snapPoints:o,shouldScaleBackground:i=!1,setBackgroundColorOnScale:c=!0,closeThreshold:m=Sc,scrollLockTimeout:f=Rc,dismissible:l=!0,handleOnly:u=!1,fadeFromIndex:p=o&&o.length-1,activeSnapPoint:y,setActiveSnapPoint:x,fixed:h,modal:E=!0,onClose:b,nested:T,noBodyStyles:g=!1,direction:v="bottom",defaultOpen:D=!1,disablePreventScroll:L=!0,snapToSequentialPoint:S=!1,preventScrollRestoration:O=!1,repositionInputs:k=!0,onAnimationEnd:j,container:w,autoFocus:_=!1}){var R,W;const[z=!1,Q]=na({defaultProp:D,prop:e,onChange:N=>{t?.(N),!N&&!T&&ut(),setTimeout(()=>{j?.(N)},U.DURATION*1e3),N&&!E&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),N||(document.body.style.pointerEvents="auto")}}),[K,te]=C.useState(!1),[ne,ie]=C.useState(!1),[st,Ve]=C.useState(!1),ce=C.useRef(null),be=C.useRef(null),qe=C.useRef(null),Ae=C.useRef(null),fe=C.useRef(null),Ee=C.useRef(!1),Me=C.useRef(null),me=C.useRef(0),he=C.useRef(!1),Ke=C.useRef(!D),Ye=C.useRef(0),I=C.useRef(null),Ge=C.useRef(((R=I.current)==null?void 0:R.getBoundingClientRect().height)||0),it=C.useRef(((W=I.current)==null?void 0:W.getBoundingClientRect().width)||0),je=C.useRef(0),pe=C.useCallback(N=>{o&&N===xe.length-1&&(be.current=new Date)},[]),{activeSnapPoint:Xe,activeSnapPointIndex:J,setActiveSnapPoint:ct,onRelease:_t,snapPointsOffset:xe,onDrag:ve,shouldFade:Fe,getPercentageDragged:B}=Tc({snapPoints:o,activeSnapPointProp:y,setActiveSnapPointProp:x,drawerRef:I,fadeFromIndex:p,overlayRef:ce,onSnapPointChange:pe,direction:v,container:w,snapToSequentialPoint:S});pc({isDisabled:!z||ne||!E||st||!K||!k||!L});const{restorePositionSetting:ut}=Nc({isOpen:z,modal:E,nested:T??!1,hasBeenOpened:K,preventScrollRestoration:O,noBodyStyles:g});function ue(){return(window.innerWidth-hn)/window.innerWidth}function De(N){var M,F;!l&&!o||I.current&&!I.current.contains(N.target)||(Ge.current=((M=I.current)==null?void 0:M.getBoundingClientRect().height)||0,it.current=((F=I.current)==null?void 0:F.getBoundingClientRect().width)||0,ie(!0),qe.current=new Date,Gr()&&window.addEventListener("touchend",()=>Ee.current=!1,{once:!0}),N.target.setPointerCapture(N.pointerId),me.current=Y(v)?N.pageY:N.pageX)}function Qe(N,M){var F;let P=N;const H=(F=window.getSelection())==null?void 0:F.toString(),G=I.current?Tt(I.current,v):null,V=new Date;if(P.tagName==="SELECT"||P.hasAttribute("data-vaul-no-drag")||P.closest("[data-vaul-no-drag]"))return!1;if(v==="right"||v==="left")return!0;if(be.current&&V.getTime()-be.current.getTime()<500)return!1;if(G!==null&&(v==="bottom"?G>0:G<0))return!0;if(H&&H.length>0)return!1;if(fe.current&&V.getTime()-fe.current.getTime()<f&&G===0||M)return fe.current=V,!1;for(;P;){if(P.scrollHeight>P.clientHeight){if(P.scrollTop!==0)return fe.current=new Date,!1;if(P.getAttribute("role")==="dialog")return!0}P=P.parentNode}return!0}function Mt(N){if(I.current&&ne){const M=v==="bottom"||v==="right"?1:-1,F=(me.current-(Y(v)?N.pageY:N.pageX))*M,P=F>0,H=o&&!l&&!P;if(H&&J===0)return;const G=Math.abs(F),V=document.querySelector("[data-vaul-drawer-wrapper]"),le=v==="bottom"||v==="top"?Ge.current:it.current;let ee=G/le;const ge=B(G,P);if(ge!==null&&(ee=ge),H&&ee>=1||!Ee.current&&!Qe(N.target,P))return;if(I.current.classList.add(on),Ee.current=!0,X(I.current,{transition:"none"}),X(ce.current,{transition:"none"}),o&&ve({draggedDistance:F}),P&&!o){const re=Ec(F),Oe=Math.min(re*-1,0)*M;X(I.current,{transform:Y(v)?`translate3d(0, ${Oe}px, 0)`:`translate3d(${Oe}px, 0, 0)`});return}const de=1-ee;if((Fe||p&&J===p-1)&&(r?.(N,ee),X(ce.current,{opacity:`${de}`,transition:"none"},!0)),V&&ce.current&&i){const re=Math.min(ue()+ee*(1-ue()),1),Oe=8-ee*8,Ze=Math.max(0,14-ee*14);X(V,{borderRadius:`${Oe}px`,transform:Y(v)?`scale(${re}) translate3d(0, ${Ze}px, 0)`:`scale(${re}) translate3d(${Ze}px, 0, 0)`,transition:"none"},!0)}if(!o){const re=G*M;X(I.current,{transform:Y(v)?`translate3d(0, ${re}px, 0)`:`translate3d(${re}px, 0, 0)`})}}}C.useEffect(()=>{window.requestAnimationFrame(()=>{Ke.current=!0})},[]),C.useEffect(()=>{var N;function M(){if(!I.current||!k)return;const F=document.activeElement;if(mn(F)||he.current){var P;const H=((P=window.visualViewport)==null?void 0:P.height)||0,G=window.innerHeight;let V=G-H;const le=I.current.getBoundingClientRect().height||0,ee=le>G*.8;je.current||(je.current=le);const ge=I.current.getBoundingClientRect().top;if(Math.abs(Ye.current-V)>60&&(he.current=!he.current),o&&o.length>0&&xe&&J){const de=xe[J]||0;V+=de}if(Ye.current=V,le>H||he.current){const de=I.current.getBoundingClientRect().height;let re=de;de>H&&(re=H-(ee?ge:hn)),h?I.current.style.height=`${de-Math.max(V,0)}px`:I.current.style.height=`${Math.max(re,H-ge)}px`}else cc()||(I.current.style.height=`${je.current}px`);o&&o.length>0&&!he.current?I.current.style.bottom="0px":I.current.style.bottom=`${Math.max(V,0)}px`}}return(N=window.visualViewport)==null||N.addEventListener("resize",M),()=>{var F;return(F=window.visualViewport)==null?void 0:F.removeEventListener("resize",M)}},[J,o,xe]);function Ne(N){dt(),b?.(),N||Q(!1),setTimeout(()=>{o&&ct(o[0])},U.DURATION*1e3)}function lt(){if(!I.current)return;const N=document.querySelector("[data-vaul-drawer-wrapper]"),M=Tt(I.current,v);X(I.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`}),X(ce.current,{transition:`opacity ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`,opacity:"1"}),i&&M&&M>0&&z&&X(N,{borderRadius:`${ea}px`,overflow:"hidden",...Y(v)?{transform:`scale(${ue()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${ue()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${U.DURATION}s`,transitionTimingFunction:`cubic-bezier(${U.EASE.join(",")})`},!0)}function dt(){!ne||!I.current||(I.current.classList.remove(on),Ee.current=!1,ie(!1),Ae.current=new Date)}function ft(N){if(!ne||!I.current)return;I.current.classList.remove(on),Ee.current=!1,ie(!1),Ae.current=new Date;const M=Tt(I.current,v);if(!N||!Qe(N.target,!1)||!M||Number.isNaN(M)||qe.current===null)return;const F=Ae.current.getTime()-qe.current.getTime(),P=me.current-(Y(v)?N.pageY:N.pageX),H=Math.abs(P)/F;if(H>.05&&(Ve(!0),setTimeout(()=>{Ve(!1)},200)),o){_t({draggedDistance:P*(v==="bottom"||v==="right"?1:-1),closeDrawer:Ne,velocity:H,dismissible:l}),a?.(N,!0);return}if(v==="bottom"||v==="right"?P>0:P<0){lt(),a?.(N,!0);return}if(H>Jr){Ne(),a?.(N,!1);return}var G;const V=Math.min((G=I.current.getBoundingClientRect().height)!=null?G:0,window.innerHeight);var le;const ee=Math.min((le=I.current.getBoundingClientRect().width)!=null?le:0,window.innerWidth),ge=v==="left"||v==="right";if(Math.abs(M)>=(ge?ee:V)*m){Ne(),a?.(N,!1);return}a?.(N,!0),lt()}C.useEffect(()=>(z&&(X(document.documentElement,{scrollBehavior:"auto"}),be.current=new Date),()=>{bc(document.documentElement,"scrollBehavior")}),[z]);function mt(N){const M=N?(window.innerWidth-ke)/window.innerWidth:1,F=N?-ke:0;Me.current&&window.clearTimeout(Me.current),X(I.current,{transition:`transform ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`,transform:Y(v)?`scale(${M}) translate3d(0, ${F}px, 0)`:`scale(${M}) translate3d(${F}px, 0, 0)`}),!N&&I.current&&(Me.current=setTimeout(()=>{const P=Tt(I.current,v);X(I.current,{transition:"none",transform:Y(v)?`translate3d(0, ${P}px, 0)`:`translate3d(${P}px, 0, 0)`})},500))}function ht(N,M){if(M<0)return;const F=(window.innerWidth-ke)/window.innerWidth,P=F+M*(1-F),H=-ke+M*ke;X(I.current,{transform:Y(v)?`scale(${P}) translate3d(0, ${H}px, 0)`:`scale(${P}) translate3d(${H}px, 0, 0)`,transition:"none"})}function oe(N,M){const F=Y(v)?window.innerHeight:window.innerWidth,P=M?(F-ke)/F:1,H=M?-ke:0;M&&X(I.current,{transition:`transform ${U.DURATION}s cubic-bezier(${U.EASE.join(",")})`,transform:Y(v)?`scale(${P}) translate3d(0, ${H}px, 0)`:`scale(${P}) translate3d(${H}px, 0, 0)`})}return C.useEffect(()=>{E||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[E]),C.createElement(jr,{defaultOpen:D,onOpenChange:N=>{!l&&!N||(N?te(!0):Ne(!0),Q(N))},open:z},C.createElement(Yr.Provider,{value:{activeSnapPoint:Xe,snapPoints:o,setActiveSnapPoint:ct,drawerRef:I,overlayRef:ce,onOpenChange:t,onPress:De,onRelease:ft,onDrag:Mt,dismissible:l,shouldAnimate:Ke,handleOnly:u,isOpen:z,isDragging:ne,shouldFade:Fe,closeDrawer:Ne,onNestedDrag:ht,onNestedOpenChange:mt,onNestedRelease:oe,keyboardIsOpen:he,modal:E,snapPointsOffset:xe,activeSnapPointIndex:J,direction:v,shouldScaleBackground:i,setBackgroundColorOnScale:c,noBodyStyles:g,container:w,autoFocus:_}},n))}const ra=C.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:r,onRelease:a,shouldFade:o,isOpen:i,modal:c,shouldAnimate:m}=ot(),f=Qr(t,n),l=r&&r.length>0;if(!c)return null;const u=C.useCallback(p=>a(p),[a]);return C.createElement(Hr,{onMouseUp:u,ref:f,"data-vaul-overlay":"","data-vaul-snap-points":i&&l?"true":"false","data-vaul-snap-points-overlay":i&&o?"true":"false","data-vaul-animate":m?.current?"true":"false",...e})});ra.displayName="Drawer.Overlay";const aa=C.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...r},a){const{drawerRef:o,onPress:i,onRelease:c,onDrag:m,keyboardIsOpen:f,snapPointsOffset:l,activeSnapPointIndex:u,modal:p,isOpen:y,direction:x,snapPoints:h,container:E,handleOnly:b,shouldAnimate:T,autoFocus:g}=ot(),[v,D]=C.useState(!1),L=Qr(a,o),S=C.useRef(null),O=C.useRef(null),k=C.useRef(!1),j=h&&h.length>0;Dc();const w=(R,W,z=0)=>{if(k.current)return!0;const Q=Math.abs(R.y),K=Math.abs(R.x),te=K>Q,ne=["bottom","right"].includes(W)?1:-1;if(W==="left"||W==="right"){if(!(R.x*ne<0)&&K>=0&&K<=z)return te}else if(!(R.y*ne<0)&&Q>=0&&Q<=z)return!te;return k.current=!0,!0};C.useEffect(()=>{j&&window.requestAnimationFrame(()=>{D(!0)})},[]);function _(R){S.current=null,k.current=!1,c(R)}return C.createElement(Ur,{"data-vaul-drawer-direction":x,"data-vaul-drawer":"","data-vaul-delayed-snap-points":v?"true":"false","data-vaul-snap-points":y&&j?"true":"false","data-vaul-custom-container":E?"true":"false","data-vaul-animate":T?.current?"true":"false",...r,ref:L,style:l&&l.length>0?{"--snap-point-height":`${l[u??0]}px`,...t}:t,onPointerDown:R=>{b||(r.onPointerDown==null||r.onPointerDown.call(r,R),S.current={x:R.pageX,y:R.pageY},i(R))},onOpenAutoFocus:R=>{n?.(R),g||R.preventDefault()},onPointerDownOutside:R=>{if(e?.(R),!p||R.defaultPrevented){R.preventDefault();return}f.current&&(f.current=!1)},onFocusOutside:R=>{if(!p){R.preventDefault();return}},onPointerMove:R=>{if(O.current=R,b||(r.onPointerMove==null||r.onPointerMove.call(r,R),!S.current))return;const W=R.pageY-S.current.y,z=R.pageX-S.current.x,Q=R.pointerType==="touch"?10:2;w({x:z,y:W},x,Q)?m(R):(Math.abs(z)>Q||Math.abs(W)>Q)&&(S.current=null)},onPointerUp:R=>{r.onPointerUp==null||r.onPointerUp.call(r,R),S.current=null,k.current=!1,c(R)},onPointerOut:R=>{r.onPointerOut==null||r.onPointerOut.call(r,R),_(O.current)},onContextMenu:R=>{r.onContextMenu==null||r.onContextMenu.call(r,R),O.current&&_(O.current)}})});aa.displayName="Drawer.Content";const kc=250,Ic=120,oa=C.forwardRef(function({preventCycle:e=!1,children:t,...n},r){const{closeDrawer:a,isDragging:o,snapPoints:i,activeSnapPoint:c,setActiveSnapPoint:m,dismissible:f,handleOnly:l,isOpen:u,onPress:p,onDrag:y}=ot(),x=C.useRef(null),h=C.useRef(!1);function E(){if(h.current){g();return}window.setTimeout(()=>{b()},Ic)}function b(){if(o||e||h.current){g();return}if(g(),!i||i.length===0){f||a();return}if(c===i[i.length-1]&&f){a();return}const D=i.findIndex(S=>S===c);if(D===-1)return;const L=i[D+1];m(L)}function T(){x.current=window.setTimeout(()=>{h.current=!0},kc)}function g(){x.current&&window.clearTimeout(x.current),h.current=!1}return C.createElement("div",{onClick:E,onPointerCancel:g,onPointerDown:v=>{l&&p(v),T()},onPointerMove:v=>{l&&y(v)},ref:r,"data-vaul-drawer-visible":u?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},C.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});oa.displayName="Drawer.Handle";function Pc(e){const t=ot(),{container:n=t.container,...r}=e;return C.createElement(Br,{container:n,...r})}const Kc={Root:Oc,Content:aa,Overlay:ra,Portal:Pc,Handle:oa,Title:Vr};export{qc as C,Kc as D,vr as P,Uc as a,Wc as b,zc as c,ao as f,Hc as s,Vc as u};
@@ -1 +1 @@
1
- import{j as e,Y as a}from"./index-DIEie7Yj.js";import{E as s}from"./EmptyState-D0-8vkl7.js";function r(){return e.jsx("div",{className:"flex h-full items-center justify-center bg-surface",children:e.jsx(s,{message:"Pick an event to read it here.",icon:e.jsx(a,{className:"size-8"})})})}export{r as component};
1
+ import{j as e,Y as a}from"./index-CTrN7dU7.js";import{E as s}from"./EmptyState-CwwN8uxT.js";function r(){return e.jsx("div",{className:"flex h-full items-center justify-center bg-surface",children:e.jsx(s,{message:"Pick an event to read it here.",icon:e.jsx(a,{className:"size-8"})})})}export{r as component};
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-CTrN7dU7.js";import{B as o}from"./BriefPane-D75cGk9R.js";import"./useSearchTokenContext-BZ3hasAQ.js";import"./kbd-DNmTK9ke.js";import"./useMessageBodyContent-C6WheWR5.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-BVdr1xz_.js";import"./roving-focus-BYBMU9YM.js";import"./search-token-index-BinolOMC.js";import"./useQueries-8ibIA6jj.js";import"./popover-menu-I_p7C4RX.js";import"./mail-2Lzca0sU.js";import"./avatar-BI9-h2CG.js";import"./index-DMA0YSsS.js";import"./useSignature-COUd5paq.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-DgoW2gtH.js";import"./sections-CfTDsSEu.js";import"./EmptyState-CwwN8uxT.js";import"./ErrorState-DWzQfscg.js";import"./undo-2-DafMLJl8.js";import"./download-CHu9yf-9.js";import"./calendar-suggestion-E9w2nRWu.js";import"./calendar-format-nYSxDVLX.js";import"./useCalendars-DSVgnNGS.js";import"./calendar-report-_QLAbdRS.js";import"./attendee-row-BMb3eM14.js";import"./minus-QLsR9rVM.js";import"./clock-CHCFgl4d.js";import"./calendar-clash-strip-BeF8DhB-.js";import"./bell-off-CC53fBB2.js";import"./copy-DgGekFwr.js";import"./shield-check-B8NtyqSa.js";import"./useFilters-CI6nPI8A.js";import"./checkbox-CZD6i6IR.js";import"./confirm-dialog-CocDko9U.js";import"./useLayoutTier-Cs2hRSyr.js";import"./menu-AiRz5rLS.js";import"./useRefreshControl-BHFXn1pg.js";import"./circle-check-big-CA-bYUtr.js";import"./refresh-cw-CrSEtN0j.js";import"./useSemanticSearch-BPL9gQ__.js";import"./useLabels-BLAR4UCi.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function V(){return r.jsx(o.Reading,{})}export{V as component};
@@ -0,0 +1 @@
1
+ import{j as o}from"./index-CTrN7dU7.js";import{O as t}from"./OutboxPane-y8lpgoA7.js";import"./roving-focus-BYBMU9YM.js";import"./useSearchTokenContext-BZ3hasAQ.js";import"./kbd-DNmTK9ke.js";import"./useMessageBodyContent-C6WheWR5.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-CA-bYUtr.js";import"./clock-CHCFgl4d.js";import"./row-actions-M9Ety9op.js";import"./rotate-ccw-BwoJPdTA.js";import"./pane-header-C6F97UxO.js";import"./NavMenuButton-6SG5syJx.js";import"./menu-AiRz5rLS.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function d(){return o.jsx(t.Reading,{})}export{d as component};
@@ -0,0 +1 @@
1
+ import{j as o}from"./index-CTrN7dU7.js";import{F as r}from"./FlaggedPane-Jts36qML.js";import"./useSearchTokenContext-BZ3hasAQ.js";import"./kbd-DNmTK9ke.js";import"./useMessageBodyContent-C6WheWR5.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-BVdr1xz_.js";import"./roving-focus-BYBMU9YM.js";import"./search-token-index-BinolOMC.js";import"./useQueries-8ibIA6jj.js";import"./popover-menu-I_p7C4RX.js";import"./mail-2Lzca0sU.js";import"./avatar-BI9-h2CG.js";import"./index-DMA0YSsS.js";import"./useSignature-COUd5paq.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-DgoW2gtH.js";import"./sections-CfTDsSEu.js";import"./EmptyState-CwwN8uxT.js";import"./ErrorState-DWzQfscg.js";import"./undo-2-DafMLJl8.js";import"./download-CHu9yf-9.js";import"./calendar-suggestion-E9w2nRWu.js";import"./calendar-format-nYSxDVLX.js";import"./useCalendars-DSVgnNGS.js";import"./calendar-report-_QLAbdRS.js";import"./attendee-row-BMb3eM14.js";import"./minus-QLsR9rVM.js";import"./clock-CHCFgl4d.js";import"./calendar-clash-strip-BeF8DhB-.js";import"./bell-off-CC53fBB2.js";import"./copy-DgGekFwr.js";import"./shield-check-B8NtyqSa.js";import"./useFilters-CI6nPI8A.js";import"./checkbox-CZD6i6IR.js";import"./confirm-dialog-CocDko9U.js";import"./useLayoutTier-Cs2hRSyr.js";import"./menu-AiRz5rLS.js";import"./MailViewChrome-DO8IvQ0g.js";import"./refresh-cw-CrSEtN0j.js";import"./wizard-selection-DxUM65kM.js";function O(){return o.jsx(r.Reading,{})}export{O as component};
@@ -1 +1 @@
1
- import{j as n,t as s}from"./index-DIEie7Yj.js";function x({className:e,...t}){return n.jsx("kbd",{className:s("inline-flex h-4 min-w-4 items-center justify-center rounded-xs border border-line bg-surface-sunken px-1 font-sans text-2xs text-fg-muted",e),...t})}export{x as K};
1
+ import{j as n,t as s}from"./index-CTrN7dU7.js";function x({className:e,...t}){return n.jsx("kbd",{className:s("inline-flex h-4 min-w-4 items-center justify-center rounded-xs border border-line bg-surface-sunken px-1 font-sans text-2xs text-fg-muted",e),...t})}export{x as K};
@@ -1 +1 @@
1
- import{r as f,j as e,az as h,bs as y,ay as b,bQ as g,f as v,a3 as N,u as C,c as L,d as I,aP as D,aR as S,B as w}from"./index-DIEie7Yj.js";import{C as E}from"./confirm-dialog-Cfujg7eJ.js";import{S as $}from"./settings-screen-xG7ySj9h.js";import{E as j}from"./ErrorState-VVAbrV2n.js";import{a as T,b as k,c as R,u as O}from"./useLabels-BJtlozty.js";import"./avatar-C2fjt5Oo.js";import"./chevron-left-wWboU2sl.js";import"./menu-C21gm-LC.js";import"./circle-help-CxYf0rqb.js";function P({labels:l,onRename:i,onRecolor:n,onDelete:m,deletingLabelId:c}){const[u,r]=f.useState(),[o,d]=f.useState("");if(l.length===0)return e.jsx("p",{className:"py-6 text-sm text-fg-muted",children:"No labels yet. Create one below, then use it in a filter or apply it to mail directly."});const t=a=>{const s=o.trim();s!==""&&i(a,s),r(void 0)};return e.jsx("ul",{className:"divide-y divide-line rounded-md border border-line",children:l.map(a=>e.jsxs("li",{className:"flex items-center gap-3 px-3 py-2.5",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[u===a.labelId?e.jsx(h,{autoFocus:!0,value:o,onChange:s=>d(s.target.value),onBlur:()=>t(a.labelId),onKeyDown:s=>{s.key==="Enter"&&(s.preventDefault(),t(a.labelId)),s.key==="Escape"&&(s.preventDefault(),r(void 0))},"aria-label":`Rename label ${a.name}`}):e.jsx("button",{type:"button",onClick:()=>{r(a.labelId),d(a.name)},"aria-label":`Rename label ${a.name}`,className:"flex items-center gap-2 rounded-sm text-left hover:opacity-80",children:e.jsx(y,{label:a})}),e.jsx("p",{className:"mt-0.5 text-xs text-fg-subtle",children:a.filterCount===0?"Not used in any filter":`Used in ${a.filterCount} ${a.filterCount===1?"filter":"filters"}`})]}),e.jsx(b,{"aria-label":`Color for ${a.name}`,value:a.color,onChange:s=>n(a.labelId,s.target.value),className:"w-28 shrink-0",children:g.map(s=>e.jsx("option",{value:s,children:s},s))}),e.jsx(v,{variant:"ghost",size:"sm",icon:e.jsx(N,{className:"size-4 text-danger"}),onClick:()=>m(a),disabled:c===a.labelId,"aria-label":`Delete label ${a.name}`})]},a.labelId))})}const B=(l,i)=>{if(i===0)return{title:`Delete the "${l}" label?`};const n=i===1?"filter":"filters";return{title:`Delete the "${l}" label?`,description:`This also deletes ${i} ${n} that ${i===1?"applies":"apply"} it — they can't be recovered.`}},_=e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:"Labels mark mail without moving it — a message can carry any number of them alongside whichever folder it lives in."}),e.jsx("p",{children:"Use a label in a filter's action to have new (and existing) mail label itself automatically, or apply one to a selection directly from the mailbox."}),e.jsx("p",{children:"Deleting a label removes it from every message, and deletes every filter that applies it — the confirmation names how many."})]});function H({accountId:l}){const{createLabel:i,isPending:n,isError:m}=O(l),[c,u]=f.useState(""),[r,o]=f.useState("Default"),d=()=>{const t=c.trim();t!==""&&i(t,r).then(()=>{u(""),o("Default")})};return e.jsxs("div",{className:"space-y-2 rounded-sm border border-line bg-surface p-3",children:[e.jsx("p",{className:"text-sm font-medium text-fg",children:"New label"}),e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-end",children:[e.jsxs("div",{className:"flex-1 space-y-1",children:[e.jsx("span",{className:"text-xs text-fg-muted",children:"Name"}),e.jsx(h,{value:c,onChange:t=>u(t.target.value),placeholder:"e.g. Receipts","aria-label":"Label name",onKeyDown:t=>{t.key==="Enter"&&(t.preventDefault(),d())}})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-xs text-fg-muted",children:"Color"}),e.jsx(b,{value:r,onChange:t=>o(t.target.value),"aria-label":"Label color",className:"w-28",children:g.map(t=>e.jsx("option",{value:t,children:t},t))})]}),e.jsx(v,{variant:"primary",onClick:d,disabled:n||c.trim()==="",children:n?"Creating…":"Create label"})]}),m&&e.jsx(w,{tone:"danger",variant:"soft",children:"Couldn't create that label. Please try again."})]})}function z({account:l}){const i=l.accountId,{labels:n,isPending:m,isError:c,error:u,refetch:r}=T(i),{updateLabel:o}=k(i),{deleteLabel:d,deletingLabelId:t}=R(i),[a,s]=f.useState();return e.jsxs("section",{className:"space-y-2",children:[e.jsx("h2",{className:"text-sm font-semibold text-fg",children:l.email}),m?e.jsx("div",{className:"h-16 animate-pulse rounded-md border border-line bg-surface","aria-busy":"true","aria-label":`Loading labels for ${l.email}`}):c?e.jsx(j,{variant:"inline",title:`Couldn't load labels for ${l.email}`,error:u,onRetry:()=>{r()}}):e.jsx(P,{labels:n,onRename:(p,x)=>o(p,{name:x}),onRecolor:(p,x)=>o(p,{color:x}),onDelete:s,deletingLabelId:t}),e.jsx(H,{accountId:i}),a&&(()=>{const p=B(a.name,a.filterCount);return e.jsx(E,{isOpen:!0,title:p.title,description:p.description,confirmLabel:"Delete label",destructive:!0,isBusy:t===a.labelId,onConfirm:()=>{d(a.labelId),s(void 0)},onCancel:()=>s(void 0)})})()]})}function J(){const l=C(),[i,n]=f.useState(!0),{data:m,isPending:c,isError:u,error:r,refetch:o}=L(I()),d=t=>{const a=S[t];a&&l({to:a})};return e.jsx($,{items:D,activeId:"labels",title:"Labels",description:"Mark mail without moving it, per account.",help:_,helpOpen:i,onToggleHelp:()=>n(t=>!t),onSelect:d,onBackToMail:()=>{l({to:"/mail"})},children:c?e.jsx("div",{className:"h-24 animate-pulse rounded-sm border border-line bg-surface","aria-busy":"true","aria-label":"Loading accounts"}):u?e.jsx(j,{title:"Couldn't load accounts",error:r,onRetry:()=>{o()}}):m.accounts.length===0?e.jsx("p",{className:"py-12 text-sm text-fg-muted",children:"No accounts configured."}):e.jsx("div",{className:"space-y-8",children:m.accounts.map(t=>e.jsx(z,{account:t},t.accountId))})})}export{J as component};
1
+ import{r as f,j as e,az as h,bs as y,ay as b,bQ as g,f as v,a3 as N,u as C,c as L,d as I,aP as D,aR as S,B as w}from"./index-CTrN7dU7.js";import{C as E}from"./confirm-dialog-CocDko9U.js";import{S as $}from"./settings-screen-BVPfYXKu.js";import{E as j}from"./ErrorState-DWzQfscg.js";import{a as T,b as k,c as R,u as O}from"./useLabels-BLAR4UCi.js";import"./avatar-BI9-h2CG.js";import"./chevron-left-B1U3lovQ.js";import"./menu-AiRz5rLS.js";import"./circle-help-gF5YAjts.js";function P({labels:l,onRename:i,onRecolor:n,onDelete:m,deletingLabelId:c}){const[u,r]=f.useState(),[o,d]=f.useState("");if(l.length===0)return e.jsx("p",{className:"py-6 text-sm text-fg-muted",children:"No labels yet. Create one below, then use it in a filter or apply it to mail directly."});const t=a=>{const s=o.trim();s!==""&&i(a,s),r(void 0)};return e.jsx("ul",{className:"divide-y divide-line rounded-md border border-line",children:l.map(a=>e.jsxs("li",{className:"flex items-center gap-3 px-3 py-2.5",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[u===a.labelId?e.jsx(h,{autoFocus:!0,value:o,onChange:s=>d(s.target.value),onBlur:()=>t(a.labelId),onKeyDown:s=>{s.key==="Enter"&&(s.preventDefault(),t(a.labelId)),s.key==="Escape"&&(s.preventDefault(),r(void 0))},"aria-label":`Rename label ${a.name}`}):e.jsx("button",{type:"button",onClick:()=>{r(a.labelId),d(a.name)},"aria-label":`Rename label ${a.name}`,className:"flex items-center gap-2 rounded-sm text-left hover:opacity-80",children:e.jsx(y,{label:a})}),e.jsx("p",{className:"mt-0.5 text-xs text-fg-subtle",children:a.filterCount===0?"Not used in any filter":`Used in ${a.filterCount} ${a.filterCount===1?"filter":"filters"}`})]}),e.jsx(b,{"aria-label":`Color for ${a.name}`,value:a.color,onChange:s=>n(a.labelId,s.target.value),className:"w-28 shrink-0",children:g.map(s=>e.jsx("option",{value:s,children:s},s))}),e.jsx(v,{variant:"ghost",size:"sm",icon:e.jsx(N,{className:"size-4 text-danger"}),onClick:()=>m(a),disabled:c===a.labelId,"aria-label":`Delete label ${a.name}`})]},a.labelId))})}const B=(l,i)=>{if(i===0)return{title:`Delete the "${l}" label?`};const n=i===1?"filter":"filters";return{title:`Delete the "${l}" label?`,description:`This also deletes ${i} ${n} that ${i===1?"applies":"apply"} it — they can't be recovered.`}},_=e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:"Labels mark mail without moving it — a message can carry any number of them alongside whichever folder it lives in."}),e.jsx("p",{children:"Use a label in a filter's action to have new (and existing) mail label itself automatically, or apply one to a selection directly from the mailbox."}),e.jsx("p",{children:"Deleting a label removes it from every message, and deletes every filter that applies it — the confirmation names how many."})]});function H({accountId:l}){const{createLabel:i,isPending:n,isError:m}=O(l),[c,u]=f.useState(""),[r,o]=f.useState("Default"),d=()=>{const t=c.trim();t!==""&&i(t,r).then(()=>{u(""),o("Default")})};return e.jsxs("div",{className:"space-y-2 rounded-sm border border-line bg-surface p-3",children:[e.jsx("p",{className:"text-sm font-medium text-fg",children:"New label"}),e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-end",children:[e.jsxs("div",{className:"flex-1 space-y-1",children:[e.jsx("span",{className:"text-xs text-fg-muted",children:"Name"}),e.jsx(h,{value:c,onChange:t=>u(t.target.value),placeholder:"e.g. Receipts","aria-label":"Label name",onKeyDown:t=>{t.key==="Enter"&&(t.preventDefault(),d())}})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-xs text-fg-muted",children:"Color"}),e.jsx(b,{value:r,onChange:t=>o(t.target.value),"aria-label":"Label color",className:"w-28",children:g.map(t=>e.jsx("option",{value:t,children:t},t))})]}),e.jsx(v,{variant:"primary",onClick:d,disabled:n||c.trim()==="",children:n?"Creating…":"Create label"})]}),m&&e.jsx(w,{tone:"danger",variant:"soft",children:"Couldn't create that label. Please try again."})]})}function z({account:l}){const i=l.accountId,{labels:n,isPending:m,isError:c,error:u,refetch:r}=T(i),{updateLabel:o}=k(i),{deleteLabel:d,deletingLabelId:t}=R(i),[a,s]=f.useState();return e.jsxs("section",{className:"space-y-2",children:[e.jsx("h2",{className:"text-sm font-semibold text-fg",children:l.email}),m?e.jsx("div",{className:"h-16 animate-pulse rounded-md border border-line bg-surface","aria-busy":"true","aria-label":`Loading labels for ${l.email}`}):c?e.jsx(j,{variant:"inline",title:`Couldn't load labels for ${l.email}`,error:u,onRetry:()=>{r()}}):e.jsx(P,{labels:n,onRename:(p,x)=>o(p,{name:x}),onRecolor:(p,x)=>o(p,{color:x}),onDelete:s,deletingLabelId:t}),e.jsx(H,{accountId:i}),a&&(()=>{const p=B(a.name,a.filterCount);return e.jsx(E,{isOpen:!0,title:p.title,description:p.description,confirmLabel:"Delete label",destructive:!0,isBusy:t===a.labelId,onConfirm:()=>{d(a.labelId),s(void 0)},onCancel:()=>s(void 0)})})()]})}function J(){const l=C(),[i,n]=f.useState(!0),{data:m,isPending:c,isError:u,error:r,refetch:o}=L(I()),d=t=>{const a=S[t];a&&l({to:a})};return e.jsx($,{items:D,activeId:"labels",title:"Labels",description:"Mark mail without moving it, per account.",help:_,helpOpen:i,onToggleHelp:()=>n(t=>!t),onSelect:d,onBackToMail:()=>{l({to:"/mail"})},children:c?e.jsx("div",{className:"h-24 animate-pulse rounded-sm border border-line bg-surface","aria-busy":"true","aria-label":"Loading accounts"}):u?e.jsx(j,{title:"Couldn't load accounts",error:r,onRetry:()=>{o()}}):m.accounts.length===0?e.jsx("p",{className:"py-12 text-sm text-fg-muted",children:"No accounts configured."}):e.jsx("div",{className:"space-y-8",children:m.accounts.map(t=>e.jsx(z,{account:t},t.accountId))})})}export{J as component};
@@ -1 +1 @@
1
- import{e}from"./index-DIEie7Yj.js";const a=e("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);export{a as M};
1
+ import{e}from"./index-CTrN7dU7.js";const a=e("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);export{a as M};
@@ -1 +1 @@
1
- import{e as ee,r as u,j as t,t as D,v as te,f as N,w as se,x as M,y as O,z as ne,A as oe,C as ae,h as Q,D as re,E as ie,F as ce,G as le,H as ue,J as de,X as me,K as pe,a as he,b as fe,M as xe,N as ge,P as be,Q as ve,R as ye,S as Se,T as je,u as Ce,c as Ne,d as Ie,U as we,O as Me,V as Pe}from"./index-DIEie7Yj.js";import{S as Re,u as Ee,s as Oe,K as Te,b as ke,a as Le,c as Ae,d as Fe}from"./search-token-index-CclyV_x2.js";import{P as De}from"./pencil-D2ugaHF8.js";import{u as R,a as Qe}from"./useMessageBodyContent-DaCPQpX3.js";import{c as Ke,s as _e,M as ze}from"./MailShell-Pr322jmK.js";import{u as Be,a as He,R as Ve,s as qe,i as $e,H as Ge,M as Ue}from"./useRefreshControl-CHw1FCdw.js";import{M as We}from"./menu-C21gm-LC.js";import{B as Ye}from"./bug-ChX59CrI.js";import{L as Je,S as Xe,A as Ze,M as et}from"./MailNav-CgR3wyoa.js";import{A as tt}from"./avatar-C2fjt5Oo.js";import{u as st,P as nt,a as ot,b as at}from"./popover-menu-BzPU2XRv.js";import{u as rt}from"./sections-n58EA842.js";import{E as it}from"./ErrorState-VVAbrV2n.js";import{K as T}from"./kbd-lDzxHVCS.js";import{u as ct}from"./index-Bsm5MTTG.js";import{u as K,i as lt}from"./useLayoutTier-nR-X4oh4.js";import{u as ut}from"./useQueries-DfoafMCX.js";import{u as dt}from"./useResultFolderIndex-BwoZm495.js";import{u as mt}from"./useDebouncedValue-CkCDwwGn.js";import"./search-scope-B5-OK3Cq.js";import"./FullCompose-BPnHusXz.js";import"./confirm-dialog-Cfujg7eJ.js";import"./circle-check-big-DdHuPOQ8.js";import"./refresh-cw-Ckd0XdaA.js";import"./roving-focus-CB0KLgKq.js";import"./bell-off-DAf1mpP9.js";import"./folder-failure-CqkVSsrb.js";import"./outbox-status-BlKn6P0x.js";import"./useSignature-D4rel0VO.js";import"./account-form-helpers-DhckT_PN.js";const pt=ee("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);function ht({email:e,onSignOut:s}){const n=u.useRef(null),{open:a,setOpen:o,containerRef:r,panelRef:i,getAnchor:d}=st("account-menu",()=>n.current?.focus());u.useEffect(()=>{if(!a)return;const c=requestAnimationFrame(()=>i.current?.querySelector('[role="menuitem"]')?.focus());return()=>cancelAnimationFrame(c)},[a,i]);const m=e??"Account";return t.jsxs("div",{ref:r,className:"relative",children:[t.jsx("button",{ref:n,type:"button","aria-label":"Account","aria-haspopup":"menu","aria-expanded":a,onClick:()=>o(c=>!c),className:"inline-flex min-h-11 min-w-11 items-center justify-center rounded-md p-1.5 text-fg-muted transition-colors hover:bg-surface-raised hover:text-fg",children:t.jsx(tt,{name:m,email:e??void 0,size:"sm"})}),t.jsx(nt,{open:a,align:"end",panelRef:i,getAnchor:d,children:t.jsxs(ot,{ref:i,label:m,children:[e&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"truncate px-4 py-2 text-xs text-fg-muted",title:e,"data-testid":"account-menu-email",children:e}),t.jsx("hr",{className:"my-1 h-px border-0 bg-line"})]}),t.jsx(at,{label:"Sign out",icon:t.jsx(Je,{className:"size-4"}),onSelect:()=>{o(!1),n.current?.focus(),s()}})]})})]})}function ft({leading:e,search:s,actions:n,className:a}){return t.jsxs("header",{className:D("flex min-h-pane-header w-full shrink-0 items-center gap-2 border-b border-line bg-canvas px-row-inset py-1",a),children:[e&&t.jsx("div",{className:"flex shrink-0 items-center gap-1",children:e}),t.jsx("div",{className:"flex min-w-0 flex-1 justify-start",children:t.jsx("div",{className:"w-full max-w-xs transition-[max-width] duration-150 ease-out focus-within:max-w-lg",children:s})}),n&&t.jsx("div",{className:"flex shrink-0 items-center gap-1",children:n})]})}function xt({onCompose:e}){return t.jsx("button",{type:"button",onClick:e,"aria-label":"Compose new message",className:"lg:hidden fixed right-4 z-30 h-14 w-14 rounded-full bg-accent text-accent-fg shadow-lg flex items-center justify-center hover:opacity-90 active:scale-95 transition-all",style:{bottom:"calc(env(safe-area-inset-bottom, 0) + 1rem)"},children:t.jsx(De,{className:"size-6"})})}function gt(){const e=te();if(!e)return null;const s=e.showNavPane?!e.navCollapsed:!1;return t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(We,{className:"size-4"}),onClick:e.toggleNav,"aria-label":s?"Hide folders":"Show folders","aria-expanded":s,title:"Folders",className:"shrink-0"})}const bt={global:"Search all mail",pending:"Search mail",scoped:"Search this folder"};function vt({search:e,onCompose:s,onReportBug:n,onOpenSettings:a,composeShortcut:o,refreshControl:r,account:i}){return t.jsx(ft,{leading:t.jsx(gt,{}),search:t.jsx(Re,{value:e.value,onChange:e.onChange,onClear:e.onClear,onClearQuery:e.onClearQuery,chips:e.chips,onRemoveChip:e.onRemoveChip,placeholder:bt[e.scope]}),actions:t.jsxs(t.Fragment,{children:[t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(pt,{className:"size-4"}),title:o?`Compose (${o})`:"Compose","aria-label":"Compose",onClick:s}),t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(Ye,{className:"size-4"}),title:"Report a bug","aria-label":"Report a bug",onClick:n}),t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(Xe,{className:"size-4"}),title:"Settings","aria-label":"Settings",onClick:a}),r,i]})})}function yt(){const e=se(),s=M({select:c=>O(c.location.pathname)}),n=M({select:c=>ne(c.location.search)}),[a,o]=u.useState(n),r=mt(a,200),[i,d]=u.useState(s);if(i!==s){const c=_e(i,s,n);d(s),c!==void 0&&o(c)}const m=u.useCallback(c=>{d(O(e.state.location.pathname)),o(c)},[e]);return{searchInput:a,committedQuery:Ke(a,r),viewKey:s,setSearchInput:m}}const St=()=>{const e=R();return oe()?null:t.jsx(xt,{onCompose:e})},jt=()=>t.jsx(Ze,{children:({email:e,signOut:s})=>t.jsx(ht,{email:e,onSignOut:s})});function Ct({accounts:e}){const{searchInput:s,onSearchChange:n,onSearchClear:a,onSearchClearQuery:o,resultFolderIndex:r}=ae(),i=Q(),d=rt(),m=R(),{scope:c,clearScope:x}=Ee(e),f=c.kind==="scoped"?[{id:c.chip.id,label:c.chip.label,tone:"scope"}]:void 0,p=u.useMemo(()=>e.map(b=>b.accountId),[e]),{hasNewMail:l}=Be(),{state:h,errorMessage:y,refresh:g}=He(p,{onSettled:()=>ie(i,ce(r.keys()))});return t.jsx(vt,{search:{value:s,scope:c.kind,chips:f,onChange:n,onClear:a,onClearQuery:o,onRemoveChip:x},onCompose:m,onReportBug:re,onOpenSettings:()=>d("accounts"),composeShortcut:Oe("compose"),refreshControl:t.jsx(Ve,{state:h,onRefresh:g,label:"Refresh all accounts",errorMessage:y,hasUpdate:l(p)}),account:t.jsx(jt,{})})}const Nt=({isOpen:e,onClose:s})=>{const n=u.useRef(null);return le({id:"shortcuts",open:e,answers:{back:s}}),ue(n,e),e?t.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[t.jsx(de,{label:"Dismiss keyboard shortcuts",onDismiss:s,className:"backdrop-blur-sm"}),t.jsxs("div",{ref:n,role:"dialog","aria-modal":"true","aria-label":"Keyboard shortcuts",tabIndex:-1,className:D("relative z-10 max-h-[85vh] w-full max-w-2xl overflow-y-auto","rounded-lg border border-line bg-surface shadow-lg","p-6"),children:[t.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[t.jsx("h2",{className:"text-lg font-semibold",children:"Keyboard shortcuts"}),t.jsx("button",{type:"button",onClick:s,className:"p-1 text-fg-muted transition-colors hover:text-fg","aria-label":"Close",children:t.jsx(me,{className:"size-5"})})]}),t.jsx("div",{className:"grid gap-x-8 gap-y-6 sm:grid-cols-2",children:Te.map(a=>t.jsxs("div",{children:[t.jsx("h3",{className:"mb-3 text-sm font-medium text-fg-muted",children:a.title}),t.jsx("div",{className:"space-y-2",children:a.hints.map(o=>t.jsxs("div",{className:"flex items-center justify-between gap-4",children:[t.jsx("span",{className:"text-sm",children:o.description}),t.jsx("span",{className:"flex shrink-0 items-center gap-1",children:o.keys.map((r,i)=>t.jsxs(u.Fragment,{children:[i>0&&o.keys[0]==="g"&&t.jsx("span",{className:"text-2xs text-fg-subtle",children:"then"}),t.jsx(T,{children:r})]},r))})]},`${o.action}-${o.keys.join("+")}`))})]},a.title))}),t.jsx("div",{className:"mt-6 border-t border-line pt-4",children:t.jsxs("p",{className:"text-center text-xs text-fg-muted",children:["Press ",t.jsx(T,{children:"Esc"})," to close"]})})]})]}):null};function It(e){const s=ut({queries:e.map(n=>({...pe({path:{accountId:n.accountId}}),staleTime:1/0}))});return u.useMemo(()=>ke(s.map(n=>n.data?.items??[])),[s])}const _="remit:intelligence-open";function wt(){try{return localStorage.getItem(_)!=="closed"}catch{return!0}}function Mt(e){try{localStorage.setItem(_,e?"open":"closed")}catch{}}function k({panels:e,prefersOpen:s,isDesktop:n,hasThread:a,raisedFor:o,openMessage:r}){return o!==null&&o===r?!0:e.length>0?e.includes("intelligence"):n&&a&&s}const Pt=()=>{const e=K(),s=he(),n=fe(),a=s.find(xe),o=Le(),[r,i]=u.useState(wt),d=o?`${o.threadId}/${o.messageId??""}`:null,[m,c]=u.useState(null),x={panels:s,prefersOpen:r,isDesktop:e==="desktop",hasThread:o!==void 0,openMessage:d},f=k({...x,raisedFor:m}),p=k({...x,raisedFor:null}),l=u.useCallback((b,S)=>{n([...b?["intelligence"]:[],...S?[S]:[]])},[n]),h=u.useCallback(b=>{l(p,b)},[p,l]),y=u.useCallback(()=>{if(f&&!p){c(null);return}const b=!f;Mt(b),i(b),c(null),l(b,a)},[p,f,a,l]),g=u.useCallback(()=>{c(d)},[d]);return{openOverlay:a,intelligenceOpen:f,showOverlay:h,toggleIntelligence:y,raiseIntelligence:g}};var j={exports:{}},L;function Rt(){if(L)return j.exports;L=1;const e=(s,n,a)=>new Promise((o,r)=>{if(a=Object.assign({concurrency:1/0},a),typeof n!="function")throw new TypeError("Mapper function is required");const{concurrency:i}=a;if(!(typeof i=="number"&&i>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${i}\` (${typeof i})`);const d=[],m=s[Symbol.iterator]();let c=!1,x=!1,f=0,p=0;const l=()=>{if(c)return;const h=m.next(),y=p;if(p++,h.done){x=!0,f===0&&o(d);return}f++,Promise.resolve(h.value).then(g=>n(g,y)).then(g=>{d[y]=g,f--,l()},g=>{c=!0,r(g)})};for(let h=0;h<i&&(l(),!x);h++);});return j.exports=e,j.exports.default=e,j.exports}var Et=Rt();const Ot=ge(Et),Tt=900*1e3,kt=30,Lt=(e,s)=>{if(!e)return s;const n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:s},At=30*1e3,Ft=e=>Math.max(Lt(e,kt)*1e3,At),z=Ft(je().mailboxPollIntervalSeconds),C=(e=Date.now(),s=z)=>$e(e)?Math.min(Ge,s):s,Dt=5,P=new Set,Qt=(e,s,n=Tt)=>e.filter(a=>{const o=a.lastSyncAt;return o==null?!0:s-o>n}).map(a=>a.accountId),Kt=(e,s,n=z)=>e-s>=n,_t=(e,s)=>e.filter(n=>!s.has(n)),A=(e,s)=>{if(P.delete(e),ye(s,{softError:!0},"nobody")){Se(s);return}console.warn("[remit] background mailbox sync failed",{accountId:e,error:s})},F=(e,s)=>be({path:{accountId:e},throwOnError:!0}).then(()=>{s.invalidateQueries({queryKey:ve({path:{accountId:e}})})}),zt=e=>{const s=Q(),n=u.useRef(e);n.current=e;const a=e.map(o=>o.accountId).join(",");u.useEffect(()=>{const o=Date.now(),i=Qt(n.current,o).filter(d=>!P.has(d));if(i.length!==0)for(const d of i)P.add(d),F(d,s).catch(m=>{A(d,m)})},[a,s]),u.useEffect(()=>{let o=Date.now(),r;const i=new Set,d=()=>{o=Date.now();const p=_t(n.current.map(l=>l.accountId),i);for(const l of p)i.add(l);Ot(p,l=>F(l,s).catch(h=>{A(l,h)}).finally(()=>{i.delete(l)}),{concurrency:Dt})},m=()=>{if(document.visibilityState==="visible"){d(),r=setTimeout(m,C());return}},c=()=>{if(document.visibilityState!=="visible")return;r!==void 0&&clearTimeout(r);const p=Date.now(),l=C(p);if(Kt(p,o,l)){d(),r=setTimeout(m,l);return}r=setTimeout(m,o+l-p)},x=()=>{document.visibilityState==="visible"&&(r!==void 0&&clearTimeout(r),o=Date.now(),r=setTimeout(m,C()))};r=setTimeout(m,C()),document.addEventListener("visibilitychange",c);const f=qe(x);return()=>{r!==void 0&&clearTimeout(r),document.removeEventListener("visibilitychange",c),f()}},[a,s])};function bs(){const e=Ce(),s=K(),n=lt(s),{openOverlay:a,intelligenceOpen:o,showOverlay:r,toggleIntelligence:i,raiseIntelligence:d}=Pt(),m=a==="shortcuts",c=a==="nav",{searchInput:x,committedQuery:f,viewKey:p,setSearchInput:l}=yt(),{data:h,isLoading:y,isError:g,error:b,refetch:S}=Ne({...Ie(),staleTime:1/0}),I=!!(h&&(h.accounts?.length??0)===0);u.useEffect(()=>{I&&e({to:"/onboarding",replace:!0})},[I,e]),ct({enabled:!m,bindings:[{key:"?",action:"help",handler:()=>r("shortcuts"),noModifiers:!1,preventDefault:!0}]});const E=R(),B=Qe(),H=M({select:w=>Pe(w.matches)?.list==="mailbox"}),V=u.useMemo(()=>({compose:E}),[E]);Ae({enabled:!H&&!B,handlers:V});const q=u.useCallback(()=>{l("")},[l]),$=u.useCallback(()=>{l("")},[l]),v=h?.accounts??[],G=u.useMemo(()=>v.map(w=>w.accountId),[v]),U=It(v),W=dt(v).index,Y=u.useMemo(()=>Fe(v),[v]);zt(v);const J=u.useCallback(()=>{a==="nav"&&r(void 0)},[a,r]),X={accounts:v,mailboxNameIndex:U,accountNameIndex:Y,resultFolderIndex:W,searchQuery:f,searchInput:x,searchViewKey:p,onSearchChange:l,onSearchClear:q,onSearchClearQuery:$,intelligenceOpen:o,onToggleIntelligence:i,onRaiseIntelligence:d},Z={isSinglePane:n,isLoading:y||I,intelligenceOpen:o,nav:t.jsx(et,{accounts:v,onMailboxSelect:J}),topBar:n?void 0:t.jsx(Ct,{accounts:v}),overlay:n?t.jsx(St,{}):void 0,navOpen:c,onOpenNav:()=>r("nav"),onCloseNav:()=>r(void 0)};return t.jsx(we.Provider,{value:X,children:t.jsxs(Ue,{accountIds:G,children:[g?t.jsx("div",{className:"flex h-full items-center justify-center bg-canvas p-4",children:t.jsx(it,{title:"Couldn't load your account",error:b,onRetry:()=>{S()}})}):t.jsx(ze,{chrome:Z,children:t.jsx(Me,{})}),t.jsx(Nt,{isOpen:m,onClose:()=>r(void 0)})]})})}export{bs as component,ae as useMailContext};
1
+ import{e as ee,r as u,j as t,t as D,v as te,f as N,w as se,x as M,y as O,z as ne,A as oe,C as ae,h as Q,D as re,E as ie,F as ce,G as le,H as ue,J as de,X as me,K as pe,a as he,b as fe,M as xe,N as ge,P as be,Q as ve,R as ye,S as Se,T as je,u as Ce,c as Ne,d as Ie,U as we,O as Me,V as Pe}from"./index-CTrN7dU7.js";import{S as Re,u as Ee,s as Oe,K as Te,b as ke,a as Le,c as Ae,d as Fe}from"./search-token-index-BinolOMC.js";import{P as De}from"./pencil-DpZEcc9Q.js";import{u as R,a as Qe}from"./useMessageBodyContent-C6WheWR5.js";import{c as Ke,s as _e,M as ze}from"./MailShell-DpEV7moX.js";import{u as Be,a as He,R as Ve,s as qe,i as $e,H as Ge,M as Ue}from"./useRefreshControl-BHFXn1pg.js";import{M as We}from"./menu-AiRz5rLS.js";import{B as Ye}from"./bug-Dh0UIzTd.js";import{L as Je,S as Xe,A as Ze,M as et}from"./MailNav-CmvgCpY4.js";import{A as tt}from"./avatar-BI9-h2CG.js";import{u as st,P as nt,a as ot,b as at}from"./popover-menu-I_p7C4RX.js";import{u as rt}from"./sections-CfTDsSEu.js";import{E as it}from"./ErrorState-DWzQfscg.js";import{K as T}from"./kbd-DNmTK9ke.js";import{u as ct}from"./index-DMA0YSsS.js";import{u as K,i as lt}from"./useLayoutTier-Cs2hRSyr.js";import{u as ut}from"./useQueries-8ibIA6jj.js";import{u as dt}from"./useResultFolderIndex-BhA2C88T.js";import{u as mt}from"./useDebouncedValue-DgoW2gtH.js";import"./search-scope-B5-OK3Cq.js";import"./FullCompose-CPT2R-pn.js";import"./confirm-dialog-CocDko9U.js";import"./circle-check-big-CA-bYUtr.js";import"./refresh-cw-CrSEtN0j.js";import"./roving-focus-BYBMU9YM.js";import"./bell-off-CC53fBB2.js";import"./folder-failure-CqkVSsrb.js";import"./outbox-status-BlKn6P0x.js";import"./useSignature-COUd5paq.js";import"./account-form-helpers-DhckT_PN.js";const pt=ee("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);function ht({email:e,onSignOut:s}){const n=u.useRef(null),{open:a,setOpen:o,containerRef:r,panelRef:i,getAnchor:d}=st("account-menu",()=>n.current?.focus());u.useEffect(()=>{if(!a)return;const c=requestAnimationFrame(()=>i.current?.querySelector('[role="menuitem"]')?.focus());return()=>cancelAnimationFrame(c)},[a,i]);const m=e??"Account";return t.jsxs("div",{ref:r,className:"relative",children:[t.jsx("button",{ref:n,type:"button","aria-label":"Account","aria-haspopup":"menu","aria-expanded":a,onClick:()=>o(c=>!c),className:"inline-flex min-h-11 min-w-11 items-center justify-center rounded-md p-1.5 text-fg-muted transition-colors hover:bg-surface-raised hover:text-fg",children:t.jsx(tt,{name:m,email:e??void 0,size:"sm"})}),t.jsx(nt,{open:a,align:"end",panelRef:i,getAnchor:d,children:t.jsxs(ot,{ref:i,label:m,children:[e&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"truncate px-4 py-2 text-xs text-fg-muted",title:e,"data-testid":"account-menu-email",children:e}),t.jsx("hr",{className:"my-1 h-px border-0 bg-line"})]}),t.jsx(at,{label:"Sign out",icon:t.jsx(Je,{className:"size-4"}),onSelect:()=>{o(!1),n.current?.focus(),s()}})]})})]})}function ft({leading:e,search:s,actions:n,className:a}){return t.jsxs("header",{className:D("flex min-h-pane-header w-full shrink-0 items-center gap-2 border-b border-line bg-canvas px-row-inset py-1",a),children:[e&&t.jsx("div",{className:"flex shrink-0 items-center gap-1",children:e}),t.jsx("div",{className:"flex min-w-0 flex-1 justify-start",children:t.jsx("div",{className:"w-full max-w-xs transition-[max-width] duration-150 ease-out focus-within:max-w-lg",children:s})}),n&&t.jsx("div",{className:"flex shrink-0 items-center gap-1",children:n})]})}function xt({onCompose:e}){return t.jsx("button",{type:"button",onClick:e,"aria-label":"Compose new message",className:"lg:hidden fixed right-4 z-30 h-14 w-14 rounded-full bg-accent text-accent-fg shadow-lg flex items-center justify-center hover:opacity-90 active:scale-95 transition-all",style:{bottom:"calc(env(safe-area-inset-bottom, 0) + 1rem)"},children:t.jsx(De,{className:"size-6"})})}function gt(){const e=te();if(!e)return null;const s=e.showNavPane?!e.navCollapsed:!1;return t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(We,{className:"size-4"}),onClick:e.toggleNav,"aria-label":s?"Hide folders":"Show folders","aria-expanded":s,title:"Folders",className:"shrink-0"})}const bt={global:"Search all mail",pending:"Search mail",scoped:"Search this folder"};function vt({search:e,onCompose:s,onReportBug:n,onOpenSettings:a,composeShortcut:o,refreshControl:r,account:i}){return t.jsx(ft,{leading:t.jsx(gt,{}),search:t.jsx(Re,{value:e.value,onChange:e.onChange,onClear:e.onClear,onClearQuery:e.onClearQuery,chips:e.chips,onRemoveChip:e.onRemoveChip,placeholder:bt[e.scope]}),actions:t.jsxs(t.Fragment,{children:[t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(pt,{className:"size-4"}),title:o?`Compose (${o})`:"Compose","aria-label":"Compose",onClick:s}),t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(Ye,{className:"size-4"}),title:"Report a bug","aria-label":"Report a bug",onClick:n}),t.jsx(N,{variant:"ghost",size:"sm",icon:t.jsx(Xe,{className:"size-4"}),title:"Settings","aria-label":"Settings",onClick:a}),r,i]})})}function yt(){const e=se(),s=M({select:c=>O(c.location.pathname)}),n=M({select:c=>ne(c.location.search)}),[a,o]=u.useState(n),r=mt(a,200),[i,d]=u.useState(s);if(i!==s){const c=_e(i,s,n);d(s),c!==void 0&&o(c)}const m=u.useCallback(c=>{d(O(e.state.location.pathname)),o(c)},[e]);return{searchInput:a,committedQuery:Ke(a,r),viewKey:s,setSearchInput:m}}const St=()=>{const e=R();return oe()?null:t.jsx(xt,{onCompose:e})},jt=()=>t.jsx(Ze,{children:({email:e,signOut:s})=>t.jsx(ht,{email:e,onSignOut:s})});function Ct({accounts:e}){const{searchInput:s,onSearchChange:n,onSearchClear:a,onSearchClearQuery:o,resultFolderIndex:r}=ae(),i=Q(),d=rt(),m=R(),{scope:c,clearScope:x}=Ee(e),f=c.kind==="scoped"?[{id:c.chip.id,label:c.chip.label,tone:"scope"}]:void 0,p=u.useMemo(()=>e.map(b=>b.accountId),[e]),{hasNewMail:l}=Be(),{state:h,errorMessage:y,refresh:g}=He(p,{onSettled:()=>ie(i,ce(r.keys()))});return t.jsx(vt,{search:{value:s,scope:c.kind,chips:f,onChange:n,onClear:a,onClearQuery:o,onRemoveChip:x},onCompose:m,onReportBug:re,onOpenSettings:()=>d("accounts"),composeShortcut:Oe("compose"),refreshControl:t.jsx(Ve,{state:h,onRefresh:g,label:"Refresh all accounts",errorMessage:y,hasUpdate:l(p)}),account:t.jsx(jt,{})})}const Nt=({isOpen:e,onClose:s})=>{const n=u.useRef(null);return le({id:"shortcuts",open:e,answers:{back:s}}),ue(n,e),e?t.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[t.jsx(de,{label:"Dismiss keyboard shortcuts",onDismiss:s,className:"backdrop-blur-sm"}),t.jsxs("div",{ref:n,role:"dialog","aria-modal":"true","aria-label":"Keyboard shortcuts",tabIndex:-1,className:D("relative z-10 max-h-[85vh] w-full max-w-2xl overflow-y-auto","rounded-lg border border-line bg-surface shadow-lg","p-6"),children:[t.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[t.jsx("h2",{className:"text-lg font-semibold",children:"Keyboard shortcuts"}),t.jsx("button",{type:"button",onClick:s,className:"p-1 text-fg-muted transition-colors hover:text-fg","aria-label":"Close",children:t.jsx(me,{className:"size-5"})})]}),t.jsx("div",{className:"grid gap-x-8 gap-y-6 sm:grid-cols-2",children:Te.map(a=>t.jsxs("div",{children:[t.jsx("h3",{className:"mb-3 text-sm font-medium text-fg-muted",children:a.title}),t.jsx("div",{className:"space-y-2",children:a.hints.map(o=>t.jsxs("div",{className:"flex items-center justify-between gap-4",children:[t.jsx("span",{className:"text-sm",children:o.description}),t.jsx("span",{className:"flex shrink-0 items-center gap-1",children:o.keys.map((r,i)=>t.jsxs(u.Fragment,{children:[i>0&&o.keys[0]==="g"&&t.jsx("span",{className:"text-2xs text-fg-subtle",children:"then"}),t.jsx(T,{children:r})]},r))})]},`${o.action}-${o.keys.join("+")}`))})]},a.title))}),t.jsx("div",{className:"mt-6 border-t border-line pt-4",children:t.jsxs("p",{className:"text-center text-xs text-fg-muted",children:["Press ",t.jsx(T,{children:"Esc"})," to close"]})})]})]}):null};function It(e){const s=ut({queries:e.map(n=>({...pe({path:{accountId:n.accountId}}),staleTime:1/0}))});return u.useMemo(()=>ke(s.map(n=>n.data?.items??[])),[s])}const _="remit:intelligence-open";function wt(){try{return localStorage.getItem(_)!=="closed"}catch{return!0}}function Mt(e){try{localStorage.setItem(_,e?"open":"closed")}catch{}}function k({panels:e,prefersOpen:s,isDesktop:n,hasThread:a,raisedFor:o,openMessage:r}){return o!==null&&o===r?!0:e.length>0?e.includes("intelligence"):n&&a&&s}const Pt=()=>{const e=K(),s=he(),n=fe(),a=s.find(xe),o=Le(),[r,i]=u.useState(wt),d=o?`${o.threadId}/${o.messageId??""}`:null,[m,c]=u.useState(null),x={panels:s,prefersOpen:r,isDesktop:e==="desktop",hasThread:o!==void 0,openMessage:d},f=k({...x,raisedFor:m}),p=k({...x,raisedFor:null}),l=u.useCallback((b,S)=>{n([...b?["intelligence"]:[],...S?[S]:[]])},[n]),h=u.useCallback(b=>{l(p,b)},[p,l]),y=u.useCallback(()=>{if(f&&!p){c(null);return}const b=!f;Mt(b),i(b),c(null),l(b,a)},[p,f,a,l]),g=u.useCallback(()=>{c(d)},[d]);return{openOverlay:a,intelligenceOpen:f,showOverlay:h,toggleIntelligence:y,raiseIntelligence:g}};var j={exports:{}},L;function Rt(){if(L)return j.exports;L=1;const e=(s,n,a)=>new Promise((o,r)=>{if(a=Object.assign({concurrency:1/0},a),typeof n!="function")throw new TypeError("Mapper function is required");const{concurrency:i}=a;if(!(typeof i=="number"&&i>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${i}\` (${typeof i})`);const d=[],m=s[Symbol.iterator]();let c=!1,x=!1,f=0,p=0;const l=()=>{if(c)return;const h=m.next(),y=p;if(p++,h.done){x=!0,f===0&&o(d);return}f++,Promise.resolve(h.value).then(g=>n(g,y)).then(g=>{d[y]=g,f--,l()},g=>{c=!0,r(g)})};for(let h=0;h<i&&(l(),!x);h++);});return j.exports=e,j.exports.default=e,j.exports}var Et=Rt();const Ot=ge(Et),Tt=900*1e3,kt=30,Lt=(e,s)=>{if(!e)return s;const n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:s},At=30*1e3,Ft=e=>Math.max(Lt(e,kt)*1e3,At),z=Ft(je().mailboxPollIntervalSeconds),C=(e=Date.now(),s=z)=>$e(e)?Math.min(Ge,s):s,Dt=5,P=new Set,Qt=(e,s,n=Tt)=>e.filter(a=>{const o=a.lastSyncAt;return o==null?!0:s-o>n}).map(a=>a.accountId),Kt=(e,s,n=z)=>e-s>=n,_t=(e,s)=>e.filter(n=>!s.has(n)),A=(e,s)=>{if(P.delete(e),ye(s,{softError:!0},"nobody")){Se(s);return}console.warn("[remit] background mailbox sync failed",{accountId:e,error:s})},F=(e,s)=>be({path:{accountId:e},throwOnError:!0}).then(()=>{s.invalidateQueries({queryKey:ve({path:{accountId:e}})})}),zt=e=>{const s=Q(),n=u.useRef(e);n.current=e;const a=e.map(o=>o.accountId).join(",");u.useEffect(()=>{const o=Date.now(),i=Qt(n.current,o).filter(d=>!P.has(d));if(i.length!==0)for(const d of i)P.add(d),F(d,s).catch(m=>{A(d,m)})},[a,s]),u.useEffect(()=>{let o=Date.now(),r;const i=new Set,d=()=>{o=Date.now();const p=_t(n.current.map(l=>l.accountId),i);for(const l of p)i.add(l);Ot(p,l=>F(l,s).catch(h=>{A(l,h)}).finally(()=>{i.delete(l)}),{concurrency:Dt})},m=()=>{if(document.visibilityState==="visible"){d(),r=setTimeout(m,C());return}},c=()=>{if(document.visibilityState!=="visible")return;r!==void 0&&clearTimeout(r);const p=Date.now(),l=C(p);if(Kt(p,o,l)){d(),r=setTimeout(m,l);return}r=setTimeout(m,o+l-p)},x=()=>{document.visibilityState==="visible"&&(r!==void 0&&clearTimeout(r),o=Date.now(),r=setTimeout(m,C()))};r=setTimeout(m,C()),document.addEventListener("visibilitychange",c);const f=qe(x);return()=>{r!==void 0&&clearTimeout(r),document.removeEventListener("visibilitychange",c),f()}},[a,s])};function bs(){const e=Ce(),s=K(),n=lt(s),{openOverlay:a,intelligenceOpen:o,showOverlay:r,toggleIntelligence:i,raiseIntelligence:d}=Pt(),m=a==="shortcuts",c=a==="nav",{searchInput:x,committedQuery:f,viewKey:p,setSearchInput:l}=yt(),{data:h,isLoading:y,isError:g,error:b,refetch:S}=Ne({...Ie(),staleTime:1/0}),I=!!(h&&(h.accounts?.length??0)===0);u.useEffect(()=>{I&&e({to:"/onboarding",replace:!0})},[I,e]),ct({enabled:!m,bindings:[{key:"?",action:"help",handler:()=>r("shortcuts"),noModifiers:!1,preventDefault:!0}]});const E=R(),B=Qe(),H=M({select:w=>Pe(w.matches)?.list==="mailbox"}),V=u.useMemo(()=>({compose:E}),[E]);Ae({enabled:!H&&!B,handlers:V});const q=u.useCallback(()=>{l("")},[l]),$=u.useCallback(()=>{l("")},[l]),v=h?.accounts??[],G=u.useMemo(()=>v.map(w=>w.accountId),[v]),U=It(v),W=dt(v).index,Y=u.useMemo(()=>Fe(v),[v]);zt(v);const J=u.useCallback(()=>{a==="nav"&&r(void 0)},[a,r]),X={accounts:v,mailboxNameIndex:U,accountNameIndex:Y,resultFolderIndex:W,searchQuery:f,searchInput:x,searchViewKey:p,onSearchChange:l,onSearchClear:q,onSearchClearQuery:$,intelligenceOpen:o,onToggleIntelligence:i,onRaiseIntelligence:d},Z={isSinglePane:n,isLoading:y||I,intelligenceOpen:o,nav:t.jsx(et,{accounts:v,onMailboxSelect:J}),topBar:n?void 0:t.jsx(Ct,{accounts:v}),overlay:n?t.jsx(St,{}):void 0,navOpen:c,onOpenNav:()=>r("nav"),onCloseNav:()=>r(void 0)};return t.jsx(we.Provider,{value:X,children:t.jsxs(Ue,{accountIds:G,children:[g?t.jsx("div",{className:"flex h-full items-center justify-center bg-canvas p-4",children:t.jsx(it,{title:"Couldn't load your account",error:b,onRetry:()=>{S()}})}):t.jsx(ze,{chrome:Z,children:t.jsx(Me,{})}),t.jsx(Nt,{isOpen:m,onClose:()=>r(void 0)})]})})}export{bs as component,ae as useMailContext};
@@ -1 +1 @@
1
- import{e}from"./index-DIEie7Yj.js";const n=e("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);export{n as M};
1
+ import{e}from"./index-CTrN7dU7.js";const n=e("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);export{n as M};
@@ -0,0 +1 @@
1
+ import{e}from"./index-CTrN7dU7.js";const a=e("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);export{a as M};