@remit/web-client-dist 0.0.623 → 0.0.625

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 (165) hide show
  1. package/assets/{BriefPane-B3SzFOBj.js → BriefPane-BcLRbXt0.js} +1 -1
  2. package/assets/CalendarComposePane-BX_sGf_E.js +1 -0
  3. package/assets/{CalendarComposeSeed-C2PZ3Lxx.js → CalendarComposeSeed-ueNtbA6-.js} +1 -1
  4. package/assets/{CalendarShell-LGX4J1Xv.js → CalendarShell-Cf0mR1zl.js} +1 -1
  5. package/assets/{EmptyState-Eahp2lXz.js → EmptyState-CN1sTl54.js} +1 -1
  6. package/assets/{ErrorState-2gehxV3K.js → ErrorState-ujr_GVkW.js} +1 -1
  7. package/assets/{FlaggedPane-Bx9K7MUz.js → FlaggedPane-CRQiEP8s.js} +1 -1
  8. package/assets/{FullCompose-SnaRTmcR.js → FullCompose-BAl3d_w0.js} +1 -1
  9. package/assets/MailListHeader-B8KqCoIm.js +7 -0
  10. package/assets/MailNav-eOhT4K5M.js +1 -0
  11. package/assets/{MailShell-CTIUWM4c.js → MailShell-CijmWfSp.js} +1 -1
  12. package/assets/{MailViewChrome-S7gykdhg.js → MailViewChrome-ylQHccJD.js} +1 -1
  13. package/assets/{MailboxPane-D3skzxVF.js → MailboxPane-BSy756o9.js} +1 -1
  14. package/assets/{NavMenuButton-DOb5_wpV.js → NavMenuButton-DXqQI4Z5.js} +1 -1
  15. package/assets/{OnboardingWizard-Z5_gDRyf.js → OnboardingWizard-JlsmKOxT.js} +1 -1
  16. package/assets/OpenCalendarEvent-AMoWfhdc.js +2 -0
  17. package/assets/{OutboxPane-Bb-QNA6M.js → OutboxPane-CA4PZFqu.js} +1 -1
  18. package/assets/_calendarObjectId-tOtImfXw.js +1 -0
  19. package/assets/_mailboxId-_P3tq8gl.js +1 -0
  20. package/assets/_messageId-COMQcfvI.js +1 -0
  21. package/assets/_messageId-DmH3Li5m.js +1 -0
  22. package/assets/_messageId-cFsRfOSD.js +1 -0
  23. package/assets/_outboxMessageId--susUoju.js +1 -0
  24. package/assets/_recurrenceId-CGhp2ffr.js +1 -0
  25. package/assets/_threadId--notVzkL.js +1 -0
  26. package/assets/_threadId-AEzpp5uR.js +1 -0
  27. package/assets/_threadId-BwJD_tv3.js +1 -0
  28. package/assets/{_view._date-O8v8-zT0.js → _view._date-CG9W40_l.js} +1 -1
  29. package/assets/{accounts-BeiXOSoK.js → accounts-8HbXfxyY.js} +1 -1
  30. package/assets/{advanced-rk9h_qCN.js → advanced-CDxG3KHI.js} +1 -1
  31. package/assets/{appearance-BtQmWlsL.js → appearance-CU8jNmrW.js} +1 -1
  32. package/assets/{attendee-row-CMQBOVFi.js → attendee-row-YXbrbIq8.js} +1 -1
  33. package/assets/{avatar-2y1jg_Dt.js → avatar-C5pPOUjS.js} +1 -1
  34. package/assets/{bell-off-rbrEdWqT.js → bell-off-CQoLYol5.js} +1 -1
  35. package/assets/{bottom-sheet-C0Ep3DuK.js → bottom-sheet-C91fm1wU.js} +1 -1
  36. package/assets/{brief-Bhskzr7i.js → brief-C32PSIeP.js} +1 -1
  37. package/assets/brief-DpNC_lz8.js +1 -0
  38. package/assets/{browser-ponyfill-COjzqnrm.js → browser-ponyfill-DzvjeLzv.js} +2 -2
  39. package/assets/{bug-DzYDi78F.js → bug-Bvjwypvc.js} +1 -1
  40. package/assets/calendar-DrGm8UfQ.js +1 -0
  41. package/assets/{calendar-clash-strip-666qoX0F.js → calendar-clash-strip-BLhPkquh.js} +1 -1
  42. package/assets/calendar-format-D-35Eq-A.js +1 -0
  43. package/assets/calendar-suggestion-Coshl0tU.js +1 -0
  44. package/assets/{calendars-BwhAQ2-I.js → calendars-5GLviUT4.js} +1 -1
  45. package/assets/{card-DViO8Qjw.js → card-DIRsRHeY.js} +1 -1
  46. package/assets/chevron-left-BzC14Odw.js +1 -0
  47. package/assets/{circle-check-big-DnvcvlZb.js → circle-check-big-BxS7u06D.js} +1 -1
  48. package/assets/{circle-check-CLK5B9u5.js → circle-check-uO4_WbZm.js} +1 -1
  49. package/assets/{circle-help-CHw61JSX.js → circle-help-BlZ4xP9R.js} +1 -1
  50. package/assets/{clock-Bw9kA5-J.js → clock-zn4wNsRc.js} +1 -1
  51. package/assets/compose._-_outboxMessageId_-BQfSgO1d.js +1 -0
  52. package/assets/compose._-_outboxMessageId_-BTwbuYpu.js +1 -0
  53. package/assets/compose._-_outboxMessageId_-C4C_6Pc5.js +1 -0
  54. package/assets/compose._-_outboxMessageId_-rrLNuGNc.js +1 -0
  55. package/assets/{config-import-BT3KLBVG.js → config-import-CiK_cjWq.js} +1 -1
  56. package/assets/{confirm-dialog-Y2-tLYTm.js → confirm-dialog-DStVP_YB.js} +1 -1
  57. package/assets/{copy-Bz4vyOnq.js → copy-CBi3fm5e.js} +1 -1
  58. package/assets/{credential-steps-B6625Tan.js → credential-steps-C0bopKBL.js} +1 -1
  59. package/assets/{download-BqYGlW3y.js → download--4zu6YFD.js} +1 -1
  60. package/assets/{file-json-cD8IK5MT.js → file-json-CIHsLTs2.js} +1 -1
  61. package/assets/{filters-BVQM49Iz.js → filters-Bs369HA4.js} +1 -1
  62. package/assets/{flagged-2U-k_HD6.js → flagged-79ZpssaF.js} +1 -1
  63. package/assets/flagged-CXUG7hEi.js +1 -0
  64. package/assets/folder-failure-CqkVSsrb.js +1 -0
  65. package/assets/folders-KCTLIIjZ.js +1 -0
  66. package/assets/{help-copy-dH7--kjV.js → help-copy-uBF8fXGG.js} +1 -1
  67. package/assets/{import-BXXzJvRc.js → import-CsL0jkis.js} +1 -1
  68. package/assets/index-B-gorWZO.js +1 -0
  69. package/assets/{index-AhmXjWPe.js → index-BP2ZVS4q.js} +1 -1
  70. package/assets/index-BsZVtS6J.js +1 -0
  71. package/assets/index-CgYMdj4b.js +1 -0
  72. package/assets/index-Cm_p5S9S.js +1 -0
  73. package/assets/index-D5i-rZKH.js +55 -0
  74. package/assets/index-DXbMloJs.js +1 -0
  75. package/assets/index-DoeEkWBm.js +1 -0
  76. package/assets/index-Dpnd1WTE.js +1 -0
  77. package/assets/{index-7IhVHlJ2.js → index-Q4feV5hs.js} +54 -54
  78. package/assets/index-QHGSPpNt.js +1 -0
  79. package/assets/index-cFsRfOSD.js +1 -0
  80. package/assets/{kbd-BwmHuAX8.js → kbd-shPcQMK0.js} +1 -1
  81. package/assets/{labels-D4q70G_F.js → labels-DSgUeEAp.js} +1 -1
  82. package/assets/mail-C9hQ4FN3.js +1 -0
  83. package/assets/{mail-DvIjEsSb.js → mail-C_twG7GL.js} +1 -1
  84. package/assets/{map-pin-DbU9SG0U.js → map-pin-BBn-x2Kl.js} +1 -1
  85. package/assets/{menu-BC4aNS1d.js → menu-DTN4EvxK.js} +1 -1
  86. package/assets/new-htfLYhI7.js +1 -0
  87. package/assets/onboarding-CCQtdms3.js +1 -0
  88. package/assets/{onboarding-completion-CBpYKYqi.js → onboarding-completion-qZwYb_Ut.js} +1 -1
  89. package/assets/outbox-Gz6-I5eX.js +1 -0
  90. package/assets/{pencil-BrCM9GpE.js → pencil-DeYHBqGJ.js} +1 -1
  91. package/assets/{popover-menu-Lxas-eO6.js → popover-menu-TKxn0teJ.js} +1 -1
  92. package/assets/{refresh-cw-LG4APxaz.js → refresh-cw-5HtDVbgJ.js} +1 -1
  93. package/assets/{rich-text-CzURxp9_.js → rich-text-19XjDhm5.js} +2 -2
  94. package/assets/{rich-text-spellcheck-worker-provider-C_BPUxxs.js → rich-text-spellcheck-worker-provider-D_eo5-8u.js} +1 -1
  95. package/assets/{rotate-ccw-CrSv0jxT.js → rotate-ccw-CQK-NIHI.js} +1 -1
  96. package/assets/{roving-focus-FTWtadRc.js → roving-focus-lu4GUcG_.js} +1 -1
  97. package/assets/{row-actions-vuTPs--E.js → row-actions-Dj7EnCiv.js} +1 -1
  98. package/assets/{search-mirror-QEbe3NeU.js → search-mirror-yAtFv0xR.js} +1 -1
  99. package/assets/{search-token-index-L6Mkt6X5.js → search-token-index-DMotPy3S.js} +1 -1
  100. package/assets/{sections-CFEXxR3C.js → sections-BEjFgOOu.js} +1 -1
  101. package/assets/{senders-BFbXS-bi.js → senders-XmPQgpCc.js} +1 -1
  102. package/assets/settings-CW90bjLX.js +1 -0
  103. package/assets/{settings-screen-BpdZ1aOF.js → settings-screen-BRDJz8vo.js} +1 -1
  104. package/assets/{shield-check-DBAZd1ed.js → shield-check-HOK5b_5p.js} +1 -1
  105. package/assets/{suggested-vips-BZUJs6WO.js → suggested-vips-C57jHxrP.js} +1 -1
  106. package/assets/undo-2-SqKWoGew.js +1 -0
  107. package/assets/useCalendarData-ScZEg4Bc.js +1 -0
  108. package/assets/{useCalendarWrites-Bv--maCq.js → useCalendarWrites-DdDEKJWs.js} +1 -1
  109. package/assets/useCalendars-DB62jljf.js +1 -0
  110. package/assets/{useDebouncedValue-zUwFPFcb.js → useDebouncedValue-m9hfoeeT.js} +1 -1
  111. package/assets/{useFilters-CvpDOWxu.js → useFilters-MhGWNTRw.js} +1 -1
  112. package/assets/{useLabels-C_uFyrHE.js → useLabels-BCVlkzT_.js} +1 -1
  113. package/assets/{useLayoutTier-DwNvRwwG.js → useLayoutTier-B7U5my6x.js} +1 -1
  114. package/assets/{useMessageBodyContent-DqnHLGXQ.js → useMessageBodyContent-Bh1dkGuL.js} +1 -1
  115. package/assets/{useQueries-DuonHqWj.js → useQueries-Dt_ZoQnW.js} +1 -1
  116. package/assets/{useRefreshControl-CSyHT70d.js → useRefreshControl-C5OCmhS8.js} +1 -1
  117. package/assets/{useResultFolderIndex-B44sxzBK.js → useResultFolderIndex-D_wb9MYs.js} +1 -1
  118. package/assets/{useSearchTokenContext-DFeI23Ju.js → useSearchTokenContext-BtJhq-_Q.js} +3 -3
  119. package/assets/{useSemanticSearch-DNlAaucG.js → useSemanticSearch-DfSsCW6c.js} +1 -1
  120. package/assets/{useSignature-Bc7ArarA.js → useSignature-CRBwOs1d.js} +1 -1
  121. package/index.html +1 -1
  122. package/package.json +1 -1
  123. package/assets/CalendarComposePane-CvtgeFNJ.js +0 -1
  124. package/assets/MailListHeader-Cu4wemwM.js +0 -7
  125. package/assets/MailNav-AfGtRdvl.js +0 -1
  126. package/assets/OpenCalendarEvent-Cn1QGwAT.js +0 -2
  127. package/assets/_calendarObjectId-BrXtR9Pm.js +0 -1
  128. package/assets/_mailboxId-Ba2Vj1bR.js +0 -1
  129. package/assets/_messageId-BPLFc0Y7.js +0 -1
  130. package/assets/_messageId-BTG0BSTg.js +0 -1
  131. package/assets/_messageId-D4nVz1ZQ.js +0 -1
  132. package/assets/_outboxMessageId-vOHD6i7Z.js +0 -1
  133. package/assets/_recurrenceId-CChN75Ak.js +0 -1
  134. package/assets/_threadId-CU8N1dRJ.js +0 -1
  135. package/assets/_threadId-RbCgO-qJ.js +0 -1
  136. package/assets/_threadId-W07ctUoa.js +0 -1
  137. package/assets/attachment-file-Nf9Lupmr.js +0 -1
  138. package/assets/brief-BiKWMsCg.js +0 -1
  139. package/assets/calendar-DjytNVJb.js +0 -1
  140. package/assets/calendar-format-BUwluD4d.js +0 -1
  141. package/assets/calendar-suggestion-DlPmCFBX.js +0 -1
  142. package/assets/chevron-left-BEa4nJIj.js +0 -1
  143. package/assets/compose._-_outboxMessageId_-B-ACo-ZH.js +0 -1
  144. package/assets/compose._-_outboxMessageId_-BnI9sCbx.js +0 -1
  145. package/assets/compose._-_outboxMessageId_-C0uqvNHl.js +0 -1
  146. package/assets/compose._-_outboxMessageId_-VRT46OAJ.js +0 -1
  147. package/assets/flagged-BtHBwEoC.js +0 -1
  148. package/assets/folders-D3YbAWUS.js +0 -1
  149. package/assets/index-BPLFc0Y7.js +0 -1
  150. package/assets/index-BUxE0WiC.js +0 -1
  151. package/assets/index-B_lrAEhN.js +0 -1
  152. package/assets/index-DNcEaLfU.js +0 -1
  153. package/assets/index-DTKIh7zB.js +0 -1
  154. package/assets/index-DY3OMk4O.js +0 -1
  155. package/assets/index-DfcyrpGJ.js +0 -1
  156. package/assets/index-Dg54mvj6.js +0 -1
  157. package/assets/index-FCYPZ1Ur.js +0 -55
  158. package/assets/index-_gcH2khZ.js +0 -1
  159. package/assets/mail-CgKgg0DT.js +0 -1
  160. package/assets/new-CkVKW68N.js +0 -1
  161. package/assets/onboarding-BEcD8aP7.js +0 -1
  162. package/assets/outbox-Btk4kq9E.js +0 -1
  163. package/assets/settings-BurH9xy-.js +0 -1
  164. package/assets/useCalendarData-BoJA2U_M.js +0 -1
  165. package/assets/useCalendars-chDLMrib.js +0 -1
@@ -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-7IhVHlJ2.js";import{u as ge}from"./roving-focus-FTWtadRc.js";import{B as pe}from"./bell-off-rbrEdWqT.js";import{u as be}from"./useQueries-DuonHqWj.js";import{i as je}from"./outbox-status-BlKn6P0x.js";import{B as ye}from"./bug-DzYDi78F.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,2 +0,0 @@
1
- import{j as e,t as h,f as T,a3 as _,X as Q,c as V,eT as X,s as H,Y as J,a0 as K,r as w}from"./index-7IhVHlJ2.js";import{u as $,e as ee,t as se,C as te,d as ae,p as ne}from"./CalendarComposePane-CvtgeFNJ.js";import{c as re,R as ie,I as Z,u as le,n as oe}from"./calendar-format-BUwluD4d.js";import{R as ce,A as de}from"./attendee-row-CMQBOVFi.js";import{C as xe}from"./clock-Bw9kA5-J.js";import{G as B,M as fe}from"./map-pin-DbU9SG0U.js";import{M as me}from"./mail-DvIjEsSb.js";import{P as ue}from"./pencil-BrCM9GpE.js";import{u as he,c as pe,U as ge}from"./useCalendars-chDLMrib.js";import{a as ve}from"./useCalendarWrites-Bv--maCq.js";import{b as be}from"./useCalendarData-BoJA2U_M.js";function v({icon:s,children:t}){return e.jsxs("div",{className:"flex items-start gap-2.5 py-1",children:[e.jsx("span",{className:"mt-0.5 shrink-0 text-fg-subtle",children:s}),e.jsx("div",{className:"min-w-0 flex-1 text-sm text-fg",children:t})]})}function je({event:s,calendar:t,whenText:i,onEdit:a,onDelete:l,onOpenThread:o,onClose:c,activeAttendee:x="",onActivateAttendee:b,renderAttendeeContext:k,touch:y=!1,chrome:E="header",className:n}){const R=re(t.color),d=e.jsxs(e.Fragment,{children:[e.jsx("h1",{className:"text-xl font-semibold text-fg",children:s.title}),e.jsxs("div",{className:"mt-3 flex flex-col border-b border-line pb-3",children:[e.jsx(v,{icon:e.jsx(xe,{className:"size-4"}),children:e.jsxs("span",{className:"flex flex-wrap items-center gap-2",children:[i,s.attendees.length>0&&e.jsx(ce,{rsvp:s.myRsvp})]})}),s.zoneCertainty==="ambiguous"?e.jsx(v,{icon:e.jsx(B,{className:"size-4 text-warning"}),children:e.jsx("span",{className:"text-warning",children:"The mail said a time but never a zone. Shown in your own; confirm before you travel for it."})}):s.timeZone!==""&&e.jsx(v,{icon:e.jsx(B,{className:"size-4"}),children:s.timeZone}),s.recurrenceRule!==""&&e.jsx(v,{icon:e.jsx(ie,{className:"size-4"}),children:e.jsxs("span",{className:"flex flex-wrap items-center gap-2",children:[s.recurrenceRule,s.seriesException&&e.jsx("span",{className:"rounded-xs bg-warning-soft px-1.5 py-0.5 text-2xs text-warning",children:"Moved out of the series"})]})}),s.location!==""&&e.jsx(v,{icon:e.jsx(fe,{className:"size-4"}),children:s.location})]}),s.threadId!==""&&o&&e.jsxs("button",{type:"button",onClick:o,className:"mt-3 flex w-full items-center gap-2.5 rounded-md border border-line bg-surface-sunken px-3 py-2 text-left outline-none hover:border-line-strong focus-visible:ring-2 focus-visible:ring-ring",children:[e.jsx(me,{className:"size-4 shrink-0 text-accent-2"}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsx("span",{className:"block text-2xs uppercase tracking-wider text-fg-subtle",children:"From this thread"}),e.jsx("span",{className:"block truncate text-sm text-fg",children:s.threadSubject})]})]}),s.attendees.length>0&&e.jsx(de,{attendees:s.attendees,activeEmail:x,onActivate:b,renderContext:k,touch:y,className:"mt-3"}),s.notes!==""&&e.jsx("p",{className:"mt-3 whitespace-pre-wrap text-sm text-fg-muted",children:s.notes})]});return E==="bare"?e.jsx("div",{className:h("flex flex-col",n),children:d}):e.jsxs("article",{className:h("flex h-full w-full flex-col bg-surface",n),children:[e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[e.jsx("span",{className:h("size-2.5 shrink-0 rounded-full",R.solid)}),e.jsxs("span",{className:"min-w-0 flex-1 truncate text-xs text-fg-muted",children:[t.name," · ",t.accountLabel]}),a&&e.jsx(T,{variant:"ghost",size:"sm",icon:e.jsx(ue,{className:"size-3.5"}),onClick:a,children:"Edit"}),l&&e.jsx(T,{variant:"ghost",size:"sm",icon:e.jsx(_,{className:"size-3.5"}),onClick:l,className:"text-danger",children:"Delete"}),c&&e.jsx("button",{type:"button","aria-label":"Close event",onClick:c,className:"flex size-7 items-center justify-center rounded-md text-fg-subtle outline-none hover:bg-surface-sunken hover:text-fg focus-visible:ring-2 focus-visible:ring-ring",children:e.jsx(Q,{className:"size-4"})})]}),e.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-row-inset py-3",children:d})]})}const Ne=[{scope:"this",label:"This event",note:"Leaves the rest of the series alone"},{scope:"following",label:"This and everything after",note:"Splits the series here"},{scope:"all",label:"The whole series",note:"Rewrites the rule itself"}];function Ce({title:s,ruleText:t,instanceText:i,onChoose:a,onCancel:l,touch:o,className:c}){return e.jsxs("div",{className:h("flex flex-col gap-3",c),children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-md font-semibold text-fg",children:[s," repeats"]}),e.jsx("p",{className:"text-xs text-fg-muted",children:t}),e.jsxs("p",{className:"text-xs text-fg-subtle",children:["You clicked ",i,"."]})]}),e.jsx("p",{className:"text-sm text-fg",children:"What should the change apply to?"}),e.jsx("div",{className:"flex flex-col gap-1.5",children:Ne.map(x=>e.jsxs("button",{type:"button",onClick:()=>a(x.scope),className:h("flex flex-col rounded-md border border-line bg-surface px-3 py-2 text-left outline-none transition-colors hover:border-line-strong hover:bg-surface-sunken focus-visible:ring-2 focus-visible:ring-ring",o&&"min-h-11 justify-center"),children:[e.jsx("span",{className:"text-sm font-medium text-fg",children:x.label}),e.jsx("span",{className:"text-2xs text-fg-subtle",children:x.note})]},x.scope))}),e.jsx(T,{variant:"ghost",size:o?"md":"sm",onClick:l,className:h("self-start",o&&"min-h-11"),children:"Cancel"})]})}const we=s=>s.replace(/\r?\n[ \t]/g,""),U=s=>s.replace(/\\n/gi,`
2
- `).replace(/\\,/g,",").replace(/\\;/g,";").replace(/\\\\/g,"\\");function ke(s,t){let i=!1;for(let a=t.length;a<s.length;a+=1){const l=s[a];if(a===t.length&&l!==";"&&l!==":")return;if(l==='"'){i=!i;continue}if(!i&&l===":")return s.slice(a+1).trim()}}function D(s,t){for(const i of we(s).split(/\r?\n/)){if(!i.startsWith(t))continue;const a=ke(i,t);if(a!==void 0)return a}return""}const ye=s=>D(s,"RRULE"),Ee=s=>({location:U(D(s,"LOCATION")),description:U(D(s,"DESCRIPTION"))}),Re=H(404);function ze(s,t){const{data:i,isLoading:a,error:l,refetch:o}=V({...X({path:{calendarObjectId:s},query:{calendarId:t}}),meta:Re,enabled:s!==""&&t!==""});return{resource:i,isLoading:a,error:l,refetch:()=>{o()}}}function Te({event:s,calendar:t,isOccurrence:i,problem:a="",onEdit:l,onDelete:o,onClose:c}){return!s||!t?e.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 bg-surface p-8 text-center",children:[e.jsx(J,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),e.jsx("p",{className:"text-sm font-medium text-fg",children:"That event isn't on this week"}),e.jsx("p",{className:"max-w-xs text-sm text-fg-muted",children:"The address names an event the calendar doesn't have here."}),e.jsx("button",{type:"button",onClick:c,className:"rounded-md border border-line px-2.5 py-1 text-sm font-medium text-fg outline-none hover:bg-surface-sunken focus-visible:ring-2 focus-visible:ring-ring",children:"Back to the calendar"})]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-surface",children:[i&&e.jsx("p",{className:"shrink-0 border-b border-line bg-surface-sunken px-row-inset py-1.5 text-2xs uppercase tracking-wider text-fg-subtle",children:"One occurrence of a repeating event"}),a!==""&&e.jsxs("div",{role:"alert",className:"flex shrink-0 items-start gap-2 border-b border-danger/40 bg-danger-soft px-row-inset py-2 text-sm",children:[e.jsx(K,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":"true"}),e.jsx("p",{className:"min-w-0 flex-1 break-words text-fg",children:a})]}),e.jsx(je,{event:s,calendar:t,whenText:Z(s),onEdit:l,onDelete:o,onClose:c,className:"min-h-0 flex-1"})]})}const De="This event changed somewhere else — over CalDAV, or in another tab. Nothing was saved. Close it and open it again to see the version that's stored now.";function Ze({calendarObjectId:s,recurrenceId:t}){const{view:i,date:a,calendarIds:l}=le(),{events:o}=be({view:i,date:a,calendarIds:l}),{calendars:c,timeZoneByCalendarId:x}=he(),{closeEvent:b}=oe(),{updateEvent:k,deleteEvent:y,isWriting:E}=ve(),n=o.find(r=>r.id===pe(s,t??"")),R=c.find(r=>r.id===n?.calendarId),{resource:d}=ze(s,n?.calendarId??""),[S,p]=w.useState(void 0),[m,z]=w.useState(void 0),[u,j]=w.useState(void 0),[A,g]=w.useState(""),G=$(u??ee("",""),s),N=d?Ee(d.icalData):void 0,I=d?ye(d.icalData):"",q=n&&!n.allDay?n.start.slice(11,16):"",C=I===""?"":se(I,q)??"Repeats",L=n!==void 0&&n.seriesId!==""&&t!==void 0&&t!=="",P=n!==void 0&&d!==void 0,F=(r,f)=>{if(r.kind==="written"){g(""),f();return}g(r.kind==="conflict"?De:r.message)},O=r=>({calendarObjectId:s,calendarId:n?.calendarId??"",recurrenceId:t??"",scope:r,etag:d?.etag??""}),M=r=>{if(!n)return;const f=ae(n,{repeat:C,location:N?.location??"",notes:N?.description??""});p(void 0),z({before:f,scope:r}),j(f),g("")},W=r=>{p(void 0),y(O(r)).then(f=>F(f,b))},Y=()=>{if(!m||!u)return;const r=ne(m.before,u,x[u.calendarId]??ge);if(!r.ok){g(r.problem);return}k(O(m.scope),r.patch).then(f=>F(f,()=>{z(void 0),j(void 0)}))};return S!==void 0&&n?e.jsx("div",{className:"flex h-full flex-col justify-center bg-surface px-row-inset",children:e.jsx(Ce,{className:"mx-auto w-full max-w-md",title:n.title,ruleText:C===""?"It repeats":C,instanceText:Z(n),onChoose:S==="edit"?M:W,onCancel:()=>p(void 0)})}):m&&u?e.jsx(te,{title:"Edit event",subtitle:m.scope==="this"?"This occurrence only":u.date,calendars:c,draft:u,onChange:j,problem:A,saveLabel:"Save",isSaving:E,repeatEditable:m.scope===void 0||m.scope==="all",calendarEditable:!1,clashes:G,onSave:Y,onCancel:()=>{z(void 0),j(void 0),g("")}}):e.jsx(Te,{event:n&&{...n,location:N?.location??"",notes:N?.description??"",recurrenceRule:C},calendar:R,isOccurrence:t!==void 0,problem:A,onEdit:P?()=>L?p("edit"):M(void 0):void 0,onDelete:P?()=>L?p("delete"):W(void 0):void 0,onClose:b})}export{Ze as O};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-7IhVHlJ2.js";const n=o;export{n as component};
@@ -1 +0,0 @@
1
- import{aj as m,j as o,O as p}from"./index-7IhVHlJ2.js";import{a}from"./MailShell-CTIUWM4c.js";import{M as r}from"./MailboxPane-D3skzxVF.js";import{a as e}from"./search-token-index-L6Mkt6X5.js";import{u as s}from"./search-mirror-QEbe3NeU.js";import"./FullCompose-SnaRTmcR.js";import"./ErrorState-2gehxV3K.js";import"./index-FCYPZ1Ur.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useQueries-DuonHqWj.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./EmptyState-Eahp2lXz.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./MailViewChrome-S7gykdhg.js";import"./NavMenuButton-DOb5_wpV.js";import"./useLabels-C_uFyrHE.js";import"./useSemanticSearch-DNlAaucG.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-C0Ep3DuK.js";import"./circle-help-CHw61JSX.js";import"./circle-check-CLK5B9u5.js";function po(){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{po as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-7IhVHlJ2.js";import{M as r}from"./MailboxPane-D3skzxVF.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useQueries-DuonHqWj.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./MailViewChrome-S7gykdhg.js";import"./NavMenuButton-DOb5_wpV.js";import"./useLabels-C_uFyrHE.js";import"./useSemanticSearch-DNlAaucG.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-C0Ep3DuK.js";import"./circle-help-CHw61JSX.js";import"./circle-check-CLK5B9u5.js";function X(){return o.jsx(r.Reading,{})}export{X as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-7IhVHlJ2.js";import{B as o}from"./BriefPane-B3SzFOBj.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./useQueries-DuonHqWj.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useSemanticSearch-DNlAaucG.js";import"./useLabels-C_uFyrHE.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function T(){return r.jsx(o.Reading,{})}export{T as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-7IhVHlJ2.js";import{F as r}from"./FlaggedPane-Bx9K7MUz.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./useQueries-DuonHqWj.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./MailViewChrome-S7gykdhg.js";import"./refresh-cw-LG4APxaz.js";import"./wizard-selection-DxUM65kM.js";function N(){return o.jsx(r.Reading,{})}export{N as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-7IhVHlJ2.js";import{O as t}from"./OutboxPane-Bb-QNA6M.js";import"./roving-focus-FTWtadRc.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-DnvcvlZb.js";import"./clock-Bw9kA5-J.js";import"./row-actions-vuTPs--E.js";import"./rotate-ccw-CrSv0jxT.js";import"./NavMenuButton-DOb5_wpV.js";import"./menu-BC4aNS1d.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{eU as o,j as m}from"./index-7IhVHlJ2.js";import{O as p}from"./OpenCalendarEvent-Cn1QGwAT.js";import"./CalendarComposePane-CvtgeFNJ.js";import"./calendar-format-BUwluD4d.js";import"./useQueries-DuonHqWj.js";import"./useCalendars-chDLMrib.js";import"./calendar-clash-strip-666qoX0F.js";import"./attendee-row-CMQBOVFi.js";import"./avatar-2y1jg_Dt.js";import"./clock-Bw9kA5-J.js";import"./map-pin-DbU9SG0U.js";import"./mail-DvIjEsSb.js";import"./pencil-BrCM9GpE.js";import"./useCalendarWrites-Bv--maCq.js";import"./ErrorState-2gehxV3K.js";import"./useCalendarData-BoJA2U_M.js";function I(){const{calendarObjectId:r,recurrenceId:t}=o.useParams();return m.jsx(p,{calendarObjectId:r,recurrenceId:t})}export{I as component};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-7IhVHlJ2.js";const n=o;export{n as component};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-7IhVHlJ2.js";const n=o;export{n as component};
@@ -1 +0,0 @@
1
- import{O as o}from"./index-7IhVHlJ2.js";const n=o;export{n as component};
@@ -1 +0,0 @@
1
- import{e as l}from"./index-7IhVHlJ2.js";const _=l("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),E=/[\u0000-\u001f\u007f-\u009f\u061c\u200b-\u200f\u2028\u2029\u202a-\u202e\u2066-\u2069\ufeff]/g,d=/[<>:"|?*]/g,f=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(\.|$)/i,r=120,h=12,A="attachment",u=t=>{const e=[...t];if(e.length<=r)return t;const s=t.lastIndexOf("."),n=s>0&&[...t.slice(s)].length<=h?t.slice(s):"",c=r-[...n].length;return e.slice(0,c).join("")+n},g=(t,e=A)=>{const n=t.replace(E,"").split(/[/\\]/),o=(n[n.length-1]??"").replace(d,"_").replace(/^[.\s]+/,"").replace(/[.\s]+$/,"");if(o.length===0)return u(e);const i=f.test(o)?`_${o}`:o;return u(i)},a=["KB","MB","GB","TB"],N=t=>{if(!Number.isFinite(t)||t<0)return"unknown size";const e=Math.round(t);if(e<1024)return e===1?"1 byte":`${e} bytes`;const s=1023.95;let n=e/1024,c=0;for(;n>=s&&c<a.length-1;)n/=1024,c+=1;return`${n.toFixed(1).replace(/\.0$/,"")} ${a[c]}`};export{_ as U,N as f,g as s};
@@ -1 +0,0 @@
1
- import{j as r,O as i}from"./index-7IhVHlJ2.js";import{a as m}from"./MailShell-CTIUWM4c.js";import{B as o}from"./BriefPane-B3SzFOBj.js";import{a as p}from"./search-token-index-L6Mkt6X5.js";import{u as e}from"./search-mirror-QEbe3NeU.js";import"./FullCompose-SnaRTmcR.js";import"./ErrorState-2gehxV3K.js";import"./index-FCYPZ1Ur.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./EmptyState-Eahp2lXz.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./useQueries-DuonHqWj.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useSemanticSearch-DNlAaucG.js";import"./useLabels-C_uFyrHE.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function $(){const t=p();return e({to:"/mail/brief"}),r.jsx(o,{thread:t,children:r.jsx(m,{phone:r.jsx(o.Phone,{}),list:r.jsx(o.List,{}),reading:r.jsx(i,{}),intelligence:r.jsx(o.Intelligence,{}),hasThread:!!t})})}export{$ as component};
@@ -1 +0,0 @@
1
- import{u as g,a as x,b as h,r as i,p as O,c as j,d as y,j as e,O as C}from"./index-7IhVHlJ2.js";import{C as N}from"./CalendarShell-LGX4J1Xv.js";import{M as P}from"./MailNav-AfGtRdvl.js";import{E}from"./ErrorState-2gehxV3K.js";import{i as S,u as b}from"./useLayoutTier-DwNvRwwG.js";import"./roving-focus-FTWtadRc.js";import"./bell-off-rbrEdWqT.js";import"./useQueries-DuonHqWj.js";import"./outbox-status-BlKn6P0x.js";import"./bug-DzYDi78F.js";function Q(){const t=g(),c=S(b()),a=x(),r=h(),l=a.includes("nav"),n=i.useCallback(v=>{r(O(a,v?"nav":void 0))},[a,r]),{data:s,isLoading:u,isError:p,error:m,refetch:f}=j({...y(),staleTime:1/0}),o=!!(s&&(s.accounts?.length??0)===0);i.useEffect(()=>{o&&t({to:"/onboarding",replace:!0})},[o,t]);const d=s?.accounts??[];return p?e.jsx("div",{className:"flex h-full items-center justify-center bg-canvas p-4",children:e.jsx(E,{title:"Couldn't load your account",error:m,onRetry:()=>{f()}})}):e.jsx(N,{chrome:{isSinglePane:c,isLoading:u||o,nav:e.jsx(P,{accounts:d,onMailboxSelect:()=>n(!1)}),navOpen:l,onOpenNav:()=>n(!0),onCloseNav:()=>n(!1)},children:e.jsx(C,{})})}export{Q as component};
@@ -1 +0,0 @@
1
- import{e as F,u as I,r as f,a9 as D,ex as B,ey as z,bZ as x,cm as G,ez as A,c as P,eA as C,h as Y,s as q}from"./index-7IhVHlJ2.js";import{u as Z}from"./useQueries-DuonHqWj.js";const pt=F("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]),y=480,m=1320,N=90;function v(t){return Number(t.slice(11,13))*60+Number(t.slice(14,16))}function yt(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 Dt(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 L(t,e){const n=new Date(`${t}T00:00:00Z`);return n.setUTCDate(n.getUTCDate()+e),n.toISOString().slice(0,10)}function gt(t,e){return Math.round((Date.parse(`${e}T00:00:00Z`)-Date.parse(`${t}T00:00:00Z`))/864e5)}function $t(t){const e=t.start.slice(0,10),n=t.end.slice(0,10);if(!t.allDay)return n;const a=L(n,-1);return a<e?e:a}function bt(t,e){const n=[];for(let a=t;a<=e;a=L(a,1))n.push(a);return n}function wt(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{month:"long",year:"numeric"})}function Tt(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 Mt(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"long"})}function vt(t,e){const[n,a,o]=t.split("-").map(Number),[r,s,c]=e.split("-").map(Number),u=new Date(n,a-1,o),l=new Date(r,s-1,c),i=u.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",...a===s?{}:{month:"short"}}),w=l.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short"});return`${i} – ${w}`}function Q(t){const[e,n,a]=t.split("-").map(Number);return new Date(e,n-1,a).toLocaleDateString("en-GB",{weekday:"short"})}function d(t){return new Date(t).getTime()}function K(t,e){return t.allDay?e>=t.start.slice(0,10)&&e<t.end.slice(0,10):t.start.slice(0,10)===e}function V(t,e){return d(t.start)<d(e.end)&&d(e.start)<d(t.end)}function H(t){const e=t.map(r=>[d(r.start),d(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 J(t){const e=[];for(const n of t){const a=t.filter(r=>r.id===n.id||V(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=>K(r,t)),o=a.filter(r=>!r.allDay).sort((r,s)=>d(r.start)-d(s.start));return{date:t,weekdayLabel:Q(t),dayNumber:Number(t.slice(8)),isToday:t===n,timed:o,allDay:a.filter(r=>r.allDay),busyMinutes:H(o),conflicts:J(o)}}function X(t){return t.timed.length===0&&t.allDay.length===0}function tt(t){return U(t.timed.map(e=>({from:v(e.start),to:v(e.end)})))}function U(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 k(t){return Math.min(Math.max(t,y),m)}function et(t,e,n=N){const a=U(e);if(a.length===0)return[{date:t,startMinute:y,endMinute:m,minutes:m-y,wholeDay:!0}];const o=[];let r=y;for(const s of a){const c=k(s.from),u=k(s.to);c-r>=n&&o.push({date:t,startMinute:r,endMinute:c,minutes:c-r,wholeDay:!1}),r=Math.max(r,c,u)}return m-r>=n&&o.push({date:t,startMinute:r,endMinute:m,minutes:m-r,wholeDay:!1}),o}function nt(t,e=N){return et(t.date,tt(t),e)}function Nt(t,e,{ignoreIds:n=[]}={}){const a=Date.parse(t.start),o=Date.parse(t.end);return e.filter(r=>r.allDay||r.myRsvp==="declined"||n.includes(r.id)?!1:Date.parse(r.start)<o&&a<Date.parse(r.end))}function Ot(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(X(r)&&!e.includes(r.date)){a.push(r);continue}o(),n.push({kind:"day",key:r.date,day:r})}return o(),n}function Et(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 kt(t,e){const n=Date.parse(e),a=e.slice(0,10),o=t.flatMap(l=>l.timed).sort((l,i)=>Date.parse(l.start)-Date.parse(i.start)),r=o.filter(l=>Date.parse(l.start)<=n&&Date.parse(l.end)>n),s=o.filter(l=>Date.parse(l.start)>n),c=s[0],u=r.filter(l=>l.start.slice(0,10)===a).length+s.filter(l=>l.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:u,free:at(t,e,1)[0]}}function at(t,e,n){const a=e.slice(0,10),o=v(e),r=[];for(const s of t)if(!(s.date<a))for(const c of nt(s)){if(s.date>a)r.push(c);else{const u=Math.max(c.startMinute,o);if(c.endMinute-u<N)continue;r.push({...c,startMinute:u,minutes:c.endMinute-u,wholeDay:c.wholeDay&&u===c.startMinute})}if(r.length===n)return r}return r}const rt={"cal-1":{solid:"bg-cal-1",soft:"bg-cal-1-soft",text:"text-cal-1",border:"border-cal-1",rail:"border-l-cal-1"},"cal-2":{solid:"bg-cal-2",soft:"bg-cal-2-soft",text:"text-cal-2",border:"border-cal-2",rail:"border-l-cal-2"},"cal-3":{solid:"bg-cal-3",soft:"bg-cal-3-soft",text:"text-cal-3",border:"border-cal-3",rail:"border-l-cal-3"},"cal-4":{solid:"bg-cal-4",soft:"bg-cal-4-soft",text:"text-cal-4",border:"border-cal-4",rail:"border-l-cal-4"},"cal-5":{solid:"bg-cal-5",soft:"bg-cal-5-soft",text:"text-cal-5",border:"border-cal-5",rail:"border-l-cal-5"},"cal-6":{solid:"bg-cal-6",soft:"bg-cal-6-soft",text:"text-cal-6",border:"border-cal-6",rail:"border-l-cal-6"}};function St(t){return rt[t]}const g="/calendar/$view/$date";function ot(){const t=D({from:g,shouldThrow:!1}),e=B({from:g,shouldThrow:!1}),n=t?.view??"",a=t?.date??"",o=e?.calendarId;return f.useMemo(()=>({...z({view:n,date:a},x(new Date)),calendarIds:o??[]}),[n,a,o])}function It(){const t=D({from:"/calendar/$view/$date/$calendarObjectId",shouldThrow:!1}),e=D({from:"/calendar/$view/$date/$calendarObjectId/$recurrenceId",shouldThrow:!1}),n=t?.calendarObjectId,a=e?.recurrenceId;return f.useMemo(()=>n?{calendarObjectId:n,recurrenceId:a}:void 0,[n,a])}function xt(){return D({from:"/calendar/$view/$date/new",shouldThrow:!1})!==void 0}function At(){const t=I(),e=G(),{view:n,date:a}=ot(),o=f.useCallback(r=>{t({to:g,params:r,search:!0,hash:e})},[t,e]);return f.useMemo(()=>({goToView:r=>o({view:r,date:a}),step:r=>o({view:n,date:A(a,n,r)}),goToToday:()=>o({view:n,date:x(new Date)}),setAnchorDate:r=>t({to:g,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])}function Lt(){const t=I();return f.useCallback((e,n,a)=>{if(a===""){t({to:"/calendar/$view/$date/$calendarObjectId",params:{view:"day",date:e,calendarObjectId:n}});return}t({to:"/calendar/$view/$date/$calendarObjectId/$recurrenceId",params:{view:"day",date:e,calendarObjectId:n,recurrenceId:a}})},[t])}const p=t=>String(t).padStart(2,"0"),st=t=>`${t.getUTCFullYear()}-${p(t.getUTCMonth()+1)}-${p(t.getUTCDate())}`,R=t=>{const e=t<0?"-":"+",n=Math.abs(t);return`${e}${p(Math.floor(n/60))}:${p(n%60)}`};function _(t,e){const n=new Date(`${t}T${e}:00`);return`${t}T${e}:00${R(-n.getTimezoneOffset())}`}const T=new Map;function ct(t){if(T.has(t))return T.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 T.set(t,e),e}function S(t,e){const n=ct(t);if(!n)return Number.NaN;const a=n.formatToParts(new Date(e)),o=c=>Number(a.find(u=>u.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 Ut(t,e,n){if(n==="")return`${t}T${e}:00+00:00`;const a=Date.parse(`${t}T${e}:00Z`),o=S(n,a);if(Number.isNaN(o))return _(t,e);const r=S(n,a-o*6e4);return`${t}T${e}:00${R(Number.isNaN(r)?o:r)}`}const $=t=>_(t,"00:00");function b(t,e){const[n,a,o]=t.split("-").map(Number);return st(new Date(Date.UTC(n,a-1,o+e)))}function it(t){const[e,n,a]=t.split("-").map(Number),o=new Date(Date.UTC(e,n-1,a));return b(t,-((o.getUTCDay()+6)%7))}function ut(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}-${p(a)}-01`,s=a===12?`${n+1}-01-01`:`${n}-${p(a+1)}-01`;return[r,s]}if(t==="day")return[e,b(e,1)];const o=it(e);return[o,b(o,7)]}function lt(t,e){const[n,a]=ut(t,e);return{from:$(n),to:$(a)}}function Rt(t,e){return{from:$(t),to:$(b(t,e))}}const j=q(400,404),O=5*6e4,E=({from:t,to:e,calendarIds:n})=>({query:n.length===0?{from:t,to:e}:{from:t,to:e,calendarId:[...n]}});function _t(t){const{data:e,isLoading:n,error:a,refetch:o}=P({...C(E(t)),meta:j,staleTime:O,enabled:t.enabled??!0});return{instances:e?.items??[],isLoading:n,error:a,refetch:()=>{o()}}}function jt(t,e,n){const a=Z({queries:t.map(i=>({...C(E({...i,calendarIds:e})),meta:j,staleTime:O,enabled:n}))}),o=t.map(i=>i.from).join("|"),r=a.map(i=>i.data),s=a.map(i=>i.isPending).join("|"),c=a.find(i=>i.error)?.error??null,u=f.useMemo(()=>r.flatMap(i=>i?.items??[]),[o,s]),l=f.useMemo(()=>{const i=new Set;return t.forEach((w,W)=>{a[W]?.isPending&&i.add(w.from)}),i},[o,s]);return{instances:u,pendingWindows:l,error:c,refetch:()=>{for(const i of a)i.error&&i.refetch()}}}function Wt(t,e,n,a){const o=Y(),r=[...n].join(",");f.useEffect(()=>{if(!a)return;const s=r===""?[]:r.split(",");for(const c of[-1,1]){const u=lt(t,A(e,t,c));o.prefetchQuery({...C(E({...u,calendarIds:s})),staleTime:O})}},[o,t,e,r,a])}const M=new Intl.DateTimeFormat(void 0,{weekday:"short",day:"numeric",month:"long"}),h=new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1}),dt=new Intl.DateTimeFormat(void 0,{weekday:"long",day:"numeric",month:"long",timeZone:"UTC"}),ft=new Intl.DateTimeFormat(void 0,{weekday:"short",day:"numeric",month:"long",timeZone:"UTC"});function Ft(t){return ft.format(new Date(`${t}T00:00:00Z`))}function Bt(t){const e=new Date(t.start),n=new Date(t.end),a=M.format(e);return t.allDay?`${a}, all day`:M.format(n)===a?`${a}, ${h.format(e)} – ${h.format(n)}`:`${a}, ${h.format(e)} – ${M.format(n)}, ${h.format(n)}`}function zt(t){return dt.format(new Date(`${t}T00:00:00Z`))}function Gt(t){return h.format(new Date(`1970-01-01T${t}:00`))}function Pt(t){return h.format(new Date(t))}export{b as A,U as B,bt as C,y as D,lt as E,et as F,O as G,Ft as H,Bt as I,Gt as J,Wt as K,gt as L,Ut as M,$t as N,Nt as O,pt as R,vt as a,Ot as b,St as c,v as d,yt as e,nt as f,Et as g,tt as h,m as i,Dt as j,L as k,Tt as l,wt as m,At as n,It as o,jt as p,Ct as q,kt as r,xt as s,Lt as t,ot as u,Rt as v,Mt as w,_t as x,Pt as y,zt as z};
@@ -1 +0,0 @@
1
- import{e as V,t as f,j as s,ar as $,r as p,W as ee,X as te,dk as se,f as R,aM as ne,ah as ae,bZ as k,er as re,s as W,c as U,es as ie,h as oe,i as A,et as le,eu as ce,ev as de,ew as ue,aZ as me,a_ as fe}from"./index-7IhVHlJ2.js";import{c as xe,R as pe,A as y,B as he,C as ge,E as G,F as q,G as ye,y as F,H as I,I as be,e as _,J as L,z as ve}from"./calendar-format-BUwluD4d.js";import{M as O}from"./mail-DvIjEsSb.js";import{G as H}from"./map-pin-DbU9SG0U.js";import{u as Ne}from"./useQueries-DuonHqWj.js";import{f as je}from"./ErrorState-2gehxV3K.js";const Ce=V("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);function Se(e){const t=xe(e.color),n=e.rsvp==="tentative"||e.status==="tentative";return f("flex min-w-0 overflow-hidden rounded-sm border-l-2 px-1.5 py-0.5",t.soft,t.text,t.rail,e.layout==="column"||e.stacked?"flex-col":"items-center gap-1.5",n&&"border-y border-r border-dashed",n&&t.border,e.rsvp==="declined"&&"opacity-60",e.selected&&"ring-2 ring-ring",e.density==="compact"?"text-2xs":"text-xs")}function ke({title:e,timeText:t,layout:n,rsvp:a,hasThread:i,isRecurring:l,zoneCertainty:c,trailing:r,detail:u}){const o=n==="column",d=c==="ambiguous",m=!o&&u!==void 0,x=s.jsxs("span",{className:f("flex min-w-0 items-center gap-1",o&&"w-full",a==="declined"&&"line-through"),children:[t!==""&&s.jsx("span",{className:"shrink-0 tabular-nums opacity-80",children:t}),s.jsx("span",{className:"truncate font-medium",children:e})]}),g=(l||i||d)&&s.jsxs("span",{className:f("flex shrink-0 items-center gap-1",o&&"mt-0.5",!o&&r===void 0&&"ml-auto"),children:[l&&s.jsx(pe,{className:"size-2.5","aria-label":"Repeats"}),i&&s.jsx(O,{className:"size-2.5","aria-label":"From mail"}),d&&s.jsx(H,{className:"size-2.5 text-warning","aria-label":"Unclear zone"})]}),b=r!==void 0&&s.jsx("span",{className:f("shrink-0 opacity-80",!o&&"ml-auto"),children:r});return s.jsxs(s.Fragment,{children:[m?s.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[x,g,b]}):s.jsxs(s.Fragment,{children:[x,g,b]}),u]})}function Ve({title:e,timeText:t,color:n,layout:a,density:i,rsvp:l,status:c,hasThread:r,isRecurring:u,zoneCertainty:o,selected:d,onClick:m,leading:x,trailing:g,detail:b}){const j=a==="column";return s.jsxs("button",{type:"button",onClick:m,"aria-pressed":d,className:f("group flex w-full min-w-0 text-left outline-none transition-colors","focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-surface",j?"h-full":"items-start",x!==void 0&&"gap-2"),children:[x,s.jsx("span",{className:f(Se({color:n,layout:a,density:i,rsvp:l,status:c,selected:d,stacked:b!==void 0}),"flex-1",j&&"h-full"),children:s.jsx(ke,{title:e,timeText:t,layout:a,rsvp:l,hasThread:r,isRecurring:u,zoneCertainty:o,trailing:g,detail:b})})]})}function et({text:e,reportHref:t,className:n}){return s.jsxs("div",{role:"alert",className:f("flex items-start gap-1.5 rounded-md border border-danger/40 bg-danger-soft p-2 text-xs text-danger",n),children:[s.jsx($,{className:"mt-0.5 size-3.5 shrink-0","aria-hidden":!0}),s.jsxs("p",{className:"min-w-0 flex-1",children:[e,t&&s.jsxs(s.Fragment,{children:[" ",s.jsx("a",{href:t,target:"_blank",rel:"noreferrer",className:"font-medium text-accent hover:underline",children:"Report an issue"})]})]})]})}const P=96;function tt({children:e,hasCard:t,onConfirm:n,onReject:a,blocked:i,blockedReason:l,remaining:c,confirmLabel:r="Add",emptyText:u="Nothing in your mail is waiting on a decision about time.",className:o}){const[d,m]=p.useState(0),[x,g]=p.useState(null);if(!t)return s.jsxs("div",{className:f("flex flex-col items-center gap-2 p-6 text-center",o),children:[s.jsx(ee,{className:"size-6 text-fg-subtle","aria-hidden":!0}),s.jsx("p",{className:"text-sm text-fg-muted",children:u})]});const b=Math.abs(d)>P,j=d>0;return s.jsxs("div",{className:f("flex flex-col gap-3",o),children:[s.jsxs("div",{className:"relative",children:[s.jsx("div",{className:"touch-pan-y select-none",style:{transform:`translateX(${d}px) rotate(${d/40}deg)`,transition:x===null?"transform 180ms ease-out":"none"},onPointerDown:v=>{v.currentTarget.setPointerCapture(v.pointerId),g(v.clientX)},onPointerMove:v=>{x!==null&&m(v.clientX-x)},onPointerUp:()=>{Math.abs(d)>P&&(d>0&&!i&&n(),d<0&&a()),g(null),m(0)},onPointerCancel:()=>{g(null),m(0)},children:e}),b&&s.jsx("span",{className:f("pointer-events-none absolute top-3 rounded-md px-2 py-1 text-xs font-semibold",j?"right-3 bg-accent-soft text-accent":"left-3 bg-danger-soft text-danger"),children:j?i?l:r:"Not this"})]}),s.jsxs("p",{className:"text-center text-2xs text-fg-subtle",children:[c," left · swipe right to accept, left to drop, or use the buttons"]})]})}const Ee="Pick a clock first. The mail never said, and the reader will not choose for you.";function we(e,t){const n=e.zoneOptions;return n===void 0?{settled:!0,timeZone:""}:n.some(a=>a.timeZone===t)?{settled:!0,timeZone:t}:{settled:!1,reason:Ee}}function B(e){return e.threadSubject===""?e.sender:`${e.sender} — ${e.threadSubject}`}function De(e){return e>=.85?"Read cleanly":e>=.6?"Read with gaps":"Barely read"}function st({suggestion:e,whenText:t,onAdd:n,onReview:a,onDismiss:i,onOpenThread:l,busy:c=!1,addBlocked:r=!1,zoneChoice:u,onZoneChoice:o,addLabel:d="Add",touch:m,className:x}){const[g,b]=p.useState(""),[j,v]=p.useState(!1),w=p.useId(),D=u??g,J=h=>{v(!1),o?o(h):b(h)},N=we(e,D),T=h=>()=>{if(!N.settled){v(!0);return}h(N.timeZone)};return s.jsxs("article",{"aria-label":e.title,className:f("flex flex-col gap-2 rounded-lg border border-dashed border-line-strong bg-surface-sunken p-3",x),children:[s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsxs("span",{className:"min-w-0 flex-1",children:[s.jsxs("span",{className:"block text-2xs uppercase tracking-wider text-fg-subtle",children:["Suggested from mail · ",De(e.confidence)]}),s.jsx("span",{className:"block truncate text-sm font-medium text-fg",children:e.title}),s.jsx("span",{className:"block text-xs text-fg-muted",children:t}),e.location!==""&&s.jsx("span",{className:"block truncate text-xs text-fg-muted",children:e.location})]}),s.jsx("button",{type:"button","aria-label":"Dismiss suggestion",onClick:i,disabled:c,className:f("flex shrink-0 items-center justify-center rounded-md text-fg-subtle outline-none hover:bg-surface hover:text-fg focus-visible:ring-2 focus-visible:ring-ring",m?"size-11":"size-7"),children:s.jsx(te,{className:"size-4"})})]}),e.ambiguity!==""&&s.jsxs("p",{className:"flex items-start gap-1.5 text-2xs text-warning",children:[s.jsx($,{className:"mt-0.5 size-3 shrink-0","aria-hidden":!0}),e.ambiguity]}),l?s.jsxs("button",{type:"button",onClick:l,className:"flex w-full min-w-0 items-center gap-1.5 rounded-sm text-left text-2xs text-accent-2 outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring",children:[s.jsx(O,{className:"size-3 shrink-0"}),s.jsx("span",{className:"truncate",children:B(e)})]}):s.jsxs("p",{className:"flex w-full min-w-0 items-center gap-1.5 text-2xs text-fg-subtle",children:[s.jsx(O,{className:"size-3 shrink-0"}),s.jsx("span",{className:"truncate",children:B(e)})]}),e.zoneOptions&&s.jsxs("div",{className:"flex flex-col gap-1.5 rounded-md border border-warning/40 p-2",children:[s.jsxs("p",{className:"flex items-center gap-1.5 text-2xs font-semibold text-warning",children:[s.jsx(H,{className:"size-3 shrink-0","aria-hidden":!0}),"Which clock is this on?"]}),e.zoneOptions.map(h=>s.jsxs("button",{type:"button","aria-pressed":D===h.timeZone,onClick:()=>J(h.timeZone),className:f("rounded-md border px-2 py-1 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring",m&&"min-h-11",D===h.timeZone?"border-accent bg-accent-soft":"border-line bg-surface hover:border-line-strong"),children:[s.jsx("span",{className:"block text-xs font-medium text-fg",children:h.label}),s.jsx("span",{className:"block text-2xs text-fg-subtle",children:h.note})]},h.timeZone))]}),!N.settled&&s.jsx(se,{id:w,reason:N.reason,nudged:j,className:"text-2xs text-warning"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(R,{variant:"primary",size:m?"md":"sm",icon:s.jsx(ne,{className:"size-3.5"}),onClick:T(n),disabled:c||r,"aria-describedby":N.settled?void 0:w,className:f(m&&"min-h-11 flex-1",!N.settled&&"opacity-55"),children:d}),a&&s.jsx(R,{variant:"secondary",size:m?"md":"sm",icon:s.jsx(Ce,{className:"size-3.5"}),onClick:T(a),disabled:c,"aria-describedby":N.settled?void 0:w,className:f(m&&"min-h-11",!N.settled&&"opacity-55"),children:"Change first"})]})]})}function nt(e){return e.defaultCalendarId!==""?"ready":e.error!==null?"failed":e.isLoading?"loading":"none"}function at(e,t){if(e!=="ready")return e==="loading"?"Reading your calendars…":e==="failed"?s.jsxs(s.Fragment,{children:["Couldn't read your calendars, so there is nowhere to add this yet. Reload to try again."," ",s.jsx("a",{href:t,target:"_blank",rel:"noreferrer",className:"font-medium text-accent hover:underline",children:"Report an issue"})]}):s.jsxs(s.Fragment,{children:["You have no calendar yet, so there is nowhere to add this."," ",s.jsx(ae,{to:"/settings/calendars",className:"font-medium text-accent hover:underline",children:"Create a calendar"})]})}const Ae=24,Q=7,Ie=52,E=Ie*7,ze=e=>({from:y(e,-10),to:y(e,Ae),floor:y(e,-E),ceiling:y(e,E)}),Me=e=>e.from<=e.floor,Oe=e=>e.to>=e.ceiling,Te=(e,t)=>e>t?e:t,Re=(e,t)=>e<t?e:t,Fe=e=>Me(e)?e:{...e,from:Te(y(e.from,-Q),e.floor)},_e=e=>Oe(e)?e:{...e,to:Re(y(e.to,Q),e.ceiling)},rt=e=>Fe({...e,floor:y(e.from,-E)}),it=e=>_e({...e,ceiling:y(e.to,E)});function ot(e,t){return t>=e.from&&t<=e.to?e:ze(t)}function lt(e){const t=new Map;for(const n of e){const a=G("week",n);t.has(a.from)||t.set(a.from,a)}return[...t.values()]}const ct=e=>G("week",e).from,Le=1440,Z=e=>e.getHours()*60+e.getMinutes();function K(e,t){const n=new Set(e),a=new Map;for(const i of t){const l=new Date(i.start),c=new Date(i.end);if(Number.isNaN(l.getTime())||Number.isNaN(c.getTime())||c.getTime()<=l.getTime())continue;const r=k(l),u=k(new Date(c.getTime()-1));for(let o=r;o<=u;o=y(o,1)){if(!n.has(o))continue;const d=o===r?Z(l):0,m=k(c)===o?Z(c):Le;if(m<=d)continue;const x=a.get(o);x?x.push({from:d,to:m}):a.set(o,[{from:d,to:m}])}}for(const[i,l]of a)a.set(i,he(l));return a}function dt(e,t){const n=K(e,t);return new Map(e.map(a=>[a,q(a,n.get(a)??[])]))}const ut=e=>ge(e.from,e.to),Pe=W(400,404);function mt(e){const t=Ne({queries:e.map(r=>({...re({query:{from:r.from,to:r.to}}),meta:Pe,staleTime:ye}))}),n=e.map(r=>r.from).join("|"),a=t.map(r=>r.data),i=t.map(r=>r.isPending).join("|"),l=p.useMemo(()=>a.flatMap(r=>r?.items??[]),[n,i]),c=p.useMemo(()=>{const r=new Set;return e.forEach((u,o)=>{t[o]?.isPending&&r.add(u.from)}),r},[n,i]);return{spans:l,pendingWindows:c,error:t.find(r=>r.error)?.error??null,refetch:()=>{for(const r of t)r.error&&r.refetch()}}}const C=W(400,404),Be=new Set(["calendarSuggestionOperationsListCalendarSuggestions","messageCalendarSuggestionOperationsListMessageCalendarSuggestions","calendarEventOperationsListCalendarEvents","calendarEventDetailOperationsGetCalendarEvent","calendarFreeBusyOperationsListCalendarFreeBusy","filterOperationsListFilters"]),Ze=e=>e.invalidateQueries({predicate:t=>{const n=t.queryKey[0];if(typeof n!="object"||n===null)return!1;const a=n._id;return typeof a=="string"&&Be.has(a)}});function ft(e){const{data:t,isLoading:n,error:a}=U({...ie({path:{messageId:e}}),meta:C});return{suggestions:t?.items??[],isLoading:n,error:a??null}}function xt(){const{data:e,isLoading:t,error:n}=U({...ue({query:{state:"Pending"}}),meta:C});return{suggestions:e?.items??[],isLoading:t,error:n??null}}const z={kind:"answered"},M=e=>({kind:"refused",message:je(e)});function pt(){const e=oe(),t=p.useCallback(()=>Ze(e),[e]),n=A({...le(),meta:C,onSuccess:t}),a=A({...ce(),meta:C,onSuccess:t}),i=A({...de(),meta:C,onSuccess:t}),l=p.useCallback((u,o)=>n.mutateAsync({path:{suggestionId:u},body:{calendarId:o}}).then(()=>z).catch(M),[n]),c=p.useCallback(u=>a.mutateAsync({path:{suggestionId:u}}).then(()=>z).catch(M),[a]),r=p.useCallback((u,o)=>i.mutateAsync({path:{suggestionId:u},body:{muteSender:o}}).then(()=>z).catch(M),[i]);return p.useMemo(()=>({accept:l,decline:c,dismiss:r,isAnswering:n.isPending||a.isPending||i.isPending}),[l,c,r,n.isPending,a.isPending,i.isPending])}function ht(e){return me(fe({title:`Calendar invitation: ${e}`,errorMessage:e}))}const S=30,$e=6,X={Local:"local",Explicit:"explicit",Ambiguous:"ambiguous"},We="The invitation named a time zone nothing could resolve, so this time may be hours out.";function gt(e){if(e.state!=="Dismissed")return e.method==="Cancel"?e.state==="Pending"?{state:"cancelled",rsvp:"noReply"}:void 0:e.state==="Superseded"?{state:"superseded",rsvp:"noReply"}:e.state==="Accepted"?{state:"answered",rsvp:"accepted"}:e.state==="Declined"?{state:"answered",rsvp:"declined"}:e.state==="Tentative"?{state:"answered",rsvp:"tentative"}:{state:"pending",rsvp:"noReply"}}const Ue=e=>e.source!=="TextHeuristic";function yt(e){return e.allDay?e.dtStart.slice(0,10):k(new Date(e.dtStart))}const Y=e=>e.summary===""?"Untitled event":e.summary;function bt(e){if(e.allDay){const t=e.dtStart.slice(0,10),n=e.dtEnd.slice(0,10),a=n>t?y(n,-1):t;return a===t?`${I(t)}, all day`:`${I(t)} – ${I(a)}, all day`}return be({start:e.dtStart,end:e.dtEnd,allDay:e.allDay})}function Ge(e,t){return{id:e.suggestionId,calendarId:t.calendarId,title:Y(e),start:e.dtStart,end:e.dtEnd,allDay:e.allDay,location:e.location,notes:"",attendees:[],myRsvp:"noReply",threadId:t.threadId,threadSubject:t.threadSubject,timeZone:"",zoneCertainty:X[e.zoneCertainty],recurrenceRule:"",seriesId:"",seriesException:!1,status:"confirmed"}}function vt(e,t,n){const a=e.organizer===""?n.senderName:e.organizer;return{id:e.suggestionId,threadId:n.threadId,proposed:Ge(e,n),organizerName:a===""?"The sender":a,organizerEmail:e.organizer,method:"ics",evidence:"",state:t,sequence:e.sequence}}function Nt(e,t){return{id:e.suggestionId,title:Y(e),start:e.dtStart,end:e.dtEnd,allDay:e.allDay,location:e.location,threadId:t.threadId,threadSubject:t.threadSubject,sender:t.sender,senderAddress:e.organizer,confidence:Ue(e)?1:.6,ambiguity:e.zoneCertainty==="Ambiguous"?We:"",suggestedCalendarId:t.calendarId,timeZone:"",zoneCertainty:X[e.zoneCertainty]}}const qe=(e,t)=>Date.parse(t.start)<Date.parse(e.end)&&Date.parse(t.end)>Date.parse(e.start);function jt(e,t){return t.filter(n=>qe(e,n)).map(n=>({id:`${n.start}/${n.end}`,label:`Busy ${F(n.start)} – ${F(n.end)}`}))}function Ct(e,t){const n=K([e],t).get(e)??[],a=[];for(const i of q(e,n,S))for(let l=i.startMinute;l+S<=i.endMinute&&a.length<$e;l+=S)a.push({date:e,endDate:e,startTime:_(l),endTime:_(l+S),allDay:!1});return a}function St(e,t,n){const a=t.filter(i=>n.includes(i.startTime)).map(i=>`${L(i.startTime)} – ${L(i.endTime)}`);return`${ve(e)}: ${a.join(", ")}`}export{Ue as A,gt as B,Ve as C,yt as D,st as E,jt as F,vt as G,Ct as H,St as I,Ee as Z,ke as a,ot as b,Se as c,ut as d,ct as e,dt as f,Fe as g,_e as h,it as i,Oe as j,Me as k,rt as l,et as m,tt as n,xt as o,pt as p,bt as q,ze as r,we as s,Nt as t,mt as u,ht as v,lt as w,at as x,nt as y,ft as z};
@@ -1 +0,0 @@
1
- import{e}from"./index-7IhVHlJ2.js";const t=e("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);export{t as C};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-SnaRTmcR.js";import"./index-7IhVHlJ2.js";import"./ErrorState-2gehxV3K.js";import"./index-FCYPZ1Ur.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./confirm-dialog-Y2-tLYTm.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-SnaRTmcR.js";import"./index-7IhVHlJ2.js";import"./ErrorState-2gehxV3K.js";import"./index-FCYPZ1Ur.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./confirm-dialog-Y2-tLYTm.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-SnaRTmcR.js";import"./index-7IhVHlJ2.js";import"./ErrorState-2gehxV3K.js";import"./index-FCYPZ1Ur.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./confirm-dialog-Y2-tLYTm.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-SnaRTmcR.js";import"./index-7IhVHlJ2.js";import"./ErrorState-2gehxV3K.js";import"./index-FCYPZ1Ur.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./confirm-dialog-Y2-tLYTm.js";const c=o;export{c as component};
@@ -1 +0,0 @@
1
- import{j as o,O as i}from"./index-7IhVHlJ2.js";import{a as m}from"./MailShell-CTIUWM4c.js";import{F as r}from"./FlaggedPane-Bx9K7MUz.js";import{a as p}from"./search-token-index-L6Mkt6X5.js";import{u as e}from"./search-mirror-QEbe3NeU.js";import"./FullCompose-SnaRTmcR.js";import"./ErrorState-2gehxV3K.js";import"./index-FCYPZ1Ur.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./EmptyState-Eahp2lXz.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./useQueries-DuonHqWj.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./MailViewChrome-S7gykdhg.js";import"./refresh-cw-LG4APxaz.js";import"./wizard-selection-DxUM65kM.js";function X(){const t=p();return e({to:"/mail/flagged"}),o.jsx(r,{thread:t,children:o.jsx(m,{phone:o.jsx(r.Phone,{}),list:o.jsx(r.List,{}),reading:o.jsx(i,{}),intelligence:o.jsx(r.Intelligence,{}),hasThread:!!t})})}export{X as component};
@@ -1 +0,0 @@
1
- import{j as e,f as j,a3 as B,bv as X,r as c,aI as Y,X as W,aQ as he,az as J,a2 as xe,aT as G,bw as fe,ay as pe,aB as ge,B as z,aS as be,bx as ve,h as Z,Q as ee,o as se,by as ye,bz as je,aP as Ne,P as ke,bA as Ce,bB as _,bC as we,bD as Se,bE as te,bF as Ie,bG as H,bm as ae,bs as re,bt as Me,af as K,ae as ne,L as Q,bH as q,bI as Ee,ar as De,bJ as Ae,u as Oe,c as ie,d as Te,aL as Re,aN as Pe,K as Fe,i as V,s as $e,bK as Le,bL as ze,bM as _e,aX as Be,bN as Ke,bO as Qe}from"./index-7IhVHlJ2.js";import{P as Ge}from"./pencil-BrCM9GpE.js";import{S as He}from"./settings-screen-BpdZ1aOF.js";import{E as oe}from"./ErrorState-2gehxV3K.js";import"./avatar-2y1jg_Dt.js";import"./chevron-left-BEa4nJIj.js";import"./menu-BC4aNS1d.js";import"./circle-help-CHw61JSX.js";const qe=({label:s,onRename:t,onDelete:a,deleteBlockedReason:o,renameLabel:m=u=>`Rename ${u}`,deleteLabel:r=u=>`Delete ${u}`})=>{const u=o?`${r(s)} — ${o}`:r(s);return e.jsxs("span",{className:"flex shrink-0 items-center gap-0.5 pr-2",children:[e.jsx(j,{variant:"ghost",size:"sm",icon:e.jsx(Ge,{className:"size-3.5"}),"aria-label":m(s),onClick:t}),e.jsx("span",{title:o,children:e.jsx(j,{variant:"ghost",size:"sm",icon:e.jsx(B,{className:"size-3.5"}),"aria-label":u,disabled:o!==void 0,onClick:a})})]})},Ve=({folders:s,onRename:t,onDelete:a,onCreateFolder:o,delimiter:m,labels:r})=>{const u=new Map(s.map(l=>[l.id,l]));return e.jsx(X,{folders:s,onCreateFolder:o,delimiter:m,labels:{treeAriaLabel:"Your folders",optionLabel:l=>l.label,...r},rowActions:l=>{const i=u.get(l.id);return i?e.jsx(qe,{label:i.label,deleteBlockedReason:i.deleteBlockedReason,renameLabel:r?.rename,deleteLabel:r?.remove,onRename:()=>t(i),onDelete:()=>a(i)}):null}})},Ue=({open:s,folderLabel:t,defaultLabel:a,name:o,onNameChange:m,onSubmit:r,onClose:u,pending:l=!1,error:i})=>{const d=c.useId(),p=`Rename ${t}`;return s?e.jsxs(Y,{open:s,onClose:u,title:p,children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-line px-5 py-3",children:[e.jsx("span",{className:"flex-1 text-sm font-semibold text-fg",children:p}),e.jsx(j,{variant:"ghost",size:"sm",icon:e.jsx(W,{className:"size-3.5"}),onClick:u,"aria-label":"Cancel"})]}),e.jsxs("div",{className:"space-y-3 px-5 py-4",children:[e.jsxs("div",{children:[e.jsx(he,{htmlFor:d,children:"Folder name"}),e.jsx(J,{id:d,value:o,placeholder:a,onChange:g=>m(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),r())}})]}),e.jsxs("p",{className:"text-xs text-fg-muted",children:["Shown everywhere in Remit. Leave it blank to use"," ",e.jsx("span",{className:"font-medium text-fg",children:a}),"."]}),i&&e.jsx("p",{className:"text-xs text-danger",role:"alert",children:i})]}),e.jsxs("footer",{className:"flex items-center justify-end gap-2 border-t border-line px-5 py-3",children:[e.jsx(j,{variant:"secondary",size:"sm",onClick:u,children:"Cancel"}),e.jsx(j,{variant:"primary",size:"sm",onClick:r,disabled:l,children:l?"Saving…":"Save name"})]})]}):null},Xe=["inbox","drafts","sent","archive","junk","trash"],U="",Ye={mailboxId:null,source:"None"};function We(s){const t=s.messageCount===1?"msg":"msgs";return`${G(s.providerPath,s.hierarchyDelimiter)} · ${s.messageCount} ${t}`}const le=s=>`${s} ${s===1?"message":"messages"}`,Je=(s,t)=>s==="Appointed"?"Chosen by you":s==="Flagged"?`The mail server marks it as ${t}`:s==="Reserved"?"The account's own INBOX":"Matched by name, not confirmed";function Ze({role:s,folders:t,appointment:a,displayName:o,onAppoint:m,onRename:r}){const[u,l]=c.useState(o),i=c.useRef(null),d=c.useRef(!1),p=c.useId(),{mailboxId:g,source:v,staleFolderPath:y}=a,h=t.find(N=>N.mailboxId===g)??null,f=be(s),O=h!=null&&u.trim()!==o.trim();c.useEffect(()=>{!d.current||v==="Proposed"||(d.current=!1,i.current?.focus())},[v]);const M=(()=>{if(v==="None"){const N=s==="trash"?" Deleting mail needs one.":"";return e.jsx("span",{id:p,className:"pl-[7.5rem] text-xs text-fg-muted",children:`Not set — pick the folder this account uses for ${f}.${N}`})}return v==="Stale"||!h?null:e.jsx("span",{id:p,className:"truncate pl-[7.5rem] text-2xs text-fg-subtle",title:h.providerPath,children:`${Je(v,f)} · ${h.providerPath} · ${le(h.messageCount)}`})})(),w=s==="trash"?" Deleting mail is stopped until you pick another one.":h?` reader is using ${G(h.providerPath,h.hierarchyDelimiter)} instead.`:"",A=`The folder you chose for ${f}${y?` — ${y} —`:""} is gone from the mail server.${w}`;return e.jsxs("div",{className:"flex flex-col gap-1 border-b border-line px-row-inset py-2.5 last:border-b-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"flex w-28 shrink-0 items-center gap-2 text-sm font-medium text-fg",children:[fe(s),f]}),e.jsxs(pe,{ref:i,className:"w-56 shrink-0",value:h?.mailboxId??U,"aria-label":`Folder for ${f}`,"aria-describedby":M||v==="Stale"?p:void 0,onChange:N=>m(s,N.target.value),children:[!h&&e.jsx("option",{value:U,disabled:!0,children:"Choose a folder"}),t.map(N=>e.jsx("option",{value:N.mailboxId,children:We(N)},N.mailboxId))]}),v==="Proposed"&&h&&e.jsx(j,{variant:"secondary",size:"sm",className:"shrink-0",onClick:()=>{d.current=!0,m(s,h.mailboxId)},children:`Set as ${f}`}),h&&e.jsxs(e.Fragment,{children:[e.jsx(J,{className:"flex-1",value:u,placeholder:f,"aria-label":`Display name for ${f}`,onChange:N=>l(N.target.value)}),O&&e.jsx(j,{variant:"ghost",size:"sm",className:"shrink-0",icon:e.jsx(ge,{className:"size-4"}),"aria-label":"Save display name",onClick:()=>r(h.mailboxId,u)})]})]}),M,v==="Stale"&&e.jsx(z,{tone:"warning",variant:"soft",className:"ml-[7.5rem]",children:e.jsxs("span",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{id:p,className:"flex-1",children:A}),e.jsx(j,{variant:"secondary",size:"sm",className:"shrink-0",onClick:()=>i.current?.focus(),children:"Pick a folder"})]})})]})}function es(){return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:"Each canonical role — Inbox, Drafts, Sent, Archive, Spam, Trash — points at one of your account's real folders. Pick the one that actually holds the mail; the message counts tell real folders from empty look-alikes."}),e.jsx("p",{children:`Appointing a folder to a role here doesn't touch any other role, and doesn't move or rename anything on the server — it just tells Remit which folder to treat as e.g. "Drafts" everywhere (sidebar, unread badges, the compose flow).`}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-fg",children:"Your folders"})," is the account's real hierarchy. Open a folder to see what's inside it, make a new one where you're looking, and rename or delete any of them from its row."]})]})}function ss({accountEmail:s,folders:t,appointments:a,displayNames:o={},onAppoint:m,onRename:r}){const u=new Set(Object.values(a).map(i=>i.mailboxId).filter(i=>i!=null)),l=t.filter(i=>!u.has(i.mailboxId));return e.jsxs("section",{className:"space-y-3",children:[e.jsxs("header",{className:"space-y-1",children:[e.jsxs("h2",{className:"text-sm font-semibold text-fg",children:["Folder roles — ",s]}),e.jsx("p",{className:"text-xs text-fg-muted",children:"Each row says where its answer came from — your choice, the mail server's own flag, or a name reader matched."})]}),e.jsx("div",{className:"rounded-sm border border-line bg-surface",children:Xe.map(i=>{const d=a[i]??Ye;return e.jsx(Ze,{role:i,folders:t,appointment:d,displayName:d.mailboxId?o[d.mailboxId]??"":"",onAppoint:m,onRename:r},i)})}),l.length>0&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("h3",{className:"text-xs font-medium text-fg-muted",children:"Other folders"}),e.jsx("ul",{className:"rounded-sm border border-line bg-surface",children:l.map(i=>e.jsxs("li",{className:"flex items-center gap-2 border-b border-line px-row-inset py-2 text-sm text-fg last:border-b-0",children:[e.jsx(xe,{className:"size-4 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"truncate",children:G(i.providerPath,i.hierarchyDelimiter)}),e.jsx("span",{className:"ml-auto shrink-0 text-2xs text-fg-subtle",children:le(i.messageCount)})]},i.mailboxId))})]})]})}const ts=12e4,as=2e3,rs="This folder is no longer in the account's folder list, so nothing was deleted.",ce=(s,t)=>{const a=s.find(o=>o.mailboxId===t);if(!a)throw new Error(rs);return a},ns=(s,t)=>ce(s,t).lastSyncedAt??0;async function is({readMailboxes:s,mailboxId:t,since:a,signal:o,segmentMs:m=ts,pollIntervalMs:r=as,delay:u=ve,now:l=Date.now}){const i=l()+m;for(;;){o?.throwIfAborted();const d=ce(await s(),t);if((d.lastSyncedAt??0)>a)return{status:"fresh",messageCount:d.messagesTotal};if(l()>=i)return{status:"pending"};await u(r,o)}}const de=50,os=s=>s instanceof Error?s.message:"Something went wrong.",$=s=>s.then(t=>({ok:!0,value:t}),t=>({ok:!1,error:os(t)})),ls=async(s,t,a,o)=>{const m=[];let r;for(let u=0;u<de;u+=1){if(o.aborted)return m;const{data:l}=await te({path:{mailboxId:s},query:{order:"desc",continuationToken:r},throwOnError:!0});for(const i of l.items)if(!i.isDeleted&&!t.has(i.messageId)&&!m.includes(i.messageId)&&(m.push(i.messageId),m.length>=a))return m;if(!l.continuationToken)break;r=l.continuationToken}return m},cs=async(s,t)=>{let a=0,o;for(let m=0;m<de;m+=1){if(t.aborted)return a;const{data:r}=await te({path:{mailboxId:s},query:{order:"desc",continuationToken:o},throwOnError:!0});for(const u of r.items)u.isDeleted||(a+=1);if(!r.continuationToken)break;o=r.continuationToken}return a};function ds({accountId:s,mailboxId:t,onDeleted:a}){const o=Z(),[m,r]=c.useState("idle"),[u,l]=c.useState(null),[i,d]=c.useState(),[p,g]=c.useState(),v=c.useRef(null),y=c.useRef(void 0),h=c.useCallback(()=>{o.invalidateQueries({queryKey:ee({path:{accountId:s}})}),o.invalidateQueries({queryKey:se()})},[o,s]),f=c.useCallback(async()=>{r("deleting");const k=await $(ye({path:{accountId:s,mailboxId:t},throwOnError:!0}));if(!k.ok){d(k.error),r("error");return}h(),r("done"),a()},[s,t,h,a]),O=c.useCallback(()=>je({path:{accountId:s},throwOnError:!0}).then(({data:k})=>k.items.find(S=>S.mailboxId===t)?.messageCount??0),[s,t]),M=c.useCallback(()=>o.fetchQuery({...Ne({path:{accountId:s}}),staleTime:0}).then(k=>k.mailboxes??[]),[o,s]),w=c.useCallback(async()=>{const k=new AbortController;v.current=k;const{signal:S}=k;r("checking"),d(void 0);const I=y.current!==void 0,C=await $((async()=>(I||(S.throwIfAborted(),y.current=ns(await M(),t),S.throwIfAborted(),g(Date.now()),await ke({path:{accountId:s},throwOnError:!0})),is({readMailboxes:M,mailboxId:t,since:y.current??0,signal:S})))());return S.aborted?(r("idle"),y.current=void 0,{status:"failed"}):C.ok?C.value.status==="pending"?(r("check-stalled"),{status:"pending"}):(y.current=void 0,C.value.messageCount>0?(r("idle"),h(),{status:"blocked",messageCount:C.value.messageCount}):(await f(),{status:"deleted"})):(y.current=void 0,d(C.error),r("error"),{status:"failed"})},[s,t,M,f,h]),A=c.useCallback(()=>{v.current?.abort()},[]),N=c.useCallback(async k=>{const S=new AbortController;v.current=S;const{signal:I}=S;r("moving"),d(void 0);const C=await $(O());if(I.aborted)return;if(!C.ok){d(C.error),r("error");return}let x=Ce(C.value);l(x);const E=new Set;for(;;){if(I.aborted)return;const n=await $(ls(t,E,Ie,I));if(I.aborted)return;if(!n.ok){x=_(x,n.error),l(x),d(n.error),r("error");return}const b=n.value;if(b.length===0)break;const T=await $(we({body:{messageIds:b,destinationMailboxId:k},throwOnError:!0}));if(I.aborted)return;if(!T.ok){x=_(x,T.error),l(x),d(T.error),r("error");return}for(const F of b)E.add(F);x=Se(x,b.length),l(x)}const D=await $(cs(t,I));if(!I.aborted){if(!D.ok){x=_(x,D.error),l(x),d(D.error),r("error");return}if(D.value>0){const n=`${D.value} ${D.value===1?"email is":"emails are"} still syncing. Re-open delete to finish removing this folder.`;x=_(x,n),l(x),d(n),r("error"),h();return}await f()}},[t,O,f,h]),R=c.useCallback(()=>{v.current?.abort(),v.current=null,y.current=void 0,r("idle"),l(null),d(void 0),g(void 0)},[]);return{phase:m,progress:u,errorMessage:i,checkStartedAt:p,deleteMailbox:f,deleteIfEmpty:w,moveThenDelete:N,cancel:A,reset:R}}const L=s=>`${s} ${s===1?"email":"emails"}`;function ms({open:s,accountId:t,folder:a,mailboxes:o,appointments:m,onClose:r}){const[u,l]=c.useState(()=>H(a.messageCount)),[i,d]=c.useState(),[p,g]=c.useState(),{createFolderIn:v}=ae(t),y=re(),{phase:h,progress:f,errorMessage:O,checkStartedAt:M,deleteMailbox:w,deleteIfEmpty:A,moveThenDelete:N,cancel:R,reset:k}=ds({accountId:t,mailboxId:a.mailboxId,onDeleted:r}),[S,I]=c.useState("0:00"),C=h==="checking"||h==="check-stalled";c.useEffect(()=>{if(!C||M===void 0)return;const P=()=>I(Ae(Date.now()-M));P();const ue=setInterval(P,1e3);return()=>clearInterval(ue)},[C,M]),c.useEffect(()=>{s&&(l(H(a.messageCount)),d(void 0),k())},[s,k]),c.useEffect(()=>{s&&g(void 0)},[s]),c.useEffect(()=>R,[R]);const x=c.useCallback(()=>{R(),r()},[R,r]),E=c.useCallback(async()=>{const P=await A();P.status==="blocked"&&(d(P.messageCount),l("choose-fate"))},[A]),D=c.useMemo(()=>Me({mailboxes:o,folderAppointments:m,excludeMailboxId:a.mailboxId,translator:y}),[o,m,a.mailboxId,y]),n=D.find(P=>P.id===p),b=c.useMemo(()=>K(a,ne(m).get(a.mailboxId),y),[a,m,y]);if(!s)return null;const T=`Delete ${b}`,F=i??a.messageCount,me=h==="moving"?e.jsxs("div",{className:"flex flex-col items-center gap-3 px-5 py-10 text-center",children:[e.jsx(Q,{className:"size-8 animate-spin text-accent-2"}),e.jsx("p",{className:"text-sm font-medium text-fg",children:"Moving emails…"}),e.jsx("p",{className:"text-xs text-fg-muted",role:"status","aria-live":"polite",children:f?q(f):"Moved 0 of 0"})]}):h==="checking"?e.jsxs("div",{className:"flex flex-col items-center gap-3 px-5 py-10 text-center",children:[e.jsx(Q,{className:"size-8 animate-spin text-accent-2"}),e.jsx("p",{className:"text-sm font-medium text-fg",children:"Checking the folder on the mail server…"}),e.jsx("p",{className:"text-xs text-fg-muted",role:"status","aria-live":"polite",children:`Waiting ${S}. Nothing is deleted until the server answers.`})]}):h==="check-stalled"?e.jsxs("div",{className:"space-y-4 px-5 py-4",children:[e.jsx(z,{tone:"warning",variant:"soft",children:`The mail server hasn't reported back on this folder yet — ${S} so far. Nothing has been deleted.`}),e.jsx("p",{className:"text-xs text-fg-muted",children:"A sync covers the whole account, so a busy mailbox can take a while to come round to this folder."}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(j,{variant:"secondary",size:"sm",onClick:x,children:"Cancel"}),e.jsx(j,{size:"sm",onClick:()=>E(),children:"Keep waiting"})]})]}):h==="deleting"||h==="done"?e.jsxs("div",{className:"flex flex-col items-center gap-3 px-5 py-10 text-center",children:[e.jsx(Q,{className:"size-8 animate-spin text-accent-2"}),e.jsx("p",{className:"text-sm font-medium text-fg",children:"Deleting folder…"})]}):h==="error"?e.jsxs("div",{className:"space-y-4 px-5 py-4",children:[e.jsx(z,{tone:"danger",variant:"soft",children:O??"Something went wrong. Please try again."}),f&&e.jsxs("p",{className:"text-xs text-fg-muted",children:[q(f),". Already-moved emails stay moved — re-open delete to continue with the rest."]}),e.jsx("div",{className:"flex justify-end",children:e.jsx(j,{variant:"secondary",size:"sm",onClick:x,children:"Close"})})]}):u==="confirm-empty"?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"space-y-3 px-5 py-4 text-sm text-fg-muted",children:e.jsxs("p",{children:["Delete ",e.jsx("strong",{className:"text-fg",children:b}),"? This folder is empty and will be removed from the server."]})}),e.jsxs("footer",{className:"flex items-center justify-end gap-2 border-t border-line px-5 py-3",children:[e.jsx(j,{variant:"secondary",size:"sm",onClick:x,children:"Cancel"}),e.jsx(j,{variant:"danger",size:"sm",icon:e.jsx(B,{className:"size-3.5"}),onClick:()=>E(),children:"Delete folder"})]})]}):u==="choose-fate"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-3 px-5 py-4 text-sm text-fg-muted",children:[i!==void 0&&e.jsx(z,{tone:"warning",variant:"soft",children:`This folder is not empty: the mail server reports ${L(i)} in it. Nothing was deleted.`}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-fg",children:b})," holds"," ",L(F),". What should happen to them?"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("button",{type:"button",onClick:()=>l("confirm-delete-all"),className:"flex w-full items-center gap-3 rounded-sm border border-line px-3 py-2.5 text-left hover:bg-surface-raised",children:[e.jsx(B,{className:"size-4 shrink-0 text-danger"}),e.jsxs("span",{className:"flex-1",children:[e.jsx("span",{className:"block text-sm font-medium text-fg",children:"Delete them with the folder"}),e.jsx("span",{className:"block text-xs text-fg-muted",children:"The emails are removed from the server and can't be recovered."})]})]}),e.jsxs("button",{type:"button",onClick:()=>l("pick-destination"),className:"flex w-full items-center gap-3 rounded-sm border border-line px-3 py-2.5 text-left hover:bg-surface-raised",children:[e.jsx(Ee,{className:"size-4 shrink-0 text-accent-2"}),e.jsxs("span",{className:"flex-1",children:[e.jsx("span",{className:"block text-sm font-medium text-fg",children:"Move them to another folder"}),e.jsx("span",{className:"block text-xs text-fg-muted",children:"Keep the emails, then delete the emptied folder."})]})]})]})]}),e.jsx("footer",{className:"flex items-center justify-end gap-2 border-t border-line px-5 py-3",children:e.jsx(j,{variant:"secondary",size:"sm",onClick:x,children:"Cancel"})})]}):u==="confirm-delete-all"?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"space-y-3 px-5 py-4 text-sm text-fg-muted",children:e.jsxs("p",{children:["Delete ",e.jsx("strong",{className:"text-fg",children:b})," and its"," ",L(F),"? The messages are removed from the server with the folder and can't be recovered."]})}),e.jsxs("footer",{className:"flex items-center justify-end gap-2 border-t border-line px-5 py-3",children:[e.jsx(j,{variant:"secondary",size:"sm",onClick:()=>l("choose-fate"),children:"Back"}),e.jsx(j,{variant:"danger",size:"sm",icon:e.jsx(B,{className:"size-3.5"}),onClick:()=>w(),children:"Delete folder and emails"})]})]}):e.jsxs("div",{className:"flex h-[26rem] flex-col",children:[e.jsxs("p",{className:"px-5 pt-4 text-sm text-fg-muted",children:["Move the ",L(F)," in"," ",e.jsx("strong",{className:"text-fg",children:b})," to:"]}),e.jsx("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:e.jsx(X,{folders:D,selectedId:p,delimiter:o[0]?.hierarchyDelimiter??"/",onSelect:g,onCreateFolder:v,onCancel:()=>{g(void 0),l("choose-fate")},labels:{filterPlaceholder:"Move emails to…"}})}),n&&e.jsx("footer",{className:"shrink-0 border-t border-line p-2",children:e.jsx(j,{variant:"danger",onClick:()=>N(n.id),className:"h-11 w-full font-semibold",children:e.jsx("span",{className:"truncate",children:`Move ${L(F)} to ${n.label}`})})})]});return e.jsxs(Y,{open:s,onClose:x,title:T,children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-line px-5 py-3",children:[e.jsx(De,{className:"size-4 shrink-0 text-danger"}),e.jsx("span",{className:"flex-1 text-sm font-semibold text-fg",children:T}),e.jsx(j,{variant:"ghost",size:"sm",icon:e.jsx(W,{className:"size-3.5"}),onClick:x,"aria-label":"Cancel"})]}),me]})}function us({account:s}){const t=Z(),a=s.accountId,o=re(),{data:m,isPending:r,isError:u,error:l,refetch:i}=ie(Fe({path:{accountId:a}})),{createFolderIn:d}=ae(a),p=V({...Le(),meta:$e(409),onSuccess:()=>{t.invalidateQueries({queryKey:se()})}}),g=V({...ze(),onSuccess:()=>{t.invalidateQueries({queryKey:ee({path:{accountId:a}})})}}),[v,y]=c.useState(),[h,f]=c.useState(),[O,M]=c.useState(""),w=c.useMemo(()=>m?.items??[],[m]),A=c.useMemo(()=>ne(s.folderAppointments),[s.folderAppointments]),N=c.useMemo(()=>w.map(n=>({id:n.mailboxId,label:K(n,A.get(n.mailboxId),o),path:n.fullPath,deleteBlockedReason:_e(n,w,s.folderAppointments).message})),[w,A,o,s.folderAppointments]),R=(n,b)=>{p.mutate({path:{accountId:a,role:Qe[n]},body:{mailboxId:b}})},k=(n,b)=>{const T=b.trim();g.mutate({path:{accountId:a,mailboxId:n},body:{displayNameOverride:T===""?null:T}})};if(r)return e.jsx("div",{className:"h-24 animate-pulse rounded-sm border border-line bg-surface","aria-busy":"true","aria-label":`Loading folders for ${s.email}`});if(u)return e.jsx(oe,{variant:"inline",title:`Couldn't load folders for ${s.email}`,error:l,onRetry:()=>{i()}});const S=w.map(n=>({mailboxId:n.mailboxId,providerPath:n.fullPath,hierarchyDelimiter:n.hierarchyDelimiter,messageCount:n.messageCount})),I={};for(const n of s.folderAppointments){const b=Be[n.role];b&&(I[b]={mailboxId:n.mailboxId??null,source:n.source,staleFolderPath:n.staleAppointmentPath})}const C={};for(const n of w)n.displayNameOverride&&(C[n.mailboxId]=n.displayNameOverride);const x=n=>w.find(b=>b.mailboxId===n),E=x(h),D=x(v);return e.jsxs("div",{className:"space-y-4",children:[(p.isError||g.isError)&&e.jsx(z,{tone:"danger",variant:"soft",children:Ke(p.error)?"That folder is still being created on the mail server — wait for it to finish, then try again.":"Couldn't save that change. Please try again."}),e.jsx(ss,{accountEmail:s.email,folders:S,appointments:I,displayNames:C,onAppoint:R,onRename:k}),e.jsxs("section",{className:"space-y-1.5",children:[e.jsxs("h3",{className:"text-sm font-semibold text-fg",children:["Your folders — ",s.email]}),e.jsx("div",{className:"flex h-[28rem] flex-col overflow-hidden rounded-sm border border-line bg-surface",children:e.jsx(Ve,{folders:N,delimiter:w[0]?.hierarchyDelimiter??"/",onCreateFolder:d,onRename:n=>{f(n.id),M(x(n.id)?.displayNameOverride?.trim()??"")},onDelete:n=>y(n.id),labels:{treeAriaLabel:`All folders for ${s.email}`}})})]}),E&&e.jsx(Ue,{open:!0,folderLabel:K(E,A.get(E.mailboxId),o),defaultLabel:K({fullPath:E.fullPath,hierarchyDelimiter:E.hierarchyDelimiter},A.get(E.mailboxId),o),name:O,onNameChange:M,pending:g.isPending,error:g.isError?"Couldn't save that name. Please try again.":void 0,onSubmit:()=>{const n=O.trim();g.mutate({path:{accountId:a,mailboxId:E.mailboxId},body:{displayNameOverride:n===""?null:n}},{onSuccess:()=>f(void 0)})},onClose:()=>f(void 0)}),D&&e.jsx(ms,{open:!0,accountId:a,folder:D,mailboxes:w,appointments:s.folderAppointments,onClose:()=>y(void 0)})]})}function js(){const s=Oe(),[t,a]=c.useState(!0),{data:o,isPending:m,isError:r,error:u,refetch:l}=ie(Te()),i=d=>{const p=Pe[d];p&&s({to:p})};return e.jsx(He,{items:Re,activeId:"folders",title:"Folder roles",description:"Appoint which real folder fills each canonical role, per account.",help:e.jsx(es,{}),helpOpen:t,onToggleHelp:()=>a(d=>!d),onSelect:i,onBackToMail:()=>{s({to:"/mail"})},children:m?e.jsx("div",{className:"h-24 animate-pulse rounded-sm border border-line bg-surface","aria-busy":"true","aria-label":"Loading accounts"}):r?e.jsx(oe,{title:"Couldn't load accounts",error:u,onRetry:()=>{l()}}):o.accounts.length===0?e.jsx("p",{className:"py-12 text-sm text-fg-muted",children:"No accounts configured."}):e.jsx("div",{className:"space-y-8",children:o.accounts.map(d=>e.jsx(us,{account:d},d.accountId))})})}export{js as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-7IhVHlJ2.js";import{M as r}from"./MailboxPane-D3skzxVF.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useQueries-DuonHqWj.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./MailViewChrome-S7gykdhg.js";import"./NavMenuButton-DOb5_wpV.js";import"./useLabels-C_uFyrHE.js";import"./useSemanticSearch-DNlAaucG.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-C0Ep3DuK.js";import"./circle-help-CHw61JSX.js";import"./circle-check-CLK5B9u5.js";function X(){return o.jsx(r.Reading,{})}export{X as component};
@@ -1 +0,0 @@
1
- import{eS as o,j as r}from"./index-7IhVHlJ2.js";import{O as m}from"./OpenCalendarEvent-Cn1QGwAT.js";import"./CalendarComposePane-CvtgeFNJ.js";import"./calendar-format-BUwluD4d.js";import"./useQueries-DuonHqWj.js";import"./useCalendars-chDLMrib.js";import"./calendar-clash-strip-666qoX0F.js";import"./attendee-row-CMQBOVFi.js";import"./avatar-2y1jg_Dt.js";import"./clock-Bw9kA5-J.js";import"./map-pin-DbU9SG0U.js";import"./mail-DvIjEsSb.js";import"./pencil-BrCM9GpE.js";import"./useCalendarWrites-Bv--maCq.js";import"./ErrorState-2gehxV3K.js";import"./useCalendarData-BoJA2U_M.js";function v(){const{calendarObjectId:t}=o.useParams();return r.jsx(m,{calendarObjectId:t})}export{v as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-7IhVHlJ2.js";import{B as o}from"./BriefPane-B3SzFOBj.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./useQueries-DuonHqWj.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useSemanticSearch-DNlAaucG.js";import"./useLabels-C_uFyrHE.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function T(){return r.jsx(o.Reading,{})}export{T as component};
@@ -1 +0,0 @@
1
- import{j as t,an as o}from"./index-7IhVHlJ2.js";const n=()=>t.jsx(o,{to:"/settings/accounts"});export{n as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-7IhVHlJ2.js";import{O as t}from"./OutboxPane-Bb-QNA6M.js";import"./roving-focus-FTWtadRc.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-DnvcvlZb.js";import"./clock-Bw9kA5-J.js";import"./row-actions-vuTPs--E.js";import"./rotate-ccw-CrSv0jxT.js";import"./NavMenuButton-DOb5_wpV.js";import"./menu-BC4aNS1d.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function c(){return o.jsx(t.Reading,{})}export{c as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-7IhVHlJ2.js";import{F as r}from"./FlaggedPane-Bx9K7MUz.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./useQueries-DuonHqWj.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./MailViewChrome-S7gykdhg.js";import"./refresh-cw-LG4APxaz.js";import"./wizard-selection-DxUM65kM.js";function M(){return o.jsx(r.Reading,{})}export{M as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-7IhVHlJ2.js";import{M as i}from"./MailboxPane-D3skzxVF.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useQueries-DuonHqWj.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./MailViewChrome-S7gykdhg.js";import"./NavMenuButton-DOb5_wpV.js";import"./useLabels-C_uFyrHE.js";import"./useSemanticSearch-DNlAaucG.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-C0Ep3DuK.js";import"./circle-help-CHw61JSX.js";import"./circle-check-CLK5B9u5.js";function X(){return o.jsx(i.Reading,{})}export{X as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-7IhVHlJ2.js";import{B as o}from"./BriefPane-B3SzFOBj.js";import"./useSearchTokenContext-DFeI23Ju.js";import"./kbd-BwmHuAX8.js";import"./useMessageBodyContent-DqnHLGXQ.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-Cu4wemwM.js";import"./roving-focus-FTWtadRc.js";import"./search-token-index-L6Mkt6X5.js";import"./useQueries-DuonHqWj.js";import"./popover-menu-Lxas-eO6.js";import"./mail-DvIjEsSb.js";import"./avatar-2y1jg_Dt.js";import"./index-FCYPZ1Ur.js";import"./useSignature-Bc7ArarA.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-zUwFPFcb.js";import"./sections-CFEXxR3C.js";import"./EmptyState-Eahp2lXz.js";import"./ErrorState-2gehxV3K.js";import"./attachment-file-Nf9Lupmr.js";import"./download-BqYGlW3y.js";import"./calendar-suggestion-DlPmCFBX.js";import"./calendar-format-BUwluD4d.js";import"./map-pin-DbU9SG0U.js";import"./attendee-row-CMQBOVFi.js";import"./clock-Bw9kA5-J.js";import"./calendar-clash-strip-666qoX0F.js";import"./bell-off-rbrEdWqT.js";import"./copy-Bz4vyOnq.js";import"./shield-check-DBAZd1ed.js";import"./useCalendars-chDLMrib.js";import"./useFilters-CvpDOWxu.js";import"./confirm-dialog-Y2-tLYTm.js";import"./useLayoutTier-DwNvRwwG.js";import"./menu-BC4aNS1d.js";import"./useRefreshControl-CSyHT70d.js";import"./circle-check-big-DnvcvlZb.js";import"./refresh-cw-LG4APxaz.js";import"./useSemanticSearch-DNlAaucG.js";import"./useLabels-C_uFyrHE.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function S(){return r.jsx(o.Reading,{})}export{S as component};