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 • 3.95 kB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},42727,e=>{"use strict";var t=e.i(71645),r=e.i(81140),o=e.i(75830),n=e.i(20783),i=e.i(30030),s=e.i(10772),u=e.i(48425),a=e.i(30207),l=e.i(69340),c=e.i(86318),f=e.i(43476),d="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},v="RovingFocusGroup",[m,b,w]=(0,o.createCollection)(v),[g,R]=(0,i.createContextScope)(v,[w]),[h,y]=g(v),E=t.forwardRef((e,t)=>(0,f.jsx)(m.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(m.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(F,{...e,ref:t})})}));E.displayName=v;var F=t.forwardRef((e,o)=>{let{__scopeRovingFocusGroup:i,orientation:s,loop:v=!1,dir:m,currentTabStopId:w,defaultCurrentTabStopId:g,onCurrentTabStopIdChange:R,onEntryFocus:y,preventScrollOnEntryFocus:E=!1,...F}=e,A=t.useRef(null),I=(0,n.useComposedRefs)(o,A),x=(0,c.useDirection)(m),[C=null,D]=(0,l.useControllableState)({prop:w,defaultProp:g,onChange:R}),[S,P]=t.useState(!1),j=(0,a.useCallbackRef)(y),K=b(i),k=t.useRef(!1),[H,G]=t.useState(0);return t.useEffect(()=>{let e=A.current;if(e)return e.addEventListener(d,j),()=>e.removeEventListener(d,j)},[j]),(0,f.jsx)(h,{scope:i,orientation:s,dir:x,loop:v,currentTabStopId:C,onItemFocus:t.useCallback(e=>D(e),[D]),onItemShiftTab:t.useCallback(()=>P(!0),[]),onFocusableItemAdd:t.useCallback(()=>G(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>G(e=>e-1),[]),children:(0,f.jsx)(u.Primitive.div,{tabIndex:S||0===H?-1:0,"data-orientation":s,...F,ref:I,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{k.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!k.current;if(e.target===e.currentTarget&&t&&!S){let t=new CustomEvent(d,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=K().filter(e=>e.focusable);T([e.find(e=>e.active),e.find(e=>e.id===C),...e].filter(Boolean).map(e=>e.ref.current),E)}}k.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>P(!1))})})}),A="RovingFocusGroupItem",I=t.forwardRef((e,o)=>{let{__scopeRovingFocusGroup:n,focusable:i=!0,active:a=!1,tabStopId:l,...c}=e,d=(0,s.useId)(),p=l||d,v=y(A,n),w=v.currentTabStopId===p,g=b(n),{onFocusableItemAdd:R,onFocusableItemRemove:h}=v;return t.useEffect(()=>{if(i)return R(),()=>h()},[i,R,h]),(0,f.jsx)(m.ItemSlot,{scope:n,id:p,focusable:i,active:a,children:(0,f.jsx)(u.Primitive.span,{tabIndex:w?0:-1,"data-orientation":v.orientation,...c,ref:o,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{i?v.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var o;let n=(o=e.key,"rtl"!==r?o:"ArrowLeft"===o?"ArrowRight":"ArrowRight"===o?"ArrowLeft":o);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(n))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(n)))return x[n]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=g().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){var r,o;"prev"===t&&n.reverse();let i=n.indexOf(e.currentTarget);n=v.loop?(r=n,o=i+1,r.map((e,t)=>r[(o+t)%r.length])):n.slice(i+1)}setTimeout(()=>T(n))}})})})});I.displayName=A;var x={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function T(e,t=!1){let r=document.activeElement;for(let o of e)if(o===r||(o.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>I,"Root",()=>E,"createRovingFocusGroupScope",()=>R])}]);