@remit/web-client-dist 0.0.556 → 0.0.558

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 (158) hide show
  1. package/assets/{BriefPane-CzpxWzXP.js → BriefPane-fwQqEof8.js} +1 -1
  2. package/assets/{CalendarComposePane-DPZ0LmXE.js → CalendarComposePane-B2Re5idb.js} +1 -1
  3. package/assets/{CalendarComposeSeed-B2BgldrX.js → CalendarComposeSeed-CzscCDso.js} +1 -1
  4. package/assets/{CalendarShell-CrEYuvGh.js → CalendarShell-DrnLc-fb.js} +1 -1
  5. package/assets/{EmptyState-DjG2vik2.js → EmptyState-DqEP1kNd.js} +1 -1
  6. package/assets/{ErrorState-D9K04lHc.js → ErrorState-E7wwBvZt.js} +1 -1
  7. package/assets/{FlaggedPane-D5kil_eg.js → FlaggedPane-CLK73bCu.js} +1 -1
  8. package/assets/{FullCompose-DDDA7gVW.js → FullCompose-BApcbRDS.js} +1 -1
  9. package/assets/MailListHeader-CxXickFS.js +7 -0
  10. package/assets/MailNav-CYlFq8R5.js +1 -0
  11. package/assets/{MailShell-BHmbmhqi.js → MailShell-TMwF6sX-.js} +1 -1
  12. package/assets/{MailViewChrome-D70OQa4-.js → MailViewChrome-BsXNinpD.js} +1 -1
  13. package/assets/{MailboxPane-CxfWuIsZ.js → MailboxPane-COkkCMA2.js} +1 -1
  14. package/assets/{NavMenuButton-BF1zalD9.js → NavMenuButton-DigEYlF7.js} +1 -1
  15. package/assets/{OnboardingWizard-BCIWuyFY.js → OnboardingWizard-CCBliJuM.js} +1 -1
  16. package/assets/{OpenCalendarEvent-C35bGGPy.js → OpenCalendarEvent-BWCoIdId.js} +2 -2
  17. package/assets/{OutboxPane-CtBj1Y45.js → OutboxPane-D_ut-dw1.js} +1 -1
  18. package/assets/_calendarObjectId-B3JsQw6K.js +1 -0
  19. package/assets/_mailboxId-BIVj1caD.js +1 -0
  20. package/assets/_messageId-B8UraiA1.js +1 -0
  21. package/assets/_messageId-b0YPagdE.js +1 -0
  22. package/assets/_messageId-viF13ddY.js +1 -0
  23. package/assets/_outboxMessageId-xTY9dRJR.js +1 -0
  24. package/assets/_recurrenceId-DQXitvaQ.js +1 -0
  25. package/assets/_threadId-Cu9hgGBz.js +1 -0
  26. package/assets/_threadId-CuinibRg.js +1 -0
  27. package/assets/_threadId-DuupVxv5.js +1 -0
  28. package/assets/_view._date-DivB1jjv.js +1 -0
  29. package/assets/accounts-CwSzL3ZN.js +1 -0
  30. package/assets/{advanced-BYNKT8qi.js → advanced-D9W5hBcN.js} +2 -2
  31. package/assets/{appearance-C5EbdVgi.js → appearance-BaZKssKJ.js} +1 -1
  32. package/assets/{attachment-file-4Zl5jmUV.js → attachment-file-D3QKEMvK.js} +1 -1
  33. package/assets/{attendee-row-gpHxsuD_.js → attendee-row-BykOhwYt.js} +1 -1
  34. package/assets/{avatar-BSvAFgta.js → avatar-B6_QS9Vn.js} +1 -1
  35. package/assets/bottom-sheet-Doa7nVeT.js +1 -0
  36. package/assets/brief--SIgROSY.js +1 -0
  37. package/assets/{brief-D1jyZ3s5.js → brief-DDbEkAYG.js} +1 -1
  38. package/assets/{browser-ponyfill-Bf8Ox_Uj.js → browser-ponyfill-ZfbP-5LR.js} +2 -2
  39. package/assets/{bug-DUeo5_Uu.js → bug-lpYW9xjp.js} +1 -1
  40. package/assets/{calendar-Bue9cbmq.js → calendar-PxA43rIs.js} +1 -1
  41. package/assets/{calendar-color-CiAME2PF.js → calendar-color-BYSDonpj.js} +1 -1
  42. package/assets/{calendar-event-chip-BGmuWCFF.js → calendar-event-chip-Cdhm7rmt.js} +1 -1
  43. package/assets/{calendars-CfwKXO9z.js → calendars-CqpEpS16.js} +1 -1
  44. package/assets/{card-BuAlC7UV.js → card-CwNbxxE4.js} +1 -1
  45. package/assets/chevron-left-Cn-ry2g0.js +1 -0
  46. package/assets/{circle-check-BRMaJLFX.js → circle-check-Ii4oERMF.js} +1 -1
  47. package/assets/{circle-check-big-xjrW0cXa.js → circle-check-big-BR5h0Zvj.js} +1 -1
  48. package/assets/{circle-help-kesrsCfa.js → circle-help-DUS4kGK8.js} +1 -1
  49. package/assets/{clock-aTuXA4mA.js → clock-BxhfAHx6.js} +1 -1
  50. package/assets/compose._-_outboxMessageId_-DCh1FfFf.js +1 -0
  51. package/assets/compose._-_outboxMessageId_-DUcTRYia.js +1 -0
  52. package/assets/compose._-_outboxMessageId_-DWc8hTcU.js +1 -0
  53. package/assets/compose._-_outboxMessageId_-p28V-vQ9.js +1 -0
  54. package/assets/{config-import-B76x8Cls.js → config-import-DTiQc-D8.js} +1 -1
  55. package/assets/confirm-dialog-Crb3-RAA.js +1 -0
  56. package/assets/{copy-BoavkRTO.js → copy-CqPuBaHj.js} +1 -1
  57. package/assets/{credential-steps-C-nrQMrj.js → credential-steps-DeXIsuVT.js} +1 -1
  58. package/assets/{download-plt-DvO3.js → download-jGq9Kcl5.js} +1 -1
  59. package/assets/{file-json-D-YZdYiO.js → file-json-XpwC1d5z.js} +1 -1
  60. package/assets/{filters-DrpknMRG.js → filters-BltbPIu0.js} +1 -1
  61. package/assets/flagged-3sndDDzX.js +1 -0
  62. package/assets/{flagged-ajQwaQCg.js → flagged-fkMsasT5.js} +1 -1
  63. package/assets/folders-D4Awnqnj.js +1 -0
  64. package/assets/{format-DV51L-5t.js → format-B3FZZ_Wg.js} +1 -1
  65. package/assets/{help-copy-BmzPQ2zg.js → help-copy-B95Z1I2K.js} +1 -1
  66. package/assets/{import-BPcgjsDr.js → import-BYNRGaCn.js} +1 -1
  67. package/assets/index-BJHCsYKc.js +1 -0
  68. package/assets/index-BeQCinrz.js +1 -0
  69. package/assets/{index-BJo_eIFV.css → index-BqWgpRnh.css} +1 -1
  70. package/assets/{index-CD2f8G1g.js → index-BxITc2V1.js} +4 -4
  71. package/assets/index-BzdlRgzy.js +1 -0
  72. package/assets/index-C0AnP0Nv.js +1 -0
  73. package/assets/index-Cwo525jm.js +1 -0
  74. package/assets/index-Cx7VzbKm.js +1 -0
  75. package/assets/index-DQPD3bsR.js +1 -0
  76. package/assets/{index-CnQhUzpu.js → index-DXkko108.js} +61 -61
  77. package/assets/{index-CIlooK6Y.js → index-DbRjnAbA.js} +1 -1
  78. package/assets/index-bwA9akkO.js +1 -0
  79. package/assets/index-viF13ddY.js +1 -0
  80. package/assets/{kbd-CreXKdFs.js → kbd-Cn9Tbmmd.js} +1 -1
  81. package/assets/{labels-Cg0nw5_j.js → labels-I70_S4_3.js} +1 -1
  82. package/assets/mail-CRIYR34a.js +1 -0
  83. package/assets/{mail-BrievyOG.js → mail-SsJCOul8.js} +1 -1
  84. package/assets/{map-pin-BFTF47Oi.js → map-pin-fTxfnqFj.js} +1 -1
  85. package/assets/{menu-CB_7f-VX.js → menu-eSleC8XY.js} +1 -1
  86. package/assets/{new-D4kgeQwb.js → new-CbOJ3F5R.js} +1 -1
  87. package/assets/onboarding-CPOjfpSA.js +1 -0
  88. package/assets/{onboarding-completion-B0hLOoYA.js → onboarding-completion-CcdwV2x0.js} +1 -1
  89. package/assets/outbox-Bw7r2R2x.js +1 -0
  90. package/assets/{pencil-ln_zd-v6.js → pencil-C1oLb7kY.js} +1 -1
  91. package/assets/{refresh-cw-BuJ6ivrC.js → refresh-cw-6xfOFxC9.js} +1 -1
  92. package/assets/{rich-text-5VIC85k3.js → rich-text-HOmxAhoL.js} +15 -15
  93. package/assets/{rich-text-spellcheck-worker-provider-sf4XE686.js → rich-text-spellcheck-worker-provider-DthkXRM2.js} +1 -1
  94. package/assets/{rotate-ccw-3YGigbg2.js → rotate-ccw-om7JDsQ-.js} +1 -1
  95. package/assets/{roving-focus-CCsAlkWZ.js → roving-focus-BVJG2ofh.js} +1 -1
  96. package/assets/{row-actions-ZFt2V9Kz.js → row-actions-dM2z5A0x.js} +1 -1
  97. package/assets/{search-mirror-MYcnbbOP.js → search-mirror-DcfTPF-i.js} +1 -1
  98. package/assets/{search-token-index-B83nV8O4.js → search-token-index-k1Au9EYh.js} +1 -1
  99. package/assets/{sections-BihXO8oY.js → sections-biEXpz9y.js} +1 -1
  100. package/assets/{senders-CBiTxPTf.js → senders-Dl-fX-rj.js} +1 -1
  101. package/assets/settings-D0jYg_8p.js +1 -0
  102. package/assets/{settings-screen-DrUkCIc8.js → settings-screen-AvsVs57A.js} +1 -1
  103. package/assets/{shield-check-CK2b-sGg.js → shield-check-1CM9Pvzd.js} +1 -1
  104. package/assets/{suggested-vips-B7P-0eCw.js → suggested-vips-BSI_9ZkS.js} +1 -1
  105. package/assets/useCalendarData-Dh9Au_9G.js +1 -0
  106. package/assets/{useCalendars-CUUfKEWF.js → useCalendars-BUaj7BDG.js} +1 -1
  107. package/assets/{useDebouncedValue-CCilrXn7.js → useDebouncedValue-DRdv4Vl1.js} +1 -1
  108. package/assets/{useFilters-D6TWTCaf.js → useFilters-C-KZauxf.js} +1 -1
  109. package/assets/{useLabels-Cp8HIOMT.js → useLabels-BgCM_prF.js} +1 -1
  110. package/assets/{useLayoutTier-CYeHLrjH.js → useLayoutTier-BAUIkr7p.js} +1 -1
  111. package/assets/{useMessageBodyContent-Brfp8ayB.js → useMessageBodyContent-DWJAyoTG.js} +1 -1
  112. package/assets/{useQueries-BN3GIDu9.js → useQueries-BQVY3UPI.js} +1 -1
  113. package/assets/{useRefreshControl-CcMeCYwi.js → useRefreshControl-ph0BlCty.js} +1 -1
  114. package/assets/{useResultFolderIndex-eiPPM65h.js → useResultFolderIndex-CSTKOvAu.js} +1 -1
  115. package/assets/{useSearchTokenContext-RGBzXekP.js → useSearchTokenContext-BRly3Sjb.js} +4 -4
  116. package/assets/{useSemanticSearch-BseEAAw4.js → useSemanticSearch-C9ggGpra.js} +1 -1
  117. package/assets/{useSignature-4OoY1Zz1.js → useSignature-_ED9cOIy.js} +1 -1
  118. package/assets/{window-lfYFRz6w.js → window-C1b4qarP.js} +1 -1
  119. package/index.html +2 -2
  120. package/package.json +1 -1
  121. package/assets/MailListHeader-TtDy7Ihz.js +0 -7
  122. package/assets/MailNav-BvNb3frZ.js +0 -1
  123. package/assets/_calendarObjectId-DK04qwao.js +0 -1
  124. package/assets/_mailboxId-Cu5d5Ts_.js +0 -1
  125. package/assets/_messageId-BN3eWH6l.js +0 -1
  126. package/assets/_messageId-BTKxE4qN.js +0 -1
  127. package/assets/_messageId-vwUBCpRG.js +0 -1
  128. package/assets/_outboxMessageId-D5Bcejlf.js +0 -1
  129. package/assets/_recurrenceId-BpT-_Zg6.js +0 -1
  130. package/assets/_threadId-BybDCIaj.js +0 -1
  131. package/assets/_threadId-TVvvTKOV.js +0 -1
  132. package/assets/_threadId-pfz3LGax.js +0 -1
  133. package/assets/_view._date-BmQL7nkx.js +0 -1
  134. package/assets/accounts-dZnPAfEe.js +0 -1
  135. package/assets/bottom-sheet-C8Lt1CCH.js +0 -1
  136. package/assets/brief-QBvaS8OA.js +0 -1
  137. package/assets/chevron-left-yG-Wi4oU.js +0 -1
  138. package/assets/compose._-_outboxMessageId_-CYgwPOQo.js +0 -1
  139. package/assets/compose._-_outboxMessageId_-DQnbIpf0.js +0 -1
  140. package/assets/compose._-_outboxMessageId_-DSVnNLan.js +0 -1
  141. package/assets/compose._-_outboxMessageId_-Dd8iYa1N.js +0 -1
  142. package/assets/confirm-dialog-DtoFm1zW.js +0 -1
  143. package/assets/flagged-CNYez-G4.js +0 -1
  144. package/assets/folders-DNthnZoi.js +0 -1
  145. package/assets/index-BN3eWH6l.js +0 -1
  146. package/assets/index-BNiG5Qvs.js +0 -1
  147. package/assets/index-CNC9rXJk.js +0 -1
  148. package/assets/index-CqmDDg2W.js +0 -1
  149. package/assets/index-DYSz14lL.js +0 -1
  150. package/assets/index-DcMLjCJU.js +0 -1
  151. package/assets/index-UgwgEP5Q.js +0 -1
  152. package/assets/index-wqgHsxD4.js +0 -1
  153. package/assets/index-x-Xf8GeU.js +0 -1
  154. package/assets/mail-BfUaIqMr.js +0 -1
  155. package/assets/onboarding-BEeZzoAh.js +0 -1
  156. package/assets/outbox-CALB-nqL.js +0 -1
  157. package/assets/settings-CWm4nzkw.js +0 -1
  158. package/assets/useCalendarData-SN3dKvf6.js +0 -1
@@ -1 +0,0 @@
1
- import{j as a,am as De,f as te,V as Ps,X as Ce,an as ks,ao as Vs,ap as ut,E as Ds,t as Ge,aq as ee,h as ft,ar as Cs,c as Jt,d as Xt,r as F,as as Fs,i as Se,at as Os,o as Te,l as es,au as Is,av as Rs,aw as Ms,ax as ve,ay as At,L as it,az as Tt,aA as Ls,aB as Re,aC as be,aD as Et,a9 as Us,aE as Hs,aF as zs,aG as ts,aH as _t,u as Bs,n as qs,aI as $s,aJ as Ws,B as Pt,g as Gs,aK as kt,aL as Ks,a1 as Ys}from"./index-CnQhUzpu.js";import{R as Qs}from"./row-actions-ZFt2V9Kz.js";import{S as Zs,A as Js}from"./settings-screen-DrUkCIc8.js";import{g as Vt,P as Xs,O as er}from"./OnboardingWizard-BCIWuyFY.js";import{s as Be,u as tr,b as sr,R as rr}from"./credential-steps-C-nrQMrj.js";import{u as ar}from"./useSignature-4OoY1Zz1.js";import{c as ir,a as Dt,d as nr}from"./account-form-helpers-DhckT_PN.js";import{D as or}from"./download-plt-DvO3.js";import{E as lr}from"./ErrorState-D9K04lHc.js";import{f as cr}from"./format-DV51L-5t.js";import{a as dr}from"./help-copy-BmzPQ2zg.js";import"./avatar-BSvAFgta.js";import"./chevron-left-yG-Wi4oU.js";import"./menu-CB_7f-VX.js";import"./circle-help-kesrsCfa.js";import"./kbd-CreXKdFs.js";import"./mail-BrievyOG.js";import"./file-json-D-YZdYiO.js";import"./card-BuAlC7UV.js";const ur=e=>{const s=new Set(e.map(ks));return Vs.map(t=>t.tag).filter(t=>!s.has(t)).sort((t,i)=>De(t).localeCompare(De(i)))},fr=({value:e,onChange:s,busy:t=!1})=>{const i=ur(e);return a.jsxs("div",{className:"space-y-2","data-testid":"compose-language-setting",children:[a.jsx("ul",{className:"space-y-1",children:e.map((o,d)=>a.jsxs("li",{"data-testid":`compose-language-row-${o}`,className:"flex items-center gap-2 rounded-md border border-line bg-surface-sunken px-3 py-1.5",children:[a.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-fg",lang:o,children:De(o)}),d===0?a.jsx("span",{className:"shrink-0 text-2xs uppercase tracking-wider text-fg-subtle",children:"Default"}):a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ps,{className:"size-3.5"}),disabled:t,"aria-label":`Write new messages in ${De(o)} by default`,onClick:()=>s([o,...e.filter(n=>n!==o)]),children:"Default"}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ce,{className:"size-3.5"}),disabled:t||e.length===1,"aria-label":`Remove ${De(o)}`,onClick:()=>s(e.filter(n=>n!==o))})]},o))}),a.jsxs("select",{"aria-label":"Add a language",value:"",disabled:t||i.length===0,onChange:o=>{o.target.value!==""&&s([...e,o.target.value])},className:"w-full rounded-md border border-line bg-surface-sunken px-3 py-2 text-sm text-fg outline-none transition-colors focus-within:border-line-strong focus-within:ring-2 focus-within:ring-ring/30",children:[a.jsx("option",{value:"",children:"Add a language…"}),i.map(o=>a.jsx("option",{value:o,children:De(o)},o))]}),a.jsx("p",{className:"text-xs text-fg-muted",children:"A message is tagged with the language you write it in, picked from this list. Your browser, not this app, decides which dictionaries it spellchecks against — add the language there too to get its underlines."})]})};function mr({title:e,description:s,action:t}){return a.jsxs("div",{className:"rounded-sm border border-danger/50",children:[a.jsxs("div",{className:"flex items-center gap-2 border-b border-danger/30 bg-danger-soft px-row-inset py-2",children:[a.jsx(ut,{className:"size-4 text-danger"}),a.jsx("h2",{className:"text-sm font-semibold text-danger",children:"Danger zone"})]}),a.jsxs("div",{className:"flex flex-col gap-3 px-row-inset py-3 sm:flex-row sm:items-center sm:justify-between sm:gap-4",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"text-sm font-medium text-fg",children:e}),a.jsx("p",{className:"text-xs text-fg-muted",children:s})]}),a.jsx("div",{className:"shrink-0",children:t})]})]})}function Ct({isOpen:e,onClose:s,title:t,children:i,footer:o}){return Ds({id:"slide-panel",open:e,answers:{back:s}}),a.jsxs(a.Fragment,{children:[a.jsx("div",{className:Ge("fixed inset-0 z-40 bg-black/30 transition-opacity",e?"opacity-100":"pointer-events-none opacity-0"),onClick:s,"aria-hidden":"true"}),a.jsxs("div",{className:Ge("safe-area-frame fixed top-0 right-0 z-50 flex h-full w-full flex-col border-l border-line bg-canvas shadow-xl sm:w-[400px] sm:max-w-[90vw]","transform transition-transform duration-200 ease-out",e?"translate-x-0":"pointer-events-none translate-x-full"),role:"dialog","aria-modal":"true","aria-hidden":!e,inert:!e,"aria-labelledby":"slide-panel-title",children:[a.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-line px-4",children:[a.jsx("h2",{id:"slide-panel-title",className:"font-semibold",children:t}),a.jsx("button",{type:"button",onClick:s,className:"rounded-md p-1.5 transition-colors hover:bg-surface-raised","aria-label":"Close",children:a.jsx(Ce,{className:"size-5"})})]}),a.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[a.jsx("div",{className:"flex-1 overflow-auto p-4",children:i}),o&&a.jsx("div",{className:"flex justify-end gap-3 border-t border-line bg-canvas p-4",children:o})]})]})]})}var Ue=e=>e.type==="checkbox",je=e=>e instanceof Date,K=e=>e==null;const mt=e=>typeof e=="object";var H=e=>!K(e)&&!Array.isArray(e)&&mt(e)&&!je(e),pr=e=>H(e)&&e.target?Ue(e.target)?e.target.checked:e.target.value:e,hr=(e,s)=>s.split(".").some((t,i,o)=>!isNaN(Number(t))&&e.has(o.slice(0,i).join("."))),ss=e=>{const s=e.constructor&&e.constructor.prototype;return H(s)&&s.hasOwnProperty("isPrototypeOf")},Qe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function z(e){if(e instanceof Date)return new Date(e);const s=typeof FileList<"u"&&e instanceof FileList;if(Qe&&(e instanceof Blob||s))return e;const t=Array.isArray(e);if(!t&&!(H(e)&&ss(e)))return e;const i=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(i[o]=z(e[o]));return i}const ke={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},ue={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},de={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},rs="root",pt=["__proto__","constructor","prototype"],gr=/^\w*$/;var He=e=>gr.test(e),M=e=>e===void 0;const xr=/[.[\]'"]/;var Ze=e=>e.split(xr).filter(Boolean),y=(e,s,t)=>{if(!s||!H(e))return t;const i=He(s)?[s]:Ze(s);if(i.some(d=>pt.includes(d)))return t;const o=i.reduce((d,n)=>K(d)?void 0:d[n],e);return M(o)||o===e?M(e[s])?t:e[s]:o},pe=e=>typeof e=="boolean",ie=e=>typeof e=="function",C=(e,s,t)=>{let i=-1;const o=He(s)?[s]:Ze(s),d=o.length,n=d-1;for(;++i<d;){const u=o[i];let j=t;if(i!==n){const E=e[u];j=H(E)||Array.isArray(E)?E:isNaN(+o[i+1])?{}:[]}if(pt.includes(u))return;e[u]=j,e=e[u]}};const yr=ee.createContext(null);yr.displayName="HookFormControlContext";var vr=(e,s,t,i=!0)=>{const o={};for(const d in e)Object.defineProperty(o,d,{get:()=>{const n=d;return s._proxyFormState[n]!==ue.all&&(s._proxyFormState[n]=!i||ue.all),e[n]}});return o};const br=Qe?ee.useLayoutEffect:ee.useEffect;var Y=e=>typeof e=="string",jr=(e,s,t,i,o)=>Y(e)?(i&&s.watch.add(e),y(t,e,o)):Array.isArray(e)?e.map(d=>(i&&s.watch.add(d),y(t,d))):(i&&(s.watchAll=!0),t),nt=e=>K(e)||!mt(e);const Ft=(e,s)=>s.length===0&&!Array.isArray(e)&&!ss(e);function he(e,s,t=new WeakMap){if(e===s)return!0;if(nt(e)||nt(s))return Object.is(e,s);if(je(e)&&je(s))return Object.is(e.getTime(),s.getTime());const i=Object.keys(e),o=Object.keys(s);if(i.length!==o.length)return!1;if(Ft(e,i)||Ft(s,o))return Object.is(e,s);if(!i.length&&Array.isArray(e)!==Array.isArray(s))return!1;const d=t.get(e);if(d&&d.has(s))return!0;if(d)d.add(s);else{const n=new WeakSet;n.add(s),t.set(e,n)}for(const n of i){const u=e[n];if(!(n in s))return!1;if(n!=="ref"){const j=s[n];if(je(u)&&je(j)||(H(u)||Array.isArray(u))&&(H(j)||Array.isArray(j))?!he(u,j,t):!Object.is(u,j))return!1}}return!0}var qe=e=>({isOnSubmit:!e||e===ue.onSubmit,isOnBlur:e===ue.onBlur,isOnChange:e===ue.onChange,isOnAll:e===ue.all,isOnTouch:e===ue.onTouched}),st=(e,s,t)=>{if(t)return!1;if(s.watchAll||s.watch.has(e))return!0;for(const i of s.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const Le=(e,s,t,i)=>{for(const o of t||Object.keys(e)){const d=y(e,o);if(d){const{_f:n,...u}=d;if(n){if(n.refs&&n.refs[0]&&s(n.refs[0],o)&&!i)return!0;if(n.ref&&s(n.ref,n.name)&&!i)return!0;if(Le(u,s))break}else if(H(u)&&Le(u,s))break}}};var Ot=(e,s,t)=>{const i=y(e,t),o=Array.isArray(i)?i:[];return C(o,rs,s[t]),C(e,t,o),e},G=e=>H(e)&&!Object.keys(e).length,ht=e=>e.type==="file",Ke=e=>{if(!Qe)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},gt=e=>e.type==="radio",Ye=e=>e instanceof RegExp,xt=(e,s,t,i,o)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[i]:o||!0}}:{};const It={value:!1,isValid:!1},Rt={value:!0,isValid:!0};var as=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!M(e[0].attributes.value)?M(e[0].value)||e[0].value===""?Rt:{value:e[0].value,isValid:!0}:Rt:It}return It};const Mt={isValid:!1,value:null};var is=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,Mt):Mt;function Lt(e,s,t="validate"){if(Y(e)||Array.isArray(e)&&e.every(Y)||pe(e)&&!e)return{type:t,message:Y(e)?e:"",ref:s}}var Ve=e=>H(e)&&!Ye(e)?e:{value:e,message:""},Ut=async(e,s,t,i,o,d)=>{const{ref:n,refs:u,required:j,maxLength:E,minLength:P,min:U,max:R,pattern:O,validate:_,name:f,valueAsNumber:b,mount:re}=e._f,N=y(t,f);if(!re||s.has(f))return{};const $=u?u[0]:n,I=T=>{if(o&&$.reportValidity){const k=pe(T)?"":T||"";u?u.forEach(D=>D.setCustomValidity(k)):$.setCustomValidity(k),$.reportValidity()}},A={},ne=gt(n),ae=Ue(n),ge=ne||ae,oe=(b||ht(n))&&M(n.value)&&M(N)||Ke(n)&&n.value===""||N===""||Array.isArray(N)&&!N.length,Q=xt.bind(null,f,i,A),le=(T,k,D,q=de.maxLength,Z=de.minLength)=>{const S=T?k:D;A[f]={type:T?q:Z,message:S,ref:n,...Q(T?q:Z,S)}};if(d?!Array.isArray(N)||!N.length:j&&(!ge&&(oe||K(N))||pe(N)&&!N||ae&&!as(u).isValid||ne&&!is(u).isValid)){const{value:T,message:k}=Y(j)?{value:!!j,message:j}:Ve(j);if(T&&(A[f]={type:de.required,message:k,ref:$,...Q(de.required,k)},!i))return I(k),A}if(!oe&&(!K(U)||!K(R))){let T,k;const D=Ve(R),q=Ve(U);if(!K(N)&&!isNaN(N)){const Z=n.valueAsNumber||N&&+N;K(D.value)||(T=Z>D.value),K(q.value)||(k=Z<q.value)}else{const Z=n.valueAsDate||new Date(N),S=fe=>new Date(new Date().toDateString()+" "+fe),J=n.type=="time",W=n.type=="week";Y(D.value)&&N&&(T=J?S(N)>S(D.value):W?N>D.value:Z>new Date(D.value)),Y(q.value)&&N&&(k=J?S(N)<S(q.value):W?N<q.value:Z<new Date(q.value))}if((T||k)&&(le(!!T,D.message,q.message,de.max,de.min),!i))return I(A[f].message),A}if((E||P)&&!oe&&(Y(N)||d&&Array.isArray(N))){const T=Ve(E),k=Ve(P),D=!K(T.value)&&N.length>+T.value,q=!K(k.value)&&N.length<+k.value;if((D||q)&&(le(D,T.message,k.message),!i))return I(A[f].message),A}if(O&&!oe&&Y(N)){const{value:T,message:k}=Ve(O);if(Ye(T)&&!N.match(T)&&(A[f]={type:de.pattern,message:k,ref:n,...Q(de.pattern,k)},!i))return I(k),A}if(_){if(ie(_)){const T=await _(N,t),k=Lt(T,$);if(k&&(A[f]={...k,...Q(de.validate,k.message)},!i))return I(k.message),A}else if(H(_)){let T={};for(const k in _){if(!G(T)&&!i)break;const D=Lt(await _[k](N,t),$,k);D&&(T={...D,...Q(k,D.message)},I(D.message),i&&(A[f]=T))}if(!G(T)&&(A[f]={ref:$,...T},!i))return A}}return I(!0),A},We=e=>Array.isArray(e)?e:[e],ns=e=>Array.isArray(e)?e.filter(Boolean):[];function Sr(e,s){const t=s.slice(0,-1).length;let i=0;for(;i<t;){if(K(e)){e=void 0;break}e=e[s[i]],i++}return e}function wr(e){for(const s in e)if(e.hasOwnProperty(s)&&!M(e[s]))return!1;return!0}function B(e,s){if(Y(s)&&Object.prototype.hasOwnProperty.call(e,s))return delete e[s],e;const t=Array.isArray(s)?s:He(s)?[s]:Ze(s);if(t.some(n=>pt.includes(String(n))))return e;const i=t.length===1?e:Sr(e,t),o=t.length-1,d=t[o];return i&&delete i[d],o!==0&&(H(i)&&G(i)||Array.isArray(i)&&wr(i))&&B(e,t.slice(0,-1)),e}const os=e=>{const s={};for(const t of Object.keys(e))if(mt(e[t])&&e[t]!==null&&!je(e[t])){const i=os(e[t]);for(const o of Object.keys(i))s[`${t}.${o}`]=i[o]}else s[t]=e[t];return s},Nr=ee.createContext(null);Nr.displayName="HookFormContext";var Ht=()=>{let e=[];return{get observers(){return e},next:o=>{for(const d of e)d.next&&d.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(d=>d!==o)}}),unsubscribe:()=>{e=[]}}};function ls(e,s){const t={};for(const i in e)if(e.hasOwnProperty(i)){const o=e[i],d=s[i];if(o&&H(o)&&d){const n=ls(o,d);H(n)&&(t[i]=n)}else e[i]&&(t[i]=d)}return t}var cs=e=>e.type==="select-multiple",Ar=e=>gt(e)||Ue(e),rt=e=>Ke(e)&&e.isConnected,Tr=e=>{for(const s in e)if(ie(e[s]))return!0;return!1};function ds(e){return Array.isArray(e)||H(e)&&!Tr(e)}function us(e){return!!(e&&"_f"in e)}function fs(e){return Array.isArray(e)?!e.some(s=>!M(s)):!Object.keys(e).length}function ot(e,s){Array.isArray(e)?e[s]=void 0:delete e[s]}function lt(e,s={},t){for(const i in e){const o=e[i],d=t&&t[i];ds(o)&&(!Array.isArray(o)||!us(d))?(s[i]=Array.isArray(o)?[]:{},lt(o,s[i],d),fs(s[i])&&ot(s,i)):M(o)||(s[i]=!0)}return s}function Ae(e,s,t,i){t||(t=lt(s,{},i));for(const o in e){const d=e[o],n=i&&i[o];ds(d)&&(!Array.isArray(d)||!us(n))?(M(s)||nt(t[o])?t[o]=lt(d,Array.isArray(d)?[]:{},n):Ae(d,K(s)?{}:s[o],t[o],n),fs(t[o])&&ot(t,o)):he(d,s[o])?ot(t,o):t[o]=!0}return t}var ms=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:i})=>M(e)?e:s?e===""?NaN:e&&+e:t&&Y(e)?new Date(e):i?i(e):e;function zt(e){const s=e.ref;return ht(s)?s.files:gt(s)?is(e.refs).value:cs(s)?[...s.selectedOptions].map(({value:t})=>t):Ue(s)?as(e.refs).value:ms(M(s.value)?e.ref.value:s.value,e)}var Er=(e,s,t,i)=>{const o={};for(const d of e){const n=y(s,d);n&&C(o,d,n._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:i}},Me=e=>M(e)?e:Ye(e)?e.source:H(e)?Ye(e.value)?e.value.source:e.value:e;const Bt="AsyncFunction";var _r=e=>{if(!e||!e.validate)return!1;if(ie(e.validate))return e.validate.constructor.name===Bt;if(H(e.validate)){for(const s in e.validate)if(e.validate[s].constructor.name===Bt)return!0}return!1},Pr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function qt(e,s,t){const i=y(e,t);if(i||He(t))return{error:i,name:t};const o=t.split(".");for(;o.length;){const d=o.join("."),n=y(s,d),u=y(e,d);if(n&&!Array.isArray(n)&&t!==d)return{name:t};if(u&&u.type)return{name:d,error:u};if(u&&u.root&&u.root.type)return{name:`${d}.root`,error:u.root};o.pop()}return{name:t}}var kr=(e,s,t,i)=>{t(e);const{name:o,...d}=e,n=Object.keys(d);return!n.length||i&&n.length>=Object.keys(s).length||n.find(u=>s[u]===(!i||ue.all))},Vr=(e,s,t)=>!e||!s||e===s||We(e).some(i=>i&&(t?i===s||i.startsWith(s+"."):i.startsWith(s)||s.startsWith(i))),Dr=(e,s,t,i,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(s||e):(t?i.isOnBlur:o.isOnBlur)?!e:(t?i.isOnChange:o.isOnChange)?e:!0,Cr=(e,s)=>!ns(y(e,s)).length&&B(e,s);const Fr={mode:ue.onSubmit,reValidateMode:ue.onChange,shouldFocusError:!0},at="form",ps={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function Or(e={}){let s={...Fr,...e},t={...z(ps),isLoading:ie(s.defaultValues),errors:s.errors||{},disabled:s.disabled||!1},i={},o=H(s.defaultValues)||H(s.values)?z(s.defaultValues||s.values)||{}:{},d=s.shouldUnregister?{}:z(o),n={action:!1,mount:!1,watch:!1,keepIsValid:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const j={},E={};let P=0,U=qe(s.mode),R=qe(s.reValidateMode);const O={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},_={...O};let f={..._};const b={array:Ht(),state:Ht()};let re=0;const N=s.criteriaMode===ue.all,$=(r,l)=>c=>{clearTimeout(E[r]),E[r]=setTimeout(l,c)},I=async r=>{if(!n.keepIsValid&&!s.disabled&&(_.isValid||f.isValid||r)){const l=++re;let c;s.resolver?(c=G((await D()).errors),l===re&&A()):c=await S({fields:i,onlyCheckValid:!0,eventType:ke.VALID}),l===re&&c!==t.isValid&&b.state.next({isValid:c})}},A=(r,l)=>{!s.disabled&&(_.isValidating||_.validatingFields||f.isValidating||f.validatingFields)&&((r||Array.from(u.mount)).forEach(c=>{c&&(l?C(t.validatingFields,c,l):B(t.validatingFields,c))}),b.state.next({validatingFields:t.validatingFields,isValidating:!G(t.validatingFields)}))},ne=()=>{t.dirtyFields=Ae(o,d,void 0,i)},ae=(r,l=[],c,m,p=!0,x=!0)=>{if(m&&c&&!s.disabled){if(n.action=!0,x&&Array.isArray(y(i,r))){const g=c(y(i,r),m.argA,m.argB);p&&C(i,r,g)}if(x&&Array.isArray(y(t.errors,r))){const g=c(y(t.errors,r),m.argA,m.argB);p&&C(t.errors,r,g),Cr(t.errors,r)}if((_.touchedFields||f.touchedFields)&&x&&Array.isArray(y(t.touchedFields,r))){const g=c(y(t.touchedFields,r),m.argA,m.argB);p&&C(t.touchedFields,r,g)}(_.dirtyFields||f.dirtyFields)&&ne(),b.state.next({name:r,isDirty:W(r,l),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else C(d,r,l)},ge=(r,l)=>{C(t.errors,r,l),t.errors={...t.errors},b.state.next({errors:t.errors})},oe=r=>{t.errors=r,b.state.next({errors:t.errors,isValid:!1})},Q=r=>{const l=He(r)?[r]:Ze(r);let c=d,m=o;for(let p=0;p<l.length-1;p++){const x=l[p];if(c=K(c)?c:c[x],m=K(m)?m:m[x],c===null&&m!==null)return!0}return!1},le=(r,l,c,m)=>{const p=y(i,r);if(p){if(Q(r))return;const x=M(y(d,r)),g=y(d,r,M(c)?y(o,r):c);M(g)||m&&m.defaultChecked||l?C(d,r,l?g:zt(p._f)):we(r,g),n.mount&&!n.action&&(I(),x&&t.isDirty&&(_.isDirty||f.isDirty)&&(W()||(t.isDirty=!1,b.state.next({...t}))),e.shouldUnregister&&x&&!M(y(d,r))&&st(r,u)&&(n.watch=!0))}},T=(r,l,c,m,p)=>{let x=!1,g=!1;const v={name:r};if(!s.disabled||m===!0){if(!c||m){const w=he(y(o,r),l);(_.isDirty||f.isDirty)&&(g=t.isDirty,t.isDirty=v.isDirty=!w||W(),x=g!==v.isDirty),g=!!y(t.dirtyFields,r),w!==t.isDirty?t.dirtyFields=Ae(o,d,void 0,i):w?B(t.dirtyFields,r):C(t.dirtyFields,r,!0),v.dirtyFields=t.dirtyFields,x=x||(_.dirtyFields||f.dirtyFields)&&g!==!w}if(c){const w=y(t.touchedFields,r);w||(C(t.touchedFields,r,c),v.touchedFields=t.touchedFields,x=x||(_.touchedFields||f.touchedFields)&&w!==c)}x&&p&&b.state.next(v)}return x?v:{}},k=(r,l,c,m)=>{const p=y(t.errors,r),x=(_.isValid||f.isValid)&&pe(l)&&t.isValid!==l;if(s.delayError&&c?(j[r]=$(r,()=>ge(r,c)),j[r](s.delayError)):(clearTimeout(E[r]),delete j[r],c?C(t.errors,r,c):B(t.errors,r),t.errors={...t.errors}),(c?!he(p,c):p)||!G(m)||x){const g={...m,...x&&pe(l)?{isValid:l}:{},errors:t.errors,name:r};t={...t,...g},b.state.next(g)}},D=async r=>(A(r,!0),await s.resolver(d,s.context,Er(r||u.mount,i,s.criteriaMode,s.shouldUseNativeValidation))),q=async r=>{const{errors:l}=await D(r);if(A(r),r){for(const c of r){const m=y(l,c);m?u.array.has(c)&&H(m)&&!Object.keys(m).some(p=>!Number.isNaN(Number(p)))?Ot(t.errors,{[c]:m},c):C(t.errors,c,m):B(t.errors,c)}t.errors={...t.errors}}else t.errors=l;return l},Z=async({name:r,eventType:l})=>{if(e.validate){const c=await e.validate({formValues:d,formState:t,name:r,eventType:l});if(H(c))for(const m in c){const p=c[m];p&&ze(`${at}.${m}`,{message:Y(p.message)?p.message:"",type:p.type||de.validate})}else Y(c)||!c?ze(at,{message:c||"",type:de.validate}):Pe(at);return c}return!0},S=async({fields:r,onlyCheckValid:l,name:c,eventType:m,context:p={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(p.runRootValidation=!0,!await Z({name:c,eventType:m})&&(p.valid=!1,l)))return p.valid;for(const x in r){const g=r[x];if(g){const{_f:v,...w}=g;if(v){const L=u.array.has(v.name),X=g._f&&_r(g._f),xe=_.validatingFields||_.isValidating||f.validatingFields||f.isValidating;X&&xe&&A([v.name],!0);const ye=await Ut(g,u.disabled,d,N,s.shouldUseNativeValidation&&!l,L);if(X&&xe&&A([v.name]),ye[v.name]&&(p.valid=!1,l)||(!l&&(y(ye,v.name)?L?Ot(t.errors,ye,v.name):C(t.errors,v.name,ye[v.name]):B(t.errors,v.name)),e.shouldUseNativeValidation&&ye[v.name]))break}!G(w)&&await S({context:p,onlyCheckValid:l,fields:w,name:x,eventType:m})}}return p.valid},J=()=>{for(const r of u.unMount){const l=y(i,r);l&&(l._f.refs?l._f.refs.every(c=>!rt(c)):!rt(l._f.ref))&&Xe(r)}u.unMount=new Set},W=(r,l)=>(r&&l&&C(d,r,l),!he(n.mount?d:o,o)),fe=(r,l,c)=>jr(r,u,{...n.mount?d:M(l)?o:Y(r)?{[r]:l}:l},c,l),Ee=r=>ns(y(n.mount?d:o,r,s.shouldUnregister?y(o,r,[]):[])),we=(r,l,c={},m=!1,p=!1)=>{const x=y(i,r);let g=l;if(x){const v=x._f;v&&(!v.disabled&&C(d,r,ms(l,v)),g=Ke(v.ref)&&K(l)?"":l,cs(v.ref)?[...v.ref.options].forEach(w=>w.selected=g.includes(w.value)):v.refs?Ue(v.ref)?v.refs.forEach(w=>{(!w.defaultChecked||!w.disabled)&&(Array.isArray(g)?w.checked=!!g.find(L=>L===w.value):w.checked=g===w.value||!!g)}):v.refs.forEach(w=>w.checked=w.value===g):ht(v.ref)?v.ref.value="":(v.ref.value=g,!v.ref.type&&!p&&b.state.next({name:r,values:m?d:z(d)})))}(c.shouldDirty||c.shouldTouch)&&T(r,g,c.shouldTouch,c.shouldDirty,!p),c.shouldValidate&&me(r,{delayError:c.delayError})},_e=(r,l,c,m=!1,p=!1)=>{for(const x in l){if(!l.hasOwnProperty(x))return;const g=l[x],v=r+"."+x,w=y(i,v);(u.array.has(r)||H(g)||w&&!w._f)&&!je(g)?_e(v,g,c,m,p):we(v,g,c,m,p)}},Je=(r,l,c,m,p=!1)=>{const x=y(i,r),g=u.array.has(r),v=m?l:z(l),w=y(d,r),L=he(w,v);if(L||C(d,r,v),g)b.array.next({name:r,values:m?d:z(d)}),(_.isDirty||_.dirtyFields||f.isDirty||f.dirtyFields)&&c.shouldDirty&&(ne(),p||b.state.next({name:r,dirtyFields:t.dirtyFields,isDirty:W(r,v)}));else{const X=Array.isArray(v)&&!v.length||G(v);!x||x._f||K(v)||X?we(r,v,c,m,p):_e(r,v,c,m,p)}if(!L&&!p){const X=st(r,u),xe=m?d:z(d);b.state.next({...X&&t,name:n.mount||X?r:void 0,values:xe})}},h=(r,l,c={})=>Je(r,l,c,!1),V=(r,l={})=>{const c=ie(r)?r(d):r;if(!he(d,c)){d={...d,...c};const m=os(c);for(const p of u.mount)p in m&&Je(p,m[p],l,!0,!0);b.state.next({...t,name:void 0,type:void 0,...P?{values:d}:{}}),l.shouldValidate&&I()}},ce=async r=>{n.mount=!0;const l=r.target;let c=l.name,m=!0;const p=y(i,c),x=g=>{m=Number.isNaN(g)||je(g)&&isNaN(g.getTime())||he(g,y(d,c,g))};if(p){let g,v;const w=l.type?zt(p._f):pr(r),L=r.type===ke.BLUR||r.type===ke.FOCUS_OUT,X=!Pr(p._f)&&!e.validate&&!s.resolver&&!y(t.errors,c)&&!p._f.deps,xe=X||Dr(L,y(t.touchedFields,c),t.isSubmitted,R,U),ye=st(c,u,L);if(C(d,c,w),L){if(!l||!l.readOnly){p._f.onBlur&&p._f.onBlur(r);const Ie=j[c];Ie&&Ie(0)}}else p._f.onChange&&p._f.onChange(r);const Oe=T(c,w,L),Es=!G(Oe)||ye;if(!L&&b.state.next({name:c,type:r.type,...P?{values:z(d)}:{}}),xe)return(!X||!t.isValid)&&(_.isValid||f.isValid)&&(s.mode==="onBlur"?L&&I():L||I()),Es&&b.state.next({name:c,...ye?{}:Oe});if(!s.resolver&&e.validate&&await Z({name:c,eventType:r.type}),!L&&ye&&b.state.next({...t}),s.resolver){const{errors:Ie}=await D([c]);if(A([c]),x(w),!m){!G(Oe)&&b.state.next(Oe);return}const _s=qt(t.errors,i,c),Nt=qt(Ie,i,_s.name||c);g=Nt.error,c=Nt.name,v=G(Ie)}else A([c],!0),g=(await Ut(p,u.disabled,d,N,s.shouldUseNativeValidation))[c],A([c]),x(w),m&&(g?v=!1:(_.isValid||f.isValid)&&(v=await S({fields:i,onlyCheckValid:!0,name:c,eventType:r.type})));m&&(p._f.deps&&(!Array.isArray(p._f.deps)||p._f.deps.length>0)&&me(p._f.deps),k(c,v,g,Oe))}},se=(r,l)=>{if(y(t.errors,l)&&r.focus)return r.focus(),1},me=async(r,l={})=>{let c,m;const p=We(r);if(s.resolver){const x=await q(M(r)?r:p);c=G(x),m=r?!p.some(g=>y(x,g)):c}else r?(m=(await Promise.all(p.map(async x=>{const g=y(i,x);return await S({fields:g&&g._f?{[x]:g}:g,eventType:ke.TRIGGER})}))).every(Boolean),!(!m&&!t.isValid)&&I()):m=c=await S({fields:i,name:r,eventType:ke.TRIGGER});if(l.delayError&&s.delayError&&Y(r)){const x=y(t.errors,r);x?(B(t.errors,r),j[r]=$(r,()=>ge(r,x)),j[r](s.delayError)):(clearTimeout(E[r]),delete j[r])}return b.state.next({...!Y(r)||(_.isValid||f.isValid)&&c!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:c}:{},errors:t.errors}),l.shouldFocus&&!m&&Le(i,se,r?p:u.mount),m},Ne=(r,l)=>{let c={...n.mount?d:o};return l&&(c=ls(l.dirtyFields?t.dirtyFields:t.touchedFields,c)),M(r)?c:Y(r)?y(c,r):r.map(m=>y(c,m))},Fe=(r,l)=>({invalid:!!y((l||t).errors,r),isDirty:!!y((l||t).dirtyFields,r),error:y((l||t).errors,r),isValidating:!!y(t.validatingFields,r),isTouched:!!y((l||t).touchedFields,r)}),Pe=r=>{const l=r?We(r):void 0;l?.forEach(c=>B(t.errors,c)),l?l.forEach(c=>{b.state.next({name:c,errors:t.errors})}):b.state.next({errors:{}})},ze=(r,l,c)=>{const m=(y(i,r,{_f:{}})._f||{}).ref,p=y(t.errors,r)||{},{ref:x,message:g,type:v,...w}=p;C(t.errors,r,{...w,...l,ref:m}),b.state.next({name:r,errors:t.errors,isValid:!1}),c&&c.shouldFocus&&m&&m.focus&&m.focus()},js=(r,l)=>{if(ie(r)){P++;const{unsubscribe:c}=b.state.subscribe({next:p=>"values"in p&&r(p.values||fe(void 0,l),p)});let m=!1;return{unsubscribe:()=>{m||(m=!0,P--,c())}}}return fe(r,l,!0)},yt=r=>{var l;const c=!!(!((l=r.formState)===null||l===void 0)&&l.values);c&&P++;const{unsubscribe:m}=b.state.subscribe({next:x=>{if(Vr(r.name,x.name,r.exact)&&kr(x,r.formState||_,Ts,r.reRenderRoot)){const g={...d};r.callback({values:g,...t,...x,defaultValues:o})}}});if(!c)return m;let p=!1;return()=>{p||(p=!0,P--,m())}},Ss=r=>(n.mount=!0,f={...f,...r.formState},yt({...r,formState:{...O,...r.formState}})),Xe=(r,l={})=>{for(const c of r?We(r):u.mount)u.mount.delete(c),u.array.delete(c),l.keepValue||(B(i,c),B(d,c)),!l.keepError&&B(t.errors,c),!l.keepDirty&&B(t.dirtyFields,c),!l.keepTouched&&B(t.touchedFields,c),!l.keepIsValidating&&B(t.validatingFields,c),!s.shouldUnregister&&!l.keepDefaultValue&&B(o,c);b.state.next({values:z(d)}),b.state.next({...t,...l.keepDirty?{isDirty:W()}:{}}),!l.keepIsValid&&I()},vt=({disabled:r,name:l})=>{if(pe(r)&&n.mount||r||u.disabled.has(l)){const p=u.disabled.has(l)!==!!r;r?u.disabled.add(l):u.disabled.delete(l),p&&n.mount&&!n.action&&I()}},et=(r,l={})=>{let c=y(i,r);const m=pe(l.disabled)||pe(s.disabled),p=!u.registerName.has(r)&&c&&c._f&&!c._f.mount;return C(i,r,{...c||{},_f:{...c&&c._f?c._f:{ref:{name:r}},name:r,mount:!0,...l}}),u.mount.add(r),c&&!p?vt({disabled:pe(l.disabled)?l.disabled:s.disabled,name:r}):le(r,!0,l.value),{...m?{disabled:l.disabled||s.disabled}:{},...s.progressive?{required:!!l.required,min:Me(l.min),max:Me(l.max),minLength:Me(l.minLength),maxLength:Me(l.maxLength),pattern:Me(l.pattern)}:{},name:r,onChange:ce,onBlur:ce,ref:x=>{if(x){u.registerName.add(r),et(r,l),u.registerName.delete(r),c=y(i,r);const g=M(x.value)&&x.querySelectorAll&&x.querySelectorAll("input,select,textarea")[0]||x,v=Ar(g),w=c._f.refs||[];if(v?w.find(L=>L===g):g===c._f.ref)return;C(i,r,{_f:{...c._f,...v?{refs:[...w.filter(rt),g,...Array.isArray(y(o,r))?[{}]:[]],ref:{type:g.type,name:r}}:{ref:g}}}),le(r,!1,void 0,g)}else c=y(i,r,{}),c._f&&(c._f.mount=!1),(s.shouldUnregister||l.shouldUnregister)&&!(hr(u.array,r)&&n.action)&&u.unMount.add(r)}}},tt=()=>s.shouldFocusError&&!s.shouldUseNativeValidation&&Le(i,se,u.mount),ws=r=>{pe(r)&&(b.state.next({disabled:r}),Le(i,(l,c)=>{const m=y(i,c);m&&(l.disabled=m._f.disabled||r,Array.isArray(m._f.refs)&&m._f.refs.forEach(p=>{p.disabled=m._f.disabled||r}))},0,!1))},bt=(r,l)=>async c=>{let m;c&&(c.preventDefault&&c.preventDefault(),c.persist&&c.persist());let p=z(d);if(b.state.next({isSubmitting:!0}),s.resolver){const{errors:x,values:g}=await D();A(),t.errors=x,p=z(g)}else await S({fields:i,eventType:ke.SUBMIT});if(u.disabled.size)for(const x of u.disabled)B(p,x);if(B(t.errors,rs),G(t.errors)){b.state.next({errors:{}});try{await r(p,c)}catch(x){m=x}}else l&&await l({...t.errors},c),tt(),setTimeout(tt);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:G(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Ns=(r,l={})=>{y(i,r)&&(M(l.defaultValue)?h(r,z(y(o,r))):(h(r,l.defaultValue),C(o,r,z(l.defaultValue))),l.keepTouched||B(t.touchedFields,r),l.keepDirty||(B(t.dirtyFields,r),t.isDirty=l.defaultValue?W(r,z(y(o,r))):W()),l.keepError||(B(t.errors,r),_.isValid&&I()),b.state.next({...t}))},jt=(r,l={})=>{const c=r?z(r):o,m=z(c),p=G(r),x=m,g=i;if(l.keepDefaultValues||(o=c),!l.keepValues){if(l.keepDirtyValues){const v=new Set([...u.mount,...Object.keys(Ae(o,d,void 0,g))]);for(const w of Array.from(v)){const L=y(t.dirtyFields,w),X=y(d,w),xe=y(x,w);L&&!M(X)?C(x,w,X):!L&&!M(xe)&&h(w,xe)}}else{if(Qe&&M(r))for(const v of u.mount){const w=y(i,v);if(w&&w._f){const L=Array.isArray(w._f.refs)?w._f.refs[0]:w._f.ref;if(Ke(L)){const X=L.closest("form");if(X){X.reset();break}}}}if(l.keepFieldsRef)for(const v of u.mount)h(v,y(x,v));else i={}}if(s.shouldUnregister){if(d=l.keepDefaultValues?z(o):{},l.keepFieldsRef)for(const v of u.mount)C(d,v,y(x,v))}else d=z(x);b.array.next({values:{...x}}),b.state.next({name:void 0,type:void 0,values:{...x}})}u={mount:l.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},n.mount=!_.isValid||!!l.keepIsValid||!!l.keepDirtyValues||!s.shouldUnregister&&!G(x),n.watch=!!s.shouldUnregister,n.keepIsValid=!!l.keepIsValid,n.action=!1,l.keepErrors||(t.errors={}),b.state.next({submitCount:l.keepSubmitCount?t.submitCount:0,isDirty:p?!1:l.keepDirty?t.isDirty:l.keepValues?W():!!(l.keepDefaultValues&&!he(r,o)),isSubmitted:l.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:p?{}:l.keepDirtyValues?l.keepDefaultValues&&d?Ae(o,d,void 0,g):t.dirtyFields:l.keepDefaultValues&&r?Ae(o,r,void 0,g):l.keepDirty?t.dirtyFields:{},touchedFields:l.keepTouched?t.touchedFields:{},errors:l.keepErrors?t.errors:{},isSubmitSuccessful:l.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},St=(r,l)=>jt(ie(r)?r(d):r,{...s.resetOptions,...l}),As=(r,l={})=>{const c=y(i,r),m=c&&c._f;if(m){const p=m.refs?m.refs[0]:m.ref;p.focus&&setTimeout(()=>{p.focus(),l.shouldSelect&&ie(p.select)&&p.select()})}},Ts=r=>{const{name:l,type:c,values:m,...p}=r;t={...t,...p}},wt={control:{register:et,unregister:Xe,getFieldState:Fe,handleSubmit:bt,setError:ze,_subscribe:yt,_runSchema:D,_updateIsValidating:A,_focusError:tt,_getWatch:fe,_getDirty:W,_setValid:I,_setFieldArray:ae,_setDisabledField:vt,_setErrors:oe,_getFieldArray:Ee,_reset:jt,_resetDefaultValues:()=>ie(s.defaultValues)&&s.defaultValues().then(r=>{St(r,s.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:J,_disableForm:ws,_subjects:b,_proxyFormState:_,get _fields(){return i},get _formValues(){return d},get _state(){return n},set _state(r){n=r},get _defaultValues(){return o},get _names(){return u},set _names(r){u=r},get _formState(){return t},get _options(){return s},set _options(r){s={...s,...r},U=qe(s.mode),R=qe(s.reValidateMode)}},subscribe:Ss,trigger:me,register:et,handleSubmit:bt,watch:js,setValue:h,setValues:V,getValues:Ne,reset:St,resetField:Ns,resetDefaultValues:(r,l={})=>{if(o=z(r),!l.keepDirty){const c=Ae(o,d,void 0,i);t.dirtyFields=c,t.isDirty=!G(c)}l.keepIsValid||I(),b.state.next({...t,defaultValues:o})},clearErrors:Pe,unregister:Xe,setError:ze,setFocus:As,getFieldState:Fe};return{...wt,formControl:wt}}function Ir(e={}){const s=ee.useRef(void 0),t=ee.useRef(void 0),i=ee.useRef(e.formControl),[o,d]=ee.useState(()=>({...z(ps),isLoading:ie(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:ie(e.defaultValues)?void 0:e.defaultValues}));if(!s.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)s.current={...e.formControl,formState:o},e.defaultValues&&!ie(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:u,...j}=Or(e);s.current={...j,formState:o}}const n=s.current.control;return n._options=e,br(()=>{const u=n._subscribe({formState:n._proxyFormState,callback:()=>d({...n._formState,defaultValues:n._defaultValues}),reRenderRoot:!0});return d(j=>({...j,isReady:!0})),n._formState.isReady=!0,u},[n]),ee.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),ee.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),ee.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),ee.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),ee.useEffect(()=>{if(n._proxyFormState.isDirty){const u=n._getDirty();u!==o.isDirty&&n._subjects.state.next({isDirty:u})}},[n,o.isDirty]),ee.useEffect(()=>{var u;e.values&&!he(e.values,t.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),!((u=n._options.resetOptions)===null||u===void 0)&&u.keepIsValid||n._setValid(),t.current=e.values,d(j=>({...j}))):n._resetDefaultValues()},[n,e.values]),ee.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),s.current.formState=ee.useMemo(()=>vr(o,n),[n,o]),s.current}const $t=(e,s,t)=>{if(e&&"reportValidity"in e){const i=y(t,s);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},ct=(e,s)=>{for(const t in s.fields){const i=s.fields[t];i&&i.ref&&"reportValidity"in i.ref?$t(i.ref,t,e):i&&i.refs&&i.refs.forEach(o=>$t(o,t,e))}},Wt=(e,s)=>{s.shouldUseNativeValidation&&ct(e,s);const t={};for(const i in e){const o=y(s.fields,i),d=Object.assign(e[i]||{},{ref:o&&o.ref});if(Rr(s.names||Object.keys(e),i)){const n=Object.assign({},y(t,i));C(n,"root",d),C(t,i,n)}else C(t,i,d)}return t},Rr=(e,s)=>{const t=Gt(s).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>Gt(i).match(`^${t}\\.\\d+`))};function Gt(e){return e.replace(/[\[\]]/g,"")}function hs(e,s,t){function i(u,j){var E;Object.defineProperty(u,"_zod",{value:u._zod??{},enumerable:!1}),(E=u._zod).traits??(E.traits=new Set),u._zod.traits.add(e),s(u,j);for(const P in n.prototype)P in u||Object.defineProperty(u,P,{value:n.prototype[P].bind(u)});u._zod.constr=n,u._zod.def=j}const o=t?.Parent??Object;class d extends o{}Object.defineProperty(d,"name",{value:e});function n(u){var j;const E=t?.Parent?new d:this;i(E,u),(j=E._zod).deferred??(j.deferred=[]);for(const P of E._zod.deferred)P();return E}return Object.defineProperty(n,"init",{value:i}),Object.defineProperty(n,Symbol.hasInstance,{value:u=>t?.Parent&&u instanceof t.Parent?!0:u?._zod?.traits?.has(e)}),Object.defineProperty(n,"name",{value:e}),n}class Mr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const Lr={};function gs(e){return Lr}function Ur(e,s){return typeof s=="bigint"?s.toString():s}const xs=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function $e(e){return typeof e=="string"?e:e?.message}function ys(e,s,t){const i={...e,path:e.path??[]};if(!e.message){const o=$e(e.inst?._zod.def?.error?.(e))??$e(s?.error?.(e))??$e(t.customError?.(e))??$e(t.localeError?.(e))??"Invalid input";i.message=o}return delete i.inst,delete i.continue,s?.reportInput||delete i.input,i}const vs=(e,s)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:s,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(s,Ur,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Hr=hs("$ZodError",vs),bs=hs("$ZodError",vs,{Parent:Error}),zr=e=>(s,t,i,o)=>{const d=i?Object.assign(i,{async:!1}):{async:!1},n=s._zod.run({value:t,issues:[]},d);if(n instanceof Promise)throw new Mr;if(n.issues.length){const u=new(o?.Err??e)(n.issues.map(j=>ys(j,d,gs())));throw xs(u,o?.callee),u}return n.value},Br=zr(bs),qr=e=>async(s,t,i,o)=>{const d=i?Object.assign(i,{async:!0}):{async:!0};let n=s._zod.run({value:t,issues:[]},d);if(n instanceof Promise&&(n=await n),n.issues.length){const u=new(o?.Err??e)(n.issues.map(j=>ys(j,d,gs())));throw xs(u,o?.callee),u}return n.value},$r=qr(bs);function dt(){return dt=Object.assign?Object.assign.bind():function(e){for(var s=1;s<arguments.length;s++){var t=arguments[s];for(var i in t)({}).hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},dt.apply(null,arguments)}function Kt(e,s){try{var t=e()}catch(i){return s(i)}return t&&t.then?t.then(void 0,s):t}function Wr(e,s){for(var t={};e.length;){var i=e[0],o=i.code,d=i.message,n=i.path.join(".");if(!t[n])if("unionErrors"in i){var u=i.unionErrors[0].errors[0];t[n]={message:u.message,type:u.code}}else t[n]={message:d,type:o};if("unionErrors"in i&&i.unionErrors.forEach(function(P){return P.errors.forEach(function(U){return e.push(U)})}),s){var j=t[n].types,E=j&&j[i.code];t[n]=xt(n,s,t,o,E?[].concat(E,i.message):i.message)}e.shift()}return t}function Gr(e,s){for(var t={},i=function(){var o=e[0],d=o.code,n=o.message,u=o.path.join(".");if(!t[u])if(o.code==="invalid_union"&&o.errors.length>0){var j=o.errors[0][0];t[u]={message:j.message,type:j.code}}else t[u]={message:n,type:d};if(o.code==="invalid_union"&&o.errors.forEach(function(U){return U.forEach(function(R){return e.push(dt({},R,{path:[].concat(o.path,R.path)}))})}),s){var E=t[u].types,P=E&&E[o.code];t[u]=xt(u,s,t,d,P?[].concat(P,o.message):o.message)}e.shift()};e.length;)i();return t}function Kr(e,s,t){if(t===void 0&&(t={}),(function(i){return"_def"in i&&typeof i._def=="object"&&"typeName"in i._def})(e))return function(i,o,d){try{return Promise.resolve(Kt(function(){return Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](i,s)).then(function(n){return d.shouldUseNativeValidation&&ct({},d),{errors:{},values:t.raw?Object.assign({},i):n}})},function(n){if((function(u){return Array.isArray(u?.issues)})(n))return{values:{},errors:Wt(Wr(n.errors,!d.shouldUseNativeValidation&&d.criteriaMode==="all"),d)};throw n}))}catch(n){return Promise.reject(n)}};if((function(i){return"_zod"in i&&typeof i._zod=="object"})(e))return function(i,o,d){try{return Promise.resolve(Kt(function(){return Promise.resolve((t.mode==="sync"?Br:$r)(e,i,s)).then(function(n){return d.shouldUseNativeValidation&&ct({},d),{errors:{},values:t.raw?Object.assign({},i):n}})},function(n){if((function(u){return u instanceof Hr})(n))return{values:{},errors:Wt(Gr(n.issues,!d.shouldUseNativeValidation&&d.criteriaMode==="all"),d)};throw n}))}catch(n){return Promise.reject(n)}};throw new Error("Invalid input: not a Zod schema")}const Yr=e=>{const s=ft(),{pushError:t}=Cs(),{data:i}=Jt({...Xt(),staleTime:1/0}),o=i?.accounts.find(j=>j.accountId===e)?.composeLanguages,d=F.useMemo(()=>o&&o.length>0?[...o]:Fs(navigator.languages),[o]),n=Se({...es(),onSuccess:()=>{s.invalidateQueries({queryKey:Te()})},onError:j=>{t(Os("Couldn't save languages","The writing languages weren't saved.",j))}}),u=F.useCallback(j=>{e&&n.mutate({path:{accountId:e},body:{composeLanguages:j}})},[e,n]);return{languages:d,setLanguages:u,isSaving:n.isPending}},Qr=e=>e.authType==="oauthMicrosoft",Zr="••••••••••",Jr=e=>{const s=e.smtpUsername?.trim();return s?s!==e.username:!1},Xr=Ls({email:be().email().min(1,"Email is required"),displayName:be().optional(),username:be().optional(),password:be().optional(),imapHost:be().min(1,"IMAP host is required"),imapPort:Et.number().int().min(1).max(65535),imapTls:Re(),imapStartTls:Re(),smtpHost:be().optional(),smtpPort:Et.number().int().min(1).max(65535).optional(),smtpTls:Re().optional(),smtpStartTls:Re().optional(),smtpUsername:be().optional(),smtpPassword:be().optional(),useDifferentSmtpCreds:Re().optional()}),ea=({isOpen:e,onClose:s,account:t,focusSmtp:i})=>{const o=ft(),d=!!t,[n,u]=F.useState(!1),[j,E]=F.useState(""),[P,U]=F.useState(!1),R=Vt(j),O=!!R&&!P,_=F.useRef(null),f=Ir({resolver:Kr(Xr),defaultValues:{email:"",displayName:"",username:"",password:"",imapHost:"",imapPort:993,imapTls:!0,imapStartTls:!1,smtpHost:"",smtpPort:587,smtpTls:!1,smtpStartTls:!0,useDifferentSmtpCreds:!1}});F.useEffect(()=>{if(t){const h=Jr(t);f.reset({email:t.email,displayName:t.displayName||"",username:t.username||"",password:Zr,imapHost:t.imapHost,imapPort:t.imapPort,imapTls:t.imapTls,imapStartTls:t.imapStartTls,smtpHost:t.smtpHost||"",smtpPort:t.smtpPort||587,smtpTls:t.smtpTls||!1,smtpStartTls:t.smtpStartTls||!0,smtpUsername:h&&t.smtpUsername||"",smtpPassword:"",useDifferentSmtpCreds:h}),u(!1)}else f.reset({email:"",displayName:"",username:"",password:"",imapHost:"",imapPort:993,imapTls:!0,imapStartTls:!1,smtpHost:"",smtpPort:587,smtpTls:!1,smtpStartTls:!0,useDifferentSmtpCreds:!1}),u(!1)},[t,f]);const b=Se({...Is()}),re=Se({...Rs(),onSuccess:()=>{o.invalidateQueries({queryKey:Te()}),s()}}),N=Se({...es(),onSuccess:()=>{o.invalidateQueries({queryKey:Te()}),s()}}),$=()=>{const h=f.getValues(),V=d&&!n;b.mutate({body:{accountId:V?t?.accountId:void 0,username:h.username||h.email,password:V?void 0:h.password||void 0,imapHost:h.imapHost,imapPort:Number(h.imapPort),imapTls:h.imapTls,imapStartTls:h.imapStartTls}})},I=()=>{const h=f.getValues(),V=d&&!n;b.mutate({body:{accountId:V?t?.accountId:void 0,username:h.username||h.email,password:V?void 0:h.password||void 0,imapHost:h.imapHost,imapPort:Number(h.imapPort),imapTls:h.imapTls,imapStartTls:h.imapStartTls,smtpHost:h.smtpHost||void 0,smtpPort:h.smtpPort?Number(h.smtpPort):void 0,smtpTls:h.smtpTls,smtpStartTls:h.smtpStartTls,smtpUsername:h.useDifferentSmtpCreds?h.smtpUsername:void 0,smtpPassword:h.useDifferentSmtpCreds?h.smtpPassword:void 0}})},A=f.handleSubmit(h=>{if(!d&&!h.password){f.setError("password",{message:"Password is required"});return}const V=ir({imapHost:h.imapHost,smtpHost:h.smtpHost,smtpPort:h.smtpPort,smtpTls:h.smtpTls,smtpStartTls:h.smtpStartTls});V&&(f.setValue("smtpHost",V.smtpHost),f.setValue("smtpPort",V.smtpPort),f.setValue("smtpTls",V.smtpTls),f.setValue("smtpStartTls",V.smtpStartTls));const ce=V?.smtpHost??h.smtpHost,se=V?.smtpPort??h.smtpPort,me=V?.smtpTls??h.smtpTls,Ne=V?.smtpStartTls??h.smtpStartTls,Fe={email:h.email,displayName:h.displayName?.trim()||void 0,username:h.username||void 0,imapHost:h.imapHost,imapPort:Number(h.imapPort),imapTls:h.imapTls,imapStartTls:h.imapStartTls,smtpHost:ce||void 0,smtpPort:se?Number(se):void 0,smtpTls:me,smtpStartTls:Ne,smtpUsername:h.useDifferentSmtpCreds&&h.smtpUsername||void 0,smtpPassword:h.useDifferentSmtpCreds&&h.smtpPassword||void 0};if(d&&t){const Pe={...Fe,password:n?h.password:void 0};N.mutate({path:{accountId:t.accountId},body:Pe})}else{const Pe={...Fe,password:h.password};re.mutate({body:Pe})}}),ne=re.isPending||N.isPending,{signature:ae,setSignature:ge,isSaving:oe}=ar(t?.accountId),[Q,le]=F.useState(ae.plainText),{languages:T,setLanguages:k,isSaving:D}=Yr(t?.accountId),q=a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xs font-semibold text-fg-subtle uppercase tracking-wider mb-3",children:"Writing languages"}),a.jsx(fr,{value:T,onChange:k,busy:D})]});F.useEffect(()=>{le(ae.plainText)},[ae.plainText]),F.useEffect(()=>{if(!e||!i)return;const h=_.current;if(!h)return;const V=window.setTimeout(()=>{h.scrollIntoView({behavior:"smooth",block:"start"})},250);return()=>window.clearTimeout(V)},[e,i]);const Z=F.useCallback(()=>{Q!==ae.plainText&&ge(Q,Q)},[Q,ae.plainText,ge]),S=h=>{const{tls:V,startTls:ce}=Be(h);f.setValue("imapTls",V),f.setValue("imapStartTls",ce);const se=f.getValues("imapPort");(se===993||se===143)&&f.setValue("imapPort",h==="tls"?993:143)},J=h=>{const{tls:V,startTls:ce}=Be(h);f.setValue("smtpTls",V),f.setValue("smtpStartTls",ce);const se=f.getValues("smtpPort");if(se===465||se===587||se===25){const Ne=h==="tls"?465:h==="starttls"?587:25;f.setValue("smtpPort",Ne)}},W=()=>{const h=f.getValues("imapHost");f.setValue("smtpHost",nr(h)),f.setValue("smtpTls",!1),f.setValue("smtpStartTls",!0),f.setValue("smtpPort",587)},fe=h=>{E(h),U(!1);const V=Vt(h);if(!V)return;const ce=Be(V.imap.security);f.setValue("imapHost",V.imap.host),f.setValue("imapPort",V.imap.port),f.setValue("imapTls",ce.tls),f.setValue("imapStartTls",ce.startTls);const se=Be(V.smtp.security);f.setValue("smtpHost",V.smtp.host),f.setValue("smtpPort",V.smtp.port),f.setValue("smtpTls",se.tls),f.setValue("smtpStartTls",se.startTls);const me=f.getValues("email").trim(),Ne=f.getValues("username")?.trim();me&&!Ne&&f.setValue("username",me)},Ee=R?.passwordHelp.text,we=Dt(b.data?.imapError,Ee),_e=Dt(b.data?.smtpError,Ee);return(t?Qr(t):!1)&&d?a.jsx(Ct,{isOpen:e,onClose:s,title:"Edit Account",footer:a.jsx(te,{type:"button",variant:"secondary",onClick:s,children:"Close"}),children:a.jsxs("div",{className:"space-y-6",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xs font-semibold text-fg-subtle uppercase tracking-wider mb-3",children:"Microsoft 365 Account"}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"rounded-md border border-line bg-surface-sunken px-3 py-2.5 text-sm text-fg-muted",children:[a.jsx("span",{className:"block text-2xs font-medium uppercase tracking-wider text-fg-subtle mb-1",children:"Email"}),a.jsx("span",{className:"text-fg",children:t?.email})]}),a.jsxs("div",{className:"rounded-md border border-line bg-surface-sunken px-3 py-2.5 text-sm text-fg-muted",children:[a.jsx("span",{className:"block text-2xs font-medium uppercase tracking-wider text-fg-subtle mb-1",children:"Authentication"}),a.jsx("span",{className:"text-fg",children:"Microsoft OAuth (XOAUTH2)"})]}),a.jsx("p",{className:"text-xs text-fg-muted",children:"Server settings are managed automatically for Microsoft 365 accounts. To update credentials, use the Reconnect button."})]})]}),d&&a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xs font-semibold text-fg-subtle uppercase tracking-wider mb-3",children:"Signature"}),a.jsx("div",{className:"space-y-3",children:a.jsxs("div",{children:[a.jsx("label",{htmlFor:"email-sig-view",className:"text-sm font-medium mb-1.5 block",children:"Email Signature"}),a.jsx("textarea",{id:"email-sig-view",value:Q,onChange:h=>le(h.target.value),onBlur:Z,rows:5,className:"w-full px-3 py-2 border border-line rounded-md bg-surface-sunken text-sm text-fg placeholder:text-fg-subtle focus-within:border-line-strong focus-within:ring-2 focus-within:ring-ring/30 transition-colors resize-y outline-none",placeholder:"Enter your email signature..."}),a.jsx("p",{className:"text-xs text-fg-muted mt-1",children:oe?"Saving signature...":"This signature will be appended to new emails."})]})})]}),d&&q]})}):a.jsx(Ct,{isOpen:e,onClose:s,title:d?"Edit Account":"Add Account",footer:a.jsxs(a.Fragment,{children:[a.jsx(te,{type:"button",variant:"secondary",onClick:s,children:"Cancel"}),a.jsx(te,{type:"submit",form:"account-form",variant:"primary",disabled:ne,children:ne?"Saving...":"Save Account"})]}),children:a.jsxs("form",{id:"account-form",onSubmit:A,className:"space-y-6",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xs font-semibold text-fg-subtle uppercase tracking-wider mb-3",children:"Account Information"}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsx("label",{htmlFor:"account-provider",className:"text-sm font-medium mb-1.5 block",children:"Provider"}),a.jsxs(Ms,{id:"account-provider",value:j,onChange:h=>fe(h.target.value),children:[a.jsx("option",{value:"",children:"Custom / other"}),Xs.map(h=>a.jsx("option",{value:h.id,children:h.label},h.id))]}),a.jsx("p",{className:"text-xs text-fg-muted mt-1",children:"Pick your email provider to fill in server settings automatically, or choose Custom to enter them by hand."})]}),a.jsxs("div",{children:[a.jsx("label",{htmlFor:"account-email",className:"text-sm font-medium mb-1.5 block",children:"Email Address"}),a.jsx(ve,{id:"account-email",...f.register("email"),placeholder:"alice@example.com"}),f.formState.errors.email&&a.jsx("p",{className:"text-sm text-danger mt-1",children:f.formState.errors.email.message})]}),a.jsxs("div",{children:[a.jsx("label",{htmlFor:"account-displayName",className:"text-sm font-medium mb-1.5 block",children:"Display name (optional)"}),a.jsx(ve,{id:"account-displayName",...f.register("displayName"),placeholder:"Alice"}),a.jsx("p",{className:"text-xs text-fg-muted mt-1",children:"What to call this account in Remit. Leave blank to use a name derived from the address."})]}),a.jsxs("div",{children:[a.jsx("label",{htmlFor:"account-username",className:"text-sm font-medium mb-1.5 block",children:"Username"}),a.jsx(ve,{id:"account-username",...f.register("username"),placeholder:"Same as email if empty"})]}),a.jsxs("div",{children:[a.jsx("label",{htmlFor:"account-password",className:"text-sm font-medium mb-1.5 block",children:"Password"}),a.jsx(At,{id:"account-password",...f.register("password",{onChange:()=>u(!0)}),onFocus:()=>{d&&!n&&(f.setValue("password",""),u(!0))},placeholder:d?"Leave empty to keep current":""}),f.formState.errors.password&&a.jsx("p",{className:"text-sm text-danger mt-1",children:f.formState.errors.password.message}),R&&a.jsxs("p",{className:"text-xs text-fg-muted mt-1",children:[R.passwordHelp.text," ",a.jsx("a",{href:R.passwordHelp.url,target:"_blank",rel:"noopener noreferrer",className:"text-accent hover:underline",children:"Get an app password"})]})]})]})]}),a.jsxs("section",{children:[a.jsxs("div",{className:"flex items-center justify-between mb-3",children:[a.jsx("h3",{className:"text-2xs font-semibold text-fg-subtle uppercase tracking-wider",children:"Incoming Mail (IMAP)"}),R&&a.jsx("button",{type:"button",onClick:()=>U(h=>!h),className:"text-xs text-fg-muted hover:text-fg transition-colors",children:P?"Use preset settings":"Advanced"})]}),O&&a.jsxs("p",{className:"text-xs text-fg-muted mb-3",children:["Server settings are pre-filled for ",R?.label," and locked. Choose Advanced to edit them by hand."]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsx("label",{htmlFor:"imap-host",className:"text-sm font-medium mb-1.5 block",children:"Server"}),a.jsx(ve,{id:"imap-host",...f.register("imapHost"),readOnly:O,placeholder:"imap.example.com"}),f.formState.errors.imapHost&&a.jsx("p",{className:"text-sm text-danger mt-1",children:f.formState.errors.imapHost.message})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{children:[a.jsx("label",{htmlFor:"imap-port",className:"text-sm font-medium mb-1.5 block",children:"Port"}),a.jsx(ve,{id:"imap-port",...f.register("imapPort"),readOnly:O,type:"number"})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm font-medium mb-1.5 block",children:"Security"}),a.jsxs("div",{className:"space-y-1.5 mt-2",children:[a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx("input",{type:"radio",disabled:O,checked:f.watch("imapTls"),onChange:()=>S("tls")}),"TLS (Port 993)"]}),a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx("input",{type:"radio",disabled:O,checked:!f.watch("imapTls")&&f.watch("imapStartTls"),onChange:()=>S("starttls")}),"STARTTLS (Port 143)"]}),a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx("input",{type:"radio",disabled:O,checked:!f.watch("imapTls")&&!f.watch("imapStartTls"),onChange:()=>S("none")}),"None (Unencrypted)"]})]})]})]}),a.jsx(te,{type:"button",variant:"secondary",onClick:$,disabled:b.isPending,className:"w-full",icon:b.isPending?a.jsx(it,{className:"size-4 animate-spin"}):void 0,children:b.isPending?"Testing...":"Test IMAP Connection"}),b.data&&a.jsxs("div",{className:Ge("p-2 rounded-md text-sm",b.data.imapSuccess?"bg-positive/10 text-positive":"bg-danger-soft text-danger"),children:[b.data.imapSuccess?a.jsx(Tt,{className:"inline size-4 mr-1"}):a.jsx(Ce,{className:"inline size-4 mr-1"}),b.data.imapSuccess?"IMAP Connected":we]})]})]}),a.jsxs("section",{ref:_,"data-testid":"smtp-section",children:[a.jsxs("div",{className:"flex items-center justify-between mb-3",children:[a.jsx("h3",{className:"text-2xs font-semibold text-fg-subtle uppercase tracking-wider",children:"Outgoing Mail (SMTP)"}),!O&&a.jsx("button",{type:"button",onClick:W,disabled:!f.watch("imapHost"),className:"text-xs text-fg-muted hover:text-fg transition-colors disabled:opacity-50",children:"Pre-fill from IMAP"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsx("label",{htmlFor:"smtp-host",className:"text-sm font-medium mb-1.5 block",children:"Server"}),a.jsx(ve,{id:"smtp-host",...f.register("smtpHost"),readOnly:O,placeholder:"smtp.example.com"})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{children:[a.jsx("label",{htmlFor:"smtp-port",className:"text-sm font-medium mb-1.5 block",children:"Port"}),a.jsx(ve,{id:"smtp-port",...f.register("smtpPort"),readOnly:O,type:"number"})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm font-medium mb-1.5 block",children:"Security"}),a.jsxs("div",{className:"space-y-1.5 mt-2",children:[a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx("input",{type:"radio",disabled:O,checked:f.watch("smtpTls")===!0,onChange:()=>J("tls")}),"TLS (Port 465)"]}),a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx("input",{type:"radio",disabled:O,checked:!f.watch("smtpTls")&&f.watch("smtpStartTls")===!0,onChange:()=>J("starttls")}),"STARTTLS (Port 587)"]}),a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx("input",{type:"radio",disabled:O,checked:!f.watch("smtpTls")&&!f.watch("smtpStartTls"),onChange:()=>J("none")}),"None (Unencrypted)"]})]})]})]}),a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx("input",{type:"checkbox",...f.register("useDifferentSmtpCreds")}),"Use different credentials for SMTP"]}),f.watch("useDifferentSmtpCreds")&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{children:[a.jsx("label",{htmlFor:"smtp-username",className:"text-sm font-medium mb-1.5 block",children:"SMTP Username"}),a.jsx(ve,{id:"smtp-username",...f.register("smtpUsername")})]}),a.jsxs("div",{children:[a.jsx("label",{htmlFor:"smtp-password",className:"text-sm font-medium mb-1.5 block",children:"SMTP Password"}),a.jsx(At,{id:"smtp-password",...f.register("smtpPassword")})]})]}),a.jsx(te,{type:"button",variant:"secondary",onClick:I,disabled:b.isPending||!f.watch("smtpHost"),className:"w-full",icon:b.isPending?a.jsx(it,{className:"size-4 animate-spin"}):void 0,children:b.isPending?"Testing...":"Test SMTP Connection"}),b.data?.smtpSuccess!==void 0&&a.jsxs("div",{className:Ge("p-2 rounded-md text-sm",b.data.smtpSuccess?"bg-positive/10 text-positive":"bg-danger-soft text-danger"),children:[b.data.smtpSuccess?a.jsx(Tt,{className:"inline size-4 mr-1"}):a.jsx(Ce,{className:"inline size-4 mr-1"}),b.data.smtpSuccess?"SMTP Connected":_e]})]})]}),d&&a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xs font-semibold text-fg-subtle uppercase tracking-wider mb-3",children:"Signature"}),a.jsx("div",{className:"space-y-3",children:a.jsxs("div",{children:[a.jsx("label",{htmlFor:"email-sig-edit",className:"text-sm font-medium mb-1.5 block",children:"Email Signature"}),a.jsx("textarea",{id:"email-sig-edit",value:Q,onChange:h=>le(h.target.value),onBlur:Z,rows:5,className:"w-full px-3 py-2 border border-line rounded-md bg-surface-sunken text-sm text-fg placeholder:text-fg-subtle focus-within:border-line-strong focus-within:ring-2 focus-within:ring-ring/30 transition-colors resize-y outline-none",placeholder:"Enter your email signature..."}),a.jsx("p",{className:"text-xs text-fg-muted mt-1",children:oe?"Saving signature...":"This signature will be appended to new emails."})]})})]}),d&&q]})})};function Yt({open:e,onClose:s,accountEmail:t,signOut:i}){const[o,d]=F.useState(""),[n,u]=F.useState(!1),[j,E]=F.useState(!1),P=Se({...Hs(),onSuccess:()=>{E(!0),setTimeout(()=>i(),2e3)}}),U=Se(zs()),R=()=>{P.isPending||(d(""),u(!1),E(!1),P.reset(),U.reset(),s())},O=()=>{if(o.trim().toLowerCase()!==t.toLowerCase()){u(!0);return}u(!1),P.mutate({body:{confirmEmail:o.trim()}})};return a.jsxs(ts,{open:e,onClose:R,title:"Delete your Remit account",children:[a.jsxs("header",{className:"flex items-center gap-2 border-b border-line px-5 py-3",children:[a.jsx(ut,{className:"size-4 shrink-0 text-danger"}),a.jsx("span",{className:"flex-1 text-sm font-semibold text-fg",children:"Delete your Remit account"}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ce,{className:"size-3.5"}),onClick:R,"aria-label":"Cancel"})]}),j?a.jsxs("div",{className:"px-5 py-6 text-sm text-fg-muted",children:[a.jsx("p",{className:"font-medium text-fg",children:"Account deletion scheduled."}),a.jsx("p",{className:"mt-1",children:"Your data will be erased shortly. Signing you out…"})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"space-y-4 px-5 py-4 text-sm text-fg-muted",children:[a.jsx("p",{children:"This permanently erases everything Remit holds for you:"}),a.jsxs("ul",{className:"space-y-1.5 text-xs",children:[a.jsxs("li",{className:"flex gap-2",children:[a.jsx("span",{className:"text-danger",children:"•"}),"All connected accounts disconnected and access tokens revoked."]}),a.jsxs("li",{className:"flex gap-2",children:[a.jsx("span",{className:"text-danger",children:"•"}),"Synced mail cache and search index."]}),a.jsxs("li",{className:"flex gap-2",children:[a.jsx("span",{className:"text-danger",children:"•"}),"AI history and insights."]}),a.jsxs("li",{className:"flex gap-2",children:[a.jsx("span",{className:"text-danger",children:"•"}),"Preferences and rules."]})]}),a.jsxs("div",{className:"rounded-sm border border-line bg-surface-sunken px-3 py-2 text-xs",children:[a.jsx("strong",{className:"text-fg",children:"Your mail at Gmail / IMAP is not deleted."})," ","This only removes Remit's copy and its access — the mail stays in your provider mailboxes."]}),a.jsxs("div",{className:"text-xs",children:[a.jsxs("button",{type:"button",onClick:()=>U.mutate({}),"aria-busy":U.isPending,className:"inline-flex items-center gap-1.5 font-medium text-accent hover:underline",children:[a.jsx(or,{className:"size-3.5"}),U.isPending?"Requesting export…":"Export my data first"]}),U.isSuccess&&a.jsx("p",{className:"mt-1.5 text-fg-muted",role:"status",children:"Export requested. We'll prepare a ZIP of your mail — find it under your data exports when it's ready."}),U.isError&&a.jsx("p",{className:"mt-1.5 text-danger",role:"alert",children:"Couldn't start the export. Please try again."})]}),a.jsxs("div",{children:[a.jsxs("label",{htmlFor:"confirm-remit-email",className:"mb-1 block text-xs font-medium text-fg",children:["Type"," ",a.jsx("span",{className:"font-mono text-fg-muted",children:t})," ","to confirm"]}),a.jsx(ve,{id:"confirm-remit-email",type:"email",placeholder:t,value:o,onChange:_=>{d(_.target.value),n&&u(!1),P.isError&&P.reset()},autoComplete:"off"}),n&&a.jsx("p",{className:"mt-1.5 text-xs text-danger",role:"alert",children:"That doesn't match your account email. Type it exactly to confirm."}),P.isError&&a.jsx("p",{className:"mt-1.5 text-xs text-danger",role:"alert",children:P.error instanceof Error?P.error.message:"Something went wrong. Please try again."})]})]}),a.jsxs("footer",{className:"flex items-center justify-end gap-2 border-t border-line px-5 py-3",children:[a.jsx(te,{variant:"secondary",size:"sm",onClick:R,children:"Cancel"}),a.jsx(te,{variant:"danger",size:"sm",onClick:O,"aria-busy":P.isPending,children:P.isPending?"Deleting…":"Delete everything"})]})]})]})}function ta(e){const{Account:s}=Us();return a.jsx(s,{fallback:a.jsx(Yt,{...e,accountEmail:"",signOut:()=>{}}),children:({email:t,signOut:i})=>a.jsx(Yt,{...e,accountEmail:t??"",signOut:i})})}function sa(){const[e,s]=F.useState(!1);return a.jsxs("section",{className:"mt-8 border-t border-line pt-6",children:[a.jsx(mr,{title:"Delete your Remit account",description:"Disconnects every account and erases Remit's copy of your mail, insights and preferences. Your mail at the providers is untouched.",action:a.jsx(te,{variant:"danger",size:"sm",onClick:()=>s(!0),children:"Delete your Remit account"})}),a.jsx(ta,{open:e,onClose:()=>s(!1)})]})}function ra(e){const s=e.toLowerCase();return s==="access_denied"?"You cancelled the sign-in.":s==="consent_required"||s.includes("admin_consent")||s.includes("interaction_required")?"Your organisation's admin needs to approve Remit. Ask your IT admin to grant the required permissions.":s.includes("imap_disabled")||s.includes("imap disabled")?"IMAP is disabled for this account. Ask your admin to enable IMAP access in the Microsoft 365 admin centre.":`Sign-in failed: ${e}. Please try again.`}function aa(e){const s=e.split("@")[0]??"";return s?s.split(/[._-]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" "):e}function ia(e){const s=e.displayName?.trim();return s||aa(e.email)}function na(e){if(!e.lastSyncAt)return"never synced";const s=cr(e.lastSyncAt);return s?`synced ${s}`:"never synced"}function Qt(e){return e.muted?.value?"muted":e.lastError?"error":e.connectionState==="authenticated"?"healthy":"error"}function Zt(e){return e.connectionState==="reauth_required"}function oa(e){return e.connectionState==="credentials_missing"}const la=()=>a.jsx("div",{className:"space-y-3",role:"status","aria-busy":"true","aria-label":"Loading accounts",children:["skeleton-0","skeleton-1"].map(e=>a.jsx("div",{className:"rounded-sm border border-line bg-surface animate-pulse p-4",children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"size-10 rounded-full bg-surface-sunken"}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("div",{className:"h-4 bg-surface-sunken rounded w-1/3"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-2/3"})]})]})},e))});function ka(){const e=_t.useSearch(),s=Bs({from:_t.fullPath}),[t,i]=F.useState(!0),[o,d]=F.useState(!1),[n,u]=F.useState(!1),[j,E]=F.useState(null),[P,U]=F.useState(!1),[R,O]=F.useState(null),[_,f]=F.useState(null),[b,re]=F.useState(null),[N,$]=F.useState(null),I=ft(),{data:A,isPending:ne,isError:ae,error:ge,refetch:oe}=Jt(Xt());F.useEffect(()=>{e.editAccountId&&(E(e.editAccountId),U(!!e.focusSmtp),s({search:{editAccountId:void 0,focusSmtp:void 0,connected:e.connected,oauthError:e.oauthError},replace:!0}))},[e.editAccountId,e.focusSmtp,s,e.connected,e.oauthError]),F.useEffect(()=>{e.connected&&(f("Account connected successfully."),E(e.connected),I.invalidateQueries({queryKey:Te()}),s({search:{connected:void 0,oauthError:void 0,editAccountId:void 0,focusSmtp:void 0},replace:!0}))},[e.connected,s,I]),F.useEffect(()=>{e.oauthError&&(re(ra(e.oauthError)),$(null),s({search:{oauthError:void 0,connected:void 0,editAccountId:void 0,focusSmtp:void 0},replace:!0}))},[e.oauthError,s]),tr(N!==null,()=>{I.invalidateQueries({queryKey:Te()})}),F.useEffect(()=>{if(!N||!A)return;const S=A.accounts.find(J=>J.accountId===N);(!S||!Zt(S))&&$(null)},[A,N]);const Q=sr(S=>{$(null),S==="stalled"&&re(rr)}),le=Se({...qs(),onSuccess:S=>{Q(),window.location.assign(S.authorizationUrl)},onError:S=>{re(S instanceof Error?S.message:"Failed to start reconnect"),$(null)}}),T=Se({...$s(),onSuccess:()=>{I.invalidateQueries({queryKey:Te()}),O(null)}}),k=A?.accounts.find(S=>S.accountId===R),D=A?.accounts.find(S=>S.accountId===j),q=()=>{d(!1),u(!1),E(null),U(!1)},Z=S=>{const J=Ks[S];J&&s({to:J})};return a.jsxs(Zs,{items:Ws,activeId:"accounts",title:"Accounts",description:"Every account keeps syncing — muted ones just stay out of unified views.",help:dr,helpOpen:t,onToggleHelp:()=>i(S=>!S),onSelect:Z,onBackToMail:()=>{s({to:"/mail"})},children:[_&&a.jsx(Pt,{tone:"success",variant:"soft","data-testid":"oauth-success-banner",onDismiss:()=>f(null),children:_}),b&&a.jsx(Pt,{tone:"danger",variant:"soft","data-testid":"oauth-error-banner",onDismiss:()=>re(null),children:b}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(Gs,{tone:"neutral",children:ne||ae?"accounts":`${A.accounts.length} ${A.accounts.length===1?"account":"accounts"}`}),a.jsx(te,{variant:"primary",size:"sm",icon:a.jsx(kt,{className:"size-3.5"}),onClick:()=>u(!0),children:"Add account"})]}),ne?a.jsx(la,{}):ae?a.jsx(lr,{title:"Couldn't load accounts",error:ge,onRetry:()=>{oe()}}):A.accounts.length===0?a.jsxs("div",{className:"py-12 text-sm text-fg-muted","data-testid":"accounts-empty",children:[a.jsx("p",{className:"mb-3",children:"No accounts configured."}),a.jsx(te,{variant:"primary",size:"sm",icon:a.jsx(kt,{className:"size-3.5"}),onClick:()=>u(!0),children:"Add your first account"})]}):a.jsx("div",{className:"space-y-3",children:A.accounts.map(S=>{const J=Zt(S),W=oa(S),fe=S.authType==="oauthMicrosoft",Ee=N===S.accountId,we=J&&fe?{label:"Reconnect",variant:"secondary",busy:Ee,busyLabel:"Redirecting…",onClick:()=>{$(S.accountId),le.mutate({body:{email:S.email}})}}:W?{label:"Enter password",variant:"secondary",onClick:()=>E(S.accountId)}:Qt(S)==="error"?{label:"Reconnect",variant:"secondary",onClick:()=>E(S.accountId)}:{label:"Manage",variant:"ghost",onClick:()=>E(S.accountId)},_e=a.jsx(Qs,{actions:[we],destructive:{label:"Delete account",iconOnly:!0,icon:a.jsx(Ys,{className:"size-3.5"}),onClick:()=>O(S.accountId)}});return a.jsx(Js,{label:ia(S),email:S.email,connector:fe?"Microsoft 365":"IMAP",syncLabel:na(S),state:Qt(S),errorDetail:J?S.lastError??"Re-authentication required":W?"Imported from a config file, which carries no password. Enter one to start syncing.":S.lastError,trailing:_e},S.accountId)})}),n&&a.jsx("div",{className:"fixed inset-0 z-40 overflow-auto bg-canvas",children:a.jsx(er,{skipWelcome:!0,onComplete:()=>{u(!1),I.invalidateQueries({queryKey:Te()})},onCancel:()=>u(!1)})}),a.jsx(ea,{isOpen:o||!!j,account:D,focusSmtp:P,onClose:q}),a.jsxs(ts,{open:!!R,onClose:()=>O(null),title:"Delete account",children:[a.jsxs("header",{className:"flex items-center gap-2 border-b border-line px-5 py-3",children:[a.jsx(ut,{className:"size-4 shrink-0 text-danger"}),a.jsx("span",{className:"flex-1 text-sm font-semibold text-fg",children:"Delete account"}),a.jsx(te,{variant:"ghost",size:"sm",icon:a.jsx(Ce,{className:"size-3.5"}),onClick:()=>O(null),"aria-label":"Cancel"})]}),a.jsxs("div",{className:"space-y-3 px-5 py-4 text-sm text-fg-muted",children:[a.jsx("p",{className:"text-center text-lg font-medium text-fg",children:"Are you sure?"}),k&&a.jsx("p",{className:"text-center",children:k.email}),a.jsxs("ul",{className:"list-inside list-disc space-y-1",children:[a.jsx("li",{children:"Remove the account from your settings"}),a.jsx("li",{children:"Stop syncing mail for this account"}),a.jsx("li",{children:"Delete all associated data (within 24 hours)"})]})]}),a.jsxs("footer",{className:"flex items-center justify-end gap-2 border-t border-line px-5 py-3",children:[a.jsx(te,{variant:"secondary",size:"sm",onClick:()=>O(null),children:"Cancel"}),a.jsx(te,{variant:"danger",size:"sm","aria-busy":T.isPending,icon:T.isPending?a.jsx(it,{className:"size-3.5 animate-spin"}):void 0,onClick:()=>{T.isPending||R&&T.mutate({path:{accountId:R}})},children:T.isPending?"Deleting…":"Delete account"})]})]}),a.jsx(sa,{})]})}export{ka as component,ra as mapOauthError};
@@ -1 +0,0 @@
1
- import{E as N,r as n,e9 as k,j as a,t as g}from"./index-CnQhUzpu.js";const E=320,R="cubic-bezier(0.32, 0.9, 0.3, 1)",C=.5,P=.4,T=360;function A(s){return Math.sign(s)*Math.sqrt(Math.abs(s))*4}function L({open:s,onClose:i,children:S,label:Y,dismissLabel:y="Dismiss"}){N({id:"bottom-sheet",open:s,answers:{back:i}});const f=n.useRef(null),b=n.useRef(null),[l,j]=n.useState(T),[m,u]=n.useState(null);k(b,s),n.useLayoutEffect(()=>{const t=f.current;if(!t)return;const e=()=>j(t.offsetHeight);e();const r=new ResizeObserver(e);return r.observe(t),()=>r.disconnect()},[]);const c=n.useRef(null),w=n.useCallback(t=>{t.currentTarget.setPointerCapture(t.pointerId),c.current={startY:t.clientY,lastY:t.clientY,lastT:t.timeStamp,velocity:0,moved:!1},u(0)},[]),I=n.useCallback(t=>{const e=c.current;if(!e)return;const r=t.timeStamp-e.lastT;r>0&&(e.velocity=(t.clientY-e.lastY)/r),e.lastY=t.clientY,e.lastT=t.timeStamp;const o=t.clientY-e.startY;Math.abs(o)>4&&(e.moved=!0);const M=o<0?A(o):o;u(M)},[]),h=n.useCallback(()=>{const t=c.current;if(c.current=null,!t)return;const e=t.lastY-t.startY,o=t.velocity>C||e>l*P;u(null),o&&i()},[l,i]),x=m!==null,v=s?m??0:l,d=Math.min(Math.max(1-v/l,0),1),p=x?"none":`transform ${E}ms ${R}`;return a.jsxs("div",{className:g("absolute inset-0 z-40 select-none overflow-hidden",s||x?"":"pointer-events-none"),children:[a.jsx("button",{type:"button","aria-label":y,tabIndex:-1,onClick:i,className:g("absolute inset-0 bg-black/40",d>0?"pointer-events-auto":"pointer-events-none"),style:{opacity:d*.6,transition:p.replace("transform","opacity")}}),a.jsxs("div",{ref:f,role:"dialog","aria-modal":"true","aria-labelledby":"bottom-sheet-title","aria-hidden":!s,inert:!s,className:"absolute inset-x-0 bottom-0 flex max-h-[92%] flex-col rounded-t-3xl border-t border-line bg-surface pb-[env(safe-area-inset-bottom,0px)] shadow-2xl shadow-black/30",style:{transform:`translateY(${v}px)`,transition:p},children:[a.jsx("h2",{id:"bottom-sheet-title",className:"sr-only",children:Y}),a.jsx("div",{role:"slider","aria-label":"Drag down to dismiss","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(d*100),tabIndex:-1,onPointerDown:w,onPointerMove:I,onPointerUp:h,onPointerCancel:h,className:"flex cursor-grab touch-none justify-center pb-1 pt-2.5 active:cursor-grabbing",children:a.jsx("div",{className:"h-1 w-10 rounded-full bg-fg-subtle/40"})}),a.jsx("div",{ref:b,className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:S})]})]})}export{L as B};
@@ -1 +0,0 @@
1
- import{j as r,O as i}from"./index-CnQhUzpu.js";import{a as m}from"./MailShell-BHmbmhqi.js";import{B as o}from"./BriefPane-CzpxWzXP.js";import{d as p}from"./search-token-index-B83nV8O4.js";import{u as e}from"./search-mirror-MYcnbbOP.js";import"./FullCompose-DDDA7gVW.js";import"./ErrorState-D9K04lHc.js";import"./index-CD2f8G1g.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./confirm-dialog-DtoFm1zW.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./EmptyState-DjG2vik2.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./useLayoutTier-CYeHLrjH.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./useQueries-BN3GIDu9.js";import"./menu-CB_7f-VX.js";import"./useRefreshControl-CcMeCYwi.js";import"./circle-check-big-xjrW0cXa.js";import"./refresh-cw-BuJ6ivrC.js";import"./useSemanticSearch-BseEAAw4.js";import"./useLabels-Cp8HIOMT.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function X(){const t=p();return e({to:"/mail/brief"}),r.jsx(o,{thread:t,children:r.jsx(m,{phone:r.jsx(o.Phone,{}),list:r.jsx(o.List,{}),reading:r.jsx(i,{}),intelligence:r.jsx(o.Intelligence,{}),hasThread:!!t})})}export{X as component};
@@ -1 +0,0 @@
1
- import{e}from"./index-CnQhUzpu.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-DDDA7gVW.js";import"./index-CnQhUzpu.js";import"./ErrorState-D9K04lHc.js";import"./index-CD2f8G1g.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./confirm-dialog-DtoFm1zW.js";const C=o;export{C as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-DDDA7gVW.js";import"./index-CnQhUzpu.js";import"./ErrorState-D9K04lHc.js";import"./index-CD2f8G1g.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./confirm-dialog-DtoFm1zW.js";const C=o;export{C as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-DDDA7gVW.js";import"./index-CnQhUzpu.js";import"./ErrorState-D9K04lHc.js";import"./index-CD2f8G1g.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./confirm-dialog-DtoFm1zW.js";const C=o;export{C as component};
@@ -1 +0,0 @@
1
- import{F as o}from"./FullCompose-DDDA7gVW.js";import"./index-CnQhUzpu.js";import"./ErrorState-D9K04lHc.js";import"./index-CD2f8G1g.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./confirm-dialog-DtoFm1zW.js";const C=o;export{C as component};
@@ -1 +0,0 @@
1
- import{r as o,E as x,j as e,F as b,t as n}from"./index-CnQhUzpu.js";const h=({isOpen:s,title:r,description:a,confirmLabel:c,cancelLabel:d="Cancel",destructive:m=!1,isBusy:u=!1,onConfirm:f,onCancel:t})=>{const i=o.useRef(null);return x({id:"confirm-dialog",open:s,answers:{back:t}}),o.useEffect(()=>{if(!s)return;const l=document.activeElement instanceof HTMLElement?document.activeElement:null;return i.current?.focus(),()=>{l?.isConnected&&l.focus()}},[s]),s?e.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center",children:[e.jsx(b,{label:"Dismiss confirmation",onDismiss:t,className:"backdrop-blur-sm"}),e.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":r,className:n("relative z-10 w-full max-w-sm","bg-surface border border-line rounded-sm shadow-lg","p-6"),children:[e.jsx("h2",{className:"text-lg font-semibold",children:r}),a&&e.jsx("p",{className:"mt-2 text-sm text-fg-muted",children:a}),e.jsxs("div",{className:"mt-6 flex items-center justify-end gap-2",children:[e.jsx("button",{ref:i,type:"button",onClick:t,className:n("min-h-11 inline-flex items-center justify-center px-4 rounded text-sm font-medium transition-colors","border border-line hover:bg-surface-raised"),children:d}),e.jsx("button",{type:"button",onClick:f,disabled:u,className:n("min-h-11 inline-flex items-center justify-center px-4 rounded text-sm font-medium transition-colors",m?"bg-danger text-canvas hover:bg-danger/90":"bg-accent text-accent-fg hover:bg-accent-hover","disabled:opacity-50 disabled:cursor-not-allowed"),children:c})]})]})]}):null};export{h as C};
@@ -1 +0,0 @@
1
- import{j as o,O as i}from"./index-CnQhUzpu.js";import{a as m}from"./MailShell-BHmbmhqi.js";import{F as r}from"./FlaggedPane-D5kil_eg.js";import{d as p}from"./search-token-index-B83nV8O4.js";import{u as e}from"./search-mirror-MYcnbbOP.js";import"./FullCompose-DDDA7gVW.js";import"./ErrorState-D9K04lHc.js";import"./index-CD2f8G1g.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./confirm-dialog-DtoFm1zW.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./EmptyState-DjG2vik2.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./useLayoutTier-CYeHLrjH.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./useQueries-BN3GIDu9.js";import"./menu-CB_7f-VX.js";import"./MailViewChrome-D70OQa4-.js";import"./refresh-cw-BuJ6ivrC.js";import"./wizard-selection-DxUM65kM.js";function Q(){const t=p();return e({to:"/mail/flagged"}),o.jsx(r,{thread:t,children:o.jsx(m,{phone:o.jsx(r.Phone,{}),list:o.jsx(r.List,{}),reading:o.jsx(i,{}),intelligence:o.jsx(r.Intelligence,{}),hasThread:!!t})})}export{Q as component};
@@ -1 +0,0 @@
1
- import{j as e,f as y,a1 as G,bn as Y,r as c,aG as W,X,aN as he,ax as J,$ as xe,aQ as Q,bo as fe,aw as pe,az as ge,B as z,aP as be,bp as ve,h as Z,M as ee,o as se,bq as je,br as ye,aM as Ne,K as ke,bs as Ce,bt as _,bu as we,bv as Se,bw as te,bx as Me,by as q,be as ae,bk as re,bl as Ie,ad as B,ac as ne,L as K,bz as H,bA as Ee,ap as De,bB as Ae,u as Oe,c as ie,d as Te,aJ as Re,aL as Fe,G as Pe,i as V,s as $e,bC as Le,bD as ze,bE as _e,aU as Ge,bF as Be,bG as Ke}from"./index-CnQhUzpu.js";import{P as Qe}from"./pencil-ln_zd-v6.js";import{S as qe}from"./settings-screen-DrUkCIc8.js";import{E as oe}from"./ErrorState-D9K04lHc.js";import"./avatar-BSvAFgta.js";import"./chevron-left-yG-Wi4oU.js";import"./menu-CB_7f-VX.js";import"./circle-help-kesrsCfa.js";const He=({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(y,{variant:"ghost",size:"sm",icon:e.jsx(Qe,{className:"size-3.5"}),"aria-label":m(s),onClick:t}),e.jsx("span",{title:o,children:e.jsx(y,{variant:"ghost",size:"sm",icon:e.jsx(G,{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(Y,{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(He,{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(W,{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(y,{variant:"ghost",size:"sm",icon:e.jsx(X,{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(y,{variant:"secondary",size:"sm",onClick:u,children:"Cancel"}),e.jsx(y,{variant:"primary",size:"sm",onClick:r,disabled:l,children:l?"Saving…":"Save name"})]})]}):null},Ye=["inbox","drafts","sent","archive","junk","trash"],U="",We={mailboxId:null,source:"None"};function Xe(s){const t=s.messageCount===1?"msg":"msgs";return`${Q(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:j}=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 I=(()=>{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 ${Q(h.providerPath,h.hierarchyDelimiter)} instead.`:"",A=`The folder you chose for ${f}${j?` — ${j} —`:""} 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":I||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:Xe(N)},N.mailboxId))]}),v==="Proposed"&&h&&e.jsx(y,{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(y,{variant:"ghost",size:"sm",className:"shrink-0",icon:e.jsx(ge,{className:"size-4"}),"aria-label":"Save display name",onClick:()=>r(h.mailboxId,u)})]})]}),I,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(y,{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:Ye.map(i=>{const d=a[i]??We;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:Q(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),j=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 $(je({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(()=>ye({path:{accountId:s},throwOnError:!0}).then(({data:k})=>k.items.find(S=>S.mailboxId===t)?.messageCount??0),[s,t]),I=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 M=j.current!==void 0,C=await $((async()=>(M||(S.throwIfAborted(),j.current=ns(await I(),t),S.throwIfAborted(),g(Date.now()),await ke({path:{accountId:s},throwOnError:!0})),is({readMailboxes:I,mailboxId:t,since:j.current??0,signal:S})))());return S.aborted?(r("idle"),j.current=void 0,{status:"failed"}):C.ok?C.value.status==="pending"?(r("check-stalled"),{status:"pending"}):(j.current=void 0,C.value.messageCount>0?(r("idle"),h(),{status:"blocked",messageCount:C.value.messageCount}):(await f(),{status:"deleted"})):(j.current=void 0,d(C.error),r("error"),{status:"failed"})},[s,t,I,f,h]),A=c.useCallback(()=>{v.current?.abort()},[]),N=c.useCallback(async k=>{const S=new AbortController;v.current=S;const{signal:M}=S;r("moving"),d(void 0);const C=await $(O());if(M.aborted)return;if(!C.ok){d(C.error),r("error");return}let x=Ce(C.value);l(x);const E=new Set;for(;;){if(M.aborted)return;const n=await $(ls(t,E,Me,M));if(M.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(M.aborted)return;if(!T.ok){x=_(x,T.error),l(x),d(T.error),r("error");return}for(const P of b)E.add(P);x=Se(x,b.length),l(x)}const D=await $(cs(t,M));if(!M.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,j.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(()=>q(a.messageCount)),[i,d]=c.useState(),[p,g]=c.useState(),{createFolderIn:v}=ae(t),j=re(),{phase:h,progress:f,errorMessage:O,checkStartedAt:I,deleteMailbox:w,deleteIfEmpty:A,moveThenDelete:N,cancel:R,reset:k}=ds({accountId:t,mailboxId:a.mailboxId,onDeleted:r}),[S,M]=c.useState("0:00"),C=h==="checking"||h==="check-stalled";c.useEffect(()=>{if(!C||I===void 0)return;const F=()=>M(Ae(Date.now()-I));F();const ue=setInterval(F,1e3);return()=>clearInterval(ue)},[C,I]),c.useEffect(()=>{s&&(l(q(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 F=await A();F.status==="blocked"&&(d(F.messageCount),l("choose-fate"))},[A]),D=c.useMemo(()=>Ie({mailboxes:o,folderAppointments:m,excludeMailboxId:a.mailboxId,translator:j}),[o,m,a.mailboxId,j]),n=D.find(F=>F.id===p),b=c.useMemo(()=>B(a,ne(m).get(a.mailboxId),j),[a,m,j]);if(!s)return null;const T=`Delete ${b}`,P=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(K,{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?H(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(K,{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(y,{variant:"secondary",size:"sm",onClick:x,children:"Cancel"}),e.jsx(y,{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(K,{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:[H(f),". Already-moved emails stay moved — re-open delete to continue with the rest."]}),e.jsx("div",{className:"flex justify-end",children:e.jsx(y,{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(y,{variant:"secondary",size:"sm",onClick:x,children:"Cancel"}),e.jsx(y,{variant:"danger",size:"sm",icon:e.jsx(G,{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(P),". 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(G,{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(y,{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(P),"? 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(y,{variant:"secondary",size:"sm",onClick:()=>l("choose-fate"),children:"Back"}),e.jsx(y,{variant:"danger",size:"sm",icon:e.jsx(G,{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(P)," 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(Y,{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(y,{variant:"danger",onClick:()=>N(n.id),className:"h-11 w-full font-semibold",children:e.jsx("span",{className:"truncate",children:`Move ${L(P)} to ${n.label}`})})})]});return e.jsxs(W,{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(y,{variant:"ghost",size:"sm",icon:e.jsx(X,{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(Pe({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,j]=c.useState(),[h,f]=c.useState(),[O,I]=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:B(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:Ke[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})),M={};for(const n of s.folderAppointments){const b=Ge[n.role];b&&(M[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:Be(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:M,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),I(x(n.id)?.displayNameOverride?.trim()??"")},onDelete:n=>j(n.id),labels:{treeAriaLabel:`All folders for ${s.email}`}})})]}),E&&e.jsx(Ue,{open:!0,folderLabel:B(E,A.get(E.mailboxId),o),defaultLabel:B({fullPath:E.fullPath,hierarchyDelimiter:E.hierarchyDelimiter},A.get(E.mailboxId),o),name:O,onNameChange:I,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:()=>j(void 0)})]})}function ys(){const s=Oe(),[t,a]=c.useState(!0),{data:o,isPending:m,isError:r,error:u,refetch:l}=ie(Te()),i=d=>{const p=Fe[d];p&&s({to:p})};return e.jsx(qe,{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{ys as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CnQhUzpu.js";import{F as r}from"./FlaggedPane-D5kil_eg.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./search-token-index-B83nV8O4.js";import"./useLayoutTier-CYeHLrjH.js";import"./useQueries-BN3GIDu9.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./index-CD2f8G1g.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./EmptyState-DjG2vik2.js";import"./ErrorState-D9K04lHc.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./confirm-dialog-DtoFm1zW.js";import"./menu-CB_7f-VX.js";import"./MailViewChrome-D70OQa4-.js";import"./refresh-cw-BuJ6ivrC.js";import"./wizard-selection-DxUM65kM.js";function I(){return o.jsx(r.Reading,{})}export{I as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CnQhUzpu.js";import{M as r}from"./MailboxPane-CxfWuIsZ.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CcMeCYwi.js";import"./circle-check-big-xjrW0cXa.js";import"./refresh-cw-BuJ6ivrC.js";import"./useQueries-BN3GIDu9.js";import"./search-token-index-B83nV8O4.js";import"./useLayoutTier-CYeHLrjH.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./index-CD2f8G1g.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./EmptyState-DjG2vik2.js";import"./ErrorState-D9K04lHc.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./confirm-dialog-DtoFm1zW.js";import"./menu-CB_7f-VX.js";import"./MailViewChrome-D70OQa4-.js";import"./NavMenuButton-BF1zalD9.js";import"./useLabels-Cp8HIOMT.js";import"./useSemanticSearch-BseEAAw4.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-C8Lt1CCH.js";import"./circle-help-kesrsCfa.js";import"./circle-check-BRMaJLFX.js";function S(){return o.jsx(r.Reading,{})}export{S as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CnQhUzpu.js";import{F as r}from"./FlaggedPane-D5kil_eg.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./search-token-index-B83nV8O4.js";import"./useLayoutTier-CYeHLrjH.js";import"./useQueries-BN3GIDu9.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./index-CD2f8G1g.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./EmptyState-DjG2vik2.js";import"./ErrorState-D9K04lHc.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./confirm-dialog-DtoFm1zW.js";import"./menu-CB_7f-VX.js";import"./MailViewChrome-D70OQa4-.js";import"./refresh-cw-BuJ6ivrC.js";import"./wizard-selection-DxUM65kM.js";function J(){return o.jsx(r.Reading,{})}export{J as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CnQhUzpu.js";import{M as i}from"./MailboxPane-CxfWuIsZ.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CcMeCYwi.js";import"./circle-check-big-xjrW0cXa.js";import"./refresh-cw-BuJ6ivrC.js";import"./useQueries-BN3GIDu9.js";import"./search-token-index-B83nV8O4.js";import"./useLayoutTier-CYeHLrjH.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./index-CD2f8G1g.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./EmptyState-DjG2vik2.js";import"./ErrorState-D9K04lHc.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./confirm-dialog-DtoFm1zW.js";import"./menu-CB_7f-VX.js";import"./MailViewChrome-D70OQa4-.js";import"./NavMenuButton-BF1zalD9.js";import"./useLabels-Cp8HIOMT.js";import"./useSemanticSearch-BseEAAw4.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-C8Lt1CCH.js";import"./circle-help-kesrsCfa.js";import"./circle-check-BRMaJLFX.js";function T(){return o.jsx(i.Reading,{})}export{T as component};
@@ -1 +0,0 @@
1
- import{j as t,al as o}from"./index-CnQhUzpu.js";const n=()=>t.jsx(o,{to:"/settings/accounts"});export{n as component};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CnQhUzpu.js";import{O as t}from"./OutboxPane-CtBj1Y45.js";import"./roving-focus-CCsAlkWZ.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-xjrW0cXa.js";import"./clock-aTuXA4mA.js";import"./row-actions-ZFt2V9Kz.js";import"./rotate-ccw-3YGigbg2.js";import"./NavMenuButton-BF1zalD9.js";import"./menu-CB_7f-VX.js";import"./format-DV51L-5t.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function d(){return o.jsx(t.Reading,{})}export{d as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-CnQhUzpu.js";import{B as o}from"./BriefPane-CzpxWzXP.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./search-token-index-B83nV8O4.js";import"./useLayoutTier-CYeHLrjH.js";import"./useQueries-BN3GIDu9.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./index-CD2f8G1g.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./EmptyState-DjG2vik2.js";import"./ErrorState-D9K04lHc.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./confirm-dialog-DtoFm1zW.js";import"./menu-CB_7f-VX.js";import"./useRefreshControl-CcMeCYwi.js";import"./circle-check-big-xjrW0cXa.js";import"./refresh-cw-BuJ6ivrC.js";import"./useSemanticSearch-BseEAAw4.js";import"./useLabels-Cp8HIOMT.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function N(){return r.jsx(o.Reading,{})}export{N as component};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-CnQhUzpu.js";import{B as o}from"./BriefPane-CzpxWzXP.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-TtDy7Ihz.js";import"./roving-focus-CCsAlkWZ.js";import"./search-token-index-B83nV8O4.js";import"./useLayoutTier-CYeHLrjH.js";import"./useQueries-BN3GIDu9.js";import"./attachment-file-4Zl5jmUV.js";import"./mail-BrievyOG.js";import"./avatar-BSvAFgta.js";import"./index-CD2f8G1g.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./EmptyState-DjG2vik2.js";import"./ErrorState-D9K04lHc.js";import"./download-plt-DvO3.js";import"./calendar-event-chip-BGmuWCFF.js";import"./calendar-color-CiAME2PF.js";import"./map-pin-BFTF47Oi.js";import"./attendee-row-gpHxsuD_.js";import"./clock-aTuXA4mA.js";import"./shield-check-CK2b-sGg.js";import"./useFilters-D6TWTCaf.js";import"./confirm-dialog-DtoFm1zW.js";import"./menu-CB_7f-VX.js";import"./useRefreshControl-CcMeCYwi.js";import"./circle-check-big-xjrW0cXa.js";import"./refresh-cw-BuJ6ivrC.js";import"./useSemanticSearch-BseEAAw4.js";import"./useLabels-Cp8HIOMT.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function M(){return r.jsx(o.Reading,{})}export{M as component};
@@ -1 +0,0 @@
1
- import{em as o,j as r}from"./index-CnQhUzpu.js";import{O as m}from"./OpenCalendarEvent-C35bGGPy.js";import"./CalendarComposePane-DPZ0LmXE.js";import"./window-lfYFRz6w.js";import"./ErrorState-D9K04lHc.js";import"./calendar-color-CiAME2PF.js";import"./attendee-row-gpHxsuD_.js";import"./avatar-BSvAFgta.js";import"./clock-aTuXA4mA.js";import"./map-pin-BFTF47Oi.js";import"./mail-BrievyOG.js";import"./pencil-ln_zd-v6.js";import"./useCalendars-CUUfKEWF.js";import"./useCalendarData-SN3dKvf6.js";import"./useQueries-BN3GIDu9.js";function R(){const{calendarObjectId:t}=o.useParams();return r.jsx(m,{calendarObjectId:t})}export{R as component};
@@ -1 +0,0 @@
1
- import{e as ee,j as s,t as F,v as se,f as I,w as te,x as M,r as d,y as R,z as ne,A as oe,C as ae,h as Q,D as re,E as ie,F as ce,X as le,G as ue,a as de,b as me,H as pe,J as he,K as fe,M as xe,N as ge,P as ve,Q as be,u as ye,c as Se,d as je,R as Ce,O as Ie,S as Ne}from"./index-CnQhUzpu.js";import{S as we,D as Me,a as Ee,b as Oe,u as Pe,s as Re,i as ke,t as Te,K as Le,c as Ae,d as De,e as Fe,f as Qe}from"./search-token-index-B83nV8O4.js";import{u as O,a as Ke}from"./useMessageBodyContent-Brfp8ayB.js";import{P as _e}from"./pencil-ln_zd-v6.js";import{c as ze,s as Be,M as He}from"./MailShell-BHmbmhqi.js";import{u as Ve,a as qe,R as $e,s as Ge,i as Ue,H as We,M as Ye}from"./useRefreshControl-CcMeCYwi.js";import{M as Je}from"./menu-CB_7f-VX.js";import{B as Xe}from"./bug-DUeo5_Uu.js";import{S as Ze,A as es,L as ss,M as ts}from"./MailNav-BvNb3frZ.js";import{A as ns}from"./avatar-BSvAFgta.js";import{u as os}from"./sections-BihXO8oY.js";import{E as as}from"./ErrorState-D9K04lHc.js";import{K as k}from"./kbd-CreXKdFs.js";import{u as rs}from"./index-CD2f8G1g.js";import{u as K,i as is}from"./useLayoutTier-CYeHLrjH.js";import{u as cs}from"./useQueries-BN3GIDu9.js";import{u as ls}from"./useResultFolderIndex-eiPPM65h.js";import{u as us}from"./useDebouncedValue-CCilrXn7.js";import"./search-scope-B5-OK3Cq.js";import"./FullCompose-DDDA7gVW.js";import"./confirm-dialog-DtoFm1zW.js";import"./circle-check-big-xjrW0cXa.js";import"./refresh-cw-BuJ6ivrC.js";import"./roving-focus-CCsAlkWZ.js";import"./outbox-status-BlKn6P0x.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./format-DV51L-5t.js";const ds=ee("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);function ms({leading:e,search:t,actions:n,className:o}){return s.jsxs("header",{className:F("flex min-h-pane-header w-full shrink-0 items-center gap-2 border-b border-line bg-canvas px-row-inset py-1",o),children:[e&&s.jsx("div",{className:"flex shrink-0 items-center gap-1",children:e}),s.jsx("div",{className:"flex min-w-0 flex-1 justify-start",children:s.jsx("div",{className:"w-full max-w-xs transition-[max-width] duration-150 ease-out focus-within:max-w-lg",children:t})}),n&&s.jsx("div",{className:"flex shrink-0 items-center gap-1",children:n})]})}function ps(){const e=se();if(!e)return null;const t=e.showNavPane?!e.navCollapsed:!1;return s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(Je,{className:"size-4"}),onClick:e.toggleNav,"aria-label":t?"Hide folders":"Show folders","aria-expanded":t,title:"Folders",className:"shrink-0"})}const hs={global:"Search all mail",pending:"Search mail",scoped:"Search this folder"};function fs({search:e,onCompose:t,onReportBug:n,onOpenSettings:o,composeShortcut:a,refreshControl:r,account:l}){return s.jsx(ms,{leading:s.jsx(ps,{}),search:s.jsx(we,{value:e.value,onChange:e.onChange,onClear:e.onClear,onClearQuery:e.onClearQuery,chips:e.chips,onRemoveChip:e.onRemoveChip,placeholder:hs[e.scope]}),actions:s.jsxs(s.Fragment,{children:[s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(ds,{className:"size-4"}),title:a?`Compose (${a})`:"Compose","aria-label":"Compose",onClick:t}),s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(Xe,{className:"size-4"}),title:"Report a bug","aria-label":"Report a bug",onClick:n}),s.jsx(I,{variant:"ghost",size:"sm",icon:s.jsx(Ze,{className:"size-4"}),title:"Settings","aria-label":"Settings",onClick:o}),r,l]})})}function xs(){const e=te(),t=M({select:c=>R(c.location.pathname)}),n=M({select:c=>ne(c.location.search)}),[o,a]=d.useState(n),r=us(o,200),[l,u]=d.useState(t);if(l!==t){const c=Be(l,t,n);u(t),c!==void 0&&a(c)}const p=d.useCallback(c=>{u(R(e.state.location.pathname)),a(c)},[e]);return{searchInput:o,committedQuery:ze(o,r),viewKey:t,setSearchInput:p}}const gs=()=>{const e=O();return oe()?null:s.jsx("button",{type:"button",onClick:e,"aria-label":"Compose new message",className:"lg:hidden fixed right-4 z-30 h-14 w-14 rounded-full bg-accent text-accent-fg shadow-lg flex items-center justify-center hover:opacity-90 active:scale-95 transition-all",style:{bottom:"calc(env(safe-area-inset-bottom, 0) + 1rem)"},children:s.jsx(_e,{className:"size-6"})})},vs=({email:e,onSignOut:t})=>{const n=e??"Account";return s.jsxs(Me,{trigger:s.jsx(ns,{name:n,email:e??void 0,size:"sm"}),align:"right",children:[e&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-3 py-2 text-xs text-fg-muted truncate",title:e,"data-testid":"account-menu-email",children:e}),s.jsx(Ee,{})]}),s.jsxs(Oe,{onClick:t,children:[s.jsx(ss,{className:"size-4"}),"Sign out"]})]})},bs=()=>s.jsx(es,{children:({email:e,signOut:t})=>s.jsx(vs,{email:e,onSignOut:t})});function ys({accounts:e}){const{searchInput:t,onSearchChange:n,onSearchClear:o,onSearchClearQuery:a,resultFolderIndex:r}=ae(),l=Q(),u=os(),p=O(),{scope:c,clearScope:x}=Pe(e),f=c.kind==="scoped"?[{id:c.chip.id,label:c.chip.label,tone:"scope"}]:void 0,m=d.useMemo(()=>e.map(v=>v.accountId),[e]),{hasNewMail:i}=Ve(),{state:h,errorMessage:y,refresh:g}=qe(m,{onSettled:()=>ke(l,Te(r.keys()))});return s.jsx(fs,{search:{value:t,scope:c.kind,chips:f,onChange:n,onClear:o,onClearQuery:a,onRemoveChip:x},onCompose:p,onReportBug:re,onOpenSettings:()=>u("accounts"),composeShortcut:Re("compose"),refreshControl:s.jsx($e,{state:h,onRefresh:g,label:"Refresh all accounts",errorMessage:y,hasUpdate:i(m)}),account:s.jsx(bs,{})})}const Ss=({isOpen:e,onClose:t})=>(ie({id:"shortcuts",open:e,answers:{back:t}}),e?s.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[s.jsx(ce,{label:"Dismiss keyboard shortcuts",onDismiss:t,className:"backdrop-blur-sm"}),s.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":"Keyboard shortcuts",className:F("relative z-10 max-h-[85vh] w-full max-w-2xl overflow-y-auto","rounded-lg border border-line bg-surface shadow-lg","p-6"),children:[s.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[s.jsx("h2",{className:"text-lg font-semibold",children:"Keyboard shortcuts"}),s.jsx("button",{type:"button",onClick:t,className:"p-1 text-fg-muted transition-colors hover:text-fg","aria-label":"Close",children:s.jsx(le,{className:"size-5"})})]}),s.jsx("div",{className:"grid gap-x-8 gap-y-6 sm:grid-cols-2",children:Le.map(n=>s.jsxs("div",{children:[s.jsx("h3",{className:"mb-3 text-sm font-medium text-fg-muted",children:n.title}),s.jsx("div",{className:"space-y-2",children:n.hints.map(o=>s.jsxs("div",{className:"flex items-center justify-between gap-4",children:[s.jsx("span",{className:"text-sm",children:o.description}),s.jsx("span",{className:"flex shrink-0 items-center gap-1",children:o.keys.map((a,r)=>s.jsxs(d.Fragment,{children:[r>0&&o.keys[0]==="g"&&s.jsx("span",{className:"text-2xs text-fg-subtle",children:"then"}),s.jsx(k,{children:a})]},a))})]},`${o.action}-${o.keys.join("+")}`))})]},n.title))}),s.jsx("div",{className:"mt-6 border-t border-line pt-4",children:s.jsxs("p",{className:"text-center text-xs text-fg-muted",children:["Press ",s.jsx(k,{children:"Esc"})," to close"]})})]})]}):null);function js(e){const t=cs({queries:e.map(n=>({...ue({path:{accountId:n.accountId}}),staleTime:1/0}))});return d.useMemo(()=>Ae(t.map(n=>n.data?.items??[])),[t])}const _="remit:intelligence-open";function Cs(){try{return localStorage.getItem(_)!=="closed"}catch{return!0}}function Is(e){try{localStorage.setItem(_,e?"open":"closed")}catch{}}function T({panels:e,prefersOpen:t,isDesktop:n,hasThread:o,raisedFor:a,openMessage:r}){return a!==null&&a===r?!0:e.length>0?e.includes("intelligence"):n&&o&&t}const Ns=()=>{const e=K(),t=de(),n=me(),o=t.find(pe),a=De(),[r,l]=d.useState(Cs),u=a?`${a.threadId}/${a.messageId??""}`:null,[p,c]=d.useState(null),x={panels:t,prefersOpen:r,isDesktop:e==="desktop",hasThread:a!==void 0,openMessage:u},f=T({...x,raisedFor:p}),m=T({...x,raisedFor:null}),i=d.useCallback((v,S)=>{n([...v?["intelligence"]:[],...S?[S]:[]])},[n]),h=d.useCallback(v=>{i(m,v)},[m,i]),y=d.useCallback(()=>{if(f&&!m){c(null);return}const v=!f;Is(v),l(v),c(null),i(v,o)},[m,f,o,i]),g=d.useCallback(()=>{c(u)},[u]);return{openOverlay:o,intelligenceOpen:f,showOverlay:h,toggleIntelligence:y,raiseIntelligence:g}};var j={exports:{}},L;function ws(){if(L)return j.exports;L=1;const e=(t,n,o)=>new Promise((a,r)=>{if(o=Object.assign({concurrency:1/0},o),typeof n!="function")throw new TypeError("Mapper function is required");const{concurrency:l}=o;if(!(typeof l=="number"&&l>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${l}\` (${typeof l})`);const u=[],p=t[Symbol.iterator]();let c=!1,x=!1,f=0,m=0;const i=()=>{if(c)return;const h=p.next(),y=m;if(m++,h.done){x=!0,f===0&&a(u);return}f++,Promise.resolve(h.value).then(g=>n(g,y)).then(g=>{u[y]=g,f--,i()},g=>{c=!0,r(g)})};for(let h=0;h<l&&(i(),!x);h++);});return j.exports=e,j.exports.default=e,j.exports}var Ms=ws();const Es=he(Ms),Os=900*1e3,Ps=30,Rs=(e,t)=>{if(!e)return t;const n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:t},ks=30*1e3,Ts=e=>Math.max(Rs(e,Ps)*1e3,ks),z=Ts(be().mailboxPollIntervalSeconds),C=(e=Date.now(),t=z)=>Ue(e)?Math.min(We,t):t,Ls=5,E=new Set,As=(e,t,n=Os)=>e.filter(o=>{const a=o.lastSyncAt;return a==null?!0:t-a>n}).map(o=>o.accountId),Ds=(e,t,n=z)=>e-t>=n,Fs=(e,t)=>e.filter(n=>!t.has(n)),A=(e,t)=>{if(E.delete(e),ge(t,{softError:!0},"nobody")){ve(t);return}console.warn("[remit] background mailbox sync failed",{accountId:e,error:t})},D=(e,t)=>fe({path:{accountId:e},throwOnError:!0}).then(()=>{t.invalidateQueries({queryKey:xe({path:{accountId:e}})})}),Qs=e=>{const t=Q(),n=d.useRef(e);n.current=e;const o=e.map(a=>a.accountId).join(",");d.useEffect(()=>{const a=Date.now(),l=As(n.current,a).filter(u=>!E.has(u));if(l.length!==0)for(const u of l)E.add(u),D(u,t).catch(p=>{A(u,p)})},[o,t]),d.useEffect(()=>{let a=Date.now(),r;const l=new Set,u=()=>{a=Date.now();const m=Fs(n.current.map(i=>i.accountId),l);for(const i of m)l.add(i);Es(m,i=>D(i,t).catch(h=>{A(i,h)}).finally(()=>{l.delete(i)}),{concurrency:Ls})},p=()=>{if(document.visibilityState==="visible"){u(),r=setTimeout(p,C());return}},c=()=>{if(document.visibilityState!=="visible")return;r!==void 0&&clearTimeout(r);const m=Date.now(),i=C(m);if(Ds(m,a,i)){u(),r=setTimeout(p,i);return}r=setTimeout(p,a+i-m)},x=()=>{document.visibilityState==="visible"&&(r!==void 0&&clearTimeout(r),a=Date.now(),r=setTimeout(p,C()))};r=setTimeout(p,C()),document.addEventListener("visibilitychange",c);const f=Ge(x);return()=>{r!==void 0&&clearTimeout(r),document.removeEventListener("visibilitychange",c),f()}},[o,t])};function pt(){const e=ye(),t=K(),n=is(t),{openOverlay:o,intelligenceOpen:a,showOverlay:r,toggleIntelligence:l,raiseIntelligence:u}=Ns(),p=o==="shortcuts",c=o==="nav",{searchInput:x,committedQuery:f,viewKey:m,setSearchInput:i}=xs(),{data:h,isLoading:y,isError:g,error:v,refetch:S}=Se({...je(),staleTime:1/0}),N=!!(h&&(h.accounts?.length??0)===0);d.useEffect(()=>{N&&e({to:"/onboarding",replace:!0})},[N,e]),rs({enabled:!p,bindings:[{key:"?",action:"help",handler:()=>r("shortcuts"),noModifiers:!1,preventDefault:!0}]});const P=O(),B=Ke(),H=M({select:w=>Ne(w.matches)?.list==="mailbox"}),V=d.useMemo(()=>({compose:P}),[P]);Fe({enabled:!H&&!B,handlers:V});const q=d.useCallback(()=>{i("")},[i]),$=d.useCallback(()=>{i("")},[i]),b=h?.accounts??[],G=d.useMemo(()=>b.map(w=>w.accountId),[b]),U=js(b),W=ls(b).index,Y=d.useMemo(()=>Qe(b),[b]);Qs(b);const J=d.useCallback(()=>{o==="nav"&&r(void 0)},[o,r]),X={accounts:b,mailboxNameIndex:U,accountNameIndex:Y,resultFolderIndex:W,searchQuery:f,searchInput:x,searchViewKey:m,onSearchChange:i,onSearchClear:q,onSearchClearQuery:$,intelligenceOpen:a,onToggleIntelligence:l,onRaiseIntelligence:u},Z={isSinglePane:n,isLoading:y||N,intelligenceOpen:a,nav:s.jsx(ts,{accounts:b,onMailboxSelect:J}),topBar:n?void 0:s.jsx(ys,{accounts:b}),overlay:n?s.jsx(gs,{}):void 0,navOpen:c,onOpenNav:()=>r("nav"),onCloseNav:()=>r(void 0)};return s.jsx(Ce.Provider,{value:X,children:s.jsxs(Ye,{accountIds:G,children:[g?s.jsx("div",{className:"flex h-full items-center justify-center bg-canvas p-4",children:s.jsx(as,{title:"Couldn't load your account",error:v,onRetry:()=>{S()}})}):s.jsx(He,{chrome:Z,children:s.jsx(Ie,{})}),s.jsx(Ss,{isOpen:p,onClose:()=>r(void 0)})]})})}export{pt as component,ae as useMailContext};
@@ -1 +0,0 @@
1
- import{q as n,h as i,u as a,r as m,j as s}from"./index-CnQhUzpu.js";import{O as p}from"./OnboardingWizard-BCIWuyFY.js";import{c}from"./onboarding-completion-B0hLOoYA.js";import"./kbd-CreXKdFs.js";import"./credential-steps-C-nrQMrj.js";import"./card-BuAlC7UV.js";import"./account-form-helpers-DhckT_PN.js";import"./mail-BrievyOG.js";import"./file-json-D-YZdYiO.js";function O(){const o=n(),e=i(),t=a(),r=m.useCallback(l=>{c({queryClient:e,recordCompleted:()=>o.recordEvent("onboarding.completed"),navigateToInbox:()=>{window.location.assign("/mail")}})},[o,e]);return s.jsx(p,{skipWelcome:!1,onComplete:r,onImportConfig:()=>{t({to:"/import"})}})}export{O as component};
@@ -1 +0,0 @@
1
- import{j as o,O as i}from"./index-CnQhUzpu.js";import{a as m}from"./MailShell-BHmbmhqi.js";import{u as p,O as t}from"./OutboxPane-CtBj1Y45.js";import{u as s}from"./search-mirror-MYcnbbOP.js";import"./FullCompose-DDDA7gVW.js";import"./ErrorState-D9K04lHc.js";import"./index-CD2f8G1g.js";import"./useMessageBodyContent-Brfp8ayB.js";import"./useSignature-4OoY1Zz1.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-CCilrXn7.js";import"./sections-BihXO8oY.js";import"./format-DV51L-5t.js";import"./confirm-dialog-DtoFm1zW.js";import"./roving-focus-CCsAlkWZ.js";import"./useSearchTokenContext-RGBzXekP.js";import"./kbd-CreXKdFs.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-xjrW0cXa.js";import"./clock-aTuXA4mA.js";import"./row-actions-ZFt2V9Kz.js";import"./rotate-ccw-3YGigbg2.js";import"./NavMenuButton-BF1zalD9.js";import"./menu-CB_7f-VX.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function w(){const r=p();return s({to:"/mail/outbox"}),o.jsx(t,{outboxMessageId:r,children:o.jsx(m,{phone:o.jsx(t.Phone,{}),list:o.jsx(t.List,{}),reading:o.jsx(i,{})})})}export{w as component};
@@ -1 +0,0 @@
1
- import{j as t,O as o}from"./index-CnQhUzpu.js";const n=()=>t.jsx(o,{});export{n as component};
@@ -1 +0,0 @@
1
- import{r as f,c as D,ef as p,h as I,eg as v,s as A}from"./index-CnQhUzpu.js";import{c as E}from"./window-lfYFRz6w.js";import{u as L,i as W,t as M,U as N,r as O}from"./useCalendars-CUUfKEWF.js";import{u as S}from"./useQueries-BN3GIDu9.js";function T(e,n){const a=e.map(t=>t.id);if(n.length===0)return a;const r=new Set(n),o=a.filter(t=>r.has(t));return o.length===0?a:o}function _(e){const{calendars:n,colorByCalendarId:a,timeZoneByCalendarId:r,isLoading:o}=L(),t=T(n,e),c=t.length===n.length?[]:t,i=e.length===0||n.length>0;return{calendars:n,colorByCalendarId:a,timeZoneByCalendarId:r,shown:t,narrowed:c,resolved:i,isLoading:o}}function j(e,n,a){const r=a.join(",");return f.useMemo(()=>{const o=new Set(r===""?[]:r.split(","));return e.filter(t=>W(t)&&o.has(t.calendarId)).map(t=>M(t,n[t.calendarId]??N))},[e,n,r])}const w=A(400,404),g=5*6e4,C=({from:e,to:n,calendarIds:a})=>({query:a.length===0?{from:e,to:n}:{from:e,to:n,calendarId:[...a]}});function b(e){const{data:n,isLoading:a,error:r,refetch:o}=D({...p(C(e)),meta:w,staleTime:g,enabled:e.enabled??!0});return{instances:n?.items??[],isLoading:a,error:r,refetch:()=>{o()}}}function k(e,n,a){const r=S({queries:e.map(s=>({...p(C({...s,calendarIds:n})),meta:w,staleTime:g,enabled:a}))}),o=e.map(s=>s.from).join("|"),t=r.map(s=>s.data),c=r.map(s=>s.isPending).join("|"),i=r.find(s=>s.error)?.error??null,d=f.useMemo(()=>t.flatMap(s=>s?.items??[]),[o,c]),m=f.useMemo(()=>{const s=new Set;return e.forEach((h,l)=>{r[l]?.isPending&&s.add(h.from)}),s},[o,c]);return{instances:d,pendingWindows:m,error:i,refetch:()=>{for(const s of r)s.error&&s.refetch()}}}function Q(e,n,a,r){const o=I(),t=[...a].join(",");f.useEffect(()=>{if(!r)return;const c=t===""?[]:t.split(",");for(const i of[-1,1]){const d=E(e,v(n,e,i));o.prefetchQuery({...p(C({...d,calendarIds:c})),staleTime:g})}},[o,e,n,t,r])}function x({view:e,date:n,calendarIds:a,enabled:r=!0}){const{calendars:o,colorByCalendarId:t,timeZoneByCalendarId:c,shown:i,narrowed:d,resolved:m,isLoading:s}=_(a),h=E(e,n),l=r&&m,u=b({...h,calendarIds:d,enabled:l});Q(e,n,d,l);const y=j(u.instances,c,i);return{calendars:o,events:y,colorByCalendarId:t,timeZoneByCalendarId:c,isLoading:s||u.isLoading,error:u.error,retry:u.refetch,instanceOf:O}}export{g as C,k as a,j as b,x as c,_ as u};