UNPKG

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

1 lines 48.6 kB
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11641,e=>{"use strict";let t=(0,e.i(75254).default)("list-filter",[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]);e.s(["ListFilter",0,t],11641)},48256,94908,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",0,r],48256);let n=(0,t.default)("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]]);e.s(["Compass",0,n],94908)},68566,e=>{"use strict";let t=(0,e.i(75254).default)("chromium",[["path",{d:"M10.88 21.94 15.46 14",key:"xkve6t"}],["path",{d:"M21.17 8H12",key:"19dcdn"}],["path",{d:"M3.95 6.06 8.54 14",key:"g8jz9m"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);e.s(["Chrome",0,t],68566)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,t],63059)},93479,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75157);let o=r.forwardRef(({className:e,type:r,...o},i)=>(0,t.jsx)("input",{type:r,className:(0,n.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:i,...o}));o.displayName="Input",e.s(["Input",0,o])},37822,e=>{"use strict";let t;var r,n=e.i(43476),o=e.i(71645);function i(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(...e){return t=>{let r=!1,n=e.map(e=>{let n=a(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():a(e[t],null)}}}}function s(...e){return o.useCallback(l(...e),e)}function u(e,t=[]){let r=[],i=()=>{let t=r.map(e=>o.createContext(e));return function(r){let n=r?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return i.scopeName=e,[function(t,i){let a=o.createContext(i),l=r.length;r=[...r,i];let s=t=>{let{scope:r,children:i,...s}=t,u=r?.[e]?.[l]||a,d=o.useMemo(()=>s,Object.values(s));return(0,n.jsx)(u.Provider,{value:d,children:i})};return s.displayName=t+"Provider",[s,function(r,n){let s=n?.[e]?.[l]||a,u=o.useContext(s);if(u)return u;if(void 0!==i)return i;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=r.reduce((t,{useScope:r,scopeName:n})=>{let o=r(e)[`__scope${n}`];return{...t,...o}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}(i,...t)]}"u">typeof window&&window.document&&window.document.createElement;var d=e.i(74080);function c(e){var t;let r,i=(t=e,(r=o.forwardRef((e,t)=>{let{children:r,...n}=e;if(o.isValidElement(r)){var i;let e,a,s=(i=r,(a=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(a=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),u=function(e,t){let r={...t};for(let n in t){let o=e[n],i=t[n];/^on[A-Z]/.test(n)?o&&i?r[n]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...i}:"className"===n&&(r[n]=[o,i].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==o.Fragment&&(u.ref=t?l(t,s):s),o.cloneElement(r,u)}return o.Children.count(r)>1?o.Children.only(null):null})).displayName=`${t}.SlotClone`,r),a=o.forwardRef((e,t)=>{let{children:r,...a}=e,l=o.Children.toArray(r),s=l.find(p);if(s){let e=s.props.children,r=l.map(t=>t!==s?t:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,n.jsx)(i,{...a,ref:t,children:o.isValidElement(e)?o.cloneElement(e,void 0,r):null})}return(0,n.jsx)(i,{...a,ref:t,children:r})});return a.displayName=`${e}.Slot`,a}var f=Symbol("radix.slottable");function p(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===f}var m=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=c(`Primitive.${t}`),i=o.forwardRef((e,o)=>{let{asChild:i,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(i?r:t,{...a,ref:o})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function v(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...e)=>t.current?.(...e),[])}var h="dismissableLayer.update",y=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),g=o.forwardRef((e,t)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:c,onDismiss:f,...p}=e,g=o.useContext(y),[w,E]=o.useState(null),C=w?.ownerDocument??globalThis?.document,[,N]=o.useState({}),P=s(t,e=>E(e)),R=Array.from(g.layers),[T]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),O=R.indexOf(T),A=w?R.indexOf(w):-1,S=g.layersWithOutsidePointerEventsDisabled.size>0,j=A>=O,L=function(e,t=globalThis?.document){let r=v(e),n=o.useRef(!1),i=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!n.current){let n=function(){b("dismissableLayer.pointerDownOutside",r,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=n,t.addEventListener("click",i.current,{once:!0})):n()}else t.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{let t=e.target,r=[...g.branches].some(e=>e.contains(t));j&&!r&&(u?.(e),c?.(e),e.defaultPrevented||f?.())},C),k=function(e,t=globalThis?.document){let r=v(e),n=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!n.current&&b("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{let t=e.target;![...g.branches].some(e=>e.contains(t))&&(d?.(e),c?.(e),e.defaultPrevented||f?.())},C);return!function(e,t=globalThis?.document){let r=v(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=>{A===g.layers.size-1&&(l?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))},C),o.useEffect(()=>{if(w)return a&&(0===g.layersWithOutsidePointerEventsDisabled.size&&(r=C.body.style.pointerEvents,C.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(w)),g.layers.add(w),x(),()=>{a&&1===g.layersWithOutsidePointerEventsDisabled.size&&(C.body.style.pointerEvents=r)}},[w,C,a,g]),o.useEffect(()=>()=>{w&&(g.layers.delete(w),g.layersWithOutsidePointerEventsDisabled.delete(w),x())},[w,g]),o.useEffect(()=>{let e=()=>N({});return document.addEventListener(h,e),()=>document.removeEventListener(h,e)},[]),(0,n.jsx)(m.div,{...p,ref:P,style:{pointerEvents:S?j?"auto":"none":void 0,...e.style},onFocusCapture:i(e.onFocusCapture,k.onFocusCapture),onBlurCapture:i(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:i(e.onPointerDownCapture,L.onPointerDownCapture)})});function x(){let e=new CustomEvent(h);document.dispatchEvent(e)}function b(e,t,r,{discrete:n}){let o=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});if(t&&o.addEventListener(e,t,{once:!0}),n)o&&d.flushSync(()=>o.dispatchEvent(i));else o.dispatchEvent(i)}g.displayName="DismissableLayer",o.forwardRef((e,t)=>{let r=o.useContext(y),i=o.useRef(null),a=s(t,i);return o.useEffect(()=>{let e=i.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,n.jsx)(m.div,{...e,ref:a})}).displayName="DismissableLayerBranch";var w=0;function E(){let 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 C="focusScope.autoFocusOnMount",N="focusScope.autoFocusOnUnmount",P={bubbles:!1,cancelable:!0},R=o.forwardRef((e,t)=>{let{loop:r=!1,trapped:i=!1,onMountAutoFocus:a,onUnmountAutoFocus:l,...u}=e,[d,c]=o.useState(null),f=v(a),p=v(l),h=o.useRef(null),y=s(t,e=>c(e)),g=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(i){let e=function(e){if(g.paused||!d)return;let t=e.target;d.contains(t)?h.current=t:A(h.current,{select:!0})},t=function(e){if(g.paused||!d)return;let t=e.relatedTarget;null!==t&&(d.contains(t)||A(h.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&A(d)});return d&&r.observe(d,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[i,d,g.paused]),o.useEffect(()=>{if(d){S.add(g);let e=document.activeElement;if(!d.contains(e)){let t=new CustomEvent(C,P);d.addEventListener(C,f),d.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if(A(n,{select:t}),document.activeElement!==r)return}(T(d).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&A(d))}return()=>{d.removeEventListener(C,f),setTimeout(()=>{let t=new CustomEvent(N,P);d.addEventListener(N,p),d.dispatchEvent(t),t.defaultPrevented||A(e??document.body,{select:!0}),d.removeEventListener(N,p),S.remove(g)},0)}}},[d,f,p,g]);let x=o.useCallback(e=>{if(!r&&!i||g.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){var o;let t,i=e.currentTarget,[a,l]=[O(t=T(o=i),o),O(t.reverse(),o)];a&&l?e.shiftKey||n!==l?e.shiftKey&&n===a&&(e.preventDefault(),r&&A(l,{select:!0})):(e.preventDefault(),r&&A(a,{select:!0})):n===i&&e.preventDefault()}},[r,i,g.paused]);return(0,n.jsx)(m.div,{tabIndex:-1,...u,ref:y,onKeyDown:x})});function T(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}function O(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function A(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}R.displayName="FocusScope";var S=(t=[],{add(e){let r=t[0];e!==r&&r?.pause(),(t=j(t,e)).unshift(e)},remove(e){t=j(t,e),t[0]?.resume()}});function j(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var L=globalThis?.document?o.useLayoutEffect:()=>{},k=o[" useId ".trim().toString()]||(()=>void 0),D=0,M=e.i(58950),I=e.i(53760),_=o.forwardRef((e,t)=>{let{children:r,width:o=10,height:i=5,...a}=e;return(0,n.jsx)(m.svg,{...a,ref:t,width:o,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,n.jsx)("polygon",{points:"0,0 30,0 15,10"})})});_.displayName="Arrow";var F="Popper",[$,W]=u(F),[z,U]=$(F),B=e=>{let{__scopePopper:t,children:r}=e,[i,a]=o.useState(null);return(0,n.jsx)(z,{scope:t,anchor:i,onAnchorChange:a,children:r})};B.displayName=F;var H="PopperAnchor",Y=o.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:i,...a}=e,l=U(H,r),u=o.useRef(null),d=s(t,u),c=o.useRef(null);return o.useEffect(()=>{let e=c.current;c.current=i?.current||u.current,e!==c.current&&l.onAnchorChange(c.current)}),i?null:(0,n.jsx)(m.div,{...a,ref:d})});Y.displayName=H;var K="PopperContent",[V,X]=$(K),q=o.forwardRef((e,t)=>{let{__scopePopper:r,side:i="bottom",sideOffset:a=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:c=!0,collisionBoundary:f=[],collisionPadding:p=0,sticky:h="partial",hideWhenDetached:y=!1,updatePositionStrategy:g="optimized",onPlaced:x,...b}=e,w=U(K,r),[E,C]=o.useState(null),N=s(t,e=>C(e)),[P,R]=o.useState(null),T=function(e){let[t,r]=o.useState(void 0);return L(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,o;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,o=t.blockSize}else n=e.offsetWidth,o=e.offsetHeight;r({width:n,height:o})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}(P),O=T?.width??0,A=T?.height??0,S="number"==typeof p?p:{top:0,right:0,bottom:0,left:0,...p},j=Array.isArray(f)?f:[f],k=j.length>0,D={padding:S,boundary:j.filter(Q),altBoundary:k},{refs:_,floatingStyles:F,placement:$,isPositioned:W,middlewareData:z}=(0,M.useFloating)({strategy:"fixed",placement:i+("center"!==l?"-"+l:""),whileElementsMounted:(...e)=>(0,I.autoUpdate)(...e,{animationFrame:"always"===g}),elements:{reference:w.anchor},middleware:[(0,M.offset)({mainAxis:a+A,alignmentAxis:u}),c&&(0,M.shift)({mainAxis:!0,crossAxis:!1,limiter:"partial"===h?(0,M.limitShift)():void 0,...D}),c&&(0,M.flip)({...D}),(0,M.size)({...D,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:o,height:i}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${r}px`),a.setProperty("--radix-popper-available-height",`${n}px`),a.setProperty("--radix-popper-anchor-width",`${o}px`),a.setProperty("--radix-popper-anchor-height",`${i}px`)}}),P&&(0,M.arrow)({element:P,padding:d}),ee({arrowWidth:O,arrowHeight:A}),y&&(0,M.hide)({strategy:"referenceHidden",...D})]}),[B,H]=et($),Y=v(x);L(()=>{W&&Y?.()},[W,Y]);let X=z.arrow?.x,q=z.arrow?.y,Z=z.arrow?.centerOffset!==0,[G,J]=o.useState();return L(()=>{E&&J(window.getComputedStyle(E).zIndex)},[E]),(0,n.jsx)("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...F,transform:W?F.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:G,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(" "),...z.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,n.jsx)(V,{scope:r,placedSide:B,onArrowChange:R,arrowX:X,arrowY:q,shouldHideArrow:Z,children:(0,n.jsx)(m.div,{"data-side":B,"data-align":H,...b,ref:N,style:{...b.style,animation:W?void 0:"none"}})})})});q.displayName=K;var Z="PopperArrow",G={top:"bottom",right:"left",bottom:"top",left:"right"},J=o.forwardRef(function(e,t){let{__scopePopper:r,...o}=e,i=X(Z,r),a=G[i.placedSide];return(0,n.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,n.jsx)(_,{...o,ref:t,style:{...o.style,display:"block"}})})});function Q(e){return null!==e}J.displayName=Z;var ee=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,a=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[s,u]=et(r),d={start:"0%",center:"50%",end:"100%"}[u],c=(o.arrow?.x??0)+a/2,f=(o.arrow?.y??0)+l/2,p="",m="";return"bottom"===s?(p=i?d:`${c}px`,m=`${-l}px`):"top"===s?(p=i?d:`${c}px`,m=`${n.floating.height+l}px`):"right"===s?(p=`${-l}px`,m=i?d:`${f}px`):"left"===s&&(p=`${n.floating.width+l}px`,m=i?d:`${f}px`),{data:{x:p,y:m}}}});function et(e){let[t,r="center"]=e.split("-");return[t,r]}var er=o.forwardRef((e,t)=>{let{container:r,...i}=e,[a,l]=o.useState(!1);L(()=>l(!0),[]);let s=r||a&&globalThis?.document?.body;return s?d.default.createPortal((0,n.jsx)(m.div,{...i,ref:t}),s):null});er.displayName="Portal";var en=e=>{var t;let r,n,{present:i,children:a}=e,l=function(e){var t,r;let[n,i]=o.useState(),a=o.useRef(null),l=o.useRef(e),s=o.useRef("none"),[u,d]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},o.useReducer((e,t)=>r[e][t]??e,t));return o.useEffect(()=>{let e=eo(a.current);s.current="mounted"===u?e:"none"},[u]),L(()=>{let t=a.current,r=l.current;if(r!==e){let n=s.current,o=eo(t);e?d("MOUNT"):"none"===o||t?.display==="none"?d("UNMOUNT"):r&&n!==o?d("ANIMATION_OUT"):d("UNMOUNT"),l.current=e}},[e,d]),L(()=>{if(n){let e,t=n.ownerDocument.defaultView??window,r=r=>{let o=eo(a.current).includes(CSS.escape(r.animationName));if(r.target===n&&o&&(d("ANIMATION_END"),!l.current)){let r=n.style.animationFillMode;n.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=r)})}},o=e=>{e.target===n&&(s.current=eo(a.current))};return n.addEventListener("animationstart",o),n.addEventListener("animationcancel",r),n.addEventListener("animationend",r),()=>{t.clearTimeout(e),n.removeEventListener("animationstart",o),n.removeEventListener("animationcancel",r),n.removeEventListener("animationend",r)}}d("ANIMATION_END")},[n,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:o.useCallback(e=>{a.current=e?getComputedStyle(e):null,i(e)},[])}}(i),u="function"==typeof a?a({present:l.isPresent}):o.Children.only(a),d=s(l.ref,(t=u,(n=(r=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.ref:(n=(r=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof a||l.isPresent?o.cloneElement(u,{ref:d}):null};function eo(e){return e?.animationName||"none"}en.displayName="Presence",e.i(83986);var ei=o[" useInsertionEffect ".trim().toString()]||L;Symbol("RADIX:SYNC_STATE");var ea=e.i(86312),el=e.i(85369),es="Popover",[eu,ed]=u(es,[W]),ec=W(),[ef,ep]=eu(es),em=e=>{let{__scopePopover:t,children:r,open:i,defaultOpen:a,onOpenChange:l,modal:s=!1}=e,u=ec(t),d=o.useRef(null),[c,f]=o.useState(!1),[p,m]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[i,a,l]=function({defaultProp:e,onChange:t}){let[r,n]=o.useState(e),i=o.useRef(r),a=o.useRef(t);return ei(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==r&&(a.current?.(r),i.current=r)},[r,i]),[r,n,a]}({defaultProp:t,onChange:r}),s=void 0!==e,u=s?e:i;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==s){let t=s?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. 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.`)}t.current=s},[s,n])}return[u,o.useCallback(t=>{if(s){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else a(t)},[s,e,a,l])]}({prop:i,defaultProp:a??!1,onChange:l,caller:es});return(0,n.jsx)(B,{...u,children:(0,n.jsx)(ef,{scope:t,contentId:function(){let[e,t]=o.useState(k());return L(()=>{t(e=>e??String(D++))},[void 0]),e?`radix-${e}`:""}(),triggerRef:d,open:p,onOpenChange:m,onOpenToggle:o.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:c,onCustomAnchorAdd:o.useCallback(()=>f(!0),[]),onCustomAnchorRemove:o.useCallback(()=>f(!1),[]),modal:s,children:r})})};em.displayName=es;var ev="PopoverAnchor";o.forwardRef((e,t)=>{let{__scopePopover:r,...i}=e,a=ep(ev,r),l=ec(r),{onCustomAnchorAdd:s,onCustomAnchorRemove:u}=a;return o.useEffect(()=>(s(),()=>u()),[s,u]),(0,n.jsx)(Y,{...l,...i,ref:t})}).displayName=ev;var eh="PopoverTrigger",ey=o.forwardRef((e,t)=>{let{__scopePopover:r,...o}=e,a=ep(eh,r),l=ec(r),u=s(t,a.triggerRef),d=(0,n.jsx)(m.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":eA(a.open),...o,ref:u,onClick:i(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?d:(0,n.jsx)(Y,{asChild:!0,...l,children:d})});ey.displayName=eh;var eg="PopoverPortal",[ex,eb]=eu(eg,{forceMount:void 0}),ew=e=>{let{__scopePopover:t,forceMount:r,children:o,container:i}=e,a=ep(eg,t);return(0,n.jsx)(ex,{scope:t,forceMount:r,children:(0,n.jsx)(en,{present:r||a.open,children:(0,n.jsx)(er,{asChild:!0,container:i,children:o})})})};ew.displayName=eg;var eE="PopoverContent",eC=o.forwardRef((e,t)=>{let r=eb(eE,e.__scopePopover),{forceMount:o=r.forceMount,...i}=e,a=ep(eE,e.__scopePopover);return(0,n.jsx)(en,{present:o||a.open,children:a.modal?(0,n.jsx)(eP,{...i,ref:t}):(0,n.jsx)(eR,{...i,ref:t})})});eC.displayName=eE;var eN=c("PopoverContent.RemoveScroll"),eP=o.forwardRef((e,t)=>{let r=ep(eE,e.__scopePopover),a=o.useRef(null),l=s(t,a),u=o.useRef(!1);return o.useEffect(()=>{let e=a.current;if(e)return(0,ea.hideOthers)(e)},[]),(0,n.jsx)(el.RemoveScroll,{as:eN,allowPinchZoom:!0,children:(0,n.jsx)(eT,{...e,ref:l,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:i(e.onCloseAutoFocus,e=>{e.preventDefault(),u.current||r.triggerRef.current?.focus()}),onPointerDownOutside:i(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;u.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:i(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),eR=o.forwardRef((e,t)=>{let r=ep(eE,e.__scopePopover),i=o.useRef(!1),a=o.useRef(!1);return(0,n.jsx)(eT,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||r.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let n=t.target;r.triggerRef.current?.contains(n)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),eT=o.forwardRef((e,t)=>{let{__scopePopover:r,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:l,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:c,onInteractOutside:f,...p}=e,m=ep(eE,r),v=ec(r);return o.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??E()),document.body.insertAdjacentElement("beforeend",e[1]??E()),w++,()=>{1===w&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),w--}},[]),(0,n.jsx)(R,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:l,children:(0,n.jsx)(g,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:f,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:c,onDismiss:()=>m.onOpenChange(!1),children:(0,n.jsx)(q,{"data-state":eA(m.open),role:"dialog",id:m.contentId,...v,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),eO="PopoverClose";function eA(e){return e?"open":"closed"}o.forwardRef((e,t)=>{let{__scopePopover:r,...o}=e,a=ep(eO,r);return(0,n.jsx)(m.button,{type:"button",...o,ref:t,onClick:i(e.onClick,()=>a.onOpenChange(!1))})}).displayName=eO,o.forwardRef((e,t)=>{let{__scopePopover:r,...o}=e,i=ec(r);return(0,n.jsx)(J,{...i,...o,ref:t})}).displayName="PopoverArrow";var eS=e.i(75157);let ej=o.forwardRef(({className:e,align:t="center",sideOffset:r=4,...o},i)=>(0,n.jsx)(ew,{children:(0,n.jsx)(eC,{ref:i,align:t,sideOffset:r,className:(0,eS.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...o})}));ej.displayName=eC.displayName,e.s(["Popover",0,em,"PopoverContent",0,ej,"PopoverTrigger",0,ey],37822)},9694,e=>{"use strict";var t=e.i(83966),r=e.i(75225),n=e.i(85183),o=e.i(93230),i=e.i(44171),a=(0,t.generateCategoricalChart)({chartName:"BarChart",GraphicalChild:r.Bar,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:n.XAxis},{axisType:"yAxis",AxisComp:o.YAxis}],formatAxisMap:i.formatAxisMap});e.s(["BarChart",0,a])},61911,e=>{"use strict";let t=(0,e.i(75254).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",0,t],61911)},46798,e=>{"use strict";let t;var r,n=e.i(43476),o=e.i(71645);function i(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(...e){return t=>{let r=!1,n=e.map(e=>{let n=a(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():a(e[t],null)}}}}function s(...e){return o.useCallback(l(...e),e)}function u(e,t=[]){let r=[],i=()=>{let t=r.map(e=>o.createContext(e));return function(r){let n=r?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return i.scopeName=e,[function(t,i){let a=o.createContext(i),l=r.length;r=[...r,i];let s=t=>{let{scope:r,children:i,...s}=t,u=r?.[e]?.[l]||a,d=o.useMemo(()=>s,Object.values(s));return(0,n.jsx)(u.Provider,{value:d,children:i})};return s.displayName=t+"Provider",[s,function(r,n){let s=n?.[e]?.[l]||a,u=o.useContext(s);if(u)return u;if(void 0!==i)return i;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=r.reduce((t,{useScope:r,scopeName:n})=>{let o=r(e)[`__scope${n}`];return{...t,...o}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}(i,...t)]}"u">typeof window&&window.document&&window.document.createElement;var d=e.i(74080),c=Symbol("radix.slottable");function f(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===c}var p=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var r,i;let a,s,u,d=(i=r=`Primitive.${t}`,(a=o.forwardRef((e,t)=>{let{children:r,...n}=e;if(o.isValidElement(r)){var i;let e,a,s=(i=r,(a=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(a=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),u=function(e,t){let r={...t};for(let n in t){let o=e[n],i=t[n];/^on[A-Z]/.test(n)?o&&i?r[n]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...i}:"className"===n&&(r[n]=[o,i].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==o.Fragment&&(u.ref=t?l(t,s):s),o.cloneElement(r,u)}return o.Children.count(r)>1?o.Children.only(null):null})).displayName=`${i}.SlotClone`,s=a,(u=o.forwardRef((e,t)=>{let{children:r,...i}=e,a=o.Children.toArray(r),l=a.find(f);if(l){let e=l.props.children,r=a.map(t=>t!==l?t:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,n.jsx)(s,{...i,ref:t,children:o.isValidElement(e)?o.cloneElement(e,void 0,r):null})}return(0,n.jsx)(s,{...i,ref:t,children:r})})).displayName=`${r}.Slot`,u),c=o.forwardRef((e,r)=>{let{asChild:o,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(o?d:t,{...i,ref:r})});return c.displayName=`Primitive.${t}`,{...e,[t]:c}},{});function m(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...e)=>t.current?.(...e),[])}var v="dismissableLayer.update",h=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),y=o.forwardRef((e,t)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:c,onDismiss:f,...y}=e,b=o.useContext(h),[w,E]=o.useState(null),C=w?.ownerDocument??globalThis?.document,[,N]=o.useState({}),P=s(t,e=>E(e)),R=Array.from(b.layers),[T]=[...b.layersWithOutsidePointerEventsDisabled].slice(-1),O=R.indexOf(T),A=w?R.indexOf(w):-1,S=b.layersWithOutsidePointerEventsDisabled.size>0,j=A>=O,L=function(e,t=globalThis?.document){let r=m(e),n=o.useRef(!1),i=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!n.current){let n=function(){x("dismissableLayer.pointerDownOutside",r,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=n,t.addEventListener("click",i.current,{once:!0})):n()}else t.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{let t=e.target,r=[...b.branches].some(e=>e.contains(t));j&&!r&&(u?.(e),c?.(e),e.defaultPrevented||f?.())},C),k=function(e,t=globalThis?.document){let r=m(e),n=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!n.current&&x("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{let t=e.target;![...b.branches].some(e=>e.contains(t))&&(d?.(e),c?.(e),e.defaultPrevented||f?.())},C);return!function(e,t=globalThis?.document){let r=m(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=>{A===b.layers.size-1&&(l?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))},C),o.useEffect(()=>{if(w)return a&&(0===b.layersWithOutsidePointerEventsDisabled.size&&(r=C.body.style.pointerEvents,C.body.style.pointerEvents="none"),b.layersWithOutsidePointerEventsDisabled.add(w)),b.layers.add(w),g(),()=>{a&&1===b.layersWithOutsidePointerEventsDisabled.size&&(C.body.style.pointerEvents=r)}},[w,C,a,b]),o.useEffect(()=>()=>{w&&(b.layers.delete(w),b.layersWithOutsidePointerEventsDisabled.delete(w),g())},[w,b]),o.useEffect(()=>{let e=()=>N({});return document.addEventListener(v,e),()=>document.removeEventListener(v,e)},[]),(0,n.jsx)(p.div,{...y,ref:P,style:{pointerEvents:S?j?"auto":"none":void 0,...e.style},onFocusCapture:i(e.onFocusCapture,k.onFocusCapture),onBlurCapture:i(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:i(e.onPointerDownCapture,L.onPointerDownCapture)})});function g(){let e=new CustomEvent(v);document.dispatchEvent(e)}function x(e,t,r,{discrete:n}){let o=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});if(t&&o.addEventListener(e,t,{once:!0}),n)o&&d.flushSync(()=>o.dispatchEvent(i));else o.dispatchEvent(i)}y.displayName="DismissableLayer",o.forwardRef((e,t)=>{let r=o.useContext(h),i=o.useRef(null),a=s(t,i);return o.useEffect(()=>{let e=i.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,n.jsx)(p.div,{...e,ref:a})}).displayName="DismissableLayerBranch";var b=globalThis?.document?o.useLayoutEffect:()=>{},w=o[" useId ".trim().toString()]||(()=>void 0),E=0,C=e.i(58950),N=e.i(53760),P=o.forwardRef((e,t)=>{let{children:r,width:o=10,height:i=5,...a}=e;return(0,n.jsx)(p.svg,{...a,ref:t,width:o,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,n.jsx)("polygon",{points:"0,0 30,0 15,10"})})});P.displayName="Arrow";var R="Popper",[T,O]=u(R),[A,S]=T(R),j=e=>{let{__scopePopper:t,children:r}=e,[i,a]=o.useState(null);return(0,n.jsx)(A,{scope:t,anchor:i,onAnchorChange:a,children:r})};j.displayName=R;var L="PopperAnchor",k=o.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:i,...a}=e,l=S(L,r),u=o.useRef(null),d=s(t,u),c=o.useRef(null);return o.useEffect(()=>{let e=c.current;c.current=i?.current||u.current,e!==c.current&&l.onAnchorChange(c.current)}),i?null:(0,n.jsx)(p.div,{...a,ref:d})});k.displayName=L;var D="PopperContent",[M,I]=T(D),_=o.forwardRef((e,t)=>{let{__scopePopper:r,side:i="bottom",sideOffset:a=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:c=!0,collisionBoundary:f=[],collisionPadding:v=0,sticky:h="partial",hideWhenDetached:y=!1,updatePositionStrategy:g="optimized",onPlaced:x,...w}=e,E=S(D,r),[P,R]=o.useState(null),T=s(t,e=>R(e)),[O,A]=o.useState(null),j=function(e){let[t,r]=o.useState(void 0);return b(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,o;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,o=t.blockSize}else n=e.offsetWidth,o=e.offsetHeight;r({width:n,height:o})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}(O),L=j?.width??0,k=j?.height??0,I="number"==typeof v?v:{top:0,right:0,bottom:0,left:0,...v},_=Array.isArray(f)?f:[f],F=_.length>0,$={padding:I,boundary:_.filter(z),altBoundary:F},{refs:W,floatingStyles:H,placement:Y,isPositioned:K,middlewareData:V}=(0,C.useFloating)({strategy:"fixed",placement:i+("center"!==l?"-"+l:""),whileElementsMounted:(...e)=>(0,N.autoUpdate)(...e,{animationFrame:"always"===g}),elements:{reference:E.anchor},middleware:[(0,C.offset)({mainAxis:a+k,alignmentAxis:u}),c&&(0,C.shift)({mainAxis:!0,crossAxis:!1,limiter:"partial"===h?(0,C.limitShift)():void 0,...$}),c&&(0,C.flip)({...$}),(0,C.size)({...$,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:o,height:i}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${r}px`),a.setProperty("--radix-popper-available-height",`${n}px`),a.setProperty("--radix-popper-anchor-width",`${o}px`),a.setProperty("--radix-popper-anchor-height",`${i}px`)}}),O&&(0,C.arrow)({element:O,padding:d}),U({arrowWidth:L,arrowHeight:k}),y&&(0,C.hide)({strategy:"referenceHidden",...$})]}),[X,q]=B(Y),Z=m(x);b(()=>{K&&Z?.()},[K,Z]);let G=V.arrow?.x,J=V.arrow?.y,Q=V.arrow?.centerOffset!==0,[ee,et]=o.useState();return b(()=>{P&&et(window.getComputedStyle(P).zIndex)},[P]),(0,n.jsx)("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:K?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ee,"--radix-popper-transform-origin":[V.transformOrigin?.x,V.transformOrigin?.y].join(" "),...V.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,n.jsx)(M,{scope:r,placedSide:X,onArrowChange:A,arrowX:G,arrowY:J,shouldHideArrow:Q,children:(0,n.jsx)(p.div,{"data-side":X,"data-align":q,...w,ref:T,style:{...w.style,animation:K?void 0:"none"}})})})});_.displayName=D;var F="PopperArrow",$={top:"bottom",right:"left",bottom:"top",left:"right"},W=o.forwardRef(function(e,t){let{__scopePopper:r,...o}=e,i=I(F,r),a=$[i.placedSide];return(0,n.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,n.jsx)(P,{...o,ref:t,style:{...o.style,display:"block"}})})});function z(e){return null!==e}W.displayName=F;var U=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,a=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[s,u]=B(r),d={start:"0%",center:"50%",end:"100%"}[u],c=(o.arrow?.x??0)+a/2,f=(o.arrow?.y??0)+l/2,p="",m="";return"bottom"===s?(p=i?d:`${c}px`,m=`${-l}px`):"top"===s?(p=i?d:`${c}px`,m=`${n.floating.height+l}px`):"right"===s?(p=`${-l}px`,m=i?d:`${f}px`):"left"===s&&(p=`${n.floating.width+l}px`,m=i?d:`${f}px`),{data:{x:p,y:m}}}});function B(e){let[t,r="center"]=e.split("-");return[t,r]}o.forwardRef((e,t)=>{let{container:r,...i}=e,[a,l]=o.useState(!1);b(()=>l(!0),[]);let s=r||a&&globalThis?.document?.body;return s?d.default.createPortal((0,n.jsx)(p.div,{...i,ref:t}),s):null}).displayName="Portal";var H=e=>{var t;let r,n,{present:i,children:a}=e,l=function(e){var t,r;let[n,i]=o.useState(),a=o.useRef(null),l=o.useRef(e),s=o.useRef("none"),[u,d]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},o.useReducer((e,t)=>r[e][t]??e,t));return o.useEffect(()=>{let e=Y(a.current);s.current="mounted"===u?e:"none"},[u]),b(()=>{let t=a.current,r=l.current;if(r!==e){let n=s.current,o=Y(t);e?d("MOUNT"):"none"===o||t?.display==="none"?d("UNMOUNT"):r&&n!==o?d("ANIMATION_OUT"):d("UNMOUNT"),l.current=e}},[e,d]),b(()=>{if(n){let e,t=n.ownerDocument.defaultView??window,r=r=>{let o=Y(a.current).includes(CSS.escape(r.animationName));if(r.target===n&&o&&(d("ANIMATION_END"),!l.current)){let r=n.style.animationFillMode;n.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=r)})}},o=e=>{e.target===n&&(s.current=Y(a.current))};return n.addEventListener("animationstart",o),n.addEventListener("animationcancel",r),n.addEventListener("animationend",r),()=>{t.clearTimeout(e),n.removeEventListener("animationstart",o),n.removeEventListener("animationcancel",r),n.removeEventListener("animationend",r)}}d("ANIMATION_END")},[n,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:o.useCallback(e=>{a.current=e?getComputedStyle(e):null,i(e)},[])}}(i),u="function"==typeof a?a({present:l.isPresent}):o.Children.only(a),d=s(l.ref,(t=u,(n=(r=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.ref:(n=(r=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof a||l.isPresent?o.cloneElement(u,{ref:d}):null};function Y(e){return e?.animationName||"none"}H.displayName="Presence",e.i(83986);var K=o[" useInsertionEffect ".trim().toString()]||b;Symbol("RADIX:SYNC_STATE");var V=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=o.forwardRef((e,t)=>(0,n.jsx)(p.span,{...e,ref:t,style:{...V,...e.style}}));X.displayName="VisuallyHidden";var[q,Z]=u("Tooltip",[O]),G=O(),J="TooltipProvider",Q="tooltip.open",[ee,et]=q(J),er=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:i=300,disableHoverableContent:a=!1,children:l}=e,s=o.useRef(!0),u=o.useRef(!1),d=o.useRef(0);return o.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),(0,n.jsx)(ee,{scope:t,isOpenDelayedRef:s,delayDuration:r,onOpen:o.useCallback(()=>{window.clearTimeout(d.current),s.current=!1},[]),onClose:o.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>s.current=!0,i)},[i]),isPointerInTransitRef:u,onPointerInTransitChange:o.useCallback(e=>{u.current=e},[]),disableHoverableContent:a,children:l})};er.displayName=J;var en="Tooltip",[eo,ei]=q(en),ea=e=>{let{__scopeTooltip:t,children:r,open:i,defaultOpen:a,onOpenChange:l,disableHoverableContent:s,delayDuration:u}=e,d=et(en,e.__scopeTooltip),c=G(t),[f,p]=o.useState(null),m=function(){let[e,t]=o.useState(w());return b(()=>{t(e=>e??String(E++))},[void 0]),e?`radix-${e}`:""}(),v=o.useRef(0),h=s??d.disableHoverableContent,y=u??d.delayDuration,g=o.useRef(!1),[x,C]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[i,a,l]=function({defaultProp:e,onChange:t}){let[r,n]=o.useState(e),i=o.useRef(r),a=o.useRef(t);return K(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==r&&(a.current?.(r),i.current=r)},[r,i]),[r,n,a]}({defaultProp:t,onChange:r}),s=void 0!==e,u=s?e:i;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==s){let t=s?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. 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.`)}t.current=s},[s,n])}return[u,o.useCallback(t=>{if(s){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else a(t)},[s,e,a,l])]}({prop:i,defaultProp:a??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(Q))):d.onClose(),l?.(e)},caller:en}),N=o.useMemo(()=>x?g.current?"delayed-open":"instant-open":"closed",[x]),P=o.useCallback(()=>{window.clearTimeout(v.current),v.current=0,g.current=!1,C(!0)},[C]),R=o.useCallback(()=>{window.clearTimeout(v.current),v.current=0,C(!1)},[C]),T=o.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{g.current=!0,C(!0),v.current=0},y)},[y,C]);return o.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),(0,n.jsx)(j,{...c,children:(0,n.jsx)(eo,{scope:t,contentId:m,open:x,stateAttribute:N,trigger:f,onTriggerChange:p,onTriggerEnter:o.useCallback(()=>{d.isOpenDelayedRef.current?T():P()},[d.isOpenDelayedRef,T,P]),onTriggerLeave:o.useCallback(()=>{h?R():(window.clearTimeout(v.current),v.current=0)},[R,h]),onOpen:P,onClose:R,disableHoverableContent:h,children:r})})};ea.displayName=en;var el="TooltipTrigger",es=o.forwardRef((e,t)=>{let{__scopeTooltip:r,...a}=e,l=ei(el,r),u=et(el,r),d=G(r),c=s(t,o.useRef(null),l.onTriggerChange),f=o.useRef(!1),m=o.useRef(!1),v=o.useCallback(()=>f.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,n.jsx)(k,{asChild:!0,...d,children:(0,n.jsx)(p.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...a,ref:c,onPointerMove:i(e.onPointerMove,e=>{"touch"!==e.pointerType&&(m.current||u.isPointerInTransitRef.current||(l.onTriggerEnter(),m.current=!0))}),onPointerLeave:i(e.onPointerLeave,()=>{l.onTriggerLeave(),m.current=!1}),onPointerDown:i(e.onPointerDown,()=>{l.open&&l.onClose(),f.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:i(e.onFocus,()=>{f.current||l.onOpen()}),onBlur:i(e.onBlur,l.onClose),onClick:i(e.onClick,l.onClose)})})});es.displayName=el;var[eu,ed]=q("TooltipPortal",{forceMount:void 0}),ec="TooltipContent",ef=o.forwardRef((e,t)=>{let r=ed(ec,e.__scopeTooltip),{forceMount:o=r.forceMount,side:i="top",...a}=e,l=ei(ec,e.__scopeTooltip);return(0,n.jsx)(H,{present:o||l.open,children:l.disableHoverableContent?(0,n.jsx)(ey,{side:i,...a,ref:t}):(0,n.jsx)(ep,{side:i,...a,ref:t})})}),ep=o.forwardRef((e,t)=>{let r=ei(ec,e.__scopeTooltip),i=et(ec,e.__scopeTooltip),a=o.useRef(null),l=s(t,a),[u,d]=o.useState(null),{trigger:c,onClose:f}=r,p=a.current,{onPointerInTransitChange:m}=i,v=o.useCallback(()=>{d(null),m(!1)},[m]),h=o.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());d(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,i),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),m(!0)},[m]);return o.useEffect(()=>()=>v(),[v]),o.useEffect(()=>{if(c&&p){let e=e=>h(e,p),t=e=>h(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,h,v]),o.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=c?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let a=t[e],l=t[i],s=a.x,u=a.y,d=l.x,c=l.y;u>n!=c>n&&r<(d-s)*(n-u)/(c-u)+s&&(o=!o)}return o}(r,u);n?v():o&&(v(),f())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,u,f,v]),(0,n.jsx)(ey,{...e,ref:l})}),[em,ev]=q(en,{isInside:!1}),eh=((t=({children:e})=>(0,n.jsx)(n.Fragment,{children:e})).displayName="TooltipContent.Slottable",t.__radixId=c,t),ey=o.forwardRef((e,t)=>{let{__scopeTooltip:r,children:i,"aria-label":a,onEscapeKeyDown:l,onPointerDownOutside:s,...u}=e,d=ei(ec,r),c=G(r),{onClose:f}=d;return o.useEffect(()=>(document.addEventListener(Q,f),()=>document.removeEventListener(Q,f)),[f]),o.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,n.jsx)(y,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,n.jsxs)(_,{"data-state":d.stateAttribute,...c,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,n.jsx)(eh,{children:i}),(0,n.jsx)(em,{scope:r,isInside:!0,children:(0,n.jsx)(X,{id:d.contentId,role:"tooltip",children:a||i})})]})})});ef.displayName=ec;var eg="TooltipArrow";o.forwardRef((e,t)=>{let{__scopeTooltip:r,...o}=e,i=G(r);return ev(eg,r).isInside?null:(0,n.jsx)(W,{...i,...o,ref:t})}).displayName=eg;var ex=e.i(75157);let eb=o.forwardRef(({className:e,sideOffset:t=4,...r},o)=>(0,n.jsx)(ef,{ref:o,sideOffset:t,className:(0,ex.cn)("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r}));eb.displayName=ef.displayName,e.s(["Tooltip",0,ea,"TooltipContent",0,eb,"TooltipProvider",0,er,"TooltipTrigger",0,es],46798)}]);