@remit/web-client-dist 0.0.607 → 0.0.609

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-Bni5ftsD.js → BriefPane-DEi-JsdA.js} +1 -1
  2. package/assets/{CalendarComposePane-DqY_XoOp.js → CalendarComposePane-g7FAlOGW.js} +1 -1
  3. package/assets/{CalendarComposeSeed-C0VkXlPi.js → CalendarComposeSeed-D55P2JvJ.js} +1 -1
  4. package/assets/{CalendarShell-hSXU_58p.js → CalendarShell-DCWB0P07.js} +1 -1
  5. package/assets/{EmptyState-D8XbmYp5.js → EmptyState-DqIdeAoV.js} +1 -1
  6. package/assets/{ErrorState-ChCDQFu4.js → ErrorState-Cgv2hTnv.js} +1 -1
  7. package/assets/{FlaggedPane-yn0937Cs.js → FlaggedPane-DAxRg0nT.js} +1 -1
  8. package/assets/{FullCompose-OYzn7aRj.js → FullCompose-LZl0iQwD.js} +1 -1
  9. package/assets/MailListHeader-sWIslGNQ.js +7 -0
  10. package/assets/{MailNav-DpIpKuiM.js → MailNav-Do-t-Dfa.js} +1 -1
  11. package/assets/{MailShell-DSoLI8t1.js → MailShell-CbH8qbM0.js} +1 -1
  12. package/assets/{MailViewChrome-CbLPlPh3.js → MailViewChrome-dJdGlLEq.js} +1 -1
  13. package/assets/{MailboxPane-QhLUGp_f.js → MailboxPane-DYJz3R5m.js} +1 -1
  14. package/assets/{NavMenuButton-BslRFvxC.js → NavMenuButton-LdHpws2z.js} +1 -1
  15. package/assets/{OnboardingWizard-n0-Ka98Z.js → OnboardingWizard-B-tr6ZId.js} +1 -1
  16. package/assets/{OpenCalendarEvent-DLV2pDPr.js → OpenCalendarEvent-BgE0SkNe.js} +1 -1
  17. package/assets/{OutboxPane-B2jjbErx.js → OutboxPane-B0zoZthY.js} +1 -1
  18. package/assets/_calendarObjectId-BE7tE8p8.js +1 -0
  19. package/assets/_mailboxId-CeOuo_Sa.js +1 -0
  20. package/assets/_messageId-CDNljXRP.js +1 -0
  21. package/assets/_messageId-Cj1GTees.js +1 -0
  22. package/assets/_messageId-D9gSLZCa.js +1 -0
  23. package/assets/_outboxMessageId-BA1Y-VSS.js +1 -0
  24. package/assets/_recurrenceId-DY9RZYxL.js +1 -0
  25. package/assets/_threadId-8gpOy3vK.js +1 -0
  26. package/assets/_threadId-CHX4nQYZ.js +1 -0
  27. package/assets/_threadId-DhP61VLH.js +1 -0
  28. package/assets/{_view._date-DsI4St-q.js → _view._date-DuzUliy5.js} +1 -1
  29. package/assets/{accounts-TpcpbZxo.js → accounts-BmC9JP12.js} +1 -1
  30. package/assets/{advanced-Dea-Nfrb.js → advanced-CgEd_b5l.js} +1 -1
  31. package/assets/{appearance-DBeq1_62.js → appearance-BU5geWcW.js} +1 -1
  32. package/assets/attachment-file-CoMDQaKt.js +1 -0
  33. package/assets/{attendee-row-DqBjBHj8.js → attendee-row-M8m5qO5a.js} +1 -1
  34. package/assets/{avatar-COdIN3hK.js → avatar-BLC4SLQh.js} +1 -1
  35. package/assets/{bell-off-BBZTEYVE.js → bell-off-hyGUQzwS.js} +1 -1
  36. package/assets/{bottom-sheet-CMtExa1z.js → bottom-sheet-D7Navvxn.js} +1 -1
  37. package/assets/{brief-B9ZqZahd.js → brief-CTgwNgaZ.js} +1 -1
  38. package/assets/brief-CeaeTgy_.js +1 -0
  39. package/assets/{browser-ponyfill-ChRRrywE.js → browser-ponyfill-Bi9CzWpK.js} +1 -1
  40. package/assets/{bug-Bb-GLRUD.js → bug-BPZ_1Z1I.js} +1 -1
  41. package/assets/{calendar-BwHpFNkA.js → calendar-Cy7ENIus.js} +1 -1
  42. package/assets/{calendar-color-Cn9yKFvB.js → calendar-color-dgTJGOyg.js} +1 -1
  43. package/assets/{calendar-event-chip-HbnzISUW.js → calendar-event-chip-D8uJgNl8.js} +1 -1
  44. package/assets/{calendars-DBzp_N3H.js → calendars-D6dv9m4U.js} +1 -1
  45. package/assets/{card-D1A84Xq3.js → card-CFv_imVn.js} +1 -1
  46. package/assets/chevron-left-BD_ElpXP.js +1 -0
  47. package/assets/{circle-check-DnBDidQV.js → circle-check-Dt9BGWCB.js} +1 -1
  48. package/assets/{circle-check-big-H10pIzmY.js → circle-check-big-BulHYCd1.js} +1 -1
  49. package/assets/{circle-help-BK8vfKpY.js → circle-help-B7FMjYyN.js} +1 -1
  50. package/assets/{clock-C2w9y-mb.js → clock-8suzOU8N.js} +1 -1
  51. package/assets/compose._-_outboxMessageId_-5xU-sZaf.js +1 -0
  52. package/assets/compose._-_outboxMessageId_-BXvj8Ysp.js +1 -0
  53. package/assets/compose._-_outboxMessageId_-Bcg-RVFN.js +1 -0
  54. package/assets/compose._-_outboxMessageId_-Csg8xhMF.js +1 -0
  55. package/assets/{config-import-B21DdvTB.js → config-import-CXoCeSZ6.js} +1 -1
  56. package/assets/{confirm-dialog-C73YNmd0.js → confirm-dialog-CkC7jX6u.js} +1 -1
  57. package/assets/{copy-bZn109XQ.js → copy-5UVcBIu_.js} +1 -1
  58. package/assets/{credential-steps-BvM2OHzd.js → credential-steps-BE0gvcRS.js} +1 -1
  59. package/assets/{download-DoCjtqh_.js → download-CNzrhOSb.js} +1 -1
  60. package/assets/{file-json-q3gwdNDb.js → file-json-nsy-OSQa.js} +1 -1
  61. package/assets/{filters-COltAxHM.js → filters-Bt3KjqB3.js} +1 -1
  62. package/assets/flagged-A9ih5rJB.js +1 -0
  63. package/assets/{flagged-CLRLdHX_.js → flagged-SnY8ylyn.js} +1 -1
  64. package/assets/{folders-D7kVTsPv.js → folders-jxoaP_v6.js} +1 -1
  65. package/assets/{help-copy-Cgp0SYVj.js → help-copy-05x2VNlh.js} +1 -1
  66. package/assets/{import-BfqRya1D.js → import-BIvuR6Hi.js} +1 -1
  67. package/assets/index-B6vfWRcA.js +1 -0
  68. package/assets/{index-BQPxJeiD.js → index-CBmoBdjZ.js} +4 -4
  69. package/assets/index-CInw6TWm.js +1 -0
  70. package/assets/index-Cj1GTees.js +1 -0
  71. package/assets/{index-CbYnAh_N.js → index-Cklg2sKY.js} +1 -1
  72. package/assets/{index-EEhH2FDf.css → index-CrpWQTJG.css} +1 -1
  73. package/assets/{index-B230G2r4.js → index-D7ypkL7n.js} +9 -9
  74. package/assets/index-D9gSLZCa.js +1 -0
  75. package/assets/index-DLMpAnNs.js +1 -0
  76. package/assets/index-DN6QXsfs.js +1 -0
  77. package/assets/index-Db_Lkfnu.js +1 -0
  78. package/assets/index-Dfm7mb8o.js +1 -0
  79. package/assets/index-TWv5KvMg.js +1 -0
  80. package/assets/{kbd-BAUrbNWo.js → kbd-DE4zHZi-.js} +1 -1
  81. package/assets/{labels-zBlIyh-G.js → labels-gKmMTlUT.js} +1 -1
  82. package/assets/{mail-BCe8tw-j.js → mail-D7wPrMUV.js} +1 -1
  83. package/assets/mail-DDM65lTj.js +1 -0
  84. package/assets/{map-pin-BoIH5D2h.js → map-pin-BESfR2_Y.js} +1 -1
  85. package/assets/{menu-CFMOQQe1.js → menu-Bzjwz9Fw.js} +1 -1
  86. package/assets/{new-C7X-Ak9J.js → new-DcQSw1oa.js} +1 -1
  87. package/assets/onboarding-B6ZdIaDX.js +1 -0
  88. package/assets/{onboarding-completion-CUzJu_4Q.js → onboarding-completion-BV3qc5Mv.js} +1 -1
  89. package/assets/outbox-DT_jUewo.js +1 -0
  90. package/assets/{pencil-DfYLID35.js → pencil-CW1CY8mK.js} +1 -1
  91. package/assets/popover-menu-DUwOHPJf.js +1 -0
  92. package/assets/{refresh-cw-DB-ePCkc.js → refresh-cw-iJtrk2tS.js} +1 -1
  93. package/assets/{rich-text-BakAPQmw.js → rich-text-CICZxmRX.js} +2 -2
  94. package/assets/{rich-text-spellcheck-worker-provider-D0TG4-Kd.js → rich-text-spellcheck-worker-provider-CGzGwsoe.js} +1 -1
  95. package/assets/{rotate-ccw-CVuq3RZa.js → rotate-ccw-DlbJJdr2.js} +1 -1
  96. package/assets/{roving-focus-CaNYOaKN.js → roving-focus-B6HJZMGp.js} +1 -1
  97. package/assets/{row-actions-B29bSCMM.js → row-actions-DRcUbLbq.js} +1 -1
  98. package/assets/{search-mirror-D1z7H-_k.js → search-mirror-C_I-dkQI.js} +1 -1
  99. package/assets/search-token-index-BBgL60ql.js +1 -0
  100. package/assets/{sections-xLEk6Jre.js → sections-BFcWbFDT.js} +1 -1
  101. package/assets/{senders-DlSsrljE.js → senders-BygK60vF.js} +1 -1
  102. package/assets/settings-CZ3wYmjA.js +1 -0
  103. package/assets/{settings-screen-CW2omaDr.js → settings-screen-D5UT-9lH.js} +1 -1
  104. package/assets/{shield-check-CYwfVNNe.js → shield-check-BD6Yf88Z.js} +1 -1
  105. package/assets/{suggested-vips-DDDxpk75.js → suggested-vips-C3hpOiq4.js} +1 -1
  106. package/assets/{useCalendarData-Bwe_howd.js → useCalendarData-AwEwUUnq.js} +1 -1
  107. package/assets/{useCalendars-Bx7u8Dur.js → useCalendars-BVecnCqI.js} +1 -1
  108. package/assets/{useDebouncedValue-Bsm2SvVf.js → useDebouncedValue-DBesApwS.js} +1 -1
  109. package/assets/{useFilters-DWjEO8SK.js → useFilters-BMsUF8DI.js} +1 -1
  110. package/assets/{useLabels-bJXFYYxJ.js → useLabels-Cikiq9EW.js} +1 -1
  111. package/assets/{useLayoutTier-uzxO0kFm.js → useLayoutTier-CUoe6UM6.js} +1 -1
  112. package/assets/{useMessageBodyContent-C67pLyUd.js → useMessageBodyContent-CJ5QFIuj.js} +1 -1
  113. package/assets/{useQueries-DrvQQzch.js → useQueries-DQoepbOB.js} +1 -1
  114. package/assets/{useRefreshControl-CegZlwBs.js → useRefreshControl-BQbV-0DU.js} +1 -1
  115. package/assets/{useResultFolderIndex--CV4xaFL.js → useResultFolderIndex-DzacwkTK.js} +1 -1
  116. package/assets/useSearchTokenContext-Pujx3Sjx.js +84 -0
  117. package/assets/useSemanticSearch-oayoI9b0.js +1 -0
  118. package/assets/{useSignature-CcQyCKLk.js → useSignature-tjOrMRzF.js} +1 -1
  119. package/assets/{window-DdvZlnpA.js → window-CrFuPpna.js} +1 -1
  120. package/index.html +2 -2
  121. package/package.json +1 -1
  122. package/assets/MailListHeader-B0XVUF_V.js +0 -7
  123. package/assets/_calendarObjectId-x9YI8tUH.js +0 -1
  124. package/assets/_mailboxId-DrDc5Uol.js +0 -1
  125. package/assets/_messageId-BWDxJfwU.js +0 -1
  126. package/assets/_messageId-CDVxeZXB.js +0 -1
  127. package/assets/_messageId-ute5Gepr.js +0 -1
  128. package/assets/_outboxMessageId-BOVZVzy3.js +0 -1
  129. package/assets/_recurrenceId-JMHsP-ol.js +0 -1
  130. package/assets/_threadId-BB_SfYXJ.js +0 -1
  131. package/assets/_threadId-BaE_T7RY.js +0 -1
  132. package/assets/_threadId-D-5XElFP.js +0 -1
  133. package/assets/attachment-file-DMI4tQxC.js +0 -1
  134. package/assets/brief-CbEYPQCO.js +0 -1
  135. package/assets/chevron-left-CPw_K_20.js +0 -1
  136. package/assets/compose._-_outboxMessageId_-BakBTTCy.js +0 -1
  137. package/assets/compose._-_outboxMessageId_-Dr-JKAYH.js +0 -1
  138. package/assets/compose._-_outboxMessageId_-E6B13chv.js +0 -1
  139. package/assets/compose._-_outboxMessageId_-TamWRSXd.js +0 -1
  140. package/assets/flagged-BrOgnIWA.js +0 -1
  141. package/assets/index-BEtSekTO.js +0 -1
  142. package/assets/index-BomD0fDl.js +0 -1
  143. package/assets/index-BrD3XpbP.js +0 -1
  144. package/assets/index-BuYn1Zrl.js +0 -1
  145. package/assets/index-C1-TmebN.js +0 -1
  146. package/assets/index-Dlme-Z2u.js +0 -1
  147. package/assets/index-Xf5M6UN4.js +0 -1
  148. package/assets/index-jwPMLua_.js +0 -1
  149. package/assets/index-ute5Gepr.js +0 -1
  150. package/assets/mail-qjhe8iSD.js +0 -1
  151. package/assets/onboarding-D1A9-OvA.js +0 -1
  152. package/assets/outbox-BqTNhjjq.js +0 -1
  153. package/assets/search-token-index-Cq0hCaJD.js +0 -1
  154. package/assets/settings-Ce9SXHm_.js +0 -1
  155. package/assets/useSearchTokenContext-3DKMEjYF.js +0 -84
  156. package/assets/useSemanticSearch-BIarwmIt.js +0 -1
@@ -1 +0,0 @@
1
- import{e as R,bT as M,j as l,r as p,G as L,f as _,t as g}from"./index-B230G2r4.js";const S=R("EllipsisVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);const V=R("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),w=4,b=8;function I(e,t,s){const n=Math.max(b,window.innerWidth-t.width-b),o=s==="end"?e.right-t.width:e.left,r=Math.min(Math.max(o,b),n),a=e.bottom+w,i=e.top-w-t.height,u=a+t.height<=window.innerHeight-b||i<b?a:i;return{left:r,top:u}}function P(e,t,s,n){const[o,r]=p.useState(null),a=p.useRef(n);return a.current=n,p.useLayoutEffect(()=>{if(!t){r(null);return}const i=()=>{const d=e.current,m=a.current();if(!d||!m)return;const f=d.getBoundingClientRect(),x={width:f.right-f.left,height:f.bottom-f.top},c=I(m,x,s);r(E=>E?.left===c.left&&E.top===c.top?E:{position:"fixed",left:c.left,top:c.top})};i(),window.addEventListener("resize",i),window.addEventListener("scroll",i,!0);const h=e.current;let u=null;return h&&typeof ResizeObserver<"u"&&(u=new ResizeObserver(i),u.observe(h)),()=>{u?.disconnect(),window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0)}},[t,s,e]),o}function T({open:e,align:t="start",getAnchor:s,panelRef:n,children:o}){const r=P(n,e,t,s);return e?M.createPortal(l.jsx("div",{className:"z-50",style:r??{position:"fixed",visibility:"hidden"},children:o}),document.body):null}function j({label:e,children:t,className:s,ref:n,onKeyDown:o,"data-testid":r}){return l.jsx("div",{ref:n,role:"menu","aria-label":e,tabIndex:-1,onKeyDown:o,"data-testid":r,className:g("z-50 flex max-h-[60dvh] min-w-44 flex-col overflow-y-auto overscroll-contain rounded-md border border-line bg-surface py-1 shadow-lg outline-none",s),children:t})}function k({label:e,icon:t,onSelect:s,className:n,lang:o,"data-testid":r}){return l.jsxs("button",{type:"button",role:"menuitem",lang:o,onClick:s,"data-testid":r,className:g("flex min-h-11 items-center gap-3 px-4 py-2.5 text-left text-sm text-fg transition-colors hover:bg-surface-sunken",n),children:[t&&l.jsx("span",{className:"shrink-0 text-fg-subtle",children:t}),e]})}function $({triggerLabel:e,triggerIcon:t,triggerText:s,items:n,align:o="end",touch:r=!0,className:a,triggerClassName:i,nested:h=!1,children:u}){const[d,m]=p.useState(!1),f=p.useRef(null),x=p.useRef(null);return L({id:"popover-menu",open:d,answers:{back:()=>m(!1)}}),p.useEffect(()=>{if(!d)return;const c=E=>{const v=E.target;f.current?.contains(v)||x.current?.contains(v)||m(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[d]),n.length===0&&!u?null:l.jsxs("div",{ref:f,className:g("relative",a),...h?{role:"none"}:{},children:[l.jsx(_,{variant:"ghost",size:"sm",icon:t??l.jsx(S,{className:"size-5"}),onClick:()=>m(c=>!c),"aria-label":e,"aria-haspopup":"menu","aria-expanded":d,...h?{role:"menuitem"}:{},className:g(r&&"min-h-11 min-w-11 px-0",i),children:s}),l.jsx(T,{open:d,align:o,panelRef:x,getAnchor:()=>f.current?.getBoundingClientRect()??null,children:l.jsxs(j,{ref:x,children:[n.map(c=>l.jsx(k,{label:c.label,icon:c.icon,onSelect:()=>{m(!1),c.onSelect()}},c.key)),u]})})]})}const z=/[\u0000-\u001f\u007f-\u009f\u061c\u200b-\u200f\u2028\u2029\u202a-\u202e\u2066-\u2069\ufeff]/g,B=/[<>:"|?*]/g,C=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(\.|$)/i,y=120,H=12,O="attachment",N=e=>{const t=[...e];if(t.length<=y)return e;const s=e.lastIndexOf("."),n=s>0&&[...e.slice(s)].length<=H?e.slice(s):"",o=y-[...n].length;return t.slice(0,o).join("")+n},G=(e,t=O)=>{const n=e.replace(z,"").split(/[/\\]/),r=(n[n.length-1]??"").replace(B,"_").replace(/^[.\s]+/,"").replace(/[.\s]+$/,"");if(r.length===0)return N(t);const a=C.test(r)?`_${r}`:r;return N(a)},A=["KB","MB","GB","TB"],U=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 s=1023.95;let n=t/1024,o=0;for(;n>=s&&o<A.length-1;)n/=1024,o+=1;return`${n.toFixed(1).replace(/\.0$/,"")} ${A[o]}`};export{S as E,$ as P,V as U,T as a,j as b,k as c,U as f,G as s};
@@ -1 +0,0 @@
1
- import{j as r,O as i}from"./index-B230G2r4.js";import{a as m}from"./MailShell-DSoLI8t1.js";import{B as o}from"./BriefPane-Bni5ftsD.js";import{d as p}from"./search-token-index-Cq0hCaJD.js";import{u as e}from"./search-mirror-D1z7H-_k.js";import"./FullCompose-OYzn7aRj.js";import"./ErrorState-ChCDQFu4.js";import"./index-BQPxJeiD.js";import"./useMessageBodyContent-C67pLyUd.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./confirm-dialog-C73YNmd0.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./EmptyState-D8XbmYp5.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./useQueries-DrvQQzch.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./useRefreshControl-CegZlwBs.js";import"./circle-check-big-H10pIzmY.js";import"./refresh-cw-DB-ePCkc.js";import"./useSemanticSearch-BIarwmIt.js";import"./useLabels-bJXFYYxJ.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function X(){const t=p();return e({to:"/mail/brief"}),r.jsx(o,{thread:t,children:r.jsx(m,{phone:r.jsx(o.Phone,{}),list:r.jsx(o.List,{}),reading:r.jsx(i,{}),intelligence:r.jsx(o.Intelligence,{}),hasThread:!!t})})}export{X as component};
@@ -1 +0,0 @@
1
- import{e}from"./index-B230G2r4.js";const t=e("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);export{t as C};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-OYzn7aRj.js";import"./index-B230G2r4.js";import"./ErrorState-ChCDQFu4.js";import"./index-BQPxJeiD.js";import"./useMessageBodyContent-C67pLyUd.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./confirm-dialog-C73YNmd0.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-OYzn7aRj.js";import"./index-B230G2r4.js";import"./ErrorState-ChCDQFu4.js";import"./index-BQPxJeiD.js";import"./useMessageBodyContent-C67pLyUd.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./confirm-dialog-C73YNmd0.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-OYzn7aRj.js";import"./index-B230G2r4.js";import"./ErrorState-ChCDQFu4.js";import"./index-BQPxJeiD.js";import"./useMessageBodyContent-C67pLyUd.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./confirm-dialog-C73YNmd0.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-OYzn7aRj.js";import"./index-B230G2r4.js";import"./ErrorState-ChCDQFu4.js";import"./index-BQPxJeiD.js";import"./useMessageBodyContent-C67pLyUd.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./confirm-dialog-C73YNmd0.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{j as o,O as i}from"./index-B230G2r4.js";import{a as m}from"./MailShell-DSoLI8t1.js";import{F as r}from"./FlaggedPane-yn0937Cs.js";import{d as p}from"./search-token-index-Cq0hCaJD.js";import{u as e}from"./search-mirror-D1z7H-_k.js";import"./FullCompose-OYzn7aRj.js";import"./ErrorState-ChCDQFu4.js";import"./index-BQPxJeiD.js";import"./useMessageBodyContent-C67pLyUd.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./confirm-dialog-C73YNmd0.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./EmptyState-D8XbmYp5.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./useQueries-DrvQQzch.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./MailViewChrome-CbLPlPh3.js";import"./refresh-cw-DB-ePCkc.js";import"./wizard-selection-DxUM65kM.js";function Q(){const t=p();return e({to:"/mail/flagged"}),o.jsx(r,{thread:t,children:o.jsx(m,{phone:o.jsx(r.Phone,{}),list:o.jsx(r.List,{}),reading:o.jsx(i,{}),intelligence:o.jsx(r.Intelligence,{}),hasThread:!!t})})}export{Q as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-B230G2r4.js";import{M as i}from"./MailboxPane-QhLUGp_f.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./useMessageBodyContent-C67pLyUd.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CegZlwBs.js";import"./circle-check-big-H10pIzmY.js";import"./refresh-cw-DB-ePCkc.js";import"./useQueries-DrvQQzch.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./search-token-index-Cq0hCaJD.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./index-BQPxJeiD.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./EmptyState-D8XbmYp5.js";import"./ErrorState-ChCDQFu4.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./confirm-dialog-C73YNmd0.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./MailViewChrome-CbLPlPh3.js";import"./NavMenuButton-BslRFvxC.js";import"./useLabels-bJXFYYxJ.js";import"./useSemanticSearch-BIarwmIt.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-CMtExa1z.js";import"./circle-help-BK8vfKpY.js";import"./circle-check-DnBDidQV.js";function T(){return o.jsx(i.Reading,{})}export{T as component};
@@ -1 +0,0 @@
1
- import{eJ as o,j as r}from"./index-B230G2r4.js";import{O as m}from"./OpenCalendarEvent-DLV2pDPr.js";import"./CalendarComposePane-DqY_XoOp.js";import"./window-DdvZlnpA.js";import"./ErrorState-ChCDQFu4.js";import"./calendar-color-Cn9yKFvB.js";import"./attendee-row-DqBjBHj8.js";import"./avatar-COdIN3hK.js";import"./clock-C2w9y-mb.js";import"./map-pin-BoIH5D2h.js";import"./mail-BCe8tw-j.js";import"./pencil-DfYLID35.js";import"./useCalendars-Bx7u8Dur.js";import"./useCalendarData-Bwe_howd.js";import"./useQueries-DrvQQzch.js";function R(){const{calendarObjectId:t}=o.useParams();return r.jsx(m,{calendarObjectId:t})}export{R as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-B230G2r4.js";import{O as t}from"./OutboxPane-B2jjbErx.js";import"./roving-focus-CaNYOaKN.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./useMessageBodyContent-C67pLyUd.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-H10pIzmY.js";import"./clock-C2w9y-mb.js";import"./row-actions-B29bSCMM.js";import"./rotate-ccw-CVuq3RZa.js";import"./NavMenuButton-BslRFvxC.js";import"./menu-CFMOQQe1.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function c(){return o.jsx(t.Reading,{})}export{c as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-B230G2r4.js";import{M as r}from"./MailboxPane-QhLUGp_f.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./useMessageBodyContent-C67pLyUd.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CegZlwBs.js";import"./circle-check-big-H10pIzmY.js";import"./refresh-cw-DB-ePCkc.js";import"./useQueries-DrvQQzch.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./search-token-index-Cq0hCaJD.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./index-BQPxJeiD.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./EmptyState-D8XbmYp5.js";import"./ErrorState-ChCDQFu4.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./confirm-dialog-C73YNmd0.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./MailViewChrome-CbLPlPh3.js";import"./NavMenuButton-BslRFvxC.js";import"./useLabels-bJXFYYxJ.js";import"./useSemanticSearch-BIarwmIt.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-CMtExa1z.js";import"./circle-help-BK8vfKpY.js";import"./circle-check-DnBDidQV.js";function S(){return o.jsx(r.Reading,{})}export{S as component};
@@ -1 +0,0 @@
1
- import{j as t,an as o}from"./index-B230G2r4.js";const n=()=>t.jsx(o,{to:"/settings/accounts"});export{n as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-B230G2r4.js";import{B as o}from"./BriefPane-Bni5ftsD.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./useMessageBodyContent-C67pLyUd.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./search-token-index-Cq0hCaJD.js";import"./useQueries-DrvQQzch.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./index-BQPxJeiD.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./EmptyState-D8XbmYp5.js";import"./ErrorState-ChCDQFu4.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./confirm-dialog-C73YNmd0.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./useRefreshControl-CegZlwBs.js";import"./circle-check-big-H10pIzmY.js";import"./refresh-cw-DB-ePCkc.js";import"./useSemanticSearch-BIarwmIt.js";import"./useLabels-bJXFYYxJ.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function M(){return r.jsx(o.Reading,{})}export{M as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-B230G2r4.js";import{F as r}from"./FlaggedPane-yn0937Cs.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./useMessageBodyContent-C67pLyUd.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./search-token-index-Cq0hCaJD.js";import"./useQueries-DrvQQzch.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./index-BQPxJeiD.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./EmptyState-D8XbmYp5.js";import"./ErrorState-ChCDQFu4.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./confirm-dialog-C73YNmd0.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./MailViewChrome-CbLPlPh3.js";import"./refresh-cw-DB-ePCkc.js";import"./wizard-selection-DxUM65kM.js";function J(){return o.jsx(r.Reading,{})}export{J as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-B230G2r4.js";import{B as o}from"./BriefPane-Bni5ftsD.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./useMessageBodyContent-C67pLyUd.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./search-token-index-Cq0hCaJD.js";import"./useQueries-DrvQQzch.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./index-BQPxJeiD.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./EmptyState-D8XbmYp5.js";import"./ErrorState-ChCDQFu4.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./confirm-dialog-C73YNmd0.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./useRefreshControl-CegZlwBs.js";import"./circle-check-big-H10pIzmY.js";import"./refresh-cw-DB-ePCkc.js";import"./useSemanticSearch-BIarwmIt.js";import"./useLabels-bJXFYYxJ.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function N(){return r.jsx(o.Reading,{})}export{N as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-B230G2r4.js";import{F as r}from"./FlaggedPane-yn0937Cs.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./useMessageBodyContent-C67pLyUd.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-B0XVUF_V.js";import"./roving-focus-CaNYOaKN.js";import"./search-token-index-Cq0hCaJD.js";import"./useQueries-DrvQQzch.js";import"./attachment-file-DMI4tQxC.js";import"./mail-BCe8tw-j.js";import"./avatar-COdIN3hK.js";import"./index-BQPxJeiD.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./EmptyState-D8XbmYp5.js";import"./ErrorState-ChCDQFu4.js";import"./download-DoCjtqh_.js";import"./calendar-event-chip-HbnzISUW.js";import"./calendar-color-Cn9yKFvB.js";import"./map-pin-BoIH5D2h.js";import"./attendee-row-DqBjBHj8.js";import"./clock-C2w9y-mb.js";import"./bell-off-BBZTEYVE.js";import"./shield-check-CYwfVNNe.js";import"./useFilters-DWjEO8SK.js";import"./confirm-dialog-C73YNmd0.js";import"./useLayoutTier-uzxO0kFm.js";import"./menu-CFMOQQe1.js";import"./MailViewChrome-CbLPlPh3.js";import"./refresh-cw-DB-ePCkc.js";import"./wizard-selection-DxUM65kM.js";function I(){return o.jsx(r.Reading,{})}export{I as component};
@@ -1 +0,0 @@
1
- import{e as ee,j as s,t as F,v as se,f as I,w as te,x as M,r as u,y as P,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 ve,Q as be,R as ye,S as Se,T as je,u as Ce,c as Ie,d as Ne,U as we,O as Me,V as Ee}from"./index-B230G2r4.js";import{S as Oe,D as Re,a as Pe,b as Te,u as ke,s as Le,K as Ae,c as De,d as Fe,e as Qe,f as Ke}from"./search-token-index-Cq0hCaJD.js";import{u as O,a as _e}from"./useMessageBodyContent-C67pLyUd.js";import{P as ze}from"./pencil-DfYLID35.js";import{c as Be,s as He,M as Ve}from"./MailShell-DSoLI8t1.js";import{u as qe,a as $e,R as Ge,s as Ue,i as We,H as Ye,M as Je}from"./useRefreshControl-CegZlwBs.js";import{M as Xe}from"./menu-CFMOQQe1.js";import{B as Ze}from"./bug-Bb-GLRUD.js";import{S as es,A as ss,L as ts,M as ns}from"./MailNav-DpIpKuiM.js";import{A as os}from"./avatar-COdIN3hK.js";import{u as as}from"./sections-xLEk6Jre.js";import{E as rs}from"./ErrorState-ChCDQFu4.js";import{K as T}from"./kbd-BAUrbNWo.js";import{u as is}from"./index-BQPxJeiD.js";import{u as K,i as cs}from"./useLayoutTier-uzxO0kFm.js";import{u as ls}from"./useQueries-DrvQQzch.js";import{u as us}from"./useResultFolderIndex--CV4xaFL.js";import{u as ds}from"./useDebouncedValue-Bsm2SvVf.js";import"./search-scope-B5-OK3Cq.js";import"./FullCompose-OYzn7aRj.js";import"./confirm-dialog-C73YNmd0.js";import"./circle-check-big-H10pIzmY.js";import"./refresh-cw-DB-ePCkc.js";import"./roving-focus-CaNYOaKN.js";import"./bell-off-BBZTEYVE.js";import"./outbox-status-BlKn6P0x.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";const ms=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 ps({leading:e,search:t,actions:n,className:a}){return s.jsxs("header",{className:F("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&&s.jsx("div",{className:"flex shrink-0 items-center gap-1",children:e}),s.jsx("div",{className:"flex min-w-0 flex-1 justify-start",children:s.jsx("div",{className:"w-full max-w-xs transition-[max-width] duration-150 ease-out focus-within:max-w-lg",children:t})}),n&&s.jsx("div",{className:"flex shrink-0 items-center gap-1",children:n})]})}function hs(){const e=se();if(!e)return null;const t=e.showNavPane?!e.navCollapsed:!1;return s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(Xe,{className:"size-4"}),onClick:e.toggleNav,"aria-label":t?"Hide folders":"Show folders","aria-expanded":t,title:"Folders",className:"shrink-0"})}const fs={global:"Search all mail",pending:"Search mail",scoped:"Search this folder"};function xs({search:e,onCompose:t,onReportBug:n,onOpenSettings:a,composeShortcut:o,refreshControl:r,account:c}){return s.jsx(ps,{leading:s.jsx(hs,{}),search:s.jsx(Oe,{value:e.value,onChange:e.onChange,onClear:e.onClear,onClearQuery:e.onClearQuery,chips:e.chips,onRemoveChip:e.onRemoveChip,placeholder:fs[e.scope]}),actions:s.jsxs(s.Fragment,{children:[s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(ms,{className:"size-4"}),title:o?`Compose (${o})`:"Compose","aria-label":"Compose",onClick:t}),s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(Ze,{className:"size-4"}),title:"Report a bug","aria-label":"Report a bug",onClick:n}),s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(es,{className:"size-4"}),title:"Settings","aria-label":"Settings",onClick:a}),r,c]})})}function gs(){const e=te(),t=M({select:l=>P(l.location.pathname)}),n=M({select:l=>ne(l.location.search)}),[a,o]=u.useState(n),r=ds(a,200),[c,d]=u.useState(t);if(c!==t){const l=He(c,t,n);d(t),l!==void 0&&o(l)}const p=u.useCallback(l=>{d(P(e.state.location.pathname)),o(l)},[e]);return{searchInput:a,committedQuery:Be(a,r),viewKey:t,setSearchInput:p}}const vs=()=>{const e=O();return oe()?null:s.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:s.jsx(ze,{className:"size-6"})})},bs=({email:e,onSignOut:t})=>{const n=e??"Account";return s.jsxs(Re,{trigger:s.jsx(os,{name:n,email:e??void 0,size:"sm"}),align:"right",children:[e&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-3 py-2 text-xs text-fg-muted truncate",title:e,"data-testid":"account-menu-email",children:e}),s.jsx(Pe,{})]}),s.jsxs(Te,{onClick:t,children:[s.jsx(ts,{className:"size-4"}),"Sign out"]})]})},ys=()=>s.jsx(ss,{children:({email:e,signOut:t})=>s.jsx(bs,{email:e,onSignOut:t})});function Ss({accounts:e}){const{searchInput:t,onSearchChange:n,onSearchClear:a,onSearchClearQuery:o,resultFolderIndex:r}=ae(),c=Q(),d=as(),p=O(),{scope:l,clearScope:x}=ke(e),f=l.kind==="scoped"?[{id:l.chip.id,label:l.chip.label,tone:"scope"}]:void 0,m=u.useMemo(()=>e.map(v=>v.accountId),[e]),{hasNewMail:i}=qe(),{state:h,errorMessage:y,refresh:g}=$e(m,{onSettled:()=>ie(c,ce(r.keys()))});return s.jsx(xs,{search:{value:t,scope:l.kind,chips:f,onChange:n,onClear:a,onClearQuery:o,onRemoveChip:x},onCompose:p,onReportBug:re,onOpenSettings:()=>d("accounts"),composeShortcut:Le("compose"),refreshControl:s.jsx(Ge,{state:h,onRefresh:g,label:"Refresh all accounts",errorMessage:y,hasUpdate:i(m)}),account:s.jsx(ys,{})})}const js=({isOpen:e,onClose:t})=>{const n=u.useRef(null);return le({id:"shortcuts",open:e,answers:{back:t}}),ue(n,e),e?s.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[s.jsx(de,{label:"Dismiss keyboard shortcuts",onDismiss:t,className:"backdrop-blur-sm"}),s.jsxs("div",{ref:n,role:"dialog","aria-modal":"true","aria-label":"Keyboard shortcuts",tabIndex:-1,className:F("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:[s.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[s.jsx("h2",{className:"text-lg font-semibold",children:"Keyboard shortcuts"}),s.jsx("button",{type:"button",onClick:t,className:"p-1 text-fg-muted transition-colors hover:text-fg","aria-label":"Close",children:s.jsx(me,{className:"size-5"})})]}),s.jsx("div",{className:"grid gap-x-8 gap-y-6 sm:grid-cols-2",children:Ae.map(a=>s.jsxs("div",{children:[s.jsx("h3",{className:"mb-3 text-sm font-medium text-fg-muted",children:a.title}),s.jsx("div",{className:"space-y-2",children:a.hints.map(o=>s.jsxs("div",{className:"flex items-center justify-between gap-4",children:[s.jsx("span",{className:"text-sm",children:o.description}),s.jsx("span",{className:"flex shrink-0 items-center gap-1",children:o.keys.map((r,c)=>s.jsxs(u.Fragment,{children:[c>0&&o.keys[0]==="g"&&s.jsx("span",{className:"text-2xs text-fg-subtle",children:"then"}),s.jsx(T,{children:r})]},r))})]},`${o.action}-${o.keys.join("+")}`))})]},a.title))}),s.jsx("div",{className:"mt-6 border-t border-line pt-4",children:s.jsxs("p",{className:"text-center text-xs text-fg-muted",children:["Press ",s.jsx(T,{children:"Esc"})," to close"]})})]})]}):null};function Cs(e){const t=ls({queries:e.map(n=>({...pe({path:{accountId:n.accountId}}),staleTime:1/0}))});return u.useMemo(()=>De(t.map(n=>n.data?.items??[])),[t])}const _="remit:intelligence-open";function Is(){try{return localStorage.getItem(_)!=="closed"}catch{return!0}}function Ns(e){try{localStorage.setItem(_,e?"open":"closed")}catch{}}function k({panels:e,prefersOpen:t,isDesktop:n,hasThread:a,raisedFor:o,openMessage:r}){return o!==null&&o===r?!0:e.length>0?e.includes("intelligence"):n&&a&&t}const ws=()=>{const e=K(),t=he(),n=fe(),a=t.find(xe),o=Fe(),[r,c]=u.useState(Is),d=o?`${o.threadId}/${o.messageId??""}`:null,[p,l]=u.useState(null),x={panels:t,prefersOpen:r,isDesktop:e==="desktop",hasThread:o!==void 0,openMessage:d},f=k({...x,raisedFor:p}),m=k({...x,raisedFor:null}),i=u.useCallback((v,S)=>{n([...v?["intelligence"]:[],...S?[S]:[]])},[n]),h=u.useCallback(v=>{i(m,v)},[m,i]),y=u.useCallback(()=>{if(f&&!m){l(null);return}const v=!f;Ns(v),c(v),l(null),i(v,a)},[m,f,a,i]),g=u.useCallback(()=>{l(d)},[d]);return{openOverlay:a,intelligenceOpen:f,showOverlay:h,toggleIntelligence:y,raiseIntelligence:g}};var j={exports:{}},L;function Ms(){if(L)return j.exports;L=1;const e=(t,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:c}=a;if(!(typeof c=="number"&&c>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${c}\` (${typeof c})`);const d=[],p=t[Symbol.iterator]();let l=!1,x=!1,f=0,m=0;const i=()=>{if(l)return;const h=p.next(),y=m;if(m++,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--,i()},g=>{l=!0,r(g)})};for(let h=0;h<c&&(i(),!x);h++);});return j.exports=e,j.exports.default=e,j.exports}var Es=Ms();const Os=ge(Es),Rs=900*1e3,Ps=30,Ts=(e,t)=>{if(!e)return t;const n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:t},ks=30*1e3,Ls=e=>Math.max(Ts(e,Ps)*1e3,ks),z=Ls(je().mailboxPollIntervalSeconds),C=(e=Date.now(),t=z)=>We(e)?Math.min(Ye,t):t,As=5,E=new Set,Ds=(e,t,n=Rs)=>e.filter(a=>{const o=a.lastSyncAt;return o==null?!0:t-o>n}).map(a=>a.accountId),Fs=(e,t,n=z)=>e-t>=n,Qs=(e,t)=>e.filter(n=>!t.has(n)),A=(e,t)=>{if(E.delete(e),ye(t,{softError:!0},"nobody")){Se(t);return}console.warn("[remit] background mailbox sync failed",{accountId:e,error:t})},D=(e,t)=>ve({path:{accountId:e},throwOnError:!0}).then(()=>{t.invalidateQueries({queryKey:be({path:{accountId:e}})})}),Ks=e=>{const t=Q(),n=u.useRef(e);n.current=e;const a=e.map(o=>o.accountId).join(",");u.useEffect(()=>{const o=Date.now(),c=Ds(n.current,o).filter(d=>!E.has(d));if(c.length!==0)for(const d of c)E.add(d),D(d,t).catch(p=>{A(d,p)})},[a,t]),u.useEffect(()=>{let o=Date.now(),r;const c=new Set,d=()=>{o=Date.now();const m=Qs(n.current.map(i=>i.accountId),c);for(const i of m)c.add(i);Os(m,i=>D(i,t).catch(h=>{A(i,h)}).finally(()=>{c.delete(i)}),{concurrency:As})},p=()=>{if(document.visibilityState==="visible"){d(),r=setTimeout(p,C());return}},l=()=>{if(document.visibilityState!=="visible")return;r!==void 0&&clearTimeout(r);const m=Date.now(),i=C(m);if(Fs(m,o,i)){d(),r=setTimeout(p,i);return}r=setTimeout(p,o+i-m)},x=()=>{document.visibilityState==="visible"&&(r!==void 0&&clearTimeout(r),o=Date.now(),r=setTimeout(p,C()))};r=setTimeout(p,C()),document.addEventListener("visibilitychange",l);const f=Ue(x);return()=>{r!==void 0&&clearTimeout(r),document.removeEventListener("visibilitychange",l),f()}},[a,t])};function ht(){const e=Ce(),t=K(),n=cs(t),{openOverlay:a,intelligenceOpen:o,showOverlay:r,toggleIntelligence:c,raiseIntelligence:d}=ws(),p=a==="shortcuts",l=a==="nav",{searchInput:x,committedQuery:f,viewKey:m,setSearchInput:i}=gs(),{data:h,isLoading:y,isError:g,error:v,refetch:S}=Ie({...Ne(),staleTime:1/0}),N=!!(h&&(h.accounts?.length??0)===0);u.useEffect(()=>{N&&e({to:"/onboarding",replace:!0})},[N,e]),is({enabled:!p,bindings:[{key:"?",action:"help",handler:()=>r("shortcuts"),noModifiers:!1,preventDefault:!0}]});const R=O(),B=_e(),H=M({select:w=>Ee(w.matches)?.list==="mailbox"}),V=u.useMemo(()=>({compose:R}),[R]);Qe({enabled:!H&&!B,handlers:V});const q=u.useCallback(()=>{i("")},[i]),$=u.useCallback(()=>{i("")},[i]),b=h?.accounts??[],G=u.useMemo(()=>b.map(w=>w.accountId),[b]),U=Cs(b),W=us(b).index,Y=u.useMemo(()=>Ke(b),[b]);Ks(b);const J=u.useCallback(()=>{a==="nav"&&r(void 0)},[a,r]),X={accounts:b,mailboxNameIndex:U,accountNameIndex:Y,resultFolderIndex:W,searchQuery:f,searchInput:x,searchViewKey:m,onSearchChange:i,onSearchClear:q,onSearchClearQuery:$,intelligenceOpen:o,onToggleIntelligence:c,onRaiseIntelligence:d},Z={isSinglePane:n,isLoading:y||N,intelligenceOpen:o,nav:s.jsx(ns,{accounts:b,onMailboxSelect:J}),topBar:n?void 0:s.jsx(Ss,{accounts:b}),overlay:n?s.jsx(vs,{}):void 0,navOpen:l,onOpenNav:()=>r("nav"),onCloseNav:()=>r(void 0)};return s.jsx(we.Provider,{value:X,children:s.jsxs(Je,{accountIds:G,children:[g?s.jsx("div",{className:"flex h-full items-center justify-center bg-canvas p-4",children:s.jsx(rs,{title:"Couldn't load your account",error:v,onRetry:()=>{S()}})}):s.jsx(Ve,{chrome:Z,children:s.jsx(Me,{})}),s.jsx(js,{isOpen:p,onClose:()=>r(void 0)})]})})}export{ht as component,ae as useMailContext};
@@ -1 +0,0 @@
1
- import{q as n,h as i,u as a,r as m,j as s}from"./index-B230G2r4.js";import{O as p}from"./OnboardingWizard-n0-Ka98Z.js";import{c}from"./onboarding-completion-CUzJu_4Q.js";import"./kbd-BAUrbNWo.js";import"./credential-steps-BvM2OHzd.js";import"./card-D1A84Xq3.js";import"./account-form-helpers-DhckT_PN.js";import"./mail-BCe8tw-j.js";import"./file-json-q3gwdNDb.js";function O(){const o=n(),e=i(),t=a(),r=m.useCallback(l=>{c({queryClient:e,recordCompleted:()=>o.recordEvent("onboarding.completed"),navigateToInbox:()=>{window.location.assign("/mail")}})},[o,e]);return s.jsx(p,{skipWelcome:!1,onComplete:r,onImportConfig:()=>{t({to:"/import"})}})}export{O as component};
@@ -1 +0,0 @@
1
- import{j as o,O as i}from"./index-B230G2r4.js";import{a as m}from"./MailShell-DSoLI8t1.js";import{u as p,O as t}from"./OutboxPane-B2jjbErx.js";import{u as s}from"./search-mirror-D1z7H-_k.js";import"./FullCompose-OYzn7aRj.js";import"./ErrorState-ChCDQFu4.js";import"./index-BQPxJeiD.js";import"./useMessageBodyContent-C67pLyUd.js";import"./useSignature-CcQyCKLk.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Bsm2SvVf.js";import"./sections-xLEk6Jre.js";import"./confirm-dialog-C73YNmd0.js";import"./roving-focus-CaNYOaKN.js";import"./useSearchTokenContext-3DKMEjYF.js";import"./kbd-BAUrbNWo.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-H10pIzmY.js";import"./clock-C2w9y-mb.js";import"./row-actions-B29bSCMM.js";import"./rotate-ccw-CVuq3RZa.js";import"./NavMenuButton-BslRFvxC.js";import"./menu-CFMOQQe1.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function v(){const r=p();return s({to:"/mail/outbox"}),o.jsx(t,{outboxMessageId:r,children:o.jsx(m,{phone:o.jsx(t.Phone,{}),list:o.jsx(t.List,{}),reading:o.jsx(i,{})})})}export{v as component};
@@ -1 +0,0 @@
1
- import{r as c,j as m,bP as V,t as k,cd as _,X as G,ce as L,cf as Q,cg as z,ch as X,ci as J,a9 as x,u as M,cj as Y,ck as w,cl as W,G as Z,ac as ee,K,ae as te,af as ne,C as se,cm as N}from"./index-B230G2r4.js";import{s as oe,S as re}from"./search-scope-B5-OK3Cq.js";import{u as R}from"./useQueries-DrvQQzch.js";const ae=[{action:"focusNext",keys:["j","k"],label:"navigate"},{action:"muteSender",keys:["m"],label:"mute"},{action:"help",keys:["?"],label:"all shortcuts"}];function ke(e){return ae.filter(t=>e[t.action]!==void 0)}const ie=[{title:"Navigation",hints:[{action:"focusNext",keys:["j"],description:"Focus the message below"},{action:"focusPrevious",keys:["k"],description:"Focus the message above"},{action:"focusNext",keys:["↓"],description:"Focus the message below"},{action:"focusPrevious",keys:["↑"],description:"Focus the message above"},{action:"focusFirst",keys:["Home"],description:"Focus first"},{action:"focusLast",keys:["End"],description:"Focus last"},{action:"openFocused",keys:["Enter"],description:"Open focused thread"},{action:"back",keys:["Esc"],description:"Back / close overlay"}]},{title:"Selection",hints:[{action:"toggleSelect",keys:["x"],description:"Toggle select"},{action:"toggleSelect",keys:["Space"],description:"Toggle select"},{action:"extendSelectDown",keys:["Shift","j"],description:"Extend selection down"},{action:"extendSelectUp",keys:["Shift","k"],description:"Extend selection up"},{action:"extendSelectDown",keys:["Shift","↓"],description:"Extend selection down"},{action:"extendSelectUp",keys:["Shift","↑"],description:"Extend selection up"},{action:"selectAll",keys:["⌘","A"],description:"Select all"}]},{title:"Actions",hints:[{action:"reply",keys:["r"],description:"Reply"},{action:"replyAll",keys:["a"],description:"Reply all"},{action:"forward",keys:["f"],description:"Forward"},{action:"delete",keys:["#"],description:"Delete"},{action:"toggleStar",keys:["s"],description:"Star / unstar"},{action:"toggleRead",keys:["u"],description:"Toggle read / unread"}]},{title:"Sender",hints:[{action:"muteSender",keys:["m"],description:"Mute sender"},{action:"blockSender",keys:["b"],description:"Block sender"},{action:"vipSender",keys:["v"],description:"VIP sender"},{action:"markJunk",keys:["!"],description:"Mark junk"}]},{title:"Go to",hints:[{action:"goBrief",keys:["g","b"],description:"Daily brief"},{action:"goInbox",keys:["g","i"],description:"Inbox"},{action:"goSent",keys:["g","s"],description:"Sent"},{action:"goFlagged",keys:["g","f"],description:"Starred"},{action:"goSettings",keys:["g",","],description:"Settings"}]},{title:"View & global",hints:[{action:"toggleIntelligence",keys:["i"],description:"Toggle intelligence"},{action:"toggleDensity",keys:["d"],description:"Toggle density"},{action:"focusSearch",keys:["/"],description:"Focus search"},{action:"compose",keys:["c"],description:"Compose"},{action:"compose",keys:["⌘","N"],description:"Compose"},{action:"help",keys:["?"],description:"Shortcut help"}]}];function ce(e){for(const t of ie){const n=t.hints.find(s=>s.action===e);if(n)return n.keys}}function le(e){const t=ce(e);return!t||t.length===0?"":t.length===1?t[0]??"":t[0]==="g"?t.join(" then "):t.join("")}function we(e){const t=le(e);return t===""?"":`(${t})`}function ue({key:e,shiftKey:t=!1,repeat:n=!1,caretAtStart:s,hasValue:a,chipCount:o}){const i=o-1;return e==="Escape"?a?{type:"clearQuery"}:{type:"blur"}:e==="Tab"&&t?o===0?{type:"none"}:{type:"focusChip",index:i}:e==="Backspace"||e==="ArrowLeft"?!s||o===0?{type:"none"}:n?{type:"none"}:{type:"focusChip",index:i}:{type:"none"}}function de({key:e,repeat:t=!1,index:n,chipCount:s}){return e==="Backspace"||e==="Delete"?t?{type:"none"}:{type:"removeChip",index:n}:e==="ArrowLeft"?n===0?{type:"none"}:{type:"focusChip",index:n-1}:e==="ArrowRight"?n>=s-1?{type:"focusInput"}:{type:"focusChip",index:n+1}:e==="Enter"||e===" "?{type:"activateChip",index:n}:e==="Escape"?{type:"focusInput"}:{type:"none"}}function fe(e,t){const n=t-1;return n<=0?null:e<n?e:n-1}const pe=e=>e instanceof HTMLElement?e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable:!1,me=({chips:e=[],onRemoveChip:t,value:n,onChange:s,onClear:a,onClearQuery:o,placeholder:i="Search mail...",globalFocusKey:u=!0,showClearButton:p=!0,size:h="sm",inputId:d,suggest:f,className:b})=>{const $=c.useId(),j=d??$,I=c.useRef(null),P=c.useRef([]),F=o??a,[D,C]=c.useState(null),v=c.useRef(void 0),[q,O]=c.useState(""),T=e.length>0;c.useEffect(()=>{C(r=>r!==null&&r>=e.length?null:r)},[e.length]),c.useEffect(()=>{const r=v.current;if(r!==void 0){if(v.current=void 0,r===null){I.current?.focus();return}P.current[r]?.focus()}});const A=c.useRef(void 0);c.useEffect(()=>{const r=f?.caret;if(!r||r===A.current)return;A.current=r;const l=I.current;!l||l.ownerDocument.activeElement!==l||(l.setSelectionRange(r.cursor,r.cursor),f?.onCaretChange(r.cursor))});const S=r=>{f?.onCaretChange(r.selectionStart??r.value.length)},g=c.useCallback(r=>{C(r),v.current=r},[]),E=c.useCallback(r=>{const l=e[r];l&&t&&(g(fe(r,e.length)),O(`${l.label} removed`),t(l.id))},[e,t,g]),B=c.useCallback(()=>{g(null),a()},[a,g]),H=c.useCallback(r=>{const l=r.currentTarget;if(f?.onKeyDown(r))return;const y=ue({key:r.key,shiftKey:r.shiftKey,repeat:r.repeat,caretAtStart:l.selectionStart===0&&l.selectionEnd===0,hasValue:n.length>0,chipCount:e.length});switch(y.type){case"focusChip":r.preventDefault(),g(y.index);return;case"clearQuery":F();return;case"blur":l.blur();return;case"none":return}},[e.length,n,F,g,f]),U=c.useCallback(r=>l=>{const y=de({key:l.key,repeat:l.repeat,index:r,chipCount:e.length});switch(y.type!=="none"&&l.preventDefault(),y.type){case"removeChip":E(y.index);return;case"focusChip":g(y.index);return;case"focusInput":g(null);return;case"activateChip":return;case"none":return}},[e,E,g]);return c.useEffect(()=>{if(!u)return;const r=l=>{l.key!=="/"||l.metaKey||l.ctrlKey||l.altKey||pe(l.target)||L("focusSearch")||(l.preventDefault(),I.current?.focus())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[u]),m.jsxs("label",{htmlFor:j,className:k("flex w-full items-center gap-1.5 text-sm","bg-surface-sunken/50 border border-transparent","focus-within:bg-canvas focus-within:border-line focus-within:ring-2 focus-within:ring-ring","transition-colors",h==="lg"?"rounded-xl px-4 py-2":"rounded-md px-2.5 py-1",b),children:[m.jsx(V,{className:k("shrink-0 text-fg-muted pointer-events-none",h==="lg"?"size-5":"size-4")}),m.jsxs("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1",children:[T&&m.jsx("div",{role:"grid","aria-label":"Search filters",className:"flex min-w-0 flex-wrap items-center gap-1",children:e.map((r,l)=>m.jsx(_,{ref:y=>{P.current[l]=y},label:r.label,tone:r.tone,focused:D===l,onFocusLabel:()=>C(l),onKeyDown:U(l),onRemove:()=>E(l)},r.id))}),m.jsx("input",{ref:I,id:j,name:"q",type:"text","aria-label":"Search mail",autoComplete:"off",value:n,tabIndex:D===null?0:-1,onChange:r=>{s(r.target.value),S(r.target)},onKeyDown:H,onKeyUp:r=>S(r.currentTarget),onClick:r=>S(r.currentTarget),onFocus:r=>{C(null),f?.onFocusChange?.(!0),S(r.currentTarget)},onBlur:()=>f?.onFocusChange?.(!1),...f?.comboboxProps,placeholder:T?void 0:i,className:"min-w-24 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-muted"})]}),(n||T)&&p&&m.jsx("button",{type:"button",onClick:B,className:"shrink-0 rounded p-0.5 hover:bg-surface-raised transition-colors","aria-label":"Clear search",children:m.jsx(G,{className:k("text-fg-muted",h==="lg"?"size-5":"size-4")})}),m.jsx("span",{role:"status","aria-live":"polite",className:"sr-only",children:q})]})},Ie=({value:e,onChange:t,onClear:n,onClearQuery:s,chips:a,onRemoveChip:o,placeholder:i="Search mail...",globalFocusKey:u=!0,showClearButton:p=!0,size:h,inputId:d,suggest:f,className:b})=>m.jsx(me,{value:e,onChange:t,onClear:n,onClearQuery:s,chips:a,onRemoveChip:o,placeholder:i,globalFocusKey:u,showClearButton:p,size:h,inputId:d,suggest:f,className:b});function Ce({handlers:e,enabled:t=!0,target:n,sequenceTimeoutMs:s=1e3}){const a=c.useRef(e);a.current=e;const o=c.useRef(null),i=c.useRef(null);c.useEffect(()=>{if(!t)return;const u=()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)},p=d=>{const f=Q({key:d.key,shiftKey:d.shiftKey,metaKey:d.metaKey,ctrlKey:d.ctrlKey,altKey:d.altKey,inEditable:X(d.target),onControl:z(d.target)},o.current);if(J().length>0){u(),o.current=null;return}if(u(),o.current=f.nextPrefix,f.nextPrefix!==null&&(i.current=setTimeout(()=>{o.current=null,i.current=null},s)),f.action===null||L(f.action)!==null)return;const b=a.current[f.action];b&&(f.preventDefault&&d.preventDefault(),b())},h=n===void 0?window:n;if(h!==null)return h.addEventListener("keydown",p),()=>{h.removeEventListener("keydown",p),u(),o.current=null}},[t,s,n])}function Se(){const e=x({from:"/mail/brief/$threadId",shouldThrow:!1}),t=x({from:"/mail/brief/$threadId/$messageId",shouldThrow:!1}),n=x({from:"/mail/flagged/$threadId",shouldThrow:!1}),s=x({from:"/mail/flagged/$threadId/$messageId",shouldThrow:!1}),a=x({from:"/mail/$mailboxId/$threadId",shouldThrow:!1}),o=x({from:"/mail/$mailboxId/$threadId/$messageId",shouldThrow:!1}),i=e?.threadId??n?.threadId??a?.threadId,u=t?.messageId??s?.messageId??o?.messageId;return c.useMemo(()=>i?{threadId:i,messageId:u}:void 0,[i,u])}function ve(){const e=M(),t=Y(),{list:n,mailboxId:s}=w();return c.useCallback((a,o)=>{const i=o?.query,p={search:d=>i===void 0?d:{...d,q:i||void 0},hash:t,replace:o?.replace??!1};if(n==="flagged"){e({to:"/mail/flagged/$threadId/$messageId",params:a,...p});return}const h=o?.mailboxId??s;if(n==="mailbox"&&h){e({to:"/mail/$mailboxId/$threadId/$messageId",params:{mailboxId:h,...a},...p});return}e({to:"/mail/brief/$threadId/$messageId",params:a,...p})},[e,t,n,s])}function Te(){return W()}function he(){const e=M();return c.useCallback(t=>{e({to:"/mail/brief",search:{q:t||void 0}})},[e])}function Ee(){const e=M();return c.useCallback((t,n)=>{e({to:"/mail/$mailboxId",params:{mailboxId:t},search:{q:n||void 0}})},[e])}const Ne=({trigger:e,children:t,align:n="right"})=>{const[s,a]=c.useState(!1),o=c.useRef(null),i=c.useCallback(u=>{o.current&&!o.current.contains(u.target)&&a(!1)},[]);return Z({id:"dropdown-menu",open:s,answers:{back:()=>a(!1)}}),c.useEffect(()=>(s&&document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)),[s,i]),m.jsxs("div",{ref:o,className:"relative",children:[m.jsx("button",{type:"button",onClick:u=>{u.stopPropagation(),a(!s)},className:k("p-1.5 min-h-11 min-w-11 inline-flex items-center justify-center rounded-md transition-colors","hover:bg-surface-raised text-fg-muted hover:text-fg"),children:e}),s&&m.jsx("div",{className:k("absolute z-50 mt-1 min-w-[180px] py-1","bg-surface border border-line rounded-md shadow-lg",n==="right"?"right-0":"left-0"),children:t})]})},Me=({onClick:e,disabled:t,destructive:n,children:s})=>m.jsx("button",{type:"button",onClick:a=>{a.stopPropagation(),t||e()},disabled:t,className:k("w-full px-3 py-2 text-left text-sm transition-colors","flex items-center gap-2",t&&"opacity-50 cursor-not-allowed",!t&&"hover:bg-surface-raised",n&&"text-danger hover:text-danger"),children:s}),Ke=()=>m.jsx("div",{className:"my-1 h-px bg-line"}),ge=({accounts:e})=>{const{list:t,mailboxId:n}=w(),{t:s}=ee("mail",{useSuspense:!1}),a=c.useCallback((i,u)=>s(i,{defaultValue:u}),[s]),o=R({queries:e.map(i=>({...K({path:{accountId:i.accountId}}),staleTime:1/0}))});if(t==="outbox")return"Outbox";if(!n)return null;for(let i=0;i<e.length;i++){const u=o[i]?.data?.items;if(!u)continue;const p=u.find(d=>d.mailboxId===n);if(!p)continue;const h=te(e[i].folderAppointments);return ne(p,h.get(n),a)}return null},Re=({accounts:e})=>{const{mailboxId:t}=w(),n=R({queries:e.map(s=>({...K({path:{accountId:s.accountId}}),staleTime:1/0}))});if(!t)return null;for(const s of n){const a=s.data?.items;if(!a)continue;const o=a.find(i=>i.mailboxId===t);if(o)return o.unseenCount}return null},je=({accounts:e})=>{const{mailboxId:t}=w(),n=R({queries:e.map(s=>({...K({path:{accountId:s.accountId}}),staleTime:1/0}))});if(!t)return 0;for(const s of n){const a=s.data?.items;if(!a)continue;const o=a.find(i=>i.mailboxId===t);if(o)return o.messageCount}return 0};function Pe(e){const t=he(),{searchInput:n}=se(),s=ge({accounts:e}),a=w(),o=c.useMemo(()=>oe(a,s),[a,s]),i=c.useCallback(u=>{u===re&&t(n)},[t,n]);return{scope:o,clearScope:i}}function Fe(e){const t=new Map;for(const n of e){const s=n.email.toLowerCase(),a=s.split("@")[0];a&&!t.has(a)&&t.set(a,n.accountId),t.has(s)||t.set(s,n.accountId)}return t}function De(e){const t=new Map;for(const n of e)for(const s of n){const a=s.fullPath?.toLowerCase();if(!a)continue;const o=N(s).toLowerCase();t.has(a)||t.set(a,s.mailboxId),t.has(o)||t.set(o,s.mailboxId)}return t}function Ae(e,t=[]){const n=e.flat().filter(o=>o.fullPath),s=new Map;for(const o of n){const i=N(o).toLowerCase();s.set(i,(s.get(i)??0)+1)}const a=new Map(t.map(o=>[o.accountId,o.email]));return n.map(o=>{const i=N(o),u=s.get(i.toLowerCase())===1,p=t.length>1?a.get(o.accountId):void 0;return{value:u?i:o.fullPath,label:o.displayNameOverride?.trim()||i,...p?{hint:p}:{}}})}function Le(e){const t=new Map;for(const n of e){const s=n.email.toLowerCase().split("@")[0]??"";t.set(s,(t.get(s)??0)+1)}return e.map(n=>{const s=n.email.split("@")[0]??n.email,a=t.get(s.toLowerCase())===1,o=n.displayName?.trim();return{value:a?s:n.email,label:o||n.email,...o?{hint:n.email}:{}}})}export{Ne as D,ie as K,Ie as S,Ke as a,Me as b,De as c,Se as d,Ce as e,Fe as f,ve as g,Te as h,ge as i,Re as j,je as k,ae as l,Ae as m,Le as n,Ee as o,ke as p,le as s,we as t,Pe as u};
@@ -1 +0,0 @@
1
- import{j as t,O as o}from"./index-B230G2r4.js";const n=()=>t.jsx(o,{});export{n as component};
@@ -1,84 +0,0 @@
1
- import{cq as Y,r as h,j as a,t as b,I as X,h as Z,at as J,i as ee,av as te,cG as se,bN as re,ab as ne,a0 as ae,X as oe,c$ as _,d0 as $,C as ie,ck as ce}from"./index-B230G2r4.js";import{K as A}from"./kbd-BAUrbNWo.js";import{B as le,b as de}from"./useMessageBodyContent-C67pLyUd.js";import{i as ue}from"./search-scope-B5-OK3Cq.js";const me=(e,t)=>{const r=e==="newsletter"||e==="marketing"||t;return{framed:r,isPlain:!r}},fe=()=>`
2
- /* Zero the UA default body margin and clamp the document to the iframe width so
3
- wide author markup can't push the body (and the page) past the viewport. */
4
- html, body {
5
- margin: 0;
6
- padding: 0;
7
- max-width: 100%;
8
- }
9
- body {
10
- overflow-wrap: anywhere;
11
- word-break: break-word;
12
- }
13
- /* Media never wider than the frame; keep aspect ratio when width is capped. */
14
- img, video, iframe, svg, canvas {
15
- max-width: 100% !important;
16
- height: auto;
17
- }
18
- /* Fixed-width author tables (\`<table width="600">\`) collapse to fit. */
19
- table {
20
- max-width: 100% !important;
21
- table-layout: auto;
22
- }
23
- /* Cells carry the fixed widths in real newsletters (\`<td width="600">\`);
24
- cap them too or the table can't actually shrink. */
25
- td, th {
26
- max-width: 100% !important;
27
- }
28
- /* \`max-width\` alone can't beat an inline \`min-width\`; zeroing the min lets
29
- flex / grid / table children actually collapse to the clamped width. */
30
- * {
31
- min-width: 0;
32
- }
33
- /* An author \`nowrap\` assumes a viewport as wide as the line. The frame is the
34
- pane's width whatever the mail is, so a pinned paragraph turns reading one
35
- sentence into a sideways drag — and inside an author \`overflow:hidden\` it is
36
- cut mid-character with nothing left to scroll at all. Flowing text wraps. The
37
- \`i\` flag is load-bearing: Outlook and older generators emit \`WHITE-SPACE:
38
- NOWRAP\`, and an attribute value match is case-sensitive without it. */
39
- [nowrap]:not(pre, code, pre *, code *),
40
- [style*="nowrap" i]:not(pre, code, pre *, code *) {
41
- white-space: normal !important;
42
- }
43
- /* Long unbroken strings (URLs, tokens) wrap instead of forcing a wide line. */
44
- pre, code {
45
- white-space: pre-wrap;
46
- overflow-wrap: anywhere;
47
- word-break: break-word;
48
- }
49
- /* Preformatted text keeps its spacing even where a nowrap is declared — on the
50
- block or on a span inside it. \`normal\` would collapse the runs of spaces that
51
- are the entire content of a \`pre\`, and the un-important rule above cannot
52
- defend an inline style, so this wraps to \`pre-wrap\` instead of unwrapping. */
53
- :is(pre, code, pre *, code *):is([nowrap], [style*="nowrap" i]) {
54
- white-space: pre-wrap !important;
55
- }
56
- `,he=e=>{const t=new Map;for(const s of e){if(!s.contentId||s.contentUrl.length===0)continue;const r=s.contentId.replace(/^<|>$/g,"");t.set(r,s.contentUrl)}return s=>t.get(s.replace(/^<|>$/g,""))},ge=/^(none|transparent|inherit|initial|unset)\s*$/i,I=e=>{const t=[],s=/<style[^>]*>([\s\S]*?)<\/style>/gi;let r;for(r=s.exec(e);r!==null;)t.push(r[1]),r=s.exec(e);return t},pe=e=>{const t=/background(?:-color)?\s*:\s*([^;}\n]+)/gi;let s;for(s=t.exec(e);s!==null;){const r=s[1].trim();if(!ge.test(r))return!0;s=t.exec(e)}return!1},be=e=>{if(/\bstyle\s*=\s*["'][^"']*background/i.test(e)||/\bbgcolor\s*=/i.test(e))return!0;for(const t of I(e))if(pe(t))return!0;return!1},ye=new Set(["auto","none","initial","inherit","unset","revert","revert-layer"]),xe=new RegExp(`(?<![-\\w])(?:padding|margin)(?:-(top|right|bottom|left|block|inline)(?:-(?:start|end))?)?\\s*:\\s*([^;}"']+)`,"gi"),we=new Set(["top","bottom","block"]),B=e=>e.replace(/\/\*[\s\S]*?\*\//g,""),N=e=>{const t=e.toLowerCase();if(!t||ye.has(t)||t.startsWith("-"))return!1;const s=/^\+?(\d*\.?\d+)[a-z%]*$/.exec(t);return s?Number.parseFloat(s[1])!==0:!0},ve=e=>{const t=e.split(/\s+/).filter(Boolean);return t.length<2?t:t.length<4?[t[1]]:[t[1],t[3]]},ke=(e,t)=>{if(e&&we.has(e))return!1;const s=t.replace(/!\s*important/gi,"").trim();return s?e?s.split(/\s+/).some(N):ve(s).some(N):!1},C=e=>{for(const t of B(e).matchAll(xe))if(ke(t[1],t[2]))return!0;return!1},O=new Set(["blockquote"]),Ae=e=>e.replace(/<!--[\s\S]*?-->/g,""),Se=e=>{const t=[],s=/<([a-zA-Z][\w:-]*)((?:"[^"]*"|'[^']*'|[^>"'])*)>/g,r=/\bstyle\s*=\s*(?:"([^"]*)"|'([^']*)')/gi;for(const[,n,o]of e.matchAll(s))for(const d of o.matchAll(r))t.push({tag:n.toLowerCase(),style:d[1]??d[2]??""});return t},Ee=e=>[...B(e).matchAll(/([^{}]*)\{([^{}]*)\}/g)].map(t=>({selector:t[1].trim(),body:t[2]})),Ne=e=>{const t=e.trim().split(/[\s>+~]+/).pop()??"";return(/^[a-zA-Z][\w-]*/.exec(t)?.[0]??"").toLowerCase()},Ce=e=>e.split(",").every(t=>O.has(Ne(t))),Te=e=>{const t=I(e),s=Ae(e);if(/\bcellpadding\s*=\s*["']?(?!0["'\s>])\d/i.test(s))return!0;for(const{tag:r,style:n}of Se(s))if(!O.has(r)&&C(n))return!0;for(const r of t)for(const n of Ee(r))if(!Ce(n.selector)&&C(n.body))return!0;return!1},je=["script","iframe","object","embed","form","input","button","textarea","select","meta","link","base"],Le=["onerror","onload","onclick","onmouseover","onmouseout","onfocus","onblur","onsubmit","onkeydown","onkeyup","formaction","xlink:href","data-bind"],Re="data:image/svg+xml,"+encodeURIComponent(`
57
- <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
58
- <rect fill="#f0f0f0" width="100" height="100"/>
59
- <text x="50" y="50" text-anchor="middle" dy=".3em" fill="#999" font-size="12">
60
- Image blocked
61
- </text>
62
- </svg>
63
- `),_e=e=>e.replace(/url\s*\([^)]*\)/gi,"none").replace(/expression\s*\([^)]*\)/gi,"").replace(/-moz-binding\s*:[^;]*/gi,""),$e=e=>e.replace(/@import[^;]*;/gi,"/* @import blocked */").replace(/url\s*\([^)]*\)/gi,"none").replace(/expression\s*\([^)]*\)/gi,"").replace(/-moz-binding\s*:[^;]*/gi,""),Ie=(e={})=>{const t=Y(),s={FORBID_TAGS:je,FORBID_ATTR:Le,ALLOW_DATA_ATTR:!1,ALLOW_UNKNOWN_PROTOCOLS:!1};return t.addHook("afterSanitizeAttributes",r=>{if(e.allowExternalImages||(r.tagName==="IMG"&&r.removeAttribute("srcset"),r.tagName==="SOURCE"&&(r.removeAttribute("srcset"),r.removeAttribute("src")),r.tagName==="VIDEO"&&r.removeAttribute("poster")),r.tagName==="IMG"){const n=r.getAttribute("src")||"";if(n.startsWith("data:"))return;if(n.startsWith("cid:")){const d=n.slice(4).replace(/^<|>$/g,""),g=e.resolveCid?.(d);g&&(r.setAttribute("src",g),r.classList.add("inline-content"));return}e.allowExternalImages||(r.setAttribute("data-blocked-src",n),r.setAttribute("src",Re),r.setAttribute("alt","[Blocked image]"),r.classList.add("blocked-image"))}if(r.tagName==="A"){const n=r.getAttribute("href")||"";if(/^(javascript|data):/i.test(n)){r.removeAttribute("href");return}r.setAttribute("target","_blank"),r.setAttribute("rel","noopener noreferrer nofollow"),r.classList.add("external-link")}if(r.hasAttribute("style")){const n=r.getAttribute("style")||"";r.setAttribute("style",_e(n))}}),t.addHook("uponSanitizeElement",(r,n)=>{if(n.tagName==="style"){const o=r.textContent||"";r.textContent=$e(o)}}),r=>{const n=be(r),o=Te(r),d=t.sanitize(r,s);return{html:`<style>${fe()}</style>${d}`,hasAuthorBackground:n,hasAuthorSpacing:o}}},Be='"Geist Variable", "Geist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',k={light:{fg:"oklch(0.3 0.025 235)",canvas:"oklch(0.96 0.015 90)",accent:"oklch(0.55 0.14 150)"},dark:{fg:"oklch(0.88 0.02 90)",canvas:"oklch(0.22 0.025 220)",accent:"oklch(0.78 0.16 150)"}},Oe={background:!1,spacing:!1},Me="16px",De=()=>`html{padding:0}body{padding:${Me};box-sizing:border-box}`,ze=()=>"html{overflow:hidden}body{overflow-x:auto}",Pe=/prefers-color-scheme\s*:\s*dark|color-scheme\s*:\s*[^;}"']*\bdark\b/i,Ke='<meta name="viewport" content="width=device-width, initial-scale=1">',Fe=e=>{const t=e?k.dark:k.light;return`
64
- /* Plain-email base: UI font-stack + theme-aware colors (#424) */
65
- html, body {
66
- font-family: ${Be};
67
- font-size: 14px;
68
- line-height: 1.6;
69
- color: ${t.fg};
70
- background-color: ${t.canvas};
71
- margin: 0;
72
- padding: 0;
73
- }
74
- /* Strip author unreadable text colors and element backgrounds, scoped to body
75
- descendants so the themed html/body surface above survives this reset. */
76
- body * {
77
- color: inherit !important;
78
- background-color: transparent !important;
79
- }
80
- a, a:visited {
81
- color: ${t.accent} !important;
82
- text-decoration: underline;
83
- }
84
- `},E="invert(0.92) hue-rotate(180deg)",T=`img,picture,video,svg,canvas,[style*='background-image'],[background]{filter:${E}}`,He=(e,t,s)=>{const r=e?k.dark.canvas:k.light.canvas;return s?e?t?`html,body{margin:0;background-color:${r};color-scheme:dark light}`:`html{margin:0;background-color:#ffffff;filter:${E}}body{margin:0}${T}`:"html,body{margin:0;background-color:#ffffff;color-scheme:light}":e?t?`html,body{margin:0;background-color:${r};color-scheme:dark light}`:`html{margin:0;background-color:${r}}body{margin:0;filter:${E}}${T}`:`html,body{margin:0;background-color:${r};color-scheme:light}`},Ge=(e,t,s,r=Oe)=>{const n=t==="plain"?Fe(s):He(s,Pe.test(e),r.background),o=r.spacing?"":De();return`${Ke}<style>${n}</style>${e}<style>${ze()}${o}</style>`},Ue=5e4,We="allow-same-origin allow-popups allow-popups-to-escape-sandbox",Ve=(e,t,s)=>Math.min(Math.ceil(Math.max(e,t)),s),Qe=new Set(["Enter","Escape","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End"]),qe=e=>e===" "?!1:e.length===1?!0:Qe.has(e),S=e=>{if(e.metaKey||e.ctrlKey||e.altKey||!qe(e.key))return;const t=e.currentTarget??e.target,s=t?.defaultView?.parent;!s||s===t?.defaultView||s.dispatchEvent(new KeyboardEvent("keydown",{key:e.key,code:e.code,shiftKey:e.shiftKey,bubbles:!0,cancelable:!0}))},j=({html:e,variant:t="framed",isDark:s=!1,declares:r,className:n})=>{const o=h.useRef(null),[d,g]=h.useState(0),i=h.useMemo(()=>Ge(e,t,s,r),[e,t,s,r]);return h.useEffect(()=>{const c=o.current;if(!c)return;const u=()=>{const l=c.contentDocument;if(!l?.body)return;const x=l.documentElement,w=Ve(l.body.scrollHeight,x?.scrollHeight??0,Ue);g(y=>y===w?y:w)};let m,f;const p=()=>{u(),m?.disconnect(),m=void 0,f?.removeEventListener("keydown",S),f?.removeEventListener("load",u,!0),f=void 0;const l=c.contentDocument;l?.body&&(m=new ResizeObserver(u),m.observe(l.body),l.documentElement&&m.observe(l.documentElement),l.addEventListener("load",u,!0),l.fonts?.ready.then(u),l.addEventListener("keydown",S),f=l)};return c.addEventListener("load",p),()=>{c.removeEventListener("load",p),f?.removeEventListener("keydown",S),f?.removeEventListener("load",u,!0),m?.disconnect()}},[]),a.jsx("iframe",{ref:o,title:"Email content",sandbox:We,srcDoc:i,className:n,style:{width:"100%",border:"none",display:"block",height:d===0?"1px":`${d}px`,colorScheme:"normal"}})},L=()=>a.jsx("p",{className:"text-fg-muted text-sm italic",children:"This message has no body content."}),Et=({className:e,children:t})=>a.jsx("div",{className:b("[&_.message-body-frame]:-mx-2 lg:[&_.message-body-frame]:-mx-4",e),children:t}),Ye=({html:e,text:t,isDark:s=!1,category:r,allowImages:n=!1,resolveCid:o,className:d,renderBlockedNotice:g})=>{const i=h.useMemo(()=>!e||typeof document>"u"?null:Ie({allowExternalImages:n,resolveCid:o})(e),[e,n,o]),c=i?.html??null,{framed:u,isPlain:m}=me(r,i?.hasAuthorBackground??!1),f=h.useMemo(()=>({background:i?.hasAuthorBackground??!1,spacing:i?.hasAuthorSpacing??!1}),[i?.hasAuthorBackground,i?.hasAuthorSpacing]),p=h.useMemo(()=>!c||n?0:(c.match(/data-blocked-src/g)||[]).length,[c,n]);return!c&&!t?a.jsx("div",{className:b("message-body",d),children:a.jsx(L,{})}):a.jsxs("div",{className:b("message-body",d),children:[p>0&&a.jsx("div",{children:g?.(p)}),c?a.jsx("div",{className:"message-body-frame",children:u?a.jsx("div",{className:"w-full max-w-full",children:a.jsx(j,{html:c,variant:"framed",isDark:s,declares:f})}):a.jsx("div",{className:"max-w-full lg:max-w-2xl",children:a.jsx(j,{html:c,variant:m?"plain":"framed",isDark:s,declares:f})})}):t?a.jsx("pre",{className:"email-text whitespace-pre-wrap text-sm leading-relaxed",children:t}):a.jsx(L,{})]})};function Nt({message:e="Select a thread to read",icon:t,showHints:s=!0,className:r}){return a.jsxs("div",{className:b("flex flex-1 flex-col items-center justify-center text-center",r),children:[t??a.jsx(X,{className:"size-10 text-fg-subtle"}),a.jsx("p",{className:"mt-3 text-sm text-fg-muted",children:e}),s&&a.jsxs("p",{className:"text-2xs text-fg-subtle",children:[a.jsx(A,{children:"j"})," / ",a.jsx(A,{children:"k"})," to move, ",a.jsx(A,{children:"Enter"})," to open"]})]})}function M(e){const t=[];let s=-1,r=!1;for(let n=0;n<e.length;n++){const o=e[n];if(o==='"'){r=!r,s<0&&(s=n);continue}if(!r&&/\s/.test(o)){s>=0&&t.push({raw:e.slice(s,n),start:s,end:n}),s=-1;continue}s<0&&(s=n)}return s>=0&&t.push({raw:e.slice(s),start:s,end:e.length}),t}const Xe=e=>{if(!e.startsWith('"'))return e;const t=e.slice(1);return t.endsWith('"')?t.slice(0,-1):t};function Ze(e){const t=e.indexOf(":");if(t<=0)return;const s=e.slice(t+1);return{name:e.slice(0,t).toLowerCase(),value:Xe(s),rawValue:s}}const Je=e=>/[\s"]/.test(e),et=e=>Je(e)?`"${e.replace(/"/g,"")}"`:e,Ct=(e,t)=>`${e}:${et(t)}`,D=(e,t=Date.now())=>({value:e,setAt:t}),tt=(e,t,s,r)=>{if(e.addressId!==t)return e;const n={...e.flags??{}};return s?n.trusted=D(!0,r):delete n.trusted,{...e,flags:n}},st=(e,t,s,r)=>{const n=o=>o.map(d=>tt(d,t,s,r));return{...e,envelope:{...e.envelope,from:n(e.envelope.from),to:n(e.envelope.to),cc:n(e.envelope.cc),bcc:n(e.envelope.bcc),replyTo:n(e.envelope.replyTo)}}},rt=({messageId:e})=>{const t=Z(),{pushError:s}=J(),{mutate:r,isPending:n,error:o,reset:d}=ee({...re(),onMutate:async i=>{const c=i.path.addressId,m=i.body.flags?.trusted?.value===!0,f=se({path:{messageId:e}});await t.cancelQueries({queryKey:f});const p=t.getQueriesData({queryKey:f}).filter(l=>l[1]!==void 0).map(([l,x])=>({queryKey:l,data:x}));return t.setQueriesData({queryKey:f},l=>l&&st(l,c,m)),{describePrefix:f,previous:p}},onError:(i,c,u)=>{if(u)for(const m of u.previous)t.setQueryData(m.queryKey,m.data);s(te("Couldn't trust sender","The change wasn't saved.",i))},onSettled:(i,c,u,m)=>{m&&t.invalidateQueries({queryKey:m.describePrefix})}});return{toggleTrusted:(i,c)=>{r({path:{addressId:i},body:{flags:{trusted:D(!c)}}})},isPending:n,error:o,reset:d}},nt=()=>{const[e,t]=h.useState(()=>typeof document<"u"&&document.documentElement.classList.contains("dark"));return h.useEffect(()=>{const s=document.documentElement,r=new MutationObserver(()=>{t(s.classList.contains("dark"))});return r.observe(s,{attributes:!0,attributeFilter:["class"]}),()=>r.disconnect()},[]),e},at=(e,t)=>{const s=`${e} image${e>1?"s":""}`;return t?`${s} hidden — you blocked this sender`:`${s} blocked for privacy`},ot=({blockedImageCount:e,canAlwaysTrust:t,isTrustPending:s,isSenderBlocked:r,onLoadOnce:n,onAlwaysTrust:o})=>a.jsxs("div",{"data-testid":"blocked-images-notice",className:"mb-3 flex items-center justify-between rounded-md bg-surface-sunken/50 px-3 py-2 text-sm",children:[a.jsx("span",{className:"text-fg-muted",children:at(e,r)}),!r&&a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("button",{type:"button",onClick:n,className:"text-accent hover:underline",children:"Load once"}),t&&a.jsx("button",{type:"button",onClick:o,"aria-busy":s,className:"text-accent hover:underline aria-busy:opacity-50",children:s?"Trusting…":"Always trust"})]})]}),it=(e,t)=>{switch(e){case"auth":return{title:"Your session expired",detail:"Sign in again to reload the message body. Other parts of the app may also stop responding until you do."};case"body-missing":return{title:"Message body is missing in storage",detail:"A sync failure may have left this message without its body bytes. Contact support, or run the reconcile script to refetch from the upstream IMAP server."};case"content-type-mismatch":return{title:"Couldn't load message body",detail:"The server returned an unexpected content type for this part. The message body has not been rendered to keep you safe."};case"spa-shell-leak":return{title:"Couldn't load message body",detail:"The server returned the app shell instead of the message body. This is an infrastructure bug — please report it."};case"not-ready":return{title:"Message body is still syncing",detail:"This message's body hasn't finished downloading from the mail server yet. It should appear shortly — reopen the message to try again."};default:return{title:"Couldn't load message body",detail:t}}},ct=e=>e instanceof le?e.reason:"generic",lt=e=>e instanceof Error?e.message:typeof e=="string"?e:"An unexpected error occurred while loading the message body.",dt=({error:e,onRetry:t})=>{const s=ct(e),r=lt(e),{title:n,detail:o}=it(s,r),[d,g]=h.useState(!1),{Account:i}=ne();return d?null:a.jsxs("div",{role:"alert","data-testid":"message-body-error-banner","data-reason":s,className:"flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-3 py-2 text-sm",children:[a.jsx(ae,{className:"size-4 shrink-0 text-danger mt-0.5","aria-hidden":"true"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-medium text-danger",children:n}),a.jsx("p",{className:"text-fg-muted mt-1 break-words",children:o})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[s==="auth"&&a.jsx(i,{children:({signOut:c})=>a.jsx("button",{type:"button",onClick:()=>c(),className:"text-sm font-medium text-accent hover:underline",children:"Sign in again"})}),t&&a.jsx("button",{type:"button",onClick:t,className:"text-sm font-medium text-accent hover:underline",children:"Retry"}),a.jsx("button",{type:"button",onClick:()=>g(!0),"aria-label":"Dismiss message body error",className:"rounded-md p-1 text-fg-muted hover:bg-surface-raised hover:text-fg transition-colors",children:a.jsx(oe,{className:"size-4","aria-hidden":"true"})})]})]})},ut=()=>a.jsxs("div",{className:"animate-pulse space-y-2",role:"status","aria-label":"Loading message body",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-11/12"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"}),a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-5/6"})]}),R=()=>a.jsx("p",{className:"text-fg-muted text-sm italic",children:"This message has no body content."}),Tt=({bodyParts:e,html:t,text:s,isTrusted:r=!1,isBlocked:n=!1,messageId:o,fromAddressId:d,category:g,className:i})=>{const[c,u]=h.useState(!1),[m,f]=h.useState(o);m!==o&&(f(o),u(!1));const p=!n&&(r||c),l=nt(),{toggleTrusted:x,isPending:w}=rt({messageId:o??""}),y=!!e&&e.length>0,{picked:z,data:v,isLoading:P,isError:K,error:F,refetch:H}=de({messageId:o,bodyParts:e,enabled:y}),G=h.useMemo(()=>he(e??[]),[e]),U=y&&v?.kind==="html"?v.body:t,W=y&&v?.kind==="text"?v.body:s;if(y){if(P)return a.jsx("div",{className:b("message-body",i),children:a.jsx(ut,{})});if(K)return a.jsx("div",{className:b("message-body",i),children:a.jsx(dt,{error:F,onRetry:()=>H()})});if(!z)return a.jsx("div",{className:b("message-body",i),children:a.jsx(R,{})})}else if(!t&&!s)return a.jsx("div",{className:b("message-body",i),children:a.jsx(R,{})});const V=!!(d&&o),Q=()=>{!d||w||(u(!0),x(d,!1))};return a.jsx(Ye,{className:i,html:U,text:W,isDark:l,category:g,allowImages:p,resolveCid:G,renderBlockedNotice:q=>a.jsx(ot,{blockedImageCount:q,canAlwaysTrust:V,isTrustPending:w,isSenderBlocked:n,onLoadOnce:()=>u(!0),onAlwaysTrust:Q})})},mt=Object.values(_).map(e=>({value:e,label:$[e]})),ft={unclassified:"uncategorized"},ht=[{name:"from",label:"Sender",values:"contact"},{name:"subject",label:"Subject",values:"text"},{name:"category",label:"Category",values:"fixed",options:mt},{name:"is",label:"State",values:"fixed",options:[{value:"unread",label:"Unread"},{value:"read",label:"Read"},{value:"starred",label:"Starred"}]},{name:"has",label:"Contents",values:"fixed",options:[{value:"attachment",label:"Has attachment"}]},{name:"in",label:"Folder",values:"mailbox"},{name:"account",label:"Account",values:"account"},{name:"after",label:"Sent on or after",values:"date"},{name:"before",label:"Sent before",values:"date"}],gt=new Map(ht.map(e=>[e.name,e])),jt=e=>gt.get(e.toLowerCase()),pt=/^\d{4}-\d{2}-\d{2}$/;function bt(e,t,s){if(!pt.test(s))return;const r=Date.parse(`${s}T00:00:00Z`);if(!Number.isNaN(r))return{type:e,raw:t,value:s,epochSeconds:Math.floor(r/1e3)}}function yt(e){const t=e.toLowerCase(),s=ft[t];return s||Object.values(_).find(n=>n===t)}function xt(e,t){switch(t.toLowerCase()){case"unread":return{type:"isUnread",raw:e};case"read":return{type:"isRead",raw:e};case"starred":case"flagged":return{type:"isStarred",raw:e};default:return}}function wt(e,t){const s=Ze(e);if(!s||s.value.length===0)return;const{name:r,value:n}=s;switch(r){case"from":return{type:"from",raw:e,value:n};case"subject":return{type:"subject",raw:e,value:n};case"category":{const o=yt(n);return o?{type:"category",raw:e,value:n,category:o}:void 0}case"is":return xt(e,n);case"has":return n.toLowerCase()==="attachment"?{type:"hasAttachment",raw:e}:void 0;case"before":case"after":return bt(r,e,n);case"in":{const o=t.mailboxesByName?.get(n.toLowerCase());return o?{type:"in",raw:e,value:n,mailboxId:o}:void 0}case"account":{const o=t.accountsByName?.get(n.toLowerCase());return o?{type:"account",raw:e,value:n,accountId:o}:void 0}default:return}}function Lt(e,t={}){const s=[],r=[];for(const n of M(e)){const o=wt(n.raw,t);o?s.push(o):r.push(n.raw)}return{freeText:r.join(" "),tokens:s}}function Rt(e,t){return M(e).filter(s=>s.raw!==t.raw).map(s=>s.raw).join(" ")}function _t(e){switch(e.type){case"from":return`From: ${e.value}`;case"subject":return`Subject: ${e.value}`;case"category":return`Category: ${$[e.category]}`;case"hasAttachment":return"Has attachment";case"isUnread":return"Unread";case"isRead":return"Read";case"isStarred":return"Starred";case"before":return`Before ${e.value}`;case"after":return`After ${e.value}`;case"in":return`In: ${e.value}`;case"account":return`Account: ${e.value}`}}function $t(){const{mailboxNameIndex:e,accountNameIndex:t}=ie(),s=ce();return{...ue(s)?{}:{mailboxesByName:e},accountsByName:t}}export{Et as M,Nt as R,ht as S,Ye as a,rt as b,Tt as c,jt as d,M as e,Ze as f,Ct as g,Lt as p,Rt as r,_t as s,$t as u};
@@ -1 +0,0 @@
1
- import{h as T,at as L,i as k,E as I,F as E,cC as A,ef as R,r as v,dr as j,j as p,eg as h,eh as w,ei as D,C as _,ck as N,c as Q,dM as z,c$ as O}from"./index-B230G2r4.js";import{P}from"./attachment-file-DMI4tQxC.js";import{aj as U}from"./MailListHeader-B0XVUF_V.js";import{a as q}from"./useLabels-bJXFYYxJ.js";import{n as B}from"./search-query-Cr_ZXBCp.js";import{b as F}from"./search-scope-B5-OK3Cq.js";import{u as G,p as H}from"./useSearchTokenContext-3DKMEjYF.js";const ne=e=>{const t=new Set;for(const s of e)s&&t.add(s);return t.size>1?{accountId:void 0,restriction:"spansAccounts",moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"}:{accountId:t.size===1?[...t][0]:void 0,restriction:void 0,moveDisabledHint:void 0}},$=e=>{const{mailboxId:t,messages:s}=e,n=T(),{pushError:l}=L(),{mutateAsync:c,isPending:a}=k({...R(),onError:(r,u)=>{l({title:u.body.action==="Remove"?"Couldn't remove label":"Couldn't apply label",detail:A(r),error:r})},onSettled:(r,u,d)=>{I(n,E(U(d.body.messageIds??[],s??[],t)))}});return{applyLabel:v.useCallback((r,u,d)=>{r.length!==0&&j(r,m=>c({body:{messageIds:m,labelId:u,action:d}}))},[c]),isPending:a}};function re({accountId:e,mailboxId:t,messageIds:s}){const{labels:n}=q(e),{applyLabel:l}=$({mailboxId:t}),c=v.useMemo(()=>n.map(a=>({key:a.labelId,label:a.name,icon:p.jsx("span",{className:`size-2.5 rounded-full ${w(a.color)?h[a.color]:h.Default}`}),onSelect:()=>l(s,a.labelId,"Apply")})),[n,s,l]);return c.length===0?null:p.jsx(P,{triggerLabel:"Apply label to selected messages",triggerIcon:p.jsx(D,{className:"size-4 text-fg-subtle"}),triggerText:"Apply label",items:c,align:"start",nested:!0,touch:!1,triggerClassName:"min-h-11 w-full justify-start gap-3 px-4 py-2.5 text-sm font-normal text-fg"})}const K=3,ie=({hasSearchQuery:e,freeText:t,residualTokenCount:s})=>{if(!e||s>0)return!1;const n=t.trim();return n.length===0||n.length>=K},ce=e=>e===void 0?{kind:"unknown"}:{kind:"exact",value:e},V=20,Y=new Set(Object.values(O)),J=e=>e!==void 0&&Y.has(e)?e:void 0,W=e=>{if(e.some(t=>t.type==="isUnread"))return!1;if(e.some(t=>t.type==="isRead"))return!0};function le({mailboxId:e,filterCategory:t}={}){const{searchQuery:s}=_(),n=G(),l=N(),c=B(s),{freeText:a,tokens:i}=H(c,n),r=a.length>0,u=i.find(o=>o.type==="category"),d=J(t)??u?.category,m=i.some(o=>o.type==="hasAttachment")?!0:void 0,f=i.some(o=>o.type==="isStarred")?!0:void 0,y=W(i),g=i.find(o=>o.type==="after"),b=i.find(o=>o.type==="before"),x=i.find(o=>o.type==="in"),S=F({browsed:l,callerMailboxId:e,inTokenMailboxId:x?.mailboxId}),{data:C,isLoading:M}=Q({...z({query:{query:a,mailboxId:S,limit:V,...d!==void 0?{category:d}:{},...m!==void 0?{hasAttachment:m}:{},...f!==void 0?{hasStars:f}:{},...y!==void 0?{isRead:y}:{},...g?{sentDateFrom:g.epochSeconds}:{},...b?{sentDateTo:b.epochSeconds}:{}}}),enabled:r,staleTime:6e4});return{hits:C?.items??[],isLoading:r&&M}}export{re as L,ne as r,ie as s,ce as t,le as u};