pulse-dashboard
Version:
A Next.js Dashboard application for real-time monitoring and historical analysis of Playwright test executions, based on playwright-pulse-report. This component provides the UI for visualizing Playwright test results and can be run as a standalone CLI too
3 lines (2 loc) • 27.8 kB
JavaScript
module.exports=[42293,a=>{"use strict";var b,c=a.i(87924),d=a.i(77430),e=a.i(72131),f=a.i(35112);function g(a,b,{checkForDefaultPrevented:c=!0}={}){return function(d){if(a?.(d),!1===c||!d.defaultPrevented)return b?.(d)}}function h(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function i(...a){return b=>{let c=!1,d=a.map(a=>{let d=h(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():h(a[b],null)}}}}function j(...a){return e.useCallback(i(...a),a)}function k(a,b=[]){let d=[],f=()=>{let b=d.map(a=>e.createContext(a));return function(c){let d=c?.[a]||b;return e.useMemo(()=>({[`__scope${a}`]:{...c,[a]:d}}),[c,d])}};return f.scopeName=a,[function(b,f){let g=e.createContext(f),h=d.length;d=[...d,f];let i=b=>{let{scope:d,children:f,...i}=b,j=d?.[a]?.[h]||g,k=e.useMemo(()=>i,Object.values(i));return(0,c.jsx)(j.Provider,{value:k,children:f})};return i.displayName=b+"Provider",[i,function(c,d){let i=d?.[a]?.[h]||g,j=e.useContext(i);if(j)return j;if(void 0!==f)return f;throw Error(`\`${c}\` must be used within \`${b}\``)}]},function(...a){let b=a[0];if(1===a.length)return b;let c=()=>{let c=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){let d=c.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return e.useMemo(()=>({[`__scope${b.scopeName}`]:d}),[d])}};return c.scopeName=b.scopeName,c}(f,...b)]}function l(a){var b;let d,f=(b=a,(d=e.forwardRef((a,b)=>{let{children:c,...d}=a;if(e.isValidElement(c)){var f;let a,g,h=(f=c,(g=(a=Object.getOwnPropertyDescriptor(f.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.ref:(g=(a=Object.getOwnPropertyDescriptor(f,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.props.ref:f.props.ref||f.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==e.Fragment&&(j.ref=b?i(b,h):h),e.cloneElement(c,j)}return e.Children.count(c)>1?e.Children.only(null):null})).displayName=`${b}.SlotClone`,d),g=e.forwardRef((a,b)=>{let{children:d,...g}=a,h=e.Children.toArray(d),i=h.find(n);if(i){let a=i.props.children,d=h.map(b=>b!==i?b:e.Children.count(a)>1?e.Children.only(null):e.isValidElement(a)?a.props.children:null);return(0,c.jsx)(f,{...g,ref:b,children:e.isValidElement(a)?e.cloneElement(a,void 0,d):null})}return(0,c.jsx)(f,{...g,ref:b,children:d})});return g.displayName=`${a}.Slot`,g}var m=Symbol("radix.slottable");function n(a){return e.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===m}var o=new WeakMap;function p(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=q(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function q(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],o.set(this,!0)}set(a,b){return o.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=q(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#a],l=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{l||k[a-1]!==b||(l=!0);let c=k[l?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=p(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=p(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return p(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}});var r=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{let d=l(`Primitive.${b}`),f=e.forwardRef((a,e)=>{let{asChild:f,...g}=a;return(0,c.jsx)(f?d:b,{...g,ref:e})});return f.displayName=`Primitive.${b}`,{...a,[b]:f}},{});function s(a,b){a&&f.flushSync(()=>a.dispatchEvent(b))}function t(a){let b=e.useRef(a);return e.useEffect(()=>{b.current=a}),e.useMemo(()=>(...a)=>b.current?.(...a),[])}var u="dismissableLayer.update",v=e.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),w=e.forwardRef((a,d)=>{let{disableOutsidePointerEvents:f=!1,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:k,onInteractOutside:l,onDismiss:m,...n}=a,o=e.useContext(v),[p,q]=e.useState(null),s=p?.ownerDocument??globalThis?.document,[,w]=e.useState({}),x=j(d,a=>q(a)),A=Array.from(o.layers),[B]=[...o.layersWithOutsidePointerEventsDisabled].slice(-1),C=A.indexOf(B),D=p?A.indexOf(p):-1,E=o.layersWithOutsidePointerEventsDisabled.size>0,F=D>=C,G=function(a,b=globalThis?.document){let c=t(a),d=e.useRef(!1),f=e.useRef(()=>{});return e.useEffect(()=>{let a=a=>{if(a.target&&!d.current){let d=function(){z("dismissableLayer.pointerDownOutside",c,e,{discrete:!0})},e={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",f.current),f.current=d,b.addEventListener("click",f.current,{once:!0})):d()}else b.removeEventListener("click",f.current);d.current=!1},e=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(e),b.removeEventListener("pointerdown",a),b.removeEventListener("click",f.current)}},[b,c]),{onPointerDownCapture:()=>d.current=!0}}(a=>{let b=a.target,c=[...o.branches].some(a=>a.contains(b));F&&!c&&(i?.(a),l?.(a),a.defaultPrevented||m?.())},s),H=function(a,b=globalThis?.document){let c=t(a),d=e.useRef(!1);return e.useEffect(()=>{let a=a=>{a.target&&!d.current&&z("dismissableLayer.focusOutside",c,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,c]),{onFocusCapture:()=>d.current=!0,onBlurCapture:()=>d.current=!1}}(a=>{let b=a.target;![...o.branches].some(a=>a.contains(b))&&(k?.(a),l?.(a),a.defaultPrevented||m?.())},s);return!function(a,b=globalThis?.document){let c=t(a);e.useEffect(()=>{let a=a=>{"Escape"===a.key&&c(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[c,b])}(a=>{D===o.layers.size-1&&(h?.(a),!a.defaultPrevented&&m&&(a.preventDefault(),m()))},s),e.useEffect(()=>{if(p)return f&&(0===o.layersWithOutsidePointerEventsDisabled.size&&(b=s.body.style.pointerEvents,s.body.style.pointerEvents="none"),o.layersWithOutsidePointerEventsDisabled.add(p)),o.layers.add(p),y(),()=>{f&&1===o.layersWithOutsidePointerEventsDisabled.size&&(s.body.style.pointerEvents=b)}},[p,s,f,o]),e.useEffect(()=>()=>{p&&(o.layers.delete(p),o.layersWithOutsidePointerEventsDisabled.delete(p),y())},[p,o]),e.useEffect(()=>{let a=()=>w({});return document.addEventListener(u,a),()=>document.removeEventListener(u,a)},[]),(0,c.jsx)(r.div,{...n,ref:x,style:{pointerEvents:E?F?"auto":"none":void 0,...a.style},onFocusCapture:g(a.onFocusCapture,H.onFocusCapture),onBlurCapture:g(a.onBlurCapture,H.onBlurCapture),onPointerDownCapture:g(a.onPointerDownCapture,G.onPointerDownCapture)})});w.displayName="DismissableLayer";var x=e.forwardRef((a,b)=>{let d=e.useContext(v),f=e.useRef(null),g=j(b,f);return e.useEffect(()=>{let a=f.current;if(a)return d.branches.add(a),()=>{d.branches.delete(a)}},[d.branches]),(0,c.jsx)(r.div,{...a,ref:g})});function y(){let a=new CustomEvent(u);document.dispatchEvent(a)}function z(a,b,c,{discrete:d}){let e=c.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});b&&e.addEventListener(a,b,{once:!0}),d?s(e,f):e.dispatchEvent(f)}x.displayName="DismissableLayerBranch";var A=globalThis?.document?e.useLayoutEffect:()=>{},B=e.forwardRef((a,b)=>{let{container:d,...g}=a,[h,i]=e.useState(!1);A(()=>i(!0),[]);let j=d||h&&globalThis?.document?.body;return j?f.default.createPortal((0,c.jsx)(r.div,{...g,ref:b}),j):null});B.displayName="Portal";var C=a=>{var b;let c,d,{present:f,children:g}=a,h=function(a){var b,c;let[d,f]=e.useState(),g=e.useRef(null),h=e.useRef(a),i=e.useRef("none"),[j,k]=(b=a?"mounted":"unmounted",c={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},e.useReducer((a,b)=>c[a][b]??a,b));return e.useEffect(()=>{let a=D(g.current);i.current="mounted"===j?a:"none"},[j]),A(()=>{let b=g.current,c=h.current;if(c!==a){let d=i.current,e=D(b);a?k("MOUNT"):"none"===e||b?.display==="none"?k("UNMOUNT"):c&&d!==e?k("ANIMATION_OUT"):k("UNMOUNT"),h.current=a}},[a,k]),A(()=>{if(d){let a,b=d.ownerDocument.defaultView??window,c=c=>{let e=D(g.current).includes(CSS.escape(c.animationName));if(c.target===d&&e&&(k("ANIMATION_END"),!h.current)){let c=d.style.animationFillMode;d.style.animationFillMode="forwards",a=b.setTimeout(()=>{"forwards"===d.style.animationFillMode&&(d.style.animationFillMode=c)})}},e=a=>{a.target===d&&(i.current=D(g.current))};return d.addEventListener("animationstart",e),d.addEventListener("animationcancel",c),d.addEventListener("animationend",c),()=>{b.clearTimeout(a),d.removeEventListener("animationstart",e),d.removeEventListener("animationcancel",c),d.removeEventListener("animationend",c)}}k("ANIMATION_END")},[d,k]),{isPresent:["mounted","unmountSuspended"].includes(j),ref:e.useCallback(a=>{g.current=a?getComputedStyle(a):null,f(a)},[])}}(f),i="function"==typeof g?g({present:h.isPresent}):e.Children.only(g),k=j(h.ref,(b=i,(d=(c=Object.getOwnPropertyDescriptor(b.props,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?b.ref:(d=(c=Object.getOwnPropertyDescriptor(b,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?b.props.ref:b.props.ref||b.ref));return"function"==typeof g||h.isPresent?e.cloneElement(i,{ref:k}):null};function D(a){return a?.animationName||"none"}C.displayName="Presence",a.i(35412);var E=e[" useInsertionEffect ".trim().toString()]||A;Symbol("RADIX:SYNC_STATE");var F=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"}),G=e.forwardRef((a,b)=>(0,c.jsx)(r.span,{...a,ref:b,style:{...F,...a.style}}));G.displayName="VisuallyHidden";var H="ToastProvider",[I,J,K]=function(a){let b=a+"CollectionProvider",[d,f]=k(b),[g,h]=d(b,{collectionRef:{current:null},itemMap:new Map}),i=a=>{let{scope:b,children:d}=a,f=e.default.useRef(null),h=e.default.useRef(new Map).current;return(0,c.jsx)(g,{scope:b,itemMap:h,collectionRef:f,children:d})};i.displayName=b;let m=a+"CollectionSlot",n=l(m),o=e.default.forwardRef((a,b)=>{let{scope:d,children:e}=a,f=j(b,h(m,d).collectionRef);return(0,c.jsx)(n,{ref:f,children:e})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=l(p),s=e.default.forwardRef((a,b)=>{let{scope:d,children:f,...g}=a,i=e.default.useRef(null),k=j(b,i),l=h(p,d);return e.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...g}),()=>void l.itemMap.delete(i))),(0,c.jsx)(r,{...{[q]:""},ref:k,children:f})});return s.displayName=p,[{Provider:i,Slot:o,ItemSlot:s},function(b){let c=h(a+"CollectionConsumer",b);return e.default.useCallback(()=>{let a=c.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(c.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[c.collectionRef,c.itemMap])},f]}("Toast"),[L,M]=k("Toast",[K]),[N,O]=L(H),P=a=>{let{__scopeToast:b,label:d="Notification",duration:f=5e3,swipeDirection:g="right",swipeThreshold:h=50,children:i}=a,[j,k]=e.useState(null),[l,m]=e.useState(0),n=e.useRef(!1),o=e.useRef(!1);return d.trim()||console.error(`Invalid prop \`label\` supplied to \`${H}\`. Expected non-empty \`string\`.`),(0,c.jsx)(I.Provider,{scope:b,children:(0,c.jsx)(N,{scope:b,label:d,duration:f,swipeDirection:g,swipeThreshold:h,toastCount:l,viewport:j,onViewportChange:k,onToastAdd:e.useCallback(()=>m(a=>a+1),[]),onToastRemove:e.useCallback(()=>m(a=>a-1),[]),isFocusedToastEscapeKeyDownRef:n,isClosePausedRef:o,children:i})})};P.displayName=H;var Q="ToastViewport",R=["F8"],S="toast.viewportPause",T="toast.viewportResume",U=e.forwardRef((a,b)=>{let{__scopeToast:d,hotkey:f=R,label:g="Notifications ({hotkey})",...h}=a,i=O(Q,d),k=J(d),l=e.useRef(null),m=e.useRef(null),n=e.useRef(null),o=e.useRef(null),p=j(b,o,i.onViewportChange),q=f.join("+").replace(/Key/g,"").replace(/Digit/g,""),s=i.toastCount>0;e.useEffect(()=>{let a=a=>{0!==f.length&&f.every(b=>a[b]||a.code===b)&&o.current?.focus()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[f]),e.useEffect(()=>{let a=l.current,b=o.current;if(s&&a&&b){let c=()=>{if(!i.isClosePausedRef.current){let a=new CustomEvent(S);b.dispatchEvent(a),i.isClosePausedRef.current=!0}},d=()=>{if(i.isClosePausedRef.current){let a=new CustomEvent(T);b.dispatchEvent(a),i.isClosePausedRef.current=!1}},e=b=>{a.contains(b.relatedTarget)||d()},f=()=>{a.contains(document.activeElement)||d()};return a.addEventListener("focusin",c),a.addEventListener("focusout",e),a.addEventListener("pointermove",c),a.addEventListener("pointerleave",f),window.addEventListener("blur",c),window.addEventListener("focus",d),()=>{a.removeEventListener("focusin",c),a.removeEventListener("focusout",e),a.removeEventListener("pointermove",c),a.removeEventListener("pointerleave",f),window.removeEventListener("blur",c),window.removeEventListener("focus",d)}}},[s,i.isClosePausedRef]);let t=e.useCallback(({tabbingDirection:a})=>{let b=k().map(b=>{let c=b.ref.current,d=[c,...function(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}(c)];return"forwards"===a?d:d.reverse()});return("forwards"===a?b.reverse():b).flat()},[k]);return e.useEffect(()=>{let a=o.current;if(a){let b=b=>{let c=b.altKey||b.ctrlKey||b.metaKey;if("Tab"===b.key&&!c){let c=document.activeElement,d=b.shiftKey;if(b.target===a&&d)return void m.current?.focus();let e=t({tabbingDirection:d?"backwards":"forwards"}),f=e.findIndex(a=>a===c);ak(e.slice(f+1))?b.preventDefault():d?m.current?.focus():n.current?.focus()}};return a.addEventListener("keydown",b),()=>a.removeEventListener("keydown",b)}},[k,t]),(0,c.jsxs)(x,{ref:l,role:"region","aria-label":g.replace("{hotkey}",q),tabIndex:-1,style:{pointerEvents:s?void 0:"none"},children:[s&&(0,c.jsx)(W,{ref:m,onFocusFromOutsideViewport:()=>{ak(t({tabbingDirection:"forwards"}))}}),(0,c.jsx)(I.Slot,{scope:d,children:(0,c.jsx)(r.ol,{tabIndex:-1,...h,ref:p})}),s&&(0,c.jsx)(W,{ref:n,onFocusFromOutsideViewport:()=>{ak(t({tabbingDirection:"backwards"}))}})]})});U.displayName=Q;var V="ToastFocusProxy",W=e.forwardRef((a,b)=>{let{__scopeToast:d,onFocusFromOutsideViewport:e,...f}=a,g=O(V,d);return(0,c.jsx)(G,{tabIndex:0,...f,ref:b,style:{position:"fixed"},onFocus:a=>{let b=a.relatedTarget;g.viewport?.contains(b)||e()}})});W.displayName=V;var X="Toast",Y=e.forwardRef((a,b)=>{let{forceMount:d,open:f,defaultOpen:h,onOpenChange:i,...j}=a,[k,l]=function({prop:a,defaultProp:b,onChange:c=()=>{},caller:d}){let[f,g,h]=function({defaultProp:a,onChange:b}){let[c,d]=e.useState(a),f=e.useRef(c),g=e.useRef(b);return E(()=>{g.current=b},[b]),e.useEffect(()=>{f.current!==c&&(g.current?.(c),f.current=c)},[c,f]),[c,d,g]}({defaultProp:b,onChange:c}),i=void 0!==a,j=i?a:f;{let b=e.useRef(void 0!==a);e.useEffect(()=>{let a=b.current;if(a!==i){let b=i?"controlled":"uncontrolled";console.warn(`${d} is changing from ${a?"controlled":"uncontrolled"} to ${b}. 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.`)}b.current=i},[i,d])}return[j,e.useCallback(b=>{if(i){let c="function"==typeof b?b(a):b;c!==a&&h.current?.(c)}else g(b)},[i,a,g,h])]}({prop:f,defaultProp:h??!0,onChange:i,caller:X});return(0,c.jsx)(C,{present:d||k,children:(0,c.jsx)(_,{open:k,...j,ref:b,onClose:()=>l(!1),onPause:t(a.onPause),onResume:t(a.onResume),onSwipeStart:g(a.onSwipeStart,a=>{a.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:g(a.onSwipeMove,a=>{let{x:b,y:c}=a.detail.delta;a.currentTarget.setAttribute("data-swipe","move"),a.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${b}px`),a.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${c}px`)}),onSwipeCancel:g(a.onSwipeCancel,a=>{a.currentTarget.setAttribute("data-swipe","cancel"),a.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),a.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),a.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),a.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:g(a.onSwipeEnd,a=>{let{x:b,y:c}=a.detail.delta;a.currentTarget.setAttribute("data-swipe","end"),a.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),a.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),a.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${b}px`),a.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${c}px`),l(!1)})})})});Y.displayName=X;var[Z,$]=L(X,{onClose(){}}),_=e.forwardRef((a,b)=>{let{__scopeToast:d,type:h="foreground",duration:i,open:k,onClose:l,onEscapeKeyDown:m,onPause:n,onResume:o,onSwipeStart:p,onSwipeMove:q,onSwipeCancel:s,onSwipeEnd:u,...v}=a,x=O(X,d),[y,z]=e.useState(null),A=j(b,a=>z(a)),B=e.useRef(null),C=e.useRef(null),D=i||x.duration,E=e.useRef(0),F=e.useRef(D),G=e.useRef(0),{onToastAdd:H,onToastRemove:J}=x,K=t(()=>{y?.contains(document.activeElement)&&x.viewport?.focus(),l()}),L=e.useCallback(a=>{a&&a!==1/0&&(window.clearTimeout(G.current),E.current=new Date().getTime(),G.current=window.setTimeout(K,a))},[K]);e.useEffect(()=>{let a=x.viewport;if(a){let b=()=>{L(F.current),o?.()},c=()=>{let a=new Date().getTime()-E.current;F.current=F.current-a,window.clearTimeout(G.current),n?.()};return a.addEventListener(S,c),a.addEventListener(T,b),()=>{a.removeEventListener(S,c),a.removeEventListener(T,b)}}},[x.viewport,D,n,o,L]),e.useEffect(()=>{k&&!x.isClosePausedRef.current&&L(D)},[k,D,x.isClosePausedRef,L]),e.useEffect(()=>(H(),()=>J()),[H,J]);let M=e.useMemo(()=>y?function a(b){let c=[];return Array.from(b.childNodes).forEach(b=>{var d;if(b.nodeType===b.TEXT_NODE&&b.textContent&&c.push(b.textContent),(d=b).nodeType===d.ELEMENT_NODE){let d=b.ariaHidden||b.hidden||"none"===b.style.display,e=""===b.dataset.radixToastAnnounceExclude;if(!d)if(e){let a=b.dataset.radixToastAnnounceAlt;a&&c.push(a)}else c.push(...a(b))}}),c}(y):null,[y]);return x.viewport?(0,c.jsxs)(c.Fragment,{children:[M&&(0,c.jsx)(aa,{__scopeToast:d,role:"status","aria-live":"foreground"===h?"assertive":"polite",children:M}),(0,c.jsx)(Z,{scope:d,onClose:K,children:f.createPortal((0,c.jsx)(I.ItemSlot,{scope:d,children:(0,c.jsx)(w,{asChild:!0,onEscapeKeyDown:g(m,()=>{x.isFocusedToastEscapeKeyDownRef.current||K(),x.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,c.jsx)(r.li,{tabIndex:0,"data-state":k?"open":"closed","data-swipe-direction":x.swipeDirection,...v,ref:A,style:{userSelect:"none",touchAction:"none",...a.style},onKeyDown:g(a.onKeyDown,a=>{"Escape"===a.key&&(m?.(a.nativeEvent),a.nativeEvent.defaultPrevented||(x.isFocusedToastEscapeKeyDownRef.current=!0,K()))}),onPointerDown:g(a.onPointerDown,a=>{0===a.button&&(B.current={x:a.clientX,y:a.clientY})}),onPointerMove:g(a.onPointerMove,a=>{if(!B.current)return;let b=a.clientX-B.current.x,c=a.clientY-B.current.y,d=!!C.current,e=["left","right"].includes(x.swipeDirection),f=["left","up"].includes(x.swipeDirection)?Math.min:Math.max,g=e?f(0,b):0,h=e?0:f(0,c),i="touch"===a.pointerType?10:2,j={x:g,y:h},k={originalEvent:a,delta:j};d?(C.current=j,ai("toast.swipeMove",q,k,{discrete:!1})):aj(j,x.swipeDirection,i)?(C.current=j,ai("toast.swipeStart",p,k,{discrete:!1}),a.target.setPointerCapture(a.pointerId)):(Math.abs(b)>i||Math.abs(c)>i)&&(B.current=null)}),onPointerUp:g(a.onPointerUp,a=>{let b=C.current,c=a.target;if(c.hasPointerCapture(a.pointerId)&&c.releasePointerCapture(a.pointerId),C.current=null,B.current=null,b){let c=a.currentTarget,d={originalEvent:a,delta:b};aj(b,x.swipeDirection,x.swipeThreshold)?ai("toast.swipeEnd",u,d,{discrete:!0}):ai("toast.swipeCancel",s,d,{discrete:!0}),c.addEventListener("click",a=>a.preventDefault(),{once:!0})}})})})}),x.viewport)})]}):null}),aa=a=>{let{__scopeToast:b,children:d,...f}=a,g=O(X,b),[h,i]=e.useState(!1),[j,k]=e.useState(!1);return function(a=()=>{}){let b=t(a);A(()=>{let a=0,c=0;return a=window.requestAnimationFrame(()=>c=window.requestAnimationFrame(b)),()=>{window.cancelAnimationFrame(a),window.cancelAnimationFrame(c)}},[b])}(()=>i(!0)),e.useEffect(()=>{let a=window.setTimeout(()=>k(!0),1e3);return()=>window.clearTimeout(a)},[]),j?null:(0,c.jsx)(B,{asChild:!0,children:(0,c.jsx)(G,{...f,children:h&&(0,c.jsxs)(c.Fragment,{children:[g.label," ",d]})})})},ab=e.forwardRef((a,b)=>{let{__scopeToast:d,...e}=a;return(0,c.jsx)(r.div,{...e,ref:b})});ab.displayName="ToastTitle";var ac=e.forwardRef((a,b)=>{let{__scopeToast:d,...e}=a;return(0,c.jsx)(r.div,{...e,ref:b})});ac.displayName="ToastDescription";var ad="ToastAction",ae=e.forwardRef((a,b)=>{let{altText:d,...e}=a;return d.trim()?(0,c.jsx)(ah,{altText:d,asChild:!0,children:(0,c.jsx)(ag,{...e,ref:b})}):(console.error(`Invalid prop \`altText\` supplied to \`${ad}\`. Expected non-empty \`string\`.`),null)});ae.displayName=ad;var af="ToastClose",ag=e.forwardRef((a,b)=>{let{__scopeToast:d,...e}=a,f=$(af,d);return(0,c.jsx)(ah,{asChild:!0,children:(0,c.jsx)(r.button,{type:"button",...e,ref:b,onClick:g(a.onClick,f.onClose)})})});ag.displayName=af;var ah=e.forwardRef((a,b)=>{let{__scopeToast:d,altText:e,...f}=a;return(0,c.jsx)(r.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":e||void 0,...f,ref:b})});function ai(a,b,c,{discrete:d}){let e=c.originalEvent.currentTarget,f=new CustomEvent(a,{bubbles:!0,cancelable:!0,detail:c});b&&e.addEventListener(a,b,{once:!0}),d?s(e,f):e.dispatchEvent(f)}var aj=(a,b,c=0)=>{let d=Math.abs(a.x),e=Math.abs(a.y),f=d>e;return"left"===b||"right"===b?f&&d>c:!f&&e>c};function ak(a){let b=document.activeElement;return a.some(a=>a===b||(a.focus(),document.activeElement!==b))}var al=a.i(187),am=a.i(33508),an=a.i(68114);let ao=e.forwardRef(({className:a,...b},d)=>(0,c.jsx)(U,{ref:d,className:(0,an.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]",a),...b}));ao.displayName=U.displayName;let ap=(0,al.cva)("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"}}),aq=e.forwardRef(({className:a,variant:b,...d},e)=>(0,c.jsx)(Y,{ref:e,className:(0,an.cn)(ap({variant:b}),a),...d}));aq.displayName=Y.displayName,e.forwardRef(({className:a,...b},d)=>(0,c.jsx)(ae,{ref:d,className:(0,an.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",a),...b})).displayName=ae.displayName;let ar=e.forwardRef(({className:a,...b},d)=>(0,c.jsx)(ag,{ref:d,className:(0,an.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",a),"toast-close":"",...b,children:(0,c.jsx)(am.X,{className:"h-4 w-4"})}));ar.displayName=ag.displayName;let as=e.forwardRef(({className:a,...b},d)=>(0,c.jsx)(ab,{ref:d,className:(0,an.cn)("text-sm font-semibold",a),...b}));as.displayName=ab.displayName;let at=e.forwardRef(({className:a,...b},d)=>(0,c.jsx)(ac,{ref:d,className:(0,an.cn)("text-sm opacity-90",a),...b}));at.displayName=ac.displayName,a.s(["Toaster",0,function(){let{toasts:a}=(0,d.useToast)();return(0,c.jsxs)(P,{children:[a.map(function({id:a,title:b,description:d,action:e,...f}){return(0,c.jsxs)(aq,{...f,children:[(0,c.jsxs)("div",{className:"grid gap-1",children:[b&&(0,c.jsx)(as,{children:b}),d&&(0,c.jsx)(at,{children:d})]}),e,(0,c.jsx)(ar,{})]},a)}),(0,c.jsx)(ao,{})]})}],42293)}];
//# sourceMappingURL=src_components_ui_toaster_tsx_0cainpy._.js.map