@remit/web-client-dist 0.0.211 → 0.0.212
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/{ComposeBody-wilPjdd4.js → ComposeBody-mpT1bIZQ.js} +1 -1
- package/assets/{ConfirmDialog-DnD0wdBA.js → ConfirmDialog-CizCth1u.js} +1 -1
- package/assets/{ErrorState-C-qt7L5W.js → ErrorState-l4dEQFJg.js} +1 -1
- package/assets/{OnboardingWizard-l2MGuA6A.js → OnboardingWizard-DnI61eV7.js} +1 -1
- package/assets/{account-form-helpers-DLSEfuIr.js → account-form-helpers-ij4HJuaw.js} +1 -1
- package/assets/{accounts-Dfc0mHNd.js → accounts-BrxGxap6.js} +1 -1
- package/assets/{advanced-BRGBlcP1.js → advanced-CwOWyvZb.js} +1 -1
- package/assets/{appearance-DRIFydFD.js → appearance-CL0imSlO.js} +1 -1
- package/assets/{avatar-CypHN17J.js → avatar-CW3rY9cf.js} +1 -1
- package/assets/{browser-ponyfill-u24dk4-T.js → browser-ponyfill-AB6DBGZ-.js} +2 -2
- package/assets/{circle-check-j3DpmpuG.js → circle-check-D_g0KGUi.js} +1 -1
- package/assets/{download-BXnWFr8V.js → download-BKhHUxFd.js} +1 -1
- package/assets/{filters-Nc_ruyEv.js → filters-Bl1GaURK.js} +1 -1
- package/assets/{flagged-CZnIi_3J.js → flagged-DHn95EmZ.js} +1 -1
- package/assets/{folder-jCYPM0QT.js → folder-DQu-y59S.js} +1 -1
- package/assets/{folders-61znXSzG.js → folders-BquYwbOJ.js} +1 -1
- package/assets/{index-DCLadAJi.css → index-AAKtgqZz.css} +1 -1
- package/assets/index-BWSbUdc3.js +1 -0
- package/assets/{index-DV2XBUm3.js → index-CmklEekM.js} +1 -1
- package/assets/{index-DBLtMQVY.js → index-drg-6YVA.js} +61 -61
- package/assets/{kbd-Bm4kcOe_.js → kbd-B5onHXik.js} +1 -1
- package/assets/{labels-DcW9D038.js → labels-DpcwLPY0.js} +1 -1
- package/assets/mail-DmVUsxbA.js +118 -0
- package/assets/{move-targets-DR3SzEM3.js → move-targets-BS_XOOwJ.js} +1 -1
- package/assets/{onboarding-Dzbvu8rA.js → onboarding-CRU6eUno.js} +1 -1
- package/assets/{senders-DLwjmx0M.js → senders-DVtjOxF3.js} +1 -1
- package/assets/settings-CVPaGBD8.js +1 -0
- package/assets/{settings-screen-DBuPiW9q.js → settings-screen-BSyM94jc.js} +1 -1
- package/assets/{shield-check-DY-38rr6.js → shield-check-CbmIhOop.js} +1 -1
- package/assets/{suggested-vips-BQZwMd5b.js → suggested-vips-Dl1cpFXj.js} +1 -1
- package/assets/{useDebouncedValue-C3why0DM.js → useDebouncedValue-D6NiRiXv.js} +1 -1
- package/assets/{useLabels-B9dNNhmU.js → useLabels-DrMULqHs.js} +1 -1
- package/assets/useRulePreview-BRtFT-fi.js +1 -0
- package/assets/{useSignature-mSu7RyMJ.js → useSignature-BEsxeqJs.js} +1 -1
- package/index.html +2 -2
- package/package.json +1 -1
- package/assets/index-BS3yS_rq.js +0 -1
- package/assets/mail-BbUXwoQH.js +0 -118
- package/assets/settings-sSuMeOlB.js +0 -1
- package/assets/useRulePreview-BZxifYYj.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t,bL as o}from"./index-DBLtMQVY.js";const n=()=>t.jsx(o,{});export{n as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as l,j as S,b as O,aw as I,cj as F,a5 as N,az as y,ck as z,cl as k,cm as R,cn as _,co as j,ba as Y}from"./index-DBLtMQVY.js";const $=320,J="cubic-bezier(0.32, 0.9, 0.3, 1)",H=.5,B=.4,Q=360;function U(e){return Math.sign(e)*Math.sqrt(Math.abs(e))*4}function oe({open:e,onClose:t,children:r,dismissLabel:n="Dismiss"}){const i=l.useRef(null),[s,a]=l.useState(Q),[o,m]=l.useState(null);l.useLayoutEffect(()=>{const c=i.current;if(!c)return;const f=()=>a(c.offsetHeight);f();const b=new ResizeObserver(f);return b.observe(c),()=>b.disconnect()},[]);const u=l.useRef(null),g=l.useCallback(c=>{c.currentTarget.setPointerCapture(c.pointerId),u.current={startY:c.clientY,lastY:c.clientY,lastT:c.timeStamp,velocity:0,moved:!1},m(0)},[]),p=l.useCallback(c=>{const f=u.current;if(!f)return;const b=c.timeStamp-f.lastT;b>0&&(f.velocity=(c.clientY-f.lastY)/b),f.lastY=c.clientY,f.lastT=c.timeStamp;const v=c.clientY-f.startY;Math.abs(v)>4&&(f.moved=!0);const T=v<0?U(v):v;m(T)},[]),d=l.useCallback(()=>{const c=u.current;if(u.current=null,!c)return;const f=c.lastY-c.startY,v=c.velocity>H||f>s*B;m(null),v&&t()},[s,t]),h=o!==null,M=e?o??0:s,C=Math.min(Math.max(1-M/s,0),1),w=h?"none":`transform ${$}ms ${J}`;return S.jsxs("div",{className:O("absolute inset-0 z-40 select-none overflow-hidden",e||h?"":"pointer-events-none"),children:[S.jsx("button",{type:"button","aria-label":n,tabIndex:-1,onClick:t,className:O("absolute inset-0 bg-black/40",C>0?"pointer-events-auto":"pointer-events-none"),style:{opacity:C*.6,transition:w.replace("transform","opacity")}}),S.jsxs("div",{ref:i,className:"absolute inset-x-0 bottom-0 flex max-h-[92%] flex-col rounded-t-3xl border-t border-line bg-surface shadow-2xl shadow-black/30",style:{transform:`translateY(${M}px)`,transition:w},children:[S.jsx("div",{role:"slider","aria-label":"Drag down to dismiss","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(C*100),tabIndex:0,onPointerDown:g,onPointerMove:p,onPointerUp:d,onPointerCancel:d,className:"flex cursor-grab touch-none justify-center pb-1 pt-2.5 active:cursor-grabbing",children:S.jsx("div",{className:"h-1 w-10 rounded-full bg-fg-subtle/40"})}),S.jsx("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:r})]})]})}const q=e=>{const[t,r]=l.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches);return l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const n=window.matchMedia(e),i=s=>r(s.matches);return r(n.matches),n.addEventListener("change",i),()=>n.removeEventListener("change",i)},[e]),t},ce=()=>q("(min-width: 1024px)"),le=(e,t)=>{if(e.state==="Expired")return"Expired";if(e.scope!=="Temporary"||!e.expiresAt)return"Active";const r=Date.parse(e.expiresAt);return Number.isNaN(r)?"Active":r<=t?"Expired":"Active"},ue=e=>{if(!e)return;const t=Date.parse(e);if(!Number.isNaN(t))return new Date(t).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})},D=(e,t=new Date)=>{if(!e)return;const r=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!r)return;const[,n,i,s]=r,a=new Date(Number(n),Number(i)-1,Number(s),23,59,59,0);if(Number.isNaN(a.getTime()))return;const o=-t.getTimezoneOffset(),m=o>=0?"+":"-",u=Math.abs(o),g=String(Math.floor(u/60)).padStart(2,"0"),p=String(u%60).padStart(2,"0"),d=h=>String(h).padStart(2,"0");return`${a.getFullYear()}-${d(a.getMonth()+1)}-${d(a.getDate())}T${d(a.getHours())}:${d(a.getMinutes())}:${d(a.getSeconds())}${m}${g}:${p}`},x="None",de=e=>!e.literalClauses.some(t=>t.field==="HasWords"),P=e=>({...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??x,actionMailboxId:e.moveMailboxId??x}),me=({mode:e,ruleScope:t})=>t==="standing"?"standing":t==="until"?"temporary":e==="selected"?"just-these":"all-like-these",fe=({mode:e,ruleScope:t,anchorMessageId:r,clauses:n,matchOperator:i,moveMailboxId:s,until:a})=>({...e==="similar"&&r?{anchorMessageId:r}:{},matchOperator:i==="all"?"And":"Or",literalClauses:n.map(o=>({field:o.field,value:o.value})),moveMailboxId:s,expiresAt:t==="until"?D(a??""):void 0}),E=(e,t,r)=>({name:r,scope:t==="standing"?"Standing":"Temporary",...t==="temporary"&&e.expiresAt?{expiresAt:e.expiresAt}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??x,actionMailboxId:e.moveMailboxId??x,...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{}}),pe=["From","Subject","HasWords","ListId","FromDomain"],K=e=>{const t=e.trim(),r=t.match(/<([^>]+)>/);return(r?r[1]:t).trim().toLowerCase()},he=(e,t)=>e==="ListId"?K(t):t.trim(),W=e=>e==="all"?"And":"Or",V=(e,t)=>{const r=e.widen!==void 0&&!e.widen.inactive,n=e.clauses.map(i=>({field:i.field,value:i.value}));return{...r&&t?{anchorMessageId:t}:{},matchOperator:W(e.matchOperator),literalClauses:n}},G=e=>e.anchorMessageId!==void 0||!e.literalClauses.some(t=>t.field==="HasWords"),X="Can't count matches — “has the words” reads message bodies, which only a saved rule does.",Z=e=>JSON.stringify({anchor:e.anchorMessageId??null,operator:e.matchOperator,clauses:e.literalClauses.map(t=>`${t.field} ${t.value}`)}),ge=(e,t)=>{const r=V(e,t);return{...r.anchorMessageId?{anchorMessageId:r.anchorMessageId}:{},matchOperator:r.matchOperator,literalClauses:r.literalClauses,moveMailboxId:e.moveMailboxId,labelId:e.labelId,expiresAt:e.scope==="until"?D(e.until??""):void 0}},ee=(e,t)=>e.error!==void 0&&e.errorSignature===t?{status:"error",reason:e.error}:e.count===void 0?{status:"loading"}:e.previewedSignature===t?{status:"ready",count:e.count}:{status:"ready",count:e.count,stale:!0},te=350,L=e=>k({path:{accountId:e}}),be=e=>{const t=I({...F({path:{accountId:e??""}}),enabled:!!e});return{filters:t.data?.items??[],isPending:t.isPending,isError:t.isError,error:t.error,refetch:t.refetch}},ve=e=>{const t=N(),r=y({...R(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:L(e)})}}),{mutate:n,mutateAsync:i}=r,s=l.useCallback((o,m,u)=>{e&&n({path:{accountId:e},body:E(o,m,u)})},[e,n]),a=l.useCallback(async(o,m,u)=>e?i({path:{accountId:e},body:E(o,m,u)}).then(()=>!0,()=>!1):!1,[e,i]);return{createFilter:s,createFilterAsync:a,isPending:r.isPending,isSuccess:r.isSuccess,isError:r.isError,error:r.error,reset:r.reset}},Se=e=>{const t=N(),r=y({...z(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:L(e)})}}),{mutate:n}=r;return{deleteFilter:l.useCallback(s=>{e&&n({path:{accountId:e,filterId:s}})},[e,n]),isPending:r.isPending,deletingFilterId:r.isPending?r.variables?.path.filterId:void 0}},re=new Set(["Complete","Failed"]),A=e=>e!==void 0&&re.has(e),se=1e3,ne=15e3,ae=e=>{const t=Math.max(0,e),r=se*2**t;return Math.min(r,ne)},Me=e=>{const[t,r]=l.useState(),n=y({..._(),onSuccess:p=>r(p.organizeJobId)}),{mutate:i}=n,s=I({...j({path:{accountId:e??"",organizeJobId:t??""}}),enabled:!!e&&!!t,refetchInterval:p=>{const d=p.state.data?.state;return A(d)?!1:ae(p.state.dataUpdateCount)}}),a=l.useCallback(p=>{e&&(r(void 0),i({path:{accountId:e},body:P(p)}))},[e,i]),o=s.data,m=o?.state??n.data?.state,u=A(o?.state),g={state:m,matchedCount:o?.matchedCount??0,appliedCount:o?.appliedCount??0,failedCount:o?.failedCount??0,errorMessage:o?.errorMessage??""};return{start:a,progress:g,isStarting:n.isPending,isRunning:!!t&&!u,isDone:u,isError:n.isError||s.isError,error:n.error??s.error}},xe=(e,t,r)=>{const n=y(Y()),{mutateAsync:i}=n,s=Z(t),[a,o]=l.useState(()=>r===void 0?{}:{count:r,previewedSignature:s}),m=l.useRef(t);m.current=t;const u=l.useRef(s),g=G(t);return l.useEffect(()=>{if(!e||!g||s===a.previewedSignature||s===a.errorSignature)return;const p=setTimeout(()=>{const d=s;u.current=d,i({path:{accountId:e},body:P({...m.current})}).then(h=>{u.current===d&&o({count:h.matchedCount,matchedIds:h.messageIds,previewedSignature:d})}).catch(h=>{u.current===d&&o(M=>({...M,error:h instanceof Error?h.message:"Couldn't count matches.",errorSignature:d}))})},te);return()=>clearTimeout(p)},[e,g,s,a.previewedSignature,a.errorSignature,i]),g?{count:ee(a,s),matchedIds:a.previewedSignature===s?a.matchedIds??[]:[]}:{count:{status:"error",reason:X},matchedIds:[]}};export{oe as B,x as N,pe as S,q as a,P as b,xe as c,Me as d,ve as e,ge as f,fe as g,de as h,G as i,L as j,le as k,ue as l,be as m,he as n,me as o,D as p,Se as q,V as r,ce as u};
|