@remit/web-client-dist 0.0.602 → 0.0.604

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 (153) hide show
  1. package/assets/{BriefPane-t0EO91sV.js → BriefPane-CYm_AEG4.js} +1 -1
  2. package/assets/{CalendarComposePane-Bfv_vOeX.js → CalendarComposePane-B23vvL8I.js} +1 -1
  3. package/assets/{CalendarComposeSeed-ZTEDOXHF.js → CalendarComposeSeed-B5WkofBy.js} +1 -1
  4. package/assets/{CalendarShell-D02LC6Tf.js → CalendarShell-CQqBgd9B.js} +1 -1
  5. package/assets/{EmptyState-DkgCK4Wp.js → EmptyState-B9pkVhU5.js} +1 -1
  6. package/assets/{ErrorState-GkgMnN3x.js → ErrorState-BiEmk4z3.js} +1 -1
  7. package/assets/{FlaggedPane-BR601E-Z.js → FlaggedPane-Cp7RDXy9.js} +1 -1
  8. package/assets/{FullCompose-Dv6q6-jX.js → FullCompose-afKeyiWi.js} +1 -1
  9. package/assets/{MailListHeader-BZ3PXB6W.js → MailListHeader-6Iecj4Fq.js} +2 -2
  10. package/assets/MailNav--9SdZscR.js +1 -0
  11. package/assets/{MailShell-8eD6wa4a.js → MailShell-C9GMDI8n.js} +1 -1
  12. package/assets/{MailViewChrome-1QOtBYvo.js → MailViewChrome-34tzhRe2.js} +1 -1
  13. package/assets/{MailboxPane-CavS0LWG.js → MailboxPane-Baks-0HI.js} +1 -1
  14. package/assets/{NavMenuButton-CMmV0Qb9.js → NavMenuButton-CjFmU84b.js} +1 -1
  15. package/assets/{OnboardingWizard-DZ9go-QO.js → OnboardingWizard-MHcsIno_.js} +1 -1
  16. package/assets/{OpenCalendarEvent-BNxMWBMa.js → OpenCalendarEvent-Cx6uKajs.js} +1 -1
  17. package/assets/{OutboxPane-JWvdTVow.js → OutboxPane-Fp-9sbCP.js} +1 -1
  18. package/assets/_calendarObjectId-BhMCiQ2P.js +1 -0
  19. package/assets/_mailboxId-DAZrVwFN.js +1 -0
  20. package/assets/_messageId-BCFNyReS.js +1 -0
  21. package/assets/_messageId-BDnysqvL.js +1 -0
  22. package/assets/_messageId-D_oLfL3X.js +1 -0
  23. package/assets/_outboxMessageId-BccSjdOY.js +1 -0
  24. package/assets/_recurrenceId-c8zrElZC.js +1 -0
  25. package/assets/_threadId-B3ZvCxGp.js +1 -0
  26. package/assets/_threadId-CJk0N6qV.js +1 -0
  27. package/assets/_threadId-Da_FxHdv.js +1 -0
  28. package/assets/_view._date-Dggzu-4H.js +1 -0
  29. package/assets/{accounts-gnXSDMff.js → accounts-QfJFQQGs.js} +1 -1
  30. package/assets/{advanced-CwOqbWks.js → advanced-D5TmAyjq.js} +1 -1
  31. package/assets/{appearance-CO8ZlUsf.js → appearance-B8HBbATx.js} +1 -1
  32. package/assets/{attachment-file-CMKD6t7v.js → attachment-file-CH02b4Io.js} +1 -1
  33. package/assets/{attendee-row-CI09yAOz.js → attendee-row-BB_mx6i5.js} +1 -1
  34. package/assets/{avatar-Bqa5NnO-.js → avatar-tyv2luI2.js} +1 -1
  35. package/assets/bell-off-BpZGaEGA.js +1 -0
  36. package/assets/{bottom-sheet-DNuOuroV.js → bottom-sheet-BiWaqNWS.js} +1 -1
  37. package/assets/brief-Ch0ttGY1.js +1 -0
  38. package/assets/{brief-CU46HJfL.js → brief-D1m_7-4H.js} +1 -1
  39. package/assets/{browser-ponyfill-ByMBxAzG.js → browser-ponyfill-rmPZIgLP.js} +1 -1
  40. package/assets/{bug-khWlm5TF.js → bug-ecZVkIdj.js} +1 -1
  41. package/assets/calendar-CmcOkJ5E.js +1 -0
  42. package/assets/{calendar-color-BXg6iHq_.js → calendar-color-2KYWPrC3.js} +1 -1
  43. package/assets/{calendar-event-chip-CcsqSJUN.js → calendar-event-chip-CfieyzH_.js} +1 -1
  44. package/assets/{calendars-C4pJbsW-.js → calendars-MOrIPgRm.js} +1 -1
  45. package/assets/{card-C_OhmQqw.js → card-3TPo74F9.js} +1 -1
  46. package/assets/chevron-left-Cl0MkAt1.js +1 -0
  47. package/assets/{circle-check-3iZEfca_.js → circle-check-BaWkfvRI.js} +1 -1
  48. package/assets/{circle-check-big-en3g1grN.js → circle-check-big-C6CHpdFE.js} +1 -1
  49. package/assets/{circle-help-O1zDhzuD.js → circle-help-DTv0wtfG.js} +1 -1
  50. package/assets/{clock-BMYb_CC3.js → clock-yL6vGbYH.js} +1 -1
  51. package/assets/compose._-_outboxMessageId_-C2CsHFWF.js +1 -0
  52. package/assets/compose._-_outboxMessageId_-C6eGZTWX.js +1 -0
  53. package/assets/compose._-_outboxMessageId_-CrPpto3k.js +1 -0
  54. package/assets/compose._-_outboxMessageId_-kaVD5IgD.js +1 -0
  55. package/assets/{config-import-D4MXknhN.js → config-import-O6ftUwFi.js} +1 -1
  56. package/assets/{confirm-dialog-BZagPyIQ.js → confirm-dialog-Da8x865r.js} +1 -1
  57. package/assets/{copy-bKXKY1zl.js → copy-CoDomZMo.js} +1 -1
  58. package/assets/{credential-steps-CI326AY-.js → credential-steps-BN6xEa42.js} +1 -1
  59. package/assets/{download-CSBgmvt3.js → download-Bpxx9DAB.js} +1 -1
  60. package/assets/{file-json-BSx5568H.js → file-json-Brz_3JtS.js} +1 -1
  61. package/assets/{filters-D9GaxxoK.js → filters-BMBy1KxA.js} +1 -1
  62. package/assets/{flagged-leCOSAYc.js → flagged-BOVpShMV.js} +1 -1
  63. package/assets/flagged-rnkhCbWD.js +1 -0
  64. package/assets/{folders-C1hh_ljP.js → folders-BZKOeZol.js} +1 -1
  65. package/assets/{help-copy-B3sD9WJy.js → help-copy-ConBnJdF.js} +1 -1
  66. package/assets/{import-BO0gjADH.js → import-BWLNUdhH.js} +1 -1
  67. package/assets/index--P6-65Al.js +1 -0
  68. package/assets/index-BCFNyReS.js +1 -0
  69. package/assets/index-BMR7jL4x.js +1 -0
  70. package/assets/{index-BSGRGDZa.js → index-BWtUtQvO.js} +4 -4
  71. package/assets/index-Bt9qWikf.js +1 -0
  72. package/assets/index-C8lYQOg_.js +1 -0
  73. package/assets/{index-g6Ysn83c.js → index-CSwUr62M.js} +4 -4
  74. package/assets/index-DOcIGPJO.js +1 -0
  75. package/assets/index-DbtactQm.js +1 -0
  76. package/assets/index-DjsfwWXb.js +1 -0
  77. package/assets/index-NtZnL4Jv.js +1 -0
  78. package/assets/{index-BnFfIWJb.js → index-c8xgqqE2.js} +1 -1
  79. package/assets/{kbd-9Cu7VU56.js → kbd-C-T8vSQy.js} +1 -1
  80. package/assets/{labels-Dwty8unR.js → labels-Cne-BKFZ.js} +1 -1
  81. package/assets/{mail-BA_NKVwS.js → mail-39eDF9ju.js} +1 -1
  82. package/assets/mail-DhXIIGky.js +1 -0
  83. package/assets/{map-pin-B2UY4lGr.js → map-pin-T36_HD7-.js} +1 -1
  84. package/assets/{menu-BdJaKtZ2.js → menu-Dr6JciW-.js} +1 -1
  85. package/assets/{new-CchC-xEV.js → new-CI5GD9SG.js} +1 -1
  86. package/assets/{onboarding-completion-DMKkihlz.js → onboarding-completion-9MX_ZjCG.js} +1 -1
  87. package/assets/onboarding-de2uZDBF.js +1 -0
  88. package/assets/outbox-DxqUPAjF.js +1 -0
  89. package/assets/{pencil-IhKU49nk.js → pencil-DPL0ZPdo.js} +1 -1
  90. package/assets/{refresh-cw-jcYn-rcX.js → refresh-cw-DSNcdEbR.js} +1 -1
  91. package/assets/{rich-text-Bm39uhDY.js → rich-text-P4vz8Anf.js} +1 -1
  92. package/assets/{rich-text-spellcheck-worker-provider-DdP5vrY0.js → rich-text-spellcheck-worker-provider-BRM8RYhs.js} +1 -1
  93. package/assets/{rotate-ccw-BI_m6m8p.js → rotate-ccw-BGn_uDhL.js} +1 -1
  94. package/assets/{roving-focus-DNlde3CG.js → roving-focus-ZtlrBVPR.js} +1 -1
  95. package/assets/{row-actions-LFbQpxc-.js → row-actions-B9MuKZEk.js} +1 -1
  96. package/assets/{search-mirror-ChuiTEcO.js → search-mirror-CXWoBjSS.js} +1 -1
  97. package/assets/{search-token-index-CeWCvnzE.js → search-token-index-hFGbNR0D.js} +1 -1
  98. package/assets/{sections-CrqtLp8d.js → sections-hjwhYmx4.js} +1 -1
  99. package/assets/{senders-BTs3jV-6.js → senders-JX6TPMh-.js} +1 -1
  100. package/assets/settings-VA_nIIGF.js +1 -0
  101. package/assets/{settings-screen-BCmmxlGb.js → settings-screen-DizzF65C.js} +1 -1
  102. package/assets/{shield-check-Cag1BlzT.js → shield-check-C7ZYuFhj.js} +1 -1
  103. package/assets/{suggested-vips-6TbCAwuT.js → suggested-vips-De0h02OD.js} +1 -1
  104. package/assets/{useCalendarData-DbNfuESG.js → useCalendarData-DXxjZv94.js} +1 -1
  105. package/assets/{useCalendars-CwcxjEXe.js → useCalendars-D8rfnd6B.js} +1 -1
  106. package/assets/{useDebouncedValue-BBnNHoN_.js → useDebouncedValue-Cbtvs2J7.js} +1 -1
  107. package/assets/{useFilters-BCMsg-qz.js → useFilters-CuCzzhR6.js} +1 -1
  108. package/assets/{useLabels-DmYxpu0-.js → useLabels-DSMnNCm7.js} +1 -1
  109. package/assets/useLayoutTier-DcK1MT3Q.js +1 -0
  110. package/assets/{useMessageBodyContent-Zu7uJcxj.js → useMessageBodyContent-BosolkAC.js} +1 -1
  111. package/assets/{useQueries-YhhqTY2e.js → useQueries-CghNtHCD.js} +1 -1
  112. package/assets/{useRefreshControl-CvkvCP1v.js → useRefreshControl-2rhopdTL.js} +1 -1
  113. package/assets/{useResultFolderIndex-DNqFGMI-.js → useResultFolderIndex-D87KwwJs.js} +1 -1
  114. package/assets/{useSearchTokenContext-DpXTBfWn.js → useSearchTokenContext-BiyVZvqa.js} +1 -1
  115. package/assets/{useSemanticSearch-Cy4kDW--.js → useSemanticSearch-ta2mFIph.js} +1 -1
  116. package/assets/{useSignature-BxZIXZMO.js → useSignature-CFeNHmnv.js} +1 -1
  117. package/assets/{window-8yDNCThJ.js → window-lwa3VWUz.js} +1 -1
  118. package/index.html +1 -1
  119. package/package.json +1 -1
  120. package/assets/MailNav-B4mg7qGW.js +0 -1
  121. package/assets/_calendarObjectId-CG3Mqjvh.js +0 -1
  122. package/assets/_mailboxId-C802NBmf.js +0 -1
  123. package/assets/_messageId--nKdXBOI.js +0 -1
  124. package/assets/_messageId-CdEE1EGJ.js +0 -1
  125. package/assets/_messageId-VWgVT_br.js +0 -1
  126. package/assets/_outboxMessageId-Bec3V1y6.js +0 -1
  127. package/assets/_recurrenceId-FbX4KMVd.js +0 -1
  128. package/assets/_threadId-7nuXFRsy.js +0 -1
  129. package/assets/_threadId-ByaPOTJY.js +0 -1
  130. package/assets/_threadId-Dv9_uws3.js +0 -1
  131. package/assets/_view._date-DH7agEH5.js +0 -1
  132. package/assets/brief-DaF4gu_4.js +0 -1
  133. package/assets/calendar-D3NUvPtw.js +0 -1
  134. package/assets/chevron-left-CmP0y0Gi.js +0 -1
  135. package/assets/compose._-_outboxMessageId_-BitaITQo.js +0 -1
  136. package/assets/compose._-_outboxMessageId_-CbHr1CKC.js +0 -1
  137. package/assets/compose._-_outboxMessageId_-DNSeMFid.js +0 -1
  138. package/assets/compose._-_outboxMessageId_-Mj3uiEyH.js +0 -1
  139. package/assets/flagged-DP6I9yjI.js +0 -1
  140. package/assets/index-BHjH6f0z.js +0 -1
  141. package/assets/index-BYbII-pi.js +0 -1
  142. package/assets/index-BcLTNXbj.js +0 -1
  143. package/assets/index-CUinr3rP.js +0 -1
  144. package/assets/index-CdEE1EGJ.js +0 -1
  145. package/assets/index-CfFAdJ9k.js +0 -1
  146. package/assets/index-DWdY3rJg.js +0 -1
  147. package/assets/index-DZavyFf6.js +0 -1
  148. package/assets/index-VWgVT_br.js +0 -1
  149. package/assets/mail-C5cxaAqn.js +0 -1
  150. package/assets/onboarding-BDawmbvE.js +0 -1
  151. package/assets/outbox-lcZTJpkk.js +0 -1
  152. package/assets/settings-Dq_oj-Eh.js +0 -1
  153. package/assets/useLayoutTier-DK2y5Cq_.js +0 -1
@@ -1 +1 @@
1
- import{r as p,i as b,eo as x,c as C,ep as I,dW as F,eq as D,h as y,er as N,es as P,et as L,eu as z}from"./index-g6Ysn83c.js";const B=(e,t)=>{if(e.state==="Expired")return"Expired";if(e.scope!=="Temporary"||!e.expiresAt)return"Active";const r=Date.parse(e.expiresAt);return Number.isNaN(r)?"Active":r<=t?"Expired":"Active"},K=e=>{if(!e)return;const t=Date.parse(e);if(!Number.isNaN(t))return new Date(t).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})},M=(e,t=new Date)=>{if(!e)return;const r=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!r)return;const[,a,i,n]=r,s=new Date(Number(a),Number(i)-1,Number(n),23,59,59,0);if(Number.isNaN(s.getTime()))return;const o=-t.getTimezoneOffset(),d=o>=0?"+":"-",l=Math.abs(o),c=String(Math.floor(l/60)).padStart(2,"0"),f=String(l%60).padStart(2,"0"),u=m=>String(m).padStart(2,"0");return`${s.getFullYear()}-${u(s.getMonth()+1)}-${u(s.getDate())}T${u(s.getHours())}:${u(s.getMinutes())}:${u(s.getSeconds())}${d}${c}:${f}`},h="None",V=e=>!e.literalClauses.some(t=>t.field==="HasWords"),O=e=>({...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??h,actionMailboxId:e.moveMailboxId??h}),G=({mode:e,ruleScope:t})=>t==="standing"?"standing":t==="until"?"temporary":e==="selected"?"just-these":"all-like-these",X=({mode:e,ruleScope:t,anchorMessageId:r,clauses:a,matchOperator:i,moveMailboxId:n,until:s})=>({...e==="similar"&&r?{anchorMessageId:r}:{},matchOperator:i==="all"?"And":"Or",literalClauses:a.map(o=>({field:o.field,value:o.value})),moveMailboxId:n,expiresAt:t==="until"?M(s??""):void 0}),S=(e,t,r)=>({name:r,scope:t==="standing"?"Standing":"Temporary",...t==="temporary"&&e.expiresAt?{expiresAt:e.expiresAt}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??h,actionMailboxId:e.moveMailboxId??h,...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{}}),T=new Set(["Complete","Failed"]),v=e=>e!==void 0&&T.has(e),w=1e3,J=15e3,_=e=>{const t=Math.max(0,e),r=w*2**t;return Math.min(r,J)},$=(e,t,r)=>{if(e)return{kind:r?"restartFailed":"startFailed",error:e};if(t)return{kind:"statusUnreadable",error:t}},Y=e=>{const[t,r]=p.useState(),a=b({...x(),onSuccess:g=>r(g.organizeJobId)}),{mutate:i}=a,n=C({...I({path:{accountId:e??"",organizeJobId:t??""}}),enabled:!!e&&!!t,refetchInterval:g=>{const E=g.state.data?.state;return v(E)?!1:_(g.state.dataUpdateCount)}}),s=p.useCallback(g=>{e&&i({path:{accountId:e},body:O(g)})},[e,i]),{refetch:o}=n,d=p.useCallback(()=>{o()},[o]),l=n.data,c=a.isPending?void 0:l,f=c?.state??a.data?.state,u=v(c?.state),m={state:f,matchedCount:c?.matchedCount??0,appliedCount:c?.appliedCount??0,failedCount:c?.failedCount??0,errorMessage:c?.errorMessage??""};return{start:s,refreshStatus:d,progress:m,isStarting:a.isPending,isRunning:!!t&&!u,isDone:u,failure:$(a.error,n.error,!!l)}},Z=["From","Subject","HasWords","ListId","FromDomain"],k=e=>{const t=e.trim(),r=t.match(/<([^>]+)>/);return(r?r[1]:t).trim().toLowerCase()},ee=(e,t)=>e==="ListId"?k(t):t.trim(),R=e=>e==="all"?"And":"Or",U=(e,t)=>{const r=e.widen!==void 0&&!e.widen.inactive,a=e.clauses.map(i=>({field:i.field,value:i.value}));return{...r&&t?{anchorMessageId:t}:{},matchOperator:R(e.matchOperator),literalClauses:a}},q=e=>e.anchorMessageId!==void 0||!e.literalClauses.some(t=>t.field==="HasWords"),Q=e=>JSON.stringify({anchor:e.anchorMessageId??null,operator:e.matchOperator,clauses:e.literalClauses.map(t=>`${t.field} ${t.value}`)}),te=(e,t)=>{const r=U(e,t);return{...r.anchorMessageId?{anchorMessageId:r.anchorMessageId}:{},matchOperator:r.matchOperator,literalClauses:r.literalClauses,moveMailboxId:e.moveMailboxId,labelId:e.labelId,expiresAt:e.scope==="until"?M(e.until??""):void 0}},W=(e,t)=>{if(e.error!==void 0&&e.errorSignature===t)return{status:"error",reason:e.error};if(e.count===void 0)return{status:"loading"};const r=e.indexEmpty===!0?{indexEmpty:!0}:{};return e.previewedSignature===t?{status:"ready",count:e.count,...r}:{status:"ready",count:e.count,stale:!0,...r}},j=350,re=(e,t,r)=>{const a=b(F()),{mutateAsync:i}=a,n=Q(t),[s,o]=p.useState(()=>({})),d=p.useRef(t);d.current=t;const l=p.useRef(n),c=q(t);return p.useEffect(()=>{if(!e||!c||n===s.previewedSignature||n===s.errorSignature)return;const f=setTimeout(()=>{const u=n;l.current=u,i({path:{accountId:e},body:O({...d.current})}).then(m=>{l.current===u&&o({count:m.matchedCount,matchedIds:m.messageIds,indexEmpty:m.semanticIndexEmpty===!0,previewedSignature:u})}).catch(m=>{l.current===u&&o(g=>({...g,error:m instanceof Error?m.message:"Couldn't count matches.",errorSignature:u}))})},j);return()=>clearTimeout(f)},[e,c,n,s.previewedSignature,s.errorSignature,i]),c?{count:W(s,n),matchedIds:s.previewedSignature===n?s.matchedIds??[]:[]}:{count:{status:"error",reason:D},matchedIds:[]}},A=e=>P({path:{accountId:e}}),se=e=>{const t=C({...L({path:{accountId:e??""}}),enabled:!!e});return{filters:t.data?.items??[],isPending:t.isPending,isError:t.isError,error:t.error,refetch:t.refetch}},ae=e=>{const t=y(),r=b({...N(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:A(e)})}}),{mutate:a,mutateAsync:i}=r,n=p.useCallback((o,d,l)=>{e&&a({path:{accountId:e},body:S(o,d,l)})},[e,a]),s=p.useCallback(async(o,d,l)=>e?i({path:{accountId:e},body:S(o,d,l)}).then(()=>!0,()=>!1):!1,[e,i]);return{createFilter:n,createFilterAsync:s,isPending:r.isPending,isSuccess:r.isSuccess,isError:r.isError,error:r.error,reset:r.reset}},ne=e=>{const t=y(),r=b({...z(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:A(e)})}}),{mutate:a}=r;return{deleteFilter:p.useCallback(n=>{e&&a({path:{accountId:e,filterId:n}})},[e,a]),isPending:r.isPending,deletingFilterId:r.isPending?r.variables?.path.filterId:void 0}};export{h as N,Z as S,Y as a,A as b,te as c,K as d,se as e,B as f,ne as g,O as h,ae as i,X as j,V as k,ee as n,G as o,M as p,U as r,re as u};
1
+ import{r as p,i as b,eo as x,c as C,ep as I,dW as F,eq as D,h as y,er as N,es as P,et as L,eu as z}from"./index-CSwUr62M.js";const B=(e,t)=>{if(e.state==="Expired")return"Expired";if(e.scope!=="Temporary"||!e.expiresAt)return"Active";const r=Date.parse(e.expiresAt);return Number.isNaN(r)?"Active":r<=t?"Expired":"Active"},K=e=>{if(!e)return;const t=Date.parse(e);if(!Number.isNaN(t))return new Date(t).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})},M=(e,t=new Date)=>{if(!e)return;const r=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!r)return;const[,a,i,n]=r,s=new Date(Number(a),Number(i)-1,Number(n),23,59,59,0);if(Number.isNaN(s.getTime()))return;const o=-t.getTimezoneOffset(),d=o>=0?"+":"-",l=Math.abs(o),c=String(Math.floor(l/60)).padStart(2,"0"),f=String(l%60).padStart(2,"0"),u=m=>String(m).padStart(2,"0");return`${s.getFullYear()}-${u(s.getMonth()+1)}-${u(s.getDate())}T${u(s.getHours())}:${u(s.getMinutes())}:${u(s.getSeconds())}${d}${c}:${f}`},h="None",V=e=>!e.literalClauses.some(t=>t.field==="HasWords"),O=e=>({...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??h,actionMailboxId:e.moveMailboxId??h}),G=({mode:e,ruleScope:t})=>t==="standing"?"standing":t==="until"?"temporary":e==="selected"?"just-these":"all-like-these",X=({mode:e,ruleScope:t,anchorMessageId:r,clauses:a,matchOperator:i,moveMailboxId:n,until:s})=>({...e==="similar"&&r?{anchorMessageId:r}:{},matchOperator:i==="all"?"And":"Or",literalClauses:a.map(o=>({field:o.field,value:o.value})),moveMailboxId:n,expiresAt:t==="until"?M(s??""):void 0}),S=(e,t,r)=>({name:r,scope:t==="standing"?"Standing":"Temporary",...t==="temporary"&&e.expiresAt?{expiresAt:e.expiresAt}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??h,actionMailboxId:e.moveMailboxId??h,...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{}}),T=new Set(["Complete","Failed"]),v=e=>e!==void 0&&T.has(e),w=1e3,J=15e3,_=e=>{const t=Math.max(0,e),r=w*2**t;return Math.min(r,J)},$=(e,t,r)=>{if(e)return{kind:r?"restartFailed":"startFailed",error:e};if(t)return{kind:"statusUnreadable",error:t}},Y=e=>{const[t,r]=p.useState(),a=b({...x(),onSuccess:g=>r(g.organizeJobId)}),{mutate:i}=a,n=C({...I({path:{accountId:e??"",organizeJobId:t??""}}),enabled:!!e&&!!t,refetchInterval:g=>{const E=g.state.data?.state;return v(E)?!1:_(g.state.dataUpdateCount)}}),s=p.useCallback(g=>{e&&i({path:{accountId:e},body:O(g)})},[e,i]),{refetch:o}=n,d=p.useCallback(()=>{o()},[o]),l=n.data,c=a.isPending?void 0:l,f=c?.state??a.data?.state,u=v(c?.state),m={state:f,matchedCount:c?.matchedCount??0,appliedCount:c?.appliedCount??0,failedCount:c?.failedCount??0,errorMessage:c?.errorMessage??""};return{start:s,refreshStatus:d,progress:m,isStarting:a.isPending,isRunning:!!t&&!u,isDone:u,failure:$(a.error,n.error,!!l)}},Z=["From","Subject","HasWords","ListId","FromDomain"],k=e=>{const t=e.trim(),r=t.match(/<([^>]+)>/);return(r?r[1]:t).trim().toLowerCase()},ee=(e,t)=>e==="ListId"?k(t):t.trim(),R=e=>e==="all"?"And":"Or",U=(e,t)=>{const r=e.widen!==void 0&&!e.widen.inactive,a=e.clauses.map(i=>({field:i.field,value:i.value}));return{...r&&t?{anchorMessageId:t}:{},matchOperator:R(e.matchOperator),literalClauses:a}},q=e=>e.anchorMessageId!==void 0||!e.literalClauses.some(t=>t.field==="HasWords"),Q=e=>JSON.stringify({anchor:e.anchorMessageId??null,operator:e.matchOperator,clauses:e.literalClauses.map(t=>`${t.field} ${t.value}`)}),te=(e,t)=>{const r=U(e,t);return{...r.anchorMessageId?{anchorMessageId:r.anchorMessageId}:{},matchOperator:r.matchOperator,literalClauses:r.literalClauses,moveMailboxId:e.moveMailboxId,labelId:e.labelId,expiresAt:e.scope==="until"?M(e.until??""):void 0}},W=(e,t)=>{if(e.error!==void 0&&e.errorSignature===t)return{status:"error",reason:e.error};if(e.count===void 0)return{status:"loading"};const r=e.indexEmpty===!0?{indexEmpty:!0}:{};return e.previewedSignature===t?{status:"ready",count:e.count,...r}:{status:"ready",count:e.count,stale:!0,...r}},j=350,re=(e,t,r)=>{const a=b(F()),{mutateAsync:i}=a,n=Q(t),[s,o]=p.useState(()=>({})),d=p.useRef(t);d.current=t;const l=p.useRef(n),c=q(t);return p.useEffect(()=>{if(!e||!c||n===s.previewedSignature||n===s.errorSignature)return;const f=setTimeout(()=>{const u=n;l.current=u,i({path:{accountId:e},body:O({...d.current})}).then(m=>{l.current===u&&o({count:m.matchedCount,matchedIds:m.messageIds,indexEmpty:m.semanticIndexEmpty===!0,previewedSignature:u})}).catch(m=>{l.current===u&&o(g=>({...g,error:m instanceof Error?m.message:"Couldn't count matches.",errorSignature:u}))})},j);return()=>clearTimeout(f)},[e,c,n,s.previewedSignature,s.errorSignature,i]),c?{count:W(s,n),matchedIds:s.previewedSignature===n?s.matchedIds??[]:[]}:{count:{status:"error",reason:D},matchedIds:[]}},A=e=>P({path:{accountId:e}}),se=e=>{const t=C({...L({path:{accountId:e??""}}),enabled:!!e});return{filters:t.data?.items??[],isPending:t.isPending,isError:t.isError,error:t.error,refetch:t.refetch}},ae=e=>{const t=y(),r=b({...N(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:A(e)})}}),{mutate:a,mutateAsync:i}=r,n=p.useCallback((o,d,l)=>{e&&a({path:{accountId:e},body:S(o,d,l)})},[e,a]),s=p.useCallback(async(o,d,l)=>e?i({path:{accountId:e},body:S(o,d,l)}).then(()=>!0,()=>!1):!1,[e,i]);return{createFilter:n,createFilterAsync:s,isPending:r.isPending,isSuccess:r.isSuccess,isError:r.isError,error:r.error,reset:r.reset}},ne=e=>{const t=y(),r=b({...z(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:A(e)})}}),{mutate:a}=r;return{deleteFilter:p.useCallback(n=>{e&&a({path:{accountId:e,filterId:n}})},[e,a]),isPending:r.isPending,deletingFilterId:r.isPending?r.variables?.path.filterId:void 0}};export{h as N,Z as S,Y as a,A as b,te as c,K as d,se as e,B as f,ne as g,O as h,ae as i,X as j,V as k,ee as n,G as o,M as p,U as r,re as u};
@@ -1 +1 @@
1
- import{c as L,ej as p,h as n,i as l,ek as d,r as o,el as y,em as c,en as g}from"./index-g6Ysn83c.js";const u=e=>y({path:{accountId:e}}),P=e=>{const r=L({...p({path:{accountId:e??""}}),enabled:!!e});return{labels:r.data?.items??[],isPending:r.isPending,isError:r.isError,error:r.error,refetch:r.refetch}},f=e=>{const r=n(),t=l({...d(),onSuccess:()=>{e&&r.invalidateQueries({queryKey:u(e)})}}),{mutateAsync:s}=t;return{createLabel:o.useCallback((a,i="Default")=>e?s({path:{accountId:e},body:{name:a,color:i}}):Promise.reject(new Error("No account")),[e,s]),isPending:t.isPending,isError:t.isError,error:t.error,reset:t.reset}},h=e=>{const r=n(),t=l({...c(),onSuccess:()=>{e&&r.invalidateQueries({queryKey:u(e)})}}),{mutate:s}=t;return{updateLabel:o.useCallback((a,i)=>{e&&s({path:{accountId:e,labelId:a},body:i})},[e,s]),isPending:t.isPending,updatingLabelId:t.isPending?t.variables?.path.labelId:void 0}},C=e=>{const r=n(),t=l({...g(),onSuccess:()=>{e&&r.invalidateQueries({queryKey:u(e)})}}),{mutate:s}=t;return{deleteLabel:o.useCallback(a=>{e&&s({path:{accountId:e,labelId:a}})},[e,s]),isPending:t.isPending,deletingLabelId:t.isPending?t.variables?.path.labelId:void 0}};export{P as a,h as b,C as c,f as u};
1
+ import{c as L,ej as p,h as n,i as l,ek as d,r as o,el as y,em as c,en as g}from"./index-CSwUr62M.js";const u=e=>y({path:{accountId:e}}),P=e=>{const r=L({...p({path:{accountId:e??""}}),enabled:!!e});return{labels:r.data?.items??[],isPending:r.isPending,isError:r.isError,error:r.error,refetch:r.refetch}},f=e=>{const r=n(),t=l({...d(),onSuccess:()=>{e&&r.invalidateQueries({queryKey:u(e)})}}),{mutateAsync:s}=t;return{createLabel:o.useCallback((a,i="Default")=>e?s({path:{accountId:e},body:{name:a,color:i}}):Promise.reject(new Error("No account")),[e,s]),isPending:t.isPending,isError:t.isError,error:t.error,reset:t.reset}},h=e=>{const r=n(),t=l({...c(),onSuccess:()=>{e&&r.invalidateQueries({queryKey:u(e)})}}),{mutate:s}=t;return{updateLabel:o.useCallback((a,i)=>{e&&s({path:{accountId:e,labelId:a},body:i})},[e,s]),isPending:t.isPending,updatingLabelId:t.isPending?t.variables?.path.labelId:void 0}},C=e=>{const r=n(),t=l({...g(),onSuccess:()=>{e&&r.invalidateQueries({queryKey:u(e)})}}),{mutate:s}=t;return{deleteLabel:o.useCallback(a=>{e&&s({path:{accountId:e,labelId:a}})},[e,s]),isPending:t.isPending,deletingLabelId:t.isPending?t.variables?.path.labelId:void 0}};export{P as a,h as b,C as c,f as u};
@@ -0,0 +1 @@
1
+ import{bZ as s,b_ as e}from"./index-CSwUr62M.js";const i=768,r=t=>t!=="desktop",a=()=>{const t=s(`(min-width: ${i}px)`);return s(e)?"desktop":t?"tablet":"phone"};export{r as i,a as u};
@@ -1 +1 @@
1
- import{r as c,u as S,cj as O,ck as B,a9 as h,cl as N,q as P,ab as U,h as $,c as D,cG as F,cH as v}from"./index-g6Ysn83c.js";const R="/mail/brief/compose/{-$outboxMessageId}",w="/mail/flagged/compose/{-$outboxMessageId}",E="/mail/outbox/compose/{-$outboxMessageId}",k="/mail/$mailboxId/compose/{-$outboxMessageId}";function T(){const e=h({from:R,shouldThrow:!1}),t=h({from:w,shouldThrow:!1}),r=h({from:E,shouldThrow:!1}),s=h({from:k,shouldThrow:!1});return e??t??r??s}function z(){return T()!==void 0}function Y(){return T()?.outboxMessageId}function L(e,t,r){return e==="flagged"?{to:w,params:{outboxMessageId:r}}:e==="outbox"?{to:E,params:{outboxMessageId:r}}:e==="mailbox"&&t?{to:k,params:{mailboxId:t,outboxMessageId:r}}:{to:R,params:{outboxMessageId:r}}}function g(){const e=S(),t=O(),{list:r,mailboxId:s}=B();return c.useCallback((n,o)=>{e({...L(r,s,n),search:a=>a,hash:o?.keepPanels?!0:t,replace:o?.replace??!1})},[e,t,r,s])}function J(){const e=g();return c.useCallback(()=>e(void 0),[e])}function V(){const e=g();return c.useCallback(t=>e(t),[e])}function Z(){const e=g();return c.useCallback(t=>e(t,{replace:!0,keepPanels:!0}),[e])}function ee(){return N()}const _=e=>{const t=e.filter(n=>!n.isMultipart&&n.disposition!=="attachment"&&n.mediaType==="TEXT"&&n.contentUrl.length>0),r=t.find(n=>n.mediaSubtype.toUpperCase()==="HTML");if(r)return{kind:"html",contentUrl:r.contentUrl};const s=t.find(n=>n.mediaSubtype.toUpperCase()==="PLAIN");return s?{kind:"text",contentUrl:s.contentUrl}:null},b={all:["messages"],detail:e=>[...b.all,"detail",e],body:e=>[...b.detail(e),"body"]};class f extends Error{reason;status;retryAfterSeconds;constructor(t,r,s,n){super(r),this.name="BodyFetchError",this.reason=t,this.status=s,this.retryAfterSeconds=n}}const q=e=>{const t=Number.parseInt(e??"",10);return!Number.isFinite(t)||t<=0?1:Math.min(t,30)},K=8,Q="x-remit-403-reason",I=(e,t)=>{const r=t?.trim()??"";return e===401?"auth":e===403?r.length>0?"auth":"body-missing":e===404?"body-missing":"generic"},X=(e,t)=>(t??"").toLowerCase().startsWith("text/html")?/<div\s+id=["']root["']/i.test(e):!1,G=(e,t)=>{const r=(t??"").toLowerCase();return!!(e==="text"&&r.startsWith("text/html"))},H=async(e,t,r=async()=>null)=>{const s={},n=await r();n&&(s.Authorization=`Bearer ${n}`);const o=await v(e,{headers:s});if(o.status===202)throw new f("not-ready","Message body is still syncing",202,q(o.headers.get("Retry-After")));if(!o.ok){const l=o.headers.get(Q),y=I(o.status,l);throw new f(y,`Failed to load message body (${o.status} ${o.statusText})`,o.status)}const a=o.headers.get("content-type");if(G(t,a))throw new f("content-type-mismatch",`Refusing to render message body — expected ${t}, got Content-Type ${a}`);const m=await o.text();if(X(m,a))throw new f("spa-shell-leak","Refusing to render message body — response looks like the SPA shell (CloudFront 403/404 fallback leaked through to /content/*)");return m},W=async(e,t)=>(t.isRetryAfterNotReady&&await e.refetchDescribeMessage(),e.fetchContent(t.contentUrl,t.kind)),te=({messageId:e,bodyParts:t,enabled:r=!0})=>{const s=t?_(t):null,n=P(),{getToken:o}=U(),a=c.useRef(null),m=$(),l=c.useRef(!1),y=c.useRef(null),C=e&&s?`${e}:${s.contentUrl}`:null;y.current!==C&&(y.current=C,l.current=!1);const i=D({queryKey:e?[...b.body(e),s?.contentUrl??null]:["messages","body","noop"],queryFn:()=>{if(!s)throw new Error("No renderable body part");if(!e)throw new Error("No messageId");const d=l.current;return l.current=!1,W({fetchContent:(u,M)=>H(u,M,o),refetchDescribeMessage:()=>m.refetchQueries({queryKey:F({path:{messageId:e}})})},{contentUrl:s.contentUrl,kind:s.kind,isRetryAfterNotReady:d})},enabled:r&&!!e&&!!s,staleTime:300*1e3,gcTime:1800*1e3,retry:(d,u)=>u instanceof f&&u.reason==="not-ready"?d<K:d<1,retryDelay:(d,u)=>u instanceof f&&u.reason==="not-ready"?(l.current=!0,(u.retryAfterSeconds??1)*1e3):1e3,meta:{softError:!0}}),p=i.isLoading&&!!s,x=t!==void 0&&s===null;c.useEffect(()=>{p&&(a.current=performance.now())},[p]),c.useEffect(()=>{i.isSuccess&&a.current!==null&&(n.recordTiming("message.body.load",Math.round(performance.now()-a.current)),a.current=null)},[i.isSuccess,n]);const A=i.data&&s?{kind:s.kind,body:i.data}:void 0;return{picked:s,data:A,isLoading:p,hasNoRenderablePart:x,isError:i.isError,error:i.error,refetch:i.refetch}};export{f as B,z as a,te as b,Y as c,Z as d,ee as e,V as f,I as g,J as u};
1
+ import{r as c,u as S,cj as O,ck as B,a9 as h,cl as N,q as P,ab as U,h as $,c as D,cG as F,cH as v}from"./index-CSwUr62M.js";const R="/mail/brief/compose/{-$outboxMessageId}",w="/mail/flagged/compose/{-$outboxMessageId}",E="/mail/outbox/compose/{-$outboxMessageId}",k="/mail/$mailboxId/compose/{-$outboxMessageId}";function T(){const e=h({from:R,shouldThrow:!1}),t=h({from:w,shouldThrow:!1}),r=h({from:E,shouldThrow:!1}),s=h({from:k,shouldThrow:!1});return e??t??r??s}function z(){return T()!==void 0}function Y(){return T()?.outboxMessageId}function L(e,t,r){return e==="flagged"?{to:w,params:{outboxMessageId:r}}:e==="outbox"?{to:E,params:{outboxMessageId:r}}:e==="mailbox"&&t?{to:k,params:{mailboxId:t,outboxMessageId:r}}:{to:R,params:{outboxMessageId:r}}}function g(){const e=S(),t=O(),{list:r,mailboxId:s}=B();return c.useCallback((n,o)=>{e({...L(r,s,n),search:a=>a,hash:o?.keepPanels?!0:t,replace:o?.replace??!1})},[e,t,r,s])}function J(){const e=g();return c.useCallback(()=>e(void 0),[e])}function V(){const e=g();return c.useCallback(t=>e(t),[e])}function Z(){const e=g();return c.useCallback(t=>e(t,{replace:!0,keepPanels:!0}),[e])}function ee(){return N()}const _=e=>{const t=e.filter(n=>!n.isMultipart&&n.disposition!=="attachment"&&n.mediaType==="TEXT"&&n.contentUrl.length>0),r=t.find(n=>n.mediaSubtype.toUpperCase()==="HTML");if(r)return{kind:"html",contentUrl:r.contentUrl};const s=t.find(n=>n.mediaSubtype.toUpperCase()==="PLAIN");return s?{kind:"text",contentUrl:s.contentUrl}:null},b={all:["messages"],detail:e=>[...b.all,"detail",e],body:e=>[...b.detail(e),"body"]};class f extends Error{reason;status;retryAfterSeconds;constructor(t,r,s,n){super(r),this.name="BodyFetchError",this.reason=t,this.status=s,this.retryAfterSeconds=n}}const q=e=>{const t=Number.parseInt(e??"",10);return!Number.isFinite(t)||t<=0?1:Math.min(t,30)},K=8,Q="x-remit-403-reason",I=(e,t)=>{const r=t?.trim()??"";return e===401?"auth":e===403?r.length>0?"auth":"body-missing":e===404?"body-missing":"generic"},X=(e,t)=>(t??"").toLowerCase().startsWith("text/html")?/<div\s+id=["']root["']/i.test(e):!1,G=(e,t)=>{const r=(t??"").toLowerCase();return!!(e==="text"&&r.startsWith("text/html"))},H=async(e,t,r=async()=>null)=>{const s={},n=await r();n&&(s.Authorization=`Bearer ${n}`);const o=await v(e,{headers:s});if(o.status===202)throw new f("not-ready","Message body is still syncing",202,q(o.headers.get("Retry-After")));if(!o.ok){const l=o.headers.get(Q),y=I(o.status,l);throw new f(y,`Failed to load message body (${o.status} ${o.statusText})`,o.status)}const a=o.headers.get("content-type");if(G(t,a))throw new f("content-type-mismatch",`Refusing to render message body — expected ${t}, got Content-Type ${a}`);const m=await o.text();if(X(m,a))throw new f("spa-shell-leak","Refusing to render message body — response looks like the SPA shell (CloudFront 403/404 fallback leaked through to /content/*)");return m},W=async(e,t)=>(t.isRetryAfterNotReady&&await e.refetchDescribeMessage(),e.fetchContent(t.contentUrl,t.kind)),te=({messageId:e,bodyParts:t,enabled:r=!0})=>{const s=t?_(t):null,n=P(),{getToken:o}=U(),a=c.useRef(null),m=$(),l=c.useRef(!1),y=c.useRef(null),C=e&&s?`${e}:${s.contentUrl}`:null;y.current!==C&&(y.current=C,l.current=!1);const i=D({queryKey:e?[...b.body(e),s?.contentUrl??null]:["messages","body","noop"],queryFn:()=>{if(!s)throw new Error("No renderable body part");if(!e)throw new Error("No messageId");const d=l.current;return l.current=!1,W({fetchContent:(u,M)=>H(u,M,o),refetchDescribeMessage:()=>m.refetchQueries({queryKey:F({path:{messageId:e}})})},{contentUrl:s.contentUrl,kind:s.kind,isRetryAfterNotReady:d})},enabled:r&&!!e&&!!s,staleTime:300*1e3,gcTime:1800*1e3,retry:(d,u)=>u instanceof f&&u.reason==="not-ready"?d<K:d<1,retryDelay:(d,u)=>u instanceof f&&u.reason==="not-ready"?(l.current=!0,(u.retryAfterSeconds??1)*1e3):1e3,meta:{softError:!0}}),p=i.isLoading&&!!s,x=t!==void 0&&s===null;c.useEffect(()=>{p&&(a.current=performance.now())},[p]),c.useEffect(()=>{i.isSuccess&&a.current!==null&&(n.recordTiming("message.body.load",Math.round(performance.now()-a.current)),a.current=null)},[i.isSuccess,n]);const A=i.data&&s?{kind:s.kind,body:i.data}:void 0;return{picked:s,data:A,isLoading:p,hasNoRenderablePart:x,isError:i.isError,error:i.error,refetch:i.refetch}};export{f as B,z as a,te as b,Y as c,Z as d,ee as e,V as f,I as g,J as u};
@@ -1 +1 @@
1
- import{b$ as Q,c0 as y,c1 as S,c2 as w,c3 as C,h as k,c4 as q,c5 as x,r as p,c6 as M,c7 as H,c8 as L,c9 as P,ca as O,cb as B,cc as A}from"./index-g6Ysn83c.js";function R(r,e){const s=new Set(e);return r.filter(t=>!s.has(t))}function T(r,e,s){const t=r.slice(0);return t[e]=s,t}var z=class extends Q{#i;#e;#n;#r;#s;#t;#o;#u;#h;#c=[];constructor(r,e,s){super(),this.#i=r,this.#r=s,this.#n=[],this.#s=[],this.#e=[],this.setQueries(e)}onSubscribe(){this.listeners.size===1&&this.#s.forEach(r=>{r.subscribe(e=>{this.#d(r,e)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#s.forEach(r=>{r.destroy()})}setQueries(r,e){this.#n=r,this.#r=e,y.batch(()=>{const s=this.#s,t=this.#f(this.#n);t.forEach(o=>o.observer.setOptions(o.defaultedQueryOptions));const i=t.map(o=>o.observer),n=i.map(o=>o.getCurrentResult()),u=s.length!==i.length,a=i.some((o,d)=>o!==s[d]),f=u||a,b=f?!0:n.some((o,d)=>{const g=this.#e[d];return!g||!S(o,g)});!f&&!b||(f&&(this.#c=t,this.#s=i),this.#e=n,this.hasListeners()&&(f&&(R(s,i).forEach(o=>{o.destroy()}),R(i,s).forEach(o=>{o.subscribe(d=>{this.#d(o,d)})})),this.#p()))})}getCurrentResult(){return this.#e}getQueries(){return this.#s.map(r=>r.getCurrentQuery())}getObservers(){return this.#s}getOptimisticResult(r,e){const s=this.#f(r),t=s.map(n=>n.observer.getOptimisticResult(n.defaultedQueryOptions)),i=s.map(n=>n.defaultedQueryOptions.queryHash);return[t,n=>this.#l(n??t,e,i),()=>this.#a(t,s)]}#a(r,e){return e.map((s,t)=>{const i=r[t];return s.defaultedQueryOptions.notifyOnChangeProps?i:s.observer.trackResult(i,n=>{e.forEach(u=>{u.observer.trackProp(n)})})})}#l(r,e,s){if(e){const t=this.#h,i=s!==void 0&&t!==void 0&&(t.length!==s.length||s.some((n,u)=>n!==t[u]));return(!this.#t||this.#e!==this.#u||i||e!==this.#o)&&(this.#o=e,this.#u=this.#e,s!==void 0&&(this.#h=s),this.#t=w(this.#t,e(r))),this.#t}return r}#b(){return this.#r?.combine!==void 0&&this.#s.some((r,e)=>r.options.suspense&&this.#e[e]?.data===void 0)}#f(r){const e=new Map;this.#s.forEach(t=>{const i=t.options.queryHash;if(!i)return;const n=e.get(i);n?n.push(t):e.set(i,[t])});const s=[];return r.forEach(t=>{const i=this.#i.defaultQueryOptions(t),u=e.get(i.queryHash)?.shift()??new C(this.#i,i);s.push({defaultedQueryOptions:i,observer:u})}),s}#d(r,e){const s=this.#s.indexOf(r);s!==-1&&(this.#e=T(this.#e,s,e),this.#p())}#p(){if(this.hasListeners()){const r=this.#a(this.#e,this.#c),e=this.#b(),s=this.#t,t=e?s:this.#l(r,this.#r?.combine);(e||s!==t)&&y.batch(()=>{this.listeners.forEach(i=>{i(this.#e)})})}}};function U({queries:r,...e},s){const t=k(),i=q(),n=x(),u=p.useMemo(()=>r.map(h=>{const c=t.defaultQueryOptions(h);return c._optimisticResults=i?"isRestoring":"optimistic",c}),[r,t,i]);u.forEach(h=>{M(h);const c=t.getQueryCache().get(h.queryHash);H(h,n,c)}),L(n);const[a]=p.useState(()=>new z(t,u,e)),[f,b,o]=a.getOptimisticResult(u,e.combine),d=!i&&e.subscribed!==!1;p.useSyncExternalStore(p.useCallback(h=>d?a.subscribe(y.batchCalls(h)):P,[a,d]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),p.useEffect(()=>{a.setQueries(u,e)},[u,e,a]);const m=f.some((h,c)=>O(u[c],h))?f.flatMap((h,c)=>{const l=u[c];if(l&&O(l,h)){const E=new C(t,l);return B(l,E,n)}return[]}):[];if(m.length>0)throw Promise.all(m);const v=f.find((h,c)=>{const l=u[c];return l&&A({result:h,errorResetBoundary:n,throwOnError:l.throwOnError,query:t.getQueryCache().get(l.queryHash),suspense:l.suspense})});if(v?.error)throw v.error;return b(o())}export{U as u};
1
+ import{b$ as Q,c0 as y,c1 as S,c2 as w,c3 as C,h as k,c4 as q,c5 as x,r as p,c6 as M,c7 as H,c8 as L,c9 as P,ca as O,cb as B,cc as A}from"./index-CSwUr62M.js";function R(r,e){const s=new Set(e);return r.filter(t=>!s.has(t))}function T(r,e,s){const t=r.slice(0);return t[e]=s,t}var z=class extends Q{#i;#e;#n;#r;#s;#t;#o;#u;#h;#c=[];constructor(r,e,s){super(),this.#i=r,this.#r=s,this.#n=[],this.#s=[],this.#e=[],this.setQueries(e)}onSubscribe(){this.listeners.size===1&&this.#s.forEach(r=>{r.subscribe(e=>{this.#d(r,e)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#s.forEach(r=>{r.destroy()})}setQueries(r,e){this.#n=r,this.#r=e,y.batch(()=>{const s=this.#s,t=this.#f(this.#n);t.forEach(o=>o.observer.setOptions(o.defaultedQueryOptions));const i=t.map(o=>o.observer),n=i.map(o=>o.getCurrentResult()),u=s.length!==i.length,a=i.some((o,d)=>o!==s[d]),f=u||a,b=f?!0:n.some((o,d)=>{const g=this.#e[d];return!g||!S(o,g)});!f&&!b||(f&&(this.#c=t,this.#s=i),this.#e=n,this.hasListeners()&&(f&&(R(s,i).forEach(o=>{o.destroy()}),R(i,s).forEach(o=>{o.subscribe(d=>{this.#d(o,d)})})),this.#p()))})}getCurrentResult(){return this.#e}getQueries(){return this.#s.map(r=>r.getCurrentQuery())}getObservers(){return this.#s}getOptimisticResult(r,e){const s=this.#f(r),t=s.map(n=>n.observer.getOptimisticResult(n.defaultedQueryOptions)),i=s.map(n=>n.defaultedQueryOptions.queryHash);return[t,n=>this.#l(n??t,e,i),()=>this.#a(t,s)]}#a(r,e){return e.map((s,t)=>{const i=r[t];return s.defaultedQueryOptions.notifyOnChangeProps?i:s.observer.trackResult(i,n=>{e.forEach(u=>{u.observer.trackProp(n)})})})}#l(r,e,s){if(e){const t=this.#h,i=s!==void 0&&t!==void 0&&(t.length!==s.length||s.some((n,u)=>n!==t[u]));return(!this.#t||this.#e!==this.#u||i||e!==this.#o)&&(this.#o=e,this.#u=this.#e,s!==void 0&&(this.#h=s),this.#t=w(this.#t,e(r))),this.#t}return r}#b(){return this.#r?.combine!==void 0&&this.#s.some((r,e)=>r.options.suspense&&this.#e[e]?.data===void 0)}#f(r){const e=new Map;this.#s.forEach(t=>{const i=t.options.queryHash;if(!i)return;const n=e.get(i);n?n.push(t):e.set(i,[t])});const s=[];return r.forEach(t=>{const i=this.#i.defaultQueryOptions(t),u=e.get(i.queryHash)?.shift()??new C(this.#i,i);s.push({defaultedQueryOptions:i,observer:u})}),s}#d(r,e){const s=this.#s.indexOf(r);s!==-1&&(this.#e=T(this.#e,s,e),this.#p())}#p(){if(this.hasListeners()){const r=this.#a(this.#e,this.#c),e=this.#b(),s=this.#t,t=e?s:this.#l(r,this.#r?.combine);(e||s!==t)&&y.batch(()=>{this.listeners.forEach(i=>{i(this.#e)})})}}};function U({queries:r,...e},s){const t=k(),i=q(),n=x(),u=p.useMemo(()=>r.map(h=>{const c=t.defaultQueryOptions(h);return c._optimisticResults=i?"isRestoring":"optimistic",c}),[r,t,i]);u.forEach(h=>{M(h);const c=t.getQueryCache().get(h.queryHash);H(h,n,c)}),L(n);const[a]=p.useState(()=>new z(t,u,e)),[f,b,o]=a.getOptimisticResult(u,e.combine),d=!i&&e.subscribed!==!1;p.useSyncExternalStore(p.useCallback(h=>d?a.subscribe(y.batchCalls(h)):P,[a,d]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),p.useEffect(()=>{a.setQueries(u,e)},[u,e,a]);const m=f.some((h,c)=>O(u[c],h))?f.flatMap((h,c)=>{const l=u[c];if(l&&O(l,h)){const E=new C(t,l);return B(l,E,n)}return[]}):[];if(m.length>0)throw Promise.all(m);const v=f.find((h,c)=>{const l=u[c];return l&&A({result:h,errorResetBoundary:n,throwOnError:l.throwOnError,query:t.getQueryCache().get(l.queryHash),suspense:l.suspense})});if(v?.error)throw v.error;return b(o())}export{U as u};
@@ -1 +1 @@
1
- import{j as E,a0 as K,t as Q,f as U,r as o,aP as R,h as T,C as $,E as z,F as B,q as G,P as I,Q as X,R as V,S as J}from"./index-g6Ysn83c.js";import{C as Y}from"./circle-check-big-en3g1grN.js";import{R as Z}from"./refresh-cw-jcYn-rcX.js";import{u as N}from"./useQueries-YhhqTY2e.js";function ye({state:e,onRefresh:s,label:t,errorMessage:n,hasUpdate:a,size:u="sm",className:c}){const i=e==="refreshing",r=e==="error",h=e==="success",S=r?E.jsx(K,{className:"size-4 text-danger"}):h?E.jsx(Y,{className:"size-4 text-positive"}):E.jsx(Z,{className:Q("size-4",i&&"animate-spin")}),w=r?`${t} — failed: ${n??"try again"}`:i?`${t} — refreshing`:h?`${t} — up to date`:a?`${t} — new mail`:t;return E.jsxs("div",{className:"relative inline-flex",children:[E.jsx(U,{variant:"ghost",size:u,icon:S,onClick:s,disabled:i,"aria-label":w,"aria-busy":i||void 0,title:r?n:t,className:c}),e==="idle"&&a&&E.jsx("span",{"aria-hidden":"true",className:"absolute right-1 top-1 size-1.5 rounded-full bg-accent-2"})]})}const ee=new Set(["discovering_mailboxes","syncing_inbox","syncing_others"]);function L(e){return!!e&&ee.has(e)}const F=3e3,te=F*2,C={syncing:!1,resolved:!1,synced:0,total:0};function we(e,s){const t=e.join(","),[n,a]=o.useState(!1),[u,c]=o.useState(!1);o.useEffect(()=>{a(!1),c(!1)},[t,s]),o.useEffect(()=>{if(!s)return;const m=setTimeout(()=>c(!0),te);return()=>clearTimeout(m)},[t,s]);const i=N({queries:e.map(m=>({...R({path:{accountId:m}}),enabled:s&&!n,refetchInterval:F,meta:{softError:!0}}))}),r=i.every(m=>m.isSuccess||m.isError),h=i.length===0||r||u;let S=!1,w=0,y=0;for(const m of i)if(L(m.data?.syncPhase)){S=!0;for(const l of m.data?.mailboxes??[])w+=l.messagesSynced,y+=l.messagesTotal}const x=s&&h&&!S;return o.useEffect(()=>{x&&a(!0)},[x]),!s||!h?C:{syncing:S,resolved:!0,synced:w,total:y}}const se=180*1e3,xe=30*1e3;let q=0;const M=new Set,re=(e=Date.now())=>{q=e+se;for(const s of M)s()},pe=(e=Date.now())=>e<q,Ee=e=>(M.add(e),()=>{M.delete(e)}),_=6e4,ne=new Set(["sent","drafts","trash","archive"]),O=(e,s)=>{const t=new Map;for(const n of e){const a=s.get(n.mailboxId)?.role;a&&ne.has(a)||t.set(n.mailboxId,n.highWaterMarkUid)}return t},j=(e,s)=>{const t=[];for(const[n,a]of s)a>(e.get(n)??0)&&t.push(n);return t},oe=(e,s)=>j(e,s).length>0,D=o.createContext(null),ae=()=>{const e=o.useContext(D);if(!e)throw new Error("useMailFreshness must be used inside <MailFreshnessProvider>");return e};function be({accountIds:e,children:s}){const t=T(),{resultFolderIndex:n}=$(),a=o.useRef(new Map),u=o.useRef(new Set),c=o.useRef(new Map),[i,r]=o.useState(new Set),h=N({queries:e.map(l=>({...R({path:{accountId:l}}),refetchInterval:_,staleTime:_,meta:{softError:!0}}))}),S=h.map(l=>l.dataUpdatedAt).join(","),w=e.join(",");o.useEffect(()=>{let l=!1;const f=new Set(i);e.forEach((d,p)=>{const b=h[p]?.data;if(!b)return;const g=O(b.mailboxes??[],n),v=c.current.get(d);if(c.current.set(d,g),v){const A=j(v,g);A.length>0&&z(t,B(A))}if(!u.current.has(d)){u.current.add(d),a.current.set(d,g);return}if(f.has(d))return;const W=a.current.get(d)??new Map;oe(W,g)&&(f.add(d),l=!0)}),l&&r(f)},[w,S]);const y=o.useCallback(l=>l.some(f=>i.has(f)),[i]),x=o.useCallback(l=>{r(f=>{if(l.every(p=>!f.has(p)))return f;const d=new Set(f);for(const p of l)d.delete(p);return d});for(const f of l){const d=t.getQueryData(R({path:{accountId:f}}).queryKey);a.current.set(f,O(d?.mailboxes??[],n)),u.current.add(f)}},[t,n]),m=o.useMemo(()=>({hasNewMail:y,acknowledge:x}),[y,x]);return E.jsx(D.Provider,{value:m,children:s})}const ie=2e3,ce=45e3,ue=e=>new Promise(s=>setTimeout(s,e)),k=e=>e instanceof Error&&e.message?e.message:"Something went wrong",le=e=>{V(e,{softError:!0},"user")&&J(e)},P=(e,s)=>e.fetchQuery({...R({path:{accountId:s}}),staleTime:0}),H=e=>e.mailboxes?.find(s=>s.fullPath?.toUpperCase()==="INBOX")?.lastSyncedAt??0,fe=async({accountId:e,readStatus:s,baselineLastSyncAt:t,baselineInboxSyncedAt:n=0,onInboxSynced:a,deadline:u,pollMs:c=ie})=>{let i=!1;for(;;){const r=await s().then(y=>({ok:!0,data:y})).catch(y=>({ok:!1,error:y}));if(!r.ok)return{accountId:e,message:k(r.error)};const{syncPhase:h,lastSyncAt:S}=r.data;if((S??0)>t&&!L(h))return h==="error"?{accountId:e,message:"Sync failed for this account"}:void 0;if(!i&&H(r.data)>n&&(i=!0,a?.()),Date.now()>=u)return{accountId:e,message:"Refresh is taking longer than usual"};await ue(c)}},de=async(e,s,t,n,a)=>{const u=await P(e,t).then(r=>({ok:!0,lastSyncAt:r.lastSyncAt??0,inboxSyncedAt:H(r)})).catch(r=>({ok:!1,error:r}));if(!u.ok)return{accountId:t,enqueued:!1,ok:!1,message:k(u.error)};const c=await I({path:{accountId:t},throwOnError:!0}).then(()=>({ok:!0})).catch(r=>({ok:!1,error:r}));if(!c.ok)return le(c.error),{accountId:t,enqueued:!1,ok:!1,message:k(c.error)};s.recordEvent("sync.triggered");const i=await fe({accountId:t,readStatus:()=>P(e,t),baselineLastSyncAt:u.lastSyncAt,baselineInboxSyncedAt:u.inboxSyncedAt,onInboxSynced:()=>a(t),deadline:n});return i?{accountId:t,enqueued:!0,ok:!1,message:i.message}:{accountId:t,enqueued:!0,ok:!0}},Re=(e,s={})=>{const t=T(),n=G(),{acknowledge:a}=ae(),[u,c]=o.useState("idle"),[i,r]=o.useState(),h=o.useRef(0),S=o.useRef(e);S.current=e;const w=o.useRef(s);w.current=s,o.useEffect(()=>{if(u!=="success")return;const x=setTimeout(()=>c("idle"),2e3);return()=>clearTimeout(x)},[u]);const y=o.useCallback(()=>{const x=S.current;if(x.length===0){c("error"),r("Nothing to refresh yet");return}const m=++h.current;c("refreshing"),r(void 0),re();const l=f=>{h.current===m&&(t.invalidateQueries({queryKey:X({path:{accountId:f}})}),w.current.onSettled?.())};(async()=>{const f=Date.now()+ce,d=await Promise.all(x.map(g=>de(t,n,g,f,l)));if(h.current!==m)return;const p=d.filter(g=>g.enqueued).map(g=>g.accountId);for(const g of p)l(g);p.length>0&&a(p);const b=d.filter(g=>!g.ok);b.length===0?c("success"):(c("error"),r(b[0]?.message))})()},[a,t,n]);return{state:u,errorMessage:i,refresh:y}};export{xe as H,be as M,ye as R,Re as a,L as b,we as c,pe as i,Ee as s,ae as u};
1
+ import{j as E,a0 as K,t as Q,f as U,r as o,aP as R,h as T,C as $,E as z,F as B,q as G,P as I,Q as X,R as V,S as J}from"./index-CSwUr62M.js";import{C as Y}from"./circle-check-big-C6CHpdFE.js";import{R as Z}from"./refresh-cw-DSNcdEbR.js";import{u as N}from"./useQueries-CghNtHCD.js";function ye({state:e,onRefresh:s,label:t,errorMessage:n,hasUpdate:a,size:u="sm",className:c}){const i=e==="refreshing",r=e==="error",h=e==="success",S=r?E.jsx(K,{className:"size-4 text-danger"}):h?E.jsx(Y,{className:"size-4 text-positive"}):E.jsx(Z,{className:Q("size-4",i&&"animate-spin")}),w=r?`${t} — failed: ${n??"try again"}`:i?`${t} — refreshing`:h?`${t} — up to date`:a?`${t} — new mail`:t;return E.jsxs("div",{className:"relative inline-flex",children:[E.jsx(U,{variant:"ghost",size:u,icon:S,onClick:s,disabled:i,"aria-label":w,"aria-busy":i||void 0,title:r?n:t,className:c}),e==="idle"&&a&&E.jsx("span",{"aria-hidden":"true",className:"absolute right-1 top-1 size-1.5 rounded-full bg-accent-2"})]})}const ee=new Set(["discovering_mailboxes","syncing_inbox","syncing_others"]);function L(e){return!!e&&ee.has(e)}const F=3e3,te=F*2,C={syncing:!1,resolved:!1,synced:0,total:0};function we(e,s){const t=e.join(","),[n,a]=o.useState(!1),[u,c]=o.useState(!1);o.useEffect(()=>{a(!1),c(!1)},[t,s]),o.useEffect(()=>{if(!s)return;const m=setTimeout(()=>c(!0),te);return()=>clearTimeout(m)},[t,s]);const i=N({queries:e.map(m=>({...R({path:{accountId:m}}),enabled:s&&!n,refetchInterval:F,meta:{softError:!0}}))}),r=i.every(m=>m.isSuccess||m.isError),h=i.length===0||r||u;let S=!1,w=0,y=0;for(const m of i)if(L(m.data?.syncPhase)){S=!0;for(const l of m.data?.mailboxes??[])w+=l.messagesSynced,y+=l.messagesTotal}const x=s&&h&&!S;return o.useEffect(()=>{x&&a(!0)},[x]),!s||!h?C:{syncing:S,resolved:!0,synced:w,total:y}}const se=180*1e3,xe=30*1e3;let q=0;const M=new Set,re=(e=Date.now())=>{q=e+se;for(const s of M)s()},pe=(e=Date.now())=>e<q,Ee=e=>(M.add(e),()=>{M.delete(e)}),_=6e4,ne=new Set(["sent","drafts","trash","archive"]),O=(e,s)=>{const t=new Map;for(const n of e){const a=s.get(n.mailboxId)?.role;a&&ne.has(a)||t.set(n.mailboxId,n.highWaterMarkUid)}return t},j=(e,s)=>{const t=[];for(const[n,a]of s)a>(e.get(n)??0)&&t.push(n);return t},oe=(e,s)=>j(e,s).length>0,D=o.createContext(null),ae=()=>{const e=o.useContext(D);if(!e)throw new Error("useMailFreshness must be used inside <MailFreshnessProvider>");return e};function be({accountIds:e,children:s}){const t=T(),{resultFolderIndex:n}=$(),a=o.useRef(new Map),u=o.useRef(new Set),c=o.useRef(new Map),[i,r]=o.useState(new Set),h=N({queries:e.map(l=>({...R({path:{accountId:l}}),refetchInterval:_,staleTime:_,meta:{softError:!0}}))}),S=h.map(l=>l.dataUpdatedAt).join(","),w=e.join(",");o.useEffect(()=>{let l=!1;const f=new Set(i);e.forEach((d,p)=>{const b=h[p]?.data;if(!b)return;const g=O(b.mailboxes??[],n),v=c.current.get(d);if(c.current.set(d,g),v){const A=j(v,g);A.length>0&&z(t,B(A))}if(!u.current.has(d)){u.current.add(d),a.current.set(d,g);return}if(f.has(d))return;const W=a.current.get(d)??new Map;oe(W,g)&&(f.add(d),l=!0)}),l&&r(f)},[w,S]);const y=o.useCallback(l=>l.some(f=>i.has(f)),[i]),x=o.useCallback(l=>{r(f=>{if(l.every(p=>!f.has(p)))return f;const d=new Set(f);for(const p of l)d.delete(p);return d});for(const f of l){const d=t.getQueryData(R({path:{accountId:f}}).queryKey);a.current.set(f,O(d?.mailboxes??[],n)),u.current.add(f)}},[t,n]),m=o.useMemo(()=>({hasNewMail:y,acknowledge:x}),[y,x]);return E.jsx(D.Provider,{value:m,children:s})}const ie=2e3,ce=45e3,ue=e=>new Promise(s=>setTimeout(s,e)),k=e=>e instanceof Error&&e.message?e.message:"Something went wrong",le=e=>{V(e,{softError:!0},"user")&&J(e)},P=(e,s)=>e.fetchQuery({...R({path:{accountId:s}}),staleTime:0}),H=e=>e.mailboxes?.find(s=>s.fullPath?.toUpperCase()==="INBOX")?.lastSyncedAt??0,fe=async({accountId:e,readStatus:s,baselineLastSyncAt:t,baselineInboxSyncedAt:n=0,onInboxSynced:a,deadline:u,pollMs:c=ie})=>{let i=!1;for(;;){const r=await s().then(y=>({ok:!0,data:y})).catch(y=>({ok:!1,error:y}));if(!r.ok)return{accountId:e,message:k(r.error)};const{syncPhase:h,lastSyncAt:S}=r.data;if((S??0)>t&&!L(h))return h==="error"?{accountId:e,message:"Sync failed for this account"}:void 0;if(!i&&H(r.data)>n&&(i=!0,a?.()),Date.now()>=u)return{accountId:e,message:"Refresh is taking longer than usual"};await ue(c)}},de=async(e,s,t,n,a)=>{const u=await P(e,t).then(r=>({ok:!0,lastSyncAt:r.lastSyncAt??0,inboxSyncedAt:H(r)})).catch(r=>({ok:!1,error:r}));if(!u.ok)return{accountId:t,enqueued:!1,ok:!1,message:k(u.error)};const c=await I({path:{accountId:t},throwOnError:!0}).then(()=>({ok:!0})).catch(r=>({ok:!1,error:r}));if(!c.ok)return le(c.error),{accountId:t,enqueued:!1,ok:!1,message:k(c.error)};s.recordEvent("sync.triggered");const i=await fe({accountId:t,readStatus:()=>P(e,t),baselineLastSyncAt:u.lastSyncAt,baselineInboxSyncedAt:u.inboxSyncedAt,onInboxSynced:()=>a(t),deadline:n});return i?{accountId:t,enqueued:!0,ok:!1,message:i.message}:{accountId:t,enqueued:!0,ok:!0}},Re=(e,s={})=>{const t=T(),n=G(),{acknowledge:a}=ae(),[u,c]=o.useState("idle"),[i,r]=o.useState(),h=o.useRef(0),S=o.useRef(e);S.current=e;const w=o.useRef(s);w.current=s,o.useEffect(()=>{if(u!=="success")return;const x=setTimeout(()=>c("idle"),2e3);return()=>clearTimeout(x)},[u]);const y=o.useCallback(()=>{const x=S.current;if(x.length===0){c("error"),r("Nothing to refresh yet");return}const m=++h.current;c("refreshing"),r(void 0),re();const l=f=>{h.current===m&&(t.invalidateQueries({queryKey:X({path:{accountId:f}})}),w.current.onSettled?.())};(async()=>{const f=Date.now()+ce,d=await Promise.all(x.map(g=>de(t,n,g,f,l)));if(h.current!==m)return;const p=d.filter(g=>g.enqueued).map(g=>g.accountId);for(const g of p)l(g);p.length>0&&a(p);const b=d.filter(g=>!g.ok);b.length===0?c("success"):(c("error"),r(b[0]?.message))})()},[a,t,n]);return{state:u,errorMessage:i,refresh:y}};export{xe as H,be as M,ye as R,Re as a,L as b,we as c,pe as i,Ee as s,ae as u};
@@ -1 +1 @@
1
- import{K as r,r as s,b5 as t}from"./index-g6Ysn83c.js";import{u as m}from"./useQueries-YhhqTY2e.js";const a=i=>({items:i.map(e=>e.data?.items??[]),isPending:i.some(e=>e.isPending),error:i.find(e=>e.error)?.error??null});function u(i){const e=m({queries:i.map(o=>({...r({path:{accountId:o.accountId}}),staleTime:1/0})),combine:a});return{index:s.useMemo(()=>t(i.map((o,n)=>({folderAppointments:o.folderAppointments,mailboxes:e.items[n]??[]}))),[i,e]),isPending:e.isPending,error:e.error}}export{u};
1
+ import{K as r,r as s,b5 as t}from"./index-CSwUr62M.js";import{u as m}from"./useQueries-CghNtHCD.js";const a=i=>({items:i.map(e=>e.data?.items??[]),isPending:i.some(e=>e.isPending),error:i.find(e=>e.error)?.error??null});function u(i){const e=m({queries:i.map(o=>({...r({path:{accountId:o.accountId}}),staleTime:1/0})),combine:a});return{index:s.useMemo(()=>t(i.map((o,n)=>({folderAppointments:o.folderAppointments,mailboxes:e.items[n]??[]}))),[i,e]),isPending:e.isPending,error:e.error}}export{u};
@@ -1,4 +1,4 @@
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-g6Ysn83c.js";import{K as A}from"./kbd-9Cu7VU56.js";import{B as le,b as de}from"./useMessageBodyContent-Zu7uJcxj.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=()=>`
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-CSwUr62M.js";import{K as A}from"./kbd-C-T8vSQy.js";import{B as le,b as de}from"./useMessageBodyContent-BosolkAC.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
2
  /* Zero the UA default body margin and clamp the document to the iframe width so
3
3
  wide author markup can't push the body (and the page) past the viewport. */
4
4
  html, body {
@@ -1 +1 @@
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-g6Ysn83c.js";import{P}from"./attachment-file-CMKD6t7v.js";import{aj as U}from"./MailListHeader-BZ3PXB6W.js";import{a as q}from"./useLabels-DmYxpu0-.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-DpXTBfWn.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};
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-CSwUr62M.js";import{P}from"./attachment-file-CH02b4Io.js";import{aj as U}from"./MailListHeader-6Iecj4Fq.js";import{a as q}from"./useLabels-DSMnNCm7.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-BiyVZvqa.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};
@@ -1 +1 @@
1
- import{h as g,at as p,c as f,d as m,r,i as y,av as T,o as E,l as d}from"./index-g6Ysn83c.js";const i={html:"",plainText:""},x=e=>{const u=g(),{pushError:o}=p(),{data:n}=f({...m(),staleTime:1/0}),l=r.useMemo(()=>{if(!e||!n)return i;const t=n.accounts.find(a=>a.accountId===e);return t?{html:t.signatureHtml??"",plainText:t.signaturePlainText??""}:i},[e,n]),s=y({...d(),onSuccess:()=>{u.invalidateQueries({queryKey:E()})},onError:t=>{o(T("Couldn't save signature","The signature wasn't saved.",t))}}),c=r.useCallback((t,a)=>{e&&s.mutate({path:{accountId:e},body:{signatureHtml:t,signaturePlainText:a}})},[e,s]);return{signature:l,setSignature:c,isSaving:s.isPending}};export{x as u};
1
+ import{h as g,at as p,c as f,d as m,r,i as y,av as T,o as E,l as d}from"./index-CSwUr62M.js";const i={html:"",plainText:""},x=e=>{const u=g(),{pushError:o}=p(),{data:n}=f({...m(),staleTime:1/0}),l=r.useMemo(()=>{if(!e||!n)return i;const t=n.accounts.find(a=>a.accountId===e);return t?{html:t.signatureHtml??"",plainText:t.signaturePlainText??""}:i},[e,n]),s=y({...d(),onSuccess:()=>{u.invalidateQueries({queryKey:E()})},onError:t=>{o(T("Couldn't save signature","The signature wasn't saved.",t))}}),c=r.useCallback((t,a)=>{e&&s.mutate({path:{accountId:e},body:{signatureHtml:t,signaturePlainText:a}})},[e,s]);return{signature:l,setSignature:c,isSaving:s.isPending}};export{x as u};
@@ -1 +1 @@
1
- import{a9 as m,eE as I,r as p,eF as E,bV as S,u as x,cj as L,eD as A}from"./index-g6Ysn83c.js";const h=480,f=1320,M=90;function $(t){return Number(t.slice(11,13))*60+Number(t.slice(14,16))}function X(t){const e=Math.max(0,Math.min(1440,Math.round(t)));return`${String(Math.floor(e/60)).padStart(2,"0")}:${String(e%60).padStart(2,"0")}`}function Z(t){const e=Math.round(t);if(e<60)return`${e}m`;const n=Math.floor(e/60),a=e%60;return a===0?`${n}h`:`${n}h ${a}m`}function v(t,e){const n=new Date(`${t}T00:00:00Z`);return n.setUTCDate(n.getUTCDate()+e),n.toISOString().slice(0,10)}function tt(t,e){return Math.round((Date.parse(`${e}T00:00:00Z`)-Date.parse(`${t}T00:00:00Z`))/864e5)}function et(t){const e=t.start.slice(0,10),n=t.end.slice(0,10);if(!t.allDay)return n;const a=v(n,-1);return a<e?e:a}function nt(t,e){const n=[];for(let a=t;a<=e;a=v(a,1))n.push(a);return n}function at(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{month:"long",year:"numeric"})}function rt(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short"})}function ot(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"long"})}function st(t,e){const[n,a,o]=t.split("-").map(Number),[r,s,c]=e.split("-").map(Number),i=new Date(n,a-1,o),u=new Date(r,s-1,c),D=i.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",...a===s?{}:{month:"short"}}),U=u.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short"});return`${D} – ${U}`}function j(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"short"})}function l(t){return new Date(t).getTime()}function B(t,e){return t.allDay?e>=t.start.slice(0,10)&&e<t.end.slice(0,10):t.start.slice(0,10)===e}function R(t,e){return l(t.start)<l(e.end)&&l(e.start)<l(t.end)}function z(t){const e=t.map(r=>[l(r.start),l(r.end)]).sort((r,s)=>r[0]-s[0]);let n=0,a=0,o=0;for(const[r,s]of e){if(r>o){n+=o-a,a=r,o=s;continue}o=Math.max(o,s)}return n+=o-a,Math.round(n/6e4)}function F(t){const e=[];for(const n of t){const a=t.filter(r=>r.id===n.id||R(n,r)).map(r=>r.id).sort();if(a.length<2)continue;const o=a.join("|");e.some(r=>r.join("|")===o)||e.push(a)}return e.filter(n=>!e.some(a=>a!==n&&n.every(o=>a.includes(o))))}function ct(t,e,n){const a=e.filter(r=>B(r,t)),o=a.filter(r=>!r.allDay).sort((r,s)=>l(r.start)-l(s.start));return{date:t,weekdayLabel:j(t),dayNumber:Number(t.slice(8)),isToday:t===n,timed:o,allDay:a.filter(r=>r.allDay),busyMinutes:z(o),conflicts:F(o)}}function _(t){return t.timed.length===0&&t.allDay.length===0}function G(t){return O(t.timed.map(e=>({from:$(e.start),to:$(e.end)})))}function O(t){const e=[...t].sort((a,o)=>a.from-o.from),n=[];for(const a of e){const o=n[n.length-1];if(o&&a.from<=o.to){o.to=Math.max(o.to,a.to);continue}n.push({...a})}return n}function T(t){return Math.min(Math.max(t,h),f)}function P(t,e,n=M){const a=O(e);if(a.length===0)return[{date:t,startMinute:h,endMinute:f,minutes:f-h,wholeDay:!0}];const o=[];let r=h;for(const s of a){const c=T(s.from),i=T(s.to);c-r>=n&&o.push({date:t,startMinute:r,endMinute:c,minutes:c-r,wholeDay:!1}),r=Math.max(r,c,i)}return f-r>=n&&o.push({date:t,startMinute:r,endMinute:f,minutes:f-r,wholeDay:!1}),o}function Y(t,e=M){return P(t.date,G(t),e)}function ut(t,e){const n=[];let a=[];const o=()=>{a.length!==0&&(a.length===1?n.push({kind:"day",key:a[0].date,day:a[0]}):n.push({kind:"run",key:`run_${a[0].date}`,from:a[0].date,to:a[a.length-1].date,days:a.length}),a=[])};for(const r of t){if(_(r)&&!e.includes(r.date)){a.push(r);continue}o(),n.push({kind:"day",key:r.date,day:r})}return o(),n}function it(t){const e=[];for(const n of t){const a=e[e.length-1],o=a?Math.max(...a.map(r=>Date.parse(r.end))):0;if(a&&Date.parse(n.start)<o){a.push(n);continue}e.push([n])}return e}function lt(t,e){const n=Date.parse(e),a=e.slice(0,10),o=t.flatMap(u=>u.timed).sort((u,D)=>Date.parse(u.start)-Date.parse(D.start)),r=o.filter(u=>Date.parse(u.start)<=n&&Date.parse(u.end)>n),s=o.filter(u=>Date.parse(u.start)>n),c=s[0],i=r.filter(u=>u.start.slice(0,10)===a).length+s.filter(u=>u.start.slice(0,10)===a).length;return{running:r,next:c,minutesUntilNext:c?Math.round((Date.parse(c.start)-n)/6e4):0,after:s[1],restOfDay:i,free:W(t,e,1)[0]}}function W(t,e,n){const a=e.slice(0,10),o=$(e),r=[];for(const s of t)if(!(s.date<a))for(const c of Y(s)){if(s.date>a)r.push(c);else{const i=Math.max(c.startMinute,o);if(c.endMinute-i<M)continue;r.push({...c,startMinute:i,minutes:c.endMinute-i,wholeDay:c.wholeDay&&i===c.startMinute})}if(r.length===n)return r}return r}const y="/calendar/$view/$date";function V(){const t=m({from:y,shouldThrow:!1}),e=I({from:y,shouldThrow:!1}),n=t?.view??"",a=t?.date??"",o=e?.calendarId;return p.useMemo(()=>({...E({view:n,date:a},S(new Date)),calendarIds:o??[]}),[n,a,o])}function ft(){const t=m({from:"/calendar/$view/$date/$calendarObjectId",shouldThrow:!1}),e=m({from:"/calendar/$view/$date/$calendarObjectId/$recurrenceId",shouldThrow:!1}),n=t?.calendarObjectId,a=e?.recurrenceId;return p.useMemo(()=>n?{calendarObjectId:n,recurrenceId:a}:void 0,[n,a])}function dt(){return m({from:"/calendar/$view/$date/new",shouldThrow:!1})!==void 0}function ht(){const t=x(),e=L(),{view:n,date:a}=V(),o=p.useCallback(r=>{t({to:y,params:r,search:!0,hash:e})},[t,e]);return p.useMemo(()=>({goToView:r=>o({view:r,date:a}),step:r=>o({view:n,date:A(a,n,r)}),goToToday:()=>o({view:n,date:S(new Date)}),setAnchorDate:r=>t({to:y,params:{view:n,date:r},search:!0,hash:e,replace:!0}),zoomToDay:r=>o({view:"day",date:r}),openEvent:(r,s)=>t(s===void 0||s===""?{to:"/calendar/$view/$date/$calendarObjectId",params:{view:n,date:a,calendarObjectId:r},search:!0,hash:e}:{to:"/calendar/$view/$date/$calendarObjectId/$recurrenceId",params:{view:n,date:a,calendarObjectId:r,recurrenceId:s},search:!0,hash:e}),closeEvent:()=>o({view:n,date:a}),openComposer:()=>t({to:"/calendar/$view/$date/new",params:{view:n,date:a},search:!0,hash:e})}),[o,t,e,n,a])}const d=t=>String(t).padStart(2,"0"),q=t=>`${t.getUTCFullYear()}-${d(t.getUTCMonth()+1)}-${d(t.getUTCDate())}`,k=t=>{const e=t<0?"-":"+",n=Math.abs(t);return`${e}${d(Math.floor(n/60))}:${d(n%60)}`};function C(t,e){const n=new Date(`${t}T${e}:00`);return`${t}T${e}:00${k(-n.getTimezoneOffset())}`}const g=new Map;function H(t){if(g.has(t))return g.get(t);let e;try{e=new Intl.DateTimeFormat("en-US",{timeZone:t,hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{e=void 0}return g.set(t,e),e}function b(t,e){const n=H(t);if(!n)return Number.NaN;const a=n.formatToParts(new Date(e)),o=c=>Number(a.find(i=>i.type===c)?.value),r=o("hour")%24;return(Date.UTC(o("year"),o("month")-1,o("day"),r,o("minute"),o("second"))-e)/6e4}function mt(t,e,n){if(n==="")return`${t}T${e}:00+00:00`;const a=Date.parse(`${t}T${e}:00Z`),o=b(n,a);if(Number.isNaN(o))return C(t,e);const r=b(n,a-o*6e4);return`${t}T${e}:00${k(Number.isNaN(r)?o:r)}`}const N=t=>C(t,"00:00");function w(t,e){const[n,a,o]=t.split("-").map(Number);return q(new Date(Date.UTC(n,a-1,o+e)))}function J(t){const[e,n,a]=t.split("-").map(Number),o=new Date(Date.UTC(e,n-1,a));return w(t,-((o.getUTCDay()+6)%7))}function K(t,e){const[n,a]=e.split("-").map(Number);if(t==="year")return[`${n}-01-01`,`${n+1}-01-01`];if(t==="month"){const r=`${n}-${d(a)}-01`,s=a===12?`${n+1}-01-01`:`${n}-${d(a+1)}-01`;return[r,s]}if(t==="day")return[e,w(e,1)];const o=J(e);return[o,w(o,7)]}function pt(t,e){const[n,a]=K(t,e);return{from:N(n),to:N(a)}}export{et as A,h as D,st as a,ut as b,$ as c,X as d,G as e,Y as f,it as g,f as h,Z as i,v as j,rt as k,w as l,at as m,nt as n,pt as o,P as p,O as q,lt as r,ht as s,ft as t,V as u,ct as v,ot as w,dt as x,tt as y,mt as z};
1
+ import{a9 as m,eE as I,r as p,eF as E,bV as S,u as x,cj as L,eD as A}from"./index-CSwUr62M.js";const h=480,f=1320,M=90;function $(t){return Number(t.slice(11,13))*60+Number(t.slice(14,16))}function X(t){const e=Math.max(0,Math.min(1440,Math.round(t)));return`${String(Math.floor(e/60)).padStart(2,"0")}:${String(e%60).padStart(2,"0")}`}function Z(t){const e=Math.round(t);if(e<60)return`${e}m`;const n=Math.floor(e/60),a=e%60;return a===0?`${n}h`:`${n}h ${a}m`}function v(t,e){const n=new Date(`${t}T00:00:00Z`);return n.setUTCDate(n.getUTCDate()+e),n.toISOString().slice(0,10)}function tt(t,e){return Math.round((Date.parse(`${e}T00:00:00Z`)-Date.parse(`${t}T00:00:00Z`))/864e5)}function et(t){const e=t.start.slice(0,10),n=t.end.slice(0,10);if(!t.allDay)return n;const a=v(n,-1);return a<e?e:a}function nt(t,e){const n=[];for(let a=t;a<=e;a=v(a,1))n.push(a);return n}function at(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{month:"long",year:"numeric"})}function rt(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short"})}function ot(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"long"})}function st(t,e){const[n,a,o]=t.split("-").map(Number),[r,s,c]=e.split("-").map(Number),i=new Date(n,a-1,o),u=new Date(r,s-1,c),D=i.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",...a===s?{}:{month:"short"}}),U=u.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short"});return`${D} – ${U}`}function j(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"short"})}function l(t){return new Date(t).getTime()}function B(t,e){return t.allDay?e>=t.start.slice(0,10)&&e<t.end.slice(0,10):t.start.slice(0,10)===e}function R(t,e){return l(t.start)<l(e.end)&&l(e.start)<l(t.end)}function z(t){const e=t.map(r=>[l(r.start),l(r.end)]).sort((r,s)=>r[0]-s[0]);let n=0,a=0,o=0;for(const[r,s]of e){if(r>o){n+=o-a,a=r,o=s;continue}o=Math.max(o,s)}return n+=o-a,Math.round(n/6e4)}function F(t){const e=[];for(const n of t){const a=t.filter(r=>r.id===n.id||R(n,r)).map(r=>r.id).sort();if(a.length<2)continue;const o=a.join("|");e.some(r=>r.join("|")===o)||e.push(a)}return e.filter(n=>!e.some(a=>a!==n&&n.every(o=>a.includes(o))))}function ct(t,e,n){const a=e.filter(r=>B(r,t)),o=a.filter(r=>!r.allDay).sort((r,s)=>l(r.start)-l(s.start));return{date:t,weekdayLabel:j(t),dayNumber:Number(t.slice(8)),isToday:t===n,timed:o,allDay:a.filter(r=>r.allDay),busyMinutes:z(o),conflicts:F(o)}}function _(t){return t.timed.length===0&&t.allDay.length===0}function G(t){return O(t.timed.map(e=>({from:$(e.start),to:$(e.end)})))}function O(t){const e=[...t].sort((a,o)=>a.from-o.from),n=[];for(const a of e){const o=n[n.length-1];if(o&&a.from<=o.to){o.to=Math.max(o.to,a.to);continue}n.push({...a})}return n}function T(t){return Math.min(Math.max(t,h),f)}function P(t,e,n=M){const a=O(e);if(a.length===0)return[{date:t,startMinute:h,endMinute:f,minutes:f-h,wholeDay:!0}];const o=[];let r=h;for(const s of a){const c=T(s.from),i=T(s.to);c-r>=n&&o.push({date:t,startMinute:r,endMinute:c,minutes:c-r,wholeDay:!1}),r=Math.max(r,c,i)}return f-r>=n&&o.push({date:t,startMinute:r,endMinute:f,minutes:f-r,wholeDay:!1}),o}function Y(t,e=M){return P(t.date,G(t),e)}function ut(t,e){const n=[];let a=[];const o=()=>{a.length!==0&&(a.length===1?n.push({kind:"day",key:a[0].date,day:a[0]}):n.push({kind:"run",key:`run_${a[0].date}`,from:a[0].date,to:a[a.length-1].date,days:a.length}),a=[])};for(const r of t){if(_(r)&&!e.includes(r.date)){a.push(r);continue}o(),n.push({kind:"day",key:r.date,day:r})}return o(),n}function it(t){const e=[];for(const n of t){const a=e[e.length-1],o=a?Math.max(...a.map(r=>Date.parse(r.end))):0;if(a&&Date.parse(n.start)<o){a.push(n);continue}e.push([n])}return e}function lt(t,e){const n=Date.parse(e),a=e.slice(0,10),o=t.flatMap(u=>u.timed).sort((u,D)=>Date.parse(u.start)-Date.parse(D.start)),r=o.filter(u=>Date.parse(u.start)<=n&&Date.parse(u.end)>n),s=o.filter(u=>Date.parse(u.start)>n),c=s[0],i=r.filter(u=>u.start.slice(0,10)===a).length+s.filter(u=>u.start.slice(0,10)===a).length;return{running:r,next:c,minutesUntilNext:c?Math.round((Date.parse(c.start)-n)/6e4):0,after:s[1],restOfDay:i,free:W(t,e,1)[0]}}function W(t,e,n){const a=e.slice(0,10),o=$(e),r=[];for(const s of t)if(!(s.date<a))for(const c of Y(s)){if(s.date>a)r.push(c);else{const i=Math.max(c.startMinute,o);if(c.endMinute-i<M)continue;r.push({...c,startMinute:i,minutes:c.endMinute-i,wholeDay:c.wholeDay&&i===c.startMinute})}if(r.length===n)return r}return r}const y="/calendar/$view/$date";function V(){const t=m({from:y,shouldThrow:!1}),e=I({from:y,shouldThrow:!1}),n=t?.view??"",a=t?.date??"",o=e?.calendarId;return p.useMemo(()=>({...E({view:n,date:a},S(new Date)),calendarIds:o??[]}),[n,a,o])}function ft(){const t=m({from:"/calendar/$view/$date/$calendarObjectId",shouldThrow:!1}),e=m({from:"/calendar/$view/$date/$calendarObjectId/$recurrenceId",shouldThrow:!1}),n=t?.calendarObjectId,a=e?.recurrenceId;return p.useMemo(()=>n?{calendarObjectId:n,recurrenceId:a}:void 0,[n,a])}function dt(){return m({from:"/calendar/$view/$date/new",shouldThrow:!1})!==void 0}function ht(){const t=x(),e=L(),{view:n,date:a}=V(),o=p.useCallback(r=>{t({to:y,params:r,search:!0,hash:e})},[t,e]);return p.useMemo(()=>({goToView:r=>o({view:r,date:a}),step:r=>o({view:n,date:A(a,n,r)}),goToToday:()=>o({view:n,date:S(new Date)}),setAnchorDate:r=>t({to:y,params:{view:n,date:r},search:!0,hash:e,replace:!0}),zoomToDay:r=>o({view:"day",date:r}),openEvent:(r,s)=>t(s===void 0||s===""?{to:"/calendar/$view/$date/$calendarObjectId",params:{view:n,date:a,calendarObjectId:r},search:!0,hash:e}:{to:"/calendar/$view/$date/$calendarObjectId/$recurrenceId",params:{view:n,date:a,calendarObjectId:r,recurrenceId:s},search:!0,hash:e}),closeEvent:()=>o({view:n,date:a}),openComposer:()=>t({to:"/calendar/$view/$date/new",params:{view:n,date:a},search:!0,hash:e})}),[o,t,e,n,a])}const d=t=>String(t).padStart(2,"0"),q=t=>`${t.getUTCFullYear()}-${d(t.getUTCMonth()+1)}-${d(t.getUTCDate())}`,k=t=>{const e=t<0?"-":"+",n=Math.abs(t);return`${e}${d(Math.floor(n/60))}:${d(n%60)}`};function C(t,e){const n=new Date(`${t}T${e}:00`);return`${t}T${e}:00${k(-n.getTimezoneOffset())}`}const g=new Map;function H(t){if(g.has(t))return g.get(t);let e;try{e=new Intl.DateTimeFormat("en-US",{timeZone:t,hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{e=void 0}return g.set(t,e),e}function b(t,e){const n=H(t);if(!n)return Number.NaN;const a=n.formatToParts(new Date(e)),o=c=>Number(a.find(i=>i.type===c)?.value),r=o("hour")%24;return(Date.UTC(o("year"),o("month")-1,o("day"),r,o("minute"),o("second"))-e)/6e4}function mt(t,e,n){if(n==="")return`${t}T${e}:00+00:00`;const a=Date.parse(`${t}T${e}:00Z`),o=b(n,a);if(Number.isNaN(o))return C(t,e);const r=b(n,a-o*6e4);return`${t}T${e}:00${k(Number.isNaN(r)?o:r)}`}const N=t=>C(t,"00:00");function w(t,e){const[n,a,o]=t.split("-").map(Number);return q(new Date(Date.UTC(n,a-1,o+e)))}function J(t){const[e,n,a]=t.split("-").map(Number),o=new Date(Date.UTC(e,n-1,a));return w(t,-((o.getUTCDay()+6)%7))}function K(t,e){const[n,a]=e.split("-").map(Number);if(t==="year")return[`${n}-01-01`,`${n+1}-01-01`];if(t==="month"){const r=`${n}-${d(a)}-01`,s=a===12?`${n+1}-01-01`:`${n}-${d(a+1)}-01`;return[r,s]}if(t==="day")return[e,w(e,1)];const o=J(e);return[o,w(o,7)]}function pt(t,e){const[n,a]=K(t,e);return{from:N(n),to:N(a)}}export{et as A,h as D,st as a,ut as b,$ as c,X as d,G as e,Y as f,it as g,f as h,Z as i,v as j,rt as k,w as l,at as m,nt as n,pt as o,P as p,O as q,lt as r,ht as s,ft as t,V as u,ct as v,ot as w,dt as x,tt as y,mt as z};
package/index.html CHANGED
@@ -38,7 +38,7 @@
38
38
  } catch (_) {}
39
39
  })();
40
40
  </script>
41
- <script type="module" crossorigin src="/assets/index-g6Ysn83c.js"></script>
41
+ <script type="module" crossorigin src="/assets/index-CSwUr62M.js"></script>
42
42
  <link rel="stylesheet" crossorigin href="/assets/index-EEhH2FDf.css">
43
43
  </head>
44
44
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/web-client-dist",
3
- "version": "0.0.602",
3
+ "version": "0.0.604",
4
4
  "description": "Built Remit web client — static assets and the default runtime config.",
5
5
  "files": [
6
6
  "**/*"
@@ -1 +0,0 @@
1
- import{e as L,r as v,j as e,W,Y as $,Z as Q,_ as A,$ as I,t as k,a0 as H,a1 as V,a2 as Y,a3 as G,a4 as Z,a5 as J,a6 as X,a7 as ee,I as se,a8 as te,a9 as ae,aa as O,ab as ne,h as re,C as ie,ac as le,K as oe,c as ce,ad as ue,ae as de,af as R,ag as xe,ah as y,ai as fe,D as me,v as he}from"./index-g6Ysn83c.js";import{u as ge}from"./roving-focus-DNlde3CG.js";import{B as pe}from"./useLayoutTier-DK2y5Cq_.js";import{u as be}from"./useQueries-YhhqTY2e.js";import{i as je}from"./outbox-status-BlKn6P0x.js";import{B as ye}from"./bug-khWlm5TF.js";const ve=L("CirclePause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]]);const Ne=L("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);const ke=L("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Ce={Mail:"mail sync off"},Oe="button:not([disabled]), a[href]",w="outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-surface-sunken";function Se({active:s,dimmed:a,indent:n}){return k("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm transition-colors",w,n&&"pl-7",s?"bg-accent-2-soft font-medium text-accent-2":"text-fg-muted hover:bg-surface hover:text-fg",a&&"opacity-55")}function we({icon:s,label:a,count:n,active:r}){return e.jsxs(e.Fragment,{children:[s&&e.jsx("span",{className:k("shrink-0",r?"text-accent-2":"text-fg-subtle"),children:s}),e.jsx("span",{className:"flex-1 truncate",children:a}),n!=null&&n>0&&e.jsx("span",{className:k("text-2xs tabular-nums",r?"text-accent-2":"text-fg-subtle"),children:n})]})}function C({icon:s,label:a,count:n,active:r,dimmed:c,indent:l,navId:d,linkComponent:m,ariaLabel:x,title:g,onClick:p}){const N=Se({active:r,dimmed:c,indent:l}),j=e.jsx(we,{icon:s,label:a,count:n,active:r});return d&&m?m({navId:d,className:N,ariaLabel:x??a,title:g,onClick:p,children:j}):e.jsx("button",{type:"button",onClick:p,className:N,"aria-label":x,title:g,children:j})}const M={inbox:0,flagged:1,drafts:2,sent:3,archive:4,all:5,junk:6,trash:7};function ze(s){switch(s){case"inbox":return e.jsx(se,{className:"size-4"});case"flagged":return e.jsx(Q,{className:"size-4"});case"drafts":return e.jsx(ee,{className:"size-4"});case"sent":return e.jsx(V,{className:"size-4"});case"archive":return e.jsx(X,{className:"size-4"});case"all":return e.jsx(J,{className:"size-4"});case"junk":return e.jsx(Z,{className:"size-4"});case"trash":return e.jsx(G,{className:"size-4"})}}const E=s=>s.role!=null,z=8,P="remit.nav.folders.open.",_="remit.nav.account.open.";function D(s,a,n){if(typeof localStorage>"u")return n;const r=localStorage.getItem(s+a);return r===null?n:r!=="0"}function B(s,a,n){typeof localStorage>"u"||localStorage.setItem(s+a,n?"1":"0")}function Re({account:s,selectedNavId:a,onSelectNav:n,linkComponent:r}){const[c,l]=v.useState(()=>D(_,s.id,!0)),[d,m]=v.useState(()=>D(P,s.id,!0)),[x,g]=v.useState(!1),p=()=>{l(t=>{const o=!t;return B(_,s.id,o),o})},N=()=>{m(t=>{const o=!t;return B(P,s.id,o),o})},j=s.mailboxes.filter(E).sort((t,o)=>M[t.role]-M[o.role]),h=s.mailboxes.filter(t=>!E(t)),S=x||h.length<=z?h:h.slice(0,z),i=h.length-S.length,u=s.status??"ready",f=s.syncedServices!==void 0&&!s.syncedServices.includes("Mail"),b=u==="ready"&&j.length===0&&h.length===0;return e.jsxs("div",{className:"mt-3",children:[e.jsxs("button",{type:"button",onClick:p,"aria-expanded":c,className:k("flex w-full items-center gap-1.5 px-2 pb-1 text-left transition-colors hover:text-fg",w,s.muted&&"opacity-55"),children:[c?e.jsx(A,{className:"size-3 shrink-0 text-fg-subtle"}):e.jsx(I,{className:"size-3 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"truncate text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:s.label}),s.muted&&e.jsxs(e.Fragment,{children:[e.jsx(pe,{className:"size-3 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"text-2xs text-fg-subtle",children:"muted"})]}),f&&e.jsxs(e.Fragment,{children:[e.jsx(ve,{className:"size-3 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"text-2xs text-fg-subtle",children:Ce.Mail})]})]}),c&&e.jsxs(e.Fragment,{children:[u==="loading"&&e.jsx("div",{className:"px-2 py-1 text-sm text-fg-muted",children:"Loading…"}),u==="error"&&e.jsxs("div",{role:"alert",className:"mx-2 my-1 flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-2 py-1.5 text-sm",children:[e.jsx(H,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":"true"}),e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load mailboxes"})}),s.onRetry&&e.jsx("button",{type:"button",onClick:s.onRetry,className:"shrink-0 text-sm font-medium text-accent hover:underline",children:"Retry"})]}),b&&e.jsx("div",{className:"px-2 py-1 text-sm text-fg-muted",children:"No mailboxes"}),u==="ready"&&e.jsxs(e.Fragment,{children:[j.map(t=>e.jsx(C,{navId:t.id,linkComponent:r,icon:ze(t.role),label:t.name,ariaLabel:t.name,title:t.fullPath??t.name,count:t.unseen,active:a===t.id,dimmed:s.muted,onClick:()=>n?.(t.id)},t.id)),s.outboxPending!==void 0&&e.jsx(C,{navId:"outbox",linkComponent:r,icon:e.jsx(V,{className:"size-4"}),label:"Outbox",ariaLabel:"Outbox",count:s.outboxPending>0?s.outboxPending:void 0,active:a==="outbox",dimmed:s.muted,onClick:()=>n?.("outbox")}),h.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:N,"aria-expanded":d,className:k("mt-1 flex w-full items-center gap-1 px-2 py-1 text-left text-2xs font-semibold uppercase tracking-wider text-fg-subtle transition-colors hover:text-fg",w),children:[d?e.jsx(A,{className:"size-3 shrink-0"}):e.jsx(I,{className:"size-3 shrink-0"}),e.jsx("span",{className:"flex-1",children:"Folders"}),e.jsx("span",{className:"tabular-nums opacity-70",children:h.length})]}),d&&e.jsxs(e.Fragment,{children:[S.map(t=>e.jsx(C,{navId:t.id,linkComponent:r,icon:e.jsx(Y,{className:"size-4"}),label:t.name,ariaLabel:t.name,title:t.fullPath??t.name,count:t.unseen,active:a===t.id,dimmed:s.muted,onClick:()=>n?.(t.id)},t.id)),(i>0||x)&&h.length>z&&e.jsx("button",{type:"button",onClick:()=>g(t=>!t),className:k("ml-7 flex items-center px-2 py-1 text-2xs font-medium text-accent transition-colors hover:underline",w),children:x?"Show less":`Show all (${h.length})`})]})]})]})]})]})}function Le({accounts:s,selectedNavId:a,briefUnseen:n,onSelectNav:r,variant:c="desktop",linkComponent:l,calendarNav:d="hidden"}){const m=v.useRef(null);ge({containerRef:m,itemSelector:Oe});const x=c==="drawer",g=e.jsxs("nav",{ref:x?m:void 0,className:x?"px-2 py-2":"flex-1 overflow-y-auto px-2 py-2","aria-label":"Mailboxes",children:[e.jsx(C,{navId:"brief",linkComponent:l,icon:e.jsx(W,{className:"size-4"}),label:"Daily brief",ariaLabel:"Daily brief",count:n,active:a==="brief",onClick:()=>r?.("brief")}),d==="shown"&&e.jsx(C,{navId:"calendar",linkComponent:l,icon:e.jsx($,{className:"size-4"}),label:"Calendar",ariaLabel:"Calendar",active:a==="calendar",onClick:()=>r?.("calendar")}),e.jsx(C,{navId:"flagged",linkComponent:l,icon:e.jsx(Q,{className:"size-4"}),label:"Starred",ariaLabel:"Starred",active:a==="flagged",onClick:()=>r?.("flagged")}),s.length===0?e.jsx("div",{className:"px-2 py-4 text-center text-sm text-fg-muted",children:"No accounts configured"}):s.map(p=>e.jsx(Re,{account:p,selectedNavId:a,onSelectNav:r,linkComponent:l},p.id))]});return x?g:e.jsx("aside",{ref:m,className:"flex h-full w-full flex-col bg-surface-sunken",children:g})}function Fe(){const{pathname:s}=te(),a=ae({from:"/mail/$mailboxId",shouldThrow:!1});return O(s,"/settings")?"settings":O(s,"/calendar")?"calendar":O(s,"/mail/outbox")?"outbox":O(s,"/mail/flagged")?"flagged":O(s,"/mail/brief")?"brief":a?.mailboxId??""}const Ae=({children:s})=>{const{Account:a}=ne();return e.jsx(a,{children:s})},T=s=>/^\d/.test(s),Ie=(s,a)=>{const n=T(s),r=T(a);return n&&!r?-1:!n&&r?1:s.localeCompare(a,void 0,{sensitivity:"base",numeric:!0})};function Me(s,a,n){const r=[],c=[];for(const l of s)a.has(l.mailboxId)?r.push(l):c.push(l);return c.sort((l,d)=>Ie(R(l,void 0,n),R(d,void 0,n))),{system:r,labels:c}}function Ee(s,a,n){const r=xe(a)&&s.unseenCount>0;return{id:s.mailboxId,name:R(s,a,n),unseen:r?s.unseenCount:void 0,role:a,fullPath:s.fullPath}}function q({accounts:s,onMailboxSelect:a,variant:n="desktop"}){const r=re(),c=Fe(),{onSearchChange:l}=ie(),{t:d}=le("mail",{useSuspense:!1}),m=v.useCallback((i,u)=>d(i,{defaultValue:u}),[d]),x=be({queries:s.map(i=>({...oe({path:{accountId:i.accountId}}),staleTime:1/0}))}),{data:g}=ce(ue()),p=v.useMemo(()=>(g?.items??[]).filter(i=>je(i.status)).length,[g?.items]),N=v.useMemo(()=>s.map((i,u)=>{const f=x[u],b=f?.data?.items??[],t=de(i.folderAppointments),{system:o,labels:K}=Me(b,t,m),U=f?.isError?"error":f?.isLoading?"loading":"ready";return{id:i.accountId,label:i.email,email:i.email,muted:!!i.muted,outboxPending:p,status:U,onRetry:()=>f?.refetch(),mailboxes:[...o,...K].map(F=>Ee(F,t.get(F.mailboxId),m))}}),[s,x,p,m]),j=i=>{r.invalidateQueries({queryKey:fe({path:{mailboxId:i},query:{order:"desc"}})})},h=({navId:i,className:u,ariaLabel:f,title:b,children:t,onClick:o})=>i==="brief"?e.jsx(y,{to:"/mail/brief",search:{q:void 0},activeOptions:{includeSearch:!1},onClick:()=>o?.(),className:u,"aria-label":f,title:b,children:t}):i==="calendar"?e.jsx(y,{to:"/calendar",onClick:()=>o?.(),className:u,"aria-label":f,title:b,children:t}):i==="outbox"?e.jsx(y,{to:"/mail/outbox",search:{q:void 0},onClick:()=>o?.(),className:u,"aria-label":f,title:b,children:t}):i==="flagged"?e.jsx(y,{to:"/mail/flagged",search:{q:void 0},onClick:()=>o?.(),className:u,"aria-label":f,title:b,children:t}):i==="settings"?e.jsx(y,{to:"/settings/accounts",onClick:()=>o?.(),className:u,"aria-label":f,title:b,children:t}):e.jsx(y,{to:"/mail/$mailboxId",params:{mailboxId:i},search:{q:void 0},onClick:()=>{j(i),o?.()},className:u,"aria-label":f,title:b,children:t}),S=()=>{l(""),a?.()};return e.jsx(Le,{accounts:N,selectedNavId:c,onSelectNav:S,linkComponent:h,calendarNav:"shown",variant:n})}function Pe(){return e.jsxs("button",{type:"button",onClick:me,className:"flex w-full items-center gap-2 rounded-md px-2 py-1 text-sm text-fg-muted transition-colors hover:bg-surface hover:text-fg",children:[e.jsx(ye,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Report a bug"})]})}function Ve({accounts:s,onMailboxSelect:a}){return he()?.showNavPane??!0?e.jsx(q,{accounts:s}):e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(q,{accounts:s,onMailboxSelect:a,variant:"drawer"})}),e.jsxs("div",{className:"border-t border-line px-2 py-2",children:[e.jsxs(y,{to:"/settings/accounts",onClick:a,children:[e.jsx(ke,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Settings"})]}),e.jsx(Pe,{}),e.jsx(Ae,{children:({signOut:c})=>e.jsxs("button",{type:"button",onClick:()=>{a?.(),c()},className:"flex min-h-11 w-full items-center gap-2 rounded-md px-2 py-1 text-sm text-fg-muted transition-colors hover:bg-surface hover:text-fg","data-testid":"sign-out-button",children:[e.jsx(Ne,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Sign out"})]})})]})]})}export{Ae as A,Ne as L,Ve as M,ke as S};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-g6Ysn83c.js";const n=o;export{n as component};
@@ -1 +0,0 @@
1
- import{aj as m,j as o,O as p}from"./index-g6Ysn83c.js";import{a}from"./MailShell-8eD6wa4a.js";import{M as r}from"./MailboxPane-CavS0LWG.js";import{d as e}from"./search-token-index-CeWCvnzE.js";import{u as s}from"./search-mirror-ChuiTEcO.js";import"./FullCompose-Dv6q6-jX.js";import"./ErrorState-GkgMnN3x.js";import"./index-BSGRGDZa.js";import"./useMessageBodyContent-Zu7uJcxj.js";import"./useSignature-BxZIXZMO.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-BBnNHoN_.js";import"./sections-CrqtLp8d.js";import"./confirm-dialog-BZagPyIQ.js";import"./useSearchTokenContext-DpXTBfWn.js";import"./kbd-9Cu7VU56.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CvkvCP1v.js";import"./circle-check-big-en3g1grN.js";import"./refresh-cw-jcYn-rcX.js";import"./useQueries-YhhqTY2e.js";import"./MailListHeader-BZ3PXB6W.js";import"./roving-focus-DNlde3CG.js";import"./attachment-file-CMKD6t7v.js";import"./mail-BA_NKVwS.js";import"./avatar-Bqa5NnO-.js";import"./EmptyState-DkgCK4Wp.js";import"./download-CSBgmvt3.js";import"./calendar-event-chip-CcsqSJUN.js";import"./calendar-color-BXg6iHq_.js";import"./map-pin-B2UY4lGr.js";import"./attendee-row-CI09yAOz.js";import"./clock-BMYb_CC3.js";import"./useLayoutTier-DK2y5Cq_.js";import"./shield-check-Cag1BlzT.js";import"./useFilters-BCMsg-qz.js";import"./menu-BdJaKtZ2.js";import"./MailViewChrome-1QOtBYvo.js";import"./NavMenuButton-CMmV0Qb9.js";import"./useLabels-DmYxpu0-.js";import"./useSemanticSearch-Cy4kDW--.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-DNuOuroV.js";import"./circle-help-O1zDhzuD.js";import"./circle-check-3iZEfca_.js";function oo(){const{mailboxId:t}=m.useParams(),i=e();return s({to:"/mail/$mailboxId",params:{mailboxId:t}}),o.jsx(r,{mailboxId:t,thread:i,children:o.jsx(a,{phone:o.jsx(r.Phone,{}),list:o.jsx(r.List,{}),reading:o.jsx(p,{}),intelligence:o.jsx(r.Intelligence,{}),hasThread:!!i})})}export{oo as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-g6Ysn83c.js";import{M as r}from"./MailboxPane-CavS0LWG.js";import"./useSearchTokenContext-DpXTBfWn.js";import"./kbd-9Cu7VU56.js";import"./useMessageBodyContent-Zu7uJcxj.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CvkvCP1v.js";import"./circle-check-big-en3g1grN.js";import"./refresh-cw-jcYn-rcX.js";import"./useQueries-YhhqTY2e.js";import"./MailListHeader-BZ3PXB6W.js";import"./roving-focus-DNlde3CG.js";import"./search-token-index-CeWCvnzE.js";import"./attachment-file-CMKD6t7v.js";import"./mail-BA_NKVwS.js";import"./avatar-Bqa5NnO-.js";import"./index-BSGRGDZa.js";import"./useSignature-BxZIXZMO.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-BBnNHoN_.js";import"./sections-CrqtLp8d.js";import"./EmptyState-DkgCK4Wp.js";import"./ErrorState-GkgMnN3x.js";import"./download-CSBgmvt3.js";import"./calendar-event-chip-CcsqSJUN.js";import"./calendar-color-BXg6iHq_.js";import"./map-pin-B2UY4lGr.js";import"./attendee-row-CI09yAOz.js";import"./clock-BMYb_CC3.js";import"./useLayoutTier-DK2y5Cq_.js";import"./shield-check-Cag1BlzT.js";import"./useFilters-BCMsg-qz.js";import"./confirm-dialog-BZagPyIQ.js";import"./menu-BdJaKtZ2.js";import"./MailViewChrome-1QOtBYvo.js";import"./NavMenuButton-CMmV0Qb9.js";import"./useLabels-DmYxpu0-.js";import"./useSemanticSearch-Cy4kDW--.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-DNuOuroV.js";import"./circle-help-O1zDhzuD.js";import"./circle-check-3iZEfca_.js";function S(){return o.jsx(r.Reading,{})}export{S as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-g6Ysn83c.js";import{F as r}from"./FlaggedPane-BR601E-Z.js";import"./useSearchTokenContext-DpXTBfWn.js";import"./kbd-9Cu7VU56.js";import"./useMessageBodyContent-Zu7uJcxj.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-BZ3PXB6W.js";import"./roving-focus-DNlde3CG.js";import"./search-token-index-CeWCvnzE.js";import"./useQueries-YhhqTY2e.js";import"./attachment-file-CMKD6t7v.js";import"./mail-BA_NKVwS.js";import"./avatar-Bqa5NnO-.js";import"./index-BSGRGDZa.js";import"./useSignature-BxZIXZMO.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-BBnNHoN_.js";import"./sections-CrqtLp8d.js";import"./EmptyState-DkgCK4Wp.js";import"./ErrorState-GkgMnN3x.js";import"./download-CSBgmvt3.js";import"./calendar-event-chip-CcsqSJUN.js";import"./calendar-color-BXg6iHq_.js";import"./map-pin-B2UY4lGr.js";import"./attendee-row-CI09yAOz.js";import"./clock-BMYb_CC3.js";import"./useLayoutTier-DK2y5Cq_.js";import"./shield-check-Cag1BlzT.js";import"./useFilters-BCMsg-qz.js";import"./confirm-dialog-BZagPyIQ.js";import"./menu-BdJaKtZ2.js";import"./MailViewChrome-1QOtBYvo.js";import"./refresh-cw-jcYn-rcX.js";import"./wizard-selection-DxUM65kM.js";function H(){return o.jsx(r.Reading,{})}export{H as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-g6Ysn83c.js";import{B as o}from"./BriefPane-t0EO91sV.js";import"./useSearchTokenContext-DpXTBfWn.js";import"./kbd-9Cu7VU56.js";import"./useMessageBodyContent-Zu7uJcxj.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-BZ3PXB6W.js";import"./roving-focus-DNlde3CG.js";import"./search-token-index-CeWCvnzE.js";import"./useQueries-YhhqTY2e.js";import"./attachment-file-CMKD6t7v.js";import"./mail-BA_NKVwS.js";import"./avatar-Bqa5NnO-.js";import"./index-BSGRGDZa.js";import"./useSignature-BxZIXZMO.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-BBnNHoN_.js";import"./sections-CrqtLp8d.js";import"./EmptyState-DkgCK4Wp.js";import"./ErrorState-GkgMnN3x.js";import"./download-CSBgmvt3.js";import"./calendar-event-chip-CcsqSJUN.js";import"./calendar-color-BXg6iHq_.js";import"./map-pin-B2UY4lGr.js";import"./attendee-row-CI09yAOz.js";import"./clock-BMYb_CC3.js";import"./useLayoutTier-DK2y5Cq_.js";import"./shield-check-Cag1BlzT.js";import"./useFilters-BCMsg-qz.js";import"./confirm-dialog-BZagPyIQ.js";import"./menu-BdJaKtZ2.js";import"./useRefreshControl-CvkvCP1v.js";import"./circle-check-big-en3g1grN.js";import"./refresh-cw-jcYn-rcX.js";import"./useSemanticSearch-Cy4kDW--.js";import"./useLabels-DmYxpu0-.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function L(){return r.jsx(o.Reading,{})}export{L as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-g6Ysn83c.js";import{O as t}from"./OutboxPane-JWvdTVow.js";import"./roving-focus-DNlde3CG.js";import"./useSearchTokenContext-DpXTBfWn.js";import"./kbd-9Cu7VU56.js";import"./useMessageBodyContent-Zu7uJcxj.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-en3g1grN.js";import"./clock-BMYb_CC3.js";import"./row-actions-LFbQpxc-.js";import"./rotate-ccw-BI_m6m8p.js";import"./NavMenuButton-CMmV0Qb9.js";import"./menu-BdJaKtZ2.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function P(){return o.jsx(t.Reading,{})}export{P as component};
@@ -1 +0,0 @@
1
- import{eL as o,j as m}from"./index-g6Ysn83c.js";import{O as e}from"./OpenCalendarEvent-BNxMWBMa.js";import"./CalendarComposePane-Bfv_vOeX.js";import"./window-8yDNCThJ.js";import"./ErrorState-GkgMnN3x.js";import"./calendar-color-BXg6iHq_.js";import"./attendee-row-CI09yAOz.js";import"./avatar-Bqa5NnO-.js";import"./clock-BMYb_CC3.js";import"./map-pin-B2UY4lGr.js";import"./mail-BA_NKVwS.js";import"./pencil-IhKU49nk.js";import"./useCalendars-CwcxjEXe.js";import"./useCalendarData-DbNfuESG.js";import"./useQueries-YhhqTY2e.js";function E(){const{calendarObjectId:r,recurrenceId:t}=o.useParams();return m.jsx(e,{calendarObjectId:r,recurrenceId:t})}export{E as component};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-g6Ysn83c.js";const n=o;export{n as component};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-g6Ysn83c.js";const n=o;export{n as component};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-g6Ysn83c.js";const n=o;export{n as component};