@remit/web-client-dist 0.0.642 → 0.0.644
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.
- package/assets/BriefPane-CWpjvftR.js +1 -0
- package/assets/{CalendarComposePane-CaFfehJ3.js → CalendarComposePane-DJNhu2LK.js} +1 -1
- package/assets/{CalendarComposeSeed-Qwwu-xz8.js → CalendarComposeSeed-SL4UWmtL.js} +1 -1
- package/assets/{CalendarShell-DdBSP0nU.js → CalendarShell-DAe5WXuU.js} +1 -1
- package/assets/{EmptyState-DffMrivH.js → EmptyState-5AzHvbUg.js} +1 -1
- package/assets/{ErrorState-zb46wwqB.js → ErrorState-C9wNWNx-.js} +1 -1
- package/assets/FlaggedPane-CzACUDwI.js +1 -0
- package/assets/{FullCompose-CtKaGlct.js → FullCompose-EZk91vKc.js} +1 -1
- package/assets/MailListHeader-KM5hxzzQ.js +7 -0
- package/assets/{MailNav-CDMm535x.js → MailNav-BvsTwsus.js} +1 -1
- package/assets/{MailShell-C6XAYw9R.js → MailShell-CO4UHszY.js} +1 -1
- package/assets/{MailViewChrome-BcPAwjzq.js → MailViewChrome-D0DIIe1s.js} +1 -1
- package/assets/{MailboxPane-Bo_304LU.js → MailboxPane-CSXmclwC.js} +1 -1
- package/assets/{NavMenuButton-C7p7FLnh.js → NavMenuButton-DipQuqqU.js} +1 -1
- package/assets/{OnboardingWizard-D15SDpIN.js → OnboardingWizard-DLthp-gp.js} +1 -1
- package/assets/{OpenCalendarEvent-CVHpXp5y.js → OpenCalendarEvent-DdZ8T5JX.js} +2 -2
- package/assets/{OutboxPane-k7EI73dP.js → OutboxPane-BQ2C8Exq.js} +1 -1
- package/assets/_calendarObjectId-Bmm-aQm4.js +1 -0
- package/assets/_mailboxId-BSG_TwdK.js +1 -0
- package/assets/_messageId-BdBHeA_W.js +1 -0
- package/assets/_messageId-DPyP0hLB.js +1 -0
- package/assets/_messageId-zXtGiOsw.js +1 -0
- package/assets/_outboxMessageId-DI-yjQl-.js +1 -0
- package/assets/_recurrenceId-xeHK4wQN.js +1 -0
- package/assets/_threadId-BWNiD5_L.js +1 -0
- package/assets/_threadId-BYme1h9o.js +1 -0
- package/assets/_threadId-BkVElb5l.js +1 -0
- package/assets/{_view._date-BjTcS5dY.js → _view._date-DhatDbEl.js} +1 -1
- package/assets/{accounts-BKh6zOiZ.js → accounts-DD5lbrRg.js} +1 -1
- package/assets/{advanced-AosgdV6N.js → advanced-Di1sbe8-.js} +1 -1
- package/assets/{appearance-lDYvlXFT.js → appearance-CuPQNqbK.js} +1 -1
- package/assets/{attendee-row-CNSd4msf.js → attendee-row-COD-JhkD.js} +1 -1
- package/assets/{avatar-BU2Acypp.js → avatar-BG16DP0I.js} +1 -1
- package/assets/{bell-off-BDdZq1id.js → bell-off-BJ8oYylk.js} +1 -1
- package/assets/{bottom-sheet-OT_uLnD0.js → bottom-sheet-CXKnmLHB.js} +1 -1
- package/assets/brief-DBfWEKXi.js +1 -0
- package/assets/{brief-B3LHy3XK.js → brief-QIMUKa1x.js} +1 -1
- package/assets/{browser-ponyfill-BoSoM_yw.js → browser-ponyfill-yqX8DQOe.js} +2 -2
- package/assets/{bug-Byoam9SI.js → bug-my1LBhjO.js} +1 -1
- package/assets/{calendar-BNN6Blwg.js → calendar-BKm9jIHX.js} +1 -1
- package/assets/{calendar-clash-strip-CuPoAcuA.js → calendar-clash-strip-BFeaJEFd.js} +1 -1
- package/assets/{calendar-format-t5pknBPH.js → calendar-format-Df04vYeX.js} +1 -1
- package/assets/{calendar-report-De_YSbMS.js → calendar-report-cFSv6gSl.js} +1 -1
- package/assets/calendar-suggestion-BOcnceiU.js +1 -0
- package/assets/{calendars-EiEYrDmO.js → calendars-C2NvDUee.js} +1 -1
- package/assets/{card-BU0ZWUHk.js → card-Cvm6QXrr.js} +1 -1
- package/assets/{checkbox-nuTXvB_z.js → checkbox-CnlRLXiS.js} +1 -1
- package/assets/chevron-left-B_-IAj1P.js +1 -0
- package/assets/{circle-check-BzcaYx-L.js → circle-check-CmDRPJ4x.js} +1 -1
- package/assets/{circle-check-big-CdWGb9Cq.js → circle-check-big-ZWmAdG5O.js} +1 -1
- package/assets/{circle-help-CVsjKp3b.js → circle-help-xoO8qyO7.js} +1 -1
- package/assets/{clock-qn7JbMhU.js → clock-Bkjyx82e.js} +1 -1
- package/assets/compose._-_outboxMessageId_-BRWb_gzB.js +1 -0
- package/assets/compose._-_outboxMessageId_-D-8v_F-x.js +1 -0
- package/assets/compose._-_outboxMessageId_-D54zCsk7.js +1 -0
- package/assets/compose._-_outboxMessageId_-DlyKxAyJ.js +1 -0
- package/assets/{config-import-DhjQZV7D.js → config-import-D_1i4Wai.js} +1 -1
- package/assets/{confirm-dialog-C4B2Czhl.js → confirm-dialog-D8E0auet.js} +1 -1
- package/assets/{copy-CJCBL3_e.js → copy-Cz51csqc.js} +1 -1
- package/assets/{credential-steps-BMJ8NHk-.js → credential-steps-Cm_vhM0c.js} +1 -1
- package/assets/{download-DG45yTbq.js → download-2vcTam8D.js} +1 -1
- package/assets/{file-json-Dgau07u1.js → file-json-Wb3Oc2-o.js} +1 -1
- package/assets/{filters-BAGXXGHm.js → filters-C2qWze-2.js} +1 -1
- package/assets/flagged-BIby7mOe.js +1 -0
- package/assets/{flagged-H7_oalgM.js → flagged-DSaiUTNf.js} +1 -1
- package/assets/{folders-BpqgnDKx.js → folders-B-31lHew.js} +1 -1
- package/assets/{help-copy-Cv-E-JTH.js → help-copy-yEiBqFt2.js} +1 -1
- package/assets/{import-Br9u2yf5.js → import-I5hFVfa3.js} +1 -1
- package/assets/index--G6_bbnZ.js +1 -0
- package/assets/{index-DQOjICLF.js → index-BZT8HZ--.js} +1 -1
- package/assets/index-BdBHeA_W.js +1 -0
- package/assets/index-BswNQxjJ.js +1 -0
- package/assets/{index-DDaQbjmr.js → index-CVyiXes6.js} +11 -11
- package/assets/index-CeBLFOSc.js +1 -0
- package/assets/index-ChJF8JuK.js +1 -0
- package/assets/index-Ct3c_-_h.js +1 -0
- package/assets/index-Cu0O7J1a.js +1 -0
- package/assets/index-DVEw13Tk.js +1 -0
- package/assets/{index-TtetXNmc.js → index-DYY0nrsl.js} +4 -4
- package/assets/index-zXtGiOsw.js +1 -0
- package/assets/{kbd-nBPX_mdB.js → kbd-BAzd-ZzK.js} +1 -1
- package/assets/{labels-DZRbAx-h.js → labels-D5anCXRT.js} +1 -1
- package/assets/{mail-xh-X6l34.js → mail-3L2_JePI.js} +1 -1
- package/assets/{mail-CWorRVye.js → mail-7SgAUbqy.js} +1 -1
- package/assets/{map-pin-DXPKFmKy.js → map-pin-C_G0KnPH.js} +1 -1
- package/assets/{menu-DziguOgy.js → menu-Diz2jlXK.js} +1 -1
- package/assets/minus-D5h1w2Lk.js +1 -0
- package/assets/{new-BErOQscw.js → new-CcPLKlc0.js} +1 -1
- package/assets/{onboarding-completion-Bvjs_wV7.js → onboarding-completion-BgX6tyKE.js} +1 -1
- package/assets/onboarding-kI2wRexG.js +1 -0
- package/assets/outbox-C60Ip38a.js +1 -0
- package/assets/{pane-header-BKR2Qgp4.js → pane-header-CaA1aTlU.js} +1 -1
- package/assets/{pencil-C_GgIxQ0.js → pencil-TKs_c6Iw.js} +1 -1
- package/assets/{popover-menu-eOwDgIAD.js → popover-menu-Bmzk7h6e.js} +1 -1
- package/assets/{refresh-cw-mlDi8LTp.js → refresh-cw-og-Ybvo3.js} +1 -1
- package/assets/{rich-text-BwY3htQf.js → rich-text-CHZBDrnR.js} +1 -1
- package/assets/{rich-text-spellcheck-worker-provider-CxrExxo5.js → rich-text-spellcheck-worker-provider-BllEMU79.js} +1 -1
- package/assets/{rotate-ccw-B_znez6Z.js → rotate-ccw-FAgCjZMZ.js} +1 -1
- package/assets/{roving-focus-D45YIEXp.js → roving-focus-DYnDzdRR.js} +1 -1
- package/assets/{row-actions-Bz2BO_Of.js → row-actions-DFIk5ZFA.js} +1 -1
- package/assets/{search-mirror-IklPpsgd.js → search-mirror-By7sgEWK.js} +1 -1
- package/assets/{search-token-index-DfEguIzE.js → search-token-index-CDtHdqiP.js} +1 -1
- package/assets/{sections-BE-YkTuC.js → sections-D-n9QfX4.js} +1 -1
- package/assets/{senders-Byg0IyG1.js → senders-D4sO52ZM.js} +1 -1
- package/assets/settings-BGp6tn2L.js +1 -0
- package/assets/{settings-screen-Qy0Wa0pr.js → settings-screen-DvNcGJK6.js} +1 -1
- package/assets/{shield-check-CCP0KBaU.js → shield-check-8L17Kh_I.js} +1 -1
- package/assets/{suggested-vips-Cy_wCFhG.js → suggested-vips-Q_s_mJiL.js} +1 -1
- package/assets/{suggestion._suggestionId-BaL7q4AC.js → suggestion._suggestionId-BAj90-2v.js} +1 -1
- package/assets/{undo-2-DBjV60-m.js → undo-2-BSHTchh1.js} +1 -1
- package/assets/{useCalendarData-TdBIWROH.js → useCalendarData-emMg6If8.js} +1 -1
- package/assets/{useCalendarFreeBusy-BCLJxOfD.js → useCalendarFreeBusy-oamX9h5O.js} +1 -1
- package/assets/{useCalendarWrites-CcZJoofA.js → useCalendarWrites-B6o3xQNN.js} +1 -1
- package/assets/{useCalendars-NXobBPn1.js → useCalendars-CzwJUnpW.js} +1 -1
- package/assets/{useDebouncedValue-Dy_g2v71.js → useDebouncedValue-3uXEWBzO.js} +1 -1
- package/assets/{useFilters-Dsrj-I6z.js → useFilters-D5DypOXB.js} +1 -1
- package/assets/{useLabels--WOniDuk.js → useLabels-CEOAQRXe.js} +1 -1
- package/assets/{useLayoutTier-BnLysTvl.js → useLayoutTier-BLBwlToe.js} +1 -1
- package/assets/{useMessageBodyContent-Azq1Bngf.js → useMessageBodyContent-Bq-24837.js} +1 -1
- package/assets/{useQueries-D1STUKB_.js → useQueries-CqQkOWRS.js} +1 -1
- package/assets/{useRefreshControl-CQDCO_Sz.js → useRefreshControl-URETybK8.js} +1 -1
- package/assets/{useResultFolderIndex-TIwJLY0y.js → useResultFolderIndex-DgIMhZlz.js} +1 -1
- package/assets/{useSearchTokenContext-DjY64Paa.js → useSearchTokenContext-V_0MB9r5.js} +1 -1
- package/assets/{useSemanticSearch-NH8DKMle.js → useSemanticSearch-CzayQYky.js} +1 -1
- package/assets/{useSignature-DbI73u9N.js → useSignature-BraM8Nn7.js} +1 -1
- package/index.html +1 -1
- package/package.json +1 -1
- package/assets/BriefPane-DTu07n2X.js +0 -1
- package/assets/FlaggedPane-StYE07Pk.js +0 -1
- package/assets/MailListHeader-DMMl8ZLg.js +0 -7
- package/assets/_calendarObjectId-BmWKOwZU.js +0 -1
- package/assets/_mailboxId-C5oOoR9Y.js +0 -1
- package/assets/_messageId-BQu6o3gE.js +0 -1
- package/assets/_messageId-CUK6OwnE.js +0 -1
- package/assets/_messageId-DiKCBlFd.js +0 -1
- package/assets/_outboxMessageId-BLqK1FUW.js +0 -1
- package/assets/_recurrenceId-CTMy5M6x.js +0 -1
- package/assets/_threadId-BQ2ENDxN.js +0 -1
- package/assets/_threadId-B_-kfUCd.js +0 -1
- package/assets/_threadId-CRbs6xQJ.js +0 -1
- package/assets/brief-DfHqHUx0.js +0 -1
- package/assets/calendar-suggestion-BrsagLDp.js +0 -1
- package/assets/chevron-left-BmceVyuQ.js +0 -1
- package/assets/compose._-_outboxMessageId_-CTOa6VlX.js +0 -1
- package/assets/compose._-_outboxMessageId_-DX18bVb7.js +0 -1
- package/assets/compose._-_outboxMessageId_-Drm1AU0Y.js +0 -1
- package/assets/compose._-_outboxMessageId_-SBimViM1.js +0 -1
- package/assets/flagged-BG7vNsSo.js +0 -1
- package/assets/index-BAIv4ARz.js +0 -1
- package/assets/index-BD8lc3NR.js +0 -1
- package/assets/index-BQu6o3gE.js +0 -1
- package/assets/index-BsPhXbkV.js +0 -1
- package/assets/index-COeV6qmo.js +0 -1
- package/assets/index-CXwf_sz5.js +0 -1
- package/assets/index-D-2HKiNE.js +0 -1
- package/assets/index-DiKCBlFd.js +0 -1
- package/assets/index-DwXDHT3g.js +0 -1
- package/assets/minus-RD6yC1uS.js +0 -1
- package/assets/onboarding-DJEkQ9iZ.js +0 -1
- package/assets/outbox-CobBj7od.js +0 -1
- package/assets/settings-EmCICmfl.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c2 as Q,c3 as y,c4 as S,c5 as w,c6 as C,h as k,c7 as q,c8 as x,r as p,c9 as M,ca as H,cb as L,cc as P,cd as O,ce as B,cf as A}from"./index-
|
|
1
|
+
import{c2 as Q,c3 as y,c4 as S,c5 as w,c6 as C,h as k,c7 as q,c8 as x,r as p,c9 as M,ca as H,cb as L,cc as P,cd as O,ce as B,cf as A}from"./index-CVyiXes6.js";function R(r,e){const s=new Set(e);return r.filter(t=>!s.has(t))}function T(r,e,s){const t=r.slice(0);return t[e]=s,t}var z=class extends Q{#i;#e;#n;#r;#s;#t;#o;#u;#h;#c=[];constructor(r,e,s){super(),this.#i=r,this.#r=s,this.#n=[],this.#s=[],this.#e=[],this.setQueries(e)}onSubscribe(){this.listeners.size===1&&this.#s.forEach(r=>{r.subscribe(e=>{this.#d(r,e)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#s.forEach(r=>{r.destroy()})}setQueries(r,e){this.#n=r,this.#r=e,y.batch(()=>{const s=this.#s,t=this.#f(this.#n);t.forEach(o=>o.observer.setOptions(o.defaultedQueryOptions));const i=t.map(o=>o.observer),n=i.map(o=>o.getCurrentResult()),u=s.length!==i.length,a=i.some((o,d)=>o!==s[d]),f=u||a,b=f?!0:n.some((o,d)=>{const g=this.#e[d];return!g||!S(o,g)});!f&&!b||(f&&(this.#c=t,this.#s=i),this.#e=n,this.hasListeners()&&(f&&(R(s,i).forEach(o=>{o.destroy()}),R(i,s).forEach(o=>{o.subscribe(d=>{this.#d(o,d)})})),this.#p()))})}getCurrentResult(){return this.#e}getQueries(){return this.#s.map(r=>r.getCurrentQuery())}getObservers(){return this.#s}getOptimisticResult(r,e){const s=this.#f(r),t=s.map(n=>n.observer.getOptimisticResult(n.defaultedQueryOptions)),i=s.map(n=>n.defaultedQueryOptions.queryHash);return[t,n=>this.#l(n??t,e,i),()=>this.#a(t,s)]}#a(r,e){return e.map((s,t)=>{const i=r[t];return s.defaultedQueryOptions.notifyOnChangeProps?i:s.observer.trackResult(i,n=>{e.forEach(u=>{u.observer.trackProp(n)})})})}#l(r,e,s){if(e){const t=this.#h,i=s!==void 0&&t!==void 0&&(t.length!==s.length||s.some((n,u)=>n!==t[u]));return(!this.#t||this.#e!==this.#u||i||e!==this.#o)&&(this.#o=e,this.#u=this.#e,s!==void 0&&(this.#h=s),this.#t=w(this.#t,e(r))),this.#t}return r}#b(){return this.#r?.combine!==void 0&&this.#s.some((r,e)=>r.options.suspense&&this.#e[e]?.data===void 0)}#f(r){const e=new Map;this.#s.forEach(t=>{const i=t.options.queryHash;if(!i)return;const n=e.get(i);n?n.push(t):e.set(i,[t])});const s=[];return r.forEach(t=>{const i=this.#i.defaultQueryOptions(t),u=e.get(i.queryHash)?.shift()??new C(this.#i,i);s.push({defaultedQueryOptions:i,observer:u})}),s}#d(r,e){const s=this.#s.indexOf(r);s!==-1&&(this.#e=T(this.#e,s,e),this.#p())}#p(){if(this.hasListeners()){const r=this.#a(this.#e,this.#c),e=this.#b(),s=this.#t,t=e?s:this.#l(r,this.#r?.combine);(e||s!==t)&&y.batch(()=>{this.listeners.forEach(i=>{i(this.#e)})})}}};function U({queries:r,...e},s){const t=k(),i=q(),n=x(),u=p.useMemo(()=>r.map(h=>{const c=t.defaultQueryOptions(h);return c._optimisticResults=i?"isRestoring":"optimistic",c}),[r,t,i]);u.forEach(h=>{M(h);const c=t.getQueryCache().get(h.queryHash);H(h,n,c)}),L(n);const[a]=p.useState(()=>new z(t,u,e)),[f,b,o]=a.getOptimisticResult(u,e.combine),d=!i&&e.subscribed!==!1;p.useSyncExternalStore(p.useCallback(h=>d?a.subscribe(y.batchCalls(h)):P,[a,d]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),p.useEffect(()=>{a.setQueries(u,e)},[u,e,a]);const m=f.some((h,c)=>O(u[c],h))?f.flatMap((h,c)=>{const l=u[c];if(l&&O(l,h)){const E=new C(t,l);return B(l,E,n)}return[]}):[];if(m.length>0)throw Promise.all(m);const v=f.find((h,c)=>{const l=u[c];return l&&A({result:h,errorResetBoundary:n,throwOnError:l.throwOnError,query:t.getQueryCache().get(l.queryHash),suspense:l.suspense})});if(v?.error)throw v.error;return b(o())}export{U as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as E,a0 as K,t as Q,f as U,r as o,aT as R,h as N,C as $,E as z,F as B,q as G,P as I,Q as X,R as V,S as J}from"./index-
|
|
1
|
+
import{j as E,a0 as K,t as Q,f as U,r as o,aT as R,h as N,C as $,E as z,F as B,q as G,P as I,Q as X,R as V,S as J}from"./index-CVyiXes6.js";import{C as Y}from"./circle-check-big-ZWmAdG5O.js";import{R as Z}from"./refresh-cw-og-Ybvo3.js";import{u as P}from"./useQueries-CqQkOWRS.js";function ye({state:e,onRefresh:s,label:t,errorMessage:n,hasUpdate:a,size:u="sm",className:c}){const i=e==="refreshing",r=e==="error",h=e==="success",S=r?E.jsx(K,{className:"size-4 text-danger"}):h?E.jsx(Y,{className:"size-4 text-positive"}):E.jsx(Z,{className:Q("size-4",i&&"animate-spin")}),w=r?`${t} — failed: ${n??"try again"}`:i?`${t} — refreshing`:h?`${t} — up to date`:a?`${t} — new mail`:t;return E.jsxs("div",{className:"relative inline-flex",children:[E.jsx(U,{variant:"ghost",size:u,icon:S,onClick:s,disabled:i,"aria-label":w,"aria-busy":i||void 0,title:r?n:t,className:c}),e==="idle"&&a&&E.jsx("span",{"aria-hidden":"true",className:"absolute right-1 top-1 size-1.5 rounded-full bg-accent-2"})]})}const ee=new Set(["discovering_mailboxes","syncing_inbox","syncing_others"]);function L(e){return!!e&&ee.has(e)}const F=3e3,te=F*2,C={syncing:!1,resolved:!1,synced:0,total:0};function we(e,s){const t=e.join(","),[n,a]=o.useState(!1),[u,c]=o.useState(!1);o.useEffect(()=>{a(!1),c(!1)},[t,s]),o.useEffect(()=>{if(!s)return;const m=setTimeout(()=>c(!0),te);return()=>clearTimeout(m)},[t,s]);const i=P({queries:e.map(m=>({...R({path:{accountId:m}}),enabled:s&&!n,refetchInterval:F,meta:{softError:!0}}))}),r=i.every(m=>m.isSuccess||m.isError),h=i.length===0||r||u;let S=!1,w=0,y=0;for(const m of i)if(L(m.data?.syncPhase)){S=!0;for(const l of m.data?.mailboxes??[])w+=l.messagesSynced,y+=l.messagesTotal}const x=s&&h&&!S;return o.useEffect(()=>{x&&a(!0)},[x]),!s||!h?C:{syncing:S,resolved:!0,synced:w,total:y}}const se=180*1e3,xe=30*1e3;let q=0;const M=new Set,re=(e=Date.now())=>{q=e+se;for(const s of M)s()},pe=(e=Date.now())=>e<q,Ee=e=>(M.add(e),()=>{M.delete(e)}),T=6e4,ne=new Set(["sent","drafts","trash","archive"]),_=(e,s)=>{const t=new Map;for(const n of e){const a=s.get(n.mailboxId)?.role;a&&ne.has(a)||t.set(n.mailboxId,n.highWaterMarkUid)}return t},j=(e,s)=>{const t=[];for(const[n,a]of s)a>(e.get(n)??0)&&t.push(n);return t},oe=(e,s)=>j(e,s).length>0,D=o.createContext(null),ae=()=>{const e=o.useContext(D);if(!e)throw new Error("useMailFreshness must be used inside <MailFreshnessProvider>");return e};function be({accountIds:e,children:s}){const t=N(),{resultFolderIndex:n}=$(),a=o.useRef(new Map),u=o.useRef(new Set),c=o.useRef(new Map),[i,r]=o.useState(new Set),h=P({queries:e.map(l=>({...R({path:{accountId:l}}),refetchInterval:T,staleTime:T,meta:{softError:!0}}))}),S=h.map(l=>l.dataUpdatedAt).join(","),w=e.join(",");o.useEffect(()=>{let l=!1;const f=new Set(i);e.forEach((d,p)=>{const b=h[p]?.data;if(!b)return;const g=_(b.mailboxes??[],n),v=c.current.get(d);if(c.current.set(d,g),v){const A=j(v,g);A.length>0&&z(t,B(A))}if(!u.current.has(d)){u.current.add(d),a.current.set(d,g);return}if(f.has(d))return;const W=a.current.get(d)??new Map;oe(W,g)&&(f.add(d),l=!0)}),l&&r(f)},[w,S]);const y=o.useCallback(l=>l.some(f=>i.has(f)),[i]),x=o.useCallback(l=>{r(f=>{if(l.every(p=>!f.has(p)))return f;const d=new Set(f);for(const p of l)d.delete(p);return d});for(const f of l){const d=t.getQueryData(R({path:{accountId:f}}).queryKey);a.current.set(f,_(d?.mailboxes??[],n)),u.current.add(f)}},[t,n]),m=o.useMemo(()=>({hasNewMail:y,acknowledge:x}),[y,x]);return E.jsx(D.Provider,{value:m,children:s})}const ie=2e3,ce=45e3,ue=e=>new Promise(s=>setTimeout(s,e)),k=e=>e instanceof Error&&e.message?e.message:"Something went wrong",le=e=>{V(e,{softError:!0},"user")&&J(e)},O=(e,s)=>e.fetchQuery({...R({path:{accountId:s}}),staleTime:0}),H=e=>e.mailboxes?.find(s=>s.fullPath?.toUpperCase()==="INBOX")?.lastSyncedAt??0,fe=async({accountId:e,readStatus:s,baselineLastSyncAt:t,baselineInboxSyncedAt:n=0,onInboxSynced:a,deadline:u,pollMs:c=ie})=>{let i=!1;for(;;){const r=await s().then(y=>({ok:!0,data:y})).catch(y=>({ok:!1,error:y}));if(!r.ok)return{accountId:e,message:k(r.error)};const{syncPhase:h,lastSyncAt:S}=r.data;if((S??0)>t&&!L(h))return h==="error"?{accountId:e,message:"Sync failed for this account"}:void 0;if(!i&&H(r.data)>n&&(i=!0,a?.()),Date.now()>=u)return{accountId:e,message:"Refresh is taking longer than usual"};await ue(c)}},de=async(e,s,t,n,a)=>{const u=await O(e,t).then(r=>({ok:!0,lastSyncAt:r.lastSyncAt??0,inboxSyncedAt:H(r)})).catch(r=>({ok:!1,error:r}));if(!u.ok)return{accountId:t,enqueued:!1,ok:!1,message:k(u.error)};const c=await I({path:{accountId:t},throwOnError:!0}).then(()=>({ok:!0})).catch(r=>({ok:!1,error:r}));if(!c.ok)return le(c.error),{accountId:t,enqueued:!1,ok:!1,message:k(c.error)};s.recordEvent("sync.triggered");const i=await fe({accountId:t,readStatus:()=>O(e,t),baselineLastSyncAt:u.lastSyncAt,baselineInboxSyncedAt:u.inboxSyncedAt,onInboxSynced:()=>a(t),deadline:n});return i?{accountId:t,enqueued:!0,ok:!1,message:i.message}:{accountId:t,enqueued:!0,ok:!0}},Re=(e,s={})=>{const t=N(),n=G(),{acknowledge:a}=ae(),[u,c]=o.useState("idle"),[i,r]=o.useState(),h=o.useRef(0),S=o.useRef(e);S.current=e;const w=o.useRef(s);w.current=s,o.useEffect(()=>{if(u!=="success")return;const x=setTimeout(()=>c("idle"),2e3);return()=>clearTimeout(x)},[u]);const y=o.useCallback(()=>{const x=S.current;if(x.length===0){c("error"),r("Nothing to refresh yet");return}const m=++h.current;c("refreshing"),r(void 0),re();const l=f=>{h.current===m&&(t.invalidateQueries({queryKey:X({path:{accountId:f}})}),w.current.onSettled?.())};(async()=>{const f=Date.now()+ce,d=await Promise.all(x.map(g=>de(t,n,g,f,l)));if(h.current!==m)return;const p=d.filter(g=>g.enqueued).map(g=>g.accountId);for(const g of p)l(g);p.length>0&&a(p);const b=d.filter(g=>!g.ok);b.length===0?c("success"):(c("error"),r(b[0]?.message))})()},[a,t,n]);return{state:u,errorMessage:i,refresh:y}};export{xe as H,be as M,ye as R,Re as a,L as b,we as c,pe as i,Ee as s,ae as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{K as r,r as s,b7 as t}from"./index-
|
|
1
|
+
import{K as r,r as s,b7 as t}from"./index-CVyiXes6.js";import{u as m}from"./useQueries-CqQkOWRS.js";const a=i=>({items:i.map(e=>e.data?.items??[]),isPending:i.some(e=>e.isPending),error:i.find(e=>e.error)?.error??null});function u(i){const e=m({queries:i.map(o=>({...r({path:{accountId:o.accountId}}),staleTime:1/0})),combine:a});return{index:s.useMemo(()=>t(i.map((o,n)=>({folderAppointments:o.folderAppointments,mailboxes:e.items[n]??[]}))),[i,e]),isPending:e.isPending,error:e.error}}export{u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as h,j as a,ct as Y,t as b,I as X,h as Z,at as J,i as ee,av as te,cO as se,bS as re,ab as ne,a0 as ae,X as oe,d6 as _,d7 as I,C as ie,cn as ce}from"./index-
|
|
1
|
+
import{r as h,j as a,ct as Y,t as b,I as X,h as Z,at as J,i as ee,av as te,cO as se,bS as re,ab as ne,a0 as ae,X as oe,d6 as _,d7 as I,C as ie,cn as ce}from"./index-CVyiXes6.js";import{K as A}from"./kbd-BAzd-ZzK.js";import{B as le,b as de}from"./useMessageBodyContent-Bq-24837.js";import{i as ue}from"./search-scope-B5-OK3Cq.js";const me='"Geist Variable", "Geist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',k={light:{fg:"oklch(0.3 0.025 235)",canvas:"oklch(0.96 0.015 90)",accent:"oklch(0.55 0.14 150)"},dark:{fg:"oklch(0.88 0.02 90)",canvas:"oklch(0.22 0.025 220)",accent:"oklch(0.78 0.16 150)"}},fe={background:!1,spacing:!1},he="16px",ge=()=>`html{padding:0}body{padding:${he};box-sizing:border-box}`,pe=()=>"html{overflow:hidden}body{overflow-x:auto}",be=/prefers-color-scheme\s*:\s*dark|color-scheme\s*:\s*[^;}"']*\bdark\b/i,ye='<meta name="viewport" content="width=device-width, initial-scale=1">',xe=e=>{const t=e?k.dark:k.light;return`
|
|
2
2
|
/* Plain-email base: UI font-stack + theme-aware colors (#424) */
|
|
3
3
|
html, body {
|
|
4
4
|
font-family: ${me};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as L,at as M,i as k,E as I,F as E,cy as A,
|
|
1
|
+
import{h as L,at as M,i as k,E as I,F as E,cy as A,em as R,r as v,dy as j,j as p,en as h,eo as w,ep as D,C as _,cn as N,c as Q,dT as z,d6 as O}from"./index-CVyiXes6.js";import{c as U}from"./popover-menu-Bmzk7h6e.js";import{aj as q}from"./MailListHeader-KM5hxzzQ.js";import{a as P}from"./useLabels-CEOAQRXe.js";import{n as B}from"./search-query-Cr_ZXBCp.js";import{b as F}from"./search-scope-B5-OK3Cq.js";import{u as G,p as H}from"./useSearchTokenContext-V_0MB9r5.js";const ne=e=>{const t=new Set;for(const s of e)s&&t.add(s);return t.size>1?{accountId:void 0,restriction:"spansAccounts",moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"}:{accountId:t.size===1?[...t][0]:void 0,restriction:void 0,moveDisabledHint:void 0}},K=e=>{const{mailboxId:t,messages:s}=e,n=L(),{pushError:l}=M(),{mutateAsync:c,isPending:a}=k({...R(),onError:(r,u)=>{l({title:u.body.action==="Remove"?"Couldn't remove label":"Couldn't apply label",detail:A(r),error:r})},onSettled:(r,u,d)=>{I(n,E(q(d.body.messageIds??[],s??[],t)))}});return{applyLabel:v.useCallback((r,u,d)=>{r.length!==0&&j(r,m=>c({body:{messageIds:m,labelId:u,action:d}}))},[c]),isPending:a}};function re({accountId:e,mailboxId:t,messageIds:s}){const{labels:n}=P(e),{applyLabel:l}=K({mailboxId:t}),c=v.useMemo(()=>n.map(a=>({key:a.labelId,label:a.name,icon:p.jsx("span",{className:`size-2.5 rounded-full ${w(a.color)?h[a.color]:h.Default}`}),onSelect:()=>l(s,a.labelId,"Apply")})),[n,s,l]);return c.length===0?null:p.jsx(U,{triggerLabel:"Apply label to selected messages",triggerIcon:p.jsx(D,{className:"size-4 text-fg-subtle"}),triggerText:"Apply label",items:c,align:"start",nested:!0,touch:!1,triggerClassName:"min-h-11 w-full justify-start gap-3 px-4 py-2.5 text-sm font-normal text-fg"})}const V=3,ie=({hasSearchQuery:e,freeText:t,residualTokenCount:s})=>{if(!e||s>0)return!1;const n=t.trim();return n.length===0||n.length>=V},ce=e=>e===void 0?{kind:"unknown"}:{kind:"exact",value:e},Y=20,$=new Set(Object.values(O)),J=e=>e!==void 0&&$.has(e)?e:void 0,W=e=>{if(e.some(t=>t.type==="isUnread"))return!1;if(e.some(t=>t.type==="isRead"))return!0};function le({mailboxId:e,filterCategory:t}={}){const{searchQuery:s}=_(),n=G(),l=N(),c=B(s),{freeText:a,tokens:i}=H(c,n),r=a.length>0,u=i.find(o=>o.type==="category"),d=J(t)??u?.category,m=i.some(o=>o.type==="hasAttachment")?!0:void 0,f=i.some(o=>o.type==="isStarred")?!0:void 0,y=W(i),b=i.find(o=>o.type==="after"),g=i.find(o=>o.type==="before"),x=i.find(o=>o.type==="in"),S=F({browsed:l,callerMailboxId:e,inTokenMailboxId:x?.mailboxId}),{data:T,isLoading:C}=Q({...z({query:{query:a,mailboxId:S,limit:Y,...d!==void 0?{category:d}:{},...m!==void 0?{hasAttachment:m}:{},...f!==void 0?{hasStars:f}:{},...y!==void 0?{isRead:y}:{},...b?{sentDateFrom:b.epochSeconds}:{},...g?{sentDateTo:g.epochSeconds}:{}}}),enabled:r,staleTime:6e4});return{hits:T?.items??[],isLoading:r&&C}}export{re as L,ne as r,ie as s,ce as t,le as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as g,at as p,c as f,d as m,r,i as y,av as T,o as E,l as d}from"./index-
|
|
1
|
+
import{h as g,at as p,c as f,d as m,r,i as y,av as T,o as E,l as d}from"./index-CVyiXes6.js";const i={html:"",plainText:""},x=e=>{const u=g(),{pushError:o}=p(),{data:n}=f({...m(),staleTime:1/0}),l=r.useMemo(()=>{if(!e||!n)return i;const t=n.accounts.find(a=>a.accountId===e);return t?{html:t.signatureHtml??"",plainText:t.signaturePlainText??""}:i},[e,n]),s=y({...d(),onSuccess:()=>{u.invalidateQueries({queryKey:E()})},onError:t=>{o(T("Couldn't save signature","The signature wasn't saved.",t))}}),c=r.useCallback((t,a)=>{e&&s.mutate({path:{accountId:e},body:{signatureHtml:t,signaturePlainText:a}})},[e,s]);return{signature:l,setSignature:c,isSaving:s.isPending}};export{x as u};
|
package/index.html
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
} catch (_) {}
|
|
39
39
|
})();
|
|
40
40
|
</script>
|
|
41
|
-
<script type="module" crossorigin src="/assets/index-
|
|
41
|
+
<script type="module" crossorigin src="/assets/index-CVyiXes6.js"></script>
|
|
42
42
|
<link rel="stylesheet" crossorigin href="/assets/index-BtYEmjxr.css">
|
|
43
43
|
</head>
|
|
44
44
|
<body>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as n,L as Et,W as Ot,eN as $e,eO as ne,e1 as re,r as a,c as Ye,C as ie,bq as Ft,cU as At,K as Nt,dT as Bt,eP as Lt,eQ as qt,a0 as Ve,ek as Pt,eR as Dt,ak as _t,d4 as Qt,d5 as zt}from"./index-DDaQbjmr.js";import{g as Je,e as Wt,f as Ze,u as Ht,p as Ut,R as Kt}from"./useSearchTokenContext-DjY64Paa.js";import{a8 as Gt,z as $t,B as Yt,ak as Vt,al as Jt,am as Zt,an as _e,ao as Xt,ap as es,a7 as ts,aq as ss,ar as os,as as ns,af as rs,M as as,at as is,ag as cs,au as ls,av as ds,d as us,o as fs,ai as ms,l as hs,S as gs,I as ps,N as Qe,L as xs,J as Is,b as ys,X as vs,Y as Ie,Z as bs,$ as Xe,a0 as et,a1 as Ss,a2 as Ts,a3 as Cs}from"./MailListHeader-DMMl8ZLg.js";import{u as ws,a as Rs,R as Ms,b as js,c as ks}from"./useRefreshControl-CQDCO_Sz.js";import{u as ae}from"./useQueries-D1STUKB_.js";import{t as tt,s as Es,u as Os,r as Fs,L as As}from"./useSemanticSearch-NH8DKMle.js";import{a as Ns}from"./useLabels--WOniDuk.js";import{u as Bs}from"./useLayoutTier-BnLysTvl.js";import{d as Ls,w as qs}from"./wizard-selection-DxUM65kM.js";import{m as Ps,e as Ds,f as _s}from"./search-token-index-DfEguIzE.js";import{u as st}from"./sections-BE-YkTuC.js";import{R as Qs}from"./refresh-cw-mlDi8LTp.js";import{a as zs}from"./useMessageBodyContent-Azq1Bngf.js";function Ws({sync:e}){return e?n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",role:"status","aria-live":"polite",children:[n.jsx(Et,{className:"size-8 animate-spin text-fg-subtle","aria-hidden":"true"}),n.jsx("p",{className:"text-sm font-medium text-fg",children:"Still syncing your mail"}),n.jsx("p",{className:"text-xs text-fg-subtle",children:Hs(e)})]}):n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",children:[n.jsx(Ot,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),n.jsx("p",{className:"text-sm font-medium text-fg",children:"You're caught up"}),n.jsx("p",{className:"text-xs text-fg-subtle",children:"Nothing needs attention."})]})}function Hs({synced:e,total:t}){return t>0?`${e.toLocaleString()} of ${t.toLocaleString()} messages downloaded. This list fills in as they arrive.`:"Downloading your messages. This list fills in as they arrive."}const ot=[{id:"unread",name:"is",value:"unread"},{id:"attachment",name:"has",value:"attachment"}],nt="category",Us={unclassified:"uncategorized"},H=e=>Wt(e).map(t=>t.raw),W=e=>e.join(" "),ye=e=>{const t=Ze(e);if(t)return ot.find(s=>s.name===t.name&&s.value===t.value.toLowerCase())?.id},ve=e=>{const t=Ze(e);if(!t||t.name!==nt)return;const s=t.value.toLowerCase(),r=Us[s];if(r)return r;if(!(!$e(s)||s==="all"))return s},rt=e=>ot.find(t=>t.id===e),at=e=>rt(e)!==void 0,Ks=e=>{const t=new Set;for(const s of H(e)){const r=ye(s);r&&t.add(r)}return t},Gs=e=>{let t="all";for(const s of H(e)){const r=ve(s);r&&(t=r)}return t},$s=(e,t)=>{const s=rt(t);if(!s)return;const r=H(e),i=r.filter(d=>ye(d)!==t);return i.length<r.length?W(i):W([...r,Je(s.name,s.value)])},Ys=(e,t)=>{const s=H(e).filter(r=>!ve(r));return W(t==="all"?s:[...s,Je(nt,t)])},Vs=e=>W(H(e).filter(t=>!ye(t)&&!ve(t))),it=e=>e.trim().length>0,ze=e=>{if(!it(e.query))return e.ownFilters;const t=new Set(Ks(e.query));for(const s of e.ownFilters)at(s)||t.add(s);return t},We=e=>it(e.query)?Gs(e.query):e.ownCategory,He=6e4,Js=3e4,Zs={kind:"unknown"},Ue=e=>(t,s)=>Gt(s?.queryKey,e)?t:void 0,Xs=(e,t,s)=>({...e,category:[t],limit:s,order:"desc"}),eo=(e,t)=>({...e,category:[t],order:"desc",count:!0,results:!1}),Ke=(e,t)=>({category:[t],...e.unread!==void 0?{unread:e.unread}:{},...e.starred!==void 0?{starred:e.starred}:{},...e.attachments!==void 0?{attachments:e.attachments}:{},...e.accountId!==void 0?{accountId:e.accountId}:{},...e.muted!==void 0?{muted:e.muted}:{}});function to({categories:e,criteria:t,limit:s,counted:r}){const i=ae({queries:e.map(l=>{const h=Xs(t,l,s),m=Ke(t,l);return{queryKey:re({query:h}),queryFn:async()=>{const{data:v}=await ne({query:h,throwOnError:!0});return v},placeholderData:Ue(m),staleTime:He}})}),d=ae({queries:e.map(l=>{const h=eo(t,l),m=Ke(t,l);return{queryKey:re({query:h}),queryFn:async()=>{const{data:v}=await ne({query:h,throwOnError:!0});return v},enabled:r,placeholderData:Ue(m),staleTime:He}})}),f=a.useMemo(()=>e.map((l,h)=>{const m=i[h],v=d[h],p=m?.data?.items??[];return{category:l,rows:p,atCap:p.length>=s,total:r?tt(v?.data?.count):Zs,loading:m?.isPending??!0,failed:m?.isError??!1,retry:()=>{m?.refetch(),r&&v?.refetch()}}}),[e,i,d,r,s]),c=a.useCallback(()=>{for(const l of i)l.refetch();for(const l of d)l.refetch()},[i,d]);return{sections:f,isLoading:i.length>0&&i.every(l=>l.isPending),isError:i.length>0&&i.every(l=>l.isError),refetch:c}}function so(e,t,s){const r={...e,limit:t,order:"desc"},{data:i,isLoading:d,isError:f,refetch:c}=Ye({queryKey:re({query:r}),queryFn:async()=>{const{data:h}=await ne({query:r,throwOnError:!0});return h},enabled:s,staleTime:Js});return{rows:a.useMemo(()=>s?i?.items??[]:[],[i,s]),isLoading:s&&d,isError:s&&f,refetch:a.useCallback(()=>{c()},[c])}}const oo=3e4,no={kind:"unknown"},ro=(e,t)=>({...e,mailboxId:t,order:"desc",count:!0,results:!1});function ao({criteria:e,junkMailboxIds:t,enabled:s}){const r=ae({queries:t.map(i=>{const d=ro(e,i);return{queryKey:re({query:d}),queryFn:async()=>{const{data:f}=await ne({query:d,throwOnError:!0});return f},enabled:s,staleTime:oo}})});return a.useMemo(()=>t.map((i,d)=>({mailboxId:i,count:s?tt(r[d]?.data?.count):no,failed:s?r[d]?.isError??!1:!1})),[t,r,s])}const io=(e,t)=>e.createdAt!==t.createdAt?e.createdAt-t.createdAt:e.accountId.localeCompare(t.accountId),co=e=>[...e].sort(io),lo=["from","subject","category","unread","starred","attachments"],ct=["contacts","today"],uo=e=>new Set(ct.filter(t=>e.has(t))),fo=(e,t,s,r)=>{const i=$t({category:e,attributes:t}),{params:d,residual:f}=Yt(s,i,lo),c={...d,...i},l={muted:!1};return c.from!==void 0&&(l.from=c.from),c.subject!==void 0&&(l.subject=c.subject),c.unread!==void 0&&(l.unread=c.unread),c.starred!==void 0&&(l.starred=c.starred),c.attachments!==void 0&&(l.attachments=c.attachments),r!==void 0&&(l.accountId=r),{criteria:l,residual:f}},mo=({residual:e,attributes:t})=>e.length===0&&!ct.some(s=>t.has(s)),se=e=>e.count.kind==="exact"&&e.count.value>0?3:e.pageRows>0?2:e.count.kind==="unknown"?1:0,oe=e=>e.count.kind==="exact"?e.count.value:0,ho=(e,t)=>se(e)!==se(t)?se(e)>se(t):oe(e)!==oe(t)?oe(e)>oe(t):e.pageRows>t.pageRows;function go(e,{pageRowsByMailbox:t}){const s=e.map(m=>({...m,pageRows:t.get(m.mailboxId)??0}));for(const[m,v]of t)v<=0||s.some(p=>p.mailboxId===m)||s.push({mailboxId:m,count:{kind:"unknown"},failed:!1,pageRows:v});const r=s[0];if(!r)return;let i=0,d=!0,f=r;for(const m of s)m.count.kind==="unknown"?d=!1:i+=m.count.value,ho(m,f)&&(f=m);const c=s.some(m=>m.pageRows>0),l=s.some(m=>m.failed);if(i===0&&!c&&(d||!l))return;const h=d&&i===0&&c;return{mailboxId:f.mailboxId,count:d&&!h?{kind:"exact",value:i}:{kind:"unknown"}}}const po=50,xo=200,Io=[],Ge=()=>n.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,t)=>n.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[n.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),n.jsxs("div",{className:"flex-1 space-y-1.5",children:[n.jsxs("div",{className:"flex justify-between gap-2",children:[n.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),n.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),n.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),n.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},t))}),yo=({accountEmail:e})=>{const t=st();return n.jsxs("div",{className:"flex items-center gap-2 px-row-inset py-2 border-b border-line bg-danger-soft/40 text-xs text-danger",children:[n.jsx(Ve,{className:"size-3.5 shrink-0"}),n.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),n.jsx("button",{type:"button",onClick:()=>t("accounts"),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},vo=(e,t)=>{if(t.size===0)return{};const s=e.filter(d=>t.has(d.id)),r=Fs(s.map(d=>d.accountId));if(r.restriction)return r;const i=new Set;for(const d of s)d.mailboxId&&i.add(d.mailboxId);return i.size>1?{accountId:r.accountId,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${i.size} folders`}:{accountId:r.accountId,mailboxId:i.size===1?[...i][0]:void 0}};function bo({header:e,rows:t,wizard:s,children:r}){const{selectedIds:i,selectedCount:d,exitSelection:f,orderedIds:c,allSelected:l,toggleAllLoaded:h}=ds(),m=a.useMemo(()=>vo(t,i),[t,i]),{junkMailboxId:v}=us(m.accountId),{labels:p}=Ns(m.accountId),b=a.useMemo(()=>Array.from(i),[i]),L=a.useMemo(()=>qs(t,i),[t,i]),x=fs(v,m.mailboxId),S=a.useMemo(()=>c.length>0?{checked:l,indeterminate:d>0&&!l,onChange:h}:void 0,[c.length,l,d,h]),A=m.moveDisabledHint?{tone:"warning",text:m.moveDisabledHint}:void 0,T=M=>n.jsx(gs,{title:M.title,navSlot:M.navSlot,titleMeta:M.titleMeta,searchSlot:M.searchSlot,searchField:M.searchField,idleSlot:M.makeFilterSlot,count:d,onCancel:f,onDelete:()=>s.start("delete"),onMove:()=>s.start("move"),onOrganize:()=>s.start("organize"),onJunk:x?()=>s.start("junk"):void 0,onMarkRead:()=>s.start("markRead"),overflowSlot:m.accountId&&m.mailboxId&&d>0&&p.length>0?n.jsx(As,{accountId:m.accountId,mailboxId:m.mailboxId,messageIds:b}):void 0,selectAll:S,notice:A});return n.jsx(ms,{...e,selectionBar:T,paneOverlay:n.jsx(hs,{verb:s.verb,accountId:m.accountId,mailboxId:m.mailboxId,selection:L,selectionRestriction:m.restriction,onFinished:f}),children:r})}function So({accounts:e,selectedMessageId:t,onOpenThread:s,commandsRef:r,onTriageContextChange:i,onDeleteMessages:d}){const{searchQuery:f,searchInput:c,resultFolderIndex:l,onSearchChange:h}=ie(),m=Ht(),v=Ft(),p=Bs(),b=At(),L=Ps(),x=a.useMemo(()=>co(e.filter(o=>!o.muted?.value)),[e]),[S,A]=a.useState("all"),[T,M]=a.useState("all"),[N,q]=a.useState(new Set),[le,j]=a.useState(!1),P=a.useCallback(o=>{q(u=>{const g=new Set(u);return g.has(o)?g.delete(o):g.add(o),g})},[]),U=a.useCallback(()=>q(new Set),[]),E=c.trim().length>0,{freeText:w,tokens:D}=Ut(f.trim().toLowerCase(),m),y=w.length>0,_=a.useMemo(()=>ze({query:c,ownFilters:N}),[c,N]),Q=a.useMemo(()=>We({query:c,ownCategory:T}),[c,T]),F=a.useMemo(()=>ze({query:f,ownFilters:N}),[f,N]),C=a.useMemo(()=>We({query:f,ownCategory:T}),[f,T]),I=a.useCallback(o=>{if(!E||!at(o)){P(o);return}const u=$s(c,o);u!==void 0&&h(u)},[E,c,h,P]),k=a.useCallback(o=>{if(!E){M(o);return}h(Ys(c,o))},[E,c,h]),de=a.useMemo(()=>C==="all"&&!y?o=>{$e(o)&&k(o)}:void 0,[C,y,k]),ue=a.useCallback(()=>{M("all"),A("all"),U(),E&&h(Vs(c))},[E,c,h,U]),K=ae({queries:x.map(o=>({...Nt({path:{accountId:o.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),G=a.useMemo(()=>{const o=new Map;for(let u=0;u<x.length;u++){const g=x[u].accountId,te=(K[u]?.data?.items??[]).reduce((O,kt)=>O+(kt.unseenCount??0),0);o.set(g,te)}return o},[x,K]),ut=a.useMemo(()=>x.filter((o,u)=>{const g=K[u];return g?.isError?!Bt(g.error):!1}),[x,K]),{criteria:fe,residual:$}=a.useMemo(()=>fo(C,F,D,S==="all"?void 0:S),[C,F,D,S]),ft=a.useMemo(()=>C==="all"?[...Vt]:[C],[C]),be=a.useMemo(()=>({...fe,query:w,...C==="all"?{}:{category:[C]}}),[fe,w,C]),Se=mo({residual:$,attributes:F}),{sections:Y,isLoading:mt,isError:ht,refetch:Te}=to({categories:y?Io:ft,criteria:fe,limit:C==="all"?ls:po,counted:Se}),{rows:Ce,isLoading:gt,isError:pt,refetch:we}=so(be,xo,y),me=y?gt:mt,Re=y?pt:ht,Me=a.useCallback(()=>{if(y){we();return}Te()},[y,we,Te]),je=a.useMemo(()=>uo(F),[F]),V=a.useCallback(o=>Ls(o).map(Jt).filter(u=>Lt(u,je)&&Zt(u,$)),[je,$]),J=a.useMemo(()=>Y.map(o=>({category:o.category,total:o.total,atCap:o.atCap,loading:o.loading,failed:o.failed,rows:V(o.rows)})),[Y,V]),Z=a.useMemo(()=>V(Ce),[Ce,V]),xt=a.useCallback(o=>{Y.find(u=>u.category===o)?.retry()},[Y]),R=a.useMemo(()=>y?Z:J.flatMap(o=>o.rows),[y,Z,J]),It=a.useMemo(()=>qt(l),[l]),ke=ao({criteria:be,junkMailboxIds:It,enabled:Se&&Es({hasSearchQuery:y,freeText:w,residualTokenCount:$.length})}),{spamIds:he,briefSpamOffer:X}=a.useMemo(()=>{const o={spamIds:void 0,briefSpamOffer:void 0};if(!w)return o;const u=R.map(O=>_e(O,l)),{spam:g}=Xt(u),B=new Map;for(const O of g)O.mailboxId&&B.set(O.mailboxId,(B.get(O.mailboxId)??0)+1);const te=go(ke,{pageRowsByMailbox:B});return g.length===0&&!te?o:{spamIds:g.length>0?new Set(g.map(O=>O.id)):void 0,briefSpamOffer:te}},[R,w,l,ke]),Ee=a.useMemo(()=>{const o=u=>he===void 0?u:u.filter(g=>!he.has(g.id));return y?[{id:"matches",threads:o(Z)}]:es(J.map(u=>({...u,rows:o(u.rows)})))},[y,Z,J,he]),Oe=a.useCallback((o,u)=>{const g=R.find(B=>B.id===o)?.threadId;g&&s?.({threadId:g,messageId:o},u)},[R,s]),yt=a.useCallback(o=>{const u=o.threadId??R.find(g=>g.id===o.id)?.threadId;u&&s?.({threadId:u,messageId:o.id})},[R,s]),ge=a.useMemo(()=>x.length<=1?[]:[{id:"all",label:"All",active:S==="all"},...x.map(o=>({id:o.accountId,label:o.email.split("@")[0]??o.email,count:G.get(o.accountId),active:S===o.accountId}))],[x,G,S]),z=a.useMemo(()=>e.filter(o=>o.muted?.value).length,[e]),vt=a.useMemo(()=>Array.from(G.values()).reduce((o,u)=>o+u,0),[G]),pe=a.useMemo(()=>x.map(o=>o.accountId),[x]),{hasNewMail:Fe}=ws(),{state:Ae,errorMessage:Ne,refresh:Be}=Rs(pe,{onSettled:()=>Me()}),bt=a.useMemo(()=>n.jsx(Ms,{state:Ae,onRefresh:Be,label:"Refresh daily brief",errorMessage:Ne,hasUpdate:Fe(pe)}),[Ae,Be,Ne,Fe,pe]),xe=a.useMemo(()=>R.map(o=>_e(o,l)),[R,l]),{hits:Le,isLoading:St}=Os(),Tt=a.useMemo(()=>{const o=new Map(R.map(g=>[g.id,g.threadId])),u=xe.map(g=>o.get(g.id)).filter(g=>g!=null);return ts(Le,u,l)},[Le,xe,R,l]),Ct=a.useMemo(()=>{const o=ss(ge.map(u=>({id:u.id,label:u.label,count:u.count,active:u.active})));return{categories:o.categories,filters:o.filters,sources:o.sources,sourcesNote:z>0?`+${z} muted`:void 0,selectedCategory:Q,activeFilters:_,expanded:le,onExpandedChange:j,onSelectCategory:u=>k(u),onSelectSource:A,onToggleFilter:u=>I(u),onClear:ue}},[ge,z,Q,_,le,I,k,ue]),qe=Ee.length===0&&S==="all"&&w.length===0&&D.length===0,wt=a.useMemo(()=>x.map(o=>o.accountId),[x]),Rt=a.useMemo(()=>x.some(o=>js(o.syncPhase)),[x]),ee=ks(wt,qe||Rt),Pe=n.jsxs("div",{className:"h-full overflow-y-auto",children:[n.jsx(Ge,{}),n.jsx(Ge,{})]}),De=!me&&!Re&&!qe,Mt=os({tier:p,hasLiveInput:E,hasCommittedQuery:f.trim().length>0,bodyRendersCommittedResults:!0}),jt=De?n.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[X&&n.jsx(ns,{count:X.count,onScopeToSpam:()=>L(X.mailboxId,f)}),n.jsx("div",{className:"min-h-0 flex-1",children:n.jsx(rs,{sections:Ee,briefCategory:Q,Row:as,selectedThreadId:t,onSelectThread:Oe,onShowAllSection:de,onRetrySection:xt,flat:y,onSelectBriefCategory:k,sources:ge,sourcesNote:z>0?`+${z} muted`:void 0,onSelectSource:A,activeFilters:_,onToggleFilter:I,onClearFilters:ue})})]}):me?Pe:Re?n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 py-12 text-sm text-fg-muted",children:[n.jsx(Ve,{className:"size-8 text-danger"}),n.jsx("p",{children:"Couldn't load your messages"}),n.jsxs("button",{type:"button",onClick:()=>Me(),className:"flex items-center gap-1 text-accent underline text-xs",children:[n.jsx(Qs,{className:"size-3.5"}),"Try again"]})]}):ee.resolved?n.jsx(Ws,{sync:ee.syncing?{synced:ee.synced,total:ee.total}:void 0}):Pe;return n.jsx(Pt,{hasSheet:De&&!Mt,children:n.jsx(is,{selectedMessageId:t,rows:R,onOpen:Oe,onDeleteMessages:d,onSelectionVerb:b.start,commandsRef:r,onTriageContextChange:i,children:n.jsx(bo,{wizard:b,header:{title:"Daily brief",unreadCount:vt,footer:v?n.jsx(cs,{}):void 0,searchFilter:Ct,searchResults:xe,searchLoading:me,relatedResults:Tt,relatedLoading:St,onSelectSearchResult:yt,spamOffer:X,searchResultsInBody:!0,refreshControl:bt},rows:R,children:n.jsxs("div",{className:"flex h-full flex-col",children:[ut.map(o=>n.jsx(yo,{accountEmail:o.email,accountId:o.accountId},o.accountId)),n.jsx("div",{className:"min-h-0 flex-1",children:jt})]})})})})}const lt=a.createContext(null);function ce(){const e=a.useContext(lt);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function To({thread:e,children:t}){const s=Ds(),r=_s(),i=st(),{searchInput:d}=ie(),f=e?.threadId,c=e?.messageId,{data:l}=Ye({...Dt(),staleTime:6e4}),h=a.useMemo(()=>l?.items??[],[l]),m=a.useMemo(()=>{if(f)return h.find(I=>I.messageId===c)??h.find(I=>I.threadId===f)},[h,f,c]),v=ps(f,c),p=m??v,b=c??p?.messageId,L=a.useMemo(()=>{if(f)return{threadId:f,mailboxId:p?.mailboxId??"",subject:p?.subject,messageId:b,authenticity:p?.authenticity}},[f,p,b]),x=a.useCallback((I,k)=>{s(I,{replace:k?.replace,query:d})},[s,d]),S=a.useCallback(I=>{b&&I.includes(b)&&r()},[b,r]),A=Qe({thread:p,isOpen:!0,onAfterOptimisticRemove:S}),T=xs(),{deleteMessages:M}=Is({mailboxId:p?.mailboxId??"",messages:h,onAfterOptimisticRemove:S}),{toggleReadFor:N}=ys({mailboxId:p?.mailboxId??"",messages:h}),q=T.focusedMessageId,j=a.useMemo(()=>h.find(I=>I.messageId===q),[h,q])??p,P=Qe({thread:j,isOpen:j?.messageId===b}),U=zs(),E=_t(),w=Qt(),D=a.useMemo(()=>zt(w,f,b),[w,f,b]),y=a.useMemo(()=>{if(j)return I=>w({threadId:j.threadId,messageId:j.messageId,mode:I})},[w,j]),{nextMessageId:_,previousMessageId:Q}=vs({context:T,orderedIds:T.orderedIds,selectedMessageId:b,enabled:!U&&!E,hasOpenThread:f!==void 0,onClose:r,handlers:{reply:()=>y?.("reply"),replyAll:()=>y?.("reply-all"),forward:()=>y?.("forward"),delete:()=>{T.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{T.listCommandsRef.current?.requestVerb("markRead")||j&&N([j.messageId],!j.isRead)},goFlagged:()=>i("flagged"),goSettings:()=>i("settings")}}),F=a.useCallback(I=>{if(!I)return;const k=h.find(de=>de.messageId===I);return k?{threadId:k.threadId,messageId:I}:void 0},[h]),C={selectedMessageId:b,selectedThread:p,conversation:L,onOpenThread:x,onCloseThread:r,nextThread:F(_),previousThread:F(Q),actions:A,onReply:D,triage:T,onDeleteMessages:M,handleDeselectIfRemoved:S};return n.jsx(lt.Provider,{value:C,children:t})}function dt(){const{selectedMessageId:e,onOpenThread:t,triage:s,onDeleteMessages:r}=ce(),{accounts:i}=ie();return n.jsx(So,{accounts:i,selectedMessageId:e,onOpenThread:t,commandsRef:s.listCommandsRef,onTriageContextChange:s.onTriageContextChange,onDeleteMessages:r})}function Co(){const e=Ie(),{conversation:t,selectedThread:s,actions:r,onReply:i,handleDeselectIfRemoved:d}=ce(),f=!!t,c=Ts(t?.threadId);return n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[n.jsx(Cs,{hasThread:f,intelligenceOpen:c.isShowing,canToggleIntelligence:c.canToggle,onToggleIntelligence:c.toggle,onReply:i?()=>i("reply"):void 0,onReplyAll:i?()=>i("reply-all"):void 0,onForward:i?()=>i("forward"):void 0,onDelete:f?r.deleteThread:void 0,onToggleStar:f?r.toggleStar:void 0,isStarred:r.isStarred,moveContext:f&&r.accountId&&r.mailboxId?{accountId:r.accountId,currentMailboxId:r.mailboxId,onMove:r.moveThread}:void 0}),n.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:t?n.jsx(Xe,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onOpenIntelligence:c.open,listOnScreen:!0}):n.jsx(Kt,{})})]}),n.jsx(et,{isOpen:c.drawerOpen,onClose:c.closeDrawer,thread:s,mailboxId:s?.mailboxId,accountId:s?.accountId,onAfterOptimisticRemove:d,onReplyWithText:e})]})}function wo(){const e=Ie(),{selectedThread:t,handleDeselectIfRemoved:s}=ce(),{onToggleIntelligence:r}=ie();return n.jsx(Ss,{onClose:r,thread:t,mailboxId:t?.mailboxId,accountId:t?.accountId,onAfterOptimisticRemove:s,onReplyWithText:e})}function Ro(){const e=Ie(),{selectedThread:t,conversation:s,onOpenThread:r,onCloseThread:i,nextThread:d,previousThread:f,handleDeselectIfRemoved:c}=ce(),l=bs(s?.threadId??null);return s?n.jsxs(n.Fragment,{children:[n.jsx(Xe,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:i,onOpenIntelligence:l.toggle,onSwipeNext:d?()=>r(d):void 0,onSwipePrevious:f?()=>r(f):void 0,mobileIntelligenceOpen:l.isOpen}),n.jsx(et,{isOpen:l.isOpen,onClose:l.close,thread:t,mailboxId:t?.mailboxId,accountId:t?.accountId,onAfterOptimisticRemove:c,onReplyWithText:e})]}):n.jsx("div",{className:"h-full",children:n.jsx(dt,{})})}const _o=Object.assign(To,{List:dt,Reading:Co,Intelligence:wo,Phone:Ro});export{_o as B};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{eO as J,r as o,e1 as X,c as le,C as z,bq as ce,cU as ue,aH as ge,aI as he,j as r,ak as me,d4 as pe,d5 as fe}from"./index-DDaQbjmr.js";import{u as xe,p as U,R as Ie}from"./useSearchTokenContext-DjY64Paa.js";import{z as Te,B as ye,al as be,am as ve,aw as Re,an as Ce,a as Se,M as we,at as je,ax as Fe,av as Me,l as Oe,I as ke,N as _,L as Pe,J as Le,b as Ne,X as Ae,Y as H,Z as De,$ as Y,a0 as Z,a1 as qe,a2 as Ee,a3 as Be}from"./MailListHeader-DMMl8ZLg.js";import{u as We,l as Qe,b as ze,a as He}from"./MailViewChrome-BcPAwjzq.js";import{f as Ke}from"./ErrorState-zb46wwqB.js";import{d as Ve,w as Ge}from"./wizard-selection-DxUM65kM.js";import{a as Ue}from"./useMessageBodyContent-Azq1Bngf.js";import{e as _e,f as Je}from"./search-token-index-DfEguIzE.js";import{u as Xe}from"./sections-BE-YkTuC.js";const K=t=>({...t,starred:!0,order:"desc"}),Ye=(t={})=>X({query:K(t)});function $(t={}){const{data:e,isLoading:s,isError:a,error:d,refetch:f,fetchNextPage:n,hasNextPage:u,isFetchingNextPage:l}=We({queryKey:Ye(t),queryFn:async({pageParam:x})=>{const{data:g}=await J({query:{...K(t),continuationToken:x},throwOnError:!0});return g},initialPageParam:void 0,getNextPageParam:x=>x.continuationToken,staleTime:6e4});return{threads:o.useMemo(()=>(e?.pages??[]).flatMap(x=>x.items??[]),[e]),isLoading:s,isError:a,error:d,refetch:f,fetchNextPage:n,hasNextPage:u,isFetchingNextPage:l}}function Ze(t={}){const e={...K(t),unread:!0,count:!0,results:!1},{data:s}=le({queryKey:X({query:e}),queryFn:async()=>{const{data:a}=await J({query:e,throwOnError:!0});return a},staleTime:6e4});return s?.count}const $e=["from","subject","category","unread","starred","attachments"],et=(t,e)=>{const s=Te(t),{params:a,residual:d}=ye(e,{...s,starred:!0},$e);return{criteria:{...a,...s},residual:d}};function tt({rows:t,verb:e}){const{selectedIds:s,exitSelection:a}=Me(),d=o.useMemo(()=>Ge(t,s),[t,s]);return r.jsx(Oe,{verb:e,selection:d,selectionRestriction:"spansAccounts",onFinished:a})}function st({selectedMessageId:t,onOpenThread:e,commandsRef:s,onTriageContextChange:a,onDeleteMessages:d}){const{searchQuery:f,resultFolderIndex:n,onSearchClearQuery:u}=z(),l=xe(),k=ce(),x=ue(),[g,h]=o.useState("all"),[b,P]=o.useState(new Set),S=o.useCallback(i=>{P(C=>{const I=new Set(C);return I.has(i)?I.delete(i):I.add(i),I})},[]),w=o.useCallback(()=>{h("all"),P(new Set)},[]),T=o.useCallback(()=>{w(),u()},[w,u]),{freeText:j,tokens:v}=U(f.trim().toLowerCase(),l),L=U(f.trim(),l).freeText,{criteria:N,residual:m}=o.useMemo(()=>et({category:g,attributes:b},v),[g,b,v]),F=o.useMemo(()=>j?{...N,query:j}:N,[N,j]),{threads:A,isLoading:D,isError:y,error:E,refetch:M,fetchNextPage:B,hasNextPage:W,isFetchingNextPage:O}=$(F),p=o.useMemo(()=>Ve(A).map(be).filter(i=>ve(i,m)),[A,m]),c=o.useCallback((i,C)=>{const I=p.find(de=>de.id===i)?.threadId;I&&e?.({threadId:I,messageId:i},C)},[p,e]),R=o.useCallback(i=>{const C=i.threadId??p.find(I=>I.id===i.id)?.threadId;C&&e?.({threadId:C,messageId:i.id})},[p,e]),Q=o.useMemo(()=>Re(),[]),se=o.useMemo(()=>p.map(i=>Ce(i,n)),[p,n]),ae=Ze(F)??null,re=o.useMemo(()=>v.filter(i=>i.type!=="isStarred"),[v]),oe=Qe({chips:{category:g,attributes:b},tokens:re,reach:m.length>0?"loaded-pages":"whole-folder",onClear:T}),V=D?"loading":y?"error":p.length===0?"empty":"ready",ne=o.useCallback(()=>{const i=ge(he());window.open(i,"_blank","noopener,noreferrer")},[]),G=Se(),ie=r.jsx("div",{className:"flex h-full min-h-0 flex-col",children:r.jsxs("div",{className:"flex-1 overflow-y-auto",children:[r.jsx("div",{className:"divide-y divide-line",children:p.map(i=>r.jsx(we,{thread:i,active:i.id===t,onClick:()=>c(i.id)},i.id))}),W?r.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>B(),disabled:O,children:O?"Loading…":"Load more"}):null]})});return r.jsx(ze,{title:"Starred",unreadCount:ae,preset:Q,selectedCategory:g,activeFilters:b,onSelectCategory:h,onToggleFilter:S,onClearFilters:w,searchResults:se,searchLoading:D,onSelectSearchResult:R,searchResultsInBody:!0,children:r.jsxs(je,{selectedMessageId:t,rows:p,onOpen:c,onDeleteMessages:d,onSelectionVerb:x.start,commandsRef:s,onTriageContextChange:a,children:[r.jsx(He,{listTitle:"Starred",sections:[{id:"flagged",threads:p}],flatList:!0,hideHeader:!0,listState:G.searchResults?"ready":V,listFilter:oe,listScopeLabel:"Starred",searchQuery:L||void 0,errorMessage:y?Ke(E):void 0,onRetry:()=>M(),onReportError:ne,selectedThreadId:t,onSelectThread:c,isDesktop:k,selectionBar:r.jsx(Fe,{title:"Starred"}),listBody:G.searchResults??(V==="ready"?ie:void 0)}),r.jsx(tt,{rows:p,verb:x.verb})]})})}const ee=o.createContext(null);function q(){const t=o.useContext(ee);if(!t)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return t}function at({thread:t,children:e}){const s=_e(),a=Je(),d=Xe(),{searchInput:f}=z(),n=t?.threadId,u=t?.messageId,{threads:l}=$(),k=o.useMemo(()=>{if(n)return l.find(c=>c.messageId===u)??l.find(c=>c.threadId===n)},[l,n,u]),x=ke(n,u),g=k??x,h=u??g?.messageId,b=o.useMemo(()=>{if(n)return{threadId:n,mailboxId:g?.mailboxId??"",subject:g?.subject,messageId:h,authenticity:g?.authenticity}},[n,g,h]),P=o.useCallback((c,R)=>{s(c,{replace:R?.replace,query:f})},[s,f]),S=o.useCallback(c=>{h&&c.includes(h)&&a()},[h,a]),w=_({thread:g,isOpen:!0,onAfterOptimisticRemove:S}),T=Pe(),{deleteMessages:j}=Le({mailboxId:g?.mailboxId??"",messages:l,onAfterOptimisticRemove:S}),{toggleReadFor:v}=Ne({mailboxId:g?.mailboxId??"",messages:l}),L=T.focusedMessageId,m=o.useMemo(()=>l.find(c=>c.messageId===L),[l,L])??g,F=_({thread:m,isOpen:m?.messageId===h}),A=Ue(),D=me(),y=pe(),E=o.useMemo(()=>fe(y,n,h),[y,n,h]),M=o.useMemo(()=>{if(m)return c=>y({threadId:m.threadId,messageId:m.messageId,mode:c})},[y,m]),{nextMessageId:B,previousMessageId:W}=Ae({context:T,orderedIds:T.orderedIds,selectedMessageId:h,enabled:!A&&!D,hasOpenThread:n!==void 0,onClose:a,handlers:{reply:()=>M?.("reply"),replyAll:()=>M?.("reply-all"),forward:()=>M?.("forward"),delete:()=>{T.listCommandsRef.current?.requestVerb("delete")||F.deleteThread()},toggleStar:F.toggleStar,toggleRead:()=>{T.listCommandsRef.current?.requestVerb("markRead")||m&&v([m.messageId],!m.isRead)},goBrief:()=>d("brief"),goSettings:()=>d("settings")}}),O=o.useCallback(c=>{if(!c)return;const R=l.find(Q=>Q.messageId===c);return R?{threadId:R.threadId,messageId:c}:void 0},[l]),p={selectedMessageId:h,selectedThread:g,conversation:b,onOpenThread:P,onCloseThread:a,nextThread:O(B),previousThread:O(W),actions:w,onReply:E,triage:T,onDeleteMessages:j,handleDeselectIfRemoved:S};return r.jsx(ee.Provider,{value:p,children:e})}function te(){const{selectedMessageId:t,onOpenThread:e,triage:s,onDeleteMessages:a}=q();return r.jsx(st,{selectedMessageId:t,onOpenThread:e,commandsRef:s.listCommandsRef,onTriageContextChange:s.onTriageContextChange,onDeleteMessages:a})}function rt(){const t=H(),{conversation:e,selectedThread:s,actions:a,onReply:d,handleDeselectIfRemoved:f}=q(),n=!!e,u=Ee(e?.threadId);return r.jsxs(r.Fragment,{children:[r.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[r.jsx(Be,{hasThread:n,intelligenceOpen:u.isShowing,canToggleIntelligence:u.canToggle,onToggleIntelligence:u.toggle,onReply:d?()=>d("reply"):void 0,onReplyAll:d?()=>d("reply-all"):void 0,onForward:d?()=>d("forward"):void 0,onDelete:n?a.deleteThread:void 0,onToggleStar:n?a.toggleStar:void 0,isStarred:a.isStarred,moveContext:n&&a.accountId&&a.mailboxId?{accountId:a.accountId,currentMailboxId:a.mailboxId,onMove:a.moveThread}:void 0}),r.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?r.jsx(Y,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,onOpenIntelligence:u.open,listOnScreen:!0}):r.jsx(Ie,{})})]}),r.jsx(Z,{isOpen:u.drawerOpen,onClose:u.closeDrawer,thread:s,mailboxId:s?.mailboxId,accountId:s?.accountId,onAfterOptimisticRemove:f,onReplyWithText:t})]})}function ot(){const t=H(),{selectedThread:e,handleDeselectIfRemoved:s}=q(),{onToggleIntelligence:a}=z();return r.jsx(qe,{onClose:a,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s,onReplyWithText:t})}function nt(){const t=H(),{selectedThread:e,conversation:s,onCloseThread:a,onOpenThread:d,nextThread:f,previousThread:n,handleDeselectIfRemoved:u}=q(),l=De(s?.threadId??null);return s?r.jsxs(r.Fragment,{children:[r.jsx(Y,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:a,onOpenIntelligence:l.toggle,onSwipeNext:f?()=>d(f):void 0,onSwipePrevious:n?()=>d(n):void 0,mobileIntelligenceOpen:l.isOpen}),r.jsx(Z,{isOpen:l.isOpen,onClose:l.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:u,onReplyWithText:t})]}):r.jsx("div",{className:"h-full",children:r.jsx(te,{})})}const ft=Object.assign(at,{List:te,Reading:rt,Intelligence:ot,Phone:nt});export{ft as F};
|