@remit/web-client-dist 0.0.471 → 0.0.473
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-CwqrjWtv.js → BriefPane-D8XcPkpa.js} +1 -1
- package/assets/{ErrorState-D3oe_tlf.js → ErrorState-B-TyGtnv.js} +1 -1
- package/assets/{FlaggedPane-WAOcVVP7.js → FlaggedPane-8HyRRL31.js} +1 -1
- package/assets/{FullCompose-CdEkdUvL.js → FullCompose-ByaMPmqI.js} +1 -1
- package/assets/{MailListHeader-SZ3JL9o4.js → MailListHeader-BQERIY5-.js} +1 -1
- package/assets/{MailShell-C8dTGE5z.js → MailShell-LyqavEzf.js} +1 -1
- package/assets/{MailViewChrome-BeuGofzJ.js → MailViewChrome-DpmAsouQ.js} +1 -1
- package/assets/{MailboxPane-e3CjNbBi.js → MailboxPane-YnzGquc3.js} +1 -1
- package/assets/{NavMenuButton-C3QI2gvc.js → NavMenuButton-Cqyg1jPy.js} +1 -1
- package/assets/{OnboardingWizard-Dub6nXm7.js → OnboardingWizard-CAwwRA-O.js} +1 -1
- package/assets/{OutboxPane-BAu4hQ_x.js → OutboxPane-ZfVoY4Jk.js} +1 -1
- package/assets/_mailboxId-D0gw6THC.js +1 -0
- package/assets/_messageId-BcroPlFr.js +1 -0
- package/assets/_messageId-BvuPS-gd.js +1 -0
- package/assets/_messageId-PDIR8QSi.js +1 -0
- package/assets/_outboxMessageId-Bl2gNU6j.js +1 -0
- package/assets/_threadId-BaYj7739.js +1 -0
- package/assets/_threadId-BpgwMUT8.js +1 -0
- package/assets/_threadId-alQnvczb.js +1 -0
- package/assets/{accounts-CyiQ81mt.js → accounts-CB-Ka1jc.js} +1 -1
- package/assets/{advanced-B3Iue5YW.js → advanced-QqXvVRaA.js} +1 -1
- package/assets/{appearance-BYDQsmcu.js → appearance-Dz28bGBT.js} +1 -1
- package/assets/{attachment-file-D_nrcDp5.js → attachment-file-CFJUf2tg.js} +1 -1
- package/assets/{avatar-CMf1zN--.js → avatar-BDHcDa30.js} +1 -1
- package/assets/{bottom-sheet-BJTnY1V1.js → bottom-sheet-wVvUgp48.js} +1 -1
- package/assets/{brief-Clny_EED.js → brief-BdGTbyAT.js} +1 -1
- package/assets/brief-Bts2kLc5.js +1 -0
- package/assets/{browser-ponyfill-BTsyUQ0k.js → browser-ponyfill-_ox2EPgt.js} +1 -1
- package/assets/{bug-DRrJgBdK.js → bug-C1F21TGl.js} +1 -1
- package/assets/{circle-check-CjnBbI0B.js → circle-check-DRnV3N8s.js} +1 -1
- package/assets/{circle-check-big-B0H5v0-9.js → circle-check-big-EHa5sQL4.js} +1 -1
- package/assets/{circle-help-g1T5t1nR.js → circle-help-DKWMMkCi.js} +1 -1
- package/assets/{clock-DaHwYK8D.js → clock-D1S7iXf5.js} +1 -1
- package/assets/compose._-_outboxMessageId_-5vnAZeAi.js +1 -0
- package/assets/compose._-_outboxMessageId_-B1n698ZT.js +1 -0
- package/assets/compose._-_outboxMessageId_-DGmlSLWz.js +1 -0
- package/assets/compose._-_outboxMessageId_-DvvVujHr.js +1 -0
- package/assets/{confirm-dialog-BkoAl9gB.js → confirm-dialog-BhgWS7WV.js} +1 -1
- package/assets/{download-TFI4pzfR.js → download-DzGT81Ve.js} +1 -1
- package/assets/{filters-Vv_AFqgL.js → filters-BZ9Cu1Pm.js} +1 -1
- package/assets/flagged-DWegmYgO.js +1 -0
- package/assets/{flagged-Dy16t4ox.js → flagged-vS8r7QOw.js} +1 -1
- package/assets/{folders-BXxp1dD7.js → folders-C6kmi3V7.js} +1 -1
- package/assets/{format-CcRmBpJO.js → format-B6xjveuF.js} +1 -1
- package/assets/{help-copy-DWsqsR5E.js → help-copy-BibJkzGI.js} +1 -1
- package/assets/index-29ahq66_.js +1 -0
- package/assets/index-B-U6-20d.js +1 -0
- package/assets/index-BcroPlFr.js +1 -0
- package/assets/{index-mhR_VB9F.js → index-BdawJdUy.js} +3 -3
- package/assets/{index-DJMjg4fz.js → index-Bo5_ESN9.js} +4 -4
- package/assets/index-CISG1G8c.js +1 -0
- package/assets/index-CSAcj3TC.js +1 -0
- package/assets/index-CUKuYwjF.js +1 -0
- package/assets/index-PDIR8QSi.js +1 -0
- package/assets/index-kHoAL9Uk.js +1 -0
- package/assets/{kbd-sNK1Xrly.js → kbd-DgsMdIkw.js} +1 -1
- package/assets/{labels-BuxiLVZ7.js → labels-DCvYiij4.js} +1 -1
- package/assets/{mail-CeLxWcVW.js → mail-CcXo8aLV.js} +1 -1
- package/assets/{mail-detFBCcF.js → mail-CxLgNXxn.js} +1 -1
- package/assets/{menu-KxvIGRHx.js → menu-LZADhbPN.js} +1 -1
- package/assets/{onboarding-BGPP3_U5.js → onboarding-BR8BdXY0.js} +1 -1
- package/assets/outbox-B2CqKcS3.js +1 -0
- package/assets/{pencil-Cvd6XvvU.js → pencil-B9DykuH-.js} +1 -1
- package/assets/{rich-text-BV9oNplV.js → rich-text-CAI_lLTk.js} +1 -1
- package/assets/{rich-text-spellcheck-worker-provider-DIWNGlxe.js → rich-text-spellcheck-worker-provider-zhDCgosP.js} +1 -1
- package/assets/{rotate-ccw-Dx1pVEt2.js → rotate-ccw-DKWjimGU.js} +1 -1
- package/assets/{row-actions-DyGYoB3q.js → row-actions-BuYbTx3y.js} +1 -1
- package/assets/{search-mirror-DgQeQ0WX.js → search-mirror-DaMS8_2z.js} +1 -1
- package/assets/{search-token-index-DKZUQMvP.js → search-token-index-DDWMHF28.js} +1 -1
- package/assets/{senders-BPqWYlBO.js → senders-B1mPYdzz.js} +1 -1
- package/assets/settings-4lzOPQVZ.js +1 -0
- package/assets/{settings-screen-DP_JVlJ2.js → settings-screen-5oEC67FN.js} +1 -1
- package/assets/{shield-check-B5KZcgMN.js → shield-check-BUK5YE8w.js} +1 -1
- package/assets/{suggested-vips-BZxorLE2.js → suggested-vips-qNBbILM9.js} +1 -1
- package/assets/{useDebouncedValue-BFQHqzb4.js → useDebouncedValue-Dr6cbOvR.js} +1 -1
- package/assets/{useFilters-CM54PzZK.js → useFilters-_76PAAny.js} +1 -1
- package/assets/{useLabels-d5tpq-Sg.js → useLabels-DIDscqB5.js} +1 -1
- package/assets/{useMessageBodyContent-FfTCKzbu.js → useMessageBodyContent-CTi-SWP0.js} +1 -1
- package/assets/{useQueries-Fg1Cdd8b.js → useQueries-Bjr1vtmS.js} +1 -1
- package/assets/{useRefreshControl-COgIhJfy.js → useRefreshControl-cT50Elxa.js} +1 -1
- package/assets/{useSearchTokenContext-4-M-CKaf.js → useSearchTokenContext-DZo7v2e1.js} +1 -1
- package/assets/{useSemanticSearch-CN98aHzI.js → useSemanticSearch-BqKWiLiD.js} +1 -1
- package/assets/{useSignature-ePDUxCu8.js → useSignature-BOJxrA2T.js} +1 -1
- package/index.html +1 -1
- package/package.json +1 -1
- package/assets/_mailboxId-CSHKfZOG.js +0 -1
- package/assets/_messageId-G-QMCgWq.js +0 -1
- package/assets/_messageId-YcaRwufx.js +0 -1
- package/assets/_messageId-nfiQoGbB.js +0 -1
- package/assets/_outboxMessageId-DOgxMRRm.js +0 -1
- package/assets/_threadId-Botqlf7A.js +0 -1
- package/assets/_threadId-BzCbG-fE.js +0 -1
- package/assets/_threadId-CLAGDY7l.js +0 -1
- package/assets/brief-Dx7IQbzp.js +0 -1
- package/assets/compose._-_outboxMessageId_-Cvdubpad.js +0 -1
- package/assets/compose._-_outboxMessageId_-DuVS2S6B.js +0 -1
- package/assets/compose._-_outboxMessageId_-Dxz_IQvq.js +0 -1
- package/assets/compose._-_outboxMessageId_-Yja2OY-k.js +0 -1
- package/assets/flagged-DRZQOHKl.js +0 -1
- package/assets/index-0eXATK4R.js +0 -1
- package/assets/index-B99pV0ii.js +0 -1
- package/assets/index-BtEshiwN.js +0 -1
- package/assets/index-C8QSk3zh.js +0 -1
- package/assets/index-Clig2KgL.js +0 -1
- package/assets/index-DkWcGEpd.js +0 -1
- package/assets/index-G-QMCgWq.js +0 -1
- package/assets/index-YcaRwufx.js +0 -1
- package/assets/outbox-CfOc6Ci4.js +0 -1
- package/assets/settings-Bhcz7vAb.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-spellcheck-worker-provider-
|
|
2
|
-
import{j as m,X as Dr,b as Ar,B as on,as as Or,f as Nr,T as kr,r as s,ch as Pr,ci as Ir,C as Ln,ag as Lr,cj as Mr,d as _r,ck as jr,cl as Zt,bE as Mn,cm as be,cn as _n,co as Fr,a1 as jn,c8 as $r,w as Br,ak as bt,cp as Et,cq as Hr,cr as Wr,E as Ur,D as St,by as Vr,cs as Fn,aT as zr,aU as qr,a2 as $n,ct as Kr,ai as Yr,cu as Gr,cv as an,cw as Xr,bK as Pt,cx as Qr,al as Zr,bD as Jr,aj as eo,cy as to,b5 as no,cz as ro,ah as C}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rich-text-spellcheck-worker-provider-zhDCgosP.js","assets/index-Bo5_ESN9.js","assets/index-OWhz0EKb.css","assets/rich-text-spellcheck-provider-J8m9wz6A.js","assets/rich-text-CAI_lLTk.js","assets/confirm-dialog-BhgWS7WV.js","assets/bottom-sheet-wVvUgp48.js","assets/attachment-file-CFJUf2tg.js","assets/useMessageBodyContent-CTi-SWP0.js","assets/useSignature-BOJxrA2T.js","assets/account-form-helpers-DhckT_PN.js","assets/useDebouncedValue-Dr6cbOvR.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{j as m,X as Dr,b as Ar,B as on,as as Or,f as Nr,T as kr,r as s,ch as Pr,ci as Ir,C as Ln,ag as Lr,cj as Mr,d as _r,ck as jr,cl as Zt,bE as Mn,cm as be,cn as _n,co as Fr,a1 as jn,c8 as $r,w as Br,ak as bt,cp as Et,cq as Hr,cr as Wr,E as Ur,D as St,by as Vr,cs as Fn,aT as zr,aU as qr,a2 as $n,ct as Kr,ai as Yr,cu as Gr,cv as an,cw as Xr,bK as Pt,cx as Qr,al as Zr,bD as Jr,aj as eo,cy as to,b5 as no,cz as ro,ah as C}from"./index-Bo5_ESN9.js";import{d as oo}from"./useMessageBodyContent-CTi-SWP0.js";import{u as ao}from"./useSignature-BOJxrA2T.js";import{b as so}from"./account-form-helpers-DhckT_PN.js";import{u as io}from"./useDebouncedValue-Dr6cbOvR.js";const co=({email:e,displayName:t,onRemove:n,className:r})=>m.jsxs("span",{className:Ar("inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-accent-2-soft text-sm max-w-[200px]",r),children:[m.jsx("span",{className:"truncate",children:t||e}),m.jsx("button",{type:"button",onClick:n,className:"shrink-0 p-0.5 rounded-full hover:bg-fg-muted/20 transition-colors","aria-label":`Remove ${e}`,children:m.jsx(Dr,{className:"size-3"})})]}),uo=({save:e})=>e.status==="saving"?m.jsx("output",{className:"animate-pulse text-xs text-fg-muted",children:"Saving..."}):e.status==="saved"?m.jsx("output",{className:"text-xs text-fg-muted",children:"Draft saved"}):e.status==="error"?m.jsx("output",{className:"text-xs text-danger",children:"Save failed"}):e.status==="unsaved"?m.jsx("output",{className:"truncate text-xs text-warning",children:e.reason}):null;function lo({send:e,onSend:t,onBlocked:n,onDiscard:r,save:o={status:"idle"}}){const a=e.status==="sending",i=e.status==="blocked"?e.reason:void 0;return m.jsxs("div",{className:"flex items-center justify-between border-t border-line px-3 py-2",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[m.jsx(on,{variant:"primary",size:"md","aria-busy":a,title:i,className:"min-h-11 shrink-0 rounded-full px-4","data-testid":"compose-send",icon:a?m.jsx(Or,{className:"size-4 animate-spin"}):m.jsx(Nr,{className:"size-4"}),onClick:()=>{if(!a){if(i!==void 0){n(i);return}t()}},children:"Send"}),m.jsx(uo,{save:o})]}),m.jsx(on,{variant:"ghost",size:"md","aria-busy":a,"aria-label":"Discard",className:"min-h-11 min-w-11 px-2 hover:text-danger",icon:m.jsx(kr,{className:"size-4"}),onClick:()=>{a||r()}})]})}const sn=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim()),fo=e=>{const t=e.trim();if(!t)return;const n=t.match(/^(.+?)\s*<([^>]+)>$/);if(n){const r=n[1].trim().replace(/^"(.*)"$/,"$1"),o=n[2].trim();if(sn(o))return{email:o,displayName:r}}if(sn(t))return{email:t}},mo=e=>{const t=[];let n="",r=!1,o=!1;for(const a of e){if(a==='"'&&(r=!r),a==="<"&&(o=!0),a===">"&&(o=!1),(a===","||a===";")&&!r&&!o){t.push(n),n="";continue}n+=a}return t.push(n),t},po=e=>{const t=[],n=[];for(const r of mo(e)){const o=fo(r);if(o){t.push(o);continue}r.trim()&&n.push(r.trim())}return{entries:t,unparsed:n.join(", ")}},ho=["Tab",","],vo=150,go=({label:e,addresses:t,onChange:n,placeholder:r,suggestions:o=[],onQueryChange:a,onPendingChange:i,ref:c})=>{const[p,f]=s.useState(""),l=s.useRef(null),u=s.useMemo(()=>po(p),[p]);s.useEffect(()=>{i?.(u)},[u,i]);const h=s.useRef(void 0),y=s.useCallback(()=>{h.current!==void 0&&(clearTimeout(h.current),h.current=void 0)},[]);s.useEffect(()=>y,[y]);const x=new Set(t.map(w=>w.email.toLowerCase())),d=p.length>=2?o.filter(w=>!x.has(w.email.toLowerCase())):[],E=s.useCallback(w=>{f(w),a?.(w)},[a]),b=s.useCallback(w=>{y(),!x.has(w.email.toLowerCase())&&(n([...t,w]),E(""))},[t,x,n,E,y]),T=s.useCallback(w=>{n(t.filter((_,R)=>R!==w))},[t,n]),g=s.useCallback(w=>{b(w),l.current?.focus()},[b]),v=s.useCallback(()=>{if(y(),u.entries.length===0)return{addresses:t,unparsed:u.unparsed};const w=new Set(x),_=[...t];for(const R of u.entries){const W=R.email.toLowerCase();w.has(W)||(w.add(W),_.push(R))}return n(_),E(u.unparsed),{addresses:_,unparsed:u.unparsed}},[u,t,x,n,E,y]),D=s.useCallback(()=>{y(),E("")},[E,y]);s.useImperativeHandle(c,()=>({commitPending:v,clearPending:D}),[v,D]);const M=s.useRef(v);s.useEffect(()=>{M.current=v},[v]);const S=Pr({count:d.length,acceptKeys:ho,onAccept:w=>g(d[w])}),O=s.useMemo(()=>d.map(w=>({value:w.email,label:w.displayName??w.email,...w.displayName?{hint:w.email}:{}})),[d]),N=s.useCallback(w=>{if(w.key==="Backspace"&&p===""&&t.length>0){T(t.length-1);return}S.handleKeyDown(w)||(w.key==="Enter"||w.key==="Tab"||w.key===",")&&p.trim()&&(w.preventDefault(),v())},[p,t.length,T,S.handleKeyDown,v]),F=s.useCallback(()=>{y(),h.current=setTimeout(()=>{h.current=void 0,M.current(),S.dismiss()},vo)},[y,S.dismiss]);return m.jsxs("div",{className:"relative","data-address-field":e,children:[m.jsxs("div",{className:"flex items-start gap-2",children:[m.jsxs("label",{htmlFor:`address-field-${e}`,className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:[e,":"]}),m.jsxs("div",{className:"flex-1 flex flex-wrap items-center gap-1 min-h-[36px] px-2 py-1 border rounded-md bg-canvas cursor-text",onClick:()=>l.current?.focus(),onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&l.current?.focus()},children:[t.map((w,_)=>m.jsx(co,{email:w.email,displayName:w.displayName,onRemove:()=>T(_)},w.email)),m.jsx("input",{ref:l,id:`address-field-${e}`,type:"text",value:p,onChange:w=>{S.reopen(),E(w.target.value)},onKeyDown:N,onBlur:F,placeholder:t.length===0?r:"",className:"flex-1 min-w-[120px] bg-transparent outline-none text-sm py-0.5",autoComplete:"off",...S.comboboxProps})]})]}),S.open&&m.jsx(Ir,{id:S.listId,suggestions:O,activeIndex:S.activeIndex,optionId:S.optionId,onPick:w=>{const _=d.find(R=>R.email===w.value);_&&g(_)},onHighlight:S.setActiveIndex,label:`${e} suggestions`,className:"absolute left-12 right-0 z-50 mt-1 max-h-[200px] shadow-lg"})]})},yo=()=>m.jsxs("div",{"aria-hidden":"true","data-testid":"compose-body-skeleton",className:"min-h-[120px] px-3 py-2",children:[m.jsx("div",{className:"mb-2 h-8 animate-pulse rounded bg-surface-sunken"}),m.jsx("div",{className:"min-h-[80px] animate-pulse rounded bg-surface-sunken/50"})]});function wo({banner:e,header:t,children:n,quoted:r,actionBar:o,layout:a="fill"}){const i=a==="fill";return m.jsxs("div",{className:i?"flex h-full min-h-0 flex-col":"flex flex-col",children:[e,t,m.jsxs("div",{className:i?"flex min-h-0 flex-1 flex-col overflow-auto":"flex flex-col","data-testid":"compose-body-area",children:[n,r&&m.jsx("div",{className:"shrink-0 px-3 pb-2",children:r})]}),i?o:m.jsx("div",{className:"sticky bottom-0 z-10 bg-canvas",children:o})]})}const It=({label:e,onClick:t})=>m.jsx("button",{type:"button",onClick:t,className:"text-xs text-fg-muted hover:text-fg transition-colors",children:e}),bo=({to:e,cc:t,bcc:n,subject:r})=>{const o=[];return e.length>0&&o.push(`To: ${e.map(a=>a.displayName??a.email).join(", ")}`),t.length>0&&o.push(`Cc: ${t.length}`),n.length>0&&o.push(`Bcc: ${n.length}`),r&&o.push(r),o.join(" · ")},Eo=({collapsed:e=!1,summary:t="",onExpand:n,from:r,to:o,cc:a,bcc:i,subject:c,onShowCc:p,onShowBcc:f})=>e?m.jsxs("button",{type:"button",onClick:n,"aria-label":"Show recipients and subject",className:"flex min-h-11 w-full items-center gap-2 overflow-hidden border-b border-line px-3 py-1.5 text-left transition-colors hover:bg-surface-sunken","data-testid":"compose-header-collapsed",children:[m.jsx("span",{className:"truncate text-xs text-fg-muted",children:t||"…"}),m.jsx(Ln,{className:"ml-auto size-4 shrink-0 text-fg-muted","aria-hidden":"true"})]}):m.jsxs("div",{className:"space-y-1 px-3 py-2 border-b border-line",children:[r,o,a??m.jsxs("div",{className:"flex gap-2 pl-14",children:[m.jsx(It,{label:"Cc",onClick:p}),m.jsx(It,{label:"Bcc",onClick:f})]}),a&&!i&&m.jsx("div",{className:"pl-14",children:m.jsx(It,{label:"Bcc",onClick:f})}),i,c]}),Kt="This account can't send mail until SMTP is configured.",So=({onConfigure:e,configureRef:t})=>m.jsxs("div",{role:"alert","data-testid":"compose-smtp-missing-banner",className:"flex items-start gap-3 border-b border-warning/50 bg-warning/10 px-3 py-2",children:[m.jsx(Lr,{className:"size-5 shrink-0 mt-0.5 text-warning","aria-hidden":"true"}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("p",{className:"text-sm font-medium text-warning",children:Kt}),m.jsxs("button",{ref:t,type:"button",onClick:e,"data-testid":"compose-smtp-configure",className:"mt-1 inline-flex items-center gap-1 text-xs font-medium text-warning hover:underline",children:["Configure SMTP",m.jsx(Mr,{className:"size-3","aria-hidden":"true"})]})]})]}),xo=({value:e,onChange:t})=>m.jsxs("div",{className:"flex items-start gap-2",children:[m.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"Subj:"}),m.jsx("input",{type:"text",value:e,onChange:n=>t(n.target.value),className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",placeholder:"Subject","data-subject-field":!0})]}),Co=({text:e,html:t,senderName:n,date:r})=>{const[o,a]=s.useState(!1);if(!e&&!t)return null;const i=[n,r].filter(Boolean).join(" on ");return m.jsxs("div",{className:"mt-2 px-3 pb-2",children:[m.jsxs("button",{type:"button",onClick:()=>a(!o),"aria-expanded":o,className:"flex items-center gap-1 text-xs text-fg-muted hover:text-fg transition-colors",children:[o?m.jsx(Ln,{className:"size-3"}):m.jsx(_r,{className:"size-3"}),i?`${i} wrote:`:"Show quoted text"]}),o&&m.jsx("blockquote",{className:"mt-2 pl-3 border-l-2 border-fg-subtle/30 text-sm text-fg-muted [&_a]:text-accent [&_a]:underline [&_blockquote]:pl-3 [&_blockquote]:border-l-2 [&_blockquote]:border-fg-subtle/30",children:t?m.jsx("div",{dangerouslySetInnerHTML:{__html:t}}):e.split(`
|
|
3
3
|
`).map((c,p)=>m.jsx("p",{className:"min-h-[1.2em]",children:c},p))})]})},Ro=["p","br","div","h1","h2","h3","h4","h5","h6","strong","b","em","i","u","s","ul","ol","li","blockquote","pre","code","hr","table","thead","tbody","tr","th","td","a","img"],To=["href","src","alt","colspan","rowspan","lang","dir"],Do=/^(?:https?:|mailto:)/i,Ao=/^(?:https:|data:image\/)/i,Oo="max-width:100%;height:auto",No=e=>{const t=jr();if(!t.isSupported)throw new Error("adopted HTML cannot be sanitized: no DOM is available");return t.addHook("afterSanitizeAttributes",n=>{if(n.tagName==="A"){Do.test(n.getAttribute("href")??"")||n.removeAttribute("href"),e==="quoted"&&(n.setAttribute("target","_blank"),n.setAttribute("rel","noopener noreferrer nofollow"));return}if(n.tagName==="IMG"){if(e==="quoted"){n.remove();return}if(!Ao.test(n.getAttribute("src")??"")){n.remove();return}n.setAttribute("style",Oo)}}),t},cn=new Map,ko=e=>{const t=cn.get(e);if(t)return t;const n=No(e);return cn.set(e,n),n},Bn=(e,t)=>ko(t).sanitize(e,{ALLOWED_TAGS:Ro,ALLOWED_ATTR:To,ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1}),Ci=e=>Bn(e,"outgoing"),Po=e=>Bn(e,"quoted"),Io=e=>typeof e=="string"&&e.length>0?"rich":"plain",Ri=(e,t)=>t.length>0,Lo={plain:"Couldn't switch to plain text",rich:"Couldn't switch to rich text"},Ti=(e,t,n)=>t.trim()===""||n.trim()!==""?{outcome:"switch"}:{outcome:"blocked",title:Lo[e],detail:"The conversion came back empty, so your message is unchanged."};function Ee(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o||!o.defaultPrevented)return t?.(o)}}function un(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Mo(...e){return t=>{let n=!1;const r=e.map(o=>{const a=un(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){const a=r[o];typeof a=="function"?a():un(e[o],null)}}}}function ke(...e){return s.useCallback(Mo(...e),e)}function _o(e,t=[]){let n=[];function r(a,i){const c=s.createContext(i);c.displayName=a+"Context";const p=n.length;n=[...n,i];const f=u=>{const{scope:h,children:y,...x}=u,d=h?.[e]?.[p]||c,E=s.useMemo(()=>x,Object.values(x));return m.jsx(d.Provider,{value:E,children:y})};f.displayName=a+"Provider";function l(u,h,y={}){const{optional:x=!1}=y,d=h?.[e]?.[p]||c,E=s.useContext(d);if(E)return E;if(i!==void 0)return i;if(!x)throw new Error(`\`${u}\` must be used within \`${a}\``)}return[f,l]}const o=()=>{const a=n.map(i=>s.createContext(i));return function(c){const p=c?.[e]||a;return s.useMemo(()=>({[`__scope${e}`]:{...c,[e]:p}}),[c,p])}};return o.scopeName=e,[r,jo(o,...t)]}function jo(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){const i=r.reduce((c,{useScope:p,scopeName:f})=>{const u=p(a)[`__scope${f}`];return{...c,...u}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var Qe=globalThis?.document?s.useLayoutEffect:()=>{},Fo=Zt[" useInsertionEffect ".trim().toString()]||Qe;function $o({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,a,i]=Bo({defaultProp:t,onChange:n}),c=e!==void 0,p=c?e:o;{const l=s.useRef(e!==void 0);s.useEffect(()=>{const u=l.current;u!==c&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),l.current=c},[c,r])}const f=s.useCallback(l=>{if(c){const u=Ho(l)?l(e):l;u!==e&&i.current?.(u)}else a(l)},[c,e,a,i]);return[p,f]}function Bo({defaultProp:e,onChange:t}){const[n,r]=s.useState(e),o=s.useRef(n),a=s.useRef(t);return Fo(()=>{a.current=t},[t]),s.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function Ho(e){return typeof e=="function"}function Hn(e){const t=s.forwardRef((n,r)=>{let{children:o,...a}=n,i=null,c=!1;const p=[];ln(o)&&typeof lt=="function"&&(o=lt(o._payload)),s.Children.forEach(o,h=>{if(qo(h)){c=!0;const y=h;let x="child"in y.props?y.props.child:y.props.children;ln(x)&&typeof lt=="function"&&(x=lt(x._payload)),i=Uo(y,x),p.push(i?.props?.children)}else p.push(h)}),i?i=s.cloneElement(i,void 0,p):!c&&s.Children.count(o)===1&&s.isValidElement(o)&&(i=o);const f=i?zo(i):void 0,l=ke(r,f);if(!i){if(o||o===0)throw new Error(c?Xo(e):Go(e));return o}const u=Vo(a,i.props??{});return i.type!==s.Fragment&&(u.ref=r?l:f),s.cloneElement(i,u)});return t.displayName=`${e}.Slot`,t}var Wo=Symbol.for("radix.slottable"),Uo=(e,t)=>{if("child"in e.props){const n=e.props.child;return s.isValidElement(n)?s.cloneElement(n,void 0,e.props.children(n.props.children)):null}return s.isValidElement(t)?t:null};function Vo(e,t){const n={...t};for(const r in t){const o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...c)=>{const p=a(...c);return o(...c),p}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function zo(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function qo(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Wo}var Ko=Symbol.for("react.lazy");function ln(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ko&&"_payload"in e&&Yo(e._payload)}function Yo(e){return typeof e=="object"&&e!==null&&"then"in e}var Go=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Xo=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,lt=Zt[" use ".trim().toString()],Qo=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],me=Qo.reduce((e,t)=>{const n=Hn(`Primitive.${t}`),r=s.forwardRef((o,a)=>{const{asChild:i,...c}=o,p=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(p,{...c,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Zo(e,t){e&&Mn.flushSync(()=>e.dispatchEvent(t))}function Ze(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>((...n)=>t.current?.(...n)),[])}var Jo="DismissableLayer",Yt="dismissableLayer.update",ea="dismissableLayer.pointerDownOutside",ta="dismissableLayer.focusOutside",dn,Jt=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Wn=s.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:c,onDismiss:p,...f}=e,l=s.useContext(Jt),[u,h]=s.useState(null),y=u?.ownerDocument??globalThis?.document,[,x]=s.useState({}),d=ke(t,h),E=Array.from(l.layers),[b]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),T=b?E.indexOf(b):-1,g=u?E.indexOf(u):-1,v=l.layersWithOutsidePointerEventsDisabled.size>0,D=g>=T,M=s.useRef(!1),S=sa(w=>{a?.(w),c?.(w),w.defaultPrevented||p?.()},{ownerDocument:y,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:M,dismissableSurfaces:l.dismissableSurfaces,shouldHandlePointerDownOutside:s.useCallback(w=>{if(!(w instanceof Node))return!1;const _=[...l.branches].some(R=>R.contains(w));return D&&!_},[l.branches,D])}),O=ia(w=>{if(r&&M.current)return;const _=w.target;[...l.branches].some(W=>W.contains(_))||(i?.(w),c?.(w),w.defaultPrevented||p?.())},y),N=u?g===E.length-1:!1,F=Ze(w=>{w.key==="Escape"&&(o?.(w),!w.defaultPrevented&&p&&(w.preventDefault(),p()))});return s.useEffect(()=>{if(N)return y.addEventListener("keydown",F,{capture:!0}),()=>y.removeEventListener("keydown",F,{capture:!0})},[y,N,F]),s.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(dn=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),fn(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(u),l.layersWithOutsidePointerEventsDisabled.size===0&&(y.body.style.pointerEvents=dn))}},[u,y,n,l]),s.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),fn())},[u,l]),s.useEffect(()=>{const w=()=>x({});return document.addEventListener(Yt,w),()=>document.removeEventListener(Yt,w)},[]),m.jsx(me.div,{...f,ref:d,style:{pointerEvents:v?D?"auto":"none":void 0,...e.style},onFocusCapture:Ee(e.onFocusCapture,O.onFocusCapture),onBlurCapture:Ee(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:Ee(e.onPointerDownCapture,S.onPointerDownCapture)})});Wn.displayName=Jo;var na="DismissableLayerBranch",ra=s.forwardRef((e,t)=>{const n=s.useContext(Jt),r=s.useRef(null),o=ke(t,r);return s.useEffect(()=>{const a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),m.jsx(me.div,{...e,ref:o})});ra.displayName=na;function oa(){const e=s.useContext(Jt),[t,n]=s.useState(null);return s.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var aa=()=>!0;function sa(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:a,shouldHandlePointerDownOutside:i=aa}=t,c=Ze(e),p=s.useRef(!1),f=s.useRef(!1),l=s.useRef(new Map),u=s.useRef(()=>{});return s.useEffect(()=>{function h(){f.current=!1,o.current=!1,l.current.clear()}function y(){return Array.from(l.current.values()).some(Boolean)}function x(g){if(!f.current)return;const v=g.target;v instanceof Node&&[...a].some(M=>M.contains(v))||l.current.set(g.type,!0),g.type==="click"&&window.setTimeout(()=>{f.current&&u.current()},0)}function d(g){f.current&&l.current.set(g.type,!1)}const E=g=>{if(g.target&&!p.current){let v=function(){n.removeEventListener("click",u.current);const M=y();h(),M||Un(ea,c,D,{discrete:!0})};if(!i(g.target)){n.removeEventListener("click",u.current),h(),p.current=!1;return}const D={originalEvent:g};f.current=!0,o.current=r&&g.button===0,l.current.clear(),!r||g.button!==0?v():(n.removeEventListener("click",u.current),u.current=v,n.addEventListener("click",u.current,{once:!0}))}else n.removeEventListener("click",u.current),h();p.current=!1},b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const g of b)n.addEventListener(g,x,!0),n.addEventListener(g,d);const T=window.setTimeout(()=>{n.addEventListener("pointerdown",E)},0);return()=>{window.clearTimeout(T),n.removeEventListener("pointerdown",E),n.removeEventListener("click",u.current);for(const g of b)n.removeEventListener(g,x,!0),n.removeEventListener(g,d)}},[n,c,r,o,a,i]),{onPointerDownCapture:()=>p.current=!0}}function ia(e,t=globalThis?.document){const n=Ze(e),r=s.useRef(!1);return s.useEffect(()=>{const o=a=>{a.target&&!r.current&&Un(ta,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function fn(){const e=new CustomEvent(Yt);document.dispatchEvent(e)}function Un(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Zo(o,a):o.dispatchEvent(a)}var dt=0,je=null;function ca(){s.useEffect(()=>{je||(je={start:mn(),end:mn()});const{start:e,end:t}=je;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),dt++,()=>{dt===1&&(je?.start.remove(),je?.end.remove(),je=null),dt=Math.max(0,dt-1)}},[])}function mn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Lt="focusScope.autoFocusOnMount",Mt="focusScope.autoFocusOnUnmount",pn={bubbles:!1,cancelable:!0},ua="FocusScope",Vn=s.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[c,p]=s.useState(null),f=Ze(o),l=Ze(a),u=s.useRef(null),h=ke(t,p),y=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(r){let d=function(g){if(y.paused||!c)return;const v=g.target;c.contains(v)?u.current=v:we(u.current,{select:!0})},E=function(g){if(y.paused||!c)return;const v=g.relatedTarget;v!==null&&(c.contains(v)||we(u.current,{select:!0}))},b=function(g){if(document.activeElement===document.body)for(const D of g)D.removedNodes.length>0&&we(c)};document.addEventListener("focusin",d),document.addEventListener("focusout",E);const T=new MutationObserver(b);return c&&T.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",d),document.removeEventListener("focusout",E),T.disconnect()}}},[r,c,y.paused]),s.useEffect(()=>{if(c){vn.add(y);const d=document.activeElement;if(!c.contains(d)){const b=new CustomEvent(Lt,pn);c.addEventListener(Lt,f),c.dispatchEvent(b),b.defaultPrevented||(la(ha(zn(c)),{select:!0}),document.activeElement===d&&we(c))}return()=>{c.removeEventListener(Lt,f),setTimeout(()=>{const b=new CustomEvent(Mt,pn);c.addEventListener(Mt,l),c.dispatchEvent(b),b.defaultPrevented||we(d??document.body,{select:!0}),c.removeEventListener(Mt,l),vn.remove(y)},0)}}},[c,f,l,y]);const x=s.useCallback(d=>{if(!n&&!r||y.paused)return;const E=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,b=document.activeElement;if(E&&b){const T=d.currentTarget,[g,v]=da(T);g&&v?!d.shiftKey&&b===v?(d.preventDefault(),n&&we(g,{select:!0})):d.shiftKey&&b===g&&(d.preventDefault(),n&&we(v,{select:!0})):b===T&&d.preventDefault()}},[n,r,y.paused]);return m.jsx(me.div,{tabIndex:-1,...i,ref:h,onKeyDown:x})});Vn.displayName=ua;function la(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(we(r,{select:t}),document.activeElement!==n)return}function da(e){const t=zn(e),n=hn(t,e),r=hn(t.reverse(),e);return[n,r]}function zn(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function hn(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):fa(r,{upTo:t})))return r}function fa(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ma(e){return e instanceof HTMLInputElement&&"select"in e}function we(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&ma(e)&&t&&e.select()}}var vn=pa();function pa(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=gn(e,t),e.unshift(t)},remove(t){e=gn(e,t),e[0]?.resume()}}}function gn(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ha(e){return e.filter(t=>t.tagName!=="A")}var va=Zt[" useId ".trim().toString()]||(()=>{}),ga=0;function _t(e){const[t,n]=s.useState(va());return Qe(()=>{n(r=>r??String(ga++))},[e]),e||(t?`radix-${t}`:"")}var ya="Portal",qn=s.forwardRef((e,t)=>{const{container:n,...r}=e,[o,a]=s.useState(!1);Qe(()=>a(!0),[]);const i=n||o&&globalThis?.document?.body;return i?Mn.createPortal(m.jsx(me.div,{...r,ref:t}),i):null});qn.displayName=ya;function wa(e,t){return s.useReducer((n,r)=>t[n][r]??n,e)}var Ct=e=>{const{present:t,children:n}=e,r=ba(t),o=typeof n=="function"?n({present:r.isPresent}):s.Children.only(n),a=Ea(r.ref,Sa(o));return typeof n=="function"||r.isPresent?s.cloneElement(o,{ref:a}):null};Ct.displayName="Presence";function ba(e){const[t,n]=s.useState(),r=s.useRef(null),o=s.useRef(e),a=s.useRef("none"),i=s.useRef(void 0),c=e?"mounted":"unmounted",[p,f]=wa(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{p==="mounted"?(a.current=i.current??Ye(r.current),i.current=void 0):a.current="none"},[p]),Qe(()=>{const l=r.current,u=o.current;if(u!==e){const y=a.current,x=Ye(l);e?(i.current=x,f("MOUNT")):x==="none"||l?.display==="none"?f("UNMOUNT"):f(u&&y!==x?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,f]),Qe(()=>{if(t){let l;const u=t.ownerDocument.defaultView??window,h=x=>{const E=Ye(r.current).includes(CSS.escape(x.animationName));if(x.target===t&&E&&(f("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",l=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},y=x=>{x.target===t&&(a.current=Ye(r.current))};return t.addEventListener("animationstart",y),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{u.clearTimeout(l),t.removeEventListener("animationstart",y),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:s.useCallback(l=>{if(l){const u=getComputedStyle(l);r.current=u,i.current=Ye(u)}else r.current=null;n(l)},[])}}function yn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ea(...e){const t=s.useRef(e);return t.current=e,s.useCallback(n=>{const r=t.current;let o=!1;const a=r.map(i=>{const c=yn(i,n);return!o&&typeof c=="function"&&(o=!0),c});if(o)return()=>{for(let i=0;i<a.length;i++){const c=a[i];typeof c=="function"?c():yn(r[i],null)}}},[])}function Ye(e){return e?.animationName||"none"}function Sa(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var xa=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Fe=new WeakMap,ft=new WeakMap,mt={},jt=0,Kn=function(e){return e&&(e.host||Kn(e.parentNode))},Ca=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=Kn(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Ra=function(e,t,n,r){var o=Ca(t,Array.isArray(e)?e:[e]);mt[n]||(mt[n]=new WeakMap);var a=mt[n],i=[],c=new Set,p=new Set(o),f=function(u){!u||c.has(u)||(c.add(u),f(u.parentNode))};o.forEach(f);var l=function(u){!u||p.has(u)||Array.prototype.forEach.call(u.children,function(h){if(c.has(h))l(h);else try{var y=h.getAttribute(r),x=y!==null&&y!=="false",d=(Fe.get(h)||0)+1,E=(a.get(h)||0)+1;Fe.set(h,d),a.set(h,E),i.push(h),d===1&&x&&ft.set(h,!0),E===1&&h.setAttribute(n,"true"),x||h.setAttribute(r,"true")}catch(b){console.error("aria-hidden: cannot operate on ",h,b)}})};return l(t),c.clear(),jt++,function(){i.forEach(function(u){var h=Fe.get(u)-1,y=a.get(u)-1;Fe.set(u,h),a.set(u,y),h||(ft.has(u)||u.removeAttribute(r),ft.delete(u)),y||u.removeAttribute(n)}),jt--,jt||(Fe=new WeakMap,Fe=new WeakMap,ft=new WeakMap,mt={})}},Ta=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=xa(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),Ra(r,o,n,"aria-hidden")):function(){return null}},yt="right-scroll-bar-position",wt="width-before-scroll-bar",Da="with-scroll-bars-hidden",Aa="--removed-body-scroll-bar-size";function Ft(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Oa(e,t){var n=s.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var Na=typeof window<"u"?s.useLayoutEffect:s.useEffect,wn=new WeakMap;function ka(e,t){var n=Oa(null,function(r){return e.forEach(function(o){return Ft(o,r)})});return Na(function(){var r=wn.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(c){a.has(c)||Ft(c,null)}),a.forEach(function(c){o.has(c)||Ft(c,i)})}wn.set(n,e)},[e]),n}function Pa(e){return e}function Ia(e,t){t===void 0&&(t=Pa);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(c){return c!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(c){return a(c)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var c=n;n=[],c.forEach(a),i=n}var p=function(){var l=i;i=[],l.forEach(a)},f=function(){return Promise.resolve().then(p)};f(),n={push:function(l){i.push(l),f()},filter:function(l){return i=i.filter(l),n}}}};return o}function La(e){e===void 0&&(e={});var t=Ia(null);return t.options=be({async:!0,ssr:!1},e),t}var Yn=function(e){var t=e.sideCar,n=_n(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return s.createElement(r,be({},n))};Yn.isSideCarExport=!0;function Ma(e,t){return e.useMedium(t),Yn}var Gn=La(),$t=function(){},Rt=s.forwardRef(function(e,t){var n=s.useRef(null),r=s.useState({onScrollCapture:$t,onWheelCapture:$t,onTouchMoveCapture:$t}),o=r[0],a=r[1],i=e.forwardProps,c=e.children,p=e.className,f=e.removeScrollBar,l=e.enabled,u=e.shards,h=e.sideCar,y=e.noRelative,x=e.noIsolation,d=e.inert,E=e.allowPinchZoom,b=e.as,T=b===void 0?"div":b,g=e.gapMode,v=_n(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),D=h,M=ka([n,t]),S=be(be({},v),o);return s.createElement(s.Fragment,null,l&&s.createElement(D,{sideCar:Gn,removeScrollBar:f,shards:u,noRelative:y,noIsolation:x,inert:d,setCallbacks:a,allowPinchZoom:!!E,lockRef:n,gapMode:g}),i?s.cloneElement(s.Children.only(c),be(be({},S),{ref:M})):s.createElement(T,be({},S,{className:p,ref:M}),c))});Rt.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Rt.classNames={fullWidth:wt,zeroRight:yt};var _a=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function ja(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=_a();return t&&e.setAttribute("nonce",t),e}function Fa(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $a(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Ba=function(){var e=0,t=null;return{add:function(n){e==0&&(t=ja())&&(Fa(t,n),$a(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Ha=function(){var e=Ba();return function(t,n){s.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Xn=function(){var e=Ha(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},Wa={left:0,top:0,right:0,gap:0},Bt=function(e){return parseInt(e||"",10)||0},Ua=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Bt(n),Bt(r),Bt(o)]},Va=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Wa;var t=Ua(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},za=Xn(),He="data-scroll-locked",qa=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,c=e.gap;return n===void 0&&(n="margin"),`
|
|
4
4
|
.`.concat(Da,` {
|
|
5
5
|
overflow: hidden `).concat(r,`;
|
|
@@ -40,7 +40,7 @@ import{j as m,X as Dr,b as Ar,B as on,as as Or,f as Nr,T as kr,r as s,ch as Pr,c
|
|
|
40
40
|
`)},bn=function(){var e=parseInt(document.body.getAttribute(He)||"0",10);return isFinite(e)?e:0},Ka=function(){s.useEffect(function(){return document.body.setAttribute(He,(bn()+1).toString()),function(){var e=bn()-1;e<=0?document.body.removeAttribute(He):document.body.setAttribute(He,e.toString())}},[])},Ya=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;Ka();var a=s.useMemo(function(){return Va(o)},[o]);return s.createElement(za,{styles:qa(a,!t,o,n?"":"!important")})},Gt=!1;if(typeof window<"u")try{var pt=Object.defineProperty({},"passive",{get:function(){return Gt=!0,!0}});window.addEventListener("test",pt,pt),window.removeEventListener("test",pt,pt)}catch{Gt=!1}var $e=Gt?{passive:!1}:!1,Ga=function(e){return e.tagName==="TEXTAREA"},Qn=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Ga(e)&&n[t]==="visible")},Xa=function(e){return Qn(e,"overflowY")},Qa=function(e){return Qn(e,"overflowX")},En=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Zn(e,r);if(o){var a=Jn(e,r),i=a[1],c=a[2];if(i>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Za=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Ja=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Zn=function(e,t){return e==="v"?Xa(t):Qa(t)},Jn=function(e,t){return e==="v"?Za(t):Ja(t)},es=function(e,t){return e==="h"&&t==="rtl"?-1:1},ts=function(e,t,n,r,o){var a=es(e,window.getComputedStyle(t).direction),i=a*r,c=n.target,p=t.contains(c),f=!1,l=i>0,u=0,h=0;do{if(!c)break;var y=Jn(e,c),x=y[0],d=y[1],E=y[2],b=d-E-a*x;(x||b)&&Zn(e,c)&&(u+=b,h+=x);var T=c.parentNode;c=T&&T.nodeType===Node.DOCUMENT_FRAGMENT_NODE?T.host:T}while(!p&&c!==document.body||p&&(t.contains(c)||t===c));return(l&&Math.abs(u)<1||!l&&Math.abs(h)<1)&&(f=!0),f},ht=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Sn=function(e){return[e.deltaX,e.deltaY]},xn=function(e){return e&&"current"in e?e.current:e},ns=function(e,t){return e[0]===t[0]&&e[1]===t[1]},rs=function(e){return`
|
|
41
41
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
42
42
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
43
|
-
`)},os=0,Be=[];function as(e){var t=s.useRef([]),n=s.useRef([0,0]),r=s.useRef(),o=s.useState(os++)[0],a=s.useState(Xn)[0],i=s.useRef(e);s.useEffect(function(){i.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var d=Fr([e.lockRef.current],(e.shards||[]).map(xn),!0).filter(Boolean);return d.forEach(function(E){return E.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),d.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=s.useCallback(function(d,E){if("touches"in d&&d.touches.length===2||d.type==="wheel"&&d.ctrlKey)return!i.current.allowPinchZoom;var b=ht(d),T=n.current,g="deltaX"in d?d.deltaX:T[0]-b[0],v="deltaY"in d?d.deltaY:T[1]-b[1],D,M=d.target,S=Math.abs(g)>Math.abs(v)?"h":"v";if("touches"in d&&S==="h"&&M.type==="range")return!1;var O=window.getSelection(),N=O&&O.anchorNode,F=N?N===M||N.contains(M):!1;if(F)return!1;var w=En(S,M);if(!w)return!0;if(w?D=S:(D=S==="v"?"h":"v",w=En(S,M)),!w)return!1;if(!r.current&&"changedTouches"in d&&(g||v)&&(r.current=D),!D)return!0;var _=r.current||D;return ts(_,E,d,_==="h"?g:v)},[]),p=s.useCallback(function(d){var E=d;if(!(!Be.length||Be[Be.length-1]!==a)){var b="deltaY"in E?Sn(E):ht(E),T=t.current.filter(function(D){return D.name===E.type&&(D.target===E.target||E.target===D.shadowParent)&&ns(D.delta,b)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var g=(i.current.shards||[]).map(xn).filter(Boolean).filter(function(D){return D.contains(E.target)}),v=g.length>0?c(E,g[0]):!i.current.noIsolation;v&&E.cancelable&&E.preventDefault()}}},[]),f=s.useCallback(function(d,E,b,T){var g={name:d,delta:E,target:b,should:T,shadowParent:ss(b)};t.current.push(g),setTimeout(function(){t.current=t.current.filter(function(v){return v!==g})},1)},[]),l=s.useCallback(function(d){n.current=ht(d),r.current=void 0},[]),u=s.useCallback(function(d){f(d.type,Sn(d),d.target,c(d,e.lockRef.current))},[]),h=s.useCallback(function(d){f(d.type,ht(d),d.target,c(d,e.lockRef.current))},[]);s.useEffect(function(){return Be.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:h}),document.addEventListener("wheel",p,$e),document.addEventListener("touchmove",p,$e),document.addEventListener("touchstart",l,$e),function(){Be=Be.filter(function(d){return d!==a}),document.removeEventListener("wheel",p,$e),document.removeEventListener("touchmove",p,$e),document.removeEventListener("touchstart",l,$e)}},[]);var y=e.removeScrollBar,x=e.inert;return s.createElement(s.Fragment,null,x?s.createElement(a,{styles:rs(o)}):null,y?s.createElement(Ya,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ss(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const is=Ma(Gn,as);var er=s.forwardRef(function(e,t){return s.createElement(Rt,be({},e,{ref:t,sideCar:is}))});er.classNames=Rt.classNames;const cs={brief:"/mail/brief",flagged:"/mail/flagged",outbox:"/mail/outbox",settings:"/settings",accounts:"/settings/accounts"};function Di(){const e=jn();return s.useCallback(t=>{e({to:cs[t]})},[e])}function us(){const e=jn();return s.useCallback(t=>{e({to:"/settings/accounts",search:{editAccountId:t,focusSmtp:!0}})},[e])}const Ai=({enabled:e=!0,bindings:t,capture:n=!1})=>{const r=s.useCallback(o=>{const a=o.target;if(!(a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable))for(const i of t){if(!(o.key.toLowerCase()===i.key.toLowerCase())||i.action&&$r(i.action)||i.requireShift!==void 0&&i.requireShift!==o.shiftKey)continue;const p=o.ctrlKey||o.metaKey;if(i.requireMeta!==void 0){if(i.requireMeta!==p)continue}else{const f=i.noModifiers??!0,l=p||o.altKey||i.requireShift===void 0&&o.shiftKey;if(f&&l)continue}i.preventDefault&&o.preventDefault(),i.stopPropagation&&(o.stopPropagation(),o.stopImmediatePropagation()),i.handler(o);return}},[t]);s.useEffect(()=>{if(e)return window.addEventListener("keydown",r,n),()=>window.removeEventListener("keydown",r,n)},[e,r,n])},ls=(e,t)=>e===void 0&&t.toAddresses.length===0,ds={status:"unsaved",reason:"Not saved — add a To address to keep this draft."},Cn={status:"idle"},fs={status:"saving"},Rn={status:"saved"},Tn={status:"error"},ms=e=>e.then(()=>{},()=>{}),ps=({outboxMessageId:e,onDraftCreated:t})=>{const[n,r]=s.useState(Cn),[o,a]=s.useState(null),i=s.useRef(void 0),c=s.useRef(new Set),p=Br(),f=s.useRef(e),l=s.useRef(e);if(f.current!==e){const g=f.current!==void 0;f.current=e,l.current=e,g&&i.current&&clearTimeout(i.current)}const u=bt({...Hr(),meta:Et}),h=bt({...Wr(),meta:Et}),y=s.useCallback(async g=>{r(fs),a(null);const v=l.current;if(v){const M=await h.mutateAsync({path:{outboxMessageId:v},body:{toAddresses:g.toAddresses,ccAddresses:g.ccAddresses,bccAddresses:g.bccAddresses,subject:g.subject,textBody:g.textBody,htmlBody:g.htmlBody,inReplyTo:g.inReplyTo,references:g.references}});return r(Rn),M}const D=await u.mutateAsync({body:{...g,sendImmediately:!1}});return l.current=D.outboxMessageId,t(D.outboxMessageId),r(Rn),p.invalidateQueries({queryKey:Ur().queryKey}),D},[u.mutateAsync,h.mutateAsync,t,p]),x=s.useRef(Promise.resolve()),d=s.useCallback(g=>{const v=x.current.then(()=>y(g));return x.current=ms(v),v},[y]),E=s.useCallback(g=>{if(i.current&&clearTimeout(i.current),ls(l.current,g)){r(ds);return}r(v=>v.status==="unsaved"?Cn:v),i.current=setTimeout(()=>{const v=l.current;v&&c.current.has(v)||d(g).catch(D=>{a(D),r(Tn)})},2e3)},[d]),b=s.useCallback(g=>(i.current&&clearTimeout(i.current),d(g).then(v=>({outcome:"saved",outboxMessageId:v.outboxMessageId})).catch(v=>(r(Tn),{outcome:"failed",error:v}))),[d]),T=s.useCallback(g=>{i.current&&clearTimeout(i.current),g&&c.current.add(g)},[]);return{saveState:n,saveError:o,saveDraft:E,saveImmediately:b,stopAutoSave:T}},hs=e=>e.outboundCount>0||e.replyCount>0||e.flags?.vip?.value===!0||e.flags?.trusted?.value===!0,vs=e=>e.flags?.blocked?.value===!0?!1:e.flags?.junkOnly?.value!==!0?!0:hs(e),Ht=({label:e,addresses:t,onChange:n,placeholder:r,onPendingChange:o,ref:a})=>{const[i,c]=s.useState(""),p=io(i,200),{data:f}=St({...Vr({query:{q:p,limit:8}}),enabled:p.length>=2}),l=s.useMemo(()=>(f?.items??[]).filter(vs).map(u=>({email:u.normalizedEmail,displayName:u.displayName})),[f]);return m.jsx(go,{label:e,addresses:t,onChange:n,placeholder:r,suggestions:l,onQueryChange:c,onPendingChange:o,ref:a})},gs=({accountId:e,configureRef:t})=>{const n=us();return m.jsx(So,{configureRef:t,onConfigure:()=>{n(e)}})},ys={download:"its dictionary could not be downloaded",engine:"the checker could not start",worker:"the checker stopped running"},ws=e=>{const t=`Spellcheck for ${e.language} is off: ${ys[e.reason]}.`;return{severity:"warning",title:"Spellcheck stopped",detail:`${t} Your browser is checking this message instead. ${e.detail}`,action:{label:"Report this",href:zr(qr({title:`Spellcheck stopped: ${e.reason} (${e.language})`,errorMessage:`${t} ${e.detail}`}))}}},bs=e=>({provider:async t=>{const{openSpellcheckWorker:n}=await Fn(async()=>{const{openSpellcheckWorker:r}=await import("./rich-text-spellcheck-worker-provider-
|
|
43
|
+
`)},os=0,Be=[];function as(e){var t=s.useRef([]),n=s.useRef([0,0]),r=s.useRef(),o=s.useState(os++)[0],a=s.useState(Xn)[0],i=s.useRef(e);s.useEffect(function(){i.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var d=Fr([e.lockRef.current],(e.shards||[]).map(xn),!0).filter(Boolean);return d.forEach(function(E){return E.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),d.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=s.useCallback(function(d,E){if("touches"in d&&d.touches.length===2||d.type==="wheel"&&d.ctrlKey)return!i.current.allowPinchZoom;var b=ht(d),T=n.current,g="deltaX"in d?d.deltaX:T[0]-b[0],v="deltaY"in d?d.deltaY:T[1]-b[1],D,M=d.target,S=Math.abs(g)>Math.abs(v)?"h":"v";if("touches"in d&&S==="h"&&M.type==="range")return!1;var O=window.getSelection(),N=O&&O.anchorNode,F=N?N===M||N.contains(M):!1;if(F)return!1;var w=En(S,M);if(!w)return!0;if(w?D=S:(D=S==="v"?"h":"v",w=En(S,M)),!w)return!1;if(!r.current&&"changedTouches"in d&&(g||v)&&(r.current=D),!D)return!0;var _=r.current||D;return ts(_,E,d,_==="h"?g:v)},[]),p=s.useCallback(function(d){var E=d;if(!(!Be.length||Be[Be.length-1]!==a)){var b="deltaY"in E?Sn(E):ht(E),T=t.current.filter(function(D){return D.name===E.type&&(D.target===E.target||E.target===D.shadowParent)&&ns(D.delta,b)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var g=(i.current.shards||[]).map(xn).filter(Boolean).filter(function(D){return D.contains(E.target)}),v=g.length>0?c(E,g[0]):!i.current.noIsolation;v&&E.cancelable&&E.preventDefault()}}},[]),f=s.useCallback(function(d,E,b,T){var g={name:d,delta:E,target:b,should:T,shadowParent:ss(b)};t.current.push(g),setTimeout(function(){t.current=t.current.filter(function(v){return v!==g})},1)},[]),l=s.useCallback(function(d){n.current=ht(d),r.current=void 0},[]),u=s.useCallback(function(d){f(d.type,Sn(d),d.target,c(d,e.lockRef.current))},[]),h=s.useCallback(function(d){f(d.type,ht(d),d.target,c(d,e.lockRef.current))},[]);s.useEffect(function(){return Be.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:h}),document.addEventListener("wheel",p,$e),document.addEventListener("touchmove",p,$e),document.addEventListener("touchstart",l,$e),function(){Be=Be.filter(function(d){return d!==a}),document.removeEventListener("wheel",p,$e),document.removeEventListener("touchmove",p,$e),document.removeEventListener("touchstart",l,$e)}},[]);var y=e.removeScrollBar,x=e.inert;return s.createElement(s.Fragment,null,x?s.createElement(a,{styles:rs(o)}):null,y?s.createElement(Ya,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ss(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const is=Ma(Gn,as);var er=s.forwardRef(function(e,t){return s.createElement(Rt,be({},e,{ref:t,sideCar:is}))});er.classNames=Rt.classNames;const cs={brief:"/mail/brief",flagged:"/mail/flagged",outbox:"/mail/outbox",settings:"/settings",accounts:"/settings/accounts"};function Di(){const e=jn();return s.useCallback(t=>{e({to:cs[t]})},[e])}function us(){const e=jn();return s.useCallback(t=>{e({to:"/settings/accounts",search:{editAccountId:t,focusSmtp:!0}})},[e])}const Ai=({enabled:e=!0,bindings:t,capture:n=!1})=>{const r=s.useCallback(o=>{const a=o.target;if(!(a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable))for(const i of t){if(!(o.key.toLowerCase()===i.key.toLowerCase())||i.action&&$r(i.action)||i.requireShift!==void 0&&i.requireShift!==o.shiftKey)continue;const p=o.ctrlKey||o.metaKey;if(i.requireMeta!==void 0){if(i.requireMeta!==p)continue}else{const f=i.noModifiers??!0,l=p||o.altKey||i.requireShift===void 0&&o.shiftKey;if(f&&l)continue}i.preventDefault&&o.preventDefault(),i.stopPropagation&&(o.stopPropagation(),o.stopImmediatePropagation()),i.handler(o);return}},[t]);s.useEffect(()=>{if(e)return window.addEventListener("keydown",r,n),()=>window.removeEventListener("keydown",r,n)},[e,r,n])},ls=(e,t)=>e===void 0&&t.toAddresses.length===0,ds={status:"unsaved",reason:"Not saved — add a To address to keep this draft."},Cn={status:"idle"},fs={status:"saving"},Rn={status:"saved"},Tn={status:"error"},ms=e=>e.then(()=>{},()=>{}),ps=({outboxMessageId:e,onDraftCreated:t})=>{const[n,r]=s.useState(Cn),[o,a]=s.useState(null),i=s.useRef(void 0),c=s.useRef(new Set),p=Br(),f=s.useRef(e),l=s.useRef(e);if(f.current!==e){const g=f.current!==void 0;f.current=e,l.current=e,g&&i.current&&clearTimeout(i.current)}const u=bt({...Hr(),meta:Et}),h=bt({...Wr(),meta:Et}),y=s.useCallback(async g=>{r(fs),a(null);const v=l.current;if(v){const M=await h.mutateAsync({path:{outboxMessageId:v},body:{toAddresses:g.toAddresses,ccAddresses:g.ccAddresses,bccAddresses:g.bccAddresses,subject:g.subject,textBody:g.textBody,htmlBody:g.htmlBody,inReplyTo:g.inReplyTo,references:g.references}});return r(Rn),M}const D=await u.mutateAsync({body:{...g,sendImmediately:!1}});return l.current=D.outboxMessageId,t(D.outboxMessageId),r(Rn),p.invalidateQueries({queryKey:Ur().queryKey}),D},[u.mutateAsync,h.mutateAsync,t,p]),x=s.useRef(Promise.resolve()),d=s.useCallback(g=>{const v=x.current.then(()=>y(g));return x.current=ms(v),v},[y]),E=s.useCallback(g=>{if(i.current&&clearTimeout(i.current),ls(l.current,g)){r(ds);return}r(v=>v.status==="unsaved"?Cn:v),i.current=setTimeout(()=>{const v=l.current;v&&c.current.has(v)||d(g).catch(D=>{a(D),r(Tn)})},2e3)},[d]),b=s.useCallback(g=>(i.current&&clearTimeout(i.current),d(g).then(v=>({outcome:"saved",outboxMessageId:v.outboxMessageId})).catch(v=>(r(Tn),{outcome:"failed",error:v}))),[d]),T=s.useCallback(g=>{i.current&&clearTimeout(i.current),g&&c.current.add(g)},[]);return{saveState:n,saveError:o,saveDraft:E,saveImmediately:b,stopAutoSave:T}},hs=e=>e.outboundCount>0||e.replyCount>0||e.flags?.vip?.value===!0||e.flags?.trusted?.value===!0,vs=e=>e.flags?.blocked?.value===!0?!1:e.flags?.junkOnly?.value!==!0?!0:hs(e),Ht=({label:e,addresses:t,onChange:n,placeholder:r,onPendingChange:o,ref:a})=>{const[i,c]=s.useState(""),p=io(i,200),{data:f}=St({...Vr({query:{q:p,limit:8}}),enabled:p.length>=2}),l=s.useMemo(()=>(f?.items??[]).filter(vs).map(u=>({email:u.normalizedEmail,displayName:u.displayName})),[f]);return m.jsx(go,{label:e,addresses:t,onChange:n,placeholder:r,suggestions:l,onQueryChange:c,onPendingChange:o,ref:a})},gs=({accountId:e,configureRef:t})=>{const n=us();return m.jsx(So,{configureRef:t,onConfigure:()=>{n(e)}})},ys={download:"its dictionary could not be downloaded",engine:"the checker could not start",worker:"the checker stopped running"},ws=e=>{const t=`Spellcheck for ${e.language} is off: ${ys[e.reason]}.`;return{severity:"warning",title:"Spellcheck stopped",detail:`${t} Your browser is checking this message instead. ${e.detail}`,action:{label:"Report this",href:zr(qr({title:`Spellcheck stopped: ${e.reason} (${e.language})`,errorMessage:`${t} ${e.detail}`}))}}},bs=e=>({provider:async t=>{const{openSpellcheckWorker:n}=await Fn(async()=>{const{openSpellcheckWorker:r}=await import("./rich-text-spellcheck-worker-provider-zhDCgosP.js");return{openSpellcheckWorker:r}},__vite__mapDeps([0,1,2,3]));return n(t)},onStatus:t=>{t.state==="failed"&&e(ws(t))}}),Dn=150,Es=()=>{const[e,t]=s.useState(()=>{if(typeof window>"u"||!window.visualViewport)return{viewportHeight:0,isKeyboardOpen:!1};const n=window.visualViewport.height;return{viewportHeight:n,isKeyboardOpen:window.innerHeight-n>Dn}});return s.useEffect(()=>{if(typeof window>"u"||!window.visualViewport)return;const n=window.visualViewport,r=()=>{const o=n.height;t({viewportHeight:o,isKeyboardOpen:window.innerHeight-o>Dn})};return r(),n.addEventListener("resize",r),()=>n.removeEventListener("resize",r)},[]),e},Ss=({selectedAccountId:e,onSelect:t})=>{const{data:n}=St({...$n(),staleTime:1/0}),r=n?.accounts??[];if(s.useEffect(()=>{!e&&r.length===1&&r[0]&&t(r[0])},[e,r,t]),r.length<=1){const o=r[0];return o?m.jsxs("div",{className:"flex items-start gap-2",children:[m.jsx("label",{className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),m.jsx("div",{className:"text-sm py-1.5",children:o.email})]}):null}return m.jsxs("div",{className:"flex items-start gap-2",children:[m.jsx("label",{htmlFor:"from-account-selector",className:"text-sm text-fg-muted shrink-0 w-12 pt-1.5",children:"From:"}),m.jsx("select",{id:"from-account-selector",value:e??"",onChange:o=>{const a=r.find(i=>i.accountId===o.target.value);a&&t(a)},className:"flex-1 px-2 py-1.5 border rounded-md bg-canvas text-sm",children:r.map(o=>m.jsx("option",{value:o.accountId,children:o.email},o.accountId))})]})},xs=s.lazy(()=>Fn(()=>import("./rich-text-CAI_lLTk.js"),__vite__mapDeps([4,1,2,5,6,7,3,8,9,10,11])).then(e=>({default:e.ComposeBody}))),Cs=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),Rs=e=>e.split(`
|
|
44
44
|
`).map(t=>`<p>${Cs(t)}</p>`).join(""),Ts=e=>e?`<p></p><p>-- </p>${Rs(e)}`:"",Wt=e=>({html:Ts(e),text:e}),Ds=e=>e?/^re:\s/i.test(e)?e:`Re: ${e}`:"Re: ",As=e=>e?/^fwd?:\s/i.test(e)?e:`Fwd: ${e}`:"Fwd: ",Os=(e,t,n)=>{const{envelope:r}=e,a=(r.replyTo.length>0?r.replyTo:r.from).map(f=>({email:f.normalizedEmail,displayName:f.displayName}));if(t!=="reply-all")return{to:a,cc:[]};const i=n?.toLowerCase(),c=new Set(a.map(f=>f.email.toLowerCase())),p=[...r.to,...r.cc].filter(f=>f.normalizedEmail.toLowerCase()!==i&&!c.has(f.normalizedEmail.toLowerCase())).map(f=>({email:f.normalizedEmail,displayName:f.displayName}));return{to:a,cc:p}},Ns=e=>{const t=e.envelope.messageIdValue,r=[...e.references.filter(o=>o.referenceType==="references").sort((o,a)=>o.referenceOrder-a.referenceOrder).map(o=>o.messageIdValue)];return t&&!r.includes(t)&&r.push(t),{inReplyTo:t,references:r}},An=(e,t,n)=>({textBody:t.text||void 0,htmlBody:e==="plain"?"":t.html?to(t.html,n):void 0}),ks="Add a To address before sending.",Ps=({label:e,text:t})=>`${e} holds "${t}", which is not an address.`,On=e=>e.find(t=>t.text.trim()!==""),Is={entries:[],unparsed:""},Ls=(e,t,n,r,o)=>e.length===0&&t.length===0&&n.length===0&&r.trim()===""&&o.text.trim()==="",Ms=({documentGeneration:e,selectedAccountId:t,onAccountChange:n,toAddresses:r,setToAddresses:o,ccAddresses:a,setCcAddresses:i,bccAddresses:c,setBccAddresses:p,showCc:f,setShowCc:l,showBcc:u,setShowBcc:h,subject:y,setSubject:x,fieldHandles:d,onToPendingChange:E})=>{const b=no(),{isKeyboardOpen:T}=Es(),[g,v]=s.useState(void 0),D=g===e;return m.jsx(Eo,{collapsed:!b&&T&&!D,onExpand:()=>v(e),summary:bo({to:r,cc:a,bcc:c,subject:y}),from:m.jsx(Ss,{selectedAccountId:t,onSelect:n}),to:m.jsx(Ht,{label:"To",addresses:r,onChange:o,placeholder:"Recipients",onPendingChange:E,ref:d.to}),cc:f?m.jsx(Ht,{label:"Cc",addresses:a,onChange:i,ref:d.cc}):void 0,bcc:u?m.jsx(Ht,{label:"Bcc",addresses:c,onChange:p,ref:d.bcc}):void 0,subject:m.jsx(xo,{value:y,onChange:x}),onShowCc:()=>l(!0),onShowBcc:()=>h(!0)})},Oi=({mode:e,account:t,sourceMessage:n,outboxMessageId:r,onDraftCreated:o,onClose:a,onAccountChange:i,layout:c="fill"})=>{const{startSendPolling:p}=Kr(),{pushError:f}=Yr(),[l,u]=s.useState([]),[h,y]=s.useState([]),[x,d]=s.useState([]),[E,b]=s.useState(Is),T=s.useRef(null),g=s.useRef(null),v=s.useRef(null),D=s.useMemo(()=>({to:T,cc:g,bcc:v}),[]),M=s.useCallback(()=>{T.current?.clearPending(),g.current?.clearPending(),v.current?.clearPending()},[]),[S,O]=s.useState(""),[N,F]=s.useState(!1),[w,_]=s.useState(!1),[R,W]=s.useState(t?.accountId),[U,G]=s.useState(!1),[V,J]=s.useState(r),ee=s.useRef(void 0),ue=s.useRef(!1),et=s.useRef(null),Ue=s.useRef(r),le=s.useRef(r!==void 0),pe=s.useRef(r!==void 0?e:void 0),Se=s.useRef(void 0),Pe=s.useRef(e);Pe.current=e;const he=s.useRef(t?.accountId);s.useEffect(()=>{const P=t?.accountId;!P||he.current===P||(he.current=P,!le.current&&W(P))},[t?.accountId]),s.useEffect(()=>{const P=Ue.current;if(P===r||(Ue.current=r,P===void 0))return;le.current=r!==void 0,pe.current=r!==void 0?Pe.current:void 0,Se.current=void 0;const $=r?{html:"",text:""}:Wt(Ie.current);u([]),y([]),d([]),M(),O(""),F(!1),_(!1),Ve($.html),ze($.text),xe("rich"),qe(void 0),fe({...$,formatting:[]}),de(oe=>oe+1),G(!1),ee.current=void 0,ue.current=!1,J(r)},[r,M]);const{signature:se}=ao(R),Ie=s.useRef(se.plainText);Ie.current=se.plainText;const[Le,de]=s.useState(0),[tt,Ve]=s.useState(()=>Wt(se.plainText).html),[k,ze]=s.useState(se.plainText),[ve,xe]=s.useState("rich"),[Me,Dt]=s.useState("en"),[ge,qe]=s.useState(),[Ce,fe]=s.useState(()=>({...Wt(se.plainText),formatting:[]})),{data:Y,error:Ke}=St({...Gr({path:{outboxMessageId:r??""}}),enabled:!!r&&!U,meta:ro,retry:(P,$)=>!an($)&&P<1});s.useEffect(()=>{an(Ke)&&a()},[Ke,a]),s.useEffect(()=>{if(!Y||U)return;u(Y.toAddresses.map(Q=>({email:Q,displayName:void 0}))),Y.ccAddresses&&Y.ccAddresses.length>0&&(y(Y.ccAddresses.map(Q=>({email:Q,displayName:void 0}))),F(!0)),Y.bccAddresses&&Y.bccAddresses.length>0&&(d(Y.bccAddresses.map(Q=>({email:Q,displayName:void 0}))),_(!0)),Y.subject&&O(Y.subject);const P=Xr(Y.htmlBody??""),$=P.html,oe=Y.textBody??"";xe(Io(Y.htmlBody)),qe(P.language??void 0),Ve($),ze(oe),fe({html:$,text:oe,formatting:[]}),de(Q=>Q+1),W(Y.accountId),G(!0),ue.current=!0},[Y,U]),s.useEffect(()=>{if(n){if(le.current&&pe.current===e){const P=Se.current;if(!P||P.myEmail===t?.email)return}if(pe.current=e,Se.current={myEmail:t?.email},M(),e==="reply"||e==="reply-all"){const{to:P,cc:$}=Os(n,e,t?.email);u(P),y($),$.length>0&&F(!0),O(Ds(n.envelope.subject))}e==="forward"&&(u([]),y([]),d([]),O(As(n.envelope.subject)))}},[e,n,t?.email,M]);const At=e==="reply"||e==="reply-all"||e==="forward",{data:_e}=oo({messageId:n?.message.messageId,bodyParts:n?.bodyParts,enabled:At&&!!n}),Re=_e?.kind==="text"?_e.body:"",nt=_e?.kind==="html"?Po(_e.body):void 0,rt=n?.envelope.from[0]?.displayName??n?.envelope.from[0]?.normalizedEmail,Ot=s.useCallback(P=>{G(!0),J(P),o(P)},[o]),{saveState:Te,saveError:De,saveDraft:ot,saveImmediately:at,stopAutoSave:Ae}=ps({outboxMessageId:r,onDraftCreated:Ot});s.useEffect(()=>{De&&f({title:"Couldn't save draft",detail:Pt(De)??"Saving the draft failed.",error:De})},[De,f]);const st=bt({...Qr(),meta:Et}),it=bt({...Jr(),meta:Et,onError:P=>{f(Zr("Couldn't discard draft","The draft wasn't discarded.",P))}}),{data:A}=St({...$n(),staleTime:1/0}),L=A?.accounts.find(P=>P.accountId===R),j=L?so(L):!1,I=L?.composeLanguages,B=s.useMemo(()=>I&&I.length>0?I:eo(navigator.languages),[I]),X=s.useMemo(()=>bs(f),[f]),z=s.useRef(!1),[ie,Z]=s.useState(!1),te=s.useCallback((P,$)=>ie?{status:"sending"}:R?j?{status:"blocked",reason:Kt}:$?{status:"blocked",reason:Ps($)}:P===0?{status:"blocked",reason:ks}:{status:"ready",accountId:R}:{status:"blocked",reason:"Choose an account to send from."},[ie,R,j]),ne=s.useMemo(()=>te(l.length+E.entries.length,On([{label:"To",text:E.unparsed}])),[te,l.length,E]),re=ne;s.useEffect(()=>{if(!R||z.current||V!==void 0&&V!==r||r&&!U||Ls(l,h,x,S,Ce))return;const{htmlBody:P,textBody:$}=An(ve,Ce,Me),oe={accountId:R,toAddresses:l.map(ae=>ae.email),ccAddresses:h.length>0?h.map(ae=>ae.email):void 0,bccAddresses:x.length>0?x.map(ae=>ae.email):void 0,subject:S||void 0,textBody:$,htmlBody:P},Q=JSON.stringify(oe);if(ue.current){ue.current=!1,ee.current=Q;return}ee.current!==Q&&ot(oe)},[R,r,V,U,l,h,x,S,Ce,ve,Me,ot]);const Oe=s.useCallback(async(P,$)=>{if(!z.current){z.current=!0,Z(!0);try{Ae();const oe=n&&(e==="reply"||e==="reply-all")?Ns(n):{},{htmlBody:Q,textBody:ae}=An(ve,Ce,Me),Tr=!r,ut=await at({accountId:P,toAddresses:$.to.map(ye=>ye.email),ccAddresses:$.cc.length>0?$.cc.map(ye=>ye.email):void 0,bccAddresses:$.bcc.length>0?$.bcc.map(ye=>ye.email):void 0,subject:S||void 0,textBody:ae,htmlBody:Q,...oe});if(ut.outcome==="failed"){f({title:"Couldn't send message",detail:Pt(ut.error)??"Saving the message failed, so nothing was sent. Try again.",error:ut.error});return}const kt=ut.outboxMessageId;if(await st.mutateAsync({path:{outboxMessageId:kt}}).catch(ye=>(f({title:"Couldn't send message",detail:Pt(ye)??(Tr?"The draft was saved but the send request failed. Try again from the Outbox.":"The send request failed. Try again."),error:ye}),null))===null)return;Ae(kt),p(kt),a()}finally{z.current=!1,Z(!1)}}},[S,Ce,ve,Me,e,n,r,at,st,Ae,p,f,a]),ct=s.useCallback(()=>{Ae(r),r&&it.mutate({path:{outboxMessageId:r}}),a()},[Ae,r,it,a]),Nt=s.useCallback(P=>{f({title:"Can't send yet",detail:P}),P===Kt&&et.current?.focus()},[f]),rn=s.useCallback(()=>{if(ne.status==="sending")return;const P=D.to.current?.commitPending(),$=D.cc.current?.commitPending(),oe=D.bcc.current?.commitPending(),Q={to:P?.addresses??l,cc:$?.addresses??h,bcc:oe?.addresses??x},ae=te(Q.to.length,On([{label:"To",text:P?.unparsed??""},{label:"Cc",text:$?.unparsed??""},{label:"Bcc",text:oe?.unparsed??""}]));if(ae.status!=="sending"){if(ae.status==="blocked"){Nt(ae.reason);return}Oe(ae.accountId,Q)}},[ne.status,D,l,h,x,te,Nt,Oe]),Rr=s.useCallback(P=>{W(P.accountId),i?.(P)},[i]);return m.jsx(wo,{layout:c,banner:L&&j?m.jsx(gs,{accountId:L.accountId,configureRef:et}):void 0,header:m.jsx(Ms,{documentGeneration:Le,selectedAccountId:R,onAccountChange:Rr,toAddresses:l,setToAddresses:u,ccAddresses:h,setCcAddresses:y,bccAddresses:x,setBccAddresses:d,showCc:N,setShowCc:F,showBcc:w,setShowBcc:_,subject:S,setSubject:O,fieldHandles:D,onToPendingChange:b}),quoted:Re||nt?m.jsx(Co,{text:Re,html:nt,senderName:rt}):void 0,actionBar:m.jsx(lo,{send:re,onSend:rn,onBlocked:Nt,onDiscard:ct,save:Te}),children:m.jsx(s.Suspense,{fallback:m.jsx(yo,{}),children:m.jsx(xs,{mode:ve,onModeChange:xe,initialHtml:tt,initialText:k,onChange:fe,onSubmit:rn,initialCaret:e==="new"?"start":void 0,onConversionError:f,languages:B,initialLanguage:ge,onLanguageChange:Dt,spellcheck:X},Le)})})};var Tt="Dialog",[tr]=_o(Tt),[_s,ce]=tr(Tt),nr=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:a,modal:i=!0}=e,c=s.useRef(null),p=s.useRef(null),[f,l]=$o({prop:r,defaultProp:o??!1,onChange:a,caller:Tt});return m.jsx(_s,{scope:t,triggerRef:c,contentRef:p,contentId:_t(),titleId:_t(),descriptionId:_t(),open:f,onOpenChange:l,onOpenToggle:s.useCallback(()=>l(u=>!u),[l]),modal:i,children:n})};nr.displayName=Tt;var rr="DialogTrigger",js=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=ce(rr,n),a=ke(t,o.triggerRef);return m.jsx(me.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":tn(o.open),...r,ref:a,onClick:Ee(e.onClick,o.onOpenToggle)})});js.displayName=rr;var en="DialogPortal",[Fs,or]=tr(en,{forceMount:void 0}),ar=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,a=ce(en,t);return m.jsx(Fs,{scope:t,forceMount:n,children:s.Children.map(r,i=>m.jsx(Ct,{present:n||a.open,children:m.jsx(qn,{asChild:!0,container:o,children:i})}))})};ar.displayName=en;var xt="DialogOverlay",sr=s.forwardRef((e,t)=>{const n=or(xt,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=ce(xt,e.__scopeDialog);return a.modal?m.jsx(Ct,{present:r||a.open,children:m.jsx(Bs,{...o,ref:t})}):null});sr.displayName=xt;var $s=Hn("DialogOverlay.RemoveScroll"),Bs=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=ce(xt,n),a=oa(),i=ke(t,a);return m.jsx(er,{as:$s,allowPinchZoom:!0,shards:[o.contentRef],children:m.jsx(me.div,{"data-state":tn(o.open),...r,ref:i,style:{pointerEvents:"auto",...r.style}})})}),We="DialogContent",ir=s.forwardRef((e,t)=>{const n=or(We,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=ce(We,e.__scopeDialog);return m.jsx(Ct,{present:r||a.open,children:a.modal?m.jsx(Hs,{...o,ref:t}):m.jsx(Ws,{...o,ref:t})})});ir.displayName=We;var Hs=s.forwardRef((e,t)=>{const n=ce(We,e.__scopeDialog),r=s.useRef(null),o=ke(t,n.contentRef,r);return s.useEffect(()=>{const a=r.current;if(a)return Ta(a)},[]),m.jsx(cr,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Ee(e.onCloseAutoFocus,a=>{a.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Ee(e.onPointerDownOutside,a=>{const i=a.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&a.preventDefault()}),onFocusOutside:Ee(e.onFocusOutside,a=>a.preventDefault())})}),Ws=s.forwardRef((e,t)=>{const n=ce(We,e.__scopeDialog),r=s.useRef(!1),o=s.useRef(!1);return m.jsx(cr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(r.current||n.triggerRef.current?.focus(),a.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const i=a.target;n.triggerRef.current?.contains(i)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),cr=s.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,...i}=e,c=ce(We,n);return ca(),m.jsx(m.Fragment,{children:m.jsx(Vn,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:m.jsx(Wn,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":tn(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),ur="DialogTitle",lr=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=ce(ur,n);return m.jsx(me.h2,{id:o.titleId,...r,ref:t})});lr.displayName=ur;var dr="DialogDescription",Us=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=ce(dr,n);return m.jsx(me.p,{id:o.descriptionId,...r,ref:t})});Us.displayName=dr;var fr="DialogClose",Vs=s.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=ce(fr,n);return m.jsx(me.button,{type:"button",...r,ref:t,onClick:Ee(e.onClick,()=>o.onOpenChange(!1))})});Vs.displayName=fr;function tn(e){return e?"open":"closed"}function zs(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}const mr=C.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),Je=()=>{const e=C.useContext(mr);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};zs(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
|
|
45
45
|
[data-state=closed]
|
|
46
46
|
){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function qs(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function Ks(){return nn(/^Mac/)}function Ys(){return nn(/^iPhone/)}function Nn(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Gs(){return nn(/^iPad/)||Ks()&&navigator.maxTouchPoints>1}function pr(){return Ys()||Gs()}function nn(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const Xs=24,Qs=typeof window<"u"?s.useLayoutEffect:s.useEffect;function kn(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const Ut=typeof document<"u"&&window.visualViewport;function Pn(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function hr(e){for(Pn(e)&&(e=e.parentElement);e&&!Pn(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const Zs=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let vt=0,Vt;function Js(e={}){let{isDisabled:t}=e;Qs(()=>{if(!t)return vt++,vt===1&&pr()&&(Vt=ei()),()=>{vt--,vt===0&&Vt?.()}},[t])}function ei(){let e,t=0,n=u=>{e=hr(u.target),!(e===document.documentElement&&e===document.body)&&(t=u.changedTouches[0].pageY)},r=u=>{if(!e||e===document.documentElement||e===document.body){u.preventDefault();return}let h=u.changedTouches[0].pageY,y=e.scrollTop,x=e.scrollHeight-e.clientHeight;x!==0&&((y<=0&&h>t||y>=x&&h<t)&&u.preventDefault(),t=h)},o=u=>{let h=u.target;Xt(h)&&h!==document.activeElement&&(u.preventDefault(),h.style.transform="translateY(-2000px)",h.focus(),requestAnimationFrame(()=>{h.style.transform=""}))},a=u=>{let h=u.target;Xt(h)&&(h.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{h.style.transform="",Ut&&(Ut.height<window.innerHeight?requestAnimationFrame(()=>{In(h)}):Ut.addEventListener("resize",()=>In(h),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},c=window.pageXOffset,p=window.pageYOffset,f=kn(ti(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let l=kn(Ge(document,"touchstart",n,{passive:!1,capture:!0}),Ge(document,"touchmove",r,{passive:!1,capture:!0}),Ge(document,"touchend",o,{passive:!1,capture:!0}),Ge(document,"focus",a,!0),Ge(window,"scroll",i));return()=>{f(),l(),window.scrollTo(c,p)}}function ti(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function Ge(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function In(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=hr(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let r=n.getBoundingClientRect().top,o=e.getBoundingClientRect().top,a=e.getBoundingClientRect().bottom;const i=n.getBoundingClientRect().bottom+Xs;a>i&&(n.scrollTop+=o-r)}e=n.parentElement}}function Xt(e){return e instanceof HTMLInputElement&&!Zs.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function ni(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function ri(...e){return t=>e.forEach(n=>ni(n,t))}function vr(...e){return s.useCallback(ri(...e),e)}const gr=new WeakMap;function K(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([o,a])=>{if(o.startsWith("--")){e.style.setProperty(o,a);return}r[o]=e.style[o],e.style[o]=a}),!n&&gr.set(e,r)}function oi(e,t){if(!e||!(e instanceof HTMLElement))return;let n=gr.get(e);n&&(e.style[t]=n[t])}const q=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function gt(e,t){if(!e)return null;const n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform;let o=r.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[q(t)?13:12]):(o=r.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[q(t)?5:4]):null)}function ai(e){return 8*(Math.log(e+1)-2)}function zt(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}function si(...e){return(...t)=>{for(const n of e)typeof n=="function"&&n(...t)}}const H={DURATION:.5,EASE:[.32,.72,0,1]},yr=.4,ii=.25,ci=100,wr=8,Ne=16,Qt=26,qt="vaul-dragging";function br(e){const t=C.useRef(e);return C.useEffect(()=>{t.current=e}),C.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function ui({defaultProp:e,onChange:t}){const n=C.useState(e),[r]=n,o=C.useRef(r),a=br(t);return C.useEffect(()=>{o.current!==r&&(a(r),o.current=r)},[r,o,a]),n}function Er({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=ui({defaultProp:t,onChange:n}),a=e!==void 0,i=a?e:r,c=br(n),p=C.useCallback(f=>{if(a){const u=typeof f=="function"?f(e):f;u!==e&&c(u)}else o(f)},[a,e,o,c]);return[i,p]}function li({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:o,fadeFromIndex:a,onSnapPointChange:i,direction:c="bottom",container:p,snapToSequentialPoint:f}){const[l,u]=Er({prop:e,defaultProp:n?.[0],onChange:t}),[h,y]=C.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);C.useEffect(()=>{function S(){y({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",S),()=>window.removeEventListener("resize",S)},[]);const x=C.useMemo(()=>l===n?.[n.length-1]||null,[n,l]),d=C.useMemo(()=>{var S;return(S=n?.findIndex(O=>O===l))!=null?S:null},[n,l]),E=n&&n.length>0&&(a||a===0)&&!Number.isNaN(a)&&n[a]===l||!n,b=C.useMemo(()=>{const S=p?{width:p.getBoundingClientRect().width,height:p.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var O;return(O=n?.map(N=>{const F=typeof N=="string";let w=0;if(F&&(w=parseInt(N,10)),q(c)){const R=F?w:h?N*S.height:0;return h?c==="bottom"?S.height-R:-S.height+R:R}const _=F?w:h?N*S.width:0;return h?c==="right"?S.width-_:-S.width+_:_}))!=null?O:[]},[n,h,p]),T=C.useMemo(()=>d!==null?b?.[d]:null,[b,d]),g=C.useCallback(S=>{var O;const N=(O=b?.findIndex(F=>F===S))!=null?O:null;i(N),K(r.current,{transition:`transform ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`,transform:q(c)?`translate3d(0, ${S}px, 0)`:`translate3d(${S}px, 0, 0)`}),b&&N!==b.length-1&&a!==void 0&&N!==a&&N<a?K(o.current,{transition:`opacity ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`,opacity:"0"}):K(o.current,{transition:`opacity ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`,opacity:"1"}),u(n?.[Math.max(N,0)])},[r.current,n,b,a,o,u]);C.useEffect(()=>{if(l||e){var S;const O=(S=n?.findIndex(N=>N===e||N===l))!=null?S:-1;b&&O!==-1&&typeof b[O]=="number"&&g(b[O])}},[l,e,n,b,g]);function v({draggedDistance:S,closeDrawer:O,velocity:N,dismissible:F}){if(a===void 0)return;const w=c==="bottom"||c==="right"?(T??0)-S:(T??0)+S,_=d===a-1,R=d===0,W=S>0;if(_&&K(o.current,{transition:`opacity ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`}),!f&&N>2&&!W){F?O():g(b[0]);return}if(!f&&N>2&&W&&b&&n){g(b[n.length-1]);return}const U=b?.reduce((V,J)=>typeof V!="number"||typeof J!="number"?V:Math.abs(J-w)<Math.abs(V-w)?J:V),G=q(c)?window.innerHeight:window.innerWidth;if(N>yr&&Math.abs(S)<G*.4){const V=W?1:-1;if(V>0&&x&&n){g(b[n.length-1]);return}if(R&&V<0&&F&&O(),d===null)return;g(b[d+V]);return}g(U)}function D({draggedDistance:S}){if(T===null)return;const O=c==="bottom"||c==="right"?T-S:T+S;(c==="bottom"||c==="right")&&O<b[b.length-1]||(c==="top"||c==="left")&&O>b[b.length-1]||K(r.current,{transform:q(c)?`translate3d(0, ${O}px, 0)`:`translate3d(${O}px, 0, 0)`})}function M(S,O){if(!n||typeof d!="number"||!b||a===void 0)return null;const N=d===a-1;if(d>=a&&O)return 0;if(N&&!O)return 1;if(!E&&!N)return null;const w=N?d+1:d-1,_=N?b[w]-b[w-1]:b[w+1]-b[w],R=S/Math.abs(_);return N?1-R:R}return{isLastSnapPoint:x,activeSnapPoint:l,shouldFade:E,getPercentageDragged:M,setActiveSnapPoint:u,activeSnapPointIndex:d,onRelease:v,onDrag:D,snapPointsOffset:b}}const di=()=>()=>{};function fi(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:o}=Je(),a=C.useRef(null),i=s.useMemo(()=>document.body.style.backgroundColor,[]);function c(){return(window.innerWidth-Qt)/window.innerWidth}C.useEffect(()=>{if(t&&n){a.current&&clearTimeout(a.current);const p=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!p)return;si(r&&!o?zt(document.body,{background:"black"}):di,zt(p,{transformOrigin:q(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${H.DURATION}s`,transitionTimingFunction:`cubic-bezier(${H.EASE.join(",")})`}));const f=zt(p,{borderRadius:`${wr}px`,overflow:"hidden",...q(e)?{transform:`scale(${c()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${c()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{f(),a.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},H.DURATION*1e3)}}},[t,n,i])}let Xe=null;function mi({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:o,noBodyStyles:a}){const[i,c]=C.useState(()=>typeof window<"u"?window.location.href:""),p=C.useRef(0),f=C.useCallback(()=>{if(Nn()&&Xe===null&&e&&!a){Xe={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:u,innerHeight:h}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-p.current}px`,left:`${-u}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const y=h-window.innerHeight;y&&p.current>=h&&(document.body.style.top=`${-(p.current+y)}px`)}),300)}},[e]),l=C.useCallback(()=>{if(Nn()&&Xe!==null&&!a){const u=-parseInt(document.body.style.top,10),h=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Xe),window.requestAnimationFrame(()=>{if(o&&i!==window.location.href){c(window.location.href);return}window.scrollTo(h,u)}),Xe=null}},[i]);return C.useEffect(()=>{function u(){p.current=window.scrollY}return u(),window.addEventListener("scroll",u),()=>{window.removeEventListener("scroll",u)}},[]),C.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||l()}},[t,l]),C.useEffect(()=>{n||!r||(e?(!window.matchMedia("(display-mode: standalone)").matches&&f(),t||window.setTimeout(()=>{l()},500)):l())},[e,r,i,t,n,f,l]),{restorePositionSetting:l}}function pi({open:e,onOpenChange:t,children:n,onDrag:r,onRelease:o,snapPoints:a,shouldScaleBackground:i=!1,setBackgroundColorOnScale:c=!0,closeThreshold:p=ii,scrollLockTimeout:f=ci,dismissible:l=!0,handleOnly:u=!1,fadeFromIndex:h=a&&a.length-1,activeSnapPoint:y,setActiveSnapPoint:x,fixed:d,modal:E=!0,onClose:b,nested:T,noBodyStyles:g=!1,direction:v="bottom",defaultOpen:D=!1,disablePreventScroll:M=!0,snapToSequentialPoint:S=!1,preventScrollRestoration:O=!1,repositionInputs:N=!0,onAnimationEnd:F,container:w,autoFocus:_=!1}){var R,W;const[U=!1,G]=Er({defaultProp:D,prop:e,onChange:A=>{t?.(A),!A&&!T&&_e(),setTimeout(()=>{F?.(A)},H.DURATION*1e3),A&&!E&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),A||(document.body.style.pointerEvents="auto")}}),[V,J]=C.useState(!1),[ee,ue]=C.useState(!1),[et,Ue]=C.useState(!1),le=C.useRef(null),pe=C.useRef(null),Se=C.useRef(null),Pe=C.useRef(null),he=C.useRef(null),se=C.useRef(!1),Ie=C.useRef(null),Le=C.useRef(0),de=C.useRef(!1),tt=C.useRef(!D),Ve=C.useRef(0),k=C.useRef(null),ze=C.useRef(((R=k.current)==null?void 0:R.getBoundingClientRect().height)||0),ve=C.useRef(((W=k.current)==null?void 0:W.getBoundingClientRect().width)||0),xe=C.useRef(0),Me=C.useCallback(A=>{a&&A===fe.length-1&&(pe.current=new Date)},[]),{activeSnapPoint:Dt,activeSnapPointIndex:ge,setActiveSnapPoint:qe,onRelease:Ce,snapPointsOffset:fe,onDrag:Y,shouldFade:Ke,getPercentageDragged:At}=li({snapPoints:a,activeSnapPointProp:y,setActiveSnapPointProp:x,drawerRef:k,fadeFromIndex:h,overlayRef:le,onSnapPointChange:Me,direction:v,container:w,snapToSequentialPoint:S});Js({isDisabled:!U||ee||!E||et||!V||!N||!M});const{restorePositionSetting:_e}=mi({isOpen:U,modal:E,nested:T??!1,hasBeenOpened:V,preventScrollRestoration:O,noBodyStyles:g});function Re(){return(window.innerWidth-Qt)/window.innerWidth}function nt(A){var L,j;!l&&!a||k.current&&!k.current.contains(A.target)||(ze.current=((L=k.current)==null?void 0:L.getBoundingClientRect().height)||0,ve.current=((j=k.current)==null?void 0:j.getBoundingClientRect().width)||0,ue(!0),Se.current=new Date,pr()&&window.addEventListener("touchend",()=>se.current=!1,{once:!0}),A.target.setPointerCapture(A.pointerId),Le.current=q(v)?A.pageY:A.pageX)}function rt(A,L){var j;let I=A;const B=(j=window.getSelection())==null?void 0:j.toString(),X=k.current?gt(k.current,v):null,z=new Date;if(I.tagName==="SELECT"||I.hasAttribute("data-vaul-no-drag")||I.closest("[data-vaul-no-drag]"))return!1;if(v==="right"||v==="left")return!0;if(pe.current&&z.getTime()-pe.current.getTime()<500)return!1;if(X!==null&&(v==="bottom"?X>0:X<0))return!0;if(B&&B.length>0)return!1;if(he.current&&z.getTime()-he.current.getTime()<f&&X===0||L)return he.current=z,!1;for(;I;){if(I.scrollHeight>I.clientHeight){if(I.scrollTop!==0)return he.current=new Date,!1;if(I.getAttribute("role")==="dialog")return!0}I=I.parentNode}return!0}function Ot(A){if(k.current&&ee){const L=v==="bottom"||v==="right"?1:-1,j=(Le.current-(q(v)?A.pageY:A.pageX))*L,I=j>0,B=a&&!l&&!I;if(B&&ge===0)return;const X=Math.abs(j),z=document.querySelector("[data-vaul-drawer-wrapper]"),ie=v==="bottom"||v==="top"?ze.current:ve.current;let Z=X/ie;const te=At(X,I);if(te!==null&&(Z=te),B&&Z>=1||!se.current&&!rt(A.target,I))return;if(k.current.classList.add(qt),se.current=!0,K(k.current,{transition:"none"}),K(le.current,{transition:"none"}),a&&Y({draggedDistance:j}),I&&!a){const re=ai(j),Oe=Math.min(re*-1,0)*L;K(k.current,{transform:q(v)?`translate3d(0, ${Oe}px, 0)`:`translate3d(${Oe}px, 0, 0)`});return}const ne=1-Z;if((Ke||h&&ge===h-1)&&(r?.(A,Z),K(le.current,{opacity:`${ne}`,transition:"none"},!0)),z&&le.current&&i){const re=Math.min(Re()+Z*(1-Re()),1),Oe=8-Z*8,ct=Math.max(0,14-Z*14);K(z,{borderRadius:`${Oe}px`,transform:q(v)?`scale(${re}) translate3d(0, ${ct}px, 0)`:`scale(${re}) translate3d(${ct}px, 0, 0)`,transition:"none"},!0)}if(!a){const re=X*L;K(k.current,{transform:q(v)?`translate3d(0, ${re}px, 0)`:`translate3d(${re}px, 0, 0)`})}}}C.useEffect(()=>{window.requestAnimationFrame(()=>{tt.current=!0})},[]),C.useEffect(()=>{var A;function L(){if(!k.current||!N)return;const j=document.activeElement;if(Xt(j)||de.current){var I;const B=((I=window.visualViewport)==null?void 0:I.height)||0,X=window.innerHeight;let z=X-B;const ie=k.current.getBoundingClientRect().height||0,Z=ie>X*.8;xe.current||(xe.current=ie);const te=k.current.getBoundingClientRect().top;if(Math.abs(Ve.current-z)>60&&(de.current=!de.current),a&&a.length>0&&fe&&ge){const ne=fe[ge]||0;z+=ne}if(Ve.current=z,ie>B||de.current){const ne=k.current.getBoundingClientRect().height;let re=ne;ne>B&&(re=B-(Z?te:Qt)),d?k.current.style.height=`${ne-Math.max(z,0)}px`:k.current.style.height=`${Math.max(re,B-te)}px`}else qs()||(k.current.style.height=`${xe.current}px`);a&&a.length>0&&!de.current?k.current.style.bottom="0px":k.current.style.bottom=`${Math.max(z,0)}px`}}return(A=window.visualViewport)==null||A.addEventListener("resize",L),()=>{var j;return(j=window.visualViewport)==null?void 0:j.removeEventListener("resize",L)}},[ge,a,fe]);function Te(A){ot(),b?.(),A||G(!1),setTimeout(()=>{a&&qe(a[0])},H.DURATION*1e3)}function De(){if(!k.current)return;const A=document.querySelector("[data-vaul-drawer-wrapper]"),L=gt(k.current,v);K(k.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`}),K(le.current,{transition:`opacity ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`,opacity:"1"}),i&&L&&L>0&&U&&K(A,{borderRadius:`${wr}px`,overflow:"hidden",...q(v)?{transform:`scale(${Re()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${Re()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${H.DURATION}s`,transitionTimingFunction:`cubic-bezier(${H.EASE.join(",")})`},!0)}function ot(){!ee||!k.current||(k.current.classList.remove(qt),se.current=!1,ue(!1),Pe.current=new Date)}function at(A){if(!ee||!k.current)return;k.current.classList.remove(qt),se.current=!1,ue(!1),Pe.current=new Date;const L=gt(k.current,v);if(!A||!rt(A.target,!1)||!L||Number.isNaN(L)||Se.current===null)return;const j=Pe.current.getTime()-Se.current.getTime(),I=Le.current-(q(v)?A.pageY:A.pageX),B=Math.abs(I)/j;if(B>.05&&(Ue(!0),setTimeout(()=>{Ue(!1)},200)),a){Ce({draggedDistance:I*(v==="bottom"||v==="right"?1:-1),closeDrawer:Te,velocity:B,dismissible:l}),o?.(A,!0);return}if(v==="bottom"||v==="right"?I>0:I<0){De(),o?.(A,!0);return}if(B>yr){Te(),o?.(A,!1);return}var X;const z=Math.min((X=k.current.getBoundingClientRect().height)!=null?X:0,window.innerHeight);var ie;const Z=Math.min((ie=k.current.getBoundingClientRect().width)!=null?ie:0,window.innerWidth),te=v==="left"||v==="right";if(Math.abs(L)>=(te?Z:z)*p){Te(),o?.(A,!1);return}o?.(A,!0),De()}C.useEffect(()=>(U&&(K(document.documentElement,{scrollBehavior:"auto"}),pe.current=new Date),()=>{oi(document.documentElement,"scrollBehavior")}),[U]);function Ae(A){const L=A?(window.innerWidth-Ne)/window.innerWidth:1,j=A?-Ne:0;Ie.current&&window.clearTimeout(Ie.current),K(k.current,{transition:`transform ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`,transform:q(v)?`scale(${L}) translate3d(0, ${j}px, 0)`:`scale(${L}) translate3d(${j}px, 0, 0)`}),!A&&k.current&&(Ie.current=setTimeout(()=>{const I=gt(k.current,v);K(k.current,{transition:"none",transform:q(v)?`translate3d(0, ${I}px, 0)`:`translate3d(${I}px, 0, 0)`})},500))}function st(A,L){if(L<0)return;const j=(window.innerWidth-Ne)/window.innerWidth,I=j+L*(1-j),B=-Ne+L*Ne;K(k.current,{transform:q(v)?`scale(${I}) translate3d(0, ${B}px, 0)`:`scale(${I}) translate3d(${B}px, 0, 0)`,transition:"none"})}function it(A,L){const j=q(v)?window.innerHeight:window.innerWidth,I=L?(j-Ne)/j:1,B=L?-Ne:0;L&&K(k.current,{transition:`transform ${H.DURATION}s cubic-bezier(${H.EASE.join(",")})`,transform:q(v)?`scale(${I}) translate3d(0, ${B}px, 0)`:`scale(${I}) translate3d(${B}px, 0, 0)`})}return C.useEffect(()=>{E||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[E]),C.createElement(nr,{defaultOpen:D,onOpenChange:A=>{!l&&!A||(A?J(!0):Te(!0),G(A))},open:U},C.createElement(mr.Provider,{value:{activeSnapPoint:Dt,snapPoints:a,setActiveSnapPoint:qe,drawerRef:k,overlayRef:le,onOpenChange:t,onPress:nt,onRelease:at,onDrag:Ot,dismissible:l,shouldAnimate:tt,handleOnly:u,isOpen:U,isDragging:ee,shouldFade:Ke,closeDrawer:Te,onNestedDrag:st,onNestedOpenChange:Ae,onNestedRelease:it,keyboardIsOpen:de,modal:E,snapPointsOffset:fe,activeSnapPointIndex:ge,direction:v,shouldScaleBackground:i,setBackgroundColorOnScale:c,noBodyStyles:g,container:w,autoFocus:_}},n))}const Sr=C.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:r,onRelease:o,shouldFade:a,isOpen:i,modal:c,shouldAnimate:p}=Je(),f=vr(t,n),l=r&&r.length>0;if(!c)return null;const u=C.useCallback(h=>o(h),[o]);return C.createElement(sr,{onMouseUp:u,ref:f,"data-vaul-overlay":"","data-vaul-snap-points":i&&l?"true":"false","data-vaul-snap-points-overlay":i&&a?"true":"false","data-vaul-animate":p?.current?"true":"false",...e})});Sr.displayName="Drawer.Overlay";const xr=C.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...r},o){const{drawerRef:a,onPress:i,onRelease:c,onDrag:p,keyboardIsOpen:f,snapPointsOffset:l,activeSnapPointIndex:u,modal:h,isOpen:y,direction:x,snapPoints:d,container:E,handleOnly:b,shouldAnimate:T,autoFocus:g}=Je(),[v,D]=C.useState(!1),M=vr(o,a),S=C.useRef(null),O=C.useRef(null),N=C.useRef(!1),F=d&&d.length>0;fi();const w=(R,W,U=0)=>{if(N.current)return!0;const G=Math.abs(R.y),V=Math.abs(R.x),J=V>G,ee=["bottom","right"].includes(W)?1:-1;if(W==="left"||W==="right"){if(!(R.x*ee<0)&&V>=0&&V<=U)return J}else if(!(R.y*ee<0)&&G>=0&&G<=U)return!J;return N.current=!0,!0};C.useEffect(()=>{F&&window.requestAnimationFrame(()=>{D(!0)})},[]);function _(R){S.current=null,N.current=!1,c(R)}return C.createElement(ir,{"data-vaul-drawer-direction":x,"data-vaul-drawer":"","data-vaul-delayed-snap-points":v?"true":"false","data-vaul-snap-points":y&&F?"true":"false","data-vaul-custom-container":E?"true":"false","data-vaul-animate":T?.current?"true":"false",...r,ref:M,style:l&&l.length>0?{"--snap-point-height":`${l[u??0]}px`,...t}:t,onPointerDown:R=>{b||(r.onPointerDown==null||r.onPointerDown.call(r,R),S.current={x:R.pageX,y:R.pageY},i(R))},onOpenAutoFocus:R=>{n?.(R),g||R.preventDefault()},onPointerDownOutside:R=>{if(e?.(R),!h||R.defaultPrevented){R.preventDefault();return}f.current&&(f.current=!1)},onFocusOutside:R=>{if(!h){R.preventDefault();return}},onPointerMove:R=>{if(O.current=R,b||(r.onPointerMove==null||r.onPointerMove.call(r,R),!S.current))return;const W=R.pageY-S.current.y,U=R.pageX-S.current.x,G=R.pointerType==="touch"?10:2;w({x:U,y:W},x,G)?p(R):(Math.abs(U)>G||Math.abs(W)>G)&&(S.current=null)},onPointerUp:R=>{r.onPointerUp==null||r.onPointerUp.call(r,R),S.current=null,N.current=!1,c(R)},onPointerOut:R=>{r.onPointerOut==null||r.onPointerOut.call(r,R),_(O.current)},onContextMenu:R=>{r.onContextMenu==null||r.onContextMenu.call(r,R),O.current&&_(O.current)}})});xr.displayName="Drawer.Content";const hi=250,vi=120,Cr=C.forwardRef(function({preventCycle:e=!1,children:t,...n},r){const{closeDrawer:o,isDragging:a,snapPoints:i,activeSnapPoint:c,setActiveSnapPoint:p,dismissible:f,handleOnly:l,isOpen:u,onPress:h,onDrag:y}=Je(),x=C.useRef(null),d=C.useRef(!1);function E(){if(d.current){g();return}window.setTimeout(()=>{b()},vi)}function b(){if(a||e||d.current){g();return}if(g(),!i||i.length===0){f||o();return}if(c===i[i.length-1]&&f){o();return}const D=i.findIndex(S=>S===c);if(D===-1)return;const M=i[D+1];p(M)}function T(){x.current=window.setTimeout(()=>{d.current=!0},hi)}function g(){x.current&&window.clearTimeout(x.current),d.current=!1}return C.createElement("div",{onClick:E,onPointerCancel:g,onPointerDown:v=>{l&&h(v),T()},onPointerMove:v=>{l&&y(v)},ref:r,"data-vaul-drawer-visible":u?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},C.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});Cr.displayName="Drawer.Handle";function gi(e){const t=Je(),{container:n=t.container,...r}=e;return C.createElement(ar,{container:n,...r})}const Ni={Root:pi,Content:xr,Overlay:Sr,Portal:gi,Handle:Cr,Title:lr};export{Oi as C,Ni as D,Ai as a,Ri as b,Ti as c,Ci as s,Di as u};
|