1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,77855,e=>{"use strict";var t=e.i(43476),r=e.i(74911),n=e.i(71645),o=e.i(74080),s=e.i(81140),a=e.i(20783),i=e.i(75830),d=e.i(30030),l=e.i(26330),u=e.i(74606),c=e.i(96626),p=e.i(48425),f=e.i(30207),v=e.i(69340),m=e.i(34620),w=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),x=n.forwardRef((e,r)=>(0,t.jsx)(p.Primitive.span,{...e,ref:r,style:{...w,...e.style}}));x.displayName="VisuallyHidden";var y="ToastProvider",[g,h,E]=(0,i.createCollection)("Toast"),[b,T]=(0,d.createContextScope)("Toast",[E]),[R,C]=b(y),P=e=>{let{__scopeToast:r,label:o="Notification",duration:s=5e3,swipeDirection:a="right",swipeThreshold:i=50,children:d}=e,[l,u]=n.useState(null),[c,p]=n.useState(0),f=n.useRef(!1),v=n.useRef(!1);return o.trim()||console.error(`Invalid prop \`label\` supplied to \`${y}\`. Expected non-empty \`string\`.`),(0,t.jsx)(g.Provider,{scope:r,children:(0,t.jsx)(R,{scope:r,label:o,duration:s,swipeDirection:a,swipeThreshold:i,toastCount:c,viewport:l,onViewportChange:u,onToastAdd:n.useCallback(()=>p(e=>e+1),[]),onToastRemove:n.useCallback(()=>p(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:f,isClosePausedRef:v,children:d})})};P.displayName=y;var j="ToastViewport",N=["F8"],L="toast.viewportPause",S="toast.viewportResume",D=n.forwardRef((e,r)=>{let{__scopeToast:o,hotkey:s=N,label:i="Notifications ({hotkey})",...d}=e,u=C(j,o),c=h(o),f=n.useRef(null),v=n.useRef(null),m=n.useRef(null),w=n.useRef(null),x=(0,a.useComposedRefs)(r,w,u.onViewportChange),y=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),E=u.toastCount>0;n.useEffect(()=>{let e=e=>{0!==s.length&&s.every(t=>e[t]||e.code===t)&&w.current?.focus()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[s]),n.useEffect(()=>{let e=f.current,t=w.current;if(E&&e&&t){let r=()=>{if(!u.isClosePausedRef.current){let e=new CustomEvent(L);t.dispatchEvent(e),u.isClosePausedRef.current=!0}},n=()=>{if(u.isClosePausedRef.current){let e=new CustomEvent(S);t.dispatchEvent(e),u.isClosePausedRef.current=!1}},o=t=>{e.contains(t.relatedTarget)||n()},s=()=>{e.contains(document.activeElement)||n()};return e.addEventListener("focusin",r),e.addEventListener("focusout",o),e.addEventListener("pointermove",r),e.addEventListener("pointerleave",s),window.addEventListener("blur",r),window.addEventListener("focus",n),()=>{e.removeEventListener("focusin",r),e.removeEventListener("focusout",o),e.removeEventListener("pointermove",r),e.removeEventListener("pointerleave",s),window.removeEventListener("blur",r),window.removeEventListener("focus",n)}}},[E,u.isClosePausedRef]);let b=n.useCallback(({tabbingDirection:e})=>{let t=c().map(t=>{let r=t.ref.current,n=[r,...function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}(r)];return"forwards"===e?n:n.reverse()});return("forwards"===e?t.reverse():t).flat()},[c]);return n.useEffect(()=>{let e=w.current;if(e){let t=t=>{let r=t.altKey||t.ctrlKey||t.metaKey;if("Tab"===t.key&&!r){let r=document.activeElement,n=t.shiftKey;if(t.target===e&&n)return void v.current?.focus();let o=b({tabbingDirection:n?"backwards":"forwards"}),s=o.findIndex(e=>e===r);Y(o.slice(s+1))?t.preventDefault():n?v.current?.focus():m.current?.focus()}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}},[c,b]),(0,t.jsxs)(l.Branch,{ref:f,role:"region","aria-label":i.replace("{hotkey}",y),tabIndex:-1,style:{pointerEvents:E?void 0:"none"},children:[E&&(0,t.jsx)(F,{ref:v,onFocusFromOutsideViewport:()=>{Y(b({tabbingDirection:"forwards"}))}}),(0,t.jsx)(g.Slot,{scope:o,children:(0,t.jsx)(p.Primitive.ol,{tabIndex:-1,...d,ref:x})}),E&&(0,t.jsx)(F,{ref:m,onFocusFromOutsideViewport:()=>{Y(b({tabbingDirection:"backwards"}))}})]})});D.displayName=j;var k="ToastFocusProxy",F=n.forwardRef((e,r)=>{let{__scopeToast:n,onFocusFromOutsideViewport:o,...s}=e,a=C(k,n);return(0,t.jsx)(x,{tabIndex:0,...s,ref:r,style:{position:"fixed"},onFocus:e=>{let t=e.relatedTarget;a.viewport?.contains(t)||o()}})});F.displayName=k;var A="Toast",I=n.forwardRef((e,r)=>{let{forceMount:n,open:o,defaultOpen:a,onOpenChange:i,...d}=e,[l,u]=(0,v.useControllableState)({prop:o,defaultProp:a??!0,onChange:i,caller:A});return(0,t.jsx)(c.Presence,{present:n||l,children:(0,t.jsx)(H,{open:l,...d,ref:r,onClose:()=>u(!1),onPause:(0,f.useCallbackRef)(e.onPause),onResume:(0,f.useCallbackRef)(e.onResume),onSwipeStart:(0,s.composeEventHandlers)(e.onSwipeStart,e=>{e.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:(0,s.composeEventHandlers)(e.onSwipeMove,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","move"),e.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${t}px`),e.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${r}px`)}),onSwipeCancel:(0,s.composeEventHandlers)(e.onSwipeCancel,e=>{e.currentTarget.setAttribute("data-swipe","cancel"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:(0,s.composeEventHandlers)(e.onSwipeEnd,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","end"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${t}px`),e.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${r}px`),u(!1)})})})});I.displayName=A;var[K,M]=b(A,{onClose(){}}),H=n.forwardRef((e,r)=>{let{__scopeToast:i,type:d="foreground",duration:u,open:c,onClose:v,onEscapeKeyDown:m,onPause:w,onResume:x,onSwipeStart:y,onSwipeMove:h,onSwipeCancel:E,onSwipeEnd:b,...T}=e,R=C(A,i),[P,j]=n.useState(null),N=(0,a.useComposedRefs)(r,e=>j(e)),D=n.useRef(null),k=n.useRef(null),F=u||R.duration,I=n.useRef(0),M=n.useRef(F),H=n.useRef(0),{onToastAdd:V,onToastRemove:$}=R,_=(0,f.useCallbackRef)(()=>{P?.contains(document.activeElement)&&R.viewport?.focus(),v()}),U=n.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(H.current),I.current=new Date().getTime(),H.current=window.setTimeout(_,e))},[_]);n.useEffect(()=>{let e=R.viewport;if(e){let t=()=>{U(M.current),x?.()},r=()=>{let e=new Date().getTime()-I.current;M.current=M.current-e,window.clearTimeout(H.current),w?.()};return e.addEventListener(L,r),e.addEventListener(S,t),()=>{e.removeEventListener(L,r),e.removeEventListener(S,t)}}},[R.viewport,F,w,x,U]),n.useEffect(()=>{c&&!R.isClosePausedRef.current&&U(F)},[c,F,R.isClosePausedRef,U]),n.useEffect(()=>(V(),()=>$()),[V,$]);let X=n.useMemo(()=>P?function e(t){let r=[];return Array.from(t.childNodes).forEach(t=>{var n;if(t.nodeType===t.TEXT_NODE&&t.textContent&&r.push(t.textContent),(n=t).nodeType===n.ELEMENT_NODE){let n=t.ariaHidden||t.hidden||"none"===t.style.display,o=""===t.dataset.radixToastAnnounceExclude;if(!n)if(o){let e=t.dataset.radixToastAnnounceAlt;e&&r.push(e)}else r.push(...e(t))}}),r}(P):null,[P]);return R.viewport?(0,t.jsxs)(t.Fragment,{children:[X&&(0,t.jsx)(O,{__scopeToast:i,role:"status","aria-live":"foreground"===d?"assertive":"polite",children:X}),(0,t.jsx)(K,{scope:i,onClose:_,children:o.createPortal((0,t.jsx)(g.ItemSlot,{scope:i,children:(0,t.jsx)(l.Root,{asChild:!0,onEscapeKeyDown:(0,s.composeEventHandlers)(m,()=>{R.isFocusedToastEscapeKeyDownRef.current||_(),R.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,t.jsx)(p.Primitive.li,{tabIndex:0,"data-state":c?"open":"closed","data-swipe-direction":R.swipeDirection,...T,ref:N,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{"Escape"===e.key&&(m?.(e.nativeEvent),e.nativeEvent.defaultPrevented||(R.isFocusedToastEscapeKeyDownRef.current=!0,_()))}),onPointerDown:(0,s.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(D.current={x:e.clientX,y:e.clientY})}),onPointerMove:(0,s.composeEventHandlers)(e.onPointerMove,e=>{if(!D.current)return;let t=e.clientX-D.current.x,r=e.clientY-D.current.y,n=!!k.current,o=["left","right"].includes(R.swipeDirection),s=["left","up"].includes(R.swipeDirection)?Math.min:Math.max,a=o?s(0,t):0,i=o?0:s(0,r),d="touch"===e.pointerType?10:2,l={x:a,y:i},u={originalEvent:e,delta:l};n?(k.current=l,q("toast.swipeMove",h,u,{discrete:!1})):z(l,R.swipeDirection,d)?(k.current=l,q("toast.swipeStart",y,u,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>d||Math.abs(r)>d)&&(D.current=null)}),onPointerUp:(0,s.composeEventHandlers)(e.onPointerUp,e=>{let t=k.current,r=e.target;if(r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),k.current=null,D.current=null,t){let r=e.currentTarget,n={originalEvent:e,delta:t};z(t,R.swipeDirection,R.swipeThreshold)?q("toast.swipeEnd",b,n,{discrete:!0}):q("toast.swipeCancel",E,n,{discrete:!0}),r.addEventListener("click",e=>e.preventDefault(),{once:!0})}})})})}),R.viewport)})]}):null}),O=e=>{let{__scopeToast:r,children:o,...s}=e,a=C(A,r),[i,d]=n.useState(!1),[l,c]=n.useState(!1);return function(e=()=>{}){let t=(0,f.useCallbackRef)(e);(0,m.useLayoutEffect)(()=>{let e=0,r=0;return e=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(r)}},[t])}(()=>d(!0)),n.useEffect(()=>{let e=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(e)},[]),l?null:(0,t.jsx)(u.Portal,{asChild:!0,children:(0,t.jsx)(x,{...s,children:i&&(0,t.jsxs)(t.Fragment,{children:[a.label," ",o]})})})},V=n.forwardRef((e,r)=>{let{__scopeToast:n,...o}=e;return(0,t.jsx)(p.Primitive.div,{...o,ref:r})});V.displayName="ToastTitle";var $=n.forwardRef((e,r)=>{let{__scopeToast:n,...o}=e;return(0,t.jsx)(p.Primitive.div,{...o,ref:r})});$.displayName="ToastDescription";var _="ToastAction",U=n.forwardRef((e,r)=>{let{altText:n,...o}=e;return n.trim()?(0,t.jsx)(W,{altText:n,asChild:!0,children:(0,t.jsx)(B,{...o,ref:r})}):(console.error(`Invalid prop \`altText\` supplied to \`${_}\`. Expected non-empty \`string\`.`),null)});U.displayName=_;var X="ToastClose",B=n.forwardRef((e,r)=>{let{__scopeToast:n,...o}=e,a=M(X,n);return(0,t.jsx)(W,{asChild:!0,children:(0,t.jsx)(p.Primitive.button,{type:"button",...o,ref:r,onClick:(0,s.composeEventHandlers)(e.onClick,a.onClose)})})});B.displayName=X;var W=n.forwardRef((e,r)=>{let{__scopeToast:n,altText:o,...s}=e;return(0,t.jsx)(p.Primitive.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...s,ref:r})});function q(e,t,r,{discrete:n}){let o=r.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?(0,p.dispatchDiscreteCustomEvent)(o,s):o.dispatchEvent(s)}var z=(e,t,r=0)=>{let n=Math.abs(e.x),o=Math.abs(e.y),s=n>o;return"left"===t||"right"===t?s&&n>r:!s&&o>r};function Y(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var G=e.i(25913),J=e.i(37727),Q=e.i(75157);let Z=n.forwardRef(({className:e,...r},n)=>(0,t.jsx)(D,{ref:n,className:(0,Q.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...r}));Z.displayName=D.displayName;let ee=(0,G.cva)("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),et=n.forwardRef(({className:e,variant:r,...n},o)=>(0,t.jsx)(I,{ref:o,className:(0,Q.cn)(ee({variant:r}),e),...n}));et.displayName=I.displayName,n.forwardRef(({className:e,...r},n)=>(0,t.jsx)(U,{ref:n,className:(0,Q.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...r})).displayName=U.displayName;let er=n.forwardRef(({className:e,...r},n)=>(0,t.jsx)(B,{ref:n,className:(0,Q.cn)("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...r,children:(0,t.jsx)(J.X,{className:"h-4 w-4"})}));er.displayName=B.displayName;let en=n.forwardRef(({className:e,...r},n)=>(0,t.jsx)(V,{ref:n,className:(0,Q.cn)("text-sm font-semibold [&+div]:text-xs",e),...r}));en.displayName=V.displayName;let eo=n.forwardRef(({className:e,...r},n)=>(0,t.jsx)($,{ref:n,className:(0,Q.cn)("text-sm opacity-90",e),...r}));function es(){let{toasts:e}=(0,r.useToast)();return(0,t.jsxs)(P,{children:[e.map(function({id:e,title:r,description:n,action:o,...s}){return(0,t.jsxs)(et,{...s,children:[(0,t.jsxs)("div",{className:"grid gap-1",children:[r&&(0,t.jsx)(en,{children:r}),n&&(0,t.jsx)(eo,{children:n})]}),o,(0,t.jsx)(er,{})]},e)}),(0,t.jsx)(Z,{})]})}eo.displayName=$.displayName,e.s(["Toaster",()=>es],77855)}]); |