@remit/web-client-dist 0.0.643 → 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-CqQSh_ja.js → BriefPane-CWpjvftR.js} +1 -1
- package/assets/{CalendarComposePane-C9l0zjP2.js → CalendarComposePane-DJNhu2LK.js} +1 -1
- package/assets/{CalendarComposeSeed-CJm8rCY9.js → CalendarComposeSeed-SL4UWmtL.js} +1 -1
- package/assets/{CalendarShell-Dew68lMD.js → CalendarShell-DAe5WXuU.js} +1 -1
- package/assets/{EmptyState-VLl0Xg-2.js → EmptyState-5AzHvbUg.js} +1 -1
- package/assets/{ErrorState-DmeOZx31.js → ErrorState-C9wNWNx-.js} +1 -1
- package/assets/{FlaggedPane-h6xyDnuf.js → FlaggedPane-CzACUDwI.js} +1 -1
- package/assets/{FullCompose-C4K-ff_q.js → FullCompose-EZk91vKc.js} +1 -1
- package/assets/MailListHeader-KM5hxzzQ.js +7 -0
- package/assets/{MailNav-3iRwz5bx.js → MailNav-BvsTwsus.js} +1 -1
- package/assets/{MailShell-C7XYJEOC.js → MailShell-CO4UHszY.js} +1 -1
- package/assets/{MailViewChrome-7Gh2Vw-t.js → MailViewChrome-D0DIIe1s.js} +1 -1
- package/assets/{MailboxPane-0KW8VAei.js → MailboxPane-CSXmclwC.js} +1 -1
- package/assets/{NavMenuButton-B4_xZcAo.js → NavMenuButton-DipQuqqU.js} +1 -1
- package/assets/{OnboardingWizard-Dyv1Jm6j.js → OnboardingWizard-DLthp-gp.js} +1 -1
- package/assets/{OpenCalendarEvent-7dAQjmZ0.js → OpenCalendarEvent-DdZ8T5JX.js} +2 -2
- package/assets/{OutboxPane--7u1PWnp.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-C-6t0plG.js → _view._date-DhatDbEl.js} +1 -1
- package/assets/{accounts-BBm2Fri5.js → accounts-DD5lbrRg.js} +1 -1
- package/assets/{advanced-C7IVSlq-.js → advanced-Di1sbe8-.js} +1 -1
- package/assets/{appearance-DHQkzl84.js → appearance-CuPQNqbK.js} +1 -1
- package/assets/{attendee-row-BVnfl4Ln.js → attendee-row-COD-JhkD.js} +1 -1
- package/assets/{avatar-DD62C_eL.js → avatar-BG16DP0I.js} +1 -1
- package/assets/{bell-off-CsR58N8X.js → bell-off-BJ8oYylk.js} +1 -1
- package/assets/{bottom-sheet-BG2Fi0Lb.js → bottom-sheet-CXKnmLHB.js} +1 -1
- package/assets/brief-DBfWEKXi.js +1 -0
- package/assets/{brief-BkicXAec.js → brief-QIMUKa1x.js} +1 -1
- package/assets/{browser-ponyfill-vr6sMZpU.js → browser-ponyfill-yqX8DQOe.js} +2 -2
- package/assets/{bug-BXkTcnP3.js → bug-my1LBhjO.js} +1 -1
- package/assets/{calendar-Bif9hwZM.js → calendar-BKm9jIHX.js} +1 -1
- package/assets/{calendar-clash-strip-CkUcFznp.js → calendar-clash-strip-BFeaJEFd.js} +1 -1
- package/assets/{calendar-format-C1OfWDS9.js → calendar-format-Df04vYeX.js} +1 -1
- package/assets/{calendar-report-BY6VcRI-.js → calendar-report-cFSv6gSl.js} +1 -1
- package/assets/calendar-suggestion-BOcnceiU.js +1 -0
- package/assets/{calendars-DxQTaSZf.js → calendars-C2NvDUee.js} +1 -1
- package/assets/{card-DggbFcQC.js → card-Cvm6QXrr.js} +1 -1
- package/assets/{checkbox-DNsJWnQ9.js → checkbox-CnlRLXiS.js} +1 -1
- package/assets/chevron-left-B_-IAj1P.js +1 -0
- package/assets/{circle-check-DPWZDhPO.js → circle-check-CmDRPJ4x.js} +1 -1
- package/assets/{circle-check-big-CM7pZZbV.js → circle-check-big-ZWmAdG5O.js} +1 -1
- package/assets/{circle-help-BtRmVPpF.js → circle-help-xoO8qyO7.js} +1 -1
- package/assets/{clock-B3HY3HEG.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-Fo3m7cZ7.js → config-import-D_1i4Wai.js} +1 -1
- package/assets/{confirm-dialog-CgLhcr4g.js → confirm-dialog-D8E0auet.js} +1 -1
- package/assets/{copy-7B_A7tMm.js → copy-Cz51csqc.js} +1 -1
- package/assets/{credential-steps-CnFqc5oP.js → credential-steps-Cm_vhM0c.js} +1 -1
- package/assets/{download-BG6KV76e.js → download-2vcTam8D.js} +1 -1
- package/assets/{file-json-DKDhkzal.js → file-json-Wb3Oc2-o.js} +1 -1
- package/assets/{filters-BjhC4ukE.js → filters-C2qWze-2.js} +1 -1
- package/assets/flagged-BIby7mOe.js +1 -0
- package/assets/{flagged-BwEn5mqI.js → flagged-DSaiUTNf.js} +1 -1
- package/assets/{folders-QYetOmXD.js → folders-B-31lHew.js} +1 -1
- package/assets/{help-copy-XLWHUTq9.js → help-copy-yEiBqFt2.js} +1 -1
- package/assets/{import-BLX36zo9.js → import-I5hFVfa3.js} +1 -1
- package/assets/index--G6_bbnZ.js +1 -0
- package/assets/{index-BUTEicLk.js → index-BZT8HZ--.js} +1 -1
- package/assets/index-BdBHeA_W.js +1 -0
- package/assets/index-BswNQxjJ.js +1 -0
- package/assets/{index-DdgwCJ4v.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-DOsp5wL9.js → index-DYY0nrsl.js} +4 -4
- package/assets/index-zXtGiOsw.js +1 -0
- package/assets/{kbd-DKvs5BdK.js → kbd-BAzd-ZzK.js} +1 -1
- package/assets/{labels-CW2ReWm4.js → labels-D5anCXRT.js} +1 -1
- package/assets/{mail-CRm24o3R.js → mail-3L2_JePI.js} +1 -1
- package/assets/{mail-BJPu5dwh.js → mail-7SgAUbqy.js} +1 -1
- package/assets/{map-pin-CAgVIQRt.js → map-pin-C_G0KnPH.js} +1 -1
- package/assets/{menu-DeD_0Sd1.js → menu-Diz2jlXK.js} +1 -1
- package/assets/minus-D5h1w2Lk.js +1 -0
- package/assets/{new-CRtnsWv2.js → new-CcPLKlc0.js} +1 -1
- package/assets/{onboarding-completion-D4p2yV8X.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-DCDDVSaQ.js → pane-header-CaA1aTlU.js} +1 -1
- package/assets/{pencil-DxSaFuJ4.js → pencil-TKs_c6Iw.js} +1 -1
- package/assets/{popover-menu-4krm3dWT.js → popover-menu-Bmzk7h6e.js} +1 -1
- package/assets/{refresh-cw-C_o59REw.js → refresh-cw-og-Ybvo3.js} +1 -1
- package/assets/{rich-text-CdLRrg6I.js → rich-text-CHZBDrnR.js} +1 -1
- package/assets/{rich-text-spellcheck-worker-provider-DAgr-VNc.js → rich-text-spellcheck-worker-provider-BllEMU79.js} +1 -1
- package/assets/{rotate-ccw-C7hQnwfM.js → rotate-ccw-FAgCjZMZ.js} +1 -1
- package/assets/{roving-focus-wLsuSVCZ.js → roving-focus-DYnDzdRR.js} +1 -1
- package/assets/{row-actions-CsDIFX2Z.js → row-actions-DFIk5ZFA.js} +1 -1
- package/assets/{search-mirror-7ZjhpyaP.js → search-mirror-By7sgEWK.js} +1 -1
- package/assets/{search-token-index-Dbim5YtJ.js → search-token-index-CDtHdqiP.js} +1 -1
- package/assets/{sections-BHPkRjh5.js → sections-D-n9QfX4.js} +1 -1
- package/assets/{senders-CNBlWIiG.js → senders-D4sO52ZM.js} +1 -1
- package/assets/settings-BGp6tn2L.js +1 -0
- package/assets/{settings-screen-CIUyvyDm.js → settings-screen-DvNcGJK6.js} +1 -1
- package/assets/{shield-check-D6xreYrB.js → shield-check-8L17Kh_I.js} +1 -1
- package/assets/{suggested-vips-Da8IuYnJ.js → suggested-vips-Q_s_mJiL.js} +1 -1
- package/assets/{suggestion._suggestionId-CjvTvFz8.js → suggestion._suggestionId-BAj90-2v.js} +1 -1
- package/assets/{undo-2-BVpzm_lb.js → undo-2-BSHTchh1.js} +1 -1
- package/assets/{useCalendarData-D9NX1A9R.js → useCalendarData-emMg6If8.js} +1 -1
- package/assets/{useCalendarFreeBusy-B6fKe2s-.js → useCalendarFreeBusy-oamX9h5O.js} +1 -1
- package/assets/{useCalendarWrites-DUx11oF3.js → useCalendarWrites-B6o3xQNN.js} +1 -1
- package/assets/{useCalendars-BLmllCqQ.js → useCalendars-CzwJUnpW.js} +1 -1
- package/assets/{useDebouncedValue-DvXNnDTh.js → useDebouncedValue-3uXEWBzO.js} +1 -1
- package/assets/{useFilters-C3B6gyy8.js → useFilters-D5DypOXB.js} +1 -1
- package/assets/{useLabels-BY5yOSXl.js → useLabels-CEOAQRXe.js} +1 -1
- package/assets/{useLayoutTier-CbC-hQRr.js → useLayoutTier-BLBwlToe.js} +1 -1
- package/assets/{useMessageBodyContent-DRTP4wa0.js → useMessageBodyContent-Bq-24837.js} +1 -1
- package/assets/{useQueries-B9KsAw6v.js → useQueries-CqQkOWRS.js} +1 -1
- package/assets/{useRefreshControl-BQetpFZ3.js → useRefreshControl-URETybK8.js} +1 -1
- package/assets/{useResultFolderIndex-IoXcSy-p.js → useResultFolderIndex-DgIMhZlz.js} +1 -1
- package/assets/{useSearchTokenContext-DMIJPqzA.js → useSearchTokenContext-V_0MB9r5.js} +1 -1
- package/assets/{useSemanticSearch-BTlz1ruP.js → useSemanticSearch-CzayQYky.js} +1 -1
- package/assets/{useSignature-Cbp58mOz.js → useSignature-BraM8Nn7.js} +1 -1
- package/index.html +1 -1
- package/package.json +1 -1
- package/assets/MailListHeader-BrXXf1Yp.js +0 -7
- package/assets/_calendarObjectId-DZ45RvvI.js +0 -1
- package/assets/_mailboxId-mXLMaQIT.js +0 -1
- package/assets/_messageId-2G79mDVH.js +0 -1
- package/assets/_messageId-BproZqyb.js +0 -1
- package/assets/_messageId-Yux53ec8.js +0 -1
- package/assets/_outboxMessageId-CUrOyyD-.js +0 -1
- package/assets/_recurrenceId-7sRPMrJQ.js +0 -1
- package/assets/_threadId-BVoqj3ta.js +0 -1
- package/assets/_threadId-DClBqCRh.js +0 -1
- package/assets/_threadId-wGJAHiFc.js +0 -1
- package/assets/brief-BmBsP3Eb.js +0 -1
- package/assets/calendar-suggestion-DSoR-sUT.js +0 -1
- package/assets/chevron-left-DVuaPYD9.js +0 -1
- package/assets/compose._-_outboxMessageId_-93yCdWlT.js +0 -1
- package/assets/compose._-_outboxMessageId_-BuD2Nqen.js +0 -1
- package/assets/compose._-_outboxMessageId_-CjOo7QgX.js +0 -1
- package/assets/compose._-_outboxMessageId_-m9wrDxnm.js +0 -1
- package/assets/flagged-CtubMGA7.js +0 -1
- package/assets/index-2G79mDVH.js +0 -1
- package/assets/index-B52QS6i2.js +0 -1
- package/assets/index-CvXSZNRB.js +0 -1
- package/assets/index-Cw1nSElr.js +0 -1
- package/assets/index-DU7GET4S.js +0 -1
- package/assets/index-RK66HQoS.js +0 -1
- package/assets/index-Yux53ec8.js +0 -1
- package/assets/index-dAmO05_k.js +0 -1
- package/assets/index-vr5V5mez.js +0 -1
- package/assets/minus-0VqQt5wq.js +0 -1
- package/assets/onboarding-50LVQxkR.js +0 -1
- package/assets/outbox-jzPfnLIS.js +0 -1
- package/assets/settings-Cb-LOzr3.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>
|