UNPKG

pulse-dashboard

Version:

A Next.js Dashboard application for real-time monitoring and historical analysis of Playwright test executions. This component provides the UI for visualizing Playwright test results and can be run as a standalone CLI tool.

1 lines 22.7 kB
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{2564:(e,t,r)=>{"use strict";r.d(t,{b:()=>i,s:()=>a});var n=r(12115),o=r(63655),s=r(95155),a=n.forwardRef((e,t)=>(0,s.jsx)(o.sG.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));a.displayName="VisuallyHidden";var i=a},9156:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>ea});var n=r(95155),o=r(87481),s=r(12115),a=r(47650),i=r(85185),l=r(6101),u=r(82284),d=r(46081),c=r(19178),f=r(34378),p=r(28905),v=r(63655),m=r(39033),w=r(5845),h=r(52712),y=r(2564),g="ToastProvider",[x,E,b]=(0,u.N)("Toast"),[T,C]=(0,d.A)("Toast",[b]),[P,N]=T(g),R=e=>{let{__scopeToast:t,label:r="Notification",duration:o=5e3,swipeDirection:a="right",swipeThreshold:i=50,children:l}=e,[u,d]=s.useState(null),[c,f]=s.useState(0),p=s.useRef(!1),v=s.useRef(!1);return r.trim()||console.error("Invalid prop `label` supplied to `".concat(g,"`. Expected non-empty `string`.")),(0,n.jsx)(x.Provider,{scope:t,children:(0,n.jsx)(P,{scope:t,label:r,duration:o,swipeDirection:a,swipeThreshold:i,toastCount:c,viewport:u,onViewportChange:d,onToastAdd:s.useCallback(()=>f(e=>e+1),[]),onToastRemove:s.useCallback(()=>f(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:v,children:l})})};R.displayName=g;var j="ToastViewport",L=["F8"],S="toast.viewportPause",D="toast.viewportResume",k=s.forwardRef((e,t)=>{let{__scopeToast:r,hotkey:o=L,label:a="Notifications ({hotkey})",...i}=e,u=N(j,r),d=E(r),f=s.useRef(null),p=s.useRef(null),m=s.useRef(null),w=s.useRef(null),h=(0,l.s)(t,w,u.onViewportChange),y=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),g=u.toastCount>0;s.useEffect(()=>{let e=e=>{var t;0!==o.length&&o.every(t=>e[t]||e.code===t)&&(null===(t=w.current)||void 0===t||t.focus())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]),s.useEffect(()=>{let e=f.current,t=w.current;if(g&&e&&t){let r=()=>{if(!u.isClosePausedRef.current){let e=new CustomEvent(S);t.dispatchEvent(e),u.isClosePausedRef.current=!0}},n=()=>{if(u.isClosePausedRef.current){let e=new CustomEvent(D);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)}}},[g,u.isClosePausedRef]);let b=s.useCallback(e=>{let{tabbingDirection:t}=e,r=d().map(e=>{let r=e.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"===t?n:n.reverse()});return("forwards"===t?r.reverse():r).flat()},[d]);return s.useEffect(()=>{let e=w.current;if(e){let t=t=>{let r=t.altKey||t.ctrlKey||t.metaKey;if("Tab"===t.key&&!r){var n,o,s;let r=document.activeElement,a=t.shiftKey;if(t.target===e&&a){null===(n=p.current)||void 0===n||n.focus();return}let i=b({tabbingDirection:a?"backwards":"forwards"}),l=i.findIndex(e=>e===r);Z(i.slice(l+1))?t.preventDefault():a?null===(o=p.current)||void 0===o||o.focus():null===(s=m.current)||void 0===s||s.focus()}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}},[d,b]),(0,n.jsxs)(c.lg,{ref:f,role:"region","aria-label":a.replace("{hotkey}",y),tabIndex:-1,style:{pointerEvents:g?void 0:"none"},children:[g&&(0,n.jsx)(O,{ref:p,onFocusFromOutsideViewport:()=>{Z(b({tabbingDirection:"forwards"}))}}),(0,n.jsx)(x.Slot,{scope:r,children:(0,n.jsx)(v.sG.ol,{tabIndex:-1,...i,ref:h})}),g&&(0,n.jsx)(O,{ref:m,onFocusFromOutsideViewport:()=>{Z(b({tabbingDirection:"backwards"}))}})]})});k.displayName=j;var A="ToastFocusProxy",O=s.forwardRef((e,t)=>{let{__scopeToast:r,onFocusFromOutsideViewport:o,...s}=e,a=N(A,r);return(0,n.jsx)(y.s,{"aria-hidden":!0,tabIndex:0,...s,ref:t,style:{position:"fixed"},onFocus:e=>{var t;let r=e.relatedTarget;(null===(t=a.viewport)||void 0===t?void 0:t.contains(r))||o()}})});O.displayName=A;var F="Toast",I=s.forwardRef((e,t)=>{let{forceMount:r,open:o,defaultOpen:s,onOpenChange:a,...l}=e,[u=!0,d]=(0,w.i)({prop:o,defaultProp:s,onChange:a});return(0,n.jsx)(p.C,{present:r||u,children:(0,n.jsx)(W,{open:u,...l,ref:t,onClose:()=>d(!1),onPause:(0,m.c)(e.onPause),onResume:(0,m.c)(e.onResume),onSwipeStart:(0,i.m)(e.onSwipeStart,e=>{e.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:(0,i.m)(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","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-move-y","".concat(r,"px"))}),onSwipeCancel:(0,i.m)(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,i.m)(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","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-end-y","".concat(r,"px")),d(!1)})})})});I.displayName=F;var[M,_]=T(F,{onClose(){}}),W=s.forwardRef((e,t)=>{let{__scopeToast:r,type:o="foreground",duration:u,open:d,onClose:f,onEscapeKeyDown:p,onPause:w,onResume:h,onSwipeStart:y,onSwipeMove:g,onSwipeCancel:E,onSwipeEnd:b,...T}=e,C=N(F,r),[P,R]=s.useState(null),j=(0,l.s)(t,e=>R(e)),L=s.useRef(null),k=s.useRef(null),A=u||C.duration,O=s.useRef(0),I=s.useRef(A),_=s.useRef(0),{onToastAdd:W,onToastRemove:G}=C,V=(0,m.c)(()=>{var e;(null==P?void 0:P.contains(document.activeElement))&&(null===(e=C.viewport)||void 0===e||e.focus()),f()}),X=s.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(_.current),O.current=new Date().getTime(),_.current=window.setTimeout(V,e))},[V]);s.useEffect(()=>{let e=C.viewport;if(e){let t=()=>{X(I.current),null==h||h()},r=()=>{let e=new Date().getTime()-O.current;I.current=I.current-e,window.clearTimeout(_.current),null==w||w()};return e.addEventListener(S,r),e.addEventListener(D,t),()=>{e.removeEventListener(S,r),e.removeEventListener(D,t)}}},[C.viewport,A,w,h,X]),s.useEffect(()=>{d&&!C.isClosePausedRef.current&&X(A)},[d,A,C.isClosePausedRef,X]),s.useEffect(()=>(W(),()=>G()),[W,G]);let z=s.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 C.viewport?(0,n.jsxs)(n.Fragment,{children:[z&&(0,n.jsx)(K,{__scopeToast:r,role:"status","aria-live":"foreground"===o?"assertive":"polite","aria-atomic":!0,children:z}),(0,n.jsx)(M,{scope:r,onClose:V,children:a.createPortal((0,n.jsx)(x.ItemSlot,{scope:r,children:(0,n.jsx)(c.bL,{asChild:!0,onEscapeKeyDown:(0,i.m)(p,()=>{C.isFocusedToastEscapeKeyDownRef.current||V(),C.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,n.jsx)(v.sG.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":d?"open":"closed","data-swipe-direction":C.swipeDirection,...T,ref:j,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:(0,i.m)(e.onKeyDown,e=>{"Escape"!==e.key||(null==p||p(e.nativeEvent),e.nativeEvent.defaultPrevented||(C.isFocusedToastEscapeKeyDownRef.current=!0,V()))}),onPointerDown:(0,i.m)(e.onPointerDown,e=>{0===e.button&&(L.current={x:e.clientX,y:e.clientY})}),onPointerMove:(0,i.m)(e.onPointerMove,e=>{if(!L.current)return;let t=e.clientX-L.current.x,r=e.clientY-L.current.y,n=!!k.current,o=["left","right"].includes(C.swipeDirection),s=["left","up"].includes(C.swipeDirection)?Math.min:Math.max,a=o?s(0,t):0,i=o?0:s(0,r),l="touch"===e.pointerType?10:2,u={x:a,y:i},d={originalEvent:e,delta:u};n?(k.current=u,H("toast.swipeMove",g,d,{discrete:!1})):Y(u,C.swipeDirection,l)?(k.current=u,H("toast.swipeStart",y,d,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>l||Math.abs(r)>l)&&(L.current=null)}),onPointerUp:(0,i.m)(e.onPointerUp,e=>{let t=k.current,r=e.target;if(r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),k.current=null,L.current=null,t){let r=e.currentTarget,n={originalEvent:e,delta:t};Y(t,C.swipeDirection,C.swipeThreshold)?H("toast.swipeEnd",b,n,{discrete:!0}):H("toast.swipeCancel",E,n,{discrete:!0}),r.addEventListener("click",e=>e.preventDefault(),{once:!0})}})})})}),C.viewport)})]}):null}),K=e=>{let{__scopeToast:t,children:r,...o}=e,a=N(F,t),[i,l]=s.useState(!1),[u,d]=s.useState(!1);return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{},t=(0,m.c)(e);(0,h.N)(()=>{let e=0,r=0;return e=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(r)}},[t])}(()=>l(!0)),s.useEffect(()=>{let e=window.setTimeout(()=>d(!0),1e3);return()=>window.clearTimeout(e)},[]),u?null:(0,n.jsx)(f.Z,{asChild:!0,children:(0,n.jsx)(y.s,{...o,children:i&&(0,n.jsxs)(n.Fragment,{children:[a.label," ",r]})})})},G=s.forwardRef((e,t)=>{let{__scopeToast:r,...o}=e;return(0,n.jsx)(v.sG.div,{...o,ref:t})});G.displayName="ToastTitle";var V=s.forwardRef((e,t)=>{let{__scopeToast:r,...o}=e;return(0,n.jsx)(v.sG.div,{...o,ref:t})});V.displayName="ToastDescription";var X="ToastAction",z=s.forwardRef((e,t)=>{let{altText:r,...o}=e;return r.trim()?(0,n.jsx)(q,{altText:r,asChild:!0,children:(0,n.jsx)(U,{...o,ref:t})}):(console.error("Invalid prop `altText` supplied to `".concat(X,"`. Expected non-empty `string`.")),null)});z.displayName=X;var B="ToastClose",U=s.forwardRef((e,t)=>{let{__scopeToast:r,...o}=e,s=_(B,r);return(0,n.jsx)(q,{asChild:!0,children:(0,n.jsx)(v.sG.button,{type:"button",...o,ref:t,onClick:(0,i.m)(e.onClick,s.onClose)})})});U.displayName=B;var q=s.forwardRef((e,t)=>{let{__scopeToast:r,altText:o,...s}=e;return(0,n.jsx)(v.sG.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...s,ref:t})});function H(e,t,r,n){let{discrete:o}=n,s=r.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&s.addEventListener(e,t,{once:!0}),o?(0,v.hO)(s,a):s.dispatchEvent(a)}var Y=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,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 Z(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var Q=r(74466),$=r(25318),J=r(59434);let ee=s.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(k,{ref:t,className:(0,J.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]",r),...o})});ee.displayName=k.displayName;let et=(0,Q.F)("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 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"}}),er=s.forwardRef((e,t)=>{let{className:r,variant:o,...s}=e;return(0,n.jsx)(I,{ref:t,className:(0,J.cn)(et({variant:o}),r),...s})});er.displayName=I.displayName,s.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(z,{ref:t,className:(0,J.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 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",r),...o})}).displayName=z.displayName;let en=s.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(U,{ref:t,className:(0,J.cn)("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 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",r),"toast-close":"",...o,children:(0,n.jsx)($.A,{className:"h-4 w-4"})})});en.displayName=U.displayName;let eo=s.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(G,{ref:t,className:(0,J.cn)("text-sm font-semibold",r),...o})});eo.displayName=G.displayName;let es=s.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(V,{ref:t,className:(0,J.cn)("text-sm opacity-90",r),...o})});function ea(){let{toasts:e}=(0,o.dj)();return(0,n.jsxs)(R,{children:[e.map(function(e){let{id:t,title:r,description:o,action:s,...a}=e;return(0,n.jsxs)(er,{...a,children:[(0,n.jsxs)("div",{className:"grid gap-1",children:[r&&(0,n.jsx)(eo,{children:r}),o&&(0,n.jsx)(es,{children:o})]}),s,(0,n.jsx)(en,{})]},t)}),(0,n.jsx)(ee,{})]})}es.displayName=V.displayName},19178:(e,t,r)=>{"use strict";r.d(t,{lg:()=>h,qW:()=>f,bL:()=>w});var n,o=r(12115),s=r(85185),a=r(63655),i=r(6101),l=r(39033),u=r(95155),d="dismissableLayer.update",c=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),f=o.forwardRef((e,t)=>{var r,f;let{disableOutsidePointerEvents:p=!1,onEscapeKeyDown:w,onPointerDownOutside:h,onFocusOutside:y,onInteractOutside:g,onDismiss:x,...E}=e,b=o.useContext(c),[T,C]=o.useState(null),P=null!==(f=null==T?void 0:T.ownerDocument)&&void 0!==f?f:null===(r=globalThis)||void 0===r?void 0:r.document,[,N]=o.useState({}),R=(0,i.s)(t,e=>C(e)),j=Array.from(b.layers),[L]=[...b.layersWithOutsidePointerEventsDisabled].slice(-1),S=j.indexOf(L),D=T?j.indexOf(T):-1,k=b.layersWithOutsidePointerEventsDisabled.size>0,A=D>=S,O=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null===(t=globalThis)||void 0===t?void 0:t.document,n=(0,l.c)(e),s=o.useRef(!1),a=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!s.current){let t=function(){m("dismissableLayer.pointerDownOutside",n,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(r.removeEventListener("click",a.current),a.current=t,r.addEventListener("click",a.current,{once:!0})):t()}else r.removeEventListener("click",a.current);s.current=!1},t=window.setTimeout(()=>{r.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(t),r.removeEventListener("pointerdown",e),r.removeEventListener("click",a.current)}},[r,n]),{onPointerDownCapture:()=>s.current=!0}}(e=>{let t=e.target,r=[...b.branches].some(e=>e.contains(t));!A||r||(null==h||h(e),null==g||g(e),e.defaultPrevented||null==x||x())},P),F=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null===(t=globalThis)||void 0===t?void 0:t.document,n=(0,l.c)(e),s=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!s.current&&m("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return r.addEventListener("focusin",e),()=>r.removeEventListener("focusin",e)},[r,n]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}(e=>{let t=e.target;[...b.branches].some(e=>e.contains(t))||(null==y||y(e),null==g||g(e),e.defaultPrevented||null==x||x())},P);return!function(e,t=globalThis?.document){let r=(0,l.c)(e);o.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{D===b.layers.size-1&&(null==w||w(e),!e.defaultPrevented&&x&&(e.preventDefault(),x()))},P),o.useEffect(()=>{if(T)return p&&(0===b.layersWithOutsidePointerEventsDisabled.size&&(n=P.body.style.pointerEvents,P.body.style.pointerEvents="none"),b.layersWithOutsidePointerEventsDisabled.add(T)),b.layers.add(T),v(),()=>{p&&1===b.layersWithOutsidePointerEventsDisabled.size&&(P.body.style.pointerEvents=n)}},[T,P,p,b]),o.useEffect(()=>()=>{T&&(b.layers.delete(T),b.layersWithOutsidePointerEventsDisabled.delete(T),v())},[T,b]),o.useEffect(()=>{let e=()=>N({});return document.addEventListener(d,e),()=>document.removeEventListener(d,e)},[]),(0,u.jsx)(a.sG.div,{...E,ref:R,style:{pointerEvents:k?A?"auto":"none":void 0,...e.style},onFocusCapture:(0,s.m)(e.onFocusCapture,F.onFocusCapture),onBlurCapture:(0,s.m)(e.onBlurCapture,F.onBlurCapture),onPointerDownCapture:(0,s.m)(e.onPointerDownCapture,O.onPointerDownCapture)})});f.displayName="DismissableLayer";var p=o.forwardRef((e,t)=>{let r=o.useContext(c),n=o.useRef(null),s=(0,i.s)(t,n);return o.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,u.jsx)(a.sG.div,{...e,ref:s})});function v(){let e=new CustomEvent(d);document.dispatchEvent(e)}function m(e,t,r,n){let{discrete:o}=n,s=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&s.addEventListener(e,t,{once:!0}),o?(0,a.hO)(s,i):s.dispatchEvent(i)}p.displayName="DismissableLayerBranch";var w=f,h=p},25318:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(40157).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},30347:()=>{},34378:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var n=r(12115),o=r(47650),s=r(63655),a=r(52712),i=r(95155),l=n.forwardRef((e,t)=>{var r,l;let{container:u,...d}=e,[c,f]=n.useState(!1);(0,a.N)(()=>f(!0),[]);let p=u||c&&(null===(l=globalThis)||void 0===l?void 0:null===(r=l.document)||void 0===r?void 0:r.body);return p?o.createPortal((0,i.jsx)(s.sG.div,{...d,ref:t}),p):null});l.displayName="Portal"},59434:(e,t,r)=>{"use strict";r.d(t,{O:()=>l,c:()=>i,cn:()=>a});var n=r(52596),o=r(39688),s=r(42638);function a(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,o.QP)((0,n.$)(t))}function i(e){if(!e)return"";let t={0:"color:inherit;font-weight:normal;font-style:normal;text-decoration:none;opacity:1;background-color:inherit;",1:"font-weight:bold",2:"opacity:0.6",3:"font-style:italic",4:"text-decoration:underline",30:"color:#000",31:"color:#d00",32:"color:#0a0",33:"color:#aa0",34:"color:#00d",35:"color:#a0a",36:"color:#0aa",37:"color:#aaa",39:"color:inherit",40:"background-color:#000",41:"background-color:#d00",42:"background-color:#0a0",43:"background-color:#aa0",44:"background-color:#00d",45:"background-color:#a0a",46:"background-color:#0aa",47:"background-color:#aaa",49:"background-color:inherit",90:"color:#555",91:"color:#f55",92:"color:#5f5",93:"color:#ff5",94:"color:#55f",95:"color:#f5f",96:"color:#5ff",97:"color:#fff"},r=[],n="",o=!1,s=()=>{if(o&&(n+="</span>",o=!1),r.length>0){let e=r.filter(e=>e).join(";");e&&(n+='<span style="'.concat(e,'">'),o=!0)}},a=e=>{let n=e.split(";");for(let e of(n.includes("0")&&(r=[],t["0"]&&r.push(t["0"])),n))if("0"!==e){if(t[e])"39"===e?(r=r.filter(e=>!e.startsWith("color:"))).push("color:inherit"):"49"===e?(r=r.filter(e=>!e.startsWith("background-color:"))).push("background-color:inherit"):r.push(t[e]);else if(e.startsWith("38;2;")||e.startsWith("48;2;")){let t=e.split(";"),n="38"===t[0]?"color":"background-color";5===t.length&&(r=r.filter(e=>!e.startsWith(n+":"))).push("".concat(n,":rgb(").concat(t[2],",").concat(t[3],",").concat(t[4],")"))}}s()};for(let t of e.split(/(\x1b\[[0-9;]*m)/g))if(t){if(t.startsWith("\x1b[")&&t.endsWith("m"))a(t.slice(2,-1));else{let e=t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");n+=e}}return o&&(n+="</span>"),n}function l(e){if(!e||"string"!=typeof e||""===e.trim())return"#";let t=e.trim(),r="attachments/",n="attachments\\";return(t.toLowerCase().startsWith(r)?t=t.substring(r.length):t.toLowerCase().startsWith(n)&&(t=t.substring(n.length)),""===(t=t.replace(/^[\/\\]+/,"")))?"#":"/api/assets/".concat(t)}new(r.n(s)())({fg:"#000",bg:"#FFF",newline:!0,escapeXML:!0})},72472:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,30347,23)),Promise.resolve().then(r.bind(r,9156))},87481:(e,t,r)=>{"use strict";r.d(t,{dj:()=>f});var n=r(12115);let o=0,s=new Map,a=e=>{if(s.has(e))return;let t=setTimeout(()=>{s.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);s.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?a(r):e.toasts.forEach(e=>{a(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],u={toasts:[]};function d(e){u=i(u,e),l.forEach(e=>{e(u)})}function c(e){let{...t}=e,r=(o=(o+1)%Number.MAX_SAFE_INTEGER).toString(),n=()=>d({type:"DISMISS_TOAST",toastId:r});return d({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||n()}}}),{id:r,dismiss:n,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function f(){let[e,t]=n.useState(u);return n.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:c,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}}},e=>{var t=t=>e(e.s=t);e.O(0,[690,437,441,684,358],()=>t(72472)),_N_E=e.O()}]);