@remit/web-client-dist 0.0.210 → 0.0.211

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/assets/{ComposeBody-C1MCR27t.js → ComposeBody-wilPjdd4.js} +1 -1
  2. package/assets/{ConfirmDialog-QcTswzQ-.js → ConfirmDialog-DnD0wdBA.js} +1 -1
  3. package/assets/{ErrorState-Cmo4ZTs6.js → ErrorState-C-qt7L5W.js} +1 -1
  4. package/assets/{OnboardingWizard-BSrEytWI.js → OnboardingWizard-l2MGuA6A.js} +1 -1
  5. package/assets/{account-form-helpers-BhgxcoAH.js → account-form-helpers-DLSEfuIr.js} +1 -1
  6. package/assets/{accounts-QrBHG5tG.js → accounts-Dfc0mHNd.js} +1 -1
  7. package/assets/{advanced-BMNePWot.js → advanced-BRGBlcP1.js} +1 -1
  8. package/assets/{appearance-CU9bBTct.js → appearance-DRIFydFD.js} +1 -1
  9. package/assets/{avatar-DgcYp_pM.js → avatar-CypHN17J.js} +1 -1
  10. package/assets/{browser-ponyfill-lGuv4mvO.js → browser-ponyfill-u24dk4-T.js} +2 -2
  11. package/assets/{circle-check-BBWjCUW1.js → circle-check-j3DpmpuG.js} +1 -1
  12. package/assets/{download-C-1EE_SQ.js → download-BXnWFr8V.js} +1 -1
  13. package/assets/filters-Nc_ruyEv.js +1 -0
  14. package/assets/{flagged-FcT-rioJ.js → flagged-CZnIi_3J.js} +1 -1
  15. package/assets/{folder-DfiD-MRq.js → folder-jCYPM0QT.js} +1 -1
  16. package/assets/{folders-OU2093b6.js → folders-61znXSzG.js} +1 -1
  17. package/assets/{format-B6Elex-n.js → format-BWvUVmUm.js} +1 -1
  18. package/assets/index-BS3yS_rq.js +1 -0
  19. package/assets/{index-CXGHJejR.js → index-DBLtMQVY.js} +63 -63
  20. package/assets/{index-cYpNuQRY.css → index-DCLadAJi.css} +1 -1
  21. package/assets/{index-D4ZjGYRC.js → index-DV2XBUm3.js} +1 -1
  22. package/assets/{kbd-DCgPMOHu.js → kbd-Bm4kcOe_.js} +1 -1
  23. package/assets/{labels-GAWwN_t-.js → labels-DcW9D038.js} +1 -1
  24. package/assets/mail-BbUXwoQH.js +118 -0
  25. package/assets/move-targets-DR3SzEM3.js +1 -0
  26. package/assets/{onboarding-DC0PrXVA.js → onboarding-Dzbvu8rA.js} +1 -1
  27. package/assets/{senders-BmLxmMBw.js → senders-DLwjmx0M.js} +1 -1
  28. package/assets/settings-sSuMeOlB.js +1 -0
  29. package/assets/{settings-screen-WO-Vp8pt.js → settings-screen-DBuPiW9q.js} +1 -1
  30. package/assets/{shield-check-BHk04XRt.js → shield-check-DY-38rr6.js} +1 -1
  31. package/assets/{suggested-vips-B5ja8TGX.js → suggested-vips-BQZwMd5b.js} +1 -1
  32. package/assets/{useDebouncedValue-BmoFUmBJ.js → useDebouncedValue-C3why0DM.js} +1 -1
  33. package/assets/{useLabels-tLtNWBGc.js → useLabels-B9dNNhmU.js} +1 -1
  34. package/assets/useRulePreview-BZxifYYj.js +1 -0
  35. package/assets/{useSignature-DFRGRKMd.js → useSignature-mSu7RyMJ.js} +1 -1
  36. package/index.html +2 -2
  37. package/package.json +1 -1
  38. package/assets/filters-BMXg2C7T.js +0 -1
  39. package/assets/index-CyUKZqx0.js +0 -1
  40. package/assets/mail-Bj55HeZP.js +0 -118
  41. package/assets/move-targets-BuUh04if.js +0 -1
  42. package/assets/settings-A78oY7aJ.js +0 -1
  43. package/assets/useRulePreview-DJvFPUom.js +0 -1
@@ -1 +0,0 @@
1
- import{a4 as v,av as P,ak as h,ay as S,aR as T,cv as E,r as x,aW as d,al as _,cw as f}from"./index-CXGHJejR.js";const y={synced:"synced",failed:"failed"},F={uncategorized:"uncategorized",personal:"personal",newsletter:"newsletter",marketing:"marketing",automated:"automated",transactional:"transactional",social:"social"},X={MoveToInbox:"MoveToInbox",MoveToJunk:"MoveToJunk"},L=3e4,A=1e3,g="The folder couldn't be created on the mail server. Please try again.",C="The folder was created but the mail server hasn't confirmed it yet, so nothing was attached to it. It's in your folder list — try again in a moment.",N=(a,e)=>new Promise((t,s)=>{if(e?.aborted){s(e.reason);return}const o=setTimeout(()=>{e?.removeEventListener("abort",n),t()},a),n=()=>{clearTimeout(o),s(e?.reason)};e?.addEventListener("abort",n,{once:!0})});async function k({fetchMailboxes:a,mailboxId:e,signal:t,timeoutMs:s=L,pollIntervalMs:o=A,delay:n=N,now:r=Date.now}){const i=r()+s;for(;;){t?.throwIfAborted();const l=(await a()).find(u=>u.mailboxId===e);if(l?.syncStatus===y.synced)return l;if(l?.syncStatus===y.failed)throw new Error(g);if(r()>=i)throw new Error(C);await n(o,t)}}function w(a,e){const t=a.trim();return e?`${e.fullPath}${e.hierarchyDelimiter}${t}`:t}const M=(a,e)=>{const t=a.split(e);return t[0]?.toLowerCase()==="inbox"&&(t[0]="INBOX"),t.join(e)};function R({name:a,delimiter:e,parent:t,existingPaths:s}){const o=a.trim();if(o==="")return"Enter a folder name.";if(o.includes(e))return`A folder name can't contain "${e}".`;const n=M(w(o,t),e);if(s.some(i=>M(i,e)===n))return"A folder with that name already exists."}function Q(a){const e=v(),{data:t}=P(h({path:{accountId:a}})),s=S({...E(),onSuccess:()=>{e.invalidateQueries({queryKey:T({path:{accountId:a}})})}}),o=x.useRef(new Map);return{createFolder:x.useCallback(async(r,i)=>{const c=w(r);let l=o.current.get(c);if(!l){const m=t?.items??[],I=m[0]?.hierarchyDelimiter??"/",b=R({name:r,delimiter:I,existingPaths:m.map(O=>O.fullPath)});if(b)throw new Error(b);l=(await s.mutateAsync({path:{accountId:a},body:{fullPath:c,namespaceType:"personal"}})).mailboxId,o.current.set(c,l)}const u=await k({mailboxId:l,signal:i,fetchMailboxes:async()=>(await e.fetchQuery({...h({path:{accountId:a}}),staleTime:0})).items??[]});return o.current.delete(c),{id:u.mailboxId,label:d(u.fullPath)}},[s,a,t,e]),mutation:s}}const B=new Set(["outbox","postvak uit","boîte d'envoi","postausgang","buzón de salida","posta in uscita","送信トレイ","送件匣","发件箱","skrzynka nadawcza"]),D=a=>{const e=d(a.fullPath).trim().toLowerCase();return B.has(e)},p=f.length,$=(a,e=[])=>{const t=_(e);return[...a.filter(o=>{const n=t.get(o.mailboxId);return n==="drafts"||n==="sent"?!1:!D(o)})].sort((o,n)=>{const r=t.has(o.mailboxId)?f.indexOf(t.get(o.mailboxId)??"inbox"):p,i=t.has(n.mailboxId)?f.indexOf(t.get(n.mailboxId)??"inbox"):p;return r!==i?r-i:d(o.fullPath).localeCompare(d(n.fullPath),void 0,{sensitivity:"base",numeric:!0})})};export{F as M,X as P,$ as b,w as c,Q as u,R as v};
@@ -1 +0,0 @@
1
- import{j as t,bI as o}from"./index-CXGHJejR.js";const n=()=>t.jsx(o,{});export{n as component};
@@ -1 +0,0 @@
1
- import{r as g,j as M,b as T,cf as J,av as U,cg as K,a4 as Y,ay as E,ch as Q,ci as q,cj as V,ck as G,cl as X,b9 as Z}from"./index-CXGHJejR.js";const ee=320,te="cubic-bezier(0.32, 0.9, 0.3, 1)",ne=.5,re=.4,se=360;function ie(e){return Math.sign(e)*Math.sqrt(Math.abs(e))*4}function qe({open:e,onClose:t,children:n,dismissLabel:r="Dismiss"}){const s=g.useRef(null),[i,o]=g.useState(se),[u,h]=g.useState(null);g.useLayoutEffect(()=>{const a=s.current;if(!a)return;const c=()=>o(a.offsetHeight);c();const l=new ResizeObserver(c);return l.observe(a),()=>l.disconnect()},[]);const m=g.useRef(null),b=g.useCallback(a=>{a.currentTarget.setPointerCapture(a.pointerId),m.current={startY:a.clientY,lastY:a.clientY,lastT:a.timeStamp,velocity:0,moved:!1},h(0)},[]),C=g.useCallback(a=>{const c=m.current;if(!c)return;const l=a.timeStamp-c.lastT;l>0&&(c.velocity=(a.clientY-c.lastY)/l),c.lastY=a.clientY,c.lastT=a.timeStamp;const d=a.clientY-c.startY;Math.abs(d)>4&&(c.moved=!0);const A=d<0?ie(d):d;h(A)},[]),p=g.useCallback(()=>{const a=m.current;if(m.current=null,!a)return;const c=a.lastY-a.startY,d=a.velocity>ne||c>i*re;h(null),d&&t()},[i,t]),v=u!==null,S=e?u??0:i,x=Math.min(Math.max(1-S/i,0),1),f=v?"none":`transform ${ee}ms ${te}`;return M.jsxs("div",{className:T("absolute inset-0 z-40 select-none overflow-hidden",e||v?"":"pointer-events-none"),children:[M.jsx("button",{type:"button","aria-label":r,tabIndex:-1,onClick:t,className:T("absolute inset-0 bg-black/40",x>0?"pointer-events-auto":"pointer-events-none"),style:{opacity:x*.6,transition:f.replace("transform","opacity")}}),M.jsxs("div",{ref:s,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(${S}px)`,transition:f},children:[M.jsx("div",{role:"slider","aria-label":"Drag down to dismiss","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(x*100),tabIndex:0,onPointerDown:b,onPointerMove:C,onPointerUp:p,onPointerCancel:p,className:"flex cursor-grab touch-none justify-center pb-1 pt-2.5 active:cursor-grabbing",children:M.jsx("div",{className:"h-1 w-10 rounded-full bg-fg-subtle/40"})}),M.jsx("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:n})]})]})}function ae(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function oe(e,t){const n=e.length-t.length-2,r=e.lastIndexOf(".",n);return r===-1?e:e.slice(r+1)}function le(e,t,n){if(n.validHosts!==null){const s=n.validHosts;for(const i of s)if(ae(t,i))return i}let r=0;if(t.startsWith("."))for(;r<t.length&&t[r]===".";)r+=1;return e.length===t.length-r?null:oe(t,e)}const L=/[\t\n\r]/g;let P=!1;function k(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function R(e,t,n){const r=n-t,s=e.charCodeAt(t)|32;if(r===2)return s===119&&(e.charCodeAt(t+1)|32)===115?1:0;if(r===3){const i=e.charCodeAt(t+1)|32,o=e.charCodeAt(t+2)|32;return s===119&&i===115&&o===115||s===102&&i===116&&o===112?1:0}else if(r===4){const i=e.charCodeAt(t+1)|32,o=e.charCodeAt(t+2)|32,u=e.charCodeAt(t+3)|32;return s===104&&i===116&&o===116&&u===112?1:s===102&&i===105&&o===108&&u===101?2:0}else if(r===5)return s===104&&(e.charCodeAt(t+1)|32)===116&&(e.charCodeAt(t+2)|32)===116&&(e.charCodeAt(t+3)|32)===112&&(e.charCodeAt(t+4)|32)===115?1:0;return 0}function O(e,t,n=!1){let r=0,s=e.length,i=!1,o=!1;if(P=!1,!t){if(e.startsWith("data:"))return null;for(;r<e.length&&e.charCodeAt(r)<=32;)r+=1;for(;s>r+1&&e.charCodeAt(s-1)<=32;)s-=1;if(e.charCodeAt(r)===47&&e.charCodeAt(r+1)===47)r+=2;else{const f=e.indexOf(":/",r);if(f!==-1){const a=R(e,r,f);if(a===1)for(o=!0,r=f+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(a===2){o=!0,r=f+1;let c=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&c<2;)r+=1,c+=1;if(c<2)return null}else{for(let c=r;c<f;c+=1){const l=e.charCodeAt(c)|32;if(!(l>=97&&l<=122||l>=48&&l<=57||l===46||l===45||l===43)){const d=e.charCodeAt(c);return d===9||d===10||d===13?O(e.replace(L,""),t,n):null}}if(e.charCodeAt(f+2)===47)r=f+3;else return null}}else if(e.charCodeAt(r)!==91){let a=-1;for(let c=r;c<s;c+=1){const l=e.charCodeAt(c);if(l===9||l===10||l===13)return O(e.replace(L,""),t,n);if(l===58){a=c;break}if(l===47||l===92||l===63||l===35)break}if(a!==-1){let c=!1;for(let l=a+1;l<s;l+=1){const d=e.charCodeAt(l);if(d===47||d===92||d===63||d===35)break;if(d===64){c=!0;break}}if(!c){let l=!0,d=a+1;for(;d<s;d+=1){const A=e.charCodeAt(d);if(A===47||A===92||A===63||A===35)break;if(A<48||A>57){l=!1;break}}if(d===a+1&&(l=!1),!l){const A=R(e,r,a);if(A===0){let w=!1;for(let D=a+1;D<s;D+=1){const I=e.charCodeAt(D);if(I===47||I===92||I===63||I===35)break;if(I===58){w=!0;break}}if(!w)return null}else if(o=!0,r=a+1,A===2){let w=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&w<2;)r+=1,w+=1;if(w<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let h=-1,m=-1,b=-1,C=-1,p=!1,v=n,S=r-1,x=-1;if(n&&r<s){const f=e.charCodeAt(r);(!(k(f)||f===46||f===95)||f===45)&&(v=!1)}for(let f=r;f<s;f+=1){const a=e.charCodeAt(f);if(a<64)if(a===47||a===35||a===63){s=f;break}else a===58?(C===-1&&(C=f),b=f):a===9||a===10||a===13?p=!0:n&&(a===46?((f-S>64||x===46||x===45)&&(v=!1),S=f):(a<48||a>57)&&(a!==45||x===46)&&(v=!1));else if(o&&a===92){s=f;break}else a===64?(h=f,C=-1):a===93?m=f:a>=65&&a<=90?i=!0:n&&!k(a)&&(v=!1);n&&(x=a)}if(p)return O(e.replace(L,""),t,n);if(h!==-1&&h>=r&&h<s&&(r=h+1),e.charCodeAt(r)===91)return m!==-1?e.slice(r+1,m).toLowerCase():null;if(b!==-1&&b>r&&b<s&&C===b&&(s=b),r>=s)return null;n&&v&&h===-1&&b===-1&&m===-1&&e.charCodeAt(s-1)!==46&&s-r<=255&&s-S-1<=63&&x!==45&&(P=!0)}for(;s>r+1&&e.charCodeAt(s-1)===46;)s-=1;const u=r!==0||s!==e.length?e.slice(r,s):e;return i?u.toLowerCase():u}function ce(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){const r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function ue(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let r=!1;for(;t<n;t+=1){const s=e.charCodeAt(t);if(s===58)r=!0;else if(!(s>=48&&s<=57||s>=97&&s<=102||s>=65&&s<=70))return!1}return r}function fe(e){return ue(e)||ce(e)}function _(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function j(e){if(e.length>255||e.length===0||!_(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1;const r=e.length;for(let s=0;s<r;s+=1){const i=e.charCodeAt(s);if(i===46){if(s-t>64||n===46||n===45)return!1;t=s}else if(!(_(i)||i===45||i===95)||i===45&&n===46)return!1;n=i}return r-t-1<=63&&n!==45}function de({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,detectSpecialUse:r=!1,extractHostname:s=!0,mixedInputs:i=!0,validHosts:o=null,validateHostname:u=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,detectSpecialUse:r,extractHostname:s,mixedInputs:i,validHosts:o,validateHostname:u}}const he=de({});function me(e){return he}function pe(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function ge(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function be(e,t,n,r,s){const i=me();if(typeof e!="string")return s;let o=!1;return i.extractHostname?i.mixedInputs?(o=j(e),s.hostname=O(e,o,i.validateHostname)):s.hostname=O(e,!1,i.validateHostname):s.hostname=e,i.detectIp&&s.hostname!==null&&(s.isIp=fe(s.hostname),s.isIp)?s:i.validateHostname&&i.extractHostname&&s.hostname!==null&&!(o&&s.hostname===e)&&!P&&!j(s.hostname)?(s.hostname=null,s):(s.hostname===null||(n(s.hostname,i,s),s.publicSuffix===null)||(s.domain=le(s.publicSuffix,s.hostname,i)),s)}const z=pe();function Ce(e,t){return ge(z),be(e,3,J,t,z).domain}const F=e=>{const t=new Set,n=[];for(const r of e){const s=r.trim();if(s==="")continue;const i=s.toLowerCase();t.has(i)||(t.add(i),n.push(s))}return n},ve=e=>{const t=e.lastIndexOf("@");return t>=0?e.slice(t+1):e},Ae=e=>Ce(ve(e.trim())),xe=e=>{const t=F(e);if(t.length<2)return null;let n=null;for(const r of t){const s=Ae(r);if(s===null)return null;if(n===null)n=s;else if(n!==s)return null}return n},Se=e=>{const t=xe(e);return t!==null?[{field:"FromDomain",value:t}]:F(e).map(n=>({field:"From",value:n}))},we=/^\s*(?:(?:re|aw|fwd?|vs|sv|antw|res|enc|tr)\s*(?:\[\d+\])?\s*:|\[[^\]]{1,32}\])\s*/i,Me=e=>{let t=e.replace(/\s+/g," ").trim();for(;;){const n=t.replace(we,"");if(n===t)return t.trim();t=n}},Ie=new Set(["a","an","and","are","as","at","be","by","for","from","has","have","in","is","it","me","my","new","of","on","or","our","the","this","to","was","we","with","you","your"]),Oe=3,N=e=>e.split(" ").filter(t=>t!==""),H=e=>e.length===0||e.join(" ").length<Oe?!1:e.some(t=>!Ie.has(t.toLowerCase())),ye=(e,t)=>e.findIndex((n,r)=>t.every((s,i)=>e[r+i]?.toLowerCase()===s.toLowerCase())),Ee=e=>{const t=e.map(Me).filter(i=>i!=="");if(t.length===0)return;const[n,...r]=t;if(r.length===0)return H(N(n))?n:void 0;const s=N(n);for(let i=s.length;i>0;i-=1)for(let o=0;o+i<=s.length;o+=1){const u=s.slice(o,o+i);if(H(u)&&r.every(h=>ye(N(h),u)>=0))return u.join(" ")}},De=(e,t)=>{const n=Se(e);if(F(e).length===1||n.length===1&&n[0].field==="FromDomain")return n;const r=Ee(t);return r!==void 0?[{field:"Subject",value:r}]:n},Le=e=>{const[t,n]=g.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches);return g.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),s=i=>n(i.matches);return n(r.matches),r.addEventListener("change",s),()=>r.removeEventListener("change",s)},[e]),t},Ve=()=>Le("(min-width: 1024px)"),y="None",Ge=e=>!e.literalClauses.some(t=>t.field==="HasWords"),W=e=>({...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??y,actionMailboxId:e.moveMailboxId??y}),Ne=(e,t,n)=>({name:n,scope:t==="standing"?"Standing":"Temporary",...t==="temporary"&&e.expiresAt?{expiresAt:e.expiresAt}:{},matchOperator:e.matchOperator,literalClauses:e.literalClauses,actionLabelId:e.labelId??y,actionMailboxId:e.moveMailboxId??y,...e.anchorMessageId?{anchorMessageId:e.anchorMessageId}:{}}),Xe=(e,t)=>{if(e.state==="Expired")return"Expired";if(e.scope!=="Temporary"||!e.expiresAt)return"Active";const n=Date.parse(e.expiresAt);return Number.isNaN(n)?"Active":n<=t?"Expired":"Active"},Ze=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"})},Pe=(e,t=new Date)=>{if(!e)return;const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!n)return;const[,r,s,i]=n,o=new Date(Number(r),Number(s)-1,Number(i),23,59,59,0);if(Number.isNaN(o.getTime()))return;const u=-t.getTimezoneOffset(),h=u>=0?"+":"-",m=Math.abs(u),b=String(Math.floor(m/60)).padStart(2,"0"),C=String(m%60).padStart(2,"0"),p=v=>String(v).padStart(2,"0");return`${o.getFullYear()}-${p(o.getMonth()+1)}-${p(o.getDate())}T${p(o.getHours())}:${p(o.getMinutes())}:${p(o.getSeconds())}${h}${b}:${C}`},et=["From","Subject","HasWords","ListId","FromDomain"],Fe=e=>{const t=e.trim(),n=t.match(/<([^>]+)>/);return(n?n[1]:t).trim().toLowerCase()},tt=(e,t)=>e==="ListId"?Fe(t):t.trim(),Te=e=>e==="all"?"And":"Or",ke=e=>e?"properties":"similar",Re=(e,t)=>De(e,t).map((n,r)=>({id:`derived-${r}`,field:n.field,value:n.value,derived:!0})),_e=(e,t)=>{const n=t.keepClauses??[];if(e==="properties"){const r=Re(t.senders,t.subjects).filter(s=>!n.some(i=>i.field===s.field&&i.value===s.value));return{clauses:[...n,...r],matchOperator:n.length>0?t.currentOperator??"any":"any",widen:void 0}}return{clauses:n,matchOperator:n.length>0?t.currentOperator??"all":"all",widen:t.anchorMessageId?{anchorCount:Math.max(t.selectionCount,1)}:void 0}},nt=e=>{const t=e.seedScope??"once",n=e.matchMode??ke(e.semanticUnavailable);return{..._e(n,{anchorMessageId:e.anchorMessageId,senders:e.senders,subjects:e.subjects??[],selectionCount:e.selectionCount}),moveMailboxId:e.seedMailboxId,scope:t,name:""}},je=(e,t)=>{const n=e.widen!==void 0&&!e.widen.inactive,r=e.clauses.map(s=>({field:s.field,value:s.value}));return{...n&&t?{anchorMessageId:t}:{},matchOperator:Te(e.matchOperator),literalClauses:r}},ze=e=>e.anchorMessageId!==void 0||!e.literalClauses.some(t=>t.field==="HasWords"),He="Can't count matches — “has the words” reads message bodies, which only a saved rule does.",$e=e=>JSON.stringify({anchor:e.anchorMessageId??null,operator:e.matchOperator,clauses:e.literalClauses.map(t=>`${t.field} ${t.value}`)}),rt=(e,t)=>{const n=je(e,t);return{...n.anchorMessageId?{anchorMessageId:n.anchorMessageId}:{},matchOperator:n.matchOperator,literalClauses:n.literalClauses,moveMailboxId:e.moveMailboxId,labelId:e.labelId,expiresAt:e.scope==="until"?Pe(e.until??""):void 0}},Ue=(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},Ye=350,B=e=>q({path:{accountId:e}}),st=e=>{const t=U({...K({path:{accountId:e??""}}),enabled:!!e});return{filters:t.data?.items??[],isPending:t.isPending,isError:t.isError,error:t.error,refetch:t.refetch}},it=e=>{const t=Y(),n=E({...V(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:B(e)})}}),{mutate:r}=n;return{createFilter:g.useCallback((i,o,u)=>{e&&r({path:{accountId:e},body:Ne(i,o,u)})},[e,r]),isPending:n.isPending,isSuccess:n.isSuccess,isError:n.isError,error:n.error,reset:n.reset}},at=e=>{const t=Y(),n=E({...Q(),onSuccess:()=>{e&&t.invalidateQueries({queryKey:B(e)})}}),{mutate:r}=n;return{deleteFilter:g.useCallback(i=>{e&&r({path:{accountId:e,filterId:i}})},[e,r]),isPending:n.isPending,deletingFilterId:n.isPending?n.variables?.path.filterId:void 0}},We=new Set(["Complete","Failed"]),$=e=>e!==void 0&&We.has(e),Be=1e3,Je=15e3,Ke=e=>{const t=Math.max(0,e),n=Be*2**t;return Math.min(n,Je)},ot=e=>{const[t,n]=g.useState(),r=E({...G(),onSuccess:C=>n(C.organizeJobId)}),{mutate:s}=r,i=U({...X({path:{accountId:e??"",organizeJobId:t??""}}),enabled:!!e&&!!t,refetchInterval:C=>{const p=C.state.data?.state;return $(p)?!1:Ke(C.state.dataUpdateCount)}}),o=g.useCallback(C=>{e&&(n(void 0),s({path:{accountId:e},body:W(C)}))},[e,s]),u=i.data,h=u?.state??r.data?.state,m=$(u?.state),b={state:h,matchedCount:u?.matchedCount??0,appliedCount:u?.appliedCount??0,failedCount:u?.failedCount??0,errorMessage:u?.errorMessage??""};return{start:o,progress:b,isStarting:r.isPending,isRunning:!!t&&!m,isDone:m,isError:r.isError||i.isError,error:r.error??i.error}},lt=(e,t,n)=>{const r=E(Z()),{mutateAsync:s}=r,i=$e(t),[o,u]=g.useState(()=>n===void 0?{}:{count:n,previewedSignature:i}),h=g.useRef(t);h.current=t;const m=g.useRef(i),b=ze(t);return g.useEffect(()=>{if(!e||!b||i===o.previewedSignature||i===o.errorSignature)return;const C=setTimeout(()=>{const p=i;m.current=p,s({path:{accountId:e},body:W({...h.current})}).then(v=>{m.current===p&&u({count:v.matchedCount,previewedSignature:p})}).catch(v=>{m.current===p&&u(S=>({...S,error:v instanceof Error?v.message:"Couldn't count matches.",errorSignature:p}))})},Ye);return()=>clearTimeout(C)},[e,b,i,o.previewedSignature,o.errorSignature,s]),b?Ue(o,i):{status:"error",reason:He}};export{qe as B,y as N,et as S,Le as a,W as b,lt as c,ot as d,it as e,rt as f,Se as g,F as h,ze as i,ke as j,nt as k,Ge as l,_e as m,tt as n,B as o,Pe as p,Xe as q,je as r,Ae as s,Ze as t,Ve as u,st as v,at as w};